Index: shoubing/.patch
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/.patch	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/.patch	(working copy)
@@ -0,0 +1,792 @@
+Index: bt_rom/format/app_module.format
+===================================================================
+--- bt_rom/format/app_module.format	(revision 377)
++++ bt_rom/format/app_module.format	(working copy)
+@@ -94,6 +94,8 @@
+ 0x51 HCI_CMD_RESET_CHIP_REQ
+ 0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+ 
++0x70  HCI_CMD_SWITCH_WAKEUP
++
+ 0xee HCI_TEST_CMD_REBACK
+ 0xff HCI_TEST_CMD_CLOSE_LPM
+ )
+Index: format/app_module.format
+===================================================================
+--- format/app_module.format	(revision 377)
++++ format/app_module.format	(working copy)
+@@ -129,9 +129,11 @@
+ 	8 mem_m_p_sequence
+ 	8 mem_m_access_code
+ 	4 mem_m_wake_data
+-	10 mem_minzhan_save_lmp_Ye
++	10 mem_m_save_lmp_Ye
+ 2 mem_tws_snd_op
+ 2 mem_tws_rcv_op
++
++
+ )
+ (
+ 0x55aa OTP_INIT_VAL
+Index: patch/patch.prog
+===================================================================
+--- patch/patch.prog	(revision 377)
++++ patch/patch.prog	(working copy)
+@@ -1,4 +1,18 @@
+ 
++/*
++// mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
++
++nop 100
++call ice_break
++setarg 0x758233
++store 3,mem_m_access_code
++istore 2,contw
++istore 3,contw
++
++call p_m_access_code_generate
++call ice_break
++*/
++
+ define TX_POWER_MAX
+ 
+ /******************************************/
+@@ -104,8 +118,13 @@
+ 	call module_gpio_init
+ 	call check_module_disabled
+ 	//call p_check_otp_shaomaqiang_app
+-	branch module_hci_event_enter_standby_mode
++	call module_hci_event_enter_standby_mode
++call ice_break
++nop 30000
++branch p_m_send_wake_data_init
++	
+ p_module_process_idle:
++	call p_m_private_dispatch
+ 	call module_control_air_flow
+ 	call l2cap_malloc_is_fifo_full
+ 	nrtn blank
+@@ -297,8 +316,36 @@
+ 	beq HCI_CMD_DELETE_CUSTOMIZE_SERVICE,module_hci_cmd_delete_customize_service
+ 	beq HCI_CMD_ADD_SERVICE_UUID,module_hci_cmd_add_service_uuid
+ 	beq HCI_CMD_ADD_CHARACTERISTIC_UUID,module_hci_cmd_add_characteristic_uuid
++	beq HCI_CMD_SWITCH_WAKEUP,module_hci_cmd_switch_wakeup
+ 	branch module_hci_cmd_control + 2
+ 
++module_hci_cmd_switch_wakeup:
++
++	ifetch 2,contru
++	
++	ifetch 6,contru 
++	store 6,mem_hci_plap
++
++	// 4 bytes wake data
++	ifetch 4,contru 
++	store 4,mem_m_wake_data
++	
++	ifetch 8,contru 
++	store 8,mem_m_access_code
++
++	// set conn status
++//	jam 1,mem_conn_status
++p_test:
++	jam 1,mem_m_process_enable
++
++	// Unit is 625us. 60*625 = 37.5ms
++	setarg 60
++	store 2,mem_m_wake_send_window
++
++	call p_m_send_wake_data_timer_init
++	branch module_hci_event_receive_valid_cmd
++	
++
+ module_hci_cmd_delete_customize_service:
+ 	arg 0x000c,temp
+ 	call le_att_get_handle_ptr2
+@@ -767,6 +814,24 @@
+ 	branch assert
+ 
+ 
++p_m_private_dispatch:
++	fetch 1,mem_m_process_enable
++	rtn blank
++	branch p_m_send_wake_data_process
++	
++
++p_m_send_wake_data_init:
++	jam 1,mem_m_process_enable
++
++//	setarg 0x983A59
++//	store 3,mem_hci_plap
++//	setarg 0x98B6E9
++//	store 3,mem_hci_puap
++
++	// Unit is 625us. 60*625 = 37.5ms
++	setarg 60
++	store 2,mem_m_wake_send_window
++
+ p_m_send_wake_data_timer_init:
+ 	// Unit is 625us. 160*625 = 100ms
+ 	setarg 160
+@@ -775,7 +840,12 @@
+ 
+ 
+ p_m_send_wake_data_process:
++	force m_wake_timer,queue
++	call timer_check
++	nrtn blank
++
+ 	call fetch_page_bt_adr
++
+ 	// Calc the access code.	
+ 	call p_m_access_code_generate
+ 
+@@ -788,6 +858,9 @@
+ p_m_send_wake_data_restart:
+ 	branch p_m_wait_remote_signal_packet,timeout
+ 	// send wake data process.
++fetch 2,0x4fe0
++increase 1,pdata
++store 2,0x4fe0
+ 
+ 	call set_sync_on
+ 	// Use 2402MHz Freq
+@@ -799,23 +872,27 @@
+ 	// wait a while.
+ 	nop 5000
+ 	branch p_m_send_wake_data_restart
++	rtn
+ 
+-p_m_access_code_generate:
+ 
++
+ p_m_lap_generate:
+ 	fetch 8,mem_m_access_code
+ 	// remove trailer
+-	//rshift4 pdata,pdata
++	rshift4 pdata,pdata
+ 	// remove 34bit bch
+ 	rshift32 pdata,pdata
+ 	rshift2 pdata,pdata
+ 	store 3,mem_tmp0
+ 	fetchr lap,3,mem_tmp0
+-	//rtn
++	rtn
+ 
++
++p_m_access_code_generate:
++	call p_m_lap_generate
+ 	fetch 8,mem_m_access_code
+ 	// remove trailer
+-	//rshift4 pdata,pdata
++	rshift4 pdata,pdata
+ 	fetcht 8,mem_m_p_sequence
+ 	ixor temp,pdata
+ 	// get the sync word p xor result.
+@@ -830,10 +907,12 @@
+ 	// lap and ulp will generate the access cod.
+ 	rtn
+ 
+-p_m_transmit_packet_access_and_header_reduce_code_0:
++
++
++p_m_transmit_packet_access_and_header:
+ 	call send_access_word
+ 	//call scan_mode_whiten
+-//p_m_transmit_packet_header:
++p_m_transmit_packet_header:
+ 	//rshift bt_clk,temp
+ 	//or temp,0x40,white_init
+ 	//enable enable_white
+@@ -850,10 +929,11 @@
+ 	set0 PSK3M,radio_ctrl
+ 	rtn
+ 
++
+ p_m_transmit_packet:
+ 	setarg 0x078
+ 	store 2,mem_tws_snd_op
+-	call p_m_transmit_packet_access_and_header_reduce_code_0
++	call p_m_transmit_packet_access_and_header
+ 
+ p_m_transmit_wake_packet_payload:
+ 	//enable encode_fec2
+@@ -885,6 +965,7 @@
+ 	disable enable_parity
+ 	rtn
+ 
++
+ p_m_wait_remote_signal_packet:
+ 	fetcht 2,mem_m_wake_send_window
+ 	disable swfine
+@@ -901,7 +982,8 @@
+ 	call wait_access_forever	/* until there is timeout, or matched (true) */
+ 	nbranch end_of_packet,sync
+ //	call rf_debug_active_sync_line,sync
+-	
++call ice_break
++
+ p_m_receive_packet_header:
+ 	disable enable_white
+ 	enable enable_hec
+@@ -937,11 +1019,7 @@
+ //	call rf_debug_active_crc_error_line,crc_failed
+ 	//branch end_of_packet,crc_failed
+ 	call end_of_packet	/* must have heard */
+-	branch p_m_send_signal_packet_start
+ 
+-
+-
+-p_m_send_signal_packet_start:
+ 	fetch 4,mem_process_sync_buffer+14
+ 	//lshift2 pdata,pdata
+ 	store 4,mem_clke_bt
+@@ -969,23 +1047,18 @@
+ 	setarg 0x67
+ 	store 1,mem_process_sync_buffer
+ 	//Self Addr: 9C5400785236
+-	fetch 6,mem_lap
+-	store 6,mem_process_sync_buffer+1
++	setarg 0x785236
++	store 3,mem_process_sync_buffer+1
++	setarg 0x9C5400
++	store 3,mem_process_sync_buffer+4
+ 	setarg 0x000000
+ 	store 3,mem_process_sync_buffer+7
+-	setarg 0x000000
+-	store 3,mem_process_sync_buffer+10
+ 	//Clk Offset
+-	//setarg 0x003559
+-	setarg 0x00
+-	store 1,mem_process_sync_buffer+13
+-	setarg 0x00
+-	store 1,mem_process_sync_buffer+14
+-	setarg 0x00
+-	store 1,mem_process_sync_buffer+15
+-	//setarg 0xea00
+-//	setarg 0x7300
+-//	store 2,mem_process_sync_buffer+16
++	setarg 0x003559
++	store 4,mem_process_sync_buffer+13
++	
++	setarg 0xea00
++	store 2,mem_process_sync_buffer+16
+ 
+ 	// align the clock.
+ 	call rf_setup_time_slave_slot
+@@ -998,7 +1071,7 @@
+ p_m_transmit_signal_packet:
+ 	fetch 2,mem_tws_rcv_op
+ 	store 2,mem_tws_snd_op
+-	call p_m_transmit_packet_access_and_header_reduce_code_1
++	call p_m_transmit_packet_access_and_header
+ 
+ p_m_transmit_signal_packet_payload:
+ 	enable encode_fec2
+@@ -1005,7 +1078,7 @@
+ 	disable encrypt
+ 	enable enable_crc
+ 
+-	arg 13,loopcnt
++	arg 18,loopcnt
+ 	arg mem_process_sync_buffer,contr
+ p_m_transmit_signal_packet_payload_data_loop:
+ 	ifetch 1,contr
+@@ -1018,39 +1091,14 @@
+ 	disable enable_parity
+ 	call end_of_packet	/* must have heard */
+ 
+-	branch p_m_private_work_success
+-
+-
+-p_m_transmit_packet_access_and_header_reduce_code_1:
+-	call send_access_word
+-	//call scan_mode_whiten
+-//p_m_transmit_packet_header:
+-	//rshift bt_clk,temp
+-	//or temp,0x40,white_init
+-	//enable enable_white
+-	disable enable_white
+-	enable enable_hec
+-	enable encode_fec1
+-	fetch 2,mem_tws_snd_op
+-	inject mod,10
+-	enable enable_parity
+-	inject mod,8   /* transmit parity */
+-	disable encode_fec1
+-	disable enable_parity
+-	disable enable_hec
+-	set0 PSK3M,radio_ctrl
+-	rtn
+-
+-p_m_private_work_success:
+-	// connection success.
+ 	jam 0,mem_m_process_enable
+ 
+-p_m_slave_apply_clke_bt:
++p_slave_apply_clke_bt:
+ 	compare 0x03,clke_bt,0x03
+-	branch p_m_slave_apply_clke_bt_now,true
++	branch p_slave_apply_clke_bt_now,true
+ 	until null,mhalfbnd
+-	branch p_m_slave_apply_clke_bt
+-p_m_slave_apply_clke_bt_now:
++	branch p_slave_apply_clke_bt
++p_slave_apply_clke_bt_now:
+ 	fetch 4,mem_clke_bt
+ 	or_into 0x03,pdata
+ 	icopy clke_bt
+@@ -1058,33 +1106,31 @@
+ 	fetch 6,mem_hci_plap
+ 	store 6,mem_plap
+ 	call prepare_newconn
+-	branch p_m_slave_newconn_loop
++p_slave_newconn_loop:
++	call slave_newconn_once
++	branch sconn_successful,match     /* we were talked to */
++	call new_conn_timeout
++	nbranch p_slave_newconn_loop,blank
++	rtn
+ 
+ 
+-p_m_slave_connection_success:
+-	fetch 1,mem_rxbuf
+-	call p_parse_lmp_opcode_00
++//54_e7a2cce3_31a3ae2a
++//5 | 475c58cc 73345e72 | a
++p_sort_access_code:
++	preload access
++	arg 0x4ff0,contw
++	arg 0x09,loopcnt
++p_sort_access_code_loop:
++	and pdata,0xff,temp
++	rshift8 pdata,pdata
+ 	
+-	branch sconn_successful
+-//	branch p_hci_send_connection_complete
+-
+-
+-p_parse_lmp_opcode_00:
+-	fetch 3,mem_rxbuf+1
+-	store 3,mem_minzhan_save_lmp_Ye
+-	
+-//jam LMP_m_TEST_REQ,mem_lmo_opcode2
++	reverse temp, temp
++	istoret 1,contw
++	loop p_sort_access_code_loop
+ 	rtn
+ 
+-p_m_slave_newconn_loop:
+-	call slave_newconn_once
+-	branch p_m_slave_connection_success,match     /* we were talked to */
+-	call new_conn_timeout
+-	nbranch p_m_slave_newconn_loop,blank
+-	rtn
+ 
+ 
+-
+ 
+ /*
+ 	芯片公共bugfix
+Index: program_patch/main_patch.prog
+===================================================================
+--- program_patch/main_patch.prog	(revision 377)
++++ program_patch/main_patch.prog	(working copy)
+@@ -1,4 +1,18 @@
+ 
++/*
++// mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
++
++nop 100
++call ice_break
++setarg 0x758233
++store 3,mem_m_access_code
++istore 2,contw
++istore 3,contw
++
++call p_m_access_code_generate
++call ice_break
++*/
++
+ define TX_POWER_MAX
+ 
+ /******************************************/
+@@ -104,8 +118,13 @@
+ 	call module_gpio_init
+ 	call check_module_disabled
+ 	//call p_check_otp_shaomaqiang_app
+-	branch module_hci_event_enter_standby_mode
++	call module_hci_event_enter_standby_mode
++call ice_break
++nop 30000
++branch p_m_send_wake_data_init
++	
+ p_module_process_idle:
++	call p_m_private_dispatch
+ 	call module_control_air_flow
+ 	call l2cap_malloc_is_fifo_full
+ 	nrtn blank
+@@ -297,8 +316,36 @@
+ 	beq HCI_CMD_DELETE_CUSTOMIZE_SERVICE,module_hci_cmd_delete_customize_service
+ 	beq HCI_CMD_ADD_SERVICE_UUID,module_hci_cmd_add_service_uuid
+ 	beq HCI_CMD_ADD_CHARACTERISTIC_UUID,module_hci_cmd_add_characteristic_uuid
++	beq HCI_CMD_SWITCH_WAKEUP,module_hci_cmd_switch_wakeup
+ 	branch module_hci_cmd_control + 2
+ 
++module_hci_cmd_switch_wakeup:
++
++	ifetch 2,contru
++	
++	ifetch 6,contru 
++	store 6,mem_hci_plap
++
++	// 4 bytes wake data
++	ifetch 4,contru 
++	store 4,mem_m_wake_data
++	
++	ifetch 8,contru 
++	store 8,mem_m_access_code
++
++	// set conn status
++//	jam 1,mem_conn_status
++p_test:
++	jam 1,mem_m_process_enable
++
++	// Unit is 625us. 60*625 = 37.5ms
++	setarg 60
++	store 2,mem_m_wake_send_window
++
++	call p_m_send_wake_data_timer_init
++	branch module_hci_event_receive_valid_cmd
++	
++
+ module_hci_cmd_delete_customize_service:
+ 	arg 0x000c,temp
+ 	call le_att_get_handle_ptr2
+@@ -767,6 +814,19 @@
+ 	branch assert
+ 
+ 
++p_m_private_dispatch:
++	fetch 1,mem_m_process_enable
++	rtn blank
++	branch p_m_send_wake_data_process
++	
++
++p_m_send_wake_data_init:
++	jam 1,mem_m_process_enable
++
++	// Unit is 625us. 60*625 = 37.5ms
++	setarg 60
++	store 2,mem_m_wake_send_window
++
+ p_m_send_wake_data_timer_init:
+ 	// Unit is 625us. 160*625 = 100ms
+ 	setarg 160
+@@ -775,7 +835,12 @@
+ 
+ 
+ p_m_send_wake_data_process:
++	force m_wake_timer,queue
++	call timer_check
++	nrtn blank
++
+ 	call fetch_page_bt_adr
++
+ 	// Calc the access code.	
+ 	call p_m_access_code_generate
+ 
+@@ -788,6 +853,9 @@
+ p_m_send_wake_data_restart:
+ 	branch p_m_wait_remote_signal_packet,timeout
+ 	// send wake data process.
++fetch 2,0x4fe0
++increase 1,pdata
++store 2,0x4fe0
+ 
+ 	call set_sync_on
+ 	// Use 2402MHz Freq
+@@ -799,23 +867,27 @@
+ 	// wait a while.
+ 	nop 5000
+ 	branch p_m_send_wake_data_restart
++	rtn
+ 
+-p_m_access_code_generate:
+ 
++
+ p_m_lap_generate:
+ 	fetch 8,mem_m_access_code
+ 	// remove trailer
+-	//rshift4 pdata,pdata
++	rshift4 pdata,pdata
+ 	// remove 34bit bch
+ 	rshift32 pdata,pdata
+ 	rshift2 pdata,pdata
+ 	store 3,mem_tmp0
+ 	fetchr lap,3,mem_tmp0
+-	//rtn
++	rtn
+ 
++
++p_m_access_code_generate:
++	call p_m_lap_generate
+ 	fetch 8,mem_m_access_code
+ 	// remove trailer
+-	//rshift4 pdata,pdata
++	rshift4 pdata,pdata
+ 	fetcht 8,mem_m_p_sequence
+ 	ixor temp,pdata
+ 	// get the sync word p xor result.
+@@ -830,10 +902,12 @@
+ 	// lap and ulp will generate the access cod.
+ 	rtn
+ 
+-p_m_transmit_packet_access_and_header_reduce_code_0:
++
++
++p_m_transmit_packet_access_and_header:
+ 	call send_access_word
+ 	//call scan_mode_whiten
+-//p_m_transmit_packet_header:
++p_m_transmit_packet_header:
+ 	//rshift bt_clk,temp
+ 	//or temp,0x40,white_init
+ 	//enable enable_white
+@@ -850,10 +924,11 @@
+ 	set0 PSK3M,radio_ctrl
+ 	rtn
+ 
++
+ p_m_transmit_packet:
+ 	setarg 0x078
+ 	store 2,mem_tws_snd_op
+-	call p_m_transmit_packet_access_and_header_reduce_code_0
++	call p_m_transmit_packet_access_and_header
+ 
+ p_m_transmit_wake_packet_payload:
+ 	//enable encode_fec2
+@@ -885,6 +960,7 @@
+ 	disable enable_parity
+ 	rtn
+ 
++
+ p_m_wait_remote_signal_packet:
+ 	fetcht 2,mem_m_wake_send_window
+ 	disable swfine
+@@ -894,14 +970,15 @@
+ 	disable clknt
+ 	disable attempt
+ 	
+-	
+-	arg 0,temp // Use 2402MHz Freq
++	// Use 2402MHz Freq
++	arg 0,temp
+ 	call set_freq_rx
+ 	call start_receiver	/* get ready for that id packet */
+ 	call wait_access_forever	/* until there is timeout, or matched (true) */
+ 	nbranch end_of_packet,sync
+ //	call rf_debug_active_sync_line,sync
+-	
++call ice_break
++
+ p_m_receive_packet_header:
+ 	disable enable_white
+ 	enable enable_hec
+@@ -937,11 +1014,7 @@
+ //	call rf_debug_active_crc_error_line,crc_failed
+ 	//branch end_of_packet,crc_failed
+ 	call end_of_packet	/* must have heard */
+-	branch p_m_send_signal_packet_start
+ 
+-
+-
+-p_m_send_signal_packet_start:
+ 	fetch 4,mem_process_sync_buffer+14
+ 	//lshift2 pdata,pdata
+ 	store 4,mem_clke_bt
+@@ -969,23 +1042,18 @@
+ 	setarg 0x67
+ 	store 1,mem_process_sync_buffer
+ 	//Self Addr: 9C5400785236
+-	fetch 6,mem_lap
+-	store 6,mem_process_sync_buffer+1
++	setarg 0x785236
++	store 3,mem_process_sync_buffer+1
++	setarg 0x9C5400
++	store 3,mem_process_sync_buffer+4
+ 	setarg 0x000000
+ 	store 3,mem_process_sync_buffer+7
+-	setarg 0x000000
+-	store 3,mem_process_sync_buffer+10
+ 	//Clk Offset
+-	//setarg 0x003559
+-	setarg 0x00
+-	store 1,mem_process_sync_buffer+13
+-	setarg 0x00
+-	store 1,mem_process_sync_buffer+14
+-	setarg 0x00
+-	store 1,mem_process_sync_buffer+15
+-	//setarg 0xea00
+-//	setarg 0x7300
+-//	store 2,mem_process_sync_buffer+16
++	setarg 0x003559
++	store 4,mem_process_sync_buffer+13
++	
++	setarg 0xea00
++	store 2,mem_process_sync_buffer+16
+ 
+ 	// align the clock.
+ 	call rf_setup_time_slave_slot
+@@ -998,7 +1066,7 @@
+ p_m_transmit_signal_packet:
+ 	fetch 2,mem_tws_rcv_op
+ 	store 2,mem_tws_snd_op
+-	call p_m_transmit_packet_access_and_header_reduce_code_1
++	call p_m_transmit_packet_access_and_header
+ 
+ p_m_transmit_signal_packet_payload:
+ 	enable encode_fec2
+@@ -1005,7 +1073,7 @@
+ 	disable encrypt
+ 	enable enable_crc
+ 
+-	arg 13,loopcnt
++	arg 18,loopcnt
+ 	arg mem_process_sync_buffer,contr
+ p_m_transmit_signal_packet_payload_data_loop:
+ 	ifetch 1,contr
+@@ -1018,39 +1086,14 @@
+ 	disable enable_parity
+ 	call end_of_packet	/* must have heard */
+ 
+-	branch p_m_private_work_success
+-
+-
+-p_m_transmit_packet_access_and_header_reduce_code_1:
+-	call send_access_word
+-	//call scan_mode_whiten
+-//p_m_transmit_packet_header:
+-	//rshift bt_clk,temp
+-	//or temp,0x40,white_init
+-	//enable enable_white
+-	disable enable_white
+-	enable enable_hec
+-	enable encode_fec1
+-	fetch 2,mem_tws_snd_op
+-	inject mod,10
+-	enable enable_parity
+-	inject mod,8   /* transmit parity */
+-	disable encode_fec1
+-	disable enable_parity
+-	disable enable_hec
+-	set0 PSK3M,radio_ctrl
+-	rtn
+-
+-p_m_private_work_success:
+-	// connection success.
+ 	jam 0,mem_m_process_enable
+ 
+-p_m_slave_apply_clke_bt:
++p_slave_apply_clke_bt:
+ 	compare 0x03,clke_bt,0x03
+-	branch p_m_slave_apply_clke_bt_now,true
++	branch p_slave_apply_clke_bt_now,true
+ 	until null,mhalfbnd
+-	branch p_m_slave_apply_clke_bt
+-p_m_slave_apply_clke_bt_now:
++	branch p_slave_apply_clke_bt
++p_slave_apply_clke_bt_now:
+ 	fetch 4,mem_clke_bt
+ 	or_into 0x03,pdata
+ 	icopy clke_bt
+@@ -1058,30 +1101,28 @@
+ 	fetch 6,mem_hci_plap
+ 	store 6,mem_plap
+ 	call prepare_newconn
+-	branch p_m_slave_newconn_loop
++p_slave_newconn_loop:
++	call slave_newconn_once
++	branch sconn_successful,match     /* we were talked to */
++	call new_conn_timeout
++	nbranch p_slave_newconn_loop,blank
++	rtn
+ 
+ 
+-p_m_slave_connection_success:
+-	fetch 1,mem_rxbuf
+-	call p_parse_lmp_opcode_00
++//54_e7a2cce3_31a3ae2a
++//5 | 475c58cc 73345e72 | a
++p_sort_access_code:
++	preload access
++	arg 0x4ff0,contw
++	arg 0x09,loopcnt
++p_sort_access_code_loop:
++	and pdata,0xff,temp
++	rshift8 pdata,pdata
+ 	
+-	branch sconn_successful
+-//	branch p_hci_send_connection_complete
+-
+-
+-p_parse_lmp_opcode_00:
+-	fetch 3,mem_rxbuf+1
+-	store 3,mem_minzhan_save_lmp_Ye
+-	
+-//jam LMP_m_TEST_REQ,mem_lmo_opcode2
++	reverse temp, temp
++	istoret 1,contw
++	loop p_sort_access_code_loop
+ 	rtn
+ 
+-p_m_slave_newconn_loop:
+-	call slave_newconn_once
+-	branch p_m_slave_connection_success,match     /* we were talked to */
+-	call new_conn_timeout
+-	nbranch p_m_slave_newconn_loop,blank
+-	rtn
+ 
+ 
+-
+Index: sched/bt_keyboard.dat
+===================================================================
+--- sched/bt_keyboard.dat	(revision 377)
++++ sched/bt_keyboard.dat	(working copy)
+@@ -14,7 +14,7 @@
+ 
+ mem_ui_profile_supported:01
+ 
+-mem_lap:36 ff c2 08 66 22    
++mem_lap:1c  66 a4 d8 17 e4
+ mem_local_name_length:
+ 'BT3.0 Keyboard
+ 
+Index: sched/DM_module.dat
+===================================================================
+--- sched/DM_module.dat	(revision 377)
++++ sched/DM_module.dat	(working copy)
+@@ -40,4 +40,23 @@
+ 
+ #####################################
+ 
++mem_m_access_code:0A 97 B3 EE 62 96 0E E6 54
++#mem_m_access_code:70 39 eb 2e 66 e9 60 4e
++mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
+ 
++
++mem_hci_plap:
++59 3a 98 e9 b6 98 
++#98 b6 e9 98 3a 59
++
++mem_m_wake_data:
++05 2e 67 dd 
++#2e eb 39 70
++
++#mem_m_access_code:8f c6 14 d1 66 e9 60 4e 
++#d114c68f 4e60e966
++
++
++
++
++
Index: shoubing/bt_rom/format/app.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/app.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/app.format	(working copy)
@@ -0,0 +1,279 @@
+
+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_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
+
+
+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
+
+)
+//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
+)
+
+
Index: shoubing/bt_rom/format/app_module.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/app_module.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/app_module.format	(working copy)
@@ -0,0 +1,185 @@
+memalloc(
+)
+
+(
+0x4FEF 	IPC_HOLD_BT
+
+0x4FF0 IPC_BT2M0_START_ADDR
+0x4FF2 IPC_BT2M0_END_ADDR
+0x4FF4 IPC_BT2M0_READ_PTR
+0x4FF6 IPC_BT2M0_WRITE_PTR
+
+0x4FF8 IPC_M02BT_START_ADDR
+0x4FFA IPC_M02BT_END_ADDR
+0x4FFC IPC_M02BT_READ_PTR
+0x4FFE IPC_M02BT_WRITE_PTR
+)
+
+(//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
+)
+
+(
+0x1200 mem_l2cap_rxbuff2_new
+0x1400 mem_tx_buff0_new
+2 context_num_new
+)
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+	230 NL_RFCOMM_BUFF_LEN
+)
+
+
+(
+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
+
+0x70  HCI_CMD_SWITCH_WAKEUP
+
+0xee HCI_TEST_CMD_REBACK
+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: shoubing/bt_rom/format/bt.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/bt.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/bt.format	(working copy)
@@ -0,0 +1,1050 @@
+
+	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
+6 mem_gpio_wakeup
+
+/* 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_lpm_doze_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
+ifdef FPGA
+0x0500 param_pll_setup		// 120 is minimum
+else
+0x0500 param_pll_setup		// 120 is minimum
+endif
+0x0500 param_rx_ahead
+
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+
+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 */
+17	  bt_trig
+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       contrub    /* uartb read ptr */
+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 */
+22       addhi    /* ahb bus address [24:16] */
+23       freq_index   /* 7 bit read only */
+24       regd    /* regext[1] */
+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 */
+42       branch_addr	/* last branch address */
+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		/* bit[0] init, bit[2:1] mode, bit[3] big endian, bit[4] load data, bit[5] load key */		
+55   	    rege			/* regext[3],regext[2] */
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+60       max_stack		/* maximum stack ptr */
+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
+)
+
+/* aes_ctrl */
+(
+0x01 aes_cbc
+0x02 aes_cfb
+0x04 aes_192
+0x08 aes_256
+0x10 aes_big_endian
+0x20 aes_initialize
+0x40 aes_load
+0x80 aes_zero
+)
+
+/* ========== 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
+14 m_wake_timer
+
+)
+
+(
+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
+2 wake_lock_m0_single
+
+3 wake_lock_ble_rx_patch
+4 wake_lock_ble_tx_patch
+
+5 wake_lock_ipc_bt2m0
+6 wake_lock_ipc_m02bt
+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: shoubing/bt_rom/format/command.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/command.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/command.format	(working copy)
@@ -0,0 +1,1407 @@
+
+/* 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 storer          /* write reg to memory, address from immediate then mem_ptr */
+  % reg
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] reg               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0c store          /* write pdata to memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0c storet          /* write temp to memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               
+  [4] num_bytes
+  [17] addr
+end
+
+
+format
+  ! 0x1c istorer        /* write regr to memory, address from regaddr */
+  % regr
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] regr            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1c istore        /* write pdata to memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 63            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1c istoret        /* write temp to memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 2            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+
+format
+  ! 0x0d fetchr          /* read reg from memory, address from immediate then mem_ptr */
+  % reg
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] reg               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0d fetch          /* read pdata from memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0d fetcht          /* read temp from memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x1d ifetchr        /* read regr from memory, address from regaddr */
+  % regr
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] regr            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1d ifetch        /* read pdata from memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 63            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1d ifetcht        /* read temp from memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 2            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [4] 0
+  [17] 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 */
+  [4] 0
+  [17] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [2] 0
+  [17] 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 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: shoubing/bt_rom/format/hci.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/hci.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/hci.format	(working copy)
@@ -0,0 +1,569 @@
+
+
+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(
+
+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: shoubing/bt_rom/format/hid.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/hid.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/l2cap.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/l2cap.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/le.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/le.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/lmp.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/lmp.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/lmp.format	(working copy)
@@ -0,0 +1,227 @@
+
+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
+
+	66 LMP_M_TEST_REQ 
+
+	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: shoubing/bt_rom/format/memblocks.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/memblocks.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/memblocks.format	(working copy)
@@ -0,0 +1,66 @@
+//
+//
+//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
+)
+
+
+endif
+
Index: shoubing/bt_rom/format/patch.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/patch.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/regs.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/regs.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/regs.format	(working copy)
@@ -0,0 +1,195 @@
+(
+  0x8000 core_chipid
+  0x8001 core_revid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x800a core_dma_start
+  0x800b core_sbc_clr
+  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_rthalfslot
+  0x8042 core_clksel
+  0x8043 core_config 
+  0x8044 core_sec_rsaddr
+  0x8046 core_sec_readdr
+  0x8048 core_sec_tsaddr
+  0x804a core_sec_teaddr
+  0x804c core_lpm_reg
+  0x804e core_lpm_isogate
+
+  0x8100 core_clkn
+  0x8104 core_extmclk
+  0x8108 core_misc_status
+  0x8109 core_debug_baud
+  0x810a core_ccnt_counter
+  0x810e core_gpio_in
+  0x811c core_lpm_ctrl
+  0x8123 core_lpm_ldocnt
+  0x8124 core_lpm_xtalcnt
+  0x8125 core_lpm_buckcnt
+  0x8126 core_lpm_switch
+  0x8127 core_lpm_buckcfg
+  0x8130 core_gpio_wakeup
+
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  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
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+
+  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
+  0x8956 rf_tx_mix
+  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
+  0x8972 rf_saradc_ctrl
+  0x8973 rfen_chgpump
+  0x897a rf_audio_voll
+  0x897b rf_audio_volr
+  0x897e rfen_aadc
+  0x897f rf_audio_pddac0
+  0x8980 rf_audio_pddac1
+  0x8981 rf_audio_dac_ldo
+
+  0x8990 rf_rccal_result
+  0x8991 rf_afc_d2a
+  0x8992 rf_rssi
+
+
+0x8c00 core_usb_config		
+0x8c01 core_usb_int_mask	
+0x8c04 core_usb_addr
+0x8c10 core_usb_trig	
+0x8c11 core_usb_stall		
+0x8c12 core_usb_clear		
+0x8c18 core_usb_ep
+0x8c18 core_usb_dfifo0 
+0x8c19 core_usb_dfifo1  
+0x8c1a core_usb_dfifo2 
+0x8c20 core_usb_ep_len
+0x8c26 core_usb_status		
+0x8c27 core_usb_fifo_empty
+0x8c28 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
+
+(
+  7 cold_wake
+  3 gpio_latch
+  6 enable_retmem
+  19 hibernate
+  20 xram_switch
+  21 pram_switch
+  23 isogate
+  0xb0 isogate_mask
+)
+
+// misc ctrl
+(
+  0x04 set_tea_key
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+
+// dma start
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 qspi_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
+)
+
+// core_misc_status
+(
+  0 CCNT_DONE
+  1 KICKED
+  2 SEC_PWRUP
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x2dc6c00 uart_clk
+
+//core_config
+(
+3 CLOCK_ON_AUTH_ROM
+)
+
+
Index: shoubing/bt_rom/format/rfcomm.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/rfcomm.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/sdp.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/sdp.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/security.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/security.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/simple_pairing.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/simple_pairing.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/format/ui.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/ui.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/ui.format	(working copy)
@@ -0,0 +1,425 @@
+/*****************************************************************************/
+/* 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
+
+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
+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
+)
+
+(
+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
+
+
+0x42 BT_EVT_HID_INT_CONNECT
+0x43 BT_EVT_SNIFF_REPORT
+)
+//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
+)
+
+
+
+
Index: shoubing/bt_rom/format/utility.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/utility.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/utility.format	(working copy)
@@ -0,0 +1,97 @@
+/**
+*  @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
+)
+
+
+(
+/*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: shoubing/bt_rom/format/var.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/format/var.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/program/app.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/app.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/app.prog	(working copy)
@@ -0,0 +1,469 @@
+app_init:
+	bpatch patch16_2,mem_patch16
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch16_3,mem_patch16
+	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 patch16_4,mem_patch16
+	//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 patch16_5,mem_patch16
+	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 app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_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_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 patch16_6,mem_patch16
+	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_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 patch16_7,mem_patch16
+	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
+
+
Index: shoubing/bt_rom/program/app_module.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/app_module.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/app_module.prog	(working copy)
@@ -0,0 +1,1336 @@
+
+ifdef COMPILE_MODULE
+
+
+
+
+module_init:
+	rtn wake
+	call le_modified_name
+	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 patch17_0,mem_patch17
+	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 2,IPC_M02BT_END_ADDR
+	store 2,core_sec_readdr
+	fetch 2,IPC_M02BT_START_ADDR
+	store 2,core_sec_rsaddr
+	copy pdata,contru
+	
+	fetch 2,IPC_BT2M0_END_ADDR
+	store 2,core_sec_teaddr
+	fetch 2,IPC_BT2M0_START_ADDR
+	store 2,core_sec_tsaddr
+	copy pdata,contwu
+	rtn
+	
+
+
+module_lpm_init:
+	call module_lpm_uart_init
+	branch module_spp_clear_last_transmite_clock
+//	branch module_gpio_init
+	
+module_gpio_init:
+	rtn
+module_lpm_lock:
+	fetch 1,IPC_HOLD_BT
+	beq 1,app_get_lpm_wake_lock
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_lpm_lock_check_pairing
+	branch app_put_lpm_wake_lock
+module_lpm_lock_check_pairing:
+	beq FLAG_LE_PAIRING_END,app_put_lpm_wake_lock
+	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:
+	rtn
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch17_1,mem_patch17
+	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
+	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
+//	fethc 2,core_uart_rxitems    //*
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	ncall module_set_unsniff_task_flag,zero    //*加这两句话
+	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:
+	branch module_start_adv_discovery_by_command
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_conn_start:
+	branch module_stop_adv_discovery
+	
+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_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	branch module_process_with_credit,zero
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	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 patch17_2,mem_patch17
+	fetch 2,IPC_M02BT_WRITE_PTR
+	store 2,IPC_M02BT_READ_PTR
+	rtn
+
+
+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 patch17_3,mem_patch17
+	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_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_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	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_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
+	beq HCI_TEST_CMD_REBACK,module_hci_test_cmd_reback
+	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 NL_RFCOMM_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 patch17_4,mem_patch17
+	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 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 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 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 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:
+	ifetch 1,contru
+	store 1,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+//command opcode 0xee	
+module_hci_test_cmd_reback:
+	fetch 1,mem_module_uart_len
+	call module_hci_prepare_tx
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call copy_tx_bytes	
+	branch uartd_send
+
+copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+copy_tx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop copy_tx_bytes_loop
+	rtn
+	
+/*********************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
+	branch module_hci_event_enter_standby_mode_len0
+	
+
+//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 patch17_5,mem_patch17
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	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:
+	rtn
+
+
+check_ipc_tx_buff:
+	call get_ipc_tx_buff
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+	
+calc_ipc_tx_buff_pos:
+	isub rega,pdata
+	sub pdata,0,pdata
+	rtn
+
+get_ipc_tx_buff:
+	fetcht 2,IPC_BT2M0_START_ADDR
+	fetch 2,IPC_BT2M0_END_ADDR
+	isub temp,rega
+	fetcht 2,IPC_BT2M0_READ_PTR
+	fetch 2,IPC_BT2M0_WRITE_PTR
+	isub temp,pdata
+	ncall calc_ipc_tx_buff_pos,positive
+	rtn
+	
+module_control_air_flow:
+	call check_ipc_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: shoubing/bt_rom/program/bt.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/bt.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/bt.prog	(working copy)
@@ -0,0 +1,4130 @@
+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 0x4000		// start from rom address start
+start:
+	call lpmstate
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call initialize_radio
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	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
+	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
+	rtn
+
+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
+	fetcht 2,core_rthalfslot
+	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 0x08,radio_ctrl
+	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
+	nop 4
+	rtn
+
+
+initialize_radio:
+	hjam clksel_rc,core_clksel
+	ncall wake_up_m0,wake
+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:
+	fetch 4,core_lpm_xtalcnt
+	isolate1 hibernate,pdata
+	bbit0 isogate,lpm_open_isogate
+	nbranch clean_mem,true			// power on
+	arg param_hibernate_clks,temp
+	deposit auxcnt
+	branch lpm_enter_sleep,blank		// hibernate timeout, continue sleeping
+lpm_open_isogate:
+	set1 isogate,pdata
+	set1 xram_switch,pdata
+	set1 pram_switch,pdata
+	store 4,core_lpm_reg
+	until null,lpo_edge				// delay to wait lpo rstn release
+	until null,lpo_edge
+	call lpm_write_ctrl2
+	fetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	store 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	branch clean_mem,true			// doze or hibernate
+	enable wake
+lpm_load_context:
+	jam 0x1,core_config				// signal m0 for NOT loading patch
+	fetch 8,mem_saved_mark
+	iforce mark
+	fetch 6,core_gpio_wakeup
+	store 6,mem_gpio_wakeup
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	branch lpm_write_gpio_wakeup
+
+
+lpo_calibration:
+	fetcht 1,core_clksel
+	and temp,0xf0,pdata
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	and temp,0xf,pdata
+	or_into 0xc0,pdata
+	store 1,core_clksel
+	jam ccnt_start,core_dma_start
+lpo_cal_inited:
+	fetch 1,core_misc_status
+	rtnbit0 CCNT_DONE
+	fetch 3,core_ccnt_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
+
+lpm_doze:
+	fetch 1,mem_lpm_doze_switch
+	branch lpm_hibernate_normal
+
+	/* no retention memory at all */
+lpm_hibernate:
+	fetch 1,mem_lpm_hibernate_switch
+lpm_hibernate_normal:
+	store 1,mem_lpm_xtalcnt + 3
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+
+	/* 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 3,mem_lpm_xtalcnt
+	store 3,core_lpm_reg
+	ifetchr rega,1,contr
+	fetch 1,core_lpm_buckcfg
+	istore 1,contw
+	until null,lpo_edge
+	storer clkn,6,mem_sleep_clkn
+	hjam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	storer rega,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
+	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
+
+
+
+	/* 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:
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup
+	store 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	ifetch 2,contr
+	store 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 2,IPC_BT2M0_READ_PTR
+	fetcht 2,IPC_BT2M0_WRITE_PTR
+	isub temp,null
+	nsetflag zero,wake_lock_ipc_bt2m0,rega
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	nsetflag zero,wake_lock_ipc_m02bt,rega
+	fetch 1,core_config
+	isolate1 7,pdata
+	setflag true,wake_lock_m0_single,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	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
+
+test_init:
+	setarg test_proc
+	store 2,mem_cb_bt_process
+	setarg test_sleep
+	store 2,mem_cb_bb_event_process
+	setarg test_proc
+	store 2,mem_cb_idle_process
+	rtn wake
+	rtn
+
+test_proc:
+	fetch 1,mem_state
+	bbit0 state_insniff,check_test_cond
+	set1 mark_lpm_mult_enable,mark
+	fetch 6,mem_sniff_rcv
+	store 6,mem_local_name
+	rtn
+
+check_test_cond:
+	fetch 1,mem_tester_emulate
+	rtnbit0 tester_change
+	fetch 1,mem_tester_cnt
+	increase 1,pdata
+	store 1,mem_tester_cnt
+	rtnne 5
+	jam 0,mem_tester_cnt
+	fetch 1,mem_tester_emulate
+	set0 tester_change,pdata
+	store 1,mem_tester_emulate
+	bbit1 tester_exit,check_test_exit
+	isolate1 tester_no_whitening,pdata
+	call test_no_white,true
+	ncall test_enable_white,true
+	fetch 1,test_mode_packet_type
+	compare 0x20,pdata,0x30
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	fetch 1,mem_tester_emulate
+	fetcht 1,mem_debug_config
+	isolate1 tester_pattern_test,pdata
+	setflag true,debug_tx_pattern,temp
+	isolate1 tester_fixed_freq,pdata
+	setflag true,debug_tx_fixed_freq,temp
+	setflag true,debug_rx_fixed_freq,temp
+	storet 1,mem_debug_config
+	fetch 1,test_mode_tx_freq
+	store 1,mem_tx_fixed_freq
+	fetch 1,test_mode_rx_freq
+	store 1,mem_rx_fixed_freq
+	set1 mark_testmode,mark
+	rtn
+
+	
+check_test_exit:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_test_mode_old_debug_config
+	store 1,mem_debug_config
+	hfetch 1,core_config
+	and_into 0xfb,pdata			/* whitening on */
+	hstore 1,core_config	
+	rtn
+	
+
+test_sleep:
+	deposit regc
+	rtnne BT_EVT_BUTTON_LONG_PRESSED
+test_sleep_loop:
+//	call ui_button_polling
+//	fetch 1,mem_ui_button_last_state
+	rtn
+	beq 1,test_sleep_loop
+	branch lpm_hibernate
+
+
+test_tx:
+	force 2,temp
+	increase -2,temp
+	call set_sync_on
+	call set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	call start_transmitter
+test_tx_loop:
+	fetch 1,0
+	inject mod,8
+	branch test_tx_loop
+wait_sec_powerup:
+	fetch 1,core_misc_status
+	bbit0 SEC_PWRUP, wait_sec_powerup
+	rtn
+
Index: shoubing/bt_rom/program/hci_h4.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/hci_h4.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/hci_h4.prog	(working copy)
@@ -0,0 +1,4 @@
+
+
+
+
Index: shoubing/bt_rom/program/hci_main.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/hci_main.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/hci_main.prog	(working copy)
@@ -0,0 +1,53 @@
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+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
+	
+
Index: shoubing/bt_rom/program/hid.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/hid.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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:
+	bpatch patch17_6,mem_patch17
+	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: shoubing/bt_rom/program/l2cap.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/l2cap.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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:	
+	bpatch patch17_7,mem_patch17
+	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:
+	bpatch patch18_0,mem_patch18
+	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
+	bpatch patch18_1,mem_patch18
+	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
+	bpatch patch18_2,mem_patch18
+	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
+	bpatch patch18_3,mem_patch18
+	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:
+	bpatch patch18_4,mem_patch18
+	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:
+	bpatch patch18_5,mem_patch18
+	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:
+	bpatch patch18_6,mem_patch18
+	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:
+	bpatch patch18_7,mem_patch18
+	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
+	bpatch patch19_0,mem_patch19
+	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:
+	bpatch patch19_1,mem_patch19
+	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
+	bpatch patch19_2,mem_patch19
+	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
+	bpatch patch19_3,mem_patch19
+	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:
+	bpatch patch19_4,mem_patch19
+	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:
+	bpatch patch19_5,mem_patch19
+	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
+	bpatch patch19_6,mem_patch19
+	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
+	bpatch patch19_7,mem_patch19
+	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
+	bpatch patch1a_0,mem_patch1a
+	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:
+	bpatch patch1a_1,mem_patch1a
+	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:
+	bpatch patch1a_2,mem_patch1a
+	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:
+	bpatch patch1a_3,mem_patch1a
+	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
+	bpatch patch1a_4,mem_patch1a
+	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:
+	bpatch patch1a_5,mem_patch1a
+	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
+	bpatch patch1a_6,mem_patch1a
+	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
+	bpatch patch1a_7,mem_patch1a
+	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
+	bpatch patch1b_0,mem_patch1b
+	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
+	bpatch patch1b_1,mem_patch1b
+	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
+	bpatch patch1b_2,mem_patch1b
+	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:
+	bpatch patch1b_3,mem_patch1b
+	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:
+	bpatch patch1b_4,mem_patch1b
+	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:
+	bpatch patch1b_5,mem_patch1b
+	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:
+	bpatch patch1b_6,mem_patch1b
+	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:
+	bpatch patch1b_7,mem_patch1b
+	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:
+	bpatch patch1c_0,mem_patch1c
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatch patch1c_1,mem_patch1c
+	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:
+	bpatch patch1c_2,mem_patch1c
+	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:
+	bpatch patch1c_3,mem_patch1c
+	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:
+	bpatch patch1c_4,mem_patch1c
+	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:
+	bpatch patch1c_5,mem_patch1c
+	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:
+	bpatch patch1c_6,mem_patch1c
+	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:
+	bpatch patch1c_7,mem_patch1c
+	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:
+	bpatch patch1d_0,mem_patch1d
+	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:
+	bpatch patch1d_1,mem_patch1d
+	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:
+	bpatch patch1d_2,mem_patch1d
+	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: shoubing/bt_rom/program/le.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/le.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/le.prog	(working copy)
@@ -0,0 +1,1849 @@
+ifdef COMPILE_LE
+//******************************************//
+//*************LE INIT ****************//
+//******************************************//
+
+
+le_init_conn:
+	bpatch patch1d_3,mem_patch1d
+	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:
+	bpatch patch1d_4,mem_patch1d
+	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:
+	bpatch patch1d_5,mem_patch1d
+	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:
+	bpatch patch1d_6,mem_patch1d
+	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:
+	bpatch patch1d_7,mem_patch1d
+	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
+	bpatch patch1e_0,mem_patch1e
+	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:
+	bpatch patch1e_1,mem_patch1e
+	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:
+	bpatch patch1e_2,mem_patch1e
+	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:
+	bpatch patch1e_3,mem_patch1e
+	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:
+	bpatch patch1e_4,mem_patch1e
+	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:
+	bpatch patch1e_5,mem_patch1e
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatch patch1e_6,mem_patch1e
+	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:
+	bpatch patch1e_7,mem_patch1e
+	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:
+	bpatch patch1f_0,mem_patch1f
+	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:
+	bpatch patch1f_1,mem_patch1f
+	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:
+	bpatch patch1f_2,mem_patch1f
+	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:
+	bpatch patch1f_3,mem_patch1f
+	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:
+	bpatch patch1f_4,mem_patch1f
+	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:
+	bpatch patch1f_5,mem_patch1f
+	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:
+	bpatch patch1f_6,mem_patch1f
+	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:
+	bpatch patch1f_7,mem_patch1f
+	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 patch20_0,mem_patch20
+	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 patch20_1,mem_patch20
+	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 patch20_2,mem_patch20
+	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 patch20_3,mem_patch20
+	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 patch20_4,mem_patch20
+	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 patch20_5,mem_patch20
+	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 patch20_6,mem_patch20
+	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 patch20_7,mem_patch20
+	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 patch21_0,mem_patch21
+	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 patch21_1,mem_patch21
+	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 patch21_2,mem_patch21
+	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 patch21_3,mem_patch21
+	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 patch21_4,mem_patch21
+	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 patch21_5,mem_patch21
+	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 patch21_6,mem_patch21
+	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 patch21_7,mem_patch21
+	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 patch22_0,mem_patch22
+	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 patch22_1,mem_patch22
+	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 patch22_2,mem_patch22
+	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 patch22_3,mem_patch22
+	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 patch22_4,mem_patch22
+	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 patch22_5,mem_patch22
+	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 patch22_6,mem_patch22
+	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 patch22_7,mem_patch22
+	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 patch23_0,mem_patch23
+	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 patch23_1,mem_patch23
+	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 patch23_2,mem_patch23
+	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 patch23_3,mem_patch23
+	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 patch23_4,mem_patch23
+	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 patch23_5,mem_patch23
+	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 patch23_6,mem_patch23
+	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 patch23_7,mem_patch23
+	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
+	bpatchx patch24_0,mem_patch24
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	bpatchx patch24_1,mem_patch24
+	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 patch24_2,mem_patch24
+	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 patch24_3,mem_patch24
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch24_4,mem_patch24
+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 patch24_5,mem_patch24
+	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
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+	
+
+le_receive_window_size:
+	bpatchx patch24_6,mem_patch24
+	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 patch24_7,mem_patch24
+	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 patch25_0,mem_patch25
+	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 patch25_1,mem_patch25
+//	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 patch25_2,mem_patch25
+	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 patch25_3,mem_patch25
+	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 patch25_4,mem_patch25
+	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 patch25_5,mem_patch25
+	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 patch25_6,mem_patch25
+	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 patch25_7,mem_patch25
+	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 patch26_0,mem_patch26
+	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 patch26_1,mem_patch26
+	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 patch26_2,mem_patch26
+	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_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: shoubing/bt_rom/program/le_l2cap_att.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/le_l2cap_att.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/program/le_l2cap_signalling.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/le_l2cap_signalling.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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: shoubing/bt_rom/program/le_l2cap_smp.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/le_l2cap_smp.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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 patch26_3,mem_patch26
+	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 patch26_4,mem_patch26
+	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: shoubing/bt_rom/program/le_ll.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/le_ll.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/le_ll.prog	(working copy)
@@ -0,0 +1,213 @@
+
+le_parse_ll:
+	bpatchx patch26_5,mem_patch26
+	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 patch26_6,mem_patch26
+	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 patch26_7,mem_patch26
+	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: shoubing/bt_rom/program/lmp.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/lmp.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/lmp.prog	(working copy)
@@ -0,0 +1,2522 @@
+	
+/******************************************/
+/*************   LMP Parse   **************/
+/******************************************/
+init_lmp:
+	rtn wake
+init_lmp_work:
+	bpatchx patch27_0,mem_patch27
+	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 patch27_1,mem_patch27
+	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 patch27_2,mem_patch27
+  	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 patch27_3,mem_patch27
+	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 patch27_4,mem_patch27
+	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 patch27_5,mem_patch27
+	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:
+	branch lmp_reject_sniff
+	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 patch27_6,mem_patch27
+	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 patch27_7,mem_patch27
+	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 patch28_0,mem_patch28
+	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 patch28_1,mem_patch28
+	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 patch28_2,mem_patch28
+	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 patch28_3,mem_patch28
+	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 patch28_4,mem_patch28
+
+	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: shoubing/bt_rom/program/peripherals.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/peripherals.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/peripherals.prog	(working copy)
@@ -0,0 +1,387 @@
+
+/* ===================== SPI dma ======================= */
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	hjam 1,core_reset
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	bpatchx patch29_0,mem_patch29
+	fetch 2,IPC_BT2M0_WRITE_PTR
+	copy pdata,contwu
+	rtn
+
+uartd_send:
+	bpatchx patch29_1,mem_patch29
+	copy contwu,pdata
+	store 2,IPC_BT2M0_WRITE_PTR
+wake_up_m0:
+	fetch 1,core_config
+	rtnbit1 7
+	set1 7,pdata
+	store 1,core_config
+	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
+	
+uartd_rxdone:
+	bpatchx patch29_2,mem_patch29
+	copy contru,pdata
+	store 2,IPC_M02BT_READ_PTR
+	rtn
+	
+uartd_prepare_rx:
+	bpatchx patch29_3,mem_patch29
+	fetch 2,IPC_M02BT_READ_PTR
+	copy pdata,contru
+	rtn
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+eeprom_store_le_reconn_info:
+eeprom_store_bd_reconn_info:
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch29_4,mem_patch29
+	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 patch29_5,mem_patch29
+	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 patch29_6,mem_patch29
+	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_key128
+	force aes_big_endian | aes_load,aes_ctrl
+	force 0,aes_ctrl					// change result to little endian
+	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 patch29_7,mem_patch29
+	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
+
+
+	
+
+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 ================= */
+
+
Index: shoubing/bt_rom/program/rfcomm.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/rfcomm.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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 patch2a_0,mem_patch2a
+	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 patch2a_1,mem_patch2a
+	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 patch2a_2,mem_patch2a
+	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 patch2a_3,mem_patch2a
+	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 patch2a_4,mem_patch2a
+	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 patch2a_5,mem_patch2a
+	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 patch2a_6,mem_patch2a
+	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 patch2a_7,mem_patch2a
+	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 patch2b_0,mem_patch2b
+	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 patch2b_1,mem_patch2b
+	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 patch2b_2,mem_patch2b
+	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 patch2b_3,mem_patch2b
+	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 patch2b_4,mem_patch2b
+	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 patch2b_5,mem_patch2b
+	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 patch2b_6,mem_patch2b
+	//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 patch2b_7,mem_patch2b
+	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 patch2c_0,mem_patch2c
+	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 patch2c_1,mem_patch2c
+	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: shoubing/bt_rom/program/scheduler.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/scheduler.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/scheduler.prog	(working copy)
@@ -0,0 +1,461 @@
+scheduler_process:
+	bpatchx patch2c_2,mem_patch2c
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch2c_3,mem_patch2c
+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 patch2c_4,mem_patch2c
+//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 patch2c_5,mem_patch2c
+//	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 patch2c_6,mem_patch2c
+	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 patch2c_7,mem_patch2c
+	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 patch2d_0,mem_patch2d
+	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 patch2d_1,mem_patch2d
+	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 patch2d_2,mem_patch2d
+	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 patch2d_3,mem_patch2d
+	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 patch2d_4,mem_patch2d
+	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 patch2d_5,mem_patch2d
+	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 patch2d_6,mem_patch2d
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch2d_7,mem_patch2d
+	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 patch2e_0,mem_patch2e
+	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 patch2e_1,mem_patch2e
+	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 patch2e_2,mem_patch2e
+	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 patch2e_3,mem_patch2e
+	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 patch2e_4,mem_patch2e
+	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 patch2e_5,mem_patch2e
+	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 patch2e_6,mem_patch2e
+	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 patch2e_7,mem_patch2e
+	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 patch2f_0,mem_patch2f
+	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: shoubing/bt_rom/program/sdp.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/sdp.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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 patch2f_1,mem_patch2f
+	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 patch2f_2,mem_patch2f
+	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 patch2f_3,mem_patch2f
+	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 patch2f_4,mem_patch2f
+	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 patch2f_5,mem_patch2f
+	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 patch2f_6,mem_patch2f
+	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 patch2f_7,mem_patch2f
+	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 patch30_0,mem_patch30
+	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 patch30_1,mem_patch30
+	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 patch30_2,mem_patch30
+	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 patch30_3,mem_patch30
+	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 patch30_4,mem_patch30
+	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 patch30_5,mem_patch30
+	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: shoubing/bt_rom/program/security.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/security.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/security.prog	(working copy)
@@ -0,0 +1,1642 @@
+
+ifdef SECURE_CONNECTION
+	
+function_g2:
+	bpatchx patch30_6,mem_patch30
+	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 patch30_7,mem_patch30
+	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 patch31_0,mem_patch31
+	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 patch31_1,mem_patch31
+	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_key128
+//	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_ecb
+	
+//	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 patch31_2,mem_patch31
+	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 patch31_3,mem_patch31
+	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
+	fetchr regb,2,memp_ar_input
+	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:
+	istorer alarm,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:
+	ifetchr rega,1,contr
+	ifetchr regb,1,contr
+	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
+	fetchr rega,1,mem_input_store+15
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	storer rega,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
+	ifetchr regc,1,contw
+	istorer rega,1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	istorer rega,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
+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 patch31_4,mem_patch31
+	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_key128
+	force aes_big_endian | aes_load,aes_ctrl
+	force 0,aes_ctrl					// change result to little endian
+	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 header, return mic in regb */	
+generate_mic:
+	add regc,1,contr
+	ifetchr rega,1,contr
+	call first_block_counter
+	call do_aes_ecb
+
+	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
+	copy regext,regb
+	storer regb,4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	call aes_init
+	copy regc,contr
+	call load_data128
+	call do_aes_cfb
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch31_5,mem_patch31
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force 0,rega
+	call first_block_data
+	call aes_init
+	force regidx_data,regext_index
+	copy regb,regext
+	call do_aes_cfb
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	istorer regext,4,contw	
+	force 0,rega					/* rega is block counter */
+	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:
+	fetcht 5,mem_le_pcnt_rx
+	force 0,rega
+	call first_block_data
+	call aes_init
+	fetch 1,mem_le_rxbuf+1
+	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
+	force regidx_data,regext_index
+	ifetchr regext,4,contr
+	call do_aes_cfb
+	force regidx_result,regext_index
+	storer regext,4,mem_le_peer_mic
+	force 0,rega					/* rega is block counter */
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetch 4,mem_le_peer_mic
+	isub regb,pdata					/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub regb,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_ecb256:
+	force aes_load | aes_256,aes_ctrl
+	force aes_256,aes_ctrl
+	branch wait_aes
+
+do_aes_ecb192:
+	force aes_load | aes_192,aes_ctrl
+	force aes_192,aes_ctrl
+	branch wait_aes
+
+do_aes_ecb:
+	force aes_load,aes_ctrl
+	force 0,aes_ctrl
+	branch wait_aes
+
+
+do_aes_cbc:
+	force aes_load | aes_cbc,aes_ctrl
+	force 0,aes_ctrl
+	branch wait_aes
+
+do_aes_cfb:
+	force aes_load | aes_cfb,aes_ctrl
+	force aes_cfb,aes_ctrl
+	branch wait_aes
+
+do_aes_ecb_be:
+	force aes_big_endian | aes_load,aes_ctrl
+	force aes_big_endian,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc_be:
+	force aes_big_endian | aes_load | aes_cbc,aes_ctrl
+	force aes_big_endian,aes_ctrl
+	branch wait_aes
+
+
+aes_init:
+	force aes_initialize,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
+	branch do_aes_ecb_be
+
+	/* rega pointers to random number */
+function_c1:
+	copy rega,contr
+	call load_data128					// load r
+	force aes_big_endian | aes_initialize,aes_ctrl
+	force 0,aes_ctrl
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,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
+	arg mem_le_iat,contr
+	call load_data128					// load p1
+	call aes_clear				
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	force aes_big_endian | aes_cbc | aes_load,aes_ctrl
+	force aes_big_endian,aes_ctrl
+	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_data,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 */
+	branch do_aes_cbc_be
+
+
+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
+
+load_key256:
+	force 8,loopcnt
+	branch load_key
+load_key192:
+	force 6,loopcnt
+	branch load_key
+load_key128:
+	force 4,loopcnt
+load_key:
+	force regidx_key,regext_index
+	branch load_regext_loop
+load_data128:
+	force regidx_data,regext_index
+	force 4,loopcnt
+load_regext_loop:
+//	ifetchr regext,4,contr
+	ifetch 4,contr
+ 	icopy regext	
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key128
+
+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:
+	fetch 1,core_config
+	set1 CLOCK_ON_AUTH_ROM,pdata
+	store 1,core_config
+	rtn
+
+disable_authrom:
+	fetch 1,core_config
+	set0 CLOCK_ON_AUTH_ROM,pdata
+	store 1,core_config
+	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: shoubing/bt_rom/program/sim.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/sim.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/sim.prog	(working copy)
@@ -0,0 +1,222 @@
+simstart:
+//	call sim_qspi
+	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 0x5,core_clksel
+	setarg 0x100
+	store 2,core_sec_readdr
+	arg 0x133,contru
+	ifetch 1,contru
+	fetch 1,core_config
+//	jam 5,core_clksel
+//	call sim_dac
+//	call sim_cvsd
+	branch sim_lpm
+//	branch sim_aes
+//	branch sim_clk
+	branch sim_ahb
+//	call sim_adcd
+//	branch sim_assert
+//	call sim_aes
+//	branch test_tx
+//	branch sim_le
+//	branch sim_250k
+//	branch sim_clk
+//	branch sim_c1
+//	branch loop
+	branch sim_main
+
+sim_assert:
+	branch sim_assert
+
+sim_ahb:
+	call wait_sec_powerup
+	arg 0xf,addhi
+	setarg 0
+	store 3,0x10
+	store 1,0x18532
+testbus_loop:
+	arg 0xf,addhi
+	fetch 1,0x18532
+	fetcht 1,0x10
+	isub temp,null
+	nbranch assert,zero
+	increase 1,pdata
+	store 1,0x10
+	store 1,0x18532
+	arg 0x100,addhi
+	fetcht 3,0x10091
+	setarg 0x584049
+	isub temp,null
+	nbranch assert,zero
+	branch testbus_loop
+
+	
+sim_main:
+	call init_param
+	setarg 0xff00
+	store 2,core_lpm_reg+2
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+	jam 4,core_config
+	fetch 1,0x87ff
+	beq 1,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_state_map
+	set1 smap_edr,pdata
+	store 1,mem_context + coffset_state_map
+	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_lpm:
+	jam 0x40,mem_gpio_wakeup + 5
+	branch sim_lpm_sleep
+	branch lpm_doze
+	branch lpm_hibernate
+	jam 0x30,core_clksel
+	jam ccnt_start,core_dma_start
+sim_lpm_wait:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch sim_lpm_wait,blank
+	call lpm_recover_clk,wake
+sim_lpm_sleep:
+	arg 30,temp
+	branch lpm_sleep
+
+
+ifdef NULL
+
+sim_250k:
+	call init_250k
+	fetch 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_clk:
+	add lpo_time,12,alarm
+	snooze
+clock_loop:
+	nop 10
+	random pdata
+	and_into 0x1f,pdata
+	store 1,core_clksel
+	branch clock_loop
+	jam 2,core_kick
+	nop 200
+	jam 2,core_clksel
+	setarg 1500
+	call sleep
+	jam 0x42,core_clksel
+	add lpo_time,200,alarm
+	snooze
+	branch 0x4000
+
+
+
+
+sim_aes:
+	arg mem_x,contw
+	setsect 0,0x17e2b
+	setsect 1,0x20585
+	setsect 2,0x12ae2
+	setsect 3,0x2ae9b
+	istore 9,contw
+	setsect 0,0x15f7
+	setsect 1,0x3c262
+	setsect 2,0x3c4fc
+	setsect 3,0x0
+	istore 7,contw
+	setsect 0,0x2c16b
+	setsect 1,0x3b8af
+	setsect 2,0x1f402
+	setsect 3,0x3a65a
+	istore 9,contw
+	setsect 0,0x17e3d
+	setsect 1,0xdcc4
+	setsect 2,0x2a179
+	setsect 3,0x0
+	istore 7,contw
+	setsect 0,0x3d73a
+	setsect 1,0x36d1e
+	setsect 2,0x367a0
+	setsect 3,0x2a180
+	istore 9,contw
+	setsect 0,0x3ca9e
+	setsect 1,0x1893c
+	setsect 2,0x17ef6
+	setsect 3,0x2
+	istore 7,contw
+	arg mem_x,contr
+	call load_key128
+	call load_data128
+	call do_aes_ecb
+	call compare_res
+	branch loop,zero
+	branch sim_assert
+
+endif
Index: shoubing/bt_rom/program/simple_pairing.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/simple_pairing.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/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 patch31_6,mem_patch31
+	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 patch31_7,mem_patch31
+	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 patch32_0,mem_patch32
+	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 patch32_1,mem_patch32
+	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 patch32_2,mem_patch32
+	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 patch32_3,mem_patch32
+         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 patch32_4,mem_patch32
+	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 patch32_5,mem_patch32
+	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 patch32_6,mem_patch32
+	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 patch32_7,mem_patch32
+	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 patch33_0,mem_patch33
+	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 patch33_1,mem_patch33
+	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 patch33_2,mem_patch33
+	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 patch33_3,mem_patch33
+	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 patch33_4,mem_patch33
+	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: shoubing/bt_rom/program/ui.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/ui.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/ui.prog	(working copy)
@@ -0,0 +1,349 @@
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	branch ui_timer_init
+	
+ui_dispatch:	
+	branch ui_timer_check
+	
+	
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch33_5,mem_patch33
+	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 patch33_6,mem_patch33
+	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 patch33_7,mem_patch33
+	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 patch34_0,mem_patch34
+	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 patch34_1,mem_patch34
+	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 patch34_2,mem_patch34
+	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_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 patch34_3,mem_patch34
+	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 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
+	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	
+
+
+
+
Index: shoubing/bt_rom/program/utility.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/utility.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/program/utility.prog	(working copy)
@@ -0,0 +1,609 @@
+
+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 patch34_4,mem_patch34
+	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 patch34_5,mem_patch34
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch34_6,mem_patch34
+	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
+
+
+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_no_white:
+	hfetch 1,core_config
+	set1 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening off */
+	rtn
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	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 patch34_7,mem_patch34
+	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 patch35_0,mem_patch35
+	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: shoubing/bt_rom/util/memalloc.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/util/memalloc.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/util/memalloc.pl	(working copy)
@@ -0,0 +1,90 @@
+$path=$ARGV[0];
+open file, $path;
+@f = <file>;
+close file;
+open file, ">$path";
+$path =~ s/\/.*//;
+open file1, ">$path/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 = 4 if(/^\s*bmemalloc\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 == 4) {
+					push @bmalloc,[@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);
+}
+
+$bend = $addr;
+for($i = 0;$i <= $#bmalloc;$i++) {
+	for($j = 0, $baddr = $addr;$j <= $#{$bmalloc[$i]};$j++) {
+		if($bmalloc[$i][$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			$str = sprintf "0x%04x %s%s\n", $baddr, $2, $3;
+			$baddr += $1;
+			$xstr .= $str;
+		}
+	}
+	$bend = $baddr if($baddr > $bend);
+}
+
+
+print file $xstr, $sstr;
+print file1 $bstr, $xstr;
+close file;
+close file1;
+printf "\nLast allocated address is %04x\n", $bend;
+printf "\nLast allocated xmem address is %04x\n", $xend;
Index: shoubing/bt_rom/util/mergepatch.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/util/mergepatch.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/util/mergepatch.pl	(working copy)
@@ -0,0 +1,52 @@
+$defs = "";
+$fmt = 0;
+
+
+sub parseif {
+	my($fname) = @_;
+	if (@ARGV<2){
+		$faddr="program";
+	} else{
+		$faddr=$ARGV[1];
+	}
+	#printf "$faddr\n";
+	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, "$faddr/$1";
+				#printf "$faddr/$1\n";
+				@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 $_;
+			}
+		}
+	}
+	close file;
+}
+
+parseif("output/bt_program23.meta");
+$fmt = 1;
+parseif("output/bt_format.meta");
+
+
Index: shoubing/bt_rom/util/rom2h.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/util/rom2h.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/bt_rom/util/rom2h.pl	(working copy)
@@ -0,0 +1,8 @@
+#!/usr/bin/perl
+@dat = <stdin>;
+printf "const unsigned char bt_code[] = {\n";
+for($i = 0;$i < @dat;$i++) {
+	$dat[$i] =~ s/\s//g;
+	printf "0x%s%s", $dat[$i], $i == $#dat ? "\n" : $i % 16 == 15 ? ",\n" : "," if(length($dat[$i]) == 2);
+}
+printf "};\n";
Index: shoubing/do.bat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/do.bat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/do.bat	(working copy)
@@ -0,0 +1,249 @@
+cls
+@echo off
+
+::get Rom path
+set now_path=%~dp0
+::call:getstrlocation %now_path% ModuleDemo location
+::call:get_fix_len_str  %now_path% location soft_path
+::set lib_path=%soft_path%Librarier
+set rom_path=%now_path%\bt_rom
+set program=%rom_path%\program
+set format=%rom_path%\format
+set util=%rom_path%\util
+set patch_path=%now_path%patch
+set sched=%now_path%sched
+set format_ex=%now_path%format
+
+rem @echo rom_path=%rom_path%
+rem @echo program_path=%program%
+rem @echo format_path=%format%
+rem @echo util_path=%util%
+rem @echo patch_path=%patch_path%
+
+setlocal enabledelayedexpansion
+
+for /f %%f in ('dir /b /o program_patch\*.prog') do @if not %%f==main_patch.prog set progs_patch=!progs_patch! program_patch\%%f
+for /f %%f in ('dir /b /o program_patch\keyboard_24g_spec_code\*.prog') do @set progs_patch=!progs_patch! program_patch\keyboard_24g_spec_code\%%f
+for /f %%f in ('dir /b /o program_patch\keyboard_ble_spec_code\*.prog') do @set progs_patch=!progs_patch! program_patch\keyboard_ble_spec_code\%%f
+for /f %%f in ('dir /b /o program_patch\keyboard_bt_spec_code\*.prog') do @set progs_patch=!progs_patch! program_patch\keyboard_bt_spec_code\%%f
+type program_patch\main_patch.prog %progs_patch% > patch\patch.prog
+
+set progs=""
+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
+copy %program%\bt.prog + %progs%  output\bt_program23.meta > output\1
+
+set fmts=""
+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
+copy %format%\bt.format + %fmts%  + %format_ex%\app_module.format + %format_ex%\ui.format + %format_ex%\le.format + %format_ex%\utility.format + %format%\command.format output\bt_format.meta > output\2
+
+perl %util%/mergepatch.pl 				output/bt_program23.meta %patch_path%
+perl %util%/memalloc.pl 				output/bt_format.meta
+
+cd output
+osiuasm bt_program23 -O-W
+copy ..\sched\24g_keyboard.dat + ..\sched\ble_keyboard.dat + ..\sched\bt_keyboard.dat + ..\sched\DM_module.dat  + ..\sched\109x.dat ..\output\sched.rom
+Creat_patch_Module
+if "%1" equ "eep" (
+	goto genromrevc
+)else (
+  goto downloadram
+)
+
+:genromrevc
+echo off
+@echo Start to generate EEPROM code
+geneep -n
+
+
+:gen_eep_end
+cd ..
+echo **********************************
+echo EEPROM Generated.
+echo Use command "e fp" 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 **********************************
+cd ..
+
+
+:end
+echo create bt_code.c file
+perl %util%/rom2h.pl  <.\output\eeprom.dat>  .\output\bt_code.c
+copy   .\output\bt_code.c  E:\my_svn\yc3121\SDK\Librarier\core
+goto:eof
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+::------------------------------------------
+::---------------func:getstrlocation-------
+::------------------------------------------
+:getstrlocation
+setlocal
+set "bstr=%1"
+set "cstr=%2"
+set %3=0
+set "num=0"
+set "len_bstr=0"
+set "len_cstr=0"
+
+call:getstrlen %bstr% len_bstr
+call:getstrlen %cstr% len_cstr
+
+:getstrlocation_next
+set /a len_remain=len_bstr-num
+if %len_remain% lss %len_cstr% (
+echo "cann't get str location"
+set /a num =0
+goto getstrlocation_last
+)
+
+call:get_fix_len_str %bstr%  len_cstr compar_str
+
+if not %compar_str%==%cstr% (
+set /a num+=1
+set "bstr=%bstr:~1%"
+goto getstrlocation_next
+)
+
+:getstrlocation_last
+(endlocal
+	set %3=%num%
+)
+goto:eof
+::---------------end:func-------------------
+
+
+::------------------------------------------
+::---------------func:get_fix_len_str-------
+::------------------------------------------
+:get_fix_len_str
+setlocal
+set "getstr=%NULL%"
+set str=%1
+set /a len=%2
+set num=0
+:get_fix_len_str_loop
+set getstr=%getstr%%str:~0,1%
+set /a num+=1
+set str=%str:~1%
+if %num% lss %len% goto get_fix_len_str_loop
+(endlocal
+ set %3=%getstr%
+)
+goto:eof
+::---------------end:func-------------------
+
+
+
+
+::------------------------------------------
+::---------------func:getstrlen-------------
+::------------------------------------------
+:getstrlen
+setlocal
+set str=%1
+set %2=0
+set /a "num=0"
+
+:getstrlen_next
+if "%str%"=="" goto getstrlen_last
+
+if not "%str%"=="" (
+set /a num+=1 
+set "str=%str:~1%"
+goto getstrlen_next
+)
+
+:getstrlen_last
+(endlocal
+	set /a "%2=%num%"
+)
+goto:eof
+::---------------end:func-------------------
+
+
+
+
+::------------------------------------------
+::---------------func:getcharlocation-------
+::------------------------------------------
+:getcharlocation
+setlocal
+set "str=%1"
+set "ch=%2"
+set %3=0
+set /a "num=0"
+
+:getcharnext
+if "%str%"=="" ( 
+set /a num=0
+goto getcharlast
+)
+
+if not "%str%"=="" (
+set /a num+=1
+if "%str:~0,1%"=="%ch%" goto getcharlast
+set "str=%str:~1%"
+goto getcharnext
+)
+:getcharlast
+(endlocal
+set %3=%num%
+)
+goto:eof 
+::---------------end:func-------------------
+
+
+
+
+
+
Index: shoubing/format/app_module.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/app_module.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/app_module.format	(working copy)
@@ -0,0 +1,281 @@
+bmemalloc(
+0 mem_24g_rxbuf
+0 mem_24g_txbuf
+0 mem_24g_txpayload
+0 mem_24g_rxpayload
+
+256 mem_rssi_noise_buffer
+256 mem_rssi_noise_dg_buffer
+256 mem_rssi_noise_ms_buffer
+256 mem_rssi_noise_kb_buffer
+0 mem_24g_common_temp
+25 mem_m_process_sync_buffer
+2 mem_m_snd_op
+2 mem_m_rcv_op
+
+
+)
+omemalloc(	
+	2 mem_soft_version_num
+
+	2 mem_current_packet_length
+	1 mem_module_state
+	
+	1 mem_module_spp_lpm_mult
+	1 mem_module_le_lpm_mult	
+	1 mem_module_bluetooth_stauts_by_command
+
+	//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
+	
+	754 mem_module_uuid_list
+	0 mem_module_uuid_list_end
+	336 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
+	
+	15 mem_rf_init
+
+	//classic shutter config
+	1 mem_classic_shutter_cable_unplug_conut
+	1 mem_classic_shutter_hid_disconn_count
+
+	// Be aware of memory boundaries  limit 0x4bff
+	1 mem_suspend_flag
+
+//24g profile
+0 mem_24g_enter_hibernate
+0 mem_24g_txfail_cnt
+0 mem_mouse_retry_flag
+0 mem_24g_led_flag
+
+
+0 mem_24g_txbuf_new
+0 mem_24g_enter_hibernate_setup
+0 mem_24g_enter_hibernate_max
+
+
+// patch allocated
+0 mem_24g_rxdata_length
+0 mem_24g_pid
+0 mem_24g_datalen
+0 mem_24g_data_type
+0 mem_24g_txlen
+0 mem_24g_rx_window
+0 mem_24g_ensure
+0 mem_24g_get_ack_fail
+0 mem_24g_retry
+0 mem_24g_ch
+0 mem_24g_current_ch_number
+0 mem_24g_paring_addr
+0 mem_24g_pairing_sm
+0 mem_24g_ch_map1
+0 mem_24g_ch_map2
+0 mem_24g_ch_map3
+0 mem_24g_ch_map4
+//回连的地址
+0 mem_24g_addr
+0 mem_24g_check_dongle_times
+0 mem_24g_device_addr
+0 mem_24g_no_ack
+0 mem_24g_sta_crc
+0 mem_24g_sta_pid
+0 mem_24g_max_retry
+0 mem_24g_mode
+0 mem_24g_hop_pac_retry
+0 mem_24g_idle_timeout
+0 mem_24g_idle_cnt
+0 mem_24g_auto_paring_switch
+0 mem_24g_enter_lpm_timer
+0 mem_24g_syncword
+0 mem_24g_syncword_crc8
+0 mem_24g_get_syncword_crc8
+0 mem_24g_discard_cnt
+0 mem_cb_24g_data
+0 mem_24g_lasttx
+
+1 mem_power_ctrl_pac_succ_cnt
+1 mem_power_ctrl_level
+
+1 mem_rssi_avg_received
+1 mem_rssi_hex_received
+8 mem_rssi_signal_buf
+8 mem_rssi_noise_buf
+1 mem_rssi_noise_index
+1 mem_rssi_signal_index
+
+28 mem_read_otp_data
+1 mem_en_24g_flag
+2 mem_module_uart_len_new
+
+	1 mem_m_process_enable
+	2 mem_m_wake_send_window
+	8 mem_m_p_sequence
+	9 mem_m_access_code
+	4 mem_m_wake_data
+	10 mem_m_save_lmp_Ye
+1 mem_btsniff
+2 mem_test_ptr
+0 mem_test
+
+1 mem_test_data
+1 mem_ns_wake_up_flag
+160 mem_context_new
+
+)
+(
+0x55aa OTP_INIT_VAL
+)
+(
+0x18508 sec_otp_addr
+0x1850a sec_otp_ctrl
+0x1850c sec_otp_data
+)
+
+//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 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+0x4e G24_PAIR_CH
+)
+
+(
+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
+)
+
+/* 24g */
+(
+6 dlen_24g
+14 plen_24g
+90 blen_tx_24g
+106 blen_rx_24g
+42 blen_txack_24g
+58 blen_rxack_24g
+7 retry_24g
+0xaaf08e acc_24g
+0x15c4 crc_data_3byte
+0xbb81 crc_data_6byte
+0x4160 crc_ack
+41390 crc_ack_4byte
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+(
+249 LE_BASEBAND_MAX_BUFFER
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+(//Command
+0x15 HCI_CMD_SET_COD
+0x76 HCI_CMD_DELETE_CUSTOMIZE_SERVICE
+0x77 HCI_CMD_ADD_SERVICE_UUID
+0x78 HCI_CMD_ADD_CHARACTERISTIC_UUID
+
+0xb0 HCI_CMD_SEND_HID_DATA
+0xb1 HCI_CMD_CREAT_BT_RECONNECT
+0xb2 HCI_CMD_SEND_HID_CONTROL_DATA
+
+
+0xc0 HCI_CMD_START_24G
+0xC1 HCI_CMD_STOP_24G
+0xC2 HCI_CMD_PAIR_24G
+0xC3 HCI_CMD_DISCONNECTED_24G
+0xC4 HCI_CMD_SEND_24G_DATA
+
+
+0xa0 HCI_CMD_RESET_SDP_SERVICE
+0xa1 HCI_CMD_SET_FEATURE
+0xa2 HCI_CMD_SET_SNIFF
+
+0xfe HCI_CMD_ALL_ROUND
+)
+
+(//event
+0x29 HCI_EVENT_UUID_HANDLE
+
+0xb0 HCI_EVENT_BT_HID_CONNECT
+0xb1 HCI_EVENT_BT_RECONNECT_FAIL
+0xb2 HCI_EVENT_RECEIVE_BT_HID_DATA
+0xb3 HCI_EVENT_BLE_HID_CONNECT
+0xb4 HCI_EVENT_BLE_ENC_INFO
+0xb5 HCI_EVENT_BT_ENC_INFO
+0xb6 HCI_EVENT_BT_HID_DISCONNECT
+0xb7 HCI_EVENT_HID_INT_CONNECT
+0xb8 HCI_EVENT_HID_SNIFF_REPORT
+
+
+0xb9  HCI_EVNET_BB_CONN
+0xba HCI_EVNET_NS_WAKE_UP
+
+
+0xc0 HCI_EVENT_24G_PAIRING_COMPLETE
+0xC1 HCI_EVENT_24G_ATTEMPT_FAIL
+0xC2 HCI_EVENT_24G_ATTEMPT_SUCCESS
+0xC3 HCI_EVENT_24G_RECEIVE_LOCK
+0xC4 HCI_EVENT_24G_PC_SLEEP
+)
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(
+0x0007 HANDLE_UUID_CHRCTR_DEVICE_NAME
+0x000e HANDLE_UUID_CHRCTR_MANUFACTURER_NAME
+0x0010 HANDLE_UUID_PNP_ID
+0x0021 HANDLE_UUID_CHRCTR_REPORT_ID1_OUTPUT
+0x002d HANDLE_UUID_END
+)
+(
+	7 MODULE_READ_OTP_BIT
+)
+
Index: shoubing/format/le.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/le.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/le.format	(working copy)
@@ -0,0 +1,17 @@
+	/* LE control packet type */
+	(
+	0x14 LL_LENGTH_REQ
+	0x15 LL_LENGTH_RSP
+	)
+(
+0 BIT_CHARACTERISTIC_BROADCAST
+1 BIT_CHARACTERISTIC_READ
+2 BIT_CHARACTERISTIC_WRITE_WITHOUT_RESPONSE
+3 BIT_CHARACTERISTIC_WRITE
+4 BIT_CHARACTERISTIC_NOTIFY
+5 BIT_CHARACTERISTIC_INDICATE
+6 BIT_CHARACTERISTIC_SIGNED_WRITE
+7 BIT_CHARACTERISTIC_EXTENDED_PROPERTIES
+)
+
+
Index: shoubing/format/ui.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/ui.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/ui.format	(working copy)
@@ -0,0 +1,4 @@
+//mem_ui_state_map
+(
+12 UI_STATE_BT_HID_CONNECT
+)
Index: shoubing/format/utility.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/utility.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/format/utility.format	(working copy)
@@ -0,0 +1,29 @@
+bmemalloc(
+
+)
+(// mem_bb_flag
+0 OLD_PACKET				//0:new packet   1: old packet  
+1 USE_BB_BUFFER_NOW		//0:BB BUFFER1  1:BB BUFFER2
+)
+(
+0 CACHE_BUFFER_FLAG
+1 CACHE_BUFFER_LCH
+2 CACHE_BUFFER_LEN
+4 CACHE_BUFFER_DATA_PTR
+
+
+)
+(
+0x0b1b mem_bb_cache_bufptr
+0x0b1d mem_bb_flag
+
+0x0b20 mem_baseband_buffer1_flag
+0x0b21 mem_baseband_buffer1_lch
+0x0b22 mem_baseband_buffer1_len
+0x0b24 mem_baseband_buffer1
+
+0x0c20 mem_baseband_buffer2_flag
+0x0c21 mem_baseband_buffer2_lch
+0x0c22 mem_baseband_buffer2_len
+0x0c24 mem_baseband_buffer2 
+)
Index: shoubing/output/1
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/1	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/1	(working copy)
@@ -0,0 +1,22 @@
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\bt.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\app.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\app_module.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\hci_h4.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\hci_main.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\hid.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\l2cap.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\le.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\le_l2cap_att.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\le_l2cap_signalling.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\le_l2cap_smp.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\le_ll.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\lmp.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\peripherals.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\rfcomm.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\scheduler.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\sdp.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\security.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\simple_pairing.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\ui.prog
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\program\utility.prog
+已复制         1 个文件。
Index: shoubing/output/2
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/2	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/2	(working copy)
@@ -0,0 +1,24 @@
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\bt.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\app.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\app_module.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\hci.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\hid.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\l2cap.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\le.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\lmp.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\memblocks.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\patch.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\regs.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\rfcomm.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\sdp.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\security.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\simple_pairing.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\ui.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\utility.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\var.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\format\app_module.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\format\ui.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\format\le.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\format\utility.format
+C:\Users\asus\Desktop\keyboard_huibian\3121_demo_svn\ModuleDemo\BlueTooth\keyboard\branches\test\haiqi\\bt_rom\format\command.format
+已复制         1 个文件。
Index: shoubing/output/bt_code.c
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_code.c	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_code.c	(working copy)
@@ -0,0 +1,558 @@
+const unsigned char bt_code[] = {
+0x00,0x02,0xaa,0x55,0xa6,0x1a,0xc2,0x84,0x00,0x1a,0xc0,0x00,0x83,0xb5,0xc0,0x01,
+0x83,0xbb,0xc0,0x02,0x80,0x36,0xc0,0x17,0x00,0x33,0xc0,0x2f,0x80,0x7b,0xc0,0x30,
+0x00,0x80,0xc0,0x2e,0x80,0x61,0xc0,0x2f,0x00,0x70,0xc0,0x38,0x00,0x50,0xc0,0x3c,
+0x80,0x9f,0xc0,0x1e,0x83,0x8c,0xc0,0x42,0x83,0xbd,0xc0,0x44,0x83,0xe3,0xc0,0x4a,
+0x03,0x9b,0xc0,0x51,0x03,0xec,0xc0,0x51,0x83,0xa6,0xc0,0x54,0x83,0xa9,0xc0,0x56,
+0x03,0xf3,0xc0,0x5c,0x00,0xca,0xc0,0x5d,0x81,0x48,0xc0,0x5e,0x01,0xf7,0xc0,0x5f,
+0x06,0x80,0xc0,0x64,0x00,0xa8,0xc0,0x6d,0x80,0x98,0x20,0x20,0x4a,0x8b,0xc0,0x01,
+0x85,0xcb,0xc0,0x02,0x85,0xc2,0xc0,0x03,0x03,0xde,0xc0,0x09,0x85,0xee,0xc0,0x0f,
+0x85,0xd7,0xc0,0x10,0x85,0xe9,0xc0,0x18,0x00,0xa2,0xc0,0x1e,0x02,0x0f,0xc0,0x1d,
+0x02,0x1d,0xc0,0x1e,0x82,0x2d,0xc0,0x1f,0x82,0x3a,0xc0,0x1f,0x02,0x40,0xc0,0x20,
+0x82,0x68,0xc0,0x4c,0x82,0x6e,0xc0,0x51,0x80,0x2a,0x20,0x20,0x4a,0x8b,0x20,0x40,
+0x66,0x9e,0x24,0x3a,0x7b,0xfd,0x6f,0xe2,0x0a,0x95,0xc5,0x84,0xfb,0xf8,0xc0,0x02,
+0x00,0x30,0x20,0x20,0x7b,0xed,0x70,0x00,0x7c,0x07,0x70,0x04,0xc6,0x13,0x20,0x60,
+0x00,0x00,0xda,0x20,0x4b,0xdd,0xdf,0x20,0x00,0x02,0x20,0x20,0x42,0x60,0x20,0x40,
+0x42,0x5a,0x24,0x22,0x80,0x3e,0x20,0x40,0x42,0x06,0x1a,0x20,0x8c,0x01,0xef,0xe2,
+0x00,0x06,0xc2,0x80,0x57,0x3a,0xc2,0x80,0xc1,0x62,0x20,0x20,0x43,0xcb,0x20,0x40,
+0x00,0x40,0x20,0x20,0x40,0x2c,0xdf,0x20,0x00,0x02,0x68,0x42,0x00,0x15,0x18,0x40,
+0x84,0x01,0x28,0x41,0xfe,0x02,0x24,0x20,0x80,0x46,0xd8,0x40,0x00,0x00,0x60,0x42,
+0x00,0x15,0x18,0x4f,0xfe,0x50,0xda,0x20,0x4b,0xdd,0x9a,0x20,0xa2,0x00,0xef,0xe2,
+0x00,0x11,0xc2,0x80,0x80,0x4e,0xc3,0x80,0x00,0x00,0xc3,0x81,0x80,0x00,0xc2,0x00,
+0x00,0x42,0x20,0x60,0x00,0x00,0x79,0x3f,0x80,0x01,0x70,0x02,0x66,0x00,0x6f,0xe2,
+0x02,0x5f,0x20,0x7a,0x00,0x00,0x2f,0xef,0xfe,0x00,0xd8,0xc0,0x10,0x00,0x20,0x40,
+0xd1,0x53,0x6f,0xe2,0x02,0x66,0xc0,0x00,0xc7,0x37,0x70,0x02,0x66,0x00,0x6f,0xe2,
+0x02,0x5f,0xc4,0x00,0x80,0x00,0xd8,0xc0,0x12,0x00,0x20,0x40,0x51,0x53,0x6f,0xe2,
+0x02,0x66,0xc0,0x00,0xc7,0x3d,0x20,0x60,0x00,0x00,0xc5,0x07,0xc6,0x1c,0x6f,0xe4,
+0x01,0x5d,0xd8,0x40,0x01,0xe0,0x98,0x46,0x7c,0x00,0x20,0x21,0x46,0x39,0x6f,0xe2,
+0x02,0x5f,0xc2,0x80,0xc6,0x49,0xc3,0x00,0x45,0xc5,0xc3,0x00,0x80,0x6b,0x20,0x20,
+0x46,0x49,0x70,0x02,0x5d,0x02,0x6f,0xe4,0x02,0x5b,0xc0,0x80,0x46,0x49,0xd8,0xa0,
+0x12,0x00,0x20,0x20,0x45,0xe0,0xc5,0x07,0xc6,0x1c,0x6f,0xe4,0x01,0x5d,0xd8,0x40,
+0x01,0xe0,0x98,0x46,0x7c,0x00,0x20,0x21,0x46,0x39,0x6f,0xe2,0x02,0x5d,0xc0,0x00,
+0xc5,0xd9,0xc0,0x01,0x00,0x79,0x20,0x20,0x46,0x49,0xd8,0xa0,0x12,0x00,0x20,0x20,
+0x45,0xde,0x09,0x80,0x00,0x10,0x20,0x23,0x46,0x33,0x6f,0xe2,0x43,0x35,0xc0,0x00,
+0xc6,0x33,0x20,0x20,0x45,0xe9,0x6f,0xe2,0x02,0x5d,0xc0,0x00,0x80,0x84,0xc0,0x01,
+0x00,0x8e,0x20,0x20,0x4a,0x8b,0x6f,0xe4,0x02,0x59,0x68,0x44,0x01,0x5d,0x98,0x40,
+0xfe,0x00,0x67,0xe4,0x02,0x59,0xc0,0x00,0x4a,0x8b,0x68,0x44,0x10,0x00,0x18,0x40,
+0x84,0x04,0x98,0x46,0x7c,0x00,0x20,0x42,0xc7,0x43,0x20,0x20,0x46,0x09,0x6f,0xe4,
+0x02,0x5b,0x68,0x44,0x01,0x5d,0x98,0x40,0xfe,0x00,0x67,0xe4,0x02,0x5b,0xc0,0x00,
+0x4a,0x8b,0x68,0x44,0x12,0x00,0x18,0x40,0x84,0x04,0x98,0x46,0x7c,0x00,0x20,0x42,
+0xc7,0x47,0x20,0x20,0x46,0x09,0xda,0x40,0x00,0x00,0x20,0x40,0x56,0x49,0x24,0x3a,
+0x4a,0x8b,0x20,0x40,0x56,0x58,0xda,0x40,0x14,0x00,0xd8,0xe0,0x00,0x00,0x20,0x20,
+0x56,0x21,0x6f,0xe4,0x01,0x6d,0xc0,0x46,0x47,0xe2,0x20,0x20,0x47,0xcd,0x20,0x40,
+0x5b,0x86,0x20,0x20,0x00,0xa4,0xda,0x60,0x43,0x81,0xda,0x20,0x43,0x62,0x20,0x40,
+0x5b,0xa5,0x20,0x60,0x00,0x00,0x18,0x42,0x7e,0x00,0xc0,0x00,0xd2,0x3e,0xc0,0x01,
+0xd2,0x60,0xc0,0x08,0x80,0xaf,0xc0,0x09,0x80,0xbc,0x20,0x40,0x54,0x3c,0x20,0x20,
+0x52,0xae,0x20,0x40,0x7c,0x83,0xd8,0x40,0x00,0x52,0x6f,0xe4,0x42,0x1e,0x24,0x3a,
+0x52,0xa8,0x19,0x62,0x7e,0x00,0x67,0xe4,0x42,0x1e,0x6f,0xe2,0x42,0x24,0x79,0x20,
+0x7e,0x00,0x79,0x20,0x7e,0x01,0x67,0xe2,0x42,0x24,0x20,0x40,0x52,0x8b,0x70,0x0a,
+0x95,0x42,0x20,0x20,0x7b,0xab,0x20,0x40,0x7c,0x83,0x1b,0x42,0x7e,0x00,0xd8,0x40,
+0x00,0x53,0x6f,0xe4,0x42,0x20,0x24,0x3a,0x52,0xa8,0x19,0x62,0x7e,0x00,0x67,0xe4,
+0x42,0x20,0x6f,0xe2,0x42,0x25,0x79,0x20,0x7e,0x00,0x79,0x20,0x7e,0x01,0x67,0xe2,
+0x42,0x25,0x20,0x40,0x52,0x8b,0x70,0x0a,0x95,0x42,0x20,0x20,0x7b,0xab,0x58,0x00,
+0x01,0x00,0x67,0xe4,0x41,0xf6,0x58,0x00,0x01,0x36,0x67,0xe4,0x41,0xfe,0x58,0x00,
+0x00,0xdb,0x67,0xe4,0x41,0xf4,0x58,0x00,0x01,0x3a,0x67,0xe4,0x41,0xfa,0x58,0x00,
+0x01,0x43,0x67,0xe4,0x41,0xea,0x58,0x00,0x01,0x44,0x67,0xe4,0x41,0xf2,0x20,0x40,
+0x05,0xbc,0x20,0x40,0x4d,0xaf,0x20,0x40,0x4d,0xbc,0x20,0x40,0x4c,0x2a,0x20,0x20,
+0x50,0x4d,0x20,0x40,0x02,0xd2,0x20,0x40,0x50,0xd3,0x20,0x40,0x56,0x48,0x24,0x7a,
+0x00,0x00,0x20,0x20,0x00,0xe0,0x6f,0xe4,0x4f,0xfc,0x68,0x44,0x4f,0xfe,0x98,0x46,
+0x7c,0x00,0x20,0x22,0xce,0x3a,0x20,0x40,0x67,0xf7,0xef,0xe2,0x00,0x03,0xc0,0x80,
+0xce,0x4e,0xef,0xe2,0x00,0x03,0xc0,0x50,0x00,0xf2,0x67,0xe2,0x0a,0xff,0xe8,0x42,
+0x00,0x03,0x18,0x62,0x22,0x00,0x60,0x42,0x0b,0x00,0x70,0x0b,0x01,0x01,0x20,0x40,
+0x4e,0x5a,0x6f,0xe2,0x0b,0x01,0xc1,0x00,0x00,0x00,0x20,0x20,0x4e,0x55,0x67,0xe2,
+0x0a,0xff,0xe8,0x44,0x00,0x03,0x18,0x62,0x22,0x00,0x60,0x44,0x4b,0xb4,0x70,0x0b,
+0x01,0x01,0x20,0x40,0x4e,0x5a,0x6f,0xe2,0x0b,0x01,0xc1,0x00,0x00,0x00,0x20,0x20,
+0x00,0xfb,0x20,0x40,0x67,0xf7,0x18,0x60,0x86,0x02,0xef,0xe4,0x00,0x03,0x98,0x60,
+0x86,0x00,0x20,0x20,0x4e,0x59,0x1a,0x62,0x7e,0x00,0xc0,0x00,0x86,0x0e,0xc0,0x01,
+0x06,0x17,0xc0,0x02,0x06,0x26,0xc0,0x02,0x86,0x2e,0xc0,0x03,0x06,0x2f,0xc0,0x03,
+0x86,0x32,0xc0,0x09,0x06,0x3b,0xc0,0x09,0x86,0x45,0xc0,0x13,0x86,0x46,0xc0,0x17,
+0x06,0x49,0xc0,0x0c,0x06,0x4b,0xc0,0x19,0x06,0x01,0xc0,0x14,0x86,0x03,0xc0,0x1c,
+0x84,0x07,0xc0,0x1d,0x04,0x0d,0xc0,0x1e,0x04,0x0f,0xc0,0x05,0x81,0x26,0xc0,0x11,
+0x01,0x16,0xc0,0x21,0x81,0x16,0xc0,0x21,0x01,0x1d,0x20,0x20,0x4d,0xdf,0x58,0x00,
+0x00,0x02,0x70,0x0a,0xff,0xb8,0x20,0x40,0x50,0xa5,0x6f,0xe4,0x00,0x32,0x1f,0xe3,
+0x7e,0x00,0xe7,0xe4,0x00,0x0a,0x20,0x20,0x67,0xb9,0x6f,0xe4,0x46,0x52,0x79,0x20,
+0x7e,0x02,0x67,0xe4,0x46,0x52,0x58,0x00,0x00,0x02,0x70,0x0a,0xff,0xb7,0x20,0x40,
+0x50,0xa5,0x68,0x44,0x42,0x20,0xe0,0x44,0x00,0x0a,0x20,0x20,0x67,0xb9,0x20,0x40,
+0x4d,0xd7,0x6f,0xe4,0x40,0x42,0x1f,0xe3,0x7e,0x00,0x68,0x44,0x41,0xe4,0x98,0x46,
+0x7c,0x00,0x20,0x20,0x4d,0x91,0x6f,0xe2,0x46,0x79,0xc3,0x82,0x80,0x00,0x6f,0xe4,
+0x4f,0xfc,0x68,0x44,0x4f,0xfe,0x98,0x46,0x7c,0x00,0x24,0x42,0xd0,0xda,0x20,0x20,
+0x4d,0x87,0x20,0x60,0x00,0x00,0x20,0x40,0x4d,0x6b,0x20,0x20,0x4d,0x73,0x20,0x40,
+0x06,0x57,0x20,0x40,0x06,0x5f,0x20,0x40,0x06,0x62,0x20,0x60,0x00,0x00,0x68,0x44,
+0x04,0x74,0x18,0x46,0x7c,0x21,0x20,0x22,0x81,0x3e,0x20,0x60,0x00,0x00,0xe8,0x42,
+0x00,0x11,0x58,0x00,0x00,0x01,0x67,0xe2,0x0a,0x96,0xe0,0x42,0x00,0x05,0x20,0x20,
+0x06,0x9a,0x20,0x20,0x4d,0xbd,0x20,0x20,0x01,0x45,0x6f,0xe2,0x4b,0xd8,0x20,0x7a,
+0x00,0x00,0x20,0x20,0x4d,0xc8,0x6f,0xe2,0x0a,0xff,0xc0,0x08,0x81,0xc3,0xc0,0x0a,
+0x81,0xcb,0xc0,0x13,0x81,0xd9,0xc0,0x06,0x01,0xd0,0xc0,0x58,0x01,0xdb,0xc0,0x59,
+0x01,0xe9,0xc0,0x50,0x81,0x63,0xc0,0x51,0x01,0x5d,0xc0,0x58,0x86,0x75,0xc0,0x60,
+0x03,0xf4,0xc0,0x60,0x83,0xf9,0xc0,0x61,0x03,0xfd,0xc0,0x61,0x83,0xff,0xc0,0x62,
+0x04,0x02,0xc0,0x50,0x01,0xbe,0xc0,0x3b,0x01,0x79,0xc0,0x3b,0x81,0x7f,0xc0,0x3c,
+0x01,0x84,0xc0,0x38,0x01,0x66,0x20,0x20,0x4e,0x5c,0xef,0xe2,0x00,0x03,0x67,0xe2,
+0x4b,0xd8,0x20,0x3a,0x50,0x1f,0xef,0xe4,0x00,0x03,0x67,0xe4,0x41,0xe4,0x20,0x20,
+0x50,0x1f,0xef,0xf0,0x00,0x03,0x67,0xf0,0x40,0x98,0x20,0x20,0x50,0x1f,0xef,0xe4,
+0x00,0x03,0xef,0xec,0x00,0x03,0x67,0xec,0x41,0xd1,0xef,0xe8,0x00,0x03,0x67,0xe8,
+0x4b,0xca,0xe8,0x48,0x00,0x03,0x5f,0xff,0xff,0xff,0x98,0x42,0xfe,0x00,0x67,0xe8,
+0x4b,0xc1,0xef,0xe8,0x00,0x03,0x67,0xe8,0x4b,0xc5,0xd8,0xa0,0x41,0xbf,0xdf,0x20,
+0x00,0x10,0x20,0x40,0x67,0xed,0x70,0x4b,0xb6,0x01,0x58,0x00,0x00,0x3c,0x67,0xe4,
+0x4b,0xb7,0x20,0x40,0x02,0xd8,0x20,0x20,0x50,0x1f,0xd8,0x40,0x00,0x0c,0x20,0x40,
+0x5b,0x4d,0x18,0xc0,0x8b,0xfe,0x58,0x00,0x00,0x00,0xe7,0xe4,0x00,0x05,0x20,0x20,
+0x50,0x1f,0x20,0x40,0x01,0x88,0x20,0x40,0x01,0xa5,0x58,0x00,0x00,0x00,0xe7,0xe4,
+0x00,0x05,0x20,0x20,0x01,0xb7,0xef,0xe2,0x00,0x03,0x20,0x40,0x01,0x8c,0x20,0x40,
+0x01,0x93,0x20,0x20,0x01,0xb7,0x20,0x40,0x01,0xa9,0x58,0x28,0x00,0x02,0xe7,0xe6,
+0x00,0x05,0x20,0x60,0x00,0x00,0x67,0xe2,0x0a,0x96,0x20,0x40,0x01,0xa9,0x59,0x28,
+0x03,0x02,0xe7,0xe8,0x00,0x05,0x6f,0xe2,0x0a,0x96,0xe7,0xe6,0x00,0x05,0x20,0x60,
+0x00,0x00,0x20,0x40,0x01,0xa9,0x20,0x40,0x01,0xa5,0x20,0x40,0x01,0xa5,0x58,0x00,
+0x00,0x00,0xe7,0xe4,0x00,0x05,0x18,0x40,0x85,0xff,0x20,0x40,0x5b,0x4d,0x18,0xc0,
+0x8c,0x04,0xef,0xe2,0x00,0x06,0xc2,0x82,0x01,0xa0,0xc2,0x82,0x81,0xa0,0x18,0x40,
+0x84,0x01,0x20,0x60,0x00,0x00,0x20,0x40,0x01,0xa9,0x5a,0x29,0x02,0x02,0xe7,0xf0,
+0x00,0x05,0x18,0x40,0x85,0xff,0x20,0x60,0x00,0x00,0xef,0xe2,0x00,0x03,0x1f,0xe2,
+0x72,0x00,0xe7,0xe2,0x00,0x05,0x20,0x20,0x67,0xed,0x20,0x40,0x01,0xac,0xe0,0x44,
+0x00,0x05,0x20,0x60,0x00,0x00,0x6f,0xe4,0x44,0x8e,0x98,0x00,0x0c,0x00,0xef,0xe4,
+0x00,0x06,0x20,0x7a,0x00,0x00,0x1f,0xe0,0x84,0x01,0xef,0xe2,0x00,0x06,0x98,0xc0,
+0x8c,0x00,0xef,0xe2,0x00,0x06,0x98,0xc0,0x8c,0x00,0x18,0xc2,0x0a,0x00,0x20,0x20,
+0x01,0xae,0x60,0x44,0x0a,0x9e,0x70,0x0a,0xff,0x29,0x58,0x00,0x00,0x02,0x20,0x40,
+0x50,0xa5,0x68,0x44,0x0a,0x9e,0xe0,0x44,0x00,0x0a,0x20,0x20,0x67,0xb9,0x6f,0xe4,
+0x4b,0xb4,0x1f,0xe2,0x72,0x00,0xd8,0xa0,0x46,0x83,0x20,0x40,0x67,0xed,0x20,0x20,
+0x50,0x1f,0x6f,0xe4,0x46,0x52,0xc3,0x00,0x50,0x1c,0x20,0x40,0x50,0x1f,0x20,0x40,
+0x4d,0x64,0x6f,0xe4,0x46,0x52,0xc4,0x01,0x00,0x00,0x70,0x0a,0xff,0xb6,0x20,0x20,
+0x50,0x4e,0x6f,0xe2,0x0b,0x00,0xc0,0x81,0xd0,0x1f,0xef,0xe6,0x00,0x03,0x67,0xe6,
+0x40,0xaa,0x20,0x20,0x50,0x1f,0x1a,0x22,0x06,0x00,0xef,0xe2,0x00,0x03,0xc0,0x00,
+0x4f,0x1c,0xc0,0x00,0xcf,0x1f,0xc0,0x01,0x4f,0x25,0xc0,0x01,0x81,0xd7,0x20,0x20,
+0x50,0x1c,0x58,0x00,0x00,0x01,0x20,0x20,0x4f,0x20,0x20,0x40,0x50,0x1f,0x20,0x20,
+0x4d,0x85,0x6f,0xe4,0x46,0x52,0xc2,0x81,0x01,0xde,0x20,0x20,0x50,0x1c,0x20,0x40,
+0x56,0x4b,0x24,0x7a,0x00,0x00,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,0x22,0x00,0x20,0x40,
+0x51,0x3d,0x6f,0xe4,0x42,0x20,0xe7,0xe4,0x00,0x05,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,
+0x72,0x00,0x20,0x40,0x67,0xed,0x20,0x20,0x50,0x1f,0x6f,0xe4,0x46,0x52,0xc2,0x81,
+0x01,0xec,0x20,0x20,0x50,0x1c,0x20,0x40,0x56,0x4b,0x24,0x7a,0x00,0x00,0x6f,0xe2,
+0x0b,0x00,0x1f,0xe2,0x22,0x00,0x20,0x40,0x51,0x3d,0x6f,0xe4,0x42,0x1e,0xe7,0xe4,
+0x00,0x05,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,0x72,0x00,0x20,0x40,0x67,0xed,0x20,0x20,
+0x50,0x1f,0x18,0x40,0xff,0xfd,0xd8,0x40,0x00,0xc8,0x20,0x40,0x7d,0xb5,0x68,0x42,
+0x46,0x7a,0x20,0x40,0x7d,0xb5,0x1f,0xe2,0x22,0x00,0x18,0x42,0x7e,0x00,0x9a,0x26,
+0x7e,0x00,0x67,0xe2,0x46,0x7a,0x68,0x44,0x46,0x7b,0x18,0x40,0x85,0xff,0x20,0x40,
+0x5b,0x4d,0x20,0x3a,0x02,0x0b,0xe8,0x48,0x00,0x06,0x59,0x28,0x03,0x02,0x98,0x46,
+0x7c,0x00,0x24,0x22,0x82,0x0b,0xef,0xe2,0x00,0x06,0xc2,0x82,0x4f,0x01,0x20,0x20,
+0x02,0x0b,0x70,0x46,0x7a,0x00,0x70,0x0b,0x01,0x01,0x20,0x40,0x50,0xe0,0x20,0x20,
+0x50,0x1c,0x6f,0xe2,0x05,0x4e,0x67,0xe2,0x04,0xc5,0xc0,0x19,0x82,0x13,0x20,0x20,
+0x61,0x94,0x6f,0xe2,0x04,0xcd,0x79,0x20,0x7e,0x00,0x67,0xe2,0x04,0xcd,0x70,0x0a,
+0x95,0x01,0x20,0x40,0x7b,0xab,0x70,0x01,0x6b,0x03,0x70,0x00,0x55,0x06,0x70,0x41,
+0xbe,0x01,0x70,0x46,0x51,0x01,0x20,0x60,0x00,0x00,0x6f,0xe2,0x00,0x7d,0xc0,0x08,
+0x02,0x24,0xc0,0x0b,0x82,0x2a,0x20,0x20,0x60,0xfe,0x70,0x00,0x7d,0x2a,0x70,0x00,
+0x7c,0x03,0x20,0x60,0x00,0x00,0x68,0x42,0x05,0x4e,0x18,0x46,0x7c,0x06,0x20,0x21,
+0x02,0x28,0x20,0x20,0x62,0x06,0x70,0x00,0x7e,0x24,0x20,0x20,0x61,0x34,0x6f,0xe4,
+0x05,0x53,0x20,0x3a,0x62,0xd2,0x20,0x20,0x62,0xbc,0x6f,0xe2,0x05,0x4e,0x67,0xe2,
+0x04,0xc5,0xc0,0x05,0x82,0x31,0x20,0x20,0x61,0xa6,0x20,0x40,0x61,0xdf,0x6f,0xe2,
+0x00,0x55,0xc1,0x8c,0x80,0x00,0x70,0x0a,0xff,0xb1,0x58,0x00,0x00,0x01,0x20,0x40,
+0x50,0xa5,0x58,0x00,0x00,0x01,0xe7,0xe2,0x00,0x0a,0x20,0x20,0x67,0xb9,0x6f,0xe2,
+0x00,0x49,0xc0,0x0b,0x82,0x3d,0x20,0x20,0x64,0x33,0x70,0x0a,0x95,0x43,0x20,0x40,
+0x7b,0xab,0x20,0x20,0x46,0xc2,0x78,0x54,0x7c,0x00,0x20,0x40,0x66,0xa3,0x6f,0xe2,
+0x00,0x48,0x20,0x7a,0x00,0x00,0x68,0x44,0x4b,0xd9,0xe7,0xe2,0x00,0x02,0x18,0x40,
+0x84,0x01,0x60,0x44,0x4b,0xd9,0xc2,0x83,0x82,0x5c,0xc0,0x0b,0x82,0x57,0xc0,0x21,
+0x03,0x7a,0xc0,0x03,0x82,0x4d,0x20,0x20,0x63,0xf2,0x18,0x00,0x7e,0x02,0x20,0x40,
+0x66,0x7a,0x6f,0xe2,0x04,0xc6,0xe7,0xe2,0x00,0x05,0x20,0x40,0x66,0x94,0x6f,0xe2,
+0x00,0x4b,0x79,0x20,0x7e,0x03,0x67,0xe2,0x00,0x4b,0x70,0x00,0x72,0x32,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x4b,0xd8,0x20,0x3a,0x02,0x5a,0x20,0x20,0x65,0x86,0x70,0x00,
+0x48,0x00,0x20,0x60,0x00,0x00,0xc0,0x42,0x02,0x5f,0xc0,0x41,0x82,0x62,0x20,0x20,
+0x64,0x21,0x20,0x40,0x02,0x65,0x6f,0xe2,0x00,0x48,0x20,0x20,0x64,0x7b,0x20,0x40,
+0x02,0x65,0x6f,0xe2,0x00,0x48,0x20,0x20,0x64,0xef,0x6f,0xe2,0x46,0x2c,0x20,0x3a,
+0x65,0x0d,0x20,0x20,0x65,0x06,0x6f,0xe2,0x40,0x9e,0x79,0x3f,0xfe,0x03,0x67,0xe2,
+0x40,0x9e,0x58,0x00,0x00,0x01,0x67,0xe4,0x04,0xca,0x20,0x60,0x00,0x00,0x6f,0xe2,
+0x44,0x90,0x20,0x3a,0x5e,0xd0,0x20,0x40,0x74,0x38,0x20,0x20,0x79,0x32,0x6f,0xe2,
+0x46,0x6c,0x79,0x20,0x7e,0x07,0x67,0xe2,0x46,0x6c,0xda,0xc0,0x00,0x00,0xd8,0xc0,
+0x89,0x73,0xef,0xe2,0x00,0x06,0x79,0x20,0x7e,0x06,0xd8,0xa0,0x89,0x73,0xe7,0xe2,
+0x00,0x05,0xda,0xc0,0x00,0x0f,0xdf,0x20,0x00,0x06,0xda,0x40,0x00,0x02,0xda,0x20,
+0x4b,0x97,0x20,0x40,0x02,0x94,0xdf,0x20,0x00,0x14,0xda,0x40,0x01,0x2c,0xda,0x20,
+0x4b,0x9d,0x20,0x40,0x02,0x94,0xdf,0x20,0x00,0x02,0xda,0x40,0x1f,0xfe,0xda,0x20,
+0x4b,0xb1,0x20,0x40,0x02,0x94,0x20,0x40,0x02,0xb0,0xda,0xc0,0x00,0x00,0xd8,0xc0,
+0x89,0x73,0xef,0xe2,0x00,0x06,0x79,0x3f,0xfe,0x06,0xd8,0xa0,0x89,0x73,0xe7,0xe2,
+0x00,0x05,0xda,0xc0,0x00,0x00,0x6f,0xe2,0x46,0x6c,0x79,0x3f,0xfe,0x07,0x67,0xe2,
+0x46,0x6c,0x20,0x60,0x00,0x00,0x1a,0x49,0xa4,0x00,0x20,0x40,0x02,0x9e,0x20,0x40,
+0x02,0xab,0x20,0x40,0x02,0xad,0x6f,0xe3,0x85,0x0c,0xe7,0xe2,0x00,0x11,0x1a,0x40,
+0xa4,0x08,0x1a,0x20,0xa2,0x01,0xc2,0x00,0x02,0x97,0x20,0x60,0x00,0x00,0x58,0x00,
+0x02,0x0c,0x20,0x40,0x02,0xa6,0x58,0x00,0x02,0x08,0x20,0x40,0x02,0xa6,0x58,0x00,
+0x02,0x00,0x20,0x40,0x02,0xa6,0x58,0x00,0x02,0x08,0x20,0x20,0x02,0xa6,0xd8,0xa1,
+0x85,0x0a,0xe7,0xe2,0x00,0x05,0x1f,0xec,0xfe,0x00,0xe7,0xe2,0x00,0x05,0x20,0x60,
+0x00,0x00,0x58,0x00,0x02,0x88,0x20,0x20,0x02,0xa6,0x1a,0x42,0x7e,0x00,0xd8,0xa1,
+0x85,0x08,0x20,0x20,0x02,0xa7,0x58,0x00,0x02,0x0c,0x20,0x20,0x02,0xa6,0xdf,0x20,
+0x00,0x0d,0xd8,0x40,0x55,0xaa,0xd8,0xc0,0x4b,0x97,0xef,0xe4,0x00,0x06,0x98,0x40,
+0xfe,0x00,0x1f,0xe2,0x04,0x00,0xc2,0x00,0x02,0xb5,0x20,0x60,0x00,0x00,0xdf,0x20,
+0x00,0x0d,0xd8,0xc0,0x4b,0x97,0xef,0xe4,0x00,0x06,0x98,0x42,0xfe,0x00,0x1f,0xe2,
+0x04,0x00,0xc2,0x00,0x02,0xbc,0x20,0x60,0x00,0x00,0x70,0x4b,0xb3,0x00,0xd8,0x40,
+0xff,0xff,0x98,0x41,0x7e,0x00,0xd8,0xc0,0x4b,0xb1,0xe8,0x44,0x00,0x06,0x98,0x46,
+0x7c,0x00,0x24,0x62,0x80,0x00,0x70,0x4b,0xb3,0x01,0x20,0x60,0x00,0x00,0x20,0x40,
+0x02,0x72,0x20,0x40,0x02,0xb2,0x20,0x40,0x02,0xba,0x20,0x40,0x02,0xc1,0x6f,0xe2,
+0x4b,0xb3,0x2f,0xe1,0xfe,0x01,0x20,0x60,0x80,0x00,0x20,0x20,0x4a,0x8b,0x6f,0xe2,
+0x4b,0xb6,0x20,0x7a,0x00,0x00,0x20,0x20,0x02,0xdb,0x70,0x4b,0xb6,0x01,0x58,0x00,
+0x00,0x3c,0x67,0xe4,0x4b,0xb7,0x58,0x00,0x00,0xa0,0x18,0x00,0x0e,0x0e,0x20,0x20,
+0x7c,0xe3,0x18,0x00,0x0e,0x0e,0x20,0x40,0x7c,0xf1,0x24,0x7a,0x00,0x00,0x20,0x40,
+0x48,0xd8,0x20,0x40,0x02,0xf4,0x20,0x40,0x02,0xd8,0x68,0x44,0x4b,0xb7,0x78,0x48,
+0x7c,0x00,0x18,0x42,0x36,0x00,0x20,0x21,0x83,0x1f,0x20,0x40,0x49,0x15,0xd8,0x40,
+0x00,0x00,0x20,0x40,0x49,0x30,0x20,0x40,0x4a,0x50,0x20,0x40,0x03,0x0b,0x20,0x40,
+0x46,0x49,0x20,0x00,0x13,0x88,0x20,0x20,0x02,0xe4,0x20,0x60,0x00,0x00,0x6f,0xf2,
+0x4b,0xc1,0x1f,0xef,0x7e,0x00,0x1f,0xeb,0x7e,0x00,0x67,0xe6,0x07,0x42,0x6d,0x86,
+0x07,0x42,0x20,0x60,0x00,0x00,0x20,0x40,0x02,0xee,0x6f,0xf2,0x4b,0xc1,0x68,0x50,
+0x4b,0xb9,0x98,0x42,0xfe,0x00,0x67,0xf0,0x07,0x42,0x6f,0xea,0x07,0x42,0x78,0x3b,
+0x7c,0x00,0x98,0x00,0x12,0x00,0x78,0x5b,0x7c,0x00,0x20,0x60,0x00,0x00,0x20,0x40,
+0x4a,0x63,0x78,0x43,0xfc,0x00,0x78,0x25,0x7c,0x00,0x78,0x2d,0xfc,0x00,0x6f,0xe4,
+0x0f,0x37,0x08,0x00,0x86,0x0a,0x78,0x24,0x7c,0x00,0x08,0x00,0x86,0x08,0x78,0x4d,
+0xfc,0x00,0x78,0x44,0x7c,0x00,0x78,0x45,0x7c,0x00,0x79,0x3f,0xaa,0x02,0x20,0x60,
+0x00,0x00,0x58,0x00,0x00,0x78,0x67,0xe4,0x0f,0x37,0x20,0x40,0x02,0xfe,0x78,0x2e,
+0xfc,0x00,0x78,0x47,0x7c,0x00,0x78,0x24,0xfc,0x00,0x58,0x00,0x0a,0x98,0x08,0x00,
+0x86,0x10,0xdf,0x20,0x00,0x50,0x6f,0xe8,0x4b,0xca,0x08,0x00,0x86,0x20,0xc2,0x00,
+0x03,0x14,0xdf,0x20,0x00,0x13,0x58,0x00,0x00,0x00,0x08,0x00,0x86,0x08,0xc2,0x00,
+0x03,0x18,0x78,0x24,0x7c,0x00,0x08,0x00,0x86,0x10,0x78,0x44,0x7c,0x00,0x20,0x60,
+0x00,0x00,0x68,0x44,0x4b,0xb7,0x78,0x48,0x7c,0x00,0x18,0x42,0x36,0x00,0x78,0x58,
+0x7c,0x00,0x78,0x57,0x7c,0x00,0xd8,0x40,0x00,0x00,0x20,0x40,0x49,0x1c,0x20,0x40,
+0x49,0xea,0x20,0x40,0x4a,0x13,0x24,0x2c,0x46,0x49,0x78,0x43,0xfc,0x00,0x78,0x25,
+0x7c,0x00,0x78,0x25,0xfc,0x00,0x09,0x80,0x00,0x0a,0x19,0x83,0x7e,0x00,0x67,0xe4,
+0x0f,0x39,0x09,0x80,0x00,0x08,0x78,0x45,0xfc,0x00,0x78,0x45,0x7c,0x00,0x20,0x23,
+0x46,0x49,0xdf,0x20,0x00,0x12,0xd8,0xa0,0x0f,0x1e,0x78,0x26,0x7c,0x00,0x78,0x24,
+0xfc,0x00,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0xe7,0xe2,0x00,0x05,0xc2,0x00,
+0x03,0x37,0x09,0x80,0x00,0x10,0x20,0x40,0x46,0x49,0x20,0x63,0x00,0x00,0x6f,0xec,
+0x0f,0x20,0x68,0x4c,0x41,0xd1,0x98,0x46,0x7c,0x00,0x24,0x62,0x80,0x00,0x6f,0xe8,
+0x0f,0x2c,0x1f,0xe3,0x7e,0x00,0x67,0xe8,0x01,0x63,0x6f,0xe2,0x0f,0x1f,0x67,0xe2,
+0x01,0x72,0x58,0x00,0x00,0x67,0x67,0xe2,0x0f,0x1e,0x6f,0xec,0x40,0xa0,0x67,0xec,
+0x0f,0x1f,0x58,0x00,0x00,0x00,0x67,0xf2,0x0f,0x25,0x20,0x40,0x4a,0x4c,0x20,0x40,
+0x49,0x15,0xd8,0x40,0x00,0x00,0x20,0x40,0x49,0x30,0x20,0x40,0x4a,0x50,0x20,0x40,
+0x4a,0x5e,0x6f,0xe4,0x0f,0x39,0x67,0xe4,0x0f,0x37,0x20,0x40,0x02,0xfe,0x78,0x2e,
+0x7c,0x00,0x78,0x47,0x7c,0x00,0x78,0x24,0xfc,0x00,0xdf,0x20,0x00,0x0d,0xd8,0xc0,
+0x0f,0x1e,0xef,0xe2,0x00,0x06,0x08,0x00,0x86,0x08,0xc2,0x00,0x03,0x5b,0x78,0x24,
+0x7c,0x00,0x08,0x00,0x86,0x10,0x78,0x44,0x7c,0x00,0x20,0x40,0x46,0x49,0x70,0x4b,
+0xb6,0x00,0x2d,0x00,0x06,0x03,0x20,0x20,0x83,0x67,0x37,0xcb,0x82,0x00,0x20,0x20,
+0x03,0x63,0x6f,0xe8,0x01,0x63,0x1f,0xe1,0xfe,0x03,0x1f,0xe2,0x50,0x00,0x6f,0xec,
+0x41,0xd1,0x67,0xec,0x00,0x40,0x20,0x40,0x44,0x31,0x20,0x40,0x44,0x78,0x20,0x36,
+0x83,0x72,0x20,0x40,0x44,0x51,0x24,0x3a,0x03,0x6d,0x20,0x60,0x00,0x00,0x70,0x4b,
+0xdc,0x01,0x6f,0xe2,0x05,0x4d,0x20,0x40,0x03,0x76,0x20,0x20,0x43,0xc4,0x6f,0xe6,
+0x05,0x4e,0x67,0xe6,0x4b,0xce,0x70,0x00,0x7c,0x42,0x20,0x60,0x00,0x00,0x58,0x00,
+0x00,0x00,0x67,0xe2,0x00,0x48,0x6f,0xe2,0x4b,0xce,0xc0,0x00,0x03,0x80,0xc0,0x02,
+0x03,0x86,0x20,0x60,0x00,0x00,0x18,0x00,0x7e,0x0a,0x20,0x40,0x66,0x7a,0x58,0x1d,
+0x32,0x01,0xe7,0xf2,0x00,0x05,0x58,0x00,0x00,0x00,0x20,0x20,0x66,0x99,0x18,0x00,
+0x7e,0x04,0x20,0x40,0x66,0x7a,0x58,0x00,0x00,0x04,0xe7,0xe6,0x00,0x05,0x58,0x00,
+0x00,0x01,0x20,0x20,0x66,0x99,0x20,0x40,0x4c,0x24,0x20,0x40,0x6b,0x69,0x20,0x40,
+0x45,0x10,0x24,0x36,0xc3,0xde,0x20,0x40,0x4a,0x87,0x20,0x40,0x6b,0x81,0x20,0x40,
+0x44,0x85,0x20,0x40,0x47,0x53,0x20,0x40,0x47,0x24,0x20,0x40,0x60,0xe9,0x6f,0xe2,
+0x00,0x0b,0x1f,0xe0,0xfe,0x01,0x67,0xe2,0x00,0x0b,0x20,0x40,0x48,0x3d,0x20,0x20,
+0x43,0xde,0x18,0x42,0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1c,0x30,0x7e,0x00,0x79,0x20,
+0x7e,0x2c,0x20,0x40,0x7d,0x14,0x79,0x3f,0xfe,0x2c,0x20,0x40,0x4a,0x76,0x20,0x40,
+0x7d,0x14,0x20,0x74,0x00,0x00,0x20,0x40,0x03,0xb2,0x20,0x20,0x4a,0x2f,0x1b,0x42,
+0x7e,0x00,0x20,0x40,0x03,0xb1,0x20,0x20,0x4a,0xe9,0x6f,0xe4,0x40,0x4e,0x1f,0xe3,
+0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1e,0x02,0x7e,0x00,0x20,0x40,0x7d,0x14,0x1b,0x42,
+0x04,0x00,0x20,0x40,0x03,0xb1,0x20,0x20,0x4b,0x67,0x20,0x40,0x7d,0x14,0x98,0x00,
+0x0c,0x00,0x79,0x3f,0x8c,0x10,0x20,0x20,0x7d,0x1f,0x20,0x40,0x68,0xc4,0x20,0x40,
+0x60,0xd7,0x20,0x40,0x03,0xb9,0x20,0x20,0x40,0x0a,0x20,0x75,0x80,0x00,0x20,0x20,
+0x7b,0x9a,0x20,0x40,0x04,0x11,0x20,0x20,0x40,0x10,0x20,0x30,0x83,0xcd,0x70,0x89,
+0x55,0xd4,0x20,0x00,0x00,0x04,0x70,0x89,0x55,0xd2,0x20,0x00,0x00,0x04,0x70,0x89,
+0x55,0xd1,0x20,0x00,0x00,0x04,0x6f,0xe2,0x41,0xdf,0xc0,0x00,0x03,0xcb,0xc0,0x00,
+0x83,0xdb,0xc0,0x01,0x03,0xcb,0xc0,0x01,0x83,0xdb,0xc0,0x02,0x03,0xdb,0xc0,0x10,
+0x03,0xdb,0x70,0x89,0x55,0xd0,0x70,0x89,0x56,0xe0,0x18,0x00,0x2a,0x08,0x18,0x00,
+0x2a,0x00,0x78,0x50,0xfc,0x00,0x78,0x50,0x7c,0x00,0x78,0x2f,0x7c,0x00,0x70,0x89,
+0x02,0x00,0x70,0x89,0x01,0x00,0x70,0x89,0x00,0x00,0x70,0x89,0x03,0x00,0x70,0x89,
+0x04,0x70,0x6f,0xe2,0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,0x89,0x06,0x20,0x60,
+0x00,0x00,0x70,0x89,0x55,0xd0,0x70,0x89,0x56,0xc0,0x20,0x20,0x03,0xcd,0x20,0x40,
+0x57,0xaf,0x20,0x40,0x03,0xe1,0x20,0x20,0x58,0xa7,0x20,0x36,0x83,0xe8,0x20,0x20,
+0x57,0xbe,0x60,0x42,0x00,0x17,0x20,0x40,0x49,0x2a,0x20,0x40,0x49,0x80,0x58,0x00,
+0x05,0x00,0x20,0x40,0x4a,0x8e,0x6f,0xe2,0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,
+0x89,0x06,0x20,0x20,0x49,0x37,0x70,0x89,0x06,0x7c,0x20,0x75,0x80,0x00,0x58,0x00,
+0x00,0x00,0x67,0xe4,0x41,0xdd,0x1c,0x43,0x7e,0x00,0x67,0xe8,0x40,0x94,0x20,0x60,
+0x00,0x00,0x20,0x20,0x4b,0x7f,0x20,0x40,0x50,0x1f,0xef,0xe8,0x00,0x03,0x67,0xe8,
+0x4b,0x81,0x70,0x4b,0x81,0xff,0x20,0x20,0x04,0xde,0x20,0x40,0x50,0x1f,0x79,0x3f,
+0x80,0x26,0x70,0x4b,0x81,0xff,0x20,0x20,0x04,0x91,0x20,0x40,0x50,0x1f,0x20,0x20,
+0x04,0xab,0xc5,0x93,0x50,0x1c,0x20,0x40,0x50,0x1f,0x20,0x20,0x04,0x91,0x6f,0xe2,
+0x0b,0x00,0x1f,0xe2,0x72,0x00,0xd8,0xa0,0x4b,0x81,0x20,0x40,0x67,0xed,0x20,0x20,
+0x50,0x1f,0x70,0x0a,0xff,0xc0,0x58,0x00,0x00,0x04,0x20,0x40,0x50,0xa5,0x6f,0xe8,
+0x4b,0x81,0xe7,0xe8,0x00,0x0a,0x20,0x20,0x67,0xb9,0x70,0x0a,0xff,0xc1,0x20,0x20,
+0x50,0x4e,0x70,0x0a,0xff,0xc2,0x20,0x20,0x50,0x4e,0xc6,0x93,0x00,0x00,0x6f,0xe8,
+0x4b,0x81,0x67,0xe8,0x4b,0x81,0x20,0x40,0x04,0x31,0x24,0x34,0x04,0x27,0x70,0x4b,
+0x81,0x0a,0x20,0x40,0x04,0x57,0x6f,0xe2,0x4b,0x81,0xc1,0xff,0x80,0x00,0x70,0x41,
+0xdf,0x02,0x20,0x60,0x00,0x00,0x6f,0xe2,0x4b,0x81,0x24,0x7a,0x00,0x00,0x20,0x40,
+0x4a,0xd8,0x6f,0xe6,0x41,0x70,0x20,0x7a,0x00,0x00,0x6f,0xe2,0x40,0x91,0x20,0x7a,
+0x00,0x00,0x58,0x00,0xe2,0x90,0x20,0x40,0x7d,0x24,0x60,0x48,0x41,0x5c,0x20,0x20,
+0x4b,0x06,0x20,0x60,0x00,0x00,0x20,0x40,0x4a,0xd8,0x6f,0xe6,0x41,0x70,0x20,0x7a,
+0x00,0x00,0x6f,0xe2,0x40,0x91,0x20,0x7a,0x00,0x00,0x6f,0xe2,0x4b,0x81,0x24,0x3a,
+0x04,0x23,0x6f,0xe8,0x4b,0x81,0x20,0x20,0x04,0x24,0x6f,0xe2,0x4b,0x81,0xc0,0xff,
+0x84,0xb4,0x20,0x40,0x04,0x38,0x20,0x54,0x04,0x53,0x20,0x54,0x05,0x23,0x70,0x4b,
+0x81,0x01,0x20,0x60,0x00,0x00,0x78,0x54,0x7c,0x00,0x70,0x4b,0x81,0x02,0x6f,0xe2,
+0x4b,0x81,0xc0,0x00,0x84,0x43,0xc0,0x01,0x04,0x49,0xc0,0x01,0x84,0x4f,0xc0,0x03,
+0x04,0x4c,0xc0,0x03,0x84,0x46,0x6f,0xe2,0x4b,0x81,0x24,0x5a,0x7d,0xbf,0x20,0x60,
+0x00,0x00,0x70,0x4b,0x81,0x00,0x70,0x4b,0x81,0x0a,0x20,0x20,0x04,0x51,0x70,0x4b,
+0x81,0x08,0x70,0x4b,0x81,0x18,0x20,0x20,0x04,0x51,0x70,0x4b,0x81,0x03,0x70,0x4b,
+0x81,0x04,0x20,0x20,0x04,0x51,0x70,0x4b,0x81,0x02,0x70,0x4b,0x81,0x03,0x20,0x20,
+0x04,0x51,0x70,0x4b,0x81,0x01,0x70,0x4b,0x81,0x08,0x70,0x4b,0x81,0x00,0x20,0x20,
+0x7d,0xbf,0xd8,0xa0,0x0b,0x1e,0xd8,0xc0,0x4b,0x81,0xdf,0x20,0x00,0x20,0x20,0x20,
+0x7c,0xdc,0x70,0x4b,0x81,0x00,0xd9,0x60,0x0d,0x00,0x34,0x73,0x02,0x00,0x20,0x40,
+0x04,0x85,0x24,0x37,0x84,0x67,0x20,0x40,0x04,0x94,0x6f,0xe2,0x4b,0x81,0x1f,0xe0,
+0xfe,0x01,0x67,0xe2,0x4b,0x81,0x70,0x4b,0x81,0x00,0x6f,0xe2,0x4b,0x81,0xc0,0xff,
+0x84,0x84,0x20,0x40,0x04,0x79,0x70,0x4b,0x81,0x00,0x70,0x4b,0x81,0x00,0x20,0x60,
+0x00,0x00,0x70,0x4b,0x81,0x01,0x6f,0xe2,0x4b,0x81,0x1f,0xe0,0xfe,0x01,0x67,0xe2,
+0x4b,0x81,0x6f,0xe2,0x4b,0x81,0xc0,0xff,0x84,0x90,0x6f,0xe2,0x4b,0x81,0xc0,0x7f,
+0x84,0x7d,0x6f,0xe2,0x4b,0x81,0xd8,0x40,0x00,0x10,0x98,0x46,0x7c,0x00,0x20,0x21,
+0x05,0x42,0x6f,0xe2,0x4b,0x81,0x1f,0xe0,0xfe,0x01,0x67,0xe2,0x4b,0x81,0x20,0x00,
+0x00,0x0a,0xc0,0x83,0x84,0x58,0x20,0x20,0x05,0x42,0x58,0x00,0x00,0x00,0x67,0xe0,
+0x0b,0x1e,0x67,0xe0,0x4b,0x81,0x20,0x60,0x00,0x00,0x20,0x40,0x04,0x91,0x70,0x4b,
+0x81,0x00,0x20,0x40,0x04,0x79,0x70,0x4b,0x81,0x00,0x6f,0xe8,0x4b,0x81,0x67,0xe8,
+0x4b,0x81,0x20,0x60,0x00,0x00,0x20,0x20,0x04,0xce,0x78,0x57,0xfc,0x00,0x20,0x40,
+0x05,0x9b,0x18,0x00,0x2a,0x00,0x6f,0xe8,0x4b,0x81,0x98,0x00,0x12,0x00,0x68,0x42,
+0x00,0x17,0x20,0x40,0x49,0x1c,0x20,0x40,0x49,0x21,0x20,0x40,0x05,0x5a,0x20,0x57,
+0x85,0x95,0x20,0x60,0x00,0x00,0x20,0x60,0x00,0x00,0x70,0x4b,0x81,0x00,0x70,0x0a,
+0x95,0x3a,0x20,0x20,0x7b,0xab,0x20,0x40,0x05,0x03,0x6f,0xe2,0x4b,0x81,0x20,0x7a,
+0x00,0x00,0x98,0x00,0x72,0x00,0x20,0x40,0x04,0x9c,0xd8,0xc0,0x0b,0x20,0xd8,0xa0,
+0x0b,0x1e,0x20,0x20,0x7c,0xdc,0x6f,0xe2,0x0b,0x1f,0x2f,0xe1,0xf0,0x08,0x24,0x60,
+0x80,0x00,0x6f,0xe2,0x0b,0x20,0xc0,0x7f,0x84,0xa3,0x70,0x0a,0xff,0xc3,0x20,0x20,
+0x04,0xa4,0x70,0x0a,0xff,0xc4,0x58,0x00,0x00,0x01,0x20,0x40,0x50,0xa5,0x68,0x42,
+0x0b,0x20,0xe0,0x42,0x00,0x0a,0x20,0x40,0x67,0xb9,0x70,0x4b,0x81,0x00,0x20,0x60,
+0x00,0x00,0x79,0x20,0x00,0x26,0x20,0x40,0x04,0xb0,0x20,0x40,0x04,0x63,0x70,0x4b,
+0x81,0x01,0x20,0x60,0x00,0x00,0x70,0x4b,0x81,0x00,0x70,0x4b,0x81,0x4e,0x6f,0xe8,
+0x4b,0x81,0x20,0x20,0x05,0x15,0x20,0x40,0x04,0xb0,0x6f,0xe2,0x4b,0x81,0xc0,0x00,
+0xfd,0xbf,0x6f,0xe2,0x4b,0x81,0xc0,0x00,0x84,0xbc,0xc0,0x01,0x04,0xbf,0xc0,0x01,
+0x84,0xc2,0x20,0x20,0x4a,0x8b,0x70,0x4b,0x81,0x11,0x70,0x0f,0x1e,0xaa,0x20,0x20,
+0x04,0xc4,0x70,0x4b,0x81,0x12,0x70,0x0f,0x1e,0x55,0x20,0x20,0x04,0xc4,0x70,0x4b,
+0x81,0x13,0x70,0x0f,0x1e,0x22,0x70,0x0f,0x1f,0x02,0x6f,0xe8,0x4b,0x81,0x67,0xe8,
+0x0f,0x20,0x70,0x0f,0x24,0x00,0xda,0x20,0x0f,0x1e,0xd8,0x40,0x00,0x07,0x20,0x40,
+0x04,0xfe,0x20,0x40,0x05,0x23,0x20,0x40,0x04,0x36,0x20,0x20,0x7d,0xbf,0x6f,0xe2,
+0x4b,0x81,0xc1,0x7f,0x80,0x00,0xc0,0x08,0x84,0xd4,0xc0,0x09,0x04,0xd6,0xc0,0x09,
+0x84,0xd8,0x20,0x60,0x00,0x00,0x70,0x4b,0x81,0x02,0x20,0x20,0x04,0x63,0x70,0x4b,
+0x81,0x03,0x20,0x20,0x04,0x63,0x70,0x4b,0x81,0xff,0x70,0x0a,0x95,0x39,0x20,0x40,
+0x7b,0xab,0x6f,0xe8,0x0b,0x20,0x20,0x40,0x05,0x15,0x20,0x20,0x04,0x63,0xc6,0x13,
+0x00,0x00,0x20,0x40,0x05,0x16,0x20,0x40,0x05,0x42,0x6f,0xe2,0x4b,0x81,0xc1,0xff,
+0x80,0x00,0x20,0x40,0x04,0xf0,0x58,0x00,0x00,0x00,0x67,0xe4,0x4b,0x81,0x20,0x40,
+0x4a,0xd8,0x20,0x00,0x07,0xd0,0x6f,0xe2,0x4b,0x81,0xc0,0x7f,0x84,0x91,0x20,0x40,
+0x04,0x85,0x24,0x37,0x84,0xf9,0x20,0x40,0x04,0x79,0x79,0x20,0x00,0x26,0x70,0x0a,
+0x95,0x3c,0x20,0x20,0x7b,0xab,0x70,0x0f,0x1e,0xff,0x6f,0xe2,0x4b,0x81,0x67,0xe2,
+0x0f,0x1f,0x6f,0xe8,0x4b,0x81,0x67,0xe8,0x0f,0x20,0xd8,0x40,0x00,0x06,0xda,0x20,
+0x0f,0x1e,0x20,0x40,0x04,0xfe,0x20,0x20,0x05,0x23,0x6f,0xe4,0x4b,0x81,0x1f,0xe0,
+0xfe,0x01,0x67,0xe4,0x4b,0x81,0x20,0x40,0x05,0x42,0x20,0x20,0x04,0xe6,0x60,0x42,
+0x4b,0x81,0x18,0x42,0x72,0x00,0xd8,0xa0,0x0b,0x1e,0x1a,0x22,0x0c,0x00,0x20,0x20,
+0x7c,0xdc,0x6f,0xe2,0x0b,0x1f,0x1f,0xe9,0x7e,0x00,0x67,0xe2,0x4b,0x81,0x1f,0xe0,
+0xfe,0x01,0xd8,0xc0,0x0b,0x1f,0x98,0xc0,0x8c,0x00,0xef,0xe6,0x00,0x06,0x67,0xe6,
+0x4b,0x81,0x20,0x60,0x00,0x00,0x68,0x42,0x4b,0x96,0x58,0x00,0x4b,0x85,0x98,0x40,
+0x8a,0x00,0x1a,0x22,0x7e,0x00,0xe7,0xe2,0x00,0x05,0x18,0x40,0x84,0x01,0x18,0x41,
+0x04,0x07,0x60,0x42,0x4b,0x96,0x20,0x60,0x00,0x00,0x67,0xe8,0x4b,0x81,0xda,0x20,
+0x00,0x00,0xdf,0x20,0x00,0x04,0xd8,0xc0,0x4b,0x81,0xef,0xe2,0x00,0x06,0x9a,0x20,
+0xa2,0x00,0xc2,0x00,0x05,0x19,0x1a,0x22,0x7e,0x00,0x67,0xe4,0x4b,0x81,0x6f,0xe2,
+0x4b,0x81,0x68,0x42,0x4b,0x82,0x98,0x40,0xfe,0x00,0x67,0xe2,0x4b,0x81,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x4b,0x81,0x1f,0xe0,0xfe,0x02,0x67,0xe2,0x4b,0x81,0x6f,0xe2,
+0x4b,0x81,0x67,0xe2,0x0b,0x1e,0x6f,0xe2,0x4b,0x81,0x1f,0xe9,0xfe,0x00,0x68,0x42,
+0x4b,0x81,0x18,0x41,0x04,0x03,0x18,0x43,0x84,0x00,0x98,0x41,0xfe,0x00,0x68,0x42,
+0x4b,0x81,0x98,0x40,0xfe,0x00,0xe7,0xe2,0x00,0x05,0x6f,0xe2,0x4b,0x81,0xc0,0xff,
+0x85,0x35,0x6f,0xe2,0x4b,0x81,0xe7,0xe2,0x00,0x05,0x6f,0xe2,0x4b,0x81,0x98,0x00,
+0x72,0x00,0x6f,0xe2,0x4b,0x81,0xc0,0x00,0x85,0x40,0xd8,0xc0,0x0b,0x1e,0x20,0x40,
+0x7c,0xdc,0x6f,0xe2,0x0b,0x1e,0xc0,0x01,0x85,0x3e,0x20,0x60,0x00,0x00,0x70,0x0b,
+0x1e,0x02,0x20,0x60,0x00,0x00,0xd8,0xc0,0x0b,0x1f,0x20,0x20,0x7c,0xdc,0x68,0x42,
+0x4b,0x81,0x20,0x40,0x05,0x48,0x18,0x40,0x84,0x01,0x18,0x41,0x04,0x03,0x60,0x42,
+0x4b,0x81,0x20,0x60,0x00,0x00,0x6f,0xe2,0x4b,0x81,0x1f,0xe1,0x7e,0x03,0x1f,0xef,
+0xa2,0x04,0x58,0x00,0x4b,0x81,0x9a,0x20,0xfe,0x00,0x98,0x40,0x8c,0x00,0xef,0xe2,
+0x00,0x06,0x67,0xe2,0x4b,0x81,0x20,0x60,0x00,0x00,0x78,0x44,0xfc,0x00,0x78,0x43,
+0xfc,0x00,0x58,0x55,0x55,0x55,0x98,0x00,0x1e,0x00,0x6f,0xe2,0x4b,0x81,0x1f,0xed,
+0x84,0x00,0x79,0x20,0x04,0x01,0x18,0x43,0x1c,0x00,0x20,0x60,0x00,0x00,0x20,0x40,
+0x05,0x51,0x78,0x26,0xfc,0x00,0x78,0x30,0xfc,0x00,0x78,0x50,0x7c,0x00,0x78,0x28,
+0x7c,0x00,0x6f,0xe4,0x4b,0x81,0x98,0x00,0x36,0x00,0x37,0xc1,0x84,0x00,0x24,0x2c,
+0x05,0x95,0x78,0x46,0xfc,0x00,0x78,0x25,0xfc,0x00,0x78,0x23,0xfc,0x00,0x78,0x24,
+0xfc,0x00,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,0x4b,0x81,0x68,0x42,
+0x4b,0x81,0x98,0x46,0x7c,0x00,0x24,0x22,0x85,0x95,0x09,0x80,0x00,0x08,0x19,0x89,
+0x7e,0x00,0x67,0xe2,0x0b,0x1e,0x6f,0xe2,0x0b,0x1e,0x68,0x42,0x4b,0x81,0xa8,0x40,
+0x0e,0x00,0x24,0x20,0x85,0x95,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0xe7,0xe2,
+0x00,0x05,0x1f,0xe9,0x7e,0x00,0x1f,0xe1,0x72,0x1f,0x20,0x22,0x85,0x7e,0x09,0x80,
+0x00,0x08,0x19,0x89,0x7e,0x00,0xe7,0xe2,0x00,0x05,0xc2,0x00,0x05,0x7a,0x18,0xa2,
+0x22,0x00,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,0x4b,0x84,0x1a,0x22,
+0x0a,0x00,0x09,0x80,0x00,0x18,0x78,0x28,0x7c,0x00,0xdb,0x60,0x06,0x64,0x1f,0xef,
+0x7e,0x00,0x1f,0xf1,0x7e,0x00,0xe7,0xe6,0x00,0x05,0x78,0x45,0xfc,0x00,0x20,0x23,
+0x05,0x95,0x78,0x37,0xfc,0x00,0x6f,0xe2,0x00,0x17,0x1f,0xe0,0xa2,0x00,0x20,0x40,
+0x49,0x80,0x78,0x46,0xfc,0x00,0x20,0x40,0x49,0x15,0x6f,0xe2,0x4b,0x84,0x1f,0xe2,
+0x22,0x00,0x20,0x40,0x05,0x0c,0x20,0x60,0x00,0x00,0x78,0x4d,0xfc,0x00,0x78,0x45,
+0xfc,0x00,0x20,0x20,0x46,0x49,0x20,0x40,0x49,0x15,0x68,0x42,0x4b,0x81,0x20,0x20,
+0x49,0x30,0x20,0x40,0x57,0x9e,0x6f,0xe8,0x4b,0x81,0x98,0x00,0x12,0x00,0x20,0x40,
+0x05,0x51,0x20,0x40,0x05,0x98,0x79,0x20,0x2a,0x00,0x78,0x2e,0xfc,0x00,0x78,0x30,
+0x7c,0x00,0x78,0x50,0xfc,0x00,0x19,0x31,0x7e,0x00,0x1f,0xec,0xfe,0x00,0x1f,0xf1,
+0xfe,0x00,0x08,0x00,0x86,0x28,0x78,0x4e,0xfc,0x00,0x78,0x2d,0xfc,0x00,0x78,0x23,
+0xfc,0x00,0x78,0x24,0xfc,0x00,0x6f,0xe2,0x4b,0x81,0x08,0x00,0x86,0x08,0x6f,0xe2,
+0x4b,0x81,0x98,0x00,0x72,0x00,0xd8,0xc0,0x0b,0x1e,0xef,0xe2,0x00,0x06,0x08,0x00,
+0x86,0x08,0xc2,0x00,0x05,0xb1,0x78,0x24,0x7c,0x00,0x08,0x00,0x86,0x18,0x78,0x44,
+0x7c,0x00,0x37,0xd3,0x82,0x00,0x20,0x00,0x00,0x64,0x78,0x4e,0xfc,0x00,0x78,0x4d,
+0xfc,0x00,0x20,0x60,0x00,0x00,0x58,0x00,0x00,0x25,0x67,0xe4,0x44,0xcc,0x20,0x40,
+0x5b,0xf0,0x20,0x40,0x5c,0x0c,0x20,0x40,0x5c,0x19,0x20,0x20,0x5b,0xf8,0x20,0x40,
+0x58,0xa3,0x20,0x40,0x49,0x15,0x68,0x42,0x00,0x17,0x20,0x40,0x49,0x1c,0x20,0x00,
+0x05,0xdc,0x20,0x40,0x49,0x21,0x78,0x28,0x7c,0x00,0xd9,0x60,0x15,0x7c,0x20,0x20,
+0x58,0x69,0x20,0x40,0x49,0xba,0x78,0x23,0xfc,0x00,0x78,0x24,0xfc,0x00,0x09,0x80,
+0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,0x02,0xd5,0x09,0x80,0x00,0x08,0x19,0x89,
+0x7e,0x00,0xe7,0xe2,0x00,0x05,0x1f,0xe2,0x72,0x00,0x20,0x3a,0x58,0x8b,0x20,0x20,
+0x58,0x87,0xc6,0x07,0x80,0x00,0x20,0x40,0x5c,0x70,0x24,0x7a,0x00,0x00,0x6f,0xe2,
+0x02,0xd5,0x1f,0xe1,0x7e,0x03,0x67,0xe2,0x44,0xde,0xef,0xe2,0x00,0x06,0x67,0xe2,
+0x44,0xdd,0x20,0x7a,0x00,0x00,0x18,0xc2,0x7e,0x00,0x67,0xe4,0x44,0xdf,0x6f,0xe2,
+0x44,0xde,0xc0,0x01,0xe0,0x44,0x20,0x40,0x5a,0x76,0xd8,0xe0,0x00,0x03,0x24,0x34,
+0x4b,0xec,0x20,0x40,0x4b,0xf0,0x20,0x20,0x5a,0x6b,0xef,0xe4,0x00,0x06,0xc0,0x02,
+0x5c,0x8b,0xc0,0x03,0x5e,0xd4,0xc0,0x02,0xde,0x96,0x20,0x60,0x00,0x00,0x20,0x40,
+0x5a,0xc9,0x20,0x40,0x59,0x9a,0x6f,0xe2,0x02,0xd5,0x2f,0xef,0xfe,0x04,0x79,0x20,
+0x80,0x2a,0x1f,0xe3,0x7e,0x00,0x98,0x42,0xfe,0x00,0x2f,0xef,0xfe,0x02,0x79,0x20,
+0x80,0x0f,0xc6,0x07,0x80,0x00,0x6f,0xe2,0x02,0xd6,0x20,0x3a,0x59,0x96,0x6f,0xe2,
+0x04,0x3b,0xc3,0x02,0x59,0x96,0x20,0x40,0x73,0x42,0x20,0x40,0x72,0xb2,0x7d,0x3a,
+0x00,0x0f,0x24,0x7a,0x00,0x00,0x20,0x20,0x59,0x96,0x70,0x0a,0xff,0xb3,0x20,0x20,
+0x50,0x4e,0x70,0x0a,0xff,0xb4,0x58,0x00,0x00,0x1c,0x20,0x40,0x50,0xa5,0x6f,0xec,
+0x44,0x72,0xe7,0xec,0x00,0x0a,0x6f,0xec,0x04,0x4b,0xe7,0xec,0x00,0x0a,0xd8,0xc0,
+0x43,0xeb,0xdf,0x20,0x00,0x10,0x20,0x40,0x67,0xd4,0x20,0x20,0x67,0xb9,0x70,0x4b,
+0x7f,0x00,0x70,0x4b,0x7e,0x00,0x70,0x0a,0xff,0xb9,0x58,0x00,0x00,0x01,0x20,0x40,
+0x50,0xa5,0x58,0x00,0x00,0x00,0xe7,0xe2,0x00,0x0a,0x20,0x40,0x67,0xb9,0x20,0x60,
+0x00,0x00,0x70,0x4b,0xdb,0x01,0x20,0x40,0x4e,0x2f,0x20,0x40,0x06,0x20,0x6f,0xe4,
+0x46,0x52,0xc4,0x06,0x00,0x00,0x79,0x3f,0xfe,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,
+0xff,0xb6,0x20,0x20,0x50,0x4e,0x70,0x41,0xe3,0x00,0x70,0x46,0x50,0x00,0x70,0x42,
+0x04,0x00,0x70,0x4b,0x7e,0x00,0x70,0x4b,0x7f,0x00,0x20,0x60,0x00,0x00,0x20,0x40,
+0x4e,0x2f,0x70,0x0a,0xff,0xb1,0x58,0x00,0x00,0x01,0x20,0x40,0x50,0xa5,0x58,0x00,
+0x00,0x00,0xe7,0xe2,0x00,0x0a,0x20,0x40,0x67,0xb9,0x20,0x20,0x4d,0x34,0x20,0x20,
+0x01,0x34,0x58,0x00,0x00,0x02,0x67,0xe2,0x46,0x50,0x20,0x60,0x00,0x00,0x6f,0xe4,
+0x46,0x52,0x79,0x3f,0xfe,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,0xff,0xb6,0x20,0x40,
+0x50,0x4e,0x70,0x4b,0x7e,0x00,0x58,0x00,0x00,0x01,0x67,0xe2,0x4b,0x7f,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x41,0xe3,0xc1,0x00,0x80,0x00,0x6f,0xe4,0x46,0x52,0x79,0x20,
+0x7e,0x0c,0x67,0xe4,0x46,0x52,0x70,0x0a,0xff,0xb0,0x20,0x40,0x50,0x4e,0x70,0x41,
+0xe3,0x01,0x20,0x40,0x01,0x34,0x20,0x20,0x4d,0x89,0x20,0x20,0x06,0x26,0x58,0x00,
+0x00,0x05,0x67,0xe2,0x4b,0x7e,0x20,0x60,0x00,0x00,0x20,0x20,0x4d,0x48,0x20,0x60,
+0x00,0x00,0x20,0x20,0x06,0x4c,0x70,0x0a,0xff,0xb5,0x58,0x00,0x00,0x1c,0x20,0x40,
+0x50,0xa5,0x6f,0xec,0x40,0xa0,0xe7,0xec,0x00,0x0a,0x6f,0xec,0x00,0x40,0xe7,0xec,
+0x00,0x0a,0xd8,0xc0,0x41,0xbf,0xdf,0x20,0x00,0x10,0x20,0x40,0x67,0xd4,0x20,0x20,
+0x67,0xb9,0xda,0x60,0x4b,0x7e,0xda,0x40,0x06,0x5a,0x20,0x20,0x4d,0x04,0x6f,0xe2,
+0x02,0x7b,0x79,0x20,0x7e,0x00,0x79,0x20,0x7e,0x07,0x67,0xe2,0x02,0x7b,0x20,0x60,
+0x00,0x00,0xda,0x60,0x46,0x50,0xda,0x40,0x06,0x3b,0x20,0x20,0x4d,0x04,0xda,0x60,
+0x4b,0x7f,0xda,0x40,0x06,0x65,0x20,0x20,0x4d,0x04,0x70,0x0a,0xff,0x99,0x20,0x40,
+0x50,0x4e,0x20,0x20,0x4d,0x64,0x20,0x40,0x56,0x4b,0x24,0x7a,0x00,0x00,0x6f,0xe2,
+0x0b,0x00,0x1f,0xe0,0xa2,0x01,0x20,0x40,0x51,0x3d,0x6f,0xe4,0x42,0x20,0xe7,0xe4,
+0x00,0x05,0x58,0x00,0x00,0xa1,0xe7,0xe2,0x00,0x05,0x6f,0xe2,0x0b,0x00,0x1f,0xe2,
+0x72,0x00,0x20,0x40,0x67,0xed,0x20,0x20,0x50,0x1f,0xef,0xec,0x00,0x03,0x67,0xec,
+0x41,0xd1,0xef,0xe4,0x00,0x03,0x67,0xe4,0x40,0xb9,0xd8,0xa0,0x41,0xbf,0xdf,0x20,
+0x00,0x10,0x20,0x40,0x67,0xed,0x20,0x40,0x68,0xbe,0x20,0x40,0x01,0x34,0x20,0x40,
+0x4d,0x5c,0x20,0x20,0x50,0x1f,0x6f,0xe4,0x02,0x60,0x1f,0xe2,0x0c,0x00,0xef,0xe2,
+0x00,0x06,0x1f,0xe1,0x04,0x0f,0x1f,0xf1,0xfe,0x00,0xc0,0x04,0xd1,0x2d,0xc0,0x03,
+0xd1,0x2d,0xc0,0x05,0x06,0x8c,0xc0,0x02,0x86,0xa0,0xc0,0x00,0x86,0xa2,0xc0,0x02,
+0x51,0x2d,0x20,0x60,0x00,0x00,0x20,0x20,0x06,0x91,0xef,0xe4,0x00,0x06,0x67,0xe4,
+0x0a,0x96,0xc0,0x00,0x86,0x9a,0x20,0x60,0x00,0x00,0x70,0x0a,0xff,0xb2,0x6f,0xe4,
+0x02,0x62,0x1f,0xe0,0xff,0xff,0x1f,0xe2,0x72,0x00,0x20,0x40,0x50,0xa5,0x6f,0xe4,
+0x02,0x60,0x1f,0xe2,0x0c,0x00,0x20,0x40,0x67,0xc1,0x20,0x20,0x67,0xb9,0x70,0x0a,
+0xff,0xb2,0x58,0x00,0x00,0x02,0x20,0x40,0x50,0xa5,0x6f,0xe4,0x0a,0x96,0xe7,0xe4,
+0x00,0x0a,0x20,0x20,0x67,0xb9,0x20,0x40,0x06,0x8c,0x20,0x20,0x51,0x26,0x18,0x42,
+0x7e,0x00,0xc0,0x02,0xd1,0x1e,0x70,0x4b,0x80,0x01,0xc0,0x01,0xd1,0x2d,0x70,0x4b,
+0x80,0x00,0xc0,0x02,0x51,0x2d,0x20,0x60,0x00,0x00,0x64,0x69,0xaa,0x55,0x40,0x00,
+0x00,0x40,0x2a,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0xe0,0x01,0x00,
+0x01,0x02,0x20,0x02,0x10,0x00,0x0c,0x12,0x00,0x59,0x00,0x01,0x00,0x08,0x00,0x00,
+0x00,0x00,0x68,0x00,0x08,0x80,0x02,0x00,0x01,0xf4,0x02,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x02,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xaa,0x55,0x01,0x00,0x81,0x4b,0x01,0xaa,0x55,0x01,0x00,0x81,0x4b,0x02,
+0xaa,0x55,0x01,0x00,0x81,0x4b,0x40,0xaa,0x55,0x01,0x00,0x81,0x4b,0x00,0xaa,0x55,
+0x02,0x00,0x81,0x4b,0xc0,0x12,0xaa,0x55,0x04,0x00,0x81,0x4b,0x00,0x13,0x2c,0x42,
+0xaa,0x55,0x04,0x00,0x81,0x4b,0x06,0x15,0x36,0x48,0xaa,0x55,0x04,0x00,0x81,0x4b,
+0x0f,0x1a,0x3a,0x4c,0xaa,0x55,0x04,0x00,0x81,0x4b,0x11,0x23,0x31,0x4d,0xaa,0x55,
+0x01,0x00,0x81,0x4b,0xff,0xaa,0x55,0x04,0x00,0x81,0x4b,0x20,0x15,0x10,0x05,0xaa,
+0x55,0x0a,0x00,0x1e,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,
+0x55,0x08,0x00,0x81,0x4b,0x00,0x48,0x5d,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,0x04,
+0x00,0x81,0x4b,0xff,0xff,0xff,0xff,0xaa,0x55,0x01,0x00,0x6e,0x46,0x05,0xaa,0x55,
+0x07,0x00,0x25,0x44,0x02,0x03,0x00,0x05,0x10,0x02,0x03,0xaa,0x55,0x08,0x00,0x68,
+0x44,0x08,0x00,0x10,0x00,0x00,0x00,0x2c,0x01,0xaa,0x55,0x02,0x00,0xcc,0x44,0x31,
+0x00,0xaa,0x55,0x01,0x00,0x78,0x44,0x17,0xaa,0x55,0x01,0x00,0x7a,0x44,0x17,0xaa,
+0x55,0x01,0x00,0x90,0x44,0x00,0xaa,0x55,0x01,0x00,0x5f,0x44,0x07,0xaa,0x55,0x01,
+0x00,0x98,0x44,0x00,0xaa,0x55,0x01,0x00,0x40,0x43,0x00,0xaa,0x55,0x02,0x00,0x54,
+0x44,0x40,0x00,0xaa,0x55,0x06,0x00,0x72,0x44,0x21,0x22,0x01,0x33,0x02,0x3a,0xaa,
+0x55,0x0f,0x00,0x81,0x43,0x0e,0x42,0x54,0x34,0x2e,0x32,0x20,0x4b,0x65,0x79,0x62,
+0x6f,0x61,0x72,0x64,0xaa,0x55,0x1c,0x00,0x41,0x43,0x03,0x02,0x01,0x05,0x03,0x19,
+0xc1,0x03,0x03,0x03,0x12,0x18,0x0f,0x09,0x42,0x54,0x34,0x2e,0x32,0x20,0x4b,0x65,
+0x79,0x62,0x6f,0x61,0x72,0x64,0xaa,0x55,0x11,0x00,0x61,0x43,0x1f,0x0f,0x09,0x42,
+0x54,0x34,0x2e,0x32,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0xaa,0x55,0x02,
+0x00,0x8e,0x44,0x75,0x49,0xaa,0x55,0x1c,0x02,0x75,0x49,0x01,0x00,0x02,0x00,0x28,
+0x02,0x01,0x18,0x02,0x00,0x02,0x03,0x28,0x01,0x20,0x03,0x00,0x02,0x05,0x2a,0x01,
+0x00,0x04,0x00,0x02,0x02,0x29,0x02,0x00,0x00,0x05,0x00,0x02,0x00,0x28,0x02,0x00,
+0x18,0x06,0x00,0x02,0x03,0x28,0x01,0x02,0x07,0x00,0x02,0x00,0x2a,0x1d,0x42,0x54,
+0x34,0x2e,0x32,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x08,0x00,0x02,0x03,0x28,
+0x01,0x02,0x09,0x00,0x02,0x01,0x2a,0x02,0xc1,0x03,0x0a,0x00,0x02,0x03,0x28,0x01,
+0x02,0x0b,0x00,0x02,0x04,0x2a,0x08,0x06,0x00,0x06,0x00,0x64,0x00,0x2c,0x01,0x0c,
+0x00,0x02,0x00,0x28,0x02,0x0a,0x18,0x0d,0x00,0x02,0x03,0x28,0x01,0x02,0x0e,0x00,
+0x02,0x29,0x2a,0x06,0x59,0x69,0x43,0x68,0x69,0x70,0x0f,0x00,0x02,0x03,0x28,0x01,
+0x02,0x10,0x00,0x02,0x50,0x2a,0x07,0x02,0xe8,0x04,0x21,0x70,0x01,0x00,0x11,0x00,
+0x02,0x00,0x28,0x02,0x12,0x18,0x12,0x00,0x02,0x03,0x28,0x01,0x06,0x13,0x00,0x02,
+0x4e,0x2a,0x01,0x01,0x14,0x00,0x02,0x03,0x28,0x01,0x12,0x15,0x00,0x02,0x4d,0x2a,
+0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x00,0x02,0x02,0x29,0x02,0x00,
+0x00,0x17,0x00,0x02,0x08,0x29,0x02,0x01,0x01,0x18,0x00,0x02,0x03,0x28,0x01,0x12,
+0x19,0x00,0x02,0x4d,0x2a,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1a,0x00,0x02,0x02,0x29,0x02,
+0x00,0x00,0x1b,0x00,0x02,0x08,0x29,0x02,0x07,0x01,0x1c,0x00,0x02,0x03,0x28,0x01,
+0x12,0x1d,0x00,0x02,0x4d,0x2a,0x02,0x00,0x00,0x1e,0x00,0x02,0x02,0x29,0x02,0x00,
+0x00,0x1f,0x00,0x02,0x08,0x29,0x02,0x02,0x01,0x20,0x00,0x02,0x03,0x28,0x01,0x0e,
+0x21,0x00,0x02,0x4d,0x2a,0x02,0x00,0x00,0x22,0x00,0x02,0x02,0x29,0x02,0x00,0x00,
+0x23,0x00,0x02,0x08,0x29,0x02,0x01,0x02,0x24,0x00,0x02,0x03,0x28,0x01,0x0a,0x25,
+0x00,0x02,0x4b,0x2a,0x83,0x05,0x01,0x09,0x06,0xa1,0x01,0x85,0x01,0x75,0x01,0x95,
+0x08,0x05,0x07,0x19,0xe0,0x29,0xe7,0x15,0x00,0x25,0x01,0x81,0x02,0x95,0x01,0x75,
+0x08,0x81,0x03,0x95,0x05,0x75,0x01,0x05,0x08,0x19,0x01,0x29,0x05,0x91,0x02,0x95,
+0x01,0x75,0x03,0x91,0x03,0x95,0x06,0x75,0x08,0x15,0x00,0x25,0xff,0x05,0x07,0x19,
+0x00,0x29,0xff,0x81,0x00,0xc0,0x05,0x0c,0x09,0x01,0xa1,0x01,0x85,0x02,0x19,0x00,
+0x2a,0xff,0x03,0x15,0x00,0x26,0xff,0x03,0x95,0x01,0x75,0x10,0x81,0x00,0xc0,0x05,
+0x01,0x09,0x06,0xa1,0x01,0x85,0x07,0x05,0x07,0x19,0xe0,0x29,0xe7,0x15,0x00,0x25,
+0x01,0x75,0x01,0x95,0x08,0x81,0x00,0x95,0x98,0x75,0x01,0x15,0x00,0x25,0x01,0x05,
+0x07,0x19,0x00,0x29,0x98,0x81,0x02,0xc0,0x26,0x00,0x02,0x03,0x28,0x01,0x02,0x27,
+0x00,0x02,0x4a,0x2a,0x04,0x11,0x01,0x00,0x01,0x28,0x00,0x02,0x03,0x28,0x01,0x04,
+0x29,0x00,0x02,0x4c,0x2a,0x01,0x00,0x2a,0x00,0x02,0x00,0x28,0x02,0x0f,0x18,0x2b,
+0x00,0x02,0x03,0x28,0x01,0x12,0x2c,0x00,0x02,0x19,0x2a,0x01,0x64,0x2d,0x00,0x02,
+0x02,0x29,0x02,0x00,0x00,0x00,0x00,0xaa,0x55,0x01,0x00,0x06,0x42,0x17,0xaa,0x55,
+0x01,0x00,0x93,0x40,0x00,0xaa,0x55,0x01,0x00,0x6d,0x46,0x28,0xaa,0x55,0x03,0x00,
+0x2d,0x46,0x02,0x00,0x04,0xaa,0x55,0x01,0x00,0x2c,0x46,0x01,0xaa,0x55,0x01,0x00,
+0x34,0x46,0x02,0xaa,0x55,0x01,0x00,0x54,0x46,0x01,0xaa,0x55,0x06,0x00,0xa0,0x40,
+0x1c,0x66,0xa4,0xd8,0x17,0xe4,0xaa,0x55,0x0f,0x00,0xe7,0x44,0x0e,0x42,0x54,0x33,
+0x2e,0x30,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0xaa,0x55,0x03,0x00,0xe4,
+0x41,0x0e,0x00,0x01,0xaa,0x55,0x01,0x00,0xe8,0x41,0x01,0xaa,0x55,0x01,0x00,0x2c,
+0x45,0x0a,0xaa,0x55,0x03,0x00,0xaa,0x40,0x40,0x25,0x00,0xaa,0x55,0x01,0x00,0x92,
+0x40,0x43,0xaa,0x55,0x01,0x00,0x5b,0x41,0x00,0xaa,0x55,0x08,0x00,0x98,0x40,0xff,
+0xff,0x8f,0xf8,0x83,0x9d,0x59,0x82,0xaa,0x55,0x01,0x00,0xd1,0x40,0x01,0xaa,0x55,
+0x0e,0x00,0x49,0x45,0x06,0x03,0x11,0x00,0x00,0x01,0x02,0x10,0x24,0x11,0x00,0x12,
+0x01,0x00,0xaa,0x55,0x01,0x00,0x5f,0x45,0x00,0xaa,0x55,0x02,0x00,0x47,0x45,0x83,
+0x46,0xaa,0x55,0x5a,0x02,0x83,0x46,0x04,0x00,0x11,0x01,0x00,0x10,0x02,0x11,0x24,
+0x00,0x01,0x00,0x00,0x36,0x01,0x9a,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x00,0x09,
+0x00,0x01,0x35,0x03,0x19,0x11,0x24,0x09,0x00,0x04,0x35,0x0d,0x35,0x06,0x19,0x01,
+0x00,0x09,0x00,0x11,0x35,0x03,0x19,0x00,0x11,0x09,0x00,0x05,0x35,0x03,0x19,0x10,
+0x02,0x09,0x00,0x06,0x35,0x09,0x09,0x65,0x6e,0x09,0x00,0x6a,0x09,0x01,0x00,0x09,
+0x00,0x09,0x35,0x08,0x35,0x06,0x19,0x11,0x24,0x09,0x01,0x00,0x09,0x00,0x0d,0x35,
+0x0f,0x35,0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,0x13,0x35,0x03,0x19,0x00,0x11,
+0x09,0x01,0x00,0x25,0x3d,0x42,0x72,0x6f,0x61,0x64,0x63,0x6f,0x6d,0x20,0x42,0x6c,
+0x75,0x65,0x74,0x6f,0x6f,0x74,0x68,0x20,0x57,0x69,0x72,0x65,0x6c,0x65,0x73,0x73,
+0x20,0x20,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x09,0x01,0x01,0x25,0x08,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x09,
+0x01,0x02,0x25,0x10,0x42,0x72,0x6f,0x61,0x64,0x63,0x6f,0x6d,0x20,0x43,0x6f,0x72,
+0x70,0x2e,0x20,0x20,0x09,0x02,0x00,0x09,0x01,0x00,0x09,0x02,0x01,0x09,0x01,0x11,
+0x09,0x02,0x02,0x08,0x40,0x09,0x02,0x03,0x08,0x21,0x09,0x02,0x04,0x28,0x01,0x09,
+0x02,0x05,0x28,0x01,0x09,0x02,0x06,0x35,0x89,0x35,0x87,0x08,0x22,0x25,0x83,0x05,
+0x01,0x09,0x06,0xa1,0x01,0x85,0x01,0x75,0x01,0x95,0x08,0x05,0x07,0x19,0xe0,0x29,
+0xe7,0x15,0x00,0x25,0x01,0x81,0x02,0x95,0x01,0x75,0x08,0x81,0x03,0x95,0x05,0x75,
+0x01,0x05,0x08,0x19,0x01,0x29,0x05,0x91,0x02,0x95,0x01,0x75,0x03,0x91,0x03,0x95,
+0x06,0x75,0x08,0x15,0x00,0x25,0xff,0x05,0x07,0x19,0x00,0x29,0xff,0x81,0x00,0xc0,
+0x05,0x0c,0x09,0x01,0xa1,0x01,0x85,0x02,0x19,0x00,0x2a,0xff,0x03,0x15,0x00,0x26,
+0xff,0x03,0x95,0x01,0x75,0x10,0x81,0x00,0xc0,0x05,0x01,0x09,0x06,0xa1,0x01,0x85,
+0x07,0x05,0x07,0x19,0xe0,0x29,0xe7,0x15,0x00,0x25,0x01,0x75,0x01,0x95,0x08,0x81,
+0x00,0x95,0xa8,0x75,0x01,0x15,0x00,0x25,0x01,0x05,0x07,0x19,0x00,0x29,0xa8,0x81,
+0x02,0xc0,0x09,0x02,0x07,0x35,0x08,0x35,0x06,0x09,0x04,0x09,0x09,0x01,0x00,0x09,
+0x02,0x0b,0x09,0x01,0x00,0x09,0x02,0x0c,0x09,0x0c,0x80,0x09,0x02,0x0d,0x28,0x00,
+0x09,0x02,0x0e,0x28,0x01,0x09,0x02,0x0f,0x09,0x03,0x18,0x09,0x02,0x10,0x09,0x00,
+0x00,0x03,0x10,0x02,0x12,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x36,0x00,0xa1,0x09,
+0x00,0x00,0x0a,0x00,0x01,0x00,0x01,0x09,0x00,0x01,0x35,0x03,0x19,0x12,0x00,0x09,
+0x00,0x04,0x35,0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,0x01,0x35,0x03,0x19,0x00,
+0x01,0x09,0x00,0x06,0x35,0x09,0x09,0x65,0x6e,0x09,0x00,0x6a,0x09,0x01,0x00,0x09,
+0x00,0x09,0x35,0x08,0x35,0x06,0x19,0x12,0x00,0x09,0x01,0x00,0x09,0x01,0x00,0x25,
+0x2f,0x42,0x72,0x6f,0x61,0x64,0x63,0x6f,0x6d,0x20,0x42,0x6c,0x75,0x65,0x74,0x6f,
+0x6f,0x74,0x68,0x20,0x57,0x69,0x72,0x65,0x6c,0x65,0x73,0x73,0x20,0x4b,0x65,0x79,
+0x62,0x6f,0x61,0x72,0x64,0x20,0x50,0x6e,0x50,0x20,0x53,0x65,0x72,0x76,0x65,0x72,
+0x09,0x01,0x01,0x25,0x08,0x4b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x09,0x02,0x00,
+0x09,0x01,0x03,0x09,0x02,0x01,0x09,0x04,0xe8,0x09,0x02,0x02,0x09,0x70,0x21,0x09,
+0x02,0x03,0x09,0x00,0x01,0x09,0x02,0x04,0x28,0x01,0x09,0x02,0x05,0x09,0x00,0x02,
+0x00,0xaa,0x55,0x01,0x00,0x92,0x40,0x0a,0xaa,0x55,0x03,0x00,0x14,0x42,0xc5,0x4a,
+0x05,0xaa,0x55,0x10,0x00,0xf0,0x4f,0x00,0x1c,0xff,0x1f,0x00,0x1c,0x00,0x1c,0x80,
+0x4c,0xe0,0x4f,0x80,0x4c,0x80,0x4c,0xaa,0x55,0x02,0x00,0x68,0x46,0x20,0x0b,0xaa,
+0x55,0x01,0x00,0x6c,0x46,0x03,0xaa,0x55,0x01,0x00,0x6f,0x46,0x07,0xaa,0x55,0x01,
+0x00,0x79,0x46,0x00,0xaa,0x55,0x01,0x00,0x91,0x40,0x00,0xaa,0x55,0x03,0x00,0x54,
+0x41,0x00,0x01,0x08,0xaa,0x55,0x01,0x00,0x74,0x41,0x02,0xaa,0x55,0x02,0x00,0xe4,
+0x41,0x0e,0x00,0xaa,0x55,0x10,0x00,0xb9,0x4b,0xfc,0x54,0xcc,0xbb,0x96,0x8d,0x84,
+0x83,0x70,0x39,0xeb,0x2e,0x66,0xe9,0x60,0x4e,0xaa,0x55,0x06,0x00,0xd1,0x41,0x59,
+0x3a,0x98,0xe9,0xb6,0x98,0xaa,0x55,0x04,0x00,0xca,0x4b,0x05,0x2e,0x67,0xdd,0xaa,
+0x55,0x02,0x00,0xd9,0x4b,0xdb,0x4b,0xaa,0x55,0x10,0x00,0xbf,0x41,0xf0,0xc0,0x93,
+0xe2,0x91,0xfa,0x78,0x23,0xd0,0x48,0x17,0x4c,0x5d,0x13,0xeb,0x23,0xaa,0x55,0x01,
+0x00,0xdf,0x41,0x02,0xaa,0x55,0x07,0x00,0x76,0x41,0x0f,0x84,0xf0,0x0a,0x0b,0xb2,
+0x32,0xaa,0x55,0x02,0x00,0x57,0x41,0x8b,0x0b,0xaa,0x55,0x08,0x00,0xa1,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,0x02,0x00,0xbd,0x40,0x02,0x24,0xaa,
+0x55,0x08,0x00,0xad,0x40,0x40,0x00,0x00,0x02,0x32,0x00,0x00,0x02,0xaa,0x55,0x02,
+0x00,0xbb,0x40,0x20,0x00,0xaa,0x55,0x04,0x00,0xb7,0x40,0x20,0x00,0x00,0x20,0xaa,
+0x55,0x04,0x00,0xbf,0x40,0x80,0x04,0x00,0x10,0xaa,0x55,0x05,0x00,0xe2,0x44,0x08,
+0x0e,0x05,0x04,0x00,0xaa,0x55,0x02,0x00,0x02,0x42,0x30,0x1f,0xaa,0x55,0x01,0x00,
+0x10,0x42,0x20,0xaa,0x55,0x01,0x00,0xe0,0x41,0x01,0xaa,0x55,0x0f,0x00,0x6f,0x4b,
+0x4b,0xba,0x55,0xd0,0x56,0xe0,0x57,0x88,0x58,0x6c,0x59,0x10,0x07,0xff,0xff,0xaa,
+0x55,0x02,0x00,0xc3,0x40,0x6f,0x4b,0xf8,0xbc
+};
Index: shoubing/output/bt_format.meta
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_format.meta	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_format.meta	(working copy)
@@ -0,0 +1,7317 @@
+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_lpm_doze_switch
+0x4159 mem_esco_addr
+0x415a mem_sniff_unint_lost
+0x415b mem_ptt
+0x415c mem_sleep_counter//should be 0x41fc in REVC
+0x4160 mem_sleep_counter_all
+0x4164 mem_sleep_clkn
+0x416a mem_sniff_rcv
+0x416d mem_sniff_lost
+0x4170 mem_clks_per_lpo
+0x4173 mem_lpm_mult
+0x4174 mem_lpm_mult_timeout
+0x4175 mem_lpm_mult_cnt
+0x4176 mem_lpm_config
+0x4179 mem_lpm_xtalcnt
+0x417a mem_lpm_buckcnt
+0x417b mem_lpm_ldocnt
+0x417c mem_lpm_isogate
+0x417d mem_lpm_isogate_final
+0x417e mem_saved_gpio// should be 0x421e in REVC
+0x418e mem_saved_gsel
+0x4191 mem_saved_mark
+0x4199 mem_saved_spidctrl
+0x419a mem_patch_ptr
+0x419c mem_patch_len
+0x419e mem_timers
+0x41be mem_link_key_exists
+0x41bf mem_link_key
+0x41cf mem_hci_cmd
+0x41d0 mem_hci_conn_handle
+0x41d1 mem_hci_plap
+0x41d4 mem_hci_puap
+0x41d5 mem_hci_pnap
+0x41d7 mem_uartd_rxitems_got_data
+0x41d8 mem_uartd_rxitems_threshold
+0x41d9 mem_uartd_rx_timeout
+0x41db mem_loadcode_times
+0x41dc mem_tx_lch
+0x41dd mem_tx_len
+0x41df mem_tx_power
+0x41e0 mem_context_number
+0x41e1 mem_250k_freq_enable
+0x41e2 mem_rf_init_data
+0x41e3 mem_app_handshake_flag
+0x41e4 mem_sniff_param_interval
+0x41e6 mem_sniff_param_attempt
+0x41e8 mem_sniff_param_timeout
+0x41ea mem_cb_check_wakelock
+0x41ec mem_cb_before_hibernate
+0x41ee mem_cb_before_lpm
+0x41f0 mem_cb_le_process
+0x41f2 mem_cb_bt_process
+0x41f4 mem_cb_idle_process
+0x41f6 mem_cb_bb_event_process
+0x41f8 mem_cb_discovry_timeout
+0x41fa mem_cb_att_write
+0x41fc mem_cb_ble_transmit
+0x41fe mem_cb_event_timer
+0x4200 mem_cb_bt_set_mult
+0x4202 mem_eeprom_base
+0x4204 mem_unsniff2sniff_timer_count
+0x4205 mem_wake_up_delay_timer
+0x4206 mem_app_connection_options
+0x4207 mem_app_disconn_reason
+0x4209 mem_app_disconn_reason_flag
+0x420b mem_lpm_delay_after_sniff
+0x420f mem_xrecord_mode
+0x4210 mem_eeprom_block_size
+0x4211 mem_spi_init_clk
+0x4212 mem_spi_init_delay_time
+0x4213 mem_spi_ncs_gpio
+0x4214 mem_nv_data_ptr
+0x4216 mem_nv_data_number
+0x4217 mem_hci_lt_rx_state
+0x4218 mem_l2cap_xmem_start
+0x4218 mem_l2cap_tx_multi_offset//0 means single packet
+0x421a mem_sdp_remote_cid
+0x421c mem_rfcomm_remote_cid
+0x421e mem_hid_ctrl_remote_cid
+0x4220 mem_hid_int_remote_cid
+0x4222 mem_sdp_state
+0x4223 mem_rfcomm_state
+0x4224 mem_hid_control_state
+0x4225 mem_hid_interrupt_state
+0x4226 mem_spp_state
+0x4227 mem_ML2CAP_comm_id
+0x4228 mem_used_map
+0x4229 mem_tx_fifo0
+0x4229 mem_tx_fifo0_map
+0x422a mem_tx_fifo0_ptr
+0x422c mem_tx_fifo1
+0x422c mem_tx_fifo1_map
+0x422d mem_tx_fifo1_ptr
+0x422f mem_tx_fifo2
+0x422f mem_tx_fifo2_map
+0x4230 mem_tx_fifo2_ptr
+0x4232 mem_tx_fifo3
+0x4232 mem_tx_fifo3_map
+0x4233 mem_tx_fifo3_ptr
+0x4235 mem_tx_fifo_end
+0x4235 mem_l2cap_lpm_txbuf
+0x4335 mem_l2cap_flow_ctrl_flag
+0x4336 mem_l2cap_pending_item
+0x4337 mem_l2cap_xmem_end
+0x4337 mem_le_dsniff
+0x4339 mem_le_conn_interval
+0x433b mem_le_scan_enable
+0x433c mem_le_scan_interval
+0x433e mem_le_scan_window
+0x4340 mem_le_adv_enable
+0x4341 mem_le_adv_data_len
+0x4342 mem_le_adv_data
+0x4361 mem_le_scan_data_len
+0x4362 mem_le_scan_data
+0x4381 mem_le_name_len
+0x4382 mem_le_name
+0x43a0 mem_le_new_map
+0x43a5 mem_le_new_param
+0x43a5 mem_le_new_transmitwindowsize
+0x43a6 mem_le_new_transmitwindowoffset
+0x43a8 mem_le_new_conninterval
+0x43aa mem_le_new_connslavelatency
+0x43ac mem_le_new_connsupervisiontimeout
+0x43ae mem_le_txheader
+0x43af mem_le_txlen
+0x43b0 mem_le_txpayload
+0x43b2 mem_le_txcid
+0x43b4 mem_le_l2cap
+0x43b5 mem_le_l2cap_response
+0x43b6 mem_le_txbdy
+0x43d5 mem_le_pcnt_tx
+0x43da mem_le_pcnt_rx
+0x43df mem_le_last_mic
+0x43e3 mem_le_ivm
+0x43e7 mem_le_ivs
+0x43eb mem_le_ltk
+0x43fb mem_ltk_exists
+0x43fc mem_le_rconfirm
+0x440c mem_le_srand
+0x441c mem_le_iat
+0x441d mem_le_rat
+0x441e mem_le_preq
+0x441f mem_le_preq_iocap
+0x4420 mem_le_preq_oob
+0x4421 mem_le_preq_auth
+0x4422 mem_le_preq_max_keysize
+0x4423 mem_le_preq_init_key_distribution
+0x4424 mem_le_preq_resp_key_distribution
+0x4425 mem_le_pres
+0x4426 mem_le_pres_iocap
+0x4427 mem_le_pres_oob
+0x4428 mem_le_pres_auth
+0x4429 mem_le_pres_max_keysize
+0x442a mem_le_pres_init_key_distribution
+0x442b mem_le_pres_resp_key_distribution
+0x442c mem_le_search_handle_start
+0x442e mem_le_search_handle_end
+0x4430 mem_le_att_offset
+0x4430 mem_le_search_att_type_length
+0x4431 mem_le_search_att_type
+0x4441 mem_le_notify_handle
+0x4443 mem_le_search_uuid_length
+0x4444 mem_le_search_uuid
+0x4454 mem_le_adv_param
+0x4454 mem_le_adv_interval
+0x4456 mem_le_adv_type
+0x4457 mem_le_adv_own_addr_type
+0x4458 mem_le_adv_direct_addr_type
+0x4459 mem_le_adv_direct_addr
+0x445f mem_le_adv_channel_map
+0x4460 mem_le_conn_param
+0x4460 mem_le_conn_peer_addr_type
+0x4461 mem_le_conn_peer_addr
+0x4467 mem_le_conn_own_addr_type
+0x4468 mem_le_interval_min
+0x446a mem_le_interval_max
+0x446c mem_le_latency
+0x446e mem_le_timeout
+0x4470 mem_le_scan_params
+0x4470 mem_le_scan_type
+0x4471 mem_le_scan_own_addr_type
+0x4472 mem_le_lap
+0x4475 mem_le_uap
+0x4476 mem_le_nap
+0x4478 mem_le_local_mtu
+0x447a mem_le_remote_mtu
+0x447c mem_le_skdm
+0x4484 mem_le_skds
+0x448c mem_le_init_superto
+0x448e mem_ui_le_uuid_table
+0x4490 mem_le_secure_connect_enable
+0x4491 mem_le_secure_connect_flag
+0x4492 mem_le_sc_calc
+0x4493 mem_le_secure_connect_state
+0x4494 mem_le_sc_confirm_gkey_flag
+0x4495 mem_le_sc_local_key_invalid
+0x4496 mem_le_pairing_state
+0x4497 mem_le_enc_state
+0x4498 mem_le_pairing_mode
+0x4499 mem_le_tk
+0x449d mem_le_ediv
+0x449f mem_le_rand
+0x44a7 mem_le_irk
+0x44b7 mem_le_transmit_window
+0x44bb mem_le_configuration
+0x44bc mem_le_fixed_ltk
+0x44cc mem_le_pairing_handle
+0x44ce mem_le_l2cap_size
+0x44d0 mem_le_packet_len_recved
+0x44d1 mem_le_tx_buff_used
+0x44d2 mem_le_tx_ptr0
+0x44d4 mem_le_tx_ptr1
+0x44d6 mem_le_tx_ptr2
+0x44d8 mem_le_tx_ptr3
+0x44da mem_le_signaling_identifier
+0x44db mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x44dd mem_le_packet_size
+0x44de mem_le_packet_llid
+0x44df mem_le_payload_ptr
+0x44e1 mem_le_md_count
+0x44e2 mem_lmp_version
+0x44e5 mem_lmp_subversion
+0x44e7 mem_local_name_length
+0x44e8 mem_local_name
+0x44eb mem_local_name2
+0x452b mem_local_name_end
+0x452c mem_unsniff2sniff_timer
+0x452d mem_switch_flag
+0x452e mem_classic_bt_flag
+0x452f mem_pn_dlci
+0x4530 mem_pn_max_frame_size
+0x4532 memFCStemp1
+0x4533 memFCStemp2
+0x4534 memFCStemp3
+0x4535 mem_rfcomm_initiator
+0x4536 mem_remote_spp_channel
+0x4537 mem_HIUfcs_SPP
+0x4538 mem_HIUfcs_SPP_WCredits
+0x4539 mem_rfcomm_send_more_pkt
+0x453a mem_remote_credits
+0x453b mem_credit_given
+0x453c mem_ms_channel
+0x453d mem_credit_flag
+0x453e mem_rfcomm_max_frame_size
+0x4540 mem_rfcomm_credit_init_data
+0x4541 mem_cb_receive_spp_data
+0x4543 mem_nl_rx_data_src
+0x4545 mem_nl_rx_len_all
+0x4547 mem_ui_uuid_table
+0x4549 mem_all_uuid_16bits
+0x455f mem_all_uuid_128bits
+0x4581 mem_sdp_l2capch_ptr
+0x4583 mem_sp_local_key_invalid
+0x4584 mem_le_private_key_256
+0x45a4 mem_le_pubkey_local_x_256
+0x45c4 mem_le_pubkey_local_y_256
+0x45e4 mem_sp_private_key
+0x45fc mem_sp_pubkey_local
+0x45fc mem_sp_pubkey_local_x
+0x4614 mem_sp_pubkey_local_x_end
+0x4614 mem_sp_pubkey_local_y
+0x462c mem_ssp_enable
+0x462d mem_sp_iocap_local
+0x4630 mem_sp_iocap_remote
+0x4633 mem_flag_mode_ssp_pin
+0x4634 mem_ssp_mode_flag
+0x4635 mem_authentication_passkey_times
+0x4636 mem_passkey_1bit
+0x4637 mem_flag_pairing_state
+0x4638 mem_ipc_lock_bt
+0x4639 mem_ipc_lock_c51
+0x463a mem_ipc_fifo_bt2c51
+0x4642 mem_ipc_fifo_c512bt
+0x464a mem_ui_timer_last_btclk
+0x464e mem_discovery_timeout_timer_count
+0x4650 mem_hid_handshake_timer_count
+0x4651 memui_reconnect_mode
+0x4652 mem_ui_state_map
+0x4654 mem_ui_profile_supported
+0x4655 mem_discovery_timeout
+0x4657 mem_pin_length
+0x4658 mem_pin
+0x4668 mem_soft_version_num
+0x466a mem_current_packet_length
+0x466c mem_module_state
+0x466d mem_module_spp_lpm_mult
+0x466e mem_module_le_lpm_mult
+0x466f mem_module_bluetooth_stauts_by_command
+0x4670 mem_module_le_rx_data_len
+0x4671 mem_module_le_rx_data_address
+0x4673 mem_module_le_rx_data_handle
+0x4675 mem_module_data_write_handle
+0x4677 mem_module_data_write_handle2
+0x4679 mem_module_flag
+0x467a mem_module_hci_notify_len
+0x467b mem_module_hci_notify_handle
+0x467d mem_module_hci_nofiy_addr
+0x467f mem_last_transmite_clock
+0x4683 mem_module_uuid_list
+0x4975 mem_module_uuid_list_end
+0x4975 mem_module_le_att_list
+0x4ac5 mem_module_le_att_list_end
+0x4ac5 mem_module_nv_data
+0x4ac5 mem_module_nv_data0
+0x4ae7 mem_module_nv_data1
+0x4b09 mem_module_nv_data2
+0x4b2b mem_module_nv_data3
+0x4b4d mem_module_nv_data4
+0x4b6f mem_rf_init
+0x4b7e mem_classic_shutter_cable_unplug_conut
+0x4b7f mem_classic_shutter_hid_disconn_count
+0x4b80 mem_suspend_flag
+0x4b81 mem_24g_enter_hibernate
+0x4b81 mem_24g_txfail_cnt
+0x4b81 mem_mouse_retry_flag
+0x4b81 mem_24g_led_flag
+0x4b81 mem_24g_txbuf_new
+0x4b81 mem_24g_enter_hibernate_setup
+0x4b81 mem_24g_enter_hibernate_max
+0x4b81 mem_24g_rxdata_length
+0x4b81 mem_24g_pid
+0x4b81 mem_24g_datalen
+0x4b81 mem_24g_data_type
+0x4b81 mem_24g_txlen
+0x4b81 mem_24g_rx_window
+0x4b81 mem_24g_ensure
+0x4b81 mem_24g_get_ack_fail
+0x4b81 mem_24g_retry
+0x4b81 mem_24g_ch
+0x4b81 mem_24g_current_ch_number
+0x4b81 mem_24g_paring_addr
+0x4b81 mem_24g_pairing_sm
+0x4b81 mem_24g_ch_map1
+0x4b81 mem_24g_ch_map2
+0x4b81 mem_24g_ch_map3
+0x4b81 mem_24g_ch_map4
+0x4b81 mem_24g_addr
+0x4b81 mem_24g_check_dongle_times
+0x4b81 mem_24g_device_addr
+0x4b81 mem_24g_no_ack
+0x4b81 mem_24g_sta_crc
+0x4b81 mem_24g_sta_pid
+0x4b81 mem_24g_max_retry
+0x4b81 mem_24g_mode
+0x4b81 mem_24g_hop_pac_retry
+0x4b81 mem_24g_idle_timeout
+0x4b81 mem_24g_idle_cnt
+0x4b81 mem_24g_auto_paring_switch
+0x4b81 mem_24g_enter_lpm_timer
+0x4b81 mem_24g_syncword
+0x4b81 mem_24g_syncword_crc8
+0x4b81 mem_24g_get_syncword_crc8
+0x4b81 mem_24g_discard_cnt
+0x4b81 mem_cb_24g_data
+0x4b81 mem_24g_lasttx
+0x4b81 mem_power_ctrl_pac_succ_cnt
+0x4b82 mem_power_ctrl_level
+0x4b83 mem_rssi_avg_received
+0x4b84 mem_rssi_hex_received
+0x4b85 mem_rssi_signal_buf
+0x4b8d mem_rssi_noise_buf
+0x4b95 mem_rssi_noise_index
+0x4b96 mem_rssi_signal_index
+0x4b97 mem_read_otp_data
+0x4bb3 mem_en_24g_flag
+0x4bb4 mem_module_uart_len_new
+0x4bb6 mem_m_process_enable
+0x4bb7 mem_m_wake_send_window
+0x4bb9 mem_m_p_sequence
+0x4bc1 mem_m_access_code
+0x4bca mem_m_wake_data
+0x4bce mem_m_save_lmp_Ye
+0x4bd8 mem_btsniff
+0x4bd9 mem_test_ptr
+0x4bdb mem_test
+0x4bdb mem_test_data
+0x4bdc mem_ns_wake_up_flag
+0x4bdd mem_context_new
+0x0b1e mem_24g_rxbuf
+0x0b1e mem_24g_txbuf
+0x0b1e mem_24g_txpayload
+0x0b1e mem_24g_rxpayload
+0x0b1e mem_rssi_noise_buffer
+0x0c1e mem_rssi_noise_dg_buffer
+0x0d1e mem_rssi_noise_ms_buffer
+0x0e1e mem_rssi_noise_kb_buffer
+0x0f1e mem_24g_common_temp
+0x0f1e mem_m_process_sync_buffer
+0x0f37 mem_m_snd_op
+0x0f39 mem_m_rcv_op
+
+	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
+0x00a7 mem_air_mode
+0x00a8 mem_sco_asso_handle
+0x00a9 mem_sco_handle
+0x00ab mem_esco_desco
+0x00ac mem_esco_type
+0x00ad mem_neogotiation_state
+0x00ae mem_saved_amaddr
+0x00af mem_esco_arq
+0x00b0 mem_esco_saved_arq
+0x00b1 mem_sco_obuf
+0x00cf mem_sco_ibuf
+0x00ed mem_sco_poll
+0x00ee mem_npage_index
+0x00ef mem_page_mode
+0x00f0 mem_page_clk
+0x00f4 mem_tst_pktcnt_sync
+0x00f6 mem_tst_pktcnt_hec
+0x00f8 mem_tst_pktcnt_crc
+0x00fa mem_tst_pktcnt_dmh
+0x00fc mem_tmp_buffer_head
+0x00ff mem_tmp_buffer
+0x014f mem_tester_emulate
+0x0150 mem_temp_payload
+0x0150 test_mode_scenario
+0x0151 test_mode_hopping_mode
+0x0152 test_mode_tx_freq
+0x0153 test_mode_rx_freq
+0x0154 test_mode_power_mode
+0x0155 test_mode_poll_period
+0x0156 test_mode_packet_type
+0x0157 test_mode_data_length
+0x0159 mem_test_mode_old_debug_config
+0x015a mem_tester_cnt
+0x015b mem_temp_am_addr
+0x015c mem_temp_arq
+0x015d mem_len
+0x015f mem_clkn_bt
+0x0163 mem_clke_bt
+0x0167 mem_dpll_clkn
+0x016b mem_connection_options
+0x016c mem_nameres_cnt
+0x016d mem_txptr
+0x016f mem_slot_offset
+0x0171 extm_fhs_misc
+0x0172 extm_newconn_am_addr
+0x0173 extm_class
+0x0176 extm_lap
+0x0179 extm_uap
+0x017a extm_nap
+0x017d mem_debug_config
+0x017e mem_lch_code
+0x017f mem_fhs_am_addr
+0x0180 mem_dpll_error
+0x0182 mem_select_list_item
+0x0183 mem_temp_reconn_record
+0x0183 mem_record_bt_mode
+0x0184 mem_temp_lap
+0x018a mem_list_item_ptr
+0x018c 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
+0x0500 param_rx_ahead
+
+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 */
+17	  bt_trig
+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       contrub    /* uartb read ptr */
+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 */
+22       addhi    /* ahb bus address [24:16] */
+23       freq_index   /* 7 bit read only */
+24       regd    /* regext[1] */
+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 */
+42       branch_addr	/* last branch address */
+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		/* bit[0] init, bit[2:1] mode, bit[3] big endian, bit[4] load data, bit[5] load key */		
+55   	    rege			/* regext[3],regext[2] */
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+60       max_stack		/* maximum stack ptr */
+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
+)
+
+/* aes_ctrl */
+(
+0x01 aes_cbc
+0x02 aes_cfb
+0x04 aes_192
+0x08 aes_256
+0x10 aes_big_endian
+0x20 aes_initialize
+0x40 aes_load
+0x80 aes_zero
+)
+
+/* ========== 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
+14 m_wake_timer
+
+)
+
+(
+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
+2 wake_lock_m0_single
+
+3 wake_lock_ble_rx_patch
+4 wake_lock_ble_tx_patch
+
+5 wake_lock_ipc_bt2m0
+6 wake_lock_ipc_m02bt
+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
+)
+
+
+
+0x01f0 mem_ucode_status
+0x01f1 mem_otp_ucode_flag
+0x01f3 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f4 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f4 mem_addr_hi
+0x01f5 mem_addr_mi
+0x01f6 mem_addr_lo
+0x01f7 mem_iicd_addr
+0x01f8 mem_spid_rbuf
+0x01fc mem_ucode_buf
+0x01fe mem_ucode_len
+0x0200 mem_sched_addr
+0x0202 mem_ucode_ptr
+0x0204 mem_ucode_keybuf
+0x0214 mem_check_plap_temp
+0x0226 mem_reconnect_flag
+0x0227 mem_switch_fail_master_count
+0x0228 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
+)
+
+
+
+(
+0x4FEF 	IPC_HOLD_BT
+
+0x4FF0 IPC_BT2M0_START_ADDR
+0x4FF2 IPC_BT2M0_END_ADDR
+0x4FF4 IPC_BT2M0_READ_PTR
+0x4FF6 IPC_BT2M0_WRITE_PTR
+
+0x4FF8 IPC_M02BT_START_ADDR
+0x4FFA IPC_M02BT_END_ADDR
+0x4FFC IPC_M02BT_READ_PTR
+0x4FFE IPC_M02BT_WRITE_PTR
+)
+
+(//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
+)
+
+(
+0x1200 mem_l2cap_rxbuff2_new
+0x1400 mem_tx_buff0_new
+2 context_num_new
+)
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+	230 NL_RFCOMM_BUFF_LEN
+)
+
+
+(
+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
+
+0x70  HCI_CMD_SWITCH_WAKEUP
+
+0xee HCI_TEST_CMD_REBACK
+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
+)
+
+
+
+0x0229 mem_h5rx_ackcnt
+0x022a mem_check_err_acl_cont
+0x022b mem_rp_packets
+0x022c mem_packet_type
+0x022e mem_hci_sniff_conn_handle
+0x0230 mem_hci_sniff_max_interval
+0x0232 mem_hci_sniff_min_interval
+0x0234 mem_hci_sniff_attempt
+0x0236 mem_hci_sniff_timeout
+0x0238 mem_voice_setting
+0x023a mem_retransmission_effort
+0x023b mem_sco_ptype
+0x023d mem_extm_uap_restore
+0x0240 mem_h5rx_rptr
+0x0242 mem_h5rx_ack
+0x0243 mem_h5tx_ack
+0x0244 mem_h5tx_rptr
+0x0246 mem_h5tx_wptr
+0x0248 mem_h5tx_free
+0x024a mem_h5rx_tmp
+0x024b mem_h5tx_seq
+0x024c mem_hci_acl_queue_wptr
+0x024e mem_hci_acl_queue_rptr
+0x0250 mem_hci_acl_queue_end
+0x0252 mem_hci_acl_queue_wcnt
+0x0253 mem_hci_acl_cnt
+0x0254 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x0256 mem_hci_curr_len
+0x0257 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
+)
+
+
+
+0x0259 mem_l2cap_mem_start
+0x0259 mem_l2cap_rxbuff1_len
+0x025b mem_l2cap_rxbuff2_len
+0x025d mem_l2cap_rxbuff_new
+0x025f mem_l2cap_rxbuff_inuse
+0x0260 mem_l2cap_payload_ptr
+0x0262 mem_l2cap_rx_pkt_length
+0x0264 mem_l2cap_rx_cid
+0x0266 mem_l2cap_rx_done
+0x0267 mem_l2cap_signal_tx_buff_ptr
+0x0269 mem_l2cap_signal_tx_payload_ptr
+0x026b mem_l2cap_signal_tx_length
+0x026d mem_sdp_tx_buff_ptr
+0x026f mem_sdp_tx_payload_ptr
+0x0271 mem_sdp_tx_pkt_length
+0x0273 mem_rfcomm_tx_buff_ptr
+0x0275 mem_rfcomm_tx_payload_ptr
+0x0277 mem_rfcomm_tx_pkt_length
+0x0279 memL2CAP_T1
+0x027b mem_CONTROL_tasks
+0x027c mem_send_config_req
+0x027d mem_config_identifier
+0x027e mem_config_req_dest_CID
+0x0280 mem_rfcomm_malloc_fail_flag
+0x0281 mem_message_to_uppersm
+0x0282 mem_upper_sm_remote_page
+0x0283 mem_upper_sm_reconn
+0x0284 mem_upper_sm_ss
+0x0285 mem_tx_malloc_log
+0x02c5 mem_l2cap_mem_end
+0x02c5 mem_scid
+0x02c7 mem_cmd_length
+0x02c9 mem_tt2
+0x02cb mem_tt3
+0x02cd mem_id
+0x02cf mem_psm
+0x02d1 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
+)
+
+
+0x02d5 mem_le_rxbuf
+0x030d mem_le_l2capbuf
+0x0413 mem_le_mic
+0x0417 mem_le_peer_mic
+0x041b mem_le_peer_ltk
+0x042b mem_le_mrand
+0x043b mem_le_state
+0x043c mem_le_mode
+0x043d mem_le_tsniff
+0x043f mem_le_anchor
+0x0443 mem_le_clk_offset
+0x0449 mem_le_receive_window
+0x044b mem_le_plap
+0x0451 mem_le_conn_handle
+0x0452 mem_le_arq
+0x0453 mem_le_ch
+0x0454 mem_le_hop
+0x0455 mem_le_event_count
+0x0457 mem_le_supervision_timer
+0x045b mem_le_instant
+0x045d mem_le_channels
+0x045e mem_le_op
+0x045f mem_le_access
+0x0463 mem_le_crcinit
+0x0466 mem_le_window_size
+0x0467 mem_le_slave_latency
+0x0469 mem_le_superto
+0x046b mem_le_channel_map
+0x0470 mem_le_no_using
+0x0472 mem_le_peer_sca
+0x0473 mem_le_att_opcode
+0x0474 mem_le_att_handle
+0x0476 mem_le_err_code
+0x0477 mem_le_ll_pairing_fail_reason
+0x0478 mem_le_sk
+0x0488 mem_le_testtype
+0x0489 mem_le_test_sync
+0x048b mem_le_test_pcnt
+0x048d mem_le_rxon_ts
+0x0493 mem_le_rx_ll_opcode
+0x0494 mem_le_notify_attr_start
+0x0496 mem_le_notify_len
+0x0497 mem_cmd_le_create_conn
+0x0498 mem_le_cur_attlist_start_ptr
+0x049a mem_le_cur_handle_start
+0x049c mem_le_cur_handle_end
+0x049e mem_le_cur_uuid_length
+0x049f mem_le_cur_uuid
+0x04af mem_le_curr_att_len
+0x04b0 mem_le_search_res
+0x04b1 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
+)
+
+
+
+
+0x04b2 mem_lmo_header_length
+0x04b3 mem_lmo_header_opcode
+0x04b4 mem_lmo_payload
+0x04c5 mem_lmi_accepted_opcode
+0x04c6 mem_disconn_reason_send
+0x04c7 mem_tx_fixed_freq
+0x04c8 mem_rx_fixed_freq
+0x04c9 mem_ext_features_page
+0x04ca mem_lmpext_ssp_enable
+0x04cc mem_remote_sppcap
+0x04cd mem_lmp_conn_state
+0x04ce mem_soft_timer
+0x04d0 mem_pincode_state
+0x04d1 mem_sres_tid
+0x04d2 mem_accptsco_tid
+0x04d3 mem_auth_enable
+0x04d4 mem_wait_encryption
+0x04d5 mem_sniff_payload
+0x04e5 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
+
+	66 LMP_M_TEST_REQ 
+
+	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
+  0x8001 core_revid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x800a core_dma_start
+  0x800b core_sbc_clr
+  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_rthalfslot
+  0x8042 core_clksel
+  0x8043 core_config 
+  0x8044 core_sec_rsaddr
+  0x8046 core_sec_readdr
+  0x8048 core_sec_tsaddr
+  0x804a core_sec_teaddr
+  0x804c core_lpm_reg
+  0x804e core_lpm_isogate
+
+  0x8100 core_clkn
+  0x8104 core_extmclk
+  0x8108 core_misc_status
+  0x8109 core_debug_baud
+  0x810a core_ccnt_counter
+  0x810e core_gpio_in
+  0x811c core_lpm_ctrl
+  0x8123 core_lpm_ldocnt
+  0x8124 core_lpm_xtalcnt
+  0x8125 core_lpm_buckcnt
+  0x8126 core_lpm_switch
+  0x8127 core_lpm_buckcfg
+  0x8130 core_gpio_wakeup
+
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  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
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+
+  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
+  0x8956 rf_tx_mix
+  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
+  0x8972 rf_saradc_ctrl
+  0x8973 rfen_chgpump
+  0x897a rf_audio_voll
+  0x897b rf_audio_volr
+  0x897e rfen_aadc
+  0x897f rf_audio_pddac0
+  0x8980 rf_audio_pddac1
+  0x8981 rf_audio_dac_ldo
+
+  0x8990 rf_rccal_result
+  0x8991 rf_afc_d2a
+  0x8992 rf_rssi
+
+
+0x8c00 core_usb_config		
+0x8c01 core_usb_int_mask	
+0x8c04 core_usb_addr
+0x8c10 core_usb_trig	
+0x8c11 core_usb_stall		
+0x8c12 core_usb_clear		
+0x8c18 core_usb_ep
+0x8c18 core_usb_dfifo0 
+0x8c19 core_usb_dfifo1  
+0x8c1a core_usb_dfifo2 
+0x8c20 core_usb_ep_len
+0x8c26 core_usb_status		
+0x8c27 core_usb_fifo_empty
+0x8c28 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
+
+(
+  7 cold_wake
+  3 gpio_latch
+  6 enable_retmem
+  19 hibernate
+  20 xram_switch
+  21 pram_switch
+  23 isogate
+  0xb0 isogate_mask
+)
+
+// misc ctrl
+(
+  0x04 set_tea_key
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+
+// dma start
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 qspi_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
+)
+
+// core_misc_status
+(
+  0 CCNT_DONE
+  1 KICKED
+  2 SEC_PWRUP
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x2dc6c00 uart_clk
+
+//core_config
+(
+3 CLOCK_ON_AUTH_ROM
+)
+
+
+/*****************************************************************************/
+/* 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 */
+/**********/
+
+0x04e9 memRemoteRPNBitRate
+0x04ea memRemotePRNDataBits
+0x04eb memRemotePRNStopBit
+0x04ec memRemotePRNParity
+0x04ed memRemotePRNFlowControl
+0x04ee memRemotePRNXon
+0x04ef memRemotePRNXoff
+0x04f0 mem_mod2div_temp
+0x04f3 mem_contw_temp
+0x04f5 mem_attrib_list
+0x04f7 mem_current_adss
+0x04f8 mem_current_channel
+0x04f9 mem_current_frame_type
+0x04fa mem_current_fcs
+0x04fb mem_current_length
+0x04fd mem_rfcomm_uih_payload_ptr
+0x04ff mem_uih_cmd_type
+0x0500 mem_uih_length
+0x0502 mem_param_payload_ptr
+0x0504 mem_ms_param
+0x0505 mem_pn_credit_flow_type_info
+0x0506 mem_pn_priority
+0x0507 mem_pn_acknowledg_timer
+0x0508 mem_pn_max_retrans
+0x0509 mem_rfcomm_send_adss
+0x050a mem_rfcomm_send_frame_type
+0x050b mem_rfcomm_send_fcs
+0x050c 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
+	)
+0x050d mem_sdp_mem_start
+0x050d mem_sdp_uuid_search_ptr
+0x0515 mem_sdp_continue_byte
+0x0517 mem_sdp_pduid
+0x0518 mem_sdp_transactionid
+0x051a mem_sdp_transactionid_local
+0x051c mem_sdp_attribute_maxbyte
+0x051e mem_sdp_record_maxcnt
+0x0520 mem_sdp_record_handle
+0x0524 mem_sdp_LACAP_found
+0x0525 mem_sdp_RFCOMM_found
+0x0526 mem_sdp_handle_list
+0x0526 mem_sdp_attrib_list
+0x0546 mem_sdp_error_code
+0x0548 mem_sdp_all_length
+0x054a mem_handle_humber
+0x054b mem_search_uuid
+0x054d 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
+)
+
+ 
+
+0x054d mem_rxbuf
+0x055e mem_random_number
+0x056e mem_round_key
+0x057e mem_kinit
+0x058e mem_input_store
+0x059e mem_x
+0x05ae mem_y
+0x05bd mem_y15
+0x05be mem_key_store
+0x05cf mem_key_store_end
+0x05d0 memp_ar_key
+0x05d2 memp_ar_input
+0x05d4 mem_ar_hround
+0x05de mem_ec_infinite
+0x05df mem_ec_loopc
+0x05e1 mem_aes_cmac_data_length
+0x05e2 memdat
+0x05e2 mem_ax
+0x05fa mem_ay
+0x0612 mem_az
+0x062a mem_bx
+0x0642 mem_ax_256//32 bytes
+0x0642 mem_by
+0x065a mem_bz
+0x0662 mem_ay_256// 32 bytes
+0x0672 mem_cx
+0x0682 mem_az_256// 32 bytes
+0x068a mem_cy
+0x06a1 mem_cy5
+0x06a2 mem_bx_256// 32 bytes
+0x06a2 mem_cz
+0x06ba mem_k
+0x06c2 mem_by_256// 31 bytes
+0x06d2 mem_align
+0x06e2 mem_bz_256//32 bytes
+0x06e2 mem_tmp1
+0x06e2 memahbak
+0x06fa mem_tmp5
+0x0702 mem_cx_256//32 bytes
+0x0702 memahsave
+0x0712 mem_tmp2
+0x0722 mem_cy_256// 32 bytes
+0x0722 memahsave_end
+0x0722 mem_addr_padding
+0x0723 mem_addr_value/* 12 bytes     */ 
+0x072a mem_tmp3
+0x072a mem_t1
+0x072f mem_addr_value_end
+0x0732 mem_addr_iocap_end
+0x0741 mem_cy5_256// 1 byte
+0x0742 mem_cz_256// 32 bytes
+0x0742 mem_tmp0
+0x0742 mem_t0
+0x074a mem_tmp0a
+0x075a mem_t2
+0x0762 mem_k_256//32 bytes
+0x0772 mem_t3
+0x0782 mem_tmp1_256//32 bytes
+0x078a mem_t7
+0x07a2 mem_tmp5_256
+0x07c2 mem_tmp2_256
+0x07e2 mem_tmp3_256
+0x07e2 mem_t1_256
+0x0802 mem_tmp0_256
+0x0802 mem_t0_256
+0x0822 mem_t2_256
+0x0842 mem_t3_256
+0x0862 mem_t7_256
+0x0882 mem_p
+0x089a mem_a
+0x08b2 mem_b
+0x08ca mem_gx
+0x08e2 mem_gy
+0x08fa memh0
+0x091a mem_p_256
+0x093a mem_a_256
+0x095a mem_gx_256
+0x097a mem_gy_256
+0x099a mem_le_slat
+
+
+/* simple pairing page */
+
+0x09aa mem_sp_state_start
+0x09aa mem_sp_state
+0x09ab mem_master_sp_state
+0x09ac mem_sp_flag
+0x09ad mem_master_sp_flag
+0x09ae mem_sp_calc
+0x09af mem_sp_dh_ready
+0x09b0 mem_sp_localsm
+0x09b1 mem_pairing_auth
+0x09b2 mem_sp_flag_start
+0x09b2 mem_sp_local_key_send_count
+0x09b3 mem_sp_remote_key_recv_count
+0x09b4 mem_sp_remote_key_invalid
+0x09b5 mem_sp_dhkey_invalid
+0x09b6 mem_gkey
+0x09ba mem_le_pubkey_remote_x_256
+0x09c2 mem_sp_pubkey_remote
+0x09c2 mem_sp_pubkey_remote_x
+0x09da mem_sp_pubkey_remote_x_end
+0x09da mem_le_pubkey_remote_y_256
+0x09e2 mem_sp_pubkey_remote_y
+0x09fa mem_le_dhkey_256
+0x0a02 mem_sp_dhkey
+0x0a1a mem_sp_dhkey_end
+0x0a1a mem_sp_random_local
+0x0a2a mem_sp_random_local_end
+0x0a2a mem_sp_random_remote
+0x0a3a mem_sp_random_remote_end
+0x0a3a memresult
+0x0a3a mem_sp_calc_result
+0x0a3a memh
+0x0a3e memg
+0x0a42 memf
+0x0a46 meme
+0x0a4a mem_sp_calc_result_high
+0x0a4a memd
+0x0a4e memc
+0x0a52 memb
+0x0a56 mema
+0x0a5a mem_sp_check_result
+0x0a6a mem_sp_confirm_remote
+0x0a7a 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 ============== */
+0x0a8a mem_UI_data_txbuff_length
+0x0a8c mem_ipc_skip_continue_proc
+0x0a8d mem_ui_timer_temp//length 4
+0x0a8d 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
+)
+
+(
+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
+
+
+0x42 BT_EVT_HID_INT_CONNECT
+0x43 BT_EVT_SNIFF_REPORT
+)
+//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
+)
+
+
+
+
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+0x0a91 mem_hold_contr
+0x0a93 mem_hold_contw
+0x0a95 mem_fifo_temp
+0x0a96 mem_pdatatemp
+0x0a9e mem_temp//8 bytes
+0x0aa6 mem_timeup// 4 bytes
+0x0aaa mem_rega//4 bytes
+0x0aae mem_regb//4 bytes
+0x0ab2 mem_regc//3 bytes
+0x0ab5 mem_contr//2 bytes
+0x0ab7 mem_contw//2 bytes
+0x0ab9 mem_wakup_from_power_flag
+0x0aba mem_saved_gpio_in
+0x0abe mem_shutter_random_mac_data_temp
+0x0abe mem_shutter_config_data_temp
+0x0abe mem_le_adv_channel_map_temp
+0x0abe mem_le_data_len_temp//1byte
+0x0abe mem_tx_fifo_map_temp
+0x0abe mem_rpn_dlci//1byte
+0x0abe mem_event_cmd_response_content//2byte
+0x0abe mem_le_prand//16byte
+0x0abe mem_AES_CMAC_k//16 bytes
+0x0abe mem_regext_index//1 bytes
+0x0abe mem_temp_block0
+0x0abf mem_le_data_temp//15bytes
+0x0abf mem_temp_block1
+0x0ace mem_le_aes_128//16byte
+0x0ace mem_regext//64 bytes
+0x0ace mem_AES_CMAC_k1//16 bytes
+0x0ace mem_temp_block2
+0x0ade mem_AES_CMAC_k2//16 bytes
+0x0ade mem_temp_block3
+0x0aee mem_AES_CMAC_temp// 16 bytes
+0x0aee mem_temp_block4
+0x0afe mem_AES_CMAC_M_last// 16 bytes
+0x0afe mem_module_uart_cmd
+0x0aff mem_module_uart_opcode
+0x0b00 mem_module_uart_len
+0x0b01 mem_module_temp_nl_discard_packet
+0x0b02 mem_temp_block5
+0x0b0e mem_le_mackey//16 bytes
+0x0b0e mem_app_receive_temp
+0x0b0e mem_key_value_temp
+0x0b10 mem_key_value
+0x0b12 mem_key_value_temp1
+0x0b13 mem_key_value_temp2
+0x0b14 mem_key_value_temp3
+0x0b15 mem_key_value_temp4
+0x0b16 mem_key_value_temp5
+0x0b17 mem_key_value_temp6
+0x0b18 mem_temp_block6
+
+
+(
+/*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
+)
+
+(
+0x55aa OTP_INIT_VAL
+)
+(
+0x18508 sec_otp_addr
+0x1850a sec_otp_ctrl
+0x1850c sec_otp_data
+)
+
+//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 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+0x4e G24_PAIR_CH
+)
+
+(
+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
+)
+
+/* 24g */
+(
+6 dlen_24g
+14 plen_24g
+90 blen_tx_24g
+106 blen_rx_24g
+42 blen_txack_24g
+58 blen_rxack_24g
+7 retry_24g
+0xaaf08e acc_24g
+0x15c4 crc_data_3byte
+0xbb81 crc_data_6byte
+0x4160 crc_ack
+41390 crc_ack_4byte
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+(
+249 LE_BASEBAND_MAX_BUFFER
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+(//Command
+0x15 HCI_CMD_SET_COD
+0x76 HCI_CMD_DELETE_CUSTOMIZE_SERVICE
+0x77 HCI_CMD_ADD_SERVICE_UUID
+0x78 HCI_CMD_ADD_CHARACTERISTIC_UUID
+
+0xb0 HCI_CMD_SEND_HID_DATA
+0xb1 HCI_CMD_CREAT_BT_RECONNECT
+0xb2 HCI_CMD_SEND_HID_CONTROL_DATA
+
+
+0xc0 HCI_CMD_START_24G
+0xC1 HCI_CMD_STOP_24G
+0xC2 HCI_CMD_PAIR_24G
+0xC3 HCI_CMD_DISCONNECTED_24G
+0xC4 HCI_CMD_SEND_24G_DATA
+
+
+0xa0 HCI_CMD_RESET_SDP_SERVICE
+0xa1 HCI_CMD_SET_FEATURE
+0xa2 HCI_CMD_SET_SNIFF
+
+0xfe HCI_CMD_ALL_ROUND
+)
+
+(//event
+0x29 HCI_EVENT_UUID_HANDLE
+
+0xb0 HCI_EVENT_BT_HID_CONNECT
+0xb1 HCI_EVENT_BT_RECONNECT_FAIL
+0xb2 HCI_EVENT_RECEIVE_BT_HID_DATA
+0xb3 HCI_EVENT_BLE_HID_CONNECT
+0xb4 HCI_EVENT_BLE_ENC_INFO
+0xb5 HCI_EVENT_BT_ENC_INFO
+0xb6 HCI_EVENT_BT_HID_DISCONNECT
+0xb7 HCI_EVENT_HID_INT_CONNECT
+0xb8 HCI_EVENT_HID_SNIFF_REPORT
+
+
+0xb9  HCI_EVNET_BB_CONN
+0xba HCI_EVNET_NS_WAKE_UP
+
+
+0xc0 HCI_EVENT_24G_PAIRING_COMPLETE
+0xC1 HCI_EVENT_24G_ATTEMPT_FAIL
+0xC2 HCI_EVENT_24G_ATTEMPT_SUCCESS
+0xC3 HCI_EVENT_24G_RECEIVE_LOCK
+0xC4 HCI_EVENT_24G_PC_SLEEP
+)
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(
+0x0007 HANDLE_UUID_CHRCTR_DEVICE_NAME
+0x000e HANDLE_UUID_CHRCTR_MANUFACTURER_NAME
+0x0010 HANDLE_UUID_PNP_ID
+0x0021 HANDLE_UUID_CHRCTR_REPORT_ID1_OUTPUT
+0x002d HANDLE_UUID_END
+)
+(
+	7 MODULE_READ_OTP_BIT
+)
+
+//mem_ui_state_map
+(
+12 UI_STATE_BT_HID_CONNECT
+)
+	/* LE control packet type */
+	(
+	0x14 LL_LENGTH_REQ
+	0x15 LL_LENGTH_RSP
+	)
+(
+0 BIT_CHARACTERISTIC_BROADCAST
+1 BIT_CHARACTERISTIC_READ
+2 BIT_CHARACTERISTIC_WRITE_WITHOUT_RESPONSE
+3 BIT_CHARACTERISTIC_WRITE
+4 BIT_CHARACTERISTIC_NOTIFY
+5 BIT_CHARACTERISTIC_INDICATE
+6 BIT_CHARACTERISTIC_SIGNED_WRITE
+7 BIT_CHARACTERISTIC_EXTENDED_PROPERTIES
+)
+
+
+(// mem_bb_flag
+0 OLD_PACKET				//0:new packet   1: old packet  
+1 USE_BB_BUFFER_NOW		//0:BB BUFFER1  1:BB BUFFER2
+)
+(
+0 CACHE_BUFFER_FLAG
+1 CACHE_BUFFER_LCH
+2 CACHE_BUFFER_LEN
+4 CACHE_BUFFER_DATA_PTR
+
+
+)
+(
+0x0b1b mem_bb_cache_bufptr
+0x0b1d mem_bb_flag
+
+0x0b20 mem_baseband_buffer1_flag
+0x0b21 mem_baseband_buffer1_lch
+0x0b22 mem_baseband_buffer1_len
+0x0b24 mem_baseband_buffer1
+
+0x0c20 mem_baseband_buffer2_flag
+0x0c21 mem_baseband_buffer2_lch
+0x0c22 mem_baseband_buffer2_len
+0x0c24 mem_baseband_buffer2 
+)
+
+/* 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 storer          /* write reg to memory, address from immediate then mem_ptr */
+  % reg
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] reg               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0c store          /* write pdata to memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0c storet          /* write temp to memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               
+  [4] num_bytes
+  [17] addr
+end
+
+
+format
+  ! 0x1c istorer        /* write regr to memory, address from regaddr */
+  % regr
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] regr            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1c istore        /* write pdata to memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 63            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1c istoret        /* write temp to memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 2            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+
+format
+  ! 0x0d fetchr          /* read reg from memory, address from immediate then mem_ptr */
+  % reg
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] reg               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0d fetch          /* read pdata from memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x0d fetcht          /* read temp from memory, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               
+  [4] num_bytes
+  [17] addr
+end
+
+format
+  ! 0x1d ifetchr        /* read regr from memory, address from regaddr */
+  % regr
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] regr            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1d ifetch        /* read pdata from memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 63            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1d ifetcht        /* read temp from memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 2            
+  [4] num_bytes
+  [11] 0
+  [6] regaddr
+end
+
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63               /* memory */
+  [4] num_bytes
+  [1] 0
+  [1] 1
+  [15] addr
+end
+
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [4] 0
+  [17] 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 */
+  [4] 0
+  [17] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [2] 0
+  [17] 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 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: shoubing/output/bt_program23.icode
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.icode	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.icode	(working copy)
@@ -0,0 +1,17535 @@
+ 00000000  0x00000040 bbit1  0x00000008 , 0x0000001a 
+ 00000001  0x00000042 beq  0x00000001 , 0x000003b5 
+ 00000002  0x00000043 beq  0x00000003 , 0x000003bb 
+ 00000003  0x00000045 beq  0x00000005 , 0x00000036 
+ 00000004  0x00000046 beq  0x0000002e , 0x00000033 
+ 00000005  0x00000048 beq  0x0000005f , 0x0000007b 
+ 00000006  0x00000049 beq  0x00000060 , 0x00000080 
+ 00000007  0x0000004a beq  0x0000005d , 0x00000061 
+ 00000008  0x0000004b beq  0x0000005e , 0x00000070 
+ 00000009  0x0000004c beq  0x00000070 , 0x00000050 
+ 00000010  0x0000004e beq  0x00000079 , 0x0000009f 
+ 00000011  0x0000004f beq  0x0000003d , 0x0000038c 
+ 00000012  0x00000050 beq  0x00000085 , 0x000003bd 
+ 00000013  0x00000051 beq  0x00000089 , 0x000003e3 
+ 00000014  0x00000053 beq  0x00000094 , 0x0000039b 
+ 00000015  0x00000054 beq  0x000000a2 , 0x000003ec 
+ 00000016  0x00000056 beq  0x000000a3 , 0x000003a6 
+ 00000017  0x00000057 beq  0x000000a9 , 0x000003a9 
+ 00000018  0x00000058 beq  0x000000ac , 0x000003f3 
+ 00000019  0x0000005b beq  0x000000b8 , 0x000000ca 
+ 00000020  0x0000005c beq  0x000000bb , 0x00000148 
+ 00000021  0x0000005d beq  0x000000bc , 0x000001f7 
+ 00000022  0x0000005e beq  0x000000be , 0x00000680 
+ 00000023  0x0000005f beq  0x000000c8 , 0x000000a8 
+ 00000024  0x00000060 beq  0x000000db , 0x00000098 
+ 00000025  0x00000061 branch  0x00004a8b 
+ 00000026  0x00000064 beq  0x00000003 , 0x000005cb 
+ 00000027  0x00000065 beq  0x00000005 , 0x000005c2 
+ 00000028  0x00000066 beq  0x00000006 , 0x000003de 
+ 00000029  0x00000067 beq  0x00000013 , 0x000005ee 
+ 00000030  0x00000068 beq  0x0000001f , 0x000005d7 
+ 00000031  0x00000069 beq  0x00000021 , 0x000005e9 
+ 00000032  0x0000006a beq  0x00000030 , 0x000000a2 
+ 00000033  0x0000006b beq  0x0000003c , 0x0000020f 
+ 00000034  0x0000006c beq  0x0000003a , 0x0000021d 
+ 00000035  0x0000006d beq  0x0000003d , 0x0000022d 
+ 00000036  0x0000006e beq  0x0000003f , 0x0000023a 
+ 00000037  0x0000006f beq  0x0000003e , 0x00000240 
+ 00000038  0x00000070 beq  0x00000041 , 0x00000268 
+ 00000039  0x00000071 beq  0x00000099 , 0x0000026e 
+ 00000040  0x00000072 beq  0x000000a3 , 0x0000002a 
+ 00000041  0x00000073 branch  0x00004a8b 
+ 00000042  0x00000075 call  0x0000669e 
+ 00000043  0x00000076 nbranch  0x00007bfd , 0x00000034 
+ 00000044  0x00000078 fetch  0x00000001 , 0x00000a95 
+ 00000045  0x00000079 bmark0  0x00000009 , 0x00007bf8 
+ 00000046  0x0000007a beq  0x00000004 , 0x00000030 
+ 00000047  0x0000007b branch  0x00007bed 
+ 00000048  0x0000007e jam  0x00000007 , 0x0000007c 
+ 00000049  0x0000007f jam  0x00000013 , 0x000004c6 
+ 00000050  0x00000080 rtn 
+ 00000051  0x00000082 arg  0x00004bdd , 0x00000011 
+ 00000052  0x00000083 arg  0x00000002 , 0x00000039 
+ 00000053  0x00000084 branch  0x00004260 
+ 00000054  0x00000088 call  0x0000425a 
+ 00000055  0x00000089 nbranch  0x0000003e , 0x00000005 
+ 00000056  0x0000008a call  0x00004206 
+ 00000057  0x0000008b add  0x00000011 , 0x00000001 , 0x00000006 
+ 00000058  0x0000008c ifetch  0x00000001 , 0x00000006 
+ 00000059  0x0000008d bbit1  0x00000000 , 0x0000573a 
+ 00000060  0x0000008e bbit1  0x00000001 , 0x00004162 
+ 00000061  0x0000008f branch  0x000043cb 
+ 00000062  0x00000091 call  0x00000040 
+ 00000063  0x00000092 branch  0x0000402c 
+ 00000064  0x00000097 arg  0x00000002 , 0x00000039 
+ 00000065  0x00000098 fetcht  0x00000001 , 0x00000015 
+ 00000066  0x0000009a increase  0x00000001 , 0x00000002 
+ 00000067  0x0000009b compare  0x00000002 , 0x00000002 , 0x000000ff 
+ 00000068  0x0000009c nbranch  0x00000046 , 0x00000001 
+ 00000069  0x0000009d arg  0x00000000 , 0x00000002 
+ 00000070  0x0000009f storet  0x00000001 , 0x00000015 
+ 00000071  0x000000a0 mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00000072  0x000000a1 arg  0x00004bdd , 0x00000011 
+ 00000073  0x000000a2 iadd  0x00000011 , 0x00000011 
+ 00000074  0x000000a3 ifetch  0x00000001 , 0x00000011 
+ 00000075  0x000000a4 bbit1  0x00000001 , 0x0000004e 
+ 00000076  0x000000a5 rtnbit1  0x00000000 
+ 00000077  0x000000a6 rtnbit1  0x00000003 
+ 00000078  0x000000a8 loop  0x00000042 
+ 00000079  0x000000a9 rtn 
+ 00000080  0x000000ad set0  0x00000001 , 0x00000000 
+ 00000081  0x000000af jam  0x00000000 , 0x00000266 
+ 00000082  0x000000b0 fetch  0x00000001 , 0x0000025f 
+ 00000083  0x000000b1 rtn  0x00000034 
+ 00000084  0x000000b2 isolate1  0x00000000 , 0x0000003f 
+ 00000085  0x000000b3 arg  0x00001000 , 0x00000006 
+ 00000086  0x000000b4 call  0x00005153 , 0x00000001 
+ 00000087  0x000000b6 fetch  0x00000001 , 0x00000266 
+ 00000088  0x000000b7 beq  0x00000001 , 0x00004737 
+ 00000089  0x000000b9 jam  0x00000000 , 0x00000266 
+ 00000090  0x000000ba fetch  0x00000001 , 0x0000025f 
+ 00000091  0x000000bb rtnbit0  0x00000001 
+ 00000092  0x000000bc arg  0x00001200 , 0x00000006 
+ 00000093  0x000000bd call  0x00005153 
+ 00000094  0x000000be fetch  0x00000001 , 0x00000266 
+ 00000095  0x000000bf beq  0x00000001 , 0x0000473d 
+ 00000096  0x000000c0 rtn 
+ 00000097  0x000000c5 bmark1  0x0000000f , 0x0000461c 
+ 00000098  0x000000c6 fetch  0x00000002 , 0x0000015d 
+ 00000099  0x000000c7 arg  0x000001e0 , 0x00000002 
+ 00000100  0x000000c8 isub  0x00000002 , 0x0000003e 
+ 00000101  0x000000c9 branch  0x00004639 , 0x00000002 
+ 00000102  0x000000ca fetch  0x00000001 , 0x0000025f 
+ 00000103  0x000000cb bbit1  0x00000001 , 0x00004649 
+ 00000104  0x000000cc bbit0  0x00000000 , 0x000045c5 
+ 00000105  0x000000cd bbit0  0x00000001 , 0x0000006b 
+ 00000106  0x000000ce branch  0x00004649 
+ 00000107  0x000000d1 jam  0x00000002 , 0x0000025d 
+ 00000108  0x000000d2 fetch  0x00000002 , 0x0000025b 
+ 00000109  0x000000d3 bne  0x00000000 , 0x00004649 
+ 00000110  0x000000d4 arg  0x00001200 , 0x00000005 
+ 00000111  0x000000d5 branch  0x000045e0 
+ 00000112  0x000000d9 bmark1  0x0000000f , 0x0000461c 
+ 00000113  0x000000da fetch  0x00000002 , 0x0000015d 
+ 00000114  0x000000db arg  0x000001e0 , 0x00000002 
+ 00000115  0x000000dc isub  0x00000002 , 0x0000003e 
+ 00000116  0x000000dd branch  0x00004639 , 0x00000002 
+ 00000117  0x000000de fetch  0x00000001 , 0x0000025d 
+ 00000118  0x000000df beq  0x00000001 , 0x000045d9 
+ 00000119  0x000000e0 beq  0x00000002 , 0x00000079 
+ 00000120  0x000000e1 branch  0x00004649 
+ 00000121  0x000000e4 arg  0x00001200 , 0x00000005 
+ 00000122  0x000000e5 branch  0x000045de 
+ 00000123  0x000000e9 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00000124  0x000000ea branch  0x00004633 , 0x00000006 
+ 00000125  0x000000eb fetch  0x00000001 , 0x00004335 
+ 00000126  0x000000ec beq  0x00000001 , 0x00004633 
+ 00000127  0x000000ed branch  0x000045e9 
+ 00000128  0x000000f1 fetch  0x00000001 , 0x0000025d 
+ 00000129  0x000000f2 beq  0x00000001 , 0x00000084 
+ 00000130  0x000000f3 beq  0x00000002 , 0x0000008e 
+ 00000131  0x000000f4 branch  0x00004a8b 
+ 00000132  0x000000f7 fetch  0x00000002 , 0x00000259 
+ 00000133  0x000000f8 fetcht  0x00000002 , 0x0000015d 
+ 00000134  0x000000f9 iadd  0x00000002 , 0x0000003f 
+ 00000135  0x000000fa store  0x00000002 , 0x00000259 
+ 00000136  0x000000fb beq  0x00000000 , 0x00004a8b 
+ 00000137  0x000000fc fetcht  0x00000002 , 0x00001000 
+ 00000138  0x000000fd increase  0x00000004 , 0x00000002 
+ 00000139  0x000000fe isub  0x00000002 , 0x0000003e 
+ 00000140  0x000000ff call  0x00004743 , 0x00000005 
+ 00000141  0x00000100 branch  0x00004609 
+ 00000142  0x00000105 fetch  0x00000002 , 0x0000025b 
+ 00000143  0x00000106 fetcht  0x00000002 , 0x0000015d 
+ 00000144  0x00000107 iadd  0x00000002 , 0x0000003f 
+ 00000145  0x00000108 store  0x00000002 , 0x0000025b 
+ 00000146  0x00000109 beq  0x00000000 , 0x00004a8b 
+ 00000147  0x0000010a fetcht  0x00000002 , 0x00001200 
+ 00000148  0x0000010b add  0x00000002 , 0x00000004 , 0x00000002 
+ 00000149  0x0000010c isub  0x00000002 , 0x0000003e 
+ 00000150  0x0000010d call  0x00004747 , 0x00000005 
+ 00000151  0x0000010e branch  0x00004609 
+ 00000152  0x00000113 arg  0x00000000 , 0x00000012 
+ 00000153  0x00000114 call  0x00005649 
+ 00000154  0x00000116 nbranch  0x00004a8b , 0x00000034 
+ 00000155  0x00000117 call  0x00005658 
+ 00000156  0x00000118 arg  0x00001400 , 0x00000012 
+ 00000157  0x00000119 arg  0x00000000 , 0x00000007 
+ 00000158  0x0000011a branch  0x00005621 
+ 00000159  0x00000125 fetch  0x00000002 , 0x0000016d 
+ 00000160  0x00000126 beq  0x0000018c , 0x000047e2 
+ 00000161  0x00000127 branch  0x000047cd 
+ 00000162  0x00000129 call  0x00005b86 
+ 00000163  0x0000012a branch  0x000000a4 
+ 00000164  0x0000012d arg  0x00004381 , 0x00000013 
+ 00000165  0x0000012e arg  0x00004362 , 0x00000011 
+ 00000166  0x0000012f call  0x00005ba5 
+ 00000167  0x00000130 rtn 
+ 00000168  0x00000132 copy  0x00000002 , 0x0000003f 
+ 00000169  0x00000133 beq  0x00000001 , 0x0000523e 
+ 00000170  0x00000134 beq  0x00000003 , 0x00005260 
+ 00000171  0x00000135 beq  0x00000011 , 0x000000af 
+ 00000172  0x00000136 beq  0x00000013 , 0x000000bc 
+ 00000173  0x00000137 call  0x0000543c 
+ 00000174  0x00000138 branch  0x000052ae 
+ 00000175  0x0000013c call  0x00007c83 
+ 00000176  0x0000013d arg  0x00000052 , 0x00000002 
+ 00000177  0x0000013e fetch  0x00000002 , 0x0000421e 
+ 00000178  0x0000013f nbranch  0x000052a8 , 0x00000034 
+ 00000179  0x00000140 copy  0x0000000b , 0x0000003f 
+ 00000180  0x00000141 store  0x00000002 , 0x0000421e 
+ 00000181  0x00000142 fetch  0x00000001 , 0x00004224 
+ 00000182  0x00000143 set1  0x00000000 , 0x0000003f 
+ 00000183  0x00000144 set1  0x00000001 , 0x0000003f 
+ 00000184  0x00000145 store  0x00000001 , 0x00004224 
+ 00000185  0x00000146 call  0x0000528b 
+ 00000186  0x00000147 jam  0x00000042 , 0x00000a95 
+ 00000187  0x00000148 branch  0x00007bab 
+ 00000188  0x0000014b call  0x00007c83 
+ 00000189  0x0000014c deposit  0x0000001a 
+ 00000190  0x0000014d arg  0x00000053 , 0x00000002 
+ 00000191  0x0000014e fetch  0x00000002 , 0x00004220 
+ 00000192  0x0000014f nbranch  0x000052a8 , 0x00000034 
+ 00000193  0x00000150 copy  0x0000000b , 0x0000003f 
+ 00000194  0x00000151 store  0x00000002 , 0x00004220 
+ 00000195  0x00000152 fetch  0x00000001 , 0x00004225 
+ 00000196  0x00000153 set1  0x00000000 , 0x0000003f 
+ 00000197  0x00000154 set1  0x00000001 , 0x0000003f 
+ 00000198  0x00000155 store  0x00000001 , 0x00004225 
+ 00000199  0x00000156 call  0x0000528b 
+ 00000200  0x00000157 jam  0x00000042 , 0x00000a95 
+ 00000201  0x00000158 branch  0x00007bab 
+ 00000202  0x0000015b setarg  0x00000100 
+ 00000203  0x0000015c store  0x00000002 , 0x000041f6 
+ 00000204  0x0000015e setarg  0x00000136 
+ 00000205  0x0000015f store  0x00000002 , 0x000041fe 
+ 00000206  0x00000161 setarg  0x000000db 
+ 00000207  0x00000162 store  0x00000002 , 0x000041f4 
+ 00000208  0x00000164 setarg  0x0000013a 
+ 00000209  0x00000165 store  0x00000002 , 0x000041fa 
+ 00000210  0x00000167 setarg  0x00000143 
+ 00000211  0x00000168 store  0x00000002 , 0x000041ea 
+ 00000212  0x0000016a setarg  0x00000144 
+ 00000213  0x0000016b store  0x00000002 , 0x000041f2 
+ 00000214  0x0000016d call  0x000005bc 
+ 00000215  0x0000016f call  0x00004daf 
+ 00000216  0x00000170 call  0x00004dbc 
+ 00000217  0x00000171 call  0x00004c2a 
+ 00000218  0x00000176 branch  0x0000504d 
+ 00000219  0x0000017a call  0x000002d2 
+ 00000220  0x0000017b call  0x000050d3 
+ 00000221  0x0000017c call  0x00005648 
+ 00000222  0x0000017d nrtn  0x00000034 
+ 00000223  0x0000017e branch  0x000000e0 
+ 00000224  0x00000180 fetch  0x00000002 , 0x00004ffc 
+ 00000225  0x00000181 fetcht  0x00000002 , 0x00004ffe 
+ 00000226  0x00000182 isub  0x00000002 , 0x0000003e 
+ 00000227  0x00000183 branch  0x00004e3a , 0x00000005 
+ 00000228  0x00000184 call  0x000067f7 
+ 00000229  0x00000186 ifetch  0x00000001 , 0x00000003 
+ 00000230  0x00000187 bne  0x00000001 , 0x00004e4e 
+ 00000231  0x00000188 ifetch  0x00000001 , 0x00000003 
+ 00000232  0x00000189 beq  0x000000a0 , 0x000000f2 
+ 00000233  0x0000018a store  0x00000001 , 0x00000aff 
+ 00000234  0x0000018b ifetcht  0x00000001 , 0x00000003 
+ 00000235  0x0000018c copy  0x00000003 , 0x00000011 
+ 00000236  0x0000018d storet  0x00000001 , 0x00000b00 
+ 00000237  0x0000018e jam  0x00000001 , 0x00000b01 
+ 00000238  0x0000018f call  0x00004e5a 
+ 00000239  0x00000190 fetch  0x00000001 , 0x00000b01 
+ 00000240  0x00000191 rtneq  0x00000000 
+ 00000241  0x00000192 branch  0x00004e55 
+ 00000242  0x00000195 store  0x00000001 , 0x00000aff 
+ 00000243  0x00000196 ifetcht  0x00000002 , 0x00000003 
+ 00000244  0x00000197 copy  0x00000003 , 0x00000011 
+ 00000245  0x00000198 storet  0x00000002 , 0x00004bb4 
+ 00000246  0x00000199 jam  0x00000001 , 0x00000b01 
+ 00000247  0x0000019a call  0x00004e5a 
+ 00000248  0x0000019b fetch  0x00000001 , 0x00000b01 
+ 00000249  0x0000019c rtneq  0x00000000 
+ 00000250  0x0000019d branch  0x000000fb 
+ 00000251  0x000001a0 call  0x000067f7 
+ 00000252  0x000001a1 increase  0x00000002 , 0x00000003 
+ 00000253  0x000001a2 ifetch  0x00000002 , 0x00000003 
+ 00000254  0x000001a3 iadd  0x00000003 , 0x00000003 
+ 00000255  0x000001a4 branch  0x00004e59 
+ 00000256  0x000001aa copy  0x00000013 , 0x0000003f 
+ 00000257  0x000001ac beq  0x00000001 , 0x0000060e 
+ 00000258  0x000001ad beq  0x00000002 , 0x00000617 
+ 00000259  0x000001ae beq  0x00000004 , 0x00000626 
+ 00000260  0x000001af beq  0x00000005 , 0x0000062e 
+ 00000261  0x000001b0 beq  0x00000006 , 0x0000062f 
+ 00000262  0x000001b1 beq  0x00000007 , 0x00000632 
+ 00000263  0x000001b2 beq  0x00000012 , 0x0000063b 
+ 00000264  0x000001b3 beq  0x00000013 , 0x00000645 
+ 00000265  0x000001b4 beq  0x00000027 , 0x00000646 
+ 00000266  0x000001b5 beq  0x0000002e , 0x00000649 
+ 00000267  0x000001b7 beq  0x00000018 , 0x0000064b 
+ 00000268  0x000001bb beq  0x00000032 , 0x00000601 
+ 00000269  0x000001bc beq  0x00000029 , 0x00000603 
+ 00000270  0x000001bf beq  0x00000039 , 0x00000407 
+ 00000271  0x000001c0 beq  0x0000003a , 0x0000040d 
+ 00000272  0x000001c1 beq  0x0000003c , 0x0000040f 
+ 00000273  0x000001c4 beq  0x0000000b , 0x00000126 
+ 00000274  0x000001c6 beq  0x00000022 , 0x00000116 
+ 00000275  0x000001c7 beq  0x00000043 , 0x00000116 
+ 00000276  0x000001c8 beq  0x00000042 , 0x0000011d 
+ 00000277  0x000001ca branch  0x00004ddf 
+ 00000278  0x000001cf setarg  0x00000002 
+ 00000279  0x000001d0 jam  0x000000b8 , 0x00000aff 
+ 00000280  0x000001d1 call  0x000050a5 
+ 00000281  0x000001d2 fetch  0x00000002 , 0x00000032 
+ 00000282  0x000001d3 rshift  0x0000003f , 0x0000003f 
+ 00000283  0x000001d5 istore  0x00000002 , 0x0000000a 
+ 00000284  0x000001d6 branch  0x000067b9 
+ 00000285  0x000001db fetch  0x00000002 , 0x00004652 
+ 00000286  0x000001dc set1  0x00000002 , 0x0000003f 
+ 00000287  0x000001dd store  0x00000002 , 0x00004652 
+ 00000288  0x000001de setarg  0x00000002 
+ 00000289  0x000001df jam  0x000000b7 , 0x00000aff 
+ 00000290  0x000001e0 call  0x000050a5 
+ 00000291  0x000001e1 fetcht  0x00000002 , 0x00004220 
+ 00000292  0x000001e2 istoret  0x00000002 , 0x0000000a 
+ 00000293  0x000001e3 branch  0x000067b9 
+ 00000294  0x000001e8 call  0x00004dd7 
+ 00000295  0x000001eb fetch  0x00000002 , 0x00004042 
+ 00000296  0x000001ec rshift  0x0000003f , 0x0000003f 
+ 00000297  0x000001ed fetcht  0x00000002 , 0x000041e4 
+ 00000298  0x000001ee isub  0x00000002 , 0x0000003e 
+ 00000299  0x000001f0 branch  0x00004d91 
+ 00000300  0x000001f2 fetch  0x00000001 , 0x00004679 
+ 00000301  0x000001f3 rtnbit1  0x00000005 
+ 00000302  0x000001f5 fetch  0x00000002 , 0x00004ffc 
+ 00000303  0x000001f6 fetcht  0x00000002 , 0x00004ffe 
+ 00000304  0x000001f7 isub  0x00000002 , 0x0000003e 
+ 00000305  0x000001f8 ncall  0x000050da , 0x00000005 
+ 00000306  0x000001f9 branch  0x00004d87 
+ 00000307  0x00000201 rtn 
+ 00000308  0x00000204 call  0x00004d6b 
+ 00000309  0x00000205 branch  0x00004d73 
+ 00000310  0x0000020a call  0x00000657 
+ 00000311  0x0000020b call  0x0000065f 
+ 00000312  0x0000020c call  0x00000662 
+ 00000313  0x0000020e rtn 
+ 00000314  0x00000212 fetcht  0x00000002 , 0x00000474 
+ 00000315  0x00000213 sub  0x00000002 , 0x00000021 , 0x0000003e 
+ 00000316  0x00000214 branch  0x0000013e , 0x00000005 
+ 00000317  0x00000215 rtn 
+ 00000318  0x00000218 ifetcht  0x00000001 , 0x00000011 
+ 00000319  0x00000219 setarg  0x00000001 
+ 00000320  0x0000021a store  0x00000001 , 0x00000a96 
+ 00000321  0x0000021b istoret  0x00000001 , 0x00000005 
+ 00000322  0x0000021c branch  0x0000069a 
+ 00000323  0x0000021f branch  0x00004dbd 
+ 00000324  0x00000222 branch  0x00000145 
+ 00000325  0x00000225 fetch  0x00000001 , 0x00004bd8 
+ 00000326  0x00000226 rtn  0x00000034 
+ 00000327  0x00000227 branch  0x00004dc8 
+ 00000328  0x0000022a fetch  0x00000001 , 0x00000aff 
+ 00000329  0x0000022b beq  0x00000011 , 0x000001c3 
+ 00000330  0x0000022c beq  0x00000015 , 0x000001cb 
+ 00000331  0x0000022d beq  0x00000027 , 0x000001d9 
+ 00000332  0x0000022e beq  0x0000000c , 0x000001d0 
+ 00000333  0x0000022f beq  0x000000b0 , 0x000001db 
+ 00000334  0x00000230 beq  0x000000b2 , 0x000001e9 
+ 00000335  0x00000233 beq  0x000000a1 , 0x00000163 
+ 00000336  0x00000234 beq  0x000000a2 , 0x0000015d 
+ 00000337  0x00000235 beq  0x000000b1 , 0x00000675 
+ 00000338  0x00000237 beq  0x000000c0 , 0x000003f4 
+ 00000339  0x00000238 beq  0x000000c1 , 0x000003f9 
+ 00000340  0x00000239 beq  0x000000c2 , 0x000003fd 
+ 00000341  0x0000023a beq  0x000000c3 , 0x000003ff 
+ 00000342  0x0000023b beq  0x000000c4 , 0x00000402 
+ 00000343  0x0000023d beq  0x000000a0 , 0x000001be 
+ 00000344  0x00000240 beq  0x00000076 , 0x00000179 
+ 00000345  0x00000241 beq  0x00000077 , 0x0000017f 
+ 00000346  0x00000242 beq  0x00000078 , 0x00000184 
+ 00000347  0x00000243 beq  0x00000070 , 0x00000166 
+ 00000348  0x00000244 branch  0x00004e5c 
+ 00000349  0x00000248 ifetch  0x00000001 , 0x00000003 
+ 00000350  0x00000249 store  0x00000001 , 0x00004bd8 
+ 00000351  0x0000024a branch  0x0000501f , 0x00000034 
+ 00000352  0x0000024b ifetch  0x00000002 , 0x00000003 
+ 00000353  0x0000024c store  0x00000002 , 0x000041e4 
+ 00000354  0x0000024d branch  0x0000501f 
+ 00000355  0x00000251 ifetch  0x00000008 , 0x00000003 
+ 00000356  0x00000252 store  0x00000008 , 0x00004098 
+ 00000357  0x00000253 branch  0x0000501f 
+ 00000358  0x00000257 ifetch  0x00000002 , 0x00000003 
+ 00000359  0x00000259 ifetch  0x00000006 , 0x00000003 
+ 00000360  0x0000025a store  0x00000006 , 0x000041d1 
+ 00000361  0x0000025d ifetch  0x00000004 , 0x00000003 
+ 00000362  0x0000025e store  0x00000004 , 0x00004bca 
+ 00000363  0x00000260 ifetcht  0x00000004 , 0x00000003 
+ 00000364  0x00000261 setarg  0xffffffff 
+ 00000365  0x00000262 ixor  0x00000002 , 0x0000003f 
+ 00000366  0x00000263 store  0x00000004 , 0x00004bc1 
+ 00000367  0x00000265 ifetch  0x00000004 , 0x00000003 
+ 00000368  0x00000266 store  0x00000004 , 0x00004bc5 
+ 00000369  0x00000268 arg  0x000041bf , 0x00000005 
+ 00000370  0x00000269 arg  0x00000010 , 0x00000039 
+ 00000371  0x0000026a call  0x000067ed 
+ 00000372  0x0000026e jam  0x00000001 , 0x00004bb6 
+ 00000373  0x00000271 setarg  0x0000003c 
+ 00000374  0x00000272 store  0x00000002 , 0x00004bb7 
+ 00000375  0x00000274 call  0x000002d8 
+ 00000376  0x00000275 branch  0x0000501f 
+ 00000377  0x00000279 arg  0x0000000c , 0x00000002 
+ 00000378  0x0000027a call  0x00005b4d 
+ 00000379  0x0000027b add  0x00000006 , 0xfffffffe , 0x00000005 
+ 00000380  0x0000027c setarg  0x00000000 
+ 00000381  0x0000027d istore  0x00000002 , 0x00000005 
+ 00000382  0x0000027e branch  0x0000501f 
+ 00000383  0x00000281 call  0x00000188 
+ 00000384  0x00000282 call  0x000001a5 
+ 00000385  0x00000283 setarg  0x00000000 
+ 00000386  0x00000284 istore  0x00000002 , 0x00000005 
+ 00000387  0x00000285 branch  0x000001b7 
+ 00000388  0x00000288 ifetch  0x00000001 , 0x00000003 
+ 00000389  0x00000289 call  0x0000018c 
+ 00000390  0x0000028a call  0x00000193 
+ 00000391  0x0000028b branch  0x000001b7 
+ 00000392  0x0000028e call  0x000001a9 
+ 00000393  0x0000028f setarg  0x00280002 
+ 00000394  0x00000290 istore  0x00000003 , 0x00000005 
+ 00000395  0x00000291 rtn 
+ 00000396  0x00000294 store  0x00000001 , 0x00000a96 
+ 00000397  0x00000295 call  0x000001a9 
+ 00000398  0x00000296 setarg  0x01280302 
+ 00000399  0x00000297 istore  0x00000004 , 0x00000005 
+ 00000400  0x00000298 fetch  0x00000001 , 0x00000a96 
+ 00000401  0x00000299 istore  0x00000003 , 0x00000005 
+ 00000402  0x0000029a rtn 
+ 00000403  0x0000029d call  0x000001a9 
+ 00000404  0x0000029e call  0x000001a5 
+ 00000405  0x0000029f call  0x000001a5 
+ 00000406  0x000002a0 setarg  0x00000000 
+ 00000407  0x000002a1 istore  0x00000002 , 0x00000005 
+ 00000408  0x000002a2 increase  0xffffffff , 0x00000002 
+ 00000409  0x000002a3 call  0x00005b4d 
+ 00000410  0x000002a4 add  0x00000006 , 0x00000004 , 0x00000006 
+ 00000411  0x000002a5 ifetch  0x00000001 , 0x00000006 
+ 00000412  0x000002a6 bbit1  0x00000004 , 0x000001a0 
+ 00000413  0x000002a7 bbit1  0x00000005 , 0x000001a0 
+ 00000414  0x000002a8 increase  0x00000001 , 0x00000002 
+ 00000415  0x000002a9 rtn 
+ 00000416  0x000002ac call  0x000001a9 
+ 00000417  0x000002ad setarg  0x02290202 
+ 00000418  0x000002ae istore  0x00000008 , 0x00000005 
+ 00000419  0x000002af increase  0xffffffff , 0x00000002 
+ 00000420  0x000002b0 rtn 
+ 00000421  0x000002b4 ifetch  0x00000001 , 0x00000003 
+ 00000422  0x000002b5 copy  0x0000003f , 0x00000039 
+ 00000423  0x000002b6 istore  0x00000001 , 0x00000005 
+ 00000424  0x000002b7 branch  0x000067ed 
+ 00000425  0x000002bb call  0x000001ac 
+ 00000426  0x000002bc istoret  0x00000002 , 0x00000005 
+ 00000427  0x000002bd rtn 
+ 00000428  0x000002c2 fetch  0x00000002 , 0x0000448e 
+ 00000429  0x000002c3 iforce  0x00000006 
+ 00000430  0x000002c5 ifetch  0x00000002 , 0x00000006 
+ 00000431  0x000002c6 rtn  0x00000034 
+ 00000432  0x000002c7 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00000433  0x000002c8 ifetch  0x00000001 , 0x00000006 
+ 00000434  0x000002c9 iadd  0x00000006 , 0x00000006 
+ 00000435  0x000002ca ifetch  0x00000001 , 0x00000006 
+ 00000436  0x000002cb iadd  0x00000006 , 0x00000006 
+ 00000437  0x000002cc copy  0x00000006 , 0x00000005 
+ 00000438  0x000002cd branch  0x000001ae 
+ 00000439  0x000002d2 storet  0x00000002 , 0x00000a9e 
+ 00000440  0x000002d3 jam  0x00000029 , 0x00000aff 
+ 00000441  0x000002d4 setarg  0x00000002 
+ 00000442  0x000002d5 call  0x000050a5 
+ 00000443  0x000002d6 fetcht  0x00000002 , 0x00000a9e 
+ 00000444  0x000002d7 istoret  0x00000002 , 0x0000000a 
+ 00000445  0x000002d8 branch  0x000067b9 
+ 00000446  0x000002df fetch  0x00000002 , 0x00004bb4 
+ 00000447  0x000002e0 copy  0x0000003f , 0x00000039 
+ 00000448  0x000002e1 arg  0x00004683 , 0x00000005 
+ 00000449  0x000002e2 call  0x000067ed 
+ 00000450  0x000002e3 branch  0x0000501f 
+ 00000451  0x000002ea fetch  0x00000002 , 0x00004652 
+ 00000452  0x000002eb bbit0  0x00000000 , 0x0000501c 
+ 00000453  0x000002ec call  0x0000501f 
+ 00000454  0x000002ed call  0x00004d64 
+ 00000455  0x000002ee fetch  0x00000002 , 0x00004652 
+ 00000456  0x000002ef rtnbit0  0x00000002 
+ 00000457  0x000002f0 jam  0x000000b6 , 0x00000aff 
+ 00000458  0x000002f1 branch  0x0000504e 
+ 00000459  0x000002f5 fetch  0x00000001 , 0x00000b00 
+ 00000460  0x000002f6 bne  0x00000003 , 0x0000501f 
+ 00000461  0x000002f7 ifetch  0x00000003 , 0x00000003 
+ 00000462  0x000002f8 store  0x00000003 , 0x000040aa 
+ 00000463  0x000002f9 branch  0x0000501f 
+ 00000464  0x000002fc copy  0x00000011 , 0x00000003 
+ 00000465  0x000002fd ifetch  0x00000001 , 0x00000003 
+ 00000466  0x000002fe beq  0x00000000 , 0x00004f1c 
+ 00000467  0x000002ff beq  0x00000001 , 0x00004f1f 
+ 00000468  0x00000300 beq  0x00000002 , 0x00004f25 
+ 00000469  0x00000301 beq  0x00000003 , 0x000001d7 
+ 00000470  0x00000302 branch  0x0000501c 
+ 00000471  0x00000304 setarg  0x00000001 
+ 00000472  0x00000305 branch  0x00004f20 
+ 00000473  0x00000309 call  0x0000501f 
+ 00000474  0x0000030a branch  0x00004d85 
+ 00000475  0x0000030e fetch  0x00000002 , 0x00004652 
+ 00000476  0x0000030f bbit1  0x00000002 , 0x000001de 
+ 00000477  0x00000311 branch  0x0000501c 
+ 00000478  0x00000317 call  0x0000564b 
+ 00000479  0x00000318 nrtn  0x00000034 
+ 00000480  0x00000319 fetch  0x00000001 , 0x00000b00 
+ 00000481  0x0000031a copy  0x0000003f , 0x00000011 
+ 00000482  0x0000031b call  0x0000513d 
+ 00000483  0x0000031c fetch  0x00000002 , 0x00004220 
+ 00000484  0x0000031d istore  0x00000002 , 0x00000005 
+ 00000485  0x0000031e fetch  0x00000001 , 0x00000b00 
+ 00000486  0x0000031f copy  0x0000003f , 0x00000039 
+ 00000487  0x00000320 call  0x000067ed 
+ 00000488  0x00000321 branch  0x0000501f 
+ 00000489  0x00000324 fetch  0x00000002 , 0x00004652 
+ 00000490  0x00000325 bbit1  0x00000002 , 0x000001ec 
+ 00000491  0x00000327 branch  0x0000501c 
+ 00000492  0x00000329 call  0x0000564b 
+ 00000493  0x0000032a nrtn  0x00000034 
+ 00000494  0x0000032b fetch  0x00000001 , 0x00000b00 
+ 00000495  0x0000032c copy  0x0000003f , 0x00000011 
+ 00000496  0x0000032d call  0x0000513d 
+ 00000497  0x0000032e fetch  0x00000002 , 0x0000421e 
+ 00000498  0x0000032f istore  0x00000002 , 0x00000005 
+ 00000499  0x00000330 fetch  0x00000001 , 0x00000b00 
+ 00000500  0x00000331 copy  0x0000003f , 0x00000039 
+ 00000501  0x00000332 call  0x000067ed 
+ 00000502  0x00000333 branch  0x0000501f 
+ 00000503  0x0000033a add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00000504  0x0000033b arg  0x000000c8 , 0x00000002 
+ 00000505  0x0000033c call  0x00007db5 
+ 00000506  0x0000033d fetcht  0x00000001 , 0x0000467a 
+ 00000507  0x0000033e call  0x00007db5 
+ 00000508  0x0000033f copy  0x0000003f , 0x00000011 
+ 00000509  0x00000340 copy  0x00000002 , 0x0000003f 
+ 00000510  0x00000341 isub  0x00000011 , 0x0000003f 
+ 00000511  0x00000342 store  0x00000001 , 0x0000467a 
+ 00000512  0x00000343 fetcht  0x00000002 , 0x0000467b 
+ 00000513  0x00000344 increase  0xffffffff , 0x00000002 
+ 00000514  0x00000345 call  0x00005b4d 
+ 00000515  0x00000346 branch  0x0000020b , 0x00000034 
+ 00000516  0x00000347 ifetcht  0x00000004 , 0x00000006 
+ 00000517  0x00000348 setarg  0x01280302 
+ 00000518  0x00000349 isub  0x00000002 , 0x0000003e 
+ 00000519  0x0000034a nbranch  0x0000020b , 0x00000005 
+ 00000520  0x0000034b ifetch  0x00000001 , 0x00000006 
+ 00000521  0x0000034c bbit1  0x00000004 , 0x00004f01 
+ 00000522  0x0000034d branch  0x0000020b 
+ 00000523  0x00000350 jam  0x00000000 , 0x0000467a 
+ 00000524  0x00000351 jam  0x00000001 , 0x00000b01 
+ 00000525  0x00000352 call  0x000050e0 
+ 00000526  0x00000353 branch  0x0000501c 
+ 00000527  0x00000356 fetch  0x00000001 , 0x0000054e 
+ 00000528  0x00000357 store  0x00000001 , 0x000004c5 
+ 00000529  0x00000358 beq  0x00000033 , 0x00000213 
+ 00000530  0x00000359 branch  0x00006194 
+ 00000531  0x0000035e fetch  0x00000001 , 0x000004cd 
+ 00000532  0x0000035f set1  0x00000000 , 0x0000003f 
+ 00000533  0x00000360 store  0x00000001 , 0x000004cd 
+ 00000534  0x00000361 jam  0x00000001 , 0x00000a95 
+ 00000535  0x00000362 call  0x00007bab 
+ 00000536  0x00000368 jam  0x00000003 , 0x0000016b 
+ 00000537  0x00000369 jam  0x00000006 , 0x00000055 
+ 00000538  0x0000036a jam  0x00000001 , 0x000041be 
+ 00000539  0x0000036b jam  0x00000001 , 0x00004651 
+ 00000540  0x0000036c rtn 
+ 00000541  0x00000371 fetch  0x00000001 , 0x0000007d 
+ 00000542  0x00000372 beq  0x00000010 , 0x00000224 
+ 00000543  0x00000373 beq  0x00000017 , 0x0000022a 
+ 00000544  0x00000375 branch  0x000060fe 
+ 00000545  0x00000382 jam  0x0000002a , 0x0000007d 
+ 00000546  0x00000383 jam  0x00000003 , 0x0000007c 
+ 00000547  0x00000384 rtn 
+ 00000548  0x00000387 fetcht  0x00000001 , 0x0000054e 
+ 00000549  0x00000388 sub  0x00000002 , 0x00000006 , 0x0000003e 
+ 00000550  0x00000389 branch  0x00000228 , 0x00000002 
+ 00000551  0x0000038a branch  0x00006206 
+ 00000552  0x0000038d jam  0x00000024 , 0x0000007e 
+ 00000553  0x0000038e branch  0x00006134 
+ 00000554  0x00000391 fetch  0x00000002 , 0x00000553 
+ 00000555  0x00000392 branch  0x000062d2 , 0x00000034 
+ 00000556  0x00000395 branch  0x000062bc 
+ 00000557  0x00000399 fetch  0x00000001 , 0x0000054e 
+ 00000558  0x0000039a store  0x00000001 , 0x000004c5 
+ 00000559  0x0000039b beq  0x0000000b , 0x00000231 
+ 00000560  0x0000039c branch  0x000061a6 
+ 00000561  0x000003a0 call  0x000061df 
+ 00000562  0x000003a1 fetch  0x00000001 , 0x00000055 
+ 00000563  0x000003a2 rtnne  0x00000019 
+ 00000564  0x000003a3 jam  0x000000b1 , 0x00000aff 
+ 00000565  0x000003a4 setarg  0x00000001 
+ 00000566  0x000003a5 call  0x000050a5 
+ 00000567  0x000003a6 setarg  0x00000001 
+ 00000568  0x000003a7 istore  0x00000001 , 0x0000000a 
+ 00000569  0x000003a8 branch  0x000067b9 
+ 00000570  0x000003ad fetch  0x00000001 , 0x00000049 
+ 00000571  0x000003ae beq  0x00000017 , 0x0000023d 
+ 00000572  0x000003af branch  0x00006433 
+ 00000573  0x000003b2 jam  0x00000043 , 0x00000a95 
+ 00000574  0x000003b3 call  0x00007bab 
+ 00000575  0x000003b4 branch  0x000046c2 
+ 00000576  0x000003b7 disable  0x00000028 
+ 00000577  0x000003b8 call  0x000066a3 
+ 00000578  0x000003b9 fetch  0x00000001 , 0x00000048 
+ 00000579  0x000003ba rtn  0x00000034 
+ 00000580  0x000003bc fetcht  0x00000002 , 0x00004bd9 
+ 00000581  0x000003bd istore  0x00000001 , 0x00000002 
+ 00000582  0x000003be increase  0x00000001 , 0x00000002 
+ 00000583  0x000003bf storet  0x00000002 , 0x00004bd9 
+ 00000584  0x000003c2 bbit1  0x00000007 , 0x0000025c 
+ 00000585  0x000003c3 beq  0x00000017 , 0x00000257 
+ 00000586  0x000003c4 beq  0x00000042 , 0x0000037a 
+ 00000587  0x000003c5 beq  0x00000007 , 0x0000024d 
+ 00000588  0x000003c6 branch  0x000063f2 
+ 00000589  0x000003ca force  0x00000002 , 0x0000003f 
+ 00000590  0x000003cb call  0x0000667a 
+ 00000591  0x000003cc fetch  0x00000001 , 0x000004c6 
+ 00000592  0x000003cd istore  0x00000001 , 0x00000005 
+ 00000593  0x000003ce call  0x00006694 
+ 00000594  0x000003d0 fetch  0x00000001 , 0x0000004b 
+ 00000595  0x000003d1 set1  0x00000003 , 0x0000003f 
+ 00000596  0x000003d2 store  0x00000001 , 0x0000004b 
+ 00000597  0x000003d3 jam  0x00000032 , 0x00000072 
+ 00000598  0x000003d4 rtn 
+ 00000599  0x000003d6 fetch  0x00000001 , 0x00004bd8 
+ 00000600  0x000003d7 branch  0x0000025a , 0x00000034 
+ 00000601  0x000003d8 branch  0x00006586 
+ 00000602  0x000003da jam  0x00000000 , 0x00000048 
+ 00000603  0x000003db rtn 
+ 00000604  0x000003df beq  0x00000084 , 0x0000025f 
+ 00000605  0x000003e0 beq  0x00000083 , 0x00000262 
+ 00000606  0x000003e1 branch  0x00006421 
+ 00000607  0x000003e4 call  0x00000265 
+ 00000608  0x000003e5 fetch  0x00000001 , 0x00000048 
+ 00000609  0x000003e6 branch  0x0000647b 
+ 00000610  0x000003e8 call  0x00000265 
+ 00000611  0x000003e9 fetch  0x00000001 , 0x00000048 
+ 00000612  0x000003ea branch  0x000064ef 
+ 00000613  0x000003ed fetch  0x00000001 , 0x0000462c 
+ 00000614  0x000003ee branch  0x0000650d , 0x00000034 
+ 00000615  0x000003ef branch  0x00006506 
+ 00000616  0x000003f2 fetch  0x00000001 , 0x0000409e 
+ 00000617  0x000003f3 set0  0x00000003 , 0x0000003f 
+ 00000618  0x000003f4 store  0x00000001 , 0x0000409e 
+ 00000619  0x000003f5 setarg  0x00000001 
+ 00000620  0x000003f6 store  0x00000002 , 0x000004ca 
+ 00000621  0x000003f7 rtn 
+ 00000622  0x000003fb fetch  0x00000001 , 0x00004490 
+ 00000623  0x000003fc branch  0x00005ed0 , 0x00000034 
+ 00000624  0x000003fe call  0x00007438 
+ 00000625  0x000003ff branch  0x00007932 
+ 00000626  0x00000403 fetch  0x00000001 , 0x0000466c 
+ 00000627  0x00000404 set1  0x00000007 , 0x0000003f 
+ 00000628  0x00000405 store  0x00000001 , 0x0000466c 
+ 00000629  0x00000407 arg  0x00000000 , 0x00000016 
+ 00000630  0x00000408 arg  0x00008973 , 0x00000006 
+ 00000631  0x00000409 ifetch  0x00000001 , 0x00000006 
+ 00000632  0x0000040a set1  0x00000006 , 0x0000003f 
+ 00000633  0x0000040b arg  0x00008973 , 0x00000005 
+ 00000634  0x0000040c istore  0x00000001 , 0x00000005 
+ 00000635  0x0000040e arg  0x0000000f , 0x00000016 
+ 00000636  0x00000410 arg  0x00000006 , 0x00000039 
+ 00000637  0x00000411 arg  0x00000002 , 0x00000012 
+ 00000638  0x00000412 arg  0x00004b97 , 0x00000011 
+ 00000639  0x00000414 call  0x00000294 
+ 00000640  0x00000417 arg  0x00000014 , 0x00000039 
+ 00000641  0x00000418 arg  0x0000012c , 0x00000012 
+ 00000642  0x00000419 arg  0x00004b9d , 0x00000011 
+ 00000643  0x0000041a call  0x00000294 
+ 00000644  0x0000041c arg  0x00000002 , 0x00000039 
+ 00000645  0x0000041d arg  0x00001ffe , 0x00000012 
+ 00000646  0x0000041e arg  0x00004bb1 , 0x00000011 
+ 00000647  0x0000041f call  0x00000294 
+ 00000648  0x00000421 call  0x000002b0 
+ 00000649  0x00000423 arg  0x00000000 , 0x00000016 
+ 00000650  0x00000424 arg  0x00008973 , 0x00000006 
+ 00000651  0x00000425 ifetch  0x00000001 , 0x00000006 
+ 00000652  0x00000426 set0  0x00000006 , 0x0000003f 
+ 00000653  0x00000427 arg  0x00008973 , 0x00000005 
+ 00000654  0x00000428 istore  0x00000001 , 0x00000005 
+ 00000655  0x0000042a arg  0x00000000 , 0x00000016 
+ 00000656  0x0000042c fetch  0x00000001 , 0x0000466c 
+ 00000657  0x0000042d set0  0x00000007 , 0x0000003f 
+ 00000658  0x0000042e store  0x00000001 , 0x0000466c 
+ 00000659  0x0000042f rtn 
+ 00000660  0x00000433 lshift3  0x00000012 , 0x00000012 
+ 00000661  0x00000434 call  0x0000029e 
+ 00000662  0x00000435 call  0x000002ab 
+ 00000663  0x00000437 call  0x000002ad 
+ 00000664  0x00000438 fetch  0x00000001 , 0x0001850c 
+ 00000665  0x00000439 istore  0x00000001 , 0x00000011 
+ 00000666  0x0000043a increase  0x00000008 , 0x00000012 
+ 00000667  0x0000043b increase  0x00000001 , 0x00000011 
+ 00000668  0x0000043c loop  0x00000297 
+ 00000669  0x0000043d rtn 
+ 00000670  0x00000440 setarg  0x0000020c 
+ 00000671  0x00000441 call  0x000002a6 
+ 00000672  0x00000442 setarg  0x00000208 
+ 00000673  0x00000443 call  0x000002a6 
+ 00000674  0x00000444 setarg  0x00000200 
+ 00000675  0x00000445 call  0x000002a6 
+ 00000676  0x00000446 setarg  0x00000208 
+ 00000677  0x00000447 branch  0x000002a6 
+ 00000678  0x0000044a arg  0x0001850a , 0x00000005 
+ 00000679  0x0000044c istore  0x00000001 , 0x00000005 
+ 00000680  0x0000044d rshift8  0x0000003f , 0x0000003f 
+ 00000681  0x0000044e istore  0x00000001 , 0x00000005 
+ 00000682  0x0000044f rtn 
+ 00000683  0x00000452 setarg  0x00000288 
+ 00000684  0x00000453 branch  0x000002a6 
+ 00000685  0x00000457 deposit  0x00000012 
+ 00000686  0x00000458 arg  0x00018508 , 0x00000005 
+ 00000687  0x00000459 branch  0x000002a7 
+ 00000688  0x0000045c setarg  0x0000020c 
+ 00000689  0x0000045d branch  0x000002a6 
+ 00000690  0x00000460 arg  0x0000000d , 0x00000039 
+ 00000691  0x00000461 arg  0x000055aa , 0x00000002 
+ 00000692  0x00000462 arg  0x00004b97 , 0x00000006 
+ 00000693  0x00000464 ifetch  0x00000002 , 0x00000006 
+ 00000694  0x00000465 iadd  0x00000002 , 0x0000003f 
+ 00000695  0x00000466 copy  0x0000003f , 0x00000002 
+ 00000696  0x00000467 loop  0x000002b5 
+ 00000697  0x00000468 rtn 
+ 00000698  0x0000046b arg  0x0000000d , 0x00000039 
+ 00000699  0x0000046c arg  0x00004b97 , 0x00000006 
+ 00000700  0x0000046e ifetch  0x00000002 , 0x00000006 
+ 00000701  0x0000046f ixor  0x00000002 , 0x0000003f 
+ 00000702  0x00000470 copy  0x0000003f , 0x00000002 
+ 00000703  0x00000471 loop  0x000002bc 
+ 00000704  0x00000472 rtn 
+ 00000705  0x00000475 jam  0x00000000 , 0x00004bb3 
+ 00000706  0x00000476 arg  0x0000ffff , 0x00000002 
+ 00000707  0x00000477 iand  0x00000002 , 0x0000003f 
+ 00000708  0x00000478 arg  0x00004bb1 , 0x00000006 
+ 00000709  0x00000479 ifetcht  0x00000002 , 0x00000006 
+ 00000710  0x0000047a isub  0x00000002 , 0x0000003e 
+ 00000711  0x0000047b nrtn  0x00000005 
+ 00000712  0x0000047c jam  0x00000001 , 0x00004bb3 
+ 00000713  0x0000047d rtn 
+ 00000714  0x00000480 call  0x00000272 
+ 00000715  0x00000481 call  0x000002b2 
+ 00000716  0x00000482 call  0x000002ba 
+ 00000717  0x00000483 call  0x000002c1 
+ 00000718  0x00000484 fetch  0x00000001 , 0x00004bb3 
+ 00000719  0x00000485 compare  0x00000001 , 0x0000003f , 0x000000ff 
+ 00000720  0x00000486 rtn  0x00000001 
+ 00000721  0x00000487 branch  0x00004a8b 
+ 00000722  0x0000048b fetch  0x00000001 , 0x00004bb6 
+ 00000723  0x0000048c rtn  0x00000034 
+ 00000724  0x0000048d branch  0x000002db 
+ 00000725  0x00000491 jam  0x00000001 , 0x00004bb6 
+ 00000726  0x00000494 setarg  0x0000003c 
+ 00000727  0x00000495 store  0x00000002 , 0x00004bb7 
+ 00000728  0x00000499 setarg  0x000000a0 
+ 00000729  0x0000049a force  0x0000000e , 0x00000007 
+ 00000730  0x0000049b branch  0x00007ce3 
+ 00000731  0x0000049f force  0x0000000e , 0x00000007 
+ 00000732  0x000004a0 call  0x00007cf1 
+ 00000733  0x000004a1 nrtn  0x00000034 
+ 00000734  0x000004a3 call  0x000048d8 
+ 00000735  0x000004a6 call  0x000002f4 
+ 00000736  0x000004a8 call  0x000002d8 
+ 00000737  0x000004aa fetcht  0x00000002 , 0x00004bb7 
+ 00000738  0x000004ab disable  0x00000010 
+ 00000739  0x000004ac copy  0x00000002 , 0x0000001b 
+ 00000740  0x000004af branch  0x0000031f , 0x00000003 
+ 00000741  0x000004b5 call  0x00004915 
+ 00000742  0x000004b7 arg  0x00000000 , 0x00000002 
+ 00000743  0x000004b8 call  0x00004930 
+ 00000744  0x000004b9 call  0x00004a50 
+ 00000745  0x000004ba call  0x0000030b 
+ 00000746  0x000004bb call  0x00004649 
+ 00000747  0x000004bd nop  0x00001388 
+ 00000748  0x000004be branch  0x000002e4 
+ 00000749  0x000004bf rtn 
+ 00000750  0x000004c4 fetch  0x00000009 , 0x00004bc1 
+ 00000751  0x000004c8 rshift32  0x0000003f , 0x0000003f 
+ 00000752  0x000004c9 rshift2  0x0000003f , 0x0000003f 
+ 00000753  0x000004ca store  0x00000003 , 0x00000742 
+ 00000754  0x000004cb fetchr  0x0000002c , 0x00000003 , 0x00000742 
+ 00000755  0x000004cc rtn 
+ 00000756  0x000004d0 call  0x000002ee 
+ 00000757  0x000004d1 fetch  0x00000009 , 0x00004bc1 
+ 00000758  0x000004d4 fetcht  0x00000008 , 0x00004bb9 
+ 00000759  0x000004d5 ixor  0x00000002 , 0x0000003f 
+ 00000760  0x000004d9 store  0x00000008 , 0x00000742 
+ 00000761  0x000004da fetch  0x00000005 , 0x00000742 
+ 00000762  0x000004dc enable  0x00000036 
+ 00000763  0x000004dd iforce  0x00000009 
+ 00000764  0x000004de disable  0x00000036 
+ 00000765  0x000004e0 rtn 
+ 00000766  0x000004e5 call  0x00004a63 
+ 00000767  0x000004eb disable  0x00000007 
+ 00000768  0x000004ec enable  0x0000000a 
+ 00000769  0x000004ed enable  0x0000001b 
+ 00000770  0x000004ee fetch  0x00000002 , 0x00000f37 
+ 00000771  0x000004ef inject  0x00000003 , 0x0000000a 
+ 00000772  0x000004f0 enable  0x00000008 
+ 00000773  0x000004f1 inject  0x00000003 , 0x00000008 
+ 00000774  0x000004f2 disable  0x0000001b 
+ 00000775  0x000004f3 disable  0x00000008 
+ 00000776  0x000004f4 disable  0x0000000a 
+ 00000777  0x000004f5 set0  0x00000002 , 0x00000015 
+ 00000778  0x000004f6 rtn 
+ 00000779  0x000004fa setarg  0x00000078 
+ 00000780  0x000004fb store  0x00000002 , 0x00000f37 
+ 00000781  0x000004fc call  0x000002fe 
+ 00000782  0x00000500 enable  0x0000001d 
+ 00000783  0x00000501 disable  0x0000000e 
+ 00000784  0x00000502 enable  0x00000009 
+ 00000785  0x00000505 setarg  0x00000a98 
+ 00000786  0x00000506 inject  0x00000003 , 0x00000010 
+ 00000787  0x00000509 arg  0x00000050 , 0x00000039 
+ 00000788  0x0000050b fetch  0x00000004 , 0x00004bca 
+ 00000789  0x0000050c inject  0x00000003 , 0x00000020 
+ 00000790  0x0000050d loop  0x00000314 
+ 00000791  0x00000510 arg  0x00000013 , 0x00000039 
+ 00000792  0x00000512 setarg  0x00000000 
+ 00000793  0x00000513 inject  0x00000003 , 0x00000008 
+ 00000794  0x00000514 loop  0x00000318 
+ 00000795  0x00000517 enable  0x00000008 
+ 00000796  0x00000518 inject  0x00000003 , 0x00000010 
+ 00000797  0x00000519 disable  0x00000008 
+ 00000798  0x0000051a rtn 
+ 00000799  0x0000051e fetcht  0x00000002 , 0x00004bb7 
+ 00000800  0x0000051f disable  0x00000010 
+ 00000801  0x00000520 copy  0x00000002 , 0x0000001b 
+ 00000802  0x00000523 disable  0x00000030 
+ 00000803  0x00000524 disable  0x0000002e 
+ 00000804  0x00000527 arg  0x00000000 , 0x00000002 
+ 00000805  0x00000528 call  0x0000491c 
+ 00000806  0x00000529 call  0x000049ea 
+ 00000807  0x0000052a call  0x00004a13 
+ 00000808  0x0000052b nbranch  0x00004649 , 0x00000018 
+ 00000809  0x0000052f disable  0x00000007 
+ 00000810  0x00000530 enable  0x0000000a 
+ 00000811  0x00000531 enable  0x0000000b 
+ 00000812  0x00000532 parse  0x00000003 , 0x00000000 , 0x0000000a 
+ 00000813  0x00000533 rshift  0x0000000c , 0x0000003f 
+ 00000814  0x00000534 store  0x00000002 , 0x00000f39 
+ 00000815  0x00000535 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00000816  0x00000536 disable  0x0000000b 
+ 00000817  0x00000537 disable  0x0000000a 
+ 00000818  0x0000053b branch  0x00004649 , 0x00000006 
+ 00000819  0x0000053d arg  0x00000012 , 0x00000039 
+ 00000820  0x0000053e arg  0x00000f1e , 0x00000005 
+ 00000821  0x00000544 enable  0x0000000c 
+ 00000822  0x00000546 enable  0x00000009 
+ 00000823  0x00000548 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00000824  0x00000549 rshift3  0x0000000c , 0x0000003f 
+ 00000825  0x0000054a istore  0x00000001 , 0x00000005 
+ 00000826  0x0000054b loop  0x00000337 
+ 00000827  0x0000054d parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00000828  0x0000054f call  0x00004649 
+ 00000829  0x00000550 rtn  0x00000006 
+ 00000830  0x00000551 fetch  0x00000006 , 0x00000f20 
+ 00000831  0x00000552 fetcht  0x00000006 , 0x000041d1 
+ 00000832  0x00000553 isub  0x00000002 , 0x0000003e 
+ 00000833  0x00000554 nrtn  0x00000005 
+ 00000834  0x00000558 fetch  0x00000004 , 0x00000f2c 
+ 00000835  0x00000559 rshift  0x0000003f , 0x0000003f 
+ 00000836  0x0000055a store  0x00000004 , 0x00000163 
+ 00000837  0x0000055b fetch  0x00000001 , 0x00000f1f 
+ 00000838  0x0000055c store  0x00000001 , 0x00000172 
+ 00000839  0x00000560 setarg  0x00000067 
+ 00000840  0x00000561 store  0x00000001 , 0x00000f1e 
+ 00000841  0x00000562 fetch  0x00000006 , 0x000040a0 
+ 00000842  0x00000563 store  0x00000006 , 0x00000f1f 
+ 00000843  0x00000564 setarg  0x00000000 
+ 00000844  0x00000565 store  0x00000009 , 0x00000f25 
+ 00000845  0x0000056e call  0x00004a4c 
+ 00000846  0x0000056f call  0x00004915 
+ 00000847  0x00000571 arg  0x00000000 , 0x00000002 
+ 00000848  0x00000572 call  0x00004930 
+ 00000849  0x00000573 call  0x00004a50 
+ 00000850  0x00000574 call  0x00004a5e 
+ 00000851  0x00000576 fetch  0x00000002 , 0x00000f39 
+ 00000852  0x00000577 store  0x00000002 , 0x00000f37 
+ 00000853  0x00000578 call  0x000002fe 
+ 00000854  0x0000057b enable  0x0000001c 
+ 00000855  0x0000057c disable  0x0000000e 
+ 00000856  0x0000057d enable  0x00000009 
+ 00000857  0x0000057f arg  0x0000000d , 0x00000039 
+ 00000858  0x00000580 arg  0x00000f1e , 0x00000006 
+ 00000859  0x00000582 ifetch  0x00000001 , 0x00000006 
+ 00000860  0x00000583 inject  0x00000003 , 0x00000008 
+ 00000861  0x00000584 loop  0x0000035b 
+ 00000862  0x00000587 enable  0x00000008 
+ 00000863  0x00000588 inject  0x00000003 , 0x00000010 
+ 00000864  0x00000589 disable  0x00000008 
+ 00000865  0x0000058a call  0x00004649 
+ 00000866  0x0000058c jam  0x00000000 , 0x00004bb6 
+ 00000867  0x0000058f compare  0x00000003 , 0x00000028 , 0x00000003 
+ 00000868  0x00000590 branch  0x00000367 , 0x00000001 
+ 00000869  0x00000591 until  0x0000003e , 0x00000017 
+ 00000870  0x00000592 branch  0x00000363 
+ 00000871  0x00000595 fetch  0x00000004 , 0x00000163 
+ 00000872  0x00000596 or_into  0x00000003 , 0x0000003f 
+ 00000873  0x00000597 icopy  0x00000028 
+ 00000874  0x00000599 fetch  0x00000006 , 0x000041d1 
+ 00000875  0x0000059a store  0x00000006 , 0x00000040 
+ 00000876  0x0000059b call  0x00004431 
+ 00000877  0x0000059e call  0x00004478 
+ 00000878  0x000005a0 branch  0x00000372 , 0x0000002d 
+ 00000879  0x000005a1 call  0x00004451 
+ 00000880  0x000005a2 nbranch  0x0000036d , 0x00000034 
+ 00000881  0x000005a3 rtn 
+ 00000882  0x000005a7 jam  0x00000001 , 0x00004bdc 
+ 00000883  0x000005a8 fetch  0x00000001 , 0x0000054d 
+ 00000884  0x000005a9 call  0x00000376 
+ 00000885  0x000005aa branch  0x000043c4 
+ 00000886  0x000005af fetch  0x00000003 , 0x0000054e 
+ 00000887  0x000005b0 store  0x00000003 , 0x00004bce 
+ 00000888  0x000005b1 jam  0x00000042 , 0x0000007c 
+ 00000889  0x000005b2 rtn 
+ 00000890  0x000005b6 setarg  0x00000000 
+ 00000891  0x000005b7 store  0x00000001 , 0x00000048 
+ 00000892  0x000005b8 fetch  0x00000001 , 0x00004bce 
+ 00000893  0x000005b9 beq  0x00000000 , 0x00000380 
+ 00000894  0x000005ba beq  0x00000004 , 0x00000386 
+ 00000895  0x000005bb rtn 
+ 00000896  0x000005be force  0x0000000a , 0x0000003f 
+ 00000897  0x000005bf call  0x0000667a 
+ 00000898  0x000005c0 setarg  0x001d3201 
+ 00000899  0x000005c1 istore  0x00000009 , 0x00000005 
+ 00000900  0x000005c2 setarg  0x00000000 
+ 00000901  0x000005c3 branch  0x00006699 
+ 00000902  0x000005c6 force  0x00000004 , 0x0000003f 
+ 00000903  0x000005c7 call  0x0000667a 
+ 00000904  0x000005c8 setarg  0x00000004 
+ 00000905  0x000005c9 istore  0x00000003 , 0x00000005 
+ 00000906  0x000005ca setarg  0x00000001 
+ 00000907  0x000005cb branch  0x00006699 
+ 00000908  0x000005e3 call  0x00004c24 
+ 00000909  0x000005e4 call  0x00006b69 
+ 00000910  0x000005e5 call  0x00004510 
+ 00000911  0x000005e6 nbranch  0x000043de , 0x0000002d 
+ 00000912  0x000005ea call  0x00004a87 
+ 00000913  0x000005eb call  0x00006b81 
+ 00000914  0x000005ec call  0x00004485 
+ 00000915  0x000005ed call  0x00004753 
+ 00000916  0x000005ee call  0x00004724 
+ 00000917  0x000005ef call  0x000060e9 
+ 00000918  0x000005f0 fetch  0x00000001 , 0x0000000b 
+ 00000919  0x000005f1 increase  0x00000001 , 0x0000003f 
+ 00000920  0x000005f2 store  0x00000001 , 0x0000000b 
+ 00000921  0x000005f3 call  0x0000483d 
+ 00000922  0x000005f4 branch  0x000043de 
+ 00000923  0x00000601 copy  0x00000002 , 0x0000003f 
+ 00000924  0x00000602 call  0x00007d2b 
+ 00000925  0x00000603 lshift16  0x00000021 , 0x0000003f 
+ 00000926  0x00000604 set1  0x0000002c , 0x0000003f 
+ 00000927  0x00000605 call  0x00007d14 
+ 00000928  0x00000606 set0  0x0000002c , 0x0000003f 
+ 00000929  0x00000607 call  0x00004a76 
+ 00000930  0x00000608 call  0x00007d14 
+ 00000931  0x00000609 rtn  0x00000028 
+ 00000932  0x0000060a call  0x000003b2 
+ 00000933  0x0000060b branch  0x00004a2f 
+ 00000934  0x0000060e deposit  0x0000001a 
+ 00000935  0x0000060f call  0x000003b1 
+ 00000936  0x00000610 branch  0x00004ae9 
+ 00000937  0x00000613 fetch  0x00000002 , 0x0000404e 
+ 00000938  0x00000614 rshift  0x0000003f , 0x0000003f 
+ 00000939  0x00000615 call  0x00007d2b 
+ 00000940  0x00000616 deposit  0x00000030 
+ 00000941  0x00000617 call  0x00007d14 
+ 00000942  0x00000618 copy  0x0000001a , 0x00000002 
+ 00000943  0x00000619 call  0x000003b1 
+ 00000944  0x0000061a branch  0x00004b67 
+ 00000945  0x0000061d call  0x00007d14 
+ 00000946  0x0000061f iforce  0x00000006 
+ 00000947  0x00000620 set0  0x00000010 , 0x00000006 
+ 00000948  0x00000621 branch  0x00007d1f 
+ 00000949  0x00000628 call  0x000068c4 
+ 00000950  0x00000629 call  0x000060d7 
+ 00000951  0x0000062a call  0x000003b9 
+ 00000952  0x0000062b branch  0x0000400a 
+ 00000953  0x0000062e rtn  0x0000002b 
+ 00000954  0x0000062f branch  0x00007b9a 
+ 00000955  0x00000632 call  0x00000411 
+ 00000956  0x00000633 branch  0x00004010 
+ 00000957  0x0000063a branch  0x000003cd , 0x00000021 
+ 00000958  0x0000063b hjam  0x000000d4 , 0x00000955 
+ 00000959  0x0000063c nop  0x00000004 
+ 00000960  0x0000063d hjam  0x000000d2 , 0x00000955 
+ 00000961  0x0000063e nop  0x00000004 
+ 00000962  0x0000063f hjam  0x000000d1 , 0x00000955 
+ 00000963  0x00000640 nop  0x00000004 
+ 00000964  0x00000641 fetch  0x00000001 , 0x000041df 
+ 00000965  0x00000642 beq  0x00000000 , 0x000003cb 
+ 00000966  0x00000643 beq  0x00000001 , 0x000003db 
+ 00000967  0x00000644 beq  0x00000002 , 0x000003cb 
+ 00000968  0x00000645 beq  0x00000003 , 0x000003db 
+ 00000969  0x00000646 beq  0x00000004 , 0x000003db 
+ 00000970  0x00000647 beq  0x00000020 , 0x000003db 
+ 00000971  0x0000064a hjam  0x000000d0 , 0x00000955 
+ 00000972  0x0000064b hjam  0x000000e0 , 0x00000956 
+ 00000973  0x0000064d force  0x00000008 , 0x00000015 
+ 00000974  0x0000064e force  0x00000000 , 0x00000015 
+ 00000975  0x0000064f disable  0x00000021 
+ 00000976  0x00000650 disable  0x00000020 
+ 00000977  0x00000651 pulse  0x0000001e 
+ 00000978  0x00000652 hjam  0x00000000 , 0x00008902 
+ 00000979  0x00000653 hjam  0x00000000 , 0x00008901 
+ 00000980  0x00000654 hjam  0x00000000 , 0x00008900 
+ 00000981  0x00000655 hjam  0x00000000 , 0x00008903 
+ 00000982  0x00000656 hjam  0x00000070 , 0x00008904 
+ 00000983  0x00000657 fetch  0x00000001 , 0x00008906 
+ 00000984  0x00000658 set1  0x00000000 , 0x0000003f 
+ 00000985  0x00000659 store  0x00000001 , 0x00008906 
+ 00000986  0x0000065a rtn 
+ 00000987  0x0000065f hjam  0x000000d0 , 0x00000955 
+ 00000988  0x00000660 hjam  0x000000c0 , 0x00000956 
+ 00000989  0x00000661 branch  0x000003cd 
+ 00000990  0x00000665 call  0x000057af 
+ 00000991  0x00000666 call  0x000003e1 
+ 00000992  0x00000667 branch  0x000058a7 
+ 00000993  0x0000066a branch  0x000003e8 , 0x0000002d 
+ 00000994  0x0000066b branch  0x000057be 
+ 00000995  0x0000066e storet  0x00000001 , 0x00000017 
+ 00000996  0x0000066f call  0x0000492a 
+ 00000997  0x00000670 call  0x00004980 
+ 00000998  0x00000671 setarg  0x00000500 
+ 00000999  0x00000672 call  0x00004a8e 
+ 00001000  0x00000674 fetch  0x00000001 , 0x00008906 
+ 00001001  0x00000675 set1  0x00000000 , 0x0000003f 
+ 00001002  0x00000676 store  0x00000001 , 0x00008906 
+ 00001003  0x00000677 branch  0x00004937 
+ 00001004  0x0000067b hjam  0x0000007c , 0x00008906 
+ 00001005  0x0000067c rtn  0x0000002b 
+ 00001006  0x0000067d setarg  0x00000000 
+ 00001007  0x0000067e store  0x00000002 , 0x000041dd 
+ 00001008  0x0000067f rshift  0x00000022 , 0x0000003f 
+ 00001009  0x00000680 store  0x00000004 , 0x00004094 
+ 00001010  0x00000681 rtn 
+ 00001011  0x0000068d branch  0x00004b7f 
+ 00001012  0x00000694 call  0x0000501f 
+ 00001013  0x00000695 ifetch  0x00000004 , 0x00000003 
+ 00001014  0x00000696 store  0x00000004 , 0x00004b81 
+ 00001015  0x00000697 jam  0x000000ff , 0x00004b81 
+ 00001016  0x00000698 branch  0x000004de 
+ 00001017  0x0000069b call  0x0000501f 
+ 00001018  0x0000069c set0  0x00000026 , 0x00000000 
+ 00001019  0x0000069d jam  0x000000ff , 0x00004b81 
+ 00001020  0x0000069e branch  0x00000491 
+ 00001021  0x000006a1 call  0x0000501f 
+ 00001022  0x000006a2 branch  0x000004ab 
+ 00001023  0x000006a5 bmark0  0x00000026 , 0x0000501c 
+ 00001024  0x000006a6 call  0x0000501f 
+ 00001025  0x000006a7 branch  0x00000491 
+ 00001026  0x000006aa fetch  0x00000001 , 0x00000b00 
+ 00001027  0x000006ab copy  0x0000003f , 0x00000039 
+ 00001028  0x000006ac arg  0x00004b81 , 0x00000005 
+ 00001029  0x000006ad call  0x000067ed 
+ 00001030  0x000006ae branch  0x0000501f 
+ 00001031  0x000006b2 jam  0x000000c0 , 0x00000aff 
+ 00001032  0x000006b3 setarg  0x00000004 
+ 00001033  0x000006b4 call  0x000050a5 
+ 00001034  0x000006b5 fetch  0x00000004 , 0x00004b81 
+ 00001035  0x000006b6 istore  0x00000004 , 0x0000000a 
+ 00001036  0x000006b7 branch  0x000067b9 
+ 00001037  0x000006ba jam  0x000000c1 , 0x00000aff 
+ 00001038  0x000006bb branch  0x0000504e 
+ 00001039  0x000006be jam  0x000000c2 , 0x00000aff 
+ 00001040  0x000006bf branch  0x0000504e 
+ 00001041  0x000006c2 rtnmark0  0x00000026 
+ 00001042  0x000006c3 fetch  0x00000004 , 0x00004b81 
+ 00001043  0x000006c4 store  0x00000004 , 0x00004b81 
+ 00001044  0x000006c5 call  0x00000431 
+ 00001045  0x000006c6 nbranch  0x00000427 , 0x00000028 
+ 00001046  0x000006c7 jam  0x0000000a , 0x00004b81 
+ 00001047  0x000006c8 call  0x00000457 
+ 00001048  0x000006c9 fetch  0x00000001 , 0x00004b81 
+ 00001049  0x000006ca rtnne  0x000000ff 
+ 00001050  0x000006cb jam  0x00000002 , 0x000041df 
+ 00001051  0x000006cd rtn 
+ 00001052  0x000006ce fetch  0x00000001 , 0x00004b81 
+ 00001053  0x000006cf nrtn  0x00000034 
+ 00001054  0x000006d4 call  0x00004ad8 
+ 00001055  0x000006d5 fetch  0x00000003 , 0x00004170 
+ 00001056  0x000006d6 rtn  0x00000034 
+ 00001057  0x000006d7 fetch  0x00000001 , 0x00004091 
+ 00001058  0x000006d8 rtn  0x00000034 
+ 00001059  0x000006da setarg  0x0000e290 
+ 00001060  0x000006dc call  0x00007d24 
+ 00001061  0x000006dd storet  0x00000004 , 0x0000415c 
+ 00001062  0x000006de branch  0x00004b06 
+ 00001063  0x000006e1 rtn 
+ 00001064  0x000006e6 call  0x00004ad8 
+ 00001065  0x000006e7 fetch  0x00000003 , 0x00004170 
+ 00001066  0x000006e8 rtn  0x00000034 
+ 00001067  0x000006e9 fetch  0x00000001 , 0x00004091 
+ 00001068  0x000006ea rtn  0x00000034 
+ 00001069  0x000006eb fetch  0x00000001 , 0x00004b81 
+ 00001070  0x000006ec nbranch  0x00000423 , 0x00000034 
+ 00001071  0x000006ed fetch  0x00000004 , 0x00004b81 
+ 00001072  0x000006ee branch  0x00000424 
+ 00001073  0x000006f1 fetch  0x00000001 , 0x00004b81 
+ 00001074  0x000006f2 bne  0x000000ff , 0x000004b4 
+ 00001075  0x000006f3 call  0x00000438 
+ 00001076  0x000006f4 call  0x00000453 , 0x00000028 
+ 00001077  0x000006f5 call  0x00000523 , 0x00000028 
+ 00001078  0x000006f7 jam  0x00000001 , 0x00004b81 
+ 00001079  0x000006f8 rtn 
+ 00001080  0x000006fb disable  0x00000028 
+ 00001081  0x000006fc jam  0x00000002 , 0x00004b81 
+ 00001082  0x000006fd fetch  0x00000001 , 0x00004b81 
+ 00001083  0x000006fe beq  0x00000001 , 0x00000443 
+ 00001084  0x000006ff beq  0x00000002 , 0x00000449 
+ 00001085  0x00000700 beq  0x00000003 , 0x0000044f 
+ 00001086  0x00000701 beq  0x00000006 , 0x0000044c 
+ 00001087  0x00000702 beq  0x00000007 , 0x00000446 
+ 00001088  0x00000703 fetch  0x00000001 , 0x00004b81 
+ 00001089  0x00000704 ncall  0x00007dbf , 0x00000034 
+ 00001090  0x00000705 rtn 
+ 00001091  0x00000707 jam  0x00000000 , 0x00004b81 
+ 00001092  0x00000708 jam  0x0000000a , 0x00004b81 
+ 00001093  0x00000709 branch  0x00000451 
+ 00001094  0x0000070c jam  0x00000008 , 0x00004b81 
+ 00001095  0x0000070d jam  0x00000018 , 0x00004b81 
+ 00001096  0x0000070e branch  0x00000451 
+ 00001097  0x00000711 jam  0x00000003 , 0x00004b81 
+ 00001098  0x00000712 jam  0x00000004 , 0x00004b81 
+ 00001099  0x00000713 branch  0x00000451 
+ 00001100  0x00000715 jam  0x00000002 , 0x00004b81 
+ 00001101  0x00000716 jam  0x00000003 , 0x00004b81 
+ 00001102  0x00000717 branch  0x00000451 
+ 00001103  0x00000719 jam  0x00000001 , 0x00004b81 
+ 00001104  0x0000071a jam  0x00000008 , 0x00004b81 
+ 00001105  0x0000071c jam  0x00000000 , 0x00004b81 
+ 00001106  0x0000071d branch  0x00007dbf 
+ 00001107  0x00000721 arg  0x00000b1e , 0x00000005 
+ 00001108  0x00000722 arg  0x00004b81 , 0x00000006 
+ 00001109  0x00000723 arg  0x00000020 , 0x00000039 
+ 00001110  0x00000724 branch  0x00007cdc 
+ 00001111  0x00000728 jam  0x00000000 , 0x00004b81 
+ 00001112  0x0000072a arg  0x00000d00 , 0x0000000b 
+ 00001113  0x0000072b until  0x00000023 , 0x00000026 
+ 00001114  0x0000072c call  0x00000485 
+ 00001115  0x0000072d nbranch  0x00000467 , 0x0000002f 
+ 00001116  0x0000072e call  0x00000494 
+ 00001117  0x0000072f fetch  0x00000001 , 0x00004b81 
+ 00001118  0x00000730 increase  0x00000001 , 0x0000003f 
+ 00001119  0x00000731 store  0x00000001 , 0x00004b81 
+ 00001120  0x00000732 jam  0x00000000 , 0x00004b81 
+ 00001121  0x00000733 fetch  0x00000001 , 0x00004b81 
+ 00001122  0x00000734 bne  0x000000ff , 0x00000484 
+ 00001123  0x00000736 call  0x00000479 
+ 00001124  0x00000737 jam  0x00000000 , 0x00004b81 
+ 00001125  0x00000738 jam  0x00000000 , 0x00004b81 
+ 00001126  0x00000739 rtn 
+ 00001127  0x0000073d jam  0x00000001 , 0x00004b81 
+ 00001128  0x0000073e fetch  0x00000001 , 0x00004b81 
+ 00001129  0x0000073f increase  0x00000001 , 0x0000003f 
+ 00001130  0x00000740 store  0x00000001 , 0x00004b81 
+ 00001131  0x00000741 fetch  0x00000001 , 0x00004b81 
+ 00001132  0x00000742 bne  0x000000ff , 0x00000490 
+ 00001133  0x00000743 fetch  0x00000001 , 0x00004b81 
+ 00001134  0x00000744 beq  0x000000ff , 0x0000047d 
+ 00001135  0x00000745 fetch  0x00000001 , 0x00004b81 
+ 00001136  0x00000746 arg  0x00000010 , 0x00000002 
+ 00001137  0x00000747 isub  0x00000002 , 0x0000003e 
+ 00001138  0x00000748 branch  0x00000542 , 0x00000002 
+ 00001139  0x00000749 fetch  0x00000001 , 0x00004b81 
+ 00001140  0x0000074a increase  0x00000001 , 0x0000003f 
+ 00001141  0x0000074b store  0x00000001 , 0x00004b81 
+ 00001142  0x0000074c nop  0x0000000a 
+ 00001143  0x0000074d bne  0x00000007 , 0x00000458 
+ 00001144  0x0000074e branch  0x00000542 
+ 00001145  0x00000752 setarg  0x00000000 
+ 00001146  0x00000753 store  0x00000020 , 0x00000b1e 
+ 00001147  0x00000754 store  0x00000020 , 0x00004b81 
+ 00001148  0x00000755 rtn 
+ 00001149  0x00000758 call  0x00000491 
+ 00001150  0x00000759 jam  0x00000000 , 0x00004b81 
+ 00001151  0x0000075a call  0x00000479 
+ 00001152  0x0000075b jam  0x00000000 , 0x00004b81 
+ 00001153  0x0000075c fetch  0x00000004 , 0x00004b81 
+ 00001154  0x0000075d store  0x00000004 , 0x00004b81 
+ 00001155  0x0000075e rtn 
+ 00001156  0x00000761 branch  0x000004ce 
+ 00001157  0x00000764 disable  0x0000002f 
+ 00001158  0x00000765 call  0x0000059b 
+ 00001159  0x00000768 force  0x00000000 , 0x00000015 
+ 00001160  0x00000769 fetch  0x00000004 , 0x00004b81 
+ 00001161  0x0000076a iforce  0x00000009 
+ 00001162  0x0000076b fetcht  0x00000001 , 0x00000017 
+ 00001163  0x0000076c call  0x0000491c 
+ 00001164  0x0000076d call  0x00004921 
+ 00001165  0x0000076e call  0x0000055a 
+ 00001166  0x0000076f call  0x00000595 , 0x0000002f 
+ 00001167  0x00000770 rtn 
+ 00001168  0x00000778 rtn 
+ 00001169  0x0000077d jam  0x00000000 , 0x00004b81 
+ 00001170  0x0000077e jam  0x0000003a , 0x00000a95 
+ 00001171  0x0000077f branch  0x00007bab 
+ 00001172  0x00000783 call  0x00000503 
+ 00001173  0x00000784 fetch  0x00000001 , 0x00004b81 
+ 00001174  0x00000785 rtn  0x00000034 
+ 00001175  0x00000786 iforce  0x00000039 
+ 00001176  0x00000787 call  0x0000049c 
+ 00001177  0x00000788 arg  0x00000b20 , 0x00000006 
+ 00001178  0x00000789 arg  0x00000b1e , 0x00000005 
+ 00001179  0x0000078a branch  0x00007cdc 
+ 00001180  0x0000078d fetch  0x00000001 , 0x00000b1f 
+ 00001181  0x0000078e compare  0x00000008 , 0x0000003f , 0x000000f8 
+ 00001182  0x0000078f nrtn  0x00000001 
+ 00001183  0x00000790 fetch  0x00000001 , 0x00000b20 
+ 00001184  0x00000791 beq  0x000000ff , 0x000004a3 
+ 00001185  0x00000792 jam  0x000000c3 , 0x00000aff 
+ 00001186  0x00000793 branch  0x000004a4 
+ 00001187  0x00000795 jam  0x000000c4 , 0x00000aff 
+ 00001188  0x00000797 setarg  0x00000001 
+ 00001189  0x00000798 call  0x000050a5 
+ 00001190  0x00000799 fetcht  0x00000001 , 0x00000b20 
+ 00001191  0x0000079a istoret  0x00000001 , 0x0000000a 
+ 00001192  0x0000079b call  0x000067b9 
+ 00001193  0x0000079e jam  0x00000000 , 0x00004b81 
+ 00001194  0x0000079f rtn 
+ 00001195  0x000007a2 set1  0x00000026 , 0x00000000 
+ 00001196  0x000007a3 call  0x000004b0 
+ 00001197  0x000007a4 call  0x00000463 
+ 00001198  0x000007a5 jam  0x00000001 , 0x00004b81 
+ 00001199  0x000007a6 rtn 
+ 00001200  0x000007a9 jam  0x00000000 , 0x00004b81 
+ 00001201  0x000007aa jam  0x0000004e , 0x00004b81 
+ 00001202  0x000007ab fetch  0x00000004 , 0x00004b81 
+ 00001203  0x000007ac branch  0x00000515 
+ 00001204  0x000007af call  0x000004b0 
+ 00001205  0x000007b0 fetch  0x00000001 , 0x00004b81 
+ 00001206  0x000007b1 beq  0x00000001 , 0x00007dbf 
+ 00001207  0x000007b2 fetch  0x00000001 , 0x00004b81 
+ 00001208  0x000007b3 beq  0x00000001 , 0x000004bc 
+ 00001209  0x000007b4 beq  0x00000002 , 0x000004bf 
+ 00001210  0x000007b5 beq  0x00000003 , 0x000004c2 
+ 00001211  0x000007b6 branch  0x00004a8b 
+ 00001212  0x000007b9 jam  0x00000011 , 0x00004b81 
+ 00001213  0x000007ba jam  0x000000aa , 0x00000f1e 
+ 00001214  0x000007bb branch  0x000004c4 
+ 00001215  0x000007bd jam  0x00000012 , 0x00004b81 
+ 00001216  0x000007be jam  0x00000055 , 0x00000f1e 
+ 00001217  0x000007bf branch  0x000004c4 
+ 00001218  0x000007c1 jam  0x00000013 , 0x00004b81 
+ 00001219  0x000007c2 jam  0x00000022 , 0x00000f1e 
+ 00001220  0x000007c7 jam  0x00000002 , 0x00000f1f 
+ 00001221  0x000007c8 fetch  0x00000004 , 0x00004b81 
+ 00001222  0x000007c9 store  0x00000004 , 0x00000f20 
+ 00001223  0x000007ca jam  0x00000000 , 0x00000f24 
+ 00001224  0x000007cb arg  0x00000f1e , 0x00000011 
+ 00001225  0x000007cc arg  0x00000007 , 0x00000002 
+ 00001226  0x000007cd call  0x000004fe 
+ 00001227  0x000007ce call  0x00000523 
+ 00001228  0x000007cf call  0x00000436 
+ 00001229  0x000007d0 branch  0x00007dbf 
+ 00001230  0x000007d3 fetch  0x00000001 , 0x00004b81 
+ 00001231  0x000007d4 rtneq  0x000000ff 
+ 00001232  0x000007d5 beq  0x00000011 , 0x000004d4 
+ 00001233  0x000007d6 beq  0x00000012 , 0x000004d6 
+ 00001234  0x000007d7 beq  0x00000013 , 0x000004d8 
+ 00001235  0x000007d8 rtn 
+ 00001236  0x000007dc jam  0x00000002 , 0x00004b81 
+ 00001237  0x000007dd branch  0x00000463 
+ 00001238  0x000007df jam  0x00000003 , 0x00004b81 
+ 00001239  0x000007e0 branch  0x00000463 
+ 00001240  0x000007e2 jam  0x000000ff , 0x00004b81 
+ 00001241  0x000007e3 jam  0x00000039 , 0x00000a95 
+ 00001242  0x000007e4 call  0x00007bab 
+ 00001243  0x000007e5 fetch  0x00000004 , 0x00000b20 
+ 00001244  0x000007e6 call  0x00000515 
+ 00001245  0x000007e7 branch  0x00000463 
+ 00001246  0x000007ea rtnmark1  0x00000026 
+ 00001247  0x000007eb call  0x00000516 
+ 00001248  0x000007ec call  0x00000542 
+ 00001249  0x000007ed fetch  0x00000001 , 0x00004b81 
+ 00001250  0x000007ee rtnne  0x000000ff 
+ 00001251  0x000007ef call  0x000004f0 
+ 00001252  0x000007f0 setarg  0x00000000 
+ 00001253  0x000007f1 store  0x00000002 , 0x00004b81 
+ 00001254  0x000007f3 call  0x00004ad8 
+ 00001255  0x000007f4 nop  0x000007d0 
+ 00001256  0x000007f5 fetch  0x00000001 , 0x00004b81 
+ 00001257  0x000007f6 beq  0x000000ff , 0x00000491 
+ 00001258  0x000007f7 call  0x00000485 
+ 00001259  0x000007f8 nbranch  0x000004f9 , 0x0000002f 
+ 00001260  0x000007fa call  0x00000479 
+ 00001261  0x000007fb set1  0x00000026 , 0x00000000 
+ 00001262  0x000007fc jam  0x0000003c , 0x00000a95 
+ 00001263  0x000007fd branch  0x00007bab 
+ 00001264  0x00000801 jam  0x000000ff , 0x00000f1e 
+ 00001265  0x00000802 fetch  0x00000001 , 0x00004b81 
+ 00001266  0x00000803 store  0x00000001 , 0x00000f1f 
+ 00001267  0x00000804 fetch  0x00000004 , 0x00004b81 
+ 00001268  0x00000805 store  0x00000004 , 0x00000f20 
+ 00001269  0x00000806 arg  0x00000006 , 0x00000002 
+ 00001270  0x00000807 arg  0x00000f1e , 0x00000011 
+ 00001271  0x00000808 call  0x000004fe 
+ 00001272  0x00000809 branch  0x00000523 
+ 00001273  0x0000080c fetch  0x00000002 , 0x00004b81 
+ 00001274  0x0000080d increase  0x00000001 , 0x0000003f 
+ 00001275  0x0000080e store  0x00000002 , 0x00004b81 
+ 00001276  0x0000080f call  0x00000542 
+ 00001277  0x00000810 branch  0x000004e6 
+ 00001278  0x00000814 storet  0x00000001 , 0x00004b81 
+ 00001279  0x00000815 copy  0x00000002 , 0x00000039 
+ 00001280  0x00000816 arg  0x00000b1e , 0x00000005 
+ 00001281  0x00000817 copy  0x00000011 , 0x00000006 
+ 00001282  0x00000818 branch  0x00007cdc 
+ 00001283  0x0000081c fetch  0x00000001 , 0x00000b1f 
+ 00001284  0x0000081d rshift3  0x0000003f , 0x0000003f 
+ 00001285  0x0000081e store  0x00000001 , 0x00004b81 
+ 00001286  0x00000820 increase  0x00000001 , 0x0000003f 
+ 00001287  0x00000821 arg  0x00000b1f , 0x00000006 
+ 00001288  0x00000822 iadd  0x00000006 , 0x00000006 
+ 00001289  0x00000823 ifetch  0x00000003 , 0x00000006 
+ 00001290  0x00000824 store  0x00000003 , 0x00004b81 
+ 00001291  0x00000825 rtn 
+ 00001292  0x00000828 fetcht  0x00000001 , 0x00004b96 
+ 00001293  0x00000829 setarg  0x00004b85 
+ 00001294  0x0000082a iadd  0x00000002 , 0x00000005 
+ 00001295  0x0000082b copy  0x00000011 , 0x0000003f 
+ 00001296  0x0000082c istore  0x00000001 , 0x00000005 
+ 00001297  0x0000082d increase  0x00000001 , 0x00000002 
+ 00001298  0x0000082e and_into  0x00000007 , 0x00000002 
+ 00001299  0x0000082f storet  0x00000001 , 0x00004b96 
+ 00001300  0x00000830 rtn 
+ 00001301  0x00000845 store  0x00000004 , 0x00004b81 
+ 00001302  0x00000849 arg  0x00000000 , 0x00000011 
+ 00001303  0x0000084a arg  0x00000004 , 0x00000039 
+ 00001304  0x0000084b arg  0x00004b81 , 0x00000006 
+ 00001305  0x0000084d ifetch  0x00000001 , 0x00000006 
+ 00001306  0x0000084e iadd  0x00000011 , 0x00000011 
+ 00001307  0x0000084f loop  0x00000519 
+ 00001308  0x00000850 copy  0x00000011 , 0x0000003f 
+ 00001309  0x00000851 store  0x00000002 , 0x00004b81 
+ 00001310  0x00000852 fetch  0x00000001 , 0x00004b81 
+ 00001311  0x00000853 fetcht  0x00000001 , 0x00004b82 
+ 00001312  0x00000854 iadd  0x00000002 , 0x0000003f 
+ 00001313  0x00000855 store  0x00000001 , 0x00004b81 
+ 00001314  0x00000856 rtn 
+ 00001315  0x0000085b fetch  0x00000001 , 0x00004b81 
+ 00001316  0x0000085c increase  0x00000002 , 0x0000003f 
+ 00001317  0x0000085d store  0x00000001 , 0x00004b81 
+ 00001318  0x0000085f fetch  0x00000001 , 0x00004b81 
+ 00001319  0x00000860 store  0x00000001 , 0x00000b1e 
+ 00001320  0x00000862 fetch  0x00000001 , 0x00004b81 
+ 00001321  0x00000863 lshift3  0x0000003f , 0x0000003f 
+ 00001322  0x00000864 fetcht  0x00000001 , 0x00004b81 
+ 00001323  0x00000865 and  0x00000002 , 0x00000003 , 0x00000002 
+ 00001324  0x00000866 lshift  0x00000002 , 0x00000002 
+ 00001325  0x00000867 ior  0x00000002 , 0x0000003f 
+ 00001326  0x00000868 fetcht  0x00000001 , 0x00004b81 
+ 00001327  0x00000869 iadd  0x00000002 , 0x0000003f 
+ 00001328  0x0000086a istore  0x00000001 , 0x00000005 
+ 00001329  0x0000086c fetch  0x00000001 , 0x00004b81 
+ 00001330  0x0000086d bne  0x000000ff , 0x00000535 
+ 00001331  0x0000086e fetch  0x00000001 , 0x00004b81 
+ 00001332  0x0000086f istore  0x00000001 , 0x00000005 
+ 00001333  0x00000871 fetch  0x00000001 , 0x00004b81 
+ 00001334  0x00000872 iforce  0x00000039 
+ 00001335  0x00000873 fetch  0x00000001 , 0x00004b81 
+ 00001336  0x00000874 beq  0x00000001 , 0x00000540 
+ 00001337  0x00000875 arg  0x00000b1e , 0x00000006 
+ 00001338  0x00000876 call  0x00007cdc 
+ 00001339  0x0000087a fetch  0x00000001 , 0x00000b1e 
+ 00001340  0x0000087b beq  0x00000003 , 0x0000053e 
+ 00001341  0x0000087c rtn 
+ 00001342  0x0000087e jam  0x00000002 , 0x00000b1e 
+ 00001343  0x0000087f rtn 
+ 00001344  0x00000883 arg  0x00000b1f , 0x00000006 
+ 00001345  0x00000884 branch  0x00007cdc 
+ 00001346  0x00000887 fetcht  0x00000001 , 0x00004b81 
+ 00001347  0x00000888 call  0x00000548 
+ 00001348  0x00000889 increase  0x00000001 , 0x00000002 
+ 00001349  0x0000088a and_into  0x00000003 , 0x00000002 
+ 00001350  0x0000088b storet  0x00000001 , 0x00004b81 
+ 00001351  0x0000088c rtn 
+ 00001352  0x0000088f fetch  0x00000001 , 0x00004b81 
+ 00001353  0x00000890 and_into  0x00000003 , 0x0000003f 
+ 00001354  0x00000891 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00001355  0x00000892 setarg  0x00004b81 
+ 00001356  0x00000893 iadd  0x00000011 , 0x0000003f 
+ 00001357  0x00000894 iadd  0x00000002 , 0x00000006 
+ 00001358  0x00000895 ifetch  0x00000001 , 0x00000006 
+ 00001359  0x00000896 store  0x00000001 , 0x00004b81 
+ 00001360  0x00000897 rtn 
+ 00001361  0x0000089a disable  0x00000009 
+ 00001362  0x0000089b disable  0x00000007 
+ 00001363  0x0000089c setarg  0x00555555 
+ 00001364  0x0000089d iforce  0x0000000f 
+ 00001365  0x0000089e fetch  0x00000001 , 0x00004b81 
+ 00001366  0x0000089f reverse  0x0000003f , 0x00000002 
+ 00001367  0x000008a0 set1  0x00000001 , 0x00000002 
+ 00001368  0x000008a1 rshift  0x00000002 , 0x0000000e 
+ 00001369  0x000008a2 rtn 
+ 00001370  0x000008a5 call  0x00000551 
+ 00001371  0x000008a6 enable  0x0000000d 
+ 00001372  0x000008a7 enable  0x00000021 
+ 00001373  0x000008a8 disable  0x00000020 
+ 00001374  0x000008a9 enable  0x00000010 
+ 00001375  0x000008aa fetch  0x00000002 , 0x00004b81 
+ 00001376  0x000008ab iforce  0x0000001b 
+ 00001377  0x000008ac correlate  0x0000003e , 0x00000003 
+ 00001378  0x000008ad nbranch  0x00000595 , 0x00000018 
+ 00001379  0x000008ae disable  0x0000000d 
+ 00001380  0x000008af enable  0x0000000b 
+ 00001381  0x000008b0 enable  0x00000007 
+ 00001382  0x000008b1 enable  0x00000009 
+ 00001383  0x000008b2 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001384  0x000008b3 rshift3  0x0000000c , 0x0000003f 
+ 00001385  0x000008b4 store  0x00000001 , 0x00004b81 
+ 00001386  0x000008b5 fetcht  0x00000001 , 0x00004b81 
+ 00001387  0x000008b6 isub  0x00000002 , 0x0000003e 
+ 00001388  0x000008b7 nbranch  0x00000595 , 0x00000005 
+ 00001389  0x000008b8 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001390  0x000008b9 rshift3  0x0000000c , 0x0000003f 
+ 00001391  0x000008ba store  0x00000001 , 0x00000b1e 
+ 00001392  0x000008be fetch  0x00000001 , 0x00000b1e 
+ 00001393  0x000008bf fetcht  0x00000001 , 0x00004b81 
+ 00001394  0x000008c0 icompare  0x00000007 , 0x00000002 
+ 00001395  0x000008c1 nbranch  0x00000595 , 0x00000001 
+ 00001396  0x000008c3 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001397  0x000008c4 rshift3  0x0000000c , 0x0000003f 
+ 00001398  0x000008c5 istore  0x00000001 , 0x00000005 
+ 00001399  0x000008c6 rshift3  0x0000003f , 0x0000003f 
+ 00001400  0x000008c7 and  0x0000003f , 0x0000001f , 0x00000039 
+ 00001401  0x000008c8 branch  0x0000057e , 0x00000005 
+ 00001402  0x000008ca parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001403  0x000008cb rshift3  0x0000000c , 0x0000003f 
+ 00001404  0x000008cc istore  0x00000001 , 0x00000005 
+ 00001405  0x000008cd loop  0x0000057a 
+ 00001406  0x000008d0 copy  0x00000005 , 0x00000011 
+ 00001407  0x000008d1 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001408  0x000008d2 rshift3  0x0000000c , 0x0000003f 
+ 00001409  0x000008d3 store  0x00000001 , 0x00004b84 
+ 00001410  0x000008d4 copy  0x00000011 , 0x00000005 
+ 00001411  0x000008d5 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00001412  0x000008d6 enable  0x00000010 
+ 00001413  0x000008d7 arg  0x00000664 , 0x0000001b 
+ 00001414  0x000008d8 rshift32  0x0000003f , 0x0000003f 
+ 00001415  0x000008d9 rshift16  0x0000003f , 0x0000003f 
+ 00001416  0x000008da istore  0x00000003 , 0x00000005 
+ 00001417  0x000008db disable  0x0000000b 
+ 00001418  0x000008dc branch  0x00000595 , 0x00000006 
+ 00001419  0x000008dd enable  0x0000002f 
+ 00001420  0x000008de fetch  0x00000001 , 0x00000017 
+ 00001421  0x000008df add  0x0000003f , 0x00000000 , 0x00000011 
+ 00001422  0x000008e0 call  0x00004980 
+ 00001423  0x000008e1 disable  0x0000000d 
+ 00001424  0x000008e2 call  0x00004915 
+ 00001425  0x000008e3 fetch  0x00000001 , 0x00004b84 
+ 00001426  0x000008e4 copy  0x0000003f , 0x00000011 
+ 00001427  0x000008e5 call  0x0000050c 
+ 00001428  0x000008e6 rtn 
+ 00001429  0x000008ec disable  0x0000001b 
+ 00001430  0x000008ed disable  0x0000000b 
+ 00001431  0x000008ee branch  0x00004649 
+ 00001432  0x000008f1 call  0x00004915 
+ 00001433  0x000008f2 fetcht  0x00000001 , 0x00004b81 
+ 00001434  0x000008f3 branch  0x00004930 
+ 00001435  0x000008f6 call  0x0000579e 
+ 00001436  0x000008f7 fetch  0x00000004 , 0x00004b81 
+ 00001437  0x000008f8 iforce  0x00000009 
+ 00001438  0x000008f9 call  0x00000551 
+ 00001439  0x000008fa call  0x00000598 
+ 00001440  0x000008fb set1  0x00000000 , 0x00000015 
+ 00001441  0x000008fc enable  0x0000001d 
+ 00001442  0x000008fd enable  0x00000020 
+ 00001443  0x000008fe disable  0x00000021 
+ 00001444  0x000008ff rshift16  0x00000009 , 0x0000003f 
+ 00001445  0x00000900 rshift8  0x0000003f , 0x0000003f 
+ 00001446  0x00000901 rshift4  0x0000003f , 0x0000003f 
+ 00001447  0x00000902 inject  0x00000003 , 0x00000028 
+ 00001448  0x00000903 disable  0x0000001d 
+ 00001449  0x00000904 enable  0x0000001b 
+ 00001450  0x00000905 enable  0x00000007 
+ 00001451  0x00000906 enable  0x00000009 
+ 00001452  0x00000907 fetch  0x00000001 , 0x00004b81 
+ 00001453  0x00000908 inject  0x00000003 , 0x00000008 
+ 00001454  0x00000909 fetch  0x00000001 , 0x00004b81 
+ 00001455  0x0000090a iforce  0x00000039 
+ 00001456  0x0000090b arg  0x00000b1e , 0x00000006 
+ 00001457  0x0000090d ifetch  0x00000001 , 0x00000006 
+ 00001458  0x0000090e inject  0x00000003 , 0x00000008 
+ 00001459  0x0000090f loop  0x000005b1 
+ 00001460  0x00000910 enable  0x00000008 
+ 00001461  0x00000911 inject  0x00000003 , 0x00000018 
+ 00001462  0x00000912 disable  0x00000008 
+ 00001463  0x00000913 until  0x0000003e , 0x00000027 
+ 00001464  0x00000914 nop  0x00000064 
+ 00001465  0x00000915 disable  0x0000001d 
+ 00001466  0x00000916 disable  0x0000001b 
+ 00001467  0x00000917 rtn 
+ 00001468  0x0000091e setarg  0x00000025 
+ 00001469  0x0000091f store  0x00000002 , 0x000044cc 
+ 00001470  0x00000921 call  0x00005bf0 
+ 00001471  0x00000922 call  0x00005c0c 
+ 00001472  0x00000923 call  0x00005c19 
+ 00001473  0x00000924 branch  0x00005bf8 
+ 00001474  0x0000092f call  0x000058a3 
+ 00001475  0x00000930 call  0x00004915 
+ 00001476  0x00000931 fetcht  0x00000001 , 0x00000017 
+ 00001477  0x00000932 call  0x0000491c 
+ 00001478  0x00000933 nop  0x000005dc 
+ 00001479  0x00000934 call  0x00004921 
+ 00001480  0x00000935 enable  0x00000010 
+ 00001481  0x00000936 arg  0x0000157c , 0x0000000b 
+ 00001482  0x00000937 branch  0x00005869 
+ 00001483  0x0000093b call  0x000049ba 
+ 00001484  0x0000093c enable  0x00000007 
+ 00001485  0x0000093d enable  0x00000009 
+ 00001486  0x0000093e parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001487  0x0000093f rshift3  0x0000000c , 0x0000003f 
+ 00001488  0x00000940 store  0x00000001 , 0x000002d5 
+ 00001489  0x00000941 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001490  0x00000942 rshift3  0x0000000c , 0x0000003f 
+ 00001491  0x00000943 istore  0x00000001 , 0x00000005 
+ 00001492  0x00000944 copy  0x0000003f , 0x00000039 
+ 00001493  0x00000945 branch  0x0000588b , 0x00000034 
+ 00001494  0x00000946 branch  0x00005887 
+ 00001495  0x0000094d rtnmark1  0x0000000f 
+ 00001496  0x0000094e call  0x00005c70 
+ 00001497  0x0000094f nrtn  0x00000034 
+ 00001498  0x00000950 fetch  0x00000001 , 0x000002d5 
+ 00001499  0x00000951 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001500  0x00000952 store  0x00000001 , 0x000044de 
+ 00001501  0x00000953 ifetch  0x00000001 , 0x00000006 
+ 00001502  0x00000954 store  0x00000001 , 0x000044dd 
+ 00001503  0x00000955 rtn  0x00000034 
+ 00001504  0x00000956 copy  0x00000006 , 0x0000003f 
+ 00001505  0x00000957 store  0x00000002 , 0x000044df 
+ 00001506  0x00000958 fetch  0x00000001 , 0x000044de 
+ 00001507  0x00000959 beq  0x00000003 , 0x00006044 
+ 00001508  0x0000095a call  0x00005a76 
+ 00001509  0x0000095b arg  0x00000003 , 0x00000007 
+ 00001510  0x0000095c nbranch  0x00004bec , 0x00000028 
+ 00001511  0x0000095d call  0x00004bf0 
+ 00001512  0x0000095e branch  0x00005a6b 
+ 00001513  0x00000962 ifetch  0x00000002 , 0x00000006 
+ 00001514  0x00000963 beq  0x00000004 , 0x00005c8b 
+ 00001515  0x00000964 beq  0x00000006 , 0x00005ed4 
+ 00001516  0x00000965 beq  0x00000005 , 0x00005e96 
+ 00001517  0x00000966 rtn 
+ 00001518  0x0000096c call  0x00005ac9 
+ 00001519  0x0000096d call  0x0000599a 
+ 00001520  0x0000096e fetch  0x00000001 , 0x000002d5 
+ 00001521  0x0000096f isolate1  0x00000004 , 0x0000003f 
+ 00001522  0x00000970 setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00001523  0x00000971 rshift  0x0000003f , 0x0000003f 
+ 00001524  0x00000972 ixor  0x00000002 , 0x0000003f 
+ 00001525  0x00000973 isolate1  0x00000002 , 0x0000003f 
+ 00001526  0x00000974 setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00001527  0x00000975 rtnmark1  0x0000000f 
+ 00001528  0x00000976 fetch  0x00000001 , 0x000002d6 
+ 00001529  0x00000977 branch  0x00005996 , 0x00000034 
+ 00001530  0x00000978 fetch  0x00000001 , 0x0000043b 
+ 00001531  0x00000979 bbit0  0x00000004 , 0x00005996 
+ 00001532  0x0000097a call  0x00007342 
+ 00001533  0x0000097b call  0x000072b2 
+ 00001534  0x0000097c nsetflag  0x00000034 , 0x0000000f , 0x00000000 
+ 00001535  0x0000097d nrtn  0x00000034 
+ 00001536  0x0000097e branch  0x00005996 
+ 00001537  0x00000987 jam  0x000000b3 , 0x00000aff 
+ 00001538  0x00000988 branch  0x0000504e 
+ 00001539  0x0000098b jam  0x000000b4 , 0x00000aff 
+ 00001540  0x0000098c setarg  0x0000001c 
+ 00001541  0x0000098d call  0x000050a5 
+ 00001542  0x0000098e fetch  0x00000006 , 0x00004472 
+ 00001543  0x0000098f istore  0x00000006 , 0x0000000a 
+ 00001544  0x00000990 fetch  0x00000006 , 0x0000044b 
+ 00001545  0x00000991 istore  0x00000006 , 0x0000000a 
+ 00001546  0x00000992 arg  0x000043eb , 0x00000006 
+ 00001547  0x00000993 arg  0x00000010 , 0x00000039 
+ 00001548  0x00000994 call  0x000067d4 
+ 00001549  0x00000995 branch  0x000067b9 
+ 00001550  0x0000099e jam  0x00000000 , 0x00004b7f 
+ 00001551  0x0000099f jam  0x00000000 , 0x00004b7e 
+ 00001552  0x000009a0 jam  0x000000b9 , 0x00000aff 
+ 00001553  0x000009a1 setarg  0x00000001 
+ 00001554  0x000009a2 call  0x000050a5 
+ 00001555  0x000009a3 setarg  0x00000000 
+ 00001556  0x000009a4 istore  0x00000001 , 0x0000000a 
+ 00001557  0x000009a5 call  0x000067b9 
+ 00001558  0x000009a7 rtn 
+ 00001559  0x000009aa jam  0x00000001 , 0x00004bdb 
+ 00001560  0x000009ab call  0x00004e2f 
+ 00001561  0x000009ac call  0x00000620 
+ 00001562  0x000009ad fetch  0x00000002 , 0x00004652 
+ 00001563  0x000009ae rtnbit0  0x0000000c 
+ 00001564  0x000009af set0  0x0000000c , 0x0000003f 
+ 00001565  0x000009b0 store  0x00000002 , 0x00004652 
+ 00001566  0x000009b1 jam  0x000000b6 , 0x00000aff 
+ 00001567  0x000009b2 branch  0x0000504e 
+ 00001568  0x000009b6 jam  0x00000000 , 0x000041e3 
+ 00001569  0x000009b7 jam  0x00000000 , 0x00004650 
+ 00001570  0x000009b8 jam  0x00000000 , 0x00004204 
+ 00001571  0x000009b9 jam  0x00000000 , 0x00004b7e 
+ 00001572  0x000009ba jam  0x00000000 , 0x00004b7f 
+ 00001573  0x000009bb rtn 
+ 00001574  0x000009be call  0x00004e2f 
+ 00001575  0x000009bf jam  0x000000b1 , 0x00000aff 
+ 00001576  0x000009c0 setarg  0x00000001 
+ 00001577  0x000009c1 call  0x000050a5 
+ 00001578  0x000009c2 setarg  0x00000000 
+ 00001579  0x000009c3 istore  0x00000001 , 0x0000000a 
+ 00001580  0x000009c4 call  0x000067b9 
+ 00001581  0x000009c5 branch  0x00004d34 
+ 00001582  0x000009c8 branch  0x00000134 
+ 00001583  0x000009cb setarg  0x00000002 
+ 00001584  0x000009cc store  0x00000001 , 0x00004650 
+ 00001585  0x000009cd rtn 
+ 00001586  0x000009d0 fetch  0x00000002 , 0x00004652 
+ 00001587  0x000009d1 set0  0x0000000c , 0x0000003f 
+ 00001588  0x000009d2 store  0x00000002 , 0x00004652 
+ 00001589  0x000009d3 jam  0x000000b6 , 0x00000aff 
+ 00001590  0x000009d4 call  0x0000504e 
+ 00001591  0x000009d5 jam  0x00000000 , 0x00004b7e 
+ 00001592  0x000009d6 setarg  0x00000001 
+ 00001593  0x000009d7 store  0x00000001 , 0x00004b7f 
+ 00001594  0x000009d8 rtn 
+ 00001595  0x000009db fetch  0x00000001 , 0x000041e3 
+ 00001596  0x000009dc rtneq  0x00000001 
+ 00001597  0x000009dd fetch  0x00000002 , 0x00004652 
+ 00001598  0x000009de set1  0x0000000c , 0x0000003f 
+ 00001599  0x000009df store  0x00000002 , 0x00004652 
+ 00001600  0x000009e0 jam  0x000000b0 , 0x00000aff 
+ 00001601  0x000009e1 call  0x0000504e 
+ 00001602  0x000009e2 jam  0x00000001 , 0x000041e3 
+ 00001603  0x000009e4 call  0x00000134 
+ 00001604  0x000009e5 branch  0x00004d89 
+ 00001605  0x000009e8 branch  0x00000626 
+ 00001606  0x000009eb setarg  0x00000005 
+ 00001607  0x000009ec store  0x00000001 , 0x00004b7e 
+ 00001608  0x000009ed rtn 
+ 00001609  0x000009f0 branch  0x00004d48 
+ 00001610  0x000009f3 rtn 
+ 00001611  0x000009f6 branch  0x0000064c 
+ 00001612  0x000009f8 jam  0x000000b5 , 0x00000aff 
+ 00001613  0x000009f9 setarg  0x0000001c 
+ 00001614  0x000009fa call  0x000050a5 
+ 00001615  0x000009fb fetch  0x00000006 , 0x000040a0 
+ 00001616  0x000009fc istore  0x00000006 , 0x0000000a 
+ 00001617  0x000009fd fetch  0x00000006 , 0x00000040 
+ 00001618  0x000009fe istore  0x00000006 , 0x0000000a 
+ 00001619  0x000009ff arg  0x000041bf , 0x00000006 
+ 00001620  0x00000a00 arg  0x00000010 , 0x00000039 
+ 00001621  0x00000a01 call  0x000067d4 
+ 00001622  0x00000a02 branch  0x000067b9 
+ 00001623  0x00000a09 arg  0x00004b7e , 0x00000013 
+ 00001624  0x00000a0a arg  0x0000065a , 0x00000012 
+ 00001625  0x00000a0b branch  0x00004d04 
+ 00001626  0x00000a0e fetch  0x00000001 , 0x0000027b 
+ 00001627  0x00000a0f set1  0x00000000 , 0x0000003f 
+ 00001628  0x00000a10 set1  0x00000007 , 0x0000003f 
+ 00001629  0x00000a11 store  0x00000001 , 0x0000027b 
+ 00001630  0x00000a12 rtn 
+ 00001631  0x00000a15 arg  0x00004650 , 0x00000013 
+ 00001632  0x00000a16 arg  0x0000063b , 0x00000012 
+ 00001633  0x00000a17 branch  0x00004d04 
+ 00001634  0x00000a1b arg  0x00004b7f , 0x00000013 
+ 00001635  0x00000a1c arg  0x00000665 , 0x00000012 
+ 00001636  0x00000a1d branch  0x00004d04 
+ 00001637  0x00000a20 jam  0x00000099 , 0x00000aff 
+ 00001638  0x00000a21 call  0x0000504e 
+ 00001639  0x00000a22 branch  0x00004d64 
+ 00001640  0x00000a29 call  0x0000564b 
+ 00001641  0x00000a2a nrtn  0x00000034 
+ 00001642  0x00000a2b fetch  0x00000001 , 0x00000b00 
+ 00001643  0x00000a2c add  0x0000003f , 0x00000001 , 0x00000011 
+ 00001644  0x00000a2d call  0x0000513d 
+ 00001645  0x00000a2e fetch  0x00000002 , 0x00004220 
+ 00001646  0x00000a2f istore  0x00000002 , 0x00000005 
+ 00001647  0x00000a30 setarg  0x000000a1 
+ 00001648  0x00000a31 istore  0x00000001 , 0x00000005 
+ 00001649  0x00000a32 fetch  0x00000001 , 0x00000b00 
+ 00001650  0x00000a33 copy  0x0000003f , 0x00000039 
+ 00001651  0x00000a34 call  0x000067ed 
+ 00001652  0x00000a35 branch  0x0000501f 
+ 00001653  0x00000a39 ifetch  0x00000006 , 0x00000003 
+ 00001654  0x00000a3a store  0x00000006 , 0x000041d1 
+ 00001655  0x00000a3b ifetch  0x00000002 , 0x00000003 
+ 00001656  0x00000a3c store  0x00000002 , 0x000040b9 
+ 00001657  0x00000a3d arg  0x000041bf , 0x00000005 
+ 00001658  0x00000a3e arg  0x00000010 , 0x00000039 
+ 00001659  0x00000a3f call  0x000067ed 
+ 00001660  0x00000a40 call  0x000068be 
+ 00001661  0x00000a41 call  0x00000134 
+ 00001662  0x00000a42 call  0x00004d5c 
+ 00001663  0x00000a43 branch  0x0000501f 
+ 00001664  0x00000a4a fetch  0x00000002 , 0x00000260 
+ 00001665  0x00000a4b copy  0x0000003f , 0x00000006 
+ 00001666  0x00000a4c ifetch  0x00000001 , 0x00000006 
+ 00001667  0x00000a4d and  0x0000003f , 0x0000000f , 0x00000002 
+ 00001668  0x00000a4e rshift4  0x0000003f , 0x0000003f 
+ 00001669  0x00000a4f beq  0x00000009 , 0x0000512d 
+ 00001670  0x00000a50 beq  0x00000007 , 0x0000512d 
+ 00001671  0x00000a51 beq  0x0000000a , 0x0000068c 
+ 00001672  0x00000a52 beq  0x00000005 , 0x000006a0 
+ 00001673  0x00000a53 beq  0x00000001 , 0x000006a2 
+ 00001674  0x00000a54 beq  0x00000004 , 0x0000512d 
+ 00001675  0x00000a55 rtn 
+ 00001676  0x00000a59 branch  0x00000691 
+ 00001677  0x00000a5a ifetch  0x00000002 , 0x00000006 
+ 00001678  0x00000a5b store  0x00000002 , 0x00000a96 
+ 00001679  0x00000a5c beq  0x00000001 , 0x0000069a 
+ 00001680  0x00000a5d rtn 
+ 00001681  0x00000a60 jam  0x000000b2 , 0x00000aff 
+ 00001682  0x00000a61 fetch  0x00000002 , 0x00000262 
+ 00001683  0x00000a62 pincrease  0xffffffff 
+ 00001684  0x00000a63 icopy  0x00000039 
+ 00001685  0x00000a65 call  0x000050a5 
+ 00001686  0x00000a66 fetch  0x00000002 , 0x00000260 
+ 00001687  0x00000a68 icopy  0x00000006 
+ 00001688  0x00000a69 call  0x000067c1 
+ 00001689  0x00000a6a branch  0x000067b9 
+ 00001690  0x00000a6e jam  0x000000b2 , 0x00000aff 
+ 00001691  0x00000a6f setarg  0x00000002 
+ 00001692  0x00000a70 call  0x000050a5 
+ 00001693  0x00000a71 fetch  0x00000002 , 0x00000a96 
+ 00001694  0x00000a72 istore  0x00000002 , 0x0000000a 
+ 00001695  0x00000a73 branch  0x000067b9 
+ 00001696  0x00000a76 call  0x0000068c 
+ 00001697  0x00000a77 branch  0x00005126 
+ 00001698  0x00000a7a copy  0x00000002 , 0x0000003f 
+ 00001699  0x00000a7b beq  0x00000005 , 0x0000511e 
+ 00001700  0x00000a7c jam  0x00000001 , 0x00004b80 
+ 00001701  0x00000a7d beq  0x00000003 , 0x0000512d 
+ 00001702  0x00000a7e jam  0x00000000 , 0x00004b80 
+ 00001703  0x00000a7f beq  0x00000004 , 0x0000512d 
+ 00001704  0x00000a80 rtn 
+ 00016384  0x00000a89 call  0x00004abb 
+ 00016385  0x00000a8b bpatch  0x00000000 , 0x00004000 
+ 00016386  0x00000a8c clear_stack 
+ 00016387  0x00000a8d call  0x0000496a 
+ 00016388  0x00000a8e call  0x00004a95 
+ 00016389  0x00000a8f call  0x00005144 
+ 00016390  0x00000a90 bpatch  0x00000001 , 0x00004000 
+ 00016391  0x00000a91 call  0x000068c4 
+ 00016392  0x00000a92 call  0x000060d7 
+ 00016393  0x00000a93 call  0x00007b81 
+ 00016394  0x00000a94 call  0x00004c77 
+ 00016395  0x00000a95 bpatch  0x00000002 , 0x00004000 
+ 00016396  0x00000a96 call  0x00004c7c , 0x0000002b 
+ 00016397  0x00000a97 call  0x0000741f 
+ 00016398  0x00000a98 call  0x00004b1d , 0x0000002b 
+ 00016399  0x00000a9a bpatch  0x00000003 , 0x00004000 
+ 00016400  0x00000a9b call  0x00007591 
+ 00016401  0x00000a9c call  0x00007964 
+ 00016402  0x00000a9d call  0x00007422 
+ 00016403  0x00000a9e call  0x00005736 
+ 00016404  0x00000a9f bpatch  0x00000004 , 0x00004000 
+ 00016405  0x00000aa0 call  0x00004034 
+ 00016406  0x00000aa1 call  0x00004c86 
+ 00016407  0x00000aa2 call  0x0000408b 
+ 00016408  0x00000aa3 call  0x000042f4 
+ 00016409  0x00000aa4 call  0x00004366 
+ 00016410  0x00000aa5 call  0x0000401d 
+ 00016411  0x00000aa6 call  0x00004b3f 
+ 00016412  0x00000aa7 branch  0x0000400f 
+ 00016413  0x00000aaa call  0x00004022 
+ 00016414  0x00000aab rtnmark0  0x00000009 
+ 00016415  0x00000aac set0  0x00000009 , 0x00000000 
+ 00016416  0x00000aad call  0x0000421f 
+ 00016417  0x00000aae branch  0x000057a8 
+ 00016418  0x00000ab1 bpatch  0x00000005 , 0x00004000 
+ 00016419  0x00000ab2 call  0x0000425a 
+ 00016420  0x00000ab3 nbranch  0x0000402b , 0x00000005 
+ 00016421  0x00000ab4 call  0x00004206 
+ 00016422  0x00000ab5 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00016423  0x00000ab6 ifetch  0x00000001 , 0x00000006 
+ 00016424  0x00000ab7 bbit1  0x00000000 , 0x0000573a 
+ 00016425  0x00000ab8 bbit1  0x00000001 , 0x00004162 
+ 00016426  0x00000ab9 branch  0x000043cb 
+ 00016427  0x00000abb call  0x00004227 
+ 00016428  0x00000abc copy  0x00000039 , 0x0000003e 
+ 00016429  0x00000abd rtn  0x00000005 
+ 00016430  0x00000abe call  0x00004206 
+ 00016431  0x00000abf fetch  0x00000001 , 0x00000030 
+ 00016432  0x00000ac0 bbit1  0x00000003 , 0x000040cf 
+ 00016433  0x00000ac1 fetch  0x00000001 , 0x00000031 
+ 00016434  0x00000ac2 bbit1  0x00000001 , 0x00004162 
+ 00016435  0x00000ac3 branch  0x000043cb 
+ 00016436  0x00000acc fetch  0x00000001 , 0x000041cf 
+ 00016437  0x00000acd rtn  0x00000034 
+ 00016438  0x00000ace beq  0x00000001 , 0x00004044 
+ 00016439  0x00000acf beq  0x00000002 , 0x00004049 
+ 00016440  0x00000ad0 beq  0x00000003 , 0x0000404c 
+ 00016441  0x00000ad1 beq  0x00000005 , 0x00004051 
+ 00016442  0x00000ad2 beq  0x0000001b , 0x00004041 
+ 00016443  0x00000ad3 call  0x00004253 
+ 00016444  0x00000ad4 rtn  0x00000005 
+ 00016445  0x00000ad5 call  0x00004256 
+ 00016446  0x00000ad6 rtn  0x00000005 
+ 00016447  0x00000ad8 jam  0x00000000 , 0x000041cf 
+ 00016448  0x00000ad9 rtn 
+ 00016449  0x00000adc jam  0x0000001b , 0x00000497 
+ 00016450  0x00000add jam  0x00000000 , 0x000041cf 
+ 00016451  0x00000ade rtn 
+ 00016452  0x00000ae1 set1  0x0000001c , 0x00000000 
+ 00016453  0x00000ae2 set0  0x0000001e , 0x00000000 
+ 00016454  0x00000ae3 jam  0x000000ff , 0x0000008f 
+ 00016455  0x00000ae4 jam  0x0000001f , 0x0000008d 
+ 00016456  0x00000ae5 branch  0x0000403f 
+ 00016457  0x00000ae8 set0  0x0000001c , 0x00000000 
+ 00016458  0x00000ae9 force  0x00000000 , 0x0000001b 
+ 00016459  0x00000aea branch  0x0000403f 
+ 00016460  0x00000aed call  0x00004256 
+ 00016461  0x00000aee rtn  0x00000005 
+ 00016462  0x00000aef force  0x00000001 , 0x00000002 
+ 00016463  0x00000af0 jam  0x00000005 , 0x0000016c 
+ 00016464  0x00000af1 branch  0x00004058 
+ 00016465  0x00000af4 bpatch  0x00000006 , 0x00004000 
+ 00016466  0x00000af6 fetch  0x00000006 , 0x000041d1 
+ 00016467  0x00000af7 branch  0x0000403f , 0x00000034 
+ 00016468  0x00000af8 jam  0x00000001 , 0x00004651 
+ 00016469  0x00000afa jam  0x00000003 , 0x00000055 
+ 00016470  0x00000afb branch  0x00004057 
+ 00016471  0x00000afe force  0x00000025 , 0x00000002 
+ 00016472  0x00000b00 bpatch  0x00000007 , 0x00004000 
+ 00016473  0x00000b01 fetch  0x00000001 , 0x000000ef 
+ 00016474  0x00000b02 branch  0x0000405e , 0x00000034 
+ 00016475  0x00000b03 lshift3  0x0000003f , 0x0000003f 
+ 00016476  0x00000b04 lshift4  0x0000003f , 0x0000003f 
+ 00016477  0x00000b05 increase  0xffffffff , 0x0000003f 
+ 00016478  0x00000b07 store  0x00000001 , 0x000040a6 
+ 00016479  0x00000b08 store  0x00000001 , 0x000000ee 
+ 00016480  0x00000b09 jam  0x0000001f , 0x0000008e 
+ 00016481  0x00000b0a set0  0x0000000c , 0x00000000 
+ 00016482  0x00000b0b call  0x00004237 
+ 00016483  0x00000b0c nbranch  0x0000407f , 0x00000005 
+ 00016484  0x00000b0d call  0x00004a6e 
+ 00016485  0x00000b0e store  0x00000001 , 0x00000077 
+ 00016486  0x00000b0f storet  0x00000001 , 0x0000007c 
+ 00016487  0x00000b10 fetch  0x00000006 , 0x000041d1 
+ 00016488  0x00000b11 store  0x00000006 , 0x00000040 
+ 00016489  0x00000b12 bpatch  0x00000008 , 0x00004001 
+ 00016490  0x00000b13 call  0x00007cf0 
+ 00016491  0x00000b14 force  0x00000000 , 0x0000003f 
+ 00016492  0x00000b15 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00016493  0x00000b16 nsetflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00016494  0x00000b17 set1  0x00000003 , 0x0000003f 
+ 00016495  0x00000b18 store  0x00000001 , 0x00000030 
+ 00016496  0x00000b19 jam  0x00000003 , 0x00000a95 
+ 00016497  0x00000b1a call  0x00007bab 
+ 00016498  0x00000b1b force  0x00000000 , 0x0000003f 
+ 00016499  0x00000b1c setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00016500  0x00000b1d store  0x00000001 , 0x0000004c 
+ 00016501  0x00000b1e setarg  0x00000000 
+ 00016502  0x00000b1f set1  0x00000001 , 0x0000003f 
+ 00016503  0x00000b20 store  0x00000001 , 0x00000031 
+ 00016504  0x00000b21 enable  0x00000029 
+ 00016505  0x00000b22 call  0x0000421f 
+ 00016506  0x00000b23 disable  0x00000029 
+ 00016507  0x00000b24 force  0x00000003 , 0x00000007 
+ 00016508  0x00000b25 fetch  0x00000002 , 0x000040b9 
+ 00016509  0x00000b26 call  0x00007ce3 
+ 00016510  0x00000b27 branch  0x0000403f 
+ 00016511  0x00000b29 bpatch  0x00000009 , 0x00004001 
+ 00016512  0x00000b2a fetch  0x00000006 , 0x000041d1 
+ 00016513  0x00000b2b store  0x00000006 , 0x00000040 
+ 00016514  0x00000b2c compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00016515  0x00000b2d branch  0x00004085 , 0x00000001 
+ 00016516  0x00000b2e branch  0x0000403f 
+ 00016517  0x00000b30 arg  0x000000ff , 0x00000005 
+ 00016518  0x00000b31 arg  0x00000008 , 0x00000039 
+ 00016519  0x00000b32 call  0x00007ca1 
+ 00016520  0x00000b33 jam  0x00000004 , 0x00000a95 
+ 00016521  0x00000b34 call  0x00007bab 
+ 00016522  0x00000b35 branch  0x0000403f 
+ 00016523  0x00000b3d rtnmark0  0x0000001c 
+ 00016524  0x00000b3e force  0x00000001 , 0x00000007 
+ 00016525  0x00000b3f call  0x00007cf1 
+ 00016526  0x00000b40 nsetflag  0x00000034 , 0x0000001c , 0x00000000 
+ 00016527  0x00000b41 nbranch  0x00004091 , 0x00000034 
+ 00016528  0x00000b42 rtn 
+ 00016529  0x00000b47 bpatch  0x0000000a , 0x00004001 
+ 00016530  0x00000b48 fetcht  0x00000002 , 0x000040bb 
+ 00016531  0x00000b49 force  0x00000004 , 0x00000007 
+ 00016532  0x00000b4a call  0x00004718 
+ 00016533  0x00000b4b rtn  0x00000028 
+ 00016534  0x00000b4c call  0x000048a0 
+ 00016535  0x00000b4d force  0x00000000 , 0x00000024 
+ 00016536  0x00000b4f rtn  0x00000003 
+ 00016537  0x00000b50 set0  0x0000000b , 0x00000000 
+ 00016538  0x00000b51 set0  0x00000000 , 0x00000000 
+ 00016539  0x00000b53 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00016540  0x00000b54 isolate1  0x0000001e , 0x00000000 
+ 00016541  0x00000b55 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00016542  0x00000b56 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00016543  0x00000b57 nbranch  0x000040ba , 0x00000001 
+ 00016544  0x00000b5a bpatch  0x0000000b , 0x00004001 
+ 00016545  0x00000b5b fetch  0x00000001 , 0x00000012 
+ 00016546  0x00000b5c increase  0x00000001 , 0x0000003f 
+ 00016547  0x00000b5d store  0x00000001 , 0x00000012 
+ 00016548  0x00000b5e call  0x000048d4 
+ 00016549  0x00000b5f call  0x000048ce 
+ 00016550  0x00000b60 call  0x000048ee 
+ 00016551  0x00000b61 call  0x00004a50 
+ 00016552  0x00000b62 call  0x00004a55 
+ 00016553  0x00000b63 call  0x00004a63 
+ 00016554  0x00000b64 call  0x00004649 
+ 00016555  0x00000b65 call  0x000040ad 
+ 00016556  0x00000b66 branch  0x00004098 
+ 00016557  0x00000b69 bpatch  0x0000000c , 0x00004001 
+ 00016558  0x00000b6a fetch  0x00000001 , 0x0000008d 
+ 00016559  0x00000b6b increase  0xffffffff , 0x0000003f 
+ 00016560  0x00000b6c store  0x00000001 , 0x0000008d 
+ 00016561  0x00000b6d rtn  0x00000002 
+ 00016562  0x00000b6e jam  0x0000001f , 0x0000008d 
+ 00016563  0x00000b6f fetch  0x00000001 , 0x0000008f 
+ 00016564  0x00000b70 increase  0xffffffff , 0x0000003f 
+ 00016565  0x00000b71 store  0x00000001 , 0x0000008f 
+ 00016566  0x00000b72 rtn  0x00000002 
+ 00016567  0x00000b73 setflip  0x0000001e , 0x00000000 
+ 00016568  0x00000b74 jam  0x000000ff , 0x0000008f 
+ 00016569  0x00000b75 rtn 
+ 00016570  0x00000b78 bpatch  0x0000000d , 0x00004001 
+ 00016571  0x00000b79 call  0x000048d4 
+ 00016572  0x00000b7a call  0x000048c8 
+ 00016573  0x00000b7b call  0x000048ee 
+ 00016574  0x00000b7c call  0x00004a5a 
+ 00016575  0x00000b7d call  0x000049ea 
+ 00016576  0x00000b7e call  0x00004a0c 
+ 00016577  0x00000b7f branch  0x000040c4 , 0x00000018 
+ 00016578  0x00000b80 call  0x000040ad 
+ 00016579  0x00000b81 branch  0x0000409b 
+ 00016580  0x00000b83 bpatch  0x0000000e , 0x00004001 
+ 00016581  0x00000b84 call  0x000049ba 
+ 00016582  0x00000b85 call  0x00004a6a 
+ 00016583  0x00000b86 call  0x0000451a 
+ 00016584  0x00000b87 set0  0x00000001 , 0x00000000 
+ 00016585  0x00000b88 rtnmark0  0x0000000b 
+ 00016586  0x00000b8a bpatch  0x0000000f , 0x00004001 
+ 00016587  0x00000b8c fetch  0x00000001 , 0x00000013 
+ 00016588  0x00000b8d increase  0x00000001 , 0x0000003f 
+ 00016589  0x00000b8e store  0x00000001 , 0x00000013 
+ 00016590  0x00000b8f rtn 
+ 00016591  0x00000b98 bpatch  0x00000010 , 0x00004002 
+ 00016592  0x00000b99 enable  0x00000029 
+ 00016593  0x00000b9a enable  0x00000030 
+ 00016594  0x00000b9b fetch  0x00000002 , 0x000040b5 
+ 00016595  0x00000b9c branch  0x000040d7 , 0x00000034 
+ 00016596  0x00000b9d force  0x00000008 , 0x00000007 
+ 00016597  0x00000b9e call  0x00007cf1 
+ 00016598  0x00000b9f nrtn  0x00000034 
+ 00016599  0x00000ba1 bpatch  0x00000011 , 0x00004002 
+ 00016600  0x00000ba2 fetcht  0x00000002 , 0x000040b7 
+ 00016601  0x00000ba3 force  0x00000028 , 0x00000007 
+ 00016602  0x00000ba4 call  0x00004718 
+ 00016603  0x00000ba5 branch  0x00004110 , 0x00000028 
+ 00016604  0x00000ba6 force  0x00000003 , 0x00000007 
+ 00016605  0x00000ba7 call  0x00007cf1 
+ 00016606  0x00000ba8 nbranch  0x000040ec , 0x00000034 
+ 00016607  0x00000ba9 fetch  0x00000001 , 0x0000004c 
+ 00016608  0x00000baa bbit1  0x00000004 , 0x000040e2 
+ 00016609  0x00000bab branch  0x000040e5 
+ 00016610  0x00000bad arg  0x000000ff , 0x00000005 
+ 00016611  0x00000bae arg  0x00000008 , 0x00000039 
+ 00016612  0x00000baf call  0x00007ca1 
+ 00016613  0x00000bb1 bpatch  0x00000012 , 0x00004002 
+ 00016614  0x00000bb2 jam  0x00000000 , 0x00000030 
+ 00016615  0x00000bb3 call  0x000060d8 
+ 00016616  0x00000bb4 jam  0x00000000 , 0x00004651 
+ 00016617  0x00000bb5 jam  0x00000013 , 0x00000a95 
+ 00016618  0x00000bb6 call  0x00007bab 
+ 00016619  0x00000bb7 branch  0x00004110 
+ 00016620  0x00000bba bpatch  0x00000013 , 0x00004002 
+ 00016621  0x00000bbb force  0x00000000 , 0x0000000b 
+ 00016622  0x00000bbc until  0x00000023 , 0x00000026 
+ 00016623  0x00000bbd fetch  0x00000001 , 0x000000f0 
+ 00016624  0x00000bbe increase  0xffffffff , 0x0000003f 
+ 00016625  0x00000bbf ixor  0x00000022 , 0x0000003f 
+ 00016626  0x00000bc0 compare  0x00000000 , 0x0000003f , 0x00000003 
+ 00016627  0x00000bc1 nbranch  0x000040ec , 0x00000001 
+ 00016628  0x00000bc2 deposit  0x00000004 
+ 00016629  0x00000bc3 store  0x00000001 , 0x0000017f 
+ 00016630  0x00000bc4 force  0x00000000 , 0x00000026 
+ 00016631  0x00000bc5 force  0x00000000 , 0x00000024 
+ 00016632  0x00000bc8 bpatch  0x00000014 , 0x00004002 
+ 00016633  0x00000bc9 branch  0x00004110 , 0x00000003 
+ 00016634  0x00000bca call  0x000048d8 
+ 00016635  0x00000bcb arg  0x00000600 , 0x0000000b 
+ 00016636  0x00000bcc until  0x00000023 , 0x00000026 
+ 00016637  0x00000bce bpatch  0x00000015 , 0x00004002 
+ 00016638  0x00000bcf fetch  0x00000004 , 0x000000f0 
+ 00016639  0x00000bd0 iforce  0x00000021 
+ 00016640  0x00000bd1 increase  0x00000001 , 0x0000003f 
+ 00016641  0x00000bd2 store  0x00000004 , 0x000000f0 
+ 00016642  0x00000bd3 isolate1  0x0000000c , 0x00000000 
+ 00016643  0x00000bd4 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00016644  0x00000bd5 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00016645  0x00000bd6 nbranch  0x00004124 , 0x00000001 
+ 00016646  0x00000bd7 fetch  0x00000001 , 0x0000000c 
+ 00016647  0x00000bd8 increase  0x00000001 , 0x0000003f 
+ 00016648  0x00000bd9 store  0x00000001 , 0x0000000c 
+ 00016649  0x00000bda call  0x000048ce 
+ 00016650  0x00000bdb call  0x00004a50 
+ 00016651  0x00000bdc call  0x00004a55 
+ 00016652  0x00000bdd call  0x00004a63 
+ 00016653  0x00000bde call  0x00004649 
+ 00016654  0x00000bdf call  0x00004116 
+ 00016655  0x00000be0 branch  0x000040f8 
+ 00016656  0x00000be2 bpatch  0x00000016 , 0x00004002 
+ 00016657  0x00000be3 disable  0x00000029 
+ 00016658  0x00000be4 fetch  0x00000002 , 0x000040b5 
+ 00016659  0x00000be5 rtn  0x00000034 
+ 00016660  0x00000be6 force  0x00000008 , 0x00000007 
+ 00016661  0x00000be7 branch  0x00007ce3 
+ 00016662  0x00000bea bpatch  0x00000017 , 0x00004002 
+ 00016663  0x00000beb fetch  0x00000001 , 0x0000008e 
+ 00016664  0x00000bec increase  0xffffffff , 0x0000003f 
+ 00016665  0x00000bed store  0x00000001 , 0x0000008e 
+ 00016666  0x00000bee rtn  0x00000002 
+ 00016667  0x00000bef jam  0x0000001f , 0x0000008e 
+ 00016668  0x00000bf0 fetch  0x00000001 , 0x000000ee 
+ 00016669  0x00000bf1 increase  0xffffffff , 0x0000003f 
+ 00016670  0x00000bf2 store  0x00000001 , 0x000000ee 
+ 00016671  0x00000bf3 rtn  0x00000002 
+ 00016672  0x00000bf4 setflip  0x0000000c , 0x00000000 
+ 00016673  0x00000bf5 fetch  0x00000001 , 0x000040a6 
+ 00016674  0x00000bf6 store  0x00000001 , 0x000000ee 
+ 00016675  0x00000bf7 rtn 
+ 00016676  0x00000bfa bpatch  0x00000018 , 0x00004003 
+ 00016677  0x00000bfb call  0x000048c8 
+ 00016678  0x00000bfc call  0x00004a5a 
+ 00016679  0x00000bfd call  0x000049ea 
+ 00016680  0x00000bfe call  0x00004a0c 
+ 00016681  0x00000bff branch  0x0000412c , 0x00000018 
+ 00016682  0x00000c00 call  0x00004116 
+ 00016683  0x00000c01 branch  0x000040fd 
+ 00016684  0x00000c03 call  0x00004649 
+ 00016685  0x00000c04 fetch  0x00000001 , 0x0000000d 
+ 00016686  0x00000c05 increase  0x00000001 , 0x0000003f 
+ 00016687  0x00000c06 store  0x00000001 , 0x0000000d 
+ 00016688  0x00000c07 force  0x00000000 , 0x0000001b 
+ 00016689  0x00000c08 fetch  0x00000004 , 0x000000f0 
+ 00016690  0x00000c0a bpatch  0x00000019 , 0x00004003 
+ 00016691  0x00000c0b call  0x00004a4e 
+ 00016692  0x00000c0c call  0x000048d8 
+ 00016693  0x00000c0d increase  0x00000001 , 0x00000026 
+ 00016694  0x00000c0f and_into  0x000001fd , 0x00000021 
+ 00016695  0x00000c10 and_into  0x000001fc , 0x00000024 
+ 00016696  0x00000c11 call  0x000048ce 
+ 00016697  0x00000c12 call  0x00004a50 
+ 00016698  0x00000c13 call  0x00004a55 
+ 00016699  0x00000c14 call  0x00004a63 
+ 00016700  0x00000c15 deposit  0x00000022 
+ 00016701  0x00000c16 store  0x00000004 , 0x0000015f 
+ 00016702  0x00000c17 force  0x00000000 , 0x00000004 
+ 00016703  0x00000c18 force  0x00000002 , 0x00000001 
+ 00016704  0x00000c19 call  0x00004a6a 
+ 00016705  0x00000c1a call  0x00004762 
+ 00016706  0x00000c1c bpatch  0x0000001a , 0x00004003 
+ 00016707  0x00000c1d call  0x00004a4c 
+ 00016708  0x00000c1e or_into  0x00000002 , 0x00000021 
+ 00016709  0x00000c1f and_into  0x000001fc , 0x00000024 
+ 00016710  0x00000c20 call  0x000048c8 
+ 00016711  0x00000c21 call  0x00004a5a 
+ 00016712  0x00000c22 call  0x000049ea 
+ 00016713  0x00000c23 call  0x00004a0c 
+ 00016714  0x00000c24 call  0x00004649 , 0x00000018 
+ 00016715  0x00000c25 branch  0x00004151 , 0x00000018 
+ 00016716  0x00000c26 fetch  0x00000001 , 0x00000010 
+ 00016717  0x00000c27 branch  0x000040f8 , 0x00000034 
+ 00016718  0x00000c28 increase  0xffffffff , 0x0000003f 
+ 00016719  0x00000c29 store  0x00000001 , 0x00000010 
+ 00016720  0x00000c2a branch  0x00004132 
+ 00016721  0x00000c2d bpatch  0x0000001b , 0x00004003 
+ 00016722  0x00000c2e fetch  0x00000001 , 0x0000000e 
+ 00016723  0x00000c2f increase  0x00000001 , 0x0000003f 
+ 00016724  0x00000c30 store  0x00000001 , 0x0000000e 
+ 00016725  0x00000c31 call  0x00004431 
+ 00016726  0x00000c33 call  0x000042ee 
+ 00016727  0x00000c34 branch  0x0000415b , 0x00000018 
+ 00016728  0x00000c35 call  0x00004451 
+ 00016729  0x00000c36 nbranch  0x00004156 , 0x00000034 
+ 00016730  0x00000c37 branch  0x000040f8 
+ 00016731  0x00000c3a bpatch  0x0000001c , 0x00004003 
+ 00016732  0x00000c3b fetch  0x00000001 , 0x00000030 
+ 00016733  0x00000c3c set0  0x00000003 , 0x0000003f 
+ 00016734  0x00000c3d store  0x00000001 , 0x00000030 
+ 00016735  0x00000c3e call  0x0000443c 
+ 00016736  0x00000c3f disable  0x00000029 
+ 00016737  0x00000c40 rtn 
+ 00016738  0x00000c44 bpatch  0x0000001d , 0x00004003 
+ 00016739  0x00000c45 enable  0x00000029 
+ 00016740  0x00000c46 enable  0x00000030 
+ 00016741  0x00000c47 call  0x000041dd 
+ 00016742  0x00000c48 rtn  0x00000028 
+ 00016743  0x00000c49 call  0x00004c24 
+ 00016744  0x00000c4a call  0x00004a4e 
+ 00016745  0x00000c4b add  0x00000022 , 0x00000001 , 0x00000021 
+ 00016746  0x00000c4c call  0x000048de 
+ 00016747  0x00000c4d force  0x00000003 , 0x00000024 
+ 00016748  0x00000c4e call  0x00006b81 
+ 00016749  0x00000c4f call  0x00004485 
+ 00016750  0x00000c50 call  0x000048ce 
+ 00016751  0x00000c51 call  0x00004a50 
+ 00016752  0x00000c52 call  0x00004a55 
+ 00016753  0x00000c53 call  0x00004a63 
+ 00016754  0x00000c54 call  0x0000475e 
+ 00016755  0x00000c56 bpatch  0x0000001e , 0x00004003 
+ 00016756  0x00000c57 call  0x000060e9 
+ 00016757  0x00000c58 call  0x000042e0 
+ 00016758  0x00000c59 nbranch  0x0000417c , 0x0000002d 
+ 00016759  0x00000c5a call  0x00004a87 
+ 00016760  0x00000c5b call  0x00004724 
+ 00016761  0x00000c5c fetch  0x00000001 , 0x0000000f 
+ 00016762  0x00000c5d increase  0x00000001 , 0x0000003f 
+ 00016763  0x00000c5e store  0x00000001 , 0x0000000f 
+ 00016764  0x00000c60 bpatch  0x0000001f , 0x00004003 
+ 00016765  0x00000c61 call  0x00006b69 
+ 00016766  0x00000c62 call  0x00004187 
+ 00016767  0x00000c63 nrtn  0x00000029 
+ 00016768  0x00000c64 call  0x000046ef 
+ 00016769  0x00000c65 nbranch  0x00004184 , 0x00000034 
+ 00016770  0x00000c67 disable  0x00000029 
+ 00016771  0x00000c68 rtn 
+ 00016772  0x00000c6b call  0x00004485 
+ 00016773  0x00000c6c call  0x000042d6 
+ 00016774  0x00000c6d branch  0x00004173 
+ 00016775  0x00000c71 branch  0x0000418a , 0x0000002d 
+ 00016776  0x00000c72 call  0x00004a7e 
+ 00016777  0x00000c73 branch  0x00004198 , 0x00000002 
+ 00016778  0x00000c75 call  0x000041a3 
+ 00016779  0x00000c76 nbranch  0x00004198 , 0x00000028 
+ 00016780  0x00000c77 fetch  0x00000001 , 0x0000004c 
+ 00016781  0x00000c78 rtnbit0  0x00000004 
+ 00016782  0x00000c79 rtnbit1  0x00000003 
+ 00016783  0x00000c7a fetch  0x00000001 , 0x0000004b 
+ 00016784  0x00000c7b rtnbit1  0x00000003 
+ 00016785  0x00000c7c call  0x000041aa 
+ 00016786  0x00000c7d nrtn  0x00000034 
+ 00016787  0x00000c7e fetch  0x00000001 , 0x0000016c 
+ 00016788  0x00000c7f increase  0xffffffff , 0x0000003f 
+ 00016789  0x00000c80 store  0x00000001 , 0x0000016c 
+ 00016790  0x00000c81 nrtn  0x00000034 
+ 00016791  0x00000c82 branch  0x000063e8 
+ 00016792  0x00000c85 bpatch  0x00000020 , 0x00004004 
+ 00016793  0x00000c86 call  0x00004459 
+ 00016794  0x00000c87 disable  0x00000029 
+ 00016795  0x00000c88 fetch  0x00000001 , 0x0000004c 
+ 00016796  0x00000c89 bbit1  0x00000004 , 0x0000419e 
+ 00016797  0x00000c8a rtn 
+ 00016798  0x00000c8d fetch  0x00000001 , 0x0000004c 
+ 00016799  0x00000c8e rtnbit1  0x00000003 
+ 00016800  0x00000c90 arg  0x000000ff , 0x00000005 
+ 00016801  0x00000c91 arg  0x00000008 , 0x00000039 
+ 00016802  0x00000c92 branch  0x00007ca1 
+ 00016803  0x00000c95 bpatch  0x00000021 , 0x00004004 
+ 00016804  0x00000c96 enable  0x00000028 
+ 00016805  0x00000c97 fetch  0x00000001 , 0x0000004b 
+ 00016806  0x00000c98 rtnbit0  0x00000003 
+ 00016807  0x00000c99 call  0x000041aa 
+ 00016808  0x00000c9a nrtn  0x00000034 
+ 00016809  0x00000c9b branch  0x00007dc1 
+ 00016810  0x00000c9e fetch  0x00000001 , 0x00000072 
+ 00016811  0x00000c9f increase  0xffffffff , 0x0000003f 
+ 00016812  0x00000ca0 store  0x00000001 , 0x00000072 
+ 00016813  0x00000ca1 rtn 
+ 00016814  0x00000ca4 bpatch  0x00000022 , 0x00004004 
+ 00016815  0x00000ca5 fetch  0x00000001 , 0x00000030 
+ 00016816  0x00000ca6 bbit1  0x00000007 , 0x000041b7 
+ 00016817  0x00000ca7 fetch  0x00000001 , 0x000009b1 
+ 00016818  0x00000ca8 branch  0x000041b7 , 0x00000034 
+ 00016819  0x00000ca9 jam  0x00000000 , 0x000009b1 
+ 00016820  0x00000caa jam  0x00000018 , 0x00000a95 
+ 00016821  0x00000cab call  0x00007bab 
+ 00016822  0x00000cac branch  0x000041b7 
+ 00016823  0x00000cae bpatch  0x00000023 , 0x00004004 
+ 00016824  0x00000caf call  0x00004250 
+ 00016825  0x00000cb0 fetch  0x00000001 , 0x00000030 
+ 00016826  0x00000cb1 set1  0x00000007 , 0x0000003f 
+ 00016827  0x00000cb2 store  0x00000001 , 0x00000030 
+ 00016828  0x00000cb3 jam  0x00000001 , 0x000041be 
+ 00016829  0x00000cb4 fetch  0x00000001 , 0x00000055 
+ 00016830  0x00000cb5 bne  0x00000016 , 0x000041bf 
+ 00016831  0x00000cb7 rtn 
+ 00016832  0x00000cba jam  0x00000001 , 0x000009b1 
+ 00016833  0x00000cbc fetch  0x00000001 , 0x00000030 
+ 00016834  0x00000cbd set0  0x00000007 , 0x0000003f 
+ 00016835  0x00000cbe store  0x00000001 , 0x00000030 
+ 00016836  0x00000cbf rtn 
+ 00016837  0x00000cc4 bpatch  0x00000024 , 0x00004004 
+ 00016838  0x00000cc5 disable  0x00000028 
+ 00016839  0x00000cc6 fetch  0x00000002 , 0x00000032 
+ 00016840  0x00000cc7 arg  0x0000ffff , 0x00000002 
+ 00016841  0x00000cc8 isub  0x00000002 , 0x0000003e 
+ 00016842  0x00000cc9 nrtn  0x00000005 
+ 00016843  0x00000cca fetch  0x00000004 , 0x00000034 
+ 00016844  0x00000ccb branch  0x000041cf , 0x00000030 
+ 00016845  0x00000ccc isub  0x00000028 , 0x0000003f 
+ 00016846  0x00000ccd branch  0x000041d0 
+ 00016847  0x00000ccf isub  0x00000022 , 0x0000003f 
+ 00016848  0x00000cd1 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00016849  0x00000cd2 nrtn  0x00000002 
+ 00016850  0x00000cd3 force  0x00000000 , 0x0000003f 
+ 00016851  0x00000cd4 store  0x00000002 , 0x00000032 
+ 00016852  0x00000cd5 branch  0x00007dbf 
+ 00016853  0x00000cda copy  0x0000003f , 0x00000002 
+ 00016854  0x00000cdb bpatch  0x00000025 , 0x00004004 
+ 00016855  0x00000cdc storet  0x00000004 , 0x00000034 
+ 00016856  0x00000cde jam  0x00000001 , 0x0000452d 
+ 00016857  0x00000cdf setarg  0x0000ffff 
+ 00016858  0x00000ce0 store  0x00000002 , 0x00000032 
+ 00016859  0x00000ce1 jam  0x00000001 , 0x00000073 
+ 00016860  0x00000ce2 rtn 
+ 00016861  0x00000ce6 bpatch  0x00000026 , 0x00004004 
+ 00016862  0x00000ce7 call  0x000041c5 
+ 00016863  0x00000ce8 nrtn  0x00000028 
+ 00016864  0x00000ce9 disable  0x00000028 
+ 00016865  0x00000cea jam  0x00000020 , 0x00000011 
+ 00016866  0x00000ceb set0  0x0000000b , 0x00000000 
+ 00016867  0x00000ced call  0x00004a4e 
+ 00016868  0x00000cee call  0x000042e2 
+ 00016869  0x00000cef bmark1  0x0000000b , 0x000041f0 
+ 00016870  0x00000cf0 call  0x00004451 
+ 00016871  0x00000cf1 nbranch  0x000041e3 , 0x00000034 
+ 00016872  0x00000cf3 bpatch  0x00000027 , 0x00004004 
+ 00016873  0x00000cf4 disable  0x00000028 
+ 00016874  0x00000cf5 deposit  0x00000022 
+ 00016875  0x00000cf6 store  0x00000004 , 0x000040ca 
+ 00016876  0x00000cf7 enable  0x00000030 
+ 00016877  0x00000cf8 enable  0x00000029 
+ 00016878  0x00000cf9 jam  0x0000002a , 0x00000a95 
+ 00016879  0x00000cfa branch  0x00007bab 
+ 00016880  0x00000cfd bpatch  0x00000028 , 0x00004005 
+ 00016881  0x00000cfe call  0x00004a4c 
+ 00016882  0x00000cff arg  0x00000010 , 0x00000001 
+ 00016883  0x00000d00 call  0x000042d8 
+ 00016884  0x00000d01 disable  0x00000030 
+ 00016885  0x00000d02 disable  0x00000029 
+ 00016886  0x00000d03 call  0x00004814 
+ 00016887  0x00000d04 call  0x00004431 
+ 00016888  0x00000d06 bpatch  0x00000029 , 0x00004005 
+ 00016889  0x00000d07 call  0x00004478 
+ 00016890  0x00000d08 branch  0x000041fe , 0x0000002d 
+ 00016891  0x00000d09 call  0x00004451 
+ 00016892  0x00000d0a nbranch  0x000041f8 , 0x00000034 
+ 00016893  0x00000d0b branch  0x000041e8 
+ 00016894  0x00000d0d fetch  0x00000001 , 0x00000031 
+ 00016895  0x00000d0e set0  0x00000001 , 0x0000003f 
+ 00016896  0x00000d0f store  0x00000001 , 0x00000031 
+ 00016897  0x00000d10 call  0x00004a87 
+ 00016898  0x00000d11 call  0x0000483d 
+ 00016899  0x00000d12 enable  0x00000028 
+ 00016900  0x00000d13 jam  0x0000002b , 0x00000a95 
+ 00016901  0x00000d14 branch  0x00007bab 
+ 00016902  0x00000d1a bpatch  0x0000002a , 0x00004005 
+ 00016903  0x00000d1b set1  0x00000009 , 0x00000000 
+ 00016904  0x00000d1c deposit  0x00000011 
+ 00016905  0x00000d1d store  0x00000002 , 0x0000001e 
+ 00016906  0x00000d1e force  0x00000050 , 0x00000039 
+ 00016907  0x00000d1f arg  0x0000043b , 0x00000005 
+ 00016908  0x00000d20 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00016909  0x00000d21 ifetch  0x00000001 , 0x00000006 
+ 00016910  0x00000d22 copy  0x00000011 , 0x00000006 
+ 00016911  0x00000d23 bbit1  0x00000000 , 0x00007cdc 
+ 00016912  0x00000d24 arg  0x00000030 , 0x00000005 
+ 00016913  0x00000d25 call  0x00007cdc 
+ 00016914  0x00000d26 disable  0x0000002e 
+ 00016915  0x00000d27 fetch  0x00000001 , 0x00000077 
+ 00016916  0x00000d28 iforce  0x00000004 
+ 00016917  0x00000d29 jam  0x00000001 , 0x0000008a 
+ 00016918  0x00000d2a branch  0x00004218 , 0x00000029 
+ 00016919  0x00000d2b jam  0x00000001 , 0x0000008a 
+ 00016920  0x00000d2d fetch  0x00000001 , 0x00000030 
+ 00016921  0x00000d2e rtnbit0  0x00000001 
+ 00016922  0x00000d2f fetch  0x00000001 , 0x00000073 
+ 00016923  0x00000d30 store  0x00000001 , 0x0000008a 
+ 00016924  0x00000d31 fetch  0x00000001 , 0x00000074 
+ 00016925  0x00000d32 store  0x00000001 , 0x0000008b 
+ 00016926  0x00000d33 rtn 
+ 00016927  0x00000d36 bpatch  0x0000002b , 0x00004005 
+ 00016928  0x00000d37 fetch  0x00000002 , 0x0000001e 
+ 00016929  0x00000d38 iforce  0x00000005 
+ 00016930  0x00000d39 force  0x00000050 , 0x00000039 
+ 00016931  0x00000d3a arg  0x0000043b , 0x00000006 
+ 00016932  0x00000d3b branch  0x00007cdc , 0x00000036 
+ 00016933  0x00000d3c arg  0x00000030 , 0x00000006 
+ 00016934  0x00000d3d branch  0x00007cdc 
+ 00016935  0x00000d42 arg  0x00000001 , 0x00000039 
+ 00016936  0x00000d43 fetcht  0x00000001 , 0x00000015 
+ 00016937  0x00000d45 increase  0x00000001 , 0x00000002 
+ 00016938  0x00000d46 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00016939  0x00000d47 nbranch  0x0000422d , 0x00000001 
+ 00016940  0x00000d48 arg  0x00000000 , 0x00000002 
+ 00016941  0x00000d4a storet  0x00000001 , 0x00000015 
+ 00016942  0x00000d4b mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00016943  0x00000d4c arg  0x00004040 , 0x00000011 
+ 00016944  0x00000d4d iadd  0x00000011 , 0x00000011 
+ 00016945  0x00000d4e ifetch  0x00000001 , 0x00000011 
+ 00016946  0x00000d4f bbit1  0x00000001 , 0x00004235 
+ 00016947  0x00000d50 rtnbit1  0x00000000 
+ 00016948  0x00000d51 rtnbit1  0x00000003 
+ 00016949  0x00000d53 loop  0x00004229 
+ 00016950  0x00000d54 rtn 
+ 00016951  0x00000d57 bpatch  0x0000002c , 0x00004005 
+ 00016952  0x00000d58 arg  0x00004266 , 0x00000013 
+ 00016953  0x00000d59 call  0x0000425d 
+ 00016954  0x00000d5a nrtn  0x00000005 
+ 00016955  0x00000d5b deposit  0x00000011 
+ 00016956  0x00000d5c store  0x00000002 , 0x0000001e 
+ 00016957  0x00000d5d force  0x00000000 , 0x0000003e 
+ 00016958  0x00000d5e rtn 
+ 00016959  0x00000d63 call  0x00004721 
+ 00016960  0x00000d64 branch  0x00004247 , 0x00000001 
+ 00016961  0x00000d65 fetch  0x00000002 , 0x0000001e 
+ 00016962  0x00000d66 add  0x0000003f , 0x00000017 , 0x00000005 
+ 00016963  0x00000d67 fetch  0x00000001 , 0x00000047 
+ 00016964  0x00000d68 istore  0x00000001 , 0x00000005 
+ 00016965  0x00000d69 arg  0x000042a6 , 0x00000013 
+ 00016966  0x00000d6a branch  0x0000425d 
+ 00016967  0x00000d6d fetch  0x00000001 , 0x00000047 
+ 00016968  0x00000d6e isolate1  0x00000003 , 0x0000003f 
+ 00016969  0x00000d6f branch  0x0000424c , 0x00000001 
+ 00016970  0x00000d70 force  0x00000001 , 0x0000003e 
+ 00016971  0x00000d71 rtn 
+ 00016972  0x00000d73 force  0x00000000 , 0x0000003e 
+ 00016973  0x00000d74 rtn 
+ 00016974  0x00000d78 arg  0x000042a3 , 0x00000013 
+ 00016975  0x00000d79 branch  0x0000425d 
+ 00016976  0x00000d7c fetcht  0x00000002 , 0x0000001e 
+ 00016977  0x00000d7d arg  0x000042cb , 0x00000013 
+ 00016978  0x00000d7e branch  0x0000425d 
+ 00016979  0x00000d83 fetcht  0x00000001 , 0x000041d0 
+ 00016980  0x00000d85 arg  0x00004271 , 0x00000013 
+ 00016981  0x00000d86 branch  0x0000425d 
+ 00016982  0x00000d89 bpatch  0x0000002d , 0x00004005 
+ 00016983  0x00000d8a fetcht  0x00000006 , 0x000041d1 
+ 00016984  0x00000d8c arg  0x0000426a , 0x00000013 
+ 00016985  0x00000d8d branch  0x0000425d 
+ 00016986  0x00000d90 arg  0x00004277 , 0x00000013 
+ 00016987  0x00000d91 branch  0x0000425d 
+ 00016988  0x00000d94 arg  0x000042c2 , 0x00000013 
+ 00016989  0x00000d96 bpatch  0x0000002e , 0x00004005 
+ 00016990  0x00000d97 arg  0x00004040 , 0x00000011 
+ 00016991  0x00000d98 arg  0x00000001 , 0x00000039 
+ 00016992  0x00000d9a ifetch  0x00000001 , 0x00000011 
+ 00016993  0x00000d9b copy  0x00000013 , 0x0000003d 
+ 00016994  0x00000d9d increase  0x00000050 , 0x00000011 
+ 00016995  0x00000d9e loop  0x00004260 
+ 00016996  0x00000d9f force  0x00000001 , 0x0000003e 
+ 00016997  0x00000da0 rtn 
+ 00016998  0x00000da3 bbit1  0x00000000 , 0x00004262 
+ 00016999  0x00000da4 bbit1  0x00000003 , 0x00004262 
+ 00017000  0x00000da5 force  0x00000000 , 0x0000003e 
+ 00017001  0x00000da6 rtn 
+ 00017002  0x00000da9 bbit1  0x00000003 , 0x0000426c 
+ 00017003  0x00000daa bbit0  0x00000000 , 0x00004262 
+ 00017004  0x00000dac add  0x00000011 , 0x00000010 , 0x00000006 
+ 00017005  0x00000dad ifetch  0x00000006 , 0x00000006 
+ 00017006  0x00000dae isub  0x00000002 , 0x0000003e 
+ 00017007  0x00000daf rtn  0x00000005 
+ 00017008  0x00000db0 branch  0x00004262 
+ 00017009  0x00000db3 bbit0  0x00000000 , 0x00004262 
+ 00017010  0x00000db4 add  0x00000011 , 0x00000016 , 0x00000006 
+ 00017011  0x00000db5 ifetch  0x00000001 , 0x00000006 
+ 00017012  0x00000db6 isub  0x00000002 , 0x0000003e 
+ 00017013  0x00000db7 rtn  0x00000005 
+ 00017014  0x00000db8 branch  0x00004262 
+ 00017015  0x00000dbb bbit0  0x00000001 , 0x00004262 
+ 00017016  0x00000dbd call  0x000042af 
+ 00017017  0x00000dbe call  0x00004293 
+ 00017018  0x00000dbf isub  0x00000002 , 0x0000003f 
+ 00017019  0x00000dc0 increase  0x00000001 , 0x0000003f 
+ 00017020  0x00000dc1 branch  0x0000428d , 0x00000002 
+ 00017021  0x00000dc2 copy  0x00000006 , 0x00000012 
+ 00017022  0x00000dc3 store  0x00000009 , 0x00000a9e 
+ 00017023  0x00000dc4 fetch  0x00000001 , 0x00004492 
+ 00017024  0x00000dc5 nbranch  0x00004285 , 0x00000034 
+ 00017025  0x00000dc6 fetch  0x00000009 , 0x00000a9e 
+ 00017026  0x00000dc7 copy  0x00000012 , 0x00000006 
+ 00017027  0x00000dc8 increase  0x00000005 , 0x0000003f 
+ 00017028  0x00000dc9 branch  0x00004288 
+ 00017029  0x00000dcb fetch  0x00000009 , 0x00000a9e 
+ 00017030  0x00000dcc copy  0x00000012 , 0x00000006 
+ 00017031  0x00000dcd increase  0x00000014 , 0x0000003f 
+ 00017032  0x00000dcf nbranch  0x00004262 , 0x00000002 
+ 00017033  0x00000dd1 copy  0x00000002 , 0x00000021 
+ 00017034  0x00000dd2 call  0x000042bb 
+ 00017035  0x00000dd3 force  0x00000000 , 0x0000003e 
+ 00017036  0x00000dd4 rtn 
+ 00017037  0x00000dd8 iforce  0x00000012 
+ 00017038  0x00000dd9 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00017039  0x00000dda ifetch  0x00000002 , 0x00000006 
+ 00017040  0x00000ddb branch  0x00004289 , 0x00000034 
+ 00017041  0x00000ddc call  0x000042bb 
+ 00017042  0x00000ddd branch  0x00004278 
+ 00017043  0x00000de0 rshift16  0x0000003f , 0x0000000b 
+ 00017044  0x00000de1 rshift8  0x0000000b , 0x0000000b 
+ 00017045  0x00000de2 branch  0x0000429d , 0x00000005 
+ 00017046  0x00000de3 compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00017047  0x00000de4 nrtn  0x00000001 
+ 00017048  0x00000de5 rshift16  0x00000002 , 0x0000000b 
+ 00017049  0x00000de6 rshift8  0x0000000b , 0x0000000b 
+ 00017050  0x00000de7 nrtn  0x00000005 
+ 00017051  0x00000de8 set1  0x0000001c , 0x00000002 
+ 00017052  0x00000de9 rtn 
+ 00017053  0x00000deb rshift16  0x00000002 , 0x0000000b 
+ 00017054  0x00000dec rshift8  0x0000000b , 0x0000000b 
+ 00017055  0x00000ded compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00017056  0x00000dee nrtn  0x00000001 
+ 00017057  0x00000def set1  0x0000001c , 0x0000003f 
+ 00017058  0x00000df0 rtn 
+ 00017059  0x00000df3 bbit0  0x00000000 , 0x00004262 
+ 00017060  0x00000df4 force  0x00000000 , 0x0000003e 
+ 00017061  0x00000df5 rtn 
+ 00017062  0x00000df8 bbit0  0x00000000 , 0x00004262 
+ 00017063  0x00000df9 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00017064  0x00000dfa ifetch  0x00000001 , 0x00000006 
+ 00017065  0x00000dfb bbit1  0x00000000 , 0x00004262 
+ 00017066  0x00000dfc add  0x00000011 , 0x00000017 , 0x00000006 
+ 00017067  0x00000dfd ifetch  0x00000001 , 0x00000006 
+ 00017068  0x00000dfe bbit0  0x00000003 , 0x00004262 
+ 00017069  0x00000dff force  0x00000000 , 0x0000003e 
+ 00017070  0x00000e00 rtn 
+ 00017071  0x00000e03 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00017072  0x00000e04 ifetcht  0x00000001 , 0x00000006 
+ 00017073  0x00000e05 deposit  0x00000022 
+ 00017074  0x00000e06 isolate1  0x00000001 , 0x00000002 
+ 00017075  0x00000e07 add  0x00000011 , 0x00000004 , 0x00000006 
+ 00017076  0x00000e08 ifetcht  0x00000004 , 0x00000006 
+ 00017077  0x00000e09 rtn  0x00000001 
+ 00017078  0x00000e0a add  0x00000011 , 0x00000008 , 0x00000006 
+ 00017079  0x00000e0b ifetch  0x00000006 , 0x00000006 
+ 00017080  0x00000e0c call  0x00004850 
+ 00017081  0x00000e0d deposit  0x00000028 
+ 00017082  0x00000e0e rtn 
+ 00017083  0x00000e11 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00017084  0x00000e12 add  0x00000011 , 0x00000004 , 0x00000005 
+ 00017085  0x00000e13 ifetch  0x00000002 , 0x00000006 
+ 00017086  0x00000e14 iadd  0x00000002 , 0x0000000b 
+ 00017087  0x00000e15 deposit  0x0000000b 
+ 00017088  0x00000e16 istore  0x00000004 , 0x00000005 
+ 00017089  0x00000e17 branch  0x00005823 
+ 00017090  0x00000e1b bbit0  0x00000001 , 0x00004262 
+ 00017091  0x00000e1c call  0x000042af 
+ 00017092  0x00000e1d iadd  0x0000001b , 0x0000003f 
+ 00017093  0x00000e1e iadd  0x0000001b , 0x0000003f 
+ 00017094  0x00000e1f iadd  0x00000007 , 0x0000003f 
+ 00017095  0x00000e20 isub  0x00000002 , 0x0000003e 
+ 00017096  0x00000e21 nbranch  0x00004262 , 0x00000002 
+ 00017097  0x00000e22 force  0x00000000 , 0x0000003e 
+ 00017098  0x00000e23 rtn 
+ 00017099  0x00000e26 bbit0  0x00000000 , 0x00004262 
+ 00017100  0x00000e27 deposit  0x00000002 
+ 00017101  0x00000e28 isub  0x00000011 , 0x0000003e 
+ 00017102  0x00000e29 branch  0x00004262 , 0x0000003e 
+ 00017103  0x00000e2a add  0x00000011 , 0x00000001 , 0x00000006 
+ 00017104  0x00000e2b ifetch  0x00000001 , 0x00000006 
+ 00017105  0x00000e2c bbit1  0x00000000 , 0x00004262 
+ 00017106  0x00000e2d ifetch  0x00000001 , 0x00000011 
+ 00017107  0x00000e2e set0  0x00000007 , 0x0000003f 
+ 00017108  0x00000e2f istore  0x00000001 , 0x00000011 
+ 00017109  0x00000e30 branch  0x00004262 
+ 00017110  0x00000e34 bpatch  0x0000002f , 0x00004005 
+ 00017111  0x00000e35 call  0x00004a4e 
+ 00017112  0x00000e37 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00017113  0x00000e38 call  0x000048de 
+ 00017114  0x00000e39 force  0x00000003 , 0x00000024 
+ 00017115  0x00000e3a call  0x000048ce 
+ 00017116  0x00000e3b call  0x00004a50 
+ 00017117  0x00000e3c call  0x00004a55 
+ 00017118  0x00000e3d call  0x00004a63 
+ 00017119  0x00000e3e branch  0x0000475e 
+ 00017120  0x00000e41 bpatch  0x00000030 , 0x00004006 
+ 00017121  0x00000e42 call  0x00004a4c 
+ 00017122  0x00000e44 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00017123  0x00000e45 call  0x000048de 
+ 00017124  0x00000e46 force  0x00000003 , 0x00000024 
+ 00017125  0x00000e47 call  0x000048c8 
+ 00017126  0x00000e48 call  0x00004426 
+ 00017127  0x00000e49 call  0x000049f0 
+ 00017128  0x00000e4a call  0x00004a5a 
+ 00017129  0x00000e4b call  0x000049ea 
+ 00017130  0x00000e4d call  0x00004a0c 
+ 00017131  0x00000e4e nrtn  0x00000018 
+ 00017132  0x00000e4f call  0x000049ba 
+ 00017133  0x00000e50 branch  0x00004518 
+ 00017134  0x00000e55 bpatch  0x00000031 , 0x00004006 
+ 00017135  0x00000e56 fetch  0x00000001 , 0x0000017f 
+ 00017136  0x00000e57 iforce  0x00000004 
+ 00017137  0x00000e58 force  0x00000001 , 0x00000001 
+ 00017138  0x00000e59 call  0x000042d6 
+ 00017139  0x00000e5a branch  0x000042e0 
+ 00017140  0x00000e66 fetch  0x00000001 , 0x00004093 
+ 00017141  0x00000e67 rtnbit0  0x00000000 
+ 00017142  0x00000e68 force  0x00000004 , 0x00000007 
+ 00017143  0x00000e69 call  0x00007cf1 
+ 00017144  0x00000e6a nrtn  0x00000034 
+ 00017145  0x00000e6b fetcht  0x00000002 , 0x000040ad 
+ 00017146  0x00000e6c force  0x00000004 , 0x00000007 
+ 00017147  0x00000e6d call  0x00004718 
+ 00017148  0x00000e6e rtn  0x00000028 
+ 00017149  0x00000e6f call  0x00004304 
+ 00017150  0x00000e70 force  0x00000004 , 0x00000007 
+ 00017151  0x00000e71 fetch  0x00000002 , 0x000040af 
+ 00017152  0x00000e72 nbranch  0x00007ce3 , 0x00000018 
+ 00017153  0x00000e73 random  0x0000003f 
+ 00017154  0x00000e74 iand  0x00000035 , 0x0000003f 
+ 00017155  0x00000e75 branch  0x00007ce3 
+ 00017156  0x00000e79 bpatch  0x00000032 , 0x00004006 
+ 00017157  0x00000e7a jam  0x00000000 , 0x0000017f 
+ 00017158  0x00000e7b disable  0x00000030 
+ 00017159  0x00000e7c disable  0x0000002e 
+ 00017160  0x00000e7d call  0x000048a0 
+ 00017161  0x00000e7e and  0x00000022 , 0x000001fc , 0x00000021 
+ 00017162  0x00000e7f force  0x00000001 , 0x00000024 
+ 00017163  0x00000e80 call  0x000048d4 
+ 00017164  0x00000e81 call  0x000048c8 
+ 00017165  0x00000e82 setflip  0x0000001d , 0x00000000 
+ 00017166  0x00000e83 fetch  0x00000001 , 0x00000006 
+ 00017167  0x00000e84 increase  0x00000001 , 0x0000003f 
+ 00017168  0x00000e85 store  0x00000001 , 0x00000006 
+ 00017169  0x00000e86 call  0x000048ee 
+ 00017170  0x00000e87 call  0x000049ea 
+ 00017171  0x00000e88 call  0x00004a13 
+ 00017172  0x00000e89 nrtn  0x00000018 
+ 00017173  0x00000e8a bpatch  0x00000033 , 0x00004006 
+ 00017174  0x00000e8b force  0x00000000 , 0x0000001b 
+ 00017175  0x00000e8c call  0x000048f5 
+ 00017176  0x00000e8d fetch  0x00000001 , 0x00000007 
+ 00017177  0x00000e8e increase  0x00000001 , 0x0000003f 
+ 00017178  0x00000e8f store  0x00000001 , 0x00000007 
+ 00017179  0x00000e90 call  0x000048d4 
+ 00017180  0x00000e91 call  0x00004a4c 
+ 00017181  0x00000e92 or_into  0x00000002 , 0x00000021 
+ 00017182  0x00000e93 force  0x00000001 , 0x00000024 
+ 00017183  0x00000e94 call  0x000048ce 
+ 00017184  0x00000e95 call  0x000048ee 
+ 00017185  0x00000e96 call  0x00004a50 
+ 00017186  0x00000e97 call  0x00004a5e 
+ 00017187  0x00000e98 deposit  0x00000022 
+ 00017188  0x00000e99 store  0x00000004 , 0x0000015f 
+ 00017189  0x00000e9a call  0x00004a63 
+ 00017190  0x00000e9b force  0x00000002 , 0x00000001 
+ 00017191  0x00000e9c force  0x00000000 , 0x00000004 
+ 00017192  0x00000e9d call  0x00004a6a 
+ 00017193  0x00000e9e call  0x00004762 
+ 00017194  0x00000e9f call  0x0000432e 
+ 00017195  0x00000ea0 and_into  0x000001fd , 0x00000021 
+ 00017196  0x00000ea1 increase  0x00000001 , 0x00000026 
+ 00017197  0x00000ea2 rtn 
+ 00017198  0x00000ea5 bpatch  0x00000034 , 0x00004006 
+ 00017199  0x00000ea6 fetch  0x00000001 , 0x000040d1 
+ 00017200  0x00000ea7 rtn  0x00000034 
+ 00017201  0x00000ea8 arg  0x0000018c , 0x00000005 
+ 00017202  0x00000ea9 fetch  0x00000001 , 0x000044e7 
+ 00017203  0x00000eaa copy  0x0000003f , 0x00000039 
+ 00017204  0x00000eab increase  0x00000001 , 0x0000003f 
+ 00017205  0x00000eac istore  0x00000001 , 0x00000005 
+ 00017206  0x00000ead copy  0x00000005 , 0x00000002 
+ 00017207  0x00000eae increase  0x00000001 , 0x0000003f 
+ 00017208  0x00000eaf store  0x00000002 , 0x000041dd 
+ 00017209  0x00000eb0 copy  0x00000002 , 0x00000005 
+ 00017210  0x00000eb1 setarg  0x00000009 
+ 00017211  0x00000eb2 istore  0x00000001 , 0x00000005 
+ 00017212  0x00000eb3 arg  0x000044e8 , 0x00000006 
+ 00017213  0x00000eb4 call  0x00007cdc 
+ 00017214  0x00000eb6 arg  0x0000455f , 0x00000013 
+ 00017215  0x00000eb7 arg  0x00000004 , 0x00000039 
+ 00017216  0x00000eb8 call  0x00004350 
+ 00017217  0x00000eb9 arg  0x00004549 , 0x00000013 
+ 00017218  0x00000eba arg  0x00000001 , 0x00000039 
+ 00017219  0x00000ebb call  0x00004350 
+ 00017220  0x00000ebd force  0x0000000a , 0x00000001 
+ 00017221  0x00000ebe jam  0x00000002 , 0x000041dc 
+ 00017222  0x00000ebf setarg  0x0000018c 
+ 00017223  0x00000ec0 store  0x00000002 , 0x0000016d 
+ 00017224  0x00000ec1 call  0x00004a4c 
+ 00017225  0x00000ec2 call  0x000048ce 
+ 00017226  0x00000ec3 call  0x00004a50 
+ 00017227  0x00000ec4 call  0x00004a5e 
+ 00017228  0x00000ec5 call  0x00004a63 
+ 00017229  0x00000ec6 call  0x00004a6a 
+ 00017230  0x00000ec7 call  0x00004762 
+ 00017231  0x00000ec8 rtn 
+ 00017232  0x00000ecc copy  0x00000005 , 0x00000002 
+ 00017233  0x00000ecd copy  0x00000013 , 0x00000006 
+ 00017234  0x00000ece ifetch  0x00000001 , 0x00000006 
+ 00017235  0x00000ecf rtn  0x00000034 
+ 00017236  0x00000ed1 lshift  0x0000003f , 0x0000003f 
+ 00017237  0x00000ed2 loop  0x00004354 
+ 00017238  0x00000ed3 copy  0x0000003f , 0x00000011 
+ 00017239  0x00000ed4 increase  0x00000002 , 0x0000003f 
+ 00017240  0x00000ed5 copy  0x0000003f , 0x00000007 
+ 00017241  0x00000ed6 fetch  0x00000002 , 0x000041dd 
+ 00017242  0x00000ed7 iadd  0x00000007 , 0x0000003f 
+ 00017243  0x00000ed8 store  0x00000002 , 0x000041dd 
+ 00017244  0x00000ed9 copy  0x00000002 , 0x00000005 
+ 00017245  0x00000eda copy  0x00000011 , 0x0000003f 
+ 00017246  0x00000edb increase  0x00000001 , 0x0000003f 
+ 00017247  0x00000edc istore  0x00000001 , 0x00000005 
+ 00017248  0x00000edd copy  0x00000013 , 0x00000006 
+ 00017249  0x00000ede ifetch  0x00000001 , 0x00000006 
+ 00017250  0x00000edf ifetch  0x00000001 , 0x00000006 
+ 00017251  0x00000ee0 istore  0x00000001 , 0x00000005 
+ 00017252  0x00000ee1 copy  0x00000011 , 0x00000039 
+ 00017253  0x00000ee2 branch  0x00007cdc 
+ 00017254  0x00000ee9 fetch  0x00000001 , 0x00004093 
+ 00017255  0x00000eea rtnbit0  0x00000001 
+ 00017256  0x00000eeb force  0x00000005 , 0x00000007 
+ 00017257  0x00000eec call  0x00007cf1 
+ 00017258  0x00000eed nrtn  0x00000034 
+ 00017259  0x00000eee fetcht  0x00000002 , 0x000040b1 
+ 00017260  0x00000eef force  0x00000028 , 0x00000007 
+ 00017261  0x00000ef0 call  0x00004718 
+ 00017262  0x00000ef1 rtn  0x00000028 
+ 00017263  0x00000ef2 force  0x00000000 , 0x00000004 
+ 00017264  0x00000ef3 jam  0x00000008 , 0x00000010 
+ 00017265  0x00000ef4 set0  0x0000000b , 0x00000000 
+ 00017266  0x00000ef5 call  0x00004376 
+ 00017267  0x00000ef6 force  0x00000005 , 0x00000007 
+ 00017268  0x00000ef7 fetch  0x00000002 , 0x000040b3 
+ 00017269  0x00000ef8 branch  0x00007ce3 
+ 00017270  0x00000efc bpatch  0x00000035 , 0x00004006 
+ 00017271  0x00000efd disable  0x00000030 
+ 00017272  0x00000efe call  0x000048a0 
+ 00017273  0x00000eff fetch  0x00000001 , 0x00000008 
+ 00017274  0x00000f00 increase  0x00000001 , 0x0000003f 
+ 00017275  0x00000f01 store  0x00000001 , 0x00000008 
+ 00017276  0x00000f02 force  0x00000000 , 0x00000026 
+ 00017277  0x00000f03 call  0x000048de 
+ 00017278  0x00000f04 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00017279  0x00000f05 force  0x00000002 , 0x00000024 
+ 00017280  0x00000f06 bpatch  0x00000036 , 0x00004006 
+ 00017281  0x00000f07 call  0x000048c8 
+ 00017282  0x00000f08 call  0x000049ea 
+ 00017283  0x00000f09 call  0x00004a13 
+ 00017284  0x00000f0a nrtn  0x00000018 
+ 00017285  0x00000f0b call  0x000048f5 
+ 00017286  0x00000f0c fetch  0x00000001 , 0x00000009 
+ 00017287  0x00000f0d increase  0x00000001 , 0x0000003f 
+ 00017288  0x00000f0e store  0x00000001 , 0x00000009 
+ 00017289  0x00000f0f force  0x00000000 , 0x0000001b 
+ 00017290  0x00000f10 call  0x00004a4c 
+ 00017291  0x00000f11 or_into  0x00000002 , 0x00000021 
+ 00017292  0x00000f12 force  0x00000001 , 0x00000024 
+ 00017293  0x00000f13 call  0x000048ce 
+ 00017294  0x00000f14 call  0x00004a50 
+ 00017295  0x00000f15 call  0x00004a5e 
+ 00017296  0x00000f16 call  0x00004a63 
+ 00017297  0x00000f17 call  0x00004649 
+ 00017298  0x00000f18 force  0x00000000 , 0x00000004 
+ 00017299  0x00000f19 arg  0x00000600 , 0x0000000b 
+ 00017300  0x00000f1a until  0x00000029 , 0x00000026 
+ 00017301  0x00000f1b or_into  0x00000003 , 0x00000028 
+ 00017302  0x00000f1c and_into  0x000001fd , 0x00000021 
+ 00017303  0x00000f1e bpatch  0x00000037 , 0x00004006 
+ 00017304  0x00000f1f increase  0x00000001 , 0x00000026 
+ 00017305  0x00000f20 call  0x000048c8 
+ 00017306  0x00000f21 call  0x000049ea 
+ 00017307  0x00000f22 call  0x00004a06 
+ 00017308  0x00000f23 nbranch  0x000043a0 , 0x00000018 
+ 00017309  0x00000f24 call  0x00004a6a 
+ 00017310  0x00000f25 call  0x0000451a 
+ 00017311  0x00000f26 bmark1  0x0000000b , 0x000043a7 
+ 00017312  0x00000f28 bpatch  0x00000038 , 0x00004007 
+ 00017313  0x00000f29 fetch  0x00000001 , 0x00000010 
+ 00017314  0x00000f2a rtn  0x00000034 
+ 00017315  0x00000f2b increase  0xffffffff , 0x0000003f 
+ 00017316  0x00000f2c store  0x00000001 , 0x00000010 
+ 00017317  0x00000f2d call  0x00004a4e 
+ 00017318  0x00000f2e branch  0x00004397 
+ 00017319  0x00000f32 bpatch  0x00000039 , 0x00004007 
+ 00017320  0x00000f33 set0  0x00000001 , 0x00000028 
+ 00017321  0x00000f34 set1  0x00000000 , 0x00000028 
+ 00017322  0x00000f35 fetch  0x00000001 , 0x0000000a 
+ 00017323  0x00000f36 increase  0x00000001 , 0x0000003f 
+ 00017324  0x00000f37 store  0x00000001 , 0x0000000a 
+ 00017325  0x00000f38 call  0x00004a4c 
+ 00017326  0x00000f39 or_into  0x00000002 , 0x00000021 
+ 00017327  0x00000f3a call  0x000048ce 
+ 00017328  0x00000f3b call  0x00004a50 
+ 00017329  0x00000f3c call  0x00004a5e 
+ 00017330  0x00000f3d call  0x00004a63 
+ 00017331  0x00000f3e call  0x00004649 
+ 00017332  0x00000f40 compare  0x00000003 , 0x00000028 , 0x00000003 
+ 00017333  0x00000f41 branch  0x000043b8 , 0x00000001 
+ 00017334  0x00000f42 until  0x0000003e , 0x00000017 
+ 00017335  0x00000f43 branch  0x000043b4 
+ 00017336  0x00000f45 fetch  0x00000004 , 0x00000163 
+ 00017337  0x00000f46 or_into  0x00000003 , 0x0000003f 
+ 00017338  0x00000f47 icopy  0x00000028 
+ 00017339  0x00000f4a bpatch  0x0000003a , 0x00004007 
+ 00017340  0x00000f4b fetch  0x00000006 , 0x00000176 
+ 00017341  0x00000f4c store  0x00000006 , 0x00000040 
+ 00017342  0x00000f4d call  0x00004431 
+ 00017343  0x00000f4f call  0x00004478 
+ 00017344  0x00000f50 branch  0x000043c4 , 0x0000002d 
+ 00017345  0x00000f51 call  0x00004451 
+ 00017346  0x00000f52 nbranch  0x000043bf , 0x00000034 
+ 00017347  0x00000f53 rtn 
+ 00017348  0x00000f57 bpatch  0x0000003b , 0x00004007 
+ 00017349  0x00000f58 call  0x0000443c 
+ 00017350  0x00000f59 call  0x00004237 
+ 00017351  0x00000f5a nrtn  0x00000005 
+ 00017352  0x00000f5b jam  0x00000000 , 0x00000031 
+ 00017353  0x00000f5c call  0x0000483d 
+ 00017354  0x00000f5d branch  0x0000421f 
+ 00017355  0x00000f63 bpatch  0x0000003c , 0x00004007 
+ 00017356  0x00000f64 call  0x0000484c 
+ 00017357  0x00000f65 call  0x000043ef 
+ 00017358  0x00000f66 rtn  0x00000028 
+ 00017359  0x00000f68 bpatch  0x0000003d , 0x00004007 
+ 00017360  0x00000f69 call  0x00004c24 
+ 00017361  0x00000f6a call  0x00006b69 
+ 00017362  0x00000f6b call  0x00004510 
+ 00017363  0x00000f6c nbranch  0x000043de , 0x0000002d 
+ 00017364  0x00000f6d call  0x00004a87 
+ 00017365  0x00000f6e call  0x00006b81 
+ 00017366  0x00000f6f call  0x00004485 
+ 00017367  0x00000f70 call  0x00004753 
+ 00017368  0x00000f71 call  0x00004724 
+ 00017369  0x00000f72 call  0x000060e9 
+ 00017370  0x00000f73 fetch  0x00000001 , 0x0000000b 
+ 00017371  0x00000f74 increase  0x00000001 , 0x0000003f 
+ 00017372  0x00000f75 store  0x00000001 , 0x0000000b 
+ 00017373  0x00000f76 call  0x0000483d 
+ 00017374  0x00000f78 bpatch  0x0000003e , 0x00004007 
+ 00017375  0x00000f79 call  0x00004b86 
+ 00017376  0x00000f7a call  0x00004a7e 
+ 00017377  0x00000f7b branch  0x000043e7 , 0x00000002 
+ 00017378  0x00000f7c call  0x000041a3 
+ 00017379  0x00000f7d nbranch  0x000043e7 , 0x00000028 
+ 00017380  0x00000f7e call  0x000046ef 
+ 00017381  0x00000f7f nbranch  0x000043cf , 0x00000034 
+ 00017382  0x00000f80 rtn 
+ 00017383  0x00000f83 bpatch  0x0000003f , 0x00004007 
+ 00017384  0x00000f84 jam  0x00000000 , 0x0000014f 
+ 00017385  0x00000f85 jam  0x00000000 , 0x0000017d 
+ 00017386  0x00000f86 call  0x00004459 
+ 00017387  0x00000f87 set0  0x00000011 , 0x00000000 
+ 00017388  0x00000f88 call  0x00007d8c 
+ 00017389  0x00000f89 fetch  0x00000001 , 0x00000030 
+ 00017390  0x00000f8a rtn 
+ 00017391  0x00000f8e bpatch  0x00000040 , 0x00004008 
+ 00017392  0x00000f8f call  0x000041c5 
+ 00017393  0x00000f90 nrtn  0x00000028 
+ 00017394  0x00000f91 copy  0x00000004 , 0x00000002 
+ 00017395  0x00000f92 call  0x00004a6e 
+ 00017396  0x00000f93 store  0x00000001 , 0x0000017f 
+ 00017397  0x00000f94 copy  0x00000002 , 0x00000004 
+ 00017398  0x00000f95 jam  0x00000020 , 0x00000011 
+ 00017399  0x00000f97 bpatch  0x00000041 , 0x00004008 
+ 00017400  0x00000f98 call  0x00004a4e 
+ 00017401  0x00000f99 force  0x00000002 , 0x00000001 
+ 00017402  0x00000f9a call  0x0000474b 
+ 00017403  0x00000f9b deposit  0x00000022 
+ 00017404  0x00000f9c store  0x00000004 , 0x0000015f 
+ 00017405  0x00000f9d call  0x0000475e 
+ 00017406  0x00000f9e call  0x00004a4c 
+ 00017407  0x00000f9f enable  0x0000002f 
+ 00017408  0x00000fa0 call  0x000044f2 
+ 00017409  0x00000fa1 branch  0x00004409 , 0x00000018 
+ 00017410  0x00000fa2 call  0x000048f5 
+ 00017411  0x00000fa3 call  0x00004451 
+ 00017412  0x00000fa4 nbranch  0x000043f7 , 0x00000034 
+ 00017413  0x00000fa5 rtnmark0  0x00000004 
+ 00017414  0x00000fa6 jam  0x00000034 , 0x0000007c 
+ 00017415  0x00000fa7 set1  0x00000003 , 0x00000000 
+ 00017416  0x00000fa8 rtn 
+ 00017417  0x00000faa enable  0x00000030 
+ 00017418  0x00000fab call  0x00004431 
+ 00017419  0x00000fac call  0x000048a0 
+ 00017420  0x00000fae bpatch  0x00000042 , 0x00004008 
+ 00017421  0x00000faf call  0x000042ee 
+ 00017422  0x00000fb0 branch  0x00004415 , 0x00000018 
+ 00017423  0x00000fb1 call  0x00004451 
+ 00017424  0x00000fb2 nbranch  0x0000440c , 0x00000034 
+ 00017425  0x00000fb3 disable  0x00000030 
+ 00017426  0x00000fb4 deposit  0x00000028 
+ 00017427  0x00000fb5 store  0x00000004 , 0x000040ca 
+ 00017428  0x00000fb6 rtn 
+ 00017429  0x00000fb8 enable  0x00000029 
+ 00017430  0x00000fb9 bmark0  0x00000004 , 0x0000441b 
+ 00017431  0x00000fba set0  0x00000004 , 0x00000000 
+ 00017432  0x00000fbb jam  0x00000003 , 0x0000007c 
+ 00017433  0x00000fbc jam  0x00000033 , 0x0000007d 
+ 00017434  0x00000fbd call  0x000066da 
+ 00017435  0x00000fbf deposit  0x00000004 
+ 00017436  0x00000fc0 store  0x00000001 , 0x00000077 
+ 00017437  0x00000fc1 force  0x00000000 , 0x0000003f 
+ 00017438  0x00000fc2 store  0x00000006 , 0x00000038 
+ 00017439  0x00000fc3 fetch  0x00000001 , 0x00000031 
+ 00017440  0x00000fc4 set1  0x00000001 , 0x0000003f 
+ 00017441  0x00000fc5 store  0x00000001 , 0x00000031 
+ 00017442  0x00000fc6 call  0x00004a87 
+ 00017443  0x00000fc7 disable  0x00000029 
+ 00017444  0x00000fc8 enable  0x00000028 
+ 00017445  0x00000fc9 rtn 
+ 00017446  0x00000fce bpatch  0x00000043 , 0x00004008 
+ 00017447  0x00000fcf disable  0x0000002d 
+ 00017448  0x00000fd0 set0  0x00000005 , 0x00000000 
+ 00017449  0x00000fd1 set0  0x0000000a , 0x00000000 
+ 00017450  0x00000fd2 set0  0x00000010 , 0x00000000 
+ 00017451  0x00000fd3 set0  0x0000000f , 0x00000000 
+ 00017452  0x00000fd4 fetch  0x00000001 , 0x00000047 
+ 00017453  0x00000fd5 set0  0x00000005 , 0x0000003f 
+ 00017454  0x00000fd6 set1  0x00000004 , 0x0000003f 
+ 00017455  0x00000fd7 store  0x00000001 , 0x00000047 
+ 00017456  0x00000fd8 rtn 
+ 00017457  0x00000fdb bpatch  0x00000044 , 0x00004008 
+ 00017458  0x00000fdc jam  0x00000020 , 0x00000011 
+ 00017459  0x00000fdd jam  0x00000050 , 0x00000047 
+ 00017460  0x00000fde fetch  0x00000002 , 0x000040bf 
+ 00017461  0x00000fdf store  0x00000002 , 0x0000003e 
+ 00017462  0x00000fe0 deposit  0x00000022 
+ 00017463  0x00000fe1 store  0x00000004 , 0x000040ca 
+ 00017464  0x00000fe2 rtn  0x00000030 
+ 00017465  0x00000fe3 deposit  0x00000028 
+ 00017466  0x00000fe4 store  0x00000004 , 0x000040ca 
+ 00017467  0x00000fe5 rtn 
+ 00017468  0x00000fe8 bpatch  0x00000045 , 0x00004008 
+ 00017469  0x00000fe9 call  0x000060e5 
+ 00017470  0x00000fea call  0x00004455 
+ 00017471  0x00000feb store  0x00000001 , 0x00000046 
+ 00017472  0x00000fec setarg  0x00000000 
+ 00017473  0x00000fed store  0x00000002 , 0x00000259 
+ 00017474  0x00000fee setarg  0x00001c80 
+ 00017475  0x00000fef store  0x00000002 , 0x00000051 
+ 00017476  0x00000ff0 fetch  0x00000001 , 0x00000030 
+ 00017477  0x00000ff1 set1  0x00000000 , 0x0000003f 
+ 00017478  0x00000ff2 store  0x00000001 , 0x00000030 
+ 00017479  0x00000ff3 jam  0x00000000 , 0x0000004b 
+ 00017480  0x00000ff4 jam  0x00000000 , 0x0000004c 
+ 00017481  0x00000ff5 jam  0x00000000 , 0x000000a0 
+ 00017482  0x00000ff6 branch  0x00004a87 
+ 00017483  0x00000ffa bpatch  0x00000046 , 0x00004008 
+ 00017484  0x00000ffb force  0x00000000 , 0x0000003f 
+ 00017485  0x00000ffc store  0x00000008 , 0x000041bf 
+ 00017486  0x00000ffd istore  0x00000008 , 0x00000005 
+ 00017487  0x00000ffe call  0x000041c1 
+ 00017488  0x00000fff branch  0x00004250 
+ 00017489  0x00001002 fetch  0x00000001 , 0x00000011 
+ 00017490  0x00001003 increase  0xffffffff , 0x0000003f 
+ 00017491  0x00001004 store  0x00000001 , 0x00000011 
+ 00017492  0x00001005 rtn 
+ 00017493  0x00001008 fetch  0x00000001 , 0x000040cf 
+ 00017494  0x00001009 increase  0x00000001 , 0x0000003f 
+ 00017495  0x0000100a store  0x00000001 , 0x000040cf 
+ 00017496  0x0000100b rtn 
+ 00017497  0x0000100f bpatch  0x00000047 , 0x00004008 
+ 00017498  0x00001010 fetch  0x00000001 , 0x000041cf 
+ 00017499  0x00001011 beq  0x00000003 , 0x0000445e 
+ 00017500  0x00001012 fetch  0x00000001 , 0x00000048 
+ 00017501  0x00001013 bne  0x00000001 , 0x00004462 
+ 00017502  0x00001015 call  0x000050ec 
+ 00017503  0x00001016 nbranch  0x00004462 , 0x00000005 
+ 00017504  0x00001017 call  0x000041a0 
+ 00017505  0x00001018 jam  0x00000000 , 0x000041cf 
+ 00017506  0x0000101a bpatch  0x00000048 , 0x00004009 
+ 00017507  0x0000101b call  0x00004d3a 
+ 00017508  0x0000101c call  0x000046e5 
+ 00017509  0x0000101d jam  0x00000002 , 0x00000a95 
+ 00017510  0x0000101e call  0x00007bab 
+ 00017511  0x0000101f call  0x000060d8 
+ 00017512  0x00001020 call  0x00005145 
+ 00017513  0x00001021 call  0x00007432 
+ 00017514  0x00001022 fetch  0x00000001 , 0x00000030 
+ 00017515  0x00001023 set0  0x00000000 
+ 00017516  0x00001024 store  0x00000001 , 0x00000030 
+ 00017517  0x00001025 jam  0x00000000 , 0x00004651 
+ 00017518  0x00001027 fetch  0x00000001 , 0x0000004c 
+ 00017519  0x00001028 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00017520  0x00001029 branch  0x00004472 , 0x00000001 
+ 00017521  0x0000102a set0  0x00000001 , 0x00000000 
+ 00017522  0x0000102c fetch  0x00000001 , 0x00000047 
+ 00017523  0x0000102d bbit0  0x00000003 , 0x00004474 
+ 00017524  0x0000102f fetch  0x00000001 , 0x0000004b 
+ 00017525  0x00001030 rtnbit0  0x00000006 
+ 00017526  0x00001031 set0  0x00000002 , 0x00000000 
+ 00017527  0x00001032 rtn 
+ 00017528  0x00001035 bpatch  0x00000049 , 0x00004009 
+ 00017529  0x00001036 fetch  0x00000001 , 0x00000172 
+ 00017530  0x00001037 rtn  0x00000034 
+ 00017531  0x00001038 icopy  0x00000004 
+ 00017532  0x00001039 call  0x00004510 
+ 00017533  0x0000103a nrtn  0x0000002d 
+ 00017534  0x0000103b force  0x00000000 , 0x00000001 
+ 00017535  0x0000103c call  0x00004753 
+ 00017536  0x0000103d deposit  0x00000004 
+ 00017537  0x0000103e store  0x00000001 , 0x00000077 
+ 00017538  0x0000103f force  0x00000000 , 0x0000003f 
+ 00017539  0x00001040 store  0x00000001 , 0x00000172 
+ 00017540  0x00001041 rtn 
+ 00017541  0x00001048 bpatch  0x0000004a , 0x00004009 
+ 00017542  0x00001049 fetch  0x00000001 , 0x00000030 
+ 00017543  0x0000104a bbit0  0x00000002 , 0x00004492 
+ 00017544  0x0000104b force  0x00000007 , 0x00000001 
+ 00017545  0x0000104c bmark0  0x00000007 , 0x00004491 
+ 00017546  0x0000104d call  0x00004721 
+ 00017547  0x0000104e nbranch  0x00004492 , 0x00000001 
+ 00017548  0x0000104f branch  0x00004492 , 0x0000002e 
+ 00017549  0x00001050 call  0x000044bd 
+ 00017550  0x00001051 setarg  0x00000002 
+ 00017551  0x00001052 store  0x00000002 , 0x000040c8 
+ 00017552  0x00001053 rtn 
+ 00017553  0x00001055 nrtn  0x0000002e 
+ 00017554  0x00001057 bpatch  0x0000004b , 0x00004009 
+ 00017555  0x00001058 call  0x0000423f 
+ 00017556  0x00001059 nbranch  0x000044a3 , 0x00000005 
+ 00017557  0x0000105a fetch  0x00000001 , 0x00000047 
+ 00017558  0x0000105b bbit0  0x00000003 , 0x000044ac 
+ 00017559  0x0000105d bmark1  0x00000005 , 0x000044b0 
+ 00017560  0x0000105e fetch  0x00000001 , 0x0000017d 
+ 00017561  0x0000105f bbit1  0x00000006 , 0x000044b6 
+ 00017562  0x00001060 fetch  0x00000002 , 0x000040c8 
+ 00017563  0x00001061 increase  0xffffffff , 0x0000003f 
+ 00017564  0x00001062 store  0x00000002 , 0x000040c8 
+ 00017565  0x00001063 branch  0x000044a1 , 0x00000034 
+ 00017566  0x00001064 fetch  0x00000001 , 0x000040c5 
+ 00017567  0x00001065 iforce  0x00000001 
+ 00017568  0x00001066 rtn 
+ 00017569  0x00001069 bpatch  0x0000004c , 0x00004009 
+ 00017570  0x0000106a call  0x00004683 
+ 00017571  0x0000106c call  0x00004721 
+ 00017572  0x0000106d branch  0x000044ac , 0x00000001 
+ 00017573  0x0000106e call  0x000063ec 
+ 00017574  0x0000106f branch  0x000044ba , 0x00000028 
+ 00017575  0x00001070 fetch  0x00000001 , 0x0000004b 
+ 00017576  0x00001071 bbit1  0x00000006 , 0x000044bc 
+ 00017577  0x00001072 bmark1  0x00000005 , 0x000044b0 
+ 00017578  0x00001073 fetch  0x00000001 , 0x0000017d 
+ 00017579  0x00001074 bbit1  0x00000006 , 0x000044b6 
+ 00017580  0x00001076 force  0x00000001 , 0x00000001 
+ 00017581  0x00001077 rtn  0x00000029 
+ 00017582  0x00001078 force  0x00000000 , 0x00000001 
+ 00017583  0x00001079 rtn 
+ 00017584  0x0000107b bpatch  0x0000004d , 0x00004009 
+ 00017585  0x0000107c fetch  0x00000001 , 0x00000019 
+ 00017586  0x0000107d iforce  0x00000001 
+ 00017587  0x0000107e rtnne  0x00000001 
+ 00017588  0x0000107f force  0x00000000 , 0x00000001 
+ 00017589  0x00001080 rtn 
+ 00017590  0x00001082 fetch  0x00000001 , 0x00000156 
+ 00017591  0x00001083 and  0x0000003f , 0x0000000f , 0x00000001 
+ 00017592  0x00001084 set1  0x00000005 , 0x00000000 
+ 00017593  0x00001085 rtn 
+ 00017594  0x00001087 force  0x00000013 , 0x00000001 
+ 00017595  0x00001088 branch  0x000044bd 
+ 00017596  0x0000108a call  0x000044c6 
+ 00017597  0x0000108d bpatch  0x0000004e , 0x00004009 
+ 00017598  0x0000108e fetcht  0x00000001 , 0x00000047 
+ 00017599  0x0000108f set1  0x00000003 , 0x00000002 
+ 00017600  0x00001090 storet  0x00000001 , 0x00000047 
+ 00017601  0x00001091 deposit  0x00000001 
+ 00017602  0x00001092 store  0x00000001 , 0x000040c5 
+ 00017603  0x00001093 setarg  0x0000ffff 
+ 00017604  0x00001094 store  0x00000002 , 0x000040c8 
+ 00017605  0x00001095 rtn 
+ 00017606  0x00001098 bpatch  0x0000004f , 0x00004009 
+ 00017607  0x00001099 fetch  0x00000001 , 0x0000004c 
+ 00017608  0x0000109a isolate1  0x00000005 , 0x0000003f 
+ 00017609  0x0000109b fetch  0x00000002 , 0x000041dd 
+ 00017610  0x0000109c branch  0x000044dc , 0x00000001 
+ 00017611  0x0000109d force  0x00000003 , 0x00000001 
+ 00017612  0x0000109e sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00017613  0x0000109f rtn  0x00000002 
+ 00017614  0x000010a0 force  0x00000004 , 0x00000001 
+ 00017615  0x000010a1 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00017616  0x000010a2 rtn  0x00000002 
+ 00017617  0x000010a3 force  0x0000000a , 0x00000001 
+ 00017618  0x000010a4 sub  0x0000003f , 0x00000079 , 0x0000003e 
+ 00017619  0x000010a5 rtn  0x00000002 
+ 00017620  0x000010a6 force  0x0000000b , 0x00000001 
+ 00017621  0x000010a7 sub  0x0000003f , 0x000000b7 , 0x0000003e 
+ 00017622  0x000010a8 rtn  0x00000002 
+ 00017623  0x000010a9 force  0x0000000e , 0x00000001 
+ 00017624  0x000010aa sub  0x0000003f , 0x000000e0 , 0x0000003e 
+ 00017625  0x000010ab rtn  0x00000002 
+ 00017626  0x000010ac force  0x0000000f , 0x00000001 
+ 00017627  0x000010ad rtn 
+ 00017628  0x000010af force  0x00000003 , 0x00000001 
+ 00017629  0x000010b0 sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00017630  0x000010b1 rtn  0x00000002 
+ 00017631  0x000010b2 force  0x00000004 , 0x00000001 
+ 00017632  0x000010b3 sub  0x0000003f , 0x00000036 , 0x0000003e 
+ 00017633  0x000010b4 rtn  0x00000002 
+ 00017634  0x000010b5 force  0x0000000a , 0x00000001 
+ 00017635  0x000010b6 arg  0x0000016f , 0x00000002 
+ 00017636  0x000010b7 isub  0x00000002 , 0x0000003e 
+ 00017637  0x000010b8 nrtn  0x00000002 
+ 00017638  0x000010b9 force  0x0000000e , 0x00000001 
+ 00017639  0x000010ba arg  0x000002a7 , 0x00000002 
+ 00017640  0x000010bb isub  0x00000002 , 0x0000003e 
+ 00017641  0x000010bc nrtn  0x00000002 
+ 00017642  0x000010bd force  0x0000000f , 0x00000001 
+ 00017643  0x000010be rtn 
+ 00017644  0x000010c8 fetch  0x00000001 , 0x00000030 
+ 00017645  0x000010c9 bbit0  0x00000001 , 0x000044f1 
+ 00017646  0x000010ca fetch  0x00000002 , 0x00000032 
+ 00017647  0x000010cb branch  0x000044f1 , 0x00000034 
+ 00017648  0x000010cc nbranch  0x000044f3 , 0x0000002e 
+ 00017649  0x000010ce call  0x00004a4e 
+ 00017650  0x000010d0 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00017651  0x000010d2 enable  0x00000010 
+ 00017652  0x000010d3 fetch  0x00000002 , 0x0000003e 
+ 00017653  0x000010d4 rshift  0x0000003f , 0x0000003f 
+ 00017654  0x000010d5 arg  0x00000500 , 0x00000002 
+ 00017655  0x000010d6 iadd  0x00000002 , 0x0000003f 
+ 00017656  0x000010d7 call  0x00004a23 
+ 00017657  0x000010d8 call  0x000048e6 
+ 00017658  0x000010d9 force  0x00000003 , 0x00000024 
+ 00017659  0x000010da call  0x000048c8 
+ 00017660  0x000010db call  0x00004426 
+ 00017661  0x000010dc call  0x000049f0 
+ 00017662  0x000010dd bpatch  0x00000050 , 0x0000400a 
+ 00017663  0x000010de fetch  0x00000002 , 0x0000003e 
+ 00017664  0x000010df rshift  0x0000003f , 0x0000003f 
+ 00017665  0x000010e0 call  0x00004a23 
+ 00017666  0x000010e1 call  0x000049ea 
+ 00017667  0x000010e2 enable  0x0000000d 
+ 00017668  0x000010e3 fetch  0x00000002 , 0x0000003e 
+ 00017669  0x000010e4 arg  0x000003bb , 0x00000002 
+ 00017670  0x000010e5 iadd  0x00000002 , 0x0000001b 
+ 00017671  0x000010e6 correlate  0x0000003e , 0x00000003 
+ 00017672  0x000010e7 copy  0x0000001a , 0x00000002 
+ 00017673  0x000010e8 storet  0x00000006 , 0x0000009a 
+ 00017674  0x000010e9 disable  0x0000000d 
+ 00017675  0x000010ea nrtn  0x00000018 
+ 00017676  0x000010eb arg  0x000003bb , 0x00000029 
+ 00017677  0x000010ec copy  0x00000021 , 0x00000028 
+ 00017678  0x000010ed branch  0x00004ae6 , 0x0000002b 
+ 00017679  0x000010ee rtn 
+ 00017680  0x000010f2 bpatch  0x00000051 , 0x0000400a 
+ 00017681  0x000010f3 call  0x000044ec 
+ 00017682  0x000010f4 nbranch  0x000048f5 , 0x00000018 
+ 00017683  0x000010f5 call  0x000049ba 
+ 00017684  0x000010f6 bmark0  0x00000011 , 0x00004518 
+ 00017685  0x000010f7 fetch  0x00000002 , 0x000000f4 
+ 00017686  0x000010f8 increase  0x00000001 , 0x0000003f 
+ 00017687  0x000010f9 store  0x00000002 , 0x000000f4 
+ 00017688  0x000010fb rshift  0x00000021 , 0x00000002 
+ 00017689  0x000010fc or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00017690  0x000010fe bpatch  0x00000052 , 0x0000400a 
+ 00017691  0x000010ff enable  0x00000007 
+ 00017692  0x00001100 enable  0x0000000a 
+ 00017693  0x00001101 enable  0x0000000b 
+ 00017694  0x00001102 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017695  0x00001103 rshift8  0x0000000c , 0x0000003f 
+ 00017696  0x00001104 store  0x00000001 , 0x0000015b 
+ 00017697  0x00001105 parse  0x00000003 , 0x00000000 , 0x00000004 
+ 00017698  0x00001106 inject  0x00000000 , 0x00000007 
+ 00017699  0x00001107 copy  0x0000000c , 0x0000003f 
+ 00017700  0x00001108 store  0x00000001 , 0x00000019 
+ 00017701  0x00001109 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017702  0x0000110a rshift8  0x0000000c , 0x0000003f 
+ 00017703  0x0000110b store  0x00000001 , 0x0000015c 
+ 00017704  0x0000110c fetch  0x00000001 , 0x00000019 
+ 00017705  0x0000110d sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00017706  0x0000110e branch  0x0000452f , 0x00000002 
+ 00017707  0x0000110f beq  0x00000007 , 0x0000452f 
+ 00017708  0x00001110 fetch  0x00000001 , 0x0000004c 
+ 00017709  0x00001111 isolate1  0x00000005 , 0x0000003f 
+ 00017710  0x00001112 setflag  0x00000001 , 0x00000001 , 0x00000015 
+ 00017711  0x00001114 bpatch  0x00000053 , 0x0000400a 
+ 00017712  0x00001115 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00017713  0x00001116 disable  0x0000000b 
+ 00017714  0x00001117 disable  0x0000000a 
+ 00017715  0x00001118 branch  0x0000462d , 0x00000006 
+ 00017716  0x00001119 bmark0  0x00000011 , 0x00004538 
+ 00017717  0x0000111a fetch  0x00000002 , 0x000000f6 
+ 00017718  0x0000111b increase  0x00000001 , 0x0000003f 
+ 00017719  0x0000111c store  0x00000002 , 0x000000f6 
+ 00017720  0x0000111e bpatch  0x00000054 , 0x0000400a 
+ 00017721  0x0000111f fetch  0x00000001 , 0x0000015b 
+ 00017722  0x00001120 compare  0x00000000 , 0x0000003f , 0x00000007 
+ 00017723  0x00001121 setflag  0x00000001 , 0x0000000a , 0x00000000 
+ 00017724  0x00001122 branch  0x00004548 , 0x00000001 
+ 00017725  0x00001123 icompare  0x00000007 , 0x00000004 
+ 00017726  0x00001124 branch  0x00004547 , 0x00000001 
+ 00017727  0x00001125 bmark0  0x00000007 , 0x00004649 
+ 00017728  0x00001126 fetcht  0x00000001 , 0x000000ae 
+ 00017729  0x00001127 icompare  0x00000007 , 0x00000002 
+ 00017730  0x00001128 nbranch  0x00004649 , 0x00000001 
+ 00017731  0x00001129 fetch  0x00000001 , 0x00000047 
+ 00017732  0x0000112a set0  0x00000005 , 0x0000003f 
+ 00017733  0x0000112b set1  0x00000004 , 0x0000003f 
+ 00017734  0x0000112c store  0x00000001 , 0x00000047 
+ 00017735  0x0000112e enable  0x0000002d 
+ 00017736  0x00001130 bpatch  0x00000055 , 0x0000400a 
+ 00017737  0x00001131 fetch  0x00000001 , 0x00000019 
+ 00017738  0x00001132 icopy  0x00000001 
+ 00017739  0x00001133 bmark1  0x0000000a , 0x00004557 
+ 00017740  0x00001134 fetcht  0x00000001 , 0x0000015c 
+ 00017741  0x00001135 fetch  0x00000001 , 0x00000047 
+ 00017742  0x00001136 set0  0x00000000 , 0x0000003f 
+ 00017743  0x00001137 isolate1  0x00000000 , 0x00000002 
+ 00017744  0x00001138 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00017745  0x00001139 isolate1  0x00000001 , 0x00000002 
+ 00017746  0x0000113a setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00017747  0x0000113b store  0x00000001 , 0x00000047 
+ 00017748  0x0000113c isolate0  0x00000001 , 0x00000002 
+ 00017749  0x0000113d branch  0x00004557 , 0x00000001 
+ 00017750  0x0000113e call  0x00004683 
+ 00017751  0x00001140 bpatch  0x00000056 , 0x0000400a 
+ 00017752  0x00001141 arg  0x00000000 , 0x00000002 
+ 00017753  0x00001142 call  0x00004a1b 
+ 00017754  0x00001143 and  0x00000001 , 0x0000000f , 0x0000003f 
+ 00017755  0x00001144 beq  0x00000001 , 0x00004583 
+ 00017756  0x00001145 beq  0x00000000 , 0x00004649 
+ 00017757  0x00001146 beq  0x00000002 , 0x00004655 
+ 00017758  0x00001147 fetcht  0x00000001 , 0x0000015c 
+ 00017759  0x00001148 fetch  0x00000001 , 0x00000047 
+ 00017760  0x00001149 icompare  0x00000004 , 0x00000002 
+ 00017761  0x0000114a nbranch  0x00004565 , 0x00000001 
+ 00017762  0x0000114b bmark0  0x0000000a , 0x00004564 
+ 00017763  0x0000114c bbit0  0x00000007 , 0x00004565 
+ 00017764  0x0000114e set1  0x0000000f , 0x00000000 
+ 00017765  0x00001150 bpatch  0x00000057 , 0x0000400a 
+ 00017766  0x00001151 deposit  0x00000001 
+ 00017767  0x00001152 beq  0x00000003 , 0x00004585 
+ 00017768  0x00001153 beq  0x00000004 , 0x00004589 
+ 00017769  0x00001154 beq  0x00000007 , 0x00004574 
+ 00017770  0x00001155 beq  0x00000008 , 0x00004588 
+ 00017771  0x00001156 arg  0x00000004 , 0x00000002 
+ 00017772  0x00001157 call  0x00004a1b 
+ 00017773  0x00001158 beq  0x0000000a , 0x00004584 
+ 00017774  0x00001159 beq  0x0000000b , 0x00004587 
+ 00017775  0x0000115a arg  0x00000008 , 0x00000002 
+ 00017776  0x0000115b call  0x00004a1b 
+ 00017777  0x0000115c beq  0x0000000e , 0x00004584 
+ 00017778  0x0000115d beq  0x0000000f , 0x00004587 
+ 00017779  0x0000115e rtn 
+ 00017780  0x00001162 bpatch  0x00000058 , 0x0000400b 
+ 00017781  0x00001163 enable  0x0000000d 
+ 00017782  0x00001164 enable  0x00000009 
+ 00017783  0x00001165 enable  0x0000000e 
+ 00017784  0x00001166 arg  0x000000cf , 0x00000005 
+ 00017785  0x00001167 force  0x0000001e , 0x00000039 
+ 00017786  0x00001169 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00017787  0x0000116a rshift3  0x0000000c , 0x0000003f 
+ 00017788  0x0000116b istore  0x00000001 , 0x00000005 
+ 00017789  0x0000116c loop  0x0000457a 
+ 00017790  0x0000116d bmark0  0x00000007 , 0x00004649 
+ 00017791  0x0000116e parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00017792  0x0000116f nsetflag  0x00000006 , 0x00000008 , 0x00000000 
+ 00017793  0x00001170 branch  0x00004639 , 0x00000006 
+ 00017794  0x00001171 branch  0x0000461c 
+ 00017795  0x00001175 branch  0x00004649 
+ 00017796  0x00001179 set1  0x00000010 , 0x00000000 
+ 00017797  0x0000117b enable  0x0000000c 
+ 00017798  0x0000117c branch  0x0000458a 
+ 00017799  0x00001180 set1  0x00000010 , 0x00000000 
+ 00017800  0x00001182 set1  0x00000002 , 0x00000015 
+ 00017801  0x00001184 enable  0x0000000d 
+ 00017802  0x00001186 bpatch  0x00000059 , 0x0000400b 
+ 00017803  0x00001187 bmark1  0x00000001 , 0x00004649 
+ 00017804  0x00001188 isolate0  0x00000001 , 0x00000015 
+ 00017805  0x00001189 branch  0x00004596 , 0x00000001 
+ 00017806  0x0000118a disable  0x00000007 
+ 00017807  0x0000118b enable  0x0000000d 
+ 00017808  0x0000118c disable  0x0000000c 
+ 00017809  0x0000118d add  0x00000022 , 0x00000002 , 0x0000000b 
+ 00017810  0x0000118e correlate  0x00000022 , 0x00000026 
+ 00017811  0x0000118f nbranch  0x00004639 , 0x00000018 
+ 00017812  0x00001190 set1  0x00000010 , 0x00000000 
+ 00017813  0x00001191 enable  0x00000007 
+ 00017814  0x00001193 bpatch  0x0000005a , 0x0000400b 
+ 00017815  0x00001194 enable  0x0000000e 
+ 00017816  0x00001195 enable  0x00000009 
+ 00017817  0x00001196 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017818  0x00001197 rshift8  0x0000000c , 0x0000003f 
+ 00017819  0x00001198 store  0x00000001 , 0x0000017e 
+ 00017820  0x00001199 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00017821  0x0000119a bmark1  0x00000010 , 0x000045a1 
+ 00017822  0x0000119b rshift3  0x0000000c , 0x00000039 
+ 00017823  0x0000119c rshift3  0x00000039 , 0x00000039 
+ 00017824  0x0000119d branch  0x000045a4 
+ 00017825  0x0000119f parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00017826  0x000011a0 rshift  0x0000000c , 0x00000039 
+ 00017827  0x000011a1 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017828  0x000011a3 bpatch  0x0000005b , 0x0000400b 
+ 00017829  0x000011a4 deposit  0x00000039 
+ 00017830  0x000011a5 store  0x00000002 , 0x0000015d 
+ 00017831  0x000011a6 branch  0x000045e4 , 0x00000034 
+ 00017832  0x000011a7 isub  0x00000035 , 0x0000003e 
+ 00017833  0x000011a8 branch  0x00004639 , 0x00000002 
+ 00017834  0x000011a9 bpatch  0x0000005c , 0x0000400b 
+ 00017835  0x000011aa set0  0x00000000 , 0x00000000 
+ 00017836  0x000011ab fetch  0x00000001 , 0x0000017e 
+ 00017837  0x000011ac and_into  0x00000003 , 0x0000003f 
+ 00017838  0x000011ad arg  0x0000054d , 0x00000005 
+ 00017839  0x000011ae beq  0x00000003 , 0x000045b6 
+ 00017840  0x000011af bmark1  0x00000011 , 0x000045e0 
+ 00017841  0x000011b1 fetch  0x00000001 , 0x0000017e 
+ 00017842  0x000011b2 and_into  0x00000003 , 0x0000003f 
+ 00017843  0x000011b3 beq  0x00000002 , 0x000045bb 
+ 00017844  0x000011b4 beq  0x00000001 , 0x000045cf 
+ 00017845  0x000011b5 branch  0x00004639 
+ 00017846  0x000011b8 fetch  0x00000002 , 0x0000015d 
+ 00017847  0x000011b9 sub  0x0000003f , 0x00000070 , 0x0000003e 
+ 00017848  0x000011ba nbranch  0x00004639 , 0x00000002 
+ 00017849  0x000011bb bmark1  0x0000000f , 0x0000461c 
+ 00017850  0x000011bc branch  0x000045e0 
+ 00017851  0x000011c0 bpatch  0x0000005d , 0x0000400b 
+ 00017852  0x000011c1 bmark1  0x0000000f , 0x0000461c 
+ 00017853  0x000011c2 fetch  0x00000002 , 0x0000015d 
+ 00017854  0x000011c3 arg  0x000002e0 , 0x00000002 
+ 00017855  0x000011c4 isub  0x00000002 , 0x0000003e 
+ 00017856  0x000011c5 branch  0x00004639 , 0x00000002 
+ 00017857  0x000011c6 fetch  0x00000001 , 0x0000025f 
+ 00017858  0x000011c7 bbit0  0x00000000 , 0x000045c5 
+ 00017859  0x000011c8 bbit0  0x00000001 , 0x000045ca 
+ 00017860  0x000011c9 branch  0x00004649 
+ 00017861  0x000011cb jam  0x00000001 , 0x0000025d 
+ 00017862  0x000011cc fetch  0x00000002 , 0x00000259 
+ 00017863  0x000011cd bne  0x00000000 , 0x00004649 
+ 00017864  0x000011ce arg  0x00001000 , 0x00000005 
+ 00017865  0x000011cf branch  0x000045e0 
+ 00017866  0x000011d1 jam  0x00000002 , 0x0000025d 
+ 00017867  0x000011d2 fetch  0x00000002 , 0x0000025b 
+ 00017868  0x000011d3 bne  0x00000000 , 0x00004649 
+ 00017869  0x000011d4 arg  0x00001400 , 0x00000005 
+ 00017870  0x000011d5 branch  0x000045e0 
+ 00017871  0x000011d8 bpatch  0x0000005e , 0x0000400b 
+ 00017872  0x000011d9 bmark1  0x0000000f , 0x0000461c 
+ 00017873  0x000011da fetch  0x00000002 , 0x0000015d 
+ 00017874  0x000011db arg  0x000002e0 , 0x00000002 
+ 00017875  0x000011dc isub  0x00000002 , 0x0000003e 
+ 00017876  0x000011dd branch  0x00004639 , 0x00000002 
+ 00017877  0x000011de fetch  0x00000001 , 0x0000025d 
+ 00017878  0x000011df beq  0x00000001 , 0x000045d9 
+ 00017879  0x000011e0 beq  0x00000002 , 0x000045dd 
+ 00017880  0x000011e1 branch  0x00004649 
+ 00017881  0x000011e3 arg  0x00001000 , 0x00000005 
+ 00017882  0x000011e4 fetch  0x00000002 , 0x00000259 
+ 00017883  0x000011e5 iadd  0x00000005 , 0x00000005 
+ 00017884  0x000011e6 branch  0x000045e0 
+ 00017885  0x000011e8 arg  0x00001400 , 0x00000005 
+ 00017886  0x000011e9 fetch  0x00000002 , 0x0000025b 
+ 00017887  0x000011ea iadd  0x00000005 , 0x00000005 
+ 00017888  0x000011ec parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00017889  0x000011ed rshift3  0x0000000c , 0x0000003f 
+ 00017890  0x000011ee istore  0x00000001 , 0x00000005 
+ 00017891  0x000011ef loop  0x000045e0 
+ 00017892  0x000011f1 bpatch  0x0000005f , 0x0000400b 
+ 00017893  0x000011f2 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00017894  0x000011f3 branch  0x00004633 , 0x00000006 
+ 00017895  0x000011f4 fetch  0x00000001 , 0x00004335 
+ 00017896  0x000011f5 beq  0x00000001 , 0x00004649 
+ 00017897  0x000011f6 bmark1  0x00000011 , 0x00004609 
+ 00017898  0x000011f7 bmark1  0x0000000f , 0x00004646 
+ 00017899  0x000011f8 fetch  0x00000001 , 0x0000017e 
+ 00017900  0x000011f9 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00017901  0x000011fa branch  0x00004609 , 0x00000001 
+ 00017902  0x000011fb fetch  0x00000002 , 0x0000015d 
+ 00017903  0x000011fc branch  0x00004609 , 0x00000034 
+ 00017904  0x000011fd bpatch  0x00000060 , 0x0000400c 
+ 00017905  0x000011fe fetch  0x00000001 , 0x0000025d 
+ 00017906  0x000011ff beq  0x00000001 , 0x000045f5 
+ 00017907  0x00001200 beq  0x00000002 , 0x000045ff 
+ 00017908  0x00001201 branch  0x00004a8b 
+ 00017909  0x00001203 fetch  0x00000002 , 0x00000259 
+ 00017910  0x00001204 fetcht  0x00000002 , 0x0000015d 
+ 00017911  0x00001205 iadd  0x00000002 , 0x0000003f 
+ 00017912  0x00001206 store  0x00000002 , 0x00000259 
+ 00017913  0x00001207 beq  0x00000000 , 0x00004a8b 
+ 00017914  0x00001208 fetcht  0x00000002 , 0x00001000 
+ 00017915  0x00001209 increase  0x00000004 , 0x00000002 
+ 00017916  0x0000120a isub  0x00000002 , 0x0000003e 
+ 00017917  0x0000120b call  0x00004743 , 0x00000005 
+ 00017918  0x0000120c branch  0x00004609 
+ 00017919  0x0000120e fetch  0x00000002 , 0x0000025b 
+ 00017920  0x0000120f fetcht  0x00000002 , 0x0000015d 
+ 00017921  0x00001210 iadd  0x00000002 , 0x0000003f 
+ 00017922  0x00001211 store  0x00000002 , 0x0000025b 
+ 00017923  0x00001212 beq  0x00000000 , 0x00004a8b 
+ 00017924  0x00001213 fetcht  0x00000002 , 0x00001400 
+ 00017925  0x00001214 add  0x00000002 , 0x00000004 , 0x00000002 
+ 00017926  0x00001215 isub  0x00000002 , 0x0000003e 
+ 00017927  0x00001216 call  0x00004747 , 0x00000005 
+ 00017928  0x00001217 branch  0x00004609 
+ 00017929  0x00001219 bpatch  0x00000061 , 0x0000400c 
+ 00017930  0x0000121a fetcht  0x00000001 , 0x0000004c 
+ 00017931  0x0000121b fetch  0x00000001 , 0x0000017e 
+ 00017932  0x0000121c compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00017933  0x0000121d setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00017934  0x0000121e nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00017935  0x0000121f storet  0x00000001 , 0x0000004c 
+ 00017936  0x00001220 nbranch  0x00004612 , 0x00000001 
+ 00017937  0x00001221 set1  0x00000001 , 0x00000000 
+ 00017938  0x00001223 bmark0  0x00000011 , 0x0000461c 
+ 00017939  0x00001224 isolate1  0x00000006 , 0x00000002 
+ 00017940  0x00001225 branch  0x0000461c , 0x00000001 
+ 00017941  0x00001226 fetch  0x00000002 , 0x000000f8 
+ 00017942  0x00001227 increase  0x00000001 , 0x0000003f 
+ 00017943  0x00001228 store  0x00000002 , 0x000000f8 
+ 00017944  0x00001229 set1  0x00000005 , 0x00000000 
+ 00017945  0x0000122a set0  0x00000007 , 0x00000002 
+ 00017946  0x0000122b set0  0x00000001 , 0x00000000 
+ 00017947  0x0000122c storet  0x00000001 , 0x0000004c 
+ 00017948  0x0000122e bpatch  0x00000062 , 0x0000400c 
+ 00017949  0x0000122f fetcht  0x00000001 , 0x0000015c 
+ 00017950  0x00001230 fetch  0x00000001 , 0x00000047 
+ 00017951  0x00001231 set1  0x00000005 , 0x0000003f 
+ 00017952  0x00001232 isolate1  0x00000002 , 0x00000002 
+ 00017953  0x00001233 setflag  0x00000001 , 0x00000002 , 0x0000003f 
+ 00017954  0x00001234 isolate1  0x0000000a , 0x00000000 
+ 00017955  0x00001235 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00017956  0x00001236 store  0x00000001 , 0x00000047 
+ 00017957  0x00001237 fetch  0x00000002 , 0x0000015d 
+ 00017958  0x00001238 nbranch  0x00004649 , 0x00000034 
+ 00017959  0x00001239 fetch  0x00000001 , 0x0000004c 
+ 00017960  0x0000123a set0  0x00000007 , 0x0000003f 
+ 00017961  0x0000123b store  0x00000001 , 0x0000004c 
+ 00017962  0x0000123c fetch  0x00000001 , 0x0000017e 
+ 00017963  0x0000123d compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00017964  0x0000123f branch  0x00004649 
+ 00017965  0x00001242 bpatch  0x00000063 , 0x0000400c 
+ 00017966  0x00001243 disable  0x0000002d 
+ 00017967  0x00001244 fetch  0x00000002 , 0x0000001a 
+ 00017968  0x00001245 increase  0x00000001 , 0x0000003f 
+ 00017969  0x00001246 store  0x00000002 , 0x0000001a 
+ 00017970  0x00001247 branch  0x00004649 
+ 00017971  0x00001249 fetch  0x00000002 , 0x0000001c 
+ 00017972  0x0000124a increase  0x00000001 , 0x0000003f 
+ 00017973  0x0000124b store  0x00000002 , 0x0000001c 
+ 00017974  0x0000124c call  0x0000463a 
+ 00017975  0x0000124d bmark0  0x00000011 , 0x00004639 
+ 00017976  0x0000124e set1  0x00000005 , 0x00000000 
+ 00017977  0x00001250 branch  0x00004649 
+ 00017978  0x00001253 bpatch  0x00000064 , 0x0000400c 
+ 00017979  0x00001254 fetch  0x00000001 , 0x0000017e 
+ 00017980  0x00001255 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00017981  0x00001256 nbranch  0x00004642 , 0x00000001 
+ 00017982  0x00001258 fetcht  0x00000001 , 0x0000004c 
+ 00017983  0x00001259 set0  0x00000006 , 0x00000002 
+ 00017984  0x0000125a storet  0x00000001 , 0x0000004c 
+ 00017985  0x0000125b rtn 
+ 00017986  0x0000125f fetcht  0x00000001 , 0x0000004c 
+ 00017987  0x00001260 set0  0x00000007 , 0x00000002 
+ 00017988  0x00001261 storet  0x00000001 , 0x0000004c 
+ 00017989  0x00001262 rtn 
+ 00017990  0x00001265 fetch  0x00000001 , 0x00000047 
+ 00017991  0x00001266 set1  0x00000005 , 0x0000003f 
+ 00017992  0x00001267 store  0x00000001 , 0x00000047 
+ 00017993  0x00001269 bpatch  0x00000065 , 0x0000400c 
+ 00017994  0x0000126a disable  0x0000001d 
+ 00017995  0x0000126b disable  0x0000001c 
+ 00017996  0x0000126c disable  0x0000000d 
+ 00017997  0x0000126d disable  0x0000000c 
+ 00017998  0x0000126e disable  0x00000009 
+ 00017999  0x0000126f disable  0x0000000e 
+ 00018000  0x00001270 disable  0x00000007 
+ 00018001  0x00001271 branch  0x000048f5 , 0x00000021 
+ 00018002  0x00001272 until  0x0000003e , 0x00000027 
+ 00018003  0x00001273 nop  0x00000064 
+ 00018004  0x00001274 branch  0x000048f5 
+ 00018005  0x00001277 bpatch  0x00000066 , 0x0000400c 
+ 00018006  0x00001278 enable  0x00000009 
+ 00018007  0x00001279 enable  0x0000000c 
+ 00018008  0x0000127a parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00018009  0x0000127b isolate1  0x0000003a , 0x0000003f 
+ 00018010  0x0000127c setflag  0x00000001 , 0x00000000 , 0x00000000 
+ 00018011  0x0000127d copy  0x00000020 , 0x00000002 
+ 00018012  0x0000127e ialigned  0x00000020 
+ 00018013  0x0000127f ialigned  0x0000001e 
+ 00018014  0x00001280 pulse  0x00000015 
+ 00018015  0x00001281 setsect  0x00000002 , 0x000fffff 
+ 00018016  0x00001282 setsect  0x00000003 , 0x0000ffff 
+ 00018017  0x00001283 nop  0x00000020 
+ 00018018  0x00001284 iverify  0x0000000d 
+ 00018019  0x00001285 deposit  0x0000002c 
+ 00018020  0x00001286 store  0x00000003 , 0x00000176 
+ 00018021  0x00001287 deposit  0x0000002d 
+ 00018022  0x00001288 store  0x00000001 , 0x00000179 
+ 00018023  0x00001289 copy  0x00000002 , 0x00000020 
+ 00018024  0x0000128a branch  0x0000466a , 0x00000001 
+ 00018025  0x0000128b branch  0x00004639 
+ 00018026  0x0000128d bpatch  0x00000067 , 0x0000400c 
+ 00018027  0x0000128e parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00018028  0x0000128f ialigned  0x0000001f 
+ 00018029  0x00001290 ialigned  0x00000004 
+ 00018030  0x00001291 ialigned  0x0000002e 
+ 00018031  0x00001292 ialigned  0x00000012 
+ 00018032  0x00001293 force  0x00000000 , 0x0000003f 
+ 00018033  0x00001294 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00018034  0x00001295 branch  0x00004639 , 0x00000006 
+ 00018035  0x00001296 setarg  0x0ffffffc 
+ 00018036  0x00001297 iand  0x00000012 , 0x0000003f 
+ 00018037  0x00001298 store  0x00000004 , 0x00000163 
+ 00018038  0x00001299 deposit  0x0000001d 
+ 00018039  0x0000129a store  0x00000003 , 0x00000173 
+ 00018040  0x0000129b deposit  0x0000001c 
+ 00018041  0x0000129c store  0x00000001 , 0x00000171 
+ 00018042  0x0000129d deposit  0x00000004 
+ 00018043  0x0000129e store  0x00000001 , 0x00000172 
+ 00018044  0x0000129f deposit  0x0000002e 
+ 00018045  0x000012a0 store  0x00000002 , 0x0000017a 
+ 00018046  0x000012a1 deposit  0x00000021 
+ 00018047  0x000012a2 inject  0x00000001 , 0x00000020 
+ 00018048  0x000012a3 compare  0x00000002 , 0x00000001 , 0x0000000f 
+ 00018049  0x000012a4 setflag  0x00000001 , 0x0000000b , 0x00000000 
+ 00018050  0x000012a5 branch  0x00004649 
+ 00018051  0x000012a8 bpatch  0x00000068 , 0x0000400d 
+ 00018052  0x000012a9 fetch  0x00000001 , 0x00000047 
+ 00018053  0x000012aa rtnbit0  0x00000003 
+ 00018054  0x000012ab set0  0x00000003 , 0x0000003f 
+ 00018055  0x000012ac setflip  0x00000006 , 0x0000003f 
+ 00018056  0x000012ad store  0x00000001 , 0x00000047 
+ 00018057  0x000012ae fetch  0x00000001 , 0x000040c5 
+ 00018058  0x000012af beq  0x00000013 , 0x00004698 
+ 00018059  0x000012b0 rtneq  0x00000007 
+ 00018060  0x000012b1 fetch  0x00000001 , 0x0000004b 
+ 00018061  0x000012b2 rtnbit0  0x00000006 , 0x0000003f 
+ 00018062  0x000012b3 set0  0x00000006 , 0x0000003f 
+ 00018063  0x000012b4 set1  0x00000007 , 0x0000003f 
+ 00018064  0x000012b5 store  0x00000001 , 0x0000004b 
+ 00018065  0x000012b6 set0  0x00000002 , 0x00000000 
+ 00018066  0x000012b7 fetch  0x00000002 , 0x00004218 
+ 00018067  0x000012b8 nrtn  0x00000034 
+ 00018068  0x000012b9 fetch  0x00000001 , 0x0000004b 
+ 00018069  0x000012ba set0  0x00000007 , 0x0000003f 
+ 00018070  0x000012bb store  0x00000001 , 0x0000004b 
+ 00018071  0x000012bc branch  0x00005637 
+ 00018072  0x000012bf bpatch  0x00000069 , 0x0000400d 
+ 00018073  0x000012c0 fetch  0x00000001 , 0x000004b3 
+ 00018074  0x000012c1 rshift  0x0000003f , 0x0000003f 
+ 00018075  0x000012c2 beq  0x00000011 , 0x000046b4 
+ 00018076  0x000012c3 beq  0x00000012 , 0x000046bc 
+ 00018077  0x000012c4 beq  0x00000018 , 0x000046e5 
+ 00018078  0x000012c5 beq  0x0000007f , 0x000046a4 
+ 00018079  0x000012c6 rtnne  0x00000003 
+ 00018080  0x000012c7 fetch  0x00000001 , 0x000004b4 
+ 00018081  0x000012c8 beq  0x0000002b , 0x000046ac 
+ 00018082  0x000012c9 beq  0x00000011 , 0x000046a7 
+ 00018083  0x000012ca rtn 
+ 00018084  0x000012cd fetch  0x00000001 , 0x000004b4 
+ 00018085  0x000012ce set1  0x00000007 , 0x0000003f 
+ 00018086  0x000012cf rtn 
+ 00018087  0x000012d1 rtn  0x00000029 
+ 00018088  0x000012d2 fetch  0x00000001 , 0x00000030 
+ 00018089  0x000012d3 rtnbit1  0x00000004 
+ 00018090  0x000012d4 jam  0x00000031 , 0x0000007c 
+ 00018091  0x000012d5 rtn 
+ 00018092  0x000012d9 rtn  0x00000029 
+ 00018093  0x000012da fetch  0x00000001 , 0x00000031 
+ 00018094  0x000012db isolate1  0x00000004 , 0x0000003f 
+ 00018095  0x000012dc branch  0x000046b1 , 0x00000001 
+ 00018096  0x000012de rtn 
+ 00018097  0x000012e0 set0  0x00000004 , 0x0000003f 
+ 00018098  0x000012e1 store  0x00000001 , 0x00000031 
+ 00018099  0x000012e2 rtn 
+ 00018100  0x000012e5 bpatch  0x0000006a , 0x0000400d 
+ 00018101  0x000012e6 fetch  0x00000001 , 0x0000004c 
+ 00018102  0x000012e7 set1  0x00000002 , 0x0000003f 
+ 00018103  0x000012e8 store  0x00000001 , 0x0000004c 
+ 00018104  0x000012e9 hjam  0x00000001 , 0x00008011 
+ 00018105  0x000012ea fetch  0x00000001 , 0x00000030 
+ 00018106  0x000012eb isolate1  0x00000004 , 0x0000003f 
+ 00018107  0x000012ec rtn 
+ 00018108  0x000012ef bpatch  0x0000006b , 0x0000400d 
+ 00018109  0x000012f0 fetch  0x00000001 , 0x0000004c 
+ 00018110  0x000012f1 set0  0x00000002 , 0x0000003f 
+ 00018111  0x000012f2 store  0x00000001 , 0x0000004c 
+ 00018112  0x000012f3 hjam  0x00000000 , 0x00008011 
+ 00018113  0x000012f4 rtn 
+ 00018114  0x000012f8 bpatch  0x0000006c , 0x0000400d 
+ 00018115  0x000012f9 copy  0x00000022 , 0x0000003f 
+ 00018116  0x000012fa store  0x00000004 , 0x0000420b 
+ 00018117  0x000012fb add  0x00000022 , 0x00000003 , 0x00000011 
+ 00018118  0x000012fc branch  0x000046c8 , 0x00000029 
+ 00018119  0x000012fd add  0x00000028 , 0x00000003 , 0x00000011 
+ 00018120  0x000012ff fetcht  0x00000002 , 0x00000032 
+ 00018121  0x00001300 deposit  0x00000011 
+ 00018122  0x00001301 set0  0x0000001b , 0x0000003f 
+ 00018123  0x00001302 idiv  0x00000002 
+ 00018124  0x00001303 fetch  0x00000002 , 0x00000075 
+ 00018125  0x00001304 call  0x00007d61 
+ 00018126  0x00001305 remainder  0x00000013 
+ 00018127  0x00001306 isub  0x00000013 , 0x0000003f 
+ 00018128  0x00001307 branch  0x000046d2 , 0x00000002 
+ 00018129  0x00001308 iadd  0x00000002 , 0x0000003f 
+ 00018130  0x0000130a iadd  0x00000011 , 0x0000003f 
+ 00018131  0x0000130b store  0x00000004 , 0x00000034 
+ 00018132  0x0000130c jam  0x00000000 , 0x0000452d 
+ 00018133  0x0000130d fetch  0x00000001 , 0x00000030 
+ 00018134  0x0000130e set1  0x00000001 , 0x0000003f 
+ 00018135  0x0000130f store  0x00000001 , 0x00000030 
+ 00018136  0x00001310 fetch  0x00000001 , 0x00000073 
+ 00018137  0x00001311 store  0x00000001 , 0x0000008a 
+ 00018138  0x00001312 setarg  0x00000000 
+ 00018139  0x00001313 store  0x00000003 , 0x0000416a 
+ 00018140  0x00001314 store  0x00000003 , 0x0000416d 
+ 00018141  0x00001315 store  0x00000001 , 0x0000415a 
+ 00018142  0x00001316 jam  0x0000000b , 0x00000a95 
+ 00018143  0x00001317 call  0x00007bab 
+ 00018144  0x00001318 fetch  0x00000002 , 0x000040c1 
+ 00018145  0x00001319 store  0x00000002 , 0x0000003e 
+ 00018146  0x0000131a nrtn  0x00000029 
+ 00018147  0x0000131b add  0x00000004 , 0xffffffff , 0x00000007 
+ 00018148  0x0000131c rtn 
+ 00018149  0x0000131f bpatch  0x0000006d , 0x0000400d 
+ 00018150  0x00001320 fetch  0x00000001 , 0x00000030 
+ 00018151  0x00001321 rtnbit0  0x00000001 
+ 00018152  0x00001322 set0  0x00000001 , 0x0000003f 
+ 00018153  0x00001323 store  0x00000001 , 0x00000030 
+ 00018154  0x00001324 fetch  0x00000002 , 0x000040bf 
+ 00018155  0x00001325 store  0x00000002 , 0x0000003e 
+ 00018156  0x00001326 disable  0x0000002b 
+ 00018157  0x00001327 jam  0x0000000c , 0x00000a95 
+ 00018158  0x00001328 branch  0x00007bab 
+ 00018159  0x0000132c bpatch  0x0000006e , 0x0000400d 
+ 00018160  0x0000132d enable  0x0000002e 
+ 00018161  0x0000132e fetch  0x00000001 , 0x00000030 
+ 00018162  0x0000132f bbit1  0x00000001 , 0x000046fc 
+ 00018163  0x00001330 rtnmark1  0x00000011 
+ 00018164  0x00001331 fetch  0x00000001 , 0x00000047 
+ 00018165  0x00001332 rtnbit1  0x00000003 
+ 00018166  0x00001333 fetch  0x00000001 , 0x00000048 
+ 00018167  0x00001334 nrtn  0x00000034 
+ 00018168  0x00001335 fetch  0x00000001 , 0x0000004b 
+ 00018169  0x00001336 rtnbit1  0x00000006 
+ 00018170  0x00001338 force  0x00000000 , 0x0000003f 
+ 00018171  0x00001339 rtn 
+ 00018172  0x0000133c bbit0  0x00000002 , 0x0000470b 
+ 00018173  0x0000133d fetch  0x00000001 , 0x0000008a 
+ 00018174  0x0000133e beq  0x00000002 , 0x00004702 
+ 00018175  0x0000133f fetch  0x00000001 , 0x00000047 
+ 00018176  0x00001340 bbit1  0x00000003 , 0x00004714 
+ 00018177  0x00001341 bmark0  0x00000008 , 0x00004714 
+ 00018178  0x00001343 nbranch  0x00004714 , 0x00000029 
+ 00018179  0x00001344 fetch  0x00000001 , 0x00000048 
+ 00018180  0x00001345 nbranch  0x00004714 , 0x00000034 
+ 00018181  0x00001347 fetch  0x00000001 , 0x000000ed 
+ 00018182  0x00001348 increase  0xffffffff , 0x0000003f 
+ 00018183  0x00001349 store  0x00000001 , 0x000000ed 
+ 00018184  0x0000134a nbranch  0x000046fa , 0x00000034 
+ 00018185  0x0000134b jam  0x00000010 , 0x000000ed 
+ 00018186  0x0000134c branch  0x00004714 
+ 00018187  0x00001354 fetch  0x00000001 , 0x0000008a 
+ 00018188  0x00001355 bne  0x00000001 , 0x00004714 
+ 00018189  0x00001356 fetch  0x00000001 , 0x0000008b 
+ 00018190  0x00001357 branch  0x00004714 , 0x00000034 
+ 00018191  0x00001358 increase  0xffffffff , 0x0000003f 
+ 00018192  0x00001359 store  0x00000001 , 0x0000008b 
+ 00018193  0x0000135a fetch  0x00000001 , 0x00000047 
+ 00018194  0x0000135b rtnbit1  0x00000003 
+ 00018195  0x0000135c nrtn  0x0000002d 
+ 00018196  0x0000135e fetch  0x00000001 , 0x0000008a 
+ 00018197  0x0000135f increase  0xffffffff , 0x0000003f 
+ 00018198  0x00001360 store  0x00000001 , 0x0000008a 
+ 00018199  0x00001361 rtn 
+ 00018200  0x0000136d bpatch  0x0000006f , 0x0000400d 
+ 00018201  0x0000136e disable  0x00000010 
+ 00018202  0x0000136f copy  0x00000002 , 0x0000001b 
+ 00018203  0x00001370 call  0x0000425c 
+ 00018204  0x00001371 disable  0x00000028 
+ 00018205  0x00001372 nrtn  0x00000005 
+ 00018206  0x00001373 force  0x00000000 , 0x0000001b 
+ 00018207  0x00001374 enable  0x00000028 
+ 00018208  0x00001375 rtn 
+ 00018209  0x00001379 fetch  0x00000001 , 0x00004159 
+ 00018210  0x0000137a icompare  0x000000ff , 0x00000004 
+ 00018211  0x0000137b rtn 
+ 00018212  0x0000137f bpatch  0x00000070 , 0x0000400e 
+ 00018213  0x00001380 set0  0x00000001 , 0x00000000 
+ 00018214  0x00001382 jam  0x00000000 , 0x00000266 
+ 00018215  0x00001383 fetch  0x00000001 , 0x0000025f 
+ 00018216  0x00001384 rtn  0x00000034 
+ 00018217  0x00001385 isolate1  0x00000000 , 0x0000003f 
+ 00018218  0x00001386 arg  0x00001000 , 0x00000006 
+ 00018219  0x00001387 call  0x00005153 , 0x00000001 
+ 00018220  0x00001388 bpatch  0x00000071 , 0x0000400e 
+ 00018221  0x00001389 fetch  0x00000001 , 0x00000266 
+ 00018222  0x0000138a beq  0x00000001 , 0x00004737 
+ 00018223  0x0000138c jam  0x00000000 , 0x00000266 
+ 00018224  0x0000138d fetch  0x00000001 , 0x0000025f 
+ 00018225  0x0000138e rtnbit0  0x00000001 
+ 00018226  0x0000138f arg  0x00001400 , 0x00000006 
+ 00018227  0x00001390 call  0x00005153 
+ 00018228  0x00001391 fetch  0x00000001 , 0x00000266 
+ 00018229  0x00001392 beq  0x00000001 , 0x0000473d 
+ 00018230  0x00001393 rtn 
+ 00018231  0x00001396 fetch  0x00000001 , 0x0000025f 
+ 00018232  0x00001397 set0  0x00000000 , 0x0000003f 
+ 00018233  0x00001398 store  0x00000001 , 0x0000025f 
+ 00018234  0x00001399 setarg  0x00000000 
+ 00018235  0x0000139a store  0x00000002 , 0x00000259 
+ 00018236  0x0000139b rtn 
+ 00018237  0x0000139d fetch  0x00000001 , 0x0000025f 
+ 00018238  0x0000139e set0  0x00000001 , 0x0000003f 
+ 00018239  0x0000139f store  0x00000001 , 0x0000025f 
+ 00018240  0x000013a0 setarg  0x00000000 
+ 00018241  0x000013a1 store  0x00000002 , 0x0000025b 
+ 00018242  0x000013a2 rtn 
+ 00018243  0x000013a5 fetch  0x00000001 , 0x0000025f 
+ 00018244  0x000013a6 set1  0x00000000 , 0x0000003f 
+ 00018245  0x000013a7 store  0x00000001 , 0x0000025f 
+ 00018246  0x000013a8 rtn 
+ 00018247  0x000013ab fetch  0x00000001 , 0x0000025f 
+ 00018248  0x000013ac set1  0x00000001 , 0x0000003f 
+ 00018249  0x000013ad store  0x00000001 , 0x0000025f 
+ 00018250  0x000013ae rtn 
+ 00018251  0x000013b5 bpatch  0x00000072 , 0x0000400e 
+ 00018252  0x000013b6 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00018253  0x000013b7 call  0x000048e6 
+ 00018254  0x000013b8 force  0x00000003 , 0x00000024 
+ 00018255  0x000013b9 call  0x000048ce 
+ 00018256  0x000013ba call  0x00004a50 
+ 00018257  0x000013bb call  0x00004a5e 
+ 00018258  0x000013bc branch  0x00004a63 
+ 00018259  0x000013c0 bpatch  0x00000073 , 0x0000400e 
+ 00018260  0x000013c1 call  0x00004a4c 
+ 00018261  0x000013c2 deposit  0x00000028 
+ 00018262  0x000013c3 fetcht  0x00000004 , 0x000040ca 
+ 00018263  0x000013c4 isub  0x00000002 , 0x0000003f 
+ 00018264  0x000013c5 rtnne  0x00000001 
+ 00018265  0x000013c6 compare  0x00000000 , 0x00000001 , 0x0000001f 
+ 00018266  0x000013c7 nbranch  0x0000475d , 0x00000001 
+ 00018267  0x000013c8 fetch  0x00000001 , 0x00000019 
+ 00018268  0x000013c9 rtn  0x00000034 
+ 00018269  0x000013cb call  0x0000474b 
+ 00018270  0x000013cd compare  0x00000010 , 0x00000001 , 0x0000001f 
+ 00018271  0x000013ce branch  0x00004649 , 0x00000001 
+ 00018272  0x000013cf rshift  0x00000021 , 0x00000002 
+ 00018273  0x000013d0 or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00018274  0x000013d2 bpatch  0x00000074 , 0x0000400e 
+ 00018275  0x000013d3 enable  0x00000007 
+ 00018276  0x000013d4 enable  0x0000000a 
+ 00018277  0x000013d5 enable  0x0000001b 
+ 00018278  0x000013d6 set0  0x00000010 , 0x00000000 
+ 00018279  0x000013d7 deposit  0x00000004 
+ 00018280  0x000013d8 inject  0x00000003 , 0x00000003 
+ 00018281  0x000013d9 deposit  0x00000001 
+ 00018282  0x000013da inject  0x00000003 , 0x00000004 
+ 00018283  0x000013db fetch  0x00000001 , 0x00000047 
+ 00018284  0x000013dc inject  0x00000000 , 0x00000004 
+ 00018285  0x000013dd inject  0x00000003 , 0x00000003 
+ 00018286  0x000013de enable  0x00000008 
+ 00018287  0x000013df inject  0x00000003 , 0x00000008 
+ 00018288  0x000013e0 disable  0x0000001b 
+ 00018289  0x000013e1 disable  0x00000008 
+ 00018290  0x000013e2 disable  0x0000000a 
+ 00018291  0x000013e3 set0  0x00000002 , 0x00000015 
+ 00018292  0x000013e4 arg  0x00000000 , 0x00000002 
+ 00018293  0x000013e5 call  0x00004a1b 
+ 00018294  0x000013e6 bpatch  0x00000075 , 0x0000400e 
+ 00018295  0x000013e7 and  0x00000001 , 0x0000001f , 0x0000003f 
+ 00018296  0x000013e8 beq  0x00000013 , 0x000047b0 
+ 00018297  0x000013e9 beq  0x00000000 , 0x00004649 
+ 00018298  0x000013ea beq  0x00000001 , 0x00004649 
+ 00018299  0x000013eb beq  0x00000002 , 0x00004793 
+ 00018300  0x000013ec beq  0x00000003 , 0x000047c1 
+ 00018301  0x000013ed beq  0x00000004 , 0x000047c7 
+ 00018302  0x000013ee beq  0x00000007 , 0x00004788 
+ 00018303  0x000013ef beq  0x00000008 , 0x000047c6 
+ 00018304  0x000013f0 arg  0x00000004 , 0x00000002 
+ 00018305  0x000013f1 call  0x00004a1b 
+ 00018306  0x000013f2 beq  0x0000000a , 0x000047c3 
+ 00018307  0x000013f3 beq  0x0000000b , 0x000047c9 
+ 00018308  0x000013f4 arg  0x00000008 , 0x00000002 
+ 00018309  0x000013f5 call  0x00004a1b 
+ 00018310  0x000013f6 beq  0x0000000f , 0x000047c9 
+ 00018311  0x000013f7 branch  0x000047c3 
+ 00018312  0x000013fb bpatch  0x00000076 , 0x0000400e 
+ 00018313  0x000013fc enable  0x0000001d 
+ 00018314  0x000013fd enable  0x00000009 
+ 00018315  0x000013fe enable  0x0000000e 
+ 00018316  0x000013ff force  0x0000001e , 0x00000039 
+ 00018317  0x00001400 arg  0x000000b1 , 0x00000006 
+ 00018318  0x00001402 ifetch  0x00000001 , 0x00000006 
+ 00018319  0x00001403 inject  0x00000003 , 0x00000008 
+ 00018320  0x00001404 loop  0x0000478e 
+ 00018321  0x00001405 bmark1  0x00000007 , 0x000047f3 
+ 00018322  0x00001406 branch  0x00004649 
+ 00018323  0x00001409 bpatch  0x00000077 , 0x0000400e 
+ 00018324  0x0000140a fetch  0x00000001 , 0x0000017f 
+ 00018325  0x0000140b icopy  0x00000004 
+ 00018326  0x0000140c fetch  0x00000001 , 0x00000090 
+ 00018327  0x0000140d icopy  0x0000001c 
+ 00018328  0x0000140e fetch  0x00000003 , 0x000040aa 
+ 00018329  0x0000140f icopy  0x0000001d 
+ 00018330  0x00001410 fetch  0x00000002 , 0x000040a4 
+ 00018331  0x00001411 icopy  0x0000002e 
+ 00018332  0x00001412 enable  0x00000009 
+ 00018333  0x00001413 enable  0x0000001c 
+ 00018334  0x00001414 copy  0x00000020 , 0x00000011 
+ 00018335  0x00001415 call  0x000048de 
+ 00018336  0x00001416 pulse  0x00000015 
+ 00018337  0x00001417 nop  0x00000020 
+ 00018338  0x00001418 copy  0x00000021 , 0x0000000b 
+ 00018339  0x00001419 fetch  0x00000004 , 0x0000015f 
+ 00018340  0x0000141a icopy  0x00000021 
+ 00018341  0x0000141b preload  0x0000001e 
+ 00018342  0x0000141c set1  0x0000003a , 0x0000003f 
+ 00018343  0x0000141d inject  0x00000003 , 0x00000048 
+ 00018344  0x0000141e preload  0x0000001f 
+ 00018345  0x0000141f inject  0x00000003 , 0x00000048 
+ 00018346  0x00001420 copy  0x0000000b , 0x00000021 
+ 00018347  0x00001421 copy  0x00000011 , 0x00000020 
+ 00018348  0x00001422 enable  0x00000008 
+ 00018349  0x00001423 inject  0x00000003 , 0x00000010 
+ 00018350  0x00001424 disable  0x00000008 
+ 00018351  0x00001425 branch  0x00004649 
+ 00018352  0x00001428 bpatch  0x00000078 , 0x0000400f 
+ 00018353  0x00001429 enable  0x0000000e 
+ 00018354  0x0000142a enable  0x00000009 
+ 00018355  0x0000142b enable  0x0000001c 
+ 00018356  0x0000142c fetch  0x00000001 , 0x000004b2 
+ 00018357  0x0000142d and  0x0000003f , 0x000001f8 , 0x00000002 
+ 00018358  0x0000142e arg  0x000004b2 , 0x00000006 
+ 00018359  0x0000142f increase  0x00000008 , 0x00000002 
+ 00018360  0x00001431 add  0x00000002 , 0xffffffb8 , 0x00000013 
+ 00018361  0x00001432 nbranch  0x000047be , 0x00000002 
+ 00018362  0x00001433 ifetch  0x00000009 , 0x00000006 
+ 00018363  0x00001434 inject  0x00000003 , 0x00000048 
+ 00018364  0x00001435 copy  0x00000013 , 0x00000002 
+ 00018365  0x00001436 branch  0x000047b8 
+ 00018366  0x00001438 ifetch  0x00000009 , 0x00000006 
+ 00018367  0x00001439 iinject  0x00000003 , 0x00000002 
+ 00018368  0x0000143a branch  0x000047f3 
+ 00018369  0x0000143d enable  0x0000001c 
+ 00018370  0x0000143e branch  0x000047cc 
+ 00018371  0x00001441 enable  0x0000001c 
+ 00018372  0x00001442 set1  0x00000010 , 0x00000000 
+ 00018373  0x00001443 branch  0x000047cc 
+ 00018374  0x00001446 set1  0x00000002 , 0x00000015 
+ 00018375  0x00001448 enable  0x0000001d 
+ 00018376  0x00001449 branch  0x000047cc 
+ 00018377  0x0000144d set1  0x00000002 , 0x00000015 
+ 00018378  0x0000144e enable  0x0000001d 
+ 00018379  0x0000144f set1  0x00000010 , 0x00000000 
+ 00018380  0x00001452 bpatch  0x00000079 , 0x0000400f 
+ 00018381  0x00001453 fetch  0x00000001 , 0x0000004c 
+ 00018382  0x00001454 bbit0  0x00000005 , 0x000047e1 
+ 00018383  0x00001455 sub  0x00000001 , 0x00000003 , 0x0000003e 
+ 00018384  0x00001456 branch  0x000047e1 , 0x00000002 
+ 00018385  0x00001457 disable  0x0000000e 
+ 00018386  0x00001458 disable  0x0000001c 
+ 00018387  0x00001459 enable  0x0000001d 
+ 00018388  0x0000145a disable  0x00000007 
+ 00018389  0x0000145b set1  0x00000001 , 0x00000015 
+ 00018390  0x0000145c isolate1  0x00000002 , 0x00000015 
+ 00018391  0x0000145d branch  0x000047db , 0x00000001 
+ 00018392  0x0000145e setarg  0x000abeee 
+ 00018393  0x0000145f inject  0x00000003 , 0x00000014 
+ 00018394  0x00001460 branch  0x000047df 
+ 00018395  0x00001462 setarg  0x005faeba 
+ 00018396  0x00001463 inject  0x00000003 , 0x00000018 
+ 00018397  0x00001464 setarg  0x00000012 
+ 00018398  0x00001465 inject  0x00000003 , 0x00000006 
+ 00018399  0x00001467 enable  0x00000007 
+ 00018400  0x00001468 set1  0x00000010 , 0x00000000 
+ 00018401  0x0000146a enable  0x0000000e 
+ 00018402  0x0000146b enable  0x00000009 
+ 00018403  0x0000146c bmark1  0x00000005 , 0x000047fc 
+ 00018404  0x0000146d fetch  0x00000001 , 0x000041dc 
+ 00018405  0x0000146e inject  0x00000003 , 0x00000003 
+ 00018406  0x0000146f fetch  0x00000002 , 0x000041dd 
+ 00018407  0x00001470 iforce  0x00000039 
+ 00018408  0x00001471 bmark1  0x00000010 , 0x000047eb 
+ 00018409  0x00001472 inject  0x00000003 , 0x00000005 
+ 00018410  0x00001473 branch  0x000047ec 
+ 00018411  0x00001475 inject  0x00000003 , 0x0000000d 
+ 00018412  0x00001477 deposit  0x00000039 
+ 00018413  0x00001478 branch  0x000047f3 , 0x00000034 
+ 00018414  0x00001479 fetch  0x00000002 , 0x0000016d 
+ 00018415  0x0000147a iforce  0x00000006 
+ 00018416  0x0000147c ifetch  0x00000001 , 0x00000006 
+ 00018417  0x0000147d inject  0x00000003 , 0x00000008 
+ 00018418  0x0000147e loop  0x000047f0 
+ 00018419  0x00001482 enable  0x00000008 
+ 00018420  0x00001483 inject  0x00000003 , 0x00000010 
+ 00018421  0x00001484 disable  0x00000008 
+ 00018422  0x00001485 call  0x000044bd 
+ 00018423  0x00001486 fetch  0x00000001 , 0x0000004c 
+ 00018424  0x00001487 bbit0  0x00000005 , 0x00004649 
+ 00018425  0x00001488 force  0x00000000 , 0x0000003f 
+ 00018426  0x00001489 inject  0x00000003 , 0x00000006 
+ 00018427  0x0000148a branch  0x00004649 
+ 00018428  0x0000148e bpatch  0x0000007a , 0x0000400f 
+ 00018429  0x0000148f bmark1  0x00000010 , 0x00004804 
+ 00018430  0x00001491 fetch  0x00000001 , 0x0000017e 
+ 00018431  0x00001492 inject  0x00000003 , 0x00000003 
+ 00018432  0x00001493 fetch  0x00000001 , 0x0000015d 
+ 00018433  0x00001494 iforce  0x00000013 
+ 00018434  0x00001495 inject  0x00000003 , 0x00000005 
+ 00018435  0x00001496 branch  0x00004809 
+ 00018436  0x00001498 fetch  0x00000001 , 0x0000017e 
+ 00018437  0x00001499 inject  0x00000003 , 0x00000003 
+ 00018438  0x0000149a fetch  0x00000002 , 0x0000015d 
+ 00018439  0x0000149b iforce  0x00000013 
+ 00018440  0x0000149c inject  0x00000003 , 0x0000000d 
+ 00018441  0x0000149e arg  0x0000054d , 0x00000006 
+ 00018442  0x000014a0 copy  0x00000013 , 0x0000003e 
+ 00018443  0x000014a1 branch  0x00004810 , 0x00000005 
+ 00018444  0x000014a2 ifetch  0x00000001 , 0x00000006 
+ 00018445  0x000014a3 inject  0x00000003 , 0x00000008 
+ 00018446  0x000014a4 increase  0xffffffff , 0x00000013 
+ 00018447  0x000014a5 branch  0x0000480a 
+ 00018448  0x000014a7 fetch  0x00000002 , 0x000000fa 
+ 00018449  0x000014a8 increase  0x00000001 , 0x0000003f 
+ 00018450  0x000014a9 store  0x00000002 , 0x000000fa 
+ 00018451  0x000014aa branch  0x000047f3 
+ 00018452  0x000014ae fetch  0x00000004 , 0x00000163 
+ 00018453  0x000014af add  0x0000003f , 0x00000007 , 0x00000011 
+ 00018454  0x000014b0 fetch  0x00000002 , 0x0000016f 
+ 00018455  0x000014b1 nbranch  0x0000481a , 0x00000034 
+ 00018456  0x000014b2 increase  0xfffffffd , 0x00000011 
+ 00018457  0x000014b3 branch  0x00004822 
+ 00018458  0x000014b5 mul32  0x0000003f , 0x0000000c , 0x0000003f 
+ 00018459  0x000014b6 fetcht  0x00000002 , 0x00008040 
+ 00018460  0x000014b7 increase  0x00000001 , 0x00000002 
+ 00018461  0x000014b9 isub  0x00000002 , 0x0000003f 
+ 00018462  0x000014ba nbranch  0x00004821 , 0x00000002 
+ 00018463  0x000014bb increase  0xffffffff , 0x00000011 
+ 00018464  0x000014bc branch  0x0000481d 
+ 00018465  0x000014be sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00018466  0x000014c0 until  0x0000003e , 0x00000023 
+ 00018467  0x000014c1 compare  0x00000000 , 0x00000022 , 0x00000003 
+ 00018468  0x000014c2 nbranch  0x00004822 , 0x00000001 
+ 00018469  0x000014c3 iforce  0x00000029 
+ 00018470  0x000014c4 copy  0x00000011 , 0x00000028 
+ 00018471  0x000014c5 iforce  0x00000029 
+ 00018472  0x000014c6 rtn 
+ 00018473  0x000014ca bpatch  0x0000007b , 0x0000400f 
+ 00018474  0x000014cb until  0x0000003e , 0x00000022 
+ 00018475  0x000014cc deposit  0x0000001a 
+ 00018476  0x000014cd iforce  0x00000006 
+ 00018477  0x000014ce rshift16 , 0x0000003f , 0x0000003f 
+ 00018478  0x000014cf isub  0x00000022 , 0x00000039 
+ 00018479  0x000014d0 and_into  0x00000003 , 0x00000039 
+ 00018480  0x000014d1 nbranch  0x00004833 , 0x00000005 
+ 00018481  0x000014d2 force  0x00000000 , 0x0000003f 
+ 00018482  0x000014d3 branch  0x00004837 
+ 00018483  0x000014d5 arg  0x00000ea6 , 0x00000002 
+ 00018484  0x000014d6 force  0x00000000 , 0x0000003f 
+ 00018485  0x000014d8 iadd  0x00000002 , 0x0000003f 
+ 00018486  0x000014d9 loop  0x00004835 
+ 00018487  0x000014db iadd  0x00000006 , 0x0000003f 
+ 00018488  0x000014dc div  0x0000003f , 0x0000000c 
+ 00018489  0x000014dd call  0x00007d61 
+ 00018490  0x000014de quotient  0x0000003f 
+ 00018491  0x000014df store  0x00000002 , 0x0000016f 
+ 00018492  0x000014e0 rtn 
+ 00018493  0x000014e3 bpatch  0x0000007c , 0x0000400f 
+ 00018494  0x000014e4 deposit  0x0000001a 
+ 00018495  0x000014e5 copy  0x00000019 , 0x00000002 
+ 00018496  0x000014e6 isub  0x00000002 , 0x0000003e 
+ 00018497  0x000014e7 nsetflag  0x00000002 , 0x0000002c , 0x0000003f 
+ 00018498  0x000014e8 isub  0x00000002 , 0x00000002 
+ 00018499  0x000014e9 setarg  0x00000ea6 
+ 00018500  0x000014ea isolate0  0x0000000f , 0x00000002 
+ 00018501  0x000014eb branch  0x00004848 , 0x00000001 
+ 00018502  0x000014ec setarg  0xffff0ea6 
+ 00018503  0x000014ed iadd  0x00000002 , 0x00000002 
+ 00018504  0x000014ef storet  0x00000006 , 0x00000443 
+ 00018505  0x000014f0 rtn  0x00000036 
+ 00018506  0x000014f1 storet  0x00000006 , 0x00000038 
+ 00018507  0x000014f2 rtn 
+ 00018508  0x000014f5 disable  0x00000030 
+ 00018509  0x000014f6 fetch  0x00000006 , 0x00000443 
+ 00018510  0x000014f7 branch  0x00004850 , 0x00000036 
+ 00018511  0x000014f8 fetch  0x00000006 , 0x00000038 
+ 00018512  0x000014fa iadd  0x00000019 , 0x00000030 
+ 00018513  0x000014fb increase  0x0000000a , 0x00000030 
+ 00018514  0x000014fc setarg  0x00000ea6 
+ 00018515  0x000014fd isub  0x00000030 , 0x0000003f 
+ 00018516  0x000014fe isolate0  0x0000000f , 0x0000003f 
+ 00018517  0x000014ff branch  0x0000485a , 0x00000001 
+ 00018518  0x00001500 setarg  0x0000f15a 
+ 00018519  0x00001501 iadd  0x00000030 , 0x00000030 
+ 00018520  0x00001503 copy  0x00000030 , 0x0000001a 
+ 00018521  0x00001504 rtn 
+ 00018522  0x00001506 force  0x00000000 , 0x0000003e 
+ 00018523  0x00001507 branch  0x00004858 
+ 00018524  0x0000150f bpatch  0x0000007d , 0x0000400f 
+ 00018525  0x00001510 call  0x00004915 
+ 00018526  0x00001511 copy  0x00000021 , 0x0000003f 
+ 00018527  0x00001512 and_into  0x00000180 , 0x0000003f 
+ 00018528  0x00001513 compare  0x00000003 , 0x00000024 , 0x00000007 
+ 00018529  0x00001514 nbranch  0x00004865 , 0x00000001 
+ 00018530  0x00001515 rshift3  0x0000003f , 0x0000003f 
+ 00018531  0x00001516 iadd  0x00000017 , 0x0000003f 
+ 00018532  0x00001517 branch  0x00004866 
+ 00018533  0x00001519 copy  0x00000017 , 0x0000003f 
+ 00018534  0x0000151b div  0x0000003f , 0x0000004f 
+ 00018535  0x0000151c pulse  0x00000015 
+ 00018536  0x0000151d call  0x00007d61 
+ 00018537  0x0000151e remainder  0x00000011 
+ 00018538  0x0000151f add  0x00000011 , 0xffffffd8 , 0x00000002 
+ 00018539  0x00001520 branch  0x0000486e , 0x00000002 
+ 00018540  0x00001521 lshift  0x00000011 , 0x00000002 
+ 00018541  0x00001522 branch  0x00004870 
+ 00018542  0x00001524 lshift  0x00000002 , 0x00000002 
+ 00018543  0x00001525 increase  0x00000001 , 0x00000002 
+ 00018544  0x00001527 bpatch  0x0000007e , 0x0000400f 
+ 00018545  0x00001528 fetch  0x00000001 , 0x00000031 
+ 00018546  0x00001529 bbit0  0x00000003 , 0x00004881 
+ 00018547  0x0000152b fetch  0x00000004 , 0x000040d2 
+ 00018548  0x0000152c isub  0x00000021 , 0x0000003e 
+ 00018549  0x0000152d branch  0x00004881 , 0x00000002 
+ 00018550  0x0000152e call  0x000048a0 
+ 00018551  0x0000152f fetch  0x00000001 , 0x000040d9 
+ 00018552  0x00001530 rtn  0x00000034 
+ 00018553  0x00001531 fetch  0x00000001 , 0x00000031 
+ 00018554  0x00001532 set1  0x00000002 , 0x0000003f 
+ 00018555  0x00001533 store  0x00000001 , 0x00000031 
+ 00018556  0x00001534 fetch  0x00000005 , 0x000040e7 
+ 00018557  0x00001535 store  0x00000005 , 0x000040da 
+ 00018558  0x00001536 ifetch  0x00000005 , 0x00000006 
+ 00018559  0x00001537 store  0x00000005 , 0x000040df 
+ 00018560  0x00001538 call  0x000048a5 
+ 00018561  0x0000153a fetch  0x00000001 , 0x00000031 
+ 00018562  0x0000153b rtnbit0  0x00000002 
+ 00018563  0x0000153c isolate1  0x00000001 , 0x00000021 
+ 00018564  0x0000153d branch  0x0000489d , 0x00000001 
+ 00018565  0x0000153e rshift3  0x00000002 , 0x00000011 
+ 00018566  0x0000153f and  0x00000002 , 0x00000007 , 0x00000007 
+ 00018567  0x00001540 setarg  0x000040da 
+ 00018568  0x00001541 iadd  0x00000011 , 0x00000011 
+ 00018569  0x00001542 ifetch  0x00000001 , 0x00000011 
+ 00018570  0x00001543 qisolate0  0x0000003f 
+ 00018571  0x00001544 branch  0x0000488e , 0x00000001 
+ 00018572  0x00001545 deposit  0x00000002 
+ 00018573  0x00001546 branch  0x0000489a 
+ 00018574  0x00001548 fetch  0x00000001 , 0x000040e4 
+ 00018575  0x00001549 iforce  0x00000012 
+ 00018576  0x0000154a deposit  0x00000021 
+ 00018577  0x0000154b and_into  0x00000180 , 0x0000003f 
+ 00018578  0x0000154c rshift3  0x0000003f , 0x0000003f 
+ 00018579  0x0000154d iadd  0x00000017 , 0x0000003f 
+ 00018580  0x0000154e idiv  0x00000012 
+ 00018581  0x0000154f setarg  0x000040f2 
+ 00018582  0x00001550 call  0x00007d61 
+ 00018583  0x00001551 remainder  0x00000011 
+ 00018584  0x00001552 iadd  0x00000011 , 0x00000006 
+ 00018585  0x00001553 ifetch  0x00000001 , 0x00000006 
+ 00018586  0x00001555 store  0x00000001 , 0x000040e5 
+ 00018587  0x00001556 iforce  0x00000002 
+ 00018588  0x00001557 rtn 
+ 00018589  0x0000155a fetch  0x00000001 , 0x000040e5 
+ 00018590  0x0000155b iforce  0x00000002 
+ 00018591  0x0000155c rtn 
+ 00018592  0x0000155f fetch  0x00000001 , 0x00000031 
+ 00018593  0x00001560 set0  0x00000002 , 0x0000003f 
+ 00018594  0x00001561 set0  0x00000003 , 0x0000003f 
+ 00018595  0x00001562 store  0x00000001 , 0x00000031 
+ 00018596  0x00001563 rtn 
+ 00018597  0x0000156a bpatch  0x0000007f , 0x0000400f 
+ 00018598  0x0000156b arg  0x000040f2 , 0x00000005 
+ 00018599  0x0000156c force  0x0000000a , 0x00000039 
+ 00018600  0x0000156d call  0x00007ca1 
+ 00018601  0x0000156e arg  0x000040f2 , 0x00000005 
+ 00018602  0x0000156f force  0x00000000 , 0x00000013 
+ 00018603  0x00001570 force  0x00000002 , 0x00000007 
+ 00018604  0x00001572 fetch  0x00000005 , 0x000040da 
+ 00018605  0x00001573 iforce  0x00000002 
+ 00018606  0x00001574 compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00018607  0x00001575 branch  0x000048b1 , 0x00000001 
+ 00018608  0x00001576 rshift  0x00000002 , 0x00000002 
+ 00018609  0x00001578 isolate0  0x00000000 , 0x00000002 
+ 00018610  0x00001579 branch  0x000048b5 , 0x00000001 
+ 00018611  0x0000157a deposit  0x00000013 
+ 00018612  0x0000157b istore  0x00000001 , 0x00000005 
+ 00018613  0x0000157d rshift2  0x00000002 , 0x00000002 
+ 00018614  0x0000157e increase  0x00000002 , 0x00000013 
+ 00018615  0x0000157f compare  0x00000028 , 0x00000013 , 0x000000fe 
+ 00018616  0x00001580 nbranch  0x000048be , 0x00000001 
+ 00018617  0x00001581 fetch  0x00000005 , 0x000040df 
+ 00018618  0x00001582 iforce  0x00000002 
+ 00018619  0x00001583 compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00018620  0x00001584 branch  0x000048be , 0x00000001 
+ 00018621  0x00001585 rshift  0x00000002 , 0x00000002 
+ 00018622  0x00001587 sub  0x00000013 , 0x0000004e , 0x0000003e 
+ 00018623  0x00001588 branch  0x000048b1 , 0x00000002 
+ 00018624  0x00001589 force  0x00000001 , 0x00000013 
+ 00018625  0x0000158a increase  0xffffffff , 0x00000007 
+ 00018626  0x0000158b nbranch  0x000048ac , 0x00000005 
+ 00018627  0x0000158c arg  0x000040f2 , 0x00000011 
+ 00018628  0x0000158d deposit  0x00000005 
+ 00018629  0x0000158e isub  0x00000011 , 0x0000003f 
+ 00018630  0x0000158f store  0x00000001 , 0x000040e4 
+ 00018631  0x00001590 rtn 
+ 00018632  0x00001593 bpatch  0x00000080 , 0x00004010 
+ 00018633  0x00001594 call  0x0000485c 
+ 00018634  0x00001595 fetch  0x00000001 , 0x0000017d 
+ 00018635  0x00001596 bbit0  0x00000005 , 0x000048cd 
+ 00018636  0x00001597 fetcht  0x00000001 , 0x000004c8 
+ 00018637  0x00001599 branch  0x0000491c 
+ 00018638  0x0000159d bpatch  0x00000081 , 0x00004010 
+ 00018639  0x0000159e call  0x0000485c 
+ 00018640  0x0000159f fetch  0x00000001 , 0x0000017d 
+ 00018641  0x000015a0 bbit0  0x00000004 , 0x000048d3 
+ 00018642  0x000015a1 fetcht  0x00000001 , 0x000004c7 
+ 00018643  0x000015a3 branch  0x00004930 
+ 00018644  0x000015a7 force  0x00000000 , 0x0000002d 
+ 00018645  0x000015a8 fetch  0x00000003 , 0x000040a7 
+ 00018646  0x000015a9 iforce  0x0000002c 
+ 00018647  0x000015aa rtn 
+ 00018648  0x000015ad bpatch  0x00000082 , 0x00004010 
+ 00018649  0x000015ae fetch  0x00000001 , 0x000041d4 
+ 00018650  0x000015af icopy  0x0000002d 
+ 00018651  0x000015b0 fetch  0x00000003 , 0x000041d1 
+ 00018652  0x000015b1 icopy  0x0000002c 
+ 00018653  0x000015b2 rtn 
+ 00018654  0x000015b5 bpatch  0x00000083 , 0x00004010 
+ 00018655  0x000015b6 fetch  0x00000002 , 0x000040a4 
+ 00018656  0x000015b7 icopy  0x0000002e 
+ 00018657  0x000015b8 fetch  0x00000001 , 0x000040a3 
+ 00018658  0x000015b9 icopy  0x0000002d 
+ 00018659  0x000015ba fetch  0x00000003 , 0x000040a0 
+ 00018660  0x000015bb icopy  0x0000002c 
+ 00018661  0x000015bc rtn 
+ 00018662  0x000015bf bpatch  0x00000084 , 0x00004010 
+ 00018663  0x000015c0 fetch  0x00000002 , 0x00000044 
+ 00018664  0x000015c1 icopy  0x0000002e 
+ 00018665  0x000015c2 fetch  0x00000001 , 0x00000043 
+ 00018666  0x000015c3 icopy  0x0000002d 
+ 00018667  0x000015c4 fetch  0x00000003 , 0x00000040 
+ 00018668  0x000015c5 icopy  0x0000002c 
+ 00018669  0x000015c6 rtn 
+ 00018670  0x000015ca bmark1  0x00000020 , 0x000048f1 
+ 00018671  0x000015cb rtnmark0  0x0000001d 
+ 00018672  0x000015cc rtnmark0  0x0000001f 
+ 00018673  0x000015ce and_into  0xffffff00 , 0x0000002c 
+ 00018674  0x000015cf pulse  0x00000015 
+ 00018675  0x000015d0 nop  0x00000020 
+ 00018676  0x000015d1 rtn 
+ 00018677  0x000015d5 bpatch  0x00000085 , 0x00004010 
+ 00018678  0x000015d6 branch  0x00004906 , 0x00000021 
+ 00018679  0x000015d7 hjam  0x000000d4 , 0x00000955 
+ 00018680  0x000015d8 nop  0x00000004 
+ 00018681  0x000015d9 hjam  0x000000d2 , 0x00000955 
+ 00018682  0x000015da nop  0x00000004 
+ 00018683  0x000015db hjam  0x000000d1 , 0x00000955 
+ 00018684  0x000015dc nop  0x00000004 
+ 00018685  0x000015dd fetch  0x00000001 , 0x000041df 
+ 00018686  0x000015de beq  0x00000000 , 0x00004904 
+ 00018687  0x000015df beq  0x00000001 , 0x00004912 
+ 00018688  0x000015e0 beq  0x00000002 , 0x00004904 
+ 00018689  0x000015e1 beq  0x00000003 , 0x00004912 
+ 00018690  0x000015e2 beq  0x00000004 , 0x00004912 
+ 00018691  0x000015e3 beq  0x00000020 , 0x00004912 
+ 00018692  0x000015e6 hjam  0x000000d0 , 0x00000955 
+ 00018693  0x000015e7 hjam  0x000000e0 , 0x00000956 
+ 00018694  0x000015e9 force  0x00000008 , 0x00000015 
+ 00018695  0x000015ea force  0x00000000 , 0x00000015 
+ 00018696  0x000015eb disable  0x00000021 
+ 00018697  0x000015ec disable  0x00000020 
+ 00018698  0x000015ed pulse  0x0000001e 
+ 00018699  0x000015ee hjam  0x00000000 , 0x00008902 
+ 00018700  0x000015ef hjam  0x00000000 , 0x00008901 
+ 00018701  0x000015f0 hjam  0x00000000 , 0x00008900 
+ 00018702  0x000015f1 hjam  0x00000000 , 0x00008903 
+ 00018703  0x000015f2 hjam  0x00000070 , 0x00008904 
+ 00018704  0x000015f3 hjam  0x00000000 , 0x00008906 
+ 00018705  0x000015f4 rtn 
+ 00018706  0x000015fa hjam  0x000000d0 , 0x00000955 
+ 00018707  0x000015fb hjam  0x000000c0 , 0x00000956 
+ 00018708  0x000015fc branch  0x00004906 
+ 00018709  0x000015ff bpatch  0x00000086 , 0x00004010 
+ 00018710  0x00001600 hjam  0x00000000 , 0x00008902 
+ 00018711  0x00001601 hjam  0x00000000 , 0x00008901 
+ 00018712  0x00001602 hjam  0x00000018 , 0x00008900 
+ 00018713  0x00001603 hjam  0x000000a7 , 0x00008903 
+ 00018714  0x00001604 hjam  0x0000007f , 0x00008904 
+ 00018715  0x00001605 rtn 
+ 00018716  0x00001608 bpatch  0x00000087 , 0x00004010 
+ 00018717  0x0000160a storet  0x00000001 , 0x00000017 
+ 00018718  0x0000160b add  0x00000002 , 0x00000004 , 0x00000011 
+ 00018719  0x0000160c hjam  0x00000007 , 0x0000096d 
+ 00018720  0x0000160d branch  0x00004980 
+ 00018721  0x0000160f bpatch  0x00000088 , 0x00004011 
+ 00018722  0x00001610 hjam  0x000000cf , 0x00008901 
+ 00018723  0x00001611 nop  0x0000000a 
+ 00018724  0x00001612 hjam  0x000000ff , 0x00008900 
+ 00018725  0x00001613 hjam  0x000000af , 0x00008903 
+ 00018726  0x00001614 hjam  0x000000ff , 0x00008904 
+ 00018727  0x00001615 nop  0x0000000a 
+ 00018728  0x00001616 hjam  0x000000a0 , 0x00008902 
+ 00018729  0x00001617 rtn 
+ 00018730  0x0000161a fetch  0x00000001 , 0x000041e1 
+ 00018731  0x0000161b branch  0x0000492e , 0x00000034 
+ 00018732  0x0000161d add  0x00000002 , 0x00000002 , 0x00000011 
+ 00018733  0x0000161e rtn 
+ 00018734  0x00001620 add  0x00000002 , 0x00000000 , 0x00000011 
+ 00018735  0x00001621 rtn 
+ 00018736  0x00001624 bpatch  0x00000089 , 0x00004011 
+ 00018737  0x00001625 storet  0x00000001 , 0x00000017 
+ 00018738  0x00001626 call  0x0000492a 
+ 00018739  0x00001627 call  0x00004980 
+ 00018740  0x00001628 setarg  0x00000500 
+ 00018741  0x00001629 call  0x00004a8e 
+ 00018742  0x0000162b hjam  0x00000001 , 0x00008906 
+ 00018743  0x0000162c hjam  0x0000003c , 0x00008900 
+ 00018744  0x0000162d hjam  0x000000e0 , 0x00008901 
+ 00018745  0x0000162e hjam  0x00000012 , 0x0000096d 
+ 00018746  0x0000162f nop  0x0000000a 
+ 00018747  0x00001630 hjam  0x00000001 , 0x00008902 
+ 00018748  0x00001631 hjam  0x0000003d , 0x00008902 
+ 00018749  0x00001632 nop  0x0000000a 
+ 00018750  0x00001633 hjam  0x000000b7 , 0x00008903 
+ 00018751  0x00001634 nop  0x0000000a 
+ 00018752  0x00001635 hjam  0x0000007f , 0x00008902 
+ 00018753  0x00001636 fetch  0x00000001 , 0x000041df 
+ 00018754  0x00001637 beq  0x00000000 , 0x00004948 
+ 00018755  0x00001638 beq  0x00000001 , 0x0000494c 
+ 00018756  0x00001639 beq  0x00000002 , 0x00004950 
+ 00018757  0x0000163a beq  0x00000003 , 0x00004954 
+ 00018758  0x0000163b beq  0x00000004 , 0x00004958 
+ 00018759  0x0000163c beq  0x00000020 , 0x0000495c 
+ 00018760  0x0000163e hjam  0x000000f0 , 0x00000956 
+ 00018761  0x0000163f call  0x00004962 
+ 00018762  0x00001640 hjam  0x000000d8 , 0x00000955 
+ 00018763  0x00001641 rtn 
+ 00018764  0x00001644 hjam  0x000000df , 0x00000956 
+ 00018765  0x00001645 call  0x00004962 
+ 00018766  0x00001646 hjam  0x000000df , 0x00000955 
+ 00018767  0x00001647 rtn 
+ 00018768  0x0000164a hjam  0x000000ff , 0x00000956 
+ 00018769  0x0000164b call  0x00004962 
+ 00018770  0x0000164c hjam  0x000000df , 0x00000955 
+ 00018771  0x0000164d rtn 
+ 00018772  0x0000164f hjam  0x000000ce , 0x00000956 
+ 00018773  0x00001650 call  0x00004962 
+ 00018774  0x00001651 hjam  0x000000d8 , 0x00000955 
+ 00018775  0x00001652 rtn 
+ 00018776  0x00001655 hjam  0x000000cb , 0x00000956 
+ 00018777  0x00001656 call  0x00004962 
+ 00018778  0x00001657 hjam  0x000000d8 , 0x00000955 
+ 00018779  0x00001658 rtn 
+ 00018780  0x0000165b hjam  0x000000d0 , 0x00000955 
+ 00018781  0x0000165c hjam  0x000000c0 , 0x00000956 
+ 00018782  0x0000165d hjam  0x0000004c , 0x00000957 
+ 00018783  0x0000165e hjam  0x0000006c , 0x00000958 
+ 00018784  0x0000165f hjam  0x00000050 , 0x00000959 
+ 00018785  0x00001660 rtn 
+ 00018786  0x00001663 nop  0x00000004 
+ 00018787  0x00001664 hjam  0x000000d1 , 0x00000955 
+ 00018788  0x00001665 nop  0x00000004 
+ 00018789  0x00001666 hjam  0x000000d2 , 0x00000955 
+ 00018790  0x00001667 nop  0x00000004 
+ 00018791  0x00001668 hjam  0x000000d4 , 0x00000955 
+ 00018792  0x00001669 nop  0x00000004 
+ 00018793  0x0000166a rtn 
+ 00018794  0x0000166e hjam  0x00000006 , 0x00008042 
+ 00018795  0x0000166f ncall  0x000067bc , 0x0000002b 
+ 00018796  0x00001671 fetch  0x00000002 , 0x000040c3 
+ 00018797  0x00001672 bbit0  0x0000000e , 0x0000496c 
+ 00018798  0x00001673 iforce  0x00000006 
+ 00018799  0x00001674 arg  0x00008900 , 0x00000002 
+ 00018800  0x00001676 ifetch  0x00000001 , 0x00000006 
+ 00018801  0x00001677 beq  0x000000ff , 0x00004976 
+ 00018802  0x00001678 ior  0x00000002 , 0x00000005 
+ 00018803  0x00001679 ifetch  0x00000001 , 0x00000006 
+ 00018804  0x0000167a istore  0x00000001 , 0x00000005 
+ 00018805  0x0000167b branch  0x00004970 
+ 00018806  0x0000167d bpatch  0x0000008a , 0x00004011 
+ 00018807  0x0000167e call  0x00004bba 
+ 00018808  0x0000167f call  0x000049c8 
+ 00018809  0x00001681 setarg  0x000007d0 
+ 00018810  0x00001682 iadd  0x00000022 , 0x0000003f 
+ 00018811  0x00001683 store  0x00000004 , 0x00000167 
+ 00018812  0x00001684 set1  0x00000003 , 0x00000015 
+ 00018813  0x00001685 force  0x00000000 , 0x00000015 
+ 00018814  0x00001686 ncall  0x00004997 , 0x0000002b 
+ 00018815  0x00001687 branch  0x000049aa 
+ 00018816  0x0000168b bpatch  0x0000008b , 0x00004011 
+ 00018817  0x0000168c setarg  0x00000960 
+ 00018818  0x0000168d iadd  0x00000011 , 0x00000002 
+ 00018819  0x0000168e fetch  0x00000001 , 0x000040bd 
+ 00018820  0x0000168f hjam  0x00000004 , 0x0000895f 
+ 00018821  0x00001690 imul32  0x00000002 , 0x0000003f 
+ 00018822  0x00001691 fetcht  0x00000001 , 0x000040be 
+ 00018823  0x00001692 idiv  0x00000002 
+ 00018824  0x00001693 call  0x00007d61 
+ 00018825  0x00001694 quotient  0x00000011 
+ 00018826  0x00001695 remainder  0x0000003f 
+ 00018827  0x00001696 lshift16  0x0000003f , 0x0000003f 
+ 00018828  0x00001697 lshift4  0x0000003f , 0x0000003f 
+ 00018829  0x00001698 idiv  0x00000002 
+ 00018830  0x00001699 call  0x00007d61 
+ 00018831  0x0000169a quotient  0x0000003f 
+ 00018832  0x0000169b lshift8  0x0000003f , 0x0000003f 
+ 00018833  0x0000169c lshift  0x0000003f , 0x0000003f 
+ 00018834  0x0000169d ior  0x00000011 , 0x0000003f 
+ 00018835  0x0000169e hstore  0x00000004 , 0x00008960 
+ 00018836  0x0000169f hjam  0x00000044 , 0x0000895f 
+ 00018837  0x000016a0 hjam  0x000000c4 , 0x0000895f 
+ 00018838  0x000016a1 rtn 
+ 00018839  0x000016a5 bpatch  0x0000008c , 0x00004011 
+ 00018840  0x000016a6 hjam  0x00000002 , 0x00008906 
+ 00018841  0x000016a7 setarg  0x0003d090 
+ 00018842  0x000016a8 call  0x00004a8e 
+ 00018843  0x000016a9 hjam  0x0000007f , 0x00008900 
+ 00018844  0x000016aa nop  0x00000082 
+ 00018845  0x000016ab hjam  0x00000030 , 0x00008952 
+ 00018846  0x000016ac hjam  0x000000d0 , 0x00008901 
+ 00018847  0x000016ad hjam  0x00000070 , 0x00008952 
+ 00018848  0x000016ae hjam  0x000000f0 , 0x00008952 
+ 00018849  0x000016af force  0x00000032 , 0x00000039 
+ 00018850  0x000016b1 hfetch  0x00000001 , 0x00008990 
+ 00018851  0x000016b2 bbit1  0x00000005 , 0x000049a5 
+ 00018852  0x000016b3 loop  0x000049a2 
+ 00018853  0x000016b5 store  0x00000001 , 0x000040ce 
+ 00018854  0x000016b6 hjam  0x00000000 , 0x00008901 
+ 00018855  0x000016b7 hjam  0x00000000 , 0x00008900 
+ 00018856  0x000016b8 hjam  0x00000000 , 0x00008906 
+ 00018857  0x000016b9 rtn 
+ 00018858  0x000016bc bpatch  0x0000008d , 0x00004011 
+ 00018859  0x000016bd fetch  0x00000001 , 0x000040ce 
+ 00018860  0x000016be set1  0x00000005 , 0x0000003f 
+ 00018861  0x000016bf hstore  0x00000001 , 0x00008952 
+ 00018862  0x000016c0 hfetcht  0x00000001 , 0x00008950 
+ 00018863  0x000016c1 and_into  0x00000007 , 0x00000002 
+ 00018864  0x000016c2 lshift3  0x0000003f , 0x0000003f 
+ 00018865  0x000016c3 ior  0x00000002 , 0x0000003f 
+ 00018866  0x000016c4 hstore  0x00000001 , 0x00008950 
+ 00018867  0x000016c5 hfetch  0x00000001 , 0x00008951 
+ 00018868  0x000016c6 set0  0x00000000 , 0x0000003f 
+ 00018869  0x000016c7 hstore  0x00000001 , 0x00008951 
+ 00018870  0x000016c8 hfetch  0x00000001 , 0x00008952 
+ 00018871  0x000016c9 set0  0x00000005 , 0x0000003f 
+ 00018872  0x000016ca hstore  0x00000001 , 0x00008952 
+ 00018873  0x000016cb rtn 
+ 00018874  0x000016ce bpatch  0x0000008e , 0x00004011 
+ 00018875  0x000016cf hfetch  0x00000002 , 0x00008991 
+ 00018876  0x000016d0 rshift4  0x0000003f , 0x0000003f 
+ 00018877  0x000016d1 rshift3  0x0000003f , 0x0000003f 
+ 00018878  0x000016d2 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00018879  0x000016d3 and_into  0x000000ff , 0x0000003f 
+ 00018880  0x000016d4 div  0x0000003f , 0x0000000a 
+ 00018881  0x000016d5 call  0x00007d61 
+ 00018882  0x000016d6 quotient  0x0000003f 
+ 00018883  0x000016d7 lshift4  0x0000003f , 0x0000003f 
+ 00018884  0x000016d8 remainder  0x00000002 
+ 00018885  0x000016d9 ior  0x00000002 , 0x0000003f 
+ 00018886  0x000016da store  0x00000001 , 0x00000018 
+ 00018887  0x000016db rtn 
+ 00018888  0x000016df hjam  0x00000006 , 0x00008042 
+ 00018889  0x000016e0 hfetch  0x00000001 , 0x0000896b 
+ 00018890  0x000016e1 set0  0x00000004 , 0x0000003f 
+ 00018891  0x000016e2 set0  0x00000005 , 0x0000003f 
+ 00018892  0x000016e3 hstore  0x00000001 , 0x0000896b 
+ 00018893  0x000016e4 hjam  0x00000000 , 0x00008905 
+ 00018894  0x000016e5 hjam  0x00000000 , 0x00008904 
+ 00018895  0x000016e6 hjam  0x00000070 , 0x00008904 
+ 00018896  0x000016e7 hjam  0x000000ff , 0x00008905 
+ 00018897  0x000016e8 hfetch  0x00000001 , 0x0000896b 
+ 00018898  0x000016e9 set1  0x00000004 , 0x0000003f 
+ 00018899  0x000016ea set1  0x00000005 , 0x0000003f 
+ 00018900  0x000016eb hstore  0x00000001 , 0x0000896b 
+ 00018901  0x000016ec call  0x000049e8 
+ 00018902  0x000016ed hfetch  0x00000001 , 0x00008968 
+ 00018903  0x000016ee set1  0x00000007 , 0x0000003f 
+ 00018904  0x000016ef hstore  0x00000001 , 0x00008968 
+ 00018905  0x000016f0 set0  0x00000007 , 0x0000003f 
+ 00018906  0x000016f1 hstore  0x00000001 , 0x00008968 
+ 00018907  0x000016f2 set1  0x00000007 , 0x0000003f 
+ 00018908  0x000016f3 hstore  0x00000001 , 0x00008968 
+ 00018909  0x000016f4 hjam  0x00000005 , 0x00008042 
+ 00018910  0x000016f5 nop  0x00000001 
+ 00018911  0x000016f6 hjam  0x00000004 , 0x00008042 
+ 00018912  0x000016f7 hfetch  0x00000001 , 0x0000896b 
+ 00018913  0x000016f8 and_into  0x000000cf , 0x0000003f 
+ 00018914  0x000016f9 hstore  0x00000001 , 0x0000896b 
+ 00018915  0x000016fa or_into  0x00000030 , 0x0000003f 
+ 00018916  0x000016fb hstore  0x00000001 , 0x0000896b 
+ 00018917  0x000016fc rtn 
+ 00018918  0x00001700 setarg  0x00000f0f 
+ 00018919  0x00001701 branch  0x00004bd2 
+ 00018920  0x00001704 setarg  0x0000080f 
+ 00018921  0x00001705 branch  0x00004bd2 
+ 00018922  0x0000170a bpatch  0x0000008f , 0x00004011 
+ 00018923  0x0000170b call  0x00004921 
+ 00018924  0x0000170c disable  0x00000020 
+ 00018925  0x0000170d enable  0x00000021 
+ 00018926  0x0000170e pulse  0x00000016 
+ 00018927  0x0000170f rtn 
+ 00018928  0x00001712 bpatch  0x00000090 , 0x00004012 
+ 00018929  0x00001713 fetch  0x00000001 , 0x0000004c 
+ 00018930  0x00001714 isolate1  0x00000002 , 0x0000003f 
+ 00018931  0x00001715 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00018932  0x00001716 hstore  0x00000001 , 0x00008011 
+ 00018933  0x00001717 arg  0x00000062 , 0x00000006 
+ 00018934  0x00001718 ifetch  0x00000009 , 0x00000006 
+ 00018935  0x00001719 iforce  0x00000032 
+ 00018936  0x0000171a ifetch  0x00000007 , 0x00000006 
+ 00018937  0x0000171b iforce  0x00000033 
+ 00018938  0x0000171c fetch  0x00000001 , 0x00000054 
+ 00018939  0x0000171d add  0x0000003f , 0xffffffff , 0x00000034 
+ 00018940  0x0000171e pulse  0x0000001a 
+ 00018941  0x0000171f rtn 
+ 00018942  0x00001722 deposit  0x0000001a 
+ 00018943  0x00001723 store  0x00000006 , 0x0000009a 
+ 00018944  0x00001724 disable  0x0000000d 
+ 00018945  0x00001725 nbranch  0x000048f5 , 0x00000018 
+ 00018946  0x00001726 arg  0x000003bb , 0x00000029 
+ 00018947  0x00001727 increase  0x00000001 , 0x00000028 
+ 00018948  0x00001728 and_into  0x000001fc , 0x00000028 
+ 00018949  0x00001729 rtn 
+ 00018950  0x0000172e enable  0x0000000d 
+ 00018951  0x00001730 correlate  0x0000003e , 0x00000017 
+ 00018952  0x00001731 branch  0x000049fe , 0x00000018 
+ 00018953  0x00001732 compare  0x00000002 , 0x00000028 , 0x00000002 
+ 00018954  0x00001733 nbranch  0x00004a07 , 0x00000001 
+ 00018955  0x00001734 branch  0x000049fe 
+ 00018956  0x00001737 bpatch  0x00000091 , 0x00004012 
+ 00018957  0x00001738 arg  0x00000600 , 0x0000000b 
+ 00018958  0x00001739 enable  0x0000000d 
+ 00018959  0x0000173a correlate  0x00000023 , 0x00000026 
+ 00018960  0x0000173b disable  0x0000000d 
+ 00018961  0x0000173c nbranch  0x000048f5 , 0x00000018 
+ 00018962  0x0000173d rtn 
+ 00018963  0x00001740 bpatch  0x00000092 , 0x00004012 
+ 00018964  0x00001741 enable  0x0000000d 
+ 00018965  0x00001742 correlate  0x0000003e , 0x00000003 
+ 00018966  0x00001743 disable  0x0000000d 
+ 00018967  0x00001744 nbranch  0x000048f5 , 0x00000018 
+ 00018968  0x00001745 arg  0x000003bb , 0x00000029 
+ 00018969  0x00001746 and_into  0x000001fc , 0x00000028 
+ 00018970  0x00001747 rtn 
+ 00018971  0x0000174b bpatch  0x00000093 , 0x00004012 
+ 00018972  0x0000174c iforce  0x00000011 
+ 00018973  0x0000174d deposit  0x00000021 
+ 00018974  0x0000174e iadd  0x00000002 , 0x0000000b 
+ 00018975  0x0000174f copy  0x0000000b , 0x0000003f 
+ 00018976  0x00001750 store  0x00000004 , 0x000040ca 
+ 00018977  0x00001751 deposit  0x00000011 
+ 00018978  0x00001752 rtn 
+ 00018979  0x00001756 copy  0x0000003f , 0x00000002 
+ 00018980  0x00001757 bpatch  0x00000094 , 0x00004012 
+ 00018981  0x00001758 copy  0x00000002 , 0x0000003f 
+ 00018982  0x00001759 call  0x00007d2b 
+ 00018983  0x0000175a lshift16  0x00000021 , 0x0000003f 
+ 00018984  0x0000175b set1  0x0000002c , 0x0000003f 
+ 00018985  0x0000175c call  0x00007d14 
+ 00018986  0x0000175d set0  0x0000002c , 0x0000003f 
+ 00018987  0x0000175e call  0x00004a76 
+ 00018988  0x0000175f call  0x00007d14 
+ 00018989  0x00001760 rtn  0x00000028 
+ 00018990  0x00001761 call  0x00007d1e 
+ 00018991  0x00001762 iforce  0x0000001b 
+ 00018992  0x00001763 until  0x0000003e , 0x00000003 
+ 00018993  0x00001764 rtn 
+ 00018994  0x00001768 bpatch  0x00000095 , 0x00004012 
+ 00018995  0x00001769 branch  0x00004a37 , 0x00000030 
+ 00018996  0x0000176a until  0x00000029 , 0x00000026 
+ 00018997  0x0000176c copy  0x00000028 , 0x00000002 
+ 00018998  0x0000176d branch  0x00004a3a 
+ 00018999  0x0000176f branch  0x00004a39 , 0x0000002e 
+ 00019000  0x00001770 until  0x00000023 , 0x00000026 
+ 00019001  0x00001772 copy  0x00000022 , 0x00000002 
+ 00019002  0x00001774 branch  0x00004a46 , 0x00000028 
+ 00019003  0x00001775 compare  0x00000001 , 0x00000002 , 0x00000003 
+ 00019004  0x00001776 nbranch  0x00004a32 , 0x00000001 
+ 00019005  0x00001778 bpatch  0x00000096 , 0x00004012 
+ 00019006  0x00001779 fetch  0x00000001 , 0x00000030 
+ 00019007  0x0000177a rtnbit0  0x00000000 
+ 00019008  0x0000177b fetch  0x00000004 , 0x000040ca 
+ 00019009  0x0000177c isub  0x00000002 , 0x0000003f 
+ 00019010  0x0000177d nrtn  0x00000002 
+ 00019011  0x0000177e sub  0x0000003f , 0x000000ff , 0x0000003e 
+ 00019012  0x0000177f branch  0x00004a32 , 0x00000002 
+ 00019013  0x00001780 rtn 
+ 00019014  0x00001782 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00019015  0x00001783 nbranch  0x00004a32 , 0x00000001 
+ 00019016  0x00001784 branch  0x00004a3d 
+ 00019017  0x00001787 bpatch  0x00000097 , 0x00004012 
+ 00019018  0x00001788 arg  0x00000600 , 0x0000000b 
+ 00019019  0x00001789 branch  0x00004a32 
+ 00019020  0x0000178c disable  0x00000028 
+ 00019021  0x0000178d branch  0x00004a49 
+ 00019022  0x00001790 enable  0x00000028 
+ 00019023  0x00001791 branch  0x00004a49 
+ 00019024  0x00001794 bpatch  0x00000098 , 0x00004013 
+ 00019025  0x00001795 call  0x000049f0 
+ 00019026  0x00001796 disable  0x00000021 
+ 00019027  0x00001797 enable  0x00000020 
+ 00019028  0x00001798 rtn 
+ 00019029  0x0000179d bpatch  0x00000099 , 0x00004013 
+ 00019030  0x0000179e arg  0x00000e43 , 0x0000000b 
+ 00019031  0x0000179f until  0x00000023 , 0x00000026 
+ 00019032  0x000017a0 pulse  0x00000016 
+ 00019033  0x000017a1 rtn 
+ 00019034  0x000017a4 bpatch  0x0000009a , 0x00004013 
+ 00019035  0x000017a5 arg  0x00000d00 , 0x0000000b 
+ 00019036  0x000017a6 until  0x00000023 , 0x00000026 
+ 00019037  0x000017a7 rtn 
+ 00019038  0x000017ab bpatch  0x0000009b , 0x00004013 
+ 00019039  0x000017ac arg  0x00000e43 , 0x0000000b 
+ 00019040  0x000017ad until  0x00000029 , 0x00000026 
+ 00019041  0x000017ae pulse  0x00000016 
+ 00019042  0x000017af rtn 
+ 00019043  0x000017b2 bpatch  0x0000009c , 0x00004013 
+ 00019044  0x000017b3 preload  0x00000009 
+ 00019045  0x000017b4 enable  0x0000001d 
+ 00019046  0x000017b5 set1  0x00000000 , 0x00000015 
+ 00019047  0x000017b6 inject  0x00000003 , 0x00000048 
+ 00019048  0x000017b7 disable  0x0000001d 
+ 00019049  0x000017b8 rtn 
+ 00019050  0x000017bc copy  0x00000025 , 0x00000002 
+ 00019051  0x000017bd or_into  0x00000060 , 0x00000002 
+ 00019052  0x000017be copy  0x00000002 , 0x0000000e 
+ 00019053  0x000017bf rtn 
+ 00019054  0x000017c5 bpatch  0x0000009d , 0x00004013 
+ 00019055  0x000017c6 fetch  0x00000001 , 0x00004090 
+ 00019056  0x000017c7 increase  0x00000001 , 0x0000003f 
+ 00019057  0x000017c8 bne  0x00000007 , 0x00004a73 
+ 00019058  0x000017c9 force  0x00000001 , 0x0000003f 
+ 00019059  0x000017cb store  0x00000001 , 0x00004090 
+ 00019060  0x000017cc iforce  0x00000004 
+ 00019061  0x000017cd rtn 
+ 00019062  0x000017d0 copy  0x00000019 , 0x00000002 
+ 00019063  0x000017d1 rtn  0x00000029 
+ 00019064  0x000017d2 copy  0x0000001a , 0x00000002 
+ 00019065  0x000017d3 rtn 
+ 00019066  0x000017d6 deposit  0x00000022 
+ 00019067  0x000017d7 rtn  0x00000029 
+ 00019068  0x000017d8 deposit  0x00000028 
+ 00019069  0x000017d9 rtn 
+ 00019070  0x000017dd bpatch  0x0000009e , 0x00004013 
+ 00019071  0x000017de fetcht  0x00000004 , 0x0000004d 
+ 00019072  0x000017df call  0x00004a7a 
+ 00019073  0x000017e0 isub  0x00000002 , 0x0000000b 
+ 00019074  0x000017e1 deposit  0x0000000b 
+ 00019075  0x000017e2 fetcht  0x00000002 , 0x00000051 
+ 00019076  0x000017e3 lshift  0x00000002 , 0x00000002 
+ 00019077  0x000017e4 isub  0x00000002 , 0x0000003f 
+ 00019078  0x000017e5 rtn 
+ 00019079  0x000017e8 bpatch  0x0000009f , 0x00004013 
+ 00019080  0x000017e9 call  0x00004a7a 
+ 00019081  0x000017ea store  0x00000004 , 0x0000004d 
+ 00019082  0x000017eb rtn 
+ 00019083  0x000017ee bpatch  0x000000a0 , 0x00004014 
+ 00019084  0x000017ef branch  0x00004a8b 
+ 00019085  0x000017f2 branch  0x00004a8d 
+ 00019086  0x000017f5 rtn  0x00000034 
+ 00019087  0x000017f7 rshift  0x0000003f , 0x0000003f 
+ 00019088  0x000017f8 increase  0xfffffffd , 0x0000003f 
+ 00019089  0x000017fa increase  0xffffffff , 0x0000003f 
+ 00019090  0x000017fb nbranch  0x00004a91 , 0x00000005 
+ 00019091  0x000017fc force  0x00000000 , 0x0000003f 
+ 00019092  0x000017fd rtn 
+ 00019093  0x00001803 arg  0x00000010 , 0x00000039 
+ 00019094  0x00001804 arg  0x00000000 , 0x00000005 
+ 00019095  0x00001805 call  0x00007ca1 
+ 00019096  0x00001806 arg  0x0000043b , 0x00000005 
+ 00019097  0x00001807 arg  0x0000000a , 0x00000039 
+ 00019098  0x00001808 call  0x00007ca1 
+ 00019099  0x00001809 jam  0x00000000 , 0x000009ae 
+ 00019100  0x0000180a jam  0x00000000 , 0x00000a95 
+ 00019101  0x0000180b jam  0x00000000 , 0x00000488 
+ 00019102  0x0000180c jam  0x00000000 , 0x0000017d 
+ 00019103  0x0000180d jam  0x00000000 , 0x000004cd 
+ 00019104  0x0000180e bpatch  0x000000a1 , 0x00004014 
+ 00019105  0x0000180f jam  0x00000000 , 0x0000016b 
+ 00019106  0x00001810 jam  0x00000000 , 0x0000014f 
+ 00019107  0x00001811 jam  0x00000000 , 0x0000015a 
+ 00019108  0x00001812 setarg  0x009e8b33 
+ 00019109  0x00001813 store  0x00000003 , 0x000040a7 
+ 00019110  0x00001814 setarg  0x00000153 
+ 00019111  0x00001815 store  0x00000002 , 0x00000083 
+ 00019112  0x00001816 jam  0x0000001e , 0x00000085 
+ 00019113  0x00001817 jam  0x00000001 , 0x00000086 
+ 00019114  0x00001818 jam  0x00000007 , 0x00000088 
+ 00019115  0x00001819 setarg  0x0012e904 
+ 00019116  0x0000181a store  0x00000003 , 0x00000080 
+ 00019117  0x0000181f jam  0x00000060 , 0x00000090 
+ 00019118  0x00001820 jam  0x00000005 , 0x000040d0 
+ 00019119  0x00001821 jam  0x00000002 , 0x00000014 
+ 00019120  0x00001822 fetch  0x00000001 , 0x0000462c 
+ 00019121  0x00001823 ncall  0x00007376 , 0x00000034 
+ 00019122  0x00001824 fetch  0x00000001 , 0x00004490 
+ 00019123  0x00001825 ncall  0x000073cd , 0x00000034 
+ 00019124  0x00001826 bpatch  0x000000a2 , 0x00004014 
+ 00019125  0x00001827 rtn  0x0000002b 
+ 00019126  0x00001828 setarg  0x00000000 
+ 00019127  0x00001829 store  0x00000002 , 0x000041dd 
+ 00019128  0x0000182a rshift  0x00000022 , 0x0000003f 
+ 00019129  0x0000182b store  0x00000004 , 0x00004094 
+ 00019130  0x0000182c rtn 
+ 00019131  0x00001834 fetch  0x00000004 , 0x00008124 
+ 00019132  0x00001835 isolate1  0x00000013 , 0x0000003f 
+ 00019133  0x00001836 bbit0  0x00000017 , 0x00004ac2 
+ 00019134  0x00001837 nbranch  0x00007d74 , 0x00000001 
+ 00019135  0x00001838 arg  0xffffffff , 0x00000002 
+ 00019136  0x00001839 deposit  0x00000027 
+ 00019137  0x0000183a branch  0x00004b18 , 0x00000034 
+ 00019138  0x0000183c set1  0x00000017 , 0x0000003f 
+ 00019139  0x0000183d set1  0x00000014 , 0x0000003f 
+ 00019140  0x0000183e set1  0x00000015 , 0x0000003f 
+ 00019141  0x0000183f store  0x00000004 , 0x0000804c 
+ 00019142  0x00001840 until  0x0000003e , 0x00000033 
+ 00019143  0x00001841 until  0x0000003e , 0x00000033 
+ 00019144  0x00001842 call  0x00004bdd 
+ 00019145  0x00001843 fetch  0x00000001 , 0x0000804e 
+ 00019146  0x00001844 set1  0x00000006 , 0x0000003f 
+ 00019147  0x00001845 store  0x00000001 , 0x0000804e 
+ 00019148  0x00001846 call  0x00004bdd 
+ 00019149  0x00001847 branch  0x00007d74 , 0x00000001 
+ 00019150  0x00001848 enable  0x0000002b 
+ 00019151  0x0000184a jam  0x00000001 , 0x00008043 
+ 00019152  0x0000184b fetch  0x00000008 , 0x00004191 
+ 00019153  0x0000184c iforce  0x00000000 
+ 00019154  0x0000184d fetch  0x00000006 , 0x00008130 
+ 00019155  0x0000184e store  0x00000006 , 0x000000a1 
+ 00019156  0x0000184f rtn 
+ 00019157  0x00001852 deposit  0x00000000 
+ 00019158  0x00001853 store  0x00000008 , 0x00004191 
+ 00019159  0x00001854 branch  0x00004be3 
+ 00019160  0x00001858 fetcht  0x00000001 , 0x00008042 
+ 00019161  0x00001859 and  0x00000002 , 0x000000f0 , 0x0000003f 
+ 00019162  0x0000185a nbranch  0x00004ae1 , 0x00000034 
+ 00019163  0x0000185b fetch  0x00000003 , 0x00004170 
+ 00019164  0x0000185c nrtn  0x00000034 
+ 00019165  0x0000185d and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00019166  0x0000185e or_into  0x000000c0 , 0x0000003f 
+ 00019167  0x0000185f store  0x00000001 , 0x00008042 
+ 00019168  0x00001860 jam  0x00000080 , 0x0000800a 
+ 00019169  0x00001862 fetch  0x00000001 , 0x00008108 
+ 00019170  0x00001863 rtnbit0  0x00000000 
+ 00019171  0x00001864 fetch  0x00000003 , 0x0000810a 
+ 00019172  0x00001865 store  0x00000003 , 0x00004170 
+ 00019173  0x00001866 rtn 
+ 00019174  0x0000186b bpatch  0x000000a3 , 0x00004014 
+ 00019175  0x0000186c deposit  0x0000001a 
+ 00019176  0x0000186d call  0x00007d12 
+ 00019177  0x0000186e fetcht  0x00000004 , 0x00004160 
+ 00019178  0x0000186f sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00019179  0x00001870 rtn  0x00000002 
+ 00019180  0x00001871 lshift8  0x0000003f , 0x0000003f 
+ 00019181  0x00001872 lshift4  0x0000003f , 0x0000003f 
+ 00019182  0x00001873 idiv  0x00000002 
+ 00019183  0x00001874 call  0x00007d61 
+ 00019184  0x00001875 quotient  0x0000003f 
+ 00019185  0x00001876 arg  0x000000c8 , 0x00000002 
+ 00019186  0x00001877 call  0x00007d6c 
+ 00019187  0x00001878 store  0x00000001 , 0x00000099 
+ 00019188  0x00001879 nbranch  0x00004af6 , 0x00000028 
+ 00019189  0x0000187a sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00019190  0x0000187c fetcht  0x00000003 , 0x00004170 
+ 00019191  0x0000187d iadd  0x00000002 , 0x0000003f 
+ 00019192  0x0000187e store  0x00000003 , 0x00004170 
+ 00019193  0x00001880 setarg  0x00000000 
+ 00019194  0x00001881 store  0x00000004 , 0x00004160 
+ 00019195  0x00001882 rtn 
+ 00019196  0x00001885 fetch  0x00000001 , 0x00004158 
+ 00019197  0x00001886 branch  0x00004aff 
+ 00019198  0x0000188a fetch  0x00000001 , 0x00004157 
+ 00019199  0x0000188c store  0x00000001 , 0x0000417c 
+ 00019200  0x0000188d bpatch  0x000000a4 , 0x00004014 
+ 00019201  0x0000188e call  0x00004be3 
+ 00019202  0x0000188f arg  0xffffffff , 0x00000002 
+ 00019203  0x00001890 fetch  0x00000001 , 0x00004177 
+ 00019204  0x00001891 set0  0x00000007 , 0x0000003f 
+ 00019205  0x00001892 store  0x00000001 , 0x00004177 
+ 00019206  0x00001896 bpatch  0x000000a5 , 0x00004014 
+ 00019207  0x00001897 call  0x000049e6 
+ 00019208  0x00001898 fetch  0x00000004 , 0x00004160 
+ 00019209  0x00001899 iadd  0x00000002 , 0x0000003f 
+ 00019210  0x0000189a store  0x00000004 , 0x00004160 
+ 00019211  0x0000189b call  0x00004ad5 
+ 00019212  0x0000189c fetch  0x00000003 , 0x00004179 
+ 00019213  0x0000189d store  0x00000003 , 0x0000804c 
+ 00019214  0x0000189e ifetchr  0x00000011 , 0x00000001 , 0x00000006 
+ 00019215  0x0000189f fetch  0x00000001 , 0x00008127 
+ 00019216  0x000018a0 istore  0x00000001 , 0x00000005 
+ 00019217  0x000018a1 until  0x0000003e , 0x00000033 
+ 00019218  0x000018a2 storer  0x00000019 , 0x00000006 , 0x00004164 
+ 00019219  0x000018a3 hjam  0x00000002 , 0x00008005 
+ 00019220  0x000018a4 until  0x0000003e , 0x00000033 
+ 00019221  0x000018a5 until  0x0000003e , 0x00000033 
+ 00019222  0x000018a6 storer  0x00000011 , 0x00000001 , 0x0000804e 
+ 00019223  0x000018a7 hjam  0x00000002 , 0x00008005 
+ 00019224  0x000018a9 until  0x0000003e , 0x00000033 
+ 00019225  0x000018aa until  0x0000003e , 0x00000033 
+ 00019226  0x000018ab hstoret  0x00000004 , 0x0000804c 
+ 00019227  0x000018ac hjam  0x00000010 , 0x00008005 
+ 00019228  0x000018ad until  0x0000003e , 0x0000003f 
+ 00019229  0x000018b3 bpatch  0x000000a6 , 0x00004014 
+ 00019230  0x000018b4 setarg  0x00000000 
+ 00019231  0x000018b5 copy  0x00000027 , 0x0000003e 
+ 00019232  0x000018b6 branch  0x00004b28 , 0x00000005 
+ 00019233  0x000018b7 hfetch  0x00000001 , 0x00008124 
+ 00019234  0x000018b8 hfetcht  0x00000001 , 0x00008125 
+ 00019235  0x000018b9 isub  0x00000002 , 0x0000003e 
+ 00019236  0x000018ba branch  0x00004b26 , 0x00000002 
+ 00019237  0x000018bb deposit  0x00000002 
+ 00019238  0x000018bd isub  0x00000027 , 0x0000003f 
+ 00019239  0x000018be increase  0x00000001 , 0x0000003f 
+ 00019240  0x000018c0 increase  0x00000008 , 0x0000003f 
+ 00019241  0x000018c1 until  0x0000003e , 0x00000033 
+ 00019242  0x000018c2 iadd  0x00000031 , 0x0000003f 
+ 00019243  0x000018c3 fetcht  0x00000004 , 0x0000415c 
+ 00019244  0x000018c4 iadd  0x00000002 , 0x0000003f 
+ 00019245  0x000018c5 fetcht  0x00000003 , 0x00004170 
+ 00019246  0x000018c6 imul32  0x00000002 , 0x0000003f 
+ 00019247  0x000018c7 rshift8  0x0000003f , 0x0000003f 
+ 00019248  0x000018c8 rshift4  0x0000003f , 0x0000003f 
+ 00019249  0x000018c9 increase  0x0000006e , 0x0000003f 
+ 00019250  0x000018ca arg  0x00000ea6 , 0x00000002 
+ 00019251  0x000018cb idiv  0x00000002 
+ 00019252  0x000018cc call  0x00007d61 
+ 00019253  0x000018cd quotient  0x0000003f 
+ 00019254  0x000018ce lshift16  0x0000003f , 0x0000003f 
+ 00019255  0x000018cf remainder  0x00000002 
+ 00019256  0x000018d0 ior  0x00000002 , 0x0000003f 
+ 00019257  0x000018d1 fetcht  0x00000006 , 0x00004164 
+ 00019258  0x000018d2 call  0x00007d07 
+ 00019259  0x000018d3 copy  0x00000002 , 0x00000019 
+ 00019260  0x000018d4 fetch  0x00000006 , 0x00004048 
+ 00019261  0x000018d5 call  0x00004850 
+ 00019262  0x000018d6 rtn 
+ 00019263  0x000018d9 bpatch  0x000000a7 , 0x00004014 
+ 00019264  0x000018da call  0x00004ad8 
+ 00019265  0x000018db fetch  0x00000003 , 0x00004170 
+ 00019266  0x000018dc rtn  0x00000034 
+ 00019267  0x000018dd fetch  0x00000001 , 0x00004091 
+ 00019268  0x000018de rtn  0x00000034 
+ 00019269  0x000018df fetch  0x00000001 , 0x0000462c 
+ 00019270  0x000018e0 branch  0x00004b49 , 0x00000034 
+ 00019271  0x000018e1 fetch  0x00000001 , 0x00004583 
+ 00019272  0x000018e2 rtn  0x00000034 
+ 00019273  0x000018e4 fetch  0x00000001 , 0x00004492 
+ 00019274  0x000018e5 nrtn  0x00000034 
+ 00019275  0x000018e6 call  0x00004bf4 
+ 00019276  0x000018e7 nrtn  0x00000034 
+ 00019277  0x000018e8 fetch  0x00000001 , 0x00004040 
+ 00019278  0x000018e9 compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00019279  0x000018ea nbranch  0x00004b72 , 0x00000001 
+ 00019280  0x000018eb fetch  0x00000002 , 0x00004042 
+ 00019281  0x000018ec rtn  0x00000034 
+ 00019282  0x000018ed rtn  0x0000002b 
+ 00019283  0x000018ee bpatch  0x000000a8 , 0x00004015 
+ 00019284  0x000018ef fetcht  0x00000001 , 0x000000a0 
+ 00019285  0x000018f0 fetch  0x00000002 , 0x00004042 
+ 00019286  0x000018f1 imul32  0x00000002 , 0x0000003f 
+ 00019287  0x000018f2 rshift4  0x00000002 , 0x00000002 
+ 00019288  0x000018f3 rshift2  0x00000002 , 0x00000002 
+ 00019289  0x000018f4 isub  0x00000002 , 0x0000003f 
+ 00019290  0x000018f5 fetcht  0x00000004 , 0x00004044 
+ 00019291  0x000018f6 iadd  0x00000002 , 0x0000003f 
+ 00019292  0x000018f7 fetcht  0x00000001 , 0x00004156 
+ 00019293  0x000018f8 isub  0x00000002 , 0x0000003f 
+ 00019294  0x000018f9 lshift16  0x0000003f , 0x00000030 
+ 00019295  0x000018fa bpatch  0x000000a9 , 0x00004015 
+ 00019296  0x000018fb fetch  0x00000002 , 0x0000404e 
+ 00019297  0x000018fc rshift  0x0000003f , 0x0000003f 
+ 00019298  0x000018fd call  0x00007d2b 
+ 00019299  0x000018fe deposit  0x00000030 
+ 00019300  0x000018ff call  0x00007d14 
+ 00019301  0x00001900 copy  0x0000001a , 0x00000002 
+ 00019302  0x00001901 call  0x00007d12 
+ 00019303  0x00001902 rtn  0x00000028 
+ 00019304  0x00001904 call  0x00007d24 
+ 00019305  0x00001906 bpatch  0x000000aa , 0x00004015 
+ 00019306  0x00001907 fetch  0x00000001 , 0x00004179 
+ 00019307  0x00001908 isub  0x00000002 , 0x0000003e 
+ 00019308  0x00001909 branch  0x00004af9 , 0x00000002 
+ 00019309  0x0000190a storet  0x00000004 , 0x0000415c 
+ 00019310  0x0000190b call  0x00004cc1 
+ 00019311  0x0000190c call  0x000056d5 
+ 00019312  0x0000190d fetcht  0x00000004 , 0x0000415c 
+ 00019313  0x0000190e branch  0x00004b06 
+ 00019314  0x00001911 bpatch  0x000000ab , 0x00004015 
+ 00019315  0x00001912 fetch  0x00000001 , 0x00004040 
+ 00019316  0x00001913 rtnbit1  0x00000000 
+ 00019317  0x00001914 rtnbit1  0x00000003 
+ 00019318  0x00001915 fetch  0x00000001 , 0x0000462c 
+ 00019319  0x00001916 branch  0x00004b7a , 0x00000034 
+ 00019320  0x00001917 fetch  0x00000001 , 0x00004583 
+ 00019321  0x00001918 rtn  0x00000034 
+ 00019322  0x0000191a bpatch  0x000000ac , 0x00004015 
+ 00019323  0x0000191b fetch  0x00000001 , 0x00004340 
+ 00019324  0x0000191c nbranch  0x00004b7f , 0x00000034 
+ 00019325  0x0000191d fetch  0x00000001 , 0x00004093 
+ 00019326  0x0000191e rtn  0x00000034 
+ 00019327  0x00001920 fetch  0x00000002 , 0x00004154 
+ 00019328  0x00001921 rtn  0x00000034 
+ 00019329  0x00001923 fetcht  0x00000001 , 0x00004156 
+ 00019330  0x00001924 isub  0x00000002 , 0x0000003f 
+ 00019331  0x00001925 arg  0x00001d4c , 0x00000002 
+ 00019332  0x00001926 imul32  0x00000002 , 0x0000003f 
+ 00019333  0x00001927 branch  0x00004b68 
+ 00019334  0x0000192a bpatch  0x000000ad , 0x00004015 
+ 00019335  0x0000192b disable  0x0000002b 
+ 00019336  0x0000192c fetch  0x00000001 , 0x00000030 
+ 00019337  0x0000192d rtnbit0  0x00000001 
+ 00019338  0x0000192e nbranch  0x00004ba5 , 0x0000002d 
+ 00019339  0x0000192f call  0x00004ba0 
+ 00019340  0x00001930 fetch  0x00000002 , 0x000040c1 
+ 00019341  0x00001931 store  0x00000002 , 0x0000003e 
+ 00019342  0x00001932 fetch  0x00000001 , 0x00000047 
+ 00019343  0x00001933 bbit1  0x00000003 , 0x00004bb3 
+ 00019344  0x00001934 bmark0  0x0000000d , 0x00004bb3 
+ 00019345  0x00001935 call  0x0000564e 
+ 00019346  0x00001936 nbranch  0x00004bb3 , 0x00000034 
+ 00019347  0x00001937 fetch  0x00000001 , 0x0000452e 
+ 00019348  0x00001938 bbit1  0x00000001 , 0x00004bb3 
+ 00019349  0x0000193a jam  0x00000000 , 0x000000a0 
+ 00019350  0x0000193b bmark0  0x0000000d , 0x00004bb3 
+ 00019351  0x0000193c fetch  0x00000001 , 0x00004175 
+ 00019352  0x0000193d branch  0x00004bb7 , 0x00000034 
+ 00019353  0x0000193e increase  0xffffffff , 0x0000003f 
+ 00019354  0x0000193f store  0x00000001 , 0x00004175 
+ 00019355  0x00001940 rtn 
+ 00019356  0x00001944 arg  0x00000001 , 0x00000007 
+ 00019357  0x00001945 branch  0x000064af 
+ 00019358  0x00001948 arg  0x00000001 , 0x00000007 
+ 00019359  0x00001949 branch  0x000064b3 
+ 00019360  0x0000194e jam  0x00000000 , 0x0000415a 
+ 00019361  0x0000194f fetch  0x00000003 , 0x0000416a 
+ 00019362  0x00001950 increase  0x00000001 , 0x0000003f 
+ 00019363  0x00001951 store  0x00000003 , 0x0000416a 
+ 00019364  0x00001952 rtn 
+ 00019365  0x00001955 bpatch  0x000000ae , 0x00004015 
+ 00019366  0x00001956 fetcht  0x00000002 , 0x000040c1 
+ 00019367  0x00001957 rshift  0x00000002 , 0x00000002 
+ 00019368  0x00001958 fetch  0x00000002 , 0x0000003e 
+ 00019369  0x00001959 iadd  0x00000002 , 0x0000003f 
+ 00019370  0x0000195a store  0x00000002 , 0x0000003e 
+ 00019371  0x0000195c jam  0x00000000 , 0x000000a0 
+ 00019372  0x0000195d fetch  0x00000003 , 0x0000416d 
+ 00019373  0x0000195e increase  0x00000001 , 0x0000003f 
+ 00019374  0x0000195f store  0x00000003 , 0x0000416d 
+ 00019375  0x00001960 fetch  0x00000001 , 0x0000415a 
+ 00019376  0x00001961 increase  0x00000001 , 0x0000003f 
+ 00019377  0x00001962 store  0x00000001 , 0x0000415a 
+ 00019378  0x00001963 rtn 
+ 00019379  0x00001966 jam  0x00000000 , 0x000000a0 
+ 00019380  0x00001967 fetch  0x00000001 , 0x00004174 
+ 00019381  0x00001968 store  0x00000001 , 0x00004175 
+ 00019382  0x00001969 rtn 
+ 00019383  0x0000196c fetcht  0x00000001 , 0x00004173 
+ 00019384  0x0000196d storet  0x00000001 , 0x000000a0 
+ 00019385  0x0000196e rtn 
+ 00019386  0x00001971 bpatch  0x000000af , 0x00004015 
+ 00019387  0x00001972 fetch  0x00000001 , 0x00004179 
+ 00019388  0x00001973 nrtn  0x00000034 
+ 00019389  0x00001974 hjam  0x00000006 , 0x00008042 
+ 00019390  0x00001975 setarg  0x00000f0c 
+ 00019391  0x00001976 call  0x00004bd2 
+ 00019392  0x00001977 setarg  0x00030d40 
+ 00019393  0x00001978 call  0x00004a8e 
+ 00019394  0x00001979 until  0x0000003e , 0x00000033 
+ 00019395  0x0000197a copy  0x00000031 , 0x00000030 
+ 00019396  0x0000197b call  0x000049e6 
+ 00019397  0x0000197c hjam  0x00000004 , 0x00008042 
+ 00019398  0x0000197d nop  0x0000000a 
+ 00019399  0x0000197e until  0x0000003e , 0x00000033 
+ 00019400  0x0000197f deposit  0x00000031 
+ 00019401  0x00001980 isub  0x00000030 , 0x0000003f 
+ 00019402  0x00001981 increase  0x00000030 , 0x0000003f 
+ 00019403  0x00001982 arg  0x000000ff , 0x00000002 
+ 00019404  0x00001983 call  0x00007d6c 
+ 00019405  0x00001984 store  0x00000001 , 0x00004179 
+ 00019406  0x00001985 nop  0x00007530 
+ 00019407  0x00001986 nop  0x00007530 
+ 00019408  0x00001987 nop  0x00007530 
+ 00019409  0x00001988 rtn 
+ 00019410  0x0000198e arg  0x00000fff , 0x00000005 
+ 00019411  0x0000198f iand  0x00000005 , 0x00000005 
+ 00019412  0x00001990 fetch  0x00000001 , 0x00004176 
+ 00019413  0x00001991 and_into  0x000000f0 , 0x0000003f 
+ 00019414  0x00001992 lshift8  0x0000003f , 0x0000003f 
+ 00019415  0x00001993 ior  0x00000005 , 0x0000003f 
+ 00019416  0x00001994 hstore  0x00000002 , 0x0000804c 
+ 00019417  0x00001995 ifetch  0x00000002 , 0x00000006 
+ 00019418  0x00001996 istore  0x00000002 , 0x00000005 
+ 00019419  0x00001999 setarg  0x00000001 
+ 00019420  0x0000199a branch  0x00004bde 
+ 00019421  0x0000199d setarg  0x00000002 
+ 00019422  0x0000199f hstore  0x00000001 , 0x00008005 
+ 00019423  0x000019a0 until  0x0000003e , 0x00000033 
+ 00019424  0x000019a1 until  0x0000003e , 0x00000033 
+ 00019425  0x000019a2 until  0x0000003e , 0x00000033 
+ 00019426  0x000019a3 rtn 
+ 00019427  0x000019a7 bpatch  0x000000b0 , 0x00004016 
+ 00019428  0x000019a8 fetch  0x00000004 , 0x000000a1 
+ 00019429  0x000019a9 store  0x00000004 , 0x0000804c 
+ 00019430  0x000019aa setarg  0x00000004 
+ 00019431  0x000019ab call  0x00004bde 
+ 00019432  0x000019ac ifetch  0x00000002 , 0x00000006 
+ 00019433  0x000019ad store  0x00000004 , 0x0000804c 
+ 00019434  0x000019ae setarg  0x00000008 
+ 00019435  0x000019af branch  0x00004bde 
+ 00019436  0x000019b2 fetch  0x00000002 , 0x00004152 
+ 00019437  0x000019b3 qset1  0x0000003f 
+ 00019438  0x000019b4 store  0x00000002 , 0x00004152 
+ 00019439  0x000019b5 rtn 
+ 00019440  0x000019b8 fetch  0x00000002 , 0x00004152 
+ 00019441  0x000019b9 qset0  0x0000003f 
+ 00019442  0x000019ba store  0x00000002 , 0x00004152 
+ 00019443  0x000019bb rtn 
+ 00019444  0x000019c0 bpatch  0x000000b1 , 0x00004016 
+ 00019445  0x000019c1 call  0x00004cbf 
+ 00019446  0x000019c2 fetch  0x00000002 , 0x00004152 
+ 00019447  0x000019c3 copy  0x0000003f , 0x00000011 
+ 00019448  0x000019c4 fetch  0x00000001 , 0x0000004c 
+ 00019449  0x000019c5 isolate1  0x00000006 , 0x0000003f 
+ 00019450  0x000019c6 setflag  0x00000001 , 0x0000000b , 0x00000011 
+ 00019451  0x000019c7 fetch  0x00000001 , 0x00000078 
+ 00019452  0x000019c8 fetcht  0x00000001 , 0x0000007c 
+ 00019453  0x000019c9 iadd  0x00000002 , 0x0000003f 
+ 00019454  0x000019ca fetcht  0x00000001 , 0x00000048 
+ 00019455  0x000019cb iadd  0x00000002 , 0x0000003f 
+ 00019456  0x000019cc nsetflag  0x00000034 , 0x0000000a , 0x00000011 
+ 00019457  0x000019cd fetch  0x00000001 , 0x000044d1 
+ 00019458  0x000019ce nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00019459  0x000019cf fetch  0x00000002 , 0x00000259 
+ 00019460  0x000019d0 fetcht  0x00000002 , 0x0000025b 
+ 00019461  0x000019d1 iadd  0x00000002 , 0x0000003f 
+ 00019462  0x000019d2 nsetflag  0x00000034 , 0x0000000d , 0x00000011 
+ 00019463  0x000019d3 fetch  0x00000008 , 0x0000463a 
+ 00019464  0x000019d4 nsetflag  0x00000034 , 0x0000000f , 0x00000011 
+ 00019465  0x000019d5 fetch  0x00000008 , 0x00004642 
+ 00019466  0x000019d6 nsetflag  0x00000034 , 0x0000000e , 0x00000011 
+ 00019467  0x000019d7 fetch  0x00000002 , 0x00004ff4 
+ 00019468  0x000019d8 fetcht  0x00000002 , 0x00004ff6 
+ 00019469  0x000019d9 isub  0x00000002 , 0x0000003e 
+ 00019470  0x000019da nsetflag  0x00000005 , 0x00000005 , 0x00000011 
+ 00019471  0x000019db fetch  0x00000002 , 0x00004ffc 
+ 00019472  0x000019dc fetcht  0x00000002 , 0x00004ffe 
+ 00019473  0x000019dd isub  0x00000002 , 0x0000003e 
+ 00019474  0x000019de nsetflag  0x00000005 , 0x00000006 , 0x00000011 
+ 00019475  0x000019df fetch  0x00000001 , 0x00008043 
+ 00019476  0x000019e0 isolate1  0x00000007 , 0x0000003f 
+ 00019477  0x000019e1 setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00019478  0x000019e2 fetch  0x00000001 , 0x000041cf 
+ 00019479  0x000019e3 nsetflag  0x00000034 , 0x00000008 , 0x00000011 
+ 00019480  0x000019e4 copy  0x00000011 , 0x0000003f 
+ 00019481  0x000019e5 store  0x00000002 , 0x00004152 
+ 00019482  0x000019e6 rtn 
+ 00019483  0x000019e9 hfetch  0x00000004 , 0x0000811c 
+ 00019484  0x000019ea set0  0x0000001b , 0x0000003f 
+ 00019485  0x000019eb hstore  0x00000004 , 0x0000804c 
+ 00019486  0x000019ec call  0x00004bdb 
+ 00019487  0x000019ed branch  0x00004a8b 
+ 00019488  0x000019f0 hfetch  0x00000004 , 0x00008124 
+ 00019489  0x000019f1 set0  0x00000014 , 0x0000003f 
+ 00019490  0x000019f2 hstore  0x00000004 , 0x0000804c 
+ 00019491  0x000019f3 branch  0x00004bdd 
+ 00019492  0x000019f6 fetch  0x00000002 , 0x00004150 
+ 00019493  0x000019f7 bbit1  0x00000000 , 0x00004a8b 
+ 00019494  0x000019f8 rtn 
+ 00019495  0x000019fa fetch  0x00000002 , 0x00004150 
+ 00019496  0x000019fb bbit1  0x00000001 , 0x00004a8b 
+ 00019497  0x000019fc rtn 
+ 00019498  0x000019fe fetch  0x00000002 , 0x00004150 
+ 00019499  0x000019ff bbit1  0x00000002 , 0x00004a8b 
+ 00019500  0x00001a00 rtn 
+ 00019501  0x00001a03 setarg  0x00004c35 
+ 00019502  0x00001a04 store  0x00000002 , 0x000041f2 
+ 00019503  0x00001a05 setarg  0x00004c64 
+ 00019504  0x00001a06 store  0x00000002 , 0x000041f6 
+ 00019505  0x00001a07 setarg  0x00004c35 
+ 00019506  0x00001a08 store  0x00000002 , 0x000041f4 
+ 00019507  0x00001a09 rtn  0x0000002b 
+ 00019508  0x00001a0a rtn 
+ 00019509  0x00001a0d fetch  0x00000001 , 0x00000030 
+ 00019510  0x00001a0e bbit0  0x00000001 , 0x00004c3b 
+ 00019511  0x00001a0f set1  0x0000000d , 0x00000000 
+ 00019512  0x00001a10 fetch  0x00000006 , 0x0000416a 
+ 00019513  0x00001a11 store  0x00000006 , 0x000044e8 
+ 00019514  0x00001a12 rtn 
+ 00019515  0x00001a15 fetch  0x00000001 , 0x0000014f 
+ 00019516  0x00001a16 rtnbit0  0x00000002 
+ 00019517  0x00001a17 fetch  0x00000001 , 0x0000015a 
+ 00019518  0x00001a18 increase  0x00000001 , 0x0000003f 
+ 00019519  0x00001a19 store  0x00000001 , 0x0000015a 
+ 00019520  0x00001a1a rtnne  0x00000005 
+ 00019521  0x00001a1b jam  0x00000000 , 0x0000015a 
+ 00019522  0x00001a1c fetch  0x00000001 , 0x0000014f 
+ 00019523  0x00001a1d set0  0x00000002 , 0x0000003f 
+ 00019524  0x00001a1e store  0x00000001 , 0x0000014f 
+ 00019525  0x00001a1f bbit1  0x00000003 , 0x00004c5c 
+ 00019526  0x00001a20 isolate1  0x00000007 , 0x0000003f 
+ 00019527  0x00001a21 call  0x00007d88 , 0x00000001 
+ 00019528  0x00001a22 ncall  0x00007d8c , 0x00000001 
+ 00019529  0x00001a23 fetch  0x00000001 , 0x00000156 
+ 00019530  0x00001a24 compare  0x00000020 , 0x0000003f , 0x00000030 
+ 00019531  0x00001a25 fetch  0x00000001 , 0x0000004c 
+ 00019532  0x00001a26 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00019533  0x00001a27 store  0x00000001 , 0x0000004c 
+ 00019534  0x00001a28 fetch  0x00000001 , 0x0000014f 
+ 00019535  0x00001a29 fetcht  0x00000001 , 0x0000017d 
+ 00019536  0x00001a2a isolate1  0x00000004 , 0x0000003f 
+ 00019537  0x00001a2b setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00019538  0x00001a2c isolate1  0x00000006 , 0x0000003f 
+ 00019539  0x00001a2d setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00019540  0x00001a2e setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00019541  0x00001a2f storet  0x00000001 , 0x0000017d 
+ 00019542  0x00001a30 fetch  0x00000001 , 0x00000152 
+ 00019543  0x00001a31 store  0x00000001 , 0x000004c7 
+ 00019544  0x00001a32 fetch  0x00000001 , 0x00000153 
+ 00019545  0x00001a33 store  0x00000001 , 0x000004c8 
+ 00019546  0x00001a34 set1  0x00000011 , 0x00000000 
+ 00019547  0x00001a35 rtn 
+ 00019548  0x00001a39 set0  0x00000011 , 0x00000000 
+ 00019549  0x00001a3a jam  0x00000000 , 0x0000014f 
+ 00019550  0x00001a3b fetch  0x00000001 , 0x00000159 
+ 00019551  0x00001a3c store  0x00000001 , 0x0000017d 
+ 00019552  0x00001a3d hfetch  0x00000001 , 0x00008043 
+ 00019553  0x00001a3e and_into  0x000000fb , 0x0000003f 
+ 00019554  0x00001a3f hstore  0x00000001 , 0x00008043 
+ 00019555  0x00001a40 rtn 
+ 00019556  0x00001a44 deposit  0x00000013 
+ 00019557  0x00001a45 rtnne  0x00000010 
+ 00019558  0x00001a49 rtn 
+ 00019559  0x00001a4a beq  0x00000001 , 0x00004c66 
+ 00019560  0x00001a4b branch  0x00004afe 
+ 00019561  0x00001a4f force  0x00000002 , 0x00000002 
+ 00019562  0x00001a50 increase  0xfffffffe , 0x00000002 
+ 00019563  0x00001a51 call  0x00004915 
+ 00019564  0x00001a52 call  0x00004930 
+ 00019565  0x00001a53 disable  0x00000007 
+ 00019566  0x00001a54 enable  0x0000001d 
+ 00019567  0x00001a55 set1  0x00000000 , 0x00000015 
+ 00019568  0x00001a56 call  0x00004a50 
+ 00019569  0x00001a58 fetch  0x00000001 , 0x00000000 
+ 00019570  0x00001a59 inject  0x00000003 , 0x00000008 
+ 00019571  0x00001a5a branch  0x00004c71 
+ 00019572  0x00001a5c fetch  0x00000001 , 0x00008108 
+ 00019573  0x00001a5d bbit0  0x00000002 , 0x00004c74 
+ 00019574  0x00001a5e rtn 
+ 00019575  0x00001a61 bpatch  0x000000b2 , 0x00004016 
+ 00019576  0x00001a62 fetch  0x00000001 , 0x00004092 
+ 00019577  0x00001a63 branch  0x00004c77 , 0x00000034 
+ 00019578  0x00001a64 beq  0x0000000a , 0x00004d95 
+ 00019579  0x00001a65 rtn 
+ 00019580  0x00001a68 bpatch  0x000000b3 , 0x00004016 
+ 00019581  0x00001a69 jam  0x00000000 , 0x0000014f 
+ 00019582  0x00001a6a jam  0x00000000 , 0x0000017d 
+ 00019583  0x00001a6b jam  0x00000000 , 0x0000017e 
+ 00019584  0x00001a6c setarg  0x00000000 
+ 00019585  0x00001a6d store  0x00000005 , 0x000009aa 
+ 00019586  0x00001a6e fetch  0x00000001 , 0x00004092 
+ 00019587  0x00001a6f branch  0x00004c7c , 0x00000034 
+ 00019588  0x00001a70 beq  0x0000000a , 0x00004dba 
+ 00019589  0x00001a72 rtn 
+ 00019590  0x00001a76 call  0x00007b84 
+ 00019591  0x00001a77 call  0x00007bc1 
+ 00019592  0x00001a78 call  0x00004c8f 
+ 00019593  0x00001a79 fetch  0x00000002 , 0x000041f4 
+ 00019594  0x00001a7a branch  0x00007d77 
+ 00019595  0x00001a7d fetch  0x00000002 , 0x000041f2 
+ 00019596  0x00001a7e branch  0x00007d77 
+ 00019597  0x00001a81 fetch  0x00000002 , 0x000041f0 
+ 00019598  0x00001a82 branch  0x00007d77 
+ 00019599  0x00001a85 bpatch  0x000000b4 , 0x00004016 
+ 00019600  0x00001a87 arg  0x0000463a , 0x00000011 
+ 00019601  0x00001a88 call  0x00007d9c 
+ 00019602  0x00001a89 rtn  0x00000034 
+ 00019603  0x00001a8b copy  0x0000003f , 0x00000013 
+ 00019604  0x00001a8c call  0x00004c98 
+ 00019605  0x00001a8d branch  0x00004cbd 
+ 00019606  0x00001a90 arg  0x00000000 , 0x00000013 
+ 00019607  0x00001a91 rtn 
+ 00019608  0x00001a97 beq  0x00000001 , 0x00004caa 
+ 00019609  0x00001a98 beq  0x00000010 , 0x00004cf0 
+ 00019610  0x00001a99 beq  0x00000005 , 0x00004cce 
+ 00019611  0x00001a9a beq  0x00000012 , 0x00004cd5 
+ 00019612  0x00001a9b beq  0x00000006 , 0x00004cec 
+ 00019613  0x00001a9c beq  0x00000004 , 0x00004d1f 
+ 00019614  0x00001a9d beq  0x00000002 , 0x00004d24 
+ 00019615  0x00001a9e beq  0x00000013 , 0x00004d1f 
+ 00019616  0x00001a9f beq  0x00000014 , 0x00004ce4 
+ 00019617  0x00001aa0 beq  0x00000015 , 0x00004ce8 
+ 00019618  0x00001aa1 beq  0x00000003 , 0x00004cc7 
+ 00019619  0x00001aa2 beq  0x0000000b , 0x00004cd9 
+ 00019620  0x00001aa3 beq  0x0000000c , 0x00004ce0 
+ 00019621  0x00001aa5 beq  0x00000016 , 0x00004cf4 
+ 00019622  0x00001aa6 beq  0x00000018 , 0x00004cc3 
+ 00019623  0x00001aa7 beq  0x0000002a , 0x00004cb3 
+ 00019624  0x00001aa8 beq  0x0000002b , 0x00004cb1 
+ 00019625  0x00001aa9 rtn 
+ 00019626  0x00001aad fetch  0x00000002 , 0x00004652 
+ 00019627  0x00001aae set1  0x00000000 , 0x0000003f 
+ 00019628  0x00001aaf store  0x00000002 , 0x00004652 
+ 00019629  0x00001ab0 fetch  0x00000002 , 0x00004209 
+ 00019630  0x00001ab1 set0  0x00000000 , 0x0000003f 
+ 00019631  0x00001ab2 store  0x00000002 , 0x00004209 
+ 00019632  0x00001ab3 rtn 
+ 00019633  0x00001ab6 jam  0x00000000 , 0x00000227 
+ 00019634  0x00001ab7 rtn 
+ 00019635  0x00001aba fetch  0x00000001 , 0x00000227 
+ 00019636  0x00001abb increase  0x00000001 , 0x0000003f 
+ 00019637  0x00001abc store  0x00000001 , 0x00000227 
+ 00019638  0x00001abd sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019639  0x00001abe branch  0x00004d5a , 0x00000002 
+ 00019640  0x00001abf jam  0x00000000 , 0x00000227 
+ 00019641  0x00001ac0 fetch  0x00000002 , 0x00004209 
+ 00019642  0x00001ac1 set1  0x00000009 , 0x0000003f 
+ 00019643  0x00001ac2 store  0x00000002 , 0x00004209 
+ 00019644  0x00001ac3 branch  0x00004d64 
+ 00019645  0x00001ac6 fetch  0x00000002 , 0x000041f6 
+ 00019646  0x00001ac7 branch  0x00007d77 
+ 00019647  0x00001aca fetch  0x00000002 , 0x000041ea 
+ 00019648  0x00001acb branch  0x00007d77 
+ 00019649  0x00001ace fetch  0x00000002 , 0x000041ee 
+ 00019650  0x00001acf branch  0x00007d77 
+ 00019651  0x00001ad2 fetch  0x00000002 , 0x00004209 
+ 00019652  0x00001ad3 set1  0x00000001 , 0x0000003f 
+ 00019653  0x00001ad4 store  0x00000002 , 0x00004209 
+ 00019654  0x00001ad5 branch  0x00004d8d 
+ 00019655  0x00001ad8 fetch  0x00000002 , 0x00004652 
+ 00019656  0x00001ad9 set1  0x00000007 , 0x0000003f 
+ 00019657  0x00001ada store  0x00000002 , 0x00004652 
+ 00019658  0x00001adb fetch  0x00000002 , 0x00004209 
+ 00019659  0x00001adc set1  0x00000002 , 0x0000003f 
+ 00019660  0x00001add store  0x00000002 , 0x00004209 
+ 00019661  0x00001ade rtn 
+ 00019662  0x00001ae1 fetch  0x00000002 , 0x00004652 
+ 00019663  0x00001ae2 set1  0x00000001 , 0x0000003f 
+ 00019664  0x00001ae3 store  0x00000002 , 0x00004652 
+ 00019665  0x00001ae4 fetch  0x00000002 , 0x00004209 
+ 00019666  0x00001ae5 set1  0x00000004 , 0x0000003f 
+ 00019667  0x00001ae6 store  0x00000002 , 0x00004209 
+ 00019668  0x00001ae7 rtn 
+ 00019669  0x00001aea fetch  0x00000002 , 0x00004652 
+ 00019670  0x00001aeb set1  0x00000003 , 0x0000003f 
+ 00019671  0x00001aec store  0x00000002 , 0x00004652 
+ 00019672  0x00001aed rtn 
+ 00019673  0x00001af0 fetch  0x00000002 , 0x00004652 
+ 00019674  0x00001af1 set1  0x00000005 , 0x0000003f 
+ 00019675  0x00001af2 store  0x00000002 , 0x00004652 
+ 00019676  0x00001af3 fetch  0x00000002 , 0x00004209 
+ 00019677  0x00001af4 set1  0x00000003 , 0x0000003f 
+ 00019678  0x00001af5 store  0x00000002 , 0x00004209 
+ 00019679  0x00001af6 rtn 
+ 00019680  0x00001af9 fetch  0x00000002 , 0x00004652 
+ 00019681  0x00001afa set0  0x00000005 , 0x0000003f 
+ 00019682  0x00001afb store  0x00000002 , 0x00004652 
+ 00019683  0x00001afc rtn 
+ 00019684  0x00001aff fetch  0x00000002 , 0x00004652 
+ 00019685  0x00001b00 set1  0x00000009 , 0x0000003f 
+ 00019686  0x00001b01 store  0x00000002 , 0x00004652 
+ 00019687  0x00001b02 rtn 
+ 00019688  0x00001b05 fetch  0x00000002 , 0x00004652 
+ 00019689  0x00001b06 set0  0x00000009 , 0x0000003f 
+ 00019690  0x00001b07 store  0x00000002 , 0x00004652 
+ 00019691  0x00001b08 branch  0x00004d93 
+ 00019692  0x00001b0b fetch  0x00000002 , 0x00004652 
+ 00019693  0x00001b0c set1  0x00000002 , 0x0000003f 
+ 00019694  0x00001b0d store  0x00000002 , 0x00004652 
+ 00019695  0x00001b0e rtn 
+ 00019696  0x00001b11 fetch  0x00000002 , 0x00004209 
+ 00019697  0x00001b12 set1  0x00000000 , 0x0000003f 
+ 00019698  0x00001b13 store  0x00000002 , 0x00004209 
+ 00019699  0x00001b14 rtn 
+ 00019700  0x00001b17 fetch  0x00000002 , 0x00004209 
+ 00019701  0x00001b18 set1  0x00000008 , 0x0000003f 
+ 00019702  0x00001b19 store  0x00000002 , 0x00004209 
+ 00019703  0x00001b1a branch  0x00004d64 
+ 00019704  0x00001b1e bpatch  0x000000b5 , 0x00004016 
+ 00019705  0x00001b1f store  0x00000001 , 0x00000228 
+ 00019706  0x00001b21 fetch  0x00000001 , 0x00000228 
+ 00019707  0x00001b22 rtn  0x00000034 
+ 00019708  0x00001b23 increase  0xffffffff , 0x0000003f 
+ 00019709  0x00001b24 store  0x00000001 , 0x00000228 
+ 00019710  0x00001b25 call  0x00004d51 
+ 00019711  0x00001b26 call  0x00004d12 
+ 00019712  0x00001b27 call  0x00004d18 
+ 00019713  0x00001b28 fetch  0x00000002 , 0x000041fe 
+ 00019714  0x00001b29 call  0x00007d77 
+ 00019715  0x00001b2a branch  0x00004cfa 
+ 00019716  0x00001b30 ifetch  0x00000001 , 0x00000013 
+ 00019717  0x00001b31 rtn  0x00000034 
+ 00019718  0x00001b32 pincrease  0xffffffff 
+ 00019719  0x00001b33 istore  0x00000001 , 0x00000013 
+ 00019720  0x00001b34 nrtn  0x00000034 
+ 00019721  0x00001b35 copy  0x00000012 , 0x0000003f 
+ 00019722  0x00001b36 branch  0x00007d77 
+ 00019723  0x00001b3b ifetch  0x00000002 , 0x00000013 
+ 00019724  0x00001b3c rtn  0x00000034 
+ 00019725  0x00001b3d pincrease  0xffffffff 
+ 00019726  0x00001b3e istore  0x00000002 , 0x00000013 
+ 00019727  0x00001b3f nrtn  0x00000034 
+ 00019728  0x00001b40 copy  0x00000012 , 0x0000003f 
+ 00019729  0x00001b41 branch  0x00007d77 
+ 00019730  0x00001b44 arg  0x00004204 , 0x00000013 
+ 00019731  0x00001b45 arg  0x00004d15 , 0x00000012 
+ 00019732  0x00001b46 branch  0x00004d04 
+ 00019733  0x00001b49 call  0x0000424e 
+ 00019734  0x00001b4a branch  0x00004d89 , 0x00000005 
+ 00019735  0x00001b4b rtn 
+ 00019736  0x00001b4f arg  0x0000464e , 0x00000013 
+ 00019737  0x00001b50 arg  0x00004d1b , 0x00000012 
+ 00019738  0x00001b51 branch  0x00004d0b 
+ 00019739  0x00001b54 call  0x00004d6b 
+ 00019740  0x00001b55 call  0x00004d83 
+ 00019741  0x00001b56 fetch  0x00000002 , 0x000041f8 
+ 00019742  0x00001b57 branch  0x00007d77 
+ 00019743  0x00001b5b call  0x00004d37 
+ 00019744  0x00001b5d fetch  0x00000002 , 0x00004652 
+ 00019745  0x00001b5e set0  0x00000007 , 0x0000003f 
+ 00019746  0x00001b5f store  0x00000002 , 0x00004652 
+ 00019747  0x00001b60 rtn 
+ 00019748  0x00001b63 jam  0x00000000 , 0x00004204 
+ 00019749  0x00001b64 fetch  0x00000002 , 0x00004652 
+ 00019750  0x00001b65 bbit1  0x00000007 , 0x00004d29 
+ 00019751  0x00001b66 isolate0  0x00000001 , 0x0000003f 
+ 00019752  0x00001b67 call  0x00004c96 , 0x00000001 
+ 00019753  0x00001b69 bpatch  0x000000b6 , 0x00004016 
+ 00019754  0x00001b6a fetch  0x00000002 , 0x00004652 
+ 00019755  0x00001b6b set0  0x00000000 , 0x0000003f 
+ 00019756  0x00001b6c set0  0x00000001 , 0x0000003f 
+ 00019757  0x00001b6d set0  0x00000002 , 0x0000003f 
+ 00019758  0x00001b6e set0  0x00000003 , 0x0000003f 
+ 00019759  0x00001b6f set0  0x00000007 , 0x0000003f 
+ 00019760  0x00001b70 store  0x00000002 , 0x00004652 
+ 00019761  0x00001b71 branch  0x00004d93 
+ 00019762  0x00001b74 call  0x00004d34 
+ 00019763  0x00001b75 branch  0x00004d85 
+ 00019764  0x00001b79 setarg  0x00000000 
+ 00019765  0x00001b7a store  0x00000002 , 0x00004207 
+ 00019766  0x00001b7b rtn 
+ 00019767  0x00001b7d setarg  0x00000000 
+ 00019768  0x00001b7e store  0x00000002 , 0x00004209 
+ 00019769  0x00001b7f rtn 
+ 00019770  0x00001b82 fetch  0x00000002 , 0x00004209 
+ 00019771  0x00001b83 store  0x00000002 , 0x00004207 
+ 00019772  0x00001b84 setarg  0x00000000 
+ 00019773  0x00001b85 store  0x00000002 , 0x00004209 
+ 00019774  0x00001b86 rtn 
+ 00019775  0x00001b89 fetch  0x00000002 , 0x00004209 
+ 00019776  0x00001b8a set1  0x00000007 , 0x0000003f 
+ 00019777  0x00001b8b store  0x00000002 , 0x00004207 
+ 00019778  0x00001b8c setarg  0x00000000 
+ 00019779  0x00001b8d store  0x00000002 , 0x00004209 
+ 00019780  0x00001b8e rtn 
+ 00019781  0x00001b97 fetch  0x00000001 , 0x00004652 
+ 00019782  0x00001b98 isolate1  0x00000005 , 0x0000003f 
+ 00019783  0x00001b99 rtn 
+ 00019784  0x00001ba3 fetch  0x00000001 , 0x0000452c 
+ 00019785  0x00001ba4 store  0x00000001 , 0x00004204 
+ 00019786  0x00001ba5 rtn 
+ 00019787  0x00001ba8 arg  0x00000009 , 0x00000007 
+ 00019788  0x00001ba9 branch  0x00004bec 
+ 00019789  0x00001bac arg  0x00000009 , 0x00000007 
+ 00019790  0x00001bad branch  0x00004bf0 
+ 00019791  0x00001bb0 jam  0x00000005 , 0x00004205 
+ 00019792  0x00001bb1 branch  0x00004d4b 
+ 00019793  0x00001bb4 arg  0x00004205 , 0x00000013 
+ 00019794  0x00001bb5 arg  0x00004d4d , 0x00000012 
+ 00019795  0x00001bb6 branch  0x00004d04 
+ 00019796  0x00001bb9 jam  0x00000001 , 0x00004335 
+ 00019797  0x00001bba rtn 
+ 00019798  0x00001bbd jam  0x00000000 , 0x00004335 
+ 00019799  0x00001bbe rtn 
+ 00019800  0x00001bc1 jam  0x0000000a , 0x00000a95 
+ 00019801  0x00001bc2 branch  0x00007bb4 
+ 00019802  0x00001bc5 jam  0x0000001d , 0x00000a95 
+ 00019803  0x00001bc6 branch  0x00007bb4 
+ 00019804  0x00001bc9 bpatch  0x000000b7 , 0x00004016 
+ 00019805  0x00001bca fetch  0x00000001 , 0x00004206 
+ 00019806  0x00001bcb store  0x00000001 , 0x0000016b 
+ 00019807  0x00001bcc jam  0x00000001 , 0x00000226 
+ 00019808  0x00001bcd jam  0x00000003 , 0x00000a95 
+ 00019809  0x00001bce branch  0x00007bb4 
+ 00019810  0x00001bd1 jam  0x0000001e , 0x00000a95 
+ 00019811  0x00001bd2 branch  0x00007bb4 
+ 00019812  0x00001bd5 jam  0x00000004 , 0x00000a95 
+ 00019813  0x00001bd6 branch  0x00007bb4 
+ 00019814  0x00001bd9 fetch  0x00000002 , 0x00004655 
+ 00019815  0x00001bda store  0x00000002 , 0x0000464e 
+ 00019816  0x00001bdc call  0x00004d7f 
+ 00019817  0x00001bde jam  0x00000001 , 0x00000a95 
+ 00019818  0x00001bdf branch  0x00007bb4 
+ 00019819  0x00001be2 setarg  0x00000000 
+ 00019820  0x00001be3 store  0x00000002 , 0x0000464e 
+ 00019821  0x00001be4 jam  0x00000002 , 0x00000a95 
+ 00019822  0x00001be5 branch  0x00007bb4 
+ 00019823  0x00001be8 jam  0x0000000f , 0x00000a95 
+ 00019824  0x00001be9 branch  0x00007bb4 
+ 00019825  0x00001bec jam  0x00000010 , 0x00000a95 
+ 00019826  0x00001bed branch  0x00007bb4 
+ 00019827  0x00001bf0 jam  0x0000000e , 0x00000a95 
+ 00019828  0x00001bf1 branch  0x00007bb4 
+ 00019829  0x00001bf4 jam  0x0000000d , 0x00000a95 
+ 00019830  0x00001bf5 branch  0x00007bb4 
+ 00019831  0x00001bf8 jam  0x00000017 , 0x00000a95 
+ 00019832  0x00001bf9 branch  0x00007bb4 
+ 00019833  0x00001bfc jam  0x00000018 , 0x00000a95 
+ 00019834  0x00001bfd branch  0x00007bb4 
+ 00019835  0x00001c00 jam  0x00000016 , 0x00000a95 
+ 00019836  0x00001c01 branch  0x00007bb4 
+ 00019837  0x00001c04 jam  0x00000011 , 0x00000a95 
+ 00019838  0x00001c05 branch  0x00007bb4 
+ 00019839  0x00001c08 jam  0x00000015 , 0x00000a95 
+ 00019840  0x00001c09 branch  0x00007bb4 
+ 00019841  0x00001c0c jam  0x00000014 , 0x00000a95 
+ 00019842  0x00001c0d branch  0x00007bb4 
+ 00019843  0x00001c11 jam  0x00000013 , 0x00000a95 
+ 00019844  0x00001c12 branch  0x00007bb4 
+ 00019845  0x00001c15 jam  0x00000019 , 0x00000a95 
+ 00019846  0x00001c16 branch  0x00007bb4 
+ 00019847  0x00001c19 jam  0x00000006 , 0x00000a95 
+ 00019848  0x00001c1a branch  0x00007bb4 
+ 00019849  0x00001c1d jam  0x00000005 , 0x00000a95 
+ 00019850  0x00001c1e branch  0x00007bb4 
+ 00019851  0x00001c21 jam  0x0000001f , 0x00000a95 
+ 00019852  0x00001c22 branch  0x00007bb4 
+ 00019853  0x00001c25 jam  0x00000020 , 0x00000a95 
+ 00019854  0x00001c26 branch  0x00007bb4 
+ 00019855  0x00001c29 jam  0x00000025 , 0x00000a95 
+ 00019856  0x00001c2a branch  0x00007bb4 
+ 00019857  0x00001c2d set1  0x0000000d , 0x00000000 
+ 00019858  0x00001c2e rtn 
+ 00019859  0x00001c31 set0  0x0000000d , 0x00000000 
+ 00019860  0x00001c32 rtn 
+ 00019861  0x00001c3b rtn  0x0000002b 
+ 00019862  0x00001c3c call  0x00005b83 
+ 00019863  0x00001c3d setarg  0x00004dda 
+ 00019864  0x00001c3e store  0x00000002 , 0x000041f4 
+ 00019865  0x00001c3f setarg  0x00004dc5 
+ 00019866  0x00001c40 store  0x00000002 , 0x000041f2 
+ 00019867  0x00001c41 setarg  0x00004dde 
+ 00019868  0x00001c42 store  0x00000002 , 0x000041f6 
+ 00019869  0x00001c43 setarg  0x00004dc4 
+ 00019870  0x00001c44 store  0x00000002 , 0x000041f0 
+ 00019871  0x00001c45 setarg  0x00004dbd 
+ 00019872  0x00001c46 store  0x00000002 , 0x000041ea 
+ 00019873  0x00001c47 setarg  0x00004ef4 
+ 00019874  0x00001c48 store  0x00000002 , 0x000041fc 
+ 00019875  0x00001c49 setarg  0x00005037 
+ 00019876  0x00001c4a store  0x00000002 , 0x00004541 
+ 00019877  0x00001c4b setarg  0x000050ae 
+ 00019878  0x00001c4c store  0x00000002 , 0x000041fa 
+ 00019879  0x00001c4d setarg  0x000050c3 
+ 00019880  0x00001c4e store  0x00000002 , 0x000041fe 
+ 00019881  0x00001c50 call  0x00004dd7 
+ 00019882  0x00001c51 bpatch  0x000000b8 , 0x00004017 
+ 00019883  0x00001c52 call  0x00004daf 
+ 00019884  0x00001c53 call  0x00004dbc 
+ 00019885  0x00001c54 call  0x00004c2a 
+ 00019886  0x00001c55 branch  0x0000504d 
+ 00019887  0x00001c59 fetch  0x00000002 , 0x00004ffa 
+ 00019888  0x00001c5a store  0x00000002 , 0x00008046 
+ 00019889  0x00001c5b fetch  0x00000002 , 0x00004ff8 
+ 00019890  0x00001c5c store  0x00000002 , 0x00008044 
+ 00019891  0x00001c5d copy  0x0000003f , 0x00000003 
+ 00019892  0x00001c5f fetch  0x00000002 , 0x00004ff2 
+ 00019893  0x00001c60 store  0x00000002 , 0x0000804a 
+ 00019894  0x00001c61 fetch  0x00000002 , 0x00004ff0 
+ 00019895  0x00001c62 store  0x00000002 , 0x00008048 
+ 00019896  0x00001c63 copy  0x0000003f , 0x0000000a 
+ 00019897  0x00001c64 rtn 
+ 00019898  0x00001c69 call  0x00004daf 
+ 00019899  0x00001c6a branch  0x00004dd7 
+ 00019900  0x00001c6e rtn 
+ 00019901  0x00001c70 fetch  0x00000001 , 0x00004fef 
+ 00019902  0x00001c71 beq  0x00000001 , 0x00004d4b 
+ 00019903  0x00001c72 fetch  0x00000001 , 0x00004496 
+ 00019904  0x00001c73 bne  0x00000000 , 0x00004dc2 
+ 00019905  0x00001c74 branch  0x00004d4d 
+ 00019906  0x00001c76 beq  0x000000ff , 0x00004d4d 
+ 00019907  0x00001c77 branch  0x00004d4b 
+ 00019908  0x00001c7a rtn 
+ 00019909  0x00001c7d call  0x00004dc7 
+ 00019910  0x00001c7e branch  0x000050d3 
+ 00019911  0x00001c81 rtn 
+ 00019912  0x00001c82 fetch  0x00000001 , 0x00004652 
+ 00019913  0x00001c83 bbit0  0x00000004 , 0x00004dd7 
+ 00019914  0x00001c84 bpatch  0x000000b9 , 0x00004017 
+ 00019915  0x00001c85 setarg  0x00003eff 
+ 00019916  0x00001c86 fetcht  0x00000004 , 0x0000467f 
+ 00019917  0x00001c87 iadd  0x00000002 , 0x00000002 
+ 00019918  0x00001c88 copy  0x00000022 , 0x0000003f 
+ 00019919  0x00001c89 isub  0x00000002 , 0x0000003e 
+ 00019920  0x00001c8a nrtn  0x00000002 
+ 00019921  0x00001c8b fetch  0x00000002 , 0x00004652 
+ 00019922  0x00001c8c bbit1  0x00000005 , 0x00004dd7 
+ 00019923  0x00001c8d fetch  0x00000001 , 0x00004679 
+ 00019924  0x00001c8e rtnbit1  0x00000006 
+ 00019925  0x00001c8f call  0x000050d6 
+ 00019926  0x00001c90 call  0x00004d89 
+ 00019927  0x00001c92 copy  0x00000022 , 0x0000003f 
+ 00019928  0x00001c93 store  0x00000004 , 0x0000467f 
+ 00019929  0x00001c94 rtn 
+ 00019930  0x00001c98 call  0x000050d3 
+ 00019931  0x00001c99 call  0x00005648 
+ 00019932  0x00001c9a nrtn  0x00000034 
+ 00019933  0x00001c9b branch  0x00004e3d 
+ 00019934  0x00001c9f copy  0x00000013 , 0x0000003f 
+ 00019935  0x00001ca0 beq  0x00000001 , 0x00004e2c 
+ 00019936  0x00001ca1 beq  0x00000002 , 0x00004dfb 
+ 00019937  0x00001ca2 beq  0x00000004 , 0x00004e2f 
+ 00019938  0x00001ca3 beq  0x00000005 , 0x00004e1d 
+ 00019939  0x00001ca4 beq  0x00000008 , 0x00004e02 
+ 00019940  0x00001ca5 beq  0x00000009 , 0x00004e08 
+ 00019941  0x00001ca6 beq  0x0000000a , 0x00004e22 
+ 00019942  0x00001ca7 beq  0x0000000b , 0x00004e0d 
+ 00019943  0x00001ca8 beq  0x0000000c , 0x00004e1b 
+ 00019944  0x00001ca9 beq  0x00000013 , 0x00004e2f 
+ 00019945  0x00001caa beq  0x00000014 , 0x00004e28 
+ 00019946  0x00001cab beq  0x00000015 , 0x00004e1f 
+ 00019947  0x00001cac beq  0x00000021 , 0x00004e23 
+ 00019948  0x00001cad beq  0x00000023 , 0x00004e24 
+ 00019949  0x00001cae beq  0x00000024 , 0x00004e27 
+ 00019950  0x00001caf beq  0x00000030 , 0x00005088 
+ 00019951  0x00001cb0 beq  0x00000031 , 0x0000508a 
+ 00019952  0x00001cb1 beq  0x00000032 , 0x00005098 
+ 00019953  0x00001cb2 beq  0x00000033 , 0x00005096 
+ 00019954  0x00001cb3 beq  0x00000034 , 0x00005082 
+ 00019955  0x00001cb4 beq  0x00000035 , 0x00005078 
+ 00019956  0x00001cb5 beq  0x00000036 , 0x00005080 
+ 00019957  0x00001cb6 beq  0x00000037 , 0x0000508c 
+ 00019958  0x00001cb7 beq  0x00000038 , 0x0000508e 
+ 00019959  0x00001cb8 beq  0x0000003b , 0x0000509f 
+ 00019960  0x00001cb9 beq  0x0000003d , 0x0000506f 
+ 00019961  0x00001cba beq  0x00000041 , 0x00004e30 
+ 00019962  0x00001cbb rtn 
+ 00019963  0x00001cbf call  0x00004dd7 
+ 00019964  0x00001cc0 fetch  0x00000001 , 0x00004637 
+ 00019965  0x00001cc1 ncall  0x0000508c , 0x00000034 
+ 00019966  0x00001cc2 call  0x00004e2f 
+ 00019967  0x00001cc3 fetch  0x00000002 , 0x00004652 
+ 00019968  0x00001cc4 rtnbit0  0x00000004 
+ 00019969  0x00001cc5 branch  0x00004e08 
+ 00019970  0x00001cc8 fetch  0x00000002 , 0x00004652 
+ 00019971  0x00001cc9 set1  0x00000004 , 0x0000003f 
+ 00019972  0x00001cca store  0x00000002 , 0x00004652 
+ 00019973  0x00001ccb fetch  0x00000001 , 0x0000466d 
+ 00019974  0x00001ccc store  0x00000001 , 0x00004173 
+ 00019975  0x00001ccd branch  0x00005022 
+ 00019976  0x00001cd2 fetch  0x00000002 , 0x00004652 
+ 00019977  0x00001cd3 rtnbit0  0x00000004 
+ 00019978  0x00001cd4 set0  0x00000004 , 0x0000003f 
+ 00019979  0x00001cd5 store  0x00000002 , 0x00004652 
+ 00019980  0x00001cd6 branch  0x00005026 
+ 00019981  0x00001cdc call  0x00004dd7 
+ 00019982  0x00001cdf fetch  0x00000002 , 0x00004042 
+ 00019983  0x00001ce0 rshift  0x0000003f , 0x0000003f 
+ 00019984  0x00001ce1 fetcht  0x00000002 , 0x000041e4 
+ 00019985  0x00001ce2 isub  0x00000002 , 0x0000003e 
+ 00019986  0x00001ce3 nbranch  0x00004e14 , 0x00000005 
+ 00019987  0x00001ce4 branch  0x00004d91 
+ 00019988  0x00001ce6 fetch  0x00000001 , 0x00004679 
+ 00019989  0x00001ce7 rtnbit1  0x00000005 
+ 00019990  0x00001ce9 fetch  0x00000002 , 0x00004ffc 
+ 00019991  0x00001cea fetcht  0x00000002 , 0x00004ffe 
+ 00019992  0x00001ceb isub  0x00000002 , 0x0000003e 
+ 00019993  0x00001cec ncall  0x000050da , 0x00000005 
+ 00019994  0x00001ced branch  0x00004d87 
+ 00019995  0x00001cf0 call  0x000050d8 
+ 00019996  0x00001cf1 branch  0x00004d93 
+ 00019997  0x00001cf4 call  0x00004dd7 
+ 00019998  0x00001cf5 branch  0x00004e32 
+ 00019999  0x00001cf8 call  0x00005bf6 
+ 00020000  0x00001cf9 call  0x00004e2f 
+ 00020001  0x00001cfa branch  0x00005028 
+ 00020002  0x00001cfd branch  0x00004d58 
+ 00020003  0x00001d01 branch  0x000050d8 
+ 00020004  0x00001d05 fetch  0x00000001 , 0x00004679 
+ 00020005  0x00001d06 bbit0  0x00000005 , 0x00004d89 
+ 00020006  0x00001d07 branch  0x000050dc 
+ 00020007  0x00001d0b branch  0x000050dc 
+ 00020008  0x00001d10 call  0x00004e32 
+ 00020009  0x00001d11 fetch  0x00000001 , 0x0000466e 
+ 00020010  0x00001d12 store  0x00000001 , 0x00004173 
+ 00020011  0x00001d13 branch  0x00005024 
+ 00020012  0x00001d17 jam  0x00000000 , 0x00004633 
+ 00020013  0x00001d18 call  0x000050d8 
+ 00020014  0x00001d19 branch  0x000050dc 
+ 00020015  0x00001d1e branch  0x00004e8f 
+ 00020016  0x00001d22 call  0x000060aa 
+ 00020017  0x00001d23 branch  0x00005ee2 
+ 00020018  0x00001d27 branch  0x00004e33 
+ 00020019  0x00001d2a fetch  0x00000001 , 0x0000466c 
+ 00020020  0x00001d2b isolate1  0x00000000 , 0x0000003f 
+ 00020021  0x00001d2c call  0x00004d6b , 0x00000001 
+ 00020022  0x00001d2d fetch  0x00000001 , 0x0000466c 
+ 00020023  0x00001d2e isolate1  0x00000001 , 0x0000003f 
+ 00020024  0x00001d2f call  0x00004d73 , 0x00000001 
+ 00020025  0x00001d30 rtn 
+ 00020026  0x00001d33 fetch  0x00000001 , 0x0000453d 
+ 00020027  0x00001d34 rtneq  0x00000000 
+ 00020028  0x00001d35 branch  0x00006ae9 
+ 00020029  0x00001d38 fetch  0x00000002 , 0x00004ffc 
+ 00020030  0x00001d39 fetcht  0x00000002 , 0x00004ffe 
+ 00020031  0x00001d3a isub  0x00000002 , 0x0000003e 
+ 00020032  0x00001d3b branch  0x00004e3a , 0x00000005 
+ 00020033  0x00001d3c call  0x000067f7 
+ 00020034  0x00001d3d ifetch  0x00000001 , 0x00000003 
+ 00020035  0x00001d3e bne  0x00000001 , 0x00004e4e 
+ 00020036  0x00001d3f ifetch  0x00000001 , 0x00000003 
+ 00020037  0x00001d40 store  0x00000001 , 0x00000aff 
+ 00020038  0x00001d41 ifetcht  0x00000001 , 0x00000003 
+ 00020039  0x00001d42 copy  0x00000003 , 0x00000011 
+ 00020040  0x00001d43 storet  0x00000001 , 0x00000b00 
+ 00020041  0x00001d44 jam  0x00000001 , 0x00000b01 
+ 00020042  0x00001d45 call  0x00004e5a 
+ 00020043  0x00001d46 fetch  0x00000001 , 0x00000b01 
+ 00020044  0x00001d47 rtneq  0x00000000 
+ 00020045  0x00001d48 branch  0x00004e55 
+ 00020046  0x00001d4b call  0x00007c9c 
+ 00020047  0x00001d4c call  0x0000507e 
+ 00020048  0x00001d4d branch  0x00004e51 
+ 00020049  0x00001d51 bpatch  0x000000ba , 0x00004017 
+ 00020050  0x00001d52 fetch  0x00000002 , 0x00004ffe 
+ 00020051  0x00001d53 store  0x00000002 , 0x00004ffc 
+ 00020052  0x00001d54 rtn 
+ 00020053  0x00001d58 call  0x000067f7 
+ 00020054  0x00001d59 increase  0x00000002 , 0x00000003 
+ 00020055  0x00001d5a ifetch  0x00000001 , 0x00000003 
+ 00020056  0x00001d5b iadd  0x00000003 , 0x00000003 
+ 00020057  0x00001d5d branch  0x000067f3 
+ 00020058  0x00001d61 bpatch  0x000000bb , 0x00004017 
+ 00020059  0x00001d62 fetch  0x00000001 , 0x00000aff 
+ 00020060  0x00001d63 beq  0x00000000 , 0x00004e7c 
+ 00020061  0x00001d64 beq  0x00000001 , 0x00004e81 
+ 00020062  0x00001d65 beq  0x00000002 , 0x00004e86 
+ 00020063  0x00001d66 beq  0x00000003 , 0x00004e9c 
+ 00020064  0x00001d67 beq  0x00000004 , 0x00004ea8 
+ 00020065  0x00001d68 beq  0x00000005 , 0x00004eb2 
+ 00020066  0x00001d69 beq  0x00000009 , 0x00004ed7 
+ 00020067  0x00001d6a beq  0x0000000b , 0x00004f14 
+ 00020068  0x00001d6b beq  0x0000000c , 0x00004f15 
+ 00020069  0x00001d6c beq  0x0000000d , 0x00004f29 
+ 00020070  0x00001d6d beq  0x00000010 , 0x00004f31 
+ 00020071  0x00001d6e beq  0x00000011 , 0x00004f39 
+ 00020072  0x00001d6f beq  0x00000012 , 0x00004f3d 
+ 00020073  0x00001d70 beq  0x00000026 , 0x00004f41 
+ 00020074  0x00001d71 beq  0x00000028 , 0x00004f48 
+ 00020075  0x00001d72 beq  0x00000029 , 0x00004f58 
+ 00020076  0x00001d73 beq  0x0000002a , 0x00004f61 
+ 00020077  0x00001d74 beq  0x00000030 , 0x00004f94 
+ 00020078  0x00001d75 beq  0x00000033 , 0x00004f9a 
+ 00020079  0x00001d76 beq  0x00000034 , 0x00004fbd 
+ 00020080  0x00001d77 beq  0x00000035 , 0x00004fc6 
+ 00020081  0x00001d78 beq  0x00000036 , 0x00004fcf 
+ 00020082  0x00001d79 beq  0x00000037 , 0x00004fd9 
+ 00020083  0x00001d7a beq  0x00000038 , 0x00004fdc 
+ 00020084  0x00001d7b beq  0x00000042 , 0x00004fe4 
+ 00020085  0x00001d7c beq  0x00000048 , 0x00004fe9 
+ 00020086  0x00001d7d beq  0x00000049 , 0x00004ff4 
+ 00020087  0x00001d7e beq  0x00000051 , 0x00004ffa 
+ 00020088  0x00001d7f beq  0x00000061 , 0x00004ffd 
+ 00020089  0x00001d80 beq  0x000000ff , 0x0000500c 
+ 00020090  0x00001d81 beq  0x000000ee , 0x0000500f 
+ 00020091  0x00001d82 branch  0x0000501c 
+ 00020092  0x00001d88 fetch  0x00000001 , 0x00000b00 
+ 00020093  0x00001d89 bne  0x00000006 , 0x0000501c 
+ 00020094  0x00001d8a ifetch  0x00000006 , 0x00000003 
+ 00020095  0x00001d8b store  0x00000006 , 0x000040a0 
+ 00020096  0x00001d8c branch  0x0000501f 
+ 00020097  0x00001d90 fetch  0x00000001 , 0x00000b00 
+ 00020098  0x00001d91 bne  0x00000006 , 0x0000501c 
+ 00020099  0x00001d92 ifetch  0x00000006 , 0x00000003 
+ 00020100  0x00001d93 store  0x00000006 , 0x00004472 
+ 00020101  0x00001d94 branch  0x0000501f 
+ 00020102  0x00001d99 fetch  0x00000001 , 0x00000b00 
+ 00020103  0x00001d9a bne  0x00000001 , 0x0000501c 
+ 00020104  0x00001d9b copy  0x00000011 , 0x00000003 
+ 00020105  0x00001d9c call  0x0000501f 
+ 00020106  0x00001d9d ifetcht  0x00000001 , 0x00000003 
+ 00020107  0x00001d9e storet  0x00000001 , 0x0000466f 
+ 00020108  0x00001d9f fetch  0x00000002 , 0x00004652 
+ 00020109  0x00001da0 rtnbit1  0x00000009 
+ 00020110  0x00001da1 rtnbit1  0x00000000 
+ 00020111  0x00001da3 fetch  0x00000001 , 0x0000466c 
+ 00020112  0x00001da4 isolate1  0x00000000 , 0x0000003f 
+ 00020113  0x00001da5 nbranch  0x00004e95 , 0x00000001 
+ 00020114  0x00001da6 fetcht  0x00000001 , 0x0000466f 
+ 00020115  0x00001da7 and  0x00000002 , 0x00000003 , 0x0000003f 
+ 00020116  0x00001da8 store  0x00000001 , 0x00004093 
+ 00020117  0x00001daa fetch  0x00000001 , 0x0000466c 
+ 00020118  0x00001dab isolate1  0x00000001 , 0x0000003f 
+ 00020119  0x00001dac nrtn  0x00000001 
+ 00020120  0x00001dad fetcht  0x00000001 , 0x0000466f 
+ 00020121  0x00001dae isolate1  0x00000002 , 0x00000002 
+ 00020122  0x00001daf branch  0x00004d75 , 0x00000001 
+ 00020123  0x00001db0 branch  0x00004d73 
+ 00020124  0x00001db5 fetch  0x00000001 , 0x00000b00 
+ 00020125  0x00001db6 sub  0x0000003f , 0x00000043 , 0x0000003e 
+ 00020126  0x00001db7 nbranch  0x0000501c , 0x00000002 
+ 00020127  0x00001db8 store  0x00000001 , 0x000044e7 
+ 00020128  0x00001db9 arg  0x00000008 , 0x00000039 
+ 00020129  0x00001dba call  0x00007ca1 
+ 00020130  0x00001dbb fetch  0x00000001 , 0x00000b00 
+ 00020131  0x00001dbc copy  0x0000003f , 0x00000039 
+ 00020132  0x00001dbd copy  0x00000011 , 0x00000003 
+ 00020133  0x00001dbe arg  0x000044e8 , 0x00000005 
+ 00020134  0x00001dbf call  0x000067da 
+ 00020135  0x00001dc0 branch  0x0000501f 
+ 00020136  0x00001dc5 fetch  0x00000001 , 0x00000b00 
+ 00020137  0x00001dc6 sub  0x0000003f , 0x0000001d , 0x0000003e 
+ 00020138  0x00001dc7 nbranch  0x0000501c , 0x00000002 
+ 00020139  0x00001dc8 store  0x00000001 , 0x00004381 
+ 00020140  0x00001dc9 copy  0x0000003f , 0x00000039 
+ 00020141  0x00001dca copy  0x00000011 , 0x00000003 
+ 00020142  0x00001dcb arg  0x00004382 , 0x00000005 
+ 00020143  0x00001dcc call  0x000067da 
+ 00020144  0x00001dcd call  0x00005b83 
+ 00020145  0x00001dce branch  0x0000501f 
+ 00020146  0x00001dd3 fetch  0x00000001 , 0x00004652 
+ 00020147  0x00001dd4 bbit0  0x00000004 , 0x0000501c 
+ 00020148  0x00001dd5 call  0x00004d45 
+ 00020149  0x00001dd6 branch  0x00004ec3 , 0x00000001 
+ 00020150  0x00001dd7 jam  0x00000000 , 0x00000b01 
+ 00020151  0x00001dd9 call  0x00004dd7 
+ 00020152  0x00001dda fetch  0x00000001 , 0x0000453a 
+ 00020153  0x00001ddb rtn  0x00000034 
+ 00020154  0x00001ddc fetch  0x00000002 , 0x00004545 
+ 00020155  0x00001ddd bne  0x00000000 , 0x00004ec1 
+ 00020156  0x00001dde fetch  0x00000001 , 0x00000b00 
+ 00020157  0x00001ddf store  0x00000002 , 0x00004545 
+ 00020158  0x00001de1 copy  0x00000011 , 0x00000003 
+ 00020159  0x00001de4 copy  0x00000003 , 0x0000003f 
+ 00020160  0x00001de5 store  0x00000002 , 0x00004543 
+ 00020161  0x00001de7 call  0x00004ec5 
+ 00020162  0x00001de8 branch  0x00006b0c 
+ 00020163  0x00001deb jam  0x00000000 , 0x00000b01 
+ 00020164  0x00001dec branch  0x000050bd 
+ 00020165  0x00001def call  0x00004ecb 
+ 00020166  0x00001df0 fetch  0x00000002 , 0x00004545 
+ 00020167  0x00001df1 fetcht  0x00000002 , 0x0000466a 
+ 00020168  0x00001df2 isub  0x00000002 , 0x0000003f 
+ 00020169  0x00001df3 store  0x00000002 , 0x00004545 
+ 00020170  0x00001df4 rtn 
+ 00020171  0x00001df7 fetch  0x00000002 , 0x00004545 
+ 00020172  0x00001df8 arg  0x000000e6 , 0x00000002 
+ 00020173  0x00001df9 call  0x00007db5 
+ 00020174  0x00001dfa fetcht  0x00000002 , 0x0000453e 
+ 00020175  0x00001dfb call  0x00007db5 
+ 00020176  0x00001dfc fetcht  0x00000002 , 0x00004530 
+ 00020177  0x00001dfd call  0x00007db5 
+ 00020178  0x00001dfe store  0x00000002 , 0x0000466a 
+ 00020179  0x00001dff rtn 
+ 00020180  0x00001e02 jam  0x00000001 , 0x00000b01 
+ 00020181  0x00001e03 jam  0x00000005 , 0x00000aff 
+ 00020182  0x00001e04 branch  0x0000501f 
+ 00020183  0x00001e09 fetch  0x00000002 , 0x00004652 
+ 00020184  0x00001e0a bbit0  0x00000009 , 0x0000501c 
+ 00020185  0x00001e0b call  0x00004f11 
+ 00020186  0x00001e0c branch  0x0000501c , 0x00000028 
+ 00020187  0x00001e0d jam  0x00000000 , 0x00000b01 
+ 00020188  0x00001e0e fetch  0x00000001 , 0x00004679 
+ 00020189  0x00001e0f bbit1  0x00000004 , 0x00004ef1 
+ 00020190  0x00001e10 fetch  0x00000001 , 0x0000467a 
+ 00020191  0x00001e11 nrtn  0x00000034 
+ 00020192  0x00001e12 jam  0x00000001 , 0x00000b01 
+ 00020193  0x00001e13 ifetch  0x00000002 , 0x00000003 
+ 00020194  0x00001e14 store  0x00000002 , 0x0000467b 
+ 00020195  0x00001e15 copy  0x00000003 , 0x0000003f 
+ 00020196  0x00001e16 store  0x00000002 , 0x0000467d 
+ 00020197  0x00001e17 fetch  0x00000001 , 0x00000b00 
+ 00020198  0x00001e18 pincrease  0xfffffffe 
+ 00020199  0x00001e19 nbranch  0x0000501c , 0x00000002 
+ 00020200  0x00001e1a branch  0x0000501c , 0x00000005 
+ 00020201  0x00001e1b store  0x00000001 , 0x0000467a 
+ 00020202  0x00001e1c jam  0x00000000 , 0x00000b01 
+ 00020203  0x00001e1d call  0x00005bf4 
+ 00020204  0x00001e1e call  0x00004ef4 
+ 00020205  0x00001e1f call  0x00004ef4 
+ 00020206  0x00001e20 call  0x00004ef4 
+ 00020207  0x00001e21 fetch  0x00000001 , 0x00004679 
+ 00020208  0x00001e22 rtnbit0  0x00000004 
+ 00020209  0x00001e24 jam  0x00000001 , 0x00000b01 
+ 00020210  0x00001e25 call  0x000050e0 
+ 00020211  0x00001e26 branch  0x0000501f 
+ 00020212  0x00001e29 fetch  0x00000001 , 0x0000467a 
+ 00020213  0x00001e2a rtn  0x00000034 
+ 00020214  0x00001e2b call  0x00005c72 
+ 00020215  0x00001e2c nrtn  0x00000034 
+ 00020216  0x00001e2d call  0x00004f0c 
+ 00020217  0x00001e2e bpatch  0x000000bc , 0x00004017 
+ 00020218  0x00001e2f add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00020219  0x00001e30 fetcht  0x00000001 , 0x0000467a 
+ 00020220  0x00001e31 call  0x00007db5 
+ 00020221  0x00001e32 copy  0x0000003f , 0x00000011 
+ 00020222  0x00001e33 copy  0x00000002 , 0x0000003f 
+ 00020223  0x00001e34 isub  0x00000011 , 0x0000003f 
+ 00020224  0x00001e35 store  0x00000001 , 0x0000467a 
+ 00020225  0x00001e36 fetcht  0x00000002 , 0x0000467b 
+ 00020226  0x00001e37 call  0x00005e44 
+ 00020227  0x00001e38 fetch  0x00000002 , 0x0000467d 
+ 00020228  0x00001e39 copy  0x0000003f , 0x00000003 
+ 00020229  0x00001e3a copy  0x00000011 , 0x00000039 
+ 00020230  0x00001e3b call  0x000067da 
+ 00020231  0x00001e3c copy  0x00000003 , 0x0000003f 
+ 00020232  0x00001e3d store  0x00000002 , 0x0000467d 
+ 00020233  0x00001e3e fetch  0x00000001 , 0x0000467a 
+ 00020234  0x00001e3f nrtn  0x00000034 
+ 00020235  0x00001e40 branch  0x000050de 
+ 00020236  0x00001e45 arg  0x00000017 , 0x00000002 
+ 00020237  0x00001e46 fetch  0x00000001 , 0x00004679 
+ 00020238  0x00001e47 rtnbit1  0x00000001 
+ 00020239  0x00001e48 fetcht  0x00000002 , 0x0000447a 
+ 00020240  0x00001e49 rtn 
+ 00020241  0x00001e4c fetch  0x00000001 , 0x00004679 
+ 00020242  0x00001e4d bbit1  0x00000002 , 0x00005e22 
+ 00020243  0x00001e4e branch  0x00007dc1 
+ 00020244  0x00001e53 branch  0x00005051 
+ 00020245  0x00001e58 copy  0x00000011 , 0x00000003 
+ 00020246  0x00001e59 ifetch  0x00000001 , 0x00000003 
+ 00020247  0x00001e5a beq  0x00000000 , 0x00004f1c 
+ 00020248  0x00001e5b beq  0x00000001 , 0x00004f1f 
+ 00020249  0x00001e5c beq  0x00000002 , 0x00004f25 
+ 00020250  0x00001e5d beq  0x00000003 , 0x00004f27 
+ 00020251  0x00001e5e branch  0x0000501c 
+ 00020252  0x00001e60 call  0x0000650d 
+ 00020253  0x00001e61 jam  0x00000000 , 0x0000462c 
+ 00020254  0x00001e62 branch  0x0000501f 
+ 00020255  0x00001e64 setarg  0x00040003 
+ 00020256  0x00001e66 store  0x00000003 , 0x0000462d 
+ 00020257  0x00001e67 store  0x00000001 , 0x00004634 
+ 00020258  0x00001e68 call  0x00006506 
+ 00020259  0x00001e69 jam  0x00000001 , 0x0000462c 
+ 00020260  0x00001e6a branch  0x0000501f 
+ 00020261  0x00001e6c setarg  0x00040002 
+ 00020262  0x00001e6d branch  0x00004f20 
+ 00020263  0x00001e70 setarg  0x00040001 
+ 00020264  0x00001e71 branch  0x00004f20 
+ 00020265  0x00001e75 fetch  0x00000001 , 0x00000b00 
+ 00020266  0x00001e76 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00020267  0x00001e77 nbranch  0x0000501c , 0x00000002 
+ 00020268  0x00001e78 store  0x00000001 , 0x00004657 
+ 00020269  0x00001e79 copy  0x0000003f , 0x00000039 
+ 00020270  0x00001e7a arg  0x00004658 , 0x00000005 
+ 00020271  0x00001e7b call  0x000067ed 
+ 00020272  0x00001e7c branch  0x0000501f 
+ 00020273  0x00001e84 arg  0x00000002 , 0x00000011 
+ 00020274  0x00001e85 arg  0x00004668 , 0x00000012 
+ 00020275  0x00001e86 arg  0x00000000 , 0x00000002 
+ 00020276  0x00001e87 branch  0x0000502a 
+ 00020277  0x00001e89 store  0x00000002 , 0x00000abe 
+ 00020278  0x00001e8a arg  0x00000abe , 0x00000012 
+ 00020279  0x00001e8b arg  0x00000000 , 0x00000002 
+ 00020280  0x00001e8c branch  0x0000502a 
+ 00020281  0x00001e91 fetch  0x00000002 , 0x00004652 
+ 00020282  0x00001e92 bbit0  0x00000000 , 0x0000501c 
+ 00020283  0x00001e94 call  0x0000501f 
+ 00020284  0x00001e95 branch  0x00004d64 
+ 00020285  0x00001e9a fetch  0x00000002 , 0x00004652 
+ 00020286  0x00001e9b bbit0  0x00000009 , 0x0000501c 
+ 00020287  0x00001e9d call  0x0000501f 
+ 00020288  0x00001e9e branch  0x00004d7d 
+ 00020289  0x00001ea5 fetch  0x00000001 , 0x00000b00 
+ 00020290  0x00001ea6 copy  0x0000003f , 0x00000039 
+ 00020291  0x00001ea7 copy  0x00000011 , 0x00000003 
+ 00020292  0x00001ea8 fetch  0x00000002 , 0x00004214 
+ 00020293  0x00001ea9 icopy  0x00000005 
+ 00020294  0x00001eaa call  0x000067da 
+ 00020295  0x00001eab branch  0x0000501f 
+ 00020296  0x00001eb0 fetch  0x00000001 , 0x00004652 
+ 00020297  0x00001eb1 bbit0  0x00000000 , 0x0000501c 
+ 00020298  0x00001eb2 ifetch  0x00000001 , 0x00000003 
+ 00020299  0x00001eb3 fetcht  0x00000001 , 0x00004633 
+ 00020300  0x00001eb4 setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00020301  0x00001eb5 set1  0x00000007 , 0x00000002 
+ 00020302  0x00001eb6 storet  0x00000001 , 0x00004633 
+ 00020303  0x00001eb8 call  0x0000501f 
+ 00020304  0x00001eba fetch  0x00000001 , 0x00004633 
+ 00020305  0x00001ebb bbit1  0x00000006 , 0x00004f56 
+ 00020306  0x00001ebc rtn 
+ 00020307  0x00001ebf jam  0x00000000 , 0x00004633 
+ 00020308  0x00001ec0 jam  0x00000021 , 0x00000a95 
+ 00020309  0x00001ec1 branch  0x00007bb4 
+ 00020310  0x00001ec5 bbit1  0x00000000 , 0x00006377 
+ 00020311  0x00001ec6 branch  0x00004f53 
+ 00020312  0x00001ecb fetch  0x00000001 , 0x00004652 
+ 00020313  0x00001ecc rtnbit0  0x00000004 
+ 00020314  0x00001ecd fetch  0x00000001 , 0x0000453d 
+ 00020315  0x00001ece rtneq  0x00000000 
+ 00020316  0x00001ecf ifetch  0x00000001 , 0x00000003 
+ 00020317  0x00001ed0 fetcht  0x00000001 , 0x0000453b 
+ 00020318  0x00001ed1 iadd  0x00000002 , 0x00000002 
+ 00020319  0x00001ed2 storet  0x00000001 , 0x0000453b 
+ 00020320  0x00001ed3 rtn 
+ 00020321  0x00001ed8 arg  0x00000040 , 0x00000039 
+ 00020322  0x00001ed9 arg  0x00004341 , 0x00000005 
+ 00020323  0x00001eda call  0x00007caf 
+ 00020324  0x00001edb setarg  0x00000000 
+ 00020325  0x00001edc store  0x00000001 , 0x00000aae 
+ 00020326  0x00001edd copy  0x00000011 , 0x00000003 
+ 00020327  0x00001edf copy  0x00000003 , 0x0000003f 
+ 00020328  0x00001ee0 store  0x00000002 , 0x00000ab2 
+ 00020329  0x00001ee1 call  0x00004f8f 
+ 00020330  0x00001ee3 fetch  0x00000001 , 0x00000aae 
+ 00020331  0x00001ee4 fetcht  0x00000001 , 0x00000a9e 
+ 00020332  0x00001ee5 increase  0x00000001 , 0x00000002 
+ 00020333  0x00001ee6 iadd  0x00000002 , 0x0000003f 
+ 00020334  0x00001ee7 store  0x00000001 , 0x00000aae 
+ 00020335  0x00001ee9 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00020336  0x00001eea nbranch  0x00004f7b , 0x00000002 
+ 00020337  0x00001eec fetcht  0x00000001 , 0x00004341 
+ 00020338  0x00001eed setarg  0x00004342 
+ 00020339  0x00001eee iadd  0x00000002 , 0x0000003f 
+ 00020340  0x00001eef store  0x00000002 , 0x00000ab7 
+ 00020341  0x00001ef0 fetcht  0x00000001 , 0x00000a9e 
+ 00020342  0x00001ef1 increase  0x00000001 , 0x00000002 
+ 00020343  0x00001ef2 fetch  0x00000001 , 0x00004341 
+ 00020344  0x00001ef3 iadd  0x00000002 , 0x0000003f 
+ 00020345  0x00001ef4 store  0x00000001 , 0x00004341 
+ 00020346  0x00001ef5 branch  0x00004f84 
+ 00020347  0x00001ef7 fetcht  0x00000001 , 0x00004361 
+ 00020348  0x00001ef8 setarg  0x00004362 
+ 00020349  0x00001ef9 iadd  0x00000002 , 0x0000003f 
+ 00020350  0x00001efa store  0x00000002 , 0x00000ab7 
+ 00020351  0x00001efb fetcht  0x00000001 , 0x00000a9e 
+ 00020352  0x00001efc increase  0x00000001 , 0x00000002 
+ 00020353  0x00001efd fetch  0x00000001 , 0x00004361 
+ 00020354  0x00001efe iadd  0x00000002 , 0x0000003f 
+ 00020355  0x00001eff store  0x00000001 , 0x00004361 
+ 00020356  0x00001f01 fetch  0x00000002 , 0x00000ab7 
+ 00020357  0x00001f02 copy  0x0000003f , 0x00000005 
+ 00020358  0x00001f03 fetch  0x00000002 , 0x00000ab2 
+ 00020359  0x00001f04 copy  0x0000003f , 0x00000003 
+ 00020360  0x00001f06 copy  0x00000002 , 0x00000039 
+ 00020361  0x00001f07 call  0x000067da 
+ 00020362  0x00001f09 fetch  0x00000001 , 0x00000b00 
+ 00020363  0x00001f0a fetcht  0x00000001 , 0x00000aae 
+ 00020364  0x00001f0b isub  0x00000002 , 0x0000003e 
+ 00020365  0x00001f0c nbranch  0x00004f67 , 0x00000005 
+ 00020366  0x00001f0d branch  0x0000501f 
+ 00020367  0x00001f11 ifetch  0x00000001 , 0x00000003 
+ 00020368  0x00001f12 store  0x00000001 , 0x00000a9e 
+ 00020369  0x00001f13 ifetch  0x00000001 , 0x00000003 
+ 00020370  0x00001f14 store  0x00000001 , 0x00000aaa 
+ 00020371  0x00001f15 rtn 
+ 00020372  0x00001f1b ifetch  0x00000004 , 0x00000003 
+ 00020373  0x00001f1c store  0x00000004 , 0x00004658 
+ 00020374  0x00001f1d jam  0x00000004 , 0x00004657 
+ 00020375  0x00001f1e jam  0x00000000 , 0x00004635 
+ 00020376  0x00001f1f call  0x0000501f 
+ 00020377  0x00001f20 branch  0x00006313 
+ 00020378  0x00001f26 copy  0x00000011 , 0x00000003 
+ 00020379  0x00001f27 ifetch  0x00000001 , 0x00000003 
+ 00020380  0x00001f28 copy  0x0000003f , 0x00000002 
+ 00020381  0x00001f29 beq  0x00000081 , 0x00004fa5 
+ 00020382  0x00001f2a beq  0x00000082 , 0x00004faa 
+ 00020383  0x00001f2b beq  0x00000083 , 0x00004fb0 
+ 00020384  0x00001f2c store  0x00000001 , 0x00004498 
+ 00020385  0x00001f2d beq  0x00000000 , 0x00004fb5 
+ 00020386  0x00001f2e beq  0x00000001 , 0x00004fb8 
+ 00020387  0x00001f2f beq  0x00000002 , 0x00004fba 
+ 00020388  0x00001f30 branch  0x0000501c 
+ 00020389  0x00001f33 fetch  0x00000001 , 0x00004490 
+ 00020390  0x00001f34 branch  0x0000501c , 0x00000034 
+ 00020391  0x00001f35 storet  0x00000001 , 0x00004498 
+ 00020392  0x00001f36 jam  0x0000000d , 0x00004428 
+ 00020393  0x00001f37 branch  0x00004fb6 
+ 00020394  0x00001f39 fetch  0x00000001 , 0x00004490 
+ 00020395  0x00001f3a branch  0x0000501c , 0x00000034 
+ 00020396  0x00001f3b storet  0x00000001 , 0x00004498 
+ 00020397  0x00001f3c jam  0x0000000d , 0x00004428 
+ 00020398  0x00001f3d jam  0x00000001 , 0x00004426 
+ 00020399  0x00001f3e branch  0x0000501f 
+ 00020400  0x00001f40 fetch  0x00000001 , 0x00004490 
+ 00020401  0x00001f41 branch  0x0000501c , 0x00000034 
+ 00020402  0x00001f42 storet  0x00000001 , 0x00004498 
+ 00020403  0x00001f43 jam  0x0000000d , 0x00004428 
+ 00020404  0x00001f44 branch  0x00004fbb 
+ 00020405  0x00001f46 jam  0x00000000 , 0x00004428 
+ 00020406  0x00001f48 jam  0x00000003 , 0x00004426 
+ 00020407  0x00001f49 branch  0x0000501f 
+ 00020408  0x00001f4b jam  0x00000005 , 0x00004428 
+ 00020409  0x00001f4c branch  0x00004fb6 
+ 00020410  0x00001f4e jam  0x00000005 , 0x00004428 
+ 00020411  0x00001f50 jam  0x00000000 , 0x00004426 
+ 00020412  0x00001f51 branch  0x0000501f 
+ 00020413  0x00001f56 fetch  0x00000001 , 0x00000b00 
+ 00020414  0x00001f57 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00020415  0x00001f58 nbranch  0x0000501c , 0x00000002 
+ 00020416  0x00001f59 store  0x00000001 , 0x00004341 
+ 00020417  0x00001f5a copy  0x0000003f , 0x00000039 
+ 00020418  0x00001f5b copy  0x00000011 , 0x00000003 
+ 00020419  0x00001f5c arg  0x00004342 , 0x00000005 
+ 00020420  0x00001f5d call  0x000067da 
+ 00020421  0x00001f5e branch  0x0000501f 
+ 00020422  0x00001f63 fetch  0x00000001 , 0x00000b00 
+ 00020423  0x00001f64 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00020424  0x00001f65 nbranch  0x0000501c , 0x00000002 
+ 00020425  0x00001f66 store  0x00000001 , 0x00004361 
+ 00020426  0x00001f67 copy  0x0000003f , 0x00000039 
+ 00020427  0x00001f68 copy  0x00000011 , 0x00000003 
+ 00020428  0x00001f69 arg  0x00004362 , 0x00000005 
+ 00020429  0x00001f6a call  0x000067da 
+ 00020430  0x00001f6b branch  0x0000501f 
+ 00020431  0x00001f70 fetch  0x00000002 , 0x00004652 
+ 00020432  0x00001f71 bbit0  0x00000009 , 0x0000501c 
+ 00020433  0x00001f72 fetch  0x00000001 , 0x00000b00 
+ 00020434  0x00001f73 bne  0x00000008 , 0x0000501c 
+ 00020435  0x00001f74 copy  0x00000011 , 0x00000003 
+ 00020436  0x00001f75 ifetch  0x00000008 , 0x00000003 
+ 00020437  0x00001f76 store  0x00000008 , 0x00004468 
+ 00020438  0x00001f77 jam  0x00000012 , 0x00000a95 
+ 00020439  0x00001f78 call  0x00007bb4 
+ 00020440  0x00001f79 branch  0x0000501f 
+ 00020441  0x00001f7e ifetch  0x00000002 , 0x00000003 
+ 00020442  0x00001f7f store  0x00000002 , 0x00004454 
+ 00020443  0x00001f80 branch  0x0000501f 
+ 00020444  0x00001f85 fetch  0x00000001 , 0x00004498 
+ 00020445  0x00001f86 branch  0x0000501c , 0x00000034 
+ 00020446  0x00001f87 fetch  0x00000001 , 0x00004496 
+ 00020447  0x00001f88 bne  0x00000000 , 0x0000501c 
+ 00020448  0x00001f89 fetch  0x00000001 , 0x00004497 
+ 00020449  0x00001f8a bne  0x00000000 , 0x0000501c 
+ 00020450  0x00001f8b call  0x00007c3d 
+ 00020451  0x00001f8c branch  0x0000501f 
+ 00020452  0x00001f92 fetch  0x00000001 , 0x00000b00 
+ 00020453  0x00001f93 bne  0x00000001 , 0x0000501c 
+ 00020454  0x00001f94 ifetch  0x00000001 , 0x00000003 
+ 00020455  0x00001f95 store  0x00000001 , 0x000041df 
+ 00020456  0x00001f96 branch  0x0000501f 
+ 00020457  0x00001f9b ifetch  0x00000001 , 0x00000003 
+ 00020458  0x00001f9c beq  0x00000001 , 0x00004ff2 
+ 00020459  0x00001f9d fetch  0x00000001 , 0x00004493 
+ 00020460  0x00001f9e beq  0x00000003 , 0x00004ff0 
+ 00020461  0x00001f9f beq  0x00000006 , 0x00004ff0 
+ 00020462  0x00001fa0 beq  0x00000007 , 0x00004ff0 
+ 00020463  0x00001fa1 branch  0x0000501c 
+ 00020464  0x00001fa3 jam  0x00000001 , 0x00004494 
+ 00020465  0x00001fa4 branch  0x0000501f 
+ 00020466  0x00001fa7 call  0x00005f33 
+ 00020467  0x00001fa8 branch  0x0000501f 
+ 00020468  0x00001fad fetch  0x00000001 , 0x00000b00 
+ 00020469  0x00001fae bne  0x00000001 , 0x0000501c 
+ 00020470  0x00001faf call  0x0000501f 
+ 00020471  0x00001fb0 ifetch  0x00000001 , 0x00000003 
+ 00020472  0x00001fb1 branch  0x000064ad , 0x00000034 
+ 00020473  0x00001fb2 branch  0x000064ab 
+ 00020474  0x00001fb7 call  0x0000501f 
+ 00020475  0x00001fb9 hjam  0x00000001 , 0x00008010 
+ 00020476  0x00001fba branch  0x00004a8d 
+ 00020477  0x00001fbf fetch  0x00000001 , 0x00000b00 
+ 00020478  0x00001fc0 beq  0x00000000 , 0x0000501c 
+ 00020479  0x00001fc1 ifetch  0x00000001 , 0x00000003 
+ 00020480  0x00001fc2 branch  0x0000500a , 0x00000034 
+ 00020481  0x00001fc3 fetch  0x00000001 , 0x00000b00 
+ 00020482  0x00001fc4 bne  0x00000005 , 0x0000501c 
+ 00020483  0x00001fc5 ifetch  0x00000004 , 0x00000003 
+ 00020484  0x00001fc6 arg  0x000f4240 , 0x00000002 
+ 00020485  0x00001fc7 isub  0x00000002 , 0x0000003e 
+ 00020486  0x00001fc8 branch  0x0000501c , 0x00000002 
+ 00020487  0x00001fc9 store  0x00000004 , 0x00004499 
+ 00020488  0x00001fca call  0x00005bec 
+ 00020489  0x00001fcb branch  0x0000501f 
+ 00020490  0x00001fce call  0x00005bee 
+ 00020491  0x00001fcf branch  0x0000501f 
+ 00020492  0x00001fd4 ifetch  0x00000001 , 0x00000003 
+ 00020493  0x00001fd5 store  0x00000001 , 0x00004091 
+ 00020494  0x00001fd6 branch  0x0000501f 
+ 00020495  0x00001fda fetch  0x00000001 , 0x00000b00 
+ 00020496  0x00001fdb call  0x000050a5 
+ 00020497  0x00001fdc fetch  0x00000001 , 0x00000b00 
+ 00020498  0x00001fdd copy  0x0000003f , 0x00000039 
+ 00020499  0x00001fde copy  0x00000011 , 0x00000003 
+ 00020500  0x00001fdf call  0x00005016 
+ 00020501  0x00001fe0 branch  0x000067b9 
+ 00020502  0x00001fe3 deposit  0x00000039 
+ 00020503  0x00001fe4 rtn  0x00000034 
+ 00020504  0x00001fe6 ifetch  0x00000001 , 0x00000003 
+ 00020505  0x00001fe7 istore  0x00000001 , 0x0000000a 
+ 00020506  0x00001fe8 loop  0x00005018 
+ 00020507  0x00001fe9 rtn 
+ 00020508  0x00001fee arg  0x00000001 , 0x00000002 
+ 00020509  0x00001fef arg  0x00000000 , 0x00000011 
+ 00020510  0x00001ff0 branch  0x0000502a 
+ 00020511  0x00001ff4 arg  0x00000000 , 0x00000002 
+ 00020512  0x00001ff5 arg  0x00000000 , 0x00000011 
+ 00020513  0x00001ff6 branch  0x0000502a 
+ 00020514  0x00001ffb jam  0x00000000 , 0x00000aff 
+ 00020515  0x00001ffc branch  0x0000504e 
+ 00020516  0x00002001 jam  0x00000002 , 0x00000aff 
+ 00020517  0x00002002 branch  0x0000504e 
+ 00020518  0x00002007 jam  0x00000003 , 0x00000aff 
+ 00020519  0x00002008 branch  0x0000504e 
+ 00020520  0x0000200d jam  0x00000005 , 0x00000aff 
+ 00020521  0x0000200e branch  0x0000504e 
+ 00020522  0x00002017 fetch  0x00000001 , 0x00000aff 
+ 00020523  0x00002018 copy  0x0000003f , 0x00000013 
+ 00020524  0x00002019 jam  0x00000006 , 0x00000aff 
+ 00020525  0x0000201a setarg  0x00000002 
+ 00020526  0x0000201b iadd  0x00000011 , 0x0000003f 
+ 00020527  0x0000201c call  0x000050a5 
+ 00020528  0x0000201d copy  0x00000013 , 0x0000003f 
+ 00020529  0x0000201e istore  0x00000001 , 0x0000000a 
+ 00020530  0x0000201f istoret  0x00000001 , 0x0000000a 
+ 00020531  0x00002020 copy  0x00000011 , 0x00000039 
+ 00020532  0x00002021 copy  0x00000012 , 0x00000006 
+ 00020533  0x00002022 call  0x000067d4 
+ 00020534  0x00002023 branch  0x000067b9 
+ 00020535  0x00002029 call  0x00004dd7 
+ 00020536  0x0000202a jam  0x00000007 , 0x00000aff 
+ 00020537  0x0000202b fetch  0x00000001 , 0x000004fb 
+ 00020538  0x0000202c rtn  0x00000034 
+ 00020539  0x0000202d call  0x000050a5 
+ 00020540  0x0000202e fetch  0x00000001 , 0x000004fb 
+ 00020541  0x0000202f copy  0x0000003f , 0x00000039 
+ 00020542  0x00002030 fetch  0x00000002 , 0x000004fd 
+ 00020543  0x00002031 copy  0x0000003f , 0x00000006 
+ 00020544  0x00002032 call  0x000067c1 
+ 00020545  0x00002033 branch  0x000067b9 
+ 00020546  0x00002038 jam  0x00000008 , 0x00000aff 
+ 00020547  0x00002039 fetch  0x00000001 , 0x00004670 
+ 00020548  0x0000203a icopy  0x00000039 
+ 00020549  0x0000203b increase  0x00000002 , 0x0000003f 
+ 00020550  0x0000203c call  0x000050a5 
+ 00020551  0x0000203d fetch  0x00000002 , 0x00004673 
+ 00020552  0x0000203e istore  0x00000002 , 0x0000000a 
+ 00020553  0x0000203f fetch  0x00000002 , 0x00004671 
+ 00020554  0x00002040 icopy  0x00000006 
+ 00020555  0x00002041 call  0x000067c1 
+ 00020556  0x00002042 branch  0x000067b9 
+ 00020557  0x00002047 jam  0x00000009 , 0x00000aff 
+ 00020558  0x00002049 setarg  0x00000000 
+ 00020559  0x0000204a call  0x000050a5 
+ 00020560  0x0000204b branch  0x000067b9 
+ 00020561  0x00002050 jam  0x0000000a , 0x00000aff 
+ 00020562  0x00002051 setarg  0x00000001 
+ 00020563  0x00002052 call  0x000050a5 
+ 00020564  0x00002054 call  0x00005062 
+ 00020565  0x00002056 fetch  0x00000002 , 0x00004652 
+ 00020566  0x00002057 arg  0x00000002 , 0x00000007 
+ 00020567  0x00002058 qisolate1  0x0000003f 
+ 00020568  0x00002059 setflag  0x00000001 , 0x00000003 , 0x00000002 
+ 00020569  0x0000205b arg  0x00000009 , 0x00000007 
+ 00020570  0x0000205c qisolate1  0x0000003f 
+ 00020571  0x0000205d setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00020572  0x0000205f fetch  0x00000001 , 0x00004652 
+ 00020573  0x00002060 arg  0x00000004 , 0x00000007 
+ 00020574  0x00002061 qisolate1  0x0000003f 
+ 00020575  0x00002062 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00020576  0x00002064 istoret  0x00000001 , 0x0000000a 
+ 00020577  0x00002065 branch  0x000067b9 
+ 00020578  0x0000206a arg  0x00000000 , 0x00000002 
+ 00020579  0x0000206b fetch  0x00000001 , 0x00004093 
+ 00020580  0x0000206c arg  0x00000000 , 0x00000007 
+ 00020581  0x0000206d qisolate1  0x0000003f 
+ 00020582  0x0000206e setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00020583  0x0000206f arg  0x00000001 , 0x00000007 
+ 00020584  0x00002070 qisolate1  0x0000003f 
+ 00020585  0x00002071 setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00020586  0x00002073 fetch  0x00000001 , 0x00004340 
+ 00020587  0x00002074 arg  0x00000000 , 0x00000007 
+ 00020588  0x00002075 qisolate1  0x0000003f 
+ 00020589  0x00002076 setflag  0x00000001 , 0x00000002 , 0x00000002 
+ 00020590  0x00002077 rtn 
+ 00020591  0x0000207c jam  0x0000000d , 0x00000aff 
+ 00020592  0x0000207d fetch  0x00000001 , 0x00004216 
+ 00020593  0x0000207e mul32  0x0000003f , 0x00000022 , 0x0000003f 
+ 00020594  0x0000207f icopy  0x00000039 
+ 00020595  0x00002080 call  0x000050a5 
+ 00020596  0x00002081 fetch  0x00000002 , 0x00004214 
+ 00020597  0x00002082 icopy  0x00000006 
+ 00020598  0x00002083 call  0x000067c1 
+ 00020599  0x00002084 branch  0x000067b9 
+ 00020600  0x00002089 jam  0x0000000e , 0x00000aff 
+ 00020601  0x0000208a setarg  0x00000004 
+ 00020602  0x0000208b call  0x000050a5 
+ 00020603  0x0000208c fetch  0x00000004 , 0x000009b6 
+ 00020604  0x0000208d istore  0x00000004 , 0x0000000a 
+ 00020605  0x0000208e branch  0x000067b9 
+ 00020606  0x00002093 jam  0x0000000f , 0x00000aff 
+ 00020607  0x00002094 branch  0x0000504e 
+ 00020608  0x00002099 jam  0x00000010 , 0x00000aff 
+ 00020609  0x0000209a branch  0x0000504e 
+ 00020610  0x0000209f jam  0x00000011 , 0x00000aff 
+ 00020611  0x000020a0 setarg  0x00000004 
+ 00020612  0x000020a1 call  0x000050a5 
+ 00020613  0x000020a2 fetch  0x00000004 , 0x00004499 
+ 00020614  0x000020a3 istore  0x00000004 , 0x0000000a 
+ 00020615  0x000020a4 branch  0x000067b9 
+ 00020616  0x000020a9 arg  0x00000180 , 0x00000011 
+ 00020617  0x000020aa branch  0x0000508f 
+ 00020618  0x000020ad arg  0x00000080 , 0x00000011 
+ 00020619  0x000020ae branch  0x0000508f 
+ 00020620  0x000020b1 arg  0x00000101 , 0x00000011 
+ 00020621  0x000020b2 branch  0x0000508f 
+ 00020622  0x000020b5 arg  0x00000001 , 0x00000011 
+ 00020623  0x000020b8 jam  0x00000000 , 0x00004633 
+ 00020624  0x000020b9 jam  0x00000014 , 0x00000aff 
+ 00020625  0x000020ba setarg  0x00000002 
+ 00020626  0x000020bb call  0x000050a5 
+ 00020627  0x000020bc copy  0x00000011 , 0x0000003f 
+ 00020628  0x000020bd istore  0x00000002 , 0x0000000a 
+ 00020629  0x000020be branch  0x000067b9 
+ 00020630  0x000020c3 arg  0x00000000 , 0x00000013 
+ 00020631  0x000020c4 branch  0x00005099 
+ 00020632  0x000020c7 arg  0x00000001 , 0x00000013 
+ 00020633  0x000020ca jam  0x00000015 , 0x00000aff 
+ 00020634  0x000020cb setarg  0x00000001 
+ 00020635  0x000020cc call  0x000050a5 
+ 00020636  0x000020cd copy  0x00000013 , 0x0000003f 
+ 00020637  0x000020ce istore  0x00000001 , 0x0000000a 
+ 00020638  0x000020cf branch  0x000067b9 
+ 00020639  0x000020d4 jam  0x0000001d , 0x00000aff 
+ 00020640  0x000020d5 setarg  0x00000004 
+ 00020641  0x000020d6 call  0x000050a5 
+ 00020642  0x000020d7 fetch  0x00000004 , 0x000009b6 
+ 00020643  0x000020d8 istore  0x00000004 , 0x0000000a 
+ 00020644  0x000020d9 branch  0x000067b9 
+ 00020645  0x000020e5 jam  0x00000002 , 0x00000afe 
+ 00020646  0x000020e6 store  0x00000001 , 0x00000b00 
+ 00020647  0x000020e7 storet  0x00000008 , 0x00000a9e 
+ 00020648  0x000020e8 bpatch  0x000000bd , 0x00004017 
+ 00020649  0x000020e9 fetcht  0x00000008 , 0x00000a9e 
+ 00020650  0x000020ea call  0x000067b5 
+ 00020651  0x000020eb fetch  0x00000003 , 0x00000afe 
+ 00020652  0x000020ec istore  0x00000003 , 0x0000000a 
+ 00020653  0x000020ed rtn 
+ 00020654  0x000020fa call  0x00004f11 
+ 00020655  0x000020fb rtn  0x00000028 
+ 00020656  0x000020fc copy  0x00000011 , 0x0000003f 
+ 00020657  0x000020fd store  0x00000002 , 0x00004671 
+ 00020658  0x000020fe copy  0x00000012 , 0x0000003f 
+ 00020659  0x000020ff store  0x00000001 , 0x00004670 
+ 00020660  0x00002100 fetch  0x00000002 , 0x00000474 
+ 00020661  0x00002101 fetcht  0x00000002 , 0x00004675 
+ 00020662  0x00002102 isub  0x00000002 , 0x0000003e 
+ 00020663  0x00002103 branch  0x000050bb , 0x00000005 
+ 00020664  0x00002104 fetcht  0x00000002 , 0x00004677 
+ 00020665  0x00002105 isub  0x00000002 , 0x0000003e 
+ 00020666  0x00002106 nrtn  0x00000005 
+ 00020667  0x00002108 store  0x00000002 , 0x00004673 
+ 00020668  0x00002109 branch  0x00005042 
+ 00020669  0x0000210f fetch  0x00000001 , 0x00004679 
+ 00020670  0x00002110 rtnbit1  0x00000005 
+ 00020671  0x00002111 call  0x000050da 
+ 00020672  0x00002112 branch  0x00004d87 
+ 00020673  0x00002116 jam  0x00000002 , 0x00004173 
+ 00020674  0x00002117 rtn 
+ 00020675  0x0000211c rtn 
+ 00020676  0x00002120 call  0x000050cb 
+ 00020677  0x00002121 arg  0x00000200 , 0x00000002 
+ 00020678  0x00002123 isub  0x00000002 , 0x0000003e 
+ 00020679  0x00002124 rtn 
+ 00020680  0x00002127 isub  0x00000011 , 0x0000003f 
+ 00020681  0x00002128 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00020682  0x00002129 rtn 
+ 00020683  0x0000212c fetcht  0x00000002 , 0x00004ff0 
+ 00020684  0x0000212d fetch  0x00000002 , 0x00004ff2 
+ 00020685  0x0000212e isub  0x00000002 , 0x00000011 
+ 00020686  0x0000212f fetcht  0x00000002 , 0x00004ff4 
+ 00020687  0x00002130 fetch  0x00000002 , 0x00004ff6 
+ 00020688  0x00002131 isub  0x00000002 , 0x0000003f 
+ 00020689  0x00002132 ncall  0x000050c8 , 0x00000002 
+ 00020690  0x00002133 rtn 
+ 00020691  0x00002136 call  0x000050c4 
+ 00020692  0x00002137 branch  0x00004d54 , 0x00000002 
+ 00020693  0x00002138 branch  0x00004d56 
+ 00020694  0x0000213d arg  0x00000006 , 0x00000007 
+ 00020695  0x0000213e branch  0x000050e6 
+ 00020696  0x00002141 arg  0x00000006 , 0x00000007 
+ 00020697  0x00002142 branch  0x000050e2 
+ 00020698  0x00002145 arg  0x00000005 , 0x00000007 
+ 00020699  0x00002146 branch  0x000050e6 
+ 00020700  0x00002149 arg  0x00000005 , 0x00000007 
+ 00020701  0x0000214a branch  0x000050e2 
+ 00020702  0x0000214d arg  0x00000004 , 0x00000007 
+ 00020703  0x0000214e branch  0x000050e6 
+ 00020704  0x00002151 arg  0x00000004 , 0x00000007 
+ 00020705  0x00002152 branch  0x000050e2 
+ 00020706  0x00002155 fetch  0x00000001 , 0x00004679 
+ 00020707  0x00002156 qset0  0x0000003f 
+ 00020708  0x00002157 store  0x00000001 , 0x00004679 
+ 00020709  0x00002158 rtn 
+ 00020710  0x0000215b fetch  0x00000001 , 0x00004679 
+ 00020711  0x0000215c qset1  0x0000003f 
+ 00020712  0x0000215d store  0x00000001 , 0x00004679 
+ 00020713  0x0000215e rtn 
+ 00020714  0x0000216c jam  0x00000000 , 0x000041cf 
+ 00020715  0x0000216d rtn 
+ 00020716  0x0000216f fetch  0x00000006 , 0x000041d1 
+ 00020717  0x00002170 fetcht  0x00000006 , 0x00000040 
+ 00020718  0x00002171 isub  0x00000002 , 0x0000003e 
+ 00020719  0x00002172 rtn 
+ 00020720  0x00002178 fetch  0x00000001 , 0x0000004b 
+ 00020721  0x00002179 bbit1  0x00000002 , 0x000050f5 
+ 00020722  0x0000217a call  0x000066d1 
+ 00020723  0x0000217b jam  0x00000008 , 0x0000007c 
+ 00020724  0x0000217c branch  0x000050ea 
+ 00020725  0x0000217e set0  0x00000002 , 0x0000003f 
+ 00020726  0x0000217f store  0x00000001 , 0x0000004b 
+ 00020727  0x00002180 call  0x000063e3 
+ 00020728  0x00002181 setarg  0x00000000 
+ 00020729  0x00002182 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00020730  0x00002183 store  0x00000001 , 0x0000007f 
+ 00020731  0x00002184 branch  0x000050ea 
+ 00020732  0x00002185 rtn 
+ 00020733  0x00002187 jam  0x00000017 , 0x0000007c 
+ 00020734  0x00002188 arg  0x000004d5 , 0x00000005 
+ 00020735  0x00002189 setarg  0x00000000 
+ 00020736  0x0000218a isolate1  0x0000001b , 0x00000028 
+ 00020737  0x0000218b setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00020738  0x0000218c istore  0x00000001 , 0x00000005 
+ 00020739  0x0000218d setarg  0x00000000 
+ 00020740  0x0000218e istore  0x00000002 , 0x00000005 
+ 00020741  0x0000218f fetch  0x00000002 , 0x000041e4 
+ 00020742  0x00002190 istore  0x00000002 , 0x00000005 
+ 00020743  0x00002191 fetch  0x00000001 , 0x000041e6 
+ 00020744  0x00002192 istore  0x00000002 , 0x00000005 
+ 00020745  0x00002193 fetch  0x00000001 , 0x000041e8 
+ 00020746  0x00002194 istore  0x00000002 , 0x00000005 
+ 00020747  0x00002195 branch  0x000050ea 
+ 00020748  0x00002198 jam  0x00000018 , 0x0000007c 
+ 00020749  0x00002199 branch  0x000050ea 
+ 00020750  0x000021a8 bpatch  0x000000be , 0x00004017 
+ 00020751  0x000021a9 fetch  0x00000002 , 0x00000260 
+ 00020752  0x000021aa copy  0x0000003f , 0x00000006 
+ 00020753  0x000021ab ifetch  0x00000001 , 0x00000006 
+ 00020754  0x000021ac and  0x0000003f , 0x0000000f , 0x00000002 
+ 00020755  0x000021ad rshift4  0x0000003f , 0x0000003f 
+ 00020756  0x000021ae beq  0x00000009 , 0x0000512d 
+ 00020757  0x000021af beq  0x00000007 , 0x0000512d 
+ 00020758  0x000021b0 beq  0x0000000a , 0x00005139 
+ 00020759  0x000021b1 beq  0x00000005 , 0x00005125 
+ 00020760  0x000021b2 beq  0x00000001 , 0x0000511a 
+ 00020761  0x000021b3 rtn 
+ 00020762  0x000021b6 copy  0x00000002 , 0x0000003f 
+ 00020763  0x000021b7 beq  0x00000005 , 0x0000511e 
+ 00020764  0x000021b8 beq  0x00000003 , 0x00005124 
+ 00020765  0x000021b9 rtn 
+ 00020766  0x000021bc jam  0x00000027 , 0x00000a95 
+ 00020767  0x000021bd call  0x00007bab 
+ 00020768  0x000021be fetch  0x00000001 , 0x00004092 
+ 00020769  0x000021bf rtnbit0  0x00000006 
+ 00020770  0x000021c0 copy  0x00000002 , 0x0000003f 
+ 00020771  0x000021c2 rtn 
+ 00020772  0x000021c4 rtn 
+ 00020773  0x000021c7 call  0x00005139 
+ 00020774  0x000021c8 arg  0x00000001 , 0x00000011 
+ 00020775  0x000021c9 call  0x0000513d 
+ 00020776  0x000021ca fetch  0x00000002 , 0x0000421e 
+ 00020777  0x000021cb istore  0x00000002 , 0x00000005 
+ 00020778  0x000021cc setarg  0x00000000 
+ 00020779  0x000021cd istore  0x00000001 , 0x00000005 
+ 00020780  0x000021ce rtn 
+ 00020781  0x000021d1 arg  0x00000001 , 0x00000011 
+ 00020782  0x000021d2 call  0x0000513d 
+ 00020783  0x000021d3 fetch  0x00000002 , 0x0000421e 
+ 00020784  0x000021d4 istore  0x00000002 , 0x00000005 
+ 00020785  0x000021d5 setarg  0x00000000 
+ 00020786  0x000021d6 istore  0x00000001 , 0x00000005 
+ 00020787  0x000021d7 jam  0x00000001 , 0x00000a8a 
+ 00020788  0x000021d8 fetch  0x00000001 , 0x00004224 
+ 00020789  0x000021d9 set1  0x00000006 
+ 00020790  0x000021da store  0x00000001 , 0x00004224 
+ 00020791  0x000021db jam  0x00000012 , 0x00000a95 
+ 00020792  0x000021dc branch  0x00007bab 
+ 00020793  0x000021df ifetch  0x00000001 , 0x00000006 
+ 00020794  0x000021e0 beq  0x00000001 , 0x0000513c 
+ 00020795  0x000021e1 rtn 
+ 00020796  0x000021e4 rtn 
+ 00020797  0x000021e8 call  0x0000561a 
+ 00020798  0x000021e9 copy  0x00000011 , 0x00000002 
+ 00020799  0x000021ea storet  0x00000001 , 0x00000a8a 
+ 00020800  0x000021eb copy  0x0000003f , 0x00000005 
+ 00020801  0x000021ec copy  0x00000011 , 0x0000003f 
+ 00020802  0x000021ed istore  0x00000002 , 0x00000005 
+ 00020803  0x000021ee rtn 
+ 00020804  0x000021f4 branch  0x00005149 , 0x0000002b 
+ 00020805  0x000021f6 setarg  0x00004337 
+ 00020806  0x000021f7 arg  0x00004218 , 0x00000005 
+ 00020807  0x000021f8 isub  0x00000005 , 0x00000039 
+ 00020808  0x000021f9 call  0x00007caf 
+ 00020809  0x000021fb bpatch  0x000000bf , 0x00004017 
+ 00020810  0x000021fc setarg  0x0000054d 
+ 00020811  0x000021fd arg  0x0000050d , 0x00000005 
+ 00020812  0x000021fe isub  0x00000005 , 0x00000039 
+ 00020813  0x000021ff call  0x00007caf 
+ 00020814  0x00002200 setarg  0x000002c5 
+ 00020815  0x00002201 arg  0x00000259 , 0x00000005 
+ 00020816  0x00002202 isub  0x00000005 , 0x00000039 
+ 00020817  0x00002203 call  0x00007caf 
+ 00020818  0x00002204 branch  0x000056f2 
+ 00020819  0x00002207 bpatch  0x000000c0 , 0x00004018 
+ 00020820  0x00002208 copy  0x00000006 , 0x00000002 
+ 00020821  0x0000220b copy  0x00000002 , 0x00000006 
+ 00020822  0x0000220c ifetch  0x00000002 , 0x00000006 
+ 00020823  0x0000220d store  0x00000002 , 0x00000262 
+ 00020824  0x0000220e ifetch  0x00000002 , 0x00000006 
+ 00020825  0x0000220f store  0x00000002 , 0x00000264 
+ 00020826  0x00002210 deposit  0x00000006 
+ 00020827  0x00002211 store  0x00000002 , 0x00000260 
+ 00020828  0x00002212 fetch  0x00000001 , 0x00004651 
+ 00020829  0x00002213 beq  0x00000000 , 0x0000515f 
+ 00020830  0x00002214 branch  0x000054c9 
+ 00020831  0x00002217 fetch  0x00000002 , 0x00000262 
+ 00020832  0x00002218 branch  0x000051d6 , 0x00000034 
+ 00020833  0x00002219 bpatch  0x000000c1 , 0x00004018 
+ 00020834  0x0000221a fetch  0x00000001 , 0x00000264 
+ 00020835  0x0000221b beq  0x00000001 , 0x00005177 
+ 00020836  0x0000221d beq  0x00000050 , 0x000051ba 
+ 00020837  0x0000221e beq  0x00000051 , 0x000051cf 
+ 00020838  0x0000221f beq  0x00000052 , 0x000051cd 
+ 00020839  0x00002220 beq  0x00000053 , 0x000051cd 
+ 00020840  0x00002221 branch  0x000051d6 
+ 00020841  0x00002226 bpatch  0x000000c2 , 0x00004018 
+ 00020842  0x00002227 call  0x00005658 
+ 00020843  0x00002228 fetch  0x00000001 , 0x00004228 
+ 00020844  0x00002229 beq  0x00000000 , 0x00005175 
+ 00020845  0x0000222a beq  0x00000001 , 0x00005175 
+ 00020846  0x0000222b beq  0x00000002 , 0x00005175 
+ 00020847  0x0000222c beq  0x00000003 , 0x00005175 
+ 00020848  0x0000222d beq  0x00000081 , 0x00005175 
+ 00020849  0x0000222e beq  0x000000c0 , 0x00005175 
+ 00020850  0x0000222f beq  0x00000080 , 0x00005175 
+ 00020851  0x00002230 beq  0x00000040 , 0x00005175 
+ 00020852  0x00002231 rtn 
+ 00020853  0x00002234 setarg  0x00000000 
+ 00020854  0x00002235 rtn 
+ 00020855  0x00002239 call  0x00005169 
+ 00020856  0x0000223a nrtn  0x00000034 
+ 00020857  0x0000223c call  0x00005692 
+ 00020858  0x0000223d call  0x000051db 
+ 00020859  0x0000223e fetcht  0x00000002 , 0x0000026b 
+ 00020860  0x0000223f branch  0x000051d5 , 0x00000034 
+ 00020861  0x00002240 call  0x0000569b 
+ 00020862  0x00002241 fetch  0x00000002 , 0x0000026b 
+ 00020863  0x00002242 istore  0x00000002 , 0x00000005 
+ 00020864  0x00002243 force  0x00000001 , 0x0000003f 
+ 00020865  0x00002244 istore  0x00000002 , 0x00000005 
+ 00020866  0x00002245 branch  0x000051d6 
+ 00020867  0x00002248 fetch  0x00000001 , 0x00004336 
+ 00020868  0x00002249 rtn  0x00000034 
+ 00020869  0x0000224a copy  0x0000003f , 0x00000011 
+ 00020870  0x0000224b bpatch  0x000000c3 , 0x00004018 
+ 00020871  0x0000224c fetch  0x00000004 , 0x000002d1 
+ 00020872  0x0000224d arg  0x00000100 , 0x00000002 
+ 00020873  0x0000224e iadd  0x00000002 , 0x00000002 
+ 00020874  0x0000224f copy  0x00000022 , 0x0000003f 
+ 00020875  0x00002250 isub  0x00000002 , 0x0000003e 
+ 00020876  0x00002251 nrtn  0x00000002 
+ 00020877  0x00002252 jam  0x00000000 , 0x00004336 
+ 00020878  0x00002253 copy  0x00000011 , 0x0000003f 
+ 00020879  0x00002254 beq  0x00000050 , 0x00005191 
+ 00020880  0x00002255 branch  0x00004a8b 
+ 00020881  0x00002257 arg  0x00000000 , 0x00000008 
+ 00020882  0x00002258 call  0x00005692 
+ 00020883  0x00002259 call  0x00005254 
+ 00020884  0x0000225a call  0x0000569d 
+ 00020885  0x0000225b call  0x00007c83 
+ 00020886  0x0000225c call  0x00005287 
+ 00020887  0x0000225d call  0x0000569b 
+ 00020888  0x0000225f setarg  0x0000000c 
+ 00020889  0x00002260 istore  0x00000002 , 0x00000005 
+ 00020890  0x00002261 force  0x00000001 , 0x0000003f 
+ 00020891  0x00002262 istore  0x00000002 , 0x00000005 
+ 00020892  0x00002263 branch  0x000051d6 
+ 00020893  0x00002268 bpatch  0x000000c4 , 0x00004018 
+ 00020894  0x00002269 fetch  0x00000002 , 0x00000271 
+ 00020895  0x0000226a increase  0x00000004 , 0x0000003f 
+ 00020896  0x0000226b rshift4  0x0000003f , 0x0000003f 
+ 00020897  0x0000226c rshift3  0x0000003f , 0x0000003f 
+ 00020898  0x0000226d add  0x0000003f , 0x00000001 , 0x00000002 
+ 00020899  0x0000226e arg  0x00004232 , 0x00000006 
+ 00020900  0x0000226f ifetch  0x00000003 , 0x00000006 
+ 00020901  0x00002270 rtn  0x00000034 
+ 00020902  0x00002271 store  0x00000003 , 0x00000abe 
+ 00020903  0x00002272 fetch  0x00000001 , 0x00000abe 
+ 00020904  0x00002273 copy  0x0000003f , 0x00000011 
+ 00020905  0x00002274 call  0x000051ad 
+ 00020906  0x00002275 copy  0x00000012 , 0x0000003f 
+ 00020907  0x00002276 store  0x00000001 , 0x00004232 
+ 00020908  0x00002277 rtn 
+ 00020909  0x0000227a arg  0x00000000 , 0x00000007 
+ 00020910  0x0000227b arg  0x00000000 , 0x00000012 
+ 00020911  0x0000227e sub  0x00000007 , 0x00000007 , 0x0000003e 
+ 00020912  0x0000227f nrtn  0x00000002 
+ 00020913  0x00002280 qisolate1  0x00000011 
+ 00020914  0x00002281 branch  0x000051b4 , 0x00000001 
+ 00020915  0x00002282 branch  0x000051b8 
+ 00020916  0x00002285 copy  0x00000002 , 0x0000003f 
+ 00020917  0x00002286 branch  0x000051b8 , 0x00000034 
+ 00020918  0x00002287 qset1  0x00000012 
+ 00020919  0x00002288 increase  0xffffffff , 0x00000002 
+ 00020920  0x0000228b increase  0x00000001 , 0x00000007 
+ 00020921  0x0000228c branch  0x000051af 
+ 00020922  0x0000228f call  0x0000564e 
+ 00020923  0x00002290 nrtn  0x00000034 
+ 00020924  0x00002291 call  0x00005169 
+ 00020925  0x00002292 nrtn  0x00000034 
+ 00020926  0x00002293 call  0x0000569f 
+ 00020927  0x00002294 call  0x00006cd0 
+ 00020928  0x00002295 call  0x0000519d 
+ 00020929  0x00002296 branch  0x000051c6 
+ 00020930  0x0000229a call  0x0000564e 
+ 00020931  0x0000229b nrtn  0x00000034 
+ 00020932  0x0000229c call  0x0000569f 
+ 00020933  0x0000229d call  0x00006cd0 
+ 00020934  0x0000229f call  0x000056a8 
+ 00020935  0x000022a0 fetch  0x00000002 , 0x00000271 
+ 00020936  0x000022a1 branch  0x000051d5 , 0x00000034 
+ 00020937  0x000022a2 istore  0x00000002 , 0x00000005 
+ 00020938  0x000022a3 fetch  0x00000002 , 0x0000421a 
+ 00020939  0x000022a4 istore  0x00000002 , 0x00000005 
+ 00020940  0x000022a5 branch  0x000051d6 
+ 00020941  0x000022a8 call  0x0000510e 
+ 00020942  0x000022a9 branch  0x000051d6 
+ 00020943  0x000022ac bpatch  0x000000c5 , 0x00004018 
+ 00020944  0x000022ad jam  0x00000000 , 0x00000280 
+ 00020945  0x000022ae call  0x0000694b 
+ 00020946  0x000022af fetch  0x00000001 , 0x00000280 
+ 00020947  0x000022b0 rtneq  0x00000001 
+ 00020948  0x000022b1 branch  0x000051d6 
+ 00020949  0x000022b3 call  0x0000563e 
+ 00020950  0x000022b6 setarg  0x00000000 
+ 00020951  0x000022b7 store  0x00000002 , 0x00000262 
+ 00020952  0x000022b8 store  0x00000002 , 0x00000264 
+ 00020953  0x000022b9 jam  0x00000001 , 0x00000266 
+ 00020954  0x000022ba rtn 
+ 00020955  0x000022bd bpatch  0x000000c6 , 0x00004018 
+ 00020956  0x000022be call  0x0000569d 
+ 00020957  0x000022bf force  0x00000000 , 0x00000012 
+ 00020958  0x000022c0 fetch  0x00000002 , 0x00000262 
+ 00020959  0x000022c1 copy  0x0000003f , 0x00000013 
+ 00020960  0x000022c2 fetch  0x00000002 , 0x00000260 
+ 00020961  0x000022c3 iforce  0x00000006 
+ 00020962  0x000022c5 call  0x000051ea 
+ 00020963  0x000022c6 deposit  0x00000013 
+ 00020964  0x000022c7 increase  0xfffffffc , 0x00000013 
+ 00020965  0x000022c8 increase  0xfffffffc , 0x0000003f 
+ 00020966  0x000022c9 nbranch  0x000051e2 , 0x00000034 
+ 00020967  0x000022ca copy  0x00000012 , 0x0000003f 
+ 00020968  0x000022cb store  0x00000002 , 0x0000026b 
+ 00020969  0x000022cc rtn 
+ 00020970  0x000022cf bpatch  0x000000c7 , 0x00004018 
+ 00020971  0x000022d0 ifetch  0x00000001 , 0x00000006 
+ 00020972  0x000022d1 beq  0x00000001 , 0x00005223 
+ 00020973  0x000022d2 beq  0x00000002 , 0x0000522b 
+ 00020974  0x000022d3 beq  0x00000003 , 0x000052af 
+ 00020975  0x000022d4 beq  0x00000004 , 0x000052df 
+ 00020976  0x000022d5 beq  0x00000005 , 0x0000537c 
+ 00020977  0x000022d6 beq  0x00000006 , 0x000053a5 
+ 00020978  0x000022d7 beq  0x00000007 , 0x000053f5 
+ 00020979  0x000022d8 beq  0x00000008 , 0x0000542a 
+ 00020980  0x000022d9 beq  0x00000009 , 0x0000543a 
+ 00020981  0x000022da beq  0x0000000a , 0x000051f9 
+ 00020982  0x000022db beq  0x0000000b , 0x0000543b 
+ 00020983  0x000022dc call  0x0000543c 
+ 00020984  0x000022de rtn 
+ 00020985  0x000022e1 ifetch  0x00000001 , 0x00000006 
+ 00020986  0x000022e2 copy  0x0000003f , 0x00000007 
+ 00020987  0x000022e3 ifetch  0x00000002 , 0x00000006 
+ 00020988  0x000022e4 copy  0x0000003f , 0x00000011 
+ 00020989  0x000022e5 copy  0x00000013 , 0x0000003f 
+ 00020990  0x000022e6 isub  0x00000011 , 0x00000013 
+ 00020991  0x000022e7 setarg  0x0000000b 
+ 00020992  0x000022e8 istore  0x00000001 , 0x00000005 
+ 00020993  0x000022e9 copy  0x00000007 , 0x0000003f 
+ 00020994  0x000022ea istore  0x00000001 , 0x00000005 
+ 00020995  0x000022eb ifetch  0x00000002 , 0x00000006 
+ 00020996  0x000022ed beq  0x00000002 , 0x00005207 
+ 00020997  0x000022ee beq  0x00000003 , 0x0000520d 
+ 00020998  0x000022ef rtn 
+ 00020999  0x000022f1 setarg  0x00020008 
+ 00021000  0x000022f2 istore  0x00000006 , 0x00000005 
+ 00021001  0x000022f3 setarg  0x00000280 
+ 00021002  0x000022f4 istore  0x00000004 , 0x00000005 
+ 00021003  0x000022f5 force  0x0000000c , 0x0000003f 
+ 00021004  0x000022f6 branch  0x00005212 
+ 00021005  0x000022f8 setarg  0x0003000c 
+ 00021006  0x000022f9 istore  0x00000006 , 0x00000005 
+ 00021007  0x000022fa setarg  0x00000006 
+ 00021008  0x000022fb istore  0x00000008 , 0x00000005 
+ 00021009  0x000022fc force  0x00000010 , 0x0000003f 
+ 00021010  0x000022fe iadd  0x00000012 , 0x00000012 
+ 00021011  0x000022ff branch  0x000051f8 
+ 00021012  0x00002302 ifetch  0x00000001 , 0x00000006 
+ 00021013  0x00002303 copy  0x0000003f , 0x00000007 
+ 00021014  0x00002304 ifetch  0x00000002 , 0x00000006 
+ 00021015  0x00002305 copy  0x0000003f , 0x00000011 
+ 00021016  0x00002306 ifetch  0x00000002 , 0x00000006 
+ 00021017  0x00002307 store  0x00000002 , 0x00000a9e 
+ 00021018  0x00002308 copy  0x00000013 , 0x0000003f 
+ 00021019  0x00002309 isub  0x00000011 , 0x00000013 
+ 00021020  0x0000230a call  0x0000569d 
+ 00021021  0x0000230b setarg  0x0000000b 
+ 00021022  0x0000230c istore  0x00000001 , 0x00000005 
+ 00021023  0x0000230d copy  0x00000007 , 0x0000003f 
+ 00021024  0x0000230e istore  0x00000001 , 0x00000005 
+ 00021025  0x0000230f fetch  0x00000002 , 0x00000a9e 
+ 00021026  0x00002310 branch  0x00005204 
+ 00021027  0x00002315 ifetch  0x00000001 , 0x00000006 
+ 00021028  0x00002316 copy  0x0000003f , 0x00000007 
+ 00021029  0x00002317 ifetch  0x00000002 , 0x00000006 
+ 00021030  0x00002318 copy  0x0000003f , 0x00000011 
+ 00021031  0x00002319 iadd  0x00000006 , 0x00000006 
+ 00021032  0x0000231a copy  0x00000013 , 0x0000003f 
+ 00021033  0x0000231b isub  0x00000011 , 0x00000013 
+ 00021034  0x0000231d branch  0x000051f8 
+ 00021035  0x00002320 call  0x00007c83 
+ 00021036  0x00002323 call  0x00007c88 
+ 00021037  0x00002324 arg  0x00000000 , 0x00000008 
+ 00021038  0x00002325 ifetch  0x00000001 , 0x00000006 
+ 00021039  0x00002326 copy  0x0000003f , 0x00000007 
+ 00021040  0x00002327 ifetch  0x00000002 , 0x00000006 
+ 00021041  0x00002328 copy  0x0000003f , 0x00000011 
+ 00021042  0x00002329 ifetch  0x00000002 , 0x00000006 
+ 00021043  0x0000232a copy  0x0000003f , 0x00000002 
+ 00021044  0x0000232b ifetch  0x00000002 , 0x00000006 
+ 00021045  0x0000232c copy  0x0000003f , 0x0000000b 
+ 00021046  0x0000232d bpatch  0x000000c8 , 0x00004019 
+ 00021047  0x0000232e copy  0x00000002 , 0x0000003f 
+ 00021048  0x0000232f beq  0x00000001 , 0x0000523e 
+ 00021049  0x00002330 beq  0x00000003 , 0x00005260 
+ 00021050  0x00002331 beq  0x00000011 , 0x0000526c 
+ 00021051  0x00002332 beq  0x00000013 , 0x00005277 
+ 00021052  0x00002333 call  0x0000543c 
+ 00021053  0x00002334 branch  0x000052ae 
+ 00021054  0x00002337 call  0x00007c83 
+ 00021055  0x00002338 arg  0x00000050 , 0x00000002 
+ 00021056  0x00002339 fetch  0x00000002 , 0x0000421a 
+ 00021057  0x0000233a nbranch  0x000052a8 , 0x00000034 
+ 00021058  0x0000233b copy  0x0000000b , 0x0000003f 
+ 00021059  0x0000233c store  0x00000002 , 0x0000421a 
+ 00021060  0x0000233d copy  0x00000022 , 0x0000003f 
+ 00021061  0x0000233e store  0x00000004 , 0x000002d1 
+ 00021062  0x0000233f call  0x00005248 
+ 00021063  0x00002340 branch  0x00005283 
+ 00021064  0x00002343 storet  0x00000002 , 0x000002cf 
+ 00021065  0x00002344 deposit  0x0000000b 
+ 00021066  0x00002345 store  0x00000002 , 0x000002c5 
+ 00021067  0x00002346 deposit  0x00000011 
+ 00021068  0x00002347 store  0x00000002 , 0x000002c7 
+ 00021069  0x00002348 deposit  0x00000012 
+ 00021070  0x00002349 store  0x00000002 , 0x000002c9 
+ 00021071  0x0000234a deposit  0x00000013 
+ 00021072  0x0000234b store  0x00000002 , 0x000002cb 
+ 00021073  0x0000234c deposit  0x00000007 
+ 00021074  0x0000234d store  0x00000002 , 0x000002cd 
+ 00021075  0x0000234e rtn 
+ 00021076  0x00002351 fetcht  0x00000002 , 0x000002cf 
+ 00021077  0x00002352 fetch  0x00000002 , 0x000002c5 
+ 00021078  0x00002353 copy  0x0000003f , 0x0000000b 
+ 00021079  0x00002354 fetch  0x00000002 , 0x000002c7 
+ 00021080  0x00002355 copy  0x0000003f , 0x00000011 
+ 00021081  0x00002356 fetch  0x00000002 , 0x000002c9 
+ 00021082  0x00002357 copy  0x0000003f , 0x00000012 
+ 00021083  0x00002358 fetch  0x00000002 , 0x000002cb 
+ 00021084  0x00002359 copy  0x0000003f , 0x00000013 
+ 00021085  0x0000235a fetch  0x00000002 , 0x000002cd 
+ 00021086  0x0000235b copy  0x0000003f , 0x00000007 
+ 00021087  0x0000235c rtn 
+ 00021088  0x0000235f call  0x00007c83 
+ 00021089  0x00002360 setarg  0x00000051 
+ 00021090  0x00002361 arg  0x00000051 , 0x00000002 
+ 00021091  0x00002362 fetch  0x00000002 , 0x0000421c 
+ 00021092  0x00002363 nbranch  0x000052a8 , 0x00000034 
+ 00021093  0x00002364 copy  0x0000000b , 0x0000003f 
+ 00021094  0x00002365 store  0x00000002 , 0x0000421c 
+ 00021095  0x00002366 fetch  0x00000001 , 0x00004223 
+ 00021096  0x00002367 set1  0x00000000 , 0x0000003f 
+ 00021097  0x00002368 set1  0x00000001 , 0x0000003f 
+ 00021098  0x00002369 store  0x00000001 , 0x00004223 
+ 00021099  0x0000236a branch  0x0000528b 
+ 00021100  0x0000236c call  0x00007c83 
+ 00021101  0x0000236d arg  0x00000052 , 0x00000002 
+ 00021102  0x0000236e fetch  0x00000002 , 0x0000421e 
+ 00021103  0x0000236f nbranch  0x000052a8 , 0x00000034 
+ 00021104  0x00002370 copy  0x0000000b , 0x0000003f 
+ 00021105  0x00002371 store  0x00000002 , 0x0000421e 
+ 00021106  0x00002372 fetch  0x00000001 , 0x00004224 
+ 00021107  0x00002373 set1  0x00000000 , 0x0000003f 
+ 00021108  0x00002374 set1  0x00000001 , 0x0000003f 
+ 00021109  0x00002375 store  0x00000001 , 0x00004224 
+ 00021110  0x00002376 branch  0x0000528b 
+ 00021111  0x00002378 call  0x00007c83 
+ 00021112  0x00002379 deposit  0x0000001a 
+ 00021113  0x0000237a arg  0x00000053 , 0x00000002 
+ 00021114  0x0000237b fetch  0x00000002 , 0x00004220 
+ 00021115  0x0000237c nbranch  0x000052a8 , 0x00000034 
+ 00021116  0x0000237d copy  0x0000000b , 0x0000003f 
+ 00021117  0x0000237e store  0x00000002 , 0x00004220 
+ 00021118  0x0000237f fetch  0x00000001 , 0x00004225 
+ 00021119  0x00002380 set1  0x00000000 , 0x0000003f 
+ 00021120  0x00002381 set1  0x00000001 , 0x0000003f 
+ 00021121  0x00002382 store  0x00000001 , 0x00004225 
+ 00021122  0x00002383 branch  0x0000528b 
+ 00021123  0x00002386 setarg  0x00000001 
+ 00021124  0x00002387 store  0x00000002 , 0x00000279 
+ 00021125  0x00002388 jam  0x00000050 , 0x00004336 
+ 00021126  0x00002389 branch  0x0000528d 
+ 00021127  0x0000238b fetch  0x00000001 , 0x00004222 
+ 00021128  0x0000238c set1  0x00000000 , 0x0000003f 
+ 00021129  0x0000238d set1  0x00000001 , 0x0000003f 
+ 00021130  0x0000238e store  0x00000001 , 0x00004222 
+ 00021131  0x00002390 setarg  0x00000000 
+ 00021132  0x00002391 store  0x00000002 , 0x00000279 
+ 00021133  0x00002393 bpatch  0x000000c9 , 0x00004019 
+ 00021134  0x00002394 call  0x00007c88 
+ 00021135  0x00002395 setarg  0x00000003 
+ 00021136  0x00002396 istore  0x00000001 , 0x00000005 
+ 00021137  0x00002397 copy  0x00000007 , 0x0000003f 
+ 00021138  0x00002398 istore  0x00000001 , 0x00000005 
+ 00021139  0x00002399 setarg  0x00000008 
+ 00021140  0x0000239a istore  0x00000002 , 0x00000005 
+ 00021141  0x0000239b copy  0x00000002 , 0x0000003f 
+ 00021142  0x0000239c istore  0x00000002 , 0x00000005 
+ 00021143  0x0000239d copy  0x0000000b , 0x0000003f 
+ 00021144  0x0000239e istore  0x00000002 , 0x00000005 
+ 00021145  0x0000239f fetch  0x00000002 , 0x00000279 
+ 00021146  0x000023a0 beq  0x00000001 , 0x000052a3 
+ 00021147  0x000023a1 isolate0  0x00000000 , 0x00000008 
+ 00021148  0x000023a2 branch  0x0000529e , 0x00000001 
+ 00021149  0x000023a3 setarg  0x00000004 
+ 00021150  0x000023a5 istore  0x00000002 , 0x00000005 
+ 00021151  0x000023a6 force  0x00000000 , 0x0000003f 
+ 00021152  0x000023a7 istore  0x00000002 , 0x00000005 
+ 00021153  0x000023a8 setarg  0x0000000c 
+ 00021154  0x000023a9 branch  0x000052aa 
+ 00021155  0x000023ab istore  0x00000002 , 0x00000005 
+ 00021156  0x000023ac force  0x00000002 , 0x0000003f 
+ 00021157  0x000023ad istore  0x00000002 , 0x00000005 
+ 00021158  0x000023ae setarg  0x0000000c 
+ 00021159  0x000023af branch  0x000052aa 
+ 00021160  0x000023b2 set1  0x00000000 , 0x00000008 
+ 00021161  0x000023b3 branch  0x0000528b 
+ 00021162  0x000023b5 iadd  0x00000012 , 0x00000012 
+ 00021163  0x000023b6 copy  0x00000013 , 0x0000003f 
+ 00021164  0x000023b7 isub  0x00000011 , 0x00000013 
+ 00021165  0x000023b8 branch  0x000052ae 
+ 00021166  0x000023ba branch  0x000051f8 
+ 00021167  0x000023bd ifetch  0x00000001 , 0x00000006 
+ 00021168  0x000023be copy  0x0000003f , 0x00000007 
+ 00021169  0x000023bf ifetch  0x00000002 , 0x00000006 
+ 00021170  0x000023c0 copy  0x0000003f , 0x00000011 
+ 00021171  0x000023c1 copy  0x00000013 , 0x0000003f 
+ 00021172  0x000023c2 isub  0x00000011 , 0x00000013 
+ 00021173  0x000023c3 ifetch  0x00000002 , 0x00000006 
+ 00021174  0x000023c4 copy  0x0000003f , 0x0000000b 
+ 00021175  0x000023c5 ifetch  0x00000002 , 0x00000006 
+ 00021176  0x000023c6 copy  0x0000003f , 0x00000002 
+ 00021177  0x000023c7 bpatch  0x000000ca , 0x00004019 
+ 00021178  0x000023c8 setarg  0x00000050 
+ 00021179  0x000023c9 isub  0x00000002 , 0x0000003e 
+ 00021180  0x000023ca branch  0x000052c7 , 0x00000005 
+ 00021181  0x000023cb setarg  0x00000051 
+ 00021182  0x000023cc isub  0x00000002 , 0x0000003e 
+ 00021183  0x000023cd branch  0x000052cd , 0x00000005 
+ 00021184  0x000023ce setarg  0x00000052 
+ 00021185  0x000023cf isub  0x00000002 , 0x0000003e 
+ 00021186  0x000023d0 branch  0x000052d9 , 0x00000005 
+ 00021187  0x000023d1 setarg  0x00000053 
+ 00021188  0x000023d2 isub  0x00000002 , 0x0000003e 
+ 00021189  0x000023d3 branch  0x000052d3 , 0x00000005 
+ 00021190  0x000023d4 rtn 
+ 00021191  0x000023d7 copy  0x0000000b , 0x0000003f 
+ 00021192  0x000023d8 store  0x00000002 , 0x0000421a 
+ 00021193  0x000023d9 fetch  0x00000001 , 0x00004222 
+ 00021194  0x000023da set1  0x00000001 , 0x0000003f 
+ 00021195  0x000023db store  0x00000001 , 0x00004222 
+ 00021196  0x000023dc branch  0x000051f8 
+ 00021197  0x000023de copy  0x0000000b , 0x0000003f 
+ 00021198  0x000023df store  0x00000002 , 0x0000421c 
+ 00021199  0x000023e0 fetch  0x00000001 , 0x00004223 
+ 00021200  0x000023e1 set1  0x00000001 , 0x0000003f 
+ 00021201  0x000023e2 store  0x00000001 , 0x00004223 
+ 00021202  0x000023e3 rtn 
+ 00021203  0x000023e5 copy  0x0000000b , 0x0000003f 
+ 00021204  0x000023e6 store  0x00000002 , 0x0000421e 
+ 00021205  0x000023e7 fetch  0x00000001 , 0x00004225 
+ 00021206  0x000023e8 set1  0x00000001 , 0x0000003f 
+ 00021207  0x000023e9 store  0x00000001 , 0x00004225 
+ 00021208  0x000023ea rtn 
+ 00021209  0x000023ec copy  0x0000000b , 0x0000003f 
+ 00021210  0x000023ed store  0x00000002 , 0x00004220 
+ 00021211  0x000023ee fetch  0x00000001 , 0x00004224 
+ 00021212  0x000023ef set1  0x00000001 , 0x0000003f 
+ 00021213  0x000023f0 store  0x00000001 , 0x00004224 
+ 00021214  0x000023f1 rtn 
+ 00021215  0x000023f4 ifetch  0x00000001 , 0x00000006 
+ 00021216  0x000023f5 copy  0x0000003f , 0x00000007 
+ 00021217  0x000023f6 ifetch  0x00000002 , 0x00000006 
+ 00021218  0x000023f7 copy  0x0000003f , 0x00000011 
+ 00021219  0x000023f8 copy  0x00000013 , 0x0000003f 
+ 00021220  0x000023f9 isub  0x00000011 , 0x00000013 
+ 00021221  0x000023fa ifetch  0x00000002 , 0x00000006 
+ 00021222  0x000023fb copy  0x0000003f , 0x00000002 
+ 00021223  0x000023fc copy  0x00000002 , 0x00000011 
+ 00021224  0x000023fd bpatch  0x000000cb , 0x00004019 
+ 00021225  0x000023fe setarg  0x00000050 
+ 00021226  0x000023ff isub  0x00000002 , 0x0000003e 
+ 00021227  0x00002400 branch  0x000052f6 , 0x00000005 
+ 00021228  0x00002401 setarg  0x00000051 
+ 00021229  0x00002402 isub  0x00000002 , 0x0000003e 
+ 00021230  0x00002403 branch  0x00005314 , 0x00000005 
+ 00021231  0x00002404 setarg  0x00000052 
+ 00021232  0x00002405 isub  0x00000002 , 0x0000003e 
+ 00021233  0x00002406 branch  0x00005300 , 0x00000005 
+ 00021234  0x00002407 setarg  0x00000053 
+ 00021235  0x00002408 isub  0x00000002 , 0x0000003e 
+ 00021236  0x00002409 branch  0x0000530a , 0x00000005 
+ 00021237  0x0000240a branch  0x0000543c 
+ 00021238  0x0000240d copy  0x00000005 , 0x0000000b 
+ 00021239  0x0000240e fetch  0x00000001 , 0x00004222 
+ 00021240  0x0000240f set1  0x00000004 , 0x0000003f 
+ 00021241  0x00002410 set1  0x00000003 , 0x0000003f 
+ 00021242  0x00002412 store  0x00000001 , 0x00004222 
+ 00021243  0x00002413 copy  0x0000000b , 0x00000005 
+ 00021244  0x00002414 arg  0x00000050 , 0x0000000b 
+ 00021245  0x00002415 fetch  0x00000002 , 0x0000421a 
+ 00021246  0x00002416 copy  0x0000003f , 0x00000002 
+ 00021247  0x00002417 branch  0x0000531d 
+ 00021248  0x00002419 copy  0x00000005 , 0x0000000b 
+ 00021249  0x0000241a fetch  0x00000001 , 0x00004224 
+ 00021250  0x0000241b set1  0x00000004 , 0x0000003f 
+ 00021251  0x0000241c set1  0x00000003 , 0x0000003f 
+ 00021252  0x0000241e store  0x00000001 , 0x00004224 
+ 00021253  0x0000241f copy  0x0000000b , 0x00000005 
+ 00021254  0x00002420 arg  0x00000052 , 0x0000000b 
+ 00021255  0x00002421 fetch  0x00000002 , 0x0000421e 
+ 00021256  0x00002422 copy  0x0000003f , 0x00000002 
+ 00021257  0x00002423 branch  0x0000531d 
+ 00021258  0x00002425 copy  0x00000005 , 0x0000000b 
+ 00021259  0x00002426 fetch  0x00000001 , 0x00004225 
+ 00021260  0x00002427 set1  0x00000004 , 0x0000003f 
+ 00021261  0x00002428 set1  0x00000003 , 0x0000003f 
+ 00021262  0x0000242a store  0x00000001 , 0x00004225 
+ 00021263  0x0000242b copy  0x0000000b , 0x00000005 
+ 00021264  0x0000242c arg  0x00000053 , 0x0000000b 
+ 00021265  0x0000242d fetch  0x00000002 , 0x00004220 
+ 00021266  0x0000242e copy  0x0000003f , 0x00000002 
+ 00021267  0x0000242f branch  0x0000531d 
+ 00021268  0x00002431 copy  0x00000005 , 0x0000000b 
+ 00021269  0x00002432 fetch  0x00000001 , 0x00004223 
+ 00021270  0x00002433 set1  0x00000004 , 0x0000003f 
+ 00021271  0x00002434 set1  0x00000003 , 0x0000003f 
+ 00021272  0x00002436 store  0x00000001 , 0x00004223 
+ 00021273  0x00002438 copy  0x0000000b , 0x00000005 
+ 00021274  0x00002439 arg  0x00000051 , 0x0000000b 
+ 00021275  0x0000243a fetch  0x00000002 , 0x0000421c 
+ 00021276  0x0000243b copy  0x0000003f , 0x00000002 
+ 00021277  0x0000243d bpatch  0x000000cc , 0x00004019 
+ 00021278  0x0000243e setarg  0x00000005 
+ 00021279  0x0000243f istore  0x00000001 , 0x00000005 
+ 00021280  0x00002440 copy  0x00000007 , 0x0000003f 
+ 00021281  0x00002441 istore  0x00000001 , 0x00000005 
+ 00021282  0x00002442 setarg  0x00000006 
+ 00021283  0x00002443 istore  0x00000002 , 0x00000005 
+ 00021284  0x00002444 copy  0x00000002 , 0x0000003f 
+ 00021285  0x00002445 istore  0x00000002 , 0x00000005 
+ 00021286  0x00002446 force  0x00000000 , 0x0000003f 
+ 00021287  0x00002447 istore  0x00000002 , 0x00000005 
+ 00021288  0x00002448 force  0x00000000 , 0x0000003f 
+ 00021289  0x00002449 istore  0x00000002 , 0x00000005 
+ 00021290  0x0000244a force  0x0000000a , 0x0000003f 
+ 00021291  0x0000244b iadd  0x00000012 , 0x00000012 
+ 00021292  0x0000244d storet  0x00000002 , 0x0000027e 
+ 00021293  0x0000244e copy  0x00000007 , 0x0000003f 
+ 00021294  0x0000244f store  0x00000001 , 0x0000027d 
+ 00021295  0x00002450 force  0x00000050 , 0x0000003f 
+ 00021296  0x00002451 icompare  0x000000ff , 0x0000000b 
+ 00021297  0x00002452 branch  0x00005333 , 0x00000001 
+ 00021298  0x00002453 increase  0x00000001 , 0x0000003f 
+ 00021299  0x00002456 rtn 
+ 00021300  0x00002458 disable  0x00000028 
+ 00021301  0x00002459 rtnbit1  0x00000002 , 0x0000003f 
+ 00021302  0x0000245a rtnbit0  0x00000000 , 0x0000003f 
+ 00021303  0x0000245b rtnbit0  0x00000001 , 0x0000003f 
+ 00021304  0x0000245c set1  0x00000002 , 0x0000003f 
+ 00021305  0x0000245d copy  0x00000006 , 0x00000005 
+ 00021306  0x0000245e increase  0xffffffff , 0x00000005 
+ 00021307  0x0000245f istore  0x00000001 , 0x00000005 
+ 00021308  0x00002460 enable  0x00000028 
+ 00021309  0x00002461 rtn 
+ 00021310  0x00002464 fetch  0x00000001 , 0x00004222 
+ 00021311  0x00002465 call  0x00005334 
+ 00021312  0x00002466 nbranch  0x00005345 , 0x00000028 
+ 00021313  0x00002467 jam  0x00000050 , 0x0000027c 
+ 00021314  0x00002468 fetch  0x00000002 , 0x0000421a 
+ 00021315  0x00002469 store  0x00000002 , 0x0000027e 
+ 00021316  0x0000246a branch  0x00005359 
+ 00021317  0x0000246c fetch  0x00000001 , 0x00004223 
+ 00021318  0x0000246d call  0x00005334 
+ 00021319  0x0000246e nbranch  0x0000534c , 0x00000028 
+ 00021320  0x0000246f jam  0x00000051 , 0x0000027c 
+ 00021321  0x00002470 fetch  0x00000002 , 0x0000421c 
+ 00021322  0x00002471 store  0x00000002 , 0x0000027e 
+ 00021323  0x00002472 branch  0x00005359 
+ 00021324  0x00002474 fetch  0x00000001 , 0x00004224 
+ 00021325  0x00002475 call  0x00005334 
+ 00021326  0x00002476 nbranch  0x00005353 , 0x00000028 
+ 00021327  0x00002477 jam  0x00000052 , 0x0000027c 
+ 00021328  0x00002478 fetch  0x00000002 , 0x0000421e 
+ 00021329  0x00002479 store  0x00000002 , 0x0000027e 
+ 00021330  0x0000247a branch  0x00005359 
+ 00021331  0x0000247c fetch  0x00000001 , 0x00004225 
+ 00021332  0x0000247d call  0x00005334 
+ 00021333  0x0000247e nrtn  0x00000028 
+ 00021334  0x0000247f jam  0x00000053 , 0x0000027c 
+ 00021335  0x00002480 fetch  0x00000002 , 0x00004220 
+ 00021336  0x00002481 store  0x00000002 , 0x0000027e 
+ 00021337  0x00002485 bpatch  0x000000cd , 0x00004019 
+ 00021338  0x00002486 call  0x00005614 
+ 00021339  0x00002487 call  0x00005692 
+ 00021340  0x00002488 force  0x00000000 , 0x00000012 
+ 00021341  0x00002489 call  0x0000569d 
+ 00021342  0x0000248a force  0x00000004 , 0x0000003f 
+ 00021343  0x0000248b istore  0x00000001 , 0x00000005 
+ 00021344  0x0000248c fetch  0x00000001 , 0x00004227 
+ 00021345  0x0000248d istore  0x00000001 , 0x00000005 
+ 00021346  0x0000248e setarg  0x00000008 
+ 00021347  0x0000248f istore  0x00000002 , 0x00000005 
+ 00021348  0x00002490 fetch  0x00000002 , 0x0000027e 
+ 00021349  0x00002491 istore  0x00000002 , 0x00000005 
+ 00021350  0x00002492 setarg  0x00000000 
+ 00021351  0x00002493 istore  0x00000002 , 0x00000005 
+ 00021352  0x00002494 force  0x00000001 , 0x0000003f 
+ 00021353  0x00002495 istore  0x00000001 , 0x00000005 
+ 00021354  0x00002496 force  0x00000002 , 0x0000003f 
+ 00021355  0x00002497 istore  0x00000001 , 0x00000005 
+ 00021356  0x00002498 fetch  0x00000001 , 0x0000027c 
+ 00021357  0x00002499 beq  0x00000051 , 0x00005371 
+ 00021358  0x0000249a setarg  0x00000030 
+ 00021359  0x0000249b istore  0x00000002 , 0x00000005 
+ 00021360  0x0000249c branch  0x00005373 
+ 00021361  0x0000249e setarg  0x000003e3 
+ 00021362  0x0000249f istore  0x00000002 , 0x00000005 
+ 00021363  0x000024a1 arg  0x0000000c , 0x00000002 
+ 00021364  0x000024a2 storet  0x00000002 , 0x0000026b 
+ 00021365  0x000024a3 call  0x0000569b 
+ 00021366  0x000024a4 fetch  0x00000002 , 0x0000026b 
+ 00021367  0x000024a5 istore  0x00000002 , 0x00000005 
+ 00021368  0x000024a6 force  0x00000001 , 0x0000003f 
+ 00021369  0x000024a7 istore  0x00000002 , 0x00000005 
+ 00021370  0x000024a8 jam  0x00000000 , 0x0000027c 
+ 00021371  0x000024aa branch  0x000051f8 
+ 00021372  0x000024ad increase  0x00000001 , 0x00000006 
+ 00021373  0x000024ae ifetch  0x00000002 , 0x00000006 
+ 00021374  0x000024af copy  0x0000003f , 0x00000011 
+ 00021375  0x000024b0 copy  0x00000013 , 0x0000003f 
+ 00021376  0x000024b1 isub  0x00000011 , 0x00000013 
+ 00021377  0x000024b2 ifetch  0x00000002 , 0x00000006 
+ 00021378  0x000024b3 copy  0x0000003f , 0x00000011 
+ 00021379  0x000024b4 bpatch  0x000000ce , 0x00004019 
+ 00021380  0x000024b5 setarg  0x00000050 
+ 00021381  0x000024b6 isub  0x00000011 , 0x0000003e 
+ 00021382  0x000024b7 branch  0x00005394 , 0x00000005 
+ 00021383  0x000024b8 setarg  0x00000051 
+ 00021384  0x000024b9 isub  0x00000011 , 0x0000003e 
+ 00021385  0x000024ba branch  0x00005398 , 0x00000005 
+ 00021386  0x000024bb setarg  0x00000052 
+ 00021387  0x000024bc isub  0x00000011 , 0x0000003e 
+ 00021388  0x000024bd branch  0x0000539c , 0x00000005 
+ 00021389  0x000024be setarg  0x00000053 
+ 00021390  0x000024bf isub  0x00000011 , 0x0000003e 
+ 00021391  0x000024c0 branch  0x000053a0 , 0x00000005 
+ 00021392  0x000024c1 increase  0x00000002 , 0x00000006 
+ 00021393  0x000024c2 ifetch  0x00000002 , 0x00000006 
+ 00021394  0x000024c3 iforce  0x0000003e 
+ 00021395  0x000024c4 branch  0x000051f8 
+ 00021396  0x000024c6 fetch  0x00000001 , 0x00004222 
+ 00021397  0x000024c7 set1  0x00000005 , 0x0000003f 
+ 00021398  0x000024c8 store  0x00000001 , 0x00004222 
+ 00021399  0x000024c9 branch  0x000051f8 
+ 00021400  0x000024cb fetch  0x00000001 , 0x00004223 
+ 00021401  0x000024cc set1  0x00000005 , 0x0000003f 
+ 00021402  0x000024cd store  0x00000001 , 0x00004223 
+ 00021403  0x000024ce branch  0x000051f8 
+ 00021404  0x000024d0 fetch  0x00000001 , 0x00004224 
+ 00021405  0x000024d1 set1  0x00000005 , 0x0000003f 
+ 00021406  0x000024d2 store  0x00000001 , 0x00004224 
+ 00021407  0x000024d3 branch  0x000051f8 
+ 00021408  0x000024d5 fetch  0x00000001 , 0x00004225 
+ 00021409  0x000024d6 set1  0x00000005 , 0x0000003f 
+ 00021410  0x000024d7 store  0x00000001 , 0x00004225 
+ 00021411  0x000024d8 jam  0x00000006 , 0x00000a95 
+ 00021412  0x000024d9 branch  0x00007bab 
+ 00021413  0x000024de ifetch  0x00000001 , 0x00000006 
+ 00021414  0x000024df copy  0x0000003f , 0x00000007 
+ 00021415  0x000024e0 ifetch  0x00000002 , 0x00000006 
+ 00021416  0x000024e1 copy  0x0000003f , 0x00000011 
+ 00021417  0x000024e2 copy  0x00000013 , 0x0000003f 
+ 00021418  0x000024e3 isub  0x00000011 , 0x00000013 
+ 00021419  0x000024e4 ifetch  0x00000002 , 0x00000006 
+ 00021420  0x000024e5 copy  0x0000003f , 0x00000011 
+ 00021421  0x000024e6 ifetch  0x00000002 , 0x00000006 
+ 00021422  0x000024e7 copy  0x0000003f , 0x0000000b 
+ 00021423  0x000024e8 copy  0x00000011 , 0x00000002 
+ 00021424  0x000024e9 call  0x00007c83 
+ 00021425  0x000024ea bpatch  0x000000cf , 0x00004019 
+ 00021426  0x000024eb setarg  0x00000050 
+ 00021427  0x000024ec isub  0x00000002 , 0x0000003e 
+ 00021428  0x000024ed branch  0x000053cc , 0x00000005 
+ 00021429  0x000024ee setarg  0x00000051 
+ 00021430  0x000024ef isub  0x00000002 , 0x0000003e 
+ 00021431  0x000024f0 branch  0x000053dc , 0x00000005 
+ 00021432  0x000024f1 setarg  0x00000052 
+ 00021433  0x000024f2 isub  0x00000002 , 0x0000003e 
+ 00021434  0x000024f3 branch  0x000053c0 , 0x00000005 
+ 00021435  0x000024f4 setarg  0x00000053 
+ 00021436  0x000024f5 isub  0x00000002 , 0x0000003e 
+ 00021437  0x000024f6 branch  0x000053c6 , 0x00000005 
+ 00021438  0x000024f7 call  0x0000543c 
+ 00021439  0x000024f8 branch  0x000053f1 
+ 00021440  0x000024fa copy  0x0000000b , 0x00000002 
+ 00021441  0x000024fb fetch  0x00000002 , 0x0000421e 
+ 00021442  0x000024fc isub  0x00000002 , 0x0000003e 
+ 00021443  0x000024fd branch  0x000053d2 , 0x00000005 
+ 00021444  0x000024fe call  0x0000543c 
+ 00021445  0x000024ff branch  0x000053f1 
+ 00021446  0x00002501 copy  0x0000000b , 0x00000002 
+ 00021447  0x00002502 fetch  0x00000002 , 0x00004220 
+ 00021448  0x00002503 isub  0x00000002 , 0x0000003e 
+ 00021449  0x00002504 branch  0x000053d4 , 0x00000005 
+ 00021450  0x00002505 call  0x0000543c 
+ 00021451  0x00002506 branch  0x000053f1 
+ 00021452  0x00002509 copy  0x0000000b , 0x00000002 
+ 00021453  0x0000250a fetch  0x00000002 , 0x0000421a 
+ 00021454  0x0000250b isub  0x00000002 , 0x0000003e 
+ 00021455  0x0000250c branch  0x000053d8 , 0x00000005 
+ 00021456  0x0000250d call  0x0000543c 
+ 00021457  0x0000250e branch  0x000053f1 
+ 00021458  0x00002510 call  0x00005453 
+ 00021459  0x00002511 branch  0x000053e4 
+ 00021460  0x00002513 call  0x00005459 
+ 00021461  0x00002514 fetch  0x00000002 , 0x0000421e 
+ 00021462  0x00002515 branch  0x000053e4 , 0x00000034 
+ 00021463  0x0000251d branch  0x000053e4 
+ 00021464  0x00002520 call  0x0000544e 
+ 00021465  0x00002521 fetch  0x00000001 , 0x00000284 
+ 00021466  0x00002522 nbranch  0x000053e4 , 0x00000034 
+ 00021467  0x00002525 branch  0x000053e4 
+ 00021468  0x00002527 copy  0x0000000b , 0x00000002 
+ 00021469  0x00002528 fetch  0x00000002 , 0x0000421c 
+ 00021470  0x00002529 isub  0x00000002 , 0x0000003e 
+ 00021471  0x0000252a branch  0x000053e2 , 0x00000005 
+ 00021472  0x0000252b call  0x0000543c 
+ 00021473  0x0000252c branch  0x000053f1 
+ 00021474  0x0000252e call  0x00005449 
+ 00021475  0x0000252f branch  0x000053e4 
+ 00021476  0x00002531 call  0x00007c88 
+ 00021477  0x00002532 setarg  0x00000007 
+ 00021478  0x00002533 istore  0x00000001 , 0x00000005 
+ 00021479  0x00002534 copy  0x00000007 , 0x0000003f 
+ 00021480  0x00002535 istore  0x00000001 , 0x00000005 
+ 00021481  0x00002536 setarg  0x00000004 
+ 00021482  0x00002537 istore  0x00000002 , 0x00000005 
+ 00021483  0x00002538 copy  0x00000011 , 0x0000003f 
+ 00021484  0x00002539 istore  0x00000002 , 0x00000005 
+ 00021485  0x0000253a copy  0x0000000b , 0x0000003f 
+ 00021486  0x0000253b istore  0x00000002 , 0x00000005 
+ 00021487  0x0000253c force  0x00000008 , 0x0000003f 
+ 00021488  0x0000253d branch  0x000053f3 
+ 00021489  0x0000253f call  0x00007c88 
+ 00021490  0x00002540 branch  0x000053f3 
+ 00021491  0x00002542 iadd  0x00000012 , 0x00000012 
+ 00021492  0x00002543 branch  0x000051f8 
+ 00021493  0x00002545 ifetch  0x00000001 , 0x00000006 
+ 00021494  0x00002546 copy  0x0000003f , 0x00000007 
+ 00021495  0x00002547 ifetch  0x00000002 , 0x00000006 
+ 00021496  0x00002548 copy  0x0000003f , 0x00000011 
+ 00021497  0x00002549 copy  0x00000013 , 0x0000003f 
+ 00021498  0x0000254a isub  0x00000011 , 0x00000013 
+ 00021499  0x0000254b ifetch  0x00000002 , 0x00000006 
+ 00021500  0x0000254c copy  0x0000003f , 0x0000000b 
+ 00021501  0x0000254d ifetch  0x00000002 , 0x00000006 
+ 00021502  0x0000254e copy  0x0000003f , 0x00000002 
+ 00021503  0x0000254f call  0x00007c83 
+ 00021504  0x00002550 bpatch  0x000000d0 , 0x0000401a 
+ 00021505  0x00002551 setarg  0x00000050 
+ 00021506  0x00002552 isub  0x00000002 , 0x0000003e 
+ 00021507  0x00002553 branch  0x0000540f , 0x00000005 
+ 00021508  0x00002554 setarg  0x00000051 
+ 00021509  0x00002555 isub  0x00000002 , 0x0000003e 
+ 00021510  0x00002556 branch  0x00005415 , 0x00000005 
+ 00021511  0x00002557 setarg  0x00000052 
+ 00021512  0x00002558 isub  0x00000002 , 0x0000003e 
+ 00021513  0x00002559 branch  0x0000541b , 0x00000005 
+ 00021514  0x0000255a setarg  0x00000053 
+ 00021515  0x0000255b isub  0x00000002 , 0x0000003e 
+ 00021516  0x0000255c branch  0x00005421 , 0x00000005 
+ 00021517  0x0000255d call  0x0000543c 
+ 00021518  0x0000255e branch  0x00005429 
+ 00021519  0x00002560 copy  0x00000002 , 0x00000011 
+ 00021520  0x00002561 copy  0x0000000b , 0x00000002 
+ 00021521  0x00002562 fetch  0x00000002 , 0x0000421a 
+ 00021522  0x00002563 isub  0x00000002 , 0x0000003e 
+ 00021523  0x00002564 call  0x0000544e , 0x00000005 
+ 00021524  0x00002565 branch  0x00005427 
+ 00021525  0x00002567 copy  0x00000002 , 0x00000011 
+ 00021526  0x00002568 copy  0x0000000b , 0x00000002 
+ 00021527  0x00002569 fetch  0x00000002 , 0x0000421c 
+ 00021528  0x0000256a isub  0x00000002 , 0x0000003e 
+ 00021529  0x0000256b call  0x00005449 , 0x00000005 
+ 00021530  0x0000256c branch  0x00005427 
+ 00021531  0x0000256e copy  0x00000002 , 0x00000011 
+ 00021532  0x0000256f copy  0x0000000b , 0x00000002 
+ 00021533  0x00002570 fetch  0x00000002 , 0x0000421e 
+ 00021534  0x00002571 isub  0x00000002 , 0x0000003e 
+ 00021535  0x00002572 call  0x00005453 , 0x00000005 
+ 00021536  0x00002573 branch  0x00005427 
+ 00021537  0x00002575 copy  0x00000002 , 0x00000011 
+ 00021538  0x00002576 copy  0x0000000b , 0x00000002 
+ 00021539  0x00002577 fetch  0x00000002 , 0x00004220 
+ 00021540  0x00002578 isub  0x00000002 , 0x0000003e 
+ 00021541  0x00002579 call  0x00005459 , 0x00000005 
+ 00021542  0x0000257a branch  0x00005427 
+ 00021543  0x0000257c call  0x00007c88 
+ 00021544  0x0000257d branch  0x000051f8 
+ 00021545  0x0000257f branch  0x000051f8 
+ 00021546  0x00002583 ifetch  0x00000001 , 0x00000006 
+ 00021547  0x00002584 copy  0x0000003f , 0x00000007 
+ 00021548  0x00002585 ifetch  0x00000002 , 0x00000006 
+ 00021549  0x00002586 copy  0x0000003f , 0x00000011 
+ 00021550  0x00002587 iadd  0x00000006 , 0x00000006 
+ 00021551  0x00002588 setarg  0x00000009 
+ 00021552  0x00002589 istore  0x00000001 , 0x00000005 
+ 00021553  0x0000258a copy  0x00000007 , 0x0000003f 
+ 00021554  0x0000258b istore  0x00000001 , 0x00000005 
+ 00021555  0x0000258c force  0x00000000 , 0x0000003f 
+ 00021556  0x0000258d istore  0x00000002 , 0x00000005 
+ 00021557  0x0000258e force  0x00000004 , 0x0000003f 
+ 00021558  0x0000258f iadd  0x00000012 , 0x00000012 
+ 00021559  0x00002590 copy  0x00000013 , 0x0000003f 
+ 00021560  0x00002591 isub  0x00000011 , 0x00000013 
+ 00021561  0x00002592 branch  0x000051f8 
+ 00021562  0x00002594 branch  0x000051f8 
+ 00021563  0x00002597 branch  0x000051f8 
+ 00021564  0x00002599 force  0x00000000 , 0x00000012 
+ 00021565  0x0000259a call  0x0000569d 
+ 00021566  0x0000259b setarg  0x00000001 
+ 00021567  0x0000259c istore  0x00000001 , 0x00000005 
+ 00021568  0x0000259d copy  0x00000007 , 0x0000003f 
+ 00021569  0x0000259e istore  0x00000001 , 0x00000005 
+ 00021570  0x0000259f setarg  0x00000002 
+ 00021571  0x000025a0 istore  0x00000002 , 0x00000005 
+ 00021572  0x000025a1 setarg  0x00000000 
+ 00021573  0x000025a2 istore  0x00000002 , 0x00000005 
+ 00021574  0x000025a3 increase  0x00000006 , 0x00000012 
+ 00021575  0x000025a4 arg  0x00000004 , 0x00000013 
+ 00021576  0x000025a5 branch  0x000051f8 
+ 00021577  0x000025aa setarg  0x00000000 
+ 00021578  0x000025ab store  0x00000002 , 0x00000277 
+ 00021579  0x000025ac store  0x00000002 , 0x0000421c 
+ 00021580  0x000025ad jam  0x00000000 , 0x00004223 
+ 00021581  0x000025ae rtn 
+ 00021582  0x000025b0 setarg  0x00000000 
+ 00021583  0x000025b1 store  0x00000002 , 0x00000271 
+ 00021584  0x000025b2 store  0x00000002 , 0x0000421a 
+ 00021585  0x000025b3 jam  0x00000000 , 0x00004222 
+ 00021586  0x000025b4 rtn 
+ 00021587  0x000025b6 setarg  0x00000000 
+ 00021588  0x000025b7 store  0x00000002 , 0x0000421e 
+ 00021589  0x000025b8 jam  0x00000000 , 0x00004224 
+ 00021590  0x000025b9 fetch  0x00000001 , 0x00004225 
+ 00021591  0x000025ba beq  0x00000000 , 0x0000545f 
+ 00021592  0x000025bb rtn 
+ 00021593  0x000025be setarg  0x00000000 
+ 00021594  0x000025bf store  0x00000002 , 0x00004220 
+ 00021595  0x000025c0 jam  0x00000000 , 0x00004225 
+ 00021596  0x000025c1 fetch  0x00000001 , 0x00004224 
+ 00021597  0x000025c2 beq  0x00000000 , 0x0000545f 
+ 00021598  0x000025c3 rtn 
+ 00021599  0x000025c6 jam  0x00000007 , 0x00000a95 
+ 00021600  0x000025c7 branch  0x00007bab 
+ 00021601  0x000025ca fetch  0x00000001 , 0x0000027b 
+ 00021602  0x000025cb set0  0x00000000 , 0x0000003f 
+ 00021603  0x000025cc store  0x00000001 , 0x0000027b 
+ 00021604  0x000025cd fetch  0x00000002 , 0x00004220 
+ 00021605  0x000025ce rtn  0x00000034 
+ 00021606  0x000025cf call  0x00005692 
+ 00021607  0x000025d0 fetch  0x00000002 , 0x00004220 
+ 00021608  0x000025d1 copy  0x0000003f , 0x00000011 
+ 00021609  0x000025d2 force  0x00000053 , 0x00000012 
+ 00021610  0x000025d3 branch  0x00005474 
+ 00021611  0x000025d5 fetch  0x00000001 , 0x0000027b 
+ 00021612  0x000025d6 set0  0x00000007 , 0x0000003f 
+ 00021613  0x000025d7 store  0x00000001 , 0x0000027b 
+ 00021614  0x000025d8 fetch  0x00000002 , 0x0000421e 
+ 00021615  0x000025d9 rtn  0x00000034 
+ 00021616  0x000025da call  0x00005692 
+ 00021617  0x000025db fetch  0x00000002 , 0x0000421e 
+ 00021618  0x000025dc copy  0x0000003f , 0x00000011 
+ 00021619  0x000025dd force  0x00000052 , 0x00000012 
+ 00021620  0x000025df call  0x00005614 
+ 00021621  0x000025e0 call  0x0000569d 
+ 00021622  0x000025e1 force  0x00000006 , 0x0000003f 
+ 00021623  0x000025e2 istore  0x00000001 , 0x00000005 
+ 00021624  0x000025e3 fetch  0x00000001 , 0x00004227 
+ 00021625  0x000025e4 istore  0x00000001 , 0x00000005 
+ 00021626  0x000025e5 setarg  0x00000004 
+ 00021627  0x000025e6 istore  0x00000002 , 0x00000005 
+ 00021628  0x000025e7 copy  0x00000011 , 0x0000003f 
+ 00021629  0x000025e8 istore  0x00000002 , 0x00000005 
+ 00021630  0x000025e9 copy  0x00000012 , 0x0000003f 
+ 00021631  0x000025ea istore  0x00000002 , 0x00000005 
+ 00021632  0x000025eb force  0x00000008 , 0x00000002 
+ 00021633  0x000025ec branch  0x000054b8 
+ 00021634  0x000025ef bpatch  0x000000d1 , 0x0000401a 
+ 00021635  0x000025f0 call  0x00005614 
+ 00021636  0x000025f1 call  0x0000569d 
+ 00021637  0x000025f2 setarg  0x00000002 
+ 00021638  0x000025f3 istore  0x00000001 , 0x00000005 
+ 00021639  0x000025f4 fetch  0x00000001 , 0x00004227 
+ 00021640  0x000025f5 istore  0x00000001 , 0x00000005 
+ 00021641  0x000025f6 setarg  0x00000004 
+ 00021642  0x000025f7 istore  0x00000002 , 0x00000005 
+ 00021643  0x000025f8 copy  0x00000002 , 0x0000003f 
+ 00021644  0x000025f9 istore  0x00000002 , 0x00000005 
+ 00021645  0x000025fa copy  0x0000000b , 0x0000003f 
+ 00021646  0x000025fb istore  0x00000002 , 0x00000005 
+ 00021647  0x000025fc arg  0x00000008 , 0x00000002 
+ 00021648  0x000025fd branch  0x000054b8 
+ 00021649  0x000025ff bpatch  0x000000d2 , 0x0000401a 
+ 00021650  0x00002600 call  0x00005614 
+ 00021651  0x00002601 call  0x0000569d 
+ 00021652  0x00002602 setarg  0x00000004 
+ 00021653  0x00002603 istore  0x00000001 , 0x00000005 
+ 00021654  0x00002604 fetch  0x00000001 , 0x00004227 
+ 00021655  0x00002605 istore  0x00000001 , 0x00000005 
+ 00021656  0x00002606 setarg  0x00000008 
+ 00021657  0x00002607 istore  0x00000002 , 0x00000005 
+ 00021658  0x00002609 copy  0x00000002 , 0x0000003f 
+ 00021659  0x0000260b istore  0x00000002 , 0x00000005 
+ 00021660  0x0000260c setarg  0x00000000 
+ 00021661  0x0000260d istore  0x00000002 , 0x00000005 
+ 00021662  0x0000260e setarg  0x00000001 
+ 00021663  0x0000260f istore  0x00000001 , 0x00000005 
+ 00021664  0x00002610 setarg  0x00000002 
+ 00021665  0x00002611 istore  0x00000001 , 0x00000005 
+ 00021666  0x00002612 setarg  0x000003e3 
+ 00021667  0x00002613 istore  0x00000002 , 0x00000005 
+ 00021668  0x00002614 arg  0x0000000c , 0x00000002 
+ 00021669  0x00002615 branch  0x000054b8 
+ 00021670  0x00002617 bpatch  0x000000d3 , 0x0000401a 
+ 00021671  0x00002618 call  0x00005614 
+ 00021672  0x00002619 call  0x0000569d 
+ 00021673  0x0000261a setarg  0x00000006 
+ 00021674  0x0000261b istore  0x00000001 , 0x00000005 
+ 00021675  0x0000261c fetch  0x00000001 , 0x00004227 
+ 00021676  0x0000261d increase  0x00000001 , 0x0000003f 
+ 00021677  0x0000261e copy  0x00000005 , 0x00000011 
+ 00021678  0x0000261f store  0x00000001 , 0x00004227 
+ 00021679  0x00002620 copy  0x00000011 , 0x00000005 
+ 00021680  0x00002621 istore  0x00000001 , 0x00000005 
+ 00021681  0x00002622 setarg  0x00000004 
+ 00021682  0x00002623 istore  0x00000002 , 0x00000005 
+ 00021683  0x00002624 copy  0x00000002 , 0x0000003f 
+ 00021684  0x00002625 istore  0x00000002 , 0x00000005 
+ 00021685  0x00002626 copy  0x0000000b , 0x0000003f 
+ 00021686  0x00002627 istore  0x00000002 , 0x00000005 
+ 00021687  0x00002628 arg  0x00000008 , 0x00000002 
+ 00021688  0x0000262c storet  0x00000002 , 0x0000026b 
+ 00021689  0x0000262d copy  0x00000002 , 0x0000003f 
+ 00021690  0x0000262e branch  0x0000563e , 0x00000034 
+ 00021691  0x0000262f call  0x0000569b 
+ 00021692  0x00002630 fetch  0x00000002 , 0x0000026b 
+ 00021693  0x00002631 istore  0x00000002 , 0x00000005 
+ 00021694  0x00002632 force  0x00000001 , 0x0000003f 
+ 00021695  0x00002633 istore  0x00000002 , 0x00000005 
+ 00021696  0x00002634 rtn 
+ 00021697  0x00002637 fetch  0x00000002 , 0x00000271 
+ 00021698  0x00002638 branch  0x00004a8b , 0x00000034 
+ 00021699  0x00002639 call  0x000056a8 
+ 00021700  0x0000263a fetch  0x00000002 , 0x00000271 
+ 00021701  0x0000263b istore  0x00000002 , 0x00000005 
+ 00021702  0x0000263c fetch  0x00000002 , 0x0000421a 
+ 00021703  0x0000263d istore  0x00000002 , 0x00000005 
+ 00021704  0x0000263e rtn 
+ 00021705  0x00002640 fetch  0x00000002 , 0x00000262 
+ 00021706  0x00002641 branch  0x000051d6 , 0x00000034 
+ 00021707  0x00002642 bpatch  0x000000d4 , 0x0000401a 
+ 00021708  0x00002643 fetch  0x00000001 , 0x00000264 
+ 00021709  0x00002644 beq  0x00000001 , 0x000054d3 
+ 00021710  0x00002645 beq  0x00000050 , 0x000051c2 
+ 00021711  0x00002646 beq  0x00000051 , 0x000051cf 
+ 00021712  0x00002647 beq  0x00000052 , 0x000051cd 
+ 00021713  0x00002648 beq  0x00000053 , 0x000051cd 
+ 00021714  0x00002649 branch  0x000051d6 
+ 00021715  0x0000264c bpatch  0x000000d5 , 0x0000401a 
+ 00021716  0x0000264d call  0x00005692 
+ 00021717  0x0000264e force  0x00000000 , 0x00000012 
+ 00021718  0x0000264f call  0x0000569d 
+ 00021719  0x00002650 copy  0x0000003f , 0x00000005 
+ 00021720  0x00002651 fetch  0x00000002 , 0x00000262 
+ 00021721  0x00002652 copy  0x0000003f , 0x00000013 
+ 00021722  0x00002653 fetch  0x00000002 , 0x00000260 
+ 00021723  0x00002654 iforce  0x00000006 
+ 00021724  0x00002656 call  0x000054e2 
+ 00021725  0x00002657 increase  0xfffffffc , 0x00000013 
+ 00021726  0x00002658 nbranch  0x000054dc , 0x00000005 
+ 00021727  0x00002659 copy  0x00000012 , 0x00000002 
+ 00021728  0x0000265a call  0x000054b8 
+ 00021729  0x0000265b branch  0x000051d6 
+ 00021730  0x0000265e ifetch  0x00000001 , 0x00000006 
+ 00021731  0x0000265f beq  0x00000002 , 0x000054ed 
+ 00021732  0x00002660 beq  0x00000001 , 0x000054f0 
+ 00021733  0x00002661 beq  0x00000003 , 0x000054fa 
+ 00021734  0x00002662 beq  0x00000005 , 0x00005536 
+ 00021735  0x00002663 beq  0x00000004 , 0x00005568 
+ 00021736  0x00002664 beq  0x00000007 , 0x000055ed 
+ 00021737  0x00002665 beq  0x00000006 , 0x000055bb 
+ 00021738  0x00002666 beq  0x00000008 , 0x0000542a 
+ 00021739  0x00002667 beq  0x0000000a , 0x00005214 
+ 00021740  0x00002668 branch  0x00005608 
+ 00021741  0x0000266b call  0x00007c83 
+ 00021742  0x0000266d call  0x00007c88 
+ 00021743  0x0000266e branch  0x0000522b 
+ 00021744  0x00002670 ifetch  0x00000001 , 0x00000006 
+ 00021745  0x00002671 copy  0x0000003f , 0x00000007 
+ 00021746  0x00002672 ifetch  0x00000002 , 0x00000006 
+ 00021747  0x00002673 copy  0x0000003f , 0x00000011 
+ 00021748  0x00002674 copy  0x00000013 , 0x0000003f 
+ 00021749  0x00002675 isub  0x00000011 , 0x00000013 
+ 00021750  0x00002677 ifetch  0x00000001 , 0x00000006 
+ 00021751  0x00002678 increase  0xffffffff , 0x00000011 
+ 00021752  0x00002679 nbranch  0x000054f6 , 0x00000005 
+ 00021753  0x0000267a rtn 
+ 00021754  0x0000267c ifetch  0x00000001 , 0x00000006 
+ 00021755  0x0000267d copy  0x0000003f , 0x00000007 
+ 00021756  0x0000267e ifetch  0x00000002 , 0x00000006 
+ 00021757  0x0000267f copy  0x0000003f , 0x00000011 
+ 00021758  0x00002680 ifetch  0x00000002 , 0x00000006 
+ 00021759  0x00002681 copy  0x0000003f , 0x0000000b 
+ 00021760  0x00002682 ifetch  0x00000002 , 0x00000006 
+ 00021761  0x00002683 copy  0x0000003f , 0x00000002 
+ 00021762  0x00002684 ifetch  0x00000002 , 0x00000006 
+ 00021763  0x00002685 sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00021764  0x00002686 branch  0x0000550c , 0x00000005 
+ 00021765  0x00002687 beq  0x00000002 , 0x00005508 
+ 00021766  0x00002688 beq  0x00000004 , 0x00005508 
+ 00021767  0x00002689 branch  0x0000550a 
+ 00021768  0x0000268b jam  0x00000016 , 0x00000a95 
+ 00021769  0x0000268c call  0x00007bab 
+ 00021770  0x0000268e ifetch  0x00000002 , 0x00000006 
+ 00021771  0x0000268f branch  0x00005533 
+ 00021772  0x00002691 call  0x00007c83 
+ 00021773  0x00002695 bpatch  0x000000d6 , 0x0000401a 
+ 00021774  0x00002696 setarg  0x00000050 
+ 00021775  0x00002697 isub  0x00000002 , 0x0000003e 
+ 00021776  0x00002698 branch  0x0000551b , 0x00000005 
+ 00021777  0x00002699 setarg  0x00000051 
+ 00021778  0x0000269a isub  0x00000002 , 0x0000003e 
+ 00021779  0x0000269b branch  0x00005521 , 0x00000005 
+ 00021780  0x0000269c setarg  0x00000053 
+ 00021781  0x0000269d isub  0x00000002 , 0x0000003e 
+ 00021782  0x0000269e branch  0x0000552d , 0x00000005 
+ 00021783  0x0000269f setarg  0x00000052 
+ 00021784  0x000026a0 isub  0x00000002 , 0x0000003e 
+ 00021785  0x000026a1 branch  0x00005527 , 0x00000005 
+ 00021786  0x000026a2 branch  0x00005533 
+ 00021787  0x000026a4 copy  0x0000000b , 0x0000003f 
+ 00021788  0x000026a5 store  0x00000002 , 0x0000421a 
+ 00021789  0x000026a6 fetch  0x00000001 , 0x00004222 
+ 00021790  0x000026a7 set1  0x00000001 
+ 00021791  0x000026a8 store  0x00000001 , 0x00004222 
+ 00021792  0x000026a9 branch  0x00005532 
+ 00021793  0x000026ab copy  0x0000000b , 0x0000003f 
+ 00021794  0x000026ac store  0x00000002 , 0x0000421c 
+ 00021795  0x000026ad fetch  0x00000001 , 0x00004223 
+ 00021796  0x000026ae set1  0x00000001 
+ 00021797  0x000026af store  0x00000001 , 0x00004223 
+ 00021798  0x000026b0 branch  0x00005532 
+ 00021799  0x000026b2 copy  0x0000000b , 0x0000003f 
+ 00021800  0x000026b3 store  0x00000002 , 0x0000421e 
+ 00021801  0x000026b4 fetch  0x00000001 , 0x00004224 
+ 00021802  0x000026b5 set1  0x00000001 
+ 00021803  0x000026b6 store  0x00000001 , 0x00004224 
+ 00021804  0x000026b7 branch  0x00005532 
+ 00021805  0x000026b9 copy  0x0000000b , 0x0000003f 
+ 00021806  0x000026ba store  0x00000002 , 0x00004220 
+ 00021807  0x000026bb fetch  0x00000001 , 0x00004225 
+ 00021808  0x000026bc set1  0x00000001 
+ 00021809  0x000026bd store  0x00000001 , 0x00004225 
+ 00021810  0x000026c1 call  0x00007c88 
+ 00021811  0x000026c3 copy  0x00000013 , 0x0000003f 
+ 00021812  0x000026c4 isub  0x00000011 , 0x00000013 
+ 00021813  0x000026c5 rtn 
+ 00021814  0x000026c8 ifetch  0x00000001 , 0x00000006 
+ 00021815  0x000026c9 copy  0x0000003f , 0x00000007 
+ 00021816  0x000026ca ifetch  0x00000002 , 0x00000006 
+ 00021817  0x000026cb copy  0x0000003f , 0x00000011 
+ 00021818  0x000026cc copy  0x00000013 , 0x0000003f 
+ 00021819  0x000026cd isub  0x00000011 , 0x00000013 
+ 00021820  0x000026ce ifetch  0x00000002 , 0x00000006 
+ 00021821  0x000026cf copy  0x0000003f , 0x0000000b 
+ 00021822  0x000026d0 ifetch  0x00000002 , 0x00000006 
+ 00021823  0x000026d1 ifetch  0x00000002 , 0x00000006 
+ 00021824  0x000026d2 nbranch  0x00005562 , 0x00000034 
+ 00021825  0x000026d3 call  0x00007c83 
+ 00021826  0x000026d7 copy  0x0000000b , 0x00000002 
+ 00021827  0x000026d8 bpatch  0x000000d7 , 0x0000401a 
+ 00021828  0x000026d9 setarg  0x00000050 
+ 00021829  0x000026da isub  0x00000002 , 0x0000003e 
+ 00021830  0x000026db branch  0x00005550 , 0x00000005 
+ 00021831  0x000026dc setarg  0x00000051 
+ 00021832  0x000026dd isub  0x00000002 , 0x0000003e 
+ 00021833  0x000026de branch  0x00005554 , 0x00000005 
+ 00021834  0x000026df setarg  0x00000052 
+ 00021835  0x000026e0 isub  0x00000002 , 0x0000003e 
+ 00021836  0x000026e1 branch  0x00005558 , 0x00000005 
+ 00021837  0x000026e2 setarg  0x00000053 
+ 00021838  0x000026e3 isub  0x00000002 , 0x0000003e 
+ 00021839  0x000026e4 branch  0x0000555c , 0x00000005 
+ 00021840  0x000026e6 fetch  0x00000001 , 0x00004222 
+ 00021841  0x000026e7 set1  0x00000005 
+ 00021842  0x000026e8 store  0x00000001 , 0x00004222 
+ 00021843  0x000026e9 rtn 
+ 00021844  0x000026eb fetch  0x00000001 , 0x00004223 
+ 00021845  0x000026ec set1  0x00000005 
+ 00021846  0x000026ed store  0x00000001 , 0x00004223 
+ 00021847  0x000026ee rtn 
+ 00021848  0x000026f0 fetch  0x00000001 , 0x00004224 
+ 00021849  0x000026f1 set1  0x00000005 
+ 00021850  0x000026f2 store  0x00000001 , 0x00004224 
+ 00021851  0x000026f3 rtn 
+ 00021852  0x000026f5 fetch  0x00000001 , 0x00004225 
+ 00021853  0x000026f6 set1  0x00000005 
+ 00021854  0x000026f7 store  0x00000001 , 0x00004225 
+ 00021855  0x000026f8 jam  0x00000006 , 0x00000a95 
+ 00021856  0x000026f9 branch  0x00007bab 
+ 00021857  0x000026fd call  0x00007c88 
+ 00021858  0x000026ff increase  0xfffffffa , 0x00000011 
+ 00021859  0x00002701 branch  0x00005567 , 0x00000005 
+ 00021860  0x00002702 increase  0x00000001 , 0x00000006 
+ 00021861  0x00002703 increase  0xffffffff , 0x00000011 
+ 00021862  0x00002704 branch  0x00005563 
+ 00021863  0x00002706 rtn 
+ 00021864  0x00002708 ifetch  0x00000001 , 0x00000006 
+ 00021865  0x00002709 copy  0x0000003f , 0x00000007 
+ 00021866  0x0000270a ifetch  0x00000002 , 0x00000006 
+ 00021867  0x0000270b copy  0x0000003f , 0x00000011 
+ 00021868  0x0000270c copy  0x00000013 , 0x0000003f 
+ 00021869  0x0000270d isub  0x00000011 , 0x00000013 
+ 00021870  0x0000270e ifetch  0x00000002 , 0x00000006 
+ 00021871  0x0000270f increase  0x00000002 , 0x00000006 
+ 00021872  0x00002710 copy  0x0000003f , 0x00000002 
+ 00021873  0x00002711 setarg  0x00000005 
+ 00021874  0x00002712 istore  0x00000001 , 0x00000005 
+ 00021875  0x00002713 copy  0x00000007 , 0x0000003f 
+ 00021876  0x00002714 istore  0x00000001 , 0x00000005 
+ 00021877  0x00002715 increase  0x00000002 , 0x00000011 
+ 00021878  0x00002716 copy  0x00000011 , 0x0000003f 
+ 00021879  0x00002717 istore  0x00000002 , 0x00000005 
+ 00021880  0x00002718 call  0x00007c83 
+ 00021881  0x00002719 bpatch  0x000000d8 , 0x0000401b 
+ 00021882  0x0000271a setarg  0x00000050 
+ 00021883  0x0000271b isub  0x00000002 , 0x0000003e 
+ 00021884  0x0000271c branch  0x00005587 , 0x00000005 
+ 00021885  0x0000271d setarg  0x00000051 
+ 00021886  0x0000271e isub  0x00000002 , 0x0000003e 
+ 00021887  0x0000271f branch  0x00005598 , 0x00000005 
+ 00021888  0x00002720 setarg  0x00000052 
+ 00021889  0x00002721 isub  0x00000002 , 0x0000003e 
+ 00021890  0x00002722 branch  0x0000559e , 0x00000005 
+ 00021891  0x00002723 setarg  0x00000053 
+ 00021892  0x00002724 isub  0x00000002 , 0x0000003e 
+ 00021893  0x00002725 branch  0x000055a4 , 0x00000005 
+ 00021894  0x00002726 branch  0x000055a9 
+ 00021895  0x00002728 fetch  0x00000001 , 0x00004222 
+ 00021896  0x00002729 set1  0x00000004 , 0x0000003f 
+ 00021897  0x0000272a set1  0x00000003 , 0x0000003f 
+ 00021898  0x0000272b store  0x00000001 , 0x00004222 
+ 00021899  0x0000272c bbit1  0x00000002 , 0x00005595 
+ 00021900  0x0000272d fetcht  0x00000001 , 0x0000027b 
+ 00021901  0x0000272e set1  0x00000006 , 0x00000002 
+ 00021902  0x0000272f storet  0x00000001 , 0x0000027b 
+ 00021903  0x00002730 copy  0x00000007 , 0x0000003f 
+ 00021904  0x00002731 increase  0x00000001 , 0x0000003f 
+ 00021905  0x00002732 store  0x00000001 , 0x0000027d 
+ 00021906  0x00002733 fetch  0x00000001 , 0x00004222 
+ 00021907  0x00002734 set1  0x00000002 , 0x0000003f 
+ 00021908  0x00002735 store  0x00000001 , 0x00004222 
+ 00021909  0x00002737 fetch  0x00000002 , 0x0000421a 
+ 00021910  0x00002738 store  0x00000002 , 0x0000027e 
+ 00021911  0x00002739 branch  0x000055a9 
+ 00021912  0x0000273b fetch  0x00000001 , 0x00004223 
+ 00021913  0x0000273c set1  0x00000004 , 0x0000003f 
+ 00021914  0x0000273d set1  0x00000003 , 0x0000003f 
+ 00021915  0x0000273e store  0x00000001 , 0x00004223 
+ 00021916  0x0000273f fetch  0x00000002 , 0x0000421c 
+ 00021917  0x00002740 branch  0x000055a9 
+ 00021918  0x00002742 fetch  0x00000001 , 0x00004224 
+ 00021919  0x00002743 set1  0x00000004 , 0x0000003f 
+ 00021920  0x00002744 set1  0x00000003 , 0x0000003f 
+ 00021921  0x00002745 store  0x00000001 , 0x00004224 
+ 00021922  0x00002746 fetch  0x00000002 , 0x0000421e 
+ 00021923  0x00002747 branch  0x000055a9 
+ 00021924  0x00002749 fetch  0x00000001 , 0x00004225 
+ 00021925  0x0000274a set1  0x00000004 , 0x0000003f 
+ 00021926  0x0000274b set1  0x00000003 , 0x0000003f 
+ 00021927  0x0000274c store  0x00000001 , 0x00004225 
+ 00021928  0x0000274d fetch  0x00000002 , 0x00004220 
+ 00021929  0x00002751 copy  0x0000003f , 0x0000000b 
+ 00021930  0x00002752 call  0x00007c88 
+ 00021931  0x00002754 copy  0x0000000b , 0x0000003f 
+ 00021932  0x00002756 istore  0x00000002 , 0x00000005 
+ 00021933  0x00002757 force  0x00000000 , 0x0000003f 
+ 00021934  0x00002758 istore  0x00000002 , 0x00000005 
+ 00021935  0x00002759 force  0x00000000 , 0x0000003f 
+ 00021936  0x0000275a istore  0x00000002 , 0x00000005 
+ 00021937  0x0000275b force  0x0000000a , 0x0000003f 
+ 00021938  0x0000275c iadd  0x00000012 , 0x00000012 
+ 00021939  0x0000275d increase  0xfffffffa , 0x00000011 
+ 00021940  0x0000275f branch  0x000055ba , 0x00000005 
+ 00021941  0x00002760 ifetch  0x00000001 , 0x00000006 
+ 00021942  0x00002761 istore  0x00000001 , 0x00000005 
+ 00021943  0x00002762 increase  0x00000001 , 0x00000012 
+ 00021944  0x00002763 increase  0xffffffff , 0x00000011 
+ 00021945  0x00002764 branch  0x000055b4 
+ 00021946  0x00002766 rtn 
+ 00021947  0x00002768 ifetch  0x00000001 , 0x00000006 
+ 00021948  0x00002769 copy  0x0000003f , 0x00000007 
+ 00021949  0x0000276a ifetch  0x00000002 , 0x00000006 
+ 00021950  0x0000276b copy  0x0000003f , 0x00000011 
+ 00021951  0x0000276c copy  0x00000013 , 0x0000003f 
+ 00021952  0x0000276d isub  0x00000011 , 0x00000013 
+ 00021953  0x0000276f ifetch  0x00000002 , 0x00000006 
+ 00021954  0x00002770 copy  0x0000003f , 0x00000011 
+ 00021955  0x00002771 ifetch  0x00000002 , 0x00000006 
+ 00021956  0x00002772 copy  0x0000003f , 0x0000000b 
+ 00021957  0x00002773 call  0x00007c83 
+ 00021958  0x00002774 bpatch  0x000000d9 , 0x0000401b 
+ 00021959  0x00002775 setarg  0x00000050 
+ 00021960  0x00002776 copy  0x00000011 , 0x00000002 
+ 00021961  0x00002777 isub  0x00000002 , 0x0000003e 
+ 00021962  0x00002778 branch  0x000055d4 , 0x00000005 
+ 00021963  0x00002779 setarg  0x00000052 
+ 00021964  0x0000277a copy  0x00000011 , 0x00000002 
+ 00021965  0x0000277b isub  0x00000002 , 0x0000003e 
+ 00021966  0x0000277c branch  0x000055d9 , 0x00000005 
+ 00021967  0x0000277d setarg  0x00000053 
+ 00021968  0x0000277e copy  0x00000011 , 0x00000002 
+ 00021969  0x0000277f isub  0x00000002 , 0x0000003e 
+ 00021970  0x00002780 branch  0x000055db , 0x00000005 
+ 00021971  0x00002781 branch  0x000055dd 
+ 00021972  0x00002783 setarg  0x00000000 
+ 00021973  0x00002784 store  0x00000002 , 0x00000271 
+ 00021974  0x00002785 store  0x00000002 , 0x0000421a 
+ 00021975  0x00002786 store  0x00000001 , 0x00004222 
+ 00021976  0x00002787 branch  0x000055df 
+ 00021977  0x00002789 call  0x00005453 
+ 00021978  0x0000278a branch  0x000055df 
+ 00021979  0x0000278c call  0x00005459 
+ 00021980  0x00002792 branch  0x000055df 
+ 00021981  0x00002794 setarg  0x00000000 
+ 00021982  0x00002795 store  0x00000002 , 0x00000277 
+ 00021983  0x00002797 call  0x00007c88 
+ 00021984  0x00002798 setarg  0x00000007 
+ 00021985  0x00002799 istore  0x00000001 , 0x00000005 
+ 00021986  0x0000279a copy  0x00000007 , 0x0000003f 
+ 00021987  0x0000279b istore  0x00000001 , 0x00000005 
+ 00021988  0x0000279c setarg  0x00000004 
+ 00021989  0x0000279d istore  0x00000002 , 0x00000005 
+ 00021990  0x0000279e copy  0x00000011 , 0x0000003f 
+ 00021991  0x0000279f istore  0x00000002 , 0x00000005 
+ 00021992  0x000027a0 copy  0x0000000b , 0x0000003f 
+ 00021993  0x000027a1 istore  0x00000002 , 0x00000005 
+ 00021994  0x000027a2 force  0x00000008 , 0x0000003f 
+ 00021995  0x000027a3 iadd  0x00000012 , 0x00000012 
+ 00021996  0x000027a4 rtn 
+ 00021997  0x000027a7 ifetch  0x00000001 , 0x00000006 
+ 00021998  0x000027a8 copy  0x0000003f , 0x00000007 
+ 00021999  0x000027a9 ifetch  0x00000002 , 0x00000006 
+ 00022000  0x000027aa copy  0x0000003f , 0x00000011 
+ 00022001  0x000027ab ifetch  0x00000002 , 0x00000006 
+ 00022002  0x000027ac copy  0x0000003f , 0x0000000b 
+ 00022003  0x000027ad ifetch  0x00000002 , 0x00000006 
+ 00022004  0x000027ae copy  0x0000003f , 0x00000002 
+ 00022005  0x000027af call  0x00007c83 
+ 00022006  0x000027b0 bpatch  0x000000da , 0x0000401b 
+ 00022007  0x000027b1 fetch  0x00000001 , 0x00004227 
+ 00022008  0x000027b2 icompare  0x000000ff , 0x00000007 
+ 00022009  0x000027b3 nbranch  0x00005604 , 0x00000001 
+ 00022010  0x000027b4 setarg  0x00000050 
+ 00022011  0x000027b5 isub  0x00000002 , 0x0000003e 
+ 00022012  0x000027b6 branch  0x00005601 , 0x00000005 
+ 00022013  0x000027b7 setarg  0x00000051 
+ 00022014  0x000027b8 isub  0x00000002 , 0x0000003e 
+ 00022015  0x000027b9 branch  0x00005604 , 0x00000005 
+ 00022016  0x000027ba branch  0x00005604 
+ 00022017  0x000027bc jam  0x00000000 , 0x0000421a 
+ 00022018  0x000027bd jam  0x00000000 , 0x00004222 
+ 00022019  0x000027be branch  0x00005604 
+ 00022020  0x000027c3 call  0x00007c88 
+ 00022021  0x000027c4 copy  0x00000013 , 0x0000003f 
+ 00022022  0x000027c5 isub  0x00000011 , 0x00000013 
+ 00022023  0x000027c6 rtn 
+ 00022024  0x000027c9 setarg  0x00000001 
+ 00022025  0x000027ca istore  0x00000001 , 0x00000005 
+ 00022026  0x000027cb ifetch  0x00000001 , 0x00000006 
+ 00022027  0x000027cc istore  0x00000001 , 0x00000005 
+ 00022028  0x000027cd setarg  0x00000002 
+ 00022029  0x000027ce istore  0x00000002 , 0x00000005 
+ 00022030  0x000027cf setarg  0x00000000 
+ 00022031  0x000027d0 istore  0x00000002 , 0x00000005 
+ 00022032  0x000027d1 setarg  0x00000006 
+ 00022033  0x000027d2 iadd  0x00000012 , 0x00000012 
+ 00022034  0x000027d3 force  0x00000004 , 0x00000013 
+ 00022035  0x000027d4 rtn 
+ 00022036  0x000027d8 fetch  0x00000001 , 0x00004227 
+ 00022037  0x000027d9 increase  0x00000001 , 0x0000003f 
+ 00022038  0x000027da bne  0x00000000 , 0x00005618 
+ 00022039  0x000027db increase  0x00000001 , 0x0000003f 
+ 00022040  0x000027dd store  0x00000001 , 0x00004227 
+ 00022041  0x000027de rtn 
+ 00022042  0x000027e9 bpatch  0x000000db , 0x0000401b 
+ 00022043  0x000027ea arg  0x00000000 , 0x00000012 
+ 00022044  0x000027eb call  0x00005648 
+ 00022045  0x000027ec nbranch  0x00004a8b , 0x00000034 
+ 00022046  0x000027ed call  0x00005658 
+ 00022047  0x000027ee arg  0x00001800 , 0x00000012 
+ 00022048  0x000027ef arg  0x00000000 , 0x00000007 
+ 00022049  0x000027f1 fetcht  0x00000001 , 0x00004228 
+ 00022050  0x000027f2 qisolate1  0x00000002 
+ 00022051  0x000027f3 branch  0x00005629 , 0x00000001 
+ 00022052  0x000027f4 call  0x0000567a 
+ 00022053  0x000027f5 sub  0x0000000b , 0x00000000 , 0x0000003e 
+ 00022054  0x000027f6 branch  0x00005629 , 0x00000002 
+ 00022055  0x000027f7 call  0x00005662 
+ 00022056  0x000027f8 branch  0x0000562f 
+ 00022057  0x000027fa increase  0x00000080 , 0x00000012 
+ 00022058  0x000027fb increase  0x00000001 , 0x00000007 
+ 00022059  0x000027fc setarg  0x00000008 
+ 00022060  0x000027fd isub  0x00000007 , 0x0000003e 
+ 00022061  0x000027fe branch  0x00005621 , 0x00000002 
+ 00022062  0x000027ff arg  0x00000000 , 0x00000012 
+ 00022063  0x00002801 copy  0x00000012 , 0x0000003f 
+ 00022064  0x00002802 branch  0x00004a8b , 0x00000034 
+ 00022065  0x00002803 rtn 
+ 00022066  0x0000280c bpatch  0x000000dc , 0x0000401b 
+ 00022067  0x0000280d call  0x00005651 
+ 00022068  0x0000280e increase  0x00000001 , 0x00000006 
+ 00022069  0x0000280f ifetch  0x00000002 , 0x00000006 
+ 00022070  0x00002810 rtn 
+ 00022071  0x00002817 bpatch  0x000000dd , 0x0000401b 
+ 00022072  0x00002818 call  0x00005651 
+ 00022073  0x00002819 copy  0x00000006 , 0x00000005 
+ 00022074  0x0000281a copy  0x00000006 , 0x00000002 
+ 00022075  0x0000281b setarg  0x00000000 
+ 00022076  0x0000281c istore  0x00000003 , 0x00000005 
+ 00022077  0x0000281d rtn 
+ 00022078  0x00002823 bpatch  0x000000de , 0x0000401b 
+ 00022079  0x00002824 call  0x0000564e 
+ 00022080  0x00002825 branch  0x00004a8b , 0x00000034 
+ 00022081  0x00002826 fetch  0x00000003 , 0x0000422f 
+ 00022082  0x00002827 store  0x00000003 , 0x00004232 
+ 00022083  0x00002828 fetch  0x00000003 , 0x0000422c 
+ 00022084  0x00002829 store  0x00000003 , 0x0000422f 
+ 00022085  0x0000282a fetch  0x00000003 , 0x00004229 
+ 00022086  0x0000282b store  0x00000003 , 0x0000422c 
+ 00022087  0x0000282c rtn 
+ 00022088  0x00002833 bpatch  0x000000df , 0x0000401b 
+ 00022089  0x00002834 fetch  0x00000003 , 0x00004229 
+ 00022090  0x00002835 rtn 
+ 00022091  0x0000283c bpatch  0x000000e0 , 0x0000401c 
+ 00022092  0x0000283d fetch  0x00000003 , 0x0000422c 
+ 00022093  0x0000283e rtn 
+ 00022094  0x00002845 bpatch  0x000000e1 , 0x0000401c 
+ 00022095  0x00002846 fetch  0x00000003 , 0x00004232 
+ 00022096  0x00002847 rtn 
+ 00022097  0x0000284d call  0x0000564e 
+ 00022098  0x0000284e branch  0x00004a8b , 0x00000034 
+ 00022099  0x0000284f arg  0x00004229 , 0x00000006 
+ 00022100  0x00002851 ifetch  0x00000003 , 0x00000006 
+ 00022101  0x00002852 branch  0x00005654 , 0x00000034 
+ 00022102  0x00002853 increase  0xfffffffd , 0x00000006 
+ 00022103  0x00002854 rtn 
+ 00022104  0x0000285c bpatch  0x000000e2 , 0x0000401c 
+ 00022105  0x0000285d arg  0x00000004 , 0x00000039 
+ 00022106  0x0000285e arg  0x00004229 , 0x00000006 
+ 00022107  0x0000285f arg  0x00000000 , 0x00000002 
+ 00022108  0x00002861 ifetch  0x00000003 , 0x00000006 
+ 00022109  0x00002862 and  0x0000003f , 0x000000ff , 0x0000003f 
+ 00022110  0x00002863 ior  0x00000002 , 0x00000002 
+ 00022111  0x00002864 loop  0x0000565c 
+ 00022112  0x00002865 storet  0x00000001 , 0x00004228 
+ 00022113  0x00002866 rtn 
+ 00022114  0x0000286f bpatch  0x000000e3 , 0x0000401c 
+ 00022115  0x00002870 call  0x00005648 
+ 00022116  0x00002871 nbranch  0x00004a8b , 0x00000034 
+ 00022117  0x00002872 call  0x0000564e 
+ 00022118  0x00002873 branch  0x0000566f , 0x00000034 
+ 00022119  0x00002874 fetch  0x00000003 , 0x0000422c 
+ 00022120  0x00002875 store  0x00000003 , 0x00004229 
+ 00022121  0x00002876 ifetch  0x00000003 , 0x00000006 
+ 00022122  0x00002877 istore  0x00000003 , 0x00000005 
+ 00022123  0x00002878 ifetch  0x00000003 , 0x00000006 
+ 00022124  0x00002879 istore  0x00000003 , 0x00000005 
+ 00022125  0x0000287a setarg  0x00000000 
+ 00022126  0x0000287b istore  0x00000003 , 0x00000005 
+ 00022127  0x0000287d arg  0x00000000 , 0x00000002 
+ 00022128  0x0000287e copy  0x0000000b , 0x0000003f 
+ 00022129  0x0000287f iadd  0x00000007 , 0x0000003f 
+ 00022130  0x00002881 qset1  0x00000002 
+ 00022131  0x00002882 increase  0x00000001 , 0x00000007 
+ 00022132  0x00002883 isub  0x00000007 , 0x0000003e 
+ 00022133  0x00002884 nbranch  0x00005672 , 0x00000005 
+ 00022134  0x00002886 lshift8  0x00000012 , 0x0000003f 
+ 00022135  0x00002887 ior  0x00000002 , 0x0000003f 
+ 00022136  0x00002888 store  0x00000003 , 0x00004232 
+ 00022137  0x00002889 rtn 
+ 00022138  0x00002894 bpatch  0x000000e4 , 0x0000401c 
+ 00022139  0x00002895 call  0x00005658 
+ 00022140  0x00002896 copy  0x00000007 , 0x00000013 
+ 00022141  0x00002897 arg  0x00000000 , 0x00000002 
+ 00022142  0x00002898 arg  0x00000000 , 0x0000000b 
+ 00022143  0x0000289b copy  0x00000007 , 0x0000003f 
+ 00022144  0x0000289c beq  0x00000008 , 0x0000568a 
+ 00022145  0x0000289d fetch  0x00000001 , 0x00004228 
+ 00022146  0x0000289e qisolate1  0x0000003f 
+ 00022147  0x0000289f branch  0x0000568a , 0x00000001 
+ 00022148  0x000028a0 increase  0x00000080 , 0x00000002 
+ 00022149  0x000028a1 increase  0x00000001 , 0x00000007 
+ 00022150  0x000028a2 copy  0x00000011 , 0x0000003f 
+ 00022151  0x000028a3 isub  0x00000002 , 0x0000003e 
+ 00022152  0x000028a4 branch  0x0000568a , 0x00000005 
+ 00022153  0x000028a5 branch  0x0000567f , 0x00000002 
+ 00022154  0x000028a7 copy  0x00000002 , 0x0000003f 
+ 00022155  0x000028a8 isub  0x00000011 , 0x0000003e 
+ 00022156  0x000028a9 nbranch  0x00005690 , 0x00000002 
+ 00022157  0x000028aa copy  0x00000007 , 0x0000003f 
+ 00022158  0x000028ab copy  0x00000013 , 0x00000002 
+ 00022159  0x000028ac isub  0x00000002 , 0x0000000b 
+ 00022160  0x000028ae copy  0x00000013 , 0x00000007 
+ 00022161  0x000028af rtn 
+ 00022162  0x000028b3 bpatch  0x000000e5 , 0x0000401c 
+ 00022163  0x000028b4 arg  0x0000007f , 0x00000011 
+ 00022164  0x000028b5 call  0x0000561a 
+ 00022165  0x000028b6 store  0x00000002 , 0x00000267 
+ 00022166  0x000028b7 increase  0x00000004 , 0x0000003f 
+ 00022167  0x000028b8 store  0x00000002 , 0x00000269 
+ 00022168  0x000028b9 setarg  0x00000000 
+ 00022169  0x000028ba store  0x00000002 , 0x0000026b 
+ 00022170  0x000028bb rtn 
+ 00022171  0x000028be fetch  0x00000002 , 0x00000267 
+ 00022172  0x000028bf branch  0x000056bc 
+ 00022173  0x000028c2 fetch  0x00000002 , 0x00000269 
+ 00022174  0x000028c3 branch  0x000056bc 
+ 00022175  0x000028c7 bpatch  0x000000e6 , 0x0000401c 
+ 00022176  0x000028c8 arg  0x000000fa , 0x00000011 
+ 00022177  0x000028c9 call  0x0000561a 
+ 00022178  0x000028ca store  0x00000002 , 0x0000026d 
+ 00022179  0x000028cb increase  0x00000004 , 0x0000003f 
+ 00022180  0x000028cc store  0x00000002 , 0x0000026f 
+ 00022181  0x000028cd setarg  0x00000000 
+ 00022182  0x000028ce store  0x00000002 , 0x00000271 
+ 00022183  0x000028cf rtn 
+ 00022184  0x000028d2 fetch  0x00000002 , 0x0000026d 
+ 00022185  0x000028d3 branch  0x000056bc 
+ 00022186  0x000028d6 fetch  0x00000002 , 0x0000026f 
+ 00022187  0x000028d7 branch  0x000056bc 
+ 00022188  0x000028db bpatch  0x000000e7 , 0x0000401c 
+ 00022189  0x000028dc call  0x00007c57 
+ 00022190  0x000028dd jam  0x00000001 , 0x00000280 
+ 00022191  0x000028de call  0x00005648 
+ 00022192  0x000028df nrtn  0x00000034 
+ 00022193  0x000028e0 arg  0x0000007f , 0x00000011 
+ 00022194  0x000028e1 call  0x0000561a 
+ 00022195  0x000028e2 store  0x00000002 , 0x00000273 
+ 00022196  0x000028e3 increase  0x00000004 , 0x0000003f 
+ 00022197  0x000028e4 store  0x00000002 , 0x00000275 
+ 00022198  0x000028e5 setarg  0x00000000 
+ 00022199  0x000028e6 store  0x00000002 , 0x00000277 
+ 00022200  0x000028e7 jam  0x00000000 , 0x00000280 
+ 00022201  0x000028e8 branch  0x00007c67 
+ 00022202  0x000028eb fetch  0x00000002 , 0x00000273 
+ 00022203  0x000028ec branch  0x000056bc 
+ 00022204  0x000028ef branch  0x00004a8b , 0x00000034 
+ 00022205  0x000028f0 copy  0x0000003f , 0x00000005 
+ 00022206  0x000028f1 rtn 
+ 00022207  0x000028f5 bpatch  0x000000e8 , 0x0000401d 
+ 00022208  0x000028f6 arg  0x00000000 , 0x00000012 
+ 00022209  0x000028f7 arg  0x00004229 , 0x00000011 
+ 00022210  0x000028f8 increase  0xfffffffe , 0x00000011 
+ 00022211  0x000028fa increase  0x00000002 , 0x00000011 
+ 00022212  0x000028fb setarg  0x00004235 
+ 00022213  0x000028fc isub  0x00000011 , 0x0000003e 
+ 00022214  0x000028fd branch  0x000056cf , 0x00000005 
+ 00022215  0x000028fe ifetch  0x00000001 , 0x00000011 
+ 00022216  0x000028ff increase  0x00000001 , 0x00000011 
+ 00022217  0x00002900 branch  0x000056c3 , 0x00000034 
+ 00022218  0x00002901 ifetcht  0x00000002 , 0x00000011 
+ 00022219  0x00002902 ifetch  0x00000002 , 0x00000002 
+ 00022220  0x00002903 iadd  0x00000012 , 0x00000012 
+ 00022221  0x00002904 increase  0x00000004 , 0x00000012 
+ 00022222  0x00002905 branch  0x000056c3 
+ 00022223  0x00002907 copy  0x00000012 , 0x0000003f 
+ 00022224  0x00002908 rtn 
+ 00022225  0x0000290c arg  0x0000000c , 0x00000007 
+ 00022226  0x0000290d branch  0x00004bec 
+ 00022227  0x00002910 arg  0x0000000c , 0x00000007 
+ 00022228  0x00002911 branch  0x00004bf0 
+ 00022229  0x00002914 bpatch  0x000000e9 , 0x0000401d 
+ 00022230  0x00002915 call  0x00005658 
+ 00022231  0x00002916 fetch  0x00000001 , 0x00004228 
+ 00022232  0x00002917 rtn  0x00000034 
+ 00022233  0x00002918 call  0x000056bf 
+ 00022234  0x00002919 arg  0x00000100 , 0x00000002 
+ 00022235  0x0000291a isub  0x00000002 , 0x0000003e 
+ 00022236  0x0000291b branch  0x000056d1 , 0x00000002 
+ 00022237  0x0000291c call  0x000056d3 
+ 00022238  0x0000291d arg  0x00004235 , 0x00000005 
+ 00022239  0x0000291e arg  0x00004229 , 0x00000011 
+ 00022240  0x00002920 setarg  0x00004235 
+ 00022241  0x00002921 isub  0x00000011 , 0x0000003e 
+ 00022242  0x00002922 rtn  0x00000005 
+ 00022243  0x00002923 ifetch  0x00000001 , 0x00000011 
+ 00022244  0x00002924 increase  0x00000001 , 0x00000011 
+ 00022245  0x00002925 nbranch  0x000056e9 , 0x00000034 
+ 00022246  0x00002926 istore  0x00000002 , 0x00000005 
+ 00022247  0x00002927 increase  0x00000002 , 0x00000011 
+ 00022248  0x00002928 branch  0x000056e0 
+ 00022249  0x0000292a ifetch  0x00000002 , 0x00000011 
+ 00022250  0x0000292b increase  0x00000002 , 0x00000011 
+ 00022251  0x0000292c copy  0x0000003f , 0x00000006 
+ 00022252  0x0000292d ifetch  0x00000002 , 0x00000006 
+ 00022253  0x0000292e istore  0x00000002 , 0x00000005 
+ 00022254  0x0000292f copy  0x0000003f , 0x00000039 
+ 00022255  0x00002930 increase  0x00000002 , 0x00000039 
+ 00022256  0x00002931 call  0x00007cdc 
+ 00022257  0x00002932 branch  0x000056e0 
+ 00022258  0x00002935 bpatch  0x000000ea , 0x0000401d 
+ 00022259  0x00002936 call  0x00005658 
+ 00022260  0x00002937 fetch  0x00000001 , 0x00004228 
+ 00022261  0x00002938 rtn  0x00000034 
+ 00022262  0x00002939 arg  0x0000422a , 0x00000011 
+ 00022263  0x0000293a increase  0xfffffffd , 0x00000011 
+ 00022264  0x0000293b arg  0x00004235 , 0x00000006 
+ 00022265  0x0000293d increase  0x00000003 , 0x00000011 
+ 00022266  0x0000293e setarg  0x00004236 
+ 00022267  0x0000293f isub  0x00000011 , 0x0000003e 
+ 00022268  0x00002940 rtn  0x00000005 
+ 00022269  0x00002941 ifetch  0x00000002 , 0x00000006 
+ 00022270  0x00002942 branch  0x000056f9 , 0x00000034 
+ 00022271  0x00002943 increase  0x00000004 , 0x0000003f 
+ 00022272  0x00002944 copy  0x0000003f , 0x00000039 
+ 00022273  0x00002945 copy  0x00000006 , 0x00000012 
+ 00022274  0x00002946 ifetch  0x00000002 , 0x00000011 
+ 00022275  0x00002947 copy  0x0000003f , 0x00000005 
+ 00022276  0x00002948 copy  0x00000012 , 0x00000006 
+ 00022277  0x00002949 increase  0xfffffffe , 0x00000006 
+ 00022278  0x0000294a call  0x00007cdc 
+ 00022279  0x0000294b branch  0x000056f9 
+ 00022280  0x00002956 bpatch  0x000000eb , 0x0000401d 
+ 00022281  0x00002957 disable  0x0000002b 
+ 00022282  0x00002958 jam  0x00000001 , 0x00000451 
+ 00022283  0x00002959 jam  0x00000003 , 0x0000043b 
+ 00022284  0x0000295a jam  0x00000001 , 0x00000452 
+ 00022285  0x0000295b setarg  0xffffffff 
+ 00022286  0x0000295c store  0x00000002 , 0x00000455 
+ 00022287  0x0000295d force  0x00000000 , 0x0000003f 
+ 00022288  0x0000295e store  0x00000001 , 0x00000453 
+ 00022289  0x0000295f store  0x00000001 , 0x0000045e 
+ 00022290  0x00002960 store  0x00000003 , 0x0000416a 
+ 00022291  0x00002961 store  0x00000003 , 0x0000416d 
+ 00022292  0x00002962 store  0x00000005 , 0x000043d5 
+ 00022293  0x00002963 set1  0x00000027 , 0x0000003f 
+ 00022294  0x00002964 store  0x00000005 , 0x000043da 
+ 00022295  0x00002965 jam  0x00000001 , 0x000043ae 
+ 00022296  0x00002966 jam  0x00000000 , 0x000043af 
+ 00022297  0x00002967 branch  0x00005ac9 
+ 00022298  0x0000296a bpatch  0x000000ec , 0x0000401d 
+ 00022299  0x0000296b enable  0x00000029 
+ 00022300  0x0000296c jam  0x00000003 , 0x0000043c 
+ 00022301  0x0000296d jam  0x00000001 , 0x00000474 
+ 00022302  0x0000296e jam  0x00000001 , 0x0000442c 
+ 00022303  0x0000296f setarg  0x0000ffff 
+ 00022304  0x00002970 store  0x00000002 , 0x0000442e 
+ 00022305  0x00002971 force  0x00000000 , 0x0000003f 
+ 00022306  0x00002972 store  0x00000005 , 0x000043da 
+ 00022307  0x00002973 set1  0x00000027 , 0x0000003f 
+ 00022308  0x00002974 store  0x00000005 , 0x000043d5 
+ 00022309  0x00002975 branch  0x00005708 
+ 00022310  0x00002979 bpatch  0x000000ed , 0x0000401d 
+ 00022311  0x0000297a disable  0x00000029 
+ 00022312  0x0000297b setarg  0x00000017 
+ 00022313  0x0000297c store  0x00000002 , 0x0000447a 
+ 00022314  0x0000297d jam  0x00000001 , 0x0000043c 
+ 00022315  0x0000297e jam  0x00000000 , 0x00004340 
+ 00022316  0x0000297f jam  0x00000000 , 0x000000a0 
+ 00022317  0x00002980 jam  0x00000000 , 0x00004496 
+ 00022318  0x00002981 jam  0x00000000 , 0x00004497 
+ 00022319  0x00002982 fetch  0x00000002 , 0x00000469 
+ 00022320  0x00002983 store  0x00000002 , 0x0000448c 
+ 00022321  0x00002984 fetch  0x00000002 , 0x0000043d 
+ 00022322  0x00002985 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00022323  0x00002986 rshift4  0x0000003f , 0x0000003f 
+ 00022324  0x00002987 store  0x00000002 , 0x00000469 
+ 00022325  0x00002988 branch  0x00005708 
+ 00022326  0x0000298f call  0x0000579e 
+ 00022327  0x00002990 call  0x000059c2 
+ 00022328  0x00002991 call  0x00005acc 
+ 00022329  0x00002992 branch  0x000057a8 
+ 00022330  0x00002995 bpatch  0x000000ee , 0x0000401d 
+ 00022331  0x00002996 call  0x0000579e 
+ 00022332  0x00002997 call  0x00004c8d 
+ 00022333  0x00002998 fetch  0x00000001 , 0x0000043c 
+ 00022334  0x00002999 beq  0x00000003 , 0x00005740 
+ 00022335  0x0000299a branch  0x00005754 
+ 00022336  0x000029a1 bpatch  0x000000ef , 0x0000401d 
+ 00022337  0x000029a2 enable  0x00000029 
+ 00022338  0x000029a3 call  0x00005ac0 
+ 00022339  0x000029a4 branch  0x00005751 , 0x00000002 
+ 00022340  0x000029a5 call  0x00004c27 
+ 00022341  0x000029a6 call  0x000057ed 
+ 00022342  0x000029a7 call  0x000059f8 
+ 00022343  0x000029a8 disable  0x0000002d 
+ 00022344  0x000029a9 call  0x00005899 
+ 00022345  0x000029aa nrtn  0x0000002d 
+ 00022346  0x000029ab bpatch  0x000000f0 , 0x0000401e 
+ 00022347  0x000029ac fetch  0x00000001 , 0x00000005 
+ 00022348  0x000029ad increase  0x00000001 , 0x0000003f 
+ 00022349  0x000029ae store  0x00000001 , 0x00000005 
+ 00022350  0x000029af call  0x00005984 
+ 00022351  0x000029b0 disable  0x00000029 
+ 00022352  0x000029b1 rtn 
+ 00022353  0x000029b4 call  0x00005783 
+ 00022354  0x000029b5 disable  0x00000029 
+ 00022355  0x000029b6 rtn 
+ 00022356  0x000029bc bpatch  0x000000f1 , 0x0000401e 
+ 00022357  0x000029bd jam  0x00000000 , 0x000044e1 
+ 00022358  0x000029be call  0x00007964 
+ 00022359  0x000029bf call  0x00005ff8 
+ 00022360  0x000029c0 disable  0x0000002e 
+ 00022361  0x000029c1 call  0x00005ac0 
+ 00022362  0x000029c2 branch  0x00005783 , 0x00000002 
+ 00022363  0x000029c3 call  0x00004c27 
+ 00022364  0x000029c4 call  0x000057ed 
+ 00022365  0x000029c5 call  0x00005863 
+ 00022366  0x000029c6 nbranch  0x00005775 , 0x00000018 
+ 00022367  0x000029c7 call  0x00005791 
+ 00022368  0x000029c8 branch  0x00005762 , 0x0000002d 
+ 00022369  0x000029c9 branch  0x0000576f 
+ 00022370  0x000029cd bpatch  0x000000f2 , 0x0000401e 
+ 00022371  0x000029ce fetch  0x00000001 , 0x000044e1 
+ 00022372  0x000029cf pincrease  0x00000001 
+ 00022373  0x000029d0 store  0x00000001 , 0x000044e1 
+ 00022374  0x000029d1 beq  0x0000000c , 0x0000576f 
+ 00022375  0x000029d2 call  0x00005984 
+ 00022376  0x000029d3 call  0x000059f8 
+ 00022377  0x000029d4 call  0x000058a1 
+ 00022378  0x000029d5 call  0x00005a58 
+ 00022379  0x000029d6 fetch  0x00000002 , 0x000041fc 
+ 00022380  0x000029d7 call  0x00007d77 
+ 00022381  0x000029d8 call  0x0000577a 
+ 00022382  0x000029d9 branch  0x0000577e , 0x00000028 
+ 00022383  0x000029db bpatch  0x000000f3 , 0x0000401e 
+ 00022384  0x000029dc call  0x00005fc4 
+ 00022385  0x000029dd call  0x00005fbb 
+ 00022386  0x000029de call  0x00007bc1 
+ 00022387  0x000029df fetch  0x00000001 , 0x0000045e 
+ 00022388  0x000029e0 bbit1  0x00000003 , 0x00005783 
+ 00022389  0x000029e2 bpatch  0x000000f4 , 0x0000401e 
+ 00022390  0x000029e3 call  0x00005bd4 
+ 00022391  0x000029e4 call  0x00005977 
+ 00022392  0x000029e5 call  0x0000594f 
+ 00022393  0x000029e6 branch  0x0000483d 
+ 00022394  0x000029ea disable  0x00000028 
+ 00022395  0x000029eb bmark1  0x0000002a , 0x00007dbf 
+ 00022396  0x000029ec bmark1  0x00000029 , 0x00007dbf 
+ 00022397  0x000029ed rtn 
+ 00022398  0x000029f1 bpatch  0x000000f5 , 0x0000401e 
+ 00022399  0x000029f2 enable  0x0000002e 
+ 00022400  0x000029f3 call  0x0000589b 
+ 00022401  0x000029f4 branch  0x00005762 , 0x0000002d 
+ 00022402  0x000029f5 branch  0x0000576f 
+ 00022403  0x000029fb bpatch  0x000000f6 , 0x0000401e 
+ 00022404  0x000029fc call  0x00005789 
+ 00022405  0x000029fd call  0x00004d3f 
+ 00022406  0x000029fe call  0x0000792c 
+ 00022407  0x000029ff jam  0x00000015 , 0x00000a95 
+ 00022408  0x00002a00 branch  0x00007bab 
+ 00022409  0x00002a03 setarg  0x00000000 
+ 00022410  0x00002a04 store  0x00000009 , 0x000044d1 
+ 00022411  0x00002a05 jam  0x00000000 , 0x00000451 
+ 00022412  0x00002a06 jam  0x00000000 , 0x0000043c 
+ 00022413  0x00002a07 jam  0x00000000 , 0x0000043b 
+ 00022414  0x00002a08 jam  0x00000000 , 0x00004497 
+ 00022415  0x00002a09 jam  0x00000000 , 0x00004496 
+ 00022416  0x00002a0a rtn 
+ 00022417  0x00002a0d bpatch  0x000000f7 , 0x0000401e 
+ 00022418  0x00002a0e fetch  0x00000001 , 0x00000005 
+ 00022419  0x00002a0f increase  0x00000001 , 0x0000003f 
+ 00022420  0x00002a10 store  0x00000001 , 0x00000005 
+ 00022421  0x00002a11 fetch  0x00000001 , 0x0000043b 
+ 00022422  0x00002a12 rtnbit1  0x00000003 
+ 00022423  0x00002a13 set1  0x00000003 
+ 00022424  0x00002a14 store  0x00000001 , 0x0000043b 
+ 00022425  0x00002a15 fetch  0x00000002 , 0x0000448c 
+ 00022426  0x00002a16 store  0x00000002 , 0x00000469 
+ 00022427  0x00002a17 setarg  0x00000000 
+ 00022428  0x00002a18 store  0x00000004 , 0x000044b7 
+ 00022429  0x00002a19 rtn 
+ 00022430  0x00002a1d bpatch  0x000000f8 , 0x0000401f 
+ 00022431  0x00002a1e hjam  0x00000036 , 0x0000090f 
+ 00022432  0x00002a1f hjam  0x0000005f , 0x0000090b 
+ 00022433  0x00002a20 enable  0x00000036 
+ 00022434  0x00002a21 hjam  0x00000007 , 0x00008914 
+ 00022435  0x00002a22 call  0x00004c27 
+ 00022436  0x00002a23 fetch  0x00000001 , 0x000041e1 
+ 00022437  0x00002a24 rtn  0x00000034 
+ 00022438  0x00002a25 hjam  0x000000b8 , 0x0000090a 
+ 00022439  0x00002a26 rtn 
+ 00022440  0x00002a29 bpatch  0x000000f9 , 0x0000401f 
+ 00022441  0x00002a2a hjam  0x0000002e , 0x0000090f 
+ 00022442  0x00002a2b hjam  0x000000ff , 0x0000090b 
+ 00022443  0x00002a2c disable  0x00000036 
+ 00022444  0x00002a2d hjam  0x00000003 , 0x00008914 
+ 00022445  0x00002a2e arg  0x00000000 , 0x0000001b 
+ 00022446  0x00002a2f rtn 
+ 00022447  0x00002a32 disable  0x00000009 
+ 00022448  0x00002a33 disable  0x00000007 
+ 00022449  0x00002a34 fetch  0x00000003 , 0x00000463 
+ 00022450  0x00002a35 iforce  0x0000000f 
+ 00022451  0x00002a36 fetch  0x00000001 , 0x00000016 
+ 00022452  0x00002a37 reverse  0x0000003f , 0x00000002 
+ 00022453  0x00002a38 set1  0x00000001 , 0x00000002 
+ 00022454  0x00002a39 rshift  0x00000002 , 0x0000000e 
+ 00022455  0x00002a3a rtn 
+ 00022456  0x00002a3e call  0x000057c0 
+ 00022457  0x00002a3f call  0x0000491c 
+ 00022458  0x00002a40 setarg  0x00000500 
+ 00022459  0x00002a41 call  0x00004a8e 
+ 00022460  0x00002a42 branch  0x00004921 
+ 00022461  0x00002a45 branch  0x00004936 , 0x0000002d 
+ 00022462  0x00002a47 call  0x000057c0 
+ 00022463  0x00002a48 branch  0x00004930 
+ 00022464  0x00002a4a bpatch  0x000000fa , 0x0000401f 
+ 00022465  0x00002a4b call  0x00004915 
+ 00022466  0x00002a4c fetch  0x00000001 , 0x00000488 
+ 00022467  0x00002a4d nbranch  0x000057d3 , 0x00000034 
+ 00022468  0x00002a4e fetch  0x00000001 , 0x00000016 
+ 00022469  0x00002a4f sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00022470  0x00002a50 branch  0x000057cd , 0x00000002 
+ 00022471  0x00002a51 force  0x00000000 , 0x00000002 
+ 00022472  0x00002a52 rtneq  0x00000025 
+ 00022473  0x00002a53 force  0x00000018 , 0x00000002 
+ 00022474  0x00002a54 rtneq  0x00000026 
+ 00022475  0x00002a55 force  0x0000004e , 0x00000002 
+ 00022476  0x00002a56 rtn 
+ 00022477  0x00002a59 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00022478  0x00002a5a branch  0x000057d0 , 0x00000002 
+ 00022479  0x00002a5b increase  0x00000001 , 0x0000003f 
+ 00022480  0x00002a5e lshift  0x0000003f , 0x0000003f 
+ 00022481  0x00002a5f add  0x0000003f , 0x00000002 , 0x00000002 
+ 00022482  0x00002a60 rtn 
+ 00022483  0x00002a63 fetch  0x00000001 , 0x00000016 
+ 00022484  0x00002a64 lshift  0x0000003f , 0x00000002 
+ 00022485  0x00002a65 rtn 
+ 00022486  0x00002a68 arg  0x000001f4 , 0x00000002 
+ 00022487  0x00002a69 rtn  0x00000034 
+ 00022488  0x00002a6a arg  0x000000fa , 0x00000002 
+ 00022489  0x00002a6b rtneq  0x00000001 
+ 00022490  0x00002a6c arg  0x00000096 , 0x00000002 
+ 00022491  0x00002a6d rtneq  0x00000002 
+ 00022492  0x00002a6e arg  0x00000064 , 0x00000002 
+ 00022493  0x00002a6f rtneq  0x00000003 
+ 00022494  0x00002a70 arg  0x0000004b , 0x00000002 
+ 00022495  0x00002a71 rtneq  0x00000004 
+ 00022496  0x00002a72 arg  0x00000032 , 0x00000002 
+ 00022497  0x00002a73 rtneq  0x00000005 
+ 00022498  0x00002a74 arg  0x00000028 , 0x00000002 
+ 00022499  0x00002a75 rtneq  0x00000006 
+ 00022500  0x00002a76 arg  0x00000014 , 0x00000002 
+ 00022501  0x00002a77 rtn 
+ 00022502  0x00002a7c setarg  0x008e89be 
+ 00022503  0x00002a7d lshift8  0x0000003f , 0x0000003f 
+ 00022504  0x00002a7e or_into  0x000000d6 , 0x0000003f 
+ 00022505  0x00002a7f iforce  0x00000009 
+ 00022506  0x00002a80 setarg  0x00555555 
+ 00022507  0x00002a81 store  0x00000003 , 0x00000463 
+ 00022508  0x00002a82 rtn 
+ 00022509  0x00002a85 bpatch  0x000000fb , 0x0000401f 
+ 00022510  0x00002a86 enable  0x00000010 
+ 00022511  0x00002a87 fetch  0x00000004 , 0x0000045f 
+ 00022512  0x00002a88 iforce  0x00000009 
+ 00022513  0x00002a89 call  0x00005840 
+ 00022514  0x00002a8a setarg  0x00000200 
+ 00022515  0x00002a8b branch  0x000057f6 , 0x00000029 
+ 00022516  0x00002a8c fetch  0x00000002 , 0x00000449 
+ 00022517  0x00002a8d rshift  0x0000003f , 0x0000003f 
+ 00022518  0x00002a8f arg  0x00000500 , 0x00000002 
+ 00022519  0x00002a90 iadd  0x00000002 , 0x0000003f 
+ 00022520  0x00002a91 call  0x00004a23 
+ 00022521  0x00002a92 deposit  0x0000001a 
+ 00022522  0x00002a93 store  0x00000006 , 0x0000048d 
+ 00022523  0x00002a94 rtn 
+ 00022524  0x00002a97 bpatch  0x000000fc , 0x0000401f 
+ 00022525  0x00002a98 fetch  0x00000001 , 0x00000016 
+ 00022526  0x00002a99 beq  0x00000025 , 0x00005802 
+ 00022527  0x00002a9a beq  0x00000026 , 0x00005808 
+ 00022528  0x00002a9b beq  0x00000027 , 0x0000580e 
+ 00022529  0x00002a9c branch  0x0000580e 
+ 00022530  0x00002a9f fetcht  0x00000001 , 0x0000445f 
+ 00022531  0x00002aa0 isolate1  0x00000001 , 0x00000002 
+ 00022532  0x00002aa1 branch  0x00005819 , 0x00000001 
+ 00022533  0x00002aa2 isolate1  0x00000002 , 0x00000002 
+ 00022534  0x00002aa3 branch  0x0000581e , 0x00000001 
+ 00022535  0x00002aa4 branch  0x00005814 
+ 00022536  0x00002aa8 fetcht  0x00000001 , 0x0000445f 
+ 00022537  0x00002aa9 isolate1  0x00000002 , 0x00000002 
+ 00022538  0x00002aaa branch  0x0000581e , 0x00000001 
+ 00022539  0x00002aab isolate1  0x00000000 , 0x00000002 
+ 00022540  0x00002aac branch  0x00005814 , 0x00000001 
+ 00022541  0x00002aad branch  0x00005819 
+ 00022542  0x00002ab1 fetcht  0x00000001 , 0x0000445f 
+ 00022543  0x00002ab2 isolate1  0x00000000 , 0x00000002 
+ 00022544  0x00002ab3 branch  0x00005814 , 0x00000001 
+ 00022545  0x00002ab4 isolate1  0x00000001 , 0x00000002 
+ 00022546  0x00002ab5 branch  0x00005819 , 0x00000001 
+ 00022547  0x00002ab6 branch  0x0000581e 
+ 00022548  0x00002abb jam  0x00000025 , 0x00000016 
+ 00022549  0x00002abc fetch  0x00000001 , 0x00000abe 
+ 00022550  0x00002abd set1  0x00000000 , 0x0000003f 
+ 00022551  0x00002abe store  0x00000001 , 0x00000abe 
+ 00022552  0x00002abf rtn 
+ 00022553  0x00002ac2 jam  0x00000026 , 0x00000016 
+ 00022554  0x00002ac3 fetch  0x00000001 , 0x00000abe 
+ 00022555  0x00002ac4 set1  0x00000001 , 0x0000003f 
+ 00022556  0x00002ac5 store  0x00000001 , 0x00000abe 
+ 00022557  0x00002ac6 rtn 
+ 00022558  0x00002ac9 jam  0x00000027 , 0x00000016 
+ 00022559  0x00002aca fetch  0x00000001 , 0x00000abe 
+ 00022560  0x00002acb set1  0x00000002 , 0x0000003f 
+ 00022561  0x00002acc store  0x00000001 , 0x00000abe 
+ 00022562  0x00002acd rtn 
+ 00022563  0x00002ad2 bpatch  0x000000fd , 0x0000401f 
+ 00022564  0x00002ad3 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00022565  0x00002ad4 ifetch  0x00000001 , 0x00000006 
+ 00022566  0x00002ad5 rtnbit0  0x00000000 
+ 00022567  0x00002ad6 add  0x00000011 , 0x0000001a , 0x00000005 
+ 00022568  0x00002ad7 ifetch  0x00000002 , 0x00000005 
+ 00022569  0x00002ad8 increase  0x00000001 , 0x0000003f 
+ 00022570  0x00002ad9 istore  0x00000002 , 0x00000005 
+ 00022571  0x00002ada add  0x00000011 , 0x00000019 , 0x00000006 
+ 00022572  0x00002adb ifetch  0x00000001 , 0x00000006 
+ 00022573  0x00002adc add  0x00000011 , 0x00000018 , 0x00000005 
+ 00022574  0x00002add ifetcht  0x00000001 , 0x00000005 
+ 00022575  0x00002ade iadd  0x00000002 , 0x0000003f 
+ 00022576  0x00002adf sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00022577  0x00002ae0 branch  0x00005833 , 0x00000002 
+ 00022578  0x00002ae1 increase  0xffffffdb , 0x0000003f 
+ 00022579  0x00002ae3 istore  0x00000001 , 0x00000005 
+ 00022580  0x00002ae4 rtn 
+ 00022581  0x00002ae8 bpatch  0x000000fe , 0x0000401f 
+ 00022582  0x00002ae9 fetch  0x00000005 , 0x0000046b 
+ 00022583  0x00002aea force  0x00000000 , 0x00000002 
+ 00022584  0x00002aeb force  0x00000025 , 0x00000039 
+ 00022585  0x00002aed bbit0  0x00000000 , 0x0000583b 
+ 00022586  0x00002aee increase  0x00000001 , 0x00000002 
+ 00022587  0x00002af0 rshift  0x0000003f , 0x0000003f 
+ 00022588  0x00002af1 loop  0x00005839 
+ 00022589  0x00002af2 add  0x00000002 , 0xffffffff , 0x0000003f 
+ 00022590  0x00002af3 store  0x00000001 , 0x0000045d 
+ 00022591  0x00002af4 rtn 
+ 00022592  0x00002af7 bpatch  0x000000ff , 0x0000401f 
+ 00022593  0x00002af8 fetch  0x00000001 , 0x00000453 
+ 00022594  0x00002af9 iforce  0x00000007 
+ 00022595  0x00002afa fetcht  0x00000005 , 0x0000046b 
+ 00022596  0x00002afb qisolate1  0x00000002 
+ 00022597  0x00002afc branch  0x00005856 , 0x00000001 
+ 00022598  0x00002afe bpatchx  0x00000000 , 0x00004020 
+ 00022599  0x00002aff fetch  0x00000001 , 0x0000045d 
+ 00022600  0x00002b00 isub  0x00000007 , 0x0000003f 
+ 00022601  0x00002b01 branch  0x0000584c , 0x00000002 
+ 00022602  0x00002b02 sub  0x0000003f , 0xffffffff , 0x00000007 
+ 00022603  0x00002b03 branch  0x00005846 
+ 00022604  0x00002b05 copy  0x00000007 , 0x00000039 
+ 00022605  0x00002b06 force  0x00000000 , 0x00000007 
+ 00022606  0x00002b08 qisolate1  0x00000002 
+ 00022607  0x00002b09 branch  0x00005851 , 0x00000001 
+ 00022608  0x00002b0a increase  0x00000001 , 0x00000039 
+ 00022609  0x00002b0c deposit  0x00000039 
+ 00022610  0x00002b0d branch  0x00005856 , 0x00000034 
+ 00022611  0x00002b0e increase  0x00000001 , 0x00000007 
+ 00022612  0x00002b0f increase  0xffffffff , 0x00000039 
+ 00022613  0x00002b10 branch  0x0000584e 
+ 00022614  0x00002b12 deposit  0x00000007 
+ 00022615  0x00002b13 store  0x00000001 , 0x00000016 
+ 00022616  0x00002b14 rtn 
+ 00022617  0x00002b18 branch  0x0000585c , 0x00000029 
+ 00022618  0x00002b19 until  0x0000003e , 0x00000003 
+ 00022619  0x00002b1a rtn 
+ 00022620  0x00002b1d arg  0x00000ea0 , 0x0000000b 
+ 00022621  0x00002b1e until  0x00000023 , 0x00000026 
+ 00022622  0x00002b1f rtn 
+ 00022623  0x00002b22 disable  0x00000010 
+ 00022624  0x00002b23 fetch  0x00000002 , 0x0000433e 
+ 00022625  0x00002b24 copy  0x0000003f , 0x0000000b 
+ 00022626  0x00002b25 branch  0x00005868 
+ 00022627  0x00002b29 bpatchx  0x00000001 , 0x00004020 
+ 00022628  0x00002b2a enable  0x00000010 
+ 00022629  0x00002b2b fetch  0x00000002 , 0x00000449 
+ 00022630  0x00002b2c fetcht  0x00000004 , 0x000044b7 
+ 00022631  0x00002b2d iadd  0x00000002 , 0x0000000b 
+ 00022632  0x00002b2f call  0x000057b8 
+ 00022633  0x00002b31 bpatchx  0x00000002 , 0x00004020 
+ 00022634  0x00002b32 call  0x000057af 
+ 00022635  0x00002b33 disable  0x0000002d 
+ 00022636  0x00002b34 enable  0x0000000d 
+ 00022637  0x00002b35 enable  0x00000021 
+ 00022638  0x00002b36 disable  0x00000020 
+ 00022639  0x00002b37 copy  0x0000000b , 0x0000001b 
+ 00022640  0x00002b38 correlate  0x0000003e , 0x00000003 
+ 00022641  0x00002b39 branch  0x00005874 , 0x0000002e 
+ 00022642  0x00002b3a copy  0x0000001a , 0x00000002 
+ 00022643  0x00002b3b storet  0x00000006 , 0x0000009a 
+ 00022644  0x00002b3d nbranch  0x00004649 , 0x00000018 
+ 00022645  0x00002b3e branch  0x0000587b , 0x0000002e 
+ 00022646  0x00002b3f arg  0x000001e0 , 0x00000029 
+ 00022647  0x00002b40 copy  0x00000021 , 0x00000028 
+ 00022648  0x00002b41 fetch  0x00000001 , 0x0000043b 
+ 00022649  0x00002b42 bbit0  0x00000003 , 0x0000587b 
+ 00022650  0x00002b43 call  0x00004ae6 , 0x0000002b 
+ 00022651  0x00002b45 bpatchx  0x00000003 , 0x00004020 
+ 00022652  0x00002b46 call  0x000049ba 
+ 00022653  0x00002b47 enable  0x00000007 
+ 00022654  0x00002b48 enable  0x00000009 
+ 00022655  0x00002b49 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00022656  0x00002b4a rshift3  0x0000000c , 0x0000003f 
+ 00022657  0x00002b4b store  0x00000001 , 0x000002d5 
+ 00022658  0x00002b4c parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00022659  0x00002b4d rshift3  0x0000000c , 0x0000003f 
+ 00022660  0x00002b4e istore  0x00000001 , 0x00000005 
+ 00022661  0x00002b4f and  0x0000003f , 0x0000003f , 0x00000039 
+ 00022662  0x00002b50 branch  0x0000588b , 0x00000005 
+ 00022663  0x00002b53 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00022664  0x00002b54 rshift3  0x0000000c , 0x0000003f 
+ 00022665  0x00002b55 istore  0x00000001 , 0x00000005 
+ 00022666  0x00002b56 loop  0x00005887 
+ 00022667  0x00002b59 bpatchx  0x00000004 , 0x00004020 
+ 00022668  0x00002b5a parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00022669  0x00002b5b enable  0x00000010 
+ 00022670  0x00002b5c arg  0x00000664 , 0x0000001b 
+ 00022671  0x00002b5d rshift32  0x0000003f , 0x0000003f 
+ 00022672  0x00002b5e rshift16  0x0000003f , 0x0000003f 
+ 00022673  0x00002b5f istore  0x00000003 , 0x00000005 
+ 00022674  0x00002b60 branch  0x00004649 , 0x00000006 
+ 00022675  0x00002b61 enable  0x0000002d 
+ 00022676  0x00002b62 fetch  0x00000001 , 0x00000017 
+ 00022677  0x00002b63 add  0x0000003f , 0x00000000 , 0x00000011 
+ 00022678  0x00002b64 call  0x00004980 
+ 00022679  0x00002b65 disable  0x0000000d 
+ 00022680  0x00002b66 branch  0x00004915 
+ 00022681  0x00002b69 bpatchx  0x00000005 , 0x00004020 
+ 00022682  0x00002b6a call  0x000058a3 
+ 00022683  0x00002b6c fetcht  0x00000001 , 0x00000017 
+ 00022684  0x00002b6d call  0x0000491c 
+ 00022685  0x00002b6e call  0x00004921 
+ 00022686  0x00002b6f enable  0x00000010 
+ 00022687  0x00002b70 arg  0x0000157c , 0x0000000b 
+ 00022688  0x00002b71 branch  0x00005869 
+ 00022689  0x00002b74 call  0x000058a3 
+ 00022690  0x00002b75 branch  0x00004649 
+ 00022691  0x00002b78 bpatchx  0x00000006 , 0x00004020 
+ 00022692  0x00002b79 call  0x000057af 
+ 00022693  0x00002b7a call  0x000057bd 
+ 00022694  0x00002b7b branch  0x000058a7 
+ 00022695  0x00002b7e set1  0x00000000 , 0x00000015 
+ 00022696  0x00002b7f enable  0x0000001d 
+ 00022697  0x00002b80 enable  0x00000020 
+ 00022698  0x00002b81 disable  0x00000021 
+ 00022699  0x00002b82 call  0x00005859 
+ 00022700  0x00002b83 rshift16  0x00000009 , 0x0000003f 
+ 00022701  0x00002b84 rshift8  0x0000003f , 0x0000003f 
+ 00022702  0x00002b85 rshift4  0x0000003f , 0x0000003f 
+ 00022703  0x00002b86 inject  0x00000003 , 0x00000028 
+ 00022704  0x00002b87 enable  0x00000007 
+ 00022705  0x00002b88 enable  0x00000009 
+ 00022706  0x00002b89 bpatchx  0x00000007 , 0x00004020 
+ 00022707  0x00002b8a fetch  0x00000001 , 0x000043ae 
+ 00022708  0x00002b8b inject  0x00000003 , 0x00000008 
+ 00022709  0x00002b8c ifetch  0x00000001 , 0x00000006 
+ 00022710  0x00002b8d and  0x0000003f , 0x0000003f , 0x00000039 
+ 00022711  0x00002b8e inject  0x00000003 , 0x00000008 
+ 00022712  0x00002b8f branch  0x000058bc , 0x00000005 
+ 00022713  0x00002b91 ifetch  0x00000001 , 0x00000006 
+ 00022714  0x00002b92 inject  0x00000003 , 0x00000008 
+ 00022715  0x00002b93 loop  0x000058b9 
+ 00022716  0x00002b96 enable  0x00000008 
+ 00022717  0x00002b97 inject  0x00000003 , 0x00000018 
+ 00022718  0x00002b98 disable  0x00000008 
+ 00022719  0x00002b99 until  0x0000003e , 0x00000027 
+ 00022720  0x00002b9a nop  0x00000064 
+ 00022721  0x00002b9b disable  0x0000001d 
+ 00022722  0x00002b9c rtn 
+ 00022723  0x00002b9f bpatchx  0x00000008 , 0x00004021 
+ 00022724  0x00002ba0 fetch  0x00000001 , 0x00004456 
+ 00022725  0x00002ba1 beq  0x00000001 , 0x000058d3 
+ 00022726  0x00002ba2 fetch  0x00000001 , 0x00004457 
+ 00022727  0x00002ba3 lshift4  0x0000003f , 0x0000003f 
+ 00022728  0x00002ba4 lshift2  0x0000003f , 0x0000003f 
+ 00022729  0x00002ba5 store  0x00000001 , 0x000043ae 
+ 00022730  0x00002ba6 fetcht  0x00000001 , 0x00004341 
+ 00022731  0x00002ba7 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00022732  0x00002ba8 store  0x00000001 , 0x000043af 
+ 00022733  0x00002ba9 fetch  0x00000006 , 0x00004472 
+ 00022734  0x00002baa store  0x00000006 , 0x000043b0 
+ 00022735  0x00002bab copy  0x00000002 , 0x00000039 
+ 00022736  0x00002bac arg  0x00004342 , 0x00000006 
+ 00022737  0x00002bad call  0x00007ccf 
+ 00022738  0x00002bae branch  0x000058de 
+ 00022739  0x00002bb0 fetch  0x00000001 , 0x00004458 
+ 00022740  0x00002bb1 lshift4  0x0000003f , 0x0000003f 
+ 00022741  0x00002bb2 lshift2  0x0000003f , 0x0000003f 
+ 00022742  0x00002bb3 increase  0x00000001 , 0x0000003f 
+ 00022743  0x00002bb4 store  0x00000001 , 0x000043ae 
+ 00022744  0x00002bb5 setarg  0x0000000c 
+ 00022745  0x00002bb6 store  0x00000001 , 0x000043af 
+ 00022746  0x00002bb7 fetch  0x00000006 , 0x00004472 
+ 00022747  0x00002bb8 store  0x00000006 , 0x000043b0 
+ 00022748  0x00002bb9 fetch  0x00000006 , 0x000041d1 
+ 00022749  0x00002bba istore  0x00000006 , 0x00000005 
+ 00022750  0x00002bbc bpatchx  0x00000009 , 0x00004021 
+ 00022751  0x00002bbd fetch  0x00000001 , 0x00000000 
+ 00022752  0x00002bbe increase  0x00000001 , 0x0000003f 
+ 00022753  0x00002bbf store  0x00000001 , 0x00000000 
+ 00022754  0x00002bc0 arg  0x00000708 , 0x0000001b 
+ 00022755  0x00002bc1 disable  0x0000002d 
+ 00022756  0x00002bc2 branch  0x00005899 
+ 00022757  0x00002bc5 bpatchx  0x0000000a , 0x00004021 
+ 00022758  0x00002bc6 fetch  0x00000001 , 0x00004470 
+ 00022759  0x00002bc7 rtnne  0x00000001 
+ 00022760  0x00002bc8 fetch  0x00000001 , 0x00000000 
+ 00022761  0x00002bc9 increase  0x00000001 , 0x0000003f 
+ 00022762  0x00002bca store  0x00000001 , 0x00000000 
+ 00022763  0x00002bcb arg  0x00000c03 , 0x00000002 
+ 00022764  0x00002bcc fetch  0x00000001 , 0x00004471 
+ 00022765  0x00002bcd nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00022766  0x00002bce copy  0x00000011 , 0x0000003f 
+ 00022767  0x00002bcf nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00022768  0x00002bd0 storet  0x00000002 , 0x000043ae 
+ 00022769  0x00002bd1 fetch  0x00000006 , 0x00004472 
+ 00022770  0x00002bd2 istore  0x00000006 , 0x00000005 
+ 00022771  0x00002bd3 fetch  0x00000006 , 0x0000044b 
+ 00022772  0x00002bd4 istore  0x00000006 , 0x00000005 
+ 00022773  0x00002bd5 branch  0x00005899 
+ 00022774  0x00002bd9 bpatchx  0x0000000b , 0x00004021 
+ 00022775  0x00002bda arg  0x00000004 , 0x00000002 
+ 00022776  0x00002bdb fetch  0x00000001 , 0x00004457 
+ 00022777  0x00002bdc nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00022778  0x00002bdd storet  0x00000001 , 0x000043ae 
+ 00022779  0x00002bde fetcht  0x00000001 , 0x00004361 
+ 00022780  0x00002bdf add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00022781  0x00002be0 store  0x00000001 , 0x000043af 
+ 00022782  0x00002be1 fetch  0x00000006 , 0x00004472 
+ 00022783  0x00002be2 store  0x00000006 , 0x000043b0 
+ 00022784  0x00002be3 arg  0x00004362 , 0x00000006 
+ 00022785  0x00002be4 copy  0x00000002 , 0x00000039 
+ 00022786  0x00002be5 call  0x00007ccf 
+ 00022787  0x00002be6 call  0x000058a1 
+ 00022788  0x00002be7 branch  0x00005ae2 
+ 00022789  0x00002bea bpatchx  0x0000000c , 0x00004021 
+ 00022790  0x00002beb force  0xffffffff , 0x0000003f 
+ 00022791  0x00002bec setsect  0x00000002 , 0x00000001 
+ 00022792  0x00002bed store  0x00000005 , 0x0000046b 
+ 00022793  0x00002bee call  0x00005835 
+ 00022794  0x00002bef force  0x00000004 , 0x00000039 
+ 00022795  0x00002bf0 arg  0x0000045f , 0x00000005 
+ 00022796  0x00002bf1 call  0x000066ef 
+ 00022797  0x00002bf2 fetch  0x00000002 , 0x0000446e 
+ 00022798  0x00002bf3 store  0x00000002 , 0x00000469 
+ 00022799  0x00002bf5 random  0x0000003f 
+ 00022800  0x00002bf6 and_into  0x0000000f , 0x0000003f 
+ 00022801  0x00002bf7 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00022802  0x00002bf8 branch  0x0000590f , 0x00000002 
+ 00022803  0x00002bf9 store  0x00000001 , 0x00000454 
+ 00022804  0x00002bfa store  0x00000001 , 0x000006e2 
+ 00022805  0x00002bfb bpatchx  0x0000000d , 0x00004021 
+ 00022806  0x00002bfc fetcht  0x00000002 , 0x00004339 
+ 00022807  0x00002bfd storet  0x00000002 , 0x0000043d 
+ 00022808  0x00002bfe copy  0x00000002 , 0x00000013 
+ 00022809  0x00002bff add  0x00000022 , 0x00000007 , 0x0000003f 
+ 00022810  0x00002c00 idiv  0x00000013 
+ 00022811  0x00002c01 call  0x00007d61 
+ 00022812  0x00002c02 remainder  0x00000011 
+ 00022813  0x00002c03 isub  0x00000011 , 0x0000003f 
+ 00022814  0x00002c04 iadd  0x00000013 , 0x0000003f 
+ 00022815  0x00002c05 fetcht  0x00000002 , 0x00004337 
+ 00022816  0x00002c06 iadd  0x00000002 , 0x0000003f 
+ 00022817  0x00002c07 store  0x00000004 , 0x0000043f 
+ 00022818  0x00002c08 isub  0x00000022 , 0x00000011 
+ 00022819  0x00002c09 increase  0xfffffffa , 0x00000011 
+ 00022820  0x00002c0a arg  0x00002205 , 0x00000012 
+ 00022821  0x00002c0b fetch  0x00000001 , 0x00004467 
+ 00022822  0x00002c0c nsetflag  0x00000034 , 0x00000006 , 0x00000012 
+ 00022823  0x00002c0d fetch  0x00000001 , 0x00004460 
+ 00022824  0x00002c0e nsetflag  0x00000034 , 0x00000007 , 0x00000012 
+ 00022825  0x00002c0f copy  0x00000012 , 0x0000003f 
+ 00022826  0x00002c10 store  0x00000002 , 0x000043ae 
+ 00022827  0x00002c11 fetch  0x00000006 , 0x00004472 
+ 00022828  0x00002c12 istore  0x00000006 , 0x00000005 
+ 00022829  0x00002c13 fetch  0x00000006 , 0x0000044b 
+ 00022830  0x00002c14 istore  0x00000006 , 0x00000005 
+ 00022831  0x00002c15 fetch  0x00000004 , 0x0000045f 
+ 00022832  0x00002c16 istore  0x00000004 , 0x00000005 
+ 00022833  0x00002c17 random  0x0000003f 
+ 00022834  0x00002c18 istore  0x00000002 , 0x00000005 
+ 00022835  0x00002c19 random  0x0000003f 
+ 00022836  0x00002c1a istore  0x00000001 , 0x00000005 
+ 00022837  0x00002c1b force  0x00000002 , 0x0000003f 
+ 00022838  0x00002c1c istore  0x00000001 , 0x00000005 
+ 00022839  0x00002c1d rshift2  0x00000011 , 0x0000003f 
+ 00022840  0x00002c1e istore  0x00000002 , 0x00000005 
+ 00022841  0x00002c1f rshift2  0x00000013 , 0x0000003f 
+ 00022842  0x00002c20 istore  0x00000002 , 0x00000005 
+ 00022843  0x00002c21 bpatchx  0x0000000e , 0x00004021 
+ 00022844  0x00002c22 setarg  0x00000000 
+ 00022845  0x00002c23 istore  0x00000002 , 0x00000005 
+ 00022846  0x00002c24 fetch  0x00000002 , 0x0000446e 
+ 00022847  0x00002c25 istore  0x00000002 , 0x00000005 
+ 00022848  0x00002c26 fetch  0x00000005 , 0x0000046b 
+ 00022849  0x00002c27 istore  0x00000005 , 0x00000005 
+ 00022850  0x00002c28 fetch  0x00000001 , 0x00000454 
+ 00022851  0x00002c29 arg  0x000000a0 , 0x00000002 
+ 00022852  0x00002c2a ior  0x00000002 , 0x0000003f 
+ 00022853  0x00002c2b istore  0x00000001 , 0x00000005 
+ 00022854  0x00002c2c call  0x000058a1 
+ 00022855  0x00002c2d setarg  0x000043ae 
+ 00022856  0x00002c2e add  0x0000003f , 0x00000012 , 0x00000006 
+ 00022857  0x00002c2f ifetch  0x00000003 , 0x00000006 
+ 00022858  0x00002c30 store  0x00000003 , 0x00000463 
+ 00022859  0x00002c31 rtn 
+ 00022860  0x00002c34 bpatchx  0x0000000f , 0x00004021 
+ 00022861  0x00002c35 disable  0x00000029 
+ 00022862  0x00002c36 branch  0x000057e6 
+ 00022863  0x00002c3b fetch  0x00000001 , 0x0000043b 
+ 00022864  0x00002c3c rtnbit0  0x00000005 
+ 00022865  0x00002c3d fetch  0x00000002 , 0x00000455 
+ 00022866  0x00002c3e fetcht  0x00000002 , 0x0000045b 
+ 00022867  0x00002c3f isub  0x00000002 , 0x0000003f 
+ 00022868  0x00002c40 nrtn  0x00000002 
+ 00022869  0x00002c41 store  0x00000002 , 0x00000a96 
+ 00022870  0x00002c42 bpatchx  0x00000010 , 0x00004022 
+ 00022871  0x00002c43 fetch  0x00000001 , 0x0000043b 
+ 00022872  0x00002c44 set0  0x00000005 , 0x0000003f 
+ 00022873  0x00002c45 set0  0x00000003 , 0x0000003f 
+ 00022874  0x00002c46 store  0x00000001 , 0x0000043b 
+ 00022875  0x00002c47 fetch  0x00000004 , 0x0000043f 
+ 00022876  0x00002c48 fetcht  0x00000002 , 0x0000043d 
+ 00022877  0x00002c49 storet  0x00000002 , 0x00000a9e 
+ 00022878  0x00002c4a isub  0x00000002 , 0x00000011 
+ 00022879  0x00002c4b bpatchx  0x00000011 , 0x00004022 
+ 00022880  0x00002c4c fetch  0x00000001 , 0x000043a5 
+ 00022881  0x00002c4d store  0x00000001 , 0x00000466 
+ 00022882  0x00002c4e ifetcht  0x00000002 , 0x00000006 
+ 00022883  0x00002c4f ifetch  0x00000002 , 0x00000006 
+ 00022884  0x00002c50 lshift2  0x0000003f , 0x0000003f 
+ 00022885  0x00002c51 store  0x00000002 , 0x0000043d 
+ 00022886  0x00002c52 lshift2  0x00000002 , 0x00000002 
+ 00022887  0x00002c53 iadd  0x00000002 , 0x0000003f 
+ 00022888  0x00002c54 ifetcht  0x00000004 , 0x00000006 
+ 00022889  0x00002c55 storet  0x00000004 , 0x00000467 
+ 00022890  0x00002c56 iadd  0x00000011 , 0x0000003f 
+ 00022891  0x00002c57 copy  0x0000003f , 0x00000014 
+ 00022892  0x00002c58 fetch  0x00000002 , 0x0000043d 
+ 00022893  0x00002c59 fetcht  0x00000002 , 0x00000a9e 
+ 00022894  0x00002c5a isub  0x00000002 , 0x0000003f 
+ 00022895  0x00002c5b fetcht  0x00000002 , 0x00000a96 
+ 00022896  0x00002c5c imul32  0x00000002 , 0x0000003f 
+ 00022897  0x00002c5d iadd  0x00000014 , 0x0000003f 
+ 00022898  0x00002c5e store  0x00000004 , 0x0000043f 
+ 00022899  0x00002c5f call  0x00005af3 
+ 00022900  0x00002c60 fetch  0x00000002 , 0x00000469 
+ 00022901  0x00002c61 store  0x00000002 , 0x0000448c 
+ 00022902  0x00002c62 rtn 
+ 00022903  0x00002c66 bpatchx  0x00000012 , 0x00004022 
+ 00022904  0x00002c67 fetch  0x00000001 , 0x0000043b 
+ 00022905  0x00002c68 rtnbit0  0x00000006 
+ 00022906  0x00002c69 fetch  0x00000002 , 0x00000455 
+ 00022907  0x00002c6a fetcht  0x00000002 , 0x0000045b 
+ 00022908  0x00002c6b isub  0x00000002 , 0x0000003f 
+ 00022909  0x00002c6c nrtn  0x00000002 
+ 00022910  0x00002c6d fetch  0x00000001 , 0x0000043b 
+ 00022911  0x00002c6e set0  0x00000006 , 0x0000003f 
+ 00022912  0x00002c6f store  0x00000001 , 0x0000043b 
+ 00022913  0x00002c70 fetch  0x00000005 , 0x000043a0 
+ 00022914  0x00002c71 store  0x00000005 , 0x0000046b 
+ 00022915  0x00002c72 branch  0x00005835 
+ 00022916  0x00002c76 bpatchx  0x00000013 , 0x00004022 
+ 00022917  0x00002c77 call  0x00005ac9 
+ 00022918  0x00002c78 call  0x0000599a 
+ 00022919  0x00002c79 fetch  0x00000001 , 0x000002d5 
+ 00022920  0x00002c7a isolate1  0x00000004 , 0x0000003f 
+ 00022921  0x00002c7b setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00022922  0x00002c7c rshift  0x0000003f , 0x0000003f 
+ 00022923  0x00002c7d ixor  0x00000002 , 0x0000003f 
+ 00022924  0x00002c7e isolate1  0x00000002 , 0x0000003f 
+ 00022925  0x00002c7f setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00022926  0x00002c80 rtnmark1  0x0000000f 
+ 00022927  0x00002c81 fetch  0x00000001 , 0x000002d6 
+ 00022928  0x00002c82 branch  0x00005996 , 0x00000034 
+ 00022929  0x00002c83 fetch  0x00000001 , 0x0000043b 
+ 00022930  0x00002c84 bbit0  0x00000004 , 0x00005996 
+ 00022931  0x00002c85 call  0x00007342 
+ 00022932  0x00002c86 call  0x000072b2 
+ 00022933  0x00002c87 nrtn  0x00000034 
+ 00022934  0x00002c89 fetcht  0x00000001 , 0x00000452 
+ 00022935  0x00002c8a setflip  0x00000002 , 0x00000002 
+ 00022936  0x00002c8b storet  0x00000001 , 0x00000452 
+ 00022937  0x00002c8c rtn 
+ 00022938  0x00002c90 bpatchx  0x00000014 , 0x00004022 
+ 00022939  0x00002c91 fetcht  0x00000001 , 0x00000452 
+ 00022940  0x00002c92 isolate0  0x00000005 , 0x00000002 
+ 00022941  0x00002c93 rtn  0x00000001 
+ 00022942  0x00002c94 fetch  0x00000001 , 0x000002d5 
+ 00022943  0x00002c95 lshift  0x0000003f , 0x0000003f 
+ 00022944  0x00002c96 ixor  0x00000002 , 0x0000003f 
+ 00022945  0x00002c97 rtnbit0  0x00000003 
+ 00022946  0x00002c98 set0  0x00000005 , 0x00000002 
+ 00022947  0x00002c99 setflip  0x00000003 , 0x00000002 
+ 00022948  0x00002c9a storet  0x00000001 , 0x00000452 
+ 00022949  0x00002c9b compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00022950  0x00002c9c nrtn  0x00000001 
+ 00022951  0x00002c9d fetch  0x00000001 , 0x000043b0 
+ 00022952  0x00002c9e beq  0x00000005 , 0x000059ac 
+ 00022953  0x00002c9f fetch  0x00000001 , 0x00004497 
+ 00022954  0x00002ca0 beq  0x00000002 , 0x000059b0 
+ 00022955  0x00002ca1 rtn 
+ 00022956  0x00002ca5 fetch  0x00000001 , 0x0000043b 
+ 00022957  0x00002ca6 set1  0x00000004 , 0x0000003f 
+ 00022958  0x00002ca7 store  0x00000001 , 0x0000043b 
+ 00022959  0x00002ca8 rtn 
+ 00022960  0x00002cab bpatchx  0x00000015 , 0x00004022 
+ 00022961  0x00002cac jam  0x00000000 , 0x00004497 
+ 00022962  0x00002cad arg  0x00000000 , 0x0000003f 
+ 00022963  0x00002cae store  0x00000004 , 0x000043df 
+ 00022964  0x00002caf store  0x00000005 , 0x000043d5 
+ 00022965  0x00002cb0 set1  0x00000027 , 0x0000003f 
+ 00022966  0x00002cb1 store  0x00000005 , 0x000043da 
+ 00022967  0x00002cb2 fetch  0x00000001 , 0x0000043b 
+ 00022968  0x00002cb3 set0  0x00000004 , 0x0000003f 
+ 00022969  0x00002cb4 store  0x00000001 , 0x0000043b 
+ 00022970  0x00002cb5 rtn 
+ 00022971  0x00002cb9 bpatchx  0x00000016 , 0x00004022 
+ 00022972  0x00002cba call  0x000057fc 
+ 00022973  0x00002cbb call  0x0000585f 
+ 00022974  0x00002cbc fetch  0x00000001 , 0x00000001 
+ 00022975  0x00002cbd increase  0x00000001 , 0x0000003f 
+ 00022976  0x00002cbe store  0x00000001 , 0x00000001 
+ 00022977  0x00002cbf rtn 
+ 00022978  0x00002cc3 bpatchx  0x00000017 , 0x00004022 
+ 00022979  0x00002cc4 fetch  0x00000001 , 0x0000433b 
+ 00022980  0x00002cc5 rtnne  0x00000001 
+ 00022981  0x00002cc6 arg  0x00000002 , 0x00000007 
+ 00022982  0x00002cc7 call  0x00007cf1 
+ 00022983  0x00002cc8 nrtn  0x00000034 
+ 00022984  0x00002cc9 fetch  0x00000002 , 0x0000433c 
+ 00022985  0x00002cca fetcht  0x00000002 , 0x0000433e 
+ 00022986  0x00002ccb isub  0x00000002 , 0x0000003f 
+ 00022987  0x00002ccc arg  0x00000002 , 0x00000007 
+ 00022988  0x00002ccd call  0x00007ce3 
+ 00022989  0x00002cce disable  0x00000029 
+ 00022990  0x00002ccf call  0x0000594c 
+ 00022991  0x00002cd0 call  0x000059bb 
+ 00022992  0x00002cd1 nrtn  0x0000002d 
+ 00022993  0x00002cd2 bpatchx  0x00000018 , 0x00004023 
+ 00022994  0x00002cd3 fetch  0x00000006 , 0x000002d7 
+ 00022995  0x00002cd4 store  0x00000006 , 0x0000044b 
+ 00022996  0x00002cd7 fetch  0x00000001 , 0x00000002 
+ 00022997  0x00002cd8 increase  0x00000001 , 0x0000003f 
+ 00022998  0x00002cd9 store  0x00000001 , 0x00000002 
+ 00022999  0x00002cda call  0x000059e2 
+ 00023000  0x00002cdb rtn  0x00000029 
+ 00023001  0x00002cdc call  0x000058e5 
+ 00023002  0x00002cdd nrtn  0x0000002d 
+ 00023003  0x00002cde bpatchx  0x00000019 , 0x00004023 
+ 00023004  0x00002cdf fetch  0x00000001 , 0x00000004 
+ 00023005  0x00002ce0 increase  0x00000001 , 0x0000003f 
+ 00023006  0x00002ce1 store  0x00000001 , 0x00000004 
+ 00023007  0x00002ce2 fetch  0x00000009 , 0x000002dd 
+ 00023008  0x00002ce3 store  0x00000009 , 0x000000ff 
+ 00023009  0x00002ce4 rtn 
+ 00023010  0x00002ce7 bpatchx  0x0000001a , 0x00004023 
+ 00023011  0x00002ce8 fetch  0x00000001 , 0x00000497 
+ 00023012  0x00002ce9 rtnne  0x0000001b 
+ 00023013  0x00002cea fetch  0x00000006 , 0x0000044b 
+ 00023014  0x00002ceb fetcht  0x00000006 , 0x00004461 
+ 00023015  0x00002cec isub  0x00000002 , 0x0000003e 
+ 00023016  0x00002ced nrtn  0x00000005 
+ 00023017  0x00002cee call  0x00004237 
+ 00023018  0x00002cef nrtn  0x00000005 
+ 00023019  0x00002cf0 call  0x00005905 
+ 00023020  0x00002cf1 call  0x0000571a 
+ 00023021  0x00002cf2 bpatchx  0x0000001b , 0x00004023 
+ 00023022  0x00002cf3 jam  0x00000000 , 0x000041cf 
+ 00023023  0x00002cf4 jam  0x00000000 , 0x00000472 
+ 00023024  0x00002cf5 jam  0x00000000 , 0x0000433b 
+ 00023025  0x00002cf6 jam  0x00000000 , 0x00000497 
+ 00023026  0x00002cf7 branch  0x0000421f 
+ 00023027  0x00002cfa arg  0x00000001 , 0x00000011 
+ 00023028  0x00002cfb fetch  0x00000001 , 0x000002d5 
+ 00023029  0x00002cfc rtnbit1  0x00000006 
+ 00023030  0x00002cfd arg  0x00000000 , 0x00000011 
+ 00023031  0x00002cfe rtn 
+ 00023032  0x00002d03 bpatchx  0x0000001c , 0x00004023 
+ 00023033  0x00002d04 fetch  0x00000001 , 0x00000452 
+ 00023034  0x00002d05 rtnbit1  0x00000005 
+ 00023035  0x00002d06 call  0x00005a1c 
+ 00023036  0x00002d07 call  0x00005c53 
+ 00023037  0x00002d08 branch  0x00005a3e , 0x00000034 
+ 00023038  0x00002d09 ifetch  0x00000001 , 0x00000006 
+ 00023039  0x00002d0a ifetcht  0x00000001 , 0x00000006 
+ 00023040  0x00002d0b copy  0x00000002 , 0x00000011 
+ 00023041  0x00002d0c isub  0x00000011 , 0x0000003f 
+ 00023042  0x00002d0d arg  0x0000001b , 0x00000002 
+ 00023043  0x00002d0e call  0x00007db5 
+ 00023044  0x00002d0f copy  0x0000003f , 0x00000002 
+ 00023045  0x00002d10 ifetch  0x00000001 , 0x00000006 
+ 00023046  0x00002d11 copy  0x0000003f , 0x00000001 
+ 00023047  0x00002d12 copy  0x00000011 , 0x0000003f 
+ 00023048  0x00002d13 iadd  0x00000006 , 0x00000006 
+ 00023049  0x00002d14 arg  0x000043b0 , 0x00000005 
+ 00023050  0x00002d15 copy  0x00000002 , 0x00000039 
+ 00023051  0x00002d16 call  0x00007cdc 
+ 00023052  0x00002d17 call  0x00005a2e 
+ 00023053  0x00002d18 call  0x00005a40 
+ 00023054  0x00002d1a call  0x00005c53 
+ 00023055  0x00002d1b ifetch  0x00000001 , 0x00000006 
+ 00023056  0x00002d1c copy  0x0000003f , 0x00000011 
+ 00023057  0x00002d1d copy  0x00000006 , 0x00000013 
+ 00023058  0x00002d1e ifetcht  0x00000001 , 0x00000006 
+ 00023059  0x00002d1f copy  0x00000002 , 0x00000012 
+ 00023060  0x00002d20 isub  0x00000012 , 0x0000003f 
+ 00023061  0x00002d21 arg  0x0000001b , 0x00000002 
+ 00023062  0x00002d22 call  0x00007db5 
+ 00023063  0x00002d23 iadd  0x00000012 , 0x0000003f 
+ 00023064  0x00002d24 istore  0x00000001 , 0x00000013 
+ 00023065  0x00002d25 isub  0x00000011 , 0x0000003e 
+ 00023066  0x00002d26 nrtn  0x00000005 
+ 00023067  0x00002d27 branch  0x00005c76 
+ 00023068  0x00002d2b call  0x00005a23 
+ 00023069  0x00002d2c rtnmark1  0x00000029 
+ 00023070  0x00002d2d fetch  0x00000001 , 0x000044bb 
+ 00023071  0x00002d2e bbit0  0x00000002 , 0x00005a2c 
+ 00023072  0x00002d2f call  0x00005c56 
+ 00023073  0x00002d30 branch  0x00005a2c , 0x00000034 
+ 00023074  0x00002d31 branch  0x00005a2a 
+ 00023075  0x00002d35 call  0x00005c53 
+ 00023076  0x00002d36 branch  0x00005a2c , 0x00000034 
+ 00023077  0x00002d37 ifetch  0x00000001 , 0x00000006 
+ 00023078  0x00002d38 ifetcht  0x00000001 , 0x00000006 
+ 00023079  0x00002d39 isub  0x00000002 , 0x0000003f 
+ 00023080  0x00002d3a sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00023081  0x00002d3b branch  0x00005a2c , 0x00000002 
+ 00023082  0x00002d3d set1  0x00000029 , 0x00000000 
+ 00023083  0x00002d3e rtn 
+ 00023084  0x00002d41 set0  0x00000029 , 0x00000000 
+ 00023085  0x00002d42 rtn 
+ 00023086  0x00002d45 copy  0x00000011 , 0x0000003f 
+ 00023087  0x00002d46 rtn  0x00000034 
+ 00023088  0x00002d47 arg  0x00000001 , 0x00000001 
+ 00023089  0x00002d48 rtn 
+ 00023090  0x00002d4c bpatchx  0x0000001d , 0x00004023 
+ 00023091  0x00002d4d increase  0x00000001 , 0x00000002 
+ 00023092  0x00002d4e call  0x00005b4a 
+ 00023093  0x00002d4f increase  0xfffffffe , 0x00000006 
+ 00023094  0x00002d50 ifetch  0x00000002 , 0x00000006 
+ 00023095  0x00002d51 arg  0x00002902 , 0x00000002 
+ 00023096  0x00002d52 isub  0x00000002 , 0x0000003e 
+ 00023097  0x00002d53 nrtn  0x00000005 
+ 00023098  0x00002d54 increase  0x00000001 , 0x00000006 
+ 00023099  0x00002d55 copy  0x00000006 , 0x00000011 
+ 00023100  0x00002d56 ifetch  0x00000001 , 0x00000006 
+ 00023101  0x00002d57 rtn 
+ 00023102  0x00002d5b force  0x00000000 , 0x00000002 
+ 00023103  0x00002d5c force  0x00000001 , 0x00000001 
+ 00023104  0x00002d5f bpatchx  0x0000001e , 0x00004023 
+ 00023105  0x00002d60 storet  0x00000001 , 0x000043af 
+ 00023106  0x00002d61 fetcht  0x00000001 , 0x00000452 
+ 00023107  0x00002d62 set1  0x00000005 , 0x00000002 
+ 00023108  0x00002d63 and  0x00000002 , 0x000000fc , 0x0000003f 
+ 00023109  0x00002d64 ior  0x00000001 , 0x0000003f 
+ 00023110  0x00002d65 store  0x00000001 , 0x00000452 
+ 00023111  0x00002d66 and_into  0x0000001f , 0x0000003f 
+ 00023112  0x00002d67 isolate1  0x00000029 , 0x00000000 
+ 00023113  0x00002d68 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00023114  0x00002d69 store  0x00000001 , 0x000043ae 
+ 00023115  0x00002d6b fetch  0x00000001 , 0x000043ae 
+ 00023116  0x00002d6c compare  0x00000001 , 0x00000001 , 0x00000003 
+ 00023117  0x00002d6d nbranch  0x00005a50 , 0x00000001 
+ 00023118  0x00002d6e fetch  0x00000001 , 0x000043af 
+ 00023119  0x00002d6f rtn  0x00000034 
+ 00023120  0x00002d71 fetch  0x00000001 , 0x0000043b 
+ 00023121  0x00002d72 rtnbit0  0x00000004 
+ 00023122  0x00002d73 call  0x00007342 
+ 00023123  0x00002d74 branch  0x00007299 
+ 00023124  0x00002d78 arg  0x00000000 , 0x00000007 
+ 00023125  0x00002d79 branch  0x00004bec 
+ 00023126  0x00002d7c arg  0x00000000 , 0x00000007 
+ 00023127  0x00002d7d branch  0x00004bf0 
+ 00023128  0x00002d81 bpatchx  0x0000001f , 0x00004023 
+ 00023129  0x00002d82 rtnmark1  0x0000000f 
+ 00023130  0x00002d83 call  0x00005c70 
+ 00023131  0x00002d84 nrtn  0x00000034 
+ 00023132  0x00002d85 fetch  0x00000001 , 0x000002d5 
+ 00023133  0x00002d86 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00023134  0x00002d87 store  0x00000001 , 0x000044de 
+ 00023135  0x00002d88 ifetch  0x00000001 , 0x00000006 
+ 00023136  0x00002d89 and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00023137  0x00002d8a store  0x00000001 , 0x000044dd 
+ 00023138  0x00002d8b rtn  0x00000034 
+ 00023139  0x00002d8c copy  0x00000006 , 0x0000003f 
+ 00023140  0x00002d8d store  0x00000002 , 0x000044df 
+ 00023141  0x00002d8e bpatchx  0x00000020 , 0x00004024 
+ 00023142  0x00002d8f fetch  0x00000001 , 0x000044de 
+ 00023143  0x00002d90 beq  0x00000003 , 0x00006044 
+ 00023144  0x00002d92 bpatchx  0x00000021 , 0x00004024 
+ 00023145  0x00002d93 call  0x00005a76 
+ 00023146  0x00002d94 nbranch  0x00005a54 , 0x00000028 
+ 00023147  0x00002d95 call  0x00005a56 
+ 00023148  0x00002d96 fetch  0x00000002 , 0x000044df 
+ 00023149  0x00002d97 copy  0x0000003f , 0x00000006 
+ 00023150  0x00002d98 ifetch  0x00000002 , 0x00000006 
+ 00023151  0x00002d99 store  0x00000002 , 0x000044ce 
+ 00023152  0x00002d9a bpatchx  0x00000022 , 0x00004024 
+ 00023153  0x00002d9b ifetch  0x00000002 , 0x00000006 
+ 00023154  0x00002d9c beq  0x00000004 , 0x00005c8b 
+ 00023155  0x00002d9d beq  0x00000006 , 0x00005ed4 
+ 00023156  0x00002d9e beq  0x00000005 , 0x00005e96 
+ 00023157  0x00002d9f rtn 
+ 00023158  0x00002da3 fetch  0x00000001 , 0x000044de 
+ 00023159  0x00002da4 beq  0x00000002 , 0x00005a85 
+ 00023160  0x00002da5 beq  0x00000001 , 0x00005a9d 
+ 00023161  0x00002da6 rtn 
+ 00023162  0x00002dac call  0x00007dbf 
+ 00023163  0x00002dad arg  0x00000004 , 0x00000002 
+ 00023164  0x00002dae isub  0x0000003f , 0x0000003e 
+ 00023165  0x00002daf rtn  0x00000005 
+ 00023166  0x00002db0 arg  0x00000005 , 0x00000002 
+ 00023167  0x00002db1 isub  0x0000003f , 0x0000003e 
+ 00023168  0x00002db2 rtn  0x00000005 
+ 00023169  0x00002db3 arg  0x00000006 , 0x00000002 
+ 00023170  0x00002db4 isub  0x0000003f , 0x0000003e 
+ 00023171  0x00002db5 rtn  0x00000005 
+ 00023172  0x00002db6 branch  0x00007dc1 
+ 00023173  0x00002dba fetch  0x00000002 , 0x000044df 
+ 00023174  0x00002dbb copy  0x0000003f , 0x00000006 
+ 00023175  0x00002dbc ifetch  0x00000002 , 0x00000006 
+ 00023176  0x00002dbd store  0x00000002 , 0x000044ce 
+ 00023177  0x00002dbe ifetch  0x00000002 , 0x00000006 
+ 00023178  0x00002dbf call  0x00005a7a 
+ 00023179  0x00002dc0 nrtn  0x00000028 
+ 00023180  0x00002dc1 fetcht  0x00000001 , 0x000044dd 
+ 00023181  0x00002dc2 storet  0x00000001 , 0x000044d0 
+ 00023182  0x00002dc3 fetch  0x00000002 , 0x000044ce 
+ 00023183  0x00002dc4 increase  0x00000004 , 0x0000003f 
+ 00023184  0x00002dc5 isub  0x00000002 , 0x0000003e 
+ 00023185  0x00002dc6 branch  0x00007dbf , 0x00000005 
+ 00023186  0x00002dc7 fetch  0x00000001 , 0x000044dd 
+ 00023187  0x00002dc8 copy  0x0000003f , 0x00000039 
+ 00023188  0x00002dc9 arg  0x0000030d , 0x00000005 
+ 00023189  0x00002dca fetch  0x00000002 , 0x000044df 
+ 00023190  0x00002dcb copy  0x0000003f , 0x00000006 
+ 00023191  0x00002dcc call  0x00007cdc 
+ 00023192  0x00002dcd branch  0x00007dc1 
+ 00023193  0x00002dd3 call  0x00007dbf 
+ 00023194  0x00002dd4 fetch  0x00000001 , 0x000044d0 
+ 00023195  0x00002dd5 nrtn  0x00000034 
+ 00023196  0x00002dd6 branch  0x00007dc1 
+ 00023197  0x00002dd9 call  0x00005a99 
+ 00023198  0x00002dda nrtn  0x00000028 
+ 00023199  0x00002ddb fetch  0x00000001 , 0x000044d0 
+ 00023200  0x00002ddc arg  0x0000030d , 0x00000005 
+ 00023201  0x00002ddd iadd  0x00000005 , 0x00000011 
+ 00023202  0x00002dde fetcht  0x00000001 , 0x000044dd 
+ 00023203  0x00002ddf iadd  0x00000002 , 0x0000003f 
+ 00023204  0x00002de0 store  0x00000001 , 0x000044d0 
+ 00023205  0x00002de1 fetch  0x00000001 , 0x000044dd 
+ 00023206  0x00002de2 copy  0x0000003f , 0x00000039 
+ 00023207  0x00002de3 copy  0x00000011 , 0x00000005 
+ 00023208  0x00002de4 fetch  0x00000002 , 0x000044df 
+ 00023209  0x00002de5 copy  0x0000003f , 0x00000006 
+ 00023210  0x00002de6 call  0x00007ccf 
+ 00023211  0x00002de7 setarg  0x0000030d 
+ 00023212  0x00002de8 store  0x00000002 , 0x000044df 
+ 00023213  0x00002de9 fetch  0x00000002 , 0x000044ce 
+ 00023214  0x00002dea increase  0x00000004 , 0x0000003f 
+ 00023215  0x00002deb fetcht  0x00000001 , 0x000044d0 
+ 00023216  0x00002dec isub  0x00000002 , 0x0000003e 
+ 00023217  0x00002ded branch  0x00007dbf , 0x00000005 
+ 00023218  0x00002dee branch  0x00007dc1 
+ 00023219  0x00002df5 call  0x00007c80 
+ 00023220  0x00002df6 arg  0x00004430 , 0x00000005 
+ 00023221  0x00002df8 fetch  0x00000002 , 0x000044ce 
+ 00023222  0x00002df9 increase  0xfffffffb , 0x0000003f 
+ 00023223  0x00002dfb istore  0x00000001 , 0x00000005 
+ 00023224  0x00002dfc copy  0x0000003f , 0x00000039 
+ 00023225  0x00002dfd call  0x00007c7a 
+ 00023226  0x00002dfe branch  0x00007ccf 
+ 00023227  0x00002e01 call  0x00007c80 
+ 00023228  0x00002e02 arg  0x00004443 , 0x00000005 
+ 00023229  0x00002e03 branch  0x00005ab5 
+ 00023230  0x00002e08 fetch  0x00000002 , 0x000041fa 
+ 00023231  0x00002e09 branch  0x00007d77 
+ 00023232  0x00002e0c fetcht  0x00000004 , 0x00000457 
+ 00023233  0x00002e0d call  0x00004a7a 
+ 00023234  0x00002e0e isub  0x00000002 , 0x0000000b 
+ 00023235  0x00002e0f deposit  0x0000000b 
+ 00023236  0x00002e10 fetcht  0x00000002 , 0x00000469 
+ 00023237  0x00002e11 lshift4  0x00000002 , 0x00000002 
+ 00023238  0x00002e12 lshift  0x00000002 , 0x00000002 
+ 00023239  0x00002e13 isub  0x00000002 , 0x0000003f 
+ 00023240  0x00002e14 rtn 
+ 00023241  0x00002e17 call  0x00004a7a 
+ 00023242  0x00002e18 store  0x00000004 , 0x00000457 
+ 00023243  0x00002e19 rtn 
+ 00023244  0x00002e1d jam  0x00000024 , 0x00000016 
+ 00023245  0x00002e1e jam  0x00000000 , 0x00000abe 
+ 00023246  0x00002e20 bpatchx  0x00000023 , 0x00004024 
+ 00023247  0x00002e21 fetch  0x00000001 , 0x00004340 
+ 00023248  0x00002e22 rtn  0x00000034 
+ 00023249  0x00002e23 arg  0x00000000 , 0x00000007 
+ 00023250  0x00002e24 call  0x00007cf1 
+ 00023251  0x00002e25 nrtn  0x00000034 
+ 00023252  0x00002e26 bpatchx  0x00000024 , 0x00004024 
+ 00023253  0x00002e28 disable  0x00000029 
+ 00023254  0x00002e29 enable  0x00000010 
+ 00023255  0x00002e2a call  0x0000594c 
+ 00023256  0x00002e2b call  0x000057fc 
+ 00023257  0x00002e2c call  0x000058c3 
+ 00023258  0x00002e2d nbranch  0x00005ae2 , 0x0000002d 
+ 00023259  0x00002e2e fetch  0x00000001 , 0x00000003 
+ 00023260  0x00002e2f increase  0x00000001 , 0x0000003f 
+ 00023261  0x00002e30 store  0x00000001 , 0x00000003 
+ 00023262  0x00002e31 fetch  0x00000001 , 0x000002d5 
+ 00023263  0x00002e32 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00023264  0x00002e33 beq  0x00000003 , 0x000058f6 
+ 00023265  0x00002e34 beq  0x00000005 , 0x00005b08 
+ 00023266  0x00002e36 bpatchx  0x00000025 , 0x00004024 
+ 00023267  0x00002e37 random  0x0000003f 
+ 00023268  0x00002e38 arg  0x000001ff , 0x00000002 
+ 00023269  0x00002e39 iand  0x00000002 , 0x0000003f 
+ 00023270  0x00002e3a add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00023271  0x00002e3b call  0x00005aef 
+ 00023272  0x00002e3c fetch  0x00000001 , 0x00000abe 
+ 00023273  0x00002e3d fetcht  0x00000001 , 0x0000445f 
+ 00023274  0x00002e3e isub  0x00000002 , 0x0000003e 
+ 00023275  0x00002e3f nbranch  0x00005ace , 0x00000005 
+ 00023276  0x00002e40 arg  0x00000000 , 0x00000007 
+ 00023277  0x00002e41 fetch  0x00000002 , 0x00004454 
+ 00023278  0x00002e42 branch  0x00007ce3 
+ 00023279  0x00002e45 increase  0xffffffff , 0x0000003f 
+ 00023280  0x00002e46 nop  0x00000026 
+ 00023281  0x00002e47 nbranch  0x00005aef , 0x00000034 
+ 00023282  0x00002e48 rtn 
+ 00023283  0x00002e4c bpatchx  0x00000026 , 0x00004024 
+ 00023284  0x00002e4d fetch  0x00000001 , 0x00000472 
+ 00023285  0x00002e4e call  0x000057d6 
+ 00023286  0x00002e4f fetch  0x00000002 , 0x0000043d 
+ 00023287  0x00002e50 imul32  0x00000002 , 0x0000003f 
+ 00023288  0x00002e51 arg  0x00000177 , 0x00000002 
+ 00023289  0x00002e52 imul32  0x00000002 , 0x0000003f 
+ 00023290  0x00002e53 arg  0x000186a0 , 0x00000002 
+ 00023291  0x00002e54 idiv  0x00000002 
+ 00023292  0x00002e55 fetch  0x00000001 , 0x00000466 
+ 00023293  0x00002e56 arg  0x00004e20 , 0x00000002 
+ 00023294  0x00002e57 imul32  0x00000002 , 0x0000003f 
+ 00023295  0x00002e58 iadd  0x00000002 , 0x0000003f 
+ 00023296  0x00002e59 store  0x00000004 , 0x000044b7 
+ 00023297  0x00002e5a bpatchx  0x00000027 , 0x00004024 
+ 00023298  0x00002e5b fetch  0x00000002 , 0x000040c1 
+ 00023299  0x00002e5c call  0x00007d61 
+ 00023300  0x00002e5d quotient  0x00000002 
+ 00023301  0x00002e5e iadd  0x00000002 , 0x0000003f 
+ 00023302  0x00002e5f store  0x00000002 , 0x00000449 
+ 00023303  0x00002e60 rtn 
+ 00023304  0x00002e63 bpatchx  0x00000028 , 0x00004025 
+ 00023305  0x00002e64 fetch  0x00000006 , 0x000002dd 
+ 00023306  0x00002e65 fetcht  0x00000006 , 0x00004472 
+ 00023307  0x00002e66 isub  0x00000002 , 0x0000003e 
+ 00023308  0x00002e67 nrtn  0x00000005 
+ 00023309  0x00002e68 call  0x000059f3 
+ 00023310  0x00002e69 copy  0x00000011 , 0x0000003f 
+ 00023311  0x00002e6a store  0x00000001 , 0x00004460 
+ 00023312  0x00002e6b fetch  0x00000007 , 0x000002ea 
+ 00023313  0x00002e6c store  0x00000007 , 0x000000ff 
+ 00023314  0x00002e6d ifetch  0x00000008 , 0x00000006 
+ 00023315  0x00002e6e istore  0x00000008 , 0x00000005 
+ 00023316  0x00002e6f fetch  0x00000006 , 0x000002d7 
+ 00023317  0x00002e70 store  0x00000006 , 0x0000044b 
+ 00023318  0x00002e71 increase  0x00000006 , 0x00000006 
+ 00023319  0x00002e72 ifetch  0x00000008 , 0x00000006 
+ 00023320  0x00002e73 store  0x00000008 , 0x0000045f 
+ 00023321  0x00002e74 ifetcht  0x00000002 , 0x00000006 
+ 00023322  0x00002e75 bpatchx  0x00000029 , 0x00004025 
+ 00023323  0x00002e77 lshift2  0x00000002 , 0x00000002 
+ 00023324  0x00002e78 ifetch  0x00000002 , 0x00000006 
+ 00023325  0x00002e79 lshift2  0x0000003f , 0x0000003f 
+ 00023326  0x00002e7a store  0x00000002 , 0x0000043d 
+ 00023327  0x00002e7b store  0x00000004 , 0x0000043f 
+ 00023328  0x00002e7c isub  0x00000002 , 0x0000003f 
+ 00023329  0x00002e7d add  0x0000003f , 0xfffffffe , 0x00000028 
+ 00023330  0x00002e7e ifetch  0x00000009 , 0x00000006 
+ 00023331  0x00002e7f store  0x00000009 , 0x00000467 
+ 00023332  0x00002e80 bpatchx  0x0000002a , 0x00004025 
+ 00023333  0x00002e81 ifetch  0x00000001 , 0x00000006 
+ 00023334  0x00002e82 rshift4  0x0000003f , 0x00000002 
+ 00023335  0x00002e83 rshift  0x00000002 , 0x00000002 
+ 00023336  0x00002e84 storet  0x00000001 , 0x00000472 
+ 00023337  0x00002e85 and_into  0x0000001f , 0x0000003f 
+ 00023338  0x00002e86 store  0x00000001 , 0x00000454 
+ 00023339  0x00002e87 call  0x00005af3 
+ 00023340  0x00002e88 call  0x00005835 
+ 00023341  0x00002e89 call  0x00005726 
+ 00023342  0x00002e8a call  0x00004237 
+ 00023343  0x00002e8b nrtn  0x00000005 
+ 00023344  0x00002e8c bpatchx  0x0000002b , 0x00004025 
+ 00023345  0x00002e8d call  0x0000483d 
+ 00023346  0x00002e8e call  0x00005eb3 
+ 00023347  0x00002e8f jam  0x00000014 , 0x00000a95 
+ 00023348  0x00002e90 call  0x00007bab 
+ 00023349  0x00002e92 branch  0x0000421f 
+ 00023350  0x00002e96 bpatchx  0x0000002c , 0x00004025 
+ 00023351  0x00002e97 fetch  0x00000002 , 0x0000442c 
+ 00023352  0x00002e98 iforce  0x00000012 
+ 00023353  0x00002e99 fetch  0x00000002 , 0x0000442e 
+ 00023354  0x00002e9a iforce  0x00000013 
+ 00023355  0x00002e9b fetch  0x00000002 , 0x0000448e 
+ 00023356  0x00002e9c iforce  0x00000006 
+ 00023357  0x00002e9d enable  0x00000028 
+ 00023358  0x00002e9e rtn 
+ 00023359  0x00002ea2 ifetch  0x00000002 , 0x00000006 
+ 00023360  0x00002ea3 rtn  0x00000034 
+ 00023361  0x00002ea4 isub  0x00000012 , 0x0000003e 
+ 00023362  0x00002ea5 nrtn  0x00000002 
+ 00023363  0x00002ea6 isub  0x00000013 , 0x0000003e 
+ 00023364  0x00002ea7 rtn  0x00000005 
+ 00023365  0x00002ea8 branch  0x00005b48 , 0x00000002 
+ 00023366  0x00002ea9 force  0x00000001 , 0x0000003e 
+ 00023367  0x00002eaa rtn 
+ 00023368  0x00002eac force  0x00000000 , 0x0000003f 
+ 00023369  0x00002ead rtn 
+ 00023370  0x00002eb2 call  0x00005b4d 
+ 00023371  0x00002eb3 branch  0x00005b59 , 0x00000005 
+ 00023372  0x00002eb4 rtn 
+ 00023373  0x00002eb7 bpatchx  0x0000002d , 0x00004025 
+ 00023374  0x00002eb8 fetch  0x00000002 , 0x0000448e 
+ 00023375  0x00002eb9 iforce  0x00000006 
+ 00023376  0x00002ebb ifetch  0x00000002 , 0x00000006 
+ 00023377  0x00002ebc rtn  0x00000034 
+ 00023378  0x00002ebd isub  0x00000002 , 0x0000003e 
+ 00023379  0x00002ebe rtn  0x00000005 
+ 00023380  0x00002ebf ifetch  0x00000001 , 0x00000006 
+ 00023381  0x00002ec0 iadd  0x00000006 , 0x00000006 
+ 00023382  0x00002ec1 ifetch  0x00000001 , 0x00000006 
+ 00023383  0x00002ec2 iadd  0x00000006 , 0x00000006 
+ 00023384  0x00002ec3 branch  0x00005b50 
+ 00023385  0x00002ec5 ifetch  0x00000001 , 0x00000006 
+ 00023386  0x00002ec6 iadd  0x00000006 , 0x00000006 
+ 00023387  0x00002ec7 rtn 
+ 00023388  0x00002ecc bpatchx  0x0000002e , 0x00004025 
+ 00023389  0x00002ecd fetch  0x00000002 , 0x0000448e 
+ 00023390  0x00002ece iforce  0x00000006 
+ 00023391  0x00002ed0 ifetch  0x00000002 , 0x00000006 
+ 00023392  0x00002ed1 rtn  0x00000034 
+ 00023393  0x00002ed2 ifetch  0x00000001 , 0x00000006 
+ 00023394  0x00002ed3 iadd  0x00000006 , 0x00000006 
+ 00023395  0x00002ed4 increase  0xfffffffe , 0x00000006 
+ 00023396  0x00002ed5 ifetch  0x00000002 , 0x00000006 
+ 00023397  0x00002ed6 isub  0x00000002 , 0x0000003e 
+ 00023398  0x00002ed7 rtn  0x00000005 
+ 00023399  0x00002ed8 ifetch  0x00000001 , 0x00000006 
+ 00023400  0x00002ed9 iadd  0x00000006 , 0x00000006 
+ 00023401  0x00002eda branch  0x00005b5f 
+ 00023402  0x00002edf fetch  0x00000002 , 0x00000498 
+ 00023403  0x00002ee0 branch  0x00005b6e 
+ 00023404  0x00002ee3 bpatchx  0x0000002f , 0x00004025 
+ 00023405  0x00002ee4 fetch  0x00000002 , 0x0000448e 
+ 00023406  0x00002ee6 iforce  0x00000006 
+ 00023407  0x00002ee7 copy  0x00000002 , 0x00000011 
+ 00023408  0x00002ee9 ifetch  0x00000002 , 0x00000006 
+ 00023409  0x00002eea branch  0x00005b79 , 0x00000034 
+ 00023410  0x00002eeb isub  0x00000011 , 0x0000003e 
+ 00023411  0x00002eec branch  0x00005b7a , 0x00000005 
+ 00023412  0x00002eed ifetch  0x00000001 , 0x00000006 
+ 00023413  0x00002eee iadd  0x00000006 , 0x00000006 
+ 00023414  0x00002eef ifetch  0x00000001 , 0x00000006 
+ 00023415  0x00002ef0 iadd  0x00000006 , 0x00000006 
+ 00023416  0x00002ef1 branch  0x00005b70 
+ 00023417  0x00002ef3 branch  0x00007dc7 
+ 00023418  0x00002ef6 ifetch  0x00000001 , 0x00000006 
+ 00023419  0x00002ef7 store  0x00000001 , 0x0000049e 
+ 00023420  0x00002ef8 copy  0x0000003f , 0x00000039 
+ 00023421  0x00002ef9 arg  0x0000049f , 0x00000005 
+ 00023422  0x00002efa call  0x00007ccf 
+ 00023423  0x00002efb ifetch  0x00000001 , 0x00000006 
+ 00023424  0x00002efc store  0x00000001 , 0x000004af 
+ 00023425  0x00002efd call  0x00007c80 
+ 00023426  0x00002efe branch  0x00007dc9 
+ 00023427  0x00002f02 bpatchx  0x00000030 , 0x00004026 
+ 00023428  0x00002f03 call  0x00005b86 
+ 00023429  0x00002f04 branch  0x00005b98 
+ 00023430  0x00002f07 arg  0x00002a00 , 0x00000002 
+ 00023431  0x00002f08 call  0x00005b5c 
+ 00023432  0x00002f09 rtn  0x00000034 
+ 00023433  0x00002f0a ifetch  0x00000001 , 0x00000006 
+ 00023434  0x00002f0b copy  0x00000006 , 0x00000005 
+ 00023435  0x00002f0c fetcht  0x00000001 , 0x00004381 
+ 00023436  0x00002f0d copy  0x00000002 , 0x00000039 
+ 00023437  0x00002f0e isub  0x00000002 , 0x0000003e 
+ 00023438  0x00002f0f nbranch  0x00005b95 , 0x00000002 
+ 00023439  0x00002f10 isub  0x00000002 , 0x00000002 
+ 00023440  0x00002f11 arg  0x00004382 , 0x00000006 
+ 00023441  0x00002f12 call  0x00007cdc 
+ 00023442  0x00002f13 copy  0x00000002 , 0x00000039 
+ 00023443  0x00002f14 ncall  0x00005bd0 , 0x00000005 
+ 00023444  0x00002f15 rtn 
+ 00023445  0x00002f17 copy  0x0000003f , 0x00000039 
+ 00023446  0x00002f18 arg  0x00004382 , 0x00000006 
+ 00023447  0x00002f19 branch  0x00007ccf 
+ 00023448  0x00002f1d arg  0x00004361 , 0x00000013 
+ 00023449  0x00002f1e arg  0x00004342 , 0x00000011 
+ 00023450  0x00002f1f call  0x00005ba5 
+ 00023451  0x00002f20 setarg  0x00000000 
+ 00023452  0x00002f21 setflag  0x00000028 , 0x00000000 , 0x0000003f 
+ 00023453  0x00002f22 store  0x00000001 , 0x00000a96 
+ 00023454  0x00002f23 arg  0x00004381 , 0x00000013 
+ 00023455  0x00002f24 arg  0x00004362 , 0x00000011 
+ 00023456  0x00002f25 call  0x00005ba5 
+ 00023457  0x00002f26 rtn  0x00000028 
+ 00023458  0x00002f27 fetch  0x00000001 , 0x00000a96 
+ 00023459  0x00002f28 branch  0x00004a8b , 0x00000034 
+ 00023460  0x00002f29 rtn 
+ 00023461  0x00002f2d bpatchx  0x00000031 , 0x00004026 
+ 00023462  0x00002f2e call  0x00007dbf 
+ 00023463  0x00002f2f call  0x00007cb5 
+ 00023464  0x00002f30 arg  0x00000000 , 0x00000012 
+ 00023465  0x00002f31 arg  0x00000abf , 0x00000005 
+ 00023466  0x00002f32 call  0x00005bbf 
+ 00023467  0x00002f33 fetch  0x00000001 , 0x00004381 
+ 00023468  0x00002f34 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00023469  0x00002f35 iadd  0x00000012 , 0x00000011 
+ 00023470  0x00002f36 increase  0x00000002 , 0x00000011 
+ 00023471  0x00002f37 sub  0x00000011 , 0x0000001f , 0x0000003e 
+ 00023472  0x00002f38 nbranch  0x00005bbd , 0x00000002 
+ 00023473  0x00002f39 istoret  0x00000001 , 0x00000005 
+ 00023474  0x00002f3a arg  0x00000009 , 0x00000002 
+ 00023475  0x00002f3b istoret  0x00000001 , 0x00000005 
+ 00023476  0x00002f3c iforce  0x00000039 
+ 00023477  0x00002f3d call  0x00007ccf 
+ 00023478  0x00002f3e copy  0x00000011 , 0x00000012 
+ 00023479  0x00002f40 deposit  0x00000012 
+ 00023480  0x00002f41 store  0x00000001 , 0x00000abe 
+ 00023481  0x00002f42 arg  0x00000abe , 0x00000006 
+ 00023482  0x00002f43 setarg  0xffffffe0 
+ 00023483  0x00002f44 iadd  0x00000013 , 0x00000005 
+ 00023484  0x00002f45 branch  0x00007c98 
+ 00023485  0x00002f48 call  0x00007dc1 
+ 00023486  0x00002f49 branch  0x00005bb7 
+ 00023487  0x00002f4c ifetch  0x00000001 , 0x00000011 
+ 00023488  0x00002f4d rtn  0x00000034 
+ 00023489  0x00002f4e pincrease  0x00000001 
+ 00023490  0x00002f4f ifetcht  0x00000001 , 0x00000006 
+ 00023491  0x00002f50 sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00023492  0x00002f51 branch  0x00005bce , 0x00000005 
+ 00023493  0x00002f52 iadd  0x00000012 , 0x00000012 
+ 00023494  0x00002f53 copy  0x00000011 , 0x00000006 
+ 00023495  0x00002f54 iforce  0x00000039 
+ 00023496  0x00002f55 call  0x00007ccf 
+ 00023497  0x00002f56 copy  0x00000006 , 0x00000011 
+ 00023498  0x00002f58 deposit  0x00000011 
+ 00023499  0x00002f59 isub  0x00000013 , 0x0000003e 
+ 00023500  0x00002f5a rtn  0x00000002 
+ 00023501  0x00002f5b branch  0x00005bbf 
+ 00023502  0x00002f5e iadd  0x00000011 , 0x00000011 
+ 00023503  0x00002f5f branch  0x00005bca 
+ 00023504  0x00002f63 setarg  0x00000020 
+ 00023505  0x00002f64 istore  0x00000001 , 0x00000005 
+ 00023506  0x00002f65 loop  0x00005bd0 
+ 00023507  0x00002f66 rtn 
+ 00023508  0x00002f6a bpatchx  0x00000032 , 0x00004026 
+ 00023509  0x00002f6b disable  0x0000002b 
+ 00023510  0x00002f6c branch  0x00005bd8 , 0x0000002e 
+ 00023511  0x00002f6d nbranch  0x00005be6 , 0x0000002d 
+ 00023512  0x00002f6f call  0x00004ba0 
+ 00023513  0x00002f70 fetch  0x00000002 , 0x000040c1 
+ 00023514  0x00002f71 store  0x00000002 , 0x00000449 
+ 00023515  0x00002f73 nbranch  0x00004bb3 , 0x0000002d 
+ 00023516  0x00002f74 bmark1  0x0000000f , 0x00004bb3 
+ 00023517  0x00002f76 fetch  0x00000001 , 0x000044dd 
+ 00023518  0x00002f77 nbranch  0x00004bb3 , 0x00000034 
+ 00023519  0x00002f78 fetch  0x00000001 , 0x000043af 
+ 00023520  0x00002f79 nbranch  0x00004bb3 , 0x00000034 
+ 00023521  0x00002f7b fetch  0x00000001 , 0x000044bb 
+ 00023522  0x00002f7c bbit1  0x00000005 , 0x00004bb3 
+ 00023523  0x00002f7e fetch  0x00000001 , 0x0000043b 
+ 00023524  0x00002f7f bbit1  0x00000005 , 0x00004bb3 
+ 00023525  0x00002f80 branch  0x00004b95 
+ 00023526  0x00002f83 fetcht  0x00000002 , 0x000040c1 
+ 00023527  0x00002f84 rshift  0x00000002 , 0x00000002 
+ 00023528  0x00002f85 fetch  0x00000002 , 0x00000449 
+ 00023529  0x00002f86 iadd  0x00000002 , 0x0000003f 
+ 00023530  0x00002f87 store  0x00000002 , 0x00000449 
+ 00023531  0x00002f88 branch  0x00004bab 
+ 00023532  0x00002f8c arg  0x00000000 , 0x00000007 
+ 00023533  0x00002f8d branch  0x00005c04 
+ 00023534  0x00002f90 arg  0x00000000 , 0x00000007 
+ 00023535  0x00002f91 branch  0x00005c08 
+ 00023536  0x00002f94 arg  0x00000001 , 0x00000007 
+ 00023537  0x00002f95 branch  0x00005c04 
+ 00023538  0x00002f98 arg  0x00000001 , 0x00000007 
+ 00023539  0x00002f99 branch  0x00005c08 
+ 00023540  0x00002f9c arg  0x00000002 , 0x00000007 
+ 00023541  0x00002f9d branch  0x00005c04 
+ 00023542  0x00002fa0 arg  0x00000002 , 0x00000007 
+ 00023543  0x00002fa1 branch  0x00005c08 
+ 00023544  0x00002fa4 arg  0x00000003 , 0x00000007 
+ 00023545  0x00002fa5 branch  0x00005c04 
+ 00023546  0x00002fa8 arg  0x00000003 , 0x00000007 
+ 00023547  0x00002fa9 branch  0x00005c08 
+ 00023548  0x00002fac arg  0x00000004 , 0x00000007 
+ 00023549  0x00002fad branch  0x00005c04 
+ 00023550  0x00002fb0 arg  0x00000004 , 0x00000007 
+ 00023551  0x00002fb1 branch  0x00005c08 
+ 00023552  0x00002fb4 arg  0x00000005 , 0x00000007 
+ 00023553  0x00002fb5 branch  0x00005c04 
+ 00023554  0x00002fb8 arg  0x00000005 , 0x00000007 
+ 00023555  0x00002fb9 branch  0x00005c08 
+ 00023556  0x00002fbd fetch  0x00000001 , 0x000044bb 
+ 00023557  0x00002fbe qset1  0x0000003f 
+ 00023558  0x00002fbf store  0x00000001 , 0x000044bb 
+ 00023559  0x00002fc0 rtn 
+ 00023560  0x00002fc3 fetch  0x00000001 , 0x000044bb 
+ 00023561  0x00002fc4 qset0  0x0000003f 
+ 00023562  0x00002fc5 store  0x00000001 , 0x000044bb 
+ 00023563  0x00002fc6 rtn 
+ 00023564  0x00002fc9 setarg  0x00112233 
+ 00023565  0x00002fca store  0x00000003 , 0x000044bc 
+ 00023566  0x00002fcb setarg  0x00445566 
+ 00023567  0x00002fcc istore  0x00000003 , 0x00000005 
+ 00023568  0x00002fcd setarg  0x00778899 
+ 00023569  0x00002fce istore  0x00000003 , 0x00000005 
+ 00023570  0x00002fcf setarg  0x00001122 
+ 00023571  0x00002fd0 istore  0x00000003 , 0x00000005 
+ 00023572  0x00002fd1 setarg  0x00334455 
+ 00023573  0x00002fd2 istore  0x00000003 , 0x00000005 
+ 00023574  0x00002fd3 setarg  0x00000066 
+ 00023575  0x00002fd4 istore  0x00000001 , 0x00000005 
+ 00023576  0x00002fd5 rtn 
+ 00023577  0x00002fd9 setarg  0x01000302 
+ 00023578  0x00002fda store  0x00000004 , 0x00004425 
+ 00023579  0x00002fdb setarg  0x00010010 
+ 00023580  0x00002fdc store  0x00000003 , 0x00004429 
+ 00023581  0x00002fdd jam  0x00000001 , 0x00004498 
+ 00023582  0x00002fde rtn 
+ 00023583  0x00002fe3 arg  0x00000000 , 0x00000011 
+ 00023584  0x00002fe4 arg  0x00000001 , 0x00000001 
+ 00023585  0x00002fe5 branch  0x00005c30 
+ 00023586  0x00002fea arg  0x00000003 , 0x00000001 
+ 00023587  0x00002feb call  0x00005c30 
+ 00023588  0x00002fec copy  0x00000012 , 0x0000003f 
+ 00023589  0x00002fed istore  0x00000001 , 0x00000005 
+ 00023590  0x00002fee rtn 
+ 00023591  0x00002ff3 force  0x00000002 , 0x00000001 
+ 00023592  0x00002ff4 increase  0x00000004 , 0x00000011 
+ 00023593  0x00002ff5 call  0x00005c30 
+ 00023594  0x00002ff6 increase  0xfffffffc , 0x00000011 
+ 00023595  0x00002ff7 copy  0x00000011 , 0x0000003f 
+ 00023596  0x00002ff8 istore  0x00000002 , 0x00000005 
+ 00023597  0x00002ff9 copy  0x00000012 , 0x0000003f 
+ 00023598  0x00002ffa istore  0x00000002 , 0x00000005 
+ 00023599  0x00002ffb rtn 
+ 00023600  0x00003000 sub  0x00000011 , 0x000000f0 , 0x0000003e 
+ 00023601  0x00003001 nbranch  0x00004a8b , 0x00000002 
+ 00023602  0x00003002 fetch  0x00000001 , 0x000044d1 
+ 00023603  0x00003003 arg  0x00000001 , 0x00000002 
+ 00023604  0x00003004 arg  0x00000004 , 0x00000039 
+ 00023605  0x00003006 iand  0x00000002 , 0x0000003e 
+ 00023606  0x00003007 branch  0x00005c3a , 0x00000005 
+ 00023607  0x00003008 lshift  0x00000002 , 0x00000002 
+ 00023608  0x00003009 loop  0x00005c35 
+ 00023609  0x0000300a branch  0x00004a8b 
+ 00023610  0x0000300c ixor  0x00000002 , 0x0000003f 
+ 00023611  0x0000300d store  0x00000001 , 0x000044d1 
+ 00023612  0x0000300e sub  0x00000039 , 0x00000004 , 0x0000003f 
+ 00023613  0x0000300f lshift4  0x0000003f , 0x0000003f 
+ 00023614  0x00003010 lshift4  0x0000003f , 0x0000003f 
+ 00023615  0x00003011 arg  0x00001800 , 0x00000002 
+ 00023616  0x00003012 iadd  0x00000002 , 0x00000002 
+ 00023617  0x00003014 arg  0x00000000 , 0x00000039 
+ 00023618  0x00003015 arg  0x000044d2 , 0x00000006 
+ 00023619  0x00003017 ifetch  0x00000002 , 0x00000006 
+ 00023620  0x00003018 branch  0x00005c49 , 0x00000034 
+ 00023621  0x00003019 copy  0x00000039 , 0x0000003f 
+ 00023622  0x0000301a increase  0x00000001 , 0x00000039 
+ 00023623  0x0000301b bne  0x00000004 , 0x00005c43 
+ 00023624  0x0000301c branch  0x00004a8b 
+ 00023625  0x00003020 increase  0xfffffffe , 0x00000006 
+ 00023626  0x00003021 istoret  0x00000002 , 0x00000006 
+ 00023627  0x00003022 copy  0x00000002 , 0x00000005 
+ 00023628  0x00003023 copy  0x00000011 , 0x0000003f 
+ 00023629  0x00003024 istore  0x00000001 , 0x00000005 
+ 00023630  0x00003025 setarg  0x00000000 
+ 00023631  0x00003026 istore  0x00000001 , 0x00000005 
+ 00023632  0x00003027 copy  0x00000001 , 0x0000003f 
+ 00023633  0x00003028 istore  0x00000001 , 0x00000005 
+ 00023634  0x00003029 rtn 
+ 00023635  0x0000302e fetch  0x00000002 , 0x000044d2 
+ 00023636  0x0000302f copy  0x0000003f , 0x00000006 
+ 00023637  0x00003030 rtn 
+ 00023638  0x00003033 fetch  0x00000002 , 0x000044d4 
+ 00023639  0x00003034 copy  0x0000003f , 0x00000006 
+ 00023640  0x00003035 rtn 
+ 00023641  0x00003038 call  0x00005c5c 
+ 00023642  0x00003039 copy  0x0000003f , 0x00000006 
+ 00023643  0x0000303a rtn 
+ 00023644  0x0000303c fetch  0x00000002 , 0x000044d8 
+ 00023645  0x0000303d nrtn  0x00000034 
+ 00023646  0x0000303e fetch  0x00000002 , 0x000044d6 
+ 00023647  0x0000303f nrtn  0x00000034 
+ 00023648  0x00003040 fetch  0x00000002 , 0x000044d4 
+ 00023649  0x00003041 nrtn  0x00000034 
+ 00023650  0x00003042 fetch  0x00000002 , 0x000044d2 
+ 00023651  0x00003043 rtn 
+ 00023652  0x00003046 call  0x00005c53 
+ 00023653  0x00003047 increase  0x00000003 , 0x00000006 
+ 00023654  0x00003048 rtn 
+ 00023655  0x0000304b call  0x00005c53 
+ 00023656  0x0000304c increase  0x00000007 , 0x00000006 
+ 00023657  0x0000304d rtn 
+ 00023658  0x00003050 call  0x00005c59 
+ 00023659  0x00003051 increase  0x00000007 , 0x00000006 
+ 00023660  0x00003052 rtn 
+ 00023661  0x00003055 call  0x00005c59 
+ 00023662  0x00003056 increase  0x00000003 , 0x00000006 
+ 00023663  0x00003057 rtn 
+ 00023664  0x0000305c fetch  0x00000002 , 0x000044d8 
+ 00023665  0x0000305d rtn 
+ 00023666  0x00003061 fetch  0x00000002 , 0x000044d6 
+ 00023667  0x00003062 rtn 
+ 00023668  0x00003066 fetch  0x00000002 , 0x000044d2 
+ 00023669  0x00003067 rtn 
+ 00023670  0x0000306b fetch  0x00000002 , 0x000044d2 
+ 00023671  0x0000306c arg  0x00001800 , 0x00000002 
+ 00023672  0x0000306d isub  0x00000002 , 0x0000003f 
+ 00023673  0x0000306e rshift4  0x0000003f , 0x0000003f 
+ 00023674  0x0000306f rshift4  0x0000003f , 0x00000007 
+ 00023675  0x00003070 fetch  0x00000001 , 0x000044d1 
+ 00023676  0x00003071 qset0  0x0000003f 
+ 00023677  0x00003072 store  0x00000001 , 0x000044d1 
+ 00023678  0x00003073 arg  0x00000000 , 0x00000039 
+ 00023679  0x00003075 lshift  0x00000039 , 0x0000003f 
+ 00023680  0x00003076 arg  0x000044d4 , 0x00000002 
+ 00023681  0x00003077 iadd  0x00000002 , 0x00000002 
+ 00023682  0x00003078 ifetch  0x00000002 , 0x00000002 
+ 00023683  0x00003079 increase  0xfffffffe , 0x00000002 
+ 00023684  0x0000307a istore  0x00000002 , 0x00000002 
+ 00023685  0x0000307b copy  0x00000039 , 0x0000003f 
+ 00023686  0x0000307c increase  0x00000001 , 0x00000039 
+ 00023687  0x0000307d bne  0x00000003 , 0x00005c7f 
+ 00023688  0x0000307e setarg  0x00000000 
+ 00023689  0x0000307f istore  0x00000002 , 0x00000002 
+ 00023690  0x00003080 rtn 
+ 00023691  0x00003087 ifetch  0x00000003 , 0x00000006 
+ 00023692  0x00003088 store  0x00000003 , 0x00000473 
+ 00023693  0x00003089 beq  0x00000002 , 0x00005ca1 
+ 00023694  0x0000308a beq  0x00000003 , 0x00005ca9 
+ 00023695  0x0000308b beq  0x00000004 , 0x00005cac 
+ 00023696  0x0000308c beq  0x00000006 , 0x00005cd2 
+ 00023697  0x0000308d beq  0x00000008 , 0x00005d1f 
+ 00023698  0x0000308e beq  0x0000000a , 0x00005d9c 
+ 00023699  0x0000308f beq  0x0000000c , 0x00005dc4 
+ 00023700  0x00003090 beq  0x00000010 , 0x00005dda 
+ 00023701  0x00003091 beq  0x00000012 , 0x00005e0f 
+ 00023702  0x00003092 beq  0x00000016 , 0x00005e28 
+ 00023703  0x00003093 beq  0x00000018 , 0x00005e3b 
+ 00023704  0x00003094 beq  0x00000052 , 0x00005e40 
+ 00023705  0x00003095 rtn 
+ 00023706  0x00003099 force  0x00000003 , 0x00000011 
+ 00023707  0x0000309a call  0x00005e62 
+ 00023708  0x0000309b setarg  0x00000002 
+ 00023709  0x0000309c istore  0x00000001 , 0x00000005 
+ 00023710  0x0000309d fetch  0x00000002 , 0x00004478 
+ 00023711  0x0000309e istore  0x00000002 , 0x00000005 
+ 00023712  0x0000309f rtn 
+ 00023713  0x000030a3 call  0x00005ca9 
+ 00023714  0x000030a5 force  0x00000003 , 0x00000011 
+ 00023715  0x000030a6 call  0x00005e62 
+ 00023716  0x000030a7 setarg  0x00000003 
+ 00023717  0x000030a8 istore  0x00000001 , 0x00000005 
+ 00023718  0x000030a9 fetch  0x00000002 , 0x00004478 
+ 00023719  0x000030aa istore  0x00000002 , 0x00000005 
+ 00023720  0x000030ab rtn 
+ 00023721  0x000030ae rshift8  0x0000003f , 0x0000003f 
+ 00023722  0x000030af store  0x00000002 , 0x0000447a 
+ 00023723  0x000030b0 rtn 
+ 00023724  0x000030b3 call  0x00005e91 
+ 00023725  0x000030b4 call  0x00007dbf 
+ 00023726  0x000030b5 branch  0x00005caf 
+ 00023727  0x000030b8 arg  0x00000003 , 0x0000000b 
+ 00023728  0x000030b9 call  0x00005b36 
+ 00023729  0x000030bb call  0x00005b3f 
+ 00023730  0x000030bc branch  0x00005cd0 , 0x00000034 
+ 00023731  0x000030bd nbranch  0x00005ccd , 0x00000002 
+ 00023732  0x000030be increase  0xfffffffe , 0x00000006 
+ 00023733  0x000030bf call  0x00007c80 
+ 00023734  0x000030c0 call  0x00007c77 
+ 00023735  0x000030c1 nbranch  0x00005cc1 , 0x00000028 
+ 00023736  0x000030c2 call  0x00007c60 
+ 00023737  0x000030c3 call  0x00007dc1 
+ 00023738  0x000030c4 force  0x00000014 , 0x00000011 
+ 00023739  0x000030c5 call  0x00005e62 
+ 00023740  0x000030c6 call  0x00007c70 
+ 00023741  0x000030c7 setarg  0x00000005 
+ 00023742  0x000030c8 istore  0x00000001 , 0x00000005 
+ 00023743  0x000030c9 setarg  0x00000001 
+ 00023744  0x000030ca istore  0x00000001 , 0x00000005 
+ 00023745  0x000030cc call  0x00007c7a 
+ 00023746  0x000030cd ifetch  0x00000002 , 0x00000006 
+ 00023747  0x000030ce istore  0x00000002 , 0x00000005 
+ 00023748  0x000030cf ifetch  0x00000001 , 0x00000006 
+ 00023749  0x000030d0 copy  0x0000003f , 0x00000039 
+ 00023750  0x000030d1 call  0x00007cdc 
+ 00023751  0x000030d2 call  0x00007c7d 
+ 00023752  0x000030d3 increase  0xffffffff , 0x0000000b 
+ 00023753  0x000030d4 branch  0x00005cd0 , 0x00000005 
+ 00023754  0x000030d6 ifetch  0x00000001 , 0x00000006 
+ 00023755  0x000030d7 iadd  0x00000006 , 0x00000006 
+ 00023756  0x000030d8 branch  0x00005cb1 
+ 00023757  0x000030da ifetch  0x00000001 , 0x00000006 
+ 00023758  0x000030db iadd  0x00000006 , 0x00000006 
+ 00023759  0x000030dc branch  0x00005cca 
+ 00023760  0x000030de branch  0x00005e56 , 0x00000028 
+ 00023761  0x000030df branch  0x00005e85 
+ 00023762  0x000030e3 call  0x00005e91 
+ 00023763  0x000030e4 ifetch  0x00000002 , 0x00000006 
+ 00023764  0x000030e5 store  0x00000002 , 0x00004444 
+ 00023765  0x000030e6 call  0x00007c80 
+ 00023766  0x000030e7 arg  0x00004430 , 0x00000005 
+ 00023767  0x000030e8 fetch  0x00000002 , 0x000044ce 
+ 00023768  0x000030e9 increase  0xfffffff9 , 0x0000003f 
+ 00023769  0x000030ea call  0x00005ab7 
+ 00023770  0x000030eb branch  0x00005ce5 
+ 00023771  0x000030ef disable  0x00000028 
+ 00023772  0x000030f0 fetcht  0x00000002 , 0x0000442c 
+ 00023773  0x000030f1 fetch  0x00000002 , 0x0000442e 
+ 00023774  0x000030f2 isub  0x00000002 , 0x0000003e 
+ 00023775  0x000030f3 nbranch  0x00005ce2 , 0x00000002 
+ 00023776  0x000030f4 deposit  0x00000002 
+ 00023777  0x000030f5 rtnne  0x00000000 
+ 00023778  0x000030f7 enable  0x00000028 
+ 00023779  0x000030f8 jam  0x00000001 , 0x00000476 
+ 00023780  0x000030f9 branch  0x00005e57 
+ 00023781  0x000030fd call  0x00005cdb 
+ 00023782  0x000030fe rtn  0x00000028 
+ 00023783  0x000030ff fetcht  0x00000002 , 0x00004444 
+ 00023784  0x00003100 setarg  0x00002800 
+ 00023785  0x00003101 isub  0x00000002 , 0x0000003e 
+ 00023786  0x00003102 branch  0x00005cec , 0x00000005 
+ 00023787  0x00003103 branch  0x00005e56 
+ 00023788  0x00003107 jam  0x00000000 , 0x000004b0 
+ 00023789  0x00003108 fetcht  0x00000002 , 0x0000442c 
+ 00023790  0x00003109 storet  0x00000002 , 0x00000a9e 
+ 00023791  0x0000310a call  0x00005b6c 
+ 00023792  0x0000310b nbranch  0x00005e56 , 0x00000034 
+ 00023793  0x0000310d fetcht  0x00000002 , 0x00000a9e 
+ 00023794  0x0000310e call  0x00005b6c 
+ 00023795  0x0000310f nbranch  0x00005d05 , 0x00000034 
+ 00023796  0x00003110 copy  0x00000006 , 0x00000011 
+ 00023797  0x00003111 fetch  0x00000001 , 0x000004af 
+ 00023798  0x00003112 copy  0x0000003f , 0x00000039 
+ 00023799  0x00003113 fetcht  0x00000001 , 0x00004430 
+ 00023800  0x00003114 isub  0x00000002 , 0x0000003e 
+ 00023801  0x00003115 nbranch  0x00005d01 , 0x00000005 
+ 00023802  0x00003116 arg  0x00004431 , 0x00000012 
+ 00023803  0x00003117 call  0x00007d63 
+ 00023804  0x00003119 branch  0x00005d08 , 0x00000005 
+ 00023805  0x0000311b fetch  0x00000002 , 0x0000049f 
+ 00023806  0x0000311c fetcht  0x00000002 , 0x00004444 
+ 00023807  0x0000311d isub  0x00000002 , 0x0000003e 
+ 00023808  0x0000311e branch  0x00005d10 , 0x00000005 
+ 00023809  0x00003120 fetch  0x00000002 , 0x00000a9e 
+ 00023810  0x00003121 increase  0x00000001 , 0x0000003f 
+ 00023811  0x00003122 store  0x00000002 , 0x00000a9e 
+ 00023812  0x00003123 branch  0x00005cf1 
+ 00023813  0x00003126 fetch  0x00000001 , 0x000004b0 
+ 00023814  0x00003127 beq  0x00000001 , 0x00005d10 
+ 00023815  0x00003128 branch  0x00005e56 
+ 00023816  0x0000312c fetch  0x00000002 , 0x0000049f 
+ 00023817  0x0000312d fetcht  0x00000002 , 0x00004444 
+ 00023818  0x0000312e isub  0x00000002 , 0x0000003e 
+ 00023819  0x0000312f nbranch  0x00005d01 , 0x00000005 
+ 00023820  0x00003130 jam  0x00000001 , 0x000004b0 
+ 00023821  0x00003132 fetcht  0x00000002 , 0x00000a9e 
+ 00023822  0x00003133 storet  0x00000002 , 0x0000049a 
+ 00023823  0x00003134 branch  0x00005d01 
+ 00023824  0x00003137 fetch  0x00000001 , 0x000004b0 
+ 00023825  0x00003138 beq  0x00000000 , 0x00005d01 
+ 00023826  0x00003139 jam  0x00000002 , 0x000004b0 
+ 00023827  0x0000313a fetcht  0x00000002 , 0x00000a9e 
+ 00023828  0x0000313b increase  0xffffffff , 0x00000002 
+ 00023829  0x0000313c storet  0x00000002 , 0x0000049c 
+ 00023830  0x0000313f arg  0x00000005 , 0x00000011 
+ 00023831  0x00003140 call  0x00005e62 
+ 00023832  0x00003141 setarg  0x00000007 
+ 00023833  0x00003142 istore  0x00000001 , 0x00000005 
+ 00023834  0x00003143 fetch  0x00000002 , 0x0000049a 
+ 00023835  0x00003144 istore  0x00000002 , 0x00000005 
+ 00023836  0x00003145 fetch  0x00000002 , 0x0000049c 
+ 00023837  0x00003146 istore  0x00000002 , 0x00000005 
+ 00023838  0x00003147 rtn 
+ 00023839  0x0000314c call  0x00005e91 
+ 00023840  0x0000314d call  0x00005abb 
+ 00023841  0x0000314e branch  0x00005d22 
+ 00023842  0x00003151 fetcht  0x00000002 , 0x0000442c 
+ 00023843  0x00003152 storet  0x00000002 , 0x00000a9e 
+ 00023844  0x00003153 call  0x00005b36 
+ 00023845  0x00003154 call  0x00005b4d 
+ 00023846  0x00003155 increase  0xfffffffe , 0x00000006 
+ 00023847  0x00003156 copy  0x00000006 , 0x0000003f 
+ 00023848  0x00003157 store  0x00000002 , 0x00000498 
+ 00023849  0x00003159 fetcht  0x00000002 , 0x00004444 
+ 00023850  0x0000315a setarg  0x00002a00 
+ 00023851  0x0000315b isub  0x00000002 , 0x0000003e 
+ 00023852  0x0000315c branch  0x00005d88 , 0x00000005 
+ 00023853  0x0000315d setarg  0x00002803 
+ 00023854  0x0000315e isub  0x00000002 , 0x0000003e 
+ 00023855  0x0000315f nbranch  0x00005d70 , 0x00000005 
+ 00023856  0x00003160 arg  0x00000002 , 0x0000000b 
+ 00023857  0x00003162 call  0x00005e68 
+ 00023858  0x00003163 nbranch  0x00005d4d , 0x00000002 
+ 00023859  0x00003164 fetcht  0x00000002 , 0x00000a9e 
+ 00023860  0x00003165 call  0x00005b6a 
+ 00023861  0x00003166 beq  0x00000001 , 0x00005d4d 
+ 00023862  0x00003167 call  0x00005e74 
+ 00023863  0x00003168 nbranch  0x00005d4b , 0x00000005 
+ 00023864  0x00003169 nbranch  0x00005d4f , 0x00000028 
+ 00023865  0x0000316a disable  0x00000028 
+ 00023866  0x0000316b arg  0x00000014 , 0x00000011 
+ 00023867  0x0000316c call  0x00005e62 
+ 00023868  0x0000316d setarg  0x00000009 
+ 00023869  0x0000316e istore  0x00000001 , 0x00000005 
+ 00023870  0x0000316f copy  0x00000005 , 0x00000030 
+ 00023871  0x00003170 increase  0x00000001 , 0x00000005 
+ 00023872  0x00003172 call  0x00005d5d 
+ 00023873  0x00003173 call  0x00005e64 
+ 00023874  0x00003174 call  0x00005b6a 
+ 00023875  0x00003175 call  0x00005d64 
+ 00023876  0x00003176 fetch  0x00000001 , 0x0000049e 
+ 00023877  0x00003177 increase  0x00000005 , 0x0000003f 
+ 00023878  0x00003178 istore  0x00000001 , 0x00000030 
+ 00023879  0x00003179 fetch  0x00000001 , 0x0000049e 
+ 00023880  0x0000317a beq  0x00000010 , 0x00005d4d 
+ 00023881  0x0000317b increase  0xffffffff , 0x0000000b 
+ 00023882  0x0000317c branch  0x00005d4d , 0x00000005 
+ 00023883  0x0000317e call  0x00005e64 
+ 00023884  0x0000317f branch  0x00005d31 
+ 00023885  0x00003181 branch  0x00005e56 , 0x00000028 
+ 00023886  0x00003182 branch  0x00005e85 
+ 00023887  0x00003185 call  0x00005e77 
+ 00023888  0x00003186 call  0x00005e64 
+ 00023889  0x00003187 call  0x00005b6a 
+ 00023890  0x00003188 fetch  0x00000001 , 0x0000049e 
+ 00023891  0x00003189 beq  0x00000010 , 0x00005d4d 
+ 00023892  0x0000318b call  0x00007c77 
+ 00023893  0x0000318c fetch  0x00000002 , 0x00000a9e 
+ 00023894  0x0000318d increase  0xffffffff , 0x0000003f 
+ 00023895  0x0000318e istore  0x00000002 , 0x00000005 
+ 00023896  0x0000318f call  0x00005e81 
+ 00023897  0x00003190 call  0x00005d64 
+ 00023898  0x00003191 increase  0xffffffff , 0x0000000b 
+ 00023899  0x00003192 branch  0x00005d4d , 0x00000005 
+ 00023900  0x00003193 branch  0x00005d4b 
+ 00023901  0x00003197 fetch  0x00000002 , 0x00000a9e 
+ 00023902  0x00003198 istore  0x00000002 , 0x00000005 
+ 00023903  0x0000319a fetch  0x00000001 , 0x000004af 
+ 00023904  0x0000319b copy  0x0000003f , 0x00000039 
+ 00023905  0x0000319c call  0x00007c7a 
+ 00023906  0x0000319d call  0x00007ccf 
+ 00023907  0x0000319e branch  0x00007c7d 
+ 00023908  0x000031a0 call  0x00007c77 
+ 00023909  0x000031a1 fetch  0x00000002 , 0x00000a9e 
+ 00023910  0x000031a2 istore  0x00000002 , 0x00000005 
+ 00023911  0x000031a3 call  0x00007c7d 
+ 00023912  0x000031a4 fetch  0x00000001 , 0x0000049e 
+ 00023913  0x000031a5 copy  0x0000003f , 0x00000039 
+ 00023914  0x000031a6 call  0x00007c77 
+ 00023915  0x000031a7 call  0x00007c7a 
+ 00023916  0x000031a8 isub  0x00000039 , 0x00000006 
+ 00023917  0x000031a9 increase  0xffffffff , 0x00000006 
+ 00023918  0x000031aa call  0x00007ccf 
+ 00023919  0x000031ab branch  0x00007c7d 
+ 00023920  0x000031b0 fetcht  0x00000002 , 0x0000442c 
+ 00023921  0x000031b1 storet  0x00000002 , 0x00000a9e 
+ 00023922  0x000031b3 call  0x00005e68 
+ 00023923  0x000031b4 nbranch  0x00005e56 , 0x00000002 
+ 00023924  0x000031b5 call  0x00005b6a 
+ 00023925  0x000031b6 beq  0x00000001 , 0x00005e56 
+ 00023926  0x000031b7 call  0x00005e74 
+ 00023927  0x000031b8 nbranch  0x00005d86 , 0x00000005 
+ 00023928  0x000031bb arg  0x00000014 , 0x00000011 
+ 00023929  0x000031bc call  0x00005e62 
+ 00023930  0x000031bd setarg  0x00000009 
+ 00023931  0x000031be istore  0x00000001 , 0x00000005 
+ 00023932  0x000031bf fetch  0x00000001 , 0x000004af 
+ 00023933  0x000031c0 copy  0x0000003f , 0x00000039 
+ 00023934  0x000031c1 increase  0x00000002 , 0x0000003f 
+ 00023935  0x000031c2 istore  0x00000001 , 0x00000005 
+ 00023936  0x000031c3 fetch  0x00000002 , 0x00000a9e 
+ 00023937  0x000031c4 istore  0x00000002 , 0x00000005 
+ 00023938  0x000031c5 call  0x00007c7a 
+ 00023939  0x000031c6 call  0x00007ccf 
+ 00023940  0x000031c7 call  0x00007c7d 
+ 00023941  0x000031c8 branch  0x00005e85 
+ 00023942  0x000031cb call  0x00005e64 
+ 00023943  0x000031cc branch  0x00005d72 
+ 00023944  0x000031d0 arg  0x00002a00 , 0x00000002 
+ 00023945  0x000031d1 call  0x00005b5c 
+ 00023946  0x000031d2 rtn  0x00000034 
+ 00023947  0x000031d3 increase  0xfffffffb , 0x00000006 
+ 00023948  0x000031d4 ifetch  0x00000002 , 0x00000006 
+ 00023949  0x000031d5 store  0x00000002 , 0x00000a9e 
+ 00023950  0x000031d6 arg  0x00000014 , 0x00000011 
+ 00023951  0x000031d7 call  0x00005e62 
+ 00023952  0x000031d8 setarg  0x00000009 
+ 00023953  0x000031d9 istore  0x00000001 , 0x00000005 
+ 00023954  0x000031da fetch  0x00000001 , 0x00004381 
+ 00023955  0x000031db copy  0x0000003f , 0x00000039 
+ 00023956  0x000031dc increase  0x00000002 , 0x0000003f 
+ 00023957  0x000031dd istore  0x00000001 , 0x00000005 
+ 00023958  0x000031de fetch  0x00000002 , 0x00000a9e 
+ 00023959  0x000031df istore  0x00000002 , 0x00000005 
+ 00023960  0x000031e0 arg  0x00004382 , 0x00000006 
+ 00023961  0x000031e1 call  0x00007ccf 
+ 00023962  0x000031e2 call  0x00007c7d 
+ 00023963  0x000031e3 branch  0x00005e85 
+ 00023964  0x000031e8 fetcht  0x00000002 , 0x00000474 
+ 00023965  0x000031e9 fetch  0x00000001 , 0x000044bb 
+ 00023966  0x000031ea bbit1  0x00000003 , 0x00005dbd 
+ 00023967  0x000031ed call  0x00005b4a 
+ 00023968  0x000031ee branch  0x00005e56 , 0x00000034 
+ 00023969  0x000031ef increase  0xfffffffe , 0x00000006 
+ 00023970  0x000031f0 ifetch  0x00000002 , 0x00000006 
+ 00023971  0x000031f1 arg  0x00002a00 , 0x00000002 
+ 00023972  0x000031f2 isub  0x00000002 , 0x0000003e 
+ 00023973  0x000031f3 branch  0x00005db3 , 0x00000005 
+ 00023974  0x000031f4 ifetch  0x00000001 , 0x00000006 
+ 00023975  0x000031f5 sub  0x0000003f , 0x00000016 , 0x0000003e 
+ 00023976  0x000031f6 branch  0x00005daa , 0x00000002 
+ 00023977  0x000031f7 force  0x00000016 , 0x0000003f 
+ 00023978  0x000031f9 copy  0x0000003f , 0x00000013 
+ 00023979  0x000031fa call  0x00007c80 
+ 00023980  0x000031fb add  0x00000013 , 0x00000001 , 0x00000011 
+ 00023981  0x000031fc call  0x00005e62 
+ 00023982  0x000031fd setarg  0x0000000b 
+ 00023983  0x000031fe istore  0x00000001 , 0x00000005 
+ 00023984  0x000031ff copy  0x00000013 , 0x00000039 
+ 00023985  0x00003200 call  0x00007c7a 
+ 00023986  0x00003201 branch  0x00007cdc 
+ 00023987  0x00003204 call  0x00007c80 
+ 00023988  0x00003205 fetch  0x00000001 , 0x00004381 
+ 00023989  0x00003206 add  0x0000003f , 0x00000001 , 0x00000011 
+ 00023990  0x00003207 call  0x00005e62 
+ 00023991  0x00003208 setarg  0x0000000b 
+ 00023992  0x00003209 istore  0x00000001 , 0x00000005 
+ 00023993  0x0000320a fetch  0x00000001 , 0x00004381 
+ 00023994  0x0000320b copy  0x0000003f , 0x00000039 
+ 00023995  0x0000320c arg  0x00004382 , 0x00000006 
+ 00023996  0x0000320d branch  0x00007cdc 
+ 00023997  0x00003211 fetch  0x00000002 , 0x000044cc 
+ 00023998  0x00003212 isub  0x00000002 , 0x0000003e 
+ 00023999  0x00003213 nbranch  0x00005d9f , 0x00000005 
+ 00024000  0x00003215 call  0x00005e22 
+ 00024001  0x00003216 nbranch  0x00005d9f , 0x00000028 
+ 00024002  0x00003217 jam  0x00000005 , 0x00000476 
+ 00024003  0x00003218 branch  0x00005e57 
+ 00024004  0x0000321c ifetch  0x00000002 , 0x00000006 
+ 00024005  0x0000321d store  0x00000002 , 0x00004430 
+ 00024006  0x0000321f arg  0x00000014 , 0x00000011 
+ 00024007  0x00003220 call  0x00005e62 
+ 00024008  0x00003221 setarg  0x0000000d 
+ 00024009  0x00003222 istore  0x00000001 , 0x00000005 
+ 00024010  0x00003223 fetch  0x00000002 , 0x00004430 
+ 00024011  0x00003224 iforce  0x00000011 
+ 00024012  0x00003225 fetcht  0x00000002 , 0x00000474 
+ 00024013  0x00003226 call  0x00005b4a 
+ 00024014  0x00003227 branch  0x00005e56 , 0x00000034 
+ 00024015  0x00003228 ifetch  0x00000001 , 0x00000006 
+ 00024016  0x00003229 isub  0x00000011 , 0x00000039 
+ 00024017  0x0000322a nbranch  0x00005e56 , 0x00000002 
+ 00024018  0x0000322b sub  0x00000039 , 0x00000016 , 0x0000003e 
+ 00024019  0x0000322c branch  0x00005dd5 , 0x00000002 
+ 00024020  0x0000322d force  0x00000016 , 0x00000039 
+ 00024021  0x0000322f deposit  0x00000011 
+ 00024022  0x00003230 iadd  0x00000006 , 0x00000006 
+ 00024023  0x00003231 call  0x00007ccf 
+ 00024024  0x00003232 call  0x00007c7d 
+ 00024025  0x00003233 branch  0x00005e85 
+ 00024026  0x00003237 call  0x00005e91 
+ 00024027  0x00003238 call  0x00005ab3 
+ 00024028  0x00003239 branch  0x00005ddd 
+ 00024029  0x0000323f arg  0x00000002 , 0x0000000b 
+ 00024030  0x00003240 fetcht  0x00000002 , 0x0000442c 
+ 00024031  0x00003244 storet  0x00000002 , 0x00000a9e 
+ 00024032  0x00003245 call  0x00005b36 
+ 00024033  0x00003246 call  0x00005b4d 
+ 00024034  0x00003247 increase  0xfffffffe , 0x00000006 
+ 00024035  0x00003248 copy  0x00000006 , 0x0000003f 
+ 00024036  0x00003249 store  0x00000002 , 0x00000498 
+ 00024037  0x0000324b call  0x00005e68 
+ 00024038  0x0000324c nbranch  0x00005e05 , 0x00000002 
+ 00024039  0x0000324d fetcht  0x00000002 , 0x00000a9e 
+ 00024040  0x0000324e call  0x00005b6a 
+ 00024041  0x0000324f beq  0x00000001 , 0x00005e08 
+ 00024042  0x00003251 call  0x00005e6c 
+ 00024043  0x00003252 nbranch  0x00005e03 , 0x00000005 
+ 00024044  0x00003253 copy  0x0000000b , 0x0000003f 
+ 00024045  0x00003254 beq  0x00000000 , 0x00005e08 
+ 00024046  0x00003255 nbranch  0x00005df9 , 0x00000028 
+ 00024047  0x00003256 disable  0x00000028 
+ 00024048  0x00003258 arg  0x00000014 , 0x00000011 
+ 00024049  0x00003259 call  0x00005e62 
+ 00024050  0x0000325a setarg  0x00000011 
+ 00024051  0x0000325b istore  0x00000001 , 0x00000005 
+ 00024052  0x0000325c fetch  0x00000001 , 0x000004af 
+ 00024053  0x0000325d increase  0x00000004 , 0x0000003f 
+ 00024054  0x0000325e istore  0x00000001 , 0x00000005 
+ 00024055  0x0000325f call  0x00007c7d 
+ 00024056  0x00003260 branch  0x00005dff 
+ 00024057  0x00003262 fetch  0x00000001 , 0x000004af 
+ 00024058  0x00003263 beq  0x00000010 , 0x00005e08 
+ 00024059  0x00003264 fetch  0x00000002 , 0x00000a9e 
+ 00024060  0x00003265 increase  0xffffffff , 0x0000003f 
+ 00024061  0x00003266 store  0x00000002 , 0x0000049c 
+ 00024062  0x00003267 call  0x00005e7c 
+ 00024063  0x00003269 fetch  0x00000002 , 0x00000a9e 
+ 00024064  0x0000326a store  0x00000002 , 0x0000049a 
+ 00024065  0x0000326b call  0x00005e77 
+ 00024066  0x0000326c increase  0xffffffff , 0x0000000b 
+ 00024067  0x0000326f call  0x00005e64 
+ 00024068  0x00003270 branch  0x00005de5 
+ 00024069  0x00003273 fetch  0x00000002 , 0x00000a9e 
+ 00024070  0x00003274 store  0x00000002 , 0x0000049c 
+ 00024071  0x00003275 branch  0x00005e0c 
+ 00024072  0x00003277 fetch  0x00000002 , 0x00000a9e 
+ 00024073  0x00003278 increase  0xffffffff , 0x0000003f 
+ 00024074  0x00003279 store  0x00000002 , 0x0000049c 
+ 00024075  0x0000327a branch  0x00005e0c 
+ 00024076  0x0000327c branch  0x00005e56 , 0x00000028 
+ 00024077  0x0000327d call  0x00005e7c 
+ 00024078  0x0000327e branch  0x00005e85 
+ 00024079  0x00003284 copy  0x00000006 , 0x00000011 
+ 00024080  0x00003285 fetch  0x00000002 , 0x000044ce 
+ 00024081  0x00003286 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00024082  0x00003287 call  0x00005abe 
+ 00024083  0x00003289 fetch  0x00000001 , 0x000044bb 
+ 00024084  0x0000328a bbit0  0x00000004 , 0x00005e1d 
+ 00024085  0x0000328c fetcht  0x00000002 , 0x00000474 
+ 00024086  0x0000328d fetch  0x00000002 , 0x000044cc 
+ 00024087  0x0000328e isub  0x00000002 , 0x0000003e 
+ 00024088  0x0000328f nbranch  0x00005e1d , 0x00000005 
+ 00024089  0x00003290 call  0x00005e22 
+ 00024090  0x00003291 nbranch  0x00005e1d , 0x00000028 
+ 00024091  0x00003292 jam  0x00000005 , 0x00000476 
+ 00024092  0x00003293 branch  0x00005e57 
+ 00024093  0x00003296 force  0x00000001 , 0x00000011 
+ 00024094  0x00003297 call  0x00005e62 
+ 00024095  0x00003298 setarg  0x00000013 
+ 00024096  0x00003299 istore  0x00000001 , 0x00000005 
+ 00024097  0x0000329a rtn 
+ 00024098  0x0000329d call  0x00007dc1 
+ 00024099  0x0000329e fetch  0x00000001 , 0x00004498 
+ 00024100  0x0000329f rtneq  0x00000000 
+ 00024101  0x000032a0 fetch  0x00000001 , 0x00004040 
+ 00024102  0x000032a1 rtnbit1  0x00000004 
+ 00024103  0x000032a2 branch  0x00007dbf 
+ 00024104  0x000032a6 add  0x00000006 , 0x00000002 , 0x00000011 
+ 00024105  0x000032a7 fetch  0x00000002 , 0x000044ce 
+ 00024106  0x000032a8 add  0x0000003f , 0xfffffffb , 0x00000012 
+ 00024107  0x000032a9 call  0x00005abe 
+ 00024108  0x000032aa branch  0x00005e2d 
+ 00024109  0x000032ae fetch  0x00000002 , 0x000044ce 
+ 00024110  0x000032af copy  0x0000003f , 0x00000011 
+ 00024111  0x000032b0 call  0x00005e62 
+ 00024112  0x000032b1 setarg  0x00000017 
+ 00024113  0x000032b2 istore  0x00000001 , 0x00000005 
+ 00024114  0x000032b3 fetch  0x00000002 , 0x00000474 
+ 00024115  0x000032b4 istore  0x00000002 , 0x00000005 
+ 00024116  0x000032b5 fetch  0x00000002 , 0x000044ce 
+ 00024117  0x000032b6 add  0x0000003f , 0xfffffffb , 0x00000039 
+ 00024118  0x000032b7 fetch  0x00000002 , 0x000044df 
+ 00024119  0x000032b8 add  0x0000003f , 0x00000007 , 0x00000006 
+ 00024120  0x000032b9 ifetch  0x00000002 , 0x00000006 
+ 00024121  0x000032ba istore  0x00000002 , 0x00000005 
+ 00024122  0x000032bb branch  0x00007ccf 
+ 00024123  0x000032c2 force  0x00000001 , 0x00000011 
+ 00024124  0x000032c3 call  0x00005e62 
+ 00024125  0x000032c4 setarg  0x00000019 
+ 00024126  0x000032c5 istore  0x00000001 , 0x00000005 
+ 00024127  0x000032c6 rtn 
+ 00024128  0x000032cb copy  0x00000006 , 0x00000011 
+ 00024129  0x000032cc fetch  0x00000002 , 0x000044ce 
+ 00024130  0x000032cd add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00024131  0x000032ce branch  0x00005abe 
+ 00024132  0x000032d4 copy  0x00000002 , 0x00000013 
+ 00024133  0x000032d5 increase  0x00000003 , 0x00000011 
+ 00024134  0x000032d6 call  0x00005e62 
+ 00024135  0x000032d7 increase  0xfffffffd , 0x00000011 
+ 00024136  0x000032d8 setarg  0x0000001b 
+ 00024137  0x000032d9 istore  0x00000001 , 0x00000005 
+ 00024138  0x000032da copy  0x00000013 , 0x00000002 
+ 00024139  0x000032db istoret  0x00000002 , 0x00000005 
+ 00024140  0x000032dc rtn 
+ 00024141  0x000032e0 copy  0x00000002 , 0x00000013 
+ 00024142  0x000032e1 increase  0x00000003 , 0x00000011 
+ 00024143  0x000032e2 call  0x00005e62 
+ 00024144  0x000032e3 increase  0xfffffffd , 0x00000011 
+ 00024145  0x000032e4 setarg  0x0000001d 
+ 00024146  0x000032e5 istore  0x00000001 , 0x00000005 
+ 00024147  0x000032e6 copy  0x00000013 , 0x00000002 
+ 00024148  0x000032e7 istoret  0x00000002 , 0x00000005 
+ 00024149  0x000032e8 rtn 
+ 00024150  0x000032ee jam  0x0000000a , 0x00000476 
+ 00024151  0x000032f0 force  0x00000005 , 0x00000011 
+ 00024152  0x000032f1 call  0x00005e62 
+ 00024153  0x000032f2 setarg  0x00000001 
+ 00024154  0x000032f3 istore  0x00000001 , 0x00000005 
+ 00024155  0x000032f4 fetch  0x00000001 , 0x00000473 
+ 00024156  0x000032f5 istore  0x00000001 , 0x00000005 
+ 00024157  0x000032f6 fetch  0x00000002 , 0x00000474 
+ 00024158  0x000032f7 istore  0x00000002 , 0x00000005 
+ 00024159  0x000032f8 fetch  0x00000001 , 0x00000476 
+ 00024160  0x000032f9 istore  0x00000001 , 0x00000005 
+ 00024161  0x000032fa rtn 
+ 00024162  0x000032fe force  0x00000004 , 0x00000012 
+ 00024163  0x000032ff branch  0x00005c27 
+ 00024164  0x00003303 fetcht  0x00000002 , 0x00000a9e 
+ 00024165  0x00003304 increase  0x00000001 , 0x00000002 
+ 00024166  0x00003305 storet  0x00000002 , 0x00000a9e 
+ 00024167  0x00003306 rtn 
+ 00024168  0x00003309 fetcht  0x00000002 , 0x00000a9e 
+ 00024169  0x0000330a fetch  0x00000002 , 0x0000442e 
+ 00024170  0x0000330b isub  0x00000002 , 0x0000003e 
+ 00024171  0x0000330c rtn 
+ 00024172  0x00003310 fetcht  0x00000001 , 0x00004430 
+ 00024173  0x00003311 arg  0x00004431 , 0x00000011 
+ 00024174  0x00003313 fetch  0x00000001 , 0x0000049e 
+ 00024175  0x00003314 copy  0x0000003f , 0x00000039 
+ 00024176  0x00003315 isub  0x00000002 , 0x0000003e 
+ 00024177  0x00003316 nrtn  0x00000005 
+ 00024178  0x00003317 arg  0x0000049f , 0x00000012 
+ 00024179  0x00003318 branch  0x00007d63 
+ 00024180  0x0000331b fetcht  0x00000001 , 0x00004443 
+ 00024181  0x0000331c arg  0x00004444 , 0x00000011 
+ 00024182  0x0000331d branch  0x00005e6e 
+ 00024183  0x00003321 fetch  0x00000001 , 0x000004af 
+ 00024184  0x00003322 store  0x00000001 , 0x000000ff 
+ 00024185  0x00003323 copy  0x0000003f , 0x00000039 
+ 00024186  0x00003324 call  0x00007c7a 
+ 00024187  0x00003325 branch  0x00007ccf 
+ 00024188  0x00003329 call  0x00007c77 
+ 00024189  0x0000332a fetch  0x00000002 , 0x0000049a 
+ 00024190  0x0000332b istore  0x00000002 , 0x00000005 
+ 00024191  0x0000332c fetch  0x00000002 , 0x0000049c 
+ 00024192  0x0000332d istore  0x00000002 , 0x00000005 
+ 00024193  0x0000332f fetch  0x00000001 , 0x000000ff 
+ 00024194  0x00003330 copy  0x0000003f , 0x00000039 
+ 00024195  0x00003331 call  0x00007ccf 
+ 00024196  0x00003332 branch  0x00007c7d 
+ 00024197  0x00003337 call  0x00007c77 
+ 00024198  0x00003338 call  0x00005c6a 
+ 00024199  0x00003339 copy  0x00000005 , 0x0000003f 
+ 00024200  0x0000333a isub  0x00000006 , 0x00000011 
+ 00024201  0x0000333b call  0x00005c6d 
+ 00024202  0x0000333c copy  0x00000011 , 0x0000003f 
+ 00024203  0x0000333d istore  0x00000002 , 0x00000006 
+ 00024204  0x0000333e increase  0x00000004 , 0x00000011 
+ 00024205  0x0000333f call  0x00005c59 
+ 00024206  0x00003340 copy  0x00000011 , 0x0000003f 
+ 00024207  0x00003341 istore  0x00000001 , 0x00000006 
+ 00024208  0x00003342 rtn 
+ 00024209  0x00003346 rshift8  0x0000003f , 0x0000003f 
+ 00024210  0x00003347 store  0x00000002 , 0x0000442c 
+ 00024211  0x00003348 ifetch  0x00000002 , 0x00000006 
+ 00024212  0x00003349 store  0x00000002 , 0x0000442e 
+ 00024213  0x0000334a rtn 
+ 00024214  0x00003350 ifetch  0x00000001 , 0x00000006 
+ 00024215  0x00003351 ifetcht  0x00000001 , 0x00000006 
+ 00024216  0x00003352 ifetcht  0x00000002 , 0x00000006 
+ 00024217  0x00003353 beq  0x00000013 , 0x00005e9b 
+ 00024218  0x00003354 rtn 
+ 00024219  0x00003356 ifetch  0x00000002 , 0x00000006 
+ 00024220  0x00003357 store  0x00000002 , 0x000044db 
+ 00024221  0x00003358 jam  0x00000040 , 0x00000a95 
+ 00024222  0x00003359 branch  0x00007bab 
+ 00024223  0x00003360 arg  0x0000000c , 0x00000011 
+ 00024224  0x00003361 arg  0x00000012 , 0x00000013 
+ 00024225  0x00003362 call  0x00005ea7 
+ 00024226  0x00003363 setarg  0x00000008 
+ 00024227  0x00003364 istore  0x00000002 , 0x00000005 
+ 00024228  0x00003365 fetch  0x00000008 , 0x00004468 
+ 00024229  0x00003366 istore  0x00000008 , 0x00000005 
+ 00024230  0x00003367 rtn 
+ 00024231  0x0000336c call  0x00005eaf 
+ 00024232  0x0000336d arg  0x00000005 , 0x00000012 
+ 00024233  0x0000336e call  0x00005c27 
+ 00024234  0x0000336f copy  0x00000013 , 0x0000003f 
+ 00024235  0x00003370 istore  0x00000001 , 0x00000005 
+ 00024236  0x00003371 fetch  0x00000001 , 0x000044da 
+ 00024237  0x00003372 istore  0x00000001 , 0x00000005 
+ 00024238  0x00003373 rtn 
+ 00024239  0x00003377 fetch  0x00000001 , 0x000044da 
+ 00024240  0x00003379 pincrease  0x00000001 
+ 00024241  0x0000337a store  0x00000001 , 0x000044da 
+ 00024242  0x0000337b rtnne  0x00000000 
+ 00024243  0x0000337e jam  0x00000001 , 0x000044da 
+ 00024244  0x0000337f rtn 
+ 00024245  0x00003385 fetch  0x00000001 , 0x00004498 
+ 00024246  0x00003386 beq  0x00000000 , 0x00005ec4 
+ 00024247  0x00003387 beq  0x00000001 , 0x00005ec7 
+ 00024248  0x00003388 beq  0x00000002 , 0x00005ec9 
+ 00024249  0x00003389 beq  0x00000081 , 0x00005ebd 
+ 00024250  0x0000338a beq  0x00000082 , 0x00005ebf 
+ 00024251  0x0000338b beq  0x00000083 , 0x00005ec2 
+ 00024252  0x0000338c rtn 
+ 00024253  0x0000338f jam  0x0000000d , 0x00004428 
+ 00024254  0x00003390 branch  0x00005ec5 
+ 00024255  0x00003392 jam  0x0000000d , 0x00004428 
+ 00024256  0x00003393 jam  0x00000001 , 0x00004426 
+ 00024257  0x00003394 rtn 
+ 00024258  0x00003396 jam  0x0000000d , 0x00004428 
+ 00024259  0x00003397 branch  0x00005eca 
+ 00024260  0x00003399 jam  0x00000000 , 0x00004428 
+ 00024261  0x0000339b jam  0x00000003 , 0x00004426 
+ 00024262  0x0000339c rtn 
+ 00024263  0x0000339e jam  0x00000005 , 0x00004428 
+ 00024264  0x0000339f branch  0x00005ec5 
+ 00024265  0x000033a1 jam  0x00000005 , 0x00004428 
+ 00024266  0x000033a3 jam  0x00000000 , 0x00004426 
+ 00024267  0x000033a4 rtn 
+ 00024268  0x000033a8 fetch  0x00000001 , 0x00004428 
+ 00024269  0x000033a9 set1  0x00000003 , 0x0000003f 
+ 00024270  0x000033aa store  0x00000001 , 0x00004428 
+ 00024271  0x000033ab rtn 
+ 00024272  0x000033ad fetch  0x00000001 , 0x00004428 
+ 00024273  0x000033ae set0  0x00000003 , 0x0000003f 
+ 00024274  0x000033af store  0x00000001 , 0x00004428 
+ 00024275  0x000033b0 rtn 
+ 00024276  0x000033b3 ifetch  0x00000001 , 0x00000006 
+ 00024277  0x000033b4 beq  0x00000001 , 0x00005ee9 
+ 00024278  0x000033b6 beq  0x00000003 , 0x00005f10 
+ 00024279  0x000033b7 beq  0x00000004 , 0x00005f2d 
+ 00024280  0x000033b8 beq  0x00000005 , 0x00005f3a 
+ 00024281  0x000033b9 beq  0x00000006 , 0x00005f60 
+ 00024282  0x000033ba beq  0x00000007 , 0x00005fa4 
+ 00024283  0x000033bb beq  0x00000008 , 0x00005f8f 
+ 00024284  0x000033bc beq  0x00000009 , 0x00005fa0 
+ 00024285  0x000033bd beq  0x0000000a , 0x00005fa4 
+ 00024286  0x000033be beq  0x0000000b , 0x00005fa4 
+ 00024287  0x000033bf beq  0x0000000c , 0x00005fa5 
+ 00024288  0x000033c0 beq  0x0000000d , 0x00005faa 
+ 00024289  0x000033c1 rtn 
+ 00024290  0x000033c6 force  0x00000002 , 0x00000011 
+ 00024291  0x000033c7 call  0x00006042 
+ 00024292  0x000033c8 setarg  0x0000000b 
+ 00024293  0x000033c9 istore  0x00000001 , 0x00000005 
+ 00024294  0x000033ca fetch  0x00000001 , 0x00004428 
+ 00024295  0x000033cb istore  0x00000001 , 0x00000005 
+ 00024296  0x000033cc rtn 
+ 00024297  0x000033cf store  0x00000001 , 0x0000441e 
+ 00024298  0x000033d0 ifetch  0x00000006 , 0x00000006 
+ 00024299  0x000033d1 istore  0x00000006 , 0x00000005 
+ 00024300  0x000033d2 fetch  0x00000001 , 0x00004498 
+ 00024301  0x000033d3 beq  0x00000000 , 0x00005f3f 
+ 00024302  0x000033d4 call  0x00005f0b 
+ 00024303  0x000033d5 call  0x00005f06 
+ 00024304  0x000033d6 jam  0x00000003 , 0x00004496 
+ 00024305  0x000033d7 fetch  0x00000001 , 0x0000441f 
+ 00024306  0x000033d8 beq  0x00000000 , 0x00005ef8 
+ 00024307  0x000033d9 beq  0x00000001 , 0x00005ef8 
+ 00024308  0x000033da beq  0x00000003 , 0x00005ef8 
+ 00024309  0x000033db fetch  0x00000001 , 0x00004498 
+ 00024310  0x000033dc beq  0x00000002 , 0x00005efb 
+ 00024311  0x000033dd rtneq  0x00000083 
+ 00024312  0x000033df arg  0x00000000 , 0x0000003f 
+ 00024313  0x000033e0 store  0x00000004 , 0x00004499 
+ 00024314  0x000033e1 rtn 
+ 00024315  0x000033e4 fetch  0x00000001 , 0x000044bb 
+ 00024316  0x000033e5 bbit1  0x00000000 , 0x00005f04 
+ 00024317  0x000033e7 arg  0x00004499 , 0x00000011 
+ 00024318  0x000033e8 copy  0x00000011 , 0x00000005 
+ 00024319  0x000033e9 arg  0x00000003 , 0x00000039 
+ 00024320  0x000033ea call  0x000066ef 
+ 00024321  0x000033eb fetch  0x00000002 , 0x0000449b 
+ 00024322  0x000033ec and_into  0x00000007 , 0x0000003f 
+ 00024323  0x000033ed store  0x00000002 , 0x0000449b 
+ 00024324  0x000033ef jam  0x00000034 , 0x00000a95 
+ 00024325  0x000033f0 branch  0x00007bab 
+ 00024326  0x000033f3 fetch  0x00000001 , 0x00004421 
+ 00024327  0x000033f4 rtnbit1  0x00000003 
+ 00024328  0x000033f5 fetch  0x00000001 , 0x00004498 
+ 00024329  0x000033f6 rtnbit0  0x00000007 
+ 00024330  0x000033f7 branch  0x00004d7d 
+ 00024331  0x000033fa force  0x00000007 , 0x00000011 
+ 00024332  0x000033fb call  0x00006042 
+ 00024333  0x000033fc fetch  0x00000007 , 0x00004425 
+ 00024334  0x000033fd istore  0x00000007 , 0x00000005 
+ 00024335  0x000033fe rtn 
+ 00024336  0x00003402 copy  0x00000006 , 0x00000011 
+ 00024337  0x00003403 fetch  0x00000001 , 0x00004498 
+ 00024338  0x00003404 beq  0x00000083 , 0x00005f17 
+ 00024339  0x00003405 copy  0x00000011 , 0x00000006 
+ 00024340  0x00003406 arg  0x000043fc , 0x00000005 
+ 00024341  0x00003407 call  0x00007c9a 
+ 00024342  0x00003408 branch  0x00005f1d 
+ 00024343  0x0000340a copy  0x00000011 , 0x00000006 
+ 00024344  0x0000340b arg  0x000043fc , 0x00000005 
+ 00024345  0x0000340c call  0x00007c9a 
+ 00024346  0x0000340d jam  0x00000002 , 0x00004491 
+ 00024347  0x0000340e jam  0x00000008 , 0x00004493 
+ 00024348  0x0000340f rtn 
+ 00024349  0x00003413 fetch  0x00000001 , 0x00004498 
+ 00024350  0x00003414 bbit1  0x00000007 , 0x00005f25 
+ 00024351  0x00003415 call  0x00007252 
+ 00024352  0x00003416 force  0x00000011 , 0x00000011 
+ 00024353  0x00003417 call  0x00006042 
+ 00024354  0x00003418 setarg  0x00000003 
+ 00024355  0x00003419 istore  0x00000001 , 0x00000005 
+ 00024356  0x0000341a branch  0x0000734c 
+ 00024357  0x0000341e arg  0x0000440c , 0x00000005 
+ 00024358  0x0000341f call  0x000066ee 
+ 00024359  0x00003420 call  0x00007084 
+ 00024360  0x00003421 force  0x00000011 , 0x00000011 
+ 00024361  0x00003422 call  0x00006042 
+ 00024362  0x00003423 setarg  0x00000003 
+ 00024363  0x00003424 istore  0x00000001 , 0x00000005 
+ 00024364  0x00003425 branch  0x000070c0 
+ 00024365  0x0000342a copy  0x00000006 , 0x00000011 
+ 00024366  0x0000342b fetch  0x00000001 , 0x00004498 
+ 00024367  0x0000342c bbit1  0x00000007 , 0x00005f41 
+ 00024368  0x0000342d copy  0x00000011 , 0x00000006 
+ 00024369  0x0000342e call  0x0000724a 
+ 00024370  0x0000342f branch  0x00005f55 , 0x00000005 
+ 00024371  0x00003431 jam  0x00000004 , 0x00000477 
+ 00024372  0x00003433 force  0x00000002 , 0x00000011 
+ 00024373  0x00003434 call  0x00006042 
+ 00024374  0x00003435 setarg  0x00000005 
+ 00024375  0x00003436 istore  0x00000001 , 0x00000005 
+ 00024376  0x00003437 fetch  0x00000001 , 0x00000477 
+ 00024377  0x00003438 istore  0x00000001 , 0x00000005 
+ 00024378  0x0000343a force  0x0000000a , 0x00000007 
+ 00024379  0x0000343b call  0x00007ce2 
+ 00024380  0x0000343c jam  0x00000000 , 0x00004496 
+ 00024381  0x0000343d jam  0x00000030 , 0x00000a95 
+ 00024382  0x0000343e branch  0x00007bab 
+ 00024383  0x00003441 jam  0x00000005 , 0x00000477 
+ 00024384  0x00003442 branch  0x00005f34 
+ 00024385  0x00003446 arg  0x0000042b , 0x00000005 
+ 00024386  0x00003447 copy  0x00000011 , 0x00000006 
+ 00024387  0x00003448 call  0x00007c9a 
+ 00024388  0x00003449 fetch  0x00000001 , 0x00004498 
+ 00024389  0x0000344a beq  0x00000083 , 0x00005f4c 
+ 00024390  0x0000344b call  0x0000700e 
+ 00024391  0x0000344e call  0x00005f5a 
+ 00024392  0x0000344f fetch  0x00000001 , 0x00004498 
+ 00024393  0x00003450 rtnne  0x00000082 
+ 00024394  0x00003451 jam  0x0000003b , 0x00000a95 
+ 00024395  0x00003452 branch  0x00007bab 
+ 00024396  0x00003455 call  0x00007079 
+ 00024397  0x00003456 arg  0x00000aee , 0x00000005 
+ 00024398  0x00003457 call  0x000070c0 
+ 00024399  0x00003458 arg  0x00000aee , 0x00000011 
+ 00024400  0x00003459 arg  0x000043fc , 0x00000012 
+ 00024401  0x0000345a arg  0x00000010 , 0x00000039 
+ 00024402  0x0000345b call  0x00007d63 
+ 00024403  0x0000345c nbranch  0x00005f33 , 0x00000005 
+ 00024404  0x0000345d branch  0x00005f5a 
+ 00024405  0x00003460 call  0x00007246 
+ 00024406  0x00003461 jam  0x00000031 , 0x00000a95 
+ 00024407  0x00003462 call  0x00007bab 
+ 00024408  0x00003463 jam  0x00000001 , 0x000043fb 
+ 00024409  0x00003464 jam  0x00000005 , 0x00004496 
+ 00024410  0x00003467 force  0x00000011 , 0x00000011 
+ 00024411  0x00003468 call  0x00006042 
+ 00024412  0x00003469 setarg  0x00000004 
+ 00024413  0x0000346a istore  0x00000001 , 0x00000005 
+ 00024414  0x0000346b arg  0x0000440c , 0x00000006 
+ 00024415  0x0000346c branch  0x00007c9a 
+ 00024416  0x0000346f arg  0x0000041b , 0x00000005 
+ 00024417  0x00003470 branch  0x00007c9a 
+ 00024418  0x00003473 force  0x00000011 , 0x00000011 
+ 00024419  0x00003474 call  0x00006042 
+ 00024420  0x00003475 setarg  0x00000006 
+ 00024421  0x00003476 istore  0x00000001 , 0x00000005 
+ 00024422  0x00003477 fetch  0x00000001 , 0x000044bb 
+ 00024423  0x00003478 bbit1  0x00000001 , 0x00005f6a 
+ 00024424  0x00003479 arg  0x000043eb , 0x00000006 
+ 00024425  0x0000347a branch  0x00007c9a 
+ 00024426  0x0000347d arg  0x000044bc , 0x00000006 
+ 00024427  0x0000347e branch  0x00007c9a 
+ 00024428  0x00003482 arg  0x0000449d , 0x00000005 
+ 00024429  0x00003483 force  0x0000000a , 0x00000039 
+ 00024430  0x00003484 call  0x000066ef 
+ 00024431  0x00003485 force  0x0000000b , 0x00000011 
+ 00024432  0x00003486 call  0x00006042 
+ 00024433  0x00003487 setarg  0x00000007 
+ 00024434  0x00003488 istore  0x00000001 , 0x00000005 
+ 00024435  0x00003489 fetch  0x00000002 , 0x0000449d 
+ 00024436  0x0000348a istore  0x00000002 , 0x00000005 
+ 00024437  0x0000348b fetch  0x00000008 , 0x0000449f 
+ 00024438  0x0000348c istore  0x00000008 , 0x00000005 
+ 00024439  0x0000348d rtn 
+ 00024440  0x00003490 force  0x00000011 , 0x00000011 
+ 00024441  0x00003491 call  0x00006042 
+ 00024442  0x00003492 setarg  0x00000008 
+ 00024443  0x00003493 istore  0x00000001 , 0x00000005 
+ 00024444  0x00003494 setarg  0x00000000 
+ 00024445  0x00003495 istore  0x00000008 , 0x00000005 
+ 00024446  0x00003496 istore  0x00000008 , 0x00000005 
+ 00024447  0x00003497 rtn 
+ 00024448  0x0000349b force  0x00000008 , 0x00000011 
+ 00024449  0x0000349c call  0x00006042 
+ 00024450  0x0000349d setarg  0x00000009 
+ 00024451  0x0000349e istore  0x00000001 , 0x00000005 
+ 00024452  0x0000349f fetch  0x00000001 , 0x00004467 
+ 00024453  0x000034a0 istore  0x00000001 , 0x00000005 
+ 00024454  0x000034a1 fetch  0x00000006 , 0x00004472 
+ 00024455  0x000034a2 istore  0x00000006 , 0x00000005 
+ 00024456  0x000034a3 rtn 
+ 00024457  0x000034a7 jam  0x00000008 , 0x00000477 
+ 00024458  0x000034a8 branch  0x00005f34 
+ 00024459  0x000034ab fetch  0x00000001 , 0x0000442a 
+ 00024460  0x000034ac fetcht  0x00000001 , 0x0000442a 
+ 00024461  0x000034ad iand  0x00000002 , 0x0000003f 
+ 00024462  0x000034ae rtn 
+ 00024463  0x000034b1 arg  0x000044a7 , 0x00000005 
+ 00024464  0x000034b2 call  0x00007c9a 
+ 00024465  0x000034b3 call  0x00005f8b 
+ 00024466  0x000034b4 isolate0  0x00000001 , 0x0000003f 
+ 00024467  0x000034b5 branch  0x00005f89 , 0x00000001 
+ 00024468  0x000034b6 fetch  0x00000001 , 0x00004092 
+ 00024469  0x000034b7 rtnne  0x0000000a 
+ 00024470  0x000034b8 call  0x00005f99 
+ 00024471  0x000034b9 nrtn  0x00000028 
+ 00024472  0x000034ba branch  0x00004d8b 
+ 00024473  0x000034be call  0x00007dc1 
+ 00024474  0x000034bf fetch  0x00000001 , 0x00004460 
+ 00024475  0x000034c0 rtneq  0x00000000 
+ 00024476  0x000034c1 fetch  0x00000001 , 0x00000450 
+ 00024477  0x000034c2 compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00024478  0x000034c3 rtn  0x00000001 
+ 00024479  0x000034c4 branch  0x00007dbf 
+ 00024480  0x000034c7 call  0x00005f8b 
+ 00024481  0x000034c8 isolate0  0x00000001 , 0x0000003f 
+ 00024482  0x000034c9 branch  0x00005f89 , 0x00000001 
+ 00024483  0x000034ca rtn 
+ 00024484  0x000034cf rtn 
+ 00024485  0x000034d2 arg  0x000009ba , 0x00000005 
+ 00024486  0x000034d3 call  0x00007c8e 
+ 00024487  0x000034d4 jam  0x00000002 , 0x00004491 
+ 00024488  0x000034d5 jam  0x00000001 , 0x00004493 
+ 00024489  0x000034d6 rtn 
+ 00024490  0x000034d9 arg  0x00000a6a , 0x00000005 
+ 00024491  0x000034da call  0x00007c9a 
+ 00024492  0x000034db jam  0x00000006 , 0x00004493 
+ 00024493  0x000034dc jam  0x00000002 , 0x00004491 
+ 00024494  0x000034dd rtn 
+ 00024495  0x000034e0 force  0x00000041 , 0x00000011 
+ 00024496  0x000034e1 call  0x00006042 
+ 00024497  0x000034e2 setarg  0x0000000c 
+ 00024498  0x000034e3 istore  0x00000001 , 0x00000005 
+ 00024499  0x000034e4 arg  0x000045a4 , 0x00000006 
+ 00024500  0x000034e5 branch  0x00007c8e 
+ 00024501  0x000034e8 call  0x00007025 
+ 00024502  0x000034e9 force  0x00000011 , 0x00000011 
+ 00024503  0x000034ea call  0x00006042 
+ 00024504  0x000034eb setarg  0x0000000d 
+ 00024505  0x000034ec istore  0x00000001 , 0x00000005 
+ 00024506  0x000034ed branch  0x000070c0 
+ 00024507  0x000034f1 fetch  0x00000001 , 0x00004496 
+ 00024508  0x000034f2 rtneq  0x000000ff 
+ 00024509  0x000034f3 arg  0x00000003 , 0x00000002 
+ 00024510  0x000034f4 isub  0x00000002 , 0x0000003e 
+ 00024511  0x000034f5 nrtn  0x00000002 
+ 00024512  0x000034f6 arg  0x0000000a , 0x00000007 
+ 00024513  0x000034f7 call  0x00007cf1 
+ 00024514  0x000034f8 nrtn  0x00000034 
+ 00024515  0x000034f9 branch  0x00005f89 
+ 00024516  0x000034fc bpatchx  0x00000033 , 0x00004026 
+ 00024517  0x000034fd fetch  0x00000001 , 0x00004496 
+ 00024518  0x000034fe beq  0x00000000 , 0x00005fcf 
+ 00024519  0x000034ff beq  0x00000001 , 0x00005fd5 
+ 00024520  0x00003500 beq  0x00000002 , 0x00005fcf 
+ 00024521  0x00003501 beq  0x00000003 , 0x00005fd7 
+ 00024522  0x00003502 beq  0x00000005 , 0x00005fdb 
+ 00024523  0x00003503 beq  0x00000007 , 0x00005fe7 
+ 00024524  0x00003504 beq  0x00000008 , 0x00005fe9 
+ 00024525  0x00003505 beq  0x00000009 , 0x00005ff0 
+ 00024526  0x00003506 rtn 
+ 00024527  0x0000350a fetch  0x00000001 , 0x00004497 
+ 00024528  0x0000350b rtnne  0x00000004 
+ 00024529  0x0000350c jam  0x000000ff , 0x00004497 
+ 00024530  0x0000350d jam  0x000000ff , 0x00004496 
+ 00024531  0x0000350e jam  0x0000003f , 0x00000a95 
+ 00024532  0x0000350f branch  0x00007bab 
+ 00024533  0x00003513 jam  0x00000002 , 0x00004496 
+ 00024534  0x00003514 branch  0x00005ee2 
+ 00024535  0x00003517 jam  0x00000004 , 0x00004496 
+ 00024536  0x00003518 setarg  0x00017700 
+ 00024537  0x00003519 arg  0x0000000a , 0x00000007 
+ 00024538  0x0000351a branch  0x00007ce3 
+ 00024539  0x0000351d fetch  0x00000001 , 0x00004497 
+ 00024540  0x0000351e beq  0x00000004 , 0x00005fde 
+ 00024541  0x0000351f rtn 
+ 00024542  0x00003522 jam  0x00000007 , 0x00004496 
+ 00024543  0x00003523 jam  0x00000029 , 0x00000a95 
+ 00024544  0x00003524 call  0x00007bab 
+ 00024545  0x00003525 call  0x00005f62 
+ 00024546  0x00003526 fetch  0x00000001 , 0x00004092 
+ 00024547  0x00003527 rtnne  0x0000000a 
+ 00024548  0x00003528 call  0x00005f99 
+ 00024549  0x00003529 rtn  0x00000028 
+ 00024550  0x0000352a branch  0x00004d8b 
+ 00024551  0x0000352e jam  0x00000008 , 0x00004496 
+ 00024552  0x0000352f branch  0x00005f6c 
+ 00024553  0x00003532 fetch  0x00000001 , 0x00004424 
+ 00024554  0x00003533 fetcht  0x00000001 , 0x0000442b 
+ 00024555  0x00003534 iand  0x00000002 , 0x0000003f 
+ 00024556  0x00003535 isolate0  0x00000001 , 0x0000003f 
+ 00024557  0x00003536 branch  0x00005ff2 , 0x00000001 
+ 00024558  0x00003537 jam  0x00000009 , 0x00004496 
+ 00024559  0x00003538 branch  0x00005f78 
+ 00024560  0x0000353b call  0x00005f80 
+ 00024561  0x0000353c branch  0x00005ff2 
+ 00024562  0x00003540 force  0x0000000a , 0x00000007 
+ 00024563  0x00003541 call  0x00007ce2 
+ 00024564  0x00003542 jam  0x000000ff , 0x00004497 
+ 00024565  0x00003543 jam  0x000000ff , 0x00004496 
+ 00024566  0x00003544 jam  0x0000003e , 0x00000a95 
+ 00024567  0x00003545 branch  0x00007bab 
+ 00024568  0x0000354a bpatchx  0x00000034 , 0x00004026 
+ 00024569  0x0000354b fetch  0x00000001 , 0x00004498 
+ 00024570  0x0000354c rtnbit0  0x00000007 
+ 00024571  0x0000354d fetch  0x00000001 , 0x00004491 
+ 00024572  0x0000354e rtnne  0x00000002 
+ 00024573  0x0000354f jam  0x00000000 , 0x00004491 
+ 00024574  0x00003550 fetch  0x00000001 , 0x00004493 
+ 00024575  0x00003551 beq  0x00000001 , 0x00006038 
+ 00024576  0x00003552 beq  0x00000002 , 0x0000603f 
+ 00024577  0x00003553 beq  0x00000003 , 0x00006032 
+ 00024578  0x00003554 beq  0x00000006 , 0x00006019 
+ 00024579  0x00003555 beq  0x00000007 , 0x00006010 
+ 00024580  0x00003556 beq  0x00000008 , 0x00006006 
+ 00024581  0x00003557 rtn 
+ 00024582  0x0000355b fetch  0x00000001 , 0x00004635 
+ 00024583  0x0000355c copy  0x0000003f , 0x00000007 
+ 00024584  0x0000355d increase  0x00000001 , 0x0000003f 
+ 00024585  0x0000355e store  0x00000001 , 0x00004635 
+ 00024586  0x0000355f fetch  0x00000004 , 0x00004499 
+ 00024587  0x00003560 qisolate1  0x0000003f 
+ 00024588  0x00003561 setarg  0x00000080 
+ 00024589  0x00003562 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024590  0x00003563 store  0x00000001 , 0x00004636 
+ 00024591  0x00003564 branch  0x00006035 
+ 00024592  0x00003567 fetch  0x00000001 , 0x00004494 
+ 00024593  0x00003568 jam  0x00000000 , 0x00004494 
+ 00024594  0x00003569 beq  0x00000001 , 0x00006015 
+ 00024595  0x0000356a jam  0x00000002 , 0x00004491 
+ 00024596  0x0000356b rtn 
+ 00024597  0x0000356e jam  0x00000031 , 0x00000a95 
+ 00024598  0x0000356f call  0x00007bab 
+ 00024599  0x00003570 jam  0x00000005 , 0x00004496 
+ 00024600  0x00003571 branch  0x00005fb5 
+ 00024601  0x00003574 fetch  0x00000001 , 0x000009b5 
+ 00024602  0x00003575 beq  0x00000003 , 0x0000601d 
+ 00024603  0x00003576 jam  0x00000002 , 0x00004491 
+ 00024604  0x00003577 rtn 
+ 00024605  0x0000357a call  0x0000704c 
+ 00024606  0x0000357e fetch  0x00000001 , 0x00004498 
+ 00024607  0x0000357f beq  0x00000083 , 0x00006021 
+ 00024608  0x00003580 call  0x00005ef8 
+ 00024609  0x00003582 call  0x00007039 
+ 00024610  0x00003583 arg  0x00000aee , 0x00000011 
+ 00024611  0x00003584 arg  0x00000a6a , 0x00000012 
+ 00024612  0x00003585 arg  0x00000010 , 0x00000039 
+ 00024613  0x00003586 call  0x00007d63 
+ 00024614  0x00003587 branch  0x00006029 , 0x00000005 
+ 00024615  0x00003589 jam  0x0000000b , 0x00000477 
+ 00024616  0x0000358a branch  0x00005f34 
+ 00024617  0x0000358e call  0x0000744a 
+ 00024618  0x0000358f nbranch  0x00006027 , 0x00000005 
+ 00024619  0x00003590 jam  0x00000001 , 0x000043fb 
+ 00024620  0x00003591 fetch  0x00000001 , 0x00004498 
+ 00024621  0x00003592 beq  0x00000081 , 0x00006015 
+ 00024622  0x00003593 beq  0x00000083 , 0x00006015 
+ 00024623  0x00003594 jam  0x00000002 , 0x00004491 
+ 00024624  0x00003595 jam  0x00000007 , 0x00004493 
+ 00024625  0x00003596 rtn 
+ 00024626  0x00003599 fetch  0x00000001 , 0x00004498 
+ 00024627  0x0000359a beq  0x00000083 , 0x00006036 
+ 00024628  0x0000359b jam  0x00000000 , 0x00004636 
+ 00024629  0x0000359d branch  0x00005f1d 
+ 00024630  0x000035a3 jam  0x00000000 , 0x00004635 
+ 00024631  0x000035a4 branch  0x00005efb 
+ 00024632  0x000035a8 jam  0x00000002 , 0x00004491 
+ 00024633  0x000035a9 fetch  0x00000001 , 0x00004495 
+ 00024634  0x000035aa beq  0x00000003 , 0x0000603c 
+ 00024635  0x000035ac rtn 
+ 00024636  0x000035af jam  0x00000002 , 0x00004493 
+ 00024637  0x000035b0 jam  0x00000000 , 0x000009b5 
+ 00024638  0x000035b1 branch  0x0000794e 
+ 00024639  0x000035b4 jam  0x00000002 , 0x00004491 
+ 00024640  0x000035b5 jam  0x00000003 , 0x00004493 
+ 00024641  0x000035b6 branch  0x00005faf 
+ 00024642  0x000035bb force  0x00000006 , 0x00000012 
+ 00024643  0x000035bc branch  0x00005c27 
+ 00024644  0x000035c1 bpatchx  0x00000035 , 0x00004026 
+ 00024645  0x000035c2 fetch  0x00000001 , 0x000002d7 
+ 00024646  0x000035c3 beq  0x00000000 , 0x0000605c 
+ 00024647  0x000035c4 beq  0x00000001 , 0x00006064 
+ 00024648  0x000035c5 beq  0x00000002 , 0x0000606f 
+ 00024649  0x000035c6 beq  0x00000003 , 0x0000608b 
+ 00024650  0x000035c7 beq  0x00000004 , 0x000060c2 
+ 00024651  0x000035c8 beq  0x00000005 , 0x000060c7 
+ 00024652  0x000035c9 beq  0x00000006 , 0x000060cb 
+ 00024653  0x000035ca beq  0x00000007 , 0x000060d6 
+ 00024654  0x000035cb beq  0x00000008 , 0x0000607a 
+ 00024655  0x000035cc beq  0x00000009 , 0x000060d6 
+ 00024656  0x000035cd beq  0x0000000a , 0x000060d0 
+ 00024657  0x000035ce beq  0x0000000b , 0x000060d6 
+ 00024658  0x000035cf beq  0x0000000c , 0x00006080 
+ 00024659  0x000035d0 beq  0x0000000d , 0x000060d6 
+ 00024660  0x000035d1 beq  0x00000012 , 0x00006087 
+ 00024661  0x000035d2 beq  0x00000013 , 0x000060d6 
+ 00024662  0x000035d3 arg  0x00000002 , 0x00000011 
+ 00024663  0x000035d4 arg  0x00000007 , 0x00000012 
+ 00024664  0x000035d5 call  0x00005c22 
+ 00024665  0x000035d6 fetch  0x00000001 , 0x000002d7 
+ 00024666  0x000035d7 istore  0x00000001 , 0x00000005 
+ 00024667  0x000035d8 rtn 
+ 00024668  0x000035dc ifetch  0x00000009 , 0x00000006 
+ 00024669  0x000035dd store  0x00000009 , 0x000043a5 
+ 00024670  0x000035de ifetch  0x00000002 , 0x00000006 
+ 00024671  0x000035df store  0x00000002 , 0x0000045b 
+ 00024672  0x000035e0 fetch  0x00000001 , 0x0000043b 
+ 00024673  0x000035e1 set1  0x00000005 , 0x0000003f 
+ 00024674  0x000035e2 store  0x00000001 , 0x0000043b 
+ 00024675  0x000035e3 rtn 
+ 00024676  0x000035e6 ifetch  0x00000005 , 0x00000006 
+ 00024677  0x000035e7 store  0x00000005 , 0x000043a0 
+ 00024678  0x000035e8 ifetch  0x00000002 , 0x00000006 
+ 00024679  0x000035e9 store  0x00000002 , 0x0000045b 
+ 00024680  0x000035ea fetcht  0x00000002 , 0x00000455 
+ 00024681  0x000035eb isub  0x00000002 , 0x0000003e 
+ 00024682  0x000035ec nbranch  0x0000606f , 0x00000002 
+ 00024683  0x000035ed fetch  0x00000001 , 0x0000043b 
+ 00024684  0x000035ee set1  0x00000006 , 0x0000003f 
+ 00024685  0x000035ef store  0x00000001 , 0x0000043b 
+ 00024686  0x000035f0 rtn 
+ 00024687  0x000035f4 setarg  0x00000014 
+ 00024688  0x000035f5 store  0x00000002 , 0x00000469 
+ 00024689  0x000035f6 store  0x00000002 , 0x0000448c 
+ 00024690  0x000035f7 rtn 
+ 00024691  0x000035fa arg  0x00000013 , 0x00000013 
+ 00024692  0x000035fe arg  0x00000002 , 0x00000011 
+ 00024693  0x000035ff arg  0x00000002 , 0x00000012 
+ 00024694  0x00003600 call  0x00005c22 
+ 00024695  0x00003601 copy  0x00000013 , 0x0000003f 
+ 00024696  0x00003602 istore  0x00000001 , 0x00000005 
+ 00024697  0x00003603 rtn 
+ 00024698  0x00003608 arg  0x00000009 , 0x00000011 
+ 00024699  0x00003609 arg  0x00000009 , 0x00000012 
+ 00024700  0x0000360a call  0x00005c22 
+ 00024701  0x0000360b setarg  0x00000001 
+ 00024702  0x0000360c istore  0x00000008 , 0x00000005 
+ 00024703  0x0000360d rtn 
+ 00024704  0x00003611 rtn  0x00000029 
+ 00024705  0x00003613 arg  0x00000006 , 0x00000011 
+ 00024706  0x00003614 arg  0x0000000c , 0x00000012 
+ 00024707  0x00003615 call  0x00005c22 
+ 00024708  0x00003616 fetch  0x00000005 , 0x000044e2 
+ 00024709  0x00003617 istore  0x00000005 , 0x00000005 
+ 00024710  0x00003618 rtn 
+ 00024711  0x0000361c arg  0x00000013 , 0x00000012 
+ 00024712  0x0000361d branch  0x00006089 
+ 00024713  0x00003621 arg  0x00000001 , 0x00000011 
+ 00024714  0x00003622 branch  0x00005c22 
+ 00024715  0x00003626 ifetch  0x00000008 , 0x00000006 
+ 00024716  0x00003627 store  0x00000008 , 0x0000449f 
+ 00024717  0x00003628 ifetch  0x00000002 , 0x00000006 
+ 00024718  0x00003629 store  0x00000002 , 0x0000449d 
+ 00024719  0x0000362a ifetch  0x00000008 , 0x00000006 
+ 00024720  0x0000362b store  0x00000008 , 0x0000447c 
+ 00024721  0x0000362c ifetch  0x00000004 , 0x00000006 
+ 00024722  0x0000362d store  0x00000004 , 0x000043e3 
+ 00024723  0x0000362e call  0x000060b0 
+ 00024724  0x0000362f bpatchx  0x00000036 , 0x00004026 
+ 00024725  0x00003630 fetch  0x00000001 , 0x00004496 
+ 00024726  0x00003631 beq  0x00000005 , 0x0000609d 
+ 00024727  0x00003632 fetch  0x00000001 , 0x000044bb 
+ 00024728  0x00003633 bbit1  0x00000001 , 0x000060a0 
+ 00024729  0x00003634 fetch  0x00000001 , 0x00004216 
+ 00024730  0x00003635 ncall  0x000068b0 , 0x00000034 
+ 00024731  0x00003636 fetch  0x00000001 , 0x000043fb 
+ 00024732  0x00003637 beq  0x00000000 , 0x000060a5 
+ 00024733  0x00003639 jam  0x00000001 , 0x00004497 
+ 00024734  0x0000363a call  0x000060be 
+ 00024735  0x0000363b branch  0x00007258 
+ 00024736  0x0000363e jam  0x00000001 , 0x000043fb 
+ 00024737  0x0000363f arg  0x000044bc , 0x00000006 
+ 00024738  0x00003640 arg  0x000043eb , 0x00000005 
+ 00024739  0x00003641 call  0x00007c9a 
+ 00024740  0x00003642 branch  0x0000609d 
+ 00024741  0x00003646 bpatchx  0x00000037 , 0x00004026 
+ 00024742  0x00003647 jam  0x00000000 , 0x00004497 
+ 00024743  0x00003648 jam  0x00000000 , 0x00004496 
+ 00024744  0x00003649 jam  0x00000041 , 0x00000a95 
+ 00024745  0x0000364a branch  0x00007bab 
+ 00024746  0x0000364d arg  0x00000002 , 0x00000011 
+ 00024747  0x0000364e arg  0x0000000d , 0x00000012 
+ 00024748  0x0000364f call  0x00005c22 
+ 00024749  0x00003650 setarg  0x00000006 
+ 00024750  0x00003651 istore  0x00000001 , 0x00000005 
+ 00024751  0x00003652 rtn 
+ 00024752  0x00003655 arg  0x00004484 , 0x00000005 
+ 00024753  0x00003656 force  0x00000008 , 0x00000039 
+ 00024754  0x00003657 call  0x000066ef 
+ 00024755  0x00003658 arg  0x000043e7 , 0x00000005 
+ 00024756  0x00003659 force  0x00000004 , 0x00000039 
+ 00024757  0x0000365a call  0x000066ef 
+ 00024758  0x0000365b arg  0x0000000d , 0x00000011 
+ 00024759  0x0000365c arg  0x00000004 , 0x00000012 
+ 00024760  0x0000365d call  0x00005c22 
+ 00024761  0x0000365e fetch  0x00000008 , 0x00004484 
+ 00024762  0x0000365f istore  0x00000008 , 0x00000005 
+ 00024763  0x00003660 fetch  0x00000004 , 0x000043e7 
+ 00024764  0x00003661 istore  0x00000004 , 0x00000005 
+ 00024765  0x00003662 rtn 
+ 00024766  0x00003665 arg  0x00000005 , 0x00000012 
+ 00024767  0x00003666 branch  0x00006089 
+ 00024768  0x00003669 arg  0x00000006 , 0x00000012 
+ 00024769  0x0000366a branch  0x00006089 
+ 00024770  0x0000366e ifetch  0x00000008 , 0x00000006 
+ 00024771  0x0000366f store  0x00000008 , 0x00004484 
+ 00024772  0x00003670 ifetch  0x00000004 , 0x00000006 
+ 00024773  0x00003671 store  0x00000004 , 0x000043e7 
+ 00024774  0x00003672 branch  0x00007258 
+ 00024775  0x00003675 fetch  0x00000001 , 0x0000043b 
+ 00024776  0x00003676 set1  0x00000004 , 0x0000003f 
+ 00024777  0x00003677 store  0x00000001 , 0x0000043b 
+ 00024778  0x00003678 rtn 
+ 00024779  0x0000367b rtn  0x00000029 
+ 00024780  0x0000367c jam  0x00000032 , 0x00000a95 
+ 00024781  0x0000367d call  0x00007bab 
+ 00024782  0x0000367e jam  0x00000004 , 0x00004497 
+ 00024783  0x0000367f branch  0x000060c0 
+ 00024784  0x00003682 jam  0x00000002 , 0x00004497 
+ 00024785  0x00003683 call  0x000060d4 
+ 00024786  0x00003684 jam  0x00000033 , 0x00000a95 
+ 00024787  0x00003685 branch  0x00007bab 
+ 00024788  0x00003688 arg  0x0000000b , 0x00000012 
+ 00024789  0x00003689 branch  0x00006089 
+ 00024790  0x00003691 rtn 
+ 00024791  0x00003699 rtn  0x0000002b 
+ 00024792  0x0000369b bpatchx  0x00000038 , 0x00004027 
+ 00024793  0x0000369c setarg  0x00000000 
+ 00024794  0x0000369d store  0x00000001 , 0x00000048 
+ 00024795  0x0000369e store  0x00000001 , 0x00000055 
+ 00024796  0x0000369f store  0x00000001 , 0x00000078 
+ 00024797  0x000036a0 store  0x00000001 , 0x0000007c 
+ 00024798  0x000036a1 store  0x00000001 , 0x00004159 
+ 00024799  0x000036a2 store  0x00000001 , 0x000004d3 
+ 00024800  0x000036a3 store  0x00000001 , 0x0000016b 
+ 00024801  0x000036a4 store  0x00000001 , 0x000009b1 
+ 00024802  0x000036a5 jam  0x00000000 , 0x0000452d 
+ 00024803  0x000036a6 jam  0x00000000 , 0x00000227 
+ 00024804  0x000036a7 jam  0x00000000 , 0x000004d4 
+ 00024805  0x000036a9 jam  0x00000000 , 0x000009b1 
+ 00024806  0x000036aa jam  0x00000000 , 0x000009b0 
+ 00024807  0x000036ab jam  0x00000000 , 0x000004cd 
+ 00024808  0x000036ae rtn 
+ 00024809  0x000036b1 bpatchx  0x00000039 , 0x00004027 
+ 00024810  0x000036b2 call  0x000066e1 , 0x00000029 
+ 00024811  0x000036b3 ncall  0x000066e5 , 0x00000029 
+ 00024812  0x000036b4 call  0x0000669e 
+ 00024813  0x000036b5 nrtn  0x00000034 
+ 00024814  0x000036b6 fetch  0x00000001 , 0x0000004c 
+ 00024815  0x000036b7 rtnbit0  0x00000006 
+ 00024816  0x000036b8 set0  0x00000006 , 0x0000003f 
+ 00024817  0x000036b9 set0  0x00000001 , 0x00000000 
+ 00024818  0x000036ba store  0x00000001 , 0x0000004c 
+ 00024819  0x000036bb fetch  0x00000001 , 0x0000054d 
+ 00024820  0x000036bc fetcht  0x00000001 , 0x0000004c 
+ 00024821  0x000036bd isolate1  0x00000000 , 0x0000003f 
+ 00024822  0x000036be setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00024823  0x000036bf storet  0x00000001 , 0x0000004c 
+ 00024824  0x000036c0 and_into  0x00000002 , 0x00000002 
+ 00024825  0x000036c1 storet  0x00000001 , 0x0000007f 
+ 00024826  0x000036c2 fetcht  0x00000001 , 0x0000004c 
+ 00024827  0x000036c3 rshift  0x0000003f , 0x0000003f 
+ 00024828  0x000036c4 store  0x00000001 , 0x0000007d 
+ 00024829  0x000036c5 bpatchx  0x0000003a , 0x00004027 
+ 00024830  0x000036c6 fetch  0x00000001 , 0x0000007d 
+ 00024831  0x000036c7 beq  0x0000007f , 0x00006147 
+ 00024832  0x000036c8 beq  0x00000003 , 0x00006192 
+ 00024833  0x000036c9 beq  0x00000004 , 0x000061a3 
+ 00024834  0x000036ca beq  0x0000003c , 0x0000613a 
+ 00024835  0x000036cb beq  0x00000005 , 0x00006136 
+ 00024836  0x000036cc beq  0x0000000f , 0x0000638a 
+ 00024837  0x000036cd beq  0x00000010 , 0x00006205 
+ 00024838  0x000036ce beq  0x00000023 , 0x00006223 
+ 00024839  0x000036cf beq  0x00000039 , 0x000063a3 
+ 00024840  0x000036d0 beq  0x00000038 , 0x0000639e 
+ 00024841  0x000036d1 beq  0x00000031 , 0x00006208 
+ 00024842  0x000036d2 beq  0x00000037 , 0x00006291 
+ 00024843  0x000036d3 beq  0x00000027 , 0x0000628d 
+ 00024844  0x000036d4 beq  0x00000033 , 0x0000628a 
+ 00024845  0x000036d5 beq  0x00000025 , 0x0000628f 
+ 00024846  0x000036d6 beq  0x00000026 , 0x0000621f 
+ 00024847  0x000036d7 beq  0x00000007 , 0x00006217 
+ 00024848  0x000036d8 beq  0x0000002d , 0x0000620e 
+ 00024849  0x000036d9 beq  0x0000002e , 0x0000620f 
+ 00024850  0x000036da beq  0x00000001 , 0x00006286 
+ 00024851  0x000036db beq  0x00000002 , 0x00006271 
+ 00024852  0x000036dc beq  0x00000028 , 0x00006395 
+ 00024853  0x000036dd beq  0x00000009 , 0x00006267 
+ 00024854  0x000036de beq  0x0000000b , 0x00006240 
+ 00024855  0x000036df beq  0x00000008 , 0x00006224 
+ 00024856  0x000036e0 beq  0x0000000c , 0x0000624b 
+ 00024857  0x000036e1 beq  0x0000001f , 0x0000621b 
+ 00024858  0x000036e2 beq  0x00000020 , 0x0000621d 
+ 00024859  0x000036e3 beq  0x00000021 , 0x000062ab 
+ 00024860  0x000036e4 beq  0x00000022 , 0x000062ab 
+ 00024861  0x000036e5 beq  0x00000035 , 0x000062ac 
+ 00024862  0x000036e6 beq  0x00000036 , 0x000062ad 
+ 00024863  0x000036e7 beq  0x00000024 , 0x000062ab 
+ 00024864  0x000036e8 beq  0x00000034 , 0x000062ae 
+ 00024865  0x000036e9 beq  0x00000017 , 0x000062b7 
+ 00024866  0x000036ea beq  0x00000011 , 0x000062d4 
+ 00024867  0x000036eb beq  0x00000012 , 0x000062d8 
+ 00024868  0x000036ec beq  0x00000013 , 0x000062da 
+ 00024869  0x000036ed beq  0x0000000d , 0x000062ec 
+ 00024870  0x000036ee beq  0x0000000e , 0x000062ec 
+ 00024871  0x000036ef beq  0x0000002f , 0x0000628b 
+ 00024872  0x000036f0 beq  0x00000030 , 0x000062ec 
+ 00024873  0x000036f1 beq  0x0000000a , 0x000062ec 
+ 00024874  0x000036f2 beq  0x00000018 , 0x000062ed 
+ 00024875  0x000036f3 beq  0x00000032 , 0x000062ec 
+ 00024876  0x000036f4 beq  0x0000003d , 0x000062f2 
+ 00024877  0x000036f5 beq  0x0000003e , 0x00006333 
+ 00024878  0x000036f6 beq  0x0000003f , 0x0000632d 
+ 00024879  0x000036f7 beq  0x00000040 , 0x0000635a 
+ 00024880  0x000036f8 beq  0x00000041 , 0x0000636c 
+ 00024881  0x000036f9 beq  0x00000006 , 0x00006389 
+ 00024882  0x000036fa beq  0x0000003a , 0x00006138 
+ 00024883  0x000036fe jam  0x00000019 , 0x0000007e 
+ 00024884  0x00003700 jam  0x00000004 , 0x0000007c 
+ 00024885  0x00003701 rtn 
+ 00024886  0x00003704 jam  0x00000006 , 0x0000007c 
+ 00024887  0x00003705 rtn 
+ 00024888  0x00003708 jam  0x0000003b , 0x0000007c 
+ 00024889  0x00003709 rtn 
+ 00024890  0x0000370c fetch  0x00000004 , 0x0000054e 
+ 00024891  0x0000370d lshift  0x0000003f , 0x0000003f 
+ 00024892  0x0000370e store  0x00000004 , 0x000040d2 
+ 00024893  0x0000370f fetch  0x00000001 , 0x00000552 
+ 00024894  0x00003710 store  0x00000001 , 0x000040d9 
+ 00024895  0x00003711 fetch  0x00000005 , 0x00000553 
+ 00024896  0x00003712 store  0x00000005 , 0x000040e7 
+ 00024897  0x00003713 fetch  0x00000005 , 0x00000558 
+ 00024898  0x00003714 istore  0x00000005 , 0x00000005 
+ 00024899  0x00003715 fetch  0x00000001 , 0x00000031 
+ 00024900  0x00003716 set1  0x00000003 , 0x0000003f 
+ 00024901  0x00003717 store  0x00000001 , 0x00000031 
+ 00024902  0x00003718 rtn 
+ 00024903  0x0000371a bpatchx  0x0000003b , 0x00004027 
+ 00024904  0x0000371b fetch  0x00000001 , 0x0000054e 
+ 00024905  0x0000371c set1  0x00000007 , 0x0000003f 
+ 00024906  0x0000371d store  0x00000001 , 0x0000007d 
+ 00024907  0x0000371e beq  0x00000081 , 0x00006169 
+ 00024908  0x0000371f beq  0x00000082 , 0x0000616e 
+ 00024909  0x00003720 beq  0x00000095 , 0x00006292 
+ 00024910  0x00003721 beq  0x00000096 , 0x000062ab 
+ 00024911  0x00003722 beq  0x0000008b , 0x000062a0 
+ 00024912  0x00003723 beq  0x00000083 , 0x00006186 
+ 00024913  0x00003724 beq  0x00000084 , 0x00006188 
+ 00024914  0x00003725 beq  0x00000090 , 0x0000615b 
+ 00024915  0x00003726 beq  0x00000097 , 0x0000617f 
+ 00024916  0x00003727 beq  0x00000098 , 0x00006184 
+ 00024917  0x00003728 beq  0x00000099 , 0x0000615e 
+ 00024918  0x00003729 beq  0x0000009a , 0x00006161 
+ 00024919  0x0000372a rtneq  0x00000084 
+ 00024920  0x0000372e jam  0x00000082 , 0x0000007c 
+ 00024921  0x0000372f jam  0x00000019 , 0x0000007e 
+ 00024922  0x00003731 rtn 
+ 00024923  0x00003733 jam  0x00000082 , 0x0000007c 
+ 00024924  0x00003734 jam  0x0000002e , 0x0000007e 
+ 00024925  0x00003735 rtn 
+ 00024926  0x00003738 call  0x00006163 
+ 00024927  0x00003739 jam  0x0000009a , 0x0000007c 
+ 00024928  0x0000373a rtn 
+ 00024929  0x0000373d call  0x00006163 
+ 00024930  0x0000373e branch  0x00006167 
+ 00024931  0x00003741 arg  0x00004630 , 0x00000005 
+ 00024932  0x00003742 fetch  0x00000003 , 0x0000054f 
+ 00024933  0x00003743 istore  0x00000003 , 0x00000005 
+ 00024934  0x00003744 rtn 
+ 00024935  0x00003747 branch  0x0000758d , 0x00000001 
+ 00024936  0x00003748 rtn 
+ 00024937  0x0000374a fetch  0x00000001 , 0x00000550 
+ 00024938  0x0000374b set1  0x00000007 , 0x0000003f 
+ 00024939  0x0000374c store  0x00000001 , 0x000004c5 
+ 00024940  0x0000374d beq  0x0000008b , 0x00006173 
+ 00024941  0x0000374e rtn 
+ 00024942  0x00003752 fetch  0x00000001 , 0x00000550 
+ 00024943  0x00003753 set1  0x00000007 , 0x0000003f 
+ 00024944  0x00003754 store  0x00000001 , 0x000004c5 
+ 00024945  0x00003755 beq  0x0000008b , 0x00006177 
+ 00024946  0x00003756 rtn 
+ 00024947  0x00003759 fetch  0x00000001 , 0x0000415b 
+ 00024948  0x0000375a fetcht  0x00000001 , 0x0000004c 
+ 00024949  0x0000375b nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00024950  0x0000375c storet  0x00000001 , 0x0000004c 
+ 00024951  0x0000375e fetch  0x00000001 , 0x00000030 
+ 00024952  0x0000375f rtnbit0  0x00000005 
+ 00024953  0x00003760 set0  0x00000005 , 0x0000003f 
+ 00024954  0x00003761 store  0x00000001 , 0x00000030 
+ 00024955  0x00003762 fetch  0x00000001 , 0x000004d3 
+ 00024956  0x00003763 nrtn  0x00000034 
+ 00024957  0x00003764 jam  0x00000031 , 0x0000007c 
+ 00024958  0x00003765 rtn 
+ 00024959  0x00003768 nbranch  0x00006182 , 0x00000029 
+ 00024960  0x00003769 jam  0x00000012 , 0x0000007c 
+ 00024961  0x0000376a branch  0x000066cd 
+ 00024962  0x0000376d jam  0x00000097 , 0x0000007c 
+ 00024963  0x0000376e rtn 
+ 00024964  0x00003773 call  0x000066cd 
+ 00024965  0x00003774 branch  0x000063e0 
+ 00024966  0x00003777 jam  0x00000084 , 0x0000007c 
+ 00024967  0x00003778 rtn 
+ 00024968  0x0000377b fetcht  0x00000001 , 0x00000551 
+ 00024969  0x0000377c and  0x00000002 , 0x00000001 , 0x00000002 
+ 00024970  0x0000377d storet  0x00000001 , 0x000004cc 
+ 00024971  0x0000377e fetch  0x00000001 , 0x000041cf 
+ 00024972  0x0000377f bne  0x00000051 , 0x0000618e 
+ 00024973  0x00003780 jam  0x00000000 , 0x000041cf 
+ 00024974  0x00003782 fetch  0x00000001 , 0x00000055 
+ 00024975  0x00003783 rtnne  0x00000015 
+ 00024976  0x00003784 jam  0x00000004 , 0x00000055 
+ 00024977  0x00003785 branch  0x000066fd 
+ 00024978  0x00003788 bpatchx  0x0000003c , 0x00004027 
+ 00024979  0x00003789 fetch  0x00000001 , 0x0000054e 
+ 00024980  0x0000378a store  0x00000001 , 0x000004c5 
+ 00024981  0x0000378b beq  0x00000033 , 0x000061b9 
+ 00024982  0x0000378c beq  0x00000008 , 0x000061c8 
+ 00024983  0x0000378d beq  0x0000000f , 0x000061cf 
+ 00024984  0x0000378e beq  0x00000010 , 0x000061d5 
+ 00024985  0x0000378f beq  0x00000011 , 0x000061d6 
+ 00024986  0x00003790 beq  0x00000012 , 0x000061de 
+ 00024987  0x00003791 beq  0x00000018 , 0x000061f4 
+ 00024988  0x00003792 beq  0x00000017 , 0x000061f7 
+ 00024989  0x00003793 beq  0x00000013 , 0x000061b0 
+ 00024990  0x00003795 beq  0x0000003d , 0x00006300 
+ 00024991  0x00003796 beq  0x0000003e , 0x0000634c 
+ 00024992  0x00003797 beq  0x00000040 , 0x00006302 
+ 00024993  0x00003798 beq  0x00000041 , 0x0000631f 
+ 00024994  0x00003799 rtn 
+ 00024995  0x0000379c bpatchx  0x0000003d , 0x00004027 
+ 00024996  0x0000379d fetch  0x00000001 , 0x0000054e 
+ 00024997  0x0000379e store  0x00000001 , 0x000004c5 
+ 00024998  0x0000379f beq  0x00000001 , 0x000061eb 
+ 00024999  0x000037a0 beq  0x00000033 , 0x000061c3 
+ 00025000  0x000037a1 beq  0x0000000b , 0x000061df 
+ 00025001  0x000037a2 beq  0x00000008 , 0x000061e2 
+ 00025002  0x000037a3 beq  0x00000013 , 0x000061b3 
+ 00025003  0x000037a5 beq  0x00000040 , 0x000061ec 
+ 00025004  0x000037a6 beq  0x00000041 , 0x000061ef 
+ 00025005  0x000037a7 beq  0x00000018 , 0x000061f2 
+ 00025006  0x000037a8 beq  0x00000017 , 0x00006203 
+ 00025007  0x000037a9 rtn 
+ 00025008  0x000037ac jam  0x00000020 , 0x00000a95 
+ 00025009  0x000037ad call  0x00007bab 
+ 00025010  0x000037ae branch  0x000041d8 
+ 00025011  0x000037b0 jam  0x00000019 , 0x00000a95 
+ 00025012  0x000037b1 call  0x00007bab 
+ 00025013  0x000037b2 jam  0x00000002 , 0x0000452d 
+ 00025014  0x000037b3 setarg  0x00000050 
+ 00025015  0x000037b4 arg  0x00000006 , 0x00000007 
+ 00025016  0x000037b5 branch  0x00007ce3 
+ 00025017  0x000037bb fetch  0x00000001 , 0x000004cd 
+ 00025018  0x000037bc set1  0x00000000 , 0x0000003f 
+ 00025019  0x000037bd store  0x00000001 , 0x000004cd 
+ 00025020  0x000037be jam  0x00000001 , 0x00000a95 
+ 00025021  0x000037bf call  0x00007bab 
+ 00025022  0x000037c0 jam  0x0000008b , 0x0000007c 
+ 00025023  0x000037c4 fetch  0x00000001 , 0x00000055 
+ 00025024  0x000037c5 bne  0x00000005 , 0x000060e8 
+ 00025025  0x000037c8 jam  0x00000006 , 0x00000055 
+ 00025026  0x000037c9 rtn 
+ 00025027  0x000037d2 jam  0x0000000b , 0x000004c6 
+ 00025028  0x000037d3 jam  0x00000007 , 0x0000007c 
+ 00025029  0x000037d5 jam  0x00000000 , 0x00000055 
+ 00025030  0x000037d7 branch  0x000060e8 , 0x00000001 
+ 00025031  0x000037d8 rtn 
+ 00025032  0x000037db fetch  0x00000001 , 0x000041be 
+ 00025033  0x000037dc nrtn  0x00000034 
+ 00025034  0x000037dd call  0x0000444b 
+ 00025035  0x000037de call  0x000063de 
+ 00025036  0x000037df rtn  0x00000029 
+ 00025037  0x000037e0 set1  0x00000021 , 0x00000000 
+ 00025038  0x000037e1 rtn 
+ 00025039  0x000037e4 nrtn  0x00000029 
+ 00025040  0x000037e5 jam  0x00000010 , 0x0000007c 
+ 00025041  0x000037e6 fetch  0x00000001 , 0x0000004c 
+ 00025042  0x000037e7 rtnbit0  0x00000002 
+ 00025043  0x000037e8 jam  0x00000012 , 0x0000007c 
+ 00025044  0x000037e9 rtn 
+ 00025045  0x000037ec branch  0x000063e0 
+ 00025046  0x000037ef call  0x0000643b 
+ 00025047  0x000037f0 fetch  0x00000001 , 0x00000030 
+ 00025048  0x000037f1 rtnbit1  0x00000004 
+ 00025049  0x000037f2 jam  0x00000031 , 0x0000007c 
+ 00025050  0x000037f3 fetch  0x00000001 , 0x00000055 
+ 00025051  0x000037f4 rtnne  0x0000000a 
+ 00025052  0x000037f5 jam  0x0000000b , 0x00000055 
+ 00025053  0x000037f6 rtn 
+ 00025054  0x00003800 rtn 
+ 00025055  0x00003804 jam  0x00000007 , 0x0000007c 
+ 00025056  0x00003805 jam  0x00000013 , 0x000004c6 
+ 00025057  0x00003806 rtn 
+ 00025058  0x00003809 fetch  0x00000001 , 0x0000054f 
+ 00025059  0x0000380a beq  0x00000006 , 0x000061e8 
+ 00025060  0x0000380b rtnne  0x00000018 
+ 00025061  0x0000380c jam  0x00000018 , 0x000004c6 
+ 00025062  0x0000380d jam  0x00000007 , 0x0000007c 
+ 00025063  0x0000380e rtn 
+ 00025064  0x00003810 jam  0x00000006 , 0x000004c6 
+ 00025065  0x00003811 jam  0x00000007 , 0x0000007c 
+ 00025066  0x00003812 rtn 
+ 00025067  0x00003815 rtn 
+ 00025068  0x00003818 jam  0x00000000 , 0x000009aa 
+ 00025069  0x00003819 jam  0x00000007 , 0x0000007c 
+ 00025070  0x0000381a branch  0x000060e8 
+ 00025071  0x0000381d jam  0x00000000 , 0x000009aa 
+ 00025072  0x0000381e jam  0x00000007 , 0x0000007c 
+ 00025073  0x0000381f branch  0x000060e8 
+ 00025074  0x00003821 jam  0x00000024 , 0x00000a95 
+ 00025075  0x00003822 branch  0x00007bab 
+ 00025076  0x00003825 jam  0x00000023 , 0x00000a95 
+ 00025077  0x00003826 call  0x00007bab 
+ 00025078  0x00003827 branch  0x000046e5 
+ 00025079  0x0000382a jam  0x00000022 , 0x00000a95 
+ 00025080  0x0000382b call  0x00007bab 
+ 00025081  0x0000382c setarg  0x00000000 
+ 00025082  0x0000382d store  0x00000002 , 0x00000075 
+ 00025083  0x0000382e fetch  0x00000002 , 0x000041e4 
+ 00025084  0x0000382f lshift  0x0000003f , 0x0000003f 
+ 00025085  0x00003830 store  0x00000002 , 0x00000032 
+ 00025086  0x00003831 fetch  0x00000001 , 0x000041e6 
+ 00025087  0x00003832 store  0x00000001 , 0x00000073 
+ 00025088  0x00003833 fetch  0x00000001 , 0x000041e8 
+ 00025089  0x00003834 store  0x00000001 , 0x00000074 
+ 00025090  0x00003835 branch  0x000046c2 
+ 00025091  0x00003838 jam  0x00000021 , 0x00000a95 
+ 00025092  0x00003839 branch  0x00007bab 
+ 00025093  0x0000383c fetcht  0x00000001 , 0x0000054e 
+ 00025094  0x0000383d storet  0x00000001 , 0x00000054 
+ 00025095  0x0000383e branch  0x00006219 
+ 00025096  0x00003841 fetch  0x00000001 , 0x000004cd 
+ 00025097  0x00003842 set1  0x00000002 , 0x0000003f 
+ 00025098  0x00003843 store  0x00000001 , 0x000004cd 
+ 00025099  0x00003844 rtnbit1  0x00000003 
+ 00025100  0x00003845 jam  0x00000031 , 0x0000007c 
+ 00025101  0x00003846 branch  0x000060e8 
+ 00025102  0x0000384b rtn 
+ 00025103  0x0000384e fetch  0x00000001 , 0x000040d0 
+ 00025104  0x0000384f fetcht  0x00000001 , 0x0000054e 
+ 00025105  0x00003850 isub  0x00000002 , 0x0000003e 
+ 00025106  0x00003852 branch  0x00006219 , 0x00000002 
+ 00025107  0x00003853 jam  0x00000004 , 0x0000007c 
+ 00025108  0x00003854 jam  0x0000001f , 0x0000007e 
+ 00025109  0x00003855 jam  0x0000002e , 0x0000007d 
+ 00025110  0x00003856 rtn 
+ 00025111  0x00003859 call  0x00006539 
+ 00025112  0x0000385a branch  0x00006219 
+ 00025113  0x0000385d jam  0x00000003 , 0x0000007c 
+ 00025114  0x0000385e rtn 
+ 00025115  0x00003861 jam  0x00000021 , 0x0000007c 
+ 00025116  0x00003862 rtn 
+ 00025117  0x00003865 jam  0x00000022 , 0x0000007c 
+ 00025118  0x00003866 rtn 
+ 00025119  0x00003869 fetch  0x00000001 , 0x00000055 
+ 00025120  0x0000386a rtneq  0x00000013 
+ 00025121  0x0000386c jam  0x00000002 , 0x00000055 
+ 00025122  0x0000386e rtn 
+ 00025123  0x00003872 rtn 
+ 00025124  0x00003875 call  0x000063db 
+ 00025125  0x00003876 jam  0x00000001 , 0x000004d0 
+ 00025126  0x00003877 jam  0x0000000a , 0x00000a95 
+ 00025127  0x00003878 call  0x00007bab 
+ 00025128  0x0000387a call  0x000066d5 
+ 00025129  0x0000387b nbranch  0x000063e3 , 0x00000001 
+ 00025130  0x0000387d nbranch  0x0000622f , 0x00000029 
+ 00025131  0x0000387e jam  0x00000004 , 0x0000007c 
+ 00025132  0x0000387f jam  0x00000008 , 0x0000007d 
+ 00025133  0x00003880 jam  0x00000023 , 0x0000007e 
+ 00025134  0x00003881 rtn 
+ 00025135  0x00003883 fetch  0x00000001 , 0x0000004b 
+ 00025136  0x00003884 set1  0x00000002 , 0x0000003f 
+ 00025137  0x00003885 store  0x00000001 , 0x0000004b 
+ 00025138  0x00003886 rtn 
+ 00025139  0x0000388a fetcht  0x00000001 , 0x0000004c 
+ 00025140  0x0000388b nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00025141  0x0000388c storet  0x00000001 , 0x0000004c 
+ 00025142  0x0000388d rtn 
+ 00025143  0x00003891 fetch  0x00000001 , 0x0000007f 
+ 00025144  0x00003892 rshift  0x0000003f , 0x0000003f 
+ 00025145  0x00003893 and_into  0x00000001 , 0x0000003f 
+ 00025146  0x00003894 rtn 
+ 00025147  0x00003897 fetch  0x00000001 , 0x00004216 
+ 00025148  0x00003898 rtn  0x00000034 
+ 00025149  0x00003899 fetch  0x00000001 , 0x000009b1 
+ 00025150  0x0000389a call  0x000068a4 , 0x00000034 
+ 00025151  0x0000389b rtn 
+ 00025152  0x0000389e call  0x0000623b 
+ 00025153  0x0000389f call  0x00006237 
+ 00025154  0x000038a0 store  0x00000001 , 0x000004d1 
+ 00025155  0x000038a1 call  0x000063db 
+ 00025156  0x000038a2 jam  0x0000000c , 0x0000007c 
+ 00025157  0x000038a3 fetch  0x00000001 , 0x000041be 
+ 00025158  0x000038a4 nrtn  0x00000034 
+ 00025159  0x000038a5 fetch  0x00000001 , 0x00000030 
+ 00025160  0x000038a6 rtnbit1  0x00000006 
+ 00025161  0x000038a7 jam  0x00000006 , 0x0000007e 
+ 00025162  0x000038a8 branch  0x00006134 
+ 00025163  0x000038ab arg  0x00000040 , 0x00000011 
+ 00025164  0x000038ac call  0x00007147 
+ 00025165  0x000038ad fetch  0x00000004 , 0x0000054e 
+ 00025166  0x000038ae fetcht  0x00000004 , 0x0000058e 
+ 00025167  0x000038af isub  0x00000002 , 0x0000003e 
+ 00025168  0x000038b0 branch  0x00006254 , 0x00000005 
+ 00025169  0x000038b1 jam  0x00000007 , 0x0000007c 
+ 00025170  0x000038b2 jam  0x00000005 , 0x000004c6 
+ 00025171  0x000038b3 rtn 
+ 00025172  0x000038b5 call  0x00006258 
+ 00025173  0x000038b6 fetch  0x00000001 , 0x0000462c 
+ 00025174  0x000038b7 branch  0x00006320 , 0x00000034 
+ 00025175  0x000038b8 rtn 
+ 00025176  0x000038bc call  0x0000723c 
+ 00025177  0x000038bd call  0x000041ae 
+ 00025178  0x000038be fetch  0x00000001 , 0x0000004b 
+ 00025179  0x000038bf isolate1  0x00000001 , 0x0000003f 
+ 00025180  0x000038c0 set0  0x00000001 , 0x0000003f 
+ 00025181  0x000038c1 store  0x00000001 , 0x0000004b 
+ 00025182  0x000038c2 fetch  0x00000001 , 0x00000055 
+ 00025183  0x000038c3 beq  0x00000019 , 0x00006262 
+ 00025184  0x000038c4 beq  0x00000018 , 0x00006262 
+ 00025185  0x000038c5 rtn 
+ 00025186  0x000038c7 fetch  0x00000001 , 0x000009b1 
+ 00025187  0x000038c8 rtnne  0x00000000 
+ 00025188  0x000038c9 fetch  0x00000001 , 0x0000004c 
+ 00025189  0x000038ca rtnbit1  0x00000002 
+ 00025190  0x000038cb branch  0x00006793 
+ 00025191  0x000038ce arg  0x0000054e , 0x00000011 
+ 00025192  0x000038cf arg  0x0000057e , 0x00000012 
+ 00025193  0x000038d0 arg  0x0000055e , 0x00000005 
+ 00025194  0x000038d1 call  0x00007208 
+ 00025195  0x000038d2 arg  0x00000040 , 0x00000011 
+ 00025196  0x000038d3 call  0x000066f3 
+ 00025197  0x000038d4 jam  0x0000000b , 0x0000007c 
+ 00025198  0x000038d5 fetch  0x00000001 , 0x00000030 
+ 00025199  0x000038d6 bbit0  0x00000006 , 0x000063de 
+ 00025200  0x000038d7 rtn 
+ 00025201  0x000038da fetch  0x00000002 , 0x0000015d 
+ 00025202  0x000038db add  0x0000003f , 0xfffffffd , 0x00000039 
+ 00025203  0x000038dc fetcht  0x00000001 , 0x0000054e 
+ 00025204  0x000038dd setarg  0x000000ff 
+ 00025205  0x000038de iadd  0x00000002 , 0x00000005 
+ 00025206  0x000038df arg  0x00000550 , 0x00000006 
+ 00025207  0x000038e0 call  0x00007cdc 
+ 00025208  0x000038e1 fetcht  0x00000001 , 0x00000053 
+ 00025209  0x000038e2 fetch  0x00000001 , 0x0000054f 
+ 00025210  0x000038e3 isub  0x00000002 , 0x0000003f 
+ 00025211  0x000038e4 sub  0x0000003f , 0x0000000e , 0x0000003e 
+ 00025212  0x000038e5 branch  0x00006281 , 0x00000002 
+ 00025213  0x000038e6 add  0x00000002 , 0x0000000e , 0x0000003f 
+ 00025214  0x000038e7 store  0x00000001 , 0x00000053 
+ 00025215  0x000038e8 jam  0x00000001 , 0x0000007c 
+ 00025216  0x000038e9 rtn 
+ 00025217  0x000038eb fetch  0x00000001 , 0x0000004c 
+ 00025218  0x000038ec set1  0x00000003 , 0x0000003f 
+ 00025219  0x000038ed store  0x00000001 , 0x0000004c 
+ 00025220  0x000038ee bbit1  0x00000004 , 0x000063e8 
+ 00025221  0x000038ef rtn 
+ 00025222  0x000038f1 fetch  0x00000001 , 0x0000054e 
+ 00025223  0x000038f2 store  0x00000001 , 0x0000007d 
+ 00025224  0x000038f3 jam  0x00000002 , 0x0000007c 
+ 00025225  0x000038f4 rtn 
+ 00025226  0x000038f7 branch  0x00006219 
+ 00025227  0x000038fa jam  0x00000030 , 0x0000007c 
+ 00025228  0x000038fb rtn 
+ 00025229  0x000038fe jam  0x00000028 , 0x0000007c 
+ 00025230  0x000038ff rtn 
+ 00025231  0x00003902 jam  0x00000026 , 0x0000007c 
+ 00025232  0x00003903 rtn 
+ 00025233  0x00003908 rtn 
+ 00025234  0x0000390d fetch  0x00000002 , 0x00000032 
+ 00025235  0x0000390e iforce  0x00000002 
+ 00025236  0x0000390f fetch  0x00000001 , 0x0000054f 
+ 00025237  0x00003910 store  0x00000001 , 0x00000095 
+ 00025238  0x00003911 imul32  0x00000002 , 0x00000002 
+ 00025239  0x00003912 fetch  0x00000002 , 0x00000550 
+ 00025240  0x00003913 lshift  0x0000003f , 0x0000003f 
+ 00025241  0x00003914 store  0x00000002 , 0x00000096 
+ 00025242  0x00003915 fetch  0x00000004 , 0x00000552 
+ 00025243  0x00003916 lshift  0x0000003f , 0x0000003f 
+ 00025244  0x00003917 store  0x00000004 , 0x00000091 
+ 00025245  0x00003919 deposit  0x00000002 
+ 00025246  0x0000391a store  0x00000002 , 0x00000098 
+ 00025247  0x0000391b rtn 
+ 00025248  0x0000391d fetcht  0x00000001 , 0x0000415b 
+ 00025249  0x0000391e fetch  0x00000001 , 0x0000054f 
+ 00025250  0x0000391f ixor  0x00000002 , 0x0000003e 
+ 00025251  0x00003920 nbranch  0x00006158 , 0x00000005 
+ 00025252  0x00003921 isolate1  0x00000000 , 0x0000003f 
+ 00025253  0x00003922 fetch  0x00000001 , 0x0000004c 
+ 00025254  0x00003923 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00025255  0x00003924 store  0x00000001 , 0x0000004c 
+ 00025256  0x00003925 jam  0x00000081 , 0x0000007c 
+ 00025257  0x00003926 jam  0x0000008b , 0x0000007d 
+ 00025258  0x00003927 rtn 
+ 00025259  0x0000392e rtn 
+ 00025260  0x00003931 branch  0x00006219 
+ 00025261  0x00003935 branch  0x00006219 
+ 00025262  0x0000393a fetch  0x00000002 , 0x0000054e 
+ 00025263  0x0000393b store  0x00000002 , 0x0000016f 
+ 00025264  0x0000393c rtn 
+ 00025265  0x0000393f fetch  0x00000002 , 0x00000551 
+ 00025266  0x00003940 fetcht  0x00000001 , 0x00004173 
+ 00025267  0x00003941 imul32  0x00000002 , 0x0000003f 
+ 00025268  0x00003942 arg  0x00000640 , 0x00000002 
+ 00025269  0x00003943 isub  0x00000002 , 0x0000003e 
+ 00025270  0x00003945 rtn 
+ 00025271  0x00003948 branch  0x000062d2 
+ 00025272  0x00003949 fetch  0x00000002 , 0x00000553 
+ 00025273  0x0000394a branch  0x000062d2 , 0x00000034 
+ 00025274  0x0000394b call  0x000062b1 
+ 00025275  0x0000394c branch  0x000062d2 , 0x00000002 
+ 00025276  0x0000394d fetch  0x00000001 , 0x00004092 
+ 00025277  0x0000394e sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00025278  0x0000394f call  0x000050c1 , 0x00000005 
+ 00025279  0x00003950 fetch  0x00000001 , 0x00000030 
+ 00025280  0x00003951 bbit1  0x00000001 , 0x000062d2 
+ 00025281  0x00003952 fetch  0x00000002 , 0x0000054f 
+ 00025282  0x00003953 lshift  0x0000003f , 0x0000003f 
+ 00025283  0x00003954 store  0x00000002 , 0x00000075 
+ 00025284  0x00003955 fetch  0x00000002 , 0x00000551 
+ 00025285  0x00003956 lshift  0x0000003f , 0x0000003f 
+ 00025286  0x00003957 store  0x00000002 , 0x00000032 
+ 00025287  0x00003958 fetch  0x00000002 , 0x00000553 
+ 00025288  0x00003959 store  0x00000001 , 0x00000073 
+ 00025289  0x0000395a iforce  0x00000002 
+ 00025290  0x0000395b fetch  0x00000002 , 0x00000555 
+ 00025291  0x0000395c store  0x00000001 , 0x00000074 
+ 00025292  0x0000395d isub  0x00000002 , 0x0000003e 
+ 00025293  0x0000395e nbranch  0x000062cf , 0x00000002 
+ 00025294  0x0000395f store  0x00000001 , 0x00000073 
+ 00025295  0x00003962 jam  0x00000003 , 0x0000007c 
+ 00025296  0x00003963 jam  0x00000017 , 0x0000007d 
+ 00025297  0x00003964 rtn 
+ 00025298  0x00003967 jam  0x00000024 , 0x0000007e 
+ 00025299  0x00003968 branch  0x00006134 
+ 00025300  0x0000396b call  0x00006219 
+ 00025301  0x0000396c call  0x000063db 
+ 00025302  0x0000396d call  0x0000714a 
+ 00025303  0x0000396e branch  0x000046b4 
+ 00025304  0x00003971 call  0x00006219 
+ 00025305  0x00003972 branch  0x000046bc 
+ 00025306  0x00003976 fetch  0x00000004 , 0x0000054e 
+ 00025307  0x00003977 lshift  0x0000003f , 0x0000003f 
+ 00025308  0x00003979 branch  0x000062e6 , 0x00000029 
+ 00025309  0x0000397a fetcht  0x00000001 , 0x000041be 
+ 00025310  0x0000397b nbranch  0x000062e3 , 0x00000034 
+ 00025311  0x0000397d jam  0x00000004 , 0x0000007c 
+ 00025312  0x0000397e jam  0x00000013 , 0x0000007d 
+ 00025313  0x0000397f jam  0x00000024 , 0x0000007e 
+ 00025314  0x00003980 rtn 
+ 00025315  0x00003982 jam  0x00000034 , 0x0000007c 
+ 00025316  0x00003983 jam  0x00000000 , 0x00000055 
+ 00025317  0x00003984 branch  0x000041d5 
+ 00025318  0x00003987 call  0x000041d5 
+ 00025319  0x00003988 set1  0x00000022 , 0x00000000 
+ 00025320  0x00003989 fetch  0x00000001 , 0x0000016b 
+ 00025321  0x0000398a set0  0x00000002 , 0x0000003f 
+ 00025322  0x0000398b store  0x00000001 , 0x0000016b 
+ 00025323  0x0000398c branch  0x00006219 
+ 00025324  0x00003995 rtn 
+ 00025325  0x00003999 jam  0x00000003 , 0x0000007c 
+ 00025326  0x0000399a jam  0x00000018 , 0x0000007d 
+ 00025327  0x0000399b jam  0x0000002e , 0x00000a95 
+ 00025328  0x0000399c call  0x00007bab 
+ 00025329  0x0000399d branch  0x000046e5 
+ 00025330  0x000039a0 fetch  0x00000001 , 0x0000054e 
+ 00025331  0x000039a1 bne  0x00000001 , 0x000062fe 
+ 00025332  0x000039a2 fetch  0x00000001 , 0x0000054f 
+ 00025333  0x000039a3 bne  0x00000001 , 0x000062fe 
+ 00025334  0x000039a4 fetch  0x00000001 , 0x00000550 
+ 00025335  0x000039a5 bne  0x00000030 , 0x000062fe 
+ 00025336  0x000039a6 call  0x000066de 
+ 00025337  0x000039a7 branch  0x000062fb , 0x00000001 
+ 00025338  0x000039a8 jam  0x00000001 , 0x000009aa 
+ 00025339  0x000039aa jam  0x00000003 , 0x0000007c 
+ 00025340  0x000039ab jam  0x0000003d , 0x0000007d 
+ 00025341  0x000039ac branch  0x000060e8 
+ 00025342  0x000039af jam  0x00000024 , 0x0000007e 
+ 00025343  0x000039b0 branch  0x00006134 
+ 00025344  0x000039b5 jam  0x0000003e , 0x0000007c 
+ 00025345  0x000039b7 rtn 
+ 00025346  0x000039b9 fetch  0x00000001 , 0x00004634 
+ 00025347  0x000039ba beq  0x00000001 , 0x00006309 
+ 00025348  0x000039bb beq  0x00000002 , 0x0000630d 
+ 00025349  0x000039bd call  0x000066de 
+ 00025350  0x000039be rtn  0x00000001 
+ 00025351  0x000039bf jam  0x00000008 , 0x000009aa 
+ 00025352  0x000039c0 rtn 
+ 00025353  0x000039c3 call  0x00007817 
+ 00025354  0x000039c4 jam  0x00000035 , 0x00000a95 
+ 00025355  0x000039c5 call  0x00007bab 
+ 00025356  0x000039c6 branch  0x00006305 
+ 00025357  0x000039ca call  0x000066de 
+ 00025358  0x000039cb rtn  0x00000001 
+ 00025359  0x000039cc fetch  0x00000001 , 0x00004635 
+ 00025360  0x000039cd beq  0x00000013 , 0x0000631d 
+ 00025361  0x000039ce increase  0x00000001 , 0x0000003f 
+ 00025362  0x000039cf store  0x00000001 , 0x00004635 
+ 00025363  0x000039d3 jam  0x00000001 , 0x000009ac 
+ 00025364  0x000039d4 jam  0x00000004 , 0x000009aa 
+ 00025365  0x000039d5 fetch  0x00000001 , 0x00004635 
+ 00025366  0x000039d6 copy  0x0000003f , 0x00000007 
+ 00025367  0x000039d7 fetch  0x00000006 , 0x00004658 
+ 00025368  0x000039d8 qisolate1  0x0000003f 
+ 00025369  0x000039d9 setarg  0x00000080 
+ 00025370  0x000039da setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025371  0x000039db store  0x00000001 , 0x00004636 
+ 00025372  0x000039dc rtn 
+ 00025373  0x000039df jam  0x00000008 , 0x000009aa 
+ 00025374  0x000039e0 rtn 
+ 00025375  0x000039e3 call  0x00006325 
+ 00025376  0x000039e5 fetch  0x00000001 , 0x00004637 
+ 00025377  0x000039e6 rtn  0x00000034 
+ 00025378  0x000039e7 jam  0x00000000 , 0x00004637 
+ 00025379  0x000039e8 jam  0x00000038 , 0x00000a95 
+ 00025380  0x000039e9 branch  0x00007bab 
+ 00025381  0x000039ee call  0x000066de 
+ 00025382  0x000039ef ncall  0x0000781a , 0x00000001 
+ 00025383  0x000039f0 call  0x0000782a , 0x00000001 
+ 00025384  0x000039f1 call  0x000066de 
+ 00025385  0x000039f2 rtn  0x00000001 
+ 00025386  0x000039f3 jam  0x0000000c , 0x000009aa 
+ 00025387  0x000039f4 jam  0x00000001 , 0x000009ac 
+ 00025388  0x000039f5 rtn 
+ 00025389  0x000039f8 arg  0x00000a6a , 0x00000005 
+ 00025390  0x000039f9 arg  0x0000054e , 0x00000006 
+ 00025391  0x000039fa call  0x00007c9a 
+ 00025392  0x000039fb fetch  0x00000001 , 0x00004634 
+ 00025393  0x000039fc rtneq  0x00000002 
+ 00025394  0x000039fd branch  0x0000758d 
+ 00025395  0x00003a00 fetch  0x00000001 , 0x000009ab 
+ 00025396  0x00003a01 beq  0x00000007 , 0x00006337 
+ 00025397  0x00003a02 fetch  0x00000001 , 0x000009aa 
+ 00025398  0x00003a03 bne  0x00000001 , 0x0000634a 
+ 00025399  0x00003a05 fetch  0x00000001 , 0x000009b3 
+ 00025400  0x00003a06 sub  0x0000003f , 0x00000020 , 0x00000005 
+ 00025401  0x00003a07 nbranch  0x0000634a , 0x00000002 
+ 00025402  0x00003a08 arg  0x000009c2 , 0x00000005 
+ 00025403  0x00003a09 iadd  0x00000005 , 0x00000005 
+ 00025404  0x00003a0a fetch  0x00000008 , 0x0000054e 
+ 00025405  0x00003a0b istore  0x00000008 , 0x00000005 
+ 00025406  0x00003a0c fetch  0x00000008 , 0x00000556 
+ 00025407  0x00003a0d istore  0x00000008 , 0x00000005 
+ 00025408  0x00003a0e fetch  0x00000001 , 0x000009b3 
+ 00025409  0x00003a0f increase  0x00000010 , 0x0000003f 
+ 00025410  0x00003a10 store  0x00000001 , 0x000009b3 
+ 00025411  0x00003a11 bne  0x00000030 , 0x00006219 
+ 00025412  0x00003a13 call  0x000066de 
+ 00025413  0x00003a14 branch  0x00006219 , 0x00000001 
+ 00025414  0x00003a15 jam  0x00000001 , 0x000009b4 
+ 00025415  0x00003a16 jam  0x00000002 , 0x000009aa 
+ 00025416  0x00003a17 jam  0x00000001 , 0x000009ac 
+ 00025417  0x00003a18 branch  0x00006219 
+ 00025418  0x00003a1a jam  0x00000024 , 0x0000007e 
+ 00025419  0x00003a1b branch  0x00006134 
+ 00025420  0x00003a1d fetch  0x00000001 , 0x000009b2 
+ 00025421  0x00003a1e beq  0x00000030 , 0x00006350 
+ 00025422  0x00003a1f jam  0x0000003e , 0x0000007c 
+ 00025423  0x00003a20 branch  0x000060e8 
+ 00025424  0x00003a23 call  0x000066de 
+ 00025425  0x00003a24 branch  0x00006359 , 0x00000001 
+ 00025426  0x00003a25 fetch  0x00000001 , 0x00004634 
+ 00025427  0x00003a26 beq  0x00000002 , 0x00006357 
+ 00025428  0x00003a27 jam  0x00000001 , 0x000009ac 
+ 00025429  0x00003a28 jam  0x00000004 , 0x000009aa 
+ 00025430  0x00003a29 branch  0x000060e8 
+ 00025431  0x00003a2c jam  0x00000036 , 0x00000a95 
+ 00025432  0x00003a2d branch  0x00007bab 
+ 00025433  0x00003a32 branch  0x000060e8 
+ 00025434  0x00003a35 fetch  0x00000001 , 0x000009ab 
+ 00025435  0x00003a36 beq  0x00000007 , 0x0000635e 
+ 00025436  0x00003a37 fetch  0x00000001 , 0x000009aa 
+ 00025437  0x00003a38 bne  0x00000006 , 0x0000636a 
+ 00025438  0x00003a3a arg  0x00000a2a , 0x00000005 
+ 00025439  0x00003a3b fetch  0x00000008 , 0x0000054e 
+ 00025440  0x00003a3c istore  0x00000008 , 0x00000005 
+ 00025441  0x00003a3d fetch  0x00000008 , 0x00000556 
+ 00025442  0x00003a3e istore  0x00000008 , 0x00000005 
+ 00025443  0x00003a3f call  0x000066de 
+ 00025444  0x00003a40 branch  0x00006368 , 0x00000001 
+ 00025445  0x00003a41 jam  0x00000007 , 0x000009aa 
+ 00025446  0x00003a42 jam  0x00000001 , 0x000009ac 
+ 00025447  0x00003a43 branch  0x00006219 
+ 00025448  0x00003a45 jam  0x00000004 , 0x000009ab 
+ 00025449  0x00003a46 branch  0x0000758d 
+ 00025450  0x00003a4a jam  0x00000024 , 0x0000007e 
+ 00025451  0x00003a4b branch  0x00006134 
+ 00025452  0x00003a4e fetch  0x00000001 , 0x000009ab 
+ 00025453  0x00003a4f beq  0x0000000b , 0x00006370 
+ 00025454  0x00003a50 fetch  0x00000001 , 0x000009aa 
+ 00025455  0x00003a51 bne  0x00000008 , 0x0000637f 
+ 00025456  0x00003a53 arg  0x00000a5a , 0x00000005 
+ 00025457  0x00003a54 arg  0x0000054e , 0x00000006 
+ 00025458  0x00003a55 call  0x00007c9a 
+ 00025459  0x00003a56 call  0x000066de 
+ 00025460  0x00003a57 branch  0x0000637c , 0x00000001 
+ 00025461  0x00003a58 fetch  0x00000001 , 0x00004634 
+ 00025462  0x00003a59 beq  0x00000001 , 0x00006381 
+ 00025463  0x00003a5b jam  0x00000000 , 0x00004633 
+ 00025464  0x00003a5c jam  0x00000009 , 0x000009aa 
+ 00025465  0x00003a5d jam  0x00000001 , 0x000009ac 
+ 00025466  0x00003a5e jam  0x00000041 , 0x0000007d 
+ 00025467  0x00003a5f branch  0x000060e8 
+ 00025468  0x00003a62 jam  0x00000009 , 0x000009ab 
+ 00025469  0x00003a63 jam  0x00000001 , 0x000009ad 
+ 00025470  0x00003a64 branch  0x000060e8 
+ 00025471  0x00003a66 jam  0x00000024 , 0x0000007e 
+ 00025472  0x00003a67 branch  0x00006134 
+ 00025473  0x00003a6a fetch  0x00000001 , 0x00004633 
+ 00025474  0x00003a6b bbit1  0x00000007 , 0x00006386 
+ 00025475  0x00003a6c set1  0x00000006 , 0x0000003f 
+ 00025476  0x00003a6d store  0x00000001 , 0x00004633 
+ 00025477  0x00003a6e rtn 
+ 00025478  0x00003a71 bbit1  0x00000000 , 0x00006377 
+ 00025479  0x00003a72 jam  0x00000000 , 0x00004633 
+ 00025480  0x00003a73 branch  0x0000637f 
+ 00025481  0x00003a77 branch  0x000060e8 
+ 00025482  0x00003a7a fetch  0x00000001 , 0x0000016b 
+ 00025483  0x00003a7b set0  0x00000001 
+ 00025484  0x00003a7c store  0x00000001 , 0x0000016b 
+ 00025485  0x00003a7d call  0x00006219 
+ 00025486  0x00003a7e nrtn  0x00000029 
+ 00025487  0x00003a7f fetch  0x00000001 , 0x0000054e 
+ 00025488  0x00003a80 fetcht  0x00000001 , 0x0000004b 
+ 00025489  0x00003a81 setflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00025490  0x00003a82 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00025491  0x00003a83 storet  0x00000001 , 0x0000004b 
+ 00025492  0x00003a84 rtn 
+ 00025493  0x00003a87 fetcht  0x00000008 , 0x0000054e 
+ 00025494  0x00003a89 fetch  0x00000001 , 0x00000055 
+ 00025495  0x00003a8a rtnne  0x00000003 
+ 00025496  0x00003a8c fetch  0x00000001 , 0x0000016b 
+ 00025497  0x00003a8d bbit0  0x00000004 , 0x0000639c 
+ 00025498  0x00003a8f jam  0x00000014 , 0x00000055 
+ 00025499  0x00003a90 rtn 
+ 00025500  0x00003a92 jam  0x00000004 , 0x00000055 
+ 00025501  0x00003a93 rtn 
+ 00025502  0x00003a95 fetch  0x00000001 , 0x0000017d 
+ 00025503  0x00003a96 store  0x00000001 , 0x00000159 
+ 00025504  0x00003a97 jam  0x00000003 , 0x0000007c 
+ 00025505  0x00003a98 jam  0x00000038 , 0x0000007d 
+ 00025506  0x00003a99 rtn 
+ 00025507  0x00003a9d jam  0x00000003 , 0x0000007c 
+ 00025508  0x00003a9e jam  0x00000039 , 0x0000007d 
+ 00025509  0x00003a9f force  0x00000009 , 0x00000039 
+ 00025510  0x00003aa0 arg  0x0000054e , 0x00000006 
+ 00025511  0x00003aa1 arg  0x00000150 , 0x00000005 
+ 00025512  0x00003aa3 ifetch  0x00000001 , 0x00000006 
+ 00025513  0x00003aa4 xor_into  0x00000055 , 0x0000003f 
+ 00025514  0x00003aa5 istore  0x00000001 , 0x00000005 
+ 00025515  0x00003aa6 loop  0x000063a8 
+ 00025516  0x00003aa7 fetch  0x00000001 , 0x00000150 
+ 00025517  0x00003aa8 fetcht  0x00000001 , 0x0000014f 
+ 00025518  0x00003aa9 set0  0x00000007 , 0x00000002 
+ 00025519  0x00003aaa set0  0x00000004 , 0x00000002 
+ 00025520  0x00003aab beq  0x000000ff , 0x000063bc 
+ 00025521  0x00003aac beq  0x00000000 , 0x000063d5 
+ 00025522  0x00003aad beq  0x00000005 , 0x000063c9 
+ 00025523  0x00003aae beq  0x00000007 , 0x000063c8 
+ 00025524  0x00003aaf beq  0x00000006 , 0x000063c9 
+ 00025525  0x00003ab0 beq  0x00000008 , 0x000063c8 
+ 00025526  0x00003ab1 beq  0x00000001 , 0x000063c1 
+ 00025527  0x00003ab2 beq  0x00000002 , 0x000063c1 
+ 00025528  0x00003ab3 beq  0x00000003 , 0x000063c1 
+ 00025529  0x00003ab4 beq  0x00000009 , 0x000063c1 
+ 00025530  0x00003ab5 beq  0x00000004 , 0x000063c1 
+ 00025531  0x00003ab6 rtn 
+ 00025532  0x00003ab9 fetch  0x00000001 , 0x0000014f 
+ 00025533  0x00003aba set1  0x00000003 , 0x0000003f 
+ 00025534  0x00003abb set1  0x00000002 , 0x0000003f 
+ 00025535  0x00003abc store  0x00000001 , 0x0000014f 
+ 00025536  0x00003abd rtn 
+ 00025537  0x00003abf set1  0x00000004 , 0x00000002 
+ 00025538  0x00003ac0 jam  0x00000005 , 0x0000017e 
+ 00025539  0x00003ac1 fetch  0x00000002 , 0x00000157 
+ 00025540  0x00003ac2 iforce  0x00000039 
+ 00025541  0x00003ac3 store  0x00000002 , 0x0000015d 
+ 00025542  0x00003ac4 arg  0x0000054d , 0x00000005 
+ 00025543  0x00003ac5 call  0x00007d4e 
+ 00025544  0x00003ac7 set1  0x00000007 , 0x00000002 
+ 00025545  0x00003ac9 set1  0x00000002 , 0x00000002 
+ 00025546  0x00003aca force  0x00000000 , 0x0000003f 
+ 00025547  0x00003acb store  0x00000001 , 0x0000000b 
+ 00025548  0x00003acc store  0x00000002 , 0x000000f8 
+ 00025549  0x00003acd store  0x00000002 , 0x000000fa 
+ 00025550  0x00003ace store  0x00000002 , 0x000000f6 
+ 00025551  0x00003acf store  0x00000002 , 0x000000f4 
+ 00025552  0x00003ad0 fetch  0x00000001 , 0x00000151 
+ 00025553  0x00003ad1 compare  0x00000000 , 0x0000003f , 0x000000ff 
+ 00025554  0x00003ad2 setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00025555  0x00003ad3 storet  0x00000001 , 0x0000014f 
+ 00025556  0x00003ad4 rtn 
+ 00025557  0x00003ad7 set0  0x00000011 , 0x00000000 
+ 00025558  0x00003ad8 jam  0x00000000 , 0x0000014f 
+ 00025559  0x00003ad9 fetch  0x00000001 , 0x0000017d 
+ 00025560  0x00003ada set0  0x00000006 , 0x0000003f 
+ 00025561  0x00003adb store  0x00000001 , 0x0000017d 
+ 00025562  0x00003adc rtn 
+ 00025563  0x00003ae3 arg  0x0000054e , 0x00000006 
+ 00025564  0x00003ae4 arg  0x0000055e , 0x00000005 
+ 00025565  0x00003ae5 branch  0x00007c9a 
+ 00025566  0x00003ae8 jam  0x00000009 , 0x0000007c 
+ 00025567  0x00003ae9 rtn 
+ 00025568  0x00003aec nrtn  0x00000029 
+ 00025569  0x00003aed jam  0x00000011 , 0x0000007c 
+ 00025570  0x00003aee rtn 
+ 00025571  0x00003af1 arg  0x000040a0 , 0x00000011 
+ 00025572  0x00003af2 call  0x00007114 
+ 00025573  0x00003af3 jam  0x00000003 , 0x0000007c 
+ 00025574  0x00003af4 jam  0x00000008 , 0x0000007d 
+ 00025575  0x00003af5 rtn 
+ 00025576  0x00003af8 jam  0x0000000a , 0x00000072 
+ 00025577  0x00003af9 jam  0x00000007 , 0x0000007c 
+ 00025578  0x00003afa jam  0x00000016 , 0x000004c6 
+ 00025579  0x00003afb rtn 
+ 00025580  0x00003b02 bpatchx  0x0000003e , 0x00004027 
+ 00025581  0x00003b03 disable  0x00000028 
+ 00025582  0x00003b04 call  0x000066a3 
+ 00025583  0x00003b05 fetch  0x00000001 , 0x00000048 
+ 00025584  0x00003b06 rtn  0x00000034 
+ 00025585  0x00003b0b bbit1  0x00000007 , 0x00006421 
+ 00025586  0x00003b0d beq  0x00000001 , 0x00006551 
+ 00025587  0x00003b0e beq  0x00000002 , 0x000064c6 
+ 00025588  0x00003b0f beq  0x00000003 , 0x0000642c 
+ 00025589  0x00003b10 beq  0x00000004 , 0x00006442 
+ 00025590  0x00003b11 beq  0x00000027 , 0x000065bd 
+ 00025591  0x00003b12 beq  0x00000028 , 0x000064ea 
+ 00025592  0x00003b13 beq  0x00000030 , 0x000064d6 
+ 00025593  0x00003b14 beq  0x00000025 , 0x000065b8 
+ 00025594  0x00003b15 beq  0x00000026 , 0x000064e5 
+ 00025595  0x00003b16 beq  0x00000031 , 0x000065a5 
+ 00025596  0x00003b17 beq  0x00000037 , 0x0000654c 
+ 00025597  0x00003b18 beq  0x00000033 , 0x0000653e 
+ 00025598  0x00003b19 beq  0x00000008 , 0x0000663b 
+ 00025599  0x00003b1a beq  0x00000009 , 0x00006631 
+ 00025600  0x00003b1b beq  0x0000000b , 0x00006646 
+ 00025601  0x00003b1c beq  0x0000000c , 0x0000664f 
+ 00025602  0x00003b1d beq  0x0000000f , 0x00006544 
+ 00025603  0x00003b1e beq  0x00000010 , 0x00006674 
+ 00025604  0x00003b1f beq  0x00000011 , 0x0000666a 
+ 00025605  0x00003b20 beq  0x00000007 , 0x00006534 
+ 00025606  0x00003b21 beq  0x0000002a , 0x00006560 
+ 00025607  0x00003b22 beq  0x0000000a , 0x00006561 
+ 00025608  0x00003b24 beq  0x0000001f , 0x0000659e 
+ 00025609  0x00003b25 beq  0x00000006 , 0x000064db 
+ 00025610  0x00003b26 beq  0x00000021 , 0x00006541 
+ 00025611  0x00003b27 beq  0x0000002d , 0x00006594 
+ 00025612  0x00003b28 beq  0x0000002e , 0x00006599 
+ 00025613  0x00003b29 beq  0x00000022 , 0x00006541 
+ 00025614  0x00003b2a beq  0x00000034 , 0x00006562 
+ 00025615  0x00003b2b beq  0x00000013 , 0x00006577 
+ 00025616  0x00003b2c beq  0x00000017 , 0x00006586 
+ 00025617  0x00003b2d beq  0x00000012 , 0x00006671 
+ 00025618  0x00003b2e beq  0x0000002f , 0x0000658c 
+ 00025619  0x00003b2f beq  0x00000018 , 0x00006591 
+ 00025620  0x00003b30 beq  0x0000003d , 0x000065e1 
+ 00025621  0x00003b31 beq  0x0000003e , 0x000065ed 
+ 00025622  0x00003b32 beq  0x0000003f , 0x000065ff 
+ 00025623  0x00003b33 beq  0x00000040 , 0x00006609 
+ 00025624  0x00003b34 beq  0x00000041 , 0x0000661e 
+ 00025625  0x00003b35 beq  0x00000023 , 0x0000662d 
+ 00025626  0x00003b36 beq  0x0000003b , 0x00006628 
+ 00025627  0x00003b38 beq  0x00000005 , 0x0000662e 
+ 00025628  0x00003b39 beq  0x00000029 , 0x0000662f 
+ 00025629  0x00003b3a beq  0x00000038 , 0x00006630 
+ 00025630  0x00003b3b beq  0x00000039 , 0x00006557 
+ 00025631  0x00003b3d branch  0x00004a8b 
+ 00025632  0x00003b3e rtn 
+ 00025633  0x00003b40 beq  0x00000081 , 0x0000644f 
+ 00025634  0x00003b41 beq  0x00000084 , 0x0000647b 
+ 00025635  0x00003b42 beq  0x00000082 , 0x00006458 
+ 00025636  0x00003b43 beq  0x00000083 , 0x000064ef 
+ 00025637  0x00003b44 beq  0x0000008b , 0x000064fa 
+ 00025638  0x00003b45 beq  0x00000097 , 0x00006530 
+ 00025639  0x00003b46 beq  0x00000099 , 0x000064b7 
+ 00025640  0x00003b47 beq  0x0000009a , 0x00006486 
+ 00025641  0x00003b48 beq  0x00000095 , 0x000064bc 
+ 00025642  0x00003b49 beq  0x00000096 , 0x000064bd 
+ 00025643  0x00003b4a branch  0x00004a8b 
+ 00025644  0x00003b51 force  0x00000002 , 0x0000003f 
+ 00025645  0x00003b52 call  0x0000667a 
+ 00025646  0x00003b53 fetch  0x00000001 , 0x00000049 
+ 00025647  0x00003b54 istore  0x00000001 , 0x00000005 
+ 00025648  0x00003b55 call  0x00006689 
+ 00025649  0x00003b56 bpatchx  0x0000003f , 0x00004027 
+ 00025650  0x00003b57 fetch  0x00000001 , 0x00000049 
+ 00025651  0x00003b58 beq  0x00000008 , 0x00006462 
+ 00025652  0x00003b59 beq  0x0000000f , 0x00006466 
+ 00025653  0x00003b5a beq  0x00000010 , 0x00006471 
+ 00025654  0x00003b5b beq  0x00000017 , 0x00006441 
+ 00025655  0x00003b5c beq  0x00000033 , 0x00006474 
+ 00025656  0x00003b5d beq  0x00000041 , 0x0000647a 
+ 00025657  0x00003b5e beq  0x00000011 , 0x0000643b 
+ 00025658  0x00003b5f rtn 
+ 00025659  0x00003b62 fetch  0x00000001 , 0x00000055 
+ 00025660  0x00003b63 rtn  0x00000034 
+ 00025661  0x00003b64 jam  0x0000001b , 0x00000055 
+ 00025662  0x00003b65 setarg  0x0000000c 
+ 00025663  0x00003b66 arg  0x00000007 , 0x00000007 
+ 00025664  0x00003b67 branch  0x00007ce3 
+ 00025665  0x00003b6a branch  0x000046c2 
+ 00025666  0x00003b6c force  0x00000003 , 0x0000003f 
+ 00025667  0x00003b6d call  0x0000667a 
+ 00025668  0x00003b6e fetch  0x00000001 , 0x00000049 
+ 00025669  0x00003b6f beq  0x0000000b , 0x0000644a 
+ 00025670  0x00003b70 istore  0x00000001 , 0x00000005 
+ 00025671  0x00003b71 fetch  0x00000001 , 0x0000004a 
+ 00025672  0x00003b72 istore  0x00000001 , 0x00000005 
+ 00025673  0x00003b73 branch  0x00006689 
+ 00025674  0x00003b76 istore  0x00000001 , 0x00000005 
+ 00025675  0x00003b77 fetch  0x00000001 , 0x0000004a 
+ 00025676  0x00003b78 istore  0x00000001 , 0x00000005 
+ 00025677  0x00003b79 arg  0x000004d1 , 0x00000002 
+ 00025678  0x00003b7a branch  0x000066c4 
+ 00025679  0x00003b7d force  0x00000004 , 0x00000007 
+ 00025680  0x00003b7e call  0x00006682 
+ 00025681  0x00003b7f setarg  0x0000007f 
+ 00025682  0x00003b80 istore  0x00000001 , 0x00000005 
+ 00025683  0x00003b81 fetch  0x00000001 , 0x00000049 
+ 00025684  0x00003b82 set0  0x00000007 , 0x0000003f 
+ 00025685  0x00003b83 istore  0x00000001 , 0x00000005 
+ 00025686  0x00003b84 fetch  0x00000001 , 0x00000049 
+ 00025687  0x00003b85 branch  0x00006689 
+ 00025688  0x00003b88 force  0x00000005 , 0x00000007 
+ 00025689  0x00003b89 call  0x00006682 
+ 00025690  0x00003b8a setarg  0x0000007f 
+ 00025691  0x00003b8b istore  0x00000001 , 0x00000005 
+ 00025692  0x00003b8c fetch  0x00000001 , 0x00000049 
+ 00025693  0x00003b8d set0  0x00000007 , 0x0000003f 
+ 00025694  0x00003b8e istore  0x00000001 , 0x00000005 
+ 00025695  0x00003b8f fetch  0x00000001 , 0x0000004a 
+ 00025696  0x00003b90 istore  0x00000001 , 0x00000005 
+ 00025697  0x00003b91 branch  0x00006689 
+ 00025698  0x00003b95 call  0x0000444b 
+ 00025699  0x00003b96 call  0x000066d5 
+ 00025700  0x00003b97 rtn  0x00000001 
+ 00025701  0x00003b98 branch  0x000063de 
+ 00025702  0x00003b9b fetch  0x00000001 , 0x0000004b 
+ 00025703  0x00003b9c bbit1  0x00000005 , 0x0000646d 
+ 00025704  0x00003b9d rtnbit0  0x00000004 
+ 00025705  0x00003b9e jam  0x00000012 , 0x0000007c 
+ 00025706  0x00003b9f set0  0x00000004 , 0x0000003f 
+ 00025707  0x00003ba0 call  0x000066cd 
+ 00025708  0x00003ba1 branch  0x0000646f 
+ 00025709  0x00003ba3 jam  0x00000010 , 0x0000007c 
+ 00025710  0x00003ba4 set0  0x00000005 , 0x0000003f 
+ 00025711  0x00003ba6 store  0x00000001 , 0x0000004b 
+ 00025712  0x00003ba7 rtn 
+ 00025713  0x00003baa call  0x000066de 
+ 00025714  0x00003bab branch  0x000063e0 , 0x00000001 
+ 00025715  0x00003bac rtn 
+ 00025716  0x00003baf jam  0x0000008b , 0x0000007c 
+ 00025717  0x00003bb1 fetch  0x00000001 , 0x000004cd 
+ 00025718  0x00003bb2 set1  0x00000000 , 0x0000003f 
+ 00025719  0x00003bb3 store  0x00000001 , 0x000004cd 
+ 00025720  0x00003bb4 jam  0x00000001 , 0x00000a95 
+ 00025721  0x00003bb5 branch  0x00007bab 
+ 00025722  0x00003bb9 rtn 
+ 00025723  0x00003bbe force  0x0000000c , 0x00000007 
+ 00025724  0x00003bbf call  0x00006682 
+ 00025725  0x00003bc0 setarg  0x00000001 
+ 00025726  0x00003bc1 istore  0x00000001 , 0x00000005 
+ 00025727  0x00003bc2 fetch  0x00000002 , 0x000004ca 
+ 00025728  0x00003bc3 istore  0x00000002 , 0x00000005 
+ 00025729  0x00003bc4 setarg  0x00000000 
+ 00025730  0x00003bc5 istore  0x00000003 , 0x00000005 
+ 00025731  0x00003bc6 setarg  0x00000000 
+ 00025732  0x00003bc7 istore  0x00000004 , 0x00000005 
+ 00025733  0x00003bc8 branch  0x00006692 
+ 00025734  0x00003bca force  0x00000005 , 0x00000007 
+ 00025735  0x00003bcb call  0x00006682 
+ 00025736  0x00003bcc fetch  0x00000003 , 0x0000462d 
+ 00025737  0x00003bcd istore  0x00000003 , 0x00000005 
+ 00025738  0x00003bce call  0x00006692 
+ 00025739  0x00003bcf jam  0x00000001 , 0x00004637 
+ 00025740  0x00003bd0 fetch  0x00000001 , 0x0000462d 
+ 00025741  0x00003bd1 beq  0x00000001 , 0x00006497 
+ 00025742  0x00003bd2 beq  0x00000002 , 0x00006491 
+ 00025743  0x00003bd3 beq  0x00000003 , 0x0000649d 
+ 00025744  0x00003bd4 rtn 
+ 00025745  0x00003bd7 fetch  0x00000001 , 0x00004630 
+ 00025746  0x00003bd8 beq  0x00000000 , 0x000064a9 
+ 00025747  0x00003bd9 beq  0x00000001 , 0x000064a9 
+ 00025748  0x00003bda beq  0x00000002 , 0x000064a9 
+ 00025749  0x00003bdb beq  0x00000003 , 0x000064a3 
+ 00025750  0x00003bdc rtn 
+ 00025751  0x00003be0 fetch  0x00000001 , 0x00004630 
+ 00025752  0x00003be1 beq  0x00000000 , 0x000064a3 
+ 00025753  0x00003be2 beq  0x00000001 , 0x000064a7 
+ 00025754  0x00003be3 beq  0x00000002 , 0x000064a9 
+ 00025755  0x00003be4 beq  0x00000003 , 0x000064a3 
+ 00025756  0x00003be5 rtn 
+ 00025757  0x00003be9 fetch  0x00000001 , 0x00004630 
+ 00025758  0x00003bea beq  0x00000000 , 0x000064a3 
+ 00025759  0x00003beb beq  0x00000001 , 0x000064a3 
+ 00025760  0x00003bec beq  0x00000002 , 0x000064a3 
+ 00025761  0x00003bed beq  0x00000003 , 0x000064a3 
+ 00025762  0x00003bee rtn 
+ 00025763  0x00003bf8 jam  0x00000003 , 0x00004634 
+ 00025764  0x00003bf9 fetch  0x00000001 , 0x0000452e 
+ 00025765  0x00003bfa bbit1  0x00000000 , 0x00004d64 
+ 00025766  0x00003bfb rtn 
+ 00025767  0x00003bff jam  0x00000001 , 0x00004634 
+ 00025768  0x00003c00 rtn 
+ 00025769  0x00003c07 jam  0x00000002 , 0x00004634 
+ 00025770  0x00003c08 rtn 
+ 00025771  0x00003c0c arg  0x00000000 , 0x00000007 
+ 00025772  0x00003c0d branch  0x000064af 
+ 00025773  0x00003c10 arg  0x00000000 , 0x00000007 
+ 00025774  0x00003c11 branch  0x000064b3 
+ 00025775  0x00003c14 fetch  0x00000001 , 0x0000452e 
+ 00025776  0x00003c15 qset1  0x0000003f 
+ 00025777  0x00003c16 store  0x00000001 , 0x0000452e 
+ 00025778  0x00003c17 rtn 
+ 00025779  0x00003c1a fetch  0x00000001 , 0x0000452e 
+ 00025780  0x00003c1b qset0  0x0000003f 
+ 00025781  0x00003c1c store  0x00000001 , 0x0000452e 
+ 00025782  0x00003c1d rtn 
+ 00025783  0x00003c21 force  0x00000005 , 0x00000007 
+ 00025784  0x00003c22 call  0x00006682 
+ 00025785  0x00003c23 fetch  0x00000003 , 0x0000462d 
+ 00025786  0x00003c24 istore  0x00000003 , 0x00000005 
+ 00025787  0x00003c25 branch  0x00006694 
+ 00025788  0x00003c2a rtn 
+ 00025789  0x00003c2c force  0x00000009 , 0x00000007 
+ 00025790  0x00003c2d call  0x00006682 
+ 00025791  0x00003c2e fetch  0x00000001 , 0x00000095 
+ 00025792  0x00003c2f istore  0x00000001 , 0x00000005 
+ 00025793  0x00003c30 fetch  0x00000002 , 0x00000096 
+ 00025794  0x00003c31 istore  0x00000002 , 0x00000005 
+ 00025795  0x00003c32 fetch  0x00000004 , 0x00000091 
+ 00025796  0x00003c33 istore  0x00000004 , 0x00000005 
+ 00025797  0x00003c34 branch  0x00006692 
+ 00025798  0x00003c37 force  0x00000011 , 0x0000003f 
+ 00025799  0x00003c38 call  0x0000667a 
+ 00025800  0x00003c39 fetch  0x00000001 , 0x00000049 
+ 00025801  0x00003c3a copy  0x0000003f , 0x00000002 
+ 00025802  0x00003c3b beq  0x00000000 , 0x000064ce 
+ 00025803  0x00003c3c beq  0x0000000e , 0x000064ce 
+ 00025804  0x00003c3d beq  0x0000001c , 0x000064ce 
+ 00025805  0x00003c3e rtn 
+ 00025806  0x00003c40 istore  0x00000001 , 0x00000005 
+ 00025807  0x00003c41 fetch  0x00000001 , 0x000044e7 
+ 00025808  0x00003c42 istore  0x00000001 , 0x00000005 
+ 00025809  0x00003c43 arg  0x0000000e , 0x00000039 
+ 00025810  0x00003c44 setarg  0x000044e8 
+ 00025811  0x00003c45 iadd  0x00000002 , 0x00000006 
+ 00025812  0x00003c46 call  0x00007cdc 
+ 00025813  0x00003c47 branch  0x00006692 
+ 00025814  0x00003c4b force  0x00000003 , 0x0000003f 
+ 00025815  0x00003c4c call  0x0000667a 
+ 00025816  0x00003c4d setarg  0x00000114 
+ 00025817  0x00003c4e istore  0x00000002 , 0x00000005 
+ 00025818  0x00003c4f branch  0x00006692 
+ 00025819  0x00003c53 force  0x00000003 , 0x0000003f 
+ 00025820  0x00003c54 call  0x0000667a 
+ 00025821  0x00003c55 fetch  0x00000004 , 0x00000163 
+ 00025822  0x00003c56 isub  0x00000022 , 0x0000003f 
+ 00025823  0x00003c57 branch  0x000064e1 , 0x00000029 
+ 00025824  0x00003c58 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00025825  0x00003c5b rshift2  0x0000003f , 0x0000003f 
+ 00025826  0x00003c5c set0  0x0000000f , 0x0000003f 
+ 00025827  0x00003c5d istore  0x00000002 , 0x00000005 
+ 00025828  0x00003c5e branch  0x00006692 
+ 00025829  0x00003c61 force  0x00000006 , 0x0000003f 
+ 00025830  0x00003c62 call  0x0000667a 
+ 00025831  0x00003c63 fetch  0x00000005 , 0x000044e2 
+ 00025832  0x00003c64 istore  0x00000005 , 0x00000005 
+ 00025833  0x00003c65 branch  0x00006692 
+ 00025834  0x00003c68 force  0x00000009 , 0x0000003f 
+ 00025835  0x00003c69 call  0x0000667a 
+ 00025836  0x00003c6a fetch  0x00000008 , 0x00004098 
+ 00025837  0x00003c6b istore  0x00000008 , 0x00000005 
+ 00025838  0x00003c6c branch  0x00006692 
+ 00025839  0x00003c74 force  0x0000000c , 0x00000007 
+ 00025840  0x00003c75 call  0x00006682 
+ 00025841  0x00003c76 setarg  0x00000001 
+ 00025842  0x00003c77 istore  0x00000001 , 0x00000005 
+ 00025843  0x00003c78 fetch  0x00000002 , 0x000004ca 
+ 00025844  0x00003c79 istore  0x00000002 , 0x00000005 
+ 00025845  0x00003c7a setarg  0x00000000 
+ 00025846  0x00003c7b istore  0x00000003 , 0x00000005 
+ 00025847  0x00003c7c setarg  0x00000000 
+ 00025848  0x00003c7d istore  0x00000004 , 0x00000005 
+ 00025849  0x00003c7e branch  0x00006694 
+ 00025850  0x00003c81 force  0x00000003 , 0x00000007 
+ 00025851  0x00003c82 call  0x00006682 
+ 00025852  0x00003c83 fetch  0x00000001 , 0x0000415b 
+ 00025853  0x00003c84 istore  0x00000001 , 0x00000005 
+ 00025854  0x00003c85 disable  0x00000028 
+ 00025855  0x00003c86 call  0x00006694 
+ 00025856  0x00003c87 nrtn  0x00000028 
+ 00025857  0x00003c88 nrtn  0x00000029 
+ 00025858  0x00003c89 fetch  0x00000001 , 0x000040d8 
+ 00025859  0x00003c8a rtnbit0  0x00000000 
+ 00025860  0x00003c8b call  0x00006514 
+ 00025861  0x00003c8c branch  0x0000651e 
+ 00025862  0x00003c90 bpatchx  0x00000040 , 0x00004028 
+ 00025863  0x00003c91 fetch  0x00000001 , 0x0000409e 
+ 00025864  0x00003c92 set1  0x00000003 , 0x0000003f 
+ 00025865  0x00003c93 store  0x00000001 , 0x0000409e 
+ 00025866  0x00003c94 setarg  0x00000101 
+ 00025867  0x00003c95 store  0x00000002 , 0x000004ca 
+ 00025868  0x00003c96 rtn 
+ 00025869  0x00003c99 bpatchx  0x00000041 , 0x00004028 
+ 00025870  0x00003c9a fetch  0x00000001 , 0x0000409e 
+ 00025871  0x00003c9b set0  0x00000003 , 0x0000003f 
+ 00025872  0x00003c9c store  0x00000001 , 0x0000409e 
+ 00025873  0x00003c9d setarg  0x00000000 
+ 00025874  0x00003c9e store  0x00000002 , 0x000004ca 
+ 00025875  0x00003c9f rtn 
+ 00025876  0x00003ca2 jam  0x00000003 , 0x000040d8 
+ 00025877  0x00003ca3 setarg  0x00000000 
+ 00025878  0x00003ca4 store  0x00000004 , 0x00004142 
+ 00025879  0x00003ca5 arg  0x000040da , 0x00000005 
+ 00025880  0x00003ca6 call  0x00006522 
+ 00025881  0x00003ca7 arg  0x000040e7 , 0x00000005 
+ 00025882  0x00003ca8 call  0x00006522 
+ 00025883  0x00003ca9 arg  0x00004146 , 0x00000005 
+ 00025884  0x00003caa call  0x00006522 
+ 00025885  0x00003cab branch  0x00006529 
+ 00025886  0x00003cad arg  0x000040e7 , 0x00000005 
+ 00025887  0x00003cae call  0x00006522 
+ 00025888  0x00003caf call  0x00006529 
+ 00025889  0x00003cb0 branch  0x0000652c 
+ 00025890  0x00003cb4 setarg  0x00ffffff 
+ 00025891  0x00003cb5 istore  0x00000003 , 0x00000005 
+ 00025892  0x00003cb6 istore  0x00000003 , 0x00000005 
+ 00025893  0x00003cb7 istore  0x00000003 , 0x00000005 
+ 00025894  0x00003cb8 setarg  0x0000007f 
+ 00025895  0x00003cb9 istore  0x00000001 , 0x00000005 
+ 00025896  0x00003cba rtn 
+ 00025897  0x00003cbc setarg  0x00000000 
+ 00025898  0x00003cbd store  0x00000002 , 0x000040d6 
+ 00025899  0x00003cbe rtn 
+ 00025900  0x00003cc0 fetch  0x00000001 , 0x000040d8 
+ 00025901  0x00003cc1 set1  0x00000002 , 0x0000003f 
+ 00025902  0x00003cc2 store  0x00000001 , 0x000040d8 
+ 00025903  0x00003cc3 rtn 
+ 00025904  0x00003cc7 force  0x00000002 , 0x00000007 
+ 00025905  0x00003cc8 call  0x00006682 
+ 00025906  0x00003cc9 nbranch  0x00006692 , 0x00000029 
+ 00025907  0x00003ccb branch  0x00006694 
+ 00025908  0x00003cd0 force  0x00000002 , 0x0000003f 
+ 00025909  0x00003cd1 call  0x0000667a 
+ 00025910  0x00003cd2 fetch  0x00000001 , 0x000004c6 
+ 00025911  0x00003cd3 istore  0x00000001 , 0x00000005 
+ 00025912  0x00003cd4 call  0x00006694 
+ 00025913  0x00003cd6 fetch  0x00000001 , 0x0000004b 
+ 00025914  0x00003cd7 set1  0x00000003 , 0x0000003f 
+ 00025915  0x00003cd8 store  0x00000001 , 0x0000004b 
+ 00025916  0x00003cd9 jam  0x00000032 , 0x00000072 
+ 00025917  0x00003cda rtn 
+ 00025918  0x00003cde force  0x00000001 , 0x0000003f 
+ 00025919  0x00003cdf call  0x0000667a 
+ 00025920  0x00003ce0 branch  0x00006694 
+ 00025921  0x00003ce2 force  0x00000001 , 0x0000003f 
+ 00025922  0x00003ce3 call  0x0000667a 
+ 00025923  0x00003ce4 branch  0x00006692 
+ 00025924  0x00003ce8 force  0x00000002 , 0x0000003f 
+ 00025925  0x00003ce9 call  0x0000667a 
+ 00025926  0x00003cea fetch  0x00000001 , 0x0000004c 
+ 00025927  0x00003ceb isolate0  0x00000002 , 0x0000003f 
+ 00025928  0x00003cec setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025929  0x00003ced and_into  0x00000001 , 0x0000003f 
+ 00025930  0x00003cee istore  0x00000001 , 0x00000005 
+ 00025931  0x00003cef branch  0x00006694 
+ 00025932  0x00003cf3 force  0x00000003 , 0x0000003f 
+ 00025933  0x00003cf4 call  0x0000667a 
+ 00025934  0x00003cf5 fetch  0x00000002 , 0x00000051 
+ 00025935  0x00003cf6 istore  0x00000002 , 0x00000005 
+ 00025936  0x00003cf7 branch  0x00006694 
+ 00025937  0x00003cfa jam  0x000000fa , 0x00000072 
+ 00025938  0x00003cfb force  0x00000002 , 0x0000003f 
+ 00025939  0x00003cfc call  0x0000667a 
+ 00025940  0x00003cfd fetch  0x00000001 , 0x00000053 
+ 00025941  0x00003cfe istore  0x00000001 , 0x00000005 
+ 00025942  0x00003cff branch  0x00006694 
+ 00025943  0x00003d02 force  0x0000000a , 0x0000003f 
+ 00025944  0x00003d03 call  0x0000667a 
+ 00025945  0x00003d04 arg  0x00000150 , 0x00000006 
+ 00025946  0x00003d05 force  0x00000009 , 0x00000039 
+ 00025947  0x00003d07 ifetch  0x00000001 , 0x00000006 
+ 00025948  0x00003d08 xor_into  0x00000055 , 0x0000003f 
+ 00025949  0x00003d09 istore  0x00000001 , 0x00000005 
+ 00025950  0x00003d0a loop  0x0000655b 
+ 00025951  0x00003d0b branch  0x00006694 
+ 00025952  0x00003d0e branch  0x00006694 
+ 00025953  0x00003d10 branch  0x00006694 
+ 00025954  0x00003d13 rtn  0x00000029 
+ 00025955  0x00003d14 call  0x00004829 
+ 00025956  0x00003d15 force  0x00000009 , 0x0000003f 
+ 00025957  0x00003d16 call  0x0000667a 
+ 00025958  0x00003d17 fetch  0x00000002 , 0x0000016f 
+ 00025959  0x00003d18 istore  0x00000002 , 0x00000005 
+ 00025960  0x00003d19 fetch  0x00000003 , 0x000040a0 
+ 00025961  0x00003d1a istore  0x00000003 , 0x00000005 
+ 00025962  0x00003d1b fetch  0x00000001 , 0x000040a3 
+ 00025963  0x00003d1c istore  0x00000001 , 0x00000005 
+ 00025964  0x00003d1d fetch  0x00000002 , 0x000040a4 
+ 00025965  0x00003d1e istore  0x00000002 , 0x00000005 
+ 00025966  0x00003d1f bmark0  0x00000003 , 0x00006573 
+ 00025967  0x00003d20 set0  0x00000003 , 0x00000000 
+ 00025968  0x00003d21 call  0x00006694 
+ 00025969  0x00003d22 jam  0x00000013 , 0x0000007c 
+ 00025970  0x00003d23 rtn 
+ 00025971  0x00003d25 call  0x00006692 
+ 00025972  0x00003d26 jam  0x00000003 , 0x0000007c 
+ 00025973  0x00003d27 jam  0x00000013 , 0x0000007d 
+ 00025974  0x00003d28 rtn 
+ 00025975  0x00003d2b arg  0x00000200 , 0x00000002 
+ 00025976  0x00003d2c branch  0x0000657b , 0x00000029 
+ 00025977  0x00003d2d deposit  0x00000028 
+ 00025978  0x00003d2e branch  0x0000657c 
+ 00025979  0x00003d30 deposit  0x00000022 
+ 00025980  0x00003d32 deposit  0x00000021 
+ 00025981  0x00003d33 iadd  0x00000002 , 0x0000003f 
+ 00025982  0x00003d34 and_into  0x000001fc , 0x0000003f 
+ 00025983  0x00003d35 store  0x00000004 , 0x00000034 
+ 00025984  0x00003d36 force  0x00000005 , 0x0000003f 
+ 00025985  0x00003d37 call  0x0000667a 
+ 00025986  0x00003d38 fetch  0x00000004 , 0x00000034 
+ 00025987  0x00003d39 rshift  0x0000003f , 0x0000003f 
+ 00025988  0x00003d3a istore  0x00000004 , 0x00000005 
+ 00025989  0x00003d3b branch  0x00006694 
+ 00025990  0x00003d3e force  0x0000000a , 0x0000003f 
+ 00025991  0x00003d3f call  0x0000667a 
+ 00025992  0x00003d40 arg  0x000004d5 , 0x00000006 
+ 00025993  0x00003d41 ifetch  0x00000009 , 0x00000006 
+ 00025994  0x00003d42 istore  0x00000009 , 0x00000005 
+ 00025995  0x00003d43 branch  0x00006694 
+ 00025996  0x00003d48 force  0x00000003 , 0x0000003f 
+ 00025997  0x00003d49 call  0x0000667a 
+ 00025998  0x00003d4a setarg  0x00000114 
+ 00025999  0x00003d4b istore  0x00000002 , 0x00000005 
+ 00026000  0x00003d4c branch  0x00006694 
+ 00026001  0x00003d50 force  0x00000001 , 0x0000003f 
+ 00026002  0x00003d51 call  0x0000667a 
+ 00026003  0x00003d5a branch  0x00006694 
+ 00026004  0x00003d5e force  0x00000002 , 0x0000003f 
+ 00026005  0x00003d5f call  0x0000667a 
+ 00026006  0x00003d60 fetch  0x00000001 , 0x000040d0 
+ 00026007  0x00003d61 istore  0x00000001 , 0x00000005 
+ 00026008  0x00003d62 branch  0x00006694 
+ 00026009  0x00003d66 force  0x00000002 , 0x0000003f 
+ 00026010  0x00003d67 call  0x0000667a 
+ 00026011  0x00003d68 setarg  0x00000005 
+ 00026012  0x00003d69 istore  0x00000001 , 0x00000005 
+ 00026013  0x00003d6a branch  0x00006694 
+ 00026014  0x00003d6e force  0x00000002 , 0x0000003f 
+ 00026015  0x00003d6f call  0x0000667a 
+ 00026016  0x00003d70 setarg  0x00000000 
+ 00026017  0x00003d71 istore  0x00000001 , 0x00000005 
+ 00026018  0x00003d72 branch  0x00006694 
+ 00026019  0x00003d76 jam  0x0000002e , 0x0000007c 
+ 00026020  0x00003d77 rtn 
+ 00026021  0x00003d79 fetch  0x00000001 , 0x00004092 
+ 00026022  0x00003d7a sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00026023  0x00003d7b call  0x000065a3 , 0x00000005 
+ 00026024  0x00003d7c fetch  0x00000001 , 0x00000030 
+ 00026025  0x00003d7d set1  0x00000004 , 0x0000003f 
+ 00026026  0x00003d7e store  0x00000001 , 0x00000030 
+ 00026027  0x00003d7f copy  0x00000022 , 0x0000003f 
+ 00026028  0x00003d80 store  0x00000004 , 0x000004e5 
+ 00026029  0x00003d81 fetch  0x00000001 , 0x000004cd 
+ 00026030  0x00003d82 bbit1  0x00000003 , 0x000065b6 
+ 00026031  0x00003d83 set1  0x00000003 , 0x0000003f 
+ 00026032  0x00003d84 store  0x00000001 , 0x000004cd 
+ 00026033  0x00003d85 jam  0x00000005 , 0x00000a95 
+ 00026034  0x00003d86 call  0x00007bab 
+ 00026035  0x00003d87 force  0x00000001 , 0x0000003f 
+ 00026036  0x00003d88 call  0x0000667a 
+ 00026037  0x00003d89 branch  0x00006694 
+ 00026038  0x00003d8b jam  0x00000000 , 0x00000048 
+ 00026039  0x00003d8c rtn 
+ 00026040  0x00003d8f force  0x00000006 , 0x0000003f 
+ 00026041  0x00003d90 call  0x0000667a 
+ 00026042  0x00003d91 fetch  0x00000005 , 0x000044e2 
+ 00026043  0x00003d92 istore  0x00000005 , 0x00000005 
+ 00026044  0x00003d93 branch  0x00006694 
+ 00026045  0x00003d96 force  0x00000009 , 0x0000003f 
+ 00026046  0x00003d97 call  0x0000667a 
+ 00026047  0x00003d98 fetch  0x00000008 , 0x00004098 
+ 00026048  0x00003d99 istore  0x00000008 , 0x00000005 
+ 00026049  0x00003d9a branch  0x00006694 
+ 00026050  0x00003d9d jam  0x00000001 , 0x000009ad 
+ 00026051  0x00003d9e fetch  0x00000001 , 0x00004583 
+ 00026052  0x00003d9f rtnne  0x00000001 
+ 00026053  0x00003da0 jam  0x00000013 , 0x000009ab 
+ 00026054  0x00003da1 rtn 
+ 00026055  0x00003da4 call  0x000066d1 
+ 00026056  0x00003da5 jam  0x00000099 , 0x0000007c 
+ 00026057  0x00003da6 jam  0x00000003 , 0x000009ab 
+ 00026058  0x00003da7 rtn 
+ 00026059  0x00003dab call  0x000066d1 
+ 00026060  0x00003dac jam  0x0000003d , 0x0000007c 
+ 00026061  0x00003dad jam  0x00000007 , 0x000009ab 
+ 00026062  0x00003dae rtn 
+ 00026063  0x00003db1 arg  0x00000a4a , 0x00000011 
+ 00026064  0x00003db2 arg  0x00000a6a , 0x00000012 
+ 00026065  0x00003db3 arg  0x00000010 , 0x00000039 
+ 00026066  0x00003db4 call  0x00007d63 
+ 00026067  0x00003db5 branch  0x000065d9 , 0x00000005 
+ 00026068  0x00003db6 jam  0x00000000 , 0x000009ab 
+ 00026069  0x00003db7 call  0x0000758f 
+ 00026070  0x00003db8 jam  0x00000024 , 0x0000007e 
+ 00026071  0x00003db9 jam  0x00000040 , 0x0000007d 
+ 00026072  0x00003dba branch  0x00006134 
+ 00026073  0x00003dbc jam  0x0000000a , 0x000009ab 
+ 00026074  0x00003dbd call  0x0000758d 
+ 00026075  0x00003dbe jam  0x00000040 , 0x0000007d 
+ 00026076  0x00003dbf branch  0x00006219 
+ 00026077  0x00003dc4 jam  0x00000040 , 0x0000007c 
+ 00026078  0x00003dc5 rtn 
+ 00026079  0x00003dcc jam  0x0000003d , 0x0000007c 
+ 00026080  0x00003dce rtn 
+ 00026081  0x00003dd5 jam  0x00000000 , 0x000009b2 
+ 00026082  0x00003dd6 force  0x00000004 , 0x0000003f 
+ 00026083  0x00003dd7 call  0x0000667a 
+ 00026084  0x00003dd8 force  0x00000001 , 0x0000003f 
+ 00026085  0x00003dd9 istore  0x00000001 , 0x00000005 
+ 00026086  0x00003dda force  0x00000001 , 0x0000003f 
+ 00026087  0x00003ddb istore  0x00000001 , 0x00000005 
+ 00026088  0x00003ddc force  0x00000030 , 0x0000003f 
+ 00026089  0x00003ddd istore  0x00000001 , 0x00000005 
+ 00026090  0x00003dde call  0x000066de 
+ 00026091  0x00003ddf branch  0x00006694 , 0x00000001 
+ 00026092  0x00003de0 branch  0x00006692 
+ 00026093  0x00003de4 force  0x00000011 , 0x0000003f 
+ 00026094  0x00003de5 call  0x0000667a 
+ 00026095  0x00003de6 fetch  0x00000001 , 0x000009b2 
+ 00026096  0x00003de7 arg  0x000045fc , 0x00000006 
+ 00026097  0x00003de8 iadd  0x00000006 , 0x00000006 
+ 00026098  0x00003de9 ifetch  0x00000008 , 0x00000006 
+ 00026099  0x00003dea istore  0x00000008 , 0x00000005 
+ 00026100  0x00003deb ifetch  0x00000008 , 0x00000006 
+ 00026101  0x00003dec istore  0x00000008 , 0x00000005 
+ 00026102  0x00003ded fetch  0x00000001 , 0x000009b2 
+ 00026103  0x00003dee increase  0x00000010 , 0x0000003f 
+ 00026104  0x00003def store  0x00000001 , 0x000009b2 
+ 00026105  0x00003df0 call  0x000066de 
+ 00026106  0x00003df1 branch  0x00006694 , 0x00000001 
+ 00026107  0x00003df2 branch  0x00006692 
+ 00026108  0x00003df6 jam  0x00000006 , 0x000009aa 
+ 00026109  0x00003df7 jam  0x0000003f , 0x0000007c 
+ 00026110  0x00003df8 rtn 
+ 00026111  0x00003dfc force  0x00000011 , 0x0000003f 
+ 00026112  0x00003dfd call  0x0000667a 
+ 00026113  0x00003dfe arg  0x00000a4a , 0x00000006 
+ 00026114  0x00003dff ifetch  0x00000008 , 0x00000006 
+ 00026115  0x00003e00 istore  0x00000008 , 0x00000005 
+ 00026116  0x00003e01 ifetch  0x00000008 , 0x00000006 
+ 00026117  0x00003e02 istore  0x00000008 , 0x00000005 
+ 00026118  0x00003e03 branch  0x00006692 
+ 00026119  0x00003e06 jam  0x00000040 , 0x0000007c 
+ 00026120  0x00003e07 rtn 
+ 00026121  0x00003e0b call  0x000066de 
+ 00026122  0x00003e0c call  0x000074c7 , 0x00000001 
+ 00026123  0x00003e0d force  0x00000011 , 0x0000003f 
+ 00026124  0x00003e0e call  0x0000667a 
+ 00026125  0x00003e0f arg  0x00000a1a , 0x00000006 
+ 00026126  0x00003e10 ifetch  0x00000008 , 0x00000006 
+ 00026127  0x00003e11 istore  0x00000008 , 0x00000005 
+ 00026128  0x00003e12 ifetch  0x00000008 , 0x00000006 
+ 00026129  0x00003e13 istore  0x00000008 , 0x00000005 
+ 00026130  0x00003e14 call  0x000066de 
+ 00026131  0x00003e15 nbranch  0x00006692 , 0x00000001 
+ 00026132  0x00003e16 branch  0x00006694 , 0x00000001 
+ 00026133  0x00003e1a jam  0x0000000f , 0x000009ab 
+ 00026134  0x00003e1c call  0x000066d1 
+ 00026135  0x00003e1d jam  0x0000000b , 0x0000007c 
+ 00026136  0x00003e1e call  0x000066e9 
+ 00026137  0x00003e1f branch  0x00007503 , 0x00000001 
+ 00026138  0x00003e20 branch  0x0000750d 
+ 00026139  0x00003e22 call  0x000066cd 
+ 00026140  0x00003e24 jam  0x00000041 , 0x0000007c 
+ 00026141  0x00003e25 rtn 
+ 00026142  0x00003e28 force  0x00000011 , 0x0000003f 
+ 00026143  0x00003e29 call  0x0000667a 
+ 00026144  0x00003e2a arg  0x00000a4a , 0x00000006 
+ 00026145  0x00003e2b ifetch  0x00000008 , 0x00000006 
+ 00026146  0x00003e2c istore  0x00000008 , 0x00000005 
+ 00026147  0x00003e2d ifetch  0x00000008 , 0x00000006 
+ 00026148  0x00003e2e istore  0x00000008 , 0x00000005 
+ 00026149  0x00003e2f call  0x000066de 
+ 00026150  0x00003e30 nbranch  0x00006692 , 0x00000001 
+ 00026151  0x00003e31 branch  0x00006694 , 0x00000001 
+ 00026152  0x00003e34 force  0x00000003 , 0x0000003f 
+ 00026153  0x00003e35 call  0x0000667a 
+ 00026154  0x00003e36 setarg  0x0000fffe 
+ 00026155  0x00003e37 istore  0x00000002 , 0x00000005 
+ 00026156  0x00003e38 branch  0x00006692 
+ 00026157  0x00003e3b branch  0x00006694 
+ 00026158  0x00003e3d branch  0x00006694 
+ 00026159  0x00003e3f branch  0x00006694 
+ 00026160  0x00003e41 branch  0x00006694 
+ 00026161  0x00003e47 call  0x000066ed 
+ 00026162  0x00003e48 arg  0x000040a0 , 0x00000011 
+ 00026163  0x00003e49 call  0x000066f3 
+ 00026164  0x00003e4a force  0x00000011 , 0x0000003f 
+ 00026165  0x00003e4b call  0x0000667a 
+ 00026166  0x00003e4c arg  0x0000057e , 0x00000011 
+ 00026167  0x00003e4d arg  0x0000055e , 0x00000012 
+ 00026168  0x00003e4e call  0x00007208 
+ 00026169  0x00003e4f nbranch  0x00006689 , 0x00000029 
+ 00026170  0x00003e50 branch  0x0000668f 
+ 00026171  0x00003e53 call  0x000066ed 
+ 00026172  0x00003e54 arg  0x00000040 , 0x00000011 
+ 00026173  0x00003e55 call  0x00007114 
+ 00026174  0x00003e57 force  0x00000011 , 0x0000003f 
+ 00026175  0x00003e58 call  0x0000667a 
+ 00026176  0x00003e59 arg  0x0000055e , 0x00000006 
+ 00026177  0x00003e5a call  0x00007c9a 
+ 00026178  0x00003e5b fetch  0x00000001 , 0x00000055 
+ 00026179  0x00003e5c beq  0x00000019 , 0x00006694 
+ 00026180  0x00003e5d beq  0x00000018 , 0x00006694 
+ 00026181  0x00003e5e branch  0x0000668f 
+ 00026182  0x00003e61 fetch  0x00000001 , 0x000009b1 
+ 00026183  0x00003e62 branch  0x0000664c , 0x00000034 
+ 00026184  0x00003e63 call  0x000066de 
+ 00026185  0x00003e64 call  0x000066d1 , 0x00000001 
+ 00026186  0x00003e65 ncall  0x000066cd , 0x00000001 
+ 00026187  0x00003e66 branch  0x0000664d 
+ 00026188  0x00003e68 call  0x000066d1 
+ 00026189  0x00003e6a call  0x000066ed 
+ 00026190  0x00003e6b branch  0x0000663e 
+ 00026191  0x00003e6e arg  0x000040a0 , 0x00000011 
+ 00026192  0x00003e6f call  0x00007147 
+ 00026193  0x00003e70 force  0x00000005 , 0x0000003f 
+ 00026194  0x00003e71 call  0x0000667a 
+ 00026195  0x00003e72 fetch  0x00000004 , 0x0000058e 
+ 00026196  0x00003e73 istore  0x00000004 , 0x00000005 
+ 00026197  0x00003e74 arg  0x000004d1 , 0x00000002 
+ 00026198  0x00003e75 call  0x000066c4 
+ 00026199  0x00003e76 call  0x0000723c 
+ 00026200  0x00003e77 call  0x000066de 
+ 00026201  0x00003e78 branch  0x0000665e , 0x00000001 
+ 00026202  0x00003e79 jam  0x00000001 , 0x000004d4 
+ 00026203  0x00003e7a fetch  0x00000001 , 0x000009b1 
+ 00026204  0x00003e7b rtn  0x00000034 
+ 00026205  0x00003e7c jam  0x0000000b , 0x0000007c 
+ 00026206  0x00003e7e fetch  0x00000001 , 0x000041be 
+ 00026207  0x00003e7f rtn  0x00000034 
+ 00026208  0x00003e81 call  0x000066de 
+ 00026209  0x00003e82 nbranch  0x00006666 , 0x00000001 
+ 00026210  0x00003e83 fetch  0x00000001 , 0x000004d3 
+ 00026211  0x00003e84 rtn  0x00000034 
+ 00026212  0x00003e85 jam  0x0000000f , 0x0000007c 
+ 00026213  0x00003e86 rtn 
+ 00026214  0x00003e88 rtnmark0  0x00000021 
+ 00026215  0x00003e89 set0  0x00000021 , 0x00000000 
+ 00026216  0x00003e8a jam  0x0000000f , 0x0000007c 
+ 00026217  0x00003e8b rtn 
+ 00026218  0x00003e90 call  0x000066ed 
+ 00026219  0x00003e91 call  0x0000714a 
+ 00026220  0x00003e92 force  0x00000011 , 0x0000003f 
+ 00026221  0x00003e93 call  0x0000667a 
+ 00026222  0x00003e94 arg  0x0000055e , 0x00000006 
+ 00026223  0x00003e95 call  0x00007c9a 
+ 00026224  0x00003e96 branch  0x0000668f 
+ 00026225  0x00003e99 force  0x00000001 , 0x0000003f 
+ 00026226  0x00003e9a call  0x0000667a 
+ 00026227  0x00003e9b branch  0x0000668f 
+ 00026228  0x00003e9e force  0x00000002 , 0x0000003f 
+ 00026229  0x00003e9f call  0x0000667a 
+ 00026230  0x00003ea0 force  0x00000010 , 0x0000003f 
+ 00026231  0x00003ea1 istore  0x00000001 , 0x00000005 
+ 00026232  0x00003ea2 store  0x00000001 , 0x00000054 
+ 00026233  0x00003ea3 branch  0x0000668f 
+ 00026234  0x00003ea7 lshift3  0x0000003f , 0x0000003f 
+ 00026235  0x00003ea8 or_into  0x00000007 , 0x0000003f 
+ 00026236  0x00003ea9 store  0x00000001 , 0x000004b2 
+ 00026237  0x00003eaa arg  0x00000011 , 0x00000039 
+ 00026238  0x00003eab arg  0x000004b4 , 0x00000005 
+ 00026239  0x00003eac call  0x00007caf 
+ 00026240  0x00003ead arg  0x000004b4 , 0x00000005 
+ 00026241  0x00003eae rtn 
+ 00026242  0x00003eb1 and  0x0000003f , 0x0000007f , 0x00000011 
+ 00026243  0x00003eb2 jam  0x0000007f , 0x00000048 
+ 00026244  0x00003eb3 deposit  0x00000007 
+ 00026245  0x00003eb4 call  0x0000667a 
+ 00026246  0x00003eb5 deposit  0x00000011 
+ 00026247  0x00003eb6 istore  0x00000001 , 0x00000005 
+ 00026248  0x00003eb7 rtn 
+ 00026249  0x00003eba fetch  0x00000001 , 0x00000048 
+ 00026250  0x00003ebb lshift  0x0000003f , 0x0000003f 
+ 00026251  0x00003ebc fetcht  0x00000001 , 0x0000004c 
+ 00026252  0x00003ebd isolate1  0x00000001 , 0x00000002 
+ 00026253  0x00003ebe setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00026254  0x00003ebf branch  0x00006699 
+ 00026255  0x00003ec3 fetcht  0x00000001 , 0x0000004c 
+ 00026256  0x00003ec4 and_into  0x00000001 , 0x00000002 
+ 00026257  0x00003ec5 branch  0x00006695 
+ 00026258  0x00003ec8 force  0x00000000 , 0x00000002 
+ 00026259  0x00003ec9 branch  0x00006695 
+ 00026260  0x00003ecc force  0x00000001 , 0x00000002 
+ 00026261  0x00003ece fetch  0x00000001 , 0x00000048 
+ 00026262  0x00003ecf lshift  0x0000003f , 0x0000003f 
+ 00026263  0x00003ed0 setflag  0x00000029 , 0x00000000 , 0x0000003f 
+ 00026264  0x00003ed1 ixor  0x00000002 , 0x0000003f 
+ 00026265  0x00003ed3 store  0x00000001 , 0x000004b3 
+ 00026266  0x00003ed4 jam  0x00000000 , 0x00000048 
+ 00026267  0x00003ed5 call  0x000066a9 
+ 00026268  0x00003ed6 enable  0x00000028 
+ 00026269  0x00003ed7 rtn 
+ 00026270  0x00003edb fetch  0x00000001 , 0x0000007c 
+ 00026271  0x00003edc rtn  0x00000034 
+ 00026272  0x00003edd call  0x000066a3 
+ 00026273  0x00003ede fetch  0x00000001 , 0x0000007c 
+ 00026274  0x00003edf rtn 
+ 00026275  0x00003ee2 bpatchx  0x00000042 , 0x00004028 
+ 00026276  0x00003ee3 fetch  0x00000001 , 0x00000048 
+ 00026277  0x00003ee4 branch  0x000066a9 , 0x00000034 
+ 00026278  0x00003ee5 fetch  0x00000001 , 0x00000078 
+ 00026279  0x00003ee6 nrtn  0x00000034 
+ 00026280  0x00003ee7 branch  0x000066b3 
+ 00026281  0x00003ee9 fetch  0x00000001 , 0x00000078 
+ 00026282  0x00003eea branch  0x000066b9 , 0x00000034 
+ 00026283  0x00003eeb fetch  0x00000003 , 0x00000078 
+ 00026284  0x00003eec store  0x00000003 , 0x00000048 
+ 00026285  0x00003eed fetcht  0x00000001 , 0x0000007b 
+ 00026286  0x00003eee fetch  0x00000001 , 0x0000004c 
+ 00026287  0x00003eef set0  0x00000001 , 0x0000003f 
+ 00026288  0x00003ef0 ior  0x00000002 , 0x0000003f 
+ 00026289  0x00003ef1 store  0x00000001 , 0x0000004c 
+ 00026290  0x00003ef2 jam  0x00000000 , 0x00000078 
+ 00026291  0x00003ef4 fetch  0x00000001 , 0x0000007c 
+ 00026292  0x00003ef5 rtn  0x00000034 
+ 00026293  0x00003ef6 fetch  0x00000004 , 0x0000007c 
+ 00026294  0x00003ef7 store  0x00000004 , 0x00000078 
+ 00026295  0x00003ef8 jam  0x00000000 , 0x0000007c 
+ 00026296  0x00003ef9 rtn 
+ 00026297  0x00003efb fetch  0x00000001 , 0x0000007c 
+ 00026298  0x00003efc rtn  0x00000034 
+ 00026299  0x00003efd fetch  0x00000003 , 0x0000007c 
+ 00026300  0x00003efe store  0x00000003 , 0x00000048 
+ 00026301  0x00003eff fetcht  0x00000001 , 0x0000007f 
+ 00026302  0x00003f00 fetch  0x00000001 , 0x0000004c 
+ 00026303  0x00003f01 set0  0x00000001 , 0x0000003f 
+ 00026304  0x00003f02 ior  0x00000002 , 0x0000003f 
+ 00026305  0x00003f03 store  0x00000001 , 0x0000004c 
+ 00026306  0x00003f04 jam  0x00000000 , 0x0000007c 
+ 00026307  0x00003f05 rtn 
+ 00026308  0x00003f09 bpatchx  0x00000043 , 0x00004028 
+ 00026309  0x00003f0a fetch  0x00000001 , 0x0000004c 
+ 00026310  0x00003f0b copy  0x0000003f , 0x00000013 
+ 00026311  0x00003f0c ifetch  0x00000001 , 0x00000002 
+ 00026312  0x00003f0d call  0x00006233 
+ 00026313  0x00003f0e call  0x00006689 
+ 00026314  0x00003f0f copy  0x00000013 , 0x0000003f 
+ 00026315  0x00003f10 store  0x00000001 , 0x0000004c 
+ 00026316  0x00003f11 rtn 
+ 00026317  0x00003f14 fetcht  0x00000001 , 0x0000004c 
+ 00026318  0x00003f15 set0  0x00000000 , 0x00000002 
+ 00026319  0x00003f16 storet  0x00000001 , 0x0000004c 
+ 00026320  0x00003f17 rtn 
+ 00026321  0x00003f1a fetcht  0x00000001 , 0x0000004c 
+ 00026322  0x00003f1b set1  0x00000000 , 0x00000002 
+ 00026323  0x00003f1c storet  0x00000001 , 0x0000004c 
+ 00026324  0x00003f1d rtn 
+ 00026325  0x00003f21 nsetflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00026326  0x00003f22 fetcht  0x00000001 , 0x0000004c 
+ 00026327  0x00003f23 ixor  0x00000002 , 0x0000003f 
+ 00026328  0x00003f24 isolate1  0x00000001 , 0x0000003f 
+ 00026329  0x00003f25 rtn 
+ 00026330  0x00003f29 fetch  0x00000001 , 0x0000004c 
+ 00026331  0x00003f2a setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00026332  0x00003f2b store  0x00000001 , 0x0000004c 
+ 00026333  0x00003f2c rtn 
+ 00026334  0x00003f30 fetch  0x00000001 , 0x000009b0 
+ 00026335  0x00003f31 compare  0x00000001 , 0x0000003f , 0x0000007f 
+ 00026336  0x00003f32 rtn 
+ 00026337  0x00003f34 fetch  0x00000001 , 0x000009b0 
+ 00026338  0x00003f35 set1  0x00000007 , 0x0000003f 
+ 00026339  0x00003f36 store  0x00000001 , 0x000009b0 
+ 00026340  0x00003f37 rtn 
+ 00026341  0x00003f39 fetch  0x00000001 , 0x000009b0 
+ 00026342  0x00003f3a set0  0x00000007 , 0x0000003f 
+ 00026343  0x00003f3b store  0x00000001 , 0x000009b0 
+ 00026344  0x00003f3c rtn 
+ 00026345  0x00003f3e fetch  0x00000001 , 0x000009b0 
+ 00026346  0x00003f3f isolate1  0x00000007 , 0x0000003f 
+ 00026347  0x00003f40 store  0x00000001 , 0x000009b0 
+ 00026348  0x00003f41 rtn 
+ 00026349  0x00003f45 arg  0x0000055e , 0x00000005 
+ 00026350  0x00003f47 force  0x00000010 , 0x00000039 
+ 00026351  0x00003f4a random  0x0000003f 
+ 00026352  0x00003f4b istore  0x00000001 , 0x00000005 
+ 00026353  0x00003f4c loop  0x000066ef 
+ 00026354  0x00003f4d rtn 
+ 00026355  0x00003f50 call  0x00007118 
+ 00026356  0x00003f51 arg  0x000041bf , 0x00000011 
+ 00026357  0x00003f52 arg  0x0000058e , 0x00000012 
+ 00026358  0x00003f53 ifetch  0x00000008 , 0x00000011 
+ 00026359  0x00003f54 fetcht  0x00000001 , 0x00000030 
+ 00026360  0x00003f55 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00026361  0x00003f56 storet  0x00000001 , 0x00000030 
+ 00026362  0x00003f57 copy  0x00000011 , 0x00000005 
+ 00026363  0x00003f58 call  0x00007208 
+ 00026364  0x00003f59 branch  0x000041c0 
+ 00026365  0x00003f61 bpatchx  0x00000044 , 0x00004028 
+ 00026366  0x00003f63 call  0x0000669e 
+ 00026367  0x00003f64 nrtn  0x00000034 
+ 00026368  0x00003f66 fetch  0x00000001 , 0x00000055 
+ 00026369  0x00003f67 rtn  0x00000034 
+ 00026370  0x00003f6b beq  0x00000004 , 0x00006751 
+ 00026371  0x00003f6c beq  0x00000005 , 0x00006756 
+ 00026372  0x00003f6d beq  0x00000002 , 0x00006748 
+ 00026373  0x00003f6e beq  0x00000003 , 0x0000675e 
+ 00026374  0x00003f6f beq  0x0000000e , 0x0000674b 
+ 00026375  0x00003f70 beq  0x00000006 , 0x0000677a 
+ 00026376  0x00003f71 beq  0x00000007 , 0x00006792 
+ 00026377  0x00003f72 beq  0x00000009 , 0x00006793 
+ 00026378  0x00003f73 beq  0x0000000a , 0x0000679c 
+ 00026379  0x00003f74 beq  0x0000000b , 0x000067a0 
+ 00026380  0x00003f75 beq  0x0000000c , 0x00006768 
+ 00026381  0x00003f76 beq  0x0000000d , 0x0000676b 
+ 00026382  0x00003f77 beq  0x0000000f , 0x00006771 
+ 00026383  0x00003f78 beq  0x00000012 , 0x0000673b 
+ 00026384  0x00003f79 beq  0x00000013 , 0x0000675e 
+ 00026385  0x00003f7a beq  0x00000010 , 0x0000673e 
+ 00026386  0x00003f7b beq  0x00000014 , 0x00006738 
+ 00026387  0x00003f7c beq  0x00000015 , 0x0000675e 
+ 00026388  0x00003f7d beq  0x00000016 , 0x00006732 
+ 00026389  0x00003f7e beq  0x00000018 , 0x00006737 
+ 00026390  0x00003f7f beq  0x00000017 , 0x0000672b 
+ 00026391  0x00003f80 beq  0x00000019 , 0x00006731 
+ 00026392  0x00003f81 beq  0x0000001a , 0x0000671c 
+ 00026393  0x00003f82 beq  0x0000001b , 0x00006726 
+ 00026394  0x00003f83 jam  0x00000000 , 0x00000055 
+ 00026395  0x00003f85 rtn 
+ 00026396  0x00003f87 fetch  0x00000001 , 0x000004cd 
+ 00026397  0x00003f88 rtnbit0  0x00000002 
+ 00026398  0x00003f89 rtnbit0  0x00000003 
+ 00026399  0x00003f8a jam  0x00000000 , 0x00000055 
+ 00026400  0x00003f8b call  0x00006722 
+ 00026401  0x00003f8c branch  0x00006bae 
+ 00026402  0x00003f8f fetch  0x00000001 , 0x0000016b 
+ 00026403  0x00003f90 rtnbit0  0x00000001 
+ 00026404  0x00003f91 jam  0x0000000a , 0x00000055 
+ 00026405  0x00003f92 rtn 
+ 00026406  0x00003f95 arg  0x00000007 , 0x00000007 
+ 00026407  0x00003f96 call  0x00007cf1 
+ 00026408  0x00003f97 nrtn  0x00000034 
+ 00026409  0x00003f98 jam  0x0000001a , 0x00000055 
+ 00026410  0x00003f99 rtn 
+ 00026411  0x00003f9c fetch  0x00000001 , 0x0000016b 
+ 00026412  0x00003f9d set0  0x00000000 , 0x0000003f 
+ 00026413  0x00003f9e store  0x00000001 , 0x0000016b 
+ 00026414  0x00003f9f jam  0x00000019 , 0x00000055 
+ 00026415  0x00003fa0 jam  0x0000000b , 0x0000007c 
+ 00026416  0x00003fa1 rtn 
+ 00026417  0x00003fa3 rtn 
+ 00026418  0x00003fa5 fetch  0x00000001 , 0x000004d0 
+ 00026419  0x00003fa6 rtnne  0x00000002 
+ 00026420  0x00003fa7 call  0x000067a2 
+ 00026421  0x00003fa8 jam  0x00000018 , 0x00000055 
+ 00026422  0x00003fa9 rtn 
+ 00026423  0x00003fac rtn 
+ 00026424  0x00003fae jam  0x00000015 , 0x00000055 
+ 00026425  0x00003faf jam  0x00000083 , 0x0000007c 
+ 00026426  0x00003fb0 rtn 
+ 00026427  0x00003fb2 jam  0x00000013 , 0x00000055 
+ 00026428  0x00003fb3 jam  0x00000025 , 0x0000007c 
+ 00026429  0x00003fb4 rtn 
+ 00026430  0x00003fb7 fetch  0x00000001 , 0x0000452d 
+ 00026431  0x00003fb8 rtneq  0x00000000 
+ 00026432  0x00003fb9 beq  0x00000001 , 0x00006746 
+ 00026433  0x00003fba arg  0x00000006 , 0x00000007 
+ 00026434  0x00003fbb call  0x00007cf1 
+ 00026435  0x00003fbc nrtn  0x00000034 
+ 00026436  0x00003fbd jam  0x00000000 , 0x0000452d 
+ 00026437  0x00003fbe branch  0x0000675f 
+ 00026438  0x00003fc0 rtn  0x00000029 
+ 00026439  0x00003fc1 branch  0x0000677a 
+ 00026440  0x00003fc4 jam  0x00000003 , 0x00000055 
+ 00026441  0x00003fc5 jam  0x00000027 , 0x0000007c 
+ 00026442  0x00003fc6 rtn 
+ 00026443  0x00003fc8 jam  0x00000013 , 0x0000007c 
+ 00026444  0x00003fc9 set1  0x00000003 , 0x00000000 
+ 00026445  0x00003fca jam  0x00000005 , 0x00000055 
+ 00026446  0x00003fcb setarg  0x000001ff 
+ 00026447  0x00003fcc store  0x00000002 , 0x000004ce 
+ 00026448  0x00003fcd rtn 
+ 00026449  0x00003fcf jam  0x00000005 , 0x00000055 
+ 00026450  0x00003fd0 jam  0x000000ff , 0x000004ce 
+ 00026451  0x00003fd1 set0  0x00000022 , 0x00000000 
+ 00026452  0x00003fd2 jam  0x00000033 , 0x0000007c 
+ 00026453  0x00003fd3 branch  0x000060e5 
+ 00026454  0x00003fd5 rtnmark1  0x00000022 
+ 00026455  0x00003fd6 fetch  0x00000002 , 0x000004ce 
+ 00026456  0x00003fd7 sub  0x0000003f , 0x00000001 , 0x0000003f 
+ 00026457  0x00003fd8 branch  0x0000675c , 0x00000005 
+ 00026458  0x00003fd9 store  0x00000002 , 0x000004ce 
+ 00026459  0x00003fda rtn 
+ 00026460  0x00003fdc jam  0x0000000e , 0x00000055 
+ 00026461  0x00003fdd rtn 
+ 00026462  0x00003fe0 rtn 
+ 00026463  0x00003fe3 fetch  0x00000001 , 0x000004cd 
+ 00026464  0x00003fe4 rtnbit0  0x00000003 
+ 00026465  0x00003fe5 rtnbit0  0x00000002 
+ 00026466  0x00003fe6 fetch  0x00000001 , 0x0000016b 
+ 00026467  0x00003fe7 set0  0x00000002 , 0x0000003f 
+ 00026468  0x00003fe8 store  0x00000001 , 0x0000016b 
+ 00026469  0x00003fe9 jam  0x00000013 , 0x0000007c 
+ 00026470  0x00003fea jam  0x00000010 , 0x00000055 
+ 00026471  0x00003feb rtn 
+ 00026472  0x00003fee jam  0x0000000d , 0x00000055 
+ 00026473  0x00003fef jam  0x00000031 , 0x0000007c 
+ 00026474  0x00003ff0 rtn 
+ 00026475  0x00003ff3 fetch  0x00000001 , 0x000004cd 
+ 00026476  0x00003ff4 rtnbit0  0x00000002 
+ 00026477  0x00003ff5 jam  0x00000000 , 0x00000055 
+ 00026478  0x00003ff7 rtn 
+ 00026479  0x00003ff9 jam  0x00000006 , 0x00000055 
+ 00026480  0x00003ffa rtn 
+ 00026481  0x00003ffd fetch  0x00000001 , 0x000004ce 
+ 00026482  0x00003ffe increase  0xffffffff , 0x0000003f 
+ 00026483  0x00003fff branch  0x00006776 , 0x00000034 
+ 00026484  0x00004000 store  0x00000001 , 0x000004ce 
+ 00026485  0x00004001 rtn 
+ 00026486  0x00004003 jam  0x00000007 , 0x0000007c 
+ 00026487  0x00004004 jam  0x00000016 , 0x000004c6 
+ 00026488  0x00004005 jam  0x00000000 , 0x00000055 
+ 00026489  0x00004006 rtn 
+ 00026490  0x00004009 fetch  0x00000001 , 0x0000016b 
+ 00026491  0x0000400a bbit1  0x00000002 , 0x0000675f 
+ 00026492  0x0000400b bbit1  0x00000000 , 0x0000677f 
+ 00026493  0x0000400d jam  0x0000001a , 0x00000055 
+ 00026494  0x0000400e rtn 
+ 00026495  0x00004010 fetch  0x00000001 , 0x000041be 
+ 00026496  0x00004011 branch  0x0000678b , 0x00000034 
+ 00026497  0x00004012 fetch  0x00000001 , 0x000004cd 
+ 00026498  0x00004013 rtnbit0  0x00000003 
+ 00026499  0x00004014 rtnbit0  0x00000002 
+ 00026500  0x00004015 fetch  0x00000004 , 0x000004e5 
+ 00026501  0x00004016 arg  0x00000064 , 0x00000002 
+ 00026502  0x00004017 iadd  0x00000002 , 0x00000002 
+ 00026503  0x00004018 copy  0x00000022 , 0x0000003f 
+ 00026504  0x00004019 isub  0x00000002 , 0x0000003e 
+ 00026505  0x0000401a nrtn  0x00000002 
+ 00026506  0x0000401b branch  0x0000672b 
+ 00026507  0x00004020 jam  0x00000016 , 0x00000055 
+ 00026508  0x00004021 jam  0x00000004 , 0x00004657 
+ 00026509  0x00004022 setarg  0x00003030 
+ 00026510  0x00004023 store  0x00000002 , 0x00004658 
+ 00026511  0x00004024 istore  0x00000002 , 0x00000005 
+ 00026512  0x00004025 jam  0x00000002 , 0x000004d0 
+ 00026513  0x00004026 branch  0x00006732 
+ 00026514  0x00004029 rtn 
+ 00026515  0x0000402b fetch  0x00000001 , 0x0000016b 
+ 00026516  0x0000402c bbit1  0x00000001 , 0x00006797 
+ 00026517  0x0000402d jam  0x0000001a , 0x00000055 
+ 00026518  0x0000402e rtn 
+ 00026519  0x00004031 fetch  0x00000001 , 0x0000016b 
+ 00026520  0x00004032 set0  0x00000001 , 0x0000003f 
+ 00026521  0x00004033 store  0x00000001 , 0x0000016b 
+ 00026522  0x00004034 jam  0x0000000f , 0x0000007c 
+ 00026523  0x00004035 rtn 
+ 00026524  0x00004038 fetch  0x00000001 , 0x000004d4 
+ 00026525  0x00004039 rtn  0x00000034 
+ 00026526  0x0000403a jam  0x00000000 , 0x00000055 
+ 00026527  0x0000403b branch  0x00006797 
+ 00026528  0x0000403e jam  0x0000000c , 0x00000055 
+ 00026529  0x0000403f rtn 
+ 00026530  0x00004042 fetch  0x00000001 , 0x0000004b 
+ 00026531  0x00004043 bbit1  0x00000002 , 0x000067a7 
+ 00026532  0x00004044 call  0x000066d1 
+ 00026533  0x00004045 jam  0x00000008 , 0x0000007c 
+ 00026534  0x00004046 branch  0x000050ea 
+ 00026535  0x00004048 fetch  0x00000001 , 0x0000004b 
+ 00026536  0x00004049 set0  0x00000002 , 0x0000003f 
+ 00026537  0x0000404a store  0x00000001 , 0x0000004b 
+ 00026538  0x0000404b call  0x000063e3 
+ 00026539  0x0000404c call  0x000066da 
+ 00026540  0x0000404d branch  0x000050ea 
+ 00026541  0x00004050 setarg  0x00000004 
+ 00026542  0x00004051 store  0x00000001 , 0x00004657 
+ 00026543  0x00004052 setarg  0x00003030 
+ 00026544  0x00004053 istore  0x00000002 , 0x00000005 
+ 00026545  0x00004054 istore  0x00000002 , 0x00000005 
+ 00026546  0x00004055 rtn 
+ 00026547  0x0000405f hjam  0x00000001 , 0x00008010 
+ 00026548  0x00004060 rtn 
+ 00026549  0x00004064 bpatchx  0x00000048 , 0x00004029 
+ 00026550  0x00004065 fetch  0x00000002 , 0x00004ff6 
+ 00026551  0x00004066 copy  0x0000003f , 0x0000000a 
+ 00026552  0x00004067 rtn 
+ 00026553  0x0000406a bpatchx  0x00000049 , 0x00004029 
+ 00026554  0x0000406b copy  0x0000000a , 0x0000003f 
+ 00026555  0x0000406c store  0x00000002 , 0x00004ff6 
+ 00026556  0x0000406e fetch  0x00000001 , 0x00008043 
+ 00026557  0x0000406f rtnbit1  0x00000007 
+ 00026558  0x00004070 set1  0x00000007 , 0x0000003f 
+ 00026559  0x00004071 store  0x00000001 , 0x00008043 
+ 00026560  0x00004072 rtn 
+ 00026561  0x00004076 deposit  0x00000039 
+ 00026562  0x00004077 rtn  0x00000034 
+ 00026563  0x00004079 increase  0xfffffff8 , 0x00000039 
+ 00026564  0x0000407a call  0x000067ce , 0x00000002 
+ 00026565  0x0000407b rtn  0x00000005 
+ 00026566  0x0000407c branch  0x000067c3 , 0x00000002 
+ 00026567  0x0000407d increase  0x00000008 , 0x00000039 
+ 00026568  0x0000407f increase  0xfffffffc , 0x00000039 
+ 00026569  0x00004080 call  0x000067d1 , 0x00000002 
+ 00026570  0x00004081 rtn  0x00000005 
+ 00026571  0x00004082 branch  0x000067c8 , 0x00000002 
+ 00026572  0x00004083 increase  0x00000004 , 0x00000039 
+ 00026573  0x00004084 branch  0x000067d4 
+ 00026574  0x00004087 ifetch  0x00000008 , 0x00000006 
+ 00026575  0x00004088 istore  0x00000008 , 0x0000000a 
+ 00026576  0x00004089 rtn 
+ 00026577  0x0000408c ifetch  0x00000004 , 0x00000006 
+ 00026578  0x0000408d istore  0x00000004 , 0x0000000a 
+ 00026579  0x0000408e rtn 
+ 00026580  0x00004091 deposit  0x00000039 
+ 00026581  0x00004092 rtn  0x00000034 
+ 00026582  0x00004094 ifetch  0x00000001 , 0x00000006 
+ 00026583  0x00004095 istore  0x00000001 , 0x0000000a 
+ 00026584  0x00004096 loop  0x000067d6 
+ 00026585  0x00004097 rtn 
+ 00026586  0x0000409a deposit  0x00000039 
+ 00026587  0x0000409b rtn  0x00000034 
+ 00026588  0x0000409d increase  0xfffffff8 , 0x00000039 
+ 00026589  0x0000409e call  0x000067e7 , 0x00000002 
+ 00026590  0x0000409f rtn  0x00000005 
+ 00026591  0x000040a0 branch  0x000067dc , 0x00000002 
+ 00026592  0x000040a1 increase  0x00000008 , 0x00000039 
+ 00026593  0x000040a3 increase  0xfffffffc , 0x00000039 
+ 00026594  0x000040a4 call  0x000067ea , 0x00000002 
+ 00026595  0x000040a5 rtn  0x00000005 
+ 00026596  0x000040a6 branch  0x000067e1 , 0x00000002 
+ 00026597  0x000040a7 increase  0x00000004 , 0x00000039 
+ 00026598  0x000040a8 branch  0x000067ed 
+ 00026599  0x000040ab ifetch  0x00000008 , 0x00000003 
+ 00026600  0x000040ac istore  0x00000008 , 0x00000005 
+ 00026601  0x000040ad rtn 
+ 00026602  0x000040b0 ifetch  0x00000004 , 0x00000003 
+ 00026603  0x000040b1 istore  0x00000004 , 0x00000005 
+ 00026604  0x000040b2 rtn 
+ 00026605  0x000040b6 deposit  0x00000039 
+ 00026606  0x000040b7 rtn  0x00000034 
+ 00026607  0x000040b9 ifetch  0x00000001 , 0x00000003 
+ 00026608  0x000040ba istore  0x00000001 , 0x00000005 
+ 00026609  0x000040bb loop  0x000067ef 
+ 00026610  0x000040bc rtn 
+ 00026611  0x000040bf bpatchx  0x0000004a , 0x00004029 
+ 00026612  0x000040c0 copy  0x00000003 , 0x0000003f 
+ 00026613  0x000040c1 store  0x00000002 , 0x00004ffc 
+ 00026614  0x000040c2 rtn 
+ 00026615  0x000040c5 bpatchx  0x0000004b , 0x00004029 
+ 00026616  0x000040c6 fetch  0x00000002 , 0x00004ffc 
+ 00026617  0x000040c7 copy  0x0000003f , 0x00000003 
+ 00026618  0x000040c8 rtn 
+ 00026619  0x000040cd jam  0x0000003d , 0x00000a95 
+ 00026620  0x000040ce branch  0x00007bab 
+ 00026621  0x000040d4 bpatchx  0x0000004c , 0x00004029 
+ 00026622  0x000040d5 fetch  0x00000001 , 0x00004216 
+ 00026623  0x000040d6 rtn  0x00000034 
+ 00026624  0x000040d7 call  0x00006895 
+ 00026625  0x000040d8 call  0x0000689b , 0x00000005 
+ 00026626  0x000040d9 call  0x00006830 
+ 00026627  0x000040db fetch  0x00000001 , 0x00004216 
+ 00026628  0x000040dc icopy  0x00000013 
+ 00026629  0x000040dd fetcht  0x00000002 , 0x00004214 
+ 00026630  0x000040de storet  0x00000002 , 0x0000018a 
+ 00026631  0x000040e0 copy  0x00000013 , 0x0000003f 
+ 00026632  0x000040e1 branch  0x000067fb , 0x00000034 
+ 00026633  0x000040e2 increase  0xffffffff , 0x00000013 
+ 00026634  0x000040e3 copy  0x00000002 , 0x00000011 
+ 00026635  0x000040e4 ifetch  0x00000001 , 0x00000011 
+ 00026636  0x000040e5 fetcht  0x00000001 , 0x00000182 
+ 00026637  0x000040e6 isub  0x00000002 , 0x0000003e 
+ 00026638  0x000040e7 call  0x00006817 , 0x00000005 
+ 00026639  0x000040e8 branch  0x00006813 , 0x00000002 
+ 00026640  0x000040e9 ifetch  0x00000001 , 0x00000011 
+ 00026641  0x000040ea increase  0x00000001 , 0x0000003f 
+ 00026642  0x000040eb istore  0x00000001 , 0x00000011 
+ 00026643  0x000040ed fetcht  0x00000002 , 0x0000018a 
+ 00026644  0x000040ee increase  0x00000022 , 0x00000002 
+ 00026645  0x000040ef storet  0x00000002 , 0x0000018a 
+ 00026646  0x000040f0 branch  0x00006807 
+ 00026647  0x000040f3 setarg  0x00000000 
+ 00026648  0x000040f4 istore  0x00000001 , 0x00000011 
+ 00026649  0x000040f5 fetch  0x00000001 , 0x00000183 
+ 00026650  0x000040f6 istore  0x00000001 , 0x00000005 
+ 00026651  0x000040f7 bne  0x00000033 , 0x00006825 
+ 00026652  0x000040f8 arg  0x000041bf , 0x00000012 
+ 00026653  0x000040fa ifetch  0x00000006 , 0x00000006 
+ 00026654  0x000040fb istore  0x00000008 , 0x00000005 
+ 00026655  0x000040fc setarg  0x00000000 
+ 00026656  0x000040fd istore  0x00000008 , 0x00000005 
+ 00026657  0x000040fe copy  0x00000012 , 0x00000006 
+ 00026658  0x00004100 call  0x00007c9a 
+ 00026659  0x00004101 force  0x00000001 , 0x0000003e 
+ 00026660  0x00004102 rtn 
+ 00026661  0x00004105 beq  0x00000036 , 0x00006829 
+ 00026662  0x00004106 beq  0x00000037 , 0x0000682d 
+ 00026663  0x00004107 arg  0x000043eb , 0x00000012 
+ 00026664  0x00004108 branch  0x0000681d 
+ 00026665  0x0000410b arg  0x000044a7 , 0x00000006 
+ 00026666  0x0000410c call  0x00007c9a 
+ 00026667  0x0000410e arg  0x000043eb , 0x00000006 
+ 00026668  0x0000410f branch  0x00006822 
+ 00026669  0x00004112 arg  0x0000449f , 0x00000006 
+ 00026670  0x00004113 call  0x00007c9a 
+ 00026671  0x00004114 branch  0x0000682b 
+ 00026672  0x00004118 call  0x00007dc1 
+ 00026673  0x00004119 fetch  0x00000001 , 0x00004216 
+ 00026674  0x0000411a rtn  0x00000034 
+ 00026675  0x0000411b fetch  0x00000002 , 0x00004652 
+ 00026676  0x0000411c bbit1  0x00000000 , 0x00006846 
+ 00026677  0x0000411e bpatchx  0x0000004d , 0x00004029 
+ 00026678  0x0000411f fetch  0x00000001 , 0x00004460 
+ 00026679  0x00004120 beq  0x00000000 , 0x0000683f 
+ 00026680  0x00004121 fetch  0x00000001 , 0x00000450 
+ 00026681  0x00004122 compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00026682  0x00004123 branch  0x0000683f , 0x00000001 
+ 00026683  0x00004124 compare  0x00000040 , 0x0000003f , 0x000000c0 
+ 00026684  0x00004125 branch  0x00006844 , 0x00000001 
+ 00026685  0x00004126 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00026686  0x00004127 branch  0x00006842 , 0x00000001 
+ 00026687  0x00004129 jam  0x00000035 , 0x00000183 
+ 00026688  0x0000412a fetch  0x00000006 , 0x0000044b 
+ 00026689  0x0000412b branch  0x00006849 
+ 00026690  0x0000412e jam  0x00000037 , 0x00000183 
+ 00026691  0x0000412f branch  0x00006849 
+ 00026692  0x00004133 jam  0x00000036 , 0x00000183 
+ 00026693  0x00004134 branch  0x00006849 
+ 00026694  0x00004138 bpatchx  0x0000004e , 0x00004029 
+ 00026695  0x00004139 jam  0x00000033 , 0x00000183 
+ 00026696  0x0000413a fetch  0x00000006 , 0x00000040 
+ 00026697  0x0000413c store  0x00000006 , 0x00000184 
+ 00026698  0x0000413d fetch  0x00000002 , 0x00004214 
+ 00026699  0x0000413e ifetcht  0x00000001 , 0x0000003f 
+ 00026700  0x0000413f pincrease  0x00000001 
+ 00026701  0x00004140 store  0x00000002 , 0x0000018a 
+ 00026702  0x00004141 storet  0x00000001 , 0x00000182 
+ 00026703  0x00004142 fetch  0x00000001 , 0x00004216 
+ 00026704  0x00004143 icopy  0x00000013 
+ 00026705  0x00004145 fetch  0x00000002 , 0x0000018a 
+ 00026706  0x00004146 copy  0x0000003f , 0x00000011 
+ 00026707  0x00004147 call  0x00006861 
+ 00026708  0x00004148 rtn  0x00000028 
+ 00026709  0x00004149 fetcht  0x00000002 , 0x0000018a 
+ 00026710  0x0000414a increase  0x00000022 , 0x00000002 
+ 00026711  0x0000414b storet  0x00000002 , 0x0000018a 
+ 00026712  0x0000414c increase  0xffffffff , 0x00000002 
+ 00026713  0x0000414d ifetch  0x00000001 , 0x00000002 
+ 00026714  0x0000414e store  0x00000001 , 0x00000182 
+ 00026715  0x0000414f increase  0xffffffff , 0x00000013 
+ 00026716  0x00004150 nbranch  0x00006851 , 0x00000005 
+ 00026717  0x00004151 fetch  0x00000001 , 0x00004216 
+ 00026718  0x00004152 pincrease  0xffffffff 
+ 00026719  0x00004153 store  0x00000001 , 0x00000182 
+ 00026720  0x00004154 rtn 
+ 00026721  0x00004156 fetch  0x00000001 , 0x00000183 
+ 00026722  0x00004157 bne  0x00000033 , 0x00006868 
+ 00026723  0x00004159 arg  0x00000183 , 0x00000012 
+ 00026724  0x0000415a arg  0x00000007 , 0x00000039 
+ 00026725  0x0000415b call  0x00007d63 
+ 00026726  0x0000415c branch  0x00007dbf , 0x00000005 
+ 00026727  0x0000415d rtn 
+ 00026728  0x00004160 beq  0x00000036 , 0x0000686b 
+ 00026729  0x00004161 beq  0x00000037 , 0x00006886 
+ 00026730  0x00004162 branch  0x00006863 
+ 00026731  0x00004165 ifetcht  0x00000001 , 0x00000011 
+ 00026732  0x00004166 isub  0x00000002 , 0x0000003e 
+ 00026733  0x00004167 nrtn  0x00000005 
+ 00026734  0x00004168 arg  0x00000abe , 0x00000005 
+ 00026735  0x00004169 arg  0x00000010 , 0x00000039 
+ 00026736  0x0000416a call  0x00007caf 
+ 00026737  0x0000416b fetch  0x00000003 , 0x0000044e 
+ 00026738  0x0000416c store  0x00000003 , 0x00000abe 
+ 00026739  0x0000416d call  0x0000687d 
+ 00026740  0x0000416e fetch  0x00000002 , 0x00000adb 
+ 00026741  0x0000416f byteswap  0x0000003f , 0x0000003f 
+ 00026742  0x00004170 lshift8  0x0000003f , 0x00000002 
+ 00026743  0x00004171 ifetch  0x00000001 , 0x00000006 
+ 00026744  0x00004172 iadd  0x00000002 , 0x0000003f 
+ 00026745  0x00004173 fetcht  0x00000003 , 0x0000044b 
+ 00026746  0x00004174 isub  0x00000002 , 0x0000003e 
+ 00026747  0x00004175 branch  0x00007dbf , 0x00000005 
+ 00026748  0x00004176 rtn 
+ 00026749  0x0000417a arg  0x00000abe , 0x00000006 
+ 00026750  0x0000417b call  0x0000733b 
+ 00026751  0x0000417d ifetch  0x00000001 , 0x00000011 
+ 00026752  0x0000417e call  0x00007338 
+ 00026753  0x0000417f force  0x00000050 , 0x00000036 
+ 00026754  0x00004180 force  0x00000000 , 0x00000036 
+ 00026755  0x00004181 call  0x000072d1 
+ 00026756  0x00004182 arg  0x00000ace , 0x00000005 
+ 00026757  0x00004183 branch  0x0000734c 
+ 00026758  0x00004186 ifetcht  0x00000001 , 0x00000011 
+ 00026759  0x00004187 isub  0x00000002 , 0x0000003e 
+ 00026760  0x00004188 nrtn  0x00000005 
+ 00026761  0x00004189 copy  0x00000006 , 0x00000011 
+ 00026762  0x0000418a add  0x00000006 , 0x00000008 , 0x00000013 
+ 00026763  0x0000418b arg  0x0000449f , 0x00000012 
+ 00026764  0x0000418c arg  0x00000008 , 0x00000039 
+ 00026765  0x0000418d call  0x00007d63 
+ 00026766  0x0000418e branch  0x00007dbf , 0x00000005 
+ 00026767  0x0000418f copy  0x00000013 , 0x00000011 
+ 00026768  0x00004190 arg  0x000044a7 , 0x00000012 
+ 00026769  0x00004191 arg  0x00000008 , 0x00000039 
+ 00026770  0x00004192 call  0x00007d63 
+ 00026771  0x00004193 branch  0x00007dbf , 0x00000005 
+ 00026772  0x00004194 rtn 
+ 00026773  0x00004197 fetch  0x00000002 , 0x00004214 
+ 00026774  0x00004198 ifetcht  0x00000001 , 0x0000003f 
+ 00026775  0x00004199 pincrease  0x00000022 
+ 00026776  0x0000419a ifetch  0x00000001 , 0x0000003f 
+ 00026777  0x0000419b isub  0x00000002 , 0x0000003e 
+ 00026778  0x0000419c rtn 
+ 00026779  0x0000419f fetch  0x00000001 , 0x00004216 
+ 00026780  0x000041a0 icopy  0x00000039 
+ 00026781  0x000041a1 fetcht  0x00000002 , 0x00004214 
+ 00026782  0x000041a2 setarg  0x00000000 
+ 00026783  0x000041a4 istore  0x00000001 , 0x00000002 
+ 00026784  0x000041a5 increase  0x00000022 , 0x00000002 
+ 00026785  0x000041a6 pincrease  0x00000001 
+ 00026786  0x000041a7 loop  0x0000689f 
+ 00026787  0x000041a8 rtn 
+ 00026788  0x000041ab bpatchx  0x0000004f , 0x00004029 
+ 00026789  0x000041ac call  0x00006830 
+ 00026790  0x000041ad fetch  0x00000001 , 0x00000030 
+ 00026791  0x000041ae setflag  0x00000028 , 0x00000006 , 0x0000003f 
+ 00026792  0x000041af store  0x00000001 , 0x00000030 
+ 00026793  0x000041b0 nbranch  0x000068ae , 0x00000028 
+ 00026794  0x000041b1 add  0x00000011 , 0x0000000a , 0x00000006 
+ 00026795  0x000041b3 arg  0x000041bf , 0x00000005 
+ 00026796  0x000041b4 call  0x00007c9a 
+ 00026797  0x000041b5 branch  0x000068be 
+ 00026798  0x000041b7 jam  0x00000000 , 0x000041be 
+ 00026799  0x000041b8 rtn 
+ 00026800  0x000041bb fetch  0x00000009 , 0x0000449d 
+ 00026801  0x000041bc branch  0x000068bc , 0x00000034 
+ 00026802  0x000041bd call  0x00006830 
+ 00026803  0x000041be nbranch  0x000068bc , 0x00000028 
+ 00026804  0x000041bf fetch  0x00000002 , 0x0000018a 
+ 00026805  0x000041c0 add  0x0000003f , 0x00000001 , 0x00000006 
+ 00026806  0x000041c1 arg  0x000044a7 , 0x00000005 
+ 00026807  0x000041c2 call  0x00007c9a 
+ 00026808  0x000041c3 arg  0x000043eb , 0x00000005 
+ 00026809  0x000041c4 call  0x00007c9a 
+ 00026810  0x000041c5 jam  0x00000001 , 0x000043fb 
+ 00026811  0x000041c6 rtn 
+ 00026812  0x000041c9 jam  0x00000000 , 0x000043fb 
+ 00026813  0x000041ca rtn 
+ 00026814  0x000041d0 fetch  0x00000008 , 0x000041bf 
+ 00026815  0x000041d1 fetcht  0x00000008 , 0x000041c7 
+ 00026816  0x000041d2 ior  0x00000002 , 0x0000003f 
+ 00026817  0x000041d3 rtn  0x00000034 
+ 00026818  0x000041d4 jam  0x00000001 , 0x000041be 
+ 00026819  0x000041d5 rtn 
+ 00026820  0x000041dd rtn  0x0000002b 
+ 00026821  0x000041de jam  0x00000000 , 0x00004539 
+ 00026822  0x000041df jam  0x00000003 , 0x000004e9 
+ 00026823  0x000041e0 jam  0x00000003 , 0x000004ea 
+ 00026824  0x000041e1 jam  0x00000011 , 0x000004ee 
+ 00026825  0x000041e2 jam  0x00000013 , 0x000004ef 
+ 00026826  0x000041e3 setarg  0x00000000 
+ 00026827  0x000041e4 store  0x00000003 , 0x000004eb 
+ 00026828  0x000041e5 store  0x00000001 , 0x00004226 
+ 00026829  0x000041e6 jam  0x00000000 , 0x00004651 
+ 00026830  0x000041e9 bpatchx  0x00000050 , 0x0000402a 
+ 00026831  0x000041ea setarg  0x00000000 
+ 00026832  0x000041eb store  0x00000001 , 0x00004226 
+ 00026833  0x000041ec store  0x00000001 , 0x00004536 
+ 00026834  0x000041ed store  0x00000001 , 0x0000452f 
+ 00026835  0x000041ee fetch  0x00000001 , 0x0000453d 
+ 00026836  0x000041ef beq  0x00000001 , 0x000068d7 
+ 00026837  0x000041f0 jam  0x00000050 , 0x0000453b 
+ 00026838  0x000041f1 rtn 
+ 00026839  0x000041f4 jam  0x00000000 , 0x0000453b 
+ 00026840  0x000041f5 rtn 
+ 00026841  0x000041f8 or_into  0x00000002 , 0x00000002 
+ 00026842  0x000041f9 rtn 
+ 00026843  0x00004206 copy  0x00000002 , 0x0000003f 
+ 00026844  0x00004207 reverse  0x0000003f , 0x0000003f 
+ 00026845  0x00004208 store  0x00000001 , 0x00004534 
+ 00026846  0x00004209 force  0x0000003f , 0x0000003f 
+ 00026847  0x0000420a reverse  0x0000003f , 0x0000003f 
+ 00026848  0x0000420b store  0x00000001 , 0x00004533 
+ 00026849  0x0000420c force  0x00000001 , 0x0000003f 
+ 00026850  0x0000420d reverse  0x0000003f , 0x0000003f 
+ 00026851  0x0000420e store  0x00000001 , 0x00004532 
+ 00026852  0x0000420f call  0x00006911 
+ 00026853  0x00004210 copy  0x00000002 , 0x0000003f 
+ 00026854  0x00004211 rtn 
+ 00026855  0x00004213 reverse  0x0000003f , 0x0000003f 
+ 00026856  0x00004214 store  0x00000001 , 0x00004534 
+ 00026857  0x00004215 force  0x00000073 , 0x0000003f 
+ 00026858  0x00004216 reverse  0x0000003f , 0x0000003f 
+ 00026859  0x00004217 store  0x00000001 , 0x00004533 
+ 00026860  0x00004218 force  0x00000001 , 0x0000003f 
+ 00026861  0x00004219 reverse  0x0000003f , 0x0000003f 
+ 00026862  0x0000421a store  0x00000001 , 0x00004532 
+ 00026863  0x0000421b branch  0x00006911 
+ 00026864  0x0000421e fetch  0x00000001 , 0x00004535 
+ 00026865  0x0000421f branch  0x000068f4 , 0x00000034 
+ 00026866  0x00004220 setarg  0x00000070 
+ 00026867  0x00004221 rtn 
+ 00026868  0x00004223 setarg  0x000000aa 
+ 00026869  0x00004224 rtn 
+ 00026870  0x00004227 reverse  0x0000003f , 0x0000003f 
+ 00026871  0x00004228 store  0x00000001 , 0x00004534 
+ 00026872  0x00004229 force  0x000000ef , 0x0000003f 
+ 00026873  0x0000422a call  0x00006905 
+ 00026874  0x0000422b fetcht  0x00000002 , 0x000004f3 
+ 00026875  0x0000422c copy  0x00000002 , 0x00000005 
+ 00026876  0x0000422d istore  0x00000001 , 0x00000005 
+ 00026877  0x0000422e copy  0x00000005 , 0x00000002 
+ 00026878  0x0000422f storet  0x00000002 , 0x000004f3 
+ 00026879  0x00004230 force  0x000000ff , 0x0000003f 
+ 00026880  0x00004231 call  0x00006905 
+ 00026881  0x00004232 fetcht  0x00000002 , 0x000004f3 
+ 00026882  0x00004233 copy  0x00000002 , 0x00000005 
+ 00026883  0x00004234 istore  0x00000001 , 0x00000005 
+ 00026884  0x00004235 rtn 
+ 00026885  0x0000423f reverse  0x0000003f , 0x0000003f 
+ 00026886  0x00004240 store  0x00000001 , 0x00004533 
+ 00026887  0x00004241 fetch  0x00000002 , 0x00004533 
+ 00026888  0x00004242 lshift8  0x0000003f , 0x0000003f 
+ 00026889  0x00004243 store  0x00000003 , 0x000004f0 
+ 00026890  0x00004244 arg  0x00000107 , 0x00000011 
+ 00026891  0x00004245 arg  0x0000000f , 0x00000012 
+ 00026892  0x00004246 call  0x0000691e 
+ 00026893  0x00004247 xor_into  0x000000d7 , 0x0000003f 
+ 00026894  0x00004248 invert  0x0000003f , 0x0000003f 
+ 00026895  0x00004249 reverse  0x0000003f , 0x0000003f 
+ 00026896  0x0000424a rtn 
+ 00026897  0x00004255 fetch  0x00000003 , 0x00004532 
+ 00026898  0x00004256 store  0x00000003 , 0x000004f0 
+ 00026899  0x00004257 arg  0x00000107 , 0x00000011 
+ 00026900  0x00004258 arg  0x0000000f , 0x00000012 
+ 00026901  0x00004259 call  0x0000691e 
+ 00026902  0x0000425a lshift8  0x0000003f , 0x0000003f 
+ 00026903  0x0000425b arg  0x00000007 , 0x00000012 
+ 00026904  0x0000425c call  0x0000691e 
+ 00026905  0x0000425d xor_into  0x0000002b , 0x0000003f 
+ 00026906  0x0000425e invert  0x0000003f , 0x0000003f 
+ 00026907  0x0000425f reverse  0x0000003f , 0x0000003f 
+ 00026908  0x00004260 copy  0x0000003f , 0x00000002 
+ 00026909  0x00004261 rtn 
+ 00026910  0x00004264 arg  0x00000000 , 0x00000013 
+ 00026911  0x00004265 copy  0x00000012 , 0x00000039 
+ 00026912  0x00004266 call  0x00007c4c 
+ 00026913  0x00004267 icopy  0x00000002 
+ 00026914  0x0000426d copy  0x00000002 , 0x0000003f 
+ 00026915  0x0000426e lshift  0x00000013 , 0x00000013 
+ 00026916  0x0000426f bbit0  0x00000008 , 0x00006927 
+ 00026917  0x00004270 ixor  0x00000011 , 0x00000002 
+ 00026918  0x00004271 increase  0x00000001 , 0x00000013 
+ 00026919  0x00004273 lshift  0x00000002 , 0x00000002 
+ 00026920  0x00004274 fetch  0x00000003 , 0x000004f0 
+ 00026921  0x00004275 increase  0xffffffff , 0x00000012 
+ 00026922  0x00004276 compare  0x000000ff , 0x00000012 , 0x000000ff 
+ 00026923  0x00004277 branch  0x00006931 , 0x00000001 
+ 00026924  0x00004278 copy  0x00000012 , 0x00000039 
+ 00026925  0x00004279 call  0x00007c4c 
+ 00026926  0x0000427a isolate1  0x00000000 , 0x0000003f 
+ 00026927  0x0000427b setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00026928  0x0000427c branch  0x00006922 
+ 00026929  0x0000427f rshift  0x00000002 , 0x0000003f 
+ 00026930  0x00004280 rtn 
+ 00026931  0x00004283 fetcht  0x00000001 , 0x0000452f 
+ 00026932  0x00004286 lshift2  0x00000002 , 0x00000002 
+ 00026933  0x00004287 set1  0x00000000 , 0x00000002 
+ 00026934  0x00004288 fetch  0x00000001 , 0x00004535 
+ 00026935  0x00004289 ncall  0x000068d9 , 0x00000034 
+ 00026936  0x0000428a storet  0x00000001 , 0x00000509 
+ 00026937  0x0000428b rtn 
+ 00026938  0x0000428f lshift  0x00000002 , 0x00000002 
+ 00026939  0x00004290 fetch  0x00000001 , 0x00004535 
+ 00026940  0x00004291 setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00026941  0x00004293 rtn 
+ 00026942  0x00004295 fetcht  0x00000001 , 0x000004f8 
+ 00026943  0x00004296 jam  0x000000d7 , 0x000004fa 
+ 00026944  0x00004297 call  0x00006a77 
+ 00026945  0x00004298 fetch  0x00000001 , 0x00004223 
+ 00026946  0x00004299 set1  0x00000006 , 0x0000003f 
+ 00026947  0x0000429a set1  0x00000007 , 0x0000003f 
+ 00026948  0x0000429b store  0x00000001 , 0x00004223 
+ 00026949  0x0000429c jam  0x00000000 , 0x00004535 
+ 00026950  0x0000429d branch  0x00006a58 
+ 00026951  0x0000429f fetch  0x00000001 , 0x00004223 
+ 00026952  0x000042a0 set1  0x00000007 , 0x0000003f 
+ 00026953  0x000042a1 store  0x00000001 , 0x00004223 
+ 00026954  0x000042a2 branch  0x00006a58 
+ 00026955  0x000042a6 bpatchx  0x00000051 , 0x0000402a 
+ 00026956  0x000042a7 fetch  0x00000001 , 0x00004651 
+ 00026957  0x000042a8 beq  0x00000000 , 0x0000694f 
+ 00026958  0x000042a9 branch  0x00006a0d 
+ 00026959  0x000042ac fetch  0x00000002 , 0x00000260 
+ 00026960  0x000042ad copy  0x0000003f , 0x00000006 
+ 00026961  0x000042ae call  0x00006979 
+ 00026962  0x000042af fetch  0x00000001 , 0x000004f8 
+ 00026963  0x000042b0 beq  0x00000000 , 0x00006955 
+ 00026964  0x000042b1 branch  0x000069d9 
+ 00026965  0x000042b3 bpatchx  0x00000052 , 0x0000402a 
+ 00026966  0x000042b4 fetch  0x00000001 , 0x000004f9 
+ 00026967  0x000042b5 beq  0x0000003f , 0x0000693e 
+ 00026968  0x000042b6 beq  0x00000073 , 0x00006947 
+ 00026969  0x000042b7 beq  0x000000ef , 0x0000695c 
+ 00026970  0x000042b8 beq  0x00000053 , 0x00006a05 
+ 00026971  0x000042b9 rtn 
+ 00026972  0x000042bd fetch  0x00000002 , 0x000004fd 
+ 00026973  0x000042be copy  0x0000003f , 0x00000006 
+ 00026974  0x000042bf call  0x00006984 
+ 00026975  0x000042c0 fetch  0x00000001 , 0x000004ff 
+ 00026976  0x000042c1 beq  0x00000041 , 0x00006966 
+ 00026977  0x000042c2 beq  0x00000040 , 0x0000696e 
+ 00026978  0x000042c3 beq  0x00000071 , 0x000069a7 
+ 00026979  0x000042c4 beq  0x00000070 , 0x000069b3 
+ 00026980  0x000042c5 beq  0x00000049 , 0x000069be 
+ 00026981  0x000042c6 branch  0x00006a58 
+ 00026982  0x000042c9 call  0x00006970 
+ 00026983  0x000042cb branch  0x00006968 
+ 00026984  0x000042ce fetch  0x00000001 , 0x00004226 
+ 00026985  0x000042cf set1  0x00000000 , 0x0000003f 
+ 00026986  0x000042d0 set1  0x00000001 , 0x0000003f 
+ 00026987  0x000042d1 store  0x00000001 , 0x00004226 
+ 00026988  0x000042d2 call  0x00006aa1 
+ 00026989  0x000042d3 branch  0x00006a58 
+ 00026990  0x000042d6 call  0x00006970 
+ 00026991  0x000042d7 branch  0x00006a58 
+ 00026992  0x000042da call  0x0000698c 
+ 00026993  0x000042db branch  0x00006998 
+ 00026994  0x000042de call  0x0000698c 
+ 00026995  0x000042df ifetch  0x00000001 , 0x00000006 
+ 00026996  0x000042e0 rshift3  0x0000003f , 0x0000003f 
+ 00026997  0x000042e1 store  0x00000001 , 0x0000453c 
+ 00026998  0x000042e2 ifetch  0x00000001 , 0x00000006 
+ 00026999  0x000042e3 store  0x00000001 , 0x00000504 
+ 00027000  0x000042e4 rtn 
+ 00027001  0x000042e8 ifetch  0x00000001 , 0x00000006 
+ 00027002  0x000042e9 store  0x00000001 , 0x000004f7 
+ 00027003  0x000042ea rshift3  0x0000003f , 0x0000003f 
+ 00027004  0x000042eb store  0x00000001 , 0x000004f8 
+ 00027005  0x000042ec ifetch  0x00000001 , 0x00000006 
+ 00027006  0x000042ed store  0x00000001 , 0x000004f9 
+ 00027007  0x000042ef call  0x0000698f 
+ 00027008  0x000042f0 storet  0x00000002 , 0x000004fb 
+ 00027009  0x000042f1 copy  0x00000006 , 0x0000003f 
+ 00027010  0x000042f2 store  0x00000002 , 0x000004fd 
+ 00027011  0x000042f3 rtn 
+ 00027012  0x000042f6 ifetch  0x00000001 , 0x00000006 
+ 00027013  0x000042f7 rshift  0x0000003f , 0x0000003f 
+ 00027014  0x000042f8 store  0x00000001 , 0x000004ff 
+ 00027015  0x000042f9 call  0x0000698f 
+ 00027016  0x000042fa storet  0x00000002 , 0x00000500 
+ 00027017  0x000042fb copy  0x00000006 , 0x0000003f 
+ 00027018  0x000042fc store  0x00000002 , 0x00000502 
+ 00027019  0x000042fd rtn 
+ 00027020  0x00004301 fetch  0x00000002 , 0x00000502 
+ 00027021  0x00004302 copy  0x0000003f , 0x00000006 
+ 00027022  0x00004303 rtn 
+ 00027023  0x00004306 ifetch  0x00000001 , 0x00000006 
+ 00027024  0x00004307 copy  0x0000003f , 0x00000002 
+ 00027025  0x00004308 rshift  0x00000002 , 0x00000002 
+ 00027026  0x00004309 rtnbit1  0x00000000 
+ 00027027  0x0000430a ifetch  0x00000001 , 0x00000006 
+ 00027028  0x0000430b lshift3  0x0000003f , 0x0000003f 
+ 00027029  0x0000430c lshift4  0x0000003f , 0x0000003f 
+ 00027030  0x0000430d iadd  0x00000002 , 0x00000002 
+ 00027031  0x0000430e rtn 
+ 00027032  0x00004311 ifetch  0x00000001 , 0x00000006 
+ 00027033  0x00004312 store  0x00000001 , 0x0000452f 
+ 00027034  0x00004313 ifetch  0x00000001 , 0x00000006 
+ 00027035  0x00004314 store  0x00000001 , 0x00000505 
+ 00027036  0x00004315 ifetch  0x00000001 , 0x00000006 
+ 00027037  0x00004316 store  0x00000001 , 0x00000506 
+ 00027038  0x00004317 ifetch  0x00000001 , 0x00000006 
+ 00027039  0x00004318 store  0x00000001 , 0x00000507 
+ 00027040  0x00004319 ifetch  0x00000002 , 0x00000006 
+ 00027041  0x0000431a store  0x00000002 , 0x00004530 
+ 00027042  0x0000431b ifetch  0x00000001 , 0x00000006 
+ 00027043  0x0000431c store  0x00000001 , 0x00000508 
+ 00027044  0x0000431d ifetch  0x00000001 , 0x00000006 
+ 00027045  0x0000431e store  0x00000001 , 0x0000453a 
+ 00027046  0x0000431f rtn 
+ 00027047  0x00004323 call  0x00006972 
+ 00027048  0x00004325 branch  0x000069a9 
+ 00027049  0x00004328 fetch  0x00000001 , 0x00004226 
+ 00027050  0x00004329 set1  0x00000005 , 0x0000003f 
+ 00027051  0x0000432a set1  0x00000006 , 0x0000003f 
+ 00027052  0x0000432b store  0x00000001 , 0x00004226 
+ 00027053  0x0000432c fetcht  0x00000001 , 0x0000452f 
+ 00027054  0x0000432d lshift2  0x00000002 , 0x00000002 
+ 00027055  0x0000432e or_into  0x00000003 , 0x00000002 
+ 00027056  0x0000432f call  0x00006ad2 
+ 00027057  0x00004330 jam  0x00000003 , 0x00004539 
+ 00027058  0x00004331 branch  0x00006a58 
+ 00027059  0x00004334 jam  0x00000008 , 0x00000a95 
+ 00027060  0x00004335 call  0x00007bab 
+ 00027061  0x00004336 call  0x00006972 
+ 00027062  0x00004337 fetch  0x00000001 , 0x0000453c 
+ 00027063  0x00004338 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00027064  0x00004339 branch  0x000069ba , 0x00000005 
+ 00027065  0x0000433a branch  0x00004a8b 
+ 00027066  0x0000433c fetch  0x00000001 , 0x00004226 
+ 00027067  0x0000433d set1  0x00000007 , 0x0000003f 
+ 00027068  0x0000433e store  0x00000001 , 0x00004226 
+ 00027069  0x0000433f branch  0x00006a58 
+ 00027070  0x00004342 call  0x0000698c 
+ 00027071  0x00004343 ifetch  0x00000001 , 0x00000006 
+ 00027072  0x00004344 store  0x00000001 , 0x00000abe 
+ 00027073  0x00004345 call  0x000056ac 
+ 00027074  0x00004346 call  0x000056ba 
+ 00027075  0x00004347 setarg  0x0000000e 
+ 00027076  0x00004348 istore  0x00000002 , 0x00000005 
+ 00027077  0x00004349 fetch  0x00000002 , 0x0000421c 
+ 00027078  0x0000434a istore  0x00000002 , 0x00000005 
+ 00027079  0x0000434b fetch  0x00000001 , 0x00004535 
+ 00027080  0x0000434d lshift  0x0000003f , 0x0000003f 
+ 00027081  0x0000434e set1  0x00000000 , 0x0000003f 
+ 00027082  0x0000434f istore  0x00000001 , 0x00000005 
+ 00027083  0x00004350 bpatchx  0x00000053 , 0x0000402a 
+ 00027084  0x00004351 setarg  0x000015ef 
+ 00027085  0x00004352 istore  0x00000002 , 0x00000005 
+ 00027086  0x00004353 setarg  0x00001191 
+ 00027087  0x00004354 istore  0x00000002 , 0x00000005 
+ 00027088  0x00004357 fetch  0x00000001 , 0x00000abe 
+ 00027089  0x00004358 istore  0x00000001 , 0x00000005 
+ 00027090  0x00004359 setarg  0x00000007 
+ 00027091  0x0000435a istore  0x00000005 , 0x00000005 
+ 00027092  0x0000435d setarg  0x00000001 
+ 00027093  0x0000435e istore  0x00000002 , 0x00000005 
+ 00027094  0x00004361 call  0x000068f0 
+ 00027095  0x00004362 istore  0x00000001 , 0x00000005 
+ 00027096  0x00004363 rtn 
+ 00027097  0x00004368 branch  0x000069da 
+ 00027098  0x0000436b bpatchx  0x00000054 , 0x0000402a 
+ 00027099  0x0000436c fetch  0x00000001 , 0x000004f9 
+ 00027100  0x0000436d beq  0x00000073 , 0x000069e2 
+ 00027101  0x0000436e beq  0x0000003f , 0x000069e6 
+ 00027102  0x0000436f beq  0x000000ef , 0x00006a00 
+ 00027103  0x00004370 beq  0x000000ff , 0x000069f8 
+ 00027104  0x00004371 beq  0x00000053 , 0x00006a07 
+ 00027105  0x00004372 rtn 
+ 00027106  0x00004374 fetch  0x00000001 , 0x00004226 
+ 00027107  0x00004375 set1  0x00000003 , 0x0000003f 
+ 00027108  0x00004376 store  0x00000001 , 0x00004226 
+ 00027109  0x00004377 branch  0x00006a58 
+ 00027110  0x00004379 fetch  0x00000001 , 0x00004226 
+ 00027111  0x0000437a set1  0x00000003 , 0x0000003f 
+ 00027112  0x0000437b set1  0x00000002 , 0x0000003f 
+ 00027113  0x0000437c store  0x00000001 , 0x00004226 
+ 00027114  0x0000437d fetch  0x00000001 , 0x000004f7 
+ 00027115  0x0000437e call  0x000068e7 
+ 00027116  0x0000437f store  0x00000001 , 0x000004fa 
+ 00027117  0x00004380 call  0x00006a77 
+ 00027118  0x00004381 fetch  0x00000001 , 0x000004f7 
+ 00027119  0x00004382 rshift2  0x0000003f , 0x0000003f 
+ 00027120  0x00004383 store  0x00000001 , 0x0000452f 
+ 00027121  0x00004384 lshift2  0x0000003f , 0x0000003f 
+ 00027122  0x00004385 set0  0x00000001 , 0x0000003f 
+ 00027123  0x00004386 set1  0x00000000 , 0x0000003f 
+ 00027124  0x00004387 arg  0x00004537 , 0x00000002 
+ 00027125  0x00004388 storet  0x00000002 , 0x000004f3 
+ 00027126  0x00004389 call  0x000068f6 
+ 00027127  0x0000438a branch  0x00006a58 
+ 00027128  0x0000438d fetch  0x00000002 , 0x000004fd 
+ 00027129  0x0000438e copy  0x0000003f , 0x00000006 
+ 00027130  0x0000438f increase  0x00000001 , 0x0000003f 
+ 00027131  0x00004390 store  0x00000002 , 0x000004fd 
+ 00027132  0x00004391 ifetch  0x00000001 , 0x00000006 
+ 00027133  0x00004392 fetcht  0x00000001 , 0x0000453a 
+ 00027134  0x00004393 iadd  0x00000002 , 0x0000003f 
+ 00027135  0x00004394 store  0x00000001 , 0x0000453a 
+ 00027136  0x00004396 call  0x00006b01 
+ 00027137  0x00004398 call  0x00006933 
+ 00027138  0x00004399 call  0x00006ae9 
+ 00027139  0x0000439a call  0x00006b0a 
+ 00027140  0x0000439b branch  0x00006a58 
+ 00027141  0x0000439e jam  0x00000009 , 0x00000a95 
+ 00027142  0x0000439f call  0x00007bab 
+ 00027143  0x000043a1 call  0x000068ce 
+ 00027144  0x000043a2 fetch  0x00000001 , 0x000004f7 
+ 00027145  0x000043a3 call  0x000068e7 
+ 00027146  0x000043a4 store  0x00000001 , 0x000004fa 
+ 00027147  0x000043a5 call  0x00006a77 
+ 00027148  0x000043a6 branch  0x00006a58 
+ 00027149  0x000043ac fetch  0x00000002 , 0x00000260 
+ 00027150  0x000043ad copy  0x0000003f , 0x00000006 
+ 00027151  0x000043ae call  0x00006979 
+ 00027152  0x000043af fetch  0x00000001 , 0x000004f8 
+ 00027153  0x000043b0 beq  0x00000000 , 0x00006a13 
+ 00027154  0x000043b1 branch  0x00006a47 
+ 00027155  0x000043b4 bpatchx  0x00000055 , 0x0000402a 
+ 00027156  0x000043b5 fetch  0x00000001 , 0x000004f9 
+ 00027157  0x000043b6 beq  0x0000003f , 0x0000693e 
+ 00027158  0x000043b7 beq  0x00000073 , 0x00006947 
+ 00027159  0x000043b8 beq  0x000000ef , 0x00006a19 
+ 00027160  0x000043b9 branch  0x00006a58 
+ 00027161  0x000043bb fetch  0x00000002 , 0x000004fd 
+ 00027162  0x000043bc copy  0x0000003f , 0x00000006 
+ 00027163  0x000043bd call  0x00006984 
+ 00027164  0x000043be fetch  0x00000001 , 0x000004ff 
+ 00027165  0x000043bf beq  0x00000041 , 0x00006a22 
+ 00027166  0x000043c0 beq  0x00000040 , 0x00006a22 
+ 00027167  0x000043c1 beq  0x00000071 , 0x00006a2d 
+ 00027168  0x000043c2 beq  0x00000070 , 0x00006a3d 
+ 00027169  0x000043c3 branch  0x00006a58 
+ 00027170  0x000043c6 call  0x00006970 
+ 00027171  0x000043c7 fetch  0x00000001 , 0x0000452f 
+ 00027172  0x000043c8 rshift  0x0000003f , 0x0000003f 
+ 00027173  0x000043c9 fetcht  0x00000001 , 0x00004536 
+ 00027174  0x000043ca isub  0x00000002 , 0x0000003e 
+ 00027175  0x000043cb branch  0x00006a29 , 0x00000005 
+ 00027176  0x000043cc branch  0x00004a8b 
+ 00027177  0x000043ce fetch  0x00000001 , 0x00004226 
+ 00027178  0x000043cf set1  0x00000001 , 0x0000003f 
+ 00027179  0x000043d0 store  0x00000001 , 0x00004226 
+ 00027180  0x000043d1 branch  0x00006a58 
+ 00027181  0x000043d4 call  0x00006972 
+ 00027182  0x000043d5 fetch  0x00000001 , 0x0000453c 
+ 00027183  0x000043d6 fetcht  0x00000001 , 0x00004536 
+ 00027184  0x000043d7 isub  0x00000002 , 0x0000003e 
+ 00027185  0x000043d8 branch  0x00006a34 , 0x00000005 
+ 00027186  0x000043d9 branch  0x00004a8b 
+ 00027187  0x000043da branch  0x00006a58 
+ 00027188  0x000043dc fetch  0x00000001 , 0x00004226 
+ 00027189  0x000043dd set1  0x00000005 , 0x0000003f 
+ 00027190  0x000043de set1  0x00000006 , 0x0000003f 
+ 00027191  0x000043df store  0x00000001 , 0x00004226 
+ 00027192  0x000043e0 fetcht  0x00000001 , 0x0000452f 
+ 00027193  0x000043e1 lshift2  0x00000002 , 0x00000002 
+ 00027194  0x000043e2 or_into  0x00000003 , 0x00000002 
+ 00027195  0x000043e3 call  0x00006ad2 
+ 00027196  0x000043e4 branch  0x00006a58 
+ 00027197  0x000043e7 call  0x00006972 
+ 00027198  0x000043e8 fetch  0x00000001 , 0x0000453c 
+ 00027199  0x000043e9 fetcht  0x00000001 , 0x00004536 
+ 00027200  0x000043ea isub  0x00000002 , 0x0000003e 
+ 00027201  0x000043eb branch  0x00006a43 , 0x00000005 
+ 00027202  0x000043ec branch  0x00004a8b 
+ 00027203  0x000043ee fetch  0x00000001 , 0x00004226 
+ 00027204  0x000043ef set1  0x00000007 , 0x0000003f 
+ 00027205  0x000043f0 store  0x00000001 , 0x00004226 
+ 00027206  0x000043f1 branch  0x00006a58 
+ 00027207  0x000043f4 fetch  0x00000001 , 0x000004f8 
+ 00027208  0x000043f5 fetcht  0x00000001 , 0x00004536 
+ 00027209  0x000043f6 isub  0x00000002 , 0x0000003e 
+ 00027210  0x000043f7 branch  0x00006a4d , 0x00000005 
+ 00027211  0x000043f8 branch  0x00004a8b 
+ 00027212  0x000043f9 branch  0x00006a58 
+ 00027213  0x000043fc fetch  0x00000001 , 0x000004f9 
+ 00027214  0x000043fd beq  0x00000073 , 0x00006a52 
+ 00027215  0x000043fe beq  0x000000ef , 0x00006a00 
+ 00027216  0x000043ff beq  0x000000ff , 0x000069f8 
+ 00027217  0x00004400 beq  0x00000053 , 0x00006a57 
+ 00027218  0x00004402 fetch  0x00000001 , 0x00004226 
+ 00027219  0x00004403 set1  0x00000003 , 0x0000003f 
+ 00027220  0x00004404 store  0x00000001 , 0x00004226 
+ 00027221  0x00004405 branch  0x00006a58 
+ 00027222  0x00004407 branch  0x00006a56 
+ 00027223  0x00004409 branch  0x00006a07 
+ 00027224  0x0000440b rtn 
+ 00027225  0x0000440e fetch  0x00000001 , 0x00004539 
+ 00027226  0x0000440f rtn  0x00000034 
+ 00027227  0x00004410 beq  0x00000003 , 0x00006a5d 
+ 00027228  0x00004411 branch  0x00004a8b 
+ 00027229  0x00004414 jam  0x00000000 , 0x00004539 
+ 00027230  0x00004415 call  0x000056ac 
+ 00027231  0x00004416 arg  0x00000001 , 0x00000002 
+ 00027232  0x00004417 fetcht  0x00000001 , 0x0000452f 
+ 00027233  0x00004418 lshift2  0x00000002 , 0x00000002 
+ 00027234  0x0000441a or_into  0x00000003 , 0x00000002 
+ 00027235  0x0000441b arg  0x000000aa , 0x00000011 
+ 00027236  0x0000441c call  0x00006abd 
+ 00027237  0x0000441d call  0x000056ba 
+ 00027238  0x0000441e copy  0x00000005 , 0x00000006 
+ 00027239  0x0000441f ifetch  0x00000002 , 0x00000006 
+ 00027240  0x00004420 branch  0x00004a8b , 0x00000034 
+ 00027241  0x00004421 rtn 
+ 00027242  0x00004424 call  0x000056ba 
+ 00027243  0x00004425 setarg  0x00000004 
+ 00027244  0x00004426 istore  0x00000002 , 0x00000005 
+ 00027245  0x00004427 fetch  0x00000002 , 0x0000421c 
+ 00027246  0x00004428 istore  0x00000002 , 0x00000005 
+ 00027247  0x00004429 fetch  0x00000001 , 0x000004f7 
+ 00027248  0x0000442a istore  0x00000001 , 0x00000005 
+ 00027249  0x0000442b bpatchx  0x00000056 , 0x0000402a 
+ 00027250  0x0000442c setarg  0x0000013f 
+ 00027251  0x0000442d istore  0x00000002 , 0x00000005 
+ 00027252  0x0000442e fetch  0x00000001 , 0x000004fa 
+ 00027253  0x0000442f istore  0x00000001 , 0x00000005 
+ 00027254  0x00004430 rtn 
+ 00027255  0x00004432 call  0x000056ac 
+ 00027256  0x00004433 call  0x000056ba 
+ 00027257  0x00004434 setarg  0x00000004 
+ 00027258  0x00004435 istore  0x00000002 , 0x00000005 
+ 00027259  0x00004436 fetch  0x00000002 , 0x0000421c 
+ 00027260  0x00004437 istore  0x00000002 , 0x00000005 
+ 00027261  0x00004438 fetch  0x00000001 , 0x000004f7 
+ 00027262  0x00004439 istore  0x00000001 , 0x00000005 
+ 00027263  0x0000443a bpatchx  0x00000057 , 0x0000402a 
+ 00027264  0x0000443b setarg  0x00000173 
+ 00027265  0x0000443c istore  0x00000002 , 0x00000005 
+ 00027266  0x0000443d fetch  0x00000001 , 0x000004fa 
+ 00027267  0x0000443e istore  0x00000001 , 0x00000005 
+ 00027268  0x0000443f rtn 
+ 00027269  0x00004441 call  0x000056ba 
+ 00027270  0x00004442 setarg  0x0000000e 
+ 00027271  0x00004443 istore  0x00000002 , 0x00000005 
+ 00027272  0x00004444 fetch  0x00000002 , 0x0000421c 
+ 00027273  0x00004445 istore  0x00000002 , 0x00000005 
+ 00027274  0x00004446 fetch  0x00000001 , 0x00004535 
+ 00027275  0x00004447 lshift  0x0000003f , 0x0000003f 
+ 00027276  0x00004448 set1  0x00000000 , 0x0000003f 
+ 00027277  0x00004449 istore  0x00000001 , 0x00000005 
+ 00027278  0x0000444a bpatchx  0x00000058 , 0x0000402b 
+ 00027279  0x0000444b setarg  0x000015ef 
+ 00027280  0x0000444c istore  0x00000002 , 0x00000005 
+ 00027281  0x0000444d setarg  0x00001183 
+ 00027282  0x0000444e istore  0x00000002 , 0x00000005 
+ 00027283  0x0000444f copy  0x00000002 , 0x0000003f 
+ 00027284  0x00004450 istore  0x00000001 , 0x00000005 
+ 00027285  0x00004451 setarg  0x000000f0 
+ 00027286  0x00004452 istore  0x00000003 , 0x00000005 
+ 00027287  0x00004453 setarg  0x0000007f 
+ 00027288  0x00004454 istore  0x00000002 , 0x00000005 
+ 00027289  0x00004455 setarg  0x00000000 
+ 00027290  0x00004456 istore  0x00000001 , 0x00000005 
+ 00027291  0x00004457 setarg  0x00000001 
+ 00027292  0x00004458 istore  0x00000001 , 0x00000005 
+ 00027293  0x00004459 call  0x000068f0 
+ 00027294  0x0000445a istore  0x00000001 , 0x00000005 
+ 00027295  0x0000445b jam  0x00000010 , 0x0000453b 
+ 00027296  0x0000445c rtn 
+ 00027297  0x0000445e call  0x000056ac 
+ 00027298  0x0000445f call  0x000056ba 
+ 00027299  0x00004460 setarg  0x0000000e 
+ 00027300  0x00004461 istore  0x00000002 , 0x00000005 
+ 00027301  0x00004462 fetch  0x00000002 , 0x0000421c 
+ 00027302  0x00004463 istore  0x00000002 , 0x00000005 
+ 00027303  0x00004464 fetch  0x00000001 , 0x00004535 
+ 00027304  0x00004465 lshift  0x0000003f , 0x0000003f 
+ 00027305  0x00004466 set1  0x00000000 , 0x0000003f 
+ 00027306  0x00004467 istore  0x00000001 , 0x00000005 
+ 00027307  0x00004468 bpatchx  0x00000059 , 0x0000402b 
+ 00027308  0x00004469 setarg  0x000015ef 
+ 00027309  0x0000446a istore  0x00000002 , 0x00000005 
+ 00027310  0x0000446b setarg  0x00001181 
+ 00027311  0x0000446c istore  0x00000002 , 0x00000005 
+ 00027312  0x0000446d fetch  0x00000001 , 0x0000452f 
+ 00027313  0x0000446e istore  0x00000001 , 0x00000005 
+ 00027314  0x0000446f setarg  0x000000e0 
+ 00027315  0x00004470 istore  0x00000003 , 0x00000005 
+ 00027316  0x00004471 fetch  0x00000002 , 0x0000453e 
+ 00027317  0x00004472 istore  0x00000002 , 0x00000005 
+ 00027318  0x00004473 setarg  0x00000000 
+ 00027319  0x00004474 istore  0x00000001 , 0x00000005 
+ 00027320  0x00004475 fetch  0x00000001 , 0x00004540 
+ 00027321  0x00004476 istore  0x00000001 , 0x00000005 
+ 00027322  0x00004477 call  0x000068f0 
+ 00027323  0x00004478 istore  0x00000001 , 0x00000005 
+ 00027324  0x00004479 rtn 
+ 00027325  0x0000447b call  0x000056ba 
+ 00027326  0x0000447c setarg  0x00000008 
+ 00027327  0x0000447d istore  0x00000002 , 0x00000005 
+ 00027328  0x0000447e fetch  0x00000002 , 0x0000421c 
+ 00027329  0x0000447f istore  0x00000002 , 0x00000005 
+ 00027330  0x00004480 fetch  0x00000001 , 0x00004535 
+ 00027331  0x00004481 lshift  0x0000003f , 0x0000003f 
+ 00027332  0x00004482 set1  0x00000000 , 0x0000003f 
+ 00027333  0x00004483 istore  0x00000001 , 0x00000005 
+ 00027334  0x00004484 bpatchx  0x0000005a , 0x0000402b 
+ 00027335  0x00004485 setarg  0x000009ef 
+ 00027336  0x00004486 istore  0x00000002 , 0x00000005 
+ 00027337  0x00004487 setarg  0x000005e3 
+ 00027338  0x00004488 istore  0x00000002 , 0x00000005 
+ 00027339  0x00004489 copy  0x00000002 , 0x0000003f 
+ 00027340  0x0000448a istore  0x00000001 , 0x00000005 
+ 00027341  0x0000448b setarg  0x0000008d 
+ 00027342  0x0000448c istore  0x00000001 , 0x00000005 
+ 00027343  0x0000448d call  0x000068f0 
+ 00027344  0x0000448e istore  0x00000001 , 0x00000005 
+ 00027345  0x0000448f rtn 
+ 00027346  0x00004492 call  0x000056ac 
+ 00027347  0x00004493 call  0x000056ba 
+ 00027348  0x00004494 setarg  0x00000008 
+ 00027349  0x00004495 istore  0x00000002 , 0x00000005 
+ 00027350  0x00004496 fetch  0x00000002 , 0x0000421c 
+ 00027351  0x00004497 istore  0x00000002 , 0x00000005 
+ 00027352  0x00004498 copy  0x00000002 , 0x0000000b 
+ 00027353  0x00004499 fetch  0x00000001 , 0x00004535 
+ 00027354  0x0000449a lshift  0x0000003f , 0x0000003f 
+ 00027355  0x0000449b set1  0x00000000 , 0x0000003f 
+ 00027356  0x0000449c istore  0x00000001 , 0x00000005 
+ 00027357  0x0000449d bpatchx  0x0000005b , 0x0000402b 
+ 00027358  0x0000449e setarg  0x000009ef 
+ 00027359  0x0000449f istore  0x00000002 , 0x00000005 
+ 00027360  0x000044a0 setarg  0x000005e1 
+ 00027361  0x000044a1 istore  0x00000002 , 0x00000005 
+ 00027362  0x000044a2 copy  0x0000000b , 0x0000003f 
+ 00027363  0x000044a3 istore  0x00000001 , 0x00000005 
+ 00027364  0x000044a4 setarg  0x0000008d 
+ 00027365  0x000044a5 istore  0x00000001 , 0x00000005 
+ 00027366  0x000044a6 call  0x000068f0 
+ 00027367  0x000044a7 istore  0x00000001 , 0x00000005 
+ 00027368  0x000044a8 rtn 
+ 00027369  0x000044ab bpatchx  0x0000005c , 0x0000402b 
+ 00027370  0x000044ac fetch  0x00000001 , 0x0000453b 
+ 00027371  0x000044ad rtn  0x00000034 
+ 00027372  0x000044b0 copy  0x00000011 , 0x0000003f 
+ 00027373  0x000044b1 store  0x00000001 , 0x00000a97 
+ 00027374  0x000044b2 storet  0x00000001 , 0x00000a96 
+ 00027375  0x000044b3 call  0x00005648 
+ 00027376  0x000044b4 nrtn  0x00000034 
+ 00027377  0x000044b5 call  0x000056ac 
+ 00027378  0x000044b6 call  0x000056ba 
+ 00027379  0x000044b7 setarg  0x00000005 
+ 00027380  0x000044b8 istore  0x00000002 , 0x00000005 
+ 00027381  0x000044b9 fetch  0x00000002 , 0x0000421c 
+ 00027382  0x000044ba istore  0x00000002 , 0x00000005 
+ 00027383  0x000044bb fetch  0x00000001 , 0x00000509 
+ 00027384  0x000044bc istore  0x00000001 , 0x00000005 
+ 00027385  0x000044bd setarg  0x000001ff 
+ 00027386  0x000044be istore  0x00000002 , 0x00000005 
+ 00027387  0x000044bf fetch  0x00000001 , 0x0000453b 
+ 00027388  0x000044c0 istore  0x00000001 , 0x00000005 
+ 00027389  0x000044c1 fetch  0x00000001 , 0x00004538 
+ 00027390  0x000044c2 istore  0x00000001 , 0x00000005 
+ 00027391  0x000044c3 jam  0x00000000 , 0x0000453b 
+ 00027392  0x000044c4 rtn 
+ 00027393  0x000044c7 bpatchx  0x0000005d , 0x0000402b 
+ 00027394  0x000044c8 fetch  0x00000001 , 0x0000453d 
+ 00027395  0x000044c9 rtneq  0x00000001 
+ 00027396  0x000044ca fetch  0x00000002 , 0x000004fb 
+ 00027397  0x000044cb rtn  0x00000034 
+ 00027398  0x000044cc fetch  0x00000001 , 0x0000453b 
+ 00027399  0x000044cd increase  0x00000001 , 0x0000003f 
+ 00027400  0x000044ce store  0x00000001 , 0x0000453b 
+ 00027401  0x000044cf rtn 
+ 00027402  0x000044d2 fetch  0x00000002 , 0x00004541 
+ 00027403  0x000044d3 branch  0x00007d77 
+ 00027404  0x000044d6 bpatchx  0x0000005e , 0x0000402b 
+ 00027405  0x000044d8 fetch  0x00000001 , 0x0000453a 
+ 00027406  0x000044d9 rtn  0x00000034 
+ 00027407  0x000044da increase  0xffffffff , 0x0000003f 
+ 00027408  0x000044db store  0x00000001 , 0x0000453a 
+ 00027409  0x000044dc fetch  0x00000002 , 0x00004530 
+ 00027410  0x000044dd fetcht  0x00000002 , 0x0000466a 
+ 00027411  0x000044de isub  0x00000002 , 0x0000003e 
+ 00027412  0x000044df branch  0x00006b16 , 0x00000002 
+ 00027413  0x000044e0 store  0x00000002 , 0x0000466a 
+ 00027414  0x000044e2 fetch  0x00000001 , 0x0000453b 
+ 00027415  0x000044e3 branch  0x00006b1e , 0x00000034 
+ 00027416  0x000044e4 jam  0x00000001 , 0x0000050c 
+ 00027417  0x000044e5 fetch  0x00000001 , 0x00004538 
+ 00027418  0x000044e6 store  0x00000001 , 0x0000050b 
+ 00027419  0x000044e7 setarg  0x000000ff 
+ 00027420  0x000044e8 store  0x00000001 , 0x0000050a 
+ 00027421  0x000044e9 branch  0x00006b23 
+ 00027422  0x000044eb jam  0x00000000 , 0x0000050c 
+ 00027423  0x000044ec fetch  0x00000001 , 0x00004537 
+ 00027424  0x000044ed store  0x00000001 , 0x0000050b 
+ 00027425  0x000044ee setarg  0x000000ef 
+ 00027426  0x000044ef store  0x00000001 , 0x0000050a 
+ 00027427  0x000044f1 bpatchx  0x0000005f , 0x0000402b 
+ 00027428  0x000044f2 fetch  0x00000002 , 0x0000466a 
+ 00027429  0x000044f3 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027430  0x000044f4 branch  0x00006b2a , 0x00000002 
+ 00027431  0x000044f5 fetch  0x00000001 , 0x0000050c 
+ 00027432  0x000044f6 increase  0x00000001 , 0x0000003f 
+ 00027433  0x000044f7 store  0x00000001 , 0x0000050c 
+ 00027434  0x000044f9 call  0x00006933 
+ 00027435  0x000044fa fetch  0x00000002 , 0x0000466a 
+ 00027436  0x000044fb increase  0x00000008 , 0x0000003f 
+ 00027437  0x000044fc fetcht  0x00000001 , 0x0000050c 
+ 00027438  0x000044fd iadd  0x00000002 , 0x00000011 
+ 00027439  0x000044ff call  0x0000561a 
+ 00027440  0x00004500 store  0x00000002 , 0x00000273 
+ 00027441  0x00004501 increase  0x00000004 , 0x0000003f 
+ 00027442  0x00004502 store  0x00000002 , 0x00000275 
+ 00027443  0x00004503 copy  0x0000003f , 0x00000005 
+ 00027444  0x00004504 fetch  0x00000001 , 0x00000509 
+ 00027445  0x00004505 istore  0x00000001 , 0x00000005 
+ 00027446  0x00004506 fetch  0x00000001 , 0x0000050a 
+ 00027447  0x00004507 istore  0x00000001 , 0x00000005 
+ 00027448  0x00004508 call  0x00006b54 
+ 00027449  0x00004509 call  0x00006b65 
+ 00027450  0x0000450a bpatchx  0x00000060 , 0x0000402c 
+ 00027451  0x0000450b fetch  0x00000002 , 0x00004543 
+ 00027452  0x0000450c copy  0x0000003f , 0x00000003 
+ 00027453  0x0000450d fetch  0x00000002 , 0x0000466a 
+ 00027454  0x0000450e copy  0x0000003f , 0x00000039 
+ 00027455  0x0000450f call  0x000067da 
+ 00027456  0x00004510 copy  0x00000005 , 0x00000002 
+ 00027457  0x00004511 copy  0x00000003 , 0x0000003f 
+ 00027458  0x00004512 store  0x00000002 , 0x00004543 
+ 00027459  0x00004513 copy  0x00000002 , 0x00000005 
+ 00027460  0x00004514 fetch  0x00000001 , 0x0000050b 
+ 00027461  0x00004515 istore  0x00000001 , 0x00000005 
+ 00027462  0x00004516 fetch  0x00000002 , 0x00000273 
+ 00027463  0x00004517 copy  0x0000003f , 0x00000005 
+ 00027464  0x00004518 fetch  0x00000002 , 0x0000466a 
+ 00027465  0x00004519 fetcht  0x00000001 , 0x0000050c 
+ 00027466  0x0000451a iadd  0x00000002 , 0x0000003f 
+ 00027467  0x0000451b increase  0x00000004 , 0x0000003f 
+ 00027468  0x0000451c istore  0x00000002 , 0x00000005 
+ 00027469  0x0000451d fetch  0x00000002 , 0x0000421c 
+ 00027470  0x0000451e istore  0x00000002 , 0x00000005 
+ 00027471  0x0000451f jam  0x00000000 , 0x0000453b 
+ 00027472  0x00004520 fetch  0x00000002 , 0x00004545 
+ 00027473  0x00004521 beq  0x00000000 , 0x00004ed4 
+ 00027474  0x00004522 jam  0x00000000 , 0x00000b01 
+ 00027475  0x00004523 rtn 
+ 00027476  0x00004526 bpatchx  0x00000061 , 0x0000402c 
+ 00027477  0x00004527 fetch  0x00000002 , 0x0000466a 
+ 00027478  0x00004528 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027479  0x00004529 nbranch  0x00006b5c , 0x00000002 
+ 00027480  0x0000452a lshift  0x0000003f , 0x0000003f 
+ 00027481  0x0000452b set1  0x00000000 , 0x0000003f 
+ 00027482  0x0000452c istore  0x00000001 , 0x00000005 
+ 00027483  0x0000452d rtn 
+ 00027484  0x0000452f fetch  0x00000002 , 0x0000466a 
+ 00027485  0x00004530 rshift3  0x0000003f , 0x0000003f 
+ 00027486  0x00004531 rshift4  0x0000003f , 0x00000002 
+ 00027487  0x00004532 and_into  0x0000007f , 0x0000003f 
+ 00027488  0x00004533 lshift  0x0000003f , 0x0000003f 
+ 00027489  0x00004534 set0  0x00000000 , 0x0000003f 
+ 00027490  0x00004535 istore  0x00000001 , 0x00000005 
+ 00027491  0x00004536 istoret  0x00000001 , 0x00000005 
+ 00027492  0x00004537 rtn 
+ 00027493  0x00004539 fetch  0x00000001 , 0x0000453b 
+ 00027494  0x0000453a rtn  0x00000034 
+ 00027495  0x0000453b istore  0x00000001 , 0x00000005 
+ 00027496  0x0000453c rtn 
+ 00027497  0x00004542 bpatchx  0x00000062 , 0x0000402c 
+ 00027498  0x00004543 call  0x00007bc1 
+ 00027499  0x00004544 call  0x00004c8f 
+ 00027500  0x00004545 call  0x000066fd 
+ 00027501  0x00004547 bpatchx  0x00000063 , 0x0000402c 
+ 00027502  0x00004548 call  0x00007591 
+ 00027503  0x00004549 call  0x0000756a 
+ 00027504  0x0000454a call  0x0000757b 
+ 00027505  0x0000454d call  0x00005648 
+ 00027506  0x0000454e nrtn  0x00000034 
+ 00027507  0x00004550 call  0x00005183 
+ 00027508  0x00004551 call  0x00005648 
+ 00027509  0x00004552 nrtn  0x00000034 
+ 00027510  0x00004553 bpatchx  0x00000064 , 0x0000402c 
+ 00027511  0x00004555 call  0x00006bb4 
+ 00027512  0x00004556 call  0x0000533e 
+ 00027513  0x00004557 call  0x00006a59 
+ 00027514  0x00004559 call  0x00006b7d 
+ 00027515  0x0000455a bpatchx  0x00000065 , 0x0000402c 
+ 00027516  0x0000455d branch  0x00004c8b 
+ 00027517  0x00004560 fetch  0x00000001 , 0x0000027b 
+ 00027518  0x00004561 bbit1  0x00000000 , 0x00005461 
+ 00027519  0x00004562 bbit1  0x00000007 , 0x0000546b 
+ 00027520  0x00004563 rtn 
+ 00027521  0x00004566 bpatchx  0x00000066 , 0x0000402c 
+ 00027522  0x00004567 call  0x0000564e 
+ 00027523  0x00004568 rtn  0x00000034 
+ 00027524  0x00004569 fetch  0x00000001 , 0x0000004b 
+ 00027525  0x0000456a rtnbit1  0x00000006 
+ 00027526  0x0000456b call  0x00005632 
+ 00027527  0x0000456c store  0x00000002 , 0x0000016d 
+ 00027528  0x0000456d copy  0x0000003f , 0x00000006 
+ 00027529  0x0000456e ifetch  0x00000002 , 0x00000006 
+ 00027530  0x0000456f increase  0x00000004 , 0x0000003f 
+ 00027531  0x00004570 store  0x00000002 , 0x000041dd 
+ 00027532  0x00004571 jam  0x00000006 , 0x000041dc 
+ 00027533  0x00004572 bpatchx  0x00000067 , 0x0000402c 
+ 00027534  0x00004573 fetch  0x00000002 , 0x00004218 
+ 00027535  0x00004574 branch  0x00006b9c , 0x00000034 
+ 00027536  0x00004575 fetch  0x00000001 , 0x0000004b 
+ 00027537  0x00004576 rtnbit0  0x00000007 
+ 00027538  0x00004577 set0  0x00000007 , 0x0000003f 
+ 00027539  0x00004578 store  0x00000001 , 0x0000004b 
+ 00027540  0x00004579 jam  0x00000005 , 0x000041dc 
+ 00027541  0x0000457a fetcht  0x00000002 , 0x00004218 
+ 00027542  0x0000457b fetch  0x00000002 , 0x0000016d 
+ 00027543  0x0000457c iadd  0x00000002 , 0x0000003f 
+ 00027544  0x0000457d store  0x00000002 , 0x0000016d 
+ 00027545  0x0000457e fetch  0x00000002 , 0x000041dd 
+ 00027546  0x0000457f isub  0x00000002 , 0x0000003f 
+ 00027547  0x00004580 store  0x00000002 , 0x000041dd 
+ 00027548  0x00004582 bpatchx  0x00000068 , 0x0000402d 
+ 00027549  0x00004583 fetch  0x00000002 , 0x000041dd 
+ 00027550  0x00004584 branch  0x00004a8b , 0x00000034 
+ 00027551  0x00004585 arg  0x00000104 , 0x00000002 
+ 00027552  0x00004586 isub  0x00000002 , 0x0000003f 
+ 00027553  0x00004587 nbranch  0x00006ba8 , 0x00000002 
+ 00027554  0x00004588 bpatchx  0x00000069 , 0x0000402d 
+ 00027555  0x00004589 storet  0x00000002 , 0x000041dd 
+ 00027556  0x0000458a fetch  0x00000002 , 0x00004218 
+ 00027557  0x0000458b iadd  0x00000002 , 0x0000003f 
+ 00027558  0x0000458c store  0x00000002 , 0x00004218 
+ 00027559  0x0000458d branch  0x00006baa 
+ 00027560  0x0000458f setarg  0x00000000 
+ 00027561  0x00004590 store  0x00000002 , 0x00004218 
+ 00027562  0x00004592 fetch  0x00000001 , 0x0000004b 
+ 00027563  0x00004593 set1  0x00000006 , 0x0000003f 
+ 00027564  0x00004594 store  0x00000001 , 0x0000004b 
+ 00027565  0x00004595 rtn 
+ 00027566  0x00004598 fetch  0x00000001 , 0x00004654 
+ 00027567  0x00004599 bbit1  0x00000000 , 0x00006bb2 
+ 00027568  0x0000459a jam  0x00000001 , 0x00000283 
+ 00027569  0x0000459b rtn 
+ 00027570  0x0000459d jam  0x0000000f , 0x00000283 
+ 00027571  0x0000459e rtn 
+ 00027572  0x000045a1 fetch  0x00000001 , 0x00004651 
+ 00027573  0x000045a2 nbranch  0x00006bba , 0x00000034 
+ 00027574  0x000045a4 fetch  0x00000001 , 0x00000282 
+ 00027575  0x000045a6 rtn  0x00000034 
+ 00027576  0x000045a8 jam  0x00000000 , 0x00000282 
+ 00027577  0x000045aa rtn 
+ 00027578  0x000045ae bpatchx  0x0000006a , 0x0000402d 
+ 00027579  0x000045af fetch  0x00000001 , 0x00000283 
+ 00027580  0x000045b0 rtn  0x00000034 
+ 00027581  0x000045b1 beq  0x00000001 , 0x00006bda 
+ 00027582  0x000045b2 beq  0x00000002 , 0x00006c33 
+ 00027583  0x000045b3 beq  0x00000003 , 0x00006be0 
+ 00027584  0x000045b4 beq  0x00000004 , 0x00006c37 
+ 00027585  0x000045b5 beq  0x0000003b , 0x00006bea 
+ 00027586  0x000045b6 beq  0x0000003c , 0x00006c3a 
+ 00027587  0x000045b7 beq  0x0000000d , 0x00006bef 
+ 00027588  0x000045b8 beq  0x0000000e , 0x00006c3f 
+ 00027589  0x000045b9 beq  0x0000000f , 0x00006bf2 
+ 00027590  0x000045ba beq  0x00000010 , 0x00006c45 
+ 00027591  0x000045bb beq  0x00000011 , 0x00006bf8 
+ 00027592  0x000045bc beq  0x00000012 , 0x00006c49 
+ 00027593  0x000045bd beq  0x00000013 , 0x00006bfe 
+ 00027594  0x000045be beq  0x00000014 , 0x00006c4d 
+ 00027595  0x000045bf beq  0x00000015 , 0x00006c04 
+ 00027596  0x000045c0 beq  0x00000016 , 0x00006c51 
+ 00027597  0x000045c1 beq  0x00000017 , 0x00006c0a 
+ 00027598  0x000045c2 beq  0x00000018 , 0x00006c56 
+ 00027599  0x000045c3 beq  0x00000019 , 0x00006c10 
+ 00027600  0x000045c4 beq  0x0000001a , 0x00006c5a 
+ 00027601  0x000045c5 beq  0x0000001b , 0x00006c16 
+ 00027602  0x000045c6 beq  0x0000001c , 0x00006c5e 
+ 00027603  0x000045c7 beq  0x0000001d , 0x00006c1c 
+ 00027604  0x000045c8 beq  0x0000001e , 0x00006c63 
+ 00027605  0x000045c9 beq  0x0000001f , 0x00006c22 
+ 00027606  0x000045ca beq  0x00000020 , 0x00006c67 
+ 00027607  0x000045cb beq  0x00000021 , 0x00006c2d 
+ 00027608  0x000045cc beq  0x00000022 , 0x00006c6b 
+ 00027609  0x000045ce rtn 
+ 00027610  0x000045d0 call  0x00006c76 
+ 00027611  0x000045d1 jam  0x00000002 , 0x00000283 
+ 00027612  0x000045d2 fetch  0x00000001 , 0x00004222 
+ 00027613  0x000045d3 set1  0x00000000 , 0x0000003f 
+ 00027614  0x000045d4 store  0x00000001 , 0x00004222 
+ 00027615  0x000045d5 rtn 
+ 00027616  0x000045d7 jam  0x00000004 , 0x00000283 
+ 00027617  0x000045d8 fetch  0x00000001 , 0x00004222 
+ 00027618  0x000045d9 rtnbit1  0x00000002 
+ 00027619  0x000045da jam  0x00000003 , 0x00000283 
+ 00027620  0x000045db call  0x00006c7d 
+ 00027621  0x000045dc jam  0x00000004 , 0x00000283 
+ 00027622  0x000045dd fetch  0x00000001 , 0x00004222 
+ 00027623  0x000045de set1  0x00000002 , 0x0000003f 
+ 00027624  0x000045df store  0x00000001 , 0x00004222 
+ 00027625  0x000045e0 rtn 
+ 00027626  0x000045e2 call  0x0000564e 
+ 00027627  0x000045e3 nrtn  0x00000034 
+ 00027628  0x000045e4 call  0x00006c8c 
+ 00027629  0x000045e5 jam  0x0000003c , 0x00000283 
+ 00027630  0x000045e6 rtn 
+ 00027631  0x000045e8 call  0x00006c82 
+ 00027632  0x000045e9 jam  0x0000000e , 0x00000283 
+ 00027633  0x000045ea rtn 
+ 00027634  0x000045ec call  0x00006c9c 
+ 00027635  0x000045ed jam  0x00000010 , 0x00000283 
+ 00027636  0x000045ee fetch  0x00000001 , 0x00004224 
+ 00027637  0x000045ef set1  0x00000000 , 0x0000003f 
+ 00027638  0x000045f0 store  0x00000001 , 0x00004224 
+ 00027639  0x000045f1 rtn 
+ 00027640  0x000045f3 call  0x00006ca3 
+ 00027641  0x000045f4 jam  0x00000012 , 0x00000283 
+ 00027642  0x000045f5 fetch  0x00000001 , 0x00004224 
+ 00027643  0x000045f6 set1  0x00000002 , 0x0000003f 
+ 00027644  0x000045f7 store  0x00000001 , 0x00004224 
+ 00027645  0x000045f8 rtn 
+ 00027646  0x000045fa call  0x00006ca8 
+ 00027647  0x000045fb jam  0x00000014 , 0x00000283 
+ 00027648  0x000045fc fetch  0x00000001 , 0x00004225 
+ 00027649  0x000045fd set1  0x00000000 , 0x0000003f 
+ 00027650  0x000045fe store  0x00000001 , 0x00004225 
+ 00027651  0x000045ff rtn 
+ 00027652  0x00004601 call  0x00006caf 
+ 00027653  0x00004602 jam  0x00000016 , 0x00000283 
+ 00027654  0x00004603 fetch  0x00000001 , 0x00004225 
+ 00027655  0x00004604 set1  0x00000002 , 0x0000003f 
+ 00027656  0x00004605 store  0x00000001 , 0x00004225 
+ 00027657  0x00004606 rtn 
+ 00027658  0x00004608 call  0x00006c90 
+ 00027659  0x00004609 jam  0x00000018 , 0x00000283 
+ 00027660  0x0000460a fetch  0x00000001 , 0x00004223 
+ 00027661  0x0000460b set1  0x00000000 , 0x0000003f 
+ 00027662  0x0000460c store  0x00000001 , 0x00004223 
+ 00027663  0x0000460d rtn 
+ 00027664  0x0000460f call  0x00006c97 
+ 00027665  0x00004610 jam  0x0000001a , 0x00000283 
+ 00027666  0x00004611 fetch  0x00000001 , 0x00004223 
+ 00027667  0x00004612 set1  0x00000002 , 0x0000003f 
+ 00027668  0x00004613 store  0x00000001 , 0x00004223 
+ 00027669  0x00004614 rtn 
+ 00027670  0x00004616 call  0x00006cb4 
+ 00027671  0x00004617 jam  0x0000001c , 0x00000283 
+ 00027672  0x00004618 fetch  0x00000001 , 0x00004223 
+ 00027673  0x00004619 set1  0x00000006 , 0x0000003f 
+ 00027674  0x0000461a store  0x00000001 , 0x00004223 
+ 00027675  0x0000461b rtn 
+ 00027676  0x0000461d call  0x00006cbb 
+ 00027677  0x0000461e fetch  0x00000001 , 0x00004226 
+ 00027678  0x0000461f set1  0x00000000 
+ 00027679  0x00004620 store  0x00000001 , 0x00004226 
+ 00027680  0x00004621 jam  0x0000001e , 0x00000283 
+ 00027681  0x00004622 rtn 
+ 00027682  0x00004624 call  0x00006cc1 
+ 00027683  0x00004625 fetch  0x00000001 , 0x00004226 
+ 00027684  0x00004626 set1  0x00000002 
+ 00027685  0x00004627 store  0x00000001 , 0x00004226 
+ 00027686  0x00004628 jam  0x00000020 , 0x00000283 
+ 00027687  0x00004629 fetch  0x00000001 , 0x00004536 
+ 00027688  0x0000462a lshift3  0x0000003f , 0x0000003f 
+ 00027689  0x0000462b or_into  0x00000003 , 0x0000003f 
+ 00027690  0x0000462c arg  0x00004537 , 0x00000002 
+ 00027691  0x0000462d storet  0x00000002 , 0x000004f3 
+ 00027692  0x0000462e branch  0x000068f6 
+ 00027693  0x00004630 call  0x00006ccb 
+ 00027694  0x00004631 fetch  0x00000001 , 0x00004226 
+ 00027695  0x00004632 set1  0x00000004 
+ 00027696  0x00004633 store  0x00000001 , 0x00004226 
+ 00027697  0x00004634 jam  0x00000022 , 0x00000283 
+ 00027698  0x00004635 rtn 
+ 00027699  0x00004638 fetch  0x00000001 , 0x00004222 
+ 00027700  0x00004639 rtnbit0  0x00000001 
+ 00027701  0x0000463a jam  0x00000003 , 0x00000283 
+ 00027702  0x0000463b branch  0x00006bba 
+ 00027703  0x0000463d fetch  0x00000001 , 0x00004222 
+ 00027704  0x0000463e rtnne  0x0000003f 
+ 00027705  0x0000463f jam  0x0000003b , 0x00000283 
+ 00027706  0x00004641 fetch  0x00000001 , 0x00000281 
+ 00027707  0x00004642 rtnne  0x00000017 
+ 00027708  0x00004643 jam  0x00000000 , 0x00000281 
+ 00027709  0x00004644 jam  0x0000000d , 0x00000283 
+ 00027710  0x00004645 branch  0x00006bba 
+ 00027711  0x00004647 fetch  0x00000001 , 0x00004222 
+ 00027712  0x00004648 nrtn  0x00000034 
+ 00027713  0x00004649 fetch  0x00000001 , 0x00004654 
+ 00027714  0x0000464a bbit1  0x00000000 , 0x00006c6e 
+ 00027715  0x0000464b bbit1  0x00000006 , 0x00006c70 
+ 00027716  0x0000464c branch  0x00006c74 
+ 00027717  0x0000464e fetch  0x00000001 , 0x00004224 
+ 00027718  0x0000464f rtnbit0  0x00000001 
+ 00027719  0x00004650 jam  0x00000011 , 0x00000283 
+ 00027720  0x00004651 branch  0x00006bba 
+ 00027721  0x00004653 fetch  0x00000001 , 0x00004224 
+ 00027722  0x00004654 rtnne  0x0000003f 
+ 00027723  0x00004655 jam  0x00000013 , 0x00000283 
+ 00027724  0x00004656 branch  0x00006bba 
+ 00027725  0x00004658 fetch  0x00000001 , 0x00004225 
+ 00027726  0x00004659 rtnbit0  0x00000001 
+ 00027727  0x0000465a jam  0x00000015 , 0x00000283 
+ 00027728  0x0000465b branch  0x00006bba 
+ 00027729  0x0000465d fetch  0x00000001 , 0x00004225 
+ 00027730  0x0000465e rtnne  0x0000003f 
+ 00027731  0x0000465f fetch  0x00000001 , 0x00004654 
+ 00027732  0x00004660 bbit1  0x00000006 , 0x00006c70 
+ 00027733  0x00004661 branch  0x00006c74 
+ 00027734  0x00004663 fetch  0x00000001 , 0x00004223 
+ 00027735  0x00004664 rtnbit0  0x00000001 
+ 00027736  0x00004665 jam  0x00000019 , 0x00000283 
+ 00027737  0x00004666 branch  0x00006bba 
+ 00027738  0x00004668 fetch  0x00000001 , 0x00004223 
+ 00027739  0x00004669 rtnne  0x0000003f 
+ 00027740  0x0000466a jam  0x0000001b , 0x00000283 
+ 00027741  0x0000466b branch  0x00006bba 
+ 00027742  0x0000466d fetch  0x00000001 , 0x00004223 
+ 00027743  0x0000466e rtnne  0x000000ff 
+ 00027744  0x0000466f fetch  0x00000001 , 0x00004654 
+ 00027745  0x00004670 bbit1  0x00000006 , 0x00006c72 
+ 00027746  0x00004671 branch  0x00006c74 
+ 00027747  0x00004673 fetch  0x00000001 , 0x00004226 
+ 00027748  0x00004674 rtnbit0  0x00000001 
+ 00027749  0x00004675 jam  0x0000001f , 0x00000283 
+ 00027750  0x00004676 branch  0x00006bba 
+ 00027751  0x00004678 fetch  0x00000001 , 0x00004226 
+ 00027752  0x00004679 rtnbit0  0x00000003 
+ 00027753  0x0000467a jam  0x00000021 , 0x00000283 
+ 00027754  0x0000467b branch  0x00006bba 
+ 00027755  0x0000467d fetch  0x00000001 , 0x00004226 
+ 00027756  0x0000467e rtnne  0x000000ff 
+ 00027757  0x0000467f branch  0x00006c74 
+ 00027758  0x00004682 jam  0x0000000f , 0x00000283 
+ 00027759  0x00004683 branch  0x00006bba 
+ 00027760  0x00004686 jam  0x00000017 , 0x00000283 
+ 00027761  0x00004687 branch  0x00006bba 
+ 00027762  0x00004689 jam  0x0000001d , 0x00000283 
+ 00027763  0x0000468a branch  0x00006bba 
+ 00027764  0x0000468f jam  0x00000000 , 0x00000283 
+ 00027765  0x00004690 rtn 
+ 00027766  0x00004692 bpatchx  0x0000006b , 0x0000402d 
+ 00027767  0x00004693 call  0x00005692 
+ 00027768  0x00004694 setarg  0x00000001 
+ 00027769  0x00004695 copy  0x0000003f , 0x00000002 
+ 00027770  0x00004696 setarg  0x00000050 
+ 00027771  0x00004697 copy  0x0000003f , 0x0000000b 
+ 00027772  0x00004698 branch  0x00005482 
+ 00027773  0x0000469b bpatchx  0x0000006c , 0x0000402d 
+ 00027774  0x0000469c call  0x00005692 
+ 00027775  0x0000469d fetch  0x00000002 , 0x0000421a 
+ 00027776  0x0000469e copy  0x0000003f , 0x00000002 
+ 00027777  0x0000469f branch  0x00005491 
+ 00027778  0x000046a2 bpatchx  0x0000006d , 0x0000402d 
+ 00027779  0x000046a3 call  0x00005692 
+ 00027780  0x000046a4 fetch  0x00000002 , 0x0000421a 
+ 00027781  0x000046a5 copy  0x0000003f , 0x00000002 
+ 00027782  0x000046a6 arg  0x00000050 , 0x0000000b 
+ 00027783  0x000046a7 call  0x000054a6 
+ 00027784  0x000046a8 fetch  0x00000001 , 0x00004222 
+ 00027785  0x000046a9 set0  0x00000005 , 0x0000003f 
+ 00027786  0x000046aa store  0x00000001 , 0x00004222 
+ 00027787  0x000046ab rtn 
+ 00027788  0x000046ae bpatchx  0x0000006e , 0x0000402d 
+ 00027789  0x000046af call  0x0000569f 
+ 00027790  0x000046b0 call  0x00006ff7 
+ 00027791  0x000046b1 branch  0x000054c1 
+ 00027792  0x000046b4 bpatchx  0x0000006f , 0x0000402d 
+ 00027793  0x000046b5 call  0x00005692 
+ 00027794  0x000046b6 setarg  0x00000003 
+ 00027795  0x000046b7 copy  0x0000003f , 0x00000002 
+ 00027796  0x000046b8 setarg  0x00000051 
+ 00027797  0x000046b9 copy  0x0000003f , 0x0000000b 
+ 00027798  0x000046ba branch  0x00005482 
+ 00027799  0x000046bd bpatchx  0x00000070 , 0x0000402e 
+ 00027800  0x000046be call  0x00005692 
+ 00027801  0x000046bf fetch  0x00000002 , 0x0000421c 
+ 00027802  0x000046c0 copy  0x0000003f , 0x00000002 
+ 00027803  0x000046c1 branch  0x00005491 
+ 00027804  0x000046c4 bpatchx  0x00000071 , 0x0000402e 
+ 00027805  0x000046c5 call  0x00005692 
+ 00027806  0x000046c6 setarg  0x00000011 
+ 00027807  0x000046c7 copy  0x0000003f , 0x00000002 
+ 00027808  0x000046c8 setarg  0x00000052 
+ 00027809  0x000046c9 copy  0x0000003f , 0x0000000b 
+ 00027810  0x000046ca branch  0x00005482 
+ 00027811  0x000046cd bpatchx  0x00000072 , 0x0000402e 
+ 00027812  0x000046ce call  0x00005692 
+ 00027813  0x000046cf fetch  0x00000002 , 0x0000421e 
+ 00027814  0x000046d0 copy  0x0000003f , 0x00000002 
+ 00027815  0x000046d1 branch  0x00005491 
+ 00027816  0x000046d4 bpatchx  0x00000073 , 0x0000402e 
+ 00027817  0x000046d5 call  0x00005692 
+ 00027818  0x000046d6 setarg  0x00000013 
+ 00027819  0x000046d7 copy  0x0000003f , 0x00000002 
+ 00027820  0x000046d8 setarg  0x00000053 
+ 00027821  0x000046d9 copy  0x0000003f , 0x0000000b 
+ 00027822  0x000046da branch  0x00005482 
+ 00027823  0x000046dd bpatchx  0x00000074 , 0x0000402e 
+ 00027824  0x000046de call  0x00005692 
+ 00027825  0x000046df fetch  0x00000002 , 0x00004220 
+ 00027826  0x000046e0 copy  0x0000003f , 0x00000002 
+ 00027827  0x000046e1 branch  0x00005491 
+ 00027828  0x000046e4 bpatchx  0x00000075 , 0x0000402e 
+ 00027829  0x000046e5 call  0x000056ac 
+ 00027830  0x000046e7 jam  0x00000003 , 0x000004f7 
+ 00027831  0x000046e8 jam  0x0000001c , 0x000004fa 
+ 00027832  0x000046e9 call  0x00006a6a 
+ 00027833  0x000046ea jam  0x00000001 , 0x00004535 
+ 00027834  0x000046eb rtn 
+ 00027835  0x000046ee bpatchx  0x00000076 , 0x0000402e 
+ 00027836  0x000046ef call  0x000056ac 
+ 00027837  0x000046f0 fetcht  0x00000001 , 0x00004536 
+ 00027838  0x000046f1 call  0x0000693a 
+ 00027839  0x000046f2 storet  0x00000001 , 0x0000452f 
+ 00027840  0x000046f3 branch  0x00006a85 
+ 00027841  0x000046f6 bpatchx  0x00000077 , 0x0000402e 
+ 00027842  0x000046f7 call  0x000056ac 
+ 00027843  0x000046f8 fetcht  0x00000001 , 0x0000452f 
+ 00027844  0x000046f9 call  0x00006934 
+ 00027845  0x000046fa call  0x000068db 
+ 00027846  0x000046fb store  0x00000001 , 0x000004fa 
+ 00027847  0x000046fc fetcht  0x00000001 , 0x0000452f 
+ 00027848  0x000046fd call  0x00006934 
+ 00027849  0x000046fe storet  0x00000001 , 0x000004f7 
+ 00027850  0x000046ff branch  0x00006a6a 
+ 00027851  0x00004702 bpatchx  0x00000078 , 0x0000402f 
+ 00027852  0x00004703 call  0x000056ac 
+ 00027853  0x00004704 fetcht  0x00000001 , 0x0000452f 
+ 00027854  0x00004705 call  0x00006934 
+ 00027855  0x00004706 branch  0x00006abd 
+ 00027856  0x00004714 bpatchx  0x00000079 , 0x0000402f 
+ 00027857  0x00004715 fetch  0x00000002 , 0x00000260 
+ 00027858  0x00004716 iforce  0x00000006 
+ 00027859  0x00004719 ifetch  0x00000001 , 0x00000006 
+ 00027860  0x0000471a copy  0x0000003f , 0x00000012 
+ 00027861  0x0000471b store  0x00000001 , 0x00000517 
+ 00027862  0x0000471c ifetch  0x00000002 , 0x00000006 
+ 00027863  0x0000471d store  0x00000002 , 0x00000518 
+ 00027864  0x0000471e ifetch  0x00000001 , 0x00000006 
+ 00027865  0x0000471f lshift8  0x0000003f , 0x0000000b 
+ 00027866  0x00004720 ifetch  0x00000001 , 0x00000006 
+ 00027867  0x00004721 iadd  0x0000000b , 0x0000000b 
+ 00027868  0x00004722 bpatchx  0x0000007a , 0x0000402f 
+ 00027869  0x00004723 copy  0x00000006 , 0x00000002 
+ 00027870  0x00004724 arg  0x00000004 , 0x00000039 
+ 00027871  0x00004725 arg  0x00000526 , 0x00000005 
+ 00027872  0x00004726 call  0x00007ca1 
+ 00027873  0x00004727 copy  0x00000002 , 0x00000006 
+ 00027874  0x00004728 deposit  0x00000012 
+ 00027875  0x00004729 beq  0x00000001 , 0x00006e79 
+ 00027876  0x0000472a beq  0x00000002 , 0x00006ceb 
+ 00027877  0x0000472b beq  0x00000003 , 0x00006e79 
+ 00027878  0x0000472c beq  0x00000004 , 0x00006d13 
+ 00027879  0x0000472d beq  0x00000005 , 0x00006e79 
+ 00027880  0x0000472e beq  0x00000006 , 0x00006dc1 
+ 00027881  0x0000472f beq  0x00000007 , 0x00006e79 
+ 00027882  0x00004730 branch  0x00006e80 
+ 00027883  0x0000473c bpatchx  0x0000007b , 0x0000402f 
+ 00027884  0x0000473d call  0x00006e8f 
+ 00027885  0x0000473e compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00027886  0x0000473f branch  0x00006eff , 0x00000001 
+ 00027887  0x00004740 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00027888  0x00004741 branch  0x00006e83 , 0x00000001 
+ 00027889  0x00004743 ifetch  0x00000002 , 0x00000006 
+ 00027890  0x00004744 store  0x00000002 , 0x0000051e 
+ 00027891  0x00004745 increase  0xfffffffe , 0x0000000b 
+ 00027892  0x00004747 increase  0xffffffff , 0x0000000b 
+ 00027893  0x00004748 nbranch  0x00006e7d , 0x00000005 
+ 00027894  0x00004749 arg  0x0000050d , 0x0000000b 
+ 00027895  0x0000474a ifetch  0x00000002 , 0x0000000b 
+ 00027896  0x0000474b rtn  0x00000034 
+ 00027897  0x0000474c call  0x00006f41 
+ 00027898  0x0000474d call  0x000056aa 
+ 00027899  0x0000474e force  0x00000003 , 0x0000003f 
+ 00027900  0x0000474f istore  0x00000001 , 0x00000005 
+ 00027901  0x00004750 fetch  0x00000002 , 0x00000518 
+ 00027902  0x00004751 istore  0x00000002 , 0x00000005 
+ 00027903  0x00004752 lshift2  0x00000007 , 0x0000003f 
+ 00027904  0x00004753 add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00027905  0x00004754 add  0x0000003f , 0x00000005 , 0x00000013 
+ 00027906  0x00004755 byteswap  0x0000003f , 0x0000003f 
+ 00027907  0x00004756 istore  0x00000002 , 0x00000005 
+ 00027908  0x00004757 deposit  0x00000007 
+ 00027909  0x00004758 byteswap  0x0000003f , 0x0000003f 
+ 00027910  0x00004759 istore  0x00000002 , 0x00000005 
+ 00027911  0x0000475a istore  0x00000002 , 0x00000005 
+ 00027912  0x0000475b arg  0x00000526 , 0x00000006 
+ 00027913  0x0000475c copy  0x00000007 , 0x00000039 
+ 00027914  0x0000475d branch  0x00006d0e , 0x00000005 
+ 00027915  0x0000475f ifetch  0x00000004 , 0x00000006 
+ 00027916  0x00004760 istore  0x00000004 , 0x00000005 
+ 00027917  0x00004761 loop  0x00006d0b 
+ 00027918  0x00004763 force  0x00000000 , 0x0000003f 
+ 00027919  0x00004764 istore  0x00000001 , 0x00000005 
+ 00027920  0x00004765 deposit  0x00000013 
+ 00027921  0x00004766 store  0x00000002 , 0x00000271 
+ 00027922  0x00004768 rtn 
+ 00027923  0x00004774 bpatchx  0x0000007c , 0x0000402f 
+ 00027924  0x00004775 ifetch  0x00000004 , 0x00000006 
+ 00027925  0x00004776 store  0x00000004 , 0x00000520 
+ 00027926  0x00004777 increase  0xfffffffc , 0x0000000b 
+ 00027927  0x00004778 call  0x00006ded 
+ 00027928  0x00004779 store  0x00000002 , 0x0000051c 
+ 00027929  0x0000477a increase  0xfffffffe , 0x0000000b 
+ 00027930  0x0000477b call  0x00006ee7 
+ 00027931  0x0000477c branch  0x00006e83 , 0x00000005 
+ 00027932  0x0000477d compare  0x00000005 , 0x00000011 , 0x000000ff 
+ 00027933  0x0000477f branch  0x00006d21 , 0x00000001 
+ 00027934  0x00004781 arg  0x00000526 , 0x00000005 
+ 00027935  0x00004782 force  0x00000000 , 0x00000007 
+ 00027936  0x00004783 branch  0x00006d30 
+ 00027937  0x00004785 ifetch  0x00000001 , 0x00000006 
+ 00027938  0x00004786 bne  0x0000000a , 0x00006e83 
+ 00027939  0x00004787 ifetch  0x00000002 , 0x00000006 
+ 00027940  0x00004788 nbranch  0x00006d2e , 0x00000034 
+ 00027941  0x00004789 ifetch  0x00000001 , 0x00000006 
+ 00027942  0x0000478a bne  0x000000ff , 0x00006d2c 
+ 00027943  0x0000478b ifetch  0x00000001 , 0x00000006 
+ 00027944  0x0000478c bne  0x000000ff , 0x00006d2a 
+ 00027945  0x0000478d branch  0x00006d77 
+ 00027946  0x0000478f increase  0xfffffffb , 0x00000006 
+ 00027947  0x00004790 branch  0x00006d1e 
+ 00027948  0x00004792 increase  0xfffffffc , 0x00000006 
+ 00027949  0x00004793 branch  0x00006d1e 
+ 00027950  0x00004795 increase  0xfffffffd , 0x00000006 
+ 00027951  0x00004796 branch  0x00006d1e 
+ 00027952  0x00004798 ifetch  0x00000001 , 0x00000006 
+ 00027953  0x00004799 beq  0x00000009 , 0x00006d45 
+ 00027954  0x0000479a beq  0x0000000a , 0x00006d33 
+ 00027955  0x0000479c ifetch  0x00000002 , 0x00000006 
+ 00027956  0x0000479d istore  0x00000002 , 0x00000005 
+ 00027957  0x0000479e increase  0x00000001 , 0x00000007 
+ 00027958  0x0000479f byteswap  0x0000003f , 0x00000012 
+ 00027959  0x000047a0 ifetch  0x00000002 , 0x00000006 
+ 00027960  0x000047a1 byteswap  0x0000003f , 0x0000003f 
+ 00027961  0x000047a3 increase  0x00000001 , 0x00000012 
+ 00027962  0x000047a4 isub  0x00000012 , 0x0000003e 
+ 00027963  0x000047a5 nbranch  0x00006d42 , 0x00000002 
+ 00027964  0x000047a6 copy  0x0000003f , 0x00000013 
+ 00027965  0x000047a7 byteswap  0x00000012 , 0x0000003f 
+ 00027966  0x000047a8 istore  0x00000002 , 0x00000005 
+ 00027967  0x000047a9 increase  0x00000001 , 0x00000007 
+ 00027968  0x000047aa copy  0x00000013 , 0x0000003f 
+ 00027969  0x000047ab branch  0x00006d39 
+ 00027970  0x000047ad increase  0xfffffffb , 0x0000000b 
+ 00027971  0x000047ae increase  0xfffffffb , 0x00000011 
+ 00027972  0x000047af branch  0x00006d4a 
+ 00027973  0x000047b1 ifetch  0x00000002 , 0x00000006 
+ 00027974  0x000047b2 istore  0x00000002 , 0x00000005 
+ 00027975  0x000047b3 increase  0x00000001 , 0x00000007 
+ 00027976  0x000047b4 increase  0xfffffffd , 0x0000000b 
+ 00027977  0x000047b5 increase  0xfffffffd , 0x00000011 
+ 00027978  0x000047b7 nbranch  0x00006e83 , 0x00000002 
+ 00027979  0x000047b8 nbranch  0x00006d30 , 0x00000005 
+ 00027980  0x000047b9 increase  0xffffffff , 0x0000000b 
+ 00027981  0x000047ba nbranch  0x00006e83 , 0x00000005 
+ 00027982  0x000047bc call  0x000056aa 
+ 00027983  0x000047bd increase  0x0000000a , 0x00000005 
+ 00027984  0x000047be arg  0x00000526 , 0x00000011 
+ 00027985  0x000047c0 copy  0x00000007 , 0x0000003f 
+ 00027986  0x000047c1 branch  0x00006d64 , 0x00000034 
+ 00027987  0x000047c2 ifetch  0x00000002 , 0x00000011 
+ 00027988  0x000047c3 branch  0x00006d64 , 0x00000034 
+ 00027989  0x000047c4 iforce  0x00000012 
+ 00027990  0x000047c5 fetch  0x00000004 , 0x00000520 
+ 00027991  0x000047c6 iforce  0x00000002 
+ 00027992  0x000047c7 call  0x00006fa6 
+ 00027993  0x000047c8 copy  0x00000006 , 0x0000003f 
+ 00027994  0x000047c9 branch  0x00006d61 , 0x00000034 
+ 00027995  0x000047ca increase  0xfffffffd , 0x00000006 
+ 00027996  0x000047cb ifetch  0x00000003 , 0x00000006 
+ 00027997  0x000047cc istore  0x00000003 , 0x00000005 
+ 00027998  0x000047cd call  0x00006f1a 
+ 00027999  0x000047ce iforce  0x00000039 
+ 00028000  0x000047cf call  0x00007cdc 
+ 00028001  0x000047d1 increase  0x00000002 , 0x00000011 
+ 00028002  0x000047d2 increase  0xffffffff , 0x00000007 
+ 00028003  0x000047d3 branch  0x00006d51 
+ 00028004  0x000047d6 arg  0x00000005 , 0x00000011 
+ 00028005  0x000047d7 call  0x00006e43 
+ 00028006  0x000047d8 fetch  0x00000002 , 0x00000271 
+ 00028007  0x000047d9 beq  0x0000000b , 0x00006f02 
+ 00028008  0x000047da branch  0x00006e59 
+ 00028009  0x000047de ifetch  0x00000001 , 0x00000006 
+ 00028010  0x000047df beq  0x00000000 , 0x00006d6d 
+ 00028011  0x000047e0 beq  0x00000001 , 0x00006d6f 
+ 00028012  0x000047e1 beq  0x00000002 , 0x00006d72 
+ 00028013  0x000047e3 increase  0xffffffff , 0x0000000b 
+ 00028014  0x000047e4 branch  0x00006d75 
+ 00028015  0x000047e6 ifetch  0x00000001 , 0x00000006 
+ 00028016  0x000047e7 increase  0xfffffffe , 0x0000000b 
+ 00028017  0x000047e8 branch  0x00006d75 
+ 00028018  0x000047ea ifetch  0x00000002 , 0x00000006 
+ 00028019  0x000047eb byteswap  0x0000003f , 0x0000003f 
+ 00028020  0x000047ec increase  0xfffffffd , 0x0000000b 
+ 00028021  0x000047ee store  0x00000002 , 0x00000515 
+ 00028022  0x000047ef rtn 
+ 00028023  0x000047f2 increase  0xfffffffb , 0x0000000b 
+ 00028024  0x000047f3 call  0x00006d69 
+ 00028025  0x000047f4 nbranch  0x00006e7d , 0x00000005 
+ 00028026  0x000047f5 fetcht  0x00000004 , 0x00000520 
+ 00028027  0x000047f6 call  0x00006f70 
+ 00028028  0x000047f7 nbranch  0x00006e7a , 0x00000005 
+ 00028029  0x000047f8 copy  0x00000006 , 0x00000011 
+ 00028030  0x000047f9 call  0x000056aa 
+ 00028031  0x000047fa copy  0x00000011 , 0x00000006 
+ 00028032  0x000047fb increase  0x00000003 , 0x00000005 
+ 00028033  0x000047fc copy  0x00000006 , 0x0000000b 
+ 00028034  0x000047fd call  0x00006f21 
+ 00028035  0x000047fe copy  0x0000003f , 0x00000011 
+ 00028036  0x00004800 fetch  0x00000002 , 0x00000515 
+ 00028037  0x00004801 copy  0x0000003f , 0x00000012 
+ 00028038  0x00004802 copy  0x00000011 , 0x0000003f 
+ 00028039  0x00004803 isub  0x00000012 , 0x00000012 
+ 00028040  0x00004804 fetch  0x00000002 , 0x0000051c 
+ 00028041  0x00004805 isub  0x00000012 , 0x0000003e 
+ 00028042  0x00004806 nbranch  0x00006da6 , 0x00000002 
+ 00028043  0x00004808 disable  0x00000028 
+ 00028044  0x00004809 fetch  0x00000002 , 0x00000515 
+ 00028045  0x0000480a branch  0x00006d99 , 0x00000034 
+ 00028046  0x0000480b iadd  0x0000000b , 0x00000006 
+ 00028047  0x0000480c increase  0x00000003 , 0x00000012 
+ 00028048  0x0000480d copy  0x00000012 , 0x00000039 
+ 00028049  0x0000480e copy  0x00000039 , 0x0000003f 
+ 00028050  0x0000480f increase  0x00000003 , 0x0000003f 
+ 00028051  0x00004810 byteswap  0x0000003f , 0x0000003f 
+ 00028052  0x00004811 istore  0x00000002 , 0x00000005 
+ 00028053  0x00004812 copy  0x00000039 , 0x0000003f 
+ 00028054  0x00004813 byteswap  0x0000003f , 0x0000003f 
+ 00028055  0x00004814 istore  0x00000002 , 0x00000005 
+ 00028056  0x00004815 branch  0x00006db4 
+ 00028057  0x00004817 add  0x00000011 , 0x00000006 , 0x00000039 
+ 00028058  0x00004818 branch  0x00006d9d , 0x00000028 
+ 00028059  0x00004819 byteswap  0x00000039 , 0x0000003f 
+ 00028060  0x0000481a branch  0x00006da0 
+ 00028061  0x0000481c copy  0x00000039 , 0x0000003f 
+ 00028062  0x0000481d increase  0x00000002 , 0x0000003f 
+ 00028063  0x0000481e byteswap  0x0000003f , 0x0000003f 
+ 00028064  0x00004820 istore  0x00000002 , 0x00000005 
+ 00028065  0x00004821 increase  0xfffffffd , 0x00000039 
+ 00028066  0x00004822 byteswap  0x00000039 , 0x0000003f 
+ 00028067  0x00004823 istore  0x00000002 , 0x00000005 
+ 00028068  0x00004824 copy  0x0000000b , 0x00000006 
+ 00028069  0x00004825 branch  0x00006db4 
+ 00028070  0x00004827 enable  0x00000028 
+ 00028071  0x00004829 fetch  0x00000002 , 0x0000051c 
+ 00028072  0x0000482a copy  0x0000003f , 0x00000011 
+ 00028073  0x0000482b copy  0x00000011 , 0x00000039 
+ 00028074  0x0000482c fetch  0x00000002 , 0x00000515 
+ 00028075  0x0000482d branch  0x00006d99 , 0x00000034 
+ 00028076  0x0000482e iadd  0x0000000b , 0x00000006 
+ 00028077  0x0000482f copy  0x00000011 , 0x0000003f 
+ 00028078  0x00004830 increase  0x00000005 , 0x0000003f 
+ 00028079  0x00004831 byteswap  0x0000003f , 0x0000003f 
+ 00028080  0x00004832 istore  0x00000002 , 0x00000005 
+ 00028081  0x00004833 copy  0x00000011 , 0x0000003f 
+ 00028082  0x00004834 byteswap  0x0000003f , 0x0000003f 
+ 00028083  0x00004835 istore  0x00000002 , 0x00000005 
+ 00028084  0x00004837 call  0x00007cdc 
+ 00028085  0x00004838 nbranch  0x00006dbd , 0x00000028 
+ 00028086  0x00004839 force  0x00000002 , 0x0000003f 
+ 00028087  0x0000483a istore  0x00000001 , 0x00000005 
+ 00028088  0x0000483b copy  0x00000006 , 0x0000003f 
+ 00028089  0x0000483c isub  0x0000000b , 0x0000003f 
+ 00028090  0x0000483d byteswap  0x0000003f , 0x0000003f 
+ 00028091  0x0000483e istore  0x00000002 , 0x00000005 
+ 00028092  0x0000483f branch  0x00006dbf 
+ 00028093  0x00004841 force  0x00000000 , 0x0000003f 
+ 00028094  0x00004842 istore  0x00000001 , 0x00000005 
+ 00028095  0x00004844 arg  0x00000005 , 0x00000011 
+ 00028096  0x00004845 branch  0x00006e6f 
+ 00028097  0x00004851 bpatchx  0x0000007d , 0x0000402f 
+ 00028098  0x00004852 call  0x00006e8f 
+ 00028099  0x00004853 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028100  0x00004854 branch  0x00006e83 , 0x00000001 
+ 00028101  0x00004855 call  0x00006ded 
+ 00028102  0x00004856 store  0x00000002 , 0x0000051c 
+ 00028103  0x00004857 increase  0xfffffffe , 0x0000000b 
+ 00028104  0x00004858 call  0x00006ee7 
+ 00028105  0x00004859 arg  0x00000526 , 0x00000005 
+ 00028106  0x0000485a force  0x00000000 , 0x00000007 
+ 00028107  0x0000485c ifetch  0x00000001 , 0x00000006 
+ 00028108  0x0000485d beq  0x0000000a , 0x00006df5 
+ 00028109  0x0000485e ifetch  0x00000002 , 0x00000006 
+ 00028110  0x0000485f istore  0x00000002 , 0x00000005 
+ 00028111  0x00004860 increase  0x00000001 , 0x00000007 
+ 00028112  0x00004861 increase  0xfffffffd , 0x0000000b 
+ 00028113  0x00004862 increase  0xfffffffd , 0x00000011 
+ 00028114  0x00004863 nbranch  0x00006e83 , 0x00000002 
+ 00028115  0x00004864 nbranch  0x00006dcb , 0x00000005 
+ 00028116  0x00004865 increase  0xffffffff , 0x0000000b 
+ 00028117  0x00004866 nbranch  0x00006e83 , 0x00000005 
+ 00028118  0x00004867 call  0x000056aa 
+ 00028119  0x00004868 increase  0x0000000d , 0x00000005 
+ 00028120  0x00004869 fetch  0x00000002 , 0x0000050d 
+ 00028121  0x0000486a iforce  0x00000013 
+ 00028122  0x0000486b arg  0x00000526 , 0x00000011 
+ 00028123  0x0000486d ifetch  0x00000002 , 0x00000011 
+ 00028124  0x0000486e branch  0x00006de8 , 0x00000034 
+ 00028125  0x0000486f iforce  0x00000012 
+ 00028126  0x00004870 call  0x00006f85 
+ 00028127  0x00004871 branch  0x00006de6 , 0x00000034 
+ 00028128  0x00004872 increase  0xfffffffd , 0x00000006 
+ 00028129  0x00004873 ifetch  0x00000003 , 0x00000006 
+ 00028130  0x00004874 istore  0x00000003 , 0x00000005 
+ 00028131  0x00004875 call  0x00006f1a 
+ 00028132  0x00004876 iforce  0x00000039 
+ 00028133  0x00004877 call  0x00007cdc 
+ 00028134  0x00004879 increase  0x00000002 , 0x00000011 
+ 00028135  0x0000487a branch  0x00006ddb 
+ 00028136  0x0000487d call  0x00006e42 
+ 00028137  0x0000487e fetch  0x00000002 , 0x00000271 
+ 00028138  0x0000487f beq  0x0000000e , 0x00006f05 
+ 00028139  0x00004880 call  0x00006e59 
+ 00028140  0x00004881 branch  0x00006e59 
+ 00028141  0x00004885 ifetch  0x00000002 , 0x00000006 
+ 00028142  0x00004886 byteswap  0x0000003f , 0x0000003f 
+ 00028143  0x00004887 increase  0xfffffffd , 0x0000003f 
+ 00028144  0x00004888 arg  0x000000c8 , 0x00000002 
+ 00028145  0x00004889 isub  0x00000002 , 0x0000003e 
+ 00028146  0x0000488a nrtn  0x00000002 
+ 00028147  0x0000488b setarg  0x000000c8 
+ 00028148  0x0000488c rtn 
+ 00028149  0x00004890 increase  0x00000004 , 0x00000006 
+ 00028150  0x00004891 increase  0xfffffffb , 0x0000000b 
+ 00028151  0x00004892 increase  0xfffffffb , 0x00000011 
+ 00028152  0x00004893 nbranch  0x00006e83 , 0x00000005 
+ 00028153  0x00004894 call  0x00006d69 
+ 00028154  0x00004895 nbranch  0x00006e7d , 0x00000005 
+ 00028155  0x00004896 arg  0x0000050d , 0x0000000b 
+ 00028156  0x00004897 call  0x00006f41 
+ 00028157  0x00004898 deposit  0x00000007 
+ 00028158  0x00004899 branch  0x00006f05 , 0x00000034 
+ 00028159  0x0000489a store  0x00000001 , 0x0000054a 
+ 00028160  0x0000489c copy  0x00000012 , 0x0000003f 
+ 00028161  0x0000489d store  0x00000002 , 0x00000548 
+ 00028162  0x0000489e arg  0x00000000 , 0x00000007 
+ 00028163  0x0000489f arg  0x00000000 , 0x00000011 
+ 00028164  0x000048a0 call  0x000056aa 
+ 00028165  0x000048a1 increase  0x0000000a , 0x00000005 
+ 00028166  0x000048a3 call  0x00006e2b 
+ 00028167  0x000048a4 nbranch  0x00004a8b , 0x00000028 
+ 00028168  0x000048a5 copy  0x00000006 , 0x0000000b 
+ 00028169  0x000048a6 copy  0x0000003f , 0x00000013 
+ 00028170  0x000048a7 iadd  0x00000011 , 0x00000011 
+ 00028171  0x000048aa fetch  0x00000002 , 0x00000515 
+ 00028172  0x000048ab copy  0x0000003f , 0x00000012 
+ 00028173  0x000048ac branch  0x00006e34 , 0x00000034 
+ 00028174  0x000048ae copy  0x00000011 , 0x0000003f 
+ 00028175  0x000048af isub  0x00000012 , 0x00000012 
+ 00028176  0x000048b0 branch  0x00006e26 , 0x00000005 
+ 00028177  0x000048b1 nbranch  0x00006e26 , 0x00000002 
+ 00028178  0x000048b2 fetch  0x00000002 , 0x0000051c 
+ 00028179  0x000048b3 isub  0x00000012 , 0x0000003e 
+ 00028180  0x000048b4 branch  0x00006e1d , 0x00000005 
+ 00028181  0x000048b5 nbranch  0x00006e1d , 0x00000002 
+ 00028182  0x000048b9 copy  0x00000012 , 0x00000039 
+ 00028183  0x000048ba call  0x00006e20 
+ 00028184  0x000048bb fetch  0x00000001 , 0x0000054a 
+ 00028185  0x000048bc increase  0x00000001 , 0x00000007 
+ 00028186  0x000048bd isub  0x00000007 , 0x0000003e 
+ 00028187  0x000048be branch  0x00006e42 , 0x00000005 
+ 00028188  0x000048bf branch  0x00006e5f 
+ 00028189  0x000048c2 copy  0x0000003f , 0x00000039 
+ 00028190  0x000048c3 call  0x00006e20 
+ 00028191  0x000048c4 branch  0x00006e5f 
+ 00028192  0x000048c7 increase  0xfffffffd , 0x00000005 
+ 00028193  0x000048c8 copy  0x00000039 , 0x00000002 
+ 00028194  0x000048c9 copy  0x00000013 , 0x0000003f 
+ 00028195  0x000048ca isub  0x00000012 , 0x0000003f 
+ 00028196  0x000048cb iadd  0x0000000b , 0x00000006 
+ 00028197  0x000048cc branch  0x00007cdc 
+ 00028198  0x000048cf fetch  0x00000001 , 0x0000054a 
+ 00028199  0x000048d0 increase  0x00000001 , 0x00000007 
+ 00028200  0x000048d1 isub  0x00000007 , 0x0000003e 
+ 00028201  0x000048d2 rtn  0x00000005 
+ 00028202  0x000048d3 branch  0x00006e06 
+ 00028203  0x000048d6 call  0x00007dc1 
+ 00028204  0x000048d7 arg  0x00000526 , 0x00000006 
+ 00028205  0x000048d8 lshift2  0x00000007 , 0x0000003f 
+ 00028206  0x000048d9 iadd  0x00000006 , 0x00000006 
+ 00028207  0x000048da ifetcht  0x00000004 , 0x00000006 
+ 00028208  0x000048db call  0x00006f70 
+ 00028209  0x000048dc nrtn  0x00000005 
+ 00028210  0x000048dd call  0x00006f1a 
+ 00028211  0x000048de branch  0x00007dbf 
+ 00028212  0x000048e1 fetch  0x00000002 , 0x0000051c 
+ 00028213  0x000048e2 isub  0x00000011 , 0x0000003e 
+ 00028214  0x000048e3 nbranch  0x00006e4e , 0x00000002 
+ 00028215  0x000048e4 copy  0x00000011 , 0x00000039 
+ 00028216  0x000048e5 copy  0x00000039 , 0x00000002 
+ 00028217  0x000048e6 copy  0x0000000b , 0x00000006 
+ 00028218  0x000048e7 call  0x00007cdc 
+ 00028219  0x000048e8 fetch  0x00000002 , 0x00000548 
+ 00028220  0x000048e9 isub  0x00000011 , 0x0000003e 
+ 00028221  0x000048ea branch  0x00006e40 , 0x00000005 
+ 00028222  0x000048ec call  0x00006e5f 
+ 00028223  0x000048ed branch  0x00006e53 
+ 00028224  0x000048f0 call  0x00006e42 
+ 00028225  0x000048f1 branch  0x00006e53 
+ 00028226  0x000048f4 arg  0x00000007 , 0x00000011 
+ 00028227  0x000048f6 force  0x00000000 , 0x0000003f 
+ 00028228  0x000048f7 istore  0x00000001 , 0x00000005 
+ 00028229  0x000048f8 call  0x00006e6f 
+ 00028230  0x000048f9 fetcht  0x00000002 , 0x00000271 
+ 00028231  0x000048fa increase  0xfffffffb , 0x00000002 
+ 00028232  0x000048fb byteswap  0x00000002 , 0x0000003f 
+ 00028233  0x000048fc istore  0x00000002 , 0x00000005 
+ 00028234  0x000048fd increase  0xfffffffd , 0x00000002 
+ 00028235  0x000048fe byteswap  0x00000002 , 0x0000003f 
+ 00028236  0x000048ff istore  0x00000002 , 0x00000005 
+ 00028237  0x00004900 rtn 
+ 00028238  0x00004903 copy  0x0000003f , 0x00000039 
+ 00028239  0x00004904 copy  0x00000039 , 0x00000002 
+ 00028240  0x00004905 copy  0x0000000b , 0x00000006 
+ 00028241  0x00004906 call  0x00007cdc 
+ 00028242  0x00004907 call  0x00006e5f 
+ 00028243  0x00004909 setarg  0x00000036 
+ 00028244  0x0000490a istore  0x00000001 , 0x00000005 
+ 00028245  0x0000490b fetch  0x00000002 , 0x00000548 
+ 00028246  0x0000490c byteswap  0x0000003f , 0x0000003f 
+ 00028247  0x0000490d istore  0x00000002 , 0x00000005 
+ 00028248  0x0000490e rtn 
+ 00028249  0x00004911 setarg  0x00000036 
+ 00028250  0x00004912 istore  0x00000001 , 0x00000005 
+ 00028251  0x00004913 increase  0xfffffffd , 0x00000002 
+ 00028252  0x00004914 byteswap  0x00000002 , 0x0000003f 
+ 00028253  0x00004915 istore  0x00000002 , 0x00000005 
+ 00028254  0x00004916 rtn 
+ 00028255  0x00004919 arg  0x00000007 , 0x00000011 
+ 00028256  0x0000491a setarg  0x00000002 
+ 00028257  0x0000491b istore  0x00000001 , 0x00000005 
+ 00028258  0x0000491c fetch  0x00000002 , 0x00000515 
+ 00028259  0x0000491d iadd  0x00000002 , 0x00000002 
+ 00028260  0x0000491e byteswap  0x00000002 , 0x0000003f 
+ 00028261  0x0000491f istore  0x00000002 , 0x00000005 
+ 00028262  0x00004920 call  0x00006e6f 
+ 00028263  0x00004921 fetcht  0x00000002 , 0x00000271 
+ 00028264  0x00004922 increase  0xfffffffb , 0x00000002 
+ 00028265  0x00004923 byteswap  0x00000002 , 0x0000003f 
+ 00028266  0x00004924 istore  0x00000002 , 0x00000005 
+ 00028267  0x00004925 increase  0xfffffffb , 0x00000002 
+ 00028268  0x00004926 byteswap  0x00000002 , 0x0000003f 
+ 00028269  0x00004927 istore  0x00000002 , 0x00000005 
+ 00028270  0x00004928 rtn 
+ 00028271  0x0000492b fetch  0x00000002 , 0x0000026f 
+ 00028272  0x0000492c isub  0x00000005 , 0x0000003f 
+ 00028273  0x0000492d sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00028274  0x0000492e store  0x00000002 , 0x00000271 
+ 00028275  0x0000492f call  0x000056aa 
+ 00028276  0x00004930 copy  0x00000011 , 0x0000003f 
+ 00028277  0x00004931 istore  0x00000001 , 0x00000005 
+ 00028278  0x00004932 fetch  0x00000002 , 0x00000518 
+ 00028279  0x00004933 istore  0x00000002 , 0x00000005 
+ 00028280  0x00004934 rtn 
+ 00028281  0x00004945 rtn 
+ 00028282  0x00004967 setarg  0x00000200 
+ 00028283  0x00004968 store  0x00000002 , 0x00000546 
+ 00028284  0x00004969 branch  0x00006e85 
+ 00028285  0x0000496b setarg  0x00000400 
+ 00028286  0x0000496c store  0x00000002 , 0x00000546 
+ 00028287  0x0000496d branch  0x00006e85 
+ 00028288  0x0000496f setarg  0x00000600 
+ 00028289  0x00004970 store  0x00000002 , 0x00000546 
+ 00028290  0x00004971 branch  0x00006e85 
+ 00028291  0x00004973 setarg  0x00000300 
+ 00028292  0x00004974 store  0x00000002 , 0x00000546 
+ 00028293  0x00004976 call  0x000056aa 
+ 00028294  0x00004977 istore  0x00000001 , 0x00000005 
+ 00028295  0x00004978 fetch  0x00000002 , 0x00000518 
+ 00028296  0x00004979 istore  0x00000002 , 0x00000005 
+ 00028297  0x0000497a setarg  0x00000200 
+ 00028298  0x0000497b istore  0x00000002 , 0x00000005 
+ 00028299  0x0000497c fetch  0x00000002 , 0x00000546 
+ 00028300  0x0000497d istore  0x00000002 , 0x00000005 
+ 00028301  0x0000497e jam  0x00000007 , 0x00000271 
+ 00028302  0x0000497f rtn 
+ 00028303  0x00004985 arg  0x00000000 , 0x00000012 
+ 00028304  0x00004986 force  0x00000000 , 0x00000002 
+ 00028305  0x00004987 arg  0x0000050d , 0x00000005 
+ 00028306  0x00004988 call  0x00006ee7 
+ 00028307  0x00004989 branch  0x00006ee5 , 0x00000005 
+ 00028308  0x0000498b increase  0x00000001 , 0x00000012 
+ 00028309  0x0000498c ifetch  0x00000001 , 0x00000006 
+ 00028310  0x0000498d increase  0xffffffff , 0x00000011 
+ 00028311  0x0000498e increase  0xffffffff , 0x0000000b 
+ 00028312  0x0000498f compare  0x00000018 , 0x0000003f , 0x000000f8 
+ 00028313  0x00004990 nbranch  0x00006ee5 , 0x00000001 
+ 00028314  0x00004991 compare  0x00000004 , 0x0000003f , 0x00000007 
+ 00028315  0x00004992 nbranch  0x00006eb2 , 0x00000001 
+ 00028316  0x00004993 force  0x00000001 , 0x00000002 
+ 00028317  0x00004995 ifetch  0x00000001 , 0x00000006 
+ 00028318  0x00004996 increase  0xffffffff , 0x00000011 
+ 00028319  0x00004997 increase  0xffffffff , 0x0000000b 
+ 00028320  0x00004998 bne  0x00000000 , 0x00006ea6 
+ 00028321  0x00004999 ifetch  0x00000001 , 0x00000006 
+ 00028322  0x0000499a increase  0xffffffff , 0x00000011 
+ 00028323  0x0000499b increase  0xffffffff , 0x0000000b 
+ 00028324  0x0000499c beq  0x00000000 , 0x00006eb7 
+ 00028325  0x0000499d branch  0x00006ea9 
+ 00028326  0x0000499f increase  0x00000001 , 0x00000006 
+ 00028327  0x000049a0 increase  0xffffffff , 0x00000011 
+ 00028328  0x000049a1 increase  0xffffffff , 0x0000000b 
+ 00028329  0x000049a3 increase  0x00000002 , 0x00000006 
+ 00028330  0x000049a4 increase  0xfffffffe , 0x00000011 
+ 00028331  0x000049a5 increase  0xfffffffe , 0x0000000b 
+ 00028332  0x000049a6 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028333  0x000049a7 branch  0x00006edf , 0x00000001 
+ 00028334  0x000049a8 increase  0x0000000c , 0x00000006 
+ 00028335  0x000049a9 increase  0xfffffff4 , 0x00000011 
+ 00028336  0x000049aa increase  0xfffffff4 , 0x0000000b 
+ 00028337  0x000049ab branch  0x00006edf 
+ 00028338  0x000049ad compare  0x00000002 , 0x0000003f , 0x00000007 
+ 00028339  0x000049ae nbranch  0x00006eb5 , 0x00000001 
+ 00028340  0x000049af branch  0x00006e9d 
+ 00028341  0x000049b1 compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00028342  0x000049b2 nbranch  0x00006ee5 , 0x00000001 
+ 00028343  0x000049b4 increase  0xfffffffe , 0x00000011 
+ 00028344  0x000049b5 increase  0xfffffffe , 0x0000000b 
+ 00028345  0x000049b6 ifetch  0x00000002 , 0x00000006 
+ 00028346  0x000049b7 sub  0x00000012 , 0x00000004 , 0x0000003e 
+ 00028347  0x000049b8 branch  0x00006ebd , 0x00000005 
+ 00028348  0x000049b9 istore  0x00000002 , 0x00000005 
+ 00028349  0x000049bb compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028350  0x000049bc branch  0x00006edf , 0x00000001 
+ 00028351  0x000049bd copy  0x00000006 , 0x00000002 
+ 00028352  0x000049be ifetch  0x00000001 , 0x00000006 
+ 00028353  0x000049bf bne  0x00000000 , 0x00006ed8 
+ 00028354  0x000049c0 ifetch  0x00000001 , 0x00000006 
+ 00028355  0x000049c1 bne  0x00000000 , 0x00006ed8 
+ 00028356  0x000049c2 ifetch  0x00000001 , 0x00000006 
+ 00028357  0x000049c3 bne  0x00000010 , 0x00006ed8 
+ 00028358  0x000049c4 ifetch  0x00000001 , 0x00000006 
+ 00028359  0x000049c5 bne  0x00000000 , 0x00006ed8 
+ 00028360  0x000049c6 ifetch  0x00000001 , 0x00000006 
+ 00028361  0x000049c7 bne  0x00000080 , 0x00006ed8 
+ 00028362  0x000049c8 ifetch  0x00000001 , 0x00000006 
+ 00028363  0x000049c9 bne  0x00000000 , 0x00006ed8 
+ 00028364  0x000049ca ifetch  0x00000001 , 0x00000006 
+ 00028365  0x000049cb bne  0x00000000 , 0x00006ed8 
+ 00028366  0x000049cc ifetch  0x00000001 , 0x00000006 
+ 00028367  0x000049cd bne  0x00000080 , 0x00006ed8 
+ 00028368  0x000049ce ifetch  0x00000001 , 0x00000006 
+ 00028369  0x000049cf bne  0x0000005f , 0x00006ed8 
+ 00028370  0x000049d0 ifetch  0x00000001 , 0x00000006 
+ 00028371  0x000049d1 bne  0x0000009b , 0x00006ed8 
+ 00028372  0x000049d2 ifetch  0x00000001 , 0x00000006 
+ 00028373  0x000049d3 bne  0x00000034 , 0x00006ed8 
+ 00028374  0x000049d4 ifetch  0x00000001 , 0x00000006 
+ 00028375  0x000049d5 beq  0x000000fb , 0x00006edd 
+ 00028376  0x000049d7 copy  0x00000002 , 0x00000006 
+ 00028377  0x000049d9 increase  0x0000000c , 0x00000006 
+ 00028378  0x000049da force  0x00000000 , 0x00000007 
+ 00028379  0x000049db force  0x00000000 , 0x00000002 
+ 00028380  0x000049dc branch  0x00006edd 
+ 00028381  0x000049df increase  0xfffffff4 , 0x0000000b 
+ 00028382  0x000049e0 increase  0xfffffff4 , 0x00000011 
+ 00028383  0x000049e2 force  0x00000000 , 0x00000002 
+ 00028384  0x000049e3 compare  0x00000000 , 0x00000011 , 0x000000ff 
+ 00028385  0x000049e4 nbranch  0x00006e94 , 0x00000001 
+ 00028386  0x000049e5 force  0x00000000 , 0x0000003f 
+ 00028387  0x000049e6 istore  0x00000002 , 0x00000005 
+ 00028388  0x000049e7 rtn 
+ 00028389  0x000049e9 arg  0x000000ff , 0x00000002 
+ 00028390  0x000049ea rtn 
+ 00028391  0x000049f5 bpatchx  0x00000080 , 0x00004030 
+ 00028392  0x000049f6 ifetch  0x00000001 , 0x00000006 
+ 00028393  0x000049f7 increase  0xffffffff , 0x0000000b 
+ 00028394  0x000049f8 compare  0x00000030 , 0x0000003f , 0x000000f8 
+ 00028395  0x000049f9 nbranch  0x00006efd , 0x00000001 
+ 00028396  0x000049fa compare  0x00000007 , 0x0000003f , 0x00000007 
+ 00028397  0x000049fb branch  0x00006ef6 , 0x00000001 
+ 00028398  0x000049fc compare  0x00000006 , 0x0000003f , 0x00000007 
+ 00028399  0x000049fd branch  0x00006ef8 , 0x00000001 
+ 00028400  0x000049fe compare  0x00000005 , 0x0000003f , 0x00000007 
+ 00028401  0x000049ff nbranch  0x00006efd , 0x00000001 
+ 00028402  0x00004a01 ifetch  0x00000001 , 0x00000006 
+ 00028403  0x00004a02 copy  0x0000003f , 0x00000011 
+ 00028404  0x00004a03 increase  0xffffffff , 0x0000000b 
+ 00028405  0x00004a04 branch  0x00006efb 
+ 00028406  0x00004a06 increase  0x00000002 , 0x00000006 
+ 00028407  0x00004a07 increase  0xfffffffe , 0x0000000b 
+ 00028408  0x00004a09 ifetch  0x00000002 , 0x00000006 
+ 00028409  0x00004a0a byteswap  0x0000003f , 0x00000011 
+ 00028410  0x00004a0b increase  0xfffffffe , 0x0000000b 
+ 00028411  0x00004a0d force  0x00000001 , 0x0000003f 
+ 00028412  0x00004a0e rtn 
+ 00028413  0x00004a10 force  0x00000000 , 0x0000003f 
+ 00028414  0x00004a11 rtn 
+ 00028415  0x00004a1c setarg  0x00000003 
+ 00028416  0x00004a1d store  0x00000001 , 0x00000517 
+ 00028417  0x00004a1e branch  0x00006f07 
+ 00028418  0x00004a20 setarg  0x00000005 
+ 00028419  0x00004a21 store  0x00000001 , 0x00000517 
+ 00028420  0x00004a22 branch  0x00006f07 
+ 00028421  0x00004a24 setarg  0x00000007 
+ 00028422  0x00004a25 store  0x00000001 , 0x00000517 
+ 00028423  0x00004a27 call  0x000056aa 
+ 00028424  0x00004a2a fetch  0x00000001 , 0x00000517 
+ 00028425  0x00004a2b copy  0x0000003f , 0x00000012 
+ 00028426  0x00004a2c istore  0x00000001 , 0x00000005 
+ 00028427  0x00004a2d fetch  0x00000002 , 0x00000518 
+ 00028428  0x00004a2e istore  0x00000002 , 0x00000005 
+ 00028429  0x00004a2f setarg  0x00000500 
+ 00028430  0x00004a30 istore  0x00000002 , 0x00000005 
+ 00028431  0x00004a31 compare  0x00000005 , 0x00000012 , 0x000000ff 
+ 00028432  0x00004a32 branch  0x00006f16 , 0x00000001 
+ 00028433  0x00004a33 compare  0x00000007 , 0x00000012 , 0x000000ff 
+ 00028434  0x00004a34 branch  0x00006f16 , 0x00000001 
+ 00028435  0x00004a35 setarg  0x00000000 
+ 00028436  0x00004a36 istore  0x00000005 , 0x00000005 
+ 00028437  0x00004a37 branch  0x00006f18 
+ 00028438  0x00004a3a setarg  0x00350200 
+ 00028439  0x00004a3b istore  0x00000005 , 0x00000005 
+ 00028440  0x00004a3d jam  0x0000000a , 0x00000271 
+ 00028441  0x00004a3e rtn 
+ 00028442  0x00004a42 call  0x00007c7d 
+ 00028443  0x00004a43 call  0x00007c80 
+ 00028444  0x00004a44 call  0x00006f21 
+ 00028445  0x00004a45 call  0x00007c77 
+ 00028446  0x00004a46 call  0x00007c7a 
+ 00028447  0x00004a47 copy  0x00000002 , 0x0000003f 
+ 00028448  0x00004a48 rtn 
+ 00028449  0x00004a4c ifetch  0x00000001 , 0x00000006 
+ 00028450  0x00004a4d and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028451  0x00004a4e rshift3  0x0000003f , 0x0000003f 
+ 00028452  0x00004a4f bne  0x00000000 , 0x00006f2b 
+ 00028453  0x00004a51 force  0x00000001 , 0x0000003f 
+ 00028454  0x00004a52 force  0x00000001 , 0x00000002 
+ 00028455  0x00004a53 rtn 
+ 00028456  0x00004a56 call  0x00007c51 
+ 00028457  0x00004a57 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00028458  0x00004a58 rtn 
+ 00028459  0x00004a5a deposit  0x00000039 
+ 00028460  0x00004a5b sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00028461  0x00004a5c branch  0x00006f28 , 0x00000002 
+ 00028462  0x00004a5d beq  0x00000005 , 0x00006f32 
+ 00028463  0x00004a5e beq  0x00000006 , 0x00006f35 
+ 00028464  0x00004a5f beq  0x00000007 , 0x00006f39 
+ 00028465  0x00004a60 rtn 
+ 00028466  0x00004a63 ifetch  0x00000001 , 0x00000006 
+ 00028467  0x00004a64 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00028468  0x00004a65 rtn 
+ 00028469  0x00004a67 ifetch  0x00000002 , 0x00000006 
+ 00028470  0x00004a68 byteswap  0x0000003f , 0x0000003f 
+ 00028471  0x00004a69 add  0x0000003f , 0x00000003 , 0x00000002 
+ 00028472  0x00004a6a rtn 
+ 00028473  0x00004a6c ifetch  0x00000002 , 0x00000006 
+ 00028474  0x00004a6d byteswap  0x0000003f , 0x0000003f 
+ 00028475  0x00004a6e ifetcht  0x00000002 , 0x00000006 
+ 00028476  0x00004a6f byteswap  0x00000002 , 0x00000002 
+ 00028477  0x00004a70 lshift16  0x00000002 , 0x00000002 
+ 00028478  0x00004a71 iadd  0x00000002 , 0x0000003f 
+ 00028479  0x00004a72 add  0x0000003f , 0x00000005 , 0x00000002 
+ 00028480  0x00004a73 rtn 
+ 00028481  0x00004a7a bpatchx  0x00000081 , 0x00004030 
+ 00028482  0x00004a7b force  0x00000000 , 0x00000007 
+ 00028483  0x00004a7c arg  0x00000000 , 0x00000012 
+ 00028484  0x00004a7d arg  0x00000526 , 0x00000005 
+ 00028485  0x00004a7f ifetch  0x00000002 , 0x0000000b 
+ 00028486  0x00004a80 rtn  0x00000034 
+ 00028487  0x00004a81 call  0x00006f4c 
+ 00028488  0x00004a82 copy  0x00000007 , 0x0000003f 
+ 00028489  0x00004a83 rtneq  0x00000007 
+ 00028490  0x00004a84 increase  0x00000002 , 0x0000000b 
+ 00028491  0x00004a85 branch  0x00006f45 
+ 00028492  0x00004a89 iforce  0x00000013 
+ 00028493  0x00004a8b fetch  0x00000002 , 0x00004547 
+ 00028494  0x00004a8c iforce  0x00000006 
+ 00028495  0x00004a8e copy  0x00000007 , 0x0000003f 
+ 00028496  0x00004a8f rtneq  0x00000007 
+ 00028497  0x00004a90 disable  0x00000028 
+ 00028498  0x00004a91 ifetch  0x00000001 , 0x00000006 
+ 00028499  0x00004a92 rtn  0x00000034 
+ 00028500  0x00004a93 iforce  0x00000039 
+ 00028501  0x00004a95 ifetch  0x00000002 , 0x00000006 
+ 00028502  0x00004a96 isub  0x00000013 , 0x0000003e 
+ 00028503  0x00004a97 nbranch  0x00006f59 , 0x00000005 
+ 00028504  0x00004a98 enable  0x00000028 
+ 00028505  0x00004a9a loop  0x00006f55 
+ 00028506  0x00004a9b ifetcht  0x00000004 , 0x00000006 
+ 00028507  0x00004a9c copy  0x00000006 , 0x00000011 
+ 00028508  0x00004a9d nbranch  0x00006f6c , 0x00000028 
+ 00028509  0x00004a9e arg  0x00000526 , 0x00000006 
+ 00028510  0x00004a9f arg  0x00000007 , 0x00000039 
+ 00028511  0x00004aa1 ifetch  0x00000004 , 0x00000006 
+ 00028512  0x00004aa2 branch  0x00006f65 , 0x00000034 
+ 00028513  0x00004aa3 isub  0x00000002 , 0x0000003e 
+ 00028514  0x00004aa4 branch  0x00006f6c , 0x00000005 
+ 00028515  0x00004aa5 loop  0x00006f5f 
+ 00028516  0x00004aa6 rtn 
+ 00028517  0x00004aa8 istoret  0x00000004 , 0x00000005 
+ 00028518  0x00004aa9 increase  0x00000001 , 0x00000007 
+ 00028519  0x00004aaa copy  0x00000011 , 0x00000006 
+ 00028520  0x00004aab call  0x00006f1a 
+ 00028521  0x00004aac iadd  0x00000012 , 0x00000012 
+ 00028522  0x00004aad iadd  0x00000006 , 0x00000006 
+ 00028523  0x00004aae branch  0x00006f4f 
+ 00028524  0x00004ab0 copy  0x00000011 , 0x00000006 
+ 00028525  0x00004ab1 call  0x00006f21 
+ 00028526  0x00004ab2 iadd  0x00000006 , 0x00000006 
+ 00028527  0x00004ab3 branch  0x00006f4f 
+ 00028528  0x00004aba bpatchx  0x00000082 , 0x00004030 
+ 00028529  0x00004abb fetch  0x00000002 , 0x00004547 
+ 00028530  0x00004abc iforce  0x00000006 
+ 00028531  0x00004abe ifetch  0x00000001 , 0x00000006 
+ 00028532  0x00004abf branch  0x00007dbb , 0x00000034 
+ 00028533  0x00004ac0 lshift  0x0000003f , 0x0000003f 
+ 00028534  0x00004ac1 iadd  0x00000006 , 0x00000006 
+ 00028535  0x00004ac2 ifetch  0x00000004 , 0x00000006 
+ 00028536  0x00004ac3 isub  0x00000002 , 0x0000003e 
+ 00028537  0x00004ac4 rtn  0x00000005 
+ 00028538  0x00004ac5 deposit  0x00000005 
+ 00028539  0x00004ac6 store  0x00000002 , 0x00000ab7 
+ 00028540  0x00004ac7 storet  0x00000008 , 0x00000a9e 
+ 00028541  0x00004ac8 call  0x00006f21 
+ 00028542  0x00004ac9 iadd  0x00000006 , 0x00000006 
+ 00028543  0x00004aca copy  0x00000006 , 0x0000003f 
+ 00028544  0x00004acb fetcht  0x00000002 , 0x00000ab7 
+ 00028545  0x00004acc copy  0x00000002 , 0x00000005 
+ 00028546  0x00004acd fetcht  0x00000008 , 0x00000a9e 
+ 00028547  0x00004ace copy  0x0000003f , 0x00000006 
+ 00028548  0x00004acf branch  0x00006f73 
+ 00028549  0x00004ad6 bpatchx  0x00000083 , 0x00004030 
+ 00028550  0x00004ad7 fetch  0x00000002 , 0x00004547 
+ 00028551  0x00004ad8 iforce  0x00000006 
+ 00028552  0x00004ada ifetch  0x00000001 , 0x00000006 
+ 00028553  0x00004adb branch  0x00006fa3 , 0x00000034 
+ 00028554  0x00004adc iforce  0x00000039 
+ 00028555  0x00004ade ifetch  0x00000002 , 0x00000006 
+ 00028556  0x00004adf isub  0x00000013 , 0x0000003e 
+ 00028557  0x00004ae0 branch  0x00006f93 , 0x00000005 
+ 00028558  0x00004ae1 loop  0x00006f8b 
+ 00028559  0x00004ae2 increase  0x00000004 , 0x00000006 
+ 00028560  0x00004ae3 call  0x00006f21 
+ 00028561  0x00004ae4 iadd  0x00000006 , 0x00000006 
+ 00028562  0x00004ae5 branch  0x00006f88 
+ 00028563  0x00004ae7 increase  0xffffffff , 0x00000039 
+ 00028564  0x00004ae8 lshift  0x00000039 , 0x0000003f 
+ 00028565  0x00004ae9 iadd  0x00000006 , 0x00000006 
+ 00028566  0x00004aea increase  0x00000004 , 0x00000006 
+ 00028567  0x00004aeb call  0x00006f21 
+ 00028568  0x00004aec iadd  0x00000006 , 0x0000000b 
+ 00028569  0x00004aee increase  0x00000001 , 0x00000006 
+ 00028570  0x00004aef ifetch  0x00000002 , 0x00000006 
+ 00028571  0x00004af0 isub  0x00000012 , 0x0000003e 
+ 00028572  0x00004af4 branch  0x00007dc7 , 0x00000005 
+ 00028573  0x00004af5 call  0x00006f1a 
+ 00028574  0x00004af6 iadd  0x00000006 , 0x00000006 
+ 00028575  0x00004af7 deposit  0x0000000b 
+ 00028576  0x00004af8 isub  0x00000006 , 0x0000003e 
+ 00028577  0x00004af9 branch  0x00006fa3 , 0x00000005 
+ 00028578  0x00004afa branch  0x00006f99 
+ 00028579  0x00004afc force  0x00000000 , 0x00000006 
+ 00028580  0x00004afd force  0x00000000 , 0x0000003f 
+ 00028581  0x00004afe rtn 
+ 00028582  0x00004b05 bpatchx  0x00000084 , 0x00004030 
+ 00028583  0x00004b06 fetch  0x00000002 , 0x00004547 
+ 00028584  0x00004b07 iforce  0x00000006 
+ 00028585  0x00004b09 ifetch  0x00000001 , 0x00000006 
+ 00028586  0x00004b0a branch  0x00006fbf , 0x00000034 
+ 00028587  0x00004b0b lshift  0x0000003f , 0x0000003f 
+ 00028588  0x00004b0c iadd  0x00000006 , 0x00000006 
+ 00028589  0x00004b0d ifetch  0x00000004 , 0x00000006 
+ 00028590  0x00004b0e isub  0x00000002 , 0x0000003e 
+ 00028591  0x00004b0f branch  0x00006fb3 , 0x00000005 
+ 00028592  0x00004b10 call  0x00006f21 
+ 00028593  0x00004b11 iadd  0x00000006 , 0x00000006 
+ 00028594  0x00004b12 branch  0x00006fa9 
+ 00028595  0x00004b14 call  0x00006f21 
+ 00028596  0x00004b15 iadd  0x00000006 , 0x0000000b 
+ 00028597  0x00004b17 increase  0x00000001 , 0x00000006 
+ 00028598  0x00004b18 ifetch  0x00000002 , 0x00000006 
+ 00028599  0x00004b19 isub  0x00000012 , 0x0000003e 
+ 00028600  0x00004b1a rtn  0x00000005 
+ 00028601  0x00004b1b call  0x00006f1a 
+ 00028602  0x00004b1c iadd  0x00000006 , 0x00000006 
+ 00028603  0x00004b1d deposit  0x0000000b 
+ 00028604  0x00004b1e isub  0x00000006 , 0x0000003e 
+ 00028605  0x00004b1f branch  0x00006fbf , 0x00000005 
+ 00028606  0x00004b20 branch  0x00006fb5 
+ 00028607  0x00004b22 force  0x00000000 , 0x00000006 
+ 00028608  0x00004b23 rtn 
+ 00028609  0x00004b28 arg  0x00000400 , 0x00000012 
+ 00028610  0x00004b29 call  0x00006fb3 
+ 00028611  0x00004b2a arg  0x00000300 , 0x00000012 
+ 00028612  0x00004b2b call  0x00006fcc 
+ 00028613  0x00004b2c nrtn  0x00000028 
+ 00028614  0x00004b2d sub  0x00000011 , 0x00000003 , 0x0000003e 
+ 00028615  0x00004b2e branch  0x00007dc1 , 0x00000002 
+ 00028616  0x00004b2f ifetch  0x00000001 , 0x00000006 
+ 00028617  0x00004b30 bne  0x00000008 , 0x00007dc1 
+ 00028618  0x00004b31 ifetch  0x00000001 , 0x00000006 
+ 00028619  0x00004b32 rtn 
+ 00028620  0x00004b38 bpatchx  0x00000085 , 0x00004030 
+ 00028621  0x00004b39 call  0x00006f21 
+ 00028622  0x00004b3a copy  0x0000003f , 0x00000011 
+ 00028623  0x00004b3c ifetch  0x00000001 , 0x00000006 
+ 00028624  0x00004b3d and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028625  0x00004b3e rshift3  0x0000003f , 0x0000003f 
+ 00028626  0x00004b3f sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00028627  0x00004b40 branch  0x00006fe8 , 0x00000005 
+ 00028628  0x00004b41 copy  0x00000039 , 0x0000003f 
+ 00028629  0x00004b42 beq  0x00000005 , 0x00006fdf 
+ 00028630  0x00004b43 beq  0x00000006 , 0x00006fe2 
+ 00028631  0x00004b44 beq  0x00000007 , 0x00006fe5 
+ 00028632  0x00004b45 increase  0xffffffff , 0x00000006 
+ 00028633  0x00004b46 call  0x00006f21 
+ 00028634  0x00004b47 iadd  0x00000006 , 0x00000006 
+ 00028635  0x00004b48 copy  0x00000011 , 0x0000003f 
+ 00028636  0x00004b49 isub  0x00000002 , 0x00000011 
+ 00028637  0x00004b4a branch  0x00007dc1 , 0x00000005 
+ 00028638  0x00004b4b branch  0x00006fcf 
+ 00028639  0x00004b4e increase  0xfffffffe , 0x00000011 
+ 00028640  0x00004b4f increase  0x00000001 , 0x00000006 
+ 00028641  0x00004b50 branch  0x00006fcf 
+ 00028642  0x00004b52 increase  0xfffffffd , 0x00000011 
+ 00028643  0x00004b53 increase  0x00000002 , 0x00000006 
+ 00028644  0x00004b54 branch  0x00006fcf 
+ 00028645  0x00004b56 increase  0xfffffffb , 0x00000011 
+ 00028646  0x00004b57 increase  0x00000004 , 0x00000006 
+ 00028647  0x00004b58 branch  0x00006fcf 
+ 00028648  0x00004b5b increase  0xffffffff , 0x00000011 
+ 00028649  0x00004b5c copy  0x00000039 , 0x0000003f 
+ 00028650  0x00004b5d beq  0x00000001 , 0x00006ff1 
+ 00028651  0x00004b5e beq  0x00000002 , 0x00006fef 
+ 00028652  0x00004b5f beq  0x00000004 , 0x00006fee 
+ 00028653  0x00004b60 branch  0x00007dc1 
+ 00028654  0x00004b62 increase  0xfffffff4 , 0x00000011 
+ 00028655  0x00004b64 ifetch  0x00000002 , 0x00000006 
+ 00028656  0x00004b65 increase  0xfffffffe , 0x00000011 
+ 00028657  0x00004b67 ifetch  0x00000002 , 0x00000006 
+ 00028658  0x00004b68 isub  0x00000012 , 0x0000003e 
+ 00028659  0x00004b69 branch  0x00007dbf , 0x00000005 
+ 00028660  0x00004b6a increase  0xfffffffe , 0x00000011 
+ 00028661  0x00004b6b branch  0x00007dc1 , 0x00000005 
+ 00028662  0x00004b6c branch  0x00006fcf 
+ 00028663  0x00004ba8 call  0x000056aa 
+ 00028664  0x00004ba9 copy  0x0000003f , 0x00000005 
+ 00028665  0x00004baa setarg  0x00000006 
+ 00028666  0x00004bab istore  0x00000001 , 0x00000005 
+ 00028667  0x00004bac setarg  0x0000006e 
+ 00028668  0x00004bad istore  0x00000002 , 0x00000005 
+ 00028669  0x00004bae setarg  0x00000f00 
+ 00028670  0x00004baf istore  0x00000002 , 0x00000005 
+ 00028671  0x00004bb0 setarg  0x001a0535 
+ 00028672  0x00004bb1 istore  0x00000003 , 0x00000005 
+ 00028673  0x00004bb2 setarg  0x00000111 
+ 00028674  0x00004bb3 lshift16  0x0000003f , 0x0000003f 
+ 00028675  0x00004bb4 istore  0x00000004 , 0x00000005 
+ 00028676  0x00004bb5 setarg  0x00002600 
+ 00028677  0x00004bb6 istore  0x00000002 , 0x00000005 
+ 00028678  0x00004bb7 setarg  0x00000335 
+ 00028679  0x00004bb8 istore  0x00000002 , 0x00000005 
+ 00028680  0x00004bb9 setarg  0x00000009 
+ 00028681  0x00004bba istore  0x00000002 , 0x00000005 
+ 00028682  0x00004bbb setarg  0x00000004 
+ 00028683  0x00004bbc istore  0x00000002 , 0x00000005 
+ 00028684  0x00004bbd jam  0x00000014 , 0x00000271 
+ 00028685  0x00004bbe rtn 
+ 00028686  0x00004bc3 bpatchx  0x00000086 , 0x00004030 
+ 00028687  0x00004bc4 jam  0x00000050 , 0x000005e1 
+ 00028688  0x00004bc5 arg  0x000005e2 , 0x00000005 
+ 00028689  0x00004bc6 arg  0x0000440c , 0x00000006 
+ 00028690  0x00004bc7 call  0x00007c9a 
+ 00028691  0x00004bc8 arg  0x000045a4 , 0x00000006 
+ 00028692  0x00004bc9 call  0x00007c98 
+ 00028693  0x00004bca arg  0x000009ba , 0x00000006 
+ 00028694  0x00004bcb call  0x00007c98 
+ 00028695  0x00004bcc call  0x000070c9 
+ 00028696  0x00004bcd arg  0x0000042b , 0x00000006 
+ 00028697  0x00004bce call  0x000070c4 
+ 00028698  0x00004bcf call  0x0000708f 
+ 00028699  0x00004bd1 arg  0x00000aee , 0x00000005 
+ 00028700  0x00004bd2 call  0x000070c0 
+ 00028701  0x00004bd3 setarg  0x000f4240 
+ 00028702  0x00004bd4 copy  0x0000003f , 0x00000011 
+ 00028703  0x00004bd5 fetch  0x00000004 , 0x00000aee 
+ 00028704  0x00004bd6 idiv  0x00000011 
+ 00028705  0x00004bd7 call  0x00007d61 
+ 00028706  0x00004bd8 remainder  0x0000003f 
+ 00028707  0x00004bd9 store  0x00000004 , 0x000009b6 
+ 00028708  0x00004bdb rtn 
+ 00028709  0x00004bde jam  0x00000041 , 0x000005e1 
+ 00028710  0x00004bdf arg  0x000005e2 , 0x00000005 
+ 00028711  0x00004be0 call  0x00007074 
+ 00028712  0x00004be1 call  0x0000706f 
+ 00028713  0x00004be2 fetch  0x00000003 , 0x00004426 
+ 00028714  0x00004be3 istore  0x00000003 , 0x00000005 
+ 00028715  0x00004be6 call  0x00007035 
+ 00028716  0x00004be8 arg  0x0000042b , 0x00000006 
+ 00028717  0x00004be9 call  0x00007c9a 
+ 00028718  0x00004bea arg  0x0000440c , 0x00000006 
+ 00028719  0x00004beb call  0x00007c9a 
+ 00028720  0x00004bec call  0x000070c9 
+ 00028721  0x00004bed arg  0x00000b0e , 0x00000006 
+ 00028722  0x00004bee arg  0x00000abe , 0x00000005 
+ 00028723  0x00004bef call  0x00007c9a 
+ 00028724  0x00004bf1 branch  0x0000708f 
+ 00028725  0x00004bf6 fetch  0x00000004 , 0x00004499 
+ 00028726  0x00004bf7 istore  0x00000004 , 0x00000005 
+ 00028727  0x00004bf8 call  0x00007ca8 
+ 00028728  0x00004bf9 branch  0x00007ca5 
+ 00028729  0x00004bfc bpatchx  0x00000087 , 0x00004030 
+ 00028730  0x00004bfd jam  0x00000041 , 0x000005e1 
+ 00028731  0x00004bfe arg  0x000005e2 , 0x00000005 
+ 00028732  0x00004bff call  0x0000706f 
+ 00028733  0x00004c00 call  0x00007074 
+ 00028734  0x00004c01 fetch  0x00000003 , 0x0000441f 
+ 00028735  0x00004c02 istore  0x00000003 , 0x00000005 
+ 00028736  0x00004c05 call  0x00007035 
+ 00028737  0x00004c06 arg  0x0000440c , 0x00000006 
+ 00028738  0x00004c07 call  0x00007c9a 
+ 00028739  0x00004c08 arg  0x0000042b , 0x00000006 
+ 00028740  0x00004c09 call  0x00007c9a 
+ 00028741  0x00004c0a call  0x000070c9 
+ 00028742  0x00004c0b arg  0x00000b0e , 0x00000006 
+ 00028743  0x00004c0c arg  0x00000abe , 0x00000005 
+ 00028744  0x00004c0d call  0x00007c9a 
+ 00028745  0x00004c0f call  0x0000708f 
+ 00028746  0x00004c10 arg  0x00000aee , 0x00000005 
+ 00028747  0x00004c11 branch  0x000070c0 
+ 00028748  0x00004c14 jam  0x00000020 , 0x000005e1 
+ 00028749  0x00004c15 arg  0x000009fa , 0x00000006 
+ 00028750  0x00004c16 arg  0x000005e2 , 0x00000005 
+ 00028751  0x00004c17 call  0x00007c98 
+ 00028752  0x00004c18 call  0x000070c9 
+ 00028753  0x00004c19 arg  0x0000099a , 0x00000006 
+ 00028754  0x00004c1a call  0x000070c4 
+ 00028755  0x00004c1b call  0x0000708f 
+ 00028756  0x00004c1c arg  0x00000abe , 0x00000005 
+ 00028757  0x00004c1d call  0x0000734c 
+ 00028758  0x00004c1e arg  0x00000001 , 0x00000002 
+ 00028759  0x00004c1f call  0x0000705e 
+ 00028760  0x00004c20 arg  0x000043eb , 0x00000005 
+ 00028761  0x00004c21 call  0x000070c0 
+ 00028762  0x00004c22 arg  0x00000000 , 0x00000002 
+ 00028763  0x00004c23 call  0x0000705e 
+ 00028764  0x00004c24 arg  0x00000b0e , 0x00000005 
+ 00028765  0x00004c26 branch  0x0000734c 
+ 00028766  0x00004c2a bpatchx  0x00000088 , 0x00004031 
+ 00028767  0x00004c2b jam  0x00000035 , 0x000005e1 
+ 00028768  0x00004c2c setarg  0x00000100 
+ 00028769  0x00004c2d store  0x00000002 , 0x000005e2 
+ 00028770  0x00004c2e call  0x0000706f 
+ 00028771  0x00004c2f call  0x00007074 
+ 00028772  0x00004c30 arg  0x0000440c , 0x00000006 
+ 00028773  0x00004c31 call  0x00007c9a 
+ 00028774  0x00004c32 arg  0x0000042b , 0x00000006 
+ 00028775  0x00004c33 call  0x00007c9a 
+ 00028776  0x00004c35 setarg  0x00006c65 
+ 00028777  0x00004c36 istore  0x00000002 , 0x00000005 
+ 00028778  0x00004c37 setarg  0x00006274 
+ 00028779  0x00004c38 istore  0x00000002 , 0x00000005 
+ 00028780  0x00004c39 istoret  0x00000001 , 0x00000005 
+ 00028781  0x00004c3a call  0x000070c9 
+ 00028782  0x00004c3b branch  0x0000708f 
+ 00028783  0x00004c3e fetch  0x00000006 , 0x00004472 
+ 00028784  0x00004c3f istore  0x00000006 , 0x00000005 
+ 00028785  0x00004c40 fetch  0x00000001 , 0x00004467 
+ 00028786  0x00004c41 istore  0x00000001 , 0x00000005 
+ 00028787  0x00004c42 rtn 
+ 00028788  0x00004c45 fetch  0x00000006 , 0x0000044b 
+ 00028789  0x00004c46 istore  0x00000006 , 0x00000005 
+ 00028790  0x00004c4b fetch  0x00000001 , 0x00004460 
+ 00028791  0x00004c4c istore  0x00000001 , 0x00000005 
+ 00028792  0x00004c4d rtn 
+ 00028793  0x00004c50 jam  0x00000041 , 0x000005e1 
+ 00028794  0x00004c51 fetch  0x00000001 , 0x00004636 
+ 00028795  0x00004c52 store  0x00000001 , 0x000005e2 
+ 00028796  0x00004c53 arg  0x000045a4 , 0x00000006 
+ 00028797  0x00004c54 call  0x00007c98 
+ 00028798  0x00004c55 arg  0x000009ba , 0x00000006 
+ 00028799  0x00004c56 call  0x00007c98 
+ 00028800  0x00004c57 call  0x000070c9 
+ 00028801  0x00004c58 arg  0x0000042b , 0x00000006 
+ 00028802  0x00004c59 call  0x000070c4 
+ 00028803  0x00004c5a branch  0x0000708f 
+ 00028804  0x00004c5e jam  0x00000041 , 0x000005e1 
+ 00028805  0x00004c5f fetch  0x00000001 , 0x00004636 
+ 00028806  0x00004c60 store  0x00000001 , 0x000005e2 
+ 00028807  0x00004c61 arg  0x000009ba , 0x00000006 
+ 00028808  0x00004c62 call  0x00007c98 
+ 00028809  0x00004c63 arg  0x000045a4 , 0x00000006 
+ 00028810  0x00004c64 call  0x00007c98 
+ 00028811  0x00004c65 call  0x000070c9 
+ 00028812  0x00004c66 arg  0x0000440c , 0x00000006 
+ 00028813  0x00004c67 call  0x000070c4 
+ 00028814  0x00004c68 branch  0x0000708f 
+ 00028815  0x00004c6b bpatchx  0x00000089 , 0x00004031 
+ 00028816  0x00004c6c call  0x000070de 
+ 00028817  0x00004c70 fetch  0x00000001 , 0x000005e1 
+ 00028818  0x00004c71 copy  0x0000003f , 0x00000002 
+ 00028819  0x00004c73 increase  0x0000000f , 0x0000003f 
+ 00028820  0x00004c74 rshift4  0x0000003f , 0x0000003f 
+ 00028821  0x00004c75 copy  0x0000003f , 0x00000012 
+ 00028822  0x00004c76 branch  0x000070a1 , 0x00000034 
+ 00028823  0x00004c77 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00028824  0x00004c78 nbranch  0x000070a4 , 0x00000034 
+ 00028825  0x00004c7a arg  0x00000ace , 0x00000013 
+ 00028826  0x00004c7b arg  0x000005e2 , 0x0000003f 
+ 00028827  0x00004c7c increase  0xfffffff0 , 0x0000003f 
+ 00028828  0x00004c7f iadd  0x00000002 , 0x00000011 
+ 00028829  0x00004c80 arg  0x00000afe , 0x00000005 
+ 00028830  0x00004c81 arg  0x00000004 , 0x00000039 
+ 00028831  0x00004c82 call  0x00007cb8 
+ 00028832  0x00004c86 branch  0x000070af 
+ 00028833  0x00004c89 arg  0x00000001 , 0x00000012 
+ 00028834  0x00004c8a arg  0x00000000 , 0x00000011 
+ 00028835  0x00004c8c branch  0x000070a5 
+ 00028836  0x00004c91 and  0x00000002 , 0x0000000f , 0x00000011 
+ 00028837  0x00004c93 arg  0x000005e2 , 0x0000003f 
+ 00028838  0x00004c94 iadd  0x00000002 , 0x0000003f 
+ 00028839  0x00004c95 isub  0x00000011 , 0x00000006 
+ 00028840  0x00004c97 arg  0x00000aee , 0x00000005 
+ 00028841  0x00004c98 call  0x00007104 
+ 00028842  0x00004c9a arg  0x00000ade , 0x00000013 
+ 00028843  0x00004c9b arg  0x00000aee , 0x00000011 
+ 00028844  0x00004c9c arg  0x00000afe , 0x00000005 
+ 00028845  0x00004c9d arg  0x00000004 , 0x00000039 
+ 00028846  0x00004c9e call  0x00007cb8 
+ 00028847  0x00004caa call  0x00007346 
+ 00028848  0x00004cab call  0x000072e8 
+ 00028849  0x00004cae arg  0x000005e2 , 0x00000006 
+ 00028850  0x00004cb1 increase  0xffffffff , 0x00000012 
+ 00028851  0x00004cb2 deposit  0x00000012 
+ 00028852  0x00004cb3 branch  0x000070b8 , 0x00000034 
+ 00028853  0x00004cb4 call  0x0000733b 
+ 00028854  0x00004cb5 call  0x000072dc 
+ 00028855  0x00004cb6 branch  0x000070b2 
+ 00028856  0x00004cb9 arg  0x00000aee , 0x00000005 
+ 00028857  0x00004cba call  0x0000734c 
+ 00028858  0x00004cbb arg  0x00000afe , 0x00000006 
+ 00028859  0x00004cbc call  0x0000733b 
+ 00028860  0x00004cbd call  0x000072e8 
+ 00028861  0x00004cbe arg  0x00000aee , 0x00000006 
+ 00028862  0x00004cbf call  0x0000733b 
+ 00028863  0x00004cc0 branch  0x000072dc 
+ 00028864  0x00004cc6 copy  0x00000005 , 0x00000011 
+ 00028865  0x00004cc7 call  0x0000734c 
+ 00028866  0x00004cc9 arg  0x00000010 , 0x00000039 
+ 00028867  0x00004cca branch  0x00007cc0 
+ 00028868  0x00004ccd arg  0x00000abe , 0x00000005 
+ 00028869  0x00004cce call  0x00007c9a 
+ 00028870  0x00004cd0 arg  0x00000010 , 0x00000039 
+ 00028871  0x00004cd1 arg  0x00000abe , 0x00000011 
+ 00028872  0x00004cd2 branch  0x00007cc0 
+ 00028873  0x00004cd5 fetch  0x00000001 , 0x000005e1 
+ 00028874  0x00004cd6 copy  0x0000003f , 0x00000039 
+ 00028875  0x00004cd7 arg  0x000005e2 , 0x00000011 
+ 00028876  0x00004cd8 branch  0x00007cc0 
+ 00028877  0x00004cdb ifetch  0x00000001 , 0x00000011 
+ 00028878  0x00004cdc lshift  0x0000003f , 0x0000003f 
+ 00028879  0x00004cdd isolate1  0x00000000 , 0x00000013 
+ 00028880  0x00004cde setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00028881  0x00004cdf isolate1  0x00000008 , 0x0000003f 
+ 00028882  0x00004ce0 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00028883  0x00004ce1 istore  0x00000001 , 0x00000011 
+ 00028884  0x00004ce2 increase  0xffffffff , 0x00000011 
+ 00028885  0x00004ce3 loop  0x000070cd 
+ 00028886  0x00004ce4 rtn 
+ 00028887  0x00004ce7 arg  0x00000ace , 0x00000011 
+ 00028888  0x00004ce9 increase  0x0000000f , 0x00000011 
+ 00028889  0x00004cea force  0x00000010 , 0x00000039 
+ 00028890  0x00004ceb force  0x00000000 , 0x00000013 
+ 00028891  0x00004cec branch  0x000070cd 
+ 00028892  0x00004cef arg  0x00000ade , 0x00000011 
+ 00028893  0x00004cf0 branch  0x000070d8 
+ 00028894  0x00004cf4 arg  0x00000abe , 0x00000006 
+ 00028895  0x00004cf5 call  0x00007338 
+ 00028896  0x00004cf8 force  0x00000008 , 0x00000038 
+ 00028897  0x00004cf9 call  0x00007347 
+ 00028898  0x00004cfa call  0x00007346 
+ 00028899  0x00004cfc call  0x000072d9 
+ 00028900  0x00004d01 arg  0x00000ace , 0x00000005 
+ 00028901  0x00004d02 call  0x0000734c 
+ 00028902  0x00004d04 bpatchx  0x0000008a , 0x00004031 
+ 00028903  0x00004d05 fetch  0x00000001 , 0x00000ace 
+ 00028904  0x00004d06 isolate1  0x00000007 , 0x0000003f 
+ 00028905  0x00004d07 nbranch  0x000070ef , 0x00000001 
+ 00028906  0x00004d08 call  0x000070d7 
+ 00028907  0x00004d0b arg  0x00000ace , 0x00000013 
+ 00028908  0x00004d0d arg  0x00000ace , 0x00000005 
+ 00028909  0x00004d10 call  0x000070f9 
+ 00028910  0x00004d11 branch  0x000070f0 
+ 00028911  0x00004d13 call  0x000070d7 
+ 00028912  0x00004d16 arg  0x00000ace , 0x00000006 
+ 00028913  0x00004d17 arg  0x00000ade , 0x00000005 
+ 00028914  0x00004d18 call  0x00007c9a 
+ 00028915  0x00004d19 fetch  0x00000001 , 0x00000ade 
+ 00028916  0x00004d1a isolate1  0x00000007 , 0x0000003f 
+ 00028917  0x00004d1b nbranch  0x000070dc , 0x00000001 
+ 00028918  0x00004d1c call  0x000070dc 
+ 00028919  0x00004d1e arg  0x00000ade , 0x00000013 
+ 00028920  0x00004d20 arg  0x00000ade , 0x00000005 
+ 00028921  0x00004d27 arg  0x00000003 , 0x00000039 
+ 00028922  0x00004d29 arg  0x00000000 , 0x00000002 
+ 00028923  0x00004d2a call  0x00007100 
+ 00028924  0x00004d2b increase  0x00000004 , 0x00000013 
+ 00028925  0x00004d2c loop  0x000070fa 
+ 00028926  0x00004d2d arg  0x00008700 , 0x00000002 
+ 00028927  0x00004d2e lshift16  0x00000002 , 0x00000002 
+ 00028928  0x00004d30 ifetch  0x00000004 , 0x00000013 
+ 00028929  0x00004d31 ixor  0x00000002 , 0x0000003f 
+ 00028930  0x00004d32 istore  0x00000004 , 0x00000005 
+ 00028931  0x00004d33 rtn 
+ 00028932  0x00004d3a bpatchx  0x0000008b , 0x00004031 
+ 00028933  0x00004d3b arg  0x00000010 , 0x00000039 
+ 00028934  0x00004d3c arg  0x00000000 , 0x0000003f 
+ 00028935  0x00004d3e isub  0x00000011 , 0x0000003e 
+ 00028936  0x00004d3f branch  0x0000710f , 0x00000005 
+ 00028937  0x00004d40 branch  0x00007112 , 0x00000002 
+ 00028938  0x00004d41 ifetcht  0x00000001 , 0x00000006 
+ 00028939  0x00004d42 istoret  0x00000001 , 0x00000005 
+ 00028940  0x00004d44 increase  0x00000001 , 0x0000003f 
+ 00028941  0x00004d45 loop  0x00007107 
+ 00028942  0x00004d46 rtn 
+ 00028943  0x00004d48 arg  0x00000080 , 0x00000002 
+ 00028944  0x00004d4a istoret  0x00000001 , 0x00000005 
+ 00028945  0x00004d4b branch  0x0000710c 
+ 00028946  0x00004d4e arg  0x00000000 , 0x00000002 
+ 00028947  0x00004d4f branch  0x00007110 
+ 00028948  0x00004d53 call  0x00007127 
+ 00028949  0x00004d54 arg  0x0000058e , 0x00000006 
+ 00028950  0x00004d55 arg  0x0000057e , 0x00000005 
+ 00028951  0x00004d56 branch  0x00007c9a 
+ 00028952  0x00004d5a disable  0x00000028 
+ 00028953  0x00004d5b call  0x00007215 
+ 00028954  0x00004d5c arg  0x0000055e , 0x00000006 
+ 00028955  0x00004d5d arg  0x0000059e , 0x00000005 
+ 00028956  0x00004d5e force  0x0000000f , 0x00000039 
+ 00028957  0x00004d5f call  0x00007cdc 
+ 00028958  0x00004d60 ifetch  0x00000001 , 0x00000006 
+ 00028959  0x00004d61 xor_into  0x00000006 , 0x0000003f 
+ 00028960  0x00004d62 istore  0x00000001 , 0x00000005 
+ 00028961  0x00004d63 setarg  0x000005ae 
+ 00028962  0x00004d64 store  0x00000002 , 0x000005d2 
+ 00028963  0x00004d65 setarg  0x0000059e 
+ 00028964  0x00004d66 store  0x00000002 , 0x000005d0 
+ 00028965  0x00004d67 set1  0x00000012 , 0x00000000 
+ 00028966  0x00004d68 branch  0x00007167 
+ 00028967  0x00004d6d fetcht  0x00000001 , 0x00004657 
+ 00028968  0x00004d6e force  0x00000010 , 0x00000012 
+ 00028969  0x00004d6f add  0x00000002 , 0x00000006 , 0x00000013 
+ 00028970  0x00004d70 sub  0x00000013 , 0x00000010 , 0x0000003e 
+ 00028971  0x00004d71 branch  0x0000712d , 0x00000002 
+ 00028972  0x00004d72 force  0x00000010 , 0x00000013 
+ 00028973  0x00004d74 arg  0x0000059e , 0x00000005 
+ 00028974  0x00004d76 arg  0x00004658 , 0x00000006 
+ 00028975  0x00004d77 copy  0x00000002 , 0x00000039 
+ 00028976  0x00004d78 disable  0x00000028 
+ 00028977  0x00004d7a ifetch  0x00000001 , 0x00000006 
+ 00028978  0x00004d7b istore  0x00000001 , 0x00000005 
+ 00028979  0x00004d7c increase  0xffffffff , 0x00000012 
+ 00028980  0x00004d7d branch  0x0000713b , 0x00000005 
+ 00028981  0x00004d7e loop  0x00007131 
+ 00028982  0x00004d7f branch  0x0000712e , 0x00000028 
+ 00028983  0x00004d80 enable  0x00000028 
+ 00028984  0x00004d81 force  0x00000006 , 0x00000039 
+ 00028985  0x00004d82 copy  0x00000011 , 0x00000006 
+ 00028986  0x00004d83 branch  0x00007131 
+ 00028987  0x00004d85 arg  0x0000055e , 0x00000006 
+ 00028988  0x00004d86 arg  0x000005ae , 0x00000005 
+ 00028989  0x00004d87 call  0x00007c9a 
+ 00028990  0x00004d88 fetch  0x00000001 , 0x000005bd 
+ 00028991  0x00004d89 ixor  0x00000013 , 0x0000003f 
+ 00028992  0x00004d8a store  0x00000001 , 0x000005bd 
+ 00028993  0x00004d8b setarg  0x000005ae 
+ 00028994  0x00004d8c store  0x00000002 , 0x000005d2 
+ 00028995  0x00004d8d setarg  0x0000059e 
+ 00028996  0x00004d8e store  0x00000002 , 0x000005d0 
+ 00028997  0x00004d8f set1  0x00000012 , 0x00000000 
+ 00028998  0x00004d90 branch  0x00007167 
+ 00028999  0x00004d96 disable  0x00000028 
+ 00029000  0x00004d97 call  0x00007215 
+ 00029001  0x00004d98 branch  0x00007151 
+ 00029002  0x00004d9b arg  0x00000056 , 0x00000011 
+ 00029003  0x00004d9c enable  0x00000028 
+ 00029004  0x00004d9d call  0x00007215 
+ 00029005  0x00004d9e call  0x00007151 
+ 00029006  0x00004d9f arg  0x0000058e , 0x00000006 
+ 00029007  0x00004da0 arg  0x00000062 , 0x00000005 
+ 00029008  0x00004da1 branch  0x00007c9a 
+ 00029009  0x00004da5 setarg  0x0000055e 
+ 00029010  0x00004da6 store  0x00000002 , 0x000005d2 
+ 00029011  0x00004da7 setarg  0x000041bf 
+ 00029012  0x00004da8 store  0x00000002 , 0x000005d0 
+ 00029013  0x00004da9 set0  0x00000012 , 0x00000000 
+ 00029014  0x00004daa call  0x00007167 
+ 00029015  0x00004dab arg  0x0000058e , 0x00000011 
+ 00029016  0x00004dac arg  0x0000055e , 0x00000012 
+ 00029017  0x00004dad arg  0x0000059e , 0x00000005 
+ 00029018  0x00004dae call  0x00007208 
+ 00029019  0x00004daf arg  0x0000059e , 0x00000011 
+ 00029020  0x00004db0 arg  0x000005ae , 0x00000012 
+ 00029021  0x00004db1 copy  0x00000012 , 0x00000005 
+ 00029022  0x00004db2 enable  0x00000028 
+ 00029023  0x00004db3 call  0x00007206 
+ 00029024  0x00004db4 call  0x00007220 
+ 00029025  0x00004db5 setarg  0x000005ae 
+ 00029026  0x00004db6 store  0x00000002 , 0x000005d2 
+ 00029027  0x00004db7 setarg  0x0000059e 
+ 00029028  0x00004db8 store  0x00000002 , 0x000005d0 
+ 00029029  0x00004db9 set1  0x00000012 , 0x00000000 
+ 00029030  0x00004dba branch  0x00007167 
+ 00029031  0x00004dbf jam  0x00000000 , 0x000005d4 
+ 00029032  0x00004dc0 fetch  0x00000002 , 0x000005d0 
+ 00029033  0x00004dc1 iforce  0x00000006 
+ 00029034  0x00004dc2 arg  0x000005be , 0x00000005 
+ 00029035  0x00004dc3 call  0x00007c9a 
+ 00029036  0x00004dc4 fetch  0x00000002 , 0x000005d2 
+ 00029037  0x00004dc5 iforce  0x00000006 
+ 00029038  0x00004dc6 arg  0x0000058e , 0x00000005 
+ 00029039  0x00004dc7 call  0x00007c9a 
+ 00029040  0x00004dca call  0x0000718d 
+ 00029041  0x00004dcb disable  0x00000028 
+ 00029042  0x00004dcc bmark0  0x00000012 , 0x00007177 
+ 00029043  0x00004dcd fetch  0x00000001 , 0x000005d4 
+ 00029044  0x00004dce bne  0x00000004 , 0x00007177 
+ 00029045  0x00004dcf fetchr  0x00000012 , 0x00000002 , 0x000005d2 
+ 00029046  0x00004dd0 call  0x000071bf 
+ 00029047  0x00004dd2 call  0x000071be 
+ 00029048  0x00004dd3 call  0x000071d0 
+ 00029049  0x00004dd4 fetch  0x00000001 , 0x000005d4 
+ 00029050  0x00004dd5 increase  0x00000001 , 0x0000003f 
+ 00029051  0x00004dd6 store  0x00000001 , 0x000005d4 
+ 00029052  0x00004dd8 call  0x0000718d 
+ 00029053  0x00004dd9 enable  0x00000028 
+ 00029054  0x00004dda call  0x000071be 
+ 00029055  0x00004ddb call  0x000071df 
+ 00029056  0x00004ddc call  0x000071ec 
+ 00029057  0x00004ddd call  0x000071df 
+ 00029058  0x00004dde call  0x000071ec 
+ 00029059  0x00004ddf call  0x000071df 
+ 00029060  0x00004de0 call  0x000071ec 
+ 00029061  0x00004de1 call  0x000071df 
+ 00029062  0x00004de2 fetch  0x00000001 , 0x000005d4 
+ 00029063  0x00004de3 increase  0x00000001 , 0x0000003f 
+ 00029064  0x00004de4 store  0x00000001 , 0x000005d4 
+ 00029065  0x00004de5 bne  0x00000010 , 0x00007170 
+ 00029066  0x00004de6 call  0x0000718d 
+ 00029067  0x00004de7 disable  0x00000028 
+ 00029068  0x00004de8 branch  0x000071be 
+ 00029069  0x00004ded fetch  0x00000001 , 0x000005d4 
+ 00029070  0x00004dee arg  0x000005be , 0x00000006 
+ 00029071  0x00004def branch  0x000071b4 , 0x00000034 
+ 00029072  0x00004df0 iforce  0x00000012 
+ 00029073  0x00004df1 force  0x00000011 , 0x00000039 
+ 00029074  0x00004df2 copy  0x00000006 , 0x00000005 
+ 00029075  0x00004df4 ifetch  0x00000001 , 0x00000006 
+ 00029076  0x00004df5 lshift3  0x0000003f , 0x00000002 
+ 00029077  0x00004df6 rshift2  0x0000003f , 0x0000003f 
+ 00029078  0x00004df7 rshift3  0x0000003f , 0x0000003f 
+ 00029079  0x00004df8 ior  0x00000002 , 0x0000003f 
+ 00029080  0x00004df9 istore  0x00000001 , 0x00000005 
+ 00029081  0x00004dfa loop  0x00007193 
+ 00029082  0x00004dfb setarg  0x000005be 
+ 00029083  0x00004dfc iadd  0x00000012 , 0x00000006 
+ 00029084  0x00004dfd force  0x00000010 , 0x00000039 
+ 00029085  0x00004dfe arg  0x0000056e , 0x00000005 
+ 00029086  0x00004e00 ifetch  0x00000001 , 0x00000006 
+ 00029087  0x00004e01 istore  0x00000001 , 0x00000005 
+ 00029088  0x00004e02 compare  0x000005cf , 0x00000006 , 0x000000ff 
+ 00029089  0x00004e03 nbranch  0x000071a3 , 0x00000001 
+ 00029090  0x00004e04 increase  0xffffffef , 0x00000006 
+ 00029091  0x00004e06 loop  0x0000719e 
+ 00029092  0x00004e07 force  0x00000000 , 0x00000011 
+ 00029093  0x00004e08 add  0x00000012 , 0xffffffff , 0x00000013 
+ 00029094  0x00004e09 lshift2  0x00000013 , 0x00000013 
+ 00029095  0x00004e0a lshift2  0x00000013 , 0x00000013 
+ 00029096  0x00004e0b call  0x0000736e 
+ 00029097  0x00004e0c setarg  0x00008400 
+ 00029098  0x00004e0d iadd  0x00000013 , 0x00000013 
+ 00029099  0x00004e0e arg  0x0000056e , 0x00000005 
+ 00029100  0x00004e0f force  0x00000010 , 0x00000039 
+ 00029101  0x00004e11 ifetcht  0x00000001 , 0x00000013 
+ 00029102  0x00004e12 ifetch  0x00000001 , 0x00000005 
+ 00029103  0x00004e13 iadd  0x00000002 , 0x0000003f 
+ 00029104  0x00004e14 istore  0x00000001 , 0x00000005 
+ 00029105  0x00004e15 increase  0x00000001 , 0x00000013 
+ 00029106  0x00004e16 loop  0x000071ad 
+ 00029107  0x00004e17 branch  0x00007372 
+ 00029108  0x00004e1a force  0x00000010 , 0x00000039 
+ 00029109  0x00004e1b force  0x00000000 , 0x00000002 
+ 00029110  0x00004e1d ifetch  0x00000001 , 0x00000006 
+ 00029111  0x00004e1e ixor  0x00000002 , 0x00000002 
+ 00029112  0x00004e1f loop  0x000071b6 
+ 00029113  0x00004e20 deposit  0x00000002 
+ 00029114  0x00004e21 istore  0x00000001 , 0x00000006 
+ 00029115  0x00004e22 arg  0x000005be , 0x00000006 
+ 00029116  0x00004e23 arg  0x0000056e , 0x00000005 
+ 00029117  0x00004e24 branch  0x00007c9a 
+ 00029118  0x00004e27 arg  0x0000056e , 0x00000012 
+ 00029119  0x00004e29 force  0x00000010 , 0x00000039 
+ 00029120  0x00004e2a arg  0x0000058e , 0x00000011 
+ 00029121  0x00004e2b copy  0x00000011 , 0x00000005 
+ 00029122  0x00004e2d ifetcht  0x00000001 , 0x00000011 
+ 00029123  0x00004e2e ifetch  0x00000001 , 0x00000012 
+ 00029124  0x00004e2f ixor  0x00000002 , 0x00000030 
+ 00029125  0x00004e30 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029126  0x00004e31 nbranch  0x000071c8 , 0x00000028 
+ 00029127  0x00004e32 xor_into  0x00000003 , 0x00000013 
+ 00029128  0x00004e34 sub  0x00000013 , 0x00000001 , 0x00000013 
+ 00029129  0x00004e35 branch  0x000071cb , 0x00000002 
+ 00029130  0x00004e36 iadd  0x00000002 , 0x00000030 
+ 00029131  0x00004e38 istorer  0x00000030 , 0x00000001 , 0x00000005 
+ 00029132  0x00004e39 increase  0x00000001 , 0x00000011 
+ 00029133  0x00004e3a increase  0x00000001 , 0x00000012 
+ 00029134  0x00004e3b loop  0x000071c2 
+ 00029135  0x00004e3c rtn 
+ 00029136  0x00004e3f call  0x0000736e 
+ 00029137  0x00004e40 force  0x00000010 , 0x00000039 
+ 00029138  0x00004e41 arg  0x0000058e , 0x00000011 
+ 00029139  0x00004e43 ifetch  0x00000001 , 0x00000011 
+ 00029140  0x00004e44 arg  0x00008500 , 0x00000006 
+ 00029141  0x00004e45 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029142  0x00004e46 sub  0x00000013 , 0x00000001 , 0x0000003e 
+ 00029143  0x00004e47 branch  0x000071d9 , 0x00000002 
+ 00029144  0x00004e48 arg  0x00008600 , 0x00000006 
+ 00029145  0x00004e4a iadd  0x00000006 , 0x00000006 
+ 00029146  0x00004e4b ifetch  0x00000001 , 0x00000006 
+ 00029147  0x00004e4c istore  0x00000001 , 0x00000011 
+ 00029148  0x00004e4d increase  0x00000001 , 0x00000011 
+ 00029149  0x00004e4e loop  0x000071d3 
+ 00029150  0x00004e4f branch  0x00007372 
+ 00029151  0x00004e52 force  0x00000008 , 0x00000039 
+ 00029152  0x00004e53 arg  0x0000058e , 0x00000006 
+ 00029153  0x00004e54 copy  0x00000006 , 0x00000005 
+ 00029154  0x00004e56 ifetchr  0x00000011 , 0x00000001 , 0x00000006 
+ 00029155  0x00004e57 ifetchr  0x00000012 , 0x00000001 , 0x00000006 
+ 00029156  0x00004e58 lshift  0x00000011 , 0x0000003f 
+ 00029157  0x00004e59 iadd  0x00000012 , 0x0000003f 
+ 00029158  0x00004e5a istore  0x00000001 , 0x00000005 
+ 00029159  0x00004e5b deposit  0x00000011 
+ 00029160  0x00004e5c iadd  0x00000012 , 0x0000003f 
+ 00029161  0x00004e5d istore  0x00000001 , 0x00000005 
+ 00029162  0x00004e5e loop  0x000071e2 
+ 00029163  0x00004e5f rtn 
+ 00029164  0x00004e63 setarg  0x008ae42c 
+ 00029165  0x00004e64 iforce  0x00000002 
+ 00029166  0x00004e65 force  0x00000007 , 0x00000039 
+ 00029167  0x00004e66 call  0x000071f9 
+ 00029168  0x00004e67 setarg  0x000d751b 
+ 00029169  0x00004e68 iforce  0x00000002 
+ 00029170  0x00004e69 force  0x00000005 , 0x00000039 
+ 00029171  0x00004e6a call  0x000071f9 
+ 00029172  0x00004e6b fetchr  0x00000011 , 0x00000001 , 0x0000059d 
+ 00029173  0x00004e6c fetch  0x00000001 , 0x00000591 
+ 00029174  0x00004e6d store  0x00000001 , 0x0000059d 
+ 00029175  0x00004e6e storer  0x00000011 , 0x00000001 , 0x00000591 
+ 00029176  0x00004e6f rtn 
+ 00029177  0x00004e72 and  0x00000002 , 0x0000000f , 0x00000012 
+ 00029178  0x00004e74 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029179  0x00004e75 arg  0x0000058e , 0x00000005 
+ 00029180  0x00004e76 iadd  0x00000005 , 0x00000005 
+ 00029181  0x00004e77 ifetchr  0x00000013 , 0x00000001 , 0x00000005 
+ 00029182  0x00004e78 istorer  0x00000011 , 0x00000001 , 0x00000005 
+ 00029183  0x00004e79 copy  0x00000013 , 0x00000011 
+ 00029184  0x00004e7a rshift4  0x00000002 , 0x00000002 
+ 00029185  0x00004e7b loop  0x000071fa 
+ 00029186  0x00004e7c setarg  0x0000058e 
+ 00029187  0x00004e7d iadd  0x00000012 , 0x00000005 
+ 00029188  0x00004e7e istorer  0x00000011 , 0x00000001 , 0x00000005 
+ 00029189  0x00004e7f rtn 
+ 00029190  0x00004e82 enable  0x00000028 
+ 00029191  0x00004e83 branch  0x00007209 
+ 00029192  0x00004e86 disable  0x00000028 
+ 00029193  0x00004e88 force  0x00000010 , 0x00000039 
+ 00029194  0x00004e8a ifetcht  0x00000001 , 0x00000011 
+ 00029195  0x00004e8b ifetch  0x00000001 , 0x00000012 
+ 00029196  0x00004e8c branch  0x0000720f , 0x00000028 
+ 00029197  0x00004e8d ixor  0x00000002 , 0x0000003f 
+ 00029198  0x00004e8e branch  0x00007210 
+ 00029199  0x00004e90 iadd  0x00000002 , 0x0000003f 
+ 00029200  0x00004e92 istore  0x00000001 , 0x00000005 
+ 00029201  0x00004e93 increase  0x00000001 , 0x00000011 
+ 00029202  0x00004e94 increase  0x00000001 , 0x00000012 
+ 00029203  0x00004e95 loop  0x0000720a 
+ 00029204  0x00004e96 rtn 
+ 00029205  0x00004e9a arg  0x000005ae , 0x00000005 
+ 00029206  0x00004e9b ifetch  0x00000006 , 0x00000011 
+ 00029207  0x00004e9c istore  0x00000006 , 0x00000005 
+ 00029208  0x00004e9d branch  0x0000721b , 0x00000028 
+ 00029209  0x00004e9e ifetch  0x00000006 , 0x00000011 
+ 00029210  0x00004e9f branch  0x0000721c 
+ 00029211  0x00004ea1 ifetch  0x00000006 , 0x00000006 
+ 00029212  0x00004ea3 istore  0x00000006 , 0x00000005 
+ 00029213  0x00004ea4 ifetch  0x00000004 , 0x00000011 
+ 00029214  0x00004ea5 istore  0x00000004 , 0x00000005 
+ 00029215  0x00004ea6 rtn 
+ 00029216  0x00004ea9 arg  0x000041bf , 0x00000006 
+ 00029217  0x00004eaa arg  0x0000059e , 0x00000005 
+ 00029218  0x00004eab arg  0x00000000 , 0x00000002 
+ 00029219  0x00004eac setarg  0x008395a7 
+ 00029220  0x00004ead call  0x00007241 
+ 00029221  0x00004eae setarg  0x00b3c1df 
+ 00029222  0x00004eaf call  0x00007241 
+ 00029223  0x00004eb0 setarg  0x0000e5e9 
+ 00029224  0x00004eb1 call  0x00007242 
+ 00029225  0x00004eb2 copy  0x00000002 , 0x00000014 
+ 00029226  0x00004eb3 disable  0x00000028 
+ 00029227  0x00004eb4 call  0x0000722f 
+ 00029228  0x00004eb5 copy  0x00000014 , 0x00000002 
+ 00029229  0x00004eb6 enable  0x00000028 
+ 00029230  0x00004eb7 branch  0x0000722f 
+ 00029231  0x00004eba force  0x00000008 , 0x00000039 
+ 00029232  0x00004ebc ifetch  0x00000001 , 0x00000006 
+ 00029233  0x00004ebd compare  0x00000001 , 0x00000039 , 0x00000001 
+ 00029234  0x00004ebe branch  0x00007236 , 0x00000028 
+ 00029235  0x00004ebf branch  0x00007237 , 0x00000001 
+ 00029236  0x00004ec1 iadd  0x00000002 , 0x0000003f 
+ 00029237  0x00004ec2 branch  0x00007238 
+ 00029238  0x00004ec4 branch  0x00007234 , 0x00000001 
+ 00029239  0x00004ec6 ixor  0x00000002 , 0x0000003f 
+ 00029240  0x00004ec8 istore  0x00000001 , 0x00000005 
+ 00029241  0x00004ec9 rshift8  0x00000002 , 0x00000002 
+ 00029242  0x00004eca loop  0x00007230 
+ 00029243  0x00004ecb rtn 
+ 00029244  0x00004ece fetch  0x00000006 , 0x00000592 
+ 00029245  0x00004ecf store  0x00000006 , 0x00000056 
+ 00029246  0x00004ed0 ifetch  0x00000006 , 0x00000006 
+ 00029247  0x00004ed1 istore  0x00000006 , 0x00000005 
+ 00029248  0x00004ed2 rtn 
+ 00029249  0x00004ed5 lshift8  0x00000002 , 0x00000002 
+ 00029250  0x00004ed7 lshift16  0x00000002 , 0x00000002 
+ 00029251  0x00004ed8 ior  0x00000002 , 0x00000002 
+ 00029252  0x00004ed9 rtn 
+ 00029253  0x00004ede branch  0x00007245 
+ 00029254  0x00004ee3 bpatchx  0x0000008c , 0x00004031 
+ 00029255  0x00004ee4 call  0x000072eb 
+ 00029256  0x00004ee5 arg  0x000043eb , 0x00000005 
+ 00029257  0x00004ee6 branch  0x0000734c 
+ 00029258  0x00004eea arg  0x0000440c , 0x00000005 
+ 00029259  0x00004eeb branch  0x0000724d , 0x00000029 
+ 00029260  0x00004eec arg  0x0000042b , 0x00000005 
+ 00029261  0x00004eee copy  0x00000006 , 0x00000011 
+ 00029262  0x00004eef call  0x00007c9a 
+ 00029263  0x00004ef0 call  0x000072fd 
+ 00029264  0x00004ef1 arg  0x000043fc , 0x00000006 
+ 00029265  0x00004ef2 branch  0x00007365 
+ 00029266  0x00004ef5 arg  0x0000042b , 0x00000011 
+ 00029267  0x00004ef6 branch  0x00007255 , 0x00000029 
+ 00029268  0x00004ef7 arg  0x0000440c , 0x00000011 
+ 00029269  0x00004ef9 copy  0x00000011 , 0x00000005 
+ 00029270  0x00004efa call  0x000066ee 
+ 00029271  0x00004efb branch  0x000072fd 
+ 00029272  0x00004efe arg  0x0000447c , 0x00000006 
+ 00029273  0x00004eff call  0x0000733b 
+ 00029274  0x00004f00 arg  0x000043eb , 0x00000006 
+ 00029275  0x00004f01 call  0x00007338 
+ 00029276  0x00004f02 force  0x00000050 , 0x00000036 
+ 00029277  0x00004f03 force  0x00000000 , 0x00000036 
+ 00029278  0x00004f04 call  0x000072d1 
+ 00029279  0x00004f05 arg  0x00000478 , 0x00000005 
+ 00029280  0x00004f06 branch  0x0000734c 
+ 00029281  0x00004f0a force  0x00000049 , 0x0000003f 
+ 00029282  0x00004f0b branch  0x00007264 
+ 00029283  0x00004f0d force  0x00000001 , 0x0000003f 
+ 00029284  0x00004f0f force  0x00000000 , 0x00000038 
+ 00029285  0x00004f10 lshift8  0x00000002 , 0x0000002f 
+ 00029286  0x00004f11 ior  0x0000002f , 0x0000002f 
+ 00029287  0x00004f12 increase  0x00000001 , 0x00000038 
+ 00029288  0x00004f13 rshift8  0x00000002 , 0x0000002f 
+ 00029289  0x00004f14 rshift16  0x0000002f , 0x0000002f 
+ 00029290  0x00004f15 fetch  0x00000002 , 0x000043e3 
+ 00029291  0x00004f16 lshift16  0x0000003f , 0x0000003f 
+ 00029292  0x00004f17 ior  0x0000002f , 0x0000002f 
+ 00029293  0x00004f18 increase  0x00000001 , 0x00000038 
+ 00029294  0x00004f19 ifetch  0x00000004 , 0x00000006 
+ 00029295  0x00004f1a iforce  0x0000002f 
+ 00029296  0x00004f1b increase  0x00000001 , 0x00000038 
+ 00029297  0x00004f1c ifetch  0x00000002 , 0x00000006 
+ 00029298  0x00004f1d byteswap  0x00000011 , 0x0000002f 
+ 00029299  0x00004f1e lshift16  0x0000002f , 0x0000002f 
+ 00029300  0x00004f1f ior  0x0000002f , 0x0000002f 
+ 00029301  0x00004f20 increase  0x00000001 , 0x00000038 
+ 00029302  0x00004f21 rtn 
+ 00029303  0x00004f26 add  0x00000013 , 0x00000001 , 0x00000006 
+ 00029304  0x00004f27 ifetchr  0x00000011 , 0x00000001 , 0x00000006 
+ 00029305  0x00004f28 call  0x00007261 
+ 00029306  0x00004f29 call  0x000072d9 
+ 00029307  0x00004f2b force  0x00000000 , 0x00000038 
+ 00029308  0x00004f2c ifetch  0x00000001 , 0x00000013 
+ 00029309  0x00004f2d and_into  0x00000003 , 0x0000003f 
+ 00029310  0x00004f2e lshift16  0x0000003f , 0x0000002f 
+ 00029311  0x00004f2f set1  0x00000008 , 0x0000002f 
+ 00029312  0x00004f30 call  0x00007344 
+ 00029313  0x00004f31 call  0x000072dc 
+ 00029314  0x00004f33 copy  0x00000011 , 0x00000039 
+ 00029315  0x00004f34 add  0x00000013 , 0x00000002 , 0x00000006 
+ 00029316  0x00004f35 call  0x00007320 
+ 00029317  0x00004f37 call  0x0000732a 
+ 00029318  0x00004f38 call  0x000072dc 
+ 00029319  0x00004f39 deposit  0x00000039 
+ 00029320  0x00004f3a branch  0x0000728a , 0x00000034 
+ 00029321  0x00004f3b branch  0x00007285 
+ 00029322  0x00004f3d force  0x0000000c , 0x00000038 
+ 00029323  0x00004f3e copy  0x0000002f , 0x00000012 
+ 00029324  0x00004f3f storer  0x00000012 , 0x00000004 , 0x00000413 
+ 00029325  0x00004f40 rtn 
+ 00029326  0x00004f43 increase  0x00000001 , 0x00000011 
+ 00029327  0x00004f44 call  0x00007263 
+ 00029328  0x00004f45 call  0x000072e8 
+ 00029329  0x00004f46 copy  0x00000013 , 0x00000006 
+ 00029330  0x00004f47 call  0x0000733b 
+ 00029331  0x00004f48 call  0x000072df 
+ 00029332  0x00004f49 call  0x00007353 
+ 00029333  0x00004f4a increase  0x00000010 , 0x00000013 
+ 00029334  0x00004f4b increase  0xfffffff0 , 0x00000012 
+ 00029335  0x00004f4c branch  0x0000728e , 0x00000002 
+ 00029336  0x00004f4d rtn 
+ 00029337  0x00004f50 bpatchx  0x0000008d , 0x00004031 
+ 00029338  0x00004f51 arg  0x000043ae , 0x00000013 
+ 00029339  0x00004f52 fetcht  0x00000005 , 0x000043d5 
+ 00029340  0x00004f53 call  0x00007277 
+ 00029341  0x00004f54 force  0x00000000 , 0x00000011 
+ 00029342  0x00004f55 call  0x00007263 
+ 00029343  0x00004f56 call  0x000072e8 
+ 00029344  0x00004f57 force  0x00000000 , 0x00000038 
+ 00029345  0x00004f58 copy  0x00000012 , 0x0000002f 
+ 00029346  0x00004f59 call  0x000072df 
+ 00029347  0x00004f5a arg  0x000043b0 , 0x00000013 
+ 00029348  0x00004f5b fetch  0x00000001 , 0x000043af 
+ 00029349  0x00004f5c add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029350  0x00004f5d iadd  0x00000013 , 0x00000005 
+ 00029351  0x00004f5e force  0x0000000c , 0x00000038 
+ 00029352  0x00004f5f istorer  0x0000002f , 0x00000004 , 0x00000005 
+ 00029353  0x00004f60 force  0x00000000 , 0x00000011 
+ 00029354  0x00004f61 call  0x0000728e 
+ 00029355  0x00004f62 fetch  0x00000001 , 0x000043af 
+ 00029356  0x00004f63 increase  0x00000004 , 0x0000003f 
+ 00029357  0x00004f64 store  0x00000001 , 0x000043af 
+ 00029358  0x00004f65 fetcht  0x00000005 , 0x000043d5 
+ 00029359  0x00004f66 increase  0x00000001 , 0x00000002 
+ 00029360  0x00004f67 storet  0x00000005 , 0x000043d5 
+ 00029361  0x00004f68 rtn 
+ 00029362  0x00004f6b fetcht  0x00000005 , 0x000043da 
+ 00029363  0x00004f6c force  0x00000000 , 0x00000011 
+ 00029364  0x00004f6d call  0x00007263 
+ 00029365  0x00004f6e call  0x000072e8 
+ 00029366  0x00004f6f fetch  0x00000001 , 0x000002d6 
+ 00029367  0x00004f70 arg  0x000002d7 , 0x00000013 
+ 00029368  0x00004f71 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029369  0x00004f72 increase  0xfffffffc , 0x0000003f 
+ 00029370  0x00004f73 store  0x00000001 , 0x000002d6 
+ 00029371  0x00004f74 iadd  0x00000013 , 0x00000006 
+ 00029372  0x00004f75 force  0x00000000 , 0x00000038 
+ 00029373  0x00004f76 ifetchr  0x0000002f , 0x00000004 , 0x00000006 
+ 00029374  0x00004f77 call  0x000072df 
+ 00029375  0x00004f78 force  0x0000000c , 0x00000038 
+ 00029376  0x00004f79 storer  0x0000002f , 0x00000004 , 0x00000417 
+ 00029377  0x00004f7a force  0x00000000 , 0x00000011 
+ 00029378  0x00004f7b call  0x0000728e 
+ 00029379  0x00004f7c arg  0x000002d5 , 0x00000013 
+ 00029380  0x00004f7d call  0x00007277 
+ 00029381  0x00004f7e fetch  0x00000004 , 0x00000417 
+ 00029382  0x00004f7f isub  0x00000012 , 0x0000003f 
+ 00029383  0x00004f80 nrtn  0x00000034 
+ 00029384  0x00004f81 fetch  0x00000004 , 0x000043df 
+ 00029385  0x00004f82 isub  0x00000012 , 0x0000003f 
+ 00029386  0x00004f83 rtn  0x00000034 
+ 00029387  0x00004f84 storet  0x00000004 , 0x000043df 
+ 00029388  0x00004f85 fetch  0x00000005 , 0x000043da 
+ 00029389  0x00004f86 increase  0x00000001 , 0x0000003f 
+ 00029390  0x00004f87 store  0x00000005 , 0x000043da 
+ 00029391  0x00004f88 force  0x00000000 , 0x0000003f 
+ 00029392  0x00004f89 rtn 
+ 00029393  0x00004f8c nbranch  0x000072d1 , 0x00000037 
+ 00029394  0x00004f8d rtn 
+ 00029395  0x00004f91 force  0x00000048 , 0x00000036 
+ 00029396  0x00004f92 force  0x00000008 , 0x00000036 
+ 00029397  0x00004f93 branch  0x000072d1 
+ 00029398  0x00004f96 force  0x00000044 , 0x00000036 
+ 00029399  0x00004f97 force  0x00000004 , 0x00000036 
+ 00029400  0x00004f98 branch  0x000072d1 
+ 00029401  0x00004f9b force  0x00000040 , 0x00000036 
+ 00029402  0x00004f9c force  0x00000000 , 0x00000036 
+ 00029403  0x00004f9d branch  0x000072d1 
+ 00029404  0x00004fa1 force  0x00000041 , 0x00000036 
+ 00029405  0x00004fa2 force  0x00000000 , 0x00000036 
+ 00029406  0x00004fa3 branch  0x000072d1 
+ 00029407  0x00004fa6 force  0x00000042 , 0x00000036 
+ 00029408  0x00004fa7 force  0x00000002 , 0x00000036 
+ 00029409  0x00004fa8 branch  0x000072d1 
+ 00029410  0x00004fab force  0x00000050 , 0x00000036 
+ 00029411  0x00004fac force  0x00000010 , 0x00000036 
+ 00029412  0x00004fad branch  0x000072d1 
+ 00029413  0x00004fb0 force  0x00000051 , 0x00000036 
+ 00029414  0x00004fb1 force  0x00000010 , 0x00000036 
+ 00029415  0x00004fb2 branch  0x000072d1 
+ 00029416  0x00004fb6 force  0x00000020 , 0x00000036 
+ 00029417  0x00004fb7 force  0x00000000 , 0x00000036 
+ 00029418  0x00004fb8 rtn 
+ 00029419  0x00004fbb force  0x00000000 , 0x00000038 
+ 00029420  0x00004fbc fetch  0x00000004 , 0x0000042b 
+ 00029421  0x00004fbd iforce  0x0000002f 
+ 00029422  0x00004fbe increase  0x00000001 , 0x00000038 
+ 00029423  0x00004fbf ifetch  0x00000004 , 0x00000006 
+ 00029424  0x00004fc0 iforce  0x0000002f 
+ 00029425  0x00004fc1 increase  0x00000001 , 0x00000038 
+ 00029426  0x00004fc2 fetch  0x00000004 , 0x0000440c 
+ 00029427  0x00004fc3 iforce  0x0000002f 
+ 00029428  0x00004fc4 increase  0x00000001 , 0x00000038 
+ 00029429  0x00004fc5 ifetch  0x00000004 , 0x00000006 
+ 00029430  0x00004fc6 iforce  0x0000002f 
+ 00029431  0x00004fc7 increase  0x00000001 , 0x00000038 
+ 00029432  0x00004fc8 call  0x00007347 
+ 00029433  0x00004fc9 increase  0xfffffffc , 0x00000038 
+ 00029434  0x00004fca fetch  0x00000004 , 0x00004499 
+ 00029435  0x00004fcb copy  0x0000003f , 0x0000002f 
+ 00029436  0x00004fcc branch  0x000072e2 
+ 00029437  0x00004fd0 copy  0x00000011 , 0x00000006 
+ 00029438  0x00004fd1 call  0x0000733b 
+ 00029439  0x00004fd2 force  0x00000030 , 0x00000036 
+ 00029440  0x00004fd3 force  0x00000000 , 0x00000036 
+ 00029441  0x00004fd4 fetch  0x00000001 , 0x00004460 
+ 00029442  0x00004fd5 fetcht  0x00000001 , 0x00004457 
+ 00029443  0x00004fd6 nbranch  0x00007306 , 0x00000029 
+ 00029444  0x00004fd7 fetch  0x00000001 , 0x00004467 
+ 00029445  0x00004fd8 fetcht  0x00000001 , 0x00004460 
+ 00029446  0x00004fda store  0x00000001 , 0x0000441c 
+ 00029447  0x00004fdb storet  0x00000001 , 0x0000441d 
+ 00029448  0x00004fdc arg  0x0000441c , 0x00000006 
+ 00029449  0x00004fdd call  0x0000733b 
+ 00029450  0x00004fde call  0x00007347 
+ 00029451  0x00004fdf increase  0xfffffffc , 0x00000038 
+ 00029452  0x00004fe0 fetch  0x00000004 , 0x00004499 
+ 00029453  0x00004fe1 copy  0x0000003f , 0x0000002f 
+ 00029454  0x00004fe2 force  0x00000051 , 0x00000036 
+ 00029455  0x00004fe3 force  0x00000010 , 0x00000036 
+ 00029456  0x00004fe4 fetch  0x00000006 , 0x00004472 
+ 00029457  0x00004fe5 fetcht  0x00000006 , 0x0000044b 
+ 00029458  0x00004fe6 branch  0x00007315 , 0x00000029 
+ 00029459  0x00004fe7 fetch  0x00000006 , 0x0000044b 
+ 00029460  0x00004fe8 fetcht  0x00000006 , 0x00004472 
+ 00029461  0x00004fea force  0x00000000 , 0x00000038 
+ 00029462  0x00004feb copy  0x00000002 , 0x0000002f 
+ 00029463  0x00004fec increase  0x00000001 , 0x00000038 
+ 00029464  0x00004fed rshift32  0x00000002 , 0x0000002f 
+ 00029465  0x00004fee lshift16  0x0000003f , 0x0000003f 
+ 00029466  0x00004fef ior  0x0000002f , 0x0000002f 
+ 00029467  0x00004ff0 increase  0x00000001 , 0x00000038 
+ 00029468  0x00004ff1 rshift32  0x0000003f , 0x0000002f 
+ 00029469  0x00004ff2 increase  0x00000001 , 0x00000038 
+ 00029470  0x00004ff3 force  0x00000000 , 0x0000002f 
+ 00029471  0x00004ff4 branch  0x000072e5 
+ 00029472  0x00004ff8 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029473  0x00004ff9 rtn  0x00000001 
+ 00029474  0x00004ffa deposit  0x00000006 
+ 00029475  0x00004ffb iadd  0x00000039 , 0x00000005 
+ 00029476  0x00004ffc force  0x00000000 , 0x0000003f 
+ 00029477  0x00004ffe istore  0x00000001 , 0x00000005 
+ 00029478  0x00004fff increase  0x00000001 , 0x00000039 
+ 00029479  0x00005000 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029480  0x00005001 rtn  0x00000001 
+ 00029481  0x00005002 branch  0x00007325 
+ 00029482  0x00005005 force  0x00000000 , 0x00000038 
+ 00029483  0x00005007 deposit  0x00000039 
+ 00029484  0x00005008 branch  0x0000732f , 0x00000034 
+ 00029485  0x00005009 ifetch  0x00000004 , 0x00000006 
+ 00029486  0x0000500a increase  0xfffffffc , 0x00000039 
+ 00029487  0x0000500c iforce  0x0000002f 
+ 00029488  0x0000500d increase  0x00000001 , 0x00000038 
+ 00029489  0x0000500e compare  0x00000004 , 0x00000038 , 0x0000000f 
+ 00029490  0x0000500f rtn  0x00000001 
+ 00029491  0x00005010 branch  0x0000732b 
+ 00029492  0x00005013 force  0x00000008 , 0x00000039 
+ 00029493  0x00005014 branch  0x00007339 
+ 00029494  0x00005016 force  0x00000006 , 0x00000039 
+ 00029495  0x00005017 branch  0x00007339 
+ 00029496  0x00005019 force  0x00000004 , 0x00000039 
+ 00029497  0x0000501b force  0x00000004 , 0x00000038 
+ 00029498  0x0000501c branch  0x0000733d 
+ 00029499  0x0000501e force  0x00000000 , 0x00000038 
+ 00029500  0x0000501f force  0x00000004 , 0x00000039 
+ 00029501  0x00005022 ifetch  0x00000004 , 0x00000006 
+ 00029502  0x00005023 icopy  0x0000002f 
+ 00029503  0x00005024 increase  0x00000001 , 0x00000038 
+ 00029504  0x00005025 loop  0x0000733d 
+ 00029505  0x00005026 rtn 
+ 00029506  0x0000502a arg  0x00000478 , 0x00000006 
+ 00029507  0x0000502b branch  0x00007338 
+ 00029508  0x0000502e force  0x00000004 , 0x00000039 
+ 00029509  0x0000502f branch  0x00007349 
+ 00029510  0x00005032 force  0x00000000 , 0x00000038 
+ 00029511  0x00005034 force  0x00000004 , 0x00000039 
+ 00029512  0x00005036 force  0x00000000 , 0x0000002f 
+ 00029513  0x00005038 increase  0x00000001 , 0x00000038 
+ 00029514  0x00005039 loop  0x00007348 
+ 00029515  0x0000503a rtn 
+ 00029516  0x0000503d force  0x0000000c , 0x00000038 
+ 00029517  0x0000503e force  0x00000004 , 0x00000039 
+ 00029518  0x00005040 deposit  0x0000002f 
+ 00029519  0x00005041 istore  0x00000004 , 0x00000005 
+ 00029520  0x00005042 increase  0x00000001 , 0x00000038 
+ 00029521  0x00005043 loop  0x0000734e 
+ 00029522  0x00005044 rtn 
+ 00029523  0x00005047 force  0x0000000c , 0x00000038 
+ 00029524  0x00005048 copy  0x00000013 , 0x00000005 
+ 00029525  0x00005049 add  0x00000012 , 0x00000001 , 0x00000039 
+ 00029526  0x0000504a sub  0x00000039 , 0x0000000f , 0x0000003e 
+ 00029527  0x0000504b branch  0x00007359 , 0x00000002 
+ 00029528  0x0000504c force  0x00000010 , 0x00000039 
+ 00029529  0x0000504e deposit  0x0000002f 
+ 00029530  0x0000504f sub  0x00000039 , 0x00000003 , 0x0000003e 
+ 00029531  0x00005050 branch  0x00007361 , 0x00000002 
+ 00029532  0x00005051 istore  0x00000004 , 0x00000005 
+ 00029533  0x00005052 increase  0xfffffffc , 0x00000039 
+ 00029534  0x00005053 rtn  0x00000005 
+ 00029535  0x00005054 increase  0x00000001 , 0x00000038 
+ 00029536  0x00005055 branch  0x00007359 
+ 00029537  0x00005057 istore  0x00000001 , 0x00000005 
+ 00029538  0x00005058 rshift8  0x0000003f , 0x0000003f 
+ 00029539  0x00005059 loop  0x00007361 
+ 00029540  0x0000505a rtn 
+ 00029541  0x0000505e force  0x0000000c , 0x00000038 
+ 00029542  0x0000505f force  0x00000004 , 0x00000039 
+ 00029543  0x00005061 ifetch  0x00000004 , 0x00000006 
+ 00029544  0x00005062 isub  0x0000002f , 0x0000003e 
+ 00029545  0x00005063 nrtn  0x00000005 
+ 00029546  0x00005064 increase  0x00000001 , 0x00000038 
+ 00029547  0x00005065 loop  0x00007367 
+ 00029548  0x00005066 force  0x00000000 , 0x0000003e 
+ 00029549  0x00005067 rtn 
+ 00029550  0x0000506a fetch  0x00000001 , 0x00008043 
+ 00029551  0x0000506b set1  0x00000003 , 0x0000003f 
+ 00029552  0x0000506c store  0x00000001 , 0x00008043 
+ 00029553  0x0000506d rtn 
+ 00029554  0x00005070 fetch  0x00000001 , 0x00008043 
+ 00029555  0x00005071 set0  0x00000003 , 0x0000003f 
+ 00029556  0x00005072 store  0x00000001 , 0x00008043 
+ 00029557  0x00005073 rtn 
+ 00029558  0x00005076 arg  0x00000882 , 0x00000005 
+ 00029559  0x00005077 setsect  0x00000000 , 0x0003ffff 
+ 00029560  0x00005078 setsect  0x00000001 , 0x0003ffff 
+ 00029561  0x00005079 setsect  0x00000002 , 0x0003ffff 
+ 00029562  0x0000507a setsect  0x00000003 , 0x0003fbff 
+ 00029563  0x0000507b istore  0x00000009 , 0x00000005 
+ 00029564  0x0000507c setsect  0x00000000 , 0x0003ffff 
+ 00029565  0x0000507d setsect  0x00000001 , 0x0003ffff 
+ 00029566  0x0000507e setsect  0x00000002 , 0x0003ffff 
+ 00029567  0x0000507f setsect  0x00000003 , 0x0003ffff 
+ 00029568  0x00005080 istore  0x00000009 , 0x00000005 
+ 00029569  0x00005081 setsect  0x00000000 , 0x0003ffff 
+ 00029570  0x00005082 setsect  0x00000001 , 0x0003ffff 
+ 00029571  0x00005083 setsect  0x00000002 , 0x0003cfff 
+ 00029572  0x00005084 setsect  0x00000003 , 0x0003ffff 
+ 00029573  0x00005085 istore  0x00000009 , 0x00000005 
+ 00029574  0x00005086 setsect  0x00000000 , 0x0003ffff 
+ 00029575  0x00005087 setsect  0x00000001 , 0x0003ffff 
+ 00029576  0x00005088 setsect  0x00000002 , 0x0003ffef 
+ 00029577  0x00005089 setsect  0x00000003 , 0x0003ffff 
+ 00029578  0x0000508a istore  0x00000009 , 0x00000005 
+ 00029579  0x0000508b setsect  0x00000000 , 0x0003ffff 
+ 00029580  0x0000508c setsect  0x00000001 , 0x0003ffff 
+ 00029581  0x0000508d setsect  0x00000002 , 0x0003ffff 
+ 00029582  0x0000508e setsect  0x00000003 , 0x0003ffff 
+ 00029583  0x0000508f istore  0x00000009 , 0x00000005 
+ 00029584  0x00005090 setsect  0x00000000 , 0x0003ffff 
+ 00029585  0x00005091 setsect  0x00000001 , 0x00026c7f 
+ 00029586  0x00005092 setsect  0x00000002 , 0x0000146b 
+ 00029587  0x00005093 setsect  0x00000003 , 0x00037bb3 
+ 00029588  0x00005094 istore  0x00000009 , 0x00000005 
+ 00029589  0x00005095 setsect  0x00000000 , 0x0001feb8 
+ 00029590  0x00005096 setsect  0x00000001 , 0x00010c12 
+ 00029591  0x00005097 setsect  0x00000002 , 0x0002b722 
+ 00029592  0x00005098 setsect  0x00000003 , 0x00029fa6 
+ 00029593  0x00005099 istore  0x00000009 , 0x00000005 
+ 00029594  0x0000509a setsect  0x00000000 , 0x0000e70f 
+ 00029595  0x0000509b setsect  0x00000001 , 0x00016720 
+ 00029596  0x0000509c setsect  0x00000002 , 0x0000519e 
+ 00029597  0x0000509d setsect  0x00000003 , 0x00019084 
+ 00029598  0x0000509e istore  0x00000009 , 0x00000005 
+ 00029599  0x0000509f setsect  0x00000000 , 0x00031012 
+ 00029600  0x000050a0 setsect  0x00000001 , 0x000360bf 
+ 00029601  0x000050a1 setsect  0x00000002 , 0x0003f0af 
+ 00029602  0x000050a2 setsect  0x00000003 , 0x000003d3 
+ 00029603  0x000050a3 istore  0x00000009 , 0x00000005 
+ 00029604  0x000050a4 setsect  0x00000000 , 0x0003a188 
+ 00029605  0x000050a5 setsect  0x00000001 , 0x00003ad0 
+ 00029606  0x000050a6 setsect  0x00000002 , 0x0003cbf2 
+ 00029607  0x000050a7 setsect  0x00000003 , 0x000243d9 
+ 00029608  0x000050a8 istore  0x00000009 , 0x00000005 
+ 00029609  0x000050a9 setsect  0x00000000 , 0x0002b030 
+ 00029610  0x000050aa setsect  0x00000001 , 0x00036a03 
+ 00029611  0x000050ab setsect  0x00000002 , 0x00011188 
+ 00029612  0x000050ac setsect  0x00000003 , 0x0001e520 
+ 00029613  0x000050ad istore  0x00000009 , 0x00000005 
+ 00029614  0x000050ae setsect  0x00000000 , 0x0003a11e 
+ 00029615  0x000050af setsect  0x00000001 , 0x0000fe5d 
+ 00029616  0x000050b0 setsect  0x00000002 , 0x0000dd57 
+ 00029617  0x000050b1 setsect  0x00000003 , 0x0001ac93 
+ 00029618  0x000050b2 istore  0x00000009 , 0x00000005 
+ 00029619  0x000050b3 setsect  0x00000000 , 0x000011ed 
+ 00029620  0x000050b4 setsect  0x00000001 , 0x000218c4 
+ 00029621  0x000050b5 setsect  0x00000002 , 0x00008da7 
+ 00029622  0x000050b6 setsect  0x00000003 , 0x000257ff 
+ 00029623  0x000050b7 istore  0x00000009 , 0x00000005 
+ 00029624  0x000050b8 setsect  0x00000000 , 0x0003192b 
+ 00029625  0x000050b9 setsect  0x00000001 , 0x00034641 
+ 00029626  0x000050ba setsect  0x00000002 , 0x0001be0c 
+ 00029627  0x000050bb setsect  0x00000003 , 0x000366ad 
+ 00029628  0x000050bc istore  0x00000009 , 0x00000005 
+ 00029629  0x000050bd setsect  0x00000000 , 0x00001f83 
+ 00029630  0x000050be setsect  0x00000001 , 0x00015a23 
+ 00029631  0x000050bf setsect  0x00000002 , 0x0003f9b0 
+ 00029632  0x000050c0 setsect  0x00000003 , 0x00003949 
+ 00029633  0x000050c1 istore  0x00000009 , 0x00000005 
+ 00029634  0x000050c2 setsect  0x00000000 , 0x00013a51 
+ 00029635  0x000050c3 setsect  0x00000001 , 0x000153fd 
+ 00029636  0x000050c4 setsect  0x00000002 , 0x0003372a 
+ 00029637  0x000050c5 setsect  0x00000003 , 0x0000f1bb 
+ 00029638  0x000050c6 istore  0x00000009 , 0x00000005 
+ 00029639  0x000050c7 setsect  0x00000000 , 0x0003ae85 
+ 00029640  0x000050c8 setsect  0x00000001 , 0x0001eed9 
+ 00029641  0x000050c9 setsect  0x00000002 , 0x00009e66 
+ 00029642  0x000050ca setsect  0x00000003 , 0x000001a8 
+ 00029643  0x000050cb istore  0x00000008 , 0x00000005 
+ 00029644  0x000050cc rtn 
+ 00029645  0x000050d1 arg  0x0000091a , 0x00000005 
+ 00029646  0x000050d2 setsect  0x00000000 , 0x0003ffff 
+ 00029647  0x000050d3 setsect  0x00000001 , 0x0003ffff 
+ 00029648  0x000050d4 setsect  0x00000002 , 0x0003ffff 
+ 00029649  0x000050d5 setsect  0x00000003 , 0x0003ffff 
+ 00029650  0x000050d6 istore  0x00000009 , 0x00000005 
+ 00029651  0x000050d7 setsect  0x00000000 , 0x0003ffff 
+ 00029652  0x000050d8 setsect  0x00000001 , 0x0000003f 
+ 00029653  0x000050d9 setsect  0x00000002 , 0x00000000 
+ 00029654  0x000050da setsect  0x00000003 , 0x00000000 
+ 00029655  0x000050db istore  0x00000009 , 0x00000005 
+ 00029656  0x000050dc setsect  0x00000000 , 0x00000000 
+ 00029657  0x000050dd setsect  0x00000001 , 0x00000000 
+ 00029658  0x000050de setsect  0x00000002 , 0x00001000 
+ 00029659  0x000050df setsect  0x00000003 , 0x00000000 
+ 00029660  0x000050e0 istore  0x00000009 , 0x00000005 
+ 00029661  0x000050e1 setsect  0x00000000 , 0x0003ff00 
+ 00029662  0x000050e2 setsect  0x00000001 , 0x0003ffff 
+ 00029663  0x000050e3 setsect  0x00000002 , 0x0003ffcf 
+ 00029664  0x000050e4 setsect  0x00000003 , 0x0003ffff 
+ 00029665  0x000050e5 istore  0x00000009 , 0x00000005 
+ 00029666  0x000050e6 setsect  0x00000000 , 0x0003ffff 
+ 00029667  0x000050e7 setsect  0x00000001 , 0x0003ffff 
+ 00029668  0x000050e8 setsect  0x00000002 , 0x0003ffff 
+ 00029669  0x000050e9 setsect  0x00000003 , 0x000003ff 
+ 00029670  0x000050ea istore  0x00000009 , 0x00000005 
+ 00029671  0x000050eb setsect  0x00000000 , 0x00000000 
+ 00029672  0x000050ec setsect  0x00000001 , 0x00000000 
+ 00029673  0x000050ed setsect  0x00000002 , 0x00000000 
+ 00029674  0x000050ee setsect  0x00000003 , 0x00000000 
+ 00029675  0x000050ef istore  0x00000009 , 0x00000005 
+ 00029676  0x000050f0 setsect  0x00000000 , 0x00010000 
+ 00029677  0x000050f1 setsect  0x00000001 , 0x00000000 
+ 00029678  0x000050f2 setsect  0x00000002 , 0x0003f000 
+ 00029679  0x000050f3 setsect  0x00000003 , 0x0003ffff 
+ 00029680  0x000050f4 istore  0x00000009 , 0x00000005 
+ 00029681  0x000050f5 setsect  0x00000000 , 0x000296ff 
+ 00029682  0x000050f6 setsect  0x00000001 , 0x00022630 
+ 00029683  0x000050f7 setsect  0x00000002 , 0x0003945d 
+ 00029684  0x000050f8 setsect  0x00000003 , 0x0003d284 
+ 00029685  0x000050f9 istore  0x00000009 , 0x00000005 
+ 00029686  0x000050fa setsect  0x00000000 , 0x000333a0 
+ 00029687  0x000050fb setsect  0x00000001 , 0x00004b7a 
+ 00029688  0x000050fc setsect  0x00000002 , 0x000037d8 
+ 00029689  0x000050fd setsect  0x00000003 , 0x0003c9dc 
+ 00029690  0x000050fe istore  0x00000009 , 0x00000005 
+ 00029691  0x000050ff setsect  0x00000000 , 0x0003a440 
+ 00029692  0x00005100 setsect  0x00000001 , 0x0001b958 
+ 00029693  0x00005101 setsect  0x00000002 , 0x00038bce 
+ 00029694  0x00005102 setsect  0x00000003 , 0x0001091f 
+ 00029695  0x00005103 istore  0x00000009 , 0x00000005 
+ 00029696  0x00005104 setsect  0x00000000 , 0x0002e12c 
+ 00029697  0x00005105 setsect  0x00000001 , 0x0001f47c 
+ 00029698  0x00005106 setsect  0x00000002 , 0x000356b1 
+ 00029699  0x00005107 setsect  0x00000003 , 0x0002fd47 
+ 00029700  0x00005108 istore  0x00000009 , 0x00000005 
+ 00029701  0x00005109 setsect  0x00000000 , 0x00006837 
+ 00029702  0x0000510a setsect  0x00000001 , 0x0002ed90 
+ 00029703  0x0000510b setsect  0x00000002 , 0x0001ecec 
+ 00029704  0x0000510c setsect  0x00000003 , 0x0001acc5 
+ 00029705  0x0000510d istore  0x00000009 , 0x00000005 
+ 00029706  0x0000510e setsect  0x00000000 , 0x00023357 
+ 00029707  0x0000510f setsect  0x00000001 , 0x00018af3 
+ 00029708  0x00005110 setsect  0x00000002 , 0x0000f9e1 
+ 00029709  0x00005111 setsect  0x00000003 , 0x000129f0 
+ 00029710  0x00005112 istore  0x00000009 , 0x00000005 
+ 00029711  0x00005113 setsect  0x00000000 , 0x0002e7eb 
+ 00029712  0x00005114 setsect  0x00000001 , 0x0003e6e3 
+ 00029713  0x00005115 setsect  0x00000002 , 0x0003e1a7 
+ 00029714  0x00005116 setsect  0x00000003 , 0x00010b8b 
+ 00029715  0x00005117 istore  0x00000009 , 0x00000005 
+ 00029716  0x00005118 setsect  0x00000000 , 0x00024fe3 
+ 00029717  0x00005119 setsect  0x00000001 , 0x000020ef 
+ 00029718  0x0000511a setsect  0x00000002 , 0x0001b5a6 
+ 00029719  0x0000511b setsect  0x00000003 , 0x0000dc2f 
+ 00029720  0x0000511c istore  0x00000009 , 0x00000005 
+ 00029721  0x0000511d setsect  0x00000000 , 0x00013860 
+ 00029722  0x0000511e setsect  0x00000001 , 0x0002bd69 
+ 00029723  0x0000511f setsect  0x00000002 , 0x0000391a 
+ 00029724  0x00005120 setsect  0x00000003 , 0x0001b222 
+ 00029725  0x00005121 istore  0x00000009 , 0x00000005 
+ 00029726  0x00005122 rtn 
+ 00029727  0x00005126 fetch  0x00000001 , 0x0000462c 
+ 00029728  0x00005127 nbranch  0x00007432 , 0x00000034 
+ 00029729  0x00005128 branch  0x0000792c 
+ 00029730  0x0000512b bpatchx  0x0000008e , 0x00004031 
+ 00029731  0x0000512c fetch  0x00000001 , 0x0000462c 
+ 00029732  0x0000512d rtn  0x00000034 
+ 00029733  0x0000512e fetch  0x00000001 , 0x00004583 
+ 00029734  0x0000512f rtnne  0x00000001 
+ 00029735  0x00005130 fetch  0x00000001 , 0x00004490 
+ 00029736  0x00005131 rtn  0x00000034 
+ 00029737  0x00005132 fetch  0x00000001 , 0x00004495 
+ 00029738  0x00005133 rtneq  0x00000003 
+ 00029739  0x00005134 fetch  0x00000002 , 0x00004652 
+ 00029740  0x00005135 bbit1  0x00000000 , 0x00007430 
+ 00029741  0x00005136 fetch  0x00000001 , 0x00004492 
+ 00029742  0x00005137 beq  0x00000000 , 0x0000792c 
+ 00029743  0x00005138 rtn 
+ 00029744  0x0000513a jam  0x00000000 , 0x00004492 
+ 00029745  0x0000513b rtn 
+ 00029746  0x0000513f bpatchx  0x0000008f , 0x00004031 
+ 00029747  0x00005140 fetch  0x00000001 , 0x0000462c 
+ 00029748  0x00005141 branch  0x0000650d , 0x00000034 
+ 00029749  0x00005142 call  0x00006506 
+ 00029750  0x00005143 call  0x00007438 
+ 00029751  0x00005144 branch  0x00007522 
+ 00029752  0x00005147 setarg  0x00000000 
+ 00029753  0x00005148 store  0x00000008 , 0x000009aa 
+ 00029754  0x00005149 store  0x00000004 , 0x000009b2 
+ 00029755  0x0000514a store  0x00000007 , 0x00004630 
+ 00029756  0x0000514b rtn 
+ 00029757  0x0000514e jam  0x00000001 , 0x000009ac 
+ 00029758  0x0000514f branch  0x00007442 
+ 00029759  0x00005151 fetch  0x00000001 , 0x00004583 
+ 00029760  0x00005152 beq  0x00000001 , 0x0000753f 
+ 00029761  0x00005153 branch  0x00004a8b 
+ 00029762  0x00005155 fetch  0x00000001 , 0x00004583 
+ 00029763  0x00005156 beq  0x00000001 , 0x00007445 
+ 00029764  0x00005157 branch  0x00007522 
+ 00029765  0x0000515a call  0x0000753f 
+ 00029766  0x0000515b fetch  0x00000001 , 0x000009ab 
+ 00029767  0x0000515c nrtn  0x00000034 
+ 00029768  0x0000515d jam  0x00000003 , 0x000009aa 
+ 00029769  0x0000515e rtn 
+ 00029770  0x00005162 call  0x00007465 
+ 00029771  0x00005163 arg  0x000009da , 0x00000011 
+ 00029772  0x00005164 arg  0x00000862 , 0x00000005 
+ 00029773  0x00005165 call  0x00007b2e 
+ 00029774  0x00005166 arg  0x000009ba , 0x00000011 
+ 00029775  0x00005167 arg  0x00000822 , 0x00000005 
+ 00029776  0x00005168 call  0x00007b2e 
+ 00029777  0x00005169 arg  0x00000822 , 0x00000011 
+ 00029778  0x0000516a arg  0x000009ba , 0x00000012 
+ 00029779  0x0000516b arg  0x00000822 , 0x00000005 
+ 00029780  0x0000516c call  0x00007a96 
+ 00029781  0x0000516d arg  0x0000093a , 0x00000011 
+ 00029782  0x0000516e arg  0x000009ba , 0x00000012 
+ 00029783  0x0000516f arg  0x00000842 , 0x00000005 
+ 00029784  0x00005170 call  0x00007a96 
+ 00029785  0x00005171 arg  0x00000842 , 0x00000011 
+ 00029786  0x00005172 arg  0x00000822 , 0x00000012 
+ 00029787  0x00005173 arg  0x00000822 , 0x00000005 
+ 00029788  0x00005174 call  0x00007b32 
+ 00029789  0x00005175 arg  0x00000802 , 0x00000011 
+ 00029790  0x00005176 arg  0x00000822 , 0x00000012 
+ 00029791  0x00005177 arg  0x00000802 , 0x00000005 
+ 00029792  0x00005178 call  0x00007b32 
+ 00029793  0x00005179 arg  0x00000020 , 0x00000039 
+ 00029794  0x0000517a arg  0x00000862 , 0x00000011 
+ 00029795  0x0000517b arg  0x00000802 , 0x00000012 
+ 00029796  0x0000517c branch  0x00007d63 
+ 00029797  0x0000517f arg  0x0000097a , 0x00000011 
+ 00029798  0x00005180 arg  0x00000802 , 0x00000005 
+ 00029799  0x00005181 call  0x00007b2e 
+ 00029800  0x00005182 arg  0x0000095a , 0x00000011 
+ 00029801  0x00005183 arg  0x00000822 , 0x00000005 
+ 00029802  0x00005184 call  0x00007b2e 
+ 00029803  0x00005185 arg  0x00000822 , 0x00000011 
+ 00029804  0x00005186 arg  0x0000095a , 0x00000012 
+ 00029805  0x00005187 arg  0x00000822 , 0x00000005 
+ 00029806  0x00005188 call  0x00007a96 
+ 00029807  0x00005189 arg  0x0000093a , 0x00000011 
+ 00029808  0x0000518a arg  0x0000095a , 0x00000012 
+ 00029809  0x0000518b arg  0x00000842 , 0x00000005 
+ 00029810  0x0000518c call  0x00007a96 
+ 00029811  0x0000518d arg  0x00000842 , 0x00000011 
+ 00029812  0x0000518e arg  0x00000822 , 0x00000012 
+ 00029813  0x0000518f arg  0x00000822 , 0x00000005 
+ 00029814  0x00005190 call  0x00007b32 
+ 00029815  0x00005191 arg  0x00000802 , 0x00000011 
+ 00029816  0x00005192 arg  0x00000822 , 0x00000012 
+ 00029817  0x00005193 arg  0x00000802 , 0x00000005 
+ 00029818  0x00005194 branch  0x00007b4b 
+ 00029819  0x00005197 call  0x00007496 
+ 00029820  0x00005198 arg  0x000009e2 , 0x00000011 
+ 00029821  0x00005199 arg  0x00000862 , 0x00000005 
+ 00029822  0x0000519a call  0x0000765d 
+ 00029823  0x0000519b arg  0x000009c2 , 0x00000011 
+ 00029824  0x0000519c arg  0x00000822 , 0x00000005 
+ 00029825  0x0000519d call  0x0000765d 
+ 00029826  0x0000519e arg  0x00000822 , 0x00000011 
+ 00029827  0x0000519f arg  0x000009c2 , 0x00000012 
+ 00029828  0x000051a0 arg  0x00000822 , 0x00000005 
+ 00029829  0x000051a1 call  0x0000763b 
+ 00029830  0x000051a2 arg  0x0000089a , 0x00000011 
+ 00029831  0x000051a3 arg  0x000009c2 , 0x00000012 
+ 00029832  0x000051a4 arg  0x00000842 , 0x00000005 
+ 00029833  0x000051a5 call  0x0000763b 
+ 00029834  0x000051a6 arg  0x00000842 , 0x00000011 
+ 00029835  0x000051a7 arg  0x00000822 , 0x00000012 
+ 00029836  0x000051a8 arg  0x00000822 , 0x00000005 
+ 00029837  0x000051a9 call  0x0000760a 
+ 00029838  0x000051aa arg  0x00000802 , 0x00000011 
+ 00029839  0x000051ab arg  0x00000822 , 0x00000012 
+ 00029840  0x000051ac arg  0x00000802 , 0x00000005 
+ 00029841  0x000051ad call  0x0000760a 
+ 00029842  0x000051ae arg  0x00000018 , 0x00000039 
+ 00029843  0x000051af arg  0x00000862 , 0x00000011 
+ 00029844  0x000051b0 arg  0x00000802 , 0x00000012 
+ 00029845  0x000051b1 branch  0x00007d63 
+ 00029846  0x000051b4 arg  0x000008e2 , 0x00000011 
+ 00029847  0x000051b5 arg  0x00000802 , 0x00000005 
+ 00029848  0x000051b6 call  0x0000765d 
+ 00029849  0x000051b7 arg  0x000008ca , 0x00000011 
+ 00029850  0x000051b8 arg  0x00000822 , 0x00000005 
+ 00029851  0x000051b9 call  0x0000765d 
+ 00029852  0x000051ba arg  0x00000822 , 0x00000011 
+ 00029853  0x000051bb arg  0x000008ca , 0x00000012 
+ 00029854  0x000051bc arg  0x00000822 , 0x00000005 
+ 00029855  0x000051bd call  0x0000763b 
+ 00029856  0x000051be arg  0x0000089a , 0x00000011 
+ 00029857  0x000051bf arg  0x000008ca , 0x00000012 
+ 00029858  0x000051c0 arg  0x00000842 , 0x00000005 
+ 00029859  0x000051c1 call  0x0000763b 
+ 00029860  0x000051c2 arg  0x00000842 , 0x00000011 
+ 00029861  0x000051c3 arg  0x00000822 , 0x00000012 
+ 00029862  0x000051c4 arg  0x00000822 , 0x00000005 
+ 00029863  0x000051c5 call  0x0000760a 
+ 00029864  0x000051c6 arg  0x00000802 , 0x00000011 
+ 00029865  0x000051c7 arg  0x00000822 , 0x00000012 
+ 00029866  0x000051c8 arg  0x00000802 , 0x00000005 
+ 00029867  0x000051c9 branch  0x0000760d 
+ 00029868  0x000051cd fetch  0x00000001 , 0x000009ae 
+ 00029869  0x000051ce bne  0x00000000 , 0x000074ca 
+ 00029870  0x000051cf call  0x000074c7 
+ 00029871  0x000051d0 arg  0x00000a7a , 0x00000005 
+ 00029872  0x000051d1 setarg  0x00000a2a 
+ 00029873  0x000051d2 istore  0x00000002 , 0x00000005 
+ 00029874  0x000051d3 setarg  0x00004614 
+ 00029875  0x000051d4 istore  0x00000002 , 0x00000005 
+ 00029876  0x000051d5 setarg  0x000009da 
+ 00029877  0x000051d6 istore  0x00000002 , 0x00000005 
+ 00029878  0x000051d7 branch  0x000074be 
+ 00029879  0x000051d9 arg  0x00000a7a , 0x00000005 
+ 00029880  0x000051da setarg  0x00000a3a 
+ 00029881  0x000051db istore  0x00000002 , 0x00000005 
+ 00029882  0x000051dc setarg  0x000009da 
+ 00029883  0x000051dd istore  0x00000002 , 0x00000005 
+ 00029884  0x000051de setarg  0x00004614 
+ 00029885  0x000051df istore  0x00000002 , 0x00000005 
+ 00029886  0x000051e1 call  0x00007855 
+ 00029887  0x000051e2 fetch  0x00000001 , 0x000009ab 
+ 00029888  0x000051e3 beq  0x00000004 , 0x000074c4 
+ 00029889  0x000051e4 jam  0x00000001 , 0x000009ac 
+ 00029890  0x000051e5 jam  0x00000005 , 0x000009aa 
+ 00029891  0x000051e6 rtn 
+ 00029892  0x000051e8 jam  0x00000014 , 0x000009ab 
+ 00029893  0x000051e9 call  0x0000743f 
+ 00029894  0x000051ea branch  0x0000758d 
+ 00029895  0x000051ed arg  0x00000a1a , 0x00000005 
+ 00029896  0x000051ee force  0x00000008 , 0x00000007 
+ 00029897  0x000051ef branch  0x00007557 
+ 00029898  0x000051f2 jam  0x00000001 , 0x000009ac 
+ 00029899  0x000051f3 rtn 
+ 00029900  0x000051f7 bpatchx  0x00000090 , 0x00004032 
+ 00029901  0x000051f8 arg  0x00000723 , 0x00000005 
+ 00029902  0x000051f9 fetch  0x00000006 , 0x000040a0 
+ 00029903  0x000051fa istore  0x00000006 , 0x00000005 
+ 00029904  0x000051fb fetch  0x00000006 , 0x00000040 
+ 00029905  0x000051fc istore  0x00000006 , 0x00000005 
+ 00029906  0x000051fd fetch  0x00000003 , 0x00004630 
+ 00029907  0x000051fe istore  0x00000003 , 0x00000005 
+ 00029908  0x00005200 call  0x000078c2 
+ 00029909  0x00005202 arg  0x00000a4a , 0x00000011 
+ 00029910  0x00005203 arg  0x00000a5a , 0x00000012 
+ 00029911  0x00005204 force  0x00000004 , 0x00000007 
+ 00029912  0x00005205 call  0x0000755c 
+ 00029913  0x00005206 nbranch  0x000074e6 , 0x00000001 
+ 00029914  0x00005208 call  0x000074dd 
+ 00029915  0x00005209 jam  0x00000041 , 0x0000007d 
+ 00029916  0x0000520a branch  0x000066da 
+ 00029917  0x0000520d fetch  0x00000001 , 0x000009ab 
+ 00029918  0x0000520e beq  0x00000009 , 0x000074e3 
+ 00029919  0x0000520f jam  0x0000000a , 0x000009aa 
+ 00029920  0x00005210 jam  0x00000001 , 0x000009ac 
+ 00029921  0x00005211 jam  0x00000003 , 0x0000007c 
+ 00029922  0x00005212 rtn 
+ 00029923  0x00005214 jam  0x00000003 , 0x0000007c 
+ 00029924  0x00005215 jam  0x00000015 , 0x000009ab 
+ 00029925  0x00005216 branch  0x0000758d 
+ 00029926  0x0000521a fetch  0x00000001 , 0x000009ab 
+ 00029927  0x0000521b beq  0x00000009 , 0x000074ec 
+ 00029928  0x0000521c jam  0x00000000 , 0x000009aa 
+ 00029929  0x0000521d jam  0x00000004 , 0x0000007c 
+ 00029930  0x0000521f jam  0x00000005 , 0x0000007e 
+ 00029931  0x00005220 rtn 
+ 00029932  0x00005222 jam  0x00000004 , 0x0000007c 
+ 00029933  0x00005223 jam  0x00000000 , 0x000009ab 
+ 00029934  0x00005224 rtn 
+ 00029935  0x00005227 fetch  0x00000001 , 0x000009af 
+ 00029936  0x00005228 beq  0x00000001 , 0x000074f3 
+ 00029937  0x00005229 jam  0x0000000a , 0x000009ab 
+ 00029938  0x0000522a branch  0x0000758d 
+ 00029939  0x0000522c arg  0x00000723 , 0x00000005 
+ 00029940  0x0000522d fetch  0x00000006 , 0x00000040 
+ 00029941  0x0000522e istore  0x00000006 , 0x00000005 
+ 00029942  0x0000522f fetch  0x00000006 , 0x000040a0 
+ 00029943  0x00005230 istore  0x00000006 , 0x00000005 
+ 00029944  0x00005231 fetch  0x00000003 , 0x0000462d 
+ 00029945  0x00005232 istore  0x00000003 , 0x00000005 
+ 00029946  0x00005234 call  0x000078d9 
+ 00029947  0x00005235 fetch  0x00000001 , 0x000009ab 
+ 00029948  0x00005236 beq  0x0000000a , 0x00007500 
+ 00029949  0x00005237 jam  0x0000000b , 0x000009aa 
+ 00029950  0x00005238 jam  0x00000001 , 0x000009ac 
+ 00029951  0x00005239 rtn 
+ 00029952  0x0000523b jam  0x0000000b , 0x000009ab 
+ 00029953  0x0000523c jam  0x00000001 , 0x000009ad 
+ 00029954  0x0000523d rtn 
+ 00029955  0x00005240 arg  0x00000a7a , 0x00000005 
+ 00029956  0x00005241 fetch  0x00000006 , 0x00000040 
+ 00029957  0x00005242 istore  0x00000006 , 0x00000005 
+ 00029958  0x00005243 fetch  0x00000006 , 0x000040a0 
+ 00029959  0x00005244 istore  0x00000006 , 0x00000005 
+ 00029960  0x00005245 setarg  0x00000a2a 
+ 00029961  0x00005246 istore  0x00000002 , 0x00000005 
+ 00029962  0x00005247 setarg  0x00000a3a 
+ 00029963  0x00005248 istore  0x00000002 , 0x00000005 
+ 00029964  0x00005249 branch  0x00007517 
+ 00029965  0x0000524b jam  0x0000000f , 0x000009aa 
+ 00029966  0x0000524c arg  0x00000a7a , 0x00000005 
+ 00029967  0x0000524d fetch  0x00000006 , 0x000040a0 
+ 00029968  0x0000524e istore  0x00000006 , 0x00000005 
+ 00029969  0x0000524f fetch  0x00000006 , 0x00000040 
+ 00029970  0x00005250 istore  0x00000006 , 0x00000005 
+ 00029971  0x00005251 setarg  0x00000a3a 
+ 00029972  0x00005252 istore  0x00000002 , 0x00000005 
+ 00029973  0x00005253 setarg  0x00000a2a 
+ 00029974  0x00005254 istore  0x00000002 , 0x00000005 
+ 00029975  0x00005257 arg  0x00000723 , 0x00000005 
+ 00029976  0x00005258 fetch  0x00000006 , 0x00000a7a 
+ 00029977  0x00005259 istore  0x00000006 , 0x00000005 
+ 00029978  0x0000525a fetch  0x00000006 , 0x00000a80 
+ 00029979  0x0000525b istore  0x00000006 , 0x00000005 
+ 00029980  0x0000525d call  0x0000788c 
+ 00029981  0x00005260 jam  0x00000001 , 0x000041be 
+ 00029982  0x00005261 arg  0x000041bf , 0x00000005 
+ 00029983  0x00005262 arg  0x00000a4a , 0x00000006 
+ 00029984  0x00005263 call  0x00007c9a 
+ 00029985  0x00005264 branch  0x000041c0 
+ 00029986  0x00005268 bpatchx  0x00000091 , 0x00004032 
+ 00029987  0x00005269 fetch  0x00000001 , 0x00004583 
+ 00029988  0x0000526a rtnne  0x00000000 
+ 00029989  0x0000526b fetch  0x00000001 , 0x000009ae 
+ 00029990  0x0000526c rtnne  0x00000000 
+ 00029991  0x0000526d arg  0x000045e4 , 0x00000005 
+ 00029992  0x0000526e force  0x0000000b , 0x00000007 
+ 00029993  0x0000526f call  0x00007557 
+ 00029994  0x00005270 random  0x0000003f 
+ 00029995  0x00005271 rshift  0x0000003f , 0x0000003f 
+ 00029996  0x00005272 istore  0x00000002 , 0x00000005 
+ 00029997  0x00005274 arg  0x000006ba , 0x00000005 
+ 00029998  0x00005275 arg  0x000045e4 , 0x00000006 
+ 00029999  0x00005276 call  0x00007c99 
+ 00030000  0x00005278 arg  0x000005e2 , 0x00000005 
+ 00030001  0x00005279 arg  0x000008ca , 0x00000006 
+ 00030002  0x0000527a call  0x00007c97 
+ 00030003  0x0000527c arg  0x00000612 , 0x00000005 
+ 00030004  0x0000527d call  0x00007ca0 
+ 00030005  0x0000527e jam  0x00000001 , 0x00000612 
+ 00030006  0x00005280 call  0x00007912 
+ 00030007  0x00005281 jam  0x00000001 , 0x000009ae 
+ 00030008  0x00005282 rtn 
+ 00030009  0x00005285 arg  0x000045fc , 0x00000005 
+ 00030010  0x00005286 arg  0x0000062a , 0x00000006 
+ 00030011  0x00005287 call  0x00007c97 
+ 00030012  0x00005288 jam  0x00000001 , 0x00004583 
+ 00030013  0x00005289 jam  0x00000000 , 0x000009ae 
+ 00030014  0x0000528a rtn 
+ 00030015  0x0000528d bpatchx  0x00000092 , 0x00004032 
+ 00030016  0x0000528e fetch  0x00000001 , 0x000009b5 
+ 00030017  0x0000528f rtnne  0x00000000 
+ 00030018  0x00005290 fetch  0x00000001 , 0x000009ae 
+ 00030019  0x00005291 rtnne  0x00000000 
+ 00030020  0x00005293 arg  0x000006ba , 0x00000005 
+ 00030021  0x00005294 arg  0x000045e4 , 0x00000006 
+ 00030022  0x00005295 call  0x00007c99 
+ 00030023  0x00005297 arg  0x000005e2 , 0x00000005 
+ 00030024  0x00005298 arg  0x000009c2 , 0x00000006 
+ 00030025  0x00005299 call  0x00007c97 
+ 00030026  0x0000529b arg  0x00000612 , 0x00000005 
+ 00030027  0x0000529c call  0x00007ca0 
+ 00030028  0x0000529d jam  0x00000001 , 0x00000612 
+ 00030029  0x0000529f call  0x00007912 
+ 00030030  0x000052a0 jam  0x00000002 , 0x000009ae 
+ 00030031  0x000052a1 rtn 
+ 00030032  0x000052a4 jam  0x00000001 , 0x000009af 
+ 00030033  0x000052a5 arg  0x00000a02 , 0x00000005 
+ 00030034  0x000052a6 arg  0x0000062a , 0x00000006 
+ 00030035  0x000052a7 call  0x00007c99 
+ 00030036  0x000052a8 jam  0x00000001 , 0x000009b5 
+ 00030037  0x000052a9 jam  0x00000000 , 0x000009ae 
+ 00030038  0x000052aa rtn 
+ 00030039  0x000052ad increase  0xffffffff , 0x00000007 
+ 00030040  0x000052ae nrtn  0x00000002 
+ 00030041  0x000052af random  0x0000003f 
+ 00030042  0x000052b0 istore  0x00000002 , 0x00000005 
+ 00030043  0x000052b1 branch  0x00007557 
+ 00030044  0x000052b3 increase  0xffffffff , 0x00000007 
+ 00030045  0x000052b4 nbranch  0x00007568 , 0x00000002 
+ 00030046  0x000052b5 ifetch  0x00000004 , 0x00000011 
+ 00030047  0x000052b6 copy  0x0000003f , 0x00000002 
+ 00030048  0x000052b7 ifetch  0x00000004 , 0x00000012 
+ 00030049  0x000052b8 iflip  0x00000002 , 0x0000003f 
+ 00030050  0x000052b9 nbranch  0x00007566 , 0x00000005 
+ 00030051  0x000052ba increase  0x00000004 , 0x00000011 
+ 00030052  0x000052bb increase  0x00000004 , 0x00000012 
+ 00030053  0x000052bc branch  0x0000755c 
+ 00030054  0x000052be disable  0x00000001 
+ 00030055  0x000052bf rtn 
+ 00030056  0x000052c1 enable  0x00000001 
+ 00030057  0x000052c2 rtn 
+ 00030058  0x000052ca bpatchx  0x00000093 , 0x00004032 
+ 00030059  0x000052cb fetch  0x00000001 , 0x000009ac 
+ 00030060  0x000052cc rtn  0x00000034 
+ 00030061  0x000052cd call  0x0000669e 
+ 00030062  0x000052ce nrtn  0x00000034 
+ 00030063  0x000052cf jam  0x00000000 , 0x000009ac 
+ 00030064  0x000052d0 fetch  0x00000001 , 0x000009aa 
+ 00030065  0x000052d1 beq  0x00000003 , 0x000065df 
+ 00030066  0x000052d2 beq  0x00000005 , 0x000065fc 
+ 00030067  0x000052d3 beq  0x00000007 , 0x00006607 
+ 00030068  0x000052d4 beq  0x0000000b , 0x0000661c 
+ 00030069  0x000052d5 beq  0x00000002 , 0x0000743d 
+ 00030070  0x000052d6 beq  0x00000004 , 0x000074ac 
+ 00030071  0x000052d7 beq  0x00000009 , 0x000074cc 
+ 00030072  0x000052d8 beq  0x0000000a , 0x000074ef 
+ 00030073  0x000052d9 beq  0x0000000c , 0x0000750d 
+ 00030074  0x000052db rtn 
+ 00030075  0x000052de bpatchx  0x00000094 , 0x00004032 
+ 00030076  0x000052df fetch  0x00000001 , 0x000009ad 
+ 00030077  0x000052e0 rtn  0x00000034 
+ 00030078  0x000052e1 call  0x0000669e 
+ 00030079  0x000052e2 nrtn  0x00000034 
+ 00030080  0x000052e3 jam  0x00000000 , 0x000009ad 
+ 00030081  0x000052e4 fetch  0x00000001 , 0x000009ab 
+ 00030082  0x000052e5 beq  0x00000012 , 0x000065c2 
+ 00030083  0x000052e6 beq  0x00000013 , 0x000065c7 
+ 00030084  0x000052e7 beq  0x00000003 , 0x000065cb 
+ 00030085  0x000052e8 beq  0x00000004 , 0x000074b7 
+ 00030086  0x000052e9 beq  0x00000014 , 0x000065cf 
+ 00030087  0x000052ea beq  0x00000007 , 0x000065dd 
+ 00030088  0x000052eb beq  0x0000000a , 0x000074ef 
+ 00030089  0x000052ec beq  0x0000000b , 0x0000661b 
+ 00030090  0x000052ed beq  0x00000009 , 0x000074cc 
+ 00030091  0x000052ee beq  0x00000015 , 0x00006615 
+ 00030092  0x000052ef rtn 
+ 00030093  0x000052f2 jam  0x00000001 , 0x000009ad 
+ 00030094  0x000052f3 rtn 
+ 00030095  0x000052f6 jam  0x00000000 , 0x000009ad 
+ 00030096  0x000052f7 rtn 
+ 00030097  0x000052f9 bpatchx  0x00000095 , 0x00004032 
+ 00030098  0x000052fa fetch  0x00000001 , 0x0000462c 
+ 00030099  0x000052fb rtn  0x00000034 
+ 00030100  0x000052fc fetch  0x00000001 , 0x000009ae 
+ 00030101  0x000052fd rtn  0x00000034 
+ 00030102  0x000052fe increase  0x00000080 , 0x0000003f 
+ 00030103  0x000052ff store  0x00000001 , 0x000009ae 
+ 00030104  0x00005300 rtnbit1  0x00000007 
+ 00030105  0x00005301 fetch  0x00000001 , 0x000005df 
+ 00030106  0x00005302 branch  0x0000759c , 0x00000034 
+ 00030107  0x00005303 branch  0x0000791d 
+ 00030108  0x00005306 call  0x00007788 
+ 00030109  0x00005307 fetch  0x00000001 , 0x000009ae 
+ 00030110  0x00005308 beq  0x00000001 , 0x00007539 
+ 00030111  0x00005309 beq  0x00000002 , 0x00007550 
+ 00030112  0x0000530a rtn 
+ 00030113  0x0000530e and  0x0000003f , 0x00000007 , 0x00000007 
+ 00030114  0x0000530f rshift3  0x0000003f , 0x0000003f 
+ 00030115  0x00005310 iadd  0x00000006 , 0x00000006 
+ 00030116  0x00005311 ifetch  0x00000001 , 0x00000006 
+ 00030117  0x00005312 qisolate0  0x0000003f 
+ 00030118  0x00005313 rtn 
+ 00030119  0x00005317 call  0x00007c99 
+ 00030120  0x00005318 call  0x00007c99 
+ 00030121  0x00005319 branch  0x00007c99 
+ 00030122  0x0000531d ifetch  0x00000008 , 0x00000006 
+ 00030123  0x0000531e nrtn  0x00000034 
+ 00030124  0x0000531f ifetch  0x00000008 , 0x00000006 
+ 00030125  0x00005320 nrtn  0x00000034 
+ 00030126  0x00005321 ifetch  0x00000008 , 0x00000006 
+ 00030127  0x00005322 rtn 
+ 00030128  0x00005328 ifetch  0x00000004 , 0x00000011 
+ 00030129  0x00005329 iforce  0x00000002 
+ 00030130  0x0000532a ifetch  0x00000004 , 0x00000012 
+ 00030131  0x0000532b isub  0x00000002 , 0x0000003e 
+ 00030132  0x0000532c nrtn  0x00000005 
+ 00030133  0x0000532d increase  0x00000004 , 0x00000011 
+ 00030134  0x0000532e increase  0x00000004 , 0x00000012 
+ 00030135  0x0000532f loop  0x000075b0 
+ 00030136  0x00005330 rtn 
+ 00030137  0x00005334 force  0x00000006 , 0x00000039 
+ 00030138  0x00005335 increase  0x00000014 , 0x00000011 
+ 00030139  0x00005336 increase  0x00000014 , 0x00000012 
+ 00030140  0x00005338 ifetch  0x00000004 , 0x00000012 
+ 00030141  0x00005339 iforce  0x00000002 
+ 00030142  0x0000533a ifetch  0x00000004 , 0x00000011 
+ 00030143  0x0000533b isub  0x00000002 , 0x0000003f 
+ 00030144  0x0000533c nrtn  0x00000002 
+ 00030145  0x0000533d nrtn  0x00000034 
+ 00030146  0x0000533e increase  0xfffffffc , 0x00000011 
+ 00030147  0x0000533f increase  0xfffffffc , 0x00000012 
+ 00030148  0x00005340 loop  0x000075bc 
+ 00030149  0x00005341 rtn 
+ 00030150  0x00005344 force  0x00000006 , 0x00000039 
+ 00030151  0x00005345 force  0x00000000 , 0x00000013 
+ 00030152  0x00005347 ifetch  0x00000004 , 0x00000011 
+ 00030153  0x00005348 iforce  0x00000002 
+ 00030154  0x00005349 ifetch  0x00000004 , 0x00000012 
+ 00030155  0x0000534a iadd  0x00000002 , 0x0000003f 
+ 00030156  0x0000534b iadd  0x00000013 , 0x0000003f 
+ 00030157  0x0000534c istore  0x00000004 , 0x00000005 
+ 00030158  0x0000534d isolate1  0x00000020 , 0x0000003f 
+ 00030159  0x0000534e setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030160  0x0000534f increase  0x00000004 , 0x00000011 
+ 00030161  0x00005350 increase  0x00000004 , 0x00000012 
+ 00030162  0x00005351 loop  0x000075c8 
+ 00030163  0x00005352 rtn 
+ 00030164  0x00005355 force  0x00000006 , 0x00000039 
+ 00030165  0x00005356 force  0x00000000 , 0x00000013 
+ 00030166  0x00005358 ifetch  0x00000004 , 0x00000012 
+ 00030167  0x00005359 iforce  0x00000002 
+ 00030168  0x0000535a ifetch  0x00000004 , 0x00000011 
+ 00030169  0x0000535b isub  0x00000002 , 0x0000003f 
+ 00030170  0x0000535c isub  0x00000013 , 0x0000003f 
+ 00030171  0x0000535d istore  0x00000004 , 0x00000005 
+ 00030172  0x0000535e isolate1  0x00000020 , 0x0000003f 
+ 00030173  0x0000535f setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030174  0x00005360 increase  0x00000004 , 0x00000011 
+ 00030175  0x00005361 increase  0x00000004 , 0x00000012 
+ 00030176  0x00005362 loop  0x000075d6 
+ 00030177  0x00005363 rtn 
+ 00030178  0x00005366 force  0x00000006 , 0x00000039 
+ 00030179  0x00005367 increase  0x00000014 , 0x00000011 
+ 00030180  0x00005369 force  0x00000000 , 0x00000013 
+ 00030181  0x0000536b ifetch  0x00000004 , 0x00000011 
+ 00030182  0x0000536c isolate1  0x00000000 , 0x0000003f 
+ 00030183  0x0000536d setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030184  0x0000536e rshift  0x0000003f , 0x0000003f 
+ 00030185  0x0000536f isolate1  0x00000000 , 0x00000013 
+ 00030186  0x00005370 setflag  0x00000001 , 0x0000001f , 0x0000003f 
+ 00030187  0x00005371 istore  0x00000004 , 0x00000011 
+ 00030188  0x00005372 increase  0xfffffffc , 0x00000011 
+ 00030189  0x00005373 rshift  0x00000013 , 0x00000013 
+ 00030190  0x00005374 loop  0x000075e5 
+ 00030191  0x00005375 rtn 
+ 00030192  0x00005378 force  0x00000006 , 0x00000039 
+ 00030193  0x00005379 force  0x00000000 , 0x00000013 
+ 00030194  0x0000537b ifetch  0x00000004 , 0x00000011 
+ 00030195  0x0000537c isolate1  0x0000001f , 0x0000003f 
+ 00030196  0x0000537d setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030197  0x0000537e lshift  0x0000003f , 0x0000003f 
+ 00030198  0x0000537f isolate1  0x00000000 , 0x00000013 
+ 00030199  0x00005380 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00030200  0x00005381 istore  0x00000004 , 0x00000011 
+ 00030201  0x00005382 increase  0x00000004 , 0x00000011 
+ 00030202  0x00005383 rshift  0x00000013 , 0x00000013 
+ 00030203  0x00005384 loop  0x000075f2 
+ 00030204  0x00005385 rtn 
+ 00030205  0x00005388 call  0x000075f0 
+ 00030206  0x0000538a isolate1  0x00000000 , 0x00000013 
+ 00030207  0x0000538b branch  0x00007606 , 0x00000001 
+ 00030208  0x0000538c arg  0x00000882 , 0x00000012 
+ 00030209  0x0000538d copy  0x00000011 , 0x00000013 
+ 00030210  0x0000538e increase  0xffffffe8 , 0x00000011 
+ 00030211  0x0000538f call  0x000075b9 
+ 00030212  0x00005390 nrtn  0x00000002 
+ 00030213  0x00005391 copy  0x00000013 , 0x00000011 
+ 00030214  0x00005393 increase  0xffffffe8 , 0x00000011 
+ 00030215  0x00005394 arg  0x00000882 , 0x00000012 
+ 00030216  0x00005395 copy  0x00000011 , 0x00000005 
+ 00030217  0x00005396 branch  0x000075d4 
+ 00030218  0x0000539a call  0x000075c6 
+ 00030219  0x0000539b copy  0x00000005 , 0x00000011 
+ 00030220  0x0000539c branch  0x000075fe 
+ 00030221  0x0000539f call  0x000075d4 
+ 00030222  0x000053a0 isolate0  0x00000000 , 0x00000013 
+ 00030223  0x000053a1 rtn  0x00000001 
+ 00030224  0x000053a2 arg  0x00000882 , 0x00000012 
+ 00030225  0x000053a3 add  0x00000005 , 0xffffffe8 , 0x00000011 
+ 00030226  0x000053a4 copy  0x00000011 , 0x00000005 
+ 00030227  0x000053a5 branch  0x000075c6 
+ 00030228  0x000053a9 copy  0x00000005 , 0x0000000b 
+ 00030229  0x000053aa copy  0x00000011 , 0x00000030 
+ 00030230  0x000053ab arg  0x00000712 , 0x00000012 
+ 00030231  0x000053ac copy  0x00000012 , 0x00000005 
+ 00030232  0x000053ad add  0x00000011 , 0x00000018 , 0x00000006 
+ 00030233  0x000053ae ifetch  0x00000008 , 0x00000006 
+ 00030234  0x000053af istore  0x00000008 , 0x00000005 
+ 00030235  0x000053b0 istore  0x00000008 , 0x00000005 
+ 00030236  0x000053b1 force  0x00000000 , 0x0000003f 
+ 00030237  0x000053b2 istore  0x00000008 , 0x00000005 
+ 00030238  0x000053b3 copy  0x0000000b , 0x00000005 
+ 00030239  0x000053b4 call  0x0000760a 
+ 00030240  0x000053b5 arg  0x00000712 , 0x00000012 
+ 00030241  0x000053b6 copy  0x00000012 , 0x00000005 
+ 00030242  0x000053b7 force  0x00000000 , 0x0000003f 
+ 00030243  0x000053b8 istore  0x00000008 , 0x00000005 
+ 00030244  0x000053b9 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00030245  0x000053ba ifetch  0x00000008 , 0x00000006 
+ 00030246  0x000053bb istore  0x00000008 , 0x00000005 
+ 00030247  0x000053bc istore  0x00000008 , 0x00000005 
+ 00030248  0x000053bd copy  0x0000000b , 0x00000011 
+ 00030249  0x000053be copy  0x00000011 , 0x00000005 
+ 00030250  0x000053bf call  0x0000760a 
+ 00030251  0x000053c0 arg  0x00000712 , 0x00000012 
+ 00030252  0x000053c1 copy  0x00000012 , 0x00000005 
+ 00030253  0x000053c2 add  0x00000030 , 0x00000028 , 0x00000006 
+ 00030254  0x000053c3 ifetch  0x00000008 , 0x00000006 
+ 00030255  0x000053c4 istore  0x00000008 , 0x00000005 
+ 00030256  0x000053c5 istore  0x00000008 , 0x00000005 
+ 00030257  0x000053c6 istore  0x00000008 , 0x00000005 
+ 00030258  0x000053c7 copy  0x0000000b , 0x00000011 
+ 00030259  0x000053c8 copy  0x00000011 , 0x00000005 
+ 00030260  0x000053c9 branch  0x0000760a 
+ 00030261  0x000053cd force  0x00000006 , 0x00000039 
+ 00030262  0x000053cf ifetch  0x00000004 , 0x00000006 
+ 00030263  0x000053d0 iforce  0x0000002f 
+ 00030264  0x000053d1 increase  0x00000001 , 0x00000038 
+ 00030265  0x000053d2 loop  0x00007636 
+ 00030266  0x000053d3 rtn 
+ 00030267  0x000053d8 copy  0x00000005 , 0x0000000b 
+ 00030268  0x000053d9 arg  0x000006e2 , 0x00000005 
+ 00030269  0x000053da call  0x00007ca0 
+ 00030270  0x000053db arg  0x000006e2 , 0x00000005 
+ 00030271  0x000053dc copy  0x00000011 , 0x00000006 
+ 00030272  0x000053dd force  0x00000000 , 0x00000038 
+ 00030273  0x000053de call  0x00007635 
+ 00030274  0x000053df copy  0x00000012 , 0x00000006 
+ 00030275  0x000053e0 call  0x00007635 
+ 00030276  0x000053e1 force  0x00000000 , 0x00000012 
+ 00030277  0x000053e3 force  0x00000000 , 0x00000002 
+ 00030278  0x000053e4 force  0x00000006 , 0x00000013 
+ 00030279  0x000053e6 ifetch  0x00000004 , 0x00000005 
+ 00030280  0x000053e7 iforce  0x00000011 
+ 00030281  0x000053e8 copy  0x00000012 , 0x00000038 
+ 00030282  0x000053e9 deposit  0x0000002f 
+ 00030283  0x000053ea copy  0x00000013 , 0x00000038 
+ 00030284  0x000053eb imul32  0x0000002f , 0x0000003f 
+ 00030285  0x000053ec iadd  0x00000011 , 0x0000003f 
+ 00030286  0x000053ed iadd  0x00000002 , 0x0000003f 
+ 00030287  0x000053ee istore  0x00000004 , 0x00000005 
+ 00030288  0x000053ef rshift32  0x0000003f , 0x00000002 
+ 00030289  0x000053f0 increase  0x00000001 , 0x00000013 
+ 00030290  0x000053f1 compare  0x0000000c , 0x00000013 , 0x000000ff 
+ 00030291  0x000053f2 nbranch  0x00007647 , 0x00000001 
+ 00030292  0x000053f3 deposit  0x00000002 
+ 00030293  0x000053f4 istore  0x00000004 , 0x00000005 
+ 00030294  0x000053f5 increase  0xffffffe8 , 0x00000005 
+ 00030295  0x000053f6 increase  0x00000001 , 0x00000012 
+ 00030296  0x000053f7 compare  0x00000006 , 0x00000012 , 0x000000ff 
+ 00030297  0x000053f8 nbranch  0x00007645 , 0x00000001 
+ 00030298  0x000053f9 arg  0x000006e2 , 0x00000011 
+ 00030299  0x000053fa copy  0x0000000b , 0x00000005 
+ 00030300  0x000053fb branch  0x00007614 
+ 00030301  0x000053ff copy  0x00000011 , 0x00000012 
+ 00030302  0x00005400 branch  0x0000763b 
+ 00030303  0x00005403 copy  0x00000011 , 0x00000030 
+ 00030304  0x00005405 copy  0x00000030 , 0x00000011 
+ 00030305  0x00005406 ifetch  0x00000001 , 0x00000011 
+ 00030306  0x00005407 isolate1  0x00000000 , 0x0000003f 
+ 00030307  0x00005408 rtn  0x00000001 
+ 00030308  0x00005409 call  0x000075e2 
+ 00030309  0x0000540a ifetch  0x00000001 , 0x00000012 
+ 00030310  0x0000540b isolate0  0x00000000 , 0x0000003f 
+ 00030311  0x0000540c branch  0x0000766f , 0x00000001 
+ 00030312  0x0000540d arg  0x00000882 , 0x00000011 
+ 00030313  0x0000540e copy  0x00000012 , 0x00000005 
+ 00030314  0x0000540f call  0x000075c6 
+ 00030315  0x00005410 ifetch  0x00000001 , 0x00000012 
+ 00030316  0x00005411 iadd  0x00000013 , 0x0000003f 
+ 00030317  0x00005412 istore  0x00000001 , 0x00000012 
+ 00030318  0x00005413 increase  0xffffffe8 , 0x00000012 
+ 00030319  0x00005415 add  0x00000012 , 0x00000018 , 0x00000011 
+ 00030320  0x00005416 force  0x00000007 , 0x00000039 
+ 00030321  0x00005417 call  0x000075e4 
+ 00030322  0x00005418 branch  0x00007660 
+ 00030323  0x0000541c copy  0x00000005 , 0x0000000b 
+ 00030324  0x0000541d arg  0x00000742 , 0x00000005 
+ 00030325  0x0000541e call  0x00007ca0 
+ 00030326  0x0000541f force  0x00000000 , 0x0000003f 
+ 00030327  0x00005420 store  0x00000004 , 0x000006fa 
+ 00030328  0x00005421 store  0x00000004 , 0x0000075a 
+ 00030329  0x00005422 jam  0x00000001 , 0x00000742 
+ 00030330  0x00005423 arg  0x000006e2 , 0x00000005 
+ 00030331  0x00005424 call  0x00007ca0 
+ 00030332  0x00005425 arg  0x00000882 , 0x00000006 
+ 00030333  0x00005426 arg  0x00000712 , 0x00000005 
+ 00030334  0x00005427 call  0x00007c99 
+ 00030335  0x00005428 copy  0x00000011 , 0x00000006 
+ 00030336  0x00005429 arg  0x0000072a , 0x00000005 
+ 00030337  0x0000542a call  0x00007c99 
+ 00030338  0x0000542c arg  0x0000072a , 0x00000006 
+ 00030339  0x0000542d call  0x000075aa 
+ 00030340  0x0000542e branch  0x000076ab , 0x00000034 
+ 00030341  0x0000542f arg  0x0000072a , 0x00000011 
+ 00030342  0x00005430 arg  0x00000742 , 0x00000012 
+ 00030343  0x00005431 call  0x0000765f 
+ 00030344  0x00005433 arg  0x00000712 , 0x00000011 
+ 00030345  0x00005434 arg  0x000006e2 , 0x00000012 
+ 00030346  0x00005435 call  0x0000765f 
+ 00030347  0x00005436 arg  0x0000072a , 0x00000011 
+ 00030348  0x00005437 arg  0x00000712 , 0x00000012 
+ 00030349  0x00005438 call  0x000075b9 
+ 00030350  0x00005439 branch  0x0000769d , 0x00000002 
+ 00030351  0x0000543a arg  0x00000712 , 0x00000011 
+ 00030352  0x0000543b arg  0x0000072a , 0x00000012 
+ 00030353  0x0000543c copy  0x00000011 , 0x00000005 
+ 00030354  0x0000543d call  0x000075d4 
+ 00030355  0x0000543e arg  0x00000742 , 0x00000011 
+ 00030356  0x0000543f arg  0x000006e2 , 0x00000012 
+ 00030357  0x00005440 copy  0x00000012 , 0x00000005 
+ 00030358  0x00005441 call  0x000075c6 
+ 00030359  0x00005442 ifetch  0x00000001 , 0x00000011 
+ 00030360  0x00005443 iadd  0x00000013 , 0x00000013 
+ 00030361  0x00005444 ifetch  0x00000001 , 0x00000012 
+ 00030362  0x00005445 iadd  0x00000013 , 0x0000003f 
+ 00030363  0x00005446 istore  0x00000001 , 0x00000012 
+ 00030364  0x00005447 branch  0x00007682 
+ 00030365  0x00005449 arg  0x0000072a , 0x00000011 
+ 00030366  0x0000544a arg  0x00000712 , 0x00000012 
+ 00030367  0x0000544b copy  0x00000011 , 0x00000005 
+ 00030368  0x0000544c call  0x000075d4 
+ 00030369  0x0000544d arg  0x000006e2 , 0x00000011 
+ 00030370  0x0000544e arg  0x00000742 , 0x00000012 
+ 00030371  0x0000544f copy  0x00000012 , 0x00000005 
+ 00030372  0x00005450 call  0x000075c6 
+ 00030373  0x00005451 ifetch  0x00000001 , 0x00000011 
+ 00030374  0x00005452 iadd  0x00000013 , 0x00000013 
+ 00030375  0x00005453 ifetch  0x00000001 , 0x00000012 
+ 00030376  0x00005454 iadd  0x00000013 , 0x0000003f 
+ 00030377  0x00005455 istore  0x00000001 , 0x00000012 
+ 00030378  0x00005456 branch  0x00007682 
+ 00030379  0x00005458 arg  0x00000742 , 0x00000005 
+ 00030380  0x00005459 call  0x00007ca0 
+ 00030381  0x0000545a fetch  0x00000001 , 0x000006fa 
+ 00030382  0x0000545b store  0x00000001 , 0x00000742 
+ 00030383  0x0000545c store  0x00000001 , 0x0000074a 
+ 00030384  0x0000545d arg  0x00000742 , 0x00000011 
+ 00030385  0x0000545e arg  0x000006e2 , 0x00000012 
+ 00030386  0x0000545f copy  0x00000012 , 0x00000005 
+ 00030387  0x00005460 call  0x0000760a 
+ 00030388  0x00005461 arg  0x00000882 , 0x00000011 
+ 00030389  0x00005462 arg  0x000006e2 , 0x00000012 
+ 00030390  0x00005463 copy  0x0000000b , 0x00000005 
+ 00030391  0x00005464 branch  0x0000760d 
+ 00030392  0x0000546a arg  0x000006a2 , 0x00000011 
+ 00030393  0x0000546b arg  0x0000075a , 0x00000005 
+ 00030394  0x0000546c call  0x0000765d 
+ 00030395  0x0000546d arg  0x0000075a , 0x00000011 
+ 00030396  0x0000546e arg  0x00000772 , 0x00000005 
+ 00030397  0x0000546f call  0x0000765d 
+ 00030398  0x00005470 arg  0x0000089a , 0x00000011 
+ 00030399  0x00005471 arg  0x00000772 , 0x00000012 
+ 00030400  0x00005472 arg  0x00000772 , 0x00000005 
+ 00030401  0x00005473 call  0x0000763b 
+ 00030402  0x00005474 arg  0x00000672 , 0x00000011 
+ 00030403  0x00005475 arg  0x0000075a , 0x00000005 
+ 00030404  0x00005476 call  0x0000765d 
+ 00030405  0x00005477 arg  0x0000075a , 0x00000006 
+ 00030406  0x00005478 arg  0x0000072a , 0x00000005 
+ 00030407  0x00005479 call  0x00007c99 
+ 00030408  0x0000547a arg  0x0000072a , 0x00000011 
+ 00030409  0x0000547b call  0x000075fd 
+ 00030410  0x0000547c arg  0x0000075a , 0x00000011 
+ 00030411  0x0000547d arg  0x0000072a , 0x00000012 
+ 00030412  0x0000547e arg  0x0000075a , 0x00000005 
+ 00030413  0x0000547f call  0x0000760a 
+ 00030414  0x00005480 arg  0x0000075a , 0x00000011 
+ 00030415  0x00005481 arg  0x00000772 , 0x00000012 
+ 00030416  0x00005482 arg  0x0000075a , 0x00000005 
+ 00030417  0x00005483 call  0x0000760a 
+ 00030418  0x00005484 arg  0x00000672 , 0x00000006 
+ 00030419  0x00005485 arg  0x0000072a , 0x00000005 
+ 00030420  0x00005486 call  0x00007c99 
+ 00030421  0x00005487 arg  0x0000068a , 0x00000011 
+ 00030422  0x00005488 arg  0x00000772 , 0x00000005 
+ 00030423  0x00005489 call  0x0000765d 
+ 00030424  0x0000548a arg  0x0000072a , 0x00000011 
+ 00030425  0x0000548b call  0x000075fd 
+ 00030426  0x0000548c arg  0x0000072a , 0x00000011 
+ 00030427  0x0000548d call  0x000075fd 
+ 00030428  0x0000548e arg  0x0000072a , 0x00000011 
+ 00030429  0x0000548f arg  0x00000772 , 0x00000012 
+ 00030430  0x00005490 arg  0x0000072a , 0x00000005 
+ 00030431  0x00005491 call  0x0000763b 
+ 00030432  0x00005492 arg  0x00000772 , 0x00000011 
+ 00030433  0x00005493 arg  0x00000742 , 0x00000005 
+ 00030434  0x00005494 call  0x0000765d 
+ 00030435  0x00005495 arg  0x00000742 , 0x00000011 
+ 00030436  0x00005496 call  0x000075fd 
+ 00030437  0x00005497 arg  0x00000742 , 0x00000011 
+ 00030438  0x00005498 call  0x000075fd 
+ 00030439  0x00005499 arg  0x00000742 , 0x00000011 
+ 00030440  0x0000549a call  0x000075fd 
+ 00030441  0x0000549b arg  0x0000068a , 0x00000006 
+ 00030442  0x0000549c arg  0x00000772 , 0x00000005 
+ 00030443  0x0000549d call  0x00007c99 
+ 00030444  0x0000549e arg  0x00000772 , 0x00000011 
+ 00030445  0x0000549f call  0x000075fd 
+ 00030446  0x000054a0 arg  0x00000772 , 0x00000011 
+ 00030447  0x000054a1 arg  0x000006a2 , 0x00000012 
+ 00030448  0x000054a2 arg  0x000006a2 , 0x00000005 
+ 00030449  0x000054a3 call  0x0000763b 
+ 00030450  0x000054a4 arg  0x0000075a , 0x00000011 
+ 00030451  0x000054a5 arg  0x00000772 , 0x00000005 
+ 00030452  0x000054a6 call  0x0000765d 
+ 00030453  0x000054a7 arg  0x00000772 , 0x00000011 
+ 00030454  0x000054a8 arg  0x0000072a , 0x00000012 
+ 00030455  0x000054a9 arg  0x00000772 , 0x00000005 
+ 00030456  0x000054aa call  0x0000760d 
+ 00030457  0x000054ab arg  0x00000772 , 0x00000011 
+ 00030458  0x000054ac arg  0x0000072a , 0x00000012 
+ 00030459  0x000054ad arg  0x00000672 , 0x00000005 
+ 00030460  0x000054ae call  0x0000760d 
+ 00030461  0x000054af arg  0x0000072a , 0x00000011 
+ 00030462  0x000054b0 arg  0x00000672 , 0x00000012 
+ 00030463  0x000054b1 arg  0x00000772 , 0x00000005 
+ 00030464  0x000054b2 call  0x0000760d 
+ 00030465  0x000054b3 arg  0x00000772 , 0x00000011 
+ 00030466  0x000054b4 arg  0x0000075a , 0x00000012 
+ 00030467  0x000054b5 arg  0x00000772 , 0x00000005 
+ 00030468  0x000054b6 call  0x0000763b 
+ 00030469  0x000054b7 arg  0x00000772 , 0x00000011 
+ 00030470  0x000054b8 arg  0x00000742 , 0x00000012 
+ 00030471  0x000054b9 arg  0x0000068a , 0x00000005 
+ 00030472  0x000054ba branch  0x0000760d 
+ 00030473  0x000054bf arg  0x00000612 , 0x00000011 
+ 00030474  0x000054c0 arg  0x0000078a , 0x00000005 
+ 00030475  0x000054c1 call  0x0000765d 
+ 00030476  0x000054c2 arg  0x00000672 , 0x00000011 
+ 00030477  0x000054c3 arg  0x0000078a , 0x00000012 
+ 00030478  0x000054c4 arg  0x00000742 , 0x00000005 
+ 00030479  0x000054c5 call  0x0000763b 
+ 00030480  0x000054c6 arg  0x00000612 , 0x00000011 
+ 00030481  0x000054c7 arg  0x0000078a , 0x00000012 
+ 00030482  0x000054c8 arg  0x0000078a , 0x00000005 
+ 00030483  0x000054c9 call  0x0000763b 
+ 00030484  0x000054ca arg  0x0000068a , 0x00000011 
+ 00030485  0x000054cb arg  0x0000078a , 0x00000012 
+ 00030486  0x000054cc arg  0x0000072a , 0x00000005 
+ 00030487  0x000054cd call  0x0000763b 
+ 00030488  0x000054ce arg  0x000006a2 , 0x00000011 
+ 00030489  0x000054cf arg  0x0000078a , 0x00000005 
+ 00030490  0x000054d0 call  0x0000765d 
+ 00030491  0x000054d1 arg  0x000005e2 , 0x00000011 
+ 00030492  0x000054d2 arg  0x0000078a , 0x00000012 
+ 00030493  0x000054d3 arg  0x0000075a , 0x00000005 
+ 00030494  0x000054d4 call  0x0000763b 
+ 00030495  0x000054d5 arg  0x000006a2 , 0x00000011 
+ 00030496  0x000054d6 arg  0x0000078a , 0x00000012 
+ 00030497  0x000054d7 arg  0x0000078a , 0x00000005 
+ 00030498  0x000054d8 call  0x0000763b 
+ 00030499  0x000054d9 arg  0x000005fa , 0x00000011 
+ 00030500  0x000054da arg  0x0000078a , 0x00000012 
+ 00030501  0x000054db arg  0x00000772 , 0x00000005 
+ 00030502  0x000054dc call  0x0000763b 
+ 00030503  0x000054dd arg  0x00000742 , 0x00000011 
+ 00030504  0x000054de arg  0x0000075a , 0x00000012 
+ 00030505  0x000054df arg  0x0000078a , 0x00000005 
+ 00030506  0x000054e0 call  0x0000760d 
+ 00030507  0x000054e1 arg  0x00000742 , 0x00000011 
+ 00030508  0x000054e2 arg  0x0000075a , 0x00000012 
+ 00030509  0x000054e3 arg  0x00000742 , 0x00000005 
+ 00030510  0x000054e4 call  0x0000760a 
+ 00030511  0x000054e5 arg  0x0000072a , 0x00000011 
+ 00030512  0x000054e6 arg  0x00000772 , 0x00000012 
+ 00030513  0x000054e7 arg  0x0000075a , 0x00000005 
+ 00030514  0x000054e8 call  0x0000760d 
+ 00030515  0x000054e9 arg  0x0000072a , 0x00000011 
+ 00030516  0x000054ea arg  0x00000772 , 0x00000012 
+ 00030517  0x000054eb arg  0x0000072a , 0x00000005 
+ 00030518  0x000054ec call  0x0000760a 
+ 00030519  0x000054ed arg  0x0000072a , 0x00000011 
+ 00030520  0x000054ee arg  0x0000078a , 0x00000012 
+ 00030521  0x000054ef arg  0x0000072a , 0x00000005 
+ 00030522  0x000054f0 call  0x0000763b 
+ 00030523  0x000054f1 arg  0x000006a2 , 0x00000011 
+ 00030524  0x000054f2 arg  0x00000612 , 0x00000012 
+ 00030525  0x000054f3 arg  0x00000772 , 0x00000005 
+ 00030526  0x000054f4 call  0x0000763b 
+ 00030527  0x000054f5 arg  0x00000772 , 0x00000011 
+ 00030528  0x000054f6 arg  0x0000078a , 0x00000012 
+ 00030529  0x000054f7 arg  0x000006a2 , 0x00000005 
+ 00030530  0x000054f8 call  0x0000763b 
+ 00030531  0x000054f9 arg  0x0000078a , 0x00000011 
+ 00030532  0x000054fa arg  0x0000078a , 0x00000005 
+ 00030533  0x000054fb call  0x0000765d 
+ 00030534  0x000054fc arg  0x0000078a , 0x00000011 
+ 00030535  0x000054fd arg  0x00000742 , 0x00000012 
+ 00030536  0x000054fe arg  0x00000772 , 0x00000005 
+ 00030537  0x000054ff call  0x0000763b 
+ 00030538  0x00005500 arg  0x0000078a , 0x00000011 
+ 00030539  0x00005501 arg  0x0000072a , 0x00000012 
+ 00030540  0x00005502 arg  0x0000072a , 0x00000005 
+ 00030541  0x00005503 call  0x0000763b 
+ 00030542  0x00005504 arg  0x0000075a , 0x00000011 
+ 00030543  0x00005505 arg  0x00000672 , 0x00000005 
+ 00030544  0x00005506 call  0x0000765d 
+ 00030545  0x00005507 arg  0x00000672 , 0x00000011 
+ 00030546  0x00005508 arg  0x00000772 , 0x00000012 
+ 00030547  0x00005509 arg  0x00000672 , 0x00000005 
+ 00030548  0x0000550a call  0x0000760d 
+ 00030549  0x0000550b arg  0x00000672 , 0x00000006 
+ 00030550  0x0000550c arg  0x0000078a , 0x00000005 
+ 00030551  0x0000550d call  0x00007c99 
+ 00030552  0x0000550e arg  0x0000078a , 0x00000011 
+ 00030553  0x0000550f call  0x000075fd 
+ 00030554  0x00005510 arg  0x00000772 , 0x00000011 
+ 00030555  0x00005511 arg  0x0000078a , 0x00000012 
+ 00030556  0x00005512 arg  0x00000772 , 0x00000005 
+ 00030557  0x00005513 call  0x0000760d 
+ 00030558  0x00005514 arg  0x00000772 , 0x00000011 
+ 00030559  0x00005515 arg  0x0000075a , 0x00000012 
+ 00030560  0x00005516 arg  0x0000075a , 0x00000005 
+ 00030561  0x00005517 call  0x0000763b 
+ 00030562  0x00005518 arg  0x0000075a , 0x00000011 
+ 00030563  0x00005519 arg  0x0000072a , 0x00000012 
+ 00030564  0x0000551a arg  0x0000068a , 0x00000005 
+ 00030565  0x0000551b call  0x0000760d 
+ 00030566  0x0000551c arg  0x0000068a , 0x00000011 
+ 00030567  0x0000551d arg  0x00000882 , 0x00000012 
+ 00030568  0x0000551e arg  0x0000068a , 0x00000005 
+ 00030569  0x0000551f force  0x00000000 , 0x00000013 
+ 00030570  0x00005520 fetch  0x00000001 , 0x0000068a 
+ 00030571  0x00005521 isolate1  0x00000000 , 0x0000003f 
+ 00030572  0x00005522 call  0x000075c6 , 0x00000001 
+ 00030573  0x00005523 copy  0x00000013 , 0x00000030 
+ 00030574  0x00005524 arg  0x0000068a , 0x00000011 
+ 00030575  0x00005525 call  0x000075e2 
+ 00030576  0x00005526 fetch  0x00000001 , 0x000006a1 
+ 00030577  0x00005527 isolate1  0x00000000 , 0x00000030 
+ 00030578  0x00005528 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00030579  0x00005529 store  0x00000001 , 0x000006a1 
+ 00030580  0x0000552a rtn 
+ 00030581  0x0000552f fetch  0x00000001 , 0x000005df 
+ 00030582  0x00005530 increase  0xffffffff , 0x0000003f 
+ 00030583  0x00005531 nrtn  0x00000002 
+ 00030584  0x00005532 store  0x00000001 , 0x000005df 
+ 00030585  0x00005533 fetch  0x00000001 , 0x000005de 
+ 00030586  0x00005534 call  0x000076b8 , 0x00000034 
+ 00030587  0x00005535 fetch  0x00000001 , 0x000005df 
+ 00030588  0x00005536 arg  0x000006ba , 0x00000006 
+ 00030589  0x00005537 call  0x000075a1 
+ 00030590  0x00005538 branch  0x00007775 , 0x00000001 
+ 00030591  0x00005539 fetch  0x00000001 , 0x000005de 
+ 00030592  0x0000553a nbranch  0x00007783 , 0x00000034 
+ 00030593  0x0000553b call  0x00007709 
+ 00030594  0x0000553c branch  0x00007775 
+ 00030595  0x0000553e jam  0x00000000 , 0x000005de 
+ 00030596  0x0000553f arg  0x000005e2 , 0x00000006 
+ 00030597  0x00005540 arg  0x00000672 , 0x00000005 
+ 00030598  0x00005541 call  0x000075a7 
+ 00030599  0x00005542 branch  0x00007775 
+ 00030600  0x00005546 arg  0x000006a2 , 0x00000011 
+ 00030601  0x00005547 arg  0x00000772 , 0x00000005 
+ 00030602  0x00005548 call  0x00007673 
+ 00030603  0x00005549 arg  0x00000772 , 0x00000011 
+ 00030604  0x0000554a arg  0x0000072a , 0x00000005 
+ 00030605  0x0000554b call  0x0000765d 
+ 00030606  0x0000554c arg  0x00000672 , 0x00000011 
+ 00030607  0x0000554d arg  0x0000072a , 0x00000012 
+ 00030608  0x0000554e arg  0x0000062a , 0x00000005 
+ 00030609  0x0000554f call  0x0000763b 
+ 00030610  0x00005550 arg  0x00000772 , 0x00000011 
+ 00030611  0x00005551 arg  0x0000072a , 0x00000012 
+ 00030612  0x00005552 arg  0x0000075a , 0x00000005 
+ 00030613  0x00005553 call  0x0000763b 
+ 00030614  0x00005554 arg  0x0000068a , 0x00000011 
+ 00030615  0x00005555 arg  0x0000075a , 0x00000012 
+ 00030616  0x00005556 arg  0x00000642 , 0x00000005 
+ 00030617  0x00005557 branch  0x0000763b 
+ 00030618  0x0000555c ifetch  0x00000004 , 0x00000006 
+ 00030619  0x0000555d force  0x00000004 , 0x00000011 
+ 00030620  0x0000555e increase  0x00000003 , 0x00000005 
+ 00030621  0x00005560 istore  0x00000001 , 0x00000005 
+ 00030622  0x00005561 rshift8  0x0000003f , 0x0000003f 
+ 00030623  0x00005562 increase  0xfffffffe , 0x00000005 
+ 00030624  0x00005563 increase  0xffffffff , 0x00000011 
+ 00030625  0x00005564 nbranch  0x0000779d , 0x00000005 
+ 00030626  0x00005565 increase  0x00000005 , 0x00000005 
+ 00030627  0x00005566 loop  0x0000779a 
+ 00030628  0x00005567 rtn 
+ 00030629  0x0000556b lshift2  0x00000007 , 0x0000003f 
+ 00030630  0x0000556c iadd  0x0000000b , 0x00000006 
+ 00030631  0x0000556d ifetch  0x00000004 , 0x00000006 
+ 00030632  0x0000556e rtn 
+ 00030633  0x00005571 force  0x00000010 , 0x00000030 
+ 00030634  0x00005572 arg  0x000005e2 , 0x0000000b 
+ 00030635  0x00005574 add  0x00000030 , 0xfffffff9 , 0x00000007 
+ 00030636  0x00005575 call  0x000077a5 
+ 00030637  0x00005576 iforce  0x00000002 
+ 00030638  0x00005577 add  0x00000030 , 0xfffffff0 , 0x00000007 
+ 00030639  0x00005578 call  0x000077a5 
+ 00030640  0x00005579 iadd  0x00000002 , 0x00000002 
+ 00030641  0x0000557a add  0x00000030 , 0xfffffffe , 0x00000007 
+ 00030642  0x0000557b call  0x000077a5 
+ 00030643  0x0000557c shasx  0x0000003f , 0x00000001 , 0x0000003f 
+ 00030644  0x0000557d iadd  0x00000002 , 0x00000002 
+ 00030645  0x0000557e add  0x00000030 , 0xfffffff1 , 0x00000007 
+ 00030646  0x0000557f call  0x000077a5 
+ 00030647  0x00005580 shasx  0x0000003f , 0x00000000 , 0x0000003f 
+ 00030648  0x00005581 iadd  0x00000002 , 0x00000002 
+ 00030649  0x00005582 lshift2  0x00000030 , 0x0000003f 
+ 00030650  0x00005583 iadd  0x0000000b , 0x00000005 
+ 00030651  0x00005584 istoret  0x00000004 , 0x00000005 
+ 00030652  0x00005585 increase  0x00000001 , 0x00000030 
+ 00030653  0x00005586 compare  0x00000040 , 0x00000030 , 0x000000ff 
+ 00030654  0x00005587 nbranch  0x000077ab , 0x00000001 
+ 00030655  0x00005588 rtn 
+ 00030656  0x0000558c arg  0x000008fa , 0x00000006 
+ 00030657  0x0000558d force  0x00000007 , 0x00000038 
+ 00030658  0x0000558f ifetch  0x00000004 , 0x00000006 
+ 00030659  0x00005590 iforce  0x0000002f 
+ 00030660  0x00005591 increase  0xffffffff , 0x00000038 
+ 00030661  0x00005592 branch  0x000077c2 , 0x00000002 
+ 00030662  0x00005593 rtn 
+ 00030663  0x00005596 bpatchx  0x00000096 , 0x00004032 
+ 00030664  0x00005597 call  0x000077a9 
+ 00030665  0x00005598 arg  0x000006e2 , 0x00000005 
+ 00030666  0x00005599 force  0x00000000 , 0x00000038 
+ 00030667  0x0000559b deposit  0x0000002f 
+ 00030668  0x0000559c istore  0x00000004 , 0x00000005 
+ 00030669  0x0000559d increase  0x00000001 , 0x00000038 
+ 00030670  0x0000559e compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00030671  0x0000559f nbranch  0x000077cb , 0x00000001 
+ 00030672  0x000055a0 call  0x0000736e 
+ 00030673  0x000055a1 arg  0x00008700 , 0x0000000b 
+ 00030674  0x000055a2 arg  0x000005e2 , 0x00000030 
+ 00030675  0x000055a3 force  0x00000040 , 0x00000039 
+ 00030676  0x000055a5 ifetcht  0x00000004 , 0x00000030 
+ 00030677  0x000055a6 ifetch  0x00000004 , 0x0000000b 
+ 00030678  0x000055a7 increase  0x00000004 , 0x0000000b 
+ 00030679  0x000055a8 increase  0x00000004 , 0x00000030 
+ 00030680  0x000055a9 iadd  0x00000002 , 0x0000003f 
+ 00030681  0x000055aa force  0x00000007 , 0x00000038 
+ 00030682  0x000055ab iadd  0x0000002f , 0x00000002 
+ 00030683  0x000055ac force  0x00000004 , 0x00000038 
+ 00030684  0x000055ad shasx  0x0000002f , 0x00000003 , 0x0000003f 
+ 00030685  0x000055ae iadd  0x00000002 , 0x00000002 
+ 00030686  0x000055af force  0x00000005 , 0x00000038 
+ 00030687  0x000055b0 deposit  0x0000002f 
+ 00030688  0x000055b1 force  0x00000006 , 0x00000038 
+ 00030689  0x000055b2 ixor  0x0000002f , 0x0000003f 
+ 00030690  0x000055b3 force  0x00000004 , 0x00000038 
+ 00030691  0x000055b4 iand  0x0000002f , 0x0000003f 
+ 00030692  0x000055b5 force  0x00000006 , 0x00000038 
+ 00030693  0x000055b6 ixor  0x0000002f , 0x0000003f 
+ 00030694  0x000055b7 iadd  0x00000002 , 0x00000002 
+ 00030695  0x000055b8 force  0x00000007 , 0x00000038 
+ 00030696  0x000055b9 copy  0x00000002 , 0x0000002f 
+ 00030697  0x000055ba force  0x00000003 , 0x00000038 
+ 00030698  0x000055bb deposit  0x0000002f 
+ 00030699  0x000055bc iadd  0x00000002 , 0x0000002f 
+ 00030700  0x000055bd force  0x00000000 , 0x00000038 
+ 00030701  0x000055be deposit  0x0000002f 
+ 00030702  0x000055bf force  0x00000001 , 0x00000038 
+ 00030703  0x000055c0 iand  0x0000002f , 0x00000002 
+ 00030704  0x000055c1 ior  0x0000002f , 0x0000003f 
+ 00030705  0x000055c2 force  0x00000002 , 0x00000038 
+ 00030706  0x000055c3 iand  0x0000002f , 0x0000003f 
+ 00030707  0x000055c4 ior  0x00000002 , 0x00000002 
+ 00030708  0x000055c5 force  0x00000000 , 0x00000038 
+ 00030709  0x000055c6 shasx  0x0000002f , 0x00000002 , 0x0000003f 
+ 00030710  0x000055c7 iadd  0x00000002 , 0x0000003f 
+ 00030711  0x000055c8 force  0x00000007 , 0x00000038 
+ 00030712  0x000055c9 iadd  0x0000002f , 0x0000002f 
+ 00030713  0x000055ca regexrot 
+ 00030714  0x000055cb loop  0x000077d4 
+ 00030715  0x000055cc arg  0x000006e2 , 0x00000006 
+ 00030716  0x000055cd force  0x00000000 , 0x00000038 
+ 00030717  0x000055cf ifetch  0x00000004 , 0x00000006 
+ 00030718  0x000055d0 iadd  0x0000002f , 0x0000002f 
+ 00030719  0x000055d1 increase  0x00000001 , 0x00000038 
+ 00030720  0x000055d2 compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00030721  0x000055d3 nbranch  0x000077fd , 0x00000001 
+ 00030722  0x000055d4 branch  0x00007372 
+ 00030723  0x000055d8 arg  0x00000a3a , 0x00000005 
+ 00030724  0x000055d9 force  0x00000007 , 0x00000038 
+ 00030725  0x000055db deposit  0x0000002f 
+ 00030726  0x000055dc istore  0x00000004 , 0x00000005 
+ 00030727  0x000055dd increase  0xffffffff , 0x00000038 
+ 00030728  0x000055de branch  0x00007805 , 0x00000002 
+ 00030729  0x000055df rtn 
+ 00030730  0x000055e3 arg  0x000005e2 , 0x00000005 
+ 00030731  0x000055e4 increase  0xfffffffc , 0x00000006 
+ 00030732  0x000055e5 sub  0x00000039 , 0x00000010 , 0x00000011 
+ 00030733  0x000055e7 ifetch  0x00000004 , 0x00000006 
+ 00030734  0x000055e8 ixor  0x00000002 , 0x0000003f 
+ 00030735  0x000055e9 istore  0x00000004 , 0x00000005 
+ 00030736  0x000055ea increase  0xfffffff8 , 0x00000006 
+ 00030737  0x000055eb loop  0x0000780d 
+ 00030738  0x000055ec copy  0x00000011 , 0x00000039 
+ 00030739  0x000055ed deposit  0x00000002 
+ 00030740  0x000055ef istore  0x00000004 , 0x00000005 
+ 00030741  0x000055f0 loop  0x00007814 
+ 00030742  0x000055f1 rtn 
+ 00030743  0x000055f4 call  0x0000781c 
+ 00030744  0x000055f5 call  0x00007803 
+ 00030745  0x000055f6 branch  0x00007842 
+ 00030746  0x000055f9 call  0x0000781c 
+ 00030747  0x000055fa branch  0x00007842 
+ 00030748  0x000055fd arg  0x000009da , 0x00000006 
+ 00030749  0x000055fe arg  0x000005e2 , 0x00000005 
+ 00030750  0x000055ff force  0x00000006 , 0x00000039 
+ 00030751  0x00005600 call  0x00007926 
+ 00030752  0x00005601 arg  0x00004614 , 0x00000006 
+ 00030753  0x00005602 force  0x00000006 , 0x00000039 
+ 00030754  0x00005603 call  0x00007926 
+ 00030755  0x00005604 arg  0x00000a3a , 0x00000006 
+ 00030756  0x00005605 call  0x00007925 
+ 00030757  0x00005606 call  0x000077c0 
+ 00030758  0x00005607 call  0x000077c7 
+ 00030759  0x00005608 arg  0x00000a2a , 0x00000006 
+ 00030760  0x00005609 arg  0x000005e2 , 0x00000005 
+ 00030761  0x0000560a branch  0x00007839 
+ 00030762  0x0000560d arg  0x00004614 , 0x00000006 
+ 00030763  0x0000560e arg  0x000005e2 , 0x00000005 
+ 00030764  0x0000560f force  0x00000006 , 0x00000039 
+ 00030765  0x00005610 call  0x00007926 
+ 00030766  0x00005611 arg  0x000009da , 0x00000006 
+ 00030767  0x00005612 force  0x00000006 , 0x00000039 
+ 00030768  0x00005613 call  0x00007926 
+ 00030769  0x00005614 arg  0x00000a2a , 0x00000006 
+ 00030770  0x00005615 call  0x00007925 
+ 00030771  0x00005616 call  0x000077c0 
+ 00030772  0x00005617 call  0x000077c7 
+ 00030773  0x00005618 arg  0x00000a3a , 0x00000006 
+ 00030774  0x00005619 arg  0x000005e2 , 0x00000005 
+ 00030775  0x0000561a call  0x00007839 
+ 00030776  0x0000561b branch  0x00007842 
+ 00030777  0x0000561e call  0x00007925 
+ 00030778  0x0000561f setarg  0x00800000 
+ 00030779  0x00005620 lshift8  0x0000003f , 0x0000003f 
+ 00030780  0x00005621 istore  0x00000004 , 0x00000005 
+ 00030781  0x00005622 force  0x00000005 , 0x00000039 
+ 00030782  0x00005623 call  0x00007ca1 
+ 00030783  0x00005624 setarg  0x00000280 
+ 00030784  0x00005625 istore  0x00000004 , 0x00000005 
+ 00030785  0x00005626 branch  0x000077c7 
+ 00030786  0x00005628 fetch  0x00000004 , 0x00000a3a 
+ 00030787  0x0000562a arg  0x000003e8 , 0x00000011 
+ 00030788  0x0000562b idiv  0x00000011 
+ 00030789  0x0000562c call  0x00007d61 
+ 00030790  0x0000562d remainder  0x0000003f 
+ 00030791  0x0000562e store  0x00000004 , 0x000009b6 
+ 00030792  0x0000562f quotient  0x0000003f 
+ 00030793  0x00005630 arg  0x000003e8 , 0x00000011 
+ 00030794  0x00005631 idiv  0x00000011 
+ 00030795  0x00005632 call  0x00007d61 
+ 00030796  0x00005633 remainder  0x0000003f 
+ 00030797  0x00005634 arg  0x000003e8 , 0x00000011 
+ 00030798  0x00005635 imul32  0x00000011 , 0x0000003f 
+ 00030799  0x00005636 fetcht  0x00000004 , 0x000009b6 
+ 00030800  0x00005637 iadd  0x00000002 , 0x0000003f 
+ 00030801  0x00005638 store  0x00000004 , 0x000009b6 
+ 00030802  0x00005639 rtn 
+ 00030803  0x0000563c jam  0x00000000 , 0x00004636 
+ 00030804  0x0000563d branch  0x00007857 
+ 00030805  0x00005640 fetch  0x00000001 , 0x00004634 
+ 00030806  0x00005641 bne  0x00000002 , 0x00007853 
+ 00030807  0x00005643 bpatchx  0x00000097 , 0x00004032 
+ 00030808  0x00005644 setarg  0x00363636 
+ 00030809  0x00005645 lshift8  0x0000003f , 0x00000002 
+ 00030810  0x00005646 or_into  0x00000036 , 0x00000002 
+ 00030811  0x00005647 fetch  0x00000002 , 0x00000a7a 
+ 00030812  0x00005648 copy  0x0000003f , 0x00000006 
+ 00030813  0x00005649 force  0x00000004 , 0x00000039 
+ 00030814  0x0000564a call  0x0000780a 
+ 00030815  0x0000564b call  0x000077c0 
+ 00030816  0x0000564c call  0x000077c7 
+ 00030817  0x0000564d fetch  0x00000002 , 0x00000a7c 
+ 00030818  0x0000564e copy  0x0000003f , 0x00000006 
+ 00030819  0x0000564f arg  0x000005e2 , 0x00000005 
+ 00030820  0x00005650 force  0x00000006 , 0x00000039 
+ 00030821  0x00005651 call  0x00007926 
+ 00030822  0x00005652 fetch  0x00000002 , 0x00000a7e 
+ 00030823  0x00005653 copy  0x0000003f , 0x00000006 
+ 00030824  0x00005654 force  0x00000006 , 0x00000039 
+ 00030825  0x00005655 call  0x00007926 
+ 00030826  0x00005656 setarg  0x00800000 
+ 00030827  0x00005657 istore  0x00000003 , 0x00000005 
+ 00030828  0x00005659 fetch  0x00000001 , 0x00004636 
+ 00030829  0x0000565b istore  0x00000001 , 0x00000005 
+ 00030830  0x0000565c force  0x00000000 , 0x0000003f 
+ 00030831  0x0000565d istore  0x00000008 , 0x00000005 
+ 00030832  0x0000565e setarg  0x00000388 
+ 00030833  0x0000565f istore  0x00000004 , 0x00000005 
+ 00030834  0x00005660 call  0x000077c7 
+ 00030835  0x00005661 call  0x00007803 
+ 00030836  0x00005662 arg  0x00000a3a , 0x00000006 
+ 00030837  0x00005663 arg  0x00000702 , 0x00000005 
+ 00030838  0x00005664 call  0x00007c98 
+ 00030839  0x00005666 setarg  0x005c5c5c 
+ 00030840  0x00005667 lshift8  0x0000003f , 0x00000002 
+ 00030841  0x00005668 or_into  0x0000005c , 0x00000002 
+ 00030842  0x00005669 fetch  0x00000002 , 0x00000a7a 
+ 00030843  0x0000566a copy  0x0000003f , 0x00000006 
+ 00030844  0x0000566b force  0x00000004 , 0x00000039 
+ 00030845  0x0000566c call  0x0000780a 
+ 00030846  0x0000566d call  0x000077c0 
+ 00030847  0x0000566e call  0x000077c7 
+ 00030848  0x0000566f arg  0x00000722 , 0x00000006 
+ 00030849  0x00005670 arg  0x000005e2 , 0x00000005 
+ 00030850  0x00005671 force  0x00000008 , 0x00000039 
+ 00030851  0x00005672 call  0x00007926 
+ 00030852  0x00005673 setarg  0x00800000 
+ 00030853  0x00005674 lshift8  0x0000003f , 0x0000003f 
+ 00030854  0x00005675 istore  0x00000004 , 0x00000005 
+ 00030855  0x00005676 call  0x00007ca0 
+ 00030856  0x00005677 setarg  0x00000300 
+ 00030857  0x00005678 istore  0x00000004 , 0x00000005 
+ 00030858  0x00005679 call  0x000077c7 
+ 00030859  0x0000567a branch  0x00007803 
+ 00030860  0x0000567e setarg  0x00363636 
+ 00030861  0x0000567f lshift8  0x0000003f , 0x00000002 
+ 00030862  0x00005680 or_into  0x00000036 , 0x00000002 
+ 00030863  0x00005681 arg  0x00000a1a , 0x00000006 
+ 00030864  0x00005682 force  0x00000006 , 0x00000039 
+ 00030865  0x00005683 call  0x0000780a 
+ 00030866  0x00005684 call  0x000077c0 
+ 00030867  0x00005685 call  0x000077c7 
+ 00030868  0x00005686 fetch  0x00000002 , 0x00000a86 
+ 00030869  0x00005687 copy  0x0000003f , 0x00000006 
+ 00030870  0x00005688 arg  0x000005e2 , 0x00000005 
+ 00030871  0x00005689 call  0x00007925 
+ 00030872  0x0000568a fetch  0x00000002 , 0x00000a88 
+ 00030873  0x0000568b copy  0x0000003f , 0x00000006 
+ 00030874  0x0000568c call  0x00007925 
+ 00030875  0x0000568e setarg  0x0062746c 
+ 00030876  0x0000568f lshift8  0x0000003f , 0x0000003f 
+ 00030877  0x00005690 or_into  0x0000006b , 0x0000003f 
+ 00030878  0x00005691 istore  0x00000004 , 0x00000005 
+ 00030879  0x00005692 arg  0x0000072f , 0x00000006 
+ 00030880  0x00005693 force  0x00000003 , 0x00000039 
+ 00030881  0x00005694 call  0x00007926 
+ 00030882  0x00005696 setarg  0x00800000 
+ 00030883  0x00005697 lshift8  0x0000003f , 0x0000003f 
+ 00030884  0x00005698 istore  0x00000004 , 0x00000005 
+ 00030885  0x00005699 force  0x00000000 , 0x0000003f 
+ 00030886  0x0000569a istore  0x00000008 , 0x00000005 
+ 00030887  0x0000569b setarg  0x00000380 
+ 00030888  0x0000569c istore  0x00000004 , 0x00000005 
+ 00030889  0x0000569d call  0x000077c7 
+ 00030890  0x0000569f call  0x00007803 
+ 00030891  0x000056a0 arg  0x00000a3a , 0x00000006 
+ 00030892  0x000056a1 arg  0x00000702 , 0x00000005 
+ 00030893  0x000056a2 call  0x00007c98 
+ 00030894  0x000056a4 setarg  0x005c5c5c 
+ 00030895  0x000056a5 lshift8  0x0000003f , 0x00000002 
+ 00030896  0x000056a6 or_into  0x0000005c , 0x00000002 
+ 00030897  0x000056a7 arg  0x00000a1a , 0x00000006 
+ 00030898  0x000056a8 force  0x00000006 , 0x00000039 
+ 00030899  0x000056a9 call  0x0000780a 
+ 00030900  0x000056aa call  0x000077c0 
+ 00030901  0x000056ab call  0x000077c7 
+ 00030902  0x000056ac arg  0x00000722 , 0x00000006 
+ 00030903  0x000056ad arg  0x000005e2 , 0x00000005 
+ 00030904  0x000056ae force  0x00000008 , 0x00000039 
+ 00030905  0x000056af call  0x00007926 
+ 00030906  0x000056b0 setarg  0x00800000 
+ 00030907  0x000056b1 lshift8  0x0000003f , 0x0000003f 
+ 00030908  0x000056b2 istore  0x00000004 , 0x00000005 
+ 00030909  0x000056b3 call  0x00007ca0 
+ 00030910  0x000056b4 setarg  0x00000300 
+ 00030911  0x000056b5 istore  0x00000004 , 0x00000005 
+ 00030912  0x000056b6 call  0x000077c7 
+ 00030913  0x000056b7 branch  0x00007803 
+ 00030914  0x000056bb fetch  0x00000001 , 0x00004634 
+ 00030915  0x000056bc bne  0x00000002 , 0x000078d3 
+ 00030916  0x000056be bpatchx  0x00000098 , 0x00004033 
+ 00030917  0x000056bf setarg  0x00363636 
+ 00030918  0x000056c0 lshift8  0x0000003f , 0x00000002 
+ 00030919  0x000056c1 or_into  0x00000036 , 0x00000002 
+ 00030920  0x000056c2 arg  0x00000a1a , 0x00000006 
+ 00030921  0x000056c3 force  0x00000006 , 0x00000039 
+ 00030922  0x000056c4 call  0x0000780a 
+ 00030923  0x000056c5 call  0x000077c0 
+ 00030924  0x000056c6 call  0x000077c7 
+ 00030925  0x000056c7 arg  0x00000a3a , 0x00000006 
+ 00030926  0x000056c8 arg  0x000005e2 , 0x00000005 
+ 00030927  0x000056c9 call  0x00007925 
+ 00030928  0x000056ca arg  0x00000a2a , 0x00000006 
+ 00030929  0x000056cb call  0x00007925 
+ 00030930  0x000056cc branch  0x000078e8 
+ 00030931  0x000056cf setarg  0x00000000 
+ 00030932  0x000056d0 store  0x00000004 , 0x00004658 
+ 00030933  0x000056d1 branch  0x000078c4 
+ 00030934  0x000056d4 setarg  0x00000000 
+ 00030935  0x000056d5 store  0x00000004 , 0x00004658 
+ 00030936  0x000056d6 branch  0x000078db 
+ 00030937  0x000056da fetch  0x00000001 , 0x00004634 
+ 00030938  0x000056db bne  0x00000002 , 0x000078d6 
+ 00030939  0x000056dd setarg  0x00363636 
+ 00030940  0x000056de lshift8  0x0000003f , 0x00000002 
+ 00030941  0x000056df or_into  0x00000036 , 0x00000002 
+ 00030942  0x000056e0 arg  0x00000a1a , 0x00000006 
+ 00030943  0x000056e1 force  0x00000006 , 0x00000039 
+ 00030944  0x000056e2 call  0x0000780a 
+ 00030945  0x000056e3 call  0x000077c0 
+ 00030946  0x000056e4 call  0x000077c7 
+ 00030947  0x000056e6 arg  0x00000a2a , 0x00000006 
+ 00030948  0x000056e7 arg  0x000005e2 , 0x00000005 
+ 00030949  0x000056e8 call  0x00007925 
+ 00030950  0x000056e9 arg  0x00000a3a , 0x00000006 
+ 00030951  0x000056ea call  0x00007925 
+ 00030952  0x000056ec setarg  0x00000000 
+ 00030953  0x000056ed istore  0x00000008 , 0x00000005 
+ 00030954  0x000056ee istore  0x00000004 , 0x00000005 
+ 00030955  0x000056ef fetch  0x00000004 , 0x00004658 
+ 00030956  0x000056f0 istore  0x00000004 , 0x00000005 
+ 00030957  0x000056f2 copy  0x00000005 , 0x00000002 
+ 00030958  0x000056f3 jam  0x00000080 , 0x00000722 
+ 00030959  0x000056f4 copy  0x00000002 , 0x00000005 
+ 00030960  0x000056f5 arg  0x00000732 , 0x00000006 
+ 00030961  0x000056f6 call  0x00007925 
+ 00030962  0x000056f8 call  0x000077c7 
+ 00030963  0x000056fa arg  0x000005e2 , 0x00000005 
+ 00030964  0x000056fb force  0x00000007 , 0x00000039 
+ 00030965  0x000056fc call  0x00007ca1 
+ 00030966  0x000056fd istore  0x00000004 , 0x00000005 
+ 00030967  0x000056fe setarg  0x000003f8 
+ 00030968  0x000056ff istore  0x00000004 , 0x00000005 
+ 00030969  0x00005700 call  0x000077c7 
+ 00030970  0x00005701 call  0x00007803 
+ 00030971  0x00005703 arg  0x00000a3a , 0x00000006 
+ 00030972  0x00005704 arg  0x00000702 , 0x00000005 
+ 00030973  0x00005705 call  0x00007c98 
+ 00030974  0x00005707 setarg  0x005c5c5c 
+ 00030975  0x00005708 lshift8  0x0000003f , 0x00000002 
+ 00030976  0x00005709 or_into  0x0000005c , 0x00000002 
+ 00030977  0x0000570a arg  0x00000a1a , 0x00000006 
+ 00030978  0x0000570b force  0x00000006 , 0x00000039 
+ 00030979  0x0000570c call  0x0000780a 
+ 00030980  0x0000570d call  0x000077c0 
+ 00030981  0x0000570e call  0x000077c7 
+ 00030982  0x0000570f arg  0x00000722 , 0x00000006 
+ 00030983  0x00005710 arg  0x000005e2 , 0x00000005 
+ 00030984  0x00005711 force  0x00000008 , 0x00000039 
+ 00030985  0x00005712 call  0x00007926 
+ 00030986  0x00005713 setarg  0x00800000 
+ 00030987  0x00005714 lshift8  0x0000003f , 0x0000003f 
+ 00030988  0x00005715 istore  0x00000004 , 0x00000005 
+ 00030989  0x00005716 call  0x00007ca0 
+ 00030990  0x00005717 setarg  0x00000300 
+ 00030991  0x00005718 istore  0x00000004 , 0x00000005 
+ 00030992  0x00005719 call  0x000077c7 
+ 00030993  0x0000571a branch  0x00007803 
+ 00030994  0x00005722 jam  0x000000c0 , 0x000005df 
+ 00030995  0x00005724 fetch  0x00000001 , 0x000005df 
+ 00030996  0x00005725 rtn  0x00000034 
+ 00030997  0x00005726 increase  0xffffffff , 0x0000003f 
+ 00030998  0x00005727 store  0x00000001 , 0x000005df 
+ 00030999  0x00005728 arg  0x000006ba , 0x00000006 
+ 00031000  0x00005729 call  0x000075a1 
+ 00031001  0x0000572a branch  0x00007913 , 0x00000001 
+ 00031002  0x0000572b arg  0x000005e2 , 0x00000006 
+ 00031003  0x0000572c arg  0x00000672 , 0x00000005 
+ 00031004  0x0000572d branch  0x000075a7 
+ 00031005  0x00005730 call  0x000076b8 
+ 00031006  0x00005731 fetch  0x00000001 , 0x000005df 
+ 00031007  0x00005732 increase  0xffffffff , 0x0000003f 
+ 00031008  0x00005733 store  0x00000001 , 0x000005df 
+ 00031009  0x00005734 arg  0x000006ba , 0x00000006 
+ 00031010  0x00005735 call  0x000075a1 
+ 00031011  0x00005736 rtn  0x00000001 
+ 00031012  0x00005737 branch  0x00007709 
+ 00031013  0x0000573a force  0x00000004 , 0x00000039 
+ 00031014  0x0000573c increase  0xfffffffc , 0x00000006 
+ 00031015  0x0000573e ifetch  0x00000004 , 0x00000006 
+ 00031016  0x0000573f istore  0x00000004 , 0x00000005 
+ 00031017  0x00005740 increase  0xfffffff8 , 0x00000006 
+ 00031018  0x00005741 loop  0x00007927 
+ 00031019  0x00005742 rtn 
+ 00031020  0x00005748 bpatchx  0x00000099 , 0x00004033 
+ 00031021  0x00005749 fetch  0x00000001 , 0x00004490 
+ 00031022  0x0000574a branch  0x00005ed0 , 0x00000034 
+ 00031023  0x0000574b call  0x00005ecc 
+ 00031024  0x0000574c call  0x00007438 
+ 00031025  0x0000574e branch  0x00007932 
+ 00031026  0x00005754 fetch  0x00000001 , 0x00004495 
+ 00031027  0x00005755 rtnne  0x00000000 
+ 00031028  0x00005756 fetch  0x00000001 , 0x00004492 
+ 00031029  0x00005757 rtnne  0x00000000 
+ 00031030  0x00005759 arg  0x00004584 , 0x00000005 
+ 00031031  0x0000575a force  0x0000000f , 0x00000007 
+ 00031032  0x0000575b call  0x00007557 
+ 00031033  0x0000575c random  0x0000003f 
+ 00031034  0x0000575d rshift  0x0000003f , 0x0000003f 
+ 00031035  0x0000575e istore  0x00000002 , 0x00000005 
+ 00031036  0x00005760 arg  0x00000762 , 0x00000005 
+ 00031037  0x00005761 arg  0x00004584 , 0x00000006 
+ 00031038  0x00005762 call  0x00007c98 
+ 00031039  0x00005764 arg  0x00000642 , 0x00000005 
+ 00031040  0x00005765 arg  0x0000095a , 0x00000006 
+ 00031041  0x00005766 call  0x00007c8e 
+ 00031042  0x00005768 arg  0x00000682 , 0x00000005 
+ 00031043  0x00005769 call  0x00007cab 
+ 00031044  0x0000576a jam  0x00000001 , 0x00000682 
+ 00031045  0x0000576c call  0x0000797c 
+ 00031046  0x0000576d jam  0x00000003 , 0x00004492 
+ 00031047  0x0000576e rtn 
+ 00031048  0x00005771 arg  0x000045a4 , 0x00000005 
+ 00031049  0x00005772 arg  0x000006a2 , 0x00000006 
+ 00031050  0x00005773 call  0x00007c8e 
+ 00031051  0x00005774 jam  0x00000003 , 0x00004495 
+ 00031052  0x00005775 jam  0x00000000 , 0x00004492 
+ 00031053  0x00005776 rtn 
+ 00031054  0x0000577b fetch  0x00000001 , 0x000009b5 
+ 00031055  0x0000577c rtnne  0x00000000 
+ 00031056  0x0000577d fetch  0x00000001 , 0x00004492 
+ 00031057  0x0000577e rtnne  0x00000000 
+ 00031058  0x00005780 arg  0x00000762 , 0x00000005 
+ 00031059  0x00005781 arg  0x00004584 , 0x00000006 
+ 00031060  0x00005782 call  0x00007c98 
+ 00031061  0x00005784 arg  0x00000642 , 0x00000005 
+ 00031062  0x00005785 arg  0x000009ba , 0x00000006 
+ 00031063  0x00005786 call  0x00007c8e 
+ 00031064  0x00005788 arg  0x00000682 , 0x00000005 
+ 00031065  0x00005789 call  0x00007cab 
+ 00031066  0x0000578a jam  0x00000001 , 0x00000682 
+ 00031067  0x0000578c call  0x0000797c 
+ 00031068  0x0000578d jam  0x00000004 , 0x00004492 
+ 00031069  0x0000578e rtn 
+ 00031070  0x00005793 arg  0x000009fa , 0x00000005 
+ 00031071  0x00005794 arg  0x000006a2 , 0x00000006 
+ 00031072  0x00005795 call  0x00007c98 
+ 00031073  0x00005796 jam  0x00000003 , 0x000009b5 
+ 00031074  0x00005797 jam  0x00000000 , 0x00004492 
+ 00031075  0x00005798 rtn 
+ 00031076  0x0000579d fetch  0x00000001 , 0x00004490 
+ 00031077  0x0000579e rtn  0x00000034 
+ 00031078  0x0000579f fetch  0x00000001 , 0x00004492 
+ 00031079  0x000057a0 rtn  0x00000034 
+ 00031080  0x000057a1 increase  0x00000080 , 0x0000003f 
+ 00031081  0x000057a2 store  0x00000001 , 0x00004492 
+ 00031082  0x000057a3 rtnbit1  0x00000007 
+ 00031083  0x000057a4 fetch  0x00000002 , 0x000005df 
+ 00031084  0x000057a5 branch  0x0000796e , 0x00000034 
+ 00031085  0x000057a6 branch  0x00007974 
+ 00031086  0x000057a9 bpatchx  0x0000009a , 0x00004033 
+ 00031087  0x000057aa call  0x00007989 
+ 00031088  0x000057ab fetch  0x00000001 , 0x00004492 
+ 00031089  0x000057ac beq  0x00000003 , 0x00007948 
+ 00031090  0x000057ad beq  0x00000004 , 0x0000795e 
+ 00031091  0x000057ae rtn 
+ 00031092  0x000057b2 call  0x0000799b 
+ 00031093  0x000057b3 fetch  0x00000002 , 0x000005df 
+ 00031094  0x000057b4 increase  0xffffffff , 0x0000003f 
+ 00031095  0x000057b5 store  0x00000002 , 0x000005df 
+ 00031096  0x000057b6 arg  0x00000762 , 0x00000006 
+ 00031097  0x000057b7 call  0x000075a1 
+ 00031098  0x000057b8 rtn  0x00000001 
+ 00031099  0x000057b9 branch  0x000079ec 
+ 00031100  0x000057bc bpatchx  0x0000009b , 0x00004033 
+ 00031101  0x000057bd setarg  0x00000100 , 0x0000003f 
+ 00031102  0x000057be store  0x00000002 , 0x000005df 
+ 00031103  0x000057c0 fetch  0x00000002 , 0x000005df 
+ 00031104  0x000057c1 rtn  0x00000034 
+ 00031105  0x000057c2 increase  0xffffffff , 0x0000003f 
+ 00031106  0x000057c3 store  0x00000002 , 0x000005df 
+ 00031107  0x000057c4 arg  0x00000762 , 0x00000006 
+ 00031108  0x000057c5 call  0x000075a1 
+ 00031109  0x000057c6 branch  0x0000797f , 0x00000001 
+ 00031110  0x000057c7 arg  0x00000642 , 0x00000006 
+ 00031111  0x000057c8 arg  0x00000702 , 0x00000005 
+ 00031112  0x000057c9 branch  0x00007c8d 
+ 00031113  0x000057cd arg  0x00000742 , 0x00000011 
+ 00031114  0x000057ce arg  0x00000842 , 0x00000005 
+ 00031115  0x000057cf call  0x00007a58 
+ 00031116  0x000057d0 arg  0x00000842 , 0x00000011 
+ 00031117  0x000057d1 arg  0x000007e2 , 0x00000005 
+ 00031118  0x000057d2 call  0x00007b2e 
+ 00031119  0x000057d3 arg  0x00000702 , 0x00000011 
+ 00031120  0x000057d4 arg  0x000007e2 , 0x00000012 
+ 00031121  0x000057d5 arg  0x000006a2 , 0x00000005 
+ 00031122  0x000057d6 call  0x00007a96 
+ 00031123  0x000057d7 arg  0x00000842 , 0x00000011 
+ 00031124  0x000057d8 arg  0x000007e2 , 0x00000012 
+ 00031125  0x000057d9 arg  0x00000822 , 0x00000005 
+ 00031126  0x000057da call  0x00007a96 
+ 00031127  0x000057db arg  0x00000722 , 0x00000011 
+ 00031128  0x000057dc arg  0x00000822 , 0x00000012 
+ 00031129  0x000057dd arg  0x000006c2 , 0x00000005 
+ 00031130  0x000057de branch  0x00007a96 
+ 00031131  0x000057e1 arg  0x00000742 , 0x00000011 
+ 00031132  0x000057e2 arg  0x00000822 , 0x00000005 
+ 00031133  0x000057e3 call  0x00007b2e 
+ 00031134  0x000057e4 arg  0x00000822 , 0x00000011 
+ 00031135  0x000057e5 arg  0x00000842 , 0x00000005 
+ 00031136  0x000057e6 call  0x00007b2e 
+ 00031137  0x000057e8 arg  0x0000093a , 0x00000011 
+ 00031138  0x000057e9 arg  0x00000842 , 0x00000012 
+ 00031139  0x000057ea arg  0x00000842 , 0x00000005 
+ 00031140  0x000057eb call  0x00007a96 
+ 00031141  0x000057ec arg  0x00000702 , 0x00000011 
+ 00031142  0x000057ed arg  0x00000822 , 0x00000005 
+ 00031143  0x000057ee call  0x00007b2e 
+ 00031144  0x000057f0 arg  0x00000822 , 0x00000006 
+ 00031145  0x000057f1 arg  0x000007e2 , 0x00000005 
+ 00031146  0x000057f2 call  0x00007c98 
+ 00031147  0x000057f3 arg  0x000007e2 , 0x00000011 
+ 00031148  0x000057f4 call  0x00007b35 
+ 00031149  0x000057f5 arg  0x00000822 , 0x00000011 
+ 00031150  0x000057f6 arg  0x000007e2 , 0x00000012 
+ 00031151  0x000057f7 arg  0x00000822 , 0x00000005 
+ 00031152  0x000057f8 call  0x00007b32 
+ 00031153  0x000057fa arg  0x00000822 , 0x00000011 
+ 00031154  0x000057fb arg  0x00000842 , 0x00000012 
+ 00031155  0x000057fc arg  0x00000822 , 0x00000005 
+ 00031156  0x000057fd call  0x00007b32 
+ 00031157  0x000057ff arg  0x00000702 , 0x00000006 
+ 00031158  0x00005800 arg  0x000007e2 , 0x00000005 
+ 00031159  0x00005801 call  0x00007c98 
+ 00031160  0x00005802 arg  0x00000722 , 0x00000011 
+ 00031161  0x00005803 arg  0x00000842 , 0x00000005 
+ 00031162  0x00005804 call  0x00007b2e 
+ 00031163  0x00005805 arg  0x000007e2 , 0x00000011 
+ 00031164  0x00005806 call  0x00007b35 
+ 00031165  0x00005807 arg  0x000007e2 , 0x00000011 
+ 00031166  0x00005808 call  0x00007b35 
+ 00031167  0x00005809 arg  0x000007e2 , 0x00000011 
+ 00031168  0x0000580a arg  0x00000842 , 0x00000012 
+ 00031169  0x0000580b arg  0x000007e2 , 0x00000005 
+ 00031170  0x0000580c call  0x00007a96 
+ 00031171  0x0000580d arg  0x00000842 , 0x00000011 
+ 00031172  0x0000580e arg  0x00000802 , 0x00000005 
+ 00031173  0x0000580f call  0x00007b2e 
+ 00031174  0x00005810 arg  0x00000802 , 0x00000011 
+ 00031175  0x00005811 call  0x00007b35 
+ 00031176  0x00005812 arg  0x00000802 , 0x00000011 
+ 00031177  0x00005813 call  0x00007b35 
+ 00031178  0x00005814 arg  0x00000802 , 0x00000011 
+ 00031179  0x00005815 call  0x00007b35 
+ 00031180  0x00005816 arg  0x00000722 , 0x00000006 
+ 00031181  0x00005817 arg  0x00000842 , 0x00000005 
+ 00031182  0x00005818 call  0x00007c98 
+ 00031183  0x00005819 arg  0x00000842 , 0x00000011 
+ 00031184  0x0000581a call  0x00007b35 
+ 00031185  0x0000581b arg  0x00000842 , 0x00000011 
+ 00031186  0x0000581c arg  0x00000742 , 0x00000012 
+ 00031187  0x0000581d arg  0x00000742 , 0x00000005 
+ 00031188  0x0000581e call  0x00007a96 
+ 00031189  0x00005821 arg  0x00000822 , 0x00000011 
+ 00031190  0x00005822 arg  0x00000842 , 0x00000005 
+ 00031191  0x00005823 call  0x00007b2e 
+ 00031192  0x00005825 arg  0x00000842 , 0x00000011 
+ 00031193  0x00005826 arg  0x000007e2 , 0x00000012 
+ 00031194  0x00005827 arg  0x00000842 , 0x00000005 
+ 00031195  0x00005828 call  0x00007b4b 
+ 00031196  0x00005829 arg  0x00000842 , 0x00000011 
+ 00031197  0x0000582a arg  0x000007e2 , 0x00000012 
+ 00031198  0x0000582b arg  0x00000702 , 0x00000005 
+ 00031199  0x0000582c call  0x00007b4b 
+ 00031200  0x0000582d arg  0x000007e2 , 0x00000011 
+ 00031201  0x0000582e arg  0x00000702 , 0x00000012 
+ 00031202  0x0000582f arg  0x00000842 , 0x00000005 
+ 00031203  0x00005830 call  0x00007b4b 
+ 00031204  0x00005831 arg  0x00000842 , 0x00000011 
+ 00031205  0x00005832 arg  0x00000822 , 0x00000012 
+ 00031206  0x00005833 arg  0x00000842 , 0x00000005 
+ 00031207  0x00005834 call  0x00007a96 
+ 00031208  0x00005835 arg  0x00000842 , 0x00000011 
+ 00031209  0x00005836 arg  0x00000802 , 0x00000012 
+ 00031210  0x00005837 arg  0x00000722 , 0x00000005 
+ 00031211  0x00005838 branch  0x00007b4b 
+ 00031212  0x0000583c arg  0x00000682 , 0x00000011 
+ 00031213  0x0000583d arg  0x00000862 , 0x00000005 
+ 00031214  0x0000583e call  0x00007b2e 
+ 00031215  0x0000583f arg  0x00000702 , 0x00000011 
+ 00031216  0x00005840 arg  0x00000862 , 0x00000012 
+ 00031217  0x00005841 arg  0x00000802 , 0x00000005 
+ 00031218  0x00005842 call  0x00007a96 
+ 00031219  0x00005845 arg  0x00000682 , 0x00000011 
+ 00031220  0x00005846 arg  0x00000862 , 0x00000012 
+ 00031221  0x00005847 arg  0x00000862 , 0x00000005 
+ 00031222  0x00005848 call  0x00007a96 
+ 00031223  0x00005849 arg  0x00000722 , 0x00000011 
+ 00031224  0x0000584a arg  0x00000862 , 0x00000012 
+ 00031225  0x0000584b arg  0x000007e2 , 0x00000005 
+ 00031226  0x0000584c call  0x00007a96 
+ 00031227  0x0000584f arg  0x00000742 , 0x00000011 
+ 00031228  0x00005850 arg  0x00000862 , 0x00000005 
+ 00031229  0x00005851 call  0x00007b2e 
+ 00031230  0x00005852 arg  0x00000642 , 0x00000011 
+ 00031231  0x00005853 arg  0x00000862 , 0x00000012 
+ 00031232  0x00005854 arg  0x00000822 , 0x00000005 
+ 00031233  0x00005855 call  0x00007a96 
+ 00031234  0x00005857 arg  0x00000742 , 0x00000011 
+ 00031235  0x00005858 arg  0x00000862 , 0x00000012 
+ 00031236  0x00005859 arg  0x00000862 , 0x00000005 
+ 00031237  0x0000585a call  0x00007a96 
+ 00031238  0x0000585b arg  0x00000662 , 0x00000011 
+ 00031239  0x0000585c arg  0x00000862 , 0x00000012 
+ 00031240  0x0000585d arg  0x00000842 , 0x00000005 
+ 00031241  0x0000585e call  0x00007a96 
+ 00031242  0x00005863 arg  0x00000802 , 0x00000012 
+ 00031243  0x00005864 arg  0x00000822 , 0x00000011 
+ 00031244  0x00005865 arg  0x00000862 , 0x00000005 
+ 00031245  0x00005866 call  0x00007b4b 
+ 00031246  0x00005867 arg  0x00000802 , 0x00000011 
+ 00031247  0x00005868 arg  0x00000822 , 0x00000012 
+ 00031248  0x00005869 arg  0x00000802 , 0x00000005 
+ 00031249  0x0000586a call  0x00007b32 
+ 00031250  0x0000586d arg  0x000007e2 , 0x00000012 
+ 00031251  0x0000586e arg  0x00000842 , 0x00000011 
+ 00031252  0x0000586f arg  0x00000822 , 0x00000005 
+ 00031253  0x00005870 call  0x00007b4b 
+ 00031254  0x00005871 arg  0x000007e2 , 0x00000011 
+ 00031255  0x00005872 arg  0x00000842 , 0x00000012 
+ 00031256  0x00005873 arg  0x000007e2 , 0x00000005 
+ 00031257  0x00005874 call  0x00007b32 
+ 00031258  0x00005875 arg  0x000007e2 , 0x00000011 
+ 00031259  0x00005876 arg  0x00000862 , 0x00000012 
+ 00031260  0x00005877 arg  0x000007e2 , 0x00000005 
+ 00031261  0x00005878 call  0x00007a96 
+ 00031262  0x00005879 arg  0x00000742 , 0x00000011 
+ 00031263  0x0000587a arg  0x00000682 , 0x00000012 
+ 00031264  0x0000587b arg  0x00000842 , 0x00000005 
+ 00031265  0x0000587c call  0x00007a96 
+ 00031266  0x0000587d arg  0x00000842 , 0x00000011 
+ 00031267  0x0000587e arg  0x00000862 , 0x00000012 
+ 00031268  0x0000587f arg  0x00000742 , 0x00000005 
+ 00031269  0x00005880 call  0x00007a96 
+ 00031270  0x00005882 arg  0x00000862 , 0x00000011 
+ 00031271  0x00005883 arg  0x00000862 , 0x00000005 
+ 00031272  0x00005884 call  0x00007b2e 
+ 00031273  0x00005885 arg  0x00000862 , 0x00000011 
+ 00031274  0x00005886 arg  0x00000802 , 0x00000012 
+ 00031275  0x00005887 arg  0x00000842 , 0x00000005 
+ 00031276  0x00005888 call  0x00007a96 
+ 00031277  0x00005889 arg  0x00000862 , 0x00000011 
+ 00031278  0x0000588a arg  0x000007e2 , 0x00000012 
+ 00031279  0x0000588b arg  0x000007e2 , 0x00000005 
+ 00031280  0x0000588c call  0x00007a96 
+ 00031281  0x0000588d arg  0x00000822 , 0x00000011 
+ 00031282  0x0000588e arg  0x00000702 , 0x00000005 
+ 00031283  0x0000588f call  0x00007b2e 
+ 00031284  0x00005890 arg  0x00000702 , 0x00000011 
+ 00031285  0x00005891 arg  0x00000842 , 0x00000012 
+ 00031286  0x00005892 arg  0x00000702 , 0x00000005 
+ 00031287  0x00005893 call  0x00007b4b 
+ 00031288  0x00005894 arg  0x00000702 , 0x00000006 
+ 00031289  0x00005895 arg  0x00000862 , 0x00000005 
+ 00031290  0x00005896 call  0x00007c98 
+ 00031291  0x00005897 arg  0x00000862 , 0x00000011 
+ 00031292  0x00005898 call  0x00007b35 
+ 00031293  0x00005899 arg  0x00000842 , 0x00000011 
+ 00031294  0x0000589a arg  0x00000862 , 0x00000012 
+ 00031295  0x0000589b arg  0x00000842 , 0x00000005 
+ 00031296  0x0000589c call  0x00007b4b 
+ 00031297  0x0000589d arg  0x00000842 , 0x00000011 
+ 00031298  0x0000589e arg  0x00000822 , 0x00000012 
+ 00031299  0x0000589f arg  0x00000822 , 0x00000005 
+ 00031300  0x000058a0 call  0x00007a96 
+ 00031301  0x000058a1 arg  0x00000822 , 0x00000011 
+ 00031302  0x000058a2 arg  0x000007e2 , 0x00000012 
+ 00031303  0x000058a3 arg  0x00000722 , 0x00000005 
+ 00031304  0x000058a4 call  0x00007b4b 
+ 00031305  0x000058a5 arg  0x00000722 , 0x00000011 
+ 00031306  0x000058a6 arg  0x0000091a , 0x00000012 
+ 00031307  0x000058a7 arg  0x00000722 , 0x00000005 
+ 00031308  0x000058a8 force  0x00000000 , 0x00000013 
+ 00031309  0x000058a9 fetch  0x00000001 , 0x00000722 
+ 00031310  0x000058aa isolate1  0x00000000 , 0x0000003f 
+ 00031311  0x000058ab call  0x00007b30 , 0x00000001 
+ 00031312  0x000058ac copy  0x00000013 , 0x00000030 
+ 00031313  0x000058ad arg  0x00000722 , 0x00000011 
+ 00031314  0x000058ae call  0x00007b60 
+ 00031315  0x000058af fetch  0x00000001 , 0x00000741 
+ 00031316  0x000058b0 isolate1  0x00000000 , 0x00000030 
+ 00031317  0x000058b1 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00031318  0x000058b2 store  0x00000001 , 0x00000741 
+ 00031319  0x000058b3 rtn 
+ 00031320  0x000058b6 copy  0x00000005 , 0x0000000b 
+ 00031321  0x000058b7 arg  0x00000802 , 0x00000005 
+ 00031322  0x000058b8 call  0x00007cab 
+ 00031323  0x000058b9 force  0x00000000 , 0x0000003f 
+ 00031324  0x000058bb store  0x00000004 , 0x00000822 
+ 00031325  0x000058bc jam  0x00000001 , 0x00000802 
+ 00031326  0x000058bd arg  0x00000782 , 0x00000005 
+ 00031327  0x000058be call  0x00007cad 
+ 00031328  0x000058bf arg  0x0000091a , 0x00000006 
+ 00031329  0x000058c0 arg  0x000007c2 , 0x00000005 
+ 00031330  0x000058c1 call  0x00007c98 
+ 00031331  0x000058c2 copy  0x00000011 , 0x00000006 
+ 00031332  0x000058c3 arg  0x000007e2 , 0x00000005 
+ 00031333  0x000058c4 call  0x00007c98 
+ 00031334  0x000058cb arg  0x000007e2 , 0x00000006 
+ 00031335  0x000058cc call  0x00007b6a 
+ 00031336  0x000058cd branch  0x00007a8f , 0x00000034 
+ 00031337  0x000058d2 arg  0x000007e2 , 0x00000011 
+ 00031338  0x000058d3 arg  0x00000802 , 0x00000012 
+ 00031339  0x000058d4 call  0x00007b6d 
+ 00031340  0x000058d5 arg  0x000007c2 , 0x00000011 
+ 00031341  0x000058d6 arg  0x00000782 , 0x00000012 
+ 00031342  0x000058d7 call  0x00007b6d 
+ 00031343  0x000058d9 arg  0x000007e2 , 0x00000011 
+ 00031344  0x000058da arg  0x000007c2 , 0x00000012 
+ 00031345  0x000058db call  0x00007b66 
+ 00031346  0x000058dc branch  0x00007a81 , 0x00000002 
+ 00031347  0x000058dd arg  0x000007c2 , 0x00000011 
+ 00031348  0x000058de arg  0x000007e2 , 0x00000012 
+ 00031349  0x000058df copy  0x00000011 , 0x00000005 
+ 00031350  0x000058e0 call  0x00007b5e 
+ 00031351  0x000058e1 arg  0x00000802 , 0x00000011 
+ 00031352  0x000058e2 arg  0x00000782 , 0x00000012 
+ 00031353  0x000058e3 copy  0x00000012 , 0x00000005 
+ 00031354  0x000058e4 call  0x00007b30 
+ 00031355  0x000058e5 ifetch  0x00000001 , 0x00000011 
+ 00031356  0x000058e6 iadd  0x00000013 , 0x00000013 
+ 00031357  0x000058e7 ifetch  0x00000001 , 0x00000012 
+ 00031358  0x000058e8 iadd  0x00000013 , 0x0000003f 
+ 00031359  0x000058e9 istore  0x00000001 , 0x00000012 
+ 00031360  0x000058ea branch  0x00007a66 
+ 00031361  0x000058ec arg  0x000007e2 , 0x00000011 
+ 00031362  0x000058ed arg  0x000007c2 , 0x00000012 
+ 00031363  0x000058ee copy  0x00000011 , 0x00000005 
+ 00031364  0x000058ef call  0x00007b5e 
+ 00031365  0x000058f0 arg  0x00000782 , 0x00000011 
+ 00031366  0x000058f1 arg  0x00000802 , 0x00000012 
+ 00031367  0x000058f2 copy  0x00000012 , 0x00000005 
+ 00031368  0x000058f3 call  0x00007b30 
+ 00031369  0x000058f4 ifetch  0x00000001 , 0x00000011 
+ 00031370  0x000058f5 iadd  0x00000013 , 0x00000013 
+ 00031371  0x000058f6 ifetch  0x00000001 , 0x00000012 
+ 00031372  0x000058f7 iadd  0x00000013 , 0x0000003f 
+ 00031373  0x000058f8 istore  0x00000001 , 0x00000012 
+ 00031374  0x000058f9 branch  0x00007a66 
+ 00031375  0x000058fc arg  0x00000782 , 0x00000011 
+ 00031376  0x000058fd copy  0x0000000b , 0x00000005 
+ 00031377  0x000058fe call  0x00007abf 
+ 00031378  0x00005900 arg  0x0000091a , 0x00000011 
+ 00031379  0x00005901 copy  0x0000000b , 0x00000012 
+ 00031380  0x00005902 copy  0x0000000b , 0x00000005 
+ 00031381  0x00005903 branch  0x00007b4b 
+ 00031382  0x00005907 copy  0x00000005 , 0x0000000b 
+ 00031383  0x00005909 force  0x00000000 , 0x00000038 
+ 00031384  0x0000590b arg  0x00000782 , 0x00000005 
+ 00031385  0x0000590c call  0x00007cad 
+ 00031386  0x0000590d arg  0x00000ace , 0x00000005 
+ 00031387  0x0000590e call  0x00007cad 
+ 00031388  0x00005912 copy  0x00000011 , 0x00000006 
+ 00031389  0x00005914 jam  0x00000000 , 0x00000ace 
+ 00031390  0x00005915 setarg  0x00000000 
+ 00031391  0x00005916 call  0x00007b28 
+ 00031392  0x00005917 copy  0x00000012 , 0x00000006 
+ 00031393  0x00005918 call  0x00007b2c 
+ 00031394  0x0000591b force  0x00000000 , 0x00000007 
+ 00031395  0x0000591c arg  0x00000782 , 0x00000005 
+ 00031396  0x00005920 arg  0x00000ace , 0x00000002 
+ 00031397  0x00005921 copy  0x00000007 , 0x00000012 
+ 00031398  0x00005922 lshift2  0x00000012 , 0x0000003f 
+ 00031399  0x00005924 iadd  0x00000002 , 0x00000012 
+ 00031400  0x00005925 force  0x00000000 , 0x00000002 
+ 00031401  0x00005926 force  0x00000000 , 0x00000013 
+ 00031402  0x0000592c ifetch  0x00000004 , 0x00000005 
+ 00031403  0x0000592d iforce  0x00000011 
+ 00031404  0x00005930 ifetch  0x00000004 , 0x00000012 
+ 00031405  0x00005931 copy  0x00000013 , 0x00000038 
+ 00031406  0x00005932 imul32  0x0000002f , 0x0000003f 
+ 00031407  0x00005933 iadd  0x00000011 , 0x0000003f 
+ 00031408  0x00005934 iadd  0x00000002 , 0x0000003f 
+ 00031409  0x00005935 istore  0x00000004 , 0x00000005 
+ 00031410  0x00005936 rshift32  0x0000003f , 0x00000002 
+ 00031411  0x00005937 increase  0x00000001 , 0x00000013 
+ 00031412  0x00005938 compare  0x00000008 , 0x00000013 , 0x000000ff 
+ 00031413  0x00005939 nbranch  0x00007aaa , 0x00000001 
+ 00031414  0x0000593b deposit  0x00000002 
+ 00031415  0x0000593c istore  0x00000004 , 0x00000005 
+ 00031416  0x0000593d increase  0xffffffe0 , 0x00000005 
+ 00031417  0x00005940 increase  0x00000001 , 0x00000007 
+ 00031418  0x00005941 compare  0x00000008 , 0x00000007 , 0x000000ff 
+ 00031419  0x00005942 nbranch  0x00007aa4 , 0x00000001 
+ 00031420  0x00005943 arg  0x00000782 , 0x00000011 
+ 00031421  0x00005944 copy  0x0000000b , 0x00000005 
+ 00031422  0x00005945 branch  0x00007abf 
+ 00031423  0x00005948 bpatchx  0x0000009c , 0x00004033 
+ 00031424  0x00005949 copy  0x00000005 , 0x0000000b 
+ 00031425  0x0000594a copy  0x00000011 , 0x00000030 
+ 00031426  0x0000594b arg  0x000007c2 , 0x00000012 
+ 00031427  0x0000594c copy  0x00000012 , 0x00000005 
+ 00031428  0x0000594d call  0x00007ca8 
+ 00031429  0x0000594e istore  0x00000008 , 0x00000005 
+ 00031430  0x0000594f add  0x00000011 , 0x0000002c , 0x00000006 
+ 00031431  0x00005950 call  0x00007c94 
+ 00031432  0x00005951 call  0x00007c90 
+ 00031433  0x00005952 copy  0x00000012 , 0x00000011 
+ 00031434  0x00005953 call  0x00007b35 
+ 00031435  0x00005954 arg  0x000007c2 , 0x00000012 
+ 00031436  0x00005955 copy  0x00000030 , 0x00000011 
+ 00031437  0x00005956 copy  0x0000000b , 0x00000005 
+ 00031438  0x00005957 call  0x00007b32 
+ 00031439  0x00005959 arg  0x000007c2 , 0x00000012 
+ 00031440  0x0000595a copy  0x00000012 , 0x00000005 
+ 00031441  0x0000595b call  0x00007ca8 
+ 00031442  0x0000595c istore  0x00000008 , 0x00000005 
+ 00031443  0x0000595d add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031444  0x0000595e call  0x00007c9a 
+ 00031445  0x0000595f call  0x00007ca8 
+ 00031446  0x00005960 copy  0x00000012 , 0x00000011 
+ 00031447  0x00005961 call  0x00007b35 
+ 00031448  0x00005965 arg  0x000007c2 , 0x00000012 
+ 00031449  0x00005966 copy  0x0000000b , 0x00000011 
+ 00031450  0x00005967 copy  0x00000011 , 0x00000005 
+ 00031451  0x00005968 call  0x00007b32 
+ 00031452  0x0000596c arg  0x000007c2 , 0x00000012 
+ 00031453  0x0000596d copy  0x00000012 , 0x00000005 
+ 00031454  0x0000596e add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031455  0x0000596f call  0x00007c90 
+ 00031456  0x00005970 call  0x00007ca8 
+ 00031457  0x00005971 istore  0x00000008 , 0x00000005 
+ 00031458  0x00005972 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031459  0x00005973 call  0x00007c94 
+ 00031460  0x00005974 copy  0x0000000b , 0x00000011 
+ 00031461  0x00005975 copy  0x00000011 , 0x00000005 
+ 00031462  0x00005976 call  0x00007b32 
+ 00031463  0x0000597a arg  0x000007c2 , 0x00000012 
+ 00031464  0x0000597b copy  0x00000012 , 0x00000005 
+ 00031465  0x0000597c add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031466  0x0000597d call  0x00007c90 
+ 00031467  0x0000597e add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031468  0x0000597f call  0x00007c90 
+ 00031469  0x00005980 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031470  0x00005981 call  0x00007c91 
+ 00031471  0x00005982 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031472  0x00005983 call  0x00007c91 
+ 00031473  0x00005984 copy  0x0000000b , 0x00000011 
+ 00031474  0x00005985 copy  0x00000011 , 0x00000005 
+ 00031475  0x00005986 call  0x00007b32 
+ 00031476  0x00005989 arg  0x000007c2 , 0x00000012 
+ 00031477  0x0000598a copy  0x00000012 , 0x00000005 
+ 00031478  0x0000598b add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031479  0x0000598c call  0x00007c90 
+ 00031480  0x0000598d call  0x00007ca8 
+ 00031481  0x0000598e istore  0x00000008 , 0x00000005 
+ 00031482  0x0000598f add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031483  0x00005990 call  0x00007c91 
+ 00031484  0x00005991 add  0x00000030 , 0x00000028 , 0x00000006 
+ 00031485  0x00005992 call  0x00007c91 
+ 00031486  0x00005993 copy  0x0000000b , 0x00000011 
+ 00031487  0x00005994 copy  0x00000011 , 0x00000005 
+ 00031488  0x00005995 call  0x00007b4b 
+ 00031489  0x00005998 arg  0x000007c2 , 0x00000012 
+ 00031490  0x00005999 copy  0x00000012 , 0x00000005 
+ 00031491  0x0000599a add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031492  0x0000599b call  0x00007c94 
+ 00031493  0x0000599c call  0x00007c94 
+ 00031494  0x0000599d force  0x00000000 , 0x0000003f 
+ 00031495  0x0000599e istore  0x00000008 , 0x00000005 
+ 00031496  0x0000599f add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031497  0x000059a0 call  0x00007c91 
+ 00031498  0x000059a1 add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031499  0x000059a2 call  0x00007c91 
+ 00031500  0x000059a3 copy  0x0000000b , 0x00000011 
+ 00031501  0x000059a4 copy  0x00000011 , 0x00000005 
+ 00031502  0x000059a5 call  0x00007b4b 
+ 00031503  0x000059a8 arg  0x000007c2 , 0x00000012 
+ 00031504  0x000059a9 copy  0x00000012 , 0x00000005 
+ 00031505  0x000059aa add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031506  0x000059ab call  0x00007c90 
+ 00031507  0x000059ac add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031508  0x000059ad call  0x00007c90 
+ 00031509  0x000059ae call  0x00007ca8 
+ 00031510  0x000059af add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031511  0x000059b0 call  0x00007c91 
+ 00031512  0x000059b1 copy  0x0000000b , 0x00000011 
+ 00031513  0x000059b2 copy  0x00000011 , 0x00000005 
+ 00031514  0x000059b3 call  0x00007b4b 
+ 00031515  0x000059b6 arg  0x000007c2 , 0x00000012 
+ 00031516  0x000059b7 copy  0x00000012 , 0x00000005 
+ 00031517  0x000059b8 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031518  0x000059b9 call  0x00007c94 
+ 00031519  0x000059ba call  0x00007ca8 
+ 00031520  0x000059bb add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031521  0x000059bc call  0x00007c90 
+ 00031522  0x000059bd call  0x00007ca8 
+ 00031523  0x000059be add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031524  0x000059bf call  0x00007c91 
+ 00031525  0x000059c0 copy  0x0000000b , 0x00000011 
+ 00031526  0x000059c1 copy  0x00000011 , 0x00000005 
+ 00031527  0x000059c2 branch  0x00007b4b 
+ 00031528  0x000059c6 force  0x00000020 , 0x00000039 
+ 00031529  0x000059c7 arg  0x00000ace , 0x00000005 
+ 00031530  0x000059c8 iadd  0x00000005 , 0x00000005 
+ 00031531  0x000059c9 branch  0x00007cdc 
+ 00031532  0x000059cc force  0x00000008 , 0x00000039 
+ 00031533  0x000059cd branch  0x00007636 
+ 00031534  0x000059d0 copy  0x00000011 , 0x00000012 
+ 00031535  0x000059d1 branch  0x00007a96 
+ 00031536  0x000059d4 force  0x00000008 , 0x00000039 
+ 00031537  0x000059d5 branch  0x000075c7 
+ 00031538  0x000059d8 call  0x00007b30 
+ 00031539  0x000059d9 copy  0x00000005 , 0x00000011 
+ 00031540  0x000059da branch  0x00007b36 
+ 00031541  0x000059dd call  0x00007b63 
+ 00031542  0x000059df isolate1  0x00000000 , 0x00000013 
+ 00031543  0x000059e0 branch  0x00007b3f , 0x00000001 
+ 00031544  0x000059e1 arg  0x0000091a , 0x00000012 
+ 00031545  0x000059e2 copy  0x00000011 , 0x00000013 
+ 00031546  0x000059e3 increase  0xffffffe0 , 0x00000011 
+ 00031547  0x000059e4 call  0x00007b66 
+ 00031548  0x000059e5 nrtn  0x00000002 
+ 00031549  0x000059e6 copy  0x00000013 , 0x00000011 
+ 00031550  0x000059e7 branch  0x00007b47 
+ 00031551  0x000059ea call  0x00007b47 
+ 00031552  0x000059ec copy  0x00000011 , 0x00000013 
+ 00031553  0x000059ed increase  0xffffffe0 , 0x00000011 
+ 00031554  0x000059ee arg  0x0000091a , 0x00000012 
+ 00031555  0x000059ef call  0x00007b66 
+ 00031556  0x000059f0 nrtn  0x00000002 
+ 00031557  0x000059f1 copy  0x00000013 , 0x00000011 
+ 00031558  0x000059f2 branch  0x00007b47 
+ 00031559  0x000059f6 increase  0xffffffe0 , 0x00000011 
+ 00031560  0x000059f7 arg  0x0000091a , 0x00000012 
+ 00031561  0x000059f8 copy  0x00000011 , 0x00000005 
+ 00031562  0x000059f9 branch  0x00007b5e 
+ 00031563  0x000059ff call  0x00007b5e 
+ 00031564  0x00005a01 branch  0x00007b55 , 0x00000001 
+ 00031565  0x00005a04 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031566  0x00005a05 arg  0x0000091a , 0x00000012 
+ 00031567  0x00005a06 call  0x00007b66 
+ 00031568  0x00005a07 nrtn  0x00000002 
+ 00031569  0x00005a08 arg  0x0000091a , 0x00000012 
+ 00031570  0x00005a09 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031571  0x00005a0b copy  0x00000011 , 0x00000005 
+ 00031572  0x00005a0c branch  0x00007b5e 
+ 00031573  0x00005a0e add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031574  0x00005a0f arg  0x0000091a , 0x00000012 
+ 00031575  0x00005a10 copy  0x00000011 , 0x00000005 
+ 00031576  0x00005a11 call  0x00007b30 
+ 00031577  0x00005a13 rtn  0x00000001 
+ 00031578  0x00005a14 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031579  0x00005a15 arg  0x0000091a , 0x00000012 
+ 00031580  0x00005a16 copy  0x00000011 , 0x00000005 
+ 00031581  0x00005a17 branch  0x00007b30 
+ 00031582  0x00005a1c force  0x00000008 , 0x00000039 
+ 00031583  0x00005a1d branch  0x000075d5 
+ 00031584  0x00005a20 force  0x00000008 , 0x00000039 
+ 00031585  0x00005a21 increase  0x0000001c , 0x00000011 
+ 00031586  0x00005a22 branch  0x000075e4 
+ 00031587  0x00005a25 force  0x00000008 , 0x00000039 
+ 00031588  0x00005a26 force  0x00000000 , 0x00000013 
+ 00031589  0x00005a27 branch  0x000075f2 
+ 00031590  0x00005a2a force  0x00000008 , 0x00000039 
+ 00031591  0x00005a2b increase  0x0000001c , 0x00000011 
+ 00031592  0x00005a2c increase  0x0000001c , 0x00000012 
+ 00031593  0x00005a2d branch  0x000075bc 
+ 00031594  0x00005a31 ifetch  0x00000008 , 0x00000006 
+ 00031595  0x00005a32 nrtn  0x00000034 
+ 00031596  0x00005a33 branch  0x000075aa 
+ 00031597  0x00005a39 copy  0x00000011 , 0x00000030 
+ 00031598  0x00005a3b copy  0x00000030 , 0x00000011 
+ 00031599  0x00005a3c ifetch  0x00000001 , 0x00000011 
+ 00031600  0x00005a3d isolate1  0x00000000 , 0x0000003f 
+ 00031601  0x00005a3e rtn  0x00000001 
+ 00031602  0x00005a3f call  0x00007b60 
+ 00031603  0x00005a40 ifetch  0x00000001 , 0x00000012 
+ 00031604  0x00005a41 isolate0  0x00000000 , 0x0000003f 
+ 00031605  0x00005a42 branch  0x00007b7d , 0x00000001 
+ 00031606  0x00005a43 arg  0x0000091a , 0x00000011 
+ 00031607  0x00005a44 copy  0x00000012 , 0x00000005 
+ 00031608  0x00005a45 call  0x00007b30 
+ 00031609  0x00005a46 ifetch  0x00000001 , 0x00000012 
+ 00031610  0x00005a47 iadd  0x00000013 , 0x0000003f 
+ 00031611  0x00005a48 istore  0x00000001 , 0x00000012 
+ 00031612  0x00005a49 increase  0xffffffe0 , 0x00000012 
+ 00031613  0x00005a4b add  0x00000012 , 0x00000020 , 0x00000011 
+ 00031614  0x00005a4c force  0x00000009 , 0x00000039 
+ 00031615  0x00005a4d call  0x000075e4 
+ 00031616  0x00005a4e branch  0x00007b6e 
+ 00031617  0x00005a53 call  0x00004c20 
+ 00031618  0x00005a54 rtn  0x0000002b 
+ 00031619  0x00005a55 branch  0x00007b9a 
+ 00031620  0x00005a58 branch  0x00007b89 
+ 00031621  0x00005a5e setarg  0x00001000 
+ 00031622  0x00005a5f lshift16  0x0000003f , 0x0000003f 
+ 00031623  0x00005a60 iadd  0x00000012 , 0x00000012 
+ 00031624  0x00005a61 rtn 
+ 00031625  0x00005a64 bpatchx  0x0000009d , 0x00004033 
+ 00031626  0x00005a65 arg  0x00000000 , 0x00000011 
+ 00031627  0x00005a66 fetcht  0x00000004 , 0x0000464a 
+ 00031628  0x00005a67 copy  0x00000022 , 0x00000012 
+ 00031629  0x00005a68 copy  0x00000012 , 0x0000003f 
+ 00031630  0x00005a69 isub  0x00000002 , 0x0000003e 
+ 00031631  0x00005a6a ncall  0x00007b85 , 0x00000002 
+ 00031632  0x00005a6d copy  0x00000012 , 0x0000003f 
+ 00031633  0x00005a6e increase  0x000000a0 , 0x00000002 
+ 00031634  0x00005a6f increase  0x000000a0 , 0x00000002 
+ 00031635  0x00005a70 isub  0x00000002 , 0x0000003e 
+ 00031636  0x00005a71 nbranch  0x00007b9d , 0x00000002 
+ 00031637  0x00005a72 increase  0x00000001 , 0x00000011 
+ 00031638  0x00005a73 and  0x00000011 , 0x0000000f , 0x0000003f 
+ 00031639  0x00005a74 nbranch  0x00007b90 , 0x00000034 
+ 00031640  0x00005a75 arg  0x00000000 , 0x00000011 
+ 00031641  0x00005a76 call  0x00007ba4 
+ 00031642  0x00005a78 copy  0x00000022 , 0x0000003f 
+ 00031643  0x00005a79 store  0x00000004 , 0x0000464a 
+ 00031644  0x00005a7a rtn 
+ 00031645  0x00005a7c bpatchx  0x0000009e , 0x00004033 
+ 00031646  0x00005a7d copy  0x00000011 , 0x0000003f 
+ 00031647  0x00005a7e rtn  0x00000034 
+ 00031648  0x00005a7f increase  0xffffff60 , 0x00000002 
+ 00031649  0x00005a80 increase  0xffffff60 , 0x00000002 
+ 00031650  0x00005a81 set0  0x0000001c , 0x00000002 
+ 00031651  0x00005a82 storet  0x00000004 , 0x0000464a 
+ 00031652  0x00005a84 branch  0x00004cf8 
+ 00031653  0x00005a8c jam  0x00000001 , 0x00004638 
+ 00031654  0x00005a8e fetch  0x00000001 , 0x00004639 
+ 00031655  0x00005a8f nbranch  0x00007ba6 , 0x00000034 
+ 00031656  0x00005a90 rtn 
+ 00031657  0x00005a93 jam  0x00000000 , 0x00004638 
+ 00031658  0x00005a94 rtn 
+ 00031659  0x00005a99 bpatchx  0x0000009f , 0x00004033 
+ 00031660  0x00005a9a call  0x00007ba5 
+ 00031661  0x00005a9b copy  0x00000011 , 0x0000003f 
+ 00031662  0x00005a9c store  0x00000004 , 0x00000a8d 
+ 00031663  0x00005a9d arg  0x0000463a , 0x00000011 
+ 00031664  0x00005a9e call  0x00007d90 
+ 00031665  0x00005a9f fetch  0x00000004 , 0x00000a8d 
+ 00031666  0x00005aa0 copy  0x0000003f , 0x00000011 
+ 00031667  0x00005aa1 branch  0x00007ba9 
+ 00031668  0x00005aa4 bpatchx  0x000000a0 , 0x00004034 
+ 00031669  0x00005aa5 call  0x00007ba5 
+ 00031670  0x00005aa6 copy  0x00000011 , 0x0000003f 
+ 00031671  0x00005aa7 store  0x00000004 , 0x00000a8d 
+ 00031672  0x00005aa8 arg  0x00004642 , 0x00000011 
+ 00031673  0x00005aa9 call  0x00007d90 
+ 00031674  0x00005aaa fetch  0x00000004 , 0x00000a8d 
+ 00031675  0x00005aab copy  0x0000003f , 0x00000011 
+ 00031676  0x00005aac branch  0x00007ba9 
+ 00031677  0x00005aaf setarg  0x00000000 
+ 00031678  0x00005ab0 store  0x00000008 , 0x00004642 
+ 00031679  0x00005ab1 store  0x00000008 , 0x0000463a 
+ 00031680  0x00005ab2 rtn 
+ 00031681  0x00005ab5 bpatchx  0x000000a1 , 0x00004034 
+ 00031682  0x00005ab6 fetch  0x00000001 , 0x000041cf 
+ 00031683  0x00005ab7 nrtn  0x00000034 
+ 00031684  0x00005ab8 arg  0x00004642 , 0x00000011 
+ 00031685  0x00005ab9 call  0x00007da8 
+ 00031686  0x00005aba rtn  0x00000034 
+ 00031687  0x00005abb jam  0x00000000 , 0x00000a8c 
+ 00031688  0x00005abc call  0x00007bcc 
+ 00031689  0x00005abd fetch  0x00000001 , 0x00000a8c 
+ 00031690  0x00005abe branch  0x00007bc1 , 0x00000034 
+ 00031691  0x00005abf rtn 
+ 00031692  0x00005ac2 call  0x00007ba5 
+ 00031693  0x00005ac3 arg  0x00004642 , 0x00000011 
+ 00031694  0x00005ac4 call  0x00007d9c 
+ 00031695  0x00005ac5 copy  0x0000003f , 0x00000002 
+ 00031696  0x00005ac6 call  0x00007ba9 
+ 00031697  0x00005ac7 bpatchx  0x000000a2 , 0x00004034 
+ 00031698  0x00005ac8 copy  0x00000002 , 0x0000003f 
+ 00031699  0x00005ac9 rtn  0x00000034 
+ 00031700  0x00005aca beq  0x00000001 , 0x00007bff 
+ 00031701  0x00005acb beq  0x00000002 , 0x00007c04 
+ 00031702  0x00005acc beq  0x00000003 , 0x00007c0a 
+ 00031703  0x00005acd beq  0x00000007 , 0x00007c0f 
+ 00031704  0x00005ace beq  0x00000008 , 0x00007c10 
+ 00031705  0x00005acf beq  0x00000009 , 0x00007c11 
+ 00031706  0x00005ad0 beq  0x0000000b , 0x00007c14 
+ 00031707  0x00005ad1 beq  0x0000000c , 0x00007c15 
+ 00031708  0x00005ad2 beq  0x0000000d , 0x00007c16 
+ 00031709  0x00005ad3 beq  0x0000000e , 0x00007c1c 
+ 00031710  0x00005ad4 beq  0x0000000f , 0x00007c21 
+ 00031711  0x00005ad5 beq  0x00000010 , 0x00007c27 
+ 00031712  0x00005ad6 beq  0x00000016 , 0x00007c31 
+ 00031713  0x00005ad7 beq  0x00000017 , 0x00007c34 
+ 00031714  0x00005ad8 beq  0x00000018 , 0x00007c36 
+ 00031715  0x00005ad9 beq  0x00000019 , 0x00007c39 
+ 00031716  0x00005ada beq  0x0000001b , 0x00007c3d 
+ 00031717  0x00005adb beq  0x0000001e , 0x00007c47 
+ 00031718  0x00005add store  0x00000001 , 0x00000a95 
+ 00031719  0x00005ade bpatchx  0x000000a3 , 0x00004034 
+ 00031720  0x00005adf call  0x0000669e 
+ 00031721  0x00005ae0 nbranch  0x00007bfd , 0x00000034 
+ 00031722  0x00005ae2 fetch  0x00000001 , 0x00000a95 
+ 00031723  0x00005ae3 bmark0  0x00000009 , 0x00007bf8 
+ 00031724  0x00005ae4 beq  0x00000004 , 0x00007c0c 
+ 00031725  0x00005ae5 beq  0x00000005 , 0x000050fd 
+ 00031726  0x00005ae6 beq  0x00000006 , 0x0000510c 
+ 00031727  0x00005ae7 beq  0x0000000a , 0x00007c12 
+ 00031728  0x00005ae8 beq  0x00000011 , 0x00007c2c 
+ 00031729  0x00005ae9 beq  0x00000012 , 0x00007c30 
+ 00031730  0x00005aea beq  0x0000001d , 0x00007c3e 
+ 00031731  0x00005aeb beq  0x0000001f , 0x000067fd 
+ 00031732  0x00005aec beq  0x00000020 , 0x000067fd 
+ 00031733  0x00005aed beq  0x00000021 , 0x00007c49 
+ 00031734  0x00005aee beq  0x00000025 , 0x000067fd 
+ 00031735  0x00005aef rtn 
+ 00031736  0x00005af2 store  0x00000001 , 0x00000a95 
+ 00031737  0x00005af3 call  0x0000424e 
+ 00031738  0x00005af4 branch  0x00007bfd , 0x00000005 
+ 00031739  0x00005af5 call  0x00004256 
+ 00031740  0x00005af6 nrtn  0x00000005 
+ 00031741  0x00005af8 jam  0x00000001 , 0x00000a8c 
+ 00031742  0x00005af9 branch  0x00007bb4 
+ 00031743  0x00005aff fetch  0x00000002 , 0x00004652 
+ 00031744  0x00005b00 set1  0x00000006 
+ 00031745  0x00005b01 store  0x00000002 , 0x00004652 
+ 00031746  0x00005b02 jam  0x00000003 , 0x00004093 
+ 00031747  0x00005b03 rtn 
+ 00031748  0x00005b08 jam  0x00000000 , 0x00004650 
+ 00031749  0x00005b09 jam  0x00000000 , 0x00004093 
+ 00031750  0x00005b0a fetch  0x00000002 , 0x00004652 
+ 00031751  0x00005b0b set0  0x00000006 
+ 00031752  0x00005b0c store  0x00000002 , 0x00004652 
+ 00031753  0x00005b0d rtn 
+ 00031754  0x00005b12 jam  0x00000005 , 0x000041cf 
+ 00031755  0x00005b13 rtn 
+ 00031756  0x00005b18 jam  0x00000007 , 0x0000007c 
+ 00031757  0x00005b19 jam  0x00000013 , 0x000004c6 
+ 00031758  0x00005b1a rtn 
+ 00031759  0x00005b1f rtn 
+ 00031760  0x00005b24 rtn 
+ 00031761  0x00005b29 rtn 
+ 00031762  0x00005b2e jam  0x00000002 , 0x000004d0 
+ 00031763  0x00005b2f branch  0x000050f0 
+ 00031764  0x00005b34 rtn 
+ 00031765  0x00005b39 rtn 
+ 00031766  0x00005b3e jam  0x00000001 , 0x00004340 
+ 00031767  0x00005b3f jam  0x00000000 , 0x00004456 
+ 00031768  0x00005b40 fetch  0x00000002 , 0x00004652 
+ 00031769  0x00005b41 set1  0x0000000b , 0x0000003f 
+ 00031770  0x00005b42 store  0x00000002 , 0x00004652 
+ 00031771  0x00005b43 rtn 
+ 00031772  0x00005b48 fetch  0x00000002 , 0x00004652 
+ 00031773  0x00005b49 set0  0x0000000b , 0x0000003f 
+ 00031774  0x00005b4a store  0x00000002 , 0x00004652 
+ 00031775  0x00005b4b jam  0x00000000 , 0x00004340 
+ 00031776  0x00005b4c rtn 
+ 00031777  0x00005b51 jam  0x00000001 , 0x00004340 
+ 00031778  0x00005b52 jam  0x00000001 , 0x00004456 
+ 00031779  0x00005b53 fetch  0x00000002 , 0x00004652 
+ 00031780  0x00005b54 set1  0x0000000b , 0x0000003f 
+ 00031781  0x00005b55 store  0x00000002 , 0x00004652 
+ 00031782  0x00005b56 rtn 
+ 00031783  0x00005b5b fetch  0x00000002 , 0x00004652 
+ 00031784  0x00005b5c set0  0x0000000b , 0x0000003f 
+ 00031785  0x00005b5d store  0x00000002 , 0x00004652 
+ 00031786  0x00005b5e jam  0x00000000 , 0x00004340 
+ 00031787  0x00005b5f rtn 
+ 00031788  0x00005b64 setarg  0x00000014 
+ 00031789  0x00005b65 store  0x00000002 , 0x00000469 
+ 00031790  0x00005b66 store  0x00000002 , 0x0000448c 
+ 00031791  0x00005b67 branch  0x00006073 
+ 00031792  0x00005b6c branch  0x00005e9f 
+ 00031793  0x00005b72 jam  0x00000001 , 0x0000433b 
+ 00031794  0x00005b73 jam  0x0000001b , 0x000041cf 
+ 00031795  0x00005b76 rtn 
+ 00031796  0x00005b7b jam  0x00000001 , 0x0000433b 
+ 00031797  0x00005b7c rtn 
+ 00031798  0x00005b81 jam  0x00000000 , 0x0000433b 
+ 00031799  0x00005b82 jam  0x00000000 , 0x000041cf 
+ 00031800  0x00005b83 rtn 
+ 00031801  0x00005b88 fetch  0x00000002 , 0x000041ec 
+ 00031802  0x00005b89 call  0x00007d77 
+ 00031803  0x00005b8a call  0x00007bbd 
+ 00031804  0x00005b8b branch  0x00004afe 
+ 00031805  0x00005b90 branch  0x00005ee2 
+ 00031806  0x00005b95 jam  0x00000034 , 0x0000007c 
+ 00031807  0x00005b96 set1  0x00000003 , 0x00000000 
+ 00031808  0x00005b97 nrtn  0x00000029 
+ 00031809  0x00005b98 jam  0x00000000 , 0x0000452d 
+ 00031810  0x00005b99 jam  0x00000013 , 0x0000007c 
+ 00031811  0x00005b9a fetch  0x00000001 , 0x0000016b 
+ 00031812  0x00005b9b set0  0x00000002 , 0x0000003f 
+ 00031813  0x00005b9c store  0x00000001 , 0x0000016b 
+ 00031814  0x00005b9d rtn 
+ 00031815  0x00005ba2 force  0x00000003 , 0x00000007 
+ 00031816  0x00005ba3 branch  0x00007ce2 
+ 00031817  0x00005ba8 call  0x000066da 
+ 00031818  0x00005ba9 jam  0x00000041 , 0x0000007d 
+ 00031819  0x00005baa branch  0x0000637f 
+ 00031820  0x00005bb1 sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00031821  0x00005bb2 rtn  0x00000005 
+ 00031822  0x00005bb4 rshift  0x0000003f , 0x0000003f 
+ 00031823  0x00005bb5 loop  0x00007c4e 
+ 00031824  0x00005bb6 rtn 
+ 00031825  0x00005bba force  0x00000001 , 0x0000003f 
+ 00031826  0x00005bbb sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00031827  0x00005bbc rtn  0x00000005 
+ 00031828  0x00005bbe lshift  0x0000003f , 0x0000003f 
+ 00031829  0x00005bbf loop  0x00007c54 
+ 00031830  0x00005bc0 rtn 
+ 00031831  0x00005bc2 deposit  0x00000005 
+ 00031832  0x00005bc3 store  0x00000002 , 0x00000ab7 
+ 00031833  0x00005bc4 storet  0x00000008 , 0x00000a9e 
+ 00031834  0x00005bc5 deposit  0x0000000b 
+ 00031835  0x00005bc6 store  0x00000004 , 0x00000aa6 
+ 00031836  0x00005bc7 call  0x00007c60 
+ 00031837  0x00005bc8 deposit  0x00000006 
+ 00031838  0x00005bc9 store  0x00000002 , 0x00000ab5 
+ 00031839  0x00005bca rtn 
+ 00031840  0x00005bcd deposit  0x00000011 
+ 00031841  0x00005bce store  0x00000004 , 0x00000aaa 
+ 00031842  0x00005bcf deposit  0x00000012 
+ 00031843  0x00005bd0 store  0x00000004 , 0x00000aae 
+ 00031844  0x00005bd1 deposit  0x00000013 
+ 00031845  0x00005bd2 store  0x00000003 , 0x00000ab2 
+ 00031846  0x00005bd3 rtn 
+ 00031847  0x00005bd6 fetcht  0x00000008 , 0x00000a9e 
+ 00031848  0x00005bd7 fetch  0x00000004 , 0x00000aa6 
+ 00031849  0x00005bd8 iforce  0x0000000b 
+ 00031850  0x00005bd9 call  0x00007c70 
+ 00031851  0x00005bda fetch  0x00000002 , 0x00000ab7 
+ 00031852  0x00005bdb iforce  0x00000005 
+ 00031853  0x00005bdc fetch  0x00000002 , 0x00000ab5 
+ 00031854  0x00005bdd iforce  0x00000006 
+ 00031855  0x00005bde rtn 
+ 00031856  0x00005be1 fetch  0x00000004 , 0x00000aaa 
+ 00031857  0x00005be2 iforce  0x00000011 
+ 00031858  0x00005be3 fetch  0x00000004 , 0x00000aae 
+ 00031859  0x00005be4 iforce  0x00000012 
+ 00031860  0x00005be5 fetch  0x00000003 , 0x00000ab2 
+ 00031861  0x00005be6 iforce  0x00000013 
+ 00031862  0x00005be7 rtn 
+ 00031863  0x00005bea fetch  0x00000002 , 0x00000ab7 
+ 00031864  0x00005beb copy  0x0000003f , 0x00000005 
+ 00031865  0x00005bec rtn 
+ 00031866  0x00005bee fetch  0x00000002 , 0x00000ab5 
+ 00031867  0x00005bef copy  0x0000003f , 0x00000006 
+ 00031868  0x00005bf0 rtn 
+ 00031869  0x00005bf2 copy  0x00000005 , 0x0000003f 
+ 00031870  0x00005bf3 store  0x00000002 , 0x00000ab7 
+ 00031871  0x00005bf4 rtn 
+ 00031872  0x00005bf6 copy  0x00000006 , 0x0000003f 
+ 00031873  0x00005bf7 store  0x00000002 , 0x00000ab5 
+ 00031874  0x00005bf8 rtn 
+ 00031875  0x00005bfd copy  0x00000005 , 0x0000003f 
+ 00031876  0x00005bfe store  0x00000002 , 0x00000a93 
+ 00031877  0x00005bff copy  0x00000006 , 0x0000003f 
+ 00031878  0x00005c00 store  0x00000002 , 0x00000a91 
+ 00031879  0x00005c01 rtn 
+ 00031880  0x00005c03 fetch  0x00000002 , 0x00000a93 
+ 00031881  0x00005c04 copy  0x0000003f , 0x00000005 
+ 00031882  0x00005c05 fetch  0x00000002 , 0x00000a91 
+ 00031883  0x00005c06 copy  0x0000003f , 0x00000006 
+ 00031884  0x00005c07 rtn 
+ 00031885  0x00005c0a call  0x00007c98 
+ 00031886  0x00005c0c call  0x00007c98 
+ 00031887  0x00005c0d branch  0x00007c98 
+ 00031888  0x00005c0f call  0x00007c94 
+ 00031889  0x00005c11 ifetch  0x00000004 , 0x00000006 
+ 00031890  0x00005c12 istore  0x00000004 , 0x00000005 
+ 00031891  0x00005c13 rtn 
+ 00031892  0x00005c15 ifetch  0x00000008 , 0x00000006 
+ 00031893  0x00005c16 istore  0x00000008 , 0x00000005 
+ 00031894  0x00005c17 rtn 
+ 00031895  0x00005c1a call  0x00007c9a 
+ 00031896  0x00005c1c call  0x00007c94 
+ 00031897  0x00005c1e call  0x00007c94 
+ 00031898  0x00005c20 call  0x00007c94 
+ 00031899  0x00005c21 branch  0x00007c94 
+ 00031900  0x00005c26 arg  0x0000000a , 0x00000039 
+ 00031901  0x00005c28 nop  0x00002ee0 
+ 00031902  0x00005c29 loop  0x00007c9d 
+ 00031903  0x00005c2a rtn 
+ 00031904  0x00005c2d force  0x00000003 , 0x00000039 
+ 00031905  0x00005c2f force  0x00000000 , 0x0000003f 
+ 00031906  0x00005c31 istore  0x00000008 , 0x00000005 
+ 00031907  0x00005c32 loop  0x00007ca2 
+ 00031908  0x00005c33 rtn 
+ 00031909  0x00005c36 force  0x00000000 , 0x0000003f 
+ 00031910  0x00005c37 istore  0x00000008 , 0x00000005 
+ 00031911  0x00005c38 rtn 
+ 00031912  0x00005c3a force  0x00000000 , 0x0000003f 
+ 00031913  0x00005c3b istore  0x00000004 , 0x00000005 
+ 00031914  0x00005c3c rtn 
+ 00031915  0x00005c3f force  0x00000004 , 0x00000039 
+ 00031916  0x00005c40 branch  0x00007ca1 
+ 00031917  0x00005c42 force  0x00000008 , 0x00000039 
+ 00031918  0x00005c43 branch  0x00007ca1 
+ 00031919  0x00005c46 deposit  0x00000039 
+ 00031920  0x00005c47 rtn  0x00000034 
+ 00031921  0x00005c48 setarg  0x00000000 
+ 00031922  0x00005c4a istore  0x00000001 , 0x00000005 
+ 00031923  0x00005c4b loop  0x00007cb2 
+ 00031924  0x00005c4c rtn 
+ 00031925  0x00005c50 arg  0x00000020 , 0x00000039 
+ 00031926  0x00005c51 arg  0x00000abe , 0x00000005 
+ 00031927  0x00005c52 branch  0x00007caf 
+ 00031928  0x00005c55 ifetch  0x00000004 , 0x00000013 
+ 00031929  0x00005c56 ifetcht  0x00000004 , 0x00000011 
+ 00031930  0x00005c57 ixor  0x00000002 , 0x0000003f 
+ 00031931  0x00005c58 istore  0x00000004 , 0x00000005 
+ 00031932  0x00005c59 increase  0x00000004 , 0x00000011 
+ 00031933  0x00005c5a increase  0x00000004 , 0x00000013 
+ 00031934  0x00005c5b loop  0x00007cb8 
+ 00031935  0x00005c5c rtn 
+ 00031936  0x00005c61 bpatchx  0x000000a4 , 0x00004034 
+ 00031937  0x00005c62 copy  0x00000039 , 0x0000003f 
+ 00031938  0x00005c63 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00031939  0x00005c64 rtn  0x00000002 
+ 00031940  0x00005c65 iadd  0x00000011 , 0x00000012 
+ 00031941  0x00005c66 increase  0xffffffff , 0x00000012 
+ 00031942  0x00005c67 rshift  0x00000039 , 0x00000039 
+ 00031943  0x00005c69 ifetcht  0x00000001 , 0x00000011 
+ 00031944  0x00005c6a ifetch  0x00000001 , 0x00000012 
+ 00031945  0x00005c6b istore  0x00000001 , 0x00000011 
+ 00031946  0x00005c6c istoret  0x00000001 , 0x00000012 
+ 00031947  0x00005c6d increase  0xffffffff , 0x00000012 
+ 00031948  0x00005c6e increase  0x00000001 , 0x00000011 
+ 00031949  0x00005c6f loop  0x00007cc7 
+ 00031950  0x00005c70 rtn 
+ 00031951  0x00005c74 deposit  0x00000039 
+ 00031952  0x00005c75 rtn  0x00000034 
+ 00031953  0x00005c77 increase  0xfffffff8 , 0x00000039 
+ 00031954  0x00005c78 call  0x00007c94 , 0x00000002 
+ 00031955  0x00005c79 rtn  0x00000005 
+ 00031956  0x00005c7a branch  0x00007cd1 , 0x00000002 
+ 00031957  0x00005c7b increase  0x00000008 , 0x00000039 
+ 00031958  0x00005c7d increase  0xfffffffc , 0x00000039 
+ 00031959  0x00005c7e call  0x00007c91 , 0x00000002 
+ 00031960  0x00005c7f rtn  0x00000005 
+ 00031961  0x00005c80 branch  0x00007cd6 , 0x00000002 
+ 00031962  0x00005c81 increase  0x00000004 , 0x00000039 
+ 00031963  0x00005c82 branch  0x00007cdc 
+ 00031964  0x00005c85 deposit  0x00000039 
+ 00031965  0x00005c86 rtn  0x00000034 
+ 00031966  0x00005c88 ifetch  0x00000001 , 0x00000006 
+ 00031967  0x00005c89 istore  0x00000001 , 0x00000005 
+ 00031968  0x00005c8a loop  0x00007cde 
+ 00031969  0x00005c8b rtn 
+ 00031970  0x00005c8e setarg  0x00000000 
+ 00031971  0x00005c90 rshift  0x00000022 , 0x00000002 
+ 00031972  0x00005c91 storet  0x00000004 , 0x00004094 
+ 00031973  0x00005c92 arg  0x0000419e , 0x00000005 
+ 00031974  0x00005c93 iforce  0x00000002 
+ 00031975  0x00005c94 lshift  0x00000007 , 0x0000003f 
+ 00031976  0x00005c95 iadd  0x00000005 , 0x00000005 
+ 00031977  0x00005c96 istoret  0x00000002 , 0x00000005 
+ 00031978  0x00005c97 bpatchx  0x000000a5 , 0x00004034 
+ 00031979  0x00005c98 rtn 
+ 00031980  0x00005c9b arg  0x00000800 , 0x0000000b 
+ 00031981  0x00005c9c lshift16  0x0000000b , 0x0000000b 
+ 00031982  0x00005c9d iadd  0x0000000b , 0x0000003f 
+ 00031983  0x00005c9e rtn 
+ 00031984  0x00005ca2 arg  0x00000000 , 0x00000007 
+ 00031985  0x00005ca4 bpatchx  0x000000a6 , 0x00004034 
+ 00031986  0x00005ca5 fetcht  0x00000004 , 0x00004094 
+ 00031987  0x00005ca6 rshift  0x00000022 , 0x0000003f 
+ 00031988  0x00005ca7 store  0x00000004 , 0x00004094 
+ 00031989  0x00005ca8 isub  0x00000002 , 0x0000003e 
+ 00031990  0x00005ca9 ncall  0x00007cec , 0x00000002 
+ 00031991  0x00005caa isub  0x00000002 , 0x0000000b 
+ 00031992  0x00005cab copy  0x0000000b , 0x00000002 
+ 00031993  0x00005cac arg  0x0000419e , 0x00000006 
+ 00031994  0x00005cad copy  0x00000006 , 0x00000005 
+ 00031995  0x00005cae arg  0x00000010 , 0x00000039 
+ 00031996  0x00005cb0 ifetch  0x00000002 , 0x00000006 
+ 00031997  0x00005cb1 isub  0x00000002 , 0x0000003f 
+ 00031998  0x00005cb2 branch  0x00007d00 , 0x00000002 
+ 00031999  0x00005cb3 force  0x00000000 , 0x0000003f 
+ 00032000  0x00005cb5 istore  0x00000002 , 0x00000005 
+ 00032001  0x00005cb6 loop  0x00007cfc 
+ 00032002  0x00005cb7 arg  0x0000419e , 0x00000006 
+ 00032003  0x00005cb8 lshift  0x00000007 , 0x0000003f 
+ 00032004  0x00005cb9 iadd  0x00000006 , 0x00000006 
+ 00032005  0x00005cba ifetch  0x00000002 , 0x00000006 
+ 00032006  0x00005cbb rtn 
+ 00032007  0x00005cc1 iadd  0x00000002 , 0x00000002 
+ 00032008  0x00005cc2 copy  0x00000002 , 0x00000039 
+ 00032009  0x00005cc3 setarg  0x00000ea6 
+ 00032010  0x00005cc4 isub  0x00000039 , 0x0000003f 
+ 00032011  0x00005cc5 rtn  0x00000002 
+ 00032012  0x00005cc6 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032013  0x00005cc7 rshift16  0x00000002 , 0x00000002 
+ 00032014  0x00005cc8 increase  0x00000001 , 0x00000002 
+ 00032015  0x00005cc9 lshift16  0x00000002 , 0x00000002 
+ 00032016  0x00005cca ior  0x00000002 , 0x00000002 
+ 00032017  0x00005ccb rtn 
+ 00032018  0x00005cce call  0x00007d14 
+ 00032019  0x00005ccf branch  0x00007d1e 
+ 00032020  0x00005cd3 disable  0x00000028 
+ 00032021  0x00005cd4 isub  0x00000002 , 0x0000003f 
+ 00032022  0x00005cd5 branch  0x00007d19 , 0x00000002 
+ 00032023  0x00005cd6 enable  0x00000028 
+ 00032024  0x00005cd7 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032025  0x00005cd9 rtnbit0  0x0000000f 
+ 00032026  0x00005cda arg  0xffff0ea6 , 0x00000002 
+ 00032027  0x00005cdb iadd  0x00000002 , 0x0000003f 
+ 00032028  0x00005cdc set0  0x00000040 , 0x0000003f 
+ 00032029  0x00005cdd rtn 
+ 00032030  0x00005ce0 iforce  0x00000006 
+ 00032031  0x00005ce1 rshift16  0x0000003f , 0x0000003f 
+ 00032032  0x00005ce2 arg  0x00000ea6 , 0x00000002 
+ 00032033  0x00005ce3 imul32  0x00000002 , 0x0000003f 
+ 00032034  0x00005ce4 iadd  0x00000006 , 0x0000003f 
+ 00032035  0x00005ce5 rtn 
+ 00032036  0x00005ce9 lshift8  0x0000003f , 0x0000003f 
+ 00032037  0x00005cea lshift4  0x0000003f , 0x0000003f 
+ 00032038  0x00005ceb fetcht  0x00000003 , 0x00004170 
+ 00032039  0x00005cec idiv  0x00000002 
+ 00032040  0x00005ced call  0x00007d61 
+ 00032041  0x00005cee quotient  0x00000002 
+ 00032042  0x00005cef rtn 
+ 00032043  0x00005cf3 arg  0x00000ea6 , 0x00000002 
+ 00032044  0x00005cf4 idiv  0x00000002 
+ 00032045  0x00005cf5 call  0x00007d61 
+ 00032046  0x00005cf6 quotient  0x0000003f 
+ 00032047  0x00005cf7 lshift16  0x0000003f , 0x0000003f 
+ 00032048  0x00005cf8 remainder  0x00000002 
+ 00032049  0x00005cf9 ior  0x00000002 , 0x00000002 
+ 00032050  0x00005cfa rtn 
+ 00032051  0x00005d02 arg  0x00000000 , 0x00000002 
+ 00032052  0x00005d04 copy  0x00000002 , 0x00000013 
+ 00032053  0x00005d05 ifetch  0x00000001 , 0x00000003 
+ 00032054  0x00005d06 call  0x00007d3f 
+ 00032055  0x00005d07 copy  0x00000013 , 0x00000002 
+ 00032056  0x00005d08 call  0x00007d70 
+ 00032057  0x00005d09 arg  0x0000000a , 0x00000012 
+ 00032058  0x00005d0a imul32  0x00000012 , 0x0000003f 
+ 00032059  0x00005d0b iadd  0x00000002 , 0x0000003f 
+ 00032060  0x00005d0c copy  0x0000003f , 0x00000002 
+ 00032061  0x00005d0d loop  0x00007d34 
+ 00032062  0x00005d0e rtn 
+ 00032063  0x00005d13 arg  0x0000003a , 0x00000002 
+ 00032064  0x00005d14 isub  0x00000002 , 0x0000003e 
+ 00032065  0x00005d15 nbranch  0x00007d48 , 0x00000002 
+ 00032066  0x00005d16 arg  0x00000061 , 0x00000002 
+ 00032067  0x00005d17 isub  0x00000002 , 0x0000003e 
+ 00032068  0x00005d18 branch  0x00007d4b , 0x00000002 
+ 00032069  0x00005d19 arg  0x00000037 , 0x00000002 
+ 00032070  0x00005d1a isub  0x00000002 , 0x0000003f 
+ 00032071  0x00005d1b rtn 
+ 00032072  0x00005d1d arg  0x00000030 , 0x00000002 
+ 00032073  0x00005d1e isub  0x00000002 , 0x0000003f 
+ 00032074  0x00005d1f rtn 
+ 00032075  0x00005d21 arg  0x00000057 , 0x00000002 
+ 00032076  0x00005d22 isub  0x00000002 , 0x0000003f 
+ 00032077  0x00005d23 rtn 
+ 00032078  0x00005d26 copy  0x00000002 , 0x00000030 
+ 00032079  0x00005d27 setarg  0x000001ff 
+ 00032080  0x00005d28 force  0x00000000 , 0x00000012 
+ 00032081  0x00005d2a rshift3  0x0000003f , 0x00000011 
+ 00032082  0x00005d2b rshift  0x00000011 , 0x00000011 
+ 00032083  0x00005d2c ixor  0x00000011 , 0x00000011 
+ 00032084  0x00005d2d isolate1  0x00000000 , 0x00000011 
+ 00032085  0x00005d2e setflag  0x00000001 , 0x00000009 , 0x0000003f 
+ 00032086  0x00005d2f rshift  0x00000002 , 0x00000002 
+ 00032087  0x00005d30 isolate1  0x00000000 , 0x0000003f 
+ 00032088  0x00005d31 setflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00032089  0x00005d32 rshift  0x0000003f , 0x0000003f 
+ 00032090  0x00005d33 increase  0x00000001 , 0x00000012 
+ 00032091  0x00005d34 compare  0x00000000 , 0x00000012 , 0x00000007 
+ 00032092  0x00005d35 nbranch  0x00007d51 , 0x00000001 
+ 00032093  0x00005d36 istoret  0x00000001 , 0x00000005 
+ 00032094  0x00005d37 loop  0x00007d51 
+ 00032095  0x00005d38 copy  0x00000030 , 0x00000002 
+ 00032096  0x00005d39 rtn 
+ 00032097  0x00005d3d rtn  0x00000035 
+ 00032098  0x00005d3e branch  0x00007d61 
+ 00032099  0x00005d4a ifetch  0x00000001 , 0x00000011 
+ 00032100  0x00005d4b ifetcht  0x00000001 , 0x00000012 
+ 00032101  0x00005d4c isub  0x00000002 , 0x0000003e 
+ 00032102  0x00005d4d nrtn  0x00000005 
+ 00032103  0x00005d4e increase  0x00000001 , 0x00000011 
+ 00032104  0x00005d4f increase  0x00000001 , 0x00000012 
+ 00032105  0x00005d50 loop  0x00007d63 
+ 00032106  0x00005d51 force  0x00000000 , 0x0000003e 
+ 00032107  0x00005d52 rtn 
+ 00032108  0x00005d56 isub  0x00000002 , 0x0000003e 
+ 00032109  0x00005d57 nrtn  0x00000002 
+ 00032110  0x00005d58 deposit  0x00000002 
+ 00032111  0x00005d59 rtn 
+ 00032112  0x00005d5c iadd  0x00000002 , 0x0000003f 
+ 00032113  0x00005d5d isub  0x00000002 , 0x00000002 
+ 00032114  0x00005d5e isub  0x00000002 , 0x0000003f 
+ 00032115  0x00005d5f rtn 
+ 00032116  0x00005d62 arg  0x00000200 , 0x00000039 
+ 00032117  0x00005d63 arg  0x00004000 , 0x00000005 
+ 00032118  0x00005d64 branch  0x00007ca1 
+ 00032119  0x00005d68 rtn  0x00000034 
+ 00032120  0x00005d69 copy  0x0000003f , 0x0000003d 
+ 00032121  0x00005d6e hjam  0x00000001 , 0x00008203 
+ 00032122  0x00005d6f rtn 
+ 00032123  0x00005d72 hstore  0x00000002 , 0x00008205 
+ 00032124  0x00005d73 hfetch  0x00000001 , 0x00008203 
+ 00032125  0x00005d74 set1  0x00000004 , 0x0000003f 
+ 00032126  0x00005d75 hstore  0x00000001 , 0x00008203 
+ 00032127  0x00005d76 rtn 
+ 00032128  0x00005d78 hstore  0x00000002 , 0x00008207 
+ 00032129  0x00005d79 hfetch  0x00000001 , 0x00008203 
+ 00032130  0x00005d7a set1  0x00000006 , 0x0000003f 
+ 00032131  0x00005d7b hstore  0x00000001 , 0x00008203 
+ 00032132  0x00005d7c rtn 
+ 00032133  0x00005d7f hstore  0x00000002 , 0x00008205 
+ 00032134  0x00005d80 hjam  0x00000030 , 0x00008203 
+ 00032135  0x00005d81 rtn 
+ 00032136  0x00005d84 hfetch  0x00000001 , 0x00008043 
+ 00032137  0x00005d85 set1  0x00000004 , 0x0000003f 
+ 00032138  0x00005d86 hstore  0x00000001 , 0x00008043 
+ 00032139  0x00005d87 rtn 
+ 00032140  0x00005d8b hfetch  0x00000001 , 0x00008043 
+ 00032141  0x00005d8c set0  0x00000004 , 0x0000003f 
+ 00032142  0x00005d8d hstore  0x00000001 , 0x00008043 
+ 00032143  0x00005d8e rtn 
+ 00032144  0x00005d96 bpatchx  0x000000a7 , 0x00004034 
+ 00032145  0x00005d97 ifetcht  0x00000008 , 0x00000011 
+ 00032146  0x00005d98 and  0x00000002 , 0x000000ff , 0x0000003f 
+ 00032147  0x00005d99 nbranch  0x00007d96 , 0x00000034 
+ 00032148  0x00005d9a rshift8  0x00000002 , 0x0000003f 
+ 00032149  0x00005d9b istore  0x00000008 , 0x00000011 
+ 00032150  0x00005d9d increase  0x00000007 , 0x00000011 
+ 00032151  0x00005d9e ifetch  0x00000001 , 0x00000011 
+ 00032152  0x00005d9f nbranch  0x00004a8b , 0x00000034 
+ 00032153  0x00005da0 fetch  0x00000001 , 0x00000a95 
+ 00032154  0x00005da1 istore  0x00000001 , 0x00000011 
+ 00032155  0x00005da2 rtn 
+ 00032156  0x00005da8 bpatchx  0x000000a8 , 0x00004035 
+ 00032157  0x00005da9 arg  0x00000008 , 0x00000039 
+ 00032158  0x00005daa ifetch  0x00000008 , 0x00000011 
+ 00032159  0x00005dab rtn  0x00000034 
+ 00032160  0x00005dad ifetch  0x00000001 , 0x00000011 
+ 00032161  0x00005dae nbranch  0x00007da5 , 0x00000034 
+ 00032162  0x00005daf increase  0x00000001 , 0x00000011 
+ 00032163  0x00005db0 loop  0x00007da0 
+ 00032164  0x00005db1 branch  0x00004a8b 
+ 00032165  0x00005db3 arg  0x00000000 , 0x00000002 
+ 00032166  0x00005db4 istoret  0x00000001 , 0x00000011 
+ 00032167  0x00005db5 rtn 
+ 00032168  0x00005dbb ifetch  0x00000008 , 0x00000011 
+ 00032169  0x00005dbc rtn 
+ 00032170  0x00005dc2 ifetch  0x00000001 , 0x00000011 
+ 00032171  0x00005dc3 rtn 
+ 00032172  0x00005dc7 ifetch  0x00000002 , 0x00000011 
+ 00032173  0x00005dc8 rtn 
+ 00032174  0x00005dcd arg  0x00000000 , 0x00000002 
+ 00032175  0x00005dcf fetch  0x00000001 , 0x00000006 
+ 00032176  0x00005dd0 loop  0x00007daf , 0x00000034 
+ 00032177  0x00005dd1 increase  0x00000001 , 0x00000002 
+ 00032178  0x00005dd2 loop  0x00007daf 
+ 00032179  0x00005dd3 copy  0x00000002 , 0x0000003f 
+ 00032180  0x00005dd4 rtn 
+ 00032181  0x00005dd7 isub  0x00000002 , 0x0000003e 
+ 00032182  0x00005dd8 nrtn  0x00000002 
+ 00032183  0x00005dd9 copy  0x00000002 , 0x0000003f 
+ 00032184  0x00005dda rtn 
+ 00032185  0x00005dde force  0xffffffff , 0x0000003e 
+ 00032186  0x00005ddf rtn 
+ 00032187  0x00005de2 force  0x00000001 , 0x0000003e 
+ 00032188  0x00005de3 rtn 
+ 00032189  0x00005de5 force  0x00000000 , 0x0000003e 
+ 00032190  0x00005de6 rtn 
+ 00032191  0x00005de9 enable  0x00000028 
+ 00032192  0x00005dea rtn 
+ 00032193  0x00005ded disable  0x00000028 
+ 00032194  0x00005dee rtn 
+ 00032195  0x00005df1 enable  0x0000002c 
+ 00032196  0x00005df2 rtn 
+ 00032197  0x00005df5 disable  0x0000002c 
+ 00032198  0x00005df6 rtn 
+ 00032199  0x00005df9 setarg  0x00000001 
+ 00032200  0x00005dfa rtn 
+ 00032201  0x00005dfd setarg  0x00000000 
+ 00032202  0x00005dfe rtn 
+ 00032203  0x00005e02 copy  0x00000039 , 0x0000003f 
+ 00032204  0x00005e03 rtn  0x00000034 
+ 00032205  0x00005e04 copy  0x00000006 , 0x0000003f 
+ 00032206  0x00005e05 iadd  0x00000039 , 0x0000003f 
+ 00032207  0x00005e06 increase  0xffffffff , 0x0000003f 
+ 00032208  0x00005e07 copy  0x0000003f , 0x00000006 
+ 00032209  0x00005e09 ifetch  0x00000001 , 0x00000006 
+ 00032210  0x00005e0a increase  0xfffffffe , 0x00000006 
+ 00032211  0x00005e0b istore  0x00000001 , 0x00000005 
+ 00032212  0x00005e0c loop  0x00007dd1 
+ 00032213  0x00005e0d rtn 
Index: shoubing/output/bt_program23.list
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.list	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.list	(working copy)
@@ -0,0 +1,20231 @@
+              include "bt_format "
+              org 0x0000
+:      000063 p_start:
+0x0 000064 bbit1 8 ,pf_patch_ext 
+0x1 000066 beq patch00_1 ,p_soft_reset 
+0x2 000067 beq patch00_3 ,p_main_loop 
+0x3 000069 beq patch00_5 ,p_connection_incontext 
+0x4 000070 beq patch05_6 ,p_context_search 
+0x5 000072 beq patch0b_7 ,p_process_dmh_data_end1 
+0x6 000073 beq patch0c_0 ,p_process_dmh_data_end 
+0x7 000074 beq patch0b_5 ,p_process_dmh_data_l2cap_start_pkt 
+0x8 000075 beq patch0b_6 ,p_process_dmh_data_l2cap_continue_pkt 
+0x9 000076 beq patch0e_0 ,p_parse_l2cap 
+0xa 000078 beq patch0f_1 ,p_transmit_dmh 
+0xb 000079 beq patch07_5 ,p_slave_loop 
+0xc 000080 beq patch10_5 ,p_shutdown_radio 
+0xd 000081 beq patch11_1 ,p_set_freq_tx 
+0xe 000083 beq patch12_4 ,p_ahead_window 
+0xf 000084 beq patch14_2 ,p_init_param 
+0x10 000086 beq patch14_3 ,p_lpm_adjust_clk 
+0x11 000087 beq patch15_1 ,p_lpm_dispatch_next 
+0x12 000088 beq patch15_4 ,p_lpm_unconn_nossp 
+0x13 000091 beq patch17_0 ,p_module_init 
+0x14 000092 beq patch17_3 ,p_module_hci_cmd_control 
+0x15 000093 beq patch17_4 ,p_module_hci_cmd_transmit_le_notify 
+0x16 000094 beq patch17_6 ,p_hid_rx_process 
+0x17 000095 beq patch19_0 ,p_l2cap_proc_signal_connect_req 
+0x18 000096 beq patch1b_3 ,p_l2cap_malloc 
+0x19 000097 branch assert 
+:      000098 pf_patch_ext:
+0x1a 000100 beq patch20_3 ,p_le_receive_skip 
+0x1b 000101 beq patch20_5 ,p_le_transmit_receive_sifs 
+0x1c 000102 beq patch20_6 ,p_le_transmit 
+0x1d 000103 beq patch22_3 ,p_le_acknowledge 
+0x1e 000104 beq patch23_7 ,p_le_parse 
+0x1f 000105 beq patch24_1 ,p_le_parse_l2cap 
+0x20 000106 beq patch26_0 ,p_le_modified_name 
+0x21 000107 beq patch27_4 ,p_parse_lmp_accepted 
+0x22 000108 beq patch27_2 ,p_parse_lmp 
+0x23 000109 beq patch27_5 ,p_parse_lmp_not_accepted 
+0x24 000110 beq patch27_7 ,p_send_lmp_accepted 
+0x25 000111 beq patch27_6 ,p_send_lmp 
+0x26 000112 beq patch28_1 ,p_ssp_disable 
+0x27 000113 beq patch33_1 ,p_sp_initialize_256 
+0x28 000114 beq patch34_3 ,p_check_51cmd_once_continue 
+0x29 000115 branch assert 
+:      000116 p_check_51cmd_once_continue:
+0x2a 000117 call lmo_fifo_check 
+0x2b 000118 nbranch check_51cmd_restore ,blank 
+:      000119 p_check_51cmd_once_continue1:
+0x2c 000120 fetch 1 ,mem_fifo_temp 
+0x2d 000121 bmark0 mark_context ,check_51cmd_check_idle 
+0x2e 000122 beq bt_cmd_disconnect ,p_check_51cmd_disconnect 
+0x2f 000123 branch check_51cmd_once_continue + 3 
+:      000124 p_check_51cmd_disconnect:
+0x30 000126 jam lmp_detach ,mem_lmo_opcode2 
+0x31 000127 jam other_end_terminated ,mem_disconn_reason_send 
+0x32 000128 rtn 
+:      000129 p_context_search:
+0x33 000130 arg mem_context_new ,rega 
+0x34 000131 arg context_num_new ,loopcnt 
+0x35 000132 branch context_search_loop 
+:      000134 p_connection_incontext:
+0x36 000136 call context_search_insniff 
+0x37 000137 nbranch p_connection_nosniff ,zero 
+0x38 000138 call context_load 
+0x39 000139 add rega ,coffset_mode ,contr 
+0x3a 000140 ifetch 1 ,contr 
+0x3b 000141 bbit1 mode_le ,le_conn_dispatch 
+0x3c 000142 bbit1 mode_master ,master_dispatch 
+0x3d 000143 branch slave_dispatch 
+:      000144 p_connection_nosniff:
+0x3e 000145 call p_context_get_next 
+0x3f 000146 branch connection_nosniff + 1 
+:      000150 p_context_get_next:
+0x40 000151 arg context_num_new ,loopcnt 
+0x41 000152 fetcht 1 ,mem_current_context 
+:      000153 p_context_get_next_loop:
+0x42 000154 increase 1 ,temp 
+0x43 000155 compare context_num_new ,temp ,0xff 
+0x44 000156 nbranch p_context_get_next_cont ,true 
+0x45 000157 arg 0 ,temp 
+:      000158 p_context_get_next_cont:
+0x46 000159 storet 1 ,mem_current_context 
+0x47 000160 mul32 temp ,context_size ,pdata 
+0x48 000161 arg mem_context_new ,rega 
+0x49 000162 iadd rega ,rega 
+0x4a 000163 ifetch 1 ,rega 
+0x4b 000164 bbit1 state_insniff ,p_context_get_next_sniff 
+0x4c 000165 rtnbit1 state_inconn 
+0x4d 000166 rtnbit1 state_inpage 
+:      000167 p_context_get_next_sniff:
+0x4e 000168 loop p_context_get_next_loop 
+0x4f 000169 rtn 
+:      000172 p_parse_l2cap:
+0x50 000173 set0 mark_rxbuf_inuse ,mark 
+:      000174 p_parse_l2cap_cont:
+0x51 000175 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x52 000176 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x53 000177 rtn blank 
+0x54 000178 isolate1 l2cap_inuse_buff1 ,pdata 
+0x55 000179 arg mem_l2cap_rxbuff1 ,contr 
+0x56 000180 call process_rx_l2cap_pkt ,true 
+0x57 000182 fetch 1 ,mem_l2cap_rx_done 
+0x58 000183 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0x59 000185 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x5a 000186 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x5b 000187 rtnbit0 l2cap_inuse_buff2 
+0x5c 000188 arg mem_l2cap_rxbuff2_new ,contr 
+0x5d 000189 call process_rx_l2cap_pkt 
+0x5e 000190 fetch 1 ,mem_l2cap_rx_done 
+0x5f 000191 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0x60 000192 rtn 
+:      000195 p_process_dmh_data_l2cap_start_pkt:
+0x61 000197 bmark1 mark_old_packet ,ack_payload 
+0x62 000198 fetch 2 ,mem_len 
+0x63 000199 arg 0x1e0 ,temp 
+0x64 000200 isub temp ,null 
+0x65 000201 branch error_payload ,positive 
+0x66 000202 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x67 000203 bbit1 l2cap_inuse_buff2 ,end_of_packet 
+0x68 000204 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0x69 000205 bbit0 l2cap_inuse_buff2 ,p_process_dmh_data_into_buff2 
+0x6a 000206 branch end_of_packet 
+:      000208 p_process_dmh_data_into_buff2:
+0x6b 000209 jam 2 ,mem_l2cap_rxbuff_new 
+0x6c 000210 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x6d 000211 bne 0 ,end_of_packet 
+0x6e 000212 arg mem_l2cap_rxbuff2_new ,contw 
+0x6f 000213 branch process_dmh_data 
+:      000215 p_process_dmh_data_l2cap_continue_pkt:
+0x70 000217 bmark1 mark_old_packet ,ack_payload 
+0x71 000218 fetch 2 ,mem_len 
+0x72 000219 arg 0x1e0 ,temp 
+0x73 000220 isub temp ,null 
+0x74 000221 branch error_payload ,positive 
+0x75 000222 fetch 1 ,mem_l2cap_rxbuff_new 
+0x76 000223 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0x77 000224 beq 2 ,p_process_dmh_data_l2cap_continue_pkt2 
+0x78 000225 branch end_of_packet 
+:      000227 p_process_dmh_data_l2cap_continue_pkt2:
+0x79 000228 arg mem_l2cap_rxbuff2_new ,contw 
+0x7a 000229 branch process_dmh_data_l2cap_continue_pkt2 + 1 
+:      000231 p_process_dmh_data_end1:
+0x7b 000233 parse demod ,bucket ,16 
+0x7c 000234 branch error_payload_crc ,crc_failed 
+0x7d 000235 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+0x7e 000236 beq l2cap_flow_ctrl_enable ,error_payload_crc 
+0x7f 000237 branch process_dmh_data_end + 5 
+:      000239 p_process_dmh_data_end:
+0x80 000241 fetch 1 ,mem_l2cap_rxbuff_new 
+0x81 000242 beq 1 ,p_process_l2cap_pass_crc_buff1 
+0x82 000243 beq 2 ,p_process_l2cap_pass_crc_buff2 
+0x83 000244 branch assert 
+:      000246 p_process_l2cap_pass_crc_buff1:
+0x84 000247 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x85 000248 fetcht 2 ,mem_len 
+0x86 000249 iadd temp ,pdata 
+0x87 000250 store 2 ,mem_l2cap_rxbuff1_len 
+0x88 000251 beq 0 ,assert 
+0x89 000252 fetcht 2 ,mem_l2cap_rxbuff1 
+0x8a 000253 increase 4 ,temp 
+0x8b 000254 isub temp ,null 
+0x8c 000255 call l2cap_buff1_inuse ,zero 
+0x8d 000256 branch process_dmh_cont 
+:      000260 p_process_l2cap_pass_crc_buff2:
+0x8e 000261 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x8f 000262 fetcht 2 ,mem_len 
+0x90 000263 iadd temp ,pdata 
+0x91 000264 store 2 ,mem_l2cap_rxbuff2_len 
+0x92 000265 beq 0 ,assert 
+0x93 000266 fetcht 2 ,mem_l2cap_rxbuff2_new 
+0x94 000267 add temp ,4 ,temp 
+0x95 000268 isub temp ,null 
+0x96 000269 call l2cap_buff2_inuse ,zero 
+0x97 000270 branch process_dmh_cont 
+:      000273 p_l2cap_malloc:
+0x98 000275 arg 0 ,regb 
+0x99 000276 call l2cap_malloc_is_fifo_full + 1 
+0x9a 000278 nbranch assert ,blank 
+0x9b 000279 call l2cap_malloc_get_full_map 
+0x9c 000280 arg mem_tx_buff0_new ,regb 
+0x9d 000281 arg 0 ,queue 
+0x9e 000282 branch l2cap_malloc_loop 
+:      000292 p_transmit_dmh:
+0x9f 000293 fetch 2 ,mem_txptr 
+0xa0 000294 beq 0x018c ,transmit_noedr + 1 
+0xa1 000295 branch transmit_dmh + 1 
+:      000296 p_le_modified_name:
+0xa2 000297 call le_modified_name_att_list 
+0xa3 000298 branch p_le_modified_name_adv 
+:      000300 p_le_modified_name_adv:
+0xa4 000301 arg mem_le_scan_data_len + 32 ,regc 
+0xa5 000302 arg mem_le_scan_data ,rega 
+0xa6 000303 call le_modified_name_adv_and_scan 
+0xa7 000304 rtn 
+:      000305 p_l2cap_proc_signal_connect_req:
+0xa8 000306 copy temp ,pdata 
+0xa9 000307 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+0xaa 000308 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+0xab 000309 beq psm_hid_control ,p_l2cap_proc_signal_connect_req_hid_ctrl 
+0xac 000310 beq psm_hid_interrupt ,p_l2cap_proc_signal_connect_req_hid_int 
+0xad 000311 call l2cap_reject_command 
+0xae 000312 branch l2cap_proc_signal_connect_req_rtn 
+:      000314 p_l2cap_proc_signal_connect_req_hid_ctrl:
+0xaf 000316 call save_cont_pointers 
+0xb0 000317 arg l2cap_hid_control_channel ,temp 
+0xb1 000318 fetch 2 ,mem_hid_ctrl_remote_cid 
+0xb2 000319 nbranch already_connected ,blank 
+0xb3 000320 copy timeup ,pdata 
+0xb4 000321 store 2 ,mem_hid_ctrl_remote_cid 
+0xb5 000322 fetch 1 ,mem_hid_control_state 
+0xb6 000323 set1 l2cap_channel_state_conn_req ,pdata 
+0xb7 000324 set1 l2cap_channel_state_conn_res ,pdata 
+0xb8 000325 store 1 ,mem_hid_control_state 
+0xb9 000326 call send_connection_res 
+0xba 000327 jam bt_evt_hid_int_connect ,mem_fifo_temp 
+0xbb 000328 branch ui_ipc_send_event 
+:      000329 p_l2cap_proc_signal_connect_req_hid_int:
+0xbc 000331 call save_cont_pointers 
+0xbd 000332 deposit clke 
+0xbe 000333 arg l2cap_hid_interrupt_channel ,temp 
+0xbf 000334 fetch 2 ,mem_hid_int_remote_cid 
+0xc0 000335 nbranch already_connected ,blank 
+0xc1 000336 copy timeup ,pdata 
+0xc2 000337 store 2 ,mem_hid_int_remote_cid 
+0xc3 000338 fetch 1 ,mem_hid_interrupt_state 
+0xc4 000339 set1 l2cap_channel_state_conn_req ,pdata 
+0xc5 000340 set1 l2cap_channel_state_conn_res ,pdata 
+0xc6 000341 store 1 ,mem_hid_interrupt_state 
+0xc7 000342 call send_connection_res 
+0xc8 000343 jam bt_evt_hid_int_connect ,mem_fifo_temp 
+0xc9 000344 branch ui_ipc_send_event 
+:      000346 p_module_init:
+0xca 000347 setarg p_module_process_bb_event 
+0xcb 000348 store 2 ,mem_cb_bb_event_process 
+0xcc 000350 setarg p_module_bb_event_timer 
+0xcd 000351 store 2 ,mem_cb_event_timer 
+0xce 000353 setarg p_module_process_idle 
+0xcf 000354 store 2 ,mem_cb_idle_process 
+0xd0 000356 setarg p_module_le_receive_data 
+0xd1 000357 store 2 ,mem_cb_att_write 
+0xd2 000359 setarg p_module_lpm_lock 
+0xd3 000360 store 2 ,mem_cb_check_wakelock 
+0xd4 000362 setarg p_module_bt_conn_process 
+0xd5 000363 store 2 ,mem_cb_bt_process 
+0xd6 000365 call p_keyboard_ble_init 
+0xd7 000367 call module_lpm_uart_init 
+0xd8 000368 call module_gpio_init 
+0xd9 000369 call check_module_disabled 
+0xda 000374 branch module_hci_event_enter_standby_mode 
+:      000377 p_module_process_idle:
+0xdb 000378 call p_m_private_dispatch 
+0xdc 000379 call module_control_air_flow 
+0xdd 000380 call l2cap_malloc_is_fifo_full 
+0xde 000381 nrtn blank 
+0xdf 000382 branch p_module_process 
+:      000383 p_module_process:
+0xe0 000384 fetch 2 ,ipc_m02bt_read_ptr 
+0xe1 000385 fetcht 2 ,ipc_m02bt_write_ptr 
+0xe2 000386 isub temp ,null 
+0xe3 000387 branch module_process_with_credit ,zero 
+0xe4 000388 call uartd_prepare_rx 
+0xe5 000390 ifetch 1 ,contru 
+0xe6 000391 bne 0x01 ,module_hci_in_excp 
+0xe7 000392 ifetch 1 ,contru 
+0xe8 000393 beq hci_cmd_reset_sdp_service ,p_module_process_sdp 
+0xe9 000394 store 1 ,mem_module_uart_opcode 
+0xea 000395 ifetcht 1 ,contru 
+0xeb 000396 copy contru ,rega 
+0xec 000397 storet 1 ,mem_module_uart_len 
+0xed 000398 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0xee 000399 call module_hci_cmd_control 
+0xef 000400 fetch 1 ,mem_module_temp_nl_discard_packet 
+0xf0 000401 rtneq hci_not_discard_packet 
+0xf1 000402 branch module_hci_dicard_packet 
+:      000404 p_module_process_sdp:
+0xf2 000405 store 1 ,mem_module_uart_opcode 
+0xf3 000406 ifetcht 2 ,contru 
+0xf4 000407 copy contru ,rega 
+0xf5 000408 storet 2 ,mem_module_uart_len_new 
+0xf6 000409 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0xf7 000410 call module_hci_cmd_control 
+0xf8 000411 fetch 1 ,mem_module_temp_nl_discard_packet 
+0xf9 000412 rtneq hci_not_discard_packet 
+0xfa 000413 branch p_module_hci_dicard_packet 
+:      000415 p_module_hci_dicard_packet:
+0xfb 000416 call uartd_prepare_rx 
+0xfc 000417 increase 2 ,contru 
+0xfd 000418 ifetch 2 ,contru 
+0xfe 000419 iadd contru ,contru 
+0xff 000420 branch module_hci_dicard_bytes 
+:      000425 p_module_process_bb_event:
+0x100 000426 copy regc ,pdata 
+0x101 000428 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+0x102 000429 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+0x103 000430 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+0x104 000431 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+0x105 000432 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+0x106 000433 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+0x107 000434 beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+0x108 000435 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+0x109 000436 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+0x10a 000437 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+0x10b 000439 beq bt_evt_linkkey_generate ,classic_shutter_process_linkkey_generate 
+0x10c 000443 beq bt_evt_le_start_enc ,p_module_hci_event_start_enc 
+0x10d 000444 beq bt_evt_le_enc_info ,p_module_hci_event_enc_info 
+0x10e 000447 beq bt_evt_24g_pairing_complete ,p_module_hci_event_24g_pairing_complete 
+0x10f 000448 beq bt_evt_24g_attempt_fail ,p_module_hci_event_24g_attempt_fail 
+0x110 000449 beq bt_evt_24g_attempt_success ,p_module_hci_event_24g_attempt_success 
+0x111 000452 beq bt_evt_enter_sniff ,p_module_process_enter_sniff 
+0x112 000454 beq bt_evt_sniff_accept ,p_module_process_sniff_report 
+0x113 000455 beq bt_evt_sniff_report ,p_module_process_sniff_report 
+0x114 000456 beq bt_evt_hid_int_connect ,p_module_process_hid_int_connect 
+0x115 000458 branch module_process_bb_event + 1 
+:      000462 p_module_process_sniff_report:
+0x116 000463 setarg 0x02 
+0x117 000464 jam hci_event_hid_sniff_report ,mem_module_uart_opcode 
+0x118 000465 call module_hci_prepare_tx 
+0x119 000466 fetch 2 ,mem_tsniff 
+0x11a 000467 rshift pdata ,pdata 
+0x11b 000469 istore 2 ,contwu 
+0x11c 000470 branch uartd_send 
+:      000473 p_module_process_hid_int_connect:
+0x11d 000475 fetch 2 ,mem_ui_state_map 
+0x11e 000476 set1 ui_state_bt_hid_conn ,pdata 
+0x11f 000477 store 2 ,mem_ui_state_map 
+0x120 000478 setarg 0x02 
+0x121 000479 jam hci_event_hid_int_connect ,mem_module_uart_opcode 
+0x122 000480 call module_hci_prepare_tx 
+0x123 000481 fetcht 2 ,mem_hid_int_remote_cid 
+0x124 000482 istoret 2 ,contwu 
+0x125 000483 branch uartd_send 
+:      000485 p_module_process_enter_sniff:
+:      000487 p_module_sniff_param_check:
+0x126 000488 call module_spp_clear_last_transmite_clock 
+0x127 000491 fetch 2 ,mem_context + coffset_tsniff 
+0x128 000492 rshift pdata ,pdata 
+0x129 000493 fetcht 2 ,mem_sniff_param_interval 
+0x12a 000494 isub temp ,null 
+0x12b 000496 branch app_lpm_mult_enable 
+:      000497 p_module_sniff_param_check_unsniff:
+0x12c 000498 fetch 1 ,mem_module_flag 
+0x12d 000499 rtnbit1 moudle_task_unsniff 
+0x12e 000501 fetch 2 ,ipc_m02bt_read_ptr 
+0x12f 000502 fetcht 2 ,ipc_m02bt_write_ptr 
+0x130 000503 isub temp ,null 
+0x131 000504 ncall module_set_unsniff_task_flag ,zero 
+0x132 000505 branch app_bt_sniff_exit 
+:      000512 keyboard_start_bluetooth_discovery:
+0x133 000513 rtn 
+:      000515 keyboard_stop_bluetooth_discovery:
+0x134 000516 call app_bt_stop_discovery 
+0x135 000517 branch app_ble_stop_adv 
+:      000520 p_module_bb_event_timer:
+0x136 000522 call classic_shutter_check_unplug_timer 
+0x137 000523 call classic_shutter_hid_handshake_timer 
+0x138 000524 call classic_shutter_hid_disconn_timer 
+0x139 000526 rtn 
+:      000529 p_module_le_receive_data:
+0x13a 000530 fetcht 2 ,mem_le_att_handle 
+0x13b 000531 sub temp ,handle_uuid_chrctr_report_id1_output ,null 
+0x13c 000532 branch p_moudle_le_receive_data_report_output ,zero 
+0x13d 000533 rtn 
+:      000535 p_moudle_le_receive_data_report_output:
+0x13e 000536 ifetcht 1 ,rega 
+0x13f 000537 setarg 0x01 
+0x140 000538 store 1 ,mem_pdatatemp 
+0x141 000539 istoret 1 ,contw 
+0x142 000540 branch p_hid_rx_process_data_hid_kb 
+:      000542 p_module_lpm_lock:
+0x143 000543 branch module_lpm_lock 
+:      000545 p_module_bt_conn_process:
+0x144 000546 branch p_module_spp_enter_sniff 
+:      000548 p_module_spp_enter_sniff:
+0x145 000549 fetch 1 ,mem_btsniff 
+0x146 000550 rtn blank 
+0x147 000551 branch module_spp_enter_sniff + 1 
+:      000553 p_module_hci_cmd_control:
+0x148 000554 fetch 1 ,mem_module_uart_opcode 
+0x149 000555 beq hci_cmd_bt_disconnect ,p_module_hci_cmd_bt_disconnect 
+0x14a 000556 beq hci_cmd_set_cod ,p_module_hci_cmd_set_cod 
+0x14b 000557 beq hci_cmd_sleep ,p_module_hci_cmd_enter_sleep 
+0x14c 000558 beq hci_cmd_set_pairing_req ,p_module_hci_cmd_set_pairing_mode 
+0x14d 000559 beq hci_cmd_send_hid_data ,p_module_hci_cmd_send_hid_data 
+0x14e 000560 beq hci_cmd_send_hid_control_data ,p_module_hci_cmd_send_hid_control_data 
+0x14f 000563 beq hci_cmd_set_feature ,p_module_hci_cmd_reset_features 
+0x150 000564 beq hci_cmd_set_sniff ,p_module_set_bt_sniff 
+0x151 000565 beq hci_cmd_creat_bt_reconnect ,p_moudle_hci_cmd_creat_bt_reconnect 
+0x152 000567 beq hci_cmd_start_24g ,p_module_hci_cmd_start_24g 
+0x153 000568 beq hci_cmd_stop_24g ,p_module_hci_cmd_stop_24g 
+0x154 000569 beq hci_cmd_pair_24g ,p_module_hci_cmd_pair_24g 
+0x155 000570 beq hci_cmd_disconnected_24g ,p_module_hci_cmd_disconnected_24g 
+0x156 000571 beq hci_cmd_send_24g_data ,p_module_hci_cmd_send_24g_data 
+0x157 000573 beq hci_cmd_reset_sdp_service ,p_module_hci_cmd_set_sdp_service 
+0x158 000576 beq hci_cmd_delete_customize_service ,module_hci_cmd_delete_customize_service 
+0x159 000577 beq hci_cmd_add_service_uuid ,module_hci_cmd_add_service_uuid 
+0x15a 000578 beq hci_cmd_add_characteristic_uuid ,module_hci_cmd_add_characteristic_uuid 
+0x15b 000579 beq hci_cmd_switch_wakeup ,module_hci_cmd_switch_wakeup 
+0x15c 000580 branch module_hci_cmd_control + 2 
+:      000582 p_module_set_bt_sniff:
+0x15d 000584 ifetch 1 ,contru 
+0x15e 000585 store 1 ,mem_btsniff 
+0x15f 000586 branch module_hci_event_receive_valid_cmd ,blank 
+0x160 000587 ifetch 2 ,contru 
+0x161 000588 store 2 ,mem_sniff_param_interval 
+0x162 000589 branch module_hci_event_receive_valid_cmd 
+:      000592 p_module_hci_cmd_reset_features:
+0x163 000593 ifetch 8 ,contru 
+0x164 000594 store 8 ,mem_features 
+0x165 000595 branch module_hci_event_receive_valid_cmd 
+:      000598 module_hci_cmd_switch_wakeup:
+0x166 000599 ifetch 2 ,contru 
+0x167 000601 ifetch 6 ,contru 
+0x168 000602 store 6 ,mem_hci_plap 
+0x169 000605 ifetch 4 ,contru 
+0x16a 000606 store 4 ,mem_m_wake_data 
+0x16b 000608 ifetcht 4 ,contru 
+0x16c 000609 setarg -1 
+0x16d 000610 ixor temp ,pdata 
+0x16e 000611 store 4 ,mem_m_access_code 
+0x16f 000613 ifetch 4 ,contru 
+0x170 000614 store 4 ,mem_m_access_code + 4 
+0x171 000616 arg mem_link_key ,contw 
+0x172 000617 arg 16 ,loopcnt 
+0x173 000618 call uart_copy_rx_bytes 
+0x174 000622 jam 1 ,mem_m_process_enable 
+0x175 000625 setarg 60 
+0x176 000626 store 2 ,mem_m_wake_send_window 
+0x177 000628 call p_m_send_wake_data_timer_init 
+0x178 000629 branch module_hci_event_receive_valid_cmd 
+:      000632 module_hci_cmd_delete_customize_service:
+0x179 000633 arg 0x000c ,temp 
+0x17a 000634 call le_att_get_handle_ptr2 
+0x17b 000635 add contr ,-2 ,contw 
+0x17c 000636 setarg 0x0000 
+0x17d 000637 istore 2 ,contw 
+0x17e 000638 branch module_hci_event_receive_valid_cmd 
+:      000640 module_hci_cmd_add_service_uuid:
+0x17f 000641 call module_hci_cmd_add_service_uuid_set_uuid 
+0x180 000642 call uart_copy_rx_bytes_len_data 
+0x181 000643 setarg 0x0000 
+0x182 000644 istore 2 ,contw 
+0x183 000645 branch module_hci_event_uuid_handle 
+:      000647 module_hci_cmd_add_characteristic_uuid:
+0x184 000648 ifetch 1 ,contru 
+0x185 000649 call module_hci_cmd_add_characteristic_uuid_set_handle 
+0x186 000650 call module_hci_cmd_add_characteristic_uuid_set_uuid 
+0x187 000651 branch module_hci_event_uuid_handle 
+:      000653 module_hci_cmd_add_service_uuid_set_uuid:
+0x188 000654 call le_att_creat_new_handle 
+0x189 000655 setarg 0x280002 
+0x18a 000656 istore 3 ,contw 
+0x18b 000657 rtn 
+:      000659 module_hci_cmd_add_characteristic_uuid_set_handle:
+0x18c 000660 store 1 ,mem_pdatatemp 
+0x18d 000661 call le_att_creat_new_handle 
+0x18e 000662 setarg 0x01280302 
+0x18f 000663 istore 4 ,contw 
+0x190 000664 fetch 1 ,mem_pdatatemp 
+0x191 000665 istore 3 ,contw 
+0x192 000666 rtn 
+:      000668 module_hci_cmd_add_characteristic_uuid_set_uuid:
+0x193 000669 call le_att_creat_new_handle 
+0x194 000670 call uart_copy_rx_bytes_len_data 
+0x195 000671 call uart_copy_rx_bytes_len_data 
+0x196 000672 setarg 0 
+0x197 000673 istore 2 ,contw 
+0x198 000674 increase -1 ,temp 
+0x199 000675 call le_att_get_handle_ptr2 
+0x19a 000676 add contr ,4 ,contr 
+0x19b 000677 ifetch 1 ,contr 
+0x19c 000678 bbit1 bit_characteristic_notify ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+0x19d 000679 bbit1 bit_characteristic_indicate ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+0x19e 000680 increase 1 ,temp 
+0x19f 000681 rtn 
+:      000683 module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+0x1a0 000684 call le_att_creat_new_handle 
+0x1a1 000685 setarg 0x02290202 
+0x1a2 000686 istore 8 ,contw 
+0x1a3 000687 increase -1 ,temp 
+0x1a4 000688 rtn 
+:      000691 uart_copy_rx_bytes_len_data:
+0x1a5 000692 ifetch 1 ,contru 
+0x1a6 000693 copy pdata ,loopcnt 
+0x1a7 000694 istore 1 ,contw 
+0x1a8 000695 branch uart_copy_rx_bytes 
+:      000698 le_att_creat_new_handle:
+0x1a9 000699 call le_att_get_last_handle 
+0x1aa 000700 istoret 2 ,contw 
+0x1ab 000701 rtn 
+:      000705 le_att_get_last_handle:
+0x1ac 000706 fetch 2 ,mem_ui_le_uuid_table 
+0x1ad 000707 iforce contr 
+:      000708 le_att_get_last_handle_loop:
+0x1ae 000709 ifetch 2 ,contr 
+0x1af 000710 rtn blank 
+0x1b0 000711 add pdata ,1 ,temp 
+0x1b1 000712 ifetch 1 ,contr 
+0x1b2 000713 iadd contr ,contr 
+0x1b3 000714 ifetch 1 ,contr 
+0x1b4 000715 iadd contr ,contr 
+0x1b5 000716 copy contr ,contw 
+0x1b6 000717 branch le_att_get_last_handle_loop 
+:      000721 module_hci_event_uuid_handle:
+0x1b7 000722 storet 2 ,mem_temp 
+0x1b8 000723 jam hci_event_uuid_handle ,mem_module_uart_opcode 
+0x1b9 000724 setarg 2 
+0x1ba 000725 call module_hci_prepare_tx 
+0x1bb 000726 fetcht 2 ,mem_temp 
+0x1bc 000727 istoret 2 ,contwu 
+0x1bd 000728 branch uartd_send 
+:      000734 p_module_hci_cmd_set_sdp_service:
+0x1be 000735 fetch 2 ,mem_module_uart_len_new 
+0x1bf 000736 copy pdata ,loopcnt 
+0x1c0 000737 arg mem_module_uuid_list ,contw 
+0x1c1 000738 call uart_copy_rx_bytes 
+0x1c2 000739 branch module_hci_event_receive_valid_cmd 
+:      000745 p_module_hci_cmd_bt_disconnect:
+0x1c3 000746 fetch 2 ,mem_ui_state_map 
+0x1c4 000747 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+0x1c5 000748 call module_hci_event_receive_valid_cmd 
+0x1c6 000749 call app_bt_disconnect 
+0x1c7 000750 fetch 2 ,mem_ui_state_map 
+0x1c8 000751 rtnbit0 ui_state_bt_hid_conn 
+0x1c9 000752 jam hci_event_bt_hid_disconnect ,mem_module_uart_opcode 
+0x1ca 000753 branch module_hci_event_enter_standby_mode_len0 
+:      000756 p_module_hci_cmd_set_cod:
+0x1cb 000757 fetch 1 ,mem_module_uart_len 
+0x1cc 000758 bne 3 ,module_hci_event_receive_valid_cmd 
+0x1cd 000759 ifetch 3 ,contru 
+0x1ce 000760 store 3 ,mem_class 
+0x1cf 000761 branch module_hci_event_receive_valid_cmd 
+:      000763 p_module_hci_cmd_set_pairing_mode:
+0x1d0 000764 copy rega ,contru 
+0x1d1 000765 ifetch 1 ,contru 
+0x1d2 000766 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x1d3 000767 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x1d4 000768 beq pairing_passkey ,module_hci_pairing_passkey 
+0x1d5 000769 beq pairing_confirm ,p_module_hci_pairing_numeric_comparison 
+0x1d6 000770 branch module_hci_event_receive_invalid_cmd 
+:      000771 p_module_hci_pairing_numeric_comparison:
+0x1d7 000772 setarg 0x000001 
+0x1d8 000773 branch module_hci_sspairing_mode 
+:      000776 p_module_hci_cmd_enter_sleep:
+0x1d9 000777 call module_hci_event_receive_valid_cmd 
+0x1da 000778 branch app_enter_hibernate 
+:      000781 p_module_hci_cmd_send_hid_data:
+0x1db 000782 fetch 2 ,mem_ui_state_map 
+0x1dc 000783 bbit1 ui_state_bt_hid_conn ,bt_keyboard_send_hid_int_data 
+0x1dd 000785 branch module_hci_event_receive_invalid_cmd 
+:      000790 bt_keyboard_send_hid_int_data:
+0x1de 000791 call l2cap_malloc_is_fifo_nearly_full 
+0x1df 000792 nrtn blank 
+0x1e0 000793 fetch 1 ,mem_module_uart_len 
+0x1e1 000794 copy pdata ,rega 
+0x1e2 000795 call hid_malloc_tx_buff 
+0x1e3 000796 fetch 2 ,mem_hid_int_remote_cid 
+0x1e4 000797 istore 2 ,contw 
+0x1e5 000798 fetch 1 ,mem_module_uart_len 
+0x1e6 000799 copy pdata ,loopcnt 
+0x1e7 000800 call uart_copy_rx_bytes 
+0x1e8 000801 branch module_hci_event_receive_valid_cmd 
+:      000803 p_module_hci_cmd_send_hid_control_data:
+0x1e9 000804 fetch 2 ,mem_ui_state_map 
+0x1ea 000805 bbit1 ui_state_bt_hid_conn ,bt_keyboard_send_hid_control_data 
+0x1eb 000807 branch module_hci_event_receive_invalid_cmd 
+:      000808 bt_keyboard_send_hid_control_data:
+0x1ec 000809 call l2cap_malloc_is_fifo_nearly_full 
+0x1ed 000810 nrtn blank 
+0x1ee 000811 fetch 1 ,mem_module_uart_len 
+0x1ef 000812 copy pdata ,rega 
+0x1f0 000813 call hid_malloc_tx_buff 
+0x1f1 000814 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x1f2 000815 istore 2 ,contw 
+0x1f3 000816 fetch 1 ,mem_module_uart_len 
+0x1f4 000817 copy pdata ,loopcnt 
+0x1f5 000818 call uart_copy_rx_bytes 
+0x1f6 000819 branch module_hci_event_receive_valid_cmd 
+:      000825 p_module_hci_cmd_transmit_le_notify:
+0x1f7 000826 add temp ,-3 ,pdata 
+0x1f8 000827 arg 200 ,temp 
+0x1f9 000828 call not_greater_than 
+0x1fa 000829 fetcht 1 ,mem_module_hci_notify_len 
+0x1fb 000830 call not_greater_than 
+0x1fc 000831 copy pdata ,rega 
+0x1fd 000832 copy temp ,pdata 
+0x1fe 000833 isub rega ,pdata 
+0x1ff 000834 store 1 ,mem_module_hci_notify_len 
+0x200 000835 fetcht 2 ,mem_module_hci_notify_handle 
+0x201 000836 increase -1 ,temp 
+0x202 000837 call le_att_get_handle_ptr2 
+0x203 000838 branch p_module_hci_cmd_transmit_handle_error ,blank 
+0x204 000839 ifetcht 4 ,contr 
+0x205 000840 setarg 0x01280302 
+0x206 000841 isub temp ,null 
+0x207 000842 nbranch p_module_hci_cmd_transmit_handle_error ,zero 
+0x208 000843 ifetch 1 ,contr 
+0x209 000844 bbit1 bit_characteristic_notify ,module_hci_cmd_transmit_le_notify + 13 
+0x20a 000845 branch p_module_hci_cmd_transmit_handle_error 
+:      000847 p_module_hci_cmd_transmit_handle_error:
+0x20b 000848 jam 0 ,mem_module_hci_notify_len 
+0x20c 000849 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x20d 000850 call module_clear_le_tx_data_flag 
+0x20e 000851 branch module_hci_event_receive_invalid_cmd 
+:      000853 p_parse_lmp_accepted:
+0x20f 000854 fetch 1 ,mem_rxbuf + 1 
+0x210 000855 store 1 ,mem_lmi_accepted_opcode 
+0x211 000856 beq lmp_host_connection_req ,p_parse_lmp_accepted_hostconn 
+0x212 000857 branch parse_lmp_accepted + 2 
+:      000859 p_parse_lmp_accepted_hostconn:
+0x213 000862 fetch 1 ,mem_lmp_conn_state 
+0x214 000863 set1 received_conn_req ,pdata 
+0x215 000864 store 1 ,mem_lmp_conn_state 
+0x216 000865 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x217 000866 call ui_ipc_send_event 
+0x218 000872 jam 3 ,mem_connection_options 
+0x219 000873 jam conn_sm_auth_pair ,mem_conn_sm 
+0x21a 000874 jam 1 ,mem_link_key_exists 
+0x21b 000875 jam reconnect_hid ,memui_reconnect_mode 
+0x21c 000876 rtn 
+:      000880 p_parse_lmp:
+0x21d 000881 fetch 1 ,mem_lmi_opcode2 
+0x21e 000882 beq lmp_encryption_key_size_req ,p_parse_lmp_crypt_key 
+0x21f 000883 beq lmp_sniff_req ,p_parse_lmp_sniff_req 
+0x220 000885 branch parse_lmp + 21 
+:      000897 parse_lmp_quality_of_service_req:
+0x221 000898 jam lmp_quality_of_service_req ,mem_lmi_opcode2 
+0x222 000899 jam lmp_accepted ,mem_lmo_opcode2 
+0x223 000900 rtn 
+:      000902 p_parse_lmp_crypt_key:
+0x224 000903 fetcht 1 ,mem_rxbuf + 1 
+0x225 000904 sub temp ,6 ,null 
+0x226 000905 branch reject_lmp_packet_pdu_not_allowed ,positive 
+0x227 000906 branch parse_lmp_crypt_key + 1 
+:      000908 reject_lmp_packet_pdu_not_allowed:
+0x228 000909 jam pdu_not_allowed ,mem_lmo_reason2 
+0x229 000910 branch reject_lmp_packet 
+:      000912 p_parse_lmp_sniff_req:
+0x22a 000913 fetch 2 ,mem_rxbuf + 6 
+0x22b 000914 branch lmp_reject_sniff ,blank 
+0x22c 000917 branch parse_lmp_sniff_req + 5 
+:      000920 p_parse_lmp_not_accepted:
+0x22d 000921 fetch 1 ,mem_rxbuf + 1 
+0x22e 000922 store 1 ,mem_lmi_accepted_opcode 
+0x22f 000923 beq lmp_au_rand ,p_parse_lmp_not_accepted_aurand 
+0x230 000924 branch parse_lmp_not_accepted + 3 
+:      000926 p_parse_lmp_not_accepted_aurand:
+0x231 000928 call parse_lmp_not_accepted_aurand 
+0x232 000929 fetch 1 ,mem_conn_sm 
+0x233 000930 rtnne conn_sm_auth_wait 
+0x234 000931 jam hci_event_bt_reconnect_fail ,mem_module_uart_opcode 
+0x235 000932 setarg 1 
+0x236 000933 call module_hci_prepare_tx 
+0x237 000934 setarg 0x01 
+0x238 000935 istore 1 ,contwu 
+0x239 000936 branch uartd_send 
+:      000940 p_send_lmp_accepted:
+0x23a 000941 fetch 1 ,mem_lmi_opcode 
+0x23b 000942 beq lmp_sniff_req ,p_send_lmp_accept_sniff_req 
+0x23c 000943 branch send_lmp_accepted + 7 
+:      000945 p_send_lmp_accept_sniff_req:
+0x23d 000946 jam bt_evt_sniff_report ,mem_fifo_temp 
+0x23e 000947 call ui_ipc_send_event 
+0x23f 000948 branch sniff_init 
+:      000950 p_send_lmp:
+0x240 000951 disable user 
+0x241 000952 call lmo_fifo_process 
+0x242 000953 fetch 1 ,mem_lmp_to_send 
+0x243 000954 rtn blank 
+0x244 000956 fetcht 2 ,mem_test_ptr 
+0x245 000957 istore 1 ,temp 
+0x246 000958 increase 1 ,temp 
+0x247 000959 storet 2 ,mem_test_ptr 
+0x248 000962 bbit1 7 ,p_send_lmp_escape 
+0x249 000963 beq lmp_sniff_req ,p_send_lmp_sniff_req 
+0x24a 000964 beq lmp_m_test_req ,p_send_lmp_opcode_00 
+0x24b 000965 beq lmp_detach ,p_send_lmp_detch 
+0x24c 000966 branch send_lmp0 
+:      000968 p_send_lmp_detch:
+0x24d 000970 force 2 ,pdata 
+0x24e 000971 call msg_send_lmp 
+0x24f 000972 fetch 1 ,mem_disconn_reason_send 
+0x250 000973 istore 1 ,contw 
+0x251 000974 call send_lmp_request 
+:      000975 p_prepare_disconnect:
+0x252 000976 fetch 1 ,mem_op 
+0x253 000977 set1 op_disconn ,pdata 
+0x254 000978 store 1 ,mem_op 
+0x255 000979 jam 50 ,mem_conn_timer 
+0x256 000980 rtn 
+:      000981 p_send_lmp_sniff_req:
+0x257 000982 fetch 1 ,mem_btsniff 
+0x258 000983 branch p_clear_lpm_flag ,blank 
+0x259 000984 branch send_lmp_sniff_req 
+:      000985 p_clear_lpm_flag:
+0x25a 000986 jam 0 ,mem_lmp_to_send 
+0x25b 000987 rtn 
+:      000990 p_send_lmp_escape:
+0x25c 000991 beq lmp_ext_features_res ,p_send_lmpext_features_res 
+0x25d 000992 beq lmp_ext_features_req ,p_send_lmpext_features_req 
+0x25e 000993 branch send_lmp_escape 
+:      000995 p_send_lmpext_features_res:
+0x25f 000996 call p_check_ssp_enable 
+0x260 000997 fetch 1 ,mem_lmp_to_send 
+0x261 000998 branch send_lmpext_features_res 
+:      000999 p_send_lmpext_features_req:
+0x262 001000 call p_check_ssp_enable 
+0x263 001001 fetch 1 ,mem_lmp_to_send 
+0x264 001002 branch send_lmpext_features_req 
+:      001004 p_check_ssp_enable:
+0x265 001005 fetch 1 ,mem_ssp_enable 
+0x266 001006 branch ssp_disable ,blank 
+0x267 001007 branch ssp_enable 
+:      001009 p_ssp_disable:
+0x268 001010 fetch 1 ,mem_features + 6 
+0x269 001011 set0 param_featrue_ssp ,pdata 
+0x26a 001012 store 1 ,mem_features + 6 
+0x26b 001013 setarg 0x1 
+0x26c 001014 store 2 ,mem_lmpext_ssp_enable 
+0x26d 001015 rtn 
+:      001018 p_sp_initialize_256:
+0x26e 001019 fetch 1 ,mem_le_secure_connect_enable 
+0x26f 001020 branch le_secure_connection_disable ,blank 
+0x270 001022 call sp_clear_flags 
+0x271 001023 branch sp_pubkey_calc_256 
+:      001026 eut_read_otp_data:
+0x272 001027 fetch 1 ,mem_module_state 
+0x273 001028 set1 module_read_otp_bit ,pdata 
+0x274 001029 store 1 ,mem_module_state 
+0x275 001031 arg 0x00 ,addhi 
+0x276 001032 arg 0x8973 ,contr 
+0x277 001033 ifetch 1 ,contr 
+0x278 001034 set1 6 ,pdata 
+0x279 001035 arg 0x8973 ,contw 
+0x27a 001036 istore 1 ,contw 
+0x27b 001038 arg 0x0f ,addhi 
+0x27c 001040 arg 6 ,loopcnt 
+0x27d 001041 arg 2 ,regb 
+0x27e 001042 arg mem_read_otp_data ,rega 
+0x27f 001044 call eut_read_otp 
+0x280 001047 arg 20 ,loopcnt 
+0x281 001048 arg 0x12c ,regb 
+0x282 001049 arg mem_read_otp_data + 6 ,rega 
+0x283 001050 call eut_read_otp 
+0x284 001052 arg 2 ,loopcnt 
+0x285 001053 arg 0x1ffe ,regb 
+0x286 001054 arg mem_read_otp_data + 26 ,rega 
+0x287 001055 call eut_read_otp 
+0x288 001057 call eut_otp_deselect 
+0x289 001059 arg 0x00 ,addhi 
+0x28a 001060 arg 0x8973 ,contr 
+0x28b 001061 ifetch 1 ,contr 
+0x28c 001062 set0 6 ,pdata 
+0x28d 001063 arg 0x8973 ,contw 
+0x28e 001064 istore 1 ,contw 
+0x28f 001066 arg 0x00 ,addhi 
+0x290 001068 fetch 1 ,mem_module_state 
+0x291 001069 set0 module_read_otp_bit ,pdata 
+0x292 001070 store 1 ,mem_module_state 
+0x293 001071 rtn 
+:      001074 eut_read_otp:
+0x294 001075 lshift3 regb ,regb 
+0x295 001076 call eut_otp_ce 
+0x296 001077 call eut_otp_readen 
+:      001078 eut_read_otp_loop:
+0x297 001079 call eut_write_otpaddr 
+0x298 001080 fetch 1 ,sec_otp_data 
+0x299 001081 istore 1 ,rega 
+0x29a 001082 increase 8 ,regb 
+0x29b 001083 increase 1 ,rega 
+0x29c 001084 loop eut_read_otp_loop 
+0x29d 001085 rtn 
+:      001087 eut_otp_ce:
+0x29e 001088 setarg 0x20c 
+0x29f 001089 call eut_write_otpctrl 
+0x2a0 001090 setarg 0x208 
+0x2a1 001091 call eut_write_otpctrl 
+0x2a2 001092 setarg 0x200 
+0x2a3 001093 call eut_write_otpctrl 
+0x2a4 001094 setarg 0x208 
+0x2a5 001095 branch eut_write_otpctrl 
+:      001097 eut_write_otpctrl:
+0x2a6 001098 arg sec_otp_ctrl ,contw 
+:      001099 eut_write_word:
+0x2a7 001100 istore 1 ,contw 
+0x2a8 001101 rshift8 pdata ,pdata 
+0x2a9 001102 istore 1 ,contw 
+0x2aa 001103 rtn 
+:      001105 eut_otp_readen:
+0x2ab 001106 setarg 0x288 
+0x2ac 001107 branch eut_write_otpctrl 
+:      001110 eut_write_otpaddr:
+0x2ad 001111 deposit regb 
+0x2ae 001112 arg sec_otp_addr ,contw 
+0x2af 001113 branch eut_write_word 
+:      001115 eut_otp_deselect:
+0x2b0 001116 setarg 0x20c 
+0x2b1 001117 branch eut_write_otpctrl 
+:      001119 p_otp_custom_encryption_data_add_loop:
+0x2b2 001120 arg 13 ,loopcnt 
+0x2b3 001121 arg otp_init_val ,temp 
+0x2b4 001122 arg mem_read_otp_data ,contr 
+:      001123 p_otp_custom_add:
+0x2b5 001124 ifetch 2 ,contr 
+0x2b6 001125 iadd temp ,pdata 
+0x2b7 001126 copy pdata ,temp 
+0x2b8 001127 loop p_otp_custom_add 
+0x2b9 001128 rtn 
+:      001130 p_otp_custom_encryption_data_xor_loop:
+0x2ba 001131 arg 13 ,loopcnt 
+0x2bb 001132 arg mem_read_otp_data ,contr 
+:      001133 p_otp_custom_xor:
+0x2bc 001134 ifetch 2 ,contr 
+0x2bd 001135 ixor temp ,pdata 
+0x2be 001136 copy pdata ,temp 
+0x2bf 001137 loop p_otp_custom_xor 
+0x2c0 001138 rtn 
+:      001140 p_otp_judge_set_flag:
+0x2c1 001141 jam 0 ,mem_en_24g_flag 
+0x2c2 001142 arg 0xffff ,temp 
+0x2c3 001143 iand temp ,pdata 
+0x2c4 001144 arg mem_read_otp_data + 26 ,contr 
+0x2c5 001145 ifetcht 2 ,contr 
+0x2c6 001146 isub temp ,null 
+0x2c7 001147 nrtn zero 
+0x2c8 001148 jam 1 ,mem_en_24g_flag 
+0x2c9 001149 rtn 
+:      001151 p_check_otp_shaomaqiang_app:
+0x2ca 001152 call eut_read_otp_data 
+0x2cb 001153 call p_otp_custom_encryption_data_add_loop 
+0x2cc 001154 call p_otp_custom_encryption_data_xor_loop 
+0x2cd 001155 call p_otp_judge_set_flag 
+0x2ce 001156 fetch 1 ,mem_en_24g_flag 
+0x2cf 001157 compare 1 ,pdata ,0xff 
+0x2d0 001158 rtn true 
+0x2d1 001159 branch assert 
+:      001162 p_m_private_dispatch:
+0x2d2 001163 fetch 1 ,mem_m_process_enable 
+0x2d3 001164 rtn blank 
+0x2d4 001165 branch p_m_send_wake_data_process 
+:      001168 p_m_send_wake_data_init:
+0x2d5 001169 jam 1 ,mem_m_process_enable 
+0x2d6 001172 setarg 60 
+0x2d7 001173 store 2 ,mem_m_wake_send_window 
+:      001175 p_m_send_wake_data_timer_init:
+0x2d8 001177 setarg 160 
+0x2d9 001178 force m_wake_timer ,queue 
+0x2da 001179 branch timer_init 
+:      001182 p_m_send_wake_data_process:
+0x2db 001183 force m_wake_timer ,queue 
+0x2dc 001184 call timer_check 
+0x2dd 001185 nrtn blank 
+0x2de 001187 call fetch_page_bt_adr 
+0x2df 001190 call p_m_access_code_generate 
+0x2e0 001192 call p_m_send_wake_data_timer_init 
+:      001193 p_m_send_wake_data_start:
+0x2e1 001194 fetcht 2 ,mem_m_wake_send_window 
+0x2e2 001195 disable swfine 
+0x2e3 001196 copy temp ,stop_watch 
+:      001198 p_m_send_wake_data_restart:
+0x2e4 001199 branch p_m_wait_remote_signal_packet ,timeout 
+0x2e5 001205 call set_sync_on 
+0x2e6 001207 arg 0 ,temp 
+0x2e7 001208 call set_freq_tx 
+0x2e8 001209 call start_transmitter 
+0x2e9 001210 call p_m_transmit_packet 
+0x2ea 001211 call end_of_packet 
+0x2eb 001213 nop 5000 
+0x2ec 001214 branch p_m_send_wake_data_restart 
+0x2ed 001215 rtn 
+:      001219 p_m_lap_generate:
+0x2ee 001220 fetch 9 ,mem_m_access_code 
+0x2ef 001224 rshift32 pdata ,pdata 
+0x2f0 001225 rshift2 pdata ,pdata 
+0x2f1 001226 store 3 ,mem_tmp0 
+0x2f2 001227 fetchr lap ,3 ,mem_tmp0 
+0x2f3 001228 rtn 
+:      001231 p_m_access_code_generate:
+0x2f4 001232 call p_m_lap_generate 
+0x2f5 001233 fetch 9 ,mem_m_access_code 
+0x2f6 001236 fetcht 8 ,mem_m_p_sequence 
+0x2f7 001237 ixor temp ,pdata 
+0x2f8 001241 store 8 ,mem_tmp0 
+0x2f9 001242 fetch 5 ,mem_tmp0 
+0x2fa 001244 enable le 
+0x2fb 001245 iforce access 
+0x2fc 001246 disable le 
+0x2fd 001248 rtn 
+:      001252 p_m_transmit_packet_access_and_header:
+0x2fe 001253 call send_access_word 
+:      001255 p_m_transmit_packet_header:
+0x2ff 001259 disable enable_white 
+0x300 001260 enable enable_hec 
+0x301 001261 enable encode_fec1 
+0x302 001262 fetch 2 ,mem_m_snd_op 
+0x303 001263 inject mod ,10 
+0x304 001264 enable enable_parity 
+0x305 001265 inject mod ,8 
+0x306 001266 disable encode_fec1 
+0x307 001267 disable enable_parity 
+0x308 001268 disable enable_hec 
+0x309 001269 set0 psk3m ,radio_ctrl 
+0x30a 001270 rtn 
+:      001273 p_m_transmit_packet:
+0x30b 001274 setarg 0x078 
+0x30c 001275 store 2 ,mem_m_snd_op 
+0x30d 001276 call p_m_transmit_packet_access_and_header 
+:      001278 p_m_transmit_wake_packet_payload:
+0x30e 001280 enable encode_fec0 
+0x30f 001281 disable encrypt 
+0x310 001282 enable enable_crc 
+0x311 001285 setarg 0x0A98 
+0x312 001286 inject mod ,16 
+0x313 001289 arg 80 ,loopcnt 
+:      001290 p_m_transmit_wake_packet_payload_data_loop0:
+0x314 001291 fetch 4 ,mem_m_wake_data 
+0x315 001292 inject mod ,32 
+0x316 001293 loop p_m_transmit_wake_packet_payload_data_loop0 
+0x317 001296 arg 19 ,loopcnt 
+:      001297 p_m_transmit_wake_packet_payload_data_loop1:
+0x318 001298 setarg 0x00 
+0x319 001299 inject mod ,8 
+0x31a 001300 loop p_m_transmit_wake_packet_payload_data_loop1 
+:      001302 p_m_transmit_wake_packet_payload_data_end:
+0x31b 001303 enable enable_parity 
+0x31c 001304 inject mod ,16 
+0x31d 001305 disable enable_parity 
+0x31e 001306 rtn 
+:      001309 p_m_wait_remote_signal_packet:
+0x31f 001310 fetcht 2 ,mem_m_wake_send_window 
+0x320 001311 disable swfine 
+0x321 001312 copy temp ,stop_watch 
+0x322 001315 disable clknt 
+0x323 001316 disable attempt 
+0x324 001319 arg 0 ,temp 
+0x325 001320 call set_freq_rx 
+0x326 001321 call start_receiver 
+0x327 001322 call wait_access_forever 
+0x328 001323 nbranch end_of_packet ,sync 
+:      001326 p_m_receive_packet_header:
+0x329 001327 disable enable_white 
+0x32a 001328 enable enable_hec 
+0x32b 001329 enable decode_fec1 
+0x32c 001330 parse demod ,bucket ,10 
+0x32d 001331 rshift pwindow ,pdata 
+0x32e 001332 store 2 ,mem_m_rcv_op 
+0x32f 001333 parse demod ,bucket ,8 
+0x330 001334 disable decode_fec1 
+0x331 001335 disable enable_hec 
+:      001337 p_m_receive_packet_payload:
+0x332 001339 branch end_of_packet ,crc_failed 
+0x333 001341 arg 18 ,loopcnt 
+0x334 001342 arg mem_m_process_sync_buffer ,contw 
+:      001347 p_m_receive_packet_payload_raw:
+0x335 001348 enable decode_fec2 
+0x336 001350 enable enable_crc 
+:      001351 p_m_process_payload_data:
+0x337 001352 parse demod ,bucket ,8 
+0x338 001353 rshift3 pwindow ,pdata 
+0x339 001354 istore 1 ,contw 
+0x33a 001355 loop p_m_process_payload_data 
+:      001356 p_m_process_payload_data_end:
+0x33b 001357 parse demod ,bucket ,16 
+0x33c 001359 call end_of_packet 
+0x33d 001360 rtn crc_failed 
+0x33e 001361 fetch 6 ,mem_m_process_sync_buffer + 2 
+0x33f 001362 fetcht 6 ,mem_hci_plap 
+0x340 001363 isub temp ,null 
+0x341 001364 nrtn zero 
+0x342 001368 fetch 4 ,mem_m_process_sync_buffer + 14 
+0x343 001369 rshift pdata ,pdata 
+0x344 001370 store 4 ,mem_clke_bt 
+0x345 001371 fetch 1 ,mem_m_process_sync_buffer + 1 
+0x346 001372 store 1 ,extm_newconn_am_addr 
+:      001374 p_m_send_signal_packet:
+0x347 001376 setarg 0x67 
+0x348 001377 store 1 ,mem_m_process_sync_buffer 
+0x349 001378 fetch 6 ,mem_lap 
+0x34a 001379 store 6 ,mem_m_process_sync_buffer + 1 
+0x34b 001380 setarg 0 
+0x34c 001381 store 9 ,mem_m_process_sync_buffer + 7 
+0x34d 001390 call rf_setup_time_slave_slot 
+0x34e 001391 call set_sync_on 
+0x34f 001393 arg 0 ,temp 
+0x350 001394 call set_freq_tx 
+0x351 001395 call start_transmitter 
+0x352 001396 call start_tx_external 
+:      001397 p_m_transmit_signal_packet:
+0x353 001398 fetch 2 ,mem_m_rcv_op 
+0x354 001399 store 2 ,mem_m_snd_op 
+0x355 001400 call p_m_transmit_packet_access_and_header 
+:      001402 p_m_transmit_signal_packet_payload:
+0x356 001403 enable encode_fec2 
+0x357 001404 disable encrypt 
+0x358 001405 enable enable_crc 
+0x359 001407 arg 13 ,loopcnt 
+0x35a 001408 arg mem_m_process_sync_buffer ,contr 
+:      001409 p_m_transmit_signal_packet_payload_data_loop:
+0x35b 001410 ifetch 1 ,contr 
+0x35c 001411 inject mod ,8 
+0x35d 001412 loop p_m_transmit_signal_packet_payload_data_loop 
+:      001414 p_m_transmit_signal_packet_payload_data_end:
+0x35e 001415 enable enable_parity 
+0x35f 001416 inject mod ,16 
+0x360 001417 disable enable_parity 
+0x361 001418 call end_of_packet 
+0x362 001420 jam 0 ,mem_m_process_enable 
+:      001422 p_slave_apply_clke_bt:
+0x363 001423 compare 0x03 ,clke_bt ,0x03 
+0x364 001424 branch p_slave_apply_clke_bt_now ,true 
+0x365 001425 until null ,mhalfbnd 
+0x366 001426 branch p_slave_apply_clke_bt 
+:      001428 p_slave_apply_clke_bt_now:
+0x367 001429 fetch 4 ,mem_clke_bt 
+0x368 001430 or_into 0x03 ,pdata 
+0x369 001431 icopy clke_bt 
+0x36a 001433 fetch 6 ,mem_hci_plap 
+0x36b 001434 store 6 ,mem_plap 
+0x36c 001435 call prepare_newconn 
+:      001437 p_slave_newconn_loop:
+0x36d 001438 call slave_newconn_once 
+0x36e 001440 branch p_m_slave_connection_success ,match 
+0x36f 001441 call new_conn_timeout 
+0x370 001442 nbranch p_slave_newconn_loop ,blank 
+0x371 001443 rtn 
+:      001446 p_m_slave_connection_success:
+0x372 001447 jam 1 ,mem_ns_wake_up_flag 
+0x373 001448 fetch 1 ,mem_rxbuf 
+0x374 001449 call p_parse_lmp_opcode_00 
+0x375 001450 branch sconn_successful 
+:      001454 p_parse_lmp_opcode_00:
+0x376 001455 fetch 3 ,mem_rxbuf + 1 
+0x377 001456 store 3 ,mem_m_save_lmp_ye 
+0x378 001457 jam lmp_m_test_req ,mem_lmo_opcode2 
+0x379 001458 rtn 
+:      001461 p_send_lmp_opcode_00:
+0x37a 001462 setarg 0x00 
+0x37b 001463 store 1 ,mem_lmp_to_send 
+0x37c 001464 fetch 1 ,mem_m_save_lmp_ye 
+0x37d 001465 beq 0x00 ,p_send_lmp_rxbuf_00 
+0x37e 001466 beq 0x04 ,p_send_lmp_rxbuf_04 
+0x37f 001467 rtn 
+:      001469 p_send_lmp_rxbuf_00:
+0x380 001470 force 10 ,pdata 
+0x381 001471 call msg_send_lmp 
+0x382 001472 setarg 0x1d3201 
+0x383 001473 istore 9 ,contw 
+0x384 001474 setarg 0 
+0x385 001475 branch send_lmp_exit 
+:      001477 p_send_lmp_rxbuf_04:
+0x386 001478 force 4 ,pdata 
+0x387 001479 call msg_send_lmp 
+0x388 001480 setarg 0x000004 
+0x389 001481 istore 3 ,contw 
+0x38a 001482 setarg 1 
+0x38b 001483 branch send_lmp_exit 
+:      001505 p_slave_loop:
+0x38c 001507 call check_bt_disabled 
+0x38d 001508 call scheduler_process 
+0x38e 001509 call slave_conn_recv_packet 
+0x38f 001510 nbranch slave_notmatch ,match 
+0x390 001514 call supervision_flush 
+0x391 001515 call scheduler_tx_l2cap_pkt 
+0x392 001516 call prepare_tx 
+0x393 001517 call slave_conn_send_packet 
+0x394 001518 call parse_l2cap 
+0x395 001519 call parse_lmp 
+0x396 001520 fetch 1 ,mem_slave_rcvcnt 
+0x397 001521 increase 1 ,pdata 
+0x398 001522 store 1 ,mem_slave_rcvcnt 
+0x399 001523 call calc_clke_offset 
+0x39a 001524 branch slave_notmatch 
+:      001536 p_ahead_window:
+0x39b 001537 copy temp ,pdata 
+0x39c 001538 call clk2bt 
+0x39d 001539 lshift16 bt_clk ,pdata 
+0x39e 001540 set1 44 ,pdata 
+0x39f 001541 call clk_diff 
+0x3a0 001542 set0 44 ,pdata 
+0x3a1 001543 call get_clk 
+0x3a2 001544 call clk_diff 
+0x3a3 001545 rtn user 
+0x3a4 001546 call p_clk2rt 
+0x3a5 001547 branch ahead_window + 12 
+:      001549 p_lpm_adjust_clk:
+0x3a6 001550 deposit clke 
+0x3a7 001551 call p_clk_diff_rt 
+0x3a8 001552 branch lpm_adjust_clk + 3 
+:      001554 p_lpm_dispatch_next:
+0x3a9 001555 fetch 2 ,mem_context + coffset_rx_window 
+0x3aa 001556 rshift pdata ,pdata 
+0x3ab 001557 call clk2bt 
+0x3ac 001558 deposit alarm 
+0x3ad 001559 call clk_diff 
+0x3ae 001560 copy clke ,temp 
+0x3af 001561 call p_clk_diff_rt 
+0x3b0 001562 branch lpm_dispatch_next + 30 
+:      001564 p_clk_diff_rt:
+0x3b1 001565 call clk_diff 
+:      001566 p_clk2rt:
+0x3b2 001567 iforce contr 
+0x3b3 001568 set0 16 ,contr 
+0x3b4 001569 branch clk2rt + 1 
+:      001575 p_soft_reset:
+0x3b5 001576 call rfcomm_init 
+0x3b6 001577 call init_lmp 
+0x3b7 001578 call p_ui_init 
+0x3b8 001579 branch soft_reset + 9 
+:      001581 p_ui_init:
+0x3b9 001582 rtn wake 
+0x3ba 001583 branch ui_timer_init 
+:      001585 p_main_loop:
+0x3bb 001586 call p_g24_dispatch 
+0x3bc 001587 branch main_loop + 1 
+:      001593 p_shutdown_radio:
+0x3bd 001594 branch p_shutdown_radio0 ,is_rx 
+0x3be 001595 hjam 0xd4 ,0x955 
+0x3bf 001596 nop 4 
+0x3c0 001597 hjam 0xd2 ,0x955 
+0x3c1 001598 nop 4 
+0x3c2 001599 hjam 0xd1 ,0x955 
+0x3c3 001600 nop 4 
+0x3c4 001601 fetch 1 ,mem_tx_power 
+0x3c5 001602 beq tx_power_0db ,p_shutdown_radio_0db 
+0x3c6 001603 beq tx_power_3db ,p_shutdown_radio_3db 
+0x3c7 001604 beq tx_power_5db ,p_shutdown_radio_5db 
+0x3c8 001605 beq tx_power_f3db ,p_shutdown_radio_f3db 
+0x3c9 001606 beq tx_power_f5db ,p_shutdown_radio_f5db 
+0x3ca 001607 beq tx_power_pair ,p_shutdown_radio_pair 
+:      001608 p_shutdown_radio_5db:
+:      001609 p_shutdown_radio_0db:
+0x3cb 001610 hjam 0xd0 ,0x955 
+0x3cc 001611 hjam 0xe0 ,0x956 
+:      001612 p_shutdown_radio0:
+0x3cd 001613 force 0x08 ,radio_ctrl 
+0x3ce 001614 force 0 ,radio_ctrl 
+0x3cf 001615 disable is_rx 
+0x3d0 001616 disable is_tx 
+0x3d1 001617 pulse packet_end 
+0x3d2 001618 hjam 0x0 ,rfen_mdm 
+0x3d3 001619 hjam 0x0 ,rfen_tx 
+0x3d4 001620 hjam 0x0 ,rfen_rx 
+0x3d5 001621 hjam 0 ,rfen_sn 
+0x3d6 001622 hjam 0x70 ,rfen_msc 
+0x3d7 001623 fetch 1 ,rfen_adc 
+0x3d8 001624 set1 0 ,pdata 
+0x3d9 001625 store 1 ,rfen_adc 
+0x3da 001626 rtn 
+:      001627 p_shutdown_radio_pair:
+:      001628 p_shutdown_radio_f5db:
+:      001629 p_shutdown_radio_f3db:
+:      001630 p_shutdown_radio_3db:
+0x3db 001631 hjam 0xd0 ,0x955 
+0x3dc 001632 hjam 0xc0 ,0x956 
+0x3dd 001633 branch p_shutdown_radio0 
+:      001636 p_le_transmit:
+0x3de 001637 call le_prep 
+0x3df 001638 call p_letx_setfreq 
+0x3e0 001639 branch le_transmit0 
+:      001641 p_letx_setfreq:
+0x3e1 001642 branch p_txon ,match 
+0x3e2 001643 branch letx_setfreq + 1 
+:      001645 p_set_freq_tx:
+0x3e3 001646 storet 1 ,mem_last_freq 
+0x3e4 001647 call set_freq_tx_offset 
+0x3e5 001648 call rf_write_freq 
+0x3e6 001649 setarg param_pll_setup 
+0x3e7 001650 call sleep 
+:      001651 p_txon:
+0x3e8 001652 fetch 1 ,rfen_adc 
+0x3e9 001653 set1 0 ,pdata 
+0x3ea 001654 store 1 ,rfen_adc 
+0x3eb 001655 branch txon + 1 
+:      001658 p_init_param:
+0x3ec 001659 hjam 0x7c ,rfen_adc 
+0x3ed 001660 rtn wake 
+0x3ee 001661 setarg 0 
+0x3ef 001662 store 2 ,mem_tx_len 
+0x3f0 001663 rshift clkn_bt ,pdata 
+0x3f1 001664 store 4 ,mem_last_clkn 
+0x3f2 001665 rtn 
+:      001676 p_lpm_unconn_nossp:
+0x3f3 001677 branch lpm_unconn_cont 
+:      001683 p_module_hci_cmd_start_24g:
+0x3f4 001684 call module_hci_event_receive_valid_cmd 
+0x3f5 001685 ifetch 4 ,contru 
+0x3f6 001686 store 4 ,mem_24g_addr 
+0x3f7 001687 jam state_24g_pairing_success ,mem_24g_pairing_sm 
+0x3f8 001688 branch p_g24_start_24g_mode 
+:      001690 p_module_hci_cmd_stop_24g:
+0x3f9 001691 call module_hci_event_receive_valid_cmd 
+0x3fa 001692 set0 mark_24g ,mark 
+0x3fb 001693 jam state_24g_pairing_success ,mem_24g_pairing_sm 
+0x3fc 001694 branch p_g24_stop_g24_mode 
+:      001696 p_module_hci_cmd_pair_24g:
+0x3fd 001697 call module_hci_event_receive_valid_cmd 
+0x3fe 001698 branch p_g24_start_pairing_sm1 
+:      001700 p_module_hci_cmd_disconnected_24g:
+0x3ff 001701 bmark0 mark_24g ,module_hci_event_receive_invalid_cmd 
+0x400 001702 call module_hci_event_receive_valid_cmd 
+0x401 001703 branch p_g24_stop_g24_mode 
+:      001705 p_module_hci_cmd_send_24g_data:
+0x402 001706 fetch 1 ,mem_module_uart_len 
+0x403 001707 copy pdata ,loopcnt 
+0x404 001708 arg mem_24g_txbuf_new ,contw 
+0x405 001709 call uart_copy_rx_bytes 
+0x406 001710 branch module_hci_event_receive_valid_cmd 
+:      001713 p_module_hci_event_24g_pairing_complete:
+0x407 001714 jam hci_event_24g_pairing_complete ,mem_module_uart_opcode 
+0x408 001715 setarg 4 
+0x409 001716 call module_hci_prepare_tx 
+0x40a 001717 fetch 4 ,mem_24g_addr 
+0x40b 001718 istore 4 ,contwu 
+0x40c 001719 branch uartd_send 
+:      001721 p_module_hci_event_24g_attempt_fail:
+0x40d 001722 jam hci_event_24g_attempt_fail ,mem_module_uart_opcode 
+0x40e 001723 branch module_hci_event_enter_standby_mode_len0 
+:      001725 p_module_hci_event_24g_attempt_success:
+0x40f 001726 jam hci_event_24g_attempt_success ,mem_module_uart_opcode 
+0x410 001727 branch module_hci_event_enter_standby_mode_len0 
+:      001729 p_g24_dispatch:
+0x411 001730 rtnmark0 mark_24g 
+0x412 001731 fetch 4 ,mem_24g_enter_hibernate 
+0x413 001732 store 4 ,mem_24g_enter_hibernate_setup 
+0x414 001733 call p_g24_txdata_prep 
+0x415 001734 nbranch p_g24_long_sleep ,user 
+0x416 001735 jam 10 ,mem_24g_enter_lpm_timer 
+0x417 001736 call p_g24_transmit_packet 
+0x418 001737 fetch 1 ,mem_24g_pairing_sm 
+0x419 001738 rtnne state_24g_pairing_success 
+0x41a 001739 jam tx_power_5db ,mem_tx_power 
+:      001740 p_g24_short_sleep:
+0x41b 001741 rtn 
+0x41c 001742 fetch 1 ,mem_mouse_retry_flag 
+0x41d 001743 nrtn blank 
+0x41e 001748 call lpo_calibration 
+0x41f 001749 fetch 3 ,mem_clks_per_lpo 
+0x420 001750 rtn blank 
+0x421 001751 fetch 1 ,mem_lpm_mode 
+0x422 001752 rtn blank 
+:      001753 p_g24_short_sleep_1:
+0x423 001754 setarg 58000 
+:      001755 p_g24_short_sleep_2:
+0x424 001756 call clk2lpo 
+0x425 001757 storet 4 ,mem_sleep_counter 
+0x426 001758 branch lpm_sleep 
+:      001760 p_g24_long_sleep:
+0x427 001761 rtn 
+0x428 001766 call lpo_calibration 
+0x429 001767 fetch 3 ,mem_clks_per_lpo 
+0x42a 001768 rtn blank 
+0x42b 001769 fetch 1 ,mem_lpm_mode 
+0x42c 001770 rtn blank 
+0x42d 001771 fetch 1 ,mem_24g_enter_lpm_timer 
+0x42e 001772 nbranch p_g24_short_sleep_1 ,blank 
+0x42f 001773 fetch 4 ,mem_24g_enter_hibernate_setup 
+0x430 001774 branch p_g24_short_sleep_2 
+:      001776 p_g24_txdata_prep:
+0x431 001777 fetch 1 ,mem_24g_pairing_sm 
+0x432 001778 bne state_24g_pairing_success ,p_g24_pairing_sm 
+0x433 001779 call p_g24_package_data 
+0x434 001780 call p_g24_get_package_data ,user 
+0x435 001781 call p_g24_transmit_prep ,user 
+:      001782 p_g24_txdata_enable_tx:
+0x436 001783 jam ensure_on_24g ,mem_24g_ensure 
+0x437 001784 rtn 
+:      001786 p_g24_package_data:
+0x438 001787 disable user 
+0x439 001788 jam 2 ,mem_24g_data_type 
+0x43a 001789 fetch 1 ,mem_24g_txbuf_new 
+0x43b 001790 beq 0x01 ,p_g24_dataready 
+0x43c 001791 beq 0x02 ,p_g24_dataready_mk 
+0x43d 001792 beq 0x03 ,p_g24_dataready_ms 
+0x43e 001793 beq 0x06 ,p_g24_dataready_sys 
+0x43f 001794 beq 0x07 ,p_g24_dataready_game 
+0x440 001795 fetch 1 ,mem_mouse_retry_flag 
+0x441 001796 ncall enable_user ,blank 
+0x442 001797 rtn 
+:      001798 p_g24_dataready:
+0x443 001799 jam 0x00 ,mem_24g_txbuf_new 
+0x444 001800 jam 10 ,mem_24g_datalen 
+0x445 001801 branch p_g24_package_data_rtn 
+:      001803 p_g24_dataready_game:
+0x446 001804 jam 0x08 ,mem_24g_txbuf_new 
+0x447 001805 jam 24 ,mem_24g_datalen 
+0x448 001806 branch p_g24_package_data_rtn 
+:      001808 p_g24_dataready_mk:
+0x449 001809 jam 0x03 ,mem_24g_txbuf_new 
+0x44a 001810 jam 4 ,mem_24g_datalen 
+0x44b 001811 branch p_g24_package_data_rtn 
+:      001812 p_g24_dataready_sys:
+0x44c 001813 jam 0x02 ,mem_24g_txbuf_new 
+0x44d 001814 jam 3 ,mem_24g_datalen 
+0x44e 001815 branch p_g24_package_data_rtn 
+:      001816 p_g24_dataready_ms:
+0x44f 001817 jam 1 ,mem_24g_data_type 
+0x450 001818 jam 8 ,mem_24g_datalen 
+:      001819 p_g24_package_data_rtn:
+0x451 001820 jam 0 ,mem_24g_get_ack_fail 
+0x452 001821 branch enable_user 
+:      001824 p_g24_get_package_data:
+0x453 001825 arg mem_24g_txbuf ,contw 
+0x454 001826 arg mem_24g_txbuf_new ,contr 
+0x455 001827 arg 32 ,loopcnt 
+0x456 001828 branch memcpy 
+:      001831 p_g24_transmit_packet:
+0x457 001832 jam 0 ,mem_24g_retry 
+:      001833 p_g24_transmit_loop:
+0x458 001834 arg param_rx_setup ,timeup 
+0x459 001835 until clkn_rt ,meet 
+0x45a 001836 call p_g24_transmit_receive_ack 
+0x45b 001837 nbranch p_g24_retransmit ,user3 
+0x45c 001838 call p_g24_ackpayload_parse 
+0x45d 001839 fetch 1 ,mem_24g_pid 
+0x45e 001840 increase 1 ,pdata 
+0x45f 001841 store 1 ,mem_24g_pid 
+0x460 001842 jam 0 ,mem_mouse_retry_flag 
+0x461 001843 fetch 1 ,mem_24g_pairing_sm 
+0x462 001844 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+:      001845 p_g24_transmit_abandon:
+0x463 001846 call p_g24_clear_txbuf 
+0x464 001847 jam 0 ,mem_24g_get_ack_fail 
+0x465 001848 jam ensure_off_24g ,mem_24g_ensure 
+0x466 001849 rtn 
+:      001852 p_g24_retransmit:
+0x467 001853 jam 1 ,mem_mouse_retry_flag 
+0x468 001854 fetch 1 ,mem_24g_get_ack_fail 
+0x469 001855 increase 1 ,pdata 
+0x46a 001856 store 1 ,mem_24g_get_ack_fail 
+0x46b 001857 fetch 1 ,mem_24g_pairing_sm 
+0x46c 001858 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0x46d 001859 fetch 1 ,mem_24g_get_ack_fail 
+0x46e 001860 beq 0xff ,p_g24_long_sleep_setup 
+0x46f 001861 fetch 1 ,mem_24g_get_ack_fail 
+0x470 001862 arg 16 ,temp 
+0x471 001863 isub temp ,null 
+0x472 001864 branch p_g24_ch ,positive 
+0x473 001865 fetch 1 ,mem_24g_retry 
+0x474 001866 increase 1 ,pdata 
+0x475 001867 store 1 ,mem_24g_retry 
+0x476 001868 nop 10 
+0x477 001869 bne retry_24g ,p_g24_transmit_loop 
+0x478 001870 branch p_g24_ch 
+:      001873 p_g24_clear_txbuf:
+0x479 001874 setarg 0 
+0x47a 001875 store 32 ,mem_24g_txbuf 
+0x47b 001876 store 32 ,mem_24g_txbuf_new 
+0x47c 001877 rtn 
+:      001879 p_g24_long_sleep_setup:
+0x47d 001880 call p_g24_stop_g24_mode 
+0x47e 001881 jam 0 ,mem_mouse_retry_flag 
+0x47f 001882 call p_g24_clear_txbuf 
+0x480 001883 jam 0 ,mem_24g_get_ack_fail 
+0x481 001884 fetch 4 ,mem_24g_enter_hibernate_max 
+0x482 001885 store 4 ,mem_24g_enter_hibernate_setup 
+0x483 001886 rtn 
+:      001888 p_g24_paring_mode_start:
+0x484 001889 branch p_g24_paring_mode 
+:      001891 p_g24_transmit_receive_ack:
+0x485 001892 disable user3 
+0x486 001893 call p_g24_transmit 
+0x487 001896 force 0 ,radio_ctrl 
+0x488 001897 fetch 4 ,mem_24g_addr 
+0x489 001898 iforce access 
+0x48a 001899 fetcht 1 ,mem_last_freq 
+0x48b 001900 call set_freq_rx 
+0x48c 001901 call rf_rx_enable 
+0x48d 001902 call p_g24_receive_rxon 
+0x48e 001903 call p_g24_end_of_packet ,user3 
+0x48f 001904 rtn 
+:      001911 p_g24_tx_paring_retry:
+0x490 001912 rtn 
+:      001916 p_g24_stop_g24_mode:
+0x491 001917 jam 0 ,mem_mouse_retry_flag 
+0x492 001918 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x493 001919 branch ui_ipc_send_event 
+:      001922 p_g24_ackpayload_parse:
+0x494 001923 call p_g24_read_len_pid_crc 
+0x495 001924 fetch 1 ,mem_24g_rxdata_length 
+0x496 001925 rtn blank 
+0x497 001926 iforce loopcnt 
+0x498 001927 call p_24g_kb_led 
+0x499 001928 arg mem_24g_rxbuf + 2 ,contr 
+0x49a 001929 arg mem_24g_rxpayload ,contw 
+0x49b 001930 branch memcpy 
+:      001932 p_24g_kb_led:
+0x49c 001933 fetch 1 ,mem_24g_rxbuf + 1 
+0x49d 001934 compare 0x08 ,pdata ,0xf8 
+0x49e 001935 nrtn true 
+0x49f 001936 fetch 1 ,mem_24g_rxbuf + 2 
+0x4a0 001937 beq 0xff ,p_pc_sleep_opcode 
+0x4a1 001938 jam hci_event_24g_receive_lock ,mem_module_uart_opcode 
+0x4a2 001939 branch p_pre_send_num 
+:      001940 p_pc_sleep_opcode:
+0x4a3 001941 jam hci_event_24g_pc_sleep ,mem_module_uart_opcode 
+:      001942 p_pre_send_num:
+0x4a4 001943 setarg 1 
+0x4a5 001944 call module_hci_prepare_tx 
+0x4a6 001945 fetcht 1 ,mem_24g_rxbuf + 2 
+0x4a7 001946 istoret 1 ,contwu 
+0x4a8 001947 call uartd_send 
+0x4a9 001950 jam 0 ,mem_24g_led_flag 
+0x4aa 001951 rtn 
+:      001953 p_g24_start_pairing_sm1:
+0x4ab 001954 set1 mark_24g ,mark 
+0x4ac 001955 call p_g24_pair_init 
+0x4ad 001956 call p_g24_transmit_abandon 
+0x4ae 001957 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+0x4af 001958 rtn 
+:      001960 p_g24_pair_init:
+0x4b0 001961 jam 0 ,mem_24g_pid 
+0x4b1 001962 jam g24_pair_ch ,mem_24g_ch 
+0x4b2 001963 fetch 4 ,mem_24g_paring_addr 
+0x4b3 001964 branch p_g24_update_addr_and_synccrc8 
+:      001966 p_g24_pairing_sm:
+0x4b4 001967 call p_g24_pair_init 
+0x4b5 001968 fetch 1 ,mem_24g_ensure 
+0x4b6 001969 beq ensure_on_24g ,enable_user 
+0x4b7 001970 fetch 1 ,mem_24g_pairing_sm 
+0x4b8 001971 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+0x4b9 001972 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+0x4ba 001973 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+0x4bb 001974 branch assert 
+:      001976 p_g24_pairing_sm_1:
+0x4bc 001977 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+0x4bd 001978 jam 0xaa ,mem_24g_common_temp 
+0x4be 001979 branch p_g24_pairing_sm_common 
+:      001980 p_g24_pairing_sm_2:
+0x4bf 001981 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+0x4c0 001982 jam 0x55 ,mem_24g_common_temp 
+0x4c1 001983 branch p_g24_pairing_sm_common 
+:      001984 p_g24_pairing_sm_3:
+0x4c2 001985 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+0x4c3 001986 jam 0x22 ,mem_24g_common_temp 
+:      001987 p_g24_pairing_sm_common:
+0x4c4 001991 jam 0x02 ,mem_24g_common_temp + 1 
+0x4c5 001992 fetch 4 ,mem_24g_device_addr 
+0x4c6 001993 store 4 ,mem_24g_common_temp + 2 
+0x4c7 001994 jam 0 ,mem_24g_common_temp + 6 
+0x4c8 001995 arg mem_24g_common_temp ,rega 
+0x4c9 001996 arg 7 ,temp 
+0x4ca 001997 call p_g24_put_data_in_buff 
+0x4cb 001998 call p_g24_transmit_prep 
+0x4cc 001999 call p_g24_txdata_enable_tx 
+0x4cd 002000 branch enable_user 
+:      002002 p_g24_paring_mode:
+0x4ce 002003 fetch 1 ,mem_24g_pairing_sm 
+0x4cf 002004 rtneq state_24g_pairing_success 
+0x4d0 002005 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+0x4d1 002006 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+0x4d2 002007 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+0x4d3 002008 rtn 
+:      002011 p_g24_pairing_sm_1_waiting_ack:
+0x4d4 002012 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+0x4d5 002013 branch p_g24_transmit_abandon 
+:      002014 p_g24_pairing_sm_2_waiting_ack:
+0x4d6 002015 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+0x4d7 002016 branch p_g24_transmit_abandon 
+:      002017 p_g24_pairing_sm_3_waiting_ack:
+0x4d8 002018 jam state_24g_pairing_success ,mem_24g_pairing_sm 
+0x4d9 002019 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0x4da 002020 call ui_ipc_send_event 
+0x4db 002021 fetch 4 ,mem_24g_rxpayload + 2 
+0x4dc 002022 call p_g24_update_addr_and_synccrc8 
+0x4dd 002023 branch p_g24_transmit_abandon 
+:      002025 p_g24_start_24g_mode:
+0x4de 002026 rtnmark1 mark_24g 
+0x4df 002027 call p_g24_syncword_crc8 
+0x4e0 002028 call p_g24_ch 
+0x4e1 002029 fetch 1 ,mem_24g_pairing_sm 
+0x4e2 002030 rtnne state_24g_pairing_success 
+0x4e3 002031 call p_g24_tx_attemp_data_prep 
+0x4e4 002032 setarg 0 
+0x4e5 002033 store 2 ,mem_24g_check_dongle_times 
+:      002034 p_g24_tx_attemp_dongle_loop:
+0x4e6 002035 call lpo_calibration 
+0x4e7 002036 nop 2000 
+0x4e8 002037 fetch 1 ,mem_24g_check_dongle_times 
+0x4e9 002038 beq 0xff ,p_g24_stop_g24_mode 
+0x4ea 002039 call p_g24_transmit_receive_ack 
+0x4eb 002040 nbranch p_g24_attemp_txdata_retry ,user3 
+:      002041 p_g24_tx_attemp_dongle_succ:
+0x4ec 002042 call p_g24_clear_txbuf 
+0x4ed 002043 set1 mark_24g ,mark 
+0x4ee 002044 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+0x4ef 002045 branch ui_ipc_send_event 
+:      002048 p_g24_tx_attemp_data_prep:
+0x4f0 002049 jam 0xff ,mem_24g_common_temp 
+0x4f1 002050 fetch 1 ,mem_24g_data_type 
+0x4f2 002051 store 1 ,mem_24g_common_temp + 1 
+0x4f3 002052 fetch 4 ,mem_24g_device_addr 
+0x4f4 002053 store 4 ,mem_24g_common_temp + 2 
+0x4f5 002054 arg 6 ,temp 
+0x4f6 002055 arg mem_24g_common_temp ,rega 
+0x4f7 002056 call p_g24_put_data_in_buff 
+0x4f8 002057 branch p_g24_transmit_prep 
+:      002059 p_g24_attemp_txdata_retry:
+0x4f9 002060 fetch 2 ,mem_24g_check_dongle_times 
+0x4fa 002061 increase 1 ,pdata 
+0x4fb 002062 store 2 ,mem_24g_check_dongle_times 
+0x4fc 002063 call p_g24_ch 
+0x4fd 002064 branch p_g24_tx_attemp_dongle_loop 
+:      002067 p_g24_put_data_in_buff:
+0x4fe 002068 storet 1 ,mem_24g_datalen 
+0x4ff 002069 copy temp ,loopcnt 
+0x500 002070 arg mem_24g_txbuf ,contw 
+0x501 002071 copy rega ,contr 
+0x502 002072 branch memcpy 
+:      002074 p_g24_read_len_pid_crc:
+0x503 002076 fetch 1 ,mem_24g_rxbuf + 1 
+0x504 002077 rshift3 pdata ,pdata 
+0x505 002078 store 1 ,mem_24g_rxdata_length 
+0x506 002080 increase 1 ,pdata 
+0x507 002081 arg mem_24g_rxbuf + 1 ,contr 
+0x508 002082 iadd contr ,contr 
+0x509 002083 ifetch 3 ,contr 
+0x50a 002084 store 3 ,mem_24g_sta_crc 
+0x50b 002085 rtn 
+:      002087 p_rssi_signal:
+0x50c 002088 fetcht 1 ,mem_rssi_signal_index 
+0x50d 002089 setarg mem_rssi_signal_buf 
+0x50e 002090 iadd temp ,contw 
+0x50f 002091 copy rega ,pdata 
+0x510 002092 istore 1 ,contw 
+0x511 002093 increase 1 ,temp 
+0x512 002094 and_into rssi_buf_len_signal ,temp 
+0x513 002095 storet 1 ,mem_rssi_signal_index 
+0x514 002096 rtn 
+:      002116 p_g24_update_addr_and_synccrc8:
+0x515 002117 store 4 ,mem_24g_addr 
+:      002120 p_g24_syncword_crc8:
+0x516 002121 arg 0 ,rega 
+0x517 002122 arg 4 ,loopcnt 
+0x518 002123 arg mem_24g_addr ,contr 
+:      002124 p_g24_syncword_crc8_loop:
+0x519 002125 ifetch 1 ,contr 
+0x51a 002126 iadd rega ,rega 
+0x51b 002127 loop p_g24_syncword_crc8_loop 
+0x51c 002128 copy rega ,pdata 
+0x51d 002129 store 2 ,mem_24g_syncword 
+0x51e 002130 fetch 1 ,mem_24g_syncword 
+0x51f 002131 fetcht 1 ,mem_24g_syncword + 1 
+0x520 002132 iadd temp ,pdata 
+0x521 002133 store 1 ,mem_24g_syncword_crc8 
+0x522 002134 rtn 
+:      002137 p_g24_transmit_prep:
+0x523 002139 fetch 1 ,mem_24g_datalen 
+0x524 002140 increase 2 ,pdata 
+0x525 002141 store 1 ,mem_24g_txlen 
+0x526 002143 fetch 1 ,mem_24g_data_type 
+0x527 002144 store 1 ,mem_24g_txpayload 
+0x528 002146 fetch 1 ,mem_24g_datalen 
+0x529 002147 lshift3 pdata ,pdata 
+0x52a 002148 fetcht 1 ,mem_24g_pid 
+0x52b 002149 and temp ,0x03 ,temp 
+0x52c 002150 lshift temp ,temp 
+0x52d 002151 ior temp ,pdata 
+0x52e 002152 fetcht 1 ,mem_24g_no_ack 
+0x52f 002153 iadd temp ,pdata 
+0x530 002154 istore 1 ,contw 
+0x531 002156 fetch 1 ,mem_24g_pairing_sm 
+0x532 002157 bne state_24g_pairing_success ,p_g24_transmit_prep_pair 
+0x533 002158 fetch 1 ,mem_24g_data_type 
+0x534 002159 istore 1 ,contw 
+:      002160 p_g24_transmit_prep_pair:
+0x535 002161 fetch 1 ,mem_24g_datalen 
+0x536 002162 iforce loopcnt 
+0x537 002163 fetch 1 ,mem_24g_data_type 
+0x538 002164 beq 1 ,p_g24_transmit_prep_mouse 
+0x539 002165 arg mem_24g_txbuf ,contr 
+0x53a 002166 call memcpy 
+0x53b 002170 fetch 1 ,mem_24g_txbuf 
+0x53c 002171 beq 0x03 ,p_g24_multi_key_setup 
+0x53d 002172 rtn 
+:      002173 p_g24_multi_key_setup:
+0x53e 002174 jam 0x02 ,mem_24g_txbuf 
+0x53f 002175 rtn 
+:      002178 p_g24_transmit_prep_mouse:
+0x540 002179 arg mem_24g_txbuf + 1 ,contr 
+0x541 002180 branch memcpy 
+:      002182 p_g24_ch:
+0x542 002183 fetcht 1 ,mem_24g_current_ch_number 
+0x543 002184 call p_g24_ch_calc 
+0x544 002185 increase 1 ,temp 
+0x545 002186 and_into 3 ,temp 
+0x546 002187 storet 1 ,mem_24g_current_ch_number 
+0x547 002188 rtn 
+:      002190 p_g24_ch_calc:
+0x548 002191 fetch 1 ,mem_24g_addr 
+0x549 002192 and_into 0x03 ,pdata 
+0x54a 002193 mul32 pdata ,4 ,rega 
+0x54b 002194 setarg mem_24g_ch_map1 
+0x54c 002195 iadd rega ,pdata 
+0x54d 002196 iadd temp ,contr 
+0x54e 002197 ifetch 1 ,contr 
+0x54f 002198 store 1 ,mem_24g_ch 
+0x550 002199 rtn 
+:      002201 p_g24_prep:
+0x551 002202 disable enable_crc 
+0x552 002203 disable enable_white 
+0x553 002204 setarg 0x555555 
+0x554 002205 iforce crc24_init 
+0x555 002206 fetch 1 ,mem_24g_ch 
+0x556 002207 reverse pdata ,temp 
+0x557 002208 set1 1 ,temp 
+0x558 002209 rshift temp ,white_init 
+0x559 002210 rtn 
+:      002212 p_g24_receive_rxon:
+0x55a 002213 call p_g24_prep 
+0x55b 002214 enable decode_fec0 
+0x55c 002215 enable is_rx 
+0x55d 002216 disable is_tx 
+0x55e 002217 enable swfine 
+0x55f 002218 fetch 2 ,mem_24g_rx_window 
+0x560 002219 iforce stop_watch 
+0x561 002220 correlate null ,timeout 
+0x562 002221 nbranch p_g24_sync_timeout ,sync 
+0x563 002222 disable decode_fec0 
+0x564 002223 enable decode_fec1 
+0x565 002224 enable enable_white 
+0x566 002225 enable enable_crc 
+0x567 002226 parse demod ,bucket ,8 
+0x568 002227 rshift3 pwindow ,pdata 
+0x569 002228 store 1 ,mem_24g_get_syncword_crc8 
+0x56a 002229 fetcht 1 ,mem_24g_syncword_crc8 
+0x56b 002230 isub temp ,null 
+0x56c 002231 nbranch p_g24_end_of_packet ,zero 
+0x56d 002232 parse demod ,bucket ,8 
+0x56e 002233 rshift3 pwindow ,pdata 
+0x56f 002234 store 1 ,mem_24g_rxbuf 
+0x570 002238 fetch 1 ,mem_24g_rxbuf 
+0x571 002239 fetcht 1 ,mem_24g_data_type 
+0x572 002240 icompare bits_data ,temp 
+0x573 002241 nbranch p_g24_end_of_packet ,true 
+:      002242 p_g24_receive_skip:
+0x574 002243 parse demod ,bucket ,8 
+0x575 002244 rshift3 pwindow ,pdata 
+0x576 002245 istore 1 ,contw 
+0x577 002246 rshift3 pdata ,pdata 
+0x578 002247 and pdata ,0x1f ,loopcnt 
+0x579 002248 branch p_g24rx_nopayload ,zero 
+:      002249 p_g24rx_loop:
+0x57a 002250 parse demod ,bucket ,8 
+0x57b 002251 rshift3 pwindow ,pdata 
+0x57c 002252 istore 1 ,contw 
+0x57d 002253 loop p_g24rx_loop 
+:      002254 p_g24rx_nopayload:
+0x57e 002256 copy contw ,rega 
+0x57f 002257 parse demod ,bucket ,8 
+0x580 002258 rshift3 pwindow ,pdata 
+0x581 002259 store 1 ,mem_rssi_hex_received 
+0x582 002260 copy rega ,contw 
+0x583 002261 parse demod ,bucket ,24 
+0x584 002262 enable swfine 
+0x585 002263 arg param_sifs ,stop_watch 
+0x586 002264 rshift32 pdata ,pdata 
+0x587 002265 rshift16 pdata ,pdata 
+0x588 002266 istore 3 ,contw 
+0x589 002267 disable decode_fec1 
+0x58a 002268 branch p_g24_end_of_packet ,crc_failed 
+0x58b 002269 enable user3 
+0x58c 002270 fetch 1 ,mem_last_freq 
+0x58d 002271 add pdata ,0 ,rega 
+0x58e 002272 call rf_write_freq 
+0x58f 002273 disable decode_fec0 
+0x590 002274 call set_sync_on 
+0x591 002275 fetch 1 ,mem_rssi_hex_received 
+0x592 002276 copy pdata ,rega 
+0x593 002277 call p_rssi_signal 
+0x594 002278 rtn 
+:      002280 p_g24_sync_timeout:
+:      002283 p_g24_end_of_packet:
+0x595 002284 disable encode_fec1 
+0x596 002285 disable decode_fec1 
+0x597 002286 branch end_of_packet 
+:      002288 p_g24_set_freq_tx:
+0x598 002289 call set_sync_on 
+0x599 002290 fetcht 1 ,mem_24g_ch 
+0x59a 002291 branch set_freq_tx 
+:      002293 p_g24_transmit:
+0x59b 002294 call le_enable 
+0x59c 002295 fetch 4 ,mem_24g_addr 
+0x59d 002296 iforce access 
+0x59e 002297 call p_g24_prep 
+0x59f 002298 call p_g24_set_freq_tx 
+0x5a0 002299 set1 txgfsk ,radio_ctrl 
+0x5a1 002300 enable encode_fec0 
+0x5a2 002301 enable is_tx 
+0x5a3 002302 disable is_rx 
+0x5a4 002303 rshift16 access ,pdata 
+0x5a5 002304 rshift8 pdata ,pdata 
+0x5a6 002305 rshift4 pdata ,pdata 
+0x5a7 002306 inject mod ,40 
+0x5a8 002307 disable encode_fec0 
+0x5a9 002308 enable encode_fec1 
+0x5aa 002309 enable enable_white 
+0x5ab 002310 enable enable_crc 
+0x5ac 002311 fetch 1 ,mem_24g_syncword_crc8 
+0x5ad 002312 inject mod ,8 
+0x5ae 002313 fetch 1 ,mem_24g_txlen 
+0x5af 002314 iforce loopcnt 
+0x5b0 002315 arg mem_24g_txpayload ,contr 
+:      002316 p_g24tr_loop:
+0x5b1 002317 ifetch 1 ,contr 
+0x5b2 002318 inject mod ,8 
+0x5b3 002319 loop p_g24tr_loop 
+0x5b4 002320 enable enable_parity 
+0x5b5 002321 inject mod ,24 
+0x5b6 002322 disable enable_parity 
+0x5b7 002323 until null ,tx_clear 
+0x5b8 002324 nop 100 
+0x5b9 002325 disable encode_fec0 
+0x5ba 002326 disable encode_fec1 
+0x5bb 002327 rtn 
+:      002333 p_keyboard_ble_init:
+0x5bc 002334 setarg 0x25 
+0x5bd 002335 store 2 ,mem_le_pairing_handle 
+0x5be 002337 call le_set_config_fixed_ltk 
+0x5bf 002338 call le_set_fixed_ltk 
+0x5c0 002339 call le_set_justwork 
+0x5c1 002340 branch le_set_config_read_authentication 
+:      002350 p_le_transmit_receive_sifs:
+0x5c2 002351 call le_transmit 
+0x5c3 002352 call set_sync_on 
+0x5c4 002353 fetcht 1 ,mem_last_freq 
+0x5c5 002354 call set_freq_rx 
+0x5c6 002355 nop 1500 
+0x5c7 002356 call rf_rx_enable 
+0x5c8 002357 enable swfine 
+0x5c9 002358 arg 5500 ,timeup 
+0x5ca 002359 branch le_receive_rxon 
+:      002362 p_le_receive_skip:
+0x5cb 002363 call save_rssi 
+0x5cc 002364 enable enable_white 
+0x5cd 002365 enable enable_crc 
+0x5ce 002366 parse demod ,bucket ,8 
+0x5cf 002367 rshift3 pwindow ,pdata 
+0x5d0 002368 store 1 ,mem_le_rxbuf 
+0x5d1 002369 parse demod ,bucket ,8 
+0x5d2 002370 rshift3 pwindow ,pdata 
+0x5d3 002371 istore 1 ,contw 
+0x5d4 002372 copy pdata ,loopcnt 
+0x5d5 002373 branch lerx_nopayload ,blank 
+0x5d6 002374 branch lerx_loop 
+:      002380 p_le_parse:
+0x5d7 002381 rtnmark1 mark_old_packet 
+0x5d8 002382 call le_fifo_check_full 
+0x5d9 002383 nrtn blank 
+0x5da 002384 fetch 1 ,mem_le_rxbuf 
+0x5db 002385 and pdata ,0x3 ,pdata 
+0x5dc 002386 store 1 ,mem_le_packet_llid 
+0x5dd 002387 ifetch 1 ,contr 
+0x5de 002388 store 1 ,mem_le_packet_size 
+0x5df 002389 rtn blank 
+0x5e0 002390 copy contr ,pdata 
+0x5e1 002391 store 2 ,mem_le_payload_ptr 
+0x5e2 002392 fetch 1 ,mem_le_packet_llid 
+0x5e3 002393 beq llid_le_ll ,le_parse_ll 
+0x5e4 002394 call le_check_l2cap_complete 
+0x5e5 002395 arg wake_lock_ble_rx_patch ,queue 
+0x5e6 002396 nbranch lpm_get_wake_lock ,user 
+0x5e7 002397 call lpm_put_wake_lock 
+0x5e8 002398 branch le_parse_l2cap + 3 
+:      002401 p_le_parse_l2cap:
+0x5e9 002402 ifetch 2 ,contr 
+0x5ea 002403 beq le_l2cap_cid_att ,le_parse_att 
+0x5eb 002404 beq le_l2cap_cid_smp ,le_parse_smp 
+0x5ec 002405 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x5ed 002406 rtn 
+:      002411 p_le_acknowledge:
+0x5ee 002412 call le_supervision_flush 
+0x5ef 002413 call le_check_wak 
+0x5f0 002414 fetch 1 ,mem_le_rxbuf 
+0x5f1 002415 isolate1 md ,pdata 
+0x5f2 002416 setflag true ,mark_ble_rx_md ,mark 
+0x5f3 002417 rshift pdata ,pdata 
+0x5f4 002418 ixor temp ,pdata 
+0x5f5 002419 isolate1 nesn ,pdata 
+0x5f6 002420 setflag true ,mark_old_packet ,mark 
+0x5f7 002421 rtnmark1 mark_old_packet 
+0x5f8 002422 fetch 1 ,mem_le_rxbuf + 1 
+0x5f9 002423 branch le_ack_unenc ,blank 
+0x5fa 002424 fetch 1 ,mem_le_state 
+0x5fb 002425 bbit0 lestate_encryption ,le_ack_unenc 
+0x5fc 002426 call load_sk 
+0x5fd 002427 call le_decrypt 
+0x5fe 002428 nsetflag blank ,mark_old_packet ,mark 
+0x5ff 002429 nrtn blank 
+0x600 002430 branch le_ack_unenc 
+:      002438 p_module_hci_event_start_enc:
+0x601 002439 jam hci_event_ble_hid_connect ,mem_module_uart_opcode 
+0x602 002440 branch module_hci_event_enter_standby_mode_len0 
+:      002442 p_module_hci_event_enc_info:
+0x603 002443 jam hci_event_ble_enc_info ,mem_module_uart_opcode 
+0x604 002444 setarg 28 
+0x605 002445 call module_hci_prepare_tx 
+0x606 002446 fetch 6 ,mem_le_lap 
+0x607 002447 istore 6 ,contwu 
+0x608 002448 fetch 6 ,mem_le_plap 
+0x609 002449 istore 6 ,contwu 
+0x60a 002450 arg mem_le_ltk ,contr 
+0x60b 002451 arg 16 ,loopcnt 
+0x60c 002452 call uart_copy_tx_bytes 
+0x60d 002453 branch uartd_send 
+:      002461 classic_shutter_process_baseband_connect:
+0x60e 002462 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x60f 002463 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x610 002464 jam hci_evnet_bb_conn ,mem_module_uart_opcode 
+0x611 002465 setarg 1 
+0x612 002466 call module_hci_prepare_tx 
+0x613 002467 setarg 0x00 
+0x614 002468 istore 1 ,contwu 
+0x615 002469 call uartd_send 
+0x616 002471 rtn 
+:      002473 classic_shutter_process_baseband_disconnect:
+0x617 002474 jam 1 ,mem_test_data 
+0x618 002475 call module_disconn_start 
+0x619 002476 call classic_shutter_disconnect_clear_flag 
+0x61a 002477 fetch 2 ,mem_ui_state_map 
+0x61b 002478 rtnbit0 ui_state_bt_hid_connect 
+0x61c 002479 set0 ui_state_bt_hid_connect ,pdata 
+0x61d 002480 store 2 ,mem_ui_state_map 
+0x61e 002481 jam hci_event_bt_hid_disconnect ,mem_module_uart_opcode 
+0x61f 002482 branch module_hci_event_enter_standby_mode_len0 
+:      002485 classic_shutter_disconnect_clear_flag:
+0x620 002486 jam app_handshake_null ,mem_app_handshake_flag 
+0x621 002487 jam 0 ,mem_hid_handshake_timer_count 
+0x622 002488 jam 0 ,mem_unsniff2sniff_timer_count 
+0x623 002489 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x624 002490 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x625 002491 rtn 
+:      002493 classic_shutter_process_reconnect_failed:
+0x626 002494 call module_disconn_start 
+0x627 002495 jam hci_event_bt_reconnect_fail ,mem_module_uart_opcode 
+0x628 002496 setarg 1 
+0x629 002497 call module_hci_prepare_tx 
+0x62a 002498 setarg 0x00 
+0x62b 002499 istore 1 ,contwu 
+0x62c 002500 call uartd_send 
+0x62d 002501 branch app_disconn_reason_clear 
+:      002503 classic_shutter_process_setup_complete:
+0x62e 002504 branch keyboard_stop_bluetooth_discovery 
+:      002506 classic_shutter_process_hid_connect:
+0x62f 002507 setarg hid_handshake_timeout 
+0x630 002508 store 1 ,mem_hid_handshake_timer_count 
+0x631 002509 rtn 
+:      002511 classic_shutter_process_hid_disconnect:
+0x632 002512 fetch 2 ,mem_ui_state_map 
+0x633 002513 set0 ui_state_bt_hid_connect ,pdata 
+0x634 002514 store 2 ,mem_ui_state_map 
+0x635 002515 jam hci_event_bt_hid_disconnect ,mem_module_uart_opcode 
+0x636 002516 call module_hci_event_enter_standby_mode_len0 
+0x637 002517 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x638 002518 setarg flag_shutter_hid_disconn_timeout 
+0x639 002519 store 1 ,mem_classic_shutter_hid_disconn_count 
+0x63a 002520 rtn 
+:      002522 classic_shutter_process_hid_handshake:
+0x63b 002523 fetch 1 ,mem_app_handshake_flag 
+0x63c 002524 rtneq app_handshake_done 
+0x63d 002525 fetch 2 ,mem_ui_state_map 
+0x63e 002526 set1 ui_state_bt_hid_connect ,pdata 
+0x63f 002527 store 2 ,mem_ui_state_map 
+0x640 002528 jam hci_event_bt_hid_connect ,mem_module_uart_opcode 
+0x641 002529 call module_hci_event_enter_standby_mode_len0 
+0x642 002530 jam app_handshake_done ,mem_app_handshake_flag 
+0x643 002532 call keyboard_stop_bluetooth_discovery 
+0x644 002533 branch app_bt_enter_sniff 
+:      002535 classic_shutter_process_reconnect_page_timeout:
+0x645 002536 branch classic_shutter_process_reconnect_failed 
+:      002538 classic_shutter_process_virtual_cable_unplug:
+0x646 002539 setarg flag_shutter_cable_unplug_timeout 
+0x647 002540 store 1 ,mem_classic_shutter_cable_unplug_conut 
+0x648 002541 rtn 
+:      002543 classic_shutter_process_remote_unsniff:
+0x649 002544 branch app_start_auto_sniff 
+:      002546 classic_shutter_process_store_reconnect_information:
+0x64a 002547 rtn 
+:      002549 classic_shutter_process_linkkey_generate:
+0x64b 002550 branch p_module_hci_event_bt_enc_info 
+:      002551 p_module_hci_event_bt_enc_info:
+0x64c 002552 jam hci_event_bt_enc_info ,mem_module_uart_opcode 
+0x64d 002553 setarg 28 
+0x64e 002554 call module_hci_prepare_tx 
+0x64f 002555 fetch 6 ,mem_lap 
+0x650 002556 istore 6 ,contwu 
+0x651 002557 fetch 6 ,mem_plap 
+0x652 002558 istore 6 ,contwu 
+0x653 002559 arg mem_link_key ,contr 
+0x654 002560 arg 16 ,loopcnt 
+0x655 002561 call uart_copy_tx_bytes 
+0x656 002562 branch uartd_send 
+:      002568 classic_shutter_check_unplug_timer:
+0x657 002569 arg mem_classic_shutter_cable_unplug_conut ,regc 
+0x658 002570 arg classic_shutter_unplug_timeout ,regb 
+0x659 002571 branch timer_single_step 
+:      002573 classic_shutter_unplug_timeout:
+0x65a 002574 fetch 1 ,mem_control_tasks 
+0x65b 002575 set1 l2cap_disconnect_interrupt ,pdata 
+0x65c 002576 set1 l2cap_disconnect_control ,pdata 
+0x65d 002577 store 1 ,mem_control_tasks 
+0x65e 002578 rtn 
+:      002580 classic_shutter_hid_handshake_timer:
+0x65f 002581 arg mem_hid_handshake_timer_count ,regc 
+0x660 002582 arg classic_shutter_process_hid_handshake ,regb 
+0x661 002583 branch timer_single_step 
+:      002585 classic_shutter_hid_disconn_timer:
+0x662 002587 arg mem_classic_shutter_hid_disconn_count ,regc 
+0x663 002588 arg p_app_bt_disconnect ,regb 
+0x664 002589 branch timer_single_step 
+:      002591 p_app_bt_disconnect:
+0x665 002592 jam 0x99 ,mem_module_uart_opcode 
+0x666 002593 call module_hci_event_enter_standby_mode_len0 
+0x667 002594 branch app_bt_disconnect 
+:      002600 bt_keyboard_send_hid_data:
+0x668 002601 call l2cap_malloc_is_fifo_nearly_full 
+0x669 002602 nrtn blank 
+0x66a 002603 fetch 1 ,mem_module_uart_len 
+0x66b 002604 add pdata ,1 ,rega 
+0x66c 002605 call hid_malloc_tx_buff 
+0x66d 002606 fetch 2 ,mem_hid_int_remote_cid 
+0x66e 002607 istore 2 ,contw 
+0x66f 002608 setarg 0xa1 
+0x670 002609 istore 1 ,contw 
+0x671 002610 fetch 1 ,mem_module_uart_len 
+0x672 002611 copy pdata ,loopcnt 
+0x673 002612 call uart_copy_rx_bytes 
+0x674 002613 branch module_hci_event_receive_valid_cmd 
+:      002616 p_moudle_hci_cmd_creat_bt_reconnect:
+0x675 002617 ifetch 6 ,contru 
+0x676 002618 store 6 ,mem_hci_plap 
+0x677 002619 ifetch 2 ,contru 
+0x678 002620 store 2 ,mem_page_to 
+0x679 002621 arg mem_link_key ,contw 
+0x67a 002622 arg 16 ,loopcnt 
+0x67b 002623 call uart_copy_rx_bytes 
+0x67c 002624 call check_link_key_load 
+0x67d 002625 call keyboard_stop_bluetooth_discovery 
+0x67e 002626 call app_bt_start_reconnect 
+0x67f 002627 branch module_hci_event_receive_valid_cmd 
+:      002633 p_hid_rx_process:
+0x680 002634 fetch 2 ,mem_l2cap_payload_ptr 
+0x681 002635 copy pdata ,contr 
+0x682 002636 ifetch 1 ,contr 
+0x683 002637 and pdata ,0x0f ,temp 
+0x684 002638 rshift4 pdata ,pdata 
+0x685 002639 beq hid_type_set_idle ,hid_rx_process_handshake 
+0x686 002640 beq hid_type_set_protocol ,hid_rx_process_handshake 
+0x687 002641 beq hid_type_data ,p_hid_rx_process_data 
+0x688 002642 beq hid_type_set_report ,p_hid_rx_process_set_report 
+0x689 002643 beq hid_type_control ,p_hid_rx_process_hid_control 
+0x68a 002644 beq hid_type_get_report ,hid_rx_process_handshake 
+0x68b 002645 rtn 
+:      002647 p_hid_rx_process_data:
+0x68c 002649 branch p_hid_rx_process_out_data 
+0x68d 002650 ifetch 2 ,contr 
+0x68e 002651 store 2 ,mem_pdatatemp 
+0x68f 002652 beq hid_report_id_kb ,p_hid_rx_process_data_hid_kb 
+0x690 002653 rtn 
+:      002654 p_hid_rx_process_out_data:
+0x691 002656 jam hci_event_receive_bt_hid_data ,mem_module_uart_opcode 
+0x692 002657 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x693 002658 pincrease -1 
+0x694 002659 icopy loopcnt 
+0x695 002661 call module_hci_prepare_tx 
+0x696 002662 fetch 2 ,mem_l2cap_payload_ptr 
+0x697 002664 icopy contr 
+0x698 002665 call uart_copy_tx_bytes_fast 
+0x699 002666 branch uartd_send 
+:      002669 p_hid_rx_process_data_hid_kb:
+0x69a 002670 jam hci_event_receive_bt_hid_data ,mem_module_uart_opcode 
+0x69b 002671 setarg 2 
+0x69c 002672 call module_hci_prepare_tx 
+0x69d 002673 fetch 2 ,mem_pdatatemp 
+0x69e 002674 istore 2 ,contwu 
+0x69f 002675 branch uartd_send 
+:      002677 p_hid_rx_process_set_report:
+0x6a0 002678 call p_hid_rx_process_data 
+0x6a1 002679 branch hid_rx_process_set_report + 1 
+:      002681 p_hid_rx_process_hid_control:
+0x6a2 002682 copy temp ,pdata 
+0x6a3 002683 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+0x6a4 002684 jam 1 ,mem_suspend_flag 
+0x6a5 002685 beq hid_control_p_suspend ,hid_rx_process_handshake 
+0x6a6 002686 jam 0 ,mem_suspend_flag 
+0x6a7 002687 beq hid_control_p_exitsuspend ,hid_rx_process_handshake 
+0x6a8 002688 rtn 
+              org 0x4000
+:      002696 start:
+0x4000 002697 call lpmstate 
+:      002698 soft_reset:
+0x4001 002699 bpatch patch00_0 ,mem_patch00 
+0x4002 002700 clear_stack 
+0x4003 002701 call initialize_radio 
+0x4004 002702 call init_param 
+0x4005 002703 call l2cap_init 
+0x4006 002704 bpatch patch00_1 ,mem_patch00 
+0x4007 002705 call rfcomm_init 
+0x4008 002706 call init_lmp 
+0x4009 002707 call ui_init 
+0x400a 002708 call app_init 
+0x400b 002709 bpatch patch00_2 ,mem_patch00 
+0x400c 002710 call app_lpm_init ,wake 
+0x400d 002711 call publickey_init 
+0x400e 002712 call lpm_recover_clk ,wake 
+:      002713 main_loop:
+0x400f 002714 bpatch patch00_3 ,mem_patch00 
+0x4010 002715 call sp_calc_sequence 
+0x4011 002716 call sp_calc_sequence_256 
+0x4012 002717 call sp_calc_sequence_256_check 
+0x4013 002718 call le_dispatch 
+0x4014 002719 bpatch patch00_4 ,mem_patch00 
+0x4015 002720 call idle_dispatch 
+0x4016 002721 call app_process_idle 
+0x4017 002722 call inquiry_dispatch 
+0x4018 002723 call inquiry_scan_dispatch 
+0x4019 002724 call page_scan_dispatch 
+0x401a 002725 call connection_dispatch 
+0x401b 002726 call lpm_dispatch 
+0x401c 002727 branch main_loop 
+:      002729 connection_dispatch:
+0x401d 002730 call connection_incontext 
+0x401e 002731 rtnmark0 mark_context 
+0x401f 002732 set0 mark_context ,mark 
+0x4020 002733 call context_save 
+0x4021 002734 branch le_disable 
+:      002736 connection_incontext:
+0x4022 002737 bpatch patch00_5 ,mem_patch00 
+0x4023 002738 call context_search_insniff 
+0x4024 002739 nbranch connection_nosniff ,zero 
+0x4025 002740 call context_load 
+0x4026 002741 add rega ,coffset_mode ,contr 
+0x4027 002742 ifetch 1 ,contr 
+0x4028 002743 bbit1 mode_le ,le_conn_dispatch 
+0x4029 002744 bbit1 mode_master ,master_dispatch 
+0x402a 002745 branch slave_dispatch 
+:      002746 connection_nosniff:
+0x402b 002747 call context_get_next 
+0x402c 002748 copy loopcnt ,null 
+0x402d 002749 rtn zero 
+0x402e 002750 call context_load 
+0x402f 002751 fetch 1 ,mem_state 
+0x4030 002752 bbit1 state_inpage ,master_page 
+0x4031 002753 fetch 1 ,mem_mode 
+0x4032 002754 bbit1 mode_master ,master_dispatch 
+0x4033 002755 branch slave_dispatch 
+:      002763 idle_dispatch:
+0x4034 002764 fetch 1 ,mem_hci_cmd 
+0x4035 002765 rtn blank 
+0x4036 002766 beq hci_cmd_inquiry ,idle_inquiry 
+0x4037 002767 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+0x4038 002768 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+0x4039 002769 beq hci_cmd_create_conn ,idle_create_conn 
+0x403a 002770 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+0x403b 002771 call context_search_conn_handle 
+0x403c 002772 rtn zero 
+0x403d 002773 call context_search_plap 
+0x403e 002774 rtn zero 
+:      002775 idle_exit:
+0x403f 002776 jam 0 ,mem_hci_cmd 
+0x4040 002777 rtn 
+:      002779 idle_le_create_conn:
+0x4041 002780 jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+0x4042 002781 jam 0 ,mem_hci_cmd 
+0x4043 002782 rtn 
+:      002784 idle_inquiry:
+0x4044 002785 set1 mark_inquiry_on ,mark 
+0x4045 002786 set0 mark_inquiry_trainb ,mark 
+0x4046 002787 jam param_ninquiry ,mem_ninqy_index 
+0x4047 002788 jam 31 ,mem_nfreq_index_inq 
+0x4048 002789 branch idle_exit 
+:      002791 idle_inquiry_cancel:
+0x4049 002792 set0 mark_inquiry_on ,mark 
+0x404a 002793 force 0 ,stop_watch 
+0x404b 002794 branch idle_exit 
+:      002796 idle_remote_name_req:
+0x404c 002797 call context_search_plap 
+0x404d 002798 rtn zero 
+0x404e 002799 force lmp_name_req ,temp 
+0x404f 002800 jam 5 ,mem_nameres_cnt 
+0x4050 002801 branch idle_start_page 
+:      002803 idle_create_conn:
+0x4051 002804 bpatch patch00_6 ,mem_patch00 
+:      002805 idle_create_conn_device:
+0x4052 002806 fetch 6 ,mem_hci_plap 
+0x4053 002807 branch idle_exit ,blank 
+0x4054 002808 jam reconnect_hid ,memui_reconnect_mode 
+0x4055 002810 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x4056 002811 branch idle_create_conn_cont 
+:      002813 idle_create_conn_cont:
+0x4057 002814 force lmp_version_req ,temp 
+:      002815 idle_start_page:
+0x4058 002816 bpatch patch00_7 ,mem_patch00 
+0x4059 002817 fetch 1 ,mem_page_mode 
+0x405a 002818 branch idle_page_mode_r0 ,blank 
+0x405b 002819 lshift3 pdata ,pdata 
+0x405c 002820 lshift4 pdata ,pdata 
+0x405d 002821 increase -1 ,pdata 
+:      002822 idle_page_mode_r0:
+0x405e 002823 store 1 ,mem_npage 
+0x405f 002824 store 1 ,mem_npage_index 
+0x4060 002825 jam 31 ,mem_nfreq_index_page 
+0x4061 002826 set0 mark_page_trainb ,mark 
+0x4062 002827 call context_new 
+0x4063 002828 nbranch idle_page_fail ,zero 
+0x4064 002829 call get_free_amaddr 
+0x4065 002830 store 1 ,mem_amaddr 
+0x4066 002831 storet 1 ,mem_lmo_opcode2 
+0x4067 002832 fetch 6 ,mem_hci_plap 
+0x4068 002833 store 6 ,mem_plap 
+0x4069 002834 bpatch patch01_0 ,mem_patch01 
+0x406a 002835 call timer_reinit 
+0x406b 002836 force 0 ,pdata 
+0x406c 002837 compare lmp_name_req ,temp ,0xff 
+0x406d 002838 nsetflag true ,state_init_seq ,pdata 
+0x406e 002839 set1 state_inpage ,pdata 
+0x406f 002840 store 1 ,mem_state 
+0x4070 002841 jam bt_evt_reconn_started ,mem_fifo_temp 
+0x4071 002842 call ui_ipc_send_event 
+0x4072 002843 force 0 ,pdata 
+0x4073 002844 setflag true ,smap_name_req ,pdata 
+0x4074 002845 store 1 ,mem_state_map 
+0x4075 002846 setarg 0 
+0x4076 002847 set1 mode_master ,pdata 
+0x4077 002848 store 1 ,mem_mode 
+0x4078 002849 enable master 
+0x4079 002850 call context_save 
+0x407a 002851 disable master 
+0x407b 002852 force page_length_timer ,queue 
+0x407c 002853 fetch 2 ,mem_page_to 
+0x407d 002854 call timer_init 
+0x407e 002855 branch idle_exit 
+:      002856 idle_page_fail:
+0x407f 002857 bpatch patch01_1 ,mem_patch01 
+0x4080 002858 fetch 6 ,mem_hci_plap 
+0x4081 002859 store 6 ,mem_plap 
+0x4082 002860 compare lmp_name_req ,temp ,0xff 
+0x4083 002861 branch idle_name_fail ,true 
+0x4084 002862 branch idle_exit 
+:      002863 idle_name_fail:
+0x4085 002864 arg mem_tmp_buffer ,contw 
+0x4086 002865 arg 8 ,loopcnt 
+0x4087 002866 call memset0 
+0x4088 002867 jam bt_evt_reconn_failed ,mem_fifo_temp 
+0x4089 002868 call ui_ipc_send_event 
+0x408a 002869 branch idle_exit 
+:      002876 inquiry_dispatch:
+0x408b 002877 rtnmark0 mark_inquiry_on 
+0x408c 002878 force inquiry_length_timer ,queue 
+0x408d 002879 call timer_check 
+0x408e 002880 nsetflag blank ,mark_inquiry_on ,mark 
+0x408f 002881 nbranch inquiry_start ,blank 
+0x4090 002882 rtn 
+:      002886 inquiry_start:
+0x4091 002887 bpatch patch01_2 ,mem_patch01 
+0x4092 002888 fetcht 2 ,mem_inq_window 
+0x4093 002889 force 4 ,queue 
+0x4094 002890 call sniff_check_window 
+0x4095 002891 rtn user 
+0x4096 002892 call afh_clear 
+0x4097 002893 force 0 ,freq_mode 
+:      002894 inquiry_restart:
+0x4098 002895 rtn timeout 
+0x4099 002896 set0 mark_fhs_already_good ,mark 
+0x409a 002897 set0 mark_fhs_eir ,mark 
+:      002898 inquiry_rx_restart:
+0x409b 002899 add clkn_bt ,1 ,bt_clk 
+0x409c 002900 isolate1 mark_inquiry_trainb ,mark 
+0x409d 002901 setflag true ,2 ,freq_mode 
+0x409e 002902 compare 0x00 ,bt_clk ,0x02 
+0x409f 002903 nbranch inquiry_receive ,true 
+:      002905 inquiry_transmit:
+0x40a0 002906 bpatch patch01_3 ,mem_patch01 
+0x40a1 002907 fetch 1 ,mem_inquiry_transmit 
+0x40a2 002908 increase 1 ,pdata 
+0x40a3 002909 store 1 ,mem_inquiry_transmit 
+0x40a4 002910 call fetch_giac 
+0x40a5 002911 call tx_radio_freq 
+0x40a6 002912 call fetch_diac 
+0x40a7 002913 call start_transmitter 
+0x40a8 002914 call start_tx_native 
+0x40a9 002915 call send_access_word 
+0x40aa 002916 call end_of_packet 
+0x40ab 002917 call inquiry_check_train 
+0x40ac 002918 branch inquiry_restart 
+:      002920 inquiry_check_train:
+0x40ad 002921 bpatch patch01_4 ,mem_patch01 
+0x40ae 002922 fetch 1 ,mem_nfreq_index_inq 
+0x40af 002923 increase -1 ,pdata 
+0x40b0 002924 store 1 ,mem_nfreq_index_inq 
+0x40b1 002925 rtn positive 
+0x40b2 002926 jam 31 ,mem_nfreq_index_inq 
+0x40b3 002927 fetch 1 ,mem_ninqy_index 
+0x40b4 002928 increase -1 ,pdata 
+0x40b5 002929 store 1 ,mem_ninqy_index 
+0x40b6 002930 rtn positive 
+0x40b7 002931 setflip mark_inquiry_trainb ,mark 
+0x40b8 002932 jam param_ninquiry ,mem_ninqy_index 
+0x40b9 002933 rtn 
+:      002935 inquiry_receive:
+0x40ba 002936 bpatch patch01_5 ,mem_patch01 
+0x40bb 002937 call fetch_giac 
+0x40bc 002938 call rx_radio_freq 
+0x40bd 002939 call fetch_diac 
+0x40be 002940 call start_rx_native 
+0x40bf 002941 call start_receiver 
+0x40c0 002942 call wait_access_clkn_rt 
+0x40c1 002943 branch inquiry_sync ,sync 
+0x40c2 002944 call inquiry_check_train 
+0x40c3 002945 branch inquiry_rx_restart 
+:      002946 inquiry_sync:
+0x40c4 002947 bpatch patch01_6 ,mem_patch01 
+0x40c5 002948 call save_rssi 
+0x40c6 002949 call scan_mode_whiten 
+0x40c7 002950 call receive_packet_whitened 
+0x40c8 002951 set0 mark_rxbuf_inuse ,mark 
+0x40c9 002952 rtnmark0 mark_fhs_already_good 
+:      002953 inquiry_receive_rtn:
+0x40ca 002954 bpatch patch01_7 ,mem_patch01 
+:      002955 inquiry_receive_eir_rtn:
+0x40cb 002956 fetch 1 ,mem_inquiry_rcv 
+0x40cc 002957 increase 1 ,pdata 
+0x40cd 002958 store 1 ,mem_inquiry_rcv 
+0x40ce 002959 rtn 
+:      002967 master_page:
+0x40cf 002968 bpatch patch02_0 ,mem_patch02 
+0x40d0 002969 enable master 
+0x40d1 002970 enable clknt 
+0x40d2 002971 fetch 2 ,mem_page_interval 
+0x40d3 002972 branch master_page_no_interval ,blank 
+0x40d4 002973 force page_interval_timer ,queue 
+0x40d5 002974 call timer_check 
+0x40d6 002975 nrtn blank 
+:      002976 master_page_no_interval:
+0x40d7 002977 bpatch patch02_1 ,mem_patch02 
+0x40d8 002978 fetcht 2 ,mem_page_window 
+0x40d9 002979 force 40 ,queue 
+0x40da 002980 call sniff_check_window 
+0x40db 002981 branch page_exit ,user 
+0x40dc 002982 force page_length_timer ,queue 
+0x40dd 002983 call timer_check 
+0x40de 002984 nbranch page_start ,blank 
+0x40df 002985 fetch 1 ,mem_state_map 
+0x40e0 002986 bbit1 smap_name_req ,master_npage_timeout 
+0x40e1 002987 branch master_page_timeout 
+:      002988 master_npage_timeout:
+0x40e2 002989 arg mem_tmp_buffer ,contw 
+0x40e3 002990 arg 8 ,loopcnt 
+0x40e4 002991 call memset0 
+:      002992 master_page_timeout:
+0x40e5 002993 bpatch patch02_2 ,mem_patch02 
+0x40e6 002994 jam 0 ,mem_state 
+0x40e7 002995 call init_lmp_work 
+0x40e8 002996 jam 0 ,memui_reconnect_mode 
+0x40e9 002997 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+0x40ea 002998 call ui_ipc_send_event 
+0x40eb 002999 branch page_exit 
+:      003001 page_start:
+0x40ec 003002 bpatch patch02_3 ,mem_patch02 
+0x40ed 003003 force 0 ,timeup 
+0x40ee 003004 until clkn_rt ,meet 
+0x40ef 003005 fetch 1 ,mem_page_clk 
+0x40f0 003006 increase -1 ,pdata 
+0x40f1 003007 ixor clkn_bt ,pdata 
+0x40f2 003008 compare 0 ,pdata ,3 
+0x40f3 003009 nbranch page_start ,true 
+0x40f4 003010 deposit am_addr 
+0x40f5 003011 store 1 ,mem_fhs_am_addr 
+0x40f6 003012 force 0 ,n_tx_slot 
+0x40f7 003013 force 0 ,freq_mode 
+:      003015 page_restart:
+0x40f8 003016 bpatch patch02_4 ,mem_patch02 
+0x40f9 003017 branch page_exit ,timeout 
+0x40fa 003018 call fetch_page_bt_adr 
+0x40fb 003019 arg param_rf_setup ,timeup 
+0x40fc 003020 until clkn_rt ,meet 
+:      003021 page_rx_restart:
+0x40fd 003022 bpatch patch02_5 ,mem_patch02 
+0x40fe 003023 fetch 4 ,mem_page_clk 
+0x40ff 003024 iforce bt_clk 
+0x4100 003025 increase 1 ,pdata 
+0x4101 003026 store 4 ,mem_page_clk 
+0x4102 003027 isolate1 mark_page_trainb ,mark 
+0x4103 003028 setflag true ,2 ,freq_mode 
+0x4104 003029 compare 0x00 ,bt_clk ,0x02 
+0x4105 003030 nbranch page_receive ,true 
+0x4106 003031 fetch 1 ,mem_page_transmit 
+0x4107 003032 increase 1 ,pdata 
+0x4108 003033 store 1 ,mem_page_transmit 
+0x4109 003034 call tx_radio_freq 
+0x410a 003035 call start_transmitter 
+0x410b 003036 call start_tx_native 
+0x410c 003037 call send_access_word 
+0x410d 003038 call end_of_packet 
+0x410e 003039 call page_check_train 
+0x410f 003040 branch page_restart 
+:      003041 page_exit:
+0x4110 003042 bpatch patch02_6 ,mem_patch02 
+0x4111 003043 disable master 
+0x4112 003044 fetch 2 ,mem_page_interval 
+0x4113 003045 rtn blank 
+0x4114 003046 force page_interval_timer ,queue 
+0x4115 003047 branch timer_init 
+:      003049 page_check_train:
+0x4116 003050 bpatch patch02_7 ,mem_patch02 
+0x4117 003051 fetch 1 ,mem_nfreq_index_page 
+0x4118 003052 increase -1 ,pdata 
+0x4119 003053 store 1 ,mem_nfreq_index_page 
+0x411a 003054 rtn positive 
+0x411b 003055 jam 31 ,mem_nfreq_index_page 
+0x411c 003056 fetch 1 ,mem_npage_index 
+0x411d 003057 increase -1 ,pdata 
+0x411e 003058 store 1 ,mem_npage_index 
+0x411f 003059 rtn positive 
+0x4120 003060 setflip mark_page_trainb ,mark 
+0x4121 003061 fetch 1 ,mem_npage 
+0x4122 003062 store 1 ,mem_npage_index 
+0x4123 003063 rtn 
+:      003065 page_receive:
+0x4124 003066 bpatch patch03_0 ,mem_patch03 
+0x4125 003067 call rx_radio_freq 
+0x4126 003068 call start_rx_native 
+0x4127 003069 call start_receiver 
+0x4128 003070 call wait_access_clkn_rt 
+0x4129 003071 branch page_sync ,sync 
+0x412a 003072 call page_check_train 
+0x412b 003073 branch page_rx_restart 
+:      003074 page_sync:
+0x412c 003075 call end_of_packet 
+0x412d 003076 fetch 1 ,mem_page_rcv 
+0x412e 003077 increase 1 ,pdata 
+0x412f 003078 store 1 ,mem_page_rcv 
+0x4130 003079 force 0 ,stop_watch 
+0x4131 003080 fetch 4 ,mem_page_clk 
+:      003081 page_send_fhs:
+0x4132 003082 bpatch patch03_1 ,mem_patch03 
+0x4133 003083 call rf_setup_time_master_slot 
+0x4134 003084 call fetch_page_bt_adr 
+0x4135 003085 increase 1 ,n_tx_slot 
+:      003086 page_send_fhs_continue:
+0x4136 003087 and_into 0x1fd ,bt_clk 
+0x4137 003088 and_into 0x1fc ,freq_mode 
+0x4138 003089 call tx_radio_freq 
+0x4139 003090 call start_transmitter 
+0x413a 003091 call start_tx_native 
+0x413b 003092 call send_access_word 
+0x413c 003093 deposit clkn_bt 
+0x413d 003094 store 4 ,mem_clkn_bt 
+0x413e 003095 force 0 ,am_addr 
+0x413f 003096 force type_fhs ,type 
+0x4140 003097 call scan_mode_whiten 
+0x4141 003098 call transmit_packet_whitened 
+:      003099 page_wait_fhs_reply:
+0x4142 003100 bpatch patch03_2 ,mem_patch03 
+0x4143 003101 call rf_setup_time_slave_slot 
+0x4144 003102 or_into 0x02 ,bt_clk 
+0x4145 003103 and_into 0x1fc ,freq_mode 
+0x4146 003104 call rx_radio_freq 
+0x4147 003105 call start_rx_native 
+0x4148 003106 call start_receiver 
+0x4149 003107 call wait_access_clkn_rt 
+0x414a 003108 call end_of_packet ,sync 
+0x414b 003109 branch page_wait_fhs_reply_ok ,sync 
+0x414c 003110 fetch 1 ,mem_fhs_wait_counter 
+0x414d 003111 branch page_restart ,blank 
+0x414e 003112 increase -1 ,pdata 
+0x414f 003113 store 1 ,mem_fhs_wait_counter 
+0x4150 003114 branch page_send_fhs 
+:      003116 page_wait_fhs_reply_ok:
+0x4151 003117 bpatch patch03_3 ,mem_patch03 
+0x4152 003118 fetch 1 ,mem_page_rcv_fhs 
+0x4153 003119 increase 1 ,pdata 
+0x4154 003120 store 1 ,mem_page_rcv_fhs 
+0x4155 003121 call prepare_newconn 
+:      003122 master_newconn_loop:
+0x4156 003123 call master_newconn_once 
+0x4157 003124 branch newconn_poll_responded ,sync 
+0x4158 003125 call new_conn_timeout 
+0x4159 003126 nbranch master_newconn_loop ,blank 
+0x415a 003127 branch page_restart 
+:      003129 newconn_poll_responded:
+0x415b 003130 bpatch patch03_4 ,mem_patch03 
+0x415c 003131 fetch 1 ,mem_state 
+0x415d 003132 set0 state_inpage ,pdata 
+0x415e 003133 store 1 ,mem_state 
+0x415f 003134 call newconn_init 
+0x4160 003135 disable master 
+0x4161 003136 rtn 
+:      003139 master_dispatch:
+0x4162 003140 bpatch patch03_5 ,mem_patch03 
+0x4163 003141 enable master 
+0x4164 003142 enable clknt 
+0x4165 003143 call role_switch_master 
+0x4166 003144 rtn user 
+0x4167 003145 call check_bt_disabled 
+0x4168 003146 call rf_setup_time_master_slot 
+0x4169 003147 add clkn_bt ,1 ,bt_clk 
+0x416a 003148 call fetch_self_bt_adr 
+0x416b 003149 force 0x03 ,freq_mode 
+0x416c 003150 call scheduler_tx_l2cap_pkt 
+0x416d 003151 call prepare_tx 
+0x416e 003152 call tx_radio_freq 
+0x416f 003153 call start_transmitter 
+0x4170 003154 call start_tx_native 
+0x4171 003155 call send_access_word 
+0x4172 003156 call transmit_packet 
+:      003157 master_loop:
+0x4173 003158 bpatch patch03_6 ,mem_patch03 
+0x4174 003159 call parse_lmp 
+0x4175 003160 call master_conn_recv_packet 
+0x4176 003161 nbranch master_notmatch ,match 
+0x4177 003162 call supervision_flush 
+0x4178 003163 call parse_l2cap 
+0x4179 003164 fetch 1 ,mem_master_rcvcnt 
+0x417a 003165 increase 1 ,pdata 
+0x417b 003166 store 1 ,mem_master_rcvcnt 
+:      003167 master_notmatch:
+0x417c 003168 bpatch patch03_7 ,mem_patch03 
+0x417d 003169 call scheduler_process 
+0x417e 003170 call check_master_disconnect 
+0x417f 003171 nrtn master 
+0x4180 003172 call check_attempt 
+0x4181 003173 nbranch master_attempt ,blank 
+:      003174 master_exit:
+0x4182 003175 disable master 
+0x4183 003176 rtn 
+:      003178 master_attempt:
+0x4184 003179 call prepare_tx 
+0x4185 003180 call master_conn_send_packet 
+0x4186 003181 branch master_loop 
+:      003184 check_master_disconnect:
+0x4187 003185 branch check_master_match ,match 
+0x4188 003186 call supervision_update 
+0x4189 003187 branch master_disconnect ,positive 
+:      003188 check_master_match:
+0x418a 003189 call check_disconnect_timeout 
+0x418b 003190 nbranch master_disconnect ,user 
+0x418c 003191 fetch 1 ,mem_state_map 
+0x418d 003192 rtnbit0 smap_name_req 
+0x418e 003193 rtnbit1 smap_name_res 
+0x418f 003194 fetch 1 ,mem_op 
+0x4190 003195 rtnbit1 op_disconn 
+0x4191 003196 call conn_timer_expired 
+0x4192 003197 nrtn blank 
+0x4193 003198 fetch 1 ,mem_nameres_cnt 
+0x4194 003199 increase -1 ,pdata 
+0x4195 003200 store 1 ,mem_nameres_cnt 
+0x4196 003201 nrtn blank 
+0x4197 003202 branch lmp_disconnect 
+:      003204 master_disconnect:
+0x4198 003205 bpatch patch04_0 ,mem_patch04 
+0x4199 003206 call quit_connection 
+0x419a 003207 disable master 
+0x419b 003208 fetch 1 ,mem_state_map 
+0x419c 003209 bbit1 smap_name_req ,master_name_disconnect 
+0x419d 003210 rtn 
+:      003212 master_name_disconnect:
+0x419e 003213 fetch 1 ,mem_state_map 
+0x419f 003214 rtnbit1 smap_name_res 
+:      003215 master_name_error:
+0x41a0 003216 arg mem_tmp_buffer ,contw 
+0x41a1 003217 arg 8 ,loopcnt 
+0x41a2 003218 branch memset0 
+:      003220 check_disconnect_timeout:
+0x41a3 003221 bpatch patch04_1 ,mem_patch04 
+0x41a4 003222 enable user 
+0x41a5 003223 fetch 1 ,mem_op 
+0x41a6 003224 rtnbit0 op_disconn 
+0x41a7 003225 call conn_timer_expired 
+0x41a8 003226 nrtn blank 
+0x41a9 003227 branch disable_user 
+:      003229 conn_timer_expired:
+0x41aa 003230 fetch 1 ,mem_conn_timer 
+0x41ab 003231 increase -1 ,pdata 
+0x41ac 003232 store 1 ,mem_conn_timer 
+0x41ad 003233 rtn 
+:      003235 linkkey_ready:
+0x41ae 003236 bpatch patch04_2 ,mem_patch04 
+0x41af 003237 fetch 1 ,mem_state 
+0x41b0 003238 bbit1 state_linkkey ,linkkey_set 
+0x41b1 003239 fetch 1 ,mem_pairing_auth 
+0x41b2 003240 branch linkkey_set ,blank 
+0x41b3 003241 jam defalt_pairing_auth ,mem_pairing_auth 
+0x41b4 003242 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+0x41b5 003243 call ui_ipc_send_event 
+0x41b6 003244 branch linkkey_set 
+:      003245 linkkey_set:
+0x41b7 003246 bpatch patch04_3 ,mem_patch04 
+0x41b8 003247 call context_traverse_linkkey 
+0x41b9 003248 fetch 1 ,mem_state 
+0x41ba 003249 set1 state_linkkey ,pdata 
+0x41bb 003250 store 1 ,mem_state 
+0x41bc 003251 jam 1 ,mem_link_key_exists 
+0x41bd 003252 fetch 1 ,mem_conn_sm 
+0x41be 003253 bne conn_sm_pairing ,linkkey_set_continue 
+:      003254 linkkey_set_continue:
+0x41bf 003255 rtn 
+:      003257 generate_linkkey_continue:
+0x41c0 003258 jam pairing_auth ,mem_pairing_auth 
+:      003259 clear_linkstate:
+0x41c1 003260 fetch 1 ,mem_state 
+0x41c2 003261 set0 state_linkkey ,pdata 
+0x41c3 003262 store 1 ,mem_state 
+0x41c4 003263 rtn 
+:      003267 role_switch_check:
+0x41c5 003268 bpatch patch04_4 ,mem_patch04 
+0x41c6 003269 disable user 
+0x41c7 003270 fetch 2 ,mem_tsniff 
+0x41c8 003271 arg 0xffff ,temp 
+0x41c9 003272 isub temp ,null 
+0x41ca 003273 nrtn zero 
+0x41cb 003274 fetch 4 ,mem_sniff_anchor 
+0x41cc 003275 branch role_switch_clkn ,clknt 
+0x41cd 003276 isub clke_bt ,pdata 
+0x41ce 003277 branch role_switch_clke 
+:      003278 role_switch_clkn:
+0x41cf 003279 isub clkn_bt ,pdata 
+:      003280 role_switch_clke:
+0x41d0 003281 sub pdata ,4 ,null 
+0x41d1 003282 nrtn positive 
+0x41d2 003283 force 0 ,pdata 
+0x41d3 003284 store 2 ,mem_tsniff 
+0x41d4 003285 branch enable_user 
+:      003289 role_switch_prepare:
+0x41d5 003290 copy pdata ,temp 
+0x41d6 003291 bpatch patch04_5 ,mem_patch04 
+0x41d7 003292 storet 4 ,mem_sniff_anchor 
+:      003293 role_switch_prepare0:
+0x41d8 003294 jam switch_flag_accept ,mem_switch_flag 
+0x41d9 003295 setarg 0xffff 
+0x41da 003296 store 2 ,mem_tsniff 
+0x41db 003297 jam 1 ,mem_sniff_attempt 
+0x41dc 003298 rtn 
+:      003301 role_switch_master:
+0x41dd 003302 bpatch patch04_6 ,mem_patch04 
+0x41de 003303 call role_switch_check 
+0x41df 003304 nrtn user 
+0x41e0 003305 disable user 
+0x41e1 003306 jam param_newconnto ,mem_newconnto_counter 
+0x41e2 003307 set0 mark_fhs_already_good ,mark 
+:      003308 roles_waitfhs_loop:
+0x41e3 003309 call rf_setup_time_master_slot 
+0x41e4 003310 call master_recv_packet 
+0x41e5 003311 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+0x41e6 003312 call new_conn_timeout 
+0x41e7 003313 nbranch roles_waitfhs_loop ,blank 
+:      003314 role_switch_fail_master:
+0x41e8 003315 bpatch patch04_7 ,mem_patch04 
+0x41e9 003316 disable user 
+0x41ea 003317 deposit clkn_bt 
+0x41eb 003318 store 4 ,mem_next_btclk 
+0x41ec 003319 enable clknt 
+0x41ed 003320 enable master 
+0x41ee 003321 jam bt_evt_switch_fail_master ,mem_fifo_temp 
+0x41ef 003322 branch ui_ipc_send_event 
+:      003324 roles_replyto_fhs:
+0x41f0 003325 bpatch patch05_0 ,mem_patch05 
+0x41f1 003326 call rf_setup_time_slave_slot 
+0x41f2 003327 arg type_id ,type 
+0x41f3 003328 call master_send_packet 
+0x41f4 003329 disable clknt 
+0x41f5 003330 disable master 
+0x41f6 003331 call apply_switch_clke 
+0x41f7 003332 call prepare_newconn 
+:      003333 roles_newconns_loop:
+0x41f8 003334 bpatch patch05_1 ,mem_patch05 
+0x41f9 003335 call slave_newconn_once 
+0x41fa 003336 branch roles_newconns_responded ,match 
+0x41fb 003337 call new_conn_timeout 
+0x41fc 003338 nbranch roles_newconns_loop ,blank 
+0x41fd 003339 branch role_switch_fail_master 
+:      003340 roles_newconns_responded:
+0x41fe 003341 fetch 1 ,mem_mode 
+0x41ff 003342 set0 mode_master ,pdata 
+0x4200 003343 store 1 ,mem_mode 
+0x4201 003344 call supervision_flush 
+0x4202 003345 call calc_clke_offset 
+0x4203 003346 enable user 
+0x4204 003347 jam bt_evt_switch_success_master ,mem_fifo_temp 
+0x4205 003348 branch ui_ipc_send_event 
+:      003353 context_load:
+0x4206 003354 bpatch patch05_2 ,mem_patch05 
+0x4207 003355 set1 mark_context ,mark 
+0x4208 003356 deposit rega 
+0x4209 003357 store 2 ,mem_context_ptr 
+0x420a 003358 force context_size ,loopcnt 
+0x420b 003359 arg mem_le_state ,contw 
+0x420c 003360 add rega ,coffset_mode ,contr 
+0x420d 003361 ifetch 1 ,contr 
+0x420e 003362 copy rega ,contr 
+0x420f 003363 bbit1 mode_le ,memcpy 
+0x4210 003364 arg mem_state ,contw 
+0x4211 003365 call memcpy 
+0x4212 003366 disable attempt 
+0x4213 003367 fetch 1 ,mem_amaddr 
+0x4214 003368 iforce am_addr 
+0x4215 003369 jam 1 ,mem_current_sniff_attempt 
+0x4216 003370 branch context_load_master ,master 
+0x4217 003371 jam 1 ,mem_current_sniff_attempt 
+:      003372 context_load_master:
+0x4218 003373 fetch 1 ,mem_state 
+0x4219 003374 rtnbit0 state_insniff 
+0x421a 003375 fetch 1 ,mem_sniff_attempt 
+0x421b 003376 store 1 ,mem_current_sniff_attempt 
+0x421c 003377 fetch 1 ,mem_sniff_timeout 
+0x421d 003378 store 1 ,mem_current_sniff_timeout 
+0x421e 003379 rtn 
+:      003381 context_save:
+0x421f 003382 bpatch patch05_3 ,mem_patch05 
+0x4220 003383 fetch 2 ,mem_context_ptr 
+0x4221 003384 iforce contw 
+0x4222 003385 force context_size ,loopcnt 
+0x4223 003386 arg mem_le_state ,contr 
+0x4224 003387 branch memcpy ,le 
+0x4225 003388 arg mem_state ,contr 
+0x4226 003389 branch memcpy 
+:      003393 context_get_next:
+0x4227 003394 arg context_num ,loopcnt 
+0x4228 003395 fetcht 1 ,mem_current_context 
+:      003396 context_get_next_loop:
+0x4229 003397 increase 1 ,temp 
+0x422a 003398 compare context_num ,temp ,0xff 
+0x422b 003399 nbranch context_get_next_cont ,true 
+0x422c 003400 arg 0 ,temp 
+:      003401 context_get_next_cont:
+0x422d 003402 storet 1 ,mem_current_context 
+0x422e 003403 mul32 temp ,context_size ,pdata 
+0x422f 003404 arg mem_context ,rega 
+0x4230 003405 iadd rega ,rega 
+0x4231 003406 ifetch 1 ,rega 
+0x4232 003407 bbit1 state_insniff ,context_get_next_sniff 
+0x4233 003408 rtnbit1 state_inconn 
+0x4234 003409 rtnbit1 state_inpage 
+:      003410 context_get_next_sniff:
+0x4235 003411 loop context_get_next_loop 
+0x4236 003412 rtn 
+:      003414 context_new:
+0x4237 003415 bpatch patch05_4 ,mem_patch05 
+0x4238 003416 arg context_search_empty ,regc 
+0x4239 003417 call context_search 
+0x423a 003418 nrtn zero 
+0x423b 003419 deposit rega 
+0x423c 003420 store 2 ,mem_context_ptr 
+0x423d 003421 force 0 ,null 
+0x423e 003422 rtn 
+:      003426 context_check_all_wack:
+0x423f 003427 call check_esco_amaddr 
+0x4240 003428 branch context_check_esco_wack ,true 
+0x4241 003429 fetch 2 ,mem_context_ptr 
+0x4242 003430 add pdata ,coffset_arq ,contw 
+0x4243 003431 fetch 1 ,mem_arq 
+0x4244 003432 istore 1 ,contw 
+0x4245 003433 arg context_check_a_wack ,regc 
+0x4246 003434 branch context_search 
+:      003436 context_check_esco_wack:
+0x4247 003437 fetch 1 ,mem_arq 
+0x4248 003438 isolate1 wack ,pdata 
+0x4249 003439 branch context_esco_wack ,true 
+0x424a 003440 force 1 ,null 
+0x424b 003441 rtn 
+:      003442 context_esco_wack:
+0x424c 003443 force 0 ,null 
+0x424d 003444 rtn 
+:      003447 context_check_idle:
+0x424e 003448 arg context_check_inconn ,regc 
+0x424f 003449 branch context_search 
+:      003451 context_traverse_linkkey:
+0x4250 003452 fetcht 2 ,mem_context_ptr 
+0x4251 003453 arg context_traverse_clearkey ,regc 
+0x4252 003454 branch context_search 
+:      003458 context_search_conn_handle:
+0x4253 003459 fetcht 1 ,mem_hci_conn_handle 
+:      003460 context_search_conn_handle2:
+0x4254 003461 arg context_search_handle ,regc 
+0x4255 003462 branch context_search 
+:      003464 context_search_plap:
+0x4256 003465 bpatch patch05_5 ,mem_patch05 
+0x4257 003466 fetcht 6 ,mem_hci_plap 
+:      003467 context_search_plap2:
+0x4258 003468 arg context_search_lap ,regc 
+0x4259 003469 branch context_search 
+:      003471 context_search_insniff:
+0x425a 003472 arg context_search_sniff ,regc 
+0x425b 003473 branch context_search 
+:      003475 context_search_sniff_window:
+0x425c 003476 arg context_search_window ,regc 
+:      003477 context_search:
+0x425d 003478 bpatch patch05_6 ,mem_patch05 
+0x425e 003479 arg mem_context ,rega 
+0x425f 003480 arg context_num ,loopcnt 
+:      003481 context_search_loop:
+0x4260 003482 ifetch 1 ,rega 
+0x4261 003483 copy regc ,pc 
+:      003484 context_search_next:
+0x4262 003485 increase context_size ,rega 
+0x4263 003486 loop context_search_loop 
+0x4264 003487 force 1 ,null 
+0x4265 003488 rtn 
+:      003490 context_search_empty:
+0x4266 003491 bbit1 state_inconn ,context_search_next 
+0x4267 003492 bbit1 state_inpage ,context_search_next 
+0x4268 003493 force 0 ,null 
+0x4269 003494 rtn 
+:      003496 context_search_lap:
+0x426a 003497 bbit1 state_inpage ,context_search_lap_cont 
+0x426b 003498 bbit0 state_inconn ,context_search_next 
+:      003499 context_search_lap_cont:
+0x426c 003500 add rega ,coffset_plap ,contr 
+0x426d 003501 ifetch 6 ,contr 
+0x426e 003502 isub temp ,null 
+0x426f 003503 rtn zero 
+0x4270 003504 branch context_search_next 
+:      003506 context_search_handle:
+0x4271 003507 bbit0 state_inconn ,context_search_next 
+0x4272 003508 add rega ,coffset_conn_handle ,contr 
+0x4273 003509 ifetch 1 ,contr 
+0x4274 003510 isub temp ,null 
+0x4275 003511 rtn zero 
+0x4276 003512 branch context_search_next 
+:      003514 context_search_sniff:
+0x4277 003515 bbit0 state_insniff ,context_search_next 
+:      003516 context_search_sniff_loop:
+0x4278 003517 call context_get_anchor 
+0x4279 003518 call sign_pdata_temp 
+0x427a 003519 isub temp ,pdata 
+0x427b 003520 increase 1 ,pdata 
+0x427c 003521 branch context_search_sniff_miss ,positive 
+0x427d 003522 copy contr ,regb 
+0x427e 003523 store 9 ,mem_temp 
+0x427f 003524 fetch 1 ,mem_le_sc_calc 
+0x4280 003525 nbranch context_search_sniff_sc ,blank 
+0x4281 003526 fetch 9 ,mem_temp 
+0x4282 003527 copy regb ,contr 
+0x4283 003528 increase 5 ,pdata 
+0x4284 003529 branch context_search_meet1 
+:      003530 context_search_sniff_sc:
+0x4285 003531 fetch 9 ,mem_temp 
+0x4286 003532 copy regb ,contr 
+0x4287 003533 increase 20 ,pdata 
+:      003534 context_search_meet1:
+0x4288 003535 nbranch context_search_next ,positive 
+:      003536 context_search_meet:
+0x4289 003537 copy temp ,bt_clk 
+0x428a 003538 call context_next_anchor 
+0x428b 003539 force 0 ,null 
+0x428c 003540 rtn 
+:      003543 context_search_sniff_miss:
+0x428d 003544 iforce regb 
+0x428e 003545 add rega ,coffset_tsniff ,contr 
+0x428f 003546 ifetch 2 ,contr 
+0x4290 003547 branch context_search_meet ,blank 
+0x4291 003548 call context_next_anchor 
+0x4292 003549 branch context_search_sniff_loop 
+:      003551 sign_pdata_temp:
+0x4293 003552 rshift16 pdata ,timeup 
+0x4294 003553 rshift8 timeup ,timeup 
+0x4295 003554 branch sign_pdata_temp_p0 ,zero 
+0x4296 003555 compare 0xf ,timeup ,0xf 
+0x4297 003556 nrtn true 
+0x4298 003557 rshift16 temp ,timeup 
+0x4299 003558 rshift8 timeup ,timeup 
+0x429a 003559 nrtn zero 
+0x429b 003560 set1 28 ,temp 
+0x429c 003561 rtn 
+:      003562 sign_pdata_temp_p0:
+0x429d 003563 rshift16 temp ,timeup 
+0x429e 003564 rshift8 timeup ,timeup 
+0x429f 003565 compare 0xf ,timeup ,0xf 
+0x42a0 003566 nrtn true 
+0x42a1 003567 set1 28 ,pdata 
+0x42a2 003568 rtn 
+:      003570 context_check_inconn:
+0x42a3 003571 bbit0 state_inconn ,context_search_next 
+0x42a4 003572 force 0 ,null 
+0x42a5 003573 rtn 
+:      003575 context_check_a_wack:
+0x42a6 003576 bbit0 state_inconn ,context_search_next 
+0x42a7 003577 add rega ,coffset_mode ,contr 
+0x42a8 003578 ifetch 1 ,contr 
+0x42a9 003579 bbit1 mode_le ,context_search_next 
+0x42aa 003580 add rega ,coffset_arq ,contr 
+0x42ab 003581 ifetch 1 ,contr 
+0x42ac 003582 bbit0 wack ,context_search_next 
+0x42ad 003583 force 0 ,null 
+0x42ae 003584 rtn 
+:      003586 context_get_anchor:
+0x42af 003587 add rega ,coffset_mode ,contr 
+0x42b0 003588 ifetcht 1 ,contr 
+0x42b1 003589 deposit clkn_bt 
+0x42b2 003590 isolate1 mode_master ,temp 
+0x42b3 003591 add rega ,coffset_sniff_anchor ,contr 
+0x42b4 003592 ifetcht 4 ,contr 
+0x42b5 003593 rtn true 
+0x42b6 003594 add rega ,coffset_clk_offset ,contr 
+0x42b7 003595 ifetch 6 ,contr 
+0x42b8 003596 call calc_clke2 
+0x42b9 003597 deposit clke_bt 
+0x42ba 003598 rtn 
+:      003600 context_next_anchor:
+0x42bb 003601 add rega ,coffset_tsniff ,contr 
+0x42bc 003602 add rega ,coffset_sniff_anchor ,contw 
+0x42bd 003603 ifetch 2 ,contr 
+0x42be 003604 iadd temp ,timeup 
+0x42bf 003605 deposit timeup 
+0x42c0 003606 istore 4 ,contw 
+0x42c1 003607 branch le_context_nexthop 
+:      003610 context_search_window:
+0x42c2 003611 bbit0 state_insniff ,context_search_next 
+0x42c3 003612 call context_get_anchor 
+0x42c4 003613 iadd stop_watch ,pdata 
+0x42c5 003614 iadd stop_watch ,pdata 
+0x42c6 003615 iadd queue ,pdata 
+0x42c7 003616 isub temp ,null 
+0x42c8 003617 nbranch context_search_next ,positive 
+0x42c9 003618 force 0 ,null 
+0x42ca 003619 rtn 
+:      003621 context_traverse_clearkey:
+0x42cb 003622 bbit0 state_inconn ,context_search_next 
+0x42cc 003623 deposit temp 
+0x42cd 003624 isub rega ,null 
+0x42ce 003625 branch context_search_next ,null 
+0x42cf 003626 add rega ,coffset_mode ,contr 
+0x42d0 003627 ifetch 1 ,contr 
+0x42d1 003628 bbit1 mode_le ,context_search_next 
+0x42d2 003629 ifetch 1 ,rega 
+0x42d3 003630 set0 state_linkkey ,pdata 
+0x42d4 003631 istore 1 ,rega 
+0x42d5 003632 branch context_search_next 
+:      003635 master_conn_send_packet:
+0x42d6 003636 bpatch patch05_7 ,mem_patch05 
+0x42d7 003637 call rf_setup_time_master_slot 
+:      003638 master_send_packet:
+0x42d8 003639 add clkn_bt ,1 ,bt_clk 
+0x42d9 003640 call fetch_self_bt_adr 
+0x42da 003641 force 0x03 ,freq_mode 
+0x42db 003642 call tx_radio_freq 
+0x42dc 003643 call start_transmitter 
+0x42dd 003644 call start_tx_native 
+0x42de 003645 call send_access_word 
+0x42df 003646 branch transmit_packet 
+:      003648 master_conn_recv_packet:
+0x42e0 003649 bpatch patch06_0 ,mem_patch06 
+0x42e1 003650 call rf_setup_time_slave_slot 
+:      003651 master_recv_packet:
+0x42e2 003652 add clkn_bt ,1 ,bt_clk 
+0x42e3 003653 call fetch_self_bt_adr 
+0x42e4 003654 force 0x03 ,freq_mode 
+0x42e5 003655 call rx_radio_freq 
+0x42e6 003656 call init_rx_packet_flags 
+0x42e7 003657 call prep_crypt 
+0x42e8 003658 call start_rx_native 
+0x42e9 003659 call start_receiver 
+:      003660 master_rx_conn_finish_packet:
+0x42ea 003661 call wait_access_clkn_rt 
+0x42eb 003662 nrtn sync 
+0x42ec 003663 call save_rssi 
+0x42ed 003664 branch receive_packet 
+:      003668 master_newconn_once:
+0x42ee 003669 bpatch patch06_1 ,mem_patch06 
+0x42ef 003670 fetch 1 ,mem_fhs_am_addr 
+0x42f0 003671 iforce am_addr 
+0x42f1 003672 force type_poll ,type 
+0x42f2 003673 call master_conn_send_packet 
+0x42f3 003674 branch master_conn_recv_packet 
+:      003685 inquiry_scan_dispatch:
+0x42f4 003686 fetch 1 ,mem_scan_mode 
+0x42f5 003687 rtnbit0 inq_scan_mode 
+0x42f6 003688 force iscan_interval_timer ,queue 
+0x42f7 003689 call timer_check 
+0x42f8 003690 nrtn blank 
+0x42f9 003691 fetcht 2 ,mem_iscan_window 
+0x42fa 003692 force 4 ,queue 
+0x42fb 003693 call sniff_check_window 
+0x42fc 003694 rtn user 
+0x42fd 003695 call inquiry_scan_start 
+0x42fe 003696 force iscan_interval_timer ,queue 
+0x42ff 003697 fetch 2 ,mem_iscan_interval 
+0x4300 003698 nbranch timer_init ,sync 
+0x4301 003699 random pdata 
+0x4302 003700 iand mask3ff ,pdata 
+0x4303 003701 branch timer_init 
+:      003704 inquiry_scan_start:
+0x4304 003705 bpatch patch06_2 ,mem_patch06 
+0x4305 003706 jam 0 ,mem_fhs_am_addr 
+0x4306 003707 disable clknt 
+0x4307 003708 disable attempt 
+0x4308 003709 call afh_clear 
+0x4309 003710 and clkn_bt ,0x1fc ,bt_clk 
+0x430a 003711 force 0x01 ,freq_mode 
+0x430b 003712 call fetch_giac 
+0x430c 003713 call rx_radio_freq 
+0x430d 003714 setflip mark_inquiry_state ,mark 
+0x430e 003715 fetch 1 ,mem_inquiryscan_waitcnt 
+0x430f 003716 increase 1 ,pdata 
+0x4310 003717 store 1 ,mem_inquiryscan_waitcnt 
+0x4311 003718 call fetch_diac 
+0x4312 003719 call start_receiver 
+0x4313 003720 call wait_access_forever 
+0x4314 003721 nrtn sync 
+0x4315 003722 bpatch patch06_3 ,mem_patch06 
+0x4316 003723 force 0 ,stop_watch 
+0x4317 003724 call shutdown_radio 
+0x4318 003725 fetch 1 ,mem_inquiryscan_rcvcnt 
+0x4319 003726 increase 1 ,pdata 
+0x431a 003727 store 1 ,mem_inquiryscan_rcvcnt 
+0x431b 003728 call fetch_giac 
+0x431c 003729 call rf_setup_time_slave_slot 
+0x431d 003730 or_into 0x002 ,bt_clk 
+0x431e 003731 force 0x01 ,freq_mode 
+0x431f 003732 call tx_radio_freq 
+0x4320 003733 call fetch_diac 
+0x4321 003734 call start_transmitter 
+0x4322 003735 call start_tx_external 
+0x4323 003736 deposit clkn_bt 
+0x4324 003737 store 4 ,mem_clkn_bt 
+0x4325 003738 call send_access_word 
+0x4326 003739 force type_fhs ,type 
+0x4327 003740 force 0 ,am_addr 
+0x4328 003741 call scan_mode_whiten 
+0x4329 003742 call transmit_packet_whitened 
+0x432a 003743 call send_eir 
+0x432b 003744 and_into 0x1fd ,bt_clk 
+0x432c 003745 increase 1 ,n_tx_slot 
+0x432d 003746 rtn 
+:      003748 send_eir:
+0x432e 003749 bpatch patch06_4 ,mem_patch06 
+0x432f 003750 fetch 1 ,mem_eir_enable 
+0x4330 003751 rtn blank 
+0x4331 003752 arg mem_eir ,contw 
+0x4332 003753 fetch 1 ,mem_local_name_length 
+0x4333 003754 copy pdata ,loopcnt 
+0x4334 003755 increase 1 ,pdata 
+0x4335 003756 istore 1 ,contw 
+0x4336 003757 copy contw ,temp 
+0x4337 003758 increase 1 ,pdata 
+0x4338 003759 store 2 ,mem_tx_len 
+0x4339 003760 copy temp ,contw 
+0x433a 003761 setarg 0x09 
+0x433b 003762 istore 1 ,contw 
+0x433c 003763 arg mem_local_name ,contr 
+0x433d 003764 call memcpy 
+0x433e 003766 arg mem_all_uuid_128bits ,regc 
+0x433f 003767 arg 4 ,loopcnt 
+0x4340 003768 call get_all_uuid 
+0x4341 003769 arg mem_all_uuid_16bits ,regc 
+0x4342 003770 arg 1 ,loopcnt 
+0x4343 003771 call get_all_uuid 
+0x4344 003773 force type_dm3 ,type 
+0x4345 003774 jam 2 ,mem_tx_lch 
+0x4346 003775 setarg mem_eir 
+0x4347 003776 store 2 ,mem_txptr 
+0x4348 003777 call rf_setup_time_slave_slot 
+0x4349 003778 call tx_radio_freq 
+0x434a 003779 call start_transmitter 
+0x434b 003780 call start_tx_external 
+0x434c 003781 call send_access_word 
+0x434d 003782 call scan_mode_whiten 
+0x434e 003783 call transmit_packet_whitened 
+0x434f 003784 rtn 
+:      003787 get_all_uuid:
+0x4350 003788 copy contw ,temp 
+0x4351 003789 copy regc ,contr 
+0x4352 003790 ifetch 1 ,contr 
+0x4353 003791 rtn blank 
+:      003792 lshift_loop:
+0x4354 003793 lshift pdata ,pdata 
+0x4355 003794 loop lshift_loop 
+0x4356 003795 copy pdata ,rega 
+0x4357 003796 increase 2 ,pdata 
+0x4358 003797 copy pdata ,queue 
+0x4359 003798 fetch 2 ,mem_tx_len 
+0x435a 003799 iadd queue ,pdata 
+0x435b 003800 store 2 ,mem_tx_len 
+0x435c 003801 copy temp ,contw 
+0x435d 003802 copy rega ,pdata 
+0x435e 003803 increase 1 ,pdata 
+0x435f 003804 istore 1 ,contw 
+0x4360 003805 copy regc ,contr 
+0x4361 003806 ifetch 1 ,contr 
+0x4362 003807 ifetch 1 ,contr 
+0x4363 003808 istore 1 ,contw 
+0x4364 003809 copy rega ,loopcnt 
+0x4365 003810 branch memcpy 
+:      003816 page_scan_dispatch:
+0x4366 003817 fetch 1 ,mem_scan_mode 
+0x4367 003818 rtnbit0 page_scan_mode 
+0x4368 003819 force pscan_interval_timer ,queue 
+0x4369 003820 call timer_check 
+0x436a 003821 nrtn blank 
+0x436b 003822 fetcht 2 ,mem_pscan_window 
+0x436c 003823 force 40 ,queue 
+0x436d 003824 call sniff_check_window 
+0x436e 003825 rtn user 
+0x436f 003826 force 0 ,am_addr 
+0x4370 003827 jam param_pagerespto ,mem_fhs_wait_counter 
+0x4371 003828 set0 mark_fhs_already_good ,mark 
+0x4372 003829 call page_scan_start 
+0x4373 003830 force pscan_interval_timer ,queue 
+0x4374 003831 fetch 2 ,mem_pscan_interval 
+0x4375 003832 branch timer_init 
+:      003835 page_scan_start:
+0x4376 003836 bpatch patch06_5 ,mem_patch06 
+0x4377 003837 disable clknt 
+0x4378 003838 call afh_clear 
+0x4379 003839 fetch 1 ,mem_pagescan_waitcnt 
+0x437a 003840 increase 1 ,pdata 
+0x437b 003841 store 1 ,mem_pagescan_waitcnt 
+0x437c 003842 force 0 ,n_tx_slot 
+0x437d 003843 call fetch_self_bt_adr 
+0x437e 003844 add clkn_bt ,1 ,bt_clk 
+0x437f 003845 force 0x02 ,freq_mode 
+0x4380 003846 bpatch patch06_6 ,mem_patch06 
+0x4381 003847 call rx_radio_freq 
+0x4382 003848 call start_receiver 
+0x4383 003849 call wait_access_forever 
+0x4384 003850 nrtn sync 
+0x4385 003851 call shutdown_radio 
+0x4386 003852 fetch 1 ,mem_pagescan_rcvcnt 
+0x4387 003853 increase 1 ,pdata 
+0x4388 003854 store 1 ,mem_pagescan_rcvcnt 
+0x4389 003855 force 0 ,stop_watch 
+0x438a 003856 call rf_setup_time_slave_slot 
+0x438b 003857 or_into 0x002 ,bt_clk 
+0x438c 003858 force 0x01 ,freq_mode 
+0x438d 003859 call tx_radio_freq 
+0x438e 003860 call start_transmitter 
+0x438f 003861 call start_tx_external 
+0x4390 003862 call send_access_word 
+0x4391 003863 call end_of_packet 
+0x4392 003864 force 0 ,am_addr 
+0x4393 003865 arg param_rf_setup ,timeup 
+0x4394 003866 until clke_rt ,meet 
+0x4395 003867 or_into 0x03 ,clke_bt 
+0x4396 003868 and_into 0x1fd ,bt_clk 
+:      003869 page_scan_wait_fhs_restart:
+0x4397 003870 bpatch patch06_7 ,mem_patch06 
+0x4398 003871 increase 1 ,n_tx_slot 
+0x4399 003872 call rx_radio_freq 
+0x439a 003873 call start_receiver 
+0x439b 003874 call wait_access_mhalfbnd 
+0x439c 003875 nbranch page_scan_wait_fhs_again ,sync 
+0x439d 003876 call scan_mode_whiten 
+0x439e 003877 call receive_packet_whitened 
+0x439f 003878 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+:      003879 page_scan_wait_fhs_again:
+0x43a0 003880 bpatch patch07_0 ,mem_patch07 
+0x43a1 003881 fetch 1 ,mem_fhs_wait_counter 
+0x43a2 003882 rtn blank 
+0x43a3 003883 increase -1 ,pdata 
+0x43a4 003884 store 1 ,mem_fhs_wait_counter 
+0x43a5 003885 call rf_setup_time_master_slot 
+0x43a6 003886 branch page_scan_wait_fhs_restart 
+:      003889 page_scan_reply_to_fhs:
+0x43a7 003890 bpatch patch07_1 ,mem_patch07 
+0x43a8 003891 set0 1 ,clke_bt 
+0x43a9 003892 set1 0 ,clke_bt 
+0x43aa 003893 fetch 1 ,mem_pagescan_rcvfhscnt 
+0x43ab 003894 increase 1 ,pdata 
+0x43ac 003895 store 1 ,mem_pagescan_rcvfhscnt 
+0x43ad 003896 call rf_setup_time_slave_slot 
+0x43ae 003897 or_into 0x02 ,bt_clk 
+0x43af 003898 call tx_radio_freq 
+0x43b0 003899 call start_transmitter 
+0x43b1 003900 call start_tx_external 
+0x43b2 003901 call send_access_word 
+0x43b3 003902 call end_of_packet 
+:      003903 slave_apply_clke_bt:
+0x43b4 003904 compare 0x03 ,clke_bt ,0x03 
+0x43b5 003905 branch slave_apply_clke_bt_now ,true 
+0x43b6 003906 until null ,mhalfbnd 
+0x43b7 003907 branch slave_apply_clke_bt 
+:      003908 slave_apply_clke_bt_now:
+0x43b8 003909 fetch 4 ,mem_clke_bt 
+0x43b9 003910 or_into 0x03 ,pdata 
+0x43ba 003911 icopy clke_bt 
+:      003913 start_slave_connection:
+0x43bb 003914 bpatch patch07_2 ,mem_patch07 
+0x43bc 003915 fetch 6 ,extm_lap 
+0x43bd 003916 store 6 ,mem_plap 
+0x43be 003917 call prepare_newconn 
+:      003918 slave_newconn_loop:
+0x43bf 003919 call slave_newconn_once 
+0x43c0 003920 branch sconn_successful ,match 
+0x43c1 003921 call new_conn_timeout 
+0x43c2 003922 nbranch slave_newconn_loop ,blank 
+0x43c3 003923 rtn 
+:      003926 sconn_successful:
+0x43c4 003927 bpatch patch07_3 ,mem_patch07 
+0x43c5 003928 call newconn_init 
+0x43c6 003929 call context_new 
+0x43c7 003930 nrtn zero 
+0x43c8 003931 jam 0 ,mem_mode 
+0x43c9 003932 call calc_clke_offset 
+0x43ca 003933 branch context_save 
+:      003938 slave_dispatch:
+0x43cb 003939 bpatch patch07_4 ,mem_patch07 
+0x43cc 003940 call calc_clke 
+0x43cd 003941 call role_switch_slave 
+0x43ce 003942 rtn user 
+:      003943 slave_loop:
+0x43cf 003944 bpatch patch07_5 ,mem_patch07 
+0x43d0 003945 call check_bt_disabled 
+0x43d1 003946 call scheduler_process 
+0x43d2 003947 call slave_conn_recv_packet 
+0x43d3 003948 nbranch slave_notmatch ,match 
+0x43d4 003949 call supervision_flush 
+0x43d5 003950 call scheduler_tx_l2cap_pkt 
+0x43d6 003951 call prepare_tx 
+0x43d7 003952 call slave_conn_send_packet 
+0x43d8 003953 call parse_l2cap 
+0x43d9 003954 call parse_lmp 
+0x43da 003955 fetch 1 ,mem_slave_rcvcnt 
+0x43db 003956 increase 1 ,pdata 
+0x43dc 003957 store 1 ,mem_slave_rcvcnt 
+0x43dd 003958 call calc_clke_offset 
+:      003959 slave_notmatch:
+0x43de 003960 bpatch patch07_6 ,mem_patch07 
+0x43df 003961 call lpm_set_mult 
+0x43e0 003962 call supervision_update 
+0x43e1 003963 branch slave_disconnect ,positive 
+0x43e2 003964 call check_disconnect_timeout 
+0x43e3 003965 nbranch slave_disconnect ,user 
+0x43e4 003966 call check_attempt 
+0x43e5 003967 nbranch slave_loop ,blank 
+0x43e6 003968 rtn 
+:      003970 slave_disconnect:
+0x43e7 003971 bpatch patch07_7 ,mem_patch07 
+0x43e8 003972 jam 0 ,mem_tester_emulate 
+0x43e9 003973 jam 0 ,mem_debug_config 
+0x43ea 003974 call quit_connection 
+0x43eb 003975 set0 mark_testmode ,mark 
+0x43ec 003976 call test_enable_white 
+0x43ed 003977 fetch 1 ,mem_state 
+0x43ee 003978 rtn 
+:      003981 role_switch_slave:
+0x43ef 003982 bpatch patch08_0 ,mem_patch08 
+0x43f0 003983 call role_switch_check 
+0x43f1 003984 nrtn user 
+0x43f2 003985 copy am_addr ,temp 
+0x43f3 003986 call get_free_amaddr 
+0x43f4 003987 store 1 ,mem_fhs_am_addr 
+0x43f5 003988 copy temp ,am_addr 
+0x43f6 003989 jam param_newconnto ,mem_newconnto_counter 
+:      003990 roles_sendfhs_loop:
+0x43f7 003991 bpatch patch08_1 ,mem_patch08 
+0x43f8 003992 call rf_setup_time_master_slot 
+0x43f9 003993 force type_fhs ,type 
+0x43fa 003994 call slave_send_access 
+0x43fb 003995 deposit clkn_bt 
+0x43fc 003996 store 4 ,mem_clkn_bt 
+0x43fd 003997 call transmit_packet 
+0x43fe 003998 call rf_setup_time_slave_slot 
+0x43ff 003999 enable user3 
+0x4400 004000 call slave_receive_access 
+0x4401 004001 branch roles_got_fhs_reply ,sync 
+0x4402 004002 call shutdown_radio 
+0x4403 004003 call new_conn_timeout 
+0x4404 004004 nbranch roles_sendfhs_loop ,blank 
+0x4405 004005 rtnmark0 mark_accept_switch 
+0x4406 004006 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x4407 004007 set1 mark_switch_initiated ,mark 
+0x4408 004008 rtn 
+:      004009 roles_got_fhs_reply:
+0x4409 004010 enable clknt 
+0x440a 004011 call prepare_newconn 
+0x440b 004012 call afh_clear 
+:      004013 roles_newconn_loop:
+0x440c 004014 bpatch patch08_2 ,mem_patch08 
+0x440d 004015 call master_newconn_once 
+0x440e 004016 branch roles_newconn_responded ,sync 
+0x440f 004017 call new_conn_timeout 
+0x4410 004018 nbranch roles_newconn_loop ,blank 
+0x4411 004019 disable clknt 
+0x4412 004020 deposit clke_bt 
+0x4413 004021 store 4 ,mem_next_btclk 
+0x4414 004022 rtn 
+:      004023 roles_newconn_responded:
+0x4415 004024 enable master 
+0x4416 004025 bmark0 mark_accept_switch ,roles_newconn_nolmp 
+0x4417 004026 set0 mark_accept_switch ,mark 
+0x4418 004027 jam lmp_accepted ,mem_lmo_opcode2 
+0x4419 004028 jam lmp_host_connection_req ,mem_lmi_opcode2 
+0x441a 004029 call tid_set_reply 
+:      004030 roles_newconn_nolmp:
+0x441b 004031 deposit am_addr 
+0x441c 004032 store 1 ,mem_amaddr 
+0x441d 004033 force 0 ,pdata 
+0x441e 004034 store 6 ,mem_clk_offset 
+0x441f 004035 fetch 1 ,mem_mode 
+0x4420 004036 set1 mode_master ,pdata 
+0x4421 004037 store 1 ,mem_mode 
+0x4422 004038 call supervision_flush 
+0x4423 004039 disable master 
+0x4424 004040 enable user 
+0x4425 004041 rtn 
+:      004045 init_rx_packet_flags:
+0x4426 004046 bpatch patch08_3 ,mem_patch08 
+0x4427 004047 disable match 
+0x4428 004048 set0 mark_loopback ,mark 
+0x4429 004049 set0 mark_am_addr_broadcast ,mark 
+0x442a 004050 set0 mark_longpacket ,mark 
+0x442b 004051 set0 mark_old_packet ,mark 
+0x442c 004052 fetch 1 ,mem_arq 
+0x442d 004053 set0 arqnx ,pdata 
+0x442e 004054 set1 flowx ,pdata 
+0x442f 004055 store 1 ,mem_arq 
+0x4430 004056 rtn 
+:      004058 prepare_newconn:
+0x4431 004059 bpatch patch08_4 ,mem_patch08 
+0x4432 004060 jam param_newconnto ,mem_newconnto_counter 
+0x4433 004061 jam param_newconn_arq ,mem_arq 
+0x4434 004062 fetch 2 ,mem_rx_window_init 
+0x4435 004063 store 2 ,mem_rx_window 
+0x4436 004064 deposit clkn_bt 
+0x4437 004065 store 4 ,mem_next_btclk 
+0x4438 004066 rtn clknt 
+0x4439 004067 deposit clke_bt 
+0x443a 004068 store 4 ,mem_next_btclk 
+0x443b 004069 rtn 
+:      004071 newconn_init:
+0x443c 004072 bpatch patch08_5 ,mem_patch08 
+0x443d 004073 call init_lmp_reinit 
+0x443e 004074 call new_conn_handle 
+0x443f 004075 store 1 ,mem_conn_handle 
+0x4440 004076 setarg 0 
+0x4441 004077 store 2 ,mem_l2cap_rxbuff1_len 
+0x4442 004078 setarg param_supervision_to 
+0x4443 004079 store 2 ,mem_supervision_to 
+0x4444 004080 fetch 1 ,mem_state 
+0x4445 004081 set1 state_inconn ,pdata 
+0x4446 004082 store 1 ,mem_state 
+0x4447 004083 jam 0 ,mem_op 
+0x4448 004084 jam 0 ,mem_state_map 
+0x4449 004085 jam 0 ,mem_lpm_current_mult 
+0x444a 004086 branch supervision_flush 
+:      004089 clear_linkkey:
+0x444b 004090 bpatch patch08_6 ,mem_patch08 
+0x444c 004091 force 0 ,pdata 
+0x444d 004092 store 8 ,mem_link_key 
+0x444e 004093 istore 8 ,contw 
+0x444f 004094 call clear_linkstate 
+0x4450 004095 branch context_traverse_linkkey 
+:      004097 new_conn_timeout:
+0x4451 004098 fetch 1 ,mem_newconnto_counter 
+0x4452 004099 increase -1 ,pdata 
+0x4453 004100 store 1 ,mem_newconnto_counter 
+0x4454 004101 rtn 
+:      004103 new_conn_handle:
+0x4455 004104 fetch 1 ,mem_handle_num 
+0x4456 004105 increase 1 ,pdata 
+0x4457 004106 store 1 ,mem_handle_num 
+0x4458 004107 rtn 
+:      004110 quit_connection:
+0x4459 004111 bpatch patch08_7 ,mem_patch08 
+0x445a 004112 fetch 1 ,mem_hci_cmd 
+0x445b 004113 beq hci_cmd_remote_name_req ,quit_connection_name 
+0x445c 004114 fetch 1 ,mem_lmp_to_send 
+0x445d 004115 bne lmp_name_req ,quit_connection_cont 
+:      004116 quit_connection_name:
+0x445e 004117 call cmd_check_plap 
+0x445f 004118 nbranch quit_connection_cont ,zero 
+0x4460 004119 call master_name_error 
+0x4461 004120 jam 0 ,mem_hci_cmd 
+:      004121 quit_connection_cont:
+0x4462 004122 bpatch patch09_0 ,mem_patch09 
+0x4463 004123 call app_disconn_reason_collect_bt 
+0x4464 004124 call sniff_exit 
+0x4465 004125 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x4466 004126 call ui_ipc_send_event 
+0x4467 004127 call init_lmp_work 
+0x4468 004128 call l2cap_init_work 
+0x4469 004129 call sp_initialize 
+0x446a 004130 fetch 1 ,mem_state 
+0x446b 004131 set0 state_inconn 
+0x446c 004132 store 1 ,mem_state 
+0x446d 004133 jam 0 ,memui_reconnect_mode 
+0x446e 004135 fetch 1 ,mem_state_map 
+0x446f 004136 compare 0x0 ,pdata ,0xc0 
+0x4470 004137 branch quit_connection_not_clear_mark ,true 
+0x4471 004138 set0 mark_rxbuf_inuse ,mark 
+:      004139 quit_connection_not_clear_mark:
+0x4472 004140 fetch 1 ,mem_arq 
+0x4473 004141 bbit0 wack ,quit_connection_not_clear_tx 
+:      004142 quit_connection_not_clear_tx:
+0x4474 004143 fetch 1 ,mem_op 
+0x4475 004144 rtnbit0 op_txl2cap 
+0x4476 004145 set0 mark_tx_l2cap ,mark 
+0x4477 004146 rtn 
+:      004148 slave_newconn_once:
+0x4478 004149 bpatch patch09_1 ,mem_patch09 
+0x4479 004150 fetch 1 ,extm_newconn_am_addr 
+0x447a 004151 rtn blank 
+0x447b 004152 icopy am_addr 
+0x447c 004153 call slave_conn_recv_packet 
+0x447d 004154 nrtn match 
+0x447e 004155 force type_null ,type 
+0x447f 004156 call slave_conn_send_packet 
+0x4480 004157 deposit am_addr 
+0x4481 004158 store 1 ,mem_amaddr 
+0x4482 004159 force 0 ,pdata 
+0x4483 004160 store 1 ,extm_newconn_am_addr 
+0x4484 004161 rtn 
+:      004167 prepare_tx:
+0x4485 004168 bpatch patch09_2 ,mem_patch09 
+0x4486 004169 fetch 1 ,mem_state 
+0x4487 004170 bbit0 state_insco ,prepare_tx_not_sco 
+0x4488 004171 force type_hv3 ,type 
+0x4489 004172 bmark0 mark_esco ,prepare_tx_not_esco 
+0x448a 004173 call check_esco_amaddr 
+0x448b 004174 nbranch prepare_tx_not_sco ,true 
+0x448c 004175 branch prepare_tx_not_sco ,attempt 
+0x448d 004176 call set_wait_ack 
+0x448e 004177 setarg 2 
+0x448f 004178 store 2 ,mem_retransmission_cnt 
+0x4490 004179 rtn 
+:      004180 prepare_tx_not_esco:
+0x4491 004181 nrtn attempt 
+:      004182 prepare_tx_not_sco:
+0x4492 004183 bpatch patch09_3 ,mem_patch09 
+0x4493 004184 call context_check_all_wack 
+0x4494 004185 nbranch prepare_tx_no_retransmit ,zero 
+0x4495 004186 fetch 1 ,mem_arq 
+0x4496 004187 bbit0 wack ,prepare_tx_pollnull 
+:      004188 prepare_tx_retransmit:
+0x4497 004189 bmark1 mark_loopback ,prepare_tx_loopback 
+0x4498 004190 fetch 1 ,mem_debug_config 
+0x4499 004191 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+0x449a 004192 fetch 2 ,mem_retransmission_cnt 
+0x449b 004193 increase -1 ,pdata 
+0x449c 004194 store 2 ,mem_retransmission_cnt 
+0x449d 004195 branch prepare_tx_nomore_retransmit ,blank 
+0x449e 004196 fetch 1 ,mem_last_type 
+0x449f 004197 iforce type 
+0x44a0 004198 rtn 
+:      004200 prepare_tx_nomore_retransmit:
+0x44a1 004201 bpatch patch09_4 ,mem_patch09 
+0x44a2 004202 call clear_got_tx 
+:      004203 prepare_tx_no_retransmit:
+0x44a3 004204 call check_esco_amaddr 
+0x44a4 004205 branch prepare_tx_pollnull ,true 
+0x44a5 004206 call send_lmp 
+0x44a6 004207 branch prepare_tx_sendlmp ,user 
+0x44a7 004208 fetch 1 ,mem_op 
+0x44a8 004209 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+0x44a9 004210 bmark1 mark_loopback ,prepare_tx_loopback 
+0x44aa 004211 fetch 1 ,mem_debug_config 
+0x44ab 004212 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+:      004213 prepare_tx_pollnull:
+0x44ac 004214 force type_poll ,type 
+0x44ad 004215 rtn master 
+0x44ae 004216 force type_null ,type 
+0x44af 004217 rtn 
+:      004218 prepare_tx_loopback:
+0x44b0 004219 bpatch patch09_5 ,mem_patch09 
+0x44b1 004220 fetch 1 ,mem_rx_type 
+0x44b2 004221 iforce type 
+0x44b3 004222 rtnne 1 
+0x44b4 004223 force type_null ,type 
+0x44b5 004224 rtn 
+:      004225 prepare_tx_txpat:
+0x44b6 004226 fetch 1 ,test_mode_packet_type 
+0x44b7 004227 and pdata ,0xf ,type 
+0x44b8 004228 set1 mark_loopback ,mark 
+0x44b9 004229 rtn 
+:      004230 prepare_tx_sendlmp:
+0x44ba 004231 force type_lmp ,type 
+0x44bb 004232 branch set_wait_ack 
+:      004233 prepare_tx_sendl2cap:
+0x44bc 004234 call tx_l2cap_type 
+:      004236 set_wait_ack:
+0x44bd 004237 bpatch patch09_6 ,mem_patch09 
+0x44be 004238 fetcht 1 ,mem_arq 
+0x44bf 004239 set1 wack ,temp 
+0x44c0 004240 storet 1 ,mem_arq 
+0x44c1 004241 deposit type 
+0x44c2 004242 store 1 ,mem_last_type 
+0x44c3 004243 setarg 0xffff 
+0x44c4 004244 store 2 ,mem_retransmission_cnt 
+0x44c5 004245 rtn 
+:      004247 tx_l2cap_type:
+0x44c6 004248 bpatch patch09_7 ,mem_patch09 
+0x44c7 004249 fetch 1 ,mem_state_map 
+0x44c8 004250 isolate1 smap_edr ,pdata 
+0x44c9 004251 fetch 2 ,mem_tx_len 
+0x44ca 004252 branch tx_l2cap_type_edr ,true 
+0x44cb 004253 force type_dm1 ,type 
+0x44cc 004254 sub pdata ,17 ,null 
+0x44cd 004255 rtn positive 
+0x44ce 004256 force type_dh1 ,type 
+0x44cf 004257 sub pdata ,27 ,null 
+0x44d0 004258 rtn positive 
+0x44d1 004259 force type_dm3 ,type 
+0x44d2 004260 sub pdata ,121 ,null 
+0x44d3 004261 rtn positive 
+0x44d4 004262 force type_dh3 ,type 
+0x44d5 004263 sub pdata ,183 ,null 
+0x44d6 004264 rtn positive 
+0x44d7 004265 force type_dm5 ,type 
+0x44d8 004266 sub pdata ,224 ,null 
+0x44d9 004267 rtn positive 
+0x44da 004268 force type_dh5 ,type 
+0x44db 004269 rtn 
+:      004270 tx_l2cap_type_edr:
+0x44dc 004271 force type_dm1 ,type 
+0x44dd 004272 sub pdata ,17 ,null 
+0x44de 004273 rtn positive 
+0x44df 004274 force type_dh1 ,type 
+0x44e0 004275 sub pdata ,54 ,null 
+0x44e1 004276 rtn positive 
+0x44e2 004277 force type_dm3 ,type 
+0x44e3 004278 arg 367 ,temp 
+0x44e4 004279 isub temp ,null 
+0x44e5 004280 nrtn positive 
+0x44e6 004281 force type_dm5 ,type 
+0x44e7 004282 arg 679 ,temp 
+0x44e8 004283 isub temp ,null 
+0x44e9 004284 nrtn positive 
+0x44ea 004285 force type_dh5 ,type 
+0x44eb 004286 rtn 
+:      004295 slave_receive_master_slot:
+0x44ec 004296 fetch 1 ,mem_state 
+0x44ed 004297 bbit0 state_insniff ,slave_receive_notsniff 
+0x44ee 004298 fetch 2 ,mem_tsniff 
+0x44ef 004299 branch slave_receive_notsniff ,blank 
+0x44f0 004300 nbranch slave_receive_sniff ,attempt 
+:      004301 slave_receive_notsniff:
+0x44f1 004302 call rf_setup_time_master_slot 
+:      004303 slave_receive_access:
+0x44f2 004304 add clke_bt ,1 ,bt_clk 
+:      004305 slave_receive_sniff:
+0x44f3 004306 enable swfine 
+0x44f4 004307 fetch 2 ,mem_rx_window 
+0x44f5 004308 rshift pdata ,pdata 
+0x44f6 004309 arg param_pll_setup ,temp 
+0x44f7 004310 iadd temp ,pdata 
+0x44f8 004311 call ahead_window 
+0x44f9 004312 call fetch_extm_bt_adr 
+0x44fa 004313 force 0x03 ,freq_mode 
+0x44fb 004314 call rx_radio_freq 
+0x44fc 004315 call init_rx_packet_flags 
+0x44fd 004316 call prep_crypt 
+0x44fe 004317 bpatch patch0a_0 ,mem_patch0a 
+0x44ff 004318 fetch 2 ,mem_rx_window 
+0x4500 004319 rshift pdata ,pdata 
+0x4501 004320 call ahead_window 
+0x4502 004321 call start_receiver 
+0x4503 004322 enable decode_fec0 
+0x4504 004323 fetch 2 ,mem_rx_window 
+0x4505 004324 arg param_clke_cal ,temp 
+0x4506 004325 iadd temp ,stop_watch 
+0x4507 004326 correlate null ,timeout 
+0x4508 004327 copy clke ,temp 
+0x4509 004328 storet 6 ,mem_sync_clke 
+0x450a 004329 disable decode_fec0 
+0x450b 004330 nrtn sync 
+0x450c 004331 arg param_clke_cal ,clke_rt 
+0x450d 004332 copy bt_clk ,clke_bt 
+0x450e 004333 branch lpm_adjust_clk ,wake 
+0x450f 004334 rtn 
+:      004337 slave_conn_recv_packet:
+0x4510 004338 bpatch patch0a_1 ,mem_patch0a 
+0x4511 004339 call slave_receive_master_slot 
+0x4512 004340 nbranch shutdown_radio ,sync 
+0x4513 004341 call save_rssi 
+0x4514 004342 bmark0 mark_testmode ,receive_packet 
+0x4515 004343 fetch 2 ,mem_tst_pktcnt_sync 
+0x4516 004344 increase 1 ,pdata 
+0x4517 004345 store 2 ,mem_tst_pktcnt_sync 
+:      004346 receive_packet:
+0x4518 004347 rshift bt_clk ,temp 
+0x4519 004348 or temp ,0x40 ,white_init 
+:      004349 receive_packet_whitened:
+0x451a 004350 bpatch patch0a_2 ,mem_patch0a 
+0x451b 004351 enable enable_white 
+0x451c 004352 enable enable_hec 
+0x451d 004353 enable decode_fec1 
+0x451e 004354 parse demod ,bucket ,3 
+0x451f 004355 rshift8 pwindow ,pdata 
+0x4520 004356 store 1 ,mem_temp_am_addr 
+0x4521 004357 parse demod ,bucket ,4 
+0x4522 004358 inject bucket ,7 
+0x4523 004359 copy pwindow ,pdata 
+0x4524 004360 store 1 ,mem_rx_type 
+0x4525 004361 parse demod ,bucket ,3 
+0x4526 004362 rshift8 pwindow ,pdata 
+0x4527 004363 store 1 ,mem_temp_arq 
+0x4528 004364 fetch 1 ,mem_rx_type 
+0x4529 004365 sub pdata ,3 ,null 
+0x452a 004366 branch receive_packet_noedr ,positive 
+0x452b 004367 beq 7 ,receive_packet_noedr 
+0x452c 004368 fetch 1 ,mem_state_map 
+0x452d 004369 isolate1 smap_edr ,pdata 
+0x452e 004370 setflag true ,psk ,radio_ctrl 
+:      004371 receive_packet_noedr:
+0x452f 004372 bpatch patch0a_3 ,mem_patch0a 
+0x4530 004373 parse demod ,bucket ,8 
+0x4531 004374 disable decode_fec1 
+0x4532 004375 disable enable_hec 
+0x4533 004376 branch error_header ,crc_failed 
+0x4534 004377 bmark0 mark_testmode ,receive_packet_amchk 
+0x4535 004378 fetch 2 ,mem_tst_pktcnt_hec 
+0x4536 004379 increase 1 ,pdata 
+0x4537 004380 store 2 ,mem_tst_pktcnt_hec 
+:      004381 receive_packet_amchk:
+0x4538 004382 bpatch patch0a_4 ,mem_patch0a 
+0x4539 004383 fetch 1 ,mem_temp_am_addr 
+0x453a 004384 compare 0 ,pdata ,0x07 
+0x453b 004385 setflag true ,mark_am_addr_broadcast ,mark 
+0x453c 004386 branch am_addr_ok ,true 
+0x453d 004387 icompare 0x07 ,am_addr 
+0x453e 004388 branch am_addr_match ,true 
+0x453f 004389 bmark0 mark_esco ,end_of_packet 
+0x4540 004390 fetcht 1 ,mem_saved_amaddr 
+0x4541 004391 icompare 0x7 ,temp 
+0x4542 004392 nbranch end_of_packet ,true 
+0x4543 004393 fetch 1 ,mem_arq 
+0x4544 004394 set0 arqnx ,pdata 
+0x4545 004395 set1 flowx ,pdata 
+0x4546 004396 store 1 ,mem_arq 
+:      004397 am_addr_match:
+0x4547 004398 enable match 
+:      004399 am_addr_ok:
+0x4548 004400 bpatch patch0a_5 ,mem_patch0a 
+0x4549 004401 fetch 1 ,mem_rx_type 
+0x454a 004402 icopy type 
+0x454b 004403 bmark1 mark_am_addr_broadcast ,arqn_bypass 
+0x454c 004404 fetcht 1 ,mem_temp_arq 
+0x454d 004405 fetch 1 ,mem_arq 
+0x454e 004406 set0 flow ,pdata 
+0x454f 004407 isolate1 flow ,temp 
+0x4550 004408 setflag true ,flow ,pdata 
+0x4551 004409 isolate1 arqn ,temp 
+0x4552 004410 setflag true ,arqn ,pdata 
+0x4553 004411 store 1 ,mem_arq 
+0x4554 004412 isolate0 arqn ,temp 
+0x4555 004413 branch arqn_bypass ,true 
+0x4556 004414 call clear_got_tx 
+:      004415 arqn_bypass:
+0x4557 004416 bpatch patch0a_6 ,mem_patch0a 
+0x4558 004417 arg 0 ,temp 
+0x4559 004418 call reserve_slot 
+0x455a 004419 and type ,0xf ,pdata 
+0x455b 004420 beq type_poll ,process_poll 
+0x455c 004421 beq type_null ,end_of_packet 
+0x455d 004422 beq type_fhs ,process_fhs 
+0x455e 004423 fetcht 1 ,mem_temp_arq 
+0x455f 004424 fetch 1 ,mem_arq 
+0x4560 004425 icompare 0x04 ,temp 
+0x4561 004426 nbranch rx_type_dispatch ,true 
+0x4562 004427 bmark0 mark_am_addr_broadcast ,failed_seqn 
+0x4563 004428 bbit0 bcast1 ,rx_type_dispatch 
+:      004429 failed_seqn:
+0x4564 004430 set1 mark_old_packet ,mark 
+:      004431 rx_type_dispatch:
+0x4565 004432 bpatch patch0a_7 ,mem_patch0a 
+0x4566 004433 deposit type 
+0x4567 004434 beq type_dm1 ,process_dm1 
+0x4568 004435 beq type_dh1 ,process_dh1 
+0x4569 004436 beq type_hv3 ,process_hev 
+0x456a 004437 beq type_3dh1 ,process_3dh1 
+0x456b 004438 arg 4 ,temp 
+0x456c 004439 call reserve_slot 
+0x456d 004440 beq type_dm3 ,process_dm3 
+0x456e 004441 beq type_dh3 ,process_dh3 
+0x456f 004442 arg 8 ,temp 
+0x4570 004443 call reserve_slot 
+0x4571 004444 beq type_dm5 ,process_dm5 
+0x4572 004445 beq type_dh5 ,process_dh5 
+0x4573 004446 rtn 
+:      004449 process_hev:
+0x4574 004450 bpatch patch0b_0 ,mem_patch0b 
+0x4575 004451 enable decode_fec0 
+0x4576 004452 enable enable_crc 
+0x4577 004453 enable encrypt 
+0x4578 004454 arg mem_sco_ibuf ,contw 
+0x4579 004455 force 30 ,loopcnt 
+:      004456 process_hev_loop:
+0x457a 004457 parse demod ,bucket ,8 
+0x457b 004458 rshift3 pwindow ,pdata 
+0x457c 004459 istore 1 ,contw 
+0x457d 004460 loop process_hev_loop 
+0x457e 004461 bmark0 mark_esco ,end_of_packet 
+0x457f 004462 parse demod ,bucket ,16 
+0x4580 004463 nsetflag crc_failed ,mark_esco_rxok ,mark 
+0x4581 004464 branch error_payload ,crc_failed 
+0x4582 004465 branch ack_payload 
+:      004468 process_poll:
+0x4583 004469 branch end_of_packet 
+:      004471 process_dm3:
+:      004472 process_dm5:
+0x4584 004473 set1 mark_longpacket ,mark 
+:      004474 process_dm1:
+0x4585 004475 enable decode_fec2 
+0x4586 004476 branch process_dmh 
+:      004478 process_dh3:
+:      004479 process_dh5:
+0x4587 004480 set1 mark_longpacket ,mark 
+:      004481 process_3dh1:
+0x4588 004482 set1 psk3m ,radio_ctrl 
+:      004483 process_dh1:
+0x4589 004484 enable decode_fec0 
+:      004485 process_dmh:
+0x458a 004486 bpatch patch0b_1 ,mem_patch0b 
+0x458b 004487 bmark1 mark_rxbuf_inuse ,end_of_packet 
+0x458c 004488 isolate0 psk ,radio_ctrl 
+0x458d 004489 branch process_dmh_noedr ,true 
+0x458e 004490 disable enable_white 
+0x458f 004491 enable decode_fec0 
+0x4590 004492 disable decode_fec2 
+0x4591 004493 add clkn_bt ,2 ,timeup 
+0x4592 004494 correlate clkn_bt ,meet 
+0x4593 004495 nbranch error_payload ,sync 
+0x4594 004496 set1 mark_longpacket ,mark 
+0x4595 004497 enable enable_white 
+:      004498 process_dmh_noedr:
+0x4596 004499 bpatch patch0b_2 ,mem_patch0b 
+0x4597 004500 enable encrypt 
+0x4598 004501 enable enable_crc 
+0x4599 004502 parse demod ,bucket ,3 
+0x459a 004503 rshift8 pwindow ,pdata 
+0x459b 004504 store 1 ,mem_lch_code 
+0x459c 004505 parse demod ,bucket ,5 
+0x459d 004506 bmark1 mark_longpacket ,process_dmh_long 
+0x459e 004507 rshift3 pwindow ,loopcnt 
+0x459f 004508 rshift3 loopcnt ,loopcnt 
+0x45a0 004509 branch process_dmh_common 
+:      004510 process_dmh_long:
+0x45a1 004511 parse demod ,bucket ,5 
+0x45a2 004512 rshift pwindow ,loopcnt 
+0x45a3 004513 parse demod ,bucket ,3 
+:      004514 process_dmh_common:
+0x45a4 004515 bpatch patch0b_3 ,mem_patch0b 
+0x45a5 004516 deposit loopcnt 
+0x45a6 004517 store 2 ,mem_len 
+0x45a7 004518 branch process_dmh_data_end ,blank 
+0x45a8 004519 isub mask3ff ,null 
+0x45a9 004520 branch error_payload ,positive 
+0x45aa 004521 bpatch patch0b_4 ,mem_patch0b 
+0x45ab 004522 set0 mark_fhs_eir ,mark 
+0x45ac 004523 fetch 1 ,mem_lch_code 
+0x45ad 004524 and_into 0x03 ,pdata 
+0x45ae 004525 arg mem_rxbuf ,contw 
+0x45af 004526 beq llid_lmp ,process_lmp 
+0x45b0 004527 bmark1 mark_testmode ,process_dmh_data 
+0x45b1 004529 fetch 1 ,mem_lch_code 
+0x45b2 004530 and_into 0x03 ,pdata 
+0x45b3 004531 beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+0x45b4 004532 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+0x45b5 004533 branch error_payload 
+:      004535 process_lmp:
+0x45b6 004536 fetch 2 ,mem_len 
+0x45b7 004537 sub pdata ,0x70 ,null 
+0x45b8 004538 nbranch error_payload ,positive 
+0x45b9 004539 bmark1 mark_old_packet ,ack_payload 
+0x45ba 004540 branch process_dmh_data 
+:      004543 process_dmh_data_l2cap_start_pkt:
+0x45bb 004544 bpatch patch0b_5 ,mem_patch0b 
+0x45bc 004545 bmark1 mark_old_packet ,ack_payload 
+0x45bd 004546 fetch 2 ,mem_len 
+0x45be 004547 arg 0x2e0 ,temp 
+0x45bf 004548 isub temp ,null 
+0x45c0 004549 branch error_payload ,positive 
+0x45c1 004550 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x45c2 004551 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0x45c3 004552 bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+0x45c4 004553 branch end_of_packet 
+:      004554 process_dmh_data_into_buff1:
+0x45c5 004555 jam 1 ,mem_l2cap_rxbuff_new 
+0x45c6 004556 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x45c7 004557 bne 0 ,end_of_packet 
+0x45c8 004558 arg mem_l2cap_rxbuff1 ,contw 
+0x45c9 004559 branch process_dmh_data 
+:      004560 process_dmh_data_into_buff2:
+0x45ca 004561 jam 2 ,mem_l2cap_rxbuff_new 
+0x45cb 004562 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x45cc 004563 bne 0 ,end_of_packet 
+0x45cd 004564 arg mem_l2cap_rxbuff2 ,contw 
+0x45ce 004565 branch process_dmh_data 
+:      004567 process_dmh_data_l2cap_continue_pkt:
+0x45cf 004568 bpatch patch0b_6 ,mem_patch0b 
+0x45d0 004569 bmark1 mark_old_packet ,ack_payload 
+0x45d1 004570 fetch 2 ,mem_len 
+0x45d2 004571 arg 0x2e0 ,temp 
+0x45d3 004572 isub temp ,null 
+0x45d4 004573 branch error_payload ,positive 
+0x45d5 004574 fetch 1 ,mem_l2cap_rxbuff_new 
+0x45d6 004575 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0x45d7 004576 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+0x45d8 004577 branch end_of_packet 
+:      004578 process_dmh_data_l2cap_continue_pkt1:
+0x45d9 004579 arg mem_l2cap_rxbuff1 ,contw 
+0x45da 004580 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x45db 004581 iadd contw ,contw 
+0x45dc 004582 branch process_dmh_data 
+:      004583 process_dmh_data_l2cap_continue_pkt2:
+0x45dd 004584 arg mem_l2cap_rxbuff2 ,contw 
+0x45de 004585 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x45df 004586 iadd contw ,contw 
+:      004587 process_dmh_data:
+0x45e0 004588 parse demod ,bucket ,8 
+0x45e1 004589 rshift3 pwindow ,pdata 
+0x45e2 004590 istore 1 ,contw 
+0x45e3 004591 loop process_dmh_data 
+:      004592 process_dmh_data_end:
+0x45e4 004593 bpatch patch0b_7 ,mem_patch0b 
+0x45e5 004594 parse demod ,bucket ,16 
+0x45e6 004595 branch error_payload_crc ,crc_failed 
+0x45e7 004596 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+0x45e8 004597 beq l2cap_flow_ctrl_enable ,end_of_packet 
+0x45e9 004598 bmark1 mark_testmode ,process_dmh_cont 
+0x45ea 004599 bmark1 mark_old_packet ,redundant_payload 
+0x45eb 004600 fetch 1 ,mem_lch_code 
+0x45ec 004601 compare 3 ,pdata ,3 
+0x45ed 004602 branch process_dmh_cont ,true 
+0x45ee 004603 fetch 2 ,mem_len 
+0x45ef 004604 branch process_dmh_cont ,blank 
+0x45f0 004605 bpatch patch0c_0 ,mem_patch0c 
+0x45f1 004606 fetch 1 ,mem_l2cap_rxbuff_new 
+0x45f2 004607 beq 1 ,process_l2cap_pass_crc_buff1 
+0x45f3 004608 beq 2 ,process_l2cap_pass_crc_buff2 
+0x45f4 004609 branch assert 
+:      004610 process_l2cap_pass_crc_buff1:
+0x45f5 004611 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x45f6 004612 fetcht 2 ,mem_len 
+0x45f7 004613 iadd temp ,pdata 
+0x45f8 004614 store 2 ,mem_l2cap_rxbuff1_len 
+0x45f9 004615 beq 0 ,assert 
+0x45fa 004616 fetcht 2 ,mem_l2cap_rxbuff1 
+0x45fb 004617 increase 4 ,temp 
+0x45fc 004618 isub temp ,null 
+0x45fd 004619 call l2cap_buff1_inuse ,zero 
+0x45fe 004620 branch process_dmh_cont 
+:      004621 process_l2cap_pass_crc_buff2:
+0x45ff 004622 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x4600 004623 fetcht 2 ,mem_len 
+0x4601 004624 iadd temp ,pdata 
+0x4602 004625 store 2 ,mem_l2cap_rxbuff2_len 
+0x4603 004626 beq 0 ,assert 
+0x4604 004627 fetcht 2 ,mem_l2cap_rxbuff2 
+0x4605 004628 add temp ,4 ,temp 
+0x4606 004629 isub temp ,null 
+0x4607 004630 call l2cap_buff2_inuse ,zero 
+0x4608 004631 branch process_dmh_cont 
+:      004632 process_dmh_cont:
+0x4609 004633 bpatch patch0c_1 ,mem_patch0c 
+0x460a 004634 fetcht 1 ,mem_state_map 
+0x460b 004635 fetch 1 ,mem_lch_code 
+0x460c 004636 compare 3 ,pdata ,0x03 
+0x460d 004637 setflag true ,smap_rxlmp ,temp 
+0x460e 004638 nsetflag true ,smap_rxl2cap ,temp 
+0x460f 004639 storet 1 ,mem_state_map 
+0x4610 004640 nbranch process_dmh_cont_rxbuf_not_use ,true 
+0x4611 004641 set1 mark_rxbuf_inuse ,mark 
+:      004642 process_dmh_cont_rxbuf_not_use:
+0x4612 004643 bmark0 mark_testmode ,ack_payload 
+0x4613 004644 isolate1 smap_rxlmp ,temp 
+0x4614 004645 branch ack_payload ,true 
+0x4615 004646 fetch 2 ,mem_tst_pktcnt_crc 
+0x4616 004647 increase 1 ,pdata 
+0x4617 004648 store 2 ,mem_tst_pktcnt_crc 
+0x4618 004649 set1 mark_loopback ,mark 
+0x4619 004650 set0 smap_rxl2cap ,temp 
+0x461a 004651 set0 mark_rxbuf_inuse ,mark 
+0x461b 004652 storet 1 ,mem_state_map 
+:      004653 ack_payload:
+0x461c 004654 bpatch patch0c_2 ,mem_patch0c 
+0x461d 004655 fetcht 1 ,mem_temp_arq 
+0x461e 004656 fetch 1 ,mem_arq 
+0x461f 004657 set1 arqnx ,pdata 
+0x4620 004658 isolate1 seqn ,temp 
+0x4621 004659 setflag true ,seqn ,pdata 
+0x4622 004660 isolate1 mark_am_addr_broadcast ,mark 
+0x4623 004661 setflag true ,bcast1 ,pdata 
+0x4624 004662 store 1 ,mem_arq 
+0x4625 004663 fetch 2 ,mem_len 
+0x4626 004664 nbranch end_of_packet ,blank 
+0x4627 004665 fetch 1 ,mem_state_map 
+0x4628 004666 set0 smap_rxl2cap ,pdata 
+0x4629 004667 store 1 ,mem_state_map 
+0x462a 004668 fetch 1 ,mem_lch_code 
+0x462b 004669 compare 0x01 ,pdata ,0x07 
+0x462c 004671 branch end_of_packet 
+:      004673 error_header:
+0x462d 004674 bpatch patch0c_3 ,mem_patch0c 
+0x462e 004675 disable match 
+0x462f 004676 fetch 2 ,mem_rx_hec_err 
+0x4630 004677 increase 1 ,pdata 
+0x4631 004678 store 2 ,mem_rx_hec_err 
+0x4632 004679 branch end_of_packet 
+:      004680 error_payload_crc:
+0x4633 004681 fetch 2 ,mem_rx_crc_err 
+0x4634 004682 increase 1 ,pdata 
+0x4635 004683 store 2 ,mem_rx_crc_err 
+0x4636 004684 call discard_pkt 
+0x4637 004685 bmark0 mark_testmode ,error_payload 
+0x4638 004686 set1 mark_loopback ,mark 
+:      004687 error_payload:
+0x4639 004688 branch end_of_packet 
+:      004690 discard_pkt:
+0x463a 004691 bpatch patch0c_4 ,mem_patch0c 
+0x463b 004692 fetch 1 ,mem_lch_code 
+0x463c 004693 compare 3 ,pdata ,0x03 
+0x463d 004694 nbranch discard_pkt_l2cap ,true 
+:      004695 discard_pkt_lmp:
+0x463e 004696 fetcht 1 ,mem_state_map 
+0x463f 004697 set0 smap_rxlmp ,temp 
+0x4640 004698 storet 1 ,mem_state_map 
+0x4641 004699 rtn 
+:      004700 discard_pkt_l2cap:
+0x4642 004703 fetcht 1 ,mem_state_map 
+0x4643 004704 set0 smap_rxl2cap ,temp 
+0x4644 004705 storet 1 ,mem_state_map 
+0x4645 004706 rtn 
+:      004708 redundant_payload:
+0x4646 004709 fetch 1 ,mem_arq 
+0x4647 004710 set1 arqnx ,pdata 
+0x4648 004711 store 1 ,mem_arq 
+:      004712 end_of_packet:
+0x4649 004713 bpatch patch0c_5 ,mem_patch0c 
+0x464a 004714 disable encode_fec0 
+0x464b 004715 disable encode_fec2 
+0x464c 004716 disable decode_fec0 
+0x464d 004717 disable decode_fec2 
+0x464e 004718 disable enable_crc 
+0x464f 004719 disable encrypt 
+0x4650 004720 disable enable_white 
+0x4651 004721 branch shutdown_radio ,is_rx 
+0x4652 004722 until null ,tx_clear 
+0x4653 004723 nop 100 
+0x4654 004724 branch shutdown_radio 
+:      004726 process_fhs:
+0x4655 004727 bpatch patch0c_6 ,mem_patch0c 
+0x4656 004728 enable enable_crc 
+0x4657 004729 enable decode_fec2 
+0x4658 004730 parse demod ,bucket ,72 
+0x4659 004731 isolate1 58 ,pdata 
+0x465a 004732 setflag true ,mark_fhs_eir ,mark 
+0x465b 004733 copy bt_adr ,temp 
+0x465c 004734 ialigned bt_adr 
+0x465d 004735 ialigned fhs0 
+0x465e 004736 pulse recalc 
+0x465f 004737 setsect 2 ,0xfffff 
+0x4660 004738 setsect 3 ,0x0ffff 
+0x4661 004739 nop 32 
+0x4662 004740 iverify fhs_parity 
+0x4663 004741 deposit lap 
+0x4664 004742 store 3 ,extm_lap 
+0x4665 004743 deposit uap 
+0x4666 004744 store 1 ,extm_uap 
+0x4667 004745 copy temp ,bt_adr 
+0x4668 004746 branch fhs_parity_ok ,true 
+0x4669 004747 branch error_payload 
+:      004748 fhs_parity_ok:
+0x466a 004749 bpatch patch0c_7 ,mem_patch0c 
+0x466b 004750 parse demod ,bucket ,72 
+0x466c 004751 ialigned fhs1 
+0x466d 004752 ialigned am_addr 
+0x466e 004753 ialigned nap 
+0x466f 004754 ialigned regb 
+0x4670 004755 force 0 ,pdata 
+0x4671 004756 parse demod ,bucket ,16 
+0x4672 004757 branch error_payload ,crc_failed 
+0x4673 004758 setarg 0x0ffffffc 
+0x4674 004759 iand regb ,pdata 
+0x4675 004760 store 4 ,mem_clke_bt 
+0x4676 004761 deposit fhs_class 
+0x4677 004762 store 3 ,extm_class 
+0x4678 004763 deposit fhs_misc 
+0x4679 004764 store 1 ,extm_fhs_misc 
+0x467a 004765 deposit am_addr 
+0x467b 004766 store 1 ,extm_newconn_am_addr 
+0x467c 004767 deposit nap 
+0x467d 004768 store 2 ,extm_nap 
+0x467e 004769 deposit bt_clk 
+0x467f 004770 inject rxf ,32 
+0x4680 004771 compare type_fhs ,type ,0x0f 
+0x4681 004772 setflag true ,mark_fhs_already_good ,mark 
+0x4682 004773 branch end_of_packet 
+:      004775 clear_got_tx:
+0x4683 004776 bpatch patch0d_0 ,mem_patch0d 
+0x4684 004777 fetch 1 ,mem_arq 
+0x4685 004778 rtnbit0 wack 
+0x4686 004779 set0 wack ,pdata 
+0x4687 004780 setflip seqnx ,pdata 
+0x4688 004781 store 1 ,mem_arq 
+0x4689 004782 fetch 1 ,mem_last_type 
+0x468a 004783 beq type_lmp ,clear_got_txlmp 
+0x468b 004784 rtneq type_hv3 
+0x468c 004785 fetch 1 ,mem_op 
+0x468d 004786 rtnbit0 op_txl2cap ,pdata 
+0x468e 004787 set0 op_txl2cap ,pdata 
+0x468f 004788 set1 op_pkt_comp ,pdata 
+0x4690 004789 store 1 ,mem_op 
+0x4691 004790 set0 mark_tx_l2cap ,mark 
+0x4692 004791 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x4693 004792 nrtn blank 
+0x4694 004793 fetch 1 ,mem_op 
+0x4695 004794 set0 op_pkt_comp ,pdata 
+0x4696 004795 store 1 ,mem_op 
+0x4697 004796 branch l2cap_malloc_free 
+:      004798 clear_got_txlmp:
+0x4698 004799 bpatch patch0d_1 ,mem_patch0d 
+0x4699 004800 fetch 1 ,mem_lmo_header_opcode 
+0x469a 004801 rshift pdata ,pdata 
+0x469b 004802 beq lmp_start_encryption_req ,start_encryption 
+0x469c 004803 beq lmp_stop_encryption_req ,stop_encryption 
+0x469d 004804 beq lmp_unsniff_req ,sniff_exit 
+0x469e 004805 beq lmp_escape ,clear_lmp_escape 
+0x469f 004806 rtnne lmp_accepted 
+0x46a0 004807 fetch 1 ,mem_lmo_payload 
+0x46a1 004808 beq lmp_sco_link_req ,sco_link_req_by_slave 
+0x46a2 004809 beq lmp_start_encryption_req ,clear_send_setup_complete 
+0x46a3 004810 rtn 
+:      004812 clear_lmp_escape:
+0x46a4 004813 fetch 1 ,mem_lmo_payload 
+0x46a5 004814 set1 7 ,pdata 
+0x46a6 004815 rtn 
+:      004816 clear_send_setup_complete:
+0x46a7 004817 rtn master 
+0x46a8 004818 fetch 1 ,mem_state 
+0x46a9 004819 rtnbit1 state_conn_comp 
+0x46aa 004820 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x46ab 004821 rtn 
+:      004824 sco_link_req_by_slave:
+0x46ac 004825 rtn master 
+0x46ad 004826 fetch 1 ,mem_mode 
+0x46ae 004827 isolate1 send_sco_when_slave ,pdata 
+0x46af 004828 branch clean_mem_mode ,true 
+0x46b0 004830 rtn 
+:      004831 clean_mem_mode:
+0x46b1 004832 set0 send_sco_when_slave ,pdata 
+0x46b2 004833 store 1 ,mem_mode 
+0x46b3 004834 rtn 
+:      004836 start_encryption:
+0x46b4 004837 bpatch patch0d_2 ,mem_patch0d 
+0x46b5 004838 fetch 1 ,mem_state_map 
+0x46b6 004839 set1 smap_encryption ,pdata 
+0x46b7 004840 store 1 ,mem_state_map 
+0x46b8 004841 hjam 1 ,core_encrypt 
+0x46b9 004842 fetch 1 ,mem_state 
+0x46ba 004843 isolate1 state_conn_comp ,pdata 
+0x46bb 004844 rtn 
+:      004846 stop_encryption:
+0x46bc 004847 bpatch patch0d_3 ,mem_patch0d 
+0x46bd 004848 fetch 1 ,mem_state_map 
+0x46be 004849 set0 smap_encryption ,pdata 
+0x46bf 004850 store 1 ,mem_state_map 
+0x46c0 004851 hjam 0 ,core_encrypt 
+0x46c1 004852 rtn 
+:      004855 sniff_init:
+0x46c2 004856 bpatch patch0d_4 ,mem_patch0d 
+0x46c3 004857 copy clkn_bt ,pdata 
+0x46c4 004858 store 4 ,mem_lpm_delay_after_sniff 
+0x46c5 004859 add clkn_bt ,3 ,rega 
+0x46c6 004860 branch sniff_init_master ,master 
+0x46c7 004861 add clke_bt ,3 ,rega 
+:      004862 sniff_init_master:
+0x46c8 004863 fetcht 2 ,mem_tsniff 
+0x46c9 004864 deposit rega 
+0x46ca 004865 set0 27 ,pdata 
+0x46cb 004866 idiv temp 
+0x46cc 004867 fetch 2 ,mem_dsniff 
+0x46cd 004868 call wait_div_end 
+0x46ce 004869 remainder regc 
+0x46cf 004870 isub regc ,pdata 
+0x46d0 004871 branch sniff_init_nowrap ,positive 
+0x46d1 004872 iadd temp ,pdata 
+:      004873 sniff_init_nowrap:
+0x46d2 004874 iadd rega ,pdata 
+0x46d3 004875 store 4 ,mem_sniff_anchor 
+0x46d4 004876 jam switch_flag_init ,mem_switch_flag 
+0x46d5 004877 fetch 1 ,mem_state 
+0x46d6 004878 set1 state_insniff ,pdata 
+0x46d7 004879 store 1 ,mem_state 
+0x46d8 004880 fetch 1 ,mem_sniff_attempt 
+0x46d9 004881 store 1 ,mem_current_sniff_attempt 
+0x46da 004882 setarg 0 
+0x46db 004883 store 3 ,mem_sniff_rcv 
+0x46dc 004884 store 3 ,mem_sniff_lost 
+0x46dd 004885 store 1 ,mem_sniff_unint_lost 
+0x46de 004886 jam bt_evt_enter_sniff ,mem_fifo_temp 
+0x46df 004887 call ui_ipc_send_event 
+0x46e0 004888 fetch 2 ,mem_rx_window_sniff 
+0x46e1 004889 store 2 ,mem_rx_window 
+0x46e2 004890 nrtn master 
+0x46e3 004891 add am_addr ,-1 ,queue 
+0x46e4 004892 rtn 
+:      004894 sniff_exit:
+0x46e5 004895 bpatch patch0d_5 ,mem_patch0d 
+0x46e6 004896 fetch 1 ,mem_state 
+0x46e7 004897 rtnbit0 state_insniff 
+0x46e8 004898 set0 state_insniff ,pdata 
+0x46e9 004899 store 1 ,mem_state 
+0x46ea 004900 fetch 2 ,mem_rx_window_init 
+0x46eb 004901 store 2 ,mem_rx_window 
+0x46ec 004902 disable wake 
+0x46ed 004903 jam bt_evt_exit_sniff ,mem_fifo_temp 
+0x46ee 004904 branch ui_ipc_send_event 
+:      004907 check_attempt:
+0x46ef 004908 bpatch patch0d_6 ,mem_patch0d 
+0x46f0 004909 enable attempt 
+0x46f1 004910 fetch 1 ,mem_state 
+0x46f2 004911 bbit1 state_insniff ,check_attempt_sniff 
+0x46f3 004912 rtnmark1 mark_testmode 
+0x46f4 004913 fetch 1 ,mem_arq 
+0x46f5 004914 rtnbit1 wack 
+0x46f6 004915 fetch 1 ,mem_lmp_to_send 
+0x46f7 004916 nrtn blank 
+0x46f8 004917 fetch 1 ,mem_op 
+0x46f9 004918 rtnbit1 op_txl2cap 
+:      004919 check_attempt_nomore:
+0x46fa 004920 force 0 ,pdata 
+0x46fb 004921 rtn 
+:      004923 check_attempt_sniff:
+0x46fc 004924 bbit0 state_insco ,check_attempt_not_sco 
+0x46fd 004925 fetch 1 ,mem_current_sniff_attempt 
+0x46fe 004926 beq 2 ,check_attempt_sniff_restore_sco 
+0x46ff 004927 fetch 1 ,mem_arq 
+0x4700 004928 bbit1 wack ,check_attempt_notimeout 
+0x4701 004929 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+:      004930 check_attempt_sniff_restore_sco:
+0x4702 004931 nbranch check_attempt_notimeout ,master 
+0x4703 004932 fetch 1 ,mem_lmp_to_send 
+0x4704 004933 nbranch check_attempt_notimeout ,blank 
+:      004934 check_attempt_sco_master:
+0x4705 004935 fetch 1 ,mem_sco_poll 
+0x4706 004936 increase -1 ,pdata 
+0x4707 004937 store 1 ,mem_sco_poll 
+0x4708 004938 nbranch check_attempt_nomore ,blank 
+0x4709 004939 jam param_sco_poll ,mem_sco_poll 
+0x470a 004940 branch check_attempt_notimeout 
+:      004947 check_attempt_not_sco:
+0x470b 004948 fetch 1 ,mem_current_sniff_attempt 
+0x470c 004949 bne 1 ,check_attempt_notimeout 
+0x470d 004950 fetch 1 ,mem_current_sniff_timeout 
+0x470e 004951 branch check_attempt_notimeout ,blank 
+0x470f 004952 increase -1 ,pdata 
+0x4710 004953 store 1 ,mem_current_sniff_timeout 
+0x4711 004954 fetch 1 ,mem_arq 
+0x4712 004955 rtnbit1 wack 
+0x4713 004956 nrtn match 
+:      004957 check_attempt_notimeout:
+0x4714 004958 fetch 1 ,mem_current_sniff_attempt 
+0x4715 004959 increase -1 ,pdata 
+0x4716 004960 store 1 ,mem_current_sniff_attempt 
+0x4717 004961 rtn 
+:      004972 sniff_check_window:
+0x4718 004973 bpatch patch0d_7 ,mem_patch0d 
+0x4719 004974 disable swfine 
+0x471a 004975 copy temp ,stop_watch 
+0x471b 004976 call context_search_sniff_window 
+0x471c 004977 disable user 
+0x471d 004978 nrtn zero 
+0x471e 004979 force 0 ,stop_watch 
+0x471f 004980 enable user 
+0x4720 004981 rtn 
+:      004984 check_esco_amaddr:
+0x4721 004985 fetch 1 ,mem_esco_addr 
+0x4722 004986 icompare 0xff ,am_addr 
+0x4723 004987 rtn 
+:      004990 parse_l2cap:
+0x4724 004991 bpatch patch0e_0 ,mem_patch0e 
+0x4725 004992 set0 mark_rxbuf_inuse ,mark 
+:      004993 parse_l2cap_cont:
+0x4726 004994 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x4727 004995 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4728 004996 rtn blank 
+0x4729 004997 isolate1 l2cap_inuse_buff1 ,pdata 
+0x472a 004998 arg mem_l2cap_rxbuff1 ,contr 
+0x472b 004999 call process_rx_l2cap_pkt ,true 
+0x472c 005000 bpatch patch0e_1 ,mem_patch0e 
+0x472d 005001 fetch 1 ,mem_l2cap_rx_done 
+0x472e 005002 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0x472f 005004 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x4730 005005 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4731 005006 rtnbit0 l2cap_inuse_buff2 
+0x4732 005007 arg mem_l2cap_rxbuff2 ,contr 
+0x4733 005008 call process_rx_l2cap_pkt 
+0x4734 005009 fetch 1 ,mem_l2cap_rx_done 
+0x4735 005010 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0x4736 005011 rtn 
+:      005013 parse_l2cap_release_buff1:
+0x4737 005014 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4738 005015 set0 l2cap_inuse_buff1 ,pdata 
+0x4739 005016 store 1 ,mem_l2cap_rxbuff_inuse 
+0x473a 005017 setarg 0 
+0x473b 005018 store 2 ,mem_l2cap_rxbuff1_len 
+0x473c 005019 rtn 
+:      005020 parse_l2cap_release_buff2:
+0x473d 005021 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x473e 005022 set0 l2cap_inuse_buff2 ,pdata 
+0x473f 005023 store 1 ,mem_l2cap_rxbuff_inuse 
+0x4740 005024 setarg 0 
+0x4741 005025 store 2 ,mem_l2cap_rxbuff2_len 
+0x4742 005026 rtn 
+:      005028 l2cap_buff1_inuse:
+0x4743 005029 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4744 005030 set1 l2cap_inuse_buff1 ,pdata 
+0x4745 005031 store 1 ,mem_l2cap_rxbuff_inuse 
+0x4746 005032 rtn 
+:      005034 l2cap_buff2_inuse:
+0x4747 005035 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4748 005036 set1 l2cap_inuse_buff2 ,pdata 
+0x4749 005037 store 1 ,mem_l2cap_rxbuff_inuse 
+0x474a 005038 rtn 
+:      005044 slave_send_access:
+0x474b 005045 bpatch patch0e_2 ,mem_patch0e 
+0x474c 005046 add clke_bt ,1 ,bt_clk 
+0x474d 005047 call fetch_extm_bt_adr 
+0x474e 005048 force 0x03 ,freq_mode 
+0x474f 005049 call tx_radio_freq 
+0x4750 005050 call start_transmitter 
+0x4751 005051 call start_tx_external 
+0x4752 005052 branch send_access_word 
+:      005055 slave_conn_send_packet:
+0x4753 005056 bpatch patch0e_3 ,mem_patch0e 
+0x4754 005057 call rf_setup_time_slave_slot 
+0x4755 005058 deposit clke_bt 
+0x4756 005059 fetcht 4 ,mem_next_btclk 
+0x4757 005060 isub temp ,pdata 
+0x4758 005061 rtnne 1 
+0x4759 005062 compare type_null ,type ,0x1f 
+0x475a 005063 nbranch slave_conn_send_access ,true 
+0x475b 005064 fetch 1 ,mem_rx_type 
+0x475c 005065 rtn blank 
+:      005066 slave_conn_send_access:
+0x475d 005067 call slave_send_access 
+:      005068 transmit_packet:
+0x475e 005069 compare type_id ,type ,0x1f 
+0x475f 005070 branch end_of_packet ,true 
+0x4760 005071 rshift bt_clk ,temp 
+0x4761 005072 or temp ,0x40 ,white_init 
+:      005073 transmit_packet_whitened:
+0x4762 005074 bpatch patch0e_4 ,mem_patch0e 
+0x4763 005075 enable enable_white 
+0x4764 005076 enable enable_hec 
+0x4765 005077 enable encode_fec1 
+0x4766 005078 set0 mark_longpacket ,mark 
+0x4767 005079 deposit am_addr 
+0x4768 005080 inject mod ,3 
+0x4769 005081 deposit type 
+0x476a 005082 inject mod ,4 
+0x476b 005083 fetch 1 ,mem_arq 
+0x476c 005084 inject bucket ,4 
+0x476d 005085 inject mod ,3 
+0x476e 005086 enable enable_parity 
+0x476f 005087 inject mod ,8 
+0x4770 005088 disable encode_fec1 
+0x4771 005089 disable enable_parity 
+0x4772 005090 disable enable_hec 
+0x4773 005091 set0 psk3m ,radio_ctrl 
+0x4774 005092 arg 0 ,temp 
+0x4775 005093 call reserve_slot 
+0x4776 005094 bpatch patch0e_5 ,mem_patch0e 
+0x4777 005095 and type ,0x1f ,pdata 
+0x4778 005096 beq type_lmp ,transmit_lmp 
+0x4779 005097 beq type_null ,end_of_packet 
+0x477a 005098 beq type_poll ,end_of_packet 
+0x477b 005099 beq type_fhs ,transmit_fhs 
+0x477c 005100 beq type_dm1 ,transmit_dm1 
+0x477d 005101 beq type_dh1 ,transmit_dh1 
+0x477e 005102 beq type_hv3 ,transmit_hev 
+0x477f 005103 beq type_3dh1 ,transmit_3dh1 
+0x4780 005104 arg 4 ,temp 
+0x4781 005105 call reserve_slot 
+0x4782 005106 beq type_dm3 ,transmit_dm3 
+0x4783 005107 beq type_dh3 ,transmit_dh3 
+0x4784 005108 arg 8 ,temp 
+0x4785 005109 call reserve_slot 
+0x4786 005110 beq type_dh5 ,transmit_dh5 
+0x4787 005111 branch transmit_dm5 
+:      005114 transmit_hev:
+0x4788 005115 bpatch patch0e_6 ,mem_patch0e 
+0x4789 005116 enable encode_fec0 
+0x478a 005117 enable enable_crc 
+0x478b 005118 enable encrypt 
+0x478c 005119 force 30 ,loopcnt 
+0x478d 005120 arg mem_sco_obuf ,contr 
+:      005121 transmit_ev_loop:
+0x478e 005122 ifetch 1 ,contr 
+0x478f 005123 inject mod ,8 
+0x4790 005124 loop transmit_ev_loop 
+0x4791 005125 bmark1 mark_esco ,transmit_end 
+0x4792 005126 branch end_of_packet 
+:      005128 transmit_fhs:
+0x4793 005129 bpatch patch0e_7 ,mem_patch0e 
+0x4794 005130 fetch 1 ,mem_fhs_am_addr 
+0x4795 005131 icopy am_addr 
+0x4796 005132 fetch 1 ,mem_fhs_misc 
+0x4797 005133 icopy fhs_misc 
+0x4798 005134 fetch 3 ,mem_class 
+0x4799 005135 icopy fhs_class 
+0x479a 005136 fetch 2 ,mem_nap 
+0x479b 005137 icopy nap 
+0x479c 005138 enable enable_crc 
+0x479d 005139 enable encode_fec2 
+0x479e 005140 copy bt_adr ,rega 
+0x479f 005141 call fetch_self_bt_adr 
+0x47a0 005142 pulse recalc 
+0x47a1 005143 nop 32 
+0x47a2 005144 copy bt_clk ,timeup 
+0x47a3 005145 fetch 4 ,mem_clkn_bt 
+0x47a4 005146 icopy bt_clk 
+0x47a5 005147 preload fhs0 
+0x47a6 005148 set1 58 ,pdata 
+0x47a7 005149 inject mod ,72 
+0x47a8 005150 preload fhs1 
+0x47a9 005151 inject mod ,72 
+0x47aa 005152 copy timeup ,bt_clk 
+0x47ab 005153 copy rega ,bt_adr 
+0x47ac 005154 enable enable_parity 
+0x47ad 005155 inject mod ,16 
+0x47ae 005156 disable enable_parity 
+0x47af 005157 branch end_of_packet 
+:      005159 transmit_lmp:
+0x47b0 005160 bpatch patch0f_0 ,mem_patch0f 
+0x47b1 005161 enable encrypt 
+0x47b2 005162 enable enable_crc 
+0x47b3 005163 enable encode_fec2 
+0x47b4 005164 fetch 1 ,mem_lmo_header_length 
+0x47b5 005165 and pdata ,0x1f8 ,temp 
+0x47b6 005166 arg mem_lmo_header_length ,contr 
+0x47b7 005167 increase 8 ,temp 
+:      005168 transmit_lmp_loop:
+0x47b8 005169 add temp ,-72 ,regc 
+0x47b9 005170 nbranch transmit_lmp_finish ,positive 
+0x47ba 005171 ifetch 9 ,contr 
+0x47bb 005172 inject mod ,72 
+0x47bc 005173 copy regc ,temp 
+0x47bd 005174 branch transmit_lmp_loop 
+:      005175 transmit_lmp_finish:
+0x47be 005176 ifetch 9 ,contr 
+0x47bf 005177 iinject mod ,temp 
+0x47c0 005178 branch transmit_end 
+:      005180 transmit_dm1:
+0x47c1 005181 enable encode_fec2 
+0x47c2 005182 branch transmit_dmh 
+:      005183 transmit_dm3:
+:      005184 transmit_dm5:
+0x47c3 005185 enable encode_fec2 
+0x47c4 005186 set1 mark_longpacket ,mark 
+0x47c5 005187 branch transmit_dmh 
+:      005189 transmit_3dh1:
+0x47c6 005190 set1 psk3m ,radio_ctrl 
+:      005191 transmit_dh1:
+0x47c7 005192 enable encode_fec0 
+0x47c8 005193 branch transmit_dmh 
+:      005195 transmit_dh3:
+:      005196 transmit_dh5:
+0x47c9 005197 set1 psk3m ,radio_ctrl 
+0x47ca 005198 enable encode_fec0 
+0x47cb 005199 set1 mark_longpacket ,mark 
+:      005201 transmit_dmh:
+0x47cc 005202 bpatch patch0f_1 ,mem_patch0f 
+0x47cd 005203 fetch 1 ,mem_state_map 
+0x47ce 005204 bbit0 smap_edr ,transmit_noedr 
+0x47cf 005205 sub type ,3 ,null 
+0x47d0 005206 branch transmit_noedr ,positive 
+0x47d1 005207 disable encrypt 
+0x47d2 005208 disable encode_fec2 
+0x47d3 005209 enable encode_fec0 
+0x47d4 005210 disable enable_white 
+0x47d5 005211 set1 psk ,radio_ctrl 
+0x47d6 005212 isolate1 psk3m ,radio_ctrl 
+0x47d7 005213 branch transmit_edr3m ,true 
+0x47d8 005214 setarg 0xabeee 
+0x47d9 005215 inject mod ,20 
+0x47da 005216 branch transmit_edr_sync_end 
+:      005217 transmit_edr3m:
+0x47db 005218 setarg 0x5faeba 
+0x47dc 005219 inject mod ,24 
+0x47dd 005220 setarg 0x12 
+0x47de 005221 inject mod ,6 
+:      005222 transmit_edr_sync_end:
+0x47df 005223 enable enable_white 
+0x47e0 005224 set1 mark_longpacket ,mark 
+:      005225 transmit_noedr:
+0x47e1 005226 enable encrypt 
+0x47e2 005227 enable enable_crc 
+0x47e3 005228 bmark1 mark_loopback ,transmit_loopback 
+0x47e4 005229 fetch 1 ,mem_tx_lch 
+0x47e5 005230 inject mod ,3 
+0x47e6 005231 fetch 2 ,mem_tx_len 
+0x47e7 005232 iforce loopcnt 
+0x47e8 005233 bmark1 mark_longpacket ,transmit_long 
+0x47e9 005234 inject mod ,5 
+0x47ea 005235 branch transmit_stuff 
+:      005236 transmit_long:
+0x47eb 005237 inject mod ,13 
+:      005238 transmit_stuff:
+0x47ec 005239 deposit loopcnt 
+0x47ed 005240 branch transmit_end ,blank 
+0x47ee 005241 fetch 2 ,mem_txptr 
+0x47ef 005242 iforce contr 
+:      005243 transmit_stuff_loop:
+0x47f0 005244 ifetch 1 ,contr 
+0x47f1 005245 inject mod ,8 
+0x47f2 005246 loop transmit_stuff_loop 
+:      005249 transmit_end:
+0x47f3 005250 enable enable_parity 
+0x47f4 005251 inject mod ,16 
+0x47f5 005252 disable enable_parity 
+0x47f6 005253 call set_wait_ack 
+0x47f7 005254 fetch 1 ,mem_state_map 
+0x47f8 005255 bbit0 smap_edr ,end_of_packet 
+0x47f9 005256 force 0 ,pdata 
+0x47fa 005257 inject mod ,6 
+0x47fb 005258 branch end_of_packet 
+:      005261 transmit_loopback:
+0x47fc 005262 bpatch patch0f_2 ,mem_patch0f 
+0x47fd 005263 bmark1 mark_longpacket ,transmit_loopback_long 
+:      005264 transmit_loopback_short:
+0x47fe 005265 fetch 1 ,mem_lch_code 
+0x47ff 005266 inject mod ,3 
+0x4800 005267 fetch 1 ,mem_len 
+0x4801 005268 iforce regc 
+0x4802 005269 inject mod ,5 
+0x4803 005270 branch transmit_loopback_cont 
+:      005271 transmit_loopback_long:
+0x4804 005272 fetch 1 ,mem_lch_code 
+0x4805 005273 inject mod ,3 
+0x4806 005274 fetch 2 ,mem_len 
+0x4807 005275 iforce regc 
+0x4808 005276 inject mod ,13 
+:      005277 transmit_loopback_cont:
+0x4809 005278 arg mem_rxbuf ,contr 
+:      005279 transmit_loopback_loop:
+0x480a 005280 copy regc ,null 
+0x480b 005281 branch transmit_loopback_end ,zero 
+0x480c 005282 ifetch 1 ,contr 
+0x480d 005283 inject mod ,8 
+0x480e 005284 increase -1 ,regc 
+0x480f 005285 branch transmit_loopback_loop 
+:      005286 transmit_loopback_end:
+0x4810 005287 fetch 2 ,mem_tst_pktcnt_dmh 
+0x4811 005288 increase 1 ,pdata 
+0x4812 005289 store 2 ,mem_tst_pktcnt_dmh 
+0x4813 005290 branch transmit_end 
+:      005293 apply_switch_clke:
+0x4814 005294 fetch 4 ,mem_clke_bt 
+0x4815 005295 add pdata ,7 ,rega 
+0x4816 005296 fetch 2 ,mem_slot_offset 
+0x4817 005297 nbranch apply_switch_nozero ,blank 
+0x4818 005298 increase -3 ,rega 
+0x4819 005299 branch apply_switch_wait_loop 
+:      005300 apply_switch_nozero:
+0x481a 005301 mul32 pdata ,12 ,pdata 
+0x481b 005302 fetcht 2 ,core_rthalfslot 
+0x481c 005303 increase 1 ,temp 
+:      005304 apply_switch_loop:
+0x481d 005305 isub temp ,pdata 
+0x481e 005306 nbranch apply_switch_bt ,positive 
+0x481f 005307 increase -1 ,rega 
+0x4820 005308 branch apply_switch_loop 
+:      005309 apply_switch_bt:
+0x4821 005310 sub pdata ,0 ,pdata 
+:      005311 apply_switch_wait_loop:
+0x4822 005312 until null ,oneslot 
+0x4823 005313 compare 0 ,clkn_bt ,3 
+0x4824 005314 nbranch apply_switch_wait_loop ,true 
+0x4825 005315 iforce clke_rt 
+0x4826 005316 copy rega ,clke_bt 
+0x4827 005317 iforce clke_rt 
+0x4828 005318 rtn 
+:      005321 calc_slot_offset:
+0x4829 005322 bpatch patch0f_3 ,mem_patch0f 
+0x482a 005323 until null ,halfslot 
+0x482b 005324 deposit clke 
+0x482c 005325 iforce contr 
+0x482d 005326 rshift16 ,pdata ,pdata 
+0x482e 005327 isub clkn_bt ,loopcnt 
+0x482f 005328 and_into 3 ,loopcnt 
+0x4830 005329 nbranch calc_bt_portion ,zero 
+0x4831 005330 force 0 ,pdata 
+0x4832 005331 branch calc_skip_bt 
+:      005332 calc_bt_portion:
+0x4833 005333 arg 3750 ,temp 
+0x4834 005334 force 0 ,pdata 
+:      005335 calc_slot_offset_loop:
+0x4835 005336 iadd temp ,pdata 
+0x4836 005337 loop calc_slot_offset_loop 
+:      005338 calc_skip_bt:
+0x4837 005339 iadd contr ,pdata 
+0x4838 005340 div pdata ,12 
+0x4839 005341 call wait_div_end 
+0x483a 005342 quotient pdata 
+0x483b 005343 store 2 ,mem_slot_offset 
+0x483c 005344 rtn 
+:      005346 calc_clke_offset:
+0x483d 005347 bpatch patch0f_4 ,mem_patch0f 
+0x483e 005348 deposit clke 
+0x483f 005349 copy clkn ,temp 
+0x4840 005350 isub temp ,null 
+0x4841 005351 nsetflag positive ,44 ,pdata 
+0x4842 005352 isub temp ,temp 
+0x4843 005353 setarg 3750 
+0x4844 005354 isolate0 15 ,temp 
+0x4845 005355 branch calc_clke_pos ,true 
+0x4846 005356 setarg -61786 
+0x4847 005357 iadd temp ,temp 
+:      005358 calc_clke_pos:
+0x4848 005359 storet 6 ,mem_le_clk_offset 
+0x4849 005360 rtn le 
+0x484a 005361 storet 6 ,mem_clk_offset 
+0x484b 005362 rtn 
+:      005364 calc_clke:
+0x484c 005365 disable clknt 
+0x484d 005366 fetch 6 ,mem_le_clk_offset 
+0x484e 005367 branch calc_clke2 ,le 
+0x484f 005368 fetch 6 ,mem_clk_offset 
+:      005369 calc_clke2:
+0x4850 005370 iadd clkn ,alarm 
+0x4851 005371 increase 10 ,alarm 
+0x4852 005372 setarg 3750 
+0x4853 005373 isub alarm ,pdata 
+0x4854 005374 isolate0 15 ,pdata 
+0x4855 005375 branch calc_clke_pos_adj ,true 
+0x4856 005376 setarg 0xf15a 
+0x4857 005377 iadd alarm ,alarm 
+:      005378 calc_clke_pos2:
+0x4858 005379 copy alarm ,clke 
+0x4859 005380 rtn 
+:      005381 calc_clke_pos_adj:
+0x485a 005382 force 0 ,null 
+0x485b 005383 branch calc_clke_pos2 
+:      005390 calc_radio_freq:
+0x485c 005391 bpatch patch0f_5 ,mem_patch0f 
+0x485d 005392 call set_sync_on 
+0x485e 005393 copy bt_clk ,pdata 
+0x485f 005394 and_into 0x180 ,pdata 
+0x4860 005395 compare 3 ,freq_mode ,0x07 
+0x4861 005396 nbranch freq_not_connection ,true 
+0x4862 005397 rshift3 pdata ,pdata 
+0x4863 005398 iadd freq_index ,pdata 
+0x4864 005399 branch do_hop_mod_now 
+:      005400 freq_not_connection:
+0x4865 005401 copy freq_index ,pdata 
+:      005402 do_hop_mod_now:
+0x4866 005403 div pdata ,79 
+0x4867 005404 pulse recalc 
+0x4868 005405 call wait_div_end 
+0x4869 005406 remainder rega 
+0x486a 005407 add rega ,-40 ,temp 
+0x486b 005408 branch odd_half ,positive 
+0x486c 005409 lshift rega ,temp 
+0x486d 005410 branch freq_result 
+:      005411 odd_half:
+0x486e 005412 lshift temp ,temp 
+0x486f 005413 increase 1 ,temp 
+:      005414 freq_result:
+0x4870 005415 bpatch patch0f_6 ,mem_patch0f 
+0x4871 005416 fetch 1 ,mem_mode 
+0x4872 005417 bbit0 afh_change ,afh_process_con 
+:      005418 afh_process_0:
+0x4873 005419 fetch 4 ,mem_afh_instant 
+0x4874 005420 isub bt_clk ,null 
+0x4875 005421 branch afh_process_con ,positive 
+0x4876 005422 call afh_clear 
+0x4877 005423 fetch 1 ,mem_afh_new_mod 
+0x4878 005424 rtn blank 
+0x4879 005425 fetch 1 ,mem_mode 
+0x487a 005426 set1 afh_enable ,pdata 
+0x487b 005427 store 1 ,mem_mode 
+0x487c 005428 fetch 5 ,mem_afh_map_new 
+0x487d 005429 store 5 ,mem_afh_map_lo 
+0x487e 005430 ifetch 5 ,contr 
+0x487f 005431 store 5 ,mem_afh_map_hi 
+0x4880 005432 call afh_process_freq_map 
+:      005433 afh_process_con:
+0x4881 005434 fetch 1 ,mem_mode 
+0x4882 005435 rtnbit0 afh_enable 
+0x4883 005436 isolate1 1 ,bt_clk 
+0x4884 005437 branch afh_same_channel ,true 
+0x4885 005438 rshift3 temp ,rega 
+0x4886 005439 and temp ,7 ,queue 
+0x4887 005440 setarg mem_afh_map_lo 
+0x4888 005441 iadd rega ,rega 
+0x4889 005442 ifetch 1 ,rega 
+0x488a 005443 qisolate0 pdata 
+0x488b 005444 branch afh_process_1 ,true 
+0x488c 005445 deposit temp 
+0x488d 005446 branch afh_process_end 
+:      005447 afh_process_1:
+0x488e 005448 fetch 1 ,mem_afh_used 
+0x488f 005449 iforce regb 
+0x4890 005450 deposit bt_clk 
+0x4891 005451 and_into 0x180 ,pdata 
+0x4892 005452 rshift3 pdata ,pdata 
+0x4893 005453 iadd freq_index ,pdata 
+0x4894 005454 idiv regb 
+0x4895 005455 setarg mem_afh_map 
+0x4896 005456 call wait_div_end 
+0x4897 005457 remainder rega 
+0x4898 005458 iadd rega ,contr 
+0x4899 005459 ifetch 1 ,contr 
+:      005460 afh_process_end:
+0x489a 005461 store 1 ,mem_afh_index 
+0x489b 005462 iforce temp 
+0x489c 005463 rtn 
+:      005465 afh_same_channel:
+0x489d 005466 fetch 1 ,mem_afh_index 
+0x489e 005467 iforce temp 
+0x489f 005468 rtn 
+:      005470 afh_clear:
+0x48a0 005471 fetch 1 ,mem_mode 
+0x48a1 005472 set0 afh_enable ,pdata 
+0x48a2 005473 set0 afh_change ,pdata 
+0x48a3 005474 store 1 ,mem_mode 
+0x48a4 005475 rtn 
+:      005481 afh_process_freq_map:
+0x48a5 005482 bpatch patch0f_7 ,mem_patch0f 
+0x48a6 005483 arg mem_afh_map ,contw 
+0x48a7 005484 force 10 ,loopcnt 
+0x48a8 005485 call memset0 
+0x48a9 005486 arg mem_afh_map ,contw 
+0x48aa 005487 force 0 ,regc 
+0x48ab 005488 force 2 ,queue 
+:      005489 process_freq_3:
+0x48ac 005490 fetch 5 ,mem_afh_map_lo 
+0x48ad 005491 iforce temp 
+0x48ae 005492 compare 2 ,queue ,0xff 
+0x48af 005493 branch process_freq_1 ,true 
+0x48b0 005494 rshift temp ,temp 
+:      005495 process_freq_1:
+0x48b1 005496 isolate0 0 ,temp 
+0x48b2 005497 branch process_freq_0 ,true 
+0x48b3 005498 deposit regc 
+0x48b4 005499 istore 1 ,contw 
+:      005500 process_freq_0:
+0x48b5 005501 rshift2 temp ,temp 
+0x48b6 005502 increase 2 ,regc 
+0x48b7 005503 compare 40 ,regc ,0xfe 
+0x48b8 005504 nbranch process_freq_2 ,true 
+0x48b9 005505 fetch 5 ,mem_afh_map_hi 
+0x48ba 005506 iforce temp 
+0x48bb 005507 compare 2 ,queue ,0xff 
+0x48bc 005508 branch process_freq_2 ,true 
+0x48bd 005509 rshift temp ,temp 
+:      005510 process_freq_2:
+0x48be 005511 sub regc ,78 ,null 
+0x48bf 005512 branch process_freq_1 ,positive 
+0x48c0 005513 force 1 ,regc 
+0x48c1 005514 increase -1 ,queue 
+0x48c2 005515 nbranch process_freq_3 ,zero 
+0x48c3 005516 arg mem_afh_map ,rega 
+0x48c4 005517 deposit contw 
+0x48c5 005518 isub rega ,pdata 
+0x48c6 005519 store 1 ,mem_afh_used 
+0x48c7 005520 rtn 
+:      005522 rx_radio_freq:
+0x48c8 005523 bpatch patch10_0 ,mem_patch10 
+0x48c9 005524 call calc_radio_freq 
+0x48ca 005525 fetch 1 ,mem_debug_config 
+0x48cb 005526 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+0x48cc 005527 fetcht 1 ,mem_rx_fixed_freq 
+:      005528 rx_radio_freq_now:
+0x48cd 005529 branch set_freq_rx 
+:      005532 tx_radio_freq:
+0x48ce 005533 bpatch patch10_1 ,mem_patch10 
+0x48cf 005534 call calc_radio_freq 
+0x48d0 005535 fetch 1 ,mem_debug_config 
+0x48d1 005536 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+0x48d2 005537 fetcht 1 ,mem_tx_fixed_freq 
+:      005538 tx_radio_freq_now:
+0x48d3 005539 branch set_freq_tx 
+:      005542 fetch_giac:
+0x48d4 005543 force 0 ,uap 
+0x48d5 005544 fetch 3 ,mem_glap 
+0x48d6 005545 iforce lap 
+0x48d7 005546 rtn 
+:      005548 fetch_page_bt_adr:
+0x48d8 005549 bpatch patch10_2 ,mem_patch10 
+0x48d9 005550 fetch 1 ,mem_hci_puap 
+0x48da 005551 icopy uap 
+0x48db 005552 fetch 3 ,mem_hci_plap 
+0x48dc 005553 icopy lap 
+0x48dd 005554 rtn 
+:      005556 fetch_self_bt_adr:
+0x48de 005557 bpatch patch10_3 ,mem_patch10 
+0x48df 005558 fetch 2 ,mem_nap 
+0x48e0 005559 icopy nap 
+0x48e1 005560 fetch 1 ,mem_uap 
+0x48e2 005561 icopy uap 
+0x48e3 005562 fetch 3 ,mem_lap 
+0x48e4 005563 icopy lap 
+0x48e5 005564 rtn 
+:      005566 fetch_extm_bt_adr:
+0x48e6 005567 bpatch patch10_4 ,mem_patch10 
+0x48e7 005568 fetch 2 ,mem_pnap 
+0x48e8 005569 icopy nap 
+0x48e9 005570 fetch 1 ,mem_puap 
+0x48ea 005571 icopy uap 
+0x48eb 005572 fetch 3 ,mem_plap 
+0x48ec 005573 icopy lap 
+0x48ed 005574 rtn 
+:      005577 fetch_diac:
+0x48ee 005578 bmark1 mark_all_diac ,fetch_diac_do 
+0x48ef 005579 rtnmark0 mark_inquiry_state 
+0x48f0 005580 rtnmark0 mark_periodical_diac 
+:      005581 fetch_diac_do:
+0x48f1 005582 and_into -256 ,lap 
+0x48f2 005583 pulse recalc 
+0x48f3 005584 nop 32 
+0x48f4 005585 rtn 
+:      005588 shutdown_radio:
+0x48f5 005589 bpatch patch10_5 ,mem_patch10 
+0x48f6 005590 branch shutdown_radio0 ,is_rx 
+0x48f7 005591 hjam 0xd4 ,0x955 
+0x48f8 005592 nop 4 
+0x48f9 005593 hjam 0xd2 ,0x955 
+0x48fa 005594 nop 4 
+0x48fb 005595 hjam 0xd1 ,0x955 
+0x48fc 005596 nop 4 
+0x48fd 005597 fetch 1 ,mem_tx_power 
+0x48fe 005598 beq tx_power_0db ,shutdown_radio_0db 
+0x48ff 005599 beq tx_power_3db ,shutdown_radio_3db 
+0x4900 005600 beq tx_power_5db ,shutdown_radio_5db 
+0x4901 005601 beq tx_power_f3db ,shutdown_radio_f3db 
+0x4902 005602 beq tx_power_f5db ,shutdown_radio_f5db 
+0x4903 005603 beq tx_power_pair ,shutdown_radio_pair 
+:      005604 shutdown_radio_5db:
+:      005605 shutdown_radio_0db:
+0x4904 005606 hjam 0xd0 ,0x955 
+0x4905 005607 hjam 0xe0 ,0x956 
+:      005608 shutdown_radio0:
+0x4906 005609 force 0x08 ,radio_ctrl 
+0x4907 005610 force 0 ,radio_ctrl 
+0x4908 005611 disable is_rx 
+0x4909 005612 disable is_tx 
+0x490a 005613 pulse packet_end 
+0x490b 005614 hjam 0x0 ,rfen_mdm 
+0x490c 005615 hjam 0x0 ,rfen_tx 
+0x490d 005616 hjam 0x0 ,rfen_rx 
+0x490e 005617 hjam 0 ,rfen_sn 
+0x490f 005618 hjam 0x70 ,rfen_msc 
+0x4910 005619 hjam 0x0 ,rfen_adc 
+0x4911 005620 rtn 
+:      005622 shutdown_radio_pair:
+:      005623 shutdown_radio_f5db:
+:      005624 shutdown_radio_f3db:
+:      005625 shutdown_radio_3db:
+0x4912 005626 hjam 0xd0 ,0x955 
+0x4913 005627 hjam 0xc0 ,0x956 
+0x4914 005628 branch shutdown_radio0 
+:      005630 set_sync_on:
+0x4915 005631 bpatch patch10_6 ,mem_patch10 
+0x4916 005632 hjam 0x0 ,rfen_mdm 
+0x4917 005633 hjam 0x0 ,rfen_tx 
+0x4918 005634 hjam 0x18 ,rfen_rx 
+0x4919 005635 hjam 0xa7 ,rfen_sn 
+0x491a 005636 hjam 0x7f ,rfen_msc 
+0x491b 005637 rtn 
+:      005639 set_freq_rx:
+0x491c 005640 bpatch patch10_7 ,mem_patch10 
+0x491d 005642 storet 1 ,mem_last_freq 
+0x491e 005643 add temp ,rx_freq_offset ,rega 
+0x491f 005644 hjam 0x07 ,0x96d 
+0x4920 005645 branch rf_write_freq 
+:      005646 rf_rx_enable:
+0x4921 005647 bpatch patch11_0 ,mem_patch11 
+0x4922 005648 hjam 0xcf ,rfen_tx 
+0x4923 005649 nop 10 
+0x4924 005650 hjam 0xff ,rfen_rx 
+0x4925 005651 hjam 0xaf ,rfen_sn 
+0x4926 005652 hjam 0xff ,rfen_msc 
+0x4927 005653 nop 10 
+0x4928 005654 hjam 0xa0 ,rfen_mdm 
+0x4929 005655 rtn 
+:      005657 set_freq_tx_offset:
+0x492a 005658 fetch 1 ,mem_250k_freq_enable 
+0x492b 005659 branch set_freq_tx_2m_offset ,blank 
+:      005660 set_freq_tx_0m_offset:
+0x492c 005661 add temp ,2 ,rega 
+0x492d 005662 rtn 
+:      005663 set_freq_tx_2m_offset:
+0x492e 005664 add temp ,0 ,rega 
+0x492f 005665 rtn 
+:      005667 set_freq_tx:
+0x4930 005668 bpatch patch11_1 ,mem_patch11 
+0x4931 005669 storet 1 ,mem_last_freq 
+0x4932 005670 call set_freq_tx_offset 
+0x4933 005671 call rf_write_freq 
+0x4934 005672 setarg param_pll_setup 
+0x4935 005673 call sleep 
+:      005674 txon:
+0x4936 005675 hjam 0x1 ,rfen_adc 
+0x4937 005676 hjam 0x3c ,rfen_rx 
+0x4938 005677 hjam 0xe0 ,rfen_tx 
+0x4939 005678 hjam 0x12 ,0x96d 
+0x493a 005679 nop 10 
+0x493b 005680 hjam 0x01 ,rfen_mdm 
+0x493c 005681 hjam 0x3d ,rfen_mdm 
+0x493d 005682 nop 10 
+0x493e 005683 hjam 0xb7 ,rfen_sn 
+0x493f 005684 nop 10 
+0x4940 005685 hjam 0x7f ,rfen_mdm 
+0x4941 005686 fetch 1 ,mem_tx_power 
+0x4942 005687 beq tx_power_0db ,set_tx_power_0db 
+0x4943 005688 beq tx_power_3db ,set_tx_power_3db 
+0x4944 005689 beq tx_power_5db ,set_tx_power_5db 
+0x4945 005690 beq tx_power_f3db ,set_tx_power_f3db 
+0x4946 005691 beq tx_power_f5db ,set_tx_power_f5db 
+0x4947 005692 beq tx_power_pair ,set_tx_power_pair 
+:      005693 set_tx_power_0db:
+0x4948 005694 hjam 0xf0 ,0x956 
+0x4949 005695 call txon_common 
+0x494a 005696 hjam 0xd8 ,0x955 
+0x494b 005697 rtn 
+:      005699 set_tx_power_3db:
+0x494c 005700 hjam 0xdf ,0x956 
+0x494d 005701 call txon_common 
+0x494e 005702 hjam 0xdf ,0x955 
+0x494f 005703 rtn 
+:      005705 set_tx_power_5db:
+0x4950 005706 hjam 0xff ,0x956 
+0x4951 005707 call txon_common 
+0x4952 005708 hjam 0xdf ,0x955 
+0x4953 005709 rtn 
+:      005710 set_tx_power_f3db:
+0x4954 005711 hjam 0xce ,0x956 
+0x4955 005712 call txon_common 
+0x4956 005713 hjam 0xd8 ,0x955 
+0x4957 005714 rtn 
+:      005716 set_tx_power_f5db:
+0x4958 005717 hjam 0xcb ,0x956 
+0x4959 005718 call txon_common 
+0x495a 005719 hjam 0xd8 ,0x955 
+0x495b 005720 rtn 
+:      005722 set_tx_power_pair:
+0x495c 005723 hjam 0xd0 ,0x955 
+0x495d 005724 hjam 0xc0 ,0x956 
+0x495e 005725 hjam 0x4c ,0x957 
+0x495f 005726 hjam 0x6c ,0x958 
+0x4960 005727 hjam 0x50 ,0x959 
+0x4961 005728 rtn 
+:      005730 txon_common:
+0x4962 005731 nop 4 
+0x4963 005732 hjam 0xd1 ,0x955 
+0x4964 005733 nop 4 
+0x4965 005734 hjam 0xd2 ,0x955 
+0x4966 005735 nop 4 
+0x4967 005736 hjam 0xd4 ,0x955 
+0x4968 005737 nop 4 
+0x4969 005738 rtn 
+:      005741 initialize_radio:
+0x496a 005742 hjam clksel_rc ,core_clksel 
+0x496b 005743 ncall wake_up_m0 ,wake 
+:      005744 initialize_radio_wait:
+0x496c 005745 fetch 2 ,mem_rf_init_ptr 
+0x496d 005746 bbit0 14 ,initialize_radio_wait 
+0x496e 005747 iforce contr 
+0x496f 005748 arg 0x8900 ,temp 
+:      005749 initialize_radio_loop:
+0x4970 005750 ifetch 1 ,contr 
+0x4971 005751 beq 0xff ,initialize_radio_cont 
+0x4972 005752 ior temp ,contw 
+0x4973 005753 ifetch 1 ,contr 
+0x4974 005754 istore 1 ,contw 
+0x4975 005755 branch initialize_radio_loop 
+:      005756 initialize_radio_cont:
+0x4976 005757 bpatch patch11_2 ,mem_patch11 
+0x4977 005758 call lpm_cal_xtal_startup 
+0x4978 005759 call switchto_dpllclk 
+0x4979 005761 setarg param_dpll_start_delay 
+0x497a 005762 iadd clkn_bt ,pdata 
+0x497b 005763 store 4 ,mem_dpll_clkn 
+0x497c 005764 set1 reset ,radio_ctrl 
+0x497d 005765 force 0 ,radio_ctrl 
+0x497e 005766 ncall do_rccal ,wake 
+0x497f 005767 branch set_rccal 
+:      005770 rf_write_freq:
+0x4980 005771 bpatch patch11_3 ,mem_patch11 
+0x4981 005772 setarg 2400 
+0x4982 005773 iadd rega ,temp 
+0x4983 005774 fetch 1 ,mem_fcomp_mul 
+0x4984 005775 hjam 0x04 ,rf_pll_rstn 
+0x4985 005776 imul32 temp ,pdata 
+0x4986 005777 fetcht 1 ,mem_fcomp_div 
+0x4987 005778 idiv temp 
+0x4988 005779 call wait_div_end 
+0x4989 005780 quotient rega 
+0x498a 005781 remainder pdata 
+0x498b 005782 lshift16 pdata ,pdata 
+0x498c 005783 lshift4 pdata ,pdata 
+0x498d 005784 idiv temp 
+0x498e 005785 call wait_div_end 
+0x498f 005786 quotient pdata 
+0x4990 005787 lshift8 pdata ,pdata 
+0x4991 005788 lshift pdata ,pdata 
+0x4992 005789 ior rega ,pdata 
+0x4993 005790 hstore 4 ,rf_pll_intg 
+0x4994 005791 hjam 0x44 ,rf_pll_rstn 
+0x4995 005792 hjam 0xc4 ,rf_pll_rstn 
+0x4996 005793 rtn 
+:      005796 do_rccal:
+0x4997 005797 bpatch patch11_4 ,mem_patch11 
+0x4998 005798 hjam 0x02 ,rfen_adc 
+0x4999 005799 setarg 250000 
+0x499a 005800 call sleep 
+0x499b 005801 hjam 0x7f ,rfen_rx 
+0x499c 005802 nop 130 
+0x499d 005803 hjam 0x30 ,rf_rccal_ctrl 
+0x499e 005804 hjam 0xd0 ,rfen_tx 
+0x499f 005805 hjam 0x70 ,rf_rccal_ctrl 
+0x49a0 005806 hjam 0xf0 ,rf_rccal_ctrl 
+0x49a1 005807 force 50 ,loopcnt 
+:      005808 do_rccal_loop:
+0x49a2 005809 hfetch 1 ,rf_rccal_result 
+0x49a3 005810 bbit1 5 ,do_rccal_end 
+0x49a4 005811 loop do_rccal_loop 
+:      005812 do_rccal_end:
+0x49a5 005813 store 1 ,mem_rf_rccal 
+0x49a6 005814 hjam 0 ,rfen_tx 
+0x49a7 005815 hjam 0 ,rfen_rx 
+0x49a8 005816 hjam 0x00 ,rfen_adc 
+0x49a9 005817 rtn 
+:      005819 set_rccal:
+0x49aa 005820 bpatch patch11_5 ,mem_patch11 
+0x49ab 005821 fetch 1 ,mem_rf_rccal 
+0x49ac 005822 set1 5 ,pdata 
+0x49ad 005823 hstore 1 ,rf_rccal_ctrl 
+0x49ae 005824 hfetcht 1 ,rf_bpf_ctrim 
+0x49af 005825 and_into 7 ,temp 
+0x49b0 005826 lshift3 pdata ,pdata 
+0x49b1 005827 ior temp ,pdata 
+0x49b2 005828 hstore 1 ,rf_bpf_ctrim 
+0x49b3 005829 hfetch 1 ,rf_bpf_ib 
+0x49b4 005830 set0 bpf_rccal ,pdata 
+0x49b5 005831 hstore 1 ,rf_bpf_ib 
+0x49b6 005832 hfetch 1 ,rf_adc_rccal 
+0x49b7 005833 set0 adc_rccal ,pdata 
+0x49b8 005834 hstore 1 ,rf_adc_rccal 
+0x49b9 005835 rtn 
+:      005837 save_rssi:
+0x49ba 005838 bpatch patch11_6 ,mem_patch11 
+0x49bb 005839 hfetch 2 ,rf_afc_d2a 
+0x49bc 005840 rshift4 pdata ,pdata 
+0x49bd 005841 rshift3 pdata ,pdata 
+0x49be 005842 sub pdata ,0 ,pdata 
+0x49bf 005843 and_into 0xff ,pdata 
+0x49c0 005844 div pdata ,10 
+0x49c1 005845 call wait_div_end 
+0x49c2 005846 quotient pdata 
+0x49c3 005847 lshift4 pdata ,pdata 
+0x49c4 005848 remainder temp 
+0x49c5 005849 ior temp ,pdata 
+0x49c6 005850 store 1 ,mem_rssi 
+0x49c7 005851 rtn 
+:      005854 switchto_dpllclk:
+0x49c8 005855 hjam clksel_rc ,core_clksel 
+0x49c9 005856 hfetch 1 ,rf_clkpll_frac + 2 
+0x49ca 005857 set0 4 ,pdata 
+0x49cb 005858 set0 5 ,pdata 
+0x49cc 005859 hstore 1 ,rf_clkpll_frac + 2 
+0x49cd 005860 hjam 0x00 ,rfen_ck 
+0x49ce 005861 hjam 0x00 ,rfen_msc 
+0x49cf 005862 hjam 0x70 ,rfen_msc 
+0x49d0 005863 hjam 0xff ,rfen_ck 
+0x49d1 005864 hfetch 1 ,rf_clkpll_frac + 2 
+0x49d2 005865 set1 4 ,pdata 
+0x49d3 005866 set1 5 ,pdata 
+0x49d4 005867 hstore 1 ,rf_clkpll_frac + 2 
+0x49d5 005868 call init_lpm_ctrl 
+0x49d6 005869 hfetch 1 ,rf_clkpll_int 
+0x49d7 005870 set1 7 ,pdata 
+0x49d8 005871 hstore 1 ,rf_clkpll_int 
+0x49d9 005872 set0 7 ,pdata 
+0x49da 005873 hstore 1 ,rf_clkpll_int 
+0x49db 005874 set1 7 ,pdata 
+0x49dc 005875 hstore 1 ,rf_clkpll_int 
+0x49dd 005876 hjam clksel_dpll ,core_clksel 
+0x49de 005877 nop 1 
+0x49df 005878 hjam clksel_xtal ,core_clksel 
+0x49e0 005879 hfetch 1 ,rf_clkpll_frac + 2 
+0x49e1 005880 and_into 0xcf ,pdata 
+0x49e2 005881 hstore 1 ,rf_clkpll_frac + 2 
+0x49e3 005882 or_into 0x30 ,pdata 
+0x49e4 005883 hstore 1 ,rf_clkpll_frac + 2 
+0x49e5 005884 rtn 
+:      005887 xtal_fast_wake:
+0x49e6 005888 setarg 0xf0f 
+0x49e7 005889 branch lpm_write_config 
+:      005891 init_lpm_ctrl:
+0x49e8 005892 setarg 0x80f 
+0x49e9 005893 branch lpm_write_config 
+:      005897 start_receiver:
+0x49ea 005898 bpatch patch11_7 ,mem_patch11 
+0x49eb 005899 call rf_rx_enable 
+0x49ec 005900 disable is_tx 
+0x49ed 005901 enable is_rx 
+0x49ee 005902 pulse init_encrypt 
+0x49ef 005903 rtn 
+:      005905 prep_crypt:
+0x49f0 005906 bpatch patch12_0 ,mem_patch12 
+0x49f1 005907 fetch 1 ,mem_state_map 
+0x49f2 005908 isolate1 smap_encryption ,pdata 
+0x49f3 005909 setflag true ,0 ,pdata 
+0x49f4 005910 hstore 1 ,core_encrypt 
+0x49f5 005911 arg mem_kc ,contr 
+0x49f6 005912 ifetch 9 ,contr 
+0x49f7 005913 iforce kc_ls 
+0x49f8 005914 ifetch 7 ,contr 
+0x49f9 005915 iforce kc_ms 
+0x49fa 005916 fetch 1 ,mem_key_size 
+0x49fb 005917 add pdata ,-1 ,g1l 
+0x49fc 005918 pulse kc_p_activate 
+0x49fd 005919 rtn 
+:      005921 wait_access_end:
+0x49fe 005922 deposit clke 
+0x49ff 005923 store 6 ,mem_sync_clke 
+0x4a00 005924 disable decode_fec0 
+0x4a01 005925 nbranch shutdown_radio ,sync 
+0x4a02 005926 arg param_clke_cal ,clke_rt 
+0x4a03 005927 increase 1 ,clke_bt 
+0x4a04 005928 and_into 0x1fc ,clke_bt 
+0x4a05 005929 rtn 
+:      005933 wait_access_mhalfbnd:
+0x4a06 005934 enable decode_fec0 
+:      005935 wait_access_mhalfbnd_correlate:
+0x4a07 005936 correlate null ,mhalfbnd 
+0x4a08 005937 branch wait_access_end ,sync 
+0x4a09 005938 compare 0x02 ,clke_bt ,0x02 
+0x4a0a 005939 nbranch wait_access_mhalfbnd_correlate ,true 
+0x4a0b 005940 branch wait_access_end 
+:      005942 wait_access_clkn_rt:
+0x4a0c 005943 bpatch patch12_1 ,mem_patch12 
+0x4a0d 005944 arg param_conn_access ,timeup 
+0x4a0e 005945 enable decode_fec0 
+0x4a0f 005946 correlate clkn_rt ,meet 
+0x4a10 005947 disable decode_fec0 
+0x4a11 005948 nbranch shutdown_radio ,sync 
+0x4a12 005949 rtn 
+:      005951 wait_access_forever:
+0x4a13 005952 bpatch patch12_2 ,mem_patch12 
+0x4a14 005953 enable decode_fec0 
+0x4a15 005954 correlate null ,timeout 
+0x4a16 005955 disable decode_fec0 
+0x4a17 005956 nbranch shutdown_radio ,sync 
+0x4a18 005957 arg param_clke_cal ,clke_rt 
+0x4a19 005958 and_into 0x1fc ,clke_bt 
+0x4a1a 005959 rtn 
+:      005962 reserve_slot:
+0x4a1b 005963 bpatch patch12_3 ,mem_patch12 
+0x4a1c 005964 iforce rega 
+0x4a1d 005965 deposit bt_clk 
+0x4a1e 005966 iadd temp ,timeup 
+0x4a1f 005967 copy timeup ,pdata 
+0x4a20 005968 store 4 ,mem_next_btclk 
+0x4a21 005969 deposit rega 
+0x4a22 005970 rtn 
+:      005973 ahead_window:
+0x4a23 005974 copy pdata ,temp 
+0x4a24 005975 bpatch patch12_4 ,mem_patch12 
+0x4a25 005976 copy temp ,pdata 
+0x4a26 005977 call clk2bt 
+0x4a27 005978 lshift16 bt_clk ,pdata 
+0x4a28 005979 set1 44 ,pdata 
+0x4a29 005980 call clk_diff 
+0x4a2a 005981 set0 44 ,pdata 
+0x4a2b 005982 call get_clk 
+0x4a2c 005983 call clk_diff 
+0x4a2d 005984 rtn user 
+0x4a2e 005985 call clk2rt 
+0x4a2f 005986 iforce stop_watch 
+0x4a30 005987 until null ,timeout 
+0x4a31 005988 rtn 
+:      005991 setup_clk:
+0x4a32 005992 bpatch patch12_5 ,mem_patch12 
+0x4a33 005993 branch setup_clkn ,clknt 
+0x4a34 005994 until clke_rt ,meet 
+:      005995 skip_setup_clke:
+0x4a35 005996 copy clke_bt ,temp 
+0x4a36 005997 branch setup_clknbt 
+:      005998 setup_clkn:
+0x4a37 005999 branch skip_setup_clkn ,attempt 
+0x4a38 006000 until clkn_rt ,meet 
+:      006001 skip_setup_clkn:
+0x4a39 006002 copy clkn_bt ,temp 
+:      006003 setup_clknbt:
+0x4a3a 006004 branch setup_clk11 ,user 
+0x4a3b 006005 compare 1 ,temp ,3 
+0x4a3c 006006 nbranch setup_clk ,true 
+:      006007 setup_complete:
+0x4a3d 006008 bpatch patch12_6 ,mem_patch12 
+0x4a3e 006009 fetch 1 ,mem_state 
+0x4a3f 006010 rtnbit0 state_inconn 
+0x4a40 006011 fetch 4 ,mem_next_btclk 
+0x4a41 006012 isub temp ,pdata 
+0x4a42 006013 nrtn positive 
+0x4a43 006014 sub pdata ,0xff ,null 
+0x4a44 006015 branch setup_clk ,positive 
+0x4a45 006016 rtn 
+:      006017 setup_clk11:
+0x4a46 006018 compare 3 ,temp ,3 
+0x4a47 006019 nbranch setup_clk ,true 
+0x4a48 006020 branch setup_complete 
+:      006022 rf_setup_time:
+0x4a49 006023 bpatch patch12_7 ,mem_patch12 
+0x4a4a 006024 arg param_rf_setup ,timeup 
+0x4a4b 006025 branch setup_clk 
+:      006027 rf_setup_time_slave_slot:
+0x4a4c 006028 disable user 
+0x4a4d 006029 branch rf_setup_time 
+:      006031 rf_setup_time_master_slot:
+0x4a4e 006032 enable user 
+0x4a4f 006033 branch rf_setup_time 
+:      006035 start_transmitter:
+0x4a50 006036 bpatch patch13_0 ,mem_patch13 
+0x4a51 006037 call prep_crypt 
+0x4a52 006038 disable is_rx 
+0x4a53 006039 enable is_tx 
+0x4a54 006040 rtn 
+:      006044 start_tx_native:
+0x4a55 006045 bpatch patch13_1 ,mem_patch13 
+0x4a56 006046 arg param_tx_setup ,timeup 
+0x4a57 006047 until clkn_rt ,meet 
+0x4a58 006048 pulse init_encrypt 
+0x4a59 006049 rtn 
+:      006051 start_rx_native:
+0x4a5a 006052 bpatch patch13_2 ,mem_patch13 
+0x4a5b 006053 arg param_rx_setup ,timeup 
+0x4a5c 006054 until clkn_rt ,meet 
+0x4a5d 006055 rtn 
+:      006058 start_tx_external:
+0x4a5e 006059 bpatch patch13_3 ,mem_patch13 
+0x4a5f 006060 arg param_tx_setup ,timeup 
+0x4a60 006061 until clke_rt ,meet 
+0x4a61 006062 pulse init_encrypt 
+0x4a62 006063 rtn 
+:      006065 send_access_word:
+0x4a63 006066 bpatch patch13_4 ,mem_patch13 
+0x4a64 006067 preload access 
+0x4a65 006068 enable encode_fec0 
+0x4a66 006069 set1 txgfsk ,radio_ctrl 
+0x4a67 006070 inject mod ,72 
+0x4a68 006071 disable encode_fec0 
+0x4a69 006072 rtn 
+:      006075 scan_mode_whiten:
+0x4a6a 006076 copy xin ,temp 
+0x4a6b 006077 or_into 0x60 ,temp 
+0x4a6c 006078 copy temp ,white_init 
+0x4a6d 006079 rtn 
+:      006084 get_free_amaddr:
+0x4a6e 006085 bpatch patch13_5 ,mem_patch13 
+0x4a6f 006086 fetch 1 ,mem_current_amaddr 
+0x4a70 006087 increase 1 ,pdata 
+0x4a71 006088 bne param_esco_addr ,get_free_amaddr_cont 
+0x4a72 006089 force 1 ,pdata 
+:      006090 get_free_amaddr_cont:
+0x4a73 006091 store 1 ,mem_current_amaddr 
+0x4a74 006092 iforce am_addr 
+0x4a75 006093 rtn 
+:      006095 get_clk:
+0x4a76 006096 copy clkn ,temp 
+0x4a77 006097 rtn master 
+0x4a78 006098 copy clke ,temp 
+0x4a79 006099 rtn 
+:      006101 get_clkbt:
+0x4a7a 006102 deposit clkn_bt 
+0x4a7b 006103 rtn master 
+0x4a7c 006104 deposit clke_bt 
+0x4a7d 006105 rtn 
+:      006108 supervision_update:
+0x4a7e 006109 bpatch patch13_6 ,mem_patch13 
+0x4a7f 006110 fetcht 4 ,mem_supervision_timer 
+0x4a80 006111 call get_clkbt 
+0x4a81 006112 isub temp ,timeup 
+0x4a82 006113 deposit timeup 
+0x4a83 006114 fetcht 2 ,mem_supervision_to 
+0x4a84 006115 lshift temp ,temp 
+0x4a85 006116 isub temp ,pdata 
+0x4a86 006117 rtn 
+:      006119 supervision_flush:
+0x4a87 006120 bpatch patch13_7 ,mem_patch13 
+0x4a88 006121 call get_clkbt 
+0x4a89 006122 store 4 ,mem_supervision_timer 
+0x4a8a 006123 rtn 
+:      006125 assert:
+0x4a8b 006126 bpatch patch14_0 ,mem_patch14 
+0x4a8c 006127 branch assert 
+:      006129 loop:
+0x4a8d 006130 branch loop 
+:      006132 sleep:
+0x4a8e 006133 rtn blank 
+0x4a8f 006135 rshift pdata ,pdata 
+0x4a90 006136 increase -3 ,pdata 
+:      006137 sleep_loop:
+0x4a91 006138 increase -1 ,pdata 
+0x4a92 006139 nbranch sleep_loop ,zero 
+0x4a93 006140 force 0 ,pdata 
+0x4a94 006141 rtn 
+:      006145 init_param:
+0x4a95 006147 arg 0x10 ,loopcnt 
+0x4a96 006148 arg 0 ,contw 
+0x4a97 006149 call memset0 
+0x4a98 006150 arg mem_le_state ,contw 
+0x4a99 006151 arg 10 ,loopcnt 
+0x4a9a 006152 call memset0 
+0x4a9b 006153 jam 0 ,mem_sp_calc 
+0x4a9c 006154 jam 0 ,mem_fifo_temp 
+0x4a9d 006155 jam 0 ,mem_le_testtype 
+0x4a9e 006156 jam 0 ,mem_debug_config 
+0x4a9f 006157 jam 0 ,mem_lmp_conn_state 
+0x4aa0 006158 bpatch patch14_1 ,mem_patch14 
+0x4aa1 006159 jam 0 ,mem_connection_options 
+0x4aa2 006160 jam 0 ,mem_tester_emulate 
+0x4aa3 006161 jam 0 ,mem_tester_cnt 
+0x4aa4 006162 setarg param_glap 
+0x4aa5 006163 store 3 ,mem_glap 
+0x4aa6 006164 setarg param_acl_pktlen 
+0x4aa7 006165 store 2 ,mem_acl_pktlen 
+0x4aa8 006166 jam param_sco_pktlen ,mem_sco_pktlen 
+0x4aa9 006167 jam param_acl_pktcnt ,mem_acl_pktcnt 
+0x4aaa 006168 jam param_sco_pktcnt ,mem_sco_pktcnt 
+0x4aab 006169 setarg param_hci_version 
+0x4aac 006170 store 3 ,mem_hci_version 
+0x4aad 006175 jam 0x60 ,mem_fhs_misc 
+0x4aae 006176 jam param_max_slot ,mem_max_slot 
+0x4aaf 006177 jam 0x02 ,mem_fw_ver 
+0x4ab0 006178 fetch 1 ,mem_ssp_enable 
+0x4ab1 006179 ncall init_memp ,blank 
+0x4ab2 006180 fetch 1 ,mem_le_secure_connect_enable 
+0x4ab3 006181 ncall init_memp_256 ,blank 
+0x4ab4 006182 bpatch patch14_2 ,mem_patch14 
+0x4ab5 006183 rtn wake 
+0x4ab6 006184 setarg 0 
+0x4ab7 006185 store 2 ,mem_tx_len 
+0x4ab8 006186 rshift clkn_bt ,pdata 
+0x4ab9 006187 store 4 ,mem_last_clkn 
+0x4aba 006188 rtn 
+:      006195 lpmstate:
+0x4abb 006196 fetch 4 ,core_lpm_xtalcnt 
+0x4abc 006197 isolate1 hibernate ,pdata 
+0x4abd 006198 bbit0 isogate ,lpm_open_isogate 
+0x4abe 006199 nbranch clean_mem ,true 
+0x4abf 006200 arg param_hibernate_clks ,temp 
+0x4ac0 006201 deposit auxcnt 
+0x4ac1 006202 branch lpm_enter_sleep ,blank 
+:      006203 lpm_open_isogate:
+0x4ac2 006204 set1 isogate ,pdata 
+0x4ac3 006205 set1 xram_switch ,pdata 
+0x4ac4 006206 set1 pram_switch ,pdata 
+0x4ac5 006207 store 4 ,core_lpm_reg 
+0x4ac6 006208 until null ,lpo_edge 
+0x4ac7 006209 until null ,lpo_edge 
+0x4ac8 006210 call lpm_write_ctrl2 
+0x4ac9 006211 fetch 1 ,core_lpm_isogate 
+0x4aca 006212 set1 enable_retmem ,pdata 
+0x4acb 006213 store 1 ,core_lpm_isogate 
+0x4acc 006214 call lpm_write_ctrl2 
+0x4acd 006215 branch clean_mem ,true 
+0x4ace 006216 enable wake 
+:      006217 lpm_load_context:
+0x4acf 006218 jam 0x1 ,core_config 
+0x4ad0 006219 fetch 8 ,mem_saved_mark 
+0x4ad1 006220 iforce mark 
+0x4ad2 006221 fetch 6 ,core_gpio_wakeup 
+0x4ad3 006222 store 6 ,mem_gpio_wakeup 
+0x4ad4 006223 rtn 
+:      006225 lpm_save_context:
+0x4ad5 006226 deposit mark 
+0x4ad6 006227 store 8 ,mem_saved_mark 
+0x4ad7 006228 branch lpm_write_gpio_wakeup 
+:      006231 lpo_calibration:
+0x4ad8 006232 fetcht 1 ,core_clksel 
+0x4ad9 006233 and temp ,0xf0 ,pdata 
+0x4ada 006234 nbranch lpo_cal_inited ,blank 
+0x4adb 006235 fetch 3 ,mem_clks_per_lpo 
+0x4adc 006236 nrtn blank 
+0x4add 006237 and temp ,0xf ,pdata 
+0x4ade 006238 or_into 0xc0 ,pdata 
+0x4adf 006239 store 1 ,core_clksel 
+0x4ae0 006240 jam ccnt_start ,core_dma_start 
+:      006241 lpo_cal_inited:
+0x4ae1 006242 fetch 1 ,core_misc_status 
+0x4ae2 006243 rtnbit0 ccnt_done 
+0x4ae3 006244 fetch 3 ,core_ccnt_counter 
+0x4ae4 006245 store 3 ,mem_clks_per_lpo 
+0x4ae5 006246 rtn 
+:      006250 lpm_adjust_clk:
+0x4ae6 006251 bpatch patch14_3 ,mem_patch14 
+0x4ae7 006252 deposit clke 
+0x4ae8 006253 call clk_diff_rt 
+0x4ae9 006254 fetcht 4 ,mem_sleep_counter_all 
+0x4aea 006255 sub temp ,0xff ,null 
+0x4aeb 006256 rtn positive 
+0x4aec 006257 lshift8 pdata ,pdata 
+0x4aed 006258 lshift4 pdata ,pdata 
+0x4aee 006259 idiv temp 
+0x4aef 006260 call wait_div_end 
+0x4af0 006261 quotient pdata 
+0x4af1 006262 arg param_lpm_adjmax ,temp 
+0x4af2 006263 call ceiling 
+0x4af3 006264 store 1 ,mem_lpm_adjust 
+0x4af4 006265 nbranch lpm_adjust_positive ,user 
+0x4af5 006266 sub pdata ,0 ,pdata 
+:      006267 lpm_adjust_positive:
+0x4af6 006268 fetcht 3 ,mem_clks_per_lpo 
+0x4af7 006269 iadd temp ,pdata 
+0x4af8 006270 store 3 ,mem_clks_per_lpo 
+:      006271 lpm_clear_counter:
+0x4af9 006272 setarg 0 
+0x4afa 006273 store 4 ,mem_sleep_counter_all 
+0x4afb 006274 rtn 
+:      006276 lpm_doze:
+0x4afc 006277 fetch 1 ,mem_lpm_doze_switch 
+0x4afd 006278 branch lpm_hibernate_normal 
+:      006281 lpm_hibernate:
+0x4afe 006282 fetch 1 ,mem_lpm_hibernate_switch 
+:      006283 lpm_hibernate_normal:
+0x4aff 006284 store 1 ,mem_lpm_xtalcnt + 3 
+0x4b00 006285 bpatch patch14_4 ,mem_patch14 
+0x4b01 006286 call lpm_write_gpio_wakeup 
+0x4b02 006287 arg param_hibernate_clks ,temp 
+0x4b03 006288 fetch 1 ,mem_lpm_config + 1 
+0x4b04 006289 set0 7 ,pdata 
+0x4b05 006290 store 1 ,mem_lpm_config + 1 
+:      006293 lpm_sleep:
+0x4b06 006294 bpatch patch14_5 ,mem_patch14 
+0x4b07 006295 call xtal_fast_wake 
+0x4b08 006296 fetch 4 ,mem_sleep_counter_all 
+0x4b09 006297 iadd temp ,pdata 
+0x4b0a 006298 store 4 ,mem_sleep_counter_all 
+0x4b0b 006299 call lpm_save_context 
+0x4b0c 006300 fetch 3 ,mem_lpm_xtalcnt 
+0x4b0d 006301 store 3 ,core_lpm_reg 
+0x4b0e 006302 ifetchr rega ,1 ,contr 
+0x4b0f 006303 fetch 1 ,core_lpm_buckcfg 
+0x4b10 006304 istore 1 ,contw 
+0x4b11 006305 until null ,lpo_edge 
+0x4b12 006306 storer clkn ,6 ,mem_sleep_clkn 
+0x4b13 006307 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+0x4b14 006308 until null ,lpo_edge 
+0x4b15 006309 until null ,lpo_edge 
+0x4b16 006310 storer rega ,1 ,core_lpm_isogate 
+0x4b17 006311 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+:      006312 lpm_enter_sleep:
+0x4b18 006313 until null ,lpo_edge 
+0x4b19 006314 until null ,lpo_edge 
+0x4b1a 006315 hstoret 4 ,core_lpm_reg 
+0x4b1b 006316 hjam lpmreg_sel_counter ,core_lpm_wr 
+0x4b1c 006317 until null ,never 
+:      006322 lpm_recover_clk:
+0x4b1d 006323 bpatch patch14_6 ,mem_patch14 
+0x4b1e 006324 setarg 0 
+0x4b1f 006325 copy auxcnt ,null 
+0x4b20 006326 branch lpm_recover_timeout ,zero 
+0x4b21 006327 hfetch 1 ,core_lpm_xtalcnt 
+0x4b22 006328 hfetcht 1 ,core_lpm_buckcnt 
+0x4b23 006329 isub temp ,null 
+0x4b24 006330 branch lpm_recover_xtal ,positive 
+0x4b25 006331 deposit temp 
+:      006332 lpm_recover_xtal:
+0x4b26 006333 isub auxcnt ,pdata 
+0x4b27 006334 increase 1 ,pdata 
+:      006335 lpm_recover_timeout:
+0x4b28 006336 increase 8 ,pdata 
+0x4b29 006337 until null ,lpo_edge 
+0x4b2a 006338 iadd lpo_time ,pdata 
+0x4b2b 006339 fetcht 4 ,mem_sleep_counter 
+0x4b2c 006340 iadd temp ,pdata 
+0x4b2d 006341 fetcht 3 ,mem_clks_per_lpo 
+0x4b2e 006342 imul32 temp ,pdata 
+0x4b2f 006343 rshift8 pdata ,pdata 
+0x4b30 006344 rshift4 pdata ,pdata 
+0x4b31 006345 increase param_lpm_fix ,pdata 
+0x4b32 006346 arg 3750 ,temp 
+0x4b33 006347 idiv temp 
+0x4b34 006348 call wait_div_end 
+0x4b35 006349 quotient pdata 
+0x4b36 006350 lshift16 pdata ,pdata 
+0x4b37 006351 remainder temp 
+0x4b38 006352 ior temp ,pdata 
+0x4b39 006353 fetcht 6 ,mem_sleep_clkn 
+0x4b3a 006354 call clk_add 
+0x4b3b 006355 copy temp ,clkn 
+0x4b3c 006356 fetch 6 ,mem_context + coffset_clk_offset 
+0x4b3d 006357 call calc_clke2 
+0x4b3e 006358 rtn 
+:      006360 lpm_dispatch:
+0x4b3f 006361 bpatch patch14_7 ,mem_patch14 
+0x4b40 006362 call lpo_calibration 
+0x4b41 006363 fetch 3 ,mem_clks_per_lpo 
+0x4b42 006364 rtn blank 
+0x4b43 006365 fetch 1 ,mem_lpm_mode 
+0x4b44 006366 rtn blank 
+0x4b45 006367 fetch 1 ,mem_ssp_enable 
+0x4b46 006368 branch lpm_dispatch_next ,blank 
+0x4b47 006369 fetch 1 ,mem_sp_local_key_invalid 
+0x4b48 006370 rtn blank 
+:      006371 lpm_dispatch_next:
+0x4b49 006372 fetch 1 ,mem_le_sc_calc 
+0x4b4a 006373 nrtn blank 
+0x4b4b 006374 call lpm_check_wake_lock 
+0x4b4c 006375 nrtn blank 
+0x4b4d 006376 fetch 1 ,mem_context 
+0x4b4e 006377 compare 3 ,pdata ,0x7 
+0x4b4f 006378 nbranch lpm_dispatch_unconn ,true 
+0x4b50 006379 fetch 2 ,mem_context + coffset_tsniff 
+0x4b51 006380 rtn blank 
+0x4b52 006381 rtn wake 
+0x4b53 006382 bpatch patch15_0 ,mem_patch15 
+0x4b54 006383 fetcht 1 ,mem_lpm_current_mult 
+0x4b55 006384 fetch 2 ,mem_context + coffset_tsniff 
+0x4b56 006385 imul32 temp ,pdata 
+0x4b57 006386 rshift4 temp ,temp 
+0x4b58 006387 rshift2 temp ,temp 
+0x4b59 006388 isub temp ,pdata 
+0x4b5a 006389 fetcht 4 ,mem_context + coffset_sniff_anchor 
+0x4b5b 006390 iadd temp ,pdata 
+0x4b5c 006391 fetcht 1 ,mem_lpm_overhead 
+0x4b5d 006392 isub temp ,pdata 
+0x4b5e 006393 lshift16 pdata ,alarm 
+0x4b5f 006394 bpatch patch15_1 ,mem_patch15 
+0x4b60 006395 fetch 2 ,mem_context + coffset_rx_window 
+0x4b61 006396 rshift pdata ,pdata 
+0x4b62 006397 call clk2bt 
+0x4b63 006398 deposit alarm 
+0x4b64 006399 call clk_diff 
+0x4b65 006400 copy clke ,temp 
+0x4b66 006401 call clk_diff_rt 
+0x4b67 006402 rtn user 
+:      006403 lpm_dispatch_sleep:
+0x4b68 006404 call clk2lpo 
+:      006405 lpm_dispatch_lpo:
+0x4b69 006406 bpatch patch15_2 ,mem_patch15 
+0x4b6a 006407 fetch 1 ,mem_lpm_xtalcnt 
+0x4b6b 006408 isub temp ,null 
+0x4b6c 006409 branch lpm_clear_counter ,positive 
+0x4b6d 006410 storet 4 ,mem_sleep_counter 
+0x4b6e 006411 call app_will_enter_lpm 
+0x4b6f 006412 call l2cap_lpm_save_txbuf 
+0x4b70 006413 fetcht 4 ,mem_sleep_counter 
+0x4b71 006414 branch lpm_sleep 
+:      006416 lpm_dispatch_unconn:
+0x4b72 006417 bpatch patch15_3 ,mem_patch15 
+0x4b73 006418 fetch 1 ,mem_context 
+0x4b74 006419 rtnbit1 state_inconn 
+0x4b75 006420 rtnbit1 state_inpage 
+0x4b76 006421 fetch 1 ,mem_ssp_enable 
+0x4b77 006422 branch lpm_unconn_nossp ,blank 
+0x4b78 006423 fetch 1 ,mem_sp_local_key_invalid 
+0x4b79 006424 rtn blank 
+:      006425 lpm_unconn_nossp:
+0x4b7a 006426 bpatch patch15_4 ,mem_patch15 
+0x4b7b 006427 fetch 1 ,mem_le_adv_enable 
+0x4b7c 006428 nbranch lpm_unconn_cont ,blank 
+0x4b7d 006429 fetch 1 ,mem_scan_mode 
+0x4b7e 006430 rtn blank 
+:      006431 lpm_unconn_cont:
+0x4b7f 006432 fetch 2 ,mem_lpm_interval 
+0x4b80 006433 rtn blank 
+:      006434 lpm_sleep_btclk:
+0x4b81 006435 fetcht 1 ,mem_lpm_overhead 
+0x4b82 006436 isub temp ,pdata 
+0x4b83 006437 arg 7500 ,temp 
+0x4b84 006438 imul32 temp ,pdata 
+0x4b85 006439 branch lpm_dispatch_sleep 
+:      006441 lpm_set_mult:
+0x4b86 006442 bpatch patch15_5 ,mem_patch15 
+0x4b87 006443 disable wake 
+0x4b88 006444 fetch 1 ,mem_state 
+0x4b89 006445 rtnbit0 state_insniff 
+0x4b8a 006446 nbranch lpm_not_match ,match 
+0x4b8b 006447 call lpm_match 
+0x4b8c 006448 fetch 2 ,mem_rx_window_sniff 
+0x4b8d 006449 store 2 ,mem_rx_window 
+0x4b8e 006450 fetch 1 ,mem_arq 
+0x4b8f 006451 bbit1 wack ,lpm_mult_short 
+0x4b90 006452 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x4b91 006453 call l2cap_malloc_is_fifo_empty 
+0x4b92 006454 nbranch lpm_mult_short ,blank 
+0x4b93 006455 fetch 1 ,mem_classic_bt_flag 
+0x4b94 006456 bbit1 short_mult_flag ,lpm_mult_short 
+:      006457 lpm_mult_wait_timeout:
+0x4b95 006458 jam 0 ,mem_lpm_current_mult 
+0x4b96 006459 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x4b97 006460 fetch 1 ,mem_lpm_mult_cnt 
+0x4b98 006461 branch lpm_mult_long ,blank 
+0x4b99 006462 increase -1 ,pdata 
+0x4b9a 006463 store 1 ,mem_lpm_mult_cnt 
+0x4b9b 006464 rtn 
+:      006467 classic_bt_set_mult_short_flag:
+0x4b9c 006468 arg short_mult_flag ,queue 
+0x4b9d 006469 branch classic_bluetooth_set_flag 
+:      006471 classic_bt_clr_mult_short_flag:
+0x4b9e 006472 arg short_mult_flag ,queue 
+0x4b9f 006473 branch classic_bluetooth_clr_flag 
+:      006477 lpm_match:
+0x4ba0 006478 jam 0 ,mem_sniff_unint_lost 
+0x4ba1 006479 fetch 3 ,mem_sniff_rcv 
+0x4ba2 006480 increase 1 ,pdata 
+0x4ba3 006481 store 3 ,mem_sniff_rcv 
+0x4ba4 006482 rtn 
+:      006484 lpm_not_match:
+0x4ba5 006485 bpatch patch15_6 ,mem_patch15 
+0x4ba6 006486 fetcht 2 ,mem_rx_window_sniff 
+0x4ba7 006487 rshift temp ,temp 
+0x4ba8 006488 fetch 2 ,mem_rx_window 
+0x4ba9 006489 iadd temp ,pdata 
+0x4baa 006490 store 2 ,mem_rx_window 
+:      006491 lpm_lost:
+0x4bab 006492 jam 0 ,mem_lpm_current_mult 
+0x4bac 006493 fetch 3 ,mem_sniff_lost 
+0x4bad 006494 increase 1 ,pdata 
+0x4bae 006495 store 3 ,mem_sniff_lost 
+0x4baf 006496 fetch 1 ,mem_sniff_unint_lost 
+0x4bb0 006497 increase 1 ,pdata 
+0x4bb1 006498 store 1 ,mem_sniff_unint_lost 
+0x4bb2 006499 rtn 
+:      006501 lpm_mult_short:
+0x4bb3 006502 jam 0 ,mem_lpm_current_mult 
+0x4bb4 006503 fetch 1 ,mem_lpm_mult_timeout 
+0x4bb5 006504 store 1 ,mem_lpm_mult_cnt 
+0x4bb6 006505 rtn 
+:      006507 lpm_mult_long:
+0x4bb7 006508 fetcht 1 ,mem_lpm_mult 
+0x4bb8 006509 storet 1 ,mem_lpm_current_mult 
+0x4bb9 006510 rtn 
+:      006512 lpm_cal_xtal_startup:
+0x4bba 006513 bpatch patch15_7 ,mem_patch15 
+0x4bbb 006514 fetch 1 ,mem_lpm_xtalcnt 
+0x4bbc 006515 nrtn blank 
+0x4bbd 006516 hjam clksel_rc ,core_clksel 
+0x4bbe 006517 setarg 0xf0c 
+0x4bbf 006518 call lpm_write_config 
+0x4bc0 006519 setarg 200000 
+0x4bc1 006520 call sleep 
+0x4bc2 006521 until null ,lpo_edge 
+0x4bc3 006522 copy lpo_time ,alarm 
+0x4bc4 006523 call xtal_fast_wake 
+0x4bc5 006524 hjam clksel_xtal ,core_clksel 
+0x4bc6 006525 nop 10 
+0x4bc7 006526 until null ,lpo_edge 
+0x4bc8 006527 deposit lpo_time 
+0x4bc9 006528 isub alarm ,pdata 
+0x4bca 006529 increase 0x30 ,pdata 
+0x4bcb 006530 arg 0xff ,temp 
+0x4bcc 006531 call ceiling 
+0x4bcd 006532 store 1 ,mem_lpm_xtalcnt 
+0x4bce 006533 nop 30000 
+0x4bcf 006534 nop 30000 
+0x4bd0 006535 nop 30000 
+0x4bd1 006536 rtn 
+:      006541 lpm_write_config:
+0x4bd2 006542 arg 0xfff ,contw 
+0x4bd3 006543 iand contw ,contw 
+0x4bd4 006544 fetch 1 ,mem_lpm_config 
+0x4bd5 006545 and_into 0xf0 ,pdata 
+0x4bd6 006546 lshift8 pdata ,pdata 
+0x4bd7 006547 ior contw ,pdata 
+0x4bd8 006548 hstore 2 ,core_lpm_reg 
+0x4bd9 006549 ifetch 2 ,contr 
+0x4bda 006550 istore 2 ,contw 
+:      006552 lpm_write_ctrl:
+0x4bdb 006553 setarg lpmreg_sel_ctrl 
+0x4bdc 006554 branch lpm_write 
+:      006556 lpm_write_ctrl2:
+0x4bdd 006557 setarg lpmreg_sel_ctrl2 
+:      006558 lpm_write:
+0x4bde 006559 hstore 1 ,core_lpm_wr 
+0x4bdf 006560 until null ,lpo_edge 
+0x4be0 006561 until null ,lpo_edge 
+0x4be1 006562 until null ,lpo_edge 
+0x4be2 006563 rtn 
+:      006566 lpm_write_gpio_wakeup:
+0x4be3 006567 bpatch patch16_0 ,mem_patch16 
+0x4be4 006568 fetch 4 ,mem_gpio_wakeup 
+0x4be5 006569 store 4 ,core_lpm_reg 
+0x4be6 006570 setarg lpmreg_sel_gpiolow 
+0x4be7 006571 call lpm_write 
+0x4be8 006572 ifetch 2 ,contr 
+0x4be9 006573 store 4 ,core_lpm_reg 
+0x4bea 006574 setarg lpmreg_sel_gpiohigh 
+0x4beb 006575 branch lpm_write 
+:      006577 lpm_get_wake_lock:
+0x4bec 006578 fetch 2 ,mem_lpm_wake_lock 
+0x4bed 006579 qset1 pdata 
+0x4bee 006580 store 2 ,mem_lpm_wake_lock 
+0x4bef 006581 rtn 
+:      006583 lpm_put_wake_lock:
+0x4bf0 006584 fetch 2 ,mem_lpm_wake_lock 
+0x4bf1 006585 qset0 pdata 
+0x4bf2 006586 store 2 ,mem_lpm_wake_lock 
+0x4bf3 006587 rtn 
+:      006591 lpm_check_wake_lock:
+0x4bf4 006592 bpatch patch16_1 ,mem_patch16 
+0x4bf5 006593 call app_check_wake_lock 
+0x4bf6 006594 fetch 2 ,mem_lpm_wake_lock 
+0x4bf7 006595 copy pdata ,rega 
+0x4bf8 006596 fetch 1 ,mem_state_map 
+0x4bf9 006597 isolate1 smap_rxlmp ,pdata 
+0x4bfa 006598 setflag true ,wake_lock_lmp_rx ,rega 
+0x4bfb 006599 fetch 1 ,mem_lmo_opcode1 
+0x4bfc 006600 fetcht 1 ,mem_lmo_opcode2 
+0x4bfd 006601 iadd temp ,pdata 
+0x4bfe 006602 fetcht 1 ,mem_lmp_to_send 
+0x4bff 006603 iadd temp ,pdata 
+0x4c00 006604 nsetflag blank ,wake_lock_lmp_tx ,rega 
+0x4c01 006605 fetch 1 ,mem_le_tx_buff_used 
+0x4c02 006606 nsetflag blank ,wake_lock_ble_tx ,rega 
+0x4c03 006607 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x4c04 006608 fetcht 2 ,mem_l2cap_rxbuff2_len 
+0x4c05 006609 iadd temp ,pdata 
+0x4c06 006610 nsetflag blank ,wake_lock_l2cap_rx ,rega 
+0x4c07 006611 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x4c08 006612 nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+0x4c09 006613 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+0x4c0a 006614 nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+0x4c0b 006615 fetch 2 ,ipc_bt2m0_read_ptr 
+0x4c0c 006616 fetcht 2 ,ipc_bt2m0_write_ptr 
+0x4c0d 006617 isub temp ,null 
+0x4c0e 006618 nsetflag zero ,wake_lock_ipc_bt2m0 ,rega 
+0x4c0f 006619 fetch 2 ,ipc_m02bt_read_ptr 
+0x4c10 006620 fetcht 2 ,ipc_m02bt_write_ptr 
+0x4c11 006621 isub temp ,null 
+0x4c12 006622 nsetflag zero ,wake_lock_ipc_m02bt ,rega 
+0x4c13 006623 fetch 1 ,core_config 
+0x4c14 006624 isolate1 7 ,pdata 
+0x4c15 006625 setflag true ,wake_lock_m0_single ,rega 
+0x4c16 006626 fetch 1 ,mem_hci_cmd 
+0x4c17 006627 nsetflag blank ,wake_lock_cmd ,rega 
+0x4c18 006628 copy rega ,pdata 
+0x4c19 006629 store 2 ,mem_lpm_wake_lock 
+0x4c1a 006630 rtn 
+:      006632 lpm_shut_down:
+0x4c1b 006633 hfetch 4 ,core_lpm_ctrl 
+0x4c1c 006634 set0 27 ,pdata 
+0x4c1d 006635 hstore 4 ,core_lpm_reg 
+0x4c1e 006636 call lpm_write_ctrl 
+0x4c1f 006637 branch assert 
+:      006639 lpm_disable_exen_output:
+0x4c20 006640 hfetch 4 ,core_lpm_xtalcnt 
+0x4c21 006641 set0 20 ,pdata 
+0x4c22 006642 hstore 4 ,core_lpm_reg 
+0x4c23 006643 branch lpm_write_ctrl2 
+:      006645 check_bt_disabled:
+0x4c24 006646 fetch 2 ,mem_chip_functions 
+0x4c25 006647 bbit1 bt_disabled ,assert 
+0x4c26 006648 rtn 
+:      006649 check_ble_disabled:
+0x4c27 006650 fetch 2 ,mem_chip_functions 
+0x4c28 006651 bbit1 ble_disabled ,assert 
+0x4c29 006652 rtn 
+:      006653 check_module_disabled:
+0x4c2a 006654 fetch 2 ,mem_chip_functions 
+0x4c2b 006655 bbit1 module_disable ,assert 
+0x4c2c 006656 rtn 
+:      006658 test_init:
+0x4c2d 006659 setarg test_proc 
+0x4c2e 006660 store 2 ,mem_cb_bt_process 
+0x4c2f 006661 setarg test_sleep 
+0x4c30 006662 store 2 ,mem_cb_bb_event_process 
+0x4c31 006663 setarg test_proc 
+0x4c32 006664 store 2 ,mem_cb_idle_process 
+0x4c33 006665 rtn wake 
+0x4c34 006666 rtn 
+:      006668 test_proc:
+0x4c35 006669 fetch 1 ,mem_state 
+0x4c36 006670 bbit0 state_insniff ,check_test_cond 
+0x4c37 006671 set1 mark_lpm_mult_enable ,mark 
+0x4c38 006672 fetch 6 ,mem_sniff_rcv 
+0x4c39 006673 store 6 ,mem_local_name 
+0x4c3a 006674 rtn 
+:      006676 check_test_cond:
+0x4c3b 006677 fetch 1 ,mem_tester_emulate 
+0x4c3c 006678 rtnbit0 tester_change 
+0x4c3d 006679 fetch 1 ,mem_tester_cnt 
+0x4c3e 006680 increase 1 ,pdata 
+0x4c3f 006681 store 1 ,mem_tester_cnt 
+0x4c40 006682 rtnne 5 
+0x4c41 006683 jam 0 ,mem_tester_cnt 
+0x4c42 006684 fetch 1 ,mem_tester_emulate 
+0x4c43 006685 set0 tester_change ,pdata 
+0x4c44 006686 store 1 ,mem_tester_emulate 
+0x4c45 006687 bbit1 tester_exit ,check_test_exit 
+0x4c46 006688 isolate1 tester_no_whitening ,pdata 
+0x4c47 006689 call test_no_white ,true 
+0x4c48 006690 ncall test_enable_white ,true 
+0x4c49 006691 fetch 1 ,test_mode_packet_type 
+0x4c4a 006692 compare 0x20 ,pdata ,0x30 
+0x4c4b 006693 fetch 1 ,mem_state_map 
+0x4c4c 006694 setflag true ,smap_edr ,pdata 
+0x4c4d 006695 store 1 ,mem_state_map 
+0x4c4e 006696 fetch 1 ,mem_tester_emulate 
+0x4c4f 006697 fetcht 1 ,mem_debug_config 
+0x4c50 006698 isolate1 tester_pattern_test ,pdata 
+0x4c51 006699 setflag true ,debug_tx_pattern ,temp 
+0x4c52 006700 isolate1 tester_fixed_freq ,pdata 
+0x4c53 006701 setflag true ,debug_tx_fixed_freq ,temp 
+0x4c54 006702 setflag true ,debug_rx_fixed_freq ,temp 
+0x4c55 006703 storet 1 ,mem_debug_config 
+0x4c56 006704 fetch 1 ,test_mode_tx_freq 
+0x4c57 006705 store 1 ,mem_tx_fixed_freq 
+0x4c58 006706 fetch 1 ,test_mode_rx_freq 
+0x4c59 006707 store 1 ,mem_rx_fixed_freq 
+0x4c5a 006708 set1 mark_testmode ,mark 
+0x4c5b 006709 rtn 
+:      006712 check_test_exit:
+0x4c5c 006713 set0 mark_testmode ,mark 
+0x4c5d 006714 jam 0 ,mem_tester_emulate 
+0x4c5e 006715 fetch 1 ,mem_test_mode_old_debug_config 
+0x4c5f 006716 store 1 ,mem_debug_config 
+0x4c60 006717 hfetch 1 ,core_config 
+0x4c61 006718 and_into 0xfb ,pdata 
+0x4c62 006719 hstore 1 ,core_config 
+0x4c63 006720 rtn 
+:      006723 test_sleep:
+0x4c64 006724 deposit regc 
+0x4c65 006725 rtnne bt_evt_button_long_pressed 
+:      006726 test_sleep_loop:
+0x4c66 006729 rtn 
+0x4c67 006730 beq 1 ,test_sleep_loop 
+0x4c68 006731 branch lpm_hibernate 
+:      006734 test_tx:
+0x4c69 006735 force 2 ,temp 
+0x4c6a 006736 increase -2 ,temp 
+0x4c6b 006737 call set_sync_on 
+0x4c6c 006738 call set_freq_tx 
+0x4c6d 006739 disable enable_white 
+0x4c6e 006740 enable encode_fec0 
+0x4c6f 006741 set1 txgfsk ,radio_ctrl 
+0x4c70 006742 call start_transmitter 
+:      006743 test_tx_loop:
+0x4c71 006744 fetch 1 ,0 
+0x4c72 006745 inject mod ,8 
+0x4c73 006746 branch test_tx_loop 
+:      006747 wait_sec_powerup:
+0x4c74 006748 fetch 1 ,core_misc_status 
+0x4c75 006749 bbit0 sec_pwrup ,wait_sec_powerup 
+0x4c76 006750 rtn 
+:      006752 app_init:
+0x4c77 006753 bpatch patch16_2 ,mem_patch16 
+0x4c78 006754 fetch 1 ,mem_device_option 
+0x4c79 006755 branch app_init ,blank 
+0x4c7a 006756 beq dvc_op_module ,module_init 
+0x4c7b 006757 rtn 
+:      006759 app_lpm_init:
+0x4c7c 006760 bpatch patch16_3 ,mem_patch16 
+0x4c7d 006761 jam 0 ,mem_tester_emulate 
+0x4c7e 006762 jam 0 ,mem_debug_config 
+0x4c7f 006763 jam 0 ,mem_lch_code 
+0x4c80 006764 setarg 0 
+0x4c81 006765 store 5 ,mem_sp_state_start 
+0x4c82 006766 fetch 1 ,mem_device_option 
+0x4c83 006767 branch app_lpm_init ,blank 
+0x4c84 006768 beq dvc_op_module ,module_lpm_init 
+:      006769 app_lpm_init0:
+0x4c85 006770 rtn 
+:      006773 app_process_idle:
+0x4c86 006774 call ui_dispatch 
+0x4c87 006775 call check_51cmd 
+0x4c88 006776 call app_process_bb_event 
+0x4c89 006777 fetch 2 ,mem_cb_idle_process 
+0x4c8a 006778 branch callback_func 
+:      006780 app_process_bt:
+0x4c8b 006781 fetch 2 ,mem_cb_bt_process 
+0x4c8c 006782 branch callback_func 
+:      006784 app_process_ble:
+0x4c8d 006785 fetch 2 ,mem_cb_le_process 
+0x4c8e 006786 branch callback_func 
+:      006788 app_process_bb_event:
+0x4c8f 006789 bpatch patch16_4 ,mem_patch16 
+0x4c90 006791 arg mem_ipc_fifo_bt2c51 ,rega 
+0x4c91 006792 call fifo_out 
+0x4c92 006793 rtn blank 
+0x4c93 006795 copy pdata ,regc 
+0x4c94 006796 call app_event_normal_process 
+0x4c95 006797 branch app_process_bb_event_priority 
+:      006799 app_discard_event:
+0x4c96 006800 arg 0 ,regc 
+0x4c97 006801 rtn 
+:      006806 app_event_normal_process:
+0x4c98 006807 beq bt_evt_bb_connected ,app_evt_bt_conn 
+0x4c99 006808 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+0x4c9a 006809 beq bt_evt_setup_complete ,app_evt_setup_complete 
+0x4c9b 006810 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+0x4c9c 006811 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+0x4c9d 006812 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+0x4c9e 006813 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+0x4c9f 006814 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+0x4ca0 006815 beq bt_evt_le_connected ,app_le_event_bb_connected 
+0x4ca1 006816 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+0x4ca2 006817 beq bt_evt_reconn_started ,app_event_reconn_start 
+0x4ca3 006818 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+0x4ca4 006819 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+0x4ca5 006821 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+0x4ca6 006822 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+0x4ca7 006823 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+0x4ca8 006824 beq bt_evt_switch_success_master ,app_event_switch_success 
+0x4ca9 006825 rtn 
+:      006828 app_evt_bt_conn:
+0x4caa 006829 fetch 2 ,mem_ui_state_map 
+0x4cab 006830 set1 ui_state_bt_connected ,pdata 
+0x4cac 006831 store 2 ,mem_ui_state_map 
+0x4cad 006832 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cae 006833 set0 app_disc_by_button ,pdata 
+0x4caf 006834 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cb0 006835 rtn 
+:      006837 app_event_switch_success:
+0x4cb1 006838 jam 0 ,mem_switch_fail_master_count 
+0x4cb2 006839 rtn 
+:      006841 app_event_switch_fail_master:
+0x4cb3 006842 fetch 1 ,mem_switch_fail_master_count 
+0x4cb4 006843 increase 1 ,pdata 
+0x4cb5 006844 store 1 ,mem_switch_fail_master_count 
+0x4cb6 006845 sub pdata ,1 ,null 
+0x4cb7 006846 branch app_bt_role_switch ,positive 
+0x4cb8 006847 jam 0 ,mem_switch_fail_master_count 
+0x4cb9 006848 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cba 006849 set1 app_disc_switch_fail ,pdata 
+0x4cbb 006850 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cbc 006851 branch app_bt_disconnect 
+:      006853 app_process_bb_event_priority:
+0x4cbd 006854 fetch 2 ,mem_cb_bb_event_process 
+0x4cbe 006855 branch callback_func 
+:      006857 app_check_wake_lock:
+0x4cbf 006858 fetch 2 ,mem_cb_check_wakelock 
+0x4cc0 006859 branch callback_func 
+:      006861 app_will_enter_lpm:
+0x4cc1 006862 fetch 2 ,mem_cb_before_lpm 
+0x4cc2 006863 branch callback_func 
+:      006865 app_event_linkkey_generate:
+0x4cc3 006866 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cc4 006867 set1 app_disc_after_pairing ,pdata 
+0x4cc5 006868 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cc6 006869 branch app_bt_store_reconn_info 
+:      006871 app_event_reconn_start:
+0x4cc7 006872 fetch 2 ,mem_ui_state_map 
+0x4cc8 006873 set1 ui_state_bt_reconnect ,pdata 
+0x4cc9 006874 store 2 ,mem_ui_state_map 
+0x4cca 006875 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4ccb 006876 set1 app_disc_after_reconn ,pdata 
+0x4ccc 006877 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4ccd 006878 rtn 
+:      006880 app_evt_setup_complete:
+0x4cce 006881 fetch 2 ,mem_ui_state_map 
+0x4ccf 006882 set1 ui_state_bt_setup_complete ,pdata 
+0x4cd0 006883 store 2 ,mem_ui_state_map 
+0x4cd1 006884 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cd2 006885 set1 app_disc_after_setup_done ,pdata 
+0x4cd3 006886 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cd4 006887 rtn 
+:      006889 app_evt_hid_handshake:
+0x4cd5 006890 fetch 2 ,mem_ui_state_map 
+0x4cd6 006891 set1 ui_state_bt_hid_handshake ,pdata 
+0x4cd7 006892 store 2 ,mem_ui_state_map 
+0x4cd8 006893 rtn 
+:      006895 app_event_enter_sniff:
+0x4cd9 006896 fetch 2 ,mem_ui_state_map 
+0x4cda 006897 set1 ui_state_bt_sniff ,pdata 
+0x4cdb 006898 store 2 ,mem_ui_state_map 
+0x4cdc 006899 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cdd 006900 set1 app_disc_after_sniff ,pdata 
+0x4cde 006901 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cdf 006902 rtn 
+:      006904 app_event_exit_sniff:
+0x4ce0 006905 fetch 2 ,mem_ui_state_map 
+0x4ce1 006906 set0 ui_state_bt_sniff ,pdata 
+0x4ce2 006907 store 2 ,mem_ui_state_map 
+0x4ce3 006908 rtn 
+:      006910 app_le_event_bb_connected:
+0x4ce4 006911 fetch 2 ,mem_ui_state_map 
+0x4ce5 006912 set1 ui_state_ble_connected ,pdata 
+0x4ce6 006913 store 2 ,mem_ui_state_map 
+0x4ce7 006914 rtn 
+:      006916 app_le_event_bb_disconn:
+0x4ce8 006917 fetch 2 ,mem_ui_state_map 
+0x4ce9 006918 set0 ui_state_ble_connected ,pdata 
+0x4cea 006919 store 2 ,mem_ui_state_map 
+0x4ceb 006920 branch app_lpm_mult_disable 
+:      006922 app_bb_event_hid_connected:
+0x4cec 006923 fetch 2 ,mem_ui_state_map 
+0x4ced 006924 set1 ui_state_bt_hid_conn ,pdata 
+0x4cee 006925 store 2 ,mem_ui_state_map 
+0x4cef 006926 rtn 
+:      006928 app_evt_button_long_pressed:
+0x4cf0 006929 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf1 006930 set1 app_disc_by_button ,pdata 
+0x4cf2 006931 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf3 006932 rtn 
+:      006934 app_event_ml2cap_conn_refused:
+0x4cf4 006935 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf5 006936 set1 app_disc_l2cap_refused ,pdata 
+0x4cf6 006937 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf7 006938 branch app_bt_disconnect 
+:      006941 app_evt_timer:
+0x4cf8 006942 bpatch patch16_5 ,mem_patch16 
+0x4cf9 006943 store 1 ,mem_app_evt_timer_count 
+:      006944 app_evt_100ms_loop:
+0x4cfa 006945 fetch 1 ,mem_app_evt_timer_count 
+0x4cfb 006946 rtn blank 
+0x4cfc 006947 increase -1 ,pdata 
+0x4cfd 006948 store 1 ,mem_app_evt_timer_count 
+0x4cfe 006949 call app_lpm_wake_auto_lock_timer 
+0x4cff 006950 call app_unsniff_delay_timer 
+0x4d00 006951 call app_discovery_timer 
+0x4d01 006952 fetch 2 ,mem_cb_event_timer 
+0x4d02 006953 call callback_func 
+0x4d03 006954 branch app_evt_100ms_loop 
+:      006959 timer_single_step:
+0x4d04 006960 ifetch 1 ,regc 
+0x4d05 006961 rtn blank 
+0x4d06 006962 pincrease -1 
+0x4d07 006963 istore 1 ,regc 
+0x4d08 006964 nrtn blank 
+0x4d09 006965 copy regb ,pdata 
+0x4d0a 006966 branch callback_func 
+:      006970 timer_single_step_2b:
+0x4d0b 006971 ifetch 2 ,regc 
+0x4d0c 006972 rtn blank 
+0x4d0d 006973 pincrease -1 
+0x4d0e 006974 istore 2 ,regc 
+0x4d0f 006975 nrtn blank 
+0x4d10 006976 copy regb ,pdata 
+0x4d11 006977 branch callback_func 
+:      006979 app_unsniff_delay_timer:
+0x4d12 006980 arg mem_unsniff2sniff_timer_count ,regc 
+0x4d13 006981 arg app_unsniff_delay_timeout ,regb 
+0x4d14 006982 branch timer_single_step 
+:      006984 app_unsniff_delay_timeout:
+0x4d15 006985 call context_check_idle 
+0x4d16 006986 branch app_bt_enter_sniff ,zero 
+0x4d17 006987 rtn 
+:      006990 app_discovery_timer:
+0x4d18 006991 arg mem_discovery_timeout_timer_count ,regc 
+0x4d19 006992 arg app_discovery_timeout ,regb 
+0x4d1a 006993 branch timer_single_step_2b 
+:      006995 app_discovery_timeout:
+0x4d1b 006996 call app_bt_stop_discovery 
+0x4d1c 006997 call app_led_off 
+0x4d1d 006998 fetch 2 ,mem_cb_discovry_timeout 
+0x4d1e 006999 branch callback_func 
+:      007002 app_bb_event_reconn_failed:
+0x4d1f 007003 call app_disconn_reason_flag_clear 
+:      007004 app_clear_reconnect_flag:
+0x4d20 007005 fetch 2 ,mem_ui_state_map 
+0x4d21 007006 set0 ui_state_bt_reconnect ,pdata 
+0x4d22 007007 store 2 ,mem_ui_state_map 
+0x4d23 007008 rtn 
+:      007010 app_bb_event_bb_disconn:
+0x4d24 007011 jam 0 ,mem_unsniff2sniff_timer_count 
+0x4d25 007012 fetch 2 ,mem_ui_state_map 
+0x4d26 007013 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+0x4d27 007014 isolate0 ui_state_bt_setup_complete ,pdata 
+0x4d28 007015 call app_discard_event ,true 
+:      007016 app_bb_event_bb_reconn_disconn:
+0x4d29 007017 bpatch patch16_6 ,mem_patch16 
+0x4d2a 007018 fetch 2 ,mem_ui_state_map 
+0x4d2b 007019 set0 ui_state_bt_connected ,pdata 
+0x4d2c 007020 set0 ui_state_bt_setup_complete ,pdata 
+0x4d2d 007021 set0 ui_state_bt_hid_conn ,pdata 
+0x4d2e 007022 set0 ui_state_bt_hid_handshake ,pdata 
+0x4d2f 007023 set0 ui_state_bt_reconnect ,pdata 
+0x4d30 007024 store 2 ,mem_ui_state_map 
+0x4d31 007025 branch app_lpm_mult_disable 
+:      007027 app_bb_hibernate:
+0x4d32 007028 call app_disconn_reason_clear 
+0x4d33 007029 branch app_enter_hibernate 
+:      007032 app_disconn_reason_clear:
+0x4d34 007033 setarg 0 
+0x4d35 007034 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x4d36 007035 rtn 
+:      007036 app_disconn_reason_flag_clear:
+0x4d37 007037 setarg 0 
+0x4d38 007038 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d39 007039 rtn 
+:      007041 app_disconn_reason_collect_bt:
+0x4d3a 007042 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d3b 007043 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x4d3c 007044 setarg 0 
+0x4d3d 007045 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d3e 007046 rtn 
+:      007048 app_disconn_reason_collect_ble:
+0x4d3f 007049 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d40 007050 set1 app_disc_ble ,pdata 
+0x4d41 007051 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x4d42 007052 setarg 0 
+0x4d43 007053 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d44 007054 rtn 
+:      007062 app_check_sniff:
+0x4d45 007063 fetch 1 ,mem_ui_state_map 
+0x4d46 007064 isolate1 ui_state_bt_sniff ,pdata 
+0x4d47 007065 rtn 
+:      007074 app_start_auto_sniff:
+0x4d48 007075 fetch 1 ,mem_unsniff2sniff_timer 
+0x4d49 007076 store 1 ,mem_unsniff2sniff_timer_count 
+0x4d4a 007077 rtn 
+:      007079 app_get_lpm_wake_lock:
+0x4d4b 007080 arg wake_lock_app ,queue 
+0x4d4c 007081 branch lpm_get_wake_lock 
+:      007083 app_put_lpm_wake_lock:
+0x4d4d 007084 arg wake_lock_app ,queue 
+0x4d4e 007085 branch lpm_put_wake_lock 
+:      007087 app_lpm_wake_auto_lock:
+0x4d4f 007088 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+0x4d50 007089 branch app_get_lpm_wake_lock 
+:      007091 app_lpm_wake_auto_lock_timer:
+0x4d51 007092 arg mem_wake_up_delay_timer ,regc 
+0x4d52 007093 arg app_put_lpm_wake_lock ,regb 
+0x4d53 007094 branch timer_single_step 
+:      007096 app_l2cap_flow_control_enable:
+0x4d54 007097 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+0x4d55 007098 rtn 
+:      007100 app_l2cap_flow_control_disable:
+0x4d56 007101 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+0x4d57 007102 rtn 
+:      007104 app_bt_set_pincode:
+0x4d58 007105 jam bt_cmd_set_pin_code ,mem_fifo_temp 
+0x4d59 007106 branch ui_ipc_send_cmd 
+:      007108 app_bt_role_switch:
+0x4d5a 007109 jam bt_cmd_role_switch ,mem_fifo_temp 
+0x4d5b 007110 branch ui_ipc_send_cmd 
+:      007112 app_bt_start_reconnect:
+0x4d5c 007113 bpatch patch16_7 ,mem_patch16 
+0x4d5d 007114 fetch 1 ,mem_app_connection_options 
+0x4d5e 007115 store 1 ,mem_connection_options 
+0x4d5f 007116 jam app_flag_reconnect ,mem_reconnect_flag 
+0x4d60 007117 jam bt_cmd_reconnect ,mem_fifo_temp 
+0x4d61 007118 branch ui_ipc_send_cmd 
+:      007120 app_bt_reconnect_cancel:
+0x4d62 007121 jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+0x4d63 007122 branch ui_ipc_send_cmd 
+:      007124 app_bt_disconnect:
+0x4d64 007125 jam bt_cmd_disconnect ,mem_fifo_temp 
+0x4d65 007126 branch ui_ipc_send_cmd 
+:      007128 app_bt_start_discovery_short:
+0x4d66 007129 fetch 2 ,mem_discovery_timeout 
+0x4d67 007130 store 2 ,mem_discovery_timeout_timer_count 
+:      007131 app_bt_start_discovery_led_blink:
+0x4d68 007132 call app_led_start_blink 
+:      007133 app_bt_start_discovery:
+0x4d69 007134 jam bt_cmd_start_discovery ,mem_fifo_temp 
+0x4d6a 007135 branch ui_ipc_send_cmd 
+:      007137 app_bt_stop_discovery:
+0x4d6b 007138 setarg 0 
+0x4d6c 007139 store 2 ,mem_discovery_timeout_timer_count 
+0x4d6d 007140 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+0x4d6e 007141 branch ui_ipc_send_cmd 
+:      007143 app_ble_start_direct_adv:
+0x4d6f 007144 jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+0x4d70 007145 branch ui_ipc_send_cmd 
+:      007147 app_ble_stop_direct_adv:
+0x4d71 007148 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+0x4d72 007149 branch ui_ipc_send_cmd 
+:      007151 app_ble_stop_adv:
+0x4d73 007152 jam bt_cmd_stop_adv ,mem_fifo_temp 
+0x4d74 007153 branch ui_ipc_send_cmd 
+:      007155 app_ble_start_adv:
+0x4d75 007156 jam bt_cmd_start_adv ,mem_fifo_temp 
+0x4d76 007157 branch ui_ipc_send_cmd 
+:      007159 app_ble_start_scan:
+0x4d77 007160 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+0x4d78 007161 branch ui_ipc_send_cmd 
+:      007163 app_ble_stop_scan:
+0x4d79 007164 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+0x4d7a 007165 branch ui_ipc_send_cmd 
+:      007167 app_ble_start_conn:
+0x4d7b 007168 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+0x4d7c 007169 branch ui_ipc_send_cmd 
+:      007171 app_ble_disconnect:
+0x4d7d 007172 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+0x4d7e 007173 branch ui_ipc_send_cmd 
+:      007175 app_led_start_blink:
+0x4d7f 007176 jam bt_cmd_led_blink ,mem_fifo_temp 
+0x4d80 007177 branch ui_ipc_send_cmd 
+:      007179 app_led_on:
+0x4d81 007180 jam bt_cmd_led_on ,mem_fifo_temp 
+0x4d82 007181 branch ui_ipc_send_cmd 
+:      007183 app_led_stop_blink:
+:      007184 app_led_off:
+0x4d83 007185 jam bt_cmd_led_off ,mem_fifo_temp 
+0x4d84 007186 branch ui_ipc_send_cmd 
+:      007188 app_enter_hibernate:
+0x4d85 007189 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+0x4d86 007190 branch ui_ipc_send_cmd 
+:      007192 app_bt_sniff_exit:
+0x4d87 007193 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+0x4d88 007194 branch ui_ipc_send_cmd 
+:      007196 app_bt_enter_sniff:
+0x4d89 007197 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+0x4d8a 007198 branch ui_ipc_send_cmd 
+:      007200 app_ble_store_reconn_info:
+0x4d8b 007201 jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+0x4d8c 007202 branch ui_ipc_send_cmd 
+:      007204 app_bt_store_reconn_info:
+0x4d8d 007205 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+0x4d8e 007206 branch ui_ipc_send_cmd 
+:      007208 app_store_reconn_info:
+0x4d8f 007209 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+0x4d90 007210 branch ui_ipc_send_cmd 
+:      007212 app_lpm_mult_enable:
+0x4d91 007213 set1 mark_lpm_mult_enable ,mark 
+0x4d92 007214 rtn 
+:      007216 app_lpm_mult_disable:
+0x4d93 007217 set0 mark_lpm_mult_enable ,mark 
+0x4d94 007218 rtn 
+:      007226 module_init:
+0x4d95 007227 rtn wake 
+0x4d96 007228 call le_modified_name 
+0x4d97 007229 setarg module_process_idle 
+0x4d98 007230 store 2 ,mem_cb_idle_process 
+0x4d99 007231 setarg module_bt_conn_process 
+0x4d9a 007232 store 2 ,mem_cb_bt_process 
+0x4d9b 007233 setarg module_process_bb_event 
+0x4d9c 007234 store 2 ,mem_cb_bb_event_process 
+0x4d9d 007235 setarg module_le_conn_process 
+0x4d9e 007236 store 2 ,mem_cb_le_process 
+0x4d9f 007237 setarg module_lpm_lock 
+0x4da0 007238 store 2 ,mem_cb_check_wakelock 
+0x4da1 007239 setarg module_hci_cmd_transmit_le_notify 
+0x4da2 007240 store 2 ,mem_cb_ble_transmit 
+0x4da3 007241 setarg module_hci_event_receive_spp_data 
+0x4da4 007242 store 2 ,mem_cb_receive_spp_data 
+0x4da5 007243 setarg module_le_receive_data 
+0x4da6 007244 store 2 ,mem_cb_att_write 
+0x4da7 007245 setarg module_bb_event_timer 
+0x4da8 007246 store 2 ,mem_cb_event_timer 
+0x4da9 007248 call module_spp_clear_last_transmite_clock 
+0x4daa 007249 bpatch patch17_0 ,mem_patch17 
+0x4dab 007250 call module_lpm_uart_init 
+0x4dac 007251 call module_gpio_init 
+0x4dad 007252 call check_module_disabled 
+0x4dae 007253 branch module_hci_event_enter_standby_mode 
+:      007256 module_lpm_uart_init:
+0x4daf 007257 fetch 2 ,ipc_m02bt_end_addr 
+0x4db0 007258 store 2 ,core_sec_readdr 
+0x4db1 007259 fetch 2 ,ipc_m02bt_start_addr 
+0x4db2 007260 store 2 ,core_sec_rsaddr 
+0x4db3 007261 copy pdata ,contru 
+0x4db4 007263 fetch 2 ,ipc_bt2m0_end_addr 
+0x4db5 007264 store 2 ,core_sec_teaddr 
+0x4db6 007265 fetch 2 ,ipc_bt2m0_start_addr 
+0x4db7 007266 store 2 ,core_sec_tsaddr 
+0x4db8 007267 copy pdata ,contwu 
+0x4db9 007268 rtn 
+:      007272 module_lpm_init:
+0x4dba 007273 call module_lpm_uart_init 
+0x4dbb 007274 branch module_spp_clear_last_transmite_clock 
+:      007277 module_gpio_init:
+0x4dbc 007278 rtn 
+:      007279 module_lpm_lock:
+0x4dbd 007280 fetch 1 ,ipc_hold_bt 
+0x4dbe 007281 beq 1 ,app_get_lpm_wake_lock 
+0x4dbf 007282 fetch 1 ,mem_le_pairing_state 
+0x4dc0 007283 bne flag_le_pairing_null ,module_lpm_lock_check_pairing 
+0x4dc1 007284 branch app_put_lpm_wake_lock 
+:      007285 module_lpm_lock_check_pairing:
+0x4dc2 007286 beq flag_le_pairing_end ,app_put_lpm_wake_lock 
+0x4dc3 007287 branch app_get_lpm_wake_lock 
+:      007289 module_le_conn_process:
+0x4dc4 007290 rtn 
+:      007292 module_bt_conn_process:
+0x4dc5 007293 call module_spp_enter_sniff 
+0x4dc6 007294 branch module_control_air_flow 
+:      007296 module_spp_enter_sniff:
+0x4dc7 007297 rtn 
+0x4dc8 007298 fetch 1 ,mem_ui_state_map 
+0x4dc9 007299 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+0x4dca 007300 bpatch patch17_1 ,mem_patch17 
+0x4dcb 007301 setarg 0x3eff 
+0x4dcc 007302 fetcht 4 ,mem_last_transmite_clock 
+0x4dcd 007303 iadd temp ,temp 
+0x4dce 007304 copy clkn_bt ,pdata 
+0x4dcf 007305 isub temp ,null 
+0x4dd0 007306 nrtn positive 
+0x4dd1 007307 fetch 2 ,mem_ui_state_map 
+0x4dd2 007308 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+0x4dd3 007309 fetch 1 ,mem_module_flag 
+0x4dd4 007310 rtnbit1 moudle_task_sniff 
+0x4dd5 007311 call module_set_sniff_task_flag 
+0x4dd6 007312 call app_bt_enter_sniff 
+:      007313 module_spp_clear_last_transmite_clock:
+0x4dd7 007314 copy clkn_bt ,pdata 
+0x4dd8 007315 store 4 ,mem_last_transmite_clock 
+0x4dd9 007316 rtn 
+:      007319 module_process_idle:
+0x4dda 007320 call module_control_air_flow 
+0x4ddb 007321 call l2cap_malloc_is_fifo_full 
+0x4ddc 007322 nrtn blank 
+0x4ddd 007323 branch module_process 
+:      007326 module_process_bb_event:
+0x4dde 007327 copy regc ,pdata 
+0x4ddf 007328 beq bt_evt_bb_connected ,module_process_bb_conn 
+0x4de0 007329 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+0x4de1 007330 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+0x4de2 007331 beq bt_evt_setup_complete ,module_process_setup_complete 
+0x4de3 007332 beq bt_evt_spp_connected ,module_process_spp_connected 
+0x4de4 007333 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+0x4de5 007334 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+0x4de6 007335 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+0x4de7 007336 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+0x4de8 007337 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+0x4de9 007338 beq bt_evt_le_connected ,module_process_le_conn 
+0x4dea 007339 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+0x4deb 007340 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+0x4dec 007341 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+0x4ded 007342 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+0x4dee 007343 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+0x4def 007344 beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+0x4df0 007345 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+0x4df1 007346 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+0x4df2 007347 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+0x4df3 007348 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+0x4df4 007349 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+0x4df5 007350 beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+0x4df6 007351 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+0x4df7 007352 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+0x4df8 007353 beq bt_evt_store_nvram ,module_hci_event_store_device 
+0x4df9 007354 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+0x4dfa 007355 rtn 
+:      007358 module_process_bb_event_disconned:
+0x4dfb 007359 call module_spp_clear_last_transmite_clock 
+0x4dfc 007360 fetch 1 ,mem_flag_pairing_state 
+0x4dfd 007361 ncall module_hci_event_bt_pairing_fail ,blank 
+0x4dfe 007362 call module_disconn_start 
+0x4dff 007363 fetch 2 ,mem_ui_state_map 
+0x4e00 007364 rtnbit0 ui_state_bt_spp_conn 
+0x4e01 007365 branch module_spp_disconnected 
+:      007367 module_process_spp_connected:
+0x4e02 007368 fetch 2 ,mem_ui_state_map 
+0x4e03 007369 set1 ui_state_bt_spp_conn ,pdata 
+0x4e04 007370 store 2 ,mem_ui_state_map 
+0x4e05 007371 fetch 1 ,mem_module_spp_lpm_mult 
+0x4e06 007372 store 1 ,mem_lpm_mult 
+0x4e07 007373 branch module_hci_event_spp_connect 
+:      007375 module_process_spp_disconnected:
+:      007377 module_spp_disconnected:
+0x4e08 007378 fetch 2 ,mem_ui_state_map 
+0x4e09 007379 rtnbit0 ui_state_bt_spp_conn 
+0x4e0a 007380 set0 ui_state_bt_spp_conn ,pdata 
+0x4e0b 007381 store 2 ,mem_ui_state_map 
+0x4e0c 007382 branch module_hci_event_spp_disconnect 
+:      007385 module_process_enter_sniff:
+:      007387 module_sniff_param_check:
+0x4e0d 007388 call module_spp_clear_last_transmite_clock 
+0x4e0e 007391 fetch 2 ,mem_context + coffset_tsniff 
+0x4e0f 007392 rshift pdata ,pdata 
+0x4e10 007393 fetcht 2 ,mem_sniff_param_interval 
+0x4e11 007394 isub temp ,null 
+0x4e12 007395 nbranch module_sniff_param_check_unsniff ,zero 
+0x4e13 007396 branch app_lpm_mult_enable 
+:      007397 module_sniff_param_check_unsniff:
+0x4e14 007398 fetch 1 ,mem_module_flag 
+0x4e15 007399 rtnbit1 moudle_task_unsniff 
+0x4e16 007401 fetch 2 ,ipc_m02bt_read_ptr 
+0x4e17 007402 fetcht 2 ,ipc_m02bt_write_ptr 
+0x4e18 007403 isub temp ,null 
+0x4e19 007404 ncall module_set_unsniff_task_flag ,zero 
+0x4e1a 007405 branch app_bt_sniff_exit 
+:      007407 module_process_exit_sniff:
+0x4e1b 007408 call module_clear_sniff_task_flag 
+0x4e1c 007409 branch app_lpm_mult_disable 
+:      007411 module_process_setup_complete:
+0x4e1d 007412 call module_spp_clear_last_transmite_clock 
+0x4e1e 007413 branch module_conn_start 
+:      007415 module_process_bb_even_le_disconn:
+0x4e1f 007416 call le_clr_config_more_data 
+0x4e20 007417 call module_disconn_start 
+0x4e21 007418 branch module_hci_event_le_disconnect 
+:      007420 module_process_evt_pincode_req:
+0x4e22 007421 branch app_bt_set_pincode 
+:      007424 module_process_sniff_not_accept:
+0x4e23 007425 branch module_clear_sniff_task_flag 
+:      007428 module_process_unsniff_accept:
+0x4e24 007429 fetch 1 ,mem_module_flag 
+0x4e25 007430 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+0x4e26 007431 branch module_clear_unsniff_task_flag 
+:      007434 module_process_unsniff_not_accept:
+0x4e27 007435 branch module_clear_unsniff_task_flag 
+:      007438 module_process_le_conn:
+0x4e28 007440 call module_conn_start 
+0x4e29 007441 fetch 1 ,mem_module_le_lpm_mult 
+0x4e2a 007442 store 1 ,mem_lpm_mult 
+0x4e2b 007443 branch module_hci_event_le_connect 
+:      007446 module_process_bb_conn:
+0x4e2c 007447 jam 0 ,mem_flag_mode_ssp_pin 
+0x4e2d 007448 call module_clear_sniff_task_flag 
+0x4e2e 007449 branch module_clear_unsniff_task_flag 
+:      007451 module_process_page_time_out:
+:      007452 module_process_reconn_fail:
+:      007453 module_disconn_start:
+0x4e2f 007454 branch module_start_adv_discovery_by_command 
+:      007457 module_process_ble_ltk_lost:
+0x4e30 007458 call le_send_reject_ind 
+0x4e31 007459 branch le_send_smp_security_request 
+:      007462 module_conn_start:
+0x4e32 007463 branch module_stop_adv_discovery 
+:      007465 module_stop_adv_discovery:
+0x4e33 007466 fetch 1 ,mem_module_state 
+0x4e34 007467 isolate1 moudle_state_bt_bit ,pdata 
+0x4e35 007468 call app_bt_stop_discovery ,true 
+0x4e36 007469 fetch 1 ,mem_module_state 
+0x4e37 007470 isolate1 moudle_state_ble_bit ,pdata 
+0x4e38 007471 call app_ble_stop_adv ,true 
+0x4e39 007472 rtn 
+:      007474 module_process_with_credit:
+0x4e3a 007475 fetch 1 ,mem_credit_flag 
+0x4e3b 007476 rtneq credit_disable 
+0x4e3c 007477 branch rfcomm_send_uih_without_payload 
+:      007479 module_process:
+0x4e3d 007480 fetch 2 ,ipc_m02bt_read_ptr 
+0x4e3e 007481 fetcht 2 ,ipc_m02bt_write_ptr 
+0x4e3f 007482 isub temp ,null 
+0x4e40 007483 branch module_process_with_credit ,zero 
+0x4e41 007484 call uartd_prepare_rx 
+0x4e42 007485 ifetch 1 ,contru 
+0x4e43 007486 bne 0x01 ,module_hci_in_excp 
+0x4e44 007487 ifetch 1 ,contru 
+0x4e45 007488 store 1 ,mem_module_uart_opcode 
+0x4e46 007489 ifetcht 1 ,contru 
+0x4e47 007490 copy contru ,rega 
+0x4e48 007491 storet 1 ,mem_module_uart_len 
+0x4e49 007492 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4e4a 007493 call module_hci_cmd_control 
+0x4e4b 007494 fetch 1 ,mem_module_temp_nl_discard_packet 
+0x4e4c 007495 rtneq hci_not_discard_packet 
+0x4e4d 007496 branch module_hci_dicard_packet 
+:      007498 module_hci_in_excp:
+0x4e4e 007499 call delay_10ms 
+0x4e4f 007500 call module_hci_event_invalid_packet 
+0x4e50 007501 branch module_hci_release_except 
+:      007504 module_hci_release_except:
+0x4e51 007505 bpatch patch17_2 ,mem_patch17 
+0x4e52 007506 fetch 2 ,ipc_m02bt_write_ptr 
+0x4e53 007507 store 2 ,ipc_m02bt_read_ptr 
+0x4e54 007508 rtn 
+:      007511 module_hci_dicard_packet:
+0x4e55 007512 call uartd_prepare_rx 
+0x4e56 007513 increase 2 ,contru 
+0x4e57 007514 ifetch 1 ,contru 
+0x4e58 007515 iadd contru ,contru 
+:      007516 module_hci_dicard_bytes:
+0x4e59 007517 branch uartd_rxdone 
+:      007520 module_hci_cmd_control:
+0x4e5a 007521 bpatch patch17_3 ,mem_patch17 
+0x4e5b 007522 fetch 1 ,mem_module_uart_opcode 
+0x4e5c 007523 beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+0x4e5d 007524 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+0x4e5e 007525 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+0x4e5f 007526 beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+0x4e60 007527 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+0x4e61 007528 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+0x4e62 007529 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+0x4e63 007530 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+0x4e64 007531 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+0x4e65 007532 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+0x4e66 007533 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+0x4e67 007534 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+0x4e68 007535 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+0x4e69 007536 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+0x4e6a 007537 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+0x4e6b 007538 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+0x4e6c 007539 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+0x4e6d 007540 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+0x4e6e 007541 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+0x4e6f 007542 beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+0x4e70 007543 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+0x4e71 007544 beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+0x4e72 007545 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+0x4e73 007546 beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+0x4e74 007547 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+0x4e75 007548 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+0x4e76 007549 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+0x4e77 007550 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+0x4e78 007551 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+0x4e79 007552 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+0x4e7a 007553 beq hci_test_cmd_reback ,module_hci_test_cmd_reback 
+0x4e7b 007554 branch module_hci_event_receive_invalid_cmd 
+:      007559 module_hci_cmd_set_bt_addr:
+0x4e7c 007560 fetch 1 ,mem_module_uart_len 
+0x4e7d 007561 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x4e7e 007562 ifetch 6 ,contru 
+0x4e7f 007563 store 6 ,mem_lap 
+0x4e80 007564 branch module_hci_event_receive_valid_cmd 
+:      007567 module_hci_cmd_set_le_addr:
+0x4e81 007568 fetch 1 ,mem_module_uart_len 
+0x4e82 007569 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x4e83 007570 ifetch 6 ,contru 
+0x4e84 007571 store 6 ,mem_le_lap 
+0x4e85 007572 branch module_hci_event_receive_valid_cmd 
+:      007576 module_hci_cmd_set_visibility:
+0x4e86 007577 fetch 1 ,mem_module_uart_len 
+0x4e87 007578 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x4e88 007579 copy rega ,contru 
+0x4e89 007580 call module_hci_event_receive_valid_cmd 
+0x4e8a 007581 ifetcht 1 ,contru 
+0x4e8b 007582 storet 1 ,mem_module_bluetooth_stauts_by_command 
+0x4e8c 007583 fetch 2 ,mem_ui_state_map 
+0x4e8d 007584 rtnbit1 ui_state_ble_connected 
+0x4e8e 007585 rtnbit1 ui_state_bt_connected 
+:      007586 module_start_adv_discovery_by_command:
+0x4e8f 007587 fetch 1 ,mem_module_state 
+0x4e90 007588 isolate1 moudle_state_bt_bit ,pdata 
+0x4e91 007589 nbranch moudle_start_adv_by_command ,true 
+0x4e92 007590 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x4e93 007591 and temp ,0x03 ,pdata 
+0x4e94 007592 store 1 ,mem_scan_mode 
+:      007593 moudle_start_adv_by_command:
+0x4e95 007594 fetch 1 ,mem_module_state 
+0x4e96 007595 isolate1 moudle_state_ble_bit ,pdata 
+0x4e97 007596 nrtn true 
+0x4e98 007597 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x4e99 007598 isolate1 2 ,temp 
+0x4e9a 007599 branch app_ble_start_adv ,true 
+0x4e9b 007600 branch app_ble_stop_adv 
+:      007604 module_hci_cmd_set_bt_name:
+0x4e9c 007605 fetch 1 ,mem_module_uart_len 
+0x4e9d 007606 sub pdata ,67 ,null 
+0x4e9e 007607 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4e9f 007608 store 1 ,mem_local_name_length 
+0x4ea0 007609 arg 8 ,loopcnt 
+0x4ea1 007610 call memset0 
+0x4ea2 007611 fetch 1 ,mem_module_uart_len 
+0x4ea3 007612 copy pdata ,loopcnt 
+0x4ea4 007613 copy rega ,contru 
+0x4ea5 007614 arg mem_local_name ,contw 
+0x4ea6 007615 call uart_copy_rx_bytes_fast 
+0x4ea7 007616 branch module_hci_event_receive_valid_cmd 
+:      007620 module_hci_cmd_set_le_name:
+0x4ea8 007621 fetch 1 ,mem_module_uart_len 
+0x4ea9 007622 sub pdata ,29 ,null 
+0x4eaa 007623 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4eab 007624 store 1 ,mem_le_name_len 
+0x4eac 007625 copy pdata ,loopcnt 
+0x4ead 007626 copy rega ,contru 
+0x4eae 007627 arg mem_le_name ,contw 
+0x4eaf 007628 call uart_copy_rx_bytes_fast 
+0x4eb0 007629 call le_modified_name 
+0x4eb1 007630 branch module_hci_event_receive_valid_cmd 
+:      007634 module_hci_cmd_receive_spp_data:
+0x4eb2 007635 fetch 1 ,mem_ui_state_map 
+0x4eb3 007636 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+0x4eb4 007637 call app_check_sniff 
+0x4eb5 007638 branch module_hci_cmd_spp_exit_sniff ,true 
+0x4eb6 007639 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4eb7 007641 call module_spp_clear_last_transmite_clock 
+0x4eb8 007642 fetch 1 ,mem_remote_credits 
+0x4eb9 007643 rtn blank 
+0x4eba 007644 fetch 2 ,mem_nl_rx_len_all 
+0x4ebb 007645 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+0x4ebc 007646 fetch 1 ,mem_module_uart_len 
+0x4ebd 007647 store 2 ,mem_nl_rx_len_all 
+0x4ebe 007649 copy rega ,contru 
+0x4ebf 007652 copy contru ,pdata 
+0x4ec0 007653 store 2 ,mem_nl_rx_data_src 
+:      007654 module_hci_cmd_pass_init_ng_rx_len_all:
+0x4ec1 007655 call module_hci_cmd_get_current_packet_len_and_remain_len 
+0x4ec2 007656 branch spp_tx_rfcomm_packet 
+:      007658 module_hci_cmd_spp_exit_sniff:
+0x4ec3 007659 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ec4 007660 branch module_exit_sniff 
+:      007662 module_hci_cmd_get_current_packet_len_and_remain_len:
+0x4ec5 007663 call module_hci_cmd_get_current_patcket_len 
+0x4ec6 007664 fetch 2 ,mem_nl_rx_len_all 
+0x4ec7 007665 fetcht 2 ,mem_current_packet_length 
+0x4ec8 007666 isub temp ,pdata 
+0x4ec9 007667 store 2 ,mem_nl_rx_len_all 
+0x4eca 007668 rtn 
+:      007670 module_hci_cmd_get_current_patcket_len:
+0x4ecb 007671 fetch 2 ,mem_nl_rx_len_all 
+0x4ecc 007672 arg nl_rfcomm_buff_len ,temp 
+0x4ecd 007673 call not_greater_than 
+0x4ece 007674 fetcht 2 ,mem_rfcomm_max_frame_size 
+0x4ecf 007675 call not_greater_than 
+0x4ed0 007676 fetcht 2 ,mem_pn_max_frame_size 
+0x4ed1 007677 call not_greater_than 
+0x4ed2 007678 store 2 ,mem_current_packet_length 
+0x4ed3 007679 rtn 
+:      007681 module_hci_command_tx_spp_tx_complete:
+0x4ed4 007682 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ed5 007683 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+0x4ed6 007684 branch module_hci_event_receive_valid_cmd 
+:      007688 module_hci_cmd_receive_le_data:
+0x4ed7 007689 fetch 2 ,mem_ui_state_map 
+0x4ed8 007690 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x4ed9 007691 call module_check_ble_encrypt_state 
+0x4eda 007692 branch module_hci_event_receive_invalid_cmd ,user 
+0x4edb 007693 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4edc 007694 fetch 1 ,mem_module_flag 
+0x4edd 007695 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+0x4ede 007696 fetch 1 ,mem_module_hci_notify_len 
+0x4edf 007697 nrtn blank 
+0x4ee0 007698 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ee1 007699 ifetch 2 ,contru 
+0x4ee2 007700 store 2 ,mem_module_hci_notify_handle 
+0x4ee3 007701 copy contru ,pdata 
+0x4ee4 007702 store 2 ,mem_module_hci_nofiy_addr 
+0x4ee5 007703 fetch 1 ,mem_module_uart_len 
+0x4ee6 007704 pincrease -2 
+0x4ee7 007705 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4ee8 007706 branch module_hci_event_receive_invalid_cmd ,zero 
+0x4ee9 007707 store 1 ,mem_module_hci_notify_len 
+0x4eea 007708 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4eeb 007709 call le_set_config_more_data 
+0x4eec 007710 call module_hci_cmd_transmit_le_notify 
+0x4eed 007711 call module_hci_cmd_transmit_le_notify 
+0x4eee 007712 call module_hci_cmd_transmit_le_notify 
+0x4eef 007713 fetch 1 ,mem_module_flag 
+0x4ef0 007714 rtnbit0 module_flag_ble_data_finish 
+:      007715 module_hci_cmd_receive_le_data_finish:
+0x4ef1 007716 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ef2 007717 call module_clear_le_tx_data_flag 
+0x4ef3 007718 branch module_hci_event_receive_valid_cmd 
+:      007720 module_hci_cmd_transmit_le_notify:
+0x4ef4 007721 fetch 1 ,mem_module_hci_notify_len 
+0x4ef5 007722 rtn blank 
+0x4ef6 007723 call le_fifo_check_nearly_full 
+0x4ef7 007724 nrtn blank 
+0x4ef8 007725 call module_get_le_remote_mtu 
+0x4ef9 007726 bpatch patch17_4 ,mem_patch17 
+0x4efa 007727 add temp ,-3 ,pdata 
+0x4efb 007728 fetcht 1 ,mem_module_hci_notify_len 
+0x4efc 007729 call not_greater_than 
+0x4efd 007730 copy pdata ,rega 
+0x4efe 007731 copy temp ,pdata 
+0x4eff 007732 isub rega ,pdata 
+0x4f00 007733 store 1 ,mem_module_hci_notify_len 
+0x4f01 007734 fetcht 2 ,mem_module_hci_notify_handle 
+0x4f02 007735 call le_att_malloc_tx_notify 
+0x4f03 007736 fetch 2 ,mem_module_hci_nofiy_addr 
+0x4f04 007737 copy pdata ,contru 
+0x4f05 007738 copy rega ,loopcnt 
+0x4f06 007739 call uart_copy_rx_bytes_fast 
+0x4f07 007740 copy contru ,pdata 
+0x4f08 007741 store 2 ,mem_module_hci_nofiy_addr 
+0x4f09 007742 fetch 1 ,mem_module_hci_notify_len 
+0x4f0a 007743 nrtn blank 
+0x4f0b 007744 branch module_set_le_tx_data_flag 
+:      007748 module_get_le_remote_mtu:
+0x4f0c 007749 arg 0x17 ,temp 
+0x4f0d 007750 fetch 1 ,mem_module_flag 
+0x4f0e 007751 rtnbit1 module_flag_ble_send_mtu23 
+0x4f0f 007752 fetcht 2 ,mem_le_remote_mtu 
+0x4f10 007753 rtn 
+:      007755 module_check_ble_encrypt_state:
+0x4f11 007756 fetch 1 ,mem_module_flag 
+0x4f12 007757 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+0x4f13 007758 branch disable_user 
+:      007762 module_hci_cmd_inquire_status:
+0x4f14 007763 branch module_hci_event_status_res 
+:      007767 module_hci_cmd_set_pairing_mode:
+0x4f15 007768 copy rega ,contru 
+0x4f16 007769 ifetch 1 ,contru 
+0x4f17 007770 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x4f18 007771 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x4f19 007772 beq pairing_passkey ,module_hci_pairing_passkey 
+0x4f1a 007773 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+0x4f1b 007774 branch module_hci_event_receive_invalid_cmd 
+:      007775 module_hci_pairing_pincode_mode:
+0x4f1c 007776 call ssp_disable 
+0x4f1d 007777 jam 0 ,mem_ssp_enable 
+0x4f1e 007778 branch module_hci_event_receive_valid_cmd 
+:      007779 module_hci_pairing_just_work_mode:
+0x4f1f 007780 setarg ssp_mode_just_work_io_cap_data 
+:      007781 module_hci_sspairing_mode:
+0x4f20 007782 store 3 ,mem_sp_iocap_local 
+0x4f21 007783 store 1 ,mem_ssp_mode_flag 
+0x4f22 007784 call ssp_enable 
+0x4f23 007785 jam 1 ,mem_ssp_enable 
+0x4f24 007786 branch module_hci_event_receive_valid_cmd 
+:      007787 module_hci_pairing_passkey:
+0x4f25 007788 setarg ssp_mode_passkey_io_cap_data 
+0x4f26 007789 branch module_hci_sspairing_mode 
+:      007791 module_hci_pairing_numeric_comparison:
+0x4f27 007792 setarg ssp_mode_ssp_pin_io_cap_data 
+0x4f28 007793 branch module_hci_sspairing_mode 
+:      007796 module_hci_cmd_set_pincode:
+0x4f29 007797 fetch 1 ,mem_module_uart_len 
+0x4f2a 007798 sub pdata ,16 ,null 
+0x4f2b 007799 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4f2c 007800 store 1 ,mem_pin_length 
+0x4f2d 007801 copy pdata ,loopcnt 
+0x4f2e 007802 arg mem_pin ,contw 
+0x4f2f 007803 call uart_copy_rx_bytes 
+0x4f30 007804 branch module_hci_event_receive_valid_cmd 
+:      007811 module_hci_cmd_version_request:
+0x4f31 007812 arg 2 ,rega 
+0x4f32 007813 arg mem_soft_version_num ,regb 
+0x4f33 007814 arg 0 ,temp 
+0x4f34 007815 branch module_hci_event_set_cmd 
+:      007816 module_hci_event_set_cmd_send_response:
+0x4f35 007817 store 2 ,mem_event_cmd_response_content 
+0x4f36 007818 arg mem_event_cmd_response_content ,regb 
+0x4f37 007819 arg 0 ,temp 
+0x4f38 007820 branch module_hci_event_set_cmd 
+:      007824 module_hci_cmd_bt_disconnect:
+0x4f39 007825 fetch 2 ,mem_ui_state_map 
+0x4f3a 007826 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+:      007827 module_hci_cmd_bt_disconnect_doing:
+0x4f3b 007828 call module_hci_event_receive_valid_cmd 
+0x4f3c 007829 branch app_bt_disconnect 
+:      007833 module_hci_cmd_ble_disconnect:
+0x4f3d 007834 fetch 2 ,mem_ui_state_map 
+0x4f3e 007835 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+:      007836 module_hci_cmd_ble_disconnect_doing:
+0x4f3f 007837 call module_hci_event_receive_valid_cmd 
+0x4f40 007838 branch app_ble_disconnect 
+:      007844 module_hci_cmd_set_nvram:
+0x4f41 007845 fetch 1 ,mem_module_uart_len 
+0x4f42 007846 copy pdata ,loopcnt 
+0x4f43 007847 copy rega ,contru 
+0x4f44 007848 fetch 2 ,mem_nv_data_ptr 
+0x4f45 007849 icopy contw 
+0x4f46 007850 call uart_copy_rx_bytes_fast 
+0x4f47 007851 branch module_hci_event_receive_valid_cmd 
+:      007855 module_hci_cmd_confirm_gkey:
+0x4f48 007856 fetch 1 ,mem_ui_state_map 
+0x4f49 007857 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+0x4f4a 007858 ifetch 1 ,contru 
+0x4f4b 007859 fetcht 1 ,mem_flag_mode_ssp_pin 
+0x4f4c 007860 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+0x4f4d 007861 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+0x4f4e 007862 storet 1 ,mem_flag_mode_ssp_pin 
+0x4f4f 007864 call module_hci_event_receive_valid_cmd 
+0x4f50 007866 fetch 1 ,mem_flag_mode_ssp_pin 
+0x4f51 007867 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+0x4f52 007868 rtn 
+:      007870 dhkey_not_accept:
+0x4f53 007871 jam 0 ,mem_flag_mode_ssp_pin 
+0x4f54 007872 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+0x4f55 007873 branch ui_ipc_send_cmd 
+:      007876 module_hci_cmd_spp_number_comparison_result_is1:
+0x4f56 007877 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x4f57 007878 branch dhkey_not_accept 
+:      007882 module_hci_cmd_set_credit_given:
+0x4f58 007883 fetch 1 ,mem_ui_state_map 
+0x4f59 007884 rtnbit0 ui_state_bt_spp_conn 
+0x4f5a 007885 fetch 1 ,mem_credit_flag 
+0x4f5b 007886 rtneq credit_disable 
+0x4f5c 007887 ifetch 1 ,contru 
+0x4f5d 007888 fetcht 1 ,mem_credit_given 
+0x4f5e 007889 iadd temp ,temp 
+0x4f5f 007890 storet 1 ,mem_credit_given 
+0x4f60 007891 rtn 
+:      007895 module_hci_cmd_auto_adv:
+0x4f61 007896 arg 0x40 ,loopcnt 
+0x4f62 007897 arg mem_le_adv_data_len ,contw 
+0x4f63 007898 call clear_mem 
+0x4f64 007899 setarg 0 
+0x4f65 007900 store 1 ,mem_regb 
+0x4f66 007901 copy rega ,contru 
+:      007902 module_hci_cmd_auto_adv_loop:
+0x4f67 007903 copy contru ,pdata 
+0x4f68 007904 store 2 ,mem_regc 
+0x4f69 007905 call module_hci_cmd_auto_adv_adv_analys 
+0x4f6a 007907 fetch 1 ,mem_regb 
+0x4f6b 007908 fetcht 1 ,mem_temp 
+0x4f6c 007909 increase 1 ,temp 
+0x4f6d 007910 iadd temp ,pdata 
+0x4f6e 007911 store 1 ,mem_regb 
+0x4f6f 007913 sub pdata ,31 ,null 
+0x4f70 007914 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+:      007915 module_hci_cmd_auto_adv_store_adv:
+0x4f71 007916 fetcht 1 ,mem_le_adv_data_len 
+0x4f72 007917 setarg mem_le_adv_data 
+0x4f73 007918 iadd temp ,pdata 
+0x4f74 007919 store 2 ,mem_contw 
+0x4f75 007920 fetcht 1 ,mem_temp 
+0x4f76 007921 increase 1 ,temp 
+0x4f77 007922 fetch 1 ,mem_le_adv_data_len 
+0x4f78 007923 iadd temp ,pdata 
+0x4f79 007924 store 1 ,mem_le_adv_data_len 
+0x4f7a 007925 branch module_hci_cmd_auto_adv_store_common 
+:      007926 module_hci_cmd_auto_adv_store_scan:
+0x4f7b 007927 fetcht 1 ,mem_le_scan_data_len 
+0x4f7c 007928 setarg mem_le_scan_data 
+0x4f7d 007929 iadd temp ,pdata 
+0x4f7e 007930 store 2 ,mem_contw 
+0x4f7f 007931 fetcht 1 ,mem_temp 
+0x4f80 007932 increase 1 ,temp 
+0x4f81 007933 fetch 1 ,mem_le_scan_data_len 
+0x4f82 007934 iadd temp ,pdata 
+0x4f83 007935 store 1 ,mem_le_scan_data_len 
+:      007936 module_hci_cmd_auto_adv_store_common:
+0x4f84 007937 fetch 2 ,mem_contw 
+0x4f85 007938 copy pdata ,contw 
+0x4f86 007939 fetch 2 ,mem_regc 
+0x4f87 007940 copy pdata ,contru 
+0x4f88 007942 copy temp ,loopcnt 
+0x4f89 007943 call uart_copy_rx_bytes_fast 
+0x4f8a 007945 fetch 1 ,mem_module_uart_len 
+0x4f8b 007946 fetcht 1 ,mem_regb 
+0x4f8c 007947 isub temp ,null 
+0x4f8d 007948 nbranch module_hci_cmd_auto_adv_loop ,zero 
+0x4f8e 007949 branch module_hci_event_receive_valid_cmd 
+:      007952 module_hci_cmd_auto_adv_adv_analys:
+0x4f8f 007953 ifetch 1 ,contru 
+0x4f90 007954 store 1 ,mem_temp 
+0x4f91 007955 ifetch 1 ,contru 
+0x4f92 007956 store 1 ,mem_rega 
+0x4f93 007957 rtn 
+:      007962 module_hci_cmd_passkey_entry:
+0x4f94 007963 ifetch 4 ,contru 
+0x4f95 007964 store 4 ,mem_pin 
+0x4f96 007965 jam 4 ,mem_pin_length 
+0x4f97 007966 jam 0 ,mem_authentication_passkey_times 
+0x4f98 007967 call module_hci_event_receive_valid_cmd 
+0x4f99 007968 branch authentication_passkey 
+:      007973 module_hci_cmd_le_set_pairing_mode:
+0x4f9a 007974 copy rega ,contru 
+0x4f9b 007975 ifetch 1 ,contru 
+0x4f9c 007976 copy pdata ,temp 
+0x4f9d 007977 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+0x4f9e 007978 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+0x4f9f 007979 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+0x4fa0 007980 store 1 ,mem_le_pairing_mode 
+0x4fa1 007981 beq le_pairing_mode_none ,module_le_set_no_pairing 
+0x4fa2 007982 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+0x4fa3 007983 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+0x4fa4 007984 branch module_hci_event_receive_invalid_cmd 
+:      007986 module_le_set_pairing_mode_secure_justwork:
+0x4fa5 007987 fetch 1 ,mem_le_secure_connect_enable 
+0x4fa6 007988 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fa7 007989 storet 1 ,mem_le_pairing_mode 
+0x4fa8 007990 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x4fa9 007991 branch module_le_set_noinputnooutput 
+:      007992 module_le_set_pairing_mode_secure_numeric:
+0x4faa 007993 fetch 1 ,mem_le_secure_connect_enable 
+0x4fab 007994 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fac 007995 storet 1 ,mem_le_pairing_mode 
+0x4fad 007996 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x4fae 007997 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x4faf 007998 branch module_hci_event_receive_valid_cmd 
+:      007999 module_le_set_pairing_mode_secure_passkey:
+0x4fb0 008000 fetch 1 ,mem_le_secure_connect_enable 
+0x4fb1 008001 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fb2 008002 storet 1 ,mem_le_pairing_mode 
+0x4fb3 008003 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x4fb4 008004 branch module_le_set_displayonly 
+:      008005 module_le_set_no_pairing:
+0x4fb5 008006 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      008007 module_le_set_noinputnooutput:
+0x4fb6 008008 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x4fb7 008009 branch module_hci_event_receive_valid_cmd 
+:      008010 module_le_set_pairing_mode_lagacy_just_work:
+0x4fb8 008011 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x4fb9 008012 branch module_le_set_noinputnooutput 
+:      008013 module_le_set_pairing_mode_lagacy_passkey:
+0x4fba 008014 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      008015 module_le_set_displayonly:
+0x4fbb 008016 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x4fbc 008017 branch module_hci_event_receive_valid_cmd 
+:      008021 module_hci_cmd_le_set_adv_data:
+0x4fbd 008022 fetch 1 ,mem_module_uart_len 
+0x4fbe 008023 sub pdata ,31 ,null 
+0x4fbf 008024 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4fc0 008025 store 1 ,mem_le_adv_data_len 
+0x4fc1 008026 copy pdata ,loopcnt 
+0x4fc2 008027 copy rega ,contru 
+0x4fc3 008028 arg mem_le_adv_data ,contw 
+0x4fc4 008029 call uart_copy_rx_bytes_fast 
+0x4fc5 008030 branch module_hci_event_receive_valid_cmd 
+:      008034 module_hci_cmd_le_set_scan_data:
+0x4fc6 008035 fetch 1 ,mem_module_uart_len 
+0x4fc7 008036 sub pdata ,31 ,null 
+0x4fc8 008037 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4fc9 008038 store 1 ,mem_le_scan_data_len 
+0x4fca 008039 copy pdata ,loopcnt 
+0x4fcb 008040 copy rega ,contru 
+0x4fcc 008041 arg mem_le_scan_data ,contw 
+0x4fcd 008042 call uart_copy_rx_bytes_fast 
+0x4fce 008043 branch module_hci_event_receive_valid_cmd 
+:      008047 module_hci_cmd_le_send_conn_update_req:
+0x4fcf 008048 fetch 2 ,mem_ui_state_map 
+0x4fd0 008049 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x4fd1 008050 fetch 1 ,mem_module_uart_len 
+0x4fd2 008051 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+0x4fd3 008052 copy rega ,contru 
+0x4fd4 008053 ifetch 8 ,contru 
+0x4fd5 008054 store 8 ,mem_le_interval_min 
+0x4fd6 008055 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x4fd7 008056 call ui_ipc_send_cmd 
+0x4fd8 008057 branch module_hci_event_receive_valid_cmd 
+:      008061 module_hci_cmd_set_le_adv_parameter:
+0x4fd9 008062 ifetch 2 ,contru 
+0x4fda 008063 store 2 ,mem_le_adv_interval 
+0x4fdb 008064 branch module_hci_event_receive_valid_cmd 
+:      008068 module_hci_cmd_le_start_pairing:
+0x4fdc 008069 fetch 1 ,mem_le_pairing_mode 
+0x4fdd 008070 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fde 008071 fetch 1 ,mem_le_pairing_state 
+0x4fdf 008072 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+0x4fe0 008073 fetch 1 ,mem_le_enc_state 
+0x4fe1 008074 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+0x4fe2 008075 call check_51cmd_le_smp_sec_req 
+0x4fe3 008076 branch module_hci_event_receive_valid_cmd 
+:      008081 module_hci_cmd_set_tx_power:
+0x4fe4 008082 fetch 1 ,mem_module_uart_len 
+0x4fe5 008083 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x4fe6 008084 ifetch 1 ,contru 
+0x4fe7 008085 store 1 ,mem_tx_power 
+0x4fe8 008086 branch module_hci_event_receive_valid_cmd 
+:      008090 module_hci_cmd_le_confirm_gkey:
+0x4fe9 008091 ifetch 1 ,contru 
+0x4fea 008092 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+0x4feb 008093 fetch 1 ,mem_le_secure_connect_state 
+0x4fec 008094 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+0x4fed 008095 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x4fee 008096 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x4fef 008097 branch module_hci_event_receive_invalid_cmd 
+:      008098 module_hci_cmd_le_confirm_gkey_ok:
+0x4ff0 008099 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+0x4ff1 008100 branch module_hci_event_receive_valid_cmd 
+:      008102 module_hci_cmd_le_confirm_gkey_fail:
+0x4ff2 008103 call le_send_pairing_confirm_value_failed 
+0x4ff3 008104 branch module_hci_event_receive_valid_cmd 
+:      008108 module_hci_cmd_set_reject_justwork_flag:
+0x4ff4 008109 fetch 1 ,mem_module_uart_len 
+0x4ff5 008110 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x4ff6 008111 call module_hci_event_receive_valid_cmd 
+0x4ff7 008112 ifetch 1 ,contru 
+0x4ff8 008113 branch classic_bt_clr_reject_justwork_flag ,blank 
+0x4ff9 008114 branch classic_bt_set_reject_justwork_flag 
+:      008118 module_hci_cmd_reset_chip:
+0x4ffa 008119 call module_hci_event_receive_valid_cmd 
+0x4ffb 008121 hjam 0x01 ,core_reset 
+0x4ffc 008122 branch loop 
+:      008126 module_hci_cmd_le_set_fixed_passkey:
+0x4ffd 008127 fetch 1 ,mem_module_uart_len 
+0x4ffe 008128 beq 0 ,module_hci_event_receive_invalid_cmd 
+0x4fff 008129 ifetch 1 ,contru 
+0x5000 008130 branch module_hci_cmd_le_set_random_passkey ,blank 
+0x5001 008131 fetch 1 ,mem_module_uart_len 
+0x5002 008132 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x5003 008133 ifetch 4 ,contru 
+0x5004 008134 arg 1000000 ,temp 
+0x5005 008135 isub temp ,null 
+0x5006 008136 branch module_hci_event_receive_invalid_cmd ,positive 
+0x5007 008137 store 4 ,mem_le_tk 
+0x5008 008138 call le_set_config_fixed_tk 
+0x5009 008139 branch module_hci_event_receive_valid_cmd 
+:      008141 module_hci_cmd_le_set_random_passkey:
+0x500a 008142 call le_clr_config_fixed_tk 
+0x500b 008143 branch module_hci_event_receive_valid_cmd 
+:      008147 module_hci_test_cmde_close_lpm:
+0x500c 008148 ifetch 1 ,contru 
+0x500d 008149 store 1 ,mem_lpm_mode 
+0x500e 008150 branch module_hci_event_receive_valid_cmd 
+:      008153 module_hci_test_cmd_reback:
+0x500f 008154 fetch 1 ,mem_module_uart_len 
+0x5010 008155 call module_hci_prepare_tx 
+0x5011 008156 fetch 1 ,mem_module_uart_len 
+0x5012 008157 copy pdata ,loopcnt 
+0x5013 008158 copy rega ,contru 
+0x5014 008159 call copy_tx_bytes 
+0x5015 008160 branch uartd_send 
+:      008162 copy_tx_bytes:
+0x5016 008163 deposit loopcnt 
+0x5017 008164 rtn blank 
+:      008165 copy_tx_bytes_loop:
+0x5018 008166 ifetch 1 ,contru 
+0x5019 008167 istore 1 ,contwu 
+0x501a 008168 loop copy_tx_bytes_loop 
+0x501b 008169 rtn 
+:      008173 module_hci_event_receive_invalid_cmd:
+0x501c 008174 arg 1 ,temp 
+0x501d 008175 arg 0 ,rega 
+0x501e 008176 branch module_hci_event_set_cmd 
+:      008179 module_hci_event_receive_valid_cmd:
+0x501f 008180 arg 0 ,temp 
+0x5020 008181 arg 0 ,rega 
+0x5021 008182 branch module_hci_event_set_cmd 
+:      008186 module_hci_event_spp_connect:
+0x5022 008187 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+0x5023 008188 branch module_hci_event_enter_standby_mode_len0 
+:      008192 module_hci_event_le_connect:
+0x5024 008193 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+0x5025 008194 branch module_hci_event_enter_standby_mode_len0 
+:      008198 module_hci_event_spp_disconnect:
+0x5026 008199 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+0x5027 008200 branch module_hci_event_enter_standby_mode_len0 
+:      008204 module_hci_event_le_disconnect:
+0x5028 008205 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+0x5029 008206 branch module_hci_event_enter_standby_mode_len0 
+:      008214 module_hci_event_set_cmd:
+0x502a 008215 fetch 1 ,mem_module_uart_opcode 
+0x502b 008216 copy pdata ,regc 
+0x502c 008217 jam hci_event_cmd_res ,mem_module_uart_opcode 
+0x502d 008218 setarg 2 
+0x502e 008219 iadd rega ,pdata 
+0x502f 008220 call module_hci_prepare_tx 
+0x5030 008221 copy regc ,pdata 
+0x5031 008222 istore 1 ,contwu 
+0x5032 008223 istoret 1 ,contwu 
+0x5033 008224 copy rega ,loopcnt 
+0x5034 008225 copy regb ,contr 
+0x5035 008226 call uart_copy_tx_bytes 
+0x5036 008227 branch uartd_send 
+:      008231 module_hci_event_receive_spp_data:
+0x5037 008233 call module_spp_clear_last_transmite_clock 
+0x5038 008234 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+0x5039 008235 fetch 1 ,mem_current_length 
+0x503a 008236 rtn blank 
+0x503b 008237 call module_hci_prepare_tx 
+0x503c 008238 fetch 1 ,mem_current_length 
+0x503d 008239 copy pdata ,loopcnt 
+0x503e 008240 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x503f 008241 copy pdata ,contr 
+0x5040 008242 call uart_copy_tx_bytes_fast 
+0x5041 008243 branch uartd_send 
+:      008247 module_hci_event_receive_le_data:
+0x5042 008248 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+0x5043 008249 fetch 1 ,mem_module_le_rx_data_len 
+0x5044 008250 icopy loopcnt 
+0x5045 008251 increase 2 ,pdata 
+0x5046 008252 call module_hci_prepare_tx 
+0x5047 008253 fetch 2 ,mem_module_le_rx_data_handle 
+0x5048 008254 istore 2 ,contwu 
+0x5049 008255 fetch 2 ,mem_module_le_rx_data_address 
+0x504a 008256 icopy contr 
+0x504b 008257 call uart_copy_tx_bytes_fast 
+0x504c 008258 branch uartd_send 
+:      008262 module_hci_event_enter_standby_mode:
+0x504d 008263 jam hci_event_standby_rep ,mem_module_uart_opcode 
+:      008264 module_hci_event_enter_standby_mode_len0:
+0x504e 008265 setarg 0 
+0x504f 008266 call module_hci_prepare_tx 
+0x5050 008267 branch uartd_send 
+:      008271 module_hci_event_status_res:
+0x5051 008272 jam hci_event_status_res ,mem_module_uart_opcode 
+0x5052 008273 setarg 1 
+0x5053 008274 call module_hci_prepare_tx 
+0x5054 008276 call module_hci_read_bt_status 
+0x5055 008278 fetch 2 ,mem_ui_state_map 
+0x5056 008279 arg ui_state_bt_hid_conn ,queue 
+0x5057 008280 qisolate1 pdata 
+0x5058 008281 setflag true ,3 ,temp 
+0x5059 008283 arg ui_state_ble_connected ,queue 
+0x505a 008284 qisolate1 pdata 
+0x505b 008285 setflag true ,5 ,temp 
+0x505c 008287 fetch 1 ,mem_ui_state_map 
+0x505d 008288 arg ui_state_bt_spp_conn ,queue 
+0x505e 008289 qisolate1 pdata 
+0x505f 008290 setflag true ,4 ,temp 
+0x5060 008292 istoret 1 ,contwu 
+0x5061 008293 branch uartd_send 
+:      008297 module_hci_read_bt_status:
+0x5062 008298 arg 0 ,temp 
+0x5063 008299 fetch 1 ,mem_scan_mode 
+0x5064 008300 arg inq_scan_mode ,queue 
+0x5065 008301 qisolate1 pdata 
+0x5066 008302 setflag true ,0 ,temp 
+0x5067 008303 arg page_scan_mode ,queue 
+0x5068 008304 qisolate1 pdata 
+0x5069 008305 setflag true ,1 ,temp 
+0x506a 008307 fetch 1 ,mem_le_adv_enable 
+0x506b 008308 arg 0 ,queue 
+0x506c 008309 qisolate1 pdata 
+0x506d 008310 setflag true ,2 ,temp 
+0x506e 008311 rtn 
+:      008315 module_hci_event_store_device:
+0x506f 008316 jam hci_event_nvram_rep ,mem_module_uart_opcode 
+0x5070 008317 fetch 1 ,mem_nv_data_number 
+0x5071 008318 mul32 pdata ,34 ,pdata 
+0x5072 008319 icopy loopcnt 
+0x5073 008320 call module_hci_prepare_tx 
+0x5074 008321 fetch 2 ,mem_nv_data_ptr 
+0x5075 008322 icopy contr 
+0x5076 008323 call uart_copy_tx_bytes_fast 
+0x5077 008324 branch uartd_send 
+:      008328 module_hci_event_gkey_generate:
+0x5078 008329 jam hci_event_gkey ,mem_module_uart_opcode 
+0x5079 008330 setarg 4 
+0x507a 008331 call module_hci_prepare_tx 
+0x507b 008332 fetch 4 ,mem_gkey 
+0x507c 008333 istore 4 ,contwu 
+0x507d 008334 branch uartd_send 
+:      008338 module_hci_event_invalid_packet:
+0x507e 008339 jam hci_event_invalid_packet ,mem_module_uart_opcode 
+0x507f 008340 branch module_hci_event_enter_standby_mode_len0 
+:      008344 module_hci_event_passkey_entry_mode:
+0x5080 008345 jam hci_event_get_passkey ,mem_module_uart_opcode 
+0x5081 008346 branch module_hci_event_enter_standby_mode_len0 
+:      008350 module_hci_event_le_tk:
+0x5082 008351 jam hci_event_le_tk ,mem_module_uart_opcode 
+0x5083 008352 setarg 4 
+0x5084 008353 call module_hci_prepare_tx 
+0x5085 008354 fetch 4 ,mem_le_tk 
+0x5086 008355 istore 4 ,contwu 
+0x5087 008356 branch uartd_send 
+:      008360 module_hci_event_le_pairing_fail:
+0x5088 008361 arg flag_ble_pairing_fail ,rega 
+0x5089 008362 branch module_hci_event_pairing_completed 
+:      008364 module_hci_event_le_pairing_success:
+0x508a 008365 arg flag_ble_pairing_success ,rega 
+0x508b 008366 branch module_hci_event_pairing_completed 
+:      008368 module_hci_event_bt_pairing_fail:
+0x508c 008369 arg flag_bt_pairing_fail ,rega 
+0x508d 008370 branch module_hci_event_pairing_completed 
+:      008372 module_hci_event_bt_pairing_success:
+0x508e 008373 arg flag_bt_pairing_success ,rega 
+:      008375 module_hci_event_pairing_completed:
+0x508f 008376 jam 0 ,mem_flag_mode_ssp_pin 
+0x5090 008377 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+0x5091 008378 setarg 2 
+0x5092 008379 call module_hci_prepare_tx 
+0x5093 008380 copy rega ,pdata 
+0x5094 008381 istore 2 ,contwu 
+0x5095 008382 branch uartd_send 
+:      008386 module_hci_event_pause_enc:
+0x5096 008387 arg flag_event_pause_enc ,regc 
+0x5097 008388 branch module_hci_event_enc 
+:      008390 module_hci_event_start_enc:
+0x5098 008391 arg flag_event_start_enc ,regc 
+:      008393 module_hci_event_enc:
+0x5099 008394 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+0x509a 008395 setarg 1 
+0x509b 008396 call module_hci_prepare_tx 
+0x509c 008397 copy regc ,pdata 
+0x509d 008398 istore 1 ,contwu 
+0x509e 008399 branch uartd_send 
+:      008403 module_hci_event_le_gkey:
+0x509f 008404 jam hci_event_le_gkey ,mem_module_uart_opcode 
+0x50a0 008405 setarg 4 
+0x50a1 008406 call module_hci_prepare_tx 
+0x50a2 008407 fetch 4 ,mem_gkey 
+0x50a3 008408 istore 4 ,contwu 
+0x50a4 008409 branch uartd_send 
+:      008420 module_hci_prepare_tx:
+0x50a5 008421 jam 0x02 ,mem_module_uart_cmd 
+0x50a6 008422 store 1 ,mem_module_uart_len 
+0x50a7 008423 storet 8 ,mem_temp 
+0x50a8 008424 bpatch patch17_5 ,mem_patch17 
+0x50a9 008425 fetcht 8 ,mem_temp 
+0x50aa 008426 call uartd_prepare_tx 
+0x50ab 008427 fetch 3 ,mem_module_uart_cmd 
+0x50ac 008428 istore 3 ,contwu 
+0x50ad 008429 rtn 
+:      008441 module_le_receive_data:
+0x50ae 008442 call module_check_ble_encrypt_state 
+0x50af 008443 rtn user 
+0x50b0 008444 copy rega ,pdata 
+0x50b1 008445 store 2 ,mem_module_le_rx_data_address 
+0x50b2 008446 copy regb ,pdata 
+0x50b3 008447 store 1 ,mem_module_le_rx_data_len 
+0x50b4 008448 fetch 2 ,mem_le_att_handle 
+0x50b5 008449 fetcht 2 ,mem_module_data_write_handle 
+0x50b6 008450 isub temp ,null 
+0x50b7 008451 branch module_le_receive_data_ok ,zero 
+0x50b8 008452 fetcht 2 ,mem_module_data_write_handle2 
+0x50b9 008453 isub temp ,null 
+0x50ba 008454 nrtn zero 
+:      008455 module_le_receive_data_ok:
+0x50bb 008456 store 2 ,mem_module_le_rx_data_handle 
+0x50bc 008457 branch module_hci_event_receive_le_data 
+:      008462 module_exit_sniff:
+0x50bd 008463 fetch 1 ,mem_module_flag 
+0x50be 008464 rtnbit1 moudle_task_unsniff 
+0x50bf 008465 call module_set_unsniff_task_flag 
+0x50c0 008466 branch app_bt_sniff_exit 
+:      008469 module_set_lpm_mult_2:
+0x50c1 008470 jam 2 ,mem_lpm_mult 
+0x50c2 008471 rtn 
+:      008475 module_bb_event_timer:
+0x50c3 008476 rtn 
+:      008479 check_ipc_tx_buff:
+0x50c4 008480 call get_ipc_tx_buff 
+0x50c5 008481 arg uart_air_control_threshold ,temp 
+:      008482 pdata_sub_temp:
+0x50c6 008483 isub temp ,null 
+0x50c7 008484 rtn 
+:      008486 calc_ipc_tx_buff_pos:
+0x50c8 008487 isub rega ,pdata 
+0x50c9 008488 sub pdata ,0 ,pdata 
+0x50ca 008489 rtn 
+:      008491 get_ipc_tx_buff:
+0x50cb 008492 fetcht 2 ,ipc_bt2m0_start_addr 
+0x50cc 008493 fetch 2 ,ipc_bt2m0_end_addr 
+0x50cd 008494 isub temp ,rega 
+0x50ce 008495 fetcht 2 ,ipc_bt2m0_read_ptr 
+0x50cf 008496 fetch 2 ,ipc_bt2m0_write_ptr 
+0x50d0 008497 isub temp ,pdata 
+0x50d1 008498 ncall calc_ipc_tx_buff_pos ,positive 
+0x50d2 008499 rtn 
+:      008501 module_control_air_flow:
+0x50d3 008502 call check_ipc_tx_buff 
+0x50d4 008503 branch app_l2cap_flow_control_enable ,positive 
+0x50d5 008504 branch app_l2cap_flow_control_disable 
+:      008508 module_set_sniff_task_flag:
+0x50d6 008509 arg moudle_task_sniff ,queue 
+0x50d7 008510 branch module_set_state 
+:      008512 module_clear_sniff_task_flag:
+0x50d8 008513 arg moudle_task_sniff ,queue 
+0x50d9 008514 branch module_clr_state 
+:      008516 module_set_unsniff_task_flag:
+0x50da 008517 arg moudle_task_unsniff ,queue 
+0x50db 008518 branch module_set_state 
+:      008520 module_clear_unsniff_task_flag:
+0x50dc 008521 arg moudle_task_unsniff ,queue 
+0x50dd 008522 branch module_clr_state 
+:      008524 module_set_le_tx_data_flag:
+0x50de 008525 arg module_flag_ble_data_finish ,queue 
+0x50df 008526 branch module_set_state 
+:      008528 module_clear_le_tx_data_flag:
+0x50e0 008529 arg module_flag_ble_data_finish ,queue 
+0x50e1 008530 branch module_clr_state 
+:      008532 module_clr_state:
+0x50e2 008533 fetch 1 ,mem_module_flag 
+0x50e3 008534 qset0 pdata 
+0x50e4 008535 store 1 ,mem_module_flag 
+0x50e5 008536 rtn 
+:      008538 module_set_state:
+0x50e6 008539 fetch 1 ,mem_module_flag 
+0x50e7 008540 qset1 pdata 
+0x50e8 008541 store 1 ,mem_module_flag 
+0x50e9 008542 rtn 
+:      008555 cmd_exit:
+0x50ea 008556 jam 0 ,mem_hci_cmd 
+0x50eb 008557 rtn 
+:      008558 cmd_check_plap:
+0x50ec 008559 fetch 6 ,mem_hci_plap 
+0x50ed 008560 fetcht 6 ,mem_plap 
+0x50ee 008561 isub temp ,null 
+0x50ef 008562 rtn 
+:      008567 cmd_pair:
+0x50f0 008568 fetch 1 ,mem_op 
+0x50f1 008569 bbit1 op_inrand_req ,cmd_pair_passive 
+0x50f2 008570 call tid_initiate 
+0x50f3 008571 jam lmp_in_rand ,mem_lmo_opcode2 
+0x50f4 008572 branch cmd_exit 
+:      008573 cmd_pair_passive:
+0x50f5 008574 set0 op_inrand_req ,pdata 
+0x50f6 008575 store 1 ,mem_op 
+0x50f7 008576 call lmp_accept_inrand 
+0x50f8 008577 setarg 0 
+0x50f9 008578 setflag master ,smap_lmptid ,pdata 
+0x50fa 008579 store 1 ,mem_lmo_tid2 
+0x50fb 008580 branch cmd_exit 
+0x50fc 008581 rtn 
+:      008582 cmd_in_sniff:
+0x50fd 008583 jam lmp_sniff_req ,mem_lmo_opcode2 
+0x50fe 008584 arg mem_sniff_payload ,contw 
+0x50ff 008585 setarg 0 
+0x5100 008586 isolate1 27 ,clke_bt 
+0x5101 008587 setflag true ,1 ,pdata 
+0x5102 008588 istore 1 ,contw 
+0x5103 008589 setarg 0 
+0x5104 008590 istore 2 ,contw 
+0x5105 008591 fetch 2 ,mem_sniff_param_interval 
+0x5106 008592 istore 2 ,contw 
+0x5107 008593 fetch 1 ,mem_sniff_param_attempt 
+0x5108 008594 istore 2 ,contw 
+0x5109 008595 fetch 1 ,mem_sniff_param_timeout 
+0x510a 008596 istore 2 ,contw 
+0x510b 008597 branch cmd_exit 
+:      008599 cmd_exit_sniff:
+0x510c 008600 jam lmp_unsniff_req ,mem_lmo_opcode2 
+0x510d 008601 branch cmd_exit 
+:      008615 hid_rx_process:
+0x510e 008616 bpatch patch17_6 ,mem_patch17 
+0x510f 008617 fetch 2 ,mem_l2cap_payload_ptr 
+0x5110 008618 copy pdata ,contr 
+0x5111 008619 ifetch 1 ,contr 
+0x5112 008620 and pdata ,0x0f ,temp 
+0x5113 008621 rshift4 pdata ,pdata 
+0x5114 008622 beq hid_type_set_idle ,hid_rx_process_handshake 
+0x5115 008623 beq hid_type_set_protocol ,hid_rx_process_handshake 
+0x5116 008624 beq hid_type_data ,hid_rx_process_data 
+0x5117 008625 beq hid_type_set_report ,hid_rx_process_set_report 
+0x5118 008626 beq hid_type_control ,hid_rx_process_hid_control 
+0x5119 008627 rtn 
+:      008629 hid_rx_process_hid_control:
+0x511a 008630 copy temp ,pdata 
+0x511b 008631 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+0x511c 008632 beq hid_control_p_suspend ,hid_rx_process_suspend 
+0x511d 008633 rtn 
+:      008635 hid_rx_process_virtual_cable_unplug:
+0x511e 008636 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+0x511f 008637 call ui_ipc_send_event 
+0x5120 008638 fetch 1 ,mem_device_option 
+0x5121 008639 rtnbit0 dvc_op_mouse 
+0x5122 008640 copy temp ,pdata 
+0x5123 008642 rtn 
+:      008643 hid_rx_process_suspend:
+0x5124 008644 rtn 
+:      008646 hid_rx_process_set_report:
+0x5125 008647 call hid_rx_process_data 
+0x5126 008648 arg 0x01 ,rega 
+0x5127 008649 call hid_malloc_tx_buff 
+0x5128 008650 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5129 008651 istore 2 ,contw 
+0x512a 008652 setarg 0x00 
+0x512b 008653 istore 1 ,contw 
+0x512c 008654 rtn 
+:      008656 hid_rx_process_handshake:
+0x512d 008657 arg 1 ,rega 
+0x512e 008658 call hid_malloc_tx_buff 
+0x512f 008659 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5130 008660 istore 2 ,contw 
+0x5131 008661 setarg 0 
+0x5132 008662 istore 1 ,contw 
+0x5133 008663 jam 1 ,mem_ui_data_txbuff_length 
+0x5134 008664 fetch 1 ,mem_hid_control_state 
+0x5135 008665 set1 l2cap_channel_hid_handshake_done 
+0x5136 008666 store 1 ,mem_hid_control_state 
+0x5137 008667 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0x5138 008668 branch ui_ipc_send_event 
+:      008670 hid_rx_process_data:
+0x5139 008671 ifetch 1 ,contr 
+0x513a 008672 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+0x513b 008673 rtn 
+:      008675 hid_rx_process_data_hid_kb:
+0x513c 008676 rtn 
+:      008679 hid_malloc_tx_buff:
+0x513d 008680 call l2cap_malloc 
+0x513e 008681 copy rega ,temp 
+0x513f 008682 storet 1 ,mem_ui_data_txbuff_length 
+0x5140 008683 copy pdata ,contw 
+0x5141 008684 copy rega ,pdata 
+0x5142 008685 istore 2 ,contw 
+0x5143 008686 rtn 
+:      008691 l2cap_init:
+0x5144 008692 branch l2cap_init_wake ,wake 
+:      008693 l2cap_init_work:
+0x5145 008694 setarg mem_l2cap_xmem_end 
+0x5146 008695 arg mem_l2cap_xmem_start ,contw 
+0x5147 008696 isub contw ,loopcnt 
+0x5148 008697 call clear_mem 
+:      008698 l2cap_init_wake:
+0x5149 008699 bpatch patch17_7 ,mem_patch17 
+0x514a 008700 setarg mem_sdp_mem_end 
+0x514b 008701 arg mem_sdp_mem_start ,contw 
+0x514c 008702 isub contw ,loopcnt 
+0x514d 008703 call clear_mem 
+0x514e 008704 setarg mem_l2cap_mem_end 
+0x514f 008705 arg mem_l2cap_mem_start ,contw 
+0x5150 008706 isub contw ,loopcnt 
+0x5151 008707 call clear_mem 
+0x5152 008708 branch l2cap_lpm_load_txbuf 
+:      008710 process_rx_l2cap_pkt:
+0x5153 008711 bpatch patch18_0 ,mem_patch18 
+0x5154 008712 copy contr ,temp 
+0x5155 008715 copy temp ,contr 
+0x5156 008716 ifetch 2 ,contr 
+0x5157 008717 store 2 ,mem_l2cap_rx_pkt_length 
+0x5158 008718 ifetch 2 ,contr 
+0x5159 008719 store 2 ,mem_l2cap_rx_cid 
+0x515a 008720 deposit contr 
+0x515b 008721 store 2 ,mem_l2cap_payload_ptr 
+0x515c 008722 fetch 1 ,memui_reconnect_mode 
+0x515d 008723 beq no_reconnection ,l2cap_rx_multiplexing 
+0x515e 008724 branch ml2cap_rx_multiplexing 
+:      008726 l2cap_rx_multiplexing:
+0x515f 008727 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x5160 008728 branch l2cap_rx_reset_state ,blank 
+0x5161 008729 bpatch patch18_1 ,mem_patch18 
+0x5162 008730 fetch 1 ,mem_l2cap_rx_cid 
+0x5163 008731 beq l2cap_signal_channel ,l2cap_call_proc_signal 
+:      008732 l2cap_rx_multiplexing0:
+0x5164 008733 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+0x5165 008734 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x5166 008735 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x5167 008736 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x5168 008737 branch l2cap_rx_reset_state 
+:      008739 l2cap_check_map:
+0x5169 008742 bpatch patch18_2 ,mem_patch18 
+0x516a 008743 call l2cap_malloc_get_full_map 
+0x516b 008744 fetch 1 ,mem_used_map 
+0x516c 008745 beq 0 ,set_pdata_0 
+0x516d 008746 beq 1 ,set_pdata_0 
+0x516e 008747 beq 2 ,set_pdata_0 
+0x516f 008748 beq 3 ,set_pdata_0 
+0x5170 008749 beq 0x81 ,set_pdata_0 
+0x5171 008750 beq 0xc0 ,set_pdata_0 
+0x5172 008751 beq 0x80 ,set_pdata_0 
+0x5173 008752 beq 0x40 ,set_pdata_0 
+0x5174 008753 rtn 
+:      008755 set_pdata_0:
+0x5175 008756 setarg 0 
+0x5176 008757 rtn 
+:      008760 l2cap_call_proc_signal:
+0x5177 008761 call l2cap_check_map 
+0x5178 008762 nrtn blank 
+:      008763 l2cap_call_proc_signal0:
+0x5179 008764 call l2cap_malloc_signal_channel 
+0x517a 008765 call l2cap_process_signal_pkt 
+0x517b 008766 fetcht 2 ,mem_l2cap_signal_tx_length 
+0x517c 008767 branch l2cap_call_proc_no_reply ,blank 
+0x517d 008768 call l2cap_get_signal_tx_buff 
+0x517e 008769 fetch 2 ,mem_l2cap_signal_tx_length 
+0x517f 008770 istore 2 ,contw 
+0x5180 008771 force l2cap_signal_channel ,pdata 
+0x5181 008772 istore 2 ,contw 
+0x5182 008773 branch l2cap_rx_reset_state 
+:      008775 l2cap_call_proc_sigal_pending:
+0x5183 008776 fetch 1 ,mem_l2cap_pending_item 
+0x5184 008777 rtn blank 
+0x5185 008778 copy pdata ,rega 
+0x5186 008779 bpatch patch18_3 ,mem_patch18 
+0x5187 008780 fetch 4 ,mem_l2cap_sdpres_delay_time 
+0x5188 008781 arg 0x100 ,temp 
+0x5189 008782 iadd temp ,temp 
+0x518a 008783 copy clkn_bt ,pdata 
+0x518b 008784 isub temp ,null 
+0x518c 008785 nrtn positive 
+0x518d 008786 jam 0 ,mem_l2cap_pending_item 
+0x518e 008787 copy rega ,pdata 
+0x518f 008788 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+0x5190 008789 branch assert 
+:      008790 l2cap_sdp_conn_succ:
+0x5191 008791 arg 0 ,debug 
+0x5192 008792 call l2cap_malloc_signal_channel 
+0x5193 008793 call restore_l2cap_req_param 
+0x5194 008794 call l2cap_get_signal_tx_payload 
+0x5195 008795 call save_cont_pointers 
+0x5196 008796 call send_connection_sdp_res 
+0x5197 008797 call l2cap_get_signal_tx_buff 
+0x5198 008799 setarg 0x000c 
+0x5199 008800 istore 2 ,contw 
+0x519a 008801 force l2cap_signal_channel ,pdata 
+0x519b 008802 istore 2 ,contw 
+0x519c 008803 branch l2cap_rx_reset_state 
+:      008807 l2cap_reset_sdp_map:
+0x519d 008808 bpatch patch18_4 ,mem_patch18 
+0x519e 008809 fetch 2 ,mem_sdp_tx_pkt_length 
+0x519f 008810 increase 4 ,pdata 
+0x51a0 008811 rshift4 pdata ,pdata 
+0x51a1 008812 rshift3 pdata ,pdata 
+0x51a2 008813 add pdata ,1 ,temp 
+0x51a3 008814 arg mem_tx_fifo3 ,contr 
+0x51a4 008815 ifetch 3 ,contr 
+0x51a5 008816 rtn blank 
+0x51a6 008817 store 3 ,mem_tx_fifo_map_temp 
+0x51a7 008818 fetch 1 ,mem_tx_fifo_map_temp 
+0x51a8 008819 copy pdata ,rega 
+0x51a9 008820 call check_l2cap_map 
+0x51aa 008821 copy regb ,pdata 
+0x51ab 008822 store 1 ,mem_tx_fifo3 
+0x51ac 008823 rtn 
+:      008825 check_l2cap_map:
+0x51ad 008826 arg 0 ,queue 
+0x51ae 008827 arg 0 ,regb 
+:      008829 check_l2cap_map_loop:
+0x51af 008830 sub queue ,7 ,null 
+0x51b0 008831 nrtn positive 
+0x51b1 008832 qisolate1 rega 
+0x51b2 008833 branch check_l2cap_map_used ,true 
+0x51b3 008834 branch check_l2cap_map_used2 
+:      008836 check_l2cap_map_used:
+0x51b4 008837 copy temp ,pdata 
+0x51b5 008838 branch check_l2cap_map_used2 ,blank 
+0x51b6 008839 qset1 regb 
+0x51b7 008840 increase -1 ,temp 
+:      008842 check_l2cap_map_used2:
+0x51b8 008843 increase 1 ,queue 
+0x51b9 008844 branch check_l2cap_map_loop 
+:      008846 l2cap_call_proc_sdp:
+0x51ba 008847 call l2cap_malloc_is_fifo_empty 
+0x51bb 008848 nrtn blank 
+0x51bc 008849 call l2cap_check_map 
+0x51bd 008850 nrtn blank 
+0x51be 008851 call l2cap_malloc_sdp_channel 
+0x51bf 008852 call sdp_process 
+0x51c0 008853 call l2cap_reset_sdp_map 
+0x51c1 008854 branch l2cap_call_proc_sdp_common 
+:      008857 ml2cap_call_proc_sdp:
+0x51c2 008858 call l2cap_malloc_is_fifo_empty 
+0x51c3 008859 nrtn blank 
+0x51c4 008860 call l2cap_malloc_sdp_channel 
+0x51c5 008861 call sdp_process 
+:      008862 l2cap_call_proc_sdp_common:
+0x51c6 008863 call l2cap_get_sdp_tx_buff 
+0x51c7 008864 fetch 2 ,mem_sdp_tx_pkt_length 
+0x51c8 008865 branch l2cap_call_proc_no_reply ,blank 
+0x51c9 008866 istore 2 ,contw 
+0x51ca 008867 fetch 2 ,mem_sdp_remote_cid 
+0x51cb 008868 istore 2 ,contw 
+0x51cc 008869 branch l2cap_rx_reset_state 
+:      008871 l2cap_call_proc_hid:
+0x51cd 008872 call hid_rx_process 
+0x51ce 008873 branch l2cap_rx_reset_state 
+:      008875 l2cap_call_proc_rfcomm:
+0x51cf 008876 bpatch patch18_5 ,mem_patch18 
+0x51d0 008877 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x51d1 008878 call rfcomm_rx_process 
+0x51d2 008879 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+0x51d3 008880 rtneq rfcomm_malloc_fail 
+0x51d4 008881 branch l2cap_rx_reset_state 
+:      008882 l2cap_call_proc_no_reply:
+0x51d5 008883 call l2cap_malloc_discard 
+:      008885 l2cap_rx_reset_state:
+0x51d6 008886 setarg 0 
+0x51d7 008887 store 2 ,mem_l2cap_rx_pkt_length 
+0x51d8 008888 store 2 ,mem_l2cap_rx_cid 
+0x51d9 008889 jam l2cap_rx_done ,mem_l2cap_rx_done 
+0x51da 008890 rtn 
+:      008892 l2cap_process_signal_pkt:
+0x51db 008893 bpatch patch18_6 ,mem_patch18 
+0x51dc 008894 call l2cap_get_signal_tx_payload 
+0x51dd 008895 force 0 ,regb 
+0x51de 008896 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x51df 008897 copy pdata ,regc 
+0x51e0 008898 fetch 2 ,mem_l2cap_payload_ptr 
+0x51e1 008899 iforce contr 
+:      008900 l2cap_process_signal_pkt_loop:
+0x51e2 008901 call l2cap_process_one_signal 
+0x51e3 008902 deposit regc 
+0x51e4 008903 increase -4 ,regc 
+0x51e5 008904 increase -4 ,pdata 
+0x51e6 008905 nbranch l2cap_process_signal_pkt_loop ,blank 
+0x51e7 008906 copy regb ,pdata 
+0x51e8 008907 store 2 ,mem_l2cap_signal_tx_length 
+0x51e9 008908 rtn 
+:      008910 l2cap_process_one_signal:
+0x51ea 008911 bpatch patch18_7 ,mem_patch18 
+0x51eb 008912 ifetch 1 ,contr 
+0x51ec 008913 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+0x51ed 008914 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+0x51ee 008915 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+0x51ef 008916 beq signal_config_req ,l2cap_proc_signal_config_req 
+0x51f0 008917 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+0x51f1 008918 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+0x51f2 008919 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+0x51f3 008920 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x51f4 008921 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+0x51f5 008922 beq signal_info_req ,l2cap_proc_signal_info_req 
+0x51f6 008923 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+0x51f7 008924 call l2cap_reject_command 
+:      008925 l2cap_process_one_signal_rtn:
+0x51f8 008926 rtn 
+:      008928 l2cap_proc_signal_info_req:
+0x51f9 008929 ifetch 1 ,contr 
+0x51fa 008930 copy pdata ,queue 
+0x51fb 008931 ifetch 2 ,contr 
+0x51fc 008932 copy pdata ,rega 
+0x51fd 008933 copy regc ,pdata 
+0x51fe 008934 isub rega ,regc 
+0x51ff 008935 setarg signal_info_rsp 
+0x5200 008936 istore 1 ,contw 
+0x5201 008937 copy queue ,pdata 
+0x5202 008938 istore 1 ,contw 
+0x5203 008939 ifetch 2 ,contr 
+:      008940 l2cap_proc_signal_info_req_reply:
+0x5204 008941 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+0x5205 008942 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+0x5206 008943 rtn 
+:      008944 l2cap_proc_signal_info_req_ext:
+0x5207 008945 setarg 0x020008 
+0x5208 008946 istore 6 ,contw 
+0x5209 008947 setarg 0x0280 
+0x520a 008948 istore 4 ,contw 
+0x520b 008949 force 12 ,pdata 
+0x520c 008950 branch l2cap_proc_signal_info_req_common 
+:      008951 l2cap_proc_signal_info_req_fix:
+0x520d 008952 setarg 0x3000c 
+0x520e 008953 istore 6 ,contw 
+0x520f 008954 setarg 0x0006 
+0x5210 008955 istore 8 ,contw 
+0x5211 008956 force 16 ,pdata 
+:      008957 l2cap_proc_signal_info_req_common:
+0x5212 008958 iadd regb ,regb 
+0x5213 008959 branch l2cap_process_one_signal_rtn 
+:      008961 ml2cap_proc_signal_info_req:
+0x5214 008962 ifetch 1 ,contr 
+0x5215 008963 copy pdata ,queue 
+0x5216 008964 ifetch 2 ,contr 
+0x5217 008965 copy pdata ,rega 
+0x5218 008966 ifetch 2 ,contr 
+0x5219 008967 store 2 ,mem_temp 
+0x521a 008968 copy regc ,pdata 
+0x521b 008969 isub rega ,regc 
+0x521c 008970 call l2cap_get_signal_tx_payload 
+0x521d 008971 setarg signal_info_rsp 
+0x521e 008972 istore 1 ,contw 
+0x521f 008973 copy queue ,pdata 
+0x5220 008974 istore 1 ,contw 
+0x5221 008975 fetch 2 ,mem_temp 
+0x5222 008976 branch l2cap_proc_signal_info_req_reply 
+:      008980 l2cap_proc_signal_cmd_reject:
+0x5223 008981 ifetch 1 ,contr 
+0x5224 008982 copy pdata ,queue 
+0x5225 008983 ifetch 2 ,contr 
+0x5226 008984 copy pdata ,rega 
+0x5227 008985 iadd contr ,contr 
+0x5228 008986 copy regc ,pdata 
+0x5229 008987 isub rega ,regc 
+:      008988 l2cap_proc_signal_cmd_reject_rtn:
+0x522a 008989 branch l2cap_process_one_signal_rtn 
+:      008991 l2cap_proc_signal_connect_req:
+0x522b 008992 call save_cont_pointers 
+0x522c 008995 call load_cont_pointers 
+0x522d 008996 arg 0 ,debug 
+0x522e 008997 ifetch 1 ,contr 
+0x522f 008998 copy pdata ,queue 
+0x5230 008999 ifetch 2 ,contr 
+0x5231 009000 copy pdata ,rega 
+0x5232 009001 ifetch 2 ,contr 
+0x5233 009002 copy pdata ,temp 
+0x5234 009003 ifetch 2 ,contr 
+0x5235 009004 copy pdata ,timeup 
+0x5236 009005 bpatch patch19_0 ,mem_patch19 
+0x5237 009006 copy temp ,pdata 
+0x5238 009007 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+0x5239 009008 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+0x523a 009009 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+0x523b 009010 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+0x523c 009011 call l2cap_reject_command 
+0x523d 009012 branch l2cap_proc_signal_connect_req_rtn 
+:      009014 l2cap_proc_signal_connect_req_sdp:
+0x523e 009015 call save_cont_pointers 
+0x523f 009016 arg l2cap_sdp_channel ,temp 
+0x5240 009017 fetch 2 ,mem_sdp_remote_cid 
+0x5241 009018 nbranch already_connected ,blank 
+0x5242 009019 copy timeup ,pdata 
+0x5243 009020 store 2 ,mem_sdp_remote_cid 
+0x5244 009021 copy clkn_bt ,pdata 
+0x5245 009022 store 4 ,mem_l2cap_sdpres_delay_time 
+0x5246 009023 call store_l2cap_req_param 
+0x5247 009024 branch send_connection_pending 
+:      009026 store_l2cap_req_param:
+0x5248 009027 storet 2 ,mem_psm 
+0x5249 009028 deposit timeup 
+0x524a 009029 store 2 ,mem_scid 
+0x524b 009030 deposit rega 
+0x524c 009031 store 2 ,mem_cmd_length 
+0x524d 009032 deposit regb 
+0x524e 009033 store 2 ,mem_tt2 
+0x524f 009034 deposit regc 
+0x5250 009035 store 2 ,mem_tt3 
+0x5251 009036 deposit queue 
+0x5252 009037 store 2 ,mem_id 
+0x5253 009038 rtn 
+:      009040 restore_l2cap_req_param:
+0x5254 009041 fetcht 2 ,mem_psm 
+0x5255 009042 fetch 2 ,mem_scid 
+0x5256 009043 copy pdata ,timeup 
+0x5257 009044 fetch 2 ,mem_cmd_length 
+0x5258 009045 copy pdata ,rega 
+0x5259 009046 fetch 2 ,mem_tt2 
+0x525a 009047 copy pdata ,regb 
+0x525b 009048 fetch 2 ,mem_tt3 
+0x525c 009049 copy pdata ,regc 
+0x525d 009050 fetch 2 ,mem_id 
+0x525e 009051 copy pdata ,queue 
+0x525f 009052 rtn 
+:      009054 l2cap_proc_signal_connect_req_rfcomm:
+0x5260 009055 call save_cont_pointers 
+0x5261 009056 setarg l2cap_rfcomm_channel 
+0x5262 009057 arg l2cap_rfcomm_channel ,temp 
+0x5263 009058 fetch 2 ,mem_rfcomm_remote_cid 
+0x5264 009059 nbranch already_connected ,blank 
+0x5265 009060 copy timeup ,pdata 
+0x5266 009061 store 2 ,mem_rfcomm_remote_cid 
+0x5267 009062 fetch 1 ,mem_rfcomm_state 
+0x5268 009063 set1 l2cap_channel_state_conn_req ,pdata 
+0x5269 009064 set1 l2cap_channel_state_conn_res ,pdata 
+0x526a 009065 store 1 ,mem_rfcomm_state 
+0x526b 009066 branch send_connection_res 
+:      009067 l2cap_proc_signal_connect_req_hid_ctrl:
+0x526c 009068 call save_cont_pointers 
+0x526d 009069 arg l2cap_hid_control_channel ,temp 
+0x526e 009070 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x526f 009071 nbranch already_connected ,blank 
+0x5270 009072 copy timeup ,pdata 
+0x5271 009073 store 2 ,mem_hid_ctrl_remote_cid 
+0x5272 009074 fetch 1 ,mem_hid_control_state 
+0x5273 009075 set1 l2cap_channel_state_conn_req ,pdata 
+0x5274 009076 set1 l2cap_channel_state_conn_res ,pdata 
+0x5275 009077 store 1 ,mem_hid_control_state 
+0x5276 009078 branch send_connection_res 
+:      009079 l2cap_proc_signal_connect_req_hid_int:
+0x5277 009080 call save_cont_pointers 
+0x5278 009081 deposit clke 
+0x5279 009082 arg l2cap_hid_interrupt_channel ,temp 
+0x527a 009083 fetch 2 ,mem_hid_int_remote_cid 
+0x527b 009084 nbranch already_connected ,blank 
+0x527c 009085 copy timeup ,pdata 
+0x527d 009086 store 2 ,mem_hid_int_remote_cid 
+0x527e 009087 fetch 1 ,mem_hid_interrupt_state 
+0x527f 009088 set1 l2cap_channel_state_conn_req ,pdata 
+0x5280 009089 set1 l2cap_channel_state_conn_res ,pdata 
+0x5281 009090 store 1 ,mem_hid_interrupt_state 
+0x5282 009091 branch send_connection_res 
+:      009093 send_connection_pending:
+0x5283 009094 setarg l2cap_connect_pending 
+0x5284 009095 store 2 ,meml2cap_t1 
+0x5285 009096 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+0x5286 009097 branch send_connection_res0 
+:      009098 send_connection_sdp_res:
+0x5287 009099 fetch 1 ,mem_sdp_state 
+0x5288 009100 set1 l2cap_channel_state_conn_req ,pdata 
+0x5289 009101 set1 l2cap_channel_state_conn_res ,pdata 
+0x528a 009102 store 1 ,mem_sdp_state 
+:      009103 send_connection_res:
+0x528b 009104 setarg l2cap_connect_successful 
+0x528c 009105 store 2 ,meml2cap_t1 
+:      009106 send_connection_res0:
+0x528d 009107 bpatch patch19_1 ,mem_patch19 
+0x528e 009108 call load_cont_pointers 
+0x528f 009109 setarg signal_connect_rsp 
+0x5290 009110 istore 1 ,contw 
+0x5291 009111 copy queue ,pdata 
+0x5292 009112 istore 1 ,contw 
+0x5293 009113 setarg 0x0008 
+0x5294 009114 istore 2 ,contw 
+0x5295 009115 copy temp ,pdata 
+0x5296 009116 istore 2 ,contw 
+0x5297 009117 copy timeup ,pdata 
+0x5298 009118 istore 2 ,contw 
+0x5299 009119 fetch 2 ,meml2cap_t1 
+0x529a 009120 beq l2cap_connect_pending ,connect_pending 
+0x529b 009121 isolate0 0 ,debug 
+0x529c 009122 branch connect_suc ,true 
+0x529d 009123 setarg l2cap_connect_refused_no_resources 
+:      009124 connect_suc:
+0x529e 009125 istore 2 ,contw 
+0x529f 009126 force 0x0000 ,pdata 
+0x52a0 009127 istore 2 ,contw 
+0x52a1 009128 setarg 12 
+0x52a2 009129 branch connect_req_update_byte_counts 
+:      009130 connect_pending:
+0x52a3 009131 istore 2 ,contw 
+0x52a4 009132 force 0x0002 ,pdata 
+0x52a5 009133 istore 2 ,contw 
+0x52a6 009134 setarg 12 
+0x52a7 009135 branch connect_req_update_byte_counts 
+:      009137 already_connected:
+0x52a8 009138 set1 0 ,debug 
+0x52a9 009139 branch send_connection_res 
+:      009140 connect_req_update_byte_counts:
+0x52aa 009141 iadd regb ,regb 
+0x52ab 009142 copy regc ,pdata 
+0x52ac 009143 isub rega ,regc 
+0x52ad 009144 branch l2cap_proc_signal_connect_req_rtn 
+:      009145 l2cap_proc_signal_connect_req_rtn:
+0x52ae 009146 branch l2cap_process_one_signal_rtn 
+:      009148 l2cap_proc_signal_connect_rsp:
+0x52af 009149 ifetch 1 ,contr 
+0x52b0 009150 copy pdata ,queue 
+0x52b1 009151 ifetch 2 ,contr 
+0x52b2 009152 copy pdata ,rega 
+0x52b3 009153 copy regc ,pdata 
+0x52b4 009154 isub rega ,regc 
+0x52b5 009155 ifetch 2 ,contr 
+0x52b6 009156 copy pdata ,timeup 
+0x52b7 009157 ifetch 2 ,contr 
+0x52b8 009158 copy pdata ,temp 
+0x52b9 009159 bpatch patch19_2 ,mem_patch19 
+0x52ba 009160 setarg l2cap_sdp_channel 
+0x52bb 009161 isub temp ,null 
+0x52bc 009162 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+0x52bd 009163 setarg l2cap_rfcomm_channel 
+0x52be 009164 isub temp ,null 
+0x52bf 009165 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x52c0 009166 setarg l2cap_hid_control_channel 
+0x52c1 009167 isub temp ,null 
+0x52c2 009168 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x52c3 009169 setarg l2cap_hid_interrupt_channel 
+0x52c4 009170 isub temp ,null 
+0x52c5 009171 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x52c6 009172 rtn 
+:      009174 l2cap_proc_signal_connect_rsp_sdp:
+0x52c7 009175 copy timeup ,pdata 
+0x52c8 009176 store 2 ,mem_sdp_remote_cid 
+0x52c9 009177 fetch 1 ,mem_sdp_state 
+0x52ca 009178 set1 l2cap_channel_state_conn_res ,pdata 
+0x52cb 009179 store 1 ,mem_sdp_state 
+0x52cc 009180 branch l2cap_process_one_signal_rtn 
+:      009181 l2cap_proc_signal_connect_rsp_rfcomm:
+0x52cd 009182 copy timeup ,pdata 
+0x52ce 009183 store 2 ,mem_rfcomm_remote_cid 
+0x52cf 009184 fetch 1 ,mem_rfcomm_state 
+0x52d0 009185 set1 l2cap_channel_state_conn_res ,pdata 
+0x52d1 009186 store 1 ,mem_rfcomm_state 
+0x52d2 009187 rtn 
+:      009188 l2cap_proc_signal_connect_rsp_hid_int:
+0x52d3 009189 copy timeup ,pdata 
+0x52d4 009190 store 2 ,mem_hid_ctrl_remote_cid 
+0x52d5 009191 fetch 1 ,mem_hid_interrupt_state 
+0x52d6 009192 set1 l2cap_channel_state_conn_res ,pdata 
+0x52d7 009193 store 1 ,mem_hid_interrupt_state 
+0x52d8 009194 rtn 
+:      009195 l2cap_proc_signal_connect_rsp_hid_ctrl:
+0x52d9 009196 copy timeup ,pdata 
+0x52da 009197 store 2 ,mem_hid_int_remote_cid 
+0x52db 009198 fetch 1 ,mem_hid_control_state 
+0x52dc 009199 set1 l2cap_channel_state_conn_res ,pdata 
+0x52dd 009200 store 1 ,mem_hid_control_state 
+0x52de 009201 rtn 
+:      009203 l2cap_proc_signal_config_req:
+0x52df 009204 ifetch 1 ,contr 
+0x52e0 009205 copy pdata ,queue 
+0x52e1 009206 ifetch 2 ,contr 
+0x52e2 009207 copy pdata ,rega 
+0x52e3 009208 copy regc ,pdata 
+0x52e4 009209 isub rega ,regc 
+0x52e5 009210 ifetch 2 ,contr 
+0x52e6 009211 copy pdata ,temp 
+0x52e7 009212 copy temp ,rega 
+0x52e8 009213 bpatch patch19_3 ,mem_patch19 
+0x52e9 009214 setarg l2cap_sdp_channel 
+0x52ea 009215 isub temp ,null 
+0x52eb 009216 branch l2cap_proc_signal_config_req_sdp ,zero 
+0x52ec 009217 setarg l2cap_rfcomm_channel 
+0x52ed 009218 isub temp ,null 
+0x52ee 009219 branch l2cap_proc_signal_config_req_rfcomm ,zero 
+0x52ef 009220 setarg l2cap_hid_control_channel 
+0x52f0 009221 isub temp ,null 
+0x52f1 009222 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x52f2 009223 setarg l2cap_hid_interrupt_channel 
+0x52f3 009224 isub temp ,null 
+0x52f4 009225 branch l2cap_proc_signal_config_req_hid_int ,zero 
+0x52f5 009226 branch l2cap_reject_command 
+:      009228 l2cap_proc_signal_config_req_sdp:
+0x52f6 009229 copy contw ,timeup 
+0x52f7 009230 fetch 1 ,mem_sdp_state 
+0x52f8 009231 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x52f9 009232 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x52fa 009234 store 1 ,mem_sdp_state 
+0x52fb 009235 copy timeup ,contw 
+0x52fc 009236 arg l2cap_sdp_channel ,timeup 
+0x52fd 009237 fetch 2 ,mem_sdp_remote_cid 
+0x52fe 009238 copy pdata ,temp 
+0x52ff 009239 branch l2cap_send_config_rsp 
+:      009240 l2cap_proc_signal_config_req_hid_ctrl:
+0x5300 009241 copy contw ,timeup 
+0x5301 009242 fetch 1 ,mem_hid_control_state 
+0x5302 009243 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x5303 009244 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x5304 009246 store 1 ,mem_hid_control_state 
+0x5305 009247 copy timeup ,contw 
+0x5306 009248 arg l2cap_hid_control_channel ,timeup 
+0x5307 009249 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5308 009250 copy pdata ,temp 
+0x5309 009251 branch l2cap_send_config_rsp 
+:      009252 l2cap_proc_signal_config_req_hid_int:
+0x530a 009253 copy contw ,timeup 
+0x530b 009254 fetch 1 ,mem_hid_interrupt_state 
+0x530c 009255 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x530d 009256 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x530e 009258 store 1 ,mem_hid_interrupt_state 
+0x530f 009259 copy timeup ,contw 
+0x5310 009260 arg l2cap_hid_interrupt_channel ,timeup 
+0x5311 009261 fetch 2 ,mem_hid_int_remote_cid 
+0x5312 009262 copy pdata ,temp 
+0x5313 009263 branch l2cap_send_config_rsp 
+:      009264 l2cap_proc_signal_config_req_rfcomm:
+0x5314 009265 copy contw ,timeup 
+0x5315 009266 fetch 1 ,mem_rfcomm_state 
+0x5316 009267 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x5317 009268 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x5318 009270 store 1 ,mem_rfcomm_state 
+0x5319 009272 copy timeup ,contw 
+0x531a 009273 arg l2cap_rfcomm_channel ,timeup 
+0x531b 009274 fetch 2 ,mem_rfcomm_remote_cid 
+0x531c 009275 copy pdata ,temp 
+:      009276 l2cap_send_config_rsp:
+0x531d 009277 bpatch patch19_4 ,mem_patch19 
+0x531e 009278 setarg signal_config_rsp 
+0x531f 009279 istore 1 ,contw 
+0x5320 009280 copy queue ,pdata 
+0x5321 009281 istore 1 ,contw 
+0x5322 009282 setarg 0x0006 
+0x5323 009283 istore 2 ,contw 
+0x5324 009284 copy temp ,pdata 
+0x5325 009285 istore 2 ,contw 
+0x5326 009286 force 0x00 ,pdata 
+0x5327 009287 istore 2 ,contw 
+0x5328 009288 force l2cap_config_success ,pdata 
+0x5329 009289 istore 2 ,contw 
+0x532a 009290 force 10 ,pdata 
+0x532b 009291 iadd regb ,regb 
+0x532c 009293 storet 2 ,mem_config_req_dest_cid 
+0x532d 009294 copy queue ,pdata 
+0x532e 009295 store 1 ,mem_config_identifier 
+0x532f 009296 force l2cap_sdp_channel ,pdata 
+0x5330 009297 icompare 0xff ,timeup 
+0x5331 009298 branch l2cap_send_config_rsp_is_sdp ,true 
+0x5332 009299 increase 1 ,pdata 
+:      009300 l2cap_send_config_rsp_is_sdp:
+0x5333 009302 rtn 
+:      009303 l2cap_check_channel_state:
+0x5334 009304 disable user 
+0x5335 009305 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x5336 009306 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+0x5337 009307 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+0x5338 009308 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x5339 009309 copy contr ,contw 
+0x533a 009310 increase -1 ,contw 
+0x533b 009311 istore 1 ,contw 
+0x533c 009312 enable user 
+0x533d 009313 rtn 
+:      009314 l2cap_send_config_req:
+:      009315 l2cap_send_config_req_sdp:
+0x533e 009316 fetch 1 ,mem_sdp_state 
+0x533f 009317 call l2cap_check_channel_state 
+0x5340 009318 nbranch l2cap_send_config_req_rfcomm ,user 
+0x5341 009319 jam l2cap_sdp_channel ,mem_send_config_req 
+0x5342 009320 fetch 2 ,mem_sdp_remote_cid 
+0x5343 009321 store 2 ,mem_config_req_dest_cid 
+0x5344 009322 branch l2cap_generate_config_req 
+:      009323 l2cap_send_config_req_rfcomm:
+0x5345 009324 fetch 1 ,mem_rfcomm_state 
+0x5346 009325 call l2cap_check_channel_state 
+0x5347 009326 nbranch l2cap_send_config_req_hid_ctrl ,user 
+0x5348 009327 jam l2cap_rfcomm_channel ,mem_send_config_req 
+0x5349 009328 fetch 2 ,mem_rfcomm_remote_cid 
+0x534a 009329 store 2 ,mem_config_req_dest_cid 
+0x534b 009330 branch l2cap_generate_config_req 
+:      009331 l2cap_send_config_req_hid_ctrl:
+0x534c 009332 fetch 1 ,mem_hid_control_state 
+0x534d 009333 call l2cap_check_channel_state 
+0x534e 009334 nbranch l2cap_send_config_req_hid_int ,user 
+0x534f 009335 jam l2cap_hid_control_channel ,mem_send_config_req 
+0x5350 009336 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5351 009337 store 2 ,mem_config_req_dest_cid 
+0x5352 009338 branch l2cap_generate_config_req 
+:      009339 l2cap_send_config_req_hid_int:
+0x5353 009340 fetch 1 ,mem_hid_interrupt_state 
+0x5354 009341 call l2cap_check_channel_state 
+0x5355 009342 nrtn user 
+0x5356 009343 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+0x5357 009344 fetch 2 ,mem_hid_int_remote_cid 
+0x5358 009345 store 2 ,mem_config_req_dest_cid 
+:      009348 l2cap_generate_config_req:
+0x5359 009349 bpatch patch19_5 ,mem_patch19 
+0x535a 009350 call l2cap_get_req_id 
+0x535b 009351 call l2cap_malloc_signal_channel 
+0x535c 009352 force 0 ,regb 
+0x535d 009353 call l2cap_get_signal_tx_payload 
+0x535e 009354 force signal_config_req ,pdata 
+0x535f 009355 istore 1 ,contw 
+0x5360 009356 fetch 1 ,mem_ml2cap_comm_id 
+0x5361 009357 istore 1 ,contw 
+0x5362 009358 setarg 0x0008 
+0x5363 009359 istore 2 ,contw 
+0x5364 009360 fetch 2 ,mem_config_req_dest_cid 
+0x5365 009361 istore 2 ,contw 
+0x5366 009362 setarg 0x0000 
+0x5367 009363 istore 2 ,contw 
+0x5368 009364 force 1 ,pdata 
+0x5369 009365 istore 1 ,contw 
+0x536a 009366 force 2 ,pdata 
+0x536b 009367 istore 1 ,contw 
+0x536c 009368 fetch 1 ,mem_send_config_req 
+0x536d 009369 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+0x536e 009370 setarg l2cap_config_mtu_sdp 
+0x536f 009371 istore 2 ,contw 
+0x5370 009372 branch l2cap_generate_config_req_done 
+:      009373 l2cap_generate_config_req_rfcomm:
+0x5371 009374 setarg l2cap_config_mtu_rfcomm 
+0x5372 009375 istore 2 ,contw 
+:      009376 l2cap_generate_config_req_done:
+0x5373 009377 arg 0x0c ,temp 
+0x5374 009378 storet 2 ,mem_l2cap_signal_tx_length 
+0x5375 009379 call l2cap_get_signal_tx_buff 
+0x5376 009380 fetch 2 ,mem_l2cap_signal_tx_length 
+0x5377 009381 istore 2 ,contw 
+0x5378 009382 force l2cap_signal_channel ,pdata 
+0x5379 009383 istore 2 ,contw 
+0x537a 009384 jam 0 ,mem_send_config_req 
+:      009385 l2cap_proc_signal_config_req_rtn:
+0x537b 009386 branch l2cap_process_one_signal_rtn 
+:      009388 l2cap_proc_signal_config_rsp:
+0x537c 009389 increase 1 ,contr 
+0x537d 009390 ifetch 2 ,contr 
+0x537e 009391 copy pdata ,rega 
+0x537f 009392 copy regc ,pdata 
+0x5380 009393 isub rega ,regc 
+0x5381 009394 ifetch 2 ,contr 
+0x5382 009395 copy pdata ,rega 
+0x5383 009396 bpatch patch19_6 ,mem_patch19 
+0x5384 009397 setarg l2cap_sdp_channel 
+0x5385 009398 isub rega ,null 
+0x5386 009399 branch l2cap_proc_signal_config_rsp_sdp ,zero 
+0x5387 009400 setarg l2cap_rfcomm_channel 
+0x5388 009401 isub rega ,null 
+0x5389 009402 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x538a 009403 setarg l2cap_hid_control_channel 
+0x538b 009404 isub rega ,null 
+0x538c 009405 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x538d 009406 setarg l2cap_hid_interrupt_channel 
+0x538e 009407 isub rega ,null 
+0x538f 009408 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+0x5390 009409 increase 2 ,contr 
+0x5391 009410 ifetch 2 ,contr 
+0x5392 009411 iforce null 
+0x5393 009412 branch l2cap_process_one_signal_rtn 
+:      009413 l2cap_proc_signal_config_rsp_sdp:
+0x5394 009414 fetch 1 ,mem_sdp_state 
+0x5395 009415 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x5396 009416 store 1 ,mem_sdp_state 
+0x5397 009417 branch l2cap_process_one_signal_rtn 
+:      009418 l2cap_proc_signal_config_rsp_rfcomm:
+0x5398 009419 fetch 1 ,mem_rfcomm_state 
+0x5399 009420 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x539a 009421 store 1 ,mem_rfcomm_state 
+0x539b 009422 branch l2cap_process_one_signal_rtn 
+:      009423 l2cap_proc_signal_config_rsp_hid_ctrl:
+0x539c 009424 fetch 1 ,mem_hid_control_state 
+0x539d 009425 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x539e 009426 store 1 ,mem_hid_control_state 
+0x539f 009427 branch l2cap_process_one_signal_rtn 
+:      009428 l2cap_proc_signal_config_rsp_hid_int:
+0x53a0 009429 fetch 1 ,mem_hid_interrupt_state 
+0x53a1 009430 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x53a2 009431 store 1 ,mem_hid_interrupt_state 
+0x53a3 009432 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x53a4 009433 branch ui_ipc_send_event 
+:      009437 l2cap_proc_signal_disconnect_req:
+0x53a5 009438 ifetch 1 ,contr 
+0x53a6 009439 copy pdata ,queue 
+0x53a7 009440 ifetch 2 ,contr 
+0x53a8 009441 copy pdata ,rega 
+0x53a9 009442 copy regc ,pdata 
+0x53aa 009443 isub rega ,regc 
+0x53ab 009444 ifetch 2 ,contr 
+0x53ac 009445 copy pdata ,rega 
+0x53ad 009446 ifetch 2 ,contr 
+0x53ae 009447 copy pdata ,timeup 
+0x53af 009448 copy rega ,temp 
+0x53b0 009449 call save_cont_pointers 
+0x53b1 009450 bpatch patch19_7 ,mem_patch19 
+0x53b2 009451 setarg l2cap_sdp_channel 
+0x53b3 009452 isub temp ,null 
+0x53b4 009453 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+0x53b5 009454 setarg l2cap_rfcomm_channel 
+0x53b6 009455 isub temp ,null 
+0x53b7 009456 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+0x53b8 009457 setarg l2cap_hid_control_channel 
+0x53b9 009458 isub temp ,null 
+0x53ba 009459 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+0x53bb 009460 setarg l2cap_hid_interrupt_channel 
+0x53bc 009461 isub temp ,null 
+0x53bd 009462 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+0x53be 009463 call l2cap_reject_command 
+0x53bf 009464 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009465 l2cap_proc_signal_disconnect_req_hid_ctrl:
+0x53c0 009466 copy timeup ,temp 
+0x53c1 009467 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x53c2 009468 isub temp ,null 
+0x53c3 009469 branch l2cap_disconnect_hid_control_now ,zero 
+0x53c4 009470 call l2cap_reject_command 
+0x53c5 009471 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009472 l2cap_proc_signal_disconnect_req_hid_int:
+0x53c6 009473 copy timeup ,temp 
+0x53c7 009474 fetch 2 ,mem_hid_int_remote_cid 
+0x53c8 009475 isub temp ,null 
+0x53c9 009476 branch l2cap_disconnect_hid_interrupt_now ,zero 
+0x53ca 009477 call l2cap_reject_command 
+0x53cb 009478 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009480 l2cap_proc_signal_disconnect_req_sdp:
+0x53cc 009481 copy timeup ,temp 
+0x53cd 009482 fetch 2 ,mem_sdp_remote_cid 
+0x53ce 009483 isub temp ,null 
+0x53cf 009484 branch l2cap_disconnect_sdp_now ,zero 
+0x53d0 009485 call l2cap_reject_command 
+0x53d1 009486 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009487 l2cap_disconnect_hid_control_now:
+0x53d2 009488 call l2cap_reset_hid_ctrl_state 
+0x53d3 009489 branch l2cap_send_disconnect_rsp_pkt 
+:      009490 l2cap_disconnect_hid_interrupt_now:
+0x53d4 009491 call l2cap_reset_hid_int_state 
+0x53d5 009492 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x53d6 009493 branch l2cap_send_disconnect_rsp_pkt ,blank 
+0x53d7 009501 branch l2cap_send_disconnect_rsp_pkt 
+:      009503 l2cap_disconnect_sdp_now:
+0x53d8 009504 call l2cap_reset_sdp_channel_state 
+0x53d9 009505 fetch 1 ,mem_upper_sm_ss 
+0x53da 009506 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+0x53db 009509 branch l2cap_send_disconnect_rsp_pkt 
+:      009510 l2cap_proc_signal_disconnect_req_rfcomm:
+0x53dc 009511 copy timeup ,temp 
+0x53dd 009512 fetch 2 ,mem_rfcomm_remote_cid 
+0x53de 009513 isub temp ,null 
+0x53df 009514 branch l2cap_disconnect_rfcomm_now ,zero 
+0x53e0 009515 call l2cap_reject_command 
+0x53e1 009516 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009517 l2cap_disconnect_rfcomm_now:
+0x53e2 009518 call l2cap_reset_rfcomm_channel_state 
+0x53e3 009519 branch l2cap_send_disconnect_rsp_pkt 
+:      009520 l2cap_send_disconnect_rsp_pkt:
+0x53e4 009521 call load_cont_pointers 
+0x53e5 009522 setarg signal_disconnect_rsp 
+0x53e6 009523 istore 1 ,contw 
+0x53e7 009524 copy queue ,pdata 
+0x53e8 009525 istore 1 ,contw 
+0x53e9 009526 setarg 0x0004 
+0x53ea 009527 istore 2 ,contw 
+0x53eb 009528 copy rega ,pdata 
+0x53ec 009529 istore 2 ,contw 
+0x53ed 009530 copy timeup ,pdata 
+0x53ee 009531 istore 2 ,contw 
+0x53ef 009532 force 8 ,pdata 
+0x53f0 009533 branch l2cap_proc_signal_disconnect_req_rtn 
+:      009534 l2cap_proc_signal_disconnect_req_err_rtn:
+0x53f1 009535 call load_cont_pointers 
+0x53f2 009536 branch l2cap_proc_signal_disconnect_req_rtn 
+:      009537 l2cap_proc_signal_disconnect_req_rtn:
+0x53f3 009538 iadd regb ,regb 
+0x53f4 009539 branch l2cap_process_one_signal_rtn 
+:      009540 l2cap_proc_signal_disconnect_rsp:
+0x53f5 009541 ifetch 1 ,contr 
+0x53f6 009542 copy pdata ,queue 
+0x53f7 009543 ifetch 2 ,contr 
+0x53f8 009544 copy pdata ,rega 
+0x53f9 009545 copy regc ,pdata 
+0x53fa 009546 isub rega ,regc 
+0x53fb 009547 ifetch 2 ,contr 
+0x53fc 009548 copy pdata ,timeup 
+0x53fd 009549 ifetch 2 ,contr 
+0x53fe 009550 copy pdata ,temp 
+0x53ff 009551 call save_cont_pointers 
+0x5400 009552 bpatch patch1a_0 ,mem_patch1a 
+0x5401 009553 setarg l2cap_sdp_channel 
+0x5402 009554 isub temp ,null 
+0x5403 009555 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+0x5404 009556 setarg l2cap_rfcomm_channel 
+0x5405 009557 isub temp ,null 
+0x5406 009558 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+0x5407 009559 setarg l2cap_hid_control_channel 
+0x5408 009560 isub temp ,null 
+0x5409 009561 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+0x540a 009562 setarg l2cap_hid_interrupt_channel 
+0x540b 009563 isub temp ,null 
+0x540c 009564 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+0x540d 009565 call l2cap_reject_command 
+0x540e 009566 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+:      009567 l2cap_proc_signal_disconnect_rsp_sdp:
+0x540f 009568 copy temp ,rega 
+0x5410 009569 copy timeup ,temp 
+0x5411 009570 fetch 2 ,mem_sdp_remote_cid 
+0x5412 009571 isub temp ,null 
+0x5413 009572 call l2cap_reset_sdp_channel_state ,zero 
+0x5414 009573 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009574 l2cap_proc_signal_disconnect_rsp_rfcomm:
+0x5415 009575 copy temp ,rega 
+0x5416 009576 copy timeup ,temp 
+0x5417 009577 fetch 2 ,mem_rfcomm_remote_cid 
+0x5418 009578 isub temp ,null 
+0x5419 009579 call l2cap_reset_rfcomm_channel_state ,zero 
+0x541a 009580 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009581 l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+0x541b 009582 copy temp ,rega 
+0x541c 009583 copy timeup ,temp 
+0x541d 009584 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x541e 009585 isub temp ,null 
+0x541f 009586 call l2cap_reset_hid_ctrl_state ,zero 
+0x5420 009587 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009588 l2cap_proc_signal_disconnect_rsp_hid_int:
+0x5421 009589 copy temp ,rega 
+0x5422 009590 copy timeup ,temp 
+0x5423 009591 fetch 2 ,mem_hid_int_remote_cid 
+0x5424 009592 isub temp ,null 
+0x5425 009593 call l2cap_reset_hid_int_state ,zero 
+0x5426 009594 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009595 l2cap_proc_signal_disconnect_rsp_rtn:
+0x5427 009596 call load_cont_pointers 
+0x5428 009597 branch l2cap_process_one_signal_rtn 
+:      009598 l2cap_proc_signal_disconnect_rsp_err_rtn:
+0x5429 009599 branch l2cap_process_one_signal_rtn 
+:      009602 l2cap_proc_signal_echo_req:
+0x542a 009603 ifetch 1 ,contr 
+0x542b 009604 copy pdata ,queue 
+0x542c 009605 ifetch 2 ,contr 
+0x542d 009606 copy pdata ,rega 
+0x542e 009607 iadd contr ,contr 
+0x542f 009608 setarg 9 
+0x5430 009609 istore 1 ,contw 
+0x5431 009610 copy queue ,pdata 
+0x5432 009611 istore 1 ,contw 
+0x5433 009612 force 0x0000 ,pdata 
+0x5434 009613 istore 2 ,contw 
+0x5435 009614 force 4 ,pdata 
+0x5436 009615 iadd regb ,regb 
+0x5437 009616 copy regc ,pdata 
+0x5438 009617 isub rega ,regc 
+0x5439 009618 branch l2cap_process_one_signal_rtn 
+:      009619 l2cap_proc_signal_echo_rsp:
+0x543a 009620 branch l2cap_process_one_signal_rtn 
+:      009622 l2cap_proc_signal_info_rsp:
+0x543b 009623 branch l2cap_process_one_signal_rtn 
+:      009624 l2cap_reject_command:
+0x543c 009625 force 0 ,regb 
+0x543d 009626 call l2cap_get_signal_tx_payload 
+0x543e 009627 setarg signal_cmd_reject 
+0x543f 009628 istore 1 ,contw 
+0x5440 009629 copy queue ,pdata 
+0x5441 009630 istore 1 ,contw 
+0x5442 009631 setarg 2 
+0x5443 009632 istore 2 ,contw 
+0x5444 009633 setarg cmd_not_understood 
+0x5445 009634 istore 2 ,contw 
+0x5446 009635 increase 6 ,regb 
+0x5447 009636 arg 4 ,regc 
+0x5448 009637 branch l2cap_process_one_signal_rtn 
+:      009641 l2cap_reset_rfcomm_channel_state:
+0x5449 009642 setarg 0 
+0x544a 009643 store 2 ,mem_rfcomm_tx_pkt_length 
+0x544b 009644 store 2 ,mem_rfcomm_remote_cid 
+0x544c 009645 jam 0 ,mem_rfcomm_state 
+0x544d 009646 rtn 
+:      009647 l2cap_reset_sdp_channel_state:
+0x544e 009648 setarg 0 
+0x544f 009649 store 2 ,mem_sdp_tx_pkt_length 
+0x5450 009650 store 2 ,mem_sdp_remote_cid 
+0x5451 009651 jam 0 ,mem_sdp_state 
+0x5452 009652 rtn 
+:      009653 l2cap_reset_hid_ctrl_state:
+0x5453 009654 setarg 0 
+0x5454 009655 store 2 ,mem_hid_ctrl_remote_cid 
+0x5455 009656 jam 0 ,mem_hid_control_state 
+0x5456 009657 fetch 1 ,mem_hid_interrupt_state 
+0x5457 009658 beq 0 ,l2cap_reset_hid_disconnected 
+0x5458 009659 rtn 
+:      009661 l2cap_reset_hid_int_state:
+0x5459 009662 setarg 0 
+0x545a 009663 store 2 ,mem_hid_int_remote_cid 
+0x545b 009664 jam 0 ,mem_hid_interrupt_state 
+0x545c 009665 fetch 1 ,mem_hid_control_state 
+0x545d 009666 beq 0 ,l2cap_reset_hid_disconnected 
+0x545e 009667 rtn 
+:      009669 l2cap_reset_hid_disconnected:
+0x545f 009670 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+0x5460 009671 branch ui_ipc_send_event 
+:      009673 l2cap_disconnect_interrupt_req:
+0x5461 009674 fetch 1 ,mem_control_tasks 
+0x5462 009675 set0 l2cap_disconnect_interrupt ,pdata 
+0x5463 009676 store 1 ,mem_control_tasks 
+0x5464 009677 fetch 2 ,mem_hid_int_remote_cid 
+0x5465 009678 rtn blank 
+0x5466 009679 call l2cap_malloc_signal_channel 
+0x5467 009680 fetch 2 ,mem_hid_int_remote_cid 
+0x5468 009681 copy pdata ,rega 
+0x5469 009682 force l2cap_hid_interrupt_channel ,regb 
+0x546a 009683 branch l2cap_generate_disconnect_req 
+:      009684 l2cap_disconnect_control_req:
+0x546b 009685 fetch 1 ,mem_control_tasks 
+0x546c 009686 set0 l2cap_disconnect_control ,pdata 
+0x546d 009687 store 1 ,mem_control_tasks 
+0x546e 009688 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x546f 009689 rtn blank 
+0x5470 009690 call l2cap_malloc_signal_channel 
+0x5471 009691 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5472 009692 copy pdata ,rega 
+0x5473 009693 force l2cap_hid_control_channel ,regb 
+:      009694 l2cap_generate_disconnect_req:
+0x5474 009695 call l2cap_get_req_id 
+0x5475 009696 call l2cap_get_signal_tx_payload 
+0x5476 009697 force signal_disconnect_req ,pdata 
+0x5477 009698 istore 1 ,contw 
+0x5478 009699 fetch 1 ,mem_ml2cap_comm_id 
+0x5479 009700 istore 1 ,contw 
+0x547a 009701 setarg 0x0004 
+0x547b 009702 istore 2 ,contw 
+0x547c 009703 copy rega ,pdata 
+0x547d 009704 istore 2 ,contw 
+0x547e 009705 copy regb ,pdata 
+0x547f 009706 istore 2 ,contw 
+0x5480 009707 force 0x08 ,temp 
+0x5481 009708 branch ml2cap_send_signal 
+:      009710 ml2cap_send_signal_connect_req:
+0x5482 009711 bpatch patch1a_1 ,mem_patch1a 
+0x5483 009712 call l2cap_get_req_id 
+0x5484 009713 call l2cap_get_signal_tx_payload 
+0x5485 009714 setarg signal_connect_req 
+0x5486 009715 istore 1 ,contw 
+0x5487 009716 fetch 1 ,mem_ml2cap_comm_id 
+0x5488 009717 istore 1 ,contw 
+0x5489 009718 setarg 0x0004 
+0x548a 009719 istore 2 ,contw 
+0x548b 009720 copy temp ,pdata 
+0x548c 009721 istore 2 ,contw 
+0x548d 009722 copy timeup ,pdata 
+0x548e 009723 istore 2 ,contw 
+0x548f 009724 arg 8 ,temp 
+0x5490 009725 branch ml2cap_send_signal 
+:      009726 ml2cap_send_signal_config_req:
+0x5491 009727 bpatch patch1a_2 ,mem_patch1a 
+0x5492 009728 call l2cap_get_req_id 
+0x5493 009729 call l2cap_get_signal_tx_payload 
+0x5494 009730 setarg signal_config_req 
+0x5495 009731 istore 1 ,contw 
+0x5496 009732 fetch 1 ,mem_ml2cap_comm_id 
+0x5497 009733 istore 1 ,contw 
+0x5498 009734 setarg 0x0008 
+0x5499 009735 istore 2 ,contw 
+0x549a 009737 copy temp ,pdata 
+0x549b 009739 istore 2 ,contw 
+0x549c 009740 setarg 0x0000 
+0x549d 009741 istore 2 ,contw 
+0x549e 009742 setarg 0x01 
+0x549f 009743 istore 1 ,contw 
+0x54a0 009744 setarg 0x02 
+0x54a1 009745 istore 1 ,contw 
+0x54a2 009746 setarg l2cap_config_mtu_rfcomm 
+0x54a3 009747 istore 2 ,contw 
+0x54a4 009748 arg 0xc ,temp 
+0x54a5 009749 branch ml2cap_send_signal 
+:      009750 ml2cap_send_signal_disconn_req:
+0x54a6 009751 bpatch patch1a_3 ,mem_patch1a 
+0x54a7 009752 call l2cap_get_req_id 
+0x54a8 009753 call l2cap_get_signal_tx_payload 
+0x54a9 009754 setarg signal_disconnect_req 
+0x54aa 009755 istore 1 ,contw 
+0x54ab 009756 fetch 1 ,mem_ml2cap_comm_id 
+0x54ac 009757 increase 1 ,pdata 
+0x54ad 009758 copy contw ,rega 
+0x54ae 009759 store 1 ,mem_ml2cap_comm_id 
+0x54af 009760 copy rega ,contw 
+0x54b0 009761 istore 1 ,contw 
+0x54b1 009762 setarg 0x0004 
+0x54b2 009763 istore 2 ,contw 
+0x54b3 009764 copy temp ,pdata 
+0x54b4 009765 istore 2 ,contw 
+0x54b5 009766 copy timeup ,pdata 
+0x54b6 009767 istore 2 ,contw 
+0x54b7 009768 arg 0x8 ,temp 
+:      009771 ml2cap_send_signal:
+0x54b8 009772 storet 2 ,mem_l2cap_signal_tx_length 
+0x54b9 009773 copy temp ,pdata 
+0x54ba 009774 branch l2cap_malloc_discard ,blank 
+0x54bb 009775 call l2cap_get_signal_tx_buff 
+0x54bc 009776 fetch 2 ,mem_l2cap_signal_tx_length 
+0x54bd 009777 istore 2 ,contw 
+0x54be 009778 force l2cap_signal_channel ,pdata 
+0x54bf 009779 istore 2 ,contw 
+0x54c0 009780 rtn 
+:      009782 msdp_send_req_done:
+0x54c1 009783 fetch 2 ,mem_sdp_tx_pkt_length 
+0x54c2 009784 branch assert ,blank 
+0x54c3 009785 call l2cap_get_sdp_tx_buff 
+0x54c4 009786 fetch 2 ,mem_sdp_tx_pkt_length 
+0x54c5 009787 istore 2 ,contw 
+0x54c6 009788 fetch 2 ,mem_sdp_remote_cid 
+0x54c7 009789 istore 2 ,contw 
+0x54c8 009790 rtn 
+:      009791 ml2cap_rx_multiplexing:
+0x54c9 009792 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x54ca 009793 branch l2cap_rx_reset_state ,blank 
+0x54cb 009794 bpatch patch1a_4 ,mem_patch1a 
+0x54cc 009795 fetch 1 ,mem_l2cap_rx_cid 
+0x54cd 009796 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+0x54ce 009797 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+0x54cf 009798 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x54d0 009799 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x54d1 009800 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x54d2 009801 branch l2cap_rx_reset_state 
+:      009803 ml2cap_call_proc_signal:
+0x54d3 009804 bpatch patch1a_5 ,mem_patch1a 
+0x54d4 009805 call l2cap_malloc_signal_channel 
+0x54d5 009806 force 0 ,regb 
+0x54d6 009807 call l2cap_get_signal_tx_payload 
+0x54d7 009808 copy pdata ,contw 
+0x54d8 009809 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x54d9 009810 copy pdata ,regc 
+0x54da 009811 fetch 2 ,mem_l2cap_payload_ptr 
+0x54db 009812 iforce contr 
+:      009813 ml2cap_proc_one_comm_loop:
+0x54dc 009814 call ml2cap_proc_one_comm 
+0x54dd 009815 increase -4 ,regc 
+0x54de 009816 nbranch ml2cap_proc_one_comm_loop ,zero 
+0x54df 009817 copy regb ,temp 
+0x54e0 009818 call ml2cap_send_signal 
+0x54e1 009819 branch l2cap_rx_reset_state 
+:      009821 ml2cap_proc_one_comm:
+0x54e2 009822 ifetch 1 ,contr 
+0x54e3 009823 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+0x54e4 009824 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+0x54e5 009825 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+0x54e6 009826 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+0x54e7 009827 beq signal_config_req ,ml2cap_proc_signal_config_req 
+0x54e8 009828 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+0x54e9 009829 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+0x54ea 009830 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x54eb 009831 beq signal_info_req ,ml2cap_proc_signal_info_req 
+0x54ec 009832 branch ml2cap_proc_send_reject 
+:      009834 ml2cap_proc_signal_connect_req:
+0x54ed 009835 call save_cont_pointers 
+0x54ee 009837 call load_cont_pointers 
+0x54ef 009838 branch l2cap_proc_signal_connect_req 
+:      009839 ml2cap_proc_signal_cmd_reject:
+0x54f0 009840 ifetch 1 ,contr 
+0x54f1 009841 copy pdata ,queue 
+0x54f2 009842 ifetch 2 ,contr 
+0x54f3 009843 copy pdata ,rega 
+0x54f4 009844 copy regc ,pdata 
+0x54f5 009845 isub rega ,regc 
+:      009846 mvptr:
+0x54f6 009847 ifetch 1 ,contr 
+0x54f7 009848 increase -1 ,rega 
+0x54f8 009849 nbranch mvptr ,zero 
+0x54f9 009850 rtn 
+:      009851 ml2cap_proc_signal_connect_rsp:
+0x54fa 009852 ifetch 1 ,contr 
+0x54fb 009853 copy pdata ,queue 
+0x54fc 009854 ifetch 2 ,contr 
+0x54fd 009855 copy pdata ,rega 
+0x54fe 009856 ifetch 2 ,contr 
+0x54ff 009857 copy pdata ,timeup 
+0x5500 009858 ifetch 2 ,contr 
+0x5501 009859 copy pdata ,temp 
+0x5502 009860 ifetch 2 ,contr 
+0x5503 009861 sub pdata ,0 ,null 
+0x5504 009862 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+0x5505 009863 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+0x5506 009864 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+0x5507 009865 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+:      009866 ml2cap_proc_signal_connect_refused_result:
+0x5508 009867 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+0x5509 009868 call ui_ipc_send_event 
+:      009869 ml2cap_proc_signal_connect_rsp_mnosucc:
+0x550a 009870 ifetch 2 ,contr 
+0x550b 009871 branch mnosucc 
+:      009872 ml2cap_proc_signal_connect_rsp_sucessful:
+0x550c 009873 call save_cont_pointers 
+0x550d 009877 bpatch patch1a_6 ,mem_patch1a 
+0x550e 009878 setarg l2cap_sdp_channel 
+0x550f 009879 isub temp ,null 
+0x5510 009880 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+0x5511 009881 setarg l2cap_rfcomm_channel 
+0x5512 009882 isub temp ,null 
+0x5513 009883 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x5514 009884 setarg l2cap_hid_interrupt_channel 
+0x5515 009885 isub temp ,null 
+0x5516 009886 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x5517 009887 setarg l2cap_hid_control_channel 
+0x5518 009888 isub temp ,null 
+0x5519 009889 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x551a 009890 branch mnosucc 
+:      009891 ml2cap_proc_signal_connect_rsp_sdp:
+0x551b 009892 copy timeup ,pdata 
+0x551c 009893 store 2 ,mem_sdp_remote_cid 
+0x551d 009894 fetch 1 ,mem_sdp_state 
+0x551e 009895 set1 l2cap_channel_state_conn_res 
+0x551f 009896 store 1 ,mem_sdp_state 
+0x5520 009897 branch mnosucc1 
+:      009898 ml2cap_proc_signal_connect_rsp_rfcomm:
+0x5521 009899 copy timeup ,pdata 
+0x5522 009900 store 2 ,mem_rfcomm_remote_cid 
+0x5523 009901 fetch 1 ,mem_rfcomm_state 
+0x5524 009902 set1 l2cap_channel_state_conn_res 
+0x5525 009903 store 1 ,mem_rfcomm_state 
+0x5526 009904 branch mnosucc1 
+:      009905 ml2cap_proc_signal_connect_rsp_hid_ctrl:
+0x5527 009906 copy timeup ,pdata 
+0x5528 009907 store 2 ,mem_hid_ctrl_remote_cid 
+0x5529 009908 fetch 1 ,mem_hid_control_state 
+0x552a 009909 set1 l2cap_channel_state_conn_res 
+0x552b 009910 store 1 ,mem_hid_control_state 
+0x552c 009911 branch mnosucc1 
+:      009912 ml2cap_proc_signal_connect_rsp_hid_int:
+0x552d 009913 copy timeup ,pdata 
+0x552e 009914 store 2 ,mem_hid_int_remote_cid 
+0x552f 009915 fetch 1 ,mem_hid_interrupt_state 
+0x5530 009916 set1 l2cap_channel_state_conn_res 
+0x5531 009917 store 1 ,mem_hid_interrupt_state 
+:      009920 mnosucc1:
+0x5532 009921 call load_cont_pointers 
+:      009922 mnosucc:
+0x5533 009923 copy regc ,pdata 
+0x5534 009924 isub rega ,regc 
+0x5535 009925 rtn 
+:      009927 ml2cap_proc_signal_config_rsp:
+0x5536 009928 ifetch 1 ,contr 
+0x5537 009929 copy pdata ,queue 
+0x5538 009930 ifetch 2 ,contr 
+0x5539 009931 copy pdata ,rega 
+0x553a 009932 copy regc ,pdata 
+0x553b 009933 isub rega ,regc 
+0x553c 009934 ifetch 2 ,contr 
+0x553d 009935 copy pdata ,timeup 
+0x553e 009936 ifetch 2 ,contr 
+0x553f 009937 ifetch 2 ,contr 
+0x5540 009938 nbranch mcrsdone1 ,blank 
+0x5541 009939 call save_cont_pointers 
+0x5542 009943 copy timeup ,temp 
+0x5543 009944 bpatch patch1a_7 ,mem_patch1a 
+0x5544 009945 setarg l2cap_sdp_channel 
+0x5545 009946 isub temp ,null 
+0x5546 009947 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+0x5547 009948 setarg l2cap_rfcomm_channel 
+0x5548 009949 isub temp ,null 
+0x5549 009950 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x554a 009951 setarg l2cap_hid_control_channel 
+0x554b 009952 isub temp ,null 
+0x554c 009953 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x554d 009954 setarg l2cap_hid_interrupt_channel 
+0x554e 009955 isub temp ,null 
+0x554f 009956 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+:      009957 ml2cap_proc_signal_config_rsp_sdp:
+0x5550 009958 fetch 1 ,mem_sdp_state 
+0x5551 009959 set1 l2cap_channel_state_rcv_cfg_res 
+0x5552 009960 store 1 ,mem_sdp_state 
+0x5553 009961 rtn 
+:      009962 ml2cap_proc_signal_config_rsp_rfcomm:
+0x5554 009963 fetch 1 ,mem_rfcomm_state 
+0x5555 009964 set1 l2cap_channel_state_rcv_cfg_res 
+0x5556 009965 store 1 ,mem_rfcomm_state 
+0x5557 009966 rtn 
+:      009967 ml2cap_proc_signal_config_rsp_hid_ctrl:
+0x5558 009968 fetch 1 ,mem_hid_control_state 
+0x5559 009969 set1 l2cap_channel_state_rcv_cfg_res 
+0x555a 009970 store 1 ,mem_hid_control_state 
+0x555b 009971 rtn 
+:      009972 ml2cap_proc_signal_config_rsp_hid_int:
+0x555c 009973 fetch 1 ,mem_hid_interrupt_state 
+0x555d 009974 set1 l2cap_channel_state_rcv_cfg_res 
+0x555e 009975 store 1 ,mem_hid_interrupt_state 
+0x555f 009976 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x5560 009977 branch ui_ipc_send_event 
+:      009980 mcfrsdone:
+0x5561 009981 call load_cont_pointers 
+:      009982 mcrsdone1:
+0x5562 009983 increase -6 ,rega 
+:      009984 mloop2:
+0x5563 009985 branch mcrsdone ,zero 
+0x5564 009986 increase 1 ,contr 
+0x5565 009987 increase -1 ,rega 
+0x5566 009988 branch mloop2 
+:      009989 mcrsdone:
+0x5567 009990 rtn 
+:      009991 ml2cap_proc_signal_config_req:
+0x5568 009992 ifetch 1 ,contr 
+0x5569 009993 copy pdata ,queue 
+0x556a 009994 ifetch 2 ,contr 
+0x556b 009995 copy pdata ,rega 
+0x556c 009996 copy regc ,pdata 
+0x556d 009997 isub rega ,regc 
+0x556e 009998 ifetch 2 ,contr 
+0x556f 009999 increase 2 ,contr 
+0x5570 010000 copy pdata ,temp 
+0x5571 010001 setarg signal_config_rsp 
+0x5572 010002 istore 1 ,contw 
+0x5573 010003 copy queue ,pdata 
+0x5574 010004 istore 1 ,contw 
+0x5575 010005 increase 2 ,rega 
+0x5576 010006 copy rega ,pdata 
+0x5577 010007 istore 2 ,contw 
+0x5578 010008 call save_cont_pointers 
+0x5579 010009 bpatch patch1b_0 ,mem_patch1b 
+0x557a 010010 setarg l2cap_sdp_channel 
+0x557b 010011 isub temp ,null 
+0x557c 010012 branch ml2cap_proc_signal_config_req_sdp ,zero 
+0x557d 010013 setarg l2cap_rfcomm_channel 
+0x557e 010014 isub temp ,null 
+0x557f 010015 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+0x5580 010016 setarg l2cap_hid_control_channel 
+0x5581 010017 isub temp ,null 
+0x5582 010018 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x5583 010019 setarg l2cap_hid_interrupt_channel 
+0x5584 010020 isub temp ,null 
+0x5585 010021 branch ml2cap_proc_signal_config_req_hid_int ,zero 
+0x5586 010022 branch mcfgrq_done 
+:      010023 ml2cap_proc_signal_config_req_sdp:
+0x5587 010024 fetch 1 ,mem_sdp_state 
+0x5588 010025 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x5589 010026 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x558a 010027 store 1 ,mem_sdp_state 
+0x558b 010028 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+0x558c 010029 fetcht 1 ,mem_control_tasks 
+0x558d 010030 set1 l2cap_init_config_req ,temp 
+0x558e 010031 storet 1 ,mem_control_tasks 
+0x558f 010032 copy queue ,pdata 
+0x5590 010033 increase 1 ,pdata 
+0x5591 010034 store 1 ,mem_config_identifier 
+0x5592 010035 fetch 1 ,mem_sdp_state 
+0x5593 010036 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x5594 010037 store 1 ,mem_sdp_state 
+:      010038 ml2cap_proc_signal_config_req_sdp_nsndreq:
+0x5595 010039 fetch 2 ,mem_sdp_remote_cid 
+0x5596 010040 store 2 ,mem_config_req_dest_cid 
+0x5597 010041 branch mcfgrq_done 
+:      010042 ml2cap_proc_signal_config_req_rfcomm:
+0x5598 010043 fetch 1 ,mem_rfcomm_state 
+0x5599 010044 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x559a 010045 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x559b 010046 store 1 ,mem_rfcomm_state 
+0x559c 010047 fetch 2 ,mem_rfcomm_remote_cid 
+0x559d 010048 branch mcfgrq_done 
+:      010049 ml2cap_proc_signal_config_req_hid_ctrl:
+0x559e 010050 fetch 1 ,mem_hid_control_state 
+0x559f 010051 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x55a0 010052 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x55a1 010053 store 1 ,mem_hid_control_state 
+0x55a2 010054 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x55a3 010055 branch mcfgrq_done 
+:      010056 ml2cap_proc_signal_config_req_hid_int:
+0x55a4 010057 fetch 1 ,mem_hid_interrupt_state 
+0x55a5 010058 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x55a6 010059 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x55a7 010060 store 1 ,mem_hid_interrupt_state 
+0x55a8 010061 fetch 2 ,mem_hid_int_remote_cid 
+:      010064 mcfgrq_done:
+0x55a9 010065 copy pdata ,timeup 
+0x55aa 010066 call load_cont_pointers 
+0x55ab 010068 copy timeup ,pdata 
+0x55ac 010070 istore 2 ,contw 
+0x55ad 010071 force 0x0000 ,pdata 
+0x55ae 010072 istore 2 ,contw 
+0x55af 010073 force 0x0000 ,pdata 
+0x55b0 010074 istore 2 ,contw 
+0x55b1 010075 force 10 ,pdata 
+0x55b2 010076 iadd regb ,regb 
+0x55b3 010077 increase -6 ,rega 
+:      010078 mloop1:
+0x55b4 010079 branch mcrqdone ,zero 
+0x55b5 010080 ifetch 1 ,contr 
+0x55b6 010081 istore 1 ,contw 
+0x55b7 010082 increase 1 ,regb 
+0x55b8 010083 increase -1 ,rega 
+0x55b9 010084 branch mloop1 
+:      010085 mcrqdone:
+0x55ba 010086 rtn 
+:      010087 ml2cap_proc_signal_disconn_req:
+0x55bb 010088 ifetch 1 ,contr 
+0x55bc 010089 copy pdata ,queue 
+0x55bd 010090 ifetch 2 ,contr 
+0x55be 010091 copy pdata ,rega 
+0x55bf 010092 copy regc ,pdata 
+0x55c0 010093 isub rega ,regc 
+0x55c1 010095 ifetch 2 ,contr 
+0x55c2 010096 copy pdata ,rega 
+0x55c3 010097 ifetch 2 ,contr 
+0x55c4 010098 copy pdata ,timeup 
+0x55c5 010099 call save_cont_pointers 
+0x55c6 010100 bpatch patch1b_1 ,mem_patch1b 
+0x55c7 010101 setarg l2cap_sdp_channel 
+0x55c8 010102 copy rega ,temp 
+0x55c9 010103 isub temp ,null 
+0x55ca 010104 branch ml2cap_proc_signal_disconn_sdp ,zero 
+0x55cb 010105 setarg l2cap_hid_control_channel 
+0x55cc 010106 copy rega ,temp 
+0x55cd 010107 isub temp ,null 
+0x55ce 010108 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+0x55cf 010109 setarg l2cap_hid_interrupt_channel 
+0x55d0 010110 copy rega ,temp 
+0x55d1 010111 isub temp ,null 
+0x55d2 010112 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+0x55d3 010113 branch mclsrfc 
+:      010114 ml2cap_proc_signal_disconn_sdp:
+0x55d4 010115 setarg 0x0000 
+0x55d5 010116 store 2 ,mem_sdp_tx_pkt_length 
+0x55d6 010117 store 2 ,mem_sdp_remote_cid 
+0x55d7 010118 store 1 ,mem_sdp_state 
+0x55d8 010119 branch mclssdp 
+:      010120 ml2cap_proc_signal_disconn_hid_ctrl:
+0x55d9 010121 call l2cap_reset_hid_ctrl_state 
+0x55da 010122 branch mclssdp 
+:      010123 ml2cap_proc_signal_disconn_hid_int:
+0x55db 010124 call l2cap_reset_hid_int_state 
+0x55dc 010130 branch mclssdp 
+:      010131 mclsrfc:
+0x55dd 010132 setarg 0x0000 
+0x55de 010133 store 2 ,mem_rfcomm_tx_pkt_length 
+:      010134 mclssdp:
+0x55df 010135 call load_cont_pointers 
+0x55e0 010136 setarg signal_disconnect_rsp 
+0x55e1 010137 istore 1 ,contw 
+0x55e2 010138 copy queue ,pdata 
+0x55e3 010139 istore 1 ,contw 
+0x55e4 010140 setarg 0x0004 
+0x55e5 010141 istore 2 ,contw 
+0x55e6 010142 copy rega ,pdata 
+0x55e7 010143 istore 2 ,contw 
+0x55e8 010144 copy timeup ,pdata 
+0x55e9 010145 istore 2 ,contw 
+0x55ea 010146 force 8 ,pdata 
+0x55eb 010147 iadd regb ,regb 
+0x55ec 010148 rtn 
+:      010150 ml2cap_proc_signal_disconn_rsp:
+0x55ed 010151 ifetch 1 ,contr 
+0x55ee 010152 copy pdata ,queue 
+0x55ef 010153 ifetch 2 ,contr 
+0x55f0 010154 copy pdata ,rega 
+0x55f1 010155 ifetch 2 ,contr 
+0x55f2 010156 copy pdata ,timeup 
+0x55f3 010157 ifetch 2 ,contr 
+0x55f4 010158 copy pdata ,temp 
+0x55f5 010159 call save_cont_pointers 
+0x55f6 010160 bpatch patch1b_2 ,mem_patch1b 
+0x55f7 010161 fetch 1 ,mem_ml2cap_comm_id 
+0x55f8 010162 icompare 0xff ,queue 
+0x55f9 010163 nbranch mdisdone ,true 
+0x55fa 010164 setarg l2cap_sdp_channel 
+0x55fb 010165 isub temp ,null 
+0x55fc 010166 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+0x55fd 010167 setarg l2cap_rfcomm_channel 
+0x55fe 010168 isub temp ,null 
+0x55ff 010169 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+0x5600 010170 branch mdisdone 
+:      010171 ml2cap_proc_signal_disconn_rsp_sdp:
+0x5601 010172 jam 0 ,mem_sdp_remote_cid 
+0x5602 010173 jam 0 ,mem_sdp_state 
+0x5603 010174 branch mdisdone 
+:      010175 ml2cap_proc_signal_disconn_rsp_rfcomm:
+:      010178 mdisdone:
+0x5604 010179 call load_cont_pointers 
+0x5605 010180 copy regc ,pdata 
+0x5606 010181 isub rega ,regc 
+0x5607 010182 rtn 
+:      010184 ml2cap_proc_send_reject:
+0x5608 010185 setarg signal_cmd_reject 
+0x5609 010186 istore 1 ,contw 
+0x560a 010187 ifetch 1 ,contr 
+0x560b 010188 istore 1 ,contw 
+0x560c 010189 setarg 0x0002 
+0x560d 010190 istore 2 ,contw 
+0x560e 010191 setarg 0x0000 
+0x560f 010192 istore 2 ,contw 
+0x5610 010193 setarg 0x0006 
+0x5611 010194 iadd regb ,regb 
+0x5612 010195 force 4 ,regc 
+0x5613 010196 rtn 
+:      010199 l2cap_get_req_id:
+0x5614 010200 fetch 1 ,mem_ml2cap_comm_id 
+0x5615 010201 increase 1 ,pdata 
+0x5616 010202 bne 0 ,l2cap_get_req_id_ok 
+0x5617 010203 increase 1 ,pdata 
+:      010204 l2cap_get_req_id_ok:
+0x5618 010205 store 1 ,mem_ml2cap_comm_id 
+0x5619 010206 rtn 
+:      010216 l2cap_malloc:
+0x561a 010217 bpatch patch1b_3 ,mem_patch1b 
+0x561b 010218 arg 0 ,regb 
+0x561c 010219 call l2cap_malloc_is_fifo_full 
+0x561d 010220 nbranch assert ,blank 
+0x561e 010221 call l2cap_malloc_get_full_map 
+0x561f 010222 arg mem_tx_buff0 ,regb 
+0x5620 010223 arg 0 ,queue 
+:      010224 l2cap_malloc_loop:
+0x5621 010225 fetcht 1 ,mem_used_map 
+0x5622 010226 qisolate1 temp 
+0x5623 010227 branch l2cap_malloc_next ,true 
+0x5624 010228 call l2cap_malloc_enough 
+0x5625 010229 sub timeup ,0 ,null 
+0x5626 010230 branch l2cap_malloc_next ,positive 
+0x5627 010231 call l2cap_malloc_into_fifo 
+0x5628 010232 branch l2cap_malloc_rtn 
+:      010233 l2cap_malloc_next:
+0x5629 010234 increase 128 ,regb 
+0x562a 010235 increase 1 ,queue 
+0x562b 010236 setarg 8 
+0x562c 010237 isub queue ,null 
+0x562d 010238 branch l2cap_malloc_loop ,positive 
+0x562e 010239 arg 0 ,regb 
+:      010240 l2cap_malloc_rtn:
+0x562f 010241 copy regb ,pdata 
+0x5630 010242 branch assert ,blank 
+0x5631 010243 rtn 
+:      010251 l2cap_malloc_fifo_out:
+0x5632 010252 bpatch patch1b_4 ,mem_patch1b 
+0x5633 010253 call l2cap_malloc_fifo_get_first_ptr 
+0x5634 010254 increase 1 ,contr 
+0x5635 010255 ifetch 2 ,contr 
+0x5636 010256 rtn 
+:      010262 l2cap_malloc_free:
+0x5637 010263 bpatch patch1b_5 ,mem_patch1b 
+0x5638 010264 call l2cap_malloc_fifo_get_first_ptr 
+0x5639 010265 copy contr ,contw 
+0x563a 010266 copy contr ,temp 
+0x563b 010267 setarg 0 
+0x563c 010268 istore 3 ,contw 
+0x563d 010269 rtn 
+:      010274 l2cap_malloc_discard:
+0x563e 010275 bpatch patch1b_6 ,mem_patch1b 
+0x563f 010276 call l2cap_malloc_is_fifo_empty 
+0x5640 010277 branch assert ,blank 
+0x5641 010278 fetch 3 ,mem_tx_fifo2 
+0x5642 010279 store 3 ,mem_tx_fifo3 
+0x5643 010280 fetch 3 ,mem_tx_fifo1 
+0x5644 010281 store 3 ,mem_tx_fifo2 
+0x5645 010282 fetch 3 ,mem_tx_fifo0 
+0x5646 010283 store 3 ,mem_tx_fifo1 
+0x5647 010284 rtn 
+:      010290 l2cap_malloc_is_fifo_full:
+0x5648 010291 bpatch patch1b_7 ,mem_patch1b 
+0x5649 010292 fetch 3 ,mem_tx_fifo0 
+0x564a 010293 rtn 
+:      010299 l2cap_malloc_is_fifo_nearly_full:
+0x564b 010300 bpatch patch1c_0 ,mem_patch1c 
+0x564c 010301 fetch 3 ,mem_tx_fifo1 
+0x564d 010302 rtn 
+:      010308 l2cap_malloc_is_fifo_empty:
+0x564e 010309 bpatch patch1c_1 ,mem_patch1c 
+0x564f 010310 fetch 3 ,mem_tx_fifo3 
+0x5650 010311 rtn 
+:      010316 l2cap_malloc_fifo_get_first_ptr:
+0x5651 010317 call l2cap_malloc_is_fifo_empty 
+0x5652 010318 branch assert ,blank 
+0x5653 010319 arg mem_tx_fifo0 ,contr 
+:      010320 l2cap_malloc_free_loop:
+0x5654 010321 ifetch 3 ,contr 
+0x5655 010322 branch l2cap_malloc_free_loop ,blank 
+0x5656 010323 increase -3 ,contr 
+0x5657 010324 rtn 
+:      010331 l2cap_malloc_get_full_map:
+0x5658 010332 bpatch patch1c_2 ,mem_patch1c 
+0x5659 010333 arg 4 ,loopcnt 
+0x565a 010334 arg mem_tx_fifo0_map ,contr 
+0x565b 010335 arg 0 ,temp 
+:      010336 l2cap_malloc_get_full_map_loop:
+0x565c 010337 ifetch 3 ,contr 
+0x565d 010338 and pdata ,0xff ,pdata 
+0x565e 010339 ior temp ,temp 
+0x565f 010340 loop l2cap_malloc_get_full_map_loop 
+0x5660 010341 storet 1 ,mem_used_map 
+0x5661 010342 rtn 
+:      010350 l2cap_malloc_into_fifo:
+0x5662 010351 bpatch patch1c_3 ,mem_patch1c 
+0x5663 010352 call l2cap_malloc_is_fifo_full 
+0x5664 010353 nbranch assert ,blank 
+0x5665 010354 call l2cap_malloc_is_fifo_empty 
+0x5666 010355 branch l2cap_malloc_into_fifo_no_push ,blank 
+0x5667 010356 fetch 3 ,mem_tx_fifo1 
+0x5668 010357 store 3 ,mem_tx_fifo0 
+0x5669 010358 ifetch 3 ,contr 
+0x566a 010359 istore 3 ,contw 
+0x566b 010360 ifetch 3 ,contr 
+0x566c 010361 istore 3 ,contw 
+0x566d 010362 setarg 0 
+0x566e 010363 istore 3 ,contw 
+:      010364 l2cap_malloc_into_fifo_no_push:
+0x566f 010365 arg 0 ,temp 
+0x5670 010366 copy timeup ,pdata 
+0x5671 010367 iadd queue ,pdata 
+:      010368 l2cap_malloc_into_fifo_loop:
+0x5672 010369 qset1 temp 
+0x5673 010370 increase 1 ,queue 
+0x5674 010371 isub queue ,null 
+0x5675 010372 nbranch l2cap_malloc_into_fifo_loop ,zero 
+0x5676 010374 lshift8 regb ,pdata 
+0x5677 010375 ior temp ,pdata 
+0x5678 010376 store 3 ,mem_tx_fifo3 
+0x5679 010377 rtn 
+:      010387 l2cap_malloc_enough:
+0x567a 010388 bpatch patch1c_4 ,mem_patch1c 
+0x567b 010389 call l2cap_malloc_get_full_map 
+0x567c 010390 copy queue ,regc 
+0x567d 010391 arg 0 ,temp 
+0x567e 010392 arg 0 ,timeup 
+:      010394 l2cap_malloc_enough_loop:
+0x567f 010395 copy queue ,pdata 
+0x5680 010396 beq 8 ,l2cap_malloc_enough_end 
+0x5681 010397 fetch 1 ,mem_used_map 
+0x5682 010398 qisolate1 pdata 
+0x5683 010399 branch l2cap_malloc_enough_end ,true 
+0x5684 010400 increase 128 ,temp 
+0x5685 010401 increase 1 ,queue 
+0x5686 010402 copy rega ,pdata 
+0x5687 010403 isub temp ,null 
+0x5688 010404 branch l2cap_malloc_enough_end ,zero 
+0x5689 010405 branch l2cap_malloc_enough_loop ,positive 
+:      010406 l2cap_malloc_enough_end:
+0x568a 010407 copy temp ,pdata 
+0x568b 010408 isub rega ,null 
+0x568c 010409 nbranch l2cap_malloc_enough_rtn ,positive 
+0x568d 010410 copy queue ,pdata 
+0x568e 010411 copy regc ,temp 
+0x568f 010412 isub temp ,timeup 
+:      010413 l2cap_malloc_enough_rtn:
+0x5690 010414 copy regc ,queue 
+0x5691 010415 rtn 
+:      010418 l2cap_malloc_signal_channel:
+0x5692 010419 bpatch patch1c_5 ,mem_patch1c 
+0x5693 010420 arg l2cap_signal_malloc_size ,rega 
+0x5694 010421 call l2cap_malloc 
+0x5695 010422 store 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x5696 010423 increase 4 ,pdata 
+0x5697 010424 store 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x5698 010425 setarg 0 
+0x5699 010426 store 2 ,mem_l2cap_signal_tx_length 
+0x569a 010427 rtn 
+:      010429 l2cap_get_signal_tx_buff:
+0x569b 010430 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x569c 010431 branch l2cap_util_pdata_to_contw 
+:      010433 l2cap_get_signal_tx_payload:
+0x569d 010434 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x569e 010435 branch l2cap_util_pdata_to_contw 
+:      010438 l2cap_malloc_sdp_channel:
+0x569f 010439 bpatch patch1c_6 ,mem_patch1c 
+0x56a0 010440 arg sdp_malloc_size ,rega 
+0x56a1 010441 call l2cap_malloc 
+0x56a2 010442 store 2 ,mem_sdp_tx_buff_ptr 
+0x56a3 010443 increase 4 ,pdata 
+0x56a4 010444 store 2 ,mem_sdp_tx_payload_ptr 
+0x56a5 010445 setarg 0 
+0x56a6 010446 store 2 ,mem_sdp_tx_pkt_length 
+0x56a7 010447 rtn 
+:      010449 l2cap_get_sdp_tx_buff:
+0x56a8 010450 fetch 2 ,mem_sdp_tx_buff_ptr 
+0x56a9 010451 branch l2cap_util_pdata_to_contw 
+:      010453 l2cap_get_sdp_tx_payload:
+0x56aa 010454 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x56ab 010455 branch l2cap_util_pdata_to_contw 
+:      010458 l2cap_malloc_rfcomm_channel:
+0x56ac 010459 bpatch patch1c_7 ,mem_patch1c 
+0x56ad 010460 call push_stack 
+0x56ae 010461 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+0x56af 010462 call l2cap_malloc_is_fifo_full 
+0x56b0 010463 nrtn blank 
+0x56b1 010464 arg rfcomm_malloc_size ,rega 
+0x56b2 010465 call l2cap_malloc 
+0x56b3 010466 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x56b4 010467 increase 4 ,pdata 
+0x56b5 010468 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x56b6 010469 setarg 0 
+0x56b7 010470 store 2 ,mem_rfcomm_tx_pkt_length 
+0x56b8 010471 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x56b9 010472 branch pop_stack 
+:      010474 l2cap_get_rfcomm_tx_buff:
+0x56ba 010475 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x56bb 010476 branch l2cap_util_pdata_to_contw 
+:      010478 l2cap_util_pdata_to_contw:
+0x56bc 010479 branch assert ,blank 
+0x56bd 010480 copy pdata ,contw 
+0x56be 010481 rtn 
+:      010484 l2cap_lpm_save_calc_len:
+0x56bf 010485 bpatch patch1d_0 ,mem_patch1d 
+0x56c0 010486 arg 0 ,regb 
+0x56c1 010487 arg mem_tx_fifo0_map ,rega 
+0x56c2 010488 increase -2 ,rega 
+:      010489 l2cap_lpm_save_calc_len_loop:
+0x56c3 010490 increase 2 ,rega 
+0x56c4 010491 setarg mem_tx_fifo_end 
+0x56c5 010492 isub rega ,null 
+0x56c6 010493 branch l2cap_lpm_save_calc_len_end ,zero 
+0x56c7 010494 ifetch 1 ,rega 
+0x56c8 010495 increase 1 ,rega 
+0x56c9 010496 branch l2cap_lpm_save_calc_len_loop ,blank 
+0x56ca 010497 ifetcht 2 ,rega 
+0x56cb 010498 ifetch 2 ,temp 
+0x56cc 010499 iadd regb ,regb 
+0x56cd 010500 increase 4 ,regb 
+0x56ce 010501 branch l2cap_lpm_save_calc_len_loop 
+:      010502 l2cap_lpm_save_calc_len_end:
+0x56cf 010503 copy regb ,pdata 
+0x56d0 010504 rtn 
+:      010507 l2cap_lpm_get_wake_lock:
+0x56d1 010508 arg wake_lock_l2cap_tx ,queue 
+0x56d2 010509 branch lpm_get_wake_lock 
+:      010511 l2cap_lpm_put_wake_lock:
+0x56d3 010512 arg wake_lock_l2cap_tx ,queue 
+0x56d4 010513 branch lpm_put_wake_lock 
+:      010515 l2cap_lpm_save_txbuf:
+0x56d5 010516 bpatch patch1d_1 ,mem_patch1d 
+0x56d6 010517 call l2cap_malloc_get_full_map 
+0x56d7 010518 fetch 1 ,mem_used_map 
+0x56d8 010519 rtn blank 
+0x56d9 010520 call l2cap_lpm_save_calc_len 
+0x56da 010521 arg l2cap_lpm_txbuf_len ,temp 
+0x56db 010522 isub temp ,null 
+0x56dc 010523 branch l2cap_lpm_get_wake_lock ,positive 
+0x56dd 010524 call l2cap_lpm_put_wake_lock 
+0x56de 010525 arg mem_l2cap_lpm_txbuf ,contw 
+0x56df 010526 arg mem_tx_fifo0 ,rega 
+:      010527 l2cap_lpm_save_txbuf_loop:
+0x56e0 010528 setarg mem_tx_fifo_end 
+0x56e1 010529 isub rega ,null 
+0x56e2 010530 rtn zero 
+0x56e3 010531 ifetch 1 ,rega 
+0x56e4 010532 increase 1 ,rega 
+0x56e5 010533 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+0x56e6 010534 istore 2 ,contw 
+0x56e7 010535 increase 2 ,rega 
+0x56e8 010536 branch l2cap_lpm_save_txbuf_loop 
+:      010537 l2cap_lpm_save_txbuf_nempty:
+0x56e9 010538 ifetch 2 ,rega 
+0x56ea 010539 increase 2 ,rega 
+0x56eb 010540 copy pdata ,contr 
+0x56ec 010541 ifetch 2 ,contr 
+0x56ed 010542 istore 2 ,contw 
+0x56ee 010543 copy pdata ,loopcnt 
+0x56ef 010544 increase 2 ,loopcnt 
+0x56f0 010545 call memcpy 
+0x56f1 010546 branch l2cap_lpm_save_txbuf_loop 
+:      010548 l2cap_lpm_load_txbuf:
+0x56f2 010549 bpatch patch1d_2 ,mem_patch1d 
+0x56f3 010550 call l2cap_malloc_get_full_map 
+0x56f4 010551 fetch 1 ,mem_used_map 
+0x56f5 010552 rtn blank 
+0x56f6 010553 arg mem_tx_fifo0_ptr ,rega 
+0x56f7 010554 increase -3 ,rega 
+0x56f8 010555 arg mem_l2cap_lpm_txbuf ,contr 
+:      010556 l2cap_lpm_load_txbuf_loop:
+0x56f9 010557 increase 3 ,rega 
+0x56fa 010558 setarg mem_tx_fifo_end + 1 
+0x56fb 010559 isub rega ,null 
+0x56fc 010560 rtn zero 
+0x56fd 010561 ifetch 2 ,contr 
+0x56fe 010562 branch l2cap_lpm_load_txbuf_loop ,blank 
+0x56ff 010563 increase 4 ,pdata 
+0x5700 010564 copy pdata ,loopcnt 
+0x5701 010565 copy contr ,regb 
+0x5702 010566 ifetch 2 ,rega 
+0x5703 010567 copy pdata ,contw 
+0x5704 010568 copy regb ,contr 
+0x5705 010569 increase -2 ,contr 
+0x5706 010570 call memcpy 
+0x5707 010571 branch l2cap_lpm_load_txbuf_loop 
+:      010581 le_init_conn:
+0x5708 010582 bpatch patch1d_3 ,mem_patch1d 
+0x5709 010583 disable wake 
+0x570a 010584 jam 1 ,mem_le_conn_handle 
+0x570b 010585 jam 3 ,mem_le_state 
+0x570c 010586 jam 1 ,mem_le_arq 
+0x570d 010587 setarg -1 
+0x570e 010588 store 2 ,mem_le_event_count 
+0x570f 010589 force 0 ,pdata 
+0x5710 010590 store 1 ,mem_le_ch 
+0x5711 010591 store 1 ,mem_le_op 
+0x5712 010592 store 3 ,mem_sniff_rcv 
+0x5713 010593 store 3 ,mem_sniff_lost 
+0x5714 010594 store 5 ,mem_le_pcnt_tx 
+0x5715 010595 set1 39 ,pdata 
+0x5716 010596 store 5 ,mem_le_pcnt_rx 
+0x5717 010597 jam 1 ,mem_le_txheader 
+0x5718 010598 jam 0 ,mem_le_txlen 
+0x5719 010599 branch le_supervision_flush 
+:      010601 le_init_master:
+0x571a 010602 bpatch patch1d_4 ,mem_patch1d 
+0x571b 010603 enable master 
+0x571c 010604 jam lemode_master ,mem_le_mode 
+0x571d 010605 jam 1 ,mem_le_att_handle 
+0x571e 010606 jam 1 ,mem_le_search_handle_start 
+0x571f 010607 setarg 0xffff 
+0x5720 010608 store 2 ,mem_le_search_handle_end 
+0x5721 010609 force 0 ,pdata 
+0x5722 010610 store 5 ,mem_le_pcnt_rx 
+0x5723 010611 set1 39 ,pdata 
+0x5724 010612 store 5 ,mem_le_pcnt_tx 
+0x5725 010613 branch le_init_conn 
+:      010616 le_init_slave:
+0x5726 010617 bpatch patch1d_5 ,mem_patch1d 
+0x5727 010618 disable master 
+0x5728 010619 setarg 0x17 
+0x5729 010620 store 2 ,mem_le_remote_mtu 
+0x572a 010621 jam lemode_slave ,mem_le_mode 
+0x572b 010622 jam 0 ,mem_le_adv_enable 
+0x572c 010623 jam 0 ,mem_lpm_current_mult 
+0x572d 010624 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x572e 010625 jam flag_le_enc_null ,mem_le_enc_state 
+0x572f 010626 fetch 2 ,mem_le_superto 
+0x5730 010627 store 2 ,mem_le_init_superto 
+0x5731 010628 fetch 2 ,mem_le_tsniff 
+0x5732 010629 mul32 pdata ,5 ,pdata 
+0x5733 010630 rshift4 pdata ,pdata 
+0x5734 010631 store 2 ,mem_le_superto 
+0x5735 010632 branch le_init_conn 
+:      010638 le_dispatch:
+0x5736 010639 call le_enable 
+0x5737 010640 call le_scan 
+0x5738 010641 call le_adv 
+0x5739 010642 branch le_disable 
+:      010644 le_conn_dispatch:
+0x573a 010645 bpatch patch1d_6 ,mem_patch1d 
+0x573b 010646 call le_enable 
+0x573c 010647 call app_process_ble 
+0x573d 010648 fetch 1 ,mem_le_mode 
+0x573e 010649 beq lemode_master ,le_master_dispatch 
+0x573f 010650 branch le_slave_dispatch 
+:      010656 le_master_dispatch:
+0x5740 010657 bpatch patch1d_7 ,mem_patch1d 
+0x5741 010658 enable master 
+0x5742 010659 call le_supervision_update 
+0x5743 010660 branch le_master_disconn ,positive 
+0x5744 010661 call check_ble_disabled 
+0x5745 010662 call le_setup 
+0x5746 010663 call le_prepare_tx 
+0x5747 010664 disable match 
+0x5748 010665 call le_transmit_receive_sifs 
+0x5749 010666 nrtn match 
+0x574a 010667 bpatch patch1e_0 ,mem_patch1e 
+0x574b 010668 fetch 1 ,mem_le_conn_rcv 
+0x574c 010669 increase 1 ,pdata 
+0x574d 010670 store 1 ,mem_le_conn_rcv 
+0x574e 010671 call le_acknowledge 
+0x574f 010672 disable master 
+0x5750 010673 rtn 
+:      010675 le_master_disconn:
+0x5751 010676 call le_disconnect 
+0x5752 010677 disable master 
+0x5753 010678 rtn 
+:      010683 le_slave_dispatch:
+0x5754 010684 bpatch patch1e_1 ,mem_patch1e 
+0x5755 010685 jam 0 ,mem_le_md_count 
+0x5756 010686 call sp_calc_sequence_256 
+0x5757 010687 call le_secure_connect_sm 
+0x5758 010688 disable attempt 
+0x5759 010689 call le_supervision_update 
+0x575a 010690 branch le_slave_disconn ,positive 
+0x575b 010691 call check_ble_disabled 
+0x575c 010692 call le_setup 
+0x575d 010693 call le_receive_slave 
+0x575e 010694 nbranch le_slave_unsync ,sync 
+0x575f 010695 call le_got_first_packet 
+0x5760 010696 branch le_slave_match ,match 
+0x5761 010697 branch le_slave_cont 
+:      010700 le_slave_match:
+0x5762 010701 bpatch patch1e_2 ,mem_patch1e 
+0x5763 010702 fetch 1 ,mem_le_md_count 
+0x5764 010703 pincrease 1 
+0x5765 010704 store 1 ,mem_le_md_count 
+0x5766 010705 beq le_md_max_count ,le_slave_cont 
+0x5767 010706 call le_acknowledge 
+0x5768 010707 call le_prepare_tx 
+0x5769 010708 call le_transmit_norx 
+0x576a 010709 call le_parse 
+0x576b 010710 fetch 2 ,mem_cb_ble_transmit 
+0x576c 010711 call callback_func 
+0x576d 010712 call le_check_md 
+0x576e 010713 branch le_slave_more_data ,user 
+:      010714 le_slave_cont:
+0x576f 010715 bpatch patch1e_3 ,mem_patch1e 
+0x5770 010716 call le_pairing_sm 
+0x5771 010717 call le_check_paring_time 
+0x5772 010718 call check_51cmd 
+0x5773 010719 fetch 1 ,mem_le_op 
+0x5774 010720 bbit1 op_disconn ,le_slave_disconn 
+:      010721 le_slave_unsync:
+0x5775 010722 bpatch patch1e_4 ,mem_patch1e 
+0x5776 010723 call le_lpm_set_mult 
+0x5777 010724 call le_update_channel_map 
+0x5778 010725 call le_update_param 
+0x5779 010726 branch calc_clke_offset 
+:      010729 le_check_md:
+0x577a 010730 disable user 
+0x577b 010731 bmark1 mark_ble_rx_md ,enable_user 
+0x577c 010732 bmark1 mark_ble_tx_md ,enable_user 
+0x577d 010733 rtn 
+:      010736 le_slave_more_data:
+0x577e 010737 bpatch patch1e_5 ,mem_patch1e 
+0x577f 010738 enable attempt 
+0x5780 010739 call le_transmit_receive_sifs_notx 
+0x5781 010740 branch le_slave_match ,match 
+0x5782 010741 branch le_slave_cont 
+:      010743 le_slave_disconn:
+:      010746 le_disconnect:
+0x5783 010747 bpatch patch1e_6 ,mem_patch1e 
+0x5784 010748 call le_clear_connection_info 
+0x5785 010749 call app_disconn_reason_collect_ble 
+0x5786 010750 call sp_initialize_256 
+0x5787 010751 jam bt_evt_le_disconnected ,mem_fifo_temp 
+0x5788 010752 branch ui_ipc_send_event 
+:      010754 le_clear_connection_info:
+0x5789 010755 setarg 0 
+0x578a 010756 store 9 ,mem_le_tx_buff_used 
+0x578b 010757 jam 0 ,mem_le_conn_handle 
+0x578c 010758 jam lemode_idle ,mem_le_mode 
+0x578d 010759 jam 0 ,mem_le_state 
+0x578e 010760 jam flag_le_enc_null ,mem_le_enc_state 
+0x578f 010761 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5790 010762 rtn 
+:      010764 le_got_first_packet:
+0x5791 010765 bpatch patch1e_7 ,mem_patch1e 
+0x5792 010766 fetch 1 ,mem_le_conn_rcv 
+0x5793 010767 increase 1 ,pdata 
+0x5794 010768 store 1 ,mem_le_conn_rcv 
+0x5795 010769 fetch 1 ,mem_le_state 
+0x5796 010770 rtnbit1 lestate_got_first_packet 
+0x5797 010771 set1 lestate_got_first_packet 
+0x5798 010772 store 1 ,mem_le_state 
+0x5799 010773 fetch 2 ,mem_le_init_superto 
+0x579a 010774 store 2 ,mem_le_superto 
+0x579b 010775 setarg 0 
+0x579c 010776 store 4 ,mem_le_transmit_window 
+0x579d 010777 rtn 
+:      010780 le_enable:
+0x579e 010781 bpatch patch1f_0 ,mem_patch1f 
+0x579f 010782 hjam 0x36 ,0x90f 
+0x57a0 010783 hjam 0x5f ,0x90b 
+0x57a1 010784 enable le 
+0x57a2 010785 hjam 7 ,rfen_ulp 
+0x57a3 010786 call check_ble_disabled 
+0x57a4 010787 fetch 1 ,mem_250k_freq_enable 
+0x57a5 010788 rtn blank 
+0x57a6 010789 hjam 0xb8 ,0x90a 
+0x57a7 010790 rtn 
+:      010792 le_disable:
+0x57a8 010793 bpatch patch1f_1 ,mem_patch1f 
+0x57a9 010794 hjam 0x2e ,0x90f 
+0x57aa 010795 hjam 0xff ,0x90b 
+0x57ab 010796 disable le 
+0x57ac 010797 hjam 3 ,rfen_ulp 
+0x57ad 010798 arg 0 ,stop_watch 
+0x57ae 010799 rtn 
+:      010801 le_prep:
+0x57af 010802 disable enable_crc 
+0x57b0 010803 disable enable_white 
+0x57b1 010804 fetch 3 ,mem_le_crcinit 
+0x57b2 010805 iforce crc24_init 
+0x57b3 010806 fetch 1 ,mem_le_ch_mapped 
+0x57b4 010807 reverse pdata ,temp 
+0x57b5 010808 set1 1 ,temp 
+0x57b6 010809 rshift temp ,white_init 
+0x57b7 010810 rtn 
+:      010813 lerx_setfreq:
+0x57b8 010814 call le_setfreq 
+0x57b9 010815 call set_freq_rx 
+0x57ba 010816 setarg param_pll_setup 
+0x57bb 010817 call sleep 
+0x57bc 010818 branch rf_rx_enable 
+:      010820 letx_setfreq:
+0x57bd 010821 branch txon ,match 
+:      010822 letx_setfreq0:
+0x57be 010823 call le_setfreq 
+0x57bf 010824 branch set_freq_tx 
+:      010825 le_setfreq:
+0x57c0 010826 bpatch patch1f_2 ,mem_patch1f 
+0x57c1 010827 call set_sync_on 
+0x57c2 010828 fetch 1 ,mem_le_testtype 
+0x57c3 010829 nbranch le_ctf_test ,blank 
+0x57c4 010830 fetch 1 ,mem_le_ch_mapped 
+0x57c5 010831 sub pdata ,36 ,null 
+0x57c6 010832 branch le_ctf_normal ,positive 
+0x57c7 010833 force 0 ,temp 
+0x57c8 010834 rtneq 37 
+0x57c9 010835 force 24 ,temp 
+0x57ca 010836 rtneq 38 
+0x57cb 010837 force 78 ,temp 
+0x57cc 010838 rtn 
+:      010840 le_ctf_normal:
+0x57cd 010841 sub pdata ,10 ,null 
+0x57ce 010842 branch le_ctf_low ,positive 
+0x57cf 010843 increase 1 ,pdata 
+:      010845 le_ctf_low:
+0x57d0 010846 lshift pdata ,pdata 
+0x57d1 010847 add pdata ,2 ,temp 
+0x57d2 010848 rtn 
+:      010850 le_ctf_test:
+0x57d3 010851 fetch 1 ,mem_le_ch_mapped 
+0x57d4 010852 lshift pdata ,temp 
+0x57d5 010853 rtn 
+:      010855 le_sca_map:
+0x57d6 010856 arg 500 ,temp 
+0x57d7 010857 rtn blank 
+0x57d8 010858 arg 250 ,temp 
+0x57d9 010859 rtneq 1 
+0x57da 010860 arg 150 ,temp 
+0x57db 010861 rtneq 2 
+0x57dc 010862 arg 100 ,temp 
+0x57dd 010863 rtneq 3 
+0x57de 010864 arg 75 ,temp 
+0x57df 010865 rtneq 4 
+0x57e0 010866 arg 50 ,temp 
+0x57e1 010867 rtneq 5 
+0x57e2 010868 arg 40 ,temp 
+0x57e3 010869 rtneq 6 
+0x57e4 010870 arg 20 ,temp 
+0x57e5 010871 rtn 
+:      010875 le_adv_access:
+0x57e6 010876 setarg 0x8e89be 
+0x57e7 010877 lshift8 pdata ,pdata 
+0x57e8 010878 or_into 0xd6 ,pdata 
+0x57e9 010879 iforce access 
+0x57ea 010880 setarg 0x555555 
+0x57eb 010881 store 3 ,mem_le_crcinit 
+0x57ec 010882 rtn 
+:      010884 le_setup:
+0x57ed 010885 bpatch patch1f_3 ,mem_patch1f 
+0x57ee 010886 enable swfine 
+0x57ef 010887 fetch 4 ,mem_le_access 
+0x57f0 010888 iforce access 
+0x57f1 010889 call le_map_channel 
+0x57f2 010890 setarg 0x200 
+0x57f3 010891 branch le_setup_master ,master 
+0x57f4 010892 fetch 2 ,mem_le_receive_window 
+0x57f5 010893 rshift pdata ,pdata 
+:      010894 le_setup_master:
+0x57f6 010895 arg param_pll_setup ,temp 
+0x57f7 010896 iadd temp ,pdata 
+0x57f8 010897 call ahead_window 
+0x57f9 010898 deposit clke 
+0x57fa 010899 store 6 ,mem_le_rxon_ts 
+0x57fb 010900 rtn 
+:      010902 le_next_adv_channel:
+0x57fc 010903 bpatch patch1f_4 ,mem_patch1f 
+0x57fd 010904 fetch 1 ,mem_le_ch_mapped 
+0x57fe 010905 beq 37 ,le_next_adv_channel_curr_channel_37 
+0x57ff 010906 beq 38 ,le_next_adv_channel_curr_channel_38 
+0x5800 010907 beq 39 ,le_next_adv_channel_curr_channel_39 
+0x5801 010908 branch le_next_adv_channel_curr_channel_39 
+:      010910 le_next_adv_channel_curr_channel_37:
+0x5802 010911 fetcht 1 ,mem_le_adv_channel_map 
+0x5803 010912 isolate1 bit_adv_channel_map_38 ,temp 
+0x5804 010913 branch set_le_next_adv_channel_38 ,true 
+0x5805 010914 isolate1 bit_adv_channel_map_39 ,temp 
+0x5806 010915 branch set_le_next_adv_channel_39 ,true 
+0x5807 010916 branch set_le_next_adv_channel_37 
+:      010919 le_next_adv_channel_curr_channel_38:
+0x5808 010920 fetcht 1 ,mem_le_adv_channel_map 
+0x5809 010921 isolate1 bit_adv_channel_map_39 ,temp 
+0x580a 010922 branch set_le_next_adv_channel_39 ,true 
+0x580b 010923 isolate1 bit_adv_channel_map_37 ,temp 
+0x580c 010924 branch set_le_next_adv_channel_37 ,true 
+0x580d 010925 branch set_le_next_adv_channel_38 
+:      010928 le_next_adv_channel_curr_channel_39:
+0x580e 010929 fetcht 1 ,mem_le_adv_channel_map 
+0x580f 010930 isolate1 bit_adv_channel_map_37 ,temp 
+0x5810 010931 branch set_le_next_adv_channel_37 ,true 
+0x5811 010932 isolate1 bit_adv_channel_map_38 ,temp 
+0x5812 010933 branch set_le_next_adv_channel_38 ,true 
+0x5813 010934 branch set_le_next_adv_channel_39 
+:      010938 set_le_next_adv_channel_37:
+0x5814 010939 jam 37 ,mem_le_ch_mapped 
+0x5815 010940 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5816 010941 set1 bit_adv_channel_map_37 ,pdata 
+0x5817 010942 store 1 ,mem_le_adv_channel_map_temp 
+0x5818 010943 rtn 
+:      010945 set_le_next_adv_channel_38:
+0x5819 010946 jam 38 ,mem_le_ch_mapped 
+0x581a 010947 fetch 1 ,mem_le_adv_channel_map_temp 
+0x581b 010948 set1 bit_adv_channel_map_38 ,pdata 
+0x581c 010949 store 1 ,mem_le_adv_channel_map_temp 
+0x581d 010950 rtn 
+:      010952 set_le_next_adv_channel_39:
+0x581e 010953 jam 39 ,mem_le_ch_mapped 
+0x581f 010954 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5820 010955 set1 bit_adv_channel_map_39 ,pdata 
+0x5821 010956 store 1 ,mem_le_adv_channel_map_temp 
+0x5822 010957 rtn 
+:      010961 le_context_nexthop:
+0x5823 010962 bpatch patch1f_5 ,mem_patch1f 
+0x5824 010963 add rega ,coffset_mode ,contr 
+0x5825 010964 ifetch 1 ,contr 
+0x5826 010965 rtnbit0 mode_le 
+0x5827 010966 add rega ,coffset_le_event_cnt ,contw 
+0x5828 010967 ifetch 2 ,contw 
+0x5829 010968 increase 1 ,pdata 
+0x582a 010969 istore 2 ,contw 
+0x582b 010970 add rega ,coffset_le_hop ,contr 
+0x582c 010971 ifetch 1 ,contr 
+0x582d 010972 add rega ,coffset_le_ch ,contw 
+0x582e 010973 ifetcht 1 ,contw 
+0x582f 010974 iadd temp ,pdata 
+0x5830 010975 sub pdata ,36 ,null 
+0x5831 010976 branch le_nexthop_nowrap ,positive 
+0x5832 010977 increase -37 ,pdata 
+:      010978 le_nexthop_nowrap:
+0x5833 010979 istore 1 ,contw 
+0x5834 010980 rtn 
+:      010983 le_calc_channel_map:
+0x5835 010984 bpatch patch1f_6 ,mem_patch1f 
+0x5836 010985 fetch 5 ,mem_le_channel_map 
+0x5837 010986 force 0 ,temp 
+0x5838 010987 force 37 ,loopcnt 
+:      010988 le_count_channels_loop:
+0x5839 010989 bbit0 0 ,le_count_channels_notused 
+0x583a 010990 increase 1 ,temp 
+:      010991 le_count_channels_notused:
+0x583b 010992 rshift pdata ,pdata 
+0x583c 010993 loop le_count_channels_loop 
+0x583d 010994 add temp ,-1 ,pdata 
+0x583e 010995 store 1 ,mem_le_channels 
+0x583f 010996 rtn 
+:      010998 le_map_channel:
+0x5840 010999 bpatch patch1f_7 ,mem_patch1f 
+0x5841 011000 fetch 1 ,mem_le_ch 
+0x5842 011001 iforce queue 
+0x5843 011002 fetcht 5 ,mem_le_channel_map 
+0x5844 011003 qisolate1 temp 
+0x5845 011004 branch le_map_channel_end ,true 
+:      011005 le_map_channel_next:
+0x5846 011006 bpatchx patch20_0 ,mem_patch20 
+0x5847 011007 fetch 1 ,mem_le_channels 
+0x5848 011008 isub queue ,pdata 
+0x5849 011009 branch le_map_channel_cont ,positive 
+0x584a 011010 sub pdata ,-1 ,queue 
+0x584b 011011 branch le_map_channel_next 
+:      011012 le_map_channel_cont:
+0x584c 011013 copy queue ,loopcnt 
+0x584d 011014 force 0 ,queue 
+:      011015 le_map_channel_loop:
+0x584e 011016 qisolate1 temp 
+0x584f 011017 branch le_map_channel_skip ,true 
+0x5850 011018 increase 1 ,loopcnt 
+:      011019 le_map_channel_skip:
+0x5851 011020 deposit loopcnt 
+0x5852 011021 branch le_map_channel_end ,blank 
+0x5853 011022 increase 1 ,queue 
+0x5854 011023 increase -1 ,loopcnt 
+0x5855 011024 branch le_map_channel_loop 
+:      011025 le_map_channel_end:
+0x5856 011026 deposit queue 
+0x5857 011027 store 1 ,mem_le_ch_mapped 
+0x5858 011028 rtn 
+:      011031 le_wait_tx:
+0x5859 011032 branch le_wait_master ,master 
+0x585a 011033 until null ,timeout 
+0x585b 011034 rtn 
+:      011036 le_wait_master:
+0x585c 011037 arg 0xea0 ,timeup 
+0x585d 011038 until clkn_rt ,meet 
+0x585e 011039 rtn 
+:      011041 le_receive_adv:
+0x585f 011042 disable swfine 
+0x5860 011043 fetch 2 ,mem_le_scan_window 
+0x5861 011044 copy pdata ,timeup 
+0x5862 011045 branch le_receive_packet 
+:      011048 le_receive_slave:
+0x5863 011049 bpatchx patch20_1 ,mem_patch20 
+0x5864 011050 enable swfine 
+0x5865 011051 fetch 2 ,mem_le_receive_window 
+0x5866 011052 fetcht 4 ,mem_le_transmit_window 
+0x5867 011053 iadd temp ,timeup 
+:      011054 le_receive_packet:
+0x5868 011055 call lerx_setfreq 
+:      011056 le_receive_rxon:
+0x5869 011057 bpatchx patch20_2 ,mem_patch20 
+0x586a 011058 call le_prep 
+0x586b 011059 disable match 
+0x586c 011060 enable decode_fec0 
+0x586d 011061 enable is_rx 
+0x586e 011062 disable is_tx 
+0x586f 011063 copy timeup ,stop_watch 
+0x5870 011064 correlate null ,timeout 
+0x5871 011065 branch le_receive_on_attempt ,attempt 
+0x5872 011066 copy clke ,temp 
+0x5873 011067 storet 6 ,mem_sync_clke 
+:      011068 le_receive_on_attempt:
+0x5874 011069 nbranch end_of_packet ,sync 
+0x5875 011070 branch le_receive_skip ,attempt 
+0x5876 011071 arg param_clke_cal_le ,clke_rt 
+0x5877 011072 copy bt_clk ,clke_bt 
+0x5878 011073 fetch 1 ,mem_le_state 
+0x5879 011074 bbit0 lestate_got_first_packet ,le_receive_skip 
+0x587a 011075 call lpm_adjust_clk ,wake 
+:      011076 le_receive_skip:
+0x587b 011077 bpatchx patch20_3 ,mem_patch20 
+0x587c 011078 call save_rssi 
+0x587d 011079 enable enable_white 
+0x587e 011080 enable enable_crc 
+0x587f 011081 parse demod ,bucket ,8 
+0x5880 011082 rshift3 pwindow ,pdata 
+0x5881 011083 store 1 ,mem_le_rxbuf 
+0x5882 011084 parse demod ,bucket ,8 
+0x5883 011085 rshift3 pwindow ,pdata 
+0x5884 011086 istore 1 ,contw 
+0x5885 011087 and pdata ,0x3f ,loopcnt 
+0x5886 011088 branch lerx_nopayload ,zero 
+:      011090 lerx_loop:
+0x5887 011091 parse demod ,bucket ,8 
+0x5888 011092 rshift3 pwindow ,pdata 
+0x5889 011093 istore 1 ,contw 
+0x588a 011094 loop lerx_loop 
+:      011096 lerx_nopayload:
+0x588b 011097 bpatchx patch20_4 ,mem_patch20 
+0x588c 011098 parse demod ,bucket ,24 
+0x588d 011099 enable swfine 
+0x588e 011100 arg param_sifs ,stop_watch 
+0x588f 011101 rshift32 pdata ,pdata 
+0x5890 011102 rshift16 pdata ,pdata 
+0x5891 011103 istore 3 ,contw 
+0x5892 011104 branch end_of_packet ,crc_failed 
+0x5893 011105 enable match 
+0x5894 011106 fetch 1 ,mem_last_freq 
+0x5895 011107 add pdata ,0 ,rega 
+0x5896 011108 call rf_write_freq 
+0x5897 011109 disable decode_fec0 
+0x5898 011110 branch set_sync_on 
+:      011112 le_transmit_receive_sifs:
+0x5899 011113 bpatchx patch20_5 ,mem_patch20 
+0x589a 011114 call le_transmit 
+:      011115 le_transmit_receive_sifs_notx:
+0x589b 011116 fetcht 1 ,mem_last_freq 
+0x589c 011117 call set_freq_rx 
+0x589d 011118 call rf_rx_enable 
+0x589e 011119 enable swfine 
+0x589f 011120 arg 5500 ,timeup 
+0x58a0 011121 branch le_receive_rxon 
+:      011123 le_transmit_norx:
+0x58a1 011124 call le_transmit 
+0x58a2 011125 branch end_of_packet 
+:      011127 le_transmit:
+0x58a3 011128 bpatchx patch20_6 ,mem_patch20 
+0x58a4 011129 call le_prep 
+0x58a5 011130 call letx_setfreq 
+0x58a6 011131 branch le_transmit0 
+:      011133 le_transmit0:
+0x58a7 011134 set1 txgfsk ,radio_ctrl 
+0x58a8 011135 enable encode_fec0 
+0x58a9 011136 enable is_tx 
+0x58aa 011137 disable is_rx 
+0x58ab 011138 call le_wait_tx 
+0x58ac 011139 rshift16 access ,pdata 
+0x58ad 011140 rshift8 pdata ,pdata 
+0x58ae 011141 rshift4 pdata ,pdata 
+0x58af 011142 inject mod ,40 
+0x58b0 011143 enable enable_white 
+0x58b1 011144 enable enable_crc 
+0x58b2 011145 bpatchx patch20_7 ,mem_patch20 
+0x58b3 011146 fetch 1 ,mem_le_txheader 
+0x58b4 011147 inject mod ,8 
+0x58b5 011148 ifetch 1 ,contr 
+0x58b6 011149 and pdata ,0x3f ,loopcnt 
+0x58b7 011150 inject mod ,8 
+0x58b8 011151 branch letr_nopayload ,zero 
+:      011152 letr_loop:
+0x58b9 011153 ifetch 1 ,contr 
+0x58ba 011154 inject mod ,8 
+0x58bb 011155 loop letr_loop 
+:      011157 letr_nopayload:
+0x58bc 011158 enable enable_parity 
+0x58bd 011159 inject mod ,24 
+0x58be 011160 disable enable_parity 
+0x58bf 011161 until null ,tx_clear 
+0x58c0 011162 nop 100 
+0x58c1 011163 disable encode_fec0 
+0x58c2 011164 rtn 
+:      011166 le_send_adv_ind:
+0x58c3 011167 bpatchx patch21_0 ,mem_patch21 
+0x58c4 011168 fetch 1 ,mem_le_adv_type 
+0x58c5 011169 beq adv_direct_ind ,le_send_adv_direct_ind 
+0x58c6 011170 fetch 1 ,mem_le_adv_own_addr_type 
+0x58c7 011171 lshift4 pdata ,pdata 
+0x58c8 011172 lshift2 pdata ,pdata 
+0x58c9 011173 store 1 ,mem_le_txheader 
+0x58ca 011174 fetcht 1 ,mem_le_adv_data_len 
+0x58cb 011175 add temp ,6 ,pdata 
+0x58cc 011176 store 1 ,mem_le_txlen 
+0x58cd 011177 fetch 6 ,mem_le_lap 
+0x58ce 011178 store 6 ,mem_le_txpayload 
+0x58cf 011179 copy temp ,loopcnt 
+0x58d0 011180 arg mem_le_adv_data ,contr 
+0x58d1 011181 call memcpy_fast 
+0x58d2 011182 branch le_send_adv_transmit 
+:      011183 le_send_adv_direct_ind:
+0x58d3 011184 fetch 1 ,mem_le_adv_direct_addr_type 
+0x58d4 011185 lshift4 pdata ,pdata 
+0x58d5 011186 lshift2 pdata ,pdata 
+0x58d6 011187 increase 1 ,pdata 
+0x58d7 011188 store 1 ,mem_le_txheader 
+0x58d8 011189 setarg 12 
+0x58d9 011190 store 1 ,mem_le_txlen 
+0x58da 011191 fetch 6 ,mem_le_lap 
+0x58db 011192 store 6 ,mem_le_txpayload 
+0x58dc 011193 fetch 6 ,mem_hci_plap 
+0x58dd 011194 istore 6 ,contw 
+:      011195 le_send_adv_transmit:
+0x58de 011196 bpatchx patch21_1 ,mem_patch21 
+0x58df 011197 fetch 1 ,mem_le_adv_transmit 
+0x58e0 011198 increase 1 ,pdata 
+0x58e1 011199 store 1 ,mem_le_adv_transmit 
+0x58e2 011200 arg 1800 ,stop_watch 
+0x58e3 011201 disable match 
+0x58e4 011202 branch le_transmit_receive_sifs 
+:      011204 le_send_scan_request:
+0x58e5 011205 bpatchx patch21_2 ,mem_patch21 
+0x58e6 011206 fetch 1 ,mem_le_scan_type 
+0x58e7 011207 rtnne le_scan_type_active 
+0x58e8 011208 fetch 1 ,mem_le_adv_transmit 
+0x58e9 011209 increase 1 ,pdata 
+0x58ea 011210 store 1 ,mem_le_adv_transmit 
+0x58eb 011211 arg 0x0c03 ,temp 
+0x58ec 011212 fetch 1 ,mem_le_scan_own_addr_type 
+0x58ed 011213 nsetflag blank ,le_sender_addr_bit ,temp 
+0x58ee 011214 copy rega ,pdata 
+0x58ef 011215 nsetflag blank ,le_receiver_addr_bit ,temp 
+0x58f0 011216 storet 2 ,mem_le_txheader 
+0x58f1 011217 fetch 6 ,mem_le_lap 
+0x58f2 011218 istore 6 ,contw 
+0x58f3 011219 fetch 6 ,mem_le_plap 
+0x58f4 011220 istore 6 ,contw 
+0x58f5 011221 branch le_transmit_receive_sifs 
+:      011224 le_send_scan_response:
+0x58f6 011225 bpatchx patch21_3 ,mem_patch21 
+0x58f7 011226 arg scan_rsp ,temp 
+0x58f8 011227 fetch 1 ,mem_le_adv_own_addr_type 
+0x58f9 011228 nsetflag blank ,le_sender_addr_bit ,temp 
+0x58fa 011229 storet 1 ,mem_le_txheader 
+0x58fb 011230 fetcht 1 ,mem_le_scan_data_len 
+0x58fc 011231 add temp ,6 ,pdata 
+0x58fd 011232 store 1 ,mem_le_txlen 
+0x58fe 011233 fetch 6 ,mem_le_lap 
+0x58ff 011234 store 6 ,mem_le_txpayload 
+0x5900 011235 arg mem_le_scan_data ,contr 
+0x5901 011236 copy temp ,loopcnt 
+0x5902 011237 call memcpy_fast 
+0x5903 011238 call le_transmit_norx 
+0x5904 011239 branch le_adv_not_match 
+:      011241 le_connect_request:
+0x5905 011242 bpatchx patch21_4 ,mem_patch21 
+0x5906 011243 force -1 ,pdata 
+0x5907 011244 setsect 2 ,1 
+0x5908 011245 store 5 ,mem_le_channel_map 
+0x5909 011246 call le_calc_channel_map 
+0x590a 011247 force 4 ,loopcnt 
+0x590b 011248 arg mem_le_access ,contw 
+0x590c 011249 call generate_random_loop 
+0x590d 011250 fetch 2 ,mem_le_timeout 
+0x590e 011251 store 2 ,mem_le_superto 
+:      011252 le_con_req_hop_retry:
+0x590f 011253 random pdata 
+0x5910 011254 and_into 0xf ,pdata 
+0x5911 011255 sub pdata ,4 ,null 
+0x5912 011256 branch le_con_req_hop_retry ,positive 
+0x5913 011257 store 1 ,mem_le_hop 
+0x5914 011258 store 1 ,mem_tmp1 
+0x5915 011259 bpatchx patch21_5 ,mem_patch21 
+0x5916 011260 fetcht 2 ,mem_le_conn_interval 
+0x5917 011261 storet 2 ,mem_le_tsniff 
+0x5918 011262 copy temp ,regc 
+0x5919 011263 add clkn_bt ,7 ,pdata 
+0x591a 011264 idiv regc 
+0x591b 011265 call wait_div_end 
+0x591c 011266 remainder rega 
+0x591d 011267 isub rega ,pdata 
+0x591e 011268 iadd regc ,pdata 
+0x591f 011269 fetcht 2 ,mem_le_dsniff 
+0x5920 011270 iadd temp ,pdata 
+0x5921 011271 store 4 ,mem_le_anchor 
+0x5922 011272 isub clkn_bt ,rega 
+0x5923 011273 increase -6 ,rega 
+0x5924 011274 arg 0x2205 ,regb 
+0x5925 011275 fetch 1 ,mem_le_conn_own_addr_type 
+0x5926 011276 nsetflag blank ,le_sender_addr_bit ,regb 
+0x5927 011277 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5928 011278 nsetflag blank ,le_receiver_addr_bit ,regb 
+0x5929 011279 copy regb ,pdata 
+0x592a 011280 store 2 ,mem_le_txheader 
+0x592b 011281 fetch 6 ,mem_le_lap 
+0x592c 011282 istore 6 ,contw 
+0x592d 011283 fetch 6 ,mem_le_plap 
+0x592e 011284 istore 6 ,contw 
+0x592f 011285 fetch 4 ,mem_le_access 
+0x5930 011286 istore 4 ,contw 
+0x5931 011287 random pdata 
+0x5932 011288 istore 2 ,contw 
+0x5933 011289 random pdata 
+0x5934 011290 istore 1 ,contw 
+0x5935 011291 force 2 ,pdata 
+0x5936 011292 istore 1 ,contw 
+0x5937 011293 rshift2 rega ,pdata 
+0x5938 011294 istore 2 ,contw 
+0x5939 011295 rshift2 regc ,pdata 
+0x593a 011296 istore 2 ,contw 
+0x593b 011297 bpatchx patch21_6 ,mem_patch21 
+0x593c 011298 setarg 0 
+0x593d 011299 istore 2 ,contw 
+0x593e 011300 fetch 2 ,mem_le_timeout 
+0x593f 011301 istore 2 ,contw 
+0x5940 011302 fetch 5 ,mem_le_channel_map 
+0x5941 011303 istore 5 ,contw 
+0x5942 011304 fetch 1 ,mem_le_hop 
+0x5943 011305 arg param_le_sca ,temp 
+0x5944 011306 ior temp ,pdata 
+0x5945 011307 istore 1 ,contw 
+0x5946 011308 call le_transmit_norx 
+0x5947 011309 setarg mem_le_txheader 
+0x5948 011310 add pdata ,18 ,contr 
+0x5949 011311 ifetch 3 ,contr 
+0x594a 011312 store 3 ,mem_le_crcinit 
+0x594b 011313 rtn 
+:      011315 le_init_adv:
+0x594c 011316 bpatchx patch21_7 ,mem_patch21 
+0x594d 011317 disable master 
+0x594e 011318 branch le_adv_access 
+:      011322 le_update_param:
+0x594f 011323 fetch 1 ,mem_le_state 
+0x5950 011324 rtnbit0 lestate_update_param 
+0x5951 011325 fetch 2 ,mem_le_event_count 
+0x5952 011326 fetcht 2 ,mem_le_instant 
+0x5953 011327 isub temp ,pdata 
+0x5954 011328 nrtn positive 
+0x5955 011329 store 2 ,mem_pdatatemp 
+0x5956 011330 bpatchx patch22_0 ,mem_patch22 
+0x5957 011331 fetch 1 ,mem_le_state 
+0x5958 011332 set0 lestate_update_param ,pdata 
+0x5959 011333 set0 lestate_got_first_packet ,pdata 
+0x595a 011334 store 1 ,mem_le_state 
+0x595b 011335 fetch 4 ,mem_le_anchor 
+0x595c 011336 fetcht 2 ,mem_le_tsniff 
+0x595d 011337 storet 2 ,mem_temp 
+0x595e 011338 isub temp ,rega 
+0x595f 011339 bpatchx patch22_1 ,mem_patch22 
+0x5960 011340 fetch 1 ,mem_le_new_param 
+0x5961 011341 store 1 ,mem_le_window_size 
+0x5962 011342 ifetcht 2 ,contr 
+0x5963 011343 ifetch 2 ,contr 
+0x5964 011344 lshift2 pdata ,pdata 
+0x5965 011345 store 2 ,mem_le_tsniff 
+0x5966 011346 lshift2 temp ,temp 
+0x5967 011347 iadd temp ,pdata 
+0x5968 011348 ifetcht 4 ,contr 
+0x5969 011349 storet 4 ,mem_le_slave_latency 
+0x596a 011350 iadd rega ,pdata 
+0x596b 011351 copy pdata ,regab 
+0x596c 011352 fetch 2 ,mem_le_tsniff 
+0x596d 011353 fetcht 2 ,mem_temp 
+0x596e 011354 isub temp ,pdata 
+0x596f 011355 fetcht 2 ,mem_pdatatemp 
+0x5970 011356 imul32 temp ,pdata 
+0x5971 011357 iadd regab ,pdata 
+0x5972 011358 store 4 ,mem_le_anchor 
+0x5973 011359 call le_receive_window_size 
+0x5974 011360 fetch 2 ,mem_le_superto 
+0x5975 011361 store 2 ,mem_le_init_superto 
+0x5976 011362 rtn 
+:      011365 le_update_channel_map:
+0x5977 011366 bpatchx patch22_2 ,mem_patch22 
+0x5978 011367 fetch 1 ,mem_le_state 
+0x5979 011368 rtnbit0 lestate_update_map 
+0x597a 011369 fetch 2 ,mem_le_event_count 
+0x597b 011370 fetcht 2 ,mem_le_instant 
+0x597c 011371 isub temp ,pdata 
+0x597d 011372 nrtn positive 
+0x597e 011373 fetch 1 ,mem_le_state 
+0x597f 011374 set0 lestate_update_map ,pdata 
+0x5980 011375 store 1 ,mem_le_state 
+0x5981 011376 fetch 5 ,mem_le_new_map 
+0x5982 011377 store 5 ,mem_le_channel_map 
+0x5983 011378 branch le_calc_channel_map 
+:      011381 le_acknowledge:
+0x5984 011382 bpatchx patch22_3 ,mem_patch22 
+0x5985 011383 call le_supervision_flush 
+0x5986 011384 call le_check_wak 
+0x5987 011385 fetch 1 ,mem_le_rxbuf 
+0x5988 011386 isolate1 md ,pdata 
+0x5989 011387 setflag true ,mark_ble_rx_md ,mark 
+0x598a 011388 rshift pdata ,pdata 
+0x598b 011389 ixor temp ,pdata 
+0x598c 011390 isolate1 nesn ,pdata 
+0x598d 011391 setflag true ,mark_old_packet ,mark 
+0x598e 011392 rtnmark1 mark_old_packet 
+0x598f 011393 fetch 1 ,mem_le_rxbuf + 1 
+0x5990 011394 branch le_ack_unenc ,blank 
+0x5991 011395 fetch 1 ,mem_le_state 
+0x5992 011396 bbit0 lestate_encryption ,le_ack_unenc 
+0x5993 011397 call load_sk 
+0x5994 011398 call le_decrypt 
+0x5995 011399 nrtn blank 
+:      011400 le_ack_unenc:
+0x5996 011401 fetcht 1 ,mem_le_arq 
+0x5997 011402 setflip nesn ,temp 
+0x5998 011403 storet 1 ,mem_le_arq 
+0x5999 011404 rtn 
+:      011407 le_check_wak:
+0x599a 011408 bpatchx patch22_4 ,mem_patch22 
+0x599b 011409 fetcht 1 ,mem_le_arq 
+0x599c 011410 isolate0 wak ,temp 
+0x599d 011411 rtn true 
+0x599e 011412 fetch 1 ,mem_le_rxbuf 
+0x599f 011413 lshift pdata ,pdata 
+0x59a0 011414 ixor temp ,pdata 
+0x59a1 011415 rtnbit0 sn 
+0x59a2 011416 set0 wak ,temp 
+0x59a3 011417 setflip sn ,temp 
+0x59a4 011418 storet 1 ,mem_le_arq 
+0x59a5 011419 compare 3 ,temp ,3 
+0x59a6 011420 nrtn true 
+0x59a7 011421 fetch 1 ,mem_le_txpayload 
+0x59a8 011422 beq ll_start_enc_req ,le_set_enc 
+0x59a9 011423 fetch 1 ,mem_le_enc_state 
+0x59aa 011424 beq flag_le_enc_pause ,le_clear_enc 
+0x59ab 011425 rtn 
+:      011428 le_set_enc:
+0x59ac 011429 fetch 1 ,mem_le_state 
+0x59ad 011430 set1 lestate_encryption ,pdata 
+0x59ae 011431 store 1 ,mem_le_state 
+0x59af 011432 rtn 
+:      011434 le_clear_enc:
+0x59b0 011435 bpatchx patch22_5 ,mem_patch22 
+0x59b1 011436 jam flag_le_enc_null ,mem_le_enc_state 
+0x59b2 011437 arg 0 ,pdata 
+0x59b3 011438 store 4 ,mem_le_last_mic 
+0x59b4 011439 store 5 ,mem_le_pcnt_tx 
+0x59b5 011440 set1 39 ,pdata 
+0x59b6 011441 store 5 ,mem_le_pcnt_rx 
+0x59b7 011442 fetch 1 ,mem_le_state 
+0x59b8 011443 set0 lestate_encryption ,pdata 
+0x59b9 011444 store 1 ,mem_le_state 
+0x59ba 011445 rtn 
+:      011448 le_wait_adv:
+0x59bb 011449 bpatchx patch22_6 ,mem_patch22 
+0x59bc 011450 call le_next_adv_channel 
+0x59bd 011451 call le_receive_adv 
+0x59be 011452 fetch 1 ,mem_le_adv_waitcnt 
+0x59bf 011453 increase 1 ,pdata 
+0x59c0 011454 store 1 ,mem_le_adv_waitcnt 
+0x59c1 011455 rtn 
+:      011458 le_scan:
+0x59c2 011459 bpatchx patch22_7 ,mem_patch22 
+0x59c3 011460 fetch 1 ,mem_le_scan_enable 
+0x59c4 011461 rtnne le_scan_enable 
+0x59c5 011462 arg le_scan_interval_timer ,queue 
+0x59c6 011463 call timer_check 
+0x59c7 011464 nrtn blank 
+0x59c8 011465 fetch 2 ,mem_le_scan_interval 
+0x59c9 011466 fetcht 2 ,mem_le_scan_window 
+0x59ca 011467 isub temp ,pdata 
+0x59cb 011468 arg le_scan_interval_timer ,queue 
+0x59cc 011469 call timer_init 
+0x59cd 011470 disable master 
+0x59ce 011471 call le_init_adv 
+0x59cf 011472 call le_wait_adv 
+0x59d0 011473 nrtn match 
+0x59d1 011474 bpatchx patch23_0 ,mem_patch23 
+0x59d2 011475 fetch 6 ,mem_le_rxbuf + 2 
+0x59d3 011476 store 6 ,mem_le_plap 
+0x59d4 011479 fetch 1 ,mem_le_adv_rcv 
+0x59d5 011480 increase 1 ,pdata 
+0x59d6 011481 store 1 ,mem_le_adv_rcv 
+0x59d7 011482 call le_create_conn 
+0x59d8 011483 rtn master 
+0x59d9 011484 call le_send_scan_request 
+0x59da 011485 nrtn match 
+0x59db 011486 bpatchx patch23_1 ,mem_patch23 
+0x59dc 011487 fetch 1 ,mem_le_scanrsp_rcv 
+0x59dd 011488 increase 1 ,pdata 
+0x59de 011489 store 1 ,mem_le_scanrsp_rcv 
+0x59df 011490 fetch 9 ,mem_le_rxbuf + 8 
+0x59e0 011491 store 9 ,mem_tmp_buffer 
+0x59e1 011492 rtn 
+:      011494 le_create_conn:
+0x59e2 011495 bpatchx patch23_2 ,mem_patch23 
+0x59e3 011496 fetch 1 ,mem_cmd_le_create_conn 
+0x59e4 011497 rtnne hci_cmd_le_create_conn 
+0x59e5 011498 fetch 6 ,mem_le_plap 
+0x59e6 011499 fetcht 6 ,mem_le_conn_peer_addr 
+0x59e7 011500 isub temp ,null 
+0x59e8 011501 nrtn zero 
+0x59e9 011502 call context_new 
+0x59ea 011503 nrtn zero 
+0x59eb 011504 call le_connect_request 
+0x59ec 011505 call le_init_master 
+0x59ed 011506 bpatchx patch23_3 ,mem_patch23 
+0x59ee 011507 jam 0 ,mem_hci_cmd 
+0x59ef 011508 jam 0 ,mem_le_peer_sca 
+0x59f0 011509 jam 0 ,mem_le_scan_enable 
+0x59f1 011510 jam 0 ,mem_cmd_le_create_conn 
+0x59f2 011511 branch context_save 
+:      011513 le_scan_check_sender_addr_type:
+0x59f3 011514 arg 1 ,rega 
+0x59f4 011515 fetch 1 ,mem_le_rxbuf 
+0x59f5 011516 rtnbit1 le_sender_addr_bit 
+0x59f6 011517 arg 0 ,rega 
+0x59f7 011518 rtn 
+:      011522 le_prepare_tx:
+0x59f8 011523 bpatchx patch23_4 ,mem_patch23 
+0x59f9 011524 fetch 1 ,mem_le_arq 
+0x59fa 011525 rtnbit1 wak 
+0x59fb 011526 call le_check_tx_md 
+0x59fc 011527 call le_fifo_get_first_tx_ptr 
+0x59fd 011528 branch le_send_empty ,blank 
+0x59fe 011529 ifetch 1 ,contr 
+0x59ff 011530 ifetcht 1 ,contr 
+0x5a00 011531 copy temp ,rega 
+0x5a01 011532 isub rega ,pdata 
+0x5a02 011533 arg le_max_paket_len ,temp 
+0x5a03 011534 call not_greater_than 
+0x5a04 011535 copy pdata ,temp 
+0x5a05 011536 ifetch 1 ,contr 
+0x5a06 011537 copy pdata ,type 
+0x5a07 011538 copy rega ,pdata 
+0x5a08 011539 iadd contr ,contr 
+0x5a09 011540 arg mem_le_txpayload ,contw 
+0x5a0a 011541 copy temp ,loopcnt 
+0x5a0b 011542 call memcpy 
+0x5a0c 011543 call le_update_tx_type 
+0x5a0d 011544 call le_send_packet 
+0x5a0e 011546 call le_fifo_get_first_tx_ptr 
+0x5a0f 011547 ifetch 1 ,contr 
+0x5a10 011548 copy pdata ,rega 
+0x5a11 011549 copy contr ,regc 
+0x5a12 011550 ifetcht 1 ,contr 
+0x5a13 011551 copy temp ,regb 
+0x5a14 011552 isub regb ,pdata 
+0x5a15 011553 arg le_max_paket_len ,temp 
+0x5a16 011554 call not_greater_than 
+0x5a17 011555 iadd regb ,pdata 
+0x5a18 011556 istore 1 ,regc 
+0x5a19 011557 isub rega ,null 
+0x5a1a 011558 nrtn zero 
+0x5a1b 011559 branch le_fifo_release_first_node 
+:      011562 le_check_tx_md:
+0x5a1c 011563 call le_check_continue 
+0x5a1d 011564 rtnmark1 mark_ble_tx_md 
+0x5a1e 011565 fetch 1 ,mem_le_configuration 
+0x5a1f 011566 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+0x5a20 011567 call le_fifo_get_second_tx_ptr 
+0x5a21 011568 branch le_clear_md ,blank 
+0x5a22 011569 branch le_set_md 
+:      011572 le_check_continue:
+0x5a23 011573 call le_fifo_get_first_tx_ptr 
+0x5a24 011574 branch le_clear_md ,blank 
+0x5a25 011575 ifetch 1 ,contr 
+0x5a26 011576 ifetcht 1 ,contr 
+0x5a27 011577 isub temp ,pdata 
+0x5a28 011578 sub pdata ,le_max_paket_len ,null 
+0x5a29 011579 branch le_clear_md ,positive 
+:      011580 le_set_md:
+0x5a2a 011581 set1 mark_ble_tx_md ,mark 
+0x5a2b 011582 rtn 
+:      011584 le_clear_md:
+0x5a2c 011585 set0 mark_ble_tx_md ,mark 
+0x5a2d 011586 rtn 
+:      011588 le_update_tx_type:
+0x5a2e 011589 copy rega ,pdata 
+0x5a2f 011590 rtn blank 
+0x5a30 011591 arg llid_continue ,type 
+0x5a31 011592 rtn 
+:      011595 le_att_check_notification_enable:
+0x5a32 011596 bpatchx patch23_5 ,mem_patch23 
+0x5a33 011597 increase 1 ,temp 
+0x5a34 011598 call le_att_get_handle_ptr 
+0x5a35 011599 increase -2 ,contr 
+0x5a36 011600 ifetch 2 ,contr 
+0x5a37 011601 arg client_charactertic_configuration ,temp 
+0x5a38 011602 isub temp ,null 
+0x5a39 011603 nrtn zero 
+0x5a3a 011604 increase 1 ,contr 
+0x5a3b 011605 copy contr ,rega 
+0x5a3c 011606 ifetch 1 ,contr 
+0x5a3d 011607 rtn 
+:      011610 le_send_empty:
+0x5a3e 011611 force 0 ,temp 
+0x5a3f 011612 force 1 ,type 
+:      011614 le_send_packet:
+0x5a40 011615 bpatchx patch23_6 ,mem_patch23 
+0x5a41 011616 storet 1 ,mem_le_txlen 
+0x5a42 011617 fetcht 1 ,mem_le_arq 
+0x5a43 011618 set1 wak ,temp 
+0x5a44 011619 and temp ,0xfc ,pdata 
+0x5a45 011620 ior type ,pdata 
+0x5a46 011621 store 1 ,mem_le_arq 
+0x5a47 011622 and_into 0x1f ,pdata 
+0x5a48 011623 isolate1 mark_ble_tx_md ,mark 
+0x5a49 011624 setflag true ,md ,pdata 
+0x5a4a 011625 store 1 ,mem_le_txheader 
+0x5a4b 011627 fetch 1 ,mem_le_txheader 
+0x5a4c 011628 compare 1 ,type ,3 
+0x5a4d 011629 nbranch le_send_no_txlen ,true 
+0x5a4e 011630 fetch 1 ,mem_le_txlen 
+0x5a4f 011631 rtn blank 
+:      011632 le_send_no_txlen:
+0x5a50 011633 fetch 1 ,mem_le_state 
+0x5a51 011634 rtnbit0 lestate_encryption 
+0x5a52 011635 call load_sk 
+0x5a53 011636 branch le_encrypt 
+:      011639 get_lpm_wake_ble_rx_lock:
+0x5a54 011640 arg wake_lock_ble_rx ,queue 
+0x5a55 011641 branch lpm_get_wake_lock 
+:      011643 put_lpm_wake_ble_rx_lock:
+0x5a56 011644 arg wake_lock_ble_rx ,queue 
+0x5a57 011645 branch lpm_put_wake_lock 
+:      011648 le_parse:
+0x5a58 011649 bpatchx patch23_7 ,mem_patch23 
+0x5a59 011650 rtnmark1 mark_old_packet 
+0x5a5a 011651 call le_fifo_check_full 
+0x5a5b 011652 nrtn blank 
+0x5a5c 011653 fetch 1 ,mem_le_rxbuf 
+0x5a5d 011654 and pdata ,0x3 ,pdata 
+0x5a5e 011655 store 1 ,mem_le_packet_llid 
+0x5a5f 011656 ifetch 1 ,contr 
+0x5a60 011657 and pdata ,0x1f ,pdata 
+0x5a61 011658 store 1 ,mem_le_packet_size 
+0x5a62 011659 rtn blank 
+0x5a63 011660 copy contr ,pdata 
+0x5a64 011661 store 2 ,mem_le_payload_ptr 
+0x5a65 011662 bpatchx patch24_0 ,mem_patch24 
+0x5a66 011663 fetch 1 ,mem_le_packet_llid 
+0x5a67 011664 beq llid_le_ll ,le_parse_ll 
+:      011665 le_parse_l2cap:
+0x5a68 011666 bpatchx patch24_1 ,mem_patch24 
+0x5a69 011667 call le_check_l2cap_complete 
+0x5a6a 011668 nbranch get_lpm_wake_ble_rx_lock ,user 
+0x5a6b 011669 call put_lpm_wake_ble_rx_lock 
+0x5a6c 011670 fetch 2 ,mem_le_payload_ptr 
+0x5a6d 011671 copy pdata ,contr 
+0x5a6e 011672 ifetch 2 ,contr 
+0x5a6f 011673 store 2 ,mem_le_l2cap_size 
+0x5a70 011674 bpatchx patch24_2 ,mem_patch24 
+0x5a71 011675 ifetch 2 ,contr 
+0x5a72 011676 beq le_l2cap_cid_att ,le_parse_att 
+0x5a73 011677 beq le_l2cap_cid_smp ,le_parse_smp 
+0x5a74 011678 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x5a75 011679 rtn 
+:      011682 le_check_l2cap_complete:
+0x5a76 011683 fetch 1 ,mem_le_packet_llid 
+0x5a77 011684 beq llid_start ,le_check_l2cap_llid_start 
+0x5a78 011685 beq llid_continue ,le_check_l2cap_llid_continue 
+0x5a79 011686 rtn 
+:      011691 le_check_l2cap_cid_legal:
+0x5a7a 011692 call enable_user 
+0x5a7b 011693 arg le_l2cap_cid_att ,temp 
+0x5a7c 011694 isub pdata ,null 
+0x5a7d 011695 rtn zero 
+0x5a7e 011696 arg le_l2cap_cid_signal ,temp 
+0x5a7f 011697 isub pdata ,null 
+0x5a80 011698 rtn zero 
+0x5a81 011699 arg le_l2cap_cid_smp ,temp 
+0x5a82 011700 isub pdata ,null 
+0x5a83 011701 rtn zero 
+0x5a84 011702 branch disable_user 
+:      011705 le_check_l2cap_llid_start:
+0x5a85 011706 fetch 2 ,mem_le_payload_ptr 
+0x5a86 011707 copy pdata ,contr 
+0x5a87 011708 ifetch 2 ,contr 
+0x5a88 011709 store 2 ,mem_le_l2cap_size 
+0x5a89 011710 ifetch 2 ,contr 
+0x5a8a 011711 call le_check_l2cap_cid_legal 
+0x5a8b 011712 nrtn user 
+0x5a8c 011713 fetcht 1 ,mem_le_packet_size 
+0x5a8d 011714 storet 1 ,mem_le_packet_len_recved 
+0x5a8e 011715 fetch 2 ,mem_le_l2cap_size 
+0x5a8f 011716 increase 4 ,pdata 
+0x5a90 011717 isub temp ,null 
+0x5a91 011718 branch enable_user ,zero 
+0x5a92 011719 fetch 1 ,mem_le_packet_size 
+0x5a93 011720 copy pdata ,loopcnt 
+0x5a94 011721 arg mem_le_l2capbuf ,contw 
+0x5a95 011722 fetch 2 ,mem_le_payload_ptr 
+0x5a96 011723 copy pdata ,contr 
+0x5a97 011724 call memcpy 
+0x5a98 011725 branch disable_user 
+:      011730 le_check_l2cap_continue_legal:
+0x5a99 011731 call enable_user 
+0x5a9a 011732 fetch 1 ,mem_le_packet_len_recved 
+0x5a9b 011733 nrtn blank 
+0x5a9c 011734 branch disable_user 
+:      011736 le_check_l2cap_llid_continue:
+0x5a9d 011737 call le_check_l2cap_continue_legal 
+0x5a9e 011738 nrtn user 
+0x5a9f 011739 fetch 1 ,mem_le_packet_len_recved 
+0x5aa0 011740 arg mem_le_l2capbuf ,contw 
+0x5aa1 011741 iadd contw ,rega 
+0x5aa2 011742 fetcht 1 ,mem_le_packet_size 
+0x5aa3 011743 iadd temp ,pdata 
+0x5aa4 011744 store 1 ,mem_le_packet_len_recved 
+0x5aa5 011745 fetch 1 ,mem_le_packet_size 
+0x5aa6 011746 copy pdata ,loopcnt 
+0x5aa7 011747 copy rega ,contw 
+0x5aa8 011748 fetch 2 ,mem_le_payload_ptr 
+0x5aa9 011749 copy pdata ,contr 
+0x5aaa 011750 call memcpy_fast 
+0x5aab 011751 setarg mem_le_l2capbuf 
+0x5aac 011752 store 2 ,mem_le_payload_ptr 
+0x5aad 011753 fetch 2 ,mem_le_l2cap_size 
+0x5aae 011754 increase 4 ,pdata 
+0x5aaf 011755 fetcht 1 ,mem_le_packet_len_recved 
+0x5ab0 011756 isub temp ,null 
+0x5ab1 011757 branch enable_user ,zero 
+0x5ab2 011758 branch disable_user 
+:      011764 le_get_search_att_type:
+0x5ab3 011765 call store_contr 
+0x5ab4 011766 arg mem_le_search_att_type_length ,contw 
+:      011767 le_get_search_common:
+0x5ab5 011768 fetch 2 ,mem_le_l2cap_size 
+0x5ab6 011769 increase -5 ,pdata 
+:      011770 le_get_search_common2:
+0x5ab7 011771 istore 1 ,contw 
+0x5ab8 011772 copy pdata ,loopcnt 
+0x5ab9 011773 call get_contr 
+0x5aba 011774 branch memcpy_fast 
+:      011776 le_get_search_att_uuid:
+0x5abb 011777 call store_contr 
+0x5abc 011778 arg mem_le_search_uuid_length ,contw 
+0x5abd 011779 branch le_get_search_common 
+:      011783 le_writeatt_cb:
+0x5abe 011784 fetch 2 ,mem_cb_att_write 
+0x5abf 011785 branch callback_func 
+:      011787 le_supervision_update:
+0x5ac0 011788 fetcht 4 ,mem_le_supervision_timer 
+0x5ac1 011789 call get_clkbt 
+0x5ac2 011790 isub temp ,timeup 
+0x5ac3 011791 deposit timeup 
+0x5ac4 011792 fetcht 2 ,mem_le_superto 
+0x5ac5 011793 lshift4 temp ,temp 
+0x5ac6 011794 lshift temp ,temp 
+0x5ac7 011795 isub temp ,pdata 
+0x5ac8 011796 rtn 
+:      011798 le_supervision_flush:
+0x5ac9 011799 call get_clkbt 
+0x5aca 011800 store 4 ,mem_le_supervision_timer 
+0x5acb 011801 rtn 
+:      011804 le_adv:
+0x5acc 011805 jam 36 ,mem_le_ch_mapped 
+0x5acd 011806 jam 0 ,mem_le_adv_channel_map_temp 
+:      011807 le_adv_loop:
+0x5ace 011808 bpatchx patch24_3 ,mem_patch24 
+0x5acf 011809 fetch 1 ,mem_le_adv_enable 
+0x5ad0 011810 rtn blank 
+0x5ad1 011811 arg le_adv_interval_timer ,queue 
+0x5ad2 011812 call timer_check 
+0x5ad3 011813 nrtn blank 
+0x5ad4 011814 bpatchx patch24_4 ,mem_patch24 
+:      011815 le_adv_loop_tx:
+0x5ad5 011816 disable master 
+0x5ad6 011817 enable swfine 
+0x5ad7 011818 call le_init_adv 
+0x5ad8 011819 call le_next_adv_channel 
+0x5ad9 011820 call le_send_adv_ind 
+0x5ada 011821 nbranch le_adv_not_match ,match 
+0x5adb 011822 fetch 1 ,mem_le_req_rcv 
+0x5adc 011823 increase 1 ,pdata 
+0x5add 011824 store 1 ,mem_le_req_rcv 
+0x5ade 011825 fetch 1 ,mem_le_rxbuf 
+0x5adf 011826 and pdata ,0x0f ,pdata 
+0x5ae0 011827 beq scan_req ,le_send_scan_response 
+0x5ae1 011828 beq connect_req ,le_parse_connect_req 
+:      011829 le_adv_not_match:
+0x5ae2 011830 bpatchx patch24_5 ,mem_patch24 
+0x5ae3 011831 random pdata 
+0x5ae4 011832 arg 0x1ff ,temp 
+0x5ae5 011833 iand temp ,pdata 
+0x5ae6 011834 add pdata ,250 ,pdata 
+0x5ae7 011835 call delay 
+0x5ae8 011836 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5ae9 011837 fetcht 1 ,mem_le_adv_channel_map 
+0x5aea 011838 isub temp ,null 
+0x5aeb 011839 nbranch le_adv_loop ,zero 
+0x5aec 011840 arg le_adv_interval_timer ,queue 
+0x5aed 011841 fetch 2 ,mem_le_adv_interval 
+0x5aee 011842 branch timer_init 
+:      011844 delay:
+0x5aef 011845 increase -1 ,pdata 
+0x5af0 011846 nop 38 
+0x5af1 011847 nbranch delay ,blank 
+0x5af2 011848 rtn 
+:      011851 le_receive_window_size:
+0x5af3 011852 bpatchx patch24_6 ,mem_patch24 
+0x5af4 011853 fetch 1 ,mem_le_peer_sca 
+0x5af5 011854 call le_sca_map 
+0x5af6 011855 fetch 2 ,mem_le_tsniff 
+0x5af7 011856 imul32 temp ,pdata 
+0x5af8 011857 arg 375 ,temp 
+0x5af9 011858 imul32 temp ,pdata 
+0x5afa 011859 arg 100000 ,temp 
+0x5afb 011860 idiv temp 
+0x5afc 011861 fetch 1 ,mem_le_window_size 
+0x5afd 011862 arg 20000 ,temp 
+0x5afe 011863 imul32 temp ,pdata 
+0x5aff 011864 iadd temp ,pdata 
+0x5b00 011865 store 4 ,mem_le_transmit_window 
+0x5b01 011866 bpatchx patch24_7 ,mem_patch24 
+0x5b02 011867 fetch 2 ,mem_rx_window_sniff 
+0x5b03 011868 call wait_div_end 
+0x5b04 011869 quotient temp 
+0x5b05 011870 iadd temp ,pdata 
+0x5b06 011871 store 2 ,mem_le_receive_window 
+0x5b07 011872 rtn 
+:      011874 le_parse_connect_req:
+0x5b08 011875 bpatchx patch25_0 ,mem_patch25 
+0x5b09 011876 fetch 6 ,mem_le_rxbuf + 8 
+0x5b0a 011877 fetcht 6 ,mem_le_lap 
+0x5b0b 011878 isub temp ,null 
+0x5b0c 011879 nrtn zero 
+0x5b0d 011880 call le_scan_check_sender_addr_type 
+0x5b0e 011881 copy rega ,pdata 
+0x5b0f 011882 store 1 ,mem_le_conn_peer_addr_type 
+0x5b10 011883 fetch 7 ,mem_le_rxbuf + 21 
+0x5b11 011884 store 7 ,mem_tmp_buffer 
+0x5b12 011885 ifetch 8 ,contr 
+0x5b13 011886 istore 8 ,contw 
+0x5b14 011887 fetch 6 ,mem_le_rxbuf + 2 
+0x5b15 011888 store 6 ,mem_le_plap 
+0x5b16 011889 increase 6 ,contr 
+0x5b17 011890 ifetch 8 ,contr 
+0x5b18 011891 store 8 ,mem_le_access 
+0x5b19 011892 ifetcht 2 ,contr 
+0x5b1a 011893 bpatchx patch25_1 ,mem_patch25 
+0x5b1b 011895 lshift2 temp ,temp 
+0x5b1c 011896 ifetch 2 ,contr 
+0x5b1d 011897 lshift2 pdata ,pdata 
+0x5b1e 011898 store 2 ,mem_le_tsniff 
+0x5b1f 011899 store 4 ,mem_le_anchor 
+0x5b20 011900 isub temp ,pdata 
+0x5b21 011901 add pdata ,-2 ,clke_bt 
+0x5b22 011902 ifetch 9 ,contr 
+0x5b23 011903 store 9 ,mem_le_slave_latency 
+0x5b24 011904 bpatchx patch25_2 ,mem_patch25 
+0x5b25 011905 ifetch 1 ,contr 
+0x5b26 011906 rshift4 pdata ,temp 
+0x5b27 011907 rshift temp ,temp 
+0x5b28 011908 storet 1 ,mem_le_peer_sca 
+0x5b29 011909 and_into 0x1f ,pdata 
+0x5b2a 011910 store 1 ,mem_le_hop 
+0x5b2b 011911 call le_receive_window_size 
+0x5b2c 011912 call le_calc_channel_map 
+0x5b2d 011913 call le_init_slave 
+0x5b2e 011914 call context_new 
+0x5b2f 011915 nrtn zero 
+0x5b30 011916 bpatchx patch25_3 ,mem_patch25 
+0x5b31 011917 call calc_clke_offset 
+0x5b32 011918 call le_l2cap_reset_signaling_identifier 
+0x5b33 011919 jam bt_evt_le_connected ,mem_fifo_temp 
+0x5b34 011920 call ui_ipc_send_event 
+0x5b35 011922 branch context_save 
+:      011925 le_init_attlist_search:
+0x5b36 011926 bpatchx patch25_4 ,mem_patch25 
+0x5b37 011927 fetch 2 ,mem_le_search_handle_start 
+0x5b38 011928 iforce regb 
+0x5b39 011929 fetch 2 ,mem_le_search_handle_end 
+0x5b3a 011930 iforce regc 
+0x5b3b 011931 fetch 2 ,mem_ui_le_uuid_table 
+0x5b3c 011932 iforce contr 
+0x5b3d 011933 enable user 
+0x5b3e 011934 rtn 
+:      011937 le_att_handle_inrange:
+0x5b3f 011938 ifetch 2 ,contr 
+0x5b40 011939 rtn blank 
+0x5b41 011940 isub regb ,null 
+0x5b42 011941 nrtn positive 
+0x5b43 011942 isub regc ,null 
+0x5b44 011943 rtn zero 
+0x5b45 011944 branch le_att_handle_blank ,positive 
+0x5b46 011945 force 1 ,null 
+0x5b47 011946 rtn 
+:      011947 le_att_handle_blank:
+0x5b48 011948 force 0 ,pdata 
+0x5b49 011949 rtn 
+:      011953 le_att_get_handle_ptr:
+0x5b4a 011954 call le_att_get_handle_ptr2 
+0x5b4b 011955 branch le_att_get_handle_ptr_found ,zero 
+0x5b4c 011956 rtn 
+:      011958 le_att_get_handle_ptr2:
+0x5b4d 011959 bpatchx patch25_5 ,mem_patch25 
+0x5b4e 011960 fetch 2 ,mem_ui_le_uuid_table 
+0x5b4f 011961 iforce contr 
+:      011962 le_att_get_handle_loop1:
+0x5b50 011963 ifetch 2 ,contr 
+0x5b51 011964 rtn blank 
+0x5b52 011965 isub temp ,null 
+0x5b53 011966 rtn zero 
+0x5b54 011967 ifetch 1 ,contr 
+0x5b55 011968 iadd contr ,contr 
+0x5b56 011969 ifetch 1 ,contr 
+0x5b57 011970 iadd contr ,contr 
+0x5b58 011971 branch le_att_get_handle_loop1 
+:      011972 le_att_get_handle_ptr_found:
+0x5b59 011973 ifetch 1 ,contr 
+0x5b5a 011974 iadd contr ,contr 
+0x5b5b 011975 rtn 
+:      011979 le_att_get_short_uuid_ptr:
+0x5b5c 011980 bpatchx patch25_6 ,mem_patch25 
+0x5b5d 011981 fetch 2 ,mem_ui_le_uuid_table 
+0x5b5e 011982 iforce contr 
+:      011983 le_att_get_short_uuid_loop:
+0x5b5f 011984 ifetch 2 ,contr 
+0x5b60 011985 rtn blank 
+0x5b61 011986 ifetch 1 ,contr 
+0x5b62 011987 iadd contr ,contr 
+0x5b63 011988 increase -2 ,contr 
+0x5b64 011989 ifetch 2 ,contr 
+0x5b65 011990 isub temp ,null 
+0x5b66 011991 rtn zero 
+0x5b67 011992 ifetch 1 ,contr 
+0x5b68 011993 iadd contr ,contr 
+0x5b69 011994 branch le_att_get_short_uuid_loop 
+:      011998 le_att_get_handle_info_from_ptr:
+0x5b6a 011999 fetch 2 ,mem_le_cur_attlist_start_ptr 
+0x5b6b 012000 branch le_att_get_handle_info_fast 
+:      012002 le_att_get_handle_info:
+0x5b6c 012003 bpatchx patch25_7 ,mem_patch25 
+0x5b6d 012004 fetch 2 ,mem_ui_le_uuid_table 
+:      012005 le_att_get_handle_info_fast:
+0x5b6e 012006 iforce contr 
+0x5b6f 012007 copy temp ,rega 
+:      012008 le_att_get_handle_loop:
+0x5b70 012009 ifetch 2 ,contr 
+0x5b71 012010 branch le_att_unfind_handle ,blank 
+0x5b72 012011 isub rega ,null 
+0x5b73 012012 branch le_att_finded_handle ,zero 
+0x5b74 012013 ifetch 1 ,contr 
+0x5b75 012014 iadd contr ,contr 
+0x5b76 012015 ifetch 1 ,contr 
+0x5b77 012016 iadd contr ,contr 
+0x5b78 012017 branch le_att_get_handle_loop 
+:      012018 le_att_unfind_handle:
+0x5b79 012019 branch disable_blank 
+:      012021 le_att_finded_handle:
+0x5b7a 012022 ifetch 1 ,contr 
+0x5b7b 012023 store 1 ,mem_le_cur_uuid_length 
+0x5b7c 012024 copy pdata ,loopcnt 
+0x5b7d 012025 arg mem_le_cur_uuid ,contw 
+0x5b7e 012026 call memcpy_fast 
+0x5b7f 012027 ifetch 1 ,contr 
+0x5b80 012028 store 1 ,mem_le_curr_att_len 
+0x5b81 012029 call store_contr 
+0x5b82 012030 branch enable_blank 
+:      012033 le_modified_name:
+0x5b83 012034 bpatchx patch26_0 ,mem_patch26 
+0x5b84 012035 call le_modified_name_att_list 
+0x5b85 012036 branch le_modified_name_adv 
+:      012038 le_modified_name_att_list:
+0x5b86 012039 arg uuid_chrctr_device_name ,temp 
+0x5b87 012040 call le_att_get_short_uuid_ptr 
+0x5b88 012041 rtn blank 
+0x5b89 012042 ifetch 1 ,contr 
+0x5b8a 012043 copy contr ,contw 
+0x5b8b 012044 fetcht 1 ,mem_le_name_len 
+0x5b8c 012045 copy temp ,loopcnt 
+0x5b8d 012046 isub temp ,null 
+0x5b8e 012047 nbranch le_name_length_longer_than_att ,positive 
+0x5b8f 012048 isub temp ,temp 
+0x5b90 012049 arg mem_le_name ,contr 
+0x5b91 012050 call memcpy 
+0x5b92 012051 copy temp ,loopcnt 
+0x5b93 012052 ncall memcpy_empty ,zero 
+0x5b94 012053 rtn 
+:      012054 le_name_length_longer_than_att:
+0x5b95 012055 copy pdata ,loopcnt 
+0x5b96 012056 arg mem_le_name ,contr 
+0x5b97 012057 branch memcpy_fast 
+:      012060 le_modified_name_adv:
+0x5b98 012061 arg mem_le_adv_data_len + 32 ,regc 
+0x5b99 012062 arg mem_le_adv_data ,rega 
+0x5b9a 012063 call le_modified_name_adv_and_scan 
+0x5b9b 012064 setarg 0 
+0x5b9c 012065 setflag user ,0 ,pdata 
+0x5b9d 012066 store 1 ,mem_pdatatemp 
+0x5b9e 012067 arg mem_le_scan_data_len + 32 ,regc 
+0x5b9f 012068 arg mem_le_scan_data ,rega 
+0x5ba0 012069 call le_modified_name_adv_and_scan 
+0x5ba1 012070 rtn user 
+0x5ba2 012071 fetch 1 ,mem_pdatatemp 
+0x5ba3 012072 branch assert ,blank 
+0x5ba4 012073 rtn 
+:      012076 le_modified_name_adv_and_scan:
+0x5ba5 012077 bpatchx patch26_1 ,mem_patch26 
+0x5ba6 012078 call enable_user 
+0x5ba7 012079 call clear_temp_block 
+0x5ba8 012080 arg 0 ,regb 
+0x5ba9 012081 arg mem_le_data_temp ,contw 
+0x5baa 012082 call le_modified_name_adv_loop 
+0x5bab 012083 fetch 1 ,mem_le_name_len 
+0x5bac 012084 add pdata ,1 ,temp 
+0x5bad 012085 iadd regb ,rega 
+0x5bae 012086 increase 2 ,rega 
+0x5baf 012087 sub rega ,0x1f ,null 
+0x5bb0 012088 nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+0x5bb1 012089 istoret 1 ,contw 
+0x5bb2 012090 arg gap_adtype_local_name_complete ,temp 
+0x5bb3 012091 istoret 1 ,contw 
+0x5bb4 012092 iforce loopcnt 
+0x5bb5 012093 call memcpy_fast 
+0x5bb6 012094 copy rega ,regb 
+:      012095 le_modified_name_adv_and_scan_store_data:
+0x5bb7 012096 deposit regb 
+0x5bb8 012097 store 1 ,mem_le_data_len_temp 
+0x5bb9 012098 arg mem_le_data_len_temp ,contr 
+0x5bba 012099 setarg -32 
+0x5bbb 012100 iadd regc ,contw 
+0x5bbc 012101 branch memcpy32 
+:      012103 le_modified_name_adv_and_scan_name_overflow:
+0x5bbd 012104 call disable_user 
+0x5bbe 012105 branch le_modified_name_adv_and_scan_store_data 
+:      012107 le_modified_name_adv_loop:
+0x5bbf 012108 ifetch 1 ,rega 
+0x5bc0 012109 rtn blank 
+0x5bc1 012110 pincrease 1 
+0x5bc2 012111 ifetcht 1 ,contr 
+0x5bc3 012112 sub temp ,gap_adtype_local_name_complete ,null 
+0x5bc4 012113 branch le_modified_name_adv_found_name ,zero 
+0x5bc5 012114 iadd regb ,regb 
+0x5bc6 012115 copy rega ,contr 
+0x5bc7 012116 iforce loopcnt 
+0x5bc8 012117 call memcpy_fast 
+0x5bc9 012118 copy contr ,rega 
+:      012119 le_modified_name_adv_loop2:
+0x5bca 012120 deposit rega 
+0x5bcb 012121 isub regc ,null 
+0x5bcc 012122 rtn positive 
+0x5bcd 012123 branch le_modified_name_adv_loop 
+:      012125 le_modified_name_adv_found_name:
+0x5bce 012126 iadd rega ,rega 
+0x5bcf 012127 branch le_modified_name_adv_loop2 
+:      012130 memcpy_empty:
+0x5bd0 012131 setarg space 
+0x5bd1 012132 istore 1 ,contw 
+0x5bd2 012133 loop memcpy_empty 
+0x5bd3 012134 rtn 
+:      012137 le_lpm_set_mult:
+0x5bd4 012138 bpatchx patch26_2 ,mem_patch26 
+0x5bd5 012139 disable wake 
+0x5bd6 012140 branch le_lpm_set_mult_attempt ,attempt 
+0x5bd7 012141 nbranch le_lpm_lost ,match 
+:      012142 le_lpm_set_mult_attempt:
+0x5bd8 012143 call lpm_match 
+0x5bd9 012144 fetch 2 ,mem_rx_window_sniff 
+0x5bda 012145 store 2 ,mem_le_receive_window 
+0x5bdb 012147 nbranch lpm_mult_short ,match 
+0x5bdc 012148 bmark1 mark_old_packet ,lpm_mult_short 
+0x5bdd 012150 fetch 1 ,mem_le_packet_size 
+0x5bde 012151 nbranch lpm_mult_short ,blank 
+0x5bdf 012152 fetch 1 ,mem_le_txlen 
+0x5be0 012153 nbranch lpm_mult_short ,blank 
+0x5be1 012155 fetch 1 ,mem_le_configuration 
+0x5be2 012156 bbit1 bit_ble_short_mult ,lpm_mult_short 
+0x5be3 012158 fetch 1 ,mem_le_state 
+0x5be4 012159 bbit1 lestate_update_param ,lpm_mult_short 
+0x5be5 012160 branch lpm_mult_wait_timeout 
+:      012162 le_lpm_lost:
+0x5be6 012163 fetcht 2 ,mem_rx_window_sniff 
+0x5be7 012164 rshift temp ,temp 
+0x5be8 012165 fetch 2 ,mem_le_receive_window 
+0x5be9 012166 iadd temp ,pdata 
+0x5bea 012167 store 2 ,mem_le_receive_window 
+0x5beb 012168 branch lpm_lost 
+:      012171 le_set_config_fixed_tk:
+0x5bec 012172 arg bit_ble_passkey_fixed_key ,queue 
+0x5bed 012173 branch le_set_config 
+:      012175 le_clr_config_fixed_tk:
+0x5bee 012176 arg bit_ble_passkey_fixed_key ,queue 
+0x5bef 012177 branch le_clr_config 
+:      012179 le_set_config_fixed_ltk:
+0x5bf0 012180 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5bf1 012181 branch le_set_config 
+:      012183 le_clr_config_fixed_ltk:
+0x5bf2 012184 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5bf3 012185 branch le_clr_config 
+:      012187 le_set_config_more_data:
+0x5bf4 012188 arg bit_ble_transmit_packet_by_md ,queue 
+0x5bf5 012189 branch le_set_config 
+:      012191 le_clr_config_more_data:
+0x5bf6 012192 arg bit_ble_transmit_packet_by_md ,queue 
+0x5bf7 012193 branch le_clr_config 
+:      012195 le_set_config_read_authentication:
+0x5bf8 012196 arg bit_ble_read_auth ,queue 
+0x5bf9 012197 branch le_set_config 
+:      012199 le_clr_config_read_authentication:
+0x5bfa 012200 arg bit_ble_read_auth ,queue 
+0x5bfb 012201 branch le_clr_config 
+:      012203 le_set_config_write_authentication:
+0x5bfc 012204 arg bit_ble_write_auth ,queue 
+0x5bfd 012205 branch le_set_config 
+:      012207 le_clr_config_write_authentication:
+0x5bfe 012208 arg bit_ble_write_auth ,queue 
+0x5bff 012209 branch le_clr_config 
+:      012211 le_set_config_short_mult:
+0x5c00 012212 arg bit_ble_short_mult ,queue 
+0x5c01 012213 branch le_set_config 
+:      012215 le_clr_config_short_mult:
+0x5c02 012216 arg bit_ble_short_mult ,queue 
+0x5c03 012217 branch le_clr_config 
+:      012220 le_set_config:
+0x5c04 012221 fetch 1 ,mem_le_configuration 
+0x5c05 012222 qset1 pdata 
+0x5c06 012223 store 1 ,mem_le_configuration 
+0x5c07 012224 rtn 
+:      012226 le_clr_config:
+0x5c08 012227 fetch 1 ,mem_le_configuration 
+0x5c09 012228 qset0 pdata 
+0x5c0a 012229 store 1 ,mem_le_configuration 
+0x5c0b 012230 rtn 
+:      012232 le_set_fixed_ltk:
+0x5c0c 012233 setarg 0x112233 
+0x5c0d 012234 store 3 ,mem_le_fixed_ltk 
+0x5c0e 012235 setarg 0x445566 
+0x5c0f 012236 istore 3 ,contw 
+0x5c10 012237 setarg 0x778899 
+0x5c11 012238 istore 3 ,contw 
+0x5c12 012239 setarg 0x001122 
+0x5c13 012240 istore 3 ,contw 
+0x5c14 012241 setarg 0x334455 
+0x5c15 012242 istore 3 ,contw 
+0x5c16 012243 setarg 0x66 
+0x5c17 012244 istore 1 ,contw 
+0x5c18 012245 rtn 
+:      012248 le_set_justwork:
+0x5c19 012249 setarg 0x01000302 
+0x5c1a 012250 store 4 ,mem_le_pres 
+0x5c1b 012251 setarg 0x010010 
+0x5c1c 012252 store 3 ,mem_le_pres_max_keysize 
+0x5c1d 012253 jam 1 ,mem_le_pairing_mode 
+0x5c1e 012254 rtn 
+:      012258 le_fifo_malloc_tx_empty:
+0x5c1f 012259 arg 0 ,rega 
+0x5c20 012260 arg llid_empty ,type 
+0x5c21 012261 branch le_fifo_malloc_tx 
+:      012265 le_fifo_malloc_tx_ll:
+0x5c22 012266 arg llid_le_ll ,type 
+0x5c23 012267 call le_fifo_malloc_tx 
+0x5c24 012268 copy regb ,pdata 
+0x5c25 012269 istore 1 ,contw 
+0x5c26 012270 rtn 
+:      012274 le_fifo_malloc_tx_l2cap:
+0x5c27 012275 force llid_start ,type 
+0x5c28 012276 increase 4 ,rega 
+0x5c29 012277 call le_fifo_malloc_tx 
+0x5c2a 012278 increase -4 ,rega 
+0x5c2b 012279 copy rega ,pdata 
+0x5c2c 012280 istore 2 ,contw 
+0x5c2d 012281 copy regb ,pdata 
+0x5c2e 012282 istore 2 ,contw 
+0x5c2f 012283 rtn 
+:      012287 le_fifo_malloc_tx:
+0x5c30 012288 sub rega ,240 ,null 
+0x5c31 012289 nbranch assert ,positive 
+0x5c32 012290 fetch 1 ,mem_le_tx_buff_used 
+0x5c33 012291 arg 1 ,temp 
+0x5c34 012292 arg le_tx_buff_count ,loopcnt 
+:      012293 le_fifo_malloc_tx_loop:
+0x5c35 012294 iand temp ,null 
+0x5c36 012295 branch le_fifo_malloc_tx_got_empty ,zero 
+0x5c37 012296 lshift temp ,temp 
+0x5c38 012297 loop le_fifo_malloc_tx_loop 
+0x5c39 012298 branch assert 
+:      012299 le_fifo_malloc_tx_got_empty:
+0x5c3a 012300 ixor temp ,pdata 
+0x5c3b 012301 store 1 ,mem_le_tx_buff_used 
+0x5c3c 012302 sub loopcnt ,le_tx_buff_count ,pdata 
+0x5c3d 012303 lshift4 pdata ,pdata 
+0x5c3e 012304 lshift4 pdata ,pdata 
+0x5c3f 012305 arg mem_le_tx_buffer0 ,temp 
+0x5c40 012306 iadd temp ,temp 
+:      012307 le_fifo_tx_find_empty_ptr:
+0x5c41 012308 arg 0 ,loopcnt 
+0x5c42 012309 arg mem_le_tx_ptr0 ,contr 
+:      012310 le_fifo_tx_find_empty_ptr_loop:
+0x5c43 012311 ifetch 2 ,contr 
+0x5c44 012312 branch le_fifo_tx_found_empty_ptr ,blank 
+0x5c45 012313 copy loopcnt ,pdata 
+0x5c46 012314 increase 1 ,loopcnt 
+0x5c47 012315 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+0x5c48 012316 branch assert 
+:      012319 le_fifo_tx_found_empty_ptr:
+0x5c49 012320 increase -2 ,contr 
+0x5c4a 012321 istoret 2 ,contr 
+0x5c4b 012322 copy temp ,contw 
+0x5c4c 012323 copy rega ,pdata 
+0x5c4d 012324 istore 1 ,contw 
+0x5c4e 012325 setarg 0 
+0x5c4f 012326 istore 1 ,contw 
+0x5c50 012327 copy type ,pdata 
+0x5c51 012328 istore 1 ,contw 
+0x5c52 012329 rtn 
+:      012333 le_fifo_get_first_tx_ptr:
+0x5c53 012334 fetch 2 ,mem_le_tx_ptr0 
+0x5c54 012335 copy pdata ,contr 
+0x5c55 012336 rtn 
+:      012338 le_fifo_get_second_tx_ptr:
+0x5c56 012339 fetch 2 ,mem_le_tx_ptr1 
+0x5c57 012340 copy pdata ,contr 
+0x5c58 012341 rtn 
+:      012343 le_fifo_get_last_tx_ptr:
+0x5c59 012344 call le_fifo_get_last_tx_ptr0 
+0x5c5a 012345 copy pdata ,contr 
+0x5c5b 012346 rtn 
+:      012347 le_fifo_get_last_tx_ptr0:
+0x5c5c 012348 fetch 2 ,mem_le_tx_ptr3 
+0x5c5d 012349 nrtn blank 
+0x5c5e 012350 fetch 2 ,mem_le_tx_ptr2 
+0x5c5f 012351 nrtn blank 
+0x5c60 012352 fetch 2 ,mem_le_tx_ptr1 
+0x5c61 012353 nrtn blank 
+0x5c62 012354 fetch 2 ,mem_le_tx_ptr0 
+0x5c63 012355 rtn 
+:      012357 le_fifo_get_first_l2cap_ptr:
+0x5c64 012358 call le_fifo_get_first_tx_ptr 
+0x5c65 012359 increase 3 ,contr 
+0x5c66 012360 rtn 
+:      012362 le_fifo_get_first_att_ptr:
+0x5c67 012363 call le_fifo_get_first_tx_ptr 
+0x5c68 012364 increase 7 ,contr 
+0x5c69 012365 rtn 
+:      012367 le_fifo_get_last_att_ptr:
+0x5c6a 012368 call le_fifo_get_last_tx_ptr 
+0x5c6b 012369 increase 7 ,contr 
+0x5c6c 012370 rtn 
+:      012372 le_fifo_get_last_l2cap_ptr:
+0x5c6d 012373 call le_fifo_get_last_tx_ptr 
+0x5c6e 012374 increase 3 ,contr 
+0x5c6f 012375 rtn 
+:      012379 le_fifo_check_full:
+0x5c70 012380 fetch 2 ,mem_le_tx_ptr3 
+0x5c71 012381 rtn 
+:      012384 le_fifo_check_nearly_full:
+0x5c72 012385 fetch 2 ,mem_le_tx_ptr2 
+0x5c73 012386 rtn 
+:      012389 le_fifo_check_empty:
+0x5c74 012390 fetch 2 ,mem_le_tx_ptr0 
+0x5c75 012391 rtn 
+:      012394 le_fifo_release_first_node:
+0x5c76 012395 fetch 2 ,mem_le_tx_ptr0 
+0x5c77 012396 arg mem_le_tx_buffer0 ,temp 
+0x5c78 012397 isub temp ,pdata 
+0x5c79 012398 rshift4 pdata ,pdata 
+0x5c7a 012399 rshift4 pdata ,queue 
+0x5c7b 012400 fetch 1 ,mem_le_tx_buff_used 
+0x5c7c 012401 qset0 pdata 
+0x5c7d 012402 store 1 ,mem_le_tx_buff_used 
+0x5c7e 012403 arg 0 ,loopcnt 
+:      012404 le_fifo_release_first_node_loop:
+0x5c7f 012405 lshift loopcnt ,pdata 
+0x5c80 012406 arg mem_le_tx_ptr1 ,temp 
+0x5c81 012407 iadd temp ,temp 
+0x5c82 012408 ifetch 2 ,temp 
+0x5c83 012409 increase -2 ,temp 
+0x5c84 012410 istore 2 ,temp 
+0x5c85 012411 copy loopcnt ,pdata 
+0x5c86 012412 increase 1 ,loopcnt 
+0x5c87 012413 bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+0x5c88 012414 setarg 0 
+0x5c89 012415 istore 2 ,temp 
+0x5c8a 012416 rtn 
+:      012422 le_parse_att:
+0x5c8b 012423 ifetch 3 ,contr 
+0x5c8c 012424 store 3 ,mem_le_att_opcode 
+0x5c8d 012425 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+0x5c8e 012426 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+0x5c8f 012427 beq attop_find_information_request ,le_parse_att_find_information_request 
+0x5c90 012428 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+0x5c91 012429 beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+0x5c92 012430 beq attop_read_request ,le_parse_att_read_request 
+0x5c93 012431 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+0x5c94 012432 beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+0x5c95 012433 beq attop_write_request ,le_parse_att_write_request 
+0x5c96 012434 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+0x5c97 012435 beq attop_execute_write_request ,le_parse_att_execute_write_request 
+0x5c98 012436 beq attop_write_command ,le_parse_att_write_command 
+0x5c99 012437 rtn 
+:      012440 le_send_att_exchange_mtu_requset:
+0x5c9a 012441 force 3 ,rega 
+0x5c9b 012442 call le_fifo_malloc_tx_l2cap_gatt 
+0x5c9c 012443 setarg attop_exchange_mtu_request 
+0x5c9d 012444 istore 1 ,contw 
+0x5c9e 012445 fetch 2 ,mem_le_local_mtu 
+0x5c9f 012446 istore 2 ,contw 
+0x5ca0 012447 rtn 
+:      012450 le_parse_att_exchange_mtu_request:
+0x5ca1 012451 call le_parse_att_exchange_mtu_response 
+:      012452 le_send_att_exchange_mtu_response:
+0x5ca2 012453 force 3 ,rega 
+0x5ca3 012454 call le_fifo_malloc_tx_l2cap_gatt 
+0x5ca4 012455 setarg attop_exchange_mtu_response 
+0x5ca5 012456 istore 1 ,contw 
+0x5ca6 012457 fetch 2 ,mem_le_local_mtu 
+0x5ca7 012458 istore 2 ,contw 
+0x5ca8 012459 rtn 
+:      012461 le_parse_att_exchange_mtu_response:
+0x5ca9 012462 rshift8 pdata ,pdata 
+0x5caa 012463 store 2 ,mem_le_remote_mtu 
+0x5cab 012464 rtn 
+:      012466 le_parse_att_find_information_request:
+0x5cac 012467 call le_get_search_handle_start_end_common 
+0x5cad 012468 call enable_user 
+0x5cae 012469 branch le_send_att_find_information_response 
+:      012471 le_send_att_find_information_response:
+0x5caf 012472 arg 3 ,timeup 
+0x5cb0 012473 call le_init_attlist_search 
+:      012474 le_send_att_find_information_res_loop:
+0x5cb1 012475 call le_att_handle_inrange 
+0x5cb2 012476 branch le_send_att_find_information_res_end ,blank 
+0x5cb3 012477 nbranch le_send_att_find_information_res_next ,positive 
+0x5cb4 012478 increase -2 ,contr 
+0x5cb5 012479 call store_contr 
+0x5cb6 012480 call get_contw 
+0x5cb7 012481 nbranch le_send_att_find_information_res_store_info ,user 
+0x5cb8 012482 call push_stack_rega_b_c 
+0x5cb9 012483 call disable_user 
+0x5cba 012484 force 20 ,rega 
+0x5cbb 012485 call le_fifo_malloc_tx_l2cap_gatt 
+0x5cbc 012486 call pop_stack_rega_b_c 
+0x5cbd 012487 setarg attop_find_information_response 
+0x5cbe 012488 istore 1 ,contw 
+0x5cbf 012489 setarg uuid_size_16bit 
+0x5cc0 012490 istore 1 ,contw 
+:      012491 le_send_att_find_information_res_store_info:
+0x5cc1 012492 call get_contr 
+0x5cc2 012493 ifetch 2 ,contr 
+0x5cc3 012494 istore 2 ,contw 
+0x5cc4 012495 ifetch 1 ,contr 
+0x5cc5 012496 copy pdata ,loopcnt 
+0x5cc6 012497 call memcpy 
+0x5cc7 012498 call store_contw 
+0x5cc8 012499 increase -1 ,timeup 
+0x5cc9 012500 branch le_send_att_find_information_res_end ,zero 
+:      012501 le_send_att_find_information_res_cont:
+0x5cca 012502 ifetch 1 ,contr 
+0x5ccb 012503 iadd contr ,contr 
+0x5ccc 012504 branch le_send_att_find_information_res_loop 
+:      012505 le_send_att_find_information_res_next:
+0x5ccd 012506 ifetch 1 ,contr 
+0x5cce 012507 iadd contr ,contr 
+0x5ccf 012508 branch le_send_att_find_information_res_cont 
+:      012509 le_send_att_find_information_res_end:
+0x5cd0 012510 branch le_send_att_error_response_notfound ,user 
+0x5cd1 012511 branch le_send_auto_len_by_mem 
+:      012514 le_parse_att_find_by_type_value_request:
+0x5cd2 012515 call le_get_search_handle_start_end_common 
+0x5cd3 012516 ifetch 2 ,contr 
+0x5cd4 012517 store 2 ,mem_le_search_uuid 
+0x5cd5 012518 call store_contr 
+0x5cd6 012519 arg mem_le_search_att_type_length ,contw 
+0x5cd7 012520 fetch 2 ,mem_le_l2cap_size 
+0x5cd8 012521 increase -7 ,pdata 
+0x5cd9 012522 call le_get_search_common2 
+0x5cda 012523 branch le_send_att_find_by_type_value_response 
+:      012526 le_start_end_handle_check_1:
+0x5cdb 012527 disable user 
+0x5cdc 012528 fetcht 2 ,mem_le_search_handle_start 
+0x5cdd 012529 fetch 2 ,mem_le_search_handle_end 
+0x5cde 012530 isub temp ,null 
+0x5cdf 012531 nbranch le_start_end_handle_check_1_fail ,positive 
+0x5ce0 012532 deposit temp 
+0x5ce1 012533 rtnne 0 
+:      012534 le_start_end_handle_check_1_fail:
+0x5ce2 012535 enable user 
+0x5ce3 012536 jam att_err_invalid_handle ,mem_le_err_code 
+0x5ce4 012537 branch le_send_att_error_response 
+:      012540 le_send_att_find_by_type_value_response:
+0x5ce5 012541 call le_start_end_handle_check_1 
+0x5ce6 012542 rtn user 
+0x5ce7 012543 fetcht 2 ,mem_le_search_uuid 
+0x5ce8 012544 setarg uuid_gatt_primary_service 
+0x5ce9 012545 isub temp ,null 
+0x5cea 012546 branch le_send_att_find_by_type_value_res_primary ,zero 
+0x5ceb 012547 branch le_send_att_error_response_notfound 
+:      012550 le_send_att_find_by_type_value_res_primary:
+0x5cec 012551 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+0x5ced 012552 fetcht 2 ,mem_le_search_handle_start 
+0x5cee 012553 storet 2 ,mem_temp 
+0x5cef 012554 call le_att_get_handle_info 
+0x5cf0 012555 nbranch le_send_att_error_response_notfound ,blank 
+:      012556 le_send_att_find_primary_search_loop:
+0x5cf1 012557 fetcht 2 ,mem_temp 
+0x5cf2 012558 call le_att_get_handle_info 
+0x5cf3 012559 nbranch le_send_att_error_response_notfound2 ,blank 
+0x5cf4 012560 copy contr ,rega 
+0x5cf5 012561 fetch 1 ,mem_le_curr_att_len 
+0x5cf6 012562 copy pdata ,loopcnt 
+0x5cf7 012563 fetcht 1 ,mem_le_search_att_type_length 
+0x5cf8 012564 isub temp ,null 
+0x5cf9 012565 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x5cfa 012566 arg mem_le_search_att_type ,regb 
+0x5cfb 012567 call string_compare 
+0x5cfc 012569 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+0x5cfd 012571 fetch 2 ,mem_le_cur_uuid 
+0x5cfe 012572 fetcht 2 ,mem_le_search_uuid 
+0x5cff 012573 isub temp ,null 
+0x5d00 012574 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+:      012575 le_send_att_find_primary_search_loop1:
+0x5d01 012576 fetch 2 ,mem_temp 
+0x5d02 012577 increase 1 ,pdata 
+0x5d03 012578 store 2 ,mem_temp 
+0x5d04 012579 branch le_send_att_find_primary_search_loop 
+:      012581 le_send_att_error_response_notfound2:
+0x5d05 012582 fetch 1 ,mem_le_search_res 
+0x5d06 012583 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+0x5d07 012584 branch le_send_att_error_response_notfound 
+:      012587 le_send_att_find_primary_search_end_start_handle_found:
+0x5d08 012588 fetch 2 ,mem_le_cur_uuid 
+0x5d09 012589 fetcht 2 ,mem_le_search_uuid 
+0x5d0a 012590 isub temp ,null 
+0x5d0b 012591 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x5d0c 012592 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+0x5d0d 012594 fetcht 2 ,mem_temp 
+0x5d0e 012595 storet 2 ,mem_le_cur_handle_start 
+0x5d0f 012596 branch le_send_att_find_primary_search_loop1 
+:      012598 le_send_att_find_primary_search_end_ending_handle_found:
+0x5d10 012599 fetch 1 ,mem_le_search_res 
+0x5d11 012600 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+0x5d12 012601 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+0x5d13 012602 fetcht 2 ,mem_temp 
+0x5d14 012603 increase -1 ,temp 
+0x5d15 012604 storet 2 ,mem_le_cur_handle_end 
+:      012606 le_send_att_find_primary_search_end:
+0x5d16 012607 arg 5 ,rega 
+0x5d17 012608 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d18 012609 setarg attop_find_by_type_value_response 
+0x5d19 012610 istore 1 ,contw 
+0x5d1a 012611 fetch 2 ,mem_le_cur_handle_start 
+0x5d1b 012612 istore 2 ,contw 
+0x5d1c 012613 fetch 2 ,mem_le_cur_handle_end 
+0x5d1d 012614 istore 2 ,contw 
+0x5d1e 012615 rtn 
+:      012619 le_parse_att_read_by_type_request:
+0x5d1f 012620 call le_get_search_handle_start_end_common 
+0x5d20 012621 call le_get_search_att_uuid 
+0x5d21 012622 branch le_send_att_read_by_type_response 
+:      012624 le_send_att_read_by_type_response:
+0x5d22 012625 fetcht 2 ,mem_le_search_handle_start 
+0x5d23 012626 storet 2 ,mem_temp 
+0x5d24 012627 call le_init_attlist_search 
+0x5d25 012628 call le_att_get_handle_ptr2 
+0x5d26 012629 increase -2 ,contr 
+0x5d27 012630 copy contr ,pdata 
+0x5d28 012631 store 2 ,mem_le_cur_attlist_start_ptr 
+0x5d29 012633 fetcht 2 ,mem_le_search_uuid 
+0x5d2a 012634 setarg uuid_chrctr_device_name 
+0x5d2b 012635 isub temp ,null 
+0x5d2c 012636 branch le_send_att_read_by_type_res_device_name ,zero 
+0x5d2d 012637 setarg uuid_gatt_characteristic 
+0x5d2e 012638 isub temp ,null 
+0x5d2f 012639 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+0x5d30 012640 arg 2 ,timeup 
+:      012641 le_send_att_read_by_type_response_loop:
+0x5d31 012642 call le_att_check_handle_end 
+0x5d32 012643 nbranch le_send_att_read_by_type_response_end ,positive 
+0x5d33 012644 fetcht 2 ,mem_temp 
+0x5d34 012645 call le_att_get_handle_info_from_ptr 
+0x5d35 012646 beq 1 ,le_send_att_read_by_type_response_end 
+0x5d36 012647 call le_att_same_uuid 
+0x5d37 012648 nbranch le_send_att_read_by_type_response_next_handle ,zero 
+0x5d38 012649 nbranch le_send_att_read_by_type_res_found_next ,user 
+0x5d39 012650 disable user 
+0x5d3a 012651 arg 20 ,rega 
+0x5d3b 012652 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d3c 012653 setarg attop_read_by_type_response 
+0x5d3d 012654 istore 1 ,contw 
+0x5d3e 012655 copy contw ,alarm 
+0x5d3f 012656 increase 1 ,contw 
+0x5d40 012658 call le_send_att_read_by_type_write_properties 
+0x5d41 012659 call le_att_next_handle 
+0x5d42 012660 call le_att_get_handle_info_from_ptr 
+0x5d43 012661 call le_send_att_read_by_type_write_uuid 
+0x5d44 012662 fetch 1 ,mem_le_cur_uuid_length 
+0x5d45 012663 increase 5 ,pdata 
+0x5d46 012664 istore 1 ,alarm 
+0x5d47 012665 fetch 1 ,mem_le_cur_uuid_length 
+0x5d48 012666 beq 16 ,le_send_att_read_by_type_response_end 
+0x5d49 012667 increase -1 ,timeup 
+0x5d4a 012668 branch le_send_att_read_by_type_response_end ,zero 
+:      012669 le_send_att_read_by_type_response_next_handle:
+0x5d4b 012670 call le_att_next_handle 
+0x5d4c 012671 branch le_send_att_read_by_type_response_loop 
+:      012672 le_send_att_read_by_type_response_end:
+0x5d4d 012673 branch le_send_att_error_response_notfound ,user 
+0x5d4e 012674 branch le_send_auto_len_by_mem 
+:      012676 le_send_att_read_by_type_res_found_next:
+0x5d4f 012677 call le_store_att_record 
+0x5d50 012678 call le_att_next_handle 
+0x5d51 012679 call le_att_get_handle_info_from_ptr 
+0x5d52 012680 fetch 1 ,mem_le_cur_uuid_length 
+0x5d53 012681 beq 16 ,le_send_att_read_by_type_response_end 
+0x5d54 012683 call get_contw 
+0x5d55 012684 fetch 2 ,mem_temp 
+0x5d56 012685 increase -1 ,pdata 
+0x5d57 012686 istore 2 ,contw 
+0x5d58 012687 call le_write_att_record_common 
+0x5d59 012688 call le_send_att_read_by_type_write_uuid 
+0x5d5a 012689 increase -1 ,timeup 
+0x5d5b 012690 branch le_send_att_read_by_type_response_end ,zero 
+0x5d5c 012691 branch le_send_att_read_by_type_response_next_handle 
+:      012694 le_send_att_read_by_type_write_properties:
+0x5d5d 012695 fetch 2 ,mem_temp 
+0x5d5e 012696 istore 2 ,contw 
+0x5d5f 012698 fetch 1 ,mem_le_curr_att_len 
+0x5d60 012699 copy pdata ,loopcnt 
+0x5d61 012700 call get_contr 
+0x5d62 012701 call memcpy_fast 
+0x5d63 012702 branch store_contw 
+:      012703 le_send_att_read_by_type_write_uuid:
+0x5d64 012704 call get_contw 
+0x5d65 012705 fetch 2 ,mem_temp 
+0x5d66 012706 istore 2 ,contw 
+0x5d67 012707 call store_contw 
+0x5d68 012708 fetch 1 ,mem_le_cur_uuid_length 
+0x5d69 012709 copy pdata ,loopcnt 
+0x5d6a 012710 call get_contw 
+0x5d6b 012711 call get_contr 
+0x5d6c 012712 isub loopcnt ,contr 
+0x5d6d 012713 increase -1 ,contr 
+0x5d6e 012714 call memcpy_fast 
+0x5d6f 012715 branch store_contw 
+:      012719 le_send_att_read_by_type_res_not_characteristic:
+0x5d70 012720 fetcht 2 ,mem_le_search_handle_start 
+0x5d71 012721 storet 2 ,mem_temp 
+:      012722 le_send_att_read_by_type_res_not_char_loop:
+0x5d72 012723 call le_att_check_handle_end 
+0x5d73 012724 nbranch le_send_att_error_response_notfound ,positive 
+0x5d74 012725 call le_att_get_handle_info_from_ptr 
+0x5d75 012726 beq 1 ,le_send_att_error_response_notfound 
+0x5d76 012727 call le_att_same_uuid 
+0x5d77 012728 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+:      012730 le_send_att_read_by_type_res_not_char_common:
+0x5d78 012731 arg 20 ,rega 
+0x5d79 012732 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d7a 012733 setarg attop_read_by_type_response 
+0x5d7b 012734 istore 1 ,contw 
+0x5d7c 012735 fetch 1 ,mem_le_curr_att_len 
+0x5d7d 012736 copy pdata ,loopcnt 
+0x5d7e 012737 increase 2 ,pdata 
+0x5d7f 012738 istore 1 ,contw 
+0x5d80 012739 fetch 2 ,mem_temp 
+0x5d81 012740 istore 2 ,contw 
+0x5d82 012741 call get_contr 
+0x5d83 012742 call memcpy_fast 
+0x5d84 012743 call store_contw 
+0x5d85 012744 branch le_send_auto_len_by_mem 
+:      012746 le_send_att_read_by_type_res_not_char_next:
+0x5d86 012747 call le_att_next_handle 
+0x5d87 012748 branch le_send_att_read_by_type_res_not_char_loop 
+:      012751 le_send_att_read_by_type_res_device_name:
+0x5d88 012752 arg uuid_chrctr_device_name ,temp 
+0x5d89 012753 call le_att_get_short_uuid_ptr 
+0x5d8a 012754 rtn blank 
+0x5d8b 012755 increase -5 ,contr 
+0x5d8c 012756 ifetch 2 ,contr 
+0x5d8d 012757 store 2 ,mem_temp 
+0x5d8e 012758 arg 20 ,rega 
+0x5d8f 012759 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d90 012760 setarg attop_read_by_type_response 
+0x5d91 012761 istore 1 ,contw 
+0x5d92 012762 fetch 1 ,mem_le_name_len 
+0x5d93 012763 copy pdata ,loopcnt 
+0x5d94 012764 increase 2 ,pdata 
+0x5d95 012765 istore 1 ,contw 
+0x5d96 012766 fetch 2 ,mem_temp 
+0x5d97 012767 istore 2 ,contw 
+0x5d98 012768 arg mem_le_name ,contr 
+0x5d99 012769 call memcpy_fast 
+0x5d9a 012770 call store_contw 
+0x5d9b 012771 branch le_send_auto_len_by_mem 
+:      012775 le_parse_att_read_request:
+0x5d9c 012776 fetcht 2 ,mem_le_att_handle 
+0x5d9d 012777 fetch 1 ,mem_le_configuration 
+0x5d9e 012778 bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+:      012780 le_send_att_read_response:
+0x5d9f 012781 call le_att_get_handle_ptr 
+0x5da0 012782 branch le_send_att_error_response_notfound ,blank 
+0x5da1 012783 increase -2 ,contr 
+0x5da2 012784 ifetch 2 ,contr 
+0x5da3 012785 arg uuid_chrctr_device_name ,temp 
+0x5da4 012786 isub temp ,null 
+0x5da5 012787 branch le_send_device_name ,zero 
+0x5da6 012788 ifetch 1 ,contr 
+0x5da7 012789 sub pdata ,22 ,null 
+0x5da8 012790 branch le_send_att_read_response_less ,positive 
+0x5da9 012791 force 22 ,pdata 
+:      012792 le_send_att_read_response_less:
+0x5daa 012793 copy pdata ,regc 
+0x5dab 012794 call store_contr 
+0x5dac 012795 add regc ,1 ,rega 
+0x5dad 012796 call le_fifo_malloc_tx_l2cap_gatt 
+0x5dae 012797 setarg attop_read_response 
+0x5daf 012798 istore 1 ,contw 
+0x5db0 012799 copy regc ,loopcnt 
+0x5db1 012800 call get_contr 
+0x5db2 012801 branch memcpy 
+:      012803 le_send_device_name:
+0x5db3 012804 call store_contr 
+0x5db4 012805 fetch 1 ,mem_le_name_len 
+0x5db5 012806 add pdata ,1 ,rega 
+0x5db6 012807 call le_fifo_malloc_tx_l2cap_gatt 
+0x5db7 012808 setarg attop_read_response 
+0x5db8 012809 istore 1 ,contw 
+0x5db9 012810 fetch 1 ,mem_le_name_len 
+0x5dba 012811 copy pdata ,loopcnt 
+0x5dbb 012812 arg mem_le_name ,contr 
+0x5dbc 012813 branch memcpy 
+:      012816 le_send_att_read_response_check_auth:
+0x5dbd 012817 fetch 2 ,mem_le_pairing_handle 
+0x5dbe 012818 isub temp ,null 
+0x5dbf 012819 nbranch le_send_att_read_response ,zero 
+0x5dc0 012821 call le_check_encrypt_state 
+0x5dc1 012822 nbranch le_send_att_read_response ,user 
+0x5dc2 012823 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5dc3 012824 branch le_send_att_error_response 
+:      012827 le_parse_att_read_blob_request:
+0x5dc4 012828 ifetch 2 ,contr 
+0x5dc5 012829 store 2 ,mem_le_att_offset 
+:      012830 le_send_att_read_blob_response:
+0x5dc6 012831 arg 20 ,rega 
+0x5dc7 012832 call le_fifo_malloc_tx_l2cap_gatt 
+0x5dc8 012833 setarg attop_read_blob_response 
+0x5dc9 012834 istore 1 ,contw 
+0x5dca 012835 fetch 2 ,mem_le_att_offset 
+0x5dcb 012836 iforce rega 
+0x5dcc 012837 fetcht 2 ,mem_le_att_handle 
+0x5dcd 012838 call le_att_get_handle_ptr 
+0x5dce 012839 branch le_send_att_error_response_notfound ,blank 
+0x5dcf 012840 ifetch 1 ,contr 
+0x5dd0 012841 isub rega ,loopcnt 
+0x5dd1 012842 nbranch le_send_att_error_response_notfound ,positive 
+0x5dd2 012843 sub loopcnt ,22 ,null 
+0x5dd3 012844 branch le_send_att_read_blob_response_less ,positive 
+0x5dd4 012845 force 22 ,loopcnt 
+:      012846 le_send_att_read_blob_response_less:
+0x5dd5 012847 deposit rega 
+0x5dd6 012848 iadd contr ,contr 
+0x5dd7 012849 call memcpy_fast 
+0x5dd8 012850 call store_contw 
+0x5dd9 012851 branch le_send_auto_len_by_mem 
+:      012854 le_parse_att_read_by_group_type_request:
+0x5dda 012855 call le_get_search_handle_start_end_common 
+0x5ddb 012856 call le_get_search_att_type 
+0x5ddc 012857 branch le_send_att_read_by_group_type_response 
+:      012862 le_send_att_read_by_group_type_response:
+0x5ddd 012863 arg 2 ,timeup 
+0x5dde 012864 fetcht 2 ,mem_le_search_handle_start 
+0x5ddf 012868 storet 2 ,mem_temp 
+0x5de0 012869 call le_init_attlist_search 
+0x5de1 012870 call le_att_get_handle_ptr2 
+0x5de2 012871 increase -2 ,contr 
+0x5de3 012872 copy contr ,pdata 
+0x5de4 012873 store 2 ,mem_le_cur_attlist_start_ptr 
+:      012874 le_send_att_read_by_group_type_response_loop:
+0x5de5 012875 call le_att_check_handle_end 
+0x5de6 012876 nbranch le_send_att_read_by_group_type_end0 ,positive 
+0x5de7 012877 fetcht 2 ,mem_temp 
+0x5de8 012878 call le_att_get_handle_info_from_ptr 
+0x5de9 012879 beq 1 ,le_send_att_read_by_group_type_end1 
+0x5dea 012881 call le_att_same_type 
+0x5deb 012882 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+0x5dec 012883 copy timeup ,pdata 
+0x5ded 012884 beq 0 ,le_send_att_read_by_group_type_end1 
+0x5dee 012885 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+0x5def 012886 disable user 
+0x5df0 012888 arg 20 ,rega 
+0x5df1 012889 call le_fifo_malloc_tx_l2cap_gatt 
+0x5df2 012890 setarg attop_read_by_group_type_response 
+0x5df3 012891 istore 1 ,contw 
+0x5df4 012892 fetch 1 ,mem_le_curr_att_len 
+0x5df5 012893 increase 4 ,pdata 
+0x5df6 012894 istore 1 ,contw 
+0x5df7 012895 call store_contw 
+0x5df8 012896 branch le_send_att_read_by_group_type_store_record 
+:      012897 le_send_att_read_by_group_type_store_write_record:
+0x5df9 012898 fetch 1 ,mem_le_curr_att_len 
+0x5dfa 012899 beq 16 ,le_send_att_read_by_group_type_end1 
+0x5dfb 012900 fetch 2 ,mem_temp 
+0x5dfc 012901 increase -1 ,pdata 
+0x5dfd 012902 store 2 ,mem_le_cur_handle_end 
+0x5dfe 012903 call le_write_att_record 
+:      012904 le_send_att_read_by_group_type_store_record:
+0x5dff 012905 fetch 2 ,mem_temp 
+0x5e00 012906 store 2 ,mem_le_cur_handle_start 
+0x5e01 012907 call le_store_att_record 
+0x5e02 012908 increase -1 ,timeup 
+:      012910 le_send_att_read_by_group_type_next_handle:
+0x5e03 012911 call le_att_next_handle 
+0x5e04 012912 branch le_send_att_read_by_group_type_response_loop 
+:      012914 le_send_att_read_by_group_type_end0:
+0x5e05 012915 fetch 2 ,mem_temp 
+0x5e06 012916 store 2 ,mem_le_cur_handle_end 
+0x5e07 012917 branch le_send_att_read_by_group_type_end_common 
+:      012918 le_send_att_read_by_group_type_end1:
+0x5e08 012919 fetch 2 ,mem_temp 
+0x5e09 012920 increase -1 ,pdata 
+0x5e0a 012921 store 2 ,mem_le_cur_handle_end 
+0x5e0b 012922 branch le_send_att_read_by_group_type_end_common 
+:      012923 le_send_att_read_by_group_type_end_common:
+0x5e0c 012924 branch le_send_att_error_response_notfound ,user 
+0x5e0d 012925 call le_write_att_record 
+0x5e0e 012926 branch le_send_auto_len_by_mem 
+:      012931 le_parse_att_write_request:
+0x5e0f 012932 copy contr ,rega 
+0x5e10 012933 fetch 2 ,mem_le_l2cap_size 
+0x5e11 012934 add pdata ,-3 ,regb 
+0x5e12 012935 call le_writeatt_cb 
+:      012936 le_send_att_write_response_check_auth:
+0x5e13 012937 fetch 1 ,mem_le_configuration 
+0x5e14 012938 bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0x5e15 012940 fetcht 2 ,mem_le_att_handle 
+0x5e16 012941 fetch 2 ,mem_le_pairing_handle 
+0x5e17 012942 isub temp ,null 
+0x5e18 012943 nbranch le_send_att_write_response ,zero 
+0x5e19 012944 call le_check_encrypt_state 
+0x5e1a 012945 nbranch le_send_att_write_response ,user 
+0x5e1b 012946 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5e1c 012947 branch le_send_att_error_response 
+:      012949 le_send_att_write_response:
+0x5e1d 012950 force 1 ,rega 
+0x5e1e 012951 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e1f 012952 setarg attop_write_response 
+0x5e20 012953 istore 1 ,contw 
+0x5e21 012954 rtn 
+:      012956 le_check_encrypt_state:
+0x5e22 012957 call disable_user 
+0x5e23 012958 fetch 1 ,mem_le_pairing_mode 
+0x5e24 012959 rtneq le_pairing_mode_none 
+0x5e25 012960 fetch 1 ,mem_context 
+0x5e26 012961 rtnbit1 lestate_encryption 
+0x5e27 012962 branch enable_user 
+:      012965 le_parse_att_prepare_write_request:
+0x5e28 012966 add contr ,2 ,rega 
+0x5e29 012967 fetch 2 ,mem_le_l2cap_size 
+0x5e2a 012968 add pdata ,-5 ,regb 
+0x5e2b 012969 call le_writeatt_cb 
+0x5e2c 012970 branch le_send_att_prepare_write_response 
+:      012973 le_send_att_prepare_write_response:
+0x5e2d 012974 fetch 2 ,mem_le_l2cap_size 
+0x5e2e 012975 copy pdata ,rega 
+0x5e2f 012976 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e30 012977 setarg attop_prepare_write_response 
+0x5e31 012978 istore 1 ,contw 
+0x5e32 012979 fetch 2 ,mem_le_att_handle 
+0x5e33 012980 istore 2 ,contw 
+0x5e34 012981 fetch 2 ,mem_le_l2cap_size 
+0x5e35 012982 add pdata ,-5 ,loopcnt 
+0x5e36 012983 fetch 2 ,mem_le_payload_ptr 
+0x5e37 012984 add pdata ,7 ,contr 
+0x5e38 012985 ifetch 2 ,contr 
+0x5e39 012986 istore 2 ,contw 
+0x5e3a 012987 branch memcpy_fast 
+:      012991 le_parse_att_execute_write_request:
+:      012993 le_send_att_execute_write_response:
+0x5e3b 012994 force 1 ,rega 
+0x5e3c 012995 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e3d 012996 setarg attop_execute_write_response 
+0x5e3e 012997 istore 1 ,contw 
+0x5e3f 012998 rtn 
+:      013002 le_parse_att_write_command:
+0x5e40 013003 copy contr ,rega 
+0x5e41 013004 fetch 2 ,mem_le_l2cap_size 
+0x5e42 013005 add pdata ,-3 ,regb 
+0x5e43 013006 branch le_writeatt_cb 
+:      013011 le_att_malloc_tx_notify:
+0x5e44 013012 copy temp ,regc 
+0x5e45 013013 increase 3 ,rega 
+0x5e46 013014 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e47 013015 increase -3 ,rega 
+0x5e48 013016 setarg attop_handle_value_notification 
+0x5e49 013017 istore 1 ,contw 
+0x5e4a 013018 copy regc ,temp 
+0x5e4b 013019 istoret 2 ,contw 
+0x5e4c 013020 rtn 
+:      013023 le_att_malloc_tx_indication:
+0x5e4d 013024 copy temp ,regc 
+0x5e4e 013025 increase 3 ,rega 
+0x5e4f 013026 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e50 013027 increase -3 ,rega 
+0x5e51 013028 setarg attop_handle_value_indication 
+0x5e52 013029 istore 1 ,contw 
+0x5e53 013030 copy regc ,temp 
+0x5e54 013031 istoret 2 ,contw 
+0x5e55 013032 rtn 
+:      013037 le_send_att_error_response_notfound:
+0x5e56 013038 jam att_err_attribute_not_found ,mem_le_err_code 
+:      013039 le_send_att_error_response:
+0x5e57 013040 force 5 ,rega 
+0x5e58 013041 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e59 013042 setarg attop_error_response 
+0x5e5a 013043 istore 1 ,contw 
+0x5e5b 013044 fetch 1 ,mem_le_att_opcode 
+0x5e5c 013045 istore 1 ,contw 
+0x5e5d 013046 fetch 2 ,mem_le_att_handle 
+0x5e5e 013047 istore 2 ,contw 
+0x5e5f 013048 fetch 1 ,mem_le_err_code 
+0x5e60 013049 istore 1 ,contw 
+0x5e61 013050 rtn 
+:      013053 le_fifo_malloc_tx_l2cap_gatt:
+0x5e62 013054 force le_l2cap_cid_att ,regb 
+0x5e63 013055 branch le_fifo_malloc_tx_l2cap 
+:      013058 le_att_next_handle:
+0x5e64 013059 fetcht 2 ,mem_temp 
+0x5e65 013060 increase 1 ,temp 
+0x5e66 013061 storet 2 ,mem_temp 
+0x5e67 013062 rtn 
+:      013064 le_att_check_handle_end:
+0x5e68 013065 fetcht 2 ,mem_temp 
+0x5e69 013066 fetch 2 ,mem_le_search_handle_end 
+0x5e6a 013067 isub temp ,null 
+0x5e6b 013068 rtn 
+:      013071 le_att_same_type:
+0x5e6c 013072 fetcht 1 ,mem_le_search_att_type_length 
+0x5e6d 013073 arg mem_le_search_att_type ,rega 
+:      013074 le_att_check_same_common:
+0x5e6e 013075 fetch 1 ,mem_le_cur_uuid_length 
+0x5e6f 013076 copy pdata ,loopcnt 
+0x5e70 013077 isub temp ,null 
+0x5e71 013078 nrtn zero 
+0x5e72 013079 arg mem_le_cur_uuid ,regb 
+0x5e73 013080 branch string_compare 
+:      013082 le_att_same_uuid:
+0x5e74 013083 fetcht 1 ,mem_le_search_uuid_length 
+0x5e75 013084 arg mem_le_search_uuid ,rega 
+0x5e76 013085 branch le_att_check_same_common 
+:      013088 le_store_att_record:
+0x5e77 013089 fetch 1 ,mem_le_curr_att_len 
+0x5e78 013090 store 1 ,mem_tmp_buffer 
+0x5e79 013091 copy pdata ,loopcnt 
+0x5e7a 013092 call get_contr 
+0x5e7b 013093 branch memcpy_fast 
+:      013096 le_write_att_record:
+0x5e7c 013097 call get_contw 
+0x5e7d 013098 fetch 2 ,mem_le_cur_handle_start 
+0x5e7e 013099 istore 2 ,contw 
+0x5e7f 013100 fetch 2 ,mem_le_cur_handle_end 
+0x5e80 013101 istore 2 ,contw 
+:      013102 le_write_att_record_common:
+0x5e81 013103 fetch 1 ,mem_tmp_buffer 
+0x5e82 013104 copy pdata ,loopcnt 
+0x5e83 013105 call memcpy_fast 
+0x5e84 013106 branch store_contw 
+:      013110 le_send_auto_len_by_mem:
+0x5e85 013111 call get_contw 
+0x5e86 013112 call le_fifo_get_last_att_ptr 
+0x5e87 013113 copy contw ,pdata 
+0x5e88 013114 isub contr ,rega 
+0x5e89 013115 call le_fifo_get_last_l2cap_ptr 
+0x5e8a 013116 copy rega ,pdata 
+0x5e8b 013117 istore 2 ,contr 
+0x5e8c 013118 increase 4 ,rega 
+0x5e8d 013119 call le_fifo_get_last_tx_ptr 
+0x5e8e 013120 copy rega ,pdata 
+0x5e8f 013121 istore 1 ,contr 
+0x5e90 013122 rtn 
+:      013125 le_get_search_handle_start_end_common:
+0x5e91 013126 rshift8 pdata ,pdata 
+0x5e92 013127 store 2 ,mem_le_search_handle_start 
+0x5e93 013128 ifetch 2 ,contr 
+0x5e94 013129 store 2 ,mem_le_search_handle_end 
+0x5e95 013130 rtn 
+:      013135 le_parse_signaling:
+0x5e96 013136 ifetch 1 ,contr 
+0x5e97 013137 ifetcht 1 ,contr 
+0x5e98 013138 ifetcht 2 ,contr 
+0x5e99 013139 beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+0x5e9a 013140 rtn 
+:      013141 le_l2cap_parse_conn_parameter_update_rsp:
+0x5e9b 013142 ifetch 2 ,contr 
+0x5e9c 013143 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x5e9d 013144 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+0x5e9e 013145 branch ui_ipc_send_event 
+:      013151 le_l2cap_tx_update_req:
+0x5e9f 013152 arg 0x0c ,rega 
+0x5ea0 013153 arg l2cap_connection_parameter_update_request ,regc 
+0x5ea1 013154 call le_fifo_malloc_tx_l2cap_signaling 
+0x5ea2 013155 setarg 0x08 
+0x5ea3 013156 istore 2 ,contw 
+0x5ea4 013157 fetch 8 ,mem_le_interval_min 
+0x5ea5 013158 istore 8 ,contw 
+0x5ea6 013159 rtn 
+:      013163 le_fifo_malloc_tx_l2cap_signaling:
+0x5ea7 013164 call le_l2cap_update_signaling_identifier 
+0x5ea8 013165 arg le_l2cap_cid_signal ,regb 
+0x5ea9 013166 call le_fifo_malloc_tx_l2cap 
+0x5eaa 013167 copy regc ,pdata 
+0x5eab 013168 istore 1 ,contw 
+0x5eac 013169 fetch 1 ,mem_le_signaling_identifier 
+0x5ead 013170 istore 1 ,contw 
+0x5eae 013171 rtn 
+:      013174 le_l2cap_update_signaling_identifier:
+0x5eaf 013175 fetch 1 ,mem_le_signaling_identifier 
+0x5eb0 013177 pincrease 1 
+0x5eb1 013178 store 1 ,mem_le_signaling_identifier 
+0x5eb2 013179 rtnne 0 
+:      013181 le_l2cap_reset_signaling_identifier:
+0x5eb3 013182 jam 1 ,mem_le_signaling_identifier 
+0x5eb4 013183 rtn 
+:      013188 le_pairing_mode_init:
+0x5eb5 013189 fetch 1 ,mem_le_pairing_mode 
+0x5eb6 013190 beq le_pairing_mode_none ,le_set_no_pairing 
+0x5eb7 013191 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+0x5eb8 013192 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+0x5eb9 013193 beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+0x5eba 013194 beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+0x5ebb 013195 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+0x5ebc 013196 rtn 
+:      013198 le_set_pairing_mode_secure_justwork:
+0x5ebd 013199 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ebe 013200 branch le_set_noinputnooutput 
+:      013201 le_set_pairing_mode_secure_numeric:
+0x5ebf 013202 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ec0 013203 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x5ec1 013204 rtn 
+:      013205 le_set_pairing_mode_secure_passkey:
+0x5ec2 013206 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ec3 013207 branch le_set_displayonly 
+:      013208 le_set_no_pairing:
+0x5ec4 013209 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      013210 le_set_noinputnooutput:
+0x5ec5 013211 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x5ec6 013212 rtn 
+:      013213 le_set_pairing_mode_lagacy_just_work:
+0x5ec7 013214 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x5ec8 013215 branch le_set_noinputnooutput 
+:      013216 le_set_pairing_mode_lagacy_passkey:
+0x5ec9 013217 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      013218 le_set_displayonly:
+0x5eca 013219 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x5ecb 013220 rtn 
+:      013223 le_secure_connection_enable:
+0x5ecc 013224 fetch 1 ,mem_le_pres_auth 
+0x5ecd 013225 set1 le_auth_secure_connection_pairing_bit ,pdata 
+0x5ece 013226 store 1 ,mem_le_pres_auth 
+0x5ecf 013227 rtn 
+:      013228 le_secure_connection_disable:
+0x5ed0 013229 fetch 1 ,mem_le_pres_auth 
+0x5ed1 013230 set0 le_auth_secure_connection_pairing_bit ,pdata 
+0x5ed2 013231 store 1 ,mem_le_pres_auth 
+0x5ed3 013232 rtn 
+:      013234 le_parse_smp:
+0x5ed4 013235 ifetch 1 ,contr 
+0x5ed5 013236 beq smp_pairing_request ,le_parse_smp_pairing_request 
+0x5ed6 013238 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+0x5ed7 013239 beq smp_pairing_random ,le_parse_smp_pairing_random 
+0x5ed8 013240 beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+0x5ed9 013241 beq smp_encryption_information ,le_parse_smp_encryption_information 
+0x5eda 013242 beq smp_master_identification ,le_parse_smp_master_identification 
+0x5edb 013243 beq smp_identity_information ,le_parse_smp_identity_information 
+0x5edc 013244 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+0x5edd 013245 beq smp_signing_information ,le_parse_smp_signing_information 
+0x5ede 013246 beq smp_security_request ,le_parse_smp_security_request 
+0x5edf 013247 beq smp_pairing_public_key ,le_parse_smp_public_key 
+0x5ee0 013248 beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+0x5ee1 013249 rtn 
+:      013253 le_send_smp_security_request:
+0x5ee2 013254 force 2 ,rega 
+0x5ee3 013255 call le_fifo_malloc_tx_l2cap_smp 
+0x5ee4 013256 setarg smp_security_request 
+0x5ee5 013257 istore 1 ,contw 
+0x5ee6 013258 fetch 1 ,mem_le_pres_auth 
+0x5ee7 013259 istore 1 ,contw 
+0x5ee8 013260 rtn 
+:      013262 le_parse_smp_pairing_request:
+0x5ee9 013263 store 1 ,mem_le_preq 
+0x5eea 013264 ifetch 6 ,contr 
+0x5eeb 013265 istore 6 ,contw 
+0x5eec 013266 fetch 1 ,mem_le_pairing_mode 
+0x5eed 013267 beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+0x5eee 013268 call le_send_smp_pairing_response 
+0x5eef 013269 call le_check_master_support_secure_connect 
+0x5ef0 013270 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+0x5ef1 013271 fetch 1 ,mem_le_preq_iocap 
+0x5ef2 013272 beq flag_iocap_displayonly ,le_set_tk_0 
+0x5ef3 013273 beq flag_iocap_displayyesno ,le_set_tk_0 
+0x5ef4 013274 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+0x5ef5 013275 fetch 1 ,mem_le_pairing_mode 
+0x5ef6 013276 beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+0x5ef7 013277 rtneq le_pairing_mode_secure_connect_passkey 
+:      013278 le_set_tk_0:
+0x5ef8 013279 arg 0 ,pdata 
+0x5ef9 013280 store 4 ,mem_le_tk 
+0x5efa 013281 rtn 
+:      013283 le_parse_smp_pairing_req_passkey:
+0x5efb 013284 fetch 1 ,mem_le_configuration 
+0x5efc 013285 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+:      013286 le_genernate_tk:
+0x5efd 013287 arg mem_le_tk ,rega 
+0x5efe 013288 copy rega ,contw 
+0x5eff 013289 arg 3 ,loopcnt 
+0x5f00 013290 call generate_random_loop 
+0x5f01 013291 fetch 2 ,mem_le_tk + 2 
+0x5f02 013292 and_into 0x7 ,pdata 
+0x5f03 013293 store 2 ,mem_le_tk + 2 
+:      013294 le_parse_smp_pairing_req_fixed_passkey:
+0x5f04 013295 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+0x5f05 013296 branch ui_ipc_send_event 
+:      013298 le_check_master_support_secure_connect:
+0x5f06 013299 fetch 1 ,mem_le_preq_auth 
+0x5f07 013300 rtnbit1 le_auth_secure_connection_pairing_bit 
+0x5f08 013301 fetch 1 ,mem_le_pairing_mode 
+0x5f09 013302 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5f0a 013303 branch app_ble_disconnect 
+:      013305 le_send_smp_pairing_response:
+0x5f0b 013306 force 7 ,rega 
+0x5f0c 013307 call le_fifo_malloc_tx_l2cap_smp 
+0x5f0d 013308 fetch 7 ,mem_le_pres 
+0x5f0e 013309 istore 7 ,contw 
+0x5f0f 013310 rtn 
+:      013313 le_parse_smp_pairing_confirm:
+0x5f10 013314 copy contr ,rega 
+0x5f11 013315 fetch 1 ,mem_le_pairing_mode 
+0x5f12 013316 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+0x5f13 013317 copy rega ,contr 
+0x5f14 013318 arg mem_le_rconfirm ,contw 
+0x5f15 013319 call memcpy16 
+0x5f16 013320 branch le_send_smp_pairing_confirm 
+:      013321 le_parse_smp_pairing_confirm_secure_passkey:
+0x5f17 013322 copy rega ,contr 
+0x5f18 013323 arg mem_le_rconfirm ,contw 
+0x5f19 013324 call memcpy16 
+0x5f1a 013325 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5f1b 013326 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+0x5f1c 013327 rtn 
+:      013330 le_send_smp_pairing_confirm:
+0x5f1d 013331 fetch 1 ,mem_le_pairing_mode 
+0x5f1e 013332 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+0x5f1f 013333 call generate_confirm 
+0x5f20 013334 force 17 ,rega 
+0x5f21 013335 call le_fifo_malloc_tx_l2cap_smp 
+0x5f22 013336 setarg smp_pairing_confirm 
+0x5f23 013337 istore 1 ,contw 
+0x5f24 013338 branch store_aes_result 
+:      013341 le_send_smp_pairing_confirm_sc:
+0x5f25 013342 arg mem_le_srand ,contw 
+0x5f26 013343 call generate_random 
+0x5f27 013344 call function_f4_cb 
+0x5f28 013345 force 17 ,rega 
+0x5f29 013346 call le_fifo_malloc_tx_l2cap_smp 
+0x5f2a 013347 setarg smp_pairing_confirm 
+0x5f2b 013348 istore 1 ,contw 
+0x5f2c 013349 branch load_inverse_result 
+:      013353 le_parse_smp_pairing_random:
+0x5f2d 013354 copy contr ,rega 
+0x5f2e 013355 fetch 1 ,mem_le_pairing_mode 
+0x5f2f 013356 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+0x5f30 013357 copy rega ,contr 
+0x5f31 013358 call authenticate_rconfirm 
+0x5f32 013359 branch le_parse_smp_pairing_random_success ,zero 
+:      013360 le_send_pairing_confirm_value_failed:
+0x5f33 013361 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+:      013362 le_send_pairing_failed:
+0x5f34 013363 force 2 ,rega 
+0x5f35 013364 call le_fifo_malloc_tx_l2cap_smp 
+0x5f36 013365 setarg smp_pairing_failed 
+0x5f37 013366 istore 1 ,contw 
+0x5f38 013367 fetch 1 ,mem_le_ll_pairing_fail_reason 
+0x5f39 013368 istore 1 ,contw 
+:      013369 le_parse_smp_pairing_failed:
+0x5f3a 013370 force smp_pairing_timer ,queue 
+0x5f3b 013371 call timer_stop 
+0x5f3c 013372 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5f3d 013373 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+0x5f3e 013374 branch ui_ipc_send_event 
+:      013376 le_smp_pairing_fail_reason_not_support_pairing:
+0x5f3f 013377 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+0x5f40 013378 branch le_send_pairing_failed 
+:      013381 le_parse_smp_pairing_random_sc:
+0x5f41 013382 arg mem_le_mrand ,contw 
+0x5f42 013383 copy rega ,contr 
+0x5f43 013384 call memcpy16 
+0x5f44 013385 fetch 1 ,mem_le_pairing_mode 
+0x5f45 013386 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+0x5f46 013387 call function_g2 
+0x5f47 013390 call le_send_smp_pairing_random 
+0x5f48 013391 fetch 1 ,mem_le_pairing_mode 
+0x5f49 013392 rtnne le_pairing_mode_secure_connect_numeric 
+0x5f4a 013393 jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+0x5f4b 013394 branch ui_ipc_send_event 
+:      013396 le_parse_smp_pairing_random_sc_passkey:
+0x5f4c 013397 call function_f4_ca 
+0x5f4d 013398 arg mem_aes_cmac_temp ,contw 
+0x5f4e 013399 call load_inverse_result 
+0x5f4f 013400 arg mem_aes_cmac_temp ,rega 
+0x5f50 013401 arg mem_le_rconfirm ,regb 
+0x5f51 013402 arg 16 ,loopcnt 
+0x5f52 013403 call string_compare 
+0x5f53 013404 nbranch le_send_pairing_confirm_value_failed ,zero 
+0x5f54 013405 branch le_send_smp_pairing_random 
+:      013407 le_parse_smp_pairing_random_success:
+0x5f55 013408 call generate_stk 
+0x5f56 013409 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5f57 013410 call ui_ipc_send_event 
+0x5f58 013411 jam 1 ,mem_ltk_exists 
+0x5f59 013412 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+:      013414 le_send_smp_pairing_random:
+0x5f5a 013415 force 17 ,rega 
+0x5f5b 013416 call le_fifo_malloc_tx_l2cap_smp 
+0x5f5c 013417 setarg smp_pairing_random 
+0x5f5d 013418 istore 1 ,contw 
+0x5f5e 013419 arg mem_le_srand ,contr 
+0x5f5f 013420 branch memcpy16 
+:      013422 le_parse_smp_encryption_information:
+0x5f60 013423 arg mem_le_peer_ltk ,contw 
+0x5f61 013424 branch memcpy16 
+:      013426 le_send_smp_encryption_information:
+0x5f62 013427 force 17 ,rega 
+0x5f63 013428 call le_fifo_malloc_tx_l2cap_smp 
+0x5f64 013429 setarg smp_encryption_information 
+0x5f65 013430 istore 1 ,contw 
+0x5f66 013431 fetch 1 ,mem_le_configuration 
+0x5f67 013432 bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+0x5f68 013433 arg mem_le_ltk ,contr 
+0x5f69 013434 branch memcpy16 
+:      013436 le_send_fixed_ltk:
+0x5f6a 013437 arg mem_le_fixed_ltk ,contr 
+0x5f6b 013438 branch memcpy16 
+:      013441 le_send_smp_master_identification:
+0x5f6c 013442 arg mem_le_ediv ,contw 
+0x5f6d 013443 force 10 ,loopcnt 
+0x5f6e 013444 call generate_random_loop 
+0x5f6f 013445 force 11 ,rega 
+0x5f70 013446 call le_fifo_malloc_tx_l2cap_smp 
+0x5f71 013447 setarg smp_master_identification 
+0x5f72 013448 istore 1 ,contw 
+0x5f73 013449 fetch 2 ,mem_le_ediv 
+0x5f74 013450 istore 2 ,contw 
+0x5f75 013451 fetch 8 ,mem_le_rand 
+0x5f76 013452 istore 8 ,contw 
+0x5f77 013453 rtn 
+:      013455 le_send_smp_identity_information:
+0x5f78 013456 force 17 ,rega 
+0x5f79 013457 call le_fifo_malloc_tx_l2cap_smp 
+0x5f7a 013458 setarg smp_identity_information 
+0x5f7b 013459 istore 1 ,contw 
+0x5f7c 013460 setarg 0 
+0x5f7d 013461 istore 8 ,contw 
+0x5f7e 013462 istore 8 ,contw 
+0x5f7f 013463 rtn 
+:      013466 le_send_smp_identity_address_information:
+0x5f80 013467 force 8 ,rega 
+0x5f81 013468 call le_fifo_malloc_tx_l2cap_smp 
+0x5f82 013469 setarg smp_identity_address_information 
+0x5f83 013470 istore 1 ,contw 
+0x5f84 013471 fetch 1 ,mem_le_conn_own_addr_type 
+0x5f85 013472 istore 1 ,contw 
+0x5f86 013473 fetch 6 ,mem_le_lap 
+0x5f87 013474 istore 6 ,contw 
+0x5f88 013475 rtn 
+:      013478 le_send_pairing_fail_unspecified_reason:
+0x5f89 013479 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+0x5f8a 013480 branch le_send_pairing_failed 
+:      013482 le_check_init_key_distribution:
+0x5f8b 013483 fetch 1 ,mem_le_pres_init_key_distribution 
+0x5f8c 013484 fetcht 1 ,mem_le_pres_init_key_distribution 
+0x5f8d 013485 iand temp ,pdata 
+0x5f8e 013486 rtn 
+:      013488 le_parse_smp_identity_information:
+0x5f8f 013489 arg mem_le_irk ,contw 
+0x5f90 013490 call memcpy16 
+0x5f91 013491 call le_check_init_key_distribution 
+0x5f92 013492 isolate0 le_initator_irk_bit ,pdata 
+0x5f93 013493 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5f94 013494 fetch 1 ,mem_device_option 
+0x5f95 013495 rtnne dvc_op_module 
+0x5f96 013496 call le_check_master_addr_type 
+0x5f97 013497 nrtn user 
+0x5f98 013498 branch app_ble_store_reconn_info 
+:      013501 le_check_master_addr_type:
+0x5f99 013502 call disable_user 
+0x5f9a 013503 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5f9b 013504 rtneq master_public_addr 
+0x5f9c 013505 fetch 1 ,mem_le_plap + 5 
+0x5f9d 013506 compare 0xc0 ,pdata ,0xc0 
+0x5f9e 013507 rtn true 
+0x5f9f 013508 branch enable_user 
+:      013510 le_parse_smp_identity_address_information:
+0x5fa0 013511 call le_check_init_key_distribution 
+0x5fa1 013512 isolate0 le_initator_irk_bit ,pdata 
+0x5fa2 013513 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5fa3 013514 rtn 
+:      013516 le_parse_smp_master_identification:
+:      013517 le_parse_smp_signing_information:
+:      013518 le_parse_smp_security_request:
+0x5fa4 013519 rtn 
+:      013521 le_parse_smp_public_key:
+0x5fa5 013522 arg mem_le_pubkey_remote_x_256 ,contw 
+0x5fa6 013523 call memcpy64 
+0x5fa7 013524 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5fa8 013525 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+0x5fa9 013526 rtn 
+:      013528 le_parse_smp_dhkey_check:
+0x5faa 013529 arg mem_sp_confirm_remote ,contw 
+0x5fab 013530 call memcpy16 
+0x5fac 013531 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+0x5fad 013532 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5fae 013533 rtn 
+:      013535 le_send_smp_pairing_public_key:
+0x5faf 013536 force 65 ,rega 
+0x5fb0 013537 call le_fifo_malloc_tx_l2cap_smp 
+0x5fb1 013538 setarg smp_pairing_public_key 
+0x5fb2 013539 istore 1 ,contw 
+0x5fb3 013540 arg mem_le_pubkey_local_x_256 ,contr 
+0x5fb4 013541 branch memcpy64 
+:      013543 le_send_smp_pairing_dhkey_check:
+0x5fb5 013544 call function_f6_eb 
+0x5fb6 013545 force 17 ,rega 
+0x5fb7 013546 call le_fifo_malloc_tx_l2cap_smp 
+0x5fb8 013547 setarg smp_pairing_dhkey_check 
+0x5fb9 013548 istore 1 ,contw 
+0x5fba 013549 branch load_inverse_result 
+:      013552 le_check_paring_time:
+0x5fbb 013553 fetch 1 ,mem_le_pairing_state 
+0x5fbc 013554 rtneq flag_le_pairing_end 
+0x5fbd 013555 arg flag_le_pairing_rcv_pairing_req ,temp 
+0x5fbe 013556 isub temp ,null 
+0x5fbf 013557 nrtn positive 
+0x5fc0 013558 arg smp_pairing_timer ,queue 
+0x5fc1 013559 call timer_check 
+0x5fc2 013560 nrtn blank 
+0x5fc3 013561 branch le_send_pairing_fail_unspecified_reason 
+:      013563 le_pairing_sm:
+0x5fc4 013564 bpatchx patch26_3 ,mem_patch26 
+0x5fc5 013565 fetch 1 ,mem_le_pairing_state 
+0x5fc6 013566 beq flag_le_pairing_null ,le_pairing_sm_null 
+0x5fc7 013567 beq flag_le_pairing_start ,le_pairing_sm_start 
+0x5fc8 013568 beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+0x5fc9 013569 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+0x5fca 013570 beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+0x5fcb 013571 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+0x5fcc 013572 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+0x5fcd 013573 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+0x5fce 013574 rtn 
+:      013576 le_pairing_sm_null:
+:      013577 le_pairing_sm_send_sec_req:
+0x5fcf 013578 fetch 1 ,mem_le_enc_state 
+0x5fd0 013579 rtnne flag_le_send_start_enc_rsp 
+0x5fd1 013580 jam flag_le_enc_end ,mem_le_enc_state 
+0x5fd2 013581 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5fd3 013582 jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+0x5fd4 013583 branch ui_ipc_send_event 
+:      013586 le_pairing_sm_start:
+0x5fd5 013587 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+0x5fd6 013588 branch le_send_smp_security_request 
+:      013590 le_pairing_sm_rcv_pairing_req:
+0x5fd7 013591 jam flag_le_pairing_auth ,mem_le_pairing_state 
+0x5fd8 013592 setarg timer_smp_pairing_timeout 
+0x5fd9 013593 arg smp_pairing_timer ,queue 
+0x5fda 013594 branch timer_init 
+:      013596 le_pairing_sm_after_auth:
+0x5fdb 013597 fetch 1 ,mem_le_enc_state 
+0x5fdc 013598 beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+0x5fdd 013599 rtn 
+:      013601 le_pairing_sm_after_auth_start_enc:
+0x5fde 013602 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+0x5fdf 013603 jam bt_evt_le_enc_info ,mem_fifo_temp 
+0x5fe0 013604 call ui_ipc_send_event 
+0x5fe1 013605 call le_send_smp_encryption_information 
+0x5fe2 013606 fetch 1 ,mem_device_option 
+0x5fe3 013607 rtnne dvc_op_module 
+0x5fe4 013608 call le_check_master_addr_type 
+0x5fe5 013609 rtn user 
+0x5fe6 013610 branch app_ble_store_reconn_info 
+:      013613 le_pairng_sm_send_enc_information:
+0x5fe7 013614 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+0x5fe8 013615 branch le_send_smp_master_identification 
+:      013617 le_pairng_sm_send_master_indentification:
+0x5fe9 013618 fetch 1 ,mem_le_preq_resp_key_distribution 
+0x5fea 013619 fetcht 1 ,mem_le_pres_resp_key_distribution 
+0x5feb 013620 iand temp ,pdata 
+0x5fec 013621 isolate0 le_initator_irk_bit ,pdata 
+0x5fed 013622 branch le_parse_start_enc_rsp_after_auth_end ,true 
+0x5fee 013623 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+0x5fef 013624 branch le_send_smp_identity_information 
+:      013626 le_pairng_sm_send_indentity_information:
+0x5ff0 013627 call le_send_smp_identity_address_information 
+0x5ff1 013628 branch le_parse_start_enc_rsp_after_auth_end 
+:      013631 le_parse_start_enc_rsp_after_auth_end:
+0x5ff2 013632 force smp_pairing_timer ,queue 
+0x5ff3 013633 call timer_stop 
+0x5ff4 013634 jam flag_le_enc_end ,mem_le_enc_state 
+0x5ff5 013635 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5ff6 013636 jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+0x5ff7 013637 branch ui_ipc_send_event 
+:      013641 le_secure_connect_sm:
+0x5ff8 013642 bpatchx patch26_4 ,mem_patch26 
+0x5ff9 013643 fetch 1 ,mem_le_pairing_mode 
+0x5ffa 013644 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5ffb 013645 fetch 1 ,mem_le_secure_connect_flag 
+0x5ffc 013646 rtnne le_sp_flag_commit_256 
+0x5ffd 013647 jam sp_flag_standby ,mem_le_secure_connect_flag 
+0x5ffe 013648 fetch 1 ,mem_le_secure_connect_state 
+0x5fff 013649 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+0x6000 013650 beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+0x6001 013651 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+0x6002 013652 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+0x6003 013653 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+0x6004 013654 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+0x6005 013655 rtn 
+:      013658 le_sc_sm_passkey_wait_confirm:
+0x6006 013659 fetch 1 ,mem_authentication_passkey_times 
+0x6007 013660 copy pdata ,queue 
+0x6008 013661 increase 1 ,pdata 
+0x6009 013662 store 1 ,mem_authentication_passkey_times 
+0x600a 013663 fetch 4 ,mem_le_tk 
+0x600b 013664 qisolate1 pdata 
+0x600c 013665 setarg 0x80 
+0x600d 013666 setflag true ,0 ,pdata 
+0x600e 013667 store 1 ,mem_passkey_1bit 
+0x600f 013668 branch le_sc_sm_ready_send_pairing_confirm 
+:      013670 le_sc_sm_wait_confirm_gkey:
+0x6010 013671 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+0x6011 013672 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+0x6012 013673 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+0x6013 013674 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6014 013675 rtn 
+:      013677 le_sc_confirm_gkey_ok:
+0x6015 013678 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x6016 013679 call ui_ipc_send_event 
+0x6017 013680 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+0x6018 013681 branch le_send_smp_pairing_dhkey_check 
+:      013683 le_sc_sm_receive_dhkey:
+0x6019 013684 fetch 1 ,mem_sp_dhkey_invalid 
+0x601a 013685 beq sp_key_valid_256 ,le_dhkey_ready 
+0x601b 013686 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x601c 013687 rtn 
+:      013689 le_dhkey_ready:
+0x601d 013690 call function_f5 
+0x601e 013694 fetch 1 ,mem_le_pairing_mode 
+0x601f 013695 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+0x6020 013696 call le_set_tk_0 
+:      013697 le_dhkey_ready_common:
+0x6021 013698 call function_f6_ea 
+0x6022 013699 arg mem_aes_cmac_temp ,rega 
+0x6023 013700 arg mem_sp_confirm_remote ,regb 
+0x6024 013701 arg 16 ,loopcnt 
+0x6025 013702 call string_compare 
+0x6026 013703 branch le_dhkey_check_ok ,zero 
+:      013704 le_dhkey_check_fail:
+0x6027 013705 jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+0x6028 013706 branch le_send_pairing_failed 
+:      013709 le_dhkey_check_ok:
+0x6029 013710 call sp_calc_check_publickey_256 
+0x602a 013711 nbranch le_dhkey_check_fail ,zero 
+0x602b 013712 jam 1 ,mem_ltk_exists 
+0x602c 013713 fetch 1 ,mem_le_pairing_mode 
+0x602d 013714 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+0x602e 013715 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+0x602f 013716 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6030 013717 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+0x6031 013718 rtn 
+:      013720 le_sc_sm_send_public_key:
+0x6032 013721 fetch 1 ,mem_le_pairing_mode 
+0x6033 013722 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+0x6034 013723 jam 0 ,mem_passkey_1bit 
+:      013724 le_sc_sm_ready_send_pairing_confirm:
+0x6035 013725 branch le_send_smp_pairing_confirm 
+:      013727 le_sc_sm_send_public_key_passkey:
+0x6036 013731 jam 0 ,mem_authentication_passkey_times 
+0x6037 013732 branch le_parse_smp_pairing_req_passkey 
+:      013735 le_sc_sm_receive_public_key:
+0x6038 013736 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6039 013737 fetch 1 ,mem_le_sc_local_key_invalid 
+0x603a 013738 beq sp_key_valid_256 ,le_public_key_ready 
+0x603b 013740 rtn 
+:      013742 le_public_key_ready:
+0x603c 013743 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+0x603d 013744 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+0x603e 013745 branch sp_dhkey_calc_256 
+:      013747 le_sc_sm_wait_send_public_key:
+0x603f 013748 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6040 013749 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+0x6041 013750 branch le_send_smp_pairing_public_key 
+:      013754 le_fifo_malloc_tx_l2cap_smp:
+0x6042 013755 force le_l2cap_cid_smp ,regb 
+0x6043 013756 branch le_fifo_malloc_tx_l2cap 
+:      013760 le_parse_ll:
+0x6044 013761 bpatchx patch26_5 ,mem_patch26 
+0x6045 013762 fetch 1 ,mem_le_rxbuf + 2 
+0x6046 013763 beq ll_connection_update_req ,le_parse_connection_update_req 
+0x6047 013764 beq ll_channel_map_req ,le_parse_channel_map_req 
+0x6048 013765 beq ll_terminate_ind ,le_parse_terminate_ind 
+0x6049 013766 beq ll_enc_req ,le_parse_enc_req 
+0x604a 013767 beq ll_enc_rsp ,le_parse_enc_rsp 
+0x604b 013768 beq ll_start_enc_req ,le_parse_start_enc_req 
+0x604c 013769 beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+0x604d 013770 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+0x604e 013771 beq ll_feature_req ,le_parse_feature_req 
+0x604f 013772 beq ll_feature_rsp ,le_parse_feature_rsp 
+0x6050 013773 beq ll_pause_enc_req ,le_parse_pause_enc_req 
+0x6051 013774 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+0x6052 013775 beq ll_version_ind ,le_parse_version_ind 
+0x6053 013776 beq ll_reject_ind ,le_parse_reject_ind 
+0x6054 013777 beq ll_ping_req ,le_parse_ping_req 
+0x6055 013778 beq ll_ping_rsp ,le_parse_ping_rsp 
+0x6056 013779 arg 2 ,rega 
+0x6057 013780 arg ll_unknown_rsp ,regb 
+0x6058 013781 call le_fifo_malloc_tx_ll 
+0x6059 013782 fetch 1 ,mem_le_rxbuf + 2 
+0x605a 013783 istore 1 ,contw 
+0x605b 013784 rtn 
+:      013787 le_parse_connection_update_req:
+0x605c 013788 ifetch 9 ,contr 
+0x605d 013789 store 9 ,mem_le_new_param 
+0x605e 013790 ifetch 2 ,contr 
+0x605f 013791 store 2 ,mem_le_instant 
+0x6060 013792 fetch 1 ,mem_le_state 
+0x6061 013793 set1 lestate_update_param ,pdata 
+0x6062 013794 store 1 ,mem_le_state 
+0x6063 013795 rtn 
+:      013797 le_parse_channel_map_req:
+0x6064 013798 ifetch 5 ,contr 
+0x6065 013799 store 5 ,mem_le_new_map 
+0x6066 013800 ifetch 2 ,contr 
+0x6067 013801 store 2 ,mem_le_instant 
+0x6068 013802 fetcht 2 ,mem_le_event_count 
+0x6069 013803 isub temp ,null 
+0x606a 013804 nbranch le_parse_terminate_ind ,positive 
+0x606b 013805 fetch 1 ,mem_le_state 
+0x606c 013806 set1 lestate_update_map ,pdata 
+0x606d 013807 store 1 ,mem_le_state 
+0x606e 013808 rtn 
+:      013811 le_parse_terminate_ind:
+0x606f 013812 setarg 20 
+0x6070 013813 store 2 ,mem_le_superto 
+0x6071 013814 store 2 ,mem_le_init_superto 
+0x6072 013815 rtn 
+:      013817 le_send_terminate_ind_user_terminated:
+0x6073 013818 arg error_remote_user_terminated_connection ,regc 
+:      013821 le_send_terminate_ind:
+0x6074 013822 arg 2 ,rega 
+0x6075 013823 arg ll_terminate_ind ,regb 
+0x6076 013824 call le_fifo_malloc_tx_ll 
+0x6077 013825 copy regc ,pdata 
+0x6078 013826 istore 1 ,contw 
+0x6079 013827 rtn 
+:      013829 le_parse_feature_req:
+:      013831 le_send_feature_rsp:
+0x607a 013832 arg 9 ,rega 
+0x607b 013833 arg ll_feature_rsp ,regb 
+0x607c 013834 call le_fifo_malloc_tx_ll 
+0x607d 013835 setarg param_le_features 
+0x607e 013836 istore 8 ,contw 
+0x607f 013837 rtn 
+:      013840 le_parse_version_ind:
+0x6080 013841 rtn master 
+:      013842 le_send_version_ind:
+0x6081 013843 arg 6 ,rega 
+0x6082 013844 arg ll_version_ind ,regb 
+0x6083 013845 call le_fifo_malloc_tx_ll 
+0x6084 013846 fetch 5 ,mem_lmp_version 
+0x6085 013847 istore 5 ,contw 
+0x6086 013848 rtn 
+:      013851 le_parse_ping_req:
+0x6087 013852 arg ll_ping_rsp ,regb 
+0x6088 013853 branch le_send_ll_one_lenth 
+:      013856 le_send_ll_one_lenth:
+0x6089 013857 arg 1 ,rega 
+0x608a 013858 branch le_fifo_malloc_tx_ll 
+:      013861 le_parse_enc_req:
+0x608b 013862 ifetch 8 ,contr 
+0x608c 013863 store 8 ,mem_le_rand 
+0x608d 013864 ifetch 2 ,contr 
+0x608e 013865 store 2 ,mem_le_ediv 
+0x608f 013866 ifetch 8 ,contr 
+0x6090 013867 store 8 ,mem_le_skdm 
+0x6091 013868 ifetch 4 ,contr 
+0x6092 013869 store 4 ,mem_le_ivm 
+0x6093 013870 call le_send_enc_rsp 
+0x6094 013871 bpatchx patch26_6 ,mem_patch26 
+0x6095 013872 fetch 1 ,mem_le_pairing_state 
+0x6096 013873 beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+0x6097 013874 fetch 1 ,mem_le_configuration 
+0x6098 013875 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+0x6099 013876 fetch 1 ,mem_nv_data_number 
+0x609a 013877 ncall load_device_list_mode_4 ,blank 
+0x609b 013878 fetch 1 ,mem_ltk_exists 
+0x609c 013879 beq 0 ,le_ltk_lost 
+:      013880 le_parse_enc_req_after_auth:
+0x609d 013881 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+0x609e 013882 call le_send_start_enc_req 
+0x609f 013883 branch generate_sk 
+:      013885 le_parse_enc_req_fixed_ltk:
+0x60a0 013886 jam 1 ,mem_ltk_exists 
+0x60a1 013887 arg mem_le_fixed_ltk ,contr 
+0x60a2 013888 arg mem_le_ltk ,contw 
+0x60a3 013889 call memcpy16 
+0x60a4 013890 branch le_parse_enc_req_after_auth 
+:      013893 le_ltk_lost:
+0x60a5 013894 bpatchx patch26_7 ,mem_patch26 
+0x60a6 013895 jam flag_le_enc_null ,mem_le_enc_state 
+0x60a7 013896 jam flag_le_enc_null ,mem_le_pairing_state 
+0x60a8 013897 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+0x60a9 013898 branch ui_ipc_send_event 
+:      013900 le_send_reject_ind:
+0x60aa 013901 arg 2 ,rega 
+0x60ab 013902 arg ll_reject_ind ,regb 
+0x60ac 013903 call le_fifo_malloc_tx_ll 
+0x60ad 013904 setarg le_err_pin_or_key_missing 
+0x60ae 013905 istore 1 ,contw 
+0x60af 013906 rtn 
+:      013908 le_send_enc_rsp:
+0x60b0 013909 arg mem_le_skds ,contw 
+0x60b1 013910 force 8 ,loopcnt 
+0x60b2 013911 call generate_random_loop 
+0x60b3 013912 arg mem_le_ivs ,contw 
+0x60b4 013913 force 4 ,loopcnt 
+0x60b5 013914 call generate_random_loop 
+0x60b6 013915 arg 13 ,rega 
+0x60b7 013916 arg ll_enc_rsp ,regb 
+0x60b8 013917 call le_fifo_malloc_tx_ll 
+0x60b9 013918 fetch 8 ,mem_le_skds 
+0x60ba 013919 istore 8 ,contw 
+0x60bb 013920 fetch 4 ,mem_le_ivs 
+0x60bc 013921 istore 4 ,contw 
+0x60bd 013922 rtn 
+:      013924 le_send_start_enc_req:
+0x60be 013925 arg ll_start_enc_req ,regb 
+0x60bf 013926 branch le_send_ll_one_lenth 
+:      013928 le_send_start_enc_rsp:
+0x60c0 013929 arg ll_start_enc_rsp ,regb 
+0x60c1 013930 branch le_send_ll_one_lenth 
+:      013933 le_parse_enc_rsp:
+0x60c2 013934 ifetch 8 ,contr 
+0x60c3 013935 store 8 ,mem_le_skds 
+0x60c4 013936 ifetch 4 ,contr 
+0x60c5 013937 store 4 ,mem_le_ivs 
+0x60c6 013938 branch generate_sk 
+:      013940 le_parse_start_enc_req:
+0x60c7 013941 fetch 1 ,mem_le_state 
+0x60c8 013942 set1 lestate_encryption ,pdata 
+0x60c9 013943 store 1 ,mem_le_state 
+0x60ca 013944 rtn 
+:      013946 le_parse_start_enc_rsp:
+0x60cb 013947 rtn master 
+0x60cc 013948 jam bt_evt_le_start_enc ,mem_fifo_temp 
+0x60cd 013949 call ui_ipc_send_event 
+0x60ce 013950 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+0x60cf 013951 branch le_send_start_enc_rsp 
+:      013953 le_parse_pause_enc_req:
+0x60d0 013954 jam flag_le_enc_pause ,mem_le_enc_state 
+0x60d1 013955 call le_send_pause_enc_rsp 
+0x60d2 013956 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+0x60d3 013957 branch ui_ipc_send_event 
+:      013959 le_send_pause_enc_rsp:
+0x60d4 013960 arg ll_pause_enc_rsp ,regb 
+0x60d5 013961 branch le_send_ll_one_lenth 
+:      013964 le_parse_feature_rsp:
+:      013965 le_parse_unknown_rsp:
+:      013966 le_parse_pause_enc_rsp:
+:      013967 le_parse_reject_ind:
+:      013968 le_parse_ping_rsp:
+0x60d6 013969 rtn 
+:      013976 init_lmp:
+0x60d7 013977 rtn wake 
+:      013978 init_lmp_work:
+0x60d8 013979 bpatchx patch27_0 ,mem_patch27 
+0x60d9 013980 setarg 0 
+0x60da 013981 store 1 ,mem_lmp_to_send 
+0x60db 013982 store 1 ,mem_conn_sm 
+0x60dc 013983 store 1 ,mem_lmo_opcode1 
+0x60dd 013984 store 1 ,mem_lmo_opcode2 
+0x60de 013985 store 1 ,mem_esco_addr 
+0x60df 013986 store 1 ,mem_auth_enable 
+0x60e0 013987 store 1 ,mem_connection_options 
+0x60e1 013988 store 1 ,mem_pairing_auth 
+0x60e2 013989 jam switch_flag_init ,mem_switch_flag 
+0x60e3 013990 jam 0 ,mem_switch_fail_master_count 
+0x60e4 013991 jam null_encryp ,mem_wait_encryption 
+:      013992 init_lmp_reinit:
+0x60e5 013993 jam 0 ,mem_pairing_auth 
+0x60e6 013994 jam 0 ,mem_sp_localsm 
+0x60e7 013995 jam 0 ,mem_lmp_conn_state 
+:      013997 parse_rx_done:
+0x60e8 013998 rtn 
+:      014000 parse_lmp:
+0x60e9 014001 bpatchx patch27_1 ,mem_patch27 
+0x60ea 014002 call setlocalsm_master ,master 
+0x60eb 014003 ncall setlocalsm_slave ,master 
+0x60ec 014004 call lmo_fifo_check 
+0x60ed 014005 nrtn blank 
+0x60ee 014006 fetch 1 ,mem_state_map 
+0x60ef 014007 rtnbit0 smap_rxlmp 
+0x60f0 014008 set0 smap_rxlmp ,pdata 
+0x60f1 014009 set0 mark_rxbuf_inuse ,mark 
+0x60f2 014010 store 1 ,mem_state_map 
+0x60f3 014011 fetch 1 ,mem_rxbuf 
+0x60f4 014012 fetcht 1 ,mem_state_map 
+0x60f5 014013 isolate1 smap_lmptidinit ,pdata 
+0x60f6 014014 setflag true ,smap_lmptid ,temp 
+0x60f7 014015 storet 1 ,mem_state_map 
+0x60f8 014016 and_into 0x2 ,temp 
+0x60f9 014017 storet 1 ,mem_lmo_tid2 
+0x60fa 014018 fetcht 1 ,mem_state_map 
+0x60fb 014019 rshift pdata ,pdata 
+0x60fc 014020 store 1 ,mem_lmi_opcode2 
+0x60fd 014021 bpatchx patch27_2 ,mem_patch27 
+0x60fe 014022 fetch 1 ,mem_lmi_opcode2 
+0x60ff 014023 beq lmp_escape ,parse_lmp_escape 
+0x6100 014024 beq lmp_accepted ,parse_lmp_accepted 
+0x6101 014025 beq lmp_not_accepted ,parse_lmp_not_accepted 
+0x6102 014026 beq lmp_set_afh ,parse_lmp_set_afh 
+0x6103 014027 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+0x6104 014028 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+0x6105 014029 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+0x6106 014030 beq lmp_auto_rate ,parse_lmp_auto_rate 
+0x6107 014031 beq lmp_test_control ,parse_lmp_test_control 
+0x6108 014032 beq lmp_test_activate ,parse_lmp_test_activate 
+0x6109 014033 beq lmp_setup_complete ,parse_lmp_setup_complete 
+0x610a 014034 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+0x610b 014035 beq lmp_features_req ,parse_lmp_features_req 
+0x610c 014036 beq lmp_host_connection_req ,parse_lmp_conn_req 
+0x610d 014037 beq lmp_version_req ,parse_lmp_version_req 
+0x610e 014038 beq lmp_version_res ,parse_lmp_version_res 
+0x610f 014039 beq lmp_detach ,parse_lmp_detach 
+0x6110 014040 beq lmp_max_slot ,parse_lmp_max_slot 
+0x6111 014041 beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+0x6112 014042 beq lmp_name_req ,parse_lmp_name_req 
+0x6113 014043 beq lmp_name_res ,parse_lmp_name_res 
+0x6114 014044 beq lmp_features_res ,parse_lmp_features_res 
+0x6115 014045 beq lmp_comb_key ,parse_lmp_comb_key 
+0x6116 014046 beq lmp_au_rand ,parse_lmp_au_rand 
+0x6117 014047 beq lmp_in_rand ,parse_lmp_in_rand 
+0x6118 014048 beq lmp_sres ,parse_lmp_sres 
+0x6119 014049 beq lmp_incr_power_req ,parse_lmp_incr_power 
+0x611a 014050 beq lmp_decr_power_req ,parse_lmp_decr_power 
+0x611b 014051 beq lmp_max_power ,parse_lmp_max_power 
+0x611c 014052 beq lmp_min_power ,parse_lmp_min_power 
+0x611d 014053 beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+0x611e 014054 beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+0x611f 014055 beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+0x6120 014056 beq lmp_slot_offset ,parse_lmp_slot_offset 
+0x6121 014057 beq lmp_sniff_req ,parse_lmp_sniff_req 
+0x6122 014058 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+0x6123 014059 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+0x6124 014060 beq lmp_switch_req ,parse_lmp_switch_req 
+0x6125 014061 beq lmp_temp_rand ,parse_lmp_temp_rand 
+0x6126 014062 beq lmp_temp_key ,parse_lmp_temp_key 
+0x6127 014063 beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+0x6128 014064 beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+0x6129 014065 beq lmp_unit_key ,parse_lmp_unit_key 
+0x612a 014066 beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+0x612b 014067 beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+0x612c 014068 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+0x612d 014069 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+0x612e 014070 beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+0x612f 014071 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+0x6130 014072 beq lmp_dhkey_check ,parse_dhkey_check 
+0x6131 014073 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+0x6132 014074 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+:      014077 reject_unknown_packet:
+0x6133 014078 jam unknown_lmp_pdu ,mem_lmo_reason2 
+:      014079 reject_lmp_packet:
+0x6134 014080 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x6135 014081 rtn 
+:      014083 parse_lmp_clkoffset_req:
+0x6136 014084 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+0x6137 014085 rtn 
+:      014087 parse_enc_key_size_mask_req:
+0x6138 014088 jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+0x6139 014089 rtn 
+:      014091 parse_lmp_set_afh:
+0x613a 014092 fetch 4 ,mem_rxbuf + 1 
+0x613b 014093 lshift pdata ,pdata 
+0x613c 014094 store 4 ,mem_afh_instant 
+0x613d 014095 fetch 1 ,mem_rxbuf + 5 
+0x613e 014096 store 1 ,mem_afh_new_mod 
+0x613f 014097 fetch 5 ,mem_rxbuf + 6 
+0x6140 014098 store 5 ,mem_afh_map_new 
+0x6141 014099 fetch 5 ,mem_rxbuf + 11 
+0x6142 014100 istore 5 ,contw 
+0x6143 014101 fetch 1 ,mem_mode 
+0x6144 014102 set1 afh_change ,pdata 
+0x6145 014103 store 1 ,mem_mode 
+0x6146 014104 rtn 
+:      014105 parse_lmp_escape:
+0x6147 014106 bpatchx patch27_3 ,mem_patch27 
+0x6148 014107 fetch 1 ,mem_rxbuf + 1 
+0x6149 014108 set1 7 ,pdata 
+0x614a 014109 store 1 ,mem_lmi_opcode2 
+0x614b 014110 beq lmp_ext_accepted ,parse_lmpext_accepted 
+0x614c 014111 beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+0x614d 014112 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+0x614e 014113 beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+0x614f 014114 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+0x6150 014115 beq lmp_ext_features_req ,parse_lmpext_features_req 
+0x6151 014116 beq lmp_ext_features_res ,parse_lmpext_features_res 
+0x6152 014117 beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+0x6153 014118 beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+0x6154 014119 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+0x6155 014120 beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+0x6156 014121 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+0x6157 014122 rtneq lmp_ext_features_res 
+:      014125 reject_unknown_ext_packet:
+0x6158 014126 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x6159 014127 jam unknown_lmp_pdu ,mem_lmo_reason2 
+0x615a 014129 rtn 
+:      014130 parse_lmpext_chn_classification_req:
+0x615b 014131 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x615c 014132 jam not_support_chn_classification ,mem_lmo_reason2 
+0x615d 014133 rtn 
+:      014135 parse_lmpext_iocap_req:
+0x615e 014136 call iocap_lmpext_load 
+0x615f 014137 jam lmp_io_cap_res ,mem_lmo_opcode2 
+0x6160 014138 rtn 
+:      014140 parse_lmpext_iocap_res:
+0x6161 014141 call iocap_lmpext_load 
+0x6162 014142 branch iocap_lmpext_common 
+:      014144 iocap_lmpext_load:
+0x6163 014145 arg mem_sp_iocap_remote ,contw 
+0x6164 014146 fetch 3 ,mem_rxbuf + 2 
+0x6165 014147 istore 3 ,contw 
+0x6166 014148 rtn 
+:      014150 iocap_lmpext_common:
+0x6167 014151 branch master_set_mem_master_sp_flag ,true 
+0x6168 014152 rtn 
+:      014153 parse_lmpext_accepted:
+0x6169 014154 fetch 1 ,mem_rxbuf + 3 
+0x616a 014155 set1 7 ,pdata 
+0x616b 014156 store 1 ,mem_lmi_accepted_opcode 
+0x616c 014157 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+0x616d 014158 rtn 
+:      014161 parse_lmpext_not_accepted:
+0x616e 014162 fetch 1 ,mem_rxbuf + 3 
+0x616f 014163 set1 7 ,pdata 
+0x6170 014164 store 1 ,mem_lmi_accepted_opcode 
+0x6171 014165 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+0x6172 014166 rtn 
+:      014168 parse_lmpext_accepted_ptt:
+0x6173 014169 fetch 1 ,mem_ptt 
+0x6174 014170 fetcht 1 ,mem_state_map 
+0x6175 014171 nsetflag blank ,smap_edr ,temp 
+0x6176 014172 storet 1 ,mem_state_map 
+:      014173 parse_lmpext_not_accepted_ptt:
+0x6177 014174 fetch 1 ,mem_state 
+0x6178 014175 rtnbit0 state_init_seq 
+0x6179 014176 set0 state_init_seq ,pdata 
+0x617a 014177 store 1 ,mem_state 
+0x617b 014178 fetch 1 ,mem_auth_enable 
+0x617c 014179 nrtn blank 
+0x617d 014180 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x617e 014181 rtn 
+:      014183 parse_lmpext_pause_encrypt:
+0x617f 014184 nbranch parse_lmpext_pause_encrypt_slave ,master 
+0x6180 014185 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x6181 014186 branch tid_reply 
+:      014188 parse_lmpext_pause_encrypt_slave:
+0x6182 014189 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+0x6183 014190 rtn 
+:      014192 parse_lmpext_resume_encrypt:
+0x6184 014195 call tid_reply 
+0x6185 014196 branch lmp_start_encryption 
+:      014198 parse_lmpext_features_req:
+0x6186 014199 jam lmp_ext_features_res ,mem_lmo_opcode2 
+0x6187 014200 rtn 
+:      014202 parse_lmpext_features_res:
+0x6188 014203 fetcht 1 ,mem_rxbuf + 4 
+0x6189 014204 and temp ,0x1 ,temp 
+0x618a 014205 storet 1 ,mem_remote_sppcap 
+0x618b 014206 fetch 1 ,mem_hci_cmd 
+0x618c 014207 bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+0x618d 014208 jam 0 ,mem_hci_cmd 
+:      014209 parse_lmpext_features_res_not_hci:
+0x618e 014210 fetch 1 ,mem_conn_sm 
+0x618f 014211 rtnne conn_sm_wait_features_ext 
+0x6190 014212 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x6191 014213 branch process_conn_sm 
+:      014215 parse_lmp_accepted:
+0x6192 014216 bpatchx patch27_4 ,mem_patch27 
+0x6193 014217 fetch 1 ,mem_rxbuf + 1 
+0x6194 014218 store 1 ,mem_lmi_accepted_opcode 
+0x6195 014219 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+0x6196 014220 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+0x6197 014221 beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+0x6198 014222 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+0x6199 014223 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+0x619a 014224 beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+0x619b 014225 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+0x619c 014226 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+0x619d 014227 beq lmp_switch_req ,parse_lmp_accepted_switch 
+0x619e 014229 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+0x619f 014230 beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+0x61a0 014231 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+0x61a1 014232 beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+0x61a2 014233 rtn 
+:      014235 parse_lmp_not_accepted:
+0x61a3 014236 bpatchx patch27_5 ,mem_patch27 
+0x61a4 014237 fetch 1 ,mem_rxbuf + 1 
+0x61a5 014238 store 1 ,mem_lmi_accepted_opcode 
+0x61a6 014239 beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+0x61a7 014240 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+0x61a8 014241 beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+0x61a9 014242 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+0x61aa 014243 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+0x61ab 014245 beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+0x61ac 014246 beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+0x61ad 014247 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+0x61ae 014248 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+0x61af 014249 rtn 
+:      014251 parse_lmp_accepted_switch:
+0x61b0 014252 jam bt_evt_switch_accept ,mem_fifo_temp 
+0x61b1 014253 call ui_ipc_send_event 
+0x61b2 014254 branch role_switch_prepare0 
+:      014255 parse_lmp_not_accepted_switch:
+0x61b3 014256 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+0x61b4 014257 call ui_ipc_send_event 
+0x61b5 014258 jam switch_flag_not_accept ,mem_switch_flag 
+0x61b6 014259 setarg timer_switch_waite 
+0x61b7 014260 arg switch_wait_timer ,queue 
+0x61b8 014261 branch timer_init 
+:      014264 parse_lmp_accepted_hostconn:
+0x61b9 014267 fetch 1 ,mem_lmp_conn_state 
+0x61ba 014268 set1 received_conn_req ,pdata 
+0x61bb 014269 store 1 ,mem_lmp_conn_state 
+0x61bc 014270 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x61bd 014271 call ui_ipc_send_event 
+0x61be 014272 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+:      014274 parse_lmp_accepted_hostconn_ctn:
+0x61bf 014276 fetch 1 ,mem_conn_sm 
+0x61c0 014277 bne conn_sm_wait_conn_accept ,parse_rx_done 
+0x61c1 014280 jam conn_sm_auth_pair ,mem_conn_sm 
+0x61c2 014281 rtn 
+:      014289 parse_lmp_not_accepted_hostconn:
+0x61c3 014290 jam acl_connection_already_exists ,mem_disconn_reason_send 
+0x61c4 014291 jam lmp_detach ,mem_lmo_opcode2 
+0x61c5 014293 jam conn_sm_standby ,mem_conn_sm 
+0x61c6 014295 branch parse_rx_done ,true 
+0x61c7 014296 rtn 
+:      014298 parse_lmp_accepted_inrand:
+0x61c8 014299 fetch 1 ,mem_link_key_exists 
+0x61c9 014300 nrtn blank 
+0x61ca 014301 call clear_linkkey 
+0x61cb 014302 call lmp_generate_key 
+0x61cc 014303 rtn master 
+0x61cd 014304 set1 mark_slave_in_rand_accepted ,mark 
+0x61ce 014305 rtn 
+:      014307 parse_lmp_accepted_enc_mode:
+0x61cf 014308 nrtn master 
+0x61d0 014309 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x61d1 014310 fetch 1 ,mem_state_map 
+0x61d2 014311 rtnbit0 smap_encryption 
+0x61d3 014312 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x61d4 014313 rtn 
+:      014315 parse_lmp_accepted_enc_keysize:
+0x61d5 014316 branch lmp_start_encryption 
+:      014318 parse_lmp_accepted_start_enc:
+0x61d6 014319 call send_create_conn_start_l2cap_timer_sm 
+0x61d7 014320 fetch 1 ,mem_state 
+0x61d8 014321 rtnbit1 state_conn_comp 
+0x61d9 014322 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x61da 014323 fetch 1 ,mem_conn_sm 
+0x61db 014324 rtnne conn_sm_encrypt_wait 
+0x61dc 014325 jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+0x61dd 014326 rtn 
+:      014328 parse_lmp_accepted_stop_enc:
+0x61de 014336 rtn 
+:      014338 parse_lmp_not_accepted_aurand:
+:      014339 parse_lmp_not_accepted_aurand_send_detach:
+0x61df 014340 jam lmp_detach ,mem_lmo_opcode2 
+0x61e0 014341 jam other_end_terminated ,mem_disconn_reason_send 
+0x61e1 014342 rtn 
+:      014344 parse_lmp_not_accepted_inrand:
+0x61e2 014345 fetch 1 ,mem_rxbuf + 2 
+0x61e3 014346 beq key_missing ,parse_lmp_inrand_key_missing 
+0x61e4 014347 rtnne pairing_not_allowed 
+0x61e5 014348 jam pairing_not_allowed ,mem_disconn_reason_send 
+0x61e6 014349 jam lmp_detach ,mem_lmo_opcode2 
+0x61e7 014350 rtn 
+:      014351 parse_lmp_inrand_key_missing:
+0x61e8 014352 jam key_missing ,mem_disconn_reason_send 
+0x61e9 014353 jam lmp_detach ,mem_lmo_opcode2 
+0x61ea 014354 rtn 
+:      014356 parse_lmp_not_accepted_name_req:
+0x61eb 014357 rtn 
+:      014359 parse_lmp_not_accepted_simple_pairing_number:
+0x61ec 014360 jam sp_stat_null ,mem_sp_state 
+0x61ed 014361 jam lmp_detach ,mem_lmo_opcode2 
+0x61ee 014362 branch parse_rx_done 
+:      014364 parse_lmp_not_accepted_dhkey_check:
+0x61ef 014365 jam sp_stat_null ,mem_sp_state 
+0x61f0 014366 jam lmp_detach ,mem_lmo_opcode2 
+0x61f1 014367 branch parse_rx_done 
+:      014368 parse_lmp_not_accepted_unsniff_req:
+0x61f2 014369 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+0x61f3 014370 branch ui_ipc_send_event 
+:      014372 parse_lmp_accepted_unsniff_req:
+0x61f4 014373 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+0x61f5 014374 call ui_ipc_send_event 
+0x61f6 014375 branch sniff_exit 
+:      014377 parse_lmp_accepted_sniff_req:
+0x61f7 014378 jam bt_evt_sniff_accept ,mem_fifo_temp 
+0x61f8 014379 call ui_ipc_send_event 
+0x61f9 014380 setarg 0 
+0x61fa 014381 store 2 ,mem_dsniff 
+0x61fb 014382 fetch 2 ,mem_sniff_param_interval 
+0x61fc 014383 lshift pdata ,pdata 
+0x61fd 014384 store 2 ,mem_tsniff 
+0x61fe 014385 fetch 1 ,mem_sniff_param_attempt 
+0x61ff 014386 store 1 ,mem_sniff_attempt 
+0x6200 014387 fetch 1 ,mem_sniff_param_timeout 
+0x6201 014388 store 1 ,mem_sniff_timeout 
+0x6202 014389 branch sniff_init 
+:      014391 parse_lmp_not_acdcept_sniff_req:
+0x6203 014392 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+0x6204 014393 branch ui_ipc_send_event 
+:      014395 parse_lmp_crypt_key:
+0x6205 014396 fetcht 1 ,mem_rxbuf + 1 
+0x6206 014397 storet 1 ,mem_key_size 
+0x6207 014398 branch accept_lmp_msg 
+:      014400 parse_lmp_setup_complete:
+0x6208 014401 fetch 1 ,mem_lmp_conn_state 
+0x6209 014402 set1 received_setup_complete ,pdata 
+0x620a 014403 store 1 ,mem_lmp_conn_state 
+0x620b 014404 rtnbit1 sent_setup_complete 
+0x620c 014405 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x620d 014406 branch parse_rx_done 
+:      014408 parse_lmp_max_slot:
+0x620e 014411 rtn 
+:      014413 parse_lmp_max_slot_req:
+0x620f 014414 fetch 1 ,mem_max_slot 
+0x6210 014415 fetcht 1 ,mem_rxbuf + 1 
+0x6211 014416 isub temp ,null 
+0x6212 014418 branch accept_lmp_msg ,positive 
+0x6213 014419 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x6214 014420 jam unspecified_error ,mem_lmo_reason2 
+0x6215 014421 jam lmp_max_slot_req ,mem_lmi_opcode2 
+0x6216 014422 rtn 
+:      014424 parse_lmp_detach:
+0x6217 014425 call prepare_disconnect 
+0x6218 014426 branch accept_lmp_msg 
+:      014428 accept_lmp_msg:
+0x6219 014429 jam lmp_accepted ,mem_lmo_opcode2 
+0x621a 014430 rtn 
+:      014432 parse_lmp_incr_power:
+0x621b 014433 jam lmp_max_power ,mem_lmo_opcode2 
+0x621c 014434 rtn 
+:      014436 parse_lmp_decr_power:
+0x621d 014437 jam lmp_min_power ,mem_lmo_opcode2 
+0x621e 014438 rtn 
+:      014440 parse_lmp_version_res:
+0x621f 014441 fetch 1 ,mem_conn_sm 
+0x6220 014442 rtneq conn_sm_wait_version 
+0x6221 014444 jam conn_sm_send_features ,mem_conn_sm 
+0x6222 014446 rtn 
+:      014449 parse_lmp_auto_rate:
+0x6223 014450 rtn 
+:      014452 parse_lmp_in_rand:
+0x6224 014453 call lmp_copy_rand 
+0x6225 014454 jam pincode_state_wait_pincode ,mem_pincode_state 
+0x6226 014455 jam bt_evt_pincode_req ,mem_fifo_temp 
+0x6227 014456 call ui_ipc_send_event 
+0x6228 014458 call tid_check 
+0x6229 014459 nbranch lmp_accept_inrand ,true 
+0x622a 014461 nbranch parse_lmp_inrand_res ,master 
+0x622b 014462 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x622c 014463 jam lmp_in_rand ,mem_lmi_opcode2 
+0x622d 014464 jam transaction_collision ,mem_lmo_reason2 
+0x622e 014465 rtn 
+:      014466 parse_lmp_inrand_res:
+0x622f 014467 fetch 1 ,mem_op 
+0x6230 014468 set1 op_inrand_req ,pdata 
+0x6231 014469 store 1 ,mem_op 
+0x6232 014470 rtn 
+:      014473 pop_tid_follow:
+0x6233 014474 fetcht 1 ,mem_state_map 
+0x6234 014475 nsetflag blank ,smap_lmptid ,temp 
+0x6235 014476 storet 1 ,mem_state_map 
+0x6236 014477 rtn 
+:      014480 push_tid_follow:
+0x6237 014481 fetch 1 ,mem_lmo_tid2 
+0x6238 014482 rshift pdata ,pdata 
+0x6239 014483 and_into 1 ,pdata 
+0x623a 014484 rtn 
+:      014486 parse_lmp_au_rand_moudle:
+0x623b 014487 fetch 1 ,mem_nv_data_number 
+0x623c 014488 rtn blank 
+0x623d 014489 fetch 1 ,mem_pairing_auth 
+0x623e 014490 call load_device_list ,blank 
+0x623f 014491 rtn 
+:      014493 parse_lmp_au_rand:
+0x6240 014494 call parse_lmp_au_rand_moudle 
+0x6241 014495 call push_tid_follow 
+0x6242 014496 store 1 ,mem_sres_tid 
+0x6243 014497 call lmp_copy_rand 
+0x6244 014498 jam lmp_sres ,mem_lmo_opcode2 
+0x6245 014499 fetch 1 ,mem_link_key_exists 
+0x6246 014500 nrtn blank 
+0x6247 014501 fetch 1 ,mem_state 
+0x6248 014502 rtnbit1 state_combkey 
+0x6249 014503 jam key_missing ,mem_lmo_reason2 
+0x624a 014504 branch reject_lmp_packet 
+:      014506 parse_lmp_sres:
+0x624b 014507 arg mem_plap ,rega 
+0x624c 014508 call function_e1 
+0x624d 014509 fetch 4 ,mem_rxbuf + 1 
+0x624e 014510 fetcht 4 ,mem_input_store 
+0x624f 014511 isub temp ,null 
+0x6250 014512 branch authentication_ok ,zero 
+0x6251 014513 jam lmp_detach ,mem_lmo_opcode2 
+0x6252 014514 jam authentication_failure_error ,mem_disconn_reason_send 
+0x6253 014515 rtn 
+:      014516 authentication_ok:
+0x6254 014517 call authentication_ok_common 
+0x6255 014518 fetch 1 ,mem_ssp_enable 
+0x6256 014519 branch pairing_success ,blank 
+0x6257 014520 rtn 
+:      014523 authentication_ok_common:
+0x6258 014524 call copy_aco 
+0x6259 014525 call linkkey_ready 
+0x625a 014526 fetch 1 ,mem_op 
+0x625b 014527 isolate1 op_auth_req ,pdata 
+0x625c 014528 set0 op_auth_req ,pdata 
+0x625d 014529 store 1 ,mem_op 
+0x625e 014530 fetch 1 ,mem_conn_sm 
+0x625f 014531 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+0x6260 014532 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+0x6261 014533 rtn 
+:      014534 authentication_ok_conn_sm:
+0x6262 014535 fetch 1 ,mem_pairing_auth 
+0x6263 014536 rtnne defalt_pairing_auth 
+0x6264 014537 fetch 1 ,mem_state_map 
+0x6265 014538 rtnbit1 smap_encryption 
+0x6266 014539 branch host_create_conn_encrypt 
+:      014541 parse_lmp_comb_key:
+0x6267 014542 arg mem_rxbuf + 1 ,rega 
+0x6268 014543 arg mem_kinit ,regb 
+0x6269 014544 arg mem_random_number ,contw 
+0x626a 014545 call xor16 
+0x626b 014546 arg mem_plap ,rega 
+0x626c 014547 call generate_linkkey 
+0x626d 014548 jam lmp_au_rand ,mem_lmo_opcode2 
+0x626e 014549 fetch 1 ,mem_state 
+0x626f 014550 bbit0 state_combkey ,lmp_generate_key 
+0x6270 014551 rtn 
+:      014553 parse_lmp_name_res:
+0x6271 014554 fetch 2 ,mem_len 
+0x6272 014555 add pdata ,-3 ,loopcnt 
+0x6273 014556 fetcht 1 ,mem_rxbuf + 1 
+0x6274 014557 setarg mem_tmp_buffer 
+0x6275 014558 iadd temp ,contw 
+0x6276 014559 arg mem_rxbuf + 3 ,contr 
+0x6277 014560 call memcpy 
+0x6278 014561 fetcht 1 ,mem_name_offset 
+0x6279 014562 fetch 1 ,mem_rxbuf + 2 
+0x627a 014563 isub temp ,pdata 
+0x627b 014564 sub pdata ,14 ,null 
+0x627c 014565 branch parse_lmp_name_res_end ,positive 
+0x627d 014566 add temp ,14 ,pdata 
+0x627e 014567 store 1 ,mem_name_offset 
+0x627f 014568 jam lmp_name_req ,mem_lmo_opcode2 
+0x6280 014569 rtn 
+:      014570 parse_lmp_name_res_end:
+0x6281 014571 fetch 1 ,mem_state_map 
+0x6282 014572 set1 smap_name_res ,pdata 
+0x6283 014573 store 1 ,mem_state_map 
+0x6284 014574 bbit1 smap_name_req ,lmp_disconnect 
+0x6285 014575 rtn 
+:      014576 parse_lmp_name_req:
+0x6286 014577 fetch 1 ,mem_rxbuf + 1 
+0x6287 014578 store 1 ,mem_lmi_opcode2 
+0x6288 014579 jam lmp_name_res ,mem_lmo_opcode2 
+0x6289 014580 rtn 
+:      014582 parse_lmp_conn_req:
+0x628a 014583 branch accept_lmp_msg 
+:      014585 parse_lmp_timing_accuracy_req:
+0x628b 014586 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+0x628c 014587 rtn 
+:      014589 parse_lmp_features_req:
+0x628d 014590 jam lmp_features_res ,mem_lmo_opcode2 
+0x628e 014591 rtn 
+:      014593 parse_lmp_version_req:
+0x628f 014594 jam lmp_version_res ,mem_lmo_opcode2 
+0x6290 014595 rtn 
+:      014597 parse_lmp_supervision_timeout:
+0x6291 014600 rtn 
+:      014604 parse_lmp_sniff_subrating_req:
+0x6292 014605 fetch 2 ,mem_tsniff 
+0x6293 014606 iforce temp 
+0x6294 014607 fetch 1 ,mem_rxbuf + 2 
+0x6295 014608 store 1 ,mem_subsniff_rate 
+0x6296 014609 imul32 temp ,temp 
+0x6297 014610 fetch 2 ,mem_rxbuf + 3 
+0x6298 014611 lshift pdata ,pdata 
+0x6299 014612 store 2 ,mem_subsniff_tcmax 
+0x629a 014613 fetch 4 ,mem_rxbuf + 5 
+0x629b 014614 lshift pdata ,pdata 
+0x629c 014615 store 4 ,mem_subsniff_instant 
+0x629d 014617 deposit temp 
+0x629e 014618 store 2 ,mem_subsniff_tsniff 
+0x629f 014619 rtn 
+:      014620 parse_lmpext_packet_type_table_req:
+0x62a0 014621 fetcht 1 ,mem_ptt 
+0x62a1 014622 fetch 1 ,mem_rxbuf + 2 
+0x62a2 014623 ixor temp ,null 
+0x62a3 014624 nbranch reject_unknown_ext_packet ,zero 
+0x62a4 014625 isolate1 0 ,pdata 
+0x62a5 014626 fetch 1 ,mem_state_map 
+0x62a6 014627 setflag true ,smap_edr ,pdata 
+0x62a7 014628 store 1 ,mem_state_map 
+0x62a8 014629 jam lmp_ext_accepted ,mem_lmo_opcode2 
+0x62a9 014630 jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+0x62aa 014631 rtn 
+:      014634 parse_lmp_sniff_subrating_res:
+:      014635 parse_lmp_preferred_rate:
+:      014636 parse_lmp_max_power:
+:      014637 parse_lmp_min_power:
+0x62ab 014638 rtn 
+:      014639 parse_lmp_page_mode_req:
+0x62ac 014641 branch accept_lmp_msg 
+:      014642 parse_lmp_page_scan_mode_req:
+0x62ad 014645 branch accept_lmp_msg 
+:      014649 parse_lmp_slot_offset:
+0x62ae 014650 fetch 2 ,mem_rxbuf + 1 
+0x62af 014651 store 2 ,mem_slot_offset 
+0x62b0 014652 rtn 
+:      014654 parse_lmp_sniff_req_check_sniff_para:
+0x62b1 014655 fetch 2 ,mem_rxbuf + 4 
+0x62b2 014656 fetcht 1 ,mem_lpm_mult 
+0x62b3 014657 imul32 temp ,pdata 
+0x62b4 014658 arg 0x640 ,temp 
+0x62b5 014659 isub temp ,null 
+0x62b6 014661 rtn 
+:      014663 parse_lmp_sniff_req:
+0x62b7 014664 branch lmp_reject_sniff 
+0x62b8 014665 fetch 2 ,mem_rxbuf + 6 
+0x62b9 014666 branch lmp_reject_sniff ,blank 
+0x62ba 014667 call parse_lmp_sniff_req_check_sniff_para 
+0x62bb 014668 branch lmp_reject_sniff ,positive 
+0x62bc 014669 fetch 1 ,mem_device_option 
+0x62bd 014670 sub pdata ,dvc_op_module ,null 
+0x62be 014671 call module_set_lpm_mult_2 ,zero 
+0x62bf 014672 fetch 1 ,mem_state 
+0x62c0 014673 bbit1 state_insniff ,lmp_reject_sniff 
+0x62c1 014674 fetch 2 ,mem_rxbuf + 2 
+0x62c2 014675 lshift pdata ,pdata 
+0x62c3 014676 store 2 ,mem_dsniff 
+0x62c4 014677 fetch 2 ,mem_rxbuf + 4 
+0x62c5 014678 lshift pdata ,pdata 
+0x62c6 014679 store 2 ,mem_tsniff 
+0x62c7 014680 fetch 2 ,mem_rxbuf + 6 
+0x62c8 014681 store 1 ,mem_sniff_attempt 
+0x62c9 014682 iforce temp 
+0x62ca 014683 fetch 2 ,mem_rxbuf + 8 
+0x62cb 014684 store 1 ,mem_sniff_timeout 
+0x62cc 014685 isub temp ,null 
+0x62cd 014686 nbranch set_big_value_to_attempt ,positive 
+0x62ce 014687 store 1 ,mem_sniff_attempt 
+:      014688 set_big_value_to_attempt:
+0x62cf 014690 jam lmp_accepted ,mem_lmo_opcode2 
+0x62d0 014691 jam lmp_sniff_req ,mem_lmi_opcode2 
+0x62d1 014692 rtn 
+:      014694 lmp_reject_sniff:
+0x62d2 014695 jam pdu_not_allowed ,mem_lmo_reason2 
+0x62d3 014696 branch reject_lmp_packet 
+:      014698 parse_lmp_start_encryption_req:
+0x62d4 014699 call accept_lmp_msg 
+0x62d5 014700 call lmp_copy_rand 
+0x62d6 014701 call function_e3 
+0x62d7 014702 branch start_encryption 
+:      014704 parse_lmp_stop_encryption_req:
+0x62d8 014705 call accept_lmp_msg 
+0x62d9 014706 branch stop_encryption 
+:      014709 parse_lmp_switch_req:
+0x62da 014710 fetch 4 ,mem_rxbuf + 1 
+0x62db 014711 lshift pdata ,pdata 
+0x62dc 014713 branch parse_lmp_switch_accept ,master 
+0x62dd 014714 fetcht 1 ,mem_link_key_exists 
+0x62de 014715 nbranch parse_lmp_switch_req_clear_mark ,blank 
+:      014716 parse_lmp_switch_req_not_accept:
+0x62df 014717 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x62e0 014718 jam lmp_switch_req ,mem_lmi_opcode2 
+0x62e1 014719 jam pdu_not_allowed ,mem_lmo_reason2 
+0x62e2 014720 rtn 
+:      014721 parse_lmp_switch_req_clear_mark:
+0x62e3 014722 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x62e4 014723 jam 0 ,mem_conn_sm 
+0x62e5 014724 branch role_switch_prepare 
+:      014726 parse_lmp_switch_accept:
+0x62e6 014727 call role_switch_prepare 
+0x62e7 014728 set1 mark_reconn_recieve_switch ,mark 
+0x62e8 014729 fetch 1 ,mem_connection_options 
+0x62e9 014730 set0 connection_switch ,pdata 
+0x62ea 014731 store 1 ,mem_connection_options 
+0x62eb 014732 branch accept_lmp_msg 
+:      014736 parse_lmp_temp_rand:
+:      014737 parse_lmp_temp_key:
+:      014738 parse_lmp_timing_accuracy_res:
+:      014739 parse_lmp_unit_key:
+:      014740 parse_lmp_use_semi_permanend_key:
+0x62ec 014741 rtn 
+:      014744 parse_lmp_unsniff_req:
+0x62ed 014745 jam lmp_accepted ,mem_lmo_opcode2 
+0x62ee 014746 jam lmp_unsniff_req ,mem_lmi_opcode2 
+0x62ef 014747 jam bt_evt_remote_unsniff ,mem_fifo_temp 
+0x62f0 014748 call ui_ipc_send_event 
+0x62f1 014749 branch sniff_exit 
+:      014751 parse_lmp_encapsulated_header:
+0x62f2 014752 fetch 1 ,mem_rxbuf + 1 
+0x62f3 014753 bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x62f4 014754 fetch 1 ,mem_rxbuf + 2 
+0x62f5 014755 bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x62f6 014756 fetch 1 ,mem_rxbuf + 3 
+0x62f7 014757 bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+0x62f8 014758 call check_localsm 
+0x62f9 014759 branch parse_lmp_encapsulated_header_master ,true 
+0x62fa 014760 jam sp_stat_key_recv ,mem_sp_state 
+:      014761 parse_lmp_encapsulated_header_master:
+0x62fb 014762 jam lmp_accepted ,mem_lmo_opcode2 
+0x62fc 014763 jam lmp_encapsulated_header ,mem_lmi_opcode2 
+0x62fd 014764 branch parse_rx_done 
+:      014766 parse_lmp_encapsulated_header_reject:
+0x62fe 014767 jam pdu_not_allowed ,mem_lmo_reason2 
+0x62ff 014768 branch reject_lmp_packet 
+:      014770 parse_lmp_accepted_encapsulated_header:
+0x6300 014773 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x6301 014775 rtn 
+:      014776 parse_lmp_accepted_simple_pairing_number:
+0x6302 014777 fetch 1 ,mem_ssp_mode_flag 
+0x6303 014778 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+0x6304 014779 beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+:      014780 parse_lmp_accepted_simple_pairing_number_common:
+0x6305 014781 call check_localsm 
+0x6306 014782 rtn true 
+0x6307 014783 jam sp_stat_confirm_recv ,mem_sp_state 
+0x6308 014784 rtn 
+:      014786 parse_lmp_accepted_simple_pairing_number_ssp_pin:
+0x6309 014787 call g_noninit_number_confirm 
+0x630a 014788 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+0x630b 014789 call ui_ipc_send_event 
+0x630c 014790 branch parse_lmp_accepted_simple_pairing_number_common 
+:      014793 parse_lmp_accepted_simple_pairing_number_passkey:
+0x630d 014794 call check_localsm 
+0x630e 014795 rtn true 
+0x630f 014796 fetch 1 ,mem_authentication_passkey_times 
+0x6310 014797 beq 19 ,authentication_passkey_end 
+0x6311 014798 increase 1 ,pdata 
+0x6312 014799 store 1 ,mem_authentication_passkey_times 
+:      014802 authentication_passkey:
+0x6313 014803 jam sp_flag_commit ,mem_sp_flag 
+0x6314 014804 jam sp_stat_commit_calc ,mem_sp_state 
+0x6315 014805 fetch 1 ,mem_authentication_passkey_times 
+0x6316 014806 copy pdata ,queue 
+0x6317 014807 fetch 6 ,mem_pin 
+0x6318 014808 qisolate1 pdata 
+0x6319 014809 setarg 0x80 
+0x631a 014810 setflag true ,0 ,pdata 
+0x631b 014811 store 1 ,mem_passkey_1bit 
+0x631c 014812 rtn 
+:      014814 authentication_passkey_end:
+0x631d 014815 jam sp_stat_confirm_recv ,mem_sp_state 
+0x631e 014816 rtn 
+:      014818 parse_lmp_accepted_dhkey_check:
+0x631f 014819 call parse_lmp_accepted_dhkey_check_common 
+:      014820 pairing_success:
+0x6320 014821 fetch 1 ,mem_flag_pairing_state 
+0x6321 014822 rtn blank 
+0x6322 014823 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+0x6323 014824 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+0x6324 014825 branch ui_ipc_send_event 
+:      014828 parse_lmp_accepted_dhkey_check_common:
+0x6325 014830 call check_localsm 
+0x6326 014831 ncall g_noninit ,true 
+0x6327 014832 call g_init ,true 
+0x6328 014833 call check_localsm 
+0x6329 014834 rtn true 
+0x632a 014835 jam sp_stat_link_key_calc ,mem_sp_state 
+0x632b 014836 jam sp_flag_commit ,mem_sp_flag 
+0x632c 014837 rtn 
+:      014839 parse_simple_pairing_confirm:
+0x632d 014840 arg mem_sp_confirm_remote ,contw 
+0x632e 014841 arg mem_rxbuf + 1 ,contr 
+0x632f 014842 call memcpy16 
+0x6330 014843 fetch 1 ,mem_ssp_mode_flag 
+0x6331 014844 rtneq ssp_mode_passkey_entry_flag 
+0x6332 014845 branch master_set_mem_master_sp_flag 
+:      014847 parse_lmp_encapsulated_payload:
+0x6333 014848 fetch 1 ,mem_master_sp_state 
+0x6334 014849 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+0x6335 014850 fetch 1 ,mem_sp_state 
+0x6336 014851 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+:      014852 parse_encapsulated_payload_master:
+0x6337 014853 fetch 1 ,mem_sp_remote_key_recv_count 
+0x6338 014854 sub pdata ,0x20 ,contw 
+0x6339 014855 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+0x633a 014856 arg mem_sp_pubkey_remote ,contw 
+0x633b 014857 iadd contw ,contw 
+0x633c 014858 fetch 8 ,mem_rxbuf + 1 
+0x633d 014859 istore 8 ,contw 
+0x633e 014860 fetch 8 ,mem_rxbuf + 9 
+0x633f 014861 istore 8 ,contw 
+0x6340 014862 fetch 1 ,mem_sp_remote_key_recv_count 
+0x6341 014863 increase 16 ,pdata 
+0x6342 014864 store 1 ,mem_sp_remote_key_recv_count 
+0x6343 014865 bne encapsulated_len_p192 ,accept_lmp_msg 
+:      014866 parse_lmp_encapsulated_payload_completed:
+0x6344 014867 call check_localsm 
+0x6345 014868 branch accept_lmp_msg ,true 
+0x6346 014869 jam sp_key_valid ,mem_sp_remote_key_invalid 
+0x6347 014870 jam sp_stat_key_generate ,mem_sp_state 
+0x6348 014871 jam sp_flag_commit ,mem_sp_flag 
+0x6349 014872 branch accept_lmp_msg 
+:      014873 parse_lmp_encapsulated_payload_reject:
+0x634a 014874 jam pdu_not_allowed ,mem_lmo_reason2 
+0x634b 014875 branch reject_lmp_packet 
+:      014876 parse_lmp_accepted_encapsulated_payload:
+0x634c 014877 fetch 1 ,mem_sp_local_key_send_count 
+0x634d 014878 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+0x634e 014879 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x634f 014880 branch parse_rx_done 
+:      014882 parse_lmp_encapsulated_payload_all_accepted:
+0x6350 014883 call check_localsm 
+0x6351 014884 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+0x6352 014885 fetch 1 ,mem_ssp_mode_flag 
+0x6353 014886 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+0x6354 014887 jam sp_flag_commit ,mem_sp_flag 
+0x6355 014888 jam sp_stat_commit_calc ,mem_sp_state 
+0x6356 014889 branch parse_rx_done 
+:      014891 parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+0x6357 014892 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+0x6358 014893 branch ui_ipc_send_event 
+:      014896 parse_lmp_encapsulated_payload_all_accepted_master:
+0x6359 014898 branch parse_rx_done 
+:      014900 parse_lmp_simple_pairing_number:
+0x635a 014901 fetch 1 ,mem_master_sp_state 
+0x635b 014902 beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+0x635c 014903 fetch 1 ,mem_sp_state 
+0x635d 014904 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+:      014905 parse_lmp_simple_pairing_number_master:
+0x635e 014906 arg mem_sp_random_remote ,contw 
+0x635f 014907 fetch 8 ,mem_rxbuf + 1 
+0x6360 014908 istore 8 ,contw 
+0x6361 014909 fetch 8 ,mem_rxbuf + 9 
+0x6362 014910 istore 8 ,contw 
+0x6363 014911 call check_localsm 
+0x6364 014912 branch parse_lmp_simple_pairing_number_master0 ,true 
+0x6365 014913 jam sp_stat_random_send ,mem_sp_state 
+0x6366 014914 jam sp_flag_commit ,mem_sp_flag 
+0x6367 014915 branch accept_lmp_msg 
+:      014916 parse_lmp_simple_pairing_number_master0:
+0x6368 014917 jam sp_stat_commit_calc ,mem_master_sp_state 
+0x6369 014918 branch master_set_mem_master_sp_flag 
+:      014921 parse_lmp_simple_pairing_number_reject:
+0x636a 014922 jam pdu_not_allowed ,mem_lmo_reason2 
+0x636b 014923 branch reject_lmp_packet 
+:      014925 parse_dhkey_check:
+0x636c 014926 fetch 1 ,mem_master_sp_state 
+0x636d 014927 beq sp_stat_confirm_send ,parse_dhkey_check_master 
+0x636e 014928 fetch 1 ,mem_sp_state 
+0x636f 014929 bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+:      014930 parse_dhkey_check_master:
+0x6370 014931 arg mem_sp_check_result ,contw 
+0x6371 014932 arg mem_rxbuf + 1 ,contr 
+0x6372 014933 call memcpy16 
+0x6373 014934 call check_localsm 
+0x6374 014935 branch parse_dhkey_check_master0 ,true 
+0x6375 014936 fetch 1 ,mem_ssp_mode_flag 
+0x6376 014937 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+:      014938 number_comparison_successed:
+0x6377 014939 jam 0 ,mem_flag_mode_ssp_pin 
+0x6378 014940 jam sp_stat_confirm_check ,mem_sp_state 
+0x6379 014941 jam sp_flag_commit ,mem_sp_flag 
+0x637a 014942 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x637b 014943 branch parse_rx_done 
+:      014945 parse_dhkey_check_master0:
+0x637c 014946 jam sp_stat_confirm_check ,mem_master_sp_state 
+0x637d 014947 jam sp_flag_commit ,mem_master_sp_flag 
+0x637e 014948 branch parse_rx_done 
+:      014949 parse_lmp_dhkey_check_reject:
+0x637f 014950 jam pdu_not_allowed ,mem_lmo_reason2 
+0x6380 014951 branch reject_lmp_packet 
+:      014953 number_comparison_mode:
+0x6381 014954 fetch 1 ,mem_flag_mode_ssp_pin 
+0x6382 014955 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+0x6383 014956 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+0x6384 014957 store 1 ,mem_flag_mode_ssp_pin 
+0x6385 014958 rtn 
+:      014960 comparison_result:
+0x6386 014961 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x6387 014962 jam 0 ,mem_flag_mode_ssp_pin 
+0x6388 014963 branch parse_lmp_dhkey_check_reject 
+:      014966 parse_lmp_clkoffset_res:
+0x6389 014967 branch parse_rx_done 
+:      014969 parse_lmp_encryption_mode_req:
+0x638a 014970 fetch 1 ,mem_connection_options 
+0x638b 014971 set0 connection_encrypt 
+0x638c 014972 store 1 ,mem_connection_options 
+0x638d 014973 call accept_lmp_msg 
+0x638e 014974 nrtn master 
+0x638f 014975 fetch 1 ,mem_rxbuf + 1 
+0x6390 014976 fetcht 1 ,mem_op 
+0x6391 014977 setflag blank ,op_stop_enc ,temp 
+0x6392 014978 nsetflag blank ,op_start_enc ,temp 
+0x6393 014979 storet 1 ,mem_op 
+0x6394 014980 rtn 
+:      014982 parse_lmp_features_res:
+0x6395 014983 fetcht 8 ,mem_rxbuf + 1 
+:      014984 parse_lmp_features_res_not_hci:
+0x6396 014985 fetch 1 ,mem_conn_sm 
+0x6397 014986 rtnne conn_sm_wait_features_res 
+0x6398 014988 fetch 1 ,mem_connection_options 
+0x6399 014989 bbit0 connection_feature_ext ,parse_lmp_send_conn 
+0x639a 014991 jam conn_sm_send_features_ext ,mem_conn_sm 
+0x639b 014992 rtn 
+:      014993 parse_lmp_send_conn:
+0x639c 014994 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x639d 014995 rtn 
+:      014996 parse_lmp_test_activate:
+0x639e 014997 fetch 1 ,mem_debug_config 
+0x639f 014998 store 1 ,mem_test_mode_old_debug_config 
+0x63a0 014999 jam lmp_accepted ,mem_lmo_opcode2 
+0x63a1 015000 jam lmp_test_activate ,mem_lmi_opcode2 
+0x63a2 015001 rtn 
+:      015002 parse_lmp_test_control:
+0x63a3 015005 jam lmp_accepted ,mem_lmo_opcode2 
+0x63a4 015006 jam lmp_test_control ,mem_lmi_opcode2 
+0x63a5 015007 force 9 ,loopcnt 
+0x63a6 015008 arg mem_rxbuf + 1 ,contr 
+0x63a7 015009 arg mem_temp_payload ,contw 
+:      015010 parse_lmp_test_xor:
+0x63a8 015011 ifetch 1 ,contr 
+0x63a9 015012 xor_into 0x55 ,pdata 
+0x63aa 015013 istore 1 ,contw 
+0x63ab 015014 loop parse_lmp_test_xor 
+0x63ac 015015 fetch 1 ,test_mode_scenario 
+0x63ad 015016 fetcht 1 ,mem_tester_emulate 
+0x63ae 015017 set0 tester_no_whitening ,temp 
+0x63af 015018 set0 tester_pattern_test ,temp 
+0x63b0 015019 beq exit_test_mode ,parse_lmp_test_control_exit 
+0x63b1 015020 beq pause_test_mode ,parse_lmp_test_control_pause 
+0x63b2 015021 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+0x63b3 015022 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x63b4 015023 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+0x63b5 015024 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x63b6 015025 beq zero_pattern ,parse_lmp_test_control_pattern 
+0x63b7 015026 beq one_pattern ,parse_lmp_test_control_pattern 
+0x63b8 015027 beq alt_pattern ,parse_lmp_test_control_pattern 
+0x63b9 015028 beq alt2_pattern ,parse_lmp_test_control_pattern 
+0x63ba 015029 beq pseudorandom ,parse_lmp_test_control_pattern 
+0x63bb 015030 rtn 
+:      015031 parse_lmp_test_control_exit:
+0x63bc 015033 fetch 1 ,mem_tester_emulate 
+0x63bd 015034 set1 tester_exit ,pdata 
+0x63be 015035 set1 tester_change ,pdata 
+0x63bf 015036 store 1 ,mem_tester_emulate 
+0x63c0 015037 rtn 
+:      015038 parse_lmp_test_control_pattern:
+0x63c1 015039 set1 tester_pattern_test ,temp 
+0x63c2 015040 jam 5 ,mem_lch_code 
+0x63c3 015041 fetch 2 ,test_mode_data_length 
+0x63c4 015042 iforce loopcnt 
+0x63c5 015043 store 2 ,mem_len 
+0x63c6 015044 arg mem_rxbuf ,contw 
+0x63c7 015045 call pn9 
+:      015046 parse_lmp_test_control_loopback_nowhite:
+0x63c8 015047 set1 tester_no_whitening ,temp 
+:      015048 parse_lmp_test_control_loopback:
+0x63c9 015049 set1 tester_change ,temp 
+0x63ca 015050 force 0 ,pdata 
+0x63cb 015051 store 1 ,mem_slave_rcvcnt 
+0x63cc 015052 store 2 ,mem_tst_pktcnt_crc 
+0x63cd 015053 store 2 ,mem_tst_pktcnt_dmh 
+0x63ce 015054 store 2 ,mem_tst_pktcnt_hec 
+0x63cf 015055 store 2 ,mem_tst_pktcnt_sync 
+0x63d0 015056 fetch 1 ,test_mode_hopping_mode 
+0x63d1 015057 compare fixed_freq ,pdata ,0xff 
+0x63d2 015058 setflag true ,tester_fixed_freq ,temp 
+0x63d3 015059 storet 1 ,mem_tester_emulate 
+0x63d4 015060 rtn 
+:      015062 parse_lmp_test_control_pause:
+0x63d5 015063 set0 mark_testmode ,mark 
+0x63d6 015064 jam 0 ,mem_tester_emulate 
+0x63d7 015065 fetch 1 ,mem_debug_config 
+0x63d8 015066 set0 debug_tx_pattern ,pdata 
+0x63d9 015067 store 1 ,mem_debug_config 
+0x63da 015068 rtn 
+:      015074 lmp_copy_rand:
+0x63db 015075 arg mem_rxbuf + 1 ,contr 
+0x63dc 015076 arg mem_random_number ,contw 
+0x63dd 015077 branch memcpy16 
+:      015079 lmp_generate_key:
+0x63de 015080 jam lmp_comb_key ,mem_lmo_opcode2 
+0x63df 015081 rtn 
+:      015083 lmp_start_encryption:
+0x63e0 015084 nrtn master 
+0x63e1 015085 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+0x63e2 015086 rtn 
+:      015088 lmp_accept_inrand:
+0x63e3 015089 arg mem_lap ,rega 
+0x63e4 015090 call generate_kinit 
+0x63e5 015091 jam lmp_accepted ,mem_lmo_opcode2 
+0x63e6 015092 jam lmp_in_rand ,mem_lmi_opcode2 
+0x63e7 015093 rtn 
+:      015095 lmp_disconnect:
+0x63e8 015096 jam 10 ,mem_conn_timer 
+0x63e9 015097 jam lmp_detach ,mem_lmo_opcode2 
+0x63ea 015098 jam local_host ,mem_disconn_reason_send 
+0x63eb 015099 rtn 
+:      015105 send_lmp:
+0x63ec 015106 bpatchx patch27_6 ,mem_patch27 
+0x63ed 015107 disable user 
+0x63ee 015108 call lmo_fifo_process 
+0x63ef 015109 fetch 1 ,mem_lmp_to_send 
+0x63f0 015110 rtn blank 
+0x63f1 015115 bbit1 7 ,send_lmp_escape 
+:      015116 send_lmp0:
+0x63f2 015117 beq lmp_name_req ,send_lmp_name_req 
+0x63f3 015118 beq lmp_name_res ,send_lmp_name_res 
+0x63f4 015119 beq lmp_accepted ,send_lmp_accepted 
+0x63f5 015120 beq lmp_not_accepted ,send_lmp_not_accepted 
+0x63f6 015121 beq lmp_features_req ,send_lmp_features_req 
+0x63f7 015122 beq lmp_features_res ,send_lmp_features_res 
+0x63f8 015123 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+0x63f9 015124 beq lmp_version_req ,send_lmp_version_req 
+0x63fa 015125 beq lmp_version_res ,send_lmp_version_res 
+0x63fb 015126 beq lmp_setup_complete ,send_lmp_setup_complete 
+0x63fc 015127 beq lmp_supervision_timeout ,send_lmp_superto 
+0x63fd 015128 beq lmp_host_connection_req ,send_lmp_no_payload 
+0x63fe 015129 beq lmp_in_rand ,send_lmp_inrand 
+0x63ff 015130 beq lmp_comb_key ,send_lmp_comb_key 
+0x6400 015131 beq lmp_au_rand ,send_lmp_aurand 
+0x6401 015132 beq lmp_sres ,send_lmp_sres 
+0x6402 015133 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+0x6403 015134 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+0x6404 015135 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+0x6405 015136 beq lmp_detach ,send_lmp_detach 
+0x6406 015137 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+0x6407 015138 beq lmp_unit_key ,send_lmp_unit_key 
+0x6408 015140 beq lmp_incr_power_req ,send_lmp_inc_power 
+0x6409 015141 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+0x640a 015142 beq lmp_max_power ,send_lmp_nopayload_reply 
+0x640b 015143 beq lmp_max_slot ,send_lmp_max_slot 
+0x640c 015144 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+0x640d 015145 beq lmp_min_power ,send_lmp_nopayload_reply 
+0x640e 015146 beq lmp_slot_offset ,send_lmp_slot_offset 
+0x640f 015147 beq lmp_switch_req ,send_lmp_switch_req 
+0x6410 015148 beq lmp_sniff_req ,send_lmp_sniff_req 
+0x6411 015149 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+0x6412 015150 beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+0x6413 015151 beq lmp_unsniff_req ,send_lmp_unsniff_req 
+0x6414 015152 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+0x6415 015153 beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+0x6416 015154 beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+0x6417 015155 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+0x6418 015156 beq lmp_dhkey_check ,send_lmp_dhkey_check 
+0x6419 015157 beq lmp_auto_rate ,send_lmp_auto_rate 
+0x641a 015158 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+0x641b 015160 beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+0x641c 015161 beq lmp_quality_of_service ,send_lmp_quality_of_service 
+0x641d 015162 beq lmp_test_activate ,send_lmp_test_activate 
+0x641e 015163 beq lmp_test_control ,send_lmp_test_control 
+:      015164 send_lmp_error:
+0x641f 015165 branch assert 
+0x6420 015166 rtn 
+:      015167 send_lmp_escape:
+0x6421 015168 beq lmp_ext_accepted ,send_lmpext_accepted 
+0x6422 015169 beq lmp_ext_features_res ,send_lmpext_features_res 
+0x6423 015170 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+0x6424 015171 beq lmp_ext_features_req ,send_lmpext_features_req 
+0x6425 015172 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+0x6426 015173 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+0x6427 015174 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+0x6428 015175 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+0x6429 015176 beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+0x642a 015177 beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+0x642b 015178 branch assert 
+:      015184 send_lmp_accepted:
+0x642c 015185 force 2 ,pdata 
+0x642d 015186 call msg_send_lmp 
+0x642e 015187 fetch 1 ,mem_lmi_opcode 
+0x642f 015188 istore 1 ,contw 
+0x6430 015189 call send_lmp_follow 
+0x6431 015190 bpatchx patch27_7 ,mem_patch27 
+0x6432 015191 fetch 1 ,mem_lmi_opcode 
+0x6433 015192 beq lmp_in_rand ,send_lmp_accepted_inrand 
+0x6434 015193 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+0x6435 015194 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+0x6436 015195 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+0x6437 015196 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+0x6438 015197 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+0x6439 015198 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+0x643a 015199 rtn 
+:      015201 send_create_conn_start_l2cap_timer_sm:
+0x643b 015202 fetch 1 ,mem_conn_sm 
+0x643c 015203 rtn blank 
+0x643d 015204 jam conn_sm_wait_done ,mem_conn_sm 
+0x643e 015205 setarg timer_enpt_waite 
+0x643f 015206 arg enpt_delay_timer ,queue 
+0x6440 015207 branch timer_init 
+:      015209 send_lmp_accept_sniff_req:
+0x6441 015210 branch sniff_init 
+:      015211 send_lmp_not_accepted:
+0x6442 015212 force 3 ,pdata 
+0x6443 015213 call msg_send_lmp 
+0x6444 015214 fetch 1 ,mem_lmi_opcode 
+0x6445 015215 beq lmp_au_rand ,send_not_accept_aurand 
+0x6446 015216 istore 1 ,contw 
+0x6447 015217 fetch 1 ,mem_lmo_reason 
+0x6448 015218 istore 1 ,contw 
+0x6449 015219 branch send_lmp_follow 
+:      015221 send_not_accept_aurand:
+0x644a 015222 istore 1 ,contw 
+0x644b 015223 fetch 1 ,mem_lmo_reason 
+0x644c 015224 istore 1 ,contw 
+0x644d 015225 arg mem_sres_tid ,temp 
+0x644e 015226 branch special_tid_store 
+:      015228 send_lmpext_accepted:
+0x644f 015229 force 4 ,queue 
+0x6450 015230 call send_lmpext 
+0x6451 015231 setarg lmp_escape 
+0x6452 015232 istore 1 ,contw 
+0x6453 015233 fetch 1 ,mem_lmi_opcode 
+0x6454 015234 set0 7 ,pdata 
+0x6455 015235 istore 1 ,contw 
+0x6456 015236 fetch 1 ,mem_lmi_opcode 
+0x6457 015237 branch send_lmp_follow 
+:      015239 send_lmpext_not_accepted:
+0x6458 015240 force 5 ,queue 
+0x6459 015241 call send_lmpext 
+0x645a 015242 setarg lmp_escape 
+0x645b 015243 istore 1 ,contw 
+0x645c 015244 fetch 1 ,mem_lmi_opcode 
+0x645d 015245 set0 7 ,pdata 
+0x645e 015246 istore 1 ,contw 
+0x645f 015247 fetch 1 ,mem_lmo_reason 
+0x6460 015248 istore 1 ,contw 
+0x6461 015249 branch send_lmp_follow 
+:      015252 send_lmp_accepted_inrand:
+0x6462 015253 call clear_linkkey 
+0x6463 015254 call tid_check 
+0x6464 015255 rtn true 
+0x6465 015256 branch lmp_generate_key 
+:      015258 send_lmp_accepted_enc_mode:
+0x6466 015259 fetch 1 ,mem_op 
+0x6467 015260 bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+0x6468 015261 rtnbit0 op_stop_enc 
+0x6469 015262 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x646a 015263 set0 op_stop_enc ,pdata 
+0x646b 015264 call tid_reply 
+0x646c 015265 branch send_lmp_accepted_enc_exit 
+:      015266 send_lmp_accepted_enc_start:
+0x646d 015267 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x646e 015268 set0 op_start_enc ,pdata 
+:      015269 send_lmp_accepted_enc_exit:
+0x646f 015270 store 1 ,mem_op 
+0x6470 015271 rtn 
+:      015273 send_lmp_accepted_enc_key:
+0x6471 015274 call check_localsm 
+0x6472 015275 branch lmp_start_encryption ,true 
+0x6473 015276 rtn 
+:      015278 send_lmp_accepted_connection:
+0x6474 015279 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+0x6475 015281 fetch 1 ,mem_lmp_conn_state 
+0x6476 015282 set1 received_conn_req ,pdata 
+0x6477 015283 store 1 ,mem_lmp_conn_state 
+0x6478 015284 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x6479 015285 branch ui_ipc_send_event 
+:      015288 send_lmp_accept_dhkey_check:
+0x647a 015289 rtn 
+:      015293 send_lmpext_features_res:
+0x647b 015294 force 12 ,queue 
+0x647c 015295 call send_lmpext 
+0x647d 015296 setarg 0x01 
+0x647e 015297 istore 1 ,contw 
+0x647f 015298 fetch 2 ,mem_lmpext_ssp_enable 
+0x6480 015299 istore 2 ,contw 
+0x6481 015300 setarg 0 
+0x6482 015301 istore 3 ,contw 
+0x6483 015302 setarg 0x00 
+0x6484 015303 istore 4 ,contw 
+0x6485 015304 branch send_lmp_reply 
+:      015305 send_lmpext_io_cap_res:
+0x6486 015306 force 5 ,queue 
+0x6487 015307 call send_lmpext 
+0x6488 015308 fetch 3 ,mem_sp_iocap_local 
+0x6489 015309 istore 3 ,contw 
+0x648a 015310 call send_lmp_reply 
+0x648b 015311 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+0x648c 015312 fetch 1 ,mem_sp_iocap_local 
+0x648d 015313 beq display_yesno ,responder_iocap_display_yesno 
+0x648e 015314 beq keyboard_only ,responder_iocap_keyboard_only 
+0x648f 015315 beq no_input_no_output ,responder_iocap_no_input_no_output 
+0x6490 015316 rtn 
+:      015318 responder_iocap_keyboard_only:
+0x6491 015319 fetch 1 ,mem_sp_iocap_remote 
+0x6492 015320 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+0x6493 015321 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+0x6494 015322 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+0x6495 015323 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+0x6496 015324 rtn 
+:      015327 responder_iocap_display_yesno:
+0x6497 015328 fetch 1 ,mem_sp_iocap_remote 
+0x6498 015329 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+0x6499 015330 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+0x649a 015331 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+0x649b 015332 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+0x649c 015333 rtn 
+:      015336 responder_iocap_no_input_no_output:
+0x649d 015337 fetch 1 ,mem_sp_iocap_remote 
+0x649e 015338 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+0x649f 015339 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+0x64a0 015340 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+0x64a1 015341 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+0x64a2 015342 rtn 
+:      015344 responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+:      015345 responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+:      015346 responder_iocap_display_yesno_initiator_iocap_display_only:
+:      015347 responder_iocap_no_input_no_output_initiator_iocap_display_only:
+:      015348 responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+:      015349 responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+:      015350 responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+:      015351 set_ssp_mode_justwork:
+0x64a3 015352 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+0x64a4 015353 fetch 1 ,mem_classic_bt_flag 
+0x64a5 015354 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+0x64a6 015355 rtn 
+:      015357 responder_iocap_display_yesno_initiator_iocap_display_yesno:
+:      015358 set_ssp_mode_numeric_comparison:
+0x64a7 015359 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+0x64a8 015360 rtn 
+:      015362 responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+:      015363 responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+:      015364 responder_iocap_keyboard_only_initiator_iocap_display_only:
+:      015365 responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+:      015366 set_ssp_mode_passkey:
+0x64a9 015367 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+0x64aa 015368 rtn 
+:      015371 classic_bt_set_reject_justwork_flag:
+0x64ab 015372 arg flag_ssp_reject_justwork ,queue 
+0x64ac 015373 branch classic_bluetooth_set_flag 
+:      015375 classic_bt_clr_reject_justwork_flag:
+0x64ad 015376 arg flag_ssp_reject_justwork ,queue 
+0x64ae 015377 branch classic_bluetooth_clr_flag 
+:      015379 classic_bluetooth_set_flag:
+0x64af 015380 fetch 1 ,mem_classic_bt_flag 
+0x64b0 015381 qset1 pdata 
+0x64b1 015382 store 1 ,mem_classic_bt_flag 
+0x64b2 015383 rtn 
+:      015385 classic_bluetooth_clr_flag:
+0x64b3 015386 fetch 1 ,mem_classic_bt_flag 
+0x64b4 015387 qset0 pdata 
+0x64b5 015388 store 1 ,mem_classic_bt_flag 
+0x64b6 015389 rtn 
+:      015392 send_lmp_io_cap_req:
+0x64b7 015393 force 5 ,queue 
+0x64b8 015394 call send_lmpext 
+0x64b9 015395 fetch 3 ,mem_sp_iocap_local 
+0x64ba 015396 istore 3 ,contw 
+0x64bb 015397 branch send_lmp_request 
+:      015400 send_lmpext_sniff_subrating_req:
+0x64bc 015402 rtn 
+:      015403 send_lmpext_sniff_subrating_res:
+0x64bd 015404 force 9 ,queue 
+0x64be 015405 call send_lmpext 
+0x64bf 015406 fetch 1 ,mem_subsniff_rate 
+0x64c0 015407 istore 1 ,contw 
+0x64c1 015408 fetch 2 ,mem_subsniff_tcmax 
+0x64c2 015409 istore 2 ,contw 
+0x64c3 015410 fetch 4 ,mem_subsniff_instant 
+0x64c4 015411 istore 4 ,contw 
+0x64c5 015412 branch send_lmp_reply 
+:      015414 send_lmp_name_res:
+0x64c6 015415 force 17 ,pdata 
+0x64c7 015416 call msg_send_lmp 
+0x64c8 015417 fetch 1 ,mem_lmi_opcode 
+0x64c9 015418 copy pdata ,temp 
+0x64ca 015419 beq 0x00 ,send_lmp_name_res_offset_ok 
+0x64cb 015420 beq 0x0e ,send_lmp_name_res_offset_ok 
+0x64cc 015421 beq 0x1c ,send_lmp_name_res_offset_ok 
+0x64cd 015422 rtn 
+:      015423 send_lmp_name_res_offset_ok:
+0x64ce 015424 istore 1 ,contw 
+0x64cf 015425 fetch 1 ,mem_local_name_length 
+0x64d0 015426 istore 1 ,contw 
+0x64d1 015427 arg 14 ,loopcnt 
+0x64d2 015428 setarg mem_local_name 
+0x64d3 015429 iadd temp ,contr 
+0x64d4 015430 call memcpy 
+0x64d5 015431 branch send_lmp_reply 
+:      015434 send_lmp_timing_accuracy_res:
+0x64d6 015435 force 3 ,pdata 
+0x64d7 015436 call msg_send_lmp 
+0x64d8 015437 setarg 0x0114 
+0x64d9 015438 istore 2 ,contw 
+0x64da 015439 branch send_lmp_reply 
+:      015441 send_lmp_clkoffset_res:
+0x64db 015443 force 3 ,pdata 
+0x64dc 015444 call msg_send_lmp 
+0x64dd 015445 fetch 4 ,mem_clke_bt 
+0x64de 015446 isub clkn_bt ,pdata 
+0x64df 015447 branch send_lmp_clkoffset_res_master ,master 
+0x64e0 015448 sub pdata ,0 ,pdata 
+:      015449 send_lmp_clkoffset_res_master:
+0x64e1 015451 rshift2 pdata ,pdata 
+0x64e2 015452 set0 15 ,pdata 
+0x64e3 015453 istore 2 ,contw 
+0x64e4 015454 branch send_lmp_reply 
+:      015456 send_lmp_version_res:
+0x64e5 015457 force 6 ,pdata 
+0x64e6 015458 call msg_send_lmp 
+0x64e7 015459 fetch 5 ,mem_lmp_version 
+0x64e8 015460 istore 5 ,contw 
+0x64e9 015461 branch send_lmp_reply 
+:      015463 send_lmp_features_res:
+0x64ea 015464 force 9 ,pdata 
+0x64eb 015465 call msg_send_lmp 
+0x64ec 015466 fetch 8 ,mem_features 
+0x64ed 015467 istore 8 ,contw 
+0x64ee 015468 branch send_lmp_reply 
+:      015475 send_lmpext_features_req:
+0x64ef 015476 force 12 ,queue 
+0x64f0 015477 call send_lmpext 
+0x64f1 015478 setarg 0x01 
+0x64f2 015479 istore 1 ,contw 
+0x64f3 015480 fetch 2 ,mem_lmpext_ssp_enable 
+0x64f4 015481 istore 2 ,contw 
+0x64f5 015482 setarg 0 
+0x64f6 015483 istore 3 ,contw 
+0x64f7 015484 setarg 0x00 
+0x64f8 015485 istore 4 ,contw 
+0x64f9 015486 branch send_lmp_request 
+:      015488 send_lmpext_packet_type_table_req:
+0x64fa 015489 force 3 ,queue 
+0x64fb 015490 call send_lmpext 
+0x64fc 015491 fetch 1 ,mem_ptt 
+0x64fd 015492 istore 1 ,contw 
+0x64fe 015493 disable user 
+0x64ff 015494 call send_lmp_request 
+0x6500 015495 nrtn user 
+0x6501 015496 nrtn master 
+0x6502 015497 fetch 1 ,mem_afh_cfg 
+0x6503 015498 rtnbit0 afh_cfg_on 
+0x6504 015499 call afh_init 
+0x6505 015500 branch afh_open_all_channels 
+:      015503 ssp_enable:
+0x6506 015504 bpatchx patch28_0 ,mem_patch28 
+0x6507 015505 fetch 1 ,mem_features + 6 
+0x6508 015506 set1 param_featrue_ssp ,pdata 
+0x6509 015507 store 1 ,mem_features + 6 
+0x650a 015508 setarg param_lmpext_ssp_enable 
+0x650b 015509 store 2 ,mem_lmpext_ssp_enable 
+0x650c 015510 rtn 
+:      015512 ssp_disable:
+0x650d 015513 bpatchx patch28_1 ,mem_patch28 
+0x650e 015514 fetch 1 ,mem_features + 6 
+0x650f 015515 set0 param_featrue_ssp ,pdata 
+0x6510 015516 store 1 ,mem_features + 6 
+0x6511 015517 setarg 0 
+0x6512 015518 store 2 ,mem_lmpext_ssp_enable 
+0x6513 015519 rtn 
+:      015521 afh_init:
+0x6514 015522 jam 0x3 ,mem_afh_cfg 
+0x6515 015523 setarg 0 
+0x6516 015524 store 4 ,mem_afh_timer 
+0x6517 015525 arg mem_afh_map_lo ,contw 
+0x6518 015526 call afh_reset_map 
+0x6519 015527 arg mem_afh_map_new ,contw 
+0x651a 015528 call afh_reset_map 
+0x651b 015529 arg mem_afh_classify_channel_map ,contw 
+0x651c 015530 call afh_reset_map 
+0x651d 015531 branch afh_clear_error_counter 
+:      015532 afh_open_all_channels:
+0x651e 015533 arg mem_afh_map_new ,contw 
+0x651f 015534 call afh_reset_map 
+0x6520 015535 call afh_clear_error_counter 
+0x6521 015536 branch afh_set_send_flag 
+:      015539 afh_reset_map:
+0x6522 015540 setarg 0xffffff 
+0x6523 015541 istore 3 ,contw 
+0x6524 015542 istore 3 ,contw 
+0x6525 015543 istore 3 ,contw 
+0x6526 015544 setarg 0x7f 
+0x6527 015545 istore 1 ,contw 
+0x6528 015546 rtn 
+:      015547 afh_clear_error_counter:
+0x6529 015548 setarg 0 
+0x652a 015549 store 2 ,mem_afh_error_total 
+0x652b 015550 rtn 
+:      015551 afh_set_send_flag:
+0x652c 015552 fetch 1 ,mem_afh_cfg 
+0x652d 015553 set1 send_lmp_set_afh ,pdata 
+0x652e 015554 store 1 ,mem_afh_cfg 
+0x652f 015555 rtn 
+:      015558 send_lmpext_pause_encryption_req:
+0x6530 015559 force 2 ,queue 
+0x6531 015560 call send_lmpext 
+0x6532 015561 nbranch send_lmp_reply ,master 
+0x6533 015563 branch send_lmp_request 
+:      015567 send_lmp_detach:
+0x6534 015568 force 2 ,pdata 
+0x6535 015569 call msg_send_lmp 
+0x6536 015570 fetch 1 ,mem_disconn_reason_send 
+0x6537 015571 istore 1 ,contw 
+0x6538 015572 call send_lmp_request 
+:      015573 prepare_disconnect:
+0x6539 015574 fetch 1 ,mem_op 
+0x653a 015575 set1 op_disconn ,pdata 
+0x653b 015576 store 1 ,mem_op 
+0x653c 015577 jam 50 ,mem_conn_timer 
+0x653d 015578 rtn 
+:      015581 send_lmp_no_payload:
+0x653e 015582 force 1 ,pdata 
+0x653f 015583 call msg_send_lmp 
+0x6540 015584 branch send_lmp_request 
+:      015585 send_lmp_nopayload_reply:
+0x6541 015586 force 1 ,pdata 
+0x6542 015587 call msg_send_lmp 
+0x6543 015588 branch send_lmp_reply 
+:      015591 send_lmp_encryption_mode_req:
+0x6544 015592 force 2 ,pdata 
+0x6545 015593 call msg_send_lmp 
+0x6546 015594 fetch 1 ,mem_state_map 
+0x6547 015595 isolate0 smap_encryption ,pdata 
+0x6548 015596 setflag true ,0 ,pdata 
+0x6549 015597 and_into 1 ,pdata 
+0x654a 015598 istore 1 ,contw 
+0x654b 015599 branch send_lmp_request 
+:      015602 send_lmp_superto:
+0x654c 015603 force 3 ,pdata 
+0x654d 015604 call msg_send_lmp 
+0x654e 015605 fetch 2 ,mem_supervision_to 
+0x654f 015606 istore 2 ,contw 
+0x6550 015607 branch send_lmp_request 
+:      015609 send_lmp_name_req:
+0x6551 015610 jam 250 ,mem_conn_timer 
+0x6552 015611 force 2 ,pdata 
+0x6553 015612 call msg_send_lmp 
+0x6554 015613 fetch 1 ,mem_name_offset 
+0x6555 015614 istore 1 ,contw 
+0x6556 015615 branch send_lmp_request 
+:      015617 send_lmp_test_control:
+0x6557 015618 force 10 ,pdata 
+0x6558 015619 call msg_send_lmp 
+0x6559 015620 arg mem_temp_payload ,contr 
+0x655a 015621 force 9 ,loopcnt 
+:      015622 send_lmp_test_control_loop:
+0x655b 015623 ifetch 1 ,contr 
+0x655c 015624 xor_into 0x55 ,pdata 
+0x655d 015625 istore 1 ,contw 
+0x655e 015626 loop send_lmp_test_control_loop 
+0x655f 015627 branch send_lmp_request 
+:      015629 send_lmp_quality_of_service_req:
+0x6560 015630 branch send_lmp_request 
+:      015631 send_lmp_unit_key:
+0x6561 015632 branch send_lmp_request 
+:      015634 send_lmp_slot_offset:
+0x6562 015635 rtn master 
+0x6563 015636 call calc_slot_offset 
+0x6564 015637 force 9 ,pdata 
+0x6565 015638 call msg_send_lmp 
+0x6566 015639 fetch 2 ,mem_slot_offset 
+0x6567 015640 istore 2 ,contw 
+0x6568 015641 fetch 3 ,mem_lap 
+0x6569 015642 istore 3 ,contw 
+0x656a 015643 fetch 1 ,mem_uap 
+0x656b 015644 istore 1 ,contw 
+0x656c 015645 fetch 2 ,mem_nap 
+0x656d 015646 istore 2 ,contw 
+0x656e 015647 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+0x656f 015648 set0 mark_switch_initiated ,mark 
+0x6570 015649 call send_lmp_request 
+0x6571 015650 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6572 015651 rtn 
+:      015652 send_lmp_slot_offset_reply:
+0x6573 015653 call send_lmp_reply 
+0x6574 015654 jam lmp_accepted ,mem_lmo_opcode2 
+0x6575 015655 jam lmp_switch_req ,mem_lmi_opcode2 
+0x6576 015656 rtn 
+:      015658 send_lmp_switch_req:
+0x6577 015659 arg 0x200 ,temp 
+0x6578 015660 branch switch_on_native ,master 
+0x6579 015661 deposit clke_bt 
+0x657a 015662 branch switch_slack 
+:      015663 switch_on_native:
+0x657b 015664 deposit clkn_bt 
+:      015665 switch_slack:
+0x657c 015666 deposit bt_clk 
+0x657d 015667 iadd temp ,pdata 
+0x657e 015668 and_into 0x1fc ,pdata 
+0x657f 015669 store 4 ,mem_sniff_anchor 
+0x6580 015670 force 5 ,pdata 
+0x6581 015671 call msg_send_lmp 
+0x6582 015672 fetch 4 ,mem_sniff_anchor 
+0x6583 015673 rshift pdata ,pdata 
+0x6584 015674 istore 4 ,contw 
+0x6585 015675 branch send_lmp_request 
+:      015677 send_lmp_sniff_req:
+0x6586 015678 force 10 ,pdata 
+0x6587 015679 call msg_send_lmp 
+0x6588 015680 arg mem_sniff_payload ,contr 
+0x6589 015681 ifetch 9 ,contr 
+0x658a 015682 istore 9 ,contw 
+0x658b 015683 branch send_lmp_request 
+:      015686 send_lmp_timing_accuracy_req:
+0x658c 015688 force 3 ,pdata 
+0x658d 015689 call msg_send_lmp 
+0x658e 015690 setarg 0x0114 
+0x658f 015691 istore 2 ,contw 
+0x6590 015692 branch send_lmp_request 
+:      015694 send_lmp_unsniff_req:
+0x6591 015696 force 1 ,pdata 
+0x6592 015697 call msg_send_lmp 
+0x6593 015706 branch send_lmp_request 
+:      015709 send_lmp_max_slot:
+0x6594 015710 force 2 ,pdata 
+0x6595 015711 call msg_send_lmp 
+0x6596 015712 fetch 1 ,mem_max_slot 
+0x6597 015713 istore 1 ,contw 
+0x6598 015714 branch send_lmp_request 
+:      015717 send_lmp_max_slot_req:
+0x6599 015718 force 2 ,pdata 
+0x659a 015719 call msg_send_lmp 
+0x659b 015720 setarg 0x05 
+0x659c 015721 istore 1 ,contw 
+0x659d 015722 branch send_lmp_request 
+:      015725 send_lmp_inc_power:
+0x659e 015726 force 2 ,pdata 
+0x659f 015727 call msg_send_lmp 
+0x65a0 015728 setarg 0x00 
+0x65a1 015729 istore 1 ,contw 
+0x65a2 015730 branch send_lmp_request 
+:      015733 send_lmp_setup_complete_by_module:
+0x65a3 015734 jam lmp_max_slot_req ,mem_lmo_opcode2 
+0x65a4 015735 rtn 
+:      015736 send_lmp_setup_complete:
+0x65a5 015737 fetch 1 ,mem_device_option 
+0x65a6 015738 sub pdata ,dvc_op_module ,null 
+0x65a7 015739 call send_lmp_setup_complete_by_module ,zero 
+0x65a8 015740 fetch 1 ,mem_state 
+0x65a9 015741 set1 state_conn_comp ,pdata 
+0x65aa 015742 store 1 ,mem_state 
+0x65ab 015743 copy clkn_bt ,pdata 
+0x65ac 015744 store 4 ,mem_aurand_send_delay_time 
+0x65ad 015745 fetch 1 ,mem_lmp_conn_state 
+0x65ae 015746 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+0x65af 015747 set1 sent_setup_complete ,pdata 
+0x65b0 015748 store 1 ,mem_lmp_conn_state 
+0x65b1 015749 jam bt_evt_setup_complete ,mem_fifo_temp 
+0x65b2 015750 call ui_ipc_send_event 
+0x65b3 015751 force 1 ,pdata 
+0x65b4 015752 call msg_send_lmp 
+0x65b5 015753 branch send_lmp_request 
+:      015754 send_lmp_setup_complete_has_sent:
+0x65b6 015755 jam 0 ,mem_lmp_to_send 
+0x65b7 015756 rtn 
+:      015758 send_lmp_version_req:
+0x65b8 015759 force 6 ,pdata 
+0x65b9 015760 call msg_send_lmp 
+0x65ba 015761 fetch 5 ,mem_lmp_version 
+0x65bb 015762 istore 5 ,contw 
+0x65bc 015763 branch send_lmp_request 
+:      015765 send_lmp_features_req:
+0x65bd 015766 force 9 ,pdata 
+0x65be 015767 call msg_send_lmp 
+0x65bf 015768 fetch 8 ,mem_features 
+0x65c0 015769 istore 8 ,contw 
+0x65c1 015770 branch send_lmp_request 
+:      015772 sp_master_send_io_cap_get:
+0x65c2 015773 jam sp_flag_commit ,mem_master_sp_flag 
+0x65c3 015774 fetch 1 ,mem_sp_local_key_invalid 
+0x65c4 015775 rtnne sp_key_valid 
+0x65c5 015776 jam sp_master_stat_start_done ,mem_master_sp_state 
+0x65c6 015777 rtn 
+:      015779 sp_master_send_io_cap_send:
+0x65c7 015780 call tid_initiate 
+0x65c8 015781 jam lmp_io_cap_req ,mem_lmo_opcode2 
+0x65c9 015782 jam sp_stat_key_send ,mem_master_sp_state 
+0x65ca 015783 rtn 
+:      015786 sp_master_send_lmp_encapsulated_header:
+0x65cb 015787 call tid_initiate 
+0x65cc 015788 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x65cd 015789 jam sp_stat_random_send ,mem_master_sp_state 
+0x65ce 015790 rtn 
+:      015792 sp_master_commitment_compare:
+0x65cf 015793 arg mem_sp_calc_result_high ,rega 
+0x65d0 015794 arg mem_sp_confirm_remote ,regb 
+0x65d1 015795 arg 16 ,loopcnt 
+0x65d2 015796 call string_compare 
+0x65d3 015797 branch sp_master_commitment_compare_success ,zero 
+0x65d4 015798 jam sp_stat_null ,mem_master_sp_state 
+0x65d5 015799 call master_clear_mem_master_sp_flag 
+0x65d6 015800 jam pdu_not_allowed ,mem_lmo_reason2 
+0x65d7 015801 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x65d8 015802 branch reject_lmp_packet 
+:      015803 sp_master_commitment_compare_success:
+0x65d9 015804 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x65da 015805 call master_set_mem_master_sp_flag 
+0x65db 015806 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x65dc 015807 branch accept_lmp_msg 
+:      015811 sp_master_send_lmp_simple_pairing_number:
+0x65dd 015812 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x65de 015813 rtn 
+:      015817 sp_send_lmp_encapsulated_header:
+0x65df 015820 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x65e0 015822 rtn 
+:      015828 send_lmp_encapsulated_header:
+0x65e1 015829 jam 0 ,mem_sp_local_key_send_count 
+0x65e2 015830 force 4 ,pdata 
+0x65e3 015831 call msg_send_lmp 
+0x65e4 015832 force encapsulated_major_type_p192 ,pdata 
+0x65e5 015833 istore 1 ,contw 
+0x65e6 015834 force encapsulated_minor_type_p192 ,pdata 
+0x65e7 015835 istore 1 ,contw 
+0x65e8 015836 force encapsulated_len_p192 ,pdata 
+0x65e9 015837 istore 1 ,contw 
+0x65ea 015838 call check_localsm 
+0x65eb 015839 branch send_lmp_request ,true 
+0x65ec 015840 branch send_lmp_reply 
+:      015842 send_lmp_encapsulated_payload:
+0x65ed 015844 force 17 ,pdata 
+0x65ee 015845 call msg_send_lmp 
+0x65ef 015846 fetch 1 ,mem_sp_local_key_send_count 
+0x65f0 015847 arg mem_sp_pubkey_local ,contr 
+0x65f1 015848 iadd contr ,contr 
+0x65f2 015849 ifetch 8 ,contr 
+0x65f3 015850 istore 8 ,contw 
+0x65f4 015851 ifetch 8 ,contr 
+0x65f5 015852 istore 8 ,contw 
+0x65f6 015853 fetch 1 ,mem_sp_local_key_send_count 
+0x65f7 015854 increase 16 ,pdata 
+0x65f8 015855 store 1 ,mem_sp_local_key_send_count 
+0x65f9 015856 call check_localsm 
+0x65fa 015857 branch send_lmp_request ,true 
+0x65fb 015858 branch send_lmp_reply 
+:      015861 sp_send_lmp_simple_pairing_comfirm:
+0x65fc 015862 jam sp_stat_random_recv ,mem_sp_state 
+0x65fd 015863 jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+0x65fe 015864 rtn 
+:      015865 send_lmp_simple_pairing_comfirm:
+0x65ff 015868 force 17 ,pdata 
+0x6600 015869 call msg_send_lmp 
+0x6601 015870 arg mem_sp_calc_result_high ,contr 
+0x6602 015871 ifetch 8 ,contr 
+0x6603 015872 istore 8 ,contw 
+0x6604 015873 ifetch 8 ,contr 
+0x6605 015874 istore 8 ,contw 
+0x6606 015875 branch send_lmp_reply 
+:      015877 sp_send_lmp_simple_pairing_number:
+0x6607 015878 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x6608 015879 rtn 
+:      015881 send_lmp_simple_pairing_number:
+0x6609 015883 call check_localsm 
+0x660a 015884 call sp_local_random_key_generator ,true 
+0x660b 015885 force 17 ,pdata 
+0x660c 015886 call msg_send_lmp 
+0x660d 015887 arg mem_sp_random_local ,contr 
+0x660e 015888 ifetch 8 ,contr 
+0x660f 015889 istore 8 ,contw 
+0x6610 015890 ifetch 8 ,contr 
+0x6611 015891 istore 8 ,contw 
+0x6612 015892 call check_localsm 
+0x6613 015893 nbranch send_lmp_reply ,true 
+0x6614 015894 branch send_lmp_request ,true 
+:      015896 master_sp_sm_end:
+0x6615 015898 jam sp_stat_done ,mem_master_sp_state 
+:      015899 sp_aurand_send:
+0x6616 015900 call tid_initiate 
+0x6617 015901 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6618 015902 call check_localsm_master 
+0x6619 015903 branch sp_master_key_prarm_push ,true 
+0x661a 015904 branch sp_link_key_prarm_push 
+:      015905 master_sp_send_lmp_dhkey_check:
+0x661b 015906 call tid_reply 
+:      015907 sp_send_lmp_dhkey_check:
+0x661c 015908 jam lmp_dhkey_check ,mem_lmo_opcode2 
+0x661d 015909 rtn 
+:      015910 send_lmp_dhkey_check:
+0x661e 015912 force 17 ,pdata 
+0x661f 015913 call msg_send_lmp 
+0x6620 015914 arg mem_sp_calc_result_high ,contr 
+0x6621 015915 ifetch 8 ,contr 
+0x6622 015916 istore 8 ,contw 
+0x6623 015917 ifetch 8 ,contr 
+0x6624 015918 istore 8 ,contw 
+0x6625 015919 call check_localsm 
+0x6626 015920 nbranch send_lmp_reply ,true 
+0x6627 015921 branch send_lmp_request ,true 
+:      015923 send_lmp_enc_key_size_mask_res:
+0x6628 015924 force 3 ,pdata 
+0x6629 015925 call msg_send_lmp 
+0x662a 015926 setarg 0xfffe 
+0x662b 015927 istore 2 ,contw 
+0x662c 015928 branch send_lmp_reply 
+:      015930 send_lmp_auto_rate:
+0x662d 015931 branch send_lmp_request 
+:      015932 send_lmp_clkoffset_req:
+0x662e 015933 branch send_lmp_request 
+:      015934 send_lmp_quality_of_service:
+0x662f 015935 branch send_lmp_request 
+:      015936 send_lmp_test_activate:
+0x6630 015937 branch send_lmp_request 
+:      015942 send_lmp_comb_key:
+0x6631 015943 call generate_random_number 
+0x6632 015944 arg mem_lap ,rega 
+0x6633 015945 call generate_linkkey 
+0x6634 015946 force 17 ,pdata 
+0x6635 015947 call msg_send_lmp 
+0x6636 015948 arg mem_kinit ,rega 
+0x6637 015949 arg mem_random_number ,regb 
+0x6638 015950 call xor16 
+0x6639 015951 nbranch send_lmp_follow ,master 
+0x663a 015952 branch send_lmp_tid 
+:      015954 send_lmp_inrand:
+0x663b 015955 call generate_random_number 
+0x663c 015956 arg mem_plap ,rega 
+0x663d 015957 call generate_kinit 
+:      015958 send_lmp_rand:
+0x663e 015959 force 17 ,pdata 
+0x663f 015960 call msg_send_lmp 
+0x6640 015961 arg mem_random_number ,contr 
+0x6641 015962 call memcpy16 
+0x6642 015963 fetch 1 ,mem_conn_sm 
+0x6643 015964 beq conn_sm_auth_wait ,send_lmp_request 
+0x6644 015965 beq conn_sm_pairing_wait ,send_lmp_request 
+0x6645 015966 branch send_lmp_tid 
+:      015968 send_lmp_aurand:
+0x6646 015969 fetch 1 ,mem_pairing_auth 
+0x6647 015970 branch send_lmp_aurand_notpairing ,blank 
+0x6648 015971 call check_localsm 
+0x6649 015972 call tid_initiate ,true 
+0x664a 015973 ncall tid_reply ,true 
+0x664b 015974 branch send_lmp_aurand_common 
+:      015975 send_lmp_aurand_notpairing:
+0x664c 015976 call tid_initiate 
+:      015977 send_lmp_aurand_common:
+0x664d 015978 call generate_random_number 
+0x664e 015979 branch send_lmp_rand 
+:      015981 send_lmp_sres:
+0x664f 015982 arg mem_lap ,rega 
+0x6650 015983 call function_e1 
+0x6651 015984 force 5 ,pdata 
+0x6652 015985 call msg_send_lmp 
+0x6653 015986 fetch 4 ,mem_input_store 
+0x6654 015987 istore 4 ,contw 
+0x6655 015988 arg mem_sres_tid ,temp 
+0x6656 015989 call special_tid_store 
+0x6657 015990 call copy_aco 
+0x6658 015991 call check_localsm 
+0x6659 015992 branch send_lmp_sres_master ,true 
+0x665a 015993 jam done_encryp ,mem_wait_encryption 
+0x665b 015994 fetch 1 ,mem_pairing_auth 
+0x665c 015995 rtn blank 
+0x665d 015996 jam lmp_au_rand ,mem_lmo_opcode2 
+:      015997 send_lmp_sres_master:
+0x665e 015998 fetch 1 ,mem_link_key_exists 
+0x665f 015999 rtn blank 
+:      016000 send_lmp_sres_startenc:
+0x6660 016001 call check_localsm 
+0x6661 016002 nbranch send_lmp_sres_startenc_slave ,true 
+0x6662 016003 fetch 1 ,mem_auth_enable 
+0x6663 016004 rtn blank 
+0x6664 016005 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6665 016006 rtn 
+:      016007 send_lmp_sres_startenc_slave:
+0x6666 016008 rtnmark0 mark_slave_in_rand_accepted 
+0x6667 016009 set0 mark_slave_in_rand_accepted ,mark 
+0x6668 016010 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6669 016011 rtn 
+:      016015 send_lmp_start_encryption:
+0x666a 016016 call generate_random_number 
+0x666b 016017 call function_e3 
+0x666c 016018 force 17 ,pdata 
+0x666d 016019 call msg_send_lmp 
+0x666e 016020 arg mem_random_number ,contr 
+0x666f 016021 call memcpy16 
+0x6670 016022 branch send_lmp_tid 
+:      016024 send_lmp_stop_encryption_req:
+0x6671 016025 force 1 ,pdata 
+0x6672 016026 call msg_send_lmp 
+0x6673 016027 branch send_lmp_tid 
+:      016029 send_lmp_encryption_key_size_req:
+0x6674 016030 force 2 ,pdata 
+0x6675 016031 call msg_send_lmp 
+0x6676 016032 force 16 ,pdata 
+0x6677 016033 istore 1 ,contw 
+0x6678 016034 store 1 ,mem_key_size 
+0x6679 016035 branch send_lmp_tid 
+:      016037 msg_send_lmp:
+0x667a 016039 lshift3 pdata ,pdata 
+0x667b 016040 or_into 0x07 ,pdata 
+0x667c 016041 store 1 ,mem_lmo_header_length 
+0x667d 016042 arg 17 ,loopcnt 
+0x667e 016043 arg mem_lmo_payload ,contw 
+0x667f 016044 call clear_mem 
+0x6680 016045 arg mem_lmo_payload ,contw 
+0x6681 016046 rtn 
+:      016048 send_lmpext:
+0x6682 016049 and pdata ,0x7f ,rega 
+0x6683 016050 jam lmp_escape ,mem_lmp_to_send 
+0x6684 016051 deposit queue 
+0x6685 016052 call msg_send_lmp 
+0x6686 016053 deposit rega 
+0x6687 016054 istore 1 ,contw 
+0x6688 016055 rtn 
+:      016057 send_lmp_follow:
+0x6689 016058 fetch 1 ,mem_lmp_to_send 
+0x668a 016059 lshift pdata ,pdata 
+0x668b 016060 fetcht 1 ,mem_state_map 
+0x668c 016061 isolate1 smap_lmptid ,temp 
+0x668d 016062 setflag true ,0 ,pdata 
+0x668e 016063 branch send_lmp_exit 
+:      016066 send_lmp_tid:
+0x668f 016067 fetcht 1 ,mem_state_map 
+0x6690 016068 and_into 1 ,temp 
+0x6691 016069 branch send_lmp_end 
+:      016071 send_lmp_reply:
+0x6692 016072 force 0 ,temp 
+0x6693 016073 branch send_lmp_end 
+:      016075 send_lmp_request:
+0x6694 016076 force 1 ,temp 
+:      016077 send_lmp_end:
+0x6695 016078 fetch 1 ,mem_lmp_to_send 
+0x6696 016079 lshift pdata ,pdata 
+0x6697 016080 setflag master ,0 ,pdata 
+0x6698 016081 ixor temp ,pdata 
+:      016082 send_lmp_exit:
+0x6699 016083 store 1 ,mem_lmo_header_opcode 
+0x669a 016084 jam 0 ,mem_lmp_to_send 
+0x669b 016085 call lmo_fifo_process_lmo0empty 
+0x669c 016086 enable user 
+0x669d 016087 rtn 
+:      016090 lmo_fifo_check:
+0x669e 016091 fetch 1 ,mem_lmo_opcode2 
+0x669f 016092 rtn blank 
+0x66a0 016093 call lmo_fifo_process 
+0x66a1 016094 fetch 1 ,mem_lmo_opcode2 
+0x66a2 016095 rtn 
+:      016097 lmo_fifo_process:
+0x66a3 016098 bpatchx patch28_2 ,mem_patch28 
+0x66a4 016099 fetch 1 ,mem_lmp_to_send 
+0x66a5 016100 branch lmo_fifo_process_lmo0empty ,blank 
+0x66a6 016101 fetch 1 ,mem_lmo_opcode1 
+0x66a7 016102 nrtn blank 
+0x66a8 016103 branch lmo_fifo_process_lmo2to1 
+:      016104 lmo_fifo_process_lmo0empty:
+0x66a9 016105 fetch 1 ,mem_lmo_opcode1 
+0x66aa 016106 branch lmo_fifo_process_lmo1_empty ,blank 
+0x66ab 016107 fetch 3 ,mem_lmo_opcode1 
+0x66ac 016108 store 3 ,mem_lmp_to_send 
+0x66ad 016109 fetcht 1 ,mem_lmo_tid1 
+0x66ae 016110 fetch 1 ,mem_state_map 
+0x66af 016111 set0 smap_lmptid ,pdata 
+0x66b0 016112 ior temp ,pdata 
+0x66b1 016113 store 1 ,mem_state_map 
+0x66b2 016114 jam 0 ,mem_lmo_opcode1 
+:      016115 lmo_fifo_process_lmo2to1:
+0x66b3 016116 fetch 1 ,mem_lmo_opcode2 
+0x66b4 016117 rtn blank 
+0x66b5 016118 fetch 4 ,mem_lmo_opcode2 
+0x66b6 016119 store 4 ,mem_lmo_opcode1 
+0x66b7 016120 jam 0 ,mem_lmo_opcode2 
+0x66b8 016121 rtn 
+:      016122 lmo_fifo_process_lmo1_empty:
+0x66b9 016123 fetch 1 ,mem_lmo_opcode2 
+0x66ba 016124 rtn blank 
+0x66bb 016125 fetch 3 ,mem_lmo_opcode2 
+0x66bc 016126 store 3 ,mem_lmp_to_send 
+0x66bd 016127 fetcht 1 ,mem_lmo_tid2 
+0x66be 016128 fetch 1 ,mem_state_map 
+0x66bf 016129 set0 smap_lmptid ,pdata 
+0x66c0 016130 ior temp ,pdata 
+0x66c1 016131 store 1 ,mem_state_map 
+0x66c2 016132 jam 0 ,mem_lmo_opcode2 
+0x66c3 016133 rtn 
+:      016136 special_tid_store:
+0x66c4 016137 bpatchx patch28_3 ,mem_patch28 
+0x66c5 016138 fetch 1 ,mem_state_map 
+0x66c6 016139 copy pdata ,regc 
+0x66c7 016140 ifetch 1 ,temp 
+0x66c8 016141 call pop_tid_follow 
+0x66c9 016142 call send_lmp_follow 
+0x66ca 016143 copy regc ,pdata 
+0x66cb 016144 store 1 ,mem_state_map 
+0x66cc 016145 rtn 
+:      016147 tid_reply:
+0x66cd 016148 fetcht 1 ,mem_state_map 
+0x66ce 016149 set0 smap_lmptidinit ,temp 
+0x66cf 016150 storet 1 ,mem_state_map 
+0x66d0 016151 rtn 
+:      016153 tid_initiate:
+0x66d1 016154 fetcht 1 ,mem_state_map 
+0x66d2 016155 set1 smap_lmptidinit ,temp 
+0x66d3 016156 storet 1 ,mem_state_map 
+0x66d4 016157 rtn 
+:      016160 tid_check:
+0x66d5 016161 nsetflag master ,smap_lmptid ,pdata 
+0x66d6 016162 fetcht 1 ,mem_state_map 
+0x66d7 016163 ixor temp ,pdata 
+0x66d8 016164 isolate1 smap_lmptid ,pdata 
+0x66d9 016165 rtn 
+:      016168 tid_set_reply:
+0x66da 016169 fetch 1 ,mem_state_map 
+0x66db 016170 setflag master ,smap_lmptid ,pdata 
+0x66dc 016171 store 1 ,mem_state_map 
+0x66dd 016172 rtn 
+:      016175 check_localsm:
+0x66de 016176 fetch 1 ,mem_sp_localsm 
+0x66df 016177 compare local_statemachine ,pdata ,0x7f 
+0x66e0 016178 rtn 
+:      016179 setlocalsm_master:
+0x66e1 016180 fetch 1 ,mem_sp_localsm 
+0x66e2 016181 set1 7 ,pdata 
+0x66e3 016182 store 1 ,mem_sp_localsm 
+0x66e4 016183 rtn 
+:      016184 setlocalsm_slave:
+0x66e5 016185 fetch 1 ,mem_sp_localsm 
+0x66e6 016186 set0 7 ,pdata 
+0x66e7 016187 store 1 ,mem_sp_localsm 
+0x66e8 016188 rtn 
+:      016189 check_localsm_master:
+0x66e9 016190 fetch 1 ,mem_sp_localsm 
+0x66ea 016191 isolate1 7 ,pdata 
+0x66eb 016192 store 1 ,mem_sp_localsm 
+0x66ec 016193 rtn 
+:      016195 generate_random_number:
+0x66ed 016197 arg mem_random_number ,contw 
+:      016198 generate_random:
+0x66ee 016199 force 16 ,loopcnt 
+:      016200 generate_random_another:
+:      016201 generate_random_loop:
+0x66ef 016202 random pdata 
+0x66f0 016203 istore 1 ,contw 
+0x66f1 016204 loop generate_random_another 
+0x66f2 016205 rtn 
+:      016207 generate_linkkey:
+0x66f3 016208 call function_e21 
+0x66f4 016209 arg mem_link_key ,rega 
+0x66f5 016210 arg mem_input_store ,regb 
+0x66f6 016211 ifetch 8 ,rega 
+0x66f7 016212 fetcht 1 ,mem_state 
+0x66f8 016213 nsetflag blank ,state_combkey ,temp 
+0x66f9 016214 storet 1 ,mem_state 
+0x66fa 016215 copy rega ,contw 
+0x66fb 016216 call xor16 
+0x66fc 016217 branch generate_linkkey_continue 
+:      016223 process_conn_sm:
+0x66fd 016225 bpatchx patch28_4 ,mem_patch28 
+0x66fe 016227 call lmo_fifo_check 
+0x66ff 016228 nrtn blank 
+:      016229 process_conn_sm_continue:
+0x6700 016230 fetch 1 ,mem_conn_sm 
+0x6701 016231 rtn blank 
+0x6702 016235 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+0x6703 016236 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+0x6704 016237 beq conn_sm_send_features ,host_create_conn_send_features 
+0x6705 016238 beq conn_sm_wait_features_res ,host_create_conn_waiting 
+0x6706 016239 beq conn_sm_send_switch ,host_create_conn_send_switch 
+0x6707 016240 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+0x6708 016241 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+0x6709 016242 beq conn_sm_encrypt ,host_create_conn_encrypt 
+0x670a 016243 beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+0x670b 016244 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+0x670c 016245 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+0x670d 016246 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+0x670e 016247 beq conn_sm_detach_delay ,host_create_conn_master_detach 
+0x670f 016248 beq conn_sm_send_version ,host_create_conn_send_version 
+0x6710 016249 beq conn_sm_wait_version ,host_create_conn_waiting 
+0x6711 016250 beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+0x6712 016251 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+0x6713 016252 beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+0x6714 016253 beq conn_sm_pairing ,host_create_conn_pairing 
+0x6715 016254 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+0x6716 016255 beq conn_sm_auth ,host_create_conn_auth 
+0x6717 016256 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+0x6718 016257 beq conn_sm_done ,host_create_conn_done 
+0x6719 016258 beq conn_sm_wait_done ,host_create_conn_done_wait 
+0x671a 016259 jam conn_sm_standby ,mem_conn_sm 
+0x671b 016261 rtn 
+:      016262 host_create_conn_done:
+0x671c 016263 fetch 1 ,mem_lmp_conn_state 
+0x671d 016264 rtnbit0 received_setup_complete 
+0x671e 016265 rtnbit0 sent_setup_complete 
+0x671f 016266 jam conn_sm_standby ,mem_conn_sm 
+0x6720 016267 call host_conn_judge_encrypt 
+0x6721 016268 branch scheduler_start_upper_sm 
+:      016270 host_conn_judge_encrypt:
+0x6722 016271 fetch 1 ,mem_connection_options 
+0x6723 016272 rtnbit0 connection_encrypt 
+0x6724 016273 jam conn_sm_encrypt_wait ,mem_conn_sm 
+0x6725 016274 rtn 
+:      016276 host_create_conn_done_wait:
+0x6726 016277 arg enpt_delay_timer ,queue 
+0x6727 016278 call timer_check 
+0x6728 016279 nrtn blank 
+0x6729 016280 jam conn_sm_done ,mem_conn_sm 
+0x672a 016281 rtn 
+:      016283 host_create_conn_auth:
+0x672b 016284 fetch 1 ,mem_connection_options 
+0x672c 016285 set0 connection_auth ,pdata 
+0x672d 016286 store 1 ,mem_connection_options 
+0x672e 016287 jam conn_sm_auth_wait ,mem_conn_sm 
+0x672f 016288 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6730 016289 rtn 
+:      016290 host_create_conn_auth_wait:
+0x6731 016291 rtn 
+:      016292 host_create_conn_pairing:
+0x6732 016293 fetch 1 ,mem_pincode_state 
+0x6733 016294 rtnne pincode_state_pincode_ready 
+0x6734 016295 call host_auth 
+0x6735 016296 jam conn_sm_pairing_wait ,mem_conn_sm 
+0x6736 016297 rtn 
+:      016299 host_create_conn_pairing_wait:
+0x6737 016300 rtn 
+:      016301 host_creat_conn_send_feat_ext:
+0x6738 016302 jam conn_sm_wait_features_ext ,mem_conn_sm 
+0x6739 016303 jam lmp_ext_features_req ,mem_lmo_opcode2 
+0x673a 016304 rtn 
+:      016305 host_create_conn_send_version:
+0x673b 016306 jam conn_sm_wait_version ,mem_conn_sm 
+0x673c 016307 jam lmp_version_req ,mem_lmo_opcode2 
+0x673d 016308 rtn 
+:      016310 host_creat_conn_wait_switch:
+0x673e 016311 fetch 1 ,mem_switch_flag 
+0x673f 016312 rtneq switch_flag_init 
+0x6740 016313 beq switch_flag_accept ,host_create_conn_switch_accept 
+0x6741 016314 arg switch_wait_timer ,queue 
+0x6742 016315 call timer_check 
+0x6743 016316 nrtn blank 
+0x6744 016317 jam switch_flag_init ,mem_switch_flag 
+0x6745 016318 branch host_create_conn_switch 
+:      016319 host_create_conn_switch_accept:
+0x6746 016320 rtn master 
+0x6747 016321 branch host_create_conn_auth_pair 
+:      016323 host_create_conn_send_features:
+0x6748 016324 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x6749 016325 jam lmp_features_req ,mem_lmo_opcode2 
+0x674a 016326 rtn 
+:      016327 host_create_conn_send_switch:
+0x674b 016328 jam lmp_switch_req ,mem_lmo_opcode2 
+0x674c 016329 set1 mark_switch_initiated ,mark 
+0x674d 016330 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x674e 016331 setarg 0x1ff 
+0x674f 016332 store 2 ,mem_soft_timer 
+0x6750 016333 rtn 
+:      016334 host_create_conn_send_conn_req:
+0x6751 016335 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x6752 016336 jam 0xff ,mem_soft_timer 
+0x6753 016337 set0 mark_reconn_recieve_switch ,mark 
+0x6754 016338 jam lmp_host_connection_req ,mem_lmo_opcode2 
+0x6755 016339 branch init_lmp_reinit 
+:      016340 host_create_conn_wait_accept:
+0x6756 016341 rtnmark1 mark_reconn_recieve_switch 
+0x6757 016342 fetch 2 ,mem_soft_timer 
+0x6758 016343 sub pdata ,1 ,pdata 
+0x6759 016344 branch host_create_conn_resend ,zero 
+0x675a 016345 store 2 ,mem_soft_timer 
+0x675b 016346 rtn 
+:      016347 host_create_conn_resend:
+0x675c 016348 jam conn_sm_send_switch ,mem_conn_sm 
+0x675d 016349 rtn 
+:      016350 host_create_conn_waiting:
+0x675e 016352 rtn 
+:      016354 host_create_conn_switch:
+0x675f 016355 fetch 1 ,mem_lmp_conn_state 
+0x6760 016356 rtnbit0 sent_setup_complete 
+0x6761 016357 rtnbit0 received_setup_complete 
+0x6762 016358 fetch 1 ,mem_connection_options 
+0x6763 016359 set0 connection_switch ,pdata 
+0x6764 016360 store 1 ,mem_connection_options 
+0x6765 016361 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6766 016362 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+0x6767 016363 rtn 
+:      016365 host_create_conn_send_setup_complete:
+0x6768 016366 jam conn_sm_wait_setup_complete ,mem_conn_sm 
+0x6769 016367 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x676a 016368 rtn 
+:      016370 host_create_conn_wait_setup_complete:
+0x676b 016371 fetch 1 ,mem_lmp_conn_state 
+0x676c 016372 rtnbit0 received_setup_complete 
+0x676d 016373 jam conn_sm_standby ,mem_conn_sm 
+0x676e 016375 rtn 
+:      016376 host_create_conn_wait_setup_complete_rtn:
+0x676f 016377 jam conn_sm_auth_pair ,mem_conn_sm 
+0x6770 016378 rtn 
+:      016380 host_create_conn_master_detach:
+0x6771 016381 fetch 1 ,mem_soft_timer 
+0x6772 016382 increase -1 ,pdata 
+0x6773 016383 branch host_create_conn_send_detach ,blank 
+0x6774 016384 store 1 ,mem_soft_timer 
+0x6775 016385 rtn 
+:      016386 host_create_conn_send_detach:
+0x6776 016387 jam lmp_detach ,mem_lmo_opcode2 
+0x6777 016388 jam local_host ,mem_disconn_reason_send 
+0x6778 016389 jam 0 ,mem_conn_sm 
+0x6779 016390 rtn 
+:      016391 host_create_conn_auth_pair:
+0x677a 016393 fetch 1 ,mem_connection_options 
+0x677b 016394 bbit1 connection_switch ,host_create_conn_switch 
+0x677c 016395 bbit1 connection_auth ,host_create_conn_auth_pair_true 
+:      016396 host_create_conn_sm_done:
+0x677d 016397 jam conn_sm_done ,mem_conn_sm 
+0x677e 016398 rtn 
+:      016399 host_create_conn_auth_pair_true:
+0x677f 016400 fetch 1 ,mem_link_key_exists 
+0x6780 016401 branch host_create_conn_auth_pair_nokey ,blank 
+0x6781 016402 fetch 1 ,mem_lmp_conn_state 
+0x6782 016403 rtnbit0 sent_setup_complete 
+0x6783 016404 rtnbit0 received_setup_complete 
+0x6784 016405 fetch 4 ,mem_aurand_send_delay_time 
+0x6785 016406 arg 100 ,temp 
+0x6786 016407 iadd temp ,temp 
+0x6787 016408 copy clkn_bt ,pdata 
+0x6788 016409 isub temp ,null 
+0x6789 016410 nrtn positive 
+0x678a 016411 branch host_create_conn_auth 
+:      016415 host_create_conn_auth_pair_nokey:
+0x678b 016416 jam conn_sm_pairing ,mem_conn_sm 
+0x678c 016417 jam 4 ,mem_pin_length 
+0x678d 016418 setarg 0x3030 
+0x678e 016419 store 2 ,mem_pin 
+0x678f 016420 istore 2 ,contw 
+0x6790 016421 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x6791 016422 branch host_create_conn_pairing 
+:      016424 host_create_conn_auth_pair_wait:
+0x6792 016425 rtn 
+:      016426 host_create_conn_encrypt:
+0x6793 016427 fetch 1 ,mem_connection_options 
+0x6794 016428 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+0x6795 016429 jam conn_sm_done ,mem_conn_sm 
+0x6796 016430 rtn 
+:      016432 host_create_conn_encrypt_start:
+0x6797 016433 fetch 1 ,mem_connection_options 
+0x6798 016434 set0 connection_encrypt ,pdata 
+0x6799 016435 store 1 ,mem_connection_options 
+0x679a 016436 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x679b 016437 rtn 
+:      016439 host_create_conn_encrypt_wait:
+0x679c 016440 fetch 1 ,mem_wait_encryption 
+0x679d 016441 rtn blank 
+0x679e 016442 jam conn_sm_standby ,mem_conn_sm 
+0x679f 016443 branch host_create_conn_encrypt_start 
+:      016445 host_create_conn_encrypt_wait_clear:
+0x67a0 016446 jam conn_sm_send_setup_complete ,mem_conn_sm 
+0x67a1 016447 rtn 
+:      016449 host_auth:
+0x67a2 016450 fetch 1 ,mem_op 
+0x67a3 016451 bbit1 op_inrand_req ,remote_auth 
+0x67a4 016452 call tid_initiate 
+0x67a5 016453 jam lmp_in_rand ,mem_lmo_opcode2 
+0x67a6 016454 branch cmd_exit 
+:      016455 remote_auth:
+0x67a7 016456 fetch 1 ,mem_op 
+0x67a8 016457 set0 op_inrand_req ,pdata 
+0x67a9 016458 store 1 ,mem_op 
+0x67aa 016459 call lmp_accept_inrand 
+0x67ab 016460 call tid_set_reply 
+0x67ac 016461 branch cmd_exit 
+:      016463 pincode_reinit:
+0x67ad 016464 setarg 4 
+0x67ae 016465 store 1 ,mem_pin_length 
+0x67af 016466 setarg 0x3030 
+0x67b0 016467 istore 2 ,contw 
+0x67b1 016468 istore 2 ,contw 
+0x67b2 016469 rtn 
+:      016478 soft_reset_chip:
+0x67b3 016479 hjam 1 ,core_reset 
+0x67b4 016480 rtn 
+:      016483 uartd_prepare_tx:
+0x67b5 016484 bpatchx patch29_0 ,mem_patch29 
+0x67b6 016485 fetch 2 ,ipc_bt2m0_write_ptr 
+0x67b7 016486 copy pdata ,contwu 
+0x67b8 016487 rtn 
+:      016489 uartd_send:
+0x67b9 016490 bpatchx patch29_1 ,mem_patch29 
+0x67ba 016491 copy contwu ,pdata 
+0x67bb 016492 store 2 ,ipc_bt2m0_write_ptr 
+:      016493 wake_up_m0:
+0x67bc 016494 fetch 1 ,core_config 
+0x67bd 016495 rtnbit1 7 
+0x67be 016496 set1 7 ,pdata 
+0x67bf 016497 store 1 ,core_config 
+0x67c0 016498 rtn 
+:      016501 uart_copy_tx_bytes_fast:
+0x67c1 016502 deposit loopcnt 
+0x67c2 016503 rtn blank 
+:      016504 uart_copy_tx_bytes_fast_loop:
+0x67c3 016505 increase -8 ,loopcnt 
+0x67c4 016506 call uart_tx_8_bytes ,positive 
+0x67c5 016507 rtn zero 
+0x67c6 016508 branch uart_copy_tx_bytes_fast_loop ,positive 
+0x67c7 016509 increase 8 ,loopcnt 
+:      016510 uart_copy_tx_bytes_fast_loop_four:
+0x67c8 016511 increase -4 ,loopcnt 
+0x67c9 016512 call uart_tx_4_bytes ,positive 
+0x67ca 016513 rtn zero 
+0x67cb 016514 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+0x67cc 016515 increase 4 ,loopcnt 
+0x67cd 016516 branch uart_copy_tx_bytes 
+:      016518 uart_tx_8_bytes:
+0x67ce 016519 ifetch 8 ,contr 
+0x67cf 016520 istore 8 ,contwu 
+0x67d0 016521 rtn 
+:      016523 uart_tx_4_bytes:
+0x67d1 016524 ifetch 4 ,contr 
+0x67d2 016525 istore 4 ,contwu 
+0x67d3 016526 rtn 
+:      016528 uart_copy_tx_bytes:
+0x67d4 016529 deposit loopcnt 
+0x67d5 016530 rtn blank 
+:      016531 uart_copy_tx_bytes_loop:
+0x67d6 016532 ifetch 1 ,contr 
+0x67d7 016533 istore 1 ,contwu 
+0x67d8 016534 loop uart_copy_tx_bytes_loop 
+0x67d9 016535 rtn 
+:      016537 uart_copy_rx_bytes_fast:
+0x67da 016538 deposit loopcnt 
+0x67db 016539 rtn blank 
+:      016540 uart_copy_rx_bytes_fast_loop:
+0x67dc 016541 increase -8 ,loopcnt 
+0x67dd 016542 call uart_rx_8_bytes ,positive 
+0x67de 016543 rtn zero 
+0x67df 016544 branch uart_copy_rx_bytes_fast_loop ,positive 
+0x67e0 016545 increase 8 ,loopcnt 
+:      016546 uart_copy_rx_bytes_fast_loop_four:
+0x67e1 016547 increase -4 ,loopcnt 
+0x67e2 016548 call uart_rx_4_bytes ,positive 
+0x67e3 016549 rtn zero 
+0x67e4 016550 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+0x67e5 016551 increase 4 ,loopcnt 
+0x67e6 016552 branch uart_copy_rx_bytes 
+:      016554 uart_rx_8_bytes:
+0x67e7 016555 ifetch 8 ,contru 
+0x67e8 016556 istore 8 ,contw 
+0x67e9 016557 rtn 
+:      016559 uart_rx_4_bytes:
+0x67ea 016560 ifetch 4 ,contru 
+0x67eb 016561 istore 4 ,contw 
+0x67ec 016562 rtn 
+:      016565 uart_copy_rx_bytes:
+0x67ed 016566 deposit loopcnt 
+0x67ee 016567 rtn blank 
+:      016568 uart_copy_rx_bytes_loop:
+0x67ef 016569 ifetch 1 ,contru 
+0x67f0 016570 istore 1 ,contw 
+0x67f1 016571 loop uart_copy_rx_bytes_loop 
+0x67f2 016572 rtn 
+:      016574 uartd_rxdone:
+0x67f3 016575 bpatchx patch29_2 ,mem_patch29 
+0x67f4 016576 copy contru ,pdata 
+0x67f5 016577 store 2 ,ipc_m02bt_read_ptr 
+0x67f6 016578 rtn 
+:      016580 uartd_prepare_rx:
+0x67f7 016581 bpatchx patch29_3 ,mem_patch29 
+0x67f8 016582 fetch 2 ,ipc_m02bt_read_ptr 
+0x67f9 016583 copy pdata ,contru 
+0x67fa 016584 rtn 
+:      016588 app_store_nvram_event:
+0x67fb 016589 jam bt_evt_store_nvram ,mem_fifo_temp 
+0x67fc 016590 branch ui_ipc_send_event 
+:      016592 eeprom_store_le_reconn_info:
+:      016593 eeprom_store_bd_reconn_info:
+:      016594 check_51cmd_store_reconn_info:
+:      016595 check_51cmd_update_device_record:
+0x67fd 016596 bpatchx patch29_4 ,mem_patch29 
+0x67fe 016597 fetch 1 ,mem_nv_data_number 
+0x67ff 016598 rtn blank 
+0x6800 016599 call check_nvram 
+0x6801 016600 call init_device_list ,zero 
+0x6802 016601 call nvram_find_addr_from_bd_list 
+:      016602 write_device_record:
+0x6803 016603 fetch 1 ,mem_nv_data_number 
+0x6804 016604 icopy regc 
+0x6805 016605 fetcht 2 ,mem_nv_data_ptr 
+0x6806 016606 storet 2 ,mem_list_item_ptr 
+:      016607 write_device_loop_find:
+0x6807 016608 copy regc ,pdata 
+0x6808 016609 branch app_store_nvram_event ,blank 
+0x6809 016610 increase -1 ,regc 
+0x680a 016611 copy temp ,rega 
+0x680b 016612 ifetch 1 ,rega 
+0x680c 016613 fetcht 1 ,mem_select_list_item 
+0x680d 016614 isub temp ,null 
+0x680e 016615 call set_index_finded_device ,zero 
+0x680f 016616 branch write_device_loop_find0 ,positive 
+0x6810 016617 ifetch 1 ,rega 
+0x6811 016618 increase 1 ,pdata 
+0x6812 016619 istore 1 ,rega 
+:      016620 write_device_loop_find0:
+0x6813 016621 fetcht 2 ,mem_list_item_ptr 
+0x6814 016622 increase nv_data_len ,temp 
+0x6815 016623 storet 2 ,mem_list_item_ptr 
+0x6816 016624 branch write_device_loop_find 
+:      016626 set_index_finded_device:
+0x6817 016627 setarg 0 
+0x6818 016628 istore 1 ,rega 
+0x6819 016629 fetch 1 ,mem_temp_reconn_record 
+0x681a 016630 istore 1 ,contw 
+0x681b 016631 bne rec_3_mode ,set_index_finded_device_ble_mode 
+0x681c 016632 arg mem_link_key ,regb 
+:      016633 set_index_find_device_master_addr:
+0x681d 016634 ifetch 6 ,contr 
+0x681e 016635 istore 8 ,contw 
+0x681f 016636 setarg 0 
+0x6820 016637 istore 8 ,contw 
+0x6821 016638 copy regb ,contr 
+:      016639 store_rec_data_common:
+0x6822 016640 call memcpy16 
+0x6823 016641 force 1 ,null 
+0x6824 016642 rtn 
+:      016644 set_index_finded_device_ble_mode:
+0x6825 016645 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+0x6826 016646 beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+0x6827 016647 arg mem_le_ltk ,regb 
+0x6828 016648 branch set_index_find_device_master_addr 
+:      016650 set_index_finded_device_irk:
+0x6829 016651 arg mem_le_irk ,contr 
+0x682a 016652 call memcpy16 
+:      016653 store_ble_rec_data_common:
+0x682b 016654 arg mem_le_ltk ,contr 
+0x682c 016655 branch store_rec_data_common 
+:      016657 set_index_finded_device_ediv:
+0x682d 016658 arg mem_le_rand ,contr 
+0x682e 016659 call memcpy16 
+0x682f 016660 branch store_ble_rec_data_common 
+:      016663 nvram_find_addr_from_bd_list:
+0x6830 016664 call disable_user 
+0x6831 016665 fetch 1 ,mem_nv_data_number 
+0x6832 016666 rtn blank 
+0x6833 016667 fetch 2 ,mem_ui_state_map 
+0x6834 016668 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+:      016669 find_addr_from_bd_list_ble_mode:
+0x6835 016670 bpatchx patch29_5 ,mem_patch29 
+0x6836 016671 fetch 1 ,mem_le_conn_peer_addr_type 
+0x6837 016672 beq master_public_addr ,find_addr_from_bd_list_static_addr 
+0x6838 016673 fetch 1 ,mem_le_plap + 5 
+0x6839 016674 compare 0xc0 ,pdata ,0xc0 
+0x683a 016675 branch find_addr_from_bd_list_static_addr ,true 
+0x683b 016676 compare 0x40 ,pdata ,0xc0 
+0x683c 016677 branch find_addr_from_bd_list_random_addr ,true 
+0x683d 016678 compare 0x00 ,pdata ,0xc0 
+0x683e 016679 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+:      016680 find_addr_from_bd_list_static_addr:
+0x683f 016681 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+0x6840 016682 fetch 6 ,mem_le_plap 
+0x6841 016683 branch find_addr_from_bd_list_common 
+:      016685 find_addr_from_bd_list_random_non_resolvable_private_address:
+0x6842 016686 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+0x6843 016687 branch find_addr_from_bd_list_common 
+:      016690 find_addr_from_bd_list_random_addr:
+0x6844 016691 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+0x6845 016692 branch find_addr_from_bd_list_common 
+:      016695 find_addr_from_bd_list_spp_mode:
+0x6846 016696 bpatchx patch29_6 ,mem_patch29 
+0x6847 016697 jam rec_3_mode ,mem_temp_reconn_record 
+0x6848 016698 fetch 6 ,mem_plap 
+:      016699 find_addr_from_bd_list_common:
+0x6849 016700 store 6 ,mem_temp_reconn_record + 1 
+0x684a 016701 fetch 2 ,mem_nv_data_ptr 
+0x684b 016702 ifetcht 1 ,pdata 
+0x684c 016703 pincrease 1 
+0x684d 016704 store 2 ,mem_list_item_ptr 
+0x684e 016705 storet 1 ,mem_select_list_item 
+0x684f 016706 fetch 1 ,mem_nv_data_number 
+0x6850 016707 icopy regc 
+:      016708 nvram_find_addr_from_list:
+0x6851 016709 fetch 2 ,mem_list_item_ptr 
+0x6852 016710 copy pdata ,rega 
+0x6853 016711 call nvram_find_addr_from_list_compare 
+0x6854 016712 rtn user 
+0x6855 016713 fetcht 2 ,mem_list_item_ptr 
+0x6856 016714 increase nv_data_len ,temp 
+0x6857 016715 storet 2 ,mem_list_item_ptr 
+0x6858 016716 increase -1 ,temp 
+0x6859 016717 ifetch 1 ,temp 
+0x685a 016718 store 1 ,mem_select_list_item 
+0x685b 016719 increase -1 ,regc 
+0x685c 016720 nbranch nvram_find_addr_from_list ,zero 
+0x685d 016721 fetch 1 ,mem_nv_data_number 
+0x685e 016722 pincrease decreased_one 
+0x685f 016723 store 1 ,mem_select_list_item 
+0x6860 016724 rtn 
+:      016725 nvram_find_addr_from_list_compare:
+0x6861 016726 fetch 1 ,mem_temp_reconn_record 
+0x6862 016727 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+:      016728 find_master_addr_from_list_compare:
+0x6863 016729 arg mem_temp_reconn_record ,regb 
+0x6864 016730 arg 7 ,loopcnt 
+0x6865 016731 call string_compare 
+0x6866 016732 branch enable_user ,zero 
+0x6867 016733 rtn 
+:      016735 find_addr_from_list_compare_ble_mode:
+0x6868 016736 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+0x6869 016737 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+0x686a 016738 branch find_master_addr_from_list_compare 
+:      016740 find_irk_form_list_compare:
+0x686b 016741 ifetcht 1 ,rega 
+0x686c 016742 isub temp ,null 
+0x686d 016743 nrtn zero 
+0x686e 016744 arg mem_le_prand ,contw 
+0x686f 016745 arg 16 ,loopcnt 
+0x6870 016746 call clear_mem 
+0x6871 016747 fetch 3 ,mem_le_plap + 3 
+0x6872 016748 store 3 ,mem_le_prand 
+0x6873 016749 call genernate_master_macaddress 
+0x6874 016750 fetch 2 ,mem_le_aes_128 + 13 
+0x6875 016751 byteswap pdata ,pdata 
+0x6876 016752 lshift8 pdata ,temp 
+0x6877 016753 ifetch 1 ,contr 
+0x6878 016754 iadd temp ,pdata 
+0x6879 016755 fetcht 3 ,mem_le_plap 
+0x687a 016756 isub temp ,null 
+0x687b 016757 branch enable_user ,zero 
+0x687c 016758 rtn 
+:      016761 genernate_master_macaddress:
+0x687d 016762 arg mem_le_prand ,contr 
+0x687e 016763 call load_data128 
+0x687f 016765 ifetch 1 ,rega 
+0x6880 016766 call load_key128 
+0x6881 016767 force aes_big_endian | aes_load ,aes_ctrl 
+0x6882 016768 force 0 ,aes_ctrl 
+0x6883 016769 call wait_aes 
+0x6884 016770 arg mem_le_aes_128 ,contw 
+0x6885 016771 branch store_aes_result 
+:      016773 find_ediv_form_list_compare:
+0x6886 016774 ifetcht 1 ,rega 
+0x6887 016775 isub temp ,null 
+0x6888 016776 nrtn zero 
+0x6889 016777 copy contr ,rega 
+0x688a 016778 add contr ,8 ,regc 
+0x688b 016779 arg mem_le_rand ,regb 
+0x688c 016780 arg 8 ,loopcnt 
+0x688d 016781 call string_compare 
+0x688e 016782 branch enable_user ,zero 
+0x688f 016783 copy regc ,rega 
+0x6890 016784 arg mem_le_irk ,regb 
+0x6891 016785 arg 8 ,loopcnt 
+0x6892 016786 call string_compare 
+0x6893 016787 branch enable_user ,zero 
+0x6894 016788 rtn 
+:      016790 check_nvram:
+0x6895 016791 fetch 2 ,mem_nv_data_ptr 
+0x6896 016792 ifetcht 1 ,pdata 
+0x6897 016793 pincrease nv_data_len 
+0x6898 016794 ifetch 1 ,pdata 
+0x6899 016795 isub temp ,null 
+0x689a 016796 rtn 
+:      016798 init_device_list:
+0x689b 016799 fetch 1 ,mem_nv_data_number 
+0x689c 016800 icopy loopcnt 
+0x689d 016801 fetcht 2 ,mem_nv_data_ptr 
+0x689e 016802 setarg 0 
+:      016803 init_device_list_loop:
+0x689f 016804 istore 1 ,temp 
+0x68a0 016805 increase nv_data_len ,temp 
+0x68a1 016806 pincrease 1 
+0x68a2 016807 loop init_device_list_loop 
+0x68a3 016808 rtn 
+:      016810 load_device_list:
+0x68a4 016811 bpatchx patch29_7 ,mem_patch29 
+0x68a5 016812 call nvram_find_addr_from_bd_list 
+0x68a6 016813 fetch 1 ,mem_state 
+0x68a7 016814 setflag user ,state_combkey ,pdata 
+0x68a8 016815 store 1 ,mem_state 
+0x68a9 016816 nbranch clear_key_exists ,user 
+0x68aa 016817 add rega ,10 ,contr 
+0x68ab 016819 arg mem_link_key ,contw 
+0x68ac 016820 call memcpy16 
+0x68ad 016821 branch check_link_key_load 
+:      016822 clear_key_exists:
+0x68ae 016823 jam 0 ,mem_link_key_exists 
+0x68af 016824 rtn 
+:      016826 load_device_list_mode_4:
+0x68b0 016827 fetch 9 ,mem_le_ediv 
+0x68b1 016828 branch clear_ltk_exists ,blank 
+0x68b2 016829 call nvram_find_addr_from_bd_list 
+0x68b3 016830 nbranch clear_ltk_exists ,user 
+0x68b4 016831 fetch 2 ,mem_list_item_ptr 
+0x68b5 016832 add pdata ,1 ,contr 
+0x68b6 016833 arg mem_le_irk ,contw 
+0x68b7 016834 call memcpy16 
+0x68b8 016835 arg mem_le_ltk ,contw 
+0x68b9 016836 call memcpy16 
+0x68ba 016837 jam 1 ,mem_ltk_exists 
+0x68bb 016838 rtn 
+:      016840 clear_ltk_exists:
+0x68bc 016841 jam 0 ,mem_ltk_exists 
+0x68bd 016842 rtn 
+:      016847 check_link_key_load:
+0x68be 016848 fetch 8 ,mem_link_key 
+0x68bf 016849 fetcht 8 ,mem_link_key + 8 
+0x68c0 016850 ior temp ,pdata 
+0x68c1 016851 rtn blank 
+0x68c2 016852 jam 1 ,mem_link_key_exists 
+0x68c3 016853 rtn 
+:      016860 rfcomm_init:
+0x68c4 016861 rtn wake 
+0x68c5 016862 jam 0 ,mem_rfcomm_send_more_pkt 
+0x68c6 016863 jam bits9600 ,memremoterpnbitrate 
+0x68c7 016864 jam databits8 ,memremoteprndatabits 
+0x68c8 016865 jam 0x11 ,memremoteprnxon 
+0x68c9 016866 jam 0x13 ,memremoteprnxoff 
+0x68ca 016867 setarg 0 
+0x68cb 016868 store 3 ,memremoteprnstopbit 
+0x68cc 016869 store 1 ,mem_spp_state 
+0x68cd 016870 jam 0 ,memui_reconnect_mode 
+:      016872 rfcomm_init_spp:
+0x68ce 016873 bpatchx patch2a_0 ,mem_patch2a 
+0x68cf 016874 setarg 0 
+0x68d0 016875 store 1 ,mem_spp_state 
+0x68d1 016876 store 1 ,mem_remote_spp_channel 
+0x68d2 016877 store 1 ,mem_pn_dlci 
+0x68d3 016878 fetch 1 ,mem_credit_flag 
+0x68d4 016879 beq credit_enable ,rfcomm_init_spp_with_credit 
+0x68d5 016880 jam 0x50 ,mem_credit_given 
+0x68d6 016881 rtn 
+:      016883 rfcomm_init_spp_with_credit:
+0x68d7 016884 jam 0x00 ,mem_credit_given 
+0x68d8 016885 rtn 
+:      016887 set_cr_bit:
+0x68d9 016888 or_into 0x02 ,temp 
+0x68da 016889 rtn 
+:      016901 rfcomm_calculate_fcs_sabm:
+0x68db 016902 copy temp ,pdata 
+0x68dc 016903 reverse pdata ,pdata 
+0x68dd 016904 store 1 ,memfcstemp3 
+0x68de 016905 force ini_tx_sabm ,pdata 
+0x68df 016906 reverse pdata ,pdata 
+0x68e0 016907 store 1 ,memfcstemp2 
+0x68e1 016908 force 0x01 ,pdata 
+0x68e2 016909 reverse pdata ,pdata 
+0x68e3 016910 store 1 ,memfcstemp1 
+0x68e4 016911 call caculate_fcs 
+0x68e5 016912 copy temp ,pdata 
+0x68e6 016913 rtn 
+:      016914 rfcomm_calculate_fcs_ua:
+0x68e7 016915 reverse pdata ,pdata 
+0x68e8 016916 store 1 ,memfcstemp3 
+0x68e9 016917 force rsp_tx_ua ,pdata 
+0x68ea 016918 reverse pdata ,pdata 
+0x68eb 016919 store 1 ,memfcstemp2 
+0x68ec 016920 force 0x01 ,pdata 
+0x68ed 016921 reverse pdata ,pdata 
+0x68ee 016922 store 1 ,memfcstemp1 
+0x68ef 016923 branch caculate_fcs 
+:      016925 rfcomm_calculate_fcs_dlci0:
+0x68f0 016926 fetch 1 ,mem_rfcomm_initiator 
+0x68f1 016927 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+0x68f2 016928 setarg 0x70 
+0x68f3 016929 rtn 
+:      016930 rfcomm_calculate_fcs_dlci0_res:
+0x68f4 016931 setarg 0xaa 
+0x68f5 016932 rtn 
+:      016934 rfcomm_save_fcs_uih:
+0x68f6 016935 reverse pdata ,pdata 
+0x68f7 016936 store 1 ,memfcstemp3 
+0x68f8 016937 force rsp_rx_uih ,pdata 
+0x68f9 016938 call caculate_uihdata_fcs 
+0x68fa 016939 fetcht 2 ,mem_contw_temp 
+0x68fb 016940 copy temp ,contw 
+0x68fc 016941 istore 1 ,contw 
+0x68fd 016942 copy contw ,temp 
+0x68fe 016943 storet 2 ,mem_contw_temp 
+0x68ff 016944 force rsp_rx_uih_wdata ,pdata 
+0x6900 016945 call caculate_uihdata_fcs 
+0x6901 016946 fetcht 2 ,mem_contw_temp 
+0x6902 016947 copy temp ,contw 
+0x6903 016948 istore 1 ,contw 
+0x6904 016949 rtn 
+:      016958 caculate_uihdata_fcs:
+0x6905 016959 reverse pdata ,pdata 
+0x6906 016960 store 1 ,memfcstemp2 
+0x6907 016961 fetch 2 ,memfcstemp2 
+0x6908 016962 lshift8 pdata ,pdata 
+0x6909 016963 store 3 ,mem_mod2div_temp 
+0x690a 016964 arg 0x107 ,rega 
+0x690b 016965 arg 0xf ,regb 
+0x690c 016966 call mod2div 
+0x690d 016967 xor_into 0xd7 ,pdata 
+0x690e 016968 invert pdata ,pdata 
+0x690f 016969 reverse pdata ,pdata 
+0x6910 016970 rtn 
+:      016980 caculate_fcs:
+0x6911 016981 fetch 3 ,memfcstemp1 
+0x6912 016982 store 3 ,mem_mod2div_temp 
+0x6913 016983 arg 0x107 ,rega 
+0x6914 016984 arg 0xf ,regb 
+0x6915 016985 call mod2div 
+0x6916 016986 lshift8 pdata ,pdata 
+0x6917 016987 arg 0x7 ,regb 
+0x6918 016988 call mod2div 
+0x6919 016989 xor_into 0x2b ,pdata 
+0x691a 016990 invert pdata ,pdata 
+0x691b 016991 reverse pdata ,pdata 
+0x691c 016992 copy pdata ,temp 
+0x691d 016993 rtn 
+:      016995 mod2div:
+0x691e 016996 arg 0 ,regc 
+0x691f 016997 copy regb ,loopcnt 
+0x6920 016998 call right_shift_n 
+0x6921 016999 icopy temp 
+:      017000 mod2div_loop:
+0x6922 017005 copy temp ,pdata 
+0x6923 017006 lshift regc ,regc 
+0x6924 017007 bbit0 8 ,mod2div_not_enough_reduction 
+0x6925 017008 ixor rega ,temp 
+0x6926 017009 increase 1 ,regc 
+:      017010 mod2div_not_enough_reduction:
+0x6927 017011 lshift temp ,temp 
+0x6928 017012 fetch 3 ,mem_mod2div_temp 
+0x6929 017013 increase -1 ,regb 
+0x692a 017014 compare 0xff ,regb ,0xff 
+0x692b 017015 branch mod2div_end ,true 
+0x692c 017016 copy regb ,loopcnt 
+0x692d 017017 call right_shift_n 
+0x692e 017018 isolate1 0 ,pdata 
+0x692f 017019 setflag true ,0 ,temp 
+0x6930 017020 branch mod2div_loop 
+:      017021 mod2div_end:
+0x6931 017023 rshift temp ,pdata 
+0x6932 017024 rtn 
+:      017026 get_rfcomm_snd_adss:
+0x6933 017027 fetcht 1 ,mem_pn_dlci 
+:      017028 dlci_to_address_cmd:
+0x6934 017030 lshift2 temp ,temp 
+0x6935 017031 set1 rfcomm_address_ext_len ,temp 
+0x6936 017032 fetch 1 ,mem_rfcomm_initiator 
+0x6937 017033 ncall set_cr_bit ,blank 
+0x6938 017034 storet 1 ,mem_rfcomm_send_adss 
+0x6939 017035 rtn 
+:      017037 channel_to_dlci:
+0x693a 017039 lshift temp ,temp 
+0x693b 017040 fetch 1 ,mem_rfcomm_initiator 
+0x693c 017041 setflag blank ,0 ,temp 
+0x693d 017043 rtn 
+:      017044 rfcomm_rx_process_dlci0_sabm:
+0x693e 017045 fetcht 1 ,mem_current_channel 
+0x693f 017046 jam 0xd7 ,mem_current_fcs 
+0x6940 017047 call rfcomm_send_ua 
+0x6941 017048 fetch 1 ,mem_rfcomm_state 
+0x6942 017049 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6943 017050 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6944 017051 store 1 ,mem_rfcomm_state 
+0x6945 017052 jam 0 ,mem_rfcomm_initiator 
+0x6946 017053 branch rfcomm_rx_process_end 
+:      017054 rfcomm_rx_process_dlci0_ua:
+0x6947 017055 fetch 1 ,mem_rfcomm_state 
+0x6948 017056 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6949 017057 store 1 ,mem_rfcomm_state 
+0x694a 017058 branch rfcomm_rx_process_end 
+:      017061 rfcomm_rx_process:
+0x694b 017062 bpatchx patch2a_1 ,mem_patch2a 
+0x694c 017063 fetch 1 ,memui_reconnect_mode 
+0x694d 017064 beq no_reconnection ,rfcomm_rx_process_remote_page 
+0x694e 017065 branch rfcomm_rx_process_reconn 
+:      017067 rfcomm_rx_process_remote_page:
+0x694f 017068 fetch 2 ,mem_l2cap_payload_ptr 
+0x6950 017069 copy pdata ,contr 
+0x6951 017070 call get_rfcomm_head_struct 
+0x6952 017071 fetch 1 ,mem_current_channel 
+0x6953 017072 beq 0 ,parse_dlci0_rp 
+0x6954 017073 branch parse_uih_rp 
+:      017074 parse_dlci0_rp:
+0x6955 017075 bpatchx patch2a_2 ,mem_patch2a 
+0x6956 017076 fetch 1 ,mem_current_frame_type 
+0x6957 017077 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6958 017078 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6959 017079 beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+0x695a 017080 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+0x695b 017081 rtn 
+:      017084 parse_dlci0_rp_uih:
+0x695c 017085 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x695d 017086 copy pdata ,contr 
+0x695e 017087 call get_rfcomm_uih_head_struct 
+0x695f 017088 fetch 1 ,mem_uih_cmd_type 
+0x6960 017089 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+0x6961 017090 beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+0x6962 017091 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+0x6963 017092 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+0x6964 017093 beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+0x6965 017094 branch rfcomm_rx_process_end 
+:      017096 parse_dlci0_rp_uih_pn_cmd:
+0x6966 017097 call parse_dlci0_rp_uih_pn_res_common 
+0x6967 017099 branch parse_dlci0_rp_uih_pn_cmd_spp 
+:      017101 parse_dlci0_rp_uih_pn_cmd_spp:
+0x6968 017102 fetch 1 ,mem_spp_state 
+0x6969 017103 set1 rfcomm_channel_state_pn_cmd ,pdata 
+0x696a 017104 set1 rfcomm_channel_state_pn_res ,pdata 
+0x696b 017105 store 1 ,mem_spp_state 
+0x696c 017106 call rfcomm_send_param_neg_res 
+0x696d 017107 branch rfcomm_rx_process_end 
+:      017109 parse_dlci0_rp_uih_pn_res:
+0x696e 017110 call parse_dlci0_rp_uih_pn_res_common 
+0x696f 017111 branch rfcomm_rx_process_end 
+:      017113 parse_dlci0_rp_uih_pn_res_common:
+0x6970 017114 call get_param_payload_ptr 
+0x6971 017115 branch get_rfcomm_prarmer_negotiation 
+:      017117 get_rfcomm_param_modem_status:
+0x6972 017118 call get_param_payload_ptr 
+0x6973 017119 ifetch 1 ,contr 
+0x6974 017120 rshift3 pdata ,pdata 
+0x6975 017121 store 1 ,mem_ms_channel 
+0x6976 017122 ifetch 1 ,contr 
+0x6977 017123 store 1 ,mem_ms_param 
+0x6978 017124 rtn 
+:      017127 get_rfcomm_head_struct:
+0x6979 017128 ifetch 1 ,contr 
+0x697a 017129 store 1 ,mem_current_adss 
+0x697b 017130 rshift3 pdata ,pdata 
+0x697c 017131 store 1 ,mem_current_channel 
+0x697d 017132 ifetch 1 ,contr 
+0x697e 017133 store 1 ,mem_current_frame_type 
+:      017134 get_rfcomm_current_length:
+0x697f 017135 call get_rfcomm_length_common 
+0x6980 017136 storet 2 ,mem_current_length 
+0x6981 017137 copy contr ,pdata 
+0x6982 017138 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6983 017139 rtn 
+:      017141 get_rfcomm_uih_head_struct:
+0x6984 017142 ifetch 1 ,contr 
+0x6985 017143 rshift pdata ,pdata 
+0x6986 017144 store 1 ,mem_uih_cmd_type 
+0x6987 017145 call get_rfcomm_length_common 
+0x6988 017146 storet 2 ,mem_uih_length 
+0x6989 017147 copy contr ,pdata 
+0x698a 017148 store 2 ,mem_param_payload_ptr 
+0x698b 017149 rtn 
+:      017152 get_param_payload_ptr:
+0x698c 017153 fetch 2 ,mem_param_payload_ptr 
+0x698d 017154 copy pdata ,contr 
+0x698e 017155 rtn 
+:      017157 get_rfcomm_length_common:
+0x698f 017158 ifetch 1 ,contr 
+0x6990 017159 copy pdata ,temp 
+0x6991 017160 rshift temp ,temp 
+0x6992 017161 rtnbit1 0 
+0x6993 017162 ifetch 1 ,contr 
+0x6994 017163 lshift3 pdata ,pdata 
+0x6995 017164 lshift4 pdata ,pdata 
+0x6996 017165 iadd temp ,temp 
+0x6997 017166 rtn 
+:      017168 get_rfcomm_prarmer_negotiation:
+0x6998 017169 ifetch 1 ,contr 
+0x6999 017170 store 1 ,mem_pn_dlci 
+0x699a 017171 ifetch 1 ,contr 
+0x699b 017172 store 1 ,mem_pn_credit_flow_type_info 
+0x699c 017173 ifetch 1 ,contr 
+0x699d 017174 store 1 ,mem_pn_priority 
+0x699e 017175 ifetch 1 ,contr 
+0x699f 017176 store 1 ,mem_pn_acknowledg_timer 
+0x69a0 017177 ifetch 2 ,contr 
+0x69a1 017178 store 2 ,mem_pn_max_frame_size 
+0x69a2 017179 ifetch 1 ,contr 
+0x69a3 017180 store 1 ,mem_pn_max_retrans 
+0x69a4 017181 ifetch 1 ,contr 
+0x69a5 017182 store 1 ,mem_remote_credits 
+0x69a6 017183 rtn 
+:      017186 parse_dlci0_rp_uih_ms_cmd:
+0x69a7 017187 call get_rfcomm_param_modem_status 
+0x69a8 017189 branch parse_dlci0_rp_uih_ms_cmd_spp 
+:      017191 parse_dlci0_rp_uih_ms_cmd_spp:
+0x69a9 017192 fetch 1 ,mem_spp_state 
+0x69aa 017193 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x69ab 017194 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x69ac 017195 store 1 ,mem_spp_state 
+0x69ad 017196 fetcht 1 ,mem_pn_dlci 
+0x69ae 017197 lshift2 temp ,temp 
+0x69af 017198 or_into 3 ,temp 
+0x69b0 017199 call rfcomm_send_modem_status_res 
+0x69b1 017200 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+0x69b2 017201 branch rfcomm_rx_process_end 
+:      017203 parse_dlci0_rp_uih_ms_res:
+0x69b3 017204 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x69b4 017205 call ui_ipc_send_event 
+0x69b5 017206 call get_rfcomm_param_modem_status 
+0x69b6 017207 fetch 1 ,mem_ms_channel 
+0x69b7 017208 sub pdata ,1 ,null 
+0x69b8 017209 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+0x69b9 017210 branch assert 
+:      017211 parse_dlci0_rp_uih_ms_res_spp:
+0x69ba 017212 fetch 1 ,mem_spp_state 
+0x69bb 017213 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x69bc 017214 store 1 ,mem_spp_state 
+0x69bd 017215 branch rfcomm_rx_process_end 
+:      017217 parse_dlci0_rp_uih_cmd_port:
+0x69be 017218 call get_param_payload_ptr 
+0x69bf 017219 ifetch 1 ,contr 
+0x69c0 017220 store 1 ,mem_rpn_dlci 
+0x69c1 017221 call l2cap_malloc_rfcomm_channel 
+0x69c2 017222 call l2cap_get_rfcomm_tx_buff 
+0x69c3 017223 setarg 0x000e 
+0x69c4 017224 istore 2 ,contw 
+0x69c5 017225 fetch 2 ,mem_rfcomm_remote_cid 
+0x69c6 017226 istore 2 ,contw 
+0x69c7 017227 fetch 1 ,mem_rfcomm_initiator 
+0x69c8 017229 lshift pdata ,pdata 
+0x69c9 017230 set1 0 ,pdata 
+0x69ca 017231 istore 1 ,contw 
+0x69cb 017232 bpatchx patch2a_3 ,mem_patch2a 
+0x69cc 017233 setarg 0x15ef 
+0x69cd 017234 istore 2 ,contw 
+0x69ce 017235 setarg 0x1191 
+0x69cf 017236 istore 2 ,contw 
+0x69d0 017239 fetch 1 ,mem_rpn_dlci 
+0x69d1 017240 istore 1 ,contw 
+0x69d2 017241 setarg 0x000007 
+0x69d3 017242 istore 5 ,contw 
+0x69d4 017245 setarg 0x01 
+0x69d5 017246 istore 2 ,contw 
+0x69d6 017249 call rfcomm_calculate_fcs_dlci0 
+0x69d7 017250 istore 1 ,contw 
+0x69d8 017251 rtn 
+:      017255 parse_uih_rp:
+0x69d9 017256 branch parse_uih_rp_spp 
+:      017258 parse_uih_rp_spp:
+0x69da 017259 bpatchx patch2a_4 ,mem_patch2a 
+0x69db 017260 fetch 1 ,mem_current_frame_type 
+0x69dc 017261 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+0x69dd 017262 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+0x69de 017263 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x69df 017264 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x69e0 017265 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+0x69e1 017266 rtn 
+:      017267 parse_uih_rp_spp_ua:
+0x69e2 017268 fetch 1 ,mem_spp_state 
+0x69e3 017269 set1 rfcomm_channel_state_ua ,pdata 
+0x69e4 017270 store 1 ,mem_spp_state 
+0x69e5 017271 branch rfcomm_rx_process_end 
+:      017272 parse_uih_rp_spp_sabm:
+0x69e6 017273 fetch 1 ,mem_spp_state 
+0x69e7 017274 set1 rfcomm_channel_state_ua ,pdata 
+0x69e8 017275 set1 rfcomm_channel_state_sabm ,pdata 
+0x69e9 017276 store 1 ,mem_spp_state 
+0x69ea 017277 fetch 1 ,mem_current_adss 
+0x69eb 017278 call rfcomm_calculate_fcs_ua 
+0x69ec 017279 store 1 ,mem_current_fcs 
+0x69ed 017280 call rfcomm_send_ua 
+0x69ee 017281 fetch 1 ,mem_current_adss 
+0x69ef 017282 rshift2 pdata ,pdata 
+0x69f0 017283 store 1 ,mem_pn_dlci 
+0x69f1 017284 lshift2 pdata ,pdata 
+0x69f2 017285 set0 rfcomm_address_cr ,pdata 
+0x69f3 017286 set1 rfcomm_address_ext_len ,pdata 
+0x69f4 017287 arg mem_hiufcs_spp ,temp 
+0x69f5 017288 storet 2 ,mem_contw_temp 
+0x69f6 017289 call rfcomm_save_fcs_uih 
+0x69f7 017290 branch rfcomm_rx_process_end 
+:      017292 parse_uih_spp_uih_credits:
+0x69f8 017293 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x69f9 017294 copy pdata ,contr 
+0x69fa 017295 increase 1 ,pdata 
+0x69fb 017296 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x69fc 017297 ifetch 1 ,contr 
+0x69fd 017298 fetcht 1 ,mem_remote_credits 
+0x69fe 017299 iadd temp ,pdata 
+0x69ff 017300 store 1 ,mem_remote_credits 
+:      017301 parse_uih_spp_uih:
+0x6a00 017302 call rfcomm_increase_credit_given 
+:      017303 parse_uih_spp_uih_cont:
+0x6a01 017304 call get_rfcomm_snd_adss 
+0x6a02 017305 call rfcomm_send_uih_without_payload 
+0x6a03 017306 call spp_process_rx_data 
+0x6a04 017307 branch rfcomm_rx_process_end 
+:      017309 parse_uih_rp_spp_disconn_send_event:
+0x6a05 017310 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+0x6a06 017311 call ui_ipc_send_event 
+:      017312 parse_uih_rp_spp_disconn:
+0x6a07 017313 call rfcomm_init_spp 
+0x6a08 017314 fetch 1 ,mem_current_adss 
+0x6a09 017315 call rfcomm_calculate_fcs_ua 
+0x6a0a 017316 store 1 ,mem_current_fcs 
+0x6a0b 017317 call rfcomm_send_ua 
+0x6a0c 017318 branch rfcomm_rx_process_end 
+:      017323 rfcomm_rx_process_reconn:
+0x6a0d 017324 fetch 2 ,mem_l2cap_payload_ptr 
+0x6a0e 017325 copy pdata ,contr 
+0x6a0f 017326 call get_rfcomm_head_struct 
+0x6a10 017327 fetch 1 ,mem_current_channel 
+0x6a11 017328 beq 0 ,parse_dlci0_reconn 
+0x6a12 017329 branch parse_uih_reconn 
+:      017331 parse_dlci0_reconn:
+0x6a13 017332 bpatchx patch2a_5 ,mem_patch2a 
+0x6a14 017333 fetch 1 ,mem_current_frame_type 
+0x6a15 017334 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6a16 017335 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6a17 017336 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+0x6a18 017337 branch rfcomm_rx_process_end 
+:      017338 parse_dlci0_reconn_uih:
+0x6a19 017339 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6a1a 017340 copy pdata ,contr 
+0x6a1b 017341 call get_rfcomm_uih_head_struct 
+0x6a1c 017342 fetch 1 ,mem_uih_cmd_type 
+0x6a1d 017343 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+0x6a1e 017344 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+0x6a1f 017345 beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+0x6a20 017346 beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+0x6a21 017347 branch rfcomm_rx_process_end 
+:      017349 parse_dlci0_reconn_uih_pn_cmd:
+0x6a22 017350 call parse_dlci0_rp_uih_pn_res_common 
+0x6a23 017351 fetch 1 ,mem_pn_dlci 
+0x6a24 017352 rshift pdata ,pdata 
+0x6a25 017353 fetcht 1 ,mem_remote_spp_channel 
+0x6a26 017354 isub temp ,null 
+0x6a27 017355 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+0x6a28 017356 branch assert 
+:      017357 parse_dlci0_reconn_uih_pn_cmd_spp:
+0x6a29 017358 fetch 1 ,mem_spp_state 
+0x6a2a 017359 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6a2b 017360 store 1 ,mem_spp_state 
+0x6a2c 017361 branch rfcomm_rx_process_end 
+:      017363 parse_dlci0_reconn_uih_ms_cmd:
+0x6a2d 017364 call get_rfcomm_param_modem_status 
+0x6a2e 017365 fetch 1 ,mem_ms_channel 
+0x6a2f 017366 fetcht 1 ,mem_remote_spp_channel 
+0x6a30 017367 isub temp ,null 
+0x6a31 017368 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+0x6a32 017369 branch assert 
+0x6a33 017370 branch rfcomm_rx_process_end 
+:      017371 parse_dlci0_reconn_uih_ms_cmd_spp:
+0x6a34 017372 fetch 1 ,mem_spp_state 
+0x6a35 017373 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6a36 017374 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6a37 017375 store 1 ,mem_spp_state 
+0x6a38 017376 fetcht 1 ,mem_pn_dlci 
+0x6a39 017377 lshift2 temp ,temp 
+0x6a3a 017378 or_into 3 ,temp 
+0x6a3b 017379 call rfcomm_send_modem_status_res 
+0x6a3c 017380 branch rfcomm_rx_process_end 
+:      017382 parse_dlci0_reconn_uih_ms_res:
+0x6a3d 017383 call get_rfcomm_param_modem_status 
+0x6a3e 017384 fetch 1 ,mem_ms_channel 
+0x6a3f 017385 fetcht 1 ,mem_remote_spp_channel 
+0x6a40 017386 isub temp ,null 
+0x6a41 017387 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+0x6a42 017388 branch assert 
+:      017389 parse_dlci0_reconn_uih_ms_res_spp:
+0x6a43 017390 fetch 1 ,mem_spp_state 
+0x6a44 017391 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6a45 017392 store 1 ,mem_spp_state 
+0x6a46 017393 branch rfcomm_rx_process_end 
+:      017395 parse_uih_reconn:
+0x6a47 017396 fetch 1 ,mem_current_channel 
+0x6a48 017397 fetcht 1 ,mem_remote_spp_channel 
+0x6a49 017398 isub temp ,null 
+0x6a4a 017399 branch parse_uih_reconn_spp ,zero 
+0x6a4b 017400 branch assert 
+0x6a4c 017401 branch rfcomm_rx_process_end 
+:      017403 parse_uih_reconn_spp:
+0x6a4d 017404 fetch 1 ,mem_current_frame_type 
+0x6a4e 017405 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+0x6a4f 017406 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6a50 017407 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6a51 017408 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+:      017409 parse_uih_reconn_spp_ua:
+0x6a52 017410 fetch 1 ,mem_spp_state 
+0x6a53 017411 set1 rfcomm_channel_state_ua ,pdata 
+0x6a54 017412 store 1 ,mem_spp_state 
+0x6a55 017413 branch rfcomm_rx_process_end 
+:      017414 parse_uih_reconn_spp_sabm:
+0x6a56 017415 branch parse_uih_reconn_spp_sabm 
+:      017416 parse_uih_reconn_spp_disconn:
+0x6a57 017417 branch parse_uih_rp_spp_disconn 
+:      017418 rfcomm_rx_process_end:
+0x6a58 017419 rtn 
+:      017421 rfcomm_send_more_pkt:
+0x6a59 017422 fetch 1 ,mem_rfcomm_send_more_pkt 
+0x6a5a 017423 rtn blank 
+0x6a5b 017424 beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+0x6a5c 017425 branch assert 
+:      017427 rfcomm_send_more_pkt_msc_cmd_spp:
+0x6a5d 017428 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6a5e 017429 call l2cap_malloc_rfcomm_channel 
+0x6a5f 017430 arg spp_slave_channel ,temp 
+0x6a60 017431 fetcht 1 ,mem_pn_dlci 
+0x6a61 017432 lshift2 temp ,temp 
+:      017433 rfcomm_send_more_pkt_msc_cmd_spp0:
+0x6a62 017434 or_into 0x03 ,temp 
+0x6a63 017435 arg 0xaa ,rega 
+0x6a64 017436 call rfcomm_send_modem_status_cmd 
+0x6a65 017437 call l2cap_get_rfcomm_tx_buff 
+0x6a66 017438 copy contw ,contr 
+0x6a67 017439 ifetch 2 ,contr 
+0x6a68 017440 branch assert ,blank 
+0x6a69 017441 rtn 
+:      017443 rfcomm_send_sabm:
+0x6a6a 017444 call l2cap_get_rfcomm_tx_buff 
+0x6a6b 017445 setarg 0x0004 
+0x6a6c 017446 istore 2 ,contw 
+0x6a6d 017447 fetch 2 ,mem_rfcomm_remote_cid 
+0x6a6e 017448 istore 2 ,contw 
+0x6a6f 017449 fetch 1 ,mem_current_adss 
+0x6a70 017450 istore 1 ,contw 
+0x6a71 017451 bpatchx patch2a_6 ,mem_patch2a 
+0x6a72 017452 setarg 0x013f 
+0x6a73 017453 istore 2 ,contw 
+0x6a74 017454 fetch 1 ,mem_current_fcs 
+0x6a75 017455 istore 1 ,contw 
+0x6a76 017456 rtn 
+:      017457 rfcomm_send_ua:
+0x6a77 017458 call l2cap_malloc_rfcomm_channel 
+0x6a78 017459 call l2cap_get_rfcomm_tx_buff 
+0x6a79 017460 setarg 0x0004 
+0x6a7a 017461 istore 2 ,contw 
+0x6a7b 017462 fetch 2 ,mem_rfcomm_remote_cid 
+0x6a7c 017463 istore 2 ,contw 
+0x6a7d 017464 fetch 1 ,mem_current_adss 
+0x6a7e 017465 istore 1 ,contw 
+0x6a7f 017466 bpatchx patch2a_7 ,mem_patch2a 
+0x6a80 017467 setarg 0x0173 
+0x6a81 017468 istore 2 ,contw 
+0x6a82 017469 fetch 1 ,mem_current_fcs 
+0x6a83 017470 istore 1 ,contw 
+0x6a84 017471 rtn 
+:      017472 rfcomm_send_param_neg_cmd:
+0x6a85 017473 call l2cap_get_rfcomm_tx_buff 
+0x6a86 017474 setarg 0x000e 
+0x6a87 017475 istore 2 ,contw 
+0x6a88 017476 fetch 2 ,mem_rfcomm_remote_cid 
+0x6a89 017477 istore 2 ,contw 
+0x6a8a 017478 fetch 1 ,mem_rfcomm_initiator 
+0x6a8b 017479 lshift pdata ,pdata 
+0x6a8c 017480 set1 0 ,pdata 
+0x6a8d 017481 istore 1 ,contw 
+0x6a8e 017482 bpatchx patch2b_0 ,mem_patch2b 
+0x6a8f 017483 setarg 0x15ef 
+0x6a90 017484 istore 2 ,contw 
+0x6a91 017485 setarg 0x1183 
+0x6a92 017486 istore 2 ,contw 
+0x6a93 017487 copy temp ,pdata 
+0x6a94 017488 istore 1 ,contw 
+0x6a95 017489 setarg 0x0000f0 
+0x6a96 017490 istore 3 ,contw 
+0x6a97 017491 setarg rfcomm_max_frame_size 
+0x6a98 017492 istore 2 ,contw 
+0x6a99 017493 setarg 0 
+0x6a9a 017494 istore 1 ,contw 
+0x6a9b 017495 setarg 0x01 
+0x6a9c 017496 istore 1 ,contw 
+0x6a9d 017497 call rfcomm_calculate_fcs_dlci0 
+0x6a9e 017498 istore 1 ,contw 
+0x6a9f 017499 jam 0x10 ,mem_credit_given 
+0x6aa0 017500 rtn 
+:      017501 rfcomm_send_param_neg_res:
+0x6aa1 017502 call l2cap_malloc_rfcomm_channel 
+0x6aa2 017503 call l2cap_get_rfcomm_tx_buff 
+0x6aa3 017504 setarg 0x000e 
+0x6aa4 017505 istore 2 ,contw 
+0x6aa5 017506 fetch 2 ,mem_rfcomm_remote_cid 
+0x6aa6 017507 istore 2 ,contw 
+0x6aa7 017508 fetch 1 ,mem_rfcomm_initiator 
+0x6aa8 017509 lshift pdata ,pdata 
+0x6aa9 017510 set1 0 ,pdata 
+0x6aaa 017511 istore 1 ,contw 
+0x6aab 017512 bpatchx patch2b_1 ,mem_patch2b 
+0x6aac 017513 setarg 0x15ef 
+0x6aad 017514 istore 2 ,contw 
+0x6aae 017515 setarg 0x1181 
+0x6aaf 017516 istore 2 ,contw 
+0x6ab0 017517 fetch 1 ,mem_pn_dlci 
+0x6ab1 017518 istore 1 ,contw 
+0x6ab2 017519 setarg 0x0000e0 
+0x6ab3 017520 istore 3 ,contw 
+0x6ab4 017521 fetch 2 ,mem_rfcomm_max_frame_size 
+0x6ab5 017522 istore 2 ,contw 
+0x6ab6 017523 setarg 0x00 
+0x6ab7 017524 istore 1 ,contw 
+0x6ab8 017525 fetch 1 ,mem_rfcomm_credit_init_data 
+0x6ab9 017526 istore 1 ,contw 
+0x6aba 017527 call rfcomm_calculate_fcs_dlci0 
+0x6abb 017528 istore 1 ,contw 
+0x6abc 017529 rtn 
+:      017530 rfcomm_send_modem_status_cmd:
+0x6abd 017531 call l2cap_get_rfcomm_tx_buff 
+0x6abe 017532 setarg 0x0008 
+0x6abf 017533 istore 2 ,contw 
+0x6ac0 017534 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ac1 017535 istore 2 ,contw 
+0x6ac2 017536 fetch 1 ,mem_rfcomm_initiator 
+0x6ac3 017537 lshift pdata ,pdata 
+0x6ac4 017538 set1 0 ,pdata 
+0x6ac5 017539 istore 1 ,contw 
+0x6ac6 017540 bpatchx patch2b_2 ,mem_patch2b 
+0x6ac7 017541 setarg 0x09ef 
+0x6ac8 017542 istore 2 ,contw 
+0x6ac9 017543 setarg 0x05e3 
+0x6aca 017544 istore 2 ,contw 
+0x6acb 017545 copy temp ,pdata 
+0x6acc 017546 istore 1 ,contw 
+0x6acd 017547 setarg 0x8d 
+0x6ace 017548 istore 1 ,contw 
+0x6acf 017549 call rfcomm_calculate_fcs_dlci0 
+0x6ad0 017550 istore 1 ,contw 
+0x6ad1 017551 rtn 
+:      017553 rfcomm_send_modem_status_res:
+0x6ad2 017554 call l2cap_malloc_rfcomm_channel 
+0x6ad3 017555 call l2cap_get_rfcomm_tx_buff 
+0x6ad4 017556 setarg 0x0008 
+0x6ad5 017557 istore 2 ,contw 
+0x6ad6 017558 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ad7 017559 istore 2 ,contw 
+0x6ad8 017560 copy temp ,timeup 
+0x6ad9 017561 fetch 1 ,mem_rfcomm_initiator 
+0x6ada 017562 lshift pdata ,pdata 
+0x6adb 017563 set1 0 ,pdata 
+0x6adc 017564 istore 1 ,contw 
+0x6add 017565 bpatchx patch2b_3 ,mem_patch2b 
+0x6ade 017566 setarg 0x09ef 
+0x6adf 017567 istore 2 ,contw 
+0x6ae0 017568 setarg 0x05e1 
+0x6ae1 017569 istore 2 ,contw 
+0x6ae2 017570 copy timeup ,pdata 
+0x6ae3 017571 istore 1 ,contw 
+0x6ae4 017572 setarg 0x8d 
+0x6ae5 017573 istore 1 ,contw 
+0x6ae6 017574 call rfcomm_calculate_fcs_dlci0 
+0x6ae7 017575 istore 1 ,contw 
+0x6ae8 017576 rtn 
+:      017578 rfcomm_send_uih_without_payload:
+0x6ae9 017579 bpatchx patch2b_4 ,mem_patch2b 
+0x6aea 017580 fetch 1 ,mem_credit_given 
+0x6aeb 017581 rtn blank 
+0x6aec 017584 copy rega ,pdata 
+0x6aed 017585 store 1 ,mem_pdatatemp + 1 
+0x6aee 017586 storet 1 ,mem_pdatatemp 
+0x6aef 017587 call l2cap_malloc_is_fifo_full 
+0x6af0 017588 nrtn blank 
+0x6af1 017589 call l2cap_malloc_rfcomm_channel 
+0x6af2 017590 call l2cap_get_rfcomm_tx_buff 
+0x6af3 017591 setarg 0x05 
+0x6af4 017592 istore 2 ,contw 
+0x6af5 017593 fetch 2 ,mem_rfcomm_remote_cid 
+0x6af6 017594 istore 2 ,contw 
+0x6af7 017595 fetch 1 ,mem_rfcomm_send_adss 
+0x6af8 017596 istore 1 ,contw 
+0x6af9 017597 setarg 0x01ff 
+0x6afa 017598 istore 2 ,contw 
+0x6afb 017599 fetch 1 ,mem_credit_given 
+0x6afc 017600 istore 1 ,contw 
+0x6afd 017601 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6afe 017602 istore 1 ,contw 
+0x6aff 017603 jam 0 ,mem_credit_given 
+0x6b00 017604 rtn 
+:      017606 rfcomm_increase_credit_given:
+0x6b01 017607 bpatchx patch2b_5 ,mem_patch2b 
+0x6b02 017608 fetch 1 ,mem_credit_flag 
+0x6b03 017609 rtneq credit_enable 
+0x6b04 017610 fetch 2 ,mem_current_length 
+0x6b05 017611 rtn blank 
+0x6b06 017612 fetch 1 ,mem_credit_given 
+0x6b07 017613 increase 1 ,pdata 
+0x6b08 017614 store 1 ,mem_credit_given 
+0x6b09 017615 rtn 
+:      017617 spp_process_rx_data:
+0x6b0a 017618 fetch 2 ,mem_cb_receive_spp_data 
+0x6b0b 017619 branch callback_func 
+:      017621 spp_tx_rfcomm_packet:
+0x6b0c 017622 bpatchx patch2b_6 ,mem_patch2b 
+0x6b0d 017624 fetch 1 ,mem_remote_credits 
+0x6b0e 017625 rtn blank 
+0x6b0f 017626 increase -1 ,pdata 
+0x6b10 017627 store 1 ,mem_remote_credits 
+0x6b11 017628 fetch 2 ,mem_pn_max_frame_size 
+0x6b12 017629 fetcht 2 ,mem_current_packet_length 
+0x6b13 017630 isub temp ,null 
+0x6b14 017631 branch ssp_tx_rfcomm_from_uart ,positive 
+0x6b15 017632 store 2 ,mem_current_packet_length 
+:      017633 ssp_tx_rfcomm_from_uart:
+0x6b16 017634 fetch 1 ,mem_credit_given 
+0x6b17 017635 branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+0x6b18 017636 jam 1 ,mem_rfcomm_send_offset 
+0x6b19 017637 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6b1a 017638 store 1 ,mem_rfcomm_send_fcs 
+0x6b1b 017639 setarg rsp_rx_uih_wdata 
+0x6b1c 017640 store 1 ,mem_rfcomm_send_frame_type 
+0x6b1d 017641 branch ssp_tx_rfcomm_from_uart_common 
+:      017642 ssp_tx_rfcomm_from_uart_without_credit:
+0x6b1e 017643 jam 0 ,mem_rfcomm_send_offset 
+0x6b1f 017644 fetch 1 ,mem_hiufcs_spp 
+0x6b20 017645 store 1 ,mem_rfcomm_send_fcs 
+0x6b21 017646 setarg rsp_tx_uih 
+0x6b22 017647 store 1 ,mem_rfcomm_send_frame_type 
+:      017648 ssp_tx_rfcomm_from_uart_common:
+0x6b23 017649 bpatchx patch2b_7 ,mem_patch2b 
+0x6b24 017650 fetch 2 ,mem_current_packet_length 
+0x6b25 017651 sub pdata ,127 ,null 
+0x6b26 017652 branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+0x6b27 017653 fetch 1 ,mem_rfcomm_send_offset 
+0x6b28 017654 increase 1 ,pdata 
+0x6b29 017655 store 1 ,mem_rfcomm_send_offset 
+:      017656 ssp_tx_rfcomm_from_uart_common0:
+0x6b2a 017657 call get_rfcomm_snd_adss 
+0x6b2b 017658 fetch 2 ,mem_current_packet_length 
+0x6b2c 017659 increase 8 ,pdata 
+0x6b2d 017660 fetcht 1 ,mem_rfcomm_send_offset 
+0x6b2e 017661 iadd temp ,rega 
+0x6b2f 017663 call l2cap_malloc 
+0x6b30 017664 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x6b31 017665 increase 4 ,pdata 
+0x6b32 017666 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x6b33 017667 copy pdata ,contw 
+0x6b34 017668 fetch 1 ,mem_rfcomm_send_adss 
+0x6b35 017669 istore 1 ,contw 
+0x6b36 017670 fetch 1 ,mem_rfcomm_send_frame_type 
+0x6b37 017671 istore 1 ,contw 
+0x6b38 017672 call ssp_tx_write_length 
+0x6b39 017673 call ssp_tx_write_given_credit 
+0x6b3a 017674 bpatchx patch2c_0 ,mem_patch2c 
+0x6b3b 017675 fetch 2 ,mem_nl_rx_data_src 
+0x6b3c 017676 copy pdata ,contru 
+0x6b3d 017677 fetch 2 ,mem_current_packet_length 
+0x6b3e 017678 copy pdata ,loopcnt 
+0x6b3f 017679 call uart_copy_rx_bytes_fast 
+0x6b40 017680 copy contw ,temp 
+0x6b41 017681 copy contru ,pdata 
+0x6b42 017682 store 2 ,mem_nl_rx_data_src 
+0x6b43 017683 copy temp ,contw 
+0x6b44 017684 fetch 1 ,mem_rfcomm_send_fcs 
+0x6b45 017685 istore 1 ,contw 
+0x6b46 017686 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x6b47 017687 copy pdata ,contw 
+0x6b48 017688 fetch 2 ,mem_current_packet_length 
+0x6b49 017689 fetcht 1 ,mem_rfcomm_send_offset 
+0x6b4a 017690 iadd temp ,pdata 
+0x6b4b 017691 increase 4 ,pdata 
+0x6b4c 017692 istore 2 ,contw 
+0x6b4d 017693 fetch 2 ,mem_rfcomm_remote_cid 
+0x6b4e 017694 istore 2 ,contw 
+0x6b4f 017695 jam 0 ,mem_credit_given 
+0x6b50 017696 fetch 2 ,mem_nl_rx_len_all 
+0x6b51 017697 beq 0 ,module_hci_command_tx_spp_tx_complete 
+0x6b52 017698 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x6b53 017699 rtn 
+:      017701 ssp_tx_write_length:
+0x6b54 017702 bpatchx patch2c_1 ,mem_patch2c 
+0x6b55 017703 fetch 2 ,mem_current_packet_length 
+0x6b56 017704 sub pdata ,0x7f ,null 
+0x6b57 017705 nbranch ssp_tx_write_long_packet ,positive 
+0x6b58 017706 lshift pdata ,pdata 
+0x6b59 017707 set1 0 ,pdata 
+0x6b5a 017708 istore 1 ,contw 
+0x6b5b 017709 rtn 
+:      017710 ssp_tx_write_long_packet:
+0x6b5c 017711 fetch 2 ,mem_current_packet_length 
+0x6b5d 017712 rshift3 pdata ,pdata 
+0x6b5e 017713 rshift4 pdata ,temp 
+0x6b5f 017714 and_into 0x7f ,pdata 
+0x6b60 017715 lshift pdata ,pdata 
+0x6b61 017716 set0 0 ,pdata 
+0x6b62 017717 istore 1 ,contw 
+0x6b63 017718 istoret 1 ,contw 
+0x6b64 017719 rtn 
+:      017720 ssp_tx_write_given_credit:
+0x6b65 017721 fetch 1 ,mem_credit_given 
+0x6b66 017722 rtn blank 
+0x6b67 017723 istore 1 ,contw 
+0x6b68 017724 rtn 
+:      017729 scheduler_process:
+0x6b69 017730 bpatchx patch2c_2 ,mem_patch2c 
+0x6b6a 017731 call check_51cmd 
+0x6b6b 017732 call app_process_bb_event 
+0x6b6c 017733 call process_conn_sm 
+0x6b6d 017735 bpatchx patch2c_3 ,mem_patch2c 
+0x6b6e 017736 call sp_calc_sequence 
+0x6b6f 017737 call simple_pairing_sequence 
+0x6b70 017738 call master_simple_paring_sequence 
+0x6b71 017741 call l2cap_malloc_is_fifo_full 
+0x6b72 017742 nrtn blank 
+0x6b73 017744 call l2cap_call_proc_sigal_pending 
+0x6b74 017745 call l2cap_malloc_is_fifo_full 
+0x6b75 017746 nrtn blank 
+0x6b76 017747 bpatchx patch2c_4 ,mem_patch2c 
+0x6b77 017749 call process_upper_sm 
+0x6b78 017750 call l2cap_send_config_req 
+0x6b79 017751 call rfcomm_send_more_pkt 
+:      017752 scheduler_process0:
+0x6b7a 017753 call scheduler_tx_disconnect_hid 
+0x6b7b 017754 bpatchx patch2c_5 ,mem_patch2c 
+0x6b7c 017757 branch app_process_bt 
+:      017759 scheduler_tx_disconnect_hid:
+0x6b7d 017760 fetch 1 ,mem_control_tasks 
+0x6b7e 017761 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+0x6b7f 017762 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+0x6b80 017763 rtn 
+:      017765 scheduler_tx_l2cap_pkt:
+0x6b81 017766 bpatchx patch2c_6 ,mem_patch2c 
+0x6b82 017767 call l2cap_malloc_is_fifo_empty 
+0x6b83 017768 rtn blank 
+0x6b84 017769 fetch 1 ,mem_op 
+0x6b85 017770 rtnbit1 op_txl2cap 
+0x6b86 017771 call l2cap_malloc_fifo_out 
+0x6b87 017772 store 2 ,mem_txptr 
+0x6b88 017773 copy pdata ,contr 
+0x6b89 017774 ifetch 2 ,contr 
+0x6b8a 017775 increase 4 ,pdata 
+0x6b8b 017776 store 2 ,mem_tx_len 
+0x6b8c 017777 jam 6 ,mem_tx_lch 
+0x6b8d 017778 bpatchx patch2c_7 ,mem_patch2c 
+0x6b8e 017779 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6b8f 017780 branch scheduler_tx_l2cap_start_pkt ,blank 
+0x6b90 017781 fetch 1 ,mem_op 
+0x6b91 017782 rtnbit0 op_pkt_comp 
+0x6b92 017783 set0 op_pkt_comp ,pdata 
+0x6b93 017784 store 1 ,mem_op 
+0x6b94 017785 jam 5 ,mem_tx_lch 
+0x6b95 017786 fetcht 2 ,mem_l2cap_tx_multi_offset 
+0x6b96 017787 fetch 2 ,mem_txptr 
+0x6b97 017788 iadd temp ,pdata 
+0x6b98 017789 store 2 ,mem_txptr 
+0x6b99 017790 fetch 2 ,mem_tx_len 
+0x6b9a 017791 isub temp ,pdata 
+0x6b9b 017792 store 2 ,mem_tx_len 
+:      017793 scheduler_tx_l2cap_start_pkt:
+0x6b9c 017794 bpatchx patch2d_0 ,mem_patch2d 
+0x6b9d 017795 fetch 2 ,mem_tx_len 
+0x6b9e 017796 branch assert ,blank 
+0x6b9f 017797 arg l2cap_max_pkt_len ,temp 
+0x6ba0 017798 isub temp ,pdata 
+0x6ba1 017799 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+0x6ba2 017800 bpatchx patch2d_1 ,mem_patch2d 
+0x6ba3 017801 storet 2 ,mem_tx_len 
+0x6ba4 017802 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6ba5 017803 iadd temp ,pdata 
+0x6ba6 017804 store 2 ,mem_l2cap_tx_multi_offset 
+0x6ba7 017805 branch scheduler_tx_l2cap_pkt_end 
+:      017806 scheduler_tx_l2cap_last_pkt:
+0x6ba8 017807 setarg 0 
+0x6ba9 017808 store 2 ,mem_l2cap_tx_multi_offset 
+:      017809 scheduler_tx_l2cap_pkt_end:
+0x6baa 017810 fetch 1 ,mem_op 
+0x6bab 017811 set1 op_txl2cap ,pdata 
+0x6bac 017812 store 1 ,mem_op 
+0x6bad 017813 rtn 
+:      017815 scheduler_start_upper_sm:
+0x6bae 017816 fetch 1 ,mem_ui_profile_supported 
+0x6baf 017817 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+0x6bb0 017818 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+0x6bb1 017819 rtn 
+:      017820 scheduler_start_upper_sm_hid:
+0x6bb2 017821 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6bb3 017822 rtn 
+:      017824 process_upper_sm:
+0x6bb4 017825 fetch 1 ,memui_reconnect_mode 
+0x6bb5 017826 nbranch process_upper_sm_reconn ,blank 
+:      017827 process_upper_sm_remote_page:
+0x6bb6 017828 fetch 1 ,mem_upper_sm_remote_page 
+0x6bb7 017830 rtn blank 
+0x6bb8 017832 jam 0 ,mem_upper_sm_remote_page 
+:      017833 process_upper_sm_rp_wait:
+0x6bb9 017834 rtn 
+:      017837 process_upper_sm_reconn:
+0x6bba 017838 bpatchx patch2d_2 ,mem_patch2d 
+0x6bbb 017839 fetch 1 ,mem_upper_sm_reconn 
+0x6bbc 017840 rtn blank 
+0x6bbd 017841 beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+0x6bbe 017842 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+0x6bbf 017843 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+0x6bc0 017844 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+0x6bc1 017845 beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+0x6bc2 017846 beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+0x6bc3 017847 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+0x6bc4 017848 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+0x6bc5 017849 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+0x6bc6 017850 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+0x6bc7 017851 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+0x6bc8 017852 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+0x6bc9 017853 beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+0x6bca 017854 beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+0x6bcb 017855 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+0x6bcc 017856 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+0x6bcd 017857 beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+0x6bce 017858 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+0x6bcf 017859 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+0x6bd0 017860 beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+0x6bd1 017861 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+0x6bd2 017862 beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+0x6bd3 017863 beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+0x6bd4 017864 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+0x6bd5 017865 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+0x6bd6 017866 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+0x6bd7 017867 beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+0x6bd8 017868 beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+:      017869 process_upper_sm_reconn_wait:
+0x6bd9 017870 rtn 
+:      017871 process_upper_sm_reconn_sdp_conn:
+0x6bda 017872 call upper_sm_send_sdp_conn 
+0x6bdb 017873 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+0x6bdc 017874 fetch 1 ,mem_sdp_state 
+0x6bdd 017875 set1 l2cap_channel_state_conn_req ,pdata 
+0x6bde 017876 store 1 ,mem_sdp_state 
+0x6bdf 017877 rtn 
+:      017878 process_upper_sm_reconn_sdp_cfg:
+0x6be0 017879 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6be1 017880 fetch 1 ,mem_sdp_state 
+0x6be2 017881 rtnbit1 l2cap_channel_state_snd_cfg_req 
+0x6be3 017882 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6be4 017883 call upper_sm_send_sdp_cfg 
+0x6be5 017884 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6be6 017885 fetch 1 ,mem_sdp_state 
+0x6be7 017886 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6be8 017887 store 1 ,mem_sdp_state 
+0x6be9 017888 rtn 
+:      017889 process_upper_sm_reconn_ss_spp:
+0x6bea 017890 call l2cap_malloc_is_fifo_empty 
+0x6beb 017891 nrtn blank 
+0x6bec 017892 call upper_sm_send_ss_spp 
+0x6bed 017893 jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+0x6bee 017894 rtn 
+:      017895 process_upper_sm_reconn_sdp_disconn:
+0x6bef 017896 call upper_sm_send_sdp_disconn 
+0x6bf0 017897 jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+0x6bf1 017898 rtn 
+:      017899 process_upper_sm_reconn_hid_ctrl_conn:
+0x6bf2 017900 call upper_sm_send_hid_ctrl_conn 
+0x6bf3 017901 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+0x6bf4 017902 fetch 1 ,mem_hid_control_state 
+0x6bf5 017903 set1 l2cap_channel_state_conn_req ,pdata 
+0x6bf6 017904 store 1 ,mem_hid_control_state 
+0x6bf7 017905 rtn 
+:      017906 process_upper_sm_reconn_hid_ctrl_cfg:
+0x6bf8 017907 call upper_sm_send_hid_ctrl_cfg 
+0x6bf9 017908 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+0x6bfa 017909 fetch 1 ,mem_hid_control_state 
+0x6bfb 017910 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6bfc 017911 store 1 ,mem_hid_control_state 
+0x6bfd 017912 rtn 
+:      017913 process_upper_sm_reconn_hid_int_conn:
+0x6bfe 017914 call upper_sm_send_hid_int_conn 
+0x6bff 017915 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+0x6c00 017916 fetch 1 ,mem_hid_interrupt_state 
+0x6c01 017917 set1 l2cap_channel_state_conn_req ,pdata 
+0x6c02 017918 store 1 ,mem_hid_interrupt_state 
+0x6c03 017919 rtn 
+:      017920 process_upper_sm_reconn_hid_int_cfg:
+0x6c04 017921 call upper_sm_send_hid_int_cfg 
+0x6c05 017922 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+0x6c06 017923 fetch 1 ,mem_hid_interrupt_state 
+0x6c07 017924 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6c08 017925 store 1 ,mem_hid_interrupt_state 
+0x6c09 017926 rtn 
+:      017927 process_upper_sm_reconn_rfcomm_conn:
+0x6c0a 017928 call upper_sm_send_rfcomm_conn 
+0x6c0b 017929 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+0x6c0c 017930 fetch 1 ,mem_rfcomm_state 
+0x6c0d 017931 set1 l2cap_channel_state_conn_req ,pdata 
+0x6c0e 017932 store 1 ,mem_rfcomm_state 
+0x6c0f 017933 rtn 
+:      017934 process_upper_sm_reconn_rfcomm_cfg:
+0x6c10 017935 call upper_sm_send_rfcomm_cfg 
+0x6c11 017936 jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+0x6c12 017937 fetch 1 ,mem_rfcomm_state 
+0x6c13 017938 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6c14 017939 store 1 ,mem_rfcomm_state 
+0x6c15 017940 rtn 
+:      017941 process_upper_sm_reconn_rfcomm_sabm:
+0x6c16 017942 call upper_sm_send_rfcomm_sabm 
+0x6c17 017943 jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+0x6c18 017944 fetch 1 ,mem_rfcomm_state 
+0x6c19 017945 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6c1a 017946 store 1 ,mem_rfcomm_state 
+0x6c1b 017947 rtn 
+:      017948 process_upper_sm_reconn_spp_cmd_pn:
+0x6c1c 017949 call upper_sm_send_spp_cmd_pn 
+0x6c1d 017950 fetch 1 ,mem_spp_state 
+0x6c1e 017951 set1 rfcomm_channel_state_pn_cmd 
+0x6c1f 017952 store 1 ,mem_spp_state 
+0x6c20 017953 jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+0x6c21 017954 rtn 
+:      017955 process_upper_sm_reconn_spp_sabm:
+0x6c22 017956 call upper_sm_send_spp_sabm 
+0x6c23 017957 fetch 1 ,mem_spp_state 
+0x6c24 017958 set1 rfcomm_channel_state_sabm 
+0x6c25 017959 store 1 ,mem_spp_state 
+0x6c26 017960 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+0x6c27 017961 fetch 1 ,mem_remote_spp_channel 
+0x6c28 017962 lshift3 pdata ,pdata 
+0x6c29 017963 or_into 3 ,pdata 
+0x6c2a 017964 arg mem_hiufcs_spp ,temp 
+0x6c2b 017965 storet 2 ,mem_contw_temp 
+0x6c2c 017966 branch rfcomm_save_fcs_uih 
+:      017967 process_upper_sm_reconn_spp_cmd_ms:
+0x6c2d 017968 call upper_sm_send_spp_cmd_ms 
+0x6c2e 017969 fetch 1 ,mem_spp_state 
+0x6c2f 017970 set1 rfcomm_channel_state_snd_ms_cmd 
+0x6c30 017971 store 1 ,mem_spp_state 
+0x6c31 017972 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+0x6c32 017973 rtn 
+:      017975 process_upper_sm_reconn_sdp_conn_wait:
+0x6c33 017976 fetch 1 ,mem_sdp_state 
+0x6c34 017977 rtnbit0 l2cap_channel_state_conn_res 
+0x6c35 017978 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6c36 017979 branch process_upper_sm_reconn 
+:      017980 process_upper_sm_reconn_sdp_cfg_wait:
+0x6c37 017981 fetch 1 ,mem_sdp_state 
+0x6c38 017982 rtnne l2cap_channel_setup_complete 
+0x6c39 017983 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+:      017984 process_upper_sm_reconn_ss_spp_wait:
+0x6c3a 017985 fetch 1 ,mem_message_to_uppersm 
+0x6c3b 017986 rtnne recieve_ss_reasult_hf 
+0x6c3c 017987 jam 0 ,mem_message_to_uppersm 
+0x6c3d 017988 jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+0x6c3e 017989 branch process_upper_sm_reconn 
+:      017990 process_upper_sm_reconn_sdp_disconn_wait:
+0x6c3f 017991 fetch 1 ,mem_sdp_state 
+0x6c40 017992 nrtn blank 
+0x6c41 017993 fetch 1 ,mem_ui_profile_supported 
+0x6c42 017994 bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+0x6c43 017995 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6c44 017996 branch process_upper_sm_reconn_termination 
+:      017997 process_upper_sm_reconn_hid_ctrl_conn_wait:
+0x6c45 017998 fetch 1 ,mem_hid_control_state 
+0x6c46 017999 rtnbit0 l2cap_channel_state_conn_res 
+0x6c47 018000 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+0x6c48 018001 branch process_upper_sm_reconn 
+:      018002 process_upper_sm_reconn_hid_ctrl_cfg_wait:
+0x6c49 018003 fetch 1 ,mem_hid_control_state 
+0x6c4a 018004 rtnne l2cap_channel_setup_complete 
+0x6c4b 018005 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+0x6c4c 018006 branch process_upper_sm_reconn 
+:      018007 process_upper_sm_reconn_hid_int_conn_wait:
+0x6c4d 018008 fetch 1 ,mem_hid_interrupt_state 
+0x6c4e 018009 rtnbit0 l2cap_channel_state_conn_res 
+0x6c4f 018010 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+0x6c50 018011 branch process_upper_sm_reconn 
+:      018012 process_upper_sm_reconn_hid_int_cfg_wait:
+0x6c51 018013 fetch 1 ,mem_hid_interrupt_state 
+0x6c52 018014 rtnne l2cap_channel_setup_complete 
+0x6c53 018015 fetch 1 ,mem_ui_profile_supported 
+0x6c54 018016 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6c55 018017 branch process_upper_sm_reconn_termination 
+:      018018 process_upper_sm_reconn_rfcomm_conn_wait:
+0x6c56 018019 fetch 1 ,mem_rfcomm_state 
+0x6c57 018020 rtnbit0 l2cap_channel_state_conn_res 
+0x6c58 018021 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+0x6c59 018022 branch process_upper_sm_reconn 
+:      018023 process_upper_sm_reconn_rfcomm_cfg_wait:
+0x6c5a 018024 fetch 1 ,mem_rfcomm_state 
+0x6c5b 018025 rtnne l2cap_channel_setup_complete 
+0x6c5c 018026 jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+0x6c5d 018027 branch process_upper_sm_reconn 
+:      018028 process_upper_sm_reconn_rfcomm_sabm_wait:
+0x6c5e 018029 fetch 1 ,mem_rfcomm_state 
+0x6c5f 018030 rtnne l2cap_channel_rfcomm_dlci0_opened 
+0x6c60 018031 fetch 1 ,mem_ui_profile_supported 
+0x6c61 018032 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+0x6c62 018033 branch process_upper_sm_reconn_termination 
+:      018034 process_upper_sm_reconn_spp_cmd_pn_wait:
+0x6c63 018035 fetch 1 ,mem_spp_state 
+0x6c64 018036 rtnbit0 rfcomm_channel_state_pn_res 
+0x6c65 018037 jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+0x6c66 018038 branch process_upper_sm_reconn 
+:      018039 process_upper_sm_reconn_spp_sabm_wait:
+0x6c67 018040 fetch 1 ,mem_spp_state 
+0x6c68 018041 rtnbit0 rfcomm_channel_state_ua 
+0x6c69 018042 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+0x6c6a 018043 branch process_upper_sm_reconn 
+:      018044 process_upper_sm_reconn_spp_cmd_ms_wait:
+0x6c6b 018045 fetch 1 ,mem_spp_state 
+0x6c6c 018046 rtnne rfcomm_channel_setup_complete 
+0x6c6d 018047 branch process_upper_sm_reconn_termination 
+:      018049 process_upper_sm_reconn_setup_hid:
+0x6c6e 018050 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6c6f 018051 branch process_upper_sm_reconn 
+:      018053 process_upper_sm_reconn_setup_rfcomm:
+0x6c70 018054 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+0x6c71 018055 branch process_upper_sm_reconn 
+:      018056 process_upper_sm_reconn_setup_spp:
+0x6c72 018057 jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+0x6c73 018058 branch process_upper_sm_reconn 
+:      018062 process_upper_sm_reconn_termination:
+0x6c74 018063 jam 0 ,mem_upper_sm_reconn 
+0x6c75 018064 rtn 
+:      018065 upper_sm_send_sdp_conn:
+0x6c76 018066 bpatchx patch2d_3 ,mem_patch2d 
+0x6c77 018067 call l2cap_malloc_signal_channel 
+0x6c78 018068 setarg psm_sdp 
+0x6c79 018069 copy pdata ,temp 
+0x6c7a 018070 setarg l2cap_sdp_channel 
+0x6c7b 018071 copy pdata ,timeup 
+0x6c7c 018072 branch ml2cap_send_signal_connect_req 
+:      018074 upper_sm_send_sdp_cfg:
+0x6c7d 018075 bpatchx patch2d_4 ,mem_patch2d 
+0x6c7e 018076 call l2cap_malloc_signal_channel 
+0x6c7f 018077 fetch 2 ,mem_sdp_remote_cid 
+0x6c80 018078 copy pdata ,temp 
+0x6c81 018079 branch ml2cap_send_signal_config_req 
+:      018081 upper_sm_send_sdp_disconn:
+0x6c82 018082 bpatchx patch2d_5 ,mem_patch2d 
+0x6c83 018083 call l2cap_malloc_signal_channel 
+0x6c84 018084 fetch 2 ,mem_sdp_remote_cid 
+0x6c85 018085 copy pdata ,temp 
+0x6c86 018086 arg l2cap_sdp_channel ,timeup 
+0x6c87 018087 call ml2cap_send_signal_disconn_req 
+0x6c88 018088 fetch 1 ,mem_sdp_state 
+0x6c89 018089 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x6c8a 018090 store 1 ,mem_sdp_state 
+0x6c8b 018091 rtn 
+:      018093 upper_sm_send_ss_spp:
+0x6c8c 018094 bpatchx patch2d_6 ,mem_patch2d 
+0x6c8d 018095 call l2cap_malloc_sdp_channel 
+0x6c8e 018096 call sdp_send_spp_request 
+0x6c8f 018097 branch msdp_send_req_done 
+:      018099 upper_sm_send_rfcomm_conn:
+0x6c90 018100 bpatchx patch2d_7 ,mem_patch2d 
+0x6c91 018101 call l2cap_malloc_signal_channel 
+0x6c92 018102 setarg psm_rfcomm 
+0x6c93 018103 copy pdata ,temp 
+0x6c94 018104 setarg l2cap_rfcomm_channel 
+0x6c95 018105 copy pdata ,timeup 
+0x6c96 018106 branch ml2cap_send_signal_connect_req 
+:      018108 upper_sm_send_rfcomm_cfg:
+0x6c97 018109 bpatchx patch2e_0 ,mem_patch2e 
+0x6c98 018110 call l2cap_malloc_signal_channel 
+0x6c99 018111 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c9a 018112 copy pdata ,temp 
+0x6c9b 018113 branch ml2cap_send_signal_config_req 
+:      018115 upper_sm_send_hid_ctrl_conn:
+0x6c9c 018116 bpatchx patch2e_1 ,mem_patch2e 
+0x6c9d 018117 call l2cap_malloc_signal_channel 
+0x6c9e 018118 setarg psm_hid_control 
+0x6c9f 018119 copy pdata ,temp 
+0x6ca0 018120 setarg l2cap_hid_control_channel 
+0x6ca1 018121 copy pdata ,timeup 
+0x6ca2 018122 branch ml2cap_send_signal_connect_req 
+:      018124 upper_sm_send_hid_ctrl_cfg:
+0x6ca3 018125 bpatchx patch2e_2 ,mem_patch2e 
+0x6ca4 018126 call l2cap_malloc_signal_channel 
+0x6ca5 018127 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x6ca6 018128 copy pdata ,temp 
+0x6ca7 018129 branch ml2cap_send_signal_config_req 
+:      018131 upper_sm_send_hid_int_conn:
+0x6ca8 018132 bpatchx patch2e_3 ,mem_patch2e 
+0x6ca9 018133 call l2cap_malloc_signal_channel 
+0x6caa 018134 setarg psm_hid_interrupt 
+0x6cab 018135 copy pdata ,temp 
+0x6cac 018136 setarg l2cap_hid_interrupt_channel 
+0x6cad 018137 copy pdata ,timeup 
+0x6cae 018138 branch ml2cap_send_signal_connect_req 
+:      018140 upper_sm_send_hid_int_cfg:
+0x6caf 018141 bpatchx patch2e_4 ,mem_patch2e 
+0x6cb0 018142 call l2cap_malloc_signal_channel 
+0x6cb1 018143 fetch 2 ,mem_hid_int_remote_cid 
+0x6cb2 018144 copy pdata ,temp 
+0x6cb3 018145 branch ml2cap_send_signal_config_req 
+:      018147 upper_sm_send_rfcomm_sabm:
+0x6cb4 018148 bpatchx patch2e_5 ,mem_patch2e 
+0x6cb5 018149 call l2cap_malloc_rfcomm_channel 
+0x6cb6 018151 jam 3 ,mem_current_adss 
+0x6cb7 018152 jam 0x1c ,mem_current_fcs 
+0x6cb8 018153 call rfcomm_send_sabm 
+0x6cb9 018154 jam 1 ,mem_rfcomm_initiator 
+0x6cba 018155 rtn 
+:      018157 upper_sm_send_spp_cmd_pn:
+0x6cbb 018158 bpatchx patch2e_6 ,mem_patch2e 
+0x6cbc 018159 call l2cap_malloc_rfcomm_channel 
+0x6cbd 018160 fetcht 1 ,mem_remote_spp_channel 
+0x6cbe 018161 call channel_to_dlci 
+0x6cbf 018162 storet 1 ,mem_pn_dlci 
+0x6cc0 018163 branch rfcomm_send_param_neg_cmd 
+:      018165 upper_sm_send_spp_sabm:
+0x6cc1 018166 bpatchx patch2e_7 ,mem_patch2e 
+0x6cc2 018167 call l2cap_malloc_rfcomm_channel 
+0x6cc3 018168 fetcht 1 ,mem_pn_dlci 
+0x6cc4 018169 call dlci_to_address_cmd 
+0x6cc5 018170 call rfcomm_calculate_fcs_sabm 
+0x6cc6 018171 store 1 ,mem_current_fcs 
+0x6cc7 018172 fetcht 1 ,mem_pn_dlci 
+0x6cc8 018173 call dlci_to_address_cmd 
+0x6cc9 018174 storet 1 ,mem_current_adss 
+0x6cca 018175 branch rfcomm_send_sabm 
+:      018177 upper_sm_send_spp_cmd_ms:
+0x6ccb 018178 bpatchx patch2f_0 ,mem_patch2f 
+0x6ccc 018179 call l2cap_malloc_rfcomm_channel 
+0x6ccd 018180 fetcht 1 ,mem_pn_dlci 
+0x6cce 018181 call dlci_to_address_cmd 
+0x6ccf 018182 branch rfcomm_send_modem_status_cmd 
+:      018195 sdp_process:
+0x6cd0 018196 bpatchx patch2f_1 ,mem_patch2f 
+0x6cd1 018197 fetch 2 ,mem_l2cap_payload_ptr 
+0x6cd2 018198 iforce contr 
+0x6cd3 018201 ifetch 1 ,contr 
+0x6cd4 018202 copy pdata ,regb 
+0x6cd5 018203 store 1 ,mem_sdp_pduid 
+0x6cd6 018204 ifetch 2 ,contr 
+0x6cd7 018205 store 2 ,mem_sdp_transactionid 
+0x6cd8 018206 ifetch 1 ,contr 
+0x6cd9 018207 lshift8 pdata ,timeup 
+0x6cda 018208 ifetch 1 ,contr 
+0x6cdb 018209 iadd timeup ,timeup 
+0x6cdc 018210 bpatchx patch2f_2 ,mem_patch2f 
+0x6cdd 018211 copy contr ,temp 
+0x6cde 018212 arg 4 ,loopcnt 
+0x6cdf 018213 arg mem_sdp_handle_list ,contw 
+0x6ce0 018214 call memset0 
+0x6ce1 018215 copy temp ,contr 
+0x6ce2 018216 deposit regb 
+0x6ce3 018217 beq sdp_error_res ,sdp_process_error_res 
+0x6ce4 018218 beq sdp_search_req ,sdp_process_ss_req 
+0x6ce5 018219 beq sdp_search_res ,sdp_process_ss_res 
+0x6ce6 018220 beq sdp_attribute_req ,sdp_process_sa_req 
+0x6ce7 018221 beq sdp_attribute_res ,sdp_process_sa_res 
+0x6ce8 018222 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+0x6ce9 018223 beq sdp_searchattrib_res ,sdp_process_ssa_res 
+0x6cea 018224 branch sdp_insufficient_resource 
+:      018235 sdp_process_ss_req:
+0x6ceb 018236 bpatchx patch2f_3 ,mem_patch2f 
+0x6cec 018237 call ask_serviceclassid 
+0x6ced 018238 compare 1 ,temp ,0xff 
+0x6cee 018239 branch ss_empty_rsp ,true 
+0x6cef 018240 compare 0xff ,temp ,0xff 
+0x6cf0 018241 branch sdp_invalid_request_syntax ,true 
+0x6cf1 018243 ifetch 2 ,contr 
+0x6cf2 018244 store 2 ,mem_sdp_record_maxcnt 
+0x6cf3 018245 increase -2 ,timeup 
+0x6cf4 018247 increase -1 ,timeup 
+0x6cf5 018248 nbranch sdp_invalid_pdu_size ,zero 
+0x6cf6 018249 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6cf7 018250 ifetch 2 ,timeup 
+0x6cf8 018251 rtn blank 
+0x6cf9 018252 call search_all_uuid 
+0x6cfa 018253 call l2cap_get_sdp_tx_payload 
+0x6cfb 018254 force 3 ,pdata 
+0x6cfc 018255 istore 1 ,contw 
+0x6cfd 018256 fetch 2 ,mem_sdp_transactionid 
+0x6cfe 018257 istore 2 ,contw 
+0x6cff 018258 lshift2 queue ,pdata 
+0x6d00 018259 add pdata ,5 ,pdata 
+0x6d01 018260 add pdata ,5 ,regc 
+0x6d02 018261 byteswap pdata ,pdata 
+0x6d03 018262 istore 2 ,contw 
+0x6d04 018263 deposit queue 
+0x6d05 018264 byteswap pdata ,pdata 
+0x6d06 018265 istore 2 ,contw 
+0x6d07 018266 istore 2 ,contw 
+0x6d08 018267 arg mem_sdp_handle_list ,contr 
+0x6d09 018268 copy queue ,loopcnt 
+0x6d0a 018269 branch ss_req_blank ,zero 
+:      018270 ss_req_loop:
+0x6d0b 018271 ifetch 4 ,contr 
+0x6d0c 018272 istore 4 ,contw 
+0x6d0d 018273 loop ss_req_loop 
+:      018274 ss_req_blank:
+0x6d0e 018275 force 0 ,pdata 
+0x6d0f 018276 istore 1 ,contw 
+0x6d10 018277 deposit regc 
+0x6d11 018278 store 2 ,mem_sdp_tx_pkt_length 
+0x6d12 018280 rtn 
+:      018291 sdp_process_sa_req:
+0x6d13 018292 bpatchx patch2f_4 ,mem_patch2f 
+0x6d14 018293 ifetch 4 ,contr 
+0x6d15 018294 store 4 ,mem_sdp_record_handle 
+0x6d16 018295 increase -4 ,timeup 
+0x6d17 018296 call sdp_store_maxbyte 
+0x6d18 018297 store 2 ,mem_sdp_attribute_maxbyte 
+0x6d19 018298 increase -2 ,timeup 
+0x6d1a 018299 call dataelementtype6 
+0x6d1b 018300 branch sdp_invalid_request_syntax ,zero 
+0x6d1c 018301 compare 5 ,rega ,0xff 
+0x6d1d 018303 branch sa_judge_wholerange ,true 
+:      018304 sa_isnot_wholerange:
+0x6d1e 018305 arg mem_sdp_attrib_list ,contw 
+0x6d1f 018306 force 0 ,queue 
+0x6d20 018307 branch sa_req_loop 
+:      018308 sa_judge_wholerange:
+0x6d21 018309 ifetch 1 ,contr 
+0x6d22 018310 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+0x6d23 018311 ifetch 2 ,contr 
+0x6d24 018312 nbranch sa_judge_wholerange_false1 ,blank 
+0x6d25 018313 ifetch 1 ,contr 
+0x6d26 018314 bne 0xff ,sa_judge_wholerange_false2 
+0x6d27 018315 ifetch 1 ,contr 
+0x6d28 018316 bne 0xff ,sa_judge_wholerange_false3 
+0x6d29 018317 branch sa_req_all 
+:      018318 sa_judge_wholerange_false3:
+0x6d2a 018319 increase -5 ,contr 
+0x6d2b 018320 branch sa_isnot_wholerange 
+:      018321 sa_judge_wholerange_false2:
+0x6d2c 018322 increase -4 ,contr 
+0x6d2d 018323 branch sa_isnot_wholerange 
+:      018324 sa_judge_wholerange_false1:
+0x6d2e 018325 increase -3 ,contr 
+0x6d2f 018326 branch sa_isnot_wholerange 
+:      018327 sa_req_loop:
+0x6d30 018328 ifetch 1 ,contr 
+0x6d31 018329 beq sdp_attribute_id ,sa_req_one_id 
+0x6d32 018330 beq sdp_attribute_range ,sa_req_range 
+:      018331 sa_req_range:
+0x6d33 018332 ifetch 2 ,contr 
+0x6d34 018333 istore 2 ,contw 
+0x6d35 018334 increase 1 ,queue 
+0x6d36 018335 byteswap pdata ,regb 
+0x6d37 018336 ifetch 2 ,contr 
+0x6d38 018337 byteswap pdata ,pdata 
+:      018338 sa_req_range_id_increase:
+0x6d39 018339 increase 1 ,regb 
+0x6d3a 018340 isub regb ,null 
+0x6d3b 018341 nbranch sa_req_range_id_finish ,positive 
+0x6d3c 018342 copy pdata ,regc 
+0x6d3d 018343 byteswap regb ,pdata 
+0x6d3e 018344 istore 2 ,contw 
+0x6d3f 018345 increase 1 ,queue 
+0x6d40 018346 copy regc ,pdata 
+0x6d41 018347 branch sa_req_range_id_increase 
+:      018348 sa_req_range_id_finish:
+0x6d42 018349 increase -5 ,timeup 
+0x6d43 018350 increase -5 ,rega 
+0x6d44 018351 branch sa_req_check_next_id 
+:      018352 sa_req_one_id:
+0x6d45 018353 ifetch 2 ,contr 
+0x6d46 018354 istore 2 ,contw 
+0x6d47 018355 increase 1 ,queue 
+0x6d48 018356 increase -3 ,timeup 
+0x6d49 018357 increase -3 ,rega 
+:      018358 sa_req_check_next_id:
+0x6d4a 018359 nbranch sdp_invalid_request_syntax ,positive 
+0x6d4b 018360 nbranch sa_req_loop ,zero 
+0x6d4c 018361 increase -1 ,timeup 
+0x6d4d 018362 nbranch sdp_invalid_request_syntax ,zero 
+0x6d4e 018364 call l2cap_get_sdp_tx_payload 
+0x6d4f 018365 increase 10 ,contw 
+0x6d50 018366 arg mem_sdp_attrib_list ,rega 
+:      018367 sa_req_handle_attributelist_next:
+0x6d51 018368 copy queue ,pdata 
+0x6d52 018369 branch sa_req_handle_attributelist_end ,blank 
+0x6d53 018370 ifetch 2 ,rega 
+0x6d54 018371 branch sa_req_handle_attributelist_end ,blank 
+0x6d55 018372 iforce regb 
+0x6d56 018373 fetch 4 ,mem_sdp_record_handle 
+0x6d57 018374 iforce temp 
+0x6d58 018375 call search_handle_attrib 
+0x6d59 018376 copy contr ,pdata 
+0x6d5a 018377 branch sa_req_handle_attributelist_notfound ,blank 
+0x6d5b 018378 increase -3 ,contr 
+0x6d5c 018379 ifetch 3 ,contr 
+0x6d5d 018380 istore 3 ,contw 
+0x6d5e 018381 call sdp_data_len 
+0x6d5f 018382 iforce loopcnt 
+0x6d60 018383 call memcpy 
+:      018384 sa_req_handle_attributelist_notfound:
+0x6d61 018385 increase 2 ,rega 
+0x6d62 018386 increase -1 ,queue 
+0x6d63 018387 branch sa_req_handle_attributelist_next 
+:      018389 sa_req_handle_attributelist_end:
+0x6d64 018390 arg sdp_attribute_res ,rega 
+0x6d65 018391 call ssa_req_range_lastfreg_common 
+0x6d66 018392 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6d67 018393 beq 11 ,sa_empty_rsp 
+0x6d68 018394 branch ssa_req_range_attrbutes_length_no_continue 
+:      018397 sdp_store_continue_common:
+0x6d69 018398 ifetch 1 ,contr 
+0x6d6a 018399 beq 0 ,sdp_store_continue_0byte 
+0x6d6b 018400 beq 1 ,sdp_store_continue_1byte 
+0x6d6c 018401 beq 2 ,sdp_store_continue_2byte 
+:      018402 sdp_store_continue_0byte:
+0x6d6d 018403 increase -1 ,timeup 
+0x6d6e 018404 branch sdp_store_continue_end 
+:      018405 sdp_store_continue_1byte:
+0x6d6f 018406 ifetch 1 ,contr 
+0x6d70 018407 increase -2 ,timeup 
+0x6d71 018408 branch sdp_store_continue_end 
+:      018409 sdp_store_continue_2byte:
+0x6d72 018410 ifetch 2 ,contr 
+0x6d73 018411 byteswap pdata ,pdata 
+0x6d74 018412 increase -3 ,timeup 
+:      018413 sdp_store_continue_end:
+0x6d75 018414 store 2 ,mem_sdp_continue_byte 
+0x6d76 018415 rtn 
+:      018417 sa_req_all:
+0x6d77 018418 increase -5 ,timeup 
+0x6d78 018419 call sdp_store_continue_common 
+0x6d79 018420 nbranch sdp_invalid_pdu_size ,zero 
+0x6d7a 018421 fetcht 4 ,mem_sdp_record_handle 
+0x6d7b 018422 call search_handle 
+0x6d7c 018423 nbranch sdp_invalid_service_record_handle ,zero 
+0x6d7d 018424 copy contr ,rega 
+0x6d7e 018425 call l2cap_get_sdp_tx_payload 
+0x6d7f 018426 copy rega ,contr 
+0x6d80 018427 increase 3 ,contw 
+0x6d81 018428 copy contr ,timeup 
+0x6d82 018429 call sdp_get_data 
+0x6d83 018430 copy pdata ,rega 
+0x6d84 018432 fetch 2 ,mem_sdp_continue_byte 
+0x6d85 018433 copy pdata ,regb 
+0x6d86 018434 copy rega ,pdata 
+0x6d87 018435 isub regb ,regb 
+0x6d88 018436 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6d89 018437 isub regb ,null 
+0x6d8a 018438 nbranch sa_req_all_fragment_sdp ,positive 
+0x6d8b 018440 disable user 
+0x6d8c 018441 fetch 2 ,mem_sdp_continue_byte 
+0x6d8d 018442 branch sa_req_all_fisrt_fragment ,blank 
+0x6d8e 018443 iadd timeup ,contr 
+0x6d8f 018444 increase 3 ,regb 
+0x6d90 018445 copy regb ,loopcnt 
+0x6d91 018446 copy loopcnt ,pdata 
+0x6d92 018447 increase 3 ,pdata 
+0x6d93 018448 byteswap pdata ,pdata 
+0x6d94 018449 istore 2 ,contw 
+0x6d95 018450 copy loopcnt ,pdata 
+0x6d96 018451 byteswap pdata ,pdata 
+0x6d97 018452 istore 2 ,contw 
+0x6d98 018453 branch sa_req_all_answer_attributelist_full_loop 
+:      018454 sa_req_all_fisrt_fragment:
+0x6d99 018455 add rega ,6 ,loopcnt 
+0x6d9a 018456 branch sa_req_all_parlength_continue_byte ,user 
+0x6d9b 018457 byteswap loopcnt ,pdata 
+0x6d9c 018458 branch sa_req_all_parlength_continue_byte_end 
+:      018459 sa_req_all_parlength_continue_byte:
+0x6d9d 018460 copy loopcnt ,pdata 
+0x6d9e 018461 increase 2 ,pdata 
+0x6d9f 018462 byteswap pdata ,pdata 
+:      018463 sa_req_all_parlength_continue_byte_end:
+0x6da0 018464 istore 2 ,contw 
+0x6da1 018465 increase -3 ,loopcnt 
+0x6da2 018466 byteswap loopcnt ,pdata 
+0x6da3 018467 istore 2 ,contw 
+0x6da4 018468 copy timeup ,contr 
+0x6da5 018469 branch sa_req_all_answer_attributelist_full_loop 
+:      018470 sa_req_all_fragment_sdp:
+0x6da6 018471 enable user 
+0x6da7 018473 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6da8 018474 copy pdata ,rega 
+0x6da9 018475 copy rega ,loopcnt 
+0x6daa 018476 fetch 2 ,mem_sdp_continue_byte 
+0x6dab 018477 branch sa_req_all_fisrt_fragment ,blank 
+0x6dac 018478 iadd timeup ,contr 
+0x6dad 018479 copy rega ,pdata 
+0x6dae 018480 increase 5 ,pdata 
+0x6daf 018481 byteswap pdata ,pdata 
+0x6db0 018482 istore 2 ,contw 
+0x6db1 018483 copy rega ,pdata 
+0x6db2 018484 byteswap pdata ,pdata 
+0x6db3 018485 istore 2 ,contw 
+:      018486 sa_req_all_answer_attributelist_full_loop:
+0x6db4 018487 call memcpy 
+0x6db5 018488 nbranch sa_req_all_last_frag_continue ,user 
+0x6db6 018489 force 2 ,pdata 
+0x6db7 018490 istore 1 ,contw 
+0x6db8 018491 copy contr ,pdata 
+0x6db9 018492 isub timeup ,pdata 
+0x6dba 018493 byteswap pdata ,pdata 
+0x6dbb 018494 istore 2 ,contw 
+0x6dbc 018495 branch sa_req_all_frag_end 
+:      018496 sa_req_all_last_frag_continue:
+0x6dbd 018497 force 0 ,pdata 
+0x6dbe 018498 istore 1 ,contw 
+:      018499 sa_req_all_frag_end:
+0x6dbf 018500 arg sdp_attribute_res ,rega 
+0x6dc0 018501 branch ssa_req_range_common 
+:      018512 sdp_process_ssa_req:
+0x6dc1 018513 bpatchx patch2f_5 ,mem_patch2f 
+0x6dc2 018514 call ask_serviceclassid 
+0x6dc3 018515 compare 0xff ,temp ,0xff 
+0x6dc4 018516 branch sdp_invalid_request_syntax ,true 
+0x6dc5 018517 call sdp_store_maxbyte 
+0x6dc6 018518 store 2 ,mem_sdp_attribute_maxbyte 
+0x6dc7 018519 increase -2 ,timeup 
+0x6dc8 018520 call dataelementtype6 
+0x6dc9 018521 arg mem_sdp_attrib_list ,contw 
+0x6dca 018522 force 0 ,queue 
+:      018523 ssa_req_loop:
+0x6dcb 018524 ifetch 1 ,contr 
+0x6dcc 018525 beq sdp_attribute_range ,ssa_req_range 
+0x6dcd 018526 ifetch 2 ,contr 
+0x6dce 018527 istore 2 ,contw 
+0x6dcf 018528 increase 1 ,queue 
+0x6dd0 018529 increase -3 ,timeup 
+0x6dd1 018530 increase -3 ,rega 
+0x6dd2 018531 nbranch sdp_invalid_request_syntax ,positive 
+0x6dd3 018532 nbranch ssa_req_loop ,zero 
+0x6dd4 018533 increase -1 ,timeup 
+0x6dd5 018534 nbranch sdp_invalid_request_syntax ,zero 
+0x6dd6 018535 call l2cap_get_sdp_tx_payload 
+0x6dd7 018536 increase 13 ,contw 
+0x6dd8 018537 fetch 2 ,mem_sdp_uuid_search_ptr 
+0x6dd9 018538 iforce regc 
+0x6dda 018539 arg mem_sdp_attrib_list ,rega 
+:      018540 ssa_req_attributelist_next:
+0x6ddb 018541 ifetch 2 ,rega 
+0x6ddc 018542 branch ssa_req_attributelist_end ,blank 
+0x6ddd 018543 iforce regb 
+0x6dde 018544 call search_attrib 
+0x6ddf 018545 branch ssa_req_attributelist_notfound ,blank 
+0x6de0 018546 increase -3 ,contr 
+0x6de1 018547 ifetch 3 ,contr 
+0x6de2 018548 istore 3 ,contw 
+0x6de3 018549 call sdp_data_len 
+0x6de4 018550 iforce loopcnt 
+0x6de5 018551 call memcpy 
+:      018552 ssa_req_attributelist_notfound:
+0x6de6 018553 increase 2 ,rega 
+0x6de7 018554 branch ssa_req_attributelist_next 
+:      018556 ssa_req_attributelist_end:
+0x6de8 018557 call ssa_req_range_lastfreg 
+0x6de9 018558 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6dea 018559 beq 14 ,ssa_empty_rsp 
+0x6deb 018560 call ssa_req_range_attrbutes_length_no_continue 
+0x6dec 018561 branch ssa_req_range_attrbutes_length_no_continue 
+:      018564 sdp_store_maxbyte:
+0x6ded 018565 ifetch 2 ,contr 
+0x6dee 018566 byteswap pdata ,pdata 
+0x6def 018567 increase -3 ,pdata 
+0x6df0 018568 arg 200 ,temp 
+0x6df1 018569 isub temp ,null 
+0x6df2 018570 nrtn positive 
+0x6df3 018571 setarg 200 
+0x6df4 018572 rtn 
+:      018575 ssa_req_range:
+0x6df5 018576 increase 4 ,contr 
+0x6df6 018577 increase -5 ,timeup 
+0x6df7 018578 increase -5 ,rega 
+0x6df8 018579 nbranch sdp_invalid_request_syntax ,zero 
+0x6df9 018580 call sdp_store_continue_common 
+0x6dfa 018581 nbranch sdp_invalid_pdu_size ,zero 
+0x6dfb 018582 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6dfc 018583 call search_all_uuid 
+0x6dfd 018584 deposit queue 
+0x6dfe 018585 branch ssa_empty_rsp ,blank 
+0x6dff 018586 store 1 ,mem_handle_humber 
+0x6e00 018588 copy regb ,pdata 
+0x6e01 018589 store 2 ,mem_sdp_all_length 
+0x6e02 018590 arg 0 ,queue 
+0x6e03 018591 arg 0 ,rega 
+0x6e04 018592 call l2cap_get_sdp_tx_payload 
+0x6e05 018593 increase 10 ,contw 
+:      018594 ssa_req_range_find_handle:
+0x6e06 018595 call ssa_req_range_get_length 
+0x6e07 018596 nbranch assert ,user 
+0x6e08 018597 copy contr ,timeup 
+0x6e09 018598 copy pdata ,regc 
+0x6e0a 018599 iadd rega ,rega 
+0x6e0b 018602 fetch 2 ,mem_sdp_continue_byte 
+0x6e0c 018603 copy pdata ,regb 
+0x6e0d 018604 branch ssa_req_range_first_freg ,blank 
+:      018605 ssa_req_range_later_freg_with_continue:
+0x6e0e 018606 copy rega ,pdata 
+0x6e0f 018607 isub regb ,regb 
+0x6e10 018608 branch ssa_req_range_next_handle ,zero 
+0x6e11 018609 nbranch ssa_req_range_next_handle ,positive 
+0x6e12 018610 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6e13 018611 isub regb ,null 
+0x6e14 018612 branch ssa_req_range_maxbyte_with_continue ,zero 
+0x6e15 018613 nbranch ssa_req_range_maxbyte_with_continue ,positive 
+:      018616 ssa_req_range_send_not_maxbyte:
+0x6e16 018617 copy regb ,loopcnt 
+0x6e17 018618 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6e18 018619 fetch 1 ,mem_handle_humber 
+0x6e19 018620 increase 1 ,queue 
+0x6e1a 018621 isub queue ,null 
+0x6e1b 018622 branch ssa_req_range_lastfreg ,zero 
+0x6e1c 018623 branch ssa_req_range_freg_with_continue 
+:      018625 ssa_req_range_maxbyte_with_continue:
+0x6e1d 018626 copy pdata ,loopcnt 
+0x6e1e 018627 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6e1f 018628 branch ssa_req_range_freg_with_continue 
+:      018630 ssa_req_range_maxbyte_with_continue_cpy:
+0x6e20 018631 increase -3 ,contw 
+0x6e21 018632 copy loopcnt ,temp 
+0x6e22 018633 copy regc ,pdata 
+0x6e23 018634 isub regb ,pdata 
+0x6e24 018635 iadd timeup ,contr 
+0x6e25 018636 branch memcpy 
+:      018638 ssa_req_range_next_handle:
+0x6e26 018639 fetch 1 ,mem_handle_humber 
+0x6e27 018640 increase 1 ,queue 
+0x6e28 018641 isub queue ,null 
+0x6e29 018642 rtn zero 
+0x6e2a 018643 branch ssa_req_range_find_handle 
+:      018645 ssa_req_range_get_length:
+0x6e2b 018646 call disable_user 
+0x6e2c 018647 arg mem_sdp_handle_list ,contr 
+0x6e2d 018648 lshift2 queue ,pdata 
+0x6e2e 018649 iadd contr ,contr 
+0x6e2f 018650 ifetcht 4 ,contr 
+0x6e30 018651 call search_handle 
+0x6e31 018652 nrtn zero 
+0x6e32 018653 call sdp_data_len 
+0x6e33 018654 branch enable_user 
+:      018656 ssa_req_range_first_freg:
+0x6e34 018657 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6e35 018658 isub rega ,null 
+0x6e36 018659 nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+0x6e37 018660 copy rega ,loopcnt 
+0x6e38 018661 copy loopcnt ,temp 
+0x6e39 018662 copy timeup ,contr 
+0x6e3a 018663 call memcpy 
+0x6e3b 018664 fetch 2 ,mem_sdp_all_length 
+0x6e3c 018665 isub rega ,null 
+0x6e3d 018666 branch ssa_req_range_freg_no_continue ,zero 
+:      018667 ssa_req_range_firstfreg_not_maxbyte_with_continue:
+0x6e3e 018668 call ssa_req_range_freg_with_continue 
+0x6e3f 018669 branch ssa_req_range_attrbutes_length 
+:      018671 ssa_req_range_freg_no_continue:
+0x6e40 018672 call ssa_req_range_lastfreg 
+0x6e41 018673 branch ssa_req_range_attrbutes_length 
+:      018675 ssa_req_range_lastfreg:
+0x6e42 018676 arg sdp_searchattrib_res ,rega 
+:      018677 ssa_req_range_lastfreg_common:
+0x6e43 018678 force 0 ,pdata 
+0x6e44 018679 istore 1 ,contw 
+0x6e45 018680 call ssa_req_range_common 
+0x6e46 018681 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6e47 018682 increase -5 ,temp 
+0x6e48 018683 byteswap temp ,pdata 
+0x6e49 018684 istore 2 ,contw 
+0x6e4a 018685 increase -3 ,temp 
+0x6e4b 018686 byteswap temp ,pdata 
+0x6e4c 018687 istore 2 ,contw 
+0x6e4d 018688 rtn 
+:      018690 ssa_req_range_firstfreg_maxbyte_with_continue:
+0x6e4e 018691 copy pdata ,loopcnt 
+0x6e4f 018692 copy loopcnt ,temp 
+0x6e50 018693 copy timeup ,contr 
+0x6e51 018694 call memcpy 
+0x6e52 018695 call ssa_req_range_freg_with_continue 
+:      018696 ssa_req_range_attrbutes_length:
+0x6e53 018697 setarg 0x36 
+0x6e54 018698 istore 1 ,contw 
+0x6e55 018699 fetch 2 ,mem_sdp_all_length 
+0x6e56 018700 byteswap pdata ,pdata 
+0x6e57 018701 istore 2 ,contw 
+0x6e58 018702 rtn 
+:      018704 ssa_req_range_attrbutes_length_no_continue:
+0x6e59 018705 setarg 0x36 
+0x6e5a 018706 istore 1 ,contw 
+0x6e5b 018707 increase -3 ,temp 
+0x6e5c 018708 byteswap temp ,pdata 
+0x6e5d 018709 istore 2 ,contw 
+0x6e5e 018710 rtn 
+:      018712 ssa_req_range_freg_with_continue:
+0x6e5f 018713 arg sdp_searchattrib_res ,rega 
+0x6e60 018714 setarg 2 
+0x6e61 018715 istore 1 ,contw 
+0x6e62 018716 fetch 2 ,mem_sdp_continue_byte 
+0x6e63 018717 iadd temp ,temp 
+0x6e64 018718 byteswap temp ,pdata 
+0x6e65 018719 istore 2 ,contw 
+0x6e66 018720 call ssa_req_range_common 
+0x6e67 018721 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6e68 018722 increase -5 ,temp 
+0x6e69 018723 byteswap temp ,pdata 
+0x6e6a 018724 istore 2 ,contw 
+0x6e6b 018725 increase -5 ,temp 
+0x6e6c 018726 byteswap temp ,pdata 
+0x6e6d 018727 istore 2 ,contw 
+0x6e6e 018728 rtn 
+:      018730 ssa_req_range_common:
+0x6e6f 018731 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x6e70 018732 isub contw ,pdata 
+0x6e71 018733 sub pdata ,0 ,pdata 
+0x6e72 018734 store 2 ,mem_sdp_tx_pkt_length 
+0x6e73 018735 call l2cap_get_sdp_tx_payload 
+0x6e74 018736 copy rega ,pdata 
+0x6e75 018737 istore 1 ,contw 
+0x6e76 018738 fetch 2 ,mem_sdp_transactionid 
+0x6e77 018739 istore 2 ,contw 
+0x6e78 018740 rtn 
+:      018753 sdp_process_ssa_res:
+:      018754 sdp_process_ss_res:
+:      018755 sdp_process_sa_res:
+:      018756 sdp_process_error_res:
+0x6e79 018757 rtn 
+:      018790 sdp_invalid_service_record_handle:
+0x6e7a 018791 setarg 0x0200 
+0x6e7b 018792 store 2 ,mem_sdp_error_code 
+0x6e7c 018793 branch sdp_error_response 
+:      018794 sdp_invalid_pdu_size:
+0x6e7d 018795 setarg 0x0400 
+0x6e7e 018796 store 2 ,mem_sdp_error_code 
+0x6e7f 018797 branch sdp_error_response 
+:      018798 sdp_insufficient_resource:
+0x6e80 018799 setarg 0x0600 
+0x6e81 018800 store 2 ,mem_sdp_error_code 
+0x6e82 018801 branch sdp_error_response 
+:      018802 sdp_invalid_request_syntax:
+0x6e83 018803 setarg 0x0300 
+0x6e84 018804 store 2 ,mem_sdp_error_code 
+:      018805 sdp_error_response:
+0x6e85 018806 call l2cap_get_sdp_tx_payload 
+0x6e86 018807 istore 1 ,contw 
+0x6e87 018808 fetch 2 ,mem_sdp_transactionid 
+0x6e88 018809 istore 2 ,contw 
+0x6e89 018810 setarg 0x0200 
+0x6e8a 018811 istore 2 ,contw 
+0x6e8b 018812 fetch 2 ,mem_sdp_error_code 
+0x6e8c 018813 istore 2 ,contw 
+0x6e8d 018814 jam 7 ,mem_sdp_tx_pkt_length 
+0x6e8e 018815 rtn 
+:      018820 ask_serviceclassid:
+0x6e8f 018821 arg 0 ,regb 
+0x6e90 018822 force 0 ,temp 
+0x6e91 018823 arg mem_sdp_uuid_search_ptr ,contw 
+0x6e92 018824 call dataelementtype6 
+0x6e93 018825 branch asksrv_error ,zero 
+:      018826 classidloop:
+0x6e94 018827 increase 1 ,regb 
+0x6e95 018828 ifetch 1 ,contr 
+0x6e96 018829 increase -1 ,rega 
+0x6e97 018830 increase -1 ,timeup 
+0x6e98 018831 compare 0x18 ,pdata ,0xf8 
+0x6e99 018832 nbranch asksrv_error ,true 
+0x6e9a 018833 compare 0x04 ,pdata ,0x07 
+0x6e9b 018834 nbranch cmp032 ,true 
+0x6e9c 018835 force 1 ,temp 
+:      018836 skip2bytes:
+0x6e9d 018837 ifetch 1 ,contr 
+0x6e9e 018838 increase -1 ,rega 
+0x6e9f 018839 increase -1 ,timeup 
+0x6ea0 018840 bne 0x00 ,frstbwrong 
+0x6ea1 018841 ifetch 1 ,contr 
+0x6ea2 018842 increase -1 ,rega 
+0x6ea3 018843 increase -1 ,timeup 
+0x6ea4 018844 beq 0x00 ,cmpuuid 
+0x6ea5 018845 branch scndbwrong 
+:      018846 frstbwrong:
+0x6ea6 018847 increase 1 ,contr 
+0x6ea7 018848 increase -1 ,rega 
+0x6ea8 018849 increase -1 ,timeup 
+:      018850 scndbwrong:
+0x6ea9 018851 increase 2 ,contr 
+0x6eaa 018852 increase -2 ,rega 
+0x6eab 018853 increase -2 ,timeup 
+0x6eac 018854 compare 0x00 ,temp ,0xff 
+0x6ead 018855 branch loopornot ,true 
+0x6eae 018856 increase 12 ,contr 
+0x6eaf 018857 increase -12 ,rega 
+0x6eb0 018858 increase -12 ,timeup 
+0x6eb1 018859 branch loopornot 
+:      018860 cmp032:
+0x6eb2 018861 compare 0x02 ,pdata ,0x07 
+0x6eb3 018862 nbranch cmp016 ,true 
+0x6eb4 018863 branch skip2bytes 
+:      018864 cmp016:
+0x6eb5 018865 compare 0x01 ,pdata ,0x07 
+0x6eb6 018866 nbranch asksrv_error ,true 
+:      018867 cmpuuid:
+0x6eb7 018868 increase -2 ,rega 
+0x6eb8 018869 increase -2 ,timeup 
+0x6eb9 018870 ifetch 2 ,contr 
+0x6eba 018871 sub regb ,4 ,null 
+0x6ebb 018872 branch uuidsize ,zero 
+0x6ebc 018873 istore 2 ,contw 
+:      018874 uuidsize:
+0x6ebd 018875 compare 0x00 ,temp ,0xff 
+0x6ebe 018876 branch loopornot ,true 
+0x6ebf 018877 copy contr ,temp 
+0x6ec0 018878 ifetch 1 ,contr 
+0x6ec1 018879 bne 0x00 ,wrong12b 
+0x6ec2 018880 ifetch 1 ,contr 
+0x6ec3 018881 bne 0x00 ,wrong12b 
+0x6ec4 018882 ifetch 1 ,contr 
+0x6ec5 018883 bne 0x10 ,wrong12b 
+0x6ec6 018884 ifetch 1 ,contr 
+0x6ec7 018885 bne 0x00 ,wrong12b 
+0x6ec8 018886 ifetch 1 ,contr 
+0x6ec9 018887 bne 0x80 ,wrong12b 
+0x6eca 018888 ifetch 1 ,contr 
+0x6ecb 018889 bne 0x00 ,wrong12b 
+0x6ecc 018890 ifetch 1 ,contr 
+0x6ecd 018891 bne 0x00 ,wrong12b 
+0x6ece 018892 ifetch 1 ,contr 
+0x6ecf 018893 bne 0x80 ,wrong12b 
+0x6ed0 018894 ifetch 1 ,contr 
+0x6ed1 018895 bne 0x5f ,wrong12b 
+0x6ed2 018896 ifetch 1 ,contr 
+0x6ed3 018897 bne 0x9b ,wrong12b 
+0x6ed4 018898 ifetch 1 ,contr 
+0x6ed5 018899 bne 0x34 ,wrong12b 
+0x6ed6 018900 ifetch 1 ,contr 
+0x6ed7 018901 beq 0xfb ,chck12dn 
+:      018902 wrong12b:
+0x6ed8 018903 copy temp ,contr 
+:      018904 wrong12b1:
+0x6ed9 018905 increase 12 ,contr 
+0x6eda 018906 force 0x00 ,queue 
+0x6edb 018907 force 0x00 ,temp 
+0x6edc 018908 branch chck12dn 
+:      018910 chck12dn:
+0x6edd 018911 increase -12 ,timeup 
+0x6ede 018912 increase -12 ,rega 
+:      018913 loopornot:
+0x6edf 018914 force 0x00 ,temp 
+0x6ee0 018915 compare 0x00 ,rega ,0xff 
+0x6ee1 018916 nbranch classidloop ,true 
+0x6ee2 018917 force 0 ,pdata 
+0x6ee3 018918 istore 2 ,contw 
+0x6ee4 018919 rtn 
+:      018920 asksrv_error:
+0x6ee5 018921 arg 0xff ,temp 
+0x6ee6 018922 rtn 
+:      018932 dataelementtype6:
+0x6ee7 018933 bpatchx patch30_0 ,mem_patch30 
+0x6ee8 018934 ifetch 1 ,contr 
+0x6ee9 018935 increase -1 ,timeup 
+0x6eea 018936 compare 0x30 ,pdata ,0xf8 
+0x6eeb 018937 nbranch dsize_error ,true 
+0x6eec 018938 compare 0x07 ,pdata ,0x07 
+0x6eed 018939 branch dsize32 ,true 
+0x6eee 018940 compare 0x06 ,pdata ,0x07 
+0x6eef 018941 branch dsize16 ,true 
+0x6ef0 018942 compare 0x05 ,pdata ,0x07 
+0x6ef1 018943 nbranch dsize_error ,true 
+0x6ef2 018945 ifetch 1 ,contr 
+0x6ef3 018946 copy pdata ,rega 
+0x6ef4 018947 increase -1 ,timeup 
+0x6ef5 018948 branch dsize 
+:      018949 dsize32:
+0x6ef6 018950 increase 2 ,contr 
+0x6ef7 018951 increase -2 ,timeup 
+:      018952 dsize16:
+0x6ef8 018953 ifetch 2 ,contr 
+0x6ef9 018954 byteswap pdata ,rega 
+0x6efa 018955 increase -2 ,timeup 
+:      018956 dsize:
+0x6efb 018957 force 0x01 ,pdata 
+0x6efc 018958 rtn 
+:      018959 dsize_error:
+0x6efd 018960 force 0x00 ,pdata 
+0x6efe 018961 rtn 
+:      018971 ss_empty_rsp:
+0x6eff 018972 setarg sdp_search_res 
+0x6f00 018973 store 1 ,mem_sdp_pduid 
+0x6f01 018974 branch empty_response 
+:      018975 sa_empty_rsp:
+0x6f02 018976 setarg sdp_attribute_res 
+0x6f03 018977 store 1 ,mem_sdp_pduid 
+0x6f04 018978 branch empty_response 
+:      018979 ssa_empty_rsp:
+0x6f05 018980 setarg sdp_searchattrib_res 
+0x6f06 018981 store 1 ,mem_sdp_pduid 
+:      018982 empty_response:
+0x6f07 018983 call l2cap_get_sdp_tx_payload 
+0x6f08 018986 fetch 1 ,mem_sdp_pduid 
+0x6f09 018987 copy pdata ,regb 
+0x6f0a 018988 istore 1 ,contw 
+0x6f0b 018989 fetch 2 ,mem_sdp_transactionid 
+0x6f0c 018990 istore 2 ,contw 
+0x6f0d 018991 setarg 0x0500 
+0x6f0e 018992 istore 2 ,contw 
+0x6f0f 018993 compare sdp_attribute_res ,regb ,0xff 
+0x6f10 018994 branch fullsearch ,true 
+0x6f11 018995 compare sdp_searchattrib_res ,regb ,0xff 
+0x6f12 018996 branch fullsearch ,true 
+0x6f13 018997 setarg 0x000000 
+0x6f14 018998 istore 5 ,contw 
+0x6f15 018999 branch outempty 
+:      019001 fullsearch:
+0x6f16 019002 setarg 0x350200 
+0x6f17 019003 istore 5 ,contw 
+:      019004 outempty:
+0x6f18 019005 jam 10 ,mem_sdp_tx_pkt_length 
+0x6f19 019006 rtn 
+:      019009 sdp_data_len:
+0x6f1a 019010 call store_contw 
+0x6f1b 019011 call store_contr 
+0x6f1c 019012 call sdp_get_data 
+0x6f1d 019013 call get_contw 
+0x6f1e 019014 call get_contr 
+0x6f1f 019015 copy temp ,pdata 
+0x6f20 019016 rtn 
+:      019019 sdp_get_data:
+0x6f21 019020 ifetch 1 ,contr 
+0x6f22 019021 and pdata ,0x7 ,loopcnt 
+0x6f23 019022 rshift3 pdata ,pdata 
+0x6f24 019023 bne 0 ,sdp_get_data_type_not0 
+:      019024 sdp_get_data_type0:
+0x6f25 019025 force 1 ,pdata 
+0x6f26 019026 force 1 ,temp 
+0x6f27 019027 rtn 
+:      019029 sdp_get_data_type_not0_sizeindex01234:
+0x6f28 019030 call left_shift_n 
+0x6f29 019031 add pdata ,1 ,temp 
+0x6f2a 019032 rtn 
+:      019033 sdp_get_data_type_not0:
+0x6f2b 019034 deposit loopcnt 
+0x6f2c 019035 sub pdata ,4 ,null 
+0x6f2d 019036 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+0x6f2e 019037 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+0x6f2f 019038 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+0x6f30 019039 beq 7 ,sdp_get_data_type_not0_sizeindex7 
+0x6f31 019040 rtn 
+:      019042 sdp_get_data_type_not0_sizeindex5:
+0x6f32 019043 ifetch 1 ,contr 
+0x6f33 019044 add pdata ,2 ,temp 
+0x6f34 019045 rtn 
+:      019046 sdp_get_data_type_not0_sizeindex6:
+0x6f35 019047 ifetch 2 ,contr 
+0x6f36 019048 byteswap pdata ,pdata 
+0x6f37 019049 add pdata ,3 ,temp 
+0x6f38 019050 rtn 
+:      019051 sdp_get_data_type_not0_sizeindex7:
+0x6f39 019052 ifetch 2 ,contr 
+0x6f3a 019053 byteswap pdata ,pdata 
+0x6f3b 019054 ifetcht 2 ,contr 
+0x6f3c 019055 byteswap temp ,temp 
+0x6f3d 019056 lshift16 temp ,temp 
+0x6f3e 019057 iadd temp ,pdata 
+0x6f3f 019058 add pdata ,5 ,temp 
+0x6f40 019059 rtn 
+:      019065 search_all_uuid:
+0x6f41 019066 bpatchx patch30_1 ,mem_patch30 
+0x6f42 019067 force 0 ,queue 
+0x6f43 019068 arg 0 ,regb 
+0x6f44 019069 arg mem_sdp_handle_list ,contw 
+:      019070 search_all_uuid_llop:
+0x6f45 019071 ifetch 2 ,timeup 
+0x6f46 019072 rtn blank 
+0x6f47 019073 call search_uuid 
+0x6f48 019074 copy queue ,pdata 
+0x6f49 019075 rtneq sdp_max_handle_number 
+0x6f4a 019076 increase 2 ,timeup 
+0x6f4b 019077 branch search_all_uuid_llop 
+:      019079 search_uuid:
+0x6f4c 019081 iforce regc 
+0x6f4d 019083 fetch 2 ,mem_ui_uuid_table 
+0x6f4e 019084 iforce contr 
+:      019085 search_uuid_next:
+0x6f4f 019086 copy queue ,pdata 
+0x6f50 019087 rtneq sdp_max_handle_number 
+0x6f51 019088 disable user 
+0x6f52 019089 ifetch 1 ,contr 
+0x6f53 019090 rtn blank 
+0x6f54 019091 iforce loopcnt 
+:      019092 search_uuid_loop:
+0x6f55 019093 ifetch 2 ,contr 
+0x6f56 019094 isub regc ,null 
+0x6f57 019095 nbranch search_uuid_not_found ,zero 
+0x6f58 019096 enable user 
+:      019097 search_uuid_not_found:
+0x6f59 019098 loop search_uuid_loop 
+0x6f5a 019099 ifetcht 4 ,contr 
+0x6f5b 019100 copy contr ,rega 
+0x6f5c 019101 nbranch search_uuid_nomatch ,user 
+0x6f5d 019102 arg mem_sdp_handle_list ,contr 
+0x6f5e 019103 arg sdp_max_handle_number ,loopcnt 
+:      019104 search_uuid_check_same_handle:
+0x6f5f 019105 ifetch 4 ,contr 
+0x6f60 019106 branch search_uuid_store_handle ,blank 
+0x6f61 019107 isub temp ,null 
+0x6f62 019108 branch search_uuid_nomatch ,zero 
+0x6f63 019109 loop search_uuid_check_same_handle 
+0x6f64 019110 rtn 
+:      019111 search_uuid_store_handle:
+0x6f65 019112 istoret 4 ,contw 
+0x6f66 019113 increase 1 ,queue 
+0x6f67 019114 copy rega ,contr 
+0x6f68 019115 call sdp_data_len 
+0x6f69 019116 iadd regb ,regb 
+0x6f6a 019117 iadd contr ,contr 
+0x6f6b 019118 branch search_uuid_next 
+:      019119 search_uuid_nomatch:
+0x6f6c 019120 copy rega ,contr 
+0x6f6d 019121 call sdp_get_data 
+0x6f6e 019122 iadd contr ,contr 
+0x6f6f 019123 branch search_uuid_next 
+:      019129 search_handle:
+0x6f70 019130 bpatchx patch30_2 ,mem_patch30 
+0x6f71 019131 fetch 2 ,mem_ui_uuid_table 
+0x6f72 019132 iforce contr 
+:      019133 search_handle_loop:
+0x6f73 019134 ifetch 1 ,contr 
+0x6f74 019135 branch disable_zero ,blank 
+0x6f75 019136 lshift pdata ,pdata 
+0x6f76 019137 iadd contr ,contr 
+0x6f77 019138 ifetch 4 ,contr 
+0x6f78 019139 isub temp ,null 
+0x6f79 019140 rtn zero 
+0x6f7a 019141 deposit contw 
+0x6f7b 019142 store 2 ,mem_contw 
+0x6f7c 019143 storet 8 ,mem_temp 
+0x6f7d 019144 call sdp_get_data 
+0x6f7e 019145 iadd contr ,contr 
+0x6f7f 019146 copy contr ,pdata 
+0x6f80 019147 fetcht 2 ,mem_contw 
+0x6f81 019148 copy temp ,contw 
+0x6f82 019149 fetcht 8 ,mem_temp 
+0x6f83 019150 copy pdata ,contr 
+0x6f84 019151 branch search_handle_loop 
+:      019157 search_attrib:
+0x6f85 019158 bpatchx patch30_3 ,mem_patch30 
+0x6f86 019159 fetch 2 ,mem_ui_uuid_table 
+0x6f87 019160 iforce contr 
+:      019161 search_attrib_next:
+0x6f88 019162 ifetch 1 ,contr 
+0x6f89 019163 branch search_attrib_end ,blank 
+0x6f8a 019164 iforce loopcnt 
+:      019165 search_attrib_loop:
+0x6f8b 019166 ifetch 2 ,contr 
+0x6f8c 019167 isub regc ,null 
+0x6f8d 019168 branch search_attrib_found_uuid ,zero 
+0x6f8e 019169 loop search_attrib_loop 
+0x6f8f 019170 increase 4 ,contr 
+0x6f90 019171 call sdp_get_data 
+0x6f91 019172 iadd contr ,contr 
+0x6f92 019173 branch search_attrib_next 
+:      019174 search_attrib_found_uuid:
+0x6f93 019175 increase -1 ,loopcnt 
+0x6f94 019176 lshift loopcnt ,pdata 
+0x6f95 019177 iadd contr ,contr 
+0x6f96 019178 increase 4 ,contr 
+0x6f97 019179 call sdp_get_data 
+0x6f98 019180 iadd contr ,timeup 
+:      019181 search_attrib_loop_attribs:
+0x6f99 019182 increase 1 ,contr 
+0x6f9a 019183 ifetch 2 ,contr 
+0x6f9b 019184 isub regb ,null 
+0x6f9c 019188 branch disable_blank ,zero 
+0x6f9d 019189 call sdp_data_len 
+0x6f9e 019190 iadd contr ,contr 
+0x6f9f 019191 deposit timeup 
+0x6fa0 019192 isub contr ,null 
+0x6fa1 019193 branch search_attrib_end ,zero 
+0x6fa2 019194 branch search_attrib_loop_attribs 
+:      019195 search_attrib_end:
+0x6fa3 019196 force 0 ,contr 
+0x6fa4 019197 force 0 ,pdata 
+0x6fa5 019198 rtn 
+:      019204 search_handle_attrib:
+0x6fa6 019205 bpatchx patch30_4 ,mem_patch30 
+0x6fa7 019206 fetch 2 ,mem_ui_uuid_table 
+0x6fa8 019207 iforce contr 
+:      019208 search_handle_attrib_next:
+0x6fa9 019209 ifetch 1 ,contr 
+0x6faa 019210 branch search_handle_attrib_end ,blank 
+0x6fab 019211 lshift pdata ,pdata 
+0x6fac 019212 iadd contr ,contr 
+0x6fad 019213 ifetch 4 ,contr 
+0x6fae 019214 isub temp ,null 
+0x6faf 019215 branch search_handl_attrib_found_handle ,zero 
+0x6fb0 019216 call sdp_get_data 
+0x6fb1 019217 iadd contr ,contr 
+0x6fb2 019218 branch search_handle_attrib_next 
+:      019219 search_handl_attrib_found_handle:
+0x6fb3 019220 call sdp_get_data 
+0x6fb4 019221 iadd contr ,timeup 
+:      019222 search_handle_attrib_loop_attribs:
+0x6fb5 019223 increase 1 ,contr 
+0x6fb6 019224 ifetch 2 ,contr 
+0x6fb7 019225 isub regb ,null 
+0x6fb8 019226 rtn zero 
+0x6fb9 019227 call sdp_data_len 
+0x6fba 019228 iadd contr ,contr 
+0x6fbb 019229 deposit timeup 
+0x6fbc 019230 isub contr ,null 
+0x6fbd 019231 branch search_handle_attrib_end ,zero 
+0x6fbe 019232 branch search_handle_attrib_loop_attribs 
+:      019233 search_handle_attrib_end:
+0x6fbf 019234 force 0 ,contr 
+0x6fc0 019235 rtn 
+:      019239 search_rfcomm_cn:
+0x6fc1 019240 arg 0x0400 ,regb 
+0x6fc2 019241 call search_handl_attrib_found_handle 
+0x6fc3 019242 arg 0x0300 ,regb 
+0x6fc4 019243 call search_uuid_in_data 
+0x6fc5 019244 nrtn user 
+0x6fc6 019245 sub rega ,3 ,null 
+0x6fc7 019246 branch disable_user ,positive 
+0x6fc8 019247 ifetch 1 ,contr 
+0x6fc9 019248 bne 0x08 ,disable_user 
+0x6fca 019249 ifetch 1 ,contr 
+0x6fcb 019250 rtn 
+:      019255 search_uuid_in_data:
+0x6fcc 019256 bpatchx patch30_5 ,mem_patch30 
+0x6fcd 019257 call sdp_get_data 
+0x6fce 019258 copy pdata ,rega 
+:      019259 search_uuid_in_data_loop:
+0x6fcf 019260 ifetch 1 ,contr 
+0x6fd0 019261 and pdata ,0x7 ,loopcnt 
+0x6fd1 019262 rshift3 pdata ,pdata 
+0x6fd2 019263 sub pdata ,3 ,null 
+0x6fd3 019264 branch search_uuid_in_data_found_uuid ,zero 
+0x6fd4 019265 copy loopcnt ,pdata 
+0x6fd5 019266 beq 5 ,search_uuid_in_data_found_element_index5 
+0x6fd6 019267 beq 6 ,search_uuid_in_data_found_element_index6 
+0x6fd7 019268 beq 7 ,search_uuid_in_data_found_element_index7 
+0x6fd8 019269 increase -1 ,contr 
+0x6fd9 019270 call sdp_get_data 
+0x6fda 019271 iadd contr ,contr 
+0x6fdb 019272 copy rega ,pdata 
+0x6fdc 019273 isub temp ,rega 
+0x6fdd 019274 branch disable_user ,zero 
+0x6fde 019275 branch search_uuid_in_data_loop 
+:      019277 search_uuid_in_data_found_element_index5:
+0x6fdf 019278 increase -2 ,rega 
+0x6fe0 019279 increase 1 ,contr 
+0x6fe1 019280 branch search_uuid_in_data_loop 
+:      019281 search_uuid_in_data_found_element_index6:
+0x6fe2 019282 increase -3 ,rega 
+0x6fe3 019283 increase 2 ,contr 
+0x6fe4 019284 branch search_uuid_in_data_loop 
+:      019285 search_uuid_in_data_found_element_index7:
+0x6fe5 019286 increase -5 ,rega 
+0x6fe6 019287 increase 4 ,contr 
+0x6fe7 019288 branch search_uuid_in_data_loop 
+:      019290 search_uuid_in_data_found_uuid:
+0x6fe8 019291 increase -1 ,rega 
+0x6fe9 019292 copy loopcnt ,pdata 
+0x6fea 019293 beq 1 ,search_uuid_in_data_type_uuid_16 
+0x6feb 019294 beq 2 ,search_uuid_in_data_type_uuid_32 
+0x6fec 019295 beq 4 ,search_uuid_in_data_type_uuid_128 
+0x6fed 019296 branch disable_user 
+:      019297 search_uuid_in_data_type_uuid_128:
+0x6fee 019298 increase -12 ,rega 
+:      019299 search_uuid_in_data_type_uuid_32:
+0x6fef 019300 ifetch 2 ,contr 
+0x6ff0 019301 increase -2 ,rega 
+:      019302 search_uuid_in_data_type_uuid_16:
+0x6ff1 019303 ifetch 2 ,contr 
+0x6ff2 019304 isub regb ,null 
+0x6ff3 019305 branch enable_user ,zero 
+0x6ff4 019306 increase -2 ,rega 
+0x6ff5 019307 branch disable_user ,zero 
+0x6ff6 019308 branch search_uuid_in_data_loop 
+:      019367 sdp_send_spp_request:
+0x6ff7 019368 call l2cap_get_sdp_tx_payload 
+0x6ff8 019369 copy pdata ,contw 
+0x6ff9 019370 setarg 6 
+0x6ffa 019371 istore 1 ,contw 
+0x6ffb 019372 setarg sdp_tid_spp 
+0x6ffc 019373 istore 2 ,contw 
+0x6ffd 019374 setarg 0x0f00 
+0x6ffe 019375 istore 2 ,contw 
+0x6fff 019376 setarg 0x1a0535 
+0x7000 019377 istore 3 ,contw 
+0x7001 019378 setarg 0x0111 
+0x7002 019379 lshift16 pdata ,pdata 
+0x7003 019380 istore 4 ,contw 
+0x7004 019381 setarg 0x2600 
+0x7005 019382 istore 2 ,contw 
+0x7006 019383 setarg 0x0335 
+0x7007 019384 istore 2 ,contw 
+0x7008 019385 setarg 0x0009 
+0x7009 019386 istore 2 ,contw 
+0x700a 019387 setarg 0x0004 
+0x700b 019388 istore 2 ,contw 
+0x700c 019389 jam 0x14 ,mem_sdp_tx_pkt_length 
+0x700d 019390 rtn 
+:      019394 function_g2:
+0x700e 019395 bpatchx patch30_6 ,mem_patch30 
+0x700f 019396 jam 80 ,mem_aes_cmac_data_length 
+0x7010 019397 arg memdat ,contw 
+0x7011 019398 arg mem_le_srand ,contr 
+0x7012 019399 call memcpy16 
+0x7013 019400 arg mem_le_pubkey_local_x_256 ,contr 
+0x7014 019401 call memcpy32 
+0x7015 019402 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7016 019403 call memcpy32 
+0x7017 019404 call inverse_memdat 
+0x7018 019405 arg mem_le_mrand ,contr 
+0x7019 019406 call store_inverse_k 
+0x701a 019407 call function_aes_cmac 
+0x701b 019409 arg mem_aes_cmac_temp ,contw 
+0x701c 019410 call load_inverse_result 
+0x701d 019411 setarg 1000000 
+0x701e 019412 copy pdata ,rega 
+0x701f 019413 fetch 4 ,mem_aes_cmac_temp 
+0x7020 019414 idiv rega 
+0x7021 019415 call wait_div_end 
+0x7022 019416 remainder pdata 
+0x7023 019417 store 4 ,mem_gkey 
+0x7024 019419 rtn 
+:      019421 function_f6_eb:
+0x7025 019422 jam 65 ,mem_aes_cmac_data_length 
+0x7026 019423 arg memdat ,contw 
+0x7027 019424 call store_addr_common_a 
+0x7028 019425 call store_addr_common_b 
+0x7029 019426 fetch 3 ,mem_le_pres + 1 
+0x702a 019427 istore 3 ,contw 
+0x702b 019430 call get_r 
+0x702c 019432 arg mem_le_mrand ,contr 
+0x702d 019433 call memcpy16 
+0x702e 019434 arg mem_le_srand ,contr 
+0x702f 019435 call memcpy16 
+0x7030 019436 call inverse_memdat 
+0x7031 019437 arg mem_le_mackey ,contr 
+0x7032 019438 arg mem_aes_cmac_k ,contw 
+0x7033 019439 call memcpy16 
+0x7034 019441 branch function_aes_cmac 
+:      019445 get_r:
+0x7035 019446 fetch 4 ,mem_le_tk 
+0x7036 019447 istore 4 ,contw 
+0x7037 019448 call memset0_4 
+0x7038 019449 branch memset0_8 
+:      019451 function_f6_ea:
+0x7039 019452 bpatchx patch30_7 ,mem_patch30 
+0x703a 019453 jam 65 ,mem_aes_cmac_data_length 
+0x703b 019454 arg memdat ,contw 
+0x703c 019455 call store_addr_common_b 
+0x703d 019456 call store_addr_common_a 
+0x703e 019457 fetch 3 ,mem_le_preq + 1 
+0x703f 019458 istore 3 ,contw 
+0x7040 019461 call get_r 
+0x7041 019462 arg mem_le_srand ,contr 
+0x7042 019463 call memcpy16 
+0x7043 019464 arg mem_le_mrand ,contr 
+0x7044 019465 call memcpy16 
+0x7045 019466 call inverse_memdat 
+0x7046 019467 arg mem_le_mackey ,contr 
+0x7047 019468 arg mem_aes_cmac_k ,contw 
+0x7048 019469 call memcpy16 
+0x7049 019471 call function_aes_cmac 
+0x704a 019472 arg mem_aes_cmac_temp ,contw 
+0x704b 019473 branch load_inverse_result 
+:      019475 function_f5:
+0x704c 019476 jam 32 ,mem_aes_cmac_data_length 
+0x704d 019477 arg mem_le_dhkey_256 ,contr 
+0x704e 019478 arg memdat ,contw 
+0x704f 019479 call memcpy32 
+0x7050 019480 call inverse_memdat 
+0x7051 019481 arg mem_le_slat ,contr 
+0x7052 019482 call store_inverse_k 
+0x7053 019483 call function_aes_cmac 
+0x7054 019484 arg mem_aes_cmac_k ,contw 
+0x7055 019485 call store_aes_result 
+0x7056 019486 arg 1 ,temp 
+0x7057 019487 call function_f5_common 
+0x7058 019488 arg mem_le_ltk ,contw 
+0x7059 019489 call load_inverse_result 
+0x705a 019490 arg 0 ,temp 
+0x705b 019491 call function_f5_common 
+0x705c 019492 arg mem_le_mackey ,contw 
+0x705d 019494 branch store_aes_result 
+:      019497 function_f5_common:
+0x705e 019498 bpatchx patch31_0 ,mem_patch31 
+0x705f 019499 jam 53 ,mem_aes_cmac_data_length 
+0x7060 019500 setarg 0x100 
+0x7061 019501 store 2 ,memdat 
+0x7062 019502 call store_addr_common_b 
+0x7063 019503 call store_addr_common_a 
+0x7064 019504 arg mem_le_srand ,contr 
+0x7065 019505 call memcpy16 
+0x7066 019506 arg mem_le_mrand ,contr 
+0x7067 019507 call memcpy16 
+0x7068 019509 setarg 0x6c65 
+0x7069 019510 istore 2 ,contw 
+0x706a 019511 setarg 0x6274 
+0x706b 019512 istore 2 ,contw 
+0x706c 019513 istoret 1 ,contw 
+0x706d 019514 call inverse_memdat 
+0x706e 019515 branch function_aes_cmac 
+:      019517 store_addr_common_b:
+0x706f 019518 fetch 6 ,mem_le_lap 
+0x7070 019519 istore 6 ,contw 
+0x7071 019520 fetch 1 ,mem_le_conn_own_addr_type 
+0x7072 019521 istore 1 ,contw 
+0x7073 019522 rtn 
+:      019524 store_addr_common_a:
+0x7074 019525 fetch 6 ,mem_le_plap 
+0x7075 019526 istore 6 ,contw 
+0x7076 019531 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7077 019532 istore 1 ,contw 
+0x7078 019533 rtn 
+:      019535 function_f4_ca:
+0x7079 019536 jam 65 ,mem_aes_cmac_data_length 
+0x707a 019537 fetch 1 ,mem_passkey_1bit 
+0x707b 019538 store 1 ,memdat 
+0x707c 019539 arg mem_le_pubkey_local_x_256 ,contr 
+0x707d 019540 call memcpy32 
+0x707e 019541 arg mem_le_pubkey_remote_x_256 ,contr 
+0x707f 019542 call memcpy32 
+0x7080 019543 call inverse_memdat 
+0x7081 019544 arg mem_le_mrand ,contr 
+0x7082 019545 call store_inverse_k 
+0x7083 019546 branch function_aes_cmac 
+:      019549 function_f4_cb:
+0x7084 019550 jam 65 ,mem_aes_cmac_data_length 
+0x7085 019551 fetch 1 ,mem_passkey_1bit 
+0x7086 019552 store 1 ,memdat 
+0x7087 019553 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7088 019554 call memcpy32 
+0x7089 019555 arg mem_le_pubkey_local_x_256 ,contr 
+0x708a 019556 call memcpy32 
+0x708b 019557 call inverse_memdat 
+0x708c 019558 arg mem_le_srand ,contr 
+0x708d 019559 call store_inverse_k 
+0x708e 019560 branch function_aes_cmac 
+:      019562 function_aes_cmac:
+0x708f 019563 bpatchx patch31_1 ,mem_patch31 
+0x7090 019564 call function_aes_cmac_generate_subkey 
+0x7091 019568 fetch 1 ,mem_aes_cmac_data_length 
+0x7092 019569 copy pdata ,temp 
+:      019570 function_ceil16:
+0x7093 019571 increase 15 ,pdata 
+0x7094 019572 rshift4 pdata ,pdata 
+0x7095 019573 copy pdata ,regb 
+0x7096 019574 branch function_aes_cmac_set_flag_0_balnk ,blank 
+0x7097 019575 and temp ,0x0f ,pdata 
+0x7098 019576 nbranch function_aes_cmac_set_flag_0 ,blank 
+0x7099 019578 arg mem_aes_cmac_k1 ,regc 
+0x709a 019579 arg memdat ,pdata 
+0x709b 019580 increase -16 ,pdata 
+0x709c 019583 iadd temp ,rega 
+0x709d 019584 arg mem_aes_cmac_m_last ,contw 
+0x709e 019585 arg 4 ,loopcnt 
+0x709f 019586 call xor_loop 
+0x70a0 019590 branch function_aes_cmac_aes 
+:      019592 function_aes_cmac_set_flag_0_balnk:
+0x70a1 019593 arg 1 ,regb 
+0x70a2 019594 arg 0 ,rega 
+0x70a3 019596 branch function_aes_cmac_set_flag_0_common 
+:      019599 function_aes_cmac_set_flag_0:
+0x70a4 019601 and temp ,0x0f ,rega 
+:      019602 function_aes_cmac_set_flag_0_common:
+0x70a5 019603 arg memdat ,pdata 
+0x70a6 019604 iadd temp ,pdata 
+0x70a7 019605 isub rega ,contr 
+0x70a8 019607 arg mem_aes_cmac_temp ,contw 
+0x70a9 019608 call function_aes_cmac_padding 
+0x70aa 019610 arg mem_aes_cmac_k2 ,regc 
+0x70ab 019611 arg mem_aes_cmac_temp ,rega 
+0x70ac 019612 arg mem_aes_cmac_m_last ,contw 
+0x70ad 019613 arg 4 ,loopcnt 
+0x70ae 019614 call xor_loop 
+:      019621 function_aes_cmac_aes:
+0x70af 019626 call aes_clear_data 
+0x70b0 019627 call aes_init 
+0x70b1 019630 arg memdat ,contr 
+:      019631 function_aes_cmac_aes_loop:
+0x70b2 019633 increase -1 ,regb 
+0x70b3 019634 deposit regb 
+0x70b4 019635 branch function_aes_cmac_aes_loop_end ,blank 
+0x70b5 019636 call load_data128 
+0x70b6 019637 call do_aes_cbc 
+0x70b7 019638 branch function_aes_cmac_aes_loop 
+:      019640 function_aes_cmac_aes_loop_end:
+0x70b8 019641 arg mem_aes_cmac_temp ,contw 
+0x70b9 019642 call store_aes_result 
+0x70ba 019643 arg mem_aes_cmac_m_last ,contr 
+0x70bb 019644 call load_data128 
+0x70bc 019645 call aes_init 
+0x70bd 019646 arg mem_aes_cmac_temp ,contr 
+0x70be 019647 call load_data128 
+0x70bf 019648 branch do_aes_cbc 
+:      019652 load_inverse_result:
+0x70c0 019654 copy contw ,rega 
+0x70c1 019655 call store_aes_result 
+0x70c2 019657 arg 16 ,loopcnt 
+0x70c3 019658 branch inverse_data 
+:      019660 store_inverse_k:
+0x70c4 019661 arg mem_aes_cmac_k ,contw 
+0x70c5 019662 call memcpy16 
+:      019663 inverse_k:
+0x70c6 019664 arg 16 ,loopcnt 
+0x70c7 019665 arg mem_aes_cmac_k ,rega 
+0x70c8 019666 branch inverse_data 
+:      019668 inverse_memdat:
+0x70c9 019669 fetch 1 ,mem_aes_cmac_data_length 
+0x70ca 019670 copy pdata ,loopcnt 
+0x70cb 019671 arg memdat ,rega 
+0x70cc 019672 branch inverse_data 
+:      019674 bn_lshift_0_inverse:
+0x70cd 019675 ifetch 1 ,rega 
+0x70ce 019676 lshift pdata ,pdata 
+0x70cf 019677 isolate1 0 ,regc 
+0x70d0 019678 setflag true ,0 ,pdata 
+0x70d1 019679 isolate1 8 ,pdata 
+0x70d2 019680 setflag true ,0 ,regc 
+0x70d3 019681 istore 1 ,rega 
+0x70d4 019682 increase -1 ,rega 
+0x70d5 019683 loop bn_lshift_0_inverse 
+0x70d6 019684 rtn 
+:      019686 function_aes_cmac_k1_inverse:
+0x70d7 019687 arg mem_aes_cmac_k1 ,rega 
+:      019688 function_aes_cmac_inverse_common:
+0x70d8 019689 increase 15 ,rega 
+0x70d9 019690 force 16 ,loopcnt 
+0x70da 019691 force 0 ,regc 
+0x70db 019692 branch bn_lshift_0_inverse 
+:      019694 function_aes_cmac_k2_inverse:
+0x70dc 019695 arg mem_aes_cmac_k2 ,rega 
+0x70dd 019696 branch function_aes_cmac_inverse_common 
+:      019699 function_aes_cmac_generate_subkey:
+0x70de 019700 arg mem_aes_cmac_k ,contr 
+0x70df 019701 call load_key128 
+0x70e0 019704 force regidx_xor ,regext_index 
+0x70e1 019705 call aes_clear 
+0x70e2 019706 call aes_clear_data 
+0x70e3 019708 call do_aes_ecb 
+0x70e4 019713 arg mem_aes_cmac_k1 ,contw 
+0x70e5 019714 call store_aes_result 
+:      019715 function_aes_cmac_k1:
+0x70e6 019716 bpatchx patch31_2 ,mem_patch31 
+0x70e7 019717 fetch 1 ,mem_aes_cmac_k1 
+0x70e8 019718 isolate1 7 ,pdata 
+0x70e9 019719 nbranch function_aes_cmac_k1_0 ,true 
+0x70ea 019720 call function_aes_cmac_k1_inverse 
+0x70eb 019723 arg mem_aes_cmac_k1 ,regc 
+0x70ec 019725 arg mem_aes_cmac_k1 ,contw 
+0x70ed 019728 call function_aes_cmac_xor_rb 
+0x70ee 019729 branch function_aes_cmac_k2 
+:      019730 function_aes_cmac_k1_0:
+0x70ef 019731 call function_aes_cmac_k1_inverse 
+:      019732 function_aes_cmac_k2:
+0x70f0 019734 arg mem_aes_cmac_k1 ,contr 
+0x70f1 019735 arg mem_aes_cmac_k2 ,contw 
+0x70f2 019736 call memcpy16 
+0x70f3 019737 fetch 1 ,mem_aes_cmac_k2 
+0x70f4 019738 isolate1 7 ,pdata 
+0x70f5 019739 nbranch function_aes_cmac_k2_inverse ,true 
+0x70f6 019740 call function_aes_cmac_k2_inverse 
+0x70f7 019742 arg mem_aes_cmac_k2 ,regc 
+0x70f8 019744 arg mem_aes_cmac_k2 ,contw 
+:      019750 function_aes_cmac_xor_rb:
+0x70f9 019751 arg 3 ,loopcnt 
+:      019752 function_aes_cmac_xor_rb_loop:
+0x70fa 019753 arg 0 ,temp 
+0x70fb 019754 call function_aes_cmac_xor_loop_common 
+0x70fc 019755 increase 4 ,regc 
+0x70fd 019756 loop function_aes_cmac_xor_rb_loop 
+0x70fe 019757 arg 0x8700 ,temp 
+0x70ff 019758 lshift16 temp ,temp 
+:      019759 function_aes_cmac_xor_loop_common:
+0x7100 019760 ifetch 4 ,regc 
+0x7101 019761 ixor temp ,pdata 
+0x7102 019762 istore 4 ,contw 
+0x7103 019763 rtn 
+:      019769 function_aes_cmac_padding:
+0x7104 019770 bpatchx patch31_3 ,mem_patch31 
+0x7105 019771 arg 16 ,loopcnt 
+0x7106 019772 arg 0 ,pdata 
+:      019773 function_aes_cmac_padding_loop:
+0x7107 019774 isub rega ,null 
+0x7108 019775 branch function_aes_cmac_padding_beq_length ,zero 
+0x7109 019776 branch function_aes_cmac_padding_big_length ,positive 
+0x710a 019777 ifetcht 1 ,contr 
+0x710b 019778 istoret 1 ,contw 
+:      019779 function_aes_cmac_padding_loop2:
+0x710c 019780 increase 1 ,pdata 
+0x710d 019781 loop function_aes_cmac_padding_loop 
+0x710e 019782 rtn 
+:      019783 function_aes_cmac_padding_beq_length:
+0x710f 019784 arg 0x80 ,temp 
+:      019785 function_aes_cmac_padding_common:
+0x7110 019786 istoret 1 ,contw 
+0x7111 019787 branch function_aes_cmac_padding_loop2 
+:      019789 function_aes_cmac_padding_big_length:
+0x7112 019790 arg 0 ,temp 
+0x7113 019791 branch function_aes_cmac_padding_common 
+:      019794 generate_kinit:
+0x7114 019795 call function_e22 
+0x7115 019796 arg mem_input_store ,contr 
+0x7116 019797 arg mem_kinit ,contw 
+0x7117 019798 branch memcpy16 
+:      019801 function_e21:
+0x7118 019802 disable user 
+0x7119 019803 call function_expand 
+0x711a 019804 arg mem_random_number ,contr 
+0x711b 019805 arg mem_x ,contw 
+0x711c 019806 force 15 ,loopcnt 
+0x711d 019807 call memcpy 
+0x711e 019808 ifetch 1 ,contr 
+0x711f 019809 xor_into 6 ,pdata 
+0x7120 019810 istore 1 ,contw 
+0x7121 019811 setarg mem_y 
+0x7122 019812 store 2 ,memp_ar_input 
+0x7123 019813 setarg mem_x 
+0x7124 019814 store 2 ,memp_ar_key 
+0x7125 019815 set1 mark_ar2 ,mark 
+0x7126 019816 branch function_ar 
+:      019820 function_e22:
+0x7127 019821 fetcht 1 ,mem_pin_length 
+0x7128 019822 force 16 ,regb 
+0x7129 019823 add temp ,6 ,regc 
+0x712a 019824 sub regc ,16 ,null 
+0x712b 019825 branch function_e22_pin_init ,positive 
+0x712c 019826 force 16 ,regc 
+:      019827 function_e22_pin_init:
+0x712d 019828 arg mem_x ,contw 
+:      019829 function_e22_genx_pin:
+0x712e 019830 arg mem_pin ,contr 
+0x712f 019831 copy temp ,loopcnt 
+0x7130 019832 disable user 
+:      019833 function_e22_genx_loop:
+0x7131 019834 ifetch 1 ,contr 
+0x7132 019835 istore 1 ,contw 
+0x7133 019836 increase -1 ,regb 
+0x7134 019837 branch function_e22_genx_end ,zero 
+0x7135 019838 loop function_e22_genx_loop 
+0x7136 019839 branch function_e22_genx_pin ,user 
+0x7137 019840 enable user 
+0x7138 019841 force 6 ,loopcnt 
+0x7139 019842 copy rega ,contr 
+0x713a 019843 branch function_e22_genx_loop 
+:      019844 function_e22_genx_end:
+0x713b 019845 arg mem_random_number ,contr 
+0x713c 019846 arg mem_y ,contw 
+0x713d 019847 call memcpy16 
+0x713e 019848 fetch 1 ,mem_y15 
+0x713f 019849 ixor regc ,pdata 
+0x7140 019850 store 1 ,mem_y15 
+0x7141 019851 setarg mem_y 
+0x7142 019852 store 2 ,memp_ar_input 
+0x7143 019853 setarg mem_x 
+0x7144 019854 store 2 ,memp_ar_key 
+0x7145 019855 set1 mark_ar2 ,mark 
+0x7146 019856 branch function_ar 
+:      019861 function_e1:
+0x7147 019862 disable user 
+0x7148 019863 call function_expand 
+0x7149 019864 branch function_hash 
+:      019866 function_e3:
+0x714a 019867 arg mem_aco ,rega 
+0x714b 019868 enable user 
+0x714c 019869 call function_expand 
+0x714d 019870 call function_hash 
+0x714e 019871 arg mem_input_store ,contr 
+0x714f 019872 arg mem_kc ,contw 
+0x7150 019873 branch memcpy16 
+:      019876 function_hash:
+0x7151 019877 setarg mem_random_number 
+0x7152 019878 store 2 ,memp_ar_input 
+0x7153 019879 setarg mem_link_key 
+0x7154 019880 store 2 ,memp_ar_key 
+0x7155 019881 set0 mark_ar2 ,mark 
+0x7156 019882 call function_ar 
+0x7157 019883 arg mem_input_store ,rega 
+0x7158 019884 arg mem_random_number ,regb 
+0x7159 019885 arg mem_x ,contw 
+0x715a 019886 call xor16 
+0x715b 019887 arg mem_x ,rega 
+0x715c 019888 arg mem_y ,regb 
+0x715d 019889 copy regb ,contw 
+0x715e 019890 enable user 
+0x715f 019891 call add16 
+0x7160 019892 call key_offset 
+0x7161 019893 setarg mem_y 
+0x7162 019894 store 2 ,memp_ar_input 
+0x7163 019895 setarg mem_x 
+0x7164 019896 store 2 ,memp_ar_key 
+0x7165 019897 set1 mark_ar2 ,mark 
+0x7166 019898 branch function_ar 
+:      019902 function_ar:
+0x7167 019903 jam 0 ,mem_ar_hround 
+0x7168 019904 fetch 2 ,memp_ar_key 
+0x7169 019905 iforce contr 
+0x716a 019906 arg mem_key_store ,contw 
+0x716b 019907 call memcpy16 
+0x716c 019908 fetch 2 ,memp_ar_input 
+0x716d 019909 iforce contr 
+0x716e 019910 arg mem_input_store ,contw 
+0x716f 019911 call memcpy16 
+:      019913 function_ar_loop:
+0x7170 019914 call key_scheduling 
+0x7171 019915 disable user 
+0x7172 019916 bmark0 mark_ar2 ,function_ar_original 
+0x7173 019917 fetch 1 ,mem_ar_hround 
+0x7174 019918 bne 4 ,function_ar_original 
+0x7175 019919 fetchr regb ,2 ,memp_ar_input 
+0x7176 019920 call xor_mod32_ar2 
+:      019921 function_ar_original:
+0x7177 019922 call xor_mod32 
+0x7178 019923 call el_boxes 
+0x7179 019924 fetch 1 ,mem_ar_hround 
+0x717a 019925 increase 1 ,pdata 
+0x717b 019926 store 1 ,mem_ar_hround 
+0x717c 019928 call key_scheduling 
+0x717d 019929 enable user 
+0x717e 019930 call xor_mod32 
+0x717f 019931 call pht 
+0x7180 019932 call permute 
+0x7181 019933 call pht 
+0x7182 019934 call permute 
+0x7183 019935 call pht 
+0x7184 019936 call permute 
+0x7185 019937 call pht 
+0x7186 019938 fetch 1 ,mem_ar_hround 
+0x7187 019939 increase 1 ,pdata 
+0x7188 019940 store 1 ,mem_ar_hround 
+0x7189 019941 bne 16 ,function_ar_loop 
+0x718a 019942 call key_scheduling 
+0x718b 019943 disable user 
+0x718c 019944 branch xor_mod32 
+:      019948 key_scheduling:
+0x718d 019949 fetch 1 ,mem_ar_hround 
+0x718e 019950 arg mem_key_store ,contr 
+0x718f 019951 branch key_sched_zero ,blank 
+0x7190 019952 iforce regb 
+0x7191 019953 force 17 ,loopcnt 
+0x7192 019954 copy contr ,contw 
+:      019955 key_rotateloop:
+0x7193 019956 ifetch 1 ,contr 
+0x7194 019957 lshift3 pdata ,temp 
+0x7195 019958 rshift2 pdata ,pdata 
+0x7196 019959 rshift3 pdata ,pdata 
+0x7197 019960 ior temp ,pdata 
+0x7198 019961 istore 1 ,contw 
+0x7199 019962 loop key_rotateloop 
+0x719a 019963 setarg mem_key_store 
+0x719b 019964 iadd regb ,contr 
+0x719c 019965 force 16 ,loopcnt 
+0x719d 019966 arg mem_round_key ,contw 
+:      019967 key_select_octet_loop:
+0x719e 019968 ifetch 1 ,contr 
+0x719f 019969 istore 1 ,contw 
+0x71a0 019970 compare mem_key_store_end ,contr ,0xff 
+0x71a1 019971 nbranch key_select_octet_nwrap ,true 
+0x71a2 019972 increase -17 ,contr 
+:      019973 key_select_octet_nwrap:
+0x71a3 019974 loop key_select_octet_loop 
+0x71a4 019975 force 0 ,rega 
+0x71a5 019976 add regb ,-1 ,regc 
+0x71a6 019977 lshift2 regc ,regc 
+0x71a7 019978 lshift2 regc ,regc 
+0x71a8 019979 call enable_authrom 
+0x71a9 019980 setarg mem_b_box 
+0x71aa 019981 iadd regc ,regc 
+0x71ab 019982 arg mem_round_key ,contw 
+0x71ac 019983 force 16 ,loopcnt 
+:      019984 bias_round_key_loop:
+0x71ad 019985 ifetcht 1 ,regc 
+0x71ae 019986 ifetch 1 ,contw 
+0x71af 019987 iadd temp ,pdata 
+0x71b0 019988 istore 1 ,contw 
+0x71b1 019989 increase 1 ,regc 
+0x71b2 019990 loop bias_round_key_loop 
+0x71b3 019991 branch disable_authrom 
+:      019993 key_sched_zero:
+0x71b4 019994 force 16 ,loopcnt 
+0x71b5 019995 force 0 ,temp 
+:      019996 create_byte_16_loop:
+0x71b6 019997 ifetch 1 ,contr 
+0x71b7 019998 ixor temp ,temp 
+0x71b8 019999 loop create_byte_16_loop 
+0x71b9 020000 deposit temp 
+0x71ba 020001 istore 1 ,contr 
+0x71bb 020002 arg mem_key_store ,contr 
+0x71bc 020003 arg mem_round_key ,contw 
+0x71bd 020004 branch memcpy16 
+:      020006 xor_mod32:
+0x71be 020007 arg mem_round_key ,regb 
+:      020008 xor_mod32_ar2:
+0x71bf 020009 force 16 ,loopcnt 
+0x71c0 020010 arg mem_input_store ,rega 
+0x71c1 020011 copy rega ,contw 
+:      020012 xor_mod32_loop:
+0x71c2 020013 ifetcht 1 ,rega 
+0x71c3 020014 ifetch 1 ,regb 
+0x71c4 020015 ixor temp ,alarm 
+0x71c5 020016 and loopcnt ,3 ,regc 
+0x71c6 020017 nbranch xor_mod32_invert ,user 
+0x71c7 020018 xor_into 3 ,regc 
+:      020019 xor_mod32_invert:
+0x71c8 020020 sub regc ,1 ,regc 
+0x71c9 020021 branch xor_even ,positive 
+0x71ca 020022 iadd temp ,alarm 
+:      020023 xor_even:
+0x71cb 020024 istorer alarm ,1 ,contw 
+0x71cc 020025 increase 1 ,rega 
+0x71cd 020026 increase 1 ,regb 
+0x71ce 020027 loop xor_mod32_loop 
+0x71cf 020028 rtn 
+:      020030 el_boxes:
+0x71d0 020031 call enable_authrom 
+0x71d1 020032 force 16 ,loopcnt 
+0x71d2 020033 arg mem_input_store ,rega 
+:      020034 el_box_loop:
+0x71d3 020035 ifetch 1 ,rega 
+0x71d4 020036 arg mem_e_box ,contr 
+0x71d5 020037 and loopcnt ,3 ,regc 
+0x71d6 020038 sub regc ,1 ,null 
+0x71d7 020039 branch e_boxes ,positive 
+0x71d8 020040 arg mem_l_box ,contr 
+:      020041 e_boxes:
+0x71d9 020042 iadd contr ,contr 
+0x71da 020043 ifetch 1 ,contr 
+0x71db 020044 istore 1 ,rega 
+0x71dc 020045 increase 1 ,rega 
+0x71dd 020046 loop el_box_loop 
+0x71de 020047 branch disable_authrom 
+:      020049 pht:
+0x71df 020050 force 8 ,loopcnt 
+0x71e0 020051 arg mem_input_store ,contr 
+0x71e1 020052 copy contr ,contw 
+:      020053 pht_loop:
+0x71e2 020054 ifetchr rega ,1 ,contr 
+0x71e3 020055 ifetchr regb ,1 ,contr 
+0x71e4 020056 lshift rega ,pdata 
+0x71e5 020057 iadd regb ,pdata 
+0x71e6 020058 istore 1 ,contw 
+0x71e7 020059 deposit rega 
+0x71e8 020060 iadd regb ,pdata 
+0x71e9 020061 istore 1 ,contw 
+0x71ea 020062 loop pht_loop 
+0x71eb 020063 rtn 
+:      020066 permute:
+0x71ec 020067 setarg 0x8ae42c 
+0x71ed 020068 iforce temp 
+0x71ee 020069 force 7 ,loopcnt 
+0x71ef 020070 call permute_exchange 
+0x71f0 020071 setarg 0xd751b 
+0x71f1 020072 iforce temp 
+0x71f2 020073 force 5 ,loopcnt 
+0x71f3 020074 call permute_exchange 
+0x71f4 020075 fetchr rega ,1 ,mem_input_store + 15 
+0x71f5 020076 fetch 1 ,mem_input_store + 3 
+0x71f6 020077 store 1 ,mem_input_store + 15 
+0x71f7 020078 storer rega ,1 ,mem_input_store + 3 
+0x71f8 020079 rtn 
+:      020081 permute_exchange:
+0x71f9 020082 and temp ,0xf ,regb 
+:      020083 permute_loop:
+0x71fa 020084 and temp ,0xf ,pdata 
+0x71fb 020085 arg mem_input_store ,contw 
+0x71fc 020086 iadd contw ,contw 
+0x71fd 020087 ifetchr regc ,1 ,contw 
+0x71fe 020088 istorer rega ,1 ,contw 
+0x71ff 020089 copy regc ,rega 
+0x7200 020090 rshift4 temp ,temp 
+0x7201 020091 loop permute_loop 
+0x7202 020092 setarg mem_input_store 
+0x7203 020093 iadd regb ,contw 
+0x7204 020094 istorer rega ,1 ,contw 
+0x7205 020095 rtn 
+:      020097 add16:
+0x7206 020098 enable user 
+0x7207 020099 branch xor_add16 
+:      020101 xor16:
+0x7208 020102 disable user 
+:      020103 xor_add16:
+0x7209 020104 force 16 ,loopcnt 
+:      020105 xoradd_loop:
+0x720a 020106 ifetcht 1 ,rega 
+0x720b 020107 ifetch 1 ,regb 
+0x720c 020108 branch xoradd_add ,user 
+0x720d 020109 ixor temp ,pdata 
+0x720e 020110 branch xoradd_store 
+:      020111 xoradd_add:
+0x720f 020112 iadd temp ,pdata 
+:      020113 xoradd_store:
+0x7210 020114 istore 1 ,contw 
+0x7211 020115 increase 1 ,rega 
+0x7212 020116 increase 1 ,regb 
+0x7213 020117 loop xoradd_loop 
+0x7214 020118 rtn 
+:      020121 function_expand:
+0x7215 020122 arg mem_y ,contw 
+0x7216 020123 ifetch 6 ,rega 
+0x7217 020124 istore 6 ,contw 
+0x7218 020125 branch expand_12 ,user 
+0x7219 020126 ifetch 6 ,rega 
+0x721a 020127 branch expand_cont 
+:      020128 expand_12:
+0x721b 020129 ifetch 6 ,contr 
+:      020130 expand_cont:
+0x721c 020131 istore 6 ,contw 
+0x721d 020132 ifetch 4 ,rega 
+0x721e 020133 istore 4 ,contw 
+0x721f 020134 rtn 
+:      020136 key_offset:
+0x7220 020137 arg mem_link_key ,contr 
+0x7221 020138 arg mem_x ,contw 
+0x7222 020139 arg 0 ,temp 
+0x7223 020140 setarg 0x8395a7 
+0x7224 020141 call concatenate_temp24 
+0x7225 020142 setarg 0xb3c1df 
+0x7226 020143 call concatenate_temp24 
+0x7227 020144 setarg 0xe5e9 
+0x7228 020145 call concatenate_temp16 
+0x7229 020146 copy temp ,regab 
+0x722a 020147 disable user 
+0x722b 020148 call key_addxor 
+0x722c 020149 copy regab ,temp 
+0x722d 020150 enable user 
+0x722e 020151 branch key_addxor 
+:      020153 key_addxor:
+0x722f 020154 force 8 ,loopcnt 
+:      020155 key_addxor_loop:
+0x7230 020156 ifetch 1 ,contr 
+0x7231 020157 compare 1 ,loopcnt ,1 
+0x7232 020158 branch key_high ,user 
+0x7233 020159 branch key_xor ,true 
+:      020160 key_add:
+0x7234 020161 iadd temp ,pdata 
+0x7235 020162 branch key_store 
+:      020163 key_high:
+0x7236 020164 branch key_add ,true 
+:      020165 key_xor:
+0x7237 020166 ixor temp ,pdata 
+:      020167 key_store:
+0x7238 020168 istore 1 ,contw 
+0x7239 020169 rshift8 temp ,temp 
+0x723a 020170 loop key_addxor_loop 
+0x723b 020171 rtn 
+:      020173 copy_aco:
+0x723c 020174 fetch 6 ,mem_input_store + 4 
+0x723d 020175 store 6 ,mem_aco 
+0x723e 020176 ifetch 6 ,contr 
+0x723f 020177 istore 6 ,contw 
+0x7240 020178 rtn 
+:      020180 concatenate_temp24:
+0x7241 020181 lshift8 temp ,temp 
+:      020182 concatenate_temp16:
+0x7242 020183 lshift16 temp ,temp 
+0x7243 020184 ior temp ,temp 
+0x7244 020185 rtn 
+:      020189 loop1:
+0x7245 020190 branch loop1 
+:      020194 generate_stk:
+0x7246 020195 bpatchx patch31_4 ,mem_patch31 
+0x7247 020196 call function_s1 
+0x7248 020197 arg mem_le_ltk ,contw 
+0x7249 020198 branch store_aes_result 
+:      020201 authenticate_rconfirm:
+0x724a 020202 arg mem_le_srand ,contw 
+0x724b 020203 branch authenticate_mconfirm ,master 
+0x724c 020204 arg mem_le_mrand ,contw 
+:      020205 authenticate_mconfirm:
+0x724d 020206 copy contr ,rega 
+0x724e 020207 call memcpy16 
+0x724f 020208 call function_c1 
+0x7250 020209 arg mem_le_rconfirm ,contr 
+0x7251 020210 branch compare_res 
+:      020212 generate_confirm:
+0x7252 020213 arg mem_le_mrand ,rega 
+0x7253 020214 branch generate_mrand ,master 
+0x7254 020215 arg mem_le_srand ,rega 
+:      020216 generate_mrand:
+0x7255 020217 copy rega ,contw 
+0x7256 020218 call generate_random 
+0x7257 020219 branch function_c1 
+:      020221 generate_sk:
+0x7258 020222 arg mem_le_skdm ,contr 
+0x7259 020223 call load_data128 
+0x725a 020224 arg mem_le_ltk ,contr 
+0x725b 020225 call load_key128 
+0x725c 020226 force aes_big_endian | aes_load ,aes_ctrl 
+0x725d 020227 force 0 ,aes_ctrl 
+0x725e 020228 call wait_aes 
+0x725f 020229 arg mem_le_sk ,contw 
+0x7260 020230 branch store_aes_result 
+:      020233 first_block_counter:
+0x7261 020234 force 0x49 ,pdata 
+0x7262 020235 branch first_block 
+:      020236 first_block_data:
+0x7263 020237 force 1 ,pdata 
+:      020238 first_block:
+0x7264 020239 force regidx_data ,regext_index 
+0x7265 020240 lshift8 temp ,regext 
+0x7266 020241 ior regext ,regext 
+0x7267 020242 increase 1 ,regext_index 
+0x7268 020243 rshift8 temp ,regext 
+0x7269 020244 rshift16 regext ,regext 
+0x726a 020245 fetch 2 ,mem_le_ivm 
+0x726b 020246 lshift16 pdata ,pdata 
+0x726c 020247 ior regext ,regext 
+0x726d 020248 increase 1 ,regext_index 
+0x726e 020249 ifetch 4 ,contr 
+0x726f 020250 iforce regext 
+0x7270 020251 increase 1 ,regext_index 
+0x7271 020252 ifetch 2 ,contr 
+0x7272 020253 byteswap rega ,regext 
+0x7273 020254 lshift16 regext ,regext 
+0x7274 020255 ior regext ,regext 
+0x7275 020256 increase 1 ,regext_index 
+0x7276 020257 rtn 
+:      020261 generate_mic:
+0x7277 020262 add regc ,1 ,contr 
+0x7278 020263 ifetchr rega ,1 ,contr 
+0x7279 020264 call first_block_counter 
+0x727a 020265 call do_aes_ecb 
+0x727b 020267 force regidx_data ,regext_index 
+0x727c 020268 ifetch 1 ,regc 
+0x727d 020269 and_into 0x3 ,pdata 
+0x727e 020270 lshift16 pdata ,regext 
+0x727f 020271 set1 8 ,regext 
+0x7280 020272 call clear_hidata 
+0x7281 020273 call do_aes_cbc 
+0x7282 020275 copy rega ,loopcnt 
+0x7283 020276 add regc ,2 ,contr 
+0x7284 020277 call padding_data 
+:      020278 generate_mic_loop:
+0x7285 020279 call aes_load_data 
+0x7286 020280 call do_aes_cbc 
+0x7287 020281 deposit loopcnt 
+0x7288 020282 branch generate_mic_end ,blank 
+0x7289 020283 branch generate_mic_loop 
+:      020284 generate_mic_end:
+0x728a 020285 force regidx_result ,regext_index 
+0x728b 020286 copy regext ,regb 
+0x728c 020287 storer regb ,4 ,mem_le_mic 
+0x728d 020288 rtn 
+:      020290 aes_crypt_data:
+0x728e 020291 increase 1 ,rega 
+0x728f 020292 call first_block_data 
+0x7290 020293 call aes_init 
+0x7291 020294 copy regc ,contr 
+0x7292 020295 call load_data128 
+0x7293 020296 call do_aes_cfb 
+0x7294 020297 call store_enc_data 
+0x7295 020298 increase 16 ,regc 
+0x7296 020299 increase -16 ,regb 
+0x7297 020300 branch aes_crypt_data ,positive 
+0x7298 020301 rtn 
+:      020303 le_encrypt:
+0x7299 020304 bpatchx patch31_5 ,mem_patch31 
+0x729a 020305 arg mem_le_txheader ,regc 
+0x729b 020306 fetcht 5 ,mem_le_pcnt_tx 
+0x729c 020307 call generate_mic 
+0x729d 020308 force 0 ,rega 
+0x729e 020309 call first_block_data 
+0x729f 020310 call aes_init 
+0x72a0 020311 force regidx_data ,regext_index 
+0x72a1 020312 copy regb ,regext 
+0x72a2 020313 call do_aes_cfb 
+0x72a3 020314 arg mem_le_txpayload ,regc 
+0x72a4 020315 fetch 1 ,mem_le_txlen 
+0x72a5 020316 add pdata ,-1 ,regb 
+0x72a6 020317 iadd regc ,contw 
+0x72a7 020318 force regidx_result ,regext_index 
+0x72a8 020319 istorer regext ,4 ,contw 
+0x72a9 020320 force 0 ,rega 
+0x72aa 020321 call aes_crypt_data 
+0x72ab 020322 fetch 1 ,mem_le_txlen 
+0x72ac 020323 increase 4 ,pdata 
+0x72ad 020324 store 1 ,mem_le_txlen 
+0x72ae 020325 fetcht 5 ,mem_le_pcnt_tx 
+0x72af 020326 increase 1 ,temp 
+0x72b0 020327 storet 5 ,mem_le_pcnt_tx 
+0x72b1 020328 rtn 
+:      020330 le_decrypt:
+0x72b2 020331 fetcht 5 ,mem_le_pcnt_rx 
+0x72b3 020332 force 0 ,rega 
+0x72b4 020333 call first_block_data 
+0x72b5 020334 call aes_init 
+0x72b6 020335 fetch 1 ,mem_le_rxbuf + 1 
+0x72b7 020336 arg mem_le_rxbuf + 2 ,regc 
+0x72b8 020337 add pdata ,-1 ,regb 
+0x72b9 020338 increase -4 ,pdata 
+0x72ba 020339 store 1 ,mem_le_rxbuf + 1 
+0x72bb 020340 iadd regc ,contr 
+0x72bc 020341 force regidx_data ,regext_index 
+0x72bd 020342 ifetchr regext ,4 ,contr 
+0x72be 020343 call do_aes_cfb 
+0x72bf 020344 force regidx_result ,regext_index 
+0x72c0 020345 storer regext ,4 ,mem_le_peer_mic 
+0x72c1 020346 force 0 ,rega 
+0x72c2 020347 call aes_crypt_data 
+0x72c3 020348 arg mem_le_rxbuf ,regc 
+0x72c4 020349 call generate_mic 
+0x72c5 020350 fetch 4 ,mem_le_peer_mic 
+0x72c6 020351 isub regb ,pdata 
+0x72c7 020352 nrtn blank 
+0x72c8 020353 fetch 4 ,mem_le_last_mic 
+0x72c9 020354 isub regb ,pdata 
+0x72ca 020355 rtn blank 
+0x72cb 020356 storet 4 ,mem_le_last_mic 
+0x72cc 020357 fetch 5 ,mem_le_pcnt_rx 
+0x72cd 020358 increase 1 ,pdata 
+0x72ce 020359 store 5 ,mem_le_pcnt_rx 
+0x72cf 020360 force 0 ,pdata 
+0x72d0 020361 rtn 
+:      020363 wait_aes:
+0x72d1 020364 nbranch wait_aes ,aes_ready 
+0x72d2 020365 rtn 
+:      020368 do_aes_ecb256:
+0x72d3 020369 force aes_load | aes_256 ,aes_ctrl 
+0x72d4 020370 force aes_256 ,aes_ctrl 
+0x72d5 020371 branch wait_aes 
+:      020373 do_aes_ecb192:
+0x72d6 020374 force aes_load | aes_192 ,aes_ctrl 
+0x72d7 020375 force aes_192 ,aes_ctrl 
+0x72d8 020376 branch wait_aes 
+:      020378 do_aes_ecb:
+0x72d9 020379 force aes_load ,aes_ctrl 
+0x72da 020380 force 0 ,aes_ctrl 
+0x72db 020381 branch wait_aes 
+:      020384 do_aes_cbc:
+0x72dc 020385 force aes_load | aes_cbc ,aes_ctrl 
+0x72dd 020386 force 0 ,aes_ctrl 
+0x72de 020387 branch wait_aes 
+:      020389 do_aes_cfb:
+0x72df 020390 force aes_load | aes_cfb ,aes_ctrl 
+0x72e0 020391 force aes_cfb ,aes_ctrl 
+0x72e1 020392 branch wait_aes 
+:      020394 do_aes_ecb_be:
+0x72e2 020395 force aes_big_endian | aes_load ,aes_ctrl 
+0x72e3 020396 force aes_big_endian ,aes_ctrl 
+0x72e4 020397 branch wait_aes 
+:      020399 do_aes_cbc_be:
+0x72e5 020400 force aes_big_endian | aes_load | aes_cbc ,aes_ctrl 
+0x72e6 020401 force aes_big_endian ,aes_ctrl 
+0x72e7 020402 branch wait_aes 
+:      020405 aes_init:
+0x72e8 020406 force aes_initialize ,aes_ctrl 
+0x72e9 020407 force 0 ,aes_ctrl 
+0x72ea 020408 rtn 
+:      020410 function_s1:
+0x72eb 020411 force regidx_data ,regext_index 
+0x72ec 020412 fetch 4 ,mem_le_mrand 
+0x72ed 020413 iforce regext 
+0x72ee 020414 increase 1 ,regext_index 
+0x72ef 020415 ifetch 4 ,contr 
+0x72f0 020416 iforce regext 
+0x72f1 020417 increase 1 ,regext_index 
+0x72f2 020418 fetch 4 ,mem_le_srand 
+0x72f3 020419 iforce regext 
+0x72f4 020420 increase 1 ,regext_index 
+0x72f5 020421 ifetch 4 ,contr 
+0x72f6 020422 iforce regext 
+0x72f7 020423 increase 1 ,regext_index 
+0x72f8 020424 call aes_clear 
+0x72f9 020425 increase -4 ,regext_index 
+0x72fa 020426 fetch 4 ,mem_le_tk 
+0x72fb 020427 copy pdata ,regext 
+0x72fc 020428 branch do_aes_ecb_be 
+:      020431 function_c1:
+0x72fd 020432 copy rega ,contr 
+0x72fe 020433 call load_data128 
+0x72ff 020434 force aes_big_endian | aes_initialize ,aes_ctrl 
+0x7300 020435 force 0 ,aes_ctrl 
+0x7301 020436 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7302 020437 fetcht 1 ,mem_le_adv_own_addr_type 
+0x7303 020438 nbranch function_c1_irat ,master 
+0x7304 020439 fetch 1 ,mem_le_conn_own_addr_type 
+0x7305 020440 fetcht 1 ,mem_le_conn_peer_addr_type 
+:      020441 function_c1_irat:
+0x7306 020442 store 1 ,mem_le_iat 
+0x7307 020443 storet 1 ,mem_le_rat 
+0x7308 020444 arg mem_le_iat ,contr 
+0x7309 020445 call load_data128 
+0x730a 020446 call aes_clear 
+0x730b 020447 increase -4 ,regext_index 
+0x730c 020448 fetch 4 ,mem_le_tk 
+0x730d 020449 copy pdata ,regext 
+0x730e 020450 force aes_big_endian | aes_cbc | aes_load ,aes_ctrl 
+0x730f 020451 force aes_big_endian ,aes_ctrl 
+0x7310 020452 fetch 6 ,mem_le_lap 
+0x7311 020453 fetcht 6 ,mem_le_plap 
+0x7312 020454 branch function_c1_master ,master 
+0x7313 020455 fetch 6 ,mem_le_plap 
+0x7314 020456 fetcht 6 ,mem_le_lap 
+:      020457 function_c1_master:
+0x7315 020458 force regidx_data ,regext_index 
+0x7316 020459 copy temp ,regext 
+0x7317 020460 increase 1 ,regext_index 
+0x7318 020461 rshift32 temp ,regext 
+0x7319 020462 lshift16 pdata ,pdata 
+0x731a 020463 ior regext ,regext 
+0x731b 020464 increase 1 ,regext_index 
+0x731c 020465 rshift32 pdata ,regext 
+0x731d 020466 increase 1 ,regext_index 
+0x731e 020467 force 0 ,regext 
+0x731f 020468 branch do_aes_cbc_be 
+:      020471 padding_data:
+0x7320 020472 compare 0 ,loopcnt ,3 
+0x7321 020473 rtn true 
+0x7322 020474 deposit contr 
+0x7323 020475 iadd loopcnt ,contw 
+0x7324 020476 force 0 ,pdata 
+:      020477 padding_loop:
+0x7325 020478 istore 1 ,contw 
+0x7326 020479 increase 1 ,loopcnt 
+0x7327 020480 compare 0 ,loopcnt ,3 
+0x7328 020481 rtn true 
+0x7329 020482 branch padding_loop 
+:      020484 aes_load_data:
+0x732a 020485 force regidx_data ,regext_index 
+:      020486 load_data_loop:
+0x732b 020487 deposit loopcnt 
+0x732c 020488 branch load_data_padding ,blank 
+0x732d 020489 ifetch 4 ,contr 
+0x732e 020490 increase -4 ,loopcnt 
+:      020491 load_data_padding:
+0x732f 020492 iforce regext 
+0x7330 020493 increase 1 ,regext_index 
+0x7331 020494 compare regidx_key ,regext_index ,0xf 
+0x7332 020495 rtn true 
+0x7333 020496 branch load_data_loop 
+:      020498 load_key256:
+0x7334 020499 force 8 ,loopcnt 
+0x7335 020500 branch load_key 
+:      020501 load_key192:
+0x7336 020502 force 6 ,loopcnt 
+0x7337 020503 branch load_key 
+:      020504 load_key128:
+0x7338 020505 force 4 ,loopcnt 
+:      020506 load_key:
+0x7339 020507 force regidx_key ,regext_index 
+0x733a 020508 branch load_regext_loop 
+:      020509 load_data128:
+0x733b 020510 force regidx_data ,regext_index 
+0x733c 020511 force 4 ,loopcnt 
+:      020512 load_regext_loop:
+0x733d 020514 ifetch 4 ,contr 
+0x733e 020515 icopy regext 
+0x733f 020516 increase 1 ,regext_index 
+0x7340 020517 loop load_regext_loop 
+0x7341 020518 rtn 
+:      020521 load_sk:
+0x7342 020522 arg mem_le_sk ,contr 
+0x7343 020523 branch load_key128 
+:      020525 clear_hidata:
+0x7344 020526 force 4 ,loopcnt 
+0x7345 020527 branch clear_data_rest 
+:      020529 aes_clear_data:
+0x7346 020530 force regidx_data ,regext_index 
+:      020531 aes_clear:
+0x7347 020532 force 4 ,loopcnt 
+:      020533 clear_loop:
+0x7348 020534 force 0 ,regext 
+:      020535 clear_data_rest:
+0x7349 020536 increase 1 ,regext_index 
+0x734a 020537 loop clear_loop 
+0x734b 020538 rtn 
+:      020540 store_aes_result:
+0x734c 020541 force regidx_result ,regext_index 
+0x734d 020542 force 4 ,loopcnt 
+:      020543 send_aes_result_loop:
+0x734e 020544 deposit regext 
+0x734f 020545 istore 4 ,contw 
+0x7350 020546 increase 1 ,regext_index 
+0x7351 020547 loop send_aes_result_loop 
+0x7352 020548 rtn 
+:      020550 store_enc_data:
+0x7353 020551 force regidx_result ,regext_index 
+0x7354 020552 copy regc ,contw 
+0x7355 020553 add regb ,1 ,loopcnt 
+0x7356 020554 sub loopcnt ,15 ,null 
+0x7357 020555 branch store_enc_loop ,positive 
+0x7358 020556 force 16 ,loopcnt 
+:      020557 store_enc_loop:
+0x7359 020558 deposit regext 
+0x735a 020559 sub loopcnt ,3 ,null 
+0x735b 020560 branch store_enc_byte ,positive 
+0x735c 020561 istore 4 ,contw 
+0x735d 020562 increase -4 ,loopcnt 
+0x735e 020563 rtn zero 
+0x735f 020564 increase 1 ,regext_index 
+0x7360 020565 branch store_enc_loop 
+:      020566 store_enc_byte:
+0x7361 020567 istore 1 ,contw 
+0x7362 020568 rshift8 pdata ,pdata 
+0x7363 020569 loop store_enc_byte 
+0x7364 020570 rtn 
+:      020573 compare_res:
+0x7365 020574 force regidx_result ,regext_index 
+0x7366 020575 force 4 ,loopcnt 
+:      020576 compare_res_loop:
+0x7367 020577 ifetch 4 ,contr 
+0x7368 020578 isub regext ,null 
+0x7369 020579 nrtn zero 
+0x736a 020580 increase 1 ,regext_index 
+0x736b 020581 loop compare_res_loop 
+0x736c 020582 force 0 ,null 
+0x736d 020583 rtn 
+:      020585 enable_authrom:
+0x736e 020586 fetch 1 ,core_config 
+0x736f 020587 set1 clock_on_auth_rom ,pdata 
+0x7370 020588 store 1 ,core_config 
+0x7371 020589 rtn 
+:      020591 disable_authrom:
+0x7372 020592 fetch 1 ,core_config 
+0x7373 020593 set0 clock_on_auth_rom ,pdata 
+0x7374 020594 store 1 ,core_config 
+0x7375 020595 rtn 
+:      020597 init_memp:
+0x7376 020598 arg mem_p ,contw 
+0x7377 020599 setsect 0 ,0x3ffff 
+0x7378 020600 setsect 1 ,0x3ffff 
+0x7379 020601 setsect 2 ,0x3ffff 
+0x737a 020602 setsect 3 ,0x3fbff 
+0x737b 020603 istore 9 ,contw 
+0x737c 020604 setsect 0 ,0x3ffff 
+0x737d 020605 setsect 1 ,0x3ffff 
+0x737e 020606 setsect 2 ,0x3ffff 
+0x737f 020607 setsect 3 ,0x3ffff 
+0x7380 020608 istore 9 ,contw 
+0x7381 020609 setsect 0 ,0x3ffff 
+0x7382 020610 setsect 1 ,0x3ffff 
+0x7383 020611 setsect 2 ,0x3cfff 
+0x7384 020612 setsect 3 ,0x3ffff 
+0x7385 020613 istore 9 ,contw 
+0x7386 020614 setsect 0 ,0x3ffff 
+0x7387 020615 setsect 1 ,0x3ffff 
+0x7388 020616 setsect 2 ,0x3ffef 
+0x7389 020617 setsect 3 ,0x3ffff 
+0x738a 020618 istore 9 ,contw 
+0x738b 020619 setsect 0 ,0x3ffff 
+0x738c 020620 setsect 1 ,0x3ffff 
+0x738d 020621 setsect 2 ,0x3ffff 
+0x738e 020622 setsect 3 ,0x3ffff 
+0x738f 020623 istore 9 ,contw 
+0x7390 020624 setsect 0 ,0x3ffff 
+0x7391 020625 setsect 1 ,0x26c7f 
+0x7392 020626 setsect 2 ,0x146b 
+0x7393 020627 setsect 3 ,0x37bb3 
+0x7394 020628 istore 9 ,contw 
+0x7395 020629 setsect 0 ,0x1feb8 
+0x7396 020630 setsect 1 ,0x10c12 
+0x7397 020631 setsect 2 ,0x2b722 
+0x7398 020632 setsect 3 ,0x29fa6 
+0x7399 020633 istore 9 ,contw 
+0x739a 020634 setsect 0 ,0xe70f 
+0x739b 020635 setsect 1 ,0x16720 
+0x739c 020636 setsect 2 ,0x519e 
+0x739d 020637 setsect 3 ,0x19084 
+0x739e 020638 istore 9 ,contw 
+0x739f 020639 setsect 0 ,0x31012 
+0x73a0 020640 setsect 1 ,0x360bf 
+0x73a1 020641 setsect 2 ,0x3f0af 
+0x73a2 020642 setsect 3 ,0x3d3 
+0x73a3 020643 istore 9 ,contw 
+0x73a4 020644 setsect 0 ,0x3a188 
+0x73a5 020645 setsect 1 ,0x3ad0 
+0x73a6 020646 setsect 2 ,0x3cbf2 
+0x73a7 020647 setsect 3 ,0x243d9 
+0x73a8 020648 istore 9 ,contw 
+0x73a9 020649 setsect 0 ,0x2b030 
+0x73aa 020650 setsect 1 ,0x36a03 
+0x73ab 020651 setsect 2 ,0x11188 
+0x73ac 020652 setsect 3 ,0x1e520 
+0x73ad 020653 istore 9 ,contw 
+0x73ae 020654 setsect 0 ,0x3a11e 
+0x73af 020655 setsect 1 ,0xfe5d 
+0x73b0 020656 setsect 2 ,0xdd57 
+0x73b1 020657 setsect 3 ,0x1ac93 
+0x73b2 020658 istore 9 ,contw 
+0x73b3 020659 setsect 0 ,0x11ed 
+0x73b4 020660 setsect 1 ,0x218c4 
+0x73b5 020661 setsect 2 ,0x8da7 
+0x73b6 020662 setsect 3 ,0x257ff 
+0x73b7 020663 istore 9 ,contw 
+0x73b8 020664 setsect 0 ,0x3192b 
+0x73b9 020665 setsect 1 ,0x34641 
+0x73ba 020666 setsect 2 ,0x1be0c 
+0x73bb 020667 setsect 3 ,0x366ad 
+0x73bc 020668 istore 9 ,contw 
+0x73bd 020669 setsect 0 ,0x1f83 
+0x73be 020670 setsect 1 ,0x15a23 
+0x73bf 020671 setsect 2 ,0x3f9b0 
+0x73c0 020672 setsect 3 ,0x3949 
+0x73c1 020673 istore 9 ,contw 
+0x73c2 020674 setsect 0 ,0x13a51 
+0x73c3 020675 setsect 1 ,0x153fd 
+0x73c4 020676 setsect 2 ,0x3372a 
+0x73c5 020677 setsect 3 ,0xf1bb 
+0x73c6 020678 istore 9 ,contw 
+0x73c7 020679 setsect 0 ,0x3ae85 
+0x73c8 020680 setsect 1 ,0x1eed9 
+0x73c9 020681 setsect 2 ,0x9e66 
+0x73ca 020682 setsect 3 ,0x1a8 
+0x73cb 020683 istore 8 ,contw 
+0x73cc 020684 rtn 
+:      020688 init_memp_256:
+0x73cd 020689 arg mem_p_256 ,contw 
+0x73ce 020690 setsect 0 ,0x3ffff 
+0x73cf 020691 setsect 1 ,0x3ffff 
+0x73d0 020692 setsect 2 ,0x3ffff 
+0x73d1 020693 setsect 3 ,0x3ffff 
+0x73d2 020694 istore 9 ,contw 
+0x73d3 020695 setsect 0 ,0x3ffff 
+0x73d4 020696 setsect 1 ,0x3f 
+0x73d5 020697 setsect 2 ,0x0 
+0x73d6 020698 setsect 3 ,0x0 
+0x73d7 020699 istore 9 ,contw 
+0x73d8 020700 setsect 0 ,0x0 
+0x73d9 020701 setsect 1 ,0x0 
+0x73da 020702 setsect 2 ,0x1000 
+0x73db 020703 setsect 3 ,0x0 
+0x73dc 020704 istore 9 ,contw 
+0x73dd 020705 setsect 0 ,0x3ff00 
+0x73de 020706 setsect 1 ,0x3ffff 
+0x73df 020707 setsect 2 ,0x3ffcf 
+0x73e0 020708 setsect 3 ,0x3ffff 
+0x73e1 020709 istore 9 ,contw 
+0x73e2 020710 setsect 0 ,0x3ffff 
+0x73e3 020711 setsect 1 ,0x3ffff 
+0x73e4 020712 setsect 2 ,0x3ffff 
+0x73e5 020713 setsect 3 ,0x3ff 
+0x73e6 020714 istore 9 ,contw 
+0x73e7 020715 setsect 0 ,0x0 
+0x73e8 020716 setsect 1 ,0x0 
+0x73e9 020717 setsect 2 ,0x0 
+0x73ea 020718 setsect 3 ,0x0 
+0x73eb 020719 istore 9 ,contw 
+0x73ec 020720 setsect 0 ,0x10000 
+0x73ed 020721 setsect 1 ,0x0 
+0x73ee 020722 setsect 2 ,0x3f000 
+0x73ef 020723 setsect 3 ,0x3ffff 
+0x73f0 020724 istore 9 ,contw 
+0x73f1 020725 setsect 0 ,0x296ff 
+0x73f2 020726 setsect 1 ,0x22630 
+0x73f3 020727 setsect 2 ,0x3945d 
+0x73f4 020728 setsect 3 ,0x3d284 
+0x73f5 020729 istore 9 ,contw 
+0x73f6 020730 setsect 0 ,0x333a0 
+0x73f7 020731 setsect 1 ,0x4b7a 
+0x73f8 020732 setsect 2 ,0x37d8 
+0x73f9 020733 setsect 3 ,0x3c9dc 
+0x73fa 020734 istore 9 ,contw 
+0x73fb 020735 setsect 0 ,0x3a440 
+0x73fc 020736 setsect 1 ,0x1b958 
+0x73fd 020737 setsect 2 ,0x38bce 
+0x73fe 020738 setsect 3 ,0x1091f 
+0x73ff 020739 istore 9 ,contw 
+0x7400 020740 setsect 0 ,0x2e12c 
+0x7401 020741 setsect 1 ,0x1f47c 
+0x7402 020742 setsect 2 ,0x356b1 
+0x7403 020743 setsect 3 ,0x2fd47 
+0x7404 020744 istore 9 ,contw 
+0x7405 020745 setsect 0 ,0x6837 
+0x7406 020746 setsect 1 ,0x2ed90 
+0x7407 020747 setsect 2 ,0x1ecec 
+0x7408 020748 setsect 3 ,0x1acc5 
+0x7409 020749 istore 9 ,contw 
+0x740a 020750 setsect 0 ,0x23357 
+0x740b 020751 setsect 1 ,0x18af3 
+0x740c 020752 setsect 2 ,0xf9e1 
+0x740d 020753 setsect 3 ,0x129f0 
+0x740e 020754 istore 9 ,contw 
+0x740f 020755 setsect 0 ,0x2e7eb 
+0x7410 020756 setsect 1 ,0x3e6e3 
+0x7411 020757 setsect 2 ,0x3e1a7 
+0x7412 020758 setsect 3 ,0x10b8b 
+0x7413 020759 istore 9 ,contw 
+0x7414 020760 setsect 0 ,0x24fe3 
+0x7415 020761 setsect 1 ,0x20ef 
+0x7416 020762 setsect 2 ,0x1b5a6 
+0x7417 020763 setsect 3 ,0xdc2f 
+0x7418 020764 istore 9 ,contw 
+0x7419 020765 setsect 0 ,0x13860 
+0x741a 020766 setsect 1 ,0x2bd69 
+0x741b 020767 setsect 2 ,0x391a 
+0x741c 020768 setsect 3 ,0x1b222 
+0x741d 020769 istore 9 ,contw 
+0x741e 020770 rtn 
+:      020773 publickey_init:
+0x741f 020774 fetch 1 ,mem_ssp_enable 
+0x7420 020775 nbranch sp_initialize ,blank 
+0x7421 020776 branch sp_initialize_256 
+:      020778 sp_calc_sequence_256_check:
+0x7422 020779 bpatchx patch31_6 ,mem_patch31 
+0x7423 020780 fetch 1 ,mem_ssp_enable 
+0x7424 020781 rtn blank 
+0x7425 020782 fetch 1 ,mem_sp_local_key_invalid 
+0x7426 020783 rtnne sp_key_valid 
+0x7427 020784 fetch 1 ,mem_le_secure_connect_enable 
+0x7428 020785 rtn blank 
+0x7429 020786 fetch 1 ,mem_le_sc_local_key_invalid 
+0x742a 020787 rtneq sp_key_valid_256 
+0x742b 020788 fetch 2 ,mem_ui_state_map 
+0x742c 020789 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+0x742d 020790 fetch 1 ,mem_le_sc_calc 
+0x742e 020791 beq sp_calc_standby ,sp_initialize_256 
+0x742f 020792 rtn 
+:      020793 stop_publickey_calc_256:
+0x7430 020794 jam sp_calc_standby ,mem_le_sc_calc 
+0x7431 020795 rtn 
+:      020798 sp_initialize:
+0x7432 020799 bpatchx patch31_7 ,mem_patch31 
+0x7433 020800 fetch 1 ,mem_ssp_enable 
+0x7434 020801 branch ssp_disable ,blank 
+0x7435 020802 call ssp_enable 
+0x7436 020803 call sp_clear_flags 
+0x7437 020804 branch sp_pubkey_calc 
+:      020806 sp_clear_flags:
+0x7438 020807 setarg 0 
+0x7439 020808 store 8 ,mem_sp_state_start 
+0x743a 020809 store 4 ,mem_sp_flag_start 
+0x743b 020810 store 7 ,mem_sp_iocap_remote 
+0x743c 020811 rtn 
+:      020813 sp_generate_local_key:
+0x743d 020814 jam sp_flag_commit ,mem_sp_flag 
+0x743e 020815 branch sp_generate_local_key0 
+:      020816 sp_master_generate_local_key:
+0x743f 020817 fetch 1 ,mem_sp_local_key_invalid 
+0x7440 020818 beq sp_key_valid ,sp_dhkey_calc 
+0x7441 020819 branch assert 
+:      020820 sp_generate_local_key0:
+0x7442 020821 fetch 1 ,mem_sp_local_key_invalid 
+0x7443 020822 beq sp_key_valid ,sp_start_send_pubkey 
+0x7444 020823 branch sp_pubkey_calc 
+:      020825 sp_start_send_pubkey:
+0x7445 020826 call sp_dhkey_calc 
+0x7446 020827 fetch 1 ,mem_master_sp_state 
+0x7447 020828 nrtn blank 
+0x7448 020829 jam sp_stat_key_send ,mem_sp_state 
+0x7449 020830 rtn 
+:      020833 sp_calc_check_publickey_256:
+0x744a 020834 call sp_calc_b256 
+0x744b 020835 arg mem_le_pubkey_remote_y_256 ,rega 
+0x744c 020836 arg mem_t7_256 ,contw 
+0x744d 020837 call bn_sqrmod_256 
+0x744e 020838 arg mem_le_pubkey_remote_x_256 ,rega 
+0x744f 020839 arg mem_t2_256 ,contw 
+0x7450 020840 call bn_sqrmod_256 
+0x7451 020841 arg mem_t2_256 ,rega 
+0x7452 020842 arg mem_le_pubkey_remote_x_256 ,regb 
+0x7453 020843 arg mem_t2_256 ,contw 
+0x7454 020844 call bn_mulmod_256 
+0x7455 020845 arg mem_a_256 ,rega 
+0x7456 020846 arg mem_le_pubkey_remote_x_256 ,regb 
+0x7457 020847 arg mem_t3_256 ,contw 
+0x7458 020848 call bn_mulmod_256 
+0x7459 020849 arg mem_t3_256 ,rega 
+0x745a 020850 arg mem_t2_256 ,regb 
+0x745b 020851 arg mem_t2_256 ,contw 
+0x745c 020852 call bn_addmod_256 
+0x745d 020853 arg mem_t0_256 ,rega 
+0x745e 020854 arg mem_t2_256 ,regb 
+0x745f 020855 arg mem_t0_256 ,contw 
+0x7460 020856 call bn_addmod_256 
+0x7461 020857 arg 32 ,loopcnt 
+0x7462 020858 arg mem_t7_256 ,rega 
+0x7463 020859 arg mem_t0_256 ,regb 
+0x7464 020860 branch string_compare 
+:      020862 sp_calc_b256:
+0x7465 020863 arg mem_gy_256 ,rega 
+0x7466 020864 arg mem_t0_256 ,contw 
+0x7467 020865 call bn_sqrmod_256 
+0x7468 020866 arg mem_gx_256 ,rega 
+0x7469 020867 arg mem_t2_256 ,contw 
+0x746a 020868 call bn_sqrmod_256 
+0x746b 020869 arg mem_t2_256 ,rega 
+0x746c 020870 arg mem_gx_256 ,regb 
+0x746d 020871 arg mem_t2_256 ,contw 
+0x746e 020872 call bn_mulmod_256 
+0x746f 020873 arg mem_a_256 ,rega 
+0x7470 020874 arg mem_gx_256 ,regb 
+0x7471 020875 arg mem_t3_256 ,contw 
+0x7472 020876 call bn_mulmod_256 
+0x7473 020877 arg mem_t3_256 ,rega 
+0x7474 020878 arg mem_t2_256 ,regb 
+0x7475 020879 arg mem_t2_256 ,contw 
+0x7476 020880 call bn_addmod_256 
+0x7477 020881 arg mem_t0_256 ,rega 
+0x7478 020882 arg mem_t2_256 ,regb 
+0x7479 020883 arg mem_t0_256 ,contw 
+0x747a 020884 branch bn_submod_256 
+:      020886 sp_calc_check_publickey:
+0x747b 020887 call sp_calc_b 
+0x747c 020888 arg mem_sp_pubkey_remote_y ,rega 
+0x747d 020889 arg mem_t7_256 ,contw 
+0x747e 020890 call bn_sqrmod 
+0x747f 020891 arg mem_sp_pubkey_remote_x ,rega 
+0x7480 020892 arg mem_t2_256 ,contw 
+0x7481 020893 call bn_sqrmod 
+0x7482 020894 arg mem_t2_256 ,rega 
+0x7483 020895 arg mem_sp_pubkey_remote_x ,regb 
+0x7484 020896 arg mem_t2_256 ,contw 
+0x7485 020897 call bn_mulmod 
+0x7486 020898 arg mem_a ,rega 
+0x7487 020899 arg mem_sp_pubkey_remote_x ,regb 
+0x7488 020900 arg mem_t3_256 ,contw 
+0x7489 020901 call bn_mulmod 
+0x748a 020902 arg mem_t3_256 ,rega 
+0x748b 020903 arg mem_t2_256 ,regb 
+0x748c 020904 arg mem_t2_256 ,contw 
+0x748d 020905 call bn_addmod 
+0x748e 020906 arg mem_t0_256 ,rega 
+0x748f 020907 arg mem_t2_256 ,regb 
+0x7490 020908 arg mem_t0_256 ,contw 
+0x7491 020909 call bn_addmod 
+0x7492 020910 arg 24 ,loopcnt 
+0x7493 020911 arg mem_t7_256 ,rega 
+0x7494 020912 arg mem_t0_256 ,regb 
+0x7495 020913 branch string_compare 
+:      020915 sp_calc_b:
+0x7496 020916 arg mem_gy ,rega 
+0x7497 020917 arg mem_t0_256 ,contw 
+0x7498 020918 call bn_sqrmod 
+0x7499 020919 arg mem_gx ,rega 
+0x749a 020920 arg mem_t2_256 ,contw 
+0x749b 020921 call bn_sqrmod 
+0x749c 020922 arg mem_t2_256 ,rega 
+0x749d 020923 arg mem_gx ,regb 
+0x749e 020924 arg mem_t2_256 ,contw 
+0x749f 020925 call bn_mulmod 
+0x74a0 020926 arg mem_a ,rega 
+0x74a1 020927 arg mem_gx ,regb 
+0x74a2 020928 arg mem_t3_256 ,contw 
+0x74a3 020929 call bn_mulmod 
+0x74a4 020930 arg mem_t3_256 ,rega 
+0x74a5 020931 arg mem_t2_256 ,regb 
+0x74a6 020932 arg mem_t2_256 ,contw 
+0x74a7 020933 call bn_addmod 
+0x74a8 020934 arg mem_t0_256 ,rega 
+0x74a9 020935 arg mem_t2_256 ,regb 
+0x74aa 020936 arg mem_t0_256 ,contw 
+0x74ab 020937 branch bn_submod 
+:      020940 sp_calculate_commitment:
+0x74ac 020941 fetch 1 ,mem_sp_calc 
+0x74ad 020942 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+0x74ae 020943 call sp_local_random_key_generator 
+0x74af 020944 arg mem_sp_prarm_stack ,contw 
+0x74b0 020945 setarg mem_sp_random_local_end 
+0x74b1 020946 istore 2 ,contw 
+0x74b2 020947 setarg mem_sp_pubkey_local_x_end 
+0x74b3 020948 istore 2 ,contw 
+0x74b4 020949 setarg mem_sp_pubkey_remote_x_end 
+0x74b5 020950 istore 2 ,contw 
+0x74b6 020951 branch sp_calculate_commitment0 
+:      020952 master_sp_calculate_commitment:
+0x74b7 020953 arg mem_sp_prarm_stack ,contw 
+0x74b8 020954 setarg mem_sp_random_remote_end 
+0x74b9 020955 istore 2 ,contw 
+0x74ba 020956 setarg mem_sp_pubkey_remote_x_end 
+0x74bb 020957 istore 2 ,contw 
+0x74bc 020958 setarg mem_sp_pubkey_local_x_end 
+0x74bd 020959 istore 2 ,contw 
+:      020960 sp_calculate_commitment0:
+0x74be 020961 call function_f1 
+0x74bf 020962 fetch 1 ,mem_master_sp_state 
+0x74c0 020963 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+0x74c1 020964 jam sp_flag_commit ,mem_sp_flag 
+0x74c2 020965 jam sp_stat_commit_send ,mem_sp_state 
+0x74c3 020966 rtn 
+:      020967 master_sp_calculate_commitment0:
+0x74c4 020968 jam sp_stat_commitment_compare ,mem_master_sp_state 
+0x74c5 020969 call sp_master_generate_local_key 
+0x74c6 020970 branch master_set_mem_master_sp_flag 
+:      020972 sp_local_random_key_generator:
+0x74c7 020973 arg mem_sp_random_local ,contw 
+0x74c8 020974 force 8 ,queue 
+0x74c9 020975 branch random_generator 
+:      020977 sp_calculate_commitment_wait_dhkey_calc:
+0x74ca 020978 jam sp_flag_commit ,mem_sp_flag 
+0x74cb 020979 rtn 
+:      020981 sp_confirm_check:
+0x74cc 020983 bpatchx patch32_0 ,mem_patch32 
+0x74cd 020984 arg mem_addr_value ,contw 
+0x74ce 020985 fetch 6 ,mem_lap 
+0x74cf 020986 istore 6 ,contw 
+0x74d0 020987 fetch 6 ,mem_plap 
+0x74d1 020988 istore 6 ,contw 
+0x74d2 020989 fetch 3 ,mem_sp_iocap_remote 
+0x74d3 020990 istore 3 ,contw 
+0x74d4 020992 call function_f3a 
+0x74d5 020994 arg mem_sp_calc_result_high ,rega 
+0x74d6 020995 arg mem_sp_check_result ,regb 
+0x74d7 020996 force 4 ,queue 
+0x74d8 020997 call compare4 
+0x74d9 020998 nbranch sp_confirm_check_failed ,true 
+0x74da 021000 call sp_confirm_check_success 
+0x74db 021001 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x74dc 021002 branch tid_set_reply 
+:      021004 sp_confirm_check_success:
+0x74dd 021005 fetch 1 ,mem_master_sp_state 
+0x74de 021006 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+0x74df 021007 jam sp_stat_confirm_calc ,mem_sp_state 
+0x74e0 021008 jam sp_flag_commit ,mem_sp_flag 
+0x74e1 021009 jam lmp_accepted ,mem_lmo_opcode2 
+0x74e2 021010 rtn 
+:      021011 sp_confirm_check_success_master:
+0x74e3 021012 jam lmp_accepted ,mem_lmo_opcode2 
+0x74e4 021013 jam sp_state_end ,mem_master_sp_state 
+0x74e5 021014 branch master_set_mem_master_sp_flag 
+:      021017 sp_confirm_check_failed:
+0x74e6 021018 fetch 1 ,mem_master_sp_state 
+0x74e7 021019 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+0x74e8 021020 jam sp_stat_null ,mem_sp_state 
+0x74e9 021021 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x74ea 021023 jam authentication_failure_error ,mem_lmo_reason2 
+0x74eb 021024 rtn 
+:      021025 sp_confirm_check_failed_master:
+0x74ec 021026 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x74ed 021027 jam sp_stat_null ,mem_master_sp_state 
+0x74ee 021028 rtn 
+:      021030 sp_confirm_calc:
+0x74ef 021031 fetch 1 ,mem_sp_dh_ready 
+0x74f0 021032 beq sp_flag_commit ,sp_confirm_calc_ready 
+0x74f1 021033 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x74f2 021034 branch master_set_mem_master_sp_flag 
+:      021035 sp_confirm_calc_ready:
+0x74f3 021036 arg mem_addr_value ,contw 
+0x74f4 021037 fetch 6 ,mem_plap 
+0x74f5 021038 istore 6 ,contw 
+0x74f6 021039 fetch 6 ,mem_lap 
+0x74f7 021040 istore 6 ,contw 
+0x74f8 021041 fetch 3 ,mem_sp_iocap_local 
+0x74f9 021042 istore 3 ,contw 
+0x74fa 021044 call function_f3b 
+0x74fb 021045 fetch 1 ,mem_master_sp_state 
+0x74fc 021046 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+0x74fd 021047 jam sp_stat_confirm_send ,mem_sp_state 
+0x74fe 021048 jam sp_flag_commit ,mem_sp_flag 
+0x74ff 021049 rtn 
+:      021050 sp_confirm_calc_master:
+0x7500 021051 jam sp_stat_confirm_send ,mem_master_sp_state 
+0x7501 021052 jam sp_flag_commit ,mem_master_sp_flag 
+0x7502 021053 rtn 
+:      021055 sp_master_key_prarm_push:
+0x7503 021056 arg mem_sp_prarm_stack ,contw 
+0x7504 021057 fetch 6 ,mem_plap 
+0x7505 021058 istore 6 ,contw 
+0x7506 021059 fetch 6 ,mem_lap 
+0x7507 021060 istore 6 ,contw 
+0x7508 021061 setarg mem_sp_random_local_end 
+0x7509 021062 istore 2 ,contw 
+0x750a 021063 setarg mem_sp_random_remote_end 
+0x750b 021064 istore 2 ,contw 
+0x750c 021065 branch sp_link_key_calc 
+:      021066 sp_link_key_prarm_push:
+0x750d 021067 jam sp_stat_done ,mem_sp_state 
+0x750e 021068 arg mem_sp_prarm_stack ,contw 
+0x750f 021069 fetch 6 ,mem_lap 
+0x7510 021070 istore 6 ,contw 
+0x7511 021071 fetch 6 ,mem_plap 
+0x7512 021072 istore 6 ,contw 
+0x7513 021073 setarg mem_sp_random_remote_end 
+0x7514 021074 istore 2 ,contw 
+0x7515 021075 setarg mem_sp_random_local_end 
+0x7516 021076 istore 2 ,contw 
+:      021077 sp_link_key_calc:
+0x7517 021079 arg mem_addr_value ,contw 
+0x7518 021080 fetch 6 ,mem_sp_prarm_stack 
+0x7519 021081 istore 6 ,contw 
+0x751a 021082 fetch 6 ,mem_sp_prarm_stack + 6 
+0x751b 021083 istore 6 ,contw 
+0x751c 021085 call function_f2 
+0x751d 021088 jam 1 ,mem_link_key_exists 
+0x751e 021089 arg mem_link_key ,contw 
+0x751f 021090 arg mem_sp_calc_result_high ,contr 
+0x7520 021091 call memcpy16 
+0x7521 021092 branch generate_linkkey_continue 
+:      021095 sp_pubkey_calc:
+0x7522 021096 bpatchx patch32_1 ,mem_patch32 
+0x7523 021097 fetch 1 ,mem_sp_local_key_invalid 
+0x7524 021098 rtnne sp_key_invalid 
+0x7525 021099 fetch 1 ,mem_sp_calc 
+0x7526 021100 rtnne sp_calc_standby 
+0x7527 021101 arg mem_sp_private_key ,contw 
+0x7528 021102 force 11 ,queue 
+0x7529 021103 call random_generator 
+0x752a 021104 random pdata 
+0x752b 021105 rshift pdata ,pdata 
+0x752c 021106 istore 2 ,contw 
+0x752d 021108 arg mem_k ,contw 
+0x752e 021109 arg mem_sp_private_key ,contr 
+0x752f 021110 call memcpy24 
+0x7530 021112 arg mem_ax ,contw 
+0x7531 021113 arg mem_gx ,contr 
+0x7532 021114 call memcpy48 
+0x7533 021116 arg mem_az ,contw 
+0x7534 021117 call bn_zero 
+0x7535 021118 jam 1 ,mem_az 
+0x7536 021120 call eckp_calc_init 
+0x7537 021121 jam sp_calc_pubkey ,mem_sp_calc 
+0x7538 021122 rtn 
+:      021124 sp_pubkey_generated:
+0x7539 021125 arg mem_sp_pubkey_local ,contw 
+0x753a 021126 arg mem_bx ,contr 
+0x753b 021127 call memcpy48 
+0x753c 021128 jam sp_key_valid ,mem_sp_local_key_invalid 
+0x753d 021129 jam sp_calc_standby ,mem_sp_calc 
+0x753e 021130 rtn 
+:      021132 sp_dhkey_calc:
+0x753f 021133 bpatchx patch32_2 ,mem_patch32 
+0x7540 021134 fetch 1 ,mem_sp_dhkey_invalid 
+0x7541 021135 rtnne sp_key_invalid 
+0x7542 021136 fetch 1 ,mem_sp_calc 
+0x7543 021137 rtnne sp_calc_standby 
+0x7544 021139 arg mem_k ,contw 
+0x7545 021140 arg mem_sp_private_key ,contr 
+0x7546 021141 call memcpy24 
+0x7547 021143 arg mem_ax ,contw 
+0x7548 021144 arg mem_sp_pubkey_remote ,contr 
+0x7549 021145 call memcpy48 
+0x754a 021147 arg mem_az ,contw 
+0x754b 021148 call bn_zero 
+0x754c 021149 jam 1 ,mem_az 
+0x754d 021151 call eckp_calc_init 
+0x754e 021152 jam sp_calc_dhkey ,mem_sp_calc 
+0x754f 021153 rtn 
+:      021155 sp_dhkey_generated:
+0x7550 021156 jam sp_flag_commit ,mem_sp_dh_ready 
+0x7551 021157 arg mem_sp_dhkey ,contw 
+0x7552 021158 arg mem_bx ,contr 
+0x7553 021159 call memcpy24 
+0x7554 021160 jam sp_key_valid ,mem_sp_dhkey_invalid 
+0x7555 021161 jam sp_calc_standby ,mem_sp_calc 
+0x7556 021162 rtn 
+:      021164 random_generator:
+0x7557 021165 increase -1 ,queue 
+0x7558 021166 nrtn positive 
+0x7559 021167 random pdata 
+0x755a 021168 istore 2 ,contw 
+0x755b 021169 branch random_generator 
+:      021170 compare4:
+0x755c 021171 increase -1 ,queue 
+0x755d 021172 nbranch compare4_success ,positive 
+0x755e 021173 ifetch 4 ,rega 
+0x755f 021174 copy pdata ,temp 
+0x7560 021175 ifetch 4 ,regb 
+0x7561 021176 iflip temp ,pdata 
+0x7562 021177 nbranch compare4_failed ,zero 
+0x7563 021178 increase 4 ,rega 
+0x7564 021179 increase 4 ,regb 
+0x7565 021180 branch compare4 
+:      021181 compare4_failed:
+0x7566 021182 disable true 
+0x7567 021183 rtn 
+:      021184 compare4_success:
+0x7568 021185 enable true 
+0x7569 021186 rtn 
+:      021193 simple_pairing_sequence:
+0x756a 021194 bpatchx patch32_3 ,mem_patch32 
+0x756b 021195 fetch 1 ,mem_sp_flag 
+0x756c 021196 rtn blank 
+0x756d 021197 call lmo_fifo_check 
+0x756e 021198 nrtn blank 
+0x756f 021199 jam sp_flag_standby ,mem_sp_flag 
+0x7570 021200 fetch 1 ,mem_sp_state 
+0x7571 021201 beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+0x7572 021202 beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+0x7573 021203 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+0x7574 021204 beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+0x7575 021205 beq sp_stat_key_generate ,sp_generate_local_key 
+0x7576 021206 beq sp_stat_commit_calc ,sp_calculate_commitment 
+0x7577 021207 beq sp_stat_confirm_check ,sp_confirm_check 
+0x7578 021208 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x7579 021209 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+0x757a 021211 rtn 
+:      021213 master_simple_paring_sequence:
+0x757b 021214 bpatchx patch32_4 ,mem_patch32 
+0x757c 021215 fetch 1 ,mem_master_sp_flag 
+0x757d 021216 rtn blank 
+0x757e 021217 call lmo_fifo_check 
+0x757f 021218 nrtn blank 
+0x7580 021219 jam sp_flag_standby ,mem_master_sp_flag 
+0x7581 021220 fetch 1 ,mem_master_sp_state 
+0x7582 021221 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+0x7583 021222 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+0x7584 021223 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+0x7585 021224 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+0x7586 021225 beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+0x7587 021226 beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+0x7588 021227 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x7589 021228 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+0x758a 021229 beq sp_stat_confirm_check ,sp_confirm_check 
+0x758b 021230 beq sp_state_end ,master_sp_sm_end 
+0x758c 021231 rtn 
+:      021233 master_set_mem_master_sp_flag:
+0x758d 021234 jam sp_flag_commit ,mem_master_sp_flag 
+0x758e 021235 rtn 
+:      021237 master_clear_mem_master_sp_flag:
+0x758f 021238 jam sp_flag_standby ,mem_master_sp_flag 
+0x7590 021239 rtn 
+:      021240 sp_calc_sequence:
+0x7591 021241 bpatchx patch32_5 ,mem_patch32 
+0x7592 021242 fetch 1 ,mem_ssp_enable 
+0x7593 021243 rtn blank 
+0x7594 021244 fetch 1 ,mem_sp_calc 
+0x7595 021245 rtn blank 
+0x7596 021246 increase 0x80 ,pdata 
+0x7597 021247 store 1 ,mem_sp_calc 
+0x7598 021248 rtnbit1 7 
+0x7599 021249 fetch 1 ,mem_ec_loopc 
+0x759a 021250 branch sp_calc_sequence_done ,blank 
+0x759b 021251 branch eckp_calc 
+:      021253 sp_calc_sequence_done:
+0x759c 021254 call ecunmapz 
+0x759d 021255 fetch 1 ,mem_sp_calc 
+0x759e 021256 beq sp_calc_pubkey ,sp_pubkey_generated 
+0x759f 021257 beq sp_calc_dhkey ,sp_dhkey_generated 
+0x75a0 021258 rtn 
+:      021261 bn_testbit:
+0x75a1 021262 and pdata ,7 ,queue 
+0x75a2 021263 rshift3 pdata ,pdata 
+0x75a3 021264 iadd contr ,contr 
+0x75a4 021265 ifetch 1 ,contr 
+0x75a5 021266 qisolate0 pdata 
+0x75a6 021267 rtn 
+:      021270 ec_copy:
+0x75a7 021271 call memcpy24 
+0x75a8 021272 call memcpy24 
+0x75a9 021273 branch memcpy24 
+:      021276 bn_eq_zero:
+0x75aa 021277 ifetch 8 ,contr 
+0x75ab 021278 nrtn blank 
+0x75ac 021279 ifetch 8 ,contr 
+0x75ad 021280 nrtn blank 
+0x75ae 021281 ifetch 8 ,contr 
+0x75af 021282 rtn 
+:      021287 bn_eq_0:
+0x75b0 021288 ifetch 4 ,rega 
+0x75b1 021289 iforce temp 
+0x75b2 021290 ifetch 4 ,regb 
+0x75b3 021291 isub temp ,null 
+0x75b4 021292 nrtn zero 
+0x75b5 021293 increase 4 ,rega 
+0x75b6 021294 increase 4 ,regb 
+0x75b7 021295 loop bn_eq_0 
+0x75b8 021296 rtn 
+:      021299 bn_bigeq:
+0x75b9 021300 force 6 ,loopcnt 
+0x75ba 021301 increase 20 ,rega 
+0x75bb 021302 increase 20 ,regb 
+:      021303 bn_bigeq_0:
+0x75bc 021304 ifetch 4 ,regb 
+0x75bd 021305 iforce temp 
+0x75be 021306 ifetch 4 ,rega 
+0x75bf 021307 isub temp ,pdata 
+0x75c0 021308 nrtn positive 
+0x75c1 021309 nrtn blank 
+0x75c2 021310 increase -4 ,rega 
+0x75c3 021311 increase -4 ,regb 
+0x75c4 021312 loop bn_bigeq_0 
+0x75c5 021313 rtn 
+:      021315 bn_add:
+0x75c6 021316 force 6 ,loopcnt 
+0x75c7 021317 force 0 ,regc 
+:      021318 bn_add_0:
+0x75c8 021319 ifetch 4 ,rega 
+0x75c9 021320 iforce temp 
+0x75ca 021321 ifetch 4 ,regb 
+0x75cb 021322 iadd temp ,pdata 
+0x75cc 021323 iadd regc ,pdata 
+0x75cd 021324 istore 4 ,contw 
+0x75ce 021325 isolate1 32 ,pdata 
+0x75cf 021326 setflag true ,0 ,regc 
+0x75d0 021327 increase 4 ,rega 
+0x75d1 021328 increase 4 ,regb 
+0x75d2 021329 loop bn_add_0 
+0x75d3 021330 rtn 
+:      021332 bn_sub:
+0x75d4 021333 force 6 ,loopcnt 
+0x75d5 021334 force 0 ,regc 
+:      021335 bn_sub_0:
+0x75d6 021336 ifetch 4 ,regb 
+0x75d7 021337 iforce temp 
+0x75d8 021338 ifetch 4 ,rega 
+0x75d9 021339 isub temp ,pdata 
+0x75da 021340 isub regc ,pdata 
+0x75db 021341 istore 4 ,contw 
+0x75dc 021342 isolate1 32 ,pdata 
+0x75dd 021343 setflag true ,0 ,regc 
+0x75de 021344 increase 4 ,rega 
+0x75df 021345 increase 4 ,regb 
+0x75e0 021346 loop bn_sub_0 
+0x75e1 021347 rtn 
+:      021349 bn_rshift6:
+0x75e2 021350 force 6 ,loopcnt 
+0x75e3 021351 increase 20 ,rega 
+:      021352 bn_rshift:
+0x75e4 021353 force 0 ,regc 
+:      021354 bn_rshift_0:
+0x75e5 021355 ifetch 4 ,rega 
+0x75e6 021356 isolate1 0 ,pdata 
+0x75e7 021357 setflag true ,1 ,regc 
+0x75e8 021358 rshift pdata ,pdata 
+0x75e9 021359 isolate1 0 ,regc 
+0x75ea 021360 setflag true ,31 ,pdata 
+0x75eb 021361 istore 4 ,rega 
+0x75ec 021362 increase -4 ,rega 
+0x75ed 021363 rshift regc ,regc 
+0x75ee 021364 loop bn_rshift_0 
+0x75ef 021365 rtn 
+:      021367 bn_lshift:
+0x75f0 021368 force 6 ,loopcnt 
+0x75f1 021369 force 0 ,regc 
+:      021370 bn_lshift_0:
+0x75f2 021371 ifetch 4 ,rega 
+0x75f3 021372 isolate1 31 ,pdata 
+0x75f4 021373 setflag true ,1 ,regc 
+0x75f5 021374 lshift pdata ,pdata 
+0x75f6 021375 isolate1 0 ,regc 
+0x75f7 021376 setflag true ,0 ,pdata 
+0x75f8 021377 istore 4 ,rega 
+0x75f9 021378 increase 4 ,rega 
+0x75fa 021379 rshift regc ,regc 
+0x75fb 021380 loop bn_lshift_0 
+0x75fc 021381 rtn 
+:      021383 bn_lshiftmod:
+0x75fd 021384 call bn_lshift 
+:      021385 bn_lshiftmod_ismod:
+0x75fe 021386 isolate1 0 ,regc 
+0x75ff 021387 branch bn_lshiftmod_0 ,true 
+0x7600 021388 arg mem_p ,regb 
+0x7601 021389 copy rega ,regc 
+0x7602 021390 increase -24 ,rega 
+0x7603 021391 call bn_bigeq 
+0x7604 021392 nrtn positive 
+0x7605 021393 copy regc ,rega 
+:      021394 bn_lshiftmod_0:
+0x7606 021395 increase -24 ,rega 
+0x7607 021396 arg mem_p ,regb 
+0x7608 021397 copy rega ,contw 
+0x7609 021398 branch bn_sub 
+:      021401 bn_addmod:
+0x760a 021402 call bn_add 
+0x760b 021403 copy contw ,rega 
+0x760c 021404 branch bn_lshiftmod_ismod 
+:      021406 bn_submod:
+0x760d 021407 call bn_sub 
+0x760e 021408 isolate0 0 ,regc 
+0x760f 021409 rtn true 
+0x7610 021410 arg mem_p ,regb 
+0x7611 021411 add contw ,-24 ,rega 
+0x7612 021412 copy rega ,contw 
+0x7613 021413 branch bn_add 
+:      021416 bn_p192mod:
+0x7614 021417 copy contw ,timeup 
+0x7615 021418 copy rega ,alarm 
+0x7616 021419 arg mem_tmp2 ,regb 
+0x7617 021420 copy regb ,contw 
+0x7618 021421 add rega ,24 ,contr 
+0x7619 021422 ifetch 8 ,contr 
+0x761a 021423 istore 8 ,contw 
+0x761b 021424 istore 8 ,contw 
+0x761c 021425 force 0 ,pdata 
+0x761d 021426 istore 8 ,contw 
+0x761e 021427 copy timeup ,contw 
+0x761f 021428 call bn_addmod 
+0x7620 021429 arg mem_tmp2 ,regb 
+0x7621 021430 copy regb ,contw 
+0x7622 021431 force 0 ,pdata 
+0x7623 021432 istore 8 ,contw 
+0x7624 021433 add alarm ,32 ,contr 
+0x7625 021434 ifetch 8 ,contr 
+0x7626 021435 istore 8 ,contw 
+0x7627 021436 istore 8 ,contw 
+0x7628 021437 copy timeup ,rega 
+0x7629 021438 copy rega ,contw 
+0x762a 021439 call bn_addmod 
+0x762b 021440 arg mem_tmp2 ,regb 
+0x762c 021441 copy regb ,contw 
+0x762d 021442 add alarm ,40 ,contr 
+0x762e 021443 ifetch 8 ,contr 
+0x762f 021444 istore 8 ,contw 
+0x7630 021445 istore 8 ,contw 
+0x7631 021446 istore 8 ,contw 
+0x7632 021447 copy timeup ,rega 
+0x7633 021448 copy rega ,contw 
+0x7634 021449 branch bn_addmod 
+:      021452 bn_load:
+0x7635 021453 force 6 ,loopcnt 
+:      021454 bn_load_0:
+0x7636 021455 ifetch 4 ,contr 
+0x7637 021456 iforce regext 
+0x7638 021457 increase 1 ,regext_index 
+0x7639 021458 loop bn_load_0 
+0x763a 021459 rtn 
+:      021463 bn_mulmod:
+0x763b 021464 copy contw ,timeup 
+0x763c 021465 arg mem_tmp1 ,contw 
+0x763d 021466 call bn_zero 
+0x763e 021467 arg mem_tmp1 ,contw 
+0x763f 021468 copy rega ,contr 
+0x7640 021469 force 0 ,regext_index 
+0x7641 021470 call bn_load 
+0x7642 021471 copy regb ,contr 
+0x7643 021472 call bn_load 
+0x7644 021473 force 0 ,regb 
+:      021474 bn_mulmod_1:
+0x7645 021475 force 0 ,temp 
+0x7646 021476 force 6 ,regc 
+:      021477 bn_mulmod_0:
+0x7647 021478 ifetch 4 ,contw 
+0x7648 021479 iforce rega 
+0x7649 021480 copy regb ,regext_index 
+0x764a 021481 deposit regext 
+0x764b 021482 copy regc ,regext_index 
+0x764c 021483 imul32 regext ,pdata 
+0x764d 021484 iadd rega ,pdata 
+0x764e 021485 iadd temp ,pdata 
+0x764f 021486 istore 4 ,contw 
+0x7650 021487 rshift32 pdata ,temp 
+0x7651 021488 increase 1 ,regc 
+0x7652 021489 compare 12 ,regc ,0xff 
+0x7653 021490 nbranch bn_mulmod_0 ,true 
+0x7654 021491 deposit temp 
+0x7655 021492 istore 4 ,contw 
+0x7656 021493 increase -24 ,contw 
+0x7657 021494 increase 1 ,regb 
+0x7658 021495 compare 6 ,regb ,0xff 
+0x7659 021496 nbranch bn_mulmod_1 ,true 
+0x765a 021497 arg mem_tmp1 ,rega 
+0x765b 021498 copy timeup ,contw 
+0x765c 021499 branch bn_p192mod 
+:      021502 bn_sqrmod:
+0x765d 021503 copy rega ,regb 
+0x765e 021504 branch bn_mulmod 
+:      021506 bn_rshifteven:
+0x765f 021507 copy rega ,alarm 
+:      021508 bn_rshifteven_1:
+0x7660 021509 copy alarm ,rega 
+0x7661 021510 ifetch 1 ,rega 
+0x7662 021511 isolate1 0 ,pdata 
+0x7663 021512 rtn true 
+0x7664 021513 call bn_rshift6 
+0x7665 021514 ifetch 1 ,regb 
+0x7666 021515 isolate0 0 ,pdata 
+0x7667 021516 branch bn_rshifteven_0 ,true 
+0x7668 021517 arg mem_p ,rega 
+0x7669 021518 copy regb ,contw 
+0x766a 021519 call bn_add 
+0x766b 021520 ifetch 1 ,regb 
+0x766c 021521 iadd regc ,pdata 
+0x766d 021522 istore 1 ,regb 
+0x766e 021523 increase -24 ,regb 
+:      021524 bn_rshifteven_0:
+0x766f 021525 add regb ,24 ,rega 
+0x7670 021526 force 7 ,loopcnt 
+0x7671 021527 call bn_rshift 
+0x7672 021528 branch bn_rshifteven_1 
+:      021531 bn_invmod:
+0x7673 021532 copy contw ,timeup 
+0x7674 021533 arg mem_tmp0 ,contw 
+0x7675 021534 call bn_zero 
+0x7676 021535 force 0 ,pdata 
+0x7677 021536 store 4 ,mem_tmp5 
+0x7678 021537 store 4 ,mem_t2 
+0x7679 021538 jam 1 ,mem_tmp0 
+0x767a 021539 arg mem_tmp1 ,contw 
+0x767b 021540 call bn_zero 
+0x767c 021541 arg mem_p ,contr 
+0x767d 021542 arg mem_tmp2 ,contw 
+0x767e 021543 call memcpy24 
+0x767f 021544 copy rega ,contr 
+0x7680 021545 arg mem_tmp3 ,contw 
+0x7681 021546 call memcpy24 
+:      021547 bn_invmod_2:
+0x7682 021548 arg mem_tmp3 ,contr 
+0x7683 021549 call bn_eq_zero 
+0x7684 021550 branch bn_invmod_0 ,blank 
+0x7685 021551 arg mem_tmp3 ,rega 
+0x7686 021552 arg mem_tmp0 ,regb 
+0x7687 021553 call bn_rshifteven 
+0x7688 021555 arg mem_tmp2 ,rega 
+0x7689 021556 arg mem_tmp1 ,regb 
+0x768a 021557 call bn_rshifteven 
+0x768b 021558 arg mem_tmp3 ,rega 
+0x768c 021559 arg mem_tmp2 ,regb 
+0x768d 021560 call bn_bigeq 
+0x768e 021561 branch bn_invmod_1 ,positive 
+0x768f 021562 arg mem_tmp2 ,rega 
+0x7690 021563 arg mem_tmp3 ,regb 
+0x7691 021564 copy rega ,contw 
+0x7692 021565 call bn_sub 
+0x7693 021566 arg mem_tmp0 ,rega 
+0x7694 021567 arg mem_tmp1 ,regb 
+0x7695 021568 copy regb ,contw 
+0x7696 021569 call bn_add 
+0x7697 021570 ifetch 1 ,rega 
+0x7698 021571 iadd regc ,regc 
+0x7699 021572 ifetch 1 ,regb 
+0x769a 021573 iadd regc ,pdata 
+0x769b 021574 istore 1 ,regb 
+0x769c 021575 branch bn_invmod_2 
+:      021576 bn_invmod_1:
+0x769d 021577 arg mem_tmp3 ,rega 
+0x769e 021578 arg mem_tmp2 ,regb 
+0x769f 021579 copy rega ,contw 
+0x76a0 021580 call bn_sub 
+0x76a1 021581 arg mem_tmp1 ,rega 
+0x76a2 021582 arg mem_tmp0 ,regb 
+0x76a3 021583 copy regb ,contw 
+0x76a4 021584 call bn_add 
+0x76a5 021585 ifetch 1 ,rega 
+0x76a6 021586 iadd regc ,regc 
+0x76a7 021587 ifetch 1 ,regb 
+0x76a8 021588 iadd regc ,pdata 
+0x76a9 021589 istore 1 ,regb 
+0x76aa 021590 branch bn_invmod_2 
+:      021591 bn_invmod_0:
+0x76ab 021592 arg mem_tmp0 ,contw 
+0x76ac 021593 call bn_zero 
+0x76ad 021594 fetch 1 ,mem_tmp5 
+0x76ae 021595 store 1 ,mem_tmp0 
+0x76af 021596 store 1 ,mem_tmp0a 
+0x76b0 021597 arg mem_tmp0 ,rega 
+0x76b1 021598 arg mem_tmp1 ,regb 
+0x76b2 021599 copy regb ,contw 
+0x76b3 021600 call bn_addmod 
+0x76b4 021601 arg mem_p ,rega 
+0x76b5 021602 arg mem_tmp1 ,regb 
+0x76b6 021603 copy timeup ,contw 
+0x76b7 021604 branch bn_submod 
+:      021609 ecdbl:
+0x76b8 021610 arg mem_cz ,rega 
+0x76b9 021611 arg mem_t2 ,contw 
+0x76ba 021612 call bn_sqrmod 
+0x76bb 021613 arg mem_t2 ,rega 
+0x76bc 021614 arg mem_t3 ,contw 
+0x76bd 021615 call bn_sqrmod 
+0x76be 021616 arg mem_a ,rega 
+0x76bf 021617 arg mem_t3 ,regb 
+0x76c0 021618 arg mem_t3 ,contw 
+0x76c1 021619 call bn_mulmod 
+0x76c2 021620 arg mem_cx ,rega 
+0x76c3 021621 arg mem_t2 ,contw 
+0x76c4 021622 call bn_sqrmod 
+0x76c5 021623 arg mem_t2 ,contr 
+0x76c6 021624 arg mem_t1 ,contw 
+0x76c7 021625 call memcpy24 
+0x76c8 021626 arg mem_t1 ,rega 
+0x76c9 021627 call bn_lshiftmod 
+0x76ca 021628 arg mem_t2 ,rega 
+0x76cb 021629 arg mem_t1 ,regb 
+0x76cc 021630 arg mem_t2 ,contw 
+0x76cd 021631 call bn_addmod 
+0x76ce 021632 arg mem_t2 ,rega 
+0x76cf 021633 arg mem_t3 ,regb 
+0x76d0 021634 arg mem_t2 ,contw 
+0x76d1 021635 call bn_addmod 
+0x76d2 021636 arg mem_cx ,contr 
+0x76d3 021637 arg mem_t1 ,contw 
+0x76d4 021638 call memcpy24 
+0x76d5 021639 arg mem_cy ,rega 
+0x76d6 021640 arg mem_t3 ,contw 
+0x76d7 021641 call bn_sqrmod 
+0x76d8 021642 arg mem_t1 ,rega 
+0x76d9 021643 call bn_lshiftmod 
+0x76da 021644 arg mem_t1 ,rega 
+0x76db 021645 call bn_lshiftmod 
+0x76dc 021646 arg mem_t1 ,rega 
+0x76dd 021647 arg mem_t3 ,regb 
+0x76de 021648 arg mem_t1 ,contw 
+0x76df 021649 call bn_mulmod 
+0x76e0 021650 arg mem_t3 ,rega 
+0x76e1 021651 arg mem_t0 ,contw 
+0x76e2 021652 call bn_sqrmod 
+0x76e3 021653 arg mem_t0 ,rega 
+0x76e4 021654 call bn_lshiftmod 
+0x76e5 021655 arg mem_t0 ,rega 
+0x76e6 021656 call bn_lshiftmod 
+0x76e7 021657 arg mem_t0 ,rega 
+0x76e8 021658 call bn_lshiftmod 
+0x76e9 021659 arg mem_cy ,contr 
+0x76ea 021660 arg mem_t3 ,contw 
+0x76eb 021661 call memcpy24 
+0x76ec 021662 arg mem_t3 ,rega 
+0x76ed 021663 call bn_lshiftmod 
+0x76ee 021664 arg mem_t3 ,rega 
+0x76ef 021665 arg mem_cz ,regb 
+0x76f0 021666 arg mem_cz ,contw 
+0x76f1 021667 call bn_mulmod 
+0x76f2 021668 arg mem_t2 ,rega 
+0x76f3 021669 arg mem_t3 ,contw 
+0x76f4 021670 call bn_sqrmod 
+0x76f5 021671 arg mem_t3 ,rega 
+0x76f6 021672 arg mem_t1 ,regb 
+0x76f7 021673 arg mem_t3 ,contw 
+0x76f8 021674 call bn_submod 
+0x76f9 021675 arg mem_t3 ,rega 
+0x76fa 021676 arg mem_t1 ,regb 
+0x76fb 021677 arg mem_cx ,contw 
+0x76fc 021678 call bn_submod 
+0x76fd 021679 arg mem_t1 ,rega 
+0x76fe 021680 arg mem_cx ,regb 
+0x76ff 021681 arg mem_t3 ,contw 
+0x7700 021682 call bn_submod 
+0x7701 021683 arg mem_t3 ,rega 
+0x7702 021684 arg mem_t2 ,regb 
+0x7703 021685 arg mem_t3 ,contw 
+0x7704 021686 call bn_mulmod 
+0x7705 021687 arg mem_t3 ,rega 
+0x7706 021688 arg mem_t0 ,regb 
+0x7707 021689 arg mem_cy ,contw 
+0x7708 021690 branch bn_submod 
+:      021694 ecadd:
+0x7709 021695 arg mem_az ,rega 
+0x770a 021696 arg mem_t7 ,contw 
+0x770b 021697 call bn_sqrmod 
+0x770c 021698 arg mem_cx ,rega 
+0x770d 021699 arg mem_t7 ,regb 
+0x770e 021700 arg mem_t0 ,contw 
+0x770f 021701 call bn_mulmod 
+0x7710 021702 arg mem_az ,rega 
+0x7711 021703 arg mem_t7 ,regb 
+0x7712 021704 arg mem_t7 ,contw 
+0x7713 021705 call bn_mulmod 
+0x7714 021706 arg mem_cy ,rega 
+0x7715 021707 arg mem_t7 ,regb 
+0x7716 021708 arg mem_t1 ,contw 
+0x7717 021709 call bn_mulmod 
+0x7718 021710 arg mem_cz ,rega 
+0x7719 021711 arg mem_t7 ,contw 
+0x771a 021712 call bn_sqrmod 
+0x771b 021713 arg mem_ax ,rega 
+0x771c 021714 arg mem_t7 ,regb 
+0x771d 021715 arg mem_t2 ,contw 
+0x771e 021716 call bn_mulmod 
+0x771f 021717 arg mem_cz ,rega 
+0x7720 021718 arg mem_t7 ,regb 
+0x7721 021719 arg mem_t7 ,contw 
+0x7722 021720 call bn_mulmod 
+0x7723 021721 arg mem_ay ,rega 
+0x7724 021722 arg mem_t7 ,regb 
+0x7725 021723 arg mem_t3 ,contw 
+0x7726 021724 call bn_mulmod 
+0x7727 021725 arg mem_t0 ,rega 
+0x7728 021726 arg mem_t2 ,regb 
+0x7729 021727 arg mem_t7 ,contw 
+0x772a 021728 call bn_submod 
+0x772b 021729 arg mem_t0 ,rega 
+0x772c 021730 arg mem_t2 ,regb 
+0x772d 021731 arg mem_t0 ,contw 
+0x772e 021732 call bn_addmod 
+0x772f 021733 arg mem_t1 ,rega 
+0x7730 021734 arg mem_t3 ,regb 
+0x7731 021735 arg mem_t2 ,contw 
+0x7732 021736 call bn_submod 
+0x7733 021737 arg mem_t1 ,rega 
+0x7734 021738 arg mem_t3 ,regb 
+0x7735 021739 arg mem_t1 ,contw 
+0x7736 021740 call bn_addmod 
+0x7737 021741 arg mem_t1 ,rega 
+0x7738 021742 arg mem_t7 ,regb 
+0x7739 021743 arg mem_t1 ,contw 
+0x773a 021744 call bn_mulmod 
+0x773b 021745 arg mem_cz ,rega 
+0x773c 021746 arg mem_az ,regb 
+0x773d 021747 arg mem_t3 ,contw 
+0x773e 021748 call bn_mulmod 
+0x773f 021749 arg mem_t3 ,rega 
+0x7740 021750 arg mem_t7 ,regb 
+0x7741 021751 arg mem_cz ,contw 
+0x7742 021752 call bn_mulmod 
+0x7743 021753 arg mem_t7 ,rega 
+0x7744 021754 arg mem_t7 ,contw 
+0x7745 021755 call bn_sqrmod 
+0x7746 021756 arg mem_t7 ,rega 
+0x7747 021757 arg mem_t0 ,regb 
+0x7748 021758 arg mem_t3 ,contw 
+0x7749 021759 call bn_mulmod 
+0x774a 021760 arg mem_t7 ,rega 
+0x774b 021761 arg mem_t1 ,regb 
+0x774c 021762 arg mem_t1 ,contw 
+0x774d 021763 call bn_mulmod 
+0x774e 021764 arg mem_t2 ,rega 
+0x774f 021765 arg mem_cx ,contw 
+0x7750 021766 call bn_sqrmod 
+0x7751 021767 arg mem_cx ,rega 
+0x7752 021768 arg mem_t3 ,regb 
+0x7753 021769 arg mem_cx ,contw 
+0x7754 021770 call bn_submod 
+0x7755 021771 arg mem_cx ,contr 
+0x7756 021772 arg mem_t7 ,contw 
+0x7757 021773 call memcpy24 
+0x7758 021774 arg mem_t7 ,rega 
+0x7759 021775 call bn_lshiftmod 
+0x775a 021776 arg mem_t3 ,rega 
+0x775b 021777 arg mem_t7 ,regb 
+0x775c 021778 arg mem_t3 ,contw 
+0x775d 021779 call bn_submod 
+0x775e 021780 arg mem_t3 ,rega 
+0x775f 021781 arg mem_t2 ,regb 
+0x7760 021782 arg mem_t2 ,contw 
+0x7761 021783 call bn_mulmod 
+0x7762 021784 arg mem_t2 ,rega 
+0x7763 021785 arg mem_t1 ,regb 
+0x7764 021786 arg mem_cy ,contw 
+0x7765 021787 call bn_submod 
+0x7766 021788 arg mem_cy ,rega 
+0x7767 021789 arg mem_p ,regb 
+0x7768 021790 arg mem_cy ,contw 
+0x7769 021791 force 0 ,regc 
+0x776a 021792 fetch 1 ,mem_cy 
+0x776b 021793 isolate1 0 ,pdata 
+0x776c 021794 call bn_add ,true 
+0x776d 021795 copy regc ,alarm 
+0x776e 021796 arg mem_cy ,rega 
+0x776f 021797 call bn_rshift6 
+0x7770 021798 fetch 1 ,mem_cy5 
+0x7771 021799 isolate1 0 ,alarm 
+0x7772 021800 setflag true ,7 ,pdata 
+0x7773 021801 store 1 ,mem_cy5 
+0x7774 021802 rtn 
+:      021806 eckp_0:
+0x7775 021807 fetch 1 ,mem_ec_loopc 
+0x7776 021808 increase -1 ,pdata 
+0x7777 021809 nrtn positive 
+0x7778 021810 store 1 ,mem_ec_loopc 
+0x7779 021811 fetch 1 ,mem_ec_infinite 
+0x777a 021812 call ecdbl ,blank 
+0x777b 021813 fetch 1 ,mem_ec_loopc 
+0x777c 021814 arg mem_k ,contr 
+0x777d 021815 call bn_testbit 
+0x777e 021816 branch eckp_0 ,true 
+0x777f 021817 fetch 1 ,mem_ec_infinite 
+0x7780 021818 nbranch eckp_1 ,blank 
+0x7781 021819 call ecadd 
+0x7782 021820 branch eckp_0 
+:      021821 eckp_1:
+0x7783 021822 jam 0 ,mem_ec_infinite 
+0x7784 021823 arg mem_ax ,contr 
+0x7785 021824 arg mem_cx ,contw 
+0x7786 021825 call ec_copy 
+0x7787 021826 branch eckp_0 
+:      021829 ecunmapz:
+0x7788 021830 arg mem_cz ,rega 
+0x7789 021831 arg mem_t3 ,contw 
+0x778a 021832 call bn_invmod 
+0x778b 021833 arg mem_t3 ,rega 
+0x778c 021834 arg mem_t1 ,contw 
+0x778d 021835 call bn_sqrmod 
+0x778e 021836 arg mem_cx ,rega 
+0x778f 021837 arg mem_t1 ,regb 
+0x7790 021838 arg mem_bx ,contw 
+0x7791 021839 call bn_mulmod 
+0x7792 021840 arg mem_t3 ,rega 
+0x7793 021841 arg mem_t1 ,regb 
+0x7794 021842 arg mem_t2 ,contw 
+0x7795 021843 call bn_mulmod 
+0x7796 021844 arg mem_cy ,rega 
+0x7797 021845 arg mem_t2 ,regb 
+0x7798 021846 arg mem_by ,contw 
+0x7799 021847 branch bn_mulmod 
+:      021851 sha_endian_swap2:
+0x779a 021852 ifetch 4 ,contr 
+0x779b 021853 force 4 ,rega 
+0x779c 021854 increase 3 ,contw 
+:      021855 sha_endian_loop:
+0x779d 021856 istore 1 ,contw 
+0x779e 021857 rshift8 pdata ,pdata 
+0x779f 021858 increase -2 ,contw 
+0x77a0 021859 increase -1 ,rega 
+0x77a1 021860 nbranch sha_endian_loop ,zero 
+0x77a2 021861 increase 5 ,contw 
+0x77a3 021862 loop sha_endian_swap2 
+0x77a4 021863 rtn 
+:      021866 sha_getw:
+0x77a5 021867 lshift2 queue ,pdata 
+0x77a6 021868 iadd timeup ,contr 
+0x77a7 021869 ifetch 4 ,contr 
+0x77a8 021870 rtn 
+:      021872 sha_r:
+0x77a9 021873 force 16 ,alarm 
+0x77aa 021874 arg memdat ,timeup 
+:      021875 sha_r_loop:
+0x77ab 021876 add alarm ,-7 ,queue 
+0x77ac 021877 call sha_getw 
+0x77ad 021878 iforce temp 
+0x77ae 021879 add alarm ,-16 ,queue 
+0x77af 021880 call sha_getw 
+0x77b0 021881 iadd temp ,temp 
+0x77b1 021882 add alarm ,-2 ,queue 
+0x77b2 021883 call sha_getw 
+0x77b3 021884 shasx pdata ,1 ,pdata 
+0x77b4 021885 iadd temp ,temp 
+0x77b5 021886 add alarm ,-15 ,queue 
+0x77b6 021887 call sha_getw 
+0x77b7 021888 shasx pdata ,0 ,pdata 
+0x77b8 021889 iadd temp ,temp 
+0x77b9 021890 lshift2 alarm ,pdata 
+0x77ba 021891 iadd timeup ,contw 
+0x77bb 021892 istoret 4 ,contw 
+0x77bc 021893 increase 1 ,alarm 
+0x77bd 021894 compare 64 ,alarm ,0xff 
+0x77be 021895 nbranch sha_r_loop ,true 
+0x77bf 021896 rtn 
+:      021899 sha_init:
+0x77c0 021900 arg memh0 ,contr 
+0x77c1 021901 force 7 ,regext_index 
+:      021902 sha_init_0:
+0x77c2 021903 ifetch 4 ,contr 
+0x77c3 021904 iforce regext 
+0x77c4 021905 increase -1 ,regext_index 
+0x77c5 021906 branch sha_init_0 ,positive 
+0x77c6 021907 rtn 
+:      021909 sha:
+0x77c7 021910 bpatchx patch32_6 ,mem_patch32 
+0x77c8 021911 call sha_r 
+0x77c9 021912 arg memahbak ,contw 
+0x77ca 021913 force 0 ,regext_index 
+:      021914 sha_0:
+0x77cb 021915 deposit regext 
+0x77cc 021916 istore 4 ,contw 
+0x77cd 021917 increase 1 ,regext_index 
+0x77ce 021918 compare 8 ,regext_index ,0xff 
+0x77cf 021919 nbranch sha_0 ,true 
+0x77d0 021920 call enable_authrom 
+0x77d1 021921 arg memk ,timeup 
+0x77d2 021922 arg memdat ,alarm 
+0x77d3 021923 force 64 ,loopcnt 
+:      021924 sha_loop:
+0x77d4 021925 ifetcht 4 ,alarm 
+0x77d5 021926 ifetch 4 ,timeup 
+0x77d6 021927 increase 4 ,timeup 
+0x77d7 021928 increase 4 ,alarm 
+0x77d8 021929 iadd temp ,pdata 
+0x77d9 021930 force 7 ,regext_index 
+0x77da 021931 iadd regext ,temp 
+0x77db 021932 force 4 ,regext_index 
+0x77dc 021933 shasx regext ,3 ,pdata 
+0x77dd 021934 iadd temp ,temp 
+0x77de 021935 force 5 ,regext_index 
+0x77df 021936 deposit regext 
+0x77e0 021937 force 6 ,regext_index 
+0x77e1 021938 ixor regext ,pdata 
+0x77e2 021939 force 4 ,regext_index 
+0x77e3 021940 iand regext ,pdata 
+0x77e4 021941 force 6 ,regext_index 
+0x77e5 021942 ixor regext ,pdata 
+0x77e6 021943 iadd temp ,temp 
+0x77e7 021944 force 7 ,regext_index 
+0x77e8 021945 copy temp ,regext 
+0x77e9 021946 force 3 ,regext_index 
+0x77ea 021947 deposit regext 
+0x77eb 021948 iadd temp ,regext 
+0x77ec 021949 force 0 ,regext_index 
+0x77ed 021950 deposit regext 
+0x77ee 021951 force 1 ,regext_index 
+0x77ef 021952 iand regext ,temp 
+0x77f0 021953 ior regext ,pdata 
+0x77f1 021954 force 2 ,regext_index 
+0x77f2 021955 iand regext ,pdata 
+0x77f3 021956 ior temp ,temp 
+0x77f4 021957 force 0 ,regext_index 
+0x77f5 021958 shasx regext ,2 ,pdata 
+0x77f6 021959 iadd temp ,pdata 
+0x77f7 021960 force 7 ,regext_index 
+0x77f8 021961 iadd regext ,regext 
+0x77f9 021962 regexrot 
+0x77fa 021963 loop sha_loop 
+0x77fb 021964 arg memahbak ,contr 
+0x77fc 021965 force 0 ,regext_index 
+:      021966 sha_1:
+0x77fd 021967 ifetch 4 ,contr 
+0x77fe 021968 iadd regext ,regext 
+0x77ff 021969 increase 1 ,regext_index 
+0x7800 021970 compare 8 ,regext_index ,0xff 
+0x7801 021971 nbranch sha_1 ,true 
+0x7802 021972 branch disable_authrom 
+:      021975 sha_result:
+0x7803 021976 arg memresult ,contw 
+0x7804 021977 force 7 ,regext_index 
+:      021978 sha_regext_save:
+0x7805 021979 deposit regext 
+0x7806 021980 istore 4 ,contw 
+0x7807 021981 increase -1 ,regext_index 
+0x7808 021982 branch sha_regext_save ,positive 
+0x7809 021983 rtn 
+:      021985 pad_xor:
+0x780a 021987 arg memdat ,contw 
+0x780b 021988 increase -4 ,contr 
+0x780c 021989 sub loopcnt ,16 ,rega 
+:      021990 pad_xor_0:
+0x780d 021991 ifetch 4 ,contr 
+0x780e 021992 ixor temp ,pdata 
+0x780f 021993 istore 4 ,contw 
+0x7810 021994 increase -8 ,contr 
+0x7811 021995 loop pad_xor_0 
+0x7812 021996 copy rega ,loopcnt 
+0x7813 021997 deposit temp 
+:      021998 pad_xor_1:
+0x7814 021999 istore 4 ,contw 
+0x7815 022000 loop pad_xor_1 
+0x7816 022001 rtn 
+:      022003 g_noninit_number_confirm:
+0x7817 022004 call g_noninit0 
+0x7818 022005 call sha_result 
+0x7819 022006 branch g_common0 
+:      022008 g_noninit:
+0x781a 022009 call g_noninit0 
+0x781b 022010 branch g_common0 
+:      022012 g_noninit0:
+0x781c 022013 arg mem_sp_pubkey_remote_x_end ,contr 
+0x781d 022014 arg memdat ,contw 
+0x781e 022015 force 6 ,loopcnt 
+0x781f 022016 call memcpy_dword_swap 
+0x7820 022017 arg mem_sp_pubkey_local_x_end ,contr 
+0x7821 022018 force 6 ,loopcnt 
+0x7822 022019 call memcpy_dword_swap 
+0x7823 022020 arg mem_sp_random_remote_end ,contr 
+0x7824 022021 call memcpy_dword_swap4 
+0x7825 022022 call sha_init 
+0x7826 022023 call sha 
+0x7827 022024 arg mem_sp_random_local_end ,contr 
+0x7828 022025 arg memdat ,contw 
+0x7829 022026 branch g_common 
+:      022028 g_init:
+0x782a 022029 arg mem_sp_pubkey_local_x_end ,contr 
+0x782b 022030 arg memdat ,contw 
+0x782c 022031 force 6 ,loopcnt 
+0x782d 022032 call memcpy_dword_swap 
+0x782e 022033 arg mem_sp_pubkey_remote_x_end ,contr 
+0x782f 022034 force 6 ,loopcnt 
+0x7830 022035 call memcpy_dword_swap 
+0x7831 022036 arg mem_sp_random_local_end ,contr 
+0x7832 022037 call memcpy_dword_swap4 
+0x7833 022038 call sha_init 
+0x7834 022039 call sha 
+0x7835 022040 arg mem_sp_random_remote_end ,contr 
+0x7836 022041 arg memdat ,contw 
+0x7837 022042 call g_common 
+0x7838 022043 branch g_common0 
+:      022045 g_common:
+0x7839 022046 call memcpy_dword_swap4 
+0x783a 022047 setarg 0x800000 
+0x783b 022048 lshift8 pdata ,pdata 
+0x783c 022049 istore 4 ,contw 
+0x783d 022050 force 5 ,loopcnt 
+0x783e 022051 call memset0 
+0x783f 022052 setarg 640 
+0x7840 022053 istore 4 ,contw 
+0x7841 022054 branch sha 
+:      022055 g_common0:
+0x7842 022056 fetch 4 ,memresult 
+0x7843 022058 arg 1000 ,rega 
+0x7844 022059 idiv rega 
+0x7845 022060 call wait_div_end 
+0x7846 022061 remainder pdata 
+0x7847 022062 store 4 ,mem_gkey 
+0x7848 022063 quotient pdata 
+0x7849 022064 arg 1000 ,rega 
+0x784a 022065 idiv rega 
+0x784b 022066 call wait_div_end 
+0x784c 022067 remainder pdata 
+0x784d 022068 arg 1000 ,rega 
+0x784e 022069 imul32 rega ,pdata 
+0x784f 022070 fetcht 4 ,mem_gkey 
+0x7850 022071 iadd temp ,pdata 
+0x7851 022072 store 4 ,mem_gkey 
+0x7852 022073 rtn 
+:      022075 function_f1_no_key:
+0x7853 022076 jam 0 ,mem_passkey_1bit 
+0x7854 022077 branch function_f1_common 
+:      022079 function_f1:
+0x7855 022080 fetch 1 ,mem_ssp_mode_flag 
+0x7856 022081 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+:      022082 function_f1_common:
+0x7857 022083 bpatchx patch32_7 ,mem_patch32 
+0x7858 022084 setarg 0x363636 
+0x7859 022085 lshift8 pdata ,temp 
+0x785a 022086 or_into 0x36 ,temp 
+0x785b 022087 fetch 2 ,mem_sp_prarm_stack 
+0x785c 022088 copy pdata ,contr 
+0x785d 022089 force 4 ,loopcnt 
+0x785e 022090 call pad_xor 
+0x785f 022091 call sha_init 
+0x7860 022092 call sha 
+0x7861 022093 fetch 2 ,mem_sp_prarm_stack + 2 
+0x7862 022094 copy pdata ,contr 
+0x7863 022095 arg memdat ,contw 
+0x7864 022096 force 6 ,loopcnt 
+0x7865 022097 call memcpy_dword_swap 
+0x7866 022098 fetch 2 ,mem_sp_prarm_stack + 4 
+0x7867 022099 copy pdata ,contr 
+0x7868 022100 force 6 ,loopcnt 
+0x7869 022101 call memcpy_dword_swap 
+0x786a 022102 setarg 0x800000 
+0x786b 022103 istore 3 ,contw 
+0x786c 022105 fetch 1 ,mem_passkey_1bit 
+0x786d 022107 istore 1 ,contw 
+0x786e 022108 force 0 ,pdata 
+0x786f 022109 istore 8 ,contw 
+0x7870 022110 setarg 0x0388 
+0x7871 022111 istore 4 ,contw 
+0x7872 022112 call sha 
+0x7873 022113 call sha_result 
+0x7874 022114 arg memresult ,contr 
+0x7875 022115 arg memahsave ,contw 
+0x7876 022116 call memcpy32 
+0x7877 022118 setarg 0x5c5c5c 
+0x7878 022119 lshift8 pdata ,temp 
+0x7879 022120 or_into 0x5c ,temp 
+0x787a 022121 fetch 2 ,mem_sp_prarm_stack 
+0x787b 022122 copy pdata ,contr 
+0x787c 022123 force 4 ,loopcnt 
+0x787d 022124 call pad_xor 
+0x787e 022125 call sha_init 
+0x787f 022126 call sha 
+0x7880 022127 arg memahsave_end ,contr 
+0x7881 022128 arg memdat ,contw 
+0x7882 022129 force 8 ,loopcnt 
+0x7883 022130 call memcpy_dword_swap 
+0x7884 022131 setarg 0x800000 
+0x7885 022132 lshift8 pdata ,pdata 
+0x7886 022133 istore 4 ,contw 
+0x7887 022134 call bn_zero 
+0x7888 022135 setarg 0x0300 
+0x7889 022136 istore 4 ,contw 
+0x788a 022137 call sha 
+0x788b 022138 branch sha_result 
+:      022141 function_f2:
+0x788c 022142 setarg 0x363636 
+0x788d 022143 lshift8 pdata ,temp 
+0x788e 022144 or_into 0x36 ,temp 
+0x788f 022145 arg mem_sp_dhkey_end ,contr 
+0x7890 022146 force 6 ,loopcnt 
+0x7891 022147 call pad_xor 
+0x7892 022148 call sha_init 
+0x7893 022149 call sha 
+0x7894 022150 fetch 2 ,mem_sp_prarm_stack + 12 
+0x7895 022151 copy pdata ,contr 
+0x7896 022152 arg memdat ,contw 
+0x7897 022153 call memcpy_dword_swap4 
+0x7898 022154 fetch 2 ,mem_sp_prarm_stack + 14 
+0x7899 022155 copy pdata ,contr 
+0x789a 022156 call memcpy_dword_swap4 
+0x789b 022158 setarg 0x62746c 
+0x789c 022159 lshift8 pdata ,pdata 
+0x789d 022160 or_into 0x6b ,pdata 
+0x789e 022161 istore 4 ,contw 
+0x789f 022162 arg mem_addr_value_end ,contr 
+0x78a0 022163 force 3 ,loopcnt 
+0x78a1 022164 call memcpy_dword_swap 
+0x78a2 022166 setarg 0x800000 
+0x78a3 022167 lshift8 pdata ,pdata 
+0x78a4 022168 istore 4 ,contw 
+0x78a5 022169 force 0 ,pdata 
+0x78a6 022170 istore 8 ,contw 
+0x78a7 022171 setarg 0x0380 
+0x78a8 022172 istore 4 ,contw 
+0x78a9 022173 call sha 
+0x78aa 022175 call sha_result 
+0x78ab 022176 arg memresult ,contr 
+0x78ac 022177 arg memahsave ,contw 
+0x78ad 022178 call memcpy32 
+0x78ae 022180 setarg 0x5c5c5c 
+0x78af 022181 lshift8 pdata ,temp 
+0x78b0 022182 or_into 0x5c ,temp 
+0x78b1 022183 arg mem_sp_dhkey_end ,contr 
+0x78b2 022184 force 6 ,loopcnt 
+0x78b3 022185 call pad_xor 
+0x78b4 022186 call sha_init 
+0x78b5 022187 call sha 
+0x78b6 022188 arg memahsave_end ,contr 
+0x78b7 022189 arg memdat ,contw 
+0x78b8 022190 force 8 ,loopcnt 
+0x78b9 022191 call memcpy_dword_swap 
+0x78ba 022192 setarg 0x800000 
+0x78bb 022193 lshift8 pdata ,pdata 
+0x78bc 022194 istore 4 ,contw 
+0x78bd 022195 call bn_zero 
+0x78be 022196 setarg 0x0300 
+0x78bf 022197 istore 4 ,contw 
+0x78c0 022198 call sha 
+0x78c1 022199 branch sha_result 
+:      022202 function_f3a:
+0x78c2 022203 fetch 1 ,mem_ssp_mode_flag 
+0x78c3 022204 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+:      022205 function_f3a_common:
+0x78c4 022206 bpatchx patch33_0 ,mem_patch33 
+0x78c5 022207 setarg 0x363636 
+0x78c6 022208 lshift8 pdata ,temp 
+0x78c7 022209 or_into 0x36 ,temp 
+0x78c8 022210 arg mem_sp_dhkey_end ,contr 
+0x78c9 022211 force 6 ,loopcnt 
+0x78ca 022212 call pad_xor 
+0x78cb 022213 call sha_init 
+0x78cc 022214 call sha 
+0x78cd 022215 arg mem_sp_random_remote_end ,contr 
+0x78ce 022216 arg memdat ,contw 
+0x78cf 022217 call memcpy_dword_swap4 
+0x78d0 022218 arg mem_sp_random_local_end ,contr 
+0x78d1 022219 call memcpy_dword_swap4 
+0x78d2 022220 branch function_f3_common 
+:      022222 function_f3a_no_pin:
+0x78d3 022223 setarg 0 
+0x78d4 022224 store 4 ,mem_pin 
+0x78d5 022225 branch function_f3a_common 
+:      022227 function_f3b_no_pin:
+0x78d6 022228 setarg 0 
+0x78d7 022229 store 4 ,mem_pin 
+0x78d8 022230 branch function_f3b_common 
+:      022233 function_f3b:
+0x78d9 022234 fetch 1 ,mem_ssp_mode_flag 
+0x78da 022235 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+:      022236 function_f3b_common:
+0x78db 022237 setarg 0x363636 
+0x78dc 022238 lshift8 pdata ,temp 
+0x78dd 022239 or_into 0x36 ,temp 
+0x78de 022240 arg mem_sp_dhkey_end ,contr 
+0x78df 022241 force 6 ,loopcnt 
+0x78e0 022242 call pad_xor 
+0x78e1 022243 call sha_init 
+0x78e2 022244 call sha 
+0x78e3 022246 arg mem_sp_random_local_end ,contr 
+0x78e4 022247 arg memdat ,contw 
+0x78e5 022248 call memcpy_dword_swap4 
+0x78e6 022249 arg mem_sp_random_remote_end ,contr 
+0x78e7 022250 call memcpy_dword_swap4 
+:      022251 function_f3_common:
+0x78e8 022252 setarg 0x0 
+0x78e9 022253 istore 8 ,contw 
+0x78ea 022254 istore 4 ,contw 
+0x78eb 022255 fetch 4 ,mem_pin 
+0x78ec 022256 istore 4 ,contw 
+0x78ed 022258 copy contw ,temp 
+0x78ee 022259 jam 0x80 ,mem_addr_padding 
+0x78ef 022260 copy temp ,contw 
+0x78f0 022261 arg mem_addr_iocap_end ,contr 
+0x78f1 022262 call memcpy_dword_swap4 
+0x78f2 022264 call sha 
+0x78f3 022266 arg memdat ,contw 
+0x78f4 022267 force 7 ,loopcnt 
+0x78f5 022268 call memset0 
+0x78f6 022269 istore 4 ,contw 
+0x78f7 022270 setarg 0x03F8 
+0x78f8 022271 istore 4 ,contw 
+0x78f9 022272 call sha 
+0x78fa 022273 call sha_result 
+0x78fb 022275 arg memresult ,contr 
+0x78fc 022276 arg memahsave ,contw 
+0x78fd 022277 call memcpy32 
+0x78fe 022279 setarg 0x5c5c5c 
+0x78ff 022280 lshift8 pdata ,temp 
+0x7900 022281 or_into 0x5c ,temp 
+0x7901 022282 arg mem_sp_dhkey_end ,contr 
+0x7902 022283 force 6 ,loopcnt 
+0x7903 022284 call pad_xor 
+0x7904 022285 call sha_init 
+0x7905 022286 call sha 
+0x7906 022287 arg memahsave_end ,contr 
+0x7907 022288 arg memdat ,contw 
+0x7908 022289 force 8 ,loopcnt 
+0x7909 022290 call memcpy_dword_swap 
+0x790a 022291 setarg 0x800000 
+0x790b 022292 lshift8 pdata ,pdata 
+0x790c 022293 istore 4 ,contw 
+0x790d 022294 call bn_zero 
+0x790e 022295 setarg 0x0300 
+0x790f 022296 istore 4 ,contw 
+0x7910 022297 call sha 
+0x7911 022298 branch sha_result 
+:      022305 eckp_calc_init:
+0x7912 022306 jam 192 ,mem_ec_loopc 
+:      022307 eckp_calc_init_1:
+0x7913 022308 fetch 1 ,mem_ec_loopc 
+0x7914 022309 rtn blank 
+0x7915 022310 increase -1 ,pdata 
+0x7916 022311 store 1 ,mem_ec_loopc 
+0x7917 022312 arg mem_k ,contr 
+0x7918 022313 call bn_testbit 
+0x7919 022314 branch eckp_calc_init_1 ,true 
+0x791a 022315 arg mem_ax ,contr 
+0x791b 022316 arg mem_cx ,contw 
+0x791c 022317 branch ec_copy 
+:      022319 eckp_calc:
+0x791d 022320 call ecdbl 
+0x791e 022321 fetch 1 ,mem_ec_loopc 
+0x791f 022322 increase -1 ,pdata 
+0x7920 022323 store 1 ,mem_ec_loopc 
+0x7921 022324 arg mem_k ,contr 
+0x7922 022325 call bn_testbit 
+0x7923 022326 rtn true 
+0x7924 022327 branch ecadd 
+:      022329 memcpy_dword_swap4:
+0x7925 022330 force 4 ,loopcnt 
+:      022331 memcpy_dword_swap:
+0x7926 022332 increase -4 ,contr 
+:      022333 memcpy_dword_swap_loop:
+0x7927 022334 ifetch 4 ,contr 
+0x7928 022335 istore 4 ,contw 
+0x7929 022336 increase -8 ,contr 
+0x792a 022337 loop memcpy_dword_swap_loop 
+0x792b 022338 rtn 
+:      022343 sp_initialize_256:
+0x792c 022344 bpatchx patch33_1 ,mem_patch33 
+0x792d 022345 fetch 1 ,mem_le_secure_connect_enable 
+0x792e 022346 branch le_secure_connection_disable ,blank 
+0x792f 022347 call le_secure_connection_enable 
+0x7930 022348 call sp_clear_flags 
+0x7931 022350 branch sp_pubkey_calc_256 
+:      022355 sp_pubkey_calc_256:
+0x7932 022356 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7933 022357 rtnne sp_key_invalid 
+0x7934 022358 fetch 1 ,mem_le_sc_calc 
+0x7935 022359 rtnne sp_calc_standby 
+0x7936 022361 arg mem_le_private_key_256 ,contw 
+0x7937 022362 force 15 ,queue 
+0x7938 022363 call random_generator 
+0x7939 022364 random pdata 
+0x793a 022365 rshift pdata ,pdata 
+0x793b 022366 istore 2 ,contw 
+0x793c 022368 arg mem_k_256 ,contw 
+0x793d 022369 arg mem_le_private_key_256 ,contr 
+0x793e 022370 call memcpy32 
+0x793f 022372 arg mem_ax_256 ,contw 
+0x7940 022373 arg mem_gx_256 ,contr 
+0x7941 022374 call memcpy64 
+0x7942 022376 arg mem_az_256 ,contw 
+0x7943 022377 call clear_mem_256 
+0x7944 022378 jam 1 ,mem_az_256 
+0x7945 022380 call eckp_calc_init_256 
+0x7946 022381 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+0x7947 022382 rtn 
+:      022384 sp_pubkey_generated_256:
+0x7948 022385 arg mem_le_pubkey_local_x_256 ,contw 
+0x7949 022386 arg mem_bx_256 ,contr 
+0x794a 022387 call memcpy64 
+0x794b 022388 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+0x794c 022389 jam sp_calc_standby ,mem_le_sc_calc 
+0x794d 022390 rtn 
+:      022394 sp_dhkey_calc_256:
+0x794e 022395 fetch 1 ,mem_sp_dhkey_invalid 
+0x794f 022396 rtnne sp_key_invalid 
+0x7950 022397 fetch 1 ,mem_le_sc_calc 
+0x7951 022398 rtnne sp_calc_standby 
+0x7952 022400 arg mem_k_256 ,contw 
+0x7953 022401 arg mem_le_private_key_256 ,contr 
+0x7954 022402 call memcpy32 
+0x7955 022404 arg mem_ax_256 ,contw 
+0x7956 022405 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7957 022406 call memcpy64 
+0x7958 022408 arg mem_az_256 ,contw 
+0x7959 022409 call clear_mem_256 
+0x795a 022410 jam 1 ,mem_az_256 
+0x795b 022412 call eckp_calc_init_256 
+0x795c 022413 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+0x795d 022414 rtn 
+:      022417 sp_dhkey_generated_256:
+0x795e 022419 arg mem_le_dhkey_256 ,contw 
+0x795f 022420 arg mem_bx_256 ,contr 
+0x7960 022421 call memcpy32 
+0x7961 022422 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+0x7962 022423 jam sp_calc_standby ,mem_le_sc_calc 
+0x7963 022424 rtn 
+:      022428 sp_calc_sequence_256:
+0x7964 022429 fetch 1 ,mem_le_secure_connect_enable 
+0x7965 022430 rtn blank 
+0x7966 022431 fetch 1 ,mem_le_sc_calc 
+0x7967 022432 rtn blank 
+0x7968 022433 increase 0x80 ,pdata 
+0x7969 022434 store 1 ,mem_le_sc_calc 
+0x796a 022435 rtnbit1 7 
+0x796b 022436 fetch 2 ,mem_ec_loopc 
+0x796c 022437 branch sp_calc_sequence_done_256 ,blank 
+0x796d 022438 branch eckp_calc_256 
+:      022440 sp_calc_sequence_done_256:
+0x796e 022441 bpatchx patch33_2 ,mem_patch33 
+0x796f 022442 call ecunmapz_256 
+0x7970 022443 fetch 1 ,mem_le_sc_calc 
+0x7971 022444 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+0x7972 022445 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+0x7973 022446 rtn 
+:      022449 eckp_calc_256:
+0x7974 022450 call ecdbl_256 
+0x7975 022451 fetch 2 ,mem_ec_loopc 
+0x7976 022452 increase -1 ,pdata 
+0x7977 022453 store 2 ,mem_ec_loopc 
+0x7978 022454 arg mem_k_256 ,contr 
+0x7979 022455 call bn_testbit 
+0x797a 022456 rtn true 
+0x797b 022457 branch ecadd_256 
+:      022459 eckp_calc_init_256:
+0x797c 022460 bpatchx patch33_3 ,mem_patch33 
+0x797d 022461 setarg 256 ,pdata 
+0x797e 022462 store 2 ,mem_ec_loopc 
+:      022463 eckp_calc_init_256_1:
+0x797f 022464 fetch 2 ,mem_ec_loopc 
+0x7980 022465 rtn blank 
+0x7981 022466 increase -1 ,pdata 
+0x7982 022467 store 2 ,mem_ec_loopc 
+0x7983 022468 arg mem_k_256 ,contr 
+0x7984 022469 call bn_testbit 
+0x7985 022470 branch eckp_calc_init_256_1 ,true 
+0x7986 022471 arg mem_ax_256 ,contr 
+0x7987 022472 arg mem_cx_256 ,contw 
+0x7988 022473 branch memcpy96 
+:      022476 ecunmapz_256:
+0x7989 022477 arg mem_cz_256 ,rega 
+0x798a 022478 arg mem_t3_256 ,contw 
+0x798b 022479 call bn_invmod_256 
+0x798c 022480 arg mem_t3_256 ,rega 
+0x798d 022481 arg mem_t1_256 ,contw 
+0x798e 022482 call bn_sqrmod_256 
+0x798f 022483 arg mem_cx_256 ,rega 
+0x7990 022484 arg mem_t1_256 ,regb 
+0x7991 022485 arg mem_bx_256 ,contw 
+0x7992 022486 call bn_mulmod_256 
+0x7993 022487 arg mem_t3_256 ,rega 
+0x7994 022488 arg mem_t1_256 ,regb 
+0x7995 022489 arg mem_t2_256 ,contw 
+0x7996 022490 call bn_mulmod_256 
+0x7997 022491 arg mem_cy_256 ,rega 
+0x7998 022492 arg mem_t2_256 ,regb 
+0x7999 022493 arg mem_by_256 ,contw 
+0x799a 022494 branch bn_mulmod_256 
+:      022496 ecdbl_256:
+0x799b 022497 arg mem_cz_256 ,rega 
+0x799c 022498 arg mem_t2_256 ,contw 
+0x799d 022499 call bn_sqrmod_256 
+0x799e 022500 arg mem_t2_256 ,rega 
+0x799f 022501 arg mem_t3_256 ,contw 
+0x79a0 022502 call bn_sqrmod_256 
+0x79a1 022504 arg mem_a_256 ,rega 
+0x79a2 022505 arg mem_t3_256 ,regb 
+0x79a3 022506 arg mem_t3_256 ,contw 
+0x79a4 022507 call bn_mulmod_256 
+0x79a5 022508 arg mem_cx_256 ,rega 
+0x79a6 022509 arg mem_t2_256 ,contw 
+0x79a7 022510 call bn_sqrmod_256 
+0x79a8 022512 arg mem_t2_256 ,contr 
+0x79a9 022513 arg mem_t1_256 ,contw 
+0x79aa 022514 call memcpy32 
+0x79ab 022515 arg mem_t1_256 ,rega 
+0x79ac 022516 call bn_lshiftmod_256 
+0x79ad 022517 arg mem_t2_256 ,rega 
+0x79ae 022518 arg mem_t1_256 ,regb 
+0x79af 022519 arg mem_t2_256 ,contw 
+0x79b0 022520 call bn_addmod_256 
+0x79b1 022522 arg mem_t2_256 ,rega 
+0x79b2 022523 arg mem_t3_256 ,regb 
+0x79b3 022524 arg mem_t2_256 ,contw 
+0x79b4 022525 call bn_addmod_256 
+0x79b5 022527 arg mem_cx_256 ,contr 
+0x79b6 022528 arg mem_t1_256 ,contw 
+0x79b7 022529 call memcpy32 
+0x79b8 022530 arg mem_cy_256 ,rega 
+0x79b9 022531 arg mem_t3_256 ,contw 
+0x79ba 022532 call bn_sqrmod_256 
+0x79bb 022533 arg mem_t1_256 ,rega 
+0x79bc 022534 call bn_lshiftmod_256 
+0x79bd 022535 arg mem_t1_256 ,rega 
+0x79be 022536 call bn_lshiftmod_256 
+0x79bf 022537 arg mem_t1_256 ,rega 
+0x79c0 022538 arg mem_t3_256 ,regb 
+0x79c1 022539 arg mem_t1_256 ,contw 
+0x79c2 022540 call bn_mulmod_256 
+0x79c3 022541 arg mem_t3_256 ,rega 
+0x79c4 022542 arg mem_t0_256 ,contw 
+0x79c5 022543 call bn_sqrmod_256 
+0x79c6 022544 arg mem_t0_256 ,rega 
+0x79c7 022545 call bn_lshiftmod_256 
+0x79c8 022546 arg mem_t0_256 ,rega 
+0x79c9 022547 call bn_lshiftmod_256 
+0x79ca 022548 arg mem_t0_256 ,rega 
+0x79cb 022549 call bn_lshiftmod_256 
+0x79cc 022550 arg mem_cy_256 ,contr 
+0x79cd 022551 arg mem_t3_256 ,contw 
+0x79ce 022552 call memcpy32 
+0x79cf 022553 arg mem_t3_256 ,rega 
+0x79d0 022554 call bn_lshiftmod_256 
+0x79d1 022555 arg mem_t3_256 ,rega 
+0x79d2 022556 arg mem_cz_256 ,regb 
+0x79d3 022557 arg mem_cz_256 ,contw 
+0x79d4 022558 call bn_mulmod_256 
+0x79d5 022561 arg mem_t2_256 ,rega 
+0x79d6 022562 arg mem_t3_256 ,contw 
+0x79d7 022563 call bn_sqrmod_256 
+0x79d8 022565 arg mem_t3_256 ,rega 
+0x79d9 022566 arg mem_t1_256 ,regb 
+0x79da 022567 arg mem_t3_256 ,contw 
+0x79db 022568 call bn_submod_256 
+0x79dc 022569 arg mem_t3_256 ,rega 
+0x79dd 022570 arg mem_t1_256 ,regb 
+0x79de 022571 arg mem_cx_256 ,contw 
+0x79df 022572 call bn_submod_256 
+0x79e0 022573 arg mem_t1_256 ,rega 
+0x79e1 022574 arg mem_cx_256 ,regb 
+0x79e2 022575 arg mem_t3_256 ,contw 
+0x79e3 022576 call bn_submod_256 
+0x79e4 022577 arg mem_t3_256 ,rega 
+0x79e5 022578 arg mem_t2_256 ,regb 
+0x79e6 022579 arg mem_t3_256 ,contw 
+0x79e7 022580 call bn_mulmod_256 
+0x79e8 022581 arg mem_t3_256 ,rega 
+0x79e9 022582 arg mem_t0_256 ,regb 
+0x79ea 022583 arg mem_cy_256 ,contw 
+0x79eb 022584 branch bn_submod_256 
+:      022586 ecadd_256:
+0x79ec 022588 arg mem_az_256 ,rega 
+0x79ed 022589 arg mem_t7_256 ,contw 
+0x79ee 022590 call bn_sqrmod_256 
+0x79ef 022591 arg mem_cx_256 ,rega 
+0x79f0 022592 arg mem_t7_256 ,regb 
+0x79f1 022593 arg mem_t0_256 ,contw 
+0x79f2 022594 call bn_mulmod_256 
+0x79f3 022597 arg mem_az_256 ,rega 
+0x79f4 022598 arg mem_t7_256 ,regb 
+0x79f5 022599 arg mem_t7_256 ,contw 
+0x79f6 022600 call bn_mulmod_256 
+0x79f7 022601 arg mem_cy_256 ,rega 
+0x79f8 022602 arg mem_t7_256 ,regb 
+0x79f9 022603 arg mem_t1_256 ,contw 
+0x79fa 022604 call bn_mulmod_256 
+0x79fb 022607 arg mem_cz_256 ,rega 
+0x79fc 022608 arg mem_t7_256 ,contw 
+0x79fd 022609 call bn_sqrmod_256 
+0x79fe 022610 arg mem_ax_256 ,rega 
+0x79ff 022611 arg mem_t7_256 ,regb 
+0x7a00 022612 arg mem_t2_256 ,contw 
+0x7a01 022613 call bn_mulmod_256 
+0x7a02 022615 arg mem_cz_256 ,rega 
+0x7a03 022616 arg mem_t7_256 ,regb 
+0x7a04 022617 arg mem_t7_256 ,contw 
+0x7a05 022618 call bn_mulmod_256 
+0x7a06 022619 arg mem_ay_256 ,rega 
+0x7a07 022620 arg mem_t7_256 ,regb 
+0x7a08 022621 arg mem_t3_256 ,contw 
+0x7a09 022622 call bn_mulmod_256 
+0x7a0a 022627 arg mem_t0_256 ,regb 
+0x7a0b 022628 arg mem_t2_256 ,rega 
+0x7a0c 022629 arg mem_t7_256 ,contw 
+0x7a0d 022630 call bn_submod_256 
+0x7a0e 022631 arg mem_t0_256 ,rega 
+0x7a0f 022632 arg mem_t2_256 ,regb 
+0x7a10 022633 arg mem_t0_256 ,contw 
+0x7a11 022634 call bn_addmod_256 
+0x7a12 022637 arg mem_t1_256 ,regb 
+0x7a13 022638 arg mem_t3_256 ,rega 
+0x7a14 022639 arg mem_t2_256 ,contw 
+0x7a15 022640 call bn_submod_256 
+0x7a16 022641 arg mem_t1_256 ,rega 
+0x7a17 022642 arg mem_t3_256 ,regb 
+0x7a18 022643 arg mem_t1_256 ,contw 
+0x7a19 022644 call bn_addmod_256 
+0x7a1a 022645 arg mem_t1_256 ,rega 
+0x7a1b 022646 arg mem_t7_256 ,regb 
+0x7a1c 022647 arg mem_t1_256 ,contw 
+0x7a1d 022648 call bn_mulmod_256 
+0x7a1e 022649 arg mem_cz_256 ,rega 
+0x7a1f 022650 arg mem_az_256 ,regb 
+0x7a20 022651 arg mem_t3_256 ,contw 
+0x7a21 022652 call bn_mulmod_256 
+0x7a22 022653 arg mem_t3_256 ,rega 
+0x7a23 022654 arg mem_t7_256 ,regb 
+0x7a24 022655 arg mem_cz_256 ,contw 
+0x7a25 022656 call bn_mulmod_256 
+0x7a26 022658 arg mem_t7_256 ,rega 
+0x7a27 022659 arg mem_t7_256 ,contw 
+0x7a28 022660 call bn_sqrmod_256 
+0x7a29 022661 arg mem_t7_256 ,rega 
+0x7a2a 022662 arg mem_t0_256 ,regb 
+0x7a2b 022663 arg mem_t3_256 ,contw 
+0x7a2c 022664 call bn_mulmod_256 
+0x7a2d 022665 arg mem_t7_256 ,rega 
+0x7a2e 022666 arg mem_t1_256 ,regb 
+0x7a2f 022667 arg mem_t1_256 ,contw 
+0x7a30 022668 call bn_mulmod_256 
+0x7a31 022669 arg mem_t2_256 ,rega 
+0x7a32 022670 arg mem_cx_256 ,contw 
+0x7a33 022671 call bn_sqrmod_256 
+0x7a34 022672 arg mem_cx_256 ,rega 
+0x7a35 022673 arg mem_t3_256 ,regb 
+0x7a36 022674 arg mem_cx_256 ,contw 
+0x7a37 022675 call bn_submod_256 
+0x7a38 022676 arg mem_cx_256 ,contr 
+0x7a39 022677 arg mem_t7_256 ,contw 
+0x7a3a 022678 call memcpy32 
+0x7a3b 022679 arg mem_t7_256 ,rega 
+0x7a3c 022680 call bn_lshiftmod_256 
+0x7a3d 022681 arg mem_t3_256 ,rega 
+0x7a3e 022682 arg mem_t7_256 ,regb 
+0x7a3f 022683 arg mem_t3_256 ,contw 
+0x7a40 022684 call bn_submod_256 
+0x7a41 022685 arg mem_t3_256 ,rega 
+0x7a42 022686 arg mem_t2_256 ,regb 
+0x7a43 022687 arg mem_t2_256 ,contw 
+0x7a44 022688 call bn_mulmod_256 
+0x7a45 022689 arg mem_t2_256 ,rega 
+0x7a46 022690 arg mem_t1_256 ,regb 
+0x7a47 022691 arg mem_cy_256 ,contw 
+0x7a48 022692 call bn_submod_256 
+0x7a49 022693 arg mem_cy_256 ,rega 
+0x7a4a 022694 arg mem_p_256 ,regb 
+0x7a4b 022695 arg mem_cy_256 ,contw 
+0x7a4c 022696 force 0 ,regc 
+0x7a4d 022697 fetch 1 ,mem_cy_256 
+0x7a4e 022698 isolate1 0 ,pdata 
+0x7a4f 022699 call bn_add_256 ,true 
+0x7a50 022700 copy regc ,alarm 
+0x7a51 022701 arg mem_cy_256 ,rega 
+0x7a52 022702 call bn_rshift_256 
+0x7a53 022703 fetch 1 ,mem_cy5_256 
+0x7a54 022704 isolate1 0 ,alarm 
+0x7a55 022705 setflag true ,7 ,pdata 
+0x7a56 022706 store 1 ,mem_cy5_256 
+0x7a57 022707 rtn 
+:      022709 bn_invmod_256:
+0x7a58 022710 copy contw ,timeup 
+0x7a59 022711 arg mem_tmp0_256 ,contw 
+0x7a5a 022712 call clear_mem_256 
+0x7a5b 022713 force 0 ,pdata 
+0x7a5c 022715 store 4 ,mem_t2_256 
+0x7a5d 022716 jam 1 ,mem_tmp0_256 
+0x7a5e 022717 arg mem_tmp1_256 ,contw 
+0x7a5f 022718 call clear_mem_512 
+0x7a60 022719 arg mem_p_256 ,contr 
+0x7a61 022720 arg mem_tmp2_256 ,contw 
+0x7a62 022721 call memcpy32 
+0x7a63 022722 copy rega ,contr 
+0x7a64 022723 arg mem_tmp3_256 ,contw 
+0x7a65 022724 call memcpy32 
+:      022730 bn_invmod_256_2:
+0x7a66 022731 arg mem_tmp3_256 ,contr 
+0x7a67 022732 call bn_eq_zero_256 
+0x7a68 022733 branch bn_invmod_256_0 ,blank 
+0x7a69 022738 arg mem_tmp3_256 ,rega 
+0x7a6a 022739 arg mem_tmp0_256 ,regb 
+0x7a6b 022740 call bn_rshifteven_256 
+0x7a6c 022741 arg mem_tmp2_256 ,rega 
+0x7a6d 022742 arg mem_tmp1_256 ,regb 
+0x7a6e 022743 call bn_rshifteven_256 
+0x7a6f 022745 arg mem_tmp3_256 ,rega 
+0x7a70 022746 arg mem_tmp2_256 ,regb 
+0x7a71 022747 call bn_bigeq_256 
+0x7a72 022748 branch bn_invmod_256_1 ,positive 
+0x7a73 022749 arg mem_tmp2_256 ,rega 
+0x7a74 022750 arg mem_tmp3_256 ,regb 
+0x7a75 022751 copy rega ,contw 
+0x7a76 022752 call bn_sub_256 
+0x7a77 022753 arg mem_tmp0_256 ,rega 
+0x7a78 022754 arg mem_tmp1_256 ,regb 
+0x7a79 022755 copy regb ,contw 
+0x7a7a 022756 call bn_add_256 
+0x7a7b 022757 ifetch 1 ,rega 
+0x7a7c 022758 iadd regc ,regc 
+0x7a7d 022759 ifetch 1 ,regb 
+0x7a7e 022760 iadd regc ,pdata 
+0x7a7f 022761 istore 1 ,regb 
+0x7a80 022762 branch bn_invmod_256_2 
+:      022763 bn_invmod_256_1:
+0x7a81 022764 arg mem_tmp3_256 ,rega 
+0x7a82 022765 arg mem_tmp2_256 ,regb 
+0x7a83 022766 copy rega ,contw 
+0x7a84 022767 call bn_sub_256 
+0x7a85 022768 arg mem_tmp1_256 ,rega 
+0x7a86 022769 arg mem_tmp0_256 ,regb 
+0x7a87 022770 copy regb ,contw 
+0x7a88 022771 call bn_add_256 
+0x7a89 022772 ifetch 1 ,rega 
+0x7a8a 022773 iadd regc ,regc 
+0x7a8b 022774 ifetch 1 ,regb 
+0x7a8c 022775 iadd regc ,pdata 
+0x7a8d 022776 istore 1 ,regb 
+0x7a8e 022777 branch bn_invmod_256_2 
+:      022778 bn_invmod_256_0:
+0x7a8f 022780 arg mem_tmp1_256 ,rega 
+0x7a90 022781 copy timeup ,contw 
+0x7a91 022782 call bn_p256mod 
+0x7a92 022784 arg mem_p_256 ,rega 
+0x7a93 022785 copy timeup ,regb 
+0x7a94 022786 copy timeup ,contw 
+0x7a95 022787 branch bn_submod_256 
+:      022790 bn_mulmod_256:
+0x7a96 022791 copy contw ,timeup 
+0x7a97 022793 force 0 ,regext_index 
+0x7a98 022795 arg mem_tmp1_256 ,contw 
+0x7a99 022796 call clear_mem_512 
+0x7a9a 022797 arg mem_regext ,contw 
+0x7a9b 022798 call clear_mem_512 
+0x7a9c 022802 copy rega ,contr 
+0x7a9d 022804 jam 0 ,mem_regext 
+0x7a9e 022805 setarg 0 
+0x7a9f 022806 call bn_load_mem 
+0x7aa0 022807 copy regb ,contr 
+0x7aa1 022808 call bn_load_256 
+0x7aa2 022811 force 0 ,queue 
+0x7aa3 022812 arg mem_tmp1_256 ,contw 
+:      022813 bn_mulmod_256_1:
+0x7aa4 022816 arg mem_regext ,temp 
+0x7aa5 022817 copy queue ,regb 
+0x7aa6 022818 lshift2 regb ,pdata 
+0x7aa7 022820 iadd temp ,regb 
+0x7aa8 022821 force 0 ,temp 
+0x7aa9 022822 force 0 ,regc 
+:      022823 bn_mulmod_256_0:
+0x7aaa 022828 ifetch 4 ,contw 
+0x7aab 022829 iforce rega 
+0x7aac 022832 ifetch 4 ,regb 
+0x7aad 022833 copy regc ,regext_index 
+0x7aae 022834 imul32 regext ,pdata 
+0x7aaf 022835 iadd rega ,pdata 
+0x7ab0 022836 iadd temp ,pdata 
+0x7ab1 022837 istore 4 ,contw 
+0x7ab2 022838 rshift32 pdata ,temp 
+0x7ab3 022839 increase 1 ,regc 
+0x7ab4 022840 compare 8 ,regc ,0xff 
+0x7ab5 022841 nbranch bn_mulmod_256_0 ,true 
+0x7ab6 022843 deposit temp 
+0x7ab7 022844 istore 4 ,contw 
+0x7ab8 022845 increase -32 ,contw 
+0x7ab9 022848 increase 1 ,queue 
+0x7aba 022849 compare 8 ,queue ,0xff 
+0x7abb 022850 nbranch bn_mulmod_256_1 ,true 
+0x7abc 022851 arg mem_tmp1_256 ,rega 
+0x7abd 022852 copy timeup ,contw 
+0x7abe 022853 branch bn_p256mod 
+:      022855 bn_p256mod:
+0x7abf 022856 bpatchx patch33_4 ,mem_patch33 
+0x7ac0 022857 copy contw ,timeup 
+0x7ac1 022858 copy rega ,alarm 
+0x7ac2 022859 arg mem_tmp2_256 ,regb 
+0x7ac3 022860 copy regb ,contw 
+0x7ac4 022861 call memset0_4 
+0x7ac5 022862 istore 8 ,contw 
+0x7ac6 022863 add rega ,44 ,contr 
+0x7ac7 022864 call memcpy8 
+0x7ac8 022865 call memcpy12 
+0x7ac9 022866 copy regb ,rega 
+0x7aca 022867 call bn_lshiftmod_256 
+0x7acb 022868 arg mem_tmp2_256 ,regb 
+0x7acc 022869 copy alarm ,rega 
+0x7acd 022870 copy timeup ,contw 
+0x7ace 022871 call bn_addmod_256 
+0x7acf 022873 arg mem_tmp2_256 ,regb 
+0x7ad0 022874 copy regb ,contw 
+0x7ad1 022875 call memset0_4 
+0x7ad2 022876 istore 8 ,contw 
+0x7ad3 022877 add alarm ,48 ,contr 
+0x7ad4 022878 call memcpy16 
+0x7ad5 022879 call memset0_4 
+0x7ad6 022880 copy regb ,rega 
+0x7ad7 022881 call bn_lshiftmod_256 
+0x7ad8 022885 arg mem_tmp2_256 ,regb 
+0x7ad9 022886 copy timeup ,rega 
+0x7ada 022887 copy rega ,contw 
+0x7adb 022888 call bn_addmod_256 
+0x7adc 022892 arg mem_tmp2_256 ,regb 
+0x7add 022893 copy regb ,contw 
+0x7ade 022894 add alarm ,32 ,contr 
+0x7adf 022895 call memcpy12 
+0x7ae0 022896 call memset0_4 
+0x7ae1 022897 istore 8 ,contw 
+0x7ae2 022898 add alarm ,56 ,contr 
+0x7ae3 022899 call memcpy8 
+0x7ae4 022900 copy timeup ,rega 
+0x7ae5 022901 copy rega ,contw 
+0x7ae6 022902 call bn_addmod_256 
+0x7ae7 022906 arg mem_tmp2_256 ,regb 
+0x7ae8 022907 copy regb ,contw 
+0x7ae9 022908 add alarm ,36 ,contr 
+0x7aea 022909 call memcpy12 
+0x7aeb 022910 add alarm ,52 ,contr 
+0x7aec 022911 call memcpy12 
+0x7aed 022912 add alarm ,52 ,contr 
+0x7aee 022913 call memcpy4 
+0x7aef 022914 add alarm ,32 ,contr 
+0x7af0 022915 call memcpy4 
+0x7af1 022916 copy timeup ,rega 
+0x7af2 022917 copy rega ,contw 
+0x7af3 022918 call bn_addmod_256 
+0x7af4 022921 arg mem_tmp2_256 ,regb 
+0x7af5 022922 copy regb ,contw 
+0x7af6 022923 add alarm ,44 ,contr 
+0x7af7 022924 call memcpy12 
+0x7af8 022925 call memset0_4 
+0x7af9 022926 istore 8 ,contw 
+0x7afa 022927 add alarm ,32 ,contr 
+0x7afb 022928 call memcpy4 
+0x7afc 022929 add alarm ,40 ,contr 
+0x7afd 022930 call memcpy4 
+0x7afe 022931 copy timeup ,rega 
+0x7aff 022932 copy rega ,contw 
+0x7b00 022933 call bn_submod_256 
+0x7b01 022936 arg mem_tmp2_256 ,regb 
+0x7b02 022937 copy regb ,contw 
+0x7b03 022938 add alarm ,48 ,contr 
+0x7b04 022939 call memcpy8 
+0x7b05 022940 call memcpy8 
+0x7b06 022941 force 0 ,pdata 
+0x7b07 022942 istore 8 ,contw 
+0x7b08 022943 add alarm ,36 ,contr 
+0x7b09 022944 call memcpy4 
+0x7b0a 022945 add alarm ,44 ,contr 
+0x7b0b 022946 call memcpy4 
+0x7b0c 022947 copy timeup ,rega 
+0x7b0d 022948 copy rega ,contw 
+0x7b0e 022949 call bn_submod_256 
+0x7b0f 022952 arg mem_tmp2_256 ,regb 
+0x7b10 022953 copy regb ,contw 
+0x7b11 022954 add alarm ,52 ,contr 
+0x7b12 022955 call memcpy12 
+0x7b13 022956 add alarm ,32 ,contr 
+0x7b14 022957 call memcpy12 
+0x7b15 022958 call memset0_4 
+0x7b16 022959 add alarm ,48 ,contr 
+0x7b17 022960 call memcpy4 
+0x7b18 022961 copy timeup ,rega 
+0x7b19 022962 copy rega ,contw 
+0x7b1a 022963 call bn_submod_256 
+0x7b1b 022966 arg mem_tmp2_256 ,regb 
+0x7b1c 022967 copy regb ,contw 
+0x7b1d 022968 add alarm ,56 ,contr 
+0x7b1e 022969 call memcpy8 
+0x7b1f 022970 call memset0_4 
+0x7b20 022971 add alarm ,36 ,contr 
+0x7b21 022972 call memcpy12 
+0x7b22 022973 call memset0_4 
+0x7b23 022974 add alarm ,52 ,contr 
+0x7b24 022975 call memcpy4 
+0x7b25 022976 copy timeup ,rega 
+0x7b26 022977 copy rega ,contw 
+0x7b27 022978 branch bn_submod_256 
+:      022981 bn_load_mem:
+0x7b28 022982 force 32 ,loopcnt 
+0x7b29 022983 arg mem_regext ,contw 
+0x7b2a 022984 iadd contw ,contw 
+0x7b2b 022985 branch memcpy 
+:      022987 bn_load_256:
+0x7b2c 022988 force 8 ,loopcnt 
+0x7b2d 022989 branch bn_load_0 
+:      022991 bn_sqrmod_256:
+0x7b2e 022992 copy rega ,regb 
+0x7b2f 022993 branch bn_mulmod_256 
+:      022995 bn_add_256:
+0x7b30 022996 force 8 ,loopcnt 
+0x7b31 022997 branch bn_add + 1 
+:      022999 bn_addmod_256:
+0x7b32 023000 call bn_add_256 
+0x7b33 023001 copy contw ,rega 
+0x7b34 023002 branch bn_lshiftmod_ismod_256 
+:      023004 bn_lshiftmod_256:
+0x7b35 023005 call bn_lshift_256 
+:      023006 bn_lshiftmod_ismod_256:
+0x7b36 023007 isolate1 0 ,regc 
+0x7b37 023008 branch bn_lshiftmod_p_256 ,true 
+0x7b38 023009 arg mem_p_256 ,regb 
+0x7b39 023010 copy rega ,regc 
+0x7b3a 023011 increase -32 ,rega 
+0x7b3b 023012 call bn_bigeq_256 
+0x7b3c 023013 nrtn positive 
+0x7b3d 023014 copy regc ,rega 
+0x7b3e 023015 branch sub_p2_256 
+:      023017 bn_lshiftmod_p_256:
+0x7b3f 023018 call sub_p2_256 
+0x7b40 023020 copy rega ,regc 
+0x7b41 023021 increase -32 ,rega 
+0x7b42 023022 arg mem_p_256 ,regb 
+0x7b43 023023 call bn_bigeq_256 
+0x7b44 023024 nrtn positive 
+0x7b45 023025 copy regc ,rega 
+0x7b46 023026 branch sub_p2_256 
+:      023029 sub_p2_256:
+0x7b47 023030 increase -32 ,rega 
+0x7b48 023031 arg mem_p_256 ,regb 
+0x7b49 023032 copy rega ,contw 
+0x7b4a 023033 branch bn_sub_256 
+:      023038 bn_submod_256:
+0x7b4b 023039 call bn_sub_256 
+0x7b4c 023041 branch bn_submod_256_np ,true 
+0x7b4d 023044 add contw ,-32 ,rega 
+0x7b4e 023045 arg mem_p_256 ,regb 
+0x7b4f 023046 call bn_bigeq_256 
+0x7b50 023047 nrtn positive 
+0x7b51 023048 arg mem_p_256 ,regb 
+0x7b52 023049 add contw ,-32 ,rega 
+0x7b53 023051 copy rega ,contw 
+0x7b54 023052 branch bn_sub_256 
+:      023053 bn_submod_256_np:
+0x7b55 023054 add contw ,-32 ,rega 
+0x7b56 023055 arg mem_p_256 ,regb 
+0x7b57 023056 copy rega ,contw 
+0x7b58 023057 call bn_add_256 
+0x7b59 023059 rtn true 
+0x7b5a 023060 add contw ,-32 ,rega 
+0x7b5b 023061 arg mem_p_256 ,regb 
+0x7b5c 023062 copy rega ,contw 
+0x7b5d 023063 branch bn_add_256 
+:      023067 bn_sub_256:
+0x7b5e 023068 force 8 ,loopcnt 
+0x7b5f 023069 branch bn_sub + 1 
+:      023071 bn_rshift_256:
+0x7b60 023072 force 8 ,loopcnt 
+0x7b61 023073 increase 28 ,rega 
+0x7b62 023074 branch bn_rshift 
+:      023076 bn_lshift_256:
+0x7b63 023077 force 8 ,loopcnt 
+0x7b64 023078 force 0 ,regc 
+0x7b65 023079 branch bn_lshift_0 
+:      023081 bn_bigeq_256:
+0x7b66 023082 force 8 ,loopcnt 
+0x7b67 023083 increase 28 ,rega 
+0x7b68 023084 increase 28 ,regb 
+0x7b69 023085 branch bn_bigeq_0 
+:      023088 bn_eq_zero_256:
+0x7b6a 023089 ifetch 8 ,contr 
+0x7b6b 023090 nrtn blank 
+0x7b6c 023091 branch bn_eq_zero 
+:      023096 bn_rshifteven_256:
+0x7b6d 023097 copy rega ,alarm 
+:      023098 bn_rshifteven_256_1:
+0x7b6e 023099 copy alarm ,rega 
+0x7b6f 023100 ifetch 1 ,rega 
+0x7b70 023101 isolate1 0 ,pdata 
+0x7b71 023102 rtn true 
+0x7b72 023103 call bn_rshift_256 
+0x7b73 023104 ifetch 1 ,regb 
+0x7b74 023105 isolate0 0 ,pdata 
+0x7b75 023106 branch bn_rshifteven_256_0 ,true 
+0x7b76 023107 arg mem_p_256 ,rega 
+0x7b77 023108 copy regb ,contw 
+0x7b78 023109 call bn_add_256 
+0x7b79 023110 ifetch 1 ,regb 
+0x7b7a 023111 iadd regc ,pdata 
+0x7b7b 023112 istore 1 ,regb 
+0x7b7c 023113 increase -32 ,regb 
+:      023114 bn_rshifteven_256_0:
+0x7b7d 023115 add regb ,32 ,rega 
+0x7b7e 023116 force 9 ,loopcnt 
+0x7b7f 023117 call bn_rshift 
+0x7b80 023118 branch bn_rshifteven_256_1 
+:      023122 ui_init:
+0x7b81 023123 call lpm_disable_exen_output 
+0x7b82 023124 rtn wake 
+0x7b83 023125 branch ui_timer_init 
+:      023127 ui_dispatch:
+0x7b84 023128 branch ui_timer_check 
+:      023133 ui_timer_timeout:
+0x7b85 023134 setarg 0x1000 
+0x7b86 023135 lshift16 pdata ,pdata 
+0x7b87 023136 iadd regb ,regb 
+0x7b88 023137 rtn 
+:      023139 ui_timer_check:
+0x7b89 023140 bpatchx patch33_5 ,mem_patch33 
+0x7b8a 023141 arg 0 ,rega 
+0x7b8b 023142 fetcht 4 ,mem_ui_timer_last_btclk 
+0x7b8c 023143 copy clkn_bt ,regb 
+0x7b8d 023144 copy regb ,pdata 
+0x7b8e 023145 isub temp ,null 
+0x7b8f 023146 ncall ui_timer_timeout ,positive 
+:      023148 ui_timer_check_loop:
+0x7b90 023149 copy regb ,pdata 
+0x7b91 023150 increase 160 ,temp 
+0x7b92 023151 increase 160 ,temp 
+0x7b93 023152 isub temp ,null 
+0x7b94 023153 nbranch ui_timer_check_end ,positive 
+0x7b95 023154 increase 1 ,rega 
+0x7b96 023155 and rega ,0x0f ,pdata 
+0x7b97 023156 nbranch ui_timer_check_loop ,blank 
+0x7b98 023157 arg 0 ,rega 
+0x7b99 023158 call ui_timer_check_send_evt 
+:      023159 ui_timer_init:
+0x7b9a 023160 copy clkn_bt ,pdata 
+0x7b9b 023161 store 4 ,mem_ui_timer_last_btclk 
+0x7b9c 023162 rtn 
+:      023163 ui_timer_check_end:
+0x7b9d 023164 bpatchx patch33_6 ,mem_patch33 
+0x7b9e 023165 copy rega ,pdata 
+0x7b9f 023166 rtn blank 
+0x7ba0 023167 increase -160 ,temp 
+0x7ba1 023168 increase -160 ,temp 
+0x7ba2 023169 set0 28 ,temp 
+0x7ba3 023170 storet 4 ,mem_ui_timer_last_btclk 
+:      023171 ui_timer_check_send_evt:
+0x7ba4 023172 branch app_evt_timer 
+:      023179 ui_ipc_get_lock:
+0x7ba5 023180 jam 1 ,mem_ipc_lock_bt 
+:      023181 ui_ipc_get_lock_wait:
+0x7ba6 023182 fetch 1 ,mem_ipc_lock_c51 
+0x7ba7 023183 nbranch ui_ipc_get_lock_wait ,blank 
+0x7ba8 023184 rtn 
+:      023186 ui_ipc_put_lock:
+0x7ba9 023187 jam 0 ,mem_ipc_lock_bt 
+0x7baa 023188 rtn 
+:      023192 ui_ipc_send_event:
+0x7bab 023193 bpatchx patch33_7 ,mem_patch33 
+0x7bac 023194 call ui_ipc_get_lock 
+0x7bad 023195 copy rega ,pdata 
+0x7bae 023196 store 4 ,mem_ipc_rega_temp 
+0x7baf 023197 arg mem_ipc_fifo_bt2c51 ,rega 
+0x7bb0 023198 call fifo_in 
+0x7bb1 023199 fetch 4 ,mem_ipc_rega_temp 
+0x7bb2 023200 copy pdata ,rega 
+0x7bb3 023201 branch ui_ipc_put_lock 
+:      023203 ui_ipc_send_cmd:
+0x7bb4 023204 bpatchx patch34_0 ,mem_patch34 
+0x7bb5 023205 call ui_ipc_get_lock 
+0x7bb6 023206 copy rega ,pdata 
+0x7bb7 023207 store 4 ,mem_ipc_rega_temp 
+0x7bb8 023208 arg mem_ipc_fifo_c512bt ,rega 
+0x7bb9 023209 call fifo_in 
+0x7bba 023210 fetch 4 ,mem_ipc_rega_temp 
+0x7bbb 023211 copy pdata ,rega 
+0x7bbc 023212 branch ui_ipc_put_lock 
+:      023214 ui_ipc_clean_all_fifo:
+0x7bbd 023215 setarg 0 
+0x7bbe 023216 store util_fifo_len ,mem_ipc_fifo_c512bt 
+0x7bbf 023217 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x7bc0 023218 rtn 
+:      023220 check_51cmd:
+0x7bc1 023221 bpatchx patch34_1 ,mem_patch34 
+0x7bc2 023222 fetch 1 ,mem_hci_cmd 
+0x7bc3 023223 nrtn blank 
+0x7bc4 023224 arg mem_ipc_fifo_c512bt ,rega 
+0x7bc5 023225 call fifo_is_empty 
+0x7bc6 023226 rtn blank 
+0x7bc7 023227 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+0x7bc8 023228 call check_51cmd_once 
+0x7bc9 023229 fetch 1 ,mem_ipc_skip_continue_proc 
+0x7bca 023230 branch check_51cmd ,blank 
+0x7bcb 023231 rtn 
+:      023233 check_51cmd_once:
+0x7bcc 023234 call ui_ipc_get_lock 
+0x7bcd 023235 arg mem_ipc_fifo_c512bt ,rega 
+0x7bce 023236 call fifo_out 
+0x7bcf 023237 copy pdata ,temp 
+0x7bd0 023238 call ui_ipc_put_lock 
+0x7bd1 023239 bpatchx patch34_2 ,mem_patch34 
+0x7bd2 023240 copy temp ,pdata 
+0x7bd3 023241 rtn blank 
+0x7bd4 023242 beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+0x7bd5 023243 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+0x7bd6 023244 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+0x7bd7 023245 beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+0x7bd8 023246 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+0x7bd9 023247 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+0x7bda 023248 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+0x7bdb 023249 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+0x7bdc 023250 beq bt_cmd_start_adv ,check_51cmd_adv 
+0x7bdd 023251 beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+0x7bde 023252 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+0x7bdf 023253 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+0x7be0 023254 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+0x7be1 023255 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+0x7be2 023256 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+0x7be3 023257 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+0x7be4 023258 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+0x7be5 023259 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+0x7be6 023261 store 1 ,mem_fifo_temp 
+0x7be7 023262 bpatchx patch34_3 ,mem_patch34 
+0x7be8 023263 call lmo_fifo_check 
+0x7be9 023264 nbranch check_51cmd_restore ,blank 
+:      023265 check_51cmd_once_continue:
+0x7bea 023266 fetch 1 ,mem_fifo_temp 
+0x7beb 023267 bmark0 mark_context ,check_51cmd_check_idle 
+0x7bec 023268 beq bt_cmd_disconnect ,check_51cmd_disconnect 
+0x7bed 023269 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+0x7bee 023270 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+0x7bef 023271 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+0x7bf0 023272 beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+0x7bf1 023273 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+0x7bf2 023274 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+0x7bf3 023275 beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+0x7bf4 023276 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+0x7bf5 023277 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+0x7bf6 023278 beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+0x7bf7 023279 rtn 
+:      023281 check_51cmd_check_idle:
+0x7bf8 023282 store 1 ,mem_fifo_temp 
+0x7bf9 023283 call context_check_idle 
+0x7bfa 023284 branch check_51cmd_restore ,zero 
+0x7bfb 023285 call context_search_plap 
+0x7bfc 023286 nrtn zero 
+:      023287 check_51cmd_restore:
+0x7bfd 023288 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+0x7bfe 023289 branch ui_ipc_send_cmd 
+:      023294 check_51cmd_start_discovery:
+0x7bff 023295 fetch 2 ,mem_ui_state_map 
+0x7c00 023296 set1 ui_state_bt_discovery 
+0x7c01 023297 store 2 ,mem_ui_state_map 
+0x7c02 023298 jam 3 ,mem_scan_mode 
+0x7c03 023299 rtn 
+:      023303 check_51cmd_stop_discovery:
+0x7c04 023304 jam 0 ,mem_hid_handshake_timer_count 
+0x7c05 023305 jam 0 ,mem_scan_mode 
+0x7c06 023306 fetch 2 ,mem_ui_state_map 
+0x7c07 023307 set0 ui_state_bt_discovery 
+0x7c08 023308 store 2 ,mem_ui_state_map 
+0x7c09 023309 rtn 
+:      023313 check_51cmd_reconnect:
+0x7c0a 023314 jam hci_cmd_create_conn ,mem_hci_cmd 
+0x7c0b 023315 rtn 
+:      023319 check_51cmd_disconnect:
+0x7c0c 023320 jam lmp_detach ,mem_lmo_opcode2 
+0x7c0d 023321 jam other_end_terminated ,mem_disconn_reason_send 
+0x7c0e 023322 rtn 
+:      023326 check_51cmd_enter_sniff_subrating:
+0x7c0f 023327 rtn 
+:      023331 check_51cmd_exit_sniff_subrating:
+0x7c10 023332 rtn 
+:      023336 check_51cmd_sniff_test:
+0x7c11 023337 rtn 
+:      023341 check_51cmd_pincode:
+0x7c12 023342 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x7c13 023343 branch cmd_pair 
+:      023347 check_51cmd_inq:
+0x7c14 023348 rtn 
+:      023352 check_51cmd_stop_inq:
+0x7c15 023353 rtn 
+:      023357 check_51cmd_adv:
+0x7c16 023358 jam on ,mem_le_adv_enable 
+0x7c17 023359 jam adv_ind ,mem_le_adv_type 
+0x7c18 023360 fetch 2 ,mem_ui_state_map 
+0x7c19 023361 set1 ui_state_ble_adv ,pdata 
+0x7c1a 023362 store 2 ,mem_ui_state_map 
+0x7c1b 023363 rtn 
+:      023367 check_51cmd_stop_adv:
+0x7c1c 023368 fetch 2 ,mem_ui_state_map 
+0x7c1d 023369 set0 ui_state_ble_adv ,pdata 
+0x7c1e 023370 store 2 ,mem_ui_state_map 
+0x7c1f 023371 jam off ,mem_le_adv_enable 
+0x7c20 023372 rtn 
+:      023376 check_51cmd_direct_adv:
+0x7c21 023377 jam on ,mem_le_adv_enable 
+0x7c22 023378 jam adv_direct_ind ,mem_le_adv_type 
+0x7c23 023379 fetch 2 ,mem_ui_state_map 
+0x7c24 023380 set1 ui_state_ble_adv ,pdata 
+0x7c25 023381 store 2 ,mem_ui_state_map 
+0x7c26 023382 rtn 
+:      023386 check_51cmd_stop_direct_adv:
+0x7c27 023387 fetch 2 ,mem_ui_state_map 
+0x7c28 023388 set0 ui_state_ble_adv ,pdata 
+0x7c29 023389 store 2 ,mem_ui_state_map 
+0x7c2a 023390 jam off ,mem_le_adv_enable 
+0x7c2b 023391 rtn 
+:      023395 check_51cmd_le_disconnect:
+0x7c2c 023396 setarg 20 
+0x7c2d 023397 store 2 ,mem_le_superto 
+0x7c2e 023398 store 2 ,mem_le_init_superto 
+0x7c2f 023399 branch le_send_terminate_ind_user_terminated 
+:      023403 check_51cmd_ble_update_connect_param:
+0x7c30 023404 branch le_l2cap_tx_update_req 
+:      023409 check_51cmd_le_start_con:
+0x7c31 023410 jam on ,mem_le_scan_enable 
+0x7c32 023411 jam hci_cmd_le_create_conn ,mem_hci_cmd 
+0x7c33 023414 rtn 
+:      023418 check_51cmd_start_scan:
+0x7c34 023419 jam on ,mem_le_scan_enable 
+0x7c35 023420 rtn 
+:      023424 check_51cmd_stop_scan:
+0x7c36 023425 jam off ,mem_le_scan_enable 
+0x7c37 023426 jam 0 ,mem_hci_cmd 
+0x7c38 023427 rtn 
+:      023431 check_51cmd_hibernate:
+0x7c39 023432 fetch 2 ,mem_cb_before_hibernate 
+0x7c3a 023433 call callback_func 
+0x7c3b 023434 call ui_ipc_clean_all_fifo 
+0x7c3c 023435 branch lpm_hibernate 
+:      023439 check_51cmd_le_smp_sec_req:
+0x7c3d 023440 branch le_send_smp_security_request 
+:      023444 check_51cmd_role_switch:
+0x7c3e 023445 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x7c3f 023446 set1 mark_switch_initiated ,mark 
+0x7c40 023447 nrtn master 
+0x7c41 023448 jam switch_flag_init ,mem_switch_flag 
+0x7c42 023449 jam lmp_switch_req ,mem_lmo_opcode2 
+0x7c43 023450 fetch 1 ,mem_connection_options 
+0x7c44 023451 set0 connection_switch ,pdata 
+0x7c45 023452 store 1 ,mem_connection_options 
+0x7c46 023453 rtn 
+:      023457 check_51cmd_bb_reconn_cancel:
+0x7c47 023458 force page_length_timer ,queue 
+0x7c48 023459 branch timer_stop 
+:      023463 check_51cmd_dhkey_not_accept:
+0x7c49 023464 call tid_set_reply 
+0x7c4a 023465 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7c4b 023466 branch parse_lmp_dhkey_check_reject 
+:      023472 right_shift_n:
+0x7c4c 023473 sub loopcnt ,0 ,null 
+0x7c4d 023474 rtn zero 
+:      023475 right_shift_n_loop:
+0x7c4e 023476 rshift pdata ,pdata 
+0x7c4f 023477 loop right_shift_n_loop 
+0x7c50 023478 rtn 
+:      023481 left_shift_n:
+0x7c51 023482 force 1 ,pdata 
+0x7c52 023483 sub loopcnt ,0 ,null 
+0x7c53 023484 rtn zero 
+:      023485 left_shift_n_loop:
+0x7c54 023486 lshift pdata ,pdata 
+0x7c55 023487 loop left_shift_n_loop 
+0x7c56 023488 rtn 
+:      023489 push_stack:
+0x7c57 023490 deposit contw 
+0x7c58 023491 store 2 ,mem_contw 
+0x7c59 023492 storet 8 ,mem_temp 
+0x7c5a 023493 deposit timeup 
+0x7c5b 023494 store 4 ,mem_timeup 
+0x7c5c 023495 call push_stack_rega_b_c 
+0x7c5d 023496 deposit contr 
+0x7c5e 023497 store 2 ,mem_contr 
+0x7c5f 023498 rtn 
+:      023500 push_stack_rega_b_c:
+0x7c60 023501 deposit rega 
+0x7c61 023502 store 4 ,mem_rega 
+0x7c62 023503 deposit regb 
+0x7c63 023504 store 4 ,mem_regb 
+0x7c64 023505 deposit regc 
+0x7c65 023506 store 3 ,mem_regc 
+0x7c66 023507 rtn 
+:      023509 pop_stack:
+0x7c67 023510 fetcht 8 ,mem_temp 
+0x7c68 023511 fetch 4 ,mem_timeup 
+0x7c69 023512 iforce timeup 
+0x7c6a 023513 call pop_stack_rega_b_c 
+0x7c6b 023514 fetch 2 ,mem_contw 
+0x7c6c 023515 iforce contw 
+0x7c6d 023516 fetch 2 ,mem_contr 
+0x7c6e 023517 iforce contr 
+0x7c6f 023518 rtn 
+:      023520 pop_stack_rega_b_c:
+0x7c70 023521 fetch 4 ,mem_rega 
+0x7c71 023522 iforce rega 
+0x7c72 023523 fetch 4 ,mem_regb 
+0x7c73 023524 iforce regb 
+0x7c74 023525 fetch 3 ,mem_regc 
+0x7c75 023526 iforce regc 
+0x7c76 023527 rtn 
+:      023529 get_contw:
+0x7c77 023530 fetch 2 ,mem_contw 
+0x7c78 023531 copy pdata ,contw 
+0x7c79 023532 rtn 
+:      023533 get_contr:
+0x7c7a 023534 fetch 2 ,mem_contr 
+0x7c7b 023535 copy pdata ,contr 
+0x7c7c 023536 rtn 
+:      023537 store_contw:
+0x7c7d 023538 copy contw ,pdata 
+0x7c7e 023539 store 2 ,mem_contw 
+0x7c7f 023540 rtn 
+:      023541 store_contr:
+0x7c80 023542 copy contr ,pdata 
+0x7c81 023543 store 2 ,mem_contr 
+0x7c82 023544 rtn 
+:      023548 save_cont_pointers:
+0x7c83 023549 copy contw ,pdata 
+0x7c84 023550 store 2 ,mem_hold_contw 
+0x7c85 023551 copy contr ,pdata 
+0x7c86 023552 store 2 ,mem_hold_contr 
+0x7c87 023553 rtn 
+:      023554 load_cont_pointers:
+0x7c88 023555 fetch 2 ,mem_hold_contw 
+0x7c89 023556 copy pdata ,contw 
+0x7c8a 023557 fetch 2 ,mem_hold_contr 
+0x7c8b 023558 copy pdata ,contr 
+0x7c8c 023559 rtn 
+:      023561 memcpy96:
+0x7c8d 023562 call memcpy32 
+:      023563 memcpy64:
+0x7c8e 023564 call memcpy32 
+0x7c8f 023565 branch memcpy32 
+:      023566 memcpy12:
+0x7c90 023567 call memcpy8 
+:      023568 memcpy4:
+0x7c91 023569 ifetch 4 ,contr 
+0x7c92 023570 istore 4 ,contw 
+0x7c93 023571 rtn 
+:      023572 memcpy8:
+0x7c94 023573 ifetch 8 ,contr 
+0x7c95 023574 istore 8 ,contw 
+0x7c96 023575 rtn 
+:      023577 memcpy48:
+0x7c97 023578 call memcpy16 
+:      023579 memcpy32:
+0x7c98 023580 call memcpy8 
+:      023581 memcpy24:
+0x7c99 023582 call memcpy8 
+:      023583 memcpy16:
+0x7c9a 023584 call memcpy8 
+0x7c9b 023585 branch memcpy8 
+:      023589 delay_10ms:
+0x7c9c 023590 arg 10 ,loopcnt 
+:      023591 delay_ms_wait:
+0x7c9d 023592 nop 12000 
+0x7c9e 023593 loop delay_ms_wait 
+0x7c9f 023594 rtn 
+:      023596 bn_zero:
+0x7ca0 023597 force 3 ,loopcnt 
+:      023598 memset0:
+0x7ca1 023599 force 0 ,pdata 
+:      023600 memset8:
+0x7ca2 023601 istore 8 ,contw 
+0x7ca3 023602 loop memset8 
+0x7ca4 023603 rtn 
+:      023605 memset0_8:
+0x7ca5 023606 force 0 ,pdata 
+0x7ca6 023607 istore 8 ,contw 
+0x7ca7 023608 rtn 
+:      023609 memset0_4:
+0x7ca8 023610 force 0 ,pdata 
+0x7ca9 023611 istore 4 ,contw 
+0x7caa 023612 rtn 
+:      023614 clear_mem_256:
+0x7cab 023615 force 4 ,loopcnt 
+0x7cac 023616 branch memset0 
+:      023617 clear_mem_512:
+0x7cad 023618 force 8 ,loopcnt 
+0x7cae 023619 branch memset0 
+:      023621 clear_mem:
+0x7caf 023622 deposit loopcnt 
+0x7cb0 023623 rtn blank 
+0x7cb1 023624 setarg 0 
+:      023625 clear_mem_loop:
+0x7cb2 023626 istore 1 ,contw 
+0x7cb3 023627 loop clear_mem_loop 
+0x7cb4 023628 rtn 
+:      023631 clear_temp_block:
+0x7cb5 023632 arg 32 ,loopcnt 
+0x7cb6 023633 arg mem_temp_block0 ,contw 
+0x7cb7 023634 branch clear_mem 
+:      023636 xor_loop:
+0x7cb8 023637 ifetch 4 ,regc 
+0x7cb9 023638 ifetcht 4 ,rega 
+0x7cba 023639 ixor temp ,pdata 
+0x7cbb 023640 istore 4 ,contw 
+0x7cbc 023641 increase 4 ,rega 
+0x7cbd 023642 increase 4 ,regc 
+0x7cbe 023643 loop xor_loop 
+0x7cbf 023644 rtn 
+:      023648 inverse_data:
+0x7cc0 023649 bpatchx patch34_4 ,mem_patch34 
+0x7cc1 023650 copy loopcnt ,pdata 
+0x7cc2 023651 sub pdata ,1 ,null 
+0x7cc3 023652 rtn positive 
+0x7cc4 023653 iadd rega ,regb 
+0x7cc5 023654 increase -1 ,regb 
+0x7cc6 023655 rshift loopcnt ,loopcnt 
+:      023656 inverse_loop:
+0x7cc7 023657 ifetcht 1 ,rega 
+0x7cc8 023658 ifetch 1 ,regb 
+0x7cc9 023659 istore 1 ,rega 
+0x7cca 023660 istoret 1 ,regb 
+0x7ccb 023661 increase -1 ,regb 
+0x7ccc 023662 increase 1 ,rega 
+0x7ccd 023663 loop inverse_loop 
+0x7cce 023664 rtn 
+:      023667 memcpy_fast:
+0x7ccf 023668 deposit loopcnt 
+0x7cd0 023669 rtn blank 
+:      023670 memcpy_fast_loop:
+0x7cd1 023671 increase -8 ,loopcnt 
+0x7cd2 023672 call memcpy8 ,positive 
+0x7cd3 023673 rtn zero 
+0x7cd4 023674 branch memcpy_fast_loop ,positive 
+0x7cd5 023675 increase 8 ,loopcnt 
+:      023676 memcpy_fast_loop_four:
+0x7cd6 023677 increase -4 ,loopcnt 
+0x7cd7 023678 call memcpy4 ,positive 
+0x7cd8 023679 rtn zero 
+0x7cd9 023680 branch memcpy_fast_loop_four ,positive 
+0x7cda 023681 increase 4 ,loopcnt 
+0x7cdb 023682 branch memcpy 
+:      023684 memcpy:
+0x7cdc 023685 deposit loopcnt 
+0x7cdd 023686 rtn blank 
+:      023687 memcpy_loop:
+0x7cde 023688 ifetch 1 ,contr 
+0x7cdf 023689 istore 1 ,contw 
+0x7ce0 023690 loop memcpy_loop 
+0x7ce1 023691 rtn 
+:      023693 timer_stop:
+0x7ce2 023694 setarg 0 
+:      023695 timer_init:
+0x7ce3 023696 rshift clkn_bt ,temp 
+0x7ce4 023697 storet 4 ,mem_last_clkn 
+0x7ce5 023698 arg mem_timers ,contw 
+0x7ce6 023699 iforce temp 
+0x7ce7 023700 lshift queue ,pdata 
+0x7ce8 023701 iadd contw ,contw 
+0x7ce9 023702 istoret 2 ,contw 
+0x7cea 023703 bpatchx patch34_5 ,mem_patch34 
+0x7ceb 023704 rtn 
+:      023706 timer_check_timeout:
+0x7cec 023707 arg 0x800 ,timeup 
+0x7ced 023708 lshift16 timeup ,timeup 
+0x7cee 023709 iadd timeup ,pdata 
+0x7cef 023710 rtn 
+:      023713 timer_reinit:
+0x7cf0 023714 arg 0 ,queue 
+:      023715 timer_check:
+0x7cf1 023716 bpatchx patch34_6 ,mem_patch34 
+0x7cf2 023717 fetcht 4 ,mem_last_clkn 
+0x7cf3 023718 rshift clkn_bt ,pdata 
+0x7cf4 023719 store 4 ,mem_last_clkn 
+0x7cf5 023720 isub temp ,null 
+0x7cf6 023721 ncall timer_check_timeout ,positive 
+0x7cf7 023722 isub temp ,timeup 
+0x7cf8 023723 copy timeup ,temp 
+0x7cf9 023724 arg mem_timers ,contr 
+0x7cfa 023725 copy contr ,contw 
+0x7cfb 023726 arg 16 ,loopcnt 
+:      023727 timer_loop:
+0x7cfc 023728 ifetch 2 ,contr 
+0x7cfd 023729 isub temp ,pdata 
+0x7cfe 023730 branch timer_counting ,positive 
+0x7cff 023731 force 0 ,pdata 
+:      023732 timer_counting:
+0x7d00 023733 istore 2 ,contw 
+0x7d01 023734 loop timer_loop 
+0x7d02 023735 arg mem_timers ,contr 
+0x7d03 023736 lshift queue ,pdata 
+0x7d04 023737 iadd contr ,contr 
+0x7d05 023738 ifetch 2 ,contr 
+0x7d06 023739 rtn 
+:      023744 clk_add:
+0x7d07 023745 iadd temp ,temp 
+0x7d08 023746 copy temp ,loopcnt 
+0x7d09 023747 setarg 3750 
+0x7d0a 023748 isub loopcnt ,pdata 
+0x7d0b 023749 rtn positive 
+0x7d0c 023750 sub pdata ,0 ,pdata 
+0x7d0d 023751 rshift16 temp ,temp 
+0x7d0e 023752 increase 1 ,temp 
+0x7d0f 023753 lshift16 temp ,temp 
+0x7d10 023754 ior temp ,temp 
+0x7d11 023755 rtn 
+:      023757 clk_diff_rt:
+0x7d12 023758 call clk_diff 
+0x7d13 023759 branch clk2rt 
+:      023762 clk_diff:
+0x7d14 023763 disable user 
+0x7d15 023764 isub temp ,pdata 
+0x7d16 023765 branch clk_diff_pos ,positive 
+0x7d17 023766 enable user 
+0x7d18 023767 sub pdata ,0 ,pdata 
+:      023768 clk_diff_pos:
+0x7d19 023769 rtnbit0 15 
+0x7d1a 023770 arg -61786 ,temp 
+0x7d1b 023771 iadd temp ,pdata 
+0x7d1c 023772 set0 64 ,pdata 
+0x7d1d 023773 rtn 
+:      023775 clk2rt:
+0x7d1e 023776 iforce contr 
+0x7d1f 023777 rshift16 pdata ,pdata 
+0x7d20 023778 arg 3750 ,temp 
+0x7d21 023779 imul32 temp ,pdata 
+0x7d22 023780 iadd contr ,pdata 
+0x7d23 023781 rtn 
+:      023784 clk2lpo:
+0x7d24 023785 lshift8 pdata ,pdata 
+0x7d25 023786 lshift4 pdata ,pdata 
+0x7d26 023787 fetcht 3 ,mem_clks_per_lpo 
+0x7d27 023788 idiv temp 
+0x7d28 023789 call wait_div_end 
+0x7d29 023790 quotient temp 
+0x7d2a 023791 rtn 
+:      023794 clk2bt:
+0x7d2b 023795 arg 3750 ,temp 
+0x7d2c 023796 idiv temp 
+0x7d2d 023797 call wait_div_end 
+0x7d2e 023798 quotient pdata 
+0x7d2f 023799 lshift16 pdata ,pdata 
+0x7d30 023800 remainder temp 
+0x7d31 023801 ior temp ,temp 
+0x7d32 023802 rtn 
+:      023809 string2dec_from_uart:
+0x7d33 023810 arg 0 ,temp 
+:      023811 string2dec_from_uart_done:
+0x7d34 023812 copy temp ,regc 
+0x7d35 023813 ifetch 1 ,contru 
+0x7d36 023814 call uchar2dialog 
+0x7d37 023815 copy regc ,temp 
+0x7d38 023816 call swap 
+0x7d39 023817 arg 10 ,regb 
+0x7d3a 023818 imul32 regb ,pdata 
+0x7d3b 023819 iadd temp ,pdata 
+0x7d3c 023820 copy pdata ,temp 
+0x7d3d 023821 loop string2dec_from_uart_done 
+0x7d3e 023822 rtn 
+:      023826 uchar2dialog:
+0x7d3f 023827 arg 0x3a ,temp 
+0x7d40 023828 isub temp ,null 
+0x7d41 023829 nbranch uchar2dialog_number ,positive 
+0x7d42 023830 arg 0x61 ,temp 
+0x7d43 023831 isub temp ,null 
+0x7d44 023832 branch uchar2dialog_a2f ,positive 
+0x7d45 023833 arg 0x37 ,temp 
+0x7d46 023834 isub temp ,pdata 
+0x7d47 023835 rtn 
+:      023836 uchar2dialog_number:
+0x7d48 023837 arg 0x30 ,temp 
+0x7d49 023838 isub temp ,pdata 
+0x7d4a 023839 rtn 
+:      023840 uchar2dialog_a2f:
+0x7d4b 023841 arg 0x57 ,temp 
+0x7d4c 023842 isub temp ,pdata 
+0x7d4d 023843 rtn 
+:      023845 pn9:
+0x7d4e 023846 copy temp ,alarm 
+0x7d4f 023847 setarg 0x1ff 
+0x7d50 023848 force 0 ,regb 
+:      023849 pn9_loop:
+0x7d51 023850 rshift3 pdata ,rega 
+0x7d52 023851 rshift rega ,rega 
+0x7d53 023852 ixor rega ,rega 
+0x7d54 023853 isolate1 0 ,rega 
+0x7d55 023854 setflag true ,9 ,pdata 
+0x7d56 023855 rshift temp ,temp 
+0x7d57 023856 isolate1 0 ,pdata 
+0x7d58 023857 setflag true ,7 ,temp 
+0x7d59 023858 rshift pdata ,pdata 
+0x7d5a 023859 increase 1 ,regb 
+0x7d5b 023860 compare 0 ,regb ,0x7 
+0x7d5c 023861 nbranch pn9_loop ,true 
+0x7d5d 023862 istoret 1 ,contw 
+0x7d5e 023863 loop pn9_loop 
+0x7d5f 023864 copy alarm ,temp 
+0x7d60 023865 rtn 
+:      023868 wait_div_end:
+0x7d61 023869 rtn modone 
+0x7d62 023870 branch wait_div_end 
+:      023880 compare_loop:
+:      023881 string_compare:
+0x7d63 023882 ifetch 1 ,rega 
+0x7d64 023883 ifetcht 1 ,regb 
+0x7d65 023884 isub temp ,null 
+0x7d66 023885 nrtn zero 
+0x7d67 023886 increase 1 ,rega 
+0x7d68 023887 increase 1 ,regb 
+0x7d69 023888 loop string_compare 
+0x7d6a 023889 force 0 ,null 
+0x7d6b 023890 rtn 
+:      023893 ceiling:
+0x7d6c 023894 isub temp ,null 
+0x7d6d 023895 nrtn positive 
+0x7d6e 023896 deposit temp 
+0x7d6f 023897 rtn 
+:      023899 swap:
+0x7d70 023900 iadd temp ,pdata 
+0x7d71 023901 isub temp ,temp 
+0x7d72 023902 isub temp ,pdata 
+0x7d73 023903 rtn 
+:      023905 clean_mem:
+0x7d74 023906 arg 0x200 ,loopcnt 
+0x7d75 023907 arg 0x4000 ,contw 
+0x7d76 023908 branch memset0 
+:      023911 callback_func:
+0x7d77 023912 rtn blank 
+0x7d78 023913 copy pdata ,pc 
+:      023917 ice_break:
+0x7d79 023918 hjam 0x1 ,core_ice_ctrl 
+0x7d7a 023919 rtn 
+:      023921 ice_setbp:
+0x7d7b 023922 hstore 2 ,core_ice_break0 
+0x7d7c 023923 hfetch 1 ,core_ice_ctrl 
+0x7d7d 023924 set1 4 ,pdata 
+0x7d7e 023925 hstore 1 ,core_ice_ctrl 
+0x7d7f 023926 rtn 
+:      023927 ice_setbp2:
+0x7d80 023928 hstore 2 ,core_ice_break1 
+0x7d81 023929 hfetch 1 ,core_ice_ctrl 
+0x7d82 023930 set1 6 ,pdata 
+0x7d83 023931 hstore 1 ,core_ice_ctrl 
+0x7d84 023932 rtn 
+:      023934 ice_set_write_bp:
+0x7d85 023935 hstore 2 ,core_ice_break0 
+0x7d86 023936 hjam 0x30 ,core_ice_ctrl 
+0x7d87 023937 rtn 
+:      023939 test_no_white:
+0x7d88 023940 hfetch 1 ,core_config 
+0x7d89 023941 set1 whiteoff_bit ,pdata 
+0x7d8a 023942 hstore 1 ,core_config 
+0x7d8b 023943 rtn 
+:      023946 test_enable_white:
+0x7d8c 023947 hfetch 1 ,core_config 
+0x7d8d 023948 set0 whiteoff_bit ,pdata 
+0x7d8e 023949 hstore 1 ,core_config 
+0x7d8f 023950 rtn 
+:      023957 fifo_in:
+0x7d90 023958 bpatchx patch34_7 ,mem_patch34 
+0x7d91 023959 ifetcht util_fifo_len ,rega 
+0x7d92 023960 and temp ,0xff ,pdata 
+0x7d93 023961 nbranch fifo_in_push ,blank 
+0x7d94 023962 rshift8 temp ,pdata 
+0x7d95 023963 istore util_fifo_len ,rega 
+:      023964 fifo_in_push:
+0x7d96 023965 increase util_fifo_len + util_fifo_offset ,rega 
+0x7d97 023966 ifetch 1 ,rega 
+0x7d98 023967 nbranch assert ,blank 
+0x7d99 023968 fetch 1 ,mem_fifo_temp 
+0x7d9a 023969 istore 1 ,rega 
+0x7d9b 023970 rtn 
+:      023975 fifo_out:
+0x7d9c 023976 bpatchx patch35_0 ,mem_patch35 
+0x7d9d 023977 arg util_fifo_len ,loopcnt 
+0x7d9e 023978 ifetch util_fifo_len ,rega 
+0x7d9f 023979 rtn blank 
+:      023980 fifo_out_loop:
+0x7da0 023981 ifetch 1 ,rega 
+0x7da1 023982 nbranch fifo_out_end ,blank 
+0x7da2 023983 increase 1 ,rega 
+0x7da3 023984 loop fifo_out_loop 
+0x7da4 023985 branch assert 
+:      023986 fifo_out_end:
+0x7da5 023987 arg 0 ,temp 
+0x7da6 023988 istoret 1 ,rega 
+0x7da7 023989 rtn 
+:      023994 fifo_is_empty:
+0x7da8 023995 ifetch util_fifo_len ,rega 
+0x7da9 023996 rtn 
+:      024001 fifo_is_full:
+0x7daa 024002 ifetch 1 ,rega 
+0x7dab 024003 rtn 
+:      024006 fifo_is_near_full:
+0x7dac 024007 ifetch 2 ,rega 
+0x7dad 024008 rtn 
+:      024012 fifo_content_count:
+0x7dae 024013 arg 0 ,temp 
+:      024014 fifo_content_count_loop:
+0x7daf 024015 fetch 1 ,contr 
+0x7db0 024016 loop fifo_content_count_loop ,blank 
+0x7db1 024017 increase 1 ,temp 
+0x7db2 024018 loop fifo_content_count_loop 
+0x7db3 024019 copy temp ,pdata 
+0x7db4 024020 rtn 
+:      024022 not_greater_than:
+0x7db5 024023 isub temp ,null 
+0x7db6 024024 nrtn positive 
+0x7db7 024025 copy temp ,pdata 
+0x7db8 024026 rtn 
+:      024029 disable_positive:
+0x7db9 024030 force -1 ,null 
+0x7dba 024031 rtn 
+:      024032 enable_positive:
+:      024033 disable_zero:
+0x7dbb 024034 force 1 ,null 
+0x7dbc 024035 rtn 
+:      024036 enable_zero:
+0x7dbd 024037 force 0 ,null 
+0x7dbe 024038 rtn 
+:      024040 enable_user:
+0x7dbf 024041 enable user 
+0x7dc0 024042 rtn 
+:      024044 disable_user:
+0x7dc1 024045 disable user 
+0x7dc2 024046 rtn 
+:      024048 enable_user2:
+0x7dc3 024049 enable user2 
+0x7dc4 024050 rtn 
+:      024052 disable_user2:
+0x7dc5 024053 disable user2 
+0x7dc6 024054 rtn 
+:      024056 disable_blank:
+0x7dc7 024057 setarg 1 
+0x7dc8 024058 rtn 
+:      024060 enable_blank:
+0x7dc9 024061 setarg 0 
+0x7dca 024062 rtn 
+:      024065 reverse_byte:
+0x7dcb 024066 copy loopcnt ,pdata 
+0x7dcc 024067 rtn blank 
+0x7dcd 024068 copy contr ,pdata 
+0x7dce 024069 iadd loopcnt ,pdata 
+0x7dcf 024070 increase -1 ,pdata 
+0x7dd0 024071 copy pdata ,contr 
+:      024072 reverse_loop:
+0x7dd1 024073 ifetch 1 ,contr 
+0x7dd2 024074 increase -2 ,contr 
+0x7dd3 024075 istore 1 ,contw 
+0x7dd4 024076 loop reverse_loop 
+0x7dd5 024077 rtn 
Index: shoubing/output/bt_program23.meta
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.meta	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.meta	(working copy)
@@ -0,0 +1,24079 @@
+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
+
+/*
+// mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
+
+nop 100
+call ice_break
+setarg 0x758233
+store 3,mem_m_access_code
+istore 2,contw
+istore 3,contw
+
+call p_m_access_code_generate
+call ice_break
+*/
+
+define TX_POWER_MAX
+
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+
+p_start:
+	bbit1 8,pf_patch_ext
+	//LPM exen bugfix
+	beq patch00_1,p_soft_reset
+	beq patch00_3,p_main_loop
+
+	beq patch00_5,p_connection_incontext
+	beq patch05_6,p_context_search
+	
+	beq patch0b_7,p_process_dmh_data_end1
+	beq patch0c_0,p_process_dmh_data_end
+	beq patch0b_5,p_process_dmh_data_l2cap_start_pkt
+	beq patch0b_6,p_process_dmh_data_l2cap_continue_pkt
+	beq patch0e_0,p_parse_l2cap
+	
+	beq patch0f_1,p_transmit_dmh
+	beq patch07_5,p_slave_loop
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	//LMP bugfix
+	beq patch12_4,p_ahead_window
+	beq patch14_2,p_init_param
+	//LMP bugfix	
+	beq patch14_3,p_lpm_adjust_clk
+	beq patch15_1,p_lpm_dispatch_next
+	beq patch15_4,p_lpm_unconn_nossp
+	
+//	beq patch16_1,p_lpm_check_wake_lock
+	beq patch17_0,p_module_init
+	beq patch17_3,p_module_hci_cmd_control
+	beq patch17_4,p_module_hci_cmd_transmit_le_notify
+	beq patch17_6,p_hid_rx_process
+	beq patch19_0,p_l2cap_proc_signal_connect_req
+	beq patch1b_3,p_l2cap_malloc
+	branch assert
+pf_patch_ext:
+	
+	beq patch20_3,p_le_receive_skip
+	beq patch20_5,p_le_transmit_receive_sifs
+	beq patch20_6,p_le_transmit
+	beq patch22_3,p_le_acknowledge
+	beq patch23_7,p_le_parse
+	beq patch24_1,p_le_parse_l2cap
+	beq patch26_0,p_le_modified_name
+	beq patch27_4,p_parse_lmp_accepted
+	beq patch27_2,p_parse_lmp
+	beq patch27_5,p_parse_lmp_not_accepted
+	beq patch27_7,p_send_lmp_accepted
+	beq patch27_6,p_send_lmp
+	beq patch28_1,p_ssp_disable
+	beq patch33_1,p_sp_initialize_256
+	beq patch34_3,p_check_51cmd_once_continue
+	branch assert
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+p_check_51cmd_once_continue1:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,p_check_51cmd_disconnect
+	branch check_51cmd_once_continue+3
+p_check_51cmd_disconnect:
+//	call ice_break
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+p_context_search:
+	arg mem_context_new,rega
+	arg context_num_new,loopcnt
+	branch context_search_loop
+
+p_connection_incontext:
+//	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch p_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
+p_connection_nosniff:
+	call p_context_get_next
+	branch connection_nosniff+1
+
+
+	
+p_context_get_next:
+	arg context_num_new,loopcnt
+	fetcht 1,mem_current_context
+p_context_get_next_loop:
+	increase 1,temp
+	compare context_num_new,temp,0xff
+	nbranch p_context_get_next_cont,true
+	arg 0,temp
+p_context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context_new,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,p_context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+p_context_get_next_sniff:
+	loop p_context_get_next_loop
+	rtn	
+
+
+p_parse_l2cap:
+	set0 mark_rxbuf_inuse,mark 
+p_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_new,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+
+
+p_process_dmh_data_l2cap_start_pkt:
+//	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x1e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit1 L2CAP_INUSE_BUFF2,end_of_packet
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,p_process_dmh_data_into_buff2
+	branch end_of_packet
+
+p_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_new,contw
+	branch process_dmh_data
+
+p_process_dmh_data_l2cap_continue_pkt:
+//	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x1e0,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,p_process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+
+p_process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2_new,contw
+	branch process_dmh_data_l2cap_continue_pkt2+1
+	
+p_process_dmh_data_end1:	
+//	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,error_payload_crc
+	branch process_dmh_data_end+5
+ 
+p_process_dmh_data_end:
+//	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,p_process_l2cap_pass_crc_buff1
+	beq 2,p_process_l2cap_pass_crc_buff2
+	branch assert
+	
+p_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
+
+
+	 
+p_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_new // l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+
+
+p_l2cap_malloc:
+//	bpatch patch1b_3,mem_patch1b
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full+1
+//	branch l2cap_malloc+3
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+	arg mem_tx_buff0_new,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+	branch l2cap_malloc_loop
+
+
+
+
+
+
+
+
+	
+p_transmit_dmh:
+	fetch 2,mem_txptr
+	beq 0x018c,transmit_noedr+1
+	branch transmit_dmh+1
+p_le_modified_name:
+	call le_modified_name_att_list
+	branch p_le_modified_name_adv
+
+p_le_modified_name_adv:
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn
+p_l2cap_proc_signal_connect_req:
+	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,p_l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,p_l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn	
+
+p_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
+	call send_connection_res	
+	jam BT_EVT_HID_INT_CONNECT,mem_fifo_temp
+	branch ui_ipc_send_event
+p_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
+	call send_connection_res	
+	jam BT_EVT_HID_INT_CONNECT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+p_module_init:
+	setarg p_module_process_bb_event
+	store 2,mem_cb_bb_event_process
+
+	setarg p_module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg p_module_process_idle
+	store 2,mem_cb_idle_process
+
+	setarg p_module_le_receive_data
+	store 2,mem_cb_att_write
+
+	setarg p_module_lpm_lock
+	store 2,mem_cb_check_wakelock
+
+	setarg p_module_bt_conn_process
+	store 2,mem_cb_bt_process
+
+	call p_keyboard_ble_init
+
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	//call p_check_otp_shaomaqiang_app
+//	arg mem_test,contr
+//	copy contr,pdata
+//	store 2,mem_test_ptr
+	branch module_hci_event_enter_standby_mode
+
+	
+p_module_process_idle:
+	call p_m_private_dispatch
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch p_module_process
+p_module_process:
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	branch module_process_with_credit,zero
+	call uartd_prepare_rx
+//	call ice_break
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	ifetch 1,contru
+	beq HCI_CMD_RESET_SDP_SERVICE,p_module_process_sdp
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	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
+
+p_module_process_sdp:
+	store 1,mem_module_uart_opcode
+	ifetcht 2,contru
+	copy contru,rega
+	storet 2,mem_module_uart_len_new
+	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 p_module_hci_dicard_packet //discard this packet	
+
+p_module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 2,contru
+	iadd contru,contru
+	branch module_hci_dicard_bytes
+	
+
+
+	
+p_module_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
+	beq BT_EVT_LINKKEY_GENERATE,classic_shutter_process_linkkey_generate
+/***************classic shutter event****************/
+
+/***************ble shutter event****************/
+	beq BT_EVT_LE_START_ENC,p_module_hci_event_start_enc
+	beq BT_EVT_LE_ENC_INFO,p_module_hci_event_enc_info
+
+/***************24g event***********************/
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_module_hci_event_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_module_hci_event_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_module_hci_event_24g_attempt_success
+
+	//
+	beq BT_EVT_ENTER_SNIFF,p_module_process_enter_sniff
+
+	beq BT_EVT_SNIFF_ACCEPT,p_module_process_sniff_report
+	beq BT_EVT_SNIFF_REPORT,p_module_process_sniff_report
+	beq BT_EVT_HID_INT_CONNECT,p_module_process_hid_int_connect
+
+	branch module_process_bb_event + 1
+
+
+
+p_module_process_sniff_report:
+	setarg 0x02
+	jam HCI_EVENT_HID_SNIFF_REPORT,mem_module_uart_opcode
+	call module_hci_prepare_tx
+	fetch 2,mem_tsniff
+	rshift pdata,pdata
+	
+	istore 2,contwu
+	branch uartd_send	
+
+	
+p_module_process_hid_int_connect:
+//call ice_break
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	setarg 0x02
+	jam HCI_EVENT_HID_INT_CONNECT,mem_module_uart_opcode
+	call module_hci_prepare_tx
+	fetcht 2,mem_hid_int_remote_cid
+	istoret 2,contwu
+	branch uartd_send
+
+p_module_process_enter_sniff:
+
+p_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
+p_module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+//	fethc 2,core_uart_rxitems    //*
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	ncall module_set_unsniff_task_flag,zero    //*加这两句话
+	branch app_bt_sniff_exit
+
+
+
+/*
+	锟斤拷模锟斤拷锟斤拷锟斤拷锟斤拷
+*/
+keyboard_start_bluetooth_discovery:
+	rtn
+
+keyboard_stop_bluetooth_discovery:
+	call app_bt_stop_discovery
+	branch app_ble_stop_adv
+
+
+p_module_bb_event_timer:
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+	rtn
+
+
+p_module_le_receive_data:
+	fetcht 2,mem_le_att_handle
+	sub temp,HANDLE_UUID_CHRCTR_REPORT_ID1_OUTPUT,null
+	branch p_moudle_le_receive_data_report_output,zero
+	rtn
+
+p_moudle_le_receive_data_report_output:
+	ifetcht 1,rega
+	setarg 0x01
+	store 1,mem_pdatatemp
+	istoret 1,contw
+	branch p_hid_rx_process_data_hid_kb
+
+p_module_lpm_lock:
+	branch module_lpm_lock
+
+p_module_bt_conn_process:
+	branch p_module_spp_enter_sniff
+
+p_module_spp_enter_sniff:
+	fetch 1,mem_btsniff
+	rtn blank
+	branch module_spp_enter_sniff+1
+
+p_module_hci_cmd_control:
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_BT_DISCONNECT,p_module_hci_cmd_bt_disconnect
+	beq HCI_CMD_SET_COD,p_module_hci_cmd_set_cod
+	beq HCI_CMD_SLEEP,p_module_hci_cmd_enter_sleep
+	beq HCI_CMD_SET_PAIRING_REQ,p_module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SEND_HID_DATA,p_module_hci_cmd_send_hid_data
+	beq HCI_CMD_SEND_HID_CONTROL_DATA,p_module_hci_cmd_send_hid_control_data
+
+	
+	beq HCI_CMD_SET_FEATURE,p_module_hci_cmd_reset_features
+	beq HCI_CMD_SET_SNIFF,p_module_set_bt_sniff
+	beq HCI_CMD_CREAT_BT_RECONNECT,p_moudle_hci_cmd_creat_bt_reconnect
+
+	beq HCI_CMD_START_24G,p_module_hci_cmd_start_24g
+	beq HCI_CMD_STOP_24G,p_module_hci_cmd_stop_24g
+	beq HCI_CMD_PAIR_24G,p_module_hci_cmd_pair_24g
+	beq HCI_CMD_DISCONNECTED_24G,p_module_hci_cmd_disconnected_24g
+	beq HCI_CMD_SEND_24G_DATA,p_module_hci_cmd_send_24g_data
+
+	beq HCI_CMD_RESET_SDP_SERVICE,p_module_hci_cmd_set_sdp_service
+
+
+	beq HCI_CMD_DELETE_CUSTOMIZE_SERVICE,module_hci_cmd_delete_customize_service
+	beq HCI_CMD_ADD_SERVICE_UUID,module_hci_cmd_add_service_uuid
+	beq HCI_CMD_ADD_CHARACTERISTIC_UUID,module_hci_cmd_add_characteristic_uuid
+	beq HCI_CMD_SWITCH_WAKEUP,module_hci_cmd_switch_wakeup
+	branch module_hci_cmd_control + 2
+	
+p_module_set_bt_sniff:
+
+	ifetch 1,contru
+	store 1,mem_btsniff
+	branch module_hci_event_receive_valid_cmd,blank
+	ifetch 2,contru
+	store 2,mem_sniff_param_interval
+	branch module_hci_event_receive_valid_cmd
+	
+//function : modify feature----mem_features
+p_module_hci_cmd_reset_features:		
+	ifetch 8,contru
+	store 8,mem_features
+	branch module_hci_event_receive_valid_cmd
+
+	
+module_hci_cmd_switch_wakeup:
+	ifetch 2,contru
+	
+	ifetch 6,contru 
+	store 6,mem_hci_plap
+
+	// 4 bytes wake data
+	ifetch 4,contru 
+	store 4,mem_m_wake_data
+	
+	ifetcht 4,contru
+	setarg -1
+	ixor temp,pdata
+	store 4,mem_m_access_code
+	
+	ifetch 4,contru
+	store 4,mem_m_access_code+4
+	
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	// set conn status
+//	jam 1,mem_conn_status
+
+	jam 1,mem_m_process_enable
+
+	// Unit is 625us. 60*625 = 37.5ms
+	setarg 60
+	store 2,mem_m_wake_send_window
+
+	call p_m_send_wake_data_timer_init
+	branch module_hci_event_receive_valid_cmd
+	
+
+module_hci_cmd_delete_customize_service:
+	arg 0x000c,temp
+	call le_att_get_handle_ptr2
+	add contr,-2,contw
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_add_service_uuid:
+	call module_hci_cmd_add_service_uuid_set_uuid
+	call uart_copy_rx_bytes_len_data
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_characteristic_uuid:
+	ifetch 1,contru	//Characteristic
+	call module_hci_cmd_add_characteristic_uuid_set_handle
+	call module_hci_cmd_add_characteristic_uuid_set_uuid
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_service_uuid_set_uuid:
+	call le_att_creat_new_handle
+	setarg 0x280002
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_handle:
+	store 1,mem_pdatatemp
+	call le_att_creat_new_handle
+	setarg 0x01280302
+	istore 4,contw
+	fetch 1,mem_pdatatemp
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_uuid:
+	call le_att_creat_new_handle
+	call uart_copy_rx_bytes_len_data		//uuid
+	call uart_copy_rx_bytes_len_data		//data
+	setarg 0
+	istore 2,contw
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	add contr,4,contr
+	ifetch 1,contr		//characteristic data
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	bbit1 BIT_CHARACTERISTIC_INDICATE,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	increase 1,temp
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+	call le_att_creat_new_handle
+	setarg 0x02290202
+	istore 8,contw
+	increase -1,temp
+	rtn
+
+
+uart_copy_rx_bytes_len_data:
+	ifetch 1,contru
+	copy pdata,loopcnt
+	istore 1,contw
+	branch uart_copy_rx_bytes
+
+
+le_att_creat_new_handle:
+	call le_att_get_last_handle
+	istoret 2,contw
+	rtn
+
+//output:temp:new handle num
+//contr:address write data
+le_att_get_last_handle:
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_last_handle_loop:
+	ifetch 2,contr
+	rtn blank
+	add pdata,1,temp
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length
+	iadd contr,contr
+	copy contr,contw
+	branch le_att_get_last_handle_loop
+
+
+//input:temp uuid number
+module_hci_event_uuid_handle:
+	storet 2,mem_temp
+	jam HCI_EVENT_UUID_HANDLE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	fetcht 2,mem_temp
+	istoret 2,contwu
+	branch uartd_send
+
+
+
+	
+
+p_module_hci_cmd_set_sdp_service:
+	fetch 2,mem_module_uart_len_new
+	copy pdata,loopcnt
+	arg mem_module_uuid_list,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+	
+
+
+p_module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	call app_bt_disconnect
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_HID_CONN
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+p_module_hci_cmd_set_cod:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_valid_cmd
+	ifetch 3,contru
+	store 3,mem_class
+	branch module_hci_event_receive_valid_cmd
+
+p_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,p_module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+p_module_hci_pairing_numeric_comparison:
+	setarg 0x000001
+	branch module_hci_sspairing_mode
+
+
+p_module_hci_cmd_enter_sleep:
+	call module_hci_event_receive_valid_cmd
+	branch app_enter_hibernate
+
+
+p_module_hci_cmd_send_hid_data:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_HID_CONN,bt_keyboard_send_hid_int_data
+
+	branch module_hci_event_receive_invalid_cmd
+
+
+
+
+bt_keyboard_send_hid_int_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+	
+p_module_hci_cmd_send_hid_control_data:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_HID_CONN,bt_keyboard_send_hid_control_data
+
+	branch module_hci_event_receive_invalid_cmd
+bt_keyboard_send_hid_control_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+
+
+	
+p_module_hci_cmd_transmit_le_notify:
+	add temp,-3,pdata		//sub handle and opcode
+	arg 200,temp	
+	call not_greater_than
+	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
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	branch p_module_hci_cmd_transmit_handle_error,blank
+	ifetcht 4,contr		//flag
+	setarg 0x01280302
+	isub temp,null
+	nbranch p_module_hci_cmd_transmit_handle_error,zero
+	ifetch 1,contr			//Characteristic
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_transmit_le_notify + 13
+	branch p_module_hci_cmd_transmit_handle_error
+
+p_module_hci_cmd_transmit_handle_error:
+	jam 0,mem_module_hci_notify_len
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_invalid_cmd
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,p_parse_lmp_accepted_hostconn//ok
+	branch parse_lmp_accepted+2
+
+p_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
+//	branch parse_lmp_accepted_hostconn_ctn
+
+//call ice_break
+	jam 3,mem_connection_options
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	jam 1,mem_link_key_exists
+	jam RECONNECT_HID,memui_reconnect_mode
+	rtn
+	
+
+
+p_parse_lmp:
+	fetch 1,mem_lmi_opcode2
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,p_parse_lmp_crypt_key
+	beq LMP_SNIFF_REQ, p_parse_lmp_sniff_req
+//	beq LMP_QUALITY_OF_SERVICE_REQ,parse_lmp_quality_of_service_req
+ 	branch parse_lmp + 21
+ 	
+/*	jam 0xfe,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	fetch 1,mem_lmi_opcode2
+	istore 1,contwu
+	fetch 1,mem_rxbuf+1
+	istore 1,contwu	
+	branch uartd_send 	
+	*/
+
+parse_lmp_quality_of_service_req: 
+ 	jam LMP_QUALITY_OF_SERVICE_REQ,mem_lmi_opcode2  
+ 	jam LMP_ACCEPTED,mem_lmo_opcode2  
+ 	rtn
+
+p_parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	sub temp,6,null
+	branch reject_lmp_packet_pdu_not_allowed,positive
+	branch parse_lmp_crypt_key + 1
+	
+reject_lmp_packet_pdu_not_allowed:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+p_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
+	branch parse_lmp_sniff_req+5
+
+
+p_parse_lmp_not_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_AU_RAND,p_parse_lmp_not_accepted_aurand//ok
+	branch parse_lmp_not_accepted+3
+
+p_parse_lmp_not_accepted_aurand:
+//	call ice_break
+	call parse_lmp_not_accepted_aurand
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_AUTH_WAIT
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x01
+	istore 1,contwu
+	branch uartd_send
+	
+//function : send lmp_accepted packet
+//		add sniff_request report
+p_send_lmp_accepted:
+	fetch 1,mem_lmi_opcode
+	beq LMP_SNIFF_REQ,p_send_lmp_accept_sniff_req
+	branch send_lmp_accepted+7
+	
+p_send_lmp_accept_sniff_req:
+	jam BT_EVT_SNIFF_REPORT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch sniff_init
+	
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+//	call ice_break
+	fetcht 2,mem_test_ptr
+	istore 1,temp
+	increase 1,temp
+	storet 2,mem_test_ptr
+	
+	
+	bbit1 7,p_send_lmp_escape
+	beq LMP_SNIFF_REQ, p_send_lmp_sniff_req
+	beq LMP_M_TEST_REQ,p_send_lmp_opcode_00
+	beq LMP_DETACH,p_send_lmp_detch
+	branch send_lmp0
+
+p_send_lmp_detch:
+
+		force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+p_prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+p_send_lmp_sniff_req:
+	fetch 1,mem_btsniff
+	branch p_clear_lpm_flag,blank
+	branch send_lmp_sniff_req
+p_clear_lpm_flag:
+	jam 0,mem_lmp_to_send
+	rtn
+
+	
+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_ssp_disable:
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0x1
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+
+p_sp_initialize_256:	
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+//	call le_secure_connection_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc_256
+
+
+eut_read_otp_data:
+	fetch 1,mem_module_state
+	set1 MODULE_READ_OTP_BIT,pdata
+	store 1,mem_module_state
+	
+	arg 0x00,addhi
+	arg 0x8973,contr
+	ifetch 1,contr
+	set1 6,pdata			//enable chgpump
+	arg 0x8973,contw
+	istore 1,contw
+	
+	arg 0x0f,addhi
+
+	arg 6, loopcnt              //len
+	arg 2,regb                     //addr
+	arg mem_read_otp_data,rega                   //data
+	
+	call eut_read_otp
+
+	//
+	arg 20, loopcnt
+	arg 0x12c,regb
+	arg mem_read_otp_data+6,rega
+	call eut_read_otp
+
+	arg 2, loopcnt
+	arg 0x1ffe,regb
+	arg mem_read_otp_data+26,rega
+	call eut_read_otp
+
+	call eut_otp_deselect
+
+	arg 0x00,addhi
+	arg 0x8973,contr
+	ifetch 1,contr
+	set0 6,pdata			//disable chgpump
+	arg 0x8973,contw
+	istore 1,contw
+	
+	arg 0x00,addhi
+
+	fetch 1,mem_module_state
+	set0 MODULE_READ_OTP_BIT,pdata
+	store 1,mem_module_state
+	rtn
+
+// rega pointers to buffer, regb is otp address, loopcnt is length
+eut_read_otp:
+	lshift3 regb,regb
+	call eut_otp_ce
+	call eut_otp_readen
+eut_read_otp_loop:
+	call eut_write_otpaddr
+	fetch 1,sec_otp_data
+	istore 1,rega
+	increase 8,regb
+	increase 1,rega
+	loop eut_read_otp_loop
+	rtn
+
+eut_otp_ce:
+	setarg 0x20c
+	call eut_write_otpctrl
+	setarg 0x208
+	call eut_write_otpctrl
+	setarg 0x200
+	call eut_write_otpctrl
+	setarg 0x208
+	branch eut_write_otpctrl
+
+eut_write_otpctrl:
+	arg sec_otp_ctrl,contw
+eut_write_word:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	istore 1,contw
+	rtn
+
+eut_otp_readen:
+	setarg 0x288
+	branch eut_write_otpctrl
+
+// regb is otp address
+eut_write_otpaddr:
+	deposit regb
+	arg sec_otp_addr,contw
+	branch eut_write_word
+
+eut_otp_deselect:
+	setarg 0x20c
+	branch eut_write_otpctrl
+
+p_otp_custom_encryption_data_add_loop:
+	arg 13,loopcnt
+	arg OTP_INIT_VAL,temp
+	arg mem_read_otp_data,contr
+p_otp_custom_add:	
+	ifetch 2,contr
+	iadd temp,pdata
+	copy pdata,temp
+	loop p_otp_custom_add
+	rtn
+
+p_otp_custom_encryption_data_xor_loop:
+	arg 13,loopcnt
+	arg mem_read_otp_data,contr
+p_otp_custom_xor:	
+	ifetch 2,contr
+	ixor temp,pdata
+	copy pdata,temp
+	loop p_otp_custom_xor
+	rtn
+
+p_otp_judge_set_flag:
+	jam 0,mem_en_24g_flag
+	arg 0xffff,temp
+	iand temp,pdata
+	arg mem_read_otp_data+26,contr
+	ifetcht 2,contr
+	isub temp,null
+	nrtn zero
+	jam 1,mem_en_24g_flag
+	rtn
+
+p_check_otp_shaomaqiang_app:
+	call eut_read_otp_data
+	call p_otp_custom_encryption_data_add_loop
+	call p_otp_custom_encryption_data_xor_loop
+	call p_otp_judge_set_flag
+	fetch 1,mem_en_24g_flag
+	compare 1,pdata,0xff
+	rtn true
+	branch assert
+
+
+p_m_private_dispatch:
+	fetch 1,mem_m_process_enable
+	rtn blank
+	branch p_m_send_wake_data_process
+	
+
+p_m_send_wake_data_init:
+	jam 1,mem_m_process_enable
+
+	// Unit is 625us. 60*625 = 37.5ms
+	setarg 60
+	store 2,mem_m_wake_send_window
+
+p_m_send_wake_data_timer_init:
+	// Unit is 625us. 160*625 = 100ms
+	setarg 160
+	force m_wake_timer,queue//change adv interval to diffault to iphone frame
+	branch timer_init
+
+
+p_m_send_wake_data_process:
+	force m_wake_timer,queue
+	call timer_check
+	nrtn blank
+
+	call fetch_page_bt_adr
+
+	// Calc the access code.	
+	call p_m_access_code_generate
+
+	call p_m_send_wake_data_timer_init
+p_m_send_wake_data_start:
+	fetcht 2,mem_m_wake_send_window
+	disable swfine
+	copy temp,stop_watch
+
+p_m_send_wake_data_restart:
+	branch p_m_wait_remote_signal_packet,timeout
+	// send wake data process.
+//fetch 2,0x4fe0
+//increase 1,pdata
+//store 2,0x4fe0
+
+	call set_sync_on
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_tx
+	call start_transmitter
+	call p_m_transmit_packet
+	call end_of_packet
+	// wait a while.
+	nop 5000
+	branch p_m_send_wake_data_restart
+	rtn
+
+
+
+p_m_lap_generate:
+	fetch 9,mem_m_access_code
+	// remove trailer
+//	rshift4 pdata,pdata
+	// remove 34bit bch
+	rshift32 pdata,pdata
+	rshift2 pdata,pdata
+	store 3,mem_tmp0
+	fetchr lap,3,mem_tmp0
+	rtn
+
+
+p_m_access_code_generate:
+	call p_m_lap_generate
+	fetch 9,mem_m_access_code
+	// remove trailer
+//	rshift4 pdata,pdata
+	fetcht 8,mem_m_p_sequence
+	ixor temp,pdata
+	// get the sync word p xor result.
+	// 6bit + 24bit + 34bit
+	// |fix| |lap| |bch|  
+	store 8,mem_tmp0
+	fetch 5,mem_tmp0
+	// use ulp mode.
+	enable le
+	iforce access
+	disable le
+	// lap and ulp will generate the access cod.
+	rtn
+
+
+
+p_m_transmit_packet_access_and_header:
+	call send_access_word
+	//call scan_mode_whiten
+p_m_transmit_packet_header:
+	//rshift bt_clk,temp
+	//or temp,0x40,white_init
+	//enable enable_white
+	disable enable_white
+	enable enable_hec
+	enable encode_fec1
+	fetch 2,mem_m_snd_op
+	inject mod,10
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	rtn
+
+
+p_m_transmit_packet:
+	setarg 0x078
+	store 2,mem_m_snd_op
+	call p_m_transmit_packet_access_and_header
+
+p_m_transmit_wake_packet_payload:
+	//enable encode_fec2
+	enable encode_fec0
+	disable encrypt
+	enable enable_crc
+
+	// send l2cap header. LLID:0x00, Flow:0x00, Length: 0x153, Reserve: 0x00
+	setarg 0x0A98
+	inject mod, 16
+
+	// Total: 80*4 = 320Bytes
+	arg 80,loopcnt
+p_m_transmit_wake_packet_payload_data_loop0:
+	fetch 4,mem_m_wake_data
+	inject mod,32
+	loop p_m_transmit_wake_packet_payload_data_loop0
+
+	// Total: 19Bytes
+	arg 19,loopcnt
+p_m_transmit_wake_packet_payload_data_loop1:
+	setarg 0x00
+	inject mod,8
+	loop p_m_transmit_wake_packet_payload_data_loop1
+
+p_m_transmit_wake_packet_payload_data_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	rtn
+
+
+p_m_wait_remote_signal_packet:
+	fetcht 2,mem_m_wake_send_window
+	disable swfine
+	copy temp,stop_watch
+
+
+	disable clknt
+	disable attempt
+	
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_rx
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nbranch end_of_packet,sync
+//	call rf_debug_active_sync_line,sync
+
+p_m_receive_packet_header:
+	disable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,10
+	rshift pwindow,pdata
+	store 2,mem_m_rcv_op
+	parse demod,bucket,8 
+	disable decode_fec1
+	disable enable_hec
+	
+p_m_receive_packet_payload:
+//	call rf_debug_active_crc_error_line,crc_failed
+	branch end_of_packet,crc_failed
+
+	arg 18,loopcnt
+	arg mem_m_process_sync_buffer,contw //lmp_data or test packet
+	//branch tws_receive_packet_payload
+
+// input loopcnt -- packet length
+// input contw    -- packet buffer ptr
+p_m_receive_packet_payload_raw:
+	enable decode_fec2
+	//enable encrypt
+	enable enable_crc
+p_m_process_payload_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop p_m_process_payload_data
+p_m_process_payload_data_end:
+	parse demod,bucket,16  /* cycle through the crc */
+//	call rf_debug_active_crc_error_line,crc_failed
+	call end_of_packet	/* must have heard */
+	rtn crc_failed
+	fetch 6 ,mem_m_process_sync_buffer+2
+	fetcht 6,mem_hci_plap
+	isub temp,null
+	nrtn zero
+//fetch 2,mem_m_process_sync_buffer
+//store 2,0x4fe0
+	// remote clock unit is 312.5us/2 = 156.25us
+	fetch 4,mem_m_process_sync_buffer+14
+	rshift pdata,pdata
+	store 4,mem_clke_bt
+	fetch 1,mem_m_process_sync_buffer+1
+	store 1,extm_newconn_am_addr
+//	jam 0x04,extm_newconn_am_addr
+p_m_send_signal_packet:
+	//flag
+	setarg 0x67
+	store 1,mem_m_process_sync_buffer
+	fetch 6,mem_lap
+	store 6,mem_m_process_sync_buffer+1
+	setarg 0
+	store 9,mem_m_process_sync_buffer+7
+	//Clk Offset
+//	setarg 0
+//	store 3,mem_process_sync_buffer+13
+	
+//	setarg 0xea00
+//	store 2,mem_process_sync_buffer+16
+
+	// align the clock.
+	call rf_setup_time_slave_slot
+	call set_sync_on
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_tx
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+p_m_transmit_signal_packet:
+	fetch 2,mem_m_rcv_op
+	store 2,mem_m_snd_op
+	call p_m_transmit_packet_access_and_header
+
+p_m_transmit_signal_packet_payload:
+	enable encode_fec2
+	disable encrypt
+	enable enable_crc
+
+	arg 13,loopcnt
+	arg mem_m_process_sync_buffer,contr
+p_m_transmit_signal_packet_payload_data_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_m_transmit_signal_packet_payload_data_loop
+
+p_m_transmit_signal_packet_payload_data_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call end_of_packet	/* must have heard */
+
+	jam 0,mem_m_process_enable
+
+p_slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch p_slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch p_slave_apply_clke_bt
+	
+p_slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	call prepare_newconn
+//	jam 10,mem_newconnto_counter
+p_slave_newconn_loop:
+	call slave_newconn_once
+//call ice_break,match
+	branch p_m_slave_connection_success,match     
+	call new_conn_timeout
+	nbranch p_slave_newconn_loop,blank
+	rtn
+//	branch p_m_send_wake_data_init
+
+p_m_slave_connection_success:
+	jam 1,mem_ns_wake_up_flag
+	fetch 1,mem_rxbuf
+	call p_parse_lmp_opcode_00
+	branch sconn_successful
+	//branch p_hci_send_connection_complete
+
+
+p_parse_lmp_opcode_00:
+	fetch 3,mem_rxbuf+1
+	store 3,mem_m_save_lmp_Ye
+	jam LMP_M_TEST_REQ,mem_lmo_opcode2
+	rtn
+
+
+p_send_lmp_opcode_00:
+	setarg 0x00
+	store 1,mem_lmp_to_send
+	fetch 1,mem_m_save_lmp_Ye
+	beq 0x00, p_send_lmp_rxbuf_00
+	beq 0x04, p_send_lmp_rxbuf_04
+	rtn
+
+p_send_lmp_rxbuf_00:
+	force 10,pdata
+	call msg_send_lmp
+	setarg 0x1d3201
+	istore 9,contw
+	setarg 0
+	branch send_lmp_exit
+
+p_send_lmp_rxbuf_04:
+	force 4,pdata
+	call msg_send_lmp
+	setarg 0x000004
+	istore 3,contw
+	setarg 1
+	branch send_lmp_exit
+
+/*
+p_send_lmp_rxbuf_00:
+	force 4,pdata
+	call msg_send_lmp
+	setarg 0x1f0004
+	istore 3,contw
+	branch send_lmp_request
+
+p_send_lmp_rxbuf_04:
+	force 10,pdata
+	call msg_send_lmp
+	setarg 0
+	istore 2,contw
+	setarg 0x1532
+	istore 8,contw
+	branch send_lmp_request
+*/
+
+	
+
+p_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
+//fetch 1, mem_rx_type
+//sub pdata,1,null
+//ncall ice_break,zero
+	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
+	branch slave_notmatch
+
+
+
+
+/*
+	芯片公共bugfix
+*/
+
+/*
+	YC 3121 LPM  bugfix
+*/
+p_ahead_window:
+	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 p_clk2rt
+	branch ahead_window+12
+
+p_lpm_adjust_clk:
+	deposit clke
+	call p_clk_diff_rt
+	branch lpm_adjust_clk+3
+
+p_lpm_dispatch_next:
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call p_clk_diff_rt
+	branch lpm_dispatch_next+30
+
+p_clk_diff_rt:
+	call clk_diff
+p_clk2rt:
+	iforce contr
+	set0 16,contr
+	branch clk2rt+1
+
+/*
+	YC3121 没有exen GPIO
+	跳过disable exen
+*/
+p_soft_reset:
+	call rfcomm_init
+	call init_lmp
+	call p_ui_init
+	branch soft_reset + 9
+
+p_ui_init:
+	rtn wake
+	branch ui_timer_init
+
+p_main_loop:
+	call p_g24_dispatch
+	branch main_loop+1
+
+/*
+	YC3121 shutdown radio bugfix
+	rfen_adc bug 陶其文添加
+*/
+p_shutdown_radio:
+	branch p_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,p_shutdown_radio_0db
+	beq TX_POWER_3DB,p_shutdown_radio_3db
+	beq TX_POWER_5DB,p_shutdown_radio_5db
+	beq TX_POWER_f3DB,p_shutdown_radio_f3db
+	beq TX_POWER_f5DB,p_shutdown_radio_f5db
+	beq TX_POWER_PAIR,p_shutdown_radio_pair
+p_shutdown_radio_5db:	
+p_shutdown_radio_0db:
+	hjam 0xd0, 0x955
+	hjam 0xe0, 0x956
+p_shutdown_radio0:
+	force 0x08,radio_ctrl
+	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
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	rtn
+p_shutdown_radio_pair:
+p_shutdown_radio_f5db:
+p_shutdown_radio_f3db:
+p_shutdown_radio_3db:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	branch p_shutdown_radio0
+
+
+p_le_transmit:
+	call le_prep
+	call p_letx_setfreq
+	branch le_transmit0
+
+p_letx_setfreq:
+	branch p_txon,match
+	branch letx_setfreq+1
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+p_txon:	
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	branch txon+1
+
+
+p_init_param:
+	hjam 0x7c,rfen_adc
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+/*
+	YC3121 芯片功能bugfix
+*/
+
+/*
+	关闭广播不能休眠的问题
+*/
+p_lpm_unconn_nossp:
+	branch lpm_unconn_cont				//BT/BLE discover don't infect lpm
+
+
+
+
+
+p_module_hci_cmd_start_24g:
+	call module_hci_event_receive_valid_cmd
+	ifetch 4,contru
+	store 4,mem_24g_addr
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch p_g24_start_24g_mode
+
+p_module_hci_cmd_stop_24g:
+	call module_hci_event_receive_valid_cmd
+	set0 mark_24g,mark
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch p_g24_stop_g24_mode
+
+p_module_hci_cmd_pair_24g:
+	call module_hci_event_receive_valid_cmd
+	branch p_g24_start_pairing_sm1
+
+p_module_hci_cmd_disconnected_24g:
+	bmark0 mark_24g,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	branch p_g24_stop_g24_mode
+
+p_module_hci_cmd_send_24g_data:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	arg mem_24g_txbuf_new,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+p_module_hci_event_24g_pairing_complete:
+	jam HCI_EVENT_24G_PAIRING_COMPLETE,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_24g_addr
+	istore 4,contwu
+	branch uartd_send
+	
+p_module_hci_event_24g_attempt_fail:
+	jam HCI_EVENT_24G_ATTEMPT_FAIL,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_hci_event_24g_attempt_success:
+	jam HCI_EVENT_24G_ATTEMPT_SUCCESS,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 4,mem_24g_enter_hibernate
+	store 4,mem_24g_enter_hibernate_setup
+	call p_g24_txdata_prep
+	nbranch p_g24_long_sleep,user
+	jam 10,mem_24g_enter_lpm_timer
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	jam TX_POWER_5DB,mem_tx_power
+p_g24_short_sleep:
+	rtn
+	fetch 1,mem_mouse_retry_flag
+	nrtn blank
+//	call p_check_IPC_for_LPM
+//	nrtn user
+//	fetch 1,mem_c51_lpm_lock
+//	nrtn blank
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+p_g24_short_sleep_1:	
+	setarg 58000
+p_g24_short_sleep_2:	
+	call clk2lpo
+ 	storet 4,mem_sleep_counter
+ 	branch lpm_sleep
+
+p_g24_long_sleep:
+	rtn
+//	call p_check_IPC_for_LPM
+//	nrtn user
+//	fetch 1,mem_c51_lpm_lock
+//	nrtn blank
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_24g_enter_lpm_timer
+	nbranch p_g24_short_sleep_1,blank	
+	fetch 4,mem_24g_enter_hibernate_setup
+  	branch p_g24_short_sleep_2
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+	call p_g24_package_data
+	call p_g24_get_package_data,user
+	call p_g24_transmit_prep,user
+p_g24_txdata_enable_tx:
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	disable user
+	jam 2,mem_24g_data_type
+	fetch 1,mem_24g_txbuf_new
+	beq 0x01,p_g24_dataready			
+	beq 0x02,p_g24_dataready_mk	
+	beq 0x03,p_g24_dataready_ms
+	beq 0x06,p_g24_dataready_sys
+	beq 0x07,p_g24_dataready_game 
+	fetch 1,mem_mouse_retry_flag
+	ncall enable_user,blank
+	rtn
+p_g24_dataready:				
+	jam 0x00,mem_24g_txbuf_new				//standard key 0x00
+	jam 10,mem_24g_datalen		// 02 + 00 + 8 payload
+	branch p_g24_package_data_rtn
+
+p_g24_dataready_game:  //game key
+	jam 0x08,mem_24g_txbuf_new				
+	jam 24,mem_24g_datalen		// 02 + 08 + 13
+	branch p_g24_package_data_rtn
+	
+p_g24_dataready_mk:			
+	jam 0x03,mem_24g_txbuf_new				//multi key 0x03
+	jam 4,mem_24g_datalen		// 02 + 03 + 2 payload
+	branch p_g24_package_data_rtn
+p_g24_dataready_sys:
+	jam 0x02,mem_24g_txbuf_new				//system key 0x02
+	jam 3,mem_24g_datalen		// 02 + 02 + 1 payload
+	branch p_g24_package_data_rtn
+p_g24_dataready_ms:
+	jam 1,mem_24g_data_type		// mouse
+	jam 8,mem_24g_datalen		// 01 + 7 payload
+p_g24_package_data_rtn:	
+	jam 0,mem_24g_get_ack_fail
+	branch enable_user
+
+
+p_g24_get_package_data:
+	arg mem_24g_txbuf,contw
+	arg mem_24g_txbuf_new,contr
+	arg 32,loopcnt
+	branch memcpy
+
+
+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
+	nbranch p_g24_retransmit,user3
+	call p_g24_ackpayload_parse
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	jam 0,mem_mouse_retry_flag
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+p_g24_transmit_abandon:
+	call p_g24_clear_txbuf
+	jam 0,mem_24g_get_ack_fail
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+
+p_g24_retransmit:
+	jam 1,mem_mouse_retry_flag
+	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
+	fetch 1,mem_24g_get_ack_fail
+	beq  0xff,p_g24_long_sleep_setup
+	fetch 1,mem_24g_get_ack_fail
+	arg 16,temp
+	isub temp,null
+	branch p_g24_ch,positive
+	fetch 1,mem_24g_retry
+	increase 1,pdata
+	store 1,mem_24g_retry
+	nop 10
+	bne retry_24g,p_g24_transmit_loop
+	branch p_g24_ch
+	
+
+p_g24_clear_txbuf:
+	setarg 0
+	store 32,mem_24g_txbuf
+	store 32,mem_24g_txbuf_new
+	rtn
+
+p_g24_long_sleep_setup:
+	call p_g24_stop_g24_mode
+	jam 0,mem_mouse_retry_flag
+	call p_g24_clear_txbuf
+	jam 0,mem_24g_get_ack_fail
+	fetch 4,mem_24g_enter_hibernate_max
+	store 4,mem_24g_enter_hibernate_setup
+	rtn
+
+p_g24_paring_mode_start:
+	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:
+//	jam 0,mem_24g_rxbuf+1
+//	enable user3
+//	branch p_g24_end_of_packet
+
+
+p_g24_tx_paring_retry:
+	rtn
+//	fetch 1,mem_24g_get_ack_fail
+//	rtnne 0xff
+//	jam 0,mem_24g_get_ack_fail
+p_g24_stop_g24_mode:
+	jam 0,mem_mouse_retry_flag
+	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
+	call p_24g_kb_led
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_24g_kb_led:
+	fetch 1,mem_24g_rxbuf+1
+	compare 0x08,pdata,0xf8
+	nrtn true
+	fetch 1,mem_24g_rxbuf+2
+	beq 0xff,p_pc_sleep_opcode
+	jam HCI_EVENT_24G_RECEIVE_LOCK,mem_module_uart_opcode
+	branch p_pre_send_num
+p_pc_sleep_opcode:
+	jam HCI_EVENT_24G_PC_SLEEP,mem_module_uart_opcode
+p_pre_send_num:
+	setarg 1
+	call module_hci_prepare_tx
+	fetcht 1,mem_24g_rxbuf+2
+	istoret 1,contwu
+	call uartd_send
+	// test
+//	storet 1,mem_caps_num_lock
+	jam 0,mem_24g_led_flag
+	rtn	
+
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+	call p_g24_transmit_abandon
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+p_g24_pair_init:
+	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:
+	call p_g24_pair_init
+	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
+	jam 0x02,mem_24g_common_temp+1	// mem_24g_data_type: 02 keyboard
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	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:
+	rtnmark1 mark_24g
+	call p_g24_syncword_crc8
+	call p_g24_ch
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_tx_attemp_data_prep
+	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,user3
+p_g24_tx_attemp_dongle_succ:
+	call p_g24_clear_txbuf
+	set1 mark_24g,mark
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+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_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
+	rtn
+
+p_rssi_signal:
+	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_rssi_noise:
+//	call save_rssi
+//	rtn blank
+//	fetcht 1,mem_rssi_noise_index
+//	arg mem_rssi_noise_buf,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_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_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_transmit_prep_pair
+	fetch 1,mem_24g_data_type
+	istore 1,contw
+p_g24_transmit_prep_pair:	
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	fetch 1,mem_24g_data_type
+	beq 1,p_g24_transmit_prep_mouse
+	arg mem_24g_txbuf,contr
+	call memcpy
+// type == 2 && mem_24g_txbuf[0] == 0x03  : multi	
+// type == 1 && mem_24g_txbuf[0] == 0x03  : mouse
+// if transmit fail,next package will send mouse data
+	fetch 1,mem_24g_txbuf	
+	beq 0x03,p_g24_multi_key_setup
+	rtn
+p_g24_multi_key_setup:
+	jam 0x02,mem_24g_txbuf
+	rtn
+
+
+p_g24_transmit_prep_mouse:
+	arg mem_24g_txbuf+1,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	storet 1,mem_24g_current_ch_number
+	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_rxon:
+	call p_g24_prep
+	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
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	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:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+	//receive rssi hex
+	copy contw,rega
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	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_sync_timeout:
+//	call p_rssi_noise
+//	branch p_g24_end_of_packet
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	branch 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_keyboard_ble_init:
+	setarg 0x25
+ 	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
+
+
+/*
+	ble 层bugfix
+*/
+
+/*
+	广播层收发等待100us左右
+*/
+p_le_transmit_receive_sifs:
+	call le_transmit
+	call set_sync_on
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	nop 1500
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+
+p_le_receive_skip:
+	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
+	copy pdata,loopcnt
+	branch lerx_nopayload,blank
+	branch lerx_loop
+
+
+/*
+	l2cap 组包的问题
+*/
+p_le_parse:
+	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
+	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
+	call le_check_l2cap_complete
+	arg wake_lock_ble_rx_patch,queue
+	nbranch lpm_get_wake_lock,user
+	call lpm_put_wake_lock
+	branch le_parse_l2cap + 3
+
+
+p_le_parse_l2cap:
+	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
+
+/*
+	解密错误不解析的问题
+*/
+p_le_acknowledge:
+	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
+	nsetflag blank,mark_old_packet,mark
+	nrtn blank
+	branch le_ack_unenc
+
+
+
+/*
+ble keyboard event deal
+*/
+
+p_module_hci_event_start_enc:
+	jam HCI_EVENT_BLE_HID_CONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_hci_event_enc_info:
+	jam HCI_EVENT_BLE_ENC_INFO,mem_module_uart_opcode
+	setarg 28
+	call module_hci_prepare_tx
+	fetch 6,mem_le_lap
+	istore 6,contwu
+	fetch 6,mem_le_plap
+	istore 6,contwu
+	arg mem_le_ltk,contr
+	arg 16,loopcnt
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+
+/*
+	经典蓝牙事件处理函数
+*/
+//清除timer
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	jam HCI_EVNET_BB_CONN,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x00
+	istore 1,contwu
+	call uartd_send
+	
+	rtn
+
+classic_shutter_process_baseband_disconnect:
+jam 1,mem_test_data
+	call module_disconn_start
+	call classic_shutter_disconnect_clear_flag
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_HID_CONNECT
+	set0 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+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
+	rtn
+
+classic_shutter_process_reconnect_failed:
+	call module_disconn_start
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x00
+	istore 1,contwu
+	call uartd_send
+	branch app_disconn_reason_clear
+
+classic_shutter_process_setup_complete:
+	branch keyboard_stop_bluetooth_discovery
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+
+classic_shutter_process_hid_disconnect:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	call module_hci_event_enter_standby_mode_len0
+	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
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_CONNECT,mem_module_uart_opcode
+	call module_hci_event_enter_standby_mode_len0
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+//	call app_lpm_mult_enable
+	call keyboard_stop_bluetooth_discovery
+	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_process_store_reconnect_information:
+	rtn
+
+classic_shutter_process_linkkey_generate:
+	branch p_module_hci_event_bt_enc_info
+p_module_hci_event_bt_enc_info:
+	jam HCI_EVENT_BT_ENC_INFO,mem_module_uart_opcode
+	setarg 28
+	call module_hci_prepare_tx
+	fetch 6,mem_lap
+	istore 6,contwu
+	fetch 6,mem_plap
+	istore 6,contwu
+	arg mem_link_key,contr
+	arg 16,loopcnt
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+/*
+	bt keyboard 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 p_app_bt_disconnect,regb
+	branch timer_single_step
+
+p_app_bt_disconnect:
+	jam 0x99,mem_module_uart_opcode
+	call  module_hci_event_enter_standby_mode_len0
+	branch app_bt_disconnect
+/*
+	bt keyboard send hid data
+*/
+
+
+bt_keyboard_send_hid_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	add pdata,1,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+p_moudle_hci_cmd_creat_bt_reconnect:
+	ifetch 6,contru
+	store 6,mem_hci_plap
+	ifetch 2,contru
+	store 2,mem_page_to
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	call check_link_key_load
+	call keyboard_stop_bluetooth_discovery
+	call app_bt_start_reconnect
+	branch module_hci_event_receive_valid_cmd
+
+
+/*
+	bt hid patch bugfix
+*/
+p_hid_rx_process:
+	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,p_hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,p_hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,p_hid_rx_process_hid_control
+	beq HID_TYPE_GET_REPORT,hid_rx_process_handshake
+	rtn
+
+p_hid_rx_process_data:
+	
+	branch p_hid_rx_process_out_data
+	ifetch 2,contr
+	store 2,mem_pdatatemp
+	beq HID_REPORT_ID_KB,p_hid_rx_process_data_hid_kb	
+	rtn
+p_hid_rx_process_out_data:
+
+	jam HCI_EVENT_RECEIVE_BT_HID_DATA,mem_module_uart_opcode
+	fetch 2,mem_l2cap_rx_pkt_length
+	pincrease -1
+	icopy loopcnt
+	
+	call module_hci_prepare_tx
+	fetch 2,mem_l2cap_payload_ptr
+	
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+	
+p_hid_rx_process_data_hid_kb:
+	jam HCI_EVENT_RECEIVE_BT_HID_DATA,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx	
+	fetch 2,mem_pdatatemp
+	istore 2,contwu
+	branch uartd_send
+
+p_hid_rx_process_set_report:
+	call p_hid_rx_process_data
+	branch hid_rx_process_set_report+1
+
+p_hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	jam 1,mem_suspend_flag
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_handshake
+	jam 0,mem_suspend_flag
+	beq HID_CONTROL_P_EXITSUSPEND,hid_rx_process_handshake
+	rtn
+
+
+/******************************************/
+/***********   ROM Start   ***************/
+/******************************************/
+
+org 0x4000		// start from rom address start
+start:
+	call lpmstate
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call initialize_radio
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	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
+	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
+	rtn
+
+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
+	fetcht 2,core_rthalfslot
+	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 0x08,radio_ctrl
+	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
+	nop 4
+	rtn
+
+
+initialize_radio:
+	hjam clksel_rc,core_clksel
+	ncall wake_up_m0,wake
+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:
+	fetch 4,core_lpm_xtalcnt
+	isolate1 hibernate,pdata
+	bbit0 isogate,lpm_open_isogate
+	nbranch clean_mem,true			// power on
+	arg param_hibernate_clks,temp
+	deposit auxcnt
+	branch lpm_enter_sleep,blank		// hibernate timeout, continue sleeping
+lpm_open_isogate:
+	set1 isogate,pdata
+	set1 xram_switch,pdata
+	set1 pram_switch,pdata
+	store 4,core_lpm_reg
+	until null,lpo_edge				// delay to wait lpo rstn release
+	until null,lpo_edge
+	call lpm_write_ctrl2
+	fetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	store 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	branch clean_mem,true			// doze or hibernate
+	enable wake
+lpm_load_context:
+	jam 0x1,core_config				// signal m0 for NOT loading patch
+	fetch 8,mem_saved_mark
+	iforce mark
+	fetch 6,core_gpio_wakeup
+	store 6,mem_gpio_wakeup
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	branch lpm_write_gpio_wakeup
+
+
+lpo_calibration:
+	fetcht 1,core_clksel
+	and temp,0xf0,pdata
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	and temp,0xf,pdata
+	or_into 0xc0,pdata
+	store 1,core_clksel
+	jam ccnt_start,core_dma_start
+lpo_cal_inited:
+	fetch 1,core_misc_status
+	rtnbit0 CCNT_DONE
+	fetch 3,core_ccnt_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
+
+lpm_doze:
+	fetch 1,mem_lpm_doze_switch
+	branch lpm_hibernate_normal
+
+	/* no retention memory at all */
+lpm_hibernate:
+	fetch 1,mem_lpm_hibernate_switch
+lpm_hibernate_normal:
+	store 1,mem_lpm_xtalcnt + 3
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+
+	/* 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 3,mem_lpm_xtalcnt
+	store 3,core_lpm_reg
+	ifetchr rega,1,contr
+	fetch 1,core_lpm_buckcfg
+	istore 1,contw
+	until null,lpo_edge
+	storer clkn,6,mem_sleep_clkn
+	hjam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	storer rega,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
+	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
+
+
+
+	/* 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:
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup
+	store 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	ifetch 2,contr
+	store 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 2,IPC_BT2M0_READ_PTR
+	fetcht 2,IPC_BT2M0_WRITE_PTR
+	isub temp,null
+	nsetflag zero,wake_lock_ipc_bt2m0,rega
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	nsetflag zero,wake_lock_ipc_m02bt,rega
+	fetch 1,core_config
+	isolate1 7,pdata
+	setflag true,wake_lock_m0_single,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	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
+
+test_init:
+	setarg test_proc
+	store 2,mem_cb_bt_process
+	setarg test_sleep
+	store 2,mem_cb_bb_event_process
+	setarg test_proc
+	store 2,mem_cb_idle_process
+	rtn wake
+	rtn
+
+test_proc:
+	fetch 1,mem_state
+	bbit0 state_insniff,check_test_cond
+	set1 mark_lpm_mult_enable,mark
+	fetch 6,mem_sniff_rcv
+	store 6,mem_local_name
+	rtn
+
+check_test_cond:
+	fetch 1,mem_tester_emulate
+	rtnbit0 tester_change
+	fetch 1,mem_tester_cnt
+	increase 1,pdata
+	store 1,mem_tester_cnt
+	rtnne 5
+	jam 0,mem_tester_cnt
+	fetch 1,mem_tester_emulate
+	set0 tester_change,pdata
+	store 1,mem_tester_emulate
+	bbit1 tester_exit,check_test_exit
+	isolate1 tester_no_whitening,pdata
+	call test_no_white,true
+	ncall test_enable_white,true
+	fetch 1,test_mode_packet_type
+	compare 0x20,pdata,0x30
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	fetch 1,mem_tester_emulate
+	fetcht 1,mem_debug_config
+	isolate1 tester_pattern_test,pdata
+	setflag true,debug_tx_pattern,temp
+	isolate1 tester_fixed_freq,pdata
+	setflag true,debug_tx_fixed_freq,temp
+	setflag true,debug_rx_fixed_freq,temp
+	storet 1,mem_debug_config
+	fetch 1,test_mode_tx_freq
+	store 1,mem_tx_fixed_freq
+	fetch 1,test_mode_rx_freq
+	store 1,mem_rx_fixed_freq
+	set1 mark_testmode,mark
+	rtn
+
+	
+check_test_exit:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_test_mode_old_debug_config
+	store 1,mem_debug_config
+	hfetch 1,core_config
+	and_into 0xfb,pdata			/* whitening on */
+	hstore 1,core_config	
+	rtn
+	
+
+test_sleep:
+	deposit regc
+	rtnne BT_EVT_BUTTON_LONG_PRESSED
+test_sleep_loop:
+//	call ui_button_polling
+//	fetch 1,mem_ui_button_last_state
+	rtn
+	beq 1,test_sleep_loop
+	branch lpm_hibernate
+
+
+test_tx:
+	force 2,temp
+	increase -2,temp
+	call set_sync_on
+	call set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	call start_transmitter
+test_tx_loop:
+	fetch 1,0
+	inject mod,8
+	branch test_tx_loop
+wait_sec_powerup:
+	fetch 1,core_misc_status
+	bbit0 SEC_PWRUP, wait_sec_powerup
+	rtn
+
+app_init:
+	bpatch patch16_2,mem_patch16
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch16_3,mem_patch16
+	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 patch16_4,mem_patch16
+	//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 patch16_5,mem_patch16
+	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 app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_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_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 patch16_6,mem_patch16
+	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_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 patch16_7,mem_patch16
+	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
+
+
+
+
+
+
+
+module_init:
+	rtn wake
+	call le_modified_name
+	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 patch17_0,mem_patch17
+	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 2,IPC_M02BT_END_ADDR
+	store 2,core_sec_readdr
+	fetch 2,IPC_M02BT_START_ADDR
+	store 2,core_sec_rsaddr
+	copy pdata,contru
+	
+	fetch 2,IPC_BT2M0_END_ADDR
+	store 2,core_sec_teaddr
+	fetch 2,IPC_BT2M0_START_ADDR
+	store 2,core_sec_tsaddr
+	copy pdata,contwu
+	rtn
+	
+
+
+module_lpm_init:
+	call module_lpm_uart_init
+	branch module_spp_clear_last_transmite_clock
+//	branch module_gpio_init
+	
+module_gpio_init:
+	rtn
+module_lpm_lock:
+	fetch 1,IPC_HOLD_BT
+	beq 1,app_get_lpm_wake_lock
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_lpm_lock_check_pairing
+	branch app_put_lpm_wake_lock
+module_lpm_lock_check_pairing:
+	beq FLAG_LE_PAIRING_END,app_put_lpm_wake_lock
+	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:
+	rtn
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch17_1,mem_patch17
+	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
+	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
+//	fethc 2,core_uart_rxitems    //*
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	ncall module_set_unsniff_task_flag,zero    //*加这两句话
+	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:
+	branch module_start_adv_discovery_by_command
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_conn_start:
+	branch module_stop_adv_discovery
+	
+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_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	branch module_process_with_credit,zero
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	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 patch17_2,mem_patch17
+	fetch 2,IPC_M02BT_WRITE_PTR
+	store 2,IPC_M02BT_READ_PTR
+	rtn
+
+
+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 patch17_3,mem_patch17
+	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_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_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	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_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
+	beq HCI_TEST_CMD_REBACK,module_hci_test_cmd_reback
+	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 NL_RFCOMM_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 patch17_4,mem_patch17
+	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 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 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 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 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:
+	ifetch 1,contru
+	store 1,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+//command opcode 0xee	
+module_hci_test_cmd_reback:
+	fetch 1,mem_module_uart_len
+	call module_hci_prepare_tx
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call copy_tx_bytes	
+	branch uartd_send
+
+copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+copy_tx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop copy_tx_bytes_loop
+	rtn
+	
+/*********************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
+	branch module_hci_event_enter_standby_mode_len0
+	
+
+//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 patch17_5,mem_patch17
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	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:
+	rtn
+
+
+check_ipc_tx_buff:
+	call get_ipc_tx_buff
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+	
+calc_ipc_tx_buff_pos:
+	isub rega,pdata
+	sub pdata,0,pdata
+	rtn
+
+get_ipc_tx_buff:
+	fetcht 2,IPC_BT2M0_START_ADDR
+	fetch 2,IPC_BT2M0_END_ADDR
+	isub temp,rega
+	fetcht 2,IPC_BT2M0_READ_PTR
+	fetch 2,IPC_BT2M0_WRITE_PTR
+	isub temp,pdata
+	ncall calc_ipc_tx_buff_pos,positive
+	rtn
+	
+module_control_air_flow:
+	call check_ipc_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*******************/
+
+
+
+
+
+
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+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
+	
+
+/**
+* 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:
+	bpatch patch17_6,mem_patch17
+	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:	
+	bpatch patch17_7,mem_patch17
+	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:
+	bpatch patch18_0,mem_patch18
+	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
+	bpatch patch18_1,mem_patch18
+	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
+	bpatch patch18_2,mem_patch18
+	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
+	bpatch patch18_3,mem_patch18
+	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:
+	bpatch patch18_4,mem_patch18
+	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:
+	bpatch patch18_5,mem_patch18
+	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:
+	bpatch patch18_6,mem_patch18
+	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:
+	bpatch patch18_7,mem_patch18
+	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
+	bpatch patch19_0,mem_patch19
+	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:
+	bpatch patch19_1,mem_patch19
+	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
+	bpatch patch19_2,mem_patch19
+	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
+	bpatch patch19_3,mem_patch19
+	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:
+	bpatch patch19_4,mem_patch19
+	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:
+	bpatch patch19_5,mem_patch19
+	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
+	bpatch patch19_6,mem_patch19
+	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
+	bpatch patch19_7,mem_patch19
+	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
+	bpatch patch1a_0,mem_patch1a
+	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:
+	bpatch patch1a_1,mem_patch1a
+	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:
+	bpatch patch1a_2,mem_patch1a
+	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:
+	bpatch patch1a_3,mem_patch1a
+	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
+	bpatch patch1a_4,mem_patch1a
+	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:
+	bpatch patch1a_5,mem_patch1a
+	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
+	bpatch patch1a_6,mem_patch1a
+	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
+	bpatch patch1a_7,mem_patch1a
+	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
+	bpatch patch1b_0,mem_patch1b
+	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
+	bpatch patch1b_1,mem_patch1b
+	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
+	bpatch patch1b_2,mem_patch1b
+	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:
+	bpatch patch1b_3,mem_patch1b
+	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:
+	bpatch patch1b_4,mem_patch1b
+	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:
+	bpatch patch1b_5,mem_patch1b
+	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:
+	bpatch patch1b_6,mem_patch1b
+	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:
+	bpatch patch1b_7,mem_patch1b
+	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:
+	bpatch patch1c_0,mem_patch1c
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatch patch1c_1,mem_patch1c
+	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:
+	bpatch patch1c_2,mem_patch1c
+	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:
+	bpatch patch1c_3,mem_patch1c
+	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:
+	bpatch patch1c_4,mem_patch1c
+	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:
+	bpatch patch1c_5,mem_patch1c
+	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:
+	bpatch patch1c_6,mem_patch1c
+	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:
+	bpatch patch1c_7,mem_patch1c
+	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:
+	bpatch patch1d_0,mem_patch1d
+	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:
+	bpatch patch1d_1,mem_patch1d
+	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:
+	bpatch patch1d_2,mem_patch1d
+	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:
+	bpatch patch1d_3,mem_patch1d
+	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:
+	bpatch patch1d_4,mem_patch1d
+	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:
+	bpatch patch1d_5,mem_patch1d
+	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:
+	bpatch patch1d_6,mem_patch1d
+	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:
+	bpatch patch1d_7,mem_patch1d
+	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
+	bpatch patch1e_0,mem_patch1e
+	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:
+	bpatch patch1e_1,mem_patch1e
+	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:
+	bpatch patch1e_2,mem_patch1e
+	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:
+	bpatch patch1e_3,mem_patch1e
+	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:
+	bpatch patch1e_4,mem_patch1e
+	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:
+	bpatch patch1e_5,mem_patch1e
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatch patch1e_6,mem_patch1e
+	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:
+	bpatch patch1e_7,mem_patch1e
+	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:
+	bpatch patch1f_0,mem_patch1f
+	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:
+	bpatch patch1f_1,mem_patch1f
+	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:
+	bpatch patch1f_2,mem_patch1f
+	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:
+	bpatch patch1f_3,mem_patch1f
+	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:
+	bpatch patch1f_4,mem_patch1f
+	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:
+	bpatch patch1f_5,mem_patch1f
+	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:
+	bpatch patch1f_6,mem_patch1f
+	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:
+	bpatch patch1f_7,mem_patch1f
+	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 patch20_0,mem_patch20
+	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 patch20_1,mem_patch20
+	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 patch20_2,mem_patch20
+	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 patch20_3,mem_patch20
+	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 patch20_4,mem_patch20
+	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 patch20_5,mem_patch20
+	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 patch20_6,mem_patch20
+	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 patch20_7,mem_patch20
+	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 patch21_0,mem_patch21
+	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 patch21_1,mem_patch21
+	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 patch21_2,mem_patch21
+	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 patch21_3,mem_patch21
+	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 patch21_4,mem_patch21
+	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 patch21_5,mem_patch21
+	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 patch21_6,mem_patch21
+	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 patch21_7,mem_patch21
+	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 patch22_0,mem_patch22
+	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 patch22_1,mem_patch22
+	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 patch22_2,mem_patch22
+	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 patch22_3,mem_patch22
+	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 patch22_4,mem_patch22
+	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 patch22_5,mem_patch22
+	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 patch22_6,mem_patch22
+	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 patch22_7,mem_patch22
+	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 patch23_0,mem_patch23
+	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 patch23_1,mem_patch23
+	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 patch23_2,mem_patch23
+	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 patch23_3,mem_patch23
+	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 patch23_4,mem_patch23
+	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 patch23_5,mem_patch23
+	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 patch23_6,mem_patch23
+	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 patch23_7,mem_patch23
+	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
+	bpatchx patch24_0,mem_patch24
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	bpatchx patch24_1,mem_patch24
+	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 patch24_2,mem_patch24
+	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 patch24_3,mem_patch24
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch24_4,mem_patch24
+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 patch24_5,mem_patch24
+	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
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+	
+
+le_receive_window_size:
+	bpatchx patch24_6,mem_patch24
+	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 patch24_7,mem_patch24
+	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 patch25_0,mem_patch25
+	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 patch25_1,mem_patch25
+//	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 patch25_2,mem_patch25
+	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 patch25_3,mem_patch25
+	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 patch25_4,mem_patch25
+	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 patch25_5,mem_patch25
+	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 patch25_6,mem_patch25
+	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 patch25_7,mem_patch25
+	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 patch26_0,mem_patch26
+	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 patch26_1,mem_patch26
+	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 patch26_2,mem_patch26
+	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_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 patch26_3,mem_patch26
+	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 patch26_4,mem_patch26
+	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:
+	bpatchx patch26_5,mem_patch26
+	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 patch26_6,mem_patch26
+	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 patch26_7,mem_patch26
+	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 patch27_0,mem_patch27
+	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 patch27_1,mem_patch27
+	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 patch27_2,mem_patch27
+  	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 patch27_3,mem_patch27
+	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 patch27_4,mem_patch27
+	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 patch27_5,mem_patch27
+	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:
+	branch lmp_reject_sniff
+	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 patch27_6,mem_patch27
+	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 patch27_7,mem_patch27
+	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 patch28_0,mem_patch28
+	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 patch28_1,mem_patch28
+	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 patch28_2,mem_patch28
+	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 patch28_3,mem_patch28
+	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 patch28_4,mem_patch28
+
+	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
+	
+
+
+/* ===================== SPI dma ======================= */
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	hjam 1,core_reset
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	bpatchx patch29_0,mem_patch29
+	fetch 2,IPC_BT2M0_WRITE_PTR
+	copy pdata,contwu
+	rtn
+
+uartd_send:
+	bpatchx patch29_1,mem_patch29
+	copy contwu,pdata
+	store 2,IPC_BT2M0_WRITE_PTR
+wake_up_m0:
+	fetch 1,core_config
+	rtnbit1 7
+	set1 7,pdata
+	store 1,core_config
+	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
+	
+uartd_rxdone:
+	bpatchx patch29_2,mem_patch29
+	copy contru,pdata
+	store 2,IPC_M02BT_READ_PTR
+	rtn
+	
+uartd_prepare_rx:
+	bpatchx patch29_3,mem_patch29
+	fetch 2,IPC_M02BT_READ_PTR
+	copy pdata,contru
+	rtn
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+eeprom_store_le_reconn_info:
+eeprom_store_bd_reconn_info:
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch29_4,mem_patch29
+	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 patch29_5,mem_patch29
+	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 patch29_6,mem_patch29
+	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_key128
+	force aes_big_endian | aes_load,aes_ctrl
+	force 0,aes_ctrl					// change result to little endian
+	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 patch29_7,mem_patch29
+	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
+
+
+	
+
+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 ================= */
+
+
+
+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 patch2a_0,mem_patch2a
+	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 patch2a_1,mem_patch2a
+	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 patch2a_2,mem_patch2a
+	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 patch2a_3,mem_patch2a
+	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 patch2a_4,mem_patch2a
+	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 patch2a_5,mem_patch2a
+	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 patch2a_6,mem_patch2a
+	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 patch2a_7,mem_patch2a
+	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 patch2b_0,mem_patch2b
+	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 patch2b_1,mem_patch2b
+	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 patch2b_2,mem_patch2b
+	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 patch2b_3,mem_patch2b
+	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 patch2b_4,mem_patch2b
+	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 patch2b_5,mem_patch2b
+	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 patch2b_6,mem_patch2b
+	//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 patch2b_7,mem_patch2b
+	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 patch2c_0,mem_patch2c
+	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 patch2c_1,mem_patch2c
+	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 patch2c_2,mem_patch2c
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch2c_3,mem_patch2c
+	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 patch2c_4,mem_patch2c
+//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 patch2c_5,mem_patch2c
+//	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 patch2c_6,mem_patch2c
+	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 patch2c_7,mem_patch2c
+	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 patch2d_0,mem_patch2d
+	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 patch2d_1,mem_patch2d
+	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 patch2d_2,mem_patch2d
+	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 patch2d_3,mem_patch2d
+	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 patch2d_4,mem_patch2d
+	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 patch2d_5,mem_patch2d
+	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 patch2d_6,mem_patch2d
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch2d_7,mem_patch2d
+	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 patch2e_0,mem_patch2e
+	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 patch2e_1,mem_patch2e
+	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 patch2e_2,mem_patch2e
+	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 patch2e_3,mem_patch2e
+	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 patch2e_4,mem_patch2e
+	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 patch2e_5,mem_patch2e
+	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 patch2e_6,mem_patch2e
+	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 patch2e_7,mem_patch2e
+	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 patch2f_0,mem_patch2f
+	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 patch2f_1,mem_patch2f
+	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 patch2f_2,mem_patch2f
+	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 patch2f_3,mem_patch2f
+	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 patch2f_4,mem_patch2f
+	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 patch2f_5,mem_patch2f
+	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 patch2f_6,mem_patch2f
+	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 patch2f_7,mem_patch2f
+	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 patch30_0,mem_patch30
+	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 patch30_1,mem_patch30
+	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 patch30_2,mem_patch30
+	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 patch30_3,mem_patch30
+	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 patch30_4,mem_patch30
+	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 patch30_5,mem_patch30
+	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 patch30_6,mem_patch30
+	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 patch30_7,mem_patch30
+	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 patch31_0,mem_patch31
+	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 patch31_1,mem_patch31
+	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_key128
+//	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_ecb
+	
+//	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 patch31_2,mem_patch31
+	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 patch31_3,mem_patch31
+	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
+	fetchr regb,2,memp_ar_input
+	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:
+	istorer alarm,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:
+	ifetchr rega,1,contr
+	ifetchr regb,1,contr
+	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
+	fetchr rega,1,mem_input_store+15
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	storer rega,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
+	ifetchr regc,1,contw
+	istorer rega,1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	istorer rega,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 patch31_4,mem_patch31
+	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_key128
+	force aes_big_endian | aes_load,aes_ctrl
+	force 0,aes_ctrl					// change result to little endian
+	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 header, return mic in regb */	
+generate_mic:
+	add regc,1,contr
+	ifetchr rega,1,contr
+	call first_block_counter
+	call do_aes_ecb
+
+	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
+	copy regext,regb
+	storer regb,4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	call aes_init
+	copy regc,contr
+	call load_data128
+	call do_aes_cfb
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch31_5,mem_patch31
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force 0,rega
+	call first_block_data
+	call aes_init
+	force regidx_data,regext_index
+	copy regb,regext
+	call do_aes_cfb
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	istorer regext,4,contw	
+	force 0,rega					/* rega is block counter */
+	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:
+	fetcht 5,mem_le_pcnt_rx
+	force 0,rega
+	call first_block_data
+	call aes_init
+	fetch 1,mem_le_rxbuf+1
+	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
+	force regidx_data,regext_index
+	ifetchr regext,4,contr
+	call do_aes_cfb
+	force regidx_result,regext_index
+	storer regext,4,mem_le_peer_mic
+	force 0,rega					/* rega is block counter */
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetch 4,mem_le_peer_mic
+	isub regb,pdata					/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub regb,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_ecb256:
+	force aes_load | aes_256,aes_ctrl
+	force aes_256,aes_ctrl
+	branch wait_aes
+
+do_aes_ecb192:
+	force aes_load | aes_192,aes_ctrl
+	force aes_192,aes_ctrl
+	branch wait_aes
+
+do_aes_ecb:
+	force aes_load,aes_ctrl
+	force 0,aes_ctrl
+	branch wait_aes
+
+
+do_aes_cbc:
+	force aes_load | aes_cbc,aes_ctrl
+	force 0,aes_ctrl
+	branch wait_aes
+
+do_aes_cfb:
+	force aes_load | aes_cfb,aes_ctrl
+	force aes_cfb,aes_ctrl
+	branch wait_aes
+
+do_aes_ecb_be:
+	force aes_big_endian | aes_load,aes_ctrl
+	force aes_big_endian,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc_be:
+	force aes_big_endian | aes_load | aes_cbc,aes_ctrl
+	force aes_big_endian,aes_ctrl
+	branch wait_aes
+
+
+aes_init:
+	force aes_initialize,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
+	branch do_aes_ecb_be
+
+	/* rega pointers to random number */
+function_c1:
+	copy rega,contr
+	call load_data128					// load r
+	force aes_big_endian | aes_initialize,aes_ctrl
+	force 0,aes_ctrl
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,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
+	arg mem_le_iat,contr
+	call load_data128					// load p1
+	call aes_clear				
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	force aes_big_endian | aes_cbc | aes_load,aes_ctrl
+	force aes_big_endian,aes_ctrl
+	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_data,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 */
+	branch do_aes_cbc_be
+
+
+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
+
+load_key256:
+	force 8,loopcnt
+	branch load_key
+load_key192:
+	force 6,loopcnt
+	branch load_key
+load_key128:
+	force 4,loopcnt
+load_key:
+	force regidx_key,regext_index
+	branch load_regext_loop
+load_data128:
+	force regidx_data,regext_index
+	force 4,loopcnt
+load_regext_loop:
+//	ifetchr regext,4,contr
+	ifetch 4,contr
+ 	icopy regext	
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key128
+
+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:
+	fetch 1,core_config
+	set1 CLOCK_ON_AUTH_ROM,pdata
+	store 1,core_config
+	rtn
+
+disable_authrom:
+	fetch 1,core_config
+	set0 CLOCK_ON_AUTH_ROM,pdata
+	store 1,core_config
+	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 patch31_6,mem_patch31
+	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 patch31_7,mem_patch31
+	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 patch32_0,mem_patch32
+	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 patch32_1,mem_patch32
+	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 patch32_2,mem_patch32
+	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 patch32_3,mem_patch32
+         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 patch32_4,mem_patch32
+	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 patch32_5,mem_patch32
+	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 patch32_6,mem_patch32
+	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 patch32_7,mem_patch32
+	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 patch33_0,mem_patch33
+	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 patch33_1,mem_patch33
+	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 patch33_2,mem_patch33
+	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 patch33_3,mem_patch33
+	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 patch33_4,mem_patch33
+	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
+	branch ui_timer_init
+	
+ui_dispatch:	
+	branch ui_timer_check
+	
+	
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch33_5,mem_patch33
+	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 patch33_6,mem_patch33
+	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 patch33_7,mem_patch33
+	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 patch34_0,mem_patch34
+	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 patch34_1,mem_patch34
+	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 patch34_2,mem_patch34
+	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_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 patch34_3,mem_patch34
+	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 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
+	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	
+
+
+
+
+
+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 patch34_4,mem_patch34
+	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 patch34_5,mem_patch34
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch34_6,mem_patch34
+	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
+
+
+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_no_white:
+	hfetch 1,core_config
+	set1 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening off */
+	rtn
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	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 patch34_7,mem_patch34
+	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 patch35_0,mem_patch35
+	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: shoubing/output/bt_program23.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/bt_program23.rom	(working copy)
@@ -0,0 +1,32214 @@
+11000010100001000000000000011010
+11000000000000001000001110110101
+11000000000000011000001110111011
+11000000000000101000000000110110
+11000000000101110000000000110011
+11000000001011111000000001111011
+11000000001100000000000010000000
+11000000001011101000000001100001
+11000000001011110000000001110000
+11000000001110000000000001010000
+11000000001111001000000010011111
+11000000000111101000001110001100
+11000000010000101000001110111101
+11000000010001001000001111100011
+11000000010010100000001110011011
+11000000010100010000001111101100
+11000000010100011000001110100110
+11000000010101001000001110101001
+11000000010101100000001111110011
+11000000010111000000000011001010
+11000000010111011000000101001000
+11000000010111100000000111110111
+11000000010111110000011010000000
+11000000011001000000000010101000
+11000000011011011000000010011000
+00100000001000000100101010001011
+11000000000000011000010111001011
+11000000000000101000010111000010
+11000000000000110000001111011110
+11000000000010011000010111101110
+11000000000011111000010111010111
+11000000000100001000010111101001
+11000000000110000000000010100010
+11000000000111100000001000001111
+11000000000111010000001000011101
+11000000000111101000001000101101
+11000000000111111000001000111010
+11000000000111110000001001000000
+11000000001000001000001001101000
+11000000010011001000001001101110
+11000000010100011000000000101010
+00100000001000000100101010001011
+00100000010000000110011010011110
+00100100001110100111101111111101
+01101111111000100000101010010101
+11000101100001001111101111111000
+11000000000000100000000000110000
+00100000001000000111101111101101
+01110000000000000111110000000111
+01110000000001001100011000010011
+00100000011000000000000000000000
+11011010001000000100101111011101
+11011111001000000000000000000010
+00100000001000000100001001100000
+00100000010000000100001001011010
+00100100001000101000000000111110
+00100000010000000100001000000110
+00011010001000001000110000000001
+11101111111000100000000000000110
+11000010100000000101011100111010
+11000010100000001100000101100010
+00100000001000000100001111001011
+00100000010000000000000001000000
+00100000001000000100000000101100
+11011111001000000000000000000010
+01101000010000100000000000010101
+00011000010000001000010000000001
+00101000010000011111111000000010
+00100100001000001000000001000110
+11011000010000000000000000000000
+01100000010000100000000000010101
+00011000010011111111111001010000
+11011010001000000100101111011101
+10011010001000001010001000000000
+11101111111000100000000000010001
+11000010100000001000000001001110
+11000011100000000000000000000000
+11000011100000011000000000000000
+11000010000000000000000001000010
+00100000011000000000000000000000
+01111001001111111000000000000001
+01110000000000100110011000000000
+01101111111000100000001001011111
+00100000011110100000000000000000
+00101111111011111111111000000000
+11011000110000000001000000000000
+00100000010000001101000101010011
+01101111111000100000001001100110
+11000000000000001100011100110111
+01110000000000100110011000000000
+01101111111000100000001001011111
+11000100000000001000000000000000
+11011000110000000001001000000000
+00100000010000000101000101010011
+01101111111000100000001001100110
+11000000000000001100011100111101
+00100000011000000000000000000000
+11000101000001111100011000011100
+01101111111001000000000101011101
+11011000010000000000000111100000
+10011000010001100111110000000000
+00100000001000010100011000111001
+01101111111000100000001001011111
+11000010100000001100011001001001
+11000011000000000100010111000101
+11000011000000001000000001101011
+00100000001000000100011001001001
+01110000000000100101110100000010
+01101111111001000000001001011011
+11000000100000000100011001001001
+11011000101000000001001000000000
+00100000001000000100010111100000
+11000101000001111100011000011100
+01101111111001000000000101011101
+11011000010000000000000111100000
+10011000010001100111110000000000
+00100000001000010100011000111001
+01101111111000100000001001011101
+11000000000000001100010111011001
+11000000000000010000000001111001
+00100000001000000100011001001001
+11011000101000000001001000000000
+00100000001000000100010111011110
+00001001100000000000000000010000
+00100000001000110100011000110011
+01101111111000100100001100110101
+11000000000000001100011000110011
+00100000001000000100010111101001
+01101111111000100000001001011101
+11000000000000001000000010000100
+11000000000000010000000010001110
+00100000001000000100101010001011
+01101111111001000000001001011001
+01101000010001000000000101011101
+10011000010000001111111000000000
+01100111111001000000001001011001
+11000000000000000100101010001011
+01101000010001000001000000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101100011101000011
+00100000001000000100011000001001
+01101111111001000000001001011011
+01101000010001000000000101011101
+10011000010000001111111000000000
+01100111111001000000001001011011
+11000000000000000100101010001011
+01101000010001000001001000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101100011101000111
+00100000001000000100011000001001
+11011010010000000000000000000000
+00100000010000000101011001001001
+00100100001110100100101010001011
+00100000010000000101011001011000
+11011010010000000001010000000000
+11011000111000000000000000000000
+00100000001000000101011000100001
+01101111111001000000000101101101
+11000000010001100100011111100010
+00100000001000000100011111001101
+00100000010000000101101110000110
+00100000001000000000000010100100
+11011010011000000100001110000001
+11011010001000000100001101100010
+00100000010000000101101110100101
+00100000011000000000000000000000
+00011000010000100111111000000000
+11000000000000001101001000111110
+11000000000000011101001001100000
+11000000000010001000000010101111
+11000000000010011000000010111100
+00100000010000000101010000111100
+00100000001000000101001010101110
+00100000010000000111110010000011
+11011000010000000000000001010010
+01101111111001000100001000011110
+00100100001110100101001010101000
+00011001011000100111111000000000
+01100111111001000100001000011110
+01101111111000100100001000100100
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100111111000100100001000100100
+00100000010000000101001010001011
+01110000000010101001010101000010
+00100000001000000111101110101011
+00100000010000000111110010000011
+00011011010000100111111000000000
+11011000010000000000000001010011
+01101111111001000100001000100000
+00100100001110100101001010101000
+00011001011000100111111000000000
+01100111111001000100001000100000
+01101111111000100100001000100101
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100111111000100100001000100101
+00100000010000000101001010001011
+01110000000010101001010101000010
+00100000001000000111101110101011
+01011000000000000000000100000000
+01100111111001000100000111110110
+01011000000000000000000100110110
+01100111111001000100000111111110
+01011000000000000000000011011011
+01100111111001000100000111110100
+01011000000000000000000100111010
+01100111111001000100000111111010
+01011000000000000000000101000011
+01100111111001000100000111101010
+01011000000000000000000101000100
+01100111111001000100000111110010
+00100000010000000000010110111100
+00100000010000000100110110101111
+00100000010000000100110110111100
+00100000010000000100110000101010
+00100000001000000101000001001101
+00100000010000000000001011010010
+00100000010000000101000011010011
+00100000010000000101011001001000
+00100100011110100000000000000000
+00100000001000000000000011100000
+01101111111001000100111111111100
+01101000010001000100111111111110
+10011000010001100111110000000000
+00100000001000101100111000111010
+00100000010000000110011111110111
+11101111111000100000000000000011
+11000000100000001100111001001110
+11101111111000100000000000000011
+11000000010100000000000011110010
+01100111111000100000101011111111
+11101000010000100000000000000011
+00011000011000100010001000000000
+01100000010000100000101100000000
+01110000000010110000000100000001
+00100000010000000100111001011010
+01101111111000100000101100000001
+11000001000000000000000000000000
+00100000001000000100111001010101
+01100111111000100000101011111111
+11101000010001000000000000000011
+00011000011000100010001000000000
+01100000010001000100101110110100
+01110000000010110000000100000001
+00100000010000000100111001011010
+01101111111000100000101100000001
+11000001000000000000000000000000
+00100000001000000000000011111011
+00100000010000000110011111110111
+00011000011000001000011000000010
+11101111111001000000000000000011
+10011000011000001000011000000000
+00100000001000000100111001011001
+00011010011000100111111000000000
+11000000000000001000011000001110
+11000000000000010000011000010111
+11000000000000100000011000100110
+11000000000000101000011000101110
+11000000000000110000011000101111
+11000000000000111000011000110010
+11000000000010010000011000111011
+11000000000010011000011001000101
+11000000000100111000011001000110
+11000000000101110000011001001001
+11000000000011000000011001001011
+11000000000110010000011000000001
+11000000000101001000011000000011
+11000000000111001000010000000111
+11000000000111010000010000001101
+11000000000111100000010000001111
+11000000000001011000000100100110
+11000000000100010000000100010110
+11000000001000011000000100010110
+11000000001000010000000100011101
+00100000001000000100110111011111
+01011000000000000000000000000010
+01110000000010101111111110111000
+00100000010000000101000010100101
+01101111111001000000000000110010
+00011111111000110111111000000000
+11100111111001000000000000001010
+00100000001000000110011110111001
+01101111111001000100011001010010
+01111001001000000111111000000010
+01100111111001000100011001010010
+01011000000000000000000000000010
+01110000000010101111111110110111
+00100000010000000101000010100101
+01101000010001000100001000100000
+11100000010001000000000000001010
+00100000001000000110011110111001
+00100000010000000100110111010111
+01101111111001000100000001000010
+00011111111000110111111000000000
+01101000010001000100000111100100
+10011000010001100111110000000000
+00100000001000000100110110010001
+01101111111000100100011001111001
+11000011100000101000000000000000
+01101111111001000100111111111100
+01101000010001000100111111111110
+10011000010001100111110000000000
+00100100010000101101000011011010
+00100000001000000100110110000111
+00100000011000000000000000000000
+00100000010000000100110101101011
+00100000001000000100110101110011
+00100000010000000000011001010111
+00100000010000000000011001011111
+00100000010000000000011001100010
+00100000011000000000000000000000
+01101000010001000000010001110100
+00011000010001100111110000100001
+00100000001000101000000100111110
+00100000011000000000000000000000
+11101000010000100000000000010001
+01011000000000000000000000000001
+01100111111000100000101010010110
+11100000010000100000000000000101
+00100000001000000000011010011010
+00100000001000000100110110111101
+00100000001000000000000101000101
+01101111111000100100101111011000
+00100000011110100000000000000000
+00100000001000000100110111001000
+01101111111000100000101011111111
+11000000000010001000000111000011
+11000000000010101000000111001011
+11000000000100111000000111011001
+11000000000001100000000111010000
+11000000010110000000000111011011
+11000000010110010000000111101001
+11000000010100001000000101100011
+11000000010100010000000101011101
+11000000010110001000011001110101
+11000000011000000000001111110100
+11000000011000001000001111111001
+11000000011000010000001111111101
+11000000011000011000001111111111
+11000000011000100000010000000010
+11000000010100000000000110111110
+11000000001110110000000101111001
+11000000001110111000000101111111
+11000000001111000000000110000100
+11000000001110000000000101100110
+00100000001000000100111001011100
+11101111111000100000000000000011
+01100111111000100100101111011000
+00100000001110100101000000011111
+11101111111001000000000000000011
+01100111111001000100000111100100
+00100000001000000101000000011111
+11101111111100000000000000000011
+01100111111100000100000010011000
+00100000001000000101000000011111
+11101111111001000000000000000011
+11101111111011000000000000000011
+01100111111011000100000111010001
+11101111111010000000000000000011
+01100111111010000100101111001010
+11101000010010000000000000000011
+01011111111111111111111111111111
+10011000010000101111111000000000
+01100111111010000100101111000001
+11101111111010000000000000000011
+01100111111010000100101111000101
+11011000101000000100000110111111
+11011111001000000000000000010000
+00100000010000000110011111101101
+01110000010010111011011000000001
+01011000000000000000000000111100
+01100111111001000100101110110111
+00100000010000000000001011011000
+00100000001000000101000000011111
+11011000010000000000000000001100
+00100000010000000101101101001101
+00011000110000001000101111111110
+01011000000000000000000000000000
+11100111111001000000000000000101
+00100000001000000101000000011111
+00100000010000000000000110001000
+00100000010000000000000110100101
+01011000000000000000000000000000
+11100111111001000000000000000101
+00100000001000000000000110110111
+11101111111000100000000000000011
+00100000010000000000000110001100
+00100000010000000000000110010011
+00100000001000000000000110110111
+00100000010000000000000110101001
+01011000001010000000000000000010
+11100111111001100000000000000101
+00100000011000000000000000000000
+01100111111000100000101010010110
+00100000010000000000000110101001
+01011001001010000000001100000010
+11100111111010000000000000000101
+01101111111000100000101010010110
+11100111111001100000000000000101
+00100000011000000000000000000000
+00100000010000000000000110101001
+00100000010000000000000110100101
+00100000010000000000000110100101
+01011000000000000000000000000000
+11100111111001000000000000000101
+00011000010000001000010111111111
+00100000010000000101101101001101
+00011000110000001000110000000100
+11101111111000100000000000000110
+11000010100000100000000110100000
+11000010100000101000000110100000
+00011000010000001000010000000001
+00100000011000000000000000000000
+00100000010000000000000110101001
+01011010001010010000001000000010
+11100111111100000000000000000101
+00011000010000001000010111111111
+00100000011000000000000000000000
+11101111111000100000000000000011
+00011111111000100111001000000000
+11100111111000100000000000000101
+00100000001000000110011111101101
+00100000010000000000000110101100
+11100000010001000000000000000101
+00100000011000000000000000000000
+01101111111001000100010010001110
+10011000000000000000110000000000
+11101111111001000000000000000110
+00100000011110100000000000000000
+00011111111000001000010000000001
+11101111111000100000000000000110
+10011000110000001000110000000000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00011000110000100000101000000000
+00100000001000000000000110101110
+01100000010001000000101010011110
+01110000000010101111111100101001
+01011000000000000000000000000010
+00100000010000000101000010100101
+01101000010001000000101010011110
+11100000010001000000000000001010
+00100000001000000110011110111001
+01101111111001000100101110110100
+00011111111000100111001000000000
+11011000101000000100011010000011
+00100000010000000110011111101101
+00100000001000000101000000011111
+01101111111001000100011001010010
+11000011000000000101000000011100
+00100000010000000101000000011111
+00100000010000000100110101100100
+01101111111001000100011001010010
+11000100000000010000000000000000
+01110000000010101111111110110110
+00100000001000000101000001001110
+01101111111000100000101100000000
+11000000100000011101000000011111
+11101111111001100000000000000011
+01100111111001100100000010101010
+00100000001000000101000000011111
+00011010001000100000011000000000
+11101111111000100000000000000011
+11000000000000000100111100011100
+11000000000000001100111100011111
+11000000000000010100111100100101
+11000000000000011000000111010111
+00100000001000000101000000011100
+01011000000000000000000000000001
+00100000001000000100111100100000
+00100000010000000101000000011111
+00100000001000000100110110000101
+01101111111001000100011001010010
+11000010100000010000000111011110
+00100000001000000101000000011100
+00100000010000000101011001001011
+00100100011110100000000000000000
+01101111111000100000101100000000
+00011111111000100010001000000000
+00100000010000000101000100111101
+01101111111001000100001000100000
+11100111111001000000000000000101
+01101111111000100000101100000000
+00011111111000100111001000000000
+00100000010000000110011111101101
+00100000001000000101000000011111
+01101111111001000100011001010010
+11000010100000010000000111101100
+00100000001000000101000000011100
+00100000010000000101011001001011
+00100100011110100000000000000000
+01101111111000100000101100000000
+00011111111000100010001000000000
+00100000010000000101000100111101
+01101111111001000100001000011110
+11100111111001000000000000000101
+01101111111000100000101100000000
+00011111111000100111001000000000
+00100000010000000110011111101101
+00100000001000000101000000011111
+00011000010000001111111111111101
+11011000010000000000000011001000
+00100000010000000111110110110101
+01101000010000100100011001111010
+00100000010000000111110110110101
+00011111111000100010001000000000
+00011000010000100111111000000000
+10011010001001100111111000000000
+01100111111000100100011001111010
+01101000010001000100011001111011
+00011000010000001000010111111111
+00100000010000000101101101001101
+00100000001110100000001000001011
+11101000010010000000000000000110
+01011001001010000000001100000010
+10011000010001100111110000000000
+00100100001000101000001000001011
+11101111111000100000000000000110
+11000010100000100100111100000001
+00100000001000000000001000001011
+01110000010001100111101000000000
+01110000000010110000000100000001
+00100000010000000101000011100000
+00100000001000000101000000011100
+01101111111000100000010101001110
+01100111111000100000010011000101
+11000000000110011000001000010011
+00100000001000000110000110010100
+01101111111000100000010011001101
+01111001001000000111111000000000
+01100111111000100000010011001101
+01110000000010101001010100000001
+00100000010000000111101110101011
+01110000000000010110101100000011
+01110000000000000101010100000110
+01110000010000011011111000000001
+01110000010001100101000100000001
+00100000011000000000000000000000
+01101111111000100000000001111101
+11000000000010000000001000100100
+11000000000010111000001000101010
+00100000001000000110000011111110
+01110000000000000111110100101010
+01110000000000000111110000000011
+00100000011000000000000000000000
+01101000010000100000010101001110
+00011000010001100111110000000110
+00100000001000010000001000101000
+00100000001000000110001000000110
+01110000000000000111111000100100
+00100000001000000110000100110100
+01101111111001000000010101010011
+00100000001110100110001011010010
+00100000001000000110001010111100
+01101111111000100000010101001110
+01100111111000100000010011000101
+11000000000001011000001000110001
+00100000001000000110000110100110
+00100000010000000110000111011111
+01101111111000100000000001010101
+11000001100011001000000000000000
+01110000000010101111111110110001
+01011000000000000000000000000001
+00100000010000000101000010100101
+01011000000000000000000000000001
+11100111111000100000000000001010
+00100000001000000110011110111001
+01101111111000100000000001001001
+11000000000010111000001000111101
+00100000001000000110010000110011
+01110000000010101001010101000011
+00100000010000000111101110101011
+00100000001000000100011011000010
+01111000010101000111110000000000
+00100000010000000110011010100011
+01101111111000100000000001001000
+00100000011110100000000000000000
+01101000010001000100101111011001
+11100111111000100000000000000010
+00011000010000001000010000000001
+01100000010001000100101111011001
+11000010100000111000001001011100
+11000000000010111000001001010111
+11000000001000010000001101111010
+11000000000000111000001001001101
+00100000001000000110001111110010
+00011000000000000111111000000010
+00100000010000000110011001111010
+01101111111000100000010011000110
+11100111111000100000000000000101
+00100000010000000110011010010100
+01101111111000100000000001001011
+01111001001000000111111000000011
+01100111111000100000000001001011
+01110000000000000111001000110010
+00100000011000000000000000000000
+01101111111000100100101111011000
+00100000001110100000001001011010
+00100000001000000110010110000110
+01110000000000000100100000000000
+00100000011000000000000000000000
+11000000010000100000001001011111
+11000000010000011000001001100010
+00100000001000000110010000100001
+00100000010000000000001001100101
+01101111111000100000000001001000
+00100000001000000110010001111011
+00100000010000000000001001100101
+01101111111000100000000001001000
+00100000001000000110010011101111
+01101111111000100100011000101100
+00100000001110100110010100001101
+00100000001000000110010100000110
+01101111111000100100000010011110
+01111001001111111111111000000011
+01100111111000100100000010011110
+01011000000000000000000000000001
+01100111111001000000010011001010
+00100000011000000000000000000000
+01101111111000100100010010010000
+00100000001110100101111011010000
+00100000010000000111010000111000
+00100000001000000111100100110010
+01101111111000100100011001101100
+01111001001000000111111000000111
+01100111111000100100011001101100
+11011010110000000000000000000000
+11011000110000001000100101110011
+11101111111000100000000000000110
+01111001001000000111111000000110
+11011000101000001000100101110011
+11100111111000100000000000000101
+11011010110000000000000000001111
+11011111001000000000000000000110
+11011010010000000000000000000010
+11011010001000000100101110010111
+00100000010000000000001010010100
+11011111001000000000000000010100
+11011010010000000000000100101100
+11011010001000000100101110011101
+00100000010000000000001010010100
+11011111001000000000000000000010
+11011010010000000001111111111110
+11011010001000000100101110110001
+00100000010000000000001010010100
+00100000010000000000001010110000
+11011010110000000000000000000000
+11011000110000001000100101110011
+11101111111000100000000000000110
+01111001001111111111111000000110
+11011000101000001000100101110011
+11100111111000100000000000000101
+11011010110000000000000000000000
+01101111111000100100011001101100
+01111001001111111111111000000111
+01100111111000100100011001101100
+00100000011000000000000000000000
+00011010010010011010010000000000
+00100000010000000000001010011110
+00100000010000000000001010101011
+00100000010000000000001010101101
+01101111111000111000010100001100
+11100111111000100000000000010001
+00011010010000001010010000001000
+00011010001000001010001000000001
+11000010000000000000001010010111
+00100000011000000000000000000000
+01011000000000000000001000001100
+00100000010000000000001010100110
+01011000000000000000001000001000
+00100000010000000000001010100110
+01011000000000000000001000000000
+00100000010000000000001010100110
+01011000000000000000001000001000
+00100000001000000000001010100110
+11011000101000011000010100001010
+11100111111000100000000000000101
+00011111111011001111111000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01011000000000000000001010001000
+00100000001000000000001010100110
+00011010010000100111111000000000
+11011000101000011000010100001000
+00100000001000000000001010100111
+01011000000000000000001000001100
+00100000001000000000001010100110
+11011111001000000000000000001101
+11011000010000000101010110101010
+11011000110000000100101110010111
+11101111111001000000000000000110
+10011000010000001111111000000000
+00011111111000100000010000000000
+11000010000000000000001010110101
+00100000011000000000000000000000
+11011111001000000000000000001101
+11011000110000000100101110010111
+11101111111001000000000000000110
+10011000010000101111111000000000
+00011111111000100000010000000000
+11000010000000000000001010111100
+00100000011000000000000000000000
+01110000010010111011001100000000
+11011000010000001111111111111111
+10011000010000010111111000000000
+11011000110000000100101110110001
+11101000010001000000000000000110
+10011000010001100111110000000000
+00100100011000101000000000000000
+01110000010010111011001100000001
+00100000011000000000000000000000
+00100000010000000000001001110010
+00100000010000000000001010110010
+00100000010000000000001010111010
+00100000010000000000001011000001
+01101111111000100100101110110011
+00101111111000011111111000000001
+00100000011000001000000000000000
+00100000001000000100101010001011
+01101111111000100100101110110110
+00100000011110100000000000000000
+00100000001000000000001011011011
+01110000010010111011011000000001
+01011000000000000000000000111100
+01100111111001000100101110110111
+01011000000000000000000010100000
+00011000000000000000111000001110
+00100000001000000111110011100011
+00011000000000000000111000001110
+00100000010000000111110011110001
+00100100011110100000000000000000
+00100000010000000100100011011000
+00100000010000000000001011110100
+00100000010000000000001011011000
+01101000010001000100101110110111
+01111000010010000111110000000000
+00011000010000100011011000000000
+00100000001000011000001100011111
+00100000010000000100100100010101
+11011000010000000000000000000000
+00100000010000000100100100110000
+00100000010000000100101001010000
+00100000010000000000001100001011
+00100000010000000100011001001001
+00100000000000000001001110001000
+00100000001000000000001011100100
+00100000011000000000000000000000
+01101111111100100100101111000001
+00011111111011110111111000000000
+00011111111010110111111000000000
+01100111111001100000011101000010
+01101101100001100000011101000010
+00100000011000000000000000000000
+00100000010000000000001011101110
+01101111111100100100101111000001
+01101000010100000100101110111001
+10011000010000101111111000000000
+01100111111100000000011101000010
+01101111111010100000011101000010
+01111000001110110111110000000000
+10011000000000000001001000000000
+01111000010110110111110000000000
+00100000011000000000000000000000
+00100000010000000100101001100011
+01111000010000111111110000000000
+01111000001001010111110000000000
+01111000001011011111110000000000
+01101111111001000000111100110111
+00001000000000001000011000001010
+01111000001001000111110000000000
+00001000000000001000011000001000
+01111000010011011111110000000000
+01111000010001000111110000000000
+01111000010001010111110000000000
+01111001001111111010101000000010
+00100000011000000000000000000000
+01011000000000000000000001111000
+01100111111001000000111100110111
+00100000010000000000001011111110
+01111000001011101111110000000000
+01111000010001110111110000000000
+01111000001001001111110000000000
+01011000000000000000101010011000
+00001000000000001000011000010000
+11011111001000000000000001010000
+01101111111010000100101111001010
+00001000000000001000011000100000
+11000010000000000000001100010100
+11011111001000000000000000010011
+01011000000000000000000000000000
+00001000000000001000011000001000
+11000010000000000000001100011000
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000011000000000000000000000
+01101000010001000100101110110111
+01111000010010000111110000000000
+00011000010000100011011000000000
+01111000010110000111110000000000
+01111000010101110111110000000000
+11011000010000000000000000000000
+00100000010000000100100100011100
+00100000010000000100100111101010
+00100000010000000100101000010011
+00100100001011000100011001001001
+01111000010000111111110000000000
+01111000001001010111110000000000
+01111000001001011111110000000000
+00001001100000000000000000001010
+00011001100000110111111000000000
+01100111111001000000111100111001
+00001001100000000000000000001000
+01111000010001011111110000000000
+01111000010001010111110000000000
+00100000001000110100011001001001
+11011111001000000000000000010010
+11011000101000000000111100011110
+01111000001001100111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+11000010000000000000001100110111
+00001001100000000000000000010000
+00100000010000000100011001001001
+00100000011000110000000000000000
+01101111111011000000111100100000
+01101000010011000100000111010001
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101111111010000000111100101100
+00011111111000110111111000000000
+01100111111010000000000101100011
+01101111111000100000111100011111
+01100111111000100000000101110010
+01011000000000000000000001100111
+01100111111000100000111100011110
+01101111111011000100000010100000
+01100111111011000000111100011111
+01011000000000000000000000000000
+01100111111100100000111100100101
+00100000010000000100101001001100
+00100000010000000100100100010101
+11011000010000000000000000000000
+00100000010000000100100100110000
+00100000010000000100101001010000
+00100000010000000100101001011110
+01101111111001000000111100111001
+01100111111001000000111100110111
+00100000010000000000001011111110
+01111000001011100111110000000000
+01111000010001110111110000000000
+01111000001001001111110000000000
+11011111001000000000000000001101
+11011000110000000000111100011110
+11101111111000100000000000000110
+00001000000000001000011000001000
+11000010000000000000001101011011
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000010000000100011001001001
+01110000010010111011011000000000
+00101101000000000000011000000011
+00100000001000001000001101100111
+00110111110010111000001000000000
+00100000001000000000001101100011
+01101111111010000000000101100011
+00011111111000011111111000000011
+00011111111000100101000000000000
+01101111111011000100000111010001
+01100111111011000000000001000000
+00100000010000000100010000110001
+00100000010000000100010001111000
+00100000001101101000001101110010
+00100000010000000100010001010001
+00100100001110100000001101101101
+00100000011000000000000000000000
+01110000010010111101110000000001
+01101111111000100000010101001101
+00100000010000000000001101110110
+00100000001000000100001111000100
+01101111111001100000010101001110
+01100111111001100100101111001110
+01110000000000000111110001000010
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100111111000100000000001001000
+01101111111000100100101111001110
+11000000000000000000001110000000
+11000000000000100000001110000110
+00100000011000000000000000000000
+00011000000000000111111000001010
+00100000010000000110011001111010
+01011000000111010011001000000001
+11100111111100100000000000000101
+01011000000000000000000000000000
+00100000001000000110011010011001
+00011000000000000111111000000100
+00100000010000000110011001111010
+01011000000000000000000000000100
+11100111111001100000000000000101
+01011000000000000000000000000001
+00100000001000000110011010011001
+00100000010000000100110000100100
+00100000010000000110101101101001
+00100000010000000100010100010000
+00100100001101101100001111011110
+00100000010000000100101010000111
+00100000010000000110101110000001
+00100000010000000100010010000101
+00100000010000000100011101010011
+00100000010000000100011100100100
+00100000010000000110000011101001
+01101111111000100000000000001011
+00011111111000001111111000000001
+01100111111000100000000000001011
+00100000010000000100100000111101
+00100000001000000100001111011110
+00011000010000100111111000000000
+00100000010000000111110100101011
+00011100001100000111111000000000
+01111001001000000111111000101100
+00100000010000000111110100010100
+01111001001111111111111000101100
+00100000010000000100101001110110
+00100000010000000111110100010100
+00100000011101000000000000000000
+00100000010000000000001110110010
+00100000001000000100101000101111
+00011011010000100111111000000000
+00100000010000000000001110110001
+00100000001000000100101011101001
+01101111111001000100000001001110
+00011111111000110111111000000000
+00100000010000000111110100101011
+00011110000000100111111000000000
+00100000010000000111110100010100
+00011011010000100000010000000000
+00100000010000000000001110110001
+00100000001000000100101101100111
+00100000010000000111110100010100
+10011000000000000000110000000000
+01111001001111111000110000010000
+00100000001000000111110100011111
+00100000010000000110100011000100
+00100000010000000110000011010111
+00100000010000000000001110111001
+00100000001000000100000000001010
+00100000011101011000000000000000
+00100000001000000111101110011010
+00100000010000000000010000010001
+00100000001000000100000000010000
+00100000001100001000001111001101
+01110000100010010101010111010100
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01101111111000100100000111011111
+11000000000000000000001111001011
+11000000000000001000001111011011
+11000000000000010000001111001011
+11000000000000011000001111011011
+11000000000000100000001111011011
+11000000000100000000001111011011
+01110000100010010101010111010000
+01110000100010010101011011100000
+00011000000000000010101000001000
+00011000000000000010101000000000
+01111000010100001111110000000000
+01111000010100000111110000000000
+01111000001011110111110000000000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000001100000000
+01110000100010010000010001110000
+01101111111000101000100100000110
+01111001001000000111111000000000
+01100111111000101000100100000110
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+00100000001000000000001111001101
+00100000010000000101011110101111
+00100000010000000000001111100001
+00100000001000000101100010100111
+00100000001101101000001111101000
+00100000001000000101011110111110
+01100000010000100000000000010111
+00100000010000000100100100101010
+00100000010000000100100110000000
+01011000000000000000010100000000
+00100000010000000100101010001110
+01101111111000101000100100000110
+01111001001000000111111000000000
+01100111111000101000100100000110
+00100000001000000100100100110111
+01110000100010010000011001111100
+00100000011101011000000000000000
+01011000000000000000000000000000
+01100111111001000100000111011101
+00011100010000110111111000000000
+01100111111010000100000010010100
+00100000011000000000000000000000
+00100000001000000100101101111111
+00100000010000000101000000011111
+11101111111010000000000000000011
+01100111111010000100101110000001
+01110000010010111000000111111111
+00100000001000000000010011011110
+00100000010000000101000000011111
+01111001001111111000000000100110
+01110000010010111000000111111111
+00100000001000000000010010010001
+00100000010000000101000000011111
+00100000001000000000010010101011
+11000101100100110101000000011100
+00100000010000000101000000011111
+00100000001000000000010010010001
+01101111111000100000101100000000
+00011111111000100111001000000000
+11011000101000000100101110000001
+00100000010000000110011111101101
+00100000001000000101000000011111
+01110000000010101111111111000000
+01011000000000000000000000000100
+00100000010000000101000010100101
+01101111111010000100101110000001
+11100111111010000000000000001010
+00100000001000000110011110111001
+01110000000010101111111111000001
+00100000001000000101000001001110
+01110000000010101111111111000010
+00100000001000000101000001001110
+11000110100100110000000000000000
+01101111111010000100101110000001
+01100111111010000100101110000001
+00100000010000000000010000110001
+00100100001101000000010000100111
+01110000010010111000000100001010
+00100000010000000000010001010111
+01101111111000100100101110000001
+11000001111111111000000000000000
+01110000010000011101111100000010
+00100000011000000000000000000000
+01101111111000100100101110000001
+00100100011110100000000000000000
+00100000010000000100101011011000
+01101111111001100100000101110000
+00100000011110100000000000000000
+01101111111000100100000010010001
+00100000011110100000000000000000
+01011000000000001110001010010000
+00100000010000000111110100100100
+01100000010010000100000101011100
+00100000001000000100101100000110
+00100000011000000000000000000000
+00100000010000000100101011011000
+01101111111001100100000101110000
+00100000011110100000000000000000
+01101111111000100100000010010001
+00100000011110100000000000000000
+01101111111000100100101110000001
+00100100001110100000010000100011
+01101111111010000100101110000001
+00100000001000000000010000100100
+01101111111000100100101110000001
+11000000111111111000010010110100
+00100000010000000000010000111000
+00100000010101000000010001010011
+00100000010101000000010100100011
+01110000010010111000000100000001
+00100000011000000000000000000000
+01111000010101000111110000000000
+01110000010010111000000100000010
+01101111111000100100101110000001
+11000000000000001000010001000011
+11000000000000010000010001001001
+11000000000000011000010001001111
+11000000000000110000010001001100
+11000000000000111000010001000110
+01101111111000100100101110000001
+00100100010110100111110110111111
+00100000011000000000000000000000
+01110000010010111000000100000000
+01110000010010111000000100001010
+00100000001000000000010001010001
+01110000010010111000000100001000
+01110000010010111000000100011000
+00100000001000000000010001010001
+01110000010010111000000100000011
+01110000010010111000000100000100
+00100000001000000000010001010001
+01110000010010111000000100000010
+01110000010010111000000100000011
+00100000001000000000010001010001
+01110000010010111000000100000001
+01110000010010111000000100001000
+01110000010010111000000100000000
+00100000001000000111110110111111
+11011000101000000000101100011110
+11011000110000000100101110000001
+11011111001000000000000000100000
+00100000001000000111110011011100
+01110000010010111000000100000000
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000010000000000010010000101
+00100100001101111000010001100111
+00100000010000000000010010010100
+01101111111000100100101110000001
+00011111111000001111111000000001
+01100111111000100100101110000001
+01110000010010111000000100000000
+01101111111000100100101110000001
+11000000111111111000010010000100
+00100000010000000000010001111001
+01110000010010111000000100000000
+01110000010010111000000100000000
+00100000011000000000000000000000
+01110000010010111000000100000001
+01101111111000100100101110000001
+00011111111000001111111000000001
+01100111111000100100101110000001
+01101111111000100100101110000001
+11000000111111111000010010010000
+01101111111000100100101110000001
+11000000011111111000010001111101
+01101111111000100100101110000001
+11011000010000000000000000010000
+10011000010001100111110000000000
+00100000001000010000010101000010
+01101111111000100100101110000001
+00011111111000001111111000000001
+01100111111000100100101110000001
+00100000000000000000000000001010
+11000000100000111000010001011000
+00100000001000000000010101000010
+01011000000000000000000000000000
+01100111111000000000101100011110
+01100111111000000100101110000001
+00100000011000000000000000000000
+00100000010000000000010010010001
+01110000010010111000000100000000
+00100000010000000000010001111001
+01110000010010111000000100000000
+01101111111010000100101110000001
+01100111111010000100101110000001
+00100000011000000000000000000000
+00100000001000000000010011001110
+01111000010101111111110000000000
+00100000010000000000010110011011
+00011000000000000010101000000000
+01101111111010000100101110000001
+10011000000000000001001000000000
+01101000010000100000000000010111
+00100000010000000100100100011100
+00100000010000000100100100100001
+00100000010000000000010101011010
+00100000010101111000010110010101
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000010010111000000100000000
+01110000000010101001010100111010
+00100000001000000111101110101011
+00100000010000000000010100000011
+01101111111000100100101110000001
+00100000011110100000000000000000
+10011000000000000111001000000000
+00100000010000000000010010011100
+11011000110000000000101100100000
+11011000101000000000101100011110
+00100000001000000111110011011100
+01101111111000100000101100011111
+00101111111000011111000000001000
+00100100011000001000000000000000
+01101111111000100000101100100000
+11000000011111111000010010100011
+01110000000010101111111111000011
+00100000001000000000010010100100
+01110000000010101111111111000100
+01011000000000000000000000000001
+00100000010000000101000010100101
+01101000010000100000101100100000
+11100000010000100000000000001010
+00100000010000000110011110111001
+01110000010010111000000100000000
+00100000011000000000000000000000
+01111001001000000000000000100110
+00100000010000000000010010110000
+00100000010000000000010001100011
+01110000010010111000000100000001
+00100000011000000000000000000000
+01110000010010111000000100000000
+01110000010010111000000101001110
+01101111111010000100101110000001
+00100000001000000000010100010101
+00100000010000000000010010110000
+01101111111000100100101110000001
+11000000000000001111110110111111
+01101111111000100100101110000001
+11000000000000001000010010111100
+11000000000000010000010010111111
+11000000000000011000010011000010
+00100000001000000100101010001011
+01110000010010111000000100010001
+01110000000011110001111010101010
+00100000001000000000010011000100
+01110000010010111000000100010010
+01110000000011110001111001010101
+00100000001000000000010011000100
+01110000010010111000000100010011
+01110000000011110001111000100010
+01110000000011110001111100000010
+01101111111010000100101110000001
+01100111111010000000111100100000
+01110000000011110010010000000000
+11011010001000000000111100011110
+11011000010000000000000000000111
+00100000010000000000010011111110
+00100000010000000000010100100011
+00100000010000000000010000110110
+00100000001000000111110110111111
+01101111111000100100101110000001
+11000001011111111000000000000000
+11000000000010001000010011010100
+11000000000010010000010011010110
+11000000000010011000010011011000
+00100000011000000000000000000000
+01110000010010111000000100000010
+00100000001000000000010001100011
+01110000010010111000000100000011
+00100000001000000000010001100011
+01110000010010111000000111111111
+01110000000010101001010100111001
+00100000010000000111101110101011
+01101111111010000000101100100000
+00100000010000000000010100010101
+00100000001000000000010001100011
+11000110000100110000000000000000
+00100000010000000000010100010110
+00100000010000000000010101000010
+01101111111000100100101110000001
+11000001111111111000000000000000
+00100000010000000000010011110000
+01011000000000000000000000000000
+01100111111001000100101110000001
+00100000010000000100101011011000
+00100000000000000000011111010000
+01101111111000100100101110000001
+11000000011111111000010010010001
+00100000010000000000010010000101
+00100100001101111000010011111001
+00100000010000000000010001111001
+01111001001000000000000000100110
+01110000000010101001010100111100
+00100000001000000111101110101011
+01110000000011110001111011111111
+01101111111000100100101110000001
+01100111111000100000111100011111
+01101111111010000100101110000001
+01100111111010000000111100100000
+11011000010000000000000000000110
+11011010001000000000111100011110
+00100000010000000000010011111110
+00100000001000000000010100100011
+01101111111001000100101110000001
+00011111111000001111111000000001
+01100111111001000100101110000001
+00100000010000000000010101000010
+00100000001000000000010011100110
+01100000010000100100101110000001
+00011000010000100111001000000000
+11011000101000000000101100011110
+00011010001000100000110000000000
+00100000001000000111110011011100
+01101111111000100000101100011111
+00011111111010010111111000000000
+01100111111000100100101110000001
+00011111111000001111111000000001
+11011000110000000000101100011111
+10011000110000001000110000000000
+11101111111001100000000000000110
+01100111111001100100101110000001
+00100000011000000000000000000000
+01101000010000100100101110010110
+01011000000000000100101110000101
+10011000010000001000101000000000
+00011010001000100111111000000000
+11100111111000100000000000000101
+00011000010000001000010000000001
+00011000010000010000010000000111
+01100000010000100100101110010110
+00100000011000000000000000000000
+01100111111010000100101110000001
+11011010001000000000000000000000
+11011111001000000000000000000100
+11011000110000000100101110000001
+11101111111000100000000000000110
+10011010001000001010001000000000
+11000010000000000000010100011001
+00011010001000100111111000000000
+01100111111001000100101110000001
+01101111111000100100101110000001
+01101000010000100100101110000010
+10011000010000001111111000000000
+01100111111000100100101110000001
+00100000011000000000000000000000
+01101111111000100100101110000001
+00011111111000001111111000000010
+01100111111000100100101110000001
+01101111111000100100101110000001
+01100111111000100000101100011110
+01101111111000100100101110000001
+00011111111010011111111000000000
+01101000010000100100101110000001
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+01101000010000100100101110000001
+10011000010000001111111000000000
+11100111111000100000000000000101
+01101111111000100100101110000001
+11000000111111111000010100110101
+01101111111000100100101110000001
+11100111111000100000000000000101
+01101111111000100100101110000001
+10011000000000000111001000000000
+01101111111000100100101110000001
+11000000000000001000010101000000
+11011000110000000000101100011110
+00100000010000000111110011011100
+01101111111000100000101100011110
+11000000000000011000010100111110
+00100000011000000000000000000000
+01110000000010110001111000000010
+00100000011000000000000000000000
+11011000110000000000101100011111
+00100000001000000111110011011100
+01101000010000100100101110000001
+00100000010000000000010101001000
+00011000010000001000010000000001
+00011000010000010000010000000011
+01100000010000100100101110000001
+00100000011000000000000000000000
+01101111111000100100101110000001
+00011111111000010111111000000011
+00011111111011111010001000000100
+01011000000000000100101110000001
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101111111000100000000000000110
+01100111111000100100101110000001
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+01101111111000100100101110000001
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000000010101010001
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+01111000001010000111110000000000
+01101111111001000100101110000001
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000000010110010101
+01111000010001101111110000000000
+01111000001001011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100111111000100100101110000001
+01101000010000100100101110000001
+10011000010001100111110000000000
+00100100001000101000010110010101
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100111111000100000101100011110
+01101111111000100000101100011110
+01101000010000100100101110000001
+10101000010000000000111000000000
+00100100001000001000010110010101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101000010101111110
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+11000010000000000000010101111010
+00011000101000100010001000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100111111000100100101110000100
+00011010001000100000101000000000
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100111111001100000000000000101
+01111000010001011111110000000000
+00100000001000110000010110010101
+01111000001101111111110000000000
+01101111111000100000000000010111
+00011111111000001010001000000000
+00100000010000000100100110000000
+01111000010001101111110000000000
+00100000010000000100100100010101
+01101111111000100100101110000100
+00011111111000100010001000000000
+00100000010000000000010100001100
+00100000011000000000000000000000
+01111000010011011111110000000000
+01111000010001011111110000000000
+00100000001000000100011001001001
+00100000010000000100100100010101
+01101000010000100100101110000001
+00100000001000000100100100110000
+00100000010000000101011110011110
+01101111111010000100101110000001
+10011000000000000001001000000000
+00100000010000000000010101010001
+00100000010000000000010110011000
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000010011101111110000000000
+01111000001011011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01101111111000100100101110000001
+00001000000000001000011000001000
+01101111111000100100101110000001
+10011000000000000111001000000000
+11011000110000000000101100011110
+11101111111000100000000000000110
+00001000000000001000011000001000
+11000010000000000000010110110001
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+01111000010011011111110000000000
+00100000011000000000000000000000
+01011000000000000000000000100101
+01100111111001000100010011001100
+00100000010000000101101111110000
+00100000010000000101110000001100
+00100000010000000101110000011001
+00100000001000000101101111111000
+00100000010000000101100010100011
+00100000010000000100100100010101
+01101000010000100000000000010111
+00100000010000000100100100011100
+00100000000000000000010111011100
+00100000010000000100100100100001
+01111000001010000111110000000000
+11011001011000000001010101111100
+00100000001000000101100001101001
+00100000010000000100100110111010
+01111000001000111111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100111111000100000001011010101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+00011111111000100111001000000000
+00100000001110100101100010001011
+00100000001000000101100010000111
+11000110000001111000000000000000
+00100000010000000101110001110000
+00100100011110100000000000000000
+01101111111000100000001011010101
+00011111111000010111111000000011
+01100111111000100100010011011110
+11101111111000100000000000000110
+01100111111000100100010011011101
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100111111001000100010011011111
+01101111111000100100010011011110
+11000000000000011110000001000100
+00100000010000000101101001110110
+11011000111000000000000000000011
+00100100001101000100101111101100
+00100000010000000100101111110000
+00100000001000000101101001101011
+11101111111001000000000000000110
+11000000000000100101110010001011
+11000000000000110101111011010100
+11000000000000101101111010010110
+00100000011000000000000000000000
+00100000010000000101101011001001
+00100000010000000101100110011010
+01101111111000100000001011010101
+00101111111011111111111000000100
+01111001001000001000000000101010
+00011111111000110111111000000000
+10011000010000101111111000000000
+00101111111011111111111000000010
+01111001001000001000000000001111
+11000110000001111000000000000000
+01101111111000100000001011010110
+00100000001110100101100110010110
+01101111111000100000010000111011
+11000011000000100101100110010110
+00100000010000000111001101000010
+00100000010000000111001010110010
+01111101001110100000000000001111
+00100100011110100000000000000000
+00100000001000000101100110010110
+01110000000010101111111110110011
+00100000001000000101000001001110
+01110000000010101111111110110100
+01011000000000000000000000011100
+00100000010000000101000010100101
+01101111111011000100010001110010
+11100111111011000000000000001010
+01101111111011000000010001001011
+11100111111011000000000000001010
+11011000110000000100001111101011
+11011111001000000000000000010000
+00100000010000000110011111010100
+00100000001000000110011110111001
+01110000010010110111111100000000
+01110000010010110111111000000000
+01110000000010101111111110111001
+01011000000000000000000000000001
+00100000010000000101000010100101
+01011000000000000000000000000000
+11100111111000100000000000001010
+00100000010000000110011110111001
+00100000011000000000000000000000
+01110000010010111101101100000001
+00100000010000000100111000101111
+00100000010000000000011000100000
+01101111111001000100011001010010
+11000100000001100000000000000000
+01111001001111111111111000001100
+01100111111001000100011001010010
+01110000000010101111111110110110
+00100000001000000101000001001110
+01110000010000011110001100000000
+01110000010001100101000000000000
+01110000010000100000010000000000
+01110000010010110111111000000000
+01110000010010110111111100000000
+00100000011000000000000000000000
+00100000010000000100111000101111
+01110000000010101111111110110001
+01011000000000000000000000000001
+00100000010000000101000010100101
+01011000000000000000000000000000
+11100111111000100000000000001010
+00100000010000000110011110111001
+00100000001000000100110100110100
+00100000001000000000000100110100
+01011000000000000000000000000010
+01100111111000100100011001010000
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001111111111111000001100
+01100111111001000100011001010010
+01110000000010101111111110110110
+00100000010000000101000001001110
+01110000010010110111111000000000
+01011000000000000000000000000001
+01100111111000100100101101111111
+00100000011000000000000000000000
+01101111111000100100000111100011
+11000001000000001000000000000000
+01101111111001000100011001010010
+01111001001000000111111000001100
+01100111111001000100011001010010
+01110000000010101111111110110000
+00100000010000000101000001001110
+01110000010000011110001100000001
+00100000010000000000000100110100
+00100000001000000100110110001001
+00100000001000000000011000100110
+01011000000000000000000000000101
+01100111111000100100101101111110
+00100000011000000000000000000000
+00100000001000000100110101001000
+00100000011000000000000000000000
+00100000001000000000011001001100
+01110000000010101111111110110101
+01011000000000000000000000011100
+00100000010000000101000010100101
+01101111111011000100000010100000
+11100111111011000000000000001010
+01101111111011000000000001000000
+11100111111011000000000000001010
+11011000110000000100000110111111
+11011111001000000000000000010000
+00100000010000000110011111010100
+00100000001000000110011110111001
+11011010011000000100101101111110
+11011010010000000000011001011010
+00100000001000000100110100000100
+01101111111000100000001001111011
+01111001001000000111111000000000
+01111001001000000111111000000111
+01100111111000100000001001111011
+00100000011000000000000000000000
+11011010011000000100011001010000
+11011010010000000000011000111011
+00100000001000000100110100000100
+11011010011000000100101101111111
+11011010010000000000011001100101
+00100000001000000100110100000100
+01110000000010101111111110011001
+00100000010000000101000001001110
+00100000001000000100110101100100
+00100000010000000101011001001011
+00100100011110100000000000000000
+01101111111000100000101100000000
+00011111111000001010001000000001
+00100000010000000101000100111101
+01101111111001000100001000100000
+11100111111001000000000000000101
+01011000000000000000000010100001
+11100111111000100000000000000101
+01101111111000100000101100000000
+00011111111000100111001000000000
+00100000010000000110011111101101
+00100000001000000101000000011111
+11101111111011000000000000000011
+01100111111011000100000111010001
+11101111111001000000000000000011
+01100111111001000100000010111001
+11011000101000000100000110111111
+11011111001000000000000000010000
+00100000010000000110011111101101
+00100000010000000110100010111110
+00100000010000000000000100110100
+00100000010000000100110101011100
+00100000001000000101000000011111
+01101111111001000000001001100000
+00011111111000100000110000000000
+11101111111000100000000000000110
+00011111111000010000010000001111
+00011111111100011111111000000000
+11000000000001001101000100101101
+11000000000000111101000100101101
+11000000000001010000011010001100
+11000000000000101000011010100000
+11000000000000001000011010100010
+11000000000000100101000100101101
+00100000011000000000000000000000
+00100000001000000000011010010001
+11101111111001000000000000000110
+01100111111001000000101010010110
+11000000000000001000011010011010
+00100000011000000000000000000000
+01110000000010101111111110110010
+01101111111001000000001001100010
+00011111111000001111111111111111
+00011111111000100111001000000000
+00100000010000000101000010100101
+01101111111001000000001001100000
+00011111111000100000110000000000
+00100000010000000110011111000001
+00100000001000000110011110111001
+01110000000010101111111110110010
+01011000000000000000000000000010
+00100000010000000101000010100101
+01101111111001000000101010010110
+11100111111001000000000000001010
+00100000001000000110011110111001
+00100000010000000000011010001100
+00100000001000000101000100100110
+00011000010000100111111000000000
+11000000000000101101000100011110
+01110000010010111000000000000001
+11000000000000011101000100101101
+01110000010010111000000000000000
+11000000000000100101000100101101
+00100000011000000000000000000000
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+00100000010000000100101010111011
+01000100100000000100000000000000
+00100000100000000000000000000000
+00100000010000000100100101101010
+00100000010000000100101010010101
+00100000010000000101000101000100
+01000100100000001100000000000000
+00100000010000000110100011000100
+00100000010000000110000011010111
+00100000010000000111101110000001
+00100000010000000100110001110111
+01000100100000010100000000000000
+00100000010101011100110001111100
+00100000010000000111010000011111
+00100000010101011100101100011101
+01000100100000011100000000000000
+00100000010000000111010110010001
+00100000010000000111100101100100
+00100000010000000111010000100010
+00100000010000000101011100110110
+01000100100000100100000000000000
+00100000010000000100000000110100
+00100000010000000100110010000110
+00100000010000000100000010001011
+00100000010000000100001011110100
+00100000010000000100001101100110
+00100000010000000100000000011101
+00100000010000000100101100111111
+00100000001000000100000000001111
+00100000010000000100000000100010
+11000110100001001000000000000000
+01111001001111111000000000001001
+00100000010000000100001000011111
+00100000001000000101011110101000
+01000100100000101100000000000000
+00100000010000000100001001011010
+00100100001000101100000000101011
+00100000010000000100001000000110
+00011010001000001000110000000001
+11101111111000100000000000000110
+11000010100000000101011100111010
+11000010100000001100000101100010
+00100000001000000100001111001011
+00100000010000000100001000100111
+00011111001000100111110000000000
+00100000011000101000000000000000
+00100000010000000100001000000110
+01101111111000100000000000110000
+11000010100000011100000011001111
+01101111111000100000000000110001
+11000010100000001100000101100010
+00100000001000000100001111001011
+01101111111000100100000111001111
+00100000011110100000000000000000
+11000000000000001100000001000100
+11000000000000010100000001001001
+11000000000000011100000001001100
+11000000000000101100000001010001
+11000000000011011100000001000001
+00100000010000000100001001010011
+00100000011000101000000000000000
+00100000010000000100001001010110
+00100000011000101000000000000000
+01110000010000011100111100000000
+00100000011000000000000000000000
+01110000000001001001011100011011
+01110000010000011100111100000000
+00100000011000000000000000000000
+01111001001000000000000000011100
+01111001001111111000000000011110
+01110000000000001000111111111111
+01110000000000001000110100011111
+00100000001000000100000000111111
+01111001001111111000000000011100
+00011000000000000011011000000000
+00100000001000000100000000111111
+00100000010000000100001001010110
+00100000011000101000000000000000
+00011000000000000000010000000001
+01110000000000010110110000000101
+00100000001000000100000001011000
+01000100100000110100000000000000
+01101111111011000100000111010001
+00100000001110100100000000111111
+01110000010001100101000100000001
+01110000000000000101010100000011
+00100000001000000100000001010111
+00011000000000000000010000100101
+01000100100000111100000000000000
+01101111111000100000000011101111
+00100000001110100100000001011110
+00011111111010011111111000000000
+00011111111100100111111000000000
+00011111111000001111111111111111
+01100111111000100100000010100110
+01100111111000100000000011101110
+01110000000000001000111000011111
+01111001001111111000000000001100
+00100000010000000100001000110111
+00100100001000101100000001111111
+00100000010000000100101001101110
+01100111111000100000000001110111
+01100000010000100000000001111100
+01101111111011000100000111010001
+01100111111011000000000001000000
+01000100100001000100000000000001
+00100000010000000111110011110000
+00011000000000000111111000000000
+00101000010000011111111000000001
+01111101001000001111111000000101
+01111001001000000111111000000011
+01100111111000100000000000110000
+01110000000010101001010100000011
+00100000010000000111101110101011
+00011000000000000111111000000000
+01111001001000001111111000000100
+01100111111000100000000001001100
+01011000000000000000000000000000
+01111001001000000111111000000001
+01100111111000100000000000110001
+01111000001101001111110000000000
+00100000010000000100001000011111
+01111000010101001111110000000000
+00011000000000000000111000000011
+01101111111001000100000010111001
+00100000010000000111110011100011
+00100000001000000100000000111111
+01000100100001001100000000000001
+01101111111011000100000111010001
+01100111111011000000000001000000
+00101000010000011111111000000001
+00100000001000001100000010000101
+00100000001000000100000000111111
+11011000101000000000000011111111
+11011111001000000000000000001000
+00100000010000000111110010100001
+01110000000010101001010100000100
+00100000010000000111101110101011
+00100000001000000100000000111111
+11000110100011100000000000000000
+00011000000000000000111000000001
+00100000010000000111110011110001
+01111101001110100000000000011100
+00100100001110100100000010010001
+00100000011000000000000000000000
+01000100100001010100000000000001
+01101000010001000100000010111011
+00011000000000000000111000000100
+00100000010000000100011100011000
+00100000011101000000000000000000
+00100000010000000100100010100000
+00011000000000000100100000000000
+00100000011000011000000000000000
+01111001001111111000000000001011
+01111001001111111000000000000000
+00011100010000001100001000000001
+00101000000011111111111000011110
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001100000010111010
+01000100100001011100000000000001
+01101111111000100000000000010010
+00011111111000001111111000000001
+01100111111000100000000000010010
+00100000010000000100100011010100
+00100000010000000100100011001110
+00100000010000000100100011101110
+00100000010000000100101001010000
+00100000010000000100101001010101
+00100000010000000100101001100011
+00100000010000000100011001001001
+00100000010000000100000010101101
+00100000001000000100000010011000
+01000100100001100100000000000001
+01101111111000100000000010001101
+00011111111000001111111111111111
+01100111111000100000000010001101
+00100000011000010000000000000000
+01110000000000001000110100011111
+01101111111000100000000010001111
+00011111111000001111111111111111
+01100111111000100000000010001111
+00100000011000010000000000000000
+01111001010000000000000000011110
+01110000000000001000111111111111
+00100000011000000000000000000000
+01000100100001101100000000000001
+00100000010000000100100011010100
+00100000010000000100100011001000
+00100000010000000100100011101110
+00100000010000000100101001011010
+00100000010000000100100111101010
+00100000010000000100101000001100
+00100000001011000100000011000100
+00100000010000000100000010101101
+00100000001000000100000010011011
+01000100100001110100000000000001
+00100000010000000100100110111010
+00100000010000000100101001101010
+00100000010000000100010100011010
+01111001001111111000000000000001
+11000110100001011000000000000000
+01000100100001111100000000000001
+01101111111000100000000000010011
+00011111111000001111111000000001
+01100111111000100000000000010011
+00100000011000000000000000000000
+01000100100010000100000000000010
+01111000001101001111110000000000
+01111000001110000111110000000000
+01101111111001000100000010110101
+00100000001110100100000011010111
+00011000000000000000111000001000
+00100000010000000111110011110001
+00100100011110100000000000000000
+01000100100010001100000000000010
+01101000010001000100000010110111
+00011000000000000000111000101000
+00100000010000000100011100011000
+00100000001101000100000100010000
+00011000000000000000111000000011
+00100000010000000111110011110001
+00100100001110100100000011101100
+01101111111000100000000001001100
+11000010100000100100000011100010
+00100000001000000100000011100101
+11011000101000000000000011111111
+11011111001000000000000000001000
+00100000010000000111110010100001
+01000100100010010100000000000010
+01110000000000000011000000000000
+00100000010000000110000011011000
+01110000010001100101000100000000
+01110000000010101001010100010011
+00100000010000000111101110101011
+00100000001000000100000100010000
+01000100100010011100000000000010
+00011000000000000001011000000000
+00110100011100110000001000000000
+01101111111000100000000011110000
+00011111111000001111111111111111
+10011100010000101111111000000000
+00101111111000000000011000000000
+00100100001000001100000011101100
+00011000100000100111111000000000
+01100111111000100000000101111111
+00011000000000000100110000000000
+00011000000000000100100000000000
+01000100100010100100000000000010
+00100000001000011100000100010000
+00100000010000000100100011011000
+11011001011000000000011000000000
+00110100011100110000001000000000
+01000100100010101100000000000010
+01101111111010000000000011110000
+10011000000000000100001000000000
+00011111111000001111111000000001
+01100111111010000000000011110000
+00101000000011111111111000001100
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001100000100100100
+01101111111000100000000000001100
+00011111111000001111111000000001
+01100111111000100000000000001100
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001010101
+00100000010000000100101001100011
+00100000010000000100011001001001
+00100000010000000100000100010110
+00100000001000000100000011111000
+01000100100010110100000000000010
+01111000010101001111110000000000
+01101111111001000100000010110101
+00100000011110100000000000000000
+00011000000000000000111000001000
+00100000001000000111110011100011
+01000100100010111100000000000010
+01101111111000100000000010001110
+00011111111000001111111111111111
+01100111111000100000000010001110
+00100000011000010000000000000000
+01110000000000001000111000011111
+01101111111000100000000011101110
+00011111111000001111111111111111
+01100111111000100000000011101110
+00100000011000010000000000000000
+01111001010000000000000000001100
+01101111111000100100000010100110
+01100111111000100000000011101110
+00100000011000000000000000000000
+01000100100011000100000000000011
+00100000010000000100100011001000
+00100000010000000100101001011010
+00100000010000000100100111101010
+00100000010000000100101000001100
+00100000001011000100000100101100
+00100000010000000100000100010110
+00100000001000000100000011111101
+00100000010000000100011001001001
+01101111111000100000000000001101
+00011111111000001111111000000001
+01100111111000100000000000001101
+00011000000000000011011000000000
+01101111111010000000000011110000
+01000100100011001100000000000011
+00100000010000000100101001001110
+00100000010000000100100011011000
+00011100110000001100110000000001
+00011100001000010100001111111101
+00011100100000010100100111111100
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001010101
+00100000010000000100101001100011
+00011100010000100111111000000000
+01100111111010000000000101011111
+00011000000000000000100000000000
+00011000000000000000001000000010
+00100000010000000100101001101010
+00100000010000000100011101100010
+01000100100011010100000000000011
+00100000010000000100101001001100
+00011100001000011100001000000010
+00011100100000010100100111111100
+00100000010000000100100011001000
+00100000010000000100101001011010
+00100000010000000100100111101010
+00100000010000000100101000001100
+00100000010011000100011001001001
+00100000001011000100000101010001
+01101111111000100000000000010000
+00100000001110100100000011111000
+00011111111000001111111111111111
+01100111111000100000000000010000
+00100000001000000100000100110010
+01000100100011011100000000000011
+01101111111000100000000000001110
+00011111111000001111111000000001
+01100111111000100000000000001110
+00100000010000000100010000110001
+00100000010000000100001011101110
+00100000001011000100000101011011
+00100000010000000100010001010001
+00100100001110100100000101010110
+00100000001000000100000011111000
+01000100100011100100000000000011
+01101111111000100000000000110000
+01111001001111111111111000000011
+01100111111000100000000000110000
+00100000010000000100010000111100
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000100100011101100000000000011
+01111000001101001111110000000000
+01111000001110000111110000000000
+00100000010000000100000111011101
+00100000011101000000000000000000
+00100000010000000100110000100100
+00100000010000000100101001001110
+00011100010000001100001000000001
+00100000010000000100100011011110
+00011000000000000100100000000011
+00100000010000000110101110000001
+00100000010000000100010010000101
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001010101
+00100000010000000100101001100011
+00100000010000000100011101011110
+01000100100011110100000000000011
+00100000010000000110000011101001
+00100000010000000100001011100000
+00100100001101101100000101111100
+00100000010000000100101010000111
+00100000010000000100011100100100
+01101111111000100000000000001111
+00011111111000001111111000000001
+01100111111000100000000000001111
+01000100100011111100000000000011
+00100000010000000110101101101001
+00100000010000000100000110000111
+00100100011101001000000000000000
+00100000010000000100011011101111
+00100100001110100100000110000100
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000100010010000101
+00100000010000000100001011010110
+00100000001000000100000101110011
+00100000001101101100000110001010
+00100000010000000100101001111110
+00100000001000010100000110011000
+00100000010000000100000110100011
+00100100001101000100000110011000
+01101111111000100000000001001100
+11000100000000100000000000000000
+11000011100000011000000000000000
+01101111111000100000000001001011
+11000011100000011000000000000000
+00100000010000000100000110101010
+00100100011110100000000000000000
+01101111111000100000000101101100
+00011111111000001111111111111111
+01100111111000100000000101101100
+00100100011110100000000000000000
+00100000001000000110001111101000
+01000100100100000100000000000100
+00100000010000000100010001011001
+01111000010101001111110000000000
+01101111111000100000000001001100
+11000010100000100100000110011110
+00100000011000000000000000000000
+01101111111000100000000001001100
+11000011100000011000000000000000
+11011000101000000000000011111111
+11011111001000000000000000001000
+00100000001000000111110010100001
+01000100100100001100000000000100
+01111000001101000111110000000000
+01101111111000100000000001001011
+11000100000000011000000000000000
+00100000010000000100000110101010
+00100100011110100000000000000000
+00100000001000000111110111000001
+01101111111000100000000001110010
+00011111111000001111111111111111
+01100111111000100000000001110010
+00100000011000000000000000000000
+01000100100100010100000000000100
+01101111111000100000000000110000
+11000010100000111100000110110111
+01101111111000100000100110110001
+00100000001110100100000110110111
+01110000000010011011000100000000
+01110000000010101001010100011000
+00100000010000000111101110101011
+00100000001000000100000110110111
+01000100100100011100000000000100
+00100000010000000100001001010000
+01101111111000100000000000110000
+01111001001000000111111000000111
+01100111111000100000000000110000
+01110000010000011011111000000001
+01101111111000100000000001010101
+11000000100010110100000110111111
+00100000011000000000000000000000
+01110000000010011011000100000001
+01101111111000100000000000110000
+01111001001111111111111000000111
+01100111111000100000000000110000
+00100000011000000000000000000000
+01000100100100100100000000000100
+01111000010101000111110000000000
+01101111111001000000000000110010
+11011000010000001111111111111111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101111111010000000000000110100
+00100000001110000100000111001111
+10011101000001100111111000000000
+00100000001000000100000111010000
+10011100010001100111111000000000
+00011111111001100111110000000100
+00100100011000010000000000000000
+00011000000000000111111000000000
+01100111111001000000000000110010
+00100000001000000111110110111111
+00011111111000100000010000000000
+01000100100100101100000000000100
+01100000010010000000000000110100
+01110000010001010010110100000001
+01011000000000001111111111111111
+01100111111001000000000000110010
+01110000000000000111001100000001
+00100000011000000000000000000000
+01000100100100110100000000000100
+00100000010000000100000111000101
+00100100011101000000000000000000
+01111000010101000111110000000000
+01110000000000000001000100100000
+01111001001111111000000000001011
+00100000010000000100101001001110
+00100000010000000100001011100010
+11000101000001011100000111110000
+00100000010000000100010001010001
+00100100001110100100000111100011
+01000100100100111100000000000100
+01111000010101000111110000000000
+00011100010000100111111000000000
+01100111111010000100000011001010
+01111000001110000111110000000000
+01111000001101001111110000000000
+01110000000010101001010100101010
+00100000001000000111101110101011
+01000100100101000100000000000101
+00100000010000000100101001001100
+11011000001000000000000000010000
+00100000010000000100001011011000
+01111000010110000111110000000000
+01111000010101001111110000000000
+00100000010000000100100000010100
+00100000010000000100010000110001
+01000100100101001100000000000101
+00100000010000000100010001111000
+00100000001101101100000111111110
+00100000010000000100010001010001
+00100100001110100100000111111000
+00100000001000000100000111101000
+01101111111000100000000000110001
+01111001001111111111111000000001
+01100111111000100000000000110001
+00100000010000000100101010000111
+00100000010000000100100000111101
+01111000001101000111110000000000
+01110000000010101001010100101011
+00100000001000000111101110101011
+01000100100101010100000000000101
+01111001001000000000000000001001
+00011010001000100111111000000000
+01100111111001000000000000011110
+00011000000000000111001001010000
+11011000101000000000010000111011
+00011010001000001000110000000001
+11101111111000100000000000000110
+00011010001000100000110000000000
+11000010100000000111110011011100
+11011000101000000000000000110000
+00100000010000000111110011011100
+01111000010101110111110000000000
+01101111111000100000000001110111
+10011000000000000000100000000000
+01110000000000001000101000000001
+00100000001101001100001000011000
+01110000000000001000101000000001
+01101111111000100000000000110000
+11000100000000001000000000000000
+01101111111000100000000001110011
+01100111111000100000000010001010
+01101111111000100000000001110100
+01100111111000100000000010001011
+00100000011000000000000000000000
+01000100100101011100000000000101
+01101111111001000000000000011110
+10011000000000000000101000000000
+00011000000000000111001001010000
+11011000110000000000010000111011
+00100000001110110111110011011100
+11011000110000000000000000110000
+00100000001000000111110011011100
+11011111001000000000000000000001
+01101000010000100000000000010101
+00011000010000001000010000000001
+00101000010000011111111000000001
+00100100001000001100001000101101
+11011000010000000000000000000000
+01100000010000100000000000010101
+00011000010011111111111001010000
+11011010001000000100000001000000
+10011010001000001010001000000000
+11101111111000100000000000010001
+11000010100000001100001000110101
+11000011100000000000000000000000
+11000011100000011000000000000000
+11000010000000000100001000101001
+00100000011000000000000000000000
+01000100100101100100000000000101
+11011010011000000100001001100110
+00100000010000000100001001011101
+00100100011000101000000000000000
+00011010001000100111111000000000
+01100111111001000000000000011110
+00011000000000000111110000000000
+00100000011000000000000000000000
+00100000010000000100011100100001
+00100000001000001100001001000111
+01101111111001000000000000011110
+00011111111000001000101000010111
+01101111111000100000000001000111
+11100111111000100000000000000101
+11011010011000000100001010100110
+00100000001000000100001001011101
+01101111111000100000000001000111
+00101111111011111111111000000011
+00100000001000001100001001001100
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000011000000000000000000000
+11011010011000000100001010100011
+00100000001000000100001001011101
+01101000010001000000000000011110
+11011010011000000100001011001011
+00100000001000000100001001011101
+01101000010000100100000111010000
+11011010011000000100001001110001
+00100000001000000100001001011101
+01000100100101101100000000000101
+01101000010011000100000111010001
+11011010011000000100001001101010
+00100000001000000100001001011101
+11011010011000000100001001110111
+00100000001000000100001001011101
+11011010011000000100001011000010
+01000100100101110100000000000101
+11011010001000000100000001000000
+11011111001000000000000000000001
+11101111111000100000000000010001
+00011010011000100111101000000000
+00011010001000001010001001010000
+11000010000000000100001001100000
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000010100000000100001001100010
+11000010100000011100001001100010
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000010100000011100001001101100
+11000011000000000100001001100010
+00011010001000001000110000010000
+11101111111011000000000000000110
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000100001001100010
+11000011000000000100001001100010
+00011010001000001000110000010110
+11101111111000100000000000000110
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000100001001100010
+11000011000000001100001001100010
+00100000010000000100001010101111
+00100000010000000100001010010011
+10011000010001100111111000000000
+00011111111000001111111000000001
+00100000001000010100001010001101
+00011000110000100010010000000000
+01100111111100100000101010011110
+01101111111000100100010010010010
+00100100001110100100001010000101
+01101111111100100000101010011110
+00011010010000100000110000000000
+00011111111000001111111000000101
+00100000001000000100001010001000
+01101111111100100000101010011110
+00011010010000100000110000000000
+00011111111000001111111000010100
+00100100001000010100001001100010
+00011000010000100100001000000000
+00100000010000000100001010111011
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000000000000010010000000000
+00011010001000001000110000000010
+11101111111001000000000000000110
+00100000001110100100001010001001
+00100000010000000100001010111011
+00100000001000000100001001111000
+00011111111100010001011000000000
+00011001011011001001011000000000
+00100000001000101100001010011101
+00101001011000000001111000001111
+00100100011000001000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00100100011000101000000000000000
+01111001001000000000010000011100
+00100000011000000000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00101001011000000001111000001111
+00100100011000001000000000000000
+01111001001000000111111000011100
+00100000011000000000000000000000
+11000011000000000100001001100010
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000100001001100010
+00011010001000001000110000000001
+11101111111000100000000000000110
+11000010100000000100001001100010
+00011010001000001000110000010111
+11101111111000100000000000000110
+11000011000000011100001001100010
+00011000000000000111110000000000
+00100000011000000000000000000000
+00011010001000001000110000000001
+11101000010000100000000000000110
+00011100010000100111111000000000
+00101000010011111111111000000001
+00011010001000001000110000000100
+11101000010010000000000000000110
+00100000011000001000000000000000
+00011010001000001000110000001000
+11101111111011000000000000000110
+00100000010000000100100001010000
+00011101000000100111111000000000
+00100000011000000000000000000000
+00011010001000001000110000000010
+00011010001000001000101000000100
+11101111111001000000000000000110
+10011000010000001001011000000000
+00011001011000100111111000000000
+11100111111010000000000000000101
+00100000001000000101100000100011
+11000011000000001100001001100010
+00100000010000000100001010101111
+10011011011000001111111000000000
+10011011011000001111111000000000
+10011000111000001111111000000000
+10011000010001100111110000000000
+00100100001000010100001001100010
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000100001001100010
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100000001111110100001001100010
+00011010001000001000110000000001
+11101111111000100000000000000110
+11000010100000000100001001100010
+11101111111000100000000000010001
+01111001001111111111111000000111
+11100111111000100000000000010001
+00100000001000000100001001100010
+01000100100101111100000000000101
+00100000010000000100101001001110
+00011100010000001100001000000001
+00100000010000000100100011011110
+00011000000000000100100000000011
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001010101
+00100000010000000100101001100011
+00100000001000000100011101011110
+01000100100110000100000000000110
+00100000010000000100101001001100
+00011100010000001100001000000001
+00100000010000000100100011011110
+00011000000000000100100000000011
+00100000010000000100100011001000
+00100000010000000100010000100110
+00100000010000000100100111110000
+00100000010000000100101001011010
+00100000010000000100100111101010
+00100000010000000100101000001100
+00100100011011000000000000000000
+00100000010000000100100110111010
+00100000001000000100010100011000
+01000100100110001100000000000110
+01101111111000100000000101111111
+10011000000000000000100000000000
+00011000000000000000001000000001
+00100000010000000100001011010110
+00100000001000000100001011100000
+01101111111000100100000010010011
+11000100000000000000000000000000
+00011000000000000000111000000100
+00100000010000000111110011110001
+00100100011110100000000000000000
+01101000010001000100000010101101
+00011000000000000000111000000100
+00100000010000000100011100011000
+00100000011101000000000000000000
+00100000010000000100001100000100
+00011000000000000000111000000100
+01101111111001000100000010101111
+00100100001011000111110011100011
+00011000000010100111111000000000
+10011110101000010111111000000000
+00100000001000000111110011100011
+01000100100110010100000000000110
+01110000000000010111111100000000
+01111000010110000111110000000000
+01111000010101110111110000000000
+00100000010000000100100010100000
+00011100010000010100001111111100
+00011000000000000100100000000001
+00100000010000000100100011010100
+00100000010000000100100011001000
+01111001010000000000000000011101
+01101111111000100000000000000110
+00011111111000001111111000000001
+01100111111000100000000000000110
+00100000010000000100100011101110
+00100000010000000100100111101010
+00100000010000000100101000010011
+00100100011011000000000000000000
+01000100100110011100000000000110
+00011000000000000011011000000000
+00100000010000000100100011110101
+01101111111000100000000000000111
+00011111111000001111111000000001
+01100111111000100000000000000111
+00100000010000000100100011010100
+00100000010000000100101001001100
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000100100011001110
+00100000010000000100100011101110
+00100000010000000100101001010000
+00100000010000000100101001011110
+00011100010000100111111000000000
+01100111111010000000000101011111
+00100000010000000100101001100011
+00011000000000000000001000000010
+00011000000000000000100000000000
+00100000010000000100101001101010
+00100000010000000100011101100010
+00100000010000000100001100101110
+00011100001000010100001111111101
+00011100110000001100110000000001
+00100000011000000000000000000000
+01000100100110100100000000000110
+01101111111000100100000011010001
+00100000011110100000000000000000
+11011000101000000000000110001100
+01101111111000100100010011100111
+00011111111000100111001000000000
+00011111111000001111111000000001
+11100111111000100000000000000101
+00011000101000100000010000000000
+00011111111000001111111000000001
+01100111111001000100000111011101
+00011000010000100000101000000000
+01011000000000000000000000001001
+11100111111000100000000000000101
+11011000110000000100010011101000
+00100000010000000111110011011100
+11011010011000000100010101011111
+11011111001000000000000000000100
+00100000010000000100001101010000
+11011010011000000100010101001001
+11011111001000000000000000000001
+00100000010000000100001101010000
+00011000000000000000001000001010
+01110000010000011101110000000010
+01011000000000000000000110001100
+01100111111001000000000101101101
+00100000010000000100101001001100
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001011110
+00100000010000000100101001100011
+00100000010000000100101001101010
+00100000010000000100011101100010
+00100000011000000000000000000000
+00011000101000100000010000000000
+00011010011000100000110000000000
+11101111111000100000000000000110
+00100000011110100000000000000000
+00011111111000111111111000000000
+11000010000000000100001101010100
+00011111111000100010001000000000
+00011111111000001111111000000010
+00011111111000100000111000000000
+01101111111001000100000111011101
+10011000111000001111111000000000
+01100111111001000100000111011101
+00011000010000100000101000000000
+00011010001000100111111000000000
+00011111111000001111111000000001
+11100111111000100000000000000101
+00011010011000100000110000000000
+11101111111000100000000000000110
+11101111111000100000000000000110
+11100111111000100000000000000101
+00011010001000100111001000000000
+00100000001000000111110011011100
+01101111111000100100000010010011
+11000100000000001000000000000000
+00011000000000000000111000000101
+00100000010000000111110011110001
+00100100011110100000000000000000
+01101000010001000100000010110001
+00011000000000000000111000101000
+00100000010000000100011100011000
+00100000011101000000000000000000
+00011000000000000000100000000000
+01110000000000000001000000001000
+01111001001111111000000000001011
+00100000010000000100001101110110
+00011000000000000000111000000101
+01101111111001000100000010110011
+00100000001000000111110011100011
+01000100100110101100000000000110
+01111000010110000111110000000000
+00100000010000000100100010100000
+01101111111000100000000000001000
+00011111111000001111111000000001
+01100111111000100000000000001000
+00011000000000000100110000000000
+00100000010000000100100011011110
+00011100010000001100001000000001
+00011000000000000100100000000010
+01000100100110110100000000000110
+00100000010000000100100011001000
+00100000010000000100100111101010
+00100000010000000100101000010011
+00100100011011000000000000000000
+00100000010000000100100011110101
+01101111111000100000000000001001
+00011111111000001111111000000001
+01100111111000100000000000001001
+00011000000000000011011000000000
+00100000010000000100101001001100
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001011110
+00100000010000000100101001100011
+00100000010000000100011001001001
+00011000000000000000100000000000
+11011001011000000000011000000000
+00110101001100110000001000000000
+00011101000000011101000000000011
+00011100001000010100001111111101
+01000100100110111100000000000110
+00011100110000001100110000000001
+00100000010000000100100011001000
+00100000010000000100100111101010
+00100000010000000100101000000110
+00100100001011000100001110100000
+00100000010000000100101001101010
+00100000010000000100010100011010
+11000101000001011100001110100111
+01000100100111000100000000000111
+01101111111000100000000000010000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111000100000000000010000
+00100000010000000100101001001110
+00100000001000000100001110010111
+01000100100111001100000000000111
+01111001001111111101000000000001
+01111001001000000101000000000000
+01101111111000100000000000001010
+00011111111000001111111000000001
+01100111111000100000000000001010
+00100000010000000100101001001100
+00011100001000011100001000000010
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001011110
+00100000010000000100101001100011
+00100000010000000100011001001001
+00101101000000000000011000000011
+00100000001000001100001110111000
+00110111110010111000001000000000
+00100000001000000100001110110100
+01101111111010000000000101100011
+00011111111000011111111000000011
+00011111111000100101000000000000
+01000100100111010100000000000111
+01101111111011000000000101110110
+01100111111011000000000001000000
+00100000010000000100010000110001
+00100000010000000100010001111000
+00100000001101101100001111000100
+00100000010000000100010001010001
+00100100001110100100001110111111
+00100000011000000000000000000000
+01000100100111011100000000000111
+00100000010000000100010000111100
+00100000010000000100001000110111
+00100100011000101000000000000000
+01110000000000000011000100000000
+00100000010000000100100000111101
+00100000001000000100001000011111
+01000100100111100100000000000111
+00100000010000000100100001001100
+00100000010000000100001111101111
+00100000011101000000000000000000
+01000100100111101100000000000111
+00100000010000000100110000100100
+00100000010000000110101101101001
+00100000010000000100010100010000
+00100100001101101100001111011110
+00100000010000000100101010000111
+00100000010000000110101110000001
+00100000010000000100010010000101
+00100000010000000100011101010011
+00100000010000000100011100100100
+00100000010000000110000011101001
+01101111111000100000000000001011
+00011111111000001111111000000001
+01100111111000100000000000001011
+00100000010000000100100000111101
+01000100100111110100000000000111
+00100000010000000100101110000110
+00100000010000000100101001111110
+00100000001000010100001111100111
+00100000010000000100000110100011
+00100100001101000100001111100111
+00100000010000000100011011101111
+00100100001110100100001111001111
+00100000011000000000000000000000
+01000100100111111100000000000111
+01110000000000010100111100000000
+01110000000000010111110100000000
+00100000010000000100010001011001
+01111001001111111000000000010001
+00100000010000000111110110001100
+01101111111000100000000000110000
+00100000011000000000000000000000
+01000100101000000100000000001000
+00100000010000000100000111000101
+00100100011101000000000000000000
+00011000100000100000010000000000
+00100000010000000100101001101110
+01100111111000100000000101111111
+00011000010000100000100000000000
+01110000000000000001000100100000
+01000100101000001100000000001000
+00100000010000000100101001001110
+00011000000000000000001000000010
+00100000010000000100011101001011
+00011100010000100111111000000000
+01100111111010000000000101011111
+00100000010000000100011101011110
+00100000010000000100101001001100
+01111000001101111111110000000000
+00100000010000000100010011110010
+00100000001011000100010000001001
+00100000010000000100100011110101
+00100000010000000100010001010001
+00100100001110100100001111110111
+11000110100000100000000000000000
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100000011000000000000000000000
+01111000001110000111110000000000
+00100000010000000100010000110001
+00100000010000000100100010100000
+01000100101000010100000000001000
+00100000010000000100001011101110
+00100000001011000100010000010101
+00100000010000000100010001010001
+00100100001110100100010000001100
+01111000010110000111110000000000
+00011101000000100111111000000000
+01100111111010000100000011001010
+00100000011000000000000000000000
+01111000001101001111110000000000
+11000101100000100100010000011011
+01111001001111111000000000000100
+01110000000000000111110000000011
+01110000000000000111110100110011
+00100000010000000110011011011010
+00011000100000100111111000000000
+01100111111000100000000001110111
+00011000000000000111111000000000
+01100111111011000000000000111000
+01101111111000100000000000110001
+01111001001000000111111000000001
+01100111111000100000000000110001
+00100000010000000100101010000111
+01111000010101001111110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01000100101000011100000000001000
+01111000010101101111110000000000
+01111001001111111000000000000101
+01111001001111111000000000001010
+01111001001111111000000000010000
+01111001001111111000000000001111
+01101111111000100000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100111111000100000000001000111
+00100000011000000000000000000000
+01000100101000100100000000001000
+01110000000000000001000100100000
+01110000000000000100011101010000
+01101111111001000100000010111111
+01100111111001000000000000111110
+00011100010000100111111000000000
+01100111111010000100000011001010
+00100000011110000000000000000000
+00011101000000100111111000000000
+01100111111010000100000011001010
+00100000011000000000000000000000
+01000100101000101100000000001000
+00100000010000000110000011100101
+00100000010000000100010001010101
+01100111111000100000000001000110
+01011000000000000000000000000000
+01100111111001000000001001011001
+01011000000000000001110010000000
+01100111111001000000000001010001
+01101111111000100000000000110000
+01111001001000000111111000000000
+01100111111000100000000000110000
+01110000000000000100101100000000
+01110000000000000100110000000000
+01110000000000001010000000000000
+00100000001000000100101010000111
+01000100101000110100000000001000
+00011000000000000111111000000000
+01100111111100000100000110111111
+11100111111100000000000000000101
+00100000010000000100000111000001
+00100000001000000100001001010000
+01101111111000100000000000010001
+00011111111000001111111111111111
+01100111111000100000000000010001
+00100000011000000000000000000000
+01101111111000100100000011001111
+00011111111000001111111000000001
+01100111111000100100000011001111
+00100000011000000000000000000000
+01000100101000111100000000001000
+01101111111000100100000111001111
+11000000000000011100010001011110
+01101111111000100000000001001000
+11000000100000001100010001100010
+00100000010000000101000011101100
+00100100001000101100010001100010
+00100000010000000100000110100000
+01110000010000011100111100000000
+01000100101001000100000000001001
+00100000010000000100110100111010
+00100000010000000100011011100101
+01110000000010101001010100000010
+00100000010000000111101110101011
+00100000010000000110000011011000
+00100000010000000101000101000101
+00100000010000000111010000110010
+01101111111000100000000000110000
+01111001001111111111111000000000
+01100111111000100000000000110000
+01110000010001100101000100000000
+01101111111000100000000001001100
+00101111111000011000000000000000
+00100000001000001100010001110010
+01111001001111111000000000000001
+01101111111000100000000001000111
+11000011000000011100010001110100
+01101111111000100000000001001011
+11000100000000110000000000000000
+01111001001111111000000000000010
+00100000011000000000000000000000
+01000100101001001100000000001001
+01101111111000100000000101110010
+00100000011110100000000000000000
+00011111111000100000100000000000
+00100000010000000100010100010000
+00100100011101101000000000000000
+00011000000000000000001000000000
+00100000010000000100011101010011
+00011000100000100111111000000000
+01100111111000100000000001110111
+00011000000000000111111000000000
+01100111111000100000000101110010
+00100000011000000000000000000000
+01000100101001010100000000001001
+01101111111000100000000000110000
+11000011000000010100010010010010
+00011000000000000000001000000111
+11000101100000111100010010010001
+00100000010000000100011100100001
+00100100001000001100010010010010
+00100000001101110100010010010010
+00100000010000000100010010111101
+01011000000000000000000000000010
+01100111111001000100000011001000
+00100000011000000000000000000000
+00100100011101110000000000000000
+01000100101001011100000000001001
+00100000010000000100001000111111
+00100100001000101100010010100011
+01101111111000100000000001000111
+11000011000000011100010010101100
+11000101000000101100010010110000
+01101111111000100000000101111101
+11000010100000110100010010110110
+01101111111001000100000011001000
+00011111111000001111111111111111
+01100111111001000100000011001000
+00100000001110100100010010100001
+01101111111000100100000011000101
+10011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001100100000000001001
+00100000010000000100011010000011
+00100000010000000100011100100001
+00100000001000001100010010101100
+00100000010000000110001111101100
+00100000001101000100010010111010
+01101111111000100000000001001011
+11000010100000110100010010111100
+11000101000000101100010010110000
+01101111111000100000000101111101
+11000010100000110100010010110110
+00011000000000000000001000000001
+00100000011101001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001101100000000001001
+01101111111000100000000000011001
+10011000000000000000001000000000
+11000001100000001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01101111111000100000000101010110
+00011111111000010000001000001111
+01111001001000000000000000000101
+00100000011000000000000000000000
+00011000000000000000001000010011
+00100000001000000100010010111101
+00100000010000000100010011000110
+01000100101001110100000000001001
+01101000010000100000000001000111
+01111001001000000000010000000011
+01100000010000100000000001000111
+00011000001000100111111000000000
+01100111111000100100000011000101
+01011000000000001111111111111111
+01100111111001000100000011001000
+00100000011000000000000000000000
+01000100101001111100000000001001
+01101111111000100000000001001100
+00101111111011111111111000000101
+01101111111001000100000111011101
+00100000001000001100010011011100
+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
+01101111111000100000000000110000
+11000011000000001100010011110001
+01101111111001000000000000110010
+00100000001110100100010011110001
+00100100001101110100010011110011
+00100000010000000100101001001110
+00011101000000001100001000000001
+01111000001010000111110000000000
+01101111111001000000000000111110
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000100101000100011
+00100000010000000100100011100110
+00011000000000000100100000000011
+00100000010000000100100011001000
+00100000010000000100010000100110
+00100000010000000100100111110000
+01000100101010000100000000001010
+01101111111001000000000000111110
+00011111111000110111111000000000
+00100000010000000100101000100011
+00100000010000000100100111101010
+01111000001001101111110000000000
+01101111111001000000000000111110
+11011000010000000000001110111011
+10011000010000001011011000000000
+00110111110000011000010000000000
+00011011010000100000010000000000
+01100000010011000000000010011010
+01111000010001101111110000000000
+00100100011011000000000000000000
+11011101001000000000001110111011
+00011100001000100101000000000000
+00100000001101011100101011100110
+00100000011000000000000000000000
+01000100101010001100000000001010
+00100000010000000100010011101100
+00100100001011000100100011110101
+00100000010000000100100110111010
+11000101100010001100010100011000
+01101111111001000000000011110100
+00011111111000001111111000000001
+01100111111001000000000011110100
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101010010100000000001010
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001001011111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100111111000100000000101011011
+00001001100000000000000000000100
+00001000000000001000000000000111
+00011001100000100111111000000000
+01100111111000100000000000011001
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100111111000100000000101011100
+01101111111000100000000000011001
+00011111111001100111110000000011
+00100000001000010100010100101111
+11000000000000111100010100101111
+01101111111000100000000001001100
+00101111111011111111111000000101
+01111001001000001010101000000001
+01000100101010011100000000001010
+00001001100000000000000000001000
+01111000010001011111110000000000
+01111000010001010111110000000000
+00100000001000110100011000101101
+11000101100010001100010100111000
+01101111111001000000000011110110
+00011111111000001111111000000001
+01100111111001000000000011110110
+01000100101010100100000000001010
+01101111111000100000000101011011
+00101111111000000000111000000000
+01111001001000001000000000001010
+00100000001000001100010101001000
+10101000100000000000111000000000
+00100000001000001100010101000111
+11000101100000111100011001001001
+01101000010000100000000010101110
+10101000010000000000111000000000
+00100100001000001100011001001001
+01101111111000100000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100111111000100000000001000111
+01111000001101101111110000000000
+01000100101010101100000000001010
+01101111111000100000000000011001
+00011111111000100000001000000000
+11000101000001010100010101010111
+01101000010000100000000101011100
+01101111111000100000000001000111
+01111001001111111111111000000000
+00101000010011111111111000000000
+01111001001000001111111000000000
+00101000010011111111111000000001
+01111001001000001111111000000001
+01100111111000100000000001000111
+00101000010011000000000000000001
+00100000001000001100010101010111
+00100000010000000100011010000011
+01000100101010110100000000001010
+11011000010000000000000000000000
+00100000010000000100101000011011
+00011000001000010111111000001111
+11000000000000001100010110000011
+11000000000000000100011001001001
+11000000000000010100011001010101
+01101000010000100000000101011100
+01101111111000100000000001000111
+10101000010000000000100000000000
+00100100001000001100010101100101
+11000101100001010100010101100100
+11000011000000111100010101100101
+01111001001000000000000000001111
+01000100101010111100000000001010
+00011000001000100111111000000000
+11000000000000011100010110000101
+11000000000000100100010110001001
+11000000000000111100010101110100
+11000000000001000100010110001000
+11011000010000000000000000000100
+00100000010000000100101000011011
+11000000000001010100010110000100
+11000000000001011100010110000111
+11011000010000000000000000001000
+00100000010000000100101000011011
+11000000000001110100010110000100
+11000000000001111100010110000111
+00100000011000000000000000000000
+01000100101011000100000000001011
+01111000001001101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+11011000101000000000000011001111
+00011000000000000111001000011110
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+11000010000000000100010101111010
+11000101100000111100011001001001
+00001001100000000000000000010000
+01111101001000110000000000001000
+00100000001000110100011000111001
+00100000001000000100011000011100
+00100000001000000100011001001001
+01111001001000000000000000010000
+01111000001001100111110000000000
+00100000001000000100010110001010
+01111001001000000000000000010000
+01111001001000000010101000000010
+01111000001001101111110000000000
+01000100101011001100000000001011
+11000101000000001100011001001001
+00101010101011000000000000000001
+00100000001000001100010110010110
+01111000010000111111110000000000
+01111000001001101111110000000000
+01111000010001100111110000000000
+00011100010000001001011000000010
+00110100010100110000010000000000
+00100100001011000100011000111001
+01111001001000000000000000010000
+01111000001000111111110000000000
+01000100101011010100000000001011
+01111000001001110111110000000000
+01111000001001001111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100111111000100000000101111110
+00001001100000000000000000000101
+11000101000010000100010110100001
+00011001100010010111001000000000
+00011111001010010111001000000000
+00100000001000000100010110100100
+00001001100000000000000000000101
+00011001100000110111001000000000
+00001001100000000000000000000011
+01000100101011011100000000001011
+00011111001000100111111000000000
+01100111111001000000000101011101
+00100000001110100100010111100100
+10011110101001100111110000000000
+00100000001000010100011000111001
+01000100101011100100000000001011
+01111001001111111000000000000000
+01101111111000100000000101111110
+00011111111000010111111000000011
+11011000101000000000010101001101
+11000000000000011100010110110110
+11000101000010001100010111100000
+01101111111000100000000101111110
+00011111111000010111111000000011
+11000000000000010100010110111011
+11000000000000001100010111001111
+00100000001000000100011000111001
+01101111111001000000000101011101
+00011111111001100111110001110000
+00100100001000010100011000111001
+11000101000001111100011000011100
+00100000001000000100010111100000
+01000100101011101100000000001011
+11000101000001111100011000011100
+01101111111001000000000101011101
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010100011000111001
+01101111111000100000001001011111
+11000011000000000100010111000101
+11000011000000001100010111001010
+00100000001000000100011001001001
+01110000000000100101110100000001
+01101111111001000000001001011001
+11000000100000000100011001001001
+11011000101000000001000000000000
+00100000001000000100010111100000
+01110000000000100101110100000010
+01101111111001000000001001011011
+11000000100000000100011001001001
+11011000101000000001010000000000
+00100000001000000100010111100000
+01000100101011110100000000001011
+11000101000001111100011000011100
+01101111111001000000000101011101
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010100011000111001
+01101111111000100000001001011101
+11000000000000001100010111011001
+11000000000000010100010111011101
+00100000001000000100011001001001
+11011000101000000001000000000000
+01101111111001000000001001011001
+10011000101000001000101000000000
+00100000001000000100010111100000
+11011000101000000001010000000000
+01101111111001000000001001011011
+10011000101000001000101000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+11000010000000000100010111100000
+01000100101011111100000000001011
+00001001100000000000000000010000
+00100000001000110100011000110011
+01101111111000100100001100110101
+11000000000000001100011001001001
+11000101000010001100011000001001
+11000101000001111100011001000110
+01101111111000100000000101111110
+00101111111000000000011000000011
+00100000001000001100011000001001
+01101111111001000000000101011101
+00100000001110100100011000001001
+01000100101100000100000000001100
+01101111111000100000001001011101
+11000000000000001100010111110101
+11000000000000010100010111111111
+00100000001000000100101010001011
+01101111111001000000001001011001
+01101000010001000000000101011101
+10011000010000001111111000000000
+01100111111001000000001001011001
+11000000000000000100101010001011
+01101000010001000001000000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101100011101000011
+00100000001000000100011000001001
+01101111111001000000001001011011
+01101000010001000000000101011101
+10011000010000001111111000000000
+01100111111001000000001001011011
+11000000000000000100101010001011
+01101000010001000001010000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101100011101000111
+00100000001000000100011000001001
+01000100101100001100000000001100
+01101000010000100000000001001100
+01101111111000100000000101111110
+00101111111000000000011000000011
+01111001001000001000010000000110
+01111101001000001000010000000111
+01100000010000100000000001001100
+00100100001000001100011000010010
+01111001001000000000000000000001
+11000101100010001100011000011100
+00101000010011111111111000000110
+00100000001000001100011000011100
+01101111111001000000000011111000
+00011111111000001111111000000001
+01100111111001000000000011111000
+01111001001000000000000000000101
+01111001001111111000010000000111
+01111001001111111000000000000001
+01100000010000100000000001001100
+01000100101100010100000000001100
+01101000010000100000000101011100
+01101111111000100000000001000111
+01111001001000000111111000000101
+00101000010011111111111000000010
+01111001001000001111111000000010
+00101000000011111111111000001010
+01111001001000001111111000000111
+01100111111000100000000001000111
+01101111111001000000000101011101
+00100100001110100100011001001001
+01101111111000100000000001001100
+01111001001111111111111000000111
+01100111111000100000000001001100
+01101111111000100000000101111110
+00101111111000000000111000000001
+00100000001000000100011001001001
+01000100101100011100000000001100
+01111000010101101111110000000000
+01101111111001000000000000011010
+00011111111000001111111000000001
+01100111111001000000000000011010
+00100000001000000100011001001001
+01101111111001000000000000011100
+00011111111000001111111000000001
+01100111111001000000000000011100
+00100000010000000100011000111010
+11000101100010001100011000111001
+01111001001000000000000000000101
+00100000001000000100011001001001
+01000100101100100100000000001100
+01101111111000100000000101111110
+00101111111000000000011000000011
+00100100001000001100011001000010
+01101000010000100000000001001100
+01111001001111111000010000000110
+01100000010000100000000001001100
+00100000011000000000000000000000
+01101000010000100000000001001100
+01111001001111111000010000000111
+01100000010000100000000001001100
+00100000011000000000000000000000
+01101111111000100000000001000111
+01111001001000000111111000000101
+01100111111000100000000001000111
+01000100101100101100000000001100
+01111000010011101111110000000000
+01111000010011100111110000000000
+01111000010001101111110000000000
+01111000010001100111110000000000
+01111000010001001111110000000000
+01111000010001110111110000000000
+01111000010000111111110000000000
+00100000001100001100100011110101
+00110111110100111000001000000000
+00100000000000000000000001100100
+00100000001000000100100011110101
+01000100101100110100000000001100
+01111000001001001111110000000000
+01111000001001100111110000000000
+00001001100000000000000001001000
+00101111111011111111111000111010
+01111001001000001000000000000000
+00011100000000100000010000000000
+01010111111000000100000000000000
+01010111111000000011110000000000
+01111000001010101111110000000000
+00111000000010111111111111111111
+00111000000011001111111111111111
+00100000000000000000000000100000
+00101001101010000000000000000000
+00011101100000100111111000000000
+01100111111001100000000101110110
+00011101101000100111111000000000
+01100111111000100000000101111001
+00011000010000100100000000000000
+00100000001000001100011001101010
+00100000001000000100011000111001
+01000100101100111100000000001100
+00001001100000000000000001001000
+01010111111000000011111000000000
+01010111111000000000100000000000
+01010111111000000101110000000000
+01010111111000000010010000000000
+00011000000000000111111000000000
+00001001100000000000000000010000
+00100000001000110100011000111001
+01011111111111111111111111111100
+10011010010000010111111000000000
+01100111111010000000000101100011
+00011011101000100111111000000000
+01100111111001100000000101110011
+00011011100000100111111000000000
+01100111111000100000000101110001
+00011000100000100111111000000000
+01100111111000100000000101110010
+00011101110000100111111000000000
+01100111111001000000000101111010
+00011100001000100111111000000000
+00001000000000001000001000100000
+00101000001000000001111000000010
+01111001001000001000000000001011
+00100000001000000100011001001001
+01000100101101000100000000001101
+01101111111000100000000001000111
+11000100000000011000000000000000
+01111001001111111111111000000011
+01111001010000000111111000000110
+01100111111000100000000001000111
+01101111111000100100000011000101
+11000000000010011100011010011000
+11000001000000111000000000000000
+01101111111000100000000001001011
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001000000111111000000111
+01100111111000100000000001001011
+01111001001111111000000000000010
+01101111111001000100001000011000
+00100100011110100000000000000000
+01101111111000100000000001001011
+01111001001111111111111000000111
+01100111111000100000000001001011
+00100000001000000101011000110111
+01000100101101001100000000001101
+01101111111000100000010010110011
+00011111111000110111111000000000
+11000000000010001100011010110100
+11000000000010010100011010111100
+11000000000011000100011011100101
+11000000001111111100011010100100
+11000001100000011000000000000000
+01101111111000100000010010110100
+11000000000101011100011010101100
+11000000000010001100011010100111
+00100000011000000000000000000000
+01101111111000100000010010110100
+01111001001000000111111000000111
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101111111000100000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101111111000100000000000110001
+00101111111011111111111000000100
+00100000001000001100011010110001
+00100000011000000000000000000000
+01111001001111111111111000000100
+01100111111000100000000000110001
+00100000011000000000000000000000
+01000100101101010100000000001101
+01101111111000100000000001001100
+01111001001000000111111000000010
+01100111111000100000000001001100
+01110000100000000001000100000001
+01101111111000100000000000110000
+00101111111011111111111000000100
+00100000011000000000000000000000
+01000100101101011100000000001101
+01101111111000100000000001001100
+01111001001111111111111000000010
+01100111111000100000000001001100
+01110000100000000001000100000000
+00100000011000000000000000000000
+01000100101101100100000000001101
+00011100010000100111111000000000
+01100111111010000100001000001011
+00011100010000001010001000000011
+00100000001101001100011011001000
+00011101000000001010001000000011
+01101000010001000000000000110010
+00011010001000100111111000000000
+01111001001111111111111000011011
+10011000010001101111110000000000
+01101111111001000000000001110101
+00100000010000000111110101100001
+00011000000001110010011000000000
+10011010011001100111111000000000
+00100000001000010100011011010010
+10011000010000001111111000000000
+10011010001000001111111000000000
+01100111111010000000000000110100
+01110000010001010010110100000000
+01101111111000100000000000110000
+01111001001000000111111000000001
+01100111111000100000000000110000
+01101111111000100000000001110011
+01100111111000100000000010001010
+01011000000000000000000000000000
+01100111111001100100000101101010
+01100111111001100100000101101101
+01100111111000100100000101011010
+01110000000010101001010100001011
+00100000010000000111101110101011
+01101111111001000100000011000001
+01100111111001000000000000111110
+00100100011101001000000000000000
+00011000100000001000111111111111
+00100000011000000000000000000000
+01000100101101101100000000001101
+01101111111000100000000000110000
+11000100000000001000000000000000
+01111001001111111111111000000001
+01100111111000100000000000110000
+01101111111001000100000010111111
+01100111111001000000000000111110
+01111000010101011111110000000000
+01110000000010101001010100001100
+00100000001000000111101110101011
+01000100101101110100000000001101
+01111000001101110111110000000000
+01101111111000100000000000110000
+11000010100000001100011011111100
+11000110000010001000000000000000
+01101111111000100000000001000111
+11000011100000011000000000000000
+01101111111000100000000001001000
+00100100011110100000000000000000
+01101111111000100000000001001011
+11000011100000110000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+11000011000000010100011100001011
+01101111111000100000000010001010
+11000000000000010100011100000010
+01101111111000100000000001000111
+11000010100000011100011100010100
+11000101100001000100011100010100
+00100100001101001100011100010100
+01101111111000100000000001001000
+00100100001110100100011100010100
+01101111111000100000000011101101
+00011111111000001111111111111111
+01100111111000100000000011101101
+00100100001110100100011011111010
+01110000000000001110110100010000
+00100000001000000100011100010100
+01101111111000100000000010001010
+11000000100000001100011100010100
+01101111111000100000000010001011
+00100000001110100100011100010100
+00011111111000001111111111111111
+01100111111000100000000010001011
+01101111111000100000000001000111
+11000011100000011000000000000000
+00100100011101101000000000000000
+01101111111000100000000010001010
+00011111111000001111111111111111
+01100111111000100000000010001010
+00100000011000000000000000000000
+01000100101101111100000000001101
+01111000010010000111110000000000
+00011000010000100011011000000000
+00100000010000000100001001011100
+01111000010101000111110000000000
+00100100011000101000000000000000
+00011000000000000011011000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101111111000100100000101011001
+10101000100000011111111000000000
+00100000011000000000000000000000
+01000100101110000100000000001110
+01111001001111111000000000000001
+01110000000000100110011000000000
+01101111111000100000001001011111
+00100000011110100000000000000000
+00101111111011111111111000000000
+11011000110000000001000000000000
+00100000010000001101000101010011
+01000100101110001100000000001110
+01101111111000100000001001100110
+11000000000000001100011100110111
+01110000000000100110011000000000
+01101111111000100000001001011111
+11000100000000001000000000000000
+11011000110000000001010000000000
+00100000010000000101000101010011
+01101111111000100000001001100110
+11000000000000001100011100111101
+00100000011000000000000000000000
+01101111111000100000001001011111
+01111001001111111111111000000000
+01100111111000100000001001011111
+01011000000000000000000000000000
+01100111111001000000001001011001
+00100000011000000000000000000000
+01101111111000100000001001011111
+01111001001111111111111000000001
+01100111111000100000001001011111
+01011000000000000000000000000000
+01100111111001000000001001011011
+00100000011000000000000000000000
+01101111111000100000001001011111
+01111001001000000111111000000000
+01100111111000100000001001011111
+00100000011000000000000000000000
+01101111111000100000001001011111
+01111001001000000111111000000001
+01100111111000100000001001011111
+00100000011000000000000000000000
+01000100101110010100000000001110
+00011101000000001100001000000001
+00100000010000000100100011100110
+00011000000000000100100000000011
+00100000010000000100100011001110
+00100000010000000100101001010000
+00100000010000000100101001011110
+00100000001000000100101001100011
+01000100101110011100000000001110
+00100000010000000100101001001100
+00011101000000100111111000000000
+01101000010010000100000011001010
+10011000010001100111111000000000
+11000001100000001000000000000000
+00101000001000000011111000000000
+00100100001000001100011101011101
+01101111111000100000000000011001
+00100000011110100000000000000000
+00100000010000000100011101001011
+00101000001000000011111000010000
+00100000001000001100011001001001
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101110100100000000001110
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001011011111110000000000
+01111001001111111000000000010000
+00011000100000100111111000000000
+00001000000000001000011000000011
+00011000001000100111111000000000
+00001000000000001000011000000100
+01101111111000100000000001000111
+00001000000000001000000000000100
+00001000000000001000011000000011
+01111000001001000111110000000000
+00001000000000001000011000001000
+01111000010011011111110000000000
+01111000010001000111110000000000
+01111000010001010111110000000000
+01111001001111111010101000000010
+11011000010000000000000000000000
+00100000010000000100101000011011
+01000100101110101100000000001110
+00011000001000010111111000011111
+11000000000010011100011110110000
+11000000000000000100011001001001
+11000000000000001100011001001001
+11000000000000010100011110010011
+11000000000000011100011111000001
+11000000000000100100011111000111
+11000000000000111100011110001000
+11000000000001000100011111000110
+11011000010000000000000000000100
+00100000010000000100101000011011
+11000000000001010100011111000011
+11000000000001011100011111001001
+11011000010000000000000000001000
+00100000010000000100101000011011
+11000000000001111100011111001001
+00100000001000000100011111000011
+01000100101110110100000000001110
+01111000001011101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+00011000000000000111001000011110
+11011000110000000000000010110001
+11101111111000100000000000000110
+00001000000000001000011000001000
+11000010000000000100011110001110
+11000101000000111100011111110011
+00100000001000000100011001001001
+01000100101110111100000000001110
+01101111111000100000000101111111
+00011111111000100000100000000000
+01101111111000100000000010010000
+00011111111000100011100000000000
+01101111111001100100000010101010
+00011111111000100011101000000000
+01101111111001000100000010100100
+00011111111000100101110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+00011100000000100010001000000000
+00100000010000000100100011011110
+01111000001010101111110000000000
+00100000000000000000000000100000
+00011100001000100001011000000000
+01101111111010000000000101011111
+00011111111000100100001000000000
+01010011110000000111111000000000
+01111001001000000111111000111010
+00001000000000001000011001001000
+01010011111000000111111000000000
+00001000000000001000011001001000
+00011001011000100100001000000000
+00011010001000100100000000000000
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000001000000100011001001001
+01000100101111000100000000001111
+01111000001001110111110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+01101111111000100000010010110010
+00011111111000010000010111111000
+11011000110000000000010010110010
+00011000010000001000010000001000
+00011000010000001010011110111000
+00100100001000010100011110111110
+11101111111100100000000000000110
+00001000000000001000011001001000
+00011010011000100000010000000000
+00100000001000000100011110111000
+11101111111100100000000000000110
+00001000010000011000011000000000
+00100000001000000100011111110011
+01111000001011100111110000000000
+00100000001000000100011111001100
+01111000001011100111110000000000
+01111001001000000000000000010000
+00100000001000000100011111001100
+01111001001000000010101000000010
+01111000001011101111110000000000
+00100000001000000100011111001100
+01111001001000000010101000000010
+01111000001011101111110000000000
+01111001001000000000000000010000
+01000100101111001100000000001111
+01101111111000100000000001001100
+11000011000000101100011111100001
+00011000001001100111110000000011
+00100000001000010100011111100001
+01111000010001110111110000000000
+01111000010011100111110000000000
+01111000001011101111110000000000
+01111000010000111111110000000000
+01111001001000000010101000000001
+00101010101011111111111000000010
+00100000001000001100011111011011
+01011000000010101011111011101110
+00001000000000001000011000010100
+00100000001000000100011111011111
+01011000010111111010111010111010
+00001000000000001000011000011000
+01011000000000000000000000010010
+00001000000000001000011000000110
+01111000001000111111110000000000
+01111001001000000000000000010000
+01111000001001110111110000000000
+01111000001001001111110000000000
+11000101000000101100011111111100
+01101111111000100100000111011100
+00001000000000001000011000000011
+01101111111001000100000111011101
+10011000000000000111001000000000
+11000101000010000100011111101011
+00001000000000001000011000000101
+00100000001000000100011111101100
+00001000000000001000011000001101
+00011111001000100111111000000000
+00100000001110100100011111110011
+01101111111001000000000101101101
+10011000000000000000110000000000
+11101111111000100000000000000110
+00001000000000001000011000001000
+11000010000000000100011111110000
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000010000000100010010111101
+01101111111000100000000001001100
+11000011000000101100011001001001
+00011000000000000111111000000000
+00001000000000001000011000000110
+00100000001000000100011001001001
+01000100101111010100000000001111
+11000101000010000100100000000100
+01101111111000100000000101111110
+00001000000000001000011000000011
+01101111111000100000000101011101
+10011000000000000010011000000000
+00001000000000001000011000000101
+00100000001000000100100000001001
+01101111111000100000000101111110
+00001000000000001000011000000011
+01101111111001000000000101011101
+10011000000000000010011000000000
+00001000000000001000011000001101
+11011000110000000000010101001101
+00011010011000100111110000000000
+00100000001000101100100000010000
+11101111111000100000000000000110
+00001000000000001000011000001000
+00011010011000001010011111111111
+00100000001000000100100000001010
+01101111111001000000000011111010
+00011111111000001111111000000001
+01100111111001000000000011111010
+00100000001000000100011111110011
+01101111111010000000000101100011
+00011111111000001010001000000111
+01101111111001000000000101101111
+00100100001110100100100000011010
+00011010001000001010001111111101
+00100000001000000100100000100010
+00011111111011111111111000001100
+01101000010001001000000001000000
+00011000010000001000010000000001
+10011000010001100111111000000000
+00100100001000010100100000100001
+00011010001000001010001111111111
+00100000001000000100100000011101
+00011111111001100111111000000000
+00110111110100011000001000000000
+00101100010000000000011000000000
+00100100001000001100100000100010
+10011000000000000101001000000000
+00011010001000100101000000000000
+10011000000000000101001000000000
+00100000011000000000000000000000
+01000100101111011100000000001111
+00110111110100010000001000000000
+00011011010000100111111000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+10011100010001100111001000000000
+00011111001000010111001000000011
+00100100001000101100100000110011
+00011000000000000111111000000000
+00100000001000000100100000110111
+11011000010000000000111010100110
+00011000000000000111111000000000
+10011000010000001111111000000000
+11000010000000000100100000110101
+10011000110000001111111000000000
+00011111111001101111110000001100
+00100000010000000111110101100001
+00011000000001111111111000000000
+01100111111001000000000101101111
+00100000011000000000000000000000
+01000100101111100100000000001111
+00011011010000100111111000000000
+00011011001000100000010000000000
+10011000010001100111110000000000
+01111101001000010111111000101100
+10011000010001100000010000000000
+01011000000000000000111010100110
+00101000010011000000000000001111
+00100000001000001100100001001000
+01011111111111110000111010100110
+10011000010000001000010000000000
+01100000010011000000010001000011
+00100000011110110000000000000000
+01100000010011000000000000111000
+00100000011000000000000000000000
+01111000010110000111110000000000
+01101111111011000000010001000011
+00100000001110110100100001010000
+01101111111011000000000000111000
+10011011001000001110000000000000
+00011110000000001110000000001010
+01011000000000000000111010100110
+10011110000001100111111000000000
+00101111111011000000000000001111
+00100000001000001100100001011010
+01011000000000001111000101011010
+10011110000000001110000000000000
+00011110000000100011010000000000
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000001000000100100001011000
+01000100101111101100000000001111
+00100000010000000100100100010101
+00011100001000100111111000000000
+00011111111000010111111110000000
+00101100100000000000111000000011
+00100100001000001100100001100101
+00011111111010010111111000000000
+10011010111000001111111000000000
+00100000001000000100100001100110
+00011010111000100111111000000000
+00011111111001101111110001001111
+01111000001010101111110000000000
+00100000010000000111110101100001
+00011000000001110010001000000000
+00011010001000001000010111011000
+00100000001000010100100001101110
+00011010001000111000010000000000
+00100000001000000100100001110000
+00011000010000111000010000000000
+00011000010000001000010000000001
+01000100101111110100000000001111
+01101111111000100000000000110001
+11000011000000011100100010000001
+01101111111010000100000011010010
+10011100001001100111110000000000
+00100000001000010100100010000001
+00100000010000000100100010100000
+01101111111000100100000011011001
+00100000011110100000000000000000
+01101111111000100000000000110001
+01111001001000000111111000000010
+01100111111000100000000000110001
+01101111111010100100000011100111
+01100111111010100100000011011010
+11101111111010100000000000000110
+01100111111010100100000011011111
+00100000010000000100100010100101
+01101111111000100000000000110001
+11000100000000010000000000000000
+00101100001011111111111000000001
+00100000001000001100100010011101
+00011000010010010010001000000000
+00011000010000010000111000000111
+01011000000000000100000011011010
+10011010001000001010001000000000
+11101111111000100000000000010001
+10101111111011000000000000000000
+00100000001000001100100010001110
+00011000010000100111111000000000
+00100000001000000100100010011010
+01101111111000100100000011100100
+10011000000000000010010000000000
+00011100001000100111111000000000
+00011111111000010111111110000000
+00011111111010010111111000000000
+10011010111000001111111000000000
+10011010010001101111110000000000
+01011000000000000100000011110010
+00100000010000000111110101100001
+00011000000001110010001000000000
+10011010001000001000110000000000
+11101111111000100000000000000110
+01100111111000100100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101111111000100100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101111111000100000000000110001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01100111111000100000000000110001
+00100000011000000000000000000000
+01000100101111111100000000001111
+11011000101000000100000011110010
+00011000000000000111001000001010
+00100000010000000111110010100001
+11011000101000000100000011110010
+00011000000000000010011000000000
+00011000000000000000111000000010
+01101111111010100100000011011010
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001100100010110001
+00011000010000110000010000000000
+00101000010011000000000000000000
+00100000001000001100100010110101
+00011010011000100111111000000000
+11100111111000100000000000000101
+00011000010010110000010000000000
+00011010011000001010011000000010
+00101010011000011111110000101000
+00100100001000001100100010111110
+01101111111010100100000011011111
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001100100010111110
+00011000010000110000010000000000
+00011010011001100111110001001110
+00100000001000010100100010110001
+00011000000000000010011000000001
+00011000111000001000111111111111
+00100100001000101100100010101100
+11011010001000000100000011110010
+00011000101000100111111000000000
+10011010001001100111111000000000
+01100111111000100100000011100100
+00100000011000000000000000000000
+01000100110000000100000000010000
+00100000010000000100100001011100
+01101111111000100000000101111101
+11000011000000101100100011001101
+01101000010000100000010011001000
+00100000001000000100100100011100
+01000100110000001100000000010000
+00100000010000000100100001011100
+01101111111000100000000101111101
+11000011000000100100100011010011
+01101000010000100000010011000111
+00100000001000000100100100110000
+00011000000000000101101000000000
+01101111111001100100000010100111
+10011000000000000101100000000000
+00100000011000000000000000000000
+01000100110000010100000000010000
+01101111111000100100000111010100
+00011111111000100101101000000000
+01101111111001100100000111010001
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000011100000000010000
+01101111111001000100000010100100
+00011111111000100101110000000000
+01101111111000100100000010100011
+00011111111000100101101000000000
+01101111111001100100000010100000
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000100100000000010000
+01101111111001000000000001000100
+00011111111000100101110000000000
+01101111111000100000000001000011
+00011111111000100101101000000000
+01101111111001100000000001000000
+00011111111000100101100000000000
+00100000011000000000000000000000
+11000101000100000100100011110001
+11000110100011101000000000000000
+11000110100011111000000000000000
+00011101100000010101100100000000
+01111000001010101111110000000000
+00100000000000000000000000100000
+00100000011000000000000000000000
+01000100110000101100000000010000
+00100000001100001100100100000110
+01110000100010010101010111010100
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01101111111000100100000111011111
+11000000000000000100100100000100
+11000000000000001100100100010010
+11000000000000010100100100000100
+11000000000000011100100100010010
+11000000000000100100100100010010
+11000000000100000100100100010010
+01110000100010010101010111010000
+01110000100010010101011011100000
+00011000000000000010101000001000
+00011000000000000010101000000000
+01111000010100001111110000000000
+01111000010100000111110000000000
+01111000001011110111110000000000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000001100000000
+01110000100010010000010001110000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+00100000001000000100100100000110
+01000100110000110100000000010000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000011000
+01110000100010010000001110100111
+01110000100010010000010001111111
+00100000011000000000000000000000
+01000100110000111100000000010000
+01100000010000100000000000010111
+00011000010000001010001000000100
+01110000100010010110110100000111
+00100000001000000100100110000000
+01000100110001000100000000010001
+01110000100010010000000111001111
+00100000000000000000000000001010
+01110000100010010000000011111111
+01110000100010010000001110101111
+01110000100010010000010011111111
+00100000000000000000000000001010
+01110000100010010000001010100000
+00100000011000000000000000000000
+01101111111000100100000111100001
+00100000001110100100100100101110
+00011000010000001010001000000010
+00100000011000000000000000000000
+00011000010000001010001000000000
+00100000011000000000000000000000
+01000100110001001100000000010001
+01100000010000100000000000010111
+00100000010000000100100100101010
+00100000010000000100100110000000
+01011000000000000000010100000000
+00100000010000000100101010001110
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+01110000100010010110110100010010
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111111
+01101111111000100100000111011111
+11000000000000000100100101001000
+11000000000000001100100101001100
+11000000000000010100100101010000
+11000000000000011100100101010100
+11000000000000100100100101011000
+11000000000100000100100101011100
+01110000100010010101011011110000
+00100000010000000100100101100010
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011011111
+00100000010000000100100101100010
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011111111
+00100000010000000100100101100010
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011001110
+00100000010000000100100101100010
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011001011
+00100000010000000100100101100010
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+01110000100010010101011101001100
+01110000100010010101100001101100
+01110000100010010101100101010000
+00100000011000000000000000000000
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010100
+00100000000000000000000000000100
+00100000011000000000000000000000
+01110000100000000100001000000110
+00100100010101011110011110111100
+01101111111001000100000011000011
+11000011000001110100100101101100
+10011000000000000000110000000000
+11011000010000001000100100000000
+11101111111000100000000000000110
+11000000011111111100100101110110
+10011000010000011000101000000000
+11101111111000100000000000000110
+11100111111000100000000000000101
+00100000001000000100100101110000
+01000100110001010100000000010001
+00100000010000000100101110111010
+00100000010000000100100111001000
+01011000000000000000011111010000
+10011100010000001111111000000000
+01100111111010000000000101100111
+01111001001000000010101000000011
+00011000000000000010101000000000
+00100100010101011100100110010111
+00100000001000000100100110101010
+01000100110001011100000000010001
+01011000000000000000100101100000
+10011010001000001000010000000000
+01101111111000100100000010111101
+01110000100010010101111100000100
+10011000010011111111111000000000
+01101000010000100100000010111110
+10011000010001101111110000000000
+00100000010000000111110101100001
+00011000000001111010001000000000
+00011000000001110111111000000000
+00011111111100000111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111110101100001
+00011000000001111111111000000000
+00011111111011010111111000000000
+00011111111000111111111000000000
+10011010001000011111111000000000
+01100111111010001000100101100000
+01110000100010010101111101000100
+01110000100010010101111111000100
+00100000011000000000000000000000
+01000100110001100100000000010001
+01110000100010010000011000000010
+01011000000000111101000010010000
+00100000010000000100101010001110
+01110000100010010000000001111111
+00100000000000000000000010000010
+01110000100010010101001000110000
+01110000100010010000000111010000
+01110000100010010101001001110000
+01110000100010010101001011110000
+00011000000000000111001000110010
+01101111111000101000100110010000
+11000010100000101100100110100101
+11000010000000000100100110100010
+01100111111000100100000011001110
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01000100110001101100000000010001
+01101111111000100100000011001110
+01111001001000000111111000000101
+01100111111000101000100101010010
+01101000010000101000100101010000
+00011000010000010000010000000111
+00011111111010011111111000000000
+10011000010000011111111000000000
+01100111111000101000100101010000
+01101111111000101000100101010001
+01111001001111111111111000000000
+01100111111000101000100101010001
+01101111111000101000100101010010
+01111001001111111111111000000101
+01100111111000101000100101010010
+00100000011000000000000000000000
+01000100110001110100000000010001
+01101111111001001000100110010001
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111001100111111000000000
+00011111111000010111111011111111
+00011111111001101111110000001010
+00100000010000000111110101100001
+00011000000001111111111000000000
+00011111111100100111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01100111111000100000000000011000
+00100000011000000000000000000000
+01110000100000000100001000000110
+01101111111000101000100101101011
+01111001001111111111111000000100
+01111001001111111111111000000101
+01100111111000101000100101101011
+01110000100010010000010100000000
+01110000100010010000010000000000
+01110000100010010000010001110000
+01110000100010010000010111111111
+01101111111000101000100101101011
+01111001001000000111111000000100
+01111001001000000111111000000101
+01100111111000101000100101101011
+00100000010000000100100111101000
+01101111111000101000100101101000
+01111001001000000111111000000111
+01100111111000101000100101101000
+01111001001111111111111000000111
+01100111111000101000100101101000
+01111001001000000111111000000111
+01100111111000101000100101101000
+01110000100000000100001000000101
+00100000000000000000000000000001
+01110000100000000100001000000100
+01101111111000101000100101101011
+00011111111000010111111011001111
+01100111111000101000100101101011
+00011111111000011111111000110000
+01100111111000101000100101101011
+00100000011000000000000000000000
+01011000000000000000111100001111
+00100000001000000100101111010010
+01011000000000000000100000001111
+00100000001000000100101111010010
+01000100110001111100000000010001
+00100000010000000100100100100001
+01111000010100000111110000000000
+01111000001100001111110000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110010000100000000010010
+01101111111000100000000001001100
+00101111111011111111111000000010
+01111001001000001111111000000000
+01100111111000101000000000010001
+11011000110000000000000001100010
+11101111111100100000000000000110
+10011000000000000110010000000000
+11101111111011100000000000000110
+10011000000000000110011000000000
+01101111111000100000000001010100
+00011111111000001110100111111111
+01111000001011010111110000000000
+00100000011000000000000000000000
+00011011010000100111111000000000
+01100111111011000000000010011010
+01111000010001101111110000000000
+00100100001011000100100011110101
+11011101001000000000001110111011
+00011101000000001101000000000001
+00011101000000010101000111111100
+00100000011000000000000000000000
+01111000001001101111110000000000
+00110111110010111000010000000000
+00100000001011000100100111111110
+00101101000000000000010000000010
+00100100001000001100101000000111
+00100000001000000100100111111110
+01000100110010001100000000010010
+11011001011000000000011000000000
+01111000001001101111110000000000
+00110100011100110000010000000000
+01111000010001101111110000000000
+00100100001011000100100011110101
+00100000011000000000000000000000
+01000100110010010100000000010010
+01111000001001101111110000000000
+00110111110000011000010000000000
+01111000010001101111110000000000
+00100100001011000100100011110101
+11011101001000000000001110111011
+00011101000000010101000111111100
+00100000011000000000000000000000
+01000100110010011100000000010010
+10011000000000000010001000000000
+00011100001000100111111000000000
+10011000010000001001011000000000
+00011001011000100111111000000000
+01100111111010000100000011001010
+00011010001000100111111000000000
+00100000011000000000000000000000
+00011111111000100000010000000000
+01000100110010100100000000010010
+00011000010000100111111000000000
+00100000010000000111110100101011
+00011100001100000111111000000000
+01111001001000000111111000101100
+00100000010000000111110100010100
+01111001001111111111111000101100
+00100000010000000100101001110110
+00100000010000000111110100010100
+00100000011101000000000000000000
+00100000010000000111110100011110
+10011000000000000011011000000000
+00110111110000011000001000000000
+00100000011000000000000000000000
+01000100110010101100000000010010
+00100000001110000100101000110111
+00110101001100110000001000000000
+00011101000000100000010000000000
+00100000001000000100101000111010
+00100000001101110100101000111001
+00110100011100110000001000000000
+00011100010000100000010000000000
+00100000001101000100101001000110
+00101000010000000000011000000001
+00100100001000001100101000110010
+01000100110010110100000000010010
+01101111111000100000000000110000
+11000100000000000000000000000000
+01101111111010000100000011001010
+10011000010001100111111000000000
+00100100011000010000000000000000
+00011111111001100111110011111111
+00100000001000010100101000110010
+00100000011000000000000000000000
+00101000010000000000011000000011
+00100100001000001100101000110010
+00100000001000000100101000111101
+01000100110010111100000000010010
+11011001011000000000011000000000
+00100000001000000100101000110010
+01111000010101000111110000000000
+00100000001000000100101001001001
+01111000001101000111110000000000
+00100000001000000100101001001001
+01000100110011000100000000010011
+00100000010000000100100111110000
+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
+01101111111000100100000010010000
+00011111111000001111111000000001
+11000000100000111100101001110011
+00011000000000000111111000000001
+01100111111000100100000010010000
+10011000000000000000100000000000
+00100000011000000000000000000000
+00011011001000100000010000000000
+00100000011101001000000000000000
+00011011010000100000010000000000
+00100000011000000000000000000000
+00011100010000100111111000000000
+00100000011101001000000000000000
+00011101000000100111111000000000
+00100000011000000000000000000000
+01000100110011110100000000010011
+01101000010010000000000001001101
+00100000010000000100101001111010
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000010001000000000001010001
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+01000100110011111100000000010011
+00100000010000000100101001111010
+01100111111010000000000001001101
+00100000011000000000000000000000
+01000100110100000100000000010100
+00100000001000000100101010001011
+00100000001000000100101010001101
+00100000011110100000000000000000
+00011111111000110111111000000000
+00011111111000001111111111111101
+00011111111000001111111111111111
+00100100001000101100101010010001
+00011000000000000111111000000000
+00100000011000000000000000000000
+11011111001000000000000000010000
+11011000101000000000000000000000
+00100000010000000111110010100001
+11011000101000000000010000111011
+11011111001000000000000000001010
+00100000010000000111110010100001
+01110000000010011010111000000000
+01110000000010101001010100000000
+01110000000001001000100000000000
+01110000000000010111110100000000
+01110000000001001100110100000000
+01000100110100001100000000010100
+01110000000000010110101100000000
+01110000000000010100111100000000
+01110000000000010101101000000000
+01011000100111101000101100110011
+01100111111001100100000010100111
+01011000000000000000000101010011
+01100111111001000000000010000011
+01110000000000001000010100011110
+01110000000000001000011000000001
+01110000000000001000100000000111
+01011000000100101110100100000100
+01100111111001100000000010000000
+01110000000000001001000001100000
+01110000010000001101000000000101
+01110000000000000001010000000010
+01101111111000100100011000101100
+00100100010110100111001101110110
+01101111111000100100010010010000
+00100100010110100111001111001101
+01000100110100010100000000010100
+00100000011101011000000000000000
+01011000000000000000000000000000
+01100111111001000100000111011101
+00011100010000110111111000000000
+01100111111010000100000010010100
+00100000011000000000000000000000
+01101111111010001000000100100100
+00101111111011111111111000010011
+11000011000010111100101011000010
+00100100001000001111110101110100
+11011000010111111111111111111111
+00011100111000100111111000000000
+00100000001110100100101100011000
+01111001001000000111111000010111
+01111001001000000111111000010100
+01111001001000000111111000010101
+01100111111010001000000001001100
+00110111110110011000001000000000
+00110111110110011000001000000000
+00100000010000000100101111011101
+01101111111000101000000001001110
+01111001001000000111111000000110
+01100111111000101000000001001110
+00100000010000000100101111011101
+00100000001000001111110101110100
+01111000001101011111110000000000
+01110000100000000100001100000001
+01101111111100000100000110010001
+10011000000000000000000000000000
+01101111111011001000000100110000
+01100111111011000000000010100001
+00100000011000000000000000000000
+00011000000000100111111000000000
+01100111111100000100000110010001
+00100000001000000100101111100011
+01101000010000101000000001000010
+00011000010000010111111011110000
+00100100001110100100101011100001
+01101111111001100100000101110000
+00100100011110100000000000000000
+00011000010000010111111000001111
+00011111111000011111111011000000
+01100111111000101000000001000010
+01110000100000000000101010000000
+01101111111000101000000100001000
+11000100000000000000000000000000
+01101111111001101000000100001010
+01100111111001100100000101110000
+00100000011000000000000000000000
+01000100110100011100000000010100
+00011011010000100111111000000000
+00100000010000000111110100010010
+01101000010010000100000101100000
+00011000010001100111110011111111
+00100000011000010000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111110101100001
+00011000000001111111111000000000
+11011000010000000000000011001000
+00100000010000000111110101101100
+01100111111000100000000010011001
+00100100001101000100101011110110
+00011111111001100111111000000000
+01101000010001100100000101110000
+10011000010000001111111000000000
+01100111111001100100000101110000
+01011000000000000000000000000000
+01100111111010000100000101100000
+00100000011000000000000000000000
+01101111111000100100000101011000
+00100000001000000100101011111111
+01101111111000100100000101010111
+01100111111000100100000101111100
+01000100110100100100000000010100
+00100000010000000100101111100011
+11011000010111111111111111111111
+01101111111000100100000101110111
+01111001001111111111111000000111
+01100111111000100100000101110111
+01000100110100101100000000010100
+00100000010000000100100111100110
+01101111111010000100000101100000
+10011000010000001111111000000000
+01100111111010000100000101100000
+00100000010000000100101011010101
+01101111111001100100000101111001
+01100111111001101000000001001100
+11101010001000100000000000000110
+01101111111000101000000100100111
+11100111111000100000000000000101
+00110111110110011000001000000000
+01100011001011000100000101100100
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+01100010001000101000000001001110
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+01100000010010001000000001001100
+01110000100000000000010100010000
+00110111110111111000001000000000
+01000100110100110100000000010100
+01011000000000000000000000000000
+00011100111000100111110000000000
+00100000001000101100101100101000
+01101111111000101000000100100100
+01101000010000101000000100100101
+10011000010001100111110000000000
+00100000001000010100101100100110
+00011000010000100111111000000000
+10011100111001100111111000000000
+00011111111000001111111000000001
+00011111111000001111111000001000
+00110111110110011000001000000000
+10011110001000001111111000000000
+01101000010010000100000101011100
+10011000010000001111111000000000
+01101000010001100100000101110000
+10011000010011111111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00011111111000001111111001101110
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111110101100001
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01101000010011000100000101100100
+00100000010000000111110100000111
+00011000010000100011001000000000
+01101111111011000100000001001000
+00100000010000000100100001010000
+00100000011000000000000000000000
+01000100110100111100000000010100
+00100000010000000100101011011000
+01101111111001100100000101110000
+00100000011110100000000000000000
+01101111111000100100000010010001
+00100000011110100000000000000000
+01101111111000100100011000101100
+00100000001110100100101101001001
+01101111111000100100010110000011
+00100000011110100000000000000000
+01101111111000100100010010010010
+00100100011110100000000000000000
+00100000010000000100101111110100
+00100100011110100000000000000000
+01101111111000100100000001000000
+00101111111000000000111000000011
+00100100001000001100101101110010
+01101111111001000100000001000010
+00100000011110100000000000000000
+00100000011101011000000000000000
+01000100110101000100000000010101
+01101000010000100000000010100000
+01101111111001000100000001000010
+10011000010011111111111000000000
+00011000010100011000010000000000
+00011000010010110000010000000000
+10011000010001100111111000000000
+01101000010010000100000001000100
+10011000010000001111111000000000
+01101000010000100100000101010110
+10011000010001100111111000000000
+00011111111100000110000000000000
+01000100110101001100000000010101
+01101111111001000100000001001110
+00011111111000110111111000000000
+00100000010000000111110100101011
+00011110000000100111111000000000
+00100000010000000111110100010100
+00011011010000100000010000000000
+00100000010000000111110100010010
+00100000011101000000000000000000
+00100000010000000111110100100100
+01000100110101010100000000010101
+01101111111000100100000101111001
+10011000010001100111110000000000
+00100000001000010100101011111001
+01100000010010000100000101011100
+00100000010000000100110011000001
+00100000010000000101011011010101
+01101000010010000100000101011100
+00100000001000000100101100000110
+01000100110101011100000000010101
+01101111111000100100000001000000
+11000011100000000000000000000000
+11000011100000011000000000000000
+01101111111000100100011000101100
+00100000001110100100101101111010
+01101111111000100100010110000011
+00100000011110100000000000000000
+01000100110101100100000000010101
+01101111111000100100001101000000
+00100100001110100100101101111111
+01101111111000100100000010010011
+00100000011110100000000000000000
+01101111111001000100000101010100
+00100000011110100000000000000000
+01101000010000100100000101010110
+10011000010001100111111000000000
+11011000010000000001110101001100
+10011000010011111111111000000000
+00100000001000000100101101101000
+01000100110101101100000000010101
+01111000010101011111110000000000
+01101111111000100000000000110000
+11000100000000001000000000000000
+00100100001101101100101110100101
+00100000010000000100101110100000
+01101111111001000100000011000001
+01100111111001000000000000111110
+01101111111000100000000001000111
+11000010100000011100101110110011
+11000101100001101100101110110011
+00100000010000000101011001001110
+00100100001110100100101110110011
+01101111111000100100010100101110
+11000010100000001100101110110011
+01110000000000001010000000000000
+11000101100001101100101110110011
+01101111111000100100000101110101
+00100000001110100100101110110111
+00011111111000001111111111111111
+01100111111000100100000101110101
+00100000011000000000000000000000
+11011000111000000000000000000001
+00100000001000000110010010101111
+11011000111000000000000000000001
+00100000001000000110010010110011
+01110000010000010101101000000000
+01101111111001100100000101101010
+00011111111000001111111000000001
+01100111111001100100000101101010
+00100000011000000000000000000000
+01000100110101110100000000010101
+01101000010001000100000011000001
+00011000010000110000010000000000
+01101111111001000000000000111110
+10011000010000001111111000000000
+01100111111001000000000000111110
+01110000000000001010000000000000
+01101111111001100100000101101101
+00011111111000001111111000000001
+01100111111001100100000101101101
+01101111111000100100000101011010
+00011111111000001111111000000001
+01100111111000100100000101011010
+00100000011000000000000000000000
+01110000000000001010000000000000
+01101111111000100100000101110100
+01100111111000100100000101110101
+00100000011000000000000000000000
+01101000010000100100000101110011
+01100000010000100000000010100000
+00100000011000000000000000000000
+01000100110101111100000000010101
+01101111111000100100000101111001
+00100100011110100000000000000000
+01110000100000000100001000000110
+01011000000000000000111100001100
+00100000010000000100101111010010
+01011000000000110000110101000000
+00100000010000000100101010001110
+00110111110110011000001000000000
+00011110001000100110000000000000
+00100000010000000100100111100110
+01110000100000000100001000000100
+00100000000000000000000000001010
+00110111110110011000001000000000
+00011110001000100111111000000000
+10011110000001100111111000000000
+00011111111000001111111000110000
+11011000010000000000000011111111
+00100000010000000111110101101100
+01100111111000100100000101111001
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+11011000101000000000111111111111
+10011000101000010000101000000000
+01101111111000100100000101110110
+00011111111000010111111011110000
+00011111111011010111111000000000
+10011000101000011111111000000000
+01100111111001001000000001001100
+11101111111001000000000000000110
+11100111111001000000000000000101
+01011000000000000000000000000001
+00100000001000000100101111011110
+01011000000000000000000000000010
+01100111111000101000000000000101
+00110111110110011000001000000000
+00110111110110011000001000000000
+00110111110110011000001000000000
+00100000011000000000000000000000
+01000100110110000100000000010110
+01101111111010000000000010100001
+01100111111010001000000001001100
+01011000000000000000000000000100
+00100000010000000100101111011110
+11101111111001000000000000000110
+01100111111010001000000001001100
+01011000000000000000000000001000
+00100000001000000100101111011110
+01101111111001000100000101010010
+11111001001000000111111000000000
+01100111111001000100000101010010
+00100000011000000000000000000000
+01101111111001000100000101010010
+11111001001111111111111000000000
+01100111111001000100000101010010
+00100000011000000000000000000000
+01000100110110001100000000010110
+00100000010000000100110010111111
+01101111111001000100000101010010
+00011111111000100010001000000000
+01101111111000100000000001001100
+00101111111011111111111000000110
+01111001001000001010001000001011
+01101111111000100000000001111000
+01101000010000100000000001111100
+10011000010000001111111000000000
+01101000010000100000000001001000
+10011000010000001111111000000000
+01111101001110100010001000001010
+01101111111000100100010011010001
+01111101001110100010001000000001
+01101111111001000000001001011001
+01101000010001000000001001011011
+10011000010000001111111000000000
+01111101001110100010001000001101
+01101111111100000100011000111010
+01111101001110100010001000001111
+01101111111100000100011001000010
+01111101001110100010001000001110
+01101111111001000100111111110100
+01101000010001000100111111110110
+10011000010001100111110000000000
+01111101001000101010001000000101
+01101111111001000100111111111100
+01101000010001000100111111111110
+10011000010001100111110000000000
+01111101001000101010001000000110
+01101111111000101000000001000011
+00101111111011111111111000000111
+01111001001000001010001000000010
+01101111111000100100000111001111
+01111101001110100010001000001000
+00011010001000100111111000000000
+01100111111001000100000101010010
+00100000011000000000000000000000
+01101111111010001000000100011100
+01111001001111111111111000011011
+01100111111010001000000001001100
+00100000010000000100101111011011
+00100000001000000100101010001011
+01101111111010001000000100100100
+01111001001111111111111000010100
+01100111111010001000000001001100
+00100000001000000100101111011101
+01101111111001000100000101010000
+11000010100000000100101010001011
+00100000011000000000000000000000
+01101111111001000100000101010000
+11000010100000001100101010001011
+00100000011000000000000000000000
+01101111111001000100000101010000
+11000010100000010100101010001011
+00100000011000000000000000000000
+01011000000000000100110000110101
+01100111111001000100000111110010
+01011000000000000100110001100100
+01100111111001000100000111110110
+01011000000000000100110000110101
+01100111111001000100000111110100
+00100000011101011000000000000000
+00100000011000000000000000000000
+01101111111000100000000000110000
+11000011000000001100110000111011
+01111001001000000000000000001101
+01101111111011000100000101101010
+01100111111011000100010011101000
+00100000011000000000000000000000
+01101111111000100000000101001111
+11000100000000010000000000000000
+01101111111000100000000101011010
+00011111111000001111111000000001
+01100111111000100000000101011010
+11000001100000101000000000000000
+01110000000000010101101000000000
+01101111111000100000000101001111
+01111001001111111111111000000010
+01100111111000100000000101001111
+11000010100000011100110001011100
+00101111111011111111111000000111
+00100000010000001111110110001000
+00100100010000001111110110001100
+01101111111000100000000101010110
+00101111111000000110000000100000
+01101111111000100000000001001100
+01111001001000001111111000000101
+01100111111000100000000001001100
+01101111111000100000000101001111
+01101000010000100000000101111101
+00101111111011111111111000000100
+01111001001000001000010000000110
+00101111111011111111111000000110
+01111001001000001000010000000100
+01111001001000001000010000000101
+01100000010000100000000101111101
+01101111111000100000000101010010
+01100111111000100000010011000111
+01101111111000100000000101010011
+01100111111000100000010011001000
+01111001001000000000000000010001
+00100000011000000000000000000000
+01111001001111111000000000010001
+01110000000000010100111100000000
+01101111111000100000000101011001
+01100111111000100000000101111101
+01101111111000101000000001000011
+00011111111000010111111011111011
+01100111111000101000000001000011
+00100000011000000000000000000000
+00011010011000100111111000000000
+11000001100010000000000000000000
+00100000011000000000000000000000
+11000000000000001100110001100110
+00100000001000000100101011111110
+00011000000000000000010000000010
+00011000010000001000010111111110
+00100000010000000100100100010101
+00100000010000000100100100110000
+01111000010000111111110000000000
+01111000001011101111110000000000
+01111001001000000010101000000000
+00100000010000000100101001010000
+01101111111000100000000000000000
+00001000000000001000011000001000
+00100000001000000100110001110001
+01101111111000101000000100001000
+11000011000000010100110001110100
+00100000011000000000000000000000
+01000100110110010100000000010110
+01101111111000100100000010010010
+00100000001110100100110001110111
+11000000000001010100110110010101
+00100000011000000000000000000000
+01000100110110011100000000010110
+01110000000000010100111100000000
+01110000000000010111110100000000
+01110000000000010111111000000000
+01011000000000000000000000000000
+01100111111010100000100110101010
+01101111111000100100000010010010
+00100000001110100100110001111100
+11000000000001010100110110111010
+00100000011000000000000000000000
+00100000010000000111101110000100
+00100000010000000111101111000001
+00100000010000000100110010001111
+01101111111001000100000111110100
+00100000001000000111110101110111
+01101111111001000100000111110010
+00100000001000000111110101110111
+01101111111001000100000111110000
+00100000001000000111110101110111
+01000100110110100100000000010110
+11011010001000000100011000111010
+00100000010000000111110110011100
+00100000011110100000000000000000
+00011111111000100010011000000000
+00100000010000000100110010011000
+00100000001000000100110010111101
+11011010011000000000000000000000
+00100000011000000000000000000000
+11000000000000001100110010101010
+11000000000010000100110011110000
+11000000000000101100110011001110
+11000000000010010100110011010101
+11000000000000110100110011101100
+11000000000000100100110100011111
+11000000000000010100110100100100
+11000000000010011100110100011111
+11000000000010100100110011100100
+11000000000010101100110011101000
+11000000000000011100110011000111
+11000000000001011100110011011001
+11000000000001100100110011100000
+11000000000010110100110011110100
+11000000000011000100110011000011
+11000000000101010100110010110011
+11000000000101011100110010110001
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001000000111111000000000
+01100111111001000100011001010010
+01101111111001000100001000001001
+01111001001111111111111000000000
+01100111111001000100001000001001
+00100000011000000000000000000000
+01110000000000100010011100000000
+00100000011000000000000000000000
+01101111111000100000001000100111
+00011111111000001111111000000001
+01100111111000100000001000100111
+00011111111001100111110000000001
+00100000001000010100110101011010
+01110000000000100010011100000000
+01101111111001000100001000001001
+01111001001000000111111000001001
+01100111111001000100001000001001
+00100000001000000100110101100100
+01101111111001000100000111110110
+00100000001000000111110101110111
+01101111111001000100000111101010
+00100000001000000111110101110111
+01101111111001000100000111101110
+00100000001000000111110101110111
+01101111111001000100001000001001
+01111001001000000111111000000001
+01100111111001000100001000001001
+00100000001000000100110110001101
+01101111111001000100011001010010
+01111001001000000111111000000111
+01100111111001000100011001010010
+01101111111001000100001000001001
+01111001001000000111111000000010
+01100111111001000100001000001001
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001000000111111000000001
+01100111111001000100011001010010
+01101111111001000100001000001001
+01111001001000000111111000000100
+01100111111001000100001000001001
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001000000111111000000011
+01100111111001000100011001010010
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001000000111111000000101
+01100111111001000100011001010010
+01101111111001000100001000001001
+01111001001000000111111000000011
+01100111111001000100001000001001
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001111111111111000000101
+01100111111001000100011001010010
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001000000111111000001001
+01100111111001000100011001010010
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001111111111111000001001
+01100111111001000100011001010010
+00100000001000000100110110010011
+01101111111001000100011001010010
+01111001001000000111111000000010
+01100111111001000100011001010010
+00100000011000000000000000000000
+01101111111001000100001000001001
+01111001001000000111111000000000
+01100111111001000100001000001001
+00100000011000000000000000000000
+01101111111001000100001000001001
+01111001001000000111111000001000
+01100111111001000100001000001001
+00100000001000000100110101100100
+01000100110110101100000000010110
+01100111111000100000001000101000
+01101111111000100000001000101000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111000100000001000101000
+00100000010000000100110101010001
+00100000010000000100110100010010
+00100000010000000100110100011000
+01101111111001000100000111111110
+00100000010000000111110101110111
+00100000001000000100110011111010
+11101111111000100000000000010011
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100111111000100000000000010011
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111110101110111
+11101111111001000000000000010011
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100111111001000000000000010011
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111110101110111
+11011010011000000100001000000100
+11011010010000000100110100010101
+00100000001000000100110100000100
+00100000010000000100001001001110
+00100000001000101100110110001001
+00100000011000000000000000000000
+11011010011000000100011001001110
+11011010010000000100110100011011
+00100000001000000100110100001011
+00100000010000000100110101101011
+00100000010000000100110110000011
+01101111111001000100000111111000
+00100000001000000111110101110111
+00100000010000000100110100110111
+01101111111001000100011001010010
+01111001001111111111111000000111
+01100111111001000100011001010010
+00100000011000000000000000000000
+01110000010000100000010000000000
+01101111111001000100011001010010
+11000010100000111100110100101001
+00101111111011000000000000000001
+00100000010000001100110010010110
+01000100110110110100000000010110
+01101111111001000100011001010010
+01111001001111111111111000000000
+01111001001111111111111000000001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01111001001111111111111000000111
+01100111111001000100011001010010
+00100000001000000100110110010011
+00100000010000000100110100110100
+00100000001000000100110110000101
+01011000000000000000000000000000
+01100111111001000100001000000111
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100111111001000100001000001001
+00100000011000000000000000000000
+01101111111001000100001000001001
+01100111111001000100001000000111
+01011000000000000000000000000000
+01100111111001000100001000001001
+00100000011000000000000000000000
+01101111111001000100001000001001
+01111001001000000111111000000111
+01100111111001000100001000000111
+01011000000000000000000000000000
+01100111111001000100001000001001
+00100000011000000000000000000000
+01101111111000100100011001010010
+00101111111011111111111000000101
+00100000011000000000000000000000
+01101111111000100100010100101100
+01100111111000100100001000000100
+00100000011000000000000000000000
+11011000111000000000000000001001
+00100000001000000100101111101100
+11011000111000000000000000001001
+00100000001000000100101111110000
+01110000010000100000010100000101
+00100000001000000100110101001011
+11011010011000000100001000000101
+11011010010000000100110101001101
+00100000001000000100110100000100
+01110000010000110011010100000001
+00100000011000000000000000000000
+01110000010000110011010100000000
+00100000011000000000000000000000
+01110000000010101001010100001010
+00100000001000000111101110110100
+01110000000010101001010100011101
+00100000001000000111101110110100
+01000100110110111100000000010110
+01101111111000100100001000000110
+01100111111000100000000101101011
+01110000000000100010011000000001
+01110000000010101001010100000011
+00100000001000000111101110110100
+01110000000010101001010100011110
+00100000001000000111101110110100
+01110000000010101001010100000100
+00100000001000000111101110110100
+01101111111001000100011001010101
+01100111111001000100011001001110
+00100000010000000100110101111111
+01110000000010101001010100000001
+00100000001000000111101110110100
+01011000000000000000000000000000
+01100111111001000100011001001110
+01110000000010101001010100000010
+00100000001000000111101110110100
+01110000000010101001010100001111
+00100000001000000111101110110100
+01110000000010101001010100010000
+00100000001000000111101110110100
+01110000000010101001010100001110
+00100000001000000111101110110100
+01110000000010101001010100001101
+00100000001000000111101110110100
+01110000000010101001010100010111
+00100000001000000111101110110100
+01110000000010101001010100011000
+00100000001000000111101110110100
+01110000000010101001010100010110
+00100000001000000111101110110100
+01110000000010101001010100010001
+00100000001000000111101110110100
+01110000000010101001010100010101
+00100000001000000111101110110100
+01110000000010101001010100010100
+00100000001000000111101110110100
+01110000000010101001010100010011
+00100000001000000111101110110100
+01110000000010101001010100011001
+00100000001000000111101110110100
+01110000000010101001010100000110
+00100000001000000111101110110100
+01110000000010101001010100000101
+00100000001000000111101110110100
+01110000000010101001010100011111
+00100000001000000111101110110100
+01110000000010101001010100100000
+00100000001000000111101110110100
+01110000000010101001010100100101
+00100000001000000111101110110100
+01111001001000000000000000001101
+00100000011000000000000000000000
+01111001001111111000000000001101
+00100000011000000000000000000000
+00100000011101011000000000000000
+00100000010000000101101110000011
+01011000000000000100110111011010
+01100111111001000100000111110100
+01011000000000000100110111000101
+01100111111001000100000111110010
+01011000000000000100110111011110
+01100111111001000100000111110110
+01011000000000000100110111000100
+01100111111001000100000111110000
+01011000000000000100110110111101
+01100111111001000100000111101010
+01011000000000000100111011110100
+01100111111001000100000111111100
+01011000000000000101000000110111
+01100111111001000100010101000001
+01011000000000000101000010101110
+01100111111001000100000111111010
+01011000000000000101000011000011
+01100111111001000100000111111110
+00100000010000000100110111010111
+01000100110111000100000000010111
+00100000010000000100110110101111
+00100000010000000100110110111100
+00100000010000000100110000101010
+00100000001000000101000001001101
+01101111111001000100111111111010
+01100111111001001000000001000110
+01101111111001000100111111111000
+01100111111001001000000001000100
+00011111111000100000011000000000
+01101111111001000100111111110010
+01100111111001001000000001001010
+01101111111001000100111111110000
+01100111111001001000000001001000
+00011111111000100001010000000000
+00100000011000000000000000000000
+00100000010000000100110110101111
+00100000001000000100110111010111
+00100000011000000000000000000000
+01101111111000100100111111101111
+11000000000000001100110101001011
+01101111111000100100010010010110
+11000000100000000100110111000010
+00100000001000000100110101001101
+11000000011111111100110101001101
+00100000001000000100110101001011
+00100000011000000000000000000000
+00100000010000000100110111000111
+00100000001000000101000011010011
+00100000011000000000000000000000
+01101111111000100100011001010010
+11000011000000100100110111010111
+01000100110111001100000000010111
+01011000000000000011111011111111
+01101000010010000100011001111111
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01101111111001000100011001010010
+11000010100000101100110111010111
+01101111111000100100011001111001
+11000011100000110000000000000000
+00100000010000000101000011010110
+00100000010000000100110110001001
+00011100010000100111111000000000
+01100111111010000100011001111111
+00100000011000000000000000000000
+00100000010000000101000011010011
+00100000010000000101011001001000
+00100100011110100000000000000000
+00100000001000000100111000111101
+00011010011000100111111000000000
+11000000000000001100111000101100
+11000000000000010100110111111011
+11000000000000100100111000101111
+11000000000000101100111000011101
+11000000000001000100111000000010
+11000000000001001100111000001000
+11000000000001010100111000100010
+11000000000001011100111000001101
+11000000000001100100111000011011
+11000000000010011100111000101111
+11000000000010100100111000101000
+11000000000010101100111000011111
+11000000000100001100111000100011
+11000000000100011100111000100100
+11000000000100100100111000100111
+11000000000110000101000010001000
+11000000000110001101000010001010
+11000000000110010101000010011000
+11000000000110011101000010010110
+11000000000110100101000010000010
+11000000000110101101000001111000
+11000000000110110101000010000000
+11000000000110111101000010001100
+11000000000111000101000010001110
+11000000000111011101000010011111
+11000000000111101101000001101111
+11000000001000001100111000110000
+00100000011000000000000000000000
+00100000010000000100110111010111
+01101111111000100100011000110111
+00100100010110100101000010001100
+00100000010000000100111000101111
+01101111111001000100011001010010
+11000100000000100000000000000000
+00100000001000000100111000001000
+01101111111001000100011001010010
+01111001001000000111111000000100
+01100111111001000100011001010010
+01101111111000100100011001101101
+01100111111000100100000101110011
+00100000001000000101000000100010
+01101111111001000100011001010010
+11000100000000100000000000000000
+01111001001111111111111000000100
+01100111111001000100011001010010
+00100000001000000101000000100110
+00100000010000000100110111010111
+01101111111001000100000001000010
+00011111111000110111111000000000
+01101000010001000100000111100100
+10011000010001100111110000000000
+00100100001000101100111000010100
+00100000001000000100110110010001
+01101111111000100100011001111001
+11000011100000101000000000000000
+01101111111001000100111111111100
+01101000010001000100111111111110
+10011000010001100111110000000000
+00100100010000101101000011011010
+00100000001000000100110110000111
+00100000010000000101000011011000
+00100000001000000100110110010011
+00100000010000000100110111010111
+00100000001000000100111000110010
+00100000010000000101101111110110
+00100000010000000100111000101111
+00100000001000000101000000101000
+00100000001000000100110101011000
+00100000001000000101000011011000
+01101111111000100100011001111001
+11000011000000101100110110001001
+00100000001000000101000011011100
+00100000001000000101000011011100
+00100000010000000100111000110010
+01101111111000100100011001101110
+01100111111000100100000101110011
+00100000001000000101000000100100
+01110000010001100011001100000000
+00100000010000000101000011011000
+00100000001000000101000011011100
+00100000001000000100111010001111
+00100000010000000110000010101010
+00100000001000000101111011100010
+00100000001000000100111000110011
+01101111111000100100011001101100
+00101111111011111111111000000000
+00100000010000001100110101101011
+01101111111000100100011001101100
+00101111111011111111111000000001
+00100000010000001100110101110011
+00100000011000000000000000000000
+01101111111000100100010100111101
+11000001000000000000000000000000
+00100000001000000110101011101001
+01101111111001000100111111111100
+01101000010001000100111111111110
+10011000010001100111110000000000
+00100000001000101100111000111010
+00100000010000000110011111110111
+11101111111000100000000000000011
+11000000100000001100111001001110
+11101111111000100000000000000011
+01100111111000100000101011111111
+11101000010000100000000000000011
+00011000011000100010001000000000
+01100000010000100000101100000000
+01110000000010110000000100000001
+00100000010000000100111001011010
+01101111111000100000101100000001
+11000001000000000000000000000000
+00100000001000000100111001010101
+00100000010000000111110010011100
+00100000010000000101000001111110
+00100000001000000100111001010001
+01000100110111010100000000010111
+01101111111001000100111111111110
+01100111111001000100111111111100
+00100000011000000000000000000000
+00100000010000000110011111110111
+00011000011000001000011000000010
+11101111111000100000000000000011
+10011000011000001000011000000000
+00100000001000000110011111110011
+01000100110111011100000000010111
+01101111111000100000101011111111
+11000000000000000100111001111100
+11000000000000001100111010000001
+11000000000000010100111010000110
+11000000000000011100111010011100
+11000000000000100100111010101000
+11000000000000101100111010110010
+11000000000001001100111011010111
+11000000000001011100111100010100
+11000000000001100100111100010101
+11000000000001101100111100101001
+11000000000010000100111100110001
+11000000000010001100111100111001
+11000000000010010100111100111101
+11000000000100110100111101000001
+11000000000101000100111101001000
+11000000000101001100111101011000
+11000000000101010100111101100001
+11000000000110000100111110010100
+11000000000110011100111110011010
+11000000000110100100111110111101
+11000000000110101100111111000110
+11000000000110110100111111001111
+11000000000110111100111111011001
+11000000000111000100111111011100
+11000000001000010100111111100100
+11000000001001000100111111101001
+11000000001001001100111111110100
+11000000001010001100111111111010
+11000000001100001100111111111101
+11000000011111111101000000001100
+11000000011101110101000000001111
+00100000001000000101000000011100
+01101111111000100000101100000000
+11000000100000110101000000011100
+11101111111011000000000000000011
+01100111111011000100000010100000
+00100000001000000101000000011111
+01101111111000100000101100000000
+11000000100000110101000000011100
+11101111111011000000000000000011
+01100111111011000100010001110010
+00100000001000000101000000011111
+01101111111000100000101100000000
+11000000100000001101000000011100
+00011010001000100000011000000000
+00100000010000000101000000011111
+11101000010000100000000000000011
+01100000010000100100011001101111
+01101111111001000100011001010010
+11000011100001001000000000000000
+11000011100000000000000000000000
+01101111111000100100011001101100
+00101111111011111111111000000000
+00100100001000001100111010010101
+01101000010000100100011001101111
+00011000010000010111111000000011
+01100111111000100100000010010011
+01101111111000100100011001101100
+00101111111011111111111000000001
+00100100011000001000000000000000
+01101000010000100100011001101111
+00101000010011111111111000000010
+00100000001000001100110101110101
+00100000001000000100110101110011
+01101111111000100000101100000000
+00011111111001100111110001000011
+00100100001000010101000000011100
+01100111111000100100010011100111
+11011111001000000000000000001000
+00100000010000000111110010100001
+01101111111000100000101100000000
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100010011101000
+00100000010000000110011111011010
+00100000001000000101000000011111
+01101111111000100000101100000000
+00011111111001100111110000011101
+00100100001000010101000000011100
+01100111111000100100001110000001
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001110000010
+00100000010000000110011111011010
+00100000010000000101101110000011
+00100000001000000101000000011111
+01101111111000100100011001010010
+11000011000000100101000000011100
+00100000010000000100110101000101
+00100000001000001100111011000011
+01110000000010110000000100000000
+00100000010000000100110111010111
+01101111111000100100010100111010
+00100000011110100000000000000000
+01101111111001000100010101000101
+11000000100000000100111011000001
+01101111111000100000101100000000
+01100111111001000100010101000101
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100111111001000100010101000011
+00100000010000000100111011000101
+00100000001000000110101100001100
+01110000000010110000000100000000
+00100000001000000101000010111101
+00100000010000000100111011001011
+01101111111001000100010101000101
+01101000010001000100011001101010
+10011000010001100111111000000000
+01100111111001000100010101000101
+00100000011000000000000000000000
+01101111111001000100010101000101
+11011000010000000000000011100110
+00100000010000000111110110110101
+01101000010001000100010100111110
+00100000010000000111110110110101
+01101000010001000100010100110000
+00100000010000000111110110110101
+01100111111001000100011001101010
+00100000011000000000000000000000
+01110000000010110000000100000001
+01110000000010101111111100000101
+00100000001000000101000000011111
+01101111111001000100011001010010
+11000011000001001101000000011100
+00100000010000000100111100010001
+00100000001101000101000000011100
+01110000000010110000000100000000
+01101111111000100100011001111001
+11000010100000100100111011110001
+01101111111000100100011001111010
+00100100011110100000000000000000
+01110000000010110000000100000001
+11101111111001000000000000000011
+01100111111001000100011001111011
+00011000011000100111111000000000
+01100111111001000100011001111101
+01101111111000100000101100000000
+00011111111000001111111111111110
+00100100001000010101000000011100
+00100000001000101101000000011100
+01100111111000100100011001111010
+01110000000010110000000100000000
+00100000010000000101101111110100
+00100000010000000100111011110100
+00100000010000000100111011110100
+00100000010000000100111011110100
+01101111111000100100011001111001
+11000100000000100000000000000000
+01110000000010110000000100000001
+00100000010000000101000011100000
+00100000001000000101000000011111
+01101111111000100100011001111010
+00100000011110100000000000000000
+00100000010000000101110001110010
+00100100011110100000000000000000
+00100000010000000100111100001100
+01000100110111100100000000010111
+00011000010000001111111111111101
+01101000010000100100011001111010
+00100000010000000111110110110101
+00011111111000100010001000000000
+00011000010000100111111000000000
+10011010001001100111111000000000
+01100111111000100100011001111010
+01101000010001000100011001111011
+00100000010000000101111001000100
+01101111111001000100011001111101
+00011111111000100000011000000000
+00011010001000100111001000000000
+00100000010000000110011111011010
+00011000011000100111111000000000
+01100111111001000100011001111101
+01101111111000100100011001111010
+00100100011110100000000000000000
+00100000001000000101000011011110
+11011000010000000000000000010111
+01101111111000100100011001111001
+11000011100000001000000000000000
+01101000010001000100010001111010
+00100000011000000000000000000000
+01101111111000100100011001111001
+11000010100000010101111000100010
+00100000001000000111110111000001
+00100000001000000101000001010001
+00011010001000100000011000000000
+11101111111000100000000000000011
+11000000000000000100111100011100
+11000000000000001100111100011111
+11000000000000010100111100100101
+11000000000000011100111100100111
+00100000001000000101000000011100
+00100000010000000110010100001101
+01110000010001100010110000000000
+00100000001000000101000000011111
+01011000000001000000000000000011
+01100111111001100100011000101101
+01100111111000100100011000110100
+00100000010000000110010100000110
+01110000010001100010110000000001
+00100000001000000101000000011111
+01011000000001000000000000000010
+00100000001000000100111100100000
+01011000000001000000000000000001
+00100000001000000100111100100000
+01101111111000100000101100000000
+00011111111001100111110000010000
+00100100001000010101000000011100
+01100111111000100100011001010111
+00011111111000100111001000000000
+11011000101000000100011001011000
+00100000010000000110011111101101
+00100000001000000101000000011111
+11011010001000000000000000000010
+11011010010000000100011001101000
+11011000010000000000000000000000
+00100000001000000101000000101010
+01100111111001000000101010111110
+11011010010000000000101010111110
+11011000010000000000000000000000
+00100000001000000101000000101010
+01101111111001000100011001010010
+11000011000000000101000000011100
+00100000010000000101000000011111
+00100000001000000100110101100100
+01101111111001000100011001010010
+11000011000001001101000000011100
+00100000010000000101000000011111
+00100000001000000100110101111101
+01101111111000100000101100000000
+00011111111000100111001000000000
+00011010001000100000011000000000
+01101111111001000100001000010100
+00011111111000100000101000000000
+00100000010000000110011111011010
+00100000001000000101000000011111
+01101111111000100100011001010010
+11000011000000000101000000011100
+11101111111000100000000000000011
+01101000010000100100011000110011
+01111001001110100000010000000000
+01111001001000000000010000000111
+01100000010000100100011000110011
+00100000010000000101000000011111
+01101111111000100100011000110011
+11000010100000110100111101010110
+00100000011000000000000000000000
+01110000010001100011001100000000
+01110000000010101001010100100001
+00100000001000000111101110110100
+11000010100000000110001101110111
+00100000001000000100111101010011
+01101111111000100100011001010010
+11000100000000100000000000000000
+01101111111000100100010100111101
+11000001000000000000000000000000
+11101111111000100000000000000011
+01101000010000100100010100111011
+10011000010000001000010000000000
+01100000010000100100010100111011
+00100000011000000000000000000000
+11011111001000000000000001000000
+11011000101000000100001101000001
+00100000010000000111110010101111
+01011000000000000000000000000000
+01100111111000100000101010101110
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100111111001000000101010110010
+00100000010000000100111110001111
+01101111111000100000101010101110
+01101000010000100000101010011110
+00011000010000001000010000000001
+10011000010000001111111000000000
+01100111111000100000101010101110
+00011111111001100111110000011111
+00100100001000010100111101111011
+01101000010000100100001101000001
+01011000000000000100001101000010
+10011000010000001111111000000000
+01100111111001000000101010110111
+01101000010000100000101010011110
+00011000010000001000010000000001
+01101111111000100100001101000001
+10011000010000001111111000000000
+01100111111000100100001101000001
+00100000001000000100111110000100
+01101000010000100100001101100001
+01011000000000000100001101100010
+10011000010000001111111000000000
+01100111111001000000101010110111
+01101000010000100000101010011110
+00011000010000001000010000000001
+01101111111000100100001101100001
+10011000010000001111111000000000
+01100111111000100100001101100001
+01101111111001000000101010110111
+00011111111000100000101000000000
+01101111111001000000101010110010
+00011111111000100000011000000000
+00011000010000100111001000000000
+00100000010000000110011111011010
+01101111111000100000101100000000
+01101000010000100000101010101110
+10011000010001100111110000000000
+00100100001000101100111101100111
+00100000001000000101000000011111
+11101111111000100000000000000011
+01100111111000100000101010011110
+11101111111000100000000000000011
+01100111111000100000101010101010
+00100000011000000000000000000000
+11101111111010000000000000000011
+01100111111010000100011001011000
+01110000010001100101011100000100
+01110000010001100011010100000000
+00100000010000000101000000011111
+00100000001000000110001100010011
+00011010001000100000011000000000
+11101111111000100000000000000011
+00011111111000100000010000000000
+11000000010000001100111110100101
+11000000010000010100111110101010
+11000000010000011100111110110000
+01100111111000100100010010011000
+11000000000000000100111110110101
+11000000000000001100111110111000
+11000000000000010100111110111010
+00100000001000000101000000011100
+01101111111000100100010010010000
+00100000001110100101000000011100
+01100000010000100100010010011000
+01110000010001000010100000001101
+00100000001000000100111110110110
+01101111111000100100010010010000
+00100000001110100101000000011100
+01100000010000100100010010011000
+01110000010001000010100000001101
+01110000010001000010011000000001
+00100000001000000101000000011111
+01101111111000100100010010010000
+00100000001110100101000000011100
+01100000010000100100010010011000
+01110000010001000010100000001101
+00100000001000000100111110111011
+01110000010001000010100000000000
+01110000010001000010011000000011
+00100000001000000101000000011111
+01110000010001000010100000000101
+00100000001000000100111110110110
+01110000010001000010100000000101
+01110000010001000010011000000000
+00100000001000000101000000011111
+01101111111000100000101100000000
+00011111111001100111110000011111
+00100100001000010101000000011100
+01100111111000100100001101000001
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001101000010
+00100000010000000110011111011010
+00100000001000000101000000011111
+01101111111000100000101100000000
+00011111111001100111110000011111
+00100100001000010101000000011100
+01100111111000100100001101100001
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001101100010
+00100000010000000110011111011010
+00100000001000000101000000011111
+01101111111001000100011001010010
+11000011000001001101000000011100
+01101111111000100000101100000000
+11000000100001000101000000011100
+00011010001000100000011000000000
+11101111111100000000000000000011
+01100111111100000100010001101000
+01110000000010101001010100010010
+00100000010000000111101110110100
+00100000001000000101000000011111
+11101111111001000000000000000011
+01100111111001000100010001010100
+00100000001000000101000000011111
+01101111111000100100010010011000
+00100000001110100101000000011100
+01101111111000100100010010010110
+11000000100000000101000000011100
+01101111111000100100010010010111
+11000000100000000101000000011100
+00100000010000000111110000111101
+00100000001000000101000000011111
+01101111111000100000101100000000
+11000000100000001101000000011100
+11101111111000100000000000000011
+01100111111000100100000111011111
+00100000001000000101000000011111
+11101111111000100000000000000011
+11000000000000001100111111110010
+01101111111000100100010010010011
+11000000000000011100111111110000
+11000000000000110100111111110000
+11000000000000111100111111110000
+00100000001000000101000000011100
+01110000010001001001010000000001
+00100000001000000101000000011111
+00100000010000000101111100110011
+00100000001000000101000000011111
+01101111111000100000101100000000
+11000000100000001101000000011100
+00100000010000000101000000011111
+11101111111000100000000000000011
+00100000001110100110010010101101
+00100000001000000110010010101011
+00100000010000000101000000011111
+01110000100000000001000000000001
+00100000001000000100101010001101
+01101111111000100000101100000000
+11000000000000000101000000011100
+11101111111000100000000000000011
+00100000001110100101000000001010
+01101111111000100000101100000000
+11000000100000101101000000011100
+11101111111010000000000000000011
+11011000010011110100001001000000
+10011000010001100111110000000000
+00100000001000010101000000011100
+01100111111010000100010010011001
+00100000010000000101101111101100
+00100000001000000101000000011111
+00100000010000000101101111101110
+00100000001000000101000000011111
+11101111111000100000000000000011
+01100111111000100100000010010001
+00100000001000000101000000011111
+01101111111000100000101100000000
+00100000010000000101000010100101
+01101111111000100000101100000000
+00011111111000100111001000000000
+00011010001000100000011000000000
+00100000010000000101000000010110
+00100000001000000110011110111001
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101111111000100000000000000011
+11100111111000100000000000001010
+11000010000000000101000000011000
+00100000011000000000000000000000
+11011000010000000000000000000001
+11011010001000000000000000000000
+00100000001000000101000000101010
+11011000010000000000000000000000
+11011010001000000000000000000000
+00100000001000000101000000101010
+01110000000010101111111100000000
+00100000001000000101000001001110
+01110000000010101111111100000010
+00100000001000000101000001001110
+01110000000010101111111100000011
+00100000001000000101000001001110
+01110000000010101111111100000101
+00100000001000000101000001001110
+01101111111000100000101011111111
+00011111111000100010011000000000
+01110000000010101111111100000110
+01011000000000000000000000000010
+10011010001000001111111000000000
+00100000010000000101000010100101
+00011010011000100111111000000000
+11100111111000100000000000001010
+11100000010000100000000000001010
+00011010001000100111001000000000
+00011010010000100000110000000000
+00100000010000000110011111010100
+00100000001000000110011110111001
+00100000010000000100110111010111
+01110000000010101111111100000111
+01101111111000100000010011111011
+00100000011110100000000000000000
+00100000010000000101000010100101
+01101111111000100000010011111011
+00011111111000100111001000000000
+01101111111001000000010011111101
+00011111111000100000110000000000
+00100000010000000110011111000001
+00100000001000000110011110111001
+01110000000010101111111100001000
+01101111111000100100011001110000
+00011111111000100111001000000000
+00011111111000001111111000000010
+00100000010000000101000010100101
+01101111111001000100011001110011
+11100111111001000000000000001010
+01101111111001000100011001110001
+00011111111000100000110000000000
+00100000010000000110011111000001
+00100000001000000110011110111001
+01110000000010101111111100001001
+01011000000000000000000000000000
+00100000010000000101000010100101
+00100000001000000110011110111001
+01110000000010101111111100001010
+01011000000000000000000000000001
+00100000010000000101000010100101
+00100000010000000101000001100010
+01101111111001000100011001010010
+11011000111000000000000000000010
+10101111111011111111111111111111
+01111001001000001000010000000011
+11011000111000000000000000001001
+10101111111011111111111111111111
+01111001001000001000010000000101
+01101111111000100100011001010010
+11011000111000000000000000000100
+10101111111011111111111111111111
+01111001001000001000010000000100
+11100000010000100000000000001010
+00100000001000000110011110111001
+11011000010000000000000000000000
+01101111111000100100000010010011
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000000
+11011000111000000000000000000001
+10101111111011111111111111111111
+01111001001000001000010000000001
+01101111111000100100001101000000
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000010
+00100000011000000000000000000000
+01110000000010101111111100001101
+01101111111000100100001000010110
+00011111111011111111111000100010
+00011111111000100111001000000000
+00100000010000000101000010100101
+01101111111001000100001000010100
+00011111111000100000110000000000
+00100000010000000110011111000001
+00100000001000000110011110111001
+01110000000010101111111100001110
+01011000000000000000000000000100
+00100000010000000101000010100101
+01101111111010000000100110110110
+11100111111010000000000000001010
+00100000001000000110011110111001
+01110000000010101111111100001111
+00100000001000000101000001001110
+01110000000010101111111100010000
+00100000001000000101000001001110
+01110000000010101111111100010001
+01011000000000000000000000000100
+00100000010000000101000010100101
+01101111111010000100010010011001
+11100111111010000000000000001010
+00100000001000000110011110111001
+11011010001000000000000110000000
+00100000001000000101000010001111
+11011010001000000000000010000000
+00100000001000000101000010001111
+11011010001000000000000100000001
+00100000001000000101000010001111
+11011010001000000000000000000001
+01110000010001100011001100000000
+01110000000010101111111100010100
+01011000000000000000000000000010
+00100000010000000101000010100101
+00011010001000100111111000000000
+11100111111001000000000000001010
+00100000001000000110011110111001
+11011010011000000000000000000000
+00100000001000000101000010011001
+11011010011000000000000000000001
+01110000000010101111111100010101
+01011000000000000000000000000001
+00100000010000000101000010100101
+00011010011000100111111000000000
+11100111111000100000000000001010
+00100000001000000110011110111001
+01110000000010101111111100011101
+01011000000000000000000000000100
+00100000010000000101000010100101
+01101111111010000000100110110110
+11100111111010000000000000001010
+00100000001000000110011110111001
+01110000000010101111111000000010
+01100111111000100000101100000000
+01100000010100000000101010011110
+01000100110111101100000000010111
+01101000010100000000101010011110
+00100000010000000110011110110101
+01101111111001100000101011111110
+11100111111001100000000000001010
+00100000011000000000000000000000
+00100000010000000100111100010001
+00100000011101000000000000000000
+00011010001000100111111000000000
+01100111111001000100011001110001
+00011010010000100111111000000000
+01100111111000100100011001110000
+01101111111001000000010001110100
+01101000010001000100011001110101
+10011000010001100111110000000000
+00100000001000101101000010111011
+01101000010001000100011001110111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01100111111001000100011001110011
+00100000001000000101000001000010
+01101111111000100100011001111001
+11000011100000101000000000000000
+00100000010000000101000011011010
+00100000001000000100110110000111
+01110000010000010111001100000010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101000011001011
+11011000010000000000001000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+10011010001001100111111000000000
+00011111111001100111111000000000
+00100000011000000000000000000000
+01101000010001000100111111110000
+01101111111001000100111111110010
+10011000010001100010001000000000
+01101000010001000100111111110100
+01101111111001000100111111110110
+10011000010001100111111000000000
+00100100010000010101000011001000
+00100000011000000000000000000000
+00100000010000000101000011000100
+00100000001000010100110101010100
+00100000001000000100110101010110
+11011000111000000000000000000110
+00100000001000000101000011100110
+11011000111000000000000000000110
+00100000001000000101000011100010
+11011000111000000000000000000101
+00100000001000000101000011100110
+11011000111000000000000000000101
+00100000001000000101000011100010
+11011000111000000000000000000100
+00100000001000000101000011100110
+11011000111000000000000000000100
+00100000001000000101000011100010
+01101111111000100100011001111001
+11111001001111111111111000000000
+01100111111000100100011001111001
+00100000011000000000000000000000
+01101111111000100100011001111001
+11111001001000000111111000000000
+01100111111000100100011001111001
+00100000011000000000000000000000
+01110000010000011100111100000000
+00100000011000000000000000000000
+01101111111011000100000111010001
+01101000010011000000000001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101111111000100000000001001011
+11000010100000010101000011110101
+00100000010000000110011011010001
+01110000000000000111110000001000
+00100000001000000101000011101010
+01111001001111111111111000000010
+01100111111000100000000001001011
+00100000010000000110001111100011
+01011000000000000000000000000000
+01111001001101001111111000000001
+01100111111000100000000001111111
+00100000001000000101000011101010
+00100000011000000000000000000000
+01110000000000000111110000010111
+11011000101000000000010011010101
+01011000000000000000000000000000
+00101101000011111111111000011011
+01111001001000001111111000000001
+11100111111000100000000000000101
+01011000000000000000000000000000
+11100111111001000000000000000101
+01101111111001000100000111100100
+11100111111001000000000000000101
+01101111111000100100000111100110
+11100111111001000000000000000101
+01101111111000100100000111101000
+11100111111001000000000000000101
+00100000001000000101000011101010
+01110000000000000111110000011000
+00100000001000000101000011101010
+01000100110111110100000000010111
+01101111111001000000001001100000
+00011111111000100000110000000000
+11101111111000100000000000000110
+00011111111000010000010000001111
+00011111111100011111111000000000
+11000000000001001101000100101101
+11000000000000111101000100101101
+11000000000001010101000100111001
+11000000000000101101000100100101
+11000000000000001101000100011010
+00100000011000000000000000000000
+00011000010000100111111000000000
+11000000000000101101000100011110
+11000000000000011101000100100100
+00100000011000000000000000000000
+01110000000010101001010100100111
+00100000010000000111101110101011
+01101111111000100100000010010010
+11000100000000110000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101000100111001
+11011010001000000000000000000001
+00100000010000000101000100111101
+01101111111001000100001000011110
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+11011010001000000000000000000001
+00100000010000000101000100111101
+01101111111001000100001000011110
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+01110000000010101000101000000001
+01101111111000100100001000100100
+01111001001000000111111000000110
+01100111111000100100001000100100
+01110000000010101001010100010010
+00100000001000000111101110101011
+11101111111000100000000000000110
+11000000000000001101000100111100
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101011000011010
+00011010001000100000010000000000
+01100000010000100000101010001010
+00011111111000100000101000000000
+00011010001000100111111000000000
+11100111111001000000000000000101
+00100000011000000000000000000000
+00100000001101011101000101001001
+01011000000000000100001100110111
+11011000101000000100001000011000
+10011000101001100111001000000000
+00100000010000000111110010101111
+01000100110111111100000000010111
+01011000000000000000010101001101
+11011000101000000000010100001101
+10011000101001100111001000000000
+00100000010000000111110010101111
+01011000000000000000001011000101
+11011000101000000000001001011001
+10011000101001100111001000000000
+00100000010000000111110010101111
+00100000001000000101011011110010
+01000100111000000100000000011000
+00011000110000100000010000000000
+00011000010000100000110000000000
+11101111111001000000000000000110
+01100111111001000000001001100010
+11101111111001000000000000000110
+01100111111001000000001001100100
+00011000110000100111111000000000
+01100111111001000000001001100000
+01101111111000100100011001010001
+11000000000000000101000101011111
+00100000001000000101010011001001
+01101111111001000000001001100010
+00100000001110100101000111010110
+01000100111000001100000000011000
+01101111111000100000001001100100
+11000000000000001101000101110111
+11000000001010000101000110111010
+11000000001010001101000111001111
+11000000001010010101000111001101
+11000000001010011101000111001101
+00100000001000000101000111010110
+01000100111000010100000000011000
+00100000010000000101011001011000
+01101111111000100100001000101000
+11000000000000000101000101110101
+11000000000000001101000101110101
+11000000000000010101000101110101
+11000000000000011101000101110101
+11000000010000001101000101110101
+11000000011000000101000101110101
+11000000010000000101000101110101
+11000000001000000101000101110101
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+00100000010000000101000101101001
+00100100011110100000000000000000
+00100000010000000101011010010010
+00100000010000000101000111011011
+01101000010001000000001001101011
+00100000001110100101000111010101
+00100000010000000101011010011011
+01101111111001000000001001101011
+11100111111001000000000000000101
+00011000000000000111111000000001
+11100111111001000000000000000101
+00100000001000000101000111010110
+01101111111000100100001100110110
+00100000011110100000000000000000
+00011111111000100010001000000000
+01000100111000011100000000011000
+01101111111010000000001011010001
+11011000010000000000000100000000
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01110000010000110011011000000000
+00011010001000100111111000000000
+11000000001010000101000110010001
+00100000001000000100101010001011
+11011001000000000000000000000000
+00100000010000000101011010010010
+00100000010000000101001001010100
+00100000010000000101011010011101
+00100000010000000111110010000011
+00100000010000000101001010000111
+00100000010000000101011010011011
+01011000000000000000000000001100
+11100111111001000000000000000101
+00011000000000000111111000000001
+11100111111001000000000000000101
+00100000001000000101000111010110
+01000100111000100100000000011000
+01101111111001000000001001110001
+00011111111000001111111000000100
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111000001000010000000001
+11011000110000000100001000110010
+11101111111001100000000000000110
+00100000011110100000000000000000
+01100111111001100000101010111110
+01101111111000100000101010111110
+00011111111000100010001000000000
+00100000010000000101000110101101
+00011010010000100111111000000000
+01100111111000100100001000110010
+00100000011000000000000000000000
+11011000111000000000000000000000
+11011010010000000000000000000000
+00011000111001100111110000000111
+00100100011000010000000000000000
+10101010001011111111111111111111
+00100000001000001101000110110100
+00100000001000000101000110111000
+00011000010000100111111000000000
+00100000001110100101000110111000
+11111001001000000010010000000000
+00011000010000001000010111111111
+00011000111000001000111000000001
+00100000001000000101000110101111
+00100000010000000101011001001110
+00100100011110100000000000000000
+00100000010000000101000101101001
+00100100011110100000000000000000
+00100000010000000101011010011111
+00100000010000000110110011010000
+00100000010000000101000110011101
+00100000001000000101000111000110
+00100000010000000101011001001110
+00100100011110100000000000000000
+00100000010000000101011010011111
+00100000010000000110110011010000
+00100000010000000101011010101000
+01101111111001000000001001110001
+00100000001110100101000111010101
+11100111111001000000000000000101
+01101111111001000100001000011010
+11100111111001000000000000000101
+00100000001000000101000111010110
+00100000010000000101000100001110
+00100000001000000101000111010110
+01000100111000101100000000011000
+01110000000000101000000000000000
+00100000010000000110100101001011
+01101111111000100000001010000000
+11000001000000001000000000000000
+00100000001000000101000111010110
+00100000010000000101011000111110
+01011000000000000000000000000000
+01100111111001000000001001100010
+01100111111001000000001001100100
+01110000000000100110011000000001
+00100000011000000000000000000000
+01000100111000110100000000011000
+00100000010000000101011010011101
+00011000000000000010010000000000
+01101111111001000000001001100010
+00011111111000100010011000000000
+01101111111001000000001001100000
+10011000000000000000110000000000
+00100000010000000101000111101010
+00011010011000100111111000000000
+00011010011000001010011111111100
+00011111111000001111111111111100
+00100100001110100101000111100010
+00011010010000100111111000000000
+01100111111001000000001001101011
+00100000011000000000000000000000
+01000100111000111100000000011000
+11101111111000100000000000000110
+11000000000000001101001000100011
+11000000000000010101001000101011
+11000000000000011101001010101111
+11000000000000100101001011011111
+11000000000000101101001101111100
+11000000000000110101001110100101
+11000000000000111101001111110101
+11000000000001000101010000101010
+11000000000001001101010000111010
+11000000000001010101000111111001
+11000000000001011101010000111011
+00100000010000000101010000111100
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+01011000000000000000000000001011
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+11101111111001000000000000000110
+11000000000000010101001000000111
+11000000000000011101001000001101
+00100000011000000000000000000000
+01011000000000100000000000001000
+11100111111011000000000000000101
+01011000000000000000001010000000
+11100111111010000000000000000101
+00011000000000000111111000001100
+00100000001000000101001000010010
+01011000000000110000000000001100
+11100111111011000000000000000101
+01011000000000000000000000000110
+11100111111100000000000000000101
+00011000000000000111111000010000
+10011010010000001010010000000000
+00100000001000000101000111111000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+11101111111001000000000000000110
+01100111111001000000101010011110
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000010000000101011010011101
+01011000000000000000000000001011
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+01101111111001000000101010011110
+00100000001000000101001000000100
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+10011000110000001000110000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000101000111111000
+00100000010000000111110010000011
+00100000010000000111110010001000
+11011001000000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+11101111111001000000000000000110
+00011111111000100000010000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+01000100111001000100000000011001
+00011000010000100111111000000000
+11000000000000001101001000111110
+11000000000000011101001001100000
+11000000000010001101001001101100
+11000000000010011101001001110111
+00100000010000000101010000111100
+00100000001000000101001010101110
+00100000010000000111110010000011
+11011000010000000000000001010000
+01101111111001000100001000011010
+00100100001110100101001010101000
+00011001011000100111111000000000
+01100111111001000100001000011010
+00011100010000100111111000000000
+01100111111010000000001011010001
+00100000010000000101001001001000
+00100000001000000101001010000011
+01100000010001000000001011001111
+00011001011000100111111000000000
+01100111111001000000001011000101
+00011010001000100111111000000000
+01100111111001000000001011000111
+00011010010000100111111000000000
+01100111111001000000001011001001
+00011010011000100111111000000000
+01100111111001000000001011001011
+00011000111000100111111000000000
+01100111111001000000001011001101
+00100000011000000000000000000000
+01101000010001000000001011001111
+01101111111001000000001011000101
+00011111111000100001011000000000
+01101111111001000000001011000111
+00011111111000100010001000000000
+01101111111001000000001011001001
+00011111111000100010010000000000
+01101111111001000000001011001011
+00011111111000100010011000000000
+01101111111001000000001011001101
+00011111111000100000111000000000
+00100000011000000000000000000000
+00100000010000000111110010000011
+01011000000000000000000001010001
+11011000010000000000000001010001
+01101111111001000100001000011100
+00100100001110100101001010101000
+00011001011000100111111000000000
+01100111111001000100001000011100
+01101111111000100100001000100011
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100111111000100100001000100011
+00100000001000000101001010001011
+00100000010000000111110010000011
+11011000010000000000000001010010
+01101111111001000100001000011110
+00100100001110100101001010101000
+00011001011000100111111000000000
+01100111111001000100001000011110
+01101111111000100100001000100100
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100111111000100100001000100100
+00100000001000000101001010001011
+00100000010000000111110010000011
+00011011010000100111111000000000
+11011000010000000000000001010011
+01101111111001000100001000100000
+00100100001110100101001010101000
+00011001011000100111111000000000
+01100111111001000100001000100000
+01101111111000100100001000100101
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100111111000100100001000100101
+00100000001000000101001010001011
+01011000000000000000000000000001
+01100111111001000000001001111001
+01110000010000110011011001010000
+00100000001000000101001010001101
+01101111111000100100001000100010
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100111111000100100001000100010
+01011000000000000000000000000000
+01100111111001000000001001111001
+01000100111001001100000000011001
+00100000010000000111110010001000
+01011000000000000000000000000011
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000000001000
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111001000000000000000101
+00011001011000100111111000000000
+11100111111001000000000000000101
+01101111111001000000001001111001
+11000000000000001101001010100011
+00101001000011000000000000000000
+00100000001000001101001010011110
+01011000000000000000000000000100
+11100111111001000000000000000101
+00011000000000000111111000000000
+11100111111001000000000000000101
+01011000000000000000000000001100
+00100000001000000101001010101010
+11100111111001000000000000000101
+00011000000000000111111000000010
+11100111111001000000000000000101
+01011000000000000000000000001100
+00100000001000000101001010101010
+01111001001000000001000000000000
+00100000001000000101001010001011
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000101001010101110
+00100000001000000101000111111000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+11101111111001000000000000000110
+00011111111000100000010000000000
+01000100111001010100000000011001
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101001011000111
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101001011001101
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101001011011001
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101001011010011
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100111111001000100001000011010
+01101111111000100100001000100010
+01111001001000000111111000000001
+01100111111000100100001000100010
+00100000001000000101000111111000
+00011001011000100111111000000000
+01100111111001000100001000011100
+01101111111000100100001000100011
+01111001001000000111111000000001
+01100111111000100100001000100011
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100111111001000100001000011110
+01101111111000100100001000100101
+01111001001000000111111000000001
+01100111111000100100001000100101
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100111111001000100001000100000
+01101111111000100100001000100100
+01111001001000000111111000000001
+01100111111000100100001000100100
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011111111000100000010000000000
+00011000010000100010001000000000
+01000100111001011100000000011001
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101001011110110
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101001100010100
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101001100000000
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101001100001010
+00100000001000000101010000111100
+00011000101000100001011000000000
+01101111111000100100001000100010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100010
+00011001011000100000101000000000
+11011001011000000000000001010000
+01101111111001000100001000011010
+00011111111000100000010000000000
+00100000001000000101001100011101
+00011000101000100001011000000000
+01101111111000100100001000100100
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100100
+00011001011000100000101000000000
+11011001011000000000000001010010
+01101111111001000100001000011110
+00011111111000100000010000000000
+00100000001000000101001100011101
+00011000101000100001011000000000
+01101111111000100100001000100101
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100101
+00011001011000100000101000000000
+11011001011000000000000001010011
+01101111111001000100001000100000
+00011111111000100000010000000000
+00100000001000000101001100011101
+00011000101000100001011000000000
+01101111111000100100001000100011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100011
+00011001011000100000101000000000
+11011001011000000000000001010001
+01101111111001000100001000011100
+00011111111000100000010000000000
+01000100111001100100000000011001
+01011000000000000000000000000101
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000000000110
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111001000000000000000101
+00011000000000000111111000000000
+11100111111001000000000000000101
+00011000000000000111111000000000
+11100111111001000000000000000101
+00011000000000000111111000001010
+10011010010000001010010000000000
+01100000010001000000001001111110
+00011000111000100111111000000000
+01100111111000100000001001111101
+00011000000000000111111001010000
+10101001011000011111111000000000
+00100000001000001101001100110011
+00011111111000001111111000000001
+00100000011000000000000000000000
+01111000010101000111110000000000
+11000011100000010000000000000000
+11000100000000000000000000000000
+11000100000000001000000000000000
+01111001001000000111111000000010
+00011000110000100000101000000000
+00011000101000001000101111111111
+11100111111000100000000000000101
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101111111000100100001000100010
+00100000010000000101001100110100
+00100100001101000101001101000101
+01110000000000100111110001010000
+01101111111001000100001000011010
+01100111111001000000001001111110
+00100000001000000101001101011001
+01101111111000100100001000100011
+00100000010000000101001100110100
+00100100001101000101001101001100
+01110000000000100111110001010001
+01101111111001000100001000011100
+01100111111001000000001001111110
+00100000001000000101001101011001
+01101111111000100100001000100100
+00100000010000000101001100110100
+00100100001101000101001101010011
+01110000000000100111110001010010
+01101111111001000100001000011110
+01100111111001000000001001111110
+00100000001000000101001101011001
+01101111111000100100001000100101
+00100000010000000101001100110100
+00100100011101000000000000000000
+01110000000000100111110001010011
+01101111111001000100001000100000
+01100111111001000000001001111110
+01000100111001101100000000011001
+00100000010000000101011000010100
+00100000010000000101011010010010
+00011000000000000010010000000000
+00100000010000000101011010011101
+00011000000000000111111000000100
+11100111111000100000000000000101
+01101111111000100100001000100111
+11100111111000100000000000000101
+01011000000000000000000000001000
+11100111111001000000000000000101
+01101111111001000000001001111110
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111001000000000000000101
+00011000000000000111111000000001
+11100111111000100000000000000101
+00011000000000000111111000000010
+11100111111000100000000000000101
+01101111111000100000001001111100
+11000000001010001101001101110001
+01011000000000000000000000110000
+11100111111001000000000000000101
+00100000001000000101001101110011
+01011000000000000000001111100011
+11100111111001000000000000000101
+11011000010000000000000000001100
+01100000010001000000001001101011
+00100000010000000101011010011011
+01101111111001000000001001101011
+11100111111001000000000000000101
+00011000000000000111111000000001
+11100111111001000000000000000101
+01110000000000100111110000000000
+00100000001000000101000111111000
+00011000110000001000110000000001
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+01000100111001110100000000011001
+01011000000000000000000001010000
+10011010001001100111110000000000
+00100000001000101101001110010100
+01011000000000000000000001010001
+10011010001001100111110000000000
+00100000001000101101001110011000
+01011000000000000000000001010010
+10011010001001100111110000000000
+00100000001000101101001110011100
+01011000000000000000000001010011
+10011010001001100111110000000000
+00100000001000101101001110100000
+00011000110000001000110000000010
+11101111111001000000000000000110
+10011000000000000111110000000000
+00100000001000000101000111111000
+01101111111000100100001000100010
+01111001001000000111111000000101
+01100111111000100100001000100010
+00100000001000000101000111111000
+01101111111000100100001000100011
+01111001001000000111111000000101
+01100111111000100100001000100011
+00100000001000000101000111111000
+01101111111000100100001000100100
+01111001001000000111111000000101
+01100111111000100100001000100100
+00100000001000000101000111111000
+01101111111000100100001000100101
+01111001001000000111111000000101
+01100111111000100100001000100101
+01110000000010101001010100000110
+00100000001000000111101110101011
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+00011010001000100000010000000000
+00100000010000000111110010000011
+01000100111001111100000000011001
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101001111001100
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101001111011100
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101001111000000
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101001111000110
+00100000010000000101010000111100
+00100000001000000101001111110001
+00011001011000100000010000000000
+01101111111001000100001000011110
+10011000010001100111110000000000
+00100000001000101101001111010010
+00100000010000000101010000111100
+00100000001000000101001111110001
+00011001011000100000010000000000
+01101111111001000100001000100000
+10011000010001100111110000000000
+00100000001000101101001111010100
+00100000010000000101010000111100
+00100000001000000101001111110001
+00011001011000100000010000000000
+01101111111001000100001000011010
+10011000010001100111110000000000
+00100000001000101101001111011000
+00100000010000000101010000111100
+00100000001000000101001111110001
+00100000010000000101010001010011
+00100000001000000101001111100100
+00100000010000000101010001011001
+01101111111001000100001000011110
+00100000001110100101001111100100
+00100000001000000101001111100100
+00100000010000000101010001001110
+01101111111000100000001010000100
+00100100001110100101001111100100
+00100000001000000101001111100100
+00011001011000100000010000000000
+01101111111001000100001000011100
+10011000010001100111110000000000
+00100000001000101101001111100010
+00100000010000000101010000111100
+00100000001000000101001111110001
+00100000010000000101010001001001
+00100000001000000101001111100100
+00100000010000000111110010001000
+01011000000000000000000000000111
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000000000100
+11100111111001000000000000000101
+00011010001000100111111000000000
+11100111111001000000000000000101
+00011001011000100111111000000000
+11100111111001000000000000000101
+00011000000000000111111000001000
+00100000001000000101001111110011
+00100000010000000111110010001000
+00100000001000000101001111110011
+10011010010000001010010000000000
+00100000001000000101000111111000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+11101111111001000000000000000110
+00011111111000100000010000000000
+00100000010000000111110010000011
+01000100111010000100000000011010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101010000001111
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101010000010101
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101010000011011
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101010000100001
+00100000010000000101010000111100
+00100000001000000101010000101001
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101111111001000100001000011010
+10011000010001100111110000000000
+00100000010000101101010001001110
+00100000001000000101010000100111
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101111111001000100001000011100
+10011000010001100111110000000000
+00100000010000101101010001001001
+00100000001000000101010000100111
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101111111001000100001000011110
+10011000010001100111110000000000
+00100000010000101101010001010011
+00100000001000000101010000100111
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101111111001000100001000100000
+10011000010001100111110000000000
+00100000010000101101010001011001
+00100000001000000101010000100111
+00100000010000000111110010001000
+00100000001000000101000111111000
+00100000001000000101000111111000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+10011000110000001000110000000000
+01011000000000000000000000001001
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+00011000000000000111111000000000
+11100111111001000000000000000101
+00011000000000000111111000000100
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000101000111111000
+00100000001000000101000111111000
+00100000001000000101000111111000
+00011000000000000010010000000000
+00100000010000000101011010011101
+01011000000000000000000000000001
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000000000010
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111001000000000000000101
+00011010010000001010010000000110
+11011010011000000000000000000100
+00100000001000000101000111111000
+01011000000000000000000000000000
+01100111111001000000001001110111
+01100111111001000100001000011100
+01110000010000100010001100000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100111111001000000001001110001
+01100111111001000100001000011010
+01110000010000100010001000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100111111001000100001000011110
+01110000010000100010010000000000
+01101111111000100100001000100101
+11000000000000000101010001011111
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100111111001000100001000100000
+01110000010000100010010100000000
+01101111111000100100001000100100
+11000000000000000101010001011111
+00100000011000000000000000000000
+01110000000010101001010100000111
+00100000001000000111101110101011
+01101111111000100000001001111011
+01111001001111111111111000000000
+01100111111000100000001001111011
+01101111111001000100001000100000
+00100000011110100000000000000000
+00100000010000000101011010010010
+01101111111001000100001000100000
+00011111111000100010001000000000
+00011000000000000010010001010011
+00100000001000000101010001110100
+01101111111000100000001001111011
+01111001001111111111111000000111
+01100111111000100000001001111011
+01101111111001000100001000011110
+00100000011110100000000000000000
+00100000010000000101011010010010
+01101111111001000100001000011110
+00011111111000100010001000000000
+00011000000000000010010001010010
+00100000010000000101011000010100
+00100000010000000101011010011101
+00011000000000000111111000000110
+11100111111000100000000000000101
+01101111111000100100001000100111
+11100111111000100000000000000101
+01011000000000000000000000000100
+11100111111001000000000000000101
+00011010001000100111111000000000
+11100111111001000000000000000101
+00011010010000100111111000000000
+11100111111001000000000000000101
+00011000000000000000010000001000
+00100000001000000101010010111000
+01000100111010001100000000011010
+00100000010000000101011000010100
+00100000010000000101011010011101
+01011000000000000000000000000010
+11100111111000100000000000000101
+01101111111000100100001000100111
+11100111111000100000000000000101
+01011000000000000000000000000100
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111001000000000000000101
+00011001011000100111111000000000
+11100111111001000000000000000101
+11011000010000000000000000001000
+00100000001000000101010010111000
+01000100111010010100000000011010
+00100000010000000101011000010100
+00100000010000000101011010011101
+01011000000000000000000000000100
+11100111111000100000000000000101
+01101111111000100100001000100111
+11100111111000100000000000000101
+01011000000000000000000000001000
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111001000000000000000101
+01011000000000000000000000000001
+11100111111000100000000000000101
+01011000000000000000000000000010
+11100111111000100000000000000101
+01011000000000000000001111100011
+11100111111001000000000000000101
+11011000010000000000000000001100
+00100000001000000101010010111000
+01000100111010011100000000011010
+00100000010000000101011000010100
+00100000010000000101011010011101
+01011000000000000000000000000110
+11100111111000100000000000000101
+01101111111000100100001000100111
+00011111111000001111111000000001
+00011000101000100010001000000000
+01100111111000100100001000100111
+00011010001000100000101000000000
+11100111111000100000000000000101
+01011000000000000000000000000100
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111001000000000000000101
+00011001011000100111111000000000
+11100111111001000000000000000101
+11011000010000000000000000001000
+01100000010001000000001001101011
+00011000010000100111111000000000
+00100000001110100101011000111110
+00100000010000000101011010011011
+01101111111001000000001001101011
+11100111111001000000000000000101
+00011000000000000111111000000001
+11100111111001000000000000000101
+00100000011000000000000000000000
+01101111111001000000001001110001
+00100000001110100100101010001011
+00100000010000000101011010101000
+01101111111001000000001001110001
+11100111111001000000000000000101
+01101111111001000100001000011010
+11100111111001000000000000000101
+00100000011000000000000000000000
+01101111111001000000001001100010
+00100000001110100101000111010110
+01000100111010100100000000011010
+01101111111000100000001001100100
+11000000000000001101010011010011
+11000000001010000101000111000010
+11000000001010001101000111001111
+11000000001010010101000111001101
+11000000001010011101000111001101
+00100000001000000101000111010110
+01000100111010101100000000011010
+00100000010000000101011010010010
+00011000000000000010010000000000
+00100000010000000101011010011101
+00011111111000100000101000000000
+01101111111001000000001001100010
+00011111111000100010011000000000
+01101111111001000000001001100000
+10011000000000000000110000000000
+00100000010000000101010011100010
+00011010011000001010011111111100
+00100100001000101101010011011100
+00011010010000100000010000000000
+00100000010000000101010010111000
+00100000001000000101000111010110
+11101111111000100000000000000110
+11000000000000010101010011101101
+11000000000000001101010011110000
+11000000000000011101010011111010
+11000000000000101101010100110110
+11000000000000100101010101101000
+11000000000000111101010111101101
+11000000000000110101010110111011
+11000000000001000101010000101010
+11000000000001010101001000010100
+00100000001000000101011000001000
+00100000010000000111110010000011
+00100000010000000111110010001000
+00100000001000000101001000101011
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111000100000000000000110
+00011010001000001010001111111111
+00100100001000101101010011110110
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+11101111111001000000000000000110
+00011111111000100000010000000000
+11101111111001000000000000000110
+00011111111001100111110000000000
+00100000001000101101010100001100
+11000000000000010101010100001000
+11000000000000100101010100001000
+00100000001000000101010100001010
+01110000000010101001010100010110
+00100000010000000111101110101011
+11101111111001000000000000000110
+00100000001000000101010100110011
+00100000010000000111110010000011
+01000100111010110100000000011010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101010100011011
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101010100100001
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101010100101101
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101010100100111
+00100000001000000101010100110011
+00011001011000100111111000000000
+01100111111001000100001000011010
+01101111111000100100001000100010
+01111001001000000111111000000001
+01100111111000100100001000100010
+00100000001000000101010100110010
+00011001011000100111111000000000
+01100111111001000100001000011100
+01101111111000100100001000100011
+01111001001000000111111000000001
+01100111111000100100001000100011
+00100000001000000101010100110010
+00011001011000100111111000000000
+01100111111001000100001000011110
+01101111111000100100001000100100
+01111001001000000111111000000001
+01100111111000100100001000100100
+00100000001000000101010100110010
+00011001011000100111111000000000
+01100111111001000100001000100000
+01101111111000100100001000100101
+01111001001000000111111000000001
+01100111111000100100001000100101
+00100000010000000111110010001000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+11101111111001000000000000000110
+11101111111001000000000000000110
+00100100001110100101010101100010
+00100000010000000111110010000011
+00011001011000100000010000000000
+01000100111010111100000000011010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101010101010000
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101010101010100
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101010101011000
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101010101011100
+01101111111000100100001000100010
+01111001001000000111111000000101
+01100111111000100100001000100010
+00100000011000000000000000000000
+01101111111000100100001000100011
+01111001001000000111111000000101
+01100111111000100100001000100011
+00100000011000000000000000000000
+01101111111000100100001000100100
+01111001001000000111111000000101
+01100111111000100100001000100100
+00100000011000000000000000000000
+01101111111000100100001000100101
+01111001001000000111111000000101
+01100111111000100100001000100101
+01110000000010101001010100000110
+00100000001000000111101110101011
+00100000010000000111110010001000
+00011010001000001010001111111010
+00100000001000101101010101100111
+00011000110000001000110000000001
+00011010001000001010001111111111
+00100000001000000101010101100011
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011000110000001000110000000010
+00011111111000100000010000000000
+01011000000000000000000000000101
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+00011010001000001010001000000010
+00011010001000100111111000000000
+11100111111001000000000000000101
+00100000010000000111110010000011
+01000100111011000100000000011011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101010110000111
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101010110011000
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101010110011110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101010110100100
+00100000001000000101010110101001
+01101111111000100100001000100010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100010
+11000010100000010101010110010101
+01101000010000100000001001111011
+01111001001000000000010000000110
+01100000010000100000001001111011
+00011000111000100111111000000000
+00011111111000001111111000000001
+01100111111000100000001001111101
+01101111111000100100001000100010
+01111001001000000111111000000010
+01100111111000100100001000100010
+01101111111001000100001000011010
+01100111111001000000001001111110
+00100000001000000101010110101001
+01101111111000100100001000100011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100011
+01101111111001000100001000011100
+00100000001000000101010110101001
+01101111111000100100001000100100
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100100
+01101111111001000100001000011110
+00100000001000000101010110101001
+01101111111000100100001000100101
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100111111000100100001000100101
+01101111111001000100001000100000
+00011111111000100001011000000000
+00100000010000000111110010001000
+00011001011000100111111000000000
+11100111111001000000000000000101
+00011000000000000111111000000000
+11100111111001000000000000000101
+00011000000000000111111000000000
+11100111111001000000000000000101
+00011000000000000111111000001010
+10011010010000001010010000000000
+00011010001000001010001111111010
+00100000001000101101010110111010
+11101111111000100000000000000110
+11100111111000100000000000000101
+00011010010000001010010000000001
+00011010001000001010001111111111
+00100000001000000101010110110100
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+00100000010000000111110010000011
+01000100111011001100000000011011
+01011000000000000000000001010000
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101010111010100
+01011000000000000000000001010010
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101010111011001
+01011000000000000000000001010011
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101010111011011
+00100000001000000101010111011101
+01011000000000000000000000000000
+01100111111001000000001001110001
+01100111111001000100001000011010
+01100111111000100100001000100010
+00100000001000000101010111011111
+00100000010000000101010001010011
+00100000001000000101010111011111
+00100000010000000101010001011001
+00100000001000000101010111011111
+01011000000000000000000000000000
+01100111111001000000001001110111
+00100000010000000111110010001000
+01011000000000000000000000000111
+11100111111000100000000000000101
+00011000111000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000000000100
+11100111111001000000000000000101
+00011010001000100111111000000000
+11100111111001000000000000000101
+00011001011000100111111000000000
+11100111111001000000000000000101
+00011000000000000111111000001000
+10011010010000001010010000000000
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000111000000000
+11101111111001000000000000000110
+00011111111000100010001000000000
+11101111111001000000000000000110
+00011111111000100001011000000000
+11101111111001000000000000000110
+00011111111000100000010000000000
+00100000010000000111110010000011
+01000100111011010100000000011011
+01101111111000100100001000100111
+10101000111000011111111000000000
+00100100001000001101011000000100
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101011000000001
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101011000000100
+00100000001000000101011000000100
+01110000010000100001101000000000
+01110000010000100010001000000000
+00100000001000000101011000000100
+00100000010000000111110010001000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+11100111111000100000000000000101
+11101111111000100000000000000110
+11100111111000100000000000000101
+01011000000000000000000000000010
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111001000000000000000101
+01011000000000000000000000000110
+10011010010000001010010000000000
+00011000000000000010011000000100
+00100000011000000000000000000000
+01101111111000100100001000100111
+00011111111000001111111000000001
+11000000100000000101011000011000
+00011111111000001111111000000001
+01100111111000100100001000100111
+00100000011000000000000000000000
+01000100111011011100000000011011
+11011010010000000000000000000000
+00100000010000000101011001001000
+00100100001110100100101010001011
+00100000010000000101011001011000
+11011010010000000001100000000000
+11011000111000000000000000000000
+01101000010000100100001000101000
+10101000010011111111111111111111
+00100000001000001101011000101001
+00100000010000000101011001111010
+00011001011001100111110000000000
+00100000001000010101011000101001
+00100000010000000101011001100010
+00100000001000000101011000101111
+00011010010000001010010010000000
+00011000111000001000111000000001
+01011000000000000000000000001000
+10011000111001100111110000000000
+00100000001000010101011000100001
+11011010010000000000000000000000
+00011010010000100111111000000000
+00100000001110100100101010001011
+00100000011000000000000000000000
+01000100111011100100000000011011
+00100000010000000101011001010001
+00011000110000001000110000000001
+11101111111001000000000000000110
+00100000011000000000000000000000
+01000100111011101100000000011011
+00100000010000000101011001010001
+00011000110000100000101000000000
+00011000110000100000010000000000
+01011000000000000000000000000000
+11100111111001100000000000000101
+00100000011000000000000000000000
+01000100111011110100000000011011
+00100000010000000101011001001110
+00100000001110100100101010001011
+01101111111001100100001000101111
+01100111111001100100001000110010
+01101111111001100100001000101100
+01100111111001100100001000101111
+01101111111001100100001000101001
+01100111111001100100001000101100
+00100000011000000000000000000000
+01000100111011111100000000011011
+01101111111001100100001000101001
+00100000011000000000000000000000
+01000100111100000100000000011100
+01101111111001100100001000101100
+00100000011000000000000000000000
+01000100111100001100000000011100
+01101111111001100100001000110010
+00100000011000000000000000000000
+00100000010000000101011001001110
+00100000001110100100101010001011
+11011000110000000100001000101001
+11101111111001100000000000000110
+00100000001110100101011001010100
+00011000110000001000110111111101
+00100000011000000000000000000000
+01000100111100010100000000011100
+11011111001000000000000000000100
+11011000110000000100001000101001
+11011000010000000000000000000000
+11101111111001100000000000000110
+00011111111000010111111011111111
+10011000010000011000010000000000
+11000010000000000101011001011100
+01100000010000100100001000101000
+00100000011000000000000000000000
+01000100111100011100000000011100
+00100000010000000101011001001000
+00100100001110100100101010001011
+00100000010000000101011001001110
+00100000001110100101011001101111
+01101111111001100100001000101100
+01100111111001100100001000101001
+11101111111001100000000000000110
+11100111111001100000000000000101
+11101111111001100000000000000110
+11100111111001100000000000000101
+01011000000000000000000000000000
+11100111111001100000000000000101
+11011000010000000000000000000000
+00011001011000100111111000000000
+10011000111000001111111000000000
+11111001001000000000010000000000
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100100001000101101011001110010
+00011010010011010111111000000000
+10011000010000011111111000000000
+01100111111001100100001000110010
+00100000011000000000000000000000
+01000100111100100100000000011100
+00100000010000000101011001011000
+00011000111000100010011000000000
+11011000010000000000000000000000
+11011001011000000000000000000000
+00011000111000100111111000000000
+11000000000001000101011010001010
+01101111111000100100001000101000
+10101111111011111111111111111111
+00100000001000001101011010001010
+00011000010000001000010010000000
+00011000111000001000111000000001
+00011010001000100111111000000000
+10011000010001100111110000000000
+00100000001000101101011010001010
+00100000001000010101011001111111
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100100001000010101011010010000
+00011000111000100111111000000000
+00011010011000100000010000000000
+10011000010001100001011000000000
+00011010011000100000111000000000
+00100000011000000000000000000000
+01000100111100101100000000011100
+11011010001000000000000001111111
+00100000010000000101011000011010
+01100111111001000000001001100111
+00011111111000001111111000000100
+01100111111001000000001001101001
+01011000000000000000000000000000
+01100111111001000000001001101011
+00100000011000000000000000000000
+01101111111001000000001001100111
+00100000001000000101011010111100
+01101111111001000000001001101001
+00100000001000000101011010111100
+01000100111100110100000000011100
+11011010001000000000000011111010
+00100000010000000101011000011010
+01100111111001000000001001101101
+00011111111000001111111000000100
+01100111111001000000001001101111
+01011000000000000000000000000000
+01100111111001000000001001110001
+00100000011000000000000000000000
+01101111111001000000001001101101
+00100000001000000101011010111100
+01101111111001000000001001101111
+00100000001000000101011010111100
+01000100111100111100000000011100
+00100000010000000111110001010111
+01110000000000101000000000000001
+00100000010000000101011001001000
+00100100011110100000000000000000
+11011010001000000000000001111111
+00100000010000000101011000011010
+01100111111001000000001001110011
+00011111111000001111111000000100
+01100111111001000000001001110101
+01011000000000000000000000000000
+01100111111001000000001001110111
+01110000000000101000000000000000
+00100000001000000111110001100111
+01101111111001000000001001110011
+00100000001000000101011010111100
+00100000001110100100101010001011
+00011111111000100000101000000000
+00100000011000000000000000000000
+01000100111101000100000000011101
+11011010010000000000000000000000
+11011010001000000100001000101001
+00011010001000001010001111111110
+00011010001000001010001000000010
+01011000000000000100001000110101
+10011010001001100111110000000000
+00100000001000101101011011001111
+11101111111000100000000000010001
+00011010001000001010001000000001
+00100000001110100101011011000011
+11101000010001000000000000010001
+11101111111001000000000000000010
+10011010010000001010010000000000
+00011010010000001010010000000100
+00100000001000000101011011000011
+00011010010000100111111000000000
+00100000011000000000000000000000
+11011000111000000000000000001100
+00100000001000000100101111101100
+11011000111000000000000000001100
+00100000001000000100101111110000
+01000100111101001100000000011101
+00100000010000000101011001011000
+01101111111000100100001000101000
+00100000011110100000000000000000
+00100000010000000101011010111111
+11011000010000000000000100000000
+10011000010001100111110000000000
+00100000001000010101011011010001
+00100000010000000101011011010011
+11011000101000000100001000110101
+11011010001000000100001000101001
+01011000000000000100001000110101
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101111111000100000000000010001
+00011010001000001010001000000001
+00100100001110100101011011101001
+11100111111001000000000000000101
+00011010001000001010001000000010
+00100000001000000101011011100000
+11101111111001000000000000010001
+00011010001000001010001000000010
+00011111111000100000110000000000
+11101111111001000000000000000110
+11100111111001000000000000000101
+00011111111000100111001000000000
+00011111001000001111001000000010
+00100000010000000111110011011100
+00100000001000000101011011100000
+01000100111101010100000000011101
+00100000010000000101011001011000
+01101111111000100100001000101000
+00100000011110100000000000000000
+11011010001000000100001000101010
+00011010001000001010001111111101
+11011000110000000100001000110101
+00011010001000001010001000000011
+01011000000000000100001000110110
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101111111001000000000000000110
+00100000001110100101011011111001
+00011111111000001111111000000100
+00011111111000100111001000000000
+00011000110000100010010000000000
+11101111111001000000000000010001
+00011111111000100000101000000000
+00011010010000100000110000000000
+00011000110000001000110111111110
+00100000010000000111110011011100
+00100000001000000101011011111001
+01000100111101011100000000011101
+01111000010101011111110000000000
+01110000000001000101000100000001
+01110000000001000011101100000011
+01110000000001000101001000000001
+01011111111111111111111111111111
+01100111111001000000010001010101
+00011000000000000111111000000000
+01100111111000100000010001010011
+01100111111000100000010001011110
+01100111111001100100000101101010
+01100111111001100100000101101101
+01100111111010100100001111010101
+01111001001000000111111000100111
+01100111111010100100001111011010
+01110000010000111010111000000001
+01110000010000111010111100000000
+00100000001000000101101011001001
+01000100111101100100000000011101
+01111000001101001111110000000000
+01110000000001000011110000000011
+01110000000001000111010000000001
+01110000010001000010110000000001
+01011000000000001111111111111111
+01100111111001000100010000101110
+00011000000000000111111000000000
+01100111111010100100001111011010
+01111001001000000111111000100111
+01100111111010100100001111010101
+00100000001000000101011100001000
+01000100111101101100000000011101
+01111000010101001111110000000000
+01011000000000000000000000010111
+01100111111001000100010001111010
+01110000000001000011110000000001
+01110000010000110100000000000000
+01110000000000001010000000000000
+01110000010001001001011000000000
+01110000010001001001011100000000
+01101111111001000000010001101001
+01100111111001000100010010001100
+01101111111001000000010000111101
+00011111111011111111111000000101
+00011111111100011111111000000000
+01100111111001000000010001101001
+00100000001000000101011100001000
+00100000010000000101011110011110
+00100000010000000101100111000010
+00100000010000000101101011001100
+00100000001000000101011110101000
+01000100111101110100000000011101
+00100000010000000101011110011110
+00100000010000000100110010001101
+01101111111000100000010000111100
+11000000000000011101011101000000
+00100000001000000101011101010100
+01000100111101111100000000011101
+01111000001101001111110000000000
+00100000010000000101101011000000
+00100000001000010101011101010001
+00100000010000000100110000100111
+00100000010000000101011111101101
+00100000010000000101100111111000
+01111000010101101111110000000000
+00100000010000000101100010011001
+00100100011101101000000000000000
+01000100111110000100000000011110
+01101111111000100000000000000101
+00011111111000001111111000000001
+01100111111000100000000000000101
+00100000010000000101100110000100
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000101011110000011
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000100111110001100000000011110
+01110000010001001110000100000000
+00100000010000000111100101100100
+00100000010000000101111111111000
+01111000010101110111110000000000
+00100000010000000101101011000000
+00100000001000010101011110000011
+00100000010000000100110000100111
+00100000010000000101011111101101
+00100000010000000101100001100011
+00100100001011000101011101110101
+00100000010000000101011110010001
+00100000001101101101011101100010
+00100000001000000101011101101111
+01000100111110010100000000011110
+01101111111000100100010011100001
+00011111111000001111111000000001
+01100111111000100100010011100001
+11000000000001100101011101101111
+00100000010000000101100110000100
+00100000010000000101100111111000
+00100000010000000101100010100001
+00100000010000000101101001011000
+01101111111001000100000111111100
+00100000010000000111110101110111
+00100000010000000101011101111010
+00100000001101000101011101111110
+01000100111110011100000000011110
+00100000010000000101111111000100
+00100000010000000101111110111011
+00100000010000000111101111000001
+01101111111000100000010001011110
+11000010100000011101011110000011
+01000100111110100100000000011110
+00100000010000000101101111010100
+00100000010000000101100101110111
+00100000010000000101100101001111
+00100000001000000100100000111101
+01111000010101000111110000000000
+11000101000101010111110110111111
+11000101000101001111110110111111
+00100000011000000000000000000000
+01000100111110101100000000011110
+01111000001101110111110000000000
+00100000010000000101100010011011
+00100000001101101101011101100010
+00100000001000000101011101101111
+01000100111110110100000000011110
+00100000010000000101011110001001
+00100000010000000100110100111111
+00100000010000000111100100101100
+01110000000010101001010100010101
+00100000001000000111101110101011
+01011000000000000000000000000000
+01100111111100100100010011010001
+01110000000001000101000100000000
+01110000000001000011110000000000
+01110000000001000011101100000000
+01110000010001001001011100000000
+01110000010001001001011000000000
+00100000011000000000000000000000
+01000100111110111100000000011110
+01101111111000100000000000000101
+00011111111000001111111000000001
+01100111111000100000000000000101
+01101111111000100000010000111011
+11000011100000011000000000000000
+01111001001000000111111000000011
+01100111111000100000010000111011
+01101111111001000100010010001100
+01100111111001000000010001101001
+01011000000000000000000000000000
+01100111111010000100010010110111
+00100000011000000000000000000000
+01000100111111000100000000011111
+01110000100010010000111100110110
+01110000100010010000101101011111
+01111000001110110111110000000000
+01110000100010010001010000000111
+00100000010000000100110000100111
+01101111111000100100000111100001
+00100000011110100000000000000000
+01110000100010010000101010111000
+00100000011000000000000000000000
+01000100111111001100000000011111
+01110000100010010000111100101110
+01110000100010010000101111111111
+01111000010110110111110000000000
+01110000100010010001010000000011
+11011011011000000000000000000000
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01101111111001100000010001100011
+10011000000000000001111000000000
+01101111111000100000000000010110
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000101011111000000
+00100000010000000100100100011100
+01011000000000000000010100000000
+00100000010000000100101010001110
+00100000001000000100100100100001
+00100000001101101100100100110110
+00100000010000000101011111000000
+00100000001000000100100100110000
+01000100111111010100000000011111
+00100000010000000100100100010101
+01101111111000100000010010001000
+00100100001110100101011111010011
+01101111111000100000000000010110
+00011111111001100111110000100100
+00100000001000010101011111001101
+00011000000000000000010000000000
+11000001000100101000000000000000
+00011000000000000000010000011000
+11000001000100110000000000000000
+00011000000000000000010001001110
+00100000011000000000000000000000
+00011111111001100111110000001010
+00100000001000010101011111010000
+00011111111000001111111000000001
+00011111111000111111111000000000
+00011111111000001000010000000010
+00100000011000000000000000000000
+01101111111000100000000000010110
+00011111111000111000010000000000
+00100000011000000000000000000000
+11011000010000000000000111110100
+00100000011110100000000000000000
+11011000010000000000000011111010
+11000001000000001000000000000000
+11011000010000000000000010010110
+11000001000000010000000000000000
+11011000010000000000000001100100
+11000001000000011000000000000000
+11011000010000000000000001001011
+11000001000000100000000000000000
+11011000010000000000000000110010
+11000001000000101000000000000000
+11011000010000000000000000101000
+11000001000000110000000000000000
+11011000010000000000000000010100
+00100000011000000000000000000000
+01011000100011101000100110111110
+00011111111011010111111000000000
+00011111111000011111111011010110
+10011000000000000001001000000000
+01011000010101010101010101010101
+01100111111001100000010001100011
+00100000011000000000000000000000
+01000100111111011100000000011111
+01111000001010000111110000000000
+01101111111010000000010001011111
+10011000000000000001001000000000
+00100000010000000101100001000000
+01011000000000000000001000000000
+00100000001101001101011111110110
+01101111111001000000010001001001
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000100101000100011
+00011011010000100111111000000000
+01100111111011000000010010001101
+00100000011000000000000000000000
+01000100111111100100000000011111
+01101111111000100000000000010110
+11000000000100101101100000000010
+11000000000100110101100000001000
+11000000000100111101100000001110
+00100000001000000101100000001110
+01101000010000100100010001011111
+00101000010011111111111000000001
+00100000001000001101100000011001
+00101000010011111111111000000010
+00100000001000001101100000011110
+00100000001000000101100000010100
+01101000010000100100010001011111
+00101000010011111111111000000010
+00100000001000001101100000011110
+00101000010011111111111000000000
+00100000001000001101100000010100
+00100000001000000101100000011001
+01101000010000100100010001011111
+00101000010011111111111000000000
+00100000001000001101100000010100
+00101000010011111111111000000001
+00100000001000001101100000011001
+00100000001000000101100000011110
+01110000000000000001011000100101
+01101111111000100000101010111110
+01111001001000000111111000000000
+01100111111000100000101010111110
+00100000011000000000000000000000
+01110000000000000001011000100110
+01101111111000100000101010111110
+01111001001000000111111000000001
+01100111111000100000101010111110
+00100000011000000000000000000000
+01110000000000000001011000100111
+01101111111000100000101010111110
+01111001001000000111111000000010
+01100111111000100000101010111110
+00100000011000000000000000000000
+01000100111111101100000000011111
+00011010001000001000110000000001
+11101111111000100000000000000110
+11000100000000000000000000000000
+00011010001000001000101000011010
+11101111111001000000000000000101
+00011111111000001111111000000001
+11100111111001000000000000000101
+00011010001000001000110000011001
+11101111111000100000000000000110
+00011010001000001000101000011000
+11101000010000100000000000000101
+10011000010000001111111000000000
+00011111111001100111110000100100
+00100000001000010101100000110011
+00011111111000001111111111011011
+11100111111000100000000000000101
+00100000011000000000000000000000
+01000100111111110100000000011111
+01101111111010100000010001101011
+00011000000000000000010000000000
+00011000000000000111001000100101
+11000011000000000101100000111011
+00011000010000001000010000000001
+00011111111000110111111000000000
+11000010000000000101100000111001
+00011000010000001111111111111111
+01100111111000100000010001011101
+00100000011000000000000000000000
+01000100111111111100000000011111
+01101111111000100000010001010011
+10011000000000000000111000000000
+01101000010010100000010001101011
+10101000010011111111111111111111
+00100000001000001101100001010110
+01000111000000000100000000100000
+01101111111000100000010001011101
+10011000111001100111111000000000
+00100000001000010101100001001100
+00011111111001100000111111111111
+00100000001000000101100001000110
+00011000111000100111001000000000
+00011000000000000000111000000000
+10101000010011111111111111111111
+00100000001000001101100001010001
+00011111001000001111001000000001
+00011111001000100111111000000000
+00100000001110100101100001010110
+00011000111000001000111000000001
+00011111001000001111001111111111
+00100000001000000101100001001110
+00011000111000100111111000000000
+01100111111000100000000000010110
+00100000011000000000000000000000
+00100000001101001101100001011100
+00110111110000011000001000000000
+00100000011000000000000000000000
+11011001011000000000111010100000
+00110100011100110000001000000000
+00100000011000000000000000000000
+01111000010010000111110000000000
+01101111111001000100001100111110
+00011111111000100001011000000000
+00100000001000000101100001101000
+01000111000000001100000000100000
+01111000001010000111110000000000
+01101111111001000000010001001001
+01101000010010000100010010110111
+10011000010000001001011000000000
+00100000010000000101011110111000
+01000111000000010100000000100000
+00100000010000000101011110101111
+01111000010101101111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+00011001011000100011011000000000
+00110111110000011000010000000000
+00100000001101110101100001110100
+00011011010000100000010000000000
+01100000010011000000000010011010
+00100100001011000100011001001001
+00100000001101110101100001111011
+11011101001000000000000111100000
+00011100001000100101000000000000
+01101111111000100000010000111011
+11000011000000011101100001111011
+00100000010101011100101011100110
+01000111000000011100000000100000
+00100000010000000100100110111010
+01111000001000111111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100111111000100000001011010101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+00011111111000010111001000111111
+00100000001000101101100010001011
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+11000010000000000101100010000111
+01000111000000100100000000100000
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100111111001100000000000000101
+00100000001000110100011001001001
+01111000001101101111110000000000
+01101111111000100000000000010111
+00011111111000001010001000000000
+00100000010000000100100110000000
+01111000010001101111110000000000
+00100000001000000100100100010101
+01000111000000101100000000100000
+00100000010000000101100010100011
+01101000010000100000000000010111
+00100000010000000100100100011100
+00100000010000000100100100100001
+01111000001010000111110000000000
+11011001011000000001010101111100
+00100000001000000101100001101001
+00100000010000000101100010100011
+00100000001000000100011001001001
+01000111000000110100000000100000
+00100000010000000101011110101111
+00100000010000000101011110111101
+00100000001000000101100010100111
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101100001011001
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01000111000000111100000000100000
+01101111111000100100001110101110
+00001000000000001000011000001000
+11101111111000100000000000000110
+00011111111000010111001000111111
+00001000000000001000011000001000
+00100000001000101101100010111100
+11101111111000100000000000000110
+00001000000000001000011000001000
+11000010000000000101100010111001
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+00100000011000000000000000000000
+01000111000001000100000000100001
+01101111111000100100010001010110
+11000000000000001101100011010011
+01101111111000100100010001010111
+00011111111100100111111000000000
+00011111111010111111111000000000
+01100111111000100100001110101110
+01101000010000100100001101000001
+00011000010000001111111000000110
+01100111111000100100001110101111
+01101111111011000100010001110010
+01100111111011000100001110110000
+00011000010000100111001000000000
+11011000110000000100001101000010
+00100000010000000111110011001111
+00100000001000000101100011011110
+01101111111000100100010001011000
+00011111111100100111111000000000
+00011111111010111111111000000000
+00011111111000001111111000000001
+01100111111000100100001110101110
+01011000000000000000000000001100
+01100111111000100100001110101111
+01101111111011000100010001110010
+01100111111011000100001110110000
+01101111111011000100000111010001
+11100111111011000000000000000101
+01000111000001001100000000100001
+01101111111000100000000000000000
+00011111111000001111111000000001
+01100111111000100000000000000000
+11011011011000000000011100001000
+01111000010101101111110000000000
+00100000001000000101100010011001
+01000111000001010100000000100001
+01101111111000100100010001110000
+11000001100000001000000000000000
+01101111111000100000000000000000
+00011111111000001111111000000001
+01100111111000100000000000000000
+11011000010000000000110000000011
+01101111111000100100010001110001
+01111101001110100000010000000110
+00011010001000100111111000000000
+01111101001110100000010000000111
+01100000010001000100001110101110
+01101111111011000100010001110010
+11100111111011000000000000000101
+01101111111011000000010001001011
+11100111111011000000000000000101
+00100000001000000101100010011001
+01000111000001011100000000100001
+11011000010000000000000000000100
+01101111111000100100010001010111
+01111101001110100000010000000110
+01100000010000100100001110101110
+01101000010000100100001101100001
+00011000010000001111111000000110
+01100111111000100100001110101111
+01101111111011000100010001110010
+01100111111011000100001110110000
+11011000110000000100001101100010
+00011000010000100111001000000000
+00100000010000000111110011001111
+00100000010000000101100010100001
+00100000001000000101101011100010
+01000111000001100100000000100001
+00011000000000000111111111111111
+00111000000010000000000000000001
+01100111111010100000010001101011
+00100000010000000101100000110101
+00011000000000000111001000000100
+11011000101000000000010001011111
+00100000010000000110011011101111
+01101111111001000100010001101110
+01100111111001000000010001101001
+00011000000010100111111000000000
+00011111111000010111111000001111
+00011111111001100111110000000100
+00100000001000010101100100001111
+01100111111000100000010001010100
+01100111111000100000011011100010
+01000111000001101100000000100001
+01101000010001000100001100111001
+01100000010001000000010000111101
+00011000010000100010011000000000
+00011100010000001111111000000111
+10011010011001101111110000000000
+00100000010000000111110101100001
+00011000000001110010001000000000
+10011010001001100111111000000000
+10011010011000001111111000000000
+01101000010001000100001100110111
+10011000010000001111111000000000
+01100111111010000000010000111111
+10011100010001100010001000000000
+00011010001000001010001111111010
+11011010010000000010001000000101
+01101111111000100100010001100111
+01111101001110100010010000000110
+01101111111000100100010001100000
+01111101001110100010010000000111
+00011010010000100111111000000000
+01100111111001000100001110101110
+01101111111011000100010001110010
+11100111111011000000000000000101
+01101111111011000000010001001011
+11100111111011000000000000000101
+01101111111010000000010001011111
+11100111111010000000000000000101
+00011000000010100111111000000000
+11100111111001000000000000000101
+00011000000010100111111000000000
+11100111111000100000000000000101
+00011000000000000111111000000010
+11100111111000100000000000000101
+00011010001010110111111000000000
+11100111111001000000000000000101
+00011010011010110111111000000000
+11100111111001000000000000000101
+01000111000001110100000000100001
+01011000000000000000000000000000
+11100111111001000000000000000101
+01101111111001000100010001101110
+11100111111001000000000000000101
+01101111111010100000010001101011
+11100111111010100000000000000101
+01101111111000100000010001010100
+11011000010000000000000010100000
+10011000010000011111111000000000
+11100111111000100000000000000101
+00100000010000000101100010100001
+01011000000000000100001110101110
+00011111111000001000110000010010
+11101111111001100000000000000110
+01100111111001100000010001100011
+00100000011000000000000000000000
+01000111000001111100000000100001
+01111000010101001111110000000000
+00100000001000000101011111100110
+01101111111000100000010000111011
+11000100000000101000000000000000
+01101111111001000000010001010101
+01101000010001000000010001011011
+10011000010001100111111000000000
+00100100011000010000000000000000
+01100111111001000000101010010110
+01000111000010000100000000100010
+01101111111000100000010000111011
+01111001001111111111111000000101
+01111001001111111111111000000011
+01100111111000100000010000111011
+01101111111010000000010000111111
+01101000010001000000010000111101
+01100000010001000000101010011110
+10011000010001100010001000000000
+01000111000010001100000000100010
+01101111111000100100001110100101
+01100111111000100000010001100110
+11101000010001000000000000000110
+11101111111001000000000000000110
+00011111111010111111111000000000
+01100111111001000000010000111101
+00011000010010111000010000000000
+10011000010000001111111000000000
+11101000010010000000000000000110
+01100000010010000000010001100111
+10011010001000001111111000000000
+00011111111000100010100000000000
+01101111111001000000010000111101
+01101000010001000000101010011110
+10011000010001100111111000000000
+01101000010001000000101010010110
+10011000010011111111111000000000
+10011010100000001111111000000000
+01100111111010000000010000111111
+00100000010000000101101011110011
+01101111111001000000010001101001
+01100111111001000100010010001100
+00100000011000000000000000000000
+01000111000010010100000000100010
+01101111111000100000010000111011
+11000100000000110000000000000000
+01101111111001000000010001010101
+01101000010001000000010001011011
+10011000010001100111111000000000
+00100100011000010000000000000000
+01101111111000100000010000111011
+01111001001111111111111000000110
+01100111111000100000010000111011
+01101111111010100100001110100000
+01100111111010100000010001101011
+00100000001000000101100000110101
+01000111000010011100000000100010
+00100000010000000101101011001001
+00100000010000000101100110011010
+01101111111000100000001011010101
+00101111111011111111111000000100
+01111001001000001000000000101010
+00011111111000110111111000000000
+10011000010000101111111000000000
+00101111111011111111111000000010
+01111001001000001000000000001111
+11000110000001111000000000000000
+01101111111000100000001011010110
+00100000001110100101100110010110
+01101111111000100000010000111011
+11000011000000100101100110010110
+00100000010000000111001101000010
+00100000010000000111001010110010
+00100100011110100000000000000000
+01101000010000100000010001010010
+01111001010000000000010000000010
+01100000010000100000010001010010
+00100000011000000000000000000000
+01000111000010100100000000100010
+01101000010000100000010001010010
+00101000010011000000000000000101
+00100000011000001000000000000000
+01101111111000100000001011010101
+00011111111000111111111000000000
+10011000010000101111111000000000
+11000100000000011000000000000000
+01111001001111111000010000000101
+01111001010000000000010000000011
+01100000010000100000010001010010
+00101000010000000000011000000011
+00100100011000001000000000000000
+01101111111000100100001110110000
+11000000000000101101100110101100
+01101111111000100100010010010111
+11000000000000010101100110110000
+00100000011000000000000000000000
+01101111111000100000010000111011
+01111001001000000111111000000100
+01100111111000100000010000111011
+00100000011000000000000000000000
+01000111000010101100000000100010
+01110000010001001001011100000000
+11011111111000000000000000000000
+01100111111010000100001111011111
+01100111111010100100001111010101
+01111001001000000111111000100111
+01100111111010100100001111011010
+01101111111000100000010000111011
+01111001001111111111111000000100
+01100111111000100000010000111011
+00100000011000000000000000000000
+01000111000010110100000000100010
+00100000010000000101011111111100
+00100000010000000101100001011111
+01101111111000100000000000000001
+00011111111000001111111000000001
+01100111111000100000000000000001
+00100000011000000000000000000000
+01000111000010111100000000100010
+01101111111000100100001100111011
+11000001100000001000000000000000
+11011000111000000000000000000010
+00100000010000000111110011110001
+00100100011110100000000000000000
+01101111111001000100001100111100
+01101000010001000100001100111110
+10011000010001100111111000000000
+11011000111000000000000000000010
+00100000010000000111110011100011
+01111000010101001111110000000000
+00100000010000000101100101001100
+00100000010000000101100110111011
+00100100011101101000000000000000
+01000111000011000100000000100011
+01101111111011000000001011010111
+01100111111011000000010001001011
+01101111111000100000000000000010
+00011111111000001111111000000001
+01100111111000100000000000000010
+00100000010000000101100111100010
+00100000011101001000000000000000
+00100000010000000101100011100101
+00100100011101101000000000000000
+01000111000011001100000000100011
+01101111111000100000000000000100
+00011111111000001111111000000001
+01100111111000100000000000000100
+01101111111100100000001011011101
+01100111111100100000000011111111
+00100000011000000000000000000000
+01000111000011010100000000100011
+01101111111000100000010010010111
+11000001100011011000000000000000
+01101111111011000000010001001011
+01101000010011000100010001100001
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000100001000110111
+00100100011000101000000000000000
+00100000010000000101100100000101
+00100000010000000101011100011010
+01000111000011011100000000100011
+01110000010000011100111100000000
+01110000000001000111001000000000
+01110000010000110011101100000000
+01110000000001001001011100000000
+00100000001000000100001000011111
+11011010001000000000000000000001
+01101111111000100000001011010101
+11000011100000110000000000000000
+11011010001000000000000000000000
+00100000011000000000000000000000
+01000111000011100100000000100011
+01101111111000100000010001010010
+11000011100000101000000000000000
+00100000010000000101101000011100
+00100000010000000101110001010011
+00100000001110100101101000111110
+11101111111000100000000000000110
+11101000010000100000000000000110
+00011000010000100010001000000000
+10011010001001100111111000000000
+11011000010000000000000000011011
+00100000010000000111110110110101
+00011111111000100000010000000000
+11101111111000100000000000000110
+00011111111000100000001000000000
+00011010001000100111111000000000
+10011000110000001000110000000000
+11011000101000000100001110110000
+00011000010000100111001000000000
+00100000010000000111110011011100
+00100000010000000101101000101110
+00100000010000000101101001000000
+00100000010000000101110001010011
+11101111111000100000000000000110
+00011111111000100010001000000000
+00011000110000100010011000000000
+11101000010000100000000000000110
+00011000010000100010010000000000
+10011010010001100111111000000000
+11011000010000000000000000011011
+00100000010000000111110110110101
+10011010010000001111111000000000
+11100111111000100000000000010011
+10011010001001100111110000000000
+00100100011000101000000000000000
+00100000001000000101110001110110
+00100000010000000101101000100011
+11000110000101001000000000000000
+01101111111000100100010010111011
+11000011000000010101101000101100
+00100000010000000101110001010110
+00100000001110100101101000101100
+00100000001000000101101000101010
+00100000010000000101110001010011
+00100000001110100101101000101100
+11101111111000100000000000000110
+11101000010000100000000000000110
+10011000010001100111111000000000
+00011111111001100111110000011011
+00100000001000010101101000101100
+01111001001000000000000000101001
+00100000011000000000000000000000
+01111001001111111000000000101001
+00100000011000000000000000000000
+00011010001000100111111000000000
+00100000011110100000000000000000
+11011000001000000000000000000001
+00100000011000000000000000000000
+01000111000011101100000000100011
+00011000010000001000010000000001
+00100000010000000101101101001010
+00011000110000001000110111111110
+11101111111001000000000000000110
+11011000010000000010100100000010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000001000110000000001
+00011000110000100010001000000000
+11101111111000100000000000000110
+00100000011000000000000000000000
+00011000000000000000010000000000
+00011000000000000000001000000001
+01000111000011110100000000100011
+01100000010000100100001110101111
+01101000010000100000010001010010
+01111001001000000000010000000101
+00011000010000010111111011111100
+10011000001000011111111000000000
+01100111111000100000010001010010
+00011111111000010111111000011111
+00101000000011111111111000101001
+01111001001000001111111000000100
+01100111111000100100001110101110
+01101111111000100100001110101110
+00101000001000000000011000000001
+00100100001000001101101001010000
+01101111111000100100001110101111
+00100000011110100000000000000000
+01101111111000100000010000111011
+11000100000000100000000000000000
+00100000010000000111001101000010
+00100000001000000111001010011001
+11011000111000000000000000000000
+00100000001000000100101111101100
+11011000111000000000000000000000
+00100000001000000100101111110000
+01000111000011111100000000100011
+11000110000001111000000000000000
+00100000010000000101110001110000
+00100100011110100000000000000000
+01101111111000100000001011010101
+00011111111000010111111000000011
+01100111111000100100010011011110
+11101111111000100000000000000110
+00011111111000010111111000011111
+01100111111000100100010011011101
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100111111001000100010011011111
+01000111000100000100000000100100
+01101111111000100100010011011110
+11000000000000011110000001000100
+01000111000100001100000000100100
+00100000010000000101101001110110
+00100100001101000101101001010100
+00100000010000000101101001010110
+01101111111001000100010011011111
+00011111111000100000110000000000
+11101111111001000000000000000110
+01100111111001000100010011001110
+01000111000100010100000000100100
+11101111111001000000000000000110
+11000000000000100101110010001011
+11000000000000110101111011010100
+11000000000000101101111010010110
+00100000011000000000000000000000
+01101111111000100100010011011110
+11000000000000010101101010000101
+11000000000000001101101010011101
+00100000011000000000000000000000
+00100000010000000111110110111111
+11011000010000000000000000000100
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000101
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000110
+10011111111001100111110000000000
+00100000011000101000000000000000
+00100000001000000111110111000001
+01101111111001000100010011011111
+00011111111000100000110000000000
+11101111111001000000000000000110
+01100111111001000100010011001110
+11101111111001000000000000000110
+00100000010000000101101001111010
+00100100011101000000000000000000
+01101000010000100100010011011101
+01100000010000100100010011010000
+01101111111001000100010011001110
+00011111111000001111111000000100
+10011000010001100111110000000000
+00100000001000101111110110111111
+01101111111000100100010011011101
+00011111111000100111001000000000
+11011000101000000000001100001101
+01101111111001000100010011011111
+00011111111000100000110000000000
+00100000010000000111110011011100
+00100000001000000111110111000001
+00100000010000000111110110111111
+01101111111000100100010011010000
+00100100011110100000000000000000
+00100000001000000111110111000001
+00100000010000000101101010011001
+00100100011101000000000000000000
+01101111111000100100010011010000
+11011000101000000000001100001101
+10011000101000001010001000000000
+01101000010000100100010011011101
+10011000010000001111111000000000
+01100111111000100100010011010000
+01101111111000100100010011011101
+00011111111000100111001000000000
+00011010001000100000101000000000
+01101111111001000100010011011111
+00011111111000100000110000000000
+00100000010000000111110011001111
+01011000000000000000001100001101
+01100111111001000100010011011111
+01101111111001000100010011001110
+00011111111000001111111000000100
+01101000010000100100010011010000
+10011000010001100111110000000000
+00100000001000101111110110111111
+00100000001000000111110111000001
+00100000010000000111110010000000
+11011000101000000100010000110000
+01101111111001000100010011001110
+00011111111000001111111111111011
+11100111111000100000000000000101
+00011111111000100111001000000000
+00100000010000000111110001111010
+00100000001000000111110011001111
+00100000010000000111110010000000
+11011000101000000100010001000011
+00100000001000000101101010110101
+01101111111001000100000111111010
+00100000001000000111110101110111
+01101000010010000000010001010111
+00100000010000000100101001111010
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000010001000000010001101001
+00011000010100100000010000000000
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+00100000010000000100101001111010
+01100111111010000000010001010111
+00100000011000000000000000000000
+01110000000000000001011000100100
+01110000000010101011111000000000
+01000111000100011100000000100100
+01101111111000100100001101000000
+00100000011110100000000000000000
+11011000111000000000000000000000
+00100000010000000111110011110001
+00100100011110100000000000000000
+01000111000100100100000000100100
+01111000010101001111110000000000
+01111000001010000111110000000000
+00100000010000000101100101001100
+00100000010000000101011111111100
+00100000010000000101100011000011
+00100100001101101101101011100010
+01101111111000100000000000000011
+00011111111000001111111000000001
+01100111111000100000000000000011
+01101111111000100000001011010101
+00011111111000010111111000001111
+11000000000000011101100011110110
+11000000000000101101101100001000
+01000111000100101100000000100100
+00011000000010100111111000000000
+11011000010000000000000111111111
+10011000010000010111111000000000
+00011111111000001111111011111010
+00100000010000000101101011101111
+01101111111000100000101010111110
+01101000010000100100010001011111
+10011000010001100111110000000000
+00100100001000101101101011001110
+11011000111000000000000000000000
+01101111111001000100010001010100
+00100000001000000111110011100011
+00011111111000001111111111111111
+00100000000000000000000000100110
+00100100001110100101101011101111
+00100000011000000000000000000000
+01000111000100110100000000100100
+01101111111000100000010001110010
+00100000010000000101011111010110
+01101111111001000000010000111101
+10011000010011111111111000000000
+11011000010000000000000101110111
+10011000010011111111111000000000
+11011000010000011000011010100000
+10011000010001101111110000000000
+01101111111000100000010001100110
+11011000010000000100111000100000
+10011000010011111111111000000000
+10011000010000001111111000000000
+01100111111010000100010010110111
+01000111000100111100000000100100
+01101111111001000100000011000001
+00100000010000000111110101100001
+00011000000001111000010000000000
+10011000010000001111111000000000
+01100111111001000000010001001001
+00100000011000000000000000000000
+01000111000101000100000000100101
+01101111111011000000001011011101
+01101000010011000100010001110010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000101100111110011
+00011010001000100111111000000000
+01100111111000100100010001100000
+01101111111011100000001011101010
+01100111111011100000000011111111
+11101111111100000000000000000110
+11100111111100000000000000000101
+01101111111011000000001011010111
+01100111111011000000010001001011
+00011000110000001000110000000110
+11101111111100000000000000000110
+01100111111100000000010001011111
+11101000010001000000000000000110
+01000111000101001100000000100101
+00011000010010111000010000000000
+11101111111001000000000000000110
+00011111111010111111111000000000
+01100111111001000000010000111101
+01100111111010000000010000111111
+10011000010001100111111000000000
+00011111111000001101000111111110
+11101111111100100000000000000110
+01100111111100100000010001100111
+01000111000101010100000000100101
+11101111111000100000000000000110
+00011111111100011000010000000000
+00011000010000110000010000000000
+01100000010000100000010001110010
+00011111111000010111111000011111
+01100111111000100000010001010100
+00100000010000000101101011110011
+00100000010000000101100000110101
+00100000010000000101011100100110
+00100000010000000100001000110111
+00100100011000101000000000000000
+01000111000101011100000000100101
+00100000010000000100100000111101
+00100000010000000101111010110011
+01110000000010101001010100010100
+00100000010000000111101110101011
+00100000001000000100001000011111
+01000111000101100100000000100101
+01101111111001000100010000101100
+10011000000000000010010000000000
+01101111111001000100010000101110
+10011000000000000010011000000000
+01101111111001000100010010001110
+10011000000000000000110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+11101111111001000000000000000110
+00100000011110100000000000000000
+10011010010001100111110000000000
+00100100011000010000000000000000
+10011010011001100111110000000000
+00100000011000101000000000000000
+00100000001000010101101101001000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100000010000000101101101001101
+00100000001000101101101101011001
+00100000011000000000000000000000
+01000111000101101100000000100101
+01101111111001000100010010001110
+10011000000000000000110000000000
+11101111111001000000000000000110
+00100000011110100000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101111111000100000000000000110
+10011000110000001000110000000000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00100000001000000101101101010000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00100000011000000000000000000000
+01000111000101110100000000100101
+01101111111001000100010010001110
+10011000000000000000110000000000
+11101111111001000000000000000110
+00100000011110100000000000000000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00011000110000001000110111111110
+11101111111001000000000000000110
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00100000001000000101101101011111
+01101111111001000000010010011000
+00100000001000000101101101101110
+01000111000101111100000000100101
+01101111111001000100010010001110
+10011000000000000000110000000000
+00011000010000100010001000000000
+11101111111001000000000000000110
+00100000001110100101101101111001
+10011010001001100111110000000000
+00100000001000101101101101111010
+11101111111000100000000000000110
+10011000110000001000110000000000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00100000001000000101101101110000
+00100000001000000111110111000111
+11101111111000100000000000000110
+01100111111000100000010010011110
+00011111111000100111001000000000
+11011000101000000000010010011111
+00100000010000000111110011001111
+11101111111000100000000000000110
+01100111111000100000010010101111
+00100000010000000111110010000000
+00100000001000000111110111001001
+01000111000110000100000000100110
+00100000010000000101101110000110
+00100000001000000101101110011000
+11011000010000000010101000000000
+00100000010000000101101101011100
+00100000011110100000000000000000
+11101111111000100000000000000110
+00011000110000100000101000000000
+01101000010000100100001110000001
+00011000010000100111001000000000
+10011000010001100111110000000000
+00100100001000010101101110010101
+10011000010001100000010000000000
+11011000110000000100001110000010
+00100000010000000111110011011100
+00011000010000100111001000000000
+00100100010000101101101111010000
+00100000011000000000000000000000
+00011111111000100111001000000000
+11011000110000000100001110000010
+00100000001000000111110011001111
+11011010011000000100001101100001
+11011010001000000100001101000010
+00100000010000000101101110100101
+01011000000000000000000000000000
+01111001001101000111111000000000
+01100111111000100000101010010110
+11011010011000000100001110000001
+11011010001000000100001101100010
+00100000010000000101101110100101
+00100000011101000000000000000000
+01101111111000100000101010010110
+00100000001110100100101010001011
+00100000011000000000000000000000
+01000111000110001100000000100110
+00100000010000000111110110111111
+00100000010000000111110010110101
+11011010010000000000000000000000
+11011000101000000000101010111111
+00100000010000000101101110111111
+01101111111000100100001110000001
+00011111111000001000010000000001
+10011010010000001010001000000000
+00011010001000001010001000000010
+00011010001001100111110000011111
+00100100001000010101101110111101
+11100000010000100000000000000101
+11011000010000000000000000001001
+11100000010000100000000000000101
+10011000000000000111001000000000
+00100000010000000111110011001111
+00011010001000100010010000000000
+00011010010000100111111000000000
+01100111111000100000101010111110
+11011000110000000000101010111110
+01011111111111111111111111100000
+10011010011000001000101000000000
+00100000001000000111110010011000
+00100000010000000111110111000001
+00100000001000000101101110110111
+11101111111000100000000000010001
+00100000011110100000000000000000
+00011111111000001111111000000001
+11101000010000100000000000000110
+00011000010001100111110000001001
+00100000001000101101101111001110
+10011010010000001010010000000000
+00011010001000100000110000000000
+10011000000000000111001000000000
+00100000010000000111110011001111
+00011000110000100010001000000000
+00011010001000100111111000000000
+10011010011001100111110000000000
+00100000011000010000000000000000
+00100000001000000101101110111111
+10011010001000001010001000000000
+00100000001000000101101111001010
+01011000000000000000000000100000
+11100111111000100000000000000101
+11000010000000000101101111010000
+00100000011000000000000000000000
+01000111000110010100000000100110
+01111000010101011111110000000000
+00100000001101110101101111011000
+00100100001101101101101111100110
+00100000010000000100101110100000
+01101111111001000100000011000001
+01100111111001000000010001001001
+00100100001101101100101110110011
+11000101000001111100101110110011
+01101111111000100100010011011101
+00100100001110100100101110110011
+01101111111000100100001110101111
+00100100001110100100101110110011
+01101111111000100100010010111011
+11000010100000101100101110110011
+01101111111000100000010000111011
+11000010100000101100101110110011
+00100000001000000100101110010101
+01101000010001000100000011000001
+00011000010000110000010000000000
+01101111111001000000010001001001
+10011000010000001111111000000000
+01100111111001000000010001001001
+00100000001000000100101110101011
+11011000111000000000000000000000
+00100000001000000101110000000100
+11011000111000000000000000000000
+00100000001000000101110000001000
+11011000111000000000000000000001
+00100000001000000101110000000100
+11011000111000000000000000000001
+00100000001000000101110000001000
+11011000111000000000000000000010
+00100000001000000101110000000100
+11011000111000000000000000000010
+00100000001000000101110000001000
+11011000111000000000000000000011
+00100000001000000101110000000100
+11011000111000000000000000000011
+00100000001000000101110000001000
+11011000111000000000000000000100
+00100000001000000101110000000100
+11011000111000000000000000000100
+00100000001000000101110000001000
+11011000111000000000000000000101
+00100000001000000101110000000100
+11011000111000000000000000000101
+00100000001000000101110000001000
+01101111111000100100010010111011
+11111001001000000111111000000000
+01100111111000100100010010111011
+00100000011000000000000000000000
+01101111111000100100010010111011
+11111001001111111111111000000000
+01100111111000100100010010111011
+00100000011000000000000000000000
+01011000000100010010001000110011
+01100111111001100100010010111100
+01011000010001000101010101100110
+11100111111001100000000000000101
+01011000011101111000100010011001
+11100111111001100000000000000101
+01011000000000000001000100100010
+11100111111001100000000000000101
+01011000001100110100010001010101
+11100111111001100000000000000101
+01011000000000000000000001100110
+11100111111000100000000000000101
+00100000011000000000000000000000
+01011001000000000000001100000010
+01100111111010000100010000100101
+01011000000000010000000000010000
+01100111111001100100010000101001
+01110000010001001001100000000001
+00100000011000000000000000000000
+11011010001000000000000000000000
+11011000001000000000000000000001
+00100000001000000101110000110000
+11011000001000000000000000000011
+00100000010000000101110000110000
+00011010010000100111111000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+00011000000000000000001000000010
+00011010001000001010001000000100
+00100000010000000101110000110000
+00011010001000001010001111111100
+00011010001000100111111000000000
+11100111111001000000000000000101
+00011010010000100111111000000000
+11100111111001000000000000000101
+00100000011000000000000000000000
+00011010001001100111110011110000
+00100100001000010100101010001011
+01101111111000100100010011010001
+11011000010000000000000000000001
+11011111001000000000000000000100
+10011000010000010111110000000000
+00100000001000101101110000111010
+00011000010000111000010000000000
+11000010000000000101110000110101
+00100000001000000100101010001011
+10011000010000101111111000000000
+01100111111000100100010011010001
+00011111001001100111111000000100
+00011111111100100111111000000000
+00011111111100100111111000000000
+11011000010000000001100000000000
+10011000010000001000010000000000
+11011111001000000000000000000000
+11011000110000000100010011010010
+11101111111001000000000000000110
+00100000001110100101110001001001
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000100101110001000011
+00100000001000000100101010001011
+00011000110000001000110111111110
+11100000010001000000000000000110
+00011000010000100000101000000000
+00011010001000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+00011000001000100111111000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01101111111001000100010011010010
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101111111001000100010011010100
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000101110001011100
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101111111001000100010011011000
+00100100011110100000000000000000
+01101111111001000100010011010110
+00100100011110100000000000000000
+01101111111001000100010011010100
+00100100011110100000000000000000
+01101111111001000100010011010010
+00100000011000000000000000000000
+00100000010000000101110001010011
+00011000110000001000110000000011
+00100000011000000000000000000000
+00100000010000000101110001010011
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101110001011001
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101110001011001
+00011000110000001000110000000011
+00100000011000000000000000000000
+01101111111001000100010011011000
+00100000011000000000000000000000
+01101111111001000100010011010110
+00100000011000000000000000000000
+01101111111001000100010011010010
+00100000011000000000000000000000
+01101111111001000100010011010010
+11011000010000000001100000000000
+10011000010001100111111000000000
+00011111111100011111111000000000
+00011111111100011000111000000000
+01101111111000100100010011010001
+11111001001111111111111000000000
+01100111111000100100010011010001
+11011111001000000000000000000000
+00011111001000111111111000000000
+11011000010000000100010011010100
+10011000010000001000010000000000
+11101111111001000000000000000010
+00011000010000001000010111111110
+11100111111001000000000000000010
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000011101110001111111
+01011000000000000000000000000000
+11100111111001000000000000000010
+00100000011000000000000000000000
+11101111111001100000000000000110
+01100111111001100000010001110011
+11000000000000010101110010100001
+11000000000000011101110010101001
+11000000000000100101110010101100
+11000000000000110101110011010010
+11000000000001000101110100011111
+11000000000001010101110110011100
+11000000000001100101110111000100
+11000000000010000101110111011010
+11000000000010010101111000001111
+11000000000010110101111000101000
+11000000000011000101111000111011
+11000000001010010101111001000000
+00100000011000000000000000000000
+00011000000000000010001000000011
+00100000010000000101111001100010
+01011000000000000000000000000010
+11100111111000100000000000000101
+01101111111001000100010001111000
+11100111111001000000000000000101
+00100000011000000000000000000000
+00100000010000000101110010101001
+00011000000000000010001000000011
+00100000010000000101111001100010
+01011000000000000000000000000011
+11100111111000100000000000000101
+01101111111001000100010001111000
+11100111111001000000000000000101
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100111111001000100010001111010
+00100000011000000000000000000000
+00100000010000000101111010010001
+00100000010000000111110110111111
+00100000001000000101110010101111
+11011001011000000000000000000011
+00100000010000000101101100110110
+00100000010000000101101100111111
+00100000001110100101110011010000
+00100100001000010101110011001101
+00011000110000001000110111111110
+00100000010000000111110010000000
+00100000010000000111110001110111
+00100100001101000101110011000001
+00100000010000000111110001100000
+00100000010000000111110111000001
+00011000000000000010001000010100
+00100000010000000101111001100010
+00100000010000000111110001110000
+01011000000000000000000000000101
+11100111111000100000000000000101
+01011000000000000000000000000001
+11100111111000100000000000000101
+00100000010000000111110001111010
+11101111111001000000000000000110
+11100111111001000000000000000101
+11101111111000100000000000000110
+00011111111000100111001000000000
+00100000010000000111110011011100
+00100000010000000111110001111101
+00011001011000001001011111111111
+00100000001000101101110011010000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00100000001000000101110010110001
+11101111111000100000000000000110
+10011000110000001000110000000000
+00100000001000000101110011001010
+00100000001101000101111001010110
+00100000001000000101111010000101
+00100000010000000101111010010001
+11101111111001000000000000000110
+01100111111001000100010001000100
+00100000010000000111110010000000
+11011000101000000100010000110000
+01101111111001000100010011001110
+00011111111000001111111111111001
+00100000010000000101101010110111
+00100000001000000101110011100101
+01111000010101000111110000000000
+01101000010001000100010000101100
+01101111111001000100010000101110
+10011000010001100111110000000000
+00100100001000010101110011100010
+00011000010000100111111000000000
+11000001100000000000000000000000
+01111000001101000111110000000000
+01110000000001000111011000000001
+00100000001000000101111001010111
+00100000010000000101110011011011
+00100000011101000000000000000000
+01101000010001000100010001000100
+01011000000000000010100000000000
+10011000010001100111110000000000
+00100000001000101101110011101100
+00100000001000000101111001010110
+01110000000001001011000000000000
+01101000010001000100010000101100
+01100000010001000000101010011110
+00100000010000000101101101101100
+00100100001110100101111001010110
+01101000010001000000101010011110
+00100000010000000101101101101100
+00100100001110100101110100000101
+00011000110000100010001000000000
+01101111111000100000010010101111
+00011111111000100111001000000000
+01101000010000100100010000110000
+10011000010001100111110000000000
+00100100001000101101110100000001
+11011010010000000100010000110001
+00100000010000000111110101100011
+00100000001000101101110100001000
+01101111111001000000010010011111
+01101000010001000100010001000100
+10011000010001100111110000000000
+00100000001000101101110100010000
+01101111111001000000101010011110
+00011111111000001111111000000001
+01100111111001000000101010011110
+00100000001000000101110011110001
+01101111111000100000010010110000
+11000000000000001101110100010000
+00100000001000000101111001010110
+01101111111001000000010010011111
+01101000010001000100010001000100
+10011000010001100111110000000000
+00100100001000101101110100000001
+01110000000001001011000000000001
+01101000010001000000101010011110
+01100000010001000000010010011010
+00100000001000000101110100000001
+01101111111000100000010010110000
+11000000000000000101110100000001
+01110000000001001011000000000010
+01101000010001000000101010011110
+00011000010000001000010111111111
+01100000010001000000010010011100
+11011010001000000000000000000101
+00100000010000000101111001100010
+01011000000000000000000000000111
+11100111111000100000000000000101
+01101111111001000000010010011010
+11100111111001000000000000000101
+01101111111001000000010010011100
+11100111111001000000000000000101
+00100000011000000000000000000000
+00100000010000000101111010010001
+00100000010000000101101010111011
+00100000001000000101110100100010
+01101000010001000100010000101100
+01100000010001000000101010011110
+00100000010000000101101100110110
+00100000010000000101101101001101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100111111001000000010010011000
+01101000010001000100010001000100
+01011000000000000010101000000000
+10011000010001100111110000000000
+00100000001000101101110110001000
+01011000000000000010100000000011
+10011000010001100111110000000000
+00100100001000101101110101110000
+11011001011000000000000000000010
+00100000010000000101111001101000
+00100100001000010101110101001101
+01101000010001000000101010011110
+00100000010000000101101101101010
+11000000000000001101110101001101
+00100000010000000101111001110100
+00100100001000101101110101001011
+00100100001101000101110101001111
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101111001100010
+01011000000000000000000000001001
+11100111111000100000000000000101
+00011000101000100110000000000000
+00011000101000001000101000000001
+00100000010000000101110101011101
+00100000010000000101111001100100
+00100000010000000101101101101010
+00100000010000000101110101100100
+01101111111000100000010010011110
+00011111111000001111111000000101
+11100111111000100000000000110000
+01101111111000100000010010011110
+11000000000010000101110101001101
+00011001011000001001011111111111
+00100000001000101101110101001101
+00100000010000000101111001100100
+00100000001000000101110100110001
+00100000001101000101111001010110
+00100000001000000101111010000101
+00100000010000000101111001110111
+00100000010000000101111001100100
+00100000010000000101101101101010
+01101111111000100000010010011110
+11000000000010000101110101001101
+00100000010000000111110001110111
+01101111111001000000101010011110
+00011111111000001111111111111111
+11100111111001000000000000000101
+00100000010000000101111010000001
+00100000010000000101110101100100
+00011001011000001001011111111111
+00100000001000101101110101001101
+00100000001000000101110101001011
+01101111111001000000101010011110
+11100111111001000000000000000101
+01101111111000100000010010101111
+00011111111000100111001000000000
+00100000010000000111110001111010
+00100000010000000111110011001111
+00100000001000000111110001111101
+00100000010000000111110001110111
+01101111111001000000101010011110
+11100111111001000000000000000101
+00100000010000000111110001111101
+01101111111000100000010010011110
+00011111111000100111001000000000
+00100000010000000111110001110111
+00100000010000000111110001111010
+10011111001001100000110000000000
+00011000110000001000110111111111
+00100000010000000111110011001111
+00100000001000000111110001111101
+01101000010001000100010000101100
+01100000010001000000101010011110
+00100000010000000101111001101000
+00100100001000010101111001010110
+00100000010000000101101101101010
+11000000000000001101111001010110
+00100000010000000101111001110100
+00100100001000101101110110000110
+11011010001000000000000000010100
+00100000010000000101111001100010
+01011000000000000000000000001001
+11100111111000100000000000000101
+01101111111000100000010010101111
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100111111000100000000000000101
+01101111111001000000101010011110
+11100111111001000000000000000101
+00100000010000000111110001111010
+00100000010000000111110011001111
+00100000010000000111110001111101
+00100000001000000101111010000101
+00100000010000000101111001100100
+00100000001000000101110101110010
+11011000010000000010101000000000
+00100000010000000101101101011100
+00100000011110100000000000000000
+00011000110000001000110111111011
+11101111111001000000000000000110
+01100111111001000000101010011110
+11011010001000000000000000010100
+00100000010000000101111001100010
+01011000000000000000000000001001
+11100111111000100000000000000101
+01101111111000100100001110000001
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100111111000100000000000000101
+01101111111001000000101010011110
+11100111111001000000000000000101
+11011000110000000100001110000010
+00100000010000000111110011001111
+00100000010000000111110001111101
+00100000001000000101111010000101
+01101000010001000000010001110100
+01101111111000100100010010111011
+11000010100000011101110110111101
+00100000010000000101101101001010
+00100000001110100101111001010110
+00011000110000001000110111111110
+11101111111001000000000000000110
+11011000010000000010101000000000
+10011000010001100111110000000000
+00100000001000101101110110110011
+11101111111000100000000000000110
+00011111111001100111110000010110
+00100000001000010101110110101010
+00011000000000000111111000010110
+00011111111000100010011000000000
+00100000010000000111110010000000
+00011010011000001010001000000001
+00100000010000000101111001100010
+01011000000000000000000000001011
+11100111111000100000000000000101
+00011010011000100111001000000000
+00100000010000000111110001111010
+00100000001000000111110011011100
+00100000010000000111110010000000
+01101111111000100100001110000001
+00011111111000001010001000000001
+00100000010000000101111001100010
+01011000000000000000000000001011
+11100111111000100000000000000101
+01101111111000100100001110000001
+00011111111000100111001000000000
+11011000110000000100001110000010
+00100000001000000111110011011100
+01101111111001000100010011001100
+10011000010001100111110000000000
+00100100001000101101110110011111
+00100000010000000101111000100010
+00100100001101000101110110011111
+01110000000001000111011000000101
+00100000001000000101111001010111
+11101111111001000000000000000110
+01100111111001000100010000110000
+11011010001000000000000000010100
+00100000010000000101111001100010
+01011000000000000000000000001101
+11100111111000100000000000000101
+01101111111001000100010000110000
+10011000000000000010001000000000
+01101000010001000000010001110100
+00100000010000000101101101001010
+00100000001110100101111001010110
+11101111111000100000000000000110
+10011010001001100111001000000000
+00100100001000010101111001010110
+00011111001001100111110000010110
+00100000001000010101110111010101
+00011000000000000111001000010110
+00011010001000100111111000000000
+10011000110000001000110000000000
+00100000010000000111110011001111
+00100000010000000111110001111101
+00100000001000000101111010000101
+00100000010000000101111010010001
+00100000010000000101101010110011
+00100000001000000101110111011101
+11011001011000000000000000000010
+01101000010001000100010000101100
+01100000010001000000101010011110
+00100000010000000101101100110110
+00100000010000000101101101001101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100111111001000000010010011000
+00100000010000000101111001101000
+00100100001000010101111000000101
+01101000010001000000101010011110
+00100000010000000101101101101010
+11000000000000001101111000001000
+00100000010000000101111001101100
+00100100001000101101111000000011
+00011001011000100111111000000000
+11000000000000000101111000001000
+00100100001101000101110111111001
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101111001100010
+01011000000000000000000000010001
+11100111111000100000000000000101
+01101111111000100000010010101111
+00011111111000001111111000000100
+11100111111000100000000000000101
+00100000010000000111110001111101
+00100000001000000101110111111111
+01101111111000100000010010101111
+11000000000010000101111000001000
+01101111111001000000101010011110
+00011111111000001111111111111111
+01100111111001000000010010011100
+00100000010000000101111001111100
+01101111111001000000101010011110
+01100111111001000000010010011010
+00100000010000000101111001110111
+00011001011000001001011111111111
+00100000010000000101111001100100
+00100000001000000101110111100101
+01101111111001000000101010011110
+01100111111001000000010010011100
+00100000001000000101111000001100
+01101111111001000000101010011110
+00011111111000001111111111111111
+01100111111001000000010010011100
+00100000001000000101111000001100
+00100000001101000101111001010110
+00100000010000000101111001111100
+00100000001000000101111010000101
+00011000110000100010001000000000
+01101111111001000100010011001110
+00011111111000001010010111111101
+00100000010000000101101010111110
+01101111111000100100010010111011
+11000011000000100101111000011101
+01101000010001000000010001110100
+01101111111001000100010011001100
+10011000010001100111110000000000
+00100100001000101101111000011101
+00100000010000000101111000100010
+00100100001101000101111000011101
+01110000000001000111011000000101
+00100000001000000101111001010111
+00011000000000000010001000000001
+00100000010000000101111001100010
+01011000000000000000000000010011
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000010000000111110111000001
+01101111111000100100010010011000
+11000001000000000000000000000000
+01101111111000100100000001000000
+11000011100000100000000000000000
+00100000001000000111110110111111
+00011000110000001010001000000010
+01101111111001000100010011001110
+00011111111000001010010111111011
+00100000010000000101101010111110
+00100000001000000101111000101101
+01101111111001000100010011001110
+00011111111000100010001000000000
+00100000010000000101111001100010
+01011000000000000000000000010111
+11100111111000100000000000000101
+01101111111001000000010001110100
+11100111111001000000000000000101
+01101111111001000100010011001110
+00011111111000001111001111111011
+01101111111001000100010011011111
+00011111111000001000110000000111
+11101111111001000000000000000110
+11100111111001000000000000000101
+00100000001000000111110011001111
+00011000000000000010001000000001
+00100000010000000101111001100010
+01011000000000000000000000011001
+11100111111000100000000000000101
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101111111001000100010011001110
+00011111111000001010010111111101
+00100000001000000101101010111110
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101111001100010
+00011010001000001010001111111101
+01011000000000000000000000011011
+11100111111000100000000000000101
+00011010011000100000010000000000
+11100000010001000000000000000101
+00100000011000000000000000000000
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101111001100010
+00011010001000001010001111111101
+01011000000000000000000000011101
+11100111111000100000000000000101
+00011010011000100000010000000000
+11100000010001000000000000000101
+00100000011000000000000000000000
+01110000000001000111011000001010
+00011000000000000010001000000101
+00100000010000000101111001100010
+01011000000000000000000000000001
+11100111111000100000000000000101
+01101111111000100000010001110011
+11100111111000100000000000000101
+01101111111001000000010001110100
+11100111111001000000000000000101
+01101111111000100000010001110110
+11100111111000100000000000000101
+00100000011000000000000000000000
+00011000000000000010010000000100
+00100000001000000101110000100111
+01101000010001000000101010011110
+00011000010000001000010000000001
+01100000010001000000101010011110
+00100000011000000000000000000000
+01101000010001000000101010011110
+01101111111001000100010000101110
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000010000100100010000110000
+11011010001000000100010000110001
+01101111111000100000010010011110
+00011111111000100111001000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011010010000000000010010011111
+00100000001000000111110101100011
+01101000010000100100010001000011
+11011010001000000100010001000100
+00100000001000000101111001101110
+01101111111000100000010010101111
+01100111111000100000000011111111
+00011111111000100111001000000000
+00100000010000000111110001111010
+00100000001000000111110011001111
+00100000010000000111110001110111
+01101111111001000000010010011010
+11100111111001000000000000000101
+01101111111001000000010010011100
+11100111111001000000000000000101
+01101111111000100000000011111111
+00011111111000100111001000000000
+00100000010000000111110011001111
+00100000001000000111110001111101
+00100000010000000111110001110111
+00100000010000000101110001101010
+00011000101000100111111000000000
+10011000110001100010001000000000
+00100000010000000101110001101101
+00011010001000100111111000000000
+11100111111001000000000000000110
+00011010001000001010001000000100
+00100000010000000101110001011001
+00011010001000100111111000000000
+11100111111000100000000000000110
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100111111001000100010000101100
+11101111111001000000000000000110
+01100111111001000100010000101110
+00100000011000000000000000000000
+11101111111000100000000000000110
+11101000010000100000000000000110
+11101000010001000000000000000110
+11000000000010011101111010011011
+00100000011000000000000000000000
+11101111111001000000000000000110
+01100111111001000100010011011011
+01110000000010101001010101000000
+00100000001000000111101110101011
+11011010001000000000000000001100
+11011010011000000000000000010010
+00100000010000000101111010100111
+01011000000000000000000000001000
+11100111111001000000000000000101
+01101111111100000100010001101000
+11100111111100000000000000000101
+00100000011000000000000000000000
+00100000010000000101111010101111
+11011010010000000000000000000101
+00100000010000000101110000100111
+00011010011000100111111000000000
+11100111111000100000000000000101
+01101111111000100100010011011010
+11100111111000100000000000000101
+00100000011000000000000000000000
+01101111111000100100010011011010
+00011111111000001111111000000001
+01100111111000100100010011011010
+11000001100000000000000000000000
+01110000010001001101101000000001
+00100000011000000000000000000000
+01101111111000100100010010011000
+11000000000000000101111011000100
+11000000000000001101111011000111
+11000000000000010101111011001001
+11000000010000001101111010111101
+11000000010000010101111010111111
+11000000010000011101111011000010
+00100000011000000000000000000000
+01110000010001000010100000001101
+00100000001000000101111011000101
+01110000010001000010100000001101
+01110000010001000010011000000001
+00100000011000000000000000000000
+01110000010001000010100000001101
+00100000001000000101111011001010
+01110000010001000010100000000000
+01110000010001000010011000000011
+00100000011000000000000000000000
+01110000010001000010100000000101
+00100000001000000101111011000101
+01110000010001000010100000000101
+01110000010001000010011000000000
+00100000011000000000000000000000
+01101111111000100100010000101000
+01111001001000000111111000000011
+01100111111000100100010000101000
+00100000011000000000000000000000
+01101111111000100100010000101000
+01111001001111111111111000000011
+01100111111000100100010000101000
+00100000011000000000000000000000
+11101111111000100000000000000110
+11000000000000001101111011101001
+11000000000000011101111100010000
+11000000000000100101111100101101
+11000000000000101101111100111010
+11000000000000110101111101100000
+11000000000000111101111110100100
+11000000000001000101111110001111
+11000000000001001101111110100000
+11000000000001010101111110100100
+11000000000001011101111110100100
+11000000000001100101111110100101
+11000000000001101101111110101010
+00100000011000000000000000000000
+00011000000000000010001000000010
+00100000010000000110000001000010
+01011000000000000000000000001011
+11100111111000100000000000000101
+01101111111000100100010000101000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01100111111000100100010000011110
+11101111111011000000000000000110
+11100111111011000000000000000101
+01101111111000100100010010011000
+11000000000000000101111100111111
+00100000010000000101111100001011
+00100000010000000101111100000110
+01110000010001001001011000000011
+01101111111000100100010000011111
+11000000000000000101111011111000
+11000000000000001101111011111000
+11000000000000011101111011111000
+01101111111000100100010010011000
+11000000000000010101111011111011
+11000001010000011000000000000000
+11011111111000000000000000000000
+01100111111010000100010010011001
+00100000011000000000000000000000
+01101111111000100100010010111011
+11000010100000000101111100000100
+11011010001000000100010010011001
+00011010001000100000101000000000
+11011111001000000000000000000011
+00100000010000000110011011101111
+01101111111001000100010010011011
+00011111111000010111111000000111
+01100111111001000100010010011011
+01110000000010101001010100110100
+00100000001000000111101110101011
+01101111111000100100010000100001
+11000011100000011000000000000000
+01101111111000100100010010011000
+11000100000000111000000000000000
+00100000001000000100110101111101
+00011000000000000010001000000111
+00100000010000000110000001000010
+01101111111011100100010000100101
+11100111111011100000000000000101
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101111111000100100010010011000
+11000000010000011101111100010111
+00011010001000100000110000000000
+11011000101000000100001111111100
+00100000010000000111110010011010
+00100000001000000101111100011101
+00011010001000100000110000000000
+11011000101000000100001111111100
+00100000010000000111110010011010
+01110000010001001001000100000010
+01110000010001001001001100001000
+00100000011000000000000000000000
+01101111111000100100010010011000
+11000010100000111101111100100101
+00100000010000000111001001010010
+00011000000000000010001000010001
+00100000010000000110000001000010
+01011000000000000000000000000011
+11100111111000100000000000000101
+00100000001000000111001101001100
+11011000101000000100010000001100
+00100000010000000110011011101110
+00100000010000000111000010000100
+00011000000000000010001000010001
+00100000010000000110000001000010
+01011000000000000000000000000011
+11100111111000100000000000000101
+00100000001000000111000011000000
+00011000110000100010001000000000
+01101111111000100100010010011000
+11000010100000111101111101000001
+00011010001000100000110000000000
+00100000010000000111001001001010
+00100000001000101101111101010101
+01110000000001000111011100000100
+00011000000000000010001000000010
+00100000010000000110000001000010
+01011000000000000000000000000101
+11100111111000100000000000000101
+01101111111000100000010001110111
+11100111111000100000000000000101
+00011000000000000000111000001010
+00100000010000000111110011100010
+01110000010001001001011000000000
+01110000000010101001010100110000
+00100000001000000111101110101011
+01110000000001000111011100000101
+00100000001000000101111100110100
+11011000101000000000010000101011
+00011010001000100000110000000000
+00100000010000000111110010011010
+01101111111000100100010010011000
+11000000010000011101111101001100
+00100000010000000111000000001110
+00100000010000000101111101011010
+01101111111000100100010010011000
+11000001110000010000000000000000
+01110000000010101001010100111011
+00100000001000000111101110101011
+00100000010000000111000001111001
+11011000101000000000101011101110
+00100000010000000111000011000000
+11011010001000000000101011101110
+11011010010000000100001111111100
+11011111001000000000000000010000
+00100000010000000111110101100011
+00100100001000101101111100110011
+00100000001000000101111101011010
+00100000010000000111001001000110
+01110000000010101001010100110001
+00100000010000000111101110101011
+01110000010000111111101100000001
+01110000010001001001011000000101
+00011000000000000010001000010001
+00100000010000000110000001000010
+01011000000000000000000000000100
+11100111111000100000000000000101
+11011000110000000100010000001100
+00100000001000000111110010011010
+11011000101000000000010000011011
+00100000001000000111110010011010
+00011000000000000010001000010001
+00100000010000000110000001000010
+01011000000000000000000000000110
+11100111111000100000000000000101
+01101111111000100100010010111011
+11000010100000001101111101101010
+11011000110000000100001111101011
+00100000001000000111110010011010
+11011000110000000100010010111100
+00100000001000000111110010011010
+11011000101000000100010010011101
+00011000000000000111001000001010
+00100000010000000110011011101111
+00011000000000000010001000001011
+00100000010000000110000001000010
+01011000000000000000000000000111
+11100111111000100000000000000101
+01101111111001000100010010011101
+11100111111001000000000000000101
+01101111111100000100010010011111
+11100111111100000000000000000101
+00100000011000000000000000000000
+00011000000000000010001000010001
+00100000010000000110000001000010
+01011000000000000000000000001000
+11100111111000100000000000000101
+01011000000000000000000000000000
+11100111111100000000000000000101
+11100111111100000000000000000101
+00100000011000000000000000000000
+00011000000000000010001000001000
+00100000010000000110000001000010
+01011000000000000000000000001001
+11100111111000100000000000000101
+01101111111000100100010001100111
+11100111111000100000000000000101
+01101111111011000100010001110010
+11100111111011000000000000000101
+00100000011000000000000000000000
+01110000000001000111011100001000
+00100000001000000101111100110100
+01101111111000100100010000101010
+01101000010000100100010000101010
+10011000010000010111111000000000
+00100000011000000000000000000000
+11011000101000000100010010100111
+00100000010000000111110010011010
+00100000010000000101111110001011
+00101111111011000000000000000001
+00100000001000001101111110001001
+01101111111000100100000010010010
+11000001100001010000000000000000
+00100000010000000101111110011001
+00100100011101000000000000000000
+00100000001000000100110110001011
+00100000010000000111110111000001
+01101111111000100100010001100000
+11000001000000000000000000000000
+01101111111000100000010001010000
+00101111111000011000000011000000
+00100000011000001000000000000000
+00100000001000000111110110111111
+00100000010000000101111110001011
+00101111111011000000000000000001
+00100000001000001101111110001001
+00100000011000000000000000000000
+00100000011000000000000000000000
+11011000101000000000100110111010
+00100000010000000111110010001110
+01110000010001001001000100000010
+01110000010001001001001100000001
+00100000011000000000000000000000
+11011000101000000000101001101010
+00100000010000000111110010011010
+01110000010001001001001100000110
+01110000010001001001000100000010
+00100000011000000000000000000000
+00011000000000000010001001000001
+00100000010000000110000001000010
+01011000000000000000000000001100
+11100111111000100000000000000101
+11011000110000000100010110100100
+00100000001000000111110010001110
+00100000010000000111000000100101
+00011000000000000010001000010001
+00100000010000000110000001000010
+01011000000000000000000000001101
+11100111111000100000000000000101
+00100000001000000111000011000000
+01101111111000100100010010010110
+11000001011111111000000000000000
+11011000010000000000000000000011
+10011000010001100111110000000000
+00100100011000010000000000000000
+11011000111000000000000000001010
+00100000010000000111110011110001
+00100100011110100000000000000000
+00100000001000000101111110001001
+01000111000110011100000000100110
+01101111111000100100010010010110
+11000000000000000101111111001111
+11000000000000001101111111010101
+11000000000000010101111111001111
+11000000000000011101111111010111
+11000000000000101101111111011011
+11000000000000111101111111100111
+11000000000001000101111111101001
+11000000000001001101111111110000
+00100000011000000000000000000000
+01101111111000100100010010010111
+11000001100000100000000000000000
+01110000010001001001011111111111
+01110000010001001001011011111111
+01110000000010101001010100111111
+00100000001000000111101110101011
+01110000010001001001011000000010
+00100000001000000101111011100010
+01110000010001001001011000000100
+01011000000000010111011100000000
+11011000111000000000000000001010
+00100000001000000111110011100011
+01101111111000100100010010010111
+11000000000000100101111111011110
+00100000011000000000000000000000
+01110000010001001001011000000111
+01110000000010101001010100101001
+00100000010000000111101110101011
+00100000010000000101111101100010
+01101111111000100100000010010010
+11000001100001010000000000000000
+00100000010000000101111110011001
+00100000011101000000000000000000
+00100000001000000100110110001011
+01110000010001001001011000001000
+00100000001000000101111101101100
+01101111111000100100010000100100
+01101000010000100100010000101011
+10011000010000010111111000000000
+00101111111011000000000000000001
+00100000001000001101111111110010
+01110000010001001001011000001001
+00100000001000000101111101111000
+00100000010000000101111110000000
+00100000001000000101111111110010
+00011000000000000000111000001010
+00100000010000000111110011100010
+01110000010001001001011111111111
+01110000010001001001011011111111
+01110000000010101001010100111110
+00100000001000000111101110101011
+01000111000110100100000000100110
+01101111111000100100010010011000
+11000100000000111000000000000000
+01101111111000100100010010010001
+11000001100000010000000000000000
+01110000010001001001000100000000
+01101111111000100100010010010011
+11000000000000001110000000111000
+11000000000000010110000000111111
+11000000000000011110000000110010
+11000000000000110110000000011001
+11000000000000111110000000010000
+11000000000001000110000000000110
+00100000011000000000000000000000
+01101111111000100100011000110101
+00011111111000100000111000000000
+00011111111000001111111000000001
+01100111111000100100011000110101
+01101111111010000100010010011001
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100111111000100100011000110110
+00100000001000000110000000110101
+01101111111000100100010010010100
+01110000010001001001010000000000
+11000000000000001110000000010101
+01110000010001001001000100000010
+00100000011000000000000000000000
+01110000000010101001010100110001
+00100000010000000111101110101011
+01110000010001001001011000000101
+00100000001000000101111110110101
+01101111111000100000100110110101
+11000000000000011110000000011101
+01110000010001001001000100000010
+00100000011000000000000000000000
+00100000010000000111000001001100
+01101111111000100100010010011000
+11000000010000011110000000100001
+00100000010000000101111011111000
+00100000010000000111000000111001
+11011010001000000000101011101110
+11011010010000000000101001101010
+11011111001000000000000000010000
+00100000010000000111110101100011
+00100000001000101110000000101001
+01110000000001000111011100001011
+00100000001000000101111100110100
+00100000010000000111010001001010
+00100100001000101110000000100111
+01110000010000111111101100000001
+01101111111000100100010010011000
+11000000010000001110000000010101
+11000000010000011110000000010101
+01110000010001001001000100000010
+01110000010001001001001100000111
+00100000011000000000000000000000
+01101111111000100100010010011000
+11000000010000011110000000110110
+01110000010001100011011000000000
+00100000001000000101111100011101
+01110000010001100011010100000000
+00100000001000000101111011111011
+01110000010001001001000100000010
+01101111111000100100010010010101
+11000000000000011110000000111100
+00100000011000000000000000000000
+01110000010001001001001100000010
+01110000000010011011010100000000
+00100000001000000111100101001110
+01110000010001001001000100000010
+01110000010001001001001100000011
+00100000001000000101111110101111
+00011000000000000010010000000110
+00100000001000000101110000100111
+01000111000110101100000000100110
+01101111111000100000001011010111
+11000000000000000110000001011100
+11000000000000001110000001100100
+11000000000000010110000001101111
+11000000000000011110000010001011
+11000000000000100110000011000010
+11000000000000101110000011000111
+11000000000000110110000011001011
+11000000000000111110000011010110
+11000000000001000110000001111010
+11000000000001001110000011010110
+11000000000001010110000011010000
+11000000000001011110000011010110
+11000000000001100110000010000000
+11000000000001101110000011010110
+11000000000010010110000010000111
+11000000000010011110000011010110
+11011010001000000000000000000010
+11011010010000000000000000000111
+00100000010000000101110000100010
+01101111111000100000001011010111
+11100111111000100000000000000101
+00100000011000000000000000000000
+11101111111100100000000000000110
+01100111111100100100001110100101
+11101111111001000000000000000110
+01100111111001000000010001011011
+01101111111000100000010000111011
+01111001001000000111111000000101
+01100111111000100000010000111011
+00100000011000000000000000000000
+11101111111010100000000000000110
+01100111111010100100001110100000
+11101111111001000000000000000110
+01100111111001000000010001011011
+01101000010001000000010001010101
+10011000010001100111110000000000
+00100100001000010110000001101111
+01101111111000100000010000111011
+01111001001000000111111000000110
+01100111111000100000010000111011
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100111111001000000010001101001
+01100111111001000100010010001100
+00100000011000000000000000000000
+11011010011000000000000000010011
+11011010001000000000000000000010
+11011010010000000000000000000010
+00100000010000000101110000100010
+00011010011000100111111000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+11011010001000000000000000001001
+11011010010000000000000000001001
+00100000010000000101110000100010
+01011000000000000000000000000001
+11100111111100000000000000000101
+00100000011000000000000000000000
+00100000011101001000000000000000
+11011010001000000000000000000110
+11011010010000000000000000001100
+00100000010000000101110000100010
+01101111111010100100010011100010
+11100111111010100000000000000101
+00100000011000000000000000000000
+11011010010000000000000000010011
+00100000001000000110000010001001
+11011010001000000000000000000001
+00100000001000000101110000100010
+11101111111100000000000000000110
+01100111111100000100010010011111
+11101111111001000000000000000110
+01100111111001000100010010011101
+11101111111100000000000000000110
+01100111111100000100010001111100
+11101111111010000000000000000110
+01100111111010000100001111100011
+00100000010000000110000010110000
+01000111000110110100000000100110
+01101111111000100100010010010110
+11000000000000101110000010011101
+01101111111000100100010010111011
+11000010100000001110000010100000
+01101111111000100100001000010110
+00100100010110100110100010110000
+01101111111000100100001111111011
+11000000000000000110000010100101
+01110000010001001001011100000001
+00100000010000000110000010111110
+00100000001000000111001001011000
+01110000010000111111101100000001
+11011000110000000100010010111100
+11011000101000000100001111101011
+00100000010000000111110010011010
+00100000001000000110000010011101
+01000111000110111100000000100110
+01110000010001001001011100000000
+01110000010001001001011000000000
+01110000000010101001010101000001
+00100000001000000111101110101011
+11011010001000000000000000000010
+11011010010000000000000000001101
+00100000010000000101110000100010
+01011000000000000000000000000110
+11100111111000100000000000000101
+00100000011000000000000000000000
+11011000101000000100010010000100
+00011000000000000111001000001000
+00100000010000000110011011101111
+11011000101000000100001111100111
+00011000000000000111001000000100
+00100000010000000110011011101111
+11011010001000000000000000001101
+11011010010000000000000000000100
+00100000010000000101110000100010
+01101111111100000100010010000100
+11100111111100000000000000000101
+01101111111010000100001111100111
+11100111111010000000000000000101
+00100000011000000000000000000000
+11011010010000000000000000000101
+00100000001000000110000010001001
+11011010010000000000000000000110
+00100000001000000110000010001001
+11101111111100000000000000000110
+01100111111100000100010010000100
+11101111111010000000000000000110
+01100111111010000100001111100111
+00100000001000000111001001011000
+01101111111000100000010000111011
+01111001001000000111111000000100
+01100111111000100000010000111011
+00100000011000000000000000000000
+00100000011101001000000000000000
+01110000000010101001010100110010
+00100000010000000111101110101011
+01110000010001001001011100000100
+00100000001000000110000011000000
+01110000010001001001011100000010
+00100000010000000110000011010100
+01110000000010101001010100110011
+00100000001000000111101110101011
+11011010010000000000000000001011
+00100000001000000110000010001001
+00100000011000000000000000000000
+00100000011101011000000000000000
+01000111000111000100000000100111
+01011000000000000000000000000000
+01100111111000100000000001001000
+01100111111000100000000001010101
+01100111111000100000000001111000
+01100111111000100000000001111100
+01100111111000100100000101011001
+01100111111000100000010011010011
+01100111111000100000000101101011
+01100111111000100000100110110001
+01110000010001010010110100000000
+01110000000000100010011100000000
+01110000000001001101010000000000
+01110000000010011011000100000000
+01110000000010011011000000000000
+01110000000001001100110100000000
+00100000011000000000000000000000
+01000111000111001100000000100111
+00100000010101001110011011100001
+00100100010101001110011011100101
+00100000010000000110011010011110
+00100100011110100000000000000000
+01101111111000100000000001001100
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001111111000000000000001
+01100111111000100000000001001100
+01101111111000100000010101001101
+01101000010000100000000001001100
+00101111111011111111111000000000
+01111001001000001000010000000001
+01100000010000100000000001001100
+00011000010000010000010000000010
+01100000010000100000000001111111
+01101000010000100000000001001100
+00011111111000110111111000000000
+01100111111000100000000001111101
+01000111000111010100000000100111
+01101111111000100000000001111101
+11000000001111111110000101000111
+11000000000000011110000110010010
+11000000000000100110000110100011
+11000000000111100110000100111010
+11000000000000101110000100110110
+11000000000001111110001110001010
+11000000000010000110001000000101
+11000000000100011110001000100011
+11000000000111001110001110100011
+11000000000111000110001110011110
+11000000000110001110001000001000
+11000000000110111110001010010001
+11000000000100111110001010001101
+11000000000110011110001010001010
+11000000000100101110001010001111
+11000000000100110110001000011111
+11000000000000111110001000010111
+11000000000101101110001000001110
+11000000000101110110001000001111
+11000000000000001110001010000110
+11000000000000010110001001110001
+11000000000101000110001110010101
+11000000000001001110001001100111
+11000000000001011110001001000000
+11000000000001000110001000100100
+11000000000001100110001001001011
+11000000000011111110001000011011
+11000000000100000110001000011101
+11000000000100001110001010101011
+11000000000100010110001010101011
+11000000000110101110001010101100
+11000000000110110110001010101101
+11000000000100100110001010101011
+11000000000110100110001010101110
+11000000000010111110001010110111
+11000000000010001110001011010100
+11000000000010010110001011011000
+11000000000010011110001011011010
+11000000000001101110001011101100
+11000000000001110110001011101100
+11000000000101111110001010001011
+11000000000110000110001011101100
+11000000000001010110001011101100
+11000000000011000110001011101101
+11000000000110010110001011101100
+11000000000111101110001011110010
+11000000000111110110001100110011
+11000000000111111110001100101101
+11000000001000000110001101011010
+11000000001000001110001101101100
+11000000000000110110001110001001
+11000000000111010110000100111000
+01110000000000000111111000011001
+01110000000000000111110000000100
+00100000011000000000000000000000
+01110000000000000111110000000110
+00100000011000000000000000000000
+01110000000000000111110000111011
+00100000011000000000000000000000
+01101111111010000000010101001110
+00011111111000111111111000000000
+01100111111010000100000011010010
+01101111111000100000010101010010
+01100111111000100100000011011001
+01101111111010100000010101010011
+01100111111010100100000011100111
+01101111111010100000010101011000
+11100111111010100000000000000101
+01101111111000100000000000110001
+01111001001000000111111000000011
+01100111111000100000000000110001
+00100000011000000000000000000000
+01000111000111011100000000100111
+01101111111000100000010101001110
+01111001001000000111111000000111
+01100111111000100000000001111101
+11000000010000001110000101101001
+11000000010000010110000101101110
+11000000010010101110001010010010
+11000000010010110110001010101011
+11000000010001011110001010100000
+11000000010000011110000110000110
+11000000010000100110000110001000
+11000000010010000110000101011011
+11000000010010111110000101111111
+11000000010011000110000110000100
+11000000010011001110000101011110
+11000000010011010110000101100001
+11000001010000100000000000000000
+01110000000000000111110010000010
+01110000000000000111111000011001
+00100000011000000000000000000000
+01110000000000000111110010000010
+01110000000000000111111000101110
+00100000011000000000000000000000
+00100000010000000110000101100011
+01110000000000000111110010011010
+00100000011000000000000000000000
+00100000010000000110000101100011
+00100000001000000110000101100111
+11011000101000000100011000110000
+01101111111001100000010101001111
+11100111111001100000000000000101
+00100000011000000000000000000000
+00100000001000001111010110001101
+00100000011000000000000000000000
+01101111111000100000010101010000
+01111001001000000111111000000111
+01100111111000100000010011000101
+11000000010001011110000101110011
+00100000011000000000000000000000
+01101111111000100000010101010000
+01111001001000000111111000000111
+01100111111000100000010011000101
+11000000010001011110000101110111
+00100000011000000000000000000000
+01101111111000100100000101011011
+01101000010000100000000001001100
+01111101001110100000010000000101
+01100000010000100000000001001100
+01101111111000100000000000110000
+11000100000000101000000000000000
+01111001001111111111111000000101
+01100111111000100000000000110000
+01101111111000100000010011010011
+00100100011110100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100100001101001110000110000010
+01110000000000000111110000010010
+00100000001000000110011011001101
+01110000000000000111110010010111
+00100000011000000000000000000000
+00100000010000000110011011001101
+00100000001000000110001111100000
+01110000000000000111110010000100
+00100000011000000000000000000000
+01101000010000100000010101010001
+00011000010000010000010000000001
+01100000010000100000010011001100
+01101111111000100100000111001111
+11000000101010001110000110001110
+01110000010000011100111100000000
+01101111111000100000000001010101
+11000001100010101000000000000000
+01110000000000000101010100000100
+00100000001000000110011011111101
+01000111000111100100000000100111
+01101111111000100000010101001110
+01100111111000100000010011000101
+11000000000110011110000110111001
+11000000000001000110000111001000
+11000000000001111110000111001111
+11000000000010000110000111010101
+11000000000010001110000111010110
+11000000000010010110000111011110
+11000000000011000110000111110100
+11000000000010111110000111110111
+11000000000010011110000110110000
+11000000000111101110001100000000
+11000000000111110110001101001100
+11000000001000000110001100000010
+11000000001000001110001100011111
+00100000011000000000000000000000
+01000111000111101100000000100111
+01101111111000100000010101001110
+01100111111000100000010011000101
+11000000000000001110000111101011
+11000000000110011110000111000011
+11000000000001011110000111011111
+11000000000001000110000111100010
+11000000000010011110000110110011
+11000000001000000110000111101100
+11000000001000001110000111101111
+11000000000011000110000111110010
+11000000000010111110001000000011
+00100000011000000000000000000000
+01110000000010101001010100100000
+00100000010000000111101110101011
+00100000001000000100000111011000
+01110000000010101001010100011001
+00100000010000000111101110101011
+01110000010001010010110100000010
+01011000000000000000000001010000
+11011000111000000000000000000110
+00100000001000000111110011100011
+01101111111000100000010011001101
+01111001001000000111111000000000
+01100111111000100000010011001101
+01110000000010101001010100000001
+00100000010000000111101110101011
+01110000000000000111110010001011
+01101111111000100000000001010101
+11000000100000101110000011101000
+01110000000000000101010100000110
+00100000011000000000000000000000
+01110000000001001100011000001011
+01110000000000000111110000000111
+01110000000000000101010100000000
+00100000001000001110000011101000
+00100000011000000000000000000000
+01101111111000100100000110111110
+00100100011110100000000000000000
+00100000010000000100010001001011
+00100000010000000110001111011110
+00100000011101001000000000000000
+01111001001000000000000000100001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010000
+01101111111000100000000001001100
+11000100000000010000000000000000
+01110000000000000111110000010010
+00100000011000000000000000000000
+00100000001000000110001111100000
+00100000010000000110010000111011
+01101111111000100000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+01101111111000100000000001010101
+11000001100001010000000000000000
+01110000000000000101010100001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100011000010011
+00100000011000000000000000000000
+01101111111000100000010101001111
+11000000000000110110000111101000
+11000001100011000000000000000000
+01110000000001001100011000011000
+01110000000000000111110000000111
+00100000011000000000000000000000
+01110000000001001100011000000110
+01110000000000000111110000000111
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000010011010101000000000
+01110000000000000111110000000111
+00100000001000000110000011101000
+01110000000010011010101000000000
+01110000000000000111110000000111
+00100000001000000110000011101000
+01110000000010101001010100100100
+00100000001000000111101110101011
+01110000000010101001010100100011
+00100000010000000111101110101011
+00100000001000000100011011100101
+01110000000010101001010100100010
+00100000010000000111101110101011
+01011000000000000000000000000000
+01100111111001000000000001110101
+01101111111001000100000111100100
+00011111111000111111111000000000
+01100111111001000000000000110010
+01101111111000100100000111100110
+01100111111000100000000001110011
+01101111111000100100000111101000
+01100111111000100000000001110100
+00100000001000000100011011000010
+01110000000010101001010100100001
+00100000001000000111101110101011
+01101000010000100000010101001110
+01100000010000100000000001010100
+00100000001000000110001000011001
+01101111111000100000010011001101
+01111001001000000111111000000010
+01100111111000100000010011001101
+11000011100000011000000000000000
+01110000000000000111110000110001
+00100000001000000110000011101000
+00100000011000000000000000000000
+01101111111000100100000011010000
+01101000010000100000010101001110
+10011000010001100111110000000000
+00100000001000010110001000011001
+01110000000000000111110000000100
+01110000000000000111111000011111
+01110000000000000111110100101110
+00100000011000000000000000000000
+00100000010000000110010100111001
+00100000001000000110001000011001
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000100001
+00100000011000000000000000000000
+01110000000000000111110000100010
+00100000011000000000000000000000
+01101111111000100000000001010101
+11000001000010011000000000000000
+01110000000000000101010100000010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000110001111011011
+01110000000001001101000000000001
+01110000000010101001010100001010
+00100000010000000111101110101011
+00100000010000000110011011010101
+00100100001000001110001111100011
+00100100001101001110001000101111
+01110000000000000111110000000100
+01110000000000000111110100001000
+01110000000000000111111000100011
+00100000011000000000000000000000
+01101111111000100000000001001011
+01111001001000000111111000000010
+01100111111000100000000001001011
+00100000011000000000000000000000
+01101000010000100000000001001100
+01111101001110100000010000000001
+01100000010000100000000001001100
+00100000011000000000000000000000
+01101111111000100000000001111111
+00011111111000110111111000000000
+00011111111000010111111000000001
+00100000011000000000000000000000
+01101111111000100100001000010110
+00100000011110100000000000000000
+01101111111000100000100110110001
+00100000010110100110100010100100
+00100000011000000000000000000000
+00100000010000000110001000111011
+00100000010000000110001000110111
+01100111111000100000010011010001
+00100000010000000110001111011011
+01110000000000000111110000001100
+01101111111000100100000110111110
+00100100011110100000000000000000
+01101111111000100000000000110000
+11000011100000110000000000000000
+01110000000000000111111000000110
+00100000001000000110000100110100
+11011010001000000000000001000000
+00100000010000000111000101000111
+01101111111010000000010101001110
+01101000010010000000010110001110
+10011000010001100111110000000000
+00100000001000101110001001010100
+01110000000000000111110000000111
+01110000000001001100011000000101
+00100000011000000000000000000000
+00100000010000000110001001011000
+01101111111000100100011000101100
+00100000001110100110001100100000
+00100000011000000000000000000000
+00100000010000000111001000111100
+00100000010000000100000110101110
+01101111111000100000000001001011
+00101111111011111111111000000001
+01111001001111111111111000000001
+01100111111000100000000001001011
+01101111111000100000000001010101
+11000000000011001110001001100010
+11000000000011000110001001100010
+00100000011000000000000000000000
+01101111111000100000100110110001
+11000001100000000000000000000000
+01101111111000100000000001001100
+11000011100000010000000000000000
+00100000001000000110011110010011
+11011010001000000000010101001110
+11011010010000000000010101111110
+11011000101000000000010101011110
+00100000010000000111001000001000
+11011010001000000000000001000000
+00100000010000000110011011110011
+01110000000000000111110000001011
+01101111111000100000000000110000
+11000011000000110110001111011110
+00100000011000000000000000000000
+01101111111001000000000101011101
+00011111111000001111001111111101
+01101000010000100000010101001110
+01011000000000000000000011111111
+10011000010000001000101000000000
+11011000110000000000010101010000
+00100000010000000111110011011100
+01101000010000100000000001010011
+01101111111000100000010101001111
+10011000010001100111111000000000
+00011111111001100111110000001110
+00100000001000010110001010000001
+00011000010000001111111000001110
+01100111111000100000000001010011
+01110000000000000111110000000001
+00100000011000000000000000000000
+01101111111000100000000001001100
+01111001001000000111111000000011
+01100111111000100000000001001100
+11000010100000100110001111101000
+00100000011000000000000000000000
+01101111111000100000010101001110
+01100111111000100000000001111101
+01110000000000000111110000000010
+00100000011000000000000000000000
+00100000001000000110001000011001
+01110000000000000111110000110000
+00100000011000000000000000000000
+01110000000000000111110000101000
+00100000011000000000000000000000
+01110000000000000111110000100110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101111111001000000000000110010
+10011000000000000000010000000000
+01101111111000100000010101001111
+01100111111000100000000010010101
+10011000010011111000010000000000
+01101111111001000000010101010000
+00011111111000111111111000000000
+01100111111001000000000010010110
+01101111111010000000010101010010
+00011111111000111111111000000000
+01100111111010000000000010010001
+00011000010000100111111000000000
+01100111111001000000000010011000
+00100000011000000000000000000000
+01101000010000100100000101011011
+01101111111000100000010101001111
+10011000010000101111110000000000
+00100100001000101110000101011000
+00101111111011111111111000000000
+01101111111000100000000001001100
+01111001001000001111111000000101
+01100111111000100000000001001100
+01110000000000000111110010000001
+01110000000000000111110110001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000001000000110001000011001
+00100000001000000110001000011001
+01101111111001000000010101001110
+01100111111001000000000101101111
+00100000011000000000000000000000
+01101111111001000000010101010001
+01101000010000100100000101110011
+10011000010011111111111000000000
+11011000010000000000011001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+00100000001000000110001011010010
+01101111111001000000010101010011
+00100000001110100110001011010010
+00100000010000000110001010110001
+00100000001000010110001011010010
+01101111111000100100000010010010
+00011111111001100111110000001010
+00100000010000101101000011000001
+01101111111000100000000000110000
+11000010100000001110001011010010
+01101111111001000000010101001111
+00011111111000111111111000000000
+01100111111001000000000001110101
+01101111111001000000010101010001
+00011111111000111111111000000000
+01100111111001000000000000110010
+01101111111001000000010101010011
+01100111111000100000000001110011
+10011000000000000000010000000000
+01101111111001000000010101010101
+01100111111000100000000001110100
+10011000010001100111110000000000
+00100100001000010110001011001111
+01100111111000100000000001110011
+01110000000000000111110000000011
+01110000000000000111110100010111
+00100000011000000000000000000000
+01110000000000000111111000100100
+00100000001000000110000100110100
+00100000010000000110001000011001
+00100000010000000110001111011011
+00100000010000000111000101001010
+00100000001000000100011010110100
+00100000010000000110001000011001
+00100000001000000100011010111100
+01101111111010000000010101001110
+00011111111000111111111000000000
+00100000001101001110001011100110
+01101000010000100100000110111110
+00100100001110100110001011100011
+01110000000000000111110000000100
+01110000000000000111110100010011
+01110000000000000111111000100100
+00100000011000000000000000000000
+01110000000000000111110000110100
+01110000000000000101010100000000
+00100000001000000100000111010101
+00100000010000000100000111010101
+01111001001000000000000000100010
+01101111111000100000000101101011
+01111001001111111111111000000010
+01100111111000100000000101101011
+00100000001000000110001000011001
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100011000
+01110000000010101001010100101110
+00100000010000000111101110101011
+00100000001000000100011011100101
+01101111111000100000010101001110
+11000000100000001110001011111110
+01101111111000100000010101001111
+11000000100000001110001011111110
+01101111111000100000010101010000
+11000000100110000110001011111110
+00100000010000000110011011011110
+00100000001000001110001011111011
+01110000000010011010101000000001
+01110000000000000111110000000011
+01110000000000000111110100111101
+00100000001000000110000011101000
+01110000000000000111111000100100
+00100000001000000110000100110100
+01110000000000000111110000111110
+00100000011000000000000000000000
+01101111111000100100011000110100
+11000000000000001110001100001001
+11000000000000010110001100001101
+00100000010000000110011011011110
+00100000011000001000000000000000
+01110000000010011010101000001000
+00100000011000000000000000000000
+00100000010000000111100000010111
+01110000000010101001010100110101
+00100000010000000111101110101011
+00100000001000000110001100000101
+00100000010000000110011011011110
+00100000011000001000000000000000
+01101111111000100100011000110101
+11000000000010011110001100011101
+00011111111000001111111000000001
+01100111111000100100011000110101
+01110000000010011010110000000001
+01110000000010011010101000000100
+01101111111000100100011000110101
+00011111111000100000111000000000
+01101111111011000100011001011000
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100111111000100100011000110110
+00100000011000000000000000000000
+01110000000010011010101000001000
+00100000011000000000000000000000
+00100000010000000110001100100101
+01101111111000100100011000110111
+00100000011110100000000000000000
+01110000010001100011011100000000
+01110000000010101001010100111000
+00100000001000000111101110101011
+00100000010000000110011011011110
+00100100010000001111100000011010
+00100000010000001111100000101010
+00100000010000000110011011011110
+00100000011000001000000000000000
+01110000000010011010101000001100
+01110000000010011010110000000001
+00100000011000000000000000000000
+11011000101000000000101001101010
+11011000110000000000010101001110
+00100000010000000111110010011010
+01101111111000100100011000110100
+11000001000000010000000000000000
+00100000001000000111010110001101
+01101111111000100000100110101011
+11000000000000111110001100110111
+01101111111000100000100110101010
+11000000100000001110001101001010
+01101111111000100000100110110011
+00011111111001100000101000100000
+00100100001000010110001101001010
+11011000101000000000100111000010
+10011000101000001000101000000000
+01101111111100000000010101001110
+11100111111100000000000000000101
+01101111111100000000010101010110
+11100111111100000000000000000101
+01101111111000100000100110110011
+00011111111000001111111000010000
+01100111111000100000100110110011
+11000000100110000110001000011001
+00100000010000000110011011011110
+00100000001000001110001000011001
+01110000000010011011010000000001
+01110000000010011010101000000010
+01110000000010011010110000000001
+00100000001000000110001000011001
+01110000000000000111111000100100
+00100000001000000110000100110100
+01101111111000100000100110110010
+11000000000110000110001101010000
+01110000000000000111110000111110
+00100000001000000110000011101000
+00100000010000000110011011011110
+00100000001000001110001101011001
+01101111111000100100011000110100
+11000000000000010110001101010111
+01110000000010011010110000000001
+01110000000010011010101000000100
+00100000001000000110000011101000
+01110000000010101001010100110110
+00100000001000000111101110101011
+00100000001000000110000011101000
+01101111111000100000100110101011
+11000000000000111110001101011110
+01101111111000100000100110101010
+11000000100000110110001101101010
+11011000101000000000101000101010
+01101111111100000000010101001110
+11100111111100000000000000000101
+01101111111100000000010101010110
+11100111111100000000000000000101
+00100000010000000110011011011110
+00100000001000001110001101101000
+01110000000010011010101000000111
+01110000000010011010110000000001
+00100000001000000110001000011001
+01110000000010011010101100000100
+00100000001000000111010110001101
+01110000000000000111111000100100
+00100000001000000110000100110100
+01101111111000100000100110101011
+11000000000001011110001101110000
+01101111111000100000100110101010
+11000000100001000110001101111111
+11011000101000000000101001011010
+11011000110000000000010101001110
+00100000010000000111110010011010
+00100000010000000110011011011110
+00100000001000001110001101111100
+01101111111000100100011000110100
+11000000000000001110001110000001
+01110000010001100011001100000000
+01110000000010011010101000001001
+01110000000010011010110000000001
+01110000000000000111110101000001
+00100000001000000110000011101000
+01110000000010011010101100001001
+01110000000010011010110100000001
+00100000001000000110000011101000
+01110000000000000111111000100100
+00100000001000000110000100110100
+01101111111000100100011000110011
+11000010100000111110001110000110
+01111001001000000111111000000110
+01100111111000100100011000110011
+00100000011000000000000000000000
+11000010100000000110001101110111
+01110000010001100011001100000000
+00100000001000000110001101111111
+00100000001000000110000011101000
+01101111111000100000000101101011
+01111001001111111111111000000001
+01100111111000100000000101101011
+00100000010000000110001000011001
+00100100011101001000000000000000
+01101111111000100000010101001110
+01101000010000100000000001001011
+01111001001110100000010000000100
+01111101001110100000010000000101
+01100000010000100000000001001011
+00100000011000000000000000000000
+01101000010100000000010101001110
+01101111111000100000000001010101
+11000001100000011000000000000000
+01101111111000100000000101101011
+11000011000000100110001110011100
+01110000000000000101010100010100
+00100000011000000000000000000000
+01110000000000000101010100000100
+00100000011000000000000000000000
+01101111111000100000000101111101
+01100111111000100000000101011001
+01110000000000000111110000000011
+01110000000000000111110100111000
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100111001
+00011000000000000111001000001001
+11011000110000000000010101001110
+11011000101000000000000101010000
+11101111111000100000000000000110
+00011111111000101111111001010101
+11100111111000100000000000000101
+11000010000000000110001110101000
+01101111111000100000000101010000
+01101000010000100000000101001111
+01111001001111111000010000000111
+01111001001111111000010000000100
+11000000011111111110001110111100
+11000000000000000110001111010101
+11000000000000101110001111001001
+11000000000000111110001111001000
+11000000000000110110001111001001
+11000000000001000110001111001000
+11000000000000001110001111000001
+11000000000000010110001111000001
+11000000000000011110001111000001
+11000000000001001110001111000001
+11000000000000100110001111000001
+00100000011000000000000000000000
+01101111111000100000000101001111
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100111111000100000000101001111
+00100000011000000000000000000000
+01111001001000000000010000000100
+01110000000000010111111000000101
+01101111111001000000000101010111
+10011000000000000111001000000000
+01100111111001000000000101011101
+11011000101000000000010101001101
+00100000010000000111110101001110
+01111001001000000000010000000111
+01111001001000000000010000000010
+00011000000000000111111000000000
+01100111111000100000000000001011
+01100111111001000000000011111000
+01100111111001000000000011111010
+01100111111001000000000011110110
+01100111111001000000000011110100
+01101111111000100000000101010001
+00101111111000011111111000000000
+01111001001000001000010000000110
+01100000010000100000000101001111
+00100000011000000000000000000000
+01111001001111111000000000010001
+01110000000000010100111100000000
+01101111111000100000000101111101
+01111001001111111111111000000110
+01100111111000100000000101111101
+00100000011000000000000000000000
+11011000110000000000010101001110
+11011000101000000000010101011110
+00100000001000000111110010011010
+01110000000000000111110000001001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010001
+00100000011000000000000000000000
+11011010001000000100000010100000
+00100000010000000111000100010100
+01110000000000000111110000000011
+01110000000000000111110100001000
+00100000011000000000000000000000
+01110000000000000111001000001010
+01110000000000000111110000000111
+01110000000001001100011000010110
+00100000011000000000000000000000
+01000111000111110100000000100111
+01111000010101000111110000000000
+00100000010000000110011010100011
+01101111111000100000000001001000
+00100000011110100000000000000000
+11000010100000111110010000100001
+11000000000000001110010101010001
+11000000000000010110010011000110
+11000000000000011110010000101100
+11000000000000100110010001000010
+11000000000100111110010110111101
+11000000000101000110010011101010
+11000000000110000110010011010110
+11000000000100101110010110111000
+11000000000100110110010011100101
+11000000000110001110010110100101
+11000000000110111110010101001100
+11000000000110011110010100111110
+11000000000001000110011000111011
+11000000000001001110011000110001
+11000000000001011110011001000110
+11000000000001100110011001001111
+11000000000001111110010101000100
+11000000000010000110011001110100
+11000000000010001110011001101010
+11000000000000111110010100110100
+11000000000101010110010101100000
+11000000000001010110010101100001
+11000000000011111110010110011110
+11000000000000110110010011011011
+11000000000100001110010101000001
+11000000000101101110010110010100
+11000000000101110110010110011001
+11000000000100010110010101000001
+11000000000110100110010101100010
+11000000000010011110010101110111
+11000000000010111110010110000110
+11000000000010010110011001110001
+11000000000101111110010110001100
+11000000000011000110010110010001
+11000000000111101110010111100001
+11000000000111110110010111101101
+11000000000111111110010111111111
+11000000001000000110011000001001
+11000000001000001110011000011110
+11000000000100011110011000101101
+11000000000111011110011000101000
+11000000000000101110011000101110
+11000000000101001110011000101111
+11000000000111000110011000110000
+11000000000111001110010101010111
+00100000001000000100101010001011
+00100000011000000000000000000000
+11000000010000001110010001001111
+11000000010000100110010001111011
+11000000010000010110010001011000
+11000000010000011110010011101111
+11000000010001011110010011111010
+11000000010010111110010100110000
+11000000010011001110010010110111
+11000000010011010110010010000110
+11000000010010101110010010111100
+11000000010010110110010010111101
+00100000001000000100101010001011
+00011000000000000111111000000010
+00100000010000000110011001111010
+01101111111000100000000001001001
+11100111111000100000000000000101
+00100000010000000110011010001001
+01000111000111111100000000100111
+01101111111000100000000001001001
+11000000000001000110010001100010
+11000000000001111110010001100110
+11000000000010000110010001110001
+11000000000010111110010001000001
+11000000000110011110010001110100
+11000000001000001110010001111010
+11000000000010001110010000111011
+00100000011000000000000000000000
+01101111111000100000000001010101
+00100000011110100000000000000000
+01110000000000000101010100011011
+01011000000000000000000000001100
+11011000111000000000000000000111
+00100000001000000111110011100011
+00100000001000000100011011000010
+00011000000000000111111000000011
+00100000010000000110011001111010
+01101111111000100000000001001001
+11000000000001011110010001001010
+11100111111000100000000000000101
+01101111111000100000000001001010
+11100111111000100000000000000101
+00100000001000000110011010001001
+11100111111000100000000000000101
+01101111111000100000000001001010
+11100111111000100000000000000101
+11011000010000000000010011010001
+00100000001000000110011011000100
+00011000000000000000111000000100
+00100000010000000110011010000010
+01011000000000000000000001111111
+11100111111000100000000000000101
+01101111111000100000000001001001
+01111001001111111111111000000111
+11100111111000100000000000000101
+01101111111000100000000001001001
+00100000001000000110011010001001
+00011000000000000000111000000101
+00100000010000000110011010000010
+01011000000000000000000001111111
+11100111111000100000000000000101
+01101111111000100000000001001001
+01111001001111111111111000000111
+11100111111000100000000000000101
+01101111111000100000000001001010
+11100111111000100000000000000101
+00100000001000000110011010001001
+00100000010000000100010001001011
+00100000010000000110011011010101
+00100000011000001000000000000000
+00100000001000000110001111011110
+01101111111000100000000001001011
+11000010100000101110010001101101
+11000100000000100000000000000000
+01110000000000000111110000010010
+01111001001111111111111000000100
+00100000010000000110011011001101
+00100000001000000110010001101111
+01110000000000000111110000010000
+01111001001111111111111000000101
+01100111111000100000000001001011
+00100000011000000000000000000000
+00100000010000000110011011011110
+00100000001000001110001111100000
+00100000011000000000000000000000
+01110000000000000111110010001011
+01101111111000100000010011001101
+01111001001000000111111000000000
+01100111111000100000010011001101
+01110000000010101001010100000001
+00100000001000000111101110101011
+00100000011000000000000000000000
+00011000000000000000111000001100
+00100000010000000110011010000010
+01011000000000000000000000000001
+11100111111000100000000000000101
+01101111111001000000010011001010
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111001100000000000000101
+01011000000000000000000000000000
+11100111111010000000000000000101
+00100000001000000110011010010010
+00011000000000000000111000000101
+00100000010000000110011010000010
+01101111111001100100011000101101
+11100111111001100000000000000101
+00100000010000000110011010010010
+01110000010001100011011100000001
+01101111111000100100011000101101
+11000000000000001110010010010111
+11000000000000010110010010010001
+11000000000000011110010010011101
+00100000011000000000000000000000
+01101111111000100100011000110000
+11000000000000000110010010101001
+11000000000000001110010010101001
+11000000000000010110010010101001
+11000000000000011110010010100011
+00100000011000000000000000000000
+01101111111000100100011000110000
+11000000000000000110010010100011
+11000000000000001110010010100111
+11000000000000010110010010101001
+11000000000000011110010010100011
+00100000011000000000000000000000
+01101111111000100100011000110000
+11000000000000000110010010100011
+11000000000000001110010010100011
+11000000000000010110010010100011
+11000000000000011110010010100011
+00100000011000000000000000000000
+01110000010001100011010000000011
+01101111111000100100010100101110
+11000010100000000100110101100100
+00100000011000000000000000000000
+01110000010001100011010000000001
+00100000011000000000000000000000
+01110000010001100011010000000010
+00100000011000000000000000000000
+11011000111000000000000000000000
+00100000001000000110010010101111
+11011000111000000000000000000000
+00100000001000000110010010110011
+01101111111000100100010100101110
+11111001001000000111111000000000
+01100111111000100100010100101110
+00100000011000000000000000000000
+01101111111000100100010100101110
+11111001001111111111111000000000
+01100111111000100100010100101110
+00100000011000000000000000000000
+00011000000000000000111000000101
+00100000010000000110011010000010
+01101111111001100100011000101101
+11100111111001100000000000000101
+00100000001000000110011010010100
+00100000011000000000000000000000
+00011000000000000000111000001001
+00100000010000000110011010000010
+01101111111000100000000010010101
+11100111111000100000000000000101
+01101111111001000000000010010110
+11100111111001000000000000000101
+01101111111010000000000010010001
+11100111111010000000000000000101
+00100000001000000110011010010010
+00011000000000000111111000010001
+00100000010000000110011001111010
+01101111111000100000000001001001
+00011111111000100000010000000000
+11000000000000000110010011001110
+11000000000001110110010011001110
+11000000000011100110010011001110
+00100000011000000000000000000000
+11100111111000100000000000000101
+01101111111000100100010011100111
+11100111111000100000000000000101
+11011111001000000000000000001110
+01011000000000000100010011101000
+10011000010000001000110000000000
+00100000010000000111110011011100
+00100000001000000110011010010010
+00011000000000000111111000000011
+00100000010000000110011001111010
+01011000000000000000000100010100
+11100111111001000000000000000101
+00100000001000000110011010010010
+00011000000000000111111000000011
+00100000010000000110011001111010
+01101111111010000000000101100011
+10011100010001100111111000000000
+00100000001101001110010011100001
+00011111111001100111111000000000
+00011111111010110111111000000000
+01111001001111111111111000001111
+11100111111001000000000000000101
+00100000001000000110011010010010
+00011000000000000111111000000110
+00100000010000000110011001111010
+01101111111010100100010011100010
+11100111111010100000000000000101
+00100000001000000110011010010010
+00011000000000000111111000001001
+00100000010000000110011001111010
+01101111111100000100000010011000
+11100111111100000000000000000101
+00100000001000000110011010010010
+00011000000000000000111000001100
+00100000010000000110011010000010
+01011000000000000000000000000001
+11100111111000100000000000000101
+01101111111001000000010011001010
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111001100000000000000101
+01011000000000000000000000000000
+11100111111010000000000000000101
+00100000001000000110011010010100
+00011000000000000000111000000011
+00100000010000000110011010000010
+01101111111000100100000101011011
+11100111111000100000000000000101
+01111000010101000111110000000000
+00100000010000000110011010010100
+00100100011101000000000000000000
+00100100011101001000000000000000
+01101111111000100100000011011000
+11000100000000000000000000000000
+00100000010000000110010100010100
+00100000001000000110010100011110
+01000111001000000100000000101000
+01101111111000100100000010011110
+01111001001000000111111000000011
+01100111111000100100000010011110
+01011000000000000000000100000001
+01100111111001000000010011001010
+00100000011000000000000000000000
+01000111001000001100000000101000
+01101111111000100100000010011110
+01111001001111111111111000000011
+01100111111000100100000010011110
+01011000000000000000000000000000
+01100111111001000000010011001010
+00100000011000000000000000000000
+01110000010000001101100000000011
+01011000000000000000000000000000
+01100111111010000100000101000010
+11011000101000000100000011011010
+00100000010000000110010100100010
+11011000101000000100000011100111
+00100000010000000110010100100010
+11011000101000000100000101000110
+00100000010000000110010100100010
+00100000001000000110010100101001
+11011000101000000100000011100111
+00100000010000000110010100100010
+00100000010000000110010100101001
+00100000001000000110010100101100
+01011000111111111111111111111111
+11100111111001100000000000000101
+11100111111001100000000000000101
+11100111111001100000000000000101
+01011000000000000000000001111111
+11100111111000100000000000000101
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100111111001000100000011010110
+00100000011000000000000000000000
+01101111111000100100000011011000
+01111001001000000111111000000010
+01100111111000100100000011011000
+00100000011000000000000000000000
+00011000000000000000111000000010
+00100000010000000110011010000010
+00100100001101001110011010010010
+00100000001000000110011010010100
+00011000000000000111111000000010
+00100000010000000110011001111010
+01101111111000100000010011000110
+11100111111000100000000000000101
+00100000010000000110011010010100
+01101111111000100000000001001011
+01111001001000000111111000000011
+01100111111000100000000001001011
+01110000000000000111001000110010
+00100000011000000000000000000000
+00011000000000000111111000000001
+00100000010000000110011001111010
+00100000001000000110011010010100
+00011000000000000111111000000001
+00100000010000000110011001111010
+00100000001000000110011010010010
+00011000000000000111111000000010
+00100000010000000110011001111010
+01101111111000100000000001001100
+00101111111011000000000000000010
+01111001001000001111111000000000
+00011111111000010111111000000001
+11100111111000100000000000000101
+00100000001000000110011010010100
+00011000000000000111111000000011
+00100000010000000110011001111010
+01101111111001000000000001010001
+11100111111001000000000000000101
+00100000001000000110011010010100
+01110000000000000111001011111010
+00011000000000000111111000000010
+00100000010000000110011001111010
+01101111111000100000000001010011
+11100111111000100000000000000101
+00100000001000000110011010010100
+00011000000000000111111000001010
+00100000010000000110011001111010
+11011000110000000000000101010000
+00011000000000000111001000001001
+11101111111000100000000000000110
+00011111111000101111111001010101
+11100111111000100000000000000101
+11000010000000000110010101011011
+00100000001000000110011010010100
+00100000001000000110011010010100
+00100000001000000110011010010100
+00100000011101001000000000000000
+00100000010000000100100000101001
+00011000000000000111111000001001
+00100000010000000110011001111010
+01101111111001000000000101101111
+11100111111001000000000000000101
+01101111111001100100000010100000
+11100111111001100000000000000101
+01101111111000100100000010100011
+11100111111000100000000000000101
+01101111111001000100000010100100
+11100111111001000000000000000101
+11000101100000011110010101110011
+01111001001111111000000000000011
+00100000010000000110011010010100
+01110000000000000111110000010011
+00100000011000000000000000000000
+00100000010000000110011010010010
+01110000000000000111110000000011
+01110000000000000111110100010011
+00100000011000000000000000000000
+11011000010000000000001000000000
+00100000001101001110010101111011
+00011101000000100111111000000000
+00100000001000000110010101111100
+00011100010000100111111000000000
+00011100001000100111111000000000
+10011000010000001111111000000000
+00011111111000010111111111111100
+01100111111010000000000000110100
+00011000000000000111111000000101
+00100000010000000110011001111010
+01101111111010000000000000110100
+00011111111000110111111000000000
+11100111111010000000000000000101
+00100000001000000110011010010100
+00011000000000000111111000001010
+00100000010000000110011001111010
+11011000110000000000010011010101
+11101111111100100000000000000110
+11100111111100100000000000000101
+00100000001000000110011010010100
+00011000000000000111111000000011
+00100000010000000110011001111010
+01011000000000000000000100010100
+11100111111001000000000000000101
+00100000001000000110011010010100
+00011000000000000111111000000001
+00100000010000000110011001111010
+00100000001000000110011010010100
+00011000000000000111111000000010
+00100000010000000110011001111010
+01101111111000100100000011010000
+11100111111000100000000000000101
+00100000001000000110011010010100
+00011000000000000111111000000010
+00100000010000000110011001111010
+01011000000000000000000000000101
+11100111111000100000000000000101
+00100000001000000110011010010100
+00011000000000000111111000000010
+00100000010000000110011001111010
+01011000000000000000000000000000
+11100111111000100000000000000101
+00100000001000000110011010010100
+01110000000000000111110000101110
+00100000011000000000000000000000
+01101111111000100100000010010010
+00011111111001100111110000001010
+00100000010000101110010110100011
+01101111111000100000000000110000
+01111001001000000111111000000100
+01100111111000100000000000110000
+00011100010000100111111000000000
+01100111111010000000010011100101
+01101111111000100000010011001101
+11000010100000011110010110110110
+01111001001000000111111000000011
+01100111111000100000010011001101
+01110000000010101001010100000101
+00100000010000000111101110101011
+00011000000000000111111000000001
+00100000010000000110011001111010
+00100000001000000110011010010100
+01110000000000000100100000000000
+00100000011000000000000000000000
+00011000000000000111111000000110
+00100000010000000110011001111010
+01101111111010100100010011100010
+11100111111010100000000000000101
+00100000001000000110011010010100
+00011000000000000111111000001001
+00100000010000000110011001111010
+01101111111100000100000010011000
+11100111111100000000000000000101
+00100000001000000110011010010100
+01110000000010011010110100000001
+01101111111000100100010110000011
+11000001100000001000000000000000
+01110000000010011010101100010011
+00100000011000000000000000000000
+00100000010000000110011011010001
+01110000000000000111110010011001
+01110000000010011010101100000011
+00100000011000000000000000000000
+00100000010000000110011011010001
+01110000000000000111110000111101
+01110000000010011010101100000111
+00100000011000000000000000000000
+11011010001000000000101001001010
+11011010010000000000101001101010
+11011111001000000000000000010000
+00100000010000000111110101100011
+00100000001000101110010111011001
+01110000000010011010101100000000
+00100000010000000111010110001111
+01110000000000000111111000100100
+01110000000000000111110101000000
+00100000001000000110000100110100
+01110000000010011010101100001010
+00100000010000000111010110001101
+01110000000000000111110101000000
+00100000001000000110001000011001
+01110000000000000111110001000000
+00100000011000000000000000000000
+01110000000000000111110000111101
+00100000011000000000000000000000
+01110000000010011011001000000000
+00011000000000000111111000000100
+00100000010000000110011001111010
+00011000000000000111111000000001
+11100111111000100000000000000101
+00011000000000000111111000000001
+11100111111000100000000000000101
+00011000000000000111111000110000
+11100111111000100000000000000101
+00100000010000000110011011011110
+00100000001000001110011010010100
+00100000001000000110011010010010
+00011000000000000111111000010001
+00100000010000000110011001111010
+01101111111000100000100110110010
+11011000110000000100010111111100
+10011000110000001000110000000000
+11101111111100000000000000000110
+11100111111100000000000000000101
+11101111111100000000000000000110
+11100111111100000000000000000101
+01101111111000100000100110110010
+00011111111000001111111000010000
+01100111111000100000100110110010
+00100000010000000110011011011110
+00100000001000001110011010010100
+00100000001000000110011010010010
+01110000000010011010101000000110
+01110000000000000111110000111111
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110011001111010
+11011000110000000000101001001010
+11101111111100000000000000000110
+11100111111100000000000000000101
+11101111111100000000000000000110
+11100111111100000000000000000101
+00100000001000000110011010010010
+01110000000000000111110001000000
+00100000011000000000000000000000
+00100000010000000110011011011110
+00100000010000001111010011000111
+00011000000000000111111000010001
+00100000010000000110011001111010
+11011000110000000000101000011010
+11101111111100000000000000000110
+11100111111100000000000000000101
+11101111111100000000000000000110
+11100111111100000000000000000101
+00100000010000000110011011011110
+00100100001000001110011010010010
+00100000001000001110011010010100
+01110000000010011010101100001111
+00100000010000000110011011010001
+01110000000000000111110000001011
+00100000010000000110011011101001
+00100000001000001111010100000011
+00100000001000000111010100001101
+00100000010000000110011011001101
+01110000000000000111110001000001
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110011001111010
+11011000110000000000101001001010
+11101111111100000000000000000110
+11100111111100000000000000000101
+11101111111100000000000000000110
+11100111111100000000000000000101
+00100000010000000110011011011110
+00100100001000001110011010010010
+00100000001000001110011010010100
+00011000000000000111111000000011
+00100000010000000110011001111010
+01011000000000001111111111111110
+11100111111001000000000000000101
+00100000001000000110011010010010
+00100000001000000110011010010100
+00100000001000000110011010010100
+00100000001000000110011010010100
+00100000001000000110011010010100
+00100000010000000110011011101101
+11011010001000000100000010100000
+00100000010000000110011011110011
+00011000000000000111111000010001
+00100000010000000110011001111010
+11011010001000000000010101111110
+11011010010000000000010101011110
+00100000010000000111001000001000
+00100100001101001110011010001001
+00100000001000000110011010001111
+00100000010000000110011011101101
+11011010001000000000000001000000
+00100000010000000111000100010100
+00011000000000000111111000010001
+00100000010000000110011001111010
+11011000110000000000010101011110
+00100000010000000111110010011010
+01101111111000100000000001010101
+11000000000011001110011010010100
+11000000000011000110011010010100
+00100000001000000110011010001111
+01101111111000100000100110110001
+00100000001110100110011001001100
+00100000010000000110011011011110
+00100000010000001110011011010001
+00100100010000001110011011001101
+00100000001000000110011001001101
+00100000010000000110011011010001
+00100000010000000110011011101101
+00100000001000000110011000111110
+11011010001000000100000010100000
+00100000010000000111000101000111
+00011000000000000111111000000101
+00100000010000000110011001111010
+01101111111010000000010110001110
+11100111111010000000000000000101
+11011000010000000000010011010001
+00100000010000000110011011000100
+00100000010000000111001000111100
+00100000010000000110011011011110
+00100000001000001110011001011110
+01110000000001001101010000000001
+01101111111000100000100110110001
+00100000011110100000000000000000
+01110000000000000111110000001011
+01101111111000100100000110111110
+00100000011110100000000000000000
+00100000010000000110011011011110
+00100100001000001110011001100110
+01101111111000100000010011010011
+00100000011110100000000000000000
+01110000000000000111110000001111
+00100000011000000000000000000000
+11000110100100001000000000000000
+01111001001111111000000000100001
+01110000000000000111110000001111
+00100000011000000000000000000000
+00100000010000000110011011101101
+00100000010000000111000101001010
+00011000000000000111111000010001
+00100000010000000110011001111010
+11011000110000000000010101011110
+00100000010000000111110010011010
+00100000001000000110011010001111
+00011000000000000111111000000001
+00100000010000000110011001111010
+00100000001000000110011010001111
+00011000000000000111111000000010
+00100000010000000110011001111010
+00011000000000000111111000010000
+11100111111000100000000000000101
+01100111111000100000000001010100
+00100000001000000110011010001111
+00011111111010011111111000000000
+00011111111000011111111000000111
+01100111111000100000010010110010
+11011111001000000000000000010001
+11011000101000000000010010110100
+00100000010000000111110010101111
+11011000101000000000010010110100
+00100000011000000000000000000000
+00011111111000010010001001111111
+01110000000000000100100001111111
+00011000111000100111111000000000
+00100000010000000110011001111010
+00011010001000100111111000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01101111111000100000000001001000
+00011111111000111111111000000000
+01101000010000100000000001001100
+00101000010011111111111000000001
+01111001001000001111111000000000
+00100000001000000110011010011001
+01101000010000100000000001001100
+00011000010000010000010000000001
+00100000001000000110011010010101
+00011000000000000000010000000000
+00100000001000000110011010010101
+00011000000000000000010000000001
+01101111111000100000000001001000
+00011111111000111111111000000000
+01111001001101001111111000000000
+10011000010000101111111000000000
+01100111111000100000010010110011
+01110000000000000100100000000000
+00100000010000000110011010101001
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101111111000100000000001111100
+00100000011110100000000000000000
+00100000010000000110011010100011
+01101111111000100000000001111100
+00100000011000000000000000000000
+01000111001000010100000000101000
+01101111111000100000000001001000
+00100000001110100110011010101001
+01101111111000100000000001111000
+00100100011110100000000000000000
+00100000001000000110011010110011
+01101111111000100000000001111000
+00100000001110100110011010111001
+01101111111001100000000001111000
+01100111111001100000000001001000
+01101000010000100000000001111011
+01101111111000100000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100111111000100000000001001100
+01110000000000000111100000000000
+01101111111000100000000001111100
+00100000011110100000000000000000
+01101111111010000000000001111100
+01100111111010000000000001111000
+01110000000000000111110000000000
+00100000011000000000000000000000
+01101111111000100000000001111100
+00100000011110100000000000000000
+01101111111001100000000001111100
+01100111111001100000000001001000
+01101000010000100000000001111111
+01101111111000100000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100111111000100000000001001100
+01110000000000000111110000000000
+00100000011000000000000000000000
+01000111001000011100000000101000
+01101111111000100000000001001100
+00011111111000100010011000000000
+11101111111000100000000000000010
+00100000010000000110001000110011
+00100000010000000110011010001001
+00011010011000100111111000000000
+01100111111000100000000001001100
+00100000011000000000000000000000
+01101000010000100000000001001100
+01111001001111111000010000000000
+01100000010000100000000001001100
+00100000011000000000000000000000
+01101000010000100000000001001100
+01111001001000000000010000000000
+01100000010000100000000001001100
+00100000011000000000000000000000
+01111101001101001111111000000001
+01101000010000100000000001001100
+10011000010000101111111000000000
+00101111111011111111111000000001
+00100000011000000000000000000000
+01101111111000100000000001001100
+01111001001101001111111000000001
+01100111111000100000000001001100
+00100000011000000000000000000000
+01101111111000100000100110110000
+00101111111000001111111000000001
+00100000011000000000000000000000
+01101111111000100000100110110000
+01111001001000000111111000000111
+01100111111000100000100110110000
+00100000011000000000000000000000
+01101111111000100000100110110000
+01111001001111111111111000000111
+01100111111000100000100110110000
+00100000011000000000000000000000
+01101111111000100000100110110000
+00101111111011111111111000000111
+01100111111000100000100110110000
+00100000011000000000000000000000
+11011000101000000000010101011110
+00011000000000000111001000010000
+00011000000010100111111000000000
+11100111111000100000000000000101
+11000010000000000110011011101111
+00100000011000000000000000000000
+00100000010000000111000100011000
+11011010001000000100000110111111
+11011010010000000000010110001110
+11101111111100000000000000010001
+01101000010000100000000000110000
+01111101001110100000010000000110
+01100000010000100000000000110000
+00011010001000100000101000000000
+00100000010000000111001000001000
+00100000001000000100000111000000
+01000111001000100100000000101000
+00100000010000000110011010011110
+00100100011110100000000000000000
+01101111111000100000000001010101
+00100000011110100000000000000000
+11000000000000100110011101010001
+11000000000000101110011101010110
+11000000000000010110011101001000
+11000000000000011110011101011110
+11000000000001110110011101001011
+11000000000000110110011101111010
+11000000000000111110011110010010
+11000000000001001110011110010011
+11000000000001010110011110011100
+11000000000001011110011110100000
+11000000000001100110011101101000
+11000000000001101110011101101011
+11000000000001111110011101110001
+11000000000010010110011100111011
+11000000000010011110011101011110
+11000000000010000110011100111110
+11000000000010100110011100111000
+11000000000010101110011101011110
+11000000000010110110011100110010
+11000000000011000110011100110111
+11000000000010111110011100101011
+11000000000011001110011100110001
+11000000000011010110011100011100
+11000000000011011110011100100110
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101111111000100000010011001101
+11000100000000010000000000000000
+11000100000000011000000000000000
+01110000000000000101010100000000
+00100000010000000110011100100010
+00100000001000000110101110101110
+01101111111000100000000101101011
+11000100000000001000000000000000
+01110000000000000101010100001010
+00100000011000000000000000000000
+11011000111000000000000000000111
+00100000010000000111110011110001
+00100100011110100000000000000000
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101111111000100000000101101011
+01111001001111111111111000000000
+01100111111000100000000101101011
+01110000000000000101010100011001
+01110000000000000111110000001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101111111000100000010011010000
+11000001100000010000000000000000
+00100000010000000110011110100010
+01110000000000000101010100011000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000101010100010101
+01110000000000000111110010000011
+00100000011000000000000000000000
+01110000000000000101010100010011
+01110000000000000111110000100101
+00100000011000000000000000000000
+01101111111000100100010100101101
+11000001000000000000000000000000
+11000000000000001110011101000110
+11011000111000000000000000000110
+00100000010000000111110011110001
+00100100011110100000000000000000
+01110000010001010010110100000000
+00100000001000000110011101011111
+00100000011101001000000000000000
+00100000001000000110011101111010
+01110000000000000101010100000011
+01110000000000000111110000100111
+00100000011000000000000000000000
+01110000000000000111110000010011
+01111001001000000000000000000011
+01110000000000000101010100000101
+01011000000000000000000111111111
+01100111111001000000010011001110
+00100000011000000000000000000000
+01110000000000000101010100000101
+01110000000001001100111011111111
+01111001001111111000000000100010
+01110000000000000111110000110011
+00100000001000000110000011100101
+11000110000100010000000000000000
+01101111111001000000010011001110
+00011111111001100111111000000001
+00100000001000101110011101011100
+01100111111001000000010011001110
+00100000011000000000000000000000
+01110000000000000101010100001110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101111111000100000010011001101
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101111111000100000000101101011
+01111001001111111111111000000010
+01100111111000100000000101101011
+01110000000000000111110000010011
+01110000000000000101010100010000
+00100000011000000000000000000000
+01110000000000000101010100001101
+01110000000000000111110000110001
+00100000011000000000000000000000
+01101111111000100000010011001101
+11000100000000010000000000000000
+01110000000000000101010100000000
+00100000011000000000000000000000
+01110000000000000101010100000110
+00100000011000000000000000000000
+01101111111000100000010011001110
+00011111111000001111111111111111
+00100000001110100110011101110110
+01100111111000100000010011001110
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100011000010110
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101111111000100000000101101011
+11000010100000010110011101011111
+11000010100000000110011101111111
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101111111000100100000110111110
+00100000001110100110011110001011
+01101111111000100000010011001101
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101111111010000000010011100101
+11011000010000000000000001100100
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00100000001000000110011100101011
+01110000000000000101010100010110
+01110000010001100101011100000100
+01011000000000000011000000110000
+01100111111001000100011001011000
+11100111111001000000000000000101
+01110000000001001101000000000010
+00100000001000000110011100110010
+00100000011000000000000000000000
+01101111111000100000000101101011
+11000010100000001110011110010111
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101111111000100000000101101011
+01111001001111111111111000000001
+01100111111000100000000101101011
+01110000000000000111110000001111
+00100000011000000000000000000000
+01101111111000100000010011010100
+00100000011110100000000000000000
+01110000000000000101010100000000
+00100000001000000110011110010111
+01110000000000000101010100001100
+00100000011000000000000000000000
+01101111111000100000000001001011
+11000010100000010110011110100111
+00100000010000000110011011010001
+01110000000000000111110000001000
+00100000001000000101000011101010
+01101111111000100000000001001011
+01111001001111111111111000000010
+01100111111000100000000001001011
+00100000010000000110001111100011
+00100000010000000110011011011010
+00100000001000000101000011101010
+01011000000000000000000000000100
+01100111111000100100011001010111
+01011000000000000011000000110000
+11100111111001000000000000000101
+11100111111001000000000000000101
+00100000011000000000000000000000
+01110000100000000001000000000001
+00100000011000000000000000000000
+01000111001001000100000000101001
+01101111111001000100111111110110
+00011111111000100001010000000000
+00100000011000000000000000000000
+01000111001001001100000000101001
+00011001010000100111111000000000
+01100111111001000100111111110110
+01101111111000101000000001000011
+11000011100000111000000000000000
+01111001001000000111111000000111
+01100111111000101000000001000011
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011111001110
+00100000011000101000000000000000
+00100000001000010110011111000011
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011111010001
+00100000011000101000000000000000
+00100000001000010110011111001000
+00011111001000001111001000000100
+00100000001000000110011111010100
+11101111111100000000000000000110
+11100111111100000000000000001010
+00100000011000000000000000000000
+11101111111010000000000000000110
+11100111111010000000000000001010
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101111111000100000000000000110
+11100111111000100000000000001010
+11000010000000000110011111010110
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011111100111
+00100000011000101000000000000000
+00100000001000010110011111011100
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011111101010
+00100000011000101000000000000000
+00100000001000010110011111100001
+00011111001000001111001000000100
+00100000001000000110011111101101
+11101111111100000000000000000011
+11100111111100000000000000000101
+00100000011000000000000000000000
+11101111111010000000000000000011
+11100111111010000000000000000101
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101111111000100000000000000011
+11100111111000100000000000000101
+11000010000000000110011111101111
+00100000011000000000000000000000
+01000111001001010100000000101001
+00011000011000100111111000000000
+01100111111001000100111111111100
+00100000011000000000000000000000
+01000111001001011100000000101001
+01101111111001000100111111111100
+00011111111000100000011000000000
+00100000011000000000000000000000
+01110000000010101001010100111101
+00100000001000000111101110101011
+01000111001001100100000000101001
+01101111111000100100001000010110
+00100000011110100000000000000000
+00100000010000000110100010010101
+00100000010000101110100010011011
+00100000010000000110100000110000
+01101111111000100100001000010110
+00011111111000100010011000000000
+01101000010001000100001000010100
+01100000010001000000000110001010
+00011010011000100111111000000000
+00100000001110100110011111111011
+00011010011000001010011111111111
+00011000010000100010001000000000
+11101111111000100000000000010001
+01101000010000100000000110000010
+10011000010001100111110000000000
+00100000010000101110100000010111
+00100000001000010110100000010011
+11101111111000100000000000010001
+00011111111000001111111000000001
+11100111111000100000000000010001
+01101000010001000000000110001010
+00011000010000001000010000100010
+01100000010001000000000110001010
+00100000001000000110100000000111
+01011000000000000000000000000000
+11100111111000100000000000010001
+01101111111000100000000110000011
+11100111111000100000000000000101
+11000000100110011110100000100101
+11011010010000000100000110111111
+11101111111011000000000000000110
+11100111111100000000000000000101
+01011000000000000000000000000000
+11100111111100000000000000000101
+00011010010000100000110000000000
+00100000010000000111110010011010
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000000000110110110100000101001
+11000000000110111110100000101101
+11011010010000000100001111101011
+00100000001000000110100000011101
+11011000110000000100010010100111
+00100000010000000111110010011010
+11011000110000000100001111101011
+00100000001000000110100000100010
+11011000110000000100010010011111
+00100000010000000111110010011010
+00100000001000000110100000101011
+00100000010000000111110111000001
+01101111111000100100001000010110
+00100000011110100000000000000000
+01101111111001000100011001010010
+11000010100000000110100001000110
+01000111001001101100000000101001
+01101111111000100100010001100000
+11000000000000000110100000111111
+01101111111000100000010001010000
+00101111111000011000000011000000
+00100000001000001110100000111111
+00101111111000011000000001000000
+00100000001000001110100001000100
+00101111111000011000000000000000
+00100000001000001110100001000010
+01110000000000011000001100110101
+01101111111011000000010001001011
+00100000001000000110100001001001
+01110000000000011000001100110111
+00100000001000000110100001001001
+01110000000000011000001100110110
+00100000001000000110100001001001
+01000111001001110100000000101001
+01110000000000011000001100110011
+01101111111011000000000001000000
+01100111111011000000000110000100
+01101111111001000100001000010100
+11101000010000100000000000111111
+00011111111000001111111000000001
+01100111111001000000000110001010
+01100000010000100000000110000010
+01101111111000100100001000010110
+00011111111000100010011000000000
+01101111111001000000000110001010
+00011111111000100010001000000000
+00100000010000000110100001100001
+00100000011101000000000000000000
+01101000010001000000000110001010
+00011000010000001000010000100010
+01100000010001000000000110001010
+00011000010000001000010111111111
+11101111111000100000000000000010
+01100111111000100000000110000010
+00011010011000001010011111111111
+00100100001000101110100001010001
+01101111111000100100001000010110
+00011111111000001111111111111111
+01100111111000100000000110000010
+00100000011000000000000000000000
+01101111111000100000000110000011
+11000000100110011110100001101000
+11011010010000000000000110000011
+11011111001000000000000000000111
+00100000010000000111110101100011
+00100000001000101111110110111111
+00100000011000000000000000000000
+11000000000110110110100001101011
+11000000000110111110100010000110
+00100000001000000110100001100011
+11101000010000100000000000010001
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011000101000000000101010111110
+11011111001000000000000000010000
+00100000010000000111110010101111
+01101111111001100000010001001110
+01100111111001100000101010111110
+00100000010000000110100001111101
+01101111111001000000101011011011
+00011111111100001111111000000000
+00011111111011010000010000000000
+11101111111000100000000000000110
+10011000010000001111111000000000
+01101000010001100000010001001011
+10011000010001100111110000000000
+00100000001000101111110110111111
+00100000011000000000000000000000
+11011000110000000000101010111110
+00100000010000000111001100111011
+11101111111000100000000000010001
+00100000010000000111001100111000
+00011000000000000110110001010000
+00011000000000000110110000000000
+00100000010000000111001011010001
+11011000101000000000101011001110
+00100000001000000111001101001100
+11101000010000100000000000010001
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000100010001000000000
+00011000110000001010011000001000
+11011010010000000100010010011111
+11011111001000000000000000001000
+00100000010000000111110101100011
+00100000001000101111110110111111
+00011010011000100010001000000000
+11011010010000000100010010100111
+11011111001000000000000000001000
+00100000010000000111110101100011
+00100000001000101111110110111111
+00100000011000000000000000000000
+01101111111001000100001000010100
+11101000010000100000000000111111
+00011111111000001111111000100010
+11101111111000100000000000111111
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101111111000100100001000010110
+00011111111000100111001000000000
+01101000010001000100001000010100
+01011000000000000000000000000000
+11100111111000100000000000000010
+00011000010000001000010000100010
+00011111111000001111111000000001
+11000010000000000110100010011111
+00100000011000000000000000000000
+01000111001001111100000000101001
+00100000010000000110100000110000
+01101111111000100000000000110000
+01111001001101000111111000000110
+01100111111000100000000000110000
+00100100001101000110100010101110
+00011010001000001000110000001010
+11011000101000000100000110111111
+00100000010000000111110010011010
+00100000001000000110100010111110
+01110000010000011011111000000000
+00100000011000000000000000000000
+01101111111100100100010010011101
+00100000001110100110100010111100
+00100000010000000110100000110000
+00100100001101000110100010111100
+01101111111001000000000110001010
+00011111111000001000110000000001
+11011000101000000100010010100111
+00100000010000000111110010011010
+11011000101000000100001111101011
+00100000010000000111110010011010
+01110000010000111111101100000001
+00100000011000000000000000000000
+01110000010000111111101100000000
+00100000011000000000000000000000
+01101111111100000100000110111111
+01101000010100000100000111000111
+10011000010000011111111000000000
+00100000011110100000000000000000
+01110000010000011011111000000001
+00100000011000000000000000000000
+00100000011101011000000000000000
+01110000010001010011100100000000
+01110000000001001110100100000011
+01110000000001001110101000000011
+01110000000001001110111000010001
+01110000000001001110111100010011
+01011000000000000000000000000000
+01100111111001100000010011101011
+01100111111000100100001000100110
+01110000010001100101000100000000
+01000111001010000100000000101010
+01011000000000000000000000000000
+01100111111000100100001000100110
+01100111111000100100010100110110
+01100111111000100100010100101111
+01101111111000100100010100111101
+11000000000000001110100011010111
+01110000010001010011101101010000
+00100000011000000000000000000000
+01110000010001010011101100000000
+00100000011000000000000000000000
+00011000010000011000010000000010
+00100000011000000000000000000000
+00011000010000100111111000000000
+00011111111011011111111000000000
+01100111111000100100010100110100
+00011000000000000111111000111111
+00011111111011011111111000000000
+01100111111000100100010100110011
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100111111000100100010100110010
+00100000010000000110100100010001
+00011000010000100111111000000000
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100111111000100100010100110100
+00011000000000000111111001110011
+00011111111011011111111000000000
+01100111111000100100010100110011
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100111111000100100010100110010
+00100000001000000110100100010001
+01101111111000100100010100110101
+00100000001110100110100011110100
+01011000000000000000000001110000
+00100000011000000000000000000000
+01011000000000000000000010101010
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100111111000100100010100110100
+00011000000000000111111011101111
+00100000010000000110100100000101
+01101000010001000000010011110011
+00011000010000100000101000000000
+11100111111000100000000000000101
+00011000101000100000010000000000
+01100000010001000000010011110011
+00011000000000000111111011111111
+00100000010000000110100100000101
+01101000010001000000010011110011
+00011000010000100000101000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100111111000100100010100110011
+01101111111001000100010100110011
+00011111111011010111111000000000
+01100111111001100000010011110000
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110100100011110
+00011111111000101111111011010111
+00011111111001000111111000000000
+00011111111011011111111000000000
+00100000011000000000000000000000
+01101111111001100100010100110010
+01100111111001100000010011110000
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110100100011110
+00011111111011010111111000000000
+11011010010000000000000000000111
+00100000010000000110100100011110
+00011111111000101111111000101011
+00011111111001000111111000000000
+00011111111011011111111000000000
+00011111111000100000010000000000
+00100000011000000000000000000000
+11011010011000000000000000000000
+00011010010000100111001000000000
+00100000010000000111110001001100
+00011111111000100000010000000000
+00011000010000100111111000000000
+00011010011000111010011000000000
+11000011000001000110100100100111
+10011010001000101000010000000000
+00011010011000001010011000000001
+00011000010000111000010000000000
+01101111111001100000010011110000
+00011010010000001010010111111111
+00101010010000011111111011111111
+00100000001000001110100100110001
+00011010010000100111001000000000
+00100000010000000111110001001100
+00101111111011111111111000000000
+01111001001000001000010000000000
+00100000001000000110100100100010
+00011000010000110111111000000000
+00100000011000000000000000000000
+01101000010000100100010100101111
+00011000010010111000010000000000
+01111001001000000000010000000000
+01101111111000100100010100110101
+00100100010110100110100011011001
+01100000010000100000010100001001
+00100000011000000000000000000000
+00011000010000111000010000000000
+01101111111000100100010100110101
+01111001001110100000010000000000
+00100000011000000000000000000000
+01101000010000100000010011111000
+01110000000001001111101011010111
+00100000010000000110101001110111
+01101111111000100100001000100011
+01111001001000000111111000000110
+01111001001000000111111000000111
+01100111111000100100001000100011
+01110000010001010011010100000000
+00100000001000000110101001011000
+01101111111000100100001000100011
+01111001001000000111111000000111
+01100111111000100100001000100011
+00100000001000000110101001011000
+01000111001010001100000000101010
+01101111111000100100011001010001
+11000000000000000110100101001111
+00100000001000000110101000001101
+01101111111001000000001001100000
+00011111111000100000110000000000
+00100000010000000110100101111001
+01101111111000100000010011111000
+11000000000000000110100101010101
+00100000001000000110100111011001
+01000111001010010100000000101010
+01101111111000100000010011111001
+11000000000111111110100100111110
+11000000001110011110100101000111
+11000000011101111110100101011100
+11000000001010011110101000000101
+00100000011000000000000000000000
+01101111111001000000010011111101
+00011111111000100000110000000000
+00100000010000000110100110000100
+01101111111000100000010011111111
+11000000001000001110100101100110
+11000000001000000110100101101110
+11000000001110001110100110100111
+11000000001110000110100110110011
+11000000001001001110100110111110
+00100000001000000110101001011000
+00100000010000000110100101110000
+00100000001000000110100101101000
+01101111111000100100001000100110
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100111111000100100001000100110
+00100000010000000110101010100001
+00100000001000000110101001011000
+00100000010000000110100101110000
+00100000001000000110101001011000
+00100000010000000110100110001100
+00100000001000000110100110011000
+00100000010000000110100110001100
+11101111111000100000000000000110
+00011111111010010111111000000000
+01100111111000100100010100111100
+11101111111000100000000000000110
+01100111111000100000010100000100
+00100000011000000000000000000000
+11101111111000100000000000000110
+01100111111000100000010011110111
+00011111111010010111111000000000
+01100111111000100000010011111000
+11101111111000100000000000000110
+01100111111000100000010011111001
+00100000010000000110100110001111
+01100000010001000000010011111011
+00011000110000100111111000000000
+01100111111001000000010011111101
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000110111111000000000
+01100111111000100000010011111111
+00100000010000000110100110001111
+01100000010001000000010100000000
+00011000110000100111111000000000
+01100111111001000000010100000010
+00100000011000000000000000000000
+01101111111001000000010100000010
+00011111111000100000110000000000
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000100000010000000000
+00011000010000110000010000000000
+11000011100000000000000000000000
+11101111111000100000000000000110
+00011111111010011111111000000000
+00011111111100100111111000000000
+10011000010000001000010000000000
+00100000011000000000000000000000
+11101111111000100000000000000110
+01100111111000100100010100101111
+11101111111000100000000000000110
+01100111111000100000010100000101
+11101111111000100000000000000110
+01100111111000100000010100000110
+11101111111000100000000000000110
+01100111111000100000010100000111
+11101111111001000000000000000110
+01100111111001000100010100110000
+11101111111000100000000000000110
+01100111111000100000010100001000
+11101111111000100000000000000110
+01100111111000100100010100111010
+00100000011000000000000000000000
+00100000010000000110100101110010
+00100000001000000110100110101001
+01101111111000100100001000100110
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100111111000100100001000100110
+01101000010000100100010100101111
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110101011010010
+01110000010001010011100100000011
+00100000001000000110101001011000
+01110000000010101001010100001000
+00100000010000000111101110101011
+00100000010000000110100101110010
+01101111111000100100010100111100
+00011111111001100111110000000001
+00100000001000101110100110111010
+00100000001000000100101010001011
+01101111111000100100001000100110
+01111001001000000111111000000111
+01100111111000100100001000100110
+00100000001000000110101001011000
+00100000010000000110100110001100
+11101111111000100000000000000110
+01100111111000100000101010111110
+00100000010000000101011010101100
+00100000010000000101011010111010
+01011000000000000000000000001110
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01101111111000100100010100110101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100111111000100000000000000101
+01000111001010011100000000101010
+01011000000000000001010111101111
+11100111111001000000000000000101
+01011000000000000001000110010001
+11100111111001000000000000000101
+01101111111000100000101010111110
+11100111111000100000000000000101
+01011000000000000000000000000111
+11100111111010100000000000000101
+01011000000000000000000000000001
+11100111111001000000000000000101
+00100000010000000110100011110000
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000001000000110100111011010
+01000111001010100100000000101010
+01101111111000100000010011111001
+11000000001110011110100111100010
+11000000000111111110100111100110
+11000000011101111110101000000000
+11000000011111111110100111111000
+11000000001010011110101000000111
+00100000011000000000000000000000
+01101111111000100100001000100110
+01111001001000000111111000000011
+01100111111000100100001000100110
+00100000001000000110101001011000
+01101111111000100100001000100110
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100111111000100100001000100110
+01101111111000100000010011110111
+00100000010000000110100011100111
+01100111111000100000010011111010
+00100000010000000110101001110111
+01101111111000100000010011110111
+00011111111010110111111000000000
+01100111111000100100010100101111
+00011111111010111111111000000000
+01111001001111111111111000000001
+01111001001000000111111000000000
+11011000010000000100010100110111
+01100000010001000000010011110011
+00100000010000000110100011110110
+00100000001000000110101001011000
+01101111111001000000010011111101
+00011111111000100000110000000000
+00011111111000001111111000000001
+01100111111001000000010011111101
+11101111111000100000000000000110
+01101000010000100100010100111010
+10011000010000001111111000000000
+01100111111000100100010100111010
+00100000010000000110101100000001
+00100000010000000110100100110011
+00100000010000000110101011101001
+00100000010000000110101100001010
+00100000001000000110101001011000
+01110000000010101001010100001001
+00100000010000000111101110101011
+00100000010000000110100011001110
+01101111111000100000010011110111
+00100000010000000110100011100111
+01100111111000100000010011111010
+00100000010000000110101001110111
+00100000001000000110101001011000
+01101111111001000000001001100000
+00011111111000100000110000000000
+00100000010000000110100101111001
+01101111111000100000010011111000
+11000000000000000110101000010011
+00100000001000000110101001000111
+01000111001010101100000000101010
+01101111111000100000010011111001
+11000000000111111110100100111110
+11000000001110011110100101000111
+11000000011101111110101000011001
+00100000001000000110101001011000
+01101111111001000000010011111101
+00011111111000100000110000000000
+00100000010000000110100110000100
+01101111111000100000010011111111
+11000000001000001110101000100010
+11000000001000000110101000100010
+11000000001110001110101000101101
+11000000001110000110101000111101
+00100000001000000110101001011000
+00100000010000000110100101110000
+01101111111000100100010100101111
+00011111111000110111111000000000
+01101000010000100100010100110110
+10011000010001100111110000000000
+00100000001000101110101000101001
+00100000001000000100101010001011
+01101111111000100100001000100110
+01111001001000000111111000000001
+01100111111000100100001000100110
+00100000001000000110101001011000
+00100000010000000110100101110010
+01101111111000100100010100111100
+01101000010000100100010100110110
+10011000010001100111110000000000
+00100000001000101110101000110100
+00100000001000000100101010001011
+00100000001000000110101001011000
+01101111111000100100001000100110
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100111111000100100001000100110
+01101000010000100100010100101111
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110101011010010
+00100000001000000110101001011000
+00100000010000000110100101110010
+01101111111000100100010100111100
+01101000010000100100010100110110
+10011000010001100111110000000000
+00100000001000101110101001000011
+00100000001000000100101010001011
+01101111111000100100001000100110
+01111001001000000111111000000111
+01100111111000100100001000100110
+00100000001000000110101001011000
+01101111111000100000010011111000
+01101000010000100100010100110110
+10011000010001100111110000000000
+00100000001000101110101001001101
+00100000001000000100101010001011
+00100000001000000110101001011000
+01101111111000100000010011111001
+11000000001110011110101001010010
+11000000011101111110101000000000
+11000000011111111110100111111000
+11000000001010011110101001010111
+01101111111000100100001000100110
+01111001001000000111111000000011
+01100111111000100100001000100110
+00100000001000000110101001011000
+00100000001000000110101001010110
+00100000001000000110101000000111
+00100000011000000000000000000000
+01101111111000100100010100111001
+00100000011110100000000000000000
+11000000000000011110101001011101
+00100000001000000100101010001011
+01110000010001010011100100000000
+00100000010000000101011010101100
+11011000010000000000000000000001
+01101000010000100100010100101111
+00011000010010111000010000000000
+00011000010000011000010000000011
+11011010001000000000000010101010
+00100000010000000110101010111101
+00100000010000000101011010111010
+00011000101000100000110000000000
+11101111111001000000000000000110
+00100000001110100100101010001011
+00100000011000000000000000000000
+00100000010000000101011010111010
+01011000000000000000000000000100
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01101111111000100000010011110111
+11100111111000100000000000000101
+01000111001010110100000000101010
+01011000000000000000000100111111
+11100111111001000000000000000101
+01101111111000100000010011111010
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000010000000101011010101100
+00100000010000000101011010111010
+01011000000000000000000000000100
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01101111111000100000010011110111
+11100111111000100000000000000101
+01000111001010111100000000101010
+01011000000000000000000101110011
+11100111111001000000000000000101
+01101111111000100000010011111010
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000010000000101011010111010
+01011000000000000000000000001110
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01101111111000100100010100110101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100111111000100000000000000101
+01000111001011000100000000101011
+01011000000000000001010111101111
+11100111111001000000000000000101
+01011000000000000001000110000011
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000011110000
+11100111111001100000000000000101
+01011000000000000000000001111111
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+01011000000000000000000000000001
+11100111111000100000000000000101
+00100000010000000110100011110000
+11100111111000100000000000000101
+01110000010001010011101100010000
+00100000011000000000000000000000
+00100000010000000101011010101100
+00100000010000000101011010111010
+01011000000000000000000000001110
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01101111111000100100010100110101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100111111000100000000000000101
+01000111001011001100000000101011
+01011000000000000001010111101111
+11100111111001000000000000000101
+01011000000000000001000110000001
+11100111111001000000000000000101
+01101111111000100100010100101111
+11100111111000100000000000000101
+01011000000000000000000011100000
+11100111111001100000000000000101
+01101111111001000100010100111110
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+01101111111000100100010101000000
+11100111111000100000000000000101
+00100000010000000110100011110000
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000010000000101011010111010
+01011000000000000000000000001000
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01101111111000100100010100110101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100111111000100000000000000101
+01000111001011010100000000101011
+01011000000000000000100111101111
+11100111111001000000000000000101
+01011000000000000000010111100011
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000010001101
+11100111111000100000000000000101
+00100000010000000110100011110000
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000010000000101011010101100
+00100000010000000101011010111010
+01011000000000000000000000001000
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+00011000010000100001011000000000
+01101111111000100100010100110101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100111111000100000000000000101
+01000111001011011100000000101011
+01011000000000000000100111101111
+11100111111001000000000000000101
+01011000000000000000010111100001
+11100111111001000000000000000101
+00011001011000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000010001101
+11100111111000100000000000000101
+00100000010000000110100011110000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01000111001011100100000000101011
+01101111111000100100010100111011
+00100000011110100000000000000000
+00011010001000100111111000000000
+01100111111000100000101010010111
+01100000010000100000101010010110
+00100000010000000101011001001000
+00100100011110100000000000000000
+00100000010000000101011010101100
+00100000010000000101011010111010
+01011000000000000000000000000101
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01101111111000100000010100001001
+11100111111000100000000000000101
+01011000000000000000000111111111
+11100111111001000000000000000101
+01101111111000100100010100111011
+11100111111000100000000000000101
+01101111111000100100010100111000
+11100111111000100000000000000101
+01110000010001010011101100000000
+00100000011000000000000000000000
+01000111001011101100000000101011
+01101111111000100100010100111101
+11000001000000001000000000000000
+01101111111001000000010011111011
+00100000011110100000000000000000
+01101111111000100100010100111011
+00011111111000001111111000000001
+01100111111000100100010100111011
+00100000011000000000000000000000
+01101111111001000100010101000001
+00100000001000000111110101110111
+01000111001011110100000000101011
+01101111111000100100010100111010
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111000100100010100111010
+01101111111001000100010100110000
+01101000010001000100011001101010
+10011000010001100111110000000000
+00100000001000010110101100010110
+01100111111001000100011001101010
+01101111111000100100010100111011
+00100000001110100110101100011110
+01110000000001010000110000000001
+01101111111000100100010100111000
+01100111111000100000010100001011
+01011000000000000000000011111111
+01100111111000100000010100001010
+00100000001000000110101100100011
+01110000000001010000110000000000
+01101111111000100100010100110111
+01100111111000100000010100001011
+01011000000000000000000011101111
+01100111111000100000010100001010
+01000111001011111100000000101011
+01101111111001000100011001101010
+00011111111001100111110001111111
+00100000001000010110101100101010
+01101111111000100000010100001100
+00011111111000001111111000000001
+01100111111000100000010100001100
+00100000010000000110100100110011
+01101111111001000100011001101010
+00011111111000001111111000001000
+01101000010000100000010100001100
+10011000010000001010001000000000
+00100000010000000101011000011010
+01100111111001000000001001110011
+00011111111000001111111000000100
+01100111111001000000001001110101
+00011111111000100000101000000000
+01101111111000100000010100001001
+11100111111000100000000000000101
+01101111111000100000010100001010
+11100111111000100000000000000101
+00100000010000000110101101010100
+00100000010000000110101101100101
+01000111001100000100000000101100
+01101111111001000100010101000011
+00011111111000100000011000000000
+01101111111001000100011001101010
+00011111111000100111001000000000
+00100000010000000110011111011010
+00011000101000100000010000000000
+00011000011000100111111000000000
+01100111111001000100010101000011
+00011000010000100000101000000000
+01101111111000100000010100001011
+11100111111000100000000000000101
+01101111111001000000001001110011
+00011111111000100000101000000000
+01101111111001000100011001101010
+01101000010000100000010100001100
+10011000010000001111111000000000
+00011111111000001111111000000100
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+01110000010001010011101100000000
+01101111111001000100010101000101
+11000000000000000100111011010100
+01110000000010110000000100000000
+00100000011000000000000000000000
+01000111001100001100000000101100
+01101111111001000100011001101010
+00011111111001100111110001111111
+00100100001000010110101101011100
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01101111111001000100011001101010
+00011111111010010111111000000000
+00011111111100011000010000000000
+00011111111000010111111001111111
+00011111111000111111111000000000
+01111001001111111111111000000000
+11100111111000100000000000000101
+11100000010000100000000000000101
+00100000011000000000000000000000
+01101111111000100100010100111011
+00100000011110100000000000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01000111001100010100000000101100
+00100000010000000111101111000001
+00100000010000000100110010001111
+00100000010000000110011011111101
+01000111001100011100000000101100
+00100000010000000111010110010001
+00100000010000000111010101101010
+00100000010000000111010101111011
+00100000010000000101011001001000
+00100100011110100000000000000000
+00100000010000000101000110000011
+00100000010000000101011001001000
+00100100011110100000000000000000
+01000111001100100100000000101100
+00100000010000000110101110110100
+00100000010000000101001100111110
+00100000010000000110101001011001
+00100000010000000110101101111101
+01000111001100101100000000101100
+00100000001000000100110010001011
+01101111111000100000001001111011
+11000010100000000101010001100001
+11000010100000111101010001101011
+00100000011000000000000000000000
+01000111001100110100000000101100
+00100000010000000101011001001110
+00100000011110100000000000000000
+01101111111000100000000001001011
+11000011100000110000000000000000
+00100000010000000101011000110010
+01100111111001000000000101101101
+00011111111000100000110000000000
+11101111111001000000000000000110
+00011111111000001111111000000100
+01100111111001000100000111011101
+01110000010000011101110000000110
+01000111001100111100000000101100
+01101111111001000100001000011000
+00100000001110100110101110011100
+01101111111000100000000001001011
+11000100000000111000000000000000
+01111001001111111111111000000111
+01100111111000100000000001001011
+01110000010000011101110000000101
+01101000010001000100001000011000
+01101111111001000000000101101101
+10011000010000001111111000000000
+01100111111001000000000101101101
+01101111111001000100000111011101
+10011000010001100111111000000000
+01100111111001000100000111011101
+01000111001101000100000000101101
+01101111111001000100000111011101
+00100000001110100100101010001011
+11011000010000000000000100000100
+10011000010001100111111000000000
+00100100001000010110101110101000
+01000111001101001100000000101101
+01100000010001000100000111011101
+01101111111001000100001000011000
+10011000010000001111111000000000
+01100111111001000100001000011000
+00100000001000000110101110101010
+01011000000000000000000000000000
+01100111111001000100001000011000
+01101111111000100000000001001011
+01111001001000000111111000000110
+01100111111000100000000001001011
+00100000011000000000000000000000
+01101111111000100100011001010100
+11000010100000000110101110110010
+01110000000000101000001100000001
+00100000011000000000000000000000
+01110000000000101000001100001111
+00100000011000000000000000000000
+01101111111000100100011001010001
+00100100001110100110101110111010
+01101111111000100000001010000010
+00100000011110100000000000000000
+01110000000000101000001000000000
+00100000011000000000000000000000
+01000111001101010100000000101101
+01101111111000100000001010000011
+00100000011110100000000000000000
+11000000000000001110101111011010
+11000000000000010110110000110011
+11000000000000011110101111100000
+11000000000000100110110000110111
+11000000000111011110101111101010
+11000000000111100110110000111010
+11000000000001101110101111101111
+11000000000001110110110000111111
+11000000000001111110101111110010
+11000000000010000110110001000101
+11000000000010001110101111111000
+11000000000010010110110001001001
+11000000000010011110101111111110
+11000000000010100110110001001101
+11000000000010101110110000000100
+11000000000010110110110001010001
+11000000000010111110110000001010
+11000000000011000110110001010110
+11000000000011001110110000010000
+11000000000011010110110001011010
+11000000000011011110110000010110
+11000000000011100110110001011110
+11000000000011101110110000011100
+11000000000011110110110001100011
+11000000000011111110110000100010
+11000000000100000110110001100111
+11000000000100001110110000101101
+11000000000100010110110001101011
+00100000011000000000000000000000
+00100000010000000110110001110110
+01110000000000101000001100000010
+01101111111000100100001000100010
+01111001001000000111111000000000
+01100111111000100100001000100010
+00100000011000000000000000000000
+01110000000000101000001100000100
+01101111111000100100001000100010
+11000011100000010000000000000000
+01110000000000101000001100000011
+00100000010000000110110001111101
+01110000000000101000001100000100
+01101111111000100100001000100010
+01111001001000000111111000000010
+01100111111000100100001000100010
+00100000011000000000000000000000
+00100000010000000101011001001110
+00100100011110100000000000000000
+00100000010000000110110010001100
+01110000000000101000001100111100
+00100000011000000000000000000000
+00100000010000000110110010000010
+01110000000000101000001100001110
+00100000011000000000000000000000
+00100000010000000110110010011100
+01110000000000101000001100010000
+01101111111000100100001000100100
+01111001001000000111111000000000
+01100111111000100100001000100100
+00100000011000000000000000000000
+00100000010000000110110010100011
+01110000000000101000001100010010
+01101111111000100100001000100100
+01111001001000000111111000000010
+01100111111000100100001000100100
+00100000011000000000000000000000
+00100000010000000110110010101000
+01110000000000101000001100010100
+01101111111000100100001000100101
+01111001001000000111111000000000
+01100111111000100100001000100101
+00100000011000000000000000000000
+00100000010000000110110010101111
+01110000000000101000001100010110
+01101111111000100100001000100101
+01111001001000000111111000000010
+01100111111000100100001000100101
+00100000011000000000000000000000
+00100000010000000110110010010000
+01110000000000101000001100011000
+01101111111000100100001000100011
+01111001001000000111111000000000
+01100111111000100100001000100011
+00100000011000000000000000000000
+00100000010000000110110010010111
+01110000000000101000001100011010
+01101111111000100100001000100011
+01111001001000000111111000000010
+01100111111000100100001000100011
+00100000011000000000000000000000
+00100000010000000110110010110100
+01110000000000101000001100011100
+01101111111000100100001000100011
+01111001001000000111111000000110
+01100111111000100100001000100011
+00100000011000000000000000000000
+00100000010000000110110010111011
+01101111111000100100001000100110
+01111001001000000111111000000000
+01100111111000100100001000100110
+01110000000000101000001100011110
+00100000011000000000000000000000
+00100000010000000110110011000001
+01101111111000100100001000100110
+01111001001000000111111000000010
+01100111111000100100001000100110
+01110000000000101000001100100000
+01101111111000100100010100110110
+00011111111010011111111000000000
+00011111111000011111111000000011
+11011000010000000100010100110111
+01100000010001000000010011110011
+00100000001000000110100011110110
+00100000010000000110110011001011
+01101111111000100100001000100110
+01111001001000000111111000000100
+01100111111000100100001000100110
+01110000000000101000001100100010
+00100000011000000000000000000000
+01101111111000100100001000100010
+11000100000000001000000000000000
+01110000000000101000001100000011
+00100000001000000110101110111010
+01101111111000100100001000100010
+11000001100111111000000000000000
+01110000000000101000001100111011
+01101111111000100000001010000001
+11000001100010111000000000000000
+01110000000000101000000100000000
+01110000000000101000001100001101
+00100000001000000110101110111010
+01101111111000100100001000100010
+00100100011110100000000000000000
+01101111111000100100011001010100
+11000010100000000110110001101110
+11000010100000110110110001110000
+00100000001000000110110001110100
+01101111111000100100001000100100
+11000100000000001000000000000000
+01110000000000101000001100010001
+00100000001000000110101110111010
+01101111111000100100001000100100
+11000001100111111000000000000000
+01110000000000101000001100010011
+00100000001000000110101110111010
+01101111111000100100001000100101
+11000100000000001000000000000000
+01110000000000101000001100010101
+00100000001000000110101110111010
+01101111111000100100001000100101
+11000001100111111000000000000000
+01101111111000100100011001010100
+11000010100000110110110001110000
+00100000001000000110110001110100
+01101111111000100100001000100011
+11000100000000001000000000000000
+01110000000000101000001100011001
+00100000001000000110101110111010
+01101111111000100100001000100011
+11000001100111111000000000000000
+01110000000000101000001100011011
+00100000001000000110101110111010
+01101111111000100100001000100011
+11000001111111111000000000000000
+01101111111000100100011001010100
+11000010100000110110110001110010
+00100000001000000110110001110100
+01101111111000100100001000100110
+11000100000000001000000000000000
+01110000000000101000001100011111
+00100000001000000110101110111010
+01101111111000100100001000100110
+11000100000000011000000000000000
+01110000000000101000001100100001
+00100000001000000110101110111010
+01101111111000100100001000100110
+11000001111111111000000000000000
+00100000001000000110110001110100
+01110000000000101000001100001111
+00100000001000000110101110111010
+01110000000000101000001100010111
+00100000001000000110101110111010
+01110000000000101000001100011101
+00100000001000000110101110111010
+01110000000000101000001100000000
+00100000011000000000000000000000
+01000111001101011100000000101101
+00100000010000000101011010010010
+01011000000000000000000000000001
+00011111111000100000010000000000
+01011000000000000000000001010000
+00011111111000100001011000000000
+00100000001000000101010010000010
+01000111001101100100000000101101
+00100000010000000101011010010010
+01101111111001000100001000011010
+00011111111000100000010000000000
+00100000001000000101010010010001
+01000111001101101100000000101101
+00100000010000000101011010010010
+01101111111001000100001000011010
+00011111111000100000010000000000
+11011001011000000000000001010000
+00100000010000000101010010100110
+01101111111000100100001000100010
+01111001001111111111111000000101
+01100111111000100100001000100010
+00100000011000000000000000000000
+01000111001101110100000000101101
+00100000010000000101011010011111
+00100000010000000110111111110111
+00100000001000000101010011000001
+01000111001101111100000000101101
+00100000010000000101011010010010
+01011000000000000000000000000011
+00011111111000100000010000000000
+01011000000000000000000001010001
+00011111111000100001011000000000
+00100000001000000101010010000010
+01000111001110000100000000101110
+00100000010000000101011010010010
+01101111111001000100001000011100
+00011111111000100000010000000000
+00100000001000000101010010010001
+01000111001110001100000000101110
+00100000010000000101011010010010
+01011000000000000000000000010001
+00011111111000100000010000000000
+01011000000000000000000001010010
+00011111111000100001011000000000
+00100000001000000101010010000010
+01000111001110010100000000101110
+00100000010000000101011010010010
+01101111111001000100001000011110
+00011111111000100000010000000000
+00100000001000000101010010010001
+01000111001110011100000000101110
+00100000010000000101011010010010
+01011000000000000000000000010011
+00011111111000100000010000000000
+01011000000000000000000001010011
+00011111111000100001011000000000
+00100000001000000101010010000010
+01000111001110100100000000101110
+00100000010000000101011010010010
+01101111111001000100001000100000
+00011111111000100000010000000000
+00100000001000000101010010010001
+01000111001110101100000000101110
+00100000010000000101011010101100
+01110000000001001111011100000011
+01110000000001001111101000011100
+00100000010000000110101001101010
+01110000010001010011010100000001
+00100000011000000000000000000000
+01000111001110110100000000101110
+00100000010000000101011010101100
+01101000010000100100010100110110
+00100000010000000110100100111010
+01100000010000100100010100101111
+00100000001000000110101010000101
+01000111001110111100000000101110
+00100000010000000101011010101100
+01101000010000100100010100101111
+00100000010000000110100100110100
+00100000010000000110100011011011
+01100111111000100000010011111010
+01101000010000100100010100101111
+00100000010000000110100100110100
+01100000010000100000010011110111
+00100000001000000110101001101010
+01000111001111000100000000101111
+00100000010000000101011010101100
+01101000010000100100010100101111
+00100000010000000110100100110100
+00100000001000000110101010111101
+01000111001111001100000000101111
+01101111111001000000001001100000
+10011000000000000000110000000000
+11101111111000100000000000000110
+00011111111000100010010000000000
+01100111111000100000010100010111
+11101111111001000000000000000110
+01100111111001000000010100011000
+11101111111000100000000000000110
+00011111111011010001011000000000
+11101111111000100000000000000110
+10011001011000001001011000000000
+01000111001111010100000000101111
+00011000110000100000010000000000
+11011111001000000000000000000100
+11011000101000000000010100100110
+00100000010000000111110010100001
+00011000010000100000110000000000
+00011010010000100111111000000000
+11000000000000001110111001111001
+11000000000000010110110011101011
+11000000000000011110111001111001
+11000000000000100110110100010011
+11000000000000101110111001111001
+11000000000000110110110111000001
+11000000000000111110111001111001
+00100000001000000110111010000000
+01000111001111011100000000101111
+00100000010000000110111010001111
+00101000010000011111111000000001
+00100000001000001110111011111111
+00101000010000011111111011111111
+00100000001000001110111010000011
+11101111111001000000000000000110
+01100111111001000000010100011110
+00011001011000001001011111111110
+00011001011000001001011111111111
+00100100001000101110111001111101
+11011001011000000000010100001101
+11101111111001000000000000001011
+00100000011110100000000000000000
+00100000010000000110111101000001
+00100000010000000101011010101010
+00011000000000000111111000000011
+11100111111000100000000000000101
+01101111111001000000010100011000
+11100111111001000000000000000101
+00011000111010111111111000000000
+00011111111000001111111000000101
+00011111111000001010011000000101
+00011111111100001111111000000000
+11100111111001000000000000000101
+00011000111000100111111000000000
+00011111111100001111111000000000
+11100111111001000000000000000101
+11100111111001000000000000000101
+11011000110000000000010100100110
+00011000111000100111001000000000
+00100000001000101110110100001110
+11101111111010000000000000000110
+11100111111010000000000000000101
+11000010000000000110110100001011
+00011000000000000111111000000000
+11100111111000100000000000000101
+00011010011000100111111000000000
+01100111111001000000001001110001
+00100000011000000000000000000000
+01000111001111100100000000101111
+11101111111010000000000000000110
+01100111111010000000010100100000
+00011001011000001001011111111100
+00100000010000000110110111101101
+01100111111001000000010100011100
+00011001011000001001011111111110
+00100000010000000110111011100111
+00100000001000101110111010000011
+00101010001000011111111000000101
+00100000001000001110110100100001
+11011000101000000000010100100110
+00011000000000000000111000000000
+00100000001000000110110100110000
+11101111111000100000000000000110
+11000000100001010110111010000011
+11101111111001000000000000000110
+00100100001110100110110100101110
+11101111111000100000000000000110
+11000000111111111110110100101100
+11101111111000100000000000000110
+11000000111111111110110100101010
+00100000001000000110110101110111
+00011000110000001000110111111011
+00100000001000000110110100011110
+00011000110000001000110111111100
+00100000001000000110110100011110
+00011000110000001000110111111101
+00100000001000000110110100011110
+11101111111000100000000000000110
+11000000000001001110110101000101
+11000000000001010110110100110011
+11101111111001000000000000000110
+11100111111001000000000000000101
+00011000111000001000111000000001
+00011111111100001010010000000000
+11101111111001000000000000000110
+00011111111100001111111000000000
+00011010010000001010010000000001
+10011010010001100111110000000000
+00100100001000010110110101000010
+00011111111000100010011000000000
+00011010010100001111111000000000
+11100111111001000000000000000101
+00011000111000001000111000000001
+00011010011000100111111000000000
+00100000001000000110110100111001
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100000001000000110110101001010
+11101111111001000000000000000110
+11100111111001000000000000000101
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111010000011
+00100100001000101110110100110000
+00011001011000001001011111111111
+00100100001000101110111010000011
+00100000010000000101011010101010
+00011000101000001000101000001010
+11011010001000000000010100100110
+00011000111000100111111000000000
+00100000001110100110110101100100
+11101111111001000000000000010001
+00100000001110100110110101100100
+10011000000000000010010000000000
+01101111111010000000010100100000
+10011000000000000000010000000000
+00100000010000000110111110100110
+00011000110000100111111000000000
+00100000001110100110110101100001
+00011000110000001000110111111101
+11101111111001100000000000000110
+11100111111001100000000000000101
+00100000010000000110111100011010
+10011000000000000111001000000000
+00100000010000000111110011011100
+00011010001000001010001000000010
+00011000111000001000111111111111
+00100000001000000110110101010001
+11011010001000000000000000000101
+00100000010000000110111001000011
+01101111111001000000001001110001
+11000000000001011110111100000010
+00100000001000000110111001011001
+11101111111000100000000000000110
+11000000000000000110110101101101
+11000000000000001110110101101111
+11000000000000010110110101110010
+00011001011000001001011111111111
+00100000001000000110110101110101
+11101111111000100000000000000110
+00011001011000001001011111111110
+00100000001000000110110101110101
+11101111111001000000000000000110
+00011111111100001111111000000000
+00011001011000001001011111111101
+01100111111001000000010100010101
+00100000011000000000000000000000
+00011001011000001001011111111011
+00100000010000000110110101101001
+00100100001000101110111001111101
+01101000010010000000010100100000
+00100000010000000110111101110000
+00100100001000101110111001111010
+00011000110000100010001000000000
+00100000010000000101011010101010
+00011010001000100000110000000000
+00011000101000001000101000000011
+00011000110000100001011000000000
+00100000010000000110111100100001
+00011111111000100010001000000000
+01101111111001000000010100010101
+00011111111000100010010000000000
+00011010001000100111111000000000
+10011010010001100010010000000000
+01101111111001000000010100011100
+10011010010001100111110000000000
+00100100001000010110110110100110
+01111000010101000111110000000000
+01101111111001000000010100010101
+00100000001110100110110110011001
+10011001011000001000110000000000
+00011010010000001010010000000011
+00011010010000100111001000000000
+00011111001000100111111000000000
+00011111111000001111111000000011
+00011111111100001111111000000000
+11100111111001000000000000000101
+00011111001000100111111000000000
+00011111111100001111111000000000
+11100111111001000000000000000101
+00100000001000000110110110110100
+00011010001000001111001000000110
+00100000001101000110110110011101
+00011111001100001111111000000000
+00100000001000000110110110100000
+00011111001000100111111000000000
+00011111111000001111111000000010
+00011111111100001111111000000000
+11100111111001000000000000000101
+00011111001000001111001111111101
+00011111001100001111111000000000
+11100111111001000000000000000101
+00011001011000100000110000000000
+00100000001000000110110110110100
+01111000001101000111110000000000
+01101111111001000000010100011100
+00011111111000100010001000000000
+00011010001000100111001000000000
+01101111111001000000010100010101
+00100000001110100110110110011001
+10011001011000001000110000000000
+00011010001000100111111000000000
+00011111111000001111111000000101
+00011111111100001111111000000000
+11100111111001000000000000000101
+00011010001000100111111000000000
+00011111111100001111111000000000
+11100111111001000000000000000101
+00100000010000000111110011011100
+00100100001101000110110110111101
+00011000000000000111111000000010
+11100111111000100000000000000101
+00011000110000100111111000000000
+10011001011001100111111000000000
+00011111111100001111111000000000
+11100111111001000000000000000101
+00100000001000000110110110111111
+00011000000000000111111000000000
+11100111111000100000000000000101
+11011010001000000000000000000101
+00100000001000000110111001101111
+01000111001111101100000000101111
+00100000010000000110111010001111
+00101000010000011111111011111111
+00100000001000001110111010000011
+00100000010000000110110111101101
+01100111111001000000010100011100
+00011001011000001001011111111110
+00100000010000000110111011100111
+11011000101000000000010100100110
+00011000000000000000111000000000
+11101111111000100000000000000110
+11000000000001010110110111110101
+11101111111001000000000000000110
+11100111111001000000000000000101
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111010000011
+00100100001000101110110111001011
+00011001011000001001011111111111
+00100100001000101110111010000011
+00100000010000000101011010101010
+00011000101000001000101000001101
+01101111111001000000010100001101
+10011000000000000010011000000000
+11011010001000000000010100100110
+11101111111001000000000000010001
+00100000001110100110110111101000
+10011000000000000010010000000000
+00100000010000000110111110000101
+00100000001110100110110111100110
+00011000110000001000110111111101
+11101111111001100000000000000110
+11100111111001100000000000000101
+00100000010000000110111100011010
+10011000000000000111001000000000
+00100000010000000111110011011100
+00011010001000001010001000000010
+00100000001000000110110111011011
+00100000010000000110111001000010
+01101111111001000000001001110001
+11000000000001110110111100000101
+00100000010000000110111001011001
+00100000001000000110111001011001
+11101111111001000000000000000110
+00011111111100001111111000000000
+00011111111000001111111111111101
+11011000010000000000000011001000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01011000000000000000000011001000
+00100000011000000000000000000000
+00011000110000001000110000000100
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100100001000101110111010000011
+00100000010000000110110101101001
+00100100001000101110111001111101
+11011001011000000000010100001101
+00100000010000000110111101000001
+00011000111000100111111000000000
+00100000001110100110111100000101
+01100111111000100000010101001010
+00011010010000100111111000000000
+01100111111001000000010101001000
+11011000111000000000000000000000
+11011010001000000000000000000000
+00100000010000000101011010101010
+00011000101000001000101000001010
+00100000010000000110111000101011
+00100100001101000100101010001011
+00011000110000100001011000000000
+00011111111000100010011000000000
+10011010001000001010001000000000
+01101111111001000000010100010101
+00011111111000100010010000000000
+00100000001110100110111000110100
+00011010001000100111111000000000
+10011010010001100010010000000000
+00100000001000101110111000100110
+00100100001000010110111000100110
+01101111111001000000010100011100
+10011010010001100111110000000000
+00100000001000101110111000011101
+00100100001000010110111000011101
+00011010010000100111001000000000
+00100000010000000110111000100000
+01101111111000100000010101001010
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000001000101110111001000010
+00100000001000000110111001011111
+00011111111000100111001000000000
+00100000010000000110111000100000
+00100000001000000110111001011111
+00011000101000001000101111111101
+00011111001000100000010000000000
+00011010011000100111111000000000
+10011010010001100111111000000000
+10011001011000001000110000000000
+00100000001000000111110011011100
+01101111111000100000010101001010
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000011000101000000000000000
+00100000001000000110111000000110
+00100000010000000111110111000001
+11011000110000000000010100100110
+00011000111010111111111000000000
+10011000110000001000110000000000
+11101000010010000000000000000110
+00100000010000000110111101110000
+00100100011000101000000000000000
+00100000010000000110111100011010
+00100000001000000111110110111111
+01101111111001000000010100011100
+10011010001001100111110000000000
+00100100001000010110111001001110
+00011010001000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111110011011100
+01101111111001000000010101001000
+10011010001001100111110000000000
+00100000001000101110111001000000
+00100000010000000110111001011111
+00100000001000000110111001010011
+00100000010000000110111001000010
+00100000001000000110111001010011
+11011010001000000000000000000111
+00011000000000000111111000000000
+11100111111000100000000000000101
+00100000010000000110111001101111
+01101000010001000000001001110001
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100111111001000000000000000101
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100111111001000000000000000101
+00100000011000000000000000000000
+00011111111000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111110011011100
+00100000010000000110111001011111
+01011000000000000000000000110110
+11100111111000100000000000000101
+01101111111001000000010101001000
+00011111111100001111111000000000
+11100111111001000000000000000101
+00100000011000000000000000000000
+01011000000000000000000000110110
+11100111111000100000000000000101
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100111111001000000000000000101
+00100000011000000000000000000000
+11011010001000000000000000000111
+01011000000000000000000000000010
+11100111111000100000000000000101
+01101111111001000000010100010101
+10011000010000001000010000000000
+00011000010100001111111000000000
+11100111111001000000000000000101
+00100000010000000110111001101111
+01101000010001000000001001110001
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100111111001000000000000000101
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100111111001000000000000000101
+00100000011000000000000000000000
+01101111111001000000001001101111
+10011000101001100111111000000000
+00011111111001100111111000000000
+01100111111001000000001001110001
+00100000010000000101011010101010
+00011010001000100111111000000000
+11100111111000100000000000000101
+01101111111001000000010100011000
+11100111111001000000000000000101
+00100000011000000000000000000000
+00100000011000000000000000000000
+01011000000000000000001000000000
+01100111111001000000010101000110
+00100000001000000110111010000101
+01011000000000000000010000000000
+01100111111001000000010101000110
+00100000001000000110111010000101
+01011000000000000000011000000000
+01100111111001000000010101000110
+00100000001000000110111010000101
+01011000000000000000001100000000
+01100111111001000000010101000110
+00100000010000000101011010101010
+11100111111000100000000000000101
+01101111111001000000010100011000
+11100111111001000000000000000101
+01011000000000000000001000000000
+11100111111001000000000000000101
+01101111111001000000010101000110
+11100111111001000000000000000101
+01110000000000100111000100000111
+00100000011000000000000000000000
+11011010010000000000000000000000
+00011000000000000000010000000000
+11011000101000000000010100001101
+00100000010000000110111011100111
+00100000001000101110111011100101
+00011010010000001010010000000001
+11101111111000100000000000000110
+00011010001000001010001111111111
+00011001011000001001011111111111
+00101111111000011111000000011000
+00100100001000001110111011100101
+00101111111000000000111000000100
+00100100001000001110111010110010
+00011000000000000000010000000001
+11101111111000100000000000000110
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000100000000110111010100110
+11101111111000100000000000000110
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000000000000110111010110111
+00100000001000000110111010101001
+00011000110000001000110000000001
+00011010001000001010001111111111
+00011001011000001001011111111111
+00011000110000001000110000000010
+00011010001000001010001111111110
+00011001011000001001011111111110
+00101000010000011111111000000000
+00100000001000001110111011011111
+00011000110000001000110000001100
+00011010001000001010001111110100
+00011001011000001001011111110100
+00100000001000000110111011011111
+00101111111000000000111000000010
+00100100001000001110111010110101
+00100000001000000110111010011101
+00101111111000000000111000000001
+00100100001000001110111011100101
+00011010001000001010001111111110
+00011001011000001001011111111110
+11101111111001000000000000000110
+00011010010001100111110000000100
+00100000001000101110111010111101
+11100111111001000000000000000101
+00101000010000011111111000000000
+00100000001000001110111011011111
+00011000110000100000010000000000
+11101111111000100000000000000110
+11000000100000000110111011011000
+11101111111000100000000000000110
+11000000100000000110111011011000
+11101111111000100000000000000110
+11000000100010000110111011011000
+11101111111000100000000000000110
+11000000100000000110111011011000
+11101111111000100000000000000110
+11000000110000000110111011011000
+11101111111000100000000000000110
+11000000100000000110111011011000
+11101111111000100000000000000110
+11000000100000000110111011011000
+11101111111000100000000000000110
+11000000110000000110111011011000
+11101111111000100000000000000110
+11000000101011111110111011011000
+11101111111000100000000000000110
+11000000110011011110111011011000
+11101111111000100000000000000110
+11000000100110100110111011011000
+11101111111000100000000000000110
+11000000011111011110111011011101
+00011000010000100000110000000000
+00011000110000001000110000001100
+00011000000000000000111000000000
+00011000000000000000010000000000
+00100000001000000110111011011101
+00011001011000001001011111110100
+00011010001000001010001111110100
+00011000000000000000010000000000
+00101010001000011111111000000000
+00100100001000001110111010010100
+00011000000000000111111000000000
+11100111111001000000000000000101
+00100000011000000000000000000000
+11011000010000000000000011111111
+00100000011000000000000000000000
+01000111010000000100000000110000
+11101111111000100000000000000110
+00011001011000001001011111111111
+00101111111000011111000000110000
+00100100001000001110111011111101
+00101111111000000000111000000111
+00100000001000001110111011110110
+00101111111000000000111000000110
+00100000001000001110111011111000
+00101111111000000000111000000101
+00100100001000001110111011111101
+11101111111000100000000000000110
+00011111111000100010001000000000
+00011001011000001001011111111111
+00100000001000000110111011111011
+00011000110000001000110000000010
+00011001011000001001011111111110
+11101111111001000000000000000110
+00011111111100001010001000000000
+00011001011000001001011111111110
+00011000000000000111111000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01011000000000000000000000000011
+01100111111000100000010100010111
+00100000001000000110111100000111
+01011000000000000000000000000101
+01100111111000100000010100010111
+00100000001000000110111100000111
+01011000000000000000000000000111
+01100111111000100000010100010111
+00100000010000000101011010101010
+01101111111000100000010100010111
+00011111111000100010010000000000
+11100111111000100000000000000101
+01101111111001000000010100011000
+11100111111001000000000000000101
+01011000000000000000010100000000
+11100111111001000000000000000101
+00101010010000011111111000000101
+00100000001000001110111100010110
+00101010010000011111111000000111
+00100000001000001110111100010110
+01011000000000000000000000000000
+11100111111010100000000000000101
+00100000001000000110111100011000
+01011000001101010000001000000000
+11100111111010100000000000000101
+01110000000000100111000100001010
+00100000011000000000000000000000
+00100000010000000111110001111101
+00100000010000000111110010000000
+00100000010000000110111100100001
+00100000010000000111110001110111
+00100000010000000111110001111010
+00011000010000100111111000000000
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000010111001000000111
+00011111111010010111111000000000
+11000000100000000110111100101011
+00011000000000000111111000000001
+00011000000000000000010000000001
+00100000011000000000000000000000
+00100000010000000111110001010001
+00011111111000001000010000000001
+00100000011000000000000000000000
+00011111001000100111111000000000
+00011111111001100111110000000100
+00100000001000010110111100101000
+11000000000000101110111100110010
+11000000000000110110111100110101
+11000000000000111110111100111001
+00100000011000000000000000000000
+11101111111000100000000000000110
+00011111111000001000010000000010
+00100000011000000000000000000000
+11101111111001000000000000000110
+00011111111100001111111000000000
+00011111111000001000010000000011
+00100000011000000000000000000000
+11101111111001000000000000000110
+00011111111100001111111000000000
+11101000010001000000000000000110
+00011000010100001000010000000000
+00011000010100000000010000000000
+10011000010000001111111000000000
+00011111111000001000010000000101
+00100000011000000000000000000000
+01000111010000001100000000110000
+00011000000000000000111000000000
+11011010010000000000000000000000
+11011000101000000000010100100110
+11101111111001000000000000001011
+00100000011110100000000000000000
+00100000010000000110111101001100
+00011000111000100111111000000000
+11000001000000111000000000000000
+00011001011000001001011000000010
+00100000001000000110111101000101
+10011000000000000010011000000000
+01101111111001000100010101000111
+10011000000000000000110000000000
+00011000111000100111111000000000
+11000001000000111000000000000000
+01111000010101000111110000000000
+11101111111000100000000000000110
+00100000011110100000000000000000
+10011000000000000111001000000000
+11101111111001000000000000000110
+10011010011001100111110000000000
+00100100001000101110111101011001
+01111000001101000111110000000000
+11000010000000000110111101010101
+11101000010010000000000000000110
+00011000110000100010001000000000
+00100100001101000110111101101100
+11011000110000000000010100100110
+11011111001000000000000000000111
+11101111111010000000000000000110
+00100000001110100110111101100101
+10011000010001100111110000000000
+00100000001000101110111101101100
+11000010000000000110111101011111
+00100000011000000000000000000000
+11100000010010000000000000000101
+00011000111000001000111000000001
+00011010001000100000110000000000
+00100000010000000110111100011010
+10011010010000001010010000000000
+10011000110000001000110000000000
+00100000001000000110111101001111
+00011010001000100000110000000000
+00100000010000000110111100100001
+10011000110000001000110000000000
+00100000001000000110111101001111
+01000111010000010100000000110000
+01101111111001000100010101000111
+10011000000000000000110000000000
+11101111111000100000000000000110
+00100000001110100111110110111011
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101111111010000000000000000110
+10011000010001100111110000000000
+00100000011000101000000000000000
+00011000101000100111111000000000
+01100111111001000000101010110111
+01100000010100000000101010011110
+00100000010000000110111100100001
+10011000110000001000110000000000
+00011000110000100111111000000000
+01101000010001000000101010110111
+00011000010000100000101000000000
+01101000010100000000101010011110
+00011111111000100000110000000000
+00100000001000000110111101110011
+01000111010000011100000000110000
+01101111111001000100010101000111
+10011000000000000000110000000000
+11101111111000100000000000000110
+00100000001110100110111110100011
+10011000000000000111001000000000
+11101111111001000000000000000110
+10011010011001100111110000000000
+00100000001000101110111110010011
+11000010000000000110111110001011
+00011000110000001000110000000100
+00100000010000000110111100100001
+10011000110000001000110000000000
+00100000001000000110111110001000
+00011111001000001111001111111111
+00011111001000111111111000000000
+10011000110000001000110000000000
+00011000110000001000110000000100
+00100000010000000110111100100001
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101111111001000000000000000110
+10011010010001100111110000000000
+00100000001000101111110111000111
+00100000010000000110111100011010
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101110111110100011
+00100000001000000110111110011001
+00011000000000000000110000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01000111010000100100000000110000
+01101111111001000100010101000111
+10011000000000000000110000000000
+11101111111000100000000000000110
+00100000001110100110111110111111
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101111111010000000000000000110
+10011000010001100111110000000000
+00100000001000101110111110110011
+00100000010000000110111100100001
+10011000110000001000110000000000
+00100000001000000110111110101001
+00100000010000000110111100100001
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101111111001000000000000000110
+10011010010001100111110000000000
+00100000011000101000000000000000
+00100000010000000110111100011010
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101110111110111111
+00100000001000000110111110110101
+00011000000000000000110000000000
+00100000011000000000000000000000
+11011010010000000000010000000000
+00100000010000000110111110110011
+11011010010000000000001100000000
+00100000010000000110111111001100
+00100100011101000000000000000000
+00011010001001100111110000000011
+00100000001000010111110111000001
+11101111111000100000000000000110
+11000000100001000111110111000001
+11101111111000100000000000000110
+00100000011000000000000000000000
+01000111010000101100000000110000
+00100000010000000110111100100001
+00011111111000100010001000000000
+11101111111000100000000000000110
+00011111111000010111001000000111
+00011111111010010111111000000000
+00011111111001100111110000000011
+00100000001000101110111111101000
+00011111001000100111111000000000
+11000000000000101110111111011111
+11000000000000110110111111100010
+11000000000000111110111111100101
+00011000110000001000110111111111
+00100000010000000110111100100001
+10011000110000001000110000000000
+00011010001000100111111000000000
+10011000010001100010001000000000
+00100000001000101111110111000001
+00100000001000000110111111001111
+00011010001000001010001111111110
+00011000110000001000110000000001
+00100000001000000110111111001111
+00011010001000001010001111111101
+00011000110000001000110000000010
+00100000001000000110111111001111
+00011010001000001010001111111011
+00011000110000001000110000000100
+00100000001000000110111111001111
+00011010001000001010001111111111
+00011111001000100111111000000000
+11000000000000001110111111110001
+11000000000000010110111111101111
+11000000000000100110111111101110
+00100000001000000111110111000001
+00011010001000001010001111110100
+11101111111001000000000000000110
+00011010001000001010001111111110
+11101111111001000000000000000110
+10011010010001100111110000000000
+00100000001000101111110110111111
+00011010001000001010001111111110
+00100000001000101111110111000001
+00100000001000000110111111001111
+00100000010000000101011010101010
+00011111111000100000101000000000
+01011000000000000000000000000110
+11100111111000100000000000000101
+01011000000000000000000001101110
+11100111111001000000000000000101
+01011000000000000000111100000000
+11100111111001000000000000000101
+01011000000110100000010100110101
+11100111111001100000000000000101
+01011000000000000000000100010001
+00011111111100000111111000000000
+11100111111010000000000000000101
+01011000000000000010011000000000
+11100111111001000000000000000101
+01011000000000000000001100110101
+11100111111001000000000000000101
+01011000000000000000000000001001
+11100111111001000000000000000101
+01011000000000000000000000000100
+11100111111001000000000000000101
+01110000000000100111000100010100
+00100000011000000000000000000000
+01000111010000110100000000110000
+01110000000001011110000101010000
+11011000101000000000010111100010
+11011000110000000100010000001100
+00100000010000000111110010011010
+11011000110000000100010110100100
+00100000010000000111110010011000
+11011000110000000000100110111010
+00100000010000000111110010011000
+00100000010000000111000011001001
+11011000110000000000010000101011
+00100000010000000111000011000100
+00100000010000000111000010001111
+11011000101000000000101011101110
+00100000010000000111000011000000
+01011000000011110100001001000000
+00011111111000100010001000000000
+01101111111010000000101011101110
+10011010001001101111110000000000
+00100000010000000111110101100001
+00011000000001110111111000000000
+01100111111010000000100110110110
+00100000011000000000000000000000
+01110000000001011110000101000001
+11011000101000000000010111100010
+00100000010000000111000001110100
+00100000010000000111000001101111
+01101111111001100100010000100110
+11100111111001100000000000000101
+00100000010000000111000000110101
+11011000110000000000010000101011
+00100000010000000111110010011010
+11011000110000000100010000001100
+00100000010000000111110010011010
+00100000010000000111000011001001
+11011000110000000000101100001110
+11011000101000000000101010111110
+00100000010000000111110010011010
+00100000001000000111000010001111
+01101111111010000100010010011001
+11100111111010000000000000000101
+00100000010000000111110010101000
+00100000001000000111110010100101
+01000111010000111100000000110000
+01110000000001011110000101000001
+11011000101000000000010111100010
+00100000010000000111000001101111
+00100000010000000111000001110100
+01101111111001100100010000011111
+11100111111001100000000000000101
+00100000010000000111000000110101
+11011000110000000100010000001100
+00100000010000000111110010011010
+11011000110000000000010000101011
+00100000010000000111110010011010
+00100000010000000111000011001001
+11011000110000000000101100001110
+11011000101000000000101010111110
+00100000010000000111110010011010
+00100000010000000111000010001111
+11011000101000000000101011101110
+00100000001000000111000011000000
+01110000000001011110000100100000
+11011000110000000000100111111010
+11011000101000000000010111100010
+00100000010000000111110010011000
+00100000010000000111000011001001
+11011000110000000000100110011010
+00100000010000000111000011000100
+00100000010000000111000010001111
+11011000101000000000101010111110
+00100000010000000111001101001100
+11011000010000000000000000000001
+00100000010000000111000001011110
+11011000101000000100001111101011
+00100000010000000111000011000000
+11011000010000000000000000000000
+00100000010000000111000001011110
+11011000101000000000101100001110
+00100000001000000111001101001100
+01000111010001000100000000110001
+01110000000001011110000100110101
+01011000000000000000000100000000
+01100111111001000000010111100010
+00100000010000000111000001101111
+00100000010000000111000001110100
+11011000110000000100010000001100
+00100000010000000111110010011010
+11011000110000000000010000101011
+00100000010000000111110010011010
+01011000000000000110110001100101
+11100111111001000000000000000101
+01011000000000000110001001110100
+11100111111001000000000000000101
+11100000010000100000000000000101
+00100000010000000111000011001001
+00100000001000000111000010001111
+01101111111011000100010001110010
+11100111111011000000000000000101
+01101111111000100100010001100111
+11100111111000100000000000000101
+00100000011000000000000000000000
+01101111111011000000010001001011
+11100111111011000000000000000101
+01101111111000100100010001100000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01110000000001011110000101000001
+01101111111000100100011000110110
+01100111111000100000010111100010
+11011000110000000100010110100100
+00100000010000000111110010011000
+11011000110000000000100110111010
+00100000010000000111110010011000
+00100000010000000111000011001001
+11011000110000000000010000101011
+00100000010000000111000011000100
+00100000001000000111000010001111
+01110000000001011110000101000001
+01101111111000100100011000110110
+01100111111000100000010111100010
+11011000110000000000100110111010
+00100000010000000111110010011000
+11011000110000000100010110100100
+00100000010000000111110010011000
+00100000010000000111000011001001
+11011000110000000100010000001100
+00100000010000000111000011000100
+00100000001000000111000010001111
+01000111010001001100000000110001
+00100000010000000111000011011110
+01101111111000100000010111100001
+00011111111000100000010000000000
+00011111111000001111111000001111
+00011111111100011111111000000000
+00011111111000100010010000000000
+00100000001110100111000010100001
+00011000010000010111111000001111
+00100100001110100111000010100100
+11011010011000000000101011001110
+11011111111000000000010111100010
+00011111111000001111111111110000
+10011000010000001010001000000000
+11011000101000000000101011111110
+11011111001000000000000000000100
+00100000010000000111110010111000
+00100000001000000111000010101111
+11011010010000000000000000000001
+11011010001000000000000000000000
+00100000001000000111000010100101
+00011000010000010010001000001111
+11011111111000000000010111100010
+10011000010000001111111000000000
+10011010001001100000110000000000
+11011000101000000000101011101110
+00100000010000000111000100000100
+11011010011000000000101011011110
+11011010001000000000101011101110
+11011000101000000000101011111110
+11011111001000000000000000000100
+00100000010000000111110010111000
+00100000010000000111001101000110
+00100000010000000111001011101000
+11011000110000000000010111100010
+00011010010000001010010111111111
+00011010010000100111111000000000
+00100000001110100111000010111000
+00100000010000000111001100111011
+00100000010000000111001011011100
+00100000001000000111000010110010
+11011000101000000000101011101110
+00100000010000000111001101001100
+11011000110000000000101011111110
+00100000010000000111001100111011
+00100000010000000111001011101000
+11011000110000000000101011101110
+00100000010000000111001100111011
+00100000001000000111001011011100
+00011000101000100010001000000000
+00100000010000000111001101001100
+11011111001000000000000000010000
+00100000001000000111110011000000
+11011000101000000000101010111110
+00100000010000000111110010011010
+11011111001000000000000000010000
+11011010001000000000101010111110
+00100000001000000111110011000000
+01101111111000100000010111100001
+00011111111000100111001000000000
+11011010001000000000010111100010
+00100000001000000111110011000000
+11101111111000100000000000010001
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+00101111111011111111111000001000
+01111001001000001010011000000000
+11100111111000100000000000010001
+00011010001000001010001111111111
+11000010000000000111000011001101
+00100000011000000000000000000000
+11011010001000000000101011001110
+00011010001000001010001000001111
+00011000000000000111001000010000
+00011000000000000010011000000000
+00100000001000000111000011001101
+11011010001000000000101011011110
+00100000001000000111000011011000
+11011000110000000000101010111110
+00100000010000000111001100111000
+00011000000000000111000000001000
+00100000010000000111001101000111
+00100000010000000111001101000110
+00100000010000000111001011011001
+11011000101000000000101011001110
+00100000010000000111001101001100
+01000111010001010100000000110001
+01101111111000100000101011001110
+00101111111011111111111000000111
+00100100001000001111000011101111
+00100000010000000111000011010111
+11011010011000000000101011001110
+11011000101000000000101011001110
+00100000010000000111000011111001
+00100000001000000111000011110000
+00100000010000000111000011010111
+11011000110000000000101011001110
+11011000101000000000101011011110
+00100000010000000111110010011010
+01101111111000100000101011011110
+00101111111011111111111000000111
+00100100001000001111000011011100
+00100000010000000111000011011100
+11011010011000000000101011011110
+11011000101000000000101011011110
+11011111001000000000000000000011
+11011000010000000000000000000000
+00100000010000000111000100000000
+00011010011000001010011000000100
+11000010000000000111000011111010
+11011000010000001000011100000000
+00011000010100000000010000000000
+11101111111010000000000000010011
+10011000010000101111111000000000
+11100111111010000000000000000101
+00100000011000000000000000000000
+01000111010001011100000000110001
+11011111001000000000000000010000
+11011111111000000000000000000000
+10011010001001100111110000000000
+00100000001000101111000100001111
+00100000001000010111000100010010
+11101000010000100000000000000110
+11100000010000100000000000000101
+00011111111000001111111000000001
+11000010000000000111000100000111
+00100000011000000000000000000000
+11011000010000000000000010000000
+11100000010000100000000000000101
+00100000001000000111000100001100
+11011000010000000000000000000000
+00100000001000000111000100010000
+00100000010000000111000100100111
+11011000110000000000010110001110
+11011000101000000000010101111110
+00100000001000000111110010011010
+01111000010101000111110000000000
+00100000010000000111001000010101
+11011000110000000000010101011110
+11011000101000000000010110011110
+00011000000000000111001000001111
+00100000010000000111110011011100
+11101111111000100000000000000110
+00011111111000101111111000000110
+11100111111000100000000000000101
+01011000000000000000010110101110
+01100111111001000000010111010010
+01011000000000000000010110011110
+01100111111001000000010111010000
+01111001001000000000000000010010
+00100000001000000111000101100111
+01101000010000100100011001010111
+00011000000000000010010000010000
+00011000010000001010011000000110
+00011010011001100111110000010000
+00100000001000010111000100101101
+00011000000000000010011000010000
+11011000101000000000010110011110
+11011000110000000100011001011000
+00011000010000100111001000000000
+01111000010101000111110000000000
+11101111111000100000000000000110
+11100111111000100000000000000101
+00011010010000001010010111111111
+00100000001000101111000100111011
+11000010000000000111000100110001
+00100000001101000111000100101110
+01111000001101000111110000000000
+00011000000000000111001000000110
+00011010001000100000110000000000
+00100000001000000111000100110001
+11011000110000000000010101011110
+11011000101000000000010110101110
+00100000010000000111110010011010
+01101111111000100000010110111101
+10011010011000101111111000000000
+01100111111000100000010110111101
+01011000000000000000010110101110
+01100111111001000000010111010010
+01011000000000000000010110011110
+01100111111001000000010111010000
+01111001001000000000000000010010
+00100000001000000111000101100111
+01111000010101000111110000000000
+00100000010000000111001000010101
+00100000001000000111000101010001
+11011010001000000000000001010110
+01111000001101000111110000000000
+00100000010000000111001000010101
+00100000010000000111000101010001
+11011000110000000000010110001110
+11011000101000000000000001100010
+00100000001000000111110010011010
+01011000000000000000010101011110
+01100111111001000000010111010010
+01011000000000000100000110111111
+01100111111001000000010111010000
+01111001001111111000000000010010
+00100000010000000111000101100111
+11011010001000000000010110001110
+11011010010000000000010101011110
+11011000101000000000010110011110
+00100000010000000111001000001000
+11011010001000000000010110011110
+11011010010000000000010110101110
+00011010010000100000101000000000
+01111000001101000111110000000000
+00100000010000000111001000000110
+00100000010000000111001000100000
+01011000000000000000010110101110
+01100111111001000000010111010010
+01011000000000000000010110011110
+01100111111001000000010111010000
+01111001001000000000000000010010
+00100000001000000111000101100111
+01110000000001011101010000000000
+01101111111001000000010111010000
+10011000000000000000110000000000
+11011000101000000000010110111110
+00100000010000000111110010011010
+01101111111001000000010111010010
+10011000000000000000110000000000
+11011000101000000000010110001110
+00100000010000000111110010011010
+00100000010000000111000110001101
+01111000010101000111110000000000
+11000101100010010111000101110111
+01101111111000100000010111010100
+11000000100000100111000101110111
+01101010010001000000010111010010
+00100000010000000111000110111111
+00100000010000000111000110111110
+00100000010000000111000111010000
+01101111111000100000010111010100
+00011111111000001111111000000001
+01100111111000100000010111010100
+00100000010000000111000110001101
+01111000001101000111110000000000
+00100000010000000111000110111110
+00100000010000000111000111011111
+00100000010000000111000111101100
+00100000010000000111000111011111
+00100000010000000111000111101100
+00100000010000000111000111011111
+00100000010000000111000111101100
+00100000010000000111000111011111
+01101111111000100000010111010100
+00011111111000001111111000000001
+01100111111000100000010111010100
+11000000100010000111000101110000
+00100000010000000111000110001101
+01111000010101000111110000000000
+00100000001000000111000110111110
+01101111111000100000010111010100
+11011000110000000000010110111110
+00100000001110100111000110110100
+10011000000000000010010000000000
+00011000000000000111001000010001
+00011000110000100000101000000000
+11101111111000100000000000000110
+00011111111010011000010000000000
+00011111111010110111111000000000
+00011111111010010111111000000000
+10011000010000011111111000000000
+11100111111000100000000000000101
+11000010000000000111000110010011
+01011000000000000000010110111110
+10011010010000001000110000000000
+00011000000000000111001000010000
+11011000101000000000010101101110
+11101111111000100000000000000110
+11100111111000100000000000000101
+00101000110000011111111111001111
+00100100001000001111000110100011
+00011000110000001000110111101111
+11000010000000000111000110011110
+00011000000000000010001000000000
+00011010010000001010011111111111
+00011010011010111010011000000000
+00011010011010111010011000000000
+00100000010000000111001101101110
+01011000000000001000010000000000
+10011010011000001010011000000000
+11011000101000000000010101101110
+00011000000000000111001000010000
+11101000010000100000000000010011
+11101111111000100000000000000101
+10011000010000001111111000000000
+11100111111000100000000000000101
+00011010011000001010011000000001
+11000010000000000111000110101101
+00100000001000000111001101110010
+00011000000000000111001000010000
+00011000000000000000010000000000
+11101111111000100000000000000110
+10011000010000101000010000000000
+11000010000000000111000110110110
+00011000010000100111111000000000
+11100111111000100000000000000110
+11011000110000000000010110111110
+11011000101000000000010101101110
+00100000001000000111110010011010
+11011010010000000000010101101110
+00011000000000000111001000010000
+11011010001000000000010110001110
+00011010001000100000101000000000
+11101000010000100000000000010001
+11101111111000100000000000010010
+10011000010000101110000000000000
+00011111001000010010011000000011
+00100100001101000111000111001000
+00011010011000101010011000000011
+00011010011001100010011000000001
+00100000001000010111000111001011
+10011000010000001110000000000000
+11100110000000100000000000000101
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111000111000010
+00100000011000000000000000000000
+00100000010000000111001101101110
+00011000000000000111001000010000
+11011010001000000000010110001110
+11101111111000100000000000010001
+11011000110000001000010100000000
+00011111001000010010011000000011
+00011010011001100111110000000001
+00100000001000010111000111011001
+11011000110000001000011000000000
+10011000110000001000110000000000
+11101111111000100000000000000110
+11100111111000100000000000010001
+00011010001000001010001000000001
+11000010000000000111000111010011
+00100000001000000111001101110010
+00011000000000000111001000001000
+11011000110000000000010110001110
+00011000110000100000101000000000
+11101010001000100000000000000110
+11101010010000100000000000000110
+00011010001000111111111000000000
+10011010010000001111111000000000
+11100111111000100000000000000101
+00011010001000100111111000000000
+10011010010000001111111000000000
+11100111111000100000000000000101
+11000010000000000111000111100010
+00100000011000000000000000000000
+01011000100010101110010000101100
+10011000000000000000010000000000
+00011000000000000111001000000111
+00100000010000000111000111111001
+01011000000011010111010100011011
+10011000000000000000010000000000
+00011000000000000111001000000101
+00100000010000000111000111111001
+01101010001000100000010110011101
+01101111111000100000010110010001
+01100111111000100000010110011101
+01100010001000100000010110010001
+00100000011000000000000000000000
+00011000010000010010010000001111
+00011000010000010111111000001111
+11011000101000000000010110001110
+10011000101000001000101000000000
+11101010011000100000000000000101
+11100010001000100000000000000101
+00011010011000100010001000000000
+00011000010100011000010000000000
+11000010000000000111000111111010
+01011000000000000000010110001110
+10011010010000001000101000000000
+11100010001000100000000000000101
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000111001000001001
+01111000010101000111110000000000
+00011000000000000111001000010000
+11101000010000100000000000010001
+11101111111000100000000000010010
+00100000001101000111001000001111
+10011000010000101111111000000000
+00100000001000000111001000010000
+10011000010000001111111000000000
+11100111111000100000000000000101
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111001000001010
+00100000011000000000000000000000
+11011000101000000000010110101110
+11101111111011000000000000010001
+11100111111011000000000000000101
+00100000001101000111001000011011
+11101111111011000000000000010001
+00100000001000000111001000011100
+11101111111011000000000000000110
+11100111111011000000000000000101
+11101111111010000000000000010001
+11100111111010000000000000000101
+00100000011000000000000000000000
+11011000110000000100000110111111
+11011000101000000000010110011110
+11011000010000000000000000000000
+01011000100000111001010110100111
+00100000010000000111001001000001
+01011000101100111100000111011111
+00100000010000000111001001000001
+01011000000000001110010111101001
+00100000010000000111001001000010
+00011000010000100010100000000000
+01111000010101000111110000000000
+00100000010000000111001000101111
+00011010100000100000010000000000
+01111000001101000111110000000000
+00100000001000000111001000101111
+00011000000000000111001000001000
+11101111111000100000000000000110
+00101111001000000000001000000001
+00100000001101000111001000110110
+00100000001000001111001000110111
+10011000010000001111111000000000
+00100000001000000111001000111000
+00100000001000001111001000110100
+10011000010000101111111000000000
+11100111111000100000000000000101
+00011000010011001000010000000000
+11000010000000000111001000110000
+00100000011000000000000000000000
+01101111111011000000010110010010
+01100111111011000000000001010110
+11101111111011000000000000000110
+11100111111011000000000000000101
+00100000011000000000000000000000
+00011000010011010000010000000000
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000001000000111001001000101
+01000111010001100100000000110001
+00100000010000000111001011101011
+11011000101000000100001111101011
+00100000001000000111001101001100
+11011000101000000100010000001100
+00100000001101001111001001001101
+11011000101000000000010000101011
+00011000110000100010001000000000
+00100000010000000111110010011010
+00100000010000000111001011111101
+11011000110000000100001111111100
+00100000001000000111001101100101
+11011010001000000000010000101011
+00100000001101001111001001010101
+11011010001000000100010000001100
+00011010001000100000101000000000
+00100000010000000110011011101110
+00100000001000000111001011111101
+11011000110000000100010001111100
+00100000010000000111001100111011
+11011000110000000100001111101011
+00100000010000000111001100111000
+00011000000000000110110001010000
+00011000000000000110110000000000
+00100000010000000111001011010001
+11011000101000000000010001111000
+00100000001000000111001101001100
+00011000000000000111111001001001
+00100000001000000111001001100100
+00011000000000000111111000000001
+00011000000000000111000000000000
+00011000010011010101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011000010011001101111000000000
+00011101111100010101111000000000
+01101111111001000100001111100011
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+11101111111010000000000000000110
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101111111001000000000000000110
+00011010001100001101111000000000
+00011101111100000101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00100000011000000000000000000000
+00011010011000001000110000000001
+11101010001000100000000000000110
+00100000010000000111001001100001
+00100000010000000111001011011001
+00011000000000000111000000000000
+11101111111000100000000000010011
+00011111111000010111111000000011
+00011111111100000101111000000000
+01111001001000000101111000001000
+00100000010000000111001101000100
+00100000010000000111001011011100
+00011010001000100111001000000000
+00011010011000001000110000000010
+00100000010000000111001100100000
+00100000010000000111001100101010
+00100000010000000111001011011100
+00011111001000100111111000000000
+00100000001110100111001010001010
+00100000001000000111001010000101
+00011000000000000111000000001100
+00011101111000100010010000000000
+01100010010010000000010000010011
+00100000011000000000000000000000
+00011010001000001010001000000001
+00100000010000000111001001100011
+00100000010000000111001011101000
+00011010011000100000110000000000
+00100000010000000111001100111011
+00100000010000000111001011011111
+00100000010000000111001101010011
+00011010011000001010011000010000
+00011010010000001010010111110000
+00100000001000010111001010001110
+00100000011000000000000000000000
+01000111010001101100000000110001
+11011010011000000100001110101110
+01101000010010100100001111010101
+00100000010000000111001001110111
+00011000000000000010001000000000
+00100000010000000111001001100011
+00100000010000000111001011101000
+00011000000000000111000000000000
+00011010010000100101111000000000
+00100000010000000111001011011111
+11011010011000000100001110110000
+01101111111000100100001110101111
+00011111111000001010010111111111
+10011010011000001000101000000000
+00011000000000000111000000001100
+11100101111010000000000000000101
+00011000000000000010001000000000
+00100000010000000111001010001110
+01101111111000100100001110101111
+00011111111000001111111000000100
+01100111111000100100001110101111
+01101000010010100100001111010101
+00011000010000001000010000000001
+01100000010010100100001111010101
+00100000011000000000000000000000
+01101000010010100100001111011010
+00011000000000000010001000000000
+00100000010000000111001001100011
+00100000010000000111001011101000
+01101111111000100000001011010110
+11011010011000000000001011010111
+00011111111000001010010111111111
+00011111111000001111111111111100
+01100111111000100000001011010110
+10011010011000001000110000000000
+00011000000000000111000000000000
+11101101111010000000000000000110
+00100000010000000111001011011111
+00011000000000000111000000001100
+01100101111010000000010000010111
+00011000000000000010001000000000
+00100000010000000111001010001110
+11011010011000000000001011010101
+00100000010000000111001001110111
+01101111111010000000010000010111
+10011010010001100111111000000000
+00100100011110100000000000000000
+01101111111010000100001111011111
+10011010010001100111111000000000
+00100000011110100000000000000000
+01100000010010000100001111011111
+01101111111010100100001111011010
+00011111111000001111111000000001
+01100111111010100100001111011010
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100100001110111111001011010001
+00100000011000000000000000000000
+00011000000000000110110001001000
+00011000000000000110110000001000
+00100000001000000111001011010001
+00011000000000000110110001000100
+00011000000000000110110000000100
+00100000001000000111001011010001
+00011000000000000110110001000000
+00011000000000000110110000000000
+00100000001000000111001011010001
+00011000000000000110110001000001
+00011000000000000110110000000000
+00100000001000000111001011010001
+00011000000000000110110001000010
+00011000000000000110110000000010
+00100000001000000111001011010001
+00011000000000000110110001010000
+00011000000000000110110000010000
+00100000001000000111001011010001
+00011000000000000110110001010001
+00011000000000000110110000010000
+00100000001000000111001011010001
+00011000000000000110110000100000
+00011000000000000110110000000000
+00100000011000000000000000000000
+00011000000000000111000000000000
+01101111111010000000010000101011
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101111111010000000000000000110
+10011000000000000101111000000000
+00011111000000001111000000000001
+01101111111010000100010000001100
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101111111010000000000000000110
+10011000000000000101111000000000
+00011111000000001111000000000001
+00100000010000000111001101000111
+00011111000000001111000111111100
+01101111111010000100010010011001
+00011111111000100101111000000000
+00100000001000000111001011100010
+00011010001000100000110000000000
+00100000010000000111001100111011
+00011000000000000110110000110000
+00011000000000000110110000000000
+01101111111000100100010001100000
+01101000010000100100010001010111
+00100100001101001111001100000110
+01101111111000100100010001100111
+01101000010000100100010001100000
+01100111111000100100010000011100
+01100000010000100100010000011101
+11011000110000000100010000011100
+00100000010000000111001100111011
+00100000010000000111001101000111
+00011111000000001111000111111100
+01101111111010000100010010011001
+00011111111000100101111000000000
+00011000000000000110110001010001
+00011000000000000110110000010000
+01101111111011000100010001110010
+01101000010011000000010001001011
+00100000001101001111001100010101
+01101111111011000000010001001011
+01101000010011000100010001110010
+00011000000000000111000000000000
+00011000010000100101111000000000
+00011111000000001111000000000001
+00011000010011110101111000000000
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011111111011110101111000000000
+00011111000000001111000000000001
+00011000000000000101111000000000
+00100000001000000111001011100101
+00101111001000000000011000000000
+00100000011000001000000000000000
+00011000110000100111111000000000
+10011111001000001000101000000000
+00011000000000000111111000000000
+11100111111000100000000000000101
+00011111001000001111001000000001
+00101111001000000000011000000000
+00100000011000001000000000000000
+00100000001000000111001100100101
+00011000000000000111000000000000
+00011111001000100111111000000000
+00100000001110100111001100101111
+11101111111010000000000000000110
+00011111001000001111001111111100
+10011000000000000101111000000000
+00011111000000001111000000000001
+00101111000000000001111000000100
+00100000011000001000000000000000
+00100000001000000111001100101011
+00011000000000000111001000001000
+00100000001000000111001100111001
+00011000000000000111001000000110
+00100000001000000111001100111001
+00011000000000000111001000000100
+00011000000000000111000000000100
+00100000001000000111001100111101
+00011000000000000111000000000000
+00011000000000000111001000000100
+11101111111010000000000000000110
+00011111111000100101111000000000
+00011111000000001111000000000001
+11000010000000000111001100111101
+00100000011000000000000000000000
+11011000110000000000010001111000
+00100000001000000111001100111000
+00011000000000000111001000000100
+00100000001000000111001101001001
+00011000000000000111000000000000
+00011000000000000111001000000100
+00011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111001101001000
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+00011101111000100111111000000000
+11100111111010000000000000000101
+00011111000000001111000000000001
+11000010000000000111001101001110
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011010011000100000101000000000
+00011010010000001111001000000001
+00011111001001100111110000001111
+00100000001000010111001101011001
+00011000000000000111001000010000
+00011101111000100111111000000000
+00011111001001100111110000000011
+00100000001000010111001101100001
+11100111111010000000000000000101
+00011111001000001111001111111100
+00100000011000101000000000000000
+00011111000000001111000000000001
+00100000001000000111001101011001
+11100111111000100000000000000101
+00011111111011001111111000000000
+11000010000000000111001101100001
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+11101111111010000000000000000110
+10011101111001100111110000000000
+00100100011000101000000000000000
+00011111000000001111000000000001
+11000010000000000111001101100111
+00011000000000000111110000000000
+00100000011000000000000000000000
+01101111111000101000000001000011
+01111001001000000111111000000011
+01100111111000101000000001000011
+00100000011000000000000000000000
+01101111111000101000000001000011
+01111001001111111111111000000011
+01100111111000101000000001000011
+00100000011000000000000000000000
+11011000101000000000100010000010
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111101111111111
+11100111111100100000000000000101
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100111111100100000000000000101
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111100111111111111
+00111000000011111111111111111111
+11100111111100100000000000000101
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111101111
+00111000000011111111111111111111
+11100111111100100000000000000101
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100111111100100000000000000101
+00111000000000111111111111111111
+00111000000001100110110001111111
+00111000000010000001010001101011
+00111000000011110111101110110011
+11100111111100100000000000000101
+00111000000000011111111010111000
+00111000000001010000110000010010
+00111000000010101011011100100010
+00111000000011101001111110100110
+11100111111100100000000000000101
+00111000000000001110011100001111
+00111000000001010110011100100000
+00111000000010000101000110011110
+00111000000011011001000010000100
+11100111111100100000000000000101
+00111000000000110001000000010010
+00111000000001110110000010111111
+00111000000010111111000010101111
+00111000000011000000001111010011
+11100111111100100000000000000101
+00111000000000111010000110001000
+00111000000001000011101011010000
+00111000000010111100101111110010
+00111000000011100100001111011001
+11100111111100100000000000000101
+00111000000000101011000000110000
+00111000000001110110101000000011
+00111000000010010001000110001000
+00111000000011011110010100100000
+11100111111100100000000000000101
+00111000000000111010000100011110
+00111000000001001111111001011101
+00111000000010001101110101010111
+00111000000011011010110010010011
+11100111111100100000000000000101
+00111000000000000001000111101101
+00111000000001100001100011000100
+00111000000010001000110110100111
+00111000000011100101011111111111
+11100111111100100000000000000101
+00111000000000110001100100101011
+00111000000001110100011001000001
+00111000000010011011111000001100
+00111000000011110110011010101101
+11100111111100100000000000000101
+00111000000000000001111110000011
+00111000000001010101101000100011
+00111000000010111111100110110000
+00111000000011000011100101001001
+11100111111100100000000000000101
+00111000000000010011101001010001
+00111000000001010101001111111101
+00111000000010110011011100101010
+00111000000011001111000110111011
+11100111111100100000000000000101
+00111000000000111010111010000101
+00111000000001011110111011011001
+00111000000010001001111001100110
+00111000000011000000000110101000
+11100111111100000000000000000101
+00100000011000000000000000000000
+11011000101000000000100100011010
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100111111100100000000000000101
+00111000000000111111111111111111
+00111000000001000000000000111111
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100111111100100000000000000101
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000001000000000000
+00111000000011000000000000000000
+11100111111100100000000000000101
+00111000000000111111111100000000
+00111000000001111111111111111111
+00111000000010111111111111001111
+00111000000011111111111111111111
+11100111111100100000000000000101
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011000000001111111111
+11100111111100100000000000000101
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100111111100100000000000000101
+00111000000000010000000000000000
+00111000000001000000000000000000
+00111000000010111111000000000000
+00111000000011111111111111111111
+11100111111100100000000000000101
+00111000000000101001011011111111
+00111000000001100010011000110000
+00111000000010111001010001011101
+00111000000011111101001010000100
+11100111111100100000000000000101
+00111000000000110011001110100000
+00111000000001000100101101111010
+00111000000010000011011111011000
+00111000000011111100100111011100
+11100111111100100000000000000101
+00111000000000111010010001000000
+00111000000001011011100101011000
+00111000000010111000101111001110
+00111000000011010000100100011111
+11100111111100100000000000000101
+00111000000000101110000100101100
+00111000000001011111010001111100
+00111000000010110101011010110001
+00111000000011101111110101000111
+11100111111100100000000000000101
+00111000000000000110100000110111
+00111000000001101110110110010000
+00111000000010011110110011101100
+00111000000011011010110011000101
+11100111111100100000000000000101
+00111000000000100011001101010111
+00111000000001011000101011110011
+00111000000010001111100111100001
+00111000000011010010100111110000
+11100111111100100000000000000101
+00111000000000101110011111101011
+00111000000001111110011011100011
+00111000000010111110000110100111
+00111000000011010000101110001011
+11100111111100100000000000000101
+00111000000000100100111111100011
+00111000000001000010000011101111
+00111000000010011011010110100110
+00111000000011001101110000101111
+11100111111100100000000000000101
+00111000000000010011100001100000
+00111000000001101011110101101001
+00111000000010000011100100011010
+00111000000011011011001000100010
+11100111111100100000000000000101
+00100000011000000000000000000000
+01101111111000100100011000101100
+00100100001110100111010000110010
+00100000001000000111100100101100
+01000111010001110100000000110001
+01101111111000100100011000101100
+00100000011110100000000000000000
+01101111111000100100010110000011
+11000001100000001000000000000000
+01101111111000100100010010010000
+00100000011110100000000000000000
+01101111111000100100010010010101
+11000001000000011000000000000000
+01101111111001000100011001010010
+11000010100000000111010000110000
+01101111111000100100010010010010
+11000000000000000111100100101100
+00100000011000000000000000000000
+01110000010001001001001000000000
+00100000011000000000000000000000
+01000111010001111100000000110001
+01101111111000100100011000101100
+00100000001110100110010100001101
+00100000010000000110010100000110
+00100000010000000111010000111000
+00100000001000000111010100100010
+01011000000000000000000000000000
+01100111111100000000100110101010
+01100111111010000000100110110010
+01100111111011100100011000110000
+00100000011000000000000000000000
+01110000000010011010110000000001
+00100000001000000111010001000010
+01101111111000100100010110000011
+11000000000000001111010100111111
+00100000001000000100101010001011
+01101111111000100100010110000011
+11000000000000001111010001000101
+00100000001000000111010100100010
+00100000010000000111010100111111
+01101111111000100000100110101011
+00100100011110100000000000000000
+01110000000010011010101000000011
+00100000011000000000000000000000
+00100000010000000111010001100101
+11011010001000000000100111011010
+11011000101000000000100001100010
+00100000010000000111101100101110
+11011010001000000000100110111010
+11011000101000000000100000100010
+00100000010000000111101100101110
+11011010001000000000100000100010
+11011010010000000000100110111010
+11011000101000000000100000100010
+00100000010000000111101010010110
+11011010001000000000100100111010
+11011010010000000000100110111010
+11011000101000000000100001000010
+00100000010000000111101010010110
+11011010001000000000100001000010
+11011010010000000000100000100010
+11011000101000000000100000100010
+00100000010000000111101100110010
+11011010001000000000100000000010
+11011010010000000000100000100010
+11011000101000000000100000000010
+00100000010000000111101100110010
+11011111001000000000000000100000
+11011010001000000000100001100010
+11011010010000000000100000000010
+00100000001000000111110101100011
+11011010001000000000100101111010
+11011000101000000000100000000010
+00100000010000000111101100101110
+11011010001000000000100101011010
+11011000101000000000100000100010
+00100000010000000111101100101110
+11011010001000000000100000100010
+11011010010000000000100101011010
+11011000101000000000100000100010
+00100000010000000111101010010110
+11011010001000000000100100111010
+11011010010000000000100101011010
+11011000101000000000100001000010
+00100000010000000111101010010110
+11011010001000000000100001000010
+11011010010000000000100000100010
+11011000101000000000100000100010
+00100000010000000111101100110010
+11011010001000000000100000000010
+11011010010000000000100000100010
+11011000101000000000100000000010
+00100000001000000111101101001011
+00100000010000000111010010010110
+11011010001000000000100111100010
+11011000101000000000100001100010
+00100000010000000111011001011101
+11011010001000000000100111000010
+11011000101000000000100000100010
+00100000010000000111011001011101
+11011010001000000000100000100010
+11011010010000000000100111000010
+11011000101000000000100000100010
+00100000010000000111011000111011
+11011010001000000000100010011010
+11011010010000000000100111000010
+11011000101000000000100001000010
+00100000010000000111011000111011
+11011010001000000000100001000010
+11011010010000000000100000100010
+11011000101000000000100000100010
+00100000010000000111011000001010
+11011010001000000000100000000010
+11011010010000000000100000100010
+11011000101000000000100000000010
+00100000010000000111011000001010
+11011111001000000000000000011000
+11011010001000000000100001100010
+11011010010000000000100000000010
+00100000001000000111110101100011
+11011010001000000000100011100010
+11011000101000000000100000000010
+00100000010000000111011001011101
+11011010001000000000100011001010
+11011000101000000000100000100010
+00100000010000000111011001011101
+11011010001000000000100000100010
+11011010010000000000100011001010
+11011000101000000000100000100010
+00100000010000000111011000111011
+11011010001000000000100010011010
+11011010010000000000100011001010
+11011000101000000000100001000010
+00100000010000000111011000111011
+11011010001000000000100001000010
+11011010010000000000100000100010
+11011000101000000000100000100010
+00100000010000000111011000001010
+11011010001000000000100000000010
+11011010010000000000100000100010
+11011000101000000000100000000010
+00100000001000000111011000001101
+01101111111000100000100110101110
+11000000100000000111010011001010
+00100000010000000111010011000111
+11011000101000000000101001111010
+01011000000000000000101000101010
+11100111111001000000000000000101
+01011000000000000100011000010100
+11100111111001000000000000000101
+01011000000000000000100111011010
+11100111111001000000000000000101
+00100000001000000111010010111110
+11011000101000000000101001111010
+01011000000000000000101000111010
+11100111111001000000000000000101
+01011000000000000000100111011010
+11100111111001000000000000000101
+01011000000000000100011000010100
+11100111111001000000000000000101
+00100000010000000111100001010101
+01101111111000100000100110101011
+11000000000000100111010011000100
+01110000000010011010110000000001
+01110000000010011010101000000101
+00100000011000000000000000000000
+01110000000010011010101100010100
+00100000010000000111010000111111
+00100000001000000111010110001101
+11011000101000000000101000011010
+00011000000000000000111000001000
+00100000001000000111010101010111
+01110000000010011010110000000001
+00100000011000000000000000000000
+01000111010010000100000000110010
+11011000101000000000011100100011
+01101111111011000100000010100000
+11100111111011000000000000000101
+01101111111011000000000001000000
+11100111111011000000000000000101
+01101111111001100100011000110000
+11100111111001100000000000000101
+00100000010000000111100011000010
+11011010001000000000101001001010
+11011010010000000000101001011010
+00011000000000000000111000000100
+00100000010000000111010101011100
+00100100001000001111010011100110
+00100000010000000111010011011101
+01110000000000000111110101000001
+00100000001000000110011011011010
+01101111111000100000100110101011
+11000000000001001111010011100011
+01110000000010011010101000001010
+01110000000010011010110000000001
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000010011010101100010101
+00100000001000000111010110001101
+01101111111000100000100110101011
+11000000000001001111010011101100
+01110000000010011010101000000000
+01110000000000000111110000000100
+01110000000000000111111000000101
+00100000011000000000000000000000
+01110000000000000111110000000100
+01110000000010011010101100000000
+00100000011000000000000000000000
+01101111111000100000100110101111
+11000000000000001111010011110011
+01110000000010011010101100001010
+00100000001000000111010110001101
+11011000101000000000011100100011
+01101111111011000000000001000000
+11100111111011000000000000000101
+01101111111011000100000010100000
+11100111111011000000000000000101
+01101111111001100100011000101101
+11100111111001100000000000000101
+00100000010000000111100011011001
+01101111111000100000100110101011
+11000000000001010111010100000000
+01110000000010011010101000001011
+01110000000010011010110000000001
+00100000011000000000000000000000
+01110000000010011010101100001011
+01110000000010011010110100000001
+00100000011000000000000000000000
+11011000101000000000101001111010
+01101111111011000000000001000000
+11100111111011000000000000000101
+01101111111011000100000010100000
+11100111111011000000000000000101
+01011000000000000000101000101010
+11100111111001000000000000000101
+01011000000000000000101000111010
+11100111111001000000000000000101
+00100000001000000111010100010111
+01110000000010011010101000001111
+11011000101000000000101001111010
+01101111111011000100000010100000
+11100111111011000000000000000101
+01101111111011000000000001000000
+11100111111011000000000000000101
+01011000000000000000101000111010
+11100111111001000000000000000101
+01011000000000000000101000101010
+11100111111001000000000000000101
+11011000101000000000011100100011
+01101111111011000000101001111010
+11100111111011000000000000000101
+01101111111011000000101010000000
+11100111111011000000000000000101
+00100000010000000111100010001100
+01110000010000011011111000000001
+11011000101000000100000110111111
+11011000110000000000101001001010
+00100000010000000111110010011010
+00100000001000000100000111000000
+01000111010010001100000000110010
+01101111111000100100010110000011
+11000001100000000000000000000000
+01101111111000100000100110101110
+11000001100000000000000000000000
+11011000101000000100010111100100
+00011000000000000000111000001011
+00100000010000000111010101010111
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100111111001000000000000000101
+11011000101000000000011010111010
+11011000110000000100010111100100
+00100000010000000111110010011001
+11011000101000000000010111100010
+11011000110000000000100011001010
+00100000010000000111110010010111
+11011000101000000000011000010010
+00100000010000000111110010100000
+01110000000001100001001000000001
+00100000010000000111100100010010
+01110000000010011010111000000001
+00100000011000000000000000000000
+11011000101000000100010111111100
+11011000110000000000011000101010
+00100000010000000111110010010111
+01110000010001011000001100000001
+01110000000010011010111000000000
+00100000011000000000000000000000
+01000111010010010100000000110010
+01101111111000100000100110110101
+11000001100000000000000000000000
+01101111111000100000100110101110
+11000001100000000000000000000000
+11011000101000000000011010111010
+11011000110000000100010111100100
+00100000010000000111110010011001
+11011000101000000000010111100010
+11011000110000000000100111000010
+00100000010000000111110010010111
+11011000101000000000011000010010
+00100000010000000111110010100000
+01110000000001100001001000000001
+00100000010000000111100100010010
+01110000000010011010111000000010
+00100000011000000000000000000000
+01110000000010011010111100000001
+11011000101000000000101000000010
+11011000110000000000011000101010
+00100000010000000111110010011001
+01110000000010011011010100000001
+01110000000010011010111000000000
+00100000011000000000000000000000
+00011000111000001000111111111111
+00100100011000010000000000000000
+00011000000010100111111000000000
+11100111111001000000000000000101
+00100000001000000111010101010111
+00011000111000001000111111111111
+00100100001000010111010101101000
+11101111111010000000000000010001
+00011111111000100000010000000000
+11101111111010000000000000010010
+10011000010000101111111000000000
+00100100001000101111010101100110
+00011010001000001010001000000100
+00011010010000001010010000000100
+00100000001000000111010101011100
+01111000010000001111110000000000
+00100000011000000000000000000000
+01111000001000001111110000000000
+00100000011000000000000000000000
+01000111010010011100000000110010
+01101111111000100000100110101100
+00100000011110100000000000000000
+00100000010000000110011010011110
+00100100011110100000000000000000
+01110000000010011010110000000000
+01101111111000100000100110101010
+11000000000000011110010111011111
+11000000000000101110010111111100
+11000000000000111110011000000111
+11000000000001011110011000011100
+11000000000000010111010000111101
+11000000000000100111010010101100
+11000000000001001111010011001100
+11000000000001010111010011101111
+11000000000001100111010100001101
+00100000011000000000000000000000
+01000111010010100100000000110010
+01101111111000100000100110101101
+00100000011110100000000000000000
+00100000010000000110011010011110
+00100100011110100000000000000000
+01110000000010011010110100000000
+01101111111000100000100110101011
+11000000000010010110010111000010
+11000000000010011110010111000111
+11000000000000011110010111001011
+11000000000000100111010010110111
+11000000000010100110010111001111
+11000000000000111110010111011101
+11000000000001010111010011101111
+11000000000001011110011000011011
+11000000000001001111010011001100
+11000000000010101110011000010101
+00100000011000000000000000000000
+01110000000010011010110100000001
+00100000011000000000000000000000
+01110000000010011010110100000000
+00100000011000000000000000000000
+01000111010010101100000000110010
+01101111111000100100011000101100
+00100000011110100000000000000000
+01101111111000100000100110101110
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100111111000100000100110101110
+11000011100000111000000000000000
+01101111111000100000010111011111
+00100000001110100111010110011100
+00100000001000000111100100011101
+00100000010000000111011110001000
+01101111111000100000100110101110
+11000000000000001111010100111001
+11000000000000010111010101010000
+00100000011000000000000000000000
+00011111111000010000111000000111
+00011111111010010111111000000000
+10011000110000001000110000000000
+11101111111000100000000000000110
+10101111111011000000000000000000
+00100000011000000000000000000000
+00100000010000000111110010011001
+00100000010000000111110010011001
+00100000001000000111110010011001
+11101111111100000000000000000110
+00100100011110100000000000000000
+11101111111100000000000000000110
+00100100011110100000000000000000
+11101111111100000000000000000110
+00100000011000000000000000000000
+11101111111010000000000000010001
+10011000000000000000010000000000
+11101111111010000000000000010010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111010110110000
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011010010000001010010000010100
+11101111111010000000000000010010
+10011000000000000000010000000000
+11101111111010000000000000010001
+10011000010001100111111000000000
+00100100011000010000000000000000
+00100100011110100000000000000000
+00011010001000001010001111111100
+00011010010000001010010111111100
+11000010000000000111010110111100
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101111111010000000000000010001
+10011000000000000000010000000000
+11101111111010000000000000010010
+10011000010000001111111000000000
+10011010011000001111111000000000
+11100111111010000000000000000101
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111010111001000
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101111111010000000000000010010
+10011000000000000000010000000000
+11101111111010000000000000010001
+10011000010001100111111000000000
+10011010011001100111111000000000
+11100111111010000000000000000101
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111010111010110
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011000000000000010011000000000
+11101111111010000000000000010001
+00101111111011111111111000000000
+01111001001000001010011000000001
+00011111111000110111111000000000
+00101010011011111111111000000000
+01111001001000001111111000011111
+11100111111010000000000000010001
+00011010001000001010001111111100
+00011010011000110010011000000000
+11000010000000000111010111100101
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101111111010000000000000010001
+00101111111011111111111000011111
+01111001001000001010011000000001
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+11100111111010000000000000010001
+00011010001000001010001000000100
+00011010011000110010011000000000
+11000010000000000111010111110010
+00100000011000000000000000000000
+00100000010000000111010111110000
+00101010011011111111111000000000
+00100000001000001111011000000110
+11011010010000000000100010000010
+00011010001000100010011000000000
+00011010001000001010001111101000
+00100000010000000111010110111001
+00100100011000010000000000000000
+00011010011000100010001000000000
+00011010001000001010001111101000
+11011010010000000000100010000010
+00011010001000100000101000000000
+00100000001000000111010111010100
+00100000010000000111010111000110
+00011000101000100010001000000000
+00100000001000000111010111111110
+00100000010000000111010111010100
+00101010011011000000000000000000
+00100000011000001000000000000000
+11011010010000000000100010000010
+00011000101000001010001111101000
+00011010001000100000101000000000
+00100000001000000111010111000110
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011100010010
+00011010010000100000101000000000
+00011010001000001000110000011000
+11101111111100000000000000000110
+11100111111100000000000000000101
+11100111111100000000000000000101
+00011000000000000111111000000000
+11100111111100000000000000000101
+00011001011000100000101000000000
+00100000010000000111011000001010
+11011010010000000000011100010010
+00011010010000100000101000000000
+00011000000000000111111000000000
+11100111111100000000000000000101
+00011110000000001000110000100000
+11101111111100000000000000000110
+11100111111100000000000000000101
+11100111111100000000000000000101
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111011000001010
+11011010010000000000011100010010
+00011010010000100000101000000000
+00011110000000001000110000101000
+11101111111100000000000000000110
+11100111111100000000000000000101
+11100111111100000000000000000101
+11100111111100000000000000000101
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111011000001010
+00011000000000000111001000000110
+11101111111010000000000000000110
+10011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111011000110110
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000011011100010
+00100000010000000111110010100000
+11011000101000000000011011100010
+00011010001000100000110000000000
+00011000000000000111000000000000
+00100000010000000111011000110101
+00011010010000100000110000000000
+00100000010000000111011000110101
+00011000000000000010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000110
+11101111111010000000000000000101
+10011000000000000010001000000000
+00011010010000100111000000000000
+00011101111000100111111000000000
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100111111010000000000000000101
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001100
+00100100001000001111011001000111
+00011000010000100111111000000000
+11100111111010000000000000000101
+00011000101000001000101111101000
+00011010010000001010010000000001
+00101010010000011111111000000110
+00100100001000001111011001000101
+11011010001000000000011011100010
+00011001011000100000101000000000
+00100000001000000111011000010100
+00011010001000100010010000000000
+00100000001000000111011000111011
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101111111000100000000000010001
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111010111100010
+11101111111000100000000000010010
+00101111111011000000000000000000
+00100000001000001111011001101111
+11011010001000000000100010000010
+00011010010000100000101000000000
+00100000010000000111010111000110
+11101111111000100000000000010010
+10011010011000001111111000000000
+11100111111000100000000000010010
+00011010010000001010010111101000
+00011010010000001010001000011000
+00011000000000000111001000000111
+00100000010000000111010111100100
+00100000001000000111011001100000
+00011000101000100001011000000000
+11011000101000000000011101000010
+00100000010000000111110010100000
+00011000000000000111111000000000
+01100111111010000000011011111010
+01100111111010000000011101011010
+01110000000001110100001000000001
+11011000101000000000011011100010
+00100000010000000111110010100000
+11011000110000000000100010000010
+11011000101000000000011100010010
+00100000010000000111110010011001
+00011010001000100000110000000000
+11011000101000000000011100101010
+00100000010000000111110010011001
+11011000110000000000011100101010
+00100000010000000111010110101010
+00100000001110100111011010101011
+11011010001000000000011100101010
+11011010010000000000011101000010
+00100000010000000111011001011111
+11011010001000000000011100010010
+11011010010000000000011011100010
+00100000010000000111011001011111
+11011010001000000000011100101010
+11011010010000000000011100010010
+00100000010000000111010110111001
+00100000001000010111011010011101
+11011010001000000000011100010010
+11011010010000000000011100101010
+00011010001000100000101000000000
+00100000010000000111010111010100
+11011010001000000000011101000010
+11011010010000000000011011100010
+00011010010000100000101000000000
+00100000010000000111010111000110
+11101111111000100000000000010001
+10011010011000001010011000000000
+11101111111000100000000000010010
+10011010011000001111111000000000
+11100111111000100000000000010010
+00100000001000000111011010000010
+11011010001000000000011100101010
+11011010010000000000011100010010
+00011010001000100000101000000000
+00100000010000000111010111010100
+11011010001000000000011011100010
+11011010010000000000011101000010
+00011010010000100000101000000000
+00100000010000000111010111000110
+11101111111000100000000000010001
+10011010011000001010011000000000
+11101111111000100000000000010010
+10011010011000001111111000000000
+11100111111000100000000000010010
+00100000001000000111011010000010
+11011000101000000000011101000010
+00100000010000000111110010100000
+01101111111000100000011011111010
+01100111111000100000011101000010
+01100111111000100000011101001010
+11011010001000000000011101000010
+11011010010000000000011011100010
+00011010010000100000101000000000
+00100000010000000111011000001010
+11011010001000000000100010000010
+11011010010000000000011011100010
+00011001011000100000101000000000
+00100000001000000111011000001101
+11011010001000000000011010100010
+11011000101000000000011101011010
+00100000010000000111011001011101
+11011010001000000000011101011010
+11011000101000000000011101110010
+00100000010000000111011001011101
+11011010001000000000100010011010
+11011010010000000000011101110010
+11011000101000000000011101110010
+00100000010000000111011000111011
+11011010001000000000011001110010
+11011000101000000000011101011010
+00100000010000000111011001011101
+11011000110000000000011101011010
+11011000101000000000011100101010
+00100000010000000111110010011001
+11011010001000000000011100101010
+00100000010000000111010111111101
+11011010001000000000011101011010
+11011010010000000000011100101010
+11011000101000000000011101011010
+00100000010000000111011000001010
+11011010001000000000011101011010
+11011010010000000000011101110010
+11011000101000000000011101011010
+00100000010000000111011000001010
+11011000110000000000011001110010
+11011000101000000000011100101010
+00100000010000000111110010011001
+11011010001000000000011010001010
+11011000101000000000011101110010
+00100000010000000111011001011101
+11011010001000000000011100101010
+00100000010000000111010111111101
+11011010001000000000011100101010
+00100000010000000111010111111101
+11011010001000000000011100101010
+11011010010000000000011101110010
+11011000101000000000011100101010
+00100000010000000111011000111011
+11011010001000000000011101110010
+11011000101000000000011101000010
+00100000010000000111011001011101
+11011010001000000000011101000010
+00100000010000000111010111111101
+11011010001000000000011101000010
+00100000010000000111010111111101
+11011010001000000000011101000010
+00100000010000000111010111111101
+11011000110000000000011010001010
+11011000101000000000011101110010
+00100000010000000111110010011001
+11011010001000000000011101110010
+00100000010000000111010111111101
+11011010001000000000011101110010
+11011010010000000000011010100010
+11011000101000000000011010100010
+00100000010000000111011000111011
+11011010001000000000011101011010
+11011000101000000000011101110010
+00100000010000000111011001011101
+11011010001000000000011101110010
+11011010010000000000011100101010
+11011000101000000000011101110010
+00100000010000000111011000001101
+11011010001000000000011101110010
+11011010010000000000011100101010
+11011000101000000000011001110010
+00100000010000000111011000001101
+11011010001000000000011100101010
+11011010010000000000011001110010
+11011000101000000000011101110010
+00100000010000000111011000001101
+11011010001000000000011101110010
+11011010010000000000011101011010
+11011000101000000000011101110010
+00100000010000000111011000111011
+11011010001000000000011101110010
+11011010010000000000011101000010
+11011000101000000000011010001010
+00100000001000000111011000001101
+11011010001000000000011000010010
+11011000101000000000011110001010
+00100000010000000111011001011101
+11011010001000000000011001110010
+11011010010000000000011110001010
+11011000101000000000011101000010
+00100000010000000111011000111011
+11011010001000000000011000010010
+11011010010000000000011110001010
+11011000101000000000011110001010
+00100000010000000111011000111011
+11011010001000000000011010001010
+11011010010000000000011110001010
+11011000101000000000011100101010
+00100000010000000111011000111011
+11011010001000000000011010100010
+11011000101000000000011110001010
+00100000010000000111011001011101
+11011010001000000000010111100010
+11011010010000000000011110001010
+11011000101000000000011101011010
+00100000010000000111011000111011
+11011010001000000000011010100010
+11011010010000000000011110001010
+11011000101000000000011110001010
+00100000010000000111011000111011
+11011010001000000000010111111010
+11011010010000000000011110001010
+11011000101000000000011101110010
+00100000010000000111011000111011
+11011010001000000000011101000010
+11011010010000000000011101011010
+11011000101000000000011110001010
+00100000010000000111011000001101
+11011010001000000000011101000010
+11011010010000000000011101011010
+11011000101000000000011101000010
+00100000010000000111011000001010
+11011010001000000000011100101010
+11011010010000000000011101110010
+11011000101000000000011101011010
+00100000010000000111011000001101
+11011010001000000000011100101010
+11011010010000000000011101110010
+11011000101000000000011100101010
+00100000010000000111011000001010
+11011010001000000000011100101010
+11011010010000000000011110001010
+11011000101000000000011100101010
+00100000010000000111011000111011
+11011010001000000000011010100010
+11011010010000000000011000010010
+11011000101000000000011101110010
+00100000010000000111011000111011
+11011010001000000000011101110010
+11011010010000000000011110001010
+11011000101000000000011010100010
+00100000010000000111011000111011
+11011010001000000000011110001010
+11011000101000000000011110001010
+00100000010000000111011001011101
+11011010001000000000011110001010
+11011010010000000000011101000010
+11011000101000000000011101110010
+00100000010000000111011000111011
+11011010001000000000011110001010
+11011010010000000000011100101010
+11011000101000000000011100101010
+00100000010000000111011000111011
+11011010001000000000011101011010
+11011000101000000000011001110010
+00100000010000000111011001011101
+11011010001000000000011001110010
+11011010010000000000011101110010
+11011000101000000000011001110010
+00100000010000000111011000001101
+11011000110000000000011001110010
+11011000101000000000011110001010
+00100000010000000111110010011001
+11011010001000000000011110001010
+00100000010000000111010111111101
+11011010001000000000011101110010
+11011010010000000000011110001010
+11011000101000000000011101110010
+00100000010000000111011000001101
+11011010001000000000011101110010
+11011010010000000000011101011010
+11011000101000000000011101011010
+00100000010000000111011000111011
+11011010001000000000011101011010
+11011010010000000000011100101010
+11011000101000000000011010001010
+00100000010000000111011000001101
+11011010001000000000011010001010
+11011010010000000000100010000010
+11011000101000000000011010001010
+00011000000000000010011000000000
+01101111111000100000011010001010
+00101111111011111111111000000000
+00100000010000001111010111000110
+00011010011000100110000000000000
+11011010001000000000011010001010
+00100000010000000111010111100010
+01101111111000100000011010100001
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100111111000100000011010100001
+00100000011000000000000000000000
+01101111111000100000010111011111
+00011111111000001111111111111111
+00100100011000010000000000000000
+01100111111000100000010111011111
+01101111111000100000010111011110
+00100000010110100111011010111000
+01101111111000100000010111011111
+11011000110000000000011010111010
+00100000010000000111010110100001
+00100000001000001111011101110101
+01101111111000100000010111011110
+00100100001110100111011110000011
+00100000010000000111011100001001
+00100000001000000111011101110101
+01110000000001011101111000000000
+11011000110000000000010111100010
+11011000101000000000011001110010
+00100000010000000111010110100111
+00100000001000000111011101110101
+11011010001000000000011010100010
+11011000101000000000011101110010
+00100000010000000111011001110011
+11011010001000000000011101110010
+11011000101000000000011100101010
+00100000010000000111011001011101
+11011010001000000000011001110010
+11011010010000000000011100101010
+11011000101000000000011000101010
+00100000010000000111011000111011
+11011010001000000000011101110010
+11011010010000000000011100101010
+11011000101000000000011101011010
+00100000010000000111011000111011
+11011010001000000000011010001010
+11011010010000000000011101011010
+11011000101000000000011001000010
+00100000001000000111011000111011
+11101111111010000000000000000110
+00011000000000000010001000000100
+00011000101000001000101000000011
+11100111111000100000000000000101
+00011111111011001111111000000000
+00011000101000001000101111111110
+00011010001000001010001111111111
+00100100001000101111011110011101
+00011000101000001000101000000101
+11000010000000000111011110011010
+00100000011000000000000000000000
+00011000111010111111111000000000
+10011001011000001000110000000000
+11101111111010000000000000000110
+00100000011000000000000000000000
+00011000000000000110000000010000
+11011001011000000000010111100010
+00011110000000001000111111111001
+00100000010000000111011110100101
+10011000000000000000010000000000
+00011110000000001000111111110000
+00100000010000000111011110100101
+10011000010000001000010000000000
+00011110000000001000111111111110
+00100000010000000111011110100101
+00011111111011100111111000000001
+10011000010000001000010000000000
+00011110000000001000111111110001
+00100000010000000111011110100101
+00011111111011100111111000000000
+10011000010000001000010000000000
+00011110000010111111111000000000
+10011001011000001000101000000000
+11100000010010000000000000000101
+00011110000000001110000000000001
+00101110000000011111111001000000
+00100100001000001111011110101011
+00100000011000000000000000000000
+11011000110000000000100011111010
+00011000000000000111000000000111
+11101111111010000000000000000110
+10011000000000000101111000000000
+00011111000000001111000111111111
+00100000001000010111011111000010
+00100000011000000000000000000000
+01000111010010110100000000110010
+00100000010000000111011110101001
+11011000101000000000011011100010
+00011000000000000111000000000000
+00011101111000100111111000000000
+11100111111010000000000000000101
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111011111001011
+00100000010000000111001101101110
+11011001011000001000011100000000
+11011110000000000000010111100010
+00011000000000000111001001000000
+11101000010010000000000000110000
+11101111111010000000000000001011
+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
+11000010000000000111011111010100
+11011000110000000000011011100010
+00011000000000000111000000000000
+11101111111010000000000000000110
+10011101111000001101111000000000
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111011111111101
+00100000001000000111001101110010
+11011000101000000000101000111010
+00011000000000000111000000000111
+00011101111000100111111000000000
+11100111111010000000000000000101
+00011111000000001111000111111111
+00100000001000010111100000000101
+00100000011000000000000000000000
+11011000101000000000010111100010
+00011000110000001000110111111100
+00011111001001100010001000010000
+11101111111010000000000000000110
+10011000010000101111111000000000
+11100111111010000000000000000101
+00011000110000001000110111111000
+11000010000000000111100000001101
+00011010001000100111001000000000
+00011000010000100111111000000000
+11100111111010000000000000000101
+11000010000000000111100000010100
+00100000011000000000000000000000
+00100000010000000111100000011100
+00100000010000000111100000000011
+00100000001000000111100001000010
+00100000010000000111100000011100
+00100000001000000111100001000010
+11011000110000000000100111011010
+11011000101000000000010111100010
+00011000000000000111001000000110
+00100000010000000111100100100110
+11011000110000000100011000010100
+00011000000000000111001000000110
+00100000010000000111100100100110
+11011000110000000000101000111010
+00100000010000000111100100100101
+00100000010000000111011111000000
+00100000010000000111011111000111
+11011000110000000000101000101010
+11011000101000000000010111100010
+00100000001000000111100000111001
+11011000110000000100011000010100
+11011000101000000000010111100010
+00011000000000000111001000000110
+00100000010000000111100100100110
+11011000110000000000100111011010
+00011000000000000111001000000110
+00100000010000000111100100100110
+11011000110000000000101000101010
+00100000010000000111100100100101
+00100000010000000111011111000000
+00100000010000000111011111000111
+11011000110000000000101000111010
+11011000101000000000010111100010
+00100000010000000111100000111001
+00100000001000000111100001000010
+00100000010000000111100100100101
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100111111010000000000000000101
+00011000000000000111001000000101
+00100000010000000111110010100001
+01011000000000000000001010000000
+11100111111010000000000000000101
+00100000001000000111011111000111
+01101111111010000000101000111010
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111110101100001
+00011000000001110111111000000000
+01100111111010000000100110110110
+00011000000001111111111000000000
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111110101100001
+00011000000001110111111000000000
+11011010001000000000001111101000
+10011010001011111111111000000000
+01101000010010000000100110110110
+10011000010000001111111000000000
+01100111111010000000100110110110
+00100000011000000000000000000000
+01110000010001100011011000000000
+00100000001000000111100001010111
+01101111111000100100011000110100
+11000000100000010111100001010011
+01000111010010111100000000110010
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+01101111111001000000101001111010
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100000001010
+00100000010000000111011111000000
+00100000010000000111011111000111
+01101111111001000000101001111100
+00011111111000100000110000000000
+11011000101000000000010111100010
+00011000000000000111001000000110
+00100000010000000111100100100110
+01101111111001000000101001111110
+00011111111000100000110000000000
+00011000000000000111001000000110
+00100000010000000111100100100110
+01011000100000000000000000000000
+11100111111001100000000000000101
+01101111111000100100011000110110
+11100111111000100000000000000101
+00011000000000000111111000000000
+11100111111100000000000000000101
+01011000000000000000001110001000
+11100111111010000000000000000101
+00100000010000000111011111000111
+00100000010000000111100000000011
+11011000110000000000101000111010
+11011000101000000000011100000010
+00100000010000000111110010011000
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+01101111111001000000101001111010
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100000001010
+00100000010000000111011111000000
+00100000010000000111011111000111
+11011000110000000000011100100010
+11011000101000000000010111100010
+00011000000000000111001000001000
+00100000010000000111100100100110
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100111111010000000000000000101
+00100000010000000111110010100000
+01011000000000000000001100000000
+11100111111010000000000000000101
+00100000010000000111011111000111
+00100000001000000111100000000011
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011010
+00011000000000000111001000000110
+00100000010000000111100000001010
+00100000010000000111011111000000
+00100000010000000111011111000111
+01101111111001000000101010000110
+00011111111000100000110000000000
+11011000101000000000010111100010
+00100000010000000111100100100101
+01101111111001000000101010001000
+00011111111000100000110000000000
+00100000010000000111100100100101
+01011000011000100111010001101100
+00011111111011010111111000000000
+00011111111000011111111001101011
+11100111111010000000000000000101
+11011000110000000000011100101111
+00011000000000000111001000000011
+00100000010000000111100100100110
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100111111010000000000000000101
+00011000000000000111111000000000
+11100111111100000000000000000101
+01011000000000000000001110000000
+11100111111010000000000000000101
+00100000010000000111011111000111
+00100000010000000111100000000011
+11011000110000000000101000111010
+11011000101000000000011100000010
+00100000010000000111110010011000
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011010
+00011000000000000111001000000110
+00100000010000000111100000001010
+00100000010000000111011111000000
+00100000010000000111011111000111
+11011000110000000000011100100010
+11011000101000000000010111100010
+00011000000000000111001000001000
+00100000010000000111100100100110
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100111111010000000000000000101
+00100000010000000111110010100000
+01011000000000000000001100000000
+11100111111010000000000000000101
+00100000010000000111011111000111
+00100000001000000111100000000011
+01101111111000100100011000110100
+11000000100000010111100011010011
+01000111010011000100000000110011
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011010
+00011000000000000111001000000110
+00100000010000000111100000001010
+00100000010000000111011111000000
+00100000010000000111011111000111
+11011000110000000000101000111010
+11011000101000000000010111100010
+00100000010000000111100100100101
+11011000110000000000101000101010
+00100000010000000111100100100101
+00100000001000000111100011101000
+01011000000000000000000000000000
+01100111111010000100011001011000
+00100000001000000111100011000100
+01011000000000000000000000000000
+01100111111010000100011001011000
+00100000001000000111100011011011
+01101111111000100100011000110100
+11000000100000010111100011010110
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011010
+00011000000000000111001000000110
+00100000010000000111100000001010
+00100000010000000111011111000000
+00100000010000000111011111000111
+11011000110000000000101000101010
+11011000101000000000010111100010
+00100000010000000111100100100101
+11011000110000000000101000111010
+00100000010000000111100100100101
+01011000000000000000000000000000
+11100111111100000000000000000101
+11100111111010000000000000000101
+01101111111010000100011001011000
+11100111111010000000000000000101
+00011000101000100000010000000000
+01110000000001110010001010000000
+00011000010000100000101000000000
+11011000110000000000011100110010
+00100000010000000111100100100101
+00100000010000000111011111000111
+11011000101000000000010111100010
+00011000000000000111001000000111
+00100000010000000111110010100001
+11100111111010000000000000000101
+01011000000000000000001111111000
+11100111111010000000000000000101
+00100000010000000111011111000111
+00100000010000000111100000000011
+11011000110000000000101000111010
+11011000101000000000011100000010
+00100000010000000111110010011000
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011010
+00011000000000000111001000000110
+00100000010000000111100000001010
+00100000010000000111011111000000
+00100000010000000111011111000111
+11011000110000000000011100100010
+11011000101000000000010111100010
+00011000000000000111001000001000
+00100000010000000111100100100110
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100111111010000000000000000101
+00100000010000000111110010100000
+01011000000000000000001100000000
+11100111111010000000000000000101
+00100000010000000111011111000111
+00100000001000000111100000000011
+01110000000001011101111111000000
+01101111111000100000010111011111
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111000100000010111011111
+11011000110000000000011010111010
+00100000010000000111010110100001
+00100000001000001111100100010011
+11011000110000000000010111100010
+11011000101000000000011001110010
+00100000001000000111010110100111
+00100000010000000111011010111000
+01101111111000100000010111011111
+00011111111000001111111111111111
+01100111111000100000010111011111
+11011000110000000000011010111010
+00100000010000000111010110100001
+00100000011000001000000000000000
+00100000001000000111011100001001
+00011000000000000111001000000100
+00011000110000001000110111111100
+11101111111010000000000000000110
+11100111111010000000000000000101
+00011000110000001000110111111000
+11000010000000000111100100100111
+00100000011000000000000000000000
+01000111010011001100000000110011
+01101111111000100100010010010000
+00100000001110100101111011010000
+00100000010000000101111011001100
+00100000010000000111010000111000
+00100000001000000111100100110010
+01101111111000100100010010010101
+11000001100000000000000000000000
+01101111111000100100010010010010
+11000001100000000000000000000000
+11011000101000000100010110000100
+00011000000000000000111000001111
+00100000010000000111010101010111
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100111111001000000000000000101
+11011000101000000000011101100010
+11011000110000000100010110000100
+00100000010000000111110010011000
+11011000101000000000011001000010
+11011000110000000000100101011010
+00100000010000000111110010001110
+11011000101000000000011010000010
+00100000010000000111110010101011
+01110000000001101000001000000001
+00100000010000000111100101111100
+01110000010001001001001000000011
+00100000011000000000000000000000
+11011000101000000100010110100100
+11011000110000000000011010100010
+00100000010000000111110010001110
+01110000010001001001010100000011
+01110000010001001001001000000000
+00100000011000000000000000000000
+01101111111000100000100110110101
+11000001100000000000000000000000
+01101111111000100100010010010010
+11000001100000000000000000000000
+11011000101000000000011101100010
+11011000110000000100010110000100
+00100000010000000111110010011000
+11011000101000000000011001000010
+11011000110000000000100110111010
+00100000010000000111110010001110
+11011000101000000000011010000010
+00100000010000000111110010101011
+01110000000001101000001000000001
+00100000010000000111100101111100
+01110000010001001001001000000100
+00100000011000000000000000000000
+11011000101000000000100111111010
+11011000110000000000011010100010
+00100000010000000111110010011000
+01110000000010011011010100000011
+01110000010001001001001000000000
+00100000011000000000000000000000
+01101111111000100100010010010000
+00100000011110100000000000000000
+01101111111000100100010010010010
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100111111000100100010010010010
+11000011100000111000000000000000
+01101111111001000000010111011111
+00100000001110100111100101101110
+00100000001000000111100101110100
+01000111010011010100000000110011
+00100000010000000111100110001001
+01101111111000100100010010010010
+11000000000000011111100101001000
+11000000000000100111100101011110
+00100000011000000000000000000000
+00100000010000000111100110011011
+01101111111001000000010111011111
+00011111111000001111111111111111
+01100111111001000000010111011111
+11011000110000000000011101100010
+00100000010000000111010110100001
+00100000011000001000000000000000
+00100000001000000111100111101100
+01000111010011011100000000110011
+01011000000000000000000100000000
+01100111111001000000010111011111
+01101111111001000000010111011111
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111001000000010111011111
+11011000110000000000011101100010
+00100000010000000111010110100001
+00100000001000001111100101111111
+11011000110000000000011001000010
+11011000101000000000011100000010
+00100000001000000111110010001101
+11011010001000000000011101000010
+11011000101000000000100001000010
+00100000010000000111101001011000
+11011010001000000000100001000010
+11011000101000000000011111100010
+00100000010000000111101100101110
+11011010001000000000011100000010
+11011010010000000000011111100010
+11011000101000000000011010100010
+00100000010000000111101010010110
+11011010001000000000100001000010
+11011010010000000000011111100010
+11011000101000000000100000100010
+00100000010000000111101010010110
+11011010001000000000011100100010
+11011010010000000000100000100010
+11011000101000000000011011000010
+00100000001000000111101010010110
+11011010001000000000011101000010
+11011000101000000000100000100010
+00100000010000000111101100101110
+11011010001000000000100000100010
+11011000101000000000100001000010
+00100000010000000111101100101110
+11011010001000000000100100111010
+11011010010000000000100001000010
+11011000101000000000100001000010
+00100000010000000111101010010110
+11011010001000000000011100000010
+11011000101000000000100000100010
+00100000010000000111101100101110
+11011000110000000000100000100010
+11011000101000000000011111100010
+00100000010000000111110010011000
+11011010001000000000011111100010
+00100000010000000111101100110101
+11011010001000000000100000100010
+11011010010000000000011111100010
+11011000101000000000100000100010
+00100000010000000111101100110010
+11011010001000000000100000100010
+11011010010000000000100001000010
+11011000101000000000100000100010
+00100000010000000111101100110010
+11011000110000000000011100000010
+11011000101000000000011111100010
+00100000010000000111110010011000
+11011010001000000000011100100010
+11011000101000000000100001000010
+00100000010000000111101100101110
+11011010001000000000011111100010
+00100000010000000111101100110101
+11011010001000000000011111100010
+00100000010000000111101100110101
+11011010001000000000011111100010
+11011010010000000000100001000010
+11011000101000000000011111100010
+00100000010000000111101010010110
+11011010001000000000100001000010
+11011000101000000000100000000010
+00100000010000000111101100101110
+11011010001000000000100000000010
+00100000010000000111101100110101
+11011010001000000000100000000010
+00100000010000000111101100110101
+11011010001000000000100000000010
+00100000010000000111101100110101
+11011000110000000000011100100010
+11011000101000000000100001000010
+00100000010000000111110010011000
+11011010001000000000100001000010
+00100000010000000111101100110101
+11011010001000000000100001000010
+11011010010000000000011101000010
+11011000101000000000011101000010
+00100000010000000111101010010110
+11011010001000000000100000100010
+11011000101000000000100001000010
+00100000010000000111101100101110
+11011010001000000000100001000010
+11011010010000000000011111100010
+11011000101000000000100001000010
+00100000010000000111101101001011
+11011010001000000000100001000010
+11011010010000000000011111100010
+11011000101000000000011100000010
+00100000010000000111101101001011
+11011010001000000000011111100010
+11011010010000000000011100000010
+11011000101000000000100001000010
+00100000010000000111101101001011
+11011010001000000000100001000010
+11011010010000000000100000100010
+11011000101000000000100001000010
+00100000010000000111101010010110
+11011010001000000000100001000010
+11011010010000000000100000000010
+11011000101000000000011100100010
+00100000001000000111101101001011
+11011010001000000000011010000010
+11011000101000000000100001100010
+00100000010000000111101100101110
+11011010001000000000011100000010
+11011010010000000000100001100010
+11011000101000000000100000000010
+00100000010000000111101010010110
+11011010001000000000011010000010
+11011010010000000000100001100010
+11011000101000000000100001100010
+00100000010000000111101010010110
+11011010001000000000011100100010
+11011010010000000000100001100010
+11011000101000000000011111100010
+00100000010000000111101010010110
+11011010001000000000011101000010
+11011000101000000000100001100010
+00100000010000000111101100101110
+11011010001000000000011001000010
+11011010010000000000100001100010
+11011000101000000000100000100010
+00100000010000000111101010010110
+11011010001000000000011101000010
+11011010010000000000100001100010
+11011000101000000000100001100010
+00100000010000000111101010010110
+11011010001000000000011001100010
+11011010010000000000100001100010
+11011000101000000000100001000010
+00100000010000000111101010010110
+11011010010000000000100000000010
+11011010001000000000100000100010
+11011000101000000000100001100010
+00100000010000000111101101001011
+11011010001000000000100000000010
+11011010010000000000100000100010
+11011000101000000000100000000010
+00100000010000000111101100110010
+11011010010000000000011111100010
+11011010001000000000100001000010
+11011000101000000000100000100010
+00100000010000000111101101001011
+11011010001000000000011111100010
+11011010010000000000100001000010
+11011000101000000000011111100010
+00100000010000000111101100110010
+11011010001000000000011111100010
+11011010010000000000100001100010
+11011000101000000000011111100010
+00100000010000000111101010010110
+11011010001000000000011101000010
+11011010010000000000011010000010
+11011000101000000000100001000010
+00100000010000000111101010010110
+11011010001000000000100001000010
+11011010010000000000100001100010
+11011000101000000000011101000010
+00100000010000000111101010010110
+11011010001000000000100001100010
+11011000101000000000100001100010
+00100000010000000111101100101110
+11011010001000000000100001100010
+11011010010000000000100000000010
+11011000101000000000100001000010
+00100000010000000111101010010110
+11011010001000000000100001100010
+11011010010000000000011111100010
+11011000101000000000011111100010
+00100000010000000111101010010110
+11011010001000000000100000100010
+11011000101000000000011100000010
+00100000010000000111101100101110
+11011010001000000000011100000010
+11011010010000000000100001000010
+11011000101000000000011100000010
+00100000010000000111101101001011
+11011000110000000000011100000010
+11011000101000000000100001100010
+00100000010000000111110010011000
+11011010001000000000100001100010
+00100000010000000111101100110101
+11011010001000000000100001000010
+11011010010000000000100001100010
+11011000101000000000100001000010
+00100000010000000111101101001011
+11011010001000000000100001000010
+11011010010000000000100000100010
+11011000101000000000100000100010
+00100000010000000111101010010110
+11011010001000000000100000100010
+11011010010000000000011111100010
+11011000101000000000011100100010
+00100000010000000111101101001011
+11011010001000000000011100100010
+11011010010000000000100100011010
+11011000101000000000011100100010
+00011000000000000010011000000000
+01101111111000100000011100100010
+00101111111011111111111000000000
+00100000010000001111101100110000
+00011010011000100110000000000000
+11011010001000000000011100100010
+00100000010000000111101101100000
+01101111111000100000011101000001
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100111111000100000011101000001
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000100000000010
+00100000010000000111110010101011
+00011000000000000111111000000000
+01100111111010000000100000100010
+01110000000010000000001000000001
+11011000101000000000011110000010
+00100000010000000111110010101101
+11011000110000000000100100011010
+11011000101000000000011111000010
+00100000010000000111110010011000
+00011010001000100000110000000000
+11011000101000000000011111100010
+00100000010000000111110010011000
+11011000110000000000011111100010
+00100000010000000111101101101010
+00100000001110100111101010001111
+11011010001000000000011111100010
+11011010010000000000100000000010
+00100000010000000111101101101101
+11011010001000000000011111000010
+11011010010000000000011110000010
+00100000010000000111101101101101
+11011010001000000000011111100010
+11011010010000000000011111000010
+00100000010000000111101101100110
+00100000001000010111101010000001
+11011010001000000000011111000010
+11011010010000000000011111100010
+00011010001000100000101000000000
+00100000010000000111101101011110
+11011010001000000000100000000010
+11011010010000000000011110000010
+00011010010000100000101000000000
+00100000010000000111101100110000
+11101111111000100000000000010001
+10011010011000001010011000000000
+11101111111000100000000000010010
+10011010011000001111111000000000
+11100111111000100000000000010010
+00100000001000000111101001100110
+11011010001000000000011111100010
+11011010010000000000011111000010
+00011010001000100000101000000000
+00100000010000000111101101011110
+11011010001000000000011110000010
+11011010010000000000100000000010
+00011010010000100000101000000000
+00100000010000000111101100110000
+11101111111000100000000000010001
+10011010011000001010011000000000
+11101111111000100000000000010010
+10011010011000001111111000000000
+11100111111000100000000000010010
+00100000001000000111101001100110
+11011010001000000000011110000010
+00011001011000100000101000000000
+00100000010000000111101010111111
+11011010001000000000100100011010
+00011001011000100010010000000000
+00011001011000100000101000000000
+00100000001000000111101101001011
+00011000101000100001011000000000
+00011000000000000111000000000000
+11011000101000000000011110000010
+00100000010000000111110010101101
+11011000101000000000101011001110
+00100000010000000111110010101101
+00011010001000100000110000000000
+01110000000010101100111000000000
+01011000000000000000000000000000
+00100000010000000111101100101000
+00011010010000100000110000000000
+00100000010000000111101100101100
+00011000000000000000111000000000
+11011000101000000000011110000010
+11011000010000000000101011001110
+00011000111000100010010000000000
+00011010010010111111111000000000
+10011000010000001010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000000
+11101111111010000000000000000101
+10011000000000000010001000000000
+11101111111010000000000000010010
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100111111010000000000000000101
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001000
+00100100001000001111101010101010
+00011000010000100111111000000000
+11100111111010000000000000000101
+00011000101000001000101111100000
+00011000111000001000111000000001
+00101000111000011111111000001000
+00100100001000001111101010100100
+11011010001000000000011110000010
+00011001011000100000101000000000
+00100000001000000111101010111111
+01000111010011100100000000110011
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011111000010
+00011010010000100000101000000000
+00100000010000000111110010101000
+11100111111100000000000000000101
+00011010001000001000110000101100
+00100000010000000111110010010100
+00100000010000000111110010010000
+00011010010000100010001000000000
+00100000010000000111101100110101
+11011010010000000000011111000010
+00011110000000100010001000000000
+00011001011000100000101000000000
+00100000010000000111101100110010
+11011010010000000000011111000010
+00011010010000100000101000000000
+00100000010000000111110010101000
+11100111111100000000000000000101
+00011110000000001000110000110000
+00100000010000000111110010011010
+00100000010000000111110010101000
+00011010010000100010001000000000
+00100000010000000111101100110101
+11011010010000000000011111000010
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111101100110010
+11011010010000000000011111000010
+00011010010000100000101000000000
+00011110000000001000110000100000
+00100000010000000111110010010000
+00100000010000000111110010101000
+11100111111100000000000000000101
+00011110000000001000110000111000
+00100000010000000111110010010100
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111101100110010
+11011010010000000000011111000010
+00011010010000100000101000000000
+00011110000000001000110000100100
+00100000010000000111110010010000
+00011110000000001000110000110100
+00100000010000000111110010010000
+00011110000000001000110000110100
+00100000010000000111110010010001
+00011110000000001000110000100000
+00100000010000000111110010010001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111101100110010
+11011010010000000000011111000010
+00011010010000100000101000000000
+00011110000000001000110000101100
+00100000010000000111110010010000
+00100000010000000111110010101000
+11100111111100000000000000000101
+00011110000000001000110000100000
+00100000010000000111110010010001
+00011110000000001000110000101000
+00100000010000000111110010010001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111101101001011
+11011010010000000000011111000010
+00011010010000100000101000000000
+00011110000000001000110000110000
+00100000010000000111110010010100
+00100000010000000111110010010100
+00011000000000000111111000000000
+11100111111100000000000000000101
+00011110000000001000110000100100
+00100000010000000111110010010001
+00011110000000001000110000101100
+00100000010000000111110010010001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111101101001011
+11011010010000000000011111000010
+00011010010000100000101000000000
+00011110000000001000110000110100
+00100000010000000111110010010000
+00011110000000001000110000100000
+00100000010000000111110010010000
+00100000010000000111110010101000
+00011110000000001000110000110000
+00100000010000000111110010010001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111101101001011
+11011010010000000000011111000010
+00011010010000100000101000000000
+00011110000000001000110000111000
+00100000010000000111110010010100
+00100000010000000111110010101000
+00011110000000001000110000100100
+00100000010000000111110010010000
+00100000010000000111110010101000
+00011110000000001000110000110100
+00100000010000000111110010010001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111101101001011
+00011000000000000111001000100000
+11011000101000000000101011001110
+10011000101000001000101000000000
+00100000001000000111110011011100
+00011000000000000111001000001000
+00100000001000000111011000110110
+00011010001000100010010000000000
+00100000001000000111101010010110
+00011000000000000111001000001000
+00100000001000000111010111000111
+00100000010000000111101100110000
+00011000101000100010001000000000
+00100000001000000111101100110110
+00100000010000000111101101100011
+00101010011011111111111000000000
+00100000001000001111101100111111
+11011010010000000000100100011010
+00011010001000100010011000000000
+00011010001000001010001111100000
+00100000010000000111101101100110
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111101101000111
+00100000010000000111101101000111
+00011010001000100010011000000000
+00011010001000001010001111100000
+11011010010000000000100100011010
+00100000010000000111101101100110
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111101101000111
+00011010001000001010001111100000
+11011010010000000000100100011010
+00011010001000100000101000000000
+00100000001000000111101101011110
+00100000010000000111101101011110
+00100000001000001111101101010101
+00011000101000001010001111100000
+11011010010000000000100100011010
+00100000010000000111101101100110
+00100100011000010000000000000000
+11011010010000000000100100011010
+00011000101000001010001111100000
+00011010001000100000101000000000
+00100000001000000111101101011110
+00011000101000001010001111100000
+11011010010000000000100100011010
+00011010001000100000101000000000
+00100000010000000111101100110000
+00100000011000001000000000000000
+00011000101000001010001111100000
+11011010010000000000100100011010
+00011010001000100000101000000000
+00100000001000000111101100110000
+00011000000000000111001000001000
+00100000001000000111010111010101
+00011000000000000111001000001000
+00011010001000001010001000011100
+00100000001000000111010111100100
+00011000000000000111001000001000
+00011000000000000010011000000000
+00100000001000000111010111110010
+00011000000000000111001000001000
+00011010001000001010001000011100
+00011010010000001010010000011100
+00100000001000000111010110111100
+11101111111100000000000000000110
+00100100011110100000000000000000
+00100000001000000111010110101010
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101111111000100000000000010001
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111101101100000
+11101111111000100000000000010010
+00101111111011000000000000000000
+00100000001000001111101101111101
+11011010001000000000100100011010
+00011010010000100000101000000000
+00100000010000000111101100110000
+11101111111000100000000000010010
+10011010011000001111111000000000
+11100111111000100000000000010010
+00011010010000001010010111100000
+00011010010000001010001000100000
+00011000000000000111001000001001
+00100000010000000111010111100100
+00100000001000000111101101101110
+00100000010000000100110000100000
+00100000011101011000000000000000
+00100000001000000111101110011010
+00100000001000000111101110001001
+01011000000000000001000000000000
+00011111111100000111111000000000
+10011010010000001010010000000000
+00100000011000000000000000000000
+01000111010011101100000000110011
+11011010001000000000000000000000
+01101000010010000100011001001010
+00011100010000100010010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100010000010111101110000101
+00011010010000100111111000000000
+00011000010000001000010010100000
+00011000010000001000010010100000
+10011000010001100111110000000000
+00100100001000010111101110011101
+00011010001000001010001000000001
+00011010001000010111111000001111
+00100100001110100111101110010000
+11011010001000000000000000000000
+00100000010000000111101110100100
+00011100010000100111111000000000
+01100111111010000100011001001010
+00100000011000000000000000000000
+01000111010011110100000000110011
+00011010001000100111111000000000
+00100000011110100000000000000000
+00011000010000001000010101100000
+00011000010000001000010101100000
+01111001001111111000010000011100
+01100000010010000100011001001010
+00100000001000000100110011111000
+01110000010001100011100000000001
+01101111111000100100011000111001
+00100100001110100111101110100110
+00100000011000000000000000000000
+01110000010001100011100000000000
+00100000011000000000000000000000
+01000111010011111100000000110011
+00100000010000000111101110100101
+00011010001000100111111000000000
+01100111111010000000101010001101
+11011010001000000100011000111010
+00100000010000000111110110010000
+01101111111010000000101010001101
+00011111111000100010001000000000
+00100000001000000111101110101001
+01000111010100000100000000110100
+00100000010000000111101110100101
+00011010001000100111111000000000
+01100111111010000000101010001101
+11011010001000000100011001000010
+00100000010000000111110110010000
+01101111111010000000101010001101
+00011111111000100010001000000000
+00100000001000000111101110101001
+01011000000000000000000000000000
+01100111111100000100011001000010
+01100111111100000100011000111010
+00100000011000000000000000000000
+01000111010100001100000000110100
+01101111111000100100000111001111
+00100100011110100000000000000000
+11011010001000000100011001000010
+00100000010000000111110110101000
+00100000011110100000000000000000
+01110000000010101000110000000000
+00100000010000000111101111001100
+01101111111000100000101010001100
+00100000001110100111101111000001
+00100000011000000000000000000000
+00100000010000000111101110100101
+11011010001000000100011001000010
+00100000010000000111110110011100
+00011111111000100000010000000000
+00100000010000000111101110101001
+01000111010100010100000000110100
+00011000010000100111111000000000
+00100000011110100000000000000000
+11000000000000001111101111111111
+11000000000000010111110000000100
+11000000000000011111110000001010
+11000000000000111111110000001111
+11000000000001000111110000010000
+11000000000001001111110000010001
+11000000000001011111110000010100
+11000000000001100111110000010101
+11000000000001101111110000010110
+11000000000001110111110000011100
+11000000000001111111110000100001
+11000000000010000111110000100111
+11000000000010110111110000110001
+11000000000010111111110000110100
+11000000000011000111110000110110
+11000000000011001111110000111001
+11000000000011011111110000111101
+11000000000011110111110001000111
+01100111111000100000101010010101
+01000111010100011100000000110100
+00100000010000000110011010011110
+00100100001110100111101111111101
+01101111111000100000101010010101
+11000101100001001111101111111000
+11000000000000100111110000001100
+11000000000000101101000011111101
+11000000000000110101000100001100
+11000000000001010111110000010010
+11000000000010001111110000101100
+11000000000010010111110000110000
+11000000000011101111110000111110
+11000000000011111110011111111101
+11000000000100000110011111111101
+11000000000100001111110001001001
+11000000000100101110011111111101
+00100000011000000000000000000000
+01100111111000100000101010010101
+00100000010000000100001001001110
+00100000001000101111101111111101
+00100000010000000100001001010110
+00100100011000101000000000000000
+01110000000010101000110000000001
+00100000001000000111101110110100
+01101111111001000100011001010010
+01111001001000000111111000000110
+01100111111001000100011001010010
+01110000010000001001001100000011
+00100000011000000000000000000000
+01110000010001100101000000000000
+01110000010000001001001100000000
+01101111111001000100011001010010
+01111001001111111111111000000110
+01100111111001000100011001010010
+00100000011000000000000000000000
+01110000010000011100111100000101
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100011000010011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000001001101000000000010
+00100000001000000101000011110000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000010000110100000000000001
+01110000010001000101011000000000
+01101111111001000100011001010010
+01111001001000000111111000001011
+01100111111001000100011001010010
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001111111111111000001011
+01100111111001000100011001010010
+01110000010000110100000000000000
+00100000011000000000000000000000
+01110000010000110100000000000001
+01110000010001000101011000000001
+01101111111001000100011001010010
+01111001001000000111111000001011
+01100111111001000100011001010010
+00100000011000000000000000000000
+01101111111001000100011001010010
+01111001001111111111111000001011
+01100111111001000100011001010010
+01110000010000110100000000000000
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100111111001000000010001101001
+01100111111001000100010010001100
+00100000001000000110000001110011
+00100000001000000101111010011111
+01110000010000110011101100000001
+01110000010000011100111100011011
+00100000011000000000000000000000
+01110000010000110011101100000001
+00100000011000000000000000000000
+01110000010000110011101100000000
+01110000010000011100111100000000
+00100000011000000000000000000000
+01101111111001000100000111101100
+00100000010000000111110101110111
+00100000010000000111101110111101
+00100000001000000100101011111110
+00100000001000000101111011100010
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100100011101001000000000000000
+01110000010001010010110100000000
+01110000000000000111110000010011
+01101111111000100000000101101011
+01111001001111111111111000000010
+01100111111000100000000101101011
+00100000011000000000000000000000
+00011000000000000000111000000011
+00100000001000000111110011100010
+00100000010000000110011011011010
+01110000000000000111110101000001
+00100000001000000110001101111111
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000110111111000000000
+11000010000000000111110001001110
+00100000011000000000000000000000
+00011000000000000111111000000001
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000111111111000000000
+11000010000000000111110001010100
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100111111001000000101010110111
+01100000010100000000101010011110
+00011001011000100111111000000000
+01100111111010000000101010100110
+00100000010000000111110001100000
+00011000110000100111111000000000
+01100111111001000000101010110101
+00100000011000000000000000000000
+00011010001000100111111000000000
+01100111111010000000101010101010
+00011010010000100111111000000000
+01100111111010000000101010101110
+00011010011000100111111000000000
+01100111111001100000101010110010
+00100000011000000000000000000000
+01101000010100000000101010011110
+01101111111010000000101010100110
+10011000000000000001011000000000
+00100000010000000111110001110000
+01101111111001000000101010110111
+10011000000000000000101000000000
+01101111111001000000101010110101
+10011000000000000000110000000000
+00100000011000000000000000000000
+01101111111010000000101010101010
+10011000000000000010001000000000
+01101111111010000000101010101110
+10011000000000000010010000000000
+01101111111001100000101010110010
+10011000000000000010011000000000
+00100000011000000000000000000000
+01101111111001000000101010110111
+00011111111000100000101000000000
+00100000011000000000000000000000
+01101111111001000000101010110101
+00011111111000100000110000000000
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100111111001000000101010110111
+00100000011000000000000000000000
+00011000110000100111111000000000
+01100111111001000000101010110101
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100111111001000000101010010011
+00011000110000100111111000000000
+01100111111001000000101010010001
+00100000011000000000000000000000
+01101111111001000000101010010011
+00011111111000100000101000000000
+01101111111001000000101010010001
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000111110010011000
+00100000010000000111110010011000
+00100000001000000111110010011000
+00100000010000000111110010010100
+11101111111010000000000000000110
+11100111111010000000000000000101
+00100000011000000000000000000000
+11101111111100000000000000000110
+11100111111100000000000000000101
+00100000011000000000000000000000
+00100000010000000111110010011010
+00100000010000000111110010010100
+00100000010000000111110010010100
+00100000010000000111110010010100
+00100000001000000111110010010100
+11011111001000000000000000001010
+00100000000000000010111011100000
+11000010000000000111110010011101
+00100000011000000000000000000000
+00011000000000000111001000000011
+00011000000000000111111000000000
+11100111111100000000000000000101
+11000010000000000111110010100010
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100111111100000000000000000101
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100111111010000000000000000101
+00100000011000000000000000000000
+00011000000000000111001000000100
+00100000001000000111110010100001
+00011000000000000111001000001000
+00100000001000000111110010100001
+00011111001000100111111000000000
+00100000011110100000000000000000
+01011000000000000000000000000000
+11100111111000100000000000000101
+11000010000000000111110010110010
+00100000011000000000000000000000
+11011111001000000000000000100000
+11011000101000000000101010111110
+00100000001000000111110010101111
+11101111111010000000000000010011
+11101000010010000000000000010001
+10011000010000101111111000000000
+11100111111010000000000000000101
+00011010001000001010001000000100
+00011010011000001010011000000100
+11000010000000000111110010111000
+00100000011000000000000000000000
+01000111010100100100000000110100
+00011111001000100111111000000000
+00011111111001100111110000000001
+00100000011000010000000000000000
+10011010001000001010010000000000
+00011010010000001010010111111111
+00011111001000110111001000000000
+11101000010000100000000000010001
+11101111111000100000000000010010
+11100111111000100000000000010001
+11100000010000100000000000010010
+00011010010000001010010111111111
+00011010001000001010001000000001
+11000010000000000111110011000111
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010111110010010100
+00100000011000101000000000000000
+00100000001000010111110011010001
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010111110010010001
+00100000011000101000000000000000
+00100000001000010111110011010110
+00011111001000001111001000000100
+00100000001000000111110011011100
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101111111000100000000000000110
+11100111111000100000000000000101
+11000010000000000111110011011110
+00100000011000000000000000000000
+01011000000000000000000000000000
+00011100010000110000010000000000
+01100000010010000100000010010100
+11011000101000000100000110011110
+10011000000000000000010000000000
+00011000111000111111111000000000
+10011000101000001000101000000000
+11100000010001000000000000000101
+01000111010100101100000000110100
+00100000011000000000000000000000
+11011001011000000000100000000000
+00011001011100000001011000000000
+10011001011000001111111000000000
+00100000011000000000000000000000
+11011000111000000000000000000000
+01000111010100110100000000110100
+01101000010010000100000010010100
+00011100010000110111111000000000
+01100111111010000100000010010100
+10011000010001100111110000000000
+00100100010000010111110011101100
+10011000010001100001011000000000
+00011001011000100000010000000000
+11011000110000000100000110011110
+00011000110000100000101000000000
+11011111001000000000000000010000
+11101111111001000000000000000110
+10011000010001100111111000000000
+00100000001000010111110100000000
+00011000000000000111111000000000
+11100111111001000000000000000101
+11000010000000000111110011111100
+11011000110000000100000110011110
+00011000111000111111111000000000
+10011000110000001000110000000000
+11101111111001000000000000000110
+00100000011000000000000000000000
+10011000010000001000010000000000
+00011000010000100111001000000000
+01011000000000000000111010100110
+10011111001001100111111000000000
+00100000011000010000000000000000
+00011111111001100111111000000000
+00011000010100010000010000000000
+00011000010000001000010000000001
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000010000000111110100010100
+00100000001000000111110100011110
+01111000010101000111110000000000
+10011000010001100111111000000000
+00100000001000010111110100011001
+01111000001101000111110000000000
+00011111111001100111111000000000
+11000100000001111000000000000000
+11011000010111110000111010100110
+10011000010000001111111000000000
+01111001001111111111111001000000
+00100000011000000000000000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+11011000010000000000111010100110
+10011000010011111111111000000000
+10011000110000001111111000000000
+00100000011000000000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+01101000010001100100000101110000
+10011000010001101111110000000000
+00100000010000000111110101100001
+00011000000001111000010000000000
+00100000011000000000000000000000
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111110101100001
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+00011000010000100010011000000000
+11101111111000100000000000000011
+00100000010000000111110100111111
+00011010011000100000010000000000
+00100000010000000111110101110000
+11011010010000000000000000001010
+10011010010011111111111000000000
+10011000010000001111111000000000
+00011111111000100000010000000000
+11000010000000000111110100110100
+00100000011000000000000000000000
+11011000010000000000000000111010
+10011000010001100111110000000000
+00100100001000010111110101001000
+11011000010000000000000001100001
+10011000010001100111110000000000
+00100000001000010111110101001011
+11011000010000000000000000110111
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000000110000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000001010111
+10011000010001100111111000000000
+00100000011000000000000000000000
+00011000010000100110000000000000
+01011000000000000000000111111111
+00011000000000000010010000000000
+00011111111010010010001000000000
+00011010001000110010001000000000
+10011010001000101010001000000000
+00101010001011111111111000000000
+01111001001000001111111000001001
+00011000010000110000010000000000
+00101111111011111111111000000000
+01111001001000001000010000000111
+00011111111000110111111000000000
+00011010010000001010010000000001
+00101010010000000000111000000000
+00100100001000001111110101010001
+11100000010000100000000000000101
+11000010000000000111110101010001
+00011110000000100000010000000000
+00100000011000000000000000000000
+00100000011110101000000000000000
+00100000001000000111110101100001
+11101111111000100000000000010001
+11101000010000100000000000010010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111110101100011
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+10011000010000001111111000000000
+10011000010001100000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011111001000000000001000000000
+11011000101000000100000000000000
+00100000001000000111110010100001
+00100000011110100000000000000000
+00011111111000100111101000000000
+01110000100000100000001100000001
+00100000011000000000000000000000
+01100111111001001000001000000101
+01101111111000101000001000000011
+01111001001000000111111000000100
+01100111111000101000001000000011
+00100000011000000000000000000000
+01100111111001001000001000000111
+01101111111000101000001000000011
+01111001001000000111111000000110
+01100111111000101000001000000011
+00100000011000000000000000000000
+01100111111001001000001000000101
+01110000100000100000001100110000
+00100000011000000000000000000000
+01101111111000101000000001000011
+01111001001000000111111000000100
+01100111111000101000000001000011
+00100000011000000000000000000000
+01101111111000101000000001000011
+01111001001111111111111000000100
+01100111111000101000000001000011
+00100000011000000000000000000000
+01000111010100111100000000110100
+11101000010100000000000000010001
+00011000010000010111111011111111
+00100100001110100111110110010110
+00011000010011001111111000000000
+11100111111100000000000000010001
+00011010001000001010001000000111
+11101111111000100000000000010001
+00100100001110100100101010001011
+01101111111000100000101010010101
+11100111111000100000000000010001
+00100000011000000000000000000000
+01000111010101000100000000110101
+11011111001000000000000000001000
+11101111111100000000000000010001
+00100000011110100000000000000000
+11101111111000100000000000010001
+00100100001110100111110110100101
+00011010001000001010001000000001
+11000010000000000111110110100000
+00100000001000000100101010001011
+11011000010000000000000000000000
+11100000010000100000000000010001
+00100000011000000000000000000000
+11101111111100000000000000010001
+00100000011000000000000000000000
+11101111111000100000000000010001
+00100000011000000000000000000000
+11101111111001000000000000010001
+00100000011000000000000000000000
+11011000010000000000000000000000
+01101111111000100000000000000110
+11000010000000000111110110101111
+00011000010000001000010000000001
+11000010000000000111110110101111
+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
+11101111111000100000000000000110
+00011000110000001000110111111110
+11100111111000100000000000000101
+11000010000000000111110111010001
+00100000011000000000000000000000
Index: shoubing/output/eeprom.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/eeprom.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/eeprom.dat	(working copy)
@@ -0,0 +1,8889 @@
+00
+02
+aa
+55
+a6
+1a
+c2
+84
+00
+1a
+c0
+00
+83
+b5
+c0
+01
+83
+bb
+c0
+02
+80
+36
+c0
+17
+00
+33
+c0
+2f
+80
+7b
+c0
+30
+00
+80
+c0
+2e
+80
+61
+c0
+2f
+00
+70
+c0
+38
+00
+50
+c0
+3c
+80
+9f
+c0
+1e
+83
+8c
+c0
+42
+83
+bd
+c0
+44
+83
+e3
+c0
+4a
+03
+9b
+c0
+51
+03
+ec
+c0
+51
+83
+a6
+c0
+54
+83
+a9
+c0
+56
+03
+f3
+c0
+5c
+00
+ca
+c0
+5d
+81
+48
+c0
+5e
+01
+f7
+c0
+5f
+06
+80
+c0
+64
+00
+a8
+c0
+6d
+80
+98
+20
+20
+4a
+8b
+c0
+01
+85
+cb
+c0
+02
+85
+c2
+c0
+03
+03
+de
+c0
+09
+85
+ee
+c0
+0f
+85
+d7
+c0
+10
+85
+e9
+c0
+18
+00
+a2
+c0
+1e
+02
+0f
+c0
+1d
+02
+1d
+c0
+1e
+82
+2d
+c0
+1f
+82
+3a
+c0
+1f
+02
+40
+c0
+20
+82
+68
+c0
+4c
+82
+6e
+c0
+51
+80
+2a
+20
+20
+4a
+8b
+20
+40
+66
+9e
+24
+3a
+7b
+fd
+6f
+e2
+0a
+95
+c5
+84
+fb
+f8
+c0
+02
+00
+30
+20
+20
+7b
+ed
+70
+00
+7c
+07
+70
+04
+c6
+13
+20
+60
+00
+00
+da
+20
+4b
+dd
+df
+20
+00
+02
+20
+20
+42
+60
+20
+40
+42
+5a
+24
+22
+80
+3e
+20
+40
+42
+06
+1a
+20
+8c
+01
+ef
+e2
+00
+06
+c2
+80
+57
+3a
+c2
+80
+c1
+62
+20
+20
+43
+cb
+20
+40
+00
+40
+20
+20
+40
+2c
+df
+20
+00
+02
+68
+42
+00
+15
+18
+40
+84
+01
+28
+41
+fe
+02
+24
+20
+80
+46
+d8
+40
+00
+00
+60
+42
+00
+15
+18
+4f
+fe
+50
+da
+20
+4b
+dd
+9a
+20
+a2
+00
+ef
+e2
+00
+11
+c2
+80
+80
+4e
+c3
+80
+00
+00
+c3
+81
+80
+00
+c2
+00
+00
+42
+20
+60
+00
+00
+79
+3f
+80
+01
+70
+02
+66
+00
+6f
+e2
+02
+5f
+20
+7a
+00
+00
+2f
+ef
+fe
+00
+d8
+c0
+10
+00
+20
+40
+d1
+53
+6f
+e2
+02
+66
+c0
+00
+c7
+37
+70
+02
+66
+00
+6f
+e2
+02
+5f
+c4
+00
+80
+00
+d8
+c0
+12
+00
+20
+40
+51
+53
+6f
+e2
+02
+66
+c0
+00
+c7
+3d
+20
+60
+00
+00
+c5
+07
+c6
+1c
+6f
+e4
+01
+5d
+d8
+40
+01
+e0
+98
+46
+7c
+00
+20
+21
+46
+39
+6f
+e2
+02
+5f
+c2
+80
+c6
+49
+c3
+00
+45
+c5
+c3
+00
+80
+6b
+20
+20
+46
+49
+70
+02
+5d
+02
+6f
+e4
+02
+5b
+c0
+80
+46
+49
+d8
+a0
+12
+00
+20
+20
+45
+e0
+c5
+07
+c6
+1c
+6f
+e4
+01
+5d
+d8
+40
+01
+e0
+98
+46
+7c
+00
+20
+21
+46
+39
+6f
+e2
+02
+5d
+c0
+00
+c5
+d9
+c0
+01
+00
+79
+20
+20
+46
+49
+d8
+a0
+12
+00
+20
+20
+45
+de
+09
+80
+00
+10
+20
+23
+46
+33
+6f
+e2
+43
+35
+c0
+00
+c6
+33
+20
+20
+45
+e9
+6f
+e2
+02
+5d
+c0
+00
+80
+84
+c0
+01
+00
+8e
+20
+20
+4a
+8b
+6f
+e4
+02
+59
+68
+44
+01
+5d
+98
+40
+fe
+00
+67
+e4
+02
+59
+c0
+00
+4a
+8b
+68
+44
+10
+00
+18
+40
+84
+04
+98
+46
+7c
+00
+20
+42
+c7
+43
+20
+20
+46
+09
+6f
+e4
+02
+5b
+68
+44
+01
+5d
+98
+40
+fe
+00
+67
+e4
+02
+5b
+c0
+00
+4a
+8b
+68
+44
+12
+00
+18
+40
+84
+04
+98
+46
+7c
+00
+20
+42
+c7
+47
+20
+20
+46
+09
+da
+40
+00
+00
+20
+40
+56
+49
+24
+3a
+4a
+8b
+20
+40
+56
+58
+da
+40
+14
+00
+d8
+e0
+00
+00
+20
+20
+56
+21
+6f
+e4
+01
+6d
+c0
+46
+47
+e2
+20
+20
+47
+cd
+20
+40
+5b
+86
+20
+20
+00
+a4
+da
+60
+43
+81
+da
+20
+43
+62
+20
+40
+5b
+a5
+20
+60
+00
+00
+18
+42
+7e
+00
+c0
+00
+d2
+3e
+c0
+01
+d2
+60
+c0
+08
+80
+af
+c0
+09
+80
+bc
+20
+40
+54
+3c
+20
+20
+52
+ae
+20
+40
+7c
+83
+d8
+40
+00
+52
+6f
+e4
+42
+1e
+24
+3a
+52
+a8
+19
+62
+7e
+00
+67
+e4
+42
+1e
+6f
+e2
+42
+24
+79
+20
+7e
+00
+79
+20
+7e
+01
+67
+e2
+42
+24
+20
+40
+52
+8b
+70
+0a
+95
+42
+20
+20
+7b
+ab
+20
+40
+7c
+83
+1b
+42
+7e
+00
+d8
+40
+00
+53
+6f
+e4
+42
+20
+24
+3a
+52
+a8
+19
+62
+7e
+00
+67
+e4
+42
+20
+6f
+e2
+42
+25
+79
+20
+7e
+00
+79
+20
+7e
+01
+67
+e2
+42
+25
+20
+40
+52
+8b
+70
+0a
+95
+42
+20
+20
+7b
+ab
+58
+00
+01
+00
+67
+e4
+41
+f6
+58
+00
+01
+36
+67
+e4
+41
+fe
+58
+00
+00
+db
+67
+e4
+41
+f4
+58
+00
+01
+3a
+67
+e4
+41
+fa
+58
+00
+01
+43
+67
+e4
+41
+ea
+58
+00
+01
+44
+67
+e4
+41
+f2
+20
+40
+05
+bc
+20
+40
+4d
+af
+20
+40
+4d
+bc
+20
+40
+4c
+2a
+20
+20
+50
+4d
+20
+40
+02
+d2
+20
+40
+50
+d3
+20
+40
+56
+48
+24
+7a
+00
+00
+20
+20
+00
+e0
+6f
+e4
+4f
+fc
+68
+44
+4f
+fe
+98
+46
+7c
+00
+20
+22
+ce
+3a
+20
+40
+67
+f7
+ef
+e2
+00
+03
+c0
+80
+ce
+4e
+ef
+e2
+00
+03
+c0
+50
+00
+f2
+67
+e2
+0a
+ff
+e8
+42
+00
+03
+18
+62
+22
+00
+60
+42
+0b
+00
+70
+0b
+01
+01
+20
+40
+4e
+5a
+6f
+e2
+0b
+01
+c1
+00
+00
+00
+20
+20
+4e
+55
+67
+e2
+0a
+ff
+e8
+44
+00
+03
+18
+62
+22
+00
+60
+44
+4b
+b4
+70
+0b
+01
+01
+20
+40
+4e
+5a
+6f
+e2
+0b
+01
+c1
+00
+00
+00
+20
+20
+00
+fb
+20
+40
+67
+f7
+18
+60
+86
+02
+ef
+e4
+00
+03
+98
+60
+86
+00
+20
+20
+4e
+59
+1a
+62
+7e
+00
+c0
+00
+86
+0e
+c0
+01
+06
+17
+c0
+02
+06
+26
+c0
+02
+86
+2e
+c0
+03
+06
+2f
+c0
+03
+86
+32
+c0
+09
+06
+3b
+c0
+09
+86
+45
+c0
+13
+86
+46
+c0
+17
+06
+49
+c0
+0c
+06
+4b
+c0
+19
+06
+01
+c0
+14
+86
+03
+c0
+1c
+84
+07
+c0
+1d
+04
+0d
+c0
+1e
+04
+0f
+c0
+05
+81
+26
+c0
+11
+01
+16
+c0
+21
+81
+16
+c0
+21
+01
+1d
+20
+20
+4d
+df
+58
+00
+00
+02
+70
+0a
+ff
+b8
+20
+40
+50
+a5
+6f
+e4
+00
+32
+1f
+e3
+7e
+00
+e7
+e4
+00
+0a
+20
+20
+67
+b9
+6f
+e4
+46
+52
+79
+20
+7e
+02
+67
+e4
+46
+52
+58
+00
+00
+02
+70
+0a
+ff
+b7
+20
+40
+50
+a5
+68
+44
+42
+20
+e0
+44
+00
+0a
+20
+20
+67
+b9
+20
+40
+4d
+d7
+6f
+e4
+40
+42
+1f
+e3
+7e
+00
+68
+44
+41
+e4
+98
+46
+7c
+00
+20
+20
+4d
+91
+6f
+e2
+46
+79
+c3
+82
+80
+00
+6f
+e4
+4f
+fc
+68
+44
+4f
+fe
+98
+46
+7c
+00
+24
+42
+d0
+da
+20
+20
+4d
+87
+20
+60
+00
+00
+20
+40
+4d
+6b
+20
+20
+4d
+73
+20
+40
+06
+57
+20
+40
+06
+5f
+20
+40
+06
+62
+20
+60
+00
+00
+68
+44
+04
+74
+18
+46
+7c
+21
+20
+22
+81
+3e
+20
+60
+00
+00
+e8
+42
+00
+11
+58
+00
+00
+01
+67
+e2
+0a
+96
+e0
+42
+00
+05
+20
+20
+06
+9a
+20
+20
+4d
+bd
+20
+20
+01
+45
+6f
+e2
+4b
+d8
+20
+7a
+00
+00
+20
+20
+4d
+c8
+6f
+e2
+0a
+ff
+c0
+08
+81
+c3
+c0
+0a
+81
+cb
+c0
+13
+81
+d9
+c0
+06
+01
+d0
+c0
+58
+01
+db
+c0
+59
+01
+e9
+c0
+50
+81
+63
+c0
+51
+01
+5d
+c0
+58
+86
+75
+c0
+60
+03
+f4
+c0
+60
+83
+f9
+c0
+61
+03
+fd
+c0
+61
+83
+ff
+c0
+62
+04
+02
+c0
+50
+01
+be
+c0
+3b
+01
+79
+c0
+3b
+81
+7f
+c0
+3c
+01
+84
+c0
+38
+01
+66
+20
+20
+4e
+5c
+ef
+e2
+00
+03
+67
+e2
+4b
+d8
+20
+3a
+50
+1f
+ef
+e4
+00
+03
+67
+e4
+41
+e4
+20
+20
+50
+1f
+ef
+f0
+00
+03
+67
+f0
+40
+98
+20
+20
+50
+1f
+ef
+e4
+00
+03
+ef
+ec
+00
+03
+67
+ec
+41
+d1
+ef
+e8
+00
+03
+67
+e8
+4b
+ca
+e8
+48
+00
+03
+5f
+ff
+ff
+ff
+98
+42
+fe
+00
+67
+e8
+4b
+c1
+ef
+e8
+00
+03
+67
+e8
+4b
+c5
+d8
+a0
+41
+bf
+df
+20
+00
+10
+20
+40
+67
+ed
+70
+4b
+b6
+01
+58
+00
+00
+3c
+67
+e4
+4b
+b7
+20
+40
+02
+d8
+20
+20
+50
+1f
+d8
+40
+00
+0c
+20
+40
+5b
+4d
+18
+c0
+8b
+fe
+58
+00
+00
+00
+e7
+e4
+00
+05
+20
+20
+50
+1f
+20
+40
+01
+88
+20
+40
+01
+a5
+58
+00
+00
+00
+e7
+e4
+00
+05
+20
+20
+01
+b7
+ef
+e2
+00
+03
+20
+40
+01
+8c
+20
+40
+01
+93
+20
+20
+01
+b7
+20
+40
+01
+a9
+58
+28
+00
+02
+e7
+e6
+00
+05
+20
+60
+00
+00
+67
+e2
+0a
+96
+20
+40
+01
+a9
+59
+28
+03
+02
+e7
+e8
+00
+05
+6f
+e2
+0a
+96
+e7
+e6
+00
+05
+20
+60
+00
+00
+20
+40
+01
+a9
+20
+40
+01
+a5
+20
+40
+01
+a5
+58
+00
+00
+00
+e7
+e4
+00
+05
+18
+40
+85
+ff
+20
+40
+5b
+4d
+18
+c0
+8c
+04
+ef
+e2
+00
+06
+c2
+82
+01
+a0
+c2
+82
+81
+a0
+18
+40
+84
+01
+20
+60
+00
+00
+20
+40
+01
+a9
+5a
+29
+02
+02
+e7
+f0
+00
+05
+18
+40
+85
+ff
+20
+60
+00
+00
+ef
+e2
+00
+03
+1f
+e2
+72
+00
+e7
+e2
+00
+05
+20
+20
+67
+ed
+20
+40
+01
+ac
+e0
+44
+00
+05
+20
+60
+00
+00
+6f
+e4
+44
+8e
+98
+00
+0c
+00
+ef
+e4
+00
+06
+20
+7a
+00
+00
+1f
+e0
+84
+01
+ef
+e2
+00
+06
+98
+c0
+8c
+00
+ef
+e2
+00
+06
+98
+c0
+8c
+00
+18
+c2
+0a
+00
+20
+20
+01
+ae
+60
+44
+0a
+9e
+70
+0a
+ff
+29
+58
+00
+00
+02
+20
+40
+50
+a5
+68
+44
+0a
+9e
+e0
+44
+00
+0a
+20
+20
+67
+b9
+6f
+e4
+4b
+b4
+1f
+e2
+72
+00
+d8
+a0
+46
+83
+20
+40
+67
+ed
+20
+20
+50
+1f
+6f
+e4
+46
+52
+c3
+00
+50
+1c
+20
+40
+50
+1f
+20
+40
+4d
+64
+6f
+e4
+46
+52
+c4
+01
+00
+00
+70
+0a
+ff
+b6
+20
+20
+50
+4e
+6f
+e2
+0b
+00
+c0
+81
+d0
+1f
+ef
+e6
+00
+03
+67
+e6
+40
+aa
+20
+20
+50
+1f
+1a
+22
+06
+00
+ef
+e2
+00
+03
+c0
+00
+4f
+1c
+c0
+00
+cf
+1f
+c0
+01
+4f
+25
+c0
+01
+81
+d7
+20
+20
+50
+1c
+58
+00
+00
+01
+20
+20
+4f
+20
+20
+40
+50
+1f
+20
+20
+4d
+85
+6f
+e4
+46
+52
+c2
+81
+01
+de
+20
+20
+50
+1c
+20
+40
+56
+4b
+24
+7a
+00
+00
+6f
+e2
+0b
+00
+1f
+e2
+22
+00
+20
+40
+51
+3d
+6f
+e4
+42
+20
+e7
+e4
+00
+05
+6f
+e2
+0b
+00
+1f
+e2
+72
+00
+20
+40
+67
+ed
+20
+20
+50
+1f
+6f
+e4
+46
+52
+c2
+81
+01
+ec
+20
+20
+50
+1c
+20
+40
+56
+4b
+24
+7a
+00
+00
+6f
+e2
+0b
+00
+1f
+e2
+22
+00
+20
+40
+51
+3d
+6f
+e4
+42
+1e
+e7
+e4
+00
+05
+6f
+e2
+0b
+00
+1f
+e2
+72
+00
+20
+40
+67
+ed
+20
+20
+50
+1f
+18
+40
+ff
+fd
+d8
+40
+00
+c8
+20
+40
+7d
+b5
+68
+42
+46
+7a
+20
+40
+7d
+b5
+1f
+e2
+22
+00
+18
+42
+7e
+00
+9a
+26
+7e
+00
+67
+e2
+46
+7a
+68
+44
+46
+7b
+18
+40
+85
+ff
+20
+40
+5b
+4d
+20
+3a
+02
+0b
+e8
+48
+00
+06
+59
+28
+03
+02
+98
+46
+7c
+00
+24
+22
+82
+0b
+ef
+e2
+00
+06
+c2
+82
+4f
+01
+20
+20
+02
+0b
+70
+46
+7a
+00
+70
+0b
+01
+01
+20
+40
+50
+e0
+20
+20
+50
+1c
+6f
+e2
+05
+4e
+67
+e2
+04
+c5
+c0
+19
+82
+13
+20
+20
+61
+94
+6f
+e2
+04
+cd
+79
+20
+7e
+00
+67
+e2
+04
+cd
+70
+0a
+95
+01
+20
+40
+7b
+ab
+70
+01
+6b
+03
+70
+00
+55
+06
+70
+41
+be
+01
+70
+46
+51
+01
+20
+60
+00
+00
+6f
+e2
+00
+7d
+c0
+08
+02
+24
+c0
+0b
+82
+2a
+20
+20
+60
+fe
+70
+00
+7d
+2a
+70
+00
+7c
+03
+20
+60
+00
+00
+68
+42
+05
+4e
+18
+46
+7c
+06
+20
+21
+02
+28
+20
+20
+62
+06
+70
+00
+7e
+24
+20
+20
+61
+34
+6f
+e4
+05
+53
+20
+3a
+62
+d2
+20
+20
+62
+bc
+6f
+e2
+05
+4e
+67
+e2
+04
+c5
+c0
+05
+82
+31
+20
+20
+61
+a6
+20
+40
+61
+df
+6f
+e2
+00
+55
+c1
+8c
+80
+00
+70
+0a
+ff
+b1
+58
+00
+00
+01
+20
+40
+50
+a5
+58
+00
+00
+01
+e7
+e2
+00
+0a
+20
+20
+67
+b9
+6f
+e2
+00
+49
+c0
+0b
+82
+3d
+20
+20
+64
+33
+70
+0a
+95
+43
+20
+40
+7b
+ab
+20
+20
+46
+c2
+78
+54
+7c
+00
+20
+40
+66
+a3
+6f
+e2
+00
+48
+20
+7a
+00
+00
+68
+44
+4b
+d9
+e7
+e2
+00
+02
+18
+40
+84
+01
+60
+44
+4b
+d9
+c2
+83
+82
+5c
+c0
+0b
+82
+57
+c0
+21
+03
+7a
+c0
+03
+82
+4d
+20
+20
+63
+f2
+18
+00
+7e
+02
+20
+40
+66
+7a
+6f
+e2
+04
+c6
+e7
+e2
+00
+05
+20
+40
+66
+94
+6f
+e2
+00
+4b
+79
+20
+7e
+03
+67
+e2
+00
+4b
+70
+00
+72
+32
+20
+60
+00
+00
+6f
+e2
+4b
+d8
+20
+3a
+02
+5a
+20
+20
+65
+86
+70
+00
+48
+00
+20
+60
+00
+00
+c0
+42
+02
+5f
+c0
+41
+82
+62
+20
+20
+64
+21
+20
+40
+02
+65
+6f
+e2
+00
+48
+20
+20
+64
+7b
+20
+40
+02
+65
+6f
+e2
+00
+48
+20
+20
+64
+ef
+6f
+e2
+46
+2c
+20
+3a
+65
+0d
+20
+20
+65
+06
+6f
+e2
+40
+9e
+79
+3f
+fe
+03
+67
+e2
+40
+9e
+58
+00
+00
+01
+67
+e4
+04
+ca
+20
+60
+00
+00
+6f
+e2
+44
+90
+20
+3a
+5e
+d0
+20
+40
+74
+38
+20
+20
+79
+32
+6f
+e2
+46
+6c
+79
+20
+7e
+07
+67
+e2
+46
+6c
+da
+c0
+00
+00
+d8
+c0
+89
+73
+ef
+e2
+00
+06
+79
+20
+7e
+06
+d8
+a0
+89
+73
+e7
+e2
+00
+05
+da
+c0
+00
+0f
+df
+20
+00
+06
+da
+40
+00
+02
+da
+20
+4b
+97
+20
+40
+02
+94
+df
+20
+00
+14
+da
+40
+01
+2c
+da
+20
+4b
+9d
+20
+40
+02
+94
+df
+20
+00
+02
+da
+40
+1f
+fe
+da
+20
+4b
+b1
+20
+40
+02
+94
+20
+40
+02
+b0
+da
+c0
+00
+00
+d8
+c0
+89
+73
+ef
+e2
+00
+06
+79
+3f
+fe
+06
+d8
+a0
+89
+73
+e7
+e2
+00
+05
+da
+c0
+00
+00
+6f
+e2
+46
+6c
+79
+3f
+fe
+07
+67
+e2
+46
+6c
+20
+60
+00
+00
+1a
+49
+a4
+00
+20
+40
+02
+9e
+20
+40
+02
+ab
+20
+40
+02
+ad
+6f
+e3
+85
+0c
+e7
+e2
+00
+11
+1a
+40
+a4
+08
+1a
+20
+a2
+01
+c2
+00
+02
+97
+20
+60
+00
+00
+58
+00
+02
+0c
+20
+40
+02
+a6
+58
+00
+02
+08
+20
+40
+02
+a6
+58
+00
+02
+00
+20
+40
+02
+a6
+58
+00
+02
+08
+20
+20
+02
+a6
+d8
+a1
+85
+0a
+e7
+e2
+00
+05
+1f
+ec
+fe
+00
+e7
+e2
+00
+05
+20
+60
+00
+00
+58
+00
+02
+88
+20
+20
+02
+a6
+1a
+42
+7e
+00
+d8
+a1
+85
+08
+20
+20
+02
+a7
+58
+00
+02
+0c
+20
+20
+02
+a6
+df
+20
+00
+0d
+d8
+40
+55
+aa
+d8
+c0
+4b
+97
+ef
+e4
+00
+06
+98
+40
+fe
+00
+1f
+e2
+04
+00
+c2
+00
+02
+b5
+20
+60
+00
+00
+df
+20
+00
+0d
+d8
+c0
+4b
+97
+ef
+e4
+00
+06
+98
+42
+fe
+00
+1f
+e2
+04
+00
+c2
+00
+02
+bc
+20
+60
+00
+00
+70
+4b
+b3
+00
+d8
+40
+ff
+ff
+98
+41
+7e
+00
+d8
+c0
+4b
+b1
+e8
+44
+00
+06
+98
+46
+7c
+00
+24
+62
+80
+00
+70
+4b
+b3
+01
+20
+60
+00
+00
+20
+40
+02
+72
+20
+40
+02
+b2
+20
+40
+02
+ba
+20
+40
+02
+c1
+6f
+e2
+4b
+b3
+2f
+e1
+fe
+01
+20
+60
+80
+00
+20
+20
+4a
+8b
+6f
+e2
+4b
+b6
+20
+7a
+00
+00
+20
+20
+02
+db
+70
+4b
+b6
+01
+58
+00
+00
+3c
+67
+e4
+4b
+b7
+58
+00
+00
+a0
+18
+00
+0e
+0e
+20
+20
+7c
+e3
+18
+00
+0e
+0e
+20
+40
+7c
+f1
+24
+7a
+00
+00
+20
+40
+48
+d8
+20
+40
+02
+f4
+20
+40
+02
+d8
+68
+44
+4b
+b7
+78
+48
+7c
+00
+18
+42
+36
+00
+20
+21
+83
+1f
+20
+40
+49
+15
+d8
+40
+00
+00
+20
+40
+49
+30
+20
+40
+4a
+50
+20
+40
+03
+0b
+20
+40
+46
+49
+20
+00
+13
+88
+20
+20
+02
+e4
+20
+60
+00
+00
+6f
+f2
+4b
+c1
+1f
+ef
+7e
+00
+1f
+eb
+7e
+00
+67
+e6
+07
+42
+6d
+86
+07
+42
+20
+60
+00
+00
+20
+40
+02
+ee
+6f
+f2
+4b
+c1
+68
+50
+4b
+b9
+98
+42
+fe
+00
+67
+f0
+07
+42
+6f
+ea
+07
+42
+78
+3b
+7c
+00
+98
+00
+12
+00
+78
+5b
+7c
+00
+20
+60
+00
+00
+20
+40
+4a
+63
+78
+43
+fc
+00
+78
+25
+7c
+00
+78
+2d
+fc
+00
+6f
+e4
+0f
+37
+08
+00
+86
+0a
+78
+24
+7c
+00
+08
+00
+86
+08
+78
+4d
+fc
+00
+78
+44
+7c
+00
+78
+45
+7c
+00
+79
+3f
+aa
+02
+20
+60
+00
+00
+58
+00
+00
+78
+67
+e4
+0f
+37
+20
+40
+02
+fe
+78
+2e
+fc
+00
+78
+47
+7c
+00
+78
+24
+fc
+00
+58
+00
+0a
+98
+08
+00
+86
+10
+df
+20
+00
+50
+6f
+e8
+4b
+ca
+08
+00
+86
+20
+c2
+00
+03
+14
+df
+20
+00
+13
+58
+00
+00
+00
+08
+00
+86
+08
+c2
+00
+03
+18
+78
+24
+7c
+00
+08
+00
+86
+10
+78
+44
+7c
+00
+20
+60
+00
+00
+68
+44
+4b
+b7
+78
+48
+7c
+00
+18
+42
+36
+00
+78
+58
+7c
+00
+78
+57
+7c
+00
+d8
+40
+00
+00
+20
+40
+49
+1c
+20
+40
+49
+ea
+20
+40
+4a
+13
+24
+2c
+46
+49
+78
+43
+fc
+00
+78
+25
+7c
+00
+78
+25
+fc
+00
+09
+80
+00
+0a
+19
+83
+7e
+00
+67
+e4
+0f
+39
+09
+80
+00
+08
+78
+45
+fc
+00
+78
+45
+7c
+00
+20
+23
+46
+49
+df
+20
+00
+12
+d8
+a0
+0f
+1e
+78
+26
+7c
+00
+78
+24
+fc
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+e7
+e2
+00
+05
+c2
+00
+03
+37
+09
+80
+00
+10
+20
+40
+46
+49
+20
+63
+00
+00
+6f
+ec
+0f
+20
+68
+4c
+41
+d1
+98
+46
+7c
+00
+24
+62
+80
+00
+6f
+e8
+0f
+2c
+1f
+e3
+7e
+00
+67
+e8
+01
+63
+6f
+e2
+0f
+1f
+67
+e2
+01
+72
+58
+00
+00
+67
+67
+e2
+0f
+1e
+6f
+ec
+40
+a0
+67
+ec
+0f
+1f
+58
+00
+00
+00
+67
+f2
+0f
+25
+20
+40
+4a
+4c
+20
+40
+49
+15
+d8
+40
+00
+00
+20
+40
+49
+30
+20
+40
+4a
+50
+20
+40
+4a
+5e
+6f
+e4
+0f
+39
+67
+e4
+0f
+37
+20
+40
+02
+fe
+78
+2e
+7c
+00
+78
+47
+7c
+00
+78
+24
+fc
+00
+df
+20
+00
+0d
+d8
+c0
+0f
+1e
+ef
+e2
+00
+06
+08
+00
+86
+08
+c2
+00
+03
+5b
+78
+24
+7c
+00
+08
+00
+86
+10
+78
+44
+7c
+00
+20
+40
+46
+49
+70
+4b
+b6
+00
+2d
+00
+06
+03
+20
+20
+83
+67
+37
+cb
+82
+00
+20
+20
+03
+63
+6f
+e8
+01
+63
+1f
+e1
+fe
+03
+1f
+e2
+50
+00
+6f
+ec
+41
+d1
+67
+ec
+00
+40
+20
+40
+44
+31
+20
+40
+44
+78
+20
+36
+83
+72
+20
+40
+44
+51
+24
+3a
+03
+6d
+20
+60
+00
+00
+70
+4b
+dc
+01
+6f
+e2
+05
+4d
+20
+40
+03
+76
+20
+20
+43
+c4
+6f
+e6
+05
+4e
+67
+e6
+4b
+ce
+70
+00
+7c
+42
+20
+60
+00
+00
+58
+00
+00
+00
+67
+e2
+00
+48
+6f
+e2
+4b
+ce
+c0
+00
+03
+80
+c0
+02
+03
+86
+20
+60
+00
+00
+18
+00
+7e
+0a
+20
+40
+66
+7a
+58
+1d
+32
+01
+e7
+f2
+00
+05
+58
+00
+00
+00
+20
+20
+66
+99
+18
+00
+7e
+04
+20
+40
+66
+7a
+58
+00
+00
+04
+e7
+e6
+00
+05
+58
+00
+00
+01
+20
+20
+66
+99
+20
+40
+4c
+24
+20
+40
+6b
+69
+20
+40
+45
+10
+24
+36
+c3
+de
+20
+40
+4a
+87
+20
+40
+6b
+81
+20
+40
+44
+85
+20
+40
+47
+53
+20
+40
+47
+24
+20
+40
+60
+e9
+6f
+e2
+00
+0b
+1f
+e0
+fe
+01
+67
+e2
+00
+0b
+20
+40
+48
+3d
+20
+20
+43
+de
+18
+42
+7e
+00
+20
+40
+7d
+2b
+1c
+30
+7e
+00
+79
+20
+7e
+2c
+20
+40
+7d
+14
+79
+3f
+fe
+2c
+20
+40
+4a
+76
+20
+40
+7d
+14
+20
+74
+00
+00
+20
+40
+03
+b2
+20
+20
+4a
+2f
+1b
+42
+7e
+00
+20
+40
+03
+b1
+20
+20
+4a
+e9
+6f
+e4
+40
+4e
+1f
+e3
+7e
+00
+20
+40
+7d
+2b
+1e
+02
+7e
+00
+20
+40
+7d
+14
+1b
+42
+04
+00
+20
+40
+03
+b1
+20
+20
+4b
+67
+20
+40
+7d
+14
+98
+00
+0c
+00
+79
+3f
+8c
+10
+20
+20
+7d
+1f
+20
+40
+68
+c4
+20
+40
+60
+d7
+20
+40
+03
+b9
+20
+20
+40
+0a
+20
+75
+80
+00
+20
+20
+7b
+9a
+20
+40
+04
+11
+20
+20
+40
+10
+20
+30
+83
+cd
+70
+89
+55
+d4
+20
+00
+00
+04
+70
+89
+55
+d2
+20
+00
+00
+04
+70
+89
+55
+d1
+20
+00
+00
+04
+6f
+e2
+41
+df
+c0
+00
+03
+cb
+c0
+00
+83
+db
+c0
+01
+03
+cb
+c0
+01
+83
+db
+c0
+02
+03
+db
+c0
+10
+03
+db
+70
+89
+55
+d0
+70
+89
+56
+e0
+18
+00
+2a
+08
+18
+00
+2a
+00
+78
+50
+fc
+00
+78
+50
+7c
+00
+78
+2f
+7c
+00
+70
+89
+02
+00
+70
+89
+01
+00
+70
+89
+00
+00
+70
+89
+03
+00
+70
+89
+04
+70
+6f
+e2
+89
+06
+79
+20
+7e
+00
+67
+e2
+89
+06
+20
+60
+00
+00
+70
+89
+55
+d0
+70
+89
+56
+c0
+20
+20
+03
+cd
+20
+40
+57
+af
+20
+40
+03
+e1
+20
+20
+58
+a7
+20
+36
+83
+e8
+20
+20
+57
+be
+60
+42
+00
+17
+20
+40
+49
+2a
+20
+40
+49
+80
+58
+00
+05
+00
+20
+40
+4a
+8e
+6f
+e2
+89
+06
+79
+20
+7e
+00
+67
+e2
+89
+06
+20
+20
+49
+37
+70
+89
+06
+7c
+20
+75
+80
+00
+58
+00
+00
+00
+67
+e4
+41
+dd
+1c
+43
+7e
+00
+67
+e8
+40
+94
+20
+60
+00
+00
+20
+20
+4b
+7f
+20
+40
+50
+1f
+ef
+e8
+00
+03
+67
+e8
+4b
+81
+70
+4b
+81
+ff
+20
+20
+04
+de
+20
+40
+50
+1f
+79
+3f
+80
+26
+70
+4b
+81
+ff
+20
+20
+04
+91
+20
+40
+50
+1f
+20
+20
+04
+ab
+c5
+93
+50
+1c
+20
+40
+50
+1f
+20
+20
+04
+91
+6f
+e2
+0b
+00
+1f
+e2
+72
+00
+d8
+a0
+4b
+81
+20
+40
+67
+ed
+20
+20
+50
+1f
+70
+0a
+ff
+c0
+58
+00
+00
+04
+20
+40
+50
+a5
+6f
+e8
+4b
+81
+e7
+e8
+00
+0a
+20
+20
+67
+b9
+70
+0a
+ff
+c1
+20
+20
+50
+4e
+70
+0a
+ff
+c2
+20
+20
+50
+4e
+c6
+93
+00
+00
+6f
+e8
+4b
+81
+67
+e8
+4b
+81
+20
+40
+04
+31
+24
+34
+04
+27
+70
+4b
+81
+0a
+20
+40
+04
+57
+6f
+e2
+4b
+81
+c1
+ff
+80
+00
+70
+41
+df
+02
+20
+60
+00
+00
+6f
+e2
+4b
+81
+24
+7a
+00
+00
+20
+40
+4a
+d8
+6f
+e6
+41
+70
+20
+7a
+00
+00
+6f
+e2
+40
+91
+20
+7a
+00
+00
+58
+00
+e2
+90
+20
+40
+7d
+24
+60
+48
+41
+5c
+20
+20
+4b
+06
+20
+60
+00
+00
+20
+40
+4a
+d8
+6f
+e6
+41
+70
+20
+7a
+00
+00
+6f
+e2
+40
+91
+20
+7a
+00
+00
+6f
+e2
+4b
+81
+24
+3a
+04
+23
+6f
+e8
+4b
+81
+20
+20
+04
+24
+6f
+e2
+4b
+81
+c0
+ff
+84
+b4
+20
+40
+04
+38
+20
+54
+04
+53
+20
+54
+05
+23
+70
+4b
+81
+01
+20
+60
+00
+00
+78
+54
+7c
+00
+70
+4b
+81
+02
+6f
+e2
+4b
+81
+c0
+00
+84
+43
+c0
+01
+04
+49
+c0
+01
+84
+4f
+c0
+03
+04
+4c
+c0
+03
+84
+46
+6f
+e2
+4b
+81
+24
+5a
+7d
+bf
+20
+60
+00
+00
+70
+4b
+81
+00
+70
+4b
+81
+0a
+20
+20
+04
+51
+70
+4b
+81
+08
+70
+4b
+81
+18
+20
+20
+04
+51
+70
+4b
+81
+03
+70
+4b
+81
+04
+20
+20
+04
+51
+70
+4b
+81
+02
+70
+4b
+81
+03
+20
+20
+04
+51
+70
+4b
+81
+01
+70
+4b
+81
+08
+70
+4b
+81
+00
+20
+20
+7d
+bf
+d8
+a0
+0b
+1e
+d8
+c0
+4b
+81
+df
+20
+00
+20
+20
+20
+7c
+dc
+70
+4b
+81
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
+20
+40
+04
+85
+24
+37
+84
+67
+20
+40
+04
+94
+6f
+e2
+4b
+81
+1f
+e0
+fe
+01
+67
+e2
+4b
+81
+70
+4b
+81
+00
+6f
+e2
+4b
+81
+c0
+ff
+84
+84
+20
+40
+04
+79
+70
+4b
+81
+00
+70
+4b
+81
+00
+20
+60
+00
+00
+70
+4b
+81
+01
+6f
+e2
+4b
+81
+1f
+e0
+fe
+01
+67
+e2
+4b
+81
+6f
+e2
+4b
+81
+c0
+ff
+84
+90
+6f
+e2
+4b
+81
+c0
+7f
+84
+7d
+6f
+e2
+4b
+81
+d8
+40
+00
+10
+98
+46
+7c
+00
+20
+21
+05
+42
+6f
+e2
+4b
+81
+1f
+e0
+fe
+01
+67
+e2
+4b
+81
+20
+00
+00
+0a
+c0
+83
+84
+58
+20
+20
+05
+42
+58
+00
+00
+00
+67
+e0
+0b
+1e
+67
+e0
+4b
+81
+20
+60
+00
+00
+20
+40
+04
+91
+70
+4b
+81
+00
+20
+40
+04
+79
+70
+4b
+81
+00
+6f
+e8
+4b
+81
+67
+e8
+4b
+81
+20
+60
+00
+00
+20
+20
+04
+ce
+78
+57
+fc
+00
+20
+40
+05
+9b
+18
+00
+2a
+00
+6f
+e8
+4b
+81
+98
+00
+12
+00
+68
+42
+00
+17
+20
+40
+49
+1c
+20
+40
+49
+21
+20
+40
+05
+5a
+20
+57
+85
+95
+20
+60
+00
+00
+20
+60
+00
+00
+70
+4b
+81
+00
+70
+0a
+95
+3a
+20
+20
+7b
+ab
+20
+40
+05
+03
+6f
+e2
+4b
+81
+20
+7a
+00
+00
+98
+00
+72
+00
+20
+40
+04
+9c
+d8
+c0
+0b
+20
+d8
+a0
+0b
+1e
+20
+20
+7c
+dc
+6f
+e2
+0b
+1f
+2f
+e1
+f0
+08
+24
+60
+80
+00
+6f
+e2
+0b
+20
+c0
+7f
+84
+a3
+70
+0a
+ff
+c3
+20
+20
+04
+a4
+70
+0a
+ff
+c4
+58
+00
+00
+01
+20
+40
+50
+a5
+68
+42
+0b
+20
+e0
+42
+00
+0a
+20
+40
+67
+b9
+70
+4b
+81
+00
+20
+60
+00
+00
+79
+20
+00
+26
+20
+40
+04
+b0
+20
+40
+04
+63
+70
+4b
+81
+01
+20
+60
+00
+00
+70
+4b
+81
+00
+70
+4b
+81
+4e
+6f
+e8
+4b
+81
+20
+20
+05
+15
+20
+40
+04
+b0
+6f
+e2
+4b
+81
+c0
+00
+fd
+bf
+6f
+e2
+4b
+81
+c0
+00
+84
+bc
+c0
+01
+04
+bf
+c0
+01
+84
+c2
+20
+20
+4a
+8b
+70
+4b
+81
+11
+70
+0f
+1e
+aa
+20
+20
+04
+c4
+70
+4b
+81
+12
+70
+0f
+1e
+55
+20
+20
+04
+c4
+70
+4b
+81
+13
+70
+0f
+1e
+22
+70
+0f
+1f
+02
+6f
+e8
+4b
+81
+67
+e8
+0f
+20
+70
+0f
+24
+00
+da
+20
+0f
+1e
+d8
+40
+00
+07
+20
+40
+04
+fe
+20
+40
+05
+23
+20
+40
+04
+36
+20
+20
+7d
+bf
+6f
+e2
+4b
+81
+c1
+7f
+80
+00
+c0
+08
+84
+d4
+c0
+09
+04
+d6
+c0
+09
+84
+d8
+20
+60
+00
+00
+70
+4b
+81
+02
+20
+20
+04
+63
+70
+4b
+81
+03
+20
+20
+04
+63
+70
+4b
+81
+ff
+70
+0a
+95
+39
+20
+40
+7b
+ab
+6f
+e8
+0b
+20
+20
+40
+05
+15
+20
+20
+04
+63
+c6
+13
+00
+00
+20
+40
+05
+16
+20
+40
+05
+42
+6f
+e2
+4b
+81
+c1
+ff
+80
+00
+20
+40
+04
+f0
+58
+00
+00
+00
+67
+e4
+4b
+81
+20
+40
+4a
+d8
+20
+00
+07
+d0
+6f
+e2
+4b
+81
+c0
+7f
+84
+91
+20
+40
+04
+85
+24
+37
+84
+f9
+20
+40
+04
+79
+79
+20
+00
+26
+70
+0a
+95
+3c
+20
+20
+7b
+ab
+70
+0f
+1e
+ff
+6f
+e2
+4b
+81
+67
+e2
+0f
+1f
+6f
+e8
+4b
+81
+67
+e8
+0f
+20
+d8
+40
+00
+06
+da
+20
+0f
+1e
+20
+40
+04
+fe
+20
+20
+05
+23
+6f
+e4
+4b
+81
+1f
+e0
+fe
+01
+67
+e4
+4b
+81
+20
+40
+05
+42
+20
+20
+04
+e6
+60
+42
+4b
+81
+18
+42
+72
+00
+d8
+a0
+0b
+1e
+1a
+22
+0c
+00
+20
+20
+7c
+dc
+6f
+e2
+0b
+1f
+1f
+e9
+7e
+00
+67
+e2
+4b
+81
+1f
+e0
+fe
+01
+d8
+c0
+0b
+1f
+98
+c0
+8c
+00
+ef
+e6
+00
+06
+67
+e6
+4b
+81
+20
+60
+00
+00
+68
+42
+4b
+96
+58
+00
+4b
+85
+98
+40
+8a
+00
+1a
+22
+7e
+00
+e7
+e2
+00
+05
+18
+40
+84
+01
+18
+41
+04
+07
+60
+42
+4b
+96
+20
+60
+00
+00
+67
+e8
+4b
+81
+da
+20
+00
+00
+df
+20
+00
+04
+d8
+c0
+4b
+81
+ef
+e2
+00
+06
+9a
+20
+a2
+00
+c2
+00
+05
+19
+1a
+22
+7e
+00
+67
+e4
+4b
+81
+6f
+e2
+4b
+81
+68
+42
+4b
+82
+98
+40
+fe
+00
+67
+e2
+4b
+81
+20
+60
+00
+00
+6f
+e2
+4b
+81
+1f
+e0
+fe
+02
+67
+e2
+4b
+81
+6f
+e2
+4b
+81
+67
+e2
+0b
+1e
+6f
+e2
+4b
+81
+1f
+e9
+fe
+00
+68
+42
+4b
+81
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+42
+4b
+81
+98
+40
+fe
+00
+e7
+e2
+00
+05
+6f
+e2
+4b
+81
+c0
+ff
+85
+35
+6f
+e2
+4b
+81
+e7
+e2
+00
+05
+6f
+e2
+4b
+81
+98
+00
+72
+00
+6f
+e2
+4b
+81
+c0
+00
+85
+40
+d8
+c0
+0b
+1e
+20
+40
+7c
+dc
+6f
+e2
+0b
+1e
+c0
+01
+85
+3e
+20
+60
+00
+00
+70
+0b
+1e
+02
+20
+60
+00
+00
+d8
+c0
+0b
+1f
+20
+20
+7c
+dc
+68
+42
+4b
+81
+20
+40
+05
+48
+18
+40
+84
+01
+18
+41
+04
+03
+60
+42
+4b
+81
+20
+60
+00
+00
+6f
+e2
+4b
+81
+1f
+e1
+7e
+03
+1f
+ef
+a2
+04
+58
+00
+4b
+81
+9a
+20
+fe
+00
+98
+40
+8c
+00
+ef
+e2
+00
+06
+67
+e2
+4b
+81
+20
+60
+00
+00
+78
+44
+fc
+00
+78
+43
+fc
+00
+58
+55
+55
+55
+98
+00
+1e
+00
+6f
+e2
+4b
+81
+1f
+ed
+84
+00
+79
+20
+04
+01
+18
+43
+1c
+00
+20
+60
+00
+00
+20
+40
+05
+51
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+78
+28
+7c
+00
+6f
+e4
+4b
+81
+98
+00
+36
+00
+37
+c1
+84
+00
+24
+2c
+05
+95
+78
+46
+fc
+00
+78
+25
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+67
+e2
+4b
+81
+68
+42
+4b
+81
+98
+46
+7c
+00
+24
+22
+85
+95
+09
+80
+00
+08
+19
+89
+7e
+00
+67
+e2
+0b
+1e
+6f
+e2
+0b
+1e
+68
+42
+4b
+81
+a8
+40
+0e
+00
+24
+20
+85
+95
+09
+80
+00
+08
+19
+89
+7e
+00
+e7
+e2
+00
+05
+1f
+e9
+7e
+00
+1f
+e1
+72
+1f
+20
+22
+85
+7e
+09
+80
+00
+08
+19
+89
+7e
+00
+e7
+e2
+00
+05
+c2
+00
+05
+7a
+18
+a2
+22
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+67
+e2
+4b
+84
+1a
+22
+0a
+00
+09
+80
+00
+18
+78
+28
+7c
+00
+db
+60
+06
+64
+1f
+ef
+7e
+00
+1f
+f1
+7e
+00
+e7
+e6
+00
+05
+78
+45
+fc
+00
+20
+23
+05
+95
+78
+37
+fc
+00
+6f
+e2
+00
+17
+1f
+e0
+a2
+00
+20
+40
+49
+80
+78
+46
+fc
+00
+20
+40
+49
+15
+6f
+e2
+4b
+84
+1f
+e2
+22
+00
+20
+40
+05
+0c
+20
+60
+00
+00
+78
+4d
+fc
+00
+78
+45
+fc
+00
+20
+20
+46
+49
+20
+40
+49
+15
+68
+42
+4b
+81
+20
+20
+49
+30
+20
+40
+57
+9e
+6f
+e8
+4b
+81
+98
+00
+12
+00
+20
+40
+05
+51
+20
+40
+05
+98
+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
+6f
+e2
+4b
+81
+08
+00
+86
+08
+6f
+e2
+4b
+81
+98
+00
+72
+00
+d8
+c0
+0b
+1e
+ef
+e2
+00
+06
+08
+00
+86
+08
+c2
+00
+05
+b1
+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
+58
+00
+00
+25
+67
+e4
+44
+cc
+20
+40
+5b
+f0
+20
+40
+5c
+0c
+20
+40
+5c
+19
+20
+20
+5b
+f8
+20
+40
+58
+a3
+20
+40
+49
+15
+68
+42
+00
+17
+20
+40
+49
+1c
+20
+00
+05
+dc
+20
+40
+49
+21
+78
+28
+7c
+00
+d9
+60
+15
+7c
+20
+20
+58
+69
+20
+40
+49
+ba
+78
+23
+fc
+00
+78
+24
+fc
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+67
+e2
+02
+d5
+09
+80
+00
+08
+19
+89
+7e
+00
+e7
+e2
+00
+05
+1f
+e2
+72
+00
+20
+3a
+58
+8b
+20
+20
+58
+87
+c6
+07
+80
+00
+20
+40
+5c
+70
+24
+7a
+00
+00
+6f
+e2
+02
+d5
+1f
+e1
+7e
+03
+67
+e2
+44
+de
+ef
+e2
+00
+06
+67
+e2
+44
+dd
+20
+7a
+00
+00
+18
+c2
+7e
+00
+67
+e4
+44
+df
+6f
+e2
+44
+de
+c0
+01
+e0
+44
+20
+40
+5a
+76
+d8
+e0
+00
+03
+24
+34
+4b
+ec
+20
+40
+4b
+f0
+20
+20
+5a
+6b
+ef
+e4
+00
+06
+c0
+02
+5c
+8b
+c0
+03
+5e
+d4
+c0
+02
+de
+96
+20
+60
+00
+00
+20
+40
+5a
+c9
+20
+40
+59
+9a
+6f
+e2
+02
+d5
+2f
+ef
+fe
+04
+79
+20
+80
+2a
+1f
+e3
+7e
+00
+98
+42
+fe
+00
+2f
+ef
+fe
+02
+79
+20
+80
+0f
+c6
+07
+80
+00
+6f
+e2
+02
+d6
+20
+3a
+59
+96
+6f
+e2
+04
+3b
+c3
+02
+59
+96
+20
+40
+73
+42
+20
+40
+72
+b2
+7d
+3a
+00
+0f
+24
+7a
+00
+00
+20
+20
+59
+96
+70
+0a
+ff
+b3
+20
+20
+50
+4e
+70
+0a
+ff
+b4
+58
+00
+00
+1c
+20
+40
+50
+a5
+6f
+ec
+44
+72
+e7
+ec
+00
+0a
+6f
+ec
+04
+4b
+e7
+ec
+00
+0a
+d8
+c0
+43
+eb
+df
+20
+00
+10
+20
+40
+67
+d4
+20
+20
+67
+b9
+70
+4b
+7f
+00
+70
+4b
+7e
+00
+70
+0a
+ff
+b9
+58
+00
+00
+01
+20
+40
+50
+a5
+58
+00
+00
+00
+e7
+e2
+00
+0a
+20
+40
+67
+b9
+20
+60
+00
+00
+70
+4b
+db
+01
+20
+40
+4e
+2f
+20
+40
+06
+20
+6f
+e4
+46
+52
+c4
+06
+00
+00
+79
+3f
+fe
+0c
+67
+e4
+46
+52
+70
+0a
+ff
+b6
+20
+20
+50
+4e
+70
+41
+e3
+00
+70
+46
+50
+00
+70
+42
+04
+00
+70
+4b
+7e
+00
+70
+4b
+7f
+00
+20
+60
+00
+00
+20
+40
+4e
+2f
+70
+0a
+ff
+b1
+58
+00
+00
+01
+20
+40
+50
+a5
+58
+00
+00
+00
+e7
+e2
+00
+0a
+20
+40
+67
+b9
+20
+20
+4d
+34
+20
+20
+01
+34
+58
+00
+00
+02
+67
+e2
+46
+50
+20
+60
+00
+00
+6f
+e4
+46
+52
+79
+3f
+fe
+0c
+67
+e4
+46
+52
+70
+0a
+ff
+b6
+20
+40
+50
+4e
+70
+4b
+7e
+00
+58
+00
+00
+01
+67
+e2
+4b
+7f
+20
+60
+00
+00
+6f
+e2
+41
+e3
+c1
+00
+80
+00
+6f
+e4
+46
+52
+79
+20
+7e
+0c
+67
+e4
+46
+52
+70
+0a
+ff
+b0
+20
+40
+50
+4e
+70
+41
+e3
+01
+20
+40
+01
+34
+20
+20
+4d
+89
+20
+20
+06
+26
+58
+00
+00
+05
+67
+e2
+4b
+7e
+20
+60
+00
+00
+20
+20
+4d
+48
+20
+60
+00
+00
+20
+20
+06
+4c
+70
+0a
+ff
+b5
+58
+00
+00
+1c
+20
+40
+50
+a5
+6f
+ec
+40
+a0
+e7
+ec
+00
+0a
+6f
+ec
+00
+40
+e7
+ec
+00
+0a
+d8
+c0
+41
+bf
+df
+20
+00
+10
+20
+40
+67
+d4
+20
+20
+67
+b9
+da
+60
+4b
+7e
+da
+40
+06
+5a
+20
+20
+4d
+04
+6f
+e2
+02
+7b
+79
+20
+7e
+00
+79
+20
+7e
+07
+67
+e2
+02
+7b
+20
+60
+00
+00
+da
+60
+46
+50
+da
+40
+06
+3b
+20
+20
+4d
+04
+da
+60
+4b
+7f
+da
+40
+06
+65
+20
+20
+4d
+04
+70
+0a
+ff
+99
+20
+40
+50
+4e
+20
+20
+4d
+64
+20
+40
+56
+4b
+24
+7a
+00
+00
+6f
+e2
+0b
+00
+1f
+e0
+a2
+01
+20
+40
+51
+3d
+6f
+e4
+42
+20
+e7
+e4
+00
+05
+58
+00
+00
+a1
+e7
+e2
+00
+05
+6f
+e2
+0b
+00
+1f
+e2
+72
+00
+20
+40
+67
+ed
+20
+20
+50
+1f
+ef
+ec
+00
+03
+67
+ec
+41
+d1
+ef
+e4
+00
+03
+67
+e4
+40
+b9
+d8
+a0
+41
+bf
+df
+20
+00
+10
+20
+40
+67
+ed
+20
+40
+68
+be
+20
+40
+01
+34
+20
+40
+4d
+5c
+20
+20
+50
+1f
+6f
+e4
+02
+60
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+1f
+e1
+04
+0f
+1f
+f1
+fe
+00
+c0
+04
+d1
+2d
+c0
+03
+d1
+2d
+c0
+05
+06
+8c
+c0
+02
+86
+a0
+c0
+00
+86
+a2
+c0
+02
+51
+2d
+20
+60
+00
+00
+20
+20
+06
+91
+ef
+e4
+00
+06
+67
+e4
+0a
+96
+c0
+00
+86
+9a
+20
+60
+00
+00
+70
+0a
+ff
+b2
+6f
+e4
+02
+62
+1f
+e0
+ff
+ff
+1f
+e2
+72
+00
+20
+40
+50
+a5
+6f
+e4
+02
+60
+1f
+e2
+0c
+00
+20
+40
+67
+c1
+20
+20
+67
+b9
+70
+0a
+ff
+b2
+58
+00
+00
+02
+20
+40
+50
+a5
+6f
+e4
+0a
+96
+e7
+e4
+00
+0a
+20
+20
+67
+b9
+20
+40
+06
+8c
+20
+20
+51
+26
+18
+42
+7e
+00
+c0
+02
+d1
+1e
+70
+4b
+80
+01
+c0
+01
+d1
+2d
+70
+4b
+80
+00
+c0
+02
+51
+2d
+20
+60
+00
+00
+64
+69
+aa
+55
+40
+00
+00
+40
+2a
+00
+00
+00
+00
+40
+00
+20
+00
+00
+00
+e0
+01
+00
+01
+02
+20
+02
+10
+00
+0c
+12
+00
+59
+00
+01
+00
+08
+00
+00
+00
+00
+68
+00
+08
+80
+02
+00
+01
+f4
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+02
+08
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+81
+4b
+01
+aa
+55
+01
+00
+81
+4b
+02
+aa
+55
+01
+00
+81
+4b
+40
+aa
+55
+01
+00
+81
+4b
+00
+aa
+55
+02
+00
+81
+4b
+c0
+12
+aa
+55
+04
+00
+81
+4b
+00
+13
+2c
+42
+aa
+55
+04
+00
+81
+4b
+06
+15
+36
+48
+aa
+55
+04
+00
+81
+4b
+0f
+1a
+3a
+4c
+aa
+55
+04
+00
+81
+4b
+11
+23
+31
+4d
+aa
+55
+01
+00
+81
+4b
+ff
+aa
+55
+04
+00
+81
+4b
+20
+15
+10
+05
+aa
+55
+0a
+00
+1e
+0f
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+81
+4b
+00
+48
+5d
+00
+00
+00
+00
+00
+aa
+55
+04
+00
+81
+4b
+ff
+ff
+ff
+ff
+aa
+55
+01
+00
+6e
+46
+05
+aa
+55
+07
+00
+25
+44
+02
+03
+00
+05
+10
+02
+03
+aa
+55
+08
+00
+68
+44
+08
+00
+10
+00
+00
+00
+2c
+01
+aa
+55
+02
+00
+cc
+44
+31
+00
+aa
+55
+01
+00
+78
+44
+17
+aa
+55
+01
+00
+7a
+44
+17
+aa
+55
+01
+00
+90
+44
+00
+aa
+55
+01
+00
+5f
+44
+07
+aa
+55
+01
+00
+98
+44
+00
+aa
+55
+01
+00
+40
+43
+00
+aa
+55
+02
+00
+54
+44
+40
+00
+aa
+55
+06
+00
+72
+44
+21
+22
+01
+33
+02
+3a
+aa
+55
+0f
+00
+81
+43
+0e
+42
+54
+34
+2e
+32
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+aa
+55
+1c
+00
+41
+43
+03
+02
+01
+05
+03
+19
+c1
+03
+03
+03
+12
+18
+0f
+09
+42
+54
+34
+2e
+32
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+aa
+55
+11
+00
+61
+43
+1f
+0f
+09
+42
+54
+34
+2e
+32
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+aa
+55
+02
+00
+8e
+44
+75
+49
+aa
+55
+1c
+02
+75
+49
+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
+1d
+42
+54
+34
+2e
+32
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+20
+20
+20
+20
+20
+20
+20
+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
+29
+2a
+06
+59
+69
+43
+68
+69
+70
+0f
+00
+02
+03
+28
+01
+02
+10
+00
+02
+50
+2a
+07
+02
+e8
+04
+21
+70
+01
+00
+11
+00
+02
+00
+28
+02
+12
+18
+12
+00
+02
+03
+28
+01
+06
+13
+00
+02
+4e
+2a
+01
+01
+14
+00
+02
+03
+28
+01
+12
+15
+00
+02
+4d
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+00
+16
+00
+02
+02
+29
+02
+00
+00
+17
+00
+02
+08
+29
+02
+01
+01
+18
+00
+02
+03
+28
+01
+12
+19
+00
+02
+4d
+2a
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+1a
+00
+02
+02
+29
+02
+00
+00
+1b
+00
+02
+08
+29
+02
+07
+01
+1c
+00
+02
+03
+28
+01
+12
+1d
+00
+02
+4d
+2a
+02
+00
+00
+1e
+00
+02
+02
+29
+02
+00
+00
+1f
+00
+02
+08
+29
+02
+02
+01
+20
+00
+02
+03
+28
+01
+0e
+21
+00
+02
+4d
+2a
+02
+00
+00
+22
+00
+02
+02
+29
+02
+00
+00
+23
+00
+02
+08
+29
+02
+01
+02
+24
+00
+02
+03
+28
+01
+0a
+25
+00
+02
+4b
+2a
+83
+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
+25
+ff
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+02
+19
+00
+2a
+ff
+03
+15
+00
+26
+ff
+03
+95
+01
+75
+10
+81
+00
+c0
+05
+01
+09
+06
+a1
+01
+85
+07
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+75
+01
+95
+08
+81
+00
+95
+98
+75
+01
+15
+00
+25
+01
+05
+07
+19
+00
+29
+98
+81
+02
+c0
+26
+00
+02
+03
+28
+01
+02
+27
+00
+02
+4a
+2a
+04
+11
+01
+00
+01
+28
+00
+02
+03
+28
+01
+04
+29
+00
+02
+4c
+2a
+01
+00
+2a
+00
+02
+00
+28
+02
+0f
+18
+2b
+00
+02
+03
+28
+01
+12
+2c
+00
+02
+19
+2a
+01
+64
+2d
+00
+02
+02
+29
+02
+00
+00
+00
+00
+aa
+55
+01
+00
+06
+42
+17
+aa
+55
+01
+00
+93
+40
+00
+aa
+55
+01
+00
+6d
+46
+28
+aa
+55
+03
+00
+2d
+46
+02
+00
+04
+aa
+55
+01
+00
+2c
+46
+01
+aa
+55
+01
+00
+34
+46
+02
+aa
+55
+01
+00
+54
+46
+01
+aa
+55
+06
+00
+a0
+40
+1c
+66
+a4
+d8
+17
+e4
+aa
+55
+0f
+00
+e7
+44
+0e
+42
+54
+33
+2e
+30
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+aa
+55
+03
+00
+e4
+41
+0e
+00
+01
+aa
+55
+01
+00
+e8
+41
+01
+aa
+55
+01
+00
+2c
+45
+0a
+aa
+55
+03
+00
+aa
+40
+40
+25
+00
+aa
+55
+01
+00
+92
+40
+43
+aa
+55
+01
+00
+5b
+41
+00
+aa
+55
+08
+00
+98
+40
+ff
+ff
+8f
+f8
+83
+9d
+59
+82
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0e
+00
+49
+45
+06
+03
+11
+00
+00
+01
+02
+10
+24
+11
+00
+12
+01
+00
+aa
+55
+01
+00
+5f
+45
+00
+aa
+55
+02
+00
+47
+45
+83
+46
+aa
+55
+5a
+02
+83
+46
+04
+00
+11
+01
+00
+10
+02
+11
+24
+00
+01
+00
+00
+36
+01
+9a
+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
+3d
+42
+72
+6f
+61
+64
+63
+6f
+6d
+20
+42
+6c
+75
+65
+74
+6f
+6f
+74
+68
+20
+57
+69
+72
+65
+6c
+65
+73
+73
+20
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+09
+01
+01
+25
+08
+4b
+65
+79
+62
+6f
+61
+72
+64
+09
+01
+02
+25
+10
+42
+72
+6f
+61
+64
+63
+6f
+6d
+20
+43
+6f
+72
+70
+2e
+20
+20
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+01
+11
+09
+02
+02
+08
+40
+09
+02
+03
+08
+21
+09
+02
+04
+28
+01
+09
+02
+05
+28
+01
+09
+02
+06
+35
+89
+35
+87
+08
+22
+25
+83
+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
+25
+ff
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+02
+19
+00
+2a
+ff
+03
+15
+00
+26
+ff
+03
+95
+01
+75
+10
+81
+00
+c0
+05
+01
+09
+06
+a1
+01
+85
+07
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+75
+01
+95
+08
+81
+00
+95
+a8
+75
+01
+15
+00
+25
+01
+05
+07
+19
+00
+29
+a8
+81
+02
+c0
+09
+02
+07
+35
+08
+35
+06
+09
+04
+09
+09
+01
+00
+09
+02
+0b
+09
+01
+00
+09
+02
+0c
+09
+0c
+80
+09
+02
+0d
+28
+00
+09
+02
+0e
+28
+01
+09
+02
+0f
+09
+03
+18
+09
+02
+10
+09
+00
+00
+03
+10
+02
+12
+00
+00
+01
+00
+01
+00
+01
+36
+00
+a1
+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
+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
+2f
+42
+72
+6f
+61
+64
+63
+6f
+6d
+20
+42
+6c
+75
+65
+74
+6f
+6f
+74
+68
+20
+57
+69
+72
+65
+6c
+65
+73
+73
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+20
+50
+6e
+50
+20
+53
+65
+72
+76
+65
+72
+09
+01
+01
+25
+08
+4b
+65
+79
+62
+6f
+61
+72
+64
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+04
+e8
+09
+02
+02
+09
+70
+21
+09
+02
+03
+09
+00
+01
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+00
+aa
+55
+01
+00
+92
+40
+0a
+aa
+55
+03
+00
+14
+42
+c5
+4a
+05
+aa
+55
+10
+00
+f0
+4f
+00
+1c
+ff
+1f
+00
+1c
+00
+1c
+80
+4c
+e0
+4f
+80
+4c
+80
+4c
+aa
+55
+02
+00
+68
+46
+20
+0b
+aa
+55
+01
+00
+6c
+46
+03
+aa
+55
+01
+00
+6f
+46
+07
+aa
+55
+01
+00
+79
+46
+00
+aa
+55
+01
+00
+91
+40
+00
+aa
+55
+03
+00
+54
+41
+00
+01
+08
+aa
+55
+01
+00
+74
+41
+02
+aa
+55
+02
+00
+e4
+41
+0e
+00
+aa
+55
+10
+00
+b9
+4b
+fc
+54
+cc
+bb
+96
+8d
+84
+83
+70
+39
+eb
+2e
+66
+e9
+60
+4e
+aa
+55
+06
+00
+d1
+41
+59
+3a
+98
+e9
+b6
+98
+aa
+55
+04
+00
+ca
+4b
+05
+2e
+67
+dd
+aa
+55
+02
+00
+d9
+4b
+db
+4b
+aa
+55
+10
+00
+bf
+41
+f0
+c0
+93
+e2
+91
+fa
+78
+23
+d0
+48
+17
+4c
+5d
+13
+eb
+23
+aa
+55
+01
+00
+df
+41
+02
+aa
+55
+07
+00
+76
+41
+0f
+84
+f0
+0a
+0b
+b2
+32
+aa
+55
+02
+00
+57
+41
+8b
+0b
+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
+40
+00
+00
+02
+32
+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
+10
+aa
+55
+05
+00
+e2
+44
+08
+0e
+05
+04
+00
+aa
+55
+02
+00
+02
+42
+30
+1f
+aa
+55
+01
+00
+10
+42
+20
+aa
+55
+01
+00
+e0
+41
+01
+aa
+55
+0f
+00
+6f
+4b
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+07
+ff
+ff
+aa
+55
+02
+00
+c3
+40
+6f
+4b
+f8
+bc
Index: shoubing/output/memmap.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/memmap.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/memmap.format	(working copy)
@@ -0,0 +1,1028 @@
+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
+0x00a7 mem_air_mode
+0x00a8 mem_sco_asso_handle
+0x00a9 mem_sco_handle
+0x00ab mem_esco_desco
+0x00ac mem_esco_type
+0x00ad mem_neogotiation_state
+0x00ae mem_saved_amaddr
+0x00af mem_esco_arq
+0x00b0 mem_esco_saved_arq
+0x00b1 mem_sco_obuf
+0x00cf mem_sco_ibuf
+0x00ed mem_sco_poll
+0x00ee mem_npage_index
+0x00ef mem_page_mode
+0x00f0 mem_page_clk
+0x00f4 mem_tst_pktcnt_sync
+0x00f6 mem_tst_pktcnt_hec
+0x00f8 mem_tst_pktcnt_crc
+0x00fa mem_tst_pktcnt_dmh
+0x00fc mem_tmp_buffer_head
+0x00ff mem_tmp_buffer
+0x014f mem_tester_emulate
+0x0150 mem_temp_payload
+0x0150 test_mode_scenario
+0x0151 test_mode_hopping_mode
+0x0152 test_mode_tx_freq
+0x0153 test_mode_rx_freq
+0x0154 test_mode_power_mode
+0x0155 test_mode_poll_period
+0x0156 test_mode_packet_type
+0x0157 test_mode_data_length
+0x0159 mem_test_mode_old_debug_config
+0x015a mem_tester_cnt
+0x015b mem_temp_am_addr
+0x015c mem_temp_arq
+0x015d mem_len
+0x015f mem_clkn_bt
+0x0163 mem_clke_bt
+0x0167 mem_dpll_clkn
+0x016b mem_connection_options
+0x016c mem_nameres_cnt
+0x016d mem_txptr
+0x016f mem_slot_offset
+0x0171 extm_fhs_misc
+0x0172 extm_newconn_am_addr
+0x0173 extm_class
+0x0176 extm_lap
+0x0179 extm_uap
+0x017a extm_nap
+0x017d mem_debug_config
+0x017e mem_lch_code
+0x017f mem_fhs_am_addr
+0x0180 mem_dpll_error
+0x0182 mem_select_list_item
+0x0183 mem_temp_reconn_record
+0x0183 mem_record_bt_mode
+0x0184 mem_temp_lap
+0x018a mem_list_item_ptr
+0x018c mem_eir
+0x01f0 mem_ucode_status
+0x01f1 mem_otp_ucode_flag
+0x01f3 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f4 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f4 mem_addr_hi
+0x01f5 mem_addr_mi
+0x01f6 mem_addr_lo
+0x01f7 mem_iicd_addr
+0x01f8 mem_spid_rbuf
+0x01fc mem_ucode_buf
+0x01fe mem_ucode_len
+0x0200 mem_sched_addr
+0x0202 mem_ucode_ptr
+0x0204 mem_ucode_keybuf
+0x0214 mem_check_plap_temp
+0x0226 mem_reconnect_flag
+0x0227 mem_switch_fail_master_count
+0x0228 mem_app_evt_timer_count
+0x0229 mem_h5rx_ackcnt
+0x022a mem_check_err_acl_cont
+0x022b mem_rp_packets
+0x022c mem_packet_type
+0x022e mem_hci_sniff_conn_handle
+0x0230 mem_hci_sniff_max_interval
+0x0232 mem_hci_sniff_min_interval
+0x0234 mem_hci_sniff_attempt
+0x0236 mem_hci_sniff_timeout
+0x0238 mem_voice_setting
+0x023a mem_retransmission_effort
+0x023b mem_sco_ptype
+0x023d mem_extm_uap_restore
+0x0240 mem_h5rx_rptr
+0x0242 mem_h5rx_ack
+0x0243 mem_h5tx_ack
+0x0244 mem_h5tx_rptr
+0x0246 mem_h5tx_wptr
+0x0248 mem_h5tx_free
+0x024a mem_h5rx_tmp
+0x024b mem_h5tx_seq
+0x024c mem_hci_acl_queue_wptr
+0x024e mem_hci_acl_queue_rptr
+0x0250 mem_hci_acl_queue_end
+0x0252 mem_hci_acl_queue_wcnt
+0x0253 mem_hci_acl_cnt
+0x0254 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x0256 mem_hci_curr_len
+0x0257 mem_hci_curr_target
+0x0259 mem_l2cap_mem_start
+0x0259 mem_l2cap_rxbuff1_len
+0x025b mem_l2cap_rxbuff2_len
+0x025d mem_l2cap_rxbuff_new
+0x025f mem_l2cap_rxbuff_inuse
+0x0260 mem_l2cap_payload_ptr
+0x0262 mem_l2cap_rx_pkt_length
+0x0264 mem_l2cap_rx_cid
+0x0266 mem_l2cap_rx_done
+0x0267 mem_l2cap_signal_tx_buff_ptr
+0x0269 mem_l2cap_signal_tx_payload_ptr
+0x026b mem_l2cap_signal_tx_length
+0x026d mem_sdp_tx_buff_ptr
+0x026f mem_sdp_tx_payload_ptr
+0x0271 mem_sdp_tx_pkt_length
+0x0273 mem_rfcomm_tx_buff_ptr
+0x0275 mem_rfcomm_tx_payload_ptr
+0x0277 mem_rfcomm_tx_pkt_length
+0x0279 memL2CAP_T1
+0x027b mem_CONTROL_tasks
+0x027c mem_send_config_req
+0x027d mem_config_identifier
+0x027e mem_config_req_dest_CID
+0x0280 mem_rfcomm_malloc_fail_flag
+0x0281 mem_message_to_uppersm
+0x0282 mem_upper_sm_remote_page
+0x0283 mem_upper_sm_reconn
+0x0284 mem_upper_sm_ss
+0x0285 mem_tx_malloc_log
+0x02c5 mem_l2cap_mem_end
+0x02c5 mem_scid
+0x02c7 mem_cmd_length
+0x02c9 mem_tt2
+0x02cb mem_tt3
+0x02cd mem_id
+0x02cf mem_psm
+0x02d1 mem_l2cap_sdpres_delay_time
+0x02d5 mem_le_rxbuf
+0x030d mem_le_l2capbuf
+0x0413 mem_le_mic
+0x0417 mem_le_peer_mic
+0x041b mem_le_peer_ltk
+0x042b mem_le_mrand
+0x043b mem_le_state
+0x043c mem_le_mode
+0x043d mem_le_tsniff
+0x043f mem_le_anchor
+0x0443 mem_le_clk_offset
+0x0449 mem_le_receive_window
+0x044b mem_le_plap
+0x0451 mem_le_conn_handle
+0x0452 mem_le_arq
+0x0453 mem_le_ch
+0x0454 mem_le_hop
+0x0455 mem_le_event_count
+0x0457 mem_le_supervision_timer
+0x045b mem_le_instant
+0x045d mem_le_channels
+0x045e mem_le_op
+0x045f mem_le_access
+0x0463 mem_le_crcinit
+0x0466 mem_le_window_size
+0x0467 mem_le_slave_latency
+0x0469 mem_le_superto
+0x046b mem_le_channel_map
+0x0470 mem_le_no_using
+0x0472 mem_le_peer_sca
+0x0473 mem_le_att_opcode
+0x0474 mem_le_att_handle
+0x0476 mem_le_err_code
+0x0477 mem_le_ll_pairing_fail_reason
+0x0478 mem_le_sk
+0x0488 mem_le_testtype
+0x0489 mem_le_test_sync
+0x048b mem_le_test_pcnt
+0x048d mem_le_rxon_ts
+0x0493 mem_le_rx_ll_opcode
+0x0494 mem_le_notify_attr_start
+0x0496 mem_le_notify_len
+0x0497 mem_cmd_le_create_conn
+0x0498 mem_le_cur_attlist_start_ptr
+0x049a mem_le_cur_handle_start
+0x049c mem_le_cur_handle_end
+0x049e mem_le_cur_uuid_length
+0x049f mem_le_cur_uuid
+0x04af mem_le_curr_att_len
+0x04b0 mem_le_search_res
+0x04b1 mem_le_continue_type
+0x04b2 mem_lmo_header_length
+0x04b3 mem_lmo_header_opcode
+0x04b4 mem_lmo_payload
+0x04c5 mem_lmi_accepted_opcode
+0x04c6 mem_disconn_reason_send
+0x04c7 mem_tx_fixed_freq
+0x04c8 mem_rx_fixed_freq
+0x04c9 mem_ext_features_page
+0x04ca mem_lmpext_ssp_enable
+0x04cc mem_remote_sppcap
+0x04cd mem_lmp_conn_state
+0x04ce mem_soft_timer
+0x04d0 mem_pincode_state
+0x04d1 mem_sres_tid
+0x04d2 mem_accptsco_tid
+0x04d3 mem_auth_enable
+0x04d4 mem_wait_encryption
+0x04d5 mem_sniff_payload
+0x04e5 mem_aurand_send_delay_time
+0x04e9 memRemoteRPNBitRate
+0x04ea memRemotePRNDataBits
+0x04eb memRemotePRNStopBit
+0x04ec memRemotePRNParity
+0x04ed memRemotePRNFlowControl
+0x04ee memRemotePRNXon
+0x04ef memRemotePRNXoff
+0x04f0 mem_mod2div_temp
+0x04f3 mem_contw_temp
+0x04f5 mem_attrib_list
+0x04f7 mem_current_adss
+0x04f8 mem_current_channel
+0x04f9 mem_current_frame_type
+0x04fa mem_current_fcs
+0x04fb mem_current_length
+0x04fd mem_rfcomm_uih_payload_ptr
+0x04ff mem_uih_cmd_type
+0x0500 mem_uih_length
+0x0502 mem_param_payload_ptr
+0x0504 mem_ms_param
+0x0505 mem_pn_credit_flow_type_info
+0x0506 mem_pn_priority
+0x0507 mem_pn_acknowledg_timer
+0x0508 mem_pn_max_retrans
+0x0509 mem_rfcomm_send_adss
+0x050a mem_rfcomm_send_frame_type
+0x050b mem_rfcomm_send_fcs
+0x050c mem_rfcomm_send_offset
+0x050d mem_sdp_mem_start
+0x050d mem_sdp_uuid_search_ptr
+0x0515 mem_sdp_continue_byte
+0x0517 mem_sdp_pduid
+0x0518 mem_sdp_transactionid
+0x051a mem_sdp_transactionid_local
+0x051c mem_sdp_attribute_maxbyte
+0x051e mem_sdp_record_maxcnt
+0x0520 mem_sdp_record_handle
+0x0524 mem_sdp_LACAP_found
+0x0525 mem_sdp_RFCOMM_found
+0x0526 mem_sdp_handle_list
+0x0526 mem_sdp_attrib_list
+0x0546 mem_sdp_error_code
+0x0548 mem_sdp_all_length
+0x054a mem_handle_humber
+0x054b mem_search_uuid
+0x054d mem_sdp_mem_end
+0x054d mem_rxbuf
+0x055e mem_random_number
+0x056e mem_round_key
+0x057e mem_kinit
+0x058e mem_input_store
+0x059e mem_x
+0x05ae mem_y
+0x05bd mem_y15
+0x05be mem_key_store
+0x05cf mem_key_store_end
+0x05d0 memp_ar_key
+0x05d2 memp_ar_input
+0x05d4 mem_ar_hround
+0x05de mem_ec_infinite
+0x05df mem_ec_loopc
+0x05e1 mem_aes_cmac_data_length
+0x05e2 memdat
+0x05e2 mem_ax
+0x05fa mem_ay
+0x0612 mem_az
+0x062a mem_bx
+0x0642 mem_ax_256//32 bytes
+0x0642 mem_by
+0x065a mem_bz
+0x0662 mem_ay_256// 32 bytes
+0x0672 mem_cx
+0x0682 mem_az_256// 32 bytes
+0x068a mem_cy
+0x06a1 mem_cy5
+0x06a2 mem_bx_256// 32 bytes
+0x06a2 mem_cz
+0x06ba mem_k
+0x06c2 mem_by_256// 31 bytes
+0x06d2 mem_align
+0x06e2 mem_bz_256//32 bytes
+0x06e2 mem_tmp1
+0x06e2 memahbak
+0x06fa mem_tmp5
+0x0702 mem_cx_256//32 bytes
+0x0702 memahsave
+0x0712 mem_tmp2
+0x0722 mem_cy_256// 32 bytes
+0x0722 memahsave_end
+0x0722 mem_addr_padding
+0x0723 mem_addr_value/* 12 bytes     */ 
+0x072a mem_tmp3
+0x072a mem_t1
+0x072f mem_addr_value_end
+0x0732 mem_addr_iocap_end
+0x0741 mem_cy5_256// 1 byte
+0x0742 mem_cz_256// 32 bytes
+0x0742 mem_tmp0
+0x0742 mem_t0
+0x074a mem_tmp0a
+0x075a mem_t2
+0x0762 mem_k_256//32 bytes
+0x0772 mem_t3
+0x0782 mem_tmp1_256//32 bytes
+0x078a mem_t7
+0x07a2 mem_tmp5_256
+0x07c2 mem_tmp2_256
+0x07e2 mem_tmp3_256
+0x07e2 mem_t1_256
+0x0802 mem_tmp0_256
+0x0802 mem_t0_256
+0x0822 mem_t2_256
+0x0842 mem_t3_256
+0x0862 mem_t7_256
+0x0882 mem_p
+0x089a mem_a
+0x08b2 mem_b
+0x08ca mem_gx
+0x08e2 mem_gy
+0x08fa memh0
+0x091a mem_p_256
+0x093a mem_a_256
+0x095a mem_gx_256
+0x097a mem_gy_256
+0x099a mem_le_slat
+0x09aa mem_sp_state_start
+0x09aa mem_sp_state
+0x09ab mem_master_sp_state
+0x09ac mem_sp_flag
+0x09ad mem_master_sp_flag
+0x09ae mem_sp_calc
+0x09af mem_sp_dh_ready
+0x09b0 mem_sp_localsm
+0x09b1 mem_pairing_auth
+0x09b2 mem_sp_flag_start
+0x09b2 mem_sp_local_key_send_count
+0x09b3 mem_sp_remote_key_recv_count
+0x09b4 mem_sp_remote_key_invalid
+0x09b5 mem_sp_dhkey_invalid
+0x09b6 mem_gkey
+0x09ba mem_le_pubkey_remote_x_256
+0x09c2 mem_sp_pubkey_remote
+0x09c2 mem_sp_pubkey_remote_x
+0x09da mem_sp_pubkey_remote_x_end
+0x09da mem_le_pubkey_remote_y_256
+0x09e2 mem_sp_pubkey_remote_y
+0x09fa mem_le_dhkey_256
+0x0a02 mem_sp_dhkey
+0x0a1a mem_sp_dhkey_end
+0x0a1a mem_sp_random_local
+0x0a2a mem_sp_random_local_end
+0x0a2a mem_sp_random_remote
+0x0a3a mem_sp_random_remote_end
+0x0a3a memresult
+0x0a3a mem_sp_calc_result
+0x0a3a memh
+0x0a3e memg
+0x0a42 memf
+0x0a46 meme
+0x0a4a mem_sp_calc_result_high
+0x0a4a memd
+0x0a4e memc
+0x0a52 memb
+0x0a56 mema
+0x0a5a mem_sp_check_result
+0x0a6a mem_sp_confirm_remote
+0x0a7a mem_sp_prarm_stack
+0x0a8a mem_UI_data_txbuff_length
+0x0a8c mem_ipc_skip_continue_proc
+0x0a8d mem_ui_timer_temp//length 4
+0x0a8d mem_ipc_rega_temp
+0x0a91 mem_hold_contr
+0x0a93 mem_hold_contw
+0x0a95 mem_fifo_temp
+0x0a96 mem_pdatatemp
+0x0a9e mem_temp//8 bytes
+0x0aa6 mem_timeup// 4 bytes
+0x0aaa mem_rega//4 bytes
+0x0aae mem_regb//4 bytes
+0x0ab2 mem_regc//3 bytes
+0x0ab5 mem_contr//2 bytes
+0x0ab7 mem_contw//2 bytes
+0x0ab9 mem_wakup_from_power_flag
+0x0aba mem_saved_gpio_in
+0x0abe mem_shutter_random_mac_data_temp
+0x0abe mem_shutter_config_data_temp
+0x0abe mem_le_adv_channel_map_temp
+0x0abe mem_le_data_len_temp//1byte
+0x0abe mem_tx_fifo_map_temp
+0x0abe mem_rpn_dlci//1byte
+0x0abe mem_event_cmd_response_content//2byte
+0x0abe mem_le_prand//16byte
+0x0abe mem_AES_CMAC_k//16 bytes
+0x0abe mem_regext_index//1 bytes
+0x0abe mem_temp_block0
+0x0abf mem_le_data_temp//15bytes
+0x0abf mem_temp_block1
+0x0ace mem_le_aes_128//16byte
+0x0ace mem_regext//64 bytes
+0x0ace mem_AES_CMAC_k1//16 bytes
+0x0ace mem_temp_block2
+0x0ade mem_AES_CMAC_k2//16 bytes
+0x0ade mem_temp_block3
+0x0aee mem_AES_CMAC_temp// 16 bytes
+0x0aee mem_temp_block4
+0x0afe mem_AES_CMAC_M_last// 16 bytes
+0x0afe mem_module_uart_cmd
+0x0aff mem_module_uart_opcode
+0x0b00 mem_module_uart_len
+0x0b01 mem_module_temp_nl_discard_packet
+0x0b02 mem_temp_block5
+0x0b0e mem_le_mackey//16 bytes
+0x0b0e mem_app_receive_temp
+0x0b0e mem_key_value_temp
+0x0b10 mem_key_value
+0x0b12 mem_key_value_temp1
+0x0b13 mem_key_value_temp2
+0x0b14 mem_key_value_temp3
+0x0b15 mem_key_value_temp4
+0x0b16 mem_key_value_temp5
+0x0b17 mem_key_value_temp6
+0x0b18 mem_temp_block6
+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_lpm_doze_switch
+0x4159 mem_esco_addr
+0x415a mem_sniff_unint_lost
+0x415b mem_ptt
+0x415c mem_sleep_counter//should be 0x41fc in REVC
+0x4160 mem_sleep_counter_all
+0x4164 mem_sleep_clkn
+0x416a mem_sniff_rcv
+0x416d mem_sniff_lost
+0x4170 mem_clks_per_lpo
+0x4173 mem_lpm_mult
+0x4174 mem_lpm_mult_timeout
+0x4175 mem_lpm_mult_cnt
+0x4176 mem_lpm_config
+0x4179 mem_lpm_xtalcnt
+0x417a mem_lpm_buckcnt
+0x417b mem_lpm_ldocnt
+0x417c mem_lpm_isogate
+0x417d mem_lpm_isogate_final
+0x417e mem_saved_gpio// should be 0x421e in REVC
+0x418e mem_saved_gsel
+0x4191 mem_saved_mark
+0x4199 mem_saved_spidctrl
+0x419a mem_patch_ptr
+0x419c mem_patch_len
+0x419e mem_timers
+0x41be mem_link_key_exists
+0x41bf mem_link_key
+0x41cf mem_hci_cmd
+0x41d0 mem_hci_conn_handle
+0x41d1 mem_hci_plap
+0x41d4 mem_hci_puap
+0x41d5 mem_hci_pnap
+0x41d7 mem_uartd_rxitems_got_data
+0x41d8 mem_uartd_rxitems_threshold
+0x41d9 mem_uartd_rx_timeout
+0x41db mem_loadcode_times
+0x41dc mem_tx_lch
+0x41dd mem_tx_len
+0x41df mem_tx_power
+0x41e0 mem_context_number
+0x41e1 mem_250k_freq_enable
+0x41e2 mem_rf_init_data
+0x41e3 mem_app_handshake_flag
+0x41e4 mem_sniff_param_interval
+0x41e6 mem_sniff_param_attempt
+0x41e8 mem_sniff_param_timeout
+0x41ea mem_cb_check_wakelock
+0x41ec mem_cb_before_hibernate
+0x41ee mem_cb_before_lpm
+0x41f0 mem_cb_le_process
+0x41f2 mem_cb_bt_process
+0x41f4 mem_cb_idle_process
+0x41f6 mem_cb_bb_event_process
+0x41f8 mem_cb_discovry_timeout
+0x41fa mem_cb_att_write
+0x41fc mem_cb_ble_transmit
+0x41fe mem_cb_event_timer
+0x4200 mem_cb_bt_set_mult
+0x4202 mem_eeprom_base
+0x4204 mem_unsniff2sniff_timer_count
+0x4205 mem_wake_up_delay_timer
+0x4206 mem_app_connection_options
+0x4207 mem_app_disconn_reason
+0x4209 mem_app_disconn_reason_flag
+0x420b mem_lpm_delay_after_sniff
+0x420f mem_xrecord_mode
+0x4210 mem_eeprom_block_size
+0x4211 mem_spi_init_clk
+0x4212 mem_spi_init_delay_time
+0x4213 mem_spi_ncs_gpio
+0x4214 mem_nv_data_ptr
+0x4216 mem_nv_data_number
+0x4217 mem_hci_lt_rx_state
+0x4218 mem_l2cap_xmem_start
+0x4218 mem_l2cap_tx_multi_offset//0 means single packet
+0x421a mem_sdp_remote_cid
+0x421c mem_rfcomm_remote_cid
+0x421e mem_hid_ctrl_remote_cid
+0x4220 mem_hid_int_remote_cid
+0x4222 mem_sdp_state
+0x4223 mem_rfcomm_state
+0x4224 mem_hid_control_state
+0x4225 mem_hid_interrupt_state
+0x4226 mem_spp_state
+0x4227 mem_ML2CAP_comm_id
+0x4228 mem_used_map
+0x4229 mem_tx_fifo0
+0x4229 mem_tx_fifo0_map
+0x422a mem_tx_fifo0_ptr
+0x422c mem_tx_fifo1
+0x422c mem_tx_fifo1_map
+0x422d mem_tx_fifo1_ptr
+0x422f mem_tx_fifo2
+0x422f mem_tx_fifo2_map
+0x4230 mem_tx_fifo2_ptr
+0x4232 mem_tx_fifo3
+0x4232 mem_tx_fifo3_map
+0x4233 mem_tx_fifo3_ptr
+0x4235 mem_tx_fifo_end
+0x4235 mem_l2cap_lpm_txbuf
+0x4335 mem_l2cap_flow_ctrl_flag
+0x4336 mem_l2cap_pending_item
+0x4337 mem_l2cap_xmem_end
+0x4337 mem_le_dsniff
+0x4339 mem_le_conn_interval
+0x433b mem_le_scan_enable
+0x433c mem_le_scan_interval
+0x433e mem_le_scan_window
+0x4340 mem_le_adv_enable
+0x4341 mem_le_adv_data_len
+0x4342 mem_le_adv_data
+0x4361 mem_le_scan_data_len
+0x4362 mem_le_scan_data
+0x4381 mem_le_name_len
+0x4382 mem_le_name
+0x43a0 mem_le_new_map
+0x43a5 mem_le_new_param
+0x43a5 mem_le_new_transmitwindowsize
+0x43a6 mem_le_new_transmitwindowoffset
+0x43a8 mem_le_new_conninterval
+0x43aa mem_le_new_connslavelatency
+0x43ac mem_le_new_connsupervisiontimeout
+0x43ae mem_le_txheader
+0x43af mem_le_txlen
+0x43b0 mem_le_txpayload
+0x43b2 mem_le_txcid
+0x43b4 mem_le_l2cap
+0x43b5 mem_le_l2cap_response
+0x43b6 mem_le_txbdy
+0x43d5 mem_le_pcnt_tx
+0x43da mem_le_pcnt_rx
+0x43df mem_le_last_mic
+0x43e3 mem_le_ivm
+0x43e7 mem_le_ivs
+0x43eb mem_le_ltk
+0x43fb mem_ltk_exists
+0x43fc mem_le_rconfirm
+0x440c mem_le_srand
+0x441c mem_le_iat
+0x441d mem_le_rat
+0x441e mem_le_preq
+0x441f mem_le_preq_iocap
+0x4420 mem_le_preq_oob
+0x4421 mem_le_preq_auth
+0x4422 mem_le_preq_max_keysize
+0x4423 mem_le_preq_init_key_distribution
+0x4424 mem_le_preq_resp_key_distribution
+0x4425 mem_le_pres
+0x4426 mem_le_pres_iocap
+0x4427 mem_le_pres_oob
+0x4428 mem_le_pres_auth
+0x4429 mem_le_pres_max_keysize
+0x442a mem_le_pres_init_key_distribution
+0x442b mem_le_pres_resp_key_distribution
+0x442c mem_le_search_handle_start
+0x442e mem_le_search_handle_end
+0x4430 mem_le_att_offset
+0x4430 mem_le_search_att_type_length
+0x4431 mem_le_search_att_type
+0x4441 mem_le_notify_handle
+0x4443 mem_le_search_uuid_length
+0x4444 mem_le_search_uuid
+0x4454 mem_le_adv_param
+0x4454 mem_le_adv_interval
+0x4456 mem_le_adv_type
+0x4457 mem_le_adv_own_addr_type
+0x4458 mem_le_adv_direct_addr_type
+0x4459 mem_le_adv_direct_addr
+0x445f mem_le_adv_channel_map
+0x4460 mem_le_conn_param
+0x4460 mem_le_conn_peer_addr_type
+0x4461 mem_le_conn_peer_addr
+0x4467 mem_le_conn_own_addr_type
+0x4468 mem_le_interval_min
+0x446a mem_le_interval_max
+0x446c mem_le_latency
+0x446e mem_le_timeout
+0x4470 mem_le_scan_params
+0x4470 mem_le_scan_type
+0x4471 mem_le_scan_own_addr_type
+0x4472 mem_le_lap
+0x4475 mem_le_uap
+0x4476 mem_le_nap
+0x4478 mem_le_local_mtu
+0x447a mem_le_remote_mtu
+0x447c mem_le_skdm
+0x4484 mem_le_skds
+0x448c mem_le_init_superto
+0x448e mem_ui_le_uuid_table
+0x4490 mem_le_secure_connect_enable
+0x4491 mem_le_secure_connect_flag
+0x4492 mem_le_sc_calc
+0x4493 mem_le_secure_connect_state
+0x4494 mem_le_sc_confirm_gkey_flag
+0x4495 mem_le_sc_local_key_invalid
+0x4496 mem_le_pairing_state
+0x4497 mem_le_enc_state
+0x4498 mem_le_pairing_mode
+0x4499 mem_le_tk
+0x449d mem_le_ediv
+0x449f mem_le_rand
+0x44a7 mem_le_irk
+0x44b7 mem_le_transmit_window
+0x44bb mem_le_configuration
+0x44bc mem_le_fixed_ltk
+0x44cc mem_le_pairing_handle
+0x44ce mem_le_l2cap_size
+0x44d0 mem_le_packet_len_recved
+0x44d1 mem_le_tx_buff_used
+0x44d2 mem_le_tx_ptr0
+0x44d4 mem_le_tx_ptr1
+0x44d6 mem_le_tx_ptr2
+0x44d8 mem_le_tx_ptr3
+0x44da mem_le_signaling_identifier
+0x44db mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x44dd mem_le_packet_size
+0x44de mem_le_packet_llid
+0x44df mem_le_payload_ptr
+0x44e1 mem_le_md_count
+0x44e2 mem_lmp_version
+0x44e5 mem_lmp_subversion
+0x44e7 mem_local_name_length
+0x44e8 mem_local_name
+0x44eb mem_local_name2
+0x452b mem_local_name_end
+0x452c mem_unsniff2sniff_timer
+0x452d mem_switch_flag
+0x452e mem_classic_bt_flag
+0x452f mem_pn_dlci
+0x4530 mem_pn_max_frame_size
+0x4532 memFCStemp1
+0x4533 memFCStemp2
+0x4534 memFCStemp3
+0x4535 mem_rfcomm_initiator
+0x4536 mem_remote_spp_channel
+0x4537 mem_HIUfcs_SPP
+0x4538 mem_HIUfcs_SPP_WCredits
+0x4539 mem_rfcomm_send_more_pkt
+0x453a mem_remote_credits
+0x453b mem_credit_given
+0x453c mem_ms_channel
+0x453d mem_credit_flag
+0x453e mem_rfcomm_max_frame_size
+0x4540 mem_rfcomm_credit_init_data
+0x4541 mem_cb_receive_spp_data
+0x4543 mem_nl_rx_data_src
+0x4545 mem_nl_rx_len_all
+0x4547 mem_ui_uuid_table
+0x4549 mem_all_uuid_16bits
+0x455f mem_all_uuid_128bits
+0x4581 mem_sdp_l2capch_ptr
+0x4583 mem_sp_local_key_invalid
+0x4584 mem_le_private_key_256
+0x45a4 mem_le_pubkey_local_x_256
+0x45c4 mem_le_pubkey_local_y_256
+0x45e4 mem_sp_private_key
+0x45fc mem_sp_pubkey_local
+0x45fc mem_sp_pubkey_local_x
+0x4614 mem_sp_pubkey_local_x_end
+0x4614 mem_sp_pubkey_local_y
+0x462c mem_ssp_enable
+0x462d mem_sp_iocap_local
+0x4630 mem_sp_iocap_remote
+0x4633 mem_flag_mode_ssp_pin
+0x4634 mem_ssp_mode_flag
+0x4635 mem_authentication_passkey_times
+0x4636 mem_passkey_1bit
+0x4637 mem_flag_pairing_state
+0x4638 mem_ipc_lock_bt
+0x4639 mem_ipc_lock_c51
+0x463a mem_ipc_fifo_bt2c51
+0x4642 mem_ipc_fifo_c512bt
+0x464a mem_ui_timer_last_btclk
+0x464e mem_discovery_timeout_timer_count
+0x4650 mem_hid_handshake_timer_count
+0x4651 memui_reconnect_mode
+0x4652 mem_ui_state_map
+0x4654 mem_ui_profile_supported
+0x4655 mem_discovery_timeout
+0x4657 mem_pin_length
+0x4658 mem_pin
+0x4668 mem_soft_version_num
+0x466a mem_current_packet_length
+0x466c mem_module_state
+0x466d mem_module_spp_lpm_mult
+0x466e mem_module_le_lpm_mult
+0x466f mem_module_bluetooth_stauts_by_command
+0x4670 mem_module_le_rx_data_len
+0x4671 mem_module_le_rx_data_address
+0x4673 mem_module_le_rx_data_handle
+0x4675 mem_module_data_write_handle
+0x4677 mem_module_data_write_handle2
+0x4679 mem_module_flag
+0x467a mem_module_hci_notify_len
+0x467b mem_module_hci_notify_handle
+0x467d mem_module_hci_nofiy_addr
+0x467f mem_last_transmite_clock
+0x4683 mem_module_uuid_list
+0x4975 mem_module_uuid_list_end
+0x4975 mem_module_le_att_list
+0x4ac5 mem_module_le_att_list_end
+0x4ac5 mem_module_nv_data
+0x4ac5 mem_module_nv_data0
+0x4ae7 mem_module_nv_data1
+0x4b09 mem_module_nv_data2
+0x4b2b mem_module_nv_data3
+0x4b4d mem_module_nv_data4
+0x4b6f mem_rf_init
+0x4b7e mem_classic_shutter_cable_unplug_conut
+0x4b7f mem_classic_shutter_hid_disconn_count
+0x4b80 mem_suspend_flag
+0x4b81 mem_24g_enter_hibernate
+0x4b81 mem_24g_txfail_cnt
+0x4b81 mem_mouse_retry_flag
+0x4b81 mem_24g_led_flag
+0x4b81 mem_24g_txbuf_new
+0x4b81 mem_24g_enter_hibernate_setup
+0x4b81 mem_24g_enter_hibernate_max
+0x4b81 mem_24g_rxdata_length
+0x4b81 mem_24g_pid
+0x4b81 mem_24g_datalen
+0x4b81 mem_24g_data_type
+0x4b81 mem_24g_txlen
+0x4b81 mem_24g_rx_window
+0x4b81 mem_24g_ensure
+0x4b81 mem_24g_get_ack_fail
+0x4b81 mem_24g_retry
+0x4b81 mem_24g_ch
+0x4b81 mem_24g_current_ch_number
+0x4b81 mem_24g_paring_addr
+0x4b81 mem_24g_pairing_sm
+0x4b81 mem_24g_ch_map1
+0x4b81 mem_24g_ch_map2
+0x4b81 mem_24g_ch_map3
+0x4b81 mem_24g_ch_map4
+0x4b81 mem_24g_addr
+0x4b81 mem_24g_check_dongle_times
+0x4b81 mem_24g_device_addr
+0x4b81 mem_24g_no_ack
+0x4b81 mem_24g_sta_crc
+0x4b81 mem_24g_sta_pid
+0x4b81 mem_24g_max_retry
+0x4b81 mem_24g_mode
+0x4b81 mem_24g_hop_pac_retry
+0x4b81 mem_24g_idle_timeout
+0x4b81 mem_24g_idle_cnt
+0x4b81 mem_24g_auto_paring_switch
+0x4b81 mem_24g_enter_lpm_timer
+0x4b81 mem_24g_syncword
+0x4b81 mem_24g_syncword_crc8
+0x4b81 mem_24g_get_syncword_crc8
+0x4b81 mem_24g_discard_cnt
+0x4b81 mem_cb_24g_data
+0x4b81 mem_24g_lasttx
+0x4b81 mem_power_ctrl_pac_succ_cnt
+0x4b82 mem_power_ctrl_level
+0x4b83 mem_rssi_avg_received
+0x4b84 mem_rssi_hex_received
+0x4b85 mem_rssi_signal_buf
+0x4b8d mem_rssi_noise_buf
+0x4b95 mem_rssi_noise_index
+0x4b96 mem_rssi_signal_index
+0x4b97 mem_read_otp_data
+0x4bb3 mem_en_24g_flag
+0x4bb4 mem_module_uart_len_new
+0x4bb6 mem_m_process_enable
+0x4bb7 mem_m_wake_send_window
+0x4bb9 mem_m_p_sequence
+0x4bc1 mem_m_access_code
+0x4bca mem_m_wake_data
+0x4bce mem_m_save_lmp_Ye
+0x4bd8 mem_btsniff
+0x4bd9 mem_test_ptr
+0x4bdb mem_test
+0x4bdb mem_test_data
+0x4bdc mem_ns_wake_up_flag
+0x4bdd mem_context_new
+0x0b1e mem_24g_rxbuf
+0x0b1e mem_24g_txbuf
+0x0b1e mem_24g_txpayload
+0x0b1e mem_24g_rxpayload
+0x0b1e mem_rssi_noise_buffer
+0x0c1e mem_rssi_noise_dg_buffer
+0x0d1e mem_rssi_noise_ms_buffer
+0x0e1e mem_rssi_noise_kb_buffer
+0x0f1e mem_24g_common_temp
+0x0f1e mem_m_process_sync_buffer
+0x0f37 mem_m_snd_op
+0x0f39 mem_m_rcv_op
Index: shoubing/output/otp.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/otp.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/otp.dat	(working copy)
@@ -0,0 +1,8 @@
+00
+02
+aa
+55
+00
+00
+b3
+23
Index: shoubing/output/program.lis
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/program.lis	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/program.lis	(working copy)
@@ -0,0 +1,22925 @@
+              include "bt_format "
+              org 0x0000
+
+p_start:
+0000 c284001a bbit1 8 ,pf_patch_ext 
+0001 c00083b5 beq patch00_1 ,p_soft_reset 
+0002 c00183bb beq patch00_3 ,p_main_loop 
+0003 c0028036 beq patch00_5 ,p_connection_incontext 
+0004 c0170033 beq patch05_6 ,p_context_search 
+0005 c02f807b beq patch0b_7 ,p_process_dmh_data_end1 
+0006 c0300080 beq patch0c_0 ,p_process_dmh_data_end 
+0007 c02e8061 beq patch0b_5 ,p_process_dmh_data_l2cap_start_pkt 
+0008 c02f0070 beq patch0b_6 ,p_process_dmh_data_l2cap_continue_pkt 
+0009 c0380050 beq patch0e_0 ,p_parse_l2cap 
+000a c03c809f beq patch0f_1 ,p_transmit_dmh 
+000b c01e838c beq patch07_5 ,p_slave_loop 
+000c c04283bd beq patch10_5 ,p_shutdown_radio 
+000d c04483e3 beq patch11_1 ,p_set_freq_tx 
+000e c04a039b beq patch12_4 ,p_ahead_window 
+000f c05103ec beq patch14_2 ,p_init_param 
+0010 c05183a6 beq patch14_3 ,p_lpm_adjust_clk 
+0011 c05483a9 beq patch15_1 ,p_lpm_dispatch_next 
+0012 c05603f3 beq patch15_4 ,p_lpm_unconn_nossp 
+0013 c05c00ca beq patch17_0 ,p_module_init 
+0014 c05d8148 beq patch17_3 ,p_module_hci_cmd_control 
+0015 c05e01f7 beq patch17_4 ,p_module_hci_cmd_transmit_le_notify 
+0016 c05f0680 beq patch17_6 ,p_hid_rx_process 
+0017 c06400a8 beq patch19_0 ,p_l2cap_proc_signal_connect_req 
+0018 c06d8098 beq patch1b_3 ,p_l2cap_malloc 
+0019 20204a8b branch assert 
+
+pf_patch_ext:
+001a c00185cb beq patch20_3 ,p_le_receive_skip 
+001b c00285c2 beq patch20_5 ,p_le_transmit_receive_sifs 
+001c c00303de beq patch20_6 ,p_le_transmit 
+001d c00985ee beq patch22_3 ,p_le_acknowledge 
+001e c00f85d7 beq patch23_7 ,p_le_parse 
+001f c01085e9 beq patch24_1 ,p_le_parse_l2cap 
+0020 c01800a2 beq patch26_0 ,p_le_modified_name 
+0021 c01e020f beq patch27_4 ,p_parse_lmp_accepted 
+0022 c01d021d beq patch27_2 ,p_parse_lmp 
+0023 c01e822d beq patch27_5 ,p_parse_lmp_not_accepted 
+0024 c01f823a beq patch27_7 ,p_send_lmp_accepted 
+0025 c01f0240 beq patch27_6 ,p_send_lmp 
+0026 c0208268 beq patch28_1 ,p_ssp_disable 
+0027 c04c826e beq patch33_1 ,p_sp_initialize_256 
+0028 c051802a beq patch34_3 ,p_check_51cmd_once_continue 
+0029 20204a8b branch assert 
+
+p_check_51cmd_once_continue:
+002a 2040669e call lmo_fifo_check 
+002b 243a7bfd nbranch check_51cmd_restore ,blank 
+
+p_check_51cmd_once_continue1:
+002c 6fe20a95 fetch 1 ,mem_fifo_temp 
+002d c584fbf8 bmark0 mark_context ,check_51cmd_check_idle 
+002e c0020030 beq bt_cmd_disconnect ,p_check_51cmd_disconnect 
+002f 20207bed branch check_51cmd_once_continue + 3 
+
+p_check_51cmd_disconnect:
+0030 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+0031 7004c613 jam other_end_terminated ,mem_disconn_reason_send 
+0032 20600000 rtn 
+
+p_context_search:
+0033 da204bdd arg mem_context_new ,rega 
+0034 df200002 arg context_num_new ,loopcnt 
+0035 20204260 branch context_search_loop 
+
+p_connection_incontext:
+0036 2040425a call context_search_insniff 
+0037 2422803e nbranch p_connection_nosniff ,zero 
+0038 20404206 call context_load 
+0039 1a208c01 add rega ,coffset_mode ,contr 
+003a efe20006 ifetch 1 ,contr 
+003b c280573a bbit1 mode_le ,le_conn_dispatch 
+003c c280c162 bbit1 mode_master ,master_dispatch 
+003d 202043cb branch slave_dispatch 
+
+p_connection_nosniff:
+003e 20400040 call p_context_get_next 
+003f 2020402c branch connection_nosniff + 1 
+
+p_context_get_next:
+0040 df200002 arg context_num_new ,loopcnt 
+0041 68420015 fetcht 1 ,mem_current_context 
+
+p_context_get_next_loop:
+0042 18408401 increase 1 ,temp 
+0043 2841fe02 compare context_num_new ,temp ,0xff 
+0044 24208046 nbranch p_context_get_next_cont ,true 
+0045 d8400000 arg 0 ,temp 
+
+p_context_get_next_cont:
+0046 60420015 storet 1 ,mem_current_context 
+0047 184ffe50 mul32 temp ,context_size ,pdata 
+0048 da204bdd arg mem_context_new ,rega 
+0049 9a20a200 iadd rega ,rega 
+004a efe20011 ifetch 1 ,rega 
+004b c280804e bbit1 state_insniff ,p_context_get_next_sniff 
+004c c3800000 rtnbit1 state_inconn 
+004d c3818000 rtnbit1 state_inpage 
+
+p_context_get_next_sniff:
+004e c2000042 loop p_context_get_next_loop 
+004f 20600000 rtn 
+
+p_parse_l2cap:
+0050 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+p_parse_l2cap_cont:
+0051 70026600 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0052 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+0053 207a0000 rtn blank 
+0054 2feffe00 isolate1 l2cap_inuse_buff1 ,pdata 
+0055 d8c01000 arg mem_l2cap_rxbuff1 ,contr 
+0056 2040d153 call process_rx_l2cap_pkt ,true 
+0057 6fe20266 fetch 1 ,mem_l2cap_rx_done 
+0058 c000c737 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0059 70026600 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+005a 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+005b c4008000 rtnbit0 l2cap_inuse_buff2 
+005c d8c01200 arg mem_l2cap_rxbuff2_new ,contr 
+005d 20405153 call process_rx_l2cap_pkt 
+005e 6fe20266 fetch 1 ,mem_l2cap_rx_done 
+005f c000c73d beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0060 20600000 rtn 
+
+p_process_dmh_data_l2cap_start_pkt:
+0061 c507c61c bmark1 mark_old_packet ,ack_payload 
+0062 6fe4015d fetch 2 ,mem_len 
+0063 d84001e0 arg 0x1e0 ,temp 
+0064 98467c00 isub temp ,null 
+0065 20214639 branch error_payload ,positive 
+0066 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+0067 c280c649 bbit1 l2cap_inuse_buff2 ,end_of_packet 
+0068 c30045c5 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0069 c300806b bbit0 l2cap_inuse_buff2 ,p_process_dmh_data_into_buff2 
+006a 20204649 branch end_of_packet 
+
+p_process_dmh_data_into_buff2:
+006b 70025d02 jam 2 ,mem_l2cap_rxbuff_new 
+006c 6fe4025b fetch 2 ,mem_l2cap_rxbuff2_len 
+006d c0804649 bne 0 ,end_of_packet 
+006e d8a01200 arg mem_l2cap_rxbuff2_new ,contw 
+006f 202045e0 branch process_dmh_data 
+
+p_process_dmh_data_l2cap_continue_pkt:
+0070 c507c61c bmark1 mark_old_packet ,ack_payload 
+0071 6fe4015d fetch 2 ,mem_len 
+0072 d84001e0 arg 0x1e0 ,temp 
+0073 98467c00 isub temp ,null 
+0074 20214639 branch error_payload ,positive 
+0075 6fe2025d fetch 1 ,mem_l2cap_rxbuff_new 
+0076 c000c5d9 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0077 c0010079 beq 2 ,p_process_dmh_data_l2cap_continue_pkt2 
+0078 20204649 branch end_of_packet 
+
+p_process_dmh_data_l2cap_continue_pkt2:
+0079 d8a01200 arg mem_l2cap_rxbuff2_new ,contw 
+007a 202045de branch process_dmh_data_l2cap_continue_pkt2 + 1 
+
+p_process_dmh_data_end1:
+007b 09800010 parse demod ,bucket ,16 
+007c 20234633 branch error_payload_crc ,crc_failed 
+007d 6fe24335 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+007e c000c633 beq l2cap_flow_ctrl_enable ,error_payload_crc 
+007f 202045e9 branch process_dmh_data_end + 5 
+
+p_process_dmh_data_end:
+0080 6fe2025d fetch 1 ,mem_l2cap_rxbuff_new 
+0081 c0008084 beq 1 ,p_process_l2cap_pass_crc_buff1 
+0082 c001008e beq 2 ,p_process_l2cap_pass_crc_buff2 
+0083 20204a8b branch assert 
+
+p_process_l2cap_pass_crc_buff1:
+0084 6fe40259 fetch 2 ,mem_l2cap_rxbuff1_len 
+0085 6844015d fetcht 2 ,mem_len 
+0086 9840fe00 iadd temp ,pdata 
+0087 67e40259 store 2 ,mem_l2cap_rxbuff1_len 
+0088 c0004a8b beq 0 ,assert 
+0089 68441000 fetcht 2 ,mem_l2cap_rxbuff1 
+008a 18408404 increase 4 ,temp 
+008b 98467c00 isub temp ,null 
+008c 2042c743 call l2cap_buff1_inuse ,zero 
+008d 20204609 branch process_dmh_cont 
+
+p_process_l2cap_pass_crc_buff2:
+008e 6fe4025b fetch 2 ,mem_l2cap_rxbuff2_len 
+008f 6844015d fetcht 2 ,mem_len 
+0090 9840fe00 iadd temp ,pdata 
+0091 67e4025b store 2 ,mem_l2cap_rxbuff2_len 
+0092 c0004a8b beq 0 ,assert 
+0093 68441200 fetcht 2 ,mem_l2cap_rxbuff2_new 
+0094 18408404 add temp ,4 ,temp 
+0095 98467c00 isub temp ,null 
+0096 2042c747 call l2cap_buff2_inuse ,zero 
+0097 20204609 branch process_dmh_cont 
+
+p_l2cap_malloc:
+0098 da400000 arg 0 ,regb 
+0099 20405649 call l2cap_malloc_is_fifo_full + 1 
+009a 243a4a8b nbranch assert ,blank 
+009b 20405658 call l2cap_malloc_get_full_map 
+009c da401400 arg mem_tx_buff0_new ,regb 
+009d d8e00000 arg 0 ,queue 
+009e 20205621 branch l2cap_malloc_loop 
+
+p_transmit_dmh:
+009f 6fe4016d fetch 2 ,mem_txptr 
+00a0 c04647e2 beq 0x018c ,transmit_noedr + 1 
+00a1 202047cd branch transmit_dmh + 1 
+
+p_le_modified_name:
+00a2 20405b86 call le_modified_name_att_list 
+00a3 202000a4 branch p_le_modified_name_adv 
+
+p_le_modified_name_adv:
+00a4 da604381 arg mem_le_scan_data_len + 32 ,regc 
+00a5 da204362 arg mem_le_scan_data ,rega 
+00a6 20405ba5 call le_modified_name_adv_and_scan 
+00a7 20600000 rtn 
+
+p_l2cap_proc_signal_connect_req:
+00a8 18427e00 copy temp ,pdata 
+00a9 c000d23e beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+00aa c001d260 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+00ab c00880af beq psm_hid_control ,p_l2cap_proc_signal_connect_req_hid_ctrl 
+00ac c00980bc beq psm_hid_interrupt ,p_l2cap_proc_signal_connect_req_hid_int 
+00ad 2040543c call l2cap_reject_command 
+00ae 202052ae branch l2cap_proc_signal_connect_req_rtn 
+
+p_l2cap_proc_signal_connect_req_hid_ctrl:
+00af 20407c83 call save_cont_pointers 
+00b0 d8400052 arg l2cap_hid_control_channel ,temp 
+00b1 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+00b2 243a52a8 nbranch already_connected ,blank 
+00b3 19627e00 copy timeup ,pdata 
+00b4 67e4421e store 2 ,mem_hid_ctrl_remote_cid 
+00b5 6fe24224 fetch 1 ,mem_hid_control_state 
+00b6 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+00b7 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+00b8 67e24224 store 1 ,mem_hid_control_state 
+00b9 2040528b call send_connection_res 
+00ba 700a9542 jam bt_evt_hid_int_connect ,mem_fifo_temp 
+00bb 20207bab branch ui_ipc_send_event 
+
+p_l2cap_proc_signal_connect_req_hid_int:
+00bc 20407c83 call save_cont_pointers 
+00bd 1b427e00 deposit clke 
+00be d8400053 arg l2cap_hid_interrupt_channel ,temp 
+00bf 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+00c0 243a52a8 nbranch already_connected ,blank 
+00c1 19627e00 copy timeup ,pdata 
+00c2 67e44220 store 2 ,mem_hid_int_remote_cid 
+00c3 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+00c4 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+00c5 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+00c6 67e24225 store 1 ,mem_hid_interrupt_state 
+00c7 2040528b call send_connection_res 
+00c8 700a9542 jam bt_evt_hid_int_connect ,mem_fifo_temp 
+00c9 20207bab branch ui_ipc_send_event 
+
+p_module_init:
+00ca 58000100 setarg p_module_process_bb_event 
+00cb 67e441f6 store 2 ,mem_cb_bb_event_process 
+00cc 58000136 setarg p_module_bb_event_timer 
+00cd 67e441fe store 2 ,mem_cb_event_timer 
+00ce 580000db setarg p_module_process_idle 
+00cf 67e441f4 store 2 ,mem_cb_idle_process 
+00d0 5800013a setarg p_module_le_receive_data 
+00d1 67e441fa store 2 ,mem_cb_att_write 
+00d2 58000143 setarg p_module_lpm_lock 
+00d3 67e441ea store 2 ,mem_cb_check_wakelock 
+00d4 58000144 setarg p_module_bt_conn_process 
+00d5 67e441f2 store 2 ,mem_cb_bt_process 
+00d6 204005bc call p_keyboard_ble_init 
+00d7 20404daf call module_lpm_uart_init 
+00d8 20404dbc call module_gpio_init 
+00d9 20404c2a call check_module_disabled 
+00da 2020504d branch module_hci_event_enter_standby_mode 
+
+p_module_process_idle:
+00db 204002d2 call p_m_private_dispatch 
+00dc 204050d3 call module_control_air_flow 
+00dd 20405648 call l2cap_malloc_is_fifo_full 
+00de 247a0000 nrtn blank 
+00df 202000e0 branch p_module_process 
+
+p_module_process:
+00e0 6fe44ffc fetch 2 ,ipc_m02bt_read_ptr 
+00e1 68444ffe fetcht 2 ,ipc_m02bt_write_ptr 
+00e2 98467c00 isub temp ,null 
+00e3 2022ce3a branch module_process_with_credit ,zero 
+00e4 204067f7 call uartd_prepare_rx 
+00e5 efe20003 ifetch 1 ,contru 
+00e6 c080ce4e bne 0x01 ,module_hci_in_excp 
+00e7 efe20003 ifetch 1 ,contru 
+00e8 c05000f2 beq hci_cmd_reset_sdp_service ,p_module_process_sdp 
+00e9 67e20aff store 1 ,mem_module_uart_opcode 
+00ea e8420003 ifetcht 1 ,contru 
+00eb 18622200 copy contru ,rega 
+00ec 60420b00 storet 1 ,mem_module_uart_len 
+00ed 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+00ee 20404e5a call module_hci_cmd_control 
+00ef 6fe20b01 fetch 1 ,mem_module_temp_nl_discard_packet 
+00f0 c1000000 rtneq hci_not_discard_packet 
+00f1 20204e55 branch module_hci_dicard_packet 
+
+p_module_process_sdp:
+00f2 67e20aff store 1 ,mem_module_uart_opcode 
+00f3 e8440003 ifetcht 2 ,contru 
+00f4 18622200 copy contru ,rega 
+00f5 60444bb4 storet 2 ,mem_module_uart_len_new 
+00f6 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+00f7 20404e5a call module_hci_cmd_control 
+00f8 6fe20b01 fetch 1 ,mem_module_temp_nl_discard_packet 
+00f9 c1000000 rtneq hci_not_discard_packet 
+00fa 202000fb branch p_module_hci_dicard_packet 
+
+p_module_hci_dicard_packet:
+00fb 204067f7 call uartd_prepare_rx 
+00fc 18608602 increase 2 ,contru 
+00fd efe40003 ifetch 2 ,contru 
+00fe 98608600 iadd contru ,contru 
+00ff 20204e59 branch module_hci_dicard_bytes 
+
+p_module_process_bb_event:
+0100 1a627e00 copy regc ,pdata 
+0101 c000860e beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+0102 c0010617 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+0103 c0020626 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+0104 c002862e beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+0105 c003062f beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+0106 c0038632 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+0107 c009063b beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+0108 c0098645 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+0109 c0138646 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+010a c0170649 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+010b c00c064b beq bt_evt_linkkey_generate ,classic_shutter_process_linkkey_generate 
+010c c0190601 beq bt_evt_le_start_enc ,p_module_hci_event_start_enc 
+010d c0148603 beq bt_evt_le_enc_info ,p_module_hci_event_enc_info 
+010e c01c8407 beq bt_evt_24g_pairing_complete ,p_module_hci_event_24g_pairing_complete 
+010f c01d040d beq bt_evt_24g_attempt_fail ,p_module_hci_event_24g_attempt_fail 
+0110 c01e040f beq bt_evt_24g_attempt_success ,p_module_hci_event_24g_attempt_success 
+0111 c0058126 beq bt_evt_enter_sniff ,p_module_process_enter_sniff 
+0112 c0110116 beq bt_evt_sniff_accept ,p_module_process_sniff_report 
+0113 c0218116 beq bt_evt_sniff_report ,p_module_process_sniff_report 
+0114 c021011d beq bt_evt_hid_int_connect ,p_module_process_hid_int_connect 
+0115 20204ddf branch module_process_bb_event + 1 
+
+p_module_process_sniff_report:
+0116 58000002 setarg 0x02 
+0117 700affb8 jam hci_event_hid_sniff_report ,mem_module_uart_opcode 
+0118 204050a5 call module_hci_prepare_tx 
+0119 6fe40032 fetch 2 ,mem_tsniff 
+011a 1fe37e00 rshift pdata ,pdata 
+011b e7e4000a istore 2 ,contwu 
+011c 202067b9 branch uartd_send 
+
+p_module_process_hid_int_connect:
+011d 6fe44652 fetch 2 ,mem_ui_state_map 
+011e 79207e02 set1 ui_state_bt_hid_conn ,pdata 
+011f 67e44652 store 2 ,mem_ui_state_map 
+0120 58000002 setarg 0x02 
+0121 700affb7 jam hci_event_hid_int_connect ,mem_module_uart_opcode 
+0122 204050a5 call module_hci_prepare_tx 
+0123 68444220 fetcht 2 ,mem_hid_int_remote_cid 
+0124 e044000a istoret 2 ,contwu 
+0125 202067b9 branch uartd_send 
+
+p_module_process_enter_sniff:
+
+p_module_sniff_param_check:
+0126 20404dd7 call module_spp_clear_last_transmite_clock 
+0127 6fe44042 fetch 2 ,mem_context + coffset_tsniff 
+0128 1fe37e00 rshift pdata ,pdata 
+0129 684441e4 fetcht 2 ,mem_sniff_param_interval 
+012a 98467c00 isub temp ,null 
+012b 20204d91 branch app_lpm_mult_enable 
+
+p_module_sniff_param_check_unsniff:
+012c 6fe24679 fetch 1 ,mem_module_flag 
+012d c3828000 rtnbit1 moudle_task_unsniff 
+012e 6fe44ffc fetch 2 ,ipc_m02bt_read_ptr 
+012f 68444ffe fetcht 2 ,ipc_m02bt_write_ptr 
+0130 98467c00 isub temp ,null 
+0131 2442d0da ncall module_set_unsniff_task_flag ,zero 
+0132 20204d87 branch app_bt_sniff_exit 
+
+keyboard_start_bluetooth_discovery:
+0133 20600000 rtn 
+
+keyboard_stop_bluetooth_discovery:
+0134 20404d6b call app_bt_stop_discovery 
+0135 20204d73 branch app_ble_stop_adv 
+
+p_module_bb_event_timer:
+0136 20400657 call classic_shutter_check_unplug_timer 
+0137 2040065f call classic_shutter_hid_handshake_timer 
+0138 20400662 call classic_shutter_hid_disconn_timer 
+0139 20600000 rtn 
+
+p_module_le_receive_data:
+013a 68440474 fetcht 2 ,mem_le_att_handle 
+013b 18467c21 sub temp ,handle_uuid_chrctr_report_id1_output ,null 
+013c 2022813e branch p_moudle_le_receive_data_report_output ,zero 
+013d 20600000 rtn 
+
+p_moudle_le_receive_data_report_output:
+013e e8420011 ifetcht 1 ,rega 
+013f 58000001 setarg 0x01 
+0140 67e20a96 store 1 ,mem_pdatatemp 
+0141 e0420005 istoret 1 ,contw 
+0142 2020069a branch p_hid_rx_process_data_hid_kb 
+
+p_module_lpm_lock:
+0143 20204dbd branch module_lpm_lock 
+
+p_module_bt_conn_process:
+0144 20200145 branch p_module_spp_enter_sniff 
+
+p_module_spp_enter_sniff:
+0145 6fe24bd8 fetch 1 ,mem_btsniff 
+0146 207a0000 rtn blank 
+0147 20204dc8 branch module_spp_enter_sniff + 1 
+
+p_module_hci_cmd_control:
+0148 6fe20aff fetch 1 ,mem_module_uart_opcode 
+0149 c00881c3 beq hci_cmd_bt_disconnect ,p_module_hci_cmd_bt_disconnect 
+014a c00a81cb beq hci_cmd_set_cod ,p_module_hci_cmd_set_cod 
+014b c01381d9 beq hci_cmd_sleep ,p_module_hci_cmd_enter_sleep 
+014c c00601d0 beq hci_cmd_set_pairing_req ,p_module_hci_cmd_set_pairing_mode 
+014d c05801db beq hci_cmd_send_hid_data ,p_module_hci_cmd_send_hid_data 
+014e c05901e9 beq hci_cmd_send_hid_control_data ,p_module_hci_cmd_send_hid_control_data 
+014f c0508163 beq hci_cmd_set_feature ,p_module_hci_cmd_reset_features 
+0150 c051015d beq hci_cmd_set_sniff ,p_module_set_bt_sniff 
+0151 c0588675 beq hci_cmd_creat_bt_reconnect ,p_moudle_hci_cmd_creat_bt_reconnect 
+0152 c06003f4 beq hci_cmd_start_24g ,p_module_hci_cmd_start_24g 
+0153 c06083f9 beq hci_cmd_stop_24g ,p_module_hci_cmd_stop_24g 
+0154 c06103fd beq hci_cmd_pair_24g ,p_module_hci_cmd_pair_24g 
+0155 c06183ff beq hci_cmd_disconnected_24g ,p_module_hci_cmd_disconnected_24g 
+0156 c0620402 beq hci_cmd_send_24g_data ,p_module_hci_cmd_send_24g_data 
+0157 c05001be beq hci_cmd_reset_sdp_service ,p_module_hci_cmd_set_sdp_service 
+0158 c03b0179 beq hci_cmd_delete_customize_service ,module_hci_cmd_delete_customize_service 
+0159 c03b817f beq hci_cmd_add_service_uuid ,module_hci_cmd_add_service_uuid 
+015a c03c0184 beq hci_cmd_add_characteristic_uuid ,module_hci_cmd_add_characteristic_uuid 
+015b c0380166 beq hci_cmd_switch_wakeup ,module_hci_cmd_switch_wakeup 
+015c 20204e5c branch module_hci_cmd_control + 2 
+
+p_module_set_bt_sniff:
+015d efe20003 ifetch 1 ,contru 
+015e 67e24bd8 store 1 ,mem_btsniff 
+015f 203a501f branch module_hci_event_receive_valid_cmd ,blank 
+0160 efe40003 ifetch 2 ,contru 
+0161 67e441e4 store 2 ,mem_sniff_param_interval 
+0162 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_cmd_reset_features:
+0163 eff00003 ifetch 8 ,contru 
+0164 67f04098 store 8 ,mem_features 
+0165 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_switch_wakeup:
+0166 efe40003 ifetch 2 ,contru 
+0167 efec0003 ifetch 6 ,contru 
+0168 67ec41d1 store 6 ,mem_hci_plap 
+0169 efe80003 ifetch 4 ,contru 
+016a 67e84bca store 4 ,mem_m_wake_data 
+016b e8480003 ifetcht 4 ,contru 
+016c 5fffffff setarg -1 
+016d 9842fe00 ixor temp ,pdata 
+016e 67e84bc1 store 4 ,mem_m_access_code 
+016f efe80003 ifetch 4 ,contru 
+0170 67e84bc5 store 4 ,mem_m_access_code + 4 
+0171 d8a041bf arg mem_link_key ,contw 
+0172 df200010 arg 16 ,loopcnt 
+0173 204067ed call uart_copy_rx_bytes 
+0174 704bb601 jam 1 ,mem_m_process_enable 
+0175 5800003c setarg 60 
+0176 67e44bb7 store 2 ,mem_m_wake_send_window 
+0177 204002d8 call p_m_send_wake_data_timer_init 
+0178 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_delete_customize_service:
+0179 d840000c arg 0x000c ,temp 
+017a 20405b4d call le_att_get_handle_ptr2 
+017b 18c08bfe add contr ,-2 ,contw 
+017c 58000000 setarg 0x0000 
+017d e7e40005 istore 2 ,contw 
+017e 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_add_service_uuid:
+017f 20400188 call module_hci_cmd_add_service_uuid_set_uuid 
+0180 204001a5 call uart_copy_rx_bytes_len_data 
+0181 58000000 setarg 0x0000 
+0182 e7e40005 istore 2 ,contw 
+0183 202001b7 branch module_hci_event_uuid_handle 
+
+module_hci_cmd_add_characteristic_uuid:
+0184 efe20003 ifetch 1 ,contru 
+0185 2040018c call module_hci_cmd_add_characteristic_uuid_set_handle 
+0186 20400193 call module_hci_cmd_add_characteristic_uuid_set_uuid 
+0187 202001b7 branch module_hci_event_uuid_handle 
+
+module_hci_cmd_add_service_uuid_set_uuid:
+0188 204001a9 call le_att_creat_new_handle 
+0189 58280002 setarg 0x280002 
+018a e7e60005 istore 3 ,contw 
+018b 20600000 rtn 
+
+module_hci_cmd_add_characteristic_uuid_set_handle:
+018c 67e20a96 store 1 ,mem_pdatatemp 
+018d 204001a9 call le_att_creat_new_handle 
+018e 59280302 setarg 0x01280302 
+018f e7e80005 istore 4 ,contw 
+0190 6fe20a96 fetch 1 ,mem_pdatatemp 
+0191 e7e60005 istore 3 ,contw 
+0192 20600000 rtn 
+
+module_hci_cmd_add_characteristic_uuid_set_uuid:
+0193 204001a9 call le_att_creat_new_handle 
+0194 204001a5 call uart_copy_rx_bytes_len_data 
+0195 204001a5 call uart_copy_rx_bytes_len_data 
+0196 58000000 setarg 0 
+0197 e7e40005 istore 2 ,contw 
+0198 184085ff increase -1 ,temp 
+0199 20405b4d call le_att_get_handle_ptr2 
+019a 18c08c04 add contr ,4 ,contr 
+019b efe20006 ifetch 1 ,contr 
+019c c28201a0 bbit1 bit_characteristic_notify ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+019d c28281a0 bbit1 bit_characteristic_indicate ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+019e 18408401 increase 1 ,temp 
+019f 20600000 rtn 
+
+module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+01a0 204001a9 call le_att_creat_new_handle 
+01a1 5a290202 setarg 0x02290202 
+01a2 e7f00005 istore 8 ,contw 
+01a3 184085ff increase -1 ,temp 
+01a4 20600000 rtn 
+
+uart_copy_rx_bytes_len_data:
+01a5 efe20003 ifetch 1 ,contru 
+01a6 1fe27200 copy pdata ,loopcnt 
+01a7 e7e20005 istore 1 ,contw 
+01a8 202067ed branch uart_copy_rx_bytes 
+
+le_att_creat_new_handle:
+01a9 204001ac call le_att_get_last_handle 
+01aa e0440005 istoret 2 ,contw 
+01ab 20600000 rtn 
+
+le_att_get_last_handle:
+01ac 6fe4448e fetch 2 ,mem_ui_le_uuid_table 
+01ad 98000c00 iforce contr 
+
+le_att_get_last_handle_loop:
+01ae efe40006 ifetch 2 ,contr 
+01af 207a0000 rtn blank 
+01b0 1fe08401 add pdata ,1 ,temp 
+01b1 efe20006 ifetch 1 ,contr 
+01b2 98c08c00 iadd contr ,contr 
+01b3 efe20006 ifetch 1 ,contr 
+01b4 98c08c00 iadd contr ,contr 
+01b5 18c20a00 copy contr ,contw 
+01b6 202001ae branch le_att_get_last_handle_loop 
+
+module_hci_event_uuid_handle:
+01b7 60440a9e storet 2 ,mem_temp 
+01b8 700aff29 jam hci_event_uuid_handle ,mem_module_uart_opcode 
+01b9 58000002 setarg 2 
+01ba 204050a5 call module_hci_prepare_tx 
+01bb 68440a9e fetcht 2 ,mem_temp 
+01bc e044000a istoret 2 ,contwu 
+01bd 202067b9 branch uartd_send 
+
+p_module_hci_cmd_set_sdp_service:
+01be 6fe44bb4 fetch 2 ,mem_module_uart_len_new 
+01bf 1fe27200 copy pdata ,loopcnt 
+01c0 d8a04683 arg mem_module_uuid_list ,contw 
+01c1 204067ed call uart_copy_rx_bytes 
+01c2 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_cmd_bt_disconnect:
+01c3 6fe44652 fetch 2 ,mem_ui_state_map 
+01c4 c300501c bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+01c5 2040501f call module_hci_event_receive_valid_cmd 
+01c6 20404d64 call app_bt_disconnect 
+01c7 6fe44652 fetch 2 ,mem_ui_state_map 
+01c8 c4010000 rtnbit0 ui_state_bt_hid_conn 
+01c9 700affb6 jam hci_event_bt_hid_disconnect ,mem_module_uart_opcode 
+01ca 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+p_module_hci_cmd_set_cod:
+01cb 6fe20b00 fetch 1 ,mem_module_uart_len 
+01cc c081d01f bne 3 ,module_hci_event_receive_valid_cmd 
+01cd efe60003 ifetch 3 ,contru 
+01ce 67e640aa store 3 ,mem_class 
+01cf 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_cmd_set_pairing_mode:
+01d0 1a220600 copy rega ,contru 
+01d1 efe20003 ifetch 1 ,contru 
+01d2 c0004f1c beq pairing_pincode ,module_hci_pairing_pincode_mode 
+01d3 c000cf1f beq pairing_justwork ,module_hci_pairing_just_work_mode 
+01d4 c0014f25 beq pairing_passkey ,module_hci_pairing_passkey 
+01d5 c00181d7 beq pairing_confirm ,p_module_hci_pairing_numeric_comparison 
+01d6 2020501c branch module_hci_event_receive_invalid_cmd 
+
+p_module_hci_pairing_numeric_comparison:
+01d7 58000001 setarg 0x000001 
+01d8 20204f20 branch module_hci_sspairing_mode 
+
+p_module_hci_cmd_enter_sleep:
+01d9 2040501f call module_hci_event_receive_valid_cmd 
+01da 20204d85 branch app_enter_hibernate 
+
+p_module_hci_cmd_send_hid_data:
+01db 6fe44652 fetch 2 ,mem_ui_state_map 
+01dc c28101de bbit1 ui_state_bt_hid_conn ,bt_keyboard_send_hid_int_data 
+01dd 2020501c branch module_hci_event_receive_invalid_cmd 
+
+bt_keyboard_send_hid_int_data:
+01de 2040564b call l2cap_malloc_is_fifo_nearly_full 
+01df 247a0000 nrtn blank 
+01e0 6fe20b00 fetch 1 ,mem_module_uart_len 
+01e1 1fe22200 copy pdata ,rega 
+01e2 2040513d call hid_malloc_tx_buff 
+01e3 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+01e4 e7e40005 istore 2 ,contw 
+01e5 6fe20b00 fetch 1 ,mem_module_uart_len 
+01e6 1fe27200 copy pdata ,loopcnt 
+01e7 204067ed call uart_copy_rx_bytes 
+01e8 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_cmd_send_hid_control_data:
+01e9 6fe44652 fetch 2 ,mem_ui_state_map 
+01ea c28101ec bbit1 ui_state_bt_hid_conn ,bt_keyboard_send_hid_control_data 
+01eb 2020501c branch module_hci_event_receive_invalid_cmd 
+
+bt_keyboard_send_hid_control_data:
+01ec 2040564b call l2cap_malloc_is_fifo_nearly_full 
+01ed 247a0000 nrtn blank 
+01ee 6fe20b00 fetch 1 ,mem_module_uart_len 
+01ef 1fe22200 copy pdata ,rega 
+01f0 2040513d call hid_malloc_tx_buff 
+01f1 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+01f2 e7e40005 istore 2 ,contw 
+01f3 6fe20b00 fetch 1 ,mem_module_uart_len 
+01f4 1fe27200 copy pdata ,loopcnt 
+01f5 204067ed call uart_copy_rx_bytes 
+01f6 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_cmd_transmit_le_notify:
+01f7 1840fffd add temp ,-3 ,pdata 
+01f8 d84000c8 arg 200 ,temp 
+01f9 20407db5 call not_greater_than 
+01fa 6842467a fetcht 1 ,mem_module_hci_notify_len 
+01fb 20407db5 call not_greater_than 
+01fc 1fe22200 copy pdata ,rega 
+01fd 18427e00 copy temp ,pdata 
+01fe 9a267e00 isub rega ,pdata 
+01ff 67e2467a store 1 ,mem_module_hci_notify_len 
+0200 6844467b fetcht 2 ,mem_module_hci_notify_handle 
+0201 184085ff increase -1 ,temp 
+0202 20405b4d call le_att_get_handle_ptr2 
+0203 203a020b branch p_module_hci_cmd_transmit_handle_error ,blank 
+0204 e8480006 ifetcht 4 ,contr 
+0205 59280302 setarg 0x01280302 
+0206 98467c00 isub temp ,null 
+0207 2422820b nbranch p_module_hci_cmd_transmit_handle_error ,zero 
+0208 efe20006 ifetch 1 ,contr 
+0209 c2824f01 bbit1 bit_characteristic_notify ,module_hci_cmd_transmit_le_notify + 13 
+020a 2020020b branch p_module_hci_cmd_transmit_handle_error 
+
+p_module_hci_cmd_transmit_handle_error:
+020b 70467a00 jam 0 ,mem_module_hci_notify_len 
+020c 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+020d 204050e0 call module_clear_le_tx_data_flag 
+020e 2020501c branch module_hci_event_receive_invalid_cmd 
+
+p_parse_lmp_accepted:
+020f 6fe2054e fetch 1 ,mem_rxbuf + 1 
+0210 67e204c5 store 1 ,mem_lmi_accepted_opcode 
+0211 c0198213 beq lmp_host_connection_req ,p_parse_lmp_accepted_hostconn 
+0212 20206194 branch parse_lmp_accepted + 2 
+
+p_parse_lmp_accepted_hostconn:
+0213 6fe204cd fetch 1 ,mem_lmp_conn_state 
+0214 79207e00 set1 received_conn_req ,pdata 
+0215 67e204cd store 1 ,mem_lmp_conn_state 
+0216 700a9501 jam bt_evt_bb_connected ,mem_fifo_temp 
+0217 20407bab call ui_ipc_send_event 
+0218 70016b03 jam 3 ,mem_connection_options 
+0219 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+021a 7041be01 jam 1 ,mem_link_key_exists 
+021b 70465101 jam reconnect_hid ,memui_reconnect_mode 
+021c 20600000 rtn 
+
+p_parse_lmp:
+021d 6fe2007d fetch 1 ,mem_lmi_opcode2 
+021e c0080224 beq lmp_encryption_key_size_req ,p_parse_lmp_crypt_key 
+021f c00b822a beq lmp_sniff_req ,p_parse_lmp_sniff_req 
+0220 202060fe branch parse_lmp + 21 
+
+parse_lmp_quality_of_service_req:
+0221 70007d2a jam lmp_quality_of_service_req ,mem_lmi_opcode2 
+0222 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+0223 20600000 rtn 
+
+p_parse_lmp_crypt_key:
+0224 6842054e fetcht 1 ,mem_rxbuf + 1 
+0225 18467c06 sub temp ,6 ,null 
+0226 20210228 branch reject_lmp_packet_pdu_not_allowed ,positive 
+0227 20206206 branch parse_lmp_crypt_key + 1 
+
+reject_lmp_packet_pdu_not_allowed:
+0228 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+0229 20206134 branch reject_lmp_packet 
+
+p_parse_lmp_sniff_req:
+022a 6fe40553 fetch 2 ,mem_rxbuf + 6 
+022b 203a62d2 branch lmp_reject_sniff ,blank 
+022c 202062bc branch parse_lmp_sniff_req + 5 
+
+p_parse_lmp_not_accepted:
+022d 6fe2054e fetch 1 ,mem_rxbuf + 1 
+022e 67e204c5 store 1 ,mem_lmi_accepted_opcode 
+022f c0058231 beq lmp_au_rand ,p_parse_lmp_not_accepted_aurand 
+0230 202061a6 branch parse_lmp_not_accepted + 3 
+
+p_parse_lmp_not_accepted_aurand:
+0231 204061df call parse_lmp_not_accepted_aurand 
+0232 6fe20055 fetch 1 ,mem_conn_sm 
+0233 c18c8000 rtnne conn_sm_auth_wait 
+0234 700affb1 jam hci_event_bt_reconnect_fail ,mem_module_uart_opcode 
+0235 58000001 setarg 1 
+0236 204050a5 call module_hci_prepare_tx 
+0237 58000001 setarg 0x01 
+0238 e7e2000a istore 1 ,contwu 
+0239 202067b9 branch uartd_send 
+
+p_send_lmp_accepted:
+023a 6fe20049 fetch 1 ,mem_lmi_opcode 
+023b c00b823d beq lmp_sniff_req ,p_send_lmp_accept_sniff_req 
+023c 20206433 branch send_lmp_accepted + 7 
+
+p_send_lmp_accept_sniff_req:
+023d 700a9543 jam bt_evt_sniff_report ,mem_fifo_temp 
+023e 20407bab call ui_ipc_send_event 
+023f 202046c2 branch sniff_init 
+
+p_send_lmp:
+0240 78547c00 disable user 
+0241 204066a3 call lmo_fifo_process 
+0242 6fe20048 fetch 1 ,mem_lmp_to_send 
+0243 207a0000 rtn blank 
+0244 68444bd9 fetcht 2 ,mem_test_ptr 
+0245 e7e20002 istore 1 ,temp 
+0246 18408401 increase 1 ,temp 
+0247 60444bd9 storet 2 ,mem_test_ptr 
+0248 c283825c bbit1 7 ,p_send_lmp_escape 
+0249 c00b8257 beq lmp_sniff_req ,p_send_lmp_sniff_req 
+024a c021037a beq lmp_m_test_req ,p_send_lmp_opcode_00 
+024b c003824d beq lmp_detach ,p_send_lmp_detch 
+024c 202063f2 branch send_lmp0 
+
+p_send_lmp_detch:
+024d 18007e02 force 2 ,pdata 
+024e 2040667a call msg_send_lmp 
+024f 6fe204c6 fetch 1 ,mem_disconn_reason_send 
+0250 e7e20005 istore 1 ,contw 
+0251 20406694 call send_lmp_request 
+
+p_prepare_disconnect:
+0252 6fe2004b fetch 1 ,mem_op 
+0253 79207e03 set1 op_disconn ,pdata 
+0254 67e2004b store 1 ,mem_op 
+0255 70007232 jam 50 ,mem_conn_timer 
+0256 20600000 rtn 
+
+p_send_lmp_sniff_req:
+0257 6fe24bd8 fetch 1 ,mem_btsniff 
+0258 203a025a branch p_clear_lpm_flag ,blank 
+0259 20206586 branch send_lmp_sniff_req 
+
+p_clear_lpm_flag:
+025a 70004800 jam 0 ,mem_lmp_to_send 
+025b 20600000 rtn 
+
+p_send_lmp_escape:
+025c c042025f beq lmp_ext_features_res ,p_send_lmpext_features_res 
+025d c0418262 beq lmp_ext_features_req ,p_send_lmpext_features_req 
+025e 20206421 branch send_lmp_escape 
+
+p_send_lmpext_features_res:
+025f 20400265 call p_check_ssp_enable 
+0260 6fe20048 fetch 1 ,mem_lmp_to_send 
+0261 2020647b branch send_lmpext_features_res 
+
+p_send_lmpext_features_req:
+0262 20400265 call p_check_ssp_enable 
+0263 6fe20048 fetch 1 ,mem_lmp_to_send 
+0264 202064ef branch send_lmpext_features_req 
+
+p_check_ssp_enable:
+0265 6fe2462c fetch 1 ,mem_ssp_enable 
+0266 203a650d branch ssp_disable ,blank 
+0267 20206506 branch ssp_enable 
+
+p_ssp_disable:
+0268 6fe2409e fetch 1 ,mem_features + 6 
+0269 793ffe03 set0 param_featrue_ssp ,pdata 
+026a 67e2409e store 1 ,mem_features + 6 
+026b 58000001 setarg 0x1 
+026c 67e404ca store 2 ,mem_lmpext_ssp_enable 
+026d 20600000 rtn 
+
+p_sp_initialize_256:
+026e 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+026f 203a5ed0 branch le_secure_connection_disable ,blank 
+0270 20407438 call sp_clear_flags 
+0271 20207932 branch sp_pubkey_calc_256 
+
+eut_read_otp_data:
+0272 6fe2466c fetch 1 ,mem_module_state 
+0273 79207e07 set1 module_read_otp_bit ,pdata 
+0274 67e2466c store 1 ,mem_module_state 
+0275 dac00000 arg 0x00 ,addhi 
+0276 d8c08973 arg 0x8973 ,contr 
+0277 efe20006 ifetch 1 ,contr 
+0278 79207e06 set1 6 ,pdata 
+0279 d8a08973 arg 0x8973 ,contw 
+027a e7e20005 istore 1 ,contw 
+027b dac0000f arg 0x0f ,addhi 
+027c df200006 arg 6 ,loopcnt 
+027d da400002 arg 2 ,regb 
+027e da204b97 arg mem_read_otp_data ,rega 
+027f 20400294 call eut_read_otp 
+0280 df200014 arg 20 ,loopcnt 
+0281 da40012c arg 0x12c ,regb 
+0282 da204b9d arg mem_read_otp_data + 6 ,rega 
+0283 20400294 call eut_read_otp 
+0284 df200002 arg 2 ,loopcnt 
+0285 da401ffe arg 0x1ffe ,regb 
+0286 da204bb1 arg mem_read_otp_data + 26 ,rega 
+0287 20400294 call eut_read_otp 
+0288 204002b0 call eut_otp_deselect 
+0289 dac00000 arg 0x00 ,addhi 
+028a d8c08973 arg 0x8973 ,contr 
+028b efe20006 ifetch 1 ,contr 
+028c 793ffe06 set0 6 ,pdata 
+028d d8a08973 arg 0x8973 ,contw 
+028e e7e20005 istore 1 ,contw 
+028f dac00000 arg 0x00 ,addhi 
+0290 6fe2466c fetch 1 ,mem_module_state 
+0291 793ffe07 set0 module_read_otp_bit ,pdata 
+0292 67e2466c store 1 ,mem_module_state 
+0293 20600000 rtn 
+
+eut_read_otp:
+0294 1a49a400 lshift3 regb ,regb 
+0295 2040029e call eut_otp_ce 
+0296 204002ab call eut_otp_readen 
+
+eut_read_otp_loop:
+0297 204002ad call eut_write_otpaddr 
+0298 6fe3850c fetch 1 ,sec_otp_data 
+0299 e7e20011 istore 1 ,rega 
+029a 1a40a408 increase 8 ,regb 
+029b 1a20a201 increase 1 ,rega 
+029c c2000297 loop eut_read_otp_loop 
+029d 20600000 rtn 
+
+eut_otp_ce:
+029e 5800020c setarg 0x20c 
+029f 204002a6 call eut_write_otpctrl 
+02a0 58000208 setarg 0x208 
+02a1 204002a6 call eut_write_otpctrl 
+02a2 58000200 setarg 0x200 
+02a3 204002a6 call eut_write_otpctrl 
+02a4 58000208 setarg 0x208 
+02a5 202002a6 branch eut_write_otpctrl 
+
+eut_write_otpctrl:
+02a6 d8a1850a arg sec_otp_ctrl ,contw 
+
+eut_write_word:
+02a7 e7e20005 istore 1 ,contw 
+02a8 1fecfe00 rshift8 pdata ,pdata 
+02a9 e7e20005 istore 1 ,contw 
+02aa 20600000 rtn 
+
+eut_otp_readen:
+02ab 58000288 setarg 0x288 
+02ac 202002a6 branch eut_write_otpctrl 
+
+eut_write_otpaddr:
+02ad 1a427e00 deposit regb 
+02ae d8a18508 arg sec_otp_addr ,contw 
+02af 202002a7 branch eut_write_word 
+
+eut_otp_deselect:
+02b0 5800020c setarg 0x20c 
+02b1 202002a6 branch eut_write_otpctrl 
+
+p_otp_custom_encryption_data_add_loop:
+02b2 df20000d arg 13 ,loopcnt 
+02b3 d84055aa arg otp_init_val ,temp 
+02b4 d8c04b97 arg mem_read_otp_data ,contr 
+
+p_otp_custom_add:
+02b5 efe40006 ifetch 2 ,contr 
+02b6 9840fe00 iadd temp ,pdata 
+02b7 1fe20400 copy pdata ,temp 
+02b8 c20002b5 loop p_otp_custom_add 
+02b9 20600000 rtn 
+
+p_otp_custom_encryption_data_xor_loop:
+02ba df20000d arg 13 ,loopcnt 
+02bb d8c04b97 arg mem_read_otp_data ,contr 
+
+p_otp_custom_xor:
+02bc efe40006 ifetch 2 ,contr 
+02bd 9842fe00 ixor temp ,pdata 
+02be 1fe20400 copy pdata ,temp 
+02bf c20002bc loop p_otp_custom_xor 
+02c0 20600000 rtn 
+
+p_otp_judge_set_flag:
+02c1 704bb300 jam 0 ,mem_en_24g_flag 
+02c2 d840ffff arg 0xffff ,temp 
+02c3 98417e00 iand temp ,pdata 
+02c4 d8c04bb1 arg mem_read_otp_data + 26 ,contr 
+02c5 e8440006 ifetcht 2 ,contr 
+02c6 98467c00 isub temp ,null 
+02c7 24628000 nrtn zero 
+02c8 704bb301 jam 1 ,mem_en_24g_flag 
+02c9 20600000 rtn 
+
+p_check_otp_shaomaqiang_app:
+02ca 20400272 call eut_read_otp_data 
+02cb 204002b2 call p_otp_custom_encryption_data_add_loop 
+02cc 204002ba call p_otp_custom_encryption_data_xor_loop 
+02cd 204002c1 call p_otp_judge_set_flag 
+02ce 6fe24bb3 fetch 1 ,mem_en_24g_flag 
+02cf 2fe1fe01 compare 1 ,pdata ,0xff 
+02d0 20608000 rtn true 
+02d1 20204a8b branch assert 
+
+p_m_private_dispatch:
+02d2 6fe24bb6 fetch 1 ,mem_m_process_enable 
+02d3 207a0000 rtn blank 
+02d4 202002db branch p_m_send_wake_data_process 
+
+p_m_send_wake_data_init:
+02d5 704bb601 jam 1 ,mem_m_process_enable 
+02d6 5800003c setarg 60 
+02d7 67e44bb7 store 2 ,mem_m_wake_send_window 
+
+p_m_send_wake_data_timer_init:
+02d8 580000a0 setarg 160 
+02d9 18000e0e force m_wake_timer ,queue 
+02da 20207ce3 branch timer_init 
+
+p_m_send_wake_data_process:
+02db 18000e0e force m_wake_timer ,queue 
+02dc 20407cf1 call timer_check 
+02dd 247a0000 nrtn blank 
+02de 204048d8 call fetch_page_bt_adr 
+02df 204002f4 call p_m_access_code_generate 
+02e0 204002d8 call p_m_send_wake_data_timer_init 
+
+p_m_send_wake_data_start:
+02e1 68444bb7 fetcht 2 ,mem_m_wake_send_window 
+02e2 78487c00 disable swfine 
+02e3 18423600 copy temp ,stop_watch 
+
+p_m_send_wake_data_restart:
+02e4 2021831f branch p_m_wait_remote_signal_packet ,timeout 
+02e5 20404915 call set_sync_on 
+02e6 d8400000 arg 0 ,temp 
+02e7 20404930 call set_freq_tx 
+02e8 20404a50 call start_transmitter 
+02e9 2040030b call p_m_transmit_packet 
+02ea 20404649 call end_of_packet 
+02eb 20001388 nop 5000 
+02ec 202002e4 branch p_m_send_wake_data_restart 
+02ed 20600000 rtn 
+
+p_m_lap_generate:
+02ee 6ff24bc1 fetch 9 ,mem_m_access_code 
+02ef 1fef7e00 rshift32 pdata ,pdata 
+02f0 1feb7e00 rshift2 pdata ,pdata 
+02f1 67e60742 store 3 ,mem_tmp0 
+02f2 6d860742 fetchr lap ,3 ,mem_tmp0 
+02f3 20600000 rtn 
+
+p_m_access_code_generate:
+02f4 204002ee call p_m_lap_generate 
+02f5 6ff24bc1 fetch 9 ,mem_m_access_code 
+02f6 68504bb9 fetcht 8 ,mem_m_p_sequence 
+02f7 9842fe00 ixor temp ,pdata 
+02f8 67f00742 store 8 ,mem_tmp0 
+02f9 6fea0742 fetch 5 ,mem_tmp0 
+02fa 783b7c00 enable le 
+02fb 98001200 iforce access 
+02fc 785b7c00 disable le 
+02fd 20600000 rtn 
+
+p_m_transmit_packet_access_and_header:
+02fe 20404a63 call send_access_word 
+
+p_m_transmit_packet_header:
+02ff 7843fc00 disable enable_white 
+0300 78257c00 enable enable_hec 
+0301 782dfc00 enable encode_fec1 
+0302 6fe40f37 fetch 2 ,mem_m_snd_op 
+0303 0800860a inject mod ,10 
+0304 78247c00 enable enable_parity 
+0305 08008608 inject mod ,8 
+0306 784dfc00 disable encode_fec1 
+0307 78447c00 disable enable_parity 
+0308 78457c00 disable enable_hec 
+0309 793faa02 set0 psk3m ,radio_ctrl 
+030a 20600000 rtn 
+
+p_m_transmit_packet:
+030b 58000078 setarg 0x078 
+030c 67e40f37 store 2 ,mem_m_snd_op 
+030d 204002fe call p_m_transmit_packet_access_and_header 
+
+p_m_transmit_wake_packet_payload:
+030e 782efc00 enable encode_fec0 
+030f 78477c00 disable encrypt 
+0310 7824fc00 enable enable_crc 
+0311 58000a98 setarg 0x0A98 
+0312 08008610 inject mod ,16 
+0313 df200050 arg 80 ,loopcnt 
+
+p_m_transmit_wake_packet_payload_data_loop0:
+0314 6fe84bca fetch 4 ,mem_m_wake_data 
+0315 08008620 inject mod ,32 
+0316 c2000314 loop p_m_transmit_wake_packet_payload_data_loop0 
+0317 df200013 arg 19 ,loopcnt 
+
+p_m_transmit_wake_packet_payload_data_loop1:
+0318 58000000 setarg 0x00 
+0319 08008608 inject mod ,8 
+031a c2000318 loop p_m_transmit_wake_packet_payload_data_loop1 
+
+p_m_transmit_wake_packet_payload_data_end:
+031b 78247c00 enable enable_parity 
+031c 08008610 inject mod ,16 
+031d 78447c00 disable enable_parity 
+031e 20600000 rtn 
+
+p_m_wait_remote_signal_packet:
+031f 68444bb7 fetcht 2 ,mem_m_wake_send_window 
+0320 78487c00 disable swfine 
+0321 18423600 copy temp ,stop_watch 
+0322 78587c00 disable clknt 
+0323 78577c00 disable attempt 
+0324 d8400000 arg 0 ,temp 
+0325 2040491c call set_freq_rx 
+0326 204049ea call start_receiver 
+0327 20404a13 call wait_access_forever 
+0328 242c4649 nbranch end_of_packet ,sync 
+
+p_m_receive_packet_header:
+0329 7843fc00 disable enable_white 
+032a 78257c00 enable enable_hec 
+032b 7825fc00 enable decode_fec1 
+032c 0980000a parse demod ,bucket ,10 
+032d 19837e00 rshift pwindow ,pdata 
+032e 67e40f39 store 2 ,mem_m_rcv_op 
+032f 09800008 parse demod ,bucket ,8 
+0330 7845fc00 disable decode_fec1 
+0331 78457c00 disable enable_hec 
+
+p_m_receive_packet_payload:
+0332 20234649 branch end_of_packet ,crc_failed 
+0333 df200012 arg 18 ,loopcnt 
+0334 d8a00f1e arg mem_m_process_sync_buffer ,contw 
+
+p_m_receive_packet_payload_raw:
+0335 78267c00 enable decode_fec2 
+0336 7824fc00 enable enable_crc 
+
+p_m_process_payload_data:
+0337 09800008 parse demod ,bucket ,8 
+0338 19897e00 rshift3 pwindow ,pdata 
+0339 e7e20005 istore 1 ,contw 
+033a c2000337 loop p_m_process_payload_data 
+
+p_m_process_payload_data_end:
+033b 09800010 parse demod ,bucket ,16 
+033c 20404649 call end_of_packet 
+033d 20630000 rtn crc_failed 
+033e 6fec0f20 fetch 6 ,mem_m_process_sync_buffer + 2 
+033f 684c41d1 fetcht 6 ,mem_hci_plap 
+0340 98467c00 isub temp ,null 
+0341 24628000 nrtn zero 
+0342 6fe80f2c fetch 4 ,mem_m_process_sync_buffer + 14 
+0343 1fe37e00 rshift pdata ,pdata 
+0344 67e80163 store 4 ,mem_clke_bt 
+0345 6fe20f1f fetch 1 ,mem_m_process_sync_buffer + 1 
+0346 67e20172 store 1 ,extm_newconn_am_addr 
+
+p_m_send_signal_packet:
+0347 58000067 setarg 0x67 
+0348 67e20f1e store 1 ,mem_m_process_sync_buffer 
+0349 6fec40a0 fetch 6 ,mem_lap 
+034a 67ec0f1f store 6 ,mem_m_process_sync_buffer + 1 
+034b 58000000 setarg 0 
+034c 67f20f25 store 9 ,mem_m_process_sync_buffer + 7 
+034d 20404a4c call rf_setup_time_slave_slot 
+034e 20404915 call set_sync_on 
+034f d8400000 arg 0 ,temp 
+0350 20404930 call set_freq_tx 
+0351 20404a50 call start_transmitter 
+0352 20404a5e call start_tx_external 
+
+p_m_transmit_signal_packet:
+0353 6fe40f39 fetch 2 ,mem_m_rcv_op 
+0354 67e40f37 store 2 ,mem_m_snd_op 
+0355 204002fe call p_m_transmit_packet_access_and_header 
+
+p_m_transmit_signal_packet_payload:
+0356 782e7c00 enable encode_fec2 
+0357 78477c00 disable encrypt 
+0358 7824fc00 enable enable_crc 
+0359 df20000d arg 13 ,loopcnt 
+035a d8c00f1e arg mem_m_process_sync_buffer ,contr 
+
+p_m_transmit_signal_packet_payload_data_loop:
+035b efe20006 ifetch 1 ,contr 
+035c 08008608 inject mod ,8 
+035d c200035b loop p_m_transmit_signal_packet_payload_data_loop 
+
+p_m_transmit_signal_packet_payload_data_end:
+035e 78247c00 enable enable_parity 
+035f 08008610 inject mod ,16 
+0360 78447c00 disable enable_parity 
+0361 20404649 call end_of_packet 
+0362 704bb600 jam 0 ,mem_m_process_enable 
+
+p_slave_apply_clke_bt:
+0363 2d000603 compare 0x03 ,clke_bt ,0x03 
+0364 20208367 branch p_slave_apply_clke_bt_now ,true 
+0365 37cb8200 until null ,mhalfbnd 
+0366 20200363 branch p_slave_apply_clke_bt 
+
+p_slave_apply_clke_bt_now:
+0367 6fe80163 fetch 4 ,mem_clke_bt 
+0368 1fe1fe03 or_into 0x03 ,pdata 
+0369 1fe25000 icopy clke_bt 
+036a 6fec41d1 fetch 6 ,mem_hci_plap 
+036b 67ec0040 store 6 ,mem_plap 
+036c 20404431 call prepare_newconn 
+
+p_slave_newconn_loop:
+036d 20404478 call slave_newconn_once 
+036e 20368372 branch p_m_slave_connection_success ,match 
+036f 20404451 call new_conn_timeout 
+0370 243a036d nbranch p_slave_newconn_loop ,blank 
+0371 20600000 rtn 
+
+p_m_slave_connection_success:
+0372 704bdc01 jam 1 ,mem_ns_wake_up_flag 
+0373 6fe2054d fetch 1 ,mem_rxbuf 
+0374 20400376 call p_parse_lmp_opcode_00 
+0375 202043c4 branch sconn_successful 
+
+p_parse_lmp_opcode_00:
+0376 6fe6054e fetch 3 ,mem_rxbuf + 1 
+0377 67e64bce store 3 ,mem_m_save_lmp_ye 
+0378 70007c42 jam lmp_m_test_req ,mem_lmo_opcode2 
+0379 20600000 rtn 
+
+p_send_lmp_opcode_00:
+037a 58000000 setarg 0x00 
+037b 67e20048 store 1 ,mem_lmp_to_send 
+037c 6fe24bce fetch 1 ,mem_m_save_lmp_ye 
+037d c0000380 beq 0x00 ,p_send_lmp_rxbuf_00 
+037e c0020386 beq 0x04 ,p_send_lmp_rxbuf_04 
+037f 20600000 rtn 
+
+p_send_lmp_rxbuf_00:
+0380 18007e0a force 10 ,pdata 
+0381 2040667a call msg_send_lmp 
+0382 581d3201 setarg 0x1d3201 
+0383 e7f20005 istore 9 ,contw 
+0384 58000000 setarg 0 
+0385 20206699 branch send_lmp_exit 
+
+p_send_lmp_rxbuf_04:
+0386 18007e04 force 4 ,pdata 
+0387 2040667a call msg_send_lmp 
+0388 58000004 setarg 0x000004 
+0389 e7e60005 istore 3 ,contw 
+038a 58000001 setarg 1 
+038b 20206699 branch send_lmp_exit 
+
+p_slave_loop:
+038c 20404c24 call check_bt_disabled 
+038d 20406b69 call scheduler_process 
+038e 20404510 call slave_conn_recv_packet 
+038f 2436c3de nbranch slave_notmatch ,match 
+0390 20404a87 call supervision_flush 
+0391 20406b81 call scheduler_tx_l2cap_pkt 
+0392 20404485 call prepare_tx 
+0393 20404753 call slave_conn_send_packet 
+0394 20404724 call parse_l2cap 
+0395 204060e9 call parse_lmp 
+0396 6fe2000b fetch 1 ,mem_slave_rcvcnt 
+0397 1fe0fe01 increase 1 ,pdata 
+0398 67e2000b store 1 ,mem_slave_rcvcnt 
+0399 2040483d call calc_clke_offset 
+039a 202043de branch slave_notmatch 
+
+p_ahead_window:
+039b 18427e00 copy temp ,pdata 
+039c 20407d2b call clk2bt 
+039d 1c307e00 lshift16 bt_clk ,pdata 
+039e 79207e2c set1 44 ,pdata 
+039f 20407d14 call clk_diff 
+03a0 793ffe2c set0 44 ,pdata 
+03a1 20404a76 call get_clk 
+03a2 20407d14 call clk_diff 
+03a3 20740000 rtn user 
+03a4 204003b2 call p_clk2rt 
+03a5 20204a2f branch ahead_window + 12 
+
+p_lpm_adjust_clk:
+03a6 1b427e00 deposit clke 
+03a7 204003b1 call p_clk_diff_rt 
+03a8 20204ae9 branch lpm_adjust_clk + 3 
+
+p_lpm_dispatch_next:
+03a9 6fe4404e fetch 2 ,mem_context + coffset_rx_window 
+03aa 1fe37e00 rshift pdata ,pdata 
+03ab 20407d2b call clk2bt 
+03ac 1e027e00 deposit alarm 
+03ad 20407d14 call clk_diff 
+03ae 1b420400 copy clke ,temp 
+03af 204003b1 call p_clk_diff_rt 
+03b0 20204b67 branch lpm_dispatch_next + 30 
+
+p_clk_diff_rt:
+03b1 20407d14 call clk_diff 
+
+p_clk2rt:
+03b2 98000c00 iforce contr 
+03b3 793f8c10 set0 16 ,contr 
+03b4 20207d1f branch clk2rt + 1 
+
+p_soft_reset:
+03b5 204068c4 call rfcomm_init 
+03b6 204060d7 call init_lmp 
+03b7 204003b9 call p_ui_init 
+03b8 2020400a branch soft_reset + 9 
+
+p_ui_init:
+03b9 20758000 rtn wake 
+03ba 20207b9a branch ui_timer_init 
+
+p_main_loop:
+03bb 20400411 call p_g24_dispatch 
+03bc 20204010 branch main_loop + 1 
+
+p_shutdown_radio:
+03bd 203083cd branch p_shutdown_radio0 ,is_rx 
+03be 708955d4 hjam 0xd4 ,0x955 
+03bf 20000004 nop 4 
+03c0 708955d2 hjam 0xd2 ,0x955 
+03c1 20000004 nop 4 
+03c2 708955d1 hjam 0xd1 ,0x955 
+03c3 20000004 nop 4 
+03c4 6fe241df fetch 1 ,mem_tx_power 
+03c5 c00003cb beq tx_power_0db ,p_shutdown_radio_0db 
+03c6 c00083db beq tx_power_3db ,p_shutdown_radio_3db 
+03c7 c00103cb beq tx_power_5db ,p_shutdown_radio_5db 
+03c8 c00183db beq tx_power_f3db ,p_shutdown_radio_f3db 
+03c9 c00203db beq tx_power_f5db ,p_shutdown_radio_f5db 
+03ca c01003db beq tx_power_pair ,p_shutdown_radio_pair 
+
+p_shutdown_radio_5db:
+
+p_shutdown_radio_0db:
+03cb 708955d0 hjam 0xd0 ,0x955 
+03cc 708956e0 hjam 0xe0 ,0x956 
+
+p_shutdown_radio0:
+03cd 18002a08 force 0x08 ,radio_ctrl 
+03ce 18002a00 force 0 ,radio_ctrl 
+03cf 7850fc00 disable is_rx 
+03d0 78507c00 disable is_tx 
+03d1 782f7c00 pulse packet_end 
+03d2 70890200 hjam 0x0 ,rfen_mdm 
+03d3 70890100 hjam 0x0 ,rfen_tx 
+03d4 70890000 hjam 0x0 ,rfen_rx 
+03d5 70890300 hjam 0 ,rfen_sn 
+03d6 70890470 hjam 0x70 ,rfen_msc 
+03d7 6fe28906 fetch 1 ,rfen_adc 
+03d8 79207e00 set1 0 ,pdata 
+03d9 67e28906 store 1 ,rfen_adc 
+03da 20600000 rtn 
+
+p_shutdown_radio_pair:
+
+p_shutdown_radio_f5db:
+
+p_shutdown_radio_f3db:
+
+p_shutdown_radio_3db:
+03db 708955d0 hjam 0xd0 ,0x955 
+03dc 708956c0 hjam 0xc0 ,0x956 
+03dd 202003cd branch p_shutdown_radio0 
+
+p_le_transmit:
+03de 204057af call le_prep 
+03df 204003e1 call p_letx_setfreq 
+03e0 202058a7 branch le_transmit0 
+
+p_letx_setfreq:
+03e1 203683e8 branch p_txon ,match 
+03e2 202057be branch letx_setfreq + 1 
+
+p_set_freq_tx:
+03e3 60420017 storet 1 ,mem_last_freq 
+03e4 2040492a call set_freq_tx_offset 
+03e5 20404980 call rf_write_freq 
+03e6 58000500 setarg param_pll_setup 
+03e7 20404a8e call sleep 
+
+p_txon:
+03e8 6fe28906 fetch 1 ,rfen_adc 
+03e9 79207e00 set1 0 ,pdata 
+03ea 67e28906 store 1 ,rfen_adc 
+03eb 20204937 branch txon + 1 
+
+p_init_param:
+03ec 7089067c hjam 0x7c ,rfen_adc 
+03ed 20758000 rtn wake 
+03ee 58000000 setarg 0 
+03ef 67e441dd store 2 ,mem_tx_len 
+03f0 1c437e00 rshift clkn_bt ,pdata 
+03f1 67e84094 store 4 ,mem_last_clkn 
+03f2 20600000 rtn 
+
+p_lpm_unconn_nossp:
+03f3 20204b7f branch lpm_unconn_cont 
+
+p_module_hci_cmd_start_24g:
+03f4 2040501f call module_hci_event_receive_valid_cmd 
+03f5 efe80003 ifetch 4 ,contru 
+03f6 67e84b81 store 4 ,mem_24g_addr 
+03f7 704b81ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+03f8 202004de branch p_g24_start_24g_mode 
+
+p_module_hci_cmd_stop_24g:
+03f9 2040501f call module_hci_event_receive_valid_cmd 
+03fa 793f8026 set0 mark_24g ,mark 
+03fb 704b81ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+03fc 20200491 branch p_g24_stop_g24_mode 
+
+p_module_hci_cmd_pair_24g:
+03fd 2040501f call module_hci_event_receive_valid_cmd 
+03fe 202004ab branch p_g24_start_pairing_sm1 
+
+p_module_hci_cmd_disconnected_24g:
+03ff c593501c bmark0 mark_24g ,module_hci_event_receive_invalid_cmd 
+0400 2040501f call module_hci_event_receive_valid_cmd 
+0401 20200491 branch p_g24_stop_g24_mode 
+
+p_module_hci_cmd_send_24g_data:
+0402 6fe20b00 fetch 1 ,mem_module_uart_len 
+0403 1fe27200 copy pdata ,loopcnt 
+0404 d8a04b81 arg mem_24g_txbuf_new ,contw 
+0405 204067ed call uart_copy_rx_bytes 
+0406 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_event_24g_pairing_complete:
+0407 700affc0 jam hci_event_24g_pairing_complete ,mem_module_uart_opcode 
+0408 58000004 setarg 4 
+0409 204050a5 call module_hci_prepare_tx 
+040a 6fe84b81 fetch 4 ,mem_24g_addr 
+040b e7e8000a istore 4 ,contwu 
+040c 202067b9 branch uartd_send 
+
+p_module_hci_event_24g_attempt_fail:
+040d 700affc1 jam hci_event_24g_attempt_fail ,mem_module_uart_opcode 
+040e 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+p_module_hci_event_24g_attempt_success:
+040f 700affc2 jam hci_event_24g_attempt_success ,mem_module_uart_opcode 
+0410 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+p_g24_dispatch:
+0411 c6930000 rtnmark0 mark_24g 
+0412 6fe84b81 fetch 4 ,mem_24g_enter_hibernate 
+0413 67e84b81 store 4 ,mem_24g_enter_hibernate_setup 
+0414 20400431 call p_g24_txdata_prep 
+0415 24340427 nbranch p_g24_long_sleep ,user 
+0416 704b810a jam 10 ,mem_24g_enter_lpm_timer 
+0417 20400457 call p_g24_transmit_packet 
+0418 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+0419 c1ff8000 rtnne state_24g_pairing_success 
+041a 7041df02 jam tx_power_5db ,mem_tx_power 
+
+p_g24_short_sleep:
+041b 20600000 rtn 
+041c 6fe24b81 fetch 1 ,mem_mouse_retry_flag 
+041d 247a0000 nrtn blank 
+041e 20404ad8 call lpo_calibration 
+041f 6fe64170 fetch 3 ,mem_clks_per_lpo 
+0420 207a0000 rtn blank 
+0421 6fe24091 fetch 1 ,mem_lpm_mode 
+0422 207a0000 rtn blank 
+
+p_g24_short_sleep_1:
+0423 5800e290 setarg 58000 
+
+p_g24_short_sleep_2:
+0424 20407d24 call clk2lpo 
+0425 6048415c storet 4 ,mem_sleep_counter 
+0426 20204b06 branch lpm_sleep 
+
+p_g24_long_sleep:
+0427 20600000 rtn 
+0428 20404ad8 call lpo_calibration 
+0429 6fe64170 fetch 3 ,mem_clks_per_lpo 
+042a 207a0000 rtn blank 
+042b 6fe24091 fetch 1 ,mem_lpm_mode 
+042c 207a0000 rtn blank 
+042d 6fe24b81 fetch 1 ,mem_24g_enter_lpm_timer 
+042e 243a0423 nbranch p_g24_short_sleep_1 ,blank 
+042f 6fe84b81 fetch 4 ,mem_24g_enter_hibernate_setup 
+0430 20200424 branch p_g24_short_sleep_2 
+
+p_g24_txdata_prep:
+0431 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+0432 c0ff84b4 bne state_24g_pairing_success ,p_g24_pairing_sm 
+0433 20400438 call p_g24_package_data 
+0434 20540453 call p_g24_get_package_data ,user 
+0435 20540523 call p_g24_transmit_prep ,user 
+
+p_g24_txdata_enable_tx:
+0436 704b8101 jam ensure_on_24g ,mem_24g_ensure 
+0437 20600000 rtn 
+
+p_g24_package_data:
+0438 78547c00 disable user 
+0439 704b8102 jam 2 ,mem_24g_data_type 
+043a 6fe24b81 fetch 1 ,mem_24g_txbuf_new 
+043b c0008443 beq 0x01 ,p_g24_dataready 
+043c c0010449 beq 0x02 ,p_g24_dataready_mk 
+043d c001844f beq 0x03 ,p_g24_dataready_ms 
+043e c003044c beq 0x06 ,p_g24_dataready_sys 
+043f c0038446 beq 0x07 ,p_g24_dataready_game 
+0440 6fe24b81 fetch 1 ,mem_mouse_retry_flag 
+0441 245a7dbf ncall enable_user ,blank 
+0442 20600000 rtn 
+
+p_g24_dataready:
+0443 704b8100 jam 0x00 ,mem_24g_txbuf_new 
+0444 704b810a jam 10 ,mem_24g_datalen 
+0445 20200451 branch p_g24_package_data_rtn 
+
+p_g24_dataready_game:
+0446 704b8108 jam 0x08 ,mem_24g_txbuf_new 
+0447 704b8118 jam 24 ,mem_24g_datalen 
+0448 20200451 branch p_g24_package_data_rtn 
+
+p_g24_dataready_mk:
+0449 704b8103 jam 0x03 ,mem_24g_txbuf_new 
+044a 704b8104 jam 4 ,mem_24g_datalen 
+044b 20200451 branch p_g24_package_data_rtn 
+
+p_g24_dataready_sys:
+044c 704b8102 jam 0x02 ,mem_24g_txbuf_new 
+044d 704b8103 jam 3 ,mem_24g_datalen 
+044e 20200451 branch p_g24_package_data_rtn 
+
+p_g24_dataready_ms:
+044f 704b8101 jam 1 ,mem_24g_data_type 
+0450 704b8108 jam 8 ,mem_24g_datalen 
+
+p_g24_package_data_rtn:
+0451 704b8100 jam 0 ,mem_24g_get_ack_fail 
+0452 20207dbf branch enable_user 
+
+p_g24_get_package_data:
+0453 d8a00b1e arg mem_24g_txbuf ,contw 
+0454 d8c04b81 arg mem_24g_txbuf_new ,contr 
+0455 df200020 arg 32 ,loopcnt 
+0456 20207cdc branch memcpy 
+
+p_g24_transmit_packet:
+0457 704b8100 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+0458 d9600d00 arg param_rx_setup ,timeup 
+0459 34730200 until clkn_rt ,meet 
+045a 20400485 call p_g24_transmit_receive_ack 
+045b 24378467 nbranch p_g24_retransmit ,user3 
+045c 20400494 call p_g24_ackpayload_parse 
+045d 6fe24b81 fetch 1 ,mem_24g_pid 
+045e 1fe0fe01 increase 1 ,pdata 
+045f 67e24b81 store 1 ,mem_24g_pid 
+0460 704b8100 jam 0 ,mem_mouse_retry_flag 
+0461 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+0462 c0ff8484 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+
+p_g24_transmit_abandon:
+0463 20400479 call p_g24_clear_txbuf 
+0464 704b8100 jam 0 ,mem_24g_get_ack_fail 
+0465 704b8100 jam ensure_off_24g ,mem_24g_ensure 
+0466 20600000 rtn 
+
+p_g24_retransmit:
+0467 704b8101 jam 1 ,mem_mouse_retry_flag 
+0468 6fe24b81 fetch 1 ,mem_24g_get_ack_fail 
+0469 1fe0fe01 increase 1 ,pdata 
+046a 67e24b81 store 1 ,mem_24g_get_ack_fail 
+046b 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+046c c0ff8490 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+046d 6fe24b81 fetch 1 ,mem_24g_get_ack_fail 
+046e c07f847d beq 0xff ,p_g24_long_sleep_setup 
+046f 6fe24b81 fetch 1 ,mem_24g_get_ack_fail 
+0470 d8400010 arg 16 ,temp 
+0471 98467c00 isub temp ,null 
+0472 20210542 branch p_g24_ch ,positive 
+0473 6fe24b81 fetch 1 ,mem_24g_retry 
+0474 1fe0fe01 increase 1 ,pdata 
+0475 67e24b81 store 1 ,mem_24g_retry 
+0476 2000000a nop 10 
+0477 c0838458 bne retry_24g ,p_g24_transmit_loop 
+0478 20200542 branch p_g24_ch 
+
+p_g24_clear_txbuf:
+0479 58000000 setarg 0 
+047a 67e00b1e store 32 ,mem_24g_txbuf 
+047b 67e04b81 store 32 ,mem_24g_txbuf_new 
+047c 20600000 rtn 
+
+p_g24_long_sleep_setup:
+047d 20400491 call p_g24_stop_g24_mode 
+047e 704b8100 jam 0 ,mem_mouse_retry_flag 
+047f 20400479 call p_g24_clear_txbuf 
+0480 704b8100 jam 0 ,mem_24g_get_ack_fail 
+0481 6fe84b81 fetch 4 ,mem_24g_enter_hibernate_max 
+0482 67e84b81 store 4 ,mem_24g_enter_hibernate_setup 
+0483 20600000 rtn 
+
+p_g24_paring_mode_start:
+0484 202004ce branch p_g24_paring_mode 
+
+p_g24_transmit_receive_ack:
+0485 7857fc00 disable user3 
+0486 2040059b call p_g24_transmit 
+0487 18002a00 force 0 ,radio_ctrl 
+0488 6fe84b81 fetch 4 ,mem_24g_addr 
+0489 98001200 iforce access 
+048a 68420017 fetcht 1 ,mem_last_freq 
+048b 2040491c call set_freq_rx 
+048c 20404921 call rf_rx_enable 
+048d 2040055a call p_g24_receive_rxon 
+048e 20578595 call p_g24_end_of_packet ,user3 
+048f 20600000 rtn 
+
+p_g24_tx_paring_retry:
+0490 20600000 rtn 
+
+p_g24_stop_g24_mode:
+0491 704b8100 jam 0 ,mem_mouse_retry_flag 
+0492 700a953a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0493 20207bab branch ui_ipc_send_event 
+
+p_g24_ackpayload_parse:
+0494 20400503 call p_g24_read_len_pid_crc 
+0495 6fe24b81 fetch 1 ,mem_24g_rxdata_length 
+0496 207a0000 rtn blank 
+0497 98007200 iforce loopcnt 
+0498 2040049c call p_24g_kb_led 
+0499 d8c00b20 arg mem_24g_rxbuf + 2 ,contr 
+049a d8a00b1e arg mem_24g_rxpayload ,contw 
+049b 20207cdc branch memcpy 
+
+p_24g_kb_led:
+049c 6fe20b1f fetch 1 ,mem_24g_rxbuf + 1 
+049d 2fe1f008 compare 0x08 ,pdata ,0xf8 
+049e 24608000 nrtn true 
+049f 6fe20b20 fetch 1 ,mem_24g_rxbuf + 2 
+04a0 c07f84a3 beq 0xff ,p_pc_sleep_opcode 
+04a1 700affc3 jam hci_event_24g_receive_lock ,mem_module_uart_opcode 
+04a2 202004a4 branch p_pre_send_num 
+
+p_pc_sleep_opcode:
+04a3 700affc4 jam hci_event_24g_pc_sleep ,mem_module_uart_opcode 
+
+p_pre_send_num:
+04a4 58000001 setarg 1 
+04a5 204050a5 call module_hci_prepare_tx 
+04a6 68420b20 fetcht 1 ,mem_24g_rxbuf + 2 
+04a7 e042000a istoret 1 ,contwu 
+04a8 204067b9 call uartd_send 
+04a9 704b8100 jam 0 ,mem_24g_led_flag 
+04aa 20600000 rtn 
+
+p_g24_start_pairing_sm1:
+04ab 79200026 set1 mark_24g ,mark 
+04ac 204004b0 call p_g24_pair_init 
+04ad 20400463 call p_g24_transmit_abandon 
+04ae 704b8101 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+04af 20600000 rtn 
+
+p_g24_pair_init:
+04b0 704b8100 jam 0 ,mem_24g_pid 
+04b1 704b814e jam g24_pair_ch ,mem_24g_ch 
+04b2 6fe84b81 fetch 4 ,mem_24g_paring_addr 
+04b3 20200515 branch p_g24_update_addr_and_synccrc8 
+
+p_g24_pairing_sm:
+04b4 204004b0 call p_g24_pair_init 
+04b5 6fe24b81 fetch 1 ,mem_24g_ensure 
+04b6 c000fdbf beq ensure_on_24g ,enable_user 
+04b7 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+04b8 c00084bc beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+04b9 c00104bf beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+04ba c00184c2 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+04bb 20204a8b branch assert 
+
+p_g24_pairing_sm_1:
+04bc 704b8111 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+04bd 700f1eaa jam 0xaa ,mem_24g_common_temp 
+04be 202004c4 branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_2:
+04bf 704b8112 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+04c0 700f1e55 jam 0x55 ,mem_24g_common_temp 
+04c1 202004c4 branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_3:
+04c2 704b8113 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+04c3 700f1e22 jam 0x22 ,mem_24g_common_temp 
+
+p_g24_pairing_sm_common:
+04c4 700f1f02 jam 0x02 ,mem_24g_common_temp + 1 
+04c5 6fe84b81 fetch 4 ,mem_24g_device_addr 
+04c6 67e80f20 store 4 ,mem_24g_common_temp + 2 
+04c7 700f2400 jam 0 ,mem_24g_common_temp + 6 
+04c8 da200f1e arg mem_24g_common_temp ,rega 
+04c9 d8400007 arg 7 ,temp 
+04ca 204004fe call p_g24_put_data_in_buff 
+04cb 20400523 call p_g24_transmit_prep 
+04cc 20400436 call p_g24_txdata_enable_tx 
+04cd 20207dbf branch enable_user 
+
+p_g24_paring_mode:
+04ce 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+04cf c17f8000 rtneq state_24g_pairing_success 
+04d0 c00884d4 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+04d1 c00904d6 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+04d2 c00984d8 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+04d3 20600000 rtn 
+
+p_g24_pairing_sm_1_waiting_ack:
+04d4 704b8102 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+04d5 20200463 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_2_waiting_ack:
+04d6 704b8103 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+04d7 20200463 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_3_waiting_ack:
+04d8 704b81ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+04d9 700a9539 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+04da 20407bab call ui_ipc_send_event 
+04db 6fe80b20 fetch 4 ,mem_24g_rxpayload + 2 
+04dc 20400515 call p_g24_update_addr_and_synccrc8 
+04dd 20200463 branch p_g24_transmit_abandon 
+
+p_g24_start_24g_mode:
+04de c6130000 rtnmark1 mark_24g 
+04df 20400516 call p_g24_syncword_crc8 
+04e0 20400542 call p_g24_ch 
+04e1 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+04e2 c1ff8000 rtnne state_24g_pairing_success 
+04e3 204004f0 call p_g24_tx_attemp_data_prep 
+04e4 58000000 setarg 0 
+04e5 67e44b81 store 2 ,mem_24g_check_dongle_times 
+
+p_g24_tx_attemp_dongle_loop:
+04e6 20404ad8 call lpo_calibration 
+04e7 200007d0 nop 2000 
+04e8 6fe24b81 fetch 1 ,mem_24g_check_dongle_times 
+04e9 c07f8491 beq 0xff ,p_g24_stop_g24_mode 
+04ea 20400485 call p_g24_transmit_receive_ack 
+04eb 243784f9 nbranch p_g24_attemp_txdata_retry ,user3 
+
+p_g24_tx_attemp_dongle_succ:
+04ec 20400479 call p_g24_clear_txbuf 
+04ed 79200026 set1 mark_24g ,mark 
+04ee 700a953c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+04ef 20207bab branch ui_ipc_send_event 
+
+p_g24_tx_attemp_data_prep:
+04f0 700f1eff jam 0xff ,mem_24g_common_temp 
+04f1 6fe24b81 fetch 1 ,mem_24g_data_type 
+04f2 67e20f1f store 1 ,mem_24g_common_temp + 1 
+04f3 6fe84b81 fetch 4 ,mem_24g_device_addr 
+04f4 67e80f20 store 4 ,mem_24g_common_temp + 2 
+04f5 d8400006 arg 6 ,temp 
+04f6 da200f1e arg mem_24g_common_temp ,rega 
+04f7 204004fe call p_g24_put_data_in_buff 
+04f8 20200523 branch p_g24_transmit_prep 
+
+p_g24_attemp_txdata_retry:
+04f9 6fe44b81 fetch 2 ,mem_24g_check_dongle_times 
+04fa 1fe0fe01 increase 1 ,pdata 
+04fb 67e44b81 store 2 ,mem_24g_check_dongle_times 
+04fc 20400542 call p_g24_ch 
+04fd 202004e6 branch p_g24_tx_attemp_dongle_loop 
+
+p_g24_put_data_in_buff:
+04fe 60424b81 storet 1 ,mem_24g_datalen 
+04ff 18427200 copy temp ,loopcnt 
+0500 d8a00b1e arg mem_24g_txbuf ,contw 
+0501 1a220c00 copy rega ,contr 
+0502 20207cdc branch memcpy 
+
+p_g24_read_len_pid_crc:
+0503 6fe20b1f fetch 1 ,mem_24g_rxbuf + 1 
+0504 1fe97e00 rshift3 pdata ,pdata 
+0505 67e24b81 store 1 ,mem_24g_rxdata_length 
+0506 1fe0fe01 increase 1 ,pdata 
+0507 d8c00b1f arg mem_24g_rxbuf + 1 ,contr 
+0508 98c08c00 iadd contr ,contr 
+0509 efe60006 ifetch 3 ,contr 
+050a 67e64b81 store 3 ,mem_24g_sta_crc 
+050b 20600000 rtn 
+
+p_rssi_signal:
+050c 68424b96 fetcht 1 ,mem_rssi_signal_index 
+050d 58004b85 setarg mem_rssi_signal_buf 
+050e 98408a00 iadd temp ,contw 
+050f 1a227e00 copy rega ,pdata 
+0510 e7e20005 istore 1 ,contw 
+0511 18408401 increase 1 ,temp 
+0512 18410407 and_into rssi_buf_len_signal ,temp 
+0513 60424b96 storet 1 ,mem_rssi_signal_index 
+0514 20600000 rtn 
+
+p_g24_update_addr_and_synccrc8:
+0515 67e84b81 store 4 ,mem_24g_addr 
+
+p_g24_syncword_crc8:
+0516 da200000 arg 0 ,rega 
+0517 df200004 arg 4 ,loopcnt 
+0518 d8c04b81 arg mem_24g_addr ,contr 
+
+p_g24_syncword_crc8_loop:
+0519 efe20006 ifetch 1 ,contr 
+051a 9a20a200 iadd rega ,rega 
+051b c2000519 loop p_g24_syncword_crc8_loop 
+051c 1a227e00 copy rega ,pdata 
+051d 67e44b81 store 2 ,mem_24g_syncword 
+051e 6fe24b81 fetch 1 ,mem_24g_syncword 
+051f 68424b82 fetcht 1 ,mem_24g_syncword + 1 
+0520 9840fe00 iadd temp ,pdata 
+0521 67e24b81 store 1 ,mem_24g_syncword_crc8 
+0522 20600000 rtn 
+
+p_g24_transmit_prep:
+0523 6fe24b81 fetch 1 ,mem_24g_datalen 
+0524 1fe0fe02 increase 2 ,pdata 
+0525 67e24b81 store 1 ,mem_24g_txlen 
+0526 6fe24b81 fetch 1 ,mem_24g_data_type 
+0527 67e20b1e store 1 ,mem_24g_txpayload 
+0528 6fe24b81 fetch 1 ,mem_24g_datalen 
+0529 1fe9fe00 lshift3 pdata ,pdata 
+052a 68424b81 fetcht 1 ,mem_24g_pid 
+052b 18410403 and temp ,0x03 ,temp 
+052c 18438400 lshift temp ,temp 
+052d 9841fe00 ior temp ,pdata 
+052e 68424b81 fetcht 1 ,mem_24g_no_ack 
+052f 9840fe00 iadd temp ,pdata 
+0530 e7e20005 istore 1 ,contw 
+0531 6fe24b81 fetch 1 ,mem_24g_pairing_sm 
+0532 c0ff8535 bne state_24g_pairing_success ,p_g24_transmit_prep_pair 
+0533 6fe24b81 fetch 1 ,mem_24g_data_type 
+0534 e7e20005 istore 1 ,contw 
+
+p_g24_transmit_prep_pair:
+0535 6fe24b81 fetch 1 ,mem_24g_datalen 
+0536 98007200 iforce loopcnt 
+0537 6fe24b81 fetch 1 ,mem_24g_data_type 
+0538 c0008540 beq 1 ,p_g24_transmit_prep_mouse 
+0539 d8c00b1e arg mem_24g_txbuf ,contr 
+053a 20407cdc call memcpy 
+053b 6fe20b1e fetch 1 ,mem_24g_txbuf 
+053c c001853e beq 0x03 ,p_g24_multi_key_setup 
+053d 20600000 rtn 
+
+p_g24_multi_key_setup:
+053e 700b1e02 jam 0x02 ,mem_24g_txbuf 
+053f 20600000 rtn 
+
+p_g24_transmit_prep_mouse:
+0540 d8c00b1f arg mem_24g_txbuf + 1 ,contr 
+0541 20207cdc branch memcpy 
+
+p_g24_ch:
+0542 68424b81 fetcht 1 ,mem_24g_current_ch_number 
+0543 20400548 call p_g24_ch_calc 
+0544 18408401 increase 1 ,temp 
+0545 18410403 and_into 3 ,temp 
+0546 60424b81 storet 1 ,mem_24g_current_ch_number 
+0547 20600000 rtn 
+
+p_g24_ch_calc:
+0548 6fe24b81 fetch 1 ,mem_24g_addr 
+0549 1fe17e03 and_into 0x03 ,pdata 
+054a 1fefa204 mul32 pdata ,4 ,rega 
+054b 58004b81 setarg mem_24g_ch_map1 
+054c 9a20fe00 iadd rega ,pdata 
+054d 98408c00 iadd temp ,contr 
+054e efe20006 ifetch 1 ,contr 
+054f 67e24b81 store 1 ,mem_24g_ch 
+0550 20600000 rtn 
+
+p_g24_prep:
+0551 7844fc00 disable enable_crc 
+0552 7843fc00 disable enable_white 
+0553 58555555 setarg 0x555555 
+0554 98001e00 iforce crc24_init 
+0555 6fe24b81 fetch 1 ,mem_24g_ch 
+0556 1fed8400 reverse pdata ,temp 
+0557 79200401 set1 1 ,temp 
+0558 18431c00 rshift temp ,white_init 
+0559 20600000 rtn 
+
+p_g24_receive_rxon:
+055a 20400551 call p_g24_prep 
+055b 7826fc00 enable decode_fec0 
+055c 7830fc00 enable is_rx 
+055d 78507c00 disable is_tx 
+055e 78287c00 enable swfine 
+055f 6fe44b81 fetch 2 ,mem_24g_rx_window 
+0560 98003600 iforce stop_watch 
+0561 37c18400 correlate null ,timeout 
+0562 242c0595 nbranch p_g24_sync_timeout ,sync 
+0563 7846fc00 disable decode_fec0 
+0564 7825fc00 enable decode_fec1 
+0565 7823fc00 enable enable_white 
+0566 7824fc00 enable enable_crc 
+0567 09800008 parse demod ,bucket ,8 
+0568 19897e00 rshift3 pwindow ,pdata 
+0569 67e24b81 store 1 ,mem_24g_get_syncword_crc8 
+056a 68424b81 fetcht 1 ,mem_24g_syncword_crc8 
+056b 98467c00 isub temp ,null 
+056c 24228595 nbranch p_g24_end_of_packet ,zero 
+056d 09800008 parse demod ,bucket ,8 
+056e 19897e00 rshift3 pwindow ,pdata 
+056f 67e20b1e store 1 ,mem_24g_rxbuf 
+0570 6fe20b1e fetch 1 ,mem_24g_rxbuf 
+0571 68424b81 fetcht 1 ,mem_24g_data_type 
+0572 a8400e00 icompare bits_data ,temp 
+0573 24208595 nbranch p_g24_end_of_packet ,true 
+
+p_g24_receive_skip:
+0574 09800008 parse demod ,bucket ,8 
+0575 19897e00 rshift3 pwindow ,pdata 
+0576 e7e20005 istore 1 ,contw 
+0577 1fe97e00 rshift3 pdata ,pdata 
+0578 1fe1721f and pdata ,0x1f ,loopcnt 
+0579 2022857e branch p_g24rx_nopayload ,zero 
+
+p_g24rx_loop:
+057a 09800008 parse demod ,bucket ,8 
+057b 19897e00 rshift3 pwindow ,pdata 
+057c e7e20005 istore 1 ,contw 
+057d c200057a loop p_g24rx_loop 
+
+p_g24rx_nopayload:
+057e 18a22200 copy contw ,rega 
+057f 09800008 parse demod ,bucket ,8 
+0580 19897e00 rshift3 pwindow ,pdata 
+0581 67e24b84 store 1 ,mem_rssi_hex_received 
+0582 1a220a00 copy rega ,contw 
+0583 09800018 parse demod ,bucket ,24 
+0584 78287c00 enable swfine 
+0585 db600664 arg param_sifs ,stop_watch 
+0586 1fef7e00 rshift32 pdata ,pdata 
+0587 1ff17e00 rshift16 pdata ,pdata 
+0588 e7e60005 istore 3 ,contw 
+0589 7845fc00 disable decode_fec1 
+058a 20230595 branch p_g24_end_of_packet ,crc_failed 
+058b 7837fc00 enable user3 
+058c 6fe20017 fetch 1 ,mem_last_freq 
+058d 1fe0a200 add pdata ,0 ,rega 
+058e 20404980 call rf_write_freq 
+058f 7846fc00 disable decode_fec0 
+0590 20404915 call set_sync_on 
+0591 6fe24b84 fetch 1 ,mem_rssi_hex_received 
+0592 1fe22200 copy pdata ,rega 
+0593 2040050c call p_rssi_signal 
+0594 20600000 rtn 
+
+p_g24_sync_timeout:
+
+p_g24_end_of_packet:
+0595 784dfc00 disable encode_fec1 
+0596 7845fc00 disable decode_fec1 
+0597 20204649 branch end_of_packet 
+
+p_g24_set_freq_tx:
+0598 20404915 call set_sync_on 
+0599 68424b81 fetcht 1 ,mem_24g_ch 
+059a 20204930 branch set_freq_tx 
+
+p_g24_transmit:
+059b 2040579e call le_enable 
+059c 6fe84b81 fetch 4 ,mem_24g_addr 
+059d 98001200 iforce access 
+059e 20400551 call p_g24_prep 
+059f 20400598 call p_g24_set_freq_tx 
+05a0 79202a00 set1 txgfsk ,radio_ctrl 
+05a1 782efc00 enable encode_fec0 
+05a2 78307c00 enable is_tx 
+05a3 7850fc00 disable is_rx 
+05a4 19317e00 rshift16 access ,pdata 
+05a5 1fecfe00 rshift8 pdata ,pdata 
+05a6 1ff1fe00 rshift4 pdata ,pdata 
+05a7 08008628 inject mod ,40 
+05a8 784efc00 disable encode_fec0 
+05a9 782dfc00 enable encode_fec1 
+05aa 7823fc00 enable enable_white 
+05ab 7824fc00 enable enable_crc 
+05ac 6fe24b81 fetch 1 ,mem_24g_syncword_crc8 
+05ad 08008608 inject mod ,8 
+05ae 6fe24b81 fetch 1 ,mem_24g_txlen 
+05af 98007200 iforce loopcnt 
+05b0 d8c00b1e arg mem_24g_txpayload ,contr 
+
+p_g24tr_loop:
+05b1 efe20006 ifetch 1 ,contr 
+05b2 08008608 inject mod ,8 
+05b3 c20005b1 loop p_g24tr_loop 
+05b4 78247c00 enable enable_parity 
+05b5 08008618 inject mod ,24 
+05b6 78447c00 disable enable_parity 
+05b7 37d38200 until null ,tx_clear 
+05b8 20000064 nop 100 
+05b9 784efc00 disable encode_fec0 
+05ba 784dfc00 disable encode_fec1 
+05bb 20600000 rtn 
+
+p_keyboard_ble_init:
+05bc 58000025 setarg 0x25 
+05bd 67e444cc store 2 ,mem_le_pairing_handle 
+05be 20405bf0 call le_set_config_fixed_ltk 
+05bf 20405c0c call le_set_fixed_ltk 
+05c0 20405c19 call le_set_justwork 
+05c1 20205bf8 branch le_set_config_read_authentication 
+
+p_le_transmit_receive_sifs:
+05c2 204058a3 call le_transmit 
+05c3 20404915 call set_sync_on 
+05c4 68420017 fetcht 1 ,mem_last_freq 
+05c5 2040491c call set_freq_rx 
+05c6 200005dc nop 1500 
+05c7 20404921 call rf_rx_enable 
+05c8 78287c00 enable swfine 
+05c9 d960157c arg 5500 ,timeup 
+05ca 20205869 branch le_receive_rxon 
+
+p_le_receive_skip:
+05cb 204049ba call save_rssi 
+05cc 7823fc00 enable enable_white 
+05cd 7824fc00 enable enable_crc 
+05ce 09800008 parse demod ,bucket ,8 
+05cf 19897e00 rshift3 pwindow ,pdata 
+05d0 67e202d5 store 1 ,mem_le_rxbuf 
+05d1 09800008 parse demod ,bucket ,8 
+05d2 19897e00 rshift3 pwindow ,pdata 
+05d3 e7e20005 istore 1 ,contw 
+05d4 1fe27200 copy pdata ,loopcnt 
+05d5 203a588b branch lerx_nopayload ,blank 
+05d6 20205887 branch lerx_loop 
+
+p_le_parse:
+05d7 c6078000 rtnmark1 mark_old_packet 
+05d8 20405c70 call le_fifo_check_full 
+05d9 247a0000 nrtn blank 
+05da 6fe202d5 fetch 1 ,mem_le_rxbuf 
+05db 1fe17e03 and pdata ,0x3 ,pdata 
+05dc 67e244de store 1 ,mem_le_packet_llid 
+05dd efe20006 ifetch 1 ,contr 
+05de 67e244dd store 1 ,mem_le_packet_size 
+05df 207a0000 rtn blank 
+05e0 18c27e00 copy contr ,pdata 
+05e1 67e444df store 2 ,mem_le_payload_ptr 
+05e2 6fe244de fetch 1 ,mem_le_packet_llid 
+05e3 c001e044 beq llid_le_ll ,le_parse_ll 
+05e4 20405a76 call le_check_l2cap_complete 
+05e5 d8e00003 arg wake_lock_ble_rx_patch ,queue 
+05e6 24344bec nbranch lpm_get_wake_lock ,user 
+05e7 20404bf0 call lpm_put_wake_lock 
+05e8 20205a6b branch le_parse_l2cap + 3 
+
+p_le_parse_l2cap:
+05e9 efe40006 ifetch 2 ,contr 
+05ea c0025c8b beq le_l2cap_cid_att ,le_parse_att 
+05eb c0035ed4 beq le_l2cap_cid_smp ,le_parse_smp 
+05ec c002de96 beq le_l2cap_cid_signal ,le_parse_signaling 
+05ed 20600000 rtn 
+
+p_le_acknowledge:
+05ee 20405ac9 call le_supervision_flush 
+05ef 2040599a call le_check_wak 
+05f0 6fe202d5 fetch 1 ,mem_le_rxbuf 
+05f1 2feffe04 isolate1 md ,pdata 
+05f2 7920802a setflag true ,mark_ble_rx_md ,mark 
+05f3 1fe37e00 rshift pdata ,pdata 
+05f4 9842fe00 ixor temp ,pdata 
+05f5 2feffe02 isolate1 nesn ,pdata 
+05f6 7920800f setflag true ,mark_old_packet ,mark 
+05f7 c6078000 rtnmark1 mark_old_packet 
+05f8 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+05f9 203a5996 branch le_ack_unenc ,blank 
+05fa 6fe2043b fetch 1 ,mem_le_state 
+05fb c3025996 bbit0 lestate_encryption ,le_ack_unenc 
+05fc 20407342 call load_sk 
+05fd 204072b2 call le_decrypt 
+05fe 7d3a000f nsetflag blank ,mark_old_packet ,mark 
+05ff 247a0000 nrtn blank 
+0600 20205996 branch le_ack_unenc 
+
+p_module_hci_event_start_enc:
+0601 700affb3 jam hci_event_ble_hid_connect ,mem_module_uart_opcode 
+0602 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+p_module_hci_event_enc_info:
+0603 700affb4 jam hci_event_ble_enc_info ,mem_module_uart_opcode 
+0604 5800001c setarg 28 
+0605 204050a5 call module_hci_prepare_tx 
+0606 6fec4472 fetch 6 ,mem_le_lap 
+0607 e7ec000a istore 6 ,contwu 
+0608 6fec044b fetch 6 ,mem_le_plap 
+0609 e7ec000a istore 6 ,contwu 
+060a d8c043eb arg mem_le_ltk ,contr 
+060b df200010 arg 16 ,loopcnt 
+060c 204067d4 call uart_copy_tx_bytes 
+060d 202067b9 branch uartd_send 
+
+classic_shutter_process_baseband_connect:
+060e 704b7f00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+060f 704b7e00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0610 700affb9 jam hci_evnet_bb_conn ,mem_module_uart_opcode 
+0611 58000001 setarg 1 
+0612 204050a5 call module_hci_prepare_tx 
+0613 58000000 setarg 0x00 
+0614 e7e2000a istore 1 ,contwu 
+0615 204067b9 call uartd_send 
+0616 20600000 rtn 
+
+classic_shutter_process_baseband_disconnect:
+0617 704bdb01 jam 1 ,mem_test_data 
+0618 20404e2f call module_disconn_start 
+0619 20400620 call classic_shutter_disconnect_clear_flag 
+061a 6fe44652 fetch 2 ,mem_ui_state_map 
+061b c4060000 rtnbit0 ui_state_bt_hid_connect 
+061c 793ffe0c set0 ui_state_bt_hid_connect ,pdata 
+061d 67e44652 store 2 ,mem_ui_state_map 
+061e 700affb6 jam hci_event_bt_hid_disconnect ,mem_module_uart_opcode 
+061f 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+classic_shutter_disconnect_clear_flag:
+0620 7041e300 jam app_handshake_null ,mem_app_handshake_flag 
+0621 70465000 jam 0 ,mem_hid_handshake_timer_count 
+0622 70420400 jam 0 ,mem_unsniff2sniff_timer_count 
+0623 704b7e00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0624 704b7f00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0625 20600000 rtn 
+
+classic_shutter_process_reconnect_failed:
+0626 20404e2f call module_disconn_start 
+0627 700affb1 jam hci_event_bt_reconnect_fail ,mem_module_uart_opcode 
+0628 58000001 setarg 1 
+0629 204050a5 call module_hci_prepare_tx 
+062a 58000000 setarg 0x00 
+062b e7e2000a istore 1 ,contwu 
+062c 204067b9 call uartd_send 
+062d 20204d34 branch app_disconn_reason_clear 
+
+classic_shutter_process_setup_complete:
+062e 20200134 branch keyboard_stop_bluetooth_discovery 
+
+classic_shutter_process_hid_connect:
+062f 58000002 setarg hid_handshake_timeout 
+0630 67e24650 store 1 ,mem_hid_handshake_timer_count 
+0631 20600000 rtn 
+
+classic_shutter_process_hid_disconnect:
+0632 6fe44652 fetch 2 ,mem_ui_state_map 
+0633 793ffe0c set0 ui_state_bt_hid_connect ,pdata 
+0634 67e44652 store 2 ,mem_ui_state_map 
+0635 700affb6 jam hci_event_bt_hid_disconnect ,mem_module_uart_opcode 
+0636 2040504e call module_hci_event_enter_standby_mode_len0 
+0637 704b7e00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0638 58000001 setarg flag_shutter_hid_disconn_timeout 
+0639 67e24b7f store 1 ,mem_classic_shutter_hid_disconn_count 
+063a 20600000 rtn 
+
+classic_shutter_process_hid_handshake:
+063b 6fe241e3 fetch 1 ,mem_app_handshake_flag 
+063c c1008000 rtneq app_handshake_done 
+063d 6fe44652 fetch 2 ,mem_ui_state_map 
+063e 79207e0c set1 ui_state_bt_hid_connect ,pdata 
+063f 67e44652 store 2 ,mem_ui_state_map 
+0640 700affb0 jam hci_event_bt_hid_connect ,mem_module_uart_opcode 
+0641 2040504e call module_hci_event_enter_standby_mode_len0 
+0642 7041e301 jam app_handshake_done ,mem_app_handshake_flag 
+0643 20400134 call keyboard_stop_bluetooth_discovery 
+0644 20204d89 branch app_bt_enter_sniff 
+
+classic_shutter_process_reconnect_page_timeout:
+0645 20200626 branch classic_shutter_process_reconnect_failed 
+
+classic_shutter_process_virtual_cable_unplug:
+0646 58000005 setarg flag_shutter_cable_unplug_timeout 
+0647 67e24b7e store 1 ,mem_classic_shutter_cable_unplug_conut 
+0648 20600000 rtn 
+
+classic_shutter_process_remote_unsniff:
+0649 20204d48 branch app_start_auto_sniff 
+
+classic_shutter_process_store_reconnect_information:
+064a 20600000 rtn 
+
+classic_shutter_process_linkkey_generate:
+064b 2020064c branch p_module_hci_event_bt_enc_info 
+
+p_module_hci_event_bt_enc_info:
+064c 700affb5 jam hci_event_bt_enc_info ,mem_module_uart_opcode 
+064d 5800001c setarg 28 
+064e 204050a5 call module_hci_prepare_tx 
+064f 6fec40a0 fetch 6 ,mem_lap 
+0650 e7ec000a istore 6 ,contwu 
+0651 6fec0040 fetch 6 ,mem_plap 
+0652 e7ec000a istore 6 ,contwu 
+0653 d8c041bf arg mem_link_key ,contr 
+0654 df200010 arg 16 ,loopcnt 
+0655 204067d4 call uart_copy_tx_bytes 
+0656 202067b9 branch uartd_send 
+
+classic_shutter_check_unplug_timer:
+0657 da604b7e arg mem_classic_shutter_cable_unplug_conut ,regc 
+0658 da40065a arg classic_shutter_unplug_timeout ,regb 
+0659 20204d04 branch timer_single_step 
+
+classic_shutter_unplug_timeout:
+065a 6fe2027b fetch 1 ,mem_control_tasks 
+065b 79207e00 set1 l2cap_disconnect_interrupt ,pdata 
+065c 79207e07 set1 l2cap_disconnect_control ,pdata 
+065d 67e2027b store 1 ,mem_control_tasks 
+065e 20600000 rtn 
+
+classic_shutter_hid_handshake_timer:
+065f da604650 arg mem_hid_handshake_timer_count ,regc 
+0660 da40063b arg classic_shutter_process_hid_handshake ,regb 
+0661 20204d04 branch timer_single_step 
+
+classic_shutter_hid_disconn_timer:
+0662 da604b7f arg mem_classic_shutter_hid_disconn_count ,regc 
+0663 da400665 arg p_app_bt_disconnect ,regb 
+0664 20204d04 branch timer_single_step 
+
+p_app_bt_disconnect:
+0665 700aff99 jam 0x99 ,mem_module_uart_opcode 
+0666 2040504e call module_hci_event_enter_standby_mode_len0 
+0667 20204d64 branch app_bt_disconnect 
+
+bt_keyboard_send_hid_data:
+0668 2040564b call l2cap_malloc_is_fifo_nearly_full 
+0669 247a0000 nrtn blank 
+066a 6fe20b00 fetch 1 ,mem_module_uart_len 
+066b 1fe0a201 add pdata ,1 ,rega 
+066c 2040513d call hid_malloc_tx_buff 
+066d 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+066e e7e40005 istore 2 ,contw 
+066f 580000a1 setarg 0xa1 
+0670 e7e20005 istore 1 ,contw 
+0671 6fe20b00 fetch 1 ,mem_module_uart_len 
+0672 1fe27200 copy pdata ,loopcnt 
+0673 204067ed call uart_copy_rx_bytes 
+0674 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_moudle_hci_cmd_creat_bt_reconnect:
+0675 efec0003 ifetch 6 ,contru 
+0676 67ec41d1 store 6 ,mem_hci_plap 
+0677 efe40003 ifetch 2 ,contru 
+0678 67e440b9 store 2 ,mem_page_to 
+0679 d8a041bf arg mem_link_key ,contw 
+067a df200010 arg 16 ,loopcnt 
+067b 204067ed call uart_copy_rx_bytes 
+067c 204068be call check_link_key_load 
+067d 20400134 call keyboard_stop_bluetooth_discovery 
+067e 20404d5c call app_bt_start_reconnect 
+067f 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_hid_rx_process:
+0680 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+0681 1fe20c00 copy pdata ,contr 
+0682 efe20006 ifetch 1 ,contr 
+0683 1fe1040f and pdata ,0x0f ,temp 
+0684 1ff1fe00 rshift4 pdata ,pdata 
+0685 c004d12d beq hid_type_set_idle ,hid_rx_process_handshake 
+0686 c003d12d beq hid_type_set_protocol ,hid_rx_process_handshake 
+0687 c005068c beq hid_type_data ,p_hid_rx_process_data 
+0688 c00286a0 beq hid_type_set_report ,p_hid_rx_process_set_report 
+0689 c00086a2 beq hid_type_control ,p_hid_rx_process_hid_control 
+068a c002512d beq hid_type_get_report ,hid_rx_process_handshake 
+068b 20600000 rtn 
+
+p_hid_rx_process_data:
+068c 20200691 branch p_hid_rx_process_out_data 
+068d efe40006 ifetch 2 ,contr 
+068e 67e40a96 store 2 ,mem_pdatatemp 
+068f c000869a beq hid_report_id_kb ,p_hid_rx_process_data_hid_kb 
+0690 20600000 rtn 
+
+p_hid_rx_process_out_data:
+0691 700affb2 jam hci_event_receive_bt_hid_data ,mem_module_uart_opcode 
+0692 6fe40262 fetch 2 ,mem_l2cap_rx_pkt_length 
+0693 1fe0ffff pincrease -1 
+0694 1fe27200 icopy loopcnt 
+0695 204050a5 call module_hci_prepare_tx 
+0696 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+0697 1fe20c00 icopy contr 
+0698 204067c1 call uart_copy_tx_bytes_fast 
+0699 202067b9 branch uartd_send 
+
+p_hid_rx_process_data_hid_kb:
+069a 700affb2 jam hci_event_receive_bt_hid_data ,mem_module_uart_opcode 
+069b 58000002 setarg 2 
+069c 204050a5 call module_hci_prepare_tx 
+069d 6fe40a96 fetch 2 ,mem_pdatatemp 
+069e e7e4000a istore 2 ,contwu 
+069f 202067b9 branch uartd_send 
+
+p_hid_rx_process_set_report:
+06a0 2040068c call p_hid_rx_process_data 
+06a1 20205126 branch hid_rx_process_set_report + 1 
+
+p_hid_rx_process_hid_control:
+06a2 18427e00 copy temp ,pdata 
+06a3 c002d11e beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+06a4 704b8001 jam 1 ,mem_suspend_flag 
+06a5 c001d12d beq hid_control_p_suspend ,hid_rx_process_handshake 
+06a6 704b8000 jam 0 ,mem_suspend_flag 
+06a7 c002512d beq hid_control_p_exitsuspend ,hid_rx_process_handshake 
+06a8 20600000 rtn 
+              org 0x4000
+
+start:
+4000 20404abb call lpmstate 
+
+soft_reset:
+4001 44804000 bpatch patch00_0 ,mem_patch00 
+4002 20800000 clear_stack 
+4003 2040496a call initialize_radio 
+4004 20404a95 call init_param 
+4005 20405144 call l2cap_init 
+4006 4480c000 bpatch patch00_1 ,mem_patch00 
+4007 204068c4 call rfcomm_init 
+4008 204060d7 call init_lmp 
+4009 20407b81 call ui_init 
+400a 20404c77 call app_init 
+400b 44814000 bpatch patch00_2 ,mem_patch00 
+400c 2055cc7c call app_lpm_init ,wake 
+400d 2040741f call publickey_init 
+400e 2055cb1d call lpm_recover_clk ,wake 
+
+main_loop:
+400f 4481c000 bpatch patch00_3 ,mem_patch00 
+4010 20407591 call sp_calc_sequence 
+4011 20407964 call sp_calc_sequence_256 
+4012 20407422 call sp_calc_sequence_256_check 
+4013 20405736 call le_dispatch 
+4014 44824000 bpatch patch00_4 ,mem_patch00 
+4015 20404034 call idle_dispatch 
+4016 20404c86 call app_process_idle 
+4017 2040408b call inquiry_dispatch 
+4018 204042f4 call inquiry_scan_dispatch 
+4019 20404366 call page_scan_dispatch 
+401a 2040401d call connection_dispatch 
+401b 20404b3f call lpm_dispatch 
+401c 2020400f branch main_loop 
+
+connection_dispatch:
+401d 20404022 call connection_incontext 
+401e c6848000 rtnmark0 mark_context 
+401f 793f8009 set0 mark_context ,mark 
+4020 2040421f call context_save 
+4021 202057a8 branch le_disable 
+
+connection_incontext:
+4022 4482c000 bpatch patch00_5 ,mem_patch00 
+4023 2040425a call context_search_insniff 
+4024 2422c02b nbranch connection_nosniff ,zero 
+4025 20404206 call context_load 
+4026 1a208c01 add rega ,coffset_mode ,contr 
+4027 efe20006 ifetch 1 ,contr 
+4028 c280573a bbit1 mode_le ,le_conn_dispatch 
+4029 c280c162 bbit1 mode_master ,master_dispatch 
+402a 202043cb branch slave_dispatch 
+
+connection_nosniff:
+402b 20404227 call context_get_next 
+402c 1f227c00 copy loopcnt ,null 
+402d 20628000 rtn zero 
+402e 20404206 call context_load 
+402f 6fe20030 fetch 1 ,mem_state 
+4030 c281c0cf bbit1 state_inpage ,master_page 
+4031 6fe20031 fetch 1 ,mem_mode 
+4032 c280c162 bbit1 mode_master ,master_dispatch 
+4033 202043cb branch slave_dispatch 
+
+idle_dispatch:
+4034 6fe241cf fetch 1 ,mem_hci_cmd 
+4035 207a0000 rtn blank 
+4036 c000c044 beq hci_cmd_inquiry ,idle_inquiry 
+4037 c0014049 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+4038 c001c04c beq hci_cmd_remote_name_req ,idle_remote_name_req 
+4039 c002c051 beq hci_cmd_create_conn ,idle_create_conn 
+403a c00dc041 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+403b 20404253 call context_search_conn_handle 
+403c 20628000 rtn zero 
+403d 20404256 call context_search_plap 
+403e 20628000 rtn zero 
+
+idle_exit:
+403f 7041cf00 jam 0 ,mem_hci_cmd 
+4040 20600000 rtn 
+
+idle_le_create_conn:
+4041 7004971b jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+4042 7041cf00 jam 0 ,mem_hci_cmd 
+4043 20600000 rtn 
+
+idle_inquiry:
+4044 7920001c set1 mark_inquiry_on ,mark 
+4045 793f801e set0 mark_inquiry_trainb ,mark 
+4046 70008fff jam param_ninquiry ,mem_ninqy_index 
+4047 70008d1f jam 31 ,mem_nfreq_index_inq 
+4048 2020403f branch idle_exit 
+
+idle_inquiry_cancel:
+4049 793f801c set0 mark_inquiry_on ,mark 
+404a 18003600 force 0 ,stop_watch 
+404b 2020403f branch idle_exit 
+
+idle_remote_name_req:
+404c 20404256 call context_search_plap 
+404d 20628000 rtn zero 
+404e 18000401 force lmp_name_req ,temp 
+404f 70016c05 jam 5 ,mem_nameres_cnt 
+4050 20204058 branch idle_start_page 
+
+idle_create_conn:
+4051 44834000 bpatch patch00_6 ,mem_patch00 
+
+idle_create_conn_device:
+4052 6fec41d1 fetch 6 ,mem_hci_plap 
+4053 203a403f branch idle_exit ,blank 
+4054 70465101 jam reconnect_hid ,memui_reconnect_mode 
+4055 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+4056 20204057 branch idle_create_conn_cont 
+
+idle_create_conn_cont:
+4057 18000425 force lmp_version_req ,temp 
+
+idle_start_page:
+4058 4483c000 bpatch patch00_7 ,mem_patch00 
+4059 6fe200ef fetch 1 ,mem_page_mode 
+405a 203a405e branch idle_page_mode_r0 ,blank 
+405b 1fe9fe00 lshift3 pdata ,pdata 
+405c 1ff27e00 lshift4 pdata ,pdata 
+405d 1fe0ffff increase -1 ,pdata 
+
+idle_page_mode_r0:
+405e 67e240a6 store 1 ,mem_npage 
+405f 67e200ee store 1 ,mem_npage_index 
+4060 70008e1f jam 31 ,mem_nfreq_index_page 
+4061 793f800c set0 mark_page_trainb ,mark 
+4062 20404237 call context_new 
+4063 2422c07f nbranch idle_page_fail ,zero 
+4064 20404a6e call get_free_amaddr 
+4065 67e20077 store 1 ,mem_amaddr 
+4066 6042007c storet 1 ,mem_lmo_opcode2 
+4067 6fec41d1 fetch 6 ,mem_hci_plap 
+4068 67ec0040 store 6 ,mem_plap 
+4069 44844001 bpatch patch01_0 ,mem_patch01 
+406a 20407cf0 call timer_reinit 
+406b 18007e00 force 0 ,pdata 
+406c 2841fe01 compare lmp_name_req ,temp ,0xff 
+406d 7d20fe05 nsetflag true ,state_init_seq ,pdata 
+406e 79207e03 set1 state_inpage ,pdata 
+406f 67e20030 store 1 ,mem_state 
+4070 700a9503 jam bt_evt_reconn_started ,mem_fifo_temp 
+4071 20407bab call ui_ipc_send_event 
+4072 18007e00 force 0 ,pdata 
+4073 7920fe04 setflag true ,smap_name_req ,pdata 
+4074 67e2004c store 1 ,mem_state_map 
+4075 58000000 setarg 0 
+4076 79207e01 set1 mode_master ,pdata 
+4077 67e20031 store 1 ,mem_mode 
+4078 7834fc00 enable master 
+4079 2040421f call context_save 
+407a 7854fc00 disable master 
+407b 18000e03 force page_length_timer ,queue 
+407c 6fe440b9 fetch 2 ,mem_page_to 
+407d 20407ce3 call timer_init 
+407e 2020403f branch idle_exit 
+
+idle_page_fail:
+407f 4484c001 bpatch patch01_1 ,mem_patch01 
+4080 6fec41d1 fetch 6 ,mem_hci_plap 
+4081 67ec0040 store 6 ,mem_plap 
+4082 2841fe01 compare lmp_name_req ,temp ,0xff 
+4083 2020c085 branch idle_name_fail ,true 
+4084 2020403f branch idle_exit 
+
+idle_name_fail:
+4085 d8a000ff arg mem_tmp_buffer ,contw 
+4086 df200008 arg 8 ,loopcnt 
+4087 20407ca1 call memset0 
+4088 700a9504 jam bt_evt_reconn_failed ,mem_fifo_temp 
+4089 20407bab call ui_ipc_send_event 
+408a 2020403f branch idle_exit 
+
+inquiry_dispatch:
+408b c68e0000 rtnmark0 mark_inquiry_on 
+408c 18000e01 force inquiry_length_timer ,queue 
+408d 20407cf1 call timer_check 
+408e 7d3a001c nsetflag blank ,mark_inquiry_on ,mark 
+408f 243a4091 nbranch inquiry_start ,blank 
+4090 20600000 rtn 
+
+inquiry_start:
+4091 44854001 bpatch patch01_2 ,mem_patch01 
+4092 684440bb fetcht 2 ,mem_inq_window 
+4093 18000e04 force 4 ,queue 
+4094 20404718 call sniff_check_window 
+4095 20740000 rtn user 
+4096 204048a0 call afh_clear 
+4097 18004800 force 0 ,freq_mode 
+
+inquiry_restart:
+4098 20618000 rtn timeout 
+4099 793f800b set0 mark_fhs_already_good ,mark 
+409a 793f8000 set0 mark_fhs_eir ,mark 
+
+inquiry_rx_restart:
+409b 1c40c201 add clkn_bt ,1 ,bt_clk 
+409c 280ffe1e isolate1 mark_inquiry_trainb ,mark 
+409d 7920c802 setflag true ,2 ,freq_mode 
+409e 2c200400 compare 0x00 ,bt_clk ,0x02 
+409f 2420c0ba nbranch inquiry_receive ,true 
+
+inquiry_transmit:
+40a0 4485c001 bpatch patch01_3 ,mem_patch01 
+40a1 6fe20012 fetch 1 ,mem_inquiry_transmit 
+40a2 1fe0fe01 increase 1 ,pdata 
+40a3 67e20012 store 1 ,mem_inquiry_transmit 
+40a4 204048d4 call fetch_giac 
+40a5 204048ce call tx_radio_freq 
+40a6 204048ee call fetch_diac 
+40a7 20404a50 call start_transmitter 
+40a8 20404a55 call start_tx_native 
+40a9 20404a63 call send_access_word 
+40aa 20404649 call end_of_packet 
+40ab 204040ad call inquiry_check_train 
+40ac 20204098 branch inquiry_restart 
+
+inquiry_check_train:
+40ad 44864001 bpatch patch01_4 ,mem_patch01 
+40ae 6fe2008d fetch 1 ,mem_nfreq_index_inq 
+40af 1fe0ffff increase -1 ,pdata 
+40b0 67e2008d store 1 ,mem_nfreq_index_inq 
+40b1 20610000 rtn positive 
+40b2 70008d1f jam 31 ,mem_nfreq_index_inq 
+40b3 6fe2008f fetch 1 ,mem_ninqy_index 
+40b4 1fe0ffff increase -1 ,pdata 
+40b5 67e2008f store 1 ,mem_ninqy_index 
+40b6 20610000 rtn positive 
+40b7 7940001e setflip mark_inquiry_trainb ,mark 
+40b8 70008fff jam param_ninquiry ,mem_ninqy_index 
+40b9 20600000 rtn 
+
+inquiry_receive:
+40ba 4486c001 bpatch patch01_5 ,mem_patch01 
+40bb 204048d4 call fetch_giac 
+40bc 204048c8 call rx_radio_freq 
+40bd 204048ee call fetch_diac 
+40be 20404a5a call start_rx_native 
+40bf 204049ea call start_receiver 
+40c0 20404a0c call wait_access_clkn_rt 
+40c1 202c40c4 branch inquiry_sync ,sync 
+40c2 204040ad call inquiry_check_train 
+40c3 2020409b branch inquiry_rx_restart 
+
+inquiry_sync:
+40c4 44874001 bpatch patch01_6 ,mem_patch01 
+40c5 204049ba call save_rssi 
+40c6 20404a6a call scan_mode_whiten 
+40c7 2040451a call receive_packet_whitened 
+40c8 793f8001 set0 mark_rxbuf_inuse ,mark 
+40c9 c6858000 rtnmark0 mark_fhs_already_good 
+
+inquiry_receive_rtn:
+40ca 4487c001 bpatch patch01_7 ,mem_patch01 
+
+inquiry_receive_eir_rtn:
+40cb 6fe20013 fetch 1 ,mem_inquiry_rcv 
+40cc 1fe0fe01 increase 1 ,pdata 
+40cd 67e20013 store 1 ,mem_inquiry_rcv 
+40ce 20600000 rtn 
+
+master_page:
+40cf 44884002 bpatch patch02_0 ,mem_patch02 
+40d0 7834fc00 enable master 
+40d1 78387c00 enable clknt 
+40d2 6fe440b5 fetch 2 ,mem_page_interval 
+40d3 203a40d7 branch master_page_no_interval ,blank 
+40d4 18000e08 force page_interval_timer ,queue 
+40d5 20407cf1 call timer_check 
+40d6 247a0000 nrtn blank 
+
+master_page_no_interval:
+40d7 4488c002 bpatch patch02_1 ,mem_patch02 
+40d8 684440b7 fetcht 2 ,mem_page_window 
+40d9 18000e28 force 40 ,queue 
+40da 20404718 call sniff_check_window 
+40db 20344110 branch page_exit ,user 
+40dc 18000e03 force page_length_timer ,queue 
+40dd 20407cf1 call timer_check 
+40de 243a40ec nbranch page_start ,blank 
+40df 6fe2004c fetch 1 ,mem_state_map 
+40e0 c28240e2 bbit1 smap_name_req ,master_npage_timeout 
+40e1 202040e5 branch master_page_timeout 
+
+master_npage_timeout:
+40e2 d8a000ff arg mem_tmp_buffer ,contw 
+40e3 df200008 arg 8 ,loopcnt 
+40e4 20407ca1 call memset0 
+
+master_page_timeout:
+40e5 44894002 bpatch patch02_2 ,mem_patch02 
+40e6 70003000 jam 0 ,mem_state 
+40e7 204060d8 call init_lmp_work 
+40e8 70465100 jam 0 ,memui_reconnect_mode 
+40e9 700a9513 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+40ea 20407bab call ui_ipc_send_event 
+40eb 20204110 branch page_exit 
+
+page_start:
+40ec 4489c002 bpatch patch02_3 ,mem_patch02 
+40ed 18001600 force 0 ,timeup 
+40ee 34730200 until clkn_rt ,meet 
+40ef 6fe200f0 fetch 1 ,mem_page_clk 
+40f0 1fe0ffff increase -1 ,pdata 
+40f1 9c42fe00 ixor clkn_bt ,pdata 
+40f2 2fe00600 compare 0 ,pdata ,3 
+40f3 2420c0ec nbranch page_start ,true 
+40f4 18827e00 deposit am_addr 
+40f5 67e2017f store 1 ,mem_fhs_am_addr 
+40f6 18004c00 force 0 ,n_tx_slot 
+40f7 18004800 force 0 ,freq_mode 
+
+page_restart:
+40f8 448a4002 bpatch patch02_4 ,mem_patch02 
+40f9 2021c110 branch page_exit ,timeout 
+40fa 204048d8 call fetch_page_bt_adr 
+40fb d9600600 arg param_rf_setup ,timeup 
+40fc 34730200 until clkn_rt ,meet 
+
+page_rx_restart:
+40fd 448ac002 bpatch patch02_5 ,mem_patch02 
+40fe 6fe800f0 fetch 4 ,mem_page_clk 
+40ff 98004200 iforce bt_clk 
+4100 1fe0fe01 increase 1 ,pdata 
+4101 67e800f0 store 4 ,mem_page_clk 
+4102 280ffe0c isolate1 mark_page_trainb ,mark 
+4103 7920c802 setflag true ,2 ,freq_mode 
+4104 2c200400 compare 0x00 ,bt_clk ,0x02 
+4105 2420c124 nbranch page_receive ,true 
+4106 6fe2000c fetch 1 ,mem_page_transmit 
+4107 1fe0fe01 increase 1 ,pdata 
+4108 67e2000c store 1 ,mem_page_transmit 
+4109 204048ce call tx_radio_freq 
+410a 20404a50 call start_transmitter 
+410b 20404a55 call start_tx_native 
+410c 20404a63 call send_access_word 
+410d 20404649 call end_of_packet 
+410e 20404116 call page_check_train 
+410f 202040f8 branch page_restart 
+
+page_exit:
+4110 448b4002 bpatch patch02_6 ,mem_patch02 
+4111 7854fc00 disable master 
+4112 6fe440b5 fetch 2 ,mem_page_interval 
+4113 207a0000 rtn blank 
+4114 18000e08 force page_interval_timer ,queue 
+4115 20207ce3 branch timer_init 
+
+page_check_train:
+4116 448bc002 bpatch patch02_7 ,mem_patch02 
+4117 6fe2008e fetch 1 ,mem_nfreq_index_page 
+4118 1fe0ffff increase -1 ,pdata 
+4119 67e2008e store 1 ,mem_nfreq_index_page 
+411a 20610000 rtn positive 
+411b 70008e1f jam 31 ,mem_nfreq_index_page 
+411c 6fe200ee fetch 1 ,mem_npage_index 
+411d 1fe0ffff increase -1 ,pdata 
+411e 67e200ee store 1 ,mem_npage_index 
+411f 20610000 rtn positive 
+4120 7940000c setflip mark_page_trainb ,mark 
+4121 6fe240a6 fetch 1 ,mem_npage 
+4122 67e200ee store 1 ,mem_npage_index 
+4123 20600000 rtn 
+
+page_receive:
+4124 448c4003 bpatch patch03_0 ,mem_patch03 
+4125 204048c8 call rx_radio_freq 
+4126 20404a5a call start_rx_native 
+4127 204049ea call start_receiver 
+4128 20404a0c call wait_access_clkn_rt 
+4129 202c412c branch page_sync ,sync 
+412a 20404116 call page_check_train 
+412b 202040fd branch page_rx_restart 
+
+page_sync:
+412c 20404649 call end_of_packet 
+412d 6fe2000d fetch 1 ,mem_page_rcv 
+412e 1fe0fe01 increase 1 ,pdata 
+412f 67e2000d store 1 ,mem_page_rcv 
+4130 18003600 force 0 ,stop_watch 
+4131 6fe800f0 fetch 4 ,mem_page_clk 
+
+page_send_fhs:
+4132 448cc003 bpatch patch03_1 ,mem_patch03 
+4133 20404a4e call rf_setup_time_master_slot 
+4134 204048d8 call fetch_page_bt_adr 
+4135 1cc0cc01 increase 1 ,n_tx_slot 
+
+page_send_fhs_continue:
+4136 1c2143fd and_into 0x1fd ,bt_clk 
+4137 1c8149fc and_into 0x1fc ,freq_mode 
+4138 204048ce call tx_radio_freq 
+4139 20404a50 call start_transmitter 
+413a 20404a55 call start_tx_native 
+413b 20404a63 call send_access_word 
+413c 1c427e00 deposit clkn_bt 
+413d 67e8015f store 4 ,mem_clkn_bt 
+413e 18000800 force 0 ,am_addr 
+413f 18000202 force type_fhs ,type 
+4140 20404a6a call scan_mode_whiten 
+4141 20404762 call transmit_packet_whitened 
+
+page_wait_fhs_reply:
+4142 448d4003 bpatch patch03_2 ,mem_patch03 
+4143 20404a4c call rf_setup_time_slave_slot 
+4144 1c21c202 or_into 0x02 ,bt_clk 
+4145 1c8149fc and_into 0x1fc ,freq_mode 
+4146 204048c8 call rx_radio_freq 
+4147 20404a5a call start_rx_native 
+4148 204049ea call start_receiver 
+4149 20404a0c call wait_access_clkn_rt 
+414a 204c4649 call end_of_packet ,sync 
+414b 202c4151 branch page_wait_fhs_reply_ok ,sync 
+414c 6fe20010 fetch 1 ,mem_fhs_wait_counter 
+414d 203a40f8 branch page_restart ,blank 
+414e 1fe0ffff increase -1 ,pdata 
+414f 67e20010 store 1 ,mem_fhs_wait_counter 
+4150 20204132 branch page_send_fhs 
+
+page_wait_fhs_reply_ok:
+4151 448dc003 bpatch patch03_3 ,mem_patch03 
+4152 6fe2000e fetch 1 ,mem_page_rcv_fhs 
+4153 1fe0fe01 increase 1 ,pdata 
+4154 67e2000e store 1 ,mem_page_rcv_fhs 
+4155 20404431 call prepare_newconn 
+
+master_newconn_loop:
+4156 204042ee call master_newconn_once 
+4157 202c415b branch newconn_poll_responded ,sync 
+4158 20404451 call new_conn_timeout 
+4159 243a4156 nbranch master_newconn_loop ,blank 
+415a 202040f8 branch page_restart 
+
+newconn_poll_responded:
+415b 448e4003 bpatch patch03_4 ,mem_patch03 
+415c 6fe20030 fetch 1 ,mem_state 
+415d 793ffe03 set0 state_inpage ,pdata 
+415e 67e20030 store 1 ,mem_state 
+415f 2040443c call newconn_init 
+4160 7854fc00 disable master 
+4161 20600000 rtn 
+
+master_dispatch:
+4162 448ec003 bpatch patch03_5 ,mem_patch03 
+4163 7834fc00 enable master 
+4164 78387c00 enable clknt 
+4165 204041dd call role_switch_master 
+4166 20740000 rtn user 
+4167 20404c24 call check_bt_disabled 
+4168 20404a4e call rf_setup_time_master_slot 
+4169 1c40c201 add clkn_bt ,1 ,bt_clk 
+416a 204048de call fetch_self_bt_adr 
+416b 18004803 force 0x03 ,freq_mode 
+416c 20406b81 call scheduler_tx_l2cap_pkt 
+416d 20404485 call prepare_tx 
+416e 204048ce call tx_radio_freq 
+416f 20404a50 call start_transmitter 
+4170 20404a55 call start_tx_native 
+4171 20404a63 call send_access_word 
+4172 2040475e call transmit_packet 
+
+master_loop:
+4173 448f4003 bpatch patch03_6 ,mem_patch03 
+4174 204060e9 call parse_lmp 
+4175 204042e0 call master_conn_recv_packet 
+4176 2436c17c nbranch master_notmatch ,match 
+4177 20404a87 call supervision_flush 
+4178 20404724 call parse_l2cap 
+4179 6fe2000f fetch 1 ,mem_master_rcvcnt 
+417a 1fe0fe01 increase 1 ,pdata 
+417b 67e2000f store 1 ,mem_master_rcvcnt 
+
+master_notmatch:
+417c 448fc003 bpatch patch03_7 ,mem_patch03 
+417d 20406b69 call scheduler_process 
+417e 20404187 call check_master_disconnect 
+417f 24748000 nrtn master 
+4180 204046ef call check_attempt 
+4181 243a4184 nbranch master_attempt ,blank 
+
+master_exit:
+4182 7854fc00 disable master 
+4183 20600000 rtn 
+
+master_attempt:
+4184 20404485 call prepare_tx 
+4185 204042d6 call master_conn_send_packet 
+4186 20204173 branch master_loop 
+
+check_master_disconnect:
+4187 2036c18a branch check_master_match ,match 
+4188 20404a7e call supervision_update 
+4189 20214198 branch master_disconnect ,positive 
+
+check_master_match:
+418a 204041a3 call check_disconnect_timeout 
+418b 24344198 nbranch master_disconnect ,user 
+418c 6fe2004c fetch 1 ,mem_state_map 
+418d c4020000 rtnbit0 smap_name_req 
+418e c3818000 rtnbit1 smap_name_res 
+418f 6fe2004b fetch 1 ,mem_op 
+4190 c3818000 rtnbit1 op_disconn 
+4191 204041aa call conn_timer_expired 
+4192 247a0000 nrtn blank 
+4193 6fe2016c fetch 1 ,mem_nameres_cnt 
+4194 1fe0ffff increase -1 ,pdata 
+4195 67e2016c store 1 ,mem_nameres_cnt 
+4196 247a0000 nrtn blank 
+4197 202063e8 branch lmp_disconnect 
+
+master_disconnect:
+4198 44904004 bpatch patch04_0 ,mem_patch04 
+4199 20404459 call quit_connection 
+419a 7854fc00 disable master 
+419b 6fe2004c fetch 1 ,mem_state_map 
+419c c282419e bbit1 smap_name_req ,master_name_disconnect 
+419d 20600000 rtn 
+
+master_name_disconnect:
+419e 6fe2004c fetch 1 ,mem_state_map 
+419f c3818000 rtnbit1 smap_name_res 
+
+master_name_error:
+41a0 d8a000ff arg mem_tmp_buffer ,contw 
+41a1 df200008 arg 8 ,loopcnt 
+41a2 20207ca1 branch memset0 
+
+check_disconnect_timeout:
+41a3 4490c004 bpatch patch04_1 ,mem_patch04 
+41a4 78347c00 enable user 
+41a5 6fe2004b fetch 1 ,mem_op 
+41a6 c4018000 rtnbit0 op_disconn 
+41a7 204041aa call conn_timer_expired 
+41a8 247a0000 nrtn blank 
+41a9 20207dc1 branch disable_user 
+
+conn_timer_expired:
+41aa 6fe20072 fetch 1 ,mem_conn_timer 
+41ab 1fe0ffff increase -1 ,pdata 
+41ac 67e20072 store 1 ,mem_conn_timer 
+41ad 20600000 rtn 
+
+linkkey_ready:
+41ae 44914004 bpatch patch04_2 ,mem_patch04 
+41af 6fe20030 fetch 1 ,mem_state 
+41b0 c283c1b7 bbit1 state_linkkey ,linkkey_set 
+41b1 6fe209b1 fetch 1 ,mem_pairing_auth 
+41b2 203a41b7 branch linkkey_set ,blank 
+41b3 7009b100 jam defalt_pairing_auth ,mem_pairing_auth 
+41b4 700a9518 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+41b5 20407bab call ui_ipc_send_event 
+41b6 202041b7 branch linkkey_set 
+
+linkkey_set:
+41b7 4491c004 bpatch patch04_3 ,mem_patch04 
+41b8 20404250 call context_traverse_linkkey 
+41b9 6fe20030 fetch 1 ,mem_state 
+41ba 79207e07 set1 state_linkkey ,pdata 
+41bb 67e20030 store 1 ,mem_state 
+41bc 7041be01 jam 1 ,mem_link_key_exists 
+41bd 6fe20055 fetch 1 ,mem_conn_sm 
+41be c08b41bf bne conn_sm_pairing ,linkkey_set_continue 
+
+linkkey_set_continue:
+41bf 20600000 rtn 
+
+generate_linkkey_continue:
+41c0 7009b101 jam pairing_auth ,mem_pairing_auth 
+
+clear_linkstate:
+41c1 6fe20030 fetch 1 ,mem_state 
+41c2 793ffe07 set0 state_linkkey ,pdata 
+41c3 67e20030 store 1 ,mem_state 
+41c4 20600000 rtn 
+
+role_switch_check:
+41c5 44924004 bpatch patch04_4 ,mem_patch04 
+41c6 78547c00 disable user 
+41c7 6fe40032 fetch 2 ,mem_tsniff 
+41c8 d840ffff arg 0xffff ,temp 
+41c9 98467c00 isub temp ,null 
+41ca 24628000 nrtn zero 
+41cb 6fe80034 fetch 4 ,mem_sniff_anchor 
+41cc 203841cf branch role_switch_clkn ,clknt 
+41cd 9d067e00 isub clke_bt ,pdata 
+41ce 202041d0 branch role_switch_clke 
+
+role_switch_clkn:
+41cf 9c467e00 isub clkn_bt ,pdata 
+
+role_switch_clke:
+41d0 1fe67c04 sub pdata ,4 ,null 
+41d1 24610000 nrtn positive 
+41d2 18007e00 force 0 ,pdata 
+41d3 67e40032 store 2 ,mem_tsniff 
+41d4 20207dbf branch enable_user 
+
+role_switch_prepare:
+41d5 1fe20400 copy pdata ,temp 
+41d6 4492c004 bpatch patch04_5 ,mem_patch04 
+41d7 60480034 storet 4 ,mem_sniff_anchor 
+
+role_switch_prepare0:
+41d8 70452d01 jam switch_flag_accept ,mem_switch_flag 
+41d9 5800ffff setarg 0xffff 
+41da 67e40032 store 2 ,mem_tsniff 
+41db 70007301 jam 1 ,mem_sniff_attempt 
+41dc 20600000 rtn 
+
+role_switch_master:
+41dd 44934004 bpatch patch04_6 ,mem_patch04 
+41de 204041c5 call role_switch_check 
+41df 24740000 nrtn user 
+41e0 78547c00 disable user 
+41e1 70001120 jam param_newconnto ,mem_newconnto_counter 
+41e2 793f800b set0 mark_fhs_already_good ,mark 
+
+roles_waitfhs_loop:
+41e3 20404a4e call rf_setup_time_master_slot 
+41e4 204042e2 call master_recv_packet 
+41e5 c505c1f0 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+41e6 20404451 call new_conn_timeout 
+41e7 243a41e3 nbranch roles_waitfhs_loop ,blank 
+
+role_switch_fail_master:
+41e8 4493c004 bpatch patch04_7 ,mem_patch04 
+41e9 78547c00 disable user 
+41ea 1c427e00 deposit clkn_bt 
+41eb 67e840ca store 4 ,mem_next_btclk 
+41ec 78387c00 enable clknt 
+41ed 7834fc00 enable master 
+41ee 700a952a jam bt_evt_switch_fail_master ,mem_fifo_temp 
+41ef 20207bab branch ui_ipc_send_event 
+
+roles_replyto_fhs:
+41f0 44944005 bpatch patch05_0 ,mem_patch05 
+41f1 20404a4c call rf_setup_time_slave_slot 
+41f2 d8200010 arg type_id ,type 
+41f3 204042d8 call master_send_packet 
+41f4 78587c00 disable clknt 
+41f5 7854fc00 disable master 
+41f6 20404814 call apply_switch_clke 
+41f7 20404431 call prepare_newconn 
+
+roles_newconns_loop:
+41f8 4494c005 bpatch patch05_1 ,mem_patch05 
+41f9 20404478 call slave_newconn_once 
+41fa 2036c1fe branch roles_newconns_responded ,match 
+41fb 20404451 call new_conn_timeout 
+41fc 243a41f8 nbranch roles_newconns_loop ,blank 
+41fd 202041e8 branch role_switch_fail_master 
+
+roles_newconns_responded:
+41fe 6fe20031 fetch 1 ,mem_mode 
+41ff 793ffe01 set0 mode_master ,pdata 
+4200 67e20031 store 1 ,mem_mode 
+4201 20404a87 call supervision_flush 
+4202 2040483d call calc_clke_offset 
+4203 78347c00 enable user 
+4204 700a952b jam bt_evt_switch_success_master ,mem_fifo_temp 
+4205 20207bab branch ui_ipc_send_event 
+
+context_load:
+4206 44954005 bpatch patch05_2 ,mem_patch05 
+4207 79200009 set1 mark_context ,mark 
+4208 1a227e00 deposit rega 
+4209 67e4001e store 2 ,mem_context_ptr 
+420a 18007250 force context_size ,loopcnt 
+420b d8a0043b arg mem_le_state ,contw 
+420c 1a208c01 add rega ,coffset_mode ,contr 
+420d efe20006 ifetch 1 ,contr 
+420e 1a220c00 copy rega ,contr 
+420f c2807cdc bbit1 mode_le ,memcpy 
+4210 d8a00030 arg mem_state ,contw 
+4211 20407cdc call memcpy 
+4212 78577c00 disable attempt 
+4213 6fe20077 fetch 1 ,mem_amaddr 
+4214 98000800 iforce am_addr 
+4215 70008a01 jam 1 ,mem_current_sniff_attempt 
+4216 2034c218 branch context_load_master ,master 
+4217 70008a01 jam 1 ,mem_current_sniff_attempt 
+
+context_load_master:
+4218 6fe20030 fetch 1 ,mem_state 
+4219 c4008000 rtnbit0 state_insniff 
+421a 6fe20073 fetch 1 ,mem_sniff_attempt 
+421b 67e2008a store 1 ,mem_current_sniff_attempt 
+421c 6fe20074 fetch 1 ,mem_sniff_timeout 
+421d 67e2008b store 1 ,mem_current_sniff_timeout 
+421e 20600000 rtn 
+
+context_save:
+421f 4495c005 bpatch patch05_3 ,mem_patch05 
+4220 6fe4001e fetch 2 ,mem_context_ptr 
+4221 98000a00 iforce contw 
+4222 18007250 force context_size ,loopcnt 
+4223 d8c0043b arg mem_le_state ,contr 
+4224 203b7cdc branch memcpy ,le 
+4225 d8c00030 arg mem_state ,contr 
+4226 20207cdc branch memcpy 
+
+context_get_next:
+4227 df200001 arg context_num ,loopcnt 
+4228 68420015 fetcht 1 ,mem_current_context 
+
+context_get_next_loop:
+4229 18408401 increase 1 ,temp 
+422a 2841fe01 compare context_num ,temp ,0xff 
+422b 2420c22d nbranch context_get_next_cont ,true 
+422c d8400000 arg 0 ,temp 
+
+context_get_next_cont:
+422d 60420015 storet 1 ,mem_current_context 
+422e 184ffe50 mul32 temp ,context_size ,pdata 
+422f da204040 arg mem_context ,rega 
+4230 9a20a200 iadd rega ,rega 
+4231 efe20011 ifetch 1 ,rega 
+4232 c280c235 bbit1 state_insniff ,context_get_next_sniff 
+4233 c3800000 rtnbit1 state_inconn 
+4234 c3818000 rtnbit1 state_inpage 
+
+context_get_next_sniff:
+4235 c2004229 loop context_get_next_loop 
+4236 20600000 rtn 
+
+context_new:
+4237 44964005 bpatch patch05_4 ,mem_patch05 
+4238 da604266 arg context_search_empty ,regc 
+4239 2040425d call context_search 
+423a 24628000 nrtn zero 
+423b 1a227e00 deposit rega 
+423c 67e4001e store 2 ,mem_context_ptr 
+423d 18007c00 force 0 ,null 
+423e 20600000 rtn 
+
+context_check_all_wack:
+423f 20404721 call check_esco_amaddr 
+4240 2020c247 branch context_check_esco_wack ,true 
+4241 6fe4001e fetch 2 ,mem_context_ptr 
+4242 1fe08a17 add pdata ,coffset_arq ,contw 
+4243 6fe20047 fetch 1 ,mem_arq 
+4244 e7e20005 istore 1 ,contw 
+4245 da6042a6 arg context_check_a_wack ,regc 
+4246 2020425d branch context_search 
+
+context_check_esco_wack:
+4247 6fe20047 fetch 1 ,mem_arq 
+4248 2feffe03 isolate1 wack ,pdata 
+4249 2020c24c branch context_esco_wack ,true 
+424a 18007c01 force 1 ,null 
+424b 20600000 rtn 
+
+context_esco_wack:
+424c 18007c00 force 0 ,null 
+424d 20600000 rtn 
+
+context_check_idle:
+424e da6042a3 arg context_check_inconn ,regc 
+424f 2020425d branch context_search 
+
+context_traverse_linkkey:
+4250 6844001e fetcht 2 ,mem_context_ptr 
+4251 da6042cb arg context_traverse_clearkey ,regc 
+4252 2020425d branch context_search 
+
+context_search_conn_handle:
+4253 684241d0 fetcht 1 ,mem_hci_conn_handle 
+
+context_search_conn_handle2:
+4254 da604271 arg context_search_handle ,regc 
+4255 2020425d branch context_search 
+
+context_search_plap:
+4256 4496c005 bpatch patch05_5 ,mem_patch05 
+4257 684c41d1 fetcht 6 ,mem_hci_plap 
+
+context_search_plap2:
+4258 da60426a arg context_search_lap ,regc 
+4259 2020425d branch context_search 
+
+context_search_insniff:
+425a da604277 arg context_search_sniff ,regc 
+425b 2020425d branch context_search 
+
+context_search_sniff_window:
+425c da6042c2 arg context_search_window ,regc 
+
+context_search:
+425d 44974005 bpatch patch05_6 ,mem_patch05 
+425e da204040 arg mem_context ,rega 
+425f df200001 arg context_num ,loopcnt 
+
+context_search_loop:
+4260 efe20011 ifetch 1 ,rega 
+4261 1a627a00 copy regc ,pc 
+
+context_search_next:
+4262 1a20a250 increase context_size ,rega 
+4263 c2004260 loop context_search_loop 
+4264 18007c01 force 1 ,null 
+4265 20600000 rtn 
+
+context_search_empty:
+4266 c2804262 bbit1 state_inconn ,context_search_next 
+4267 c281c262 bbit1 state_inpage ,context_search_next 
+4268 18007c00 force 0 ,null 
+4269 20600000 rtn 
+
+context_search_lap:
+426a c281c26c bbit1 state_inpage ,context_search_lap_cont 
+426b c3004262 bbit0 state_inconn ,context_search_next 
+
+context_search_lap_cont:
+426c 1a208c10 add rega ,coffset_plap ,contr 
+426d efec0006 ifetch 6 ,contr 
+426e 98467c00 isub temp ,null 
+426f 20628000 rtn zero 
+4270 20204262 branch context_search_next 
+
+context_search_handle:
+4271 c3004262 bbit0 state_inconn ,context_search_next 
+4272 1a208c16 add rega ,coffset_conn_handle ,contr 
+4273 efe20006 ifetch 1 ,contr 
+4274 98467c00 isub temp ,null 
+4275 20628000 rtn zero 
+4276 20204262 branch context_search_next 
+
+context_search_sniff:
+4277 c300c262 bbit0 state_insniff ,context_search_next 
+
+context_search_sniff_loop:
+4278 204042af call context_get_anchor 
+4279 20404293 call sign_pdata_temp 
+427a 98467e00 isub temp ,pdata 
+427b 1fe0fe01 increase 1 ,pdata 
+427c 2021428d branch context_search_sniff_miss ,positive 
+427d 18c22400 copy contr ,regb 
+427e 67f20a9e store 9 ,mem_temp 
+427f 6fe24492 fetch 1 ,mem_le_sc_calc 
+4280 243a4285 nbranch context_search_sniff_sc ,blank 
+4281 6ff20a9e fetch 9 ,mem_temp 
+4282 1a420c00 copy regb ,contr 
+4283 1fe0fe05 increase 5 ,pdata 
+4284 20204288 branch context_search_meet1 
+
+context_search_sniff_sc:
+4285 6ff20a9e fetch 9 ,mem_temp 
+4286 1a420c00 copy regb ,contr 
+4287 1fe0fe14 increase 20 ,pdata 
+
+context_search_meet1:
+4288 24214262 nbranch context_search_next ,positive 
+
+context_search_meet:
+4289 18424200 copy temp ,bt_clk 
+428a 204042bb call context_next_anchor 
+428b 18007c00 force 0 ,null 
+428c 20600000 rtn 
+
+context_search_sniff_miss:
+428d 98002400 iforce regb 
+428e 1a208c02 add rega ,coffset_tsniff ,contr 
+428f efe40006 ifetch 2 ,contr 
+4290 203a4289 branch context_search_meet ,blank 
+4291 204042bb call context_next_anchor 
+4292 20204278 branch context_search_sniff_loop 
+
+sign_pdata_temp:
+4293 1ff11600 rshift16 pdata ,timeup 
+4294 196c9600 rshift8 timeup ,timeup 
+4295 2022c29d branch sign_pdata_temp_p0 ,zero 
+4296 29601e0f compare 0xf ,timeup ,0xf 
+4297 24608000 nrtn true 
+4298 18511600 rshift16 temp ,timeup 
+4299 196c9600 rshift8 timeup ,timeup 
+429a 24628000 nrtn zero 
+429b 7920041c set1 28 ,temp 
+429c 20600000 rtn 
+
+sign_pdata_temp_p0:
+429d 18511600 rshift16 temp ,timeup 
+429e 196c9600 rshift8 timeup ,timeup 
+429f 29601e0f compare 0xf ,timeup ,0xf 
+42a0 24608000 nrtn true 
+42a1 79207e1c set1 28 ,pdata 
+42a2 20600000 rtn 
+
+context_check_inconn:
+42a3 c3004262 bbit0 state_inconn ,context_search_next 
+42a4 18007c00 force 0 ,null 
+42a5 20600000 rtn 
+
+context_check_a_wack:
+42a6 c3004262 bbit0 state_inconn ,context_search_next 
+42a7 1a208c01 add rega ,coffset_mode ,contr 
+42a8 efe20006 ifetch 1 ,contr 
+42a9 c2804262 bbit1 mode_le ,context_search_next 
+42aa 1a208c17 add rega ,coffset_arq ,contr 
+42ab efe20006 ifetch 1 ,contr 
+42ac c301c262 bbit0 wack ,context_search_next 
+42ad 18007c00 force 0 ,null 
+42ae 20600000 rtn 
+
+context_get_anchor:
+42af 1a208c01 add rega ,coffset_mode ,contr 
+42b0 e8420006 ifetcht 1 ,contr 
+42b1 1c427e00 deposit clkn_bt 
+42b2 284ffe01 isolate1 mode_master ,temp 
+42b3 1a208c04 add rega ,coffset_sniff_anchor ,contr 
+42b4 e8480006 ifetcht 4 ,contr 
+42b5 20608000 rtn true 
+42b6 1a208c08 add rega ,coffset_clk_offset ,contr 
+42b7 efec0006 ifetch 6 ,contr 
+42b8 20404850 call calc_clke2 
+42b9 1d027e00 deposit clke_bt 
+42ba 20600000 rtn 
+
+context_next_anchor:
+42bb 1a208c02 add rega ,coffset_tsniff ,contr 
+42bc 1a208a04 add rega ,coffset_sniff_anchor ,contw 
+42bd efe40006 ifetch 2 ,contr 
+42be 98409600 iadd temp ,timeup 
+42bf 19627e00 deposit timeup 
+42c0 e7e80005 istore 4 ,contw 
+42c1 20205823 branch le_context_nexthop 
+
+context_search_window:
+42c2 c300c262 bbit0 state_insniff ,context_search_next 
+42c3 204042af call context_get_anchor 
+42c4 9b60fe00 iadd stop_watch ,pdata 
+42c5 9b60fe00 iadd stop_watch ,pdata 
+42c6 98e0fe00 iadd queue ,pdata 
+42c7 98467c00 isub temp ,null 
+42c8 24214262 nbranch context_search_next ,positive 
+42c9 18007c00 force 0 ,null 
+42ca 20600000 rtn 
+
+context_traverse_clearkey:
+42cb c3004262 bbit0 state_inconn ,context_search_next 
+42cc 18427e00 deposit temp 
+42cd 9a267c00 isub rega ,null 
+42ce 203f4262 branch context_search_next ,null 
+42cf 1a208c01 add rega ,coffset_mode ,contr 
+42d0 efe20006 ifetch 1 ,contr 
+42d1 c2804262 bbit1 mode_le ,context_search_next 
+42d2 efe20011 ifetch 1 ,rega 
+42d3 793ffe07 set0 state_linkkey ,pdata 
+42d4 e7e20011 istore 1 ,rega 
+42d5 20204262 branch context_search_next 
+
+master_conn_send_packet:
+42d6 4497c005 bpatch patch05_7 ,mem_patch05 
+42d7 20404a4e call rf_setup_time_master_slot 
+
+master_send_packet:
+42d8 1c40c201 add clkn_bt ,1 ,bt_clk 
+42d9 204048de call fetch_self_bt_adr 
+42da 18004803 force 0x03 ,freq_mode 
+42db 204048ce call tx_radio_freq 
+42dc 20404a50 call start_transmitter 
+42dd 20404a55 call start_tx_native 
+42de 20404a63 call send_access_word 
+42df 2020475e branch transmit_packet 
+
+master_conn_recv_packet:
+42e0 44984006 bpatch patch06_0 ,mem_patch06 
+42e1 20404a4c call rf_setup_time_slave_slot 
+
+master_recv_packet:
+42e2 1c40c201 add clkn_bt ,1 ,bt_clk 
+42e3 204048de call fetch_self_bt_adr 
+42e4 18004803 force 0x03 ,freq_mode 
+42e5 204048c8 call rx_radio_freq 
+42e6 20404426 call init_rx_packet_flags 
+42e7 204049f0 call prep_crypt 
+42e8 20404a5a call start_rx_native 
+42e9 204049ea call start_receiver 
+
+master_rx_conn_finish_packet:
+42ea 20404a0c call wait_access_clkn_rt 
+42eb 246c0000 nrtn sync 
+42ec 204049ba call save_rssi 
+42ed 20204518 branch receive_packet 
+
+master_newconn_once:
+42ee 4498c006 bpatch patch06_1 ,mem_patch06 
+42ef 6fe2017f fetch 1 ,mem_fhs_am_addr 
+42f0 98000800 iforce am_addr 
+42f1 18000201 force type_poll ,type 
+42f2 204042d6 call master_conn_send_packet 
+42f3 202042e0 branch master_conn_recv_packet 
+
+inquiry_scan_dispatch:
+42f4 6fe24093 fetch 1 ,mem_scan_mode 
+42f5 c4000000 rtnbit0 inq_scan_mode 
+42f6 18000e04 force iscan_interval_timer ,queue 
+42f7 20407cf1 call timer_check 
+42f8 247a0000 nrtn blank 
+42f9 684440ad fetcht 2 ,mem_iscan_window 
+42fa 18000e04 force 4 ,queue 
+42fb 20404718 call sniff_check_window 
+42fc 20740000 rtn user 
+42fd 20404304 call inquiry_scan_start 
+42fe 18000e04 force iscan_interval_timer ,queue 
+42ff 6fe440af fetch 2 ,mem_iscan_interval 
+4300 242c7ce3 nbranch timer_init ,sync 
+4301 180a7e00 random pdata 
+4302 9ea17e00 iand mask3ff ,pdata 
+4303 20207ce3 branch timer_init 
+
+inquiry_scan_start:
+4304 44994006 bpatch patch06_2 ,mem_patch06 
+4305 70017f00 jam 0 ,mem_fhs_am_addr 
+4306 78587c00 disable clknt 
+4307 78577c00 disable attempt 
+4308 204048a0 call afh_clear 
+4309 1c4143fc and clkn_bt ,0x1fc ,bt_clk 
+430a 18004801 force 0x01 ,freq_mode 
+430b 204048d4 call fetch_giac 
+430c 204048c8 call rx_radio_freq 
+430d 7940001d setflip mark_inquiry_state ,mark 
+430e 6fe20006 fetch 1 ,mem_inquiryscan_waitcnt 
+430f 1fe0fe01 increase 1 ,pdata 
+4310 67e20006 store 1 ,mem_inquiryscan_waitcnt 
+4311 204048ee call fetch_diac 
+4312 204049ea call start_receiver 
+4313 20404a13 call wait_access_forever 
+4314 246c0000 nrtn sync 
+4315 4499c006 bpatch patch06_3 ,mem_patch06 
+4316 18003600 force 0 ,stop_watch 
+4317 204048f5 call shutdown_radio 
+4318 6fe20007 fetch 1 ,mem_inquiryscan_rcvcnt 
+4319 1fe0fe01 increase 1 ,pdata 
+431a 67e20007 store 1 ,mem_inquiryscan_rcvcnt 
+431b 204048d4 call fetch_giac 
+431c 20404a4c call rf_setup_time_slave_slot 
+431d 1c21c202 or_into 0x002 ,bt_clk 
+431e 18004801 force 0x01 ,freq_mode 
+431f 204048ce call tx_radio_freq 
+4320 204048ee call fetch_diac 
+4321 20404a50 call start_transmitter 
+4322 20404a5e call start_tx_external 
+4323 1c427e00 deposit clkn_bt 
+4324 67e8015f store 4 ,mem_clkn_bt 
+4325 20404a63 call send_access_word 
+4326 18000202 force type_fhs ,type 
+4327 18000800 force 0 ,am_addr 
+4328 20404a6a call scan_mode_whiten 
+4329 20404762 call transmit_packet_whitened 
+432a 2040432e call send_eir 
+432b 1c2143fd and_into 0x1fd ,bt_clk 
+432c 1cc0cc01 increase 1 ,n_tx_slot 
+432d 20600000 rtn 
+
+send_eir:
+432e 449a4006 bpatch patch06_4 ,mem_patch06 
+432f 6fe240d1 fetch 1 ,mem_eir_enable 
+4330 207a0000 rtn blank 
+4331 d8a0018c arg mem_eir ,contw 
+4332 6fe244e7 fetch 1 ,mem_local_name_length 
+4333 1fe27200 copy pdata ,loopcnt 
+4334 1fe0fe01 increase 1 ,pdata 
+4335 e7e20005 istore 1 ,contw 
+4336 18a20400 copy contw ,temp 
+4337 1fe0fe01 increase 1 ,pdata 
+4338 67e441dd store 2 ,mem_tx_len 
+4339 18420a00 copy temp ,contw 
+433a 58000009 setarg 0x09 
+433b e7e20005 istore 1 ,contw 
+433c d8c044e8 arg mem_local_name ,contr 
+433d 20407cdc call memcpy 
+433e da60455f arg mem_all_uuid_128bits ,regc 
+433f df200004 arg 4 ,loopcnt 
+4340 20404350 call get_all_uuid 
+4341 da604549 arg mem_all_uuid_16bits ,regc 
+4342 df200001 arg 1 ,loopcnt 
+4343 20404350 call get_all_uuid 
+4344 1800020a force type_dm3 ,type 
+4345 7041dc02 jam 2 ,mem_tx_lch 
+4346 5800018c setarg mem_eir 
+4347 67e4016d store 2 ,mem_txptr 
+4348 20404a4c call rf_setup_time_slave_slot 
+4349 204048ce call tx_radio_freq 
+434a 20404a50 call start_transmitter 
+434b 20404a5e call start_tx_external 
+434c 20404a63 call send_access_word 
+434d 20404a6a call scan_mode_whiten 
+434e 20404762 call transmit_packet_whitened 
+434f 20600000 rtn 
+
+get_all_uuid:
+4350 18a20400 copy contw ,temp 
+4351 1a620c00 copy regc ,contr 
+4352 efe20006 ifetch 1 ,contr 
+4353 207a0000 rtn blank 
+
+lshift_loop:
+4354 1fe3fe00 lshift pdata ,pdata 
+4355 c2004354 loop lshift_loop 
+4356 1fe22200 copy pdata ,rega 
+4357 1fe0fe02 increase 2 ,pdata 
+4358 1fe20e00 copy pdata ,queue 
+4359 6fe441dd fetch 2 ,mem_tx_len 
+435a 98e0fe00 iadd queue ,pdata 
+435b 67e441dd store 2 ,mem_tx_len 
+435c 18420a00 copy temp ,contw 
+435d 1a227e00 copy rega ,pdata 
+435e 1fe0fe01 increase 1 ,pdata 
+435f e7e20005 istore 1 ,contw 
+4360 1a620c00 copy regc ,contr 
+4361 efe20006 ifetch 1 ,contr 
+4362 efe20006 ifetch 1 ,contr 
+4363 e7e20005 istore 1 ,contw 
+4364 1a227200 copy rega ,loopcnt 
+4365 20207cdc branch memcpy 
+
+page_scan_dispatch:
+4366 6fe24093 fetch 1 ,mem_scan_mode 
+4367 c4008000 rtnbit0 page_scan_mode 
+4368 18000e05 force pscan_interval_timer ,queue 
+4369 20407cf1 call timer_check 
+436a 247a0000 nrtn blank 
+436b 684440b1 fetcht 2 ,mem_pscan_window 
+436c 18000e28 force 40 ,queue 
+436d 20404718 call sniff_check_window 
+436e 20740000 rtn user 
+436f 18000800 force 0 ,am_addr 
+4370 70001008 jam param_pagerespto ,mem_fhs_wait_counter 
+4371 793f800b set0 mark_fhs_already_good ,mark 
+4372 20404376 call page_scan_start 
+4373 18000e05 force pscan_interval_timer ,queue 
+4374 6fe440b3 fetch 2 ,mem_pscan_interval 
+4375 20207ce3 branch timer_init 
+
+page_scan_start:
+4376 449ac006 bpatch patch06_5 ,mem_patch06 
+4377 78587c00 disable clknt 
+4378 204048a0 call afh_clear 
+4379 6fe20008 fetch 1 ,mem_pagescan_waitcnt 
+437a 1fe0fe01 increase 1 ,pdata 
+437b 67e20008 store 1 ,mem_pagescan_waitcnt 
+437c 18004c00 force 0 ,n_tx_slot 
+437d 204048de call fetch_self_bt_adr 
+437e 1c40c201 add clkn_bt ,1 ,bt_clk 
+437f 18004802 force 0x02 ,freq_mode 
+4380 449b4006 bpatch patch06_6 ,mem_patch06 
+4381 204048c8 call rx_radio_freq 
+4382 204049ea call start_receiver 
+4383 20404a13 call wait_access_forever 
+4384 246c0000 nrtn sync 
+4385 204048f5 call shutdown_radio 
+4386 6fe20009 fetch 1 ,mem_pagescan_rcvcnt 
+4387 1fe0fe01 increase 1 ,pdata 
+4388 67e20009 store 1 ,mem_pagescan_rcvcnt 
+4389 18003600 force 0 ,stop_watch 
+438a 20404a4c call rf_setup_time_slave_slot 
+438b 1c21c202 or_into 0x002 ,bt_clk 
+438c 18004801 force 0x01 ,freq_mode 
+438d 204048ce call tx_radio_freq 
+438e 20404a50 call start_transmitter 
+438f 20404a5e call start_tx_external 
+4390 20404a63 call send_access_word 
+4391 20404649 call end_of_packet 
+4392 18000800 force 0 ,am_addr 
+4393 d9600600 arg param_rf_setup ,timeup 
+4394 35330200 until clke_rt ,meet 
+4395 1d01d003 or_into 0x03 ,clke_bt 
+4396 1c2143fd and_into 0x1fd ,bt_clk 
+
+page_scan_wait_fhs_restart:
+4397 449bc006 bpatch patch06_7 ,mem_patch06 
+4398 1cc0cc01 increase 1 ,n_tx_slot 
+4399 204048c8 call rx_radio_freq 
+439a 204049ea call start_receiver 
+439b 20404a06 call wait_access_mhalfbnd 
+439c 242c43a0 nbranch page_scan_wait_fhs_again ,sync 
+439d 20404a6a call scan_mode_whiten 
+439e 2040451a call receive_packet_whitened 
+439f c505c3a7 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+
+page_scan_wait_fhs_again:
+43a0 449c4007 bpatch patch07_0 ,mem_patch07 
+43a1 6fe20010 fetch 1 ,mem_fhs_wait_counter 
+43a2 207a0000 rtn blank 
+43a3 1fe0ffff increase -1 ,pdata 
+43a4 67e20010 store 1 ,mem_fhs_wait_counter 
+43a5 20404a4e call rf_setup_time_master_slot 
+43a6 20204397 branch page_scan_wait_fhs_restart 
+
+page_scan_reply_to_fhs:
+43a7 449cc007 bpatch patch07_1 ,mem_patch07 
+43a8 793fd001 set0 1 ,clke_bt 
+43a9 79205000 set1 0 ,clke_bt 
+43aa 6fe2000a fetch 1 ,mem_pagescan_rcvfhscnt 
+43ab 1fe0fe01 increase 1 ,pdata 
+43ac 67e2000a store 1 ,mem_pagescan_rcvfhscnt 
+43ad 20404a4c call rf_setup_time_slave_slot 
+43ae 1c21c202 or_into 0x02 ,bt_clk 
+43af 204048ce call tx_radio_freq 
+43b0 20404a50 call start_transmitter 
+43b1 20404a5e call start_tx_external 
+43b2 20404a63 call send_access_word 
+43b3 20404649 call end_of_packet 
+
+slave_apply_clke_bt:
+43b4 2d000603 compare 0x03 ,clke_bt ,0x03 
+43b5 2020c3b8 branch slave_apply_clke_bt_now ,true 
+43b6 37cb8200 until null ,mhalfbnd 
+43b7 202043b4 branch slave_apply_clke_bt 
+
+slave_apply_clke_bt_now:
+43b8 6fe80163 fetch 4 ,mem_clke_bt 
+43b9 1fe1fe03 or_into 0x03 ,pdata 
+43ba 1fe25000 icopy clke_bt 
+
+start_slave_connection:
+43bb 449d4007 bpatch patch07_2 ,mem_patch07 
+43bc 6fec0176 fetch 6 ,extm_lap 
+43bd 67ec0040 store 6 ,mem_plap 
+43be 20404431 call prepare_newconn 
+
+slave_newconn_loop:
+43bf 20404478 call slave_newconn_once 
+43c0 2036c3c4 branch sconn_successful ,match 
+43c1 20404451 call new_conn_timeout 
+43c2 243a43bf nbranch slave_newconn_loop ,blank 
+43c3 20600000 rtn 
+
+sconn_successful:
+43c4 449dc007 bpatch patch07_3 ,mem_patch07 
+43c5 2040443c call newconn_init 
+43c6 20404237 call context_new 
+43c7 24628000 nrtn zero 
+43c8 70003100 jam 0 ,mem_mode 
+43c9 2040483d call calc_clke_offset 
+43ca 2020421f branch context_save 
+
+slave_dispatch:
+43cb 449e4007 bpatch patch07_4 ,mem_patch07 
+43cc 2040484c call calc_clke 
+43cd 204043ef call role_switch_slave 
+43ce 20740000 rtn user 
+
+slave_loop:
+43cf 449ec007 bpatch patch07_5 ,mem_patch07 
+43d0 20404c24 call check_bt_disabled 
+43d1 20406b69 call scheduler_process 
+43d2 20404510 call slave_conn_recv_packet 
+43d3 2436c3de nbranch slave_notmatch ,match 
+43d4 20404a87 call supervision_flush 
+43d5 20406b81 call scheduler_tx_l2cap_pkt 
+43d6 20404485 call prepare_tx 
+43d7 20404753 call slave_conn_send_packet 
+43d8 20404724 call parse_l2cap 
+43d9 204060e9 call parse_lmp 
+43da 6fe2000b fetch 1 ,mem_slave_rcvcnt 
+43db 1fe0fe01 increase 1 ,pdata 
+43dc 67e2000b store 1 ,mem_slave_rcvcnt 
+43dd 2040483d call calc_clke_offset 
+
+slave_notmatch:
+43de 449f4007 bpatch patch07_6 ,mem_patch07 
+43df 20404b86 call lpm_set_mult 
+43e0 20404a7e call supervision_update 
+43e1 202143e7 branch slave_disconnect ,positive 
+43e2 204041a3 call check_disconnect_timeout 
+43e3 243443e7 nbranch slave_disconnect ,user 
+43e4 204046ef call check_attempt 
+43e5 243a43cf nbranch slave_loop ,blank 
+43e6 20600000 rtn 
+
+slave_disconnect:
+43e7 449fc007 bpatch patch07_7 ,mem_patch07 
+43e8 70014f00 jam 0 ,mem_tester_emulate 
+43e9 70017d00 jam 0 ,mem_debug_config 
+43ea 20404459 call quit_connection 
+43eb 793f8011 set0 mark_testmode ,mark 
+43ec 20407d8c call test_enable_white 
+43ed 6fe20030 fetch 1 ,mem_state 
+43ee 20600000 rtn 
+
+role_switch_slave:
+43ef 44a04008 bpatch patch08_0 ,mem_patch08 
+43f0 204041c5 call role_switch_check 
+43f1 24740000 nrtn user 
+43f2 18820400 copy am_addr ,temp 
+43f3 20404a6e call get_free_amaddr 
+43f4 67e2017f store 1 ,mem_fhs_am_addr 
+43f5 18420800 copy temp ,am_addr 
+43f6 70001120 jam param_newconnto ,mem_newconnto_counter 
+
+roles_sendfhs_loop:
+43f7 44a0c008 bpatch patch08_1 ,mem_patch08 
+43f8 20404a4e call rf_setup_time_master_slot 
+43f9 18000202 force type_fhs ,type 
+43fa 2040474b call slave_send_access 
+43fb 1c427e00 deposit clkn_bt 
+43fc 67e8015f store 4 ,mem_clkn_bt 
+43fd 2040475e call transmit_packet 
+43fe 20404a4c call rf_setup_time_slave_slot 
+43ff 7837fc00 enable user3 
+4400 204044f2 call slave_receive_access 
+4401 202c4409 branch roles_got_fhs_reply ,sync 
+4402 204048f5 call shutdown_radio 
+4403 20404451 call new_conn_timeout 
+4404 243a43f7 nbranch roles_sendfhs_loop ,blank 
+4405 c6820000 rtnmark0 mark_accept_switch 
+4406 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+4407 79200003 set1 mark_switch_initiated ,mark 
+4408 20600000 rtn 
+
+roles_got_fhs_reply:
+4409 78387c00 enable clknt 
+440a 20404431 call prepare_newconn 
+440b 204048a0 call afh_clear 
+
+roles_newconn_loop:
+440c 44a14008 bpatch patch08_2 ,mem_patch08 
+440d 204042ee call master_newconn_once 
+440e 202c4415 branch roles_newconn_responded ,sync 
+440f 20404451 call new_conn_timeout 
+4410 243a440c nbranch roles_newconn_loop ,blank 
+4411 78587c00 disable clknt 
+4412 1d027e00 deposit clke_bt 
+4413 67e840ca store 4 ,mem_next_btclk 
+4414 20600000 rtn 
+
+roles_newconn_responded:
+4415 7834fc00 enable master 
+4416 c582441b bmark0 mark_accept_switch ,roles_newconn_nolmp 
+4417 793f8004 set0 mark_accept_switch ,mark 
+4418 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+4419 70007d33 jam lmp_host_connection_req ,mem_lmi_opcode2 
+441a 204066da call tid_set_reply 
+
+roles_newconn_nolmp:
+441b 18827e00 deposit am_addr 
+441c 67e20077 store 1 ,mem_amaddr 
+441d 18007e00 force 0 ,pdata 
+441e 67ec0038 store 6 ,mem_clk_offset 
+441f 6fe20031 fetch 1 ,mem_mode 
+4420 79207e01 set1 mode_master ,pdata 
+4421 67e20031 store 1 ,mem_mode 
+4422 20404a87 call supervision_flush 
+4423 7854fc00 disable master 
+4424 78347c00 enable user 
+4425 20600000 rtn 
+
+init_rx_packet_flags:
+4426 44a1c008 bpatch patch08_3 ,mem_patch08 
+4427 7856fc00 disable match 
+4428 793f8005 set0 mark_loopback ,mark 
+4429 793f800a set0 mark_am_addr_broadcast ,mark 
+442a 793f8010 set0 mark_longpacket ,mark 
+442b 793f800f set0 mark_old_packet ,mark 
+442c 6fe20047 fetch 1 ,mem_arq 
+442d 793ffe05 set0 arqnx ,pdata 
+442e 79207e04 set1 flowx ,pdata 
+442f 67e20047 store 1 ,mem_arq 
+4430 20600000 rtn 
+
+prepare_newconn:
+4431 44a24008 bpatch patch08_4 ,mem_patch08 
+4432 70001120 jam param_newconnto ,mem_newconnto_counter 
+4433 70004750 jam param_newconn_arq ,mem_arq 
+4434 6fe440bf fetch 2 ,mem_rx_window_init 
+4435 67e4003e store 2 ,mem_rx_window 
+4436 1c427e00 deposit clkn_bt 
+4437 67e840ca store 4 ,mem_next_btclk 
+4438 20780000 rtn clknt 
+4439 1d027e00 deposit clke_bt 
+443a 67e840ca store 4 ,mem_next_btclk 
+443b 20600000 rtn 
+
+newconn_init:
+443c 44a2c008 bpatch patch08_5 ,mem_patch08 
+443d 204060e5 call init_lmp_reinit 
+443e 20404455 call new_conn_handle 
+443f 67e20046 store 1 ,mem_conn_handle 
+4440 58000000 setarg 0 
+4441 67e40259 store 2 ,mem_l2cap_rxbuff1_len 
+4442 58001c80 setarg param_supervision_to 
+4443 67e40051 store 2 ,mem_supervision_to 
+4444 6fe20030 fetch 1 ,mem_state 
+4445 79207e00 set1 state_inconn ,pdata 
+4446 67e20030 store 1 ,mem_state 
+4447 70004b00 jam 0 ,mem_op 
+4448 70004c00 jam 0 ,mem_state_map 
+4449 7000a000 jam 0 ,mem_lpm_current_mult 
+444a 20204a87 branch supervision_flush 
+
+clear_linkkey:
+444b 44a34008 bpatch patch08_6 ,mem_patch08 
+444c 18007e00 force 0 ,pdata 
+444d 67f041bf store 8 ,mem_link_key 
+444e e7f00005 istore 8 ,contw 
+444f 204041c1 call clear_linkstate 
+4450 20204250 branch context_traverse_linkkey 
+
+new_conn_timeout:
+4451 6fe20011 fetch 1 ,mem_newconnto_counter 
+4452 1fe0ffff increase -1 ,pdata 
+4453 67e20011 store 1 ,mem_newconnto_counter 
+4454 20600000 rtn 
+
+new_conn_handle:
+4455 6fe240cf fetch 1 ,mem_handle_num 
+4456 1fe0fe01 increase 1 ,pdata 
+4457 67e240cf store 1 ,mem_handle_num 
+4458 20600000 rtn 
+
+quit_connection:
+4459 44a3c008 bpatch patch08_7 ,mem_patch08 
+445a 6fe241cf fetch 1 ,mem_hci_cmd 
+445b c001c45e beq hci_cmd_remote_name_req ,quit_connection_name 
+445c 6fe20048 fetch 1 ,mem_lmp_to_send 
+445d c080c462 bne lmp_name_req ,quit_connection_cont 
+
+quit_connection_name:
+445e 204050ec call cmd_check_plap 
+445f 2422c462 nbranch quit_connection_cont ,zero 
+4460 204041a0 call master_name_error 
+4461 7041cf00 jam 0 ,mem_hci_cmd 
+
+quit_connection_cont:
+4462 44a44009 bpatch patch09_0 ,mem_patch09 
+4463 20404d3a call app_disconn_reason_collect_bt 
+4464 204046e5 call sniff_exit 
+4465 700a9502 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+4466 20407bab call ui_ipc_send_event 
+4467 204060d8 call init_lmp_work 
+4468 20405145 call l2cap_init_work 
+4469 20407432 call sp_initialize 
+446a 6fe20030 fetch 1 ,mem_state 
+446b 793ffe00 set0 state_inconn 
+446c 67e20030 store 1 ,mem_state 
+446d 70465100 jam 0 ,memui_reconnect_mode 
+446e 6fe2004c fetch 1 ,mem_state_map 
+446f 2fe18000 compare 0x0 ,pdata ,0xc0 
+4470 2020c472 branch quit_connection_not_clear_mark ,true 
+4471 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+quit_connection_not_clear_mark:
+4472 6fe20047 fetch 1 ,mem_arq 
+4473 c301c474 bbit0 wack ,quit_connection_not_clear_tx 
+
+quit_connection_not_clear_tx:
+4474 6fe2004b fetch 1 ,mem_op 
+4475 c4030000 rtnbit0 op_txl2cap 
+4476 793f8002 set0 mark_tx_l2cap ,mark 
+4477 20600000 rtn 
+
+slave_newconn_once:
+4478 44a4c009 bpatch patch09_1 ,mem_patch09 
+4479 6fe20172 fetch 1 ,extm_newconn_am_addr 
+447a 207a0000 rtn blank 
+447b 1fe20800 icopy am_addr 
+447c 20404510 call slave_conn_recv_packet 
+447d 24768000 nrtn match 
+447e 18000200 force type_null ,type 
+447f 20404753 call slave_conn_send_packet 
+4480 18827e00 deposit am_addr 
+4481 67e20077 store 1 ,mem_amaddr 
+4482 18007e00 force 0 ,pdata 
+4483 67e20172 store 1 ,extm_newconn_am_addr 
+4484 20600000 rtn 
+
+prepare_tx:
+4485 44a54009 bpatch patch09_2 ,mem_patch09 
+4486 6fe20030 fetch 1 ,mem_state 
+4487 c3014492 bbit0 state_insco ,prepare_tx_not_sco 
+4488 18000207 force type_hv3 ,type 
+4489 c583c491 bmark0 mark_esco ,prepare_tx_not_esco 
+448a 20404721 call check_esco_amaddr 
+448b 2420c492 nbranch prepare_tx_not_sco ,true 
+448c 20374492 branch prepare_tx_not_sco ,attempt 
+448d 204044bd call set_wait_ack 
+448e 58000002 setarg 2 
+448f 67e440c8 store 2 ,mem_retransmission_cnt 
+4490 20600000 rtn 
+
+prepare_tx_not_esco:
+4491 24770000 nrtn attempt 
+
+prepare_tx_not_sco:
+4492 44a5c009 bpatch patch09_3 ,mem_patch09 
+4493 2040423f call context_check_all_wack 
+4494 2422c4a3 nbranch prepare_tx_no_retransmit ,zero 
+4495 6fe20047 fetch 1 ,mem_arq 
+4496 c301c4ac bbit0 wack ,prepare_tx_pollnull 
+
+prepare_tx_retransmit:
+4497 c502c4b0 bmark1 mark_loopback ,prepare_tx_loopback 
+4498 6fe2017d fetch 1 ,mem_debug_config 
+4499 c28344b6 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+449a 6fe440c8 fetch 2 ,mem_retransmission_cnt 
+449b 1fe0ffff increase -1 ,pdata 
+449c 67e440c8 store 2 ,mem_retransmission_cnt 
+449d 203a44a1 branch prepare_tx_nomore_retransmit ,blank 
+449e 6fe240c5 fetch 1 ,mem_last_type 
+449f 98000200 iforce type 
+44a0 20600000 rtn 
+
+prepare_tx_nomore_retransmit:
+44a1 44a64009 bpatch patch09_4 ,mem_patch09 
+44a2 20404683 call clear_got_tx 
+
+prepare_tx_no_retransmit:
+44a3 20404721 call check_esco_amaddr 
+44a4 2020c4ac branch prepare_tx_pollnull ,true 
+44a5 204063ec call send_lmp 
+44a6 203444ba branch prepare_tx_sendlmp ,user 
+44a7 6fe2004b fetch 1 ,mem_op 
+44a8 c28344bc bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+44a9 c502c4b0 bmark1 mark_loopback ,prepare_tx_loopback 
+44aa 6fe2017d fetch 1 ,mem_debug_config 
+44ab c28344b6 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+
+prepare_tx_pollnull:
+44ac 18000201 force type_poll ,type 
+44ad 20748000 rtn master 
+44ae 18000200 force type_null ,type 
+44af 20600000 rtn 
+
+prepare_tx_loopback:
+44b0 44a6c009 bpatch patch09_5 ,mem_patch09 
+44b1 6fe20019 fetch 1 ,mem_rx_type 
+44b2 98000200 iforce type 
+44b3 c1808000 rtnne 1 
+44b4 18000200 force type_null ,type 
+44b5 20600000 rtn 
+
+prepare_tx_txpat:
+44b6 6fe20156 fetch 1 ,test_mode_packet_type 
+44b7 1fe1020f and pdata ,0xf ,type 
+44b8 79200005 set1 mark_loopback ,mark 
+44b9 20600000 rtn 
+
+prepare_tx_sendlmp:
+44ba 18000213 force type_lmp ,type 
+44bb 202044bd branch set_wait_ack 
+
+prepare_tx_sendl2cap:
+44bc 204044c6 call tx_l2cap_type 
+
+set_wait_ack:
+44bd 44a74009 bpatch patch09_6 ,mem_patch09 
+44be 68420047 fetcht 1 ,mem_arq 
+44bf 79200403 set1 wack ,temp 
+44c0 60420047 storet 1 ,mem_arq 
+44c1 18227e00 deposit type 
+44c2 67e240c5 store 1 ,mem_last_type 
+44c3 5800ffff setarg 0xffff 
+44c4 67e440c8 store 2 ,mem_retransmission_cnt 
+44c5 20600000 rtn 
+
+tx_l2cap_type:
+44c6 44a7c009 bpatch patch09_7 ,mem_patch09 
+44c7 6fe2004c fetch 1 ,mem_state_map 
+44c8 2feffe05 isolate1 smap_edr ,pdata 
+44c9 6fe441dd fetch 2 ,mem_tx_len 
+44ca 2020c4dc branch tx_l2cap_type_edr ,true 
+44cb 18000203 force type_dm1 ,type 
+44cc 1fe67c11 sub pdata ,17 ,null 
+44cd 20610000 rtn positive 
+44ce 18000204 force type_dh1 ,type 
+44cf 1fe67c1b sub pdata ,27 ,null 
+44d0 20610000 rtn positive 
+44d1 1800020a force type_dm3 ,type 
+44d2 1fe67c79 sub pdata ,121 ,null 
+44d3 20610000 rtn positive 
+44d4 1800020b force type_dh3 ,type 
+44d5 1fe67cb7 sub pdata ,183 ,null 
+44d6 20610000 rtn positive 
+44d7 1800020e force type_dm5 ,type 
+44d8 1fe67ce0 sub pdata ,224 ,null 
+44d9 20610000 rtn positive 
+44da 1800020f force type_dh5 ,type 
+44db 20600000 rtn 
+
+tx_l2cap_type_edr:
+44dc 18000203 force type_dm1 ,type 
+44dd 1fe67c11 sub pdata ,17 ,null 
+44de 20610000 rtn positive 
+44df 18000204 force type_dh1 ,type 
+44e0 1fe67c36 sub pdata ,54 ,null 
+44e1 20610000 rtn positive 
+44e2 1800020a force type_dm3 ,type 
+44e3 d840016f arg 367 ,temp 
+44e4 98467c00 isub temp ,null 
+44e5 24610000 nrtn positive 
+44e6 1800020e force type_dm5 ,type 
+44e7 d84002a7 arg 679 ,temp 
+44e8 98467c00 isub temp ,null 
+44e9 24610000 nrtn positive 
+44ea 1800020f force type_dh5 ,type 
+44eb 20600000 rtn 
+
+slave_receive_master_slot:
+44ec 6fe20030 fetch 1 ,mem_state 
+44ed c300c4f1 bbit0 state_insniff ,slave_receive_notsniff 
+44ee 6fe40032 fetch 2 ,mem_tsniff 
+44ef 203a44f1 branch slave_receive_notsniff ,blank 
+44f0 243744f3 nbranch slave_receive_sniff ,attempt 
+
+slave_receive_notsniff:
+44f1 20404a4e call rf_setup_time_master_slot 
+
+slave_receive_access:
+44f2 1d00c201 add clke_bt ,1 ,bt_clk 
+
+slave_receive_sniff:
+44f3 78287c00 enable swfine 
+44f4 6fe4003e fetch 2 ,mem_rx_window 
+44f5 1fe37e00 rshift pdata ,pdata 
+44f6 d8400500 arg param_pll_setup ,temp 
+44f7 9840fe00 iadd temp ,pdata 
+44f8 20404a23 call ahead_window 
+44f9 204048e6 call fetch_extm_bt_adr 
+44fa 18004803 force 0x03 ,freq_mode 
+44fb 204048c8 call rx_radio_freq 
+44fc 20404426 call init_rx_packet_flags 
+44fd 204049f0 call prep_crypt 
+44fe 44a8400a bpatch patch0a_0 ,mem_patch0a 
+44ff 6fe4003e fetch 2 ,mem_rx_window 
+4500 1fe37e00 rshift pdata ,pdata 
+4501 20404a23 call ahead_window 
+4502 204049ea call start_receiver 
+4503 7826fc00 enable decode_fec0 
+4504 6fe4003e fetch 2 ,mem_rx_window 
+4505 d84003bb arg param_clke_cal ,temp 
+4506 9840b600 iadd temp ,stop_watch 
+4507 37c18400 correlate null ,timeout 
+4508 1b420400 copy clke ,temp 
+4509 604c009a storet 6 ,mem_sync_clke 
+450a 7846fc00 disable decode_fec0 
+450b 246c0000 nrtn sync 
+450c dd2003bb arg param_clke_cal ,clke_rt 
+450d 1c225000 copy bt_clk ,clke_bt 
+450e 2035cae6 branch lpm_adjust_clk ,wake 
+450f 20600000 rtn 
+
+slave_conn_recv_packet:
+4510 44a8c00a bpatch patch0a_1 ,mem_patch0a 
+4511 204044ec call slave_receive_master_slot 
+4512 242c48f5 nbranch shutdown_radio ,sync 
+4513 204049ba call save_rssi 
+4514 c588c518 bmark0 mark_testmode ,receive_packet 
+4515 6fe400f4 fetch 2 ,mem_tst_pktcnt_sync 
+4516 1fe0fe01 increase 1 ,pdata 
+4517 67e400f4 store 2 ,mem_tst_pktcnt_sync 
+
+receive_packet:
+4518 1c230400 rshift bt_clk ,temp 
+4519 18419c40 or temp ,0x40 ,white_init 
+
+receive_packet_whitened:
+451a 44a9400a bpatch patch0a_2 ,mem_patch0a 
+451b 7823fc00 enable enable_white 
+451c 78257c00 enable enable_hec 
+451d 7825fc00 enable decode_fec1 
+451e 09800003 parse demod ,bucket ,3 
+451f 198cfe00 rshift8 pwindow ,pdata 
+4520 67e2015b store 1 ,mem_temp_am_addr 
+4521 09800004 parse demod ,bucket ,4 
+4522 08008007 inject bucket ,7 
+4523 19827e00 copy pwindow ,pdata 
+4524 67e20019 store 1 ,mem_rx_type 
+4525 09800003 parse demod ,bucket ,3 
+4526 198cfe00 rshift8 pwindow ,pdata 
+4527 67e2015c store 1 ,mem_temp_arq 
+4528 6fe20019 fetch 1 ,mem_rx_type 
+4529 1fe67c03 sub pdata ,3 ,null 
+452a 2021452f branch receive_packet_noedr ,positive 
+452b c003c52f beq 7 ,receive_packet_noedr 
+452c 6fe2004c fetch 1 ,mem_state_map 
+452d 2feffe05 isolate1 smap_edr ,pdata 
+452e 7920aa01 setflag true ,psk ,radio_ctrl 
+
+receive_packet_noedr:
+452f 44a9c00a bpatch patch0a_3 ,mem_patch0a 
+4530 09800008 parse demod ,bucket ,8 
+4531 7845fc00 disable decode_fec1 
+4532 78457c00 disable enable_hec 
+4533 2023462d branch error_header ,crc_failed 
+4534 c588c538 bmark0 mark_testmode ,receive_packet_amchk 
+4535 6fe400f6 fetch 2 ,mem_tst_pktcnt_hec 
+4536 1fe0fe01 increase 1 ,pdata 
+4537 67e400f6 store 2 ,mem_tst_pktcnt_hec 
+
+receive_packet_amchk:
+4538 44aa400a bpatch patch0a_4 ,mem_patch0a 
+4539 6fe2015b fetch 1 ,mem_temp_am_addr 
+453a 2fe00e00 compare 0 ,pdata ,0x07 
+453b 7920800a setflag true ,mark_am_addr_broadcast ,mark 
+453c 2020c548 branch am_addr_ok ,true 
+453d a8800e00 icompare 0x07 ,am_addr 
+453e 2020c547 branch am_addr_match ,true 
+453f c583c649 bmark0 mark_esco ,end_of_packet 
+4540 684200ae fetcht 1 ,mem_saved_amaddr 
+4541 a8400e00 icompare 0x7 ,temp 
+4542 2420c649 nbranch end_of_packet ,true 
+4543 6fe20047 fetch 1 ,mem_arq 
+4544 793ffe05 set0 arqnx ,pdata 
+4545 79207e04 set1 flowx ,pdata 
+4546 67e20047 store 1 ,mem_arq 
+
+am_addr_match:
+4547 7836fc00 enable match 
+
+am_addr_ok:
+4548 44aac00a bpatch patch0a_5 ,mem_patch0a 
+4549 6fe20019 fetch 1 ,mem_rx_type 
+454a 1fe20200 icopy type 
+454b c5054557 bmark1 mark_am_addr_broadcast ,arqn_bypass 
+454c 6842015c fetcht 1 ,mem_temp_arq 
+454d 6fe20047 fetch 1 ,mem_arq 
+454e 793ffe00 set0 flow ,pdata 
+454f 284ffe00 isolate1 flow ,temp 
+4550 7920fe00 setflag true ,flow ,pdata 
+4551 284ffe01 isolate1 arqn ,temp 
+4552 7920fe01 setflag true ,arqn ,pdata 
+4553 67e20047 store 1 ,mem_arq 
+4554 284c0001 isolate0 arqn ,temp 
+4555 2020c557 branch arqn_bypass ,true 
+4556 20404683 call clear_got_tx 
+
+arqn_bypass:
+4557 44ab400a bpatch patch0a_6 ,mem_patch0a 
+4558 d8400000 arg 0 ,temp 
+4559 20404a1b call reserve_slot 
+455a 18217e0f and type ,0xf ,pdata 
+455b c000c583 beq type_poll ,process_poll 
+455c c0004649 beq type_null ,end_of_packet 
+455d c0014655 beq type_fhs ,process_fhs 
+455e 6842015c fetcht 1 ,mem_temp_arq 
+455f 6fe20047 fetch 1 ,mem_arq 
+4560 a8400800 icompare 0x04 ,temp 
+4561 2420c565 nbranch rx_type_dispatch ,true 
+4562 c5854564 bmark0 mark_am_addr_broadcast ,failed_seqn 
+4563 c303c565 bbit0 bcast1 ,rx_type_dispatch 
+
+failed_seqn:
+4564 7920000f set1 mark_old_packet ,mark 
+
+rx_type_dispatch:
+4565 44abc00a bpatch patch0a_7 ,mem_patch0a 
+4566 18227e00 deposit type 
+4567 c001c585 beq type_dm1 ,process_dm1 
+4568 c0024589 beq type_dh1 ,process_dh1 
+4569 c003c574 beq type_hv3 ,process_hev 
+456a c0044588 beq type_3dh1 ,process_3dh1 
+456b d8400004 arg 4 ,temp 
+456c 20404a1b call reserve_slot 
+456d c0054584 beq type_dm3 ,process_dm3 
+456e c005c587 beq type_dh3 ,process_dh3 
+456f d8400008 arg 8 ,temp 
+4570 20404a1b call reserve_slot 
+4571 c0074584 beq type_dm5 ,process_dm5 
+4572 c007c587 beq type_dh5 ,process_dh5 
+4573 20600000 rtn 
+
+process_hev:
+4574 44ac400b bpatch patch0b_0 ,mem_patch0b 
+4575 7826fc00 enable decode_fec0 
+4576 7824fc00 enable enable_crc 
+4577 78277c00 enable encrypt 
+4578 d8a000cf arg mem_sco_ibuf ,contw 
+4579 1800721e force 30 ,loopcnt 
+
+process_hev_loop:
+457a 09800008 parse demod ,bucket ,8 
+457b 19897e00 rshift3 pwindow ,pdata 
+457c e7e20005 istore 1 ,contw 
+457d c200457a loop process_hev_loop 
+457e c583c649 bmark0 mark_esco ,end_of_packet 
+457f 09800010 parse demod ,bucket ,16 
+4580 7d230008 nsetflag crc_failed ,mark_esco_rxok ,mark 
+4581 20234639 branch error_payload ,crc_failed 
+4582 2020461c branch ack_payload 
+
+process_poll:
+4583 20204649 branch end_of_packet 
+
+process_dm3:
+
+process_dm5:
+4584 79200010 set1 mark_longpacket ,mark 
+
+process_dm1:
+4585 78267c00 enable decode_fec2 
+4586 2020458a branch process_dmh 
+
+process_dh3:
+
+process_dh5:
+4587 79200010 set1 mark_longpacket ,mark 
+
+process_3dh1:
+4588 79202a02 set1 psk3m ,radio_ctrl 
+
+process_dh1:
+4589 7826fc00 enable decode_fec0 
+
+process_dmh:
+458a 44acc00b bpatch patch0b_1 ,mem_patch0b 
+458b c500c649 bmark1 mark_rxbuf_inuse ,end_of_packet 
+458c 2aac0001 isolate0 psk ,radio_ctrl 
+458d 2020c596 branch process_dmh_noedr ,true 
+458e 7843fc00 disable enable_white 
+458f 7826fc00 enable decode_fec0 
+4590 78467c00 disable decode_fec2 
+4591 1c409602 add clkn_bt ,2 ,timeup 
+4592 34530400 correlate clkn_bt ,meet 
+4593 242c4639 nbranch error_payload ,sync 
+4594 79200010 set1 mark_longpacket ,mark 
+4595 7823fc00 enable enable_white 
+
+process_dmh_noedr:
+4596 44ad400b bpatch patch0b_2 ,mem_patch0b 
+4597 78277c00 enable encrypt 
+4598 7824fc00 enable enable_crc 
+4599 09800003 parse demod ,bucket ,3 
+459a 198cfe00 rshift8 pwindow ,pdata 
+459b 67e2017e store 1 ,mem_lch_code 
+459c 09800005 parse demod ,bucket ,5 
+459d c50845a1 bmark1 mark_longpacket ,process_dmh_long 
+459e 19897200 rshift3 pwindow ,loopcnt 
+459f 1f297200 rshift3 loopcnt ,loopcnt 
+45a0 202045a4 branch process_dmh_common 
+
+process_dmh_long:
+45a1 09800005 parse demod ,bucket ,5 
+45a2 19837200 rshift pwindow ,loopcnt 
+45a3 09800003 parse demod ,bucket ,3 
+
+process_dmh_common:
+45a4 44adc00b bpatch patch0b_3 ,mem_patch0b 
+45a5 1f227e00 deposit loopcnt 
+45a6 67e4015d store 2 ,mem_len 
+45a7 203a45e4 branch process_dmh_data_end ,blank 
+45a8 9ea67c00 isub mask3ff ,null 
+45a9 20214639 branch error_payload ,positive 
+45aa 44ae400b bpatch patch0b_4 ,mem_patch0b 
+45ab 793f8000 set0 mark_fhs_eir ,mark 
+45ac 6fe2017e fetch 1 ,mem_lch_code 
+45ad 1fe17e03 and_into 0x03 ,pdata 
+45ae d8a0054d arg mem_rxbuf ,contw 
+45af c001c5b6 beq llid_lmp ,process_lmp 
+45b0 c508c5e0 bmark1 mark_testmode ,process_dmh_data 
+45b1 6fe2017e fetch 1 ,mem_lch_code 
+45b2 1fe17e03 and_into 0x03 ,pdata 
+45b3 c00145bb beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+45b4 c000c5cf beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+45b5 20204639 branch error_payload 
+
+process_lmp:
+45b6 6fe4015d fetch 2 ,mem_len 
+45b7 1fe67c70 sub pdata ,0x70 ,null 
+45b8 24214639 nbranch error_payload ,positive 
+45b9 c507c61c bmark1 mark_old_packet ,ack_payload 
+45ba 202045e0 branch process_dmh_data 
+
+process_dmh_data_l2cap_start_pkt:
+45bb 44aec00b bpatch patch0b_5 ,mem_patch0b 
+45bc c507c61c bmark1 mark_old_packet ,ack_payload 
+45bd 6fe4015d fetch 2 ,mem_len 
+45be d84002e0 arg 0x2e0 ,temp 
+45bf 98467c00 isub temp ,null 
+45c0 20214639 branch error_payload ,positive 
+45c1 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+45c2 c30045c5 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+45c3 c300c5ca bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+45c4 20204649 branch end_of_packet 
+
+process_dmh_data_into_buff1:
+45c5 70025d01 jam 1 ,mem_l2cap_rxbuff_new 
+45c6 6fe40259 fetch 2 ,mem_l2cap_rxbuff1_len 
+45c7 c0804649 bne 0 ,end_of_packet 
+45c8 d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+45c9 202045e0 branch process_dmh_data 
+
+process_dmh_data_into_buff2:
+45ca 70025d02 jam 2 ,mem_l2cap_rxbuff_new 
+45cb 6fe4025b fetch 2 ,mem_l2cap_rxbuff2_len 
+45cc c0804649 bne 0 ,end_of_packet 
+45cd d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+45ce 202045e0 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt:
+45cf 44af400b bpatch patch0b_6 ,mem_patch0b 
+45d0 c507c61c bmark1 mark_old_packet ,ack_payload 
+45d1 6fe4015d fetch 2 ,mem_len 
+45d2 d84002e0 arg 0x2e0 ,temp 
+45d3 98467c00 isub temp ,null 
+45d4 20214639 branch error_payload ,positive 
+45d5 6fe2025d fetch 1 ,mem_l2cap_rxbuff_new 
+45d6 c000c5d9 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+45d7 c00145dd beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+45d8 20204649 branch end_of_packet 
+
+process_dmh_data_l2cap_continue_pkt1:
+45d9 d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+45da 6fe40259 fetch 2 ,mem_l2cap_rxbuff1_len 
+45db 98a08a00 iadd contw ,contw 
+45dc 202045e0 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt2:
+45dd d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+45de 6fe4025b fetch 2 ,mem_l2cap_rxbuff2_len 
+45df 98a08a00 iadd contw ,contw 
+
+process_dmh_data:
+45e0 09800008 parse demod ,bucket ,8 
+45e1 19897e00 rshift3 pwindow ,pdata 
+45e2 e7e20005 istore 1 ,contw 
+45e3 c20045e0 loop process_dmh_data 
+
+process_dmh_data_end:
+45e4 44afc00b bpatch patch0b_7 ,mem_patch0b 
+45e5 09800010 parse demod ,bucket ,16 
+45e6 20234633 branch error_payload_crc ,crc_failed 
+45e7 6fe24335 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+45e8 c000c649 beq l2cap_flow_ctrl_enable ,end_of_packet 
+45e9 c508c609 bmark1 mark_testmode ,process_dmh_cont 
+45ea c507c646 bmark1 mark_old_packet ,redundant_payload 
+45eb 6fe2017e fetch 1 ,mem_lch_code 
+45ec 2fe00603 compare 3 ,pdata ,3 
+45ed 2020c609 branch process_dmh_cont ,true 
+45ee 6fe4015d fetch 2 ,mem_len 
+45ef 203a4609 branch process_dmh_cont ,blank 
+45f0 44b0400c bpatch patch0c_0 ,mem_patch0c 
+45f1 6fe2025d fetch 1 ,mem_l2cap_rxbuff_new 
+45f2 c000c5f5 beq 1 ,process_l2cap_pass_crc_buff1 
+45f3 c00145ff beq 2 ,process_l2cap_pass_crc_buff2 
+45f4 20204a8b branch assert 
+
+process_l2cap_pass_crc_buff1:
+45f5 6fe40259 fetch 2 ,mem_l2cap_rxbuff1_len 
+45f6 6844015d fetcht 2 ,mem_len 
+45f7 9840fe00 iadd temp ,pdata 
+45f8 67e40259 store 2 ,mem_l2cap_rxbuff1_len 
+45f9 c0004a8b beq 0 ,assert 
+45fa 68441000 fetcht 2 ,mem_l2cap_rxbuff1 
+45fb 18408404 increase 4 ,temp 
+45fc 98467c00 isub temp ,null 
+45fd 2042c743 call l2cap_buff1_inuse ,zero 
+45fe 20204609 branch process_dmh_cont 
+
+process_l2cap_pass_crc_buff2:
+45ff 6fe4025b fetch 2 ,mem_l2cap_rxbuff2_len 
+4600 6844015d fetcht 2 ,mem_len 
+4601 9840fe00 iadd temp ,pdata 
+4602 67e4025b store 2 ,mem_l2cap_rxbuff2_len 
+4603 c0004a8b beq 0 ,assert 
+4604 68441400 fetcht 2 ,mem_l2cap_rxbuff2 
+4605 18408404 add temp ,4 ,temp 
+4606 98467c00 isub temp ,null 
+4607 2042c747 call l2cap_buff2_inuse ,zero 
+4608 20204609 branch process_dmh_cont 
+
+process_dmh_cont:
+4609 44b0c00c bpatch patch0c_1 ,mem_patch0c 
+460a 6842004c fetcht 1 ,mem_state_map 
+460b 6fe2017e fetch 1 ,mem_lch_code 
+460c 2fe00603 compare 3 ,pdata ,0x03 
+460d 79208406 setflag true ,smap_rxlmp ,temp 
+460e 7d208407 nsetflag true ,smap_rxl2cap ,temp 
+460f 6042004c storet 1 ,mem_state_map 
+4610 2420c612 nbranch process_dmh_cont_rxbuf_not_use ,true 
+4611 79200001 set1 mark_rxbuf_inuse ,mark 
+
+process_dmh_cont_rxbuf_not_use:
+4612 c588c61c bmark0 mark_testmode ,ack_payload 
+4613 284ffe06 isolate1 smap_rxlmp ,temp 
+4614 2020c61c branch ack_payload ,true 
+4615 6fe400f8 fetch 2 ,mem_tst_pktcnt_crc 
+4616 1fe0fe01 increase 1 ,pdata 
+4617 67e400f8 store 2 ,mem_tst_pktcnt_crc 
+4618 79200005 set1 mark_loopback ,mark 
+4619 793f8407 set0 smap_rxl2cap ,temp 
+461a 793f8001 set0 mark_rxbuf_inuse ,mark 
+461b 6042004c storet 1 ,mem_state_map 
+
+ack_payload:
+461c 44b1400c bpatch patch0c_2 ,mem_patch0c 
+461d 6842015c fetcht 1 ,mem_temp_arq 
+461e 6fe20047 fetch 1 ,mem_arq 
+461f 79207e05 set1 arqnx ,pdata 
+4620 284ffe02 isolate1 seqn ,temp 
+4621 7920fe02 setflag true ,seqn ,pdata 
+4622 280ffe0a isolate1 mark_am_addr_broadcast ,mark 
+4623 7920fe07 setflag true ,bcast1 ,pdata 
+4624 67e20047 store 1 ,mem_arq 
+4625 6fe4015d fetch 2 ,mem_len 
+4626 243a4649 nbranch end_of_packet ,blank 
+4627 6fe2004c fetch 1 ,mem_state_map 
+4628 793ffe07 set0 smap_rxl2cap ,pdata 
+4629 67e2004c store 1 ,mem_state_map 
+462a 6fe2017e fetch 1 ,mem_lch_code 
+462b 2fe00e01 compare 0x01 ,pdata ,0x07 
+462c 20204649 branch end_of_packet 
+
+error_header:
+462d 44b1c00c bpatch patch0c_3 ,mem_patch0c 
+462e 7856fc00 disable match 
+462f 6fe4001a fetch 2 ,mem_rx_hec_err 
+4630 1fe0fe01 increase 1 ,pdata 
+4631 67e4001a store 2 ,mem_rx_hec_err 
+4632 20204649 branch end_of_packet 
+
+error_payload_crc:
+4633 6fe4001c fetch 2 ,mem_rx_crc_err 
+4634 1fe0fe01 increase 1 ,pdata 
+4635 67e4001c store 2 ,mem_rx_crc_err 
+4636 2040463a call discard_pkt 
+4637 c588c639 bmark0 mark_testmode ,error_payload 
+4638 79200005 set1 mark_loopback ,mark 
+
+error_payload:
+4639 20204649 branch end_of_packet 
+
+discard_pkt:
+463a 44b2400c bpatch patch0c_4 ,mem_patch0c 
+463b 6fe2017e fetch 1 ,mem_lch_code 
+463c 2fe00603 compare 3 ,pdata ,0x03 
+463d 2420c642 nbranch discard_pkt_l2cap ,true 
+
+discard_pkt_lmp:
+463e 6842004c fetcht 1 ,mem_state_map 
+463f 793f8406 set0 smap_rxlmp ,temp 
+4640 6042004c storet 1 ,mem_state_map 
+4641 20600000 rtn 
+
+discard_pkt_l2cap:
+4642 6842004c fetcht 1 ,mem_state_map 
+4643 793f8407 set0 smap_rxl2cap ,temp 
+4644 6042004c storet 1 ,mem_state_map 
+4645 20600000 rtn 
+
+redundant_payload:
+4646 6fe20047 fetch 1 ,mem_arq 
+4647 79207e05 set1 arqnx ,pdata 
+4648 67e20047 store 1 ,mem_arq 
+
+end_of_packet:
+4649 44b2c00c bpatch patch0c_5 ,mem_patch0c 
+464a 784efc00 disable encode_fec0 
+464b 784e7c00 disable encode_fec2 
+464c 7846fc00 disable decode_fec0 
+464d 78467c00 disable decode_fec2 
+464e 7844fc00 disable enable_crc 
+464f 78477c00 disable encrypt 
+4650 7843fc00 disable enable_white 
+4651 2030c8f5 branch shutdown_radio ,is_rx 
+4652 37d38200 until null ,tx_clear 
+4653 20000064 nop 100 
+4654 202048f5 branch shutdown_radio 
+
+process_fhs:
+4655 44b3400c bpatch patch0c_6 ,mem_patch0c 
+4656 7824fc00 enable enable_crc 
+4657 78267c00 enable decode_fec2 
+4658 09800048 parse demod ,bucket ,72 
+4659 2feffe3a isolate1 58 ,pdata 
+465a 79208000 setflag true ,mark_fhs_eir ,mark 
+465b 1c020400 copy bt_adr ,temp 
+465c 57e04000 ialigned bt_adr 
+465d 57e03c00 ialigned fhs0 
+465e 782afc00 pulse recalc 
+465f 380bffff setsect 2 ,0xfffff 
+4660 380cffff setsect 3 ,0x0ffff 
+4661 20000020 nop 32 
+4662 29a80000 iverify fhs_parity 
+4663 1d827e00 deposit lap 
+4664 67e60176 store 3 ,extm_lap 
+4665 1da27e00 deposit uap 
+4666 67e20179 store 1 ,extm_uap 
+4667 18424000 copy temp ,bt_adr 
+4668 2020c66a branch fhs_parity_ok ,true 
+4669 20204639 branch error_payload 
+
+fhs_parity_ok:
+466a 44b3c00c bpatch patch0c_7 ,mem_patch0c 
+466b 09800048 parse demod ,bucket ,72 
+466c 57e03e00 ialigned fhs1 
+466d 57e00800 ialigned am_addr 
+466e 57e05c00 ialigned nap 
+466f 57e02400 ialigned regb 
+4670 18007e00 force 0 ,pdata 
+4671 09800010 parse demod ,bucket ,16 
+4672 20234639 branch error_payload ,crc_failed 
+4673 5ffffffc setarg 0x0ffffffc 
+4674 9a417e00 iand regb ,pdata 
+4675 67e80163 store 4 ,mem_clke_bt 
+4676 1ba27e00 deposit fhs_class 
+4677 67e60173 store 3 ,extm_class 
+4678 1b827e00 deposit fhs_misc 
+4679 67e20171 store 1 ,extm_fhs_misc 
+467a 18827e00 deposit am_addr 
+467b 67e20172 store 1 ,extm_newconn_am_addr 
+467c 1dc27e00 deposit nap 
+467d 67e4017a store 2 ,extm_nap 
+467e 1c227e00 deposit bt_clk 
+467f 08008220 inject rxf ,32 
+4680 28201e02 compare type_fhs ,type ,0x0f 
+4681 7920800b setflag true ,mark_fhs_already_good ,mark 
+4682 20204649 branch end_of_packet 
+
+clear_got_tx:
+4683 44b4400d bpatch patch0d_0 ,mem_patch0d 
+4684 6fe20047 fetch 1 ,mem_arq 
+4685 c4018000 rtnbit0 wack 
+4686 793ffe03 set0 wack ,pdata 
+4687 79407e06 setflip seqnx ,pdata 
+4688 67e20047 store 1 ,mem_arq 
+4689 6fe240c5 fetch 1 ,mem_last_type 
+468a c009c698 beq type_lmp ,clear_got_txlmp 
+468b c1038000 rtneq type_hv3 
+468c 6fe2004b fetch 1 ,mem_op 
+468d c4030000 rtnbit0 op_txl2cap ,pdata 
+468e 793ffe06 set0 op_txl2cap ,pdata 
+468f 79207e07 set1 op_pkt_comp ,pdata 
+4690 67e2004b store 1 ,mem_op 
+4691 793f8002 set0 mark_tx_l2cap ,mark 
+4692 6fe44218 fetch 2 ,mem_l2cap_tx_multi_offset 
+4693 247a0000 nrtn blank 
+4694 6fe2004b fetch 1 ,mem_op 
+4695 793ffe07 set0 op_pkt_comp ,pdata 
+4696 67e2004b store 1 ,mem_op 
+4697 20205637 branch l2cap_malloc_free 
+
+clear_got_txlmp:
+4698 44b4c00d bpatch patch0d_1 ,mem_patch0d 
+4699 6fe204b3 fetch 1 ,mem_lmo_header_opcode 
+469a 1fe37e00 rshift pdata ,pdata 
+469b c008c6b4 beq lmp_start_encryption_req ,start_encryption 
+469c c00946bc beq lmp_stop_encryption_req ,stop_encryption 
+469d c00c46e5 beq lmp_unsniff_req ,sniff_exit 
+469e c03fc6a4 beq lmp_escape ,clear_lmp_escape 
+469f c1818000 rtnne lmp_accepted 
+46a0 6fe204b4 fetch 1 ,mem_lmo_payload 
+46a1 c015c6ac beq lmp_sco_link_req ,sco_link_req_by_slave 
+46a2 c008c6a7 beq lmp_start_encryption_req ,clear_send_setup_complete 
+46a3 20600000 rtn 
+
+clear_lmp_escape:
+46a4 6fe204b4 fetch 1 ,mem_lmo_payload 
+46a5 79207e07 set1 7 ,pdata 
+46a6 20600000 rtn 
+
+clear_send_setup_complete:
+46a7 20748000 rtn master 
+46a8 6fe20030 fetch 1 ,mem_state 
+46a9 c3820000 rtnbit1 state_conn_comp 
+46aa 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+46ab 20600000 rtn 
+
+sco_link_req_by_slave:
+46ac 20748000 rtn master 
+46ad 6fe20031 fetch 1 ,mem_mode 
+46ae 2feffe04 isolate1 send_sco_when_slave ,pdata 
+46af 2020c6b1 branch clean_mem_mode ,true 
+46b0 20600000 rtn 
+
+clean_mem_mode:
+46b1 793ffe04 set0 send_sco_when_slave ,pdata 
+46b2 67e20031 store 1 ,mem_mode 
+46b3 20600000 rtn 
+
+start_encryption:
+46b4 44b5400d bpatch patch0d_2 ,mem_patch0d 
+46b5 6fe2004c fetch 1 ,mem_state_map 
+46b6 79207e02 set1 smap_encryption ,pdata 
+46b7 67e2004c store 1 ,mem_state_map 
+46b8 70801101 hjam 1 ,core_encrypt 
+46b9 6fe20030 fetch 1 ,mem_state 
+46ba 2feffe04 isolate1 state_conn_comp ,pdata 
+46bb 20600000 rtn 
+
+stop_encryption:
+46bc 44b5c00d bpatch patch0d_3 ,mem_patch0d 
+46bd 6fe2004c fetch 1 ,mem_state_map 
+46be 793ffe02 set0 smap_encryption ,pdata 
+46bf 67e2004c store 1 ,mem_state_map 
+46c0 70801100 hjam 0 ,core_encrypt 
+46c1 20600000 rtn 
+
+sniff_init:
+46c2 44b6400d bpatch patch0d_4 ,mem_patch0d 
+46c3 1c427e00 copy clkn_bt ,pdata 
+46c4 67e8420b store 4 ,mem_lpm_delay_after_sniff 
+46c5 1c40a203 add clkn_bt ,3 ,rega 
+46c6 2034c6c8 branch sniff_init_master ,master 
+46c7 1d00a203 add clke_bt ,3 ,rega 
+
+sniff_init_master:
+46c8 68440032 fetcht 2 ,mem_tsniff 
+46c9 1a227e00 deposit rega 
+46ca 793ffe1b set0 27 ,pdata 
+46cb 9846fc00 idiv temp 
+46cc 6fe40075 fetch 2 ,mem_dsniff 
+46cd 20407d61 call wait_div_end 
+46ce 18072600 remainder regc 
+46cf 9a667e00 isub regc ,pdata 
+46d0 202146d2 branch sniff_init_nowrap ,positive 
+46d1 9840fe00 iadd temp ,pdata 
+
+sniff_init_nowrap:
+46d2 9a20fe00 iadd rega ,pdata 
+46d3 67e80034 store 4 ,mem_sniff_anchor 
+46d4 70452d00 jam switch_flag_init ,mem_switch_flag 
+46d5 6fe20030 fetch 1 ,mem_state 
+46d6 79207e01 set1 state_insniff ,pdata 
+46d7 67e20030 store 1 ,mem_state 
+46d8 6fe20073 fetch 1 ,mem_sniff_attempt 
+46d9 67e2008a store 1 ,mem_current_sniff_attempt 
+46da 58000000 setarg 0 
+46db 67e6416a store 3 ,mem_sniff_rcv 
+46dc 67e6416d store 3 ,mem_sniff_lost 
+46dd 67e2415a store 1 ,mem_sniff_unint_lost 
+46de 700a950b jam bt_evt_enter_sniff ,mem_fifo_temp 
+46df 20407bab call ui_ipc_send_event 
+46e0 6fe440c1 fetch 2 ,mem_rx_window_sniff 
+46e1 67e4003e store 2 ,mem_rx_window 
+46e2 24748000 nrtn master 
+46e3 18808fff add am_addr ,-1 ,queue 
+46e4 20600000 rtn 
+
+sniff_exit:
+46e5 44b6c00d bpatch patch0d_5 ,mem_patch0d 
+46e6 6fe20030 fetch 1 ,mem_state 
+46e7 c4008000 rtnbit0 state_insniff 
+46e8 793ffe01 set0 state_insniff ,pdata 
+46e9 67e20030 store 1 ,mem_state 
+46ea 6fe440bf fetch 2 ,mem_rx_window_init 
+46eb 67e4003e store 2 ,mem_rx_window 
+46ec 7855fc00 disable wake 
+46ed 700a950c jam bt_evt_exit_sniff ,mem_fifo_temp 
+46ee 20207bab branch ui_ipc_send_event 
+
+check_attempt:
+46ef 44b7400d bpatch patch0d_6 ,mem_patch0d 
+46f0 78377c00 enable attempt 
+46f1 6fe20030 fetch 1 ,mem_state 
+46f2 c280c6fc bbit1 state_insniff ,check_attempt_sniff 
+46f3 c6088000 rtnmark1 mark_testmode 
+46f4 6fe20047 fetch 1 ,mem_arq 
+46f5 c3818000 rtnbit1 wack 
+46f6 6fe20048 fetch 1 ,mem_lmp_to_send 
+46f7 247a0000 nrtn blank 
+46f8 6fe2004b fetch 1 ,mem_op 
+46f9 c3830000 rtnbit1 op_txl2cap 
+
+check_attempt_nomore:
+46fa 18007e00 force 0 ,pdata 
+46fb 20600000 rtn 
+
+check_attempt_sniff:
+46fc c301470b bbit0 state_insco ,check_attempt_not_sco 
+46fd 6fe2008a fetch 1 ,mem_current_sniff_attempt 
+46fe c0014702 beq 2 ,check_attempt_sniff_restore_sco 
+46ff 6fe20047 fetch 1 ,mem_arq 
+4700 c281c714 bbit1 wack ,check_attempt_notimeout 
+4701 c5844714 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+
+check_attempt_sniff_restore_sco:
+4702 2434c714 nbranch check_attempt_notimeout ,master 
+4703 6fe20048 fetch 1 ,mem_lmp_to_send 
+4704 243a4714 nbranch check_attempt_notimeout ,blank 
+
+check_attempt_sco_master:
+4705 6fe200ed fetch 1 ,mem_sco_poll 
+4706 1fe0ffff increase -1 ,pdata 
+4707 67e200ed store 1 ,mem_sco_poll 
+4708 243a46fa nbranch check_attempt_nomore ,blank 
+4709 7000ed10 jam param_sco_poll ,mem_sco_poll 
+470a 20204714 branch check_attempt_notimeout 
+
+check_attempt_not_sco:
+470b 6fe2008a fetch 1 ,mem_current_sniff_attempt 
+470c c080c714 bne 1 ,check_attempt_notimeout 
+470d 6fe2008b fetch 1 ,mem_current_sniff_timeout 
+470e 203a4714 branch check_attempt_notimeout ,blank 
+470f 1fe0ffff increase -1 ,pdata 
+4710 67e2008b store 1 ,mem_current_sniff_timeout 
+4711 6fe20047 fetch 1 ,mem_arq 
+4712 c3818000 rtnbit1 wack 
+4713 24768000 nrtn match 
+
+check_attempt_notimeout:
+4714 6fe2008a fetch 1 ,mem_current_sniff_attempt 
+4715 1fe0ffff increase -1 ,pdata 
+4716 67e2008a store 1 ,mem_current_sniff_attempt 
+4717 20600000 rtn 
+
+sniff_check_window:
+4718 44b7c00d bpatch patch0d_7 ,mem_patch0d 
+4719 78487c00 disable swfine 
+471a 18423600 copy temp ,stop_watch 
+471b 2040425c call context_search_sniff_window 
+471c 78547c00 disable user 
+471d 24628000 nrtn zero 
+471e 18003600 force 0 ,stop_watch 
+471f 78347c00 enable user 
+4720 20600000 rtn 
+
+check_esco_amaddr:
+4721 6fe24159 fetch 1 ,mem_esco_addr 
+4722 a881fe00 icompare 0xff ,am_addr 
+4723 20600000 rtn 
+
+parse_l2cap:
+4724 44b8400e bpatch patch0e_0 ,mem_patch0e 
+4725 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+parse_l2cap_cont:
+4726 70026600 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+4727 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+4728 207a0000 rtn blank 
+4729 2feffe00 isolate1 l2cap_inuse_buff1 ,pdata 
+472a d8c01000 arg mem_l2cap_rxbuff1 ,contr 
+472b 2040d153 call process_rx_l2cap_pkt ,true 
+472c 44b8c00e bpatch patch0e_1 ,mem_patch0e 
+472d 6fe20266 fetch 1 ,mem_l2cap_rx_done 
+472e c000c737 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+472f 70026600 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+4730 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+4731 c4008000 rtnbit0 l2cap_inuse_buff2 
+4732 d8c01400 arg mem_l2cap_rxbuff2 ,contr 
+4733 20405153 call process_rx_l2cap_pkt 
+4734 6fe20266 fetch 1 ,mem_l2cap_rx_done 
+4735 c000c73d beq l2cap_rx_done ,parse_l2cap_release_buff2 
+4736 20600000 rtn 
+
+parse_l2cap_release_buff1:
+4737 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+4738 793ffe00 set0 l2cap_inuse_buff1 ,pdata 
+4739 67e2025f store 1 ,mem_l2cap_rxbuff_inuse 
+473a 58000000 setarg 0 
+473b 67e40259 store 2 ,mem_l2cap_rxbuff1_len 
+473c 20600000 rtn 
+
+parse_l2cap_release_buff2:
+473d 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+473e 793ffe01 set0 l2cap_inuse_buff2 ,pdata 
+473f 67e2025f store 1 ,mem_l2cap_rxbuff_inuse 
+4740 58000000 setarg 0 
+4741 67e4025b store 2 ,mem_l2cap_rxbuff2_len 
+4742 20600000 rtn 
+
+l2cap_buff1_inuse:
+4743 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+4744 79207e00 set1 l2cap_inuse_buff1 ,pdata 
+4745 67e2025f store 1 ,mem_l2cap_rxbuff_inuse 
+4746 20600000 rtn 
+
+l2cap_buff2_inuse:
+4747 6fe2025f fetch 1 ,mem_l2cap_rxbuff_inuse 
+4748 79207e01 set1 l2cap_inuse_buff2 ,pdata 
+4749 67e2025f store 1 ,mem_l2cap_rxbuff_inuse 
+474a 20600000 rtn 
+
+slave_send_access:
+474b 44b9400e bpatch patch0e_2 ,mem_patch0e 
+474c 1d00c201 add clke_bt ,1 ,bt_clk 
+474d 204048e6 call fetch_extm_bt_adr 
+474e 18004803 force 0x03 ,freq_mode 
+474f 204048ce call tx_radio_freq 
+4750 20404a50 call start_transmitter 
+4751 20404a5e call start_tx_external 
+4752 20204a63 branch send_access_word 
+
+slave_conn_send_packet:
+4753 44b9c00e bpatch patch0e_3 ,mem_patch0e 
+4754 20404a4c call rf_setup_time_slave_slot 
+4755 1d027e00 deposit clke_bt 
+4756 684840ca fetcht 4 ,mem_next_btclk 
+4757 98467e00 isub temp ,pdata 
+4758 c1808000 rtnne 1 
+4759 28203e00 compare type_null ,type ,0x1f 
+475a 2420c75d nbranch slave_conn_send_access ,true 
+475b 6fe20019 fetch 1 ,mem_rx_type 
+475c 207a0000 rtn blank 
+
+slave_conn_send_access:
+475d 2040474b call slave_send_access 
+
+transmit_packet:
+475e 28203e10 compare type_id ,type ,0x1f 
+475f 2020c649 branch end_of_packet ,true 
+4760 1c230400 rshift bt_clk ,temp 
+4761 18419c40 or temp ,0x40 ,white_init 
+
+transmit_packet_whitened:
+4762 44ba400e bpatch patch0e_4 ,mem_patch0e 
+4763 7823fc00 enable enable_white 
+4764 78257c00 enable enable_hec 
+4765 782dfc00 enable encode_fec1 
+4766 793f8010 set0 mark_longpacket ,mark 
+4767 18827e00 deposit am_addr 
+4768 08008603 inject mod ,3 
+4769 18227e00 deposit type 
+476a 08008604 inject mod ,4 
+476b 6fe20047 fetch 1 ,mem_arq 
+476c 08008004 inject bucket ,4 
+476d 08008603 inject mod ,3 
+476e 78247c00 enable enable_parity 
+476f 08008608 inject mod ,8 
+4770 784dfc00 disable encode_fec1 
+4771 78447c00 disable enable_parity 
+4772 78457c00 disable enable_hec 
+4773 793faa02 set0 psk3m ,radio_ctrl 
+4774 d8400000 arg 0 ,temp 
+4775 20404a1b call reserve_slot 
+4776 44bac00e bpatch patch0e_5 ,mem_patch0e 
+4777 18217e1f and type ,0x1f ,pdata 
+4778 c009c7b0 beq type_lmp ,transmit_lmp 
+4779 c0004649 beq type_null ,end_of_packet 
+477a c000c649 beq type_poll ,end_of_packet 
+477b c0014793 beq type_fhs ,transmit_fhs 
+477c c001c7c1 beq type_dm1 ,transmit_dm1 
+477d c00247c7 beq type_dh1 ,transmit_dh1 
+477e c003c788 beq type_hv3 ,transmit_hev 
+477f c00447c6 beq type_3dh1 ,transmit_3dh1 
+4780 d8400004 arg 4 ,temp 
+4781 20404a1b call reserve_slot 
+4782 c00547c3 beq type_dm3 ,transmit_dm3 
+4783 c005c7c9 beq type_dh3 ,transmit_dh3 
+4784 d8400008 arg 8 ,temp 
+4785 20404a1b call reserve_slot 
+4786 c007c7c9 beq type_dh5 ,transmit_dh5 
+4787 202047c3 branch transmit_dm5 
+
+transmit_hev:
+4788 44bb400e bpatch patch0e_6 ,mem_patch0e 
+4789 782efc00 enable encode_fec0 
+478a 7824fc00 enable enable_crc 
+478b 78277c00 enable encrypt 
+478c 1800721e force 30 ,loopcnt 
+478d d8c000b1 arg mem_sco_obuf ,contr 
+
+transmit_ev_loop:
+478e efe20006 ifetch 1 ,contr 
+478f 08008608 inject mod ,8 
+4790 c200478e loop transmit_ev_loop 
+4791 c503c7f3 bmark1 mark_esco ,transmit_end 
+4792 20204649 branch end_of_packet 
+
+transmit_fhs:
+4793 44bbc00e bpatch patch0e_7 ,mem_patch0e 
+4794 6fe2017f fetch 1 ,mem_fhs_am_addr 
+4795 1fe20800 icopy am_addr 
+4796 6fe20090 fetch 1 ,mem_fhs_misc 
+4797 1fe23800 icopy fhs_misc 
+4798 6fe640aa fetch 3 ,mem_class 
+4799 1fe23a00 icopy fhs_class 
+479a 6fe440a4 fetch 2 ,mem_nap 
+479b 1fe25c00 icopy nap 
+479c 7824fc00 enable enable_crc 
+479d 782e7c00 enable encode_fec2 
+479e 1c022200 copy bt_adr ,rega 
+479f 204048de call fetch_self_bt_adr 
+47a0 782afc00 pulse recalc 
+47a1 20000020 nop 32 
+47a2 1c221600 copy bt_clk ,timeup 
+47a3 6fe8015f fetch 4 ,mem_clkn_bt 
+47a4 1fe24200 icopy bt_clk 
+47a5 53c07e00 preload fhs0 
+47a6 79207e3a set1 58 ,pdata 
+47a7 08008648 inject mod ,72 
+47a8 53e07e00 preload fhs1 
+47a9 08008648 inject mod ,72 
+47aa 19624200 copy timeup ,bt_clk 
+47ab 1a224000 copy rega ,bt_adr 
+47ac 78247c00 enable enable_parity 
+47ad 08008610 inject mod ,16 
+47ae 78447c00 disable enable_parity 
+47af 20204649 branch end_of_packet 
+
+transmit_lmp:
+47b0 44bc400f bpatch patch0f_0 ,mem_patch0f 
+47b1 78277c00 enable encrypt 
+47b2 7824fc00 enable enable_crc 
+47b3 782e7c00 enable encode_fec2 
+47b4 6fe204b2 fetch 1 ,mem_lmo_header_length 
+47b5 1fe105f8 and pdata ,0x1f8 ,temp 
+47b6 d8c004b2 arg mem_lmo_header_length ,contr 
+47b7 18408408 increase 8 ,temp 
+
+transmit_lmp_loop:
+47b8 1840a7b8 add temp ,-72 ,regc 
+47b9 242147be nbranch transmit_lmp_finish ,positive 
+47ba eff20006 ifetch 9 ,contr 
+47bb 08008648 inject mod ,72 
+47bc 1a620400 copy regc ,temp 
+47bd 202047b8 branch transmit_lmp_loop 
+
+transmit_lmp_finish:
+47be eff20006 ifetch 9 ,contr 
+47bf 08418600 iinject mod ,temp 
+47c0 202047f3 branch transmit_end 
+
+transmit_dm1:
+47c1 782e7c00 enable encode_fec2 
+47c2 202047cc branch transmit_dmh 
+
+transmit_dm3:
+
+transmit_dm5:
+47c3 782e7c00 enable encode_fec2 
+47c4 79200010 set1 mark_longpacket ,mark 
+47c5 202047cc branch transmit_dmh 
+
+transmit_3dh1:
+47c6 79202a02 set1 psk3m ,radio_ctrl 
+
+transmit_dh1:
+47c7 782efc00 enable encode_fec0 
+47c8 202047cc branch transmit_dmh 
+
+transmit_dh3:
+
+transmit_dh5:
+47c9 79202a02 set1 psk3m ,radio_ctrl 
+47ca 782efc00 enable encode_fec0 
+47cb 79200010 set1 mark_longpacket ,mark 
+
+transmit_dmh:
+47cc 44bcc00f bpatch patch0f_1 ,mem_patch0f 
+47cd 6fe2004c fetch 1 ,mem_state_map 
+47ce c302c7e1 bbit0 smap_edr ,transmit_noedr 
+47cf 18267c03 sub type ,3 ,null 
+47d0 202147e1 branch transmit_noedr ,positive 
+47d1 78477c00 disable encrypt 
+47d2 784e7c00 disable encode_fec2 
+47d3 782efc00 enable encode_fec0 
+47d4 7843fc00 disable enable_white 
+47d5 79202a01 set1 psk ,radio_ctrl 
+47d6 2aaffe02 isolate1 psk3m ,radio_ctrl 
+47d7 2020c7db branch transmit_edr3m ,true 
+47d8 580abeee setarg 0xabeee 
+47d9 08008614 inject mod ,20 
+47da 202047df branch transmit_edr_sync_end 
+
+transmit_edr3m:
+47db 585faeba setarg 0x5faeba 
+47dc 08008618 inject mod ,24 
+47dd 58000012 setarg 0x12 
+47de 08008606 inject mod ,6 
+
+transmit_edr_sync_end:
+47df 7823fc00 enable enable_white 
+47e0 79200010 set1 mark_longpacket ,mark 
+
+transmit_noedr:
+47e1 78277c00 enable encrypt 
+47e2 7824fc00 enable enable_crc 
+47e3 c502c7fc bmark1 mark_loopback ,transmit_loopback 
+47e4 6fe241dc fetch 1 ,mem_tx_lch 
+47e5 08008603 inject mod ,3 
+47e6 6fe441dd fetch 2 ,mem_tx_len 
+47e7 98007200 iforce loopcnt 
+47e8 c50847eb bmark1 mark_longpacket ,transmit_long 
+47e9 08008605 inject mod ,5 
+47ea 202047ec branch transmit_stuff 
+
+transmit_long:
+47eb 0800860d inject mod ,13 
+
+transmit_stuff:
+47ec 1f227e00 deposit loopcnt 
+47ed 203a47f3 branch transmit_end ,blank 
+47ee 6fe4016d fetch 2 ,mem_txptr 
+47ef 98000c00 iforce contr 
+
+transmit_stuff_loop:
+47f0 efe20006 ifetch 1 ,contr 
+47f1 08008608 inject mod ,8 
+47f2 c20047f0 loop transmit_stuff_loop 
+
+transmit_end:
+47f3 78247c00 enable enable_parity 
+47f4 08008610 inject mod ,16 
+47f5 78447c00 disable enable_parity 
+47f6 204044bd call set_wait_ack 
+47f7 6fe2004c fetch 1 ,mem_state_map 
+47f8 c302c649 bbit0 smap_edr ,end_of_packet 
+47f9 18007e00 force 0 ,pdata 
+47fa 08008606 inject mod ,6 
+47fb 20204649 branch end_of_packet 
+
+transmit_loopback:
+47fc 44bd400f bpatch patch0f_2 ,mem_patch0f 
+47fd c5084804 bmark1 mark_longpacket ,transmit_loopback_long 
+
+transmit_loopback_short:
+47fe 6fe2017e fetch 1 ,mem_lch_code 
+47ff 08008603 inject mod ,3 
+4800 6fe2015d fetch 1 ,mem_len 
+4801 98002600 iforce regc 
+4802 08008605 inject mod ,5 
+4803 20204809 branch transmit_loopback_cont 
+
+transmit_loopback_long:
+4804 6fe2017e fetch 1 ,mem_lch_code 
+4805 08008603 inject mod ,3 
+4806 6fe4015d fetch 2 ,mem_len 
+4807 98002600 iforce regc 
+4808 0800860d inject mod ,13 
+
+transmit_loopback_cont:
+4809 d8c0054d arg mem_rxbuf ,contr 
+
+transmit_loopback_loop:
+480a 1a627c00 copy regc ,null 
+480b 2022c810 branch transmit_loopback_end ,zero 
+480c efe20006 ifetch 1 ,contr 
+480d 08008608 inject mod ,8 
+480e 1a60a7ff increase -1 ,regc 
+480f 2020480a branch transmit_loopback_loop 
+
+transmit_loopback_end:
+4810 6fe400fa fetch 2 ,mem_tst_pktcnt_dmh 
+4811 1fe0fe01 increase 1 ,pdata 
+4812 67e400fa store 2 ,mem_tst_pktcnt_dmh 
+4813 202047f3 branch transmit_end 
+
+apply_switch_clke:
+4814 6fe80163 fetch 4 ,mem_clke_bt 
+4815 1fe0a207 add pdata ,7 ,rega 
+4816 6fe4016f fetch 2 ,mem_slot_offset 
+4817 243a481a nbranch apply_switch_nozero ,blank 
+4818 1a20a3fd increase -3 ,rega 
+4819 20204822 branch apply_switch_wait_loop 
+
+apply_switch_nozero:
+481a 1feffe0c mul32 pdata ,12 ,pdata 
+481b 68448040 fetcht 2 ,core_rthalfslot 
+481c 18408401 increase 1 ,temp 
+
+apply_switch_loop:
+481d 98467e00 isub temp ,pdata 
+481e 24214821 nbranch apply_switch_bt ,positive 
+481f 1a20a3ff increase -1 ,rega 
+4820 2020481d branch apply_switch_loop 
+
+apply_switch_bt:
+4821 1fe67e00 sub pdata ,0 ,pdata 
+
+apply_switch_wait_loop:
+4822 37d18200 until null ,oneslot 
+4823 2c400600 compare 0 ,clkn_bt ,3 
+4824 2420c822 nbranch apply_switch_wait_loop ,true 
+4825 98005200 iforce clke_rt 
+4826 1a225000 copy rega ,clke_bt 
+4827 98005200 iforce clke_rt 
+4828 20600000 rtn 
+
+calc_slot_offset:
+4829 44bdc00f bpatch patch0f_3 ,mem_patch0f 
+482a 37d10200 until null ,halfslot 
+482b 1b427e00 deposit clke 
+482c 98000c00 iforce contr 
+482d 1ff17e00 rshift16 ,pdata ,pdata 
+482e 9c467200 isub clkn_bt ,loopcnt 
+482f 1f217203 and_into 3 ,loopcnt 
+4830 2422c833 nbranch calc_bt_portion ,zero 
+4831 18007e00 force 0 ,pdata 
+4832 20204837 branch calc_skip_bt 
+
+calc_bt_portion:
+4833 d8400ea6 arg 3750 ,temp 
+4834 18007e00 force 0 ,pdata 
+
+calc_slot_offset_loop:
+4835 9840fe00 iadd temp ,pdata 
+4836 c2004835 loop calc_slot_offset_loop 
+
+calc_skip_bt:
+4837 98c0fe00 iadd contr ,pdata 
+4838 1fe6fc0c div pdata ,12 
+4839 20407d61 call wait_div_end 
+483a 1807fe00 quotient pdata 
+483b 67e4016f store 2 ,mem_slot_offset 
+483c 20600000 rtn 
+
+calc_clke_offset:
+483d 44be400f bpatch patch0f_4 ,mem_patch0f 
+483e 1b427e00 deposit clke 
+483f 1b220400 copy clkn ,temp 
+4840 98467c00 isub temp ,null 
+4841 7d217e2c nsetflag positive ,44 ,pdata 
+4842 98460400 isub temp ,temp 
+4843 58000ea6 setarg 3750 
+4844 284c000f isolate0 15 ,temp 
+4845 2020c848 branch calc_clke_pos ,true 
+4846 5fff0ea6 setarg -61786 
+4847 98408400 iadd temp ,temp 
+
+calc_clke_pos:
+4848 604c0443 storet 6 ,mem_le_clk_offset 
+4849 207b0000 rtn le 
+484a 604c0038 storet 6 ,mem_clk_offset 
+484b 20600000 rtn 
+
+calc_clke:
+484c 78587c00 disable clknt 
+484d 6fec0443 fetch 6 ,mem_le_clk_offset 
+484e 203b4850 branch calc_clke2 ,le 
+484f 6fec0038 fetch 6 ,mem_clk_offset 
+
+calc_clke2:
+4850 9b20e000 iadd clkn ,alarm 
+4851 1e00e00a increase 10 ,alarm 
+4852 58000ea6 setarg 3750 
+4853 9e067e00 isub alarm ,pdata 
+4854 2fec000f isolate0 15 ,pdata 
+4855 2020c85a branch calc_clke_pos_adj ,true 
+4856 5800f15a setarg 0xf15a 
+4857 9e00e000 iadd alarm ,alarm 
+
+calc_clke_pos2:
+4858 1e023400 copy alarm ,clke 
+4859 20600000 rtn 
+
+calc_clke_pos_adj:
+485a 18007c00 force 0 ,null 
+485b 20204858 branch calc_clke_pos2 
+
+calc_radio_freq:
+485c 44bec00f bpatch patch0f_5 ,mem_patch0f 
+485d 20404915 call set_sync_on 
+485e 1c227e00 copy bt_clk ,pdata 
+485f 1fe17f80 and_into 0x180 ,pdata 
+4860 2c800e03 compare 3 ,freq_mode ,0x07 
+4861 2420c865 nbranch freq_not_connection ,true 
+4862 1fe97e00 rshift3 pdata ,pdata 
+4863 9ae0fe00 iadd freq_index ,pdata 
+4864 20204866 branch do_hop_mod_now 
+
+freq_not_connection:
+4865 1ae27e00 copy freq_index ,pdata 
+
+do_hop_mod_now:
+4866 1fe6fc4f div pdata ,79 
+4867 782afc00 pulse recalc 
+4868 20407d61 call wait_div_end 
+4869 18072200 remainder rega 
+486a 1a2085d8 add rega ,-40 ,temp 
+486b 2021486e branch odd_half ,positive 
+486c 1a238400 lshift rega ,temp 
+486d 20204870 branch freq_result 
+
+odd_half:
+486e 18438400 lshift temp ,temp 
+486f 18408401 increase 1 ,temp 
+
+freq_result:
+4870 44bf400f bpatch patch0f_6 ,mem_patch0f 
+4871 6fe20031 fetch 1 ,mem_mode 
+4872 c301c881 bbit0 afh_change ,afh_process_con 
+
+afh_process_0:
+4873 6fe840d2 fetch 4 ,mem_afh_instant 
+4874 9c267c00 isub bt_clk ,null 
+4875 20214881 branch afh_process_con ,positive 
+4876 204048a0 call afh_clear 
+4877 6fe240d9 fetch 1 ,mem_afh_new_mod 
+4878 207a0000 rtn blank 
+4879 6fe20031 fetch 1 ,mem_mode 
+487a 79207e02 set1 afh_enable ,pdata 
+487b 67e20031 store 1 ,mem_mode 
+487c 6fea40e7 fetch 5 ,mem_afh_map_new 
+487d 67ea40da store 5 ,mem_afh_map_lo 
+487e efea0006 ifetch 5 ,contr 
+487f 67ea40df store 5 ,mem_afh_map_hi 
+4880 204048a5 call afh_process_freq_map 
+
+afh_process_con:
+4881 6fe20031 fetch 1 ,mem_mode 
+4882 c4010000 rtnbit0 afh_enable 
+4883 2c2ffe01 isolate1 1 ,bt_clk 
+4884 2020c89d branch afh_same_channel ,true 
+4885 18492200 rshift3 temp ,rega 
+4886 18410e07 and temp ,7 ,queue 
+4887 580040da setarg mem_afh_map_lo 
+4888 9a20a200 iadd rega ,rega 
+4889 efe20011 ifetch 1 ,rega 
+488a afec0000 qisolate0 pdata 
+488b 2020c88e branch afh_process_1 ,true 
+488c 18427e00 deposit temp 
+488d 2020489a branch afh_process_end 
+
+afh_process_1:
+488e 6fe240e4 fetch 1 ,mem_afh_used 
+488f 98002400 iforce regb 
+4890 1c227e00 deposit bt_clk 
+4891 1fe17f80 and_into 0x180 ,pdata 
+4892 1fe97e00 rshift3 pdata ,pdata 
+4893 9ae0fe00 iadd freq_index ,pdata 
+4894 9a46fc00 idiv regb 
+4895 580040f2 setarg mem_afh_map 
+4896 20407d61 call wait_div_end 
+4897 18072200 remainder rega 
+4898 9a208c00 iadd rega ,contr 
+4899 efe20006 ifetch 1 ,contr 
+
+afh_process_end:
+489a 67e240e5 store 1 ,mem_afh_index 
+489b 98000400 iforce temp 
+489c 20600000 rtn 
+
+afh_same_channel:
+489d 6fe240e5 fetch 1 ,mem_afh_index 
+489e 98000400 iforce temp 
+489f 20600000 rtn 
+
+afh_clear:
+48a0 6fe20031 fetch 1 ,mem_mode 
+48a1 793ffe02 set0 afh_enable ,pdata 
+48a2 793ffe03 set0 afh_change ,pdata 
+48a3 67e20031 store 1 ,mem_mode 
+48a4 20600000 rtn 
+
+afh_process_freq_map:
+48a5 44bfc00f bpatch patch0f_7 ,mem_patch0f 
+48a6 d8a040f2 arg mem_afh_map ,contw 
+48a7 1800720a force 10 ,loopcnt 
+48a8 20407ca1 call memset0 
+48a9 d8a040f2 arg mem_afh_map ,contw 
+48aa 18002600 force 0 ,regc 
+48ab 18000e02 force 2 ,queue 
+
+process_freq_3:
+48ac 6fea40da fetch 5 ,mem_afh_map_lo 
+48ad 98000400 iforce temp 
+48ae 28e1fe02 compare 2 ,queue ,0xff 
+48af 2020c8b1 branch process_freq_1 ,true 
+48b0 18430400 rshift temp ,temp 
+
+process_freq_1:
+48b1 284c0000 isolate0 0 ,temp 
+48b2 2020c8b5 branch process_freq_0 ,true 
+48b3 1a627e00 deposit regc 
+48b4 e7e20005 istore 1 ,contw 
+
+process_freq_0:
+48b5 184b0400 rshift2 temp ,temp 
+48b6 1a60a602 increase 2 ,regc 
+48b7 2a61fc28 compare 40 ,regc ,0xfe 
+48b8 2420c8be nbranch process_freq_2 ,true 
+48b9 6fea40df fetch 5 ,mem_afh_map_hi 
+48ba 98000400 iforce temp 
+48bb 28e1fe02 compare 2 ,queue ,0xff 
+48bc 2020c8be branch process_freq_2 ,true 
+48bd 18430400 rshift temp ,temp 
+
+process_freq_2:
+48be 1a667c4e sub regc ,78 ,null 
+48bf 202148b1 branch process_freq_1 ,positive 
+48c0 18002601 force 1 ,regc 
+48c1 18e08fff increase -1 ,queue 
+48c2 2422c8ac nbranch process_freq_3 ,zero 
+48c3 da2040f2 arg mem_afh_map ,rega 
+48c4 18a27e00 deposit contw 
+48c5 9a267e00 isub rega ,pdata 
+48c6 67e240e4 store 1 ,mem_afh_used 
+48c7 20600000 rtn 
+
+rx_radio_freq:
+48c8 44c04010 bpatch patch10_0 ,mem_patch10 
+48c9 2040485c call calc_radio_freq 
+48ca 6fe2017d fetch 1 ,mem_debug_config 
+48cb c302c8cd bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+48cc 684204c8 fetcht 1 ,mem_rx_fixed_freq 
+
+rx_radio_freq_now:
+48cd 2020491c branch set_freq_rx 
+
+tx_radio_freq:
+48ce 44c0c010 bpatch patch10_1 ,mem_patch10 
+48cf 2040485c call calc_radio_freq 
+48d0 6fe2017d fetch 1 ,mem_debug_config 
+48d1 c30248d3 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+48d2 684204c7 fetcht 1 ,mem_tx_fixed_freq 
+
+tx_radio_freq_now:
+48d3 20204930 branch set_freq_tx 
+
+fetch_giac:
+48d4 18005a00 force 0 ,uap 
+48d5 6fe640a7 fetch 3 ,mem_glap 
+48d6 98005800 iforce lap 
+48d7 20600000 rtn 
+
+fetch_page_bt_adr:
+48d8 44c14010 bpatch patch10_2 ,mem_patch10 
+48d9 6fe241d4 fetch 1 ,mem_hci_puap 
+48da 1fe25a00 icopy uap 
+48db 6fe641d1 fetch 3 ,mem_hci_plap 
+48dc 1fe25800 icopy lap 
+48dd 20600000 rtn 
+
+fetch_self_bt_adr:
+48de 44c1c010 bpatch patch10_3 ,mem_patch10 
+48df 6fe440a4 fetch 2 ,mem_nap 
+48e0 1fe25c00 icopy nap 
+48e1 6fe240a3 fetch 1 ,mem_uap 
+48e2 1fe25a00 icopy uap 
+48e3 6fe640a0 fetch 3 ,mem_lap 
+48e4 1fe25800 icopy lap 
+48e5 20600000 rtn 
+
+fetch_extm_bt_adr:
+48e6 44c24010 bpatch patch10_4 ,mem_patch10 
+48e7 6fe40044 fetch 2 ,mem_pnap 
+48e8 1fe25c00 icopy nap 
+48e9 6fe20043 fetch 1 ,mem_puap 
+48ea 1fe25a00 icopy uap 
+48eb 6fe60040 fetch 3 ,mem_plap 
+48ec 1fe25800 icopy lap 
+48ed 20600000 rtn 
+
+fetch_diac:
+48ee c51048f1 bmark1 mark_all_diac ,fetch_diac_do 
+48ef c68e8000 rtnmark0 mark_inquiry_state 
+48f0 c68f8000 rtnmark0 mark_periodical_diac 
+
+fetch_diac_do:
+48f1 1d815900 and_into -256 ,lap 
+48f2 782afc00 pulse recalc 
+48f3 20000020 nop 32 
+48f4 20600000 rtn 
+
+shutdown_radio:
+48f5 44c2c010 bpatch patch10_5 ,mem_patch10 
+48f6 2030c906 branch shutdown_radio0 ,is_rx 
+48f7 708955d4 hjam 0xd4 ,0x955 
+48f8 20000004 nop 4 
+48f9 708955d2 hjam 0xd2 ,0x955 
+48fa 20000004 nop 4 
+48fb 708955d1 hjam 0xd1 ,0x955 
+48fc 20000004 nop 4 
+48fd 6fe241df fetch 1 ,mem_tx_power 
+48fe c0004904 beq tx_power_0db ,shutdown_radio_0db 
+48ff c000c912 beq tx_power_3db ,shutdown_radio_3db 
+4900 c0014904 beq tx_power_5db ,shutdown_radio_5db 
+4901 c001c912 beq tx_power_f3db ,shutdown_radio_f3db 
+4902 c0024912 beq tx_power_f5db ,shutdown_radio_f5db 
+4903 c0104912 beq tx_power_pair ,shutdown_radio_pair 
+
+shutdown_radio_5db:
+
+shutdown_radio_0db:
+4904 708955d0 hjam 0xd0 ,0x955 
+4905 708956e0 hjam 0xe0 ,0x956 
+
+shutdown_radio0:
+4906 18002a08 force 0x08 ,radio_ctrl 
+4907 18002a00 force 0 ,radio_ctrl 
+4908 7850fc00 disable is_rx 
+4909 78507c00 disable is_tx 
+490a 782f7c00 pulse packet_end 
+490b 70890200 hjam 0x0 ,rfen_mdm 
+490c 70890100 hjam 0x0 ,rfen_tx 
+490d 70890000 hjam 0x0 ,rfen_rx 
+490e 70890300 hjam 0 ,rfen_sn 
+490f 70890470 hjam 0x70 ,rfen_msc 
+4910 70890600 hjam 0x0 ,rfen_adc 
+4911 20600000 rtn 
+
+shutdown_radio_pair:
+
+shutdown_radio_f5db:
+
+shutdown_radio_f3db:
+
+shutdown_radio_3db:
+4912 708955d0 hjam 0xd0 ,0x955 
+4913 708956c0 hjam 0xc0 ,0x956 
+4914 20204906 branch shutdown_radio0 
+
+set_sync_on:
+4915 44c34010 bpatch patch10_6 ,mem_patch10 
+4916 70890200 hjam 0x0 ,rfen_mdm 
+4917 70890100 hjam 0x0 ,rfen_tx 
+4918 70890018 hjam 0x18 ,rfen_rx 
+4919 708903a7 hjam 0xa7 ,rfen_sn 
+491a 7089047f hjam 0x7f ,rfen_msc 
+491b 20600000 rtn 
+
+set_freq_rx:
+491c 44c3c010 bpatch patch10_7 ,mem_patch10 
+491d 60420017 storet 1 ,mem_last_freq 
+491e 1840a204 add temp ,rx_freq_offset ,rega 
+491f 70896d07 hjam 0x07 ,0x96d 
+4920 20204980 branch rf_write_freq 
+
+rf_rx_enable:
+4921 44c44011 bpatch patch11_0 ,mem_patch11 
+4922 708901cf hjam 0xcf ,rfen_tx 
+4923 2000000a nop 10 
+4924 708900ff hjam 0xff ,rfen_rx 
+4925 708903af hjam 0xaf ,rfen_sn 
+4926 708904ff hjam 0xff ,rfen_msc 
+4927 2000000a nop 10 
+4928 708902a0 hjam 0xa0 ,rfen_mdm 
+4929 20600000 rtn 
+
+set_freq_tx_offset:
+492a 6fe241e1 fetch 1 ,mem_250k_freq_enable 
+492b 203a492e branch set_freq_tx_2m_offset ,blank 
+
+set_freq_tx_0m_offset:
+492c 1840a202 add temp ,2 ,rega 
+492d 20600000 rtn 
+
+set_freq_tx_2m_offset:
+492e 1840a200 add temp ,0 ,rega 
+492f 20600000 rtn 
+
+set_freq_tx:
+4930 44c4c011 bpatch patch11_1 ,mem_patch11 
+4931 60420017 storet 1 ,mem_last_freq 
+4932 2040492a call set_freq_tx_offset 
+4933 20404980 call rf_write_freq 
+4934 58000500 setarg param_pll_setup 
+4935 20404a8e call sleep 
+
+txon:
+4936 70890601 hjam 0x1 ,rfen_adc 
+4937 7089003c hjam 0x3c ,rfen_rx 
+4938 708901e0 hjam 0xe0 ,rfen_tx 
+4939 70896d12 hjam 0x12 ,0x96d 
+493a 2000000a nop 10 
+493b 70890201 hjam 0x01 ,rfen_mdm 
+493c 7089023d hjam 0x3d ,rfen_mdm 
+493d 2000000a nop 10 
+493e 708903b7 hjam 0xb7 ,rfen_sn 
+493f 2000000a nop 10 
+4940 7089027f hjam 0x7f ,rfen_mdm 
+4941 6fe241df fetch 1 ,mem_tx_power 
+4942 c0004948 beq tx_power_0db ,set_tx_power_0db 
+4943 c000c94c beq tx_power_3db ,set_tx_power_3db 
+4944 c0014950 beq tx_power_5db ,set_tx_power_5db 
+4945 c001c954 beq tx_power_f3db ,set_tx_power_f3db 
+4946 c0024958 beq tx_power_f5db ,set_tx_power_f5db 
+4947 c010495c beq tx_power_pair ,set_tx_power_pair 
+
+set_tx_power_0db:
+4948 708956f0 hjam 0xf0 ,0x956 
+4949 20404962 call txon_common 
+494a 708955d8 hjam 0xd8 ,0x955 
+494b 20600000 rtn 
+
+set_tx_power_3db:
+494c 708956df hjam 0xdf ,0x956 
+494d 20404962 call txon_common 
+494e 708955df hjam 0xdf ,0x955 
+494f 20600000 rtn 
+
+set_tx_power_5db:
+4950 708956ff hjam 0xff ,0x956 
+4951 20404962 call txon_common 
+4952 708955df hjam 0xdf ,0x955 
+4953 20600000 rtn 
+
+set_tx_power_f3db:
+4954 708956ce hjam 0xce ,0x956 
+4955 20404962 call txon_common 
+4956 708955d8 hjam 0xd8 ,0x955 
+4957 20600000 rtn 
+
+set_tx_power_f5db:
+4958 708956cb hjam 0xcb ,0x956 
+4959 20404962 call txon_common 
+495a 708955d8 hjam 0xd8 ,0x955 
+495b 20600000 rtn 
+
+set_tx_power_pair:
+495c 708955d0 hjam 0xd0 ,0x955 
+495d 708956c0 hjam 0xc0 ,0x956 
+495e 7089574c hjam 0x4c ,0x957 
+495f 7089586c hjam 0x6c ,0x958 
+4960 70895950 hjam 0x50 ,0x959 
+4961 20600000 rtn 
+
+txon_common:
+4962 20000004 nop 4 
+4963 708955d1 hjam 0xd1 ,0x955 
+4964 20000004 nop 4 
+4965 708955d2 hjam 0xd2 ,0x955 
+4966 20000004 nop 4 
+4967 708955d4 hjam 0xd4 ,0x955 
+4968 20000004 nop 4 
+4969 20600000 rtn 
+
+initialize_radio:
+496a 70804206 hjam clksel_rc ,core_clksel 
+496b 2455e7bc ncall wake_up_m0 ,wake 
+
+initialize_radio_wait:
+496c 6fe440c3 fetch 2 ,mem_rf_init_ptr 
+496d c307496c bbit0 14 ,initialize_radio_wait 
+496e 98000c00 iforce contr 
+496f d8408900 arg 0x8900 ,temp 
+
+initialize_radio_loop:
+4970 efe20006 ifetch 1 ,contr 
+4971 c07fc976 beq 0xff ,initialize_radio_cont 
+4972 98418a00 ior temp ,contw 
+4973 efe20006 ifetch 1 ,contr 
+4974 e7e20005 istore 1 ,contw 
+4975 20204970 branch initialize_radio_loop 
+
+initialize_radio_cont:
+4976 44c54011 bpatch patch11_2 ,mem_patch11 
+4977 20404bba call lpm_cal_xtal_startup 
+4978 204049c8 call switchto_dpllclk 
+4979 580007d0 setarg param_dpll_start_delay 
+497a 9c40fe00 iadd clkn_bt ,pdata 
+497b 67e80167 store 4 ,mem_dpll_clkn 
+497c 79202a03 set1 reset ,radio_ctrl 
+497d 18002a00 force 0 ,radio_ctrl 
+497e 2455c997 ncall do_rccal ,wake 
+497f 202049aa branch set_rccal 
+
+rf_write_freq:
+4980 44c5c011 bpatch patch11_3 ,mem_patch11 
+4981 58000960 setarg 2400 
+4982 9a208400 iadd rega ,temp 
+4983 6fe240bd fetch 1 ,mem_fcomp_mul 
+4984 70895f04 hjam 0x04 ,rf_pll_rstn 
+4985 984ffe00 imul32 temp ,pdata 
+4986 684240be fetcht 1 ,mem_fcomp_div 
+4987 9846fc00 idiv temp 
+4988 20407d61 call wait_div_end 
+4989 1807a200 quotient rega 
+498a 18077e00 remainder pdata 
+498b 1ff07e00 lshift16 pdata ,pdata 
+498c 1ff27e00 lshift4 pdata ,pdata 
+498d 9846fc00 idiv temp 
+498e 20407d61 call wait_div_end 
+498f 1807fe00 quotient pdata 
+4990 1fed7e00 lshift8 pdata ,pdata 
+4991 1fe3fe00 lshift pdata ,pdata 
+4992 9a21fe00 ior rega ,pdata 
+4993 67e88960 hstore 4 ,rf_pll_intg 
+4994 70895f44 hjam 0x44 ,rf_pll_rstn 
+4995 70895fc4 hjam 0xc4 ,rf_pll_rstn 
+4996 20600000 rtn 
+
+do_rccal:
+4997 44c64011 bpatch patch11_4 ,mem_patch11 
+4998 70890602 hjam 0x02 ,rfen_adc 
+4999 5803d090 setarg 250000 
+499a 20404a8e call sleep 
+499b 7089007f hjam 0x7f ,rfen_rx 
+499c 20000082 nop 130 
+499d 70895230 hjam 0x30 ,rf_rccal_ctrl 
+499e 708901d0 hjam 0xd0 ,rfen_tx 
+499f 70895270 hjam 0x70 ,rf_rccal_ctrl 
+49a0 708952f0 hjam 0xf0 ,rf_rccal_ctrl 
+49a1 18007232 force 50 ,loopcnt 
+
+do_rccal_loop:
+49a2 6fe28990 hfetch 1 ,rf_rccal_result 
+49a3 c282c9a5 bbit1 5 ,do_rccal_end 
+49a4 c20049a2 loop do_rccal_loop 
+
+do_rccal_end:
+49a5 67e240ce store 1 ,mem_rf_rccal 
+49a6 70890100 hjam 0 ,rfen_tx 
+49a7 70890000 hjam 0 ,rfen_rx 
+49a8 70890600 hjam 0x00 ,rfen_adc 
+49a9 20600000 rtn 
+
+set_rccal:
+49aa 44c6c011 bpatch patch11_5 ,mem_patch11 
+49ab 6fe240ce fetch 1 ,mem_rf_rccal 
+49ac 79207e05 set1 5 ,pdata 
+49ad 67e28952 hstore 1 ,rf_rccal_ctrl 
+49ae 68428950 hfetcht 1 ,rf_bpf_ctrim 
+49af 18410407 and_into 7 ,temp 
+49b0 1fe9fe00 lshift3 pdata ,pdata 
+49b1 9841fe00 ior temp ,pdata 
+49b2 67e28950 hstore 1 ,rf_bpf_ctrim 
+49b3 6fe28951 hfetch 1 ,rf_bpf_ib 
+49b4 793ffe00 set0 bpf_rccal ,pdata 
+49b5 67e28951 hstore 1 ,rf_bpf_ib 
+49b6 6fe28952 hfetch 1 ,rf_adc_rccal 
+49b7 793ffe05 set0 adc_rccal ,pdata 
+49b8 67e28952 hstore 1 ,rf_adc_rccal 
+49b9 20600000 rtn 
+
+save_rssi:
+49ba 44c74011 bpatch patch11_6 ,mem_patch11 
+49bb 6fe48991 hfetch 2 ,rf_afc_d2a 
+49bc 1ff1fe00 rshift4 pdata ,pdata 
+49bd 1fe97e00 rshift3 pdata ,pdata 
+49be 1fe67e00 sub pdata ,0 ,pdata 
+49bf 1fe17eff and_into 0xff ,pdata 
+49c0 1fe6fc0a div pdata ,10 
+49c1 20407d61 call wait_div_end 
+49c2 1807fe00 quotient pdata 
+49c3 1ff27e00 lshift4 pdata ,pdata 
+49c4 18070400 remainder temp 
+49c5 9841fe00 ior temp ,pdata 
+49c6 67e20018 store 1 ,mem_rssi 
+49c7 20600000 rtn 
+
+switchto_dpllclk:
+49c8 70804206 hjam clksel_rc ,core_clksel 
+49c9 6fe2896b hfetch 1 ,rf_clkpll_frac + 2 
+49ca 793ffe04 set0 4 ,pdata 
+49cb 793ffe05 set0 5 ,pdata 
+49cc 67e2896b hstore 1 ,rf_clkpll_frac + 2 
+49cd 70890500 hjam 0x00 ,rfen_ck 
+49ce 70890400 hjam 0x00 ,rfen_msc 
+49cf 70890470 hjam 0x70 ,rfen_msc 
+49d0 708905ff hjam 0xff ,rfen_ck 
+49d1 6fe2896b hfetch 1 ,rf_clkpll_frac + 2 
+49d2 79207e04 set1 4 ,pdata 
+49d3 79207e05 set1 5 ,pdata 
+49d4 67e2896b hstore 1 ,rf_clkpll_frac + 2 
+49d5 204049e8 call init_lpm_ctrl 
+49d6 6fe28968 hfetch 1 ,rf_clkpll_int 
+49d7 79207e07 set1 7 ,pdata 
+49d8 67e28968 hstore 1 ,rf_clkpll_int 
+49d9 793ffe07 set0 7 ,pdata 
+49da 67e28968 hstore 1 ,rf_clkpll_int 
+49db 79207e07 set1 7 ,pdata 
+49dc 67e28968 hstore 1 ,rf_clkpll_int 
+49dd 70804205 hjam clksel_dpll ,core_clksel 
+49de 20000001 nop 1 
+49df 70804204 hjam clksel_xtal ,core_clksel 
+49e0 6fe2896b hfetch 1 ,rf_clkpll_frac + 2 
+49e1 1fe17ecf and_into 0xcf ,pdata 
+49e2 67e2896b hstore 1 ,rf_clkpll_frac + 2 
+49e3 1fe1fe30 or_into 0x30 ,pdata 
+49e4 67e2896b hstore 1 ,rf_clkpll_frac + 2 
+49e5 20600000 rtn 
+
+xtal_fast_wake:
+49e6 58000f0f setarg 0xf0f 
+49e7 20204bd2 branch lpm_write_config 
+
+init_lpm_ctrl:
+49e8 5800080f setarg 0x80f 
+49e9 20204bd2 branch lpm_write_config 
+
+start_receiver:
+49ea 44c7c011 bpatch patch11_7 ,mem_patch11 
+49eb 20404921 call rf_rx_enable 
+49ec 78507c00 disable is_tx 
+49ed 7830fc00 enable is_rx 
+49ee 782b7c00 pulse init_encrypt 
+49ef 20600000 rtn 
+
+prep_crypt:
+49f0 44c84012 bpatch patch12_0 ,mem_patch12 
+49f1 6fe2004c fetch 1 ,mem_state_map 
+49f2 2feffe02 isolate1 smap_encryption ,pdata 
+49f3 7920fe00 setflag true ,0 ,pdata 
+49f4 67e28011 hstore 1 ,core_encrypt 
+49f5 d8c00062 arg mem_kc ,contr 
+49f6 eff20006 ifetch 9 ,contr 
+49f7 98006400 iforce kc_ls 
+49f8 efee0006 ifetch 7 ,contr 
+49f9 98006600 iforce kc_ms 
+49fa 6fe20054 fetch 1 ,mem_key_size 
+49fb 1fe0e9ff add pdata ,-1 ,g1l 
+49fc 782d7c00 pulse kc_p_activate 
+49fd 20600000 rtn 
+
+wait_access_end:
+49fe 1b427e00 deposit clke 
+49ff 67ec009a store 6 ,mem_sync_clke 
+4a00 7846fc00 disable decode_fec0 
+4a01 242c48f5 nbranch shutdown_radio ,sync 
+4a02 dd2003bb arg param_clke_cal ,clke_rt 
+4a03 1d00d001 increase 1 ,clke_bt 
+4a04 1d0151fc and_into 0x1fc ,clke_bt 
+4a05 20600000 rtn 
+
+wait_access_mhalfbnd:
+4a06 7826fc00 enable decode_fec0 
+
+wait_access_mhalfbnd_correlate:
+4a07 37cb8400 correlate null ,mhalfbnd 
+4a08 202c49fe branch wait_access_end ,sync 
+4a09 2d000402 compare 0x02 ,clke_bt ,0x02 
+4a0a 2420ca07 nbranch wait_access_mhalfbnd_correlate ,true 
+4a0b 202049fe branch wait_access_end 
+
+wait_access_clkn_rt:
+4a0c 44c8c012 bpatch patch12_1 ,mem_patch12 
+4a0d d9600600 arg param_conn_access ,timeup 
+4a0e 7826fc00 enable decode_fec0 
+4a0f 34730400 correlate clkn_rt ,meet 
+4a10 7846fc00 disable decode_fec0 
+4a11 242c48f5 nbranch shutdown_radio ,sync 
+4a12 20600000 rtn 
+
+wait_access_forever:
+4a13 44c94012 bpatch patch12_2 ,mem_patch12 
+4a14 7826fc00 enable decode_fec0 
+4a15 37c18400 correlate null ,timeout 
+4a16 7846fc00 disable decode_fec0 
+4a17 242c48f5 nbranch shutdown_radio ,sync 
+4a18 dd2003bb arg param_clke_cal ,clke_rt 
+4a19 1d0151fc and_into 0x1fc ,clke_bt 
+4a1a 20600000 rtn 
+
+reserve_slot:
+4a1b 44c9c012 bpatch patch12_3 ,mem_patch12 
+4a1c 98002200 iforce rega 
+4a1d 1c227e00 deposit bt_clk 
+4a1e 98409600 iadd temp ,timeup 
+4a1f 19627e00 copy timeup ,pdata 
+4a20 67e840ca store 4 ,mem_next_btclk 
+4a21 1a227e00 deposit rega 
+4a22 20600000 rtn 
+
+ahead_window:
+4a23 1fe20400 copy pdata ,temp 
+4a24 44ca4012 bpatch patch12_4 ,mem_patch12 
+4a25 18427e00 copy temp ,pdata 
+4a26 20407d2b call clk2bt 
+4a27 1c307e00 lshift16 bt_clk ,pdata 
+4a28 79207e2c set1 44 ,pdata 
+4a29 20407d14 call clk_diff 
+4a2a 793ffe2c set0 44 ,pdata 
+4a2b 20404a76 call get_clk 
+4a2c 20407d14 call clk_diff 
+4a2d 20740000 rtn user 
+4a2e 20407d1e call clk2rt 
+4a2f 98003600 iforce stop_watch 
+4a30 37c18200 until null ,timeout 
+4a31 20600000 rtn 
+
+setup_clk:
+4a32 44cac012 bpatch patch12_5 ,mem_patch12 
+4a33 20384a37 branch setup_clkn ,clknt 
+4a34 35330200 until clke_rt ,meet 
+
+skip_setup_clke:
+4a35 1d020400 copy clke_bt ,temp 
+4a36 20204a3a branch setup_clknbt 
+
+setup_clkn:
+4a37 20374a39 branch skip_setup_clkn ,attempt 
+4a38 34730200 until clkn_rt ,meet 
+
+skip_setup_clkn:
+4a39 1c420400 copy clkn_bt ,temp 
+
+setup_clknbt:
+4a3a 20344a46 branch setup_clk11 ,user 
+4a3b 28400601 compare 1 ,temp ,3 
+4a3c 2420ca32 nbranch setup_clk ,true 
+
+setup_complete:
+4a3d 44cb4012 bpatch patch12_6 ,mem_patch12 
+4a3e 6fe20030 fetch 1 ,mem_state 
+4a3f c4000000 rtnbit0 state_inconn 
+4a40 6fe840ca fetch 4 ,mem_next_btclk 
+4a41 98467e00 isub temp ,pdata 
+4a42 24610000 nrtn positive 
+4a43 1fe67cff sub pdata ,0xff ,null 
+4a44 20214a32 branch setup_clk ,positive 
+4a45 20600000 rtn 
+
+setup_clk11:
+4a46 28400603 compare 3 ,temp ,3 
+4a47 2420ca32 nbranch setup_clk ,true 
+4a48 20204a3d branch setup_complete 
+
+rf_setup_time:
+4a49 44cbc012 bpatch patch12_7 ,mem_patch12 
+4a4a d9600600 arg param_rf_setup ,timeup 
+4a4b 20204a32 branch setup_clk 
+
+rf_setup_time_slave_slot:
+4a4c 78547c00 disable user 
+4a4d 20204a49 branch rf_setup_time 
+
+rf_setup_time_master_slot:
+4a4e 78347c00 enable user 
+4a4f 20204a49 branch rf_setup_time 
+
+start_transmitter:
+4a50 44cc4013 bpatch patch13_0 ,mem_patch13 
+4a51 204049f0 call prep_crypt 
+4a52 7850fc00 disable is_rx 
+4a53 78307c00 enable is_tx 
+4a54 20600000 rtn 
+
+start_tx_native:
+4a55 44ccc013 bpatch patch13_1 ,mem_patch13 
+4a56 d9600e43 arg param_tx_setup ,timeup 
+4a57 34730200 until clkn_rt ,meet 
+4a58 782b7c00 pulse init_encrypt 
+4a59 20600000 rtn 
+
+start_rx_native:
+4a5a 44cd4013 bpatch patch13_2 ,mem_patch13 
+4a5b d9600d00 arg param_rx_setup ,timeup 
+4a5c 34730200 until clkn_rt ,meet 
+4a5d 20600000 rtn 
+
+start_tx_external:
+4a5e 44cdc013 bpatch patch13_3 ,mem_patch13 
+4a5f d9600e43 arg param_tx_setup ,timeup 
+4a60 35330200 until clke_rt ,meet 
+4a61 782b7c00 pulse init_encrypt 
+4a62 20600000 rtn 
+
+send_access_word:
+4a63 44ce4013 bpatch patch13_4 ,mem_patch13 
+4a64 51207e00 preload access 
+4a65 782efc00 enable encode_fec0 
+4a66 79202a00 set1 txgfsk ,radio_ctrl 
+4a67 08008648 inject mod ,72 
+4a68 784efc00 disable encode_fec0 
+4a69 20600000 rtn 
+
+scan_mode_whiten:
+4a6a 1ca20400 copy xin ,temp 
+4a6b 18418460 or_into 0x60 ,temp 
+4a6c 18421c00 copy temp ,white_init 
+4a6d 20600000 rtn 
+
+get_free_amaddr:
+4a6e 44cec013 bpatch patch13_5 ,mem_patch13 
+4a6f 6fe24090 fetch 1 ,mem_current_amaddr 
+4a70 1fe0fe01 increase 1 ,pdata 
+4a71 c083ca73 bne param_esco_addr ,get_free_amaddr_cont 
+4a72 18007e01 force 1 ,pdata 
+
+get_free_amaddr_cont:
+4a73 67e24090 store 1 ,mem_current_amaddr 
+4a74 98000800 iforce am_addr 
+4a75 20600000 rtn 
+
+get_clk:
+4a76 1b220400 copy clkn ,temp 
+4a77 20748000 rtn master 
+4a78 1b420400 copy clke ,temp 
+4a79 20600000 rtn 
+
+get_clkbt:
+4a7a 1c427e00 deposit clkn_bt 
+4a7b 20748000 rtn master 
+4a7c 1d027e00 deposit clke_bt 
+4a7d 20600000 rtn 
+
+supervision_update:
+4a7e 44cf4013 bpatch patch13_6 ,mem_patch13 
+4a7f 6848004d fetcht 4 ,mem_supervision_timer 
+4a80 20404a7a call get_clkbt 
+4a81 98461600 isub temp ,timeup 
+4a82 19627e00 deposit timeup 
+4a83 68440051 fetcht 2 ,mem_supervision_to 
+4a84 18438400 lshift temp ,temp 
+4a85 98467e00 isub temp ,pdata 
+4a86 20600000 rtn 
+
+supervision_flush:
+4a87 44cfc013 bpatch patch13_7 ,mem_patch13 
+4a88 20404a7a call get_clkbt 
+4a89 67e8004d store 4 ,mem_supervision_timer 
+4a8a 20600000 rtn 
+
+assert:
+4a8b 44d04014 bpatch patch14_0 ,mem_patch14 
+4a8c 20204a8b branch assert 
+
+loop:
+4a8d 20204a8d branch loop 
+
+sleep:
+4a8e 207a0000 rtn blank 
+4a8f 1fe37e00 rshift pdata ,pdata 
+4a90 1fe0fffd increase -3 ,pdata 
+
+sleep_loop:
+4a91 1fe0ffff increase -1 ,pdata 
+4a92 2422ca91 nbranch sleep_loop ,zero 
+4a93 18007e00 force 0 ,pdata 
+4a94 20600000 rtn 
+
+init_param:
+4a95 df200010 arg 0x10 ,loopcnt 
+4a96 d8a00000 arg 0 ,contw 
+4a97 20407ca1 call memset0 
+4a98 d8a0043b arg mem_le_state ,contw 
+4a99 df20000a arg 10 ,loopcnt 
+4a9a 20407ca1 call memset0 
+4a9b 7009ae00 jam 0 ,mem_sp_calc 
+4a9c 700a9500 jam 0 ,mem_fifo_temp 
+4a9d 70048800 jam 0 ,mem_le_testtype 
+4a9e 70017d00 jam 0 ,mem_debug_config 
+4a9f 7004cd00 jam 0 ,mem_lmp_conn_state 
+4aa0 44d0c014 bpatch patch14_1 ,mem_patch14 
+4aa1 70016b00 jam 0 ,mem_connection_options 
+4aa2 70014f00 jam 0 ,mem_tester_emulate 
+4aa3 70015a00 jam 0 ,mem_tester_cnt 
+4aa4 589e8b33 setarg param_glap 
+4aa5 67e640a7 store 3 ,mem_glap 
+4aa6 58000153 setarg param_acl_pktlen 
+4aa7 67e40083 store 2 ,mem_acl_pktlen 
+4aa8 7000851e jam param_sco_pktlen ,mem_sco_pktlen 
+4aa9 70008601 jam param_acl_pktcnt ,mem_acl_pktcnt 
+4aaa 70008807 jam param_sco_pktcnt ,mem_sco_pktcnt 
+4aab 5812e904 setarg param_hci_version 
+4aac 67e60080 store 3 ,mem_hci_version 
+4aad 70009060 jam 0x60 ,mem_fhs_misc 
+4aae 7040d005 jam param_max_slot ,mem_max_slot 
+4aaf 70001402 jam 0x02 ,mem_fw_ver 
+4ab0 6fe2462c fetch 1 ,mem_ssp_enable 
+4ab1 245a7376 ncall init_memp ,blank 
+4ab2 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+4ab3 245a73cd ncall init_memp_256 ,blank 
+4ab4 44d14014 bpatch patch14_2 ,mem_patch14 
+4ab5 20758000 rtn wake 
+4ab6 58000000 setarg 0 
+4ab7 67e441dd store 2 ,mem_tx_len 
+4ab8 1c437e00 rshift clkn_bt ,pdata 
+4ab9 67e84094 store 4 ,mem_last_clkn 
+4aba 20600000 rtn 
+
+lpmstate:
+4abb 6fe88124 fetch 4 ,core_lpm_xtalcnt 
+4abc 2feffe13 isolate1 hibernate ,pdata 
+4abd c30bcac2 bbit0 isogate ,lpm_open_isogate 
+4abe 2420fd74 nbranch clean_mem ,true 
+4abf d85fffff arg param_hibernate_clks ,temp 
+4ac0 1ce27e00 deposit auxcnt 
+4ac1 203a4b18 branch lpm_enter_sleep ,blank 
+
+lpm_open_isogate:
+4ac2 79207e17 set1 isogate ,pdata 
+4ac3 79207e14 set1 xram_switch ,pdata 
+4ac4 79207e15 set1 pram_switch ,pdata 
+4ac5 67e8804c store 4 ,core_lpm_reg 
+4ac6 37d98200 until null ,lpo_edge 
+4ac7 37d98200 until null ,lpo_edge 
+4ac8 20404bdd call lpm_write_ctrl2 
+4ac9 6fe2804e fetch 1 ,core_lpm_isogate 
+4aca 79207e06 set1 enable_retmem ,pdata 
+4acb 67e2804e store 1 ,core_lpm_isogate 
+4acc 20404bdd call lpm_write_ctrl2 
+4acd 2020fd74 branch clean_mem ,true 
+4ace 7835fc00 enable wake 
+
+lpm_load_context:
+4acf 70804301 jam 0x1 ,core_config 
+4ad0 6ff04191 fetch 8 ,mem_saved_mark 
+4ad1 98000000 iforce mark 
+4ad2 6fec8130 fetch 6 ,core_gpio_wakeup 
+4ad3 67ec00a1 store 6 ,mem_gpio_wakeup 
+4ad4 20600000 rtn 
+
+lpm_save_context:
+4ad5 18027e00 deposit mark 
+4ad6 67f04191 store 8 ,mem_saved_mark 
+4ad7 20204be3 branch lpm_write_gpio_wakeup 
+
+lpo_calibration:
+4ad8 68428042 fetcht 1 ,core_clksel 
+4ad9 18417ef0 and temp ,0xf0 ,pdata 
+4ada 243a4ae1 nbranch lpo_cal_inited ,blank 
+4adb 6fe64170 fetch 3 ,mem_clks_per_lpo 
+4adc 247a0000 nrtn blank 
+4add 18417e0f and temp ,0xf ,pdata 
+4ade 1fe1fec0 or_into 0xc0 ,pdata 
+4adf 67e28042 store 1 ,core_clksel 
+4ae0 70800a80 jam ccnt_start ,core_dma_start 
+
+lpo_cal_inited:
+4ae1 6fe28108 fetch 1 ,core_misc_status 
+4ae2 c4000000 rtnbit0 ccnt_done 
+4ae3 6fe6810a fetch 3 ,core_ccnt_counter 
+4ae4 67e64170 store 3 ,mem_clks_per_lpo 
+4ae5 20600000 rtn 
+
+lpm_adjust_clk:
+4ae6 44d1c014 bpatch patch14_3 ,mem_patch14 
+4ae7 1b427e00 deposit clke 
+4ae8 20407d12 call clk_diff_rt 
+4ae9 68484160 fetcht 4 ,mem_sleep_counter_all 
+4aea 18467cff sub temp ,0xff ,null 
+4aeb 20610000 rtn positive 
+4aec 1fed7e00 lshift8 pdata ,pdata 
+4aed 1ff27e00 lshift4 pdata ,pdata 
+4aee 9846fc00 idiv temp 
+4aef 20407d61 call wait_div_end 
+4af0 1807fe00 quotient pdata 
+4af1 d84000c8 arg param_lpm_adjmax ,temp 
+4af2 20407d6c call ceiling 
+4af3 67e20099 store 1 ,mem_lpm_adjust 
+4af4 24344af6 nbranch lpm_adjust_positive ,user 
+4af5 1fe67e00 sub pdata ,0 ,pdata 
+
+lpm_adjust_positive:
+4af6 68464170 fetcht 3 ,mem_clks_per_lpo 
+4af7 9840fe00 iadd temp ,pdata 
+4af8 67e64170 store 3 ,mem_clks_per_lpo 
+
+lpm_clear_counter:
+4af9 58000000 setarg 0 
+4afa 67e84160 store 4 ,mem_sleep_counter_all 
+4afb 20600000 rtn 
+
+lpm_doze:
+4afc 6fe24158 fetch 1 ,mem_lpm_doze_switch 
+4afd 20204aff branch lpm_hibernate_normal 
+
+lpm_hibernate:
+4afe 6fe24157 fetch 1 ,mem_lpm_hibernate_switch 
+
+lpm_hibernate_normal:
+4aff 67e2417c store 1 ,mem_lpm_xtalcnt + 3 
+4b00 44d24014 bpatch patch14_4 ,mem_patch14 
+4b01 20404be3 call lpm_write_gpio_wakeup 
+4b02 d85fffff arg param_hibernate_clks ,temp 
+4b03 6fe24177 fetch 1 ,mem_lpm_config + 1 
+4b04 793ffe07 set0 7 ,pdata 
+4b05 67e24177 store 1 ,mem_lpm_config + 1 
+
+lpm_sleep:
+4b06 44d2c014 bpatch patch14_5 ,mem_patch14 
+4b07 204049e6 call xtal_fast_wake 
+4b08 6fe84160 fetch 4 ,mem_sleep_counter_all 
+4b09 9840fe00 iadd temp ,pdata 
+4b0a 67e84160 store 4 ,mem_sleep_counter_all 
+4b0b 20404ad5 call lpm_save_context 
+4b0c 6fe64179 fetch 3 ,mem_lpm_xtalcnt 
+4b0d 67e6804c store 3 ,core_lpm_reg 
+4b0e ea220006 ifetchr rega ,1 ,contr 
+4b0f 6fe28127 fetch 1 ,core_lpm_buckcfg 
+4b10 e7e20005 istore 1 ,contw 
+4b11 37d98200 until null ,lpo_edge 
+4b12 632c4164 storer clkn ,6 ,mem_sleep_clkn 
+4b13 70800502 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+4b14 37d98200 until null ,lpo_edge 
+4b15 37d98200 until null ,lpo_edge 
+4b16 6222804e storer rega ,1 ,core_lpm_isogate 
+4b17 70800502 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+
+lpm_enter_sleep:
+4b18 37d98200 until null ,lpo_edge 
+4b19 37d98200 until null ,lpo_edge 
+4b1a 6048804c hstoret 4 ,core_lpm_reg 
+4b1b 70800510 hjam lpmreg_sel_counter ,core_lpm_wr 
+4b1c 37df8200 until null ,never 
+
+lpm_recover_clk:
+4b1d 44d34014 bpatch patch14_6 ,mem_patch14 
+4b1e 58000000 setarg 0 
+4b1f 1ce27c00 copy auxcnt ,null 
+4b20 2022cb28 branch lpm_recover_timeout ,zero 
+4b21 6fe28124 hfetch 1 ,core_lpm_xtalcnt 
+4b22 68428125 hfetcht 1 ,core_lpm_buckcnt 
+4b23 98467c00 isub temp ,null 
+4b24 20214b26 branch lpm_recover_xtal ,positive 
+4b25 18427e00 deposit temp 
+
+lpm_recover_xtal:
+4b26 9ce67e00 isub auxcnt ,pdata 
+4b27 1fe0fe01 increase 1 ,pdata 
+
+lpm_recover_timeout:
+4b28 1fe0fe08 increase 8 ,pdata 
+4b29 37d98200 until null ,lpo_edge 
+4b2a 9e20fe00 iadd lpo_time ,pdata 
+4b2b 6848415c fetcht 4 ,mem_sleep_counter 
+4b2c 9840fe00 iadd temp ,pdata 
+4b2d 68464170 fetcht 3 ,mem_clks_per_lpo 
+4b2e 984ffe00 imul32 temp ,pdata 
+4b2f 1fecfe00 rshift8 pdata ,pdata 
+4b30 1ff1fe00 rshift4 pdata ,pdata 
+4b31 1fe0fe6e increase param_lpm_fix ,pdata 
+4b32 d8400ea6 arg 3750 ,temp 
+4b33 9846fc00 idiv temp 
+4b34 20407d61 call wait_div_end 
+4b35 1807fe00 quotient pdata 
+4b36 1ff07e00 lshift16 pdata ,pdata 
+4b37 18070400 remainder temp 
+4b38 9841fe00 ior temp ,pdata 
+4b39 684c4164 fetcht 6 ,mem_sleep_clkn 
+4b3a 20407d07 call clk_add 
+4b3b 18423200 copy temp ,clkn 
+4b3c 6fec4048 fetch 6 ,mem_context + coffset_clk_offset 
+4b3d 20404850 call calc_clke2 
+4b3e 20600000 rtn 
+
+lpm_dispatch:
+4b3f 44d3c014 bpatch patch14_7 ,mem_patch14 
+4b40 20404ad8 call lpo_calibration 
+4b41 6fe64170 fetch 3 ,mem_clks_per_lpo 
+4b42 207a0000 rtn blank 
+4b43 6fe24091 fetch 1 ,mem_lpm_mode 
+4b44 207a0000 rtn blank 
+4b45 6fe2462c fetch 1 ,mem_ssp_enable 
+4b46 203a4b49 branch lpm_dispatch_next ,blank 
+4b47 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+4b48 207a0000 rtn blank 
+
+lpm_dispatch_next:
+4b49 6fe24492 fetch 1 ,mem_le_sc_calc 
+4b4a 247a0000 nrtn blank 
+4b4b 20404bf4 call lpm_check_wake_lock 
+4b4c 247a0000 nrtn blank 
+4b4d 6fe24040 fetch 1 ,mem_context 
+4b4e 2fe00e03 compare 3 ,pdata ,0x7 
+4b4f 2420cb72 nbranch lpm_dispatch_unconn ,true 
+4b50 6fe44042 fetch 2 ,mem_context + coffset_tsniff 
+4b51 207a0000 rtn blank 
+4b52 20758000 rtn wake 
+4b53 44d44015 bpatch patch15_0 ,mem_patch15 
+4b54 684200a0 fetcht 1 ,mem_lpm_current_mult 
+4b55 6fe44042 fetch 2 ,mem_context + coffset_tsniff 
+4b56 984ffe00 imul32 temp ,pdata 
+4b57 18518400 rshift4 temp ,temp 
+4b58 184b0400 rshift2 temp ,temp 
+4b59 98467e00 isub temp ,pdata 
+4b5a 68484044 fetcht 4 ,mem_context + coffset_sniff_anchor 
+4b5b 9840fe00 iadd temp ,pdata 
+4b5c 68424156 fetcht 1 ,mem_lpm_overhead 
+4b5d 98467e00 isub temp ,pdata 
+4b5e 1ff06000 lshift16 pdata ,alarm 
+4b5f 44d4c015 bpatch patch15_1 ,mem_patch15 
+4b60 6fe4404e fetch 2 ,mem_context + coffset_rx_window 
+4b61 1fe37e00 rshift pdata ,pdata 
+4b62 20407d2b call clk2bt 
+4b63 1e027e00 deposit alarm 
+4b64 20407d14 call clk_diff 
+4b65 1b420400 copy clke ,temp 
+4b66 20407d12 call clk_diff_rt 
+4b67 20740000 rtn user 
+
+lpm_dispatch_sleep:
+4b68 20407d24 call clk2lpo 
+
+lpm_dispatch_lpo:
+4b69 44d54015 bpatch patch15_2 ,mem_patch15 
+4b6a 6fe24179 fetch 1 ,mem_lpm_xtalcnt 
+4b6b 98467c00 isub temp ,null 
+4b6c 20214af9 branch lpm_clear_counter ,positive 
+4b6d 6048415c storet 4 ,mem_sleep_counter 
+4b6e 20404cc1 call app_will_enter_lpm 
+4b6f 204056d5 call l2cap_lpm_save_txbuf 
+4b70 6848415c fetcht 4 ,mem_sleep_counter 
+4b71 20204b06 branch lpm_sleep 
+
+lpm_dispatch_unconn:
+4b72 44d5c015 bpatch patch15_3 ,mem_patch15 
+4b73 6fe24040 fetch 1 ,mem_context 
+4b74 c3800000 rtnbit1 state_inconn 
+4b75 c3818000 rtnbit1 state_inpage 
+4b76 6fe2462c fetch 1 ,mem_ssp_enable 
+4b77 203a4b7a branch lpm_unconn_nossp ,blank 
+4b78 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+4b79 207a0000 rtn blank 
+
+lpm_unconn_nossp:
+4b7a 44d64015 bpatch patch15_4 ,mem_patch15 
+4b7b 6fe24340 fetch 1 ,mem_le_adv_enable 
+4b7c 243a4b7f nbranch lpm_unconn_cont ,blank 
+4b7d 6fe24093 fetch 1 ,mem_scan_mode 
+4b7e 207a0000 rtn blank 
+
+lpm_unconn_cont:
+4b7f 6fe44154 fetch 2 ,mem_lpm_interval 
+4b80 207a0000 rtn blank 
+
+lpm_sleep_btclk:
+4b81 68424156 fetcht 1 ,mem_lpm_overhead 
+4b82 98467e00 isub temp ,pdata 
+4b83 d8401d4c arg 7500 ,temp 
+4b84 984ffe00 imul32 temp ,pdata 
+4b85 20204b68 branch lpm_dispatch_sleep 
+
+lpm_set_mult:
+4b86 44d6c015 bpatch patch15_5 ,mem_patch15 
+4b87 7855fc00 disable wake 
+4b88 6fe20030 fetch 1 ,mem_state 
+4b89 c4008000 rtnbit0 state_insniff 
+4b8a 2436cba5 nbranch lpm_not_match ,match 
+4b8b 20404ba0 call lpm_match 
+4b8c 6fe440c1 fetch 2 ,mem_rx_window_sniff 
+4b8d 67e4003e store 2 ,mem_rx_window 
+4b8e 6fe20047 fetch 1 ,mem_arq 
+4b8f c281cbb3 bbit1 wack ,lpm_mult_short 
+4b90 c586cbb3 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+4b91 2040564e call l2cap_malloc_is_fifo_empty 
+4b92 243a4bb3 nbranch lpm_mult_short ,blank 
+4b93 6fe2452e fetch 1 ,mem_classic_bt_flag 
+4b94 c280cbb3 bbit1 short_mult_flag ,lpm_mult_short 
+
+lpm_mult_wait_timeout:
+4b95 7000a000 jam 0 ,mem_lpm_current_mult 
+4b96 c586cbb3 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+4b97 6fe24175 fetch 1 ,mem_lpm_mult_cnt 
+4b98 203a4bb7 branch lpm_mult_long ,blank 
+4b99 1fe0ffff increase -1 ,pdata 
+4b9a 67e24175 store 1 ,mem_lpm_mult_cnt 
+4b9b 20600000 rtn 
+
+classic_bt_set_mult_short_flag:
+4b9c d8e00001 arg short_mult_flag ,queue 
+4b9d 202064af branch classic_bluetooth_set_flag 
+
+classic_bt_clr_mult_short_flag:
+4b9e d8e00001 arg short_mult_flag ,queue 
+4b9f 202064b3 branch classic_bluetooth_clr_flag 
+
+lpm_match:
+4ba0 70415a00 jam 0 ,mem_sniff_unint_lost 
+4ba1 6fe6416a fetch 3 ,mem_sniff_rcv 
+4ba2 1fe0fe01 increase 1 ,pdata 
+4ba3 67e6416a store 3 ,mem_sniff_rcv 
+4ba4 20600000 rtn 
+
+lpm_not_match:
+4ba5 44d74015 bpatch patch15_6 ,mem_patch15 
+4ba6 684440c1 fetcht 2 ,mem_rx_window_sniff 
+4ba7 18430400 rshift temp ,temp 
+4ba8 6fe4003e fetch 2 ,mem_rx_window 
+4ba9 9840fe00 iadd temp ,pdata 
+4baa 67e4003e store 2 ,mem_rx_window 
+
+lpm_lost:
+4bab 7000a000 jam 0 ,mem_lpm_current_mult 
+4bac 6fe6416d fetch 3 ,mem_sniff_lost 
+4bad 1fe0fe01 increase 1 ,pdata 
+4bae 67e6416d store 3 ,mem_sniff_lost 
+4baf 6fe2415a fetch 1 ,mem_sniff_unint_lost 
+4bb0 1fe0fe01 increase 1 ,pdata 
+4bb1 67e2415a store 1 ,mem_sniff_unint_lost 
+4bb2 20600000 rtn 
+
+lpm_mult_short:
+4bb3 7000a000 jam 0 ,mem_lpm_current_mult 
+4bb4 6fe24174 fetch 1 ,mem_lpm_mult_timeout 
+4bb5 67e24175 store 1 ,mem_lpm_mult_cnt 
+4bb6 20600000 rtn 
+
+lpm_mult_long:
+4bb7 68424173 fetcht 1 ,mem_lpm_mult 
+4bb8 604200a0 storet 1 ,mem_lpm_current_mult 
+4bb9 20600000 rtn 
+
+lpm_cal_xtal_startup:
+4bba 44d7c015 bpatch patch15_7 ,mem_patch15 
+4bbb 6fe24179 fetch 1 ,mem_lpm_xtalcnt 
+4bbc 247a0000 nrtn blank 
+4bbd 70804206 hjam clksel_rc ,core_clksel 
+4bbe 58000f0c setarg 0xf0c 
+4bbf 20404bd2 call lpm_write_config 
+4bc0 58030d40 setarg 200000 
+4bc1 20404a8e call sleep 
+4bc2 37d98200 until null ,lpo_edge 
+4bc3 1e226000 copy lpo_time ,alarm 
+4bc4 204049e6 call xtal_fast_wake 
+4bc5 70804204 hjam clksel_xtal ,core_clksel 
+4bc6 2000000a nop 10 
+4bc7 37d98200 until null ,lpo_edge 
+4bc8 1e227e00 deposit lpo_time 
+4bc9 9e067e00 isub alarm ,pdata 
+4bca 1fe0fe30 increase 0x30 ,pdata 
+4bcb d84000ff arg 0xff ,temp 
+4bcc 20407d6c call ceiling 
+4bcd 67e24179 store 1 ,mem_lpm_xtalcnt 
+4bce 20007530 nop 30000 
+4bcf 20007530 nop 30000 
+4bd0 20007530 nop 30000 
+4bd1 20600000 rtn 
+
+lpm_write_config:
+4bd2 d8a00fff arg 0xfff ,contw 
+4bd3 98a10a00 iand contw ,contw 
+4bd4 6fe24176 fetch 1 ,mem_lpm_config 
+4bd5 1fe17ef0 and_into 0xf0 ,pdata 
+4bd6 1fed7e00 lshift8 pdata ,pdata 
+4bd7 98a1fe00 ior contw ,pdata 
+4bd8 67e4804c hstore 2 ,core_lpm_reg 
+4bd9 efe40006 ifetch 2 ,contr 
+4bda e7e40005 istore 2 ,contw 
+
+lpm_write_ctrl:
+4bdb 58000001 setarg lpmreg_sel_ctrl 
+4bdc 20204bde branch lpm_write 
+
+lpm_write_ctrl2:
+4bdd 58000002 setarg lpmreg_sel_ctrl2 
+
+lpm_write:
+4bde 67e28005 hstore 1 ,core_lpm_wr 
+4bdf 37d98200 until null ,lpo_edge 
+4be0 37d98200 until null ,lpo_edge 
+4be1 37d98200 until null ,lpo_edge 
+4be2 20600000 rtn 
+
+lpm_write_gpio_wakeup:
+4be3 44d84016 bpatch patch16_0 ,mem_patch16 
+4be4 6fe800a1 fetch 4 ,mem_gpio_wakeup 
+4be5 67e8804c store 4 ,core_lpm_reg 
+4be6 58000004 setarg lpmreg_sel_gpiolow 
+4be7 20404bde call lpm_write 
+4be8 efe40006 ifetch 2 ,contr 
+4be9 67e8804c store 4 ,core_lpm_reg 
+4bea 58000008 setarg lpmreg_sel_gpiohigh 
+4beb 20204bde branch lpm_write 
+
+lpm_get_wake_lock:
+4bec 6fe44152 fetch 2 ,mem_lpm_wake_lock 
+4bed f9207e00 qset1 pdata 
+4bee 67e44152 store 2 ,mem_lpm_wake_lock 
+4bef 20600000 rtn 
+
+lpm_put_wake_lock:
+4bf0 6fe44152 fetch 2 ,mem_lpm_wake_lock 
+4bf1 f93ffe00 qset0 pdata 
+4bf2 67e44152 store 2 ,mem_lpm_wake_lock 
+4bf3 20600000 rtn 
+
+lpm_check_wake_lock:
+4bf4 44d8c016 bpatch patch16_1 ,mem_patch16 
+4bf5 20404cbf call app_check_wake_lock 
+4bf6 6fe44152 fetch 2 ,mem_lpm_wake_lock 
+4bf7 1fe22200 copy pdata ,rega 
+4bf8 6fe2004c fetch 1 ,mem_state_map 
+4bf9 2feffe06 isolate1 smap_rxlmp ,pdata 
+4bfa 7920a20b setflag true ,wake_lock_lmp_rx ,rega 
+4bfb 6fe20078 fetch 1 ,mem_lmo_opcode1 
+4bfc 6842007c fetcht 1 ,mem_lmo_opcode2 
+4bfd 9840fe00 iadd temp ,pdata 
+4bfe 68420048 fetcht 1 ,mem_lmp_to_send 
+4bff 9840fe00 iadd temp ,pdata 
+4c00 7d3a220a nsetflag blank ,wake_lock_lmp_tx ,rega 
+4c01 6fe244d1 fetch 1 ,mem_le_tx_buff_used 
+4c02 7d3a2201 nsetflag blank ,wake_lock_ble_tx ,rega 
+4c03 6fe40259 fetch 2 ,mem_l2cap_rxbuff1_len 
+4c04 6844025b fetcht 2 ,mem_l2cap_rxbuff2_len 
+4c05 9840fe00 iadd temp ,pdata 
+4c06 7d3a220d nsetflag blank ,wake_lock_l2cap_rx ,rega 
+4c07 6ff0463a fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+4c08 7d3a220f nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+4c09 6ff04642 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+4c0a 7d3a220e nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+4c0b 6fe44ff4 fetch 2 ,ipc_bt2m0_read_ptr 
+4c0c 68444ff6 fetcht 2 ,ipc_bt2m0_write_ptr 
+4c0d 98467c00 isub temp ,null 
+4c0e 7d22a205 nsetflag zero ,wake_lock_ipc_bt2m0 ,rega 
+4c0f 6fe44ffc fetch 2 ,ipc_m02bt_read_ptr 
+4c10 68444ffe fetcht 2 ,ipc_m02bt_write_ptr 
+4c11 98467c00 isub temp ,null 
+4c12 7d22a206 nsetflag zero ,wake_lock_ipc_m02bt ,rega 
+4c13 6fe28043 fetch 1 ,core_config 
+4c14 2feffe07 isolate1 7 ,pdata 
+4c15 7920a202 setflag true ,wake_lock_m0_single ,rega 
+4c16 6fe241cf fetch 1 ,mem_hci_cmd 
+4c17 7d3a2208 nsetflag blank ,wake_lock_cmd ,rega 
+4c18 1a227e00 copy rega ,pdata 
+4c19 67e44152 store 2 ,mem_lpm_wake_lock 
+4c1a 20600000 rtn 
+
+lpm_shut_down:
+4c1b 6fe8811c hfetch 4 ,core_lpm_ctrl 
+4c1c 793ffe1b set0 27 ,pdata 
+4c1d 67e8804c hstore 4 ,core_lpm_reg 
+4c1e 20404bdb call lpm_write_ctrl 
+4c1f 20204a8b branch assert 
+
+lpm_disable_exen_output:
+4c20 6fe88124 hfetch 4 ,core_lpm_xtalcnt 
+4c21 793ffe14 set0 20 ,pdata 
+4c22 67e8804c hstore 4 ,core_lpm_reg 
+4c23 20204bdd branch lpm_write_ctrl2 
+
+check_bt_disabled:
+4c24 6fe44150 fetch 2 ,mem_chip_functions 
+4c25 c2804a8b bbit1 bt_disabled ,assert 
+4c26 20600000 rtn 
+
+check_ble_disabled:
+4c27 6fe44150 fetch 2 ,mem_chip_functions 
+4c28 c280ca8b bbit1 ble_disabled ,assert 
+4c29 20600000 rtn 
+
+check_module_disabled:
+4c2a 6fe44150 fetch 2 ,mem_chip_functions 
+4c2b c2814a8b bbit1 module_disable ,assert 
+4c2c 20600000 rtn 
+
+test_init:
+4c2d 58004c35 setarg test_proc 
+4c2e 67e441f2 store 2 ,mem_cb_bt_process 
+4c2f 58004c64 setarg test_sleep 
+4c30 67e441f6 store 2 ,mem_cb_bb_event_process 
+4c31 58004c35 setarg test_proc 
+4c32 67e441f4 store 2 ,mem_cb_idle_process 
+4c33 20758000 rtn wake 
+4c34 20600000 rtn 
+
+test_proc:
+4c35 6fe20030 fetch 1 ,mem_state 
+4c36 c300cc3b bbit0 state_insniff ,check_test_cond 
+4c37 7920000d set1 mark_lpm_mult_enable ,mark 
+4c38 6fec416a fetch 6 ,mem_sniff_rcv 
+4c39 67ec44e8 store 6 ,mem_local_name 
+4c3a 20600000 rtn 
+
+check_test_cond:
+4c3b 6fe2014f fetch 1 ,mem_tester_emulate 
+4c3c c4010000 rtnbit0 tester_change 
+4c3d 6fe2015a fetch 1 ,mem_tester_cnt 
+4c3e 1fe0fe01 increase 1 ,pdata 
+4c3f 67e2015a store 1 ,mem_tester_cnt 
+4c40 c1828000 rtnne 5 
+4c41 70015a00 jam 0 ,mem_tester_cnt 
+4c42 6fe2014f fetch 1 ,mem_tester_emulate 
+4c43 793ffe02 set0 tester_change ,pdata 
+4c44 67e2014f store 1 ,mem_tester_emulate 
+4c45 c281cc5c bbit1 tester_exit ,check_test_exit 
+4c46 2feffe07 isolate1 tester_no_whitening ,pdata 
+4c47 2040fd88 call test_no_white ,true 
+4c48 2440fd8c ncall test_enable_white ,true 
+4c49 6fe20156 fetch 1 ,test_mode_packet_type 
+4c4a 2fe06020 compare 0x20 ,pdata ,0x30 
+4c4b 6fe2004c fetch 1 ,mem_state_map 
+4c4c 7920fe05 setflag true ,smap_edr ,pdata 
+4c4d 67e2004c store 1 ,mem_state_map 
+4c4e 6fe2014f fetch 1 ,mem_tester_emulate 
+4c4f 6842017d fetcht 1 ,mem_debug_config 
+4c50 2feffe04 isolate1 tester_pattern_test ,pdata 
+4c51 79208406 setflag true ,debug_tx_pattern ,temp 
+4c52 2feffe06 isolate1 tester_fixed_freq ,pdata 
+4c53 79208404 setflag true ,debug_tx_fixed_freq ,temp 
+4c54 79208405 setflag true ,debug_rx_fixed_freq ,temp 
+4c55 6042017d storet 1 ,mem_debug_config 
+4c56 6fe20152 fetch 1 ,test_mode_tx_freq 
+4c57 67e204c7 store 1 ,mem_tx_fixed_freq 
+4c58 6fe20153 fetch 1 ,test_mode_rx_freq 
+4c59 67e204c8 store 1 ,mem_rx_fixed_freq 
+4c5a 79200011 set1 mark_testmode ,mark 
+4c5b 20600000 rtn 
+
+check_test_exit:
+4c5c 793f8011 set0 mark_testmode ,mark 
+4c5d 70014f00 jam 0 ,mem_tester_emulate 
+4c5e 6fe20159 fetch 1 ,mem_test_mode_old_debug_config 
+4c5f 67e2017d store 1 ,mem_debug_config 
+4c60 6fe28043 hfetch 1 ,core_config 
+4c61 1fe17efb and_into 0xfb ,pdata 
+4c62 67e28043 hstore 1 ,core_config 
+4c63 20600000 rtn 
+
+test_sleep:
+4c64 1a627e00 deposit regc 
+4c65 c1880000 rtnne bt_evt_button_long_pressed 
+
+test_sleep_loop:
+4c66 20600000 rtn 
+4c67 c000cc66 beq 1 ,test_sleep_loop 
+4c68 20204afe branch lpm_hibernate 
+
+test_tx:
+4c69 18000402 force 2 ,temp 
+4c6a 184085fe increase -2 ,temp 
+4c6b 20404915 call set_sync_on 
+4c6c 20404930 call set_freq_tx 
+4c6d 7843fc00 disable enable_white 
+4c6e 782efc00 enable encode_fec0 
+4c6f 79202a00 set1 txgfsk ,radio_ctrl 
+4c70 20404a50 call start_transmitter 
+
+test_tx_loop:
+4c71 6fe20000 fetch 1 ,0 
+4c72 08008608 inject mod ,8 
+4c73 20204c71 branch test_tx_loop 
+
+wait_sec_powerup:
+4c74 6fe28108 fetch 1 ,core_misc_status 
+4c75 c3014c74 bbit0 sec_pwrup ,wait_sec_powerup 
+4c76 20600000 rtn 
+
+app_init:
+4c77 44d94016 bpatch patch16_2 ,mem_patch16 
+4c78 6fe24092 fetch 1 ,mem_device_option 
+4c79 203a4c77 branch app_init ,blank 
+4c7a c0054d95 beq dvc_op_module ,module_init 
+4c7b 20600000 rtn 
+
+app_lpm_init:
+4c7c 44d9c016 bpatch patch16_3 ,mem_patch16 
+4c7d 70014f00 jam 0 ,mem_tester_emulate 
+4c7e 70017d00 jam 0 ,mem_debug_config 
+4c7f 70017e00 jam 0 ,mem_lch_code 
+4c80 58000000 setarg 0 
+4c81 67ea09aa store 5 ,mem_sp_state_start 
+4c82 6fe24092 fetch 1 ,mem_device_option 
+4c83 203a4c7c branch app_lpm_init ,blank 
+4c84 c0054dba beq dvc_op_module ,module_lpm_init 
+
+app_lpm_init0:
+4c85 20600000 rtn 
+
+app_process_idle:
+4c86 20407b84 call ui_dispatch 
+4c87 20407bc1 call check_51cmd 
+4c88 20404c8f call app_process_bb_event 
+4c89 6fe441f4 fetch 2 ,mem_cb_idle_process 
+4c8a 20207d77 branch callback_func 
+
+app_process_bt:
+4c8b 6fe441f2 fetch 2 ,mem_cb_bt_process 
+4c8c 20207d77 branch callback_func 
+
+app_process_ble:
+4c8d 6fe441f0 fetch 2 ,mem_cb_le_process 
+4c8e 20207d77 branch callback_func 
+
+app_process_bb_event:
+4c8f 44da4016 bpatch patch16_4 ,mem_patch16 
+4c90 da20463a arg mem_ipc_fifo_bt2c51 ,rega 
+4c91 20407d9c call fifo_out 
+4c92 207a0000 rtn blank 
+4c93 1fe22600 copy pdata ,regc 
+4c94 20404c98 call app_event_normal_process 
+4c95 20204cbd branch app_process_bb_event_priority 
+
+app_discard_event:
+4c96 da600000 arg 0 ,regc 
+4c97 20600000 rtn 
+
+app_event_normal_process:
+4c98 c000ccaa beq bt_evt_bb_connected ,app_evt_bt_conn 
+4c99 c0084cf0 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+4c9a c002ccce beq bt_evt_setup_complete ,app_evt_setup_complete 
+4c9b c0094cd5 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+4c9c c0034cec beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+4c9d c0024d1f beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+4c9e c0014d24 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+4c9f c009cd1f beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+4ca0 c00a4ce4 beq bt_evt_le_connected ,app_le_event_bb_connected 
+4ca1 c00acce8 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+4ca2 c001ccc7 beq bt_evt_reconn_started ,app_event_reconn_start 
+4ca3 c005ccd9 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+4ca4 c0064ce0 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+4ca5 c00b4cf4 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+4ca6 c00c4cc3 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+4ca7 c0154cb3 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+4ca8 c015ccb1 beq bt_evt_switch_success_master ,app_event_switch_success 
+4ca9 20600000 rtn 
+
+app_evt_bt_conn:
+4caa 6fe44652 fetch 2 ,mem_ui_state_map 
+4cab 79207e00 set1 ui_state_bt_connected ,pdata 
+4cac 67e44652 store 2 ,mem_ui_state_map 
+4cad 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cae 793ffe00 set0 app_disc_by_button ,pdata 
+4caf 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cb0 20600000 rtn 
+
+app_event_switch_success:
+4cb1 70022700 jam 0 ,mem_switch_fail_master_count 
+4cb2 20600000 rtn 
+
+app_event_switch_fail_master:
+4cb3 6fe20227 fetch 1 ,mem_switch_fail_master_count 
+4cb4 1fe0fe01 increase 1 ,pdata 
+4cb5 67e20227 store 1 ,mem_switch_fail_master_count 
+4cb6 1fe67c01 sub pdata ,1 ,null 
+4cb7 20214d5a branch app_bt_role_switch ,positive 
+4cb8 70022700 jam 0 ,mem_switch_fail_master_count 
+4cb9 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cba 79207e09 set1 app_disc_switch_fail ,pdata 
+4cbb 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cbc 20204d64 branch app_bt_disconnect 
+
+app_process_bb_event_priority:
+4cbd 6fe441f6 fetch 2 ,mem_cb_bb_event_process 
+4cbe 20207d77 branch callback_func 
+
+app_check_wake_lock:
+4cbf 6fe441ea fetch 2 ,mem_cb_check_wakelock 
+4cc0 20207d77 branch callback_func 
+
+app_will_enter_lpm:
+4cc1 6fe441ee fetch 2 ,mem_cb_before_lpm 
+4cc2 20207d77 branch callback_func 
+
+app_event_linkkey_generate:
+4cc3 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cc4 79207e01 set1 app_disc_after_pairing ,pdata 
+4cc5 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cc6 20204d8d branch app_bt_store_reconn_info 
+
+app_event_reconn_start:
+4cc7 6fe44652 fetch 2 ,mem_ui_state_map 
+4cc8 79207e07 set1 ui_state_bt_reconnect ,pdata 
+4cc9 67e44652 store 2 ,mem_ui_state_map 
+4cca 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4ccb 79207e02 set1 app_disc_after_reconn ,pdata 
+4ccc 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4ccd 20600000 rtn 
+
+app_evt_setup_complete:
+4cce 6fe44652 fetch 2 ,mem_ui_state_map 
+4ccf 79207e01 set1 ui_state_bt_setup_complete ,pdata 
+4cd0 67e44652 store 2 ,mem_ui_state_map 
+4cd1 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cd2 79207e04 set1 app_disc_after_setup_done ,pdata 
+4cd3 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cd4 20600000 rtn 
+
+app_evt_hid_handshake:
+4cd5 6fe44652 fetch 2 ,mem_ui_state_map 
+4cd6 79207e03 set1 ui_state_bt_hid_handshake ,pdata 
+4cd7 67e44652 store 2 ,mem_ui_state_map 
+4cd8 20600000 rtn 
+
+app_event_enter_sniff:
+4cd9 6fe44652 fetch 2 ,mem_ui_state_map 
+4cda 79207e05 set1 ui_state_bt_sniff ,pdata 
+4cdb 67e44652 store 2 ,mem_ui_state_map 
+4cdc 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cdd 79207e03 set1 app_disc_after_sniff ,pdata 
+4cde 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cdf 20600000 rtn 
+
+app_event_exit_sniff:
+4ce0 6fe44652 fetch 2 ,mem_ui_state_map 
+4ce1 793ffe05 set0 ui_state_bt_sniff ,pdata 
+4ce2 67e44652 store 2 ,mem_ui_state_map 
+4ce3 20600000 rtn 
+
+app_le_event_bb_connected:
+4ce4 6fe44652 fetch 2 ,mem_ui_state_map 
+4ce5 79207e09 set1 ui_state_ble_connected ,pdata 
+4ce6 67e44652 store 2 ,mem_ui_state_map 
+4ce7 20600000 rtn 
+
+app_le_event_bb_disconn:
+4ce8 6fe44652 fetch 2 ,mem_ui_state_map 
+4ce9 793ffe09 set0 ui_state_ble_connected ,pdata 
+4cea 67e44652 store 2 ,mem_ui_state_map 
+4ceb 20204d93 branch app_lpm_mult_disable 
+
+app_bb_event_hid_connected:
+4cec 6fe44652 fetch 2 ,mem_ui_state_map 
+4ced 79207e02 set1 ui_state_bt_hid_conn ,pdata 
+4cee 67e44652 store 2 ,mem_ui_state_map 
+4cef 20600000 rtn 
+
+app_evt_button_long_pressed:
+4cf0 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cf1 79207e00 set1 app_disc_by_button ,pdata 
+4cf2 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cf3 20600000 rtn 
+
+app_event_ml2cap_conn_refused:
+4cf4 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cf5 79207e08 set1 app_disc_l2cap_refused ,pdata 
+4cf6 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4cf7 20204d64 branch app_bt_disconnect 
+
+app_evt_timer:
+4cf8 44dac016 bpatch patch16_5 ,mem_patch16 
+4cf9 67e20228 store 1 ,mem_app_evt_timer_count 
+
+app_evt_100ms_loop:
+4cfa 6fe20228 fetch 1 ,mem_app_evt_timer_count 
+4cfb 207a0000 rtn blank 
+4cfc 1fe0ffff increase -1 ,pdata 
+4cfd 67e20228 store 1 ,mem_app_evt_timer_count 
+4cfe 20404d51 call app_lpm_wake_auto_lock_timer 
+4cff 20404d12 call app_unsniff_delay_timer 
+4d00 20404d18 call app_discovery_timer 
+4d01 6fe441fe fetch 2 ,mem_cb_event_timer 
+4d02 20407d77 call callback_func 
+4d03 20204cfa branch app_evt_100ms_loop 
+
+timer_single_step:
+4d04 efe20013 ifetch 1 ,regc 
+4d05 207a0000 rtn blank 
+4d06 1fe0ffff pincrease -1 
+4d07 e7e20013 istore 1 ,regc 
+4d08 247a0000 nrtn blank 
+4d09 1a427e00 copy regb ,pdata 
+4d0a 20207d77 branch callback_func 
+
+timer_single_step_2b:
+4d0b efe40013 ifetch 2 ,regc 
+4d0c 207a0000 rtn blank 
+4d0d 1fe0ffff pincrease -1 
+4d0e e7e40013 istore 2 ,regc 
+4d0f 247a0000 nrtn blank 
+4d10 1a427e00 copy regb ,pdata 
+4d11 20207d77 branch callback_func 
+
+app_unsniff_delay_timer:
+4d12 da604204 arg mem_unsniff2sniff_timer_count ,regc 
+4d13 da404d15 arg app_unsniff_delay_timeout ,regb 
+4d14 20204d04 branch timer_single_step 
+
+app_unsniff_delay_timeout:
+4d15 2040424e call context_check_idle 
+4d16 2022cd89 branch app_bt_enter_sniff ,zero 
+4d17 20600000 rtn 
+
+app_discovery_timer:
+4d18 da60464e arg mem_discovery_timeout_timer_count ,regc 
+4d19 da404d1b arg app_discovery_timeout ,regb 
+4d1a 20204d0b branch timer_single_step_2b 
+
+app_discovery_timeout:
+4d1b 20404d6b call app_bt_stop_discovery 
+4d1c 20404d83 call app_led_off 
+4d1d 6fe441f8 fetch 2 ,mem_cb_discovry_timeout 
+4d1e 20207d77 branch callback_func 
+
+app_bb_event_reconn_failed:
+4d1f 20404d37 call app_disconn_reason_flag_clear 
+
+app_clear_reconnect_flag:
+4d20 6fe44652 fetch 2 ,mem_ui_state_map 
+4d21 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+4d22 67e44652 store 2 ,mem_ui_state_map 
+4d23 20600000 rtn 
+
+app_bb_event_bb_disconn:
+4d24 70420400 jam 0 ,mem_unsniff2sniff_timer_count 
+4d25 6fe44652 fetch 2 ,mem_ui_state_map 
+4d26 c283cd29 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+4d27 2fec0001 isolate0 ui_state_bt_setup_complete ,pdata 
+4d28 2040cc96 call app_discard_event ,true 
+
+app_bb_event_bb_reconn_disconn:
+4d29 44db4016 bpatch patch16_6 ,mem_patch16 
+4d2a 6fe44652 fetch 2 ,mem_ui_state_map 
+4d2b 793ffe00 set0 ui_state_bt_connected ,pdata 
+4d2c 793ffe01 set0 ui_state_bt_setup_complete ,pdata 
+4d2d 793ffe02 set0 ui_state_bt_hid_conn ,pdata 
+4d2e 793ffe03 set0 ui_state_bt_hid_handshake ,pdata 
+4d2f 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+4d30 67e44652 store 2 ,mem_ui_state_map 
+4d31 20204d93 branch app_lpm_mult_disable 
+
+app_bb_hibernate:
+4d32 20404d34 call app_disconn_reason_clear 
+4d33 20204d85 branch app_enter_hibernate 
+
+app_disconn_reason_clear:
+4d34 58000000 setarg 0 
+4d35 67e44207 store app_disc_rsn_size ,mem_app_disconn_reason 
+4d36 20600000 rtn 
+
+app_disconn_reason_flag_clear:
+4d37 58000000 setarg 0 
+4d38 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4d39 20600000 rtn 
+
+app_disconn_reason_collect_bt:
+4d3a 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4d3b 67e44207 store app_disc_rsn_size ,mem_app_disconn_reason 
+4d3c 58000000 setarg 0 
+4d3d 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4d3e 20600000 rtn 
+
+app_disconn_reason_collect_ble:
+4d3f 6fe44209 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4d40 79207e07 set1 app_disc_ble ,pdata 
+4d41 67e44207 store app_disc_rsn_size ,mem_app_disconn_reason 
+4d42 58000000 setarg 0 
+4d43 67e44209 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+4d44 20600000 rtn 
+
+app_check_sniff:
+4d45 6fe24652 fetch 1 ,mem_ui_state_map 
+4d46 2feffe05 isolate1 ui_state_bt_sniff ,pdata 
+4d47 20600000 rtn 
+
+app_start_auto_sniff:
+4d48 6fe2452c fetch 1 ,mem_unsniff2sniff_timer 
+4d49 67e24204 store 1 ,mem_unsniff2sniff_timer_count 
+4d4a 20600000 rtn 
+
+app_get_lpm_wake_lock:
+4d4b d8e00009 arg wake_lock_app ,queue 
+4d4c 20204bec branch lpm_get_wake_lock 
+
+app_put_lpm_wake_lock:
+4d4d d8e00009 arg wake_lock_app ,queue 
+4d4e 20204bf0 branch lpm_put_wake_lock 
+
+app_lpm_wake_auto_lock:
+4d4f 70420505 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+4d50 20204d4b branch app_get_lpm_wake_lock 
+
+app_lpm_wake_auto_lock_timer:
+4d51 da604205 arg mem_wake_up_delay_timer ,regc 
+4d52 da404d4d arg app_put_lpm_wake_lock ,regb 
+4d53 20204d04 branch timer_single_step 
+
+app_l2cap_flow_control_enable:
+4d54 70433501 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+4d55 20600000 rtn 
+
+app_l2cap_flow_control_disable:
+4d56 70433500 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+4d57 20600000 rtn 
+
+app_bt_set_pincode:
+4d58 700a950a jam bt_cmd_set_pin_code ,mem_fifo_temp 
+4d59 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_role_switch:
+4d5a 700a951d jam bt_cmd_role_switch ,mem_fifo_temp 
+4d5b 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_start_reconnect:
+4d5c 44dbc016 bpatch patch16_7 ,mem_patch16 
+4d5d 6fe24206 fetch 1 ,mem_app_connection_options 
+4d5e 67e2016b store 1 ,mem_connection_options 
+4d5f 70022601 jam app_flag_reconnect ,mem_reconnect_flag 
+4d60 700a9503 jam bt_cmd_reconnect ,mem_fifo_temp 
+4d61 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_reconnect_cancel:
+4d62 700a951e jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+4d63 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_disconnect:
+4d64 700a9504 jam bt_cmd_disconnect ,mem_fifo_temp 
+4d65 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_start_discovery_short:
+4d66 6fe44655 fetch 2 ,mem_discovery_timeout 
+4d67 67e4464e store 2 ,mem_discovery_timeout_timer_count 
+
+app_bt_start_discovery_led_blink:
+4d68 20404d7f call app_led_start_blink 
+
+app_bt_start_discovery:
+4d69 700a9501 jam bt_cmd_start_discovery ,mem_fifo_temp 
+4d6a 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_stop_discovery:
+4d6b 58000000 setarg 0 
+4d6c 67e4464e store 2 ,mem_discovery_timeout_timer_count 
+4d6d 700a9502 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+4d6e 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_start_direct_adv:
+4d6f 700a950f jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+4d70 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_stop_direct_adv:
+4d71 700a9510 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+4d72 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_stop_adv:
+4d73 700a950e jam bt_cmd_stop_adv ,mem_fifo_temp 
+4d74 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_start_adv:
+4d75 700a950d jam bt_cmd_start_adv ,mem_fifo_temp 
+4d76 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_start_scan:
+4d77 700a9517 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+4d78 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_stop_scan:
+4d79 700a9518 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+4d7a 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_start_conn:
+4d7b 700a9516 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+4d7c 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_disconnect:
+4d7d 700a9511 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+4d7e 20207bb4 branch ui_ipc_send_cmd 
+
+app_led_start_blink:
+4d7f 700a9515 jam bt_cmd_led_blink ,mem_fifo_temp 
+4d80 20207bb4 branch ui_ipc_send_cmd 
+
+app_led_on:
+4d81 700a9514 jam bt_cmd_led_on ,mem_fifo_temp 
+4d82 20207bb4 branch ui_ipc_send_cmd 
+
+app_led_stop_blink:
+
+app_led_off:
+4d83 700a9513 jam bt_cmd_led_off ,mem_fifo_temp 
+4d84 20207bb4 branch ui_ipc_send_cmd 
+
+app_enter_hibernate:
+4d85 700a9519 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+4d86 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_sniff_exit:
+4d87 700a9506 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+4d88 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_enter_sniff:
+4d89 700a9505 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+4d8a 20207bb4 branch ui_ipc_send_cmd 
+
+app_ble_store_reconn_info:
+4d8b 700a951f jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+4d8c 20207bb4 branch ui_ipc_send_cmd 
+
+app_bt_store_reconn_info:
+4d8d 700a9520 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+4d8e 20207bb4 branch ui_ipc_send_cmd 
+
+app_store_reconn_info:
+4d8f 700a9525 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+4d90 20207bb4 branch ui_ipc_send_cmd 
+
+app_lpm_mult_enable:
+4d91 7920000d set1 mark_lpm_mult_enable ,mark 
+4d92 20600000 rtn 
+
+app_lpm_mult_disable:
+4d93 793f800d set0 mark_lpm_mult_enable ,mark 
+4d94 20600000 rtn 
+
+module_init:
+4d95 20758000 rtn wake 
+4d96 20405b83 call le_modified_name 
+4d97 58004dda setarg module_process_idle 
+4d98 67e441f4 store 2 ,mem_cb_idle_process 
+4d99 58004dc5 setarg module_bt_conn_process 
+4d9a 67e441f2 store 2 ,mem_cb_bt_process 
+4d9b 58004dde setarg module_process_bb_event 
+4d9c 67e441f6 store 2 ,mem_cb_bb_event_process 
+4d9d 58004dc4 setarg module_le_conn_process 
+4d9e 67e441f0 store 2 ,mem_cb_le_process 
+4d9f 58004dbd setarg module_lpm_lock 
+4da0 67e441ea store 2 ,mem_cb_check_wakelock 
+4da1 58004ef4 setarg module_hci_cmd_transmit_le_notify 
+4da2 67e441fc store 2 ,mem_cb_ble_transmit 
+4da3 58005037 setarg module_hci_event_receive_spp_data 
+4da4 67e44541 store 2 ,mem_cb_receive_spp_data 
+4da5 580050ae setarg module_le_receive_data 
+4da6 67e441fa store 2 ,mem_cb_att_write 
+4da7 580050c3 setarg module_bb_event_timer 
+4da8 67e441fe store 2 ,mem_cb_event_timer 
+4da9 20404dd7 call module_spp_clear_last_transmite_clock 
+4daa 44dc4017 bpatch patch17_0 ,mem_patch17 
+4dab 20404daf call module_lpm_uart_init 
+4dac 20404dbc call module_gpio_init 
+4dad 20404c2a call check_module_disabled 
+4dae 2020504d branch module_hci_event_enter_standby_mode 
+
+module_lpm_uart_init:
+4daf 6fe44ffa fetch 2 ,ipc_m02bt_end_addr 
+4db0 67e48046 store 2 ,core_sec_readdr 
+4db1 6fe44ff8 fetch 2 ,ipc_m02bt_start_addr 
+4db2 67e48044 store 2 ,core_sec_rsaddr 
+4db3 1fe20600 copy pdata ,contru 
+4db4 6fe44ff2 fetch 2 ,ipc_bt2m0_end_addr 
+4db5 67e4804a store 2 ,core_sec_teaddr 
+4db6 6fe44ff0 fetch 2 ,ipc_bt2m0_start_addr 
+4db7 67e48048 store 2 ,core_sec_tsaddr 
+4db8 1fe21400 copy pdata ,contwu 
+4db9 20600000 rtn 
+
+module_lpm_init:
+4dba 20404daf call module_lpm_uart_init 
+4dbb 20204dd7 branch module_spp_clear_last_transmite_clock 
+
+module_gpio_init:
+4dbc 20600000 rtn 
+
+module_lpm_lock:
+4dbd 6fe24fef fetch 1 ,ipc_hold_bt 
+4dbe c000cd4b beq 1 ,app_get_lpm_wake_lock 
+4dbf 6fe24496 fetch 1 ,mem_le_pairing_state 
+4dc0 c0804dc2 bne flag_le_pairing_null ,module_lpm_lock_check_pairing 
+4dc1 20204d4d branch app_put_lpm_wake_lock 
+
+module_lpm_lock_check_pairing:
+4dc2 c07fcd4d beq flag_le_pairing_end ,app_put_lpm_wake_lock 
+4dc3 20204d4b branch app_get_lpm_wake_lock 
+
+module_le_conn_process:
+4dc4 20600000 rtn 
+
+module_bt_conn_process:
+4dc5 20404dc7 call module_spp_enter_sniff 
+4dc6 202050d3 branch module_control_air_flow 
+
+module_spp_enter_sniff:
+4dc7 20600000 rtn 
+4dc8 6fe24652 fetch 1 ,mem_ui_state_map 
+4dc9 c3024dd7 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+4dca 44dcc017 bpatch patch17_1 ,mem_patch17 
+4dcb 58003eff setarg 0x3eff 
+4dcc 6848467f fetcht 4 ,mem_last_transmite_clock 
+4dcd 98408400 iadd temp ,temp 
+4dce 1c427e00 copy clkn_bt ,pdata 
+4dcf 98467c00 isub temp ,null 
+4dd0 24610000 nrtn positive 
+4dd1 6fe44652 fetch 2 ,mem_ui_state_map 
+4dd2 c282cdd7 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+4dd3 6fe24679 fetch 1 ,mem_module_flag 
+4dd4 c3830000 rtnbit1 moudle_task_sniff 
+4dd5 204050d6 call module_set_sniff_task_flag 
+4dd6 20404d89 call app_bt_enter_sniff 
+
+module_spp_clear_last_transmite_clock:
+4dd7 1c427e00 copy clkn_bt ,pdata 
+4dd8 67e8467f store 4 ,mem_last_transmite_clock 
+4dd9 20600000 rtn 
+
+module_process_idle:
+4dda 204050d3 call module_control_air_flow 
+4ddb 20405648 call l2cap_malloc_is_fifo_full 
+4ddc 247a0000 nrtn blank 
+4ddd 20204e3d branch module_process 
+
+module_process_bb_event:
+4dde 1a627e00 copy regc ,pdata 
+4ddf c000ce2c beq bt_evt_bb_connected ,module_process_bb_conn 
+4de0 c0014dfb beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+4de1 c0024e2f beq bt_evt_reconn_failed ,module_process_reconn_fail 
+4de2 c002ce1d beq bt_evt_setup_complete ,module_process_setup_complete 
+4de3 c0044e02 beq bt_evt_spp_connected ,module_process_spp_connected 
+4de4 c004ce08 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+4de5 c0054e22 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+4de6 c005ce0d beq bt_evt_enter_sniff ,module_process_enter_sniff 
+4de7 c0064e1b beq bt_evt_exit_sniff ,module_process_exit_sniff 
+4de8 c009ce2f beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+4de9 c00a4e28 beq bt_evt_le_connected ,module_process_le_conn 
+4dea c00ace1f beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+4deb c010ce23 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+4dec c011ce24 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+4ded c0124e27 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+4dee c0185088 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+4def c018d08a beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+4df0 c0195098 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+4df1 c019d096 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+4df2 c01a5082 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+4df3 c01ad078 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+4df4 c01b5080 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+4df5 c01bd08c beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+4df6 c01c508e beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+4df7 c01dd09f beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+4df8 c01ed06f beq bt_evt_store_nvram ,module_hci_event_store_device 
+4df9 c020ce30 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+4dfa 20600000 rtn 
+
+module_process_bb_event_disconned:
+4dfb 20404dd7 call module_spp_clear_last_transmite_clock 
+4dfc 6fe24637 fetch 1 ,mem_flag_pairing_state 
+4dfd 245a508c ncall module_hci_event_bt_pairing_fail ,blank 
+4dfe 20404e2f call module_disconn_start 
+4dff 6fe44652 fetch 2 ,mem_ui_state_map 
+4e00 c4020000 rtnbit0 ui_state_bt_spp_conn 
+4e01 20204e08 branch module_spp_disconnected 
+
+module_process_spp_connected:
+4e02 6fe44652 fetch 2 ,mem_ui_state_map 
+4e03 79207e04 set1 ui_state_bt_spp_conn ,pdata 
+4e04 67e44652 store 2 ,mem_ui_state_map 
+4e05 6fe2466d fetch 1 ,mem_module_spp_lpm_mult 
+4e06 67e24173 store 1 ,mem_lpm_mult 
+4e07 20205022 branch module_hci_event_spp_connect 
+
+module_process_spp_disconnected:
+
+module_spp_disconnected:
+4e08 6fe44652 fetch 2 ,mem_ui_state_map 
+4e09 c4020000 rtnbit0 ui_state_bt_spp_conn 
+4e0a 793ffe04 set0 ui_state_bt_spp_conn ,pdata 
+4e0b 67e44652 store 2 ,mem_ui_state_map 
+4e0c 20205026 branch module_hci_event_spp_disconnect 
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+4e0d 20404dd7 call module_spp_clear_last_transmite_clock 
+4e0e 6fe44042 fetch 2 ,mem_context + coffset_tsniff 
+4e0f 1fe37e00 rshift pdata ,pdata 
+4e10 684441e4 fetcht 2 ,mem_sniff_param_interval 
+4e11 98467c00 isub temp ,null 
+4e12 2422ce14 nbranch module_sniff_param_check_unsniff ,zero 
+4e13 20204d91 branch app_lpm_mult_enable 
+
+module_sniff_param_check_unsniff:
+4e14 6fe24679 fetch 1 ,mem_module_flag 
+4e15 c3828000 rtnbit1 moudle_task_unsniff 
+4e16 6fe44ffc fetch 2 ,ipc_m02bt_read_ptr 
+4e17 68444ffe fetcht 2 ,ipc_m02bt_write_ptr 
+4e18 98467c00 isub temp ,null 
+4e19 2442d0da ncall module_set_unsniff_task_flag ,zero 
+4e1a 20204d87 branch app_bt_sniff_exit 
+
+module_process_exit_sniff:
+4e1b 204050d8 call module_clear_sniff_task_flag 
+4e1c 20204d93 branch app_lpm_mult_disable 
+
+module_process_setup_complete:
+4e1d 20404dd7 call module_spp_clear_last_transmite_clock 
+4e1e 20204e32 branch module_conn_start 
+
+module_process_bb_even_le_disconn:
+4e1f 20405bf6 call le_clr_config_more_data 
+4e20 20404e2f call module_disconn_start 
+4e21 20205028 branch module_hci_event_le_disconnect 
+
+module_process_evt_pincode_req:
+4e22 20204d58 branch app_bt_set_pincode 
+
+module_process_sniff_not_accept:
+4e23 202050d8 branch module_clear_sniff_task_flag 
+
+module_process_unsniff_accept:
+4e24 6fe24679 fetch 1 ,mem_module_flag 
+4e25 c302cd89 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+4e26 202050dc branch module_clear_unsniff_task_flag 
+
+module_process_unsniff_not_accept:
+4e27 202050dc branch module_clear_unsniff_task_flag 
+
+module_process_le_conn:
+4e28 20404e32 call module_conn_start 
+4e29 6fe2466e fetch 1 ,mem_module_le_lpm_mult 
+4e2a 67e24173 store 1 ,mem_lpm_mult 
+4e2b 20205024 branch module_hci_event_le_connect 
+
+module_process_bb_conn:
+4e2c 70463300 jam 0 ,mem_flag_mode_ssp_pin 
+4e2d 204050d8 call module_clear_sniff_task_flag 
+4e2e 202050dc branch module_clear_unsniff_task_flag 
+
+module_process_page_time_out:
+
+module_process_reconn_fail:
+
+module_disconn_start:
+4e2f 20204e8f branch module_start_adv_discovery_by_command 
+
+module_process_ble_ltk_lost:
+4e30 204060aa call le_send_reject_ind 
+4e31 20205ee2 branch le_send_smp_security_request 
+
+module_conn_start:
+4e32 20204e33 branch module_stop_adv_discovery 
+
+module_stop_adv_discovery:
+4e33 6fe2466c fetch 1 ,mem_module_state 
+4e34 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+4e35 2040cd6b call app_bt_stop_discovery ,true 
+4e36 6fe2466c fetch 1 ,mem_module_state 
+4e37 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+4e38 2040cd73 call app_ble_stop_adv ,true 
+4e39 20600000 rtn 
+
+module_process_with_credit:
+4e3a 6fe2453d fetch 1 ,mem_credit_flag 
+4e3b c1000000 rtneq credit_disable 
+4e3c 20206ae9 branch rfcomm_send_uih_without_payload 
+
+module_process:
+4e3d 6fe44ffc fetch 2 ,ipc_m02bt_read_ptr 
+4e3e 68444ffe fetcht 2 ,ipc_m02bt_write_ptr 
+4e3f 98467c00 isub temp ,null 
+4e40 2022ce3a branch module_process_with_credit ,zero 
+4e41 204067f7 call uartd_prepare_rx 
+4e42 efe20003 ifetch 1 ,contru 
+4e43 c080ce4e bne 0x01 ,module_hci_in_excp 
+4e44 efe20003 ifetch 1 ,contru 
+4e45 67e20aff store 1 ,mem_module_uart_opcode 
+4e46 e8420003 ifetcht 1 ,contru 
+4e47 18622200 copy contru ,rega 
+4e48 60420b00 storet 1 ,mem_module_uart_len 
+4e49 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+4e4a 20404e5a call module_hci_cmd_control 
+4e4b 6fe20b01 fetch 1 ,mem_module_temp_nl_discard_packet 
+4e4c c1000000 rtneq hci_not_discard_packet 
+4e4d 20204e55 branch module_hci_dicard_packet 
+
+module_hci_in_excp:
+4e4e 20407c9c call delay_10ms 
+4e4f 2040507e call module_hci_event_invalid_packet 
+4e50 20204e51 branch module_hci_release_except 
+
+module_hci_release_except:
+4e51 44dd4017 bpatch patch17_2 ,mem_patch17 
+4e52 6fe44ffe fetch 2 ,ipc_m02bt_write_ptr 
+4e53 67e44ffc store 2 ,ipc_m02bt_read_ptr 
+4e54 20600000 rtn 
+
+module_hci_dicard_packet:
+4e55 204067f7 call uartd_prepare_rx 
+4e56 18608602 increase 2 ,contru 
+4e57 efe20003 ifetch 1 ,contru 
+4e58 98608600 iadd contru ,contru 
+
+module_hci_dicard_bytes:
+4e59 202067f3 branch uartd_rxdone 
+
+module_hci_cmd_control:
+4e5a 44ddc017 bpatch patch17_3 ,mem_patch17 
+4e5b 6fe20aff fetch 1 ,mem_module_uart_opcode 
+4e5c c0004e7c beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+4e5d c000ce81 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+4e5e c0014e86 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+4e5f c001ce9c beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+4e60 c0024ea8 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+4e61 c002ceb2 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+4e62 c004ced7 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+4e63 c005cf14 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+4e64 c0064f15 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+4e65 c006cf29 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+4e66 c0084f31 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+4e67 c008cf39 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+4e68 c0094f3d beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+4e69 c0134f41 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+4e6a c0144f48 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+4e6b c014cf58 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+4e6c c0154f61 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+4e6d c0184f94 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+4e6e c019cf9a beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+4e6f c01a4fbd beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+4e70 c01acfc6 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+4e71 c01b4fcf beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+4e72 c01bcfd9 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+4e73 c01c4fdc beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+4e74 c0214fe4 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+4e75 c0244fe9 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+4e76 c024cff4 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+4e77 c028cffa beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+4e78 c030cffd beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+4e79 c07fd00c beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+4e7a c077500f beq hci_test_cmd_reback ,module_hci_test_cmd_reback 
+4e7b 2020501c branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_set_bt_addr:
+4e7c 6fe20b00 fetch 1 ,mem_module_uart_len 
+4e7d c083501c bne 6 ,module_hci_event_receive_invalid_cmd 
+4e7e efec0003 ifetch 6 ,contru 
+4e7f 67ec40a0 store 6 ,mem_lap 
+4e80 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_addr:
+4e81 6fe20b00 fetch 1 ,mem_module_uart_len 
+4e82 c083501c bne 6 ,module_hci_event_receive_invalid_cmd 
+4e83 efec0003 ifetch 6 ,contru 
+4e84 67ec4472 store 6 ,mem_le_lap 
+4e85 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_visibility:
+4e86 6fe20b00 fetch 1 ,mem_module_uart_len 
+4e87 c080d01c bne 1 ,module_hci_event_receive_invalid_cmd 
+4e88 1a220600 copy rega ,contru 
+4e89 2040501f call module_hci_event_receive_valid_cmd 
+4e8a e8420003 ifetcht 1 ,contru 
+4e8b 6042466f storet 1 ,mem_module_bluetooth_stauts_by_command 
+4e8c 6fe44652 fetch 2 ,mem_ui_state_map 
+4e8d c3848000 rtnbit1 ui_state_ble_connected 
+4e8e c3800000 rtnbit1 ui_state_bt_connected 
+
+module_start_adv_discovery_by_command:
+4e8f 6fe2466c fetch 1 ,mem_module_state 
+4e90 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+4e91 2420ce95 nbranch moudle_start_adv_by_command ,true 
+4e92 6842466f fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+4e93 18417e03 and temp ,0x03 ,pdata 
+4e94 67e24093 store 1 ,mem_scan_mode 
+
+moudle_start_adv_by_command:
+4e95 6fe2466c fetch 1 ,mem_module_state 
+4e96 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+4e97 24608000 nrtn true 
+4e98 6842466f fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+4e99 284ffe02 isolate1 2 ,temp 
+4e9a 2020cd75 branch app_ble_start_adv ,true 
+4e9b 20204d73 branch app_ble_stop_adv 
+
+module_hci_cmd_set_bt_name:
+4e9c 6fe20b00 fetch 1 ,mem_module_uart_len 
+4e9d 1fe67c43 sub pdata ,67 ,null 
+4e9e 2421501c nbranch module_hci_event_receive_invalid_cmd ,positive 
+4e9f 67e244e7 store 1 ,mem_local_name_length 
+4ea0 df200008 arg 8 ,loopcnt 
+4ea1 20407ca1 call memset0 
+4ea2 6fe20b00 fetch 1 ,mem_module_uart_len 
+4ea3 1fe27200 copy pdata ,loopcnt 
+4ea4 1a220600 copy rega ,contru 
+4ea5 d8a044e8 arg mem_local_name ,contw 
+4ea6 204067da call uart_copy_rx_bytes_fast 
+4ea7 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_name:
+4ea8 6fe20b00 fetch 1 ,mem_module_uart_len 
+4ea9 1fe67c1d sub pdata ,29 ,null 
+4eaa 2421501c nbranch module_hci_event_receive_invalid_cmd ,positive 
+4eab 67e24381 store 1 ,mem_le_name_len 
+4eac 1fe27200 copy pdata ,loopcnt 
+4ead 1a220600 copy rega ,contru 
+4eae d8a04382 arg mem_le_name ,contw 
+4eaf 204067da call uart_copy_rx_bytes_fast 
+4eb0 20405b83 call le_modified_name 
+4eb1 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_spp_data:
+4eb2 6fe24652 fetch 1 ,mem_ui_state_map 
+4eb3 c302501c bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+4eb4 20404d45 call app_check_sniff 
+4eb5 2020cec3 branch module_hci_cmd_spp_exit_sniff ,true 
+4eb6 700b0100 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+4eb7 20404dd7 call module_spp_clear_last_transmite_clock 
+4eb8 6fe2453a fetch 1 ,mem_remote_credits 
+4eb9 207a0000 rtn blank 
+4eba 6fe44545 fetch 2 ,mem_nl_rx_len_all 
+4ebb c0804ec1 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+4ebc 6fe20b00 fetch 1 ,mem_module_uart_len 
+4ebd 67e44545 store 2 ,mem_nl_rx_len_all 
+4ebe 1a220600 copy rega ,contru 
+4ebf 18627e00 copy contru ,pdata 
+4ec0 67e44543 store 2 ,mem_nl_rx_data_src 
+
+module_hci_cmd_pass_init_ng_rx_len_all:
+4ec1 20404ec5 call module_hci_cmd_get_current_packet_len_and_remain_len 
+4ec2 20206b0c branch spp_tx_rfcomm_packet 
+
+module_hci_cmd_spp_exit_sniff:
+4ec3 700b0100 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+4ec4 202050bd branch module_exit_sniff 
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+4ec5 20404ecb call module_hci_cmd_get_current_patcket_len 
+4ec6 6fe44545 fetch 2 ,mem_nl_rx_len_all 
+4ec7 6844466a fetcht 2 ,mem_current_packet_length 
+4ec8 98467e00 isub temp ,pdata 
+4ec9 67e44545 store 2 ,mem_nl_rx_len_all 
+4eca 20600000 rtn 
+
+module_hci_cmd_get_current_patcket_len:
+4ecb 6fe44545 fetch 2 ,mem_nl_rx_len_all 
+4ecc d84000e6 arg nl_rfcomm_buff_len ,temp 
+4ecd 20407db5 call not_greater_than 
+4ece 6844453e fetcht 2 ,mem_rfcomm_max_frame_size 
+4ecf 20407db5 call not_greater_than 
+4ed0 68444530 fetcht 2 ,mem_pn_max_frame_size 
+4ed1 20407db5 call not_greater_than 
+4ed2 67e4466a store 2 ,mem_current_packet_length 
+4ed3 20600000 rtn 
+
+module_hci_command_tx_spp_tx_complete:
+4ed4 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+4ed5 700aff05 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+4ed6 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_le_data:
+4ed7 6fe44652 fetch 2 ,mem_ui_state_map 
+4ed8 c304d01c bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+4ed9 20404f11 call module_check_ble_encrypt_state 
+4eda 2034501c branch module_hci_event_receive_invalid_cmd ,user 
+4edb 700b0100 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+4edc 6fe24679 fetch 1 ,mem_module_flag 
+4edd c2824ef1 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+4ede 6fe2467a fetch 1 ,mem_module_hci_notify_len 
+4edf 247a0000 nrtn blank 
+4ee0 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+4ee1 efe40003 ifetch 2 ,contru 
+4ee2 67e4467b store 2 ,mem_module_hci_notify_handle 
+4ee3 18627e00 copy contru ,pdata 
+4ee4 67e4467d store 2 ,mem_module_hci_nofiy_addr 
+4ee5 6fe20b00 fetch 1 ,mem_module_uart_len 
+4ee6 1fe0fffe pincrease -2 
+4ee7 2421501c nbranch module_hci_event_receive_invalid_cmd ,positive 
+4ee8 2022d01c branch module_hci_event_receive_invalid_cmd ,zero 
+4ee9 67e2467a store 1 ,mem_module_hci_notify_len 
+4eea 700b0100 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+4eeb 20405bf4 call le_set_config_more_data 
+4eec 20404ef4 call module_hci_cmd_transmit_le_notify 
+4eed 20404ef4 call module_hci_cmd_transmit_le_notify 
+4eee 20404ef4 call module_hci_cmd_transmit_le_notify 
+4eef 6fe24679 fetch 1 ,mem_module_flag 
+4ef0 c4020000 rtnbit0 module_flag_ble_data_finish 
+
+module_hci_cmd_receive_le_data_finish:
+4ef1 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+4ef2 204050e0 call module_clear_le_tx_data_flag 
+4ef3 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_transmit_le_notify:
+4ef4 6fe2467a fetch 1 ,mem_module_hci_notify_len 
+4ef5 207a0000 rtn blank 
+4ef6 20405c72 call le_fifo_check_nearly_full 
+4ef7 247a0000 nrtn blank 
+4ef8 20404f0c call module_get_le_remote_mtu 
+4ef9 44de4017 bpatch patch17_4 ,mem_patch17 
+4efa 1840fffd add temp ,-3 ,pdata 
+4efb 6842467a fetcht 1 ,mem_module_hci_notify_len 
+4efc 20407db5 call not_greater_than 
+4efd 1fe22200 copy pdata ,rega 
+4efe 18427e00 copy temp ,pdata 
+4eff 9a267e00 isub rega ,pdata 
+4f00 67e2467a store 1 ,mem_module_hci_notify_len 
+4f01 6844467b fetcht 2 ,mem_module_hci_notify_handle 
+4f02 20405e44 call le_att_malloc_tx_notify 
+4f03 6fe4467d fetch 2 ,mem_module_hci_nofiy_addr 
+4f04 1fe20600 copy pdata ,contru 
+4f05 1a227200 copy rega ,loopcnt 
+4f06 204067da call uart_copy_rx_bytes_fast 
+4f07 18627e00 copy contru ,pdata 
+4f08 67e4467d store 2 ,mem_module_hci_nofiy_addr 
+4f09 6fe2467a fetch 1 ,mem_module_hci_notify_len 
+4f0a 247a0000 nrtn blank 
+4f0b 202050de branch module_set_le_tx_data_flag 
+
+module_get_le_remote_mtu:
+4f0c d8400017 arg 0x17 ,temp 
+4f0d 6fe24679 fetch 1 ,mem_module_flag 
+4f0e c3808000 rtnbit1 module_flag_ble_send_mtu23 
+4f0f 6844447a fetcht 2 ,mem_le_remote_mtu 
+4f10 20600000 rtn 
+
+module_check_ble_encrypt_state:
+4f11 6fe24679 fetch 1 ,mem_module_flag 
+4f12 c2815e22 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+4f13 20207dc1 branch disable_user 
+
+module_hci_cmd_inquire_status:
+4f14 20205051 branch module_hci_event_status_res 
+
+module_hci_cmd_set_pairing_mode:
+4f15 1a220600 copy rega ,contru 
+4f16 efe20003 ifetch 1 ,contru 
+4f17 c0004f1c beq pairing_pincode ,module_hci_pairing_pincode_mode 
+4f18 c000cf1f beq pairing_justwork ,module_hci_pairing_just_work_mode 
+4f19 c0014f25 beq pairing_passkey ,module_hci_pairing_passkey 
+4f1a c001cf27 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+4f1b 2020501c branch module_hci_event_receive_invalid_cmd 
+
+module_hci_pairing_pincode_mode:
+4f1c 2040650d call ssp_disable 
+4f1d 70462c00 jam 0 ,mem_ssp_enable 
+4f1e 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_just_work_mode:
+4f1f 58040003 setarg ssp_mode_just_work_io_cap_data 
+
+module_hci_sspairing_mode:
+4f20 67e6462d store 3 ,mem_sp_iocap_local 
+4f21 67e24634 store 1 ,mem_ssp_mode_flag 
+4f22 20406506 call ssp_enable 
+4f23 70462c01 jam 1 ,mem_ssp_enable 
+4f24 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_passkey:
+4f25 58040002 setarg ssp_mode_passkey_io_cap_data 
+4f26 20204f20 branch module_hci_sspairing_mode 
+
+module_hci_pairing_numeric_comparison:
+4f27 58040001 setarg ssp_mode_ssp_pin_io_cap_data 
+4f28 20204f20 branch module_hci_sspairing_mode 
+
+module_hci_cmd_set_pincode:
+4f29 6fe20b00 fetch 1 ,mem_module_uart_len 
+4f2a 1fe67c10 sub pdata ,16 ,null 
+4f2b 2421501c nbranch module_hci_event_receive_invalid_cmd ,positive 
+4f2c 67e24657 store 1 ,mem_pin_length 
+4f2d 1fe27200 copy pdata ,loopcnt 
+4f2e d8a04658 arg mem_pin ,contw 
+4f2f 204067ed call uart_copy_rx_bytes 
+4f30 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_version_request:
+4f31 da200002 arg 2 ,rega 
+4f32 da404668 arg mem_soft_version_num ,regb 
+4f33 d8400000 arg 0 ,temp 
+4f34 2020502a branch module_hci_event_set_cmd 
+
+module_hci_event_set_cmd_send_response:
+4f35 67e40abe store 2 ,mem_event_cmd_response_content 
+4f36 da400abe arg mem_event_cmd_response_content ,regb 
+4f37 d8400000 arg 0 ,temp 
+4f38 2020502a branch module_hci_event_set_cmd 
+
+module_hci_cmd_bt_disconnect:
+4f39 6fe44652 fetch 2 ,mem_ui_state_map 
+4f3a c300501c bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_bt_disconnect_doing:
+4f3b 2040501f call module_hci_event_receive_valid_cmd 
+4f3c 20204d64 branch app_bt_disconnect 
+
+module_hci_cmd_ble_disconnect:
+4f3d 6fe44652 fetch 2 ,mem_ui_state_map 
+4f3e c304d01c bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_ble_disconnect_doing:
+4f3f 2040501f call module_hci_event_receive_valid_cmd 
+4f40 20204d7d branch app_ble_disconnect 
+
+module_hci_cmd_set_nvram:
+4f41 6fe20b00 fetch 1 ,mem_module_uart_len 
+4f42 1fe27200 copy pdata ,loopcnt 
+4f43 1a220600 copy rega ,contru 
+4f44 6fe44214 fetch 2 ,mem_nv_data_ptr 
+4f45 1fe20a00 icopy contw 
+4f46 204067da call uart_copy_rx_bytes_fast 
+4f47 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_confirm_gkey:
+4f48 6fe24652 fetch 1 ,mem_ui_state_map 
+4f49 c300501c bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+4f4a efe20003 ifetch 1 ,contru 
+4f4b 68424633 fetcht 1 ,mem_flag_mode_ssp_pin 
+4f4c 793a0400 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+4f4d 79200407 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+4f4e 60424633 storet 1 ,mem_flag_mode_ssp_pin 
+4f4f 2040501f call module_hci_event_receive_valid_cmd 
+4f50 6fe24633 fetch 1 ,mem_flag_mode_ssp_pin 
+4f51 c2834f56 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+4f52 20600000 rtn 
+
+dhkey_not_accept:
+4f53 70463300 jam 0 ,mem_flag_mode_ssp_pin 
+4f54 700a9521 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+4f55 20207bb4 branch ui_ipc_send_cmd 
+
+module_hci_cmd_spp_number_comparison_result_is1:
+4f56 c2806377 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+4f57 20204f53 branch dhkey_not_accept 
+
+module_hci_cmd_set_credit_given:
+4f58 6fe24652 fetch 1 ,mem_ui_state_map 
+4f59 c4020000 rtnbit0 ui_state_bt_spp_conn 
+4f5a 6fe2453d fetch 1 ,mem_credit_flag 
+4f5b c1000000 rtneq credit_disable 
+4f5c efe20003 ifetch 1 ,contru 
+4f5d 6842453b fetcht 1 ,mem_credit_given 
+4f5e 98408400 iadd temp ,temp 
+4f5f 6042453b storet 1 ,mem_credit_given 
+4f60 20600000 rtn 
+
+module_hci_cmd_auto_adv:
+4f61 df200040 arg 0x40 ,loopcnt 
+4f62 d8a04341 arg mem_le_adv_data_len ,contw 
+4f63 20407caf call clear_mem 
+4f64 58000000 setarg 0 
+4f65 67e20aae store 1 ,mem_regb 
+4f66 1a220600 copy rega ,contru 
+
+module_hci_cmd_auto_adv_loop:
+4f67 18627e00 copy contru ,pdata 
+4f68 67e40ab2 store 2 ,mem_regc 
+4f69 20404f8f call module_hci_cmd_auto_adv_adv_analys 
+4f6a 6fe20aae fetch 1 ,mem_regb 
+4f6b 68420a9e fetcht 1 ,mem_temp 
+4f6c 18408401 increase 1 ,temp 
+4f6d 9840fe00 iadd temp ,pdata 
+4f6e 67e20aae store 1 ,mem_regb 
+4f6f 1fe67c1f sub pdata ,31 ,null 
+4f70 24214f7b nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+
+module_hci_cmd_auto_adv_store_adv:
+4f71 68424341 fetcht 1 ,mem_le_adv_data_len 
+4f72 58004342 setarg mem_le_adv_data 
+4f73 9840fe00 iadd temp ,pdata 
+4f74 67e40ab7 store 2 ,mem_contw 
+4f75 68420a9e fetcht 1 ,mem_temp 
+4f76 18408401 increase 1 ,temp 
+4f77 6fe24341 fetch 1 ,mem_le_adv_data_len 
+4f78 9840fe00 iadd temp ,pdata 
+4f79 67e24341 store 1 ,mem_le_adv_data_len 
+4f7a 20204f84 branch module_hci_cmd_auto_adv_store_common 
+
+module_hci_cmd_auto_adv_store_scan:
+4f7b 68424361 fetcht 1 ,mem_le_scan_data_len 
+4f7c 58004362 setarg mem_le_scan_data 
+4f7d 9840fe00 iadd temp ,pdata 
+4f7e 67e40ab7 store 2 ,mem_contw 
+4f7f 68420a9e fetcht 1 ,mem_temp 
+4f80 18408401 increase 1 ,temp 
+4f81 6fe24361 fetch 1 ,mem_le_scan_data_len 
+4f82 9840fe00 iadd temp ,pdata 
+4f83 67e24361 store 1 ,mem_le_scan_data_len 
+
+module_hci_cmd_auto_adv_store_common:
+4f84 6fe40ab7 fetch 2 ,mem_contw 
+4f85 1fe20a00 copy pdata ,contw 
+4f86 6fe40ab2 fetch 2 ,mem_regc 
+4f87 1fe20600 copy pdata ,contru 
+4f88 18427200 copy temp ,loopcnt 
+4f89 204067da call uart_copy_rx_bytes_fast 
+4f8a 6fe20b00 fetch 1 ,mem_module_uart_len 
+4f8b 68420aae fetcht 1 ,mem_regb 
+4f8c 98467c00 isub temp ,null 
+4f8d 2422cf67 nbranch module_hci_cmd_auto_adv_loop ,zero 
+4f8e 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_auto_adv_adv_analys:
+4f8f efe20003 ifetch 1 ,contru 
+4f90 67e20a9e store 1 ,mem_temp 
+4f91 efe20003 ifetch 1 ,contru 
+4f92 67e20aaa store 1 ,mem_rega 
+4f93 20600000 rtn 
+
+module_hci_cmd_passkey_entry:
+4f94 efe80003 ifetch 4 ,contru 
+4f95 67e84658 store 4 ,mem_pin 
+4f96 70465704 jam 4 ,mem_pin_length 
+4f97 70463500 jam 0 ,mem_authentication_passkey_times 
+4f98 2040501f call module_hci_event_receive_valid_cmd 
+4f99 20206313 branch authentication_passkey 
+
+module_hci_cmd_le_set_pairing_mode:
+4f9a 1a220600 copy rega ,contru 
+4f9b efe20003 ifetch 1 ,contru 
+4f9c 1fe20400 copy pdata ,temp 
+4f9d c040cfa5 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+4f9e c0414faa beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+4f9f c041cfb0 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+4fa0 67e24498 store 1 ,mem_le_pairing_mode 
+4fa1 c0004fb5 beq le_pairing_mode_none ,module_le_set_no_pairing 
+4fa2 c000cfb8 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+4fa3 c0014fba beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+4fa4 2020501c branch module_hci_event_receive_invalid_cmd 
+
+module_le_set_pairing_mode_secure_justwork:
+4fa5 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+4fa6 203a501c branch module_hci_event_receive_invalid_cmd ,blank 
+4fa7 60424498 storet 1 ,mem_le_pairing_mode 
+4fa8 7044280d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+4fa9 20204fb6 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_secure_numeric:
+4faa 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+4fab 203a501c branch module_hci_event_receive_invalid_cmd ,blank 
+4fac 60424498 storet 1 ,mem_le_pairing_mode 
+4fad 7044280d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+4fae 70442601 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+4faf 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_secure_passkey:
+4fb0 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+4fb1 203a501c branch module_hci_event_receive_invalid_cmd ,blank 
+4fb2 60424498 storet 1 ,mem_le_pairing_mode 
+4fb3 7044280d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+4fb4 20204fbb branch module_le_set_displayonly 
+
+module_le_set_no_pairing:
+4fb5 70442800 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+module_le_set_noinputnooutput:
+4fb6 70442603 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+4fb7 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_lagacy_just_work:
+4fb8 70442805 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+4fb9 20204fb6 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_lagacy_passkey:
+4fba 70442805 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+module_le_set_displayonly:
+4fbb 70442600 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+4fbc 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_adv_data:
+4fbd 6fe20b00 fetch 1 ,mem_module_uart_len 
+4fbe 1fe67c1f sub pdata ,31 ,null 
+4fbf 2421501c nbranch module_hci_event_receive_invalid_cmd ,positive 
+4fc0 67e24341 store 1 ,mem_le_adv_data_len 
+4fc1 1fe27200 copy pdata ,loopcnt 
+4fc2 1a220600 copy rega ,contru 
+4fc3 d8a04342 arg mem_le_adv_data ,contw 
+4fc4 204067da call uart_copy_rx_bytes_fast 
+4fc5 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_scan_data:
+4fc6 6fe20b00 fetch 1 ,mem_module_uart_len 
+4fc7 1fe67c1f sub pdata ,31 ,null 
+4fc8 2421501c nbranch module_hci_event_receive_invalid_cmd ,positive 
+4fc9 67e24361 store 1 ,mem_le_scan_data_len 
+4fca 1fe27200 copy pdata ,loopcnt 
+4fcb 1a220600 copy rega ,contru 
+4fcc d8a04362 arg mem_le_scan_data ,contw 
+4fcd 204067da call uart_copy_rx_bytes_fast 
+4fce 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_send_conn_update_req:
+4fcf 6fe44652 fetch 2 ,mem_ui_state_map 
+4fd0 c304d01c bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+4fd1 6fe20b00 fetch 1 ,mem_module_uart_len 
+4fd2 c084501c bne 0x08 ,module_hci_event_receive_invalid_cmd 
+4fd3 1a220600 copy rega ,contru 
+4fd4 eff00003 ifetch 8 ,contru 
+4fd5 67f04468 store 8 ,mem_le_interval_min 
+4fd6 700a9512 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+4fd7 20407bb4 call ui_ipc_send_cmd 
+4fd8 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_adv_parameter:
+4fd9 efe40003 ifetch 2 ,contru 
+4fda 67e44454 store 2 ,mem_le_adv_interval 
+4fdb 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_start_pairing:
+4fdc 6fe24498 fetch 1 ,mem_le_pairing_mode 
+4fdd 203a501c branch module_hci_event_receive_invalid_cmd ,blank 
+4fde 6fe24496 fetch 1 ,mem_le_pairing_state 
+4fdf c080501c bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+4fe0 6fe24497 fetch 1 ,mem_le_enc_state 
+4fe1 c080501c bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+4fe2 20407c3d call check_51cmd_le_smp_sec_req 
+4fe3 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_tx_power:
+4fe4 6fe20b00 fetch 1 ,mem_module_uart_len 
+4fe5 c080d01c bne 0x01 ,module_hci_event_receive_invalid_cmd 
+4fe6 efe20003 ifetch 1 ,contru 
+4fe7 67e241df store 1 ,mem_tx_power 
+4fe8 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey:
+4fe9 efe20003 ifetch 1 ,contru 
+4fea c000cff2 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+4feb 6fe24493 fetch 1 ,mem_le_secure_connect_state 
+4fec c001cff0 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+4fed c0034ff0 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+4fee c003cff0 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+4fef 2020501c branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_le_confirm_gkey_ok:
+4ff0 70449401 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+4ff1 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey_fail:
+4ff2 20405f33 call le_send_pairing_confirm_value_failed 
+4ff3 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_reject_justwork_flag:
+4ff4 6fe20b00 fetch 1 ,mem_module_uart_len 
+4ff5 c080d01c bne 0x01 ,module_hci_event_receive_invalid_cmd 
+4ff6 2040501f call module_hci_event_receive_valid_cmd 
+4ff7 efe20003 ifetch 1 ,contru 
+4ff8 203a64ad branch classic_bt_clr_reject_justwork_flag ,blank 
+4ff9 202064ab branch classic_bt_set_reject_justwork_flag 
+
+module_hci_cmd_reset_chip:
+4ffa 2040501f call module_hci_event_receive_valid_cmd 
+4ffb 70801001 hjam 0x01 ,core_reset 
+4ffc 20204a8d branch loop 
+
+module_hci_cmd_le_set_fixed_passkey:
+4ffd 6fe20b00 fetch 1 ,mem_module_uart_len 
+4ffe c000501c beq 0 ,module_hci_event_receive_invalid_cmd 
+4fff efe20003 ifetch 1 ,contru 
+5000 203a500a branch module_hci_cmd_le_set_random_passkey ,blank 
+5001 6fe20b00 fetch 1 ,mem_module_uart_len 
+5002 c082d01c bne 5 ,module_hci_event_receive_invalid_cmd 
+5003 efe80003 ifetch 4 ,contru 
+5004 d84f4240 arg 1000000 ,temp 
+5005 98467c00 isub temp ,null 
+5006 2021501c branch module_hci_event_receive_invalid_cmd ,positive 
+5007 67e84499 store 4 ,mem_le_tk 
+5008 20405bec call le_set_config_fixed_tk 
+5009 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_random_passkey:
+500a 20405bee call le_clr_config_fixed_tk 
+500b 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_test_cmde_close_lpm:
+500c efe20003 ifetch 1 ,contru 
+500d 67e24091 store 1 ,mem_lpm_mode 
+500e 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_test_cmd_reback:
+500f 6fe20b00 fetch 1 ,mem_module_uart_len 
+5010 204050a5 call module_hci_prepare_tx 
+5011 6fe20b00 fetch 1 ,mem_module_uart_len 
+5012 1fe27200 copy pdata ,loopcnt 
+5013 1a220600 copy rega ,contru 
+5014 20405016 call copy_tx_bytes 
+5015 202067b9 branch uartd_send 
+
+copy_tx_bytes:
+5016 1f227e00 deposit loopcnt 
+5017 207a0000 rtn blank 
+
+copy_tx_bytes_loop:
+5018 efe20003 ifetch 1 ,contru 
+5019 e7e2000a istore 1 ,contwu 
+501a c2005018 loop copy_tx_bytes_loop 
+501b 20600000 rtn 
+
+module_hci_event_receive_invalid_cmd:
+501c d8400001 arg 1 ,temp 
+501d da200000 arg 0 ,rega 
+501e 2020502a branch module_hci_event_set_cmd 
+
+module_hci_event_receive_valid_cmd:
+501f d8400000 arg 0 ,temp 
+5020 da200000 arg 0 ,rega 
+5021 2020502a branch module_hci_event_set_cmd 
+
+module_hci_event_spp_connect:
+5022 700aff00 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+5023 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_connect:
+5024 700aff02 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+5025 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_spp_disconnect:
+5026 700aff03 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+5027 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_disconnect:
+5028 700aff05 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+5029 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_set_cmd:
+502a 6fe20aff fetch 1 ,mem_module_uart_opcode 
+502b 1fe22600 copy pdata ,regc 
+502c 700aff06 jam hci_event_cmd_res ,mem_module_uart_opcode 
+502d 58000002 setarg 2 
+502e 9a20fe00 iadd rega ,pdata 
+502f 204050a5 call module_hci_prepare_tx 
+5030 1a627e00 copy regc ,pdata 
+5031 e7e2000a istore 1 ,contwu 
+5032 e042000a istoret 1 ,contwu 
+5033 1a227200 copy rega ,loopcnt 
+5034 1a420c00 copy regb ,contr 
+5035 204067d4 call uart_copy_tx_bytes 
+5036 202067b9 branch uartd_send 
+
+module_hci_event_receive_spp_data:
+5037 20404dd7 call module_spp_clear_last_transmite_clock 
+5038 700aff07 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+5039 6fe204fb fetch 1 ,mem_current_length 
+503a 207a0000 rtn blank 
+503b 204050a5 call module_hci_prepare_tx 
+503c 6fe204fb fetch 1 ,mem_current_length 
+503d 1fe27200 copy pdata ,loopcnt 
+503e 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+503f 1fe20c00 copy pdata ,contr 
+5040 204067c1 call uart_copy_tx_bytes_fast 
+5041 202067b9 branch uartd_send 
+
+module_hci_event_receive_le_data:
+5042 700aff08 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+5043 6fe24670 fetch 1 ,mem_module_le_rx_data_len 
+5044 1fe27200 icopy loopcnt 
+5045 1fe0fe02 increase 2 ,pdata 
+5046 204050a5 call module_hci_prepare_tx 
+5047 6fe44673 fetch 2 ,mem_module_le_rx_data_handle 
+5048 e7e4000a istore 2 ,contwu 
+5049 6fe44671 fetch 2 ,mem_module_le_rx_data_address 
+504a 1fe20c00 icopy contr 
+504b 204067c1 call uart_copy_tx_bytes_fast 
+504c 202067b9 branch uartd_send 
+
+module_hci_event_enter_standby_mode:
+504d 700aff09 jam hci_event_standby_rep ,mem_module_uart_opcode 
+
+module_hci_event_enter_standby_mode_len0:
+504e 58000000 setarg 0 
+504f 204050a5 call module_hci_prepare_tx 
+5050 202067b9 branch uartd_send 
+
+module_hci_event_status_res:
+5051 700aff0a jam hci_event_status_res ,mem_module_uart_opcode 
+5052 58000001 setarg 1 
+5053 204050a5 call module_hci_prepare_tx 
+5054 20405062 call module_hci_read_bt_status 
+5055 6fe44652 fetch 2 ,mem_ui_state_map 
+5056 d8e00002 arg ui_state_bt_hid_conn ,queue 
+5057 afefffff qisolate1 pdata 
+5058 79208403 setflag true ,3 ,temp 
+5059 d8e00009 arg ui_state_ble_connected ,queue 
+505a afefffff qisolate1 pdata 
+505b 79208405 setflag true ,5 ,temp 
+505c 6fe24652 fetch 1 ,mem_ui_state_map 
+505d d8e00004 arg ui_state_bt_spp_conn ,queue 
+505e afefffff qisolate1 pdata 
+505f 79208404 setflag true ,4 ,temp 
+5060 e042000a istoret 1 ,contwu 
+5061 202067b9 branch uartd_send 
+
+module_hci_read_bt_status:
+5062 d8400000 arg 0 ,temp 
+5063 6fe24093 fetch 1 ,mem_scan_mode 
+5064 d8e00000 arg inq_scan_mode ,queue 
+5065 afefffff qisolate1 pdata 
+5066 79208400 setflag true ,0 ,temp 
+5067 d8e00001 arg page_scan_mode ,queue 
+5068 afefffff qisolate1 pdata 
+5069 79208401 setflag true ,1 ,temp 
+506a 6fe24340 fetch 1 ,mem_le_adv_enable 
+506b d8e00000 arg 0 ,queue 
+506c afefffff qisolate1 pdata 
+506d 79208402 setflag true ,2 ,temp 
+506e 20600000 rtn 
+
+module_hci_event_store_device:
+506f 700aff0d jam hci_event_nvram_rep ,mem_module_uart_opcode 
+5070 6fe24216 fetch 1 ,mem_nv_data_number 
+5071 1feffe22 mul32 pdata ,34 ,pdata 
+5072 1fe27200 icopy loopcnt 
+5073 204050a5 call module_hci_prepare_tx 
+5074 6fe44214 fetch 2 ,mem_nv_data_ptr 
+5075 1fe20c00 icopy contr 
+5076 204067c1 call uart_copy_tx_bytes_fast 
+5077 202067b9 branch uartd_send 
+
+module_hci_event_gkey_generate:
+5078 700aff0e jam hci_event_gkey ,mem_module_uart_opcode 
+5079 58000004 setarg 4 
+507a 204050a5 call module_hci_prepare_tx 
+507b 6fe809b6 fetch 4 ,mem_gkey 
+507c e7e8000a istore 4 ,contwu 
+507d 202067b9 branch uartd_send 
+
+module_hci_event_invalid_packet:
+507e 700aff0f jam hci_event_invalid_packet ,mem_module_uart_opcode 
+507f 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_passkey_entry_mode:
+5080 700aff10 jam hci_event_get_passkey ,mem_module_uart_opcode 
+5081 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_tk:
+5082 700aff11 jam hci_event_le_tk ,mem_module_uart_opcode 
+5083 58000004 setarg 4 
+5084 204050a5 call module_hci_prepare_tx 
+5085 6fe84499 fetch 4 ,mem_le_tk 
+5086 e7e8000a istore 4 ,contwu 
+5087 202067b9 branch uartd_send 
+
+module_hci_event_le_pairing_fail:
+5088 da200180 arg flag_ble_pairing_fail ,rega 
+5089 2020508f branch module_hci_event_pairing_completed 
+
+module_hci_event_le_pairing_success:
+508a da200080 arg flag_ble_pairing_success ,rega 
+508b 2020508f branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_fail:
+508c da200101 arg flag_bt_pairing_fail ,rega 
+508d 2020508f branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_success:
+508e da200001 arg flag_bt_pairing_success ,rega 
+
+module_hci_event_pairing_completed:
+508f 70463300 jam 0 ,mem_flag_mode_ssp_pin 
+5090 700aff14 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+5091 58000002 setarg 2 
+5092 204050a5 call module_hci_prepare_tx 
+5093 1a227e00 copy rega ,pdata 
+5094 e7e4000a istore 2 ,contwu 
+5095 202067b9 branch uartd_send 
+
+module_hci_event_pause_enc:
+5096 da600000 arg flag_event_pause_enc ,regc 
+5097 20205099 branch module_hci_event_enc 
+
+module_hci_event_start_enc:
+5098 da600001 arg flag_event_start_enc ,regc 
+
+module_hci_event_enc:
+5099 700aff15 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+509a 58000001 setarg 1 
+509b 204050a5 call module_hci_prepare_tx 
+509c 1a627e00 copy regc ,pdata 
+509d e7e2000a istore 1 ,contwu 
+509e 202067b9 branch uartd_send 
+
+module_hci_event_le_gkey:
+509f 700aff1d jam hci_event_le_gkey ,mem_module_uart_opcode 
+50a0 58000004 setarg 4 
+50a1 204050a5 call module_hci_prepare_tx 
+50a2 6fe809b6 fetch 4 ,mem_gkey 
+50a3 e7e8000a istore 4 ,contwu 
+50a4 202067b9 branch uartd_send 
+
+module_hci_prepare_tx:
+50a5 700afe02 jam 0x02 ,mem_module_uart_cmd 
+50a6 67e20b00 store 1 ,mem_module_uart_len 
+50a7 60500a9e storet 8 ,mem_temp 
+50a8 44dec017 bpatch patch17_5 ,mem_patch17 
+50a9 68500a9e fetcht 8 ,mem_temp 
+50aa 204067b5 call uartd_prepare_tx 
+50ab 6fe60afe fetch 3 ,mem_module_uart_cmd 
+50ac e7e6000a istore 3 ,contwu 
+50ad 20600000 rtn 
+
+module_le_receive_data:
+50ae 20404f11 call module_check_ble_encrypt_state 
+50af 20740000 rtn user 
+50b0 1a227e00 copy rega ,pdata 
+50b1 67e44671 store 2 ,mem_module_le_rx_data_address 
+50b2 1a427e00 copy regb ,pdata 
+50b3 67e24670 store 1 ,mem_module_le_rx_data_len 
+50b4 6fe40474 fetch 2 ,mem_le_att_handle 
+50b5 68444675 fetcht 2 ,mem_module_data_write_handle 
+50b6 98467c00 isub temp ,null 
+50b7 2022d0bb branch module_le_receive_data_ok ,zero 
+50b8 68444677 fetcht 2 ,mem_module_data_write_handle2 
+50b9 98467c00 isub temp ,null 
+50ba 24628000 nrtn zero 
+
+module_le_receive_data_ok:
+50bb 67e44673 store 2 ,mem_module_le_rx_data_handle 
+50bc 20205042 branch module_hci_event_receive_le_data 
+
+module_exit_sniff:
+50bd 6fe24679 fetch 1 ,mem_module_flag 
+50be c3828000 rtnbit1 moudle_task_unsniff 
+50bf 204050da call module_set_unsniff_task_flag 
+50c0 20204d87 branch app_bt_sniff_exit 
+
+module_set_lpm_mult_2:
+50c1 70417302 jam 2 ,mem_lpm_mult 
+50c2 20600000 rtn 
+
+module_bb_event_timer:
+50c3 20600000 rtn 
+
+check_ipc_tx_buff:
+50c4 204050cb call get_ipc_tx_buff 
+50c5 d8400200 arg uart_air_control_threshold ,temp 
+
+pdata_sub_temp:
+50c6 98467c00 isub temp ,null 
+50c7 20600000 rtn 
+
+calc_ipc_tx_buff_pos:
+50c8 9a267e00 isub rega ,pdata 
+50c9 1fe67e00 sub pdata ,0 ,pdata 
+50ca 20600000 rtn 
+
+get_ipc_tx_buff:
+50cb 68444ff0 fetcht 2 ,ipc_bt2m0_start_addr 
+50cc 6fe44ff2 fetch 2 ,ipc_bt2m0_end_addr 
+50cd 98462200 isub temp ,rega 
+50ce 68444ff4 fetcht 2 ,ipc_bt2m0_read_ptr 
+50cf 6fe44ff6 fetch 2 ,ipc_bt2m0_write_ptr 
+50d0 98467e00 isub temp ,pdata 
+50d1 244150c8 ncall calc_ipc_tx_buff_pos ,positive 
+50d2 20600000 rtn 
+
+module_control_air_flow:
+50d3 204050c4 call check_ipc_tx_buff 
+50d4 20214d54 branch app_l2cap_flow_control_enable ,positive 
+50d5 20204d56 branch app_l2cap_flow_control_disable 
+
+module_set_sniff_task_flag:
+50d6 d8e00006 arg moudle_task_sniff ,queue 
+50d7 202050e6 branch module_set_state 
+
+module_clear_sniff_task_flag:
+50d8 d8e00006 arg moudle_task_sniff ,queue 
+50d9 202050e2 branch module_clr_state 
+
+module_set_unsniff_task_flag:
+50da d8e00005 arg moudle_task_unsniff ,queue 
+50db 202050e6 branch module_set_state 
+
+module_clear_unsniff_task_flag:
+50dc d8e00005 arg moudle_task_unsniff ,queue 
+50dd 202050e2 branch module_clr_state 
+
+module_set_le_tx_data_flag:
+50de d8e00004 arg module_flag_ble_data_finish ,queue 
+50df 202050e6 branch module_set_state 
+
+module_clear_le_tx_data_flag:
+50e0 d8e00004 arg module_flag_ble_data_finish ,queue 
+50e1 202050e2 branch module_clr_state 
+
+module_clr_state:
+50e2 6fe24679 fetch 1 ,mem_module_flag 
+50e3 f93ffe00 qset0 pdata 
+50e4 67e24679 store 1 ,mem_module_flag 
+50e5 20600000 rtn 
+
+module_set_state:
+50e6 6fe24679 fetch 1 ,mem_module_flag 
+50e7 f9207e00 qset1 pdata 
+50e8 67e24679 store 1 ,mem_module_flag 
+50e9 20600000 rtn 
+
+cmd_exit:
+50ea 7041cf00 jam 0 ,mem_hci_cmd 
+50eb 20600000 rtn 
+
+cmd_check_plap:
+50ec 6fec41d1 fetch 6 ,mem_hci_plap 
+50ed 684c0040 fetcht 6 ,mem_plap 
+50ee 98467c00 isub temp ,null 
+50ef 20600000 rtn 
+
+cmd_pair:
+50f0 6fe2004b fetch 1 ,mem_op 
+50f1 c28150f5 bbit1 op_inrand_req ,cmd_pair_passive 
+50f2 204066d1 call tid_initiate 
+50f3 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+50f4 202050ea branch cmd_exit 
+
+cmd_pair_passive:
+50f5 793ffe02 set0 op_inrand_req ,pdata 
+50f6 67e2004b store 1 ,mem_op 
+50f7 204063e3 call lmp_accept_inrand 
+50f8 58000000 setarg 0 
+50f9 7934fe01 setflag master ,smap_lmptid ,pdata 
+50fa 67e2007f store 1 ,mem_lmo_tid2 
+50fb 202050ea branch cmd_exit 
+50fc 20600000 rtn 
+
+cmd_in_sniff:
+50fd 70007c17 jam lmp_sniff_req ,mem_lmo_opcode2 
+50fe d8a004d5 arg mem_sniff_payload ,contw 
+50ff 58000000 setarg 0 
+5100 2d0ffe1b isolate1 27 ,clke_bt 
+5101 7920fe01 setflag true ,1 ,pdata 
+5102 e7e20005 istore 1 ,contw 
+5103 58000000 setarg 0 
+5104 e7e40005 istore 2 ,contw 
+5105 6fe441e4 fetch 2 ,mem_sniff_param_interval 
+5106 e7e40005 istore 2 ,contw 
+5107 6fe241e6 fetch 1 ,mem_sniff_param_attempt 
+5108 e7e40005 istore 2 ,contw 
+5109 6fe241e8 fetch 1 ,mem_sniff_param_timeout 
+510a e7e40005 istore 2 ,contw 
+510b 202050ea branch cmd_exit 
+
+cmd_exit_sniff:
+510c 70007c18 jam lmp_unsniff_req ,mem_lmo_opcode2 
+510d 202050ea branch cmd_exit 
+
+hid_rx_process:
+510e 44df4017 bpatch patch17_6 ,mem_patch17 
+510f 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+5110 1fe20c00 copy pdata ,contr 
+5111 efe20006 ifetch 1 ,contr 
+5112 1fe1040f and pdata ,0x0f ,temp 
+5113 1ff1fe00 rshift4 pdata ,pdata 
+5114 c004d12d beq hid_type_set_idle ,hid_rx_process_handshake 
+5115 c003d12d beq hid_type_set_protocol ,hid_rx_process_handshake 
+5116 c0055139 beq hid_type_data ,hid_rx_process_data 
+5117 c002d125 beq hid_type_set_report ,hid_rx_process_set_report 
+5118 c000d11a beq hid_type_control ,hid_rx_process_hid_control 
+5119 20600000 rtn 
+
+hid_rx_process_hid_control:
+511a 18427e00 copy temp ,pdata 
+511b c002d11e beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+511c c001d124 beq hid_control_p_suspend ,hid_rx_process_suspend 
+511d 20600000 rtn 
+
+hid_rx_process_virtual_cable_unplug:
+511e 700a9527 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+511f 20407bab call ui_ipc_send_event 
+5120 6fe24092 fetch 1 ,mem_device_option 
+5121 c4030000 rtnbit0 dvc_op_mouse 
+5122 18427e00 copy temp ,pdata 
+5123 20600000 rtn 
+
+hid_rx_process_suspend:
+5124 20600000 rtn 
+
+hid_rx_process_set_report:
+5125 20405139 call hid_rx_process_data 
+5126 da200001 arg 0x01 ,rega 
+5127 2040513d call hid_malloc_tx_buff 
+5128 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+5129 e7e40005 istore 2 ,contw 
+512a 58000000 setarg 0x00 
+512b e7e20005 istore 1 ,contw 
+512c 20600000 rtn 
+
+hid_rx_process_handshake:
+512d da200001 arg 1 ,rega 
+512e 2040513d call hid_malloc_tx_buff 
+512f 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+5130 e7e40005 istore 2 ,contw 
+5131 58000000 setarg 0 
+5132 e7e20005 istore 1 ,contw 
+5133 700a8a01 jam 1 ,mem_ui_data_txbuff_length 
+5134 6fe24224 fetch 1 ,mem_hid_control_state 
+5135 79207e06 set1 l2cap_channel_hid_handshake_done 
+5136 67e24224 store 1 ,mem_hid_control_state 
+5137 700a9512 jam bt_evt_hid_handshake ,mem_fifo_temp 
+5138 20207bab branch ui_ipc_send_event 
+
+hid_rx_process_data:
+5139 efe20006 ifetch 1 ,contr 
+513a c000d13c beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+513b 20600000 rtn 
+
+hid_rx_process_data_hid_kb:
+513c 20600000 rtn 
+
+hid_malloc_tx_buff:
+513d 2040561a call l2cap_malloc 
+513e 1a220400 copy rega ,temp 
+513f 60420a8a storet 1 ,mem_ui_data_txbuff_length 
+5140 1fe20a00 copy pdata ,contw 
+5141 1a227e00 copy rega ,pdata 
+5142 e7e40005 istore 2 ,contw 
+5143 20600000 rtn 
+
+l2cap_init:
+5144 2035d149 branch l2cap_init_wake ,wake 
+
+l2cap_init_work:
+5145 58004337 setarg mem_l2cap_xmem_end 
+5146 d8a04218 arg mem_l2cap_xmem_start ,contw 
+5147 98a67200 isub contw ,loopcnt 
+5148 20407caf call clear_mem 
+
+l2cap_init_wake:
+5149 44dfc017 bpatch patch17_7 ,mem_patch17 
+514a 5800054d setarg mem_sdp_mem_end 
+514b d8a0050d arg mem_sdp_mem_start ,contw 
+514c 98a67200 isub contw ,loopcnt 
+514d 20407caf call clear_mem 
+514e 580002c5 setarg mem_l2cap_mem_end 
+514f d8a00259 arg mem_l2cap_mem_start ,contw 
+5150 98a67200 isub contw ,loopcnt 
+5151 20407caf call clear_mem 
+5152 202056f2 branch l2cap_lpm_load_txbuf 
+
+process_rx_l2cap_pkt:
+5153 44e04018 bpatch patch18_0 ,mem_patch18 
+5154 18c20400 copy contr ,temp 
+5155 18420c00 copy temp ,contr 
+5156 efe40006 ifetch 2 ,contr 
+5157 67e40262 store 2 ,mem_l2cap_rx_pkt_length 
+5158 efe40006 ifetch 2 ,contr 
+5159 67e40264 store 2 ,mem_l2cap_rx_cid 
+515a 18c27e00 deposit contr 
+515b 67e40260 store 2 ,mem_l2cap_payload_ptr 
+515c 6fe24651 fetch 1 ,memui_reconnect_mode 
+515d c000515f beq no_reconnection ,l2cap_rx_multiplexing 
+515e 202054c9 branch ml2cap_rx_multiplexing 
+
+l2cap_rx_multiplexing:
+515f 6fe40262 fetch 2 ,mem_l2cap_rx_pkt_length 
+5160 203a51d6 branch l2cap_rx_reset_state ,blank 
+5161 44e0c018 bpatch patch18_1 ,mem_patch18 
+5162 6fe20264 fetch 1 ,mem_l2cap_rx_cid 
+5163 c000d177 beq l2cap_signal_channel ,l2cap_call_proc_signal 
+
+l2cap_rx_multiplexing0:
+5164 c02851ba beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+5165 c028d1cf beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+5166 c02951cd beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+5167 c029d1cd beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+5168 202051d6 branch l2cap_rx_reset_state 
+
+l2cap_check_map:
+5169 44e14018 bpatch patch18_2 ,mem_patch18 
+516a 20405658 call l2cap_malloc_get_full_map 
+516b 6fe24228 fetch 1 ,mem_used_map 
+516c c0005175 beq 0 ,set_pdata_0 
+516d c000d175 beq 1 ,set_pdata_0 
+516e c0015175 beq 2 ,set_pdata_0 
+516f c001d175 beq 3 ,set_pdata_0 
+5170 c040d175 beq 0x81 ,set_pdata_0 
+5171 c0605175 beq 0xc0 ,set_pdata_0 
+5172 c0405175 beq 0x80 ,set_pdata_0 
+5173 c0205175 beq 0x40 ,set_pdata_0 
+5174 20600000 rtn 
+
+set_pdata_0:
+5175 58000000 setarg 0 
+5176 20600000 rtn 
+
+l2cap_call_proc_signal:
+5177 20405169 call l2cap_check_map 
+5178 247a0000 nrtn blank 
+
+l2cap_call_proc_signal0:
+5179 20405692 call l2cap_malloc_signal_channel 
+517a 204051db call l2cap_process_signal_pkt 
+517b 6844026b fetcht 2 ,mem_l2cap_signal_tx_length 
+517c 203a51d5 branch l2cap_call_proc_no_reply ,blank 
+517d 2040569b call l2cap_get_signal_tx_buff 
+517e 6fe4026b fetch 2 ,mem_l2cap_signal_tx_length 
+517f e7e40005 istore 2 ,contw 
+5180 18007e01 force l2cap_signal_channel ,pdata 
+5181 e7e40005 istore 2 ,contw 
+5182 202051d6 branch l2cap_rx_reset_state 
+
+l2cap_call_proc_sigal_pending:
+5183 6fe24336 fetch 1 ,mem_l2cap_pending_item 
+5184 207a0000 rtn blank 
+5185 1fe22200 copy pdata ,rega 
+5186 44e1c018 bpatch patch18_3 ,mem_patch18 
+5187 6fe802d1 fetch 4 ,mem_l2cap_sdpres_delay_time 
+5188 d8400100 arg 0x100 ,temp 
+5189 98408400 iadd temp ,temp 
+518a 1c427e00 copy clkn_bt ,pdata 
+518b 98467c00 isub temp ,null 
+518c 24610000 nrtn positive 
+518d 70433600 jam 0 ,mem_l2cap_pending_item 
+518e 1a227e00 copy rega ,pdata 
+518f c0285191 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+5190 20204a8b branch assert 
+
+l2cap_sdp_conn_succ:
+5191 d9000000 arg 0 ,debug 
+5192 20405692 call l2cap_malloc_signal_channel 
+5193 20405254 call restore_l2cap_req_param 
+5194 2040569d call l2cap_get_signal_tx_payload 
+5195 20407c83 call save_cont_pointers 
+5196 20405287 call send_connection_sdp_res 
+5197 2040569b call l2cap_get_signal_tx_buff 
+5198 5800000c setarg 0x000c 
+5199 e7e40005 istore 2 ,contw 
+519a 18007e01 force l2cap_signal_channel ,pdata 
+519b e7e40005 istore 2 ,contw 
+519c 202051d6 branch l2cap_rx_reset_state 
+
+l2cap_reset_sdp_map:
+519d 44e24018 bpatch patch18_4 ,mem_patch18 
+519e 6fe40271 fetch 2 ,mem_sdp_tx_pkt_length 
+519f 1fe0fe04 increase 4 ,pdata 
+51a0 1ff1fe00 rshift4 pdata ,pdata 
+51a1 1fe97e00 rshift3 pdata ,pdata 
+51a2 1fe08401 add pdata ,1 ,temp 
+51a3 d8c04232 arg mem_tx_fifo3 ,contr 
+51a4 efe60006 ifetch 3 ,contr 
+51a5 207a0000 rtn blank 
+51a6 67e60abe store 3 ,mem_tx_fifo_map_temp 
+51a7 6fe20abe fetch 1 ,mem_tx_fifo_map_temp 
+51a8 1fe22200 copy pdata ,rega 
+51a9 204051ad call check_l2cap_map 
+51aa 1a427e00 copy regb ,pdata 
+51ab 67e24232 store 1 ,mem_tx_fifo3 
+51ac 20600000 rtn 
+
+check_l2cap_map:
+51ad d8e00000 arg 0 ,queue 
+51ae da400000 arg 0 ,regb 
+
+check_l2cap_map_loop:
+51af 18e67c07 sub queue ,7 ,null 
+51b0 24610000 nrtn positive 
+51b1 aa2fffff qisolate1 rega 
+51b2 2020d1b4 branch check_l2cap_map_used ,true 
+51b3 202051b8 branch check_l2cap_map_used2 
+
+check_l2cap_map_used:
+51b4 18427e00 copy temp ,pdata 
+51b5 203a51b8 branch check_l2cap_map_used2 ,blank 
+51b6 f9202400 qset1 regb 
+51b7 184085ff increase -1 ,temp 
+
+check_l2cap_map_used2:
+51b8 18e08e01 increase 1 ,queue 
+51b9 202051af branch check_l2cap_map_loop 
+
+l2cap_call_proc_sdp:
+51ba 2040564e call l2cap_malloc_is_fifo_empty 
+51bb 247a0000 nrtn blank 
+51bc 20405169 call l2cap_check_map 
+51bd 247a0000 nrtn blank 
+51be 2040569f call l2cap_malloc_sdp_channel 
+51bf 20406cd0 call sdp_process 
+51c0 2040519d call l2cap_reset_sdp_map 
+51c1 202051c6 branch l2cap_call_proc_sdp_common 
+
+ml2cap_call_proc_sdp:
+51c2 2040564e call l2cap_malloc_is_fifo_empty 
+51c3 247a0000 nrtn blank 
+51c4 2040569f call l2cap_malloc_sdp_channel 
+51c5 20406cd0 call sdp_process 
+
+l2cap_call_proc_sdp_common:
+51c6 204056a8 call l2cap_get_sdp_tx_buff 
+51c7 6fe40271 fetch 2 ,mem_sdp_tx_pkt_length 
+51c8 203a51d5 branch l2cap_call_proc_no_reply ,blank 
+51c9 e7e40005 istore 2 ,contw 
+51ca 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+51cb e7e40005 istore 2 ,contw 
+51cc 202051d6 branch l2cap_rx_reset_state 
+
+l2cap_call_proc_hid:
+51cd 2040510e call hid_rx_process 
+51ce 202051d6 branch l2cap_rx_reset_state 
+
+l2cap_call_proc_rfcomm:
+51cf 44e2c018 bpatch patch18_5 ,mem_patch18 
+51d0 70028000 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+51d1 2040694b call rfcomm_rx_process 
+51d2 6fe20280 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+51d3 c1008000 rtneq rfcomm_malloc_fail 
+51d4 202051d6 branch l2cap_rx_reset_state 
+
+l2cap_call_proc_no_reply:
+51d5 2040563e call l2cap_malloc_discard 
+
+l2cap_rx_reset_state:
+51d6 58000000 setarg 0 
+51d7 67e40262 store 2 ,mem_l2cap_rx_pkt_length 
+51d8 67e40264 store 2 ,mem_l2cap_rx_cid 
+51d9 70026601 jam l2cap_rx_done ,mem_l2cap_rx_done 
+51da 20600000 rtn 
+
+l2cap_process_signal_pkt:
+51db 44e34018 bpatch patch18_6 ,mem_patch18 
+51dc 2040569d call l2cap_get_signal_tx_payload 
+51dd 18002400 force 0 ,regb 
+51de 6fe40262 fetch 2 ,mem_l2cap_rx_pkt_length 
+51df 1fe22600 copy pdata ,regc 
+51e0 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+51e1 98000c00 iforce contr 
+
+l2cap_process_signal_pkt_loop:
+51e2 204051ea call l2cap_process_one_signal 
+51e3 1a627e00 deposit regc 
+51e4 1a60a7fc increase -4 ,regc 
+51e5 1fe0fffc increase -4 ,pdata 
+51e6 243a51e2 nbranch l2cap_process_signal_pkt_loop ,blank 
+51e7 1a427e00 copy regb ,pdata 
+51e8 67e4026b store 2 ,mem_l2cap_signal_tx_length 
+51e9 20600000 rtn 
+
+l2cap_process_one_signal:
+51ea 44e3c018 bpatch patch18_7 ,mem_patch18 
+51eb efe20006 ifetch 1 ,contr 
+51ec c000d223 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+51ed c001522b beq signal_connect_req ,l2cap_proc_signal_connect_req 
+51ee c001d2af beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+51ef c00252df beq signal_config_req ,l2cap_proc_signal_config_req 
+51f0 c002d37c beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+51f1 c00353a5 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+51f2 c003d3f5 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+51f3 c004542a beq signal_echo_req ,l2cap_proc_signal_echo_req 
+51f4 c004d43a beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+51f5 c00551f9 beq signal_info_req ,l2cap_proc_signal_info_req 
+51f6 c005d43b beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+51f7 2040543c call l2cap_reject_command 
+
+l2cap_process_one_signal_rtn:
+51f8 20600000 rtn 
+
+l2cap_proc_signal_info_req:
+51f9 efe20006 ifetch 1 ,contr 
+51fa 1fe20e00 copy pdata ,queue 
+51fb efe40006 ifetch 2 ,contr 
+51fc 1fe22200 copy pdata ,rega 
+51fd 1a627e00 copy regc ,pdata 
+51fe 9a262600 isub rega ,regc 
+51ff 5800000b setarg signal_info_rsp 
+5200 e7e20005 istore 1 ,contw 
+5201 18e27e00 copy queue ,pdata 
+5202 e7e20005 istore 1 ,contw 
+5203 efe40006 ifetch 2 ,contr 
+
+l2cap_proc_signal_info_req_reply:
+5204 c0015207 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+5205 c001d20d beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+5206 20600000 rtn 
+
+l2cap_proc_signal_info_req_ext:
+5207 58020008 setarg 0x020008 
+5208 e7ec0005 istore 6 ,contw 
+5209 58000280 setarg 0x0280 
+520a e7e80005 istore 4 ,contw 
+520b 18007e0c force 12 ,pdata 
+520c 20205212 branch l2cap_proc_signal_info_req_common 
+
+l2cap_proc_signal_info_req_fix:
+520d 5803000c setarg 0x3000c 
+520e e7ec0005 istore 6 ,contw 
+520f 58000006 setarg 0x0006 
+5210 e7f00005 istore 8 ,contw 
+5211 18007e10 force 16 ,pdata 
+
+l2cap_proc_signal_info_req_common:
+5212 9a40a400 iadd regb ,regb 
+5213 202051f8 branch l2cap_process_one_signal_rtn 
+
+ml2cap_proc_signal_info_req:
+5214 efe20006 ifetch 1 ,contr 
+5215 1fe20e00 copy pdata ,queue 
+5216 efe40006 ifetch 2 ,contr 
+5217 1fe22200 copy pdata ,rega 
+5218 efe40006 ifetch 2 ,contr 
+5219 67e40a9e store 2 ,mem_temp 
+521a 1a627e00 copy regc ,pdata 
+521b 9a262600 isub rega ,regc 
+521c 2040569d call l2cap_get_signal_tx_payload 
+521d 5800000b setarg signal_info_rsp 
+521e e7e20005 istore 1 ,contw 
+521f 18e27e00 copy queue ,pdata 
+5220 e7e20005 istore 1 ,contw 
+5221 6fe40a9e fetch 2 ,mem_temp 
+5222 20205204 branch l2cap_proc_signal_info_req_reply 
+
+l2cap_proc_signal_cmd_reject:
+5223 efe20006 ifetch 1 ,contr 
+5224 1fe20e00 copy pdata ,queue 
+5225 efe40006 ifetch 2 ,contr 
+5226 1fe22200 copy pdata ,rega 
+5227 98c08c00 iadd contr ,contr 
+5228 1a627e00 copy regc ,pdata 
+5229 9a262600 isub rega ,regc 
+
+l2cap_proc_signal_cmd_reject_rtn:
+522a 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_req:
+522b 20407c83 call save_cont_pointers 
+522c 20407c88 call load_cont_pointers 
+522d d9000000 arg 0 ,debug 
+522e efe20006 ifetch 1 ,contr 
+522f 1fe20e00 copy pdata ,queue 
+5230 efe40006 ifetch 2 ,contr 
+5231 1fe22200 copy pdata ,rega 
+5232 efe40006 ifetch 2 ,contr 
+5233 1fe20400 copy pdata ,temp 
+5234 efe40006 ifetch 2 ,contr 
+5235 1fe21600 copy pdata ,timeup 
+5236 44e44019 bpatch patch19_0 ,mem_patch19 
+5237 18427e00 copy temp ,pdata 
+5238 c000d23e beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+5239 c001d260 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+523a c008d26c beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+523b c009d277 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+523c 2040543c call l2cap_reject_command 
+523d 202052ae branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_sdp:
+523e 20407c83 call save_cont_pointers 
+523f d8400050 arg l2cap_sdp_channel ,temp 
+5240 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+5241 243a52a8 nbranch already_connected ,blank 
+5242 19627e00 copy timeup ,pdata 
+5243 67e4421a store 2 ,mem_sdp_remote_cid 
+5244 1c427e00 copy clkn_bt ,pdata 
+5245 67e802d1 store 4 ,mem_l2cap_sdpres_delay_time 
+5246 20405248 call store_l2cap_req_param 
+5247 20205283 branch send_connection_pending 
+
+store_l2cap_req_param:
+5248 604402cf storet 2 ,mem_psm 
+5249 19627e00 deposit timeup 
+524a 67e402c5 store 2 ,mem_scid 
+524b 1a227e00 deposit rega 
+524c 67e402c7 store 2 ,mem_cmd_length 
+524d 1a427e00 deposit regb 
+524e 67e402c9 store 2 ,mem_tt2 
+524f 1a627e00 deposit regc 
+5250 67e402cb store 2 ,mem_tt3 
+5251 18e27e00 deposit queue 
+5252 67e402cd store 2 ,mem_id 
+5253 20600000 rtn 
+
+restore_l2cap_req_param:
+5254 684402cf fetcht 2 ,mem_psm 
+5255 6fe402c5 fetch 2 ,mem_scid 
+5256 1fe21600 copy pdata ,timeup 
+5257 6fe402c7 fetch 2 ,mem_cmd_length 
+5258 1fe22200 copy pdata ,rega 
+5259 6fe402c9 fetch 2 ,mem_tt2 
+525a 1fe22400 copy pdata ,regb 
+525b 6fe402cb fetch 2 ,mem_tt3 
+525c 1fe22600 copy pdata ,regc 
+525d 6fe402cd fetch 2 ,mem_id 
+525e 1fe20e00 copy pdata ,queue 
+525f 20600000 rtn 
+
+l2cap_proc_signal_connect_req_rfcomm:
+5260 20407c83 call save_cont_pointers 
+5261 58000051 setarg l2cap_rfcomm_channel 
+5262 d8400051 arg l2cap_rfcomm_channel ,temp 
+5263 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+5264 243a52a8 nbranch already_connected ,blank 
+5265 19627e00 copy timeup ,pdata 
+5266 67e4421c store 2 ,mem_rfcomm_remote_cid 
+5267 6fe24223 fetch 1 ,mem_rfcomm_state 
+5268 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+5269 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+526a 67e24223 store 1 ,mem_rfcomm_state 
+526b 2020528b branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_ctrl:
+526c 20407c83 call save_cont_pointers 
+526d d8400052 arg l2cap_hid_control_channel ,temp 
+526e 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+526f 243a52a8 nbranch already_connected ,blank 
+5270 19627e00 copy timeup ,pdata 
+5271 67e4421e store 2 ,mem_hid_ctrl_remote_cid 
+5272 6fe24224 fetch 1 ,mem_hid_control_state 
+5273 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+5274 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+5275 67e24224 store 1 ,mem_hid_control_state 
+5276 2020528b branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_int:
+5277 20407c83 call save_cont_pointers 
+5278 1b427e00 deposit clke 
+5279 d8400053 arg l2cap_hid_interrupt_channel ,temp 
+527a 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+527b 243a52a8 nbranch already_connected ,blank 
+527c 19627e00 copy timeup ,pdata 
+527d 67e44220 store 2 ,mem_hid_int_remote_cid 
+527e 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+527f 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+5280 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+5281 67e24225 store 1 ,mem_hid_interrupt_state 
+5282 2020528b branch send_connection_res 
+
+send_connection_pending:
+5283 58000001 setarg l2cap_connect_pending 
+5284 67e40279 store 2 ,meml2cap_t1 
+5285 70433650 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+5286 2020528d branch send_connection_res0 
+
+send_connection_sdp_res:
+5287 6fe24222 fetch 1 ,mem_sdp_state 
+5288 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+5289 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+528a 67e24222 store 1 ,mem_sdp_state 
+
+send_connection_res:
+528b 58000000 setarg l2cap_connect_successful 
+528c 67e40279 store 2 ,meml2cap_t1 
+
+send_connection_res0:
+528d 44e4c019 bpatch patch19_1 ,mem_patch19 
+528e 20407c88 call load_cont_pointers 
+528f 58000003 setarg signal_connect_rsp 
+5290 e7e20005 istore 1 ,contw 
+5291 18e27e00 copy queue ,pdata 
+5292 e7e20005 istore 1 ,contw 
+5293 58000008 setarg 0x0008 
+5294 e7e40005 istore 2 ,contw 
+5295 18427e00 copy temp ,pdata 
+5296 e7e40005 istore 2 ,contw 
+5297 19627e00 copy timeup ,pdata 
+5298 e7e40005 istore 2 ,contw 
+5299 6fe40279 fetch 2 ,meml2cap_t1 
+529a c000d2a3 beq l2cap_connect_pending ,connect_pending 
+529b 290c0000 isolate0 0 ,debug 
+529c 2020d29e branch connect_suc ,true 
+529d 58000004 setarg l2cap_connect_refused_no_resources 
+
+connect_suc:
+529e e7e40005 istore 2 ,contw 
+529f 18007e00 force 0x0000 ,pdata 
+52a0 e7e40005 istore 2 ,contw 
+52a1 5800000c setarg 12 
+52a2 202052aa branch connect_req_update_byte_counts 
+
+connect_pending:
+52a3 e7e40005 istore 2 ,contw 
+52a4 18007e02 force 0x0002 ,pdata 
+52a5 e7e40005 istore 2 ,contw 
+52a6 5800000c setarg 12 
+52a7 202052aa branch connect_req_update_byte_counts 
+
+already_connected:
+52a8 79201000 set1 0 ,debug 
+52a9 2020528b branch send_connection_res 
+
+connect_req_update_byte_counts:
+52aa 9a40a400 iadd regb ,regb 
+52ab 1a627e00 copy regc ,pdata 
+52ac 9a262600 isub rega ,regc 
+52ad 202052ae branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_rtn:
+52ae 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp:
+52af efe20006 ifetch 1 ,contr 
+52b0 1fe20e00 copy pdata ,queue 
+52b1 efe40006 ifetch 2 ,contr 
+52b2 1fe22200 copy pdata ,rega 
+52b3 1a627e00 copy regc ,pdata 
+52b4 9a262600 isub rega ,regc 
+52b5 efe40006 ifetch 2 ,contr 
+52b6 1fe21600 copy pdata ,timeup 
+52b7 efe40006 ifetch 2 ,contr 
+52b8 1fe20400 copy pdata ,temp 
+52b9 44e54019 bpatch patch19_2 ,mem_patch19 
+52ba 58000050 setarg l2cap_sdp_channel 
+52bb 98467c00 isub temp ,null 
+52bc 2022d2c7 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+52bd 58000051 setarg l2cap_rfcomm_channel 
+52be 98467c00 isub temp ,null 
+52bf 2022d2cd branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+52c0 58000052 setarg l2cap_hid_control_channel 
+52c1 98467c00 isub temp ,null 
+52c2 2022d2d9 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+52c3 58000053 setarg l2cap_hid_interrupt_channel 
+52c4 98467c00 isub temp ,null 
+52c5 2022d2d3 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+52c6 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_sdp:
+52c7 19627e00 copy timeup ,pdata 
+52c8 67e4421a store 2 ,mem_sdp_remote_cid 
+52c9 6fe24222 fetch 1 ,mem_sdp_state 
+52ca 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+52cb 67e24222 store 1 ,mem_sdp_state 
+52cc 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp_rfcomm:
+52cd 19627e00 copy timeup ,pdata 
+52ce 67e4421c store 2 ,mem_rfcomm_remote_cid 
+52cf 6fe24223 fetch 1 ,mem_rfcomm_state 
+52d0 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+52d1 67e24223 store 1 ,mem_rfcomm_state 
+52d2 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_int:
+52d3 19627e00 copy timeup ,pdata 
+52d4 67e4421e store 2 ,mem_hid_ctrl_remote_cid 
+52d5 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+52d6 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+52d7 67e24225 store 1 ,mem_hid_interrupt_state 
+52d8 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+52d9 19627e00 copy timeup ,pdata 
+52da 67e44220 store 2 ,mem_hid_int_remote_cid 
+52db 6fe24224 fetch 1 ,mem_hid_control_state 
+52dc 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+52dd 67e24224 store 1 ,mem_hid_control_state 
+52de 20600000 rtn 
+
+l2cap_proc_signal_config_req:
+52df efe20006 ifetch 1 ,contr 
+52e0 1fe20e00 copy pdata ,queue 
+52e1 efe40006 ifetch 2 ,contr 
+52e2 1fe22200 copy pdata ,rega 
+52e3 1a627e00 copy regc ,pdata 
+52e4 9a262600 isub rega ,regc 
+52e5 efe40006 ifetch 2 ,contr 
+52e6 1fe20400 copy pdata ,temp 
+52e7 18422200 copy temp ,rega 
+52e8 44e5c019 bpatch patch19_3 ,mem_patch19 
+52e9 58000050 setarg l2cap_sdp_channel 
+52ea 98467c00 isub temp ,null 
+52eb 2022d2f6 branch l2cap_proc_signal_config_req_sdp ,zero 
+52ec 58000051 setarg l2cap_rfcomm_channel 
+52ed 98467c00 isub temp ,null 
+52ee 2022d314 branch l2cap_proc_signal_config_req_rfcomm ,zero 
+52ef 58000052 setarg l2cap_hid_control_channel 
+52f0 98467c00 isub temp ,null 
+52f1 2022d300 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+52f2 58000053 setarg l2cap_hid_interrupt_channel 
+52f3 98467c00 isub temp ,null 
+52f4 2022d30a branch l2cap_proc_signal_config_req_hid_int ,zero 
+52f5 2020543c branch l2cap_reject_command 
+
+l2cap_proc_signal_config_req_sdp:
+52f6 18a21600 copy contw ,timeup 
+52f7 6fe24222 fetch 1 ,mem_sdp_state 
+52f8 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+52f9 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+52fa 67e24222 store 1 ,mem_sdp_state 
+52fb 19620a00 copy timeup ,contw 
+52fc d9600050 arg l2cap_sdp_channel ,timeup 
+52fd 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+52fe 1fe20400 copy pdata ,temp 
+52ff 2020531d branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_ctrl:
+5300 18a21600 copy contw ,timeup 
+5301 6fe24224 fetch 1 ,mem_hid_control_state 
+5302 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+5303 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+5304 67e24224 store 1 ,mem_hid_control_state 
+5305 19620a00 copy timeup ,contw 
+5306 d9600052 arg l2cap_hid_control_channel ,timeup 
+5307 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+5308 1fe20400 copy pdata ,temp 
+5309 2020531d branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_int:
+530a 18a21600 copy contw ,timeup 
+530b 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+530c 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+530d 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+530e 67e24225 store 1 ,mem_hid_interrupt_state 
+530f 19620a00 copy timeup ,contw 
+5310 d9600053 arg l2cap_hid_interrupt_channel ,timeup 
+5311 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+5312 1fe20400 copy pdata ,temp 
+5313 2020531d branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_rfcomm:
+5314 18a21600 copy contw ,timeup 
+5315 6fe24223 fetch 1 ,mem_rfcomm_state 
+5316 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+5317 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+5318 67e24223 store 1 ,mem_rfcomm_state 
+5319 19620a00 copy timeup ,contw 
+531a d9600051 arg l2cap_rfcomm_channel ,timeup 
+531b 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+531c 1fe20400 copy pdata ,temp 
+
+l2cap_send_config_rsp:
+531d 44e64019 bpatch patch19_4 ,mem_patch19 
+531e 58000005 setarg signal_config_rsp 
+531f e7e20005 istore 1 ,contw 
+5320 18e27e00 copy queue ,pdata 
+5321 e7e20005 istore 1 ,contw 
+5322 58000006 setarg 0x0006 
+5323 e7e40005 istore 2 ,contw 
+5324 18427e00 copy temp ,pdata 
+5325 e7e40005 istore 2 ,contw 
+5326 18007e00 force 0x00 ,pdata 
+5327 e7e40005 istore 2 ,contw 
+5328 18007e00 force l2cap_config_success ,pdata 
+5329 e7e40005 istore 2 ,contw 
+532a 18007e0a force 10 ,pdata 
+532b 9a40a400 iadd regb ,regb 
+532c 6044027e storet 2 ,mem_config_req_dest_cid 
+532d 18e27e00 copy queue ,pdata 
+532e 67e2027d store 1 ,mem_config_identifier 
+532f 18007e50 force l2cap_sdp_channel ,pdata 
+5330 a961fe00 icompare 0xff ,timeup 
+5331 2020d333 branch l2cap_send_config_rsp_is_sdp ,true 
+5332 1fe0fe01 increase 1 ,pdata 
+
+l2cap_send_config_rsp_is_sdp:
+5333 20600000 rtn 
+
+l2cap_check_channel_state:
+5334 78547c00 disable user 
+5335 c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+5336 c4000000 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+5337 c4008000 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+5338 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+5339 18c20a00 copy contr ,contw 
+533a 18a08bff increase -1 ,contw 
+533b e7e20005 istore 1 ,contw 
+533c 78347c00 enable user 
+533d 20600000 rtn 
+
+l2cap_send_config_req:
+
+l2cap_send_config_req_sdp:
+533e 6fe24222 fetch 1 ,mem_sdp_state 
+533f 20405334 call l2cap_check_channel_state 
+5340 24345345 nbranch l2cap_send_config_req_rfcomm ,user 
+5341 70027c50 jam l2cap_sdp_channel ,mem_send_config_req 
+5342 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+5343 67e4027e store 2 ,mem_config_req_dest_cid 
+5344 20205359 branch l2cap_generate_config_req 
+
+l2cap_send_config_req_rfcomm:
+5345 6fe24223 fetch 1 ,mem_rfcomm_state 
+5346 20405334 call l2cap_check_channel_state 
+5347 2434534c nbranch l2cap_send_config_req_hid_ctrl ,user 
+5348 70027c51 jam l2cap_rfcomm_channel ,mem_send_config_req 
+5349 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+534a 67e4027e store 2 ,mem_config_req_dest_cid 
+534b 20205359 branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_ctrl:
+534c 6fe24224 fetch 1 ,mem_hid_control_state 
+534d 20405334 call l2cap_check_channel_state 
+534e 24345353 nbranch l2cap_send_config_req_hid_int ,user 
+534f 70027c52 jam l2cap_hid_control_channel ,mem_send_config_req 
+5350 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+5351 67e4027e store 2 ,mem_config_req_dest_cid 
+5352 20205359 branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_int:
+5353 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+5354 20405334 call l2cap_check_channel_state 
+5355 24740000 nrtn user 
+5356 70027c53 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+5357 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+5358 67e4027e store 2 ,mem_config_req_dest_cid 
+
+l2cap_generate_config_req:
+5359 44e6c019 bpatch patch19_5 ,mem_patch19 
+535a 20405614 call l2cap_get_req_id 
+535b 20405692 call l2cap_malloc_signal_channel 
+535c 18002400 force 0 ,regb 
+535d 2040569d call l2cap_get_signal_tx_payload 
+535e 18007e04 force signal_config_req ,pdata 
+535f e7e20005 istore 1 ,contw 
+5360 6fe24227 fetch 1 ,mem_ml2cap_comm_id 
+5361 e7e20005 istore 1 ,contw 
+5362 58000008 setarg 0x0008 
+5363 e7e40005 istore 2 ,contw 
+5364 6fe4027e fetch 2 ,mem_config_req_dest_cid 
+5365 e7e40005 istore 2 ,contw 
+5366 58000000 setarg 0x0000 
+5367 e7e40005 istore 2 ,contw 
+5368 18007e01 force 1 ,pdata 
+5369 e7e20005 istore 1 ,contw 
+536a 18007e02 force 2 ,pdata 
+536b e7e20005 istore 1 ,contw 
+536c 6fe2027c fetch 1 ,mem_send_config_req 
+536d c028d371 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+536e 58000030 setarg l2cap_config_mtu_sdp 
+536f e7e40005 istore 2 ,contw 
+5370 20205373 branch l2cap_generate_config_req_done 
+
+l2cap_generate_config_req_rfcomm:
+5371 580003e3 setarg l2cap_config_mtu_rfcomm 
+5372 e7e40005 istore 2 ,contw 
+
+l2cap_generate_config_req_done:
+5373 d840000c arg 0x0c ,temp 
+5374 6044026b storet 2 ,mem_l2cap_signal_tx_length 
+5375 2040569b call l2cap_get_signal_tx_buff 
+5376 6fe4026b fetch 2 ,mem_l2cap_signal_tx_length 
+5377 e7e40005 istore 2 ,contw 
+5378 18007e01 force l2cap_signal_channel ,pdata 
+5379 e7e40005 istore 2 ,contw 
+537a 70027c00 jam 0 ,mem_send_config_req 
+
+l2cap_proc_signal_config_req_rtn:
+537b 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp:
+537c 18c08c01 increase 1 ,contr 
+537d efe40006 ifetch 2 ,contr 
+537e 1fe22200 copy pdata ,rega 
+537f 1a627e00 copy regc ,pdata 
+5380 9a262600 isub rega ,regc 
+5381 efe40006 ifetch 2 ,contr 
+5382 1fe22200 copy pdata ,rega 
+5383 44e74019 bpatch patch19_6 ,mem_patch19 
+5384 58000050 setarg l2cap_sdp_channel 
+5385 9a267c00 isub rega ,null 
+5386 2022d394 branch l2cap_proc_signal_config_rsp_sdp ,zero 
+5387 58000051 setarg l2cap_rfcomm_channel 
+5388 9a267c00 isub rega ,null 
+5389 2022d398 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+538a 58000052 setarg l2cap_hid_control_channel 
+538b 9a267c00 isub rega ,null 
+538c 2022d39c branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+538d 58000053 setarg l2cap_hid_interrupt_channel 
+538e 9a267c00 isub rega ,null 
+538f 2022d3a0 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+5390 18c08c02 increase 2 ,contr 
+5391 efe40006 ifetch 2 ,contr 
+5392 98007c00 iforce null 
+5393 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_sdp:
+5394 6fe24222 fetch 1 ,mem_sdp_state 
+5395 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+5396 67e24222 store 1 ,mem_sdp_state 
+5397 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_rfcomm:
+5398 6fe24223 fetch 1 ,mem_rfcomm_state 
+5399 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+539a 67e24223 store 1 ,mem_rfcomm_state 
+539b 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_ctrl:
+539c 6fe24224 fetch 1 ,mem_hid_control_state 
+539d 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+539e 67e24224 store 1 ,mem_hid_control_state 
+539f 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_int:
+53a0 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+53a1 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+53a2 67e24225 store 1 ,mem_hid_interrupt_state 
+53a3 700a9506 jam bt_evt_hid_connected ,mem_fifo_temp 
+53a4 20207bab branch ui_ipc_send_event 
+
+l2cap_proc_signal_disconnect_req:
+53a5 efe20006 ifetch 1 ,contr 
+53a6 1fe20e00 copy pdata ,queue 
+53a7 efe40006 ifetch 2 ,contr 
+53a8 1fe22200 copy pdata ,rega 
+53a9 1a627e00 copy regc ,pdata 
+53aa 9a262600 isub rega ,regc 
+53ab efe40006 ifetch 2 ,contr 
+53ac 1fe22200 copy pdata ,rega 
+53ad efe40006 ifetch 2 ,contr 
+53ae 1fe21600 copy pdata ,timeup 
+53af 1a220400 copy rega ,temp 
+53b0 20407c83 call save_cont_pointers 
+53b1 44e7c019 bpatch patch19_7 ,mem_patch19 
+53b2 58000050 setarg l2cap_sdp_channel 
+53b3 98467c00 isub temp ,null 
+53b4 2022d3cc branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+53b5 58000051 setarg l2cap_rfcomm_channel 
+53b6 98467c00 isub temp ,null 
+53b7 2022d3dc branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+53b8 58000052 setarg l2cap_hid_control_channel 
+53b9 98467c00 isub temp ,null 
+53ba 2022d3c0 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+53bb 58000053 setarg l2cap_hid_interrupt_channel 
+53bc 98467c00 isub temp ,null 
+53bd 2022d3c6 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+53be 2040543c call l2cap_reject_command 
+53bf 202053f1 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+53c0 19620400 copy timeup ,temp 
+53c1 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+53c2 98467c00 isub temp ,null 
+53c3 2022d3d2 branch l2cap_disconnect_hid_control_now ,zero 
+53c4 2040543c call l2cap_reject_command 
+53c5 202053f1 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_int:
+53c6 19620400 copy timeup ,temp 
+53c7 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+53c8 98467c00 isub temp ,null 
+53c9 2022d3d4 branch l2cap_disconnect_hid_interrupt_now ,zero 
+53ca 2040543c call l2cap_reject_command 
+53cb 202053f1 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_sdp:
+53cc 19620400 copy timeup ,temp 
+53cd 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+53ce 98467c00 isub temp ,null 
+53cf 2022d3d8 branch l2cap_disconnect_sdp_now ,zero 
+53d0 2040543c call l2cap_reject_command 
+53d1 202053f1 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_hid_control_now:
+53d2 20405453 call l2cap_reset_hid_ctrl_state 
+53d3 202053e4 branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_hid_interrupt_now:
+53d4 20405459 call l2cap_reset_hid_int_state 
+53d5 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+53d6 203a53e4 branch l2cap_send_disconnect_rsp_pkt ,blank 
+53d7 202053e4 branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_sdp_now:
+53d8 2040544e call l2cap_reset_sdp_channel_state 
+53d9 6fe20284 fetch 1 ,mem_upper_sm_ss 
+53da 243a53e4 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+53db 202053e4 branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_proc_signal_disconnect_req_rfcomm:
+53dc 19620400 copy timeup ,temp 
+53dd 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+53de 98467c00 isub temp ,null 
+53df 2022d3e2 branch l2cap_disconnect_rfcomm_now ,zero 
+53e0 2040543c call l2cap_reject_command 
+53e1 202053f1 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_rfcomm_now:
+53e2 20405449 call l2cap_reset_rfcomm_channel_state 
+53e3 202053e4 branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_send_disconnect_rsp_pkt:
+53e4 20407c88 call load_cont_pointers 
+53e5 58000007 setarg signal_disconnect_rsp 
+53e6 e7e20005 istore 1 ,contw 
+53e7 18e27e00 copy queue ,pdata 
+53e8 e7e20005 istore 1 ,contw 
+53e9 58000004 setarg 0x0004 
+53ea e7e40005 istore 2 ,contw 
+53eb 1a227e00 copy rega ,pdata 
+53ec e7e40005 istore 2 ,contw 
+53ed 19627e00 copy timeup ,pdata 
+53ee e7e40005 istore 2 ,contw 
+53ef 18007e08 force 8 ,pdata 
+53f0 202053f3 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_err_rtn:
+53f1 20407c88 call load_cont_pointers 
+53f2 202053f3 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_rtn:
+53f3 9a40a400 iadd regb ,regb 
+53f4 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp:
+53f5 efe20006 ifetch 1 ,contr 
+53f6 1fe20e00 copy pdata ,queue 
+53f7 efe40006 ifetch 2 ,contr 
+53f8 1fe22200 copy pdata ,rega 
+53f9 1a627e00 copy regc ,pdata 
+53fa 9a262600 isub rega ,regc 
+53fb efe40006 ifetch 2 ,contr 
+53fc 1fe21600 copy pdata ,timeup 
+53fd efe40006 ifetch 2 ,contr 
+53fe 1fe20400 copy pdata ,temp 
+53ff 20407c83 call save_cont_pointers 
+5400 44e8401a bpatch patch1a_0 ,mem_patch1a 
+5401 58000050 setarg l2cap_sdp_channel 
+5402 98467c00 isub temp ,null 
+5403 2022d40f branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+5404 58000051 setarg l2cap_rfcomm_channel 
+5405 98467c00 isub temp ,null 
+5406 2022d415 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+5407 58000052 setarg l2cap_hid_control_channel 
+5408 98467c00 isub temp ,null 
+5409 2022d41b branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+540a 58000053 setarg l2cap_hid_interrupt_channel 
+540b 98467c00 isub temp ,null 
+540c 2022d421 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+540d 2040543c call l2cap_reject_command 
+540e 20205429 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+
+l2cap_proc_signal_disconnect_rsp_sdp:
+540f 18422200 copy temp ,rega 
+5410 19620400 copy timeup ,temp 
+5411 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+5412 98467c00 isub temp ,null 
+5413 2042d44e call l2cap_reset_sdp_channel_state ,zero 
+5414 20205427 branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+5415 18422200 copy temp ,rega 
+5416 19620400 copy timeup ,temp 
+5417 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+5418 98467c00 isub temp ,null 
+5419 2042d449 call l2cap_reset_rfcomm_channel_state ,zero 
+541a 20205427 branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+541b 18422200 copy temp ,rega 
+541c 19620400 copy timeup ,temp 
+541d 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+541e 98467c00 isub temp ,null 
+541f 2042d453 call l2cap_reset_hid_ctrl_state ,zero 
+5420 20205427 branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_int:
+5421 18422200 copy temp ,rega 
+5422 19620400 copy timeup ,temp 
+5423 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+5424 98467c00 isub temp ,null 
+5425 2042d459 call l2cap_reset_hid_int_state ,zero 
+5426 20205427 branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rtn:
+5427 20407c88 call load_cont_pointers 
+5428 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+5429 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_req:
+542a efe20006 ifetch 1 ,contr 
+542b 1fe20e00 copy pdata ,queue 
+542c efe40006 ifetch 2 ,contr 
+542d 1fe22200 copy pdata ,rega 
+542e 98c08c00 iadd contr ,contr 
+542f 58000009 setarg 9 
+5430 e7e20005 istore 1 ,contw 
+5431 18e27e00 copy queue ,pdata 
+5432 e7e20005 istore 1 ,contw 
+5433 18007e00 force 0x0000 ,pdata 
+5434 e7e40005 istore 2 ,contw 
+5435 18007e04 force 4 ,pdata 
+5436 9a40a400 iadd regb ,regb 
+5437 1a627e00 copy regc ,pdata 
+5438 9a262600 isub rega ,regc 
+5439 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_rsp:
+543a 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_info_rsp:
+543b 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_reject_command:
+543c 18002400 force 0 ,regb 
+543d 2040569d call l2cap_get_signal_tx_payload 
+543e 58000001 setarg signal_cmd_reject 
+543f e7e20005 istore 1 ,contw 
+5440 18e27e00 copy queue ,pdata 
+5441 e7e20005 istore 1 ,contw 
+5442 58000002 setarg 2 
+5443 e7e40005 istore 2 ,contw 
+5444 58000000 setarg cmd_not_understood 
+5445 e7e40005 istore 2 ,contw 
+5446 1a40a406 increase 6 ,regb 
+5447 da600004 arg 4 ,regc 
+5448 202051f8 branch l2cap_process_one_signal_rtn 
+
+l2cap_reset_rfcomm_channel_state:
+5449 58000000 setarg 0 
+544a 67e40277 store 2 ,mem_rfcomm_tx_pkt_length 
+544b 67e4421c store 2 ,mem_rfcomm_remote_cid 
+544c 70422300 jam 0 ,mem_rfcomm_state 
+544d 20600000 rtn 
+
+l2cap_reset_sdp_channel_state:
+544e 58000000 setarg 0 
+544f 67e40271 store 2 ,mem_sdp_tx_pkt_length 
+5450 67e4421a store 2 ,mem_sdp_remote_cid 
+5451 70422200 jam 0 ,mem_sdp_state 
+5452 20600000 rtn 
+
+l2cap_reset_hid_ctrl_state:
+5453 58000000 setarg 0 
+5454 67e4421e store 2 ,mem_hid_ctrl_remote_cid 
+5455 70422400 jam 0 ,mem_hid_control_state 
+5456 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+5457 c000545f beq 0 ,l2cap_reset_hid_disconnected 
+5458 20600000 rtn 
+
+l2cap_reset_hid_int_state:
+5459 58000000 setarg 0 
+545a 67e44220 store 2 ,mem_hid_int_remote_cid 
+545b 70422500 jam 0 ,mem_hid_interrupt_state 
+545c 6fe24224 fetch 1 ,mem_hid_control_state 
+545d c000545f beq 0 ,l2cap_reset_hid_disconnected 
+545e 20600000 rtn 
+
+l2cap_reset_hid_disconnected:
+545f 700a9507 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+5460 20207bab branch ui_ipc_send_event 
+
+l2cap_disconnect_interrupt_req:
+5461 6fe2027b fetch 1 ,mem_control_tasks 
+5462 793ffe00 set0 l2cap_disconnect_interrupt ,pdata 
+5463 67e2027b store 1 ,mem_control_tasks 
+5464 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+5465 207a0000 rtn blank 
+5466 20405692 call l2cap_malloc_signal_channel 
+5467 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+5468 1fe22200 copy pdata ,rega 
+5469 18002453 force l2cap_hid_interrupt_channel ,regb 
+546a 20205474 branch l2cap_generate_disconnect_req 
+
+l2cap_disconnect_control_req:
+546b 6fe2027b fetch 1 ,mem_control_tasks 
+546c 793ffe07 set0 l2cap_disconnect_control ,pdata 
+546d 67e2027b store 1 ,mem_control_tasks 
+546e 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+546f 207a0000 rtn blank 
+5470 20405692 call l2cap_malloc_signal_channel 
+5471 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+5472 1fe22200 copy pdata ,rega 
+5473 18002452 force l2cap_hid_control_channel ,regb 
+
+l2cap_generate_disconnect_req:
+5474 20405614 call l2cap_get_req_id 
+5475 2040569d call l2cap_get_signal_tx_payload 
+5476 18007e06 force signal_disconnect_req ,pdata 
+5477 e7e20005 istore 1 ,contw 
+5478 6fe24227 fetch 1 ,mem_ml2cap_comm_id 
+5479 e7e20005 istore 1 ,contw 
+547a 58000004 setarg 0x0004 
+547b e7e40005 istore 2 ,contw 
+547c 1a227e00 copy rega ,pdata 
+547d e7e40005 istore 2 ,contw 
+547e 1a427e00 copy regb ,pdata 
+547f e7e40005 istore 2 ,contw 
+5480 18000408 force 0x08 ,temp 
+5481 202054b8 branch ml2cap_send_signal 
+
+ml2cap_send_signal_connect_req:
+5482 44e8c01a bpatch patch1a_1 ,mem_patch1a 
+5483 20405614 call l2cap_get_req_id 
+5484 2040569d call l2cap_get_signal_tx_payload 
+5485 58000002 setarg signal_connect_req 
+5486 e7e20005 istore 1 ,contw 
+5487 6fe24227 fetch 1 ,mem_ml2cap_comm_id 
+5488 e7e20005 istore 1 ,contw 
+5489 58000004 setarg 0x0004 
+548a e7e40005 istore 2 ,contw 
+548b 18427e00 copy temp ,pdata 
+548c e7e40005 istore 2 ,contw 
+548d 19627e00 copy timeup ,pdata 
+548e e7e40005 istore 2 ,contw 
+548f d8400008 arg 8 ,temp 
+5490 202054b8 branch ml2cap_send_signal 
+
+ml2cap_send_signal_config_req:
+5491 44e9401a bpatch patch1a_2 ,mem_patch1a 
+5492 20405614 call l2cap_get_req_id 
+5493 2040569d call l2cap_get_signal_tx_payload 
+5494 58000004 setarg signal_config_req 
+5495 e7e20005 istore 1 ,contw 
+5496 6fe24227 fetch 1 ,mem_ml2cap_comm_id 
+5497 e7e20005 istore 1 ,contw 
+5498 58000008 setarg 0x0008 
+5499 e7e40005 istore 2 ,contw 
+549a 18427e00 copy temp ,pdata 
+549b e7e40005 istore 2 ,contw 
+549c 58000000 setarg 0x0000 
+549d e7e40005 istore 2 ,contw 
+549e 58000001 setarg 0x01 
+549f e7e20005 istore 1 ,contw 
+54a0 58000002 setarg 0x02 
+54a1 e7e20005 istore 1 ,contw 
+54a2 580003e3 setarg l2cap_config_mtu_rfcomm 
+54a3 e7e40005 istore 2 ,contw 
+54a4 d840000c arg 0xc ,temp 
+54a5 202054b8 branch ml2cap_send_signal 
+
+ml2cap_send_signal_disconn_req:
+54a6 44e9c01a bpatch patch1a_3 ,mem_patch1a 
+54a7 20405614 call l2cap_get_req_id 
+54a8 2040569d call l2cap_get_signal_tx_payload 
+54a9 58000006 setarg signal_disconnect_req 
+54aa e7e20005 istore 1 ,contw 
+54ab 6fe24227 fetch 1 ,mem_ml2cap_comm_id 
+54ac 1fe0fe01 increase 1 ,pdata 
+54ad 18a22200 copy contw ,rega 
+54ae 67e24227 store 1 ,mem_ml2cap_comm_id 
+54af 1a220a00 copy rega ,contw 
+54b0 e7e20005 istore 1 ,contw 
+54b1 58000004 setarg 0x0004 
+54b2 e7e40005 istore 2 ,contw 
+54b3 18427e00 copy temp ,pdata 
+54b4 e7e40005 istore 2 ,contw 
+54b5 19627e00 copy timeup ,pdata 
+54b6 e7e40005 istore 2 ,contw 
+54b7 d8400008 arg 0x8 ,temp 
+
+ml2cap_send_signal:
+54b8 6044026b storet 2 ,mem_l2cap_signal_tx_length 
+54b9 18427e00 copy temp ,pdata 
+54ba 203a563e branch l2cap_malloc_discard ,blank 
+54bb 2040569b call l2cap_get_signal_tx_buff 
+54bc 6fe4026b fetch 2 ,mem_l2cap_signal_tx_length 
+54bd e7e40005 istore 2 ,contw 
+54be 18007e01 force l2cap_signal_channel ,pdata 
+54bf e7e40005 istore 2 ,contw 
+54c0 20600000 rtn 
+
+msdp_send_req_done:
+54c1 6fe40271 fetch 2 ,mem_sdp_tx_pkt_length 
+54c2 203a4a8b branch assert ,blank 
+54c3 204056a8 call l2cap_get_sdp_tx_buff 
+54c4 6fe40271 fetch 2 ,mem_sdp_tx_pkt_length 
+54c5 e7e40005 istore 2 ,contw 
+54c6 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+54c7 e7e40005 istore 2 ,contw 
+54c8 20600000 rtn 
+
+ml2cap_rx_multiplexing:
+54c9 6fe40262 fetch 2 ,mem_l2cap_rx_pkt_length 
+54ca 203a51d6 branch l2cap_rx_reset_state ,blank 
+54cb 44ea401a bpatch patch1a_4 ,mem_patch1a 
+54cc 6fe20264 fetch 1 ,mem_l2cap_rx_cid 
+54cd c000d4d3 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+54ce c02851c2 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+54cf c028d1cf beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+54d0 c02951cd beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+54d1 c029d1cd beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+54d2 202051d6 branch l2cap_rx_reset_state 
+
+ml2cap_call_proc_signal:
+54d3 44eac01a bpatch patch1a_5 ,mem_patch1a 
+54d4 20405692 call l2cap_malloc_signal_channel 
+54d5 18002400 force 0 ,regb 
+54d6 2040569d call l2cap_get_signal_tx_payload 
+54d7 1fe20a00 copy pdata ,contw 
+54d8 6fe40262 fetch 2 ,mem_l2cap_rx_pkt_length 
+54d9 1fe22600 copy pdata ,regc 
+54da 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+54db 98000c00 iforce contr 
+
+ml2cap_proc_one_comm_loop:
+54dc 204054e2 call ml2cap_proc_one_comm 
+54dd 1a60a7fc increase -4 ,regc 
+54de 2422d4dc nbranch ml2cap_proc_one_comm_loop ,zero 
+54df 1a420400 copy regb ,temp 
+54e0 204054b8 call ml2cap_send_signal 
+54e1 202051d6 branch l2cap_rx_reset_state 
+
+ml2cap_proc_one_comm:
+54e2 efe20006 ifetch 1 ,contr 
+54e3 c00154ed beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+54e4 c000d4f0 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+54e5 c001d4fa beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+54e6 c002d536 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+54e7 c0025568 beq signal_config_req ,ml2cap_proc_signal_config_req 
+54e8 c003d5ed beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+54e9 c00355bb beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+54ea c004542a beq signal_echo_req ,l2cap_proc_signal_echo_req 
+54eb c0055214 beq signal_info_req ,ml2cap_proc_signal_info_req 
+54ec 20205608 branch ml2cap_proc_send_reject 
+
+ml2cap_proc_signal_connect_req:
+54ed 20407c83 call save_cont_pointers 
+54ee 20407c88 call load_cont_pointers 
+54ef 2020522b branch l2cap_proc_signal_connect_req 
+
+ml2cap_proc_signal_cmd_reject:
+54f0 efe20006 ifetch 1 ,contr 
+54f1 1fe20e00 copy pdata ,queue 
+54f2 efe40006 ifetch 2 ,contr 
+54f3 1fe22200 copy pdata ,rega 
+54f4 1a627e00 copy regc ,pdata 
+54f5 9a262600 isub rega ,regc 
+
+mvptr:
+54f6 efe20006 ifetch 1 ,contr 
+54f7 1a20a3ff increase -1 ,rega 
+54f8 2422d4f6 nbranch mvptr ,zero 
+54f9 20600000 rtn 
+
+ml2cap_proc_signal_connect_rsp:
+54fa efe20006 ifetch 1 ,contr 
+54fb 1fe20e00 copy pdata ,queue 
+54fc efe40006 ifetch 2 ,contr 
+54fd 1fe22200 copy pdata ,rega 
+54fe efe40006 ifetch 2 ,contr 
+54ff 1fe21600 copy pdata ,timeup 
+5500 efe40006 ifetch 2 ,contr 
+5501 1fe20400 copy pdata ,temp 
+5502 efe40006 ifetch 2 ,contr 
+5503 1fe67c00 sub pdata ,0 ,null 
+5504 2022d50c branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+5505 c0015508 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+5506 c0025508 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+5507 2020550a branch ml2cap_proc_signal_connect_rsp_mnosucc 
+
+ml2cap_proc_signal_connect_refused_result:
+5508 700a9516 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+5509 20407bab call ui_ipc_send_event 
+
+ml2cap_proc_signal_connect_rsp_mnosucc:
+550a efe40006 ifetch 2 ,contr 
+550b 20205533 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sucessful:
+550c 20407c83 call save_cont_pointers 
+550d 44eb401a bpatch patch1a_6 ,mem_patch1a 
+550e 58000050 setarg l2cap_sdp_channel 
+550f 98467c00 isub temp ,null 
+5510 2022d51b branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+5511 58000051 setarg l2cap_rfcomm_channel 
+5512 98467c00 isub temp ,null 
+5513 2022d521 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+5514 58000053 setarg l2cap_hid_interrupt_channel 
+5515 98467c00 isub temp ,null 
+5516 2022d52d branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+5517 58000052 setarg l2cap_hid_control_channel 
+5518 98467c00 isub temp ,null 
+5519 2022d527 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+551a 20205533 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sdp:
+551b 19627e00 copy timeup ,pdata 
+551c 67e4421a store 2 ,mem_sdp_remote_cid 
+551d 6fe24222 fetch 1 ,mem_sdp_state 
+551e 79207e01 set1 l2cap_channel_state_conn_res 
+551f 67e24222 store 1 ,mem_sdp_state 
+5520 20205532 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_rfcomm:
+5521 19627e00 copy timeup ,pdata 
+5522 67e4421c store 2 ,mem_rfcomm_remote_cid 
+5523 6fe24223 fetch 1 ,mem_rfcomm_state 
+5524 79207e01 set1 l2cap_channel_state_conn_res 
+5525 67e24223 store 1 ,mem_rfcomm_state 
+5526 20205532 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+5527 19627e00 copy timeup ,pdata 
+5528 67e4421e store 2 ,mem_hid_ctrl_remote_cid 
+5529 6fe24224 fetch 1 ,mem_hid_control_state 
+552a 79207e01 set1 l2cap_channel_state_conn_res 
+552b 67e24224 store 1 ,mem_hid_control_state 
+552c 20205532 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_int:
+552d 19627e00 copy timeup ,pdata 
+552e 67e44220 store 2 ,mem_hid_int_remote_cid 
+552f 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+5530 79207e01 set1 l2cap_channel_state_conn_res 
+5531 67e24225 store 1 ,mem_hid_interrupt_state 
+
+mnosucc1:
+5532 20407c88 call load_cont_pointers 
+
+mnosucc:
+5533 1a627e00 copy regc ,pdata 
+5534 9a262600 isub rega ,regc 
+5535 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp:
+5536 efe20006 ifetch 1 ,contr 
+5537 1fe20e00 copy pdata ,queue 
+5538 efe40006 ifetch 2 ,contr 
+5539 1fe22200 copy pdata ,rega 
+553a 1a627e00 copy regc ,pdata 
+553b 9a262600 isub rega ,regc 
+553c efe40006 ifetch 2 ,contr 
+553d 1fe21600 copy pdata ,timeup 
+553e efe40006 ifetch 2 ,contr 
+553f efe40006 ifetch 2 ,contr 
+5540 243a5562 nbranch mcrsdone1 ,blank 
+5541 20407c83 call save_cont_pointers 
+5542 19620400 copy timeup ,temp 
+5543 44ebc01a bpatch patch1a_7 ,mem_patch1a 
+5544 58000050 setarg l2cap_sdp_channel 
+5545 98467c00 isub temp ,null 
+5546 2022d550 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+5547 58000051 setarg l2cap_rfcomm_channel 
+5548 98467c00 isub temp ,null 
+5549 2022d554 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+554a 58000052 setarg l2cap_hid_control_channel 
+554b 98467c00 isub temp ,null 
+554c 2022d558 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+554d 58000053 setarg l2cap_hid_interrupt_channel 
+554e 98467c00 isub temp ,null 
+554f 2022d55c branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+
+ml2cap_proc_signal_config_rsp_sdp:
+5550 6fe24222 fetch 1 ,mem_sdp_state 
+5551 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5552 67e24222 store 1 ,mem_sdp_state 
+5553 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_rfcomm:
+5554 6fe24223 fetch 1 ,mem_rfcomm_state 
+5555 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5556 67e24223 store 1 ,mem_rfcomm_state 
+5557 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+5558 6fe24224 fetch 1 ,mem_hid_control_state 
+5559 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+555a 67e24224 store 1 ,mem_hid_control_state 
+555b 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_int:
+555c 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+555d 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+555e 67e24225 store 1 ,mem_hid_interrupt_state 
+555f 700a9506 jam bt_evt_hid_connected ,mem_fifo_temp 
+5560 20207bab branch ui_ipc_send_event 
+
+mcfrsdone:
+5561 20407c88 call load_cont_pointers 
+
+mcrsdone1:
+5562 1a20a3fa increase -6 ,rega 
+
+mloop2:
+5563 2022d567 branch mcrsdone ,zero 
+5564 18c08c01 increase 1 ,contr 
+5565 1a20a3ff increase -1 ,rega 
+5566 20205563 branch mloop2 
+
+mcrsdone:
+5567 20600000 rtn 
+
+ml2cap_proc_signal_config_req:
+5568 efe20006 ifetch 1 ,contr 
+5569 1fe20e00 copy pdata ,queue 
+556a efe40006 ifetch 2 ,contr 
+556b 1fe22200 copy pdata ,rega 
+556c 1a627e00 copy regc ,pdata 
+556d 9a262600 isub rega ,regc 
+556e efe40006 ifetch 2 ,contr 
+556f 18c08c02 increase 2 ,contr 
+5570 1fe20400 copy pdata ,temp 
+5571 58000005 setarg signal_config_rsp 
+5572 e7e20005 istore 1 ,contw 
+5573 18e27e00 copy queue ,pdata 
+5574 e7e20005 istore 1 ,contw 
+5575 1a20a202 increase 2 ,rega 
+5576 1a227e00 copy rega ,pdata 
+5577 e7e40005 istore 2 ,contw 
+5578 20407c83 call save_cont_pointers 
+5579 44ec401b bpatch patch1b_0 ,mem_patch1b 
+557a 58000050 setarg l2cap_sdp_channel 
+557b 98467c00 isub temp ,null 
+557c 2022d587 branch ml2cap_proc_signal_config_req_sdp ,zero 
+557d 58000051 setarg l2cap_rfcomm_channel 
+557e 98467c00 isub temp ,null 
+557f 2022d598 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+5580 58000052 setarg l2cap_hid_control_channel 
+5581 98467c00 isub temp ,null 
+5582 2022d59e branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+5583 58000053 setarg l2cap_hid_interrupt_channel 
+5584 98467c00 isub temp ,null 
+5585 2022d5a4 branch ml2cap_proc_signal_config_req_hid_int ,zero 
+5586 202055a9 branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_sdp:
+5587 6fe24222 fetch 1 ,mem_sdp_state 
+5588 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+5589 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+558a 67e24222 store 1 ,mem_sdp_state 
+558b c2815595 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+558c 6842027b fetcht 1 ,mem_control_tasks 
+558d 79200406 set1 l2cap_init_config_req ,temp 
+558e 6042027b storet 1 ,mem_control_tasks 
+558f 18e27e00 copy queue ,pdata 
+5590 1fe0fe01 increase 1 ,pdata 
+5591 67e2027d store 1 ,mem_config_identifier 
+5592 6fe24222 fetch 1 ,mem_sdp_state 
+5593 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+5594 67e24222 store 1 ,mem_sdp_state 
+
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+5595 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+5596 67e4027e store 2 ,mem_config_req_dest_cid 
+5597 202055a9 branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_rfcomm:
+5598 6fe24223 fetch 1 ,mem_rfcomm_state 
+5599 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+559a 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+559b 67e24223 store 1 ,mem_rfcomm_state 
+559c 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+559d 202055a9 branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_ctrl:
+559e 6fe24224 fetch 1 ,mem_hid_control_state 
+559f 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+55a0 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+55a1 67e24224 store 1 ,mem_hid_control_state 
+55a2 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+55a3 202055a9 branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_int:
+55a4 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+55a5 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+55a6 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+55a7 67e24225 store 1 ,mem_hid_interrupt_state 
+55a8 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+
+mcfgrq_done:
+55a9 1fe21600 copy pdata ,timeup 
+55aa 20407c88 call load_cont_pointers 
+55ab 19627e00 copy timeup ,pdata 
+55ac e7e40005 istore 2 ,contw 
+55ad 18007e00 force 0x0000 ,pdata 
+55ae e7e40005 istore 2 ,contw 
+55af 18007e00 force 0x0000 ,pdata 
+55b0 e7e40005 istore 2 ,contw 
+55b1 18007e0a force 10 ,pdata 
+55b2 9a40a400 iadd regb ,regb 
+55b3 1a20a3fa increase -6 ,rega 
+
+mloop1:
+55b4 2022d5ba branch mcrqdone ,zero 
+55b5 efe20006 ifetch 1 ,contr 
+55b6 e7e20005 istore 1 ,contw 
+55b7 1a40a401 increase 1 ,regb 
+55b8 1a20a3ff increase -1 ,rega 
+55b9 202055b4 branch mloop1 
+
+mcrqdone:
+55ba 20600000 rtn 
+
+ml2cap_proc_signal_disconn_req:
+55bb efe20006 ifetch 1 ,contr 
+55bc 1fe20e00 copy pdata ,queue 
+55bd efe40006 ifetch 2 ,contr 
+55be 1fe22200 copy pdata ,rega 
+55bf 1a627e00 copy regc ,pdata 
+55c0 9a262600 isub rega ,regc 
+55c1 efe40006 ifetch 2 ,contr 
+55c2 1fe22200 copy pdata ,rega 
+55c3 efe40006 ifetch 2 ,contr 
+55c4 1fe21600 copy pdata ,timeup 
+55c5 20407c83 call save_cont_pointers 
+55c6 44ecc01b bpatch patch1b_1 ,mem_patch1b 
+55c7 58000050 setarg l2cap_sdp_channel 
+55c8 1a220400 copy rega ,temp 
+55c9 98467c00 isub temp ,null 
+55ca 2022d5d4 branch ml2cap_proc_signal_disconn_sdp ,zero 
+55cb 58000052 setarg l2cap_hid_control_channel 
+55cc 1a220400 copy rega ,temp 
+55cd 98467c00 isub temp ,null 
+55ce 2022d5d9 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+55cf 58000053 setarg l2cap_hid_interrupt_channel 
+55d0 1a220400 copy rega ,temp 
+55d1 98467c00 isub temp ,null 
+55d2 2022d5db branch ml2cap_proc_signal_disconn_hid_int ,zero 
+55d3 202055dd branch mclsrfc 
+
+ml2cap_proc_signal_disconn_sdp:
+55d4 58000000 setarg 0x0000 
+55d5 67e40271 store 2 ,mem_sdp_tx_pkt_length 
+55d6 67e4421a store 2 ,mem_sdp_remote_cid 
+55d7 67e24222 store 1 ,mem_sdp_state 
+55d8 202055df branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_ctrl:
+55d9 20405453 call l2cap_reset_hid_ctrl_state 
+55da 202055df branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_int:
+55db 20405459 call l2cap_reset_hid_int_state 
+55dc 202055df branch mclssdp 
+
+mclsrfc:
+55dd 58000000 setarg 0x0000 
+55de 67e40277 store 2 ,mem_rfcomm_tx_pkt_length 
+
+mclssdp:
+55df 20407c88 call load_cont_pointers 
+55e0 58000007 setarg signal_disconnect_rsp 
+55e1 e7e20005 istore 1 ,contw 
+55e2 18e27e00 copy queue ,pdata 
+55e3 e7e20005 istore 1 ,contw 
+55e4 58000004 setarg 0x0004 
+55e5 e7e40005 istore 2 ,contw 
+55e6 1a227e00 copy rega ,pdata 
+55e7 e7e40005 istore 2 ,contw 
+55e8 19627e00 copy timeup ,pdata 
+55e9 e7e40005 istore 2 ,contw 
+55ea 18007e08 force 8 ,pdata 
+55eb 9a40a400 iadd regb ,regb 
+55ec 20600000 rtn 
+
+ml2cap_proc_signal_disconn_rsp:
+55ed efe20006 ifetch 1 ,contr 
+55ee 1fe20e00 copy pdata ,queue 
+55ef efe40006 ifetch 2 ,contr 
+55f0 1fe22200 copy pdata ,rega 
+55f1 efe40006 ifetch 2 ,contr 
+55f2 1fe21600 copy pdata ,timeup 
+55f3 efe40006 ifetch 2 ,contr 
+55f4 1fe20400 copy pdata ,temp 
+55f5 20407c83 call save_cont_pointers 
+55f6 44ed401b bpatch patch1b_2 ,mem_patch1b 
+55f7 6fe24227 fetch 1 ,mem_ml2cap_comm_id 
+55f8 a8e1fe00 icompare 0xff ,queue 
+55f9 2420d604 nbranch mdisdone ,true 
+55fa 58000050 setarg l2cap_sdp_channel 
+55fb 98467c00 isub temp ,null 
+55fc 2022d601 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+55fd 58000051 setarg l2cap_rfcomm_channel 
+55fe 98467c00 isub temp ,null 
+55ff 2022d604 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+5600 20205604 branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_sdp:
+5601 70421a00 jam 0 ,mem_sdp_remote_cid 
+5602 70422200 jam 0 ,mem_sdp_state 
+5603 20205604 branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+
+mdisdone:
+5604 20407c88 call load_cont_pointers 
+5605 1a627e00 copy regc ,pdata 
+5606 9a262600 isub rega ,regc 
+5607 20600000 rtn 
+
+ml2cap_proc_send_reject:
+5608 58000001 setarg signal_cmd_reject 
+5609 e7e20005 istore 1 ,contw 
+560a efe20006 ifetch 1 ,contr 
+560b e7e20005 istore 1 ,contw 
+560c 58000002 setarg 0x0002 
+560d e7e40005 istore 2 ,contw 
+560e 58000000 setarg 0x0000 
+560f e7e40005 istore 2 ,contw 
+5610 58000006 setarg 0x0006 
+5611 9a40a400 iadd regb ,regb 
+5612 18002604 force 4 ,regc 
+5613 20600000 rtn 
+
+l2cap_get_req_id:
+5614 6fe24227 fetch 1 ,mem_ml2cap_comm_id 
+5615 1fe0fe01 increase 1 ,pdata 
+5616 c0805618 bne 0 ,l2cap_get_req_id_ok 
+5617 1fe0fe01 increase 1 ,pdata 
+
+l2cap_get_req_id_ok:
+5618 67e24227 store 1 ,mem_ml2cap_comm_id 
+5619 20600000 rtn 
+
+l2cap_malloc:
+561a 44edc01b bpatch patch1b_3 ,mem_patch1b 
+561b da400000 arg 0 ,regb 
+561c 20405648 call l2cap_malloc_is_fifo_full 
+561d 243a4a8b nbranch assert ,blank 
+561e 20405658 call l2cap_malloc_get_full_map 
+561f da401800 arg mem_tx_buff0 ,regb 
+5620 d8e00000 arg 0 ,queue 
+
+l2cap_malloc_loop:
+5621 68424228 fetcht 1 ,mem_used_map 
+5622 a84fffff qisolate1 temp 
+5623 2020d629 branch l2cap_malloc_next ,true 
+5624 2040567a call l2cap_malloc_enough 
+5625 19667c00 sub timeup ,0 ,null 
+5626 20215629 branch l2cap_malloc_next ,positive 
+5627 20405662 call l2cap_malloc_into_fifo 
+5628 2020562f branch l2cap_malloc_rtn 
+
+l2cap_malloc_next:
+5629 1a40a480 increase 128 ,regb 
+562a 18e08e01 increase 1 ,queue 
+562b 58000008 setarg 8 
+562c 98e67c00 isub queue ,null 
+562d 20215621 branch l2cap_malloc_loop ,positive 
+562e da400000 arg 0 ,regb 
+
+l2cap_malloc_rtn:
+562f 1a427e00 copy regb ,pdata 
+5630 203a4a8b branch assert ,blank 
+5631 20600000 rtn 
+
+l2cap_malloc_fifo_out:
+5632 44ee401b bpatch patch1b_4 ,mem_patch1b 
+5633 20405651 call l2cap_malloc_fifo_get_first_ptr 
+5634 18c08c01 increase 1 ,contr 
+5635 efe40006 ifetch 2 ,contr 
+5636 20600000 rtn 
+
+l2cap_malloc_free:
+5637 44eec01b bpatch patch1b_5 ,mem_patch1b 
+5638 20405651 call l2cap_malloc_fifo_get_first_ptr 
+5639 18c20a00 copy contr ,contw 
+563a 18c20400 copy contr ,temp 
+563b 58000000 setarg 0 
+563c e7e60005 istore 3 ,contw 
+563d 20600000 rtn 
+
+l2cap_malloc_discard:
+563e 44ef401b bpatch patch1b_6 ,mem_patch1b 
+563f 2040564e call l2cap_malloc_is_fifo_empty 
+5640 203a4a8b branch assert ,blank 
+5641 6fe6422f fetch 3 ,mem_tx_fifo2 
+5642 67e64232 store 3 ,mem_tx_fifo3 
+5643 6fe6422c fetch 3 ,mem_tx_fifo1 
+5644 67e6422f store 3 ,mem_tx_fifo2 
+5645 6fe64229 fetch 3 ,mem_tx_fifo0 
+5646 67e6422c store 3 ,mem_tx_fifo1 
+5647 20600000 rtn 
+
+l2cap_malloc_is_fifo_full:
+5648 44efc01b bpatch patch1b_7 ,mem_patch1b 
+5649 6fe64229 fetch 3 ,mem_tx_fifo0 
+564a 20600000 rtn 
+
+l2cap_malloc_is_fifo_nearly_full:
+564b 44f0401c bpatch patch1c_0 ,mem_patch1c 
+564c 6fe6422c fetch 3 ,mem_tx_fifo1 
+564d 20600000 rtn 
+
+l2cap_malloc_is_fifo_empty:
+564e 44f0c01c bpatch patch1c_1 ,mem_patch1c 
+564f 6fe64232 fetch 3 ,mem_tx_fifo3 
+5650 20600000 rtn 
+
+l2cap_malloc_fifo_get_first_ptr:
+5651 2040564e call l2cap_malloc_is_fifo_empty 
+5652 203a4a8b branch assert ,blank 
+5653 d8c04229 arg mem_tx_fifo0 ,contr 
+
+l2cap_malloc_free_loop:
+5654 efe60006 ifetch 3 ,contr 
+5655 203a5654 branch l2cap_malloc_free_loop ,blank 
+5656 18c08dfd increase -3 ,contr 
+5657 20600000 rtn 
+
+l2cap_malloc_get_full_map:
+5658 44f1401c bpatch patch1c_2 ,mem_patch1c 
+5659 df200004 arg 4 ,loopcnt 
+565a d8c04229 arg mem_tx_fifo0_map ,contr 
+565b d8400000 arg 0 ,temp 
+
+l2cap_malloc_get_full_map_loop:
+565c efe60006 ifetch 3 ,contr 
+565d 1fe17eff and pdata ,0xff ,pdata 
+565e 98418400 ior temp ,temp 
+565f c200565c loop l2cap_malloc_get_full_map_loop 
+5660 60424228 storet 1 ,mem_used_map 
+5661 20600000 rtn 
+
+l2cap_malloc_into_fifo:
+5662 44f1c01c bpatch patch1c_3 ,mem_patch1c 
+5663 20405648 call l2cap_malloc_is_fifo_full 
+5664 243a4a8b nbranch assert ,blank 
+5665 2040564e call l2cap_malloc_is_fifo_empty 
+5666 203a566f branch l2cap_malloc_into_fifo_no_push ,blank 
+5667 6fe6422c fetch 3 ,mem_tx_fifo1 
+5668 67e64229 store 3 ,mem_tx_fifo0 
+5669 efe60006 ifetch 3 ,contr 
+566a e7e60005 istore 3 ,contw 
+566b efe60006 ifetch 3 ,contr 
+566c e7e60005 istore 3 ,contw 
+566d 58000000 setarg 0 
+566e e7e60005 istore 3 ,contw 
+
+l2cap_malloc_into_fifo_no_push:
+566f d8400000 arg 0 ,temp 
+5670 19627e00 copy timeup ,pdata 
+5671 98e0fe00 iadd queue ,pdata 
+
+l2cap_malloc_into_fifo_loop:
+5672 f9200400 qset1 temp 
+5673 18e08e01 increase 1 ,queue 
+5674 98e67c00 isub queue ,null 
+5675 2422d672 nbranch l2cap_malloc_into_fifo_loop ,zero 
+5676 1a4d7e00 lshift8 regb ,pdata 
+5677 9841fe00 ior temp ,pdata 
+5678 67e64232 store 3 ,mem_tx_fifo3 
+5679 20600000 rtn 
+
+l2cap_malloc_enough:
+567a 44f2401c bpatch patch1c_4 ,mem_patch1c 
+567b 20405658 call l2cap_malloc_get_full_map 
+567c 18e22600 copy queue ,regc 
+567d d8400000 arg 0 ,temp 
+567e d9600000 arg 0 ,timeup 
+
+l2cap_malloc_enough_loop:
+567f 18e27e00 copy queue ,pdata 
+5680 c004568a beq 8 ,l2cap_malloc_enough_end 
+5681 6fe24228 fetch 1 ,mem_used_map 
+5682 afefffff qisolate1 pdata 
+5683 2020d68a branch l2cap_malloc_enough_end ,true 
+5684 18408480 increase 128 ,temp 
+5685 18e08e01 increase 1 ,queue 
+5686 1a227e00 copy rega ,pdata 
+5687 98467c00 isub temp ,null 
+5688 2022d68a branch l2cap_malloc_enough_end ,zero 
+5689 2021567f branch l2cap_malloc_enough_loop ,positive 
+
+l2cap_malloc_enough_end:
+568a 18427e00 copy temp ,pdata 
+568b 9a267c00 isub rega ,null 
+568c 24215690 nbranch l2cap_malloc_enough_rtn ,positive 
+568d 18e27e00 copy queue ,pdata 
+568e 1a620400 copy regc ,temp 
+568f 98461600 isub temp ,timeup 
+
+l2cap_malloc_enough_rtn:
+5690 1a620e00 copy regc ,queue 
+5691 20600000 rtn 
+
+l2cap_malloc_signal_channel:
+5692 44f2c01c bpatch patch1c_5 ,mem_patch1c 
+5693 da20007f arg l2cap_signal_malloc_size ,rega 
+5694 2040561a call l2cap_malloc 
+5695 67e40267 store 2 ,mem_l2cap_signal_tx_buff_ptr 
+5696 1fe0fe04 increase 4 ,pdata 
+5697 67e40269 store 2 ,mem_l2cap_signal_tx_payload_ptr 
+5698 58000000 setarg 0 
+5699 67e4026b store 2 ,mem_l2cap_signal_tx_length 
+569a 20600000 rtn 
+
+l2cap_get_signal_tx_buff:
+569b 6fe40267 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+569c 202056bc branch l2cap_util_pdata_to_contw 
+
+l2cap_get_signal_tx_payload:
+569d 6fe40269 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+569e 202056bc branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_sdp_channel:
+569f 44f3401c bpatch patch1c_6 ,mem_patch1c 
+56a0 da2000fa arg sdp_malloc_size ,rega 
+56a1 2040561a call l2cap_malloc 
+56a2 67e4026d store 2 ,mem_sdp_tx_buff_ptr 
+56a3 1fe0fe04 increase 4 ,pdata 
+56a4 67e4026f store 2 ,mem_sdp_tx_payload_ptr 
+56a5 58000000 setarg 0 
+56a6 67e40271 store 2 ,mem_sdp_tx_pkt_length 
+56a7 20600000 rtn 
+
+l2cap_get_sdp_tx_buff:
+56a8 6fe4026d fetch 2 ,mem_sdp_tx_buff_ptr 
+56a9 202056bc branch l2cap_util_pdata_to_contw 
+
+l2cap_get_sdp_tx_payload:
+56aa 6fe4026f fetch 2 ,mem_sdp_tx_payload_ptr 
+56ab 202056bc branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_rfcomm_channel:
+56ac 44f3c01c bpatch patch1c_7 ,mem_patch1c 
+56ad 20407c57 call push_stack 
+56ae 70028001 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+56af 20405648 call l2cap_malloc_is_fifo_full 
+56b0 247a0000 nrtn blank 
+56b1 da20007f arg rfcomm_malloc_size ,rega 
+56b2 2040561a call l2cap_malloc 
+56b3 67e40273 store 2 ,mem_rfcomm_tx_buff_ptr 
+56b4 1fe0fe04 increase 4 ,pdata 
+56b5 67e40275 store 2 ,mem_rfcomm_tx_payload_ptr 
+56b6 58000000 setarg 0 
+56b7 67e40277 store 2 ,mem_rfcomm_tx_pkt_length 
+56b8 70028000 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+56b9 20207c67 branch pop_stack 
+
+l2cap_get_rfcomm_tx_buff:
+56ba 6fe40273 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+56bb 202056bc branch l2cap_util_pdata_to_contw 
+
+l2cap_util_pdata_to_contw:
+56bc 203a4a8b branch assert ,blank 
+56bd 1fe20a00 copy pdata ,contw 
+56be 20600000 rtn 
+
+l2cap_lpm_save_calc_len:
+56bf 44f4401d bpatch patch1d_0 ,mem_patch1d 
+56c0 da400000 arg 0 ,regb 
+56c1 da204229 arg mem_tx_fifo0_map ,rega 
+56c2 1a20a3fe increase -2 ,rega 
+
+l2cap_lpm_save_calc_len_loop:
+56c3 1a20a202 increase 2 ,rega 
+56c4 58004235 setarg mem_tx_fifo_end 
+56c5 9a267c00 isub rega ,null 
+56c6 2022d6cf branch l2cap_lpm_save_calc_len_end ,zero 
+56c7 efe20011 ifetch 1 ,rega 
+56c8 1a20a201 increase 1 ,rega 
+56c9 203a56c3 branch l2cap_lpm_save_calc_len_loop ,blank 
+56ca e8440011 ifetcht 2 ,rega 
+56cb efe40002 ifetch 2 ,temp 
+56cc 9a40a400 iadd regb ,regb 
+56cd 1a40a404 increase 4 ,regb 
+56ce 202056c3 branch l2cap_lpm_save_calc_len_loop 
+
+l2cap_lpm_save_calc_len_end:
+56cf 1a427e00 copy regb ,pdata 
+56d0 20600000 rtn 
+
+l2cap_lpm_get_wake_lock:
+56d1 d8e0000c arg wake_lock_l2cap_tx ,queue 
+56d2 20204bec branch lpm_get_wake_lock 
+
+l2cap_lpm_put_wake_lock:
+56d3 d8e0000c arg wake_lock_l2cap_tx ,queue 
+56d4 20204bf0 branch lpm_put_wake_lock 
+
+l2cap_lpm_save_txbuf:
+56d5 44f4c01d bpatch patch1d_1 ,mem_patch1d 
+56d6 20405658 call l2cap_malloc_get_full_map 
+56d7 6fe24228 fetch 1 ,mem_used_map 
+56d8 207a0000 rtn blank 
+56d9 204056bf call l2cap_lpm_save_calc_len 
+56da d8400100 arg l2cap_lpm_txbuf_len ,temp 
+56db 98467c00 isub temp ,null 
+56dc 202156d1 branch l2cap_lpm_get_wake_lock ,positive 
+56dd 204056d3 call l2cap_lpm_put_wake_lock 
+56de d8a04235 arg mem_l2cap_lpm_txbuf ,contw 
+56df da204229 arg mem_tx_fifo0 ,rega 
+
+l2cap_lpm_save_txbuf_loop:
+56e0 58004235 setarg mem_tx_fifo_end 
+56e1 9a267c00 isub rega ,null 
+56e2 20628000 rtn zero 
+56e3 efe20011 ifetch 1 ,rega 
+56e4 1a20a201 increase 1 ,rega 
+56e5 243a56e9 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+56e6 e7e40005 istore 2 ,contw 
+56e7 1a20a202 increase 2 ,rega 
+56e8 202056e0 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_save_txbuf_nempty:
+56e9 efe40011 ifetch 2 ,rega 
+56ea 1a20a202 increase 2 ,rega 
+56eb 1fe20c00 copy pdata ,contr 
+56ec efe40006 ifetch 2 ,contr 
+56ed e7e40005 istore 2 ,contw 
+56ee 1fe27200 copy pdata ,loopcnt 
+56ef 1f20f202 increase 2 ,loopcnt 
+56f0 20407cdc call memcpy 
+56f1 202056e0 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_load_txbuf:
+56f2 44f5401d bpatch patch1d_2 ,mem_patch1d 
+56f3 20405658 call l2cap_malloc_get_full_map 
+56f4 6fe24228 fetch 1 ,mem_used_map 
+56f5 207a0000 rtn blank 
+56f6 da20422a arg mem_tx_fifo0_ptr ,rega 
+56f7 1a20a3fd increase -3 ,rega 
+56f8 d8c04235 arg mem_l2cap_lpm_txbuf ,contr 
+
+l2cap_lpm_load_txbuf_loop:
+56f9 1a20a203 increase 3 ,rega 
+56fa 58004236 setarg mem_tx_fifo_end + 1 
+56fb 9a267c00 isub rega ,null 
+56fc 20628000 rtn zero 
+56fd efe40006 ifetch 2 ,contr 
+56fe 203a56f9 branch l2cap_lpm_load_txbuf_loop ,blank 
+56ff 1fe0fe04 increase 4 ,pdata 
+5700 1fe27200 copy pdata ,loopcnt 
+5701 18c22400 copy contr ,regb 
+5702 efe40011 ifetch 2 ,rega 
+5703 1fe20a00 copy pdata ,contw 
+5704 1a420c00 copy regb ,contr 
+5705 18c08dfe increase -2 ,contr 
+5706 20407cdc call memcpy 
+5707 202056f9 branch l2cap_lpm_load_txbuf_loop 
+
+le_init_conn:
+5708 44f5c01d bpatch patch1d_3 ,mem_patch1d 
+5709 7855fc00 disable wake 
+570a 70045101 jam 1 ,mem_le_conn_handle 
+570b 70043b03 jam 3 ,mem_le_state 
+570c 70045201 jam 1 ,mem_le_arq 
+570d 5fffffff setarg -1 
+570e 67e40455 store 2 ,mem_le_event_count 
+570f 18007e00 force 0 ,pdata 
+5710 67e20453 store 1 ,mem_le_ch 
+5711 67e2045e store 1 ,mem_le_op 
+5712 67e6416a store 3 ,mem_sniff_rcv 
+5713 67e6416d store 3 ,mem_sniff_lost 
+5714 67ea43d5 store 5 ,mem_le_pcnt_tx 
+5715 79207e27 set1 39 ,pdata 
+5716 67ea43da store 5 ,mem_le_pcnt_rx 
+5717 7043ae01 jam 1 ,mem_le_txheader 
+5718 7043af00 jam 0 ,mem_le_txlen 
+5719 20205ac9 branch le_supervision_flush 
+
+le_init_master:
+571a 44f6401d bpatch patch1d_4 ,mem_patch1d 
+571b 7834fc00 enable master 
+571c 70043c03 jam lemode_master ,mem_le_mode 
+571d 70047401 jam 1 ,mem_le_att_handle 
+571e 70442c01 jam 1 ,mem_le_search_handle_start 
+571f 5800ffff setarg 0xffff 
+5720 67e4442e store 2 ,mem_le_search_handle_end 
+5721 18007e00 force 0 ,pdata 
+5722 67ea43da store 5 ,mem_le_pcnt_rx 
+5723 79207e27 set1 39 ,pdata 
+5724 67ea43d5 store 5 ,mem_le_pcnt_tx 
+5725 20205708 branch le_init_conn 
+
+le_init_slave:
+5726 44f6c01d bpatch patch1d_5 ,mem_patch1d 
+5727 7854fc00 disable master 
+5728 58000017 setarg 0x17 
+5729 67e4447a store 2 ,mem_le_remote_mtu 
+572a 70043c01 jam lemode_slave ,mem_le_mode 
+572b 70434000 jam 0 ,mem_le_adv_enable 
+572c 7000a000 jam 0 ,mem_lpm_current_mult 
+572d 70449600 jam flag_le_pairing_null ,mem_le_pairing_state 
+572e 70449700 jam flag_le_enc_null ,mem_le_enc_state 
+572f 6fe40469 fetch 2 ,mem_le_superto 
+5730 67e4448c store 2 ,mem_le_init_superto 
+5731 6fe4043d fetch 2 ,mem_le_tsniff 
+5732 1feffe05 mul32 pdata ,5 ,pdata 
+5733 1ff1fe00 rshift4 pdata ,pdata 
+5734 67e40469 store 2 ,mem_le_superto 
+5735 20205708 branch le_init_conn 
+
+le_dispatch:
+5736 2040579e call le_enable 
+5737 204059c2 call le_scan 
+5738 20405acc call le_adv 
+5739 202057a8 branch le_disable 
+
+le_conn_dispatch:
+573a 44f7401d bpatch patch1d_6 ,mem_patch1d 
+573b 2040579e call le_enable 
+573c 20404c8d call app_process_ble 
+573d 6fe2043c fetch 1 ,mem_le_mode 
+573e c001d740 beq lemode_master ,le_master_dispatch 
+573f 20205754 branch le_slave_dispatch 
+
+le_master_dispatch:
+5740 44f7c01d bpatch patch1d_7 ,mem_patch1d 
+5741 7834fc00 enable master 
+5742 20405ac0 call le_supervision_update 
+5743 20215751 branch le_master_disconn ,positive 
+5744 20404c27 call check_ble_disabled 
+5745 204057ed call le_setup 
+5746 204059f8 call le_prepare_tx 
+5747 7856fc00 disable match 
+5748 20405899 call le_transmit_receive_sifs 
+5749 24768000 nrtn match 
+574a 44f8401e bpatch patch1e_0 ,mem_patch1e 
+574b 6fe20005 fetch 1 ,mem_le_conn_rcv 
+574c 1fe0fe01 increase 1 ,pdata 
+574d 67e20005 store 1 ,mem_le_conn_rcv 
+574e 20405984 call le_acknowledge 
+574f 7854fc00 disable master 
+5750 20600000 rtn 
+
+le_master_disconn:
+5751 20405783 call le_disconnect 
+5752 7854fc00 disable master 
+5753 20600000 rtn 
+
+le_slave_dispatch:
+5754 44f8c01e bpatch patch1e_1 ,mem_patch1e 
+5755 7044e100 jam 0 ,mem_le_md_count 
+5756 20407964 call sp_calc_sequence_256 
+5757 20405ff8 call le_secure_connect_sm 
+5758 78577c00 disable attempt 
+5759 20405ac0 call le_supervision_update 
+575a 20215783 branch le_slave_disconn ,positive 
+575b 20404c27 call check_ble_disabled 
+575c 204057ed call le_setup 
+575d 20405863 call le_receive_slave 
+575e 242c5775 nbranch le_slave_unsync ,sync 
+575f 20405791 call le_got_first_packet 
+5760 2036d762 branch le_slave_match ,match 
+5761 2020576f branch le_slave_cont 
+
+le_slave_match:
+5762 44f9401e bpatch patch1e_2 ,mem_patch1e 
+5763 6fe244e1 fetch 1 ,mem_le_md_count 
+5764 1fe0fe01 pincrease 1 
+5765 67e244e1 store 1 ,mem_le_md_count 
+5766 c006576f beq le_md_max_count ,le_slave_cont 
+5767 20405984 call le_acknowledge 
+5768 204059f8 call le_prepare_tx 
+5769 204058a1 call le_transmit_norx 
+576a 20405a58 call le_parse 
+576b 6fe441fc fetch 2 ,mem_cb_ble_transmit 
+576c 20407d77 call callback_func 
+576d 2040577a call le_check_md 
+576e 2034577e branch le_slave_more_data ,user 
+
+le_slave_cont:
+576f 44f9c01e bpatch patch1e_3 ,mem_patch1e 
+5770 20405fc4 call le_pairing_sm 
+5771 20405fbb call le_check_paring_time 
+5772 20407bc1 call check_51cmd 
+5773 6fe2045e fetch 1 ,mem_le_op 
+5774 c281d783 bbit1 op_disconn ,le_slave_disconn 
+
+le_slave_unsync:
+5775 44fa401e bpatch patch1e_4 ,mem_patch1e 
+5776 20405bd4 call le_lpm_set_mult 
+5777 20405977 call le_update_channel_map 
+5778 2040594f call le_update_param 
+5779 2020483d branch calc_clke_offset 
+
+le_check_md:
+577a 78547c00 disable user 
+577b c5157dbf bmark1 mark_ble_rx_md ,enable_user 
+577c c514fdbf bmark1 mark_ble_tx_md ,enable_user 
+577d 20600000 rtn 
+
+le_slave_more_data:
+577e 44fac01e bpatch patch1e_5 ,mem_patch1e 
+577f 78377c00 enable attempt 
+5780 2040589b call le_transmit_receive_sifs_notx 
+5781 2036d762 branch le_slave_match ,match 
+5782 2020576f branch le_slave_cont 
+
+le_slave_disconn:
+
+le_disconnect:
+5783 44fb401e bpatch patch1e_6 ,mem_patch1e 
+5784 20405789 call le_clear_connection_info 
+5785 20404d3f call app_disconn_reason_collect_ble 
+5786 2040792c call sp_initialize_256 
+5787 700a9515 jam bt_evt_le_disconnected ,mem_fifo_temp 
+5788 20207bab branch ui_ipc_send_event 
+
+le_clear_connection_info:
+5789 58000000 setarg 0 
+578a 67f244d1 store 9 ,mem_le_tx_buff_used 
+578b 70045100 jam 0 ,mem_le_conn_handle 
+578c 70043c00 jam lemode_idle ,mem_le_mode 
+578d 70043b00 jam 0 ,mem_le_state 
+578e 70449700 jam flag_le_enc_null ,mem_le_enc_state 
+578f 70449600 jam flag_le_pairing_null ,mem_le_pairing_state 
+5790 20600000 rtn 
+
+le_got_first_packet:
+5791 44fbc01e bpatch patch1e_7 ,mem_patch1e 
+5792 6fe20005 fetch 1 ,mem_le_conn_rcv 
+5793 1fe0fe01 increase 1 ,pdata 
+5794 67e20005 store 1 ,mem_le_conn_rcv 
+5795 6fe2043b fetch 1 ,mem_le_state 
+5796 c3818000 rtnbit1 lestate_got_first_packet 
+5797 79207e03 set1 lestate_got_first_packet 
+5798 67e2043b store 1 ,mem_le_state 
+5799 6fe4448c fetch 2 ,mem_le_init_superto 
+579a 67e40469 store 2 ,mem_le_superto 
+579b 58000000 setarg 0 
+579c 67e844b7 store 4 ,mem_le_transmit_window 
+579d 20600000 rtn 
+
+le_enable:
+579e 44fc401f bpatch patch1f_0 ,mem_patch1f 
+579f 70890f36 hjam 0x36 ,0x90f 
+57a0 70890b5f hjam 0x5f ,0x90b 
+57a1 783b7c00 enable le 
+57a2 70891407 hjam 7 ,rfen_ulp 
+57a3 20404c27 call check_ble_disabled 
+57a4 6fe241e1 fetch 1 ,mem_250k_freq_enable 
+57a5 207a0000 rtn blank 
+57a6 70890ab8 hjam 0xb8 ,0x90a 
+57a7 20600000 rtn 
+
+le_disable:
+57a8 44fcc01f bpatch patch1f_1 ,mem_patch1f 
+57a9 70890f2e hjam 0x2e ,0x90f 
+57aa 70890bff hjam 0xff ,0x90b 
+57ab 785b7c00 disable le 
+57ac 70891403 hjam 3 ,rfen_ulp 
+57ad db600000 arg 0 ,stop_watch 
+57ae 20600000 rtn 
+
+le_prep:
+57af 7844fc00 disable enable_crc 
+57b0 7843fc00 disable enable_white 
+57b1 6fe60463 fetch 3 ,mem_le_crcinit 
+57b2 98001e00 iforce crc24_init 
+57b3 6fe20016 fetch 1 ,mem_le_ch_mapped 
+57b4 1fed8400 reverse pdata ,temp 
+57b5 79200401 set1 1 ,temp 
+57b6 18431c00 rshift temp ,white_init 
+57b7 20600000 rtn 
+
+lerx_setfreq:
+57b8 204057c0 call le_setfreq 
+57b9 2040491c call set_freq_rx 
+57ba 58000500 setarg param_pll_setup 
+57bb 20404a8e call sleep 
+57bc 20204921 branch rf_rx_enable 
+
+letx_setfreq:
+57bd 2036c936 branch txon ,match 
+
+letx_setfreq0:
+57be 204057c0 call le_setfreq 
+57bf 20204930 branch set_freq_tx 
+
+le_setfreq:
+57c0 44fd401f bpatch patch1f_2 ,mem_patch1f 
+57c1 20404915 call set_sync_on 
+57c2 6fe20488 fetch 1 ,mem_le_testtype 
+57c3 243a57d3 nbranch le_ctf_test ,blank 
+57c4 6fe20016 fetch 1 ,mem_le_ch_mapped 
+57c5 1fe67c24 sub pdata ,36 ,null 
+57c6 202157cd branch le_ctf_normal ,positive 
+57c7 18000400 force 0 ,temp 
+57c8 c1128000 rtneq 37 
+57c9 18000418 force 24 ,temp 
+57ca c1130000 rtneq 38 
+57cb 1800044e force 78 ,temp 
+57cc 20600000 rtn 
+
+le_ctf_normal:
+57cd 1fe67c0a sub pdata ,10 ,null 
+57ce 202157d0 branch le_ctf_low ,positive 
+57cf 1fe0fe01 increase 1 ,pdata 
+
+le_ctf_low:
+57d0 1fe3fe00 lshift pdata ,pdata 
+57d1 1fe08402 add pdata ,2 ,temp 
+57d2 20600000 rtn 
+
+le_ctf_test:
+57d3 6fe20016 fetch 1 ,mem_le_ch_mapped 
+57d4 1fe38400 lshift pdata ,temp 
+57d5 20600000 rtn 
+
+le_sca_map:
+57d6 d84001f4 arg 500 ,temp 
+57d7 207a0000 rtn blank 
+57d8 d84000fa arg 250 ,temp 
+57d9 c1008000 rtneq 1 
+57da d8400096 arg 150 ,temp 
+57db c1010000 rtneq 2 
+57dc d8400064 arg 100 ,temp 
+57dd c1018000 rtneq 3 
+57de d840004b arg 75 ,temp 
+57df c1020000 rtneq 4 
+57e0 d8400032 arg 50 ,temp 
+57e1 c1028000 rtneq 5 
+57e2 d8400028 arg 40 ,temp 
+57e3 c1030000 rtneq 6 
+57e4 d8400014 arg 20 ,temp 
+57e5 20600000 rtn 
+
+le_adv_access:
+57e6 588e89be setarg 0x8e89be 
+57e7 1fed7e00 lshift8 pdata ,pdata 
+57e8 1fe1fed6 or_into 0xd6 ,pdata 
+57e9 98001200 iforce access 
+57ea 58555555 setarg 0x555555 
+57eb 67e60463 store 3 ,mem_le_crcinit 
+57ec 20600000 rtn 
+
+le_setup:
+57ed 44fdc01f bpatch patch1f_3 ,mem_patch1f 
+57ee 78287c00 enable swfine 
+57ef 6fe8045f fetch 4 ,mem_le_access 
+57f0 98001200 iforce access 
+57f1 20405840 call le_map_channel 
+57f2 58000200 setarg 0x200 
+57f3 2034d7f6 branch le_setup_master ,master 
+57f4 6fe40449 fetch 2 ,mem_le_receive_window 
+57f5 1fe37e00 rshift pdata ,pdata 
+
+le_setup_master:
+57f6 d8400500 arg param_pll_setup ,temp 
+57f7 9840fe00 iadd temp ,pdata 
+57f8 20404a23 call ahead_window 
+57f9 1b427e00 deposit clke 
+57fa 67ec048d store 6 ,mem_le_rxon_ts 
+57fb 20600000 rtn 
+
+le_next_adv_channel:
+57fc 44fe401f bpatch patch1f_4 ,mem_patch1f 
+57fd 6fe20016 fetch 1 ,mem_le_ch_mapped 
+57fe c012d802 beq 37 ,le_next_adv_channel_curr_channel_37 
+57ff c0135808 beq 38 ,le_next_adv_channel_curr_channel_38 
+5800 c013d80e beq 39 ,le_next_adv_channel_curr_channel_39 
+5801 2020580e branch le_next_adv_channel_curr_channel_39 
+
+le_next_adv_channel_curr_channel_37:
+5802 6842445f fetcht 1 ,mem_le_adv_channel_map 
+5803 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+5804 2020d819 branch set_le_next_adv_channel_38 ,true 
+5805 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+5806 2020d81e branch set_le_next_adv_channel_39 ,true 
+5807 20205814 branch set_le_next_adv_channel_37 
+
+le_next_adv_channel_curr_channel_38:
+5808 6842445f fetcht 1 ,mem_le_adv_channel_map 
+5809 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+580a 2020d81e branch set_le_next_adv_channel_39 ,true 
+580b 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+580c 2020d814 branch set_le_next_adv_channel_37 ,true 
+580d 20205819 branch set_le_next_adv_channel_38 
+
+le_next_adv_channel_curr_channel_39:
+580e 6842445f fetcht 1 ,mem_le_adv_channel_map 
+580f 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+5810 2020d814 branch set_le_next_adv_channel_37 ,true 
+5811 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+5812 2020d819 branch set_le_next_adv_channel_38 ,true 
+5813 2020581e branch set_le_next_adv_channel_39 
+
+set_le_next_adv_channel_37:
+5814 70001625 jam 37 ,mem_le_ch_mapped 
+5815 6fe20abe fetch 1 ,mem_le_adv_channel_map_temp 
+5816 79207e00 set1 bit_adv_channel_map_37 ,pdata 
+5817 67e20abe store 1 ,mem_le_adv_channel_map_temp 
+5818 20600000 rtn 
+
+set_le_next_adv_channel_38:
+5819 70001626 jam 38 ,mem_le_ch_mapped 
+581a 6fe20abe fetch 1 ,mem_le_adv_channel_map_temp 
+581b 79207e01 set1 bit_adv_channel_map_38 ,pdata 
+581c 67e20abe store 1 ,mem_le_adv_channel_map_temp 
+581d 20600000 rtn 
+
+set_le_next_adv_channel_39:
+581e 70001627 jam 39 ,mem_le_ch_mapped 
+581f 6fe20abe fetch 1 ,mem_le_adv_channel_map_temp 
+5820 79207e02 set1 bit_adv_channel_map_39 ,pdata 
+5821 67e20abe store 1 ,mem_le_adv_channel_map_temp 
+5822 20600000 rtn 
+
+le_context_nexthop:
+5823 44fec01f bpatch patch1f_5 ,mem_patch1f 
+5824 1a208c01 add rega ,coffset_mode ,contr 
+5825 efe20006 ifetch 1 ,contr 
+5826 c4000000 rtnbit0 mode_le 
+5827 1a208a1a add rega ,coffset_le_event_cnt ,contw 
+5828 efe40005 ifetch 2 ,contw 
+5829 1fe0fe01 increase 1 ,pdata 
+582a e7e40005 istore 2 ,contw 
+582b 1a208c19 add rega ,coffset_le_hop ,contr 
+582c efe20006 ifetch 1 ,contr 
+582d 1a208a18 add rega ,coffset_le_ch ,contw 
+582e e8420005 ifetcht 1 ,contw 
+582f 9840fe00 iadd temp ,pdata 
+5830 1fe67c24 sub pdata ,36 ,null 
+5831 20215833 branch le_nexthop_nowrap ,positive 
+5832 1fe0ffdb increase -37 ,pdata 
+
+le_nexthop_nowrap:
+5833 e7e20005 istore 1 ,contw 
+5834 20600000 rtn 
+
+le_calc_channel_map:
+5835 44ff401f bpatch patch1f_6 ,mem_patch1f 
+5836 6fea046b fetch 5 ,mem_le_channel_map 
+5837 18000400 force 0 ,temp 
+5838 18007225 force 37 ,loopcnt 
+
+le_count_channels_loop:
+5839 c300583b bbit0 0 ,le_count_channels_notused 
+583a 18408401 increase 1 ,temp 
+
+le_count_channels_notused:
+583b 1fe37e00 rshift pdata ,pdata 
+583c c2005839 loop le_count_channels_loop 
+583d 1840ffff add temp ,-1 ,pdata 
+583e 67e2045d store 1 ,mem_le_channels 
+583f 20600000 rtn 
+
+le_map_channel:
+5840 44ffc01f bpatch patch1f_7 ,mem_patch1f 
+5841 6fe20453 fetch 1 ,mem_le_ch 
+5842 98000e00 iforce queue 
+5843 684a046b fetcht 5 ,mem_le_channel_map 
+5844 a84fffff qisolate1 temp 
+5845 2020d856 branch le_map_channel_end ,true 
+
+le_map_channel_next:
+5846 47004020 bpatchx patch20_0 ,mem_patch20 
+5847 6fe2045d fetch 1 ,mem_le_channels 
+5848 98e67e00 isub queue ,pdata 
+5849 2021584c branch le_map_channel_cont ,positive 
+584a 1fe60fff sub pdata ,-1 ,queue 
+584b 20205846 branch le_map_channel_next 
+
+le_map_channel_cont:
+584c 18e27200 copy queue ,loopcnt 
+584d 18000e00 force 0 ,queue 
+
+le_map_channel_loop:
+584e a84fffff qisolate1 temp 
+584f 2020d851 branch le_map_channel_skip ,true 
+5850 1f20f201 increase 1 ,loopcnt 
+
+le_map_channel_skip:
+5851 1f227e00 deposit loopcnt 
+5852 203a5856 branch le_map_channel_end ,blank 
+5853 18e08e01 increase 1 ,queue 
+5854 1f20f3ff increase -1 ,loopcnt 
+5855 2020584e branch le_map_channel_loop 
+
+le_map_channel_end:
+5856 18e27e00 deposit queue 
+5857 67e20016 store 1 ,mem_le_ch_mapped 
+5858 20600000 rtn 
+
+le_wait_tx:
+5859 2034d85c branch le_wait_master ,master 
+585a 37c18200 until null ,timeout 
+585b 20600000 rtn 
+
+le_wait_master:
+585c d9600ea0 arg 0xea0 ,timeup 
+585d 34730200 until clkn_rt ,meet 
+585e 20600000 rtn 
+
+le_receive_adv:
+585f 78487c00 disable swfine 
+5860 6fe4433e fetch 2 ,mem_le_scan_window 
+5861 1fe21600 copy pdata ,timeup 
+5862 20205868 branch le_receive_packet 
+
+le_receive_slave:
+5863 4700c020 bpatchx patch20_1 ,mem_patch20 
+5864 78287c00 enable swfine 
+5865 6fe40449 fetch 2 ,mem_le_receive_window 
+5866 684844b7 fetcht 4 ,mem_le_transmit_window 
+5867 98409600 iadd temp ,timeup 
+
+le_receive_packet:
+5868 204057b8 call lerx_setfreq 
+
+le_receive_rxon:
+5869 47014020 bpatchx patch20_2 ,mem_patch20 
+586a 204057af call le_prep 
+586b 7856fc00 disable match 
+586c 7826fc00 enable decode_fec0 
+586d 7830fc00 enable is_rx 
+586e 78507c00 disable is_tx 
+586f 19623600 copy timeup ,stop_watch 
+5870 37c18400 correlate null ,timeout 
+5871 20375874 branch le_receive_on_attempt ,attempt 
+5872 1b420400 copy clke ,temp 
+5873 604c009a storet 6 ,mem_sync_clke 
+
+le_receive_on_attempt:
+5874 242c4649 nbranch end_of_packet ,sync 
+5875 2037587b branch le_receive_skip ,attempt 
+5876 dd2001e0 arg param_clke_cal_le ,clke_rt 
+5877 1c225000 copy bt_clk ,clke_bt 
+5878 6fe2043b fetch 1 ,mem_le_state 
+5879 c301d87b bbit0 lestate_got_first_packet ,le_receive_skip 
+587a 2055cae6 call lpm_adjust_clk ,wake 
+
+le_receive_skip:
+587b 4701c020 bpatchx patch20_3 ,mem_patch20 
+587c 204049ba call save_rssi 
+587d 7823fc00 enable enable_white 
+587e 7824fc00 enable enable_crc 
+587f 09800008 parse demod ,bucket ,8 
+5880 19897e00 rshift3 pwindow ,pdata 
+5881 67e202d5 store 1 ,mem_le_rxbuf 
+5882 09800008 parse demod ,bucket ,8 
+5883 19897e00 rshift3 pwindow ,pdata 
+5884 e7e20005 istore 1 ,contw 
+5885 1fe1723f and pdata ,0x3f ,loopcnt 
+5886 2022d88b branch lerx_nopayload ,zero 
+
+lerx_loop:
+5887 09800008 parse demod ,bucket ,8 
+5888 19897e00 rshift3 pwindow ,pdata 
+5889 e7e20005 istore 1 ,contw 
+588a c2005887 loop lerx_loop 
+
+lerx_nopayload:
+588b 47024020 bpatchx patch20_4 ,mem_patch20 
+588c 09800018 parse demod ,bucket ,24 
+588d 78287c00 enable swfine 
+588e db600664 arg param_sifs ,stop_watch 
+588f 1fef7e00 rshift32 pdata ,pdata 
+5890 1ff17e00 rshift16 pdata ,pdata 
+5891 e7e60005 istore 3 ,contw 
+5892 20234649 branch end_of_packet ,crc_failed 
+5893 7836fc00 enable match 
+5894 6fe20017 fetch 1 ,mem_last_freq 
+5895 1fe0a200 add pdata ,0 ,rega 
+5896 20404980 call rf_write_freq 
+5897 7846fc00 disable decode_fec0 
+5898 20204915 branch set_sync_on 
+
+le_transmit_receive_sifs:
+5899 4702c020 bpatchx patch20_5 ,mem_patch20 
+589a 204058a3 call le_transmit 
+
+le_transmit_receive_sifs_notx:
+589b 68420017 fetcht 1 ,mem_last_freq 
+589c 2040491c call set_freq_rx 
+589d 20404921 call rf_rx_enable 
+589e 78287c00 enable swfine 
+589f d960157c arg 5500 ,timeup 
+58a0 20205869 branch le_receive_rxon 
+
+le_transmit_norx:
+58a1 204058a3 call le_transmit 
+58a2 20204649 branch end_of_packet 
+
+le_transmit:
+58a3 47034020 bpatchx patch20_6 ,mem_patch20 
+58a4 204057af call le_prep 
+58a5 204057bd call letx_setfreq 
+58a6 202058a7 branch le_transmit0 
+
+le_transmit0:
+58a7 79202a00 set1 txgfsk ,radio_ctrl 
+58a8 782efc00 enable encode_fec0 
+58a9 78307c00 enable is_tx 
+58aa 7850fc00 disable is_rx 
+58ab 20405859 call le_wait_tx 
+58ac 19317e00 rshift16 access ,pdata 
+58ad 1fecfe00 rshift8 pdata ,pdata 
+58ae 1ff1fe00 rshift4 pdata ,pdata 
+58af 08008628 inject mod ,40 
+58b0 7823fc00 enable enable_white 
+58b1 7824fc00 enable enable_crc 
+58b2 4703c020 bpatchx patch20_7 ,mem_patch20 
+58b3 6fe243ae fetch 1 ,mem_le_txheader 
+58b4 08008608 inject mod ,8 
+58b5 efe20006 ifetch 1 ,contr 
+58b6 1fe1723f and pdata ,0x3f ,loopcnt 
+58b7 08008608 inject mod ,8 
+58b8 2022d8bc branch letr_nopayload ,zero 
+
+letr_loop:
+58b9 efe20006 ifetch 1 ,contr 
+58ba 08008608 inject mod ,8 
+58bb c20058b9 loop letr_loop 
+
+letr_nopayload:
+58bc 78247c00 enable enable_parity 
+58bd 08008618 inject mod ,24 
+58be 78447c00 disable enable_parity 
+58bf 37d38200 until null ,tx_clear 
+58c0 20000064 nop 100 
+58c1 784efc00 disable encode_fec0 
+58c2 20600000 rtn 
+
+le_send_adv_ind:
+58c3 47044021 bpatchx patch21_0 ,mem_patch21 
+58c4 6fe24456 fetch 1 ,mem_le_adv_type 
+58c5 c000d8d3 beq adv_direct_ind ,le_send_adv_direct_ind 
+58c6 6fe24457 fetch 1 ,mem_le_adv_own_addr_type 
+58c7 1ff27e00 lshift4 pdata ,pdata 
+58c8 1febfe00 lshift2 pdata ,pdata 
+58c9 67e243ae store 1 ,mem_le_txheader 
+58ca 68424341 fetcht 1 ,mem_le_adv_data_len 
+58cb 1840fe06 add temp ,6 ,pdata 
+58cc 67e243af store 1 ,mem_le_txlen 
+58cd 6fec4472 fetch 6 ,mem_le_lap 
+58ce 67ec43b0 store 6 ,mem_le_txpayload 
+58cf 18427200 copy temp ,loopcnt 
+58d0 d8c04342 arg mem_le_adv_data ,contr 
+58d1 20407ccf call memcpy_fast 
+58d2 202058de branch le_send_adv_transmit 
+
+le_send_adv_direct_ind:
+58d3 6fe24458 fetch 1 ,mem_le_adv_direct_addr_type 
+58d4 1ff27e00 lshift4 pdata ,pdata 
+58d5 1febfe00 lshift2 pdata ,pdata 
+58d6 1fe0fe01 increase 1 ,pdata 
+58d7 67e243ae store 1 ,mem_le_txheader 
+58d8 5800000c setarg 12 
+58d9 67e243af store 1 ,mem_le_txlen 
+58da 6fec4472 fetch 6 ,mem_le_lap 
+58db 67ec43b0 store 6 ,mem_le_txpayload 
+58dc 6fec41d1 fetch 6 ,mem_hci_plap 
+58dd e7ec0005 istore 6 ,contw 
+
+le_send_adv_transmit:
+58de 4704c021 bpatchx patch21_1 ,mem_patch21 
+58df 6fe20000 fetch 1 ,mem_le_adv_transmit 
+58e0 1fe0fe01 increase 1 ,pdata 
+58e1 67e20000 store 1 ,mem_le_adv_transmit 
+58e2 db600708 arg 1800 ,stop_watch 
+58e3 7856fc00 disable match 
+58e4 20205899 branch le_transmit_receive_sifs 
+
+le_send_scan_request:
+58e5 47054021 bpatchx patch21_2 ,mem_patch21 
+58e6 6fe24470 fetch 1 ,mem_le_scan_type 
+58e7 c1808000 rtnne le_scan_type_active 
+58e8 6fe20000 fetch 1 ,mem_le_adv_transmit 
+58e9 1fe0fe01 increase 1 ,pdata 
+58ea 67e20000 store 1 ,mem_le_adv_transmit 
+58eb d8400c03 arg 0x0c03 ,temp 
+58ec 6fe24471 fetch 1 ,mem_le_scan_own_addr_type 
+58ed 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+58ee 1a227e00 copy rega ,pdata 
+58ef 7d3a0407 nsetflag blank ,le_receiver_addr_bit ,temp 
+58f0 604443ae storet 2 ,mem_le_txheader 
+58f1 6fec4472 fetch 6 ,mem_le_lap 
+58f2 e7ec0005 istore 6 ,contw 
+58f3 6fec044b fetch 6 ,mem_le_plap 
+58f4 e7ec0005 istore 6 ,contw 
+58f5 20205899 branch le_transmit_receive_sifs 
+
+le_send_scan_response:
+58f6 4705c021 bpatchx patch21_3 ,mem_patch21 
+58f7 d8400004 arg scan_rsp ,temp 
+58f8 6fe24457 fetch 1 ,mem_le_adv_own_addr_type 
+58f9 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+58fa 604243ae storet 1 ,mem_le_txheader 
+58fb 68424361 fetcht 1 ,mem_le_scan_data_len 
+58fc 1840fe06 add temp ,6 ,pdata 
+58fd 67e243af store 1 ,mem_le_txlen 
+58fe 6fec4472 fetch 6 ,mem_le_lap 
+58ff 67ec43b0 store 6 ,mem_le_txpayload 
+5900 d8c04362 arg mem_le_scan_data ,contr 
+5901 18427200 copy temp ,loopcnt 
+5902 20407ccf call memcpy_fast 
+5903 204058a1 call le_transmit_norx 
+5904 20205ae2 branch le_adv_not_match 
+
+le_connect_request:
+5905 47064021 bpatchx patch21_4 ,mem_patch21 
+5906 18007fff force -1 ,pdata 
+5907 38080001 setsect 2 ,1 
+5908 67ea046b store 5 ,mem_le_channel_map 
+5909 20405835 call le_calc_channel_map 
+590a 18007204 force 4 ,loopcnt 
+590b d8a0045f arg mem_le_access ,contw 
+590c 204066ef call generate_random_loop 
+590d 6fe4446e fetch 2 ,mem_le_timeout 
+590e 67e40469 store 2 ,mem_le_superto 
+
+le_con_req_hop_retry:
+590f 180a7e00 random pdata 
+5910 1fe17e0f and_into 0xf ,pdata 
+5911 1fe67c04 sub pdata ,4 ,null 
+5912 2021590f branch le_con_req_hop_retry ,positive 
+5913 67e20454 store 1 ,mem_le_hop 
+5914 67e206e2 store 1 ,mem_tmp1 
+5915 4706c021 bpatchx patch21_5 ,mem_patch21 
+5916 68444339 fetcht 2 ,mem_le_conn_interval 
+5917 6044043d storet 2 ,mem_le_tsniff 
+5918 18422600 copy temp ,regc 
+5919 1c40fe07 add clkn_bt ,7 ,pdata 
+591a 9a66fc00 idiv regc 
+591b 20407d61 call wait_div_end 
+591c 18072200 remainder rega 
+591d 9a267e00 isub rega ,pdata 
+591e 9a60fe00 iadd regc ,pdata 
+591f 68444337 fetcht 2 ,mem_le_dsniff 
+5920 9840fe00 iadd temp ,pdata 
+5921 67e8043f store 4 ,mem_le_anchor 
+5922 9c462200 isub clkn_bt ,rega 
+5923 1a20a3fa increase -6 ,rega 
+5924 da402205 arg 0x2205 ,regb 
+5925 6fe24467 fetch 1 ,mem_le_conn_own_addr_type 
+5926 7d3a2406 nsetflag blank ,le_sender_addr_bit ,regb 
+5927 6fe24460 fetch 1 ,mem_le_conn_peer_addr_type 
+5928 7d3a2407 nsetflag blank ,le_receiver_addr_bit ,regb 
+5929 1a427e00 copy regb ,pdata 
+592a 67e443ae store 2 ,mem_le_txheader 
+592b 6fec4472 fetch 6 ,mem_le_lap 
+592c e7ec0005 istore 6 ,contw 
+592d 6fec044b fetch 6 ,mem_le_plap 
+592e e7ec0005 istore 6 ,contw 
+592f 6fe8045f fetch 4 ,mem_le_access 
+5930 e7e80005 istore 4 ,contw 
+5931 180a7e00 random pdata 
+5932 e7e40005 istore 2 ,contw 
+5933 180a7e00 random pdata 
+5934 e7e20005 istore 1 ,contw 
+5935 18007e02 force 2 ,pdata 
+5936 e7e20005 istore 1 ,contw 
+5937 1a2b7e00 rshift2 rega ,pdata 
+5938 e7e40005 istore 2 ,contw 
+5939 1a6b7e00 rshift2 regc ,pdata 
+593a e7e40005 istore 2 ,contw 
+593b 47074021 bpatchx patch21_6 ,mem_patch21 
+593c 58000000 setarg 0 
+593d e7e40005 istore 2 ,contw 
+593e 6fe4446e fetch 2 ,mem_le_timeout 
+593f e7e40005 istore 2 ,contw 
+5940 6fea046b fetch 5 ,mem_le_channel_map 
+5941 e7ea0005 istore 5 ,contw 
+5942 6fe20454 fetch 1 ,mem_le_hop 
+5943 d84000a0 arg param_le_sca ,temp 
+5944 9841fe00 ior temp ,pdata 
+5945 e7e20005 istore 1 ,contw 
+5946 204058a1 call le_transmit_norx 
+5947 580043ae setarg mem_le_txheader 
+5948 1fe08c12 add pdata ,18 ,contr 
+5949 efe60006 ifetch 3 ,contr 
+594a 67e60463 store 3 ,mem_le_crcinit 
+594b 20600000 rtn 
+
+le_init_adv:
+594c 4707c021 bpatchx patch21_7 ,mem_patch21 
+594d 7854fc00 disable master 
+594e 202057e6 branch le_adv_access 
+
+le_update_param:
+594f 6fe2043b fetch 1 ,mem_le_state 
+5950 c4028000 rtnbit0 lestate_update_param 
+5951 6fe40455 fetch 2 ,mem_le_event_count 
+5952 6844045b fetcht 2 ,mem_le_instant 
+5953 98467e00 isub temp ,pdata 
+5954 24610000 nrtn positive 
+5955 67e40a96 store 2 ,mem_pdatatemp 
+5956 47084022 bpatchx patch22_0 ,mem_patch22 
+5957 6fe2043b fetch 1 ,mem_le_state 
+5958 793ffe05 set0 lestate_update_param ,pdata 
+5959 793ffe03 set0 lestate_got_first_packet ,pdata 
+595a 67e2043b store 1 ,mem_le_state 
+595b 6fe8043f fetch 4 ,mem_le_anchor 
+595c 6844043d fetcht 2 ,mem_le_tsniff 
+595d 60440a9e storet 2 ,mem_temp 
+595e 98462200 isub temp ,rega 
+595f 4708c022 bpatchx patch22_1 ,mem_patch22 
+5960 6fe243a5 fetch 1 ,mem_le_new_param 
+5961 67e20466 store 1 ,mem_le_window_size 
+5962 e8440006 ifetcht 2 ,contr 
+5963 efe40006 ifetch 2 ,contr 
+5964 1febfe00 lshift2 pdata ,pdata 
+5965 67e4043d store 2 ,mem_le_tsniff 
+5966 184b8400 lshift2 temp ,temp 
+5967 9840fe00 iadd temp ,pdata 
+5968 e8480006 ifetcht 4 ,contr 
+5969 60480467 storet 4 ,mem_le_slave_latency 
+596a 9a20fe00 iadd rega ,pdata 
+596b 1fe22800 copy pdata ,regab 
+596c 6fe4043d fetch 2 ,mem_le_tsniff 
+596d 68440a9e fetcht 2 ,mem_temp 
+596e 98467e00 isub temp ,pdata 
+596f 68440a96 fetcht 2 ,mem_pdatatemp 
+5970 984ffe00 imul32 temp ,pdata 
+5971 9a80fe00 iadd regab ,pdata 
+5972 67e8043f store 4 ,mem_le_anchor 
+5973 20405af3 call le_receive_window_size 
+5974 6fe40469 fetch 2 ,mem_le_superto 
+5975 67e4448c store 2 ,mem_le_init_superto 
+5976 20600000 rtn 
+
+le_update_channel_map:
+5977 47094022 bpatchx patch22_2 ,mem_patch22 
+5978 6fe2043b fetch 1 ,mem_le_state 
+5979 c4030000 rtnbit0 lestate_update_map 
+597a 6fe40455 fetch 2 ,mem_le_event_count 
+597b 6844045b fetcht 2 ,mem_le_instant 
+597c 98467e00 isub temp ,pdata 
+597d 24610000 nrtn positive 
+597e 6fe2043b fetch 1 ,mem_le_state 
+597f 793ffe06 set0 lestate_update_map ,pdata 
+5980 67e2043b store 1 ,mem_le_state 
+5981 6fea43a0 fetch 5 ,mem_le_new_map 
+5982 67ea046b store 5 ,mem_le_channel_map 
+5983 20205835 branch le_calc_channel_map 
+
+le_acknowledge:
+5984 4709c022 bpatchx patch22_3 ,mem_patch22 
+5985 20405ac9 call le_supervision_flush 
+5986 2040599a call le_check_wak 
+5987 6fe202d5 fetch 1 ,mem_le_rxbuf 
+5988 2feffe04 isolate1 md ,pdata 
+5989 7920802a setflag true ,mark_ble_rx_md ,mark 
+598a 1fe37e00 rshift pdata ,pdata 
+598b 9842fe00 ixor temp ,pdata 
+598c 2feffe02 isolate1 nesn ,pdata 
+598d 7920800f setflag true ,mark_old_packet ,mark 
+598e c6078000 rtnmark1 mark_old_packet 
+598f 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+5990 203a5996 branch le_ack_unenc ,blank 
+5991 6fe2043b fetch 1 ,mem_le_state 
+5992 c3025996 bbit0 lestate_encryption ,le_ack_unenc 
+5993 20407342 call load_sk 
+5994 204072b2 call le_decrypt 
+5995 247a0000 nrtn blank 
+
+le_ack_unenc:
+5996 68420452 fetcht 1 ,mem_le_arq 
+5997 79400402 setflip nesn ,temp 
+5998 60420452 storet 1 ,mem_le_arq 
+5999 20600000 rtn 
+
+le_check_wak:
+599a 470a4022 bpatchx patch22_4 ,mem_patch22 
+599b 68420452 fetcht 1 ,mem_le_arq 
+599c 284c0005 isolate0 wak ,temp 
+599d 20608000 rtn true 
+599e 6fe202d5 fetch 1 ,mem_le_rxbuf 
+599f 1fe3fe00 lshift pdata ,pdata 
+59a0 9842fe00 ixor temp ,pdata 
+59a1 c4018000 rtnbit0 sn 
+59a2 793f8405 set0 wak ,temp 
+59a3 79400403 setflip sn ,temp 
+59a4 60420452 storet 1 ,mem_le_arq 
+59a5 28400603 compare 3 ,temp ,3 
+59a6 24608000 nrtn true 
+59a7 6fe243b0 fetch 1 ,mem_le_txpayload 
+59a8 c002d9ac beq ll_start_enc_req ,le_set_enc 
+59a9 6fe24497 fetch 1 ,mem_le_enc_state 
+59aa c00159b0 beq flag_le_enc_pause ,le_clear_enc 
+59ab 20600000 rtn 
+
+le_set_enc:
+59ac 6fe2043b fetch 1 ,mem_le_state 
+59ad 79207e04 set1 lestate_encryption ,pdata 
+59ae 67e2043b store 1 ,mem_le_state 
+59af 20600000 rtn 
+
+le_clear_enc:
+59b0 470ac022 bpatchx patch22_5 ,mem_patch22 
+59b1 70449700 jam flag_le_enc_null ,mem_le_enc_state 
+59b2 dfe00000 arg 0 ,pdata 
+59b3 67e843df store 4 ,mem_le_last_mic 
+59b4 67ea43d5 store 5 ,mem_le_pcnt_tx 
+59b5 79207e27 set1 39 ,pdata 
+59b6 67ea43da store 5 ,mem_le_pcnt_rx 
+59b7 6fe2043b fetch 1 ,mem_le_state 
+59b8 793ffe04 set0 lestate_encryption ,pdata 
+59b9 67e2043b store 1 ,mem_le_state 
+59ba 20600000 rtn 
+
+le_wait_adv:
+59bb 470b4022 bpatchx patch22_6 ,mem_patch22 
+59bc 204057fc call le_next_adv_channel 
+59bd 2040585f call le_receive_adv 
+59be 6fe20001 fetch 1 ,mem_le_adv_waitcnt 
+59bf 1fe0fe01 increase 1 ,pdata 
+59c0 67e20001 store 1 ,mem_le_adv_waitcnt 
+59c1 20600000 rtn 
+
+le_scan:
+59c2 470bc022 bpatchx patch22_7 ,mem_patch22 
+59c3 6fe2433b fetch 1 ,mem_le_scan_enable 
+59c4 c1808000 rtnne le_scan_enable 
+59c5 d8e00002 arg le_scan_interval_timer ,queue 
+59c6 20407cf1 call timer_check 
+59c7 247a0000 nrtn blank 
+59c8 6fe4433c fetch 2 ,mem_le_scan_interval 
+59c9 6844433e fetcht 2 ,mem_le_scan_window 
+59ca 98467e00 isub temp ,pdata 
+59cb d8e00002 arg le_scan_interval_timer ,queue 
+59cc 20407ce3 call timer_init 
+59cd 7854fc00 disable master 
+59ce 2040594c call le_init_adv 
+59cf 204059bb call le_wait_adv 
+59d0 24768000 nrtn match 
+59d1 470c4023 bpatchx patch23_0 ,mem_patch23 
+59d2 6fec02d7 fetch 6 ,mem_le_rxbuf + 2 
+59d3 67ec044b store 6 ,mem_le_plap 
+59d4 6fe20002 fetch 1 ,mem_le_adv_rcv 
+59d5 1fe0fe01 increase 1 ,pdata 
+59d6 67e20002 store 1 ,mem_le_adv_rcv 
+59d7 204059e2 call le_create_conn 
+59d8 20748000 rtn master 
+59d9 204058e5 call le_send_scan_request 
+59da 24768000 nrtn match 
+59db 470cc023 bpatchx patch23_1 ,mem_patch23 
+59dc 6fe20004 fetch 1 ,mem_le_scanrsp_rcv 
+59dd 1fe0fe01 increase 1 ,pdata 
+59de 67e20004 store 1 ,mem_le_scanrsp_rcv 
+59df 6ff202dd fetch 9 ,mem_le_rxbuf + 8 
+59e0 67f200ff store 9 ,mem_tmp_buffer 
+59e1 20600000 rtn 
+
+le_create_conn:
+59e2 470d4023 bpatchx patch23_2 ,mem_patch23 
+59e3 6fe20497 fetch 1 ,mem_cmd_le_create_conn 
+59e4 c18d8000 rtnne hci_cmd_le_create_conn 
+59e5 6fec044b fetch 6 ,mem_le_plap 
+59e6 684c4461 fetcht 6 ,mem_le_conn_peer_addr 
+59e7 98467c00 isub temp ,null 
+59e8 24628000 nrtn zero 
+59e9 20404237 call context_new 
+59ea 24628000 nrtn zero 
+59eb 20405905 call le_connect_request 
+59ec 2040571a call le_init_master 
+59ed 470dc023 bpatchx patch23_3 ,mem_patch23 
+59ee 7041cf00 jam 0 ,mem_hci_cmd 
+59ef 70047200 jam 0 ,mem_le_peer_sca 
+59f0 70433b00 jam 0 ,mem_le_scan_enable 
+59f1 70049700 jam 0 ,mem_cmd_le_create_conn 
+59f2 2020421f branch context_save 
+
+le_scan_check_sender_addr_type:
+59f3 da200001 arg 1 ,rega 
+59f4 6fe202d5 fetch 1 ,mem_le_rxbuf 
+59f5 c3830000 rtnbit1 le_sender_addr_bit 
+59f6 da200000 arg 0 ,rega 
+59f7 20600000 rtn 
+
+le_prepare_tx:
+59f8 470e4023 bpatchx patch23_4 ,mem_patch23 
+59f9 6fe20452 fetch 1 ,mem_le_arq 
+59fa c3828000 rtnbit1 wak 
+59fb 20405a1c call le_check_tx_md 
+59fc 20405c53 call le_fifo_get_first_tx_ptr 
+59fd 203a5a3e branch le_send_empty ,blank 
+59fe efe20006 ifetch 1 ,contr 
+59ff e8420006 ifetcht 1 ,contr 
+5a00 18422200 copy temp ,rega 
+5a01 9a267e00 isub rega ,pdata 
+5a02 d840001b arg le_max_paket_len ,temp 
+5a03 20407db5 call not_greater_than 
+5a04 1fe20400 copy pdata ,temp 
+5a05 efe20006 ifetch 1 ,contr 
+5a06 1fe20200 copy pdata ,type 
+5a07 1a227e00 copy rega ,pdata 
+5a08 98c08c00 iadd contr ,contr 
+5a09 d8a043b0 arg mem_le_txpayload ,contw 
+5a0a 18427200 copy temp ,loopcnt 
+5a0b 20407cdc call memcpy 
+5a0c 20405a2e call le_update_tx_type 
+5a0d 20405a40 call le_send_packet 
+5a0e 20405c53 call le_fifo_get_first_tx_ptr 
+5a0f efe20006 ifetch 1 ,contr 
+5a10 1fe22200 copy pdata ,rega 
+5a11 18c22600 copy contr ,regc 
+5a12 e8420006 ifetcht 1 ,contr 
+5a13 18422400 copy temp ,regb 
+5a14 9a467e00 isub regb ,pdata 
+5a15 d840001b arg le_max_paket_len ,temp 
+5a16 20407db5 call not_greater_than 
+5a17 9a40fe00 iadd regb ,pdata 
+5a18 e7e20013 istore 1 ,regc 
+5a19 9a267c00 isub rega ,null 
+5a1a 24628000 nrtn zero 
+5a1b 20205c76 branch le_fifo_release_first_node 
+
+le_check_tx_md:
+5a1c 20405a23 call le_check_continue 
+5a1d c6148000 rtnmark1 mark_ble_tx_md 
+5a1e 6fe244bb fetch 1 ,mem_le_configuration 
+5a1f c3015a2c bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+5a20 20405c56 call le_fifo_get_second_tx_ptr 
+5a21 203a5a2c branch le_clear_md ,blank 
+5a22 20205a2a branch le_set_md 
+
+le_check_continue:
+5a23 20405c53 call le_fifo_get_first_tx_ptr 
+5a24 203a5a2c branch le_clear_md ,blank 
+5a25 efe20006 ifetch 1 ,contr 
+5a26 e8420006 ifetcht 1 ,contr 
+5a27 98467e00 isub temp ,pdata 
+5a28 1fe67c1b sub pdata ,le_max_paket_len ,null 
+5a29 20215a2c branch le_clear_md ,positive 
+
+le_set_md:
+5a2a 79200029 set1 mark_ble_tx_md ,mark 
+5a2b 20600000 rtn 
+
+le_clear_md:
+5a2c 793f8029 set0 mark_ble_tx_md ,mark 
+5a2d 20600000 rtn 
+
+le_update_tx_type:
+5a2e 1a227e00 copy rega ,pdata 
+5a2f 207a0000 rtn blank 
+5a30 d8200001 arg llid_continue ,type 
+5a31 20600000 rtn 
+
+le_att_check_notification_enable:
+5a32 470ec023 bpatchx patch23_5 ,mem_patch23 
+5a33 18408401 increase 1 ,temp 
+5a34 20405b4a call le_att_get_handle_ptr 
+5a35 18c08dfe increase -2 ,contr 
+5a36 efe40006 ifetch 2 ,contr 
+5a37 d8402902 arg client_charactertic_configuration ,temp 
+5a38 98467c00 isub temp ,null 
+5a39 24628000 nrtn zero 
+5a3a 18c08c01 increase 1 ,contr 
+5a3b 18c22200 copy contr ,rega 
+5a3c efe20006 ifetch 1 ,contr 
+5a3d 20600000 rtn 
+
+le_send_empty:
+5a3e 18000400 force 0 ,temp 
+5a3f 18000201 force 1 ,type 
+
+le_send_packet:
+5a40 470f4023 bpatchx patch23_6 ,mem_patch23 
+5a41 604243af storet 1 ,mem_le_txlen 
+5a42 68420452 fetcht 1 ,mem_le_arq 
+5a43 79200405 set1 wak ,temp 
+5a44 18417efc and temp ,0xfc ,pdata 
+5a45 9821fe00 ior type ,pdata 
+5a46 67e20452 store 1 ,mem_le_arq 
+5a47 1fe17e1f and_into 0x1f ,pdata 
+5a48 280ffe29 isolate1 mark_ble_tx_md ,mark 
+5a49 7920fe04 setflag true ,md ,pdata 
+5a4a 67e243ae store 1 ,mem_le_txheader 
+5a4b 6fe243ae fetch 1 ,mem_le_txheader 
+5a4c 28200601 compare 1 ,type ,3 
+5a4d 2420da50 nbranch le_send_no_txlen ,true 
+5a4e 6fe243af fetch 1 ,mem_le_txlen 
+5a4f 207a0000 rtn blank 
+
+le_send_no_txlen:
+5a50 6fe2043b fetch 1 ,mem_le_state 
+5a51 c4020000 rtnbit0 lestate_encryption 
+5a52 20407342 call load_sk 
+5a53 20207299 branch le_encrypt 
+
+get_lpm_wake_ble_rx_lock:
+5a54 d8e00000 arg wake_lock_ble_rx ,queue 
+5a55 20204bec branch lpm_get_wake_lock 
+
+put_lpm_wake_ble_rx_lock:
+5a56 d8e00000 arg wake_lock_ble_rx ,queue 
+5a57 20204bf0 branch lpm_put_wake_lock 
+
+le_parse:
+5a58 470fc023 bpatchx patch23_7 ,mem_patch23 
+5a59 c6078000 rtnmark1 mark_old_packet 
+5a5a 20405c70 call le_fifo_check_full 
+5a5b 247a0000 nrtn blank 
+5a5c 6fe202d5 fetch 1 ,mem_le_rxbuf 
+5a5d 1fe17e03 and pdata ,0x3 ,pdata 
+5a5e 67e244de store 1 ,mem_le_packet_llid 
+5a5f efe20006 ifetch 1 ,contr 
+5a60 1fe17e1f and pdata ,0x1f ,pdata 
+5a61 67e244dd store 1 ,mem_le_packet_size 
+5a62 207a0000 rtn blank 
+5a63 18c27e00 copy contr ,pdata 
+5a64 67e444df store 2 ,mem_le_payload_ptr 
+5a65 47104024 bpatchx patch24_0 ,mem_patch24 
+5a66 6fe244de fetch 1 ,mem_le_packet_llid 
+5a67 c001e044 beq llid_le_ll ,le_parse_ll 
+
+le_parse_l2cap:
+5a68 4710c024 bpatchx patch24_1 ,mem_patch24 
+5a69 20405a76 call le_check_l2cap_complete 
+5a6a 24345a54 nbranch get_lpm_wake_ble_rx_lock ,user 
+5a6b 20405a56 call put_lpm_wake_ble_rx_lock 
+5a6c 6fe444df fetch 2 ,mem_le_payload_ptr 
+5a6d 1fe20c00 copy pdata ,contr 
+5a6e efe40006 ifetch 2 ,contr 
+5a6f 67e444ce store 2 ,mem_le_l2cap_size 
+5a70 47114024 bpatchx patch24_2 ,mem_patch24 
+5a71 efe40006 ifetch 2 ,contr 
+5a72 c0025c8b beq le_l2cap_cid_att ,le_parse_att 
+5a73 c0035ed4 beq le_l2cap_cid_smp ,le_parse_smp 
+5a74 c002de96 beq le_l2cap_cid_signal ,le_parse_signaling 
+5a75 20600000 rtn 
+
+le_check_l2cap_complete:
+5a76 6fe244de fetch 1 ,mem_le_packet_llid 
+5a77 c0015a85 beq llid_start ,le_check_l2cap_llid_start 
+5a78 c000da9d beq llid_continue ,le_check_l2cap_llid_continue 
+5a79 20600000 rtn 
+
+le_check_l2cap_cid_legal:
+5a7a 20407dbf call enable_user 
+5a7b d8400004 arg le_l2cap_cid_att ,temp 
+5a7c 9fe67c00 isub pdata ,null 
+5a7d 20628000 rtn zero 
+5a7e d8400005 arg le_l2cap_cid_signal ,temp 
+5a7f 9fe67c00 isub pdata ,null 
+5a80 20628000 rtn zero 
+5a81 d8400006 arg le_l2cap_cid_smp ,temp 
+5a82 9fe67c00 isub pdata ,null 
+5a83 20628000 rtn zero 
+5a84 20207dc1 branch disable_user 
+
+le_check_l2cap_llid_start:
+5a85 6fe444df fetch 2 ,mem_le_payload_ptr 
+5a86 1fe20c00 copy pdata ,contr 
+5a87 efe40006 ifetch 2 ,contr 
+5a88 67e444ce store 2 ,mem_le_l2cap_size 
+5a89 efe40006 ifetch 2 ,contr 
+5a8a 20405a7a call le_check_l2cap_cid_legal 
+5a8b 24740000 nrtn user 
+5a8c 684244dd fetcht 1 ,mem_le_packet_size 
+5a8d 604244d0 storet 1 ,mem_le_packet_len_recved 
+5a8e 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5a8f 1fe0fe04 increase 4 ,pdata 
+5a90 98467c00 isub temp ,null 
+5a91 2022fdbf branch enable_user ,zero 
+5a92 6fe244dd fetch 1 ,mem_le_packet_size 
+5a93 1fe27200 copy pdata ,loopcnt 
+5a94 d8a0030d arg mem_le_l2capbuf ,contw 
+5a95 6fe444df fetch 2 ,mem_le_payload_ptr 
+5a96 1fe20c00 copy pdata ,contr 
+5a97 20407cdc call memcpy 
+5a98 20207dc1 branch disable_user 
+
+le_check_l2cap_continue_legal:
+5a99 20407dbf call enable_user 
+5a9a 6fe244d0 fetch 1 ,mem_le_packet_len_recved 
+5a9b 247a0000 nrtn blank 
+5a9c 20207dc1 branch disable_user 
+
+le_check_l2cap_llid_continue:
+5a9d 20405a99 call le_check_l2cap_continue_legal 
+5a9e 24740000 nrtn user 
+5a9f 6fe244d0 fetch 1 ,mem_le_packet_len_recved 
+5aa0 d8a0030d arg mem_le_l2capbuf ,contw 
+5aa1 98a0a200 iadd contw ,rega 
+5aa2 684244dd fetcht 1 ,mem_le_packet_size 
+5aa3 9840fe00 iadd temp ,pdata 
+5aa4 67e244d0 store 1 ,mem_le_packet_len_recved 
+5aa5 6fe244dd fetch 1 ,mem_le_packet_size 
+5aa6 1fe27200 copy pdata ,loopcnt 
+5aa7 1a220a00 copy rega ,contw 
+5aa8 6fe444df fetch 2 ,mem_le_payload_ptr 
+5aa9 1fe20c00 copy pdata ,contr 
+5aaa 20407ccf call memcpy_fast 
+5aab 5800030d setarg mem_le_l2capbuf 
+5aac 67e444df store 2 ,mem_le_payload_ptr 
+5aad 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5aae 1fe0fe04 increase 4 ,pdata 
+5aaf 684244d0 fetcht 1 ,mem_le_packet_len_recved 
+5ab0 98467c00 isub temp ,null 
+5ab1 2022fdbf branch enable_user ,zero 
+5ab2 20207dc1 branch disable_user 
+
+le_get_search_att_type:
+5ab3 20407c80 call store_contr 
+5ab4 d8a04430 arg mem_le_search_att_type_length ,contw 
+
+le_get_search_common:
+5ab5 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5ab6 1fe0fffb increase -5 ,pdata 
+
+le_get_search_common2:
+5ab7 e7e20005 istore 1 ,contw 
+5ab8 1fe27200 copy pdata ,loopcnt 
+5ab9 20407c7a call get_contr 
+5aba 20207ccf branch memcpy_fast 
+
+le_get_search_att_uuid:
+5abb 20407c80 call store_contr 
+5abc d8a04443 arg mem_le_search_uuid_length ,contw 
+5abd 20205ab5 branch le_get_search_common 
+
+le_writeatt_cb:
+5abe 6fe441fa fetch 2 ,mem_cb_att_write 
+5abf 20207d77 branch callback_func 
+
+le_supervision_update:
+5ac0 68480457 fetcht 4 ,mem_le_supervision_timer 
+5ac1 20404a7a call get_clkbt 
+5ac2 98461600 isub temp ,timeup 
+5ac3 19627e00 deposit timeup 
+5ac4 68440469 fetcht 2 ,mem_le_superto 
+5ac5 18520400 lshift4 temp ,temp 
+5ac6 18438400 lshift temp ,temp 
+5ac7 98467e00 isub temp ,pdata 
+5ac8 20600000 rtn 
+
+le_supervision_flush:
+5ac9 20404a7a call get_clkbt 
+5aca 67e80457 store 4 ,mem_le_supervision_timer 
+5acb 20600000 rtn 
+
+le_adv:
+5acc 70001624 jam 36 ,mem_le_ch_mapped 
+5acd 700abe00 jam 0 ,mem_le_adv_channel_map_temp 
+
+le_adv_loop:
+5ace 4711c024 bpatchx patch24_3 ,mem_patch24 
+5acf 6fe24340 fetch 1 ,mem_le_adv_enable 
+5ad0 207a0000 rtn blank 
+5ad1 d8e00000 arg le_adv_interval_timer ,queue 
+5ad2 20407cf1 call timer_check 
+5ad3 247a0000 nrtn blank 
+5ad4 47124024 bpatchx patch24_4 ,mem_patch24 
+
+le_adv_loop_tx:
+5ad5 7854fc00 disable master 
+5ad6 78287c00 enable swfine 
+5ad7 2040594c call le_init_adv 
+5ad8 204057fc call le_next_adv_channel 
+5ad9 204058c3 call le_send_adv_ind 
+5ada 2436dae2 nbranch le_adv_not_match ,match 
+5adb 6fe20003 fetch 1 ,mem_le_req_rcv 
+5adc 1fe0fe01 increase 1 ,pdata 
+5add 67e20003 store 1 ,mem_le_req_rcv 
+5ade 6fe202d5 fetch 1 ,mem_le_rxbuf 
+5adf 1fe17e0f and pdata ,0x0f ,pdata 
+5ae0 c001d8f6 beq scan_req ,le_send_scan_response 
+5ae1 c002db08 beq connect_req ,le_parse_connect_req 
+
+le_adv_not_match:
+5ae2 4712c024 bpatchx patch24_5 ,mem_patch24 
+5ae3 180a7e00 random pdata 
+5ae4 d84001ff arg 0x1ff ,temp 
+5ae5 98417e00 iand temp ,pdata 
+5ae6 1fe0fefa add pdata ,250 ,pdata 
+5ae7 20405aef call delay 
+5ae8 6fe20abe fetch 1 ,mem_le_adv_channel_map_temp 
+5ae9 6842445f fetcht 1 ,mem_le_adv_channel_map 
+5aea 98467c00 isub temp ,null 
+5aeb 2422dace nbranch le_adv_loop ,zero 
+5aec d8e00000 arg le_adv_interval_timer ,queue 
+5aed 6fe44454 fetch 2 ,mem_le_adv_interval 
+5aee 20207ce3 branch timer_init 
+
+delay:
+5aef 1fe0ffff increase -1 ,pdata 
+5af0 20000026 nop 38 
+5af1 243a5aef nbranch delay ,blank 
+5af2 20600000 rtn 
+
+le_receive_window_size:
+5af3 47134024 bpatchx patch24_6 ,mem_patch24 
+5af4 6fe20472 fetch 1 ,mem_le_peer_sca 
+5af5 204057d6 call le_sca_map 
+5af6 6fe4043d fetch 2 ,mem_le_tsniff 
+5af7 984ffe00 imul32 temp ,pdata 
+5af8 d8400177 arg 375 ,temp 
+5af9 984ffe00 imul32 temp ,pdata 
+5afa d84186a0 arg 100000 ,temp 
+5afb 9846fc00 idiv temp 
+5afc 6fe20466 fetch 1 ,mem_le_window_size 
+5afd d8404e20 arg 20000 ,temp 
+5afe 984ffe00 imul32 temp ,pdata 
+5aff 9840fe00 iadd temp ,pdata 
+5b00 67e844b7 store 4 ,mem_le_transmit_window 
+5b01 4713c024 bpatchx patch24_7 ,mem_patch24 
+5b02 6fe440c1 fetch 2 ,mem_rx_window_sniff 
+5b03 20407d61 call wait_div_end 
+5b04 18078400 quotient temp 
+5b05 9840fe00 iadd temp ,pdata 
+5b06 67e40449 store 2 ,mem_le_receive_window 
+5b07 20600000 rtn 
+
+le_parse_connect_req:
+5b08 47144025 bpatchx patch25_0 ,mem_patch25 
+5b09 6fec02dd fetch 6 ,mem_le_rxbuf + 8 
+5b0a 684c4472 fetcht 6 ,mem_le_lap 
+5b0b 98467c00 isub temp ,null 
+5b0c 24628000 nrtn zero 
+5b0d 204059f3 call le_scan_check_sender_addr_type 
+5b0e 1a227e00 copy rega ,pdata 
+5b0f 67e24460 store 1 ,mem_le_conn_peer_addr_type 
+5b10 6fee02ea fetch 7 ,mem_le_rxbuf + 21 
+5b11 67ee00ff store 7 ,mem_tmp_buffer 
+5b12 eff00006 ifetch 8 ,contr 
+5b13 e7f00005 istore 8 ,contw 
+5b14 6fec02d7 fetch 6 ,mem_le_rxbuf + 2 
+5b15 67ec044b store 6 ,mem_le_plap 
+5b16 18c08c06 increase 6 ,contr 
+5b17 eff00006 ifetch 8 ,contr 
+5b18 67f0045f store 8 ,mem_le_access 
+5b19 e8440006 ifetcht 2 ,contr 
+5b1a 4714c025 bpatchx patch25_1 ,mem_patch25 
+5b1b 184b8400 lshift2 temp ,temp 
+5b1c efe40006 ifetch 2 ,contr 
+5b1d 1febfe00 lshift2 pdata ,pdata 
+5b1e 67e4043d store 2 ,mem_le_tsniff 
+5b1f 67e8043f store 4 ,mem_le_anchor 
+5b20 98467e00 isub temp ,pdata 
+5b21 1fe0d1fe add pdata ,-2 ,clke_bt 
+5b22 eff20006 ifetch 9 ,contr 
+5b23 67f20467 store 9 ,mem_le_slave_latency 
+5b24 47154025 bpatchx patch25_2 ,mem_patch25 
+5b25 efe20006 ifetch 1 ,contr 
+5b26 1ff18400 rshift4 pdata ,temp 
+5b27 18430400 rshift temp ,temp 
+5b28 60420472 storet 1 ,mem_le_peer_sca 
+5b29 1fe17e1f and_into 0x1f ,pdata 
+5b2a 67e20454 store 1 ,mem_le_hop 
+5b2b 20405af3 call le_receive_window_size 
+5b2c 20405835 call le_calc_channel_map 
+5b2d 20405726 call le_init_slave 
+5b2e 20404237 call context_new 
+5b2f 24628000 nrtn zero 
+5b30 4715c025 bpatchx patch25_3 ,mem_patch25 
+5b31 2040483d call calc_clke_offset 
+5b32 20405eb3 call le_l2cap_reset_signaling_identifier 
+5b33 700a9514 jam bt_evt_le_connected ,mem_fifo_temp 
+5b34 20407bab call ui_ipc_send_event 
+5b35 2020421f branch context_save 
+
+le_init_attlist_search:
+5b36 47164025 bpatchx patch25_4 ,mem_patch25 
+5b37 6fe4442c fetch 2 ,mem_le_search_handle_start 
+5b38 98002400 iforce regb 
+5b39 6fe4442e fetch 2 ,mem_le_search_handle_end 
+5b3a 98002600 iforce regc 
+5b3b 6fe4448e fetch 2 ,mem_ui_le_uuid_table 
+5b3c 98000c00 iforce contr 
+5b3d 78347c00 enable user 
+5b3e 20600000 rtn 
+
+le_att_handle_inrange:
+5b3f efe40006 ifetch 2 ,contr 
+5b40 207a0000 rtn blank 
+5b41 9a467c00 isub regb ,null 
+5b42 24610000 nrtn positive 
+5b43 9a667c00 isub regc ,null 
+5b44 20628000 rtn zero 
+5b45 20215b48 branch le_att_handle_blank ,positive 
+5b46 18007c01 force 1 ,null 
+5b47 20600000 rtn 
+
+le_att_handle_blank:
+5b48 18007e00 force 0 ,pdata 
+5b49 20600000 rtn 
+
+le_att_get_handle_ptr:
+5b4a 20405b4d call le_att_get_handle_ptr2 
+5b4b 2022db59 branch le_att_get_handle_ptr_found ,zero 
+5b4c 20600000 rtn 
+
+le_att_get_handle_ptr2:
+5b4d 4716c025 bpatchx patch25_5 ,mem_patch25 
+5b4e 6fe4448e fetch 2 ,mem_ui_le_uuid_table 
+5b4f 98000c00 iforce contr 
+
+le_att_get_handle_loop1:
+5b50 efe40006 ifetch 2 ,contr 
+5b51 207a0000 rtn blank 
+5b52 98467c00 isub temp ,null 
+5b53 20628000 rtn zero 
+5b54 efe20006 ifetch 1 ,contr 
+5b55 98c08c00 iadd contr ,contr 
+5b56 efe20006 ifetch 1 ,contr 
+5b57 98c08c00 iadd contr ,contr 
+5b58 20205b50 branch le_att_get_handle_loop1 
+
+le_att_get_handle_ptr_found:
+5b59 efe20006 ifetch 1 ,contr 
+5b5a 98c08c00 iadd contr ,contr 
+5b5b 20600000 rtn 
+
+le_att_get_short_uuid_ptr:
+5b5c 47174025 bpatchx patch25_6 ,mem_patch25 
+5b5d 6fe4448e fetch 2 ,mem_ui_le_uuid_table 
+5b5e 98000c00 iforce contr 
+
+le_att_get_short_uuid_loop:
+5b5f efe40006 ifetch 2 ,contr 
+5b60 207a0000 rtn blank 
+5b61 efe20006 ifetch 1 ,contr 
+5b62 98c08c00 iadd contr ,contr 
+5b63 18c08dfe increase -2 ,contr 
+5b64 efe40006 ifetch 2 ,contr 
+5b65 98467c00 isub temp ,null 
+5b66 20628000 rtn zero 
+5b67 efe20006 ifetch 1 ,contr 
+5b68 98c08c00 iadd contr ,contr 
+5b69 20205b5f branch le_att_get_short_uuid_loop 
+
+le_att_get_handle_info_from_ptr:
+5b6a 6fe40498 fetch 2 ,mem_le_cur_attlist_start_ptr 
+5b6b 20205b6e branch le_att_get_handle_info_fast 
+
+le_att_get_handle_info:
+5b6c 4717c025 bpatchx patch25_7 ,mem_patch25 
+5b6d 6fe4448e fetch 2 ,mem_ui_le_uuid_table 
+
+le_att_get_handle_info_fast:
+5b6e 98000c00 iforce contr 
+5b6f 18422200 copy temp ,rega 
+
+le_att_get_handle_loop:
+5b70 efe40006 ifetch 2 ,contr 
+5b71 203a5b79 branch le_att_unfind_handle ,blank 
+5b72 9a267c00 isub rega ,null 
+5b73 2022db7a branch le_att_finded_handle ,zero 
+5b74 efe20006 ifetch 1 ,contr 
+5b75 98c08c00 iadd contr ,contr 
+5b76 efe20006 ifetch 1 ,contr 
+5b77 98c08c00 iadd contr ,contr 
+5b78 20205b70 branch le_att_get_handle_loop 
+
+le_att_unfind_handle:
+5b79 20207dc7 branch disable_blank 
+
+le_att_finded_handle:
+5b7a efe20006 ifetch 1 ,contr 
+5b7b 67e2049e store 1 ,mem_le_cur_uuid_length 
+5b7c 1fe27200 copy pdata ,loopcnt 
+5b7d d8a0049f arg mem_le_cur_uuid ,contw 
+5b7e 20407ccf call memcpy_fast 
+5b7f efe20006 ifetch 1 ,contr 
+5b80 67e204af store 1 ,mem_le_curr_att_len 
+5b81 20407c80 call store_contr 
+5b82 20207dc9 branch enable_blank 
+
+le_modified_name:
+5b83 47184026 bpatchx patch26_0 ,mem_patch26 
+5b84 20405b86 call le_modified_name_att_list 
+5b85 20205b98 branch le_modified_name_adv 
+
+le_modified_name_att_list:
+5b86 d8402a00 arg uuid_chrctr_device_name ,temp 
+5b87 20405b5c call le_att_get_short_uuid_ptr 
+5b88 207a0000 rtn blank 
+5b89 efe20006 ifetch 1 ,contr 
+5b8a 18c20a00 copy contr ,contw 
+5b8b 68424381 fetcht 1 ,mem_le_name_len 
+5b8c 18427200 copy temp ,loopcnt 
+5b8d 98467c00 isub temp ,null 
+5b8e 24215b95 nbranch le_name_length_longer_than_att ,positive 
+5b8f 98460400 isub temp ,temp 
+5b90 d8c04382 arg mem_le_name ,contr 
+5b91 20407cdc call memcpy 
+5b92 18427200 copy temp ,loopcnt 
+5b93 2442dbd0 ncall memcpy_empty ,zero 
+5b94 20600000 rtn 
+
+le_name_length_longer_than_att:
+5b95 1fe27200 copy pdata ,loopcnt 
+5b96 d8c04382 arg mem_le_name ,contr 
+5b97 20207ccf branch memcpy_fast 
+
+le_modified_name_adv:
+5b98 da604361 arg mem_le_adv_data_len + 32 ,regc 
+5b99 da204342 arg mem_le_adv_data ,rega 
+5b9a 20405ba5 call le_modified_name_adv_and_scan 
+5b9b 58000000 setarg 0 
+5b9c 79347e00 setflag user ,0 ,pdata 
+5b9d 67e20a96 store 1 ,mem_pdatatemp 
+5b9e da604381 arg mem_le_scan_data_len + 32 ,regc 
+5b9f da204362 arg mem_le_scan_data ,rega 
+5ba0 20405ba5 call le_modified_name_adv_and_scan 
+5ba1 20740000 rtn user 
+5ba2 6fe20a96 fetch 1 ,mem_pdatatemp 
+5ba3 203a4a8b branch assert ,blank 
+5ba4 20600000 rtn 
+
+le_modified_name_adv_and_scan:
+5ba5 4718c026 bpatchx patch26_1 ,mem_patch26 
+5ba6 20407dbf call enable_user 
+5ba7 20407cb5 call clear_temp_block 
+5ba8 da400000 arg 0 ,regb 
+5ba9 d8a00abf arg mem_le_data_temp ,contw 
+5baa 20405bbf call le_modified_name_adv_loop 
+5bab 6fe24381 fetch 1 ,mem_le_name_len 
+5bac 1fe08401 add pdata ,1 ,temp 
+5bad 9a40a200 iadd regb ,rega 
+5bae 1a20a202 increase 2 ,rega 
+5baf 1a267c1f sub rega ,0x1f ,null 
+5bb0 24215bbd nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+5bb1 e0420005 istoret 1 ,contw 
+5bb2 d8400009 arg gap_adtype_local_name_complete ,temp 
+5bb3 e0420005 istoret 1 ,contw 
+5bb4 98007200 iforce loopcnt 
+5bb5 20407ccf call memcpy_fast 
+5bb6 1a222400 copy rega ,regb 
+
+le_modified_name_adv_and_scan_store_data:
+5bb7 1a427e00 deposit regb 
+5bb8 67e20abe store 1 ,mem_le_data_len_temp 
+5bb9 d8c00abe arg mem_le_data_len_temp ,contr 
+5bba 5fffffe0 setarg -32 
+5bbb 9a608a00 iadd regc ,contw 
+5bbc 20207c98 branch memcpy32 
+
+le_modified_name_adv_and_scan_name_overflow:
+5bbd 20407dc1 call disable_user 
+5bbe 20205bb7 branch le_modified_name_adv_and_scan_store_data 
+
+le_modified_name_adv_loop:
+5bbf efe20011 ifetch 1 ,rega 
+5bc0 207a0000 rtn blank 
+5bc1 1fe0fe01 pincrease 1 
+5bc2 e8420006 ifetcht 1 ,contr 
+5bc3 18467c09 sub temp ,gap_adtype_local_name_complete ,null 
+5bc4 2022dbce branch le_modified_name_adv_found_name ,zero 
+5bc5 9a40a400 iadd regb ,regb 
+5bc6 1a220c00 copy rega ,contr 
+5bc7 98007200 iforce loopcnt 
+5bc8 20407ccf call memcpy_fast 
+5bc9 18c22200 copy contr ,rega 
+
+le_modified_name_adv_loop2:
+5bca 1a227e00 deposit rega 
+5bcb 9a667c00 isub regc ,null 
+5bcc 20610000 rtn positive 
+5bcd 20205bbf branch le_modified_name_adv_loop 
+
+le_modified_name_adv_found_name:
+5bce 9a20a200 iadd rega ,rega 
+5bcf 20205bca branch le_modified_name_adv_loop2 
+
+memcpy_empty:
+5bd0 58000020 setarg space 
+5bd1 e7e20005 istore 1 ,contw 
+5bd2 c2005bd0 loop memcpy_empty 
+5bd3 20600000 rtn 
+
+le_lpm_set_mult:
+5bd4 47194026 bpatchx patch26_2 ,mem_patch26 
+5bd5 7855fc00 disable wake 
+5bd6 20375bd8 branch le_lpm_set_mult_attempt ,attempt 
+5bd7 2436dbe6 nbranch le_lpm_lost ,match 
+
+le_lpm_set_mult_attempt:
+5bd8 20404ba0 call lpm_match 
+5bd9 6fe440c1 fetch 2 ,mem_rx_window_sniff 
+5bda 67e40449 store 2 ,mem_le_receive_window 
+5bdb 2436cbb3 nbranch lpm_mult_short ,match 
+5bdc c507cbb3 bmark1 mark_old_packet ,lpm_mult_short 
+5bdd 6fe244dd fetch 1 ,mem_le_packet_size 
+5bde 243a4bb3 nbranch lpm_mult_short ,blank 
+5bdf 6fe243af fetch 1 ,mem_le_txlen 
+5be0 243a4bb3 nbranch lpm_mult_short ,blank 
+5be1 6fe244bb fetch 1 ,mem_le_configuration 
+5be2 c282cbb3 bbit1 bit_ble_short_mult ,lpm_mult_short 
+5be3 6fe2043b fetch 1 ,mem_le_state 
+5be4 c282cbb3 bbit1 lestate_update_param ,lpm_mult_short 
+5be5 20204b95 branch lpm_mult_wait_timeout 
+
+le_lpm_lost:
+5be6 684440c1 fetcht 2 ,mem_rx_window_sniff 
+5be7 18430400 rshift temp ,temp 
+5be8 6fe40449 fetch 2 ,mem_le_receive_window 
+5be9 9840fe00 iadd temp ,pdata 
+5bea 67e40449 store 2 ,mem_le_receive_window 
+5beb 20204bab branch lpm_lost 
+
+le_set_config_fixed_tk:
+5bec d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+5bed 20205c04 branch le_set_config 
+
+le_clr_config_fixed_tk:
+5bee d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+5bef 20205c08 branch le_clr_config 
+
+le_set_config_fixed_ltk:
+5bf0 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5bf1 20205c04 branch le_set_config 
+
+le_clr_config_fixed_ltk:
+5bf2 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5bf3 20205c08 branch le_clr_config 
+
+le_set_config_more_data:
+5bf4 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5bf5 20205c04 branch le_set_config 
+
+le_clr_config_more_data:
+5bf6 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5bf7 20205c08 branch le_clr_config 
+
+le_set_config_read_authentication:
+5bf8 d8e00003 arg bit_ble_read_auth ,queue 
+5bf9 20205c04 branch le_set_config 
+
+le_clr_config_read_authentication:
+5bfa d8e00003 arg bit_ble_read_auth ,queue 
+5bfb 20205c08 branch le_clr_config 
+
+le_set_config_write_authentication:
+5bfc d8e00004 arg bit_ble_write_auth ,queue 
+5bfd 20205c04 branch le_set_config 
+
+le_clr_config_write_authentication:
+5bfe d8e00004 arg bit_ble_write_auth ,queue 
+5bff 20205c08 branch le_clr_config 
+
+le_set_config_short_mult:
+5c00 d8e00005 arg bit_ble_short_mult ,queue 
+5c01 20205c04 branch le_set_config 
+
+le_clr_config_short_mult:
+5c02 d8e00005 arg bit_ble_short_mult ,queue 
+5c03 20205c08 branch le_clr_config 
+
+le_set_config:
+5c04 6fe244bb fetch 1 ,mem_le_configuration 
+5c05 f9207e00 qset1 pdata 
+5c06 67e244bb store 1 ,mem_le_configuration 
+5c07 20600000 rtn 
+
+le_clr_config:
+5c08 6fe244bb fetch 1 ,mem_le_configuration 
+5c09 f93ffe00 qset0 pdata 
+5c0a 67e244bb store 1 ,mem_le_configuration 
+5c0b 20600000 rtn 
+
+le_set_fixed_ltk:
+5c0c 58112233 setarg 0x112233 
+5c0d 67e644bc store 3 ,mem_le_fixed_ltk 
+5c0e 58445566 setarg 0x445566 
+5c0f e7e60005 istore 3 ,contw 
+5c10 58778899 setarg 0x778899 
+5c11 e7e60005 istore 3 ,contw 
+5c12 58001122 setarg 0x001122 
+5c13 e7e60005 istore 3 ,contw 
+5c14 58334455 setarg 0x334455 
+5c15 e7e60005 istore 3 ,contw 
+5c16 58000066 setarg 0x66 
+5c17 e7e20005 istore 1 ,contw 
+5c18 20600000 rtn 
+
+le_set_justwork:
+5c19 59000302 setarg 0x01000302 
+5c1a 67e84425 store 4 ,mem_le_pres 
+5c1b 58010010 setarg 0x010010 
+5c1c 67e64429 store 3 ,mem_le_pres_max_keysize 
+5c1d 70449801 jam 1 ,mem_le_pairing_mode 
+5c1e 20600000 rtn 
+
+le_fifo_malloc_tx_empty:
+5c1f da200000 arg 0 ,rega 
+5c20 d8200001 arg llid_empty ,type 
+5c21 20205c30 branch le_fifo_malloc_tx 
+
+le_fifo_malloc_tx_ll:
+5c22 d8200003 arg llid_le_ll ,type 
+5c23 20405c30 call le_fifo_malloc_tx 
+5c24 1a427e00 copy regb ,pdata 
+5c25 e7e20005 istore 1 ,contw 
+5c26 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap:
+5c27 18000202 force llid_start ,type 
+5c28 1a20a204 increase 4 ,rega 
+5c29 20405c30 call le_fifo_malloc_tx 
+5c2a 1a20a3fc increase -4 ,rega 
+5c2b 1a227e00 copy rega ,pdata 
+5c2c e7e40005 istore 2 ,contw 
+5c2d 1a427e00 copy regb ,pdata 
+5c2e e7e40005 istore 2 ,contw 
+5c2f 20600000 rtn 
+
+le_fifo_malloc_tx:
+5c30 1a267cf0 sub rega ,240 ,null 
+5c31 24214a8b nbranch assert ,positive 
+5c32 6fe244d1 fetch 1 ,mem_le_tx_buff_used 
+5c33 d8400001 arg 1 ,temp 
+5c34 df200004 arg le_tx_buff_count ,loopcnt 
+
+le_fifo_malloc_tx_loop:
+5c35 98417c00 iand temp ,null 
+5c36 2022dc3a branch le_fifo_malloc_tx_got_empty ,zero 
+5c37 18438400 lshift temp ,temp 
+5c38 c2005c35 loop le_fifo_malloc_tx_loop 
+5c39 20204a8b branch assert 
+
+le_fifo_malloc_tx_got_empty:
+5c3a 9842fe00 ixor temp ,pdata 
+5c3b 67e244d1 store 1 ,mem_le_tx_buff_used 
+5c3c 1f267e04 sub loopcnt ,le_tx_buff_count ,pdata 
+5c3d 1ff27e00 lshift4 pdata ,pdata 
+5c3e 1ff27e00 lshift4 pdata ,pdata 
+5c3f d8401800 arg mem_le_tx_buffer0 ,temp 
+5c40 98408400 iadd temp ,temp 
+
+le_fifo_tx_find_empty_ptr:
+5c41 df200000 arg 0 ,loopcnt 
+5c42 d8c044d2 arg mem_le_tx_ptr0 ,contr 
+
+le_fifo_tx_find_empty_ptr_loop:
+5c43 efe40006 ifetch 2 ,contr 
+5c44 203a5c49 branch le_fifo_tx_found_empty_ptr ,blank 
+5c45 1f227e00 copy loopcnt ,pdata 
+5c46 1f20f201 increase 1 ,loopcnt 
+5c47 c0825c43 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+5c48 20204a8b branch assert 
+
+le_fifo_tx_found_empty_ptr:
+5c49 18c08dfe increase -2 ,contr 
+5c4a e0440006 istoret 2 ,contr 
+5c4b 18420a00 copy temp ,contw 
+5c4c 1a227e00 copy rega ,pdata 
+5c4d e7e20005 istore 1 ,contw 
+5c4e 58000000 setarg 0 
+5c4f e7e20005 istore 1 ,contw 
+5c50 18227e00 copy type ,pdata 
+5c51 e7e20005 istore 1 ,contw 
+5c52 20600000 rtn 
+
+le_fifo_get_first_tx_ptr:
+5c53 6fe444d2 fetch 2 ,mem_le_tx_ptr0 
+5c54 1fe20c00 copy pdata ,contr 
+5c55 20600000 rtn 
+
+le_fifo_get_second_tx_ptr:
+5c56 6fe444d4 fetch 2 ,mem_le_tx_ptr1 
+5c57 1fe20c00 copy pdata ,contr 
+5c58 20600000 rtn 
+
+le_fifo_get_last_tx_ptr:
+5c59 20405c5c call le_fifo_get_last_tx_ptr0 
+5c5a 1fe20c00 copy pdata ,contr 
+5c5b 20600000 rtn 
+
+le_fifo_get_last_tx_ptr0:
+5c5c 6fe444d8 fetch 2 ,mem_le_tx_ptr3 
+5c5d 247a0000 nrtn blank 
+5c5e 6fe444d6 fetch 2 ,mem_le_tx_ptr2 
+5c5f 247a0000 nrtn blank 
+5c60 6fe444d4 fetch 2 ,mem_le_tx_ptr1 
+5c61 247a0000 nrtn blank 
+5c62 6fe444d2 fetch 2 ,mem_le_tx_ptr0 
+5c63 20600000 rtn 
+
+le_fifo_get_first_l2cap_ptr:
+5c64 20405c53 call le_fifo_get_first_tx_ptr 
+5c65 18c08c03 increase 3 ,contr 
+5c66 20600000 rtn 
+
+le_fifo_get_first_att_ptr:
+5c67 20405c53 call le_fifo_get_first_tx_ptr 
+5c68 18c08c07 increase 7 ,contr 
+5c69 20600000 rtn 
+
+le_fifo_get_last_att_ptr:
+5c6a 20405c59 call le_fifo_get_last_tx_ptr 
+5c6b 18c08c07 increase 7 ,contr 
+5c6c 20600000 rtn 
+
+le_fifo_get_last_l2cap_ptr:
+5c6d 20405c59 call le_fifo_get_last_tx_ptr 
+5c6e 18c08c03 increase 3 ,contr 
+5c6f 20600000 rtn 
+
+le_fifo_check_full:
+5c70 6fe444d8 fetch 2 ,mem_le_tx_ptr3 
+5c71 20600000 rtn 
+
+le_fifo_check_nearly_full:
+5c72 6fe444d6 fetch 2 ,mem_le_tx_ptr2 
+5c73 20600000 rtn 
+
+le_fifo_check_empty:
+5c74 6fe444d2 fetch 2 ,mem_le_tx_ptr0 
+5c75 20600000 rtn 
+
+le_fifo_release_first_node:
+5c76 6fe444d2 fetch 2 ,mem_le_tx_ptr0 
+5c77 d8401800 arg mem_le_tx_buffer0 ,temp 
+5c78 98467e00 isub temp ,pdata 
+5c79 1ff1fe00 rshift4 pdata ,pdata 
+5c7a 1ff18e00 rshift4 pdata ,queue 
+5c7b 6fe244d1 fetch 1 ,mem_le_tx_buff_used 
+5c7c f93ffe00 qset0 pdata 
+5c7d 67e244d1 store 1 ,mem_le_tx_buff_used 
+5c7e df200000 arg 0 ,loopcnt 
+
+le_fifo_release_first_node_loop:
+5c7f 1f23fe00 lshift loopcnt ,pdata 
+5c80 d84044d4 arg mem_le_tx_ptr1 ,temp 
+5c81 98408400 iadd temp ,temp 
+5c82 efe40002 ifetch 2 ,temp 
+5c83 184085fe increase -2 ,temp 
+5c84 e7e40002 istore 2 ,temp 
+5c85 1f227e00 copy loopcnt ,pdata 
+5c86 1f20f201 increase 1 ,loopcnt 
+5c87 c081dc7f bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+5c88 58000000 setarg 0 
+5c89 e7e40002 istore 2 ,temp 
+5c8a 20600000 rtn 
+
+le_parse_att:
+5c8b efe60006 ifetch 3 ,contr 
+5c8c 67e60473 store 3 ,mem_le_att_opcode 
+5c8d c0015ca1 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+5c8e c001dca9 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+5c8f c0025cac beq attop_find_information_request ,le_parse_att_find_information_request 
+5c90 c0035cd2 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+5c91 c0045d1f beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+5c92 c0055d9c beq attop_read_request ,le_parse_att_read_request 
+5c93 c0065dc4 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+5c94 c0085dda beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+5c95 c0095e0f beq attop_write_request ,le_parse_att_write_request 
+5c96 c00b5e28 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+5c97 c00c5e3b beq attop_execute_write_request ,le_parse_att_execute_write_request 
+5c98 c0295e40 beq attop_write_command ,le_parse_att_write_command 
+5c99 20600000 rtn 
+
+le_send_att_exchange_mtu_requset:
+5c9a 18002203 force 3 ,rega 
+5c9b 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5c9c 58000002 setarg attop_exchange_mtu_request 
+5c9d e7e20005 istore 1 ,contw 
+5c9e 6fe44478 fetch 2 ,mem_le_local_mtu 
+5c9f e7e40005 istore 2 ,contw 
+5ca0 20600000 rtn 
+
+le_parse_att_exchange_mtu_request:
+5ca1 20405ca9 call le_parse_att_exchange_mtu_response 
+
+le_send_att_exchange_mtu_response:
+5ca2 18002203 force 3 ,rega 
+5ca3 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5ca4 58000003 setarg attop_exchange_mtu_response 
+5ca5 e7e20005 istore 1 ,contw 
+5ca6 6fe44478 fetch 2 ,mem_le_local_mtu 
+5ca7 e7e40005 istore 2 ,contw 
+5ca8 20600000 rtn 
+
+le_parse_att_exchange_mtu_response:
+5ca9 1fecfe00 rshift8 pdata ,pdata 
+5caa 67e4447a store 2 ,mem_le_remote_mtu 
+5cab 20600000 rtn 
+
+le_parse_att_find_information_request:
+5cac 20405e91 call le_get_search_handle_start_end_common 
+5cad 20407dbf call enable_user 
+5cae 20205caf branch le_send_att_find_information_response 
+
+le_send_att_find_information_response:
+5caf d9600003 arg 3 ,timeup 
+5cb0 20405b36 call le_init_attlist_search 
+
+le_send_att_find_information_res_loop:
+5cb1 20405b3f call le_att_handle_inrange 
+5cb2 203a5cd0 branch le_send_att_find_information_res_end ,blank 
+5cb3 24215ccd nbranch le_send_att_find_information_res_next ,positive 
+5cb4 18c08dfe increase -2 ,contr 
+5cb5 20407c80 call store_contr 
+5cb6 20407c77 call get_contw 
+5cb7 24345cc1 nbranch le_send_att_find_information_res_store_info ,user 
+5cb8 20407c60 call push_stack_rega_b_c 
+5cb9 20407dc1 call disable_user 
+5cba 18002214 force 20 ,rega 
+5cbb 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5cbc 20407c70 call pop_stack_rega_b_c 
+5cbd 58000005 setarg attop_find_information_response 
+5cbe e7e20005 istore 1 ,contw 
+5cbf 58000001 setarg uuid_size_16bit 
+5cc0 e7e20005 istore 1 ,contw 
+
+le_send_att_find_information_res_store_info:
+5cc1 20407c7a call get_contr 
+5cc2 efe40006 ifetch 2 ,contr 
+5cc3 e7e40005 istore 2 ,contw 
+5cc4 efe20006 ifetch 1 ,contr 
+5cc5 1fe27200 copy pdata ,loopcnt 
+5cc6 20407cdc call memcpy 
+5cc7 20407c7d call store_contw 
+5cc8 196097ff increase -1 ,timeup 
+5cc9 2022dcd0 branch le_send_att_find_information_res_end ,zero 
+
+le_send_att_find_information_res_cont:
+5cca efe20006 ifetch 1 ,contr 
+5ccb 98c08c00 iadd contr ,contr 
+5ccc 20205cb1 branch le_send_att_find_information_res_loop 
+
+le_send_att_find_information_res_next:
+5ccd efe20006 ifetch 1 ,contr 
+5cce 98c08c00 iadd contr ,contr 
+5ccf 20205cca branch le_send_att_find_information_res_cont 
+
+le_send_att_find_information_res_end:
+5cd0 20345e56 branch le_send_att_error_response_notfound ,user 
+5cd1 20205e85 branch le_send_auto_len_by_mem 
+
+le_parse_att_find_by_type_value_request:
+5cd2 20405e91 call le_get_search_handle_start_end_common 
+5cd3 efe40006 ifetch 2 ,contr 
+5cd4 67e44444 store 2 ,mem_le_search_uuid 
+5cd5 20407c80 call store_contr 
+5cd6 d8a04430 arg mem_le_search_att_type_length ,contw 
+5cd7 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5cd8 1fe0fff9 increase -7 ,pdata 
+5cd9 20405ab7 call le_get_search_common2 
+5cda 20205ce5 branch le_send_att_find_by_type_value_response 
+
+le_start_end_handle_check_1:
+5cdb 78547c00 disable user 
+5cdc 6844442c fetcht 2 ,mem_le_search_handle_start 
+5cdd 6fe4442e fetch 2 ,mem_le_search_handle_end 
+5cde 98467c00 isub temp ,null 
+5cdf 24215ce2 nbranch le_start_end_handle_check_1_fail ,positive 
+5ce0 18427e00 deposit temp 
+5ce1 c1800000 rtnne 0 
+
+le_start_end_handle_check_1_fail:
+5ce2 78347c00 enable user 
+5ce3 70047601 jam att_err_invalid_handle ,mem_le_err_code 
+5ce4 20205e57 branch le_send_att_error_response 
+
+le_send_att_find_by_type_value_response:
+5ce5 20405cdb call le_start_end_handle_check_1 
+5ce6 20740000 rtn user 
+5ce7 68444444 fetcht 2 ,mem_le_search_uuid 
+5ce8 58002800 setarg uuid_gatt_primary_service 
+5ce9 98467c00 isub temp ,null 
+5cea 2022dcec branch le_send_att_find_by_type_value_res_primary ,zero 
+5ceb 20205e56 branch le_send_att_error_response_notfound 
+
+le_send_att_find_by_type_value_res_primary:
+5cec 7004b000 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+5ced 6844442c fetcht 2 ,mem_le_search_handle_start 
+5cee 60440a9e storet 2 ,mem_temp 
+5cef 20405b6c call le_att_get_handle_info 
+5cf0 243a5e56 nbranch le_send_att_error_response_notfound ,blank 
+
+le_send_att_find_primary_search_loop:
+5cf1 68440a9e fetcht 2 ,mem_temp 
+5cf2 20405b6c call le_att_get_handle_info 
+5cf3 243a5d05 nbranch le_send_att_error_response_notfound2 ,blank 
+5cf4 18c22200 copy contr ,rega 
+5cf5 6fe204af fetch 1 ,mem_le_curr_att_len 
+5cf6 1fe27200 copy pdata ,loopcnt 
+5cf7 68424430 fetcht 1 ,mem_le_search_att_type_length 
+5cf8 98467c00 isub temp ,null 
+5cf9 2422dd01 nbranch le_send_att_find_primary_search_loop1 ,zero 
+5cfa da404431 arg mem_le_search_att_type ,regb 
+5cfb 20407d63 call string_compare 
+5cfc 2022dd08 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+5cfd 6fe4049f fetch 2 ,mem_le_cur_uuid 
+5cfe 68444444 fetcht 2 ,mem_le_search_uuid 
+5cff 98467c00 isub temp ,null 
+5d00 2022dd10 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+
+le_send_att_find_primary_search_loop1:
+5d01 6fe40a9e fetch 2 ,mem_temp 
+5d02 1fe0fe01 increase 1 ,pdata 
+5d03 67e40a9e store 2 ,mem_temp 
+5d04 20205cf1 branch le_send_att_find_primary_search_loop 
+
+le_send_att_error_response_notfound2:
+5d05 6fe204b0 fetch 1 ,mem_le_search_res 
+5d06 c000dd10 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+5d07 20205e56 branch le_send_att_error_response_notfound 
+
+le_send_att_find_primary_search_end_start_handle_found:
+5d08 6fe4049f fetch 2 ,mem_le_cur_uuid 
+5d09 68444444 fetcht 2 ,mem_le_search_uuid 
+5d0a 98467c00 isub temp ,null 
+5d0b 2422dd01 nbranch le_send_att_find_primary_search_loop1 ,zero 
+5d0c 7004b001 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+5d0d 68440a9e fetcht 2 ,mem_temp 
+5d0e 6044049a storet 2 ,mem_le_cur_handle_start 
+5d0f 20205d01 branch le_send_att_find_primary_search_loop1 
+
+le_send_att_find_primary_search_end_ending_handle_found:
+5d10 6fe204b0 fetch 1 ,mem_le_search_res 
+5d11 c0005d01 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+5d12 7004b002 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+5d13 68440a9e fetcht 2 ,mem_temp 
+5d14 184085ff increase -1 ,temp 
+5d15 6044049c storet 2 ,mem_le_cur_handle_end 
+
+le_send_att_find_primary_search_end:
+5d16 da200005 arg 5 ,rega 
+5d17 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5d18 58000007 setarg attop_find_by_type_value_response 
+5d19 e7e20005 istore 1 ,contw 
+5d1a 6fe4049a fetch 2 ,mem_le_cur_handle_start 
+5d1b e7e40005 istore 2 ,contw 
+5d1c 6fe4049c fetch 2 ,mem_le_cur_handle_end 
+5d1d e7e40005 istore 2 ,contw 
+5d1e 20600000 rtn 
+
+le_parse_att_read_by_type_request:
+5d1f 20405e91 call le_get_search_handle_start_end_common 
+5d20 20405abb call le_get_search_att_uuid 
+5d21 20205d22 branch le_send_att_read_by_type_response 
+
+le_send_att_read_by_type_response:
+5d22 6844442c fetcht 2 ,mem_le_search_handle_start 
+5d23 60440a9e storet 2 ,mem_temp 
+5d24 20405b36 call le_init_attlist_search 
+5d25 20405b4d call le_att_get_handle_ptr2 
+5d26 18c08dfe increase -2 ,contr 
+5d27 18c27e00 copy contr ,pdata 
+5d28 67e40498 store 2 ,mem_le_cur_attlist_start_ptr 
+5d29 68444444 fetcht 2 ,mem_le_search_uuid 
+5d2a 58002a00 setarg uuid_chrctr_device_name 
+5d2b 98467c00 isub temp ,null 
+5d2c 2022dd88 branch le_send_att_read_by_type_res_device_name ,zero 
+5d2d 58002803 setarg uuid_gatt_characteristic 
+5d2e 98467c00 isub temp ,null 
+5d2f 2422dd70 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+5d30 d9600002 arg 2 ,timeup 
+
+le_send_att_read_by_type_response_loop:
+5d31 20405e68 call le_att_check_handle_end 
+5d32 24215d4d nbranch le_send_att_read_by_type_response_end ,positive 
+5d33 68440a9e fetcht 2 ,mem_temp 
+5d34 20405b6a call le_att_get_handle_info_from_ptr 
+5d35 c000dd4d beq 1 ,le_send_att_read_by_type_response_end 
+5d36 20405e74 call le_att_same_uuid 
+5d37 2422dd4b nbranch le_send_att_read_by_type_response_next_handle ,zero 
+5d38 24345d4f nbranch le_send_att_read_by_type_res_found_next ,user 
+5d39 78547c00 disable user 
+5d3a da200014 arg 20 ,rega 
+5d3b 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5d3c 58000009 setarg attop_read_by_type_response 
+5d3d e7e20005 istore 1 ,contw 
+5d3e 18a26000 copy contw ,alarm 
+5d3f 18a08a01 increase 1 ,contw 
+5d40 20405d5d call le_send_att_read_by_type_write_properties 
+5d41 20405e64 call le_att_next_handle 
+5d42 20405b6a call le_att_get_handle_info_from_ptr 
+5d43 20405d64 call le_send_att_read_by_type_write_uuid 
+5d44 6fe2049e fetch 1 ,mem_le_cur_uuid_length 
+5d45 1fe0fe05 increase 5 ,pdata 
+5d46 e7e20030 istore 1 ,alarm 
+5d47 6fe2049e fetch 1 ,mem_le_cur_uuid_length 
+5d48 c0085d4d beq 16 ,le_send_att_read_by_type_response_end 
+5d49 196097ff increase -1 ,timeup 
+5d4a 2022dd4d branch le_send_att_read_by_type_response_end ,zero 
+
+le_send_att_read_by_type_response_next_handle:
+5d4b 20405e64 call le_att_next_handle 
+5d4c 20205d31 branch le_send_att_read_by_type_response_loop 
+
+le_send_att_read_by_type_response_end:
+5d4d 20345e56 branch le_send_att_error_response_notfound ,user 
+5d4e 20205e85 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_found_next:
+5d4f 20405e77 call le_store_att_record 
+5d50 20405e64 call le_att_next_handle 
+5d51 20405b6a call le_att_get_handle_info_from_ptr 
+5d52 6fe2049e fetch 1 ,mem_le_cur_uuid_length 
+5d53 c0085d4d beq 16 ,le_send_att_read_by_type_response_end 
+5d54 20407c77 call get_contw 
+5d55 6fe40a9e fetch 2 ,mem_temp 
+5d56 1fe0ffff increase -1 ,pdata 
+5d57 e7e40005 istore 2 ,contw 
+5d58 20405e81 call le_write_att_record_common 
+5d59 20405d64 call le_send_att_read_by_type_write_uuid 
+5d5a 196097ff increase -1 ,timeup 
+5d5b 2022dd4d branch le_send_att_read_by_type_response_end ,zero 
+5d5c 20205d4b branch le_send_att_read_by_type_response_next_handle 
+
+le_send_att_read_by_type_write_properties:
+5d5d 6fe40a9e fetch 2 ,mem_temp 
+5d5e e7e40005 istore 2 ,contw 
+5d5f 6fe204af fetch 1 ,mem_le_curr_att_len 
+5d60 1fe27200 copy pdata ,loopcnt 
+5d61 20407c7a call get_contr 
+5d62 20407ccf call memcpy_fast 
+5d63 20207c7d branch store_contw 
+
+le_send_att_read_by_type_write_uuid:
+5d64 20407c77 call get_contw 
+5d65 6fe40a9e fetch 2 ,mem_temp 
+5d66 e7e40005 istore 2 ,contw 
+5d67 20407c7d call store_contw 
+5d68 6fe2049e fetch 1 ,mem_le_cur_uuid_length 
+5d69 1fe27200 copy pdata ,loopcnt 
+5d6a 20407c77 call get_contw 
+5d6b 20407c7a call get_contr 
+5d6c 9f260c00 isub loopcnt ,contr 
+5d6d 18c08dff increase -1 ,contr 
+5d6e 20407ccf call memcpy_fast 
+5d6f 20207c7d branch store_contw 
+
+le_send_att_read_by_type_res_not_characteristic:
+5d70 6844442c fetcht 2 ,mem_le_search_handle_start 
+5d71 60440a9e storet 2 ,mem_temp 
+
+le_send_att_read_by_type_res_not_char_loop:
+5d72 20405e68 call le_att_check_handle_end 
+5d73 24215e56 nbranch le_send_att_error_response_notfound ,positive 
+5d74 20405b6a call le_att_get_handle_info_from_ptr 
+5d75 c000de56 beq 1 ,le_send_att_error_response_notfound 
+5d76 20405e74 call le_att_same_uuid 
+5d77 2422dd86 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+
+le_send_att_read_by_type_res_not_char_common:
+5d78 da200014 arg 20 ,rega 
+5d79 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5d7a 58000009 setarg attop_read_by_type_response 
+5d7b e7e20005 istore 1 ,contw 
+5d7c 6fe204af fetch 1 ,mem_le_curr_att_len 
+5d7d 1fe27200 copy pdata ,loopcnt 
+5d7e 1fe0fe02 increase 2 ,pdata 
+5d7f e7e20005 istore 1 ,contw 
+5d80 6fe40a9e fetch 2 ,mem_temp 
+5d81 e7e40005 istore 2 ,contw 
+5d82 20407c7a call get_contr 
+5d83 20407ccf call memcpy_fast 
+5d84 20407c7d call store_contw 
+5d85 20205e85 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_not_char_next:
+5d86 20405e64 call le_att_next_handle 
+5d87 20205d72 branch le_send_att_read_by_type_res_not_char_loop 
+
+le_send_att_read_by_type_res_device_name:
+5d88 d8402a00 arg uuid_chrctr_device_name ,temp 
+5d89 20405b5c call le_att_get_short_uuid_ptr 
+5d8a 207a0000 rtn blank 
+5d8b 18c08dfb increase -5 ,contr 
+5d8c efe40006 ifetch 2 ,contr 
+5d8d 67e40a9e store 2 ,mem_temp 
+5d8e da200014 arg 20 ,rega 
+5d8f 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5d90 58000009 setarg attop_read_by_type_response 
+5d91 e7e20005 istore 1 ,contw 
+5d92 6fe24381 fetch 1 ,mem_le_name_len 
+5d93 1fe27200 copy pdata ,loopcnt 
+5d94 1fe0fe02 increase 2 ,pdata 
+5d95 e7e20005 istore 1 ,contw 
+5d96 6fe40a9e fetch 2 ,mem_temp 
+5d97 e7e40005 istore 2 ,contw 
+5d98 d8c04382 arg mem_le_name ,contr 
+5d99 20407ccf call memcpy_fast 
+5d9a 20407c7d call store_contw 
+5d9b 20205e85 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_request:
+5d9c 68440474 fetcht 2 ,mem_le_att_handle 
+5d9d 6fe244bb fetch 1 ,mem_le_configuration 
+5d9e c281ddbd bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+
+le_send_att_read_response:
+5d9f 20405b4a call le_att_get_handle_ptr 
+5da0 203a5e56 branch le_send_att_error_response_notfound ,blank 
+5da1 18c08dfe increase -2 ,contr 
+5da2 efe40006 ifetch 2 ,contr 
+5da3 d8402a00 arg uuid_chrctr_device_name ,temp 
+5da4 98467c00 isub temp ,null 
+5da5 2022ddb3 branch le_send_device_name ,zero 
+5da6 efe20006 ifetch 1 ,contr 
+5da7 1fe67c16 sub pdata ,22 ,null 
+5da8 20215daa branch le_send_att_read_response_less ,positive 
+5da9 18007e16 force 22 ,pdata 
+
+le_send_att_read_response_less:
+5daa 1fe22600 copy pdata ,regc 
+5dab 20407c80 call store_contr 
+5dac 1a60a201 add regc ,1 ,rega 
+5dad 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5dae 5800000b setarg attop_read_response 
+5daf e7e20005 istore 1 ,contw 
+5db0 1a627200 copy regc ,loopcnt 
+5db1 20407c7a call get_contr 
+5db2 20207cdc branch memcpy 
+
+le_send_device_name:
+5db3 20407c80 call store_contr 
+5db4 6fe24381 fetch 1 ,mem_le_name_len 
+5db5 1fe0a201 add pdata ,1 ,rega 
+5db6 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5db7 5800000b setarg attop_read_response 
+5db8 e7e20005 istore 1 ,contw 
+5db9 6fe24381 fetch 1 ,mem_le_name_len 
+5dba 1fe27200 copy pdata ,loopcnt 
+5dbb d8c04382 arg mem_le_name ,contr 
+5dbc 20207cdc branch memcpy 
+
+le_send_att_read_response_check_auth:
+5dbd 6fe444cc fetch 2 ,mem_le_pairing_handle 
+5dbe 98467c00 isub temp ,null 
+5dbf 2422dd9f nbranch le_send_att_read_response ,zero 
+5dc0 20405e22 call le_check_encrypt_state 
+5dc1 24345d9f nbranch le_send_att_read_response ,user 
+5dc2 70047605 jam att_err_insufficient_authentication ,mem_le_err_code 
+5dc3 20205e57 branch le_send_att_error_response 
+
+le_parse_att_read_blob_request:
+5dc4 efe40006 ifetch 2 ,contr 
+5dc5 67e44430 store 2 ,mem_le_att_offset 
+
+le_send_att_read_blob_response:
+5dc6 da200014 arg 20 ,rega 
+5dc7 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5dc8 5800000d setarg attop_read_blob_response 
+5dc9 e7e20005 istore 1 ,contw 
+5dca 6fe44430 fetch 2 ,mem_le_att_offset 
+5dcb 98002200 iforce rega 
+5dcc 68440474 fetcht 2 ,mem_le_att_handle 
+5dcd 20405b4a call le_att_get_handle_ptr 
+5dce 203a5e56 branch le_send_att_error_response_notfound ,blank 
+5dcf efe20006 ifetch 1 ,contr 
+5dd0 9a267200 isub rega ,loopcnt 
+5dd1 24215e56 nbranch le_send_att_error_response_notfound ,positive 
+5dd2 1f267c16 sub loopcnt ,22 ,null 
+5dd3 20215dd5 branch le_send_att_read_blob_response_less ,positive 
+5dd4 18007216 force 22 ,loopcnt 
+
+le_send_att_read_blob_response_less:
+5dd5 1a227e00 deposit rega 
+5dd6 98c08c00 iadd contr ,contr 
+5dd7 20407ccf call memcpy_fast 
+5dd8 20407c7d call store_contw 
+5dd9 20205e85 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_by_group_type_request:
+5dda 20405e91 call le_get_search_handle_start_end_common 
+5ddb 20405ab3 call le_get_search_att_type 
+5ddc 20205ddd branch le_send_att_read_by_group_type_response 
+
+le_send_att_read_by_group_type_response:
+5ddd d9600002 arg 2 ,timeup 
+5dde 6844442c fetcht 2 ,mem_le_search_handle_start 
+5ddf 60440a9e storet 2 ,mem_temp 
+5de0 20405b36 call le_init_attlist_search 
+5de1 20405b4d call le_att_get_handle_ptr2 
+5de2 18c08dfe increase -2 ,contr 
+5de3 18c27e00 copy contr ,pdata 
+5de4 67e40498 store 2 ,mem_le_cur_attlist_start_ptr 
+
+le_send_att_read_by_group_type_response_loop:
+5de5 20405e68 call le_att_check_handle_end 
+5de6 24215e05 nbranch le_send_att_read_by_group_type_end0 ,positive 
+5de7 68440a9e fetcht 2 ,mem_temp 
+5de8 20405b6a call le_att_get_handle_info_from_ptr 
+5de9 c000de08 beq 1 ,le_send_att_read_by_group_type_end1 
+5dea 20405e6c call le_att_same_type 
+5deb 2422de03 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+5dec 19627e00 copy timeup ,pdata 
+5ded c0005e08 beq 0 ,le_send_att_read_by_group_type_end1 
+5dee 24345df9 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+5def 78547c00 disable user 
+5df0 da200014 arg 20 ,rega 
+5df1 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5df2 58000011 setarg attop_read_by_group_type_response 
+5df3 e7e20005 istore 1 ,contw 
+5df4 6fe204af fetch 1 ,mem_le_curr_att_len 
+5df5 1fe0fe04 increase 4 ,pdata 
+5df6 e7e20005 istore 1 ,contw 
+5df7 20407c7d call store_contw 
+5df8 20205dff branch le_send_att_read_by_group_type_store_record 
+
+le_send_att_read_by_group_type_store_write_record:
+5df9 6fe204af fetch 1 ,mem_le_curr_att_len 
+5dfa c0085e08 beq 16 ,le_send_att_read_by_group_type_end1 
+5dfb 6fe40a9e fetch 2 ,mem_temp 
+5dfc 1fe0ffff increase -1 ,pdata 
+5dfd 67e4049c store 2 ,mem_le_cur_handle_end 
+5dfe 20405e7c call le_write_att_record 
+
+le_send_att_read_by_group_type_store_record:
+5dff 6fe40a9e fetch 2 ,mem_temp 
+5e00 67e4049a store 2 ,mem_le_cur_handle_start 
+5e01 20405e77 call le_store_att_record 
+5e02 196097ff increase -1 ,timeup 
+
+le_send_att_read_by_group_type_next_handle:
+5e03 20405e64 call le_att_next_handle 
+5e04 20205de5 branch le_send_att_read_by_group_type_response_loop 
+
+le_send_att_read_by_group_type_end0:
+5e05 6fe40a9e fetch 2 ,mem_temp 
+5e06 67e4049c store 2 ,mem_le_cur_handle_end 
+5e07 20205e0c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end1:
+5e08 6fe40a9e fetch 2 ,mem_temp 
+5e09 1fe0ffff increase -1 ,pdata 
+5e0a 67e4049c store 2 ,mem_le_cur_handle_end 
+5e0b 20205e0c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end_common:
+5e0c 20345e56 branch le_send_att_error_response_notfound ,user 
+5e0d 20405e7c call le_write_att_record 
+5e0e 20205e85 branch le_send_auto_len_by_mem 
+
+le_parse_att_write_request:
+5e0f 18c22200 copy contr ,rega 
+5e10 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5e11 1fe0a5fd add pdata ,-3 ,regb 
+5e12 20405abe call le_writeatt_cb 
+
+le_send_att_write_response_check_auth:
+5e13 6fe244bb fetch 1 ,mem_le_configuration 
+5e14 c3025e1d bbit0 bit_ble_write_auth ,le_send_att_write_response 
+5e15 68440474 fetcht 2 ,mem_le_att_handle 
+5e16 6fe444cc fetch 2 ,mem_le_pairing_handle 
+5e17 98467c00 isub temp ,null 
+5e18 2422de1d nbranch le_send_att_write_response ,zero 
+5e19 20405e22 call le_check_encrypt_state 
+5e1a 24345e1d nbranch le_send_att_write_response ,user 
+5e1b 70047605 jam att_err_insufficient_authentication ,mem_le_err_code 
+5e1c 20205e57 branch le_send_att_error_response 
+
+le_send_att_write_response:
+5e1d 18002201 force 1 ,rega 
+5e1e 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5e1f 58000013 setarg attop_write_response 
+5e20 e7e20005 istore 1 ,contw 
+5e21 20600000 rtn 
+
+le_check_encrypt_state:
+5e22 20407dc1 call disable_user 
+5e23 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5e24 c1000000 rtneq le_pairing_mode_none 
+5e25 6fe24040 fetch 1 ,mem_context 
+5e26 c3820000 rtnbit1 lestate_encryption 
+5e27 20207dbf branch enable_user 
+
+le_parse_att_prepare_write_request:
+5e28 18c0a202 add contr ,2 ,rega 
+5e29 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5e2a 1fe0a5fb add pdata ,-5 ,regb 
+5e2b 20405abe call le_writeatt_cb 
+5e2c 20205e2d branch le_send_att_prepare_write_response 
+
+le_send_att_prepare_write_response:
+5e2d 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5e2e 1fe22200 copy pdata ,rega 
+5e2f 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5e30 58000017 setarg attop_prepare_write_response 
+5e31 e7e20005 istore 1 ,contw 
+5e32 6fe40474 fetch 2 ,mem_le_att_handle 
+5e33 e7e40005 istore 2 ,contw 
+5e34 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5e35 1fe0f3fb add pdata ,-5 ,loopcnt 
+5e36 6fe444df fetch 2 ,mem_le_payload_ptr 
+5e37 1fe08c07 add pdata ,7 ,contr 
+5e38 efe40006 ifetch 2 ,contr 
+5e39 e7e40005 istore 2 ,contw 
+5e3a 20207ccf branch memcpy_fast 
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+5e3b 18002201 force 1 ,rega 
+5e3c 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5e3d 58000019 setarg attop_execute_write_response 
+5e3e e7e20005 istore 1 ,contw 
+5e3f 20600000 rtn 
+
+le_parse_att_write_command:
+5e40 18c22200 copy contr ,rega 
+5e41 6fe444ce fetch 2 ,mem_le_l2cap_size 
+5e42 1fe0a5fd add pdata ,-3 ,regb 
+5e43 20205abe branch le_writeatt_cb 
+
+le_att_malloc_tx_notify:
+5e44 18422600 copy temp ,regc 
+5e45 1a20a203 increase 3 ,rega 
+5e46 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5e47 1a20a3fd increase -3 ,rega 
+5e48 5800001b setarg attop_handle_value_notification 
+5e49 e7e20005 istore 1 ,contw 
+5e4a 1a620400 copy regc ,temp 
+5e4b e0440005 istoret 2 ,contw 
+5e4c 20600000 rtn 
+
+le_att_malloc_tx_indication:
+5e4d 18422600 copy temp ,regc 
+5e4e 1a20a203 increase 3 ,rega 
+5e4f 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5e50 1a20a3fd increase -3 ,rega 
+5e51 5800001d setarg attop_handle_value_indication 
+5e52 e7e20005 istore 1 ,contw 
+5e53 1a620400 copy regc ,temp 
+5e54 e0440005 istoret 2 ,contw 
+5e55 20600000 rtn 
+
+le_send_att_error_response_notfound:
+5e56 7004760a jam att_err_attribute_not_found ,mem_le_err_code 
+
+le_send_att_error_response:
+5e57 18002205 force 5 ,rega 
+5e58 20405e62 call le_fifo_malloc_tx_l2cap_gatt 
+5e59 58000001 setarg attop_error_response 
+5e5a e7e20005 istore 1 ,contw 
+5e5b 6fe20473 fetch 1 ,mem_le_att_opcode 
+5e5c e7e20005 istore 1 ,contw 
+5e5d 6fe40474 fetch 2 ,mem_le_att_handle 
+5e5e e7e40005 istore 2 ,contw 
+5e5f 6fe20476 fetch 1 ,mem_le_err_code 
+5e60 e7e20005 istore 1 ,contw 
+5e61 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_gatt:
+5e62 18002404 force le_l2cap_cid_att ,regb 
+5e63 20205c27 branch le_fifo_malloc_tx_l2cap 
+
+le_att_next_handle:
+5e64 68440a9e fetcht 2 ,mem_temp 
+5e65 18408401 increase 1 ,temp 
+5e66 60440a9e storet 2 ,mem_temp 
+5e67 20600000 rtn 
+
+le_att_check_handle_end:
+5e68 68440a9e fetcht 2 ,mem_temp 
+5e69 6fe4442e fetch 2 ,mem_le_search_handle_end 
+5e6a 98467c00 isub temp ,null 
+5e6b 20600000 rtn 
+
+le_att_same_type:
+5e6c 68424430 fetcht 1 ,mem_le_search_att_type_length 
+5e6d da204431 arg mem_le_search_att_type ,rega 
+
+le_att_check_same_common:
+5e6e 6fe2049e fetch 1 ,mem_le_cur_uuid_length 
+5e6f 1fe27200 copy pdata ,loopcnt 
+5e70 98467c00 isub temp ,null 
+5e71 24628000 nrtn zero 
+5e72 da40049f arg mem_le_cur_uuid ,regb 
+5e73 20207d63 branch string_compare 
+
+le_att_same_uuid:
+5e74 68424443 fetcht 1 ,mem_le_search_uuid_length 
+5e75 da204444 arg mem_le_search_uuid ,rega 
+5e76 20205e6e branch le_att_check_same_common 
+
+le_store_att_record:
+5e77 6fe204af fetch 1 ,mem_le_curr_att_len 
+5e78 67e200ff store 1 ,mem_tmp_buffer 
+5e79 1fe27200 copy pdata ,loopcnt 
+5e7a 20407c7a call get_contr 
+5e7b 20207ccf branch memcpy_fast 
+
+le_write_att_record:
+5e7c 20407c77 call get_contw 
+5e7d 6fe4049a fetch 2 ,mem_le_cur_handle_start 
+5e7e e7e40005 istore 2 ,contw 
+5e7f 6fe4049c fetch 2 ,mem_le_cur_handle_end 
+5e80 e7e40005 istore 2 ,contw 
+
+le_write_att_record_common:
+5e81 6fe200ff fetch 1 ,mem_tmp_buffer 
+5e82 1fe27200 copy pdata ,loopcnt 
+5e83 20407ccf call memcpy_fast 
+5e84 20207c7d branch store_contw 
+
+le_send_auto_len_by_mem:
+5e85 20407c77 call get_contw 
+5e86 20405c6a call le_fifo_get_last_att_ptr 
+5e87 18a27e00 copy contw ,pdata 
+5e88 98c62200 isub contr ,rega 
+5e89 20405c6d call le_fifo_get_last_l2cap_ptr 
+5e8a 1a227e00 copy rega ,pdata 
+5e8b e7e40006 istore 2 ,contr 
+5e8c 1a20a204 increase 4 ,rega 
+5e8d 20405c59 call le_fifo_get_last_tx_ptr 
+5e8e 1a227e00 copy rega ,pdata 
+5e8f e7e20006 istore 1 ,contr 
+5e90 20600000 rtn 
+
+le_get_search_handle_start_end_common:
+5e91 1fecfe00 rshift8 pdata ,pdata 
+5e92 67e4442c store 2 ,mem_le_search_handle_start 
+5e93 efe40006 ifetch 2 ,contr 
+5e94 67e4442e store 2 ,mem_le_search_handle_end 
+5e95 20600000 rtn 
+
+le_parse_signaling:
+5e96 efe20006 ifetch 1 ,contr 
+5e97 e8420006 ifetcht 1 ,contr 
+5e98 e8440006 ifetcht 2 ,contr 
+5e99 c009de9b beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+5e9a 20600000 rtn 
+
+le_l2cap_parse_conn_parameter_update_rsp:
+5e9b efe40006 ifetch 2 ,contr 
+5e9c 67e444db store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+5e9d 700a9540 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+5e9e 20207bab branch ui_ipc_send_event 
+
+le_l2cap_tx_update_req:
+5e9f da20000c arg 0x0c ,rega 
+5ea0 da600012 arg l2cap_connection_parameter_update_request ,regc 
+5ea1 20405ea7 call le_fifo_malloc_tx_l2cap_signaling 
+5ea2 58000008 setarg 0x08 
+5ea3 e7e40005 istore 2 ,contw 
+5ea4 6ff04468 fetch 8 ,mem_le_interval_min 
+5ea5 e7f00005 istore 8 ,contw 
+5ea6 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_signaling:
+5ea7 20405eaf call le_l2cap_update_signaling_identifier 
+5ea8 da400005 arg le_l2cap_cid_signal ,regb 
+5ea9 20405c27 call le_fifo_malloc_tx_l2cap 
+5eaa 1a627e00 copy regc ,pdata 
+5eab e7e20005 istore 1 ,contw 
+5eac 6fe244da fetch 1 ,mem_le_signaling_identifier 
+5ead e7e20005 istore 1 ,contw 
+5eae 20600000 rtn 
+
+le_l2cap_update_signaling_identifier:
+5eaf 6fe244da fetch 1 ,mem_le_signaling_identifier 
+5eb0 1fe0fe01 pincrease 1 
+5eb1 67e244da store 1 ,mem_le_signaling_identifier 
+5eb2 c1800000 rtnne 0 
+
+le_l2cap_reset_signaling_identifier:
+5eb3 7044da01 jam 1 ,mem_le_signaling_identifier 
+5eb4 20600000 rtn 
+
+le_pairing_mode_init:
+5eb5 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5eb6 c0005ec4 beq le_pairing_mode_none ,le_set_no_pairing 
+5eb7 c000dec7 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+5eb8 c0015ec9 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+5eb9 c040debd beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+5eba c0415ebf beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+5ebb c041dec2 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+5ebc 20600000 rtn 
+
+le_set_pairing_mode_secure_justwork:
+5ebd 7044280d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ebe 20205ec5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_secure_numeric:
+5ebf 7044280d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ec0 70442601 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+5ec1 20600000 rtn 
+
+le_set_pairing_mode_secure_passkey:
+5ec2 7044280d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ec3 20205eca branch le_set_displayonly 
+
+le_set_no_pairing:
+5ec4 70442800 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+le_set_noinputnooutput:
+5ec5 70442603 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+5ec6 20600000 rtn 
+
+le_set_pairing_mode_lagacy_just_work:
+5ec7 70442805 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+5ec8 20205ec5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_lagacy_passkey:
+5ec9 70442805 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+le_set_displayonly:
+5eca 70442600 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+5ecb 20600000 rtn 
+
+le_secure_connection_enable:
+5ecc 6fe24428 fetch 1 ,mem_le_pres_auth 
+5ecd 79207e03 set1 le_auth_secure_connection_pairing_bit ,pdata 
+5ece 67e24428 store 1 ,mem_le_pres_auth 
+5ecf 20600000 rtn 
+
+le_secure_connection_disable:
+5ed0 6fe24428 fetch 1 ,mem_le_pres_auth 
+5ed1 793ffe03 set0 le_auth_secure_connection_pairing_bit ,pdata 
+5ed2 67e24428 store 1 ,mem_le_pres_auth 
+5ed3 20600000 rtn 
+
+le_parse_smp:
+5ed4 efe20006 ifetch 1 ,contr 
+5ed5 c000dee9 beq smp_pairing_request ,le_parse_smp_pairing_request 
+5ed6 c001df10 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+5ed7 c0025f2d beq smp_pairing_random ,le_parse_smp_pairing_random 
+5ed8 c002df3a beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+5ed9 c0035f60 beq smp_encryption_information ,le_parse_smp_encryption_information 
+5eda c003dfa4 beq smp_master_identification ,le_parse_smp_master_identification 
+5edb c0045f8f beq smp_identity_information ,le_parse_smp_identity_information 
+5edc c004dfa0 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+5edd c0055fa4 beq smp_signing_information ,le_parse_smp_signing_information 
+5ede c005dfa4 beq smp_security_request ,le_parse_smp_security_request 
+5edf c0065fa5 beq smp_pairing_public_key ,le_parse_smp_public_key 
+5ee0 c006dfaa beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+5ee1 20600000 rtn 
+
+le_send_smp_security_request:
+5ee2 18002202 force 2 ,rega 
+5ee3 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5ee4 5800000b setarg smp_security_request 
+5ee5 e7e20005 istore 1 ,contw 
+5ee6 6fe24428 fetch 1 ,mem_le_pres_auth 
+5ee7 e7e20005 istore 1 ,contw 
+5ee8 20600000 rtn 
+
+le_parse_smp_pairing_request:
+5ee9 67e2441e store 1 ,mem_le_preq 
+5eea efec0006 ifetch 6 ,contr 
+5eeb e7ec0005 istore 6 ,contw 
+5eec 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5eed c0005f3f beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+5eee 20405f0b call le_send_smp_pairing_response 
+5eef 20405f06 call le_check_master_support_secure_connect 
+5ef0 70449603 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+5ef1 6fe2441f fetch 1 ,mem_le_preq_iocap 
+5ef2 c0005ef8 beq flag_iocap_displayonly ,le_set_tk_0 
+5ef3 c000def8 beq flag_iocap_displayyesno ,le_set_tk_0 
+5ef4 c001def8 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+5ef5 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5ef6 c0015efb beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+5ef7 c1418000 rtneq le_pairing_mode_secure_connect_passkey 
+
+le_set_tk_0:
+5ef8 dfe00000 arg 0 ,pdata 
+5ef9 67e84499 store 4 ,mem_le_tk 
+5efa 20600000 rtn 
+
+le_parse_smp_pairing_req_passkey:
+5efb 6fe244bb fetch 1 ,mem_le_configuration 
+5efc c2805f04 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+
+le_genernate_tk:
+5efd da204499 arg mem_le_tk ,rega 
+5efe 1a220a00 copy rega ,contw 
+5eff df200003 arg 3 ,loopcnt 
+5f00 204066ef call generate_random_loop 
+5f01 6fe4449b fetch 2 ,mem_le_tk + 2 
+5f02 1fe17e07 and_into 0x7 ,pdata 
+5f03 67e4449b store 2 ,mem_le_tk + 2 
+
+le_parse_smp_pairing_req_fixed_passkey:
+5f04 700a9534 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+5f05 20207bab branch ui_ipc_send_event 
+
+le_check_master_support_secure_connect:
+5f06 6fe24421 fetch 1 ,mem_le_preq_auth 
+5f07 c3818000 rtnbit1 le_auth_secure_connection_pairing_bit 
+5f08 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5f09 c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5f0a 20204d7d branch app_ble_disconnect 
+
+le_send_smp_pairing_response:
+5f0b 18002207 force 7 ,rega 
+5f0c 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f0d 6fee4425 fetch 7 ,mem_le_pres 
+5f0e e7ee0005 istore 7 ,contw 
+5f0f 20600000 rtn 
+
+le_parse_smp_pairing_confirm:
+5f10 18c22200 copy contr ,rega 
+5f11 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5f12 c041df17 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+5f13 1a220c00 copy rega ,contr 
+5f14 d8a043fc arg mem_le_rconfirm ,contw 
+5f15 20407c9a call memcpy16 
+5f16 20205f1d branch le_send_smp_pairing_confirm 
+
+le_parse_smp_pairing_confirm_secure_passkey:
+5f17 1a220c00 copy rega ,contr 
+5f18 d8a043fc arg mem_le_rconfirm ,contw 
+5f19 20407c9a call memcpy16 
+5f1a 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5f1b 70449308 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+5f1c 20600000 rtn 
+
+le_send_smp_pairing_confirm:
+5f1d 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5f1e c283df25 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+5f1f 20407252 call generate_confirm 
+5f20 18002211 force 17 ,rega 
+5f21 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f22 58000003 setarg smp_pairing_confirm 
+5f23 e7e20005 istore 1 ,contw 
+5f24 2020734c branch store_aes_result 
+
+le_send_smp_pairing_confirm_sc:
+5f25 d8a0440c arg mem_le_srand ,contw 
+5f26 204066ee call generate_random 
+5f27 20407084 call function_f4_cb 
+5f28 18002211 force 17 ,rega 
+5f29 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f2a 58000003 setarg smp_pairing_confirm 
+5f2b e7e20005 istore 1 ,contw 
+5f2c 202070c0 branch load_inverse_result 
+
+le_parse_smp_pairing_random:
+5f2d 18c22200 copy contr ,rega 
+5f2e 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5f2f c283df41 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+5f30 1a220c00 copy rega ,contr 
+5f31 2040724a call authenticate_rconfirm 
+5f32 2022df55 branch le_parse_smp_pairing_random_success ,zero 
+
+le_send_pairing_confirm_value_failed:
+5f33 70047704 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+
+le_send_pairing_failed:
+5f34 18002202 force 2 ,rega 
+5f35 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f36 58000005 setarg smp_pairing_failed 
+5f37 e7e20005 istore 1 ,contw 
+5f38 6fe20477 fetch 1 ,mem_le_ll_pairing_fail_reason 
+5f39 e7e20005 istore 1 ,contw 
+
+le_parse_smp_pairing_failed:
+5f3a 18000e0a force smp_pairing_timer ,queue 
+5f3b 20407ce2 call timer_stop 
+5f3c 70449600 jam flag_le_pairing_null ,mem_le_pairing_state 
+5f3d 700a9530 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+5f3e 20207bab branch ui_ipc_send_event 
+
+le_smp_pairing_fail_reason_not_support_pairing:
+5f3f 70047705 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+5f40 20205f34 branch le_send_pairing_failed 
+
+le_parse_smp_pairing_random_sc:
+5f41 d8a0042b arg mem_le_mrand ,contw 
+5f42 1a220c00 copy rega ,contr 
+5f43 20407c9a call memcpy16 
+5f44 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5f45 c041df4c beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+5f46 2040700e call function_g2 
+5f47 20405f5a call le_send_smp_pairing_random 
+5f48 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5f49 c1c10000 rtnne le_pairing_mode_secure_connect_numeric 
+5f4a 700a953b jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+5f4b 20207bab branch ui_ipc_send_event 
+
+le_parse_smp_pairing_random_sc_passkey:
+5f4c 20407079 call function_f4_ca 
+5f4d d8a00aee arg mem_aes_cmac_temp ,contw 
+5f4e 204070c0 call load_inverse_result 
+5f4f da200aee arg mem_aes_cmac_temp ,rega 
+5f50 da4043fc arg mem_le_rconfirm ,regb 
+5f51 df200010 arg 16 ,loopcnt 
+5f52 20407d63 call string_compare 
+5f53 2422df33 nbranch le_send_pairing_confirm_value_failed ,zero 
+5f54 20205f5a branch le_send_smp_pairing_random 
+
+le_parse_smp_pairing_random_success:
+5f55 20407246 call generate_stk 
+5f56 700a9531 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+5f57 20407bab call ui_ipc_send_event 
+5f58 7043fb01 jam 1 ,mem_ltk_exists 
+5f59 70449605 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+
+le_send_smp_pairing_random:
+5f5a 18002211 force 17 ,rega 
+5f5b 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f5c 58000004 setarg smp_pairing_random 
+5f5d e7e20005 istore 1 ,contw 
+5f5e d8c0440c arg mem_le_srand ,contr 
+5f5f 20207c9a branch memcpy16 
+
+le_parse_smp_encryption_information:
+5f60 d8a0041b arg mem_le_peer_ltk ,contw 
+5f61 20207c9a branch memcpy16 
+
+le_send_smp_encryption_information:
+5f62 18002211 force 17 ,rega 
+5f63 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f64 58000006 setarg smp_encryption_information 
+5f65 e7e20005 istore 1 ,contw 
+5f66 6fe244bb fetch 1 ,mem_le_configuration 
+5f67 c280df6a bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+5f68 d8c043eb arg mem_le_ltk ,contr 
+5f69 20207c9a branch memcpy16 
+
+le_send_fixed_ltk:
+5f6a d8c044bc arg mem_le_fixed_ltk ,contr 
+5f6b 20207c9a branch memcpy16 
+
+le_send_smp_master_identification:
+5f6c d8a0449d arg mem_le_ediv ,contw 
+5f6d 1800720a force 10 ,loopcnt 
+5f6e 204066ef call generate_random_loop 
+5f6f 1800220b force 11 ,rega 
+5f70 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f71 58000007 setarg smp_master_identification 
+5f72 e7e20005 istore 1 ,contw 
+5f73 6fe4449d fetch 2 ,mem_le_ediv 
+5f74 e7e40005 istore 2 ,contw 
+5f75 6ff0449f fetch 8 ,mem_le_rand 
+5f76 e7f00005 istore 8 ,contw 
+5f77 20600000 rtn 
+
+le_send_smp_identity_information:
+5f78 18002211 force 17 ,rega 
+5f79 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f7a 58000008 setarg smp_identity_information 
+5f7b e7e20005 istore 1 ,contw 
+5f7c 58000000 setarg 0 
+5f7d e7f00005 istore 8 ,contw 
+5f7e e7f00005 istore 8 ,contw 
+5f7f 20600000 rtn 
+
+le_send_smp_identity_address_information:
+5f80 18002208 force 8 ,rega 
+5f81 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5f82 58000009 setarg smp_identity_address_information 
+5f83 e7e20005 istore 1 ,contw 
+5f84 6fe24467 fetch 1 ,mem_le_conn_own_addr_type 
+5f85 e7e20005 istore 1 ,contw 
+5f86 6fec4472 fetch 6 ,mem_le_lap 
+5f87 e7ec0005 istore 6 ,contw 
+5f88 20600000 rtn 
+
+le_send_pairing_fail_unspecified_reason:
+5f89 70047708 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+5f8a 20205f34 branch le_send_pairing_failed 
+
+le_check_init_key_distribution:
+5f8b 6fe2442a fetch 1 ,mem_le_pres_init_key_distribution 
+5f8c 6842442a fetcht 1 ,mem_le_pres_init_key_distribution 
+5f8d 98417e00 iand temp ,pdata 
+5f8e 20600000 rtn 
+
+le_parse_smp_identity_information:
+5f8f d8a044a7 arg mem_le_irk ,contw 
+5f90 20407c9a call memcpy16 
+5f91 20405f8b call le_check_init_key_distribution 
+5f92 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5f93 2020df89 branch le_send_pairing_fail_unspecified_reason ,true 
+5f94 6fe24092 fetch 1 ,mem_device_option 
+5f95 c1850000 rtnne dvc_op_module 
+5f96 20405f99 call le_check_master_addr_type 
+5f97 24740000 nrtn user 
+5f98 20204d8b branch app_ble_store_reconn_info 
+
+le_check_master_addr_type:
+5f99 20407dc1 call disable_user 
+5f9a 6fe24460 fetch 1 ,mem_le_conn_peer_addr_type 
+5f9b c1000000 rtneq master_public_addr 
+5f9c 6fe20450 fetch 1 ,mem_le_plap + 5 
+5f9d 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+5f9e 20608000 rtn true 
+5f9f 20207dbf branch enable_user 
+
+le_parse_smp_identity_address_information:
+5fa0 20405f8b call le_check_init_key_distribution 
+5fa1 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5fa2 2020df89 branch le_send_pairing_fail_unspecified_reason ,true 
+5fa3 20600000 rtn 
+
+le_parse_smp_master_identification:
+
+le_parse_smp_signing_information:
+
+le_parse_smp_security_request:
+5fa4 20600000 rtn 
+
+le_parse_smp_public_key:
+5fa5 d8a009ba arg mem_le_pubkey_remote_x_256 ,contw 
+5fa6 20407c8e call memcpy64 
+5fa7 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5fa8 70449301 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+5fa9 20600000 rtn 
+
+le_parse_smp_dhkey_check:
+5faa d8a00a6a arg mem_sp_confirm_remote ,contw 
+5fab 20407c9a call memcpy16 
+5fac 70449306 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+5fad 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5fae 20600000 rtn 
+
+le_send_smp_pairing_public_key:
+5faf 18002241 force 65 ,rega 
+5fb0 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5fb1 5800000c setarg smp_pairing_public_key 
+5fb2 e7e20005 istore 1 ,contw 
+5fb3 d8c045a4 arg mem_le_pubkey_local_x_256 ,contr 
+5fb4 20207c8e branch memcpy64 
+
+le_send_smp_pairing_dhkey_check:
+5fb5 20407025 call function_f6_eb 
+5fb6 18002211 force 17 ,rega 
+5fb7 20406042 call le_fifo_malloc_tx_l2cap_smp 
+5fb8 5800000d setarg smp_pairing_dhkey_check 
+5fb9 e7e20005 istore 1 ,contw 
+5fba 202070c0 branch load_inverse_result 
+
+le_check_paring_time:
+5fbb 6fe24496 fetch 1 ,mem_le_pairing_state 
+5fbc c17f8000 rtneq flag_le_pairing_end 
+5fbd d8400003 arg flag_le_pairing_rcv_pairing_req ,temp 
+5fbe 98467c00 isub temp ,null 
+5fbf 24610000 nrtn positive 
+5fc0 d8e0000a arg smp_pairing_timer ,queue 
+5fc1 20407cf1 call timer_check 
+5fc2 247a0000 nrtn blank 
+5fc3 20205f89 branch le_send_pairing_fail_unspecified_reason 
+
+le_pairing_sm:
+5fc4 4719c026 bpatchx patch26_3 ,mem_patch26 
+5fc5 6fe24496 fetch 1 ,mem_le_pairing_state 
+5fc6 c0005fcf beq flag_le_pairing_null ,le_pairing_sm_null 
+5fc7 c000dfd5 beq flag_le_pairing_start ,le_pairing_sm_start 
+5fc8 c0015fcf beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+5fc9 c001dfd7 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+5fca c002dfdb beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+5fcb c003dfe7 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+5fcc c0045fe9 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+5fcd c004dff0 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+5fce 20600000 rtn 
+
+le_pairing_sm_null:
+
+le_pairing_sm_send_sec_req:
+5fcf 6fe24497 fetch 1 ,mem_le_enc_state 
+5fd0 c1820000 rtnne flag_le_send_start_enc_rsp 
+5fd1 704497ff jam flag_le_enc_end ,mem_le_enc_state 
+5fd2 704496ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5fd3 700a953f jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+5fd4 20207bab branch ui_ipc_send_event 
+
+le_pairing_sm_start:
+5fd5 70449602 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+5fd6 20205ee2 branch le_send_smp_security_request 
+
+le_pairing_sm_rcv_pairing_req:
+5fd7 70449604 jam flag_le_pairing_auth ,mem_le_pairing_state 
+5fd8 58017700 setarg timer_smp_pairing_timeout 
+5fd9 d8e0000a arg smp_pairing_timer ,queue 
+5fda 20207ce3 branch timer_init 
+
+le_pairing_sm_after_auth:
+5fdb 6fe24497 fetch 1 ,mem_le_enc_state 
+5fdc c0025fde beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+5fdd 20600000 rtn 
+
+le_pairing_sm_after_auth_start_enc:
+5fde 70449607 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+5fdf 700a9529 jam bt_evt_le_enc_info ,mem_fifo_temp 
+5fe0 20407bab call ui_ipc_send_event 
+5fe1 20405f62 call le_send_smp_encryption_information 
+5fe2 6fe24092 fetch 1 ,mem_device_option 
+5fe3 c1850000 rtnne dvc_op_module 
+5fe4 20405f99 call le_check_master_addr_type 
+5fe5 20740000 rtn user 
+5fe6 20204d8b branch app_ble_store_reconn_info 
+
+le_pairng_sm_send_enc_information:
+5fe7 70449608 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+5fe8 20205f6c branch le_send_smp_master_identification 
+
+le_pairng_sm_send_master_indentification:
+5fe9 6fe24424 fetch 1 ,mem_le_preq_resp_key_distribution 
+5fea 6842442b fetcht 1 ,mem_le_pres_resp_key_distribution 
+5feb 98417e00 iand temp ,pdata 
+5fec 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5fed 2020dff2 branch le_parse_start_enc_rsp_after_auth_end ,true 
+5fee 70449609 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+5fef 20205f78 branch le_send_smp_identity_information 
+
+le_pairng_sm_send_indentity_information:
+5ff0 20405f80 call le_send_smp_identity_address_information 
+5ff1 20205ff2 branch le_parse_start_enc_rsp_after_auth_end 
+
+le_parse_start_enc_rsp_after_auth_end:
+5ff2 18000e0a force smp_pairing_timer ,queue 
+5ff3 20407ce2 call timer_stop 
+5ff4 704497ff jam flag_le_enc_end ,mem_le_enc_state 
+5ff5 704496ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5ff6 700a953e jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+5ff7 20207bab branch ui_ipc_send_event 
+
+le_secure_connect_sm:
+5ff8 471a4026 bpatchx patch26_4 ,mem_patch26 
+5ff9 6fe24498 fetch 1 ,mem_le_pairing_mode 
+5ffa c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5ffb 6fe24491 fetch 1 ,mem_le_secure_connect_flag 
+5ffc c1810000 rtnne le_sp_flag_commit_256 
+5ffd 70449100 jam sp_flag_standby ,mem_le_secure_connect_flag 
+5ffe 6fe24493 fetch 1 ,mem_le_secure_connect_state 
+5fff c000e038 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+6000 c001603f beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+6001 c001e032 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+6002 c0036019 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+6003 c003e010 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+6004 c0046006 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+6005 20600000 rtn 
+
+le_sc_sm_passkey_wait_confirm:
+6006 6fe24635 fetch 1 ,mem_authentication_passkey_times 
+6007 1fe20e00 copy pdata ,queue 
+6008 1fe0fe01 increase 1 ,pdata 
+6009 67e24635 store 1 ,mem_authentication_passkey_times 
+600a 6fe84499 fetch 4 ,mem_le_tk 
+600b afefffff qisolate1 pdata 
+600c 58000080 setarg 0x80 
+600d 7920fe00 setflag true ,0 ,pdata 
+600e 67e24636 store 1 ,mem_passkey_1bit 
+600f 20206035 branch le_sc_sm_ready_send_pairing_confirm 
+
+le_sc_sm_wait_confirm_gkey:
+6010 6fe24494 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+6011 70449400 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+6012 c000e015 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+6013 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+6014 20600000 rtn 
+
+le_sc_confirm_gkey_ok:
+6015 700a9531 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+6016 20407bab call ui_ipc_send_event 
+6017 70449605 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+6018 20205fb5 branch le_send_smp_pairing_dhkey_check 
+
+le_sc_sm_receive_dhkey:
+6019 6fe209b5 fetch 1 ,mem_sp_dhkey_invalid 
+601a c001e01d beq sp_key_valid_256 ,le_dhkey_ready 
+601b 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+601c 20600000 rtn 
+
+le_dhkey_ready:
+601d 2040704c call function_f5 
+601e 6fe24498 fetch 1 ,mem_le_pairing_mode 
+601f c041e021 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+6020 20405ef8 call le_set_tk_0 
+
+le_dhkey_ready_common:
+6021 20407039 call function_f6_ea 
+6022 da200aee arg mem_aes_cmac_temp ,rega 
+6023 da400a6a arg mem_sp_confirm_remote ,regb 
+6024 df200010 arg 16 ,loopcnt 
+6025 20407d63 call string_compare 
+6026 2022e029 branch le_dhkey_check_ok ,zero 
+
+le_dhkey_check_fail:
+6027 7004770b jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+6028 20205f34 branch le_send_pairing_failed 
+
+le_dhkey_check_ok:
+6029 2040744a call sp_calc_check_publickey_256 
+602a 2422e027 nbranch le_dhkey_check_fail ,zero 
+602b 7043fb01 jam 1 ,mem_ltk_exists 
+602c 6fe24498 fetch 1 ,mem_le_pairing_mode 
+602d c040e015 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+602e c041e015 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+602f 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+6030 70449307 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+6031 20600000 rtn 
+
+le_sc_sm_send_public_key:
+6032 6fe24498 fetch 1 ,mem_le_pairing_mode 
+6033 c041e036 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+6034 70463600 jam 0 ,mem_passkey_1bit 
+
+le_sc_sm_ready_send_pairing_confirm:
+6035 20205f1d branch le_send_smp_pairing_confirm 
+
+le_sc_sm_send_public_key_passkey:
+6036 70463500 jam 0 ,mem_authentication_passkey_times 
+6037 20205efb branch le_parse_smp_pairing_req_passkey 
+
+le_sc_sm_receive_public_key:
+6038 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+6039 6fe24495 fetch 1 ,mem_le_sc_local_key_invalid 
+603a c001e03c beq sp_key_valid_256 ,le_public_key_ready 
+603b 20600000 rtn 
+
+le_public_key_ready:
+603c 70449302 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+603d 7009b500 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+603e 2020794e branch sp_dhkey_calc_256 
+
+le_sc_sm_wait_send_public_key:
+603f 70449102 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+6040 70449303 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+6041 20205faf branch le_send_smp_pairing_public_key 
+
+le_fifo_malloc_tx_l2cap_smp:
+6042 18002406 force le_l2cap_cid_smp ,regb 
+6043 20205c27 branch le_fifo_malloc_tx_l2cap 
+
+le_parse_ll:
+6044 471ac026 bpatchx patch26_5 ,mem_patch26 
+6045 6fe202d7 fetch 1 ,mem_le_rxbuf + 2 
+6046 c000605c beq ll_connection_update_req ,le_parse_connection_update_req 
+6047 c000e064 beq ll_channel_map_req ,le_parse_channel_map_req 
+6048 c001606f beq ll_terminate_ind ,le_parse_terminate_ind 
+6049 c001e08b beq ll_enc_req ,le_parse_enc_req 
+604a c00260c2 beq ll_enc_rsp ,le_parse_enc_rsp 
+604b c002e0c7 beq ll_start_enc_req ,le_parse_start_enc_req 
+604c c00360cb beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+604d c003e0d6 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+604e c004607a beq ll_feature_req ,le_parse_feature_req 
+604f c004e0d6 beq ll_feature_rsp ,le_parse_feature_rsp 
+6050 c00560d0 beq ll_pause_enc_req ,le_parse_pause_enc_req 
+6051 c005e0d6 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+6052 c0066080 beq ll_version_ind ,le_parse_version_ind 
+6053 c006e0d6 beq ll_reject_ind ,le_parse_reject_ind 
+6054 c0096087 beq ll_ping_req ,le_parse_ping_req 
+6055 c009e0d6 beq ll_ping_rsp ,le_parse_ping_rsp 
+6056 da200002 arg 2 ,rega 
+6057 da400007 arg ll_unknown_rsp ,regb 
+6058 20405c22 call le_fifo_malloc_tx_ll 
+6059 6fe202d7 fetch 1 ,mem_le_rxbuf + 2 
+605a e7e20005 istore 1 ,contw 
+605b 20600000 rtn 
+
+le_parse_connection_update_req:
+605c eff20006 ifetch 9 ,contr 
+605d 67f243a5 store 9 ,mem_le_new_param 
+605e efe40006 ifetch 2 ,contr 
+605f 67e4045b store 2 ,mem_le_instant 
+6060 6fe2043b fetch 1 ,mem_le_state 
+6061 79207e05 set1 lestate_update_param ,pdata 
+6062 67e2043b store 1 ,mem_le_state 
+6063 20600000 rtn 
+
+le_parse_channel_map_req:
+6064 efea0006 ifetch 5 ,contr 
+6065 67ea43a0 store 5 ,mem_le_new_map 
+6066 efe40006 ifetch 2 ,contr 
+6067 67e4045b store 2 ,mem_le_instant 
+6068 68440455 fetcht 2 ,mem_le_event_count 
+6069 98467c00 isub temp ,null 
+606a 2421606f nbranch le_parse_terminate_ind ,positive 
+606b 6fe2043b fetch 1 ,mem_le_state 
+606c 79207e06 set1 lestate_update_map ,pdata 
+606d 67e2043b store 1 ,mem_le_state 
+606e 20600000 rtn 
+
+le_parse_terminate_ind:
+606f 58000014 setarg 20 
+6070 67e40469 store 2 ,mem_le_superto 
+6071 67e4448c store 2 ,mem_le_init_superto 
+6072 20600000 rtn 
+
+le_send_terminate_ind_user_terminated:
+6073 da600013 arg error_remote_user_terminated_connection ,regc 
+
+le_send_terminate_ind:
+6074 da200002 arg 2 ,rega 
+6075 da400002 arg ll_terminate_ind ,regb 
+6076 20405c22 call le_fifo_malloc_tx_ll 
+6077 1a627e00 copy regc ,pdata 
+6078 e7e20005 istore 1 ,contw 
+6079 20600000 rtn 
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+607a da200009 arg 9 ,rega 
+607b da400009 arg ll_feature_rsp ,regb 
+607c 20405c22 call le_fifo_malloc_tx_ll 
+607d 58000001 setarg param_le_features 
+607e e7f00005 istore 8 ,contw 
+607f 20600000 rtn 
+
+le_parse_version_ind:
+6080 20748000 rtn master 
+
+le_send_version_ind:
+6081 da200006 arg 6 ,rega 
+6082 da40000c arg ll_version_ind ,regb 
+6083 20405c22 call le_fifo_malloc_tx_ll 
+6084 6fea44e2 fetch 5 ,mem_lmp_version 
+6085 e7ea0005 istore 5 ,contw 
+6086 20600000 rtn 
+
+le_parse_ping_req:
+6087 da400013 arg ll_ping_rsp ,regb 
+6088 20206089 branch le_send_ll_one_lenth 
+
+le_send_ll_one_lenth:
+6089 da200001 arg 1 ,rega 
+608a 20205c22 branch le_fifo_malloc_tx_ll 
+
+le_parse_enc_req:
+608b eff00006 ifetch 8 ,contr 
+608c 67f0449f store 8 ,mem_le_rand 
+608d efe40006 ifetch 2 ,contr 
+608e 67e4449d store 2 ,mem_le_ediv 
+608f eff00006 ifetch 8 ,contr 
+6090 67f0447c store 8 ,mem_le_skdm 
+6091 efe80006 ifetch 4 ,contr 
+6092 67e843e3 store 4 ,mem_le_ivm 
+6093 204060b0 call le_send_enc_rsp 
+6094 471b4026 bpatchx patch26_6 ,mem_patch26 
+6095 6fe24496 fetch 1 ,mem_le_pairing_state 
+6096 c002e09d beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+6097 6fe244bb fetch 1 ,mem_le_configuration 
+6098 c280e0a0 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+6099 6fe24216 fetch 1 ,mem_nv_data_number 
+609a 245a68b0 ncall load_device_list_mode_4 ,blank 
+609b 6fe243fb fetch 1 ,mem_ltk_exists 
+609c c00060a5 beq 0 ,le_ltk_lost 
+
+le_parse_enc_req_after_auth:
+609d 70449701 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+609e 204060be call le_send_start_enc_req 
+609f 20207258 branch generate_sk 
+
+le_parse_enc_req_fixed_ltk:
+60a0 7043fb01 jam 1 ,mem_ltk_exists 
+60a1 d8c044bc arg mem_le_fixed_ltk ,contr 
+60a2 d8a043eb arg mem_le_ltk ,contw 
+60a3 20407c9a call memcpy16 
+60a4 2020609d branch le_parse_enc_req_after_auth 
+
+le_ltk_lost:
+60a5 471bc026 bpatchx patch26_7 ,mem_patch26 
+60a6 70449700 jam flag_le_enc_null ,mem_le_enc_state 
+60a7 70449600 jam flag_le_enc_null ,mem_le_pairing_state 
+60a8 700a9541 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+60a9 20207bab branch ui_ipc_send_event 
+
+le_send_reject_ind:
+60aa da200002 arg 2 ,rega 
+60ab da40000d arg ll_reject_ind ,regb 
+60ac 20405c22 call le_fifo_malloc_tx_ll 
+60ad 58000006 setarg le_err_pin_or_key_missing 
+60ae e7e20005 istore 1 ,contw 
+60af 20600000 rtn 
+
+le_send_enc_rsp:
+60b0 d8a04484 arg mem_le_skds ,contw 
+60b1 18007208 force 8 ,loopcnt 
+60b2 204066ef call generate_random_loop 
+60b3 d8a043e7 arg mem_le_ivs ,contw 
+60b4 18007204 force 4 ,loopcnt 
+60b5 204066ef call generate_random_loop 
+60b6 da20000d arg 13 ,rega 
+60b7 da400004 arg ll_enc_rsp ,regb 
+60b8 20405c22 call le_fifo_malloc_tx_ll 
+60b9 6ff04484 fetch 8 ,mem_le_skds 
+60ba e7f00005 istore 8 ,contw 
+60bb 6fe843e7 fetch 4 ,mem_le_ivs 
+60bc e7e80005 istore 4 ,contw 
+60bd 20600000 rtn 
+
+le_send_start_enc_req:
+60be da400005 arg ll_start_enc_req ,regb 
+60bf 20206089 branch le_send_ll_one_lenth 
+
+le_send_start_enc_rsp:
+60c0 da400006 arg ll_start_enc_rsp ,regb 
+60c1 20206089 branch le_send_ll_one_lenth 
+
+le_parse_enc_rsp:
+60c2 eff00006 ifetch 8 ,contr 
+60c3 67f04484 store 8 ,mem_le_skds 
+60c4 efe80006 ifetch 4 ,contr 
+60c5 67e843e7 store 4 ,mem_le_ivs 
+60c6 20207258 branch generate_sk 
+
+le_parse_start_enc_req:
+60c7 6fe2043b fetch 1 ,mem_le_state 
+60c8 79207e04 set1 lestate_encryption ,pdata 
+60c9 67e2043b store 1 ,mem_le_state 
+60ca 20600000 rtn 
+
+le_parse_start_enc_rsp:
+60cb 20748000 rtn master 
+60cc 700a9532 jam bt_evt_le_start_enc ,mem_fifo_temp 
+60cd 20407bab call ui_ipc_send_event 
+60ce 70449704 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+60cf 202060c0 branch le_send_start_enc_rsp 
+
+le_parse_pause_enc_req:
+60d0 70449702 jam flag_le_enc_pause ,mem_le_enc_state 
+60d1 204060d4 call le_send_pause_enc_rsp 
+60d2 700a9533 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+60d3 20207bab branch ui_ipc_send_event 
+
+le_send_pause_enc_rsp:
+60d4 da40000b arg ll_pause_enc_rsp ,regb 
+60d5 20206089 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:
+60d6 20600000 rtn 
+
+init_lmp:
+60d7 20758000 rtn wake 
+
+init_lmp_work:
+60d8 471c4027 bpatchx patch27_0 ,mem_patch27 
+60d9 58000000 setarg 0 
+60da 67e20048 store 1 ,mem_lmp_to_send 
+60db 67e20055 store 1 ,mem_conn_sm 
+60dc 67e20078 store 1 ,mem_lmo_opcode1 
+60dd 67e2007c store 1 ,mem_lmo_opcode2 
+60de 67e24159 store 1 ,mem_esco_addr 
+60df 67e204d3 store 1 ,mem_auth_enable 
+60e0 67e2016b store 1 ,mem_connection_options 
+60e1 67e209b1 store 1 ,mem_pairing_auth 
+60e2 70452d00 jam switch_flag_init ,mem_switch_flag 
+60e3 70022700 jam 0 ,mem_switch_fail_master_count 
+60e4 7004d400 jam null_encryp ,mem_wait_encryption 
+
+init_lmp_reinit:
+60e5 7009b100 jam 0 ,mem_pairing_auth 
+60e6 7009b000 jam 0 ,mem_sp_localsm 
+60e7 7004cd00 jam 0 ,mem_lmp_conn_state 
+
+parse_rx_done:
+60e8 20600000 rtn 
+
+parse_lmp:
+60e9 471cc027 bpatchx patch27_1 ,mem_patch27 
+60ea 2054e6e1 call setlocalsm_master ,master 
+60eb 2454e6e5 ncall setlocalsm_slave ,master 
+60ec 2040669e call lmo_fifo_check 
+60ed 247a0000 nrtn blank 
+60ee 6fe2004c fetch 1 ,mem_state_map 
+60ef c4030000 rtnbit0 smap_rxlmp 
+60f0 793ffe06 set0 smap_rxlmp ,pdata 
+60f1 793f8001 set0 mark_rxbuf_inuse ,mark 
+60f2 67e2004c store 1 ,mem_state_map 
+60f3 6fe2054d fetch 1 ,mem_rxbuf 
+60f4 6842004c fetcht 1 ,mem_state_map 
+60f5 2feffe00 isolate1 smap_lmptidinit ,pdata 
+60f6 79208401 setflag true ,smap_lmptid ,temp 
+60f7 6042004c storet 1 ,mem_state_map 
+60f8 18410402 and_into 0x2 ,temp 
+60f9 6042007f storet 1 ,mem_lmo_tid2 
+60fa 6842004c fetcht 1 ,mem_state_map 
+60fb 1fe37e00 rshift pdata ,pdata 
+60fc 67e2007d store 1 ,mem_lmi_opcode2 
+60fd 471d4027 bpatchx patch27_2 ,mem_patch27 
+60fe 6fe2007d fetch 1 ,mem_lmi_opcode2 
+60ff c03fe147 beq lmp_escape ,parse_lmp_escape 
+6100 c001e192 beq lmp_accepted ,parse_lmp_accepted 
+6101 c00261a3 beq lmp_not_accepted ,parse_lmp_not_accepted 
+6102 c01e613a beq lmp_set_afh ,parse_lmp_set_afh 
+6103 c002e136 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+6104 c007e38a beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+6105 c0086205 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+6106 c011e223 beq lmp_auto_rate ,parse_lmp_auto_rate 
+6107 c01ce3a3 beq lmp_test_control ,parse_lmp_test_control 
+6108 c01c639e beq lmp_test_activate ,parse_lmp_test_activate 
+6109 c018e208 beq lmp_setup_complete ,parse_lmp_setup_complete 
+610a c01be291 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+610b c013e28d beq lmp_features_req ,parse_lmp_features_req 
+610c c019e28a beq lmp_host_connection_req ,parse_lmp_conn_req 
+610d c012e28f beq lmp_version_req ,parse_lmp_version_req 
+610e c013621f beq lmp_version_res ,parse_lmp_version_res 
+610f c003e217 beq lmp_detach ,parse_lmp_detach 
+6110 c016e20e beq lmp_max_slot ,parse_lmp_max_slot 
+6111 c017620f beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+6112 c000e286 beq lmp_name_req ,parse_lmp_name_req 
+6113 c0016271 beq lmp_name_res ,parse_lmp_name_res 
+6114 c0146395 beq lmp_features_res ,parse_lmp_features_res 
+6115 c004e267 beq lmp_comb_key ,parse_lmp_comb_key 
+6116 c005e240 beq lmp_au_rand ,parse_lmp_au_rand 
+6117 c0046224 beq lmp_in_rand ,parse_lmp_in_rand 
+6118 c006624b beq lmp_sres ,parse_lmp_sres 
+6119 c00fe21b beq lmp_incr_power_req ,parse_lmp_incr_power 
+611a c010621d beq lmp_decr_power_req ,parse_lmp_decr_power 
+611b c010e2ab beq lmp_max_power ,parse_lmp_max_power 
+611c c01162ab beq lmp_min_power ,parse_lmp_min_power 
+611d c01ae2ac beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+611e c01b62ad beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+611f c01262ab beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+6120 c01a62ae beq lmp_slot_offset ,parse_lmp_slot_offset 
+6121 c00be2b7 beq lmp_sniff_req ,parse_lmp_sniff_req 
+6122 c008e2d4 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+6123 c00962d8 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+6124 c009e2da beq lmp_switch_req ,parse_lmp_switch_req 
+6125 c006e2ec beq lmp_temp_rand ,parse_lmp_temp_rand 
+6126 c00762ec beq lmp_temp_key ,parse_lmp_temp_key 
+6127 c017e28b beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+6128 c01862ec beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+6129 c00562ec beq lmp_unit_key ,parse_lmp_unit_key 
+612a c00c62ed beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+612b c01962ec beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+612c c01ee2f2 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+612d c01f6333 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+612e c01fe32d beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+612f c020635a beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+6130 c020e36c beq lmp_dhkey_check ,parse_dhkey_check 
+6131 c0036389 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+6132 c01d6138 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+
+reject_unknown_packet:
+6133 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+
+reject_lmp_packet:
+6134 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+6135 20600000 rtn 
+
+parse_lmp_clkoffset_req:
+6136 70007c06 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+6137 20600000 rtn 
+
+parse_enc_key_size_mask_req:
+6138 70007c3b jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+6139 20600000 rtn 
+
+parse_lmp_set_afh:
+613a 6fe8054e fetch 4 ,mem_rxbuf + 1 
+613b 1fe3fe00 lshift pdata ,pdata 
+613c 67e840d2 store 4 ,mem_afh_instant 
+613d 6fe20552 fetch 1 ,mem_rxbuf + 5 
+613e 67e240d9 store 1 ,mem_afh_new_mod 
+613f 6fea0553 fetch 5 ,mem_rxbuf + 6 
+6140 67ea40e7 store 5 ,mem_afh_map_new 
+6141 6fea0558 fetch 5 ,mem_rxbuf + 11 
+6142 e7ea0005 istore 5 ,contw 
+6143 6fe20031 fetch 1 ,mem_mode 
+6144 79207e03 set1 afh_change ,pdata 
+6145 67e20031 store 1 ,mem_mode 
+6146 20600000 rtn 
+
+parse_lmp_escape:
+6147 471dc027 bpatchx patch27_3 ,mem_patch27 
+6148 6fe2054e fetch 1 ,mem_rxbuf + 1 
+6149 79207e07 set1 7 ,pdata 
+614a 67e2007d store 1 ,mem_lmi_opcode2 
+614b c040e169 beq lmp_ext_accepted ,parse_lmpext_accepted 
+614c c041616e beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+614d c04ae292 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+614e c04b62ab beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+614f c045e2a0 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+6150 c041e186 beq lmp_ext_features_req ,parse_lmpext_features_req 
+6151 c0426188 beq lmp_ext_features_res ,parse_lmpext_features_res 
+6152 c048615b beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+6153 c04be17f beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+6154 c04c6184 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+6155 c04ce15e beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+6156 c04d6161 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+6157 c1420000 rtneq lmp_ext_features_res 
+
+reject_unknown_ext_packet:
+6158 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+6159 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+615a 20600000 rtn 
+
+parse_lmpext_chn_classification_req:
+615b 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+615c 70007e2e jam not_support_chn_classification ,mem_lmo_reason2 
+615d 20600000 rtn 
+
+parse_lmpext_iocap_req:
+615e 20406163 call iocap_lmpext_load 
+615f 70007c9a jam lmp_io_cap_res ,mem_lmo_opcode2 
+6160 20600000 rtn 
+
+parse_lmpext_iocap_res:
+6161 20406163 call iocap_lmpext_load 
+6162 20206167 branch iocap_lmpext_common 
+
+iocap_lmpext_load:
+6163 d8a04630 arg mem_sp_iocap_remote ,contw 
+6164 6fe6054f fetch 3 ,mem_rxbuf + 2 
+6165 e7e60005 istore 3 ,contw 
+6166 20600000 rtn 
+
+iocap_lmpext_common:
+6167 2020f58d branch master_set_mem_master_sp_flag ,true 
+6168 20600000 rtn 
+
+parse_lmpext_accepted:
+6169 6fe20550 fetch 1 ,mem_rxbuf + 3 
+616a 79207e07 set1 7 ,pdata 
+616b 67e204c5 store 1 ,mem_lmi_accepted_opcode 
+616c c045e173 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+616d 20600000 rtn 
+
+parse_lmpext_not_accepted:
+616e 6fe20550 fetch 1 ,mem_rxbuf + 3 
+616f 79207e07 set1 7 ,pdata 
+6170 67e204c5 store 1 ,mem_lmi_accepted_opcode 
+6171 c045e177 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+6172 20600000 rtn 
+
+parse_lmpext_accepted_ptt:
+6173 6fe2415b fetch 1 ,mem_ptt 
+6174 6842004c fetcht 1 ,mem_state_map 
+6175 7d3a0405 nsetflag blank ,smap_edr ,temp 
+6176 6042004c storet 1 ,mem_state_map 
+
+parse_lmpext_not_accepted_ptt:
+6177 6fe20030 fetch 1 ,mem_state 
+6178 c4028000 rtnbit0 state_init_seq 
+6179 793ffe05 set0 state_init_seq ,pdata 
+617a 67e20030 store 1 ,mem_state 
+617b 6fe204d3 fetch 1 ,mem_auth_enable 
+617c 247a0000 nrtn blank 
+617d 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+617e 20600000 rtn 
+
+parse_lmpext_pause_encrypt:
+617f 2434e182 nbranch parse_lmpext_pause_encrypt_slave ,master 
+6180 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+6181 202066cd branch tid_reply 
+
+parse_lmpext_pause_encrypt_slave:
+6182 70007c97 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+6183 20600000 rtn 
+
+parse_lmpext_resume_encrypt:
+6184 204066cd call tid_reply 
+6185 202063e0 branch lmp_start_encryption 
+
+parse_lmpext_features_req:
+6186 70007c84 jam lmp_ext_features_res ,mem_lmo_opcode2 
+6187 20600000 rtn 
+
+parse_lmpext_features_res:
+6188 68420551 fetcht 1 ,mem_rxbuf + 4 
+6189 18410401 and temp ,0x1 ,temp 
+618a 604204cc storet 1 ,mem_remote_sppcap 
+618b 6fe241cf fetch 1 ,mem_hci_cmd 
+618c c0a8e18e bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+618d 7041cf00 jam 0 ,mem_hci_cmd 
+
+parse_lmpext_features_res_not_hci:
+618e 6fe20055 fetch 1 ,mem_conn_sm 
+618f c18a8000 rtnne conn_sm_wait_features_ext 
+6190 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+6191 202066fd branch process_conn_sm 
+
+parse_lmp_accepted:
+6192 471e4027 bpatchx patch27_4 ,mem_patch27 
+6193 6fe2054e fetch 1 ,mem_rxbuf + 1 
+6194 67e204c5 store 1 ,mem_lmi_accepted_opcode 
+6195 c019e1b9 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+6196 c00461c8 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+6197 c007e1cf beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+6198 c00861d5 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+6199 c008e1d6 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+619a c00961de beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+619b c00c61f4 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+619c c00be1f7 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+619d c009e1b0 beq lmp_switch_req ,parse_lmp_accepted_switch 
+619e c01ee300 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+619f c01f634c beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+61a0 c0206302 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+61a1 c020e31f beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+61a2 20600000 rtn 
+
+parse_lmp_not_accepted:
+61a3 471ec027 bpatchx patch27_5 ,mem_patch27 
+61a4 6fe2054e fetch 1 ,mem_rxbuf + 1 
+61a5 67e204c5 store 1 ,mem_lmi_accepted_opcode 
+61a6 c000e1eb beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+61a7 c019e1c3 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+61a8 c005e1df beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+61a9 c00461e2 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+61aa c009e1b3 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+61ab c02061ec beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+61ac c020e1ef beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+61ad c00c61f2 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+61ae c00be203 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+61af 20600000 rtn 
+
+parse_lmp_accepted_switch:
+61b0 700a9520 jam bt_evt_switch_accept ,mem_fifo_temp 
+61b1 20407bab call ui_ipc_send_event 
+61b2 202041d8 branch role_switch_prepare0 
+
+parse_lmp_not_accepted_switch:
+61b3 700a9519 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+61b4 20407bab call ui_ipc_send_event 
+61b5 70452d02 jam switch_flag_not_accept ,mem_switch_flag 
+61b6 58000050 setarg timer_switch_waite 
+61b7 d8e00006 arg switch_wait_timer ,queue 
+61b8 20207ce3 branch timer_init 
+
+parse_lmp_accepted_hostconn:
+61b9 6fe204cd fetch 1 ,mem_lmp_conn_state 
+61ba 79207e00 set1 received_conn_req ,pdata 
+61bb 67e204cd store 1 ,mem_lmp_conn_state 
+61bc 700a9501 jam bt_evt_bb_connected ,mem_fifo_temp 
+61bd 20407bab call ui_ipc_send_event 
+61be 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+
+parse_lmp_accepted_hostconn_ctn:
+61bf 6fe20055 fetch 1 ,mem_conn_sm 
+61c0 c082e0e8 bne conn_sm_wait_conn_accept ,parse_rx_done 
+61c1 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+61c2 20600000 rtn 
+
+parse_lmp_not_accepted_hostconn:
+61c3 7004c60b jam acl_connection_already_exists ,mem_disconn_reason_send 
+61c4 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+61c5 70005500 jam conn_sm_standby ,mem_conn_sm 
+61c6 2020e0e8 branch parse_rx_done ,true 
+61c7 20600000 rtn 
+
+parse_lmp_accepted_inrand:
+61c8 6fe241be fetch 1 ,mem_link_key_exists 
+61c9 247a0000 nrtn blank 
+61ca 2040444b call clear_linkkey 
+61cb 204063de call lmp_generate_key 
+61cc 20748000 rtn master 
+61cd 79200021 set1 mark_slave_in_rand_accepted ,mark 
+61ce 20600000 rtn 
+
+parse_lmp_accepted_enc_mode:
+61cf 24748000 nrtn master 
+61d0 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+61d1 6fe2004c fetch 1 ,mem_state_map 
+61d2 c4010000 rtnbit0 smap_encryption 
+61d3 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+61d4 20600000 rtn 
+
+parse_lmp_accepted_enc_keysize:
+61d5 202063e0 branch lmp_start_encryption 
+
+parse_lmp_accepted_start_enc:
+61d6 2040643b call send_create_conn_start_l2cap_timer_sm 
+61d7 6fe20030 fetch 1 ,mem_state 
+61d8 c3820000 rtnbit1 state_conn_comp 
+61d9 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+61da 6fe20055 fetch 1 ,mem_conn_sm 
+61db c1850000 rtnne conn_sm_encrypt_wait 
+61dc 7000550b jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+61dd 20600000 rtn 
+
+parse_lmp_accepted_stop_enc:
+61de 20600000 rtn 
+
+parse_lmp_not_accepted_aurand:
+
+parse_lmp_not_accepted_aurand_send_detach:
+61df 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+61e0 7004c613 jam other_end_terminated ,mem_disconn_reason_send 
+61e1 20600000 rtn 
+
+parse_lmp_not_accepted_inrand:
+61e2 6fe2054f fetch 1 ,mem_rxbuf + 2 
+61e3 c00361e8 beq key_missing ,parse_lmp_inrand_key_missing 
+61e4 c18c0000 rtnne pairing_not_allowed 
+61e5 7004c618 jam pairing_not_allowed ,mem_disconn_reason_send 
+61e6 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+61e7 20600000 rtn 
+
+parse_lmp_inrand_key_missing:
+61e8 7004c606 jam key_missing ,mem_disconn_reason_send 
+61e9 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+61ea 20600000 rtn 
+
+parse_lmp_not_accepted_name_req:
+61eb 20600000 rtn 
+
+parse_lmp_not_accepted_simple_pairing_number:
+61ec 7009aa00 jam sp_stat_null ,mem_sp_state 
+61ed 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+61ee 202060e8 branch parse_rx_done 
+
+parse_lmp_not_accepted_dhkey_check:
+61ef 7009aa00 jam sp_stat_null ,mem_sp_state 
+61f0 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+61f1 202060e8 branch parse_rx_done 
+
+parse_lmp_not_accepted_unsniff_req:
+61f2 700a9524 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+61f3 20207bab branch ui_ipc_send_event 
+
+parse_lmp_accepted_unsniff_req:
+61f4 700a9523 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+61f5 20407bab call ui_ipc_send_event 
+61f6 202046e5 branch sniff_exit 
+
+parse_lmp_accepted_sniff_req:
+61f7 700a9522 jam bt_evt_sniff_accept ,mem_fifo_temp 
+61f8 20407bab call ui_ipc_send_event 
+61f9 58000000 setarg 0 
+61fa 67e40075 store 2 ,mem_dsniff 
+61fb 6fe441e4 fetch 2 ,mem_sniff_param_interval 
+61fc 1fe3fe00 lshift pdata ,pdata 
+61fd 67e40032 store 2 ,mem_tsniff 
+61fe 6fe241e6 fetch 1 ,mem_sniff_param_attempt 
+61ff 67e20073 store 1 ,mem_sniff_attempt 
+6200 6fe241e8 fetch 1 ,mem_sniff_param_timeout 
+6201 67e20074 store 1 ,mem_sniff_timeout 
+6202 202046c2 branch sniff_init 
+
+parse_lmp_not_acdcept_sniff_req:
+6203 700a9521 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+6204 20207bab branch ui_ipc_send_event 
+
+parse_lmp_crypt_key:
+6205 6842054e fetcht 1 ,mem_rxbuf + 1 
+6206 60420054 storet 1 ,mem_key_size 
+6207 20206219 branch accept_lmp_msg 
+
+parse_lmp_setup_complete:
+6208 6fe204cd fetch 1 ,mem_lmp_conn_state 
+6209 79207e02 set1 received_setup_complete ,pdata 
+620a 67e204cd store 1 ,mem_lmp_conn_state 
+620b c3818000 rtnbit1 sent_setup_complete 
+620c 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+620d 202060e8 branch parse_rx_done 
+
+parse_lmp_max_slot:
+620e 20600000 rtn 
+
+parse_lmp_max_slot_req:
+620f 6fe240d0 fetch 1 ,mem_max_slot 
+6210 6842054e fetcht 1 ,mem_rxbuf + 1 
+6211 98467c00 isub temp ,null 
+6212 20216219 branch accept_lmp_msg ,positive 
+6213 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+6214 70007e1f jam unspecified_error ,mem_lmo_reason2 
+6215 70007d2e jam lmp_max_slot_req ,mem_lmi_opcode2 
+6216 20600000 rtn 
+
+parse_lmp_detach:
+6217 20406539 call prepare_disconnect 
+6218 20206219 branch accept_lmp_msg 
+
+accept_lmp_msg:
+6219 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+621a 20600000 rtn 
+
+parse_lmp_incr_power:
+621b 70007c21 jam lmp_max_power ,mem_lmo_opcode2 
+621c 20600000 rtn 
+
+parse_lmp_decr_power:
+621d 70007c22 jam lmp_min_power ,mem_lmo_opcode2 
+621e 20600000 rtn 
+
+parse_lmp_version_res:
+621f 6fe20055 fetch 1 ,mem_conn_sm 
+6220 c1098000 rtneq conn_sm_wait_version 
+6221 70005502 jam conn_sm_send_features ,mem_conn_sm 
+6222 20600000 rtn 
+
+parse_lmp_auto_rate:
+6223 20600000 rtn 
+
+parse_lmp_in_rand:
+6224 204063db call lmp_copy_rand 
+6225 7004d001 jam pincode_state_wait_pincode ,mem_pincode_state 
+6226 700a950a jam bt_evt_pincode_req ,mem_fifo_temp 
+6227 20407bab call ui_ipc_send_event 
+6228 204066d5 call tid_check 
+6229 2420e3e3 nbranch lmp_accept_inrand ,true 
+622a 2434e22f nbranch parse_lmp_inrand_res ,master 
+622b 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+622c 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+622d 70007e23 jam transaction_collision ,mem_lmo_reason2 
+622e 20600000 rtn 
+
+parse_lmp_inrand_res:
+622f 6fe2004b fetch 1 ,mem_op 
+6230 79207e02 set1 op_inrand_req ,pdata 
+6231 67e2004b store 1 ,mem_op 
+6232 20600000 rtn 
+
+pop_tid_follow:
+6233 6842004c fetcht 1 ,mem_state_map 
+6234 7d3a0401 nsetflag blank ,smap_lmptid ,temp 
+6235 6042004c storet 1 ,mem_state_map 
+6236 20600000 rtn 
+
+push_tid_follow:
+6237 6fe2007f fetch 1 ,mem_lmo_tid2 
+6238 1fe37e00 rshift pdata ,pdata 
+6239 1fe17e01 and_into 1 ,pdata 
+623a 20600000 rtn 
+
+parse_lmp_au_rand_moudle:
+623b 6fe24216 fetch 1 ,mem_nv_data_number 
+623c 207a0000 rtn blank 
+623d 6fe209b1 fetch 1 ,mem_pairing_auth 
+623e 205a68a4 call load_device_list ,blank 
+623f 20600000 rtn 
+
+parse_lmp_au_rand:
+6240 2040623b call parse_lmp_au_rand_moudle 
+6241 20406237 call push_tid_follow 
+6242 67e204d1 store 1 ,mem_sres_tid 
+6243 204063db call lmp_copy_rand 
+6244 70007c0c jam lmp_sres ,mem_lmo_opcode2 
+6245 6fe241be fetch 1 ,mem_link_key_exists 
+6246 247a0000 nrtn blank 
+6247 6fe20030 fetch 1 ,mem_state 
+6248 c3830000 rtnbit1 state_combkey 
+6249 70007e06 jam key_missing ,mem_lmo_reason2 
+624a 20206134 branch reject_lmp_packet 
+
+parse_lmp_sres:
+624b da200040 arg mem_plap ,rega 
+624c 20407147 call function_e1 
+624d 6fe8054e fetch 4 ,mem_rxbuf + 1 
+624e 6848058e fetcht 4 ,mem_input_store 
+624f 98467c00 isub temp ,null 
+6250 2022e254 branch authentication_ok ,zero 
+6251 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6252 7004c605 jam authentication_failure_error ,mem_disconn_reason_send 
+6253 20600000 rtn 
+
+authentication_ok:
+6254 20406258 call authentication_ok_common 
+6255 6fe2462c fetch 1 ,mem_ssp_enable 
+6256 203a6320 branch pairing_success ,blank 
+6257 20600000 rtn 
+
+authentication_ok_common:
+6258 2040723c call copy_aco 
+6259 204041ae call linkkey_ready 
+625a 6fe2004b fetch 1 ,mem_op 
+625b 2feffe01 isolate1 op_auth_req ,pdata 
+625c 793ffe01 set0 op_auth_req ,pdata 
+625d 67e2004b store 1 ,mem_op 
+625e 6fe20055 fetch 1 ,mem_conn_sm 
+625f c00ce262 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+6260 c00c6262 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+6261 20600000 rtn 
+
+authentication_ok_conn_sm:
+6262 6fe209b1 fetch 1 ,mem_pairing_auth 
+6263 c1800000 rtnne defalt_pairing_auth 
+6264 6fe2004c fetch 1 ,mem_state_map 
+6265 c3810000 rtnbit1 smap_encryption 
+6266 20206793 branch host_create_conn_encrypt 
+
+parse_lmp_comb_key:
+6267 da20054e arg mem_rxbuf + 1 ,rega 
+6268 da40057e arg mem_kinit ,regb 
+6269 d8a0055e arg mem_random_number ,contw 
+626a 20407208 call xor16 
+626b da200040 arg mem_plap ,rega 
+626c 204066f3 call generate_linkkey 
+626d 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+626e 6fe20030 fetch 1 ,mem_state 
+626f c30363de bbit0 state_combkey ,lmp_generate_key 
+6270 20600000 rtn 
+
+parse_lmp_name_res:
+6271 6fe4015d fetch 2 ,mem_len 
+6272 1fe0f3fd add pdata ,-3 ,loopcnt 
+6273 6842054e fetcht 1 ,mem_rxbuf + 1 
+6274 580000ff setarg mem_tmp_buffer 
+6275 98408a00 iadd temp ,contw 
+6276 d8c00550 arg mem_rxbuf + 3 ,contr 
+6277 20407cdc call memcpy 
+6278 68420053 fetcht 1 ,mem_name_offset 
+6279 6fe2054f fetch 1 ,mem_rxbuf + 2 
+627a 98467e00 isub temp ,pdata 
+627b 1fe67c0e sub pdata ,14 ,null 
+627c 20216281 branch parse_lmp_name_res_end ,positive 
+627d 1840fe0e add temp ,14 ,pdata 
+627e 67e20053 store 1 ,mem_name_offset 
+627f 70007c01 jam lmp_name_req ,mem_lmo_opcode2 
+6280 20600000 rtn 
+
+parse_lmp_name_res_end:
+6281 6fe2004c fetch 1 ,mem_state_map 
+6282 79207e03 set1 smap_name_res ,pdata 
+6283 67e2004c store 1 ,mem_state_map 
+6284 c28263e8 bbit1 smap_name_req ,lmp_disconnect 
+6285 20600000 rtn 
+
+parse_lmp_name_req:
+6286 6fe2054e fetch 1 ,mem_rxbuf + 1 
+6287 67e2007d store 1 ,mem_lmi_opcode2 
+6288 70007c02 jam lmp_name_res ,mem_lmo_opcode2 
+6289 20600000 rtn 
+
+parse_lmp_conn_req:
+628a 20206219 branch accept_lmp_msg 
+
+parse_lmp_timing_accuracy_req:
+628b 70007c30 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+628c 20600000 rtn 
+
+parse_lmp_features_req:
+628d 70007c28 jam lmp_features_res ,mem_lmo_opcode2 
+628e 20600000 rtn 
+
+parse_lmp_version_req:
+628f 70007c26 jam lmp_version_res ,mem_lmo_opcode2 
+6290 20600000 rtn 
+
+parse_lmp_supervision_timeout:
+6291 20600000 rtn 
+
+parse_lmp_sniff_subrating_req:
+6292 6fe40032 fetch 2 ,mem_tsniff 
+6293 98000400 iforce temp 
+6294 6fe2054f fetch 1 ,mem_rxbuf + 2 
+6295 67e20095 store 1 ,mem_subsniff_rate 
+6296 984f8400 imul32 temp ,temp 
+6297 6fe40550 fetch 2 ,mem_rxbuf + 3 
+6298 1fe3fe00 lshift pdata ,pdata 
+6299 67e40096 store 2 ,mem_subsniff_tcmax 
+629a 6fe80552 fetch 4 ,mem_rxbuf + 5 
+629b 1fe3fe00 lshift pdata ,pdata 
+629c 67e80091 store 4 ,mem_subsniff_instant 
+629d 18427e00 deposit temp 
+629e 67e40098 store 2 ,mem_subsniff_tsniff 
+629f 20600000 rtn 
+
+parse_lmpext_packet_type_table_req:
+62a0 6842415b fetcht 1 ,mem_ptt 
+62a1 6fe2054f fetch 1 ,mem_rxbuf + 2 
+62a2 9842fc00 ixor temp ,null 
+62a3 2422e158 nbranch reject_unknown_ext_packet ,zero 
+62a4 2feffe00 isolate1 0 ,pdata 
+62a5 6fe2004c fetch 1 ,mem_state_map 
+62a6 7920fe05 setflag true ,smap_edr ,pdata 
+62a7 67e2004c store 1 ,mem_state_map 
+62a8 70007c81 jam lmp_ext_accepted ,mem_lmo_opcode2 
+62a9 70007d8b jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+62aa 20600000 rtn 
+
+parse_lmp_sniff_subrating_res:
+
+parse_lmp_preferred_rate:
+
+parse_lmp_max_power:
+
+parse_lmp_min_power:
+62ab 20600000 rtn 
+
+parse_lmp_page_mode_req:
+62ac 20206219 branch accept_lmp_msg 
+
+parse_lmp_page_scan_mode_req:
+62ad 20206219 branch accept_lmp_msg 
+
+parse_lmp_slot_offset:
+62ae 6fe4054e fetch 2 ,mem_rxbuf + 1 
+62af 67e4016f store 2 ,mem_slot_offset 
+62b0 20600000 rtn 
+
+parse_lmp_sniff_req_check_sniff_para:
+62b1 6fe40551 fetch 2 ,mem_rxbuf + 4 
+62b2 68424173 fetcht 1 ,mem_lpm_mult 
+62b3 984ffe00 imul32 temp ,pdata 
+62b4 d8400640 arg 0x640 ,temp 
+62b5 98467c00 isub temp ,null 
+62b6 20600000 rtn 
+
+parse_lmp_sniff_req:
+62b7 202062d2 branch lmp_reject_sniff 
+62b8 6fe40553 fetch 2 ,mem_rxbuf + 6 
+62b9 203a62d2 branch lmp_reject_sniff ,blank 
+62ba 204062b1 call parse_lmp_sniff_req_check_sniff_para 
+62bb 202162d2 branch lmp_reject_sniff ,positive 
+62bc 6fe24092 fetch 1 ,mem_device_option 
+62bd 1fe67c0a sub pdata ,dvc_op_module ,null 
+62be 2042d0c1 call module_set_lpm_mult_2 ,zero 
+62bf 6fe20030 fetch 1 ,mem_state 
+62c0 c280e2d2 bbit1 state_insniff ,lmp_reject_sniff 
+62c1 6fe4054f fetch 2 ,mem_rxbuf + 2 
+62c2 1fe3fe00 lshift pdata ,pdata 
+62c3 67e40075 store 2 ,mem_dsniff 
+62c4 6fe40551 fetch 2 ,mem_rxbuf + 4 
+62c5 1fe3fe00 lshift pdata ,pdata 
+62c6 67e40032 store 2 ,mem_tsniff 
+62c7 6fe40553 fetch 2 ,mem_rxbuf + 6 
+62c8 67e20073 store 1 ,mem_sniff_attempt 
+62c9 98000400 iforce temp 
+62ca 6fe40555 fetch 2 ,mem_rxbuf + 8 
+62cb 67e20074 store 1 ,mem_sniff_timeout 
+62cc 98467c00 isub temp ,null 
+62cd 242162cf nbranch set_big_value_to_attempt ,positive 
+62ce 67e20073 store 1 ,mem_sniff_attempt 
+
+set_big_value_to_attempt:
+62cf 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+62d0 70007d17 jam lmp_sniff_req ,mem_lmi_opcode2 
+62d1 20600000 rtn 
+
+lmp_reject_sniff:
+62d2 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+62d3 20206134 branch reject_lmp_packet 
+
+parse_lmp_start_encryption_req:
+62d4 20406219 call accept_lmp_msg 
+62d5 204063db call lmp_copy_rand 
+62d6 2040714a call function_e3 
+62d7 202046b4 branch start_encryption 
+
+parse_lmp_stop_encryption_req:
+62d8 20406219 call accept_lmp_msg 
+62d9 202046bc branch stop_encryption 
+
+parse_lmp_switch_req:
+62da 6fe8054e fetch 4 ,mem_rxbuf + 1 
+62db 1fe3fe00 lshift pdata ,pdata 
+62dc 2034e2e6 branch parse_lmp_switch_accept ,master 
+62dd 684241be fetcht 1 ,mem_link_key_exists 
+62de 243a62e3 nbranch parse_lmp_switch_req_clear_mark ,blank 
+
+parse_lmp_switch_req_not_accept:
+62df 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+62e0 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+62e1 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+62e2 20600000 rtn 
+
+parse_lmp_switch_req_clear_mark:
+62e3 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+62e4 70005500 jam 0 ,mem_conn_sm 
+62e5 202041d5 branch role_switch_prepare 
+
+parse_lmp_switch_accept:
+62e6 204041d5 call role_switch_prepare 
+62e7 79200022 set1 mark_reconn_recieve_switch ,mark 
+62e8 6fe2016b fetch 1 ,mem_connection_options 
+62e9 793ffe02 set0 connection_switch ,pdata 
+62ea 67e2016b store 1 ,mem_connection_options 
+62eb 20206219 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:
+62ec 20600000 rtn 
+
+parse_lmp_unsniff_req:
+62ed 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+62ee 70007d18 jam lmp_unsniff_req ,mem_lmi_opcode2 
+62ef 700a952e jam bt_evt_remote_unsniff ,mem_fifo_temp 
+62f0 20407bab call ui_ipc_send_event 
+62f1 202046e5 branch sniff_exit 
+
+parse_lmp_encapsulated_header:
+62f2 6fe2054e fetch 1 ,mem_rxbuf + 1 
+62f3 c080e2fe bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+62f4 6fe2054f fetch 1 ,mem_rxbuf + 2 
+62f5 c080e2fe bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+62f6 6fe20550 fetch 1 ,mem_rxbuf + 3 
+62f7 c09862fe bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+62f8 204066de call check_localsm 
+62f9 2020e2fb branch parse_lmp_encapsulated_header_master ,true 
+62fa 7009aa01 jam sp_stat_key_recv ,mem_sp_state 
+
+parse_lmp_encapsulated_header_master:
+62fb 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+62fc 70007d3d jam lmp_encapsulated_header ,mem_lmi_opcode2 
+62fd 202060e8 branch parse_rx_done 
+
+parse_lmp_encapsulated_header_reject:
+62fe 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+62ff 20206134 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_header:
+6300 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+6301 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number:
+6302 6fe24634 fetch 1 ,mem_ssp_mode_flag 
+6303 c000e309 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+6304 c001630d beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+
+parse_lmp_accepted_simple_pairing_number_common:
+6305 204066de call check_localsm 
+6306 20608000 rtn true 
+6307 7009aa08 jam sp_stat_confirm_recv ,mem_sp_state 
+6308 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+6309 20407817 call g_noninit_number_confirm 
+630a 700a9535 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+630b 20407bab call ui_ipc_send_event 
+630c 20206305 branch parse_lmp_accepted_simple_pairing_number_common 
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+630d 204066de call check_localsm 
+630e 20608000 rtn true 
+630f 6fe24635 fetch 1 ,mem_authentication_passkey_times 
+6310 c009e31d beq 19 ,authentication_passkey_end 
+6311 1fe0fe01 increase 1 ,pdata 
+6312 67e24635 store 1 ,mem_authentication_passkey_times 
+
+authentication_passkey:
+6313 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+6314 7009aa04 jam sp_stat_commit_calc ,mem_sp_state 
+6315 6fe24635 fetch 1 ,mem_authentication_passkey_times 
+6316 1fe20e00 copy pdata ,queue 
+6317 6fec4658 fetch 6 ,mem_pin 
+6318 afefffff qisolate1 pdata 
+6319 58000080 setarg 0x80 
+631a 7920fe00 setflag true ,0 ,pdata 
+631b 67e24636 store 1 ,mem_passkey_1bit 
+631c 20600000 rtn 
+
+authentication_passkey_end:
+631d 7009aa08 jam sp_stat_confirm_recv ,mem_sp_state 
+631e 20600000 rtn 
+
+parse_lmp_accepted_dhkey_check:
+631f 20406325 call parse_lmp_accepted_dhkey_check_common 
+
+pairing_success:
+6320 6fe24637 fetch 1 ,mem_flag_pairing_state 
+6321 207a0000 rtn blank 
+6322 70463700 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+6323 700a9538 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+6324 20207bab branch ui_ipc_send_event 
+
+parse_lmp_accepted_dhkey_check_common:
+6325 204066de call check_localsm 
+6326 2440f81a ncall g_noninit ,true 
+6327 2040f82a call g_init ,true 
+6328 204066de call check_localsm 
+6329 20608000 rtn true 
+632a 7009aa0c jam sp_stat_link_key_calc ,mem_sp_state 
+632b 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+632c 20600000 rtn 
+
+parse_simple_pairing_confirm:
+632d d8a00a6a arg mem_sp_confirm_remote ,contw 
+632e d8c0054e arg mem_rxbuf + 1 ,contr 
+632f 20407c9a call memcpy16 
+6330 6fe24634 fetch 1 ,mem_ssp_mode_flag 
+6331 c1010000 rtneq ssp_mode_passkey_entry_flag 
+6332 2020758d branch master_set_mem_master_sp_flag 
+
+parse_lmp_encapsulated_payload:
+6333 6fe209ab fetch 1 ,mem_master_sp_state 
+6334 c003e337 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+6335 6fe209aa fetch 1 ,mem_sp_state 
+6336 c080e34a bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+
+parse_encapsulated_payload_master:
+6337 6fe209b3 fetch 1 ,mem_sp_remote_key_recv_count 
+6338 1fe60a20 sub pdata ,0x20 ,contw 
+6339 2421634a nbranch parse_lmp_encapsulated_payload_reject ,positive 
+633a d8a009c2 arg mem_sp_pubkey_remote ,contw 
+633b 98a08a00 iadd contw ,contw 
+633c 6ff0054e fetch 8 ,mem_rxbuf + 1 
+633d e7f00005 istore 8 ,contw 
+633e 6ff00556 fetch 8 ,mem_rxbuf + 9 
+633f e7f00005 istore 8 ,contw 
+6340 6fe209b3 fetch 1 ,mem_sp_remote_key_recv_count 
+6341 1fe0fe10 increase 16 ,pdata 
+6342 67e209b3 store 1 ,mem_sp_remote_key_recv_count 
+6343 c0986219 bne encapsulated_len_p192 ,accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_completed:
+6344 204066de call check_localsm 
+6345 2020e219 branch accept_lmp_msg ,true 
+6346 7009b401 jam sp_key_valid ,mem_sp_remote_key_invalid 
+6347 7009aa02 jam sp_stat_key_generate ,mem_sp_state 
+6348 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+6349 20206219 branch accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_reject:
+634a 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+634b 20206134 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_payload:
+634c 6fe209b2 fetch 1 ,mem_sp_local_key_send_count 
+634d c0186350 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+634e 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+634f 202060e8 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted:
+6350 204066de call check_localsm 
+6351 2020e359 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+6352 6fe24634 fetch 1 ,mem_ssp_mode_flag 
+6353 c0016357 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+6354 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+6355 7009aa04 jam sp_stat_commit_calc ,mem_sp_state 
+6356 202060e8 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+6357 700a9536 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+6358 20207bab branch ui_ipc_send_event 
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+6359 202060e8 branch parse_rx_done 
+
+parse_lmp_simple_pairing_number:
+635a 6fe209ab fetch 1 ,mem_master_sp_state 
+635b c003e35e beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+635c 6fe209aa fetch 1 ,mem_sp_state 
+635d c083636a bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+
+parse_lmp_simple_pairing_number_master:
+635e d8a00a2a arg mem_sp_random_remote ,contw 
+635f 6ff0054e fetch 8 ,mem_rxbuf + 1 
+6360 e7f00005 istore 8 ,contw 
+6361 6ff00556 fetch 8 ,mem_rxbuf + 9 
+6362 e7f00005 istore 8 ,contw 
+6363 204066de call check_localsm 
+6364 2020e368 branch parse_lmp_simple_pairing_number_master0 ,true 
+6365 7009aa07 jam sp_stat_random_send ,mem_sp_state 
+6366 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+6367 20206219 branch accept_lmp_msg 
+
+parse_lmp_simple_pairing_number_master0:
+6368 7009ab04 jam sp_stat_commit_calc ,mem_master_sp_state 
+6369 2020758d branch master_set_mem_master_sp_flag 
+
+parse_lmp_simple_pairing_number_reject:
+636a 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+636b 20206134 branch reject_lmp_packet 
+
+parse_dhkey_check:
+636c 6fe209ab fetch 1 ,mem_master_sp_state 
+636d c005e370 beq sp_stat_confirm_send ,parse_dhkey_check_master 
+636e 6fe209aa fetch 1 ,mem_sp_state 
+636f c084637f bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+
+parse_dhkey_check_master:
+6370 d8a00a5a arg mem_sp_check_result ,contw 
+6371 d8c0054e arg mem_rxbuf + 1 ,contr 
+6372 20407c9a call memcpy16 
+6373 204066de call check_localsm 
+6374 2020e37c branch parse_dhkey_check_master0 ,true 
+6375 6fe24634 fetch 1 ,mem_ssp_mode_flag 
+6376 c000e381 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+
+number_comparison_successed:
+6377 70463300 jam 0 ,mem_flag_mode_ssp_pin 
+6378 7009aa09 jam sp_stat_confirm_check ,mem_sp_state 
+6379 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+637a 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+637b 202060e8 branch parse_rx_done 
+
+parse_dhkey_check_master0:
+637c 7009ab09 jam sp_stat_confirm_check ,mem_master_sp_state 
+637d 7009ad01 jam sp_flag_commit ,mem_master_sp_flag 
+637e 202060e8 branch parse_rx_done 
+
+parse_lmp_dhkey_check_reject:
+637f 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+6380 20206134 branch reject_lmp_packet 
+
+number_comparison_mode:
+6381 6fe24633 fetch 1 ,mem_flag_mode_ssp_pin 
+6382 c283e386 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+6383 79207e06 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+6384 67e24633 store 1 ,mem_flag_mode_ssp_pin 
+6385 20600000 rtn 
+
+comparison_result:
+6386 c2806377 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+6387 70463300 jam 0 ,mem_flag_mode_ssp_pin 
+6388 2020637f branch parse_lmp_dhkey_check_reject 
+
+parse_lmp_clkoffset_res:
+6389 202060e8 branch parse_rx_done 
+
+parse_lmp_encryption_mode_req:
+638a 6fe2016b fetch 1 ,mem_connection_options 
+638b 793ffe01 set0 connection_encrypt 
+638c 67e2016b store 1 ,mem_connection_options 
+638d 20406219 call accept_lmp_msg 
+638e 24748000 nrtn master 
+638f 6fe2054e fetch 1 ,mem_rxbuf + 1 
+6390 6842004b fetcht 1 ,mem_op 
+6391 793a0404 setflag blank ,op_stop_enc ,temp 
+6392 7d3a0405 nsetflag blank ,op_start_enc ,temp 
+6393 6042004b storet 1 ,mem_op 
+6394 20600000 rtn 
+
+parse_lmp_features_res:
+6395 6850054e fetcht 8 ,mem_rxbuf + 1 
+
+parse_lmp_features_res_not_hci:
+6396 6fe20055 fetch 1 ,mem_conn_sm 
+6397 c1818000 rtnne conn_sm_wait_features_res 
+6398 6fe2016b fetch 1 ,mem_connection_options 
+6399 c302639c bbit0 connection_feature_ext ,parse_lmp_send_conn 
+639a 70005514 jam conn_sm_send_features_ext ,mem_conn_sm 
+639b 20600000 rtn 
+
+parse_lmp_send_conn:
+639c 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+639d 20600000 rtn 
+
+parse_lmp_test_activate:
+639e 6fe2017d fetch 1 ,mem_debug_config 
+639f 67e20159 store 1 ,mem_test_mode_old_debug_config 
+63a0 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+63a1 70007d38 jam lmp_test_activate ,mem_lmi_opcode2 
+63a2 20600000 rtn 
+
+parse_lmp_test_control:
+63a3 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+63a4 70007d39 jam lmp_test_control ,mem_lmi_opcode2 
+63a5 18007209 force 9 ,loopcnt 
+63a6 d8c0054e arg mem_rxbuf + 1 ,contr 
+63a7 d8a00150 arg mem_temp_payload ,contw 
+
+parse_lmp_test_xor:
+63a8 efe20006 ifetch 1 ,contr 
+63a9 1fe2fe55 xor_into 0x55 ,pdata 
+63aa e7e20005 istore 1 ,contw 
+63ab c20063a8 loop parse_lmp_test_xor 
+63ac 6fe20150 fetch 1 ,test_mode_scenario 
+63ad 6842014f fetcht 1 ,mem_tester_emulate 
+63ae 793f8407 set0 tester_no_whitening ,temp 
+63af 793f8404 set0 tester_pattern_test ,temp 
+63b0 c07fe3bc beq exit_test_mode ,parse_lmp_test_control_exit 
+63b1 c00063d5 beq pause_test_mode ,parse_lmp_test_control_pause 
+63b2 c002e3c9 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+63b3 c003e3c8 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+63b4 c00363c9 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+63b5 c00463c8 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+63b6 c000e3c1 beq zero_pattern ,parse_lmp_test_control_pattern 
+63b7 c00163c1 beq one_pattern ,parse_lmp_test_control_pattern 
+63b8 c001e3c1 beq alt_pattern ,parse_lmp_test_control_pattern 
+63b9 c004e3c1 beq alt2_pattern ,parse_lmp_test_control_pattern 
+63ba c00263c1 beq pseudorandom ,parse_lmp_test_control_pattern 
+63bb 20600000 rtn 
+
+parse_lmp_test_control_exit:
+63bc 6fe2014f fetch 1 ,mem_tester_emulate 
+63bd 79207e03 set1 tester_exit ,pdata 
+63be 79207e02 set1 tester_change ,pdata 
+63bf 67e2014f store 1 ,mem_tester_emulate 
+63c0 20600000 rtn 
+
+parse_lmp_test_control_pattern:
+63c1 79200404 set1 tester_pattern_test ,temp 
+63c2 70017e05 jam 5 ,mem_lch_code 
+63c3 6fe40157 fetch 2 ,test_mode_data_length 
+63c4 98007200 iforce loopcnt 
+63c5 67e4015d store 2 ,mem_len 
+63c6 d8a0054d arg mem_rxbuf ,contw 
+63c7 20407d4e call pn9 
+
+parse_lmp_test_control_loopback_nowhite:
+63c8 79200407 set1 tester_no_whitening ,temp 
+
+parse_lmp_test_control_loopback:
+63c9 79200402 set1 tester_change ,temp 
+63ca 18007e00 force 0 ,pdata 
+63cb 67e2000b store 1 ,mem_slave_rcvcnt 
+63cc 67e400f8 store 2 ,mem_tst_pktcnt_crc 
+63cd 67e400fa store 2 ,mem_tst_pktcnt_dmh 
+63ce 67e400f6 store 2 ,mem_tst_pktcnt_hec 
+63cf 67e400f4 store 2 ,mem_tst_pktcnt_sync 
+63d0 6fe20151 fetch 1 ,test_mode_hopping_mode 
+63d1 2fe1fe00 compare fixed_freq ,pdata ,0xff 
+63d2 79208406 setflag true ,tester_fixed_freq ,temp 
+63d3 6042014f storet 1 ,mem_tester_emulate 
+63d4 20600000 rtn 
+
+parse_lmp_test_control_pause:
+63d5 793f8011 set0 mark_testmode ,mark 
+63d6 70014f00 jam 0 ,mem_tester_emulate 
+63d7 6fe2017d fetch 1 ,mem_debug_config 
+63d8 793ffe06 set0 debug_tx_pattern ,pdata 
+63d9 67e2017d store 1 ,mem_debug_config 
+63da 20600000 rtn 
+
+lmp_copy_rand:
+63db d8c0054e arg mem_rxbuf + 1 ,contr 
+63dc d8a0055e arg mem_random_number ,contw 
+63dd 20207c9a branch memcpy16 
+
+lmp_generate_key:
+63de 70007c09 jam lmp_comb_key ,mem_lmo_opcode2 
+63df 20600000 rtn 
+
+lmp_start_encryption:
+63e0 24748000 nrtn master 
+63e1 70007c11 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+63e2 20600000 rtn 
+
+lmp_accept_inrand:
+63e3 da2040a0 arg mem_lap ,rega 
+63e4 20407114 call generate_kinit 
+63e5 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+63e6 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+63e7 20600000 rtn 
+
+lmp_disconnect:
+63e8 7000720a jam 10 ,mem_conn_timer 
+63e9 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+63ea 7004c616 jam local_host ,mem_disconn_reason_send 
+63eb 20600000 rtn 
+
+send_lmp:
+63ec 471f4027 bpatchx patch27_6 ,mem_patch27 
+63ed 78547c00 disable user 
+63ee 204066a3 call lmo_fifo_process 
+63ef 6fe20048 fetch 1 ,mem_lmp_to_send 
+63f0 207a0000 rtn blank 
+63f1 c283e421 bbit1 7 ,send_lmp_escape 
+
+send_lmp0:
+63f2 c000e551 beq lmp_name_req ,send_lmp_name_req 
+63f3 c00164c6 beq lmp_name_res ,send_lmp_name_res 
+63f4 c001e42c beq lmp_accepted ,send_lmp_accepted 
+63f5 c0026442 beq lmp_not_accepted ,send_lmp_not_accepted 
+63f6 c013e5bd beq lmp_features_req ,send_lmp_features_req 
+63f7 c01464ea beq lmp_features_res ,send_lmp_features_res 
+63f8 c01864d6 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+63f9 c012e5b8 beq lmp_version_req ,send_lmp_version_req 
+63fa c01364e5 beq lmp_version_res ,send_lmp_version_res 
+63fb c018e5a5 beq lmp_setup_complete ,send_lmp_setup_complete 
+63fc c01be54c beq lmp_supervision_timeout ,send_lmp_superto 
+63fd c019e53e beq lmp_host_connection_req ,send_lmp_no_payload 
+63fe c004663b beq lmp_in_rand ,send_lmp_inrand 
+63ff c004e631 beq lmp_comb_key ,send_lmp_comb_key 
+6400 c005e646 beq lmp_au_rand ,send_lmp_aurand 
+6401 c006664f beq lmp_sres ,send_lmp_sres 
+6402 c007e544 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+6403 c0086674 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+6404 c008e66a beq lmp_start_encryption_req ,send_lmp_start_encryption 
+6405 c003e534 beq lmp_detach ,send_lmp_detach 
+6406 c0156560 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+6407 c0056561 beq lmp_unit_key ,send_lmp_unit_key 
+6408 c00fe59e beq lmp_incr_power_req ,send_lmp_inc_power 
+6409 c00364db beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+640a c010e541 beq lmp_max_power ,send_lmp_nopayload_reply 
+640b c016e594 beq lmp_max_slot ,send_lmp_max_slot 
+640c c0176599 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+640d c0116541 beq lmp_min_power ,send_lmp_nopayload_reply 
+640e c01a6562 beq lmp_slot_offset ,send_lmp_slot_offset 
+640f c009e577 beq lmp_switch_req ,send_lmp_switch_req 
+6410 c00be586 beq lmp_sniff_req ,send_lmp_sniff_req 
+6411 c0096671 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+6412 c017e58c beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+6413 c00c6591 beq lmp_unsniff_req ,send_lmp_unsniff_req 
+6414 c01ee5e1 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+6415 c01f65ed beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+6416 c01fe5ff beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+6417 c0206609 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+6418 c020e61e beq lmp_dhkey_check ,send_lmp_dhkey_check 
+6419 c011e62d beq lmp_auto_rate ,send_lmp_auto_rate 
+641a c01de628 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+641b c002e62e beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+641c c014e62f beq lmp_quality_of_service ,send_lmp_quality_of_service 
+641d c01c6630 beq lmp_test_activate ,send_lmp_test_activate 
+641e c01ce557 beq lmp_test_control ,send_lmp_test_control 
+
+send_lmp_error:
+641f 20204a8b branch assert 
+6420 20600000 rtn 
+
+send_lmp_escape:
+6421 c040e44f beq lmp_ext_accepted ,send_lmpext_accepted 
+6422 c042647b beq lmp_ext_features_res ,send_lmpext_features_res 
+6423 c0416458 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+6424 c041e4ef beq lmp_ext_features_req ,send_lmpext_features_req 
+6425 c045e4fa beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+6426 c04be530 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+6427 c04ce4b7 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+6428 c04d6486 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+6429 c04ae4bc beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+642a c04b64bd beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+642b 20204a8b branch assert 
+
+send_lmp_accepted:
+642c 18007e02 force 2 ,pdata 
+642d 2040667a call msg_send_lmp 
+642e 6fe20049 fetch 1 ,mem_lmi_opcode 
+642f e7e20005 istore 1 ,contw 
+6430 20406689 call send_lmp_follow 
+6431 471fc027 bpatchx patch27_7 ,mem_patch27 
+6432 6fe20049 fetch 1 ,mem_lmi_opcode 
+6433 c0046462 beq lmp_in_rand ,send_lmp_accepted_inrand 
+6434 c007e466 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+6435 c0086471 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+6436 c00be441 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+6437 c019e474 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+6438 c020e47a beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+6439 c008e43b beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+643a 20600000 rtn 
+
+send_create_conn_start_l2cap_timer_sm:
+643b 6fe20055 fetch 1 ,mem_conn_sm 
+643c 207a0000 rtn blank 
+643d 7000551b jam conn_sm_wait_done ,mem_conn_sm 
+643e 5800000c setarg timer_enpt_waite 
+643f d8e00007 arg enpt_delay_timer ,queue 
+6440 20207ce3 branch timer_init 
+
+send_lmp_accept_sniff_req:
+6441 202046c2 branch sniff_init 
+
+send_lmp_not_accepted:
+6442 18007e03 force 3 ,pdata 
+6443 2040667a call msg_send_lmp 
+6444 6fe20049 fetch 1 ,mem_lmi_opcode 
+6445 c005e44a beq lmp_au_rand ,send_not_accept_aurand 
+6446 e7e20005 istore 1 ,contw 
+6447 6fe2004a fetch 1 ,mem_lmo_reason 
+6448 e7e20005 istore 1 ,contw 
+6449 20206689 branch send_lmp_follow 
+
+send_not_accept_aurand:
+644a e7e20005 istore 1 ,contw 
+644b 6fe2004a fetch 1 ,mem_lmo_reason 
+644c e7e20005 istore 1 ,contw 
+644d d84004d1 arg mem_sres_tid ,temp 
+644e 202066c4 branch special_tid_store 
+
+send_lmpext_accepted:
+644f 18000e04 force 4 ,queue 
+6450 20406682 call send_lmpext 
+6451 5800007f setarg lmp_escape 
+6452 e7e20005 istore 1 ,contw 
+6453 6fe20049 fetch 1 ,mem_lmi_opcode 
+6454 793ffe07 set0 7 ,pdata 
+6455 e7e20005 istore 1 ,contw 
+6456 6fe20049 fetch 1 ,mem_lmi_opcode 
+6457 20206689 branch send_lmp_follow 
+
+send_lmpext_not_accepted:
+6458 18000e05 force 5 ,queue 
+6459 20406682 call send_lmpext 
+645a 5800007f setarg lmp_escape 
+645b e7e20005 istore 1 ,contw 
+645c 6fe20049 fetch 1 ,mem_lmi_opcode 
+645d 793ffe07 set0 7 ,pdata 
+645e e7e20005 istore 1 ,contw 
+645f 6fe2004a fetch 1 ,mem_lmo_reason 
+6460 e7e20005 istore 1 ,contw 
+6461 20206689 branch send_lmp_follow 
+
+send_lmp_accepted_inrand:
+6462 2040444b call clear_linkkey 
+6463 204066d5 call tid_check 
+6464 20608000 rtn true 
+6465 202063de branch lmp_generate_key 
+
+send_lmp_accepted_enc_mode:
+6466 6fe2004b fetch 1 ,mem_op 
+6467 c282e46d bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+6468 c4020000 rtnbit0 op_stop_enc 
+6469 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+646a 793ffe04 set0 op_stop_enc ,pdata 
+646b 204066cd call tid_reply 
+646c 2020646f branch send_lmp_accepted_enc_exit 
+
+send_lmp_accepted_enc_start:
+646d 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+646e 793ffe05 set0 op_start_enc ,pdata 
+
+send_lmp_accepted_enc_exit:
+646f 67e2004b store 1 ,mem_op 
+6470 20600000 rtn 
+
+send_lmp_accepted_enc_key:
+6471 204066de call check_localsm 
+6472 2020e3e0 branch lmp_start_encryption ,true 
+6473 20600000 rtn 
+
+send_lmp_accepted_connection:
+6474 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+6475 6fe204cd fetch 1 ,mem_lmp_conn_state 
+6476 79207e00 set1 received_conn_req ,pdata 
+6477 67e204cd store 1 ,mem_lmp_conn_state 
+6478 700a9501 jam bt_evt_bb_connected ,mem_fifo_temp 
+6479 20207bab branch ui_ipc_send_event 
+
+send_lmp_accept_dhkey_check:
+647a 20600000 rtn 
+
+send_lmpext_features_res:
+647b 18000e0c force 12 ,queue 
+647c 20406682 call send_lmpext 
+647d 58000001 setarg 0x01 
+647e e7e20005 istore 1 ,contw 
+647f 6fe404ca fetch 2 ,mem_lmpext_ssp_enable 
+6480 e7e40005 istore 2 ,contw 
+6481 58000000 setarg 0 
+6482 e7e60005 istore 3 ,contw 
+6483 58000000 setarg 0x00 
+6484 e7e80005 istore 4 ,contw 
+6485 20206692 branch send_lmp_reply 
+
+send_lmpext_io_cap_res:
+6486 18000e05 force 5 ,queue 
+6487 20406682 call send_lmpext 
+6488 6fe6462d fetch 3 ,mem_sp_iocap_local 
+6489 e7e60005 istore 3 ,contw 
+648a 20406692 call send_lmp_reply 
+648b 70463701 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+648c 6fe2462d fetch 1 ,mem_sp_iocap_local 
+648d c000e497 beq display_yesno ,responder_iocap_display_yesno 
+648e c0016491 beq keyboard_only ,responder_iocap_keyboard_only 
+648f c001e49d beq no_input_no_output ,responder_iocap_no_input_no_output 
+6490 20600000 rtn 
+
+responder_iocap_keyboard_only:
+6491 6fe24630 fetch 1 ,mem_sp_iocap_remote 
+6492 c00064a9 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+6493 c000e4a9 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+6494 c00164a9 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+6495 c001e4a3 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+6496 20600000 rtn 
+
+responder_iocap_display_yesno:
+6497 6fe24630 fetch 1 ,mem_sp_iocap_remote 
+6498 c00064a3 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+6499 c000e4a7 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+649a c00164a9 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+649b c001e4a3 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+649c 20600000 rtn 
+
+responder_iocap_no_input_no_output:
+649d 6fe24630 fetch 1 ,mem_sp_iocap_remote 
+649e c00064a3 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+649f c000e4a3 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+64a0 c00164a3 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+64a1 c001e4a3 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+64a2 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:
+64a3 70463403 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+64a4 6fe2452e fetch 1 ,mem_classic_bt_flag 
+64a5 c2804d64 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+64a6 20600000 rtn 
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+
+set_ssp_mode_numeric_comparison:
+64a7 70463401 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+64a8 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:
+64a9 70463402 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+64aa 20600000 rtn 
+
+classic_bt_set_reject_justwork_flag:
+64ab d8e00000 arg flag_ssp_reject_justwork ,queue 
+64ac 202064af branch classic_bluetooth_set_flag 
+
+classic_bt_clr_reject_justwork_flag:
+64ad d8e00000 arg flag_ssp_reject_justwork ,queue 
+64ae 202064b3 branch classic_bluetooth_clr_flag 
+
+classic_bluetooth_set_flag:
+64af 6fe2452e fetch 1 ,mem_classic_bt_flag 
+64b0 f9207e00 qset1 pdata 
+64b1 67e2452e store 1 ,mem_classic_bt_flag 
+64b2 20600000 rtn 
+
+classic_bluetooth_clr_flag:
+64b3 6fe2452e fetch 1 ,mem_classic_bt_flag 
+64b4 f93ffe00 qset0 pdata 
+64b5 67e2452e store 1 ,mem_classic_bt_flag 
+64b6 20600000 rtn 
+
+send_lmp_io_cap_req:
+64b7 18000e05 force 5 ,queue 
+64b8 20406682 call send_lmpext 
+64b9 6fe6462d fetch 3 ,mem_sp_iocap_local 
+64ba e7e60005 istore 3 ,contw 
+64bb 20206694 branch send_lmp_request 
+
+send_lmpext_sniff_subrating_req:
+64bc 20600000 rtn 
+
+send_lmpext_sniff_subrating_res:
+64bd 18000e09 force 9 ,queue 
+64be 20406682 call send_lmpext 
+64bf 6fe20095 fetch 1 ,mem_subsniff_rate 
+64c0 e7e20005 istore 1 ,contw 
+64c1 6fe40096 fetch 2 ,mem_subsniff_tcmax 
+64c2 e7e40005 istore 2 ,contw 
+64c3 6fe80091 fetch 4 ,mem_subsniff_instant 
+64c4 e7e80005 istore 4 ,contw 
+64c5 20206692 branch send_lmp_reply 
+
+send_lmp_name_res:
+64c6 18007e11 force 17 ,pdata 
+64c7 2040667a call msg_send_lmp 
+64c8 6fe20049 fetch 1 ,mem_lmi_opcode 
+64c9 1fe20400 copy pdata ,temp 
+64ca c00064ce beq 0x00 ,send_lmp_name_res_offset_ok 
+64cb c00764ce beq 0x0e ,send_lmp_name_res_offset_ok 
+64cc c00e64ce beq 0x1c ,send_lmp_name_res_offset_ok 
+64cd 20600000 rtn 
+
+send_lmp_name_res_offset_ok:
+64ce e7e20005 istore 1 ,contw 
+64cf 6fe244e7 fetch 1 ,mem_local_name_length 
+64d0 e7e20005 istore 1 ,contw 
+64d1 df20000e arg 14 ,loopcnt 
+64d2 580044e8 setarg mem_local_name 
+64d3 98408c00 iadd temp ,contr 
+64d4 20407cdc call memcpy 
+64d5 20206692 branch send_lmp_reply 
+
+send_lmp_timing_accuracy_res:
+64d6 18007e03 force 3 ,pdata 
+64d7 2040667a call msg_send_lmp 
+64d8 58000114 setarg 0x0114 
+64d9 e7e40005 istore 2 ,contw 
+64da 20206692 branch send_lmp_reply 
+
+send_lmp_clkoffset_res:
+64db 18007e03 force 3 ,pdata 
+64dc 2040667a call msg_send_lmp 
+64dd 6fe80163 fetch 4 ,mem_clke_bt 
+64de 9c467e00 isub clkn_bt ,pdata 
+64df 2034e4e1 branch send_lmp_clkoffset_res_master ,master 
+64e0 1fe67e00 sub pdata ,0 ,pdata 
+
+send_lmp_clkoffset_res_master:
+64e1 1feb7e00 rshift2 pdata ,pdata 
+64e2 793ffe0f set0 15 ,pdata 
+64e3 e7e40005 istore 2 ,contw 
+64e4 20206692 branch send_lmp_reply 
+
+send_lmp_version_res:
+64e5 18007e06 force 6 ,pdata 
+64e6 2040667a call msg_send_lmp 
+64e7 6fea44e2 fetch 5 ,mem_lmp_version 
+64e8 e7ea0005 istore 5 ,contw 
+64e9 20206692 branch send_lmp_reply 
+
+send_lmp_features_res:
+64ea 18007e09 force 9 ,pdata 
+64eb 2040667a call msg_send_lmp 
+64ec 6ff04098 fetch 8 ,mem_features 
+64ed e7f00005 istore 8 ,contw 
+64ee 20206692 branch send_lmp_reply 
+
+send_lmpext_features_req:
+64ef 18000e0c force 12 ,queue 
+64f0 20406682 call send_lmpext 
+64f1 58000001 setarg 0x01 
+64f2 e7e20005 istore 1 ,contw 
+64f3 6fe404ca fetch 2 ,mem_lmpext_ssp_enable 
+64f4 e7e40005 istore 2 ,contw 
+64f5 58000000 setarg 0 
+64f6 e7e60005 istore 3 ,contw 
+64f7 58000000 setarg 0x00 
+64f8 e7e80005 istore 4 ,contw 
+64f9 20206694 branch send_lmp_request 
+
+send_lmpext_packet_type_table_req:
+64fa 18000e03 force 3 ,queue 
+64fb 20406682 call send_lmpext 
+64fc 6fe2415b fetch 1 ,mem_ptt 
+64fd e7e20005 istore 1 ,contw 
+64fe 78547c00 disable user 
+64ff 20406694 call send_lmp_request 
+6500 24740000 nrtn user 
+6501 24748000 nrtn master 
+6502 6fe240d8 fetch 1 ,mem_afh_cfg 
+6503 c4000000 rtnbit0 afh_cfg_on 
+6504 20406514 call afh_init 
+6505 2020651e branch afh_open_all_channels 
+
+ssp_enable:
+6506 47204028 bpatchx patch28_0 ,mem_patch28 
+6507 6fe2409e fetch 1 ,mem_features + 6 
+6508 79207e03 set1 param_featrue_ssp ,pdata 
+6509 67e2409e store 1 ,mem_features + 6 
+650a 58000101 setarg param_lmpext_ssp_enable 
+650b 67e404ca store 2 ,mem_lmpext_ssp_enable 
+650c 20600000 rtn 
+
+ssp_disable:
+650d 4720c028 bpatchx patch28_1 ,mem_patch28 
+650e 6fe2409e fetch 1 ,mem_features + 6 
+650f 793ffe03 set0 param_featrue_ssp ,pdata 
+6510 67e2409e store 1 ,mem_features + 6 
+6511 58000000 setarg 0 
+6512 67e404ca store 2 ,mem_lmpext_ssp_enable 
+6513 20600000 rtn 
+
+afh_init:
+6514 7040d803 jam 0x3 ,mem_afh_cfg 
+6515 58000000 setarg 0 
+6516 67e84142 store 4 ,mem_afh_timer 
+6517 d8a040da arg mem_afh_map_lo ,contw 
+6518 20406522 call afh_reset_map 
+6519 d8a040e7 arg mem_afh_map_new ,contw 
+651a 20406522 call afh_reset_map 
+651b d8a04146 arg mem_afh_classify_channel_map ,contw 
+651c 20406522 call afh_reset_map 
+651d 20206529 branch afh_clear_error_counter 
+
+afh_open_all_channels:
+651e d8a040e7 arg mem_afh_map_new ,contw 
+651f 20406522 call afh_reset_map 
+6520 20406529 call afh_clear_error_counter 
+6521 2020652c branch afh_set_send_flag 
+
+afh_reset_map:
+6522 58ffffff setarg 0xffffff 
+6523 e7e60005 istore 3 ,contw 
+6524 e7e60005 istore 3 ,contw 
+6525 e7e60005 istore 3 ,contw 
+6526 5800007f setarg 0x7f 
+6527 e7e20005 istore 1 ,contw 
+6528 20600000 rtn 
+
+afh_clear_error_counter:
+6529 58000000 setarg 0 
+652a 67e440d6 store 2 ,mem_afh_error_total 
+652b 20600000 rtn 
+
+afh_set_send_flag:
+652c 6fe240d8 fetch 1 ,mem_afh_cfg 
+652d 79207e02 set1 send_lmp_set_afh ,pdata 
+652e 67e240d8 store 1 ,mem_afh_cfg 
+652f 20600000 rtn 
+
+send_lmpext_pause_encryption_req:
+6530 18000e02 force 2 ,queue 
+6531 20406682 call send_lmpext 
+6532 2434e692 nbranch send_lmp_reply ,master 
+6533 20206694 branch send_lmp_request 
+
+send_lmp_detach:
+6534 18007e02 force 2 ,pdata 
+6535 2040667a call msg_send_lmp 
+6536 6fe204c6 fetch 1 ,mem_disconn_reason_send 
+6537 e7e20005 istore 1 ,contw 
+6538 20406694 call send_lmp_request 
+
+prepare_disconnect:
+6539 6fe2004b fetch 1 ,mem_op 
+653a 79207e03 set1 op_disconn ,pdata 
+653b 67e2004b store 1 ,mem_op 
+653c 70007232 jam 50 ,mem_conn_timer 
+653d 20600000 rtn 
+
+send_lmp_no_payload:
+653e 18007e01 force 1 ,pdata 
+653f 2040667a call msg_send_lmp 
+6540 20206694 branch send_lmp_request 
+
+send_lmp_nopayload_reply:
+6541 18007e01 force 1 ,pdata 
+6542 2040667a call msg_send_lmp 
+6543 20206692 branch send_lmp_reply 
+
+send_lmp_encryption_mode_req:
+6544 18007e02 force 2 ,pdata 
+6545 2040667a call msg_send_lmp 
+6546 6fe2004c fetch 1 ,mem_state_map 
+6547 2fec0002 isolate0 smap_encryption ,pdata 
+6548 7920fe00 setflag true ,0 ,pdata 
+6549 1fe17e01 and_into 1 ,pdata 
+654a e7e20005 istore 1 ,contw 
+654b 20206694 branch send_lmp_request 
+
+send_lmp_superto:
+654c 18007e03 force 3 ,pdata 
+654d 2040667a call msg_send_lmp 
+654e 6fe40051 fetch 2 ,mem_supervision_to 
+654f e7e40005 istore 2 ,contw 
+6550 20206694 branch send_lmp_request 
+
+send_lmp_name_req:
+6551 700072fa jam 250 ,mem_conn_timer 
+6552 18007e02 force 2 ,pdata 
+6553 2040667a call msg_send_lmp 
+6554 6fe20053 fetch 1 ,mem_name_offset 
+6555 e7e20005 istore 1 ,contw 
+6556 20206694 branch send_lmp_request 
+
+send_lmp_test_control:
+6557 18007e0a force 10 ,pdata 
+6558 2040667a call msg_send_lmp 
+6559 d8c00150 arg mem_temp_payload ,contr 
+655a 18007209 force 9 ,loopcnt 
+
+send_lmp_test_control_loop:
+655b efe20006 ifetch 1 ,contr 
+655c 1fe2fe55 xor_into 0x55 ,pdata 
+655d e7e20005 istore 1 ,contw 
+655e c200655b loop send_lmp_test_control_loop 
+655f 20206694 branch send_lmp_request 
+
+send_lmp_quality_of_service_req:
+6560 20206694 branch send_lmp_request 
+
+send_lmp_unit_key:
+6561 20206694 branch send_lmp_request 
+
+send_lmp_slot_offset:
+6562 20748000 rtn master 
+6563 20404829 call calc_slot_offset 
+6564 18007e09 force 9 ,pdata 
+6565 2040667a call msg_send_lmp 
+6566 6fe4016f fetch 2 ,mem_slot_offset 
+6567 e7e40005 istore 2 ,contw 
+6568 6fe640a0 fetch 3 ,mem_lap 
+6569 e7e60005 istore 3 ,contw 
+656a 6fe240a3 fetch 1 ,mem_uap 
+656b e7e20005 istore 1 ,contw 
+656c 6fe440a4 fetch 2 ,mem_nap 
+656d e7e40005 istore 2 ,contw 
+656e c581e573 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+656f 793f8003 set0 mark_switch_initiated ,mark 
+6570 20406694 call send_lmp_request 
+6571 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6572 20600000 rtn 
+
+send_lmp_slot_offset_reply:
+6573 20406692 call send_lmp_reply 
+6574 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+6575 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+6576 20600000 rtn 
+
+send_lmp_switch_req:
+6577 d8400200 arg 0x200 ,temp 
+6578 2034e57b branch switch_on_native ,master 
+6579 1d027e00 deposit clke_bt 
+657a 2020657c branch switch_slack 
+
+switch_on_native:
+657b 1c427e00 deposit clkn_bt 
+
+switch_slack:
+657c 1c227e00 deposit bt_clk 
+657d 9840fe00 iadd temp ,pdata 
+657e 1fe17ffc and_into 0x1fc ,pdata 
+657f 67e80034 store 4 ,mem_sniff_anchor 
+6580 18007e05 force 5 ,pdata 
+6581 2040667a call msg_send_lmp 
+6582 6fe80034 fetch 4 ,mem_sniff_anchor 
+6583 1fe37e00 rshift pdata ,pdata 
+6584 e7e80005 istore 4 ,contw 
+6585 20206694 branch send_lmp_request 
+
+send_lmp_sniff_req:
+6586 18007e0a force 10 ,pdata 
+6587 2040667a call msg_send_lmp 
+6588 d8c004d5 arg mem_sniff_payload ,contr 
+6589 eff20006 ifetch 9 ,contr 
+658a e7f20005 istore 9 ,contw 
+658b 20206694 branch send_lmp_request 
+
+send_lmp_timing_accuracy_req:
+658c 18007e03 force 3 ,pdata 
+658d 2040667a call msg_send_lmp 
+658e 58000114 setarg 0x0114 
+658f e7e40005 istore 2 ,contw 
+6590 20206694 branch send_lmp_request 
+
+send_lmp_unsniff_req:
+6591 18007e01 force 1 ,pdata 
+6592 2040667a call msg_send_lmp 
+6593 20206694 branch send_lmp_request 
+
+send_lmp_max_slot:
+6594 18007e02 force 2 ,pdata 
+6595 2040667a call msg_send_lmp 
+6596 6fe240d0 fetch 1 ,mem_max_slot 
+6597 e7e20005 istore 1 ,contw 
+6598 20206694 branch send_lmp_request 
+
+send_lmp_max_slot_req:
+6599 18007e02 force 2 ,pdata 
+659a 2040667a call msg_send_lmp 
+659b 58000005 setarg 0x05 
+659c e7e20005 istore 1 ,contw 
+659d 20206694 branch send_lmp_request 
+
+send_lmp_inc_power:
+659e 18007e02 force 2 ,pdata 
+659f 2040667a call msg_send_lmp 
+65a0 58000000 setarg 0x00 
+65a1 e7e20005 istore 1 ,contw 
+65a2 20206694 branch send_lmp_request 
+
+send_lmp_setup_complete_by_module:
+65a3 70007c2e jam lmp_max_slot_req ,mem_lmo_opcode2 
+65a4 20600000 rtn 
+
+send_lmp_setup_complete:
+65a5 6fe24092 fetch 1 ,mem_device_option 
+65a6 1fe67c0a sub pdata ,dvc_op_module ,null 
+65a7 2042e5a3 call send_lmp_setup_complete_by_module ,zero 
+65a8 6fe20030 fetch 1 ,mem_state 
+65a9 79207e04 set1 state_conn_comp ,pdata 
+65aa 67e20030 store 1 ,mem_state 
+65ab 1c427e00 copy clkn_bt ,pdata 
+65ac 67e804e5 store 4 ,mem_aurand_send_delay_time 
+65ad 6fe204cd fetch 1 ,mem_lmp_conn_state 
+65ae c281e5b6 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+65af 79207e03 set1 sent_setup_complete ,pdata 
+65b0 67e204cd store 1 ,mem_lmp_conn_state 
+65b1 700a9505 jam bt_evt_setup_complete ,mem_fifo_temp 
+65b2 20407bab call ui_ipc_send_event 
+65b3 18007e01 force 1 ,pdata 
+65b4 2040667a call msg_send_lmp 
+65b5 20206694 branch send_lmp_request 
+
+send_lmp_setup_complete_has_sent:
+65b6 70004800 jam 0 ,mem_lmp_to_send 
+65b7 20600000 rtn 
+
+send_lmp_version_req:
+65b8 18007e06 force 6 ,pdata 
+65b9 2040667a call msg_send_lmp 
+65ba 6fea44e2 fetch 5 ,mem_lmp_version 
+65bb e7ea0005 istore 5 ,contw 
+65bc 20206694 branch send_lmp_request 
+
+send_lmp_features_req:
+65bd 18007e09 force 9 ,pdata 
+65be 2040667a call msg_send_lmp 
+65bf 6ff04098 fetch 8 ,mem_features 
+65c0 e7f00005 istore 8 ,contw 
+65c1 20206694 branch send_lmp_request 
+
+sp_master_send_io_cap_get:
+65c2 7009ad01 jam sp_flag_commit ,mem_master_sp_flag 
+65c3 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+65c4 c1808000 rtnne sp_key_valid 
+65c5 7009ab13 jam sp_master_stat_start_done ,mem_master_sp_state 
+65c6 20600000 rtn 
+
+sp_master_send_io_cap_send:
+65c7 204066d1 call tid_initiate 
+65c8 70007c99 jam lmp_io_cap_req ,mem_lmo_opcode2 
+65c9 7009ab03 jam sp_stat_key_send ,mem_master_sp_state 
+65ca 20600000 rtn 
+
+sp_master_send_lmp_encapsulated_header:
+65cb 204066d1 call tid_initiate 
+65cc 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+65cd 7009ab07 jam sp_stat_random_send ,mem_master_sp_state 
+65ce 20600000 rtn 
+
+sp_master_commitment_compare:
+65cf da200a4a arg mem_sp_calc_result_high ,rega 
+65d0 da400a6a arg mem_sp_confirm_remote ,regb 
+65d1 df200010 arg 16 ,loopcnt 
+65d2 20407d63 call string_compare 
+65d3 2022e5d9 branch sp_master_commitment_compare_success ,zero 
+65d4 7009ab00 jam sp_stat_null ,mem_master_sp_state 
+65d5 2040758f call master_clear_mem_master_sp_flag 
+65d6 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+65d7 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+65d8 20206134 branch reject_lmp_packet 
+
+sp_master_commitment_compare_success:
+65d9 7009ab0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+65da 2040758d call master_set_mem_master_sp_flag 
+65db 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+65dc 20206219 branch accept_lmp_msg 
+
+sp_master_send_lmp_simple_pairing_number:
+65dd 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+65de 20600000 rtn 
+
+sp_send_lmp_encapsulated_header:
+65df 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+65e0 20600000 rtn 
+
+send_lmp_encapsulated_header:
+65e1 7009b200 jam 0 ,mem_sp_local_key_send_count 
+65e2 18007e04 force 4 ,pdata 
+65e3 2040667a call msg_send_lmp 
+65e4 18007e01 force encapsulated_major_type_p192 ,pdata 
+65e5 e7e20005 istore 1 ,contw 
+65e6 18007e01 force encapsulated_minor_type_p192 ,pdata 
+65e7 e7e20005 istore 1 ,contw 
+65e8 18007e30 force encapsulated_len_p192 ,pdata 
+65e9 e7e20005 istore 1 ,contw 
+65ea 204066de call check_localsm 
+65eb 2020e694 branch send_lmp_request ,true 
+65ec 20206692 branch send_lmp_reply 
+
+send_lmp_encapsulated_payload:
+65ed 18007e11 force 17 ,pdata 
+65ee 2040667a call msg_send_lmp 
+65ef 6fe209b2 fetch 1 ,mem_sp_local_key_send_count 
+65f0 d8c045fc arg mem_sp_pubkey_local ,contr 
+65f1 98c08c00 iadd contr ,contr 
+65f2 eff00006 ifetch 8 ,contr 
+65f3 e7f00005 istore 8 ,contw 
+65f4 eff00006 ifetch 8 ,contr 
+65f5 e7f00005 istore 8 ,contw 
+65f6 6fe209b2 fetch 1 ,mem_sp_local_key_send_count 
+65f7 1fe0fe10 increase 16 ,pdata 
+65f8 67e209b2 store 1 ,mem_sp_local_key_send_count 
+65f9 204066de call check_localsm 
+65fa 2020e694 branch send_lmp_request ,true 
+65fb 20206692 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_comfirm:
+65fc 7009aa06 jam sp_stat_random_recv ,mem_sp_state 
+65fd 70007c3f jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+65fe 20600000 rtn 
+
+send_lmp_simple_pairing_comfirm:
+65ff 18007e11 force 17 ,pdata 
+6600 2040667a call msg_send_lmp 
+6601 d8c00a4a arg mem_sp_calc_result_high ,contr 
+6602 eff00006 ifetch 8 ,contr 
+6603 e7f00005 istore 8 ,contw 
+6604 eff00006 ifetch 8 ,contr 
+6605 e7f00005 istore 8 ,contw 
+6606 20206692 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_number:
+6607 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+6608 20600000 rtn 
+
+send_lmp_simple_pairing_number:
+6609 204066de call check_localsm 
+660a 2040f4c7 call sp_local_random_key_generator ,true 
+660b 18007e11 force 17 ,pdata 
+660c 2040667a call msg_send_lmp 
+660d d8c00a1a arg mem_sp_random_local ,contr 
+660e eff00006 ifetch 8 ,contr 
+660f e7f00005 istore 8 ,contw 
+6610 eff00006 ifetch 8 ,contr 
+6611 e7f00005 istore 8 ,contw 
+6612 204066de call check_localsm 
+6613 2420e692 nbranch send_lmp_reply ,true 
+6614 2020e694 branch send_lmp_request ,true 
+
+master_sp_sm_end:
+6615 7009ab0f jam sp_stat_done ,mem_master_sp_state 
+
+sp_aurand_send:
+6616 204066d1 call tid_initiate 
+6617 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+6618 204066e9 call check_localsm_master 
+6619 2020f503 branch sp_master_key_prarm_push ,true 
+661a 2020750d branch sp_link_key_prarm_push 
+
+master_sp_send_lmp_dhkey_check:
+661b 204066cd call tid_reply 
+
+sp_send_lmp_dhkey_check:
+661c 70007c41 jam lmp_dhkey_check ,mem_lmo_opcode2 
+661d 20600000 rtn 
+
+send_lmp_dhkey_check:
+661e 18007e11 force 17 ,pdata 
+661f 2040667a call msg_send_lmp 
+6620 d8c00a4a arg mem_sp_calc_result_high ,contr 
+6621 eff00006 ifetch 8 ,contr 
+6622 e7f00005 istore 8 ,contw 
+6623 eff00006 ifetch 8 ,contr 
+6624 e7f00005 istore 8 ,contw 
+6625 204066de call check_localsm 
+6626 2420e692 nbranch send_lmp_reply ,true 
+6627 2020e694 branch send_lmp_request ,true 
+
+send_lmp_enc_key_size_mask_res:
+6628 18007e03 force 3 ,pdata 
+6629 2040667a call msg_send_lmp 
+662a 5800fffe setarg 0xfffe 
+662b e7e40005 istore 2 ,contw 
+662c 20206692 branch send_lmp_reply 
+
+send_lmp_auto_rate:
+662d 20206694 branch send_lmp_request 
+
+send_lmp_clkoffset_req:
+662e 20206694 branch send_lmp_request 
+
+send_lmp_quality_of_service:
+662f 20206694 branch send_lmp_request 
+
+send_lmp_test_activate:
+6630 20206694 branch send_lmp_request 
+
+send_lmp_comb_key:
+6631 204066ed call generate_random_number 
+6632 da2040a0 arg mem_lap ,rega 
+6633 204066f3 call generate_linkkey 
+6634 18007e11 force 17 ,pdata 
+6635 2040667a call msg_send_lmp 
+6636 da20057e arg mem_kinit ,rega 
+6637 da40055e arg mem_random_number ,regb 
+6638 20407208 call xor16 
+6639 2434e689 nbranch send_lmp_follow ,master 
+663a 2020668f branch send_lmp_tid 
+
+send_lmp_inrand:
+663b 204066ed call generate_random_number 
+663c da200040 arg mem_plap ,rega 
+663d 20407114 call generate_kinit 
+
+send_lmp_rand:
+663e 18007e11 force 17 ,pdata 
+663f 2040667a call msg_send_lmp 
+6640 d8c0055e arg mem_random_number ,contr 
+6641 20407c9a call memcpy16 
+6642 6fe20055 fetch 1 ,mem_conn_sm 
+6643 c00ce694 beq conn_sm_auth_wait ,send_lmp_request 
+6644 c00c6694 beq conn_sm_pairing_wait ,send_lmp_request 
+6645 2020668f branch send_lmp_tid 
+
+send_lmp_aurand:
+6646 6fe209b1 fetch 1 ,mem_pairing_auth 
+6647 203a664c branch send_lmp_aurand_notpairing ,blank 
+6648 204066de call check_localsm 
+6649 2040e6d1 call tid_initiate ,true 
+664a 2440e6cd ncall tid_reply ,true 
+664b 2020664d branch send_lmp_aurand_common 
+
+send_lmp_aurand_notpairing:
+664c 204066d1 call tid_initiate 
+
+send_lmp_aurand_common:
+664d 204066ed call generate_random_number 
+664e 2020663e branch send_lmp_rand 
+
+send_lmp_sres:
+664f da2040a0 arg mem_lap ,rega 
+6650 20407147 call function_e1 
+6651 18007e05 force 5 ,pdata 
+6652 2040667a call msg_send_lmp 
+6653 6fe8058e fetch 4 ,mem_input_store 
+6654 e7e80005 istore 4 ,contw 
+6655 d84004d1 arg mem_sres_tid ,temp 
+6656 204066c4 call special_tid_store 
+6657 2040723c call copy_aco 
+6658 204066de call check_localsm 
+6659 2020e65e branch send_lmp_sres_master ,true 
+665a 7004d401 jam done_encryp ,mem_wait_encryption 
+665b 6fe209b1 fetch 1 ,mem_pairing_auth 
+665c 207a0000 rtn blank 
+665d 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+
+send_lmp_sres_master:
+665e 6fe241be fetch 1 ,mem_link_key_exists 
+665f 207a0000 rtn blank 
+
+send_lmp_sres_startenc:
+6660 204066de call check_localsm 
+6661 2420e666 nbranch send_lmp_sres_startenc_slave ,true 
+6662 6fe204d3 fetch 1 ,mem_auth_enable 
+6663 207a0000 rtn blank 
+6664 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6665 20600000 rtn 
+
+send_lmp_sres_startenc_slave:
+6666 c6908000 rtnmark0 mark_slave_in_rand_accepted 
+6667 793f8021 set0 mark_slave_in_rand_accepted ,mark 
+6668 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6669 20600000 rtn 
+
+send_lmp_start_encryption:
+666a 204066ed call generate_random_number 
+666b 2040714a call function_e3 
+666c 18007e11 force 17 ,pdata 
+666d 2040667a call msg_send_lmp 
+666e d8c0055e arg mem_random_number ,contr 
+666f 20407c9a call memcpy16 
+6670 2020668f branch send_lmp_tid 
+
+send_lmp_stop_encryption_req:
+6671 18007e01 force 1 ,pdata 
+6672 2040667a call msg_send_lmp 
+6673 2020668f branch send_lmp_tid 
+
+send_lmp_encryption_key_size_req:
+6674 18007e02 force 2 ,pdata 
+6675 2040667a call msg_send_lmp 
+6676 18007e10 force 16 ,pdata 
+6677 e7e20005 istore 1 ,contw 
+6678 67e20054 store 1 ,mem_key_size 
+6679 2020668f branch send_lmp_tid 
+
+msg_send_lmp:
+667a 1fe9fe00 lshift3 pdata ,pdata 
+667b 1fe1fe07 or_into 0x07 ,pdata 
+667c 67e204b2 store 1 ,mem_lmo_header_length 
+667d df200011 arg 17 ,loopcnt 
+667e d8a004b4 arg mem_lmo_payload ,contw 
+667f 20407caf call clear_mem 
+6680 d8a004b4 arg mem_lmo_payload ,contw 
+6681 20600000 rtn 
+
+send_lmpext:
+6682 1fe1227f and pdata ,0x7f ,rega 
+6683 7000487f jam lmp_escape ,mem_lmp_to_send 
+6684 18e27e00 deposit queue 
+6685 2040667a call msg_send_lmp 
+6686 1a227e00 deposit rega 
+6687 e7e20005 istore 1 ,contw 
+6688 20600000 rtn 
+
+send_lmp_follow:
+6689 6fe20048 fetch 1 ,mem_lmp_to_send 
+668a 1fe3fe00 lshift pdata ,pdata 
+668b 6842004c fetcht 1 ,mem_state_map 
+668c 284ffe01 isolate1 smap_lmptid ,temp 
+668d 7920fe00 setflag true ,0 ,pdata 
+668e 20206699 branch send_lmp_exit 
+
+send_lmp_tid:
+668f 6842004c fetcht 1 ,mem_state_map 
+6690 18410401 and_into 1 ,temp 
+6691 20206695 branch send_lmp_end 
+
+send_lmp_reply:
+6692 18000400 force 0 ,temp 
+6693 20206695 branch send_lmp_end 
+
+send_lmp_request:
+6694 18000401 force 1 ,temp 
+
+send_lmp_end:
+6695 6fe20048 fetch 1 ,mem_lmp_to_send 
+6696 1fe3fe00 lshift pdata ,pdata 
+6697 7934fe00 setflag master ,0 ,pdata 
+6698 9842fe00 ixor temp ,pdata 
+
+send_lmp_exit:
+6699 67e204b3 store 1 ,mem_lmo_header_opcode 
+669a 70004800 jam 0 ,mem_lmp_to_send 
+669b 204066a9 call lmo_fifo_process_lmo0empty 
+669c 78347c00 enable user 
+669d 20600000 rtn 
+
+lmo_fifo_check:
+669e 6fe2007c fetch 1 ,mem_lmo_opcode2 
+669f 207a0000 rtn blank 
+66a0 204066a3 call lmo_fifo_process 
+66a1 6fe2007c fetch 1 ,mem_lmo_opcode2 
+66a2 20600000 rtn 
+
+lmo_fifo_process:
+66a3 47214028 bpatchx patch28_2 ,mem_patch28 
+66a4 6fe20048 fetch 1 ,mem_lmp_to_send 
+66a5 203a66a9 branch lmo_fifo_process_lmo0empty ,blank 
+66a6 6fe20078 fetch 1 ,mem_lmo_opcode1 
+66a7 247a0000 nrtn blank 
+66a8 202066b3 branch lmo_fifo_process_lmo2to1 
+
+lmo_fifo_process_lmo0empty:
+66a9 6fe20078 fetch 1 ,mem_lmo_opcode1 
+66aa 203a66b9 branch lmo_fifo_process_lmo1_empty ,blank 
+66ab 6fe60078 fetch 3 ,mem_lmo_opcode1 
+66ac 67e60048 store 3 ,mem_lmp_to_send 
+66ad 6842007b fetcht 1 ,mem_lmo_tid1 
+66ae 6fe2004c fetch 1 ,mem_state_map 
+66af 793ffe01 set0 smap_lmptid ,pdata 
+66b0 9841fe00 ior temp ,pdata 
+66b1 67e2004c store 1 ,mem_state_map 
+66b2 70007800 jam 0 ,mem_lmo_opcode1 
+
+lmo_fifo_process_lmo2to1:
+66b3 6fe2007c fetch 1 ,mem_lmo_opcode2 
+66b4 207a0000 rtn blank 
+66b5 6fe8007c fetch 4 ,mem_lmo_opcode2 
+66b6 67e80078 store 4 ,mem_lmo_opcode1 
+66b7 70007c00 jam 0 ,mem_lmo_opcode2 
+66b8 20600000 rtn 
+
+lmo_fifo_process_lmo1_empty:
+66b9 6fe2007c fetch 1 ,mem_lmo_opcode2 
+66ba 207a0000 rtn blank 
+66bb 6fe6007c fetch 3 ,mem_lmo_opcode2 
+66bc 67e60048 store 3 ,mem_lmp_to_send 
+66bd 6842007f fetcht 1 ,mem_lmo_tid2 
+66be 6fe2004c fetch 1 ,mem_state_map 
+66bf 793ffe01 set0 smap_lmptid ,pdata 
+66c0 9841fe00 ior temp ,pdata 
+66c1 67e2004c store 1 ,mem_state_map 
+66c2 70007c00 jam 0 ,mem_lmo_opcode2 
+66c3 20600000 rtn 
+
+special_tid_store:
+66c4 4721c028 bpatchx patch28_3 ,mem_patch28 
+66c5 6fe2004c fetch 1 ,mem_state_map 
+66c6 1fe22600 copy pdata ,regc 
+66c7 efe20002 ifetch 1 ,temp 
+66c8 20406233 call pop_tid_follow 
+66c9 20406689 call send_lmp_follow 
+66ca 1a627e00 copy regc ,pdata 
+66cb 67e2004c store 1 ,mem_state_map 
+66cc 20600000 rtn 
+
+tid_reply:
+66cd 6842004c fetcht 1 ,mem_state_map 
+66ce 793f8400 set0 smap_lmptidinit ,temp 
+66cf 6042004c storet 1 ,mem_state_map 
+66d0 20600000 rtn 
+
+tid_initiate:
+66d1 6842004c fetcht 1 ,mem_state_map 
+66d2 79200400 set1 smap_lmptidinit ,temp 
+66d3 6042004c storet 1 ,mem_state_map 
+66d4 20600000 rtn 
+
+tid_check:
+66d5 7d34fe01 nsetflag master ,smap_lmptid ,pdata 
+66d6 6842004c fetcht 1 ,mem_state_map 
+66d7 9842fe00 ixor temp ,pdata 
+66d8 2feffe01 isolate1 smap_lmptid ,pdata 
+66d9 20600000 rtn 
+
+tid_set_reply:
+66da 6fe2004c fetch 1 ,mem_state_map 
+66db 7934fe01 setflag master ,smap_lmptid ,pdata 
+66dc 67e2004c store 1 ,mem_state_map 
+66dd 20600000 rtn 
+
+check_localsm:
+66de 6fe209b0 fetch 1 ,mem_sp_localsm 
+66df 2fe0fe01 compare local_statemachine ,pdata ,0x7f 
+66e0 20600000 rtn 
+
+setlocalsm_master:
+66e1 6fe209b0 fetch 1 ,mem_sp_localsm 
+66e2 79207e07 set1 7 ,pdata 
+66e3 67e209b0 store 1 ,mem_sp_localsm 
+66e4 20600000 rtn 
+
+setlocalsm_slave:
+66e5 6fe209b0 fetch 1 ,mem_sp_localsm 
+66e6 793ffe07 set0 7 ,pdata 
+66e7 67e209b0 store 1 ,mem_sp_localsm 
+66e8 20600000 rtn 
+
+check_localsm_master:
+66e9 6fe209b0 fetch 1 ,mem_sp_localsm 
+66ea 2feffe07 isolate1 7 ,pdata 
+66eb 67e209b0 store 1 ,mem_sp_localsm 
+66ec 20600000 rtn 
+
+generate_random_number:
+66ed d8a0055e arg mem_random_number ,contw 
+
+generate_random:
+66ee 18007210 force 16 ,loopcnt 
+
+generate_random_another:
+
+generate_random_loop:
+66ef 180a7e00 random pdata 
+66f0 e7e20005 istore 1 ,contw 
+66f1 c20066ef loop generate_random_another 
+66f2 20600000 rtn 
+
+generate_linkkey:
+66f3 20407118 call function_e21 
+66f4 da2041bf arg mem_link_key ,rega 
+66f5 da40058e arg mem_input_store ,regb 
+66f6 eff00011 ifetch 8 ,rega 
+66f7 68420030 fetcht 1 ,mem_state 
+66f8 7d3a0406 nsetflag blank ,state_combkey ,temp 
+66f9 60420030 storet 1 ,mem_state 
+66fa 1a220a00 copy rega ,contw 
+66fb 20407208 call xor16 
+66fc 202041c0 branch generate_linkkey_continue 
+
+process_conn_sm:
+66fd 47224028 bpatchx patch28_4 ,mem_patch28 
+66fe 2040669e call lmo_fifo_check 
+66ff 247a0000 nrtn blank 
+
+process_conn_sm_continue:
+6700 6fe20055 fetch 1 ,mem_conn_sm 
+6701 207a0000 rtn blank 
+6702 c0026751 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+6703 c002e756 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+6704 c0016748 beq conn_sm_send_features ,host_create_conn_send_features 
+6705 c001e75e beq conn_sm_wait_features_res ,host_create_conn_waiting 
+6706 c007674b beq conn_sm_send_switch ,host_create_conn_send_switch 
+6707 c003677a beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+6708 c003e792 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+6709 c004e793 beq conn_sm_encrypt ,host_create_conn_encrypt 
+670a c005679c beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+670b c005e7a0 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+670c c0066768 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+670d c006e76b beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+670e c007e771 beq conn_sm_detach_delay ,host_create_conn_master_detach 
+670f c009673b beq conn_sm_send_version ,host_create_conn_send_version 
+6710 c009e75e beq conn_sm_wait_version ,host_create_conn_waiting 
+6711 c008673e beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+6712 c00a6738 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+6713 c00ae75e beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+6714 c00b6732 beq conn_sm_pairing ,host_create_conn_pairing 
+6715 c00c6737 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+6716 c00be72b beq conn_sm_auth ,host_create_conn_auth 
+6717 c00ce731 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+6718 c00d671c beq conn_sm_done ,host_create_conn_done 
+6719 c00de726 beq conn_sm_wait_done ,host_create_conn_done_wait 
+671a 70005500 jam conn_sm_standby ,mem_conn_sm 
+671b 20600000 rtn 
+
+host_create_conn_done:
+671c 6fe204cd fetch 1 ,mem_lmp_conn_state 
+671d c4010000 rtnbit0 received_setup_complete 
+671e c4018000 rtnbit0 sent_setup_complete 
+671f 70005500 jam conn_sm_standby ,mem_conn_sm 
+6720 20406722 call host_conn_judge_encrypt 
+6721 20206bae branch scheduler_start_upper_sm 
+
+host_conn_judge_encrypt:
+6722 6fe2016b fetch 1 ,mem_connection_options 
+6723 c4008000 rtnbit0 connection_encrypt 
+6724 7000550a jam conn_sm_encrypt_wait ,mem_conn_sm 
+6725 20600000 rtn 
+
+host_create_conn_done_wait:
+6726 d8e00007 arg enpt_delay_timer ,queue 
+6727 20407cf1 call timer_check 
+6728 247a0000 nrtn blank 
+6729 7000551a jam conn_sm_done ,mem_conn_sm 
+672a 20600000 rtn 
+
+host_create_conn_auth:
+672b 6fe2016b fetch 1 ,mem_connection_options 
+672c 793ffe00 set0 connection_auth ,pdata 
+672d 67e2016b store 1 ,mem_connection_options 
+672e 70005519 jam conn_sm_auth_wait ,mem_conn_sm 
+672f 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+6730 20600000 rtn 
+
+host_create_conn_auth_wait:
+6731 20600000 rtn 
+
+host_create_conn_pairing:
+6732 6fe204d0 fetch 1 ,mem_pincode_state 
+6733 c1810000 rtnne pincode_state_pincode_ready 
+6734 204067a2 call host_auth 
+6735 70005518 jam conn_sm_pairing_wait ,mem_conn_sm 
+6736 20600000 rtn 
+
+host_create_conn_pairing_wait:
+6737 20600000 rtn 
+
+host_creat_conn_send_feat_ext:
+6738 70005515 jam conn_sm_wait_features_ext ,mem_conn_sm 
+6739 70007c83 jam lmp_ext_features_req ,mem_lmo_opcode2 
+673a 20600000 rtn 
+
+host_create_conn_send_version:
+673b 70005513 jam conn_sm_wait_version ,mem_conn_sm 
+673c 70007c25 jam lmp_version_req ,mem_lmo_opcode2 
+673d 20600000 rtn 
+
+host_creat_conn_wait_switch:
+673e 6fe2452d fetch 1 ,mem_switch_flag 
+673f c1000000 rtneq switch_flag_init 
+6740 c000e746 beq switch_flag_accept ,host_create_conn_switch_accept 
+6741 d8e00006 arg switch_wait_timer ,queue 
+6742 20407cf1 call timer_check 
+6743 247a0000 nrtn blank 
+6744 70452d00 jam switch_flag_init ,mem_switch_flag 
+6745 2020675f branch host_create_conn_switch 
+
+host_create_conn_switch_accept:
+6746 20748000 rtn master 
+6747 2020677a branch host_create_conn_auth_pair 
+
+host_create_conn_send_features:
+6748 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+6749 70007c27 jam lmp_features_req ,mem_lmo_opcode2 
+674a 20600000 rtn 
+
+host_create_conn_send_switch:
+674b 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+674c 79200003 set1 mark_switch_initiated ,mark 
+674d 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+674e 580001ff setarg 0x1ff 
+674f 67e404ce store 2 ,mem_soft_timer 
+6750 20600000 rtn 
+
+host_create_conn_send_conn_req:
+6751 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+6752 7004ceff jam 0xff ,mem_soft_timer 
+6753 793f8022 set0 mark_reconn_recieve_switch ,mark 
+6754 70007c33 jam lmp_host_connection_req ,mem_lmo_opcode2 
+6755 202060e5 branch init_lmp_reinit 
+
+host_create_conn_wait_accept:
+6756 c6110000 rtnmark1 mark_reconn_recieve_switch 
+6757 6fe404ce fetch 2 ,mem_soft_timer 
+6758 1fe67e01 sub pdata ,1 ,pdata 
+6759 2022e75c branch host_create_conn_resend ,zero 
+675a 67e404ce store 2 ,mem_soft_timer 
+675b 20600000 rtn 
+
+host_create_conn_resend:
+675c 7000550e jam conn_sm_send_switch ,mem_conn_sm 
+675d 20600000 rtn 
+
+host_create_conn_waiting:
+675e 20600000 rtn 
+
+host_create_conn_switch:
+675f 6fe204cd fetch 1 ,mem_lmp_conn_state 
+6760 c4018000 rtnbit0 sent_setup_complete 
+6761 c4010000 rtnbit0 received_setup_complete 
+6762 6fe2016b fetch 1 ,mem_connection_options 
+6763 793ffe02 set0 connection_switch ,pdata 
+6764 67e2016b store 1 ,mem_connection_options 
+6765 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6766 70005510 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+6767 20600000 rtn 
+
+host_create_conn_send_setup_complete:
+6768 7000550d jam conn_sm_wait_setup_complete ,mem_conn_sm 
+6769 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+676a 20600000 rtn 
+
+host_create_conn_wait_setup_complete:
+676b 6fe204cd fetch 1 ,mem_lmp_conn_state 
+676c c4010000 rtnbit0 received_setup_complete 
+676d 70005500 jam conn_sm_standby ,mem_conn_sm 
+676e 20600000 rtn 
+
+host_create_conn_wait_setup_complete_rtn:
+676f 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+6770 20600000 rtn 
+
+host_create_conn_master_detach:
+6771 6fe204ce fetch 1 ,mem_soft_timer 
+6772 1fe0ffff increase -1 ,pdata 
+6773 203a6776 branch host_create_conn_send_detach ,blank 
+6774 67e204ce store 1 ,mem_soft_timer 
+6775 20600000 rtn 
+
+host_create_conn_send_detach:
+6776 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6777 7004c616 jam local_host ,mem_disconn_reason_send 
+6778 70005500 jam 0 ,mem_conn_sm 
+6779 20600000 rtn 
+
+host_create_conn_auth_pair:
+677a 6fe2016b fetch 1 ,mem_connection_options 
+677b c281675f bbit1 connection_switch ,host_create_conn_switch 
+677c c280677f bbit1 connection_auth ,host_create_conn_auth_pair_true 
+
+host_create_conn_sm_done:
+677d 7000551a jam conn_sm_done ,mem_conn_sm 
+677e 20600000 rtn 
+
+host_create_conn_auth_pair_true:
+677f 6fe241be fetch 1 ,mem_link_key_exists 
+6780 203a678b branch host_create_conn_auth_pair_nokey ,blank 
+6781 6fe204cd fetch 1 ,mem_lmp_conn_state 
+6782 c4018000 rtnbit0 sent_setup_complete 
+6783 c4010000 rtnbit0 received_setup_complete 
+6784 6fe804e5 fetch 4 ,mem_aurand_send_delay_time 
+6785 d8400064 arg 100 ,temp 
+6786 98408400 iadd temp ,temp 
+6787 1c427e00 copy clkn_bt ,pdata 
+6788 98467c00 isub temp ,null 
+6789 24610000 nrtn positive 
+678a 2020672b branch host_create_conn_auth 
+
+host_create_conn_auth_pair_nokey:
+678b 70005516 jam conn_sm_pairing ,mem_conn_sm 
+678c 70465704 jam 4 ,mem_pin_length 
+678d 58003030 setarg 0x3030 
+678e 67e44658 store 2 ,mem_pin 
+678f e7e40005 istore 2 ,contw 
+6790 7004d002 jam pincode_state_pincode_ready ,mem_pincode_state 
+6791 20206732 branch host_create_conn_pairing 
+
+host_create_conn_auth_pair_wait:
+6792 20600000 rtn 
+
+host_create_conn_encrypt:
+6793 6fe2016b fetch 1 ,mem_connection_options 
+6794 c280e797 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+6795 7000551a jam conn_sm_done ,mem_conn_sm 
+6796 20600000 rtn 
+
+host_create_conn_encrypt_start:
+6797 6fe2016b fetch 1 ,mem_connection_options 
+6798 793ffe01 set0 connection_encrypt ,pdata 
+6799 67e2016b store 1 ,mem_connection_options 
+679a 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+679b 20600000 rtn 
+
+host_create_conn_encrypt_wait:
+679c 6fe204d4 fetch 1 ,mem_wait_encryption 
+679d 207a0000 rtn blank 
+679e 70005500 jam conn_sm_standby ,mem_conn_sm 
+679f 20206797 branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+67a0 7000550c jam conn_sm_send_setup_complete ,mem_conn_sm 
+67a1 20600000 rtn 
+
+host_auth:
+67a2 6fe2004b fetch 1 ,mem_op 
+67a3 c28167a7 bbit1 op_inrand_req ,remote_auth 
+67a4 204066d1 call tid_initiate 
+67a5 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+67a6 202050ea branch cmd_exit 
+
+remote_auth:
+67a7 6fe2004b fetch 1 ,mem_op 
+67a8 793ffe02 set0 op_inrand_req ,pdata 
+67a9 67e2004b store 1 ,mem_op 
+67aa 204063e3 call lmp_accept_inrand 
+67ab 204066da call tid_set_reply 
+67ac 202050ea branch cmd_exit 
+
+pincode_reinit:
+67ad 58000004 setarg 4 
+67ae 67e24657 store 1 ,mem_pin_length 
+67af 58003030 setarg 0x3030 
+67b0 e7e40005 istore 2 ,contw 
+67b1 e7e40005 istore 2 ,contw 
+67b2 20600000 rtn 
+
+soft_reset_chip:
+67b3 70801001 hjam 1 ,core_reset 
+67b4 20600000 rtn 
+
+uartd_prepare_tx:
+67b5 47244029 bpatchx patch29_0 ,mem_patch29 
+67b6 6fe44ff6 fetch 2 ,ipc_bt2m0_write_ptr 
+67b7 1fe21400 copy pdata ,contwu 
+67b8 20600000 rtn 
+
+uartd_send:
+67b9 4724c029 bpatchx patch29_1 ,mem_patch29 
+67ba 19427e00 copy contwu ,pdata 
+67bb 67e44ff6 store 2 ,ipc_bt2m0_write_ptr 
+
+wake_up_m0:
+67bc 6fe28043 fetch 1 ,core_config 
+67bd c3838000 rtnbit1 7 
+67be 79207e07 set1 7 ,pdata 
+67bf 67e28043 store 1 ,core_config 
+67c0 20600000 rtn 
+
+uart_copy_tx_bytes_fast:
+67c1 1f227e00 deposit loopcnt 
+67c2 207a0000 rtn blank 
+
+uart_copy_tx_bytes_fast_loop:
+67c3 1f20f3f8 increase -8 ,loopcnt 
+67c4 204167ce call uart_tx_8_bytes ,positive 
+67c5 20628000 rtn zero 
+67c6 202167c3 branch uart_copy_tx_bytes_fast_loop ,positive 
+67c7 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_tx_bytes_fast_loop_four:
+67c8 1f20f3fc increase -4 ,loopcnt 
+67c9 204167d1 call uart_tx_4_bytes ,positive 
+67ca 20628000 rtn zero 
+67cb 202167c8 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+67cc 1f20f204 increase 4 ,loopcnt 
+67cd 202067d4 branch uart_copy_tx_bytes 
+
+uart_tx_8_bytes:
+67ce eff00006 ifetch 8 ,contr 
+67cf e7f0000a istore 8 ,contwu 
+67d0 20600000 rtn 
+
+uart_tx_4_bytes:
+67d1 efe80006 ifetch 4 ,contr 
+67d2 e7e8000a istore 4 ,contwu 
+67d3 20600000 rtn 
+
+uart_copy_tx_bytes:
+67d4 1f227e00 deposit loopcnt 
+67d5 207a0000 rtn blank 
+
+uart_copy_tx_bytes_loop:
+67d6 efe20006 ifetch 1 ,contr 
+67d7 e7e2000a istore 1 ,contwu 
+67d8 c20067d6 loop uart_copy_tx_bytes_loop 
+67d9 20600000 rtn 
+
+uart_copy_rx_bytes_fast:
+67da 1f227e00 deposit loopcnt 
+67db 207a0000 rtn blank 
+
+uart_copy_rx_bytes_fast_loop:
+67dc 1f20f3f8 increase -8 ,loopcnt 
+67dd 204167e7 call uart_rx_8_bytes ,positive 
+67de 20628000 rtn zero 
+67df 202167dc branch uart_copy_rx_bytes_fast_loop ,positive 
+67e0 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_rx_bytes_fast_loop_four:
+67e1 1f20f3fc increase -4 ,loopcnt 
+67e2 204167ea call uart_rx_4_bytes ,positive 
+67e3 20628000 rtn zero 
+67e4 202167e1 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+67e5 1f20f204 increase 4 ,loopcnt 
+67e6 202067ed branch uart_copy_rx_bytes 
+
+uart_rx_8_bytes:
+67e7 eff00003 ifetch 8 ,contru 
+67e8 e7f00005 istore 8 ,contw 
+67e9 20600000 rtn 
+
+uart_rx_4_bytes:
+67ea efe80003 ifetch 4 ,contru 
+67eb e7e80005 istore 4 ,contw 
+67ec 20600000 rtn 
+
+uart_copy_rx_bytes:
+67ed 1f227e00 deposit loopcnt 
+67ee 207a0000 rtn blank 
+
+uart_copy_rx_bytes_loop:
+67ef efe20003 ifetch 1 ,contru 
+67f0 e7e20005 istore 1 ,contw 
+67f1 c20067ef loop uart_copy_rx_bytes_loop 
+67f2 20600000 rtn 
+
+uartd_rxdone:
+67f3 47254029 bpatchx patch29_2 ,mem_patch29 
+67f4 18627e00 copy contru ,pdata 
+67f5 67e44ffc store 2 ,ipc_m02bt_read_ptr 
+67f6 20600000 rtn 
+
+uartd_prepare_rx:
+67f7 4725c029 bpatchx patch29_3 ,mem_patch29 
+67f8 6fe44ffc fetch 2 ,ipc_m02bt_read_ptr 
+67f9 1fe20600 copy pdata ,contru 
+67fa 20600000 rtn 
+
+app_store_nvram_event:
+67fb 700a953d jam bt_evt_store_nvram ,mem_fifo_temp 
+67fc 20207bab branch ui_ipc_send_event 
+
+eeprom_store_le_reconn_info:
+
+eeprom_store_bd_reconn_info:
+
+check_51cmd_store_reconn_info:
+
+check_51cmd_update_device_record:
+67fd 47264029 bpatchx patch29_4 ,mem_patch29 
+67fe 6fe24216 fetch 1 ,mem_nv_data_number 
+67ff 207a0000 rtn blank 
+6800 20406895 call check_nvram 
+6801 2042e89b call init_device_list ,zero 
+6802 20406830 call nvram_find_addr_from_bd_list 
+
+write_device_record:
+6803 6fe24216 fetch 1 ,mem_nv_data_number 
+6804 1fe22600 icopy regc 
+6805 68444214 fetcht 2 ,mem_nv_data_ptr 
+6806 6044018a storet 2 ,mem_list_item_ptr 
+
+write_device_loop_find:
+6807 1a627e00 copy regc ,pdata 
+6808 203a67fb branch app_store_nvram_event ,blank 
+6809 1a60a7ff increase -1 ,regc 
+680a 18422200 copy temp ,rega 
+680b efe20011 ifetch 1 ,rega 
+680c 68420182 fetcht 1 ,mem_select_list_item 
+680d 98467c00 isub temp ,null 
+680e 2042e817 call set_index_finded_device ,zero 
+680f 20216813 branch write_device_loop_find0 ,positive 
+6810 efe20011 ifetch 1 ,rega 
+6811 1fe0fe01 increase 1 ,pdata 
+6812 e7e20011 istore 1 ,rega 
+
+write_device_loop_find0:
+6813 6844018a fetcht 2 ,mem_list_item_ptr 
+6814 18408422 increase nv_data_len ,temp 
+6815 6044018a storet 2 ,mem_list_item_ptr 
+6816 20206807 branch write_device_loop_find 
+
+set_index_finded_device:
+6817 58000000 setarg 0 
+6818 e7e20011 istore 1 ,rega 
+6819 6fe20183 fetch 1 ,mem_temp_reconn_record 
+681a e7e20005 istore 1 ,contw 
+681b c099e825 bne rec_3_mode ,set_index_finded_device_ble_mode 
+681c da4041bf arg mem_link_key ,regb 
+
+set_index_find_device_master_addr:
+681d efec0006 ifetch 6 ,contr 
+681e e7f00005 istore 8 ,contw 
+681f 58000000 setarg 0 
+6820 e7f00005 istore 8 ,contw 
+6821 1a420c00 copy regb ,contr 
+
+store_rec_data_common:
+6822 20407c9a call memcpy16 
+6823 18007c01 force 1 ,null 
+6824 20600000 rtn 
+
+set_index_finded_device_ble_mode:
+6825 c01b6829 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+6826 c01be82d beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+6827 da4043eb arg mem_le_ltk ,regb 
+6828 2020681d branch set_index_find_device_master_addr 
+
+set_index_finded_device_irk:
+6829 d8c044a7 arg mem_le_irk ,contr 
+682a 20407c9a call memcpy16 
+
+store_ble_rec_data_common:
+682b d8c043eb arg mem_le_ltk ,contr 
+682c 20206822 branch store_rec_data_common 
+
+set_index_finded_device_ediv:
+682d d8c0449f arg mem_le_rand ,contr 
+682e 20407c9a call memcpy16 
+682f 2020682b branch store_ble_rec_data_common 
+
+nvram_find_addr_from_bd_list:
+6830 20407dc1 call disable_user 
+6831 6fe24216 fetch 1 ,mem_nv_data_number 
+6832 207a0000 rtn blank 
+6833 6fe44652 fetch 2 ,mem_ui_state_map 
+6834 c2806846 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+
+find_addr_from_bd_list_ble_mode:
+6835 4726c029 bpatchx patch29_5 ,mem_patch29 
+6836 6fe24460 fetch 1 ,mem_le_conn_peer_addr_type 
+6837 c000683f beq master_public_addr ,find_addr_from_bd_list_static_addr 
+6838 6fe20450 fetch 1 ,mem_le_plap + 5 
+6839 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+683a 2020e83f branch find_addr_from_bd_list_static_addr ,true 
+683b 2fe18040 compare 0x40 ,pdata ,0xc0 
+683c 2020e844 branch find_addr_from_bd_list_random_addr ,true 
+683d 2fe18000 compare 0x00 ,pdata ,0xc0 
+683e 2020e842 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+
+find_addr_from_bd_list_static_addr:
+683f 70018335 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+6840 6fec044b fetch 6 ,mem_le_plap 
+6841 20206849 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_non_resolvable_private_address:
+6842 70018337 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+6843 20206849 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_addr:
+6844 70018336 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+6845 20206849 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_spp_mode:
+6846 47274029 bpatchx patch29_6 ,mem_patch29 
+6847 70018333 jam rec_3_mode ,mem_temp_reconn_record 
+6848 6fec0040 fetch 6 ,mem_plap 
+
+find_addr_from_bd_list_common:
+6849 67ec0184 store 6 ,mem_temp_reconn_record + 1 
+684a 6fe44214 fetch 2 ,mem_nv_data_ptr 
+684b e842003f ifetcht 1 ,pdata 
+684c 1fe0fe01 pincrease 1 
+684d 67e4018a store 2 ,mem_list_item_ptr 
+684e 60420182 storet 1 ,mem_select_list_item 
+684f 6fe24216 fetch 1 ,mem_nv_data_number 
+6850 1fe22600 icopy regc 
+
+nvram_find_addr_from_list:
+6851 6fe4018a fetch 2 ,mem_list_item_ptr 
+6852 1fe22200 copy pdata ,rega 
+6853 20406861 call nvram_find_addr_from_list_compare 
+6854 20740000 rtn user 
+6855 6844018a fetcht 2 ,mem_list_item_ptr 
+6856 18408422 increase nv_data_len ,temp 
+6857 6044018a storet 2 ,mem_list_item_ptr 
+6858 184085ff increase -1 ,temp 
+6859 efe20002 ifetch 1 ,temp 
+685a 67e20182 store 1 ,mem_select_list_item 
+685b 1a60a7ff increase -1 ,regc 
+685c 2422e851 nbranch nvram_find_addr_from_list ,zero 
+685d 6fe24216 fetch 1 ,mem_nv_data_number 
+685e 1fe0ffff pincrease decreased_one 
+685f 67e20182 store 1 ,mem_select_list_item 
+6860 20600000 rtn 
+
+nvram_find_addr_from_list_compare:
+6861 6fe20183 fetch 1 ,mem_temp_reconn_record 
+6862 c099e868 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+
+find_master_addr_from_list_compare:
+6863 da400183 arg mem_temp_reconn_record ,regb 
+6864 df200007 arg 7 ,loopcnt 
+6865 20407d63 call string_compare 
+6866 2022fdbf branch enable_user ,zero 
+6867 20600000 rtn 
+
+find_addr_from_list_compare_ble_mode:
+6868 c01b686b beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+6869 c01be886 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+686a 20206863 branch find_master_addr_from_list_compare 
+
+find_irk_form_list_compare:
+686b e8420011 ifetcht 1 ,rega 
+686c 98467c00 isub temp ,null 
+686d 24628000 nrtn zero 
+686e d8a00abe arg mem_le_prand ,contw 
+686f df200010 arg 16 ,loopcnt 
+6870 20407caf call clear_mem 
+6871 6fe6044e fetch 3 ,mem_le_plap + 3 
+6872 67e60abe store 3 ,mem_le_prand 
+6873 2040687d call genernate_master_macaddress 
+6874 6fe40adb fetch 2 ,mem_le_aes_128 + 13 
+6875 1ff0fe00 byteswap pdata ,pdata 
+6876 1fed0400 lshift8 pdata ,temp 
+6877 efe20006 ifetch 1 ,contr 
+6878 9840fe00 iadd temp ,pdata 
+6879 6846044b fetcht 3 ,mem_le_plap 
+687a 98467c00 isub temp ,null 
+687b 2022fdbf branch enable_user ,zero 
+687c 20600000 rtn 
+
+genernate_master_macaddress:
+687d d8c00abe arg mem_le_prand ,contr 
+687e 2040733b call load_data128 
+687f efe20011 ifetch 1 ,rega 
+6880 20407338 call load_key128 
+6881 18006c50 force aes_big_endian | aes_load ,aes_ctrl 
+6882 18006c00 force 0 ,aes_ctrl 
+6883 204072d1 call wait_aes 
+6884 d8a00ace arg mem_le_aes_128 ,contw 
+6885 2020734c branch store_aes_result 
+
+find_ediv_form_list_compare:
+6886 e8420011 ifetcht 1 ,rega 
+6887 98467c00 isub temp ,null 
+6888 24628000 nrtn zero 
+6889 18c22200 copy contr ,rega 
+688a 18c0a608 add contr ,8 ,regc 
+688b da40449f arg mem_le_rand ,regb 
+688c df200008 arg 8 ,loopcnt 
+688d 20407d63 call string_compare 
+688e 2022fdbf branch enable_user ,zero 
+688f 1a622200 copy regc ,rega 
+6890 da4044a7 arg mem_le_irk ,regb 
+6891 df200008 arg 8 ,loopcnt 
+6892 20407d63 call string_compare 
+6893 2022fdbf branch enable_user ,zero 
+6894 20600000 rtn 
+
+check_nvram:
+6895 6fe44214 fetch 2 ,mem_nv_data_ptr 
+6896 e842003f ifetcht 1 ,pdata 
+6897 1fe0fe22 pincrease nv_data_len 
+6898 efe2003f ifetch 1 ,pdata 
+6899 98467c00 isub temp ,null 
+689a 20600000 rtn 
+
+init_device_list:
+689b 6fe24216 fetch 1 ,mem_nv_data_number 
+689c 1fe27200 icopy loopcnt 
+689d 68444214 fetcht 2 ,mem_nv_data_ptr 
+689e 58000000 setarg 0 
+
+init_device_list_loop:
+689f e7e20002 istore 1 ,temp 
+68a0 18408422 increase nv_data_len ,temp 
+68a1 1fe0fe01 pincrease 1 
+68a2 c200689f loop init_device_list_loop 
+68a3 20600000 rtn 
+
+load_device_list:
+68a4 4727c029 bpatchx patch29_7 ,mem_patch29 
+68a5 20406830 call nvram_find_addr_from_bd_list 
+68a6 6fe20030 fetch 1 ,mem_state 
+68a7 79347e06 setflag user ,state_combkey ,pdata 
+68a8 67e20030 store 1 ,mem_state 
+68a9 243468ae nbranch clear_key_exists ,user 
+68aa 1a208c0a add rega ,10 ,contr 
+68ab d8a041bf arg mem_link_key ,contw 
+68ac 20407c9a call memcpy16 
+68ad 202068be branch check_link_key_load 
+
+clear_key_exists:
+68ae 7041be00 jam 0 ,mem_link_key_exists 
+68af 20600000 rtn 
+
+load_device_list_mode_4:
+68b0 6ff2449d fetch 9 ,mem_le_ediv 
+68b1 203a68bc branch clear_ltk_exists ,blank 
+68b2 20406830 call nvram_find_addr_from_bd_list 
+68b3 243468bc nbranch clear_ltk_exists ,user 
+68b4 6fe4018a fetch 2 ,mem_list_item_ptr 
+68b5 1fe08c01 add pdata ,1 ,contr 
+68b6 d8a044a7 arg mem_le_irk ,contw 
+68b7 20407c9a call memcpy16 
+68b8 d8a043eb arg mem_le_ltk ,contw 
+68b9 20407c9a call memcpy16 
+68ba 7043fb01 jam 1 ,mem_ltk_exists 
+68bb 20600000 rtn 
+
+clear_ltk_exists:
+68bc 7043fb00 jam 0 ,mem_ltk_exists 
+68bd 20600000 rtn 
+
+check_link_key_load:
+68be 6ff041bf fetch 8 ,mem_link_key 
+68bf 685041c7 fetcht 8 ,mem_link_key + 8 
+68c0 9841fe00 ior temp ,pdata 
+68c1 207a0000 rtn blank 
+68c2 7041be01 jam 1 ,mem_link_key_exists 
+68c3 20600000 rtn 
+
+rfcomm_init:
+68c4 20758000 rtn wake 
+68c5 70453900 jam 0 ,mem_rfcomm_send_more_pkt 
+68c6 7004e903 jam bits9600 ,memremoterpnbitrate 
+68c7 7004ea03 jam databits8 ,memremoteprndatabits 
+68c8 7004ee11 jam 0x11 ,memremoteprnxon 
+68c9 7004ef13 jam 0x13 ,memremoteprnxoff 
+68ca 58000000 setarg 0 
+68cb 67e604eb store 3 ,memremoteprnstopbit 
+68cc 67e24226 store 1 ,mem_spp_state 
+68cd 70465100 jam 0 ,memui_reconnect_mode 
+
+rfcomm_init_spp:
+68ce 4728402a bpatchx patch2a_0 ,mem_patch2a 
+68cf 58000000 setarg 0 
+68d0 67e24226 store 1 ,mem_spp_state 
+68d1 67e24536 store 1 ,mem_remote_spp_channel 
+68d2 67e2452f store 1 ,mem_pn_dlci 
+68d3 6fe2453d fetch 1 ,mem_credit_flag 
+68d4 c000e8d7 beq credit_enable ,rfcomm_init_spp_with_credit 
+68d5 70453b50 jam 0x50 ,mem_credit_given 
+68d6 20600000 rtn 
+
+rfcomm_init_spp_with_credit:
+68d7 70453b00 jam 0x00 ,mem_credit_given 
+68d8 20600000 rtn 
+
+set_cr_bit:
+68d9 18418402 or_into 0x02 ,temp 
+68da 20600000 rtn 
+
+rfcomm_calculate_fcs_sabm:
+68db 18427e00 copy temp ,pdata 
+68dc 1fedfe00 reverse pdata ,pdata 
+68dd 67e24534 store 1 ,memfcstemp3 
+68de 18007e3f force ini_tx_sabm ,pdata 
+68df 1fedfe00 reverse pdata ,pdata 
+68e0 67e24533 store 1 ,memfcstemp2 
+68e1 18007e01 force 0x01 ,pdata 
+68e2 1fedfe00 reverse pdata ,pdata 
+68e3 67e24532 store 1 ,memfcstemp1 
+68e4 20406911 call caculate_fcs 
+68e5 18427e00 copy temp ,pdata 
+68e6 20600000 rtn 
+
+rfcomm_calculate_fcs_ua:
+68e7 1fedfe00 reverse pdata ,pdata 
+68e8 67e24534 store 1 ,memfcstemp3 
+68e9 18007e73 force rsp_tx_ua ,pdata 
+68ea 1fedfe00 reverse pdata ,pdata 
+68eb 67e24533 store 1 ,memfcstemp2 
+68ec 18007e01 force 0x01 ,pdata 
+68ed 1fedfe00 reverse pdata ,pdata 
+68ee 67e24532 store 1 ,memfcstemp1 
+68ef 20206911 branch caculate_fcs 
+
+rfcomm_calculate_fcs_dlci0:
+68f0 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+68f1 203a68f4 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+68f2 58000070 setarg 0x70 
+68f3 20600000 rtn 
+
+rfcomm_calculate_fcs_dlci0_res:
+68f4 580000aa setarg 0xaa 
+68f5 20600000 rtn 
+
+rfcomm_save_fcs_uih:
+68f6 1fedfe00 reverse pdata ,pdata 
+68f7 67e24534 store 1 ,memfcstemp3 
+68f8 18007eef force rsp_rx_uih ,pdata 
+68f9 20406905 call caculate_uihdata_fcs 
+68fa 684404f3 fetcht 2 ,mem_contw_temp 
+68fb 18420a00 copy temp ,contw 
+68fc e7e20005 istore 1 ,contw 
+68fd 18a20400 copy contw ,temp 
+68fe 604404f3 storet 2 ,mem_contw_temp 
+68ff 18007eff force rsp_rx_uih_wdata ,pdata 
+6900 20406905 call caculate_uihdata_fcs 
+6901 684404f3 fetcht 2 ,mem_contw_temp 
+6902 18420a00 copy temp ,contw 
+6903 e7e20005 istore 1 ,contw 
+6904 20600000 rtn 
+
+caculate_uihdata_fcs:
+6905 1fedfe00 reverse pdata ,pdata 
+6906 67e24533 store 1 ,memfcstemp2 
+6907 6fe44533 fetch 2 ,memfcstemp2 
+6908 1fed7e00 lshift8 pdata ,pdata 
+6909 67e604f0 store 3 ,mem_mod2div_temp 
+690a da200107 arg 0x107 ,rega 
+690b da40000f arg 0xf ,regb 
+690c 2040691e call mod2div 
+690d 1fe2fed7 xor_into 0xd7 ,pdata 
+690e 1fe47e00 invert pdata ,pdata 
+690f 1fedfe00 reverse pdata ,pdata 
+6910 20600000 rtn 
+
+caculate_fcs:
+6911 6fe64532 fetch 3 ,memfcstemp1 
+6912 67e604f0 store 3 ,mem_mod2div_temp 
+6913 da200107 arg 0x107 ,rega 
+6914 da40000f arg 0xf ,regb 
+6915 2040691e call mod2div 
+6916 1fed7e00 lshift8 pdata ,pdata 
+6917 da400007 arg 0x7 ,regb 
+6918 2040691e call mod2div 
+6919 1fe2fe2b xor_into 0x2b ,pdata 
+691a 1fe47e00 invert pdata ,pdata 
+691b 1fedfe00 reverse pdata ,pdata 
+691c 1fe20400 copy pdata ,temp 
+691d 20600000 rtn 
+
+mod2div:
+691e da600000 arg 0 ,regc 
+691f 1a427200 copy regb ,loopcnt 
+6920 20407c4c call right_shift_n 
+6921 1fe20400 icopy temp 
+
+mod2div_loop:
+6922 18427e00 copy temp ,pdata 
+6923 1a63a600 lshift regc ,regc 
+6924 c3046927 bbit0 8 ,mod2div_not_enough_reduction 
+6925 9a228400 ixor rega ,temp 
+6926 1a60a601 increase 1 ,regc 
+
+mod2div_not_enough_reduction:
+6927 18438400 lshift temp ,temp 
+6928 6fe604f0 fetch 3 ,mem_mod2div_temp 
+6929 1a40a5ff increase -1 ,regb 
+692a 2a41feff compare 0xff ,regb ,0xff 
+692b 2020e931 branch mod2div_end ,true 
+692c 1a427200 copy regb ,loopcnt 
+692d 20407c4c call right_shift_n 
+692e 2feffe00 isolate1 0 ,pdata 
+692f 79208400 setflag true ,0 ,temp 
+6930 20206922 branch mod2div_loop 
+
+mod2div_end:
+6931 18437e00 rshift temp ,pdata 
+6932 20600000 rtn 
+
+get_rfcomm_snd_adss:
+6933 6842452f fetcht 1 ,mem_pn_dlci 
+
+dlci_to_address_cmd:
+6934 184b8400 lshift2 temp ,temp 
+6935 79200400 set1 rfcomm_address_ext_len ,temp 
+6936 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+6937 245a68d9 ncall set_cr_bit ,blank 
+6938 60420509 storet 1 ,mem_rfcomm_send_adss 
+6939 20600000 rtn 
+
+channel_to_dlci:
+693a 18438400 lshift temp ,temp 
+693b 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+693c 793a0400 setflag blank ,0 ,temp 
+693d 20600000 rtn 
+
+rfcomm_rx_process_dlci0_sabm:
+693e 684204f8 fetcht 1 ,mem_current_channel 
+693f 7004fad7 jam 0xd7 ,mem_current_fcs 
+6940 20406a77 call rfcomm_send_ua 
+6941 6fe24223 fetch 1 ,mem_rfcomm_state 
+6942 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6943 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6944 67e24223 store 1 ,mem_rfcomm_state 
+6945 70453500 jam 0 ,mem_rfcomm_initiator 
+6946 20206a58 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_dlci0_ua:
+6947 6fe24223 fetch 1 ,mem_rfcomm_state 
+6948 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6949 67e24223 store 1 ,mem_rfcomm_state 
+694a 20206a58 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process:
+694b 4728c02a bpatchx patch2a_1 ,mem_patch2a 
+694c 6fe24651 fetch 1 ,memui_reconnect_mode 
+694d c000694f beq no_reconnection ,rfcomm_rx_process_remote_page 
+694e 20206a0d branch rfcomm_rx_process_reconn 
+
+rfcomm_rx_process_remote_page:
+694f 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+6950 1fe20c00 copy pdata ,contr 
+6951 20406979 call get_rfcomm_head_struct 
+6952 6fe204f8 fetch 1 ,mem_current_channel 
+6953 c0006955 beq 0 ,parse_dlci0_rp 
+6954 202069d9 branch parse_uih_rp 
+
+parse_dlci0_rp:
+6955 4729402a bpatchx patch2a_2 ,mem_patch2a 
+6956 6fe204f9 fetch 1 ,mem_current_frame_type 
+6957 c01fe93e beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6958 c039e947 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6959 c077e95c beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+695a c029ea05 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+695b 20600000 rtn 
+
+parse_dlci0_rp_uih:
+695c 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+695d 1fe20c00 copy pdata ,contr 
+695e 20406984 call get_rfcomm_uih_head_struct 
+695f 6fe204ff fetch 1 ,mem_uih_cmd_type 
+6960 c020e966 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+6961 c020696e beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+6962 c038e9a7 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+6963 c03869b3 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+6964 c024e9be beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+6965 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_cmd:
+6966 20406970 call parse_dlci0_rp_uih_pn_res_common 
+6967 20206968 branch parse_dlci0_rp_uih_pn_cmd_spp 
+
+parse_dlci0_rp_uih_pn_cmd_spp:
+6968 6fe24226 fetch 1 ,mem_spp_state 
+6969 79207e00 set1 rfcomm_channel_state_pn_cmd ,pdata 
+696a 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+696b 67e24226 store 1 ,mem_spp_state 
+696c 20406aa1 call rfcomm_send_param_neg_res 
+696d 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res:
+696e 20406970 call parse_dlci0_rp_uih_pn_res_common 
+696f 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res_common:
+6970 2040698c call get_param_payload_ptr 
+6971 20206998 branch get_rfcomm_prarmer_negotiation 
+
+get_rfcomm_param_modem_status:
+6972 2040698c call get_param_payload_ptr 
+6973 efe20006 ifetch 1 ,contr 
+6974 1fe97e00 rshift3 pdata ,pdata 
+6975 67e2453c store 1 ,mem_ms_channel 
+6976 efe20006 ifetch 1 ,contr 
+6977 67e20504 store 1 ,mem_ms_param 
+6978 20600000 rtn 
+
+get_rfcomm_head_struct:
+6979 efe20006 ifetch 1 ,contr 
+697a 67e204f7 store 1 ,mem_current_adss 
+697b 1fe97e00 rshift3 pdata ,pdata 
+697c 67e204f8 store 1 ,mem_current_channel 
+697d efe20006 ifetch 1 ,contr 
+697e 67e204f9 store 1 ,mem_current_frame_type 
+
+get_rfcomm_current_length:
+697f 2040698f call get_rfcomm_length_common 
+6980 604404fb storet 2 ,mem_current_length 
+6981 18c27e00 copy contr ,pdata 
+6982 67e404fd store 2 ,mem_rfcomm_uih_payload_ptr 
+6983 20600000 rtn 
+
+get_rfcomm_uih_head_struct:
+6984 efe20006 ifetch 1 ,contr 
+6985 1fe37e00 rshift pdata ,pdata 
+6986 67e204ff store 1 ,mem_uih_cmd_type 
+6987 2040698f call get_rfcomm_length_common 
+6988 60440500 storet 2 ,mem_uih_length 
+6989 18c27e00 copy contr ,pdata 
+698a 67e40502 store 2 ,mem_param_payload_ptr 
+698b 20600000 rtn 
+
+get_param_payload_ptr:
+698c 6fe40502 fetch 2 ,mem_param_payload_ptr 
+698d 1fe20c00 copy pdata ,contr 
+698e 20600000 rtn 
+
+get_rfcomm_length_common:
+698f efe20006 ifetch 1 ,contr 
+6990 1fe20400 copy pdata ,temp 
+6991 18430400 rshift temp ,temp 
+6992 c3800000 rtnbit1 0 
+6993 efe20006 ifetch 1 ,contr 
+6994 1fe9fe00 lshift3 pdata ,pdata 
+6995 1ff27e00 lshift4 pdata ,pdata 
+6996 98408400 iadd temp ,temp 
+6997 20600000 rtn 
+
+get_rfcomm_prarmer_negotiation:
+6998 efe20006 ifetch 1 ,contr 
+6999 67e2452f store 1 ,mem_pn_dlci 
+699a efe20006 ifetch 1 ,contr 
+699b 67e20505 store 1 ,mem_pn_credit_flow_type_info 
+699c efe20006 ifetch 1 ,contr 
+699d 67e20506 store 1 ,mem_pn_priority 
+699e efe20006 ifetch 1 ,contr 
+699f 67e20507 store 1 ,mem_pn_acknowledg_timer 
+69a0 efe40006 ifetch 2 ,contr 
+69a1 67e44530 store 2 ,mem_pn_max_frame_size 
+69a2 efe20006 ifetch 1 ,contr 
+69a3 67e20508 store 1 ,mem_pn_max_retrans 
+69a4 efe20006 ifetch 1 ,contr 
+69a5 67e2453a store 1 ,mem_remote_credits 
+69a6 20600000 rtn 
+
+parse_dlci0_rp_uih_ms_cmd:
+69a7 20406972 call get_rfcomm_param_modem_status 
+69a8 202069a9 branch parse_dlci0_rp_uih_ms_cmd_spp 
+
+parse_dlci0_rp_uih_ms_cmd_spp:
+69a9 6fe24226 fetch 1 ,mem_spp_state 
+69aa 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+69ab 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+69ac 67e24226 store 1 ,mem_spp_state 
+69ad 6842452f fetcht 1 ,mem_pn_dlci 
+69ae 184b8400 lshift2 temp ,temp 
+69af 18418403 or_into 3 ,temp 
+69b0 20406ad2 call rfcomm_send_modem_status_res 
+69b1 70453903 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+69b2 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_ms_res:
+69b3 700a9508 jam bt_evt_spp_connected ,mem_fifo_temp 
+69b4 20407bab call ui_ipc_send_event 
+69b5 20406972 call get_rfcomm_param_modem_status 
+69b6 6fe2453c fetch 1 ,mem_ms_channel 
+69b7 1fe67c01 sub pdata ,1 ,null 
+69b8 2022e9ba branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+69b9 20204a8b branch assert 
+
+parse_dlci0_rp_uih_ms_res_spp:
+69ba 6fe24226 fetch 1 ,mem_spp_state 
+69bb 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+69bc 67e24226 store 1 ,mem_spp_state 
+69bd 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_cmd_port:
+69be 2040698c call get_param_payload_ptr 
+69bf efe20006 ifetch 1 ,contr 
+69c0 67e20abe store 1 ,mem_rpn_dlci 
+69c1 204056ac call l2cap_malloc_rfcomm_channel 
+69c2 204056ba call l2cap_get_rfcomm_tx_buff 
+69c3 5800000e setarg 0x000e 
+69c4 e7e40005 istore 2 ,contw 
+69c5 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+69c6 e7e40005 istore 2 ,contw 
+69c7 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+69c8 1fe3fe00 lshift pdata ,pdata 
+69c9 79207e00 set1 0 ,pdata 
+69ca e7e20005 istore 1 ,contw 
+69cb 4729c02a bpatchx patch2a_3 ,mem_patch2a 
+69cc 580015ef setarg 0x15ef 
+69cd e7e40005 istore 2 ,contw 
+69ce 58001191 setarg 0x1191 
+69cf e7e40005 istore 2 ,contw 
+69d0 6fe20abe fetch 1 ,mem_rpn_dlci 
+69d1 e7e20005 istore 1 ,contw 
+69d2 58000007 setarg 0x000007 
+69d3 e7ea0005 istore 5 ,contw 
+69d4 58000001 setarg 0x01 
+69d5 e7e40005 istore 2 ,contw 
+69d6 204068f0 call rfcomm_calculate_fcs_dlci0 
+69d7 e7e20005 istore 1 ,contw 
+69d8 20600000 rtn 
+
+parse_uih_rp:
+69d9 202069da branch parse_uih_rp_spp 
+
+parse_uih_rp_spp:
+69da 472a402a bpatchx patch2a_4 ,mem_patch2a 
+69db 6fe204f9 fetch 1 ,mem_current_frame_type 
+69dc c039e9e2 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+69dd c01fe9e6 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+69de c077ea00 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+69df c07fe9f8 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+69e0 c029ea07 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+69e1 20600000 rtn 
+
+parse_uih_rp_spp_ua:
+69e2 6fe24226 fetch 1 ,mem_spp_state 
+69e3 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+69e4 67e24226 store 1 ,mem_spp_state 
+69e5 20206a58 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_sabm:
+69e6 6fe24226 fetch 1 ,mem_spp_state 
+69e7 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+69e8 79207e02 set1 rfcomm_channel_state_sabm ,pdata 
+69e9 67e24226 store 1 ,mem_spp_state 
+69ea 6fe204f7 fetch 1 ,mem_current_adss 
+69eb 204068e7 call rfcomm_calculate_fcs_ua 
+69ec 67e204fa store 1 ,mem_current_fcs 
+69ed 20406a77 call rfcomm_send_ua 
+69ee 6fe204f7 fetch 1 ,mem_current_adss 
+69ef 1feb7e00 rshift2 pdata ,pdata 
+69f0 67e2452f store 1 ,mem_pn_dlci 
+69f1 1febfe00 lshift2 pdata ,pdata 
+69f2 793ffe01 set0 rfcomm_address_cr ,pdata 
+69f3 79207e00 set1 rfcomm_address_ext_len ,pdata 
+69f4 d8404537 arg mem_hiufcs_spp ,temp 
+69f5 604404f3 storet 2 ,mem_contw_temp 
+69f6 204068f6 call rfcomm_save_fcs_uih 
+69f7 20206a58 branch rfcomm_rx_process_end 
+
+parse_uih_spp_uih_credits:
+69f8 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+69f9 1fe20c00 copy pdata ,contr 
+69fa 1fe0fe01 increase 1 ,pdata 
+69fb 67e404fd store 2 ,mem_rfcomm_uih_payload_ptr 
+69fc efe20006 ifetch 1 ,contr 
+69fd 6842453a fetcht 1 ,mem_remote_credits 
+69fe 9840fe00 iadd temp ,pdata 
+69ff 67e2453a store 1 ,mem_remote_credits 
+
+parse_uih_spp_uih:
+6a00 20406b01 call rfcomm_increase_credit_given 
+
+parse_uih_spp_uih_cont:
+6a01 20406933 call get_rfcomm_snd_adss 
+6a02 20406ae9 call rfcomm_send_uih_without_payload 
+6a03 20406b0a call spp_process_rx_data 
+6a04 20206a58 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_disconn_send_event:
+6a05 700a9509 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+6a06 20407bab call ui_ipc_send_event 
+
+parse_uih_rp_spp_disconn:
+6a07 204068ce call rfcomm_init_spp 
+6a08 6fe204f7 fetch 1 ,mem_current_adss 
+6a09 204068e7 call rfcomm_calculate_fcs_ua 
+6a0a 67e204fa store 1 ,mem_current_fcs 
+6a0b 20406a77 call rfcomm_send_ua 
+6a0c 20206a58 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_reconn:
+6a0d 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+6a0e 1fe20c00 copy pdata ,contr 
+6a0f 20406979 call get_rfcomm_head_struct 
+6a10 6fe204f8 fetch 1 ,mem_current_channel 
+6a11 c0006a13 beq 0 ,parse_dlci0_reconn 
+6a12 20206a47 branch parse_uih_reconn 
+
+parse_dlci0_reconn:
+6a13 472ac02a bpatchx patch2a_5 ,mem_patch2a 
+6a14 6fe204f9 fetch 1 ,mem_current_frame_type 
+6a15 c01fe93e beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6a16 c039e947 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6a17 c077ea19 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+6a18 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih:
+6a19 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6a1a 1fe20c00 copy pdata ,contr 
+6a1b 20406984 call get_rfcomm_uih_head_struct 
+6a1c 6fe204ff fetch 1 ,mem_uih_cmd_type 
+6a1d c020ea22 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+6a1e c0206a22 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+6a1f c038ea2d beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+6a20 c0386a3d beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+6a21 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_pn_cmd:
+6a22 20406970 call parse_dlci0_rp_uih_pn_res_common 
+6a23 6fe2452f fetch 1 ,mem_pn_dlci 
+6a24 1fe37e00 rshift pdata ,pdata 
+6a25 68424536 fetcht 1 ,mem_remote_spp_channel 
+6a26 98467c00 isub temp ,null 
+6a27 2022ea29 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+6a28 20204a8b branch assert 
+
+parse_dlci0_reconn_uih_pn_cmd_spp:
+6a29 6fe24226 fetch 1 ,mem_spp_state 
+6a2a 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+6a2b 67e24226 store 1 ,mem_spp_state 
+6a2c 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd:
+6a2d 20406972 call get_rfcomm_param_modem_status 
+6a2e 6fe2453c fetch 1 ,mem_ms_channel 
+6a2f 68424536 fetcht 1 ,mem_remote_spp_channel 
+6a30 98467c00 isub temp ,null 
+6a31 2022ea34 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+6a32 20204a8b branch assert 
+6a33 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd_spp:
+6a34 6fe24226 fetch 1 ,mem_spp_state 
+6a35 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+6a36 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+6a37 67e24226 store 1 ,mem_spp_state 
+6a38 6842452f fetcht 1 ,mem_pn_dlci 
+6a39 184b8400 lshift2 temp ,temp 
+6a3a 18418403 or_into 3 ,temp 
+6a3b 20406ad2 call rfcomm_send_modem_status_res 
+6a3c 20206a58 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_res:
+6a3d 20406972 call get_rfcomm_param_modem_status 
+6a3e 6fe2453c fetch 1 ,mem_ms_channel 
+6a3f 68424536 fetcht 1 ,mem_remote_spp_channel 
+6a40 98467c00 isub temp ,null 
+6a41 2022ea43 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+6a42 20204a8b branch assert 
+
+parse_dlci0_reconn_uih_ms_res_spp:
+6a43 6fe24226 fetch 1 ,mem_spp_state 
+6a44 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+6a45 67e24226 store 1 ,mem_spp_state 
+6a46 20206a58 branch rfcomm_rx_process_end 
+
+parse_uih_reconn:
+6a47 6fe204f8 fetch 1 ,mem_current_channel 
+6a48 68424536 fetcht 1 ,mem_remote_spp_channel 
+6a49 98467c00 isub temp ,null 
+6a4a 2022ea4d branch parse_uih_reconn_spp ,zero 
+6a4b 20204a8b branch assert 
+6a4c 20206a58 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp:
+6a4d 6fe204f9 fetch 1 ,mem_current_frame_type 
+6a4e c039ea52 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+6a4f c077ea00 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+6a50 c07fe9f8 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+6a51 c029ea57 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+
+parse_uih_reconn_spp_ua:
+6a52 6fe24226 fetch 1 ,mem_spp_state 
+6a53 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6a54 67e24226 store 1 ,mem_spp_state 
+6a55 20206a58 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp_sabm:
+6a56 20206a56 branch parse_uih_reconn_spp_sabm 
+
+parse_uih_reconn_spp_disconn:
+6a57 20206a07 branch parse_uih_rp_spp_disconn 
+
+rfcomm_rx_process_end:
+6a58 20600000 rtn 
+
+rfcomm_send_more_pkt:
+6a59 6fe24539 fetch 1 ,mem_rfcomm_send_more_pkt 
+6a5a 207a0000 rtn blank 
+6a5b c001ea5d beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+6a5c 20204a8b branch assert 
+
+rfcomm_send_more_pkt_msc_cmd_spp:
+6a5d 70453900 jam 0 ,mem_rfcomm_send_more_pkt 
+6a5e 204056ac call l2cap_malloc_rfcomm_channel 
+6a5f d8400001 arg spp_slave_channel ,temp 
+6a60 6842452f fetcht 1 ,mem_pn_dlci 
+6a61 184b8400 lshift2 temp ,temp 
+
+rfcomm_send_more_pkt_msc_cmd_spp0:
+6a62 18418403 or_into 0x03 ,temp 
+6a63 da2000aa arg 0xaa ,rega 
+6a64 20406abd call rfcomm_send_modem_status_cmd 
+6a65 204056ba call l2cap_get_rfcomm_tx_buff 
+6a66 18a20c00 copy contw ,contr 
+6a67 efe40006 ifetch 2 ,contr 
+6a68 203a4a8b branch assert ,blank 
+6a69 20600000 rtn 
+
+rfcomm_send_sabm:
+6a6a 204056ba call l2cap_get_rfcomm_tx_buff 
+6a6b 58000004 setarg 0x0004 
+6a6c e7e40005 istore 2 ,contw 
+6a6d 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6a6e e7e40005 istore 2 ,contw 
+6a6f 6fe204f7 fetch 1 ,mem_current_adss 
+6a70 e7e20005 istore 1 ,contw 
+6a71 472b402a bpatchx patch2a_6 ,mem_patch2a 
+6a72 5800013f setarg 0x013f 
+6a73 e7e40005 istore 2 ,contw 
+6a74 6fe204fa fetch 1 ,mem_current_fcs 
+6a75 e7e20005 istore 1 ,contw 
+6a76 20600000 rtn 
+
+rfcomm_send_ua:
+6a77 204056ac call l2cap_malloc_rfcomm_channel 
+6a78 204056ba call l2cap_get_rfcomm_tx_buff 
+6a79 58000004 setarg 0x0004 
+6a7a e7e40005 istore 2 ,contw 
+6a7b 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6a7c e7e40005 istore 2 ,contw 
+6a7d 6fe204f7 fetch 1 ,mem_current_adss 
+6a7e e7e20005 istore 1 ,contw 
+6a7f 472bc02a bpatchx patch2a_7 ,mem_patch2a 
+6a80 58000173 setarg 0x0173 
+6a81 e7e40005 istore 2 ,contw 
+6a82 6fe204fa fetch 1 ,mem_current_fcs 
+6a83 e7e20005 istore 1 ,contw 
+6a84 20600000 rtn 
+
+rfcomm_send_param_neg_cmd:
+6a85 204056ba call l2cap_get_rfcomm_tx_buff 
+6a86 5800000e setarg 0x000e 
+6a87 e7e40005 istore 2 ,contw 
+6a88 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6a89 e7e40005 istore 2 ,contw 
+6a8a 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+6a8b 1fe3fe00 lshift pdata ,pdata 
+6a8c 79207e00 set1 0 ,pdata 
+6a8d e7e20005 istore 1 ,contw 
+6a8e 472c402b bpatchx patch2b_0 ,mem_patch2b 
+6a8f 580015ef setarg 0x15ef 
+6a90 e7e40005 istore 2 ,contw 
+6a91 58001183 setarg 0x1183 
+6a92 e7e40005 istore 2 ,contw 
+6a93 18427e00 copy temp ,pdata 
+6a94 e7e20005 istore 1 ,contw 
+6a95 580000f0 setarg 0x0000f0 
+6a96 e7e60005 istore 3 ,contw 
+6a97 5800007f setarg rfcomm_max_frame_size 
+6a98 e7e40005 istore 2 ,contw 
+6a99 58000000 setarg 0 
+6a9a e7e20005 istore 1 ,contw 
+6a9b 58000001 setarg 0x01 
+6a9c e7e20005 istore 1 ,contw 
+6a9d 204068f0 call rfcomm_calculate_fcs_dlci0 
+6a9e e7e20005 istore 1 ,contw 
+6a9f 70453b10 jam 0x10 ,mem_credit_given 
+6aa0 20600000 rtn 
+
+rfcomm_send_param_neg_res:
+6aa1 204056ac call l2cap_malloc_rfcomm_channel 
+6aa2 204056ba call l2cap_get_rfcomm_tx_buff 
+6aa3 5800000e setarg 0x000e 
+6aa4 e7e40005 istore 2 ,contw 
+6aa5 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6aa6 e7e40005 istore 2 ,contw 
+6aa7 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+6aa8 1fe3fe00 lshift pdata ,pdata 
+6aa9 79207e00 set1 0 ,pdata 
+6aaa e7e20005 istore 1 ,contw 
+6aab 472cc02b bpatchx patch2b_1 ,mem_patch2b 
+6aac 580015ef setarg 0x15ef 
+6aad e7e40005 istore 2 ,contw 
+6aae 58001181 setarg 0x1181 
+6aaf e7e40005 istore 2 ,contw 
+6ab0 6fe2452f fetch 1 ,mem_pn_dlci 
+6ab1 e7e20005 istore 1 ,contw 
+6ab2 580000e0 setarg 0x0000e0 
+6ab3 e7e60005 istore 3 ,contw 
+6ab4 6fe4453e fetch 2 ,mem_rfcomm_max_frame_size 
+6ab5 e7e40005 istore 2 ,contw 
+6ab6 58000000 setarg 0x00 
+6ab7 e7e20005 istore 1 ,contw 
+6ab8 6fe24540 fetch 1 ,mem_rfcomm_credit_init_data 
+6ab9 e7e20005 istore 1 ,contw 
+6aba 204068f0 call rfcomm_calculate_fcs_dlci0 
+6abb e7e20005 istore 1 ,contw 
+6abc 20600000 rtn 
+
+rfcomm_send_modem_status_cmd:
+6abd 204056ba call l2cap_get_rfcomm_tx_buff 
+6abe 58000008 setarg 0x0008 
+6abf e7e40005 istore 2 ,contw 
+6ac0 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6ac1 e7e40005 istore 2 ,contw 
+6ac2 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+6ac3 1fe3fe00 lshift pdata ,pdata 
+6ac4 79207e00 set1 0 ,pdata 
+6ac5 e7e20005 istore 1 ,contw 
+6ac6 472d402b bpatchx patch2b_2 ,mem_patch2b 
+6ac7 580009ef setarg 0x09ef 
+6ac8 e7e40005 istore 2 ,contw 
+6ac9 580005e3 setarg 0x05e3 
+6aca e7e40005 istore 2 ,contw 
+6acb 18427e00 copy temp ,pdata 
+6acc e7e20005 istore 1 ,contw 
+6acd 5800008d setarg 0x8d 
+6ace e7e20005 istore 1 ,contw 
+6acf 204068f0 call rfcomm_calculate_fcs_dlci0 
+6ad0 e7e20005 istore 1 ,contw 
+6ad1 20600000 rtn 
+
+rfcomm_send_modem_status_res:
+6ad2 204056ac call l2cap_malloc_rfcomm_channel 
+6ad3 204056ba call l2cap_get_rfcomm_tx_buff 
+6ad4 58000008 setarg 0x0008 
+6ad5 e7e40005 istore 2 ,contw 
+6ad6 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6ad7 e7e40005 istore 2 ,contw 
+6ad8 18421600 copy temp ,timeup 
+6ad9 6fe24535 fetch 1 ,mem_rfcomm_initiator 
+6ada 1fe3fe00 lshift pdata ,pdata 
+6adb 79207e00 set1 0 ,pdata 
+6adc e7e20005 istore 1 ,contw 
+6add 472dc02b bpatchx patch2b_3 ,mem_patch2b 
+6ade 580009ef setarg 0x09ef 
+6adf e7e40005 istore 2 ,contw 
+6ae0 580005e1 setarg 0x05e1 
+6ae1 e7e40005 istore 2 ,contw 
+6ae2 19627e00 copy timeup ,pdata 
+6ae3 e7e20005 istore 1 ,contw 
+6ae4 5800008d setarg 0x8d 
+6ae5 e7e20005 istore 1 ,contw 
+6ae6 204068f0 call rfcomm_calculate_fcs_dlci0 
+6ae7 e7e20005 istore 1 ,contw 
+6ae8 20600000 rtn 
+
+rfcomm_send_uih_without_payload:
+6ae9 472e402b bpatchx patch2b_4 ,mem_patch2b 
+6aea 6fe2453b fetch 1 ,mem_credit_given 
+6aeb 207a0000 rtn blank 
+6aec 1a227e00 copy rega ,pdata 
+6aed 67e20a97 store 1 ,mem_pdatatemp + 1 
+6aee 60420a96 storet 1 ,mem_pdatatemp 
+6aef 20405648 call l2cap_malloc_is_fifo_full 
+6af0 247a0000 nrtn blank 
+6af1 204056ac call l2cap_malloc_rfcomm_channel 
+6af2 204056ba call l2cap_get_rfcomm_tx_buff 
+6af3 58000005 setarg 0x05 
+6af4 e7e40005 istore 2 ,contw 
+6af5 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6af6 e7e40005 istore 2 ,contw 
+6af7 6fe20509 fetch 1 ,mem_rfcomm_send_adss 
+6af8 e7e20005 istore 1 ,contw 
+6af9 580001ff setarg 0x01ff 
+6afa e7e40005 istore 2 ,contw 
+6afb 6fe2453b fetch 1 ,mem_credit_given 
+6afc e7e20005 istore 1 ,contw 
+6afd 6fe24538 fetch 1 ,mem_hiufcs_spp_wcredits 
+6afe e7e20005 istore 1 ,contw 
+6aff 70453b00 jam 0 ,mem_credit_given 
+6b00 20600000 rtn 
+
+rfcomm_increase_credit_given:
+6b01 472ec02b bpatchx patch2b_5 ,mem_patch2b 
+6b02 6fe2453d fetch 1 ,mem_credit_flag 
+6b03 c1008000 rtneq credit_enable 
+6b04 6fe404fb fetch 2 ,mem_current_length 
+6b05 207a0000 rtn blank 
+6b06 6fe2453b fetch 1 ,mem_credit_given 
+6b07 1fe0fe01 increase 1 ,pdata 
+6b08 67e2453b store 1 ,mem_credit_given 
+6b09 20600000 rtn 
+
+spp_process_rx_data:
+6b0a 6fe44541 fetch 2 ,mem_cb_receive_spp_data 
+6b0b 20207d77 branch callback_func 
+
+spp_tx_rfcomm_packet:
+6b0c 472f402b bpatchx patch2b_6 ,mem_patch2b 
+6b0d 6fe2453a fetch 1 ,mem_remote_credits 
+6b0e 207a0000 rtn blank 
+6b0f 1fe0ffff increase -1 ,pdata 
+6b10 67e2453a store 1 ,mem_remote_credits 
+6b11 6fe44530 fetch 2 ,mem_pn_max_frame_size 
+6b12 6844466a fetcht 2 ,mem_current_packet_length 
+6b13 98467c00 isub temp ,null 
+6b14 20216b16 branch ssp_tx_rfcomm_from_uart ,positive 
+6b15 67e4466a store 2 ,mem_current_packet_length 
+
+ssp_tx_rfcomm_from_uart:
+6b16 6fe2453b fetch 1 ,mem_credit_given 
+6b17 203a6b1e branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+6b18 70050c01 jam 1 ,mem_rfcomm_send_offset 
+6b19 6fe24538 fetch 1 ,mem_hiufcs_spp_wcredits 
+6b1a 67e2050b store 1 ,mem_rfcomm_send_fcs 
+6b1b 580000ff setarg rsp_rx_uih_wdata 
+6b1c 67e2050a store 1 ,mem_rfcomm_send_frame_type 
+6b1d 20206b23 branch ssp_tx_rfcomm_from_uart_common 
+
+ssp_tx_rfcomm_from_uart_without_credit:
+6b1e 70050c00 jam 0 ,mem_rfcomm_send_offset 
+6b1f 6fe24537 fetch 1 ,mem_hiufcs_spp 
+6b20 67e2050b store 1 ,mem_rfcomm_send_fcs 
+6b21 580000ef setarg rsp_tx_uih 
+6b22 67e2050a store 1 ,mem_rfcomm_send_frame_type 
+
+ssp_tx_rfcomm_from_uart_common:
+6b23 472fc02b bpatchx patch2b_7 ,mem_patch2b 
+6b24 6fe4466a fetch 2 ,mem_current_packet_length 
+6b25 1fe67c7f sub pdata ,127 ,null 
+6b26 20216b2a branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+6b27 6fe2050c fetch 1 ,mem_rfcomm_send_offset 
+6b28 1fe0fe01 increase 1 ,pdata 
+6b29 67e2050c store 1 ,mem_rfcomm_send_offset 
+
+ssp_tx_rfcomm_from_uart_common0:
+6b2a 20406933 call get_rfcomm_snd_adss 
+6b2b 6fe4466a fetch 2 ,mem_current_packet_length 
+6b2c 1fe0fe08 increase 8 ,pdata 
+6b2d 6842050c fetcht 1 ,mem_rfcomm_send_offset 
+6b2e 9840a200 iadd temp ,rega 
+6b2f 2040561a call l2cap_malloc 
+6b30 67e40273 store 2 ,mem_rfcomm_tx_buff_ptr 
+6b31 1fe0fe04 increase 4 ,pdata 
+6b32 67e40275 store 2 ,mem_rfcomm_tx_payload_ptr 
+6b33 1fe20a00 copy pdata ,contw 
+6b34 6fe20509 fetch 1 ,mem_rfcomm_send_adss 
+6b35 e7e20005 istore 1 ,contw 
+6b36 6fe2050a fetch 1 ,mem_rfcomm_send_frame_type 
+6b37 e7e20005 istore 1 ,contw 
+6b38 20406b54 call ssp_tx_write_length 
+6b39 20406b65 call ssp_tx_write_given_credit 
+6b3a 4730402c bpatchx patch2c_0 ,mem_patch2c 
+6b3b 6fe44543 fetch 2 ,mem_nl_rx_data_src 
+6b3c 1fe20600 copy pdata ,contru 
+6b3d 6fe4466a fetch 2 ,mem_current_packet_length 
+6b3e 1fe27200 copy pdata ,loopcnt 
+6b3f 204067da call uart_copy_rx_bytes_fast 
+6b40 18a20400 copy contw ,temp 
+6b41 18627e00 copy contru ,pdata 
+6b42 67e44543 store 2 ,mem_nl_rx_data_src 
+6b43 18420a00 copy temp ,contw 
+6b44 6fe2050b fetch 1 ,mem_rfcomm_send_fcs 
+6b45 e7e20005 istore 1 ,contw 
+6b46 6fe40273 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+6b47 1fe20a00 copy pdata ,contw 
+6b48 6fe4466a fetch 2 ,mem_current_packet_length 
+6b49 6842050c fetcht 1 ,mem_rfcomm_send_offset 
+6b4a 9840fe00 iadd temp ,pdata 
+6b4b 1fe0fe04 increase 4 ,pdata 
+6b4c e7e40005 istore 2 ,contw 
+6b4d 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6b4e e7e40005 istore 2 ,contw 
+6b4f 70453b00 jam 0 ,mem_credit_given 
+6b50 6fe44545 fetch 2 ,mem_nl_rx_len_all 
+6b51 c0004ed4 beq 0 ,module_hci_command_tx_spp_tx_complete 
+6b52 700b0100 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+6b53 20600000 rtn 
+
+ssp_tx_write_length:
+6b54 4730c02c bpatchx patch2c_1 ,mem_patch2c 
+6b55 6fe4466a fetch 2 ,mem_current_packet_length 
+6b56 1fe67c7f sub pdata ,0x7f ,null 
+6b57 24216b5c nbranch ssp_tx_write_long_packet ,positive 
+6b58 1fe3fe00 lshift pdata ,pdata 
+6b59 79207e00 set1 0 ,pdata 
+6b5a e7e20005 istore 1 ,contw 
+6b5b 20600000 rtn 
+
+ssp_tx_write_long_packet:
+6b5c 6fe4466a fetch 2 ,mem_current_packet_length 
+6b5d 1fe97e00 rshift3 pdata ,pdata 
+6b5e 1ff18400 rshift4 pdata ,temp 
+6b5f 1fe17e7f and_into 0x7f ,pdata 
+6b60 1fe3fe00 lshift pdata ,pdata 
+6b61 793ffe00 set0 0 ,pdata 
+6b62 e7e20005 istore 1 ,contw 
+6b63 e0420005 istoret 1 ,contw 
+6b64 20600000 rtn 
+
+ssp_tx_write_given_credit:
+6b65 6fe2453b fetch 1 ,mem_credit_given 
+6b66 207a0000 rtn blank 
+6b67 e7e20005 istore 1 ,contw 
+6b68 20600000 rtn 
+
+scheduler_process:
+6b69 4731402c bpatchx patch2c_2 ,mem_patch2c 
+6b6a 20407bc1 call check_51cmd 
+6b6b 20404c8f call app_process_bb_event 
+6b6c 204066fd call process_conn_sm 
+6b6d 4731c02c bpatchx patch2c_3 ,mem_patch2c 
+6b6e 20407591 call sp_calc_sequence 
+6b6f 2040756a call simple_pairing_sequence 
+6b70 2040757b call master_simple_paring_sequence 
+6b71 20405648 call l2cap_malloc_is_fifo_full 
+6b72 247a0000 nrtn blank 
+6b73 20405183 call l2cap_call_proc_sigal_pending 
+6b74 20405648 call l2cap_malloc_is_fifo_full 
+6b75 247a0000 nrtn blank 
+6b76 4732402c bpatchx patch2c_4 ,mem_patch2c 
+6b77 20406bb4 call process_upper_sm 
+6b78 2040533e call l2cap_send_config_req 
+6b79 20406a59 call rfcomm_send_more_pkt 
+
+scheduler_process0:
+6b7a 20406b7d call scheduler_tx_disconnect_hid 
+6b7b 4732c02c bpatchx patch2c_5 ,mem_patch2c 
+6b7c 20204c8b branch app_process_bt 
+
+scheduler_tx_disconnect_hid:
+6b7d 6fe2027b fetch 1 ,mem_control_tasks 
+6b7e c2805461 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+6b7f c283d46b bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+6b80 20600000 rtn 
+
+scheduler_tx_l2cap_pkt:
+6b81 4733402c bpatchx patch2c_6 ,mem_patch2c 
+6b82 2040564e call l2cap_malloc_is_fifo_empty 
+6b83 207a0000 rtn blank 
+6b84 6fe2004b fetch 1 ,mem_op 
+6b85 c3830000 rtnbit1 op_txl2cap 
+6b86 20405632 call l2cap_malloc_fifo_out 
+6b87 67e4016d store 2 ,mem_txptr 
+6b88 1fe20c00 copy pdata ,contr 
+6b89 efe40006 ifetch 2 ,contr 
+6b8a 1fe0fe04 increase 4 ,pdata 
+6b8b 67e441dd store 2 ,mem_tx_len 
+6b8c 7041dc06 jam 6 ,mem_tx_lch 
+6b8d 4733c02c bpatchx patch2c_7 ,mem_patch2c 
+6b8e 6fe44218 fetch 2 ,mem_l2cap_tx_multi_offset 
+6b8f 203a6b9c branch scheduler_tx_l2cap_start_pkt ,blank 
+6b90 6fe2004b fetch 1 ,mem_op 
+6b91 c4038000 rtnbit0 op_pkt_comp 
+6b92 793ffe07 set0 op_pkt_comp ,pdata 
+6b93 67e2004b store 1 ,mem_op 
+6b94 7041dc05 jam 5 ,mem_tx_lch 
+6b95 68444218 fetcht 2 ,mem_l2cap_tx_multi_offset 
+6b96 6fe4016d fetch 2 ,mem_txptr 
+6b97 9840fe00 iadd temp ,pdata 
+6b98 67e4016d store 2 ,mem_txptr 
+6b99 6fe441dd fetch 2 ,mem_tx_len 
+6b9a 98467e00 isub temp ,pdata 
+6b9b 67e441dd store 2 ,mem_tx_len 
+
+scheduler_tx_l2cap_start_pkt:
+6b9c 4734402d bpatchx patch2d_0 ,mem_patch2d 
+6b9d 6fe441dd fetch 2 ,mem_tx_len 
+6b9e 203a4a8b branch assert ,blank 
+6b9f d8400104 arg l2cap_max_pkt_len ,temp 
+6ba0 98467e00 isub temp ,pdata 
+6ba1 24216ba8 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+6ba2 4734c02d bpatchx patch2d_1 ,mem_patch2d 
+6ba3 604441dd storet 2 ,mem_tx_len 
+6ba4 6fe44218 fetch 2 ,mem_l2cap_tx_multi_offset 
+6ba5 9840fe00 iadd temp ,pdata 
+6ba6 67e44218 store 2 ,mem_l2cap_tx_multi_offset 
+6ba7 20206baa branch scheduler_tx_l2cap_pkt_end 
+
+scheduler_tx_l2cap_last_pkt:
+6ba8 58000000 setarg 0 
+6ba9 67e44218 store 2 ,mem_l2cap_tx_multi_offset 
+
+scheduler_tx_l2cap_pkt_end:
+6baa 6fe2004b fetch 1 ,mem_op 
+6bab 79207e06 set1 op_txl2cap ,pdata 
+6bac 67e2004b store 1 ,mem_op 
+6bad 20600000 rtn 
+
+scheduler_start_upper_sm:
+6bae 6fe24654 fetch 1 ,mem_ui_profile_supported 
+6baf c2806bb2 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+6bb0 70028301 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+6bb1 20600000 rtn 
+
+scheduler_start_upper_sm_hid:
+6bb2 7002830f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6bb3 20600000 rtn 
+
+process_upper_sm:
+6bb4 6fe24651 fetch 1 ,memui_reconnect_mode 
+6bb5 243a6bba nbranch process_upper_sm_reconn ,blank 
+
+process_upper_sm_remote_page:
+6bb6 6fe20282 fetch 1 ,mem_upper_sm_remote_page 
+6bb7 207a0000 rtn blank 
+6bb8 70028200 jam 0 ,mem_upper_sm_remote_page 
+
+process_upper_sm_rp_wait:
+6bb9 20600000 rtn 
+
+process_upper_sm_reconn:
+6bba 4735402d bpatchx patch2d_2 ,mem_patch2d 
+6bbb 6fe20283 fetch 1 ,mem_upper_sm_reconn 
+6bbc 207a0000 rtn blank 
+6bbd c000ebda beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+6bbe c0016c33 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+6bbf c001ebe0 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+6bc0 c0026c37 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+6bc1 c01debea beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+6bc2 c01e6c3a beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+6bc3 c006ebef beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+6bc4 c0076c3f beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+6bc5 c007ebf2 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+6bc6 c0086c45 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+6bc7 c008ebf8 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+6bc8 c0096c49 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+6bc9 c009ebfe beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+6bca c00a6c4d beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+6bcb c00aec04 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+6bcc c00b6c51 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+6bcd c00bec0a beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+6bce c00c6c56 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+6bcf c00cec10 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+6bd0 c00d6c5a beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+6bd1 c00dec16 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+6bd2 c00e6c5e beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+6bd3 c00eec1c beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+6bd4 c00f6c63 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+6bd5 c00fec22 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+6bd6 c0106c67 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+6bd7 c010ec2d beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+6bd8 c0116c6b beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+
+process_upper_sm_reconn_wait:
+6bd9 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn:
+6bda 20406c76 call upper_sm_send_sdp_conn 
+6bdb 70028302 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+6bdc 6fe24222 fetch 1 ,mem_sdp_state 
+6bdd 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6bde 67e24222 store 1 ,mem_sdp_state 
+6bdf 20600000 rtn 
+
+process_upper_sm_reconn_sdp_cfg:
+6be0 70028304 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6be1 6fe24222 fetch 1 ,mem_sdp_state 
+6be2 c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req 
+6be3 70028303 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6be4 20406c7d call upper_sm_send_sdp_cfg 
+6be5 70028304 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6be6 6fe24222 fetch 1 ,mem_sdp_state 
+6be7 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6be8 67e24222 store 1 ,mem_sdp_state 
+6be9 20600000 rtn 
+
+process_upper_sm_reconn_ss_spp:
+6bea 2040564e call l2cap_malloc_is_fifo_empty 
+6beb 247a0000 nrtn blank 
+6bec 20406c8c call upper_sm_send_ss_spp 
+6bed 7002833c jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+6bee 20600000 rtn 
+
+process_upper_sm_reconn_sdp_disconn:
+6bef 20406c82 call upper_sm_send_sdp_disconn 
+6bf0 7002830e jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+6bf1 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_conn:
+6bf2 20406c9c call upper_sm_send_hid_ctrl_conn 
+6bf3 70028310 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+6bf4 6fe24224 fetch 1 ,mem_hid_control_state 
+6bf5 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6bf6 67e24224 store 1 ,mem_hid_control_state 
+6bf7 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_cfg:
+6bf8 20406ca3 call upper_sm_send_hid_ctrl_cfg 
+6bf9 70028312 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+6bfa 6fe24224 fetch 1 ,mem_hid_control_state 
+6bfb 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6bfc 67e24224 store 1 ,mem_hid_control_state 
+6bfd 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_conn:
+6bfe 20406ca8 call upper_sm_send_hid_int_conn 
+6bff 70028314 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+6c00 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+6c01 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6c02 67e24225 store 1 ,mem_hid_interrupt_state 
+6c03 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_cfg:
+6c04 20406caf call upper_sm_send_hid_int_cfg 
+6c05 70028316 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+6c06 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+6c07 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6c08 67e24225 store 1 ,mem_hid_interrupt_state 
+6c09 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_conn:
+6c0a 20406c90 call upper_sm_send_rfcomm_conn 
+6c0b 70028318 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+6c0c 6fe24223 fetch 1 ,mem_rfcomm_state 
+6c0d 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6c0e 67e24223 store 1 ,mem_rfcomm_state 
+6c0f 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_cfg:
+6c10 20406c97 call upper_sm_send_rfcomm_cfg 
+6c11 7002831a jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+6c12 6fe24223 fetch 1 ,mem_rfcomm_state 
+6c13 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6c14 67e24223 store 1 ,mem_rfcomm_state 
+6c15 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_sabm:
+6c16 20406cb4 call upper_sm_send_rfcomm_sabm 
+6c17 7002831c jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+6c18 6fe24223 fetch 1 ,mem_rfcomm_state 
+6c19 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6c1a 67e24223 store 1 ,mem_rfcomm_state 
+6c1b 20600000 rtn 
+
+process_upper_sm_reconn_spp_cmd_pn:
+6c1c 20406cbb call upper_sm_send_spp_cmd_pn 
+6c1d 6fe24226 fetch 1 ,mem_spp_state 
+6c1e 79207e00 set1 rfcomm_channel_state_pn_cmd 
+6c1f 67e24226 store 1 ,mem_spp_state 
+6c20 7002831e jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+6c21 20600000 rtn 
+
+process_upper_sm_reconn_spp_sabm:
+6c22 20406cc1 call upper_sm_send_spp_sabm 
+6c23 6fe24226 fetch 1 ,mem_spp_state 
+6c24 79207e02 set1 rfcomm_channel_state_sabm 
+6c25 67e24226 store 1 ,mem_spp_state 
+6c26 70028320 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+6c27 6fe24536 fetch 1 ,mem_remote_spp_channel 
+6c28 1fe9fe00 lshift3 pdata ,pdata 
+6c29 1fe1fe03 or_into 3 ,pdata 
+6c2a d8404537 arg mem_hiufcs_spp ,temp 
+6c2b 604404f3 storet 2 ,mem_contw_temp 
+6c2c 202068f6 branch rfcomm_save_fcs_uih 
+
+process_upper_sm_reconn_spp_cmd_ms:
+6c2d 20406ccb call upper_sm_send_spp_cmd_ms 
+6c2e 6fe24226 fetch 1 ,mem_spp_state 
+6c2f 79207e04 set1 rfcomm_channel_state_snd_ms_cmd 
+6c30 67e24226 store 1 ,mem_spp_state 
+6c31 70028322 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+6c32 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn_wait:
+6c33 6fe24222 fetch 1 ,mem_sdp_state 
+6c34 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6c35 70028303 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6c36 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_cfg_wait:
+6c37 6fe24222 fetch 1 ,mem_sdp_state 
+6c38 c19f8000 rtnne l2cap_channel_setup_complete 
+6c39 7002833b jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+
+process_upper_sm_reconn_ss_spp_wait:
+6c3a 6fe20281 fetch 1 ,mem_message_to_uppersm 
+6c3b c18b8000 rtnne recieve_ss_reasult_hf 
+6c3c 70028100 jam 0 ,mem_message_to_uppersm 
+6c3d 7002830d jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+6c3e 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_disconn_wait:
+6c3f 6fe24222 fetch 1 ,mem_sdp_state 
+6c40 247a0000 nrtn blank 
+6c41 6fe24654 fetch 1 ,mem_ui_profile_supported 
+6c42 c2806c6e bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+6c43 c2836c70 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6c44 20206c74 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+6c45 6fe24224 fetch 1 ,mem_hid_control_state 
+6c46 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6c47 70028311 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+6c48 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+6c49 6fe24224 fetch 1 ,mem_hid_control_state 
+6c4a c19f8000 rtnne l2cap_channel_setup_complete 
+6c4b 70028313 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+6c4c 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_conn_wait:
+6c4d 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+6c4e c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6c4f 70028315 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+6c50 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_cfg_wait:
+6c51 6fe24225 fetch 1 ,mem_hid_interrupt_state 
+6c52 c19f8000 rtnne l2cap_channel_setup_complete 
+6c53 6fe24654 fetch 1 ,mem_ui_profile_supported 
+6c54 c2836c70 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6c55 20206c74 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_rfcomm_conn_wait:
+6c56 6fe24223 fetch 1 ,mem_rfcomm_state 
+6c57 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6c58 70028319 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+6c59 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_cfg_wait:
+6c5a 6fe24223 fetch 1 ,mem_rfcomm_state 
+6c5b c19f8000 rtnne l2cap_channel_setup_complete 
+6c5c 7002831b jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+6c5d 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_sabm_wait:
+6c5e 6fe24223 fetch 1 ,mem_rfcomm_state 
+6c5f c1ff8000 rtnne l2cap_channel_rfcomm_dlci0_opened 
+6c60 6fe24654 fetch 1 ,mem_ui_profile_supported 
+6c61 c2836c72 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+6c62 20206c74 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_spp_cmd_pn_wait:
+6c63 6fe24226 fetch 1 ,mem_spp_state 
+6c64 c4008000 rtnbit0 rfcomm_channel_state_pn_res 
+6c65 7002831f jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+6c66 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_sabm_wait:
+6c67 6fe24226 fetch 1 ,mem_spp_state 
+6c68 c4018000 rtnbit0 rfcomm_channel_state_ua 
+6c69 70028321 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+6c6a 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_cmd_ms_wait:
+6c6b 6fe24226 fetch 1 ,mem_spp_state 
+6c6c c1ff8000 rtnne rfcomm_channel_setup_complete 
+6c6d 20206c74 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_setup_hid:
+6c6e 7002830f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6c6f 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_rfcomm:
+6c70 70028317 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+6c71 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_spp:
+6c72 7002831d jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+6c73 20206bba branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_termination:
+6c74 70028300 jam 0 ,mem_upper_sm_reconn 
+6c75 20600000 rtn 
+
+upper_sm_send_sdp_conn:
+6c76 4735c02d bpatchx patch2d_3 ,mem_patch2d 
+6c77 20405692 call l2cap_malloc_signal_channel 
+6c78 58000001 setarg psm_sdp 
+6c79 1fe20400 copy pdata ,temp 
+6c7a 58000050 setarg l2cap_sdp_channel 
+6c7b 1fe21600 copy pdata ,timeup 
+6c7c 20205482 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_sdp_cfg:
+6c7d 4736402d bpatchx patch2d_4 ,mem_patch2d 
+6c7e 20405692 call l2cap_malloc_signal_channel 
+6c7f 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+6c80 1fe20400 copy pdata ,temp 
+6c81 20205491 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_sdp_disconn:
+6c82 4736c02d bpatchx patch2d_5 ,mem_patch2d 
+6c83 20405692 call l2cap_malloc_signal_channel 
+6c84 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+6c85 1fe20400 copy pdata ,temp 
+6c86 d9600050 arg l2cap_sdp_channel ,timeup 
+6c87 204054a6 call ml2cap_send_signal_disconn_req 
+6c88 6fe24222 fetch 1 ,mem_sdp_state 
+6c89 793ffe05 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+6c8a 67e24222 store 1 ,mem_sdp_state 
+6c8b 20600000 rtn 
+
+upper_sm_send_ss_spp:
+6c8c 4737402d bpatchx patch2d_6 ,mem_patch2d 
+6c8d 2040569f call l2cap_malloc_sdp_channel 
+6c8e 20406ff7 call sdp_send_spp_request 
+6c8f 202054c1 branch msdp_send_req_done 
+
+upper_sm_send_rfcomm_conn:
+6c90 4737c02d bpatchx patch2d_7 ,mem_patch2d 
+6c91 20405692 call l2cap_malloc_signal_channel 
+6c92 58000003 setarg psm_rfcomm 
+6c93 1fe20400 copy pdata ,temp 
+6c94 58000051 setarg l2cap_rfcomm_channel 
+6c95 1fe21600 copy pdata ,timeup 
+6c96 20205482 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_rfcomm_cfg:
+6c97 4738402e bpatchx patch2e_0 ,mem_patch2e 
+6c98 20405692 call l2cap_malloc_signal_channel 
+6c99 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+6c9a 1fe20400 copy pdata ,temp 
+6c9b 20205491 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_ctrl_conn:
+6c9c 4738c02e bpatchx patch2e_1 ,mem_patch2e 
+6c9d 20405692 call l2cap_malloc_signal_channel 
+6c9e 58000011 setarg psm_hid_control 
+6c9f 1fe20400 copy pdata ,temp 
+6ca0 58000052 setarg l2cap_hid_control_channel 
+6ca1 1fe21600 copy pdata ,timeup 
+6ca2 20205482 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_ctrl_cfg:
+6ca3 4739402e bpatchx patch2e_2 ,mem_patch2e 
+6ca4 20405692 call l2cap_malloc_signal_channel 
+6ca5 6fe4421e fetch 2 ,mem_hid_ctrl_remote_cid 
+6ca6 1fe20400 copy pdata ,temp 
+6ca7 20205491 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_int_conn:
+6ca8 4739c02e bpatchx patch2e_3 ,mem_patch2e 
+6ca9 20405692 call l2cap_malloc_signal_channel 
+6caa 58000013 setarg psm_hid_interrupt 
+6cab 1fe20400 copy pdata ,temp 
+6cac 58000053 setarg l2cap_hid_interrupt_channel 
+6cad 1fe21600 copy pdata ,timeup 
+6cae 20205482 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_int_cfg:
+6caf 473a402e bpatchx patch2e_4 ,mem_patch2e 
+6cb0 20405692 call l2cap_malloc_signal_channel 
+6cb1 6fe44220 fetch 2 ,mem_hid_int_remote_cid 
+6cb2 1fe20400 copy pdata ,temp 
+6cb3 20205491 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_rfcomm_sabm:
+6cb4 473ac02e bpatchx patch2e_5 ,mem_patch2e 
+6cb5 204056ac call l2cap_malloc_rfcomm_channel 
+6cb6 7004f703 jam 3 ,mem_current_adss 
+6cb7 7004fa1c jam 0x1c ,mem_current_fcs 
+6cb8 20406a6a call rfcomm_send_sabm 
+6cb9 70453501 jam 1 ,mem_rfcomm_initiator 
+6cba 20600000 rtn 
+
+upper_sm_send_spp_cmd_pn:
+6cbb 473b402e bpatchx patch2e_6 ,mem_patch2e 
+6cbc 204056ac call l2cap_malloc_rfcomm_channel 
+6cbd 68424536 fetcht 1 ,mem_remote_spp_channel 
+6cbe 2040693a call channel_to_dlci 
+6cbf 6042452f storet 1 ,mem_pn_dlci 
+6cc0 20206a85 branch rfcomm_send_param_neg_cmd 
+
+upper_sm_send_spp_sabm:
+6cc1 473bc02e bpatchx patch2e_7 ,mem_patch2e 
+6cc2 204056ac call l2cap_malloc_rfcomm_channel 
+6cc3 6842452f fetcht 1 ,mem_pn_dlci 
+6cc4 20406934 call dlci_to_address_cmd 
+6cc5 204068db call rfcomm_calculate_fcs_sabm 
+6cc6 67e204fa store 1 ,mem_current_fcs 
+6cc7 6842452f fetcht 1 ,mem_pn_dlci 
+6cc8 20406934 call dlci_to_address_cmd 
+6cc9 604204f7 storet 1 ,mem_current_adss 
+6cca 20206a6a branch rfcomm_send_sabm 
+
+upper_sm_send_spp_cmd_ms:
+6ccb 473c402f bpatchx patch2f_0 ,mem_patch2f 
+6ccc 204056ac call l2cap_malloc_rfcomm_channel 
+6ccd 6842452f fetcht 1 ,mem_pn_dlci 
+6cce 20406934 call dlci_to_address_cmd 
+6ccf 20206abd branch rfcomm_send_modem_status_cmd 
+
+sdp_process:
+6cd0 473cc02f bpatchx patch2f_1 ,mem_patch2f 
+6cd1 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+6cd2 98000c00 iforce contr 
+6cd3 efe20006 ifetch 1 ,contr 
+6cd4 1fe22400 copy pdata ,regb 
+6cd5 67e20517 store 1 ,mem_sdp_pduid 
+6cd6 efe40006 ifetch 2 ,contr 
+6cd7 67e40518 store 2 ,mem_sdp_transactionid 
+6cd8 efe20006 ifetch 1 ,contr 
+6cd9 1fed1600 lshift8 pdata ,timeup 
+6cda efe20006 ifetch 1 ,contr 
+6cdb 99609600 iadd timeup ,timeup 
+6cdc 473d402f bpatchx patch2f_2 ,mem_patch2f 
+6cdd 18c20400 copy contr ,temp 
+6cde df200004 arg 4 ,loopcnt 
+6cdf d8a00526 arg mem_sdp_handle_list ,contw 
+6ce0 20407ca1 call memset0 
+6ce1 18420c00 copy temp ,contr 
+6ce2 1a427e00 deposit regb 
+6ce3 c000ee79 beq sdp_error_res ,sdp_process_error_res 
+6ce4 c0016ceb beq sdp_search_req ,sdp_process_ss_req 
+6ce5 c001ee79 beq sdp_search_res ,sdp_process_ss_res 
+6ce6 c0026d13 beq sdp_attribute_req ,sdp_process_sa_req 
+6ce7 c002ee79 beq sdp_attribute_res ,sdp_process_sa_res 
+6ce8 c0036dc1 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+6ce9 c003ee79 beq sdp_searchattrib_res ,sdp_process_ssa_res 
+6cea 20206e80 branch sdp_insufficient_resource 
+
+sdp_process_ss_req:
+6ceb 473dc02f bpatchx patch2f_3 ,mem_patch2f 
+6cec 20406e8f call ask_serviceclassid 
+6ced 2841fe01 compare 1 ,temp ,0xff 
+6cee 2020eeff branch ss_empty_rsp ,true 
+6cef 2841feff compare 0xff ,temp ,0xff 
+6cf0 2020ee83 branch sdp_invalid_request_syntax ,true 
+6cf1 efe40006 ifetch 2 ,contr 
+6cf2 67e4051e store 2 ,mem_sdp_record_maxcnt 
+6cf3 196097fe increase -2 ,timeup 
+6cf4 196097ff increase -1 ,timeup 
+6cf5 2422ee7d nbranch sdp_invalid_pdu_size ,zero 
+6cf6 d960050d arg mem_sdp_uuid_search_ptr ,timeup 
+6cf7 efe4000b ifetch 2 ,timeup 
+6cf8 207a0000 rtn blank 
+6cf9 20406f41 call search_all_uuid 
+6cfa 204056aa call l2cap_get_sdp_tx_payload 
+6cfb 18007e03 force 3 ,pdata 
+6cfc e7e20005 istore 1 ,contw 
+6cfd 6fe40518 fetch 2 ,mem_sdp_transactionid 
+6cfe e7e40005 istore 2 ,contw 
+6cff 18ebfe00 lshift2 queue ,pdata 
+6d00 1fe0fe05 add pdata ,5 ,pdata 
+6d01 1fe0a605 add pdata ,5 ,regc 
+6d02 1ff0fe00 byteswap pdata ,pdata 
+6d03 e7e40005 istore 2 ,contw 
+6d04 18e27e00 deposit queue 
+6d05 1ff0fe00 byteswap pdata ,pdata 
+6d06 e7e40005 istore 2 ,contw 
+6d07 e7e40005 istore 2 ,contw 
+6d08 d8c00526 arg mem_sdp_handle_list ,contr 
+6d09 18e27200 copy queue ,loopcnt 
+6d0a 2022ed0e branch ss_req_blank ,zero 
+
+ss_req_loop:
+6d0b efe80006 ifetch 4 ,contr 
+6d0c e7e80005 istore 4 ,contw 
+6d0d c2006d0b loop ss_req_loop 
+
+ss_req_blank:
+6d0e 18007e00 force 0 ,pdata 
+6d0f e7e20005 istore 1 ,contw 
+6d10 1a627e00 deposit regc 
+6d11 67e40271 store 2 ,mem_sdp_tx_pkt_length 
+6d12 20600000 rtn 
+
+sdp_process_sa_req:
+6d13 473e402f bpatchx patch2f_4 ,mem_patch2f 
+6d14 efe80006 ifetch 4 ,contr 
+6d15 67e80520 store 4 ,mem_sdp_record_handle 
+6d16 196097fc increase -4 ,timeup 
+6d17 20406ded call sdp_store_maxbyte 
+6d18 67e4051c store 2 ,mem_sdp_attribute_maxbyte 
+6d19 196097fe increase -2 ,timeup 
+6d1a 20406ee7 call dataelementtype6 
+6d1b 2022ee83 branch sdp_invalid_request_syntax ,zero 
+6d1c 2a21fe05 compare 5 ,rega ,0xff 
+6d1d 2020ed21 branch sa_judge_wholerange ,true 
+
+sa_isnot_wholerange:
+6d1e d8a00526 arg mem_sdp_attrib_list ,contw 
+6d1f 18000e00 force 0 ,queue 
+6d20 20206d30 branch sa_req_loop 
+
+sa_judge_wholerange:
+6d21 efe20006 ifetch 1 ,contr 
+6d22 c0856e83 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+6d23 efe40006 ifetch 2 ,contr 
+6d24 243a6d2e nbranch sa_judge_wholerange_false1 ,blank 
+6d25 efe20006 ifetch 1 ,contr 
+6d26 c0ffed2c bne 0xff ,sa_judge_wholerange_false2 
+6d27 efe20006 ifetch 1 ,contr 
+6d28 c0ffed2a bne 0xff ,sa_judge_wholerange_false3 
+6d29 20206d77 branch sa_req_all 
+
+sa_judge_wholerange_false3:
+6d2a 18c08dfb increase -5 ,contr 
+6d2b 20206d1e branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false2:
+6d2c 18c08dfc increase -4 ,contr 
+6d2d 20206d1e branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false1:
+6d2e 18c08dfd increase -3 ,contr 
+6d2f 20206d1e branch sa_isnot_wholerange 
+
+sa_req_loop:
+6d30 efe20006 ifetch 1 ,contr 
+6d31 c004ed45 beq sdp_attribute_id ,sa_req_one_id 
+6d32 c0056d33 beq sdp_attribute_range ,sa_req_range 
+
+sa_req_range:
+6d33 efe40006 ifetch 2 ,contr 
+6d34 e7e40005 istore 2 ,contw 
+6d35 18e08e01 increase 1 ,queue 
+6d36 1ff0a400 byteswap pdata ,regb 
+6d37 efe40006 ifetch 2 ,contr 
+6d38 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_range_id_increase:
+6d39 1a40a401 increase 1 ,regb 
+6d3a 9a467c00 isub regb ,null 
+6d3b 24216d42 nbranch sa_req_range_id_finish ,positive 
+6d3c 1fe22600 copy pdata ,regc 
+6d3d 1a50fe00 byteswap regb ,pdata 
+6d3e e7e40005 istore 2 ,contw 
+6d3f 18e08e01 increase 1 ,queue 
+6d40 1a627e00 copy regc ,pdata 
+6d41 20206d39 branch sa_req_range_id_increase 
+
+sa_req_range_id_finish:
+6d42 196097fb increase -5 ,timeup 
+6d43 1a20a3fb increase -5 ,rega 
+6d44 20206d4a branch sa_req_check_next_id 
+
+sa_req_one_id:
+6d45 efe40006 ifetch 2 ,contr 
+6d46 e7e40005 istore 2 ,contw 
+6d47 18e08e01 increase 1 ,queue 
+6d48 196097fd increase -3 ,timeup 
+6d49 1a20a3fd increase -3 ,rega 
+
+sa_req_check_next_id:
+6d4a 24216e83 nbranch sdp_invalid_request_syntax ,positive 
+6d4b 2422ed30 nbranch sa_req_loop ,zero 
+6d4c 196097ff increase -1 ,timeup 
+6d4d 2422ee83 nbranch sdp_invalid_request_syntax ,zero 
+6d4e 204056aa call l2cap_get_sdp_tx_payload 
+6d4f 18a08a0a increase 10 ,contw 
+6d50 da200526 arg mem_sdp_attrib_list ,rega 
+
+sa_req_handle_attributelist_next:
+6d51 18e27e00 copy queue ,pdata 
+6d52 203a6d64 branch sa_req_handle_attributelist_end ,blank 
+6d53 efe40011 ifetch 2 ,rega 
+6d54 203a6d64 branch sa_req_handle_attributelist_end ,blank 
+6d55 98002400 iforce regb 
+6d56 6fe80520 fetch 4 ,mem_sdp_record_handle 
+6d57 98000400 iforce temp 
+6d58 20406fa6 call search_handle_attrib 
+6d59 18c27e00 copy contr ,pdata 
+6d5a 203a6d61 branch sa_req_handle_attributelist_notfound ,blank 
+6d5b 18c08dfd increase -3 ,contr 
+6d5c efe60006 ifetch 3 ,contr 
+6d5d e7e60005 istore 3 ,contw 
+6d5e 20406f1a call sdp_data_len 
+6d5f 98007200 iforce loopcnt 
+6d60 20407cdc call memcpy 
+
+sa_req_handle_attributelist_notfound:
+6d61 1a20a202 increase 2 ,rega 
+6d62 18e08fff increase -1 ,queue 
+6d63 20206d51 branch sa_req_handle_attributelist_next 
+
+sa_req_handle_attributelist_end:
+6d64 da200005 arg sdp_attribute_res ,rega 
+6d65 20406e43 call ssa_req_range_lastfreg_common 
+6d66 6fe40271 fetch 2 ,mem_sdp_tx_pkt_length 
+6d67 c005ef02 beq 11 ,sa_empty_rsp 
+6d68 20206e59 branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_continue_common:
+6d69 efe20006 ifetch 1 ,contr 
+6d6a c0006d6d beq 0 ,sdp_store_continue_0byte 
+6d6b c000ed6f beq 1 ,sdp_store_continue_1byte 
+6d6c c0016d72 beq 2 ,sdp_store_continue_2byte 
+
+sdp_store_continue_0byte:
+6d6d 196097ff increase -1 ,timeup 
+6d6e 20206d75 branch sdp_store_continue_end 
+
+sdp_store_continue_1byte:
+6d6f efe20006 ifetch 1 ,contr 
+6d70 196097fe increase -2 ,timeup 
+6d71 20206d75 branch sdp_store_continue_end 
+
+sdp_store_continue_2byte:
+6d72 efe40006 ifetch 2 ,contr 
+6d73 1ff0fe00 byteswap pdata ,pdata 
+6d74 196097fd increase -3 ,timeup 
+
+sdp_store_continue_end:
+6d75 67e40515 store 2 ,mem_sdp_continue_byte 
+6d76 20600000 rtn 
+
+sa_req_all:
+6d77 196097fb increase -5 ,timeup 
+6d78 20406d69 call sdp_store_continue_common 
+6d79 2422ee7d nbranch sdp_invalid_pdu_size ,zero 
+6d7a 68480520 fetcht 4 ,mem_sdp_record_handle 
+6d7b 20406f70 call search_handle 
+6d7c 2422ee7a nbranch sdp_invalid_service_record_handle ,zero 
+6d7d 18c22200 copy contr ,rega 
+6d7e 204056aa call l2cap_get_sdp_tx_payload 
+6d7f 1a220c00 copy rega ,contr 
+6d80 18a08a03 increase 3 ,contw 
+6d81 18c21600 copy contr ,timeup 
+6d82 20406f21 call sdp_get_data 
+6d83 1fe22200 copy pdata ,rega 
+6d84 6fe40515 fetch 2 ,mem_sdp_continue_byte 
+6d85 1fe22400 copy pdata ,regb 
+6d86 1a227e00 copy rega ,pdata 
+6d87 9a462400 isub regb ,regb 
+6d88 6fe4051c fetch 2 ,mem_sdp_attribute_maxbyte 
+6d89 9a467c00 isub regb ,null 
+6d8a 24216da6 nbranch sa_req_all_fragment_sdp ,positive 
+6d8b 78547c00 disable user 
+6d8c 6fe40515 fetch 2 ,mem_sdp_continue_byte 
+6d8d 203a6d99 branch sa_req_all_fisrt_fragment ,blank 
+6d8e 99608c00 iadd timeup ,contr 
+6d8f 1a40a403 increase 3 ,regb 
+6d90 1a427200 copy regb ,loopcnt 
+6d91 1f227e00 copy loopcnt ,pdata 
+6d92 1fe0fe03 increase 3 ,pdata 
+6d93 1ff0fe00 byteswap pdata ,pdata 
+6d94 e7e40005 istore 2 ,contw 
+6d95 1f227e00 copy loopcnt ,pdata 
+6d96 1ff0fe00 byteswap pdata ,pdata 
+6d97 e7e40005 istore 2 ,contw 
+6d98 20206db4 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fisrt_fragment:
+6d99 1a20f206 add rega ,6 ,loopcnt 
+6d9a 20346d9d branch sa_req_all_parlength_continue_byte ,user 
+6d9b 1f30fe00 byteswap loopcnt ,pdata 
+6d9c 20206da0 branch sa_req_all_parlength_continue_byte_end 
+
+sa_req_all_parlength_continue_byte:
+6d9d 1f227e00 copy loopcnt ,pdata 
+6d9e 1fe0fe02 increase 2 ,pdata 
+6d9f 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_all_parlength_continue_byte_end:
+6da0 e7e40005 istore 2 ,contw 
+6da1 1f20f3fd increase -3 ,loopcnt 
+6da2 1f30fe00 byteswap loopcnt ,pdata 
+6da3 e7e40005 istore 2 ,contw 
+6da4 19620c00 copy timeup ,contr 
+6da5 20206db4 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fragment_sdp:
+6da6 78347c00 enable user 
+6da7 6fe4051c fetch 2 ,mem_sdp_attribute_maxbyte 
+6da8 1fe22200 copy pdata ,rega 
+6da9 1a227200 copy rega ,loopcnt 
+6daa 6fe40515 fetch 2 ,mem_sdp_continue_byte 
+6dab 203a6d99 branch sa_req_all_fisrt_fragment ,blank 
+6dac 99608c00 iadd timeup ,contr 
+6dad 1a227e00 copy rega ,pdata 
+6dae 1fe0fe05 increase 5 ,pdata 
+6daf 1ff0fe00 byteswap pdata ,pdata 
+6db0 e7e40005 istore 2 ,contw 
+6db1 1a227e00 copy rega ,pdata 
+6db2 1ff0fe00 byteswap pdata ,pdata 
+6db3 e7e40005 istore 2 ,contw 
+
+sa_req_all_answer_attributelist_full_loop:
+6db4 20407cdc call memcpy 
+6db5 24346dbd nbranch sa_req_all_last_frag_continue ,user 
+6db6 18007e02 force 2 ,pdata 
+6db7 e7e20005 istore 1 ,contw 
+6db8 18c27e00 copy contr ,pdata 
+6db9 99667e00 isub timeup ,pdata 
+6dba 1ff0fe00 byteswap pdata ,pdata 
+6dbb e7e40005 istore 2 ,contw 
+6dbc 20206dbf branch sa_req_all_frag_end 
+
+sa_req_all_last_frag_continue:
+6dbd 18007e00 force 0 ,pdata 
+6dbe e7e20005 istore 1 ,contw 
+
+sa_req_all_frag_end:
+6dbf da200005 arg sdp_attribute_res ,rega 
+6dc0 20206e6f branch ssa_req_range_common 
+
+sdp_process_ssa_req:
+6dc1 473ec02f bpatchx patch2f_5 ,mem_patch2f 
+6dc2 20406e8f call ask_serviceclassid 
+6dc3 2841feff compare 0xff ,temp ,0xff 
+6dc4 2020ee83 branch sdp_invalid_request_syntax ,true 
+6dc5 20406ded call sdp_store_maxbyte 
+6dc6 67e4051c store 2 ,mem_sdp_attribute_maxbyte 
+6dc7 196097fe increase -2 ,timeup 
+6dc8 20406ee7 call dataelementtype6 
+6dc9 d8a00526 arg mem_sdp_attrib_list ,contw 
+6dca 18000e00 force 0 ,queue 
+
+ssa_req_loop:
+6dcb efe20006 ifetch 1 ,contr 
+6dcc c0056df5 beq sdp_attribute_range ,ssa_req_range 
+6dcd efe40006 ifetch 2 ,contr 
+6dce e7e40005 istore 2 ,contw 
+6dcf 18e08e01 increase 1 ,queue 
+6dd0 196097fd increase -3 ,timeup 
+6dd1 1a20a3fd increase -3 ,rega 
+6dd2 24216e83 nbranch sdp_invalid_request_syntax ,positive 
+6dd3 2422edcb nbranch ssa_req_loop ,zero 
+6dd4 196097ff increase -1 ,timeup 
+6dd5 2422ee83 nbranch sdp_invalid_request_syntax ,zero 
+6dd6 204056aa call l2cap_get_sdp_tx_payload 
+6dd7 18a08a0d increase 13 ,contw 
+6dd8 6fe4050d fetch 2 ,mem_sdp_uuid_search_ptr 
+6dd9 98002600 iforce regc 
+6dda da200526 arg mem_sdp_attrib_list ,rega 
+
+ssa_req_attributelist_next:
+6ddb efe40011 ifetch 2 ,rega 
+6ddc 203a6de8 branch ssa_req_attributelist_end ,blank 
+6ddd 98002400 iforce regb 
+6dde 20406f85 call search_attrib 
+6ddf 203a6de6 branch ssa_req_attributelist_notfound ,blank 
+6de0 18c08dfd increase -3 ,contr 
+6de1 efe60006 ifetch 3 ,contr 
+6de2 e7e60005 istore 3 ,contw 
+6de3 20406f1a call sdp_data_len 
+6de4 98007200 iforce loopcnt 
+6de5 20407cdc call memcpy 
+
+ssa_req_attributelist_notfound:
+6de6 1a20a202 increase 2 ,rega 
+6de7 20206ddb branch ssa_req_attributelist_next 
+
+ssa_req_attributelist_end:
+6de8 20406e42 call ssa_req_range_lastfreg 
+6de9 6fe40271 fetch 2 ,mem_sdp_tx_pkt_length 
+6dea c0076f05 beq 14 ,ssa_empty_rsp 
+6deb 20406e59 call ssa_req_range_attrbutes_length_no_continue 
+6dec 20206e59 branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_maxbyte:
+6ded efe40006 ifetch 2 ,contr 
+6dee 1ff0fe00 byteswap pdata ,pdata 
+6def 1fe0fffd increase -3 ,pdata 
+6df0 d84000c8 arg 200 ,temp 
+6df1 98467c00 isub temp ,null 
+6df2 24610000 nrtn positive 
+6df3 580000c8 setarg 200 
+6df4 20600000 rtn 
+
+ssa_req_range:
+6df5 18c08c04 increase 4 ,contr 
+6df6 196097fb increase -5 ,timeup 
+6df7 1a20a3fb increase -5 ,rega 
+6df8 2422ee83 nbranch sdp_invalid_request_syntax ,zero 
+6df9 20406d69 call sdp_store_continue_common 
+6dfa 2422ee7d nbranch sdp_invalid_pdu_size ,zero 
+6dfb d960050d arg mem_sdp_uuid_search_ptr ,timeup 
+6dfc 20406f41 call search_all_uuid 
+6dfd 18e27e00 deposit queue 
+6dfe 203a6f05 branch ssa_empty_rsp ,blank 
+6dff 67e2054a store 1 ,mem_handle_humber 
+6e00 1a427e00 copy regb ,pdata 
+6e01 67e40548 store 2 ,mem_sdp_all_length 
+6e02 d8e00000 arg 0 ,queue 
+6e03 da200000 arg 0 ,rega 
+6e04 204056aa call l2cap_get_sdp_tx_payload 
+6e05 18a08a0a increase 10 ,contw 
+
+ssa_req_range_find_handle:
+6e06 20406e2b call ssa_req_range_get_length 
+6e07 24344a8b nbranch assert ,user 
+6e08 18c21600 copy contr ,timeup 
+6e09 1fe22600 copy pdata ,regc 
+6e0a 9a20a200 iadd rega ,rega 
+6e0b 6fe40515 fetch 2 ,mem_sdp_continue_byte 
+6e0c 1fe22400 copy pdata ,regb 
+6e0d 203a6e34 branch ssa_req_range_first_freg ,blank 
+
+ssa_req_range_later_freg_with_continue:
+6e0e 1a227e00 copy rega ,pdata 
+6e0f 9a462400 isub regb ,regb 
+6e10 2022ee26 branch ssa_req_range_next_handle ,zero 
+6e11 24216e26 nbranch ssa_req_range_next_handle ,positive 
+6e12 6fe4051c fetch 2 ,mem_sdp_attribute_maxbyte 
+6e13 9a467c00 isub regb ,null 
+6e14 2022ee1d branch ssa_req_range_maxbyte_with_continue ,zero 
+6e15 24216e1d nbranch ssa_req_range_maxbyte_with_continue ,positive 
+
+ssa_req_range_send_not_maxbyte:
+6e16 1a427200 copy regb ,loopcnt 
+6e17 20406e20 call ssa_req_range_maxbyte_with_continue_cpy 
+6e18 6fe2054a fetch 1 ,mem_handle_humber 
+6e19 18e08e01 increase 1 ,queue 
+6e1a 98e67c00 isub queue ,null 
+6e1b 2022ee42 branch ssa_req_range_lastfreg ,zero 
+6e1c 20206e5f branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue:
+6e1d 1fe27200 copy pdata ,loopcnt 
+6e1e 20406e20 call ssa_req_range_maxbyte_with_continue_cpy 
+6e1f 20206e5f branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue_cpy:
+6e20 18a08bfd increase -3 ,contw 
+6e21 1f220400 copy loopcnt ,temp 
+6e22 1a627e00 copy regc ,pdata 
+6e23 9a467e00 isub regb ,pdata 
+6e24 99608c00 iadd timeup ,contr 
+6e25 20207cdc branch memcpy 
+
+ssa_req_range_next_handle:
+6e26 6fe2054a fetch 1 ,mem_handle_humber 
+6e27 18e08e01 increase 1 ,queue 
+6e28 98e67c00 isub queue ,null 
+6e29 20628000 rtn zero 
+6e2a 20206e06 branch ssa_req_range_find_handle 
+
+ssa_req_range_get_length:
+6e2b 20407dc1 call disable_user 
+6e2c d8c00526 arg mem_sdp_handle_list ,contr 
+6e2d 18ebfe00 lshift2 queue ,pdata 
+6e2e 98c08c00 iadd contr ,contr 
+6e2f e8480006 ifetcht 4 ,contr 
+6e30 20406f70 call search_handle 
+6e31 24628000 nrtn zero 
+6e32 20406f1a call sdp_data_len 
+6e33 20207dbf branch enable_user 
+
+ssa_req_range_first_freg:
+6e34 6fe4051c fetch 2 ,mem_sdp_attribute_maxbyte 
+6e35 9a267c00 isub rega ,null 
+6e36 24216e4e nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+6e37 1a227200 copy rega ,loopcnt 
+6e38 1f220400 copy loopcnt ,temp 
+6e39 19620c00 copy timeup ,contr 
+6e3a 20407cdc call memcpy 
+6e3b 6fe40548 fetch 2 ,mem_sdp_all_length 
+6e3c 9a267c00 isub rega ,null 
+6e3d 2022ee40 branch ssa_req_range_freg_no_continue ,zero 
+
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+6e3e 20406e5f call ssa_req_range_freg_with_continue 
+6e3f 20206e53 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_freg_no_continue:
+6e40 20406e42 call ssa_req_range_lastfreg 
+6e41 20206e53 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_lastfreg:
+6e42 da200007 arg sdp_searchattrib_res ,rega 
+
+ssa_req_range_lastfreg_common:
+6e43 18007e00 force 0 ,pdata 
+6e44 e7e20005 istore 1 ,contw 
+6e45 20406e6f call ssa_req_range_common 
+6e46 68440271 fetcht 2 ,mem_sdp_tx_pkt_length 
+6e47 184085fb increase -5 ,temp 
+6e48 1850fe00 byteswap temp ,pdata 
+6e49 e7e40005 istore 2 ,contw 
+6e4a 184085fd increase -3 ,temp 
+6e4b 1850fe00 byteswap temp ,pdata 
+6e4c e7e40005 istore 2 ,contw 
+6e4d 20600000 rtn 
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+6e4e 1fe27200 copy pdata ,loopcnt 
+6e4f 1f220400 copy loopcnt ,temp 
+6e50 19620c00 copy timeup ,contr 
+6e51 20407cdc call memcpy 
+6e52 20406e5f call ssa_req_range_freg_with_continue 
+
+ssa_req_range_attrbutes_length:
+6e53 58000036 setarg 0x36 
+6e54 e7e20005 istore 1 ,contw 
+6e55 6fe40548 fetch 2 ,mem_sdp_all_length 
+6e56 1ff0fe00 byteswap pdata ,pdata 
+6e57 e7e40005 istore 2 ,contw 
+6e58 20600000 rtn 
+
+ssa_req_range_attrbutes_length_no_continue:
+6e59 58000036 setarg 0x36 
+6e5a e7e20005 istore 1 ,contw 
+6e5b 184085fd increase -3 ,temp 
+6e5c 1850fe00 byteswap temp ,pdata 
+6e5d e7e40005 istore 2 ,contw 
+6e5e 20600000 rtn 
+
+ssa_req_range_freg_with_continue:
+6e5f da200007 arg sdp_searchattrib_res ,rega 
+6e60 58000002 setarg 2 
+6e61 e7e20005 istore 1 ,contw 
+6e62 6fe40515 fetch 2 ,mem_sdp_continue_byte 
+6e63 98408400 iadd temp ,temp 
+6e64 1850fe00 byteswap temp ,pdata 
+6e65 e7e40005 istore 2 ,contw 
+6e66 20406e6f call ssa_req_range_common 
+6e67 68440271 fetcht 2 ,mem_sdp_tx_pkt_length 
+6e68 184085fb increase -5 ,temp 
+6e69 1850fe00 byteswap temp ,pdata 
+6e6a e7e40005 istore 2 ,contw 
+6e6b 184085fb increase -5 ,temp 
+6e6c 1850fe00 byteswap temp ,pdata 
+6e6d e7e40005 istore 2 ,contw 
+6e6e 20600000 rtn 
+
+ssa_req_range_common:
+6e6f 6fe4026f fetch 2 ,mem_sdp_tx_payload_ptr 
+6e70 98a67e00 isub contw ,pdata 
+6e71 1fe67e00 sub pdata ,0 ,pdata 
+6e72 67e40271 store 2 ,mem_sdp_tx_pkt_length 
+6e73 204056aa call l2cap_get_sdp_tx_payload 
+6e74 1a227e00 copy rega ,pdata 
+6e75 e7e20005 istore 1 ,contw 
+6e76 6fe40518 fetch 2 ,mem_sdp_transactionid 
+6e77 e7e40005 istore 2 ,contw 
+6e78 20600000 rtn 
+
+sdp_process_ssa_res:
+
+sdp_process_ss_res:
+
+sdp_process_sa_res:
+
+sdp_process_error_res:
+6e79 20600000 rtn 
+
+sdp_invalid_service_record_handle:
+6e7a 58000200 setarg 0x0200 
+6e7b 67e40546 store 2 ,mem_sdp_error_code 
+6e7c 20206e85 branch sdp_error_response 
+
+sdp_invalid_pdu_size:
+6e7d 58000400 setarg 0x0400 
+6e7e 67e40546 store 2 ,mem_sdp_error_code 
+6e7f 20206e85 branch sdp_error_response 
+
+sdp_insufficient_resource:
+6e80 58000600 setarg 0x0600 
+6e81 67e40546 store 2 ,mem_sdp_error_code 
+6e82 20206e85 branch sdp_error_response 
+
+sdp_invalid_request_syntax:
+6e83 58000300 setarg 0x0300 
+6e84 67e40546 store 2 ,mem_sdp_error_code 
+
+sdp_error_response:
+6e85 204056aa call l2cap_get_sdp_tx_payload 
+6e86 e7e20005 istore 1 ,contw 
+6e87 6fe40518 fetch 2 ,mem_sdp_transactionid 
+6e88 e7e40005 istore 2 ,contw 
+6e89 58000200 setarg 0x0200 
+6e8a e7e40005 istore 2 ,contw 
+6e8b 6fe40546 fetch 2 ,mem_sdp_error_code 
+6e8c e7e40005 istore 2 ,contw 
+6e8d 70027107 jam 7 ,mem_sdp_tx_pkt_length 
+6e8e 20600000 rtn 
+
+ask_serviceclassid:
+6e8f da400000 arg 0 ,regb 
+6e90 18000400 force 0 ,temp 
+6e91 d8a0050d arg mem_sdp_uuid_search_ptr ,contw 
+6e92 20406ee7 call dataelementtype6 
+6e93 2022eee5 branch asksrv_error ,zero 
+
+classidloop:
+6e94 1a40a401 increase 1 ,regb 
+6e95 efe20006 ifetch 1 ,contr 
+6e96 1a20a3ff increase -1 ,rega 
+6e97 196097ff increase -1 ,timeup 
+6e98 2fe1f018 compare 0x18 ,pdata ,0xf8 
+6e99 2420eee5 nbranch asksrv_error ,true 
+6e9a 2fe00e04 compare 0x04 ,pdata ,0x07 
+6e9b 2420eeb2 nbranch cmp032 ,true 
+6e9c 18000401 force 1 ,temp 
+
+skip2bytes:
+6e9d efe20006 ifetch 1 ,contr 
+6e9e 1a20a3ff increase -1 ,rega 
+6e9f 196097ff increase -1 ,timeup 
+6ea0 c0806ea6 bne 0x00 ,frstbwrong 
+6ea1 efe20006 ifetch 1 ,contr 
+6ea2 1a20a3ff increase -1 ,rega 
+6ea3 196097ff increase -1 ,timeup 
+6ea4 c0006eb7 beq 0x00 ,cmpuuid 
+6ea5 20206ea9 branch scndbwrong 
+
+frstbwrong:
+6ea6 18c08c01 increase 1 ,contr 
+6ea7 1a20a3ff increase -1 ,rega 
+6ea8 196097ff increase -1 ,timeup 
+
+scndbwrong:
+6ea9 18c08c02 increase 2 ,contr 
+6eaa 1a20a3fe increase -2 ,rega 
+6eab 196097fe increase -2 ,timeup 
+6eac 2841fe00 compare 0x00 ,temp ,0xff 
+6ead 2020eedf branch loopornot ,true 
+6eae 18c08c0c increase 12 ,contr 
+6eaf 1a20a3f4 increase -12 ,rega 
+6eb0 196097f4 increase -12 ,timeup 
+6eb1 20206edf branch loopornot 
+
+cmp032:
+6eb2 2fe00e02 compare 0x02 ,pdata ,0x07 
+6eb3 2420eeb5 nbranch cmp016 ,true 
+6eb4 20206e9d branch skip2bytes 
+
+cmp016:
+6eb5 2fe00e01 compare 0x01 ,pdata ,0x07 
+6eb6 2420eee5 nbranch asksrv_error ,true 
+
+cmpuuid:
+6eb7 1a20a3fe increase -2 ,rega 
+6eb8 196097fe increase -2 ,timeup 
+6eb9 efe40006 ifetch 2 ,contr 
+6eba 1a467c04 sub regb ,4 ,null 
+6ebb 2022eebd branch uuidsize ,zero 
+6ebc e7e40005 istore 2 ,contw 
+
+uuidsize:
+6ebd 2841fe00 compare 0x00 ,temp ,0xff 
+6ebe 2020eedf branch loopornot ,true 
+6ebf 18c20400 copy contr ,temp 
+6ec0 efe20006 ifetch 1 ,contr 
+6ec1 c0806ed8 bne 0x00 ,wrong12b 
+6ec2 efe20006 ifetch 1 ,contr 
+6ec3 c0806ed8 bne 0x00 ,wrong12b 
+6ec4 efe20006 ifetch 1 ,contr 
+6ec5 c0886ed8 bne 0x10 ,wrong12b 
+6ec6 efe20006 ifetch 1 ,contr 
+6ec7 c0806ed8 bne 0x00 ,wrong12b 
+6ec8 efe20006 ifetch 1 ,contr 
+6ec9 c0c06ed8 bne 0x80 ,wrong12b 
+6eca efe20006 ifetch 1 ,contr 
+6ecb c0806ed8 bne 0x00 ,wrong12b 
+6ecc efe20006 ifetch 1 ,contr 
+6ecd c0806ed8 bne 0x00 ,wrong12b 
+6ece efe20006 ifetch 1 ,contr 
+6ecf c0c06ed8 bne 0x80 ,wrong12b 
+6ed0 efe20006 ifetch 1 ,contr 
+6ed1 c0afeed8 bne 0x5f ,wrong12b 
+6ed2 efe20006 ifetch 1 ,contr 
+6ed3 c0cdeed8 bne 0x9b ,wrong12b 
+6ed4 efe20006 ifetch 1 ,contr 
+6ed5 c09a6ed8 bne 0x34 ,wrong12b 
+6ed6 efe20006 ifetch 1 ,contr 
+6ed7 c07deedd beq 0xfb ,chck12dn 
+
+wrong12b:
+6ed8 18420c00 copy temp ,contr 
+
+wrong12b1:
+6ed9 18c08c0c increase 12 ,contr 
+6eda 18000e00 force 0x00 ,queue 
+6edb 18000400 force 0x00 ,temp 
+6edc 20206edd branch chck12dn 
+
+chck12dn:
+6edd 196097f4 increase -12 ,timeup 
+6ede 1a20a3f4 increase -12 ,rega 
+
+loopornot:
+6edf 18000400 force 0x00 ,temp 
+6ee0 2a21fe00 compare 0x00 ,rega ,0xff 
+6ee1 2420ee94 nbranch classidloop ,true 
+6ee2 18007e00 force 0 ,pdata 
+6ee3 e7e40005 istore 2 ,contw 
+6ee4 20600000 rtn 
+
+asksrv_error:
+6ee5 d84000ff arg 0xff ,temp 
+6ee6 20600000 rtn 
+
+dataelementtype6:
+6ee7 47404030 bpatchx patch30_0 ,mem_patch30 
+6ee8 efe20006 ifetch 1 ,contr 
+6ee9 196097ff increase -1 ,timeup 
+6eea 2fe1f030 compare 0x30 ,pdata ,0xf8 
+6eeb 2420eefd nbranch dsize_error ,true 
+6eec 2fe00e07 compare 0x07 ,pdata ,0x07 
+6eed 2020eef6 branch dsize32 ,true 
+6eee 2fe00e06 compare 0x06 ,pdata ,0x07 
+6eef 2020eef8 branch dsize16 ,true 
+6ef0 2fe00e05 compare 0x05 ,pdata ,0x07 
+6ef1 2420eefd nbranch dsize_error ,true 
+6ef2 efe20006 ifetch 1 ,contr 
+6ef3 1fe22200 copy pdata ,rega 
+6ef4 196097ff increase -1 ,timeup 
+6ef5 20206efb branch dsize 
+
+dsize32:
+6ef6 18c08c02 increase 2 ,contr 
+6ef7 196097fe increase -2 ,timeup 
+
+dsize16:
+6ef8 efe40006 ifetch 2 ,contr 
+6ef9 1ff0a200 byteswap pdata ,rega 
+6efa 196097fe increase -2 ,timeup 
+
+dsize:
+6efb 18007e01 force 0x01 ,pdata 
+6efc 20600000 rtn 
+
+dsize_error:
+6efd 18007e00 force 0x00 ,pdata 
+6efe 20600000 rtn 
+
+ss_empty_rsp:
+6eff 58000003 setarg sdp_search_res 
+6f00 67e20517 store 1 ,mem_sdp_pduid 
+6f01 20206f07 branch empty_response 
+
+sa_empty_rsp:
+6f02 58000005 setarg sdp_attribute_res 
+6f03 67e20517 store 1 ,mem_sdp_pduid 
+6f04 20206f07 branch empty_response 
+
+ssa_empty_rsp:
+6f05 58000007 setarg sdp_searchattrib_res 
+6f06 67e20517 store 1 ,mem_sdp_pduid 
+
+empty_response:
+6f07 204056aa call l2cap_get_sdp_tx_payload 
+6f08 6fe20517 fetch 1 ,mem_sdp_pduid 
+6f09 1fe22400 copy pdata ,regb 
+6f0a e7e20005 istore 1 ,contw 
+6f0b 6fe40518 fetch 2 ,mem_sdp_transactionid 
+6f0c e7e40005 istore 2 ,contw 
+6f0d 58000500 setarg 0x0500 
+6f0e e7e40005 istore 2 ,contw 
+6f0f 2a41fe05 compare sdp_attribute_res ,regb ,0xff 
+6f10 2020ef16 branch fullsearch ,true 
+6f11 2a41fe07 compare sdp_searchattrib_res ,regb ,0xff 
+6f12 2020ef16 branch fullsearch ,true 
+6f13 58000000 setarg 0x000000 
+6f14 e7ea0005 istore 5 ,contw 
+6f15 20206f18 branch outempty 
+
+fullsearch:
+6f16 58350200 setarg 0x350200 
+6f17 e7ea0005 istore 5 ,contw 
+
+outempty:
+6f18 7002710a jam 10 ,mem_sdp_tx_pkt_length 
+6f19 20600000 rtn 
+
+sdp_data_len:
+6f1a 20407c7d call store_contw 
+6f1b 20407c80 call store_contr 
+6f1c 20406f21 call sdp_get_data 
+6f1d 20407c77 call get_contw 
+6f1e 20407c7a call get_contr 
+6f1f 18427e00 copy temp ,pdata 
+6f20 20600000 rtn 
+
+sdp_get_data:
+6f21 efe20006 ifetch 1 ,contr 
+6f22 1fe17207 and pdata ,0x7 ,loopcnt 
+6f23 1fe97e00 rshift3 pdata ,pdata 
+6f24 c0806f2b bne 0 ,sdp_get_data_type_not0 
+
+sdp_get_data_type0:
+6f25 18007e01 force 1 ,pdata 
+6f26 18000401 force 1 ,temp 
+6f27 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex01234:
+6f28 20407c51 call left_shift_n 
+6f29 1fe08401 add pdata ,1 ,temp 
+6f2a 20600000 rtn 
+
+sdp_get_data_type_not0:
+6f2b 1f227e00 deposit loopcnt 
+6f2c 1fe67c04 sub pdata ,4 ,null 
+6f2d 20216f28 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+6f2e c002ef32 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+6f2f c0036f35 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+6f30 c003ef39 beq 7 ,sdp_get_data_type_not0_sizeindex7 
+6f31 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex5:
+6f32 efe20006 ifetch 1 ,contr 
+6f33 1fe08402 add pdata ,2 ,temp 
+6f34 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex6:
+6f35 efe40006 ifetch 2 ,contr 
+6f36 1ff0fe00 byteswap pdata ,pdata 
+6f37 1fe08403 add pdata ,3 ,temp 
+6f38 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex7:
+6f39 efe40006 ifetch 2 ,contr 
+6f3a 1ff0fe00 byteswap pdata ,pdata 
+6f3b e8440006 ifetcht 2 ,contr 
+6f3c 18508400 byteswap temp ,temp 
+6f3d 18500400 lshift16 temp ,temp 
+6f3e 9840fe00 iadd temp ,pdata 
+6f3f 1fe08405 add pdata ,5 ,temp 
+6f40 20600000 rtn 
+
+search_all_uuid:
+6f41 4740c030 bpatchx patch30_1 ,mem_patch30 
+6f42 18000e00 force 0 ,queue 
+6f43 da400000 arg 0 ,regb 
+6f44 d8a00526 arg mem_sdp_handle_list ,contw 
+
+search_all_uuid_llop:
+6f45 efe4000b ifetch 2 ,timeup 
+6f46 207a0000 rtn blank 
+6f47 20406f4c call search_uuid 
+6f48 18e27e00 copy queue ,pdata 
+6f49 c1038000 rtneq sdp_max_handle_number 
+6f4a 19609602 increase 2 ,timeup 
+6f4b 20206f45 branch search_all_uuid_llop 
+
+search_uuid:
+6f4c 98002600 iforce regc 
+6f4d 6fe44547 fetch 2 ,mem_ui_uuid_table 
+6f4e 98000c00 iforce contr 
+
+search_uuid_next:
+6f4f 18e27e00 copy queue ,pdata 
+6f50 c1038000 rtneq sdp_max_handle_number 
+6f51 78547c00 disable user 
+6f52 efe20006 ifetch 1 ,contr 
+6f53 207a0000 rtn blank 
+6f54 98007200 iforce loopcnt 
+
+search_uuid_loop:
+6f55 efe40006 ifetch 2 ,contr 
+6f56 9a667c00 isub regc ,null 
+6f57 2422ef59 nbranch search_uuid_not_found ,zero 
+6f58 78347c00 enable user 
+
+search_uuid_not_found:
+6f59 c2006f55 loop search_uuid_loop 
+6f5a e8480006 ifetcht 4 ,contr 
+6f5b 18c22200 copy contr ,rega 
+6f5c 24346f6c nbranch search_uuid_nomatch ,user 
+6f5d d8c00526 arg mem_sdp_handle_list ,contr 
+6f5e df200007 arg sdp_max_handle_number ,loopcnt 
+
+search_uuid_check_same_handle:
+6f5f efe80006 ifetch 4 ,contr 
+6f60 203a6f65 branch search_uuid_store_handle ,blank 
+6f61 98467c00 isub temp ,null 
+6f62 2022ef6c branch search_uuid_nomatch ,zero 
+6f63 c2006f5f loop search_uuid_check_same_handle 
+6f64 20600000 rtn 
+
+search_uuid_store_handle:
+6f65 e0480005 istoret 4 ,contw 
+6f66 18e08e01 increase 1 ,queue 
+6f67 1a220c00 copy rega ,contr 
+6f68 20406f1a call sdp_data_len 
+6f69 9a40a400 iadd regb ,regb 
+6f6a 98c08c00 iadd contr ,contr 
+6f6b 20206f4f branch search_uuid_next 
+
+search_uuid_nomatch:
+6f6c 1a220c00 copy rega ,contr 
+6f6d 20406f21 call sdp_get_data 
+6f6e 98c08c00 iadd contr ,contr 
+6f6f 20206f4f branch search_uuid_next 
+
+search_handle:
+6f70 47414030 bpatchx patch30_2 ,mem_patch30 
+6f71 6fe44547 fetch 2 ,mem_ui_uuid_table 
+6f72 98000c00 iforce contr 
+
+search_handle_loop:
+6f73 efe20006 ifetch 1 ,contr 
+6f74 203a7dbb branch disable_zero ,blank 
+6f75 1fe3fe00 lshift pdata ,pdata 
+6f76 98c08c00 iadd contr ,contr 
+6f77 efe80006 ifetch 4 ,contr 
+6f78 98467c00 isub temp ,null 
+6f79 20628000 rtn zero 
+6f7a 18a27e00 deposit contw 
+6f7b 67e40ab7 store 2 ,mem_contw 
+6f7c 60500a9e storet 8 ,mem_temp 
+6f7d 20406f21 call sdp_get_data 
+6f7e 98c08c00 iadd contr ,contr 
+6f7f 18c27e00 copy contr ,pdata 
+6f80 68440ab7 fetcht 2 ,mem_contw 
+6f81 18420a00 copy temp ,contw 
+6f82 68500a9e fetcht 8 ,mem_temp 
+6f83 1fe20c00 copy pdata ,contr 
+6f84 20206f73 branch search_handle_loop 
+
+search_attrib:
+6f85 4741c030 bpatchx patch30_3 ,mem_patch30 
+6f86 6fe44547 fetch 2 ,mem_ui_uuid_table 
+6f87 98000c00 iforce contr 
+
+search_attrib_next:
+6f88 efe20006 ifetch 1 ,contr 
+6f89 203a6fa3 branch search_attrib_end ,blank 
+6f8a 98007200 iforce loopcnt 
+
+search_attrib_loop:
+6f8b efe40006 ifetch 2 ,contr 
+6f8c 9a667c00 isub regc ,null 
+6f8d 2022ef93 branch search_attrib_found_uuid ,zero 
+6f8e c2006f8b loop search_attrib_loop 
+6f8f 18c08c04 increase 4 ,contr 
+6f90 20406f21 call sdp_get_data 
+6f91 98c08c00 iadd contr ,contr 
+6f92 20206f88 branch search_attrib_next 
+
+search_attrib_found_uuid:
+6f93 1f20f3ff increase -1 ,loopcnt 
+6f94 1f23fe00 lshift loopcnt ,pdata 
+6f95 98c08c00 iadd contr ,contr 
+6f96 18c08c04 increase 4 ,contr 
+6f97 20406f21 call sdp_get_data 
+6f98 98c09600 iadd contr ,timeup 
+
+search_attrib_loop_attribs:
+6f99 18c08c01 increase 1 ,contr 
+6f9a efe40006 ifetch 2 ,contr 
+6f9b 9a467c00 isub regb ,null 
+6f9c 2022fdc7 branch disable_blank ,zero 
+6f9d 20406f1a call sdp_data_len 
+6f9e 98c08c00 iadd contr ,contr 
+6f9f 19627e00 deposit timeup 
+6fa0 98c67c00 isub contr ,null 
+6fa1 2022efa3 branch search_attrib_end ,zero 
+6fa2 20206f99 branch search_attrib_loop_attribs 
+
+search_attrib_end:
+6fa3 18000c00 force 0 ,contr 
+6fa4 18007e00 force 0 ,pdata 
+6fa5 20600000 rtn 
+
+search_handle_attrib:
+6fa6 47424030 bpatchx patch30_4 ,mem_patch30 
+6fa7 6fe44547 fetch 2 ,mem_ui_uuid_table 
+6fa8 98000c00 iforce contr 
+
+search_handle_attrib_next:
+6fa9 efe20006 ifetch 1 ,contr 
+6faa 203a6fbf branch search_handle_attrib_end ,blank 
+6fab 1fe3fe00 lshift pdata ,pdata 
+6fac 98c08c00 iadd contr ,contr 
+6fad efe80006 ifetch 4 ,contr 
+6fae 98467c00 isub temp ,null 
+6faf 2022efb3 branch search_handl_attrib_found_handle ,zero 
+6fb0 20406f21 call sdp_get_data 
+6fb1 98c08c00 iadd contr ,contr 
+6fb2 20206fa9 branch search_handle_attrib_next 
+
+search_handl_attrib_found_handle:
+6fb3 20406f21 call sdp_get_data 
+6fb4 98c09600 iadd contr ,timeup 
+
+search_handle_attrib_loop_attribs:
+6fb5 18c08c01 increase 1 ,contr 
+6fb6 efe40006 ifetch 2 ,contr 
+6fb7 9a467c00 isub regb ,null 
+6fb8 20628000 rtn zero 
+6fb9 20406f1a call sdp_data_len 
+6fba 98c08c00 iadd contr ,contr 
+6fbb 19627e00 deposit timeup 
+6fbc 98c67c00 isub contr ,null 
+6fbd 2022efbf branch search_handle_attrib_end ,zero 
+6fbe 20206fb5 branch search_handle_attrib_loop_attribs 
+
+search_handle_attrib_end:
+6fbf 18000c00 force 0 ,contr 
+6fc0 20600000 rtn 
+
+search_rfcomm_cn:
+6fc1 da400400 arg 0x0400 ,regb 
+6fc2 20406fb3 call search_handl_attrib_found_handle 
+6fc3 da400300 arg 0x0300 ,regb 
+6fc4 20406fcc call search_uuid_in_data 
+6fc5 24740000 nrtn user 
+6fc6 1a267c03 sub rega ,3 ,null 
+6fc7 20217dc1 branch disable_user ,positive 
+6fc8 efe20006 ifetch 1 ,contr 
+6fc9 c0847dc1 bne 0x08 ,disable_user 
+6fca efe20006 ifetch 1 ,contr 
+6fcb 20600000 rtn 
+
+search_uuid_in_data:
+6fcc 4742c030 bpatchx patch30_5 ,mem_patch30 
+6fcd 20406f21 call sdp_get_data 
+6fce 1fe22200 copy pdata ,rega 
+
+search_uuid_in_data_loop:
+6fcf efe20006 ifetch 1 ,contr 
+6fd0 1fe17207 and pdata ,0x7 ,loopcnt 
+6fd1 1fe97e00 rshift3 pdata ,pdata 
+6fd2 1fe67c03 sub pdata ,3 ,null 
+6fd3 2022efe8 branch search_uuid_in_data_found_uuid ,zero 
+6fd4 1f227e00 copy loopcnt ,pdata 
+6fd5 c002efdf beq 5 ,search_uuid_in_data_found_element_index5 
+6fd6 c0036fe2 beq 6 ,search_uuid_in_data_found_element_index6 
+6fd7 c003efe5 beq 7 ,search_uuid_in_data_found_element_index7 
+6fd8 18c08dff increase -1 ,contr 
+6fd9 20406f21 call sdp_get_data 
+6fda 98c08c00 iadd contr ,contr 
+6fdb 1a227e00 copy rega ,pdata 
+6fdc 98462200 isub temp ,rega 
+6fdd 2022fdc1 branch disable_user ,zero 
+6fde 20206fcf branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index5:
+6fdf 1a20a3fe increase -2 ,rega 
+6fe0 18c08c01 increase 1 ,contr 
+6fe1 20206fcf branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index6:
+6fe2 1a20a3fd increase -3 ,rega 
+6fe3 18c08c02 increase 2 ,contr 
+6fe4 20206fcf branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index7:
+6fe5 1a20a3fb increase -5 ,rega 
+6fe6 18c08c04 increase 4 ,contr 
+6fe7 20206fcf branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_uuid:
+6fe8 1a20a3ff increase -1 ,rega 
+6fe9 1f227e00 copy loopcnt ,pdata 
+6fea c000eff1 beq 1 ,search_uuid_in_data_type_uuid_16 
+6feb c0016fef beq 2 ,search_uuid_in_data_type_uuid_32 
+6fec c0026fee beq 4 ,search_uuid_in_data_type_uuid_128 
+6fed 20207dc1 branch disable_user 
+
+search_uuid_in_data_type_uuid_128:
+6fee 1a20a3f4 increase -12 ,rega 
+
+search_uuid_in_data_type_uuid_32:
+6fef efe40006 ifetch 2 ,contr 
+6ff0 1a20a3fe increase -2 ,rega 
+
+search_uuid_in_data_type_uuid_16:
+6ff1 efe40006 ifetch 2 ,contr 
+6ff2 9a467c00 isub regb ,null 
+6ff3 2022fdbf branch enable_user ,zero 
+6ff4 1a20a3fe increase -2 ,rega 
+6ff5 2022fdc1 branch disable_user ,zero 
+6ff6 20206fcf branch search_uuid_in_data_loop 
+
+sdp_send_spp_request:
+6ff7 204056aa call l2cap_get_sdp_tx_payload 
+6ff8 1fe20a00 copy pdata ,contw 
+6ff9 58000006 setarg 6 
+6ffa e7e20005 istore 1 ,contw 
+6ffb 5800006e setarg sdp_tid_spp 
+6ffc e7e40005 istore 2 ,contw 
+6ffd 58000f00 setarg 0x0f00 
+6ffe e7e40005 istore 2 ,contw 
+6fff 581a0535 setarg 0x1a0535 
+7000 e7e60005 istore 3 ,contw 
+7001 58000111 setarg 0x0111 
+7002 1ff07e00 lshift16 pdata ,pdata 
+7003 e7e80005 istore 4 ,contw 
+7004 58002600 setarg 0x2600 
+7005 e7e40005 istore 2 ,contw 
+7006 58000335 setarg 0x0335 
+7007 e7e40005 istore 2 ,contw 
+7008 58000009 setarg 0x0009 
+7009 e7e40005 istore 2 ,contw 
+700a 58000004 setarg 0x0004 
+700b e7e40005 istore 2 ,contw 
+700c 70027114 jam 0x14 ,mem_sdp_tx_pkt_length 
+700d 20600000 rtn 
+
+function_g2:
+700e 47434030 bpatchx patch30_6 ,mem_patch30 
+700f 7005e150 jam 80 ,mem_aes_cmac_data_length 
+7010 d8a005e2 arg memdat ,contw 
+7011 d8c0440c arg mem_le_srand ,contr 
+7012 20407c9a call memcpy16 
+7013 d8c045a4 arg mem_le_pubkey_local_x_256 ,contr 
+7014 20407c98 call memcpy32 
+7015 d8c009ba arg mem_le_pubkey_remote_x_256 ,contr 
+7016 20407c98 call memcpy32 
+7017 204070c9 call inverse_memdat 
+7018 d8c0042b arg mem_le_mrand ,contr 
+7019 204070c4 call store_inverse_k 
+701a 2040708f call function_aes_cmac 
+701b d8a00aee arg mem_aes_cmac_temp ,contw 
+701c 204070c0 call load_inverse_result 
+701d 580f4240 setarg 1000000 
+701e 1fe22200 copy pdata ,rega 
+701f 6fe80aee fetch 4 ,mem_aes_cmac_temp 
+7020 9a26fc00 idiv rega 
+7021 20407d61 call wait_div_end 
+7022 18077e00 remainder pdata 
+7023 67e809b6 store 4 ,mem_gkey 
+7024 20600000 rtn 
+
+function_f6_eb:
+7025 7005e141 jam 65 ,mem_aes_cmac_data_length 
+7026 d8a005e2 arg memdat ,contw 
+7027 20407074 call store_addr_common_a 
+7028 2040706f call store_addr_common_b 
+7029 6fe64426 fetch 3 ,mem_le_pres + 1 
+702a e7e60005 istore 3 ,contw 
+702b 20407035 call get_r 
+702c d8c0042b arg mem_le_mrand ,contr 
+702d 20407c9a call memcpy16 
+702e d8c0440c arg mem_le_srand ,contr 
+702f 20407c9a call memcpy16 
+7030 204070c9 call inverse_memdat 
+7031 d8c00b0e arg mem_le_mackey ,contr 
+7032 d8a00abe arg mem_aes_cmac_k ,contw 
+7033 20407c9a call memcpy16 
+7034 2020708f branch function_aes_cmac 
+
+get_r:
+7035 6fe84499 fetch 4 ,mem_le_tk 
+7036 e7e80005 istore 4 ,contw 
+7037 20407ca8 call memset0_4 
+7038 20207ca5 branch memset0_8 
+
+function_f6_ea:
+7039 4743c030 bpatchx patch30_7 ,mem_patch30 
+703a 7005e141 jam 65 ,mem_aes_cmac_data_length 
+703b d8a005e2 arg memdat ,contw 
+703c 2040706f call store_addr_common_b 
+703d 20407074 call store_addr_common_a 
+703e 6fe6441f fetch 3 ,mem_le_preq + 1 
+703f e7e60005 istore 3 ,contw 
+7040 20407035 call get_r 
+7041 d8c0440c arg mem_le_srand ,contr 
+7042 20407c9a call memcpy16 
+7043 d8c0042b arg mem_le_mrand ,contr 
+7044 20407c9a call memcpy16 
+7045 204070c9 call inverse_memdat 
+7046 d8c00b0e arg mem_le_mackey ,contr 
+7047 d8a00abe arg mem_aes_cmac_k ,contw 
+7048 20407c9a call memcpy16 
+7049 2040708f call function_aes_cmac 
+704a d8a00aee arg mem_aes_cmac_temp ,contw 
+704b 202070c0 branch load_inverse_result 
+
+function_f5:
+704c 7005e120 jam 32 ,mem_aes_cmac_data_length 
+704d d8c009fa arg mem_le_dhkey_256 ,contr 
+704e d8a005e2 arg memdat ,contw 
+704f 20407c98 call memcpy32 
+7050 204070c9 call inverse_memdat 
+7051 d8c0099a arg mem_le_slat ,contr 
+7052 204070c4 call store_inverse_k 
+7053 2040708f call function_aes_cmac 
+7054 d8a00abe arg mem_aes_cmac_k ,contw 
+7055 2040734c call store_aes_result 
+7056 d8400001 arg 1 ,temp 
+7057 2040705e call function_f5_common 
+7058 d8a043eb arg mem_le_ltk ,contw 
+7059 204070c0 call load_inverse_result 
+705a d8400000 arg 0 ,temp 
+705b 2040705e call function_f5_common 
+705c d8a00b0e arg mem_le_mackey ,contw 
+705d 2020734c branch store_aes_result 
+
+function_f5_common:
+705e 47444031 bpatchx patch31_0 ,mem_patch31 
+705f 7005e135 jam 53 ,mem_aes_cmac_data_length 
+7060 58000100 setarg 0x100 
+7061 67e405e2 store 2 ,memdat 
+7062 2040706f call store_addr_common_b 
+7063 20407074 call store_addr_common_a 
+7064 d8c0440c arg mem_le_srand ,contr 
+7065 20407c9a call memcpy16 
+7066 d8c0042b arg mem_le_mrand ,contr 
+7067 20407c9a call memcpy16 
+7068 58006c65 setarg 0x6c65 
+7069 e7e40005 istore 2 ,contw 
+706a 58006274 setarg 0x6274 
+706b e7e40005 istore 2 ,contw 
+706c e0420005 istoret 1 ,contw 
+706d 204070c9 call inverse_memdat 
+706e 2020708f branch function_aes_cmac 
+
+store_addr_common_b:
+706f 6fec4472 fetch 6 ,mem_le_lap 
+7070 e7ec0005 istore 6 ,contw 
+7071 6fe24467 fetch 1 ,mem_le_conn_own_addr_type 
+7072 e7e20005 istore 1 ,contw 
+7073 20600000 rtn 
+
+store_addr_common_a:
+7074 6fec044b fetch 6 ,mem_le_plap 
+7075 e7ec0005 istore 6 ,contw 
+7076 6fe24460 fetch 1 ,mem_le_conn_peer_addr_type 
+7077 e7e20005 istore 1 ,contw 
+7078 20600000 rtn 
+
+function_f4_ca:
+7079 7005e141 jam 65 ,mem_aes_cmac_data_length 
+707a 6fe24636 fetch 1 ,mem_passkey_1bit 
+707b 67e205e2 store 1 ,memdat 
+707c d8c045a4 arg mem_le_pubkey_local_x_256 ,contr 
+707d 20407c98 call memcpy32 
+707e d8c009ba arg mem_le_pubkey_remote_x_256 ,contr 
+707f 20407c98 call memcpy32 
+7080 204070c9 call inverse_memdat 
+7081 d8c0042b arg mem_le_mrand ,contr 
+7082 204070c4 call store_inverse_k 
+7083 2020708f branch function_aes_cmac 
+
+function_f4_cb:
+7084 7005e141 jam 65 ,mem_aes_cmac_data_length 
+7085 6fe24636 fetch 1 ,mem_passkey_1bit 
+7086 67e205e2 store 1 ,memdat 
+7087 d8c009ba arg mem_le_pubkey_remote_x_256 ,contr 
+7088 20407c98 call memcpy32 
+7089 d8c045a4 arg mem_le_pubkey_local_x_256 ,contr 
+708a 20407c98 call memcpy32 
+708b 204070c9 call inverse_memdat 
+708c d8c0440c arg mem_le_srand ,contr 
+708d 204070c4 call store_inverse_k 
+708e 2020708f branch function_aes_cmac 
+
+function_aes_cmac:
+708f 4744c031 bpatchx patch31_1 ,mem_patch31 
+7090 204070de call function_aes_cmac_generate_subkey 
+7091 6fe205e1 fetch 1 ,mem_aes_cmac_data_length 
+7092 1fe20400 copy pdata ,temp 
+
+function_ceil16:
+7093 1fe0fe0f increase 15 ,pdata 
+7094 1ff1fe00 rshift4 pdata ,pdata 
+7095 1fe22400 copy pdata ,regb 
+7096 203a70a1 branch function_aes_cmac_set_flag_0_balnk ,blank 
+7097 18417e0f and temp ,0x0f ,pdata 
+7098 243a70a4 nbranch function_aes_cmac_set_flag_0 ,blank 
+7099 da600ace arg mem_aes_cmac_k1 ,regc 
+709a dfe005e2 arg memdat ,pdata 
+709b 1fe0fff0 increase -16 ,pdata 
+709c 9840a200 iadd temp ,rega 
+709d d8a00afe arg mem_aes_cmac_m_last ,contw 
+709e df200004 arg 4 ,loopcnt 
+709f 20407cb8 call xor_loop 
+70a0 202070af branch function_aes_cmac_aes 
+
+function_aes_cmac_set_flag_0_balnk:
+70a1 da400001 arg 1 ,regb 
+70a2 da200000 arg 0 ,rega 
+70a3 202070a5 branch function_aes_cmac_set_flag_0_common 
+
+function_aes_cmac_set_flag_0:
+70a4 1841220f and temp ,0x0f ,rega 
+
+function_aes_cmac_set_flag_0_common:
+70a5 dfe005e2 arg memdat ,pdata 
+70a6 9840fe00 iadd temp ,pdata 
+70a7 9a260c00 isub rega ,contr 
+70a8 d8a00aee arg mem_aes_cmac_temp ,contw 
+70a9 20407104 call function_aes_cmac_padding 
+70aa da600ade arg mem_aes_cmac_k2 ,regc 
+70ab da200aee arg mem_aes_cmac_temp ,rega 
+70ac d8a00afe arg mem_aes_cmac_m_last ,contw 
+70ad df200004 arg 4 ,loopcnt 
+70ae 20407cb8 call xor_loop 
+
+function_aes_cmac_aes:
+70af 20407346 call aes_clear_data 
+70b0 204072e8 call aes_init 
+70b1 d8c005e2 arg memdat ,contr 
+
+function_aes_cmac_aes_loop:
+70b2 1a40a5ff increase -1 ,regb 
+70b3 1a427e00 deposit regb 
+70b4 203a70b8 branch function_aes_cmac_aes_loop_end ,blank 
+70b5 2040733b call load_data128 
+70b6 204072dc call do_aes_cbc 
+70b7 202070b2 branch function_aes_cmac_aes_loop 
+
+function_aes_cmac_aes_loop_end:
+70b8 d8a00aee arg mem_aes_cmac_temp ,contw 
+70b9 2040734c call store_aes_result 
+70ba d8c00afe arg mem_aes_cmac_m_last ,contr 
+70bb 2040733b call load_data128 
+70bc 204072e8 call aes_init 
+70bd d8c00aee arg mem_aes_cmac_temp ,contr 
+70be 2040733b call load_data128 
+70bf 202072dc branch do_aes_cbc 
+
+load_inverse_result:
+70c0 18a22200 copy contw ,rega 
+70c1 2040734c call store_aes_result 
+70c2 df200010 arg 16 ,loopcnt 
+70c3 20207cc0 branch inverse_data 
+
+store_inverse_k:
+70c4 d8a00abe arg mem_aes_cmac_k ,contw 
+70c5 20407c9a call memcpy16 
+
+inverse_k:
+70c6 df200010 arg 16 ,loopcnt 
+70c7 da200abe arg mem_aes_cmac_k ,rega 
+70c8 20207cc0 branch inverse_data 
+
+inverse_memdat:
+70c9 6fe205e1 fetch 1 ,mem_aes_cmac_data_length 
+70ca 1fe27200 copy pdata ,loopcnt 
+70cb da2005e2 arg memdat ,rega 
+70cc 20207cc0 branch inverse_data 
+
+bn_lshift_0_inverse:
+70cd efe20011 ifetch 1 ,rega 
+70ce 1fe3fe00 lshift pdata ,pdata 
+70cf 2a6ffe00 isolate1 0 ,regc 
+70d0 7920fe00 setflag true ,0 ,pdata 
+70d1 2feffe08 isolate1 8 ,pdata 
+70d2 7920a600 setflag true ,0 ,regc 
+70d3 e7e20011 istore 1 ,rega 
+70d4 1a20a3ff increase -1 ,rega 
+70d5 c20070cd loop bn_lshift_0_inverse 
+70d6 20600000 rtn 
+
+function_aes_cmac_k1_inverse:
+70d7 da200ace arg mem_aes_cmac_k1 ,rega 
+
+function_aes_cmac_inverse_common:
+70d8 1a20a20f increase 15 ,rega 
+70d9 18007210 force 16 ,loopcnt 
+70da 18002600 force 0 ,regc 
+70db 202070cd branch bn_lshift_0_inverse 
+
+function_aes_cmac_k2_inverse:
+70dc da200ade arg mem_aes_cmac_k2 ,rega 
+70dd 202070d8 branch function_aes_cmac_inverse_common 
+
+function_aes_cmac_generate_subkey:
+70de d8c00abe arg mem_aes_cmac_k ,contr 
+70df 20407338 call load_key128 
+70e0 18007008 force regidx_xor ,regext_index 
+70e1 20407347 call aes_clear 
+70e2 20407346 call aes_clear_data 
+70e3 204072d9 call do_aes_ecb 
+70e4 d8a00ace arg mem_aes_cmac_k1 ,contw 
+70e5 2040734c call store_aes_result 
+
+function_aes_cmac_k1:
+70e6 47454031 bpatchx patch31_2 ,mem_patch31 
+70e7 6fe20ace fetch 1 ,mem_aes_cmac_k1 
+70e8 2feffe07 isolate1 7 ,pdata 
+70e9 2420f0ef nbranch function_aes_cmac_k1_0 ,true 
+70ea 204070d7 call function_aes_cmac_k1_inverse 
+70eb da600ace arg mem_aes_cmac_k1 ,regc 
+70ec d8a00ace arg mem_aes_cmac_k1 ,contw 
+70ed 204070f9 call function_aes_cmac_xor_rb 
+70ee 202070f0 branch function_aes_cmac_k2 
+
+function_aes_cmac_k1_0:
+70ef 204070d7 call function_aes_cmac_k1_inverse 
+
+function_aes_cmac_k2:
+70f0 d8c00ace arg mem_aes_cmac_k1 ,contr 
+70f1 d8a00ade arg mem_aes_cmac_k2 ,contw 
+70f2 20407c9a call memcpy16 
+70f3 6fe20ade fetch 1 ,mem_aes_cmac_k2 
+70f4 2feffe07 isolate1 7 ,pdata 
+70f5 2420f0dc nbranch function_aes_cmac_k2_inverse ,true 
+70f6 204070dc call function_aes_cmac_k2_inverse 
+70f7 da600ade arg mem_aes_cmac_k2 ,regc 
+70f8 d8a00ade arg mem_aes_cmac_k2 ,contw 
+
+function_aes_cmac_xor_rb:
+70f9 df200003 arg 3 ,loopcnt 
+
+function_aes_cmac_xor_rb_loop:
+70fa d8400000 arg 0 ,temp 
+70fb 20407100 call function_aes_cmac_xor_loop_common 
+70fc 1a60a604 increase 4 ,regc 
+70fd c20070fa loop function_aes_cmac_xor_rb_loop 
+70fe d8408700 arg 0x8700 ,temp 
+70ff 18500400 lshift16 temp ,temp 
+
+function_aes_cmac_xor_loop_common:
+7100 efe80013 ifetch 4 ,regc 
+7101 9842fe00 ixor temp ,pdata 
+7102 e7e80005 istore 4 ,contw 
+7103 20600000 rtn 
+
+function_aes_cmac_padding:
+7104 4745c031 bpatchx patch31_3 ,mem_patch31 
+7105 df200010 arg 16 ,loopcnt 
+7106 dfe00000 arg 0 ,pdata 
+
+function_aes_cmac_padding_loop:
+7107 9a267c00 isub rega ,null 
+7108 2022f10f branch function_aes_cmac_padding_beq_length ,zero 
+7109 20217112 branch function_aes_cmac_padding_big_length ,positive 
+710a e8420006 ifetcht 1 ,contr 
+710b e0420005 istoret 1 ,contw 
+
+function_aes_cmac_padding_loop2:
+710c 1fe0fe01 increase 1 ,pdata 
+710d c2007107 loop function_aes_cmac_padding_loop 
+710e 20600000 rtn 
+
+function_aes_cmac_padding_beq_length:
+710f d8400080 arg 0x80 ,temp 
+
+function_aes_cmac_padding_common:
+7110 e0420005 istoret 1 ,contw 
+7111 2020710c branch function_aes_cmac_padding_loop2 
+
+function_aes_cmac_padding_big_length:
+7112 d8400000 arg 0 ,temp 
+7113 20207110 branch function_aes_cmac_padding_common 
+
+generate_kinit:
+7114 20407127 call function_e22 
+7115 d8c0058e arg mem_input_store ,contr 
+7116 d8a0057e arg mem_kinit ,contw 
+7117 20207c9a branch memcpy16 
+
+function_e21:
+7118 78547c00 disable user 
+7119 20407215 call function_expand 
+711a d8c0055e arg mem_random_number ,contr 
+711b d8a0059e arg mem_x ,contw 
+711c 1800720f force 15 ,loopcnt 
+711d 20407cdc call memcpy 
+711e efe20006 ifetch 1 ,contr 
+711f 1fe2fe06 xor_into 6 ,pdata 
+7120 e7e20005 istore 1 ,contw 
+7121 580005ae setarg mem_y 
+7122 67e405d2 store 2 ,memp_ar_input 
+7123 5800059e setarg mem_x 
+7124 67e405d0 store 2 ,memp_ar_key 
+7125 79200012 set1 mark_ar2 ,mark 
+7126 20207167 branch function_ar 
+
+function_e22:
+7127 68424657 fetcht 1 ,mem_pin_length 
+7128 18002410 force 16 ,regb 
+7129 1840a606 add temp ,6 ,regc 
+712a 1a667c10 sub regc ,16 ,null 
+712b 2021712d branch function_e22_pin_init ,positive 
+712c 18002610 force 16 ,regc 
+
+function_e22_pin_init:
+712d d8a0059e arg mem_x ,contw 
+
+function_e22_genx_pin:
+712e d8c04658 arg mem_pin ,contr 
+712f 18427200 copy temp ,loopcnt 
+7130 78547c00 disable user 
+
+function_e22_genx_loop:
+7131 efe20006 ifetch 1 ,contr 
+7132 e7e20005 istore 1 ,contw 
+7133 1a40a5ff increase -1 ,regb 
+7134 2022f13b branch function_e22_genx_end ,zero 
+7135 c2007131 loop function_e22_genx_loop 
+7136 2034712e branch function_e22_genx_pin ,user 
+7137 78347c00 enable user 
+7138 18007206 force 6 ,loopcnt 
+7139 1a220c00 copy rega ,contr 
+713a 20207131 branch function_e22_genx_loop 
+
+function_e22_genx_end:
+713b d8c0055e arg mem_random_number ,contr 
+713c d8a005ae arg mem_y ,contw 
+713d 20407c9a call memcpy16 
+713e 6fe205bd fetch 1 ,mem_y15 
+713f 9a62fe00 ixor regc ,pdata 
+7140 67e205bd store 1 ,mem_y15 
+7141 580005ae setarg mem_y 
+7142 67e405d2 store 2 ,memp_ar_input 
+7143 5800059e setarg mem_x 
+7144 67e405d0 store 2 ,memp_ar_key 
+7145 79200012 set1 mark_ar2 ,mark 
+7146 20207167 branch function_ar 
+
+function_e1:
+7147 78547c00 disable user 
+7148 20407215 call function_expand 
+7149 20207151 branch function_hash 
+
+function_e3:
+714a da200056 arg mem_aco ,rega 
+714b 78347c00 enable user 
+714c 20407215 call function_expand 
+714d 20407151 call function_hash 
+714e d8c0058e arg mem_input_store ,contr 
+714f d8a00062 arg mem_kc ,contw 
+7150 20207c9a branch memcpy16 
+
+function_hash:
+7151 5800055e setarg mem_random_number 
+7152 67e405d2 store 2 ,memp_ar_input 
+7153 580041bf setarg mem_link_key 
+7154 67e405d0 store 2 ,memp_ar_key 
+7155 793f8012 set0 mark_ar2 ,mark 
+7156 20407167 call function_ar 
+7157 da20058e arg mem_input_store ,rega 
+7158 da40055e arg mem_random_number ,regb 
+7159 d8a0059e arg mem_x ,contw 
+715a 20407208 call xor16 
+715b da20059e arg mem_x ,rega 
+715c da4005ae arg mem_y ,regb 
+715d 1a420a00 copy regb ,contw 
+715e 78347c00 enable user 
+715f 20407206 call add16 
+7160 20407220 call key_offset 
+7161 580005ae setarg mem_y 
+7162 67e405d2 store 2 ,memp_ar_input 
+7163 5800059e setarg mem_x 
+7164 67e405d0 store 2 ,memp_ar_key 
+7165 79200012 set1 mark_ar2 ,mark 
+7166 20207167 branch function_ar 
+
+function_ar:
+7167 7005d400 jam 0 ,mem_ar_hround 
+7168 6fe405d0 fetch 2 ,memp_ar_key 
+7169 98000c00 iforce contr 
+716a d8a005be arg mem_key_store ,contw 
+716b 20407c9a call memcpy16 
+716c 6fe405d2 fetch 2 ,memp_ar_input 
+716d 98000c00 iforce contr 
+716e d8a0058e arg mem_input_store ,contw 
+716f 20407c9a call memcpy16 
+
+function_ar_loop:
+7170 2040718d call key_scheduling 
+7171 78547c00 disable user 
+7172 c5897177 bmark0 mark_ar2 ,function_ar_original 
+7173 6fe205d4 fetch 1 ,mem_ar_hround 
+7174 c0827177 bne 4 ,function_ar_original 
+7175 6a4405d2 fetchr regb ,2 ,memp_ar_input 
+7176 204071bf call xor_mod32_ar2 
+
+function_ar_original:
+7177 204071be call xor_mod32 
+7178 204071d0 call el_boxes 
+7179 6fe205d4 fetch 1 ,mem_ar_hround 
+717a 1fe0fe01 increase 1 ,pdata 
+717b 67e205d4 store 1 ,mem_ar_hround 
+717c 2040718d call key_scheduling 
+717d 78347c00 enable user 
+717e 204071be call xor_mod32 
+717f 204071df call pht 
+7180 204071ec call permute 
+7181 204071df call pht 
+7182 204071ec call permute 
+7183 204071df call pht 
+7184 204071ec call permute 
+7185 204071df call pht 
+7186 6fe205d4 fetch 1 ,mem_ar_hround 
+7187 1fe0fe01 increase 1 ,pdata 
+7188 67e205d4 store 1 ,mem_ar_hround 
+7189 c0887170 bne 16 ,function_ar_loop 
+718a 2040718d call key_scheduling 
+718b 78547c00 disable user 
+718c 202071be branch xor_mod32 
+
+key_scheduling:
+718d 6fe205d4 fetch 1 ,mem_ar_hround 
+718e d8c005be arg mem_key_store ,contr 
+718f 203a71b4 branch key_sched_zero ,blank 
+7190 98002400 iforce regb 
+7191 18007211 force 17 ,loopcnt 
+7192 18c20a00 copy contr ,contw 
+
+key_rotateloop:
+7193 efe20006 ifetch 1 ,contr 
+7194 1fe98400 lshift3 pdata ,temp 
+7195 1feb7e00 rshift2 pdata ,pdata 
+7196 1fe97e00 rshift3 pdata ,pdata 
+7197 9841fe00 ior temp ,pdata 
+7198 e7e20005 istore 1 ,contw 
+7199 c2007193 loop key_rotateloop 
+719a 580005be setarg mem_key_store 
+719b 9a408c00 iadd regb ,contr 
+719c 18007210 force 16 ,loopcnt 
+719d d8a0056e arg mem_round_key ,contw 
+
+key_select_octet_loop:
+719e efe20006 ifetch 1 ,contr 
+719f e7e20005 istore 1 ,contw 
+71a0 28c1ffcf compare mem_key_store_end ,contr ,0xff 
+71a1 2420f1a3 nbranch key_select_octet_nwrap ,true 
+71a2 18c08def increase -17 ,contr 
+
+key_select_octet_nwrap:
+71a3 c200719e loop key_select_octet_loop 
+71a4 18002200 force 0 ,rega 
+71a5 1a40a7ff add regb ,-1 ,regc 
+71a6 1a6ba600 lshift2 regc ,regc 
+71a7 1a6ba600 lshift2 regc ,regc 
+71a8 2040736e call enable_authrom 
+71a9 58008400 setarg mem_b_box 
+71aa 9a60a600 iadd regc ,regc 
+71ab d8a0056e arg mem_round_key ,contw 
+71ac 18007210 force 16 ,loopcnt 
+
+bias_round_key_loop:
+71ad e8420013 ifetcht 1 ,regc 
+71ae efe20005 ifetch 1 ,contw 
+71af 9840fe00 iadd temp ,pdata 
+71b0 e7e20005 istore 1 ,contw 
+71b1 1a60a601 increase 1 ,regc 
+71b2 c20071ad loop bias_round_key_loop 
+71b3 20207372 branch disable_authrom 
+
+key_sched_zero:
+71b4 18007210 force 16 ,loopcnt 
+71b5 18000400 force 0 ,temp 
+
+create_byte_16_loop:
+71b6 efe20006 ifetch 1 ,contr 
+71b7 98428400 ixor temp ,temp 
+71b8 c20071b6 loop create_byte_16_loop 
+71b9 18427e00 deposit temp 
+71ba e7e20006 istore 1 ,contr 
+71bb d8c005be arg mem_key_store ,contr 
+71bc d8a0056e arg mem_round_key ,contw 
+71bd 20207c9a branch memcpy16 
+
+xor_mod32:
+71be da40056e arg mem_round_key ,regb 
+
+xor_mod32_ar2:
+71bf 18007210 force 16 ,loopcnt 
+71c0 da20058e arg mem_input_store ,rega 
+71c1 1a220a00 copy rega ,contw 
+
+xor_mod32_loop:
+71c2 e8420011 ifetcht 1 ,rega 
+71c3 efe20012 ifetch 1 ,regb 
+71c4 9842e000 ixor temp ,alarm 
+71c5 1f212603 and loopcnt ,3 ,regc 
+71c6 243471c8 nbranch xor_mod32_invert ,user 
+71c7 1a62a603 xor_into 3 ,regc 
+
+xor_mod32_invert:
+71c8 1a662601 sub regc ,1 ,regc 
+71c9 202171cb branch xor_even ,positive 
+71ca 9840e000 iadd temp ,alarm 
+
+xor_even:
+71cb e6020005 istorer alarm ,1 ,contw 
+71cc 1a20a201 increase 1 ,rega 
+71cd 1a40a401 increase 1 ,regb 
+71ce c20071c2 loop xor_mod32_loop 
+71cf 20600000 rtn 
+
+el_boxes:
+71d0 2040736e call enable_authrom 
+71d1 18007210 force 16 ,loopcnt 
+71d2 da20058e arg mem_input_store ,rega 
+
+el_box_loop:
+71d3 efe20011 ifetch 1 ,rega 
+71d4 d8c08500 arg mem_e_box ,contr 
+71d5 1f212603 and loopcnt ,3 ,regc 
+71d6 1a667c01 sub regc ,1 ,null 
+71d7 202171d9 branch e_boxes ,positive 
+71d8 d8c08600 arg mem_l_box ,contr 
+
+e_boxes:
+71d9 98c08c00 iadd contr ,contr 
+71da efe20006 ifetch 1 ,contr 
+71db e7e20011 istore 1 ,rega 
+71dc 1a20a201 increase 1 ,rega 
+71dd c20071d3 loop el_box_loop 
+71de 20207372 branch disable_authrom 
+
+pht:
+71df 18007208 force 8 ,loopcnt 
+71e0 d8c0058e arg mem_input_store ,contr 
+71e1 18c20a00 copy contr ,contw 
+
+pht_loop:
+71e2 ea220006 ifetchr rega ,1 ,contr 
+71e3 ea420006 ifetchr regb ,1 ,contr 
+71e4 1a23fe00 lshift rega ,pdata 
+71e5 9a40fe00 iadd regb ,pdata 
+71e6 e7e20005 istore 1 ,contw 
+71e7 1a227e00 deposit rega 
+71e8 9a40fe00 iadd regb ,pdata 
+71e9 e7e20005 istore 1 ,contw 
+71ea c20071e2 loop pht_loop 
+71eb 20600000 rtn 
+
+permute:
+71ec 588ae42c setarg 0x8ae42c 
+71ed 98000400 iforce temp 
+71ee 18007207 force 7 ,loopcnt 
+71ef 204071f9 call permute_exchange 
+71f0 580d751b setarg 0xd751b 
+71f1 98000400 iforce temp 
+71f2 18007205 force 5 ,loopcnt 
+71f3 204071f9 call permute_exchange 
+71f4 6a22059d fetchr rega ,1 ,mem_input_store + 15 
+71f5 6fe20591 fetch 1 ,mem_input_store + 3 
+71f6 67e2059d store 1 ,mem_input_store + 15 
+71f7 62220591 storer rega ,1 ,mem_input_store + 3 
+71f8 20600000 rtn 
+
+permute_exchange:
+71f9 1841240f and temp ,0xf ,regb 
+
+permute_loop:
+71fa 18417e0f and temp ,0xf ,pdata 
+71fb d8a0058e arg mem_input_store ,contw 
+71fc 98a08a00 iadd contw ,contw 
+71fd ea620005 ifetchr regc ,1 ,contw 
+71fe e2220005 istorer rega ,1 ,contw 
+71ff 1a622200 copy regc ,rega 
+7200 18518400 rshift4 temp ,temp 
+7201 c20071fa loop permute_loop 
+7202 5800058e setarg mem_input_store 
+7203 9a408a00 iadd regb ,contw 
+7204 e2220005 istorer rega ,1 ,contw 
+7205 20600000 rtn 
+
+add16:
+7206 78347c00 enable user 
+7207 20207209 branch xor_add16 
+
+xor16:
+7208 78547c00 disable user 
+
+xor_add16:
+7209 18007210 force 16 ,loopcnt 
+
+xoradd_loop:
+720a e8420011 ifetcht 1 ,rega 
+720b efe20012 ifetch 1 ,regb 
+720c 2034720f branch xoradd_add ,user 
+720d 9842fe00 ixor temp ,pdata 
+720e 20207210 branch xoradd_store 
+
+xoradd_add:
+720f 9840fe00 iadd temp ,pdata 
+
+xoradd_store:
+7210 e7e20005 istore 1 ,contw 
+7211 1a20a201 increase 1 ,rega 
+7212 1a40a401 increase 1 ,regb 
+7213 c200720a loop xoradd_loop 
+7214 20600000 rtn 
+
+function_expand:
+7215 d8a005ae arg mem_y ,contw 
+7216 efec0011 ifetch 6 ,rega 
+7217 e7ec0005 istore 6 ,contw 
+7218 2034721b branch expand_12 ,user 
+7219 efec0011 ifetch 6 ,rega 
+721a 2020721c branch expand_cont 
+
+expand_12:
+721b efec0006 ifetch 6 ,contr 
+
+expand_cont:
+721c e7ec0005 istore 6 ,contw 
+721d efe80011 ifetch 4 ,rega 
+721e e7e80005 istore 4 ,contw 
+721f 20600000 rtn 
+
+key_offset:
+7220 d8c041bf arg mem_link_key ,contr 
+7221 d8a0059e arg mem_x ,contw 
+7222 d8400000 arg 0 ,temp 
+7223 588395a7 setarg 0x8395a7 
+7224 20407241 call concatenate_temp24 
+7225 58b3c1df setarg 0xb3c1df 
+7226 20407241 call concatenate_temp24 
+7227 5800e5e9 setarg 0xe5e9 
+7228 20407242 call concatenate_temp16 
+7229 18422800 copy temp ,regab 
+722a 78547c00 disable user 
+722b 2040722f call key_addxor 
+722c 1a820400 copy regab ,temp 
+722d 78347c00 enable user 
+722e 2020722f branch key_addxor 
+
+key_addxor:
+722f 18007208 force 8 ,loopcnt 
+
+key_addxor_loop:
+7230 efe20006 ifetch 1 ,contr 
+7231 2f200201 compare 1 ,loopcnt ,1 
+7232 20347236 branch key_high ,user 
+7233 2020f237 branch key_xor ,true 
+
+key_add:
+7234 9840fe00 iadd temp ,pdata 
+7235 20207238 branch key_store 
+
+key_high:
+7236 2020f234 branch key_add ,true 
+
+key_xor:
+7237 9842fe00 ixor temp ,pdata 
+
+key_store:
+7238 e7e20005 istore 1 ,contw 
+7239 184c8400 rshift8 temp ,temp 
+723a c2007230 loop key_addxor_loop 
+723b 20600000 rtn 
+
+copy_aco:
+723c 6fec0592 fetch 6 ,mem_input_store + 4 
+723d 67ec0056 store 6 ,mem_aco 
+723e efec0006 ifetch 6 ,contr 
+723f e7ec0005 istore 6 ,contw 
+7240 20600000 rtn 
+
+concatenate_temp24:
+7241 184d0400 lshift8 temp ,temp 
+
+concatenate_temp16:
+7242 18500400 lshift16 temp ,temp 
+7243 98418400 ior temp ,temp 
+7244 20600000 rtn 
+
+loop1:
+7245 20207245 branch loop1 
+
+generate_stk:
+7246 47464031 bpatchx patch31_4 ,mem_patch31 
+7247 204072eb call function_s1 
+7248 d8a043eb arg mem_le_ltk ,contw 
+7249 2020734c branch store_aes_result 
+
+authenticate_rconfirm:
+724a d8a0440c arg mem_le_srand ,contw 
+724b 2034f24d branch authenticate_mconfirm ,master 
+724c d8a0042b arg mem_le_mrand ,contw 
+
+authenticate_mconfirm:
+724d 18c22200 copy contr ,rega 
+724e 20407c9a call memcpy16 
+724f 204072fd call function_c1 
+7250 d8c043fc arg mem_le_rconfirm ,contr 
+7251 20207365 branch compare_res 
+
+generate_confirm:
+7252 da20042b arg mem_le_mrand ,rega 
+7253 2034f255 branch generate_mrand ,master 
+7254 da20440c arg mem_le_srand ,rega 
+
+generate_mrand:
+7255 1a220a00 copy rega ,contw 
+7256 204066ee call generate_random 
+7257 202072fd branch function_c1 
+
+generate_sk:
+7258 d8c0447c arg mem_le_skdm ,contr 
+7259 2040733b call load_data128 
+725a d8c043eb arg mem_le_ltk ,contr 
+725b 20407338 call load_key128 
+725c 18006c50 force aes_big_endian | aes_load ,aes_ctrl 
+725d 18006c00 force 0 ,aes_ctrl 
+725e 204072d1 call wait_aes 
+725f d8a00478 arg mem_le_sk ,contw 
+7260 2020734c branch store_aes_result 
+
+first_block_counter:
+7261 18007e49 force 0x49 ,pdata 
+7262 20207264 branch first_block 
+
+first_block_data:
+7263 18007e01 force 1 ,pdata 
+
+first_block:
+7264 18007000 force regidx_data ,regext_index 
+7265 184d5e00 lshift8 temp ,regext 
+7266 9de1de00 ior regext ,regext 
+7267 1f00f001 increase 1 ,regext_index 
+7268 184cde00 rshift8 temp ,regext 
+7269 1df15e00 rshift16 regext ,regext 
+726a 6fe443e3 fetch 2 ,mem_le_ivm 
+726b 1ff07e00 lshift16 pdata ,pdata 
+726c 9de1de00 ior regext ,regext 
+726d 1f00f001 increase 1 ,regext_index 
+726e efe80006 ifetch 4 ,contr 
+726f 98005e00 iforce regext 
+7270 1f00f001 increase 1 ,regext_index 
+7271 efe40006 ifetch 2 ,contr 
+7272 1a30de00 byteswap rega ,regext 
+7273 1df05e00 lshift16 regext ,regext 
+7274 9de1de00 ior regext ,regext 
+7275 1f00f001 increase 1 ,regext_index 
+7276 20600000 rtn 
+
+generate_mic:
+7277 1a608c01 add regc ,1 ,contr 
+7278 ea220006 ifetchr rega ,1 ,contr 
+7279 20407261 call first_block_counter 
+727a 204072d9 call do_aes_ecb 
+727b 18007000 force regidx_data ,regext_index 
+727c efe20013 ifetch 1 ,regc 
+727d 1fe17e03 and_into 0x3 ,pdata 
+727e 1ff05e00 lshift16 pdata ,regext 
+727f 79205e08 set1 8 ,regext 
+7280 20407344 call clear_hidata 
+7281 204072dc call do_aes_cbc 
+7282 1a227200 copy rega ,loopcnt 
+7283 1a608c02 add regc ,2 ,contr 
+7284 20407320 call padding_data 
+
+generate_mic_loop:
+7285 2040732a call aes_load_data 
+7286 204072dc call do_aes_cbc 
+7287 1f227e00 deposit loopcnt 
+7288 203a728a branch generate_mic_end ,blank 
+7289 20207285 branch generate_mic_loop 
+
+generate_mic_end:
+728a 1800700c force regidx_result ,regext_index 
+728b 1de22400 copy regext ,regb 
+728c 62480413 storer regb ,4 ,mem_le_mic 
+728d 20600000 rtn 
+
+aes_crypt_data:
+728e 1a20a201 increase 1 ,rega 
+728f 20407263 call first_block_data 
+7290 204072e8 call aes_init 
+7291 1a620c00 copy regc ,contr 
+7292 2040733b call load_data128 
+7293 204072df call do_aes_cfb 
+7294 20407353 call store_enc_data 
+7295 1a60a610 increase 16 ,regc 
+7296 1a40a5f0 increase -16 ,regb 
+7297 2021728e branch aes_crypt_data ,positive 
+7298 20600000 rtn 
+
+le_encrypt:
+7299 4746c031 bpatchx patch31_5 ,mem_patch31 
+729a da6043ae arg mem_le_txheader ,regc 
+729b 684a43d5 fetcht 5 ,mem_le_pcnt_tx 
+729c 20407277 call generate_mic 
+729d 18002200 force 0 ,rega 
+729e 20407263 call first_block_data 
+729f 204072e8 call aes_init 
+72a0 18007000 force regidx_data ,regext_index 
+72a1 1a425e00 copy regb ,regext 
+72a2 204072df call do_aes_cfb 
+72a3 da6043b0 arg mem_le_txpayload ,regc 
+72a4 6fe243af fetch 1 ,mem_le_txlen 
+72a5 1fe0a5ff add pdata ,-1 ,regb 
+72a6 9a608a00 iadd regc ,contw 
+72a7 1800700c force regidx_result ,regext_index 
+72a8 e5e80005 istorer regext ,4 ,contw 
+72a9 18002200 force 0 ,rega 
+72aa 2040728e call aes_crypt_data 
+72ab 6fe243af fetch 1 ,mem_le_txlen 
+72ac 1fe0fe04 increase 4 ,pdata 
+72ad 67e243af store 1 ,mem_le_txlen 
+72ae 684a43d5 fetcht 5 ,mem_le_pcnt_tx 
+72af 18408401 increase 1 ,temp 
+72b0 604a43d5 storet 5 ,mem_le_pcnt_tx 
+72b1 20600000 rtn 
+
+le_decrypt:
+72b2 684a43da fetcht 5 ,mem_le_pcnt_rx 
+72b3 18002200 force 0 ,rega 
+72b4 20407263 call first_block_data 
+72b5 204072e8 call aes_init 
+72b6 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+72b7 da6002d7 arg mem_le_rxbuf + 2 ,regc 
+72b8 1fe0a5ff add pdata ,-1 ,regb 
+72b9 1fe0fffc increase -4 ,pdata 
+72ba 67e202d6 store 1 ,mem_le_rxbuf + 1 
+72bb 9a608c00 iadd regc ,contr 
+72bc 18007000 force regidx_data ,regext_index 
+72bd ede80006 ifetchr regext ,4 ,contr 
+72be 204072df call do_aes_cfb 
+72bf 1800700c force regidx_result ,regext_index 
+72c0 65e80417 storer regext ,4 ,mem_le_peer_mic 
+72c1 18002200 force 0 ,rega 
+72c2 2040728e call aes_crypt_data 
+72c3 da6002d5 arg mem_le_rxbuf ,regc 
+72c4 20407277 call generate_mic 
+72c5 6fe80417 fetch 4 ,mem_le_peer_mic 
+72c6 9a467e00 isub regb ,pdata 
+72c7 247a0000 nrtn blank 
+72c8 6fe843df fetch 4 ,mem_le_last_mic 
+72c9 9a467e00 isub regb ,pdata 
+72ca 207a0000 rtn blank 
+72cb 604843df storet 4 ,mem_le_last_mic 
+72cc 6fea43da fetch 5 ,mem_le_pcnt_rx 
+72cd 1fe0fe01 increase 1 ,pdata 
+72ce 67ea43da store 5 ,mem_le_pcnt_rx 
+72cf 18007e00 force 0 ,pdata 
+72d0 20600000 rtn 
+
+wait_aes:
+72d1 243bf2d1 nbranch wait_aes ,aes_ready 
+72d2 20600000 rtn 
+
+do_aes_ecb256:
+72d3 18006c48 force aes_load | aes_256 ,aes_ctrl 
+72d4 18006c08 force aes_256 ,aes_ctrl 
+72d5 202072d1 branch wait_aes 
+
+do_aes_ecb192:
+72d6 18006c44 force aes_load | aes_192 ,aes_ctrl 
+72d7 18006c04 force aes_192 ,aes_ctrl 
+72d8 202072d1 branch wait_aes 
+
+do_aes_ecb:
+72d9 18006c40 force aes_load ,aes_ctrl 
+72da 18006c00 force 0 ,aes_ctrl 
+72db 202072d1 branch wait_aes 
+
+do_aes_cbc:
+72dc 18006c41 force aes_load | aes_cbc ,aes_ctrl 
+72dd 18006c00 force 0 ,aes_ctrl 
+72de 202072d1 branch wait_aes 
+
+do_aes_cfb:
+72df 18006c42 force aes_load | aes_cfb ,aes_ctrl 
+72e0 18006c02 force aes_cfb ,aes_ctrl 
+72e1 202072d1 branch wait_aes 
+
+do_aes_ecb_be:
+72e2 18006c50 force aes_big_endian | aes_load ,aes_ctrl 
+72e3 18006c10 force aes_big_endian ,aes_ctrl 
+72e4 202072d1 branch wait_aes 
+
+do_aes_cbc_be:
+72e5 18006c51 force aes_big_endian | aes_load | aes_cbc ,aes_ctrl 
+72e6 18006c10 force aes_big_endian ,aes_ctrl 
+72e7 202072d1 branch wait_aes 
+
+aes_init:
+72e8 18006c20 force aes_initialize ,aes_ctrl 
+72e9 18006c00 force 0 ,aes_ctrl 
+72ea 20600000 rtn 
+
+function_s1:
+72eb 18007000 force regidx_data ,regext_index 
+72ec 6fe8042b fetch 4 ,mem_le_mrand 
+72ed 98005e00 iforce regext 
+72ee 1f00f001 increase 1 ,regext_index 
+72ef efe80006 ifetch 4 ,contr 
+72f0 98005e00 iforce regext 
+72f1 1f00f001 increase 1 ,regext_index 
+72f2 6fe8440c fetch 4 ,mem_le_srand 
+72f3 98005e00 iforce regext 
+72f4 1f00f001 increase 1 ,regext_index 
+72f5 efe80006 ifetch 4 ,contr 
+72f6 98005e00 iforce regext 
+72f7 1f00f001 increase 1 ,regext_index 
+72f8 20407347 call aes_clear 
+72f9 1f00f1fc increase -4 ,regext_index 
+72fa 6fe84499 fetch 4 ,mem_le_tk 
+72fb 1fe25e00 copy pdata ,regext 
+72fc 202072e2 branch do_aes_ecb_be 
+
+function_c1:
+72fd 1a220c00 copy rega ,contr 
+72fe 2040733b call load_data128 
+72ff 18006c30 force aes_big_endian | aes_initialize ,aes_ctrl 
+7300 18006c00 force 0 ,aes_ctrl 
+7301 6fe24460 fetch 1 ,mem_le_conn_peer_addr_type 
+7302 68424457 fetcht 1 ,mem_le_adv_own_addr_type 
+7303 2434f306 nbranch function_c1_irat ,master 
+7304 6fe24467 fetch 1 ,mem_le_conn_own_addr_type 
+7305 68424460 fetcht 1 ,mem_le_conn_peer_addr_type 
+
+function_c1_irat:
+7306 67e2441c store 1 ,mem_le_iat 
+7307 6042441d storet 1 ,mem_le_rat 
+7308 d8c0441c arg mem_le_iat ,contr 
+7309 2040733b call load_data128 
+730a 20407347 call aes_clear 
+730b 1f00f1fc increase -4 ,regext_index 
+730c 6fe84499 fetch 4 ,mem_le_tk 
+730d 1fe25e00 copy pdata ,regext 
+730e 18006c51 force aes_big_endian | aes_cbc | aes_load ,aes_ctrl 
+730f 18006c10 force aes_big_endian ,aes_ctrl 
+7310 6fec4472 fetch 6 ,mem_le_lap 
+7311 684c044b fetcht 6 ,mem_le_plap 
+7312 2034f315 branch function_c1_master ,master 
+7313 6fec044b fetch 6 ,mem_le_plap 
+7314 684c4472 fetcht 6 ,mem_le_lap 
+
+function_c1_master:
+7315 18007000 force regidx_data ,regext_index 
+7316 18425e00 copy temp ,regext 
+7317 1f00f001 increase 1 ,regext_index 
+7318 184f5e00 rshift32 temp ,regext 
+7319 1ff07e00 lshift16 pdata ,pdata 
+731a 9de1de00 ior regext ,regext 
+731b 1f00f001 increase 1 ,regext_index 
+731c 1fef5e00 rshift32 pdata ,regext 
+731d 1f00f001 increase 1 ,regext_index 
+731e 18005e00 force 0 ,regext 
+731f 202072e5 branch do_aes_cbc_be 
+
+padding_data:
+7320 2f200600 compare 0 ,loopcnt ,3 
+7321 20608000 rtn true 
+7322 18c27e00 deposit contr 
+7323 9f208a00 iadd loopcnt ,contw 
+7324 18007e00 force 0 ,pdata 
+
+padding_loop:
+7325 e7e20005 istore 1 ,contw 
+7326 1f20f201 increase 1 ,loopcnt 
+7327 2f200600 compare 0 ,loopcnt ,3 
+7328 20608000 rtn true 
+7329 20207325 branch padding_loop 
+
+aes_load_data:
+732a 18007000 force regidx_data ,regext_index 
+
+load_data_loop:
+732b 1f227e00 deposit loopcnt 
+732c 203a732f branch load_data_padding ,blank 
+732d efe80006 ifetch 4 ,contr 
+732e 1f20f3fc increase -4 ,loopcnt 
+
+load_data_padding:
+732f 98005e00 iforce regext 
+7330 1f00f001 increase 1 ,regext_index 
+7331 2f001e04 compare regidx_key ,regext_index ,0xf 
+7332 20608000 rtn true 
+7333 2020732b branch load_data_loop 
+
+load_key256:
+7334 18007208 force 8 ,loopcnt 
+7335 20207339 branch load_key 
+
+load_key192:
+7336 18007206 force 6 ,loopcnt 
+7337 20207339 branch load_key 
+
+load_key128:
+7338 18007204 force 4 ,loopcnt 
+
+load_key:
+7339 18007004 force regidx_key ,regext_index 
+733a 2020733d branch load_regext_loop 
+
+load_data128:
+733b 18007000 force regidx_data ,regext_index 
+733c 18007204 force 4 ,loopcnt 
+
+load_regext_loop:
+733d efe80006 ifetch 4 ,contr 
+733e 1fe25e00 icopy regext 
+733f 1f00f001 increase 1 ,regext_index 
+7340 c200733d loop load_regext_loop 
+7341 20600000 rtn 
+
+load_sk:
+7342 d8c00478 arg mem_le_sk ,contr 
+7343 20207338 branch load_key128 
+
+clear_hidata:
+7344 18007204 force 4 ,loopcnt 
+7345 20207349 branch clear_data_rest 
+
+aes_clear_data:
+7346 18007000 force regidx_data ,regext_index 
+
+aes_clear:
+7347 18007204 force 4 ,loopcnt 
+
+clear_loop:
+7348 18005e00 force 0 ,regext 
+
+clear_data_rest:
+7349 1f00f001 increase 1 ,regext_index 
+734a c2007348 loop clear_loop 
+734b 20600000 rtn 
+
+store_aes_result:
+734c 1800700c force regidx_result ,regext_index 
+734d 18007204 force 4 ,loopcnt 
+
+send_aes_result_loop:
+734e 1de27e00 deposit regext 
+734f e7e80005 istore 4 ,contw 
+7350 1f00f001 increase 1 ,regext_index 
+7351 c200734e loop send_aes_result_loop 
+7352 20600000 rtn 
+
+store_enc_data:
+7353 1800700c force regidx_result ,regext_index 
+7354 1a620a00 copy regc ,contw 
+7355 1a40f201 add regb ,1 ,loopcnt 
+7356 1f267c0f sub loopcnt ,15 ,null 
+7357 20217359 branch store_enc_loop ,positive 
+7358 18007210 force 16 ,loopcnt 
+
+store_enc_loop:
+7359 1de27e00 deposit regext 
+735a 1f267c03 sub loopcnt ,3 ,null 
+735b 20217361 branch store_enc_byte ,positive 
+735c e7e80005 istore 4 ,contw 
+735d 1f20f3fc increase -4 ,loopcnt 
+735e 20628000 rtn zero 
+735f 1f00f001 increase 1 ,regext_index 
+7360 20207359 branch store_enc_loop 
+
+store_enc_byte:
+7361 e7e20005 istore 1 ,contw 
+7362 1fecfe00 rshift8 pdata ,pdata 
+7363 c2007361 loop store_enc_byte 
+7364 20600000 rtn 
+
+compare_res:
+7365 1800700c force regidx_result ,regext_index 
+7366 18007204 force 4 ,loopcnt 
+
+compare_res_loop:
+7367 efe80006 ifetch 4 ,contr 
+7368 9de67c00 isub regext ,null 
+7369 24628000 nrtn zero 
+736a 1f00f001 increase 1 ,regext_index 
+736b c2007367 loop compare_res_loop 
+736c 18007c00 force 0 ,null 
+736d 20600000 rtn 
+
+enable_authrom:
+736e 6fe28043 fetch 1 ,core_config 
+736f 79207e03 set1 clock_on_auth_rom ,pdata 
+7370 67e28043 store 1 ,core_config 
+7371 20600000 rtn 
+
+disable_authrom:
+7372 6fe28043 fetch 1 ,core_config 
+7373 793ffe03 set0 clock_on_auth_rom ,pdata 
+7374 67e28043 store 1 ,core_config 
+7375 20600000 rtn 
+
+init_memp:
+7376 d8a00882 arg mem_p ,contw 
+7377 3803ffff setsect 0 ,0x3ffff 
+7378 3807ffff setsect 1 ,0x3ffff 
+7379 380bffff setsect 2 ,0x3ffff 
+737a 380ffbff setsect 3 ,0x3fbff 
+737b e7f20005 istore 9 ,contw 
+737c 3803ffff setsect 0 ,0x3ffff 
+737d 3807ffff setsect 1 ,0x3ffff 
+737e 380bffff setsect 2 ,0x3ffff 
+737f 380fffff setsect 3 ,0x3ffff 
+7380 e7f20005 istore 9 ,contw 
+7381 3803ffff setsect 0 ,0x3ffff 
+7382 3807ffff setsect 1 ,0x3ffff 
+7383 380bcfff setsect 2 ,0x3cfff 
+7384 380fffff setsect 3 ,0x3ffff 
+7385 e7f20005 istore 9 ,contw 
+7386 3803ffff setsect 0 ,0x3ffff 
+7387 3807ffff setsect 1 ,0x3ffff 
+7388 380bffef setsect 2 ,0x3ffef 
+7389 380fffff setsect 3 ,0x3ffff 
+738a e7f20005 istore 9 ,contw 
+738b 3803ffff setsect 0 ,0x3ffff 
+738c 3807ffff setsect 1 ,0x3ffff 
+738d 380bffff setsect 2 ,0x3ffff 
+738e 380fffff setsect 3 ,0x3ffff 
+738f e7f20005 istore 9 ,contw 
+7390 3803ffff setsect 0 ,0x3ffff 
+7391 38066c7f setsect 1 ,0x26c7f 
+7392 3808146b setsect 2 ,0x146b 
+7393 380f7bb3 setsect 3 ,0x37bb3 
+7394 e7f20005 istore 9 ,contw 
+7395 3801feb8 setsect 0 ,0x1feb8 
+7396 38050c12 setsect 1 ,0x10c12 
+7397 380ab722 setsect 2 ,0x2b722 
+7398 380e9fa6 setsect 3 ,0x29fa6 
+7399 e7f20005 istore 9 ,contw 
+739a 3800e70f setsect 0 ,0xe70f 
+739b 38056720 setsect 1 ,0x16720 
+739c 3808519e setsect 2 ,0x519e 
+739d 380d9084 setsect 3 ,0x19084 
+739e e7f20005 istore 9 ,contw 
+739f 38031012 setsect 0 ,0x31012 
+73a0 380760bf setsect 1 ,0x360bf 
+73a1 380bf0af setsect 2 ,0x3f0af 
+73a2 380c03d3 setsect 3 ,0x3d3 
+73a3 e7f20005 istore 9 ,contw 
+73a4 3803a188 setsect 0 ,0x3a188 
+73a5 38043ad0 setsect 1 ,0x3ad0 
+73a6 380bcbf2 setsect 2 ,0x3cbf2 
+73a7 380e43d9 setsect 3 ,0x243d9 
+73a8 e7f20005 istore 9 ,contw 
+73a9 3802b030 setsect 0 ,0x2b030 
+73aa 38076a03 setsect 1 ,0x36a03 
+73ab 38091188 setsect 2 ,0x11188 
+73ac 380de520 setsect 3 ,0x1e520 
+73ad e7f20005 istore 9 ,contw 
+73ae 3803a11e setsect 0 ,0x3a11e 
+73af 3804fe5d setsect 1 ,0xfe5d 
+73b0 3808dd57 setsect 2 ,0xdd57 
+73b1 380dac93 setsect 3 ,0x1ac93 
+73b2 e7f20005 istore 9 ,contw 
+73b3 380011ed setsect 0 ,0x11ed 
+73b4 380618c4 setsect 1 ,0x218c4 
+73b5 38088da7 setsect 2 ,0x8da7 
+73b6 380e57ff setsect 3 ,0x257ff 
+73b7 e7f20005 istore 9 ,contw 
+73b8 3803192b setsect 0 ,0x3192b 
+73b9 38074641 setsect 1 ,0x34641 
+73ba 3809be0c setsect 2 ,0x1be0c 
+73bb 380f66ad setsect 3 ,0x366ad 
+73bc e7f20005 istore 9 ,contw 
+73bd 38001f83 setsect 0 ,0x1f83 
+73be 38055a23 setsect 1 ,0x15a23 
+73bf 380bf9b0 setsect 2 ,0x3f9b0 
+73c0 380c3949 setsect 3 ,0x3949 
+73c1 e7f20005 istore 9 ,contw 
+73c2 38013a51 setsect 0 ,0x13a51 
+73c3 380553fd setsect 1 ,0x153fd 
+73c4 380b372a setsect 2 ,0x3372a 
+73c5 380cf1bb setsect 3 ,0xf1bb 
+73c6 e7f20005 istore 9 ,contw 
+73c7 3803ae85 setsect 0 ,0x3ae85 
+73c8 3805eed9 setsect 1 ,0x1eed9 
+73c9 38089e66 setsect 2 ,0x9e66 
+73ca 380c01a8 setsect 3 ,0x1a8 
+73cb e7f00005 istore 8 ,contw 
+73cc 20600000 rtn 
+
+init_memp_256:
+73cd d8a0091a arg mem_p_256 ,contw 
+73ce 3803ffff setsect 0 ,0x3ffff 
+73cf 3807ffff setsect 1 ,0x3ffff 
+73d0 380bffff setsect 2 ,0x3ffff 
+73d1 380fffff setsect 3 ,0x3ffff 
+73d2 e7f20005 istore 9 ,contw 
+73d3 3803ffff setsect 0 ,0x3ffff 
+73d4 3804003f setsect 1 ,0x3f 
+73d5 38080000 setsect 2 ,0x0 
+73d6 380c0000 setsect 3 ,0x0 
+73d7 e7f20005 istore 9 ,contw 
+73d8 38000000 setsect 0 ,0x0 
+73d9 38040000 setsect 1 ,0x0 
+73da 38081000 setsect 2 ,0x1000 
+73db 380c0000 setsect 3 ,0x0 
+73dc e7f20005 istore 9 ,contw 
+73dd 3803ff00 setsect 0 ,0x3ff00 
+73de 3807ffff setsect 1 ,0x3ffff 
+73df 380bffcf setsect 2 ,0x3ffcf 
+73e0 380fffff setsect 3 ,0x3ffff 
+73e1 e7f20005 istore 9 ,contw 
+73e2 3803ffff setsect 0 ,0x3ffff 
+73e3 3807ffff setsect 1 ,0x3ffff 
+73e4 380bffff setsect 2 ,0x3ffff 
+73e5 380c03ff setsect 3 ,0x3ff 
+73e6 e7f20005 istore 9 ,contw 
+73e7 38000000 setsect 0 ,0x0 
+73e8 38040000 setsect 1 ,0x0 
+73e9 38080000 setsect 2 ,0x0 
+73ea 380c0000 setsect 3 ,0x0 
+73eb e7f20005 istore 9 ,contw 
+73ec 38010000 setsect 0 ,0x10000 
+73ed 38040000 setsect 1 ,0x0 
+73ee 380bf000 setsect 2 ,0x3f000 
+73ef 380fffff setsect 3 ,0x3ffff 
+73f0 e7f20005 istore 9 ,contw 
+73f1 380296ff setsect 0 ,0x296ff 
+73f2 38062630 setsect 1 ,0x22630 
+73f3 380b945d setsect 2 ,0x3945d 
+73f4 380fd284 setsect 3 ,0x3d284 
+73f5 e7f20005 istore 9 ,contw 
+73f6 380333a0 setsect 0 ,0x333a0 
+73f7 38044b7a setsect 1 ,0x4b7a 
+73f8 380837d8 setsect 2 ,0x37d8 
+73f9 380fc9dc setsect 3 ,0x3c9dc 
+73fa e7f20005 istore 9 ,contw 
+73fb 3803a440 setsect 0 ,0x3a440 
+73fc 3805b958 setsect 1 ,0x1b958 
+73fd 380b8bce setsect 2 ,0x38bce 
+73fe 380d091f setsect 3 ,0x1091f 
+73ff e7f20005 istore 9 ,contw 
+7400 3802e12c setsect 0 ,0x2e12c 
+7401 3805f47c setsect 1 ,0x1f47c 
+7402 380b56b1 setsect 2 ,0x356b1 
+7403 380efd47 setsect 3 ,0x2fd47 
+7404 e7f20005 istore 9 ,contw 
+7405 38006837 setsect 0 ,0x6837 
+7406 3806ed90 setsect 1 ,0x2ed90 
+7407 3809ecec setsect 2 ,0x1ecec 
+7408 380dacc5 setsect 3 ,0x1acc5 
+7409 e7f20005 istore 9 ,contw 
+740a 38023357 setsect 0 ,0x23357 
+740b 38058af3 setsect 1 ,0x18af3 
+740c 3808f9e1 setsect 2 ,0xf9e1 
+740d 380d29f0 setsect 3 ,0x129f0 
+740e e7f20005 istore 9 ,contw 
+740f 3802e7eb setsect 0 ,0x2e7eb 
+7410 3807e6e3 setsect 1 ,0x3e6e3 
+7411 380be1a7 setsect 2 ,0x3e1a7 
+7412 380d0b8b setsect 3 ,0x10b8b 
+7413 e7f20005 istore 9 ,contw 
+7414 38024fe3 setsect 0 ,0x24fe3 
+7415 380420ef setsect 1 ,0x20ef 
+7416 3809b5a6 setsect 2 ,0x1b5a6 
+7417 380cdc2f setsect 3 ,0xdc2f 
+7418 e7f20005 istore 9 ,contw 
+7419 38013860 setsect 0 ,0x13860 
+741a 3806bd69 setsect 1 ,0x2bd69 
+741b 3808391a setsect 2 ,0x391a 
+741c 380db222 setsect 3 ,0x1b222 
+741d e7f20005 istore 9 ,contw 
+741e 20600000 rtn 
+
+publickey_init:
+741f 6fe2462c fetch 1 ,mem_ssp_enable 
+7420 243a7432 nbranch sp_initialize ,blank 
+7421 2020792c branch sp_initialize_256 
+
+sp_calc_sequence_256_check:
+7422 47474031 bpatchx patch31_6 ,mem_patch31 
+7423 6fe2462c fetch 1 ,mem_ssp_enable 
+7424 207a0000 rtn blank 
+7425 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+7426 c1808000 rtnne sp_key_valid 
+7427 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+7428 207a0000 rtn blank 
+7429 6fe24495 fetch 1 ,mem_le_sc_local_key_invalid 
+742a c1018000 rtneq sp_key_valid_256 
+742b 6fe44652 fetch 2 ,mem_ui_state_map 
+742c c2807430 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+742d 6fe24492 fetch 1 ,mem_le_sc_calc 
+742e c000792c beq sp_calc_standby ,sp_initialize_256 
+742f 20600000 rtn 
+
+stop_publickey_calc_256:
+7430 70449200 jam sp_calc_standby ,mem_le_sc_calc 
+7431 20600000 rtn 
+
+sp_initialize:
+7432 4747c031 bpatchx patch31_7 ,mem_patch31 
+7433 6fe2462c fetch 1 ,mem_ssp_enable 
+7434 203a650d branch ssp_disable ,blank 
+7435 20406506 call ssp_enable 
+7436 20407438 call sp_clear_flags 
+7437 20207522 branch sp_pubkey_calc 
+
+sp_clear_flags:
+7438 58000000 setarg 0 
+7439 67f009aa store 8 ,mem_sp_state_start 
+743a 67e809b2 store 4 ,mem_sp_flag_start 
+743b 67ee4630 store 7 ,mem_sp_iocap_remote 
+743c 20600000 rtn 
+
+sp_generate_local_key:
+743d 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+743e 20207442 branch sp_generate_local_key0 
+
+sp_master_generate_local_key:
+743f 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+7440 c000f53f beq sp_key_valid ,sp_dhkey_calc 
+7441 20204a8b branch assert 
+
+sp_generate_local_key0:
+7442 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+7443 c000f445 beq sp_key_valid ,sp_start_send_pubkey 
+7444 20207522 branch sp_pubkey_calc 
+
+sp_start_send_pubkey:
+7445 2040753f call sp_dhkey_calc 
+7446 6fe209ab fetch 1 ,mem_master_sp_state 
+7447 247a0000 nrtn blank 
+7448 7009aa03 jam sp_stat_key_send ,mem_sp_state 
+7449 20600000 rtn 
+
+sp_calc_check_publickey_256:
+744a 20407465 call sp_calc_b256 
+744b da2009da arg mem_le_pubkey_remote_y_256 ,rega 
+744c d8a00862 arg mem_t7_256 ,contw 
+744d 20407b2e call bn_sqrmod_256 
+744e da2009ba arg mem_le_pubkey_remote_x_256 ,rega 
+744f d8a00822 arg mem_t2_256 ,contw 
+7450 20407b2e call bn_sqrmod_256 
+7451 da200822 arg mem_t2_256 ,rega 
+7452 da4009ba arg mem_le_pubkey_remote_x_256 ,regb 
+7453 d8a00822 arg mem_t2_256 ,contw 
+7454 20407a96 call bn_mulmod_256 
+7455 da20093a arg mem_a_256 ,rega 
+7456 da4009ba arg mem_le_pubkey_remote_x_256 ,regb 
+7457 d8a00842 arg mem_t3_256 ,contw 
+7458 20407a96 call bn_mulmod_256 
+7459 da200842 arg mem_t3_256 ,rega 
+745a da400822 arg mem_t2_256 ,regb 
+745b d8a00822 arg mem_t2_256 ,contw 
+745c 20407b32 call bn_addmod_256 
+745d da200802 arg mem_t0_256 ,rega 
+745e da400822 arg mem_t2_256 ,regb 
+745f d8a00802 arg mem_t0_256 ,contw 
+7460 20407b32 call bn_addmod_256 
+7461 df200020 arg 32 ,loopcnt 
+7462 da200862 arg mem_t7_256 ,rega 
+7463 da400802 arg mem_t0_256 ,regb 
+7464 20207d63 branch string_compare 
+
+sp_calc_b256:
+7465 da20097a arg mem_gy_256 ,rega 
+7466 d8a00802 arg mem_t0_256 ,contw 
+7467 20407b2e call bn_sqrmod_256 
+7468 da20095a arg mem_gx_256 ,rega 
+7469 d8a00822 arg mem_t2_256 ,contw 
+746a 20407b2e call bn_sqrmod_256 
+746b da200822 arg mem_t2_256 ,rega 
+746c da40095a arg mem_gx_256 ,regb 
+746d d8a00822 arg mem_t2_256 ,contw 
+746e 20407a96 call bn_mulmod_256 
+746f da20093a arg mem_a_256 ,rega 
+7470 da40095a arg mem_gx_256 ,regb 
+7471 d8a00842 arg mem_t3_256 ,contw 
+7472 20407a96 call bn_mulmod_256 
+7473 da200842 arg mem_t3_256 ,rega 
+7474 da400822 arg mem_t2_256 ,regb 
+7475 d8a00822 arg mem_t2_256 ,contw 
+7476 20407b32 call bn_addmod_256 
+7477 da200802 arg mem_t0_256 ,rega 
+7478 da400822 arg mem_t2_256 ,regb 
+7479 d8a00802 arg mem_t0_256 ,contw 
+747a 20207b4b branch bn_submod_256 
+
+sp_calc_check_publickey:
+747b 20407496 call sp_calc_b 
+747c da2009e2 arg mem_sp_pubkey_remote_y ,rega 
+747d d8a00862 arg mem_t7_256 ,contw 
+747e 2040765d call bn_sqrmod 
+747f da2009c2 arg mem_sp_pubkey_remote_x ,rega 
+7480 d8a00822 arg mem_t2_256 ,contw 
+7481 2040765d call bn_sqrmod 
+7482 da200822 arg mem_t2_256 ,rega 
+7483 da4009c2 arg mem_sp_pubkey_remote_x ,regb 
+7484 d8a00822 arg mem_t2_256 ,contw 
+7485 2040763b call bn_mulmod 
+7486 da20089a arg mem_a ,rega 
+7487 da4009c2 arg mem_sp_pubkey_remote_x ,regb 
+7488 d8a00842 arg mem_t3_256 ,contw 
+7489 2040763b call bn_mulmod 
+748a da200842 arg mem_t3_256 ,rega 
+748b da400822 arg mem_t2_256 ,regb 
+748c d8a00822 arg mem_t2_256 ,contw 
+748d 2040760a call bn_addmod 
+748e da200802 arg mem_t0_256 ,rega 
+748f da400822 arg mem_t2_256 ,regb 
+7490 d8a00802 arg mem_t0_256 ,contw 
+7491 2040760a call bn_addmod 
+7492 df200018 arg 24 ,loopcnt 
+7493 da200862 arg mem_t7_256 ,rega 
+7494 da400802 arg mem_t0_256 ,regb 
+7495 20207d63 branch string_compare 
+
+sp_calc_b:
+7496 da2008e2 arg mem_gy ,rega 
+7497 d8a00802 arg mem_t0_256 ,contw 
+7498 2040765d call bn_sqrmod 
+7499 da2008ca arg mem_gx ,rega 
+749a d8a00822 arg mem_t2_256 ,contw 
+749b 2040765d call bn_sqrmod 
+749c da200822 arg mem_t2_256 ,rega 
+749d da4008ca arg mem_gx ,regb 
+749e d8a00822 arg mem_t2_256 ,contw 
+749f 2040763b call bn_mulmod 
+74a0 da20089a arg mem_a ,rega 
+74a1 da4008ca arg mem_gx ,regb 
+74a2 d8a00842 arg mem_t3_256 ,contw 
+74a3 2040763b call bn_mulmod 
+74a4 da200842 arg mem_t3_256 ,rega 
+74a5 da400822 arg mem_t2_256 ,regb 
+74a6 d8a00822 arg mem_t2_256 ,contw 
+74a7 2040760a call bn_addmod 
+74a8 da200802 arg mem_t0_256 ,rega 
+74a9 da400822 arg mem_t2_256 ,regb 
+74aa d8a00802 arg mem_t0_256 ,contw 
+74ab 2020760d branch bn_submod 
+
+sp_calculate_commitment:
+74ac 6fe209ae fetch 1 ,mem_sp_calc 
+74ad c08074ca bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+74ae 204074c7 call sp_local_random_key_generator 
+74af d8a00a7a arg mem_sp_prarm_stack ,contw 
+74b0 58000a2a setarg mem_sp_random_local_end 
+74b1 e7e40005 istore 2 ,contw 
+74b2 58004614 setarg mem_sp_pubkey_local_x_end 
+74b3 e7e40005 istore 2 ,contw 
+74b4 580009da setarg mem_sp_pubkey_remote_x_end 
+74b5 e7e40005 istore 2 ,contw 
+74b6 202074be branch sp_calculate_commitment0 
+
+master_sp_calculate_commitment:
+74b7 d8a00a7a arg mem_sp_prarm_stack ,contw 
+74b8 58000a3a setarg mem_sp_random_remote_end 
+74b9 e7e40005 istore 2 ,contw 
+74ba 580009da setarg mem_sp_pubkey_remote_x_end 
+74bb e7e40005 istore 2 ,contw 
+74bc 58004614 setarg mem_sp_pubkey_local_x_end 
+74bd e7e40005 istore 2 ,contw 
+
+sp_calculate_commitment0:
+74be 20407855 call function_f1 
+74bf 6fe209ab fetch 1 ,mem_master_sp_state 
+74c0 c00274c4 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+74c1 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+74c2 7009aa05 jam sp_stat_commit_send ,mem_sp_state 
+74c3 20600000 rtn 
+
+master_sp_calculate_commitment0:
+74c4 7009ab14 jam sp_stat_commitment_compare ,mem_master_sp_state 
+74c5 2040743f call sp_master_generate_local_key 
+74c6 2020758d branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+74c7 d8a00a1a arg mem_sp_random_local ,contw 
+74c8 18000e08 force 8 ,queue 
+74c9 20207557 branch random_generator 
+
+sp_calculate_commitment_wait_dhkey_calc:
+74ca 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+74cb 20600000 rtn 
+
+sp_confirm_check:
+74cc 47484032 bpatchx patch32_0 ,mem_patch32 
+74cd d8a00723 arg mem_addr_value ,contw 
+74ce 6fec40a0 fetch 6 ,mem_lap 
+74cf e7ec0005 istore 6 ,contw 
+74d0 6fec0040 fetch 6 ,mem_plap 
+74d1 e7ec0005 istore 6 ,contw 
+74d2 6fe64630 fetch 3 ,mem_sp_iocap_remote 
+74d3 e7e60005 istore 3 ,contw 
+74d4 204078c2 call function_f3a 
+74d5 da200a4a arg mem_sp_calc_result_high ,rega 
+74d6 da400a5a arg mem_sp_check_result ,regb 
+74d7 18000e04 force 4 ,queue 
+74d8 2040755c call compare4 
+74d9 2420f4e6 nbranch sp_confirm_check_failed ,true 
+74da 204074dd call sp_confirm_check_success 
+74db 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+74dc 202066da branch tid_set_reply 
+
+sp_confirm_check_success:
+74dd 6fe209ab fetch 1 ,mem_master_sp_state 
+74de c004f4e3 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+74df 7009aa0a jam sp_stat_confirm_calc ,mem_sp_state 
+74e0 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+74e1 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+74e2 20600000 rtn 
+
+sp_confirm_check_success_master:
+74e3 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+74e4 7009ab15 jam sp_state_end ,mem_master_sp_state 
+74e5 2020758d branch master_set_mem_master_sp_flag 
+
+sp_confirm_check_failed:
+74e6 6fe209ab fetch 1 ,mem_master_sp_state 
+74e7 c004f4ec beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+74e8 7009aa00 jam sp_stat_null ,mem_sp_state 
+74e9 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+74ea 70007e05 jam authentication_failure_error ,mem_lmo_reason2 
+74eb 20600000 rtn 
+
+sp_confirm_check_failed_master:
+74ec 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+74ed 7009ab00 jam sp_stat_null ,mem_master_sp_state 
+74ee 20600000 rtn 
+
+sp_confirm_calc:
+74ef 6fe209af fetch 1 ,mem_sp_dh_ready 
+74f0 c000f4f3 beq sp_flag_commit ,sp_confirm_calc_ready 
+74f1 7009ab0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+74f2 2020758d branch master_set_mem_master_sp_flag 
+
+sp_confirm_calc_ready:
+74f3 d8a00723 arg mem_addr_value ,contw 
+74f4 6fec0040 fetch 6 ,mem_plap 
+74f5 e7ec0005 istore 6 ,contw 
+74f6 6fec40a0 fetch 6 ,mem_lap 
+74f7 e7ec0005 istore 6 ,contw 
+74f8 6fe6462d fetch 3 ,mem_sp_iocap_local 
+74f9 e7e60005 istore 3 ,contw 
+74fa 204078d9 call function_f3b 
+74fb 6fe209ab fetch 1 ,mem_master_sp_state 
+74fc c0057500 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+74fd 7009aa0b jam sp_stat_confirm_send ,mem_sp_state 
+74fe 7009ac01 jam sp_flag_commit ,mem_sp_flag 
+74ff 20600000 rtn 
+
+sp_confirm_calc_master:
+7500 7009ab0b jam sp_stat_confirm_send ,mem_master_sp_state 
+7501 7009ad01 jam sp_flag_commit ,mem_master_sp_flag 
+7502 20600000 rtn 
+
+sp_master_key_prarm_push:
+7503 d8a00a7a arg mem_sp_prarm_stack ,contw 
+7504 6fec0040 fetch 6 ,mem_plap 
+7505 e7ec0005 istore 6 ,contw 
+7506 6fec40a0 fetch 6 ,mem_lap 
+7507 e7ec0005 istore 6 ,contw 
+7508 58000a2a setarg mem_sp_random_local_end 
+7509 e7e40005 istore 2 ,contw 
+750a 58000a3a setarg mem_sp_random_remote_end 
+750b e7e40005 istore 2 ,contw 
+750c 20207517 branch sp_link_key_calc 
+
+sp_link_key_prarm_push:
+750d 7009aa0f jam sp_stat_done ,mem_sp_state 
+750e d8a00a7a arg mem_sp_prarm_stack ,contw 
+750f 6fec40a0 fetch 6 ,mem_lap 
+7510 e7ec0005 istore 6 ,contw 
+7511 6fec0040 fetch 6 ,mem_plap 
+7512 e7ec0005 istore 6 ,contw 
+7513 58000a3a setarg mem_sp_random_remote_end 
+7514 e7e40005 istore 2 ,contw 
+7515 58000a2a setarg mem_sp_random_local_end 
+7516 e7e40005 istore 2 ,contw 
+
+sp_link_key_calc:
+7517 d8a00723 arg mem_addr_value ,contw 
+7518 6fec0a7a fetch 6 ,mem_sp_prarm_stack 
+7519 e7ec0005 istore 6 ,contw 
+751a 6fec0a80 fetch 6 ,mem_sp_prarm_stack + 6 
+751b e7ec0005 istore 6 ,contw 
+751c 2040788c call function_f2 
+751d 7041be01 jam 1 ,mem_link_key_exists 
+751e d8a041bf arg mem_link_key ,contw 
+751f d8c00a4a arg mem_sp_calc_result_high ,contr 
+7520 20407c9a call memcpy16 
+7521 202041c0 branch generate_linkkey_continue 
+
+sp_pubkey_calc:
+7522 4748c032 bpatchx patch32_1 ,mem_patch32 
+7523 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+7524 c1800000 rtnne sp_key_invalid 
+7525 6fe209ae fetch 1 ,mem_sp_calc 
+7526 c1800000 rtnne sp_calc_standby 
+7527 d8a045e4 arg mem_sp_private_key ,contw 
+7528 18000e0b force 11 ,queue 
+7529 20407557 call random_generator 
+752a 180a7e00 random pdata 
+752b 1fe37e00 rshift pdata ,pdata 
+752c e7e40005 istore 2 ,contw 
+752d d8a006ba arg mem_k ,contw 
+752e d8c045e4 arg mem_sp_private_key ,contr 
+752f 20407c99 call memcpy24 
+7530 d8a005e2 arg mem_ax ,contw 
+7531 d8c008ca arg mem_gx ,contr 
+7532 20407c97 call memcpy48 
+7533 d8a00612 arg mem_az ,contw 
+7534 20407ca0 call bn_zero 
+7535 70061201 jam 1 ,mem_az 
+7536 20407912 call eckp_calc_init 
+7537 7009ae01 jam sp_calc_pubkey ,mem_sp_calc 
+7538 20600000 rtn 
+
+sp_pubkey_generated:
+7539 d8a045fc arg mem_sp_pubkey_local ,contw 
+753a d8c0062a arg mem_bx ,contr 
+753b 20407c97 call memcpy48 
+753c 70458301 jam sp_key_valid ,mem_sp_local_key_invalid 
+753d 7009ae00 jam sp_calc_standby ,mem_sp_calc 
+753e 20600000 rtn 
+
+sp_dhkey_calc:
+753f 47494032 bpatchx patch32_2 ,mem_patch32 
+7540 6fe209b5 fetch 1 ,mem_sp_dhkey_invalid 
+7541 c1800000 rtnne sp_key_invalid 
+7542 6fe209ae fetch 1 ,mem_sp_calc 
+7543 c1800000 rtnne sp_calc_standby 
+7544 d8a006ba arg mem_k ,contw 
+7545 d8c045e4 arg mem_sp_private_key ,contr 
+7546 20407c99 call memcpy24 
+7547 d8a005e2 arg mem_ax ,contw 
+7548 d8c009c2 arg mem_sp_pubkey_remote ,contr 
+7549 20407c97 call memcpy48 
+754a d8a00612 arg mem_az ,contw 
+754b 20407ca0 call bn_zero 
+754c 70061201 jam 1 ,mem_az 
+754d 20407912 call eckp_calc_init 
+754e 7009ae02 jam sp_calc_dhkey ,mem_sp_calc 
+754f 20600000 rtn 
+
+sp_dhkey_generated:
+7550 7009af01 jam sp_flag_commit ,mem_sp_dh_ready 
+7551 d8a00a02 arg mem_sp_dhkey ,contw 
+7552 d8c0062a arg mem_bx ,contr 
+7553 20407c99 call memcpy24 
+7554 7009b501 jam sp_key_valid ,mem_sp_dhkey_invalid 
+7555 7009ae00 jam sp_calc_standby ,mem_sp_calc 
+7556 20600000 rtn 
+
+random_generator:
+7557 18e08fff increase -1 ,queue 
+7558 24610000 nrtn positive 
+7559 180a7e00 random pdata 
+755a e7e40005 istore 2 ,contw 
+755b 20207557 branch random_generator 
+
+compare4:
+755c 18e08fff increase -1 ,queue 
+755d 24217568 nbranch compare4_success ,positive 
+755e efe80011 ifetch 4 ,rega 
+755f 1fe20400 copy pdata ,temp 
+7560 efe80012 ifetch 4 ,regb 
+7561 9842fe00 iflip temp ,pdata 
+7562 2422f566 nbranch compare4_failed ,zero 
+7563 1a20a204 increase 4 ,rega 
+7564 1a40a404 increase 4 ,regb 
+7565 2020755c branch compare4 
+
+compare4_failed:
+7566 7840fc00 disable true 
+7567 20600000 rtn 
+
+compare4_success:
+7568 7820fc00 enable true 
+7569 20600000 rtn 
+
+simple_pairing_sequence:
+756a 4749c032 bpatchx patch32_3 ,mem_patch32 
+756b 6fe209ac fetch 1 ,mem_sp_flag 
+756c 207a0000 rtn blank 
+756d 2040669e call lmo_fifo_check 
+756e 247a0000 nrtn blank 
+756f 7009ac00 jam sp_flag_standby ,mem_sp_flag 
+7570 6fe209aa fetch 1 ,mem_sp_state 
+7571 c001e5df beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+7572 c002e5fc beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+7573 c003e607 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+7574 c005e61c beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+7575 c001743d beq sp_stat_key_generate ,sp_generate_local_key 
+7576 c00274ac beq sp_stat_commit_calc ,sp_calculate_commitment 
+7577 c004f4cc beq sp_stat_confirm_check ,sp_confirm_check 
+7578 c00574ef beq sp_stat_confirm_calc ,sp_confirm_calc 
+7579 c006750d beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+757a 20600000 rtn 
+
+master_simple_paring_sequence:
+757b 474a4032 bpatchx patch32_4 ,mem_patch32 
+757c 6fe209ad fetch 1 ,mem_master_sp_flag 
+757d 207a0000 rtn blank 
+757e 2040669e call lmo_fifo_check 
+757f 247a0000 nrtn blank 
+7580 7009ad00 jam sp_flag_standby ,mem_master_sp_flag 
+7581 6fe209ab fetch 1 ,mem_master_sp_state 
+7582 c00965c2 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+7583 c009e5c7 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+7584 c001e5cb beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+7585 c00274b7 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+7586 c00a65cf beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+7587 c003e5dd beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+7588 c00574ef beq sp_stat_confirm_calc ,sp_confirm_calc 
+7589 c005e61b beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+758a c004f4cc beq sp_stat_confirm_check ,sp_confirm_check 
+758b c00ae615 beq sp_state_end ,master_sp_sm_end 
+758c 20600000 rtn 
+
+master_set_mem_master_sp_flag:
+758d 7009ad01 jam sp_flag_commit ,mem_master_sp_flag 
+758e 20600000 rtn 
+
+master_clear_mem_master_sp_flag:
+758f 7009ad00 jam sp_flag_standby ,mem_master_sp_flag 
+7590 20600000 rtn 
+
+sp_calc_sequence:
+7591 474ac032 bpatchx patch32_5 ,mem_patch32 
+7592 6fe2462c fetch 1 ,mem_ssp_enable 
+7593 207a0000 rtn blank 
+7594 6fe209ae fetch 1 ,mem_sp_calc 
+7595 207a0000 rtn blank 
+7596 1fe0fe80 increase 0x80 ,pdata 
+7597 67e209ae store 1 ,mem_sp_calc 
+7598 c3838000 rtnbit1 7 
+7599 6fe205df fetch 1 ,mem_ec_loopc 
+759a 203a759c branch sp_calc_sequence_done ,blank 
+759b 2020791d branch eckp_calc 
+
+sp_calc_sequence_done:
+759c 20407788 call ecunmapz 
+759d 6fe209ae fetch 1 ,mem_sp_calc 
+759e c000f539 beq sp_calc_pubkey ,sp_pubkey_generated 
+759f c0017550 beq sp_calc_dhkey ,sp_dhkey_generated 
+75a0 20600000 rtn 
+
+bn_testbit:
+75a1 1fe10e07 and pdata ,7 ,queue 
+75a2 1fe97e00 rshift3 pdata ,pdata 
+75a3 98c08c00 iadd contr ,contr 
+75a4 efe20006 ifetch 1 ,contr 
+75a5 afec0000 qisolate0 pdata 
+75a6 20600000 rtn 
+
+ec_copy:
+75a7 20407c99 call memcpy24 
+75a8 20407c99 call memcpy24 
+75a9 20207c99 branch memcpy24 
+
+bn_eq_zero:
+75aa eff00006 ifetch 8 ,contr 
+75ab 247a0000 nrtn blank 
+75ac eff00006 ifetch 8 ,contr 
+75ad 247a0000 nrtn blank 
+75ae eff00006 ifetch 8 ,contr 
+75af 20600000 rtn 
+
+bn_eq_0:
+75b0 efe80011 ifetch 4 ,rega 
+75b1 98000400 iforce temp 
+75b2 efe80012 ifetch 4 ,regb 
+75b3 98467c00 isub temp ,null 
+75b4 24628000 nrtn zero 
+75b5 1a20a204 increase 4 ,rega 
+75b6 1a40a404 increase 4 ,regb 
+75b7 c20075b0 loop bn_eq_0 
+75b8 20600000 rtn 
+
+bn_bigeq:
+75b9 18007206 force 6 ,loopcnt 
+75ba 1a20a214 increase 20 ,rega 
+75bb 1a40a414 increase 20 ,regb 
+
+bn_bigeq_0:
+75bc efe80012 ifetch 4 ,regb 
+75bd 98000400 iforce temp 
+75be efe80011 ifetch 4 ,rega 
+75bf 98467e00 isub temp ,pdata 
+75c0 24610000 nrtn positive 
+75c1 247a0000 nrtn blank 
+75c2 1a20a3fc increase -4 ,rega 
+75c3 1a40a5fc increase -4 ,regb 
+75c4 c20075bc loop bn_bigeq_0 
+75c5 20600000 rtn 
+
+bn_add:
+75c6 18007206 force 6 ,loopcnt 
+75c7 18002600 force 0 ,regc 
+
+bn_add_0:
+75c8 efe80011 ifetch 4 ,rega 
+75c9 98000400 iforce temp 
+75ca efe80012 ifetch 4 ,regb 
+75cb 9840fe00 iadd temp ,pdata 
+75cc 9a60fe00 iadd regc ,pdata 
+75cd e7e80005 istore 4 ,contw 
+75ce 2feffe20 isolate1 32 ,pdata 
+75cf 7920a600 setflag true ,0 ,regc 
+75d0 1a20a204 increase 4 ,rega 
+75d1 1a40a404 increase 4 ,regb 
+75d2 c20075c8 loop bn_add_0 
+75d3 20600000 rtn 
+
+bn_sub:
+75d4 18007206 force 6 ,loopcnt 
+75d5 18002600 force 0 ,regc 
+
+bn_sub_0:
+75d6 efe80012 ifetch 4 ,regb 
+75d7 98000400 iforce temp 
+75d8 efe80011 ifetch 4 ,rega 
+75d9 98467e00 isub temp ,pdata 
+75da 9a667e00 isub regc ,pdata 
+75db e7e80005 istore 4 ,contw 
+75dc 2feffe20 isolate1 32 ,pdata 
+75dd 7920a600 setflag true ,0 ,regc 
+75de 1a20a204 increase 4 ,rega 
+75df 1a40a404 increase 4 ,regb 
+75e0 c20075d6 loop bn_sub_0 
+75e1 20600000 rtn 
+
+bn_rshift6:
+75e2 18007206 force 6 ,loopcnt 
+75e3 1a20a214 increase 20 ,rega 
+
+bn_rshift:
+75e4 18002600 force 0 ,regc 
+
+bn_rshift_0:
+75e5 efe80011 ifetch 4 ,rega 
+75e6 2feffe00 isolate1 0 ,pdata 
+75e7 7920a601 setflag true ,1 ,regc 
+75e8 1fe37e00 rshift pdata ,pdata 
+75e9 2a6ffe00 isolate1 0 ,regc 
+75ea 7920fe1f setflag true ,31 ,pdata 
+75eb e7e80011 istore 4 ,rega 
+75ec 1a20a3fc increase -4 ,rega 
+75ed 1a632600 rshift regc ,regc 
+75ee c20075e5 loop bn_rshift_0 
+75ef 20600000 rtn 
+
+bn_lshift:
+75f0 18007206 force 6 ,loopcnt 
+75f1 18002600 force 0 ,regc 
+
+bn_lshift_0:
+75f2 efe80011 ifetch 4 ,rega 
+75f3 2feffe1f isolate1 31 ,pdata 
+75f4 7920a601 setflag true ,1 ,regc 
+75f5 1fe3fe00 lshift pdata ,pdata 
+75f6 2a6ffe00 isolate1 0 ,regc 
+75f7 7920fe00 setflag true ,0 ,pdata 
+75f8 e7e80011 istore 4 ,rega 
+75f9 1a20a204 increase 4 ,rega 
+75fa 1a632600 rshift regc ,regc 
+75fb c20075f2 loop bn_lshift_0 
+75fc 20600000 rtn 
+
+bn_lshiftmod:
+75fd 204075f0 call bn_lshift 
+
+bn_lshiftmod_ismod:
+75fe 2a6ffe00 isolate1 0 ,regc 
+75ff 2020f606 branch bn_lshiftmod_0 ,true 
+7600 da400882 arg mem_p ,regb 
+7601 1a222600 copy rega ,regc 
+7602 1a20a3e8 increase -24 ,rega 
+7603 204075b9 call bn_bigeq 
+7604 24610000 nrtn positive 
+7605 1a622200 copy regc ,rega 
+
+bn_lshiftmod_0:
+7606 1a20a3e8 increase -24 ,rega 
+7607 da400882 arg mem_p ,regb 
+7608 1a220a00 copy rega ,contw 
+7609 202075d4 branch bn_sub 
+
+bn_addmod:
+760a 204075c6 call bn_add 
+760b 18a22200 copy contw ,rega 
+760c 202075fe branch bn_lshiftmod_ismod 
+
+bn_submod:
+760d 204075d4 call bn_sub 
+760e 2a6c0000 isolate0 0 ,regc 
+760f 20608000 rtn true 
+7610 da400882 arg mem_p ,regb 
+7611 18a0a3e8 add contw ,-24 ,rega 
+7612 1a220a00 copy rega ,contw 
+7613 202075c6 branch bn_add 
+
+bn_p192mod:
+7614 18a21600 copy contw ,timeup 
+7615 1a226000 copy rega ,alarm 
+7616 da400712 arg mem_tmp2 ,regb 
+7617 1a420a00 copy regb ,contw 
+7618 1a208c18 add rega ,24 ,contr 
+7619 eff00006 ifetch 8 ,contr 
+761a e7f00005 istore 8 ,contw 
+761b e7f00005 istore 8 ,contw 
+761c 18007e00 force 0 ,pdata 
+761d e7f00005 istore 8 ,contw 
+761e 19620a00 copy timeup ,contw 
+761f 2040760a call bn_addmod 
+7620 da400712 arg mem_tmp2 ,regb 
+7621 1a420a00 copy regb ,contw 
+7622 18007e00 force 0 ,pdata 
+7623 e7f00005 istore 8 ,contw 
+7624 1e008c20 add alarm ,32 ,contr 
+7625 eff00006 ifetch 8 ,contr 
+7626 e7f00005 istore 8 ,contw 
+7627 e7f00005 istore 8 ,contw 
+7628 19622200 copy timeup ,rega 
+7629 1a220a00 copy rega ,contw 
+762a 2040760a call bn_addmod 
+762b da400712 arg mem_tmp2 ,regb 
+762c 1a420a00 copy regb ,contw 
+762d 1e008c28 add alarm ,40 ,contr 
+762e eff00006 ifetch 8 ,contr 
+762f e7f00005 istore 8 ,contw 
+7630 e7f00005 istore 8 ,contw 
+7631 e7f00005 istore 8 ,contw 
+7632 19622200 copy timeup ,rega 
+7633 1a220a00 copy rega ,contw 
+7634 2020760a branch bn_addmod 
+
+bn_load:
+7635 18007206 force 6 ,loopcnt 
+
+bn_load_0:
+7636 efe80006 ifetch 4 ,contr 
+7637 98005e00 iforce regext 
+7638 1f00f001 increase 1 ,regext_index 
+7639 c2007636 loop bn_load_0 
+763a 20600000 rtn 
+
+bn_mulmod:
+763b 18a21600 copy contw ,timeup 
+763c d8a006e2 arg mem_tmp1 ,contw 
+763d 20407ca0 call bn_zero 
+763e d8a006e2 arg mem_tmp1 ,contw 
+763f 1a220c00 copy rega ,contr 
+7640 18007000 force 0 ,regext_index 
+7641 20407635 call bn_load 
+7642 1a420c00 copy regb ,contr 
+7643 20407635 call bn_load 
+7644 18002400 force 0 ,regb 
+
+bn_mulmod_1:
+7645 18000400 force 0 ,temp 
+7646 18002606 force 6 ,regc 
+
+bn_mulmod_0:
+7647 efe80005 ifetch 4 ,contw 
+7648 98002200 iforce rega 
+7649 1a427000 copy regb ,regext_index 
+764a 1de27e00 deposit regext 
+764b 1a627000 copy regc ,regext_index 
+764c 9deffe00 imul32 regext ,pdata 
+764d 9a20fe00 iadd rega ,pdata 
+764e 9840fe00 iadd temp ,pdata 
+764f e7e80005 istore 4 ,contw 
+7650 1fef0400 rshift32 pdata ,temp 
+7651 1a60a601 increase 1 ,regc 
+7652 2a61fe0c compare 12 ,regc ,0xff 
+7653 2420f647 nbranch bn_mulmod_0 ,true 
+7654 18427e00 deposit temp 
+7655 e7e80005 istore 4 ,contw 
+7656 18a08be8 increase -24 ,contw 
+7657 1a40a401 increase 1 ,regb 
+7658 2a41fe06 compare 6 ,regb ,0xff 
+7659 2420f645 nbranch bn_mulmod_1 ,true 
+765a da2006e2 arg mem_tmp1 ,rega 
+765b 19620a00 copy timeup ,contw 
+765c 20207614 branch bn_p192mod 
+
+bn_sqrmod:
+765d 1a222400 copy rega ,regb 
+765e 2020763b branch bn_mulmod 
+
+bn_rshifteven:
+765f 1a226000 copy rega ,alarm 
+
+bn_rshifteven_1:
+7660 1e022200 copy alarm ,rega 
+7661 efe20011 ifetch 1 ,rega 
+7662 2feffe00 isolate1 0 ,pdata 
+7663 20608000 rtn true 
+7664 204075e2 call bn_rshift6 
+7665 efe20012 ifetch 1 ,regb 
+7666 2fec0000 isolate0 0 ,pdata 
+7667 2020f66f branch bn_rshifteven_0 ,true 
+7668 da200882 arg mem_p ,rega 
+7669 1a420a00 copy regb ,contw 
+766a 204075c6 call bn_add 
+766b efe20012 ifetch 1 ,regb 
+766c 9a60fe00 iadd regc ,pdata 
+766d e7e20012 istore 1 ,regb 
+766e 1a40a5e8 increase -24 ,regb 
+
+bn_rshifteven_0:
+766f 1a40a218 add regb ,24 ,rega 
+7670 18007207 force 7 ,loopcnt 
+7671 204075e4 call bn_rshift 
+7672 20207660 branch bn_rshifteven_1 
+
+bn_invmod:
+7673 18a21600 copy contw ,timeup 
+7674 d8a00742 arg mem_tmp0 ,contw 
+7675 20407ca0 call bn_zero 
+7676 18007e00 force 0 ,pdata 
+7677 67e806fa store 4 ,mem_tmp5 
+7678 67e8075a store 4 ,mem_t2 
+7679 70074201 jam 1 ,mem_tmp0 
+767a d8a006e2 arg mem_tmp1 ,contw 
+767b 20407ca0 call bn_zero 
+767c d8c00882 arg mem_p ,contr 
+767d d8a00712 arg mem_tmp2 ,contw 
+767e 20407c99 call memcpy24 
+767f 1a220c00 copy rega ,contr 
+7680 d8a0072a arg mem_tmp3 ,contw 
+7681 20407c99 call memcpy24 
+
+bn_invmod_2:
+7682 d8c0072a arg mem_tmp3 ,contr 
+7683 204075aa call bn_eq_zero 
+7684 203a76ab branch bn_invmod_0 ,blank 
+7685 da20072a arg mem_tmp3 ,rega 
+7686 da400742 arg mem_tmp0 ,regb 
+7687 2040765f call bn_rshifteven 
+7688 da200712 arg mem_tmp2 ,rega 
+7689 da4006e2 arg mem_tmp1 ,regb 
+768a 2040765f call bn_rshifteven 
+768b da20072a arg mem_tmp3 ,rega 
+768c da400712 arg mem_tmp2 ,regb 
+768d 204075b9 call bn_bigeq 
+768e 2021769d branch bn_invmod_1 ,positive 
+768f da200712 arg mem_tmp2 ,rega 
+7690 da40072a arg mem_tmp3 ,regb 
+7691 1a220a00 copy rega ,contw 
+7692 204075d4 call bn_sub 
+7693 da200742 arg mem_tmp0 ,rega 
+7694 da4006e2 arg mem_tmp1 ,regb 
+7695 1a420a00 copy regb ,contw 
+7696 204075c6 call bn_add 
+7697 efe20011 ifetch 1 ,rega 
+7698 9a60a600 iadd regc ,regc 
+7699 efe20012 ifetch 1 ,regb 
+769a 9a60fe00 iadd regc ,pdata 
+769b e7e20012 istore 1 ,regb 
+769c 20207682 branch bn_invmod_2 
+
+bn_invmod_1:
+769d da20072a arg mem_tmp3 ,rega 
+769e da400712 arg mem_tmp2 ,regb 
+769f 1a220a00 copy rega ,contw 
+76a0 204075d4 call bn_sub 
+76a1 da2006e2 arg mem_tmp1 ,rega 
+76a2 da400742 arg mem_tmp0 ,regb 
+76a3 1a420a00 copy regb ,contw 
+76a4 204075c6 call bn_add 
+76a5 efe20011 ifetch 1 ,rega 
+76a6 9a60a600 iadd regc ,regc 
+76a7 efe20012 ifetch 1 ,regb 
+76a8 9a60fe00 iadd regc ,pdata 
+76a9 e7e20012 istore 1 ,regb 
+76aa 20207682 branch bn_invmod_2 
+
+bn_invmod_0:
+76ab d8a00742 arg mem_tmp0 ,contw 
+76ac 20407ca0 call bn_zero 
+76ad 6fe206fa fetch 1 ,mem_tmp5 
+76ae 67e20742 store 1 ,mem_tmp0 
+76af 67e2074a store 1 ,mem_tmp0a 
+76b0 da200742 arg mem_tmp0 ,rega 
+76b1 da4006e2 arg mem_tmp1 ,regb 
+76b2 1a420a00 copy regb ,contw 
+76b3 2040760a call bn_addmod 
+76b4 da200882 arg mem_p ,rega 
+76b5 da4006e2 arg mem_tmp1 ,regb 
+76b6 19620a00 copy timeup ,contw 
+76b7 2020760d branch bn_submod 
+
+ecdbl:
+76b8 da2006a2 arg mem_cz ,rega 
+76b9 d8a0075a arg mem_t2 ,contw 
+76ba 2040765d call bn_sqrmod 
+76bb da20075a arg mem_t2 ,rega 
+76bc d8a00772 arg mem_t3 ,contw 
+76bd 2040765d call bn_sqrmod 
+76be da20089a arg mem_a ,rega 
+76bf da400772 arg mem_t3 ,regb 
+76c0 d8a00772 arg mem_t3 ,contw 
+76c1 2040763b call bn_mulmod 
+76c2 da200672 arg mem_cx ,rega 
+76c3 d8a0075a arg mem_t2 ,contw 
+76c4 2040765d call bn_sqrmod 
+76c5 d8c0075a arg mem_t2 ,contr 
+76c6 d8a0072a arg mem_t1 ,contw 
+76c7 20407c99 call memcpy24 
+76c8 da20072a arg mem_t1 ,rega 
+76c9 204075fd call bn_lshiftmod 
+76ca da20075a arg mem_t2 ,rega 
+76cb da40072a arg mem_t1 ,regb 
+76cc d8a0075a arg mem_t2 ,contw 
+76cd 2040760a call bn_addmod 
+76ce da20075a arg mem_t2 ,rega 
+76cf da400772 arg mem_t3 ,regb 
+76d0 d8a0075a arg mem_t2 ,contw 
+76d1 2040760a call bn_addmod 
+76d2 d8c00672 arg mem_cx ,contr 
+76d3 d8a0072a arg mem_t1 ,contw 
+76d4 20407c99 call memcpy24 
+76d5 da20068a arg mem_cy ,rega 
+76d6 d8a00772 arg mem_t3 ,contw 
+76d7 2040765d call bn_sqrmod 
+76d8 da20072a arg mem_t1 ,rega 
+76d9 204075fd call bn_lshiftmod 
+76da da20072a arg mem_t1 ,rega 
+76db 204075fd call bn_lshiftmod 
+76dc da20072a arg mem_t1 ,rega 
+76dd da400772 arg mem_t3 ,regb 
+76de d8a0072a arg mem_t1 ,contw 
+76df 2040763b call bn_mulmod 
+76e0 da200772 arg mem_t3 ,rega 
+76e1 d8a00742 arg mem_t0 ,contw 
+76e2 2040765d call bn_sqrmod 
+76e3 da200742 arg mem_t0 ,rega 
+76e4 204075fd call bn_lshiftmod 
+76e5 da200742 arg mem_t0 ,rega 
+76e6 204075fd call bn_lshiftmod 
+76e7 da200742 arg mem_t0 ,rega 
+76e8 204075fd call bn_lshiftmod 
+76e9 d8c0068a arg mem_cy ,contr 
+76ea d8a00772 arg mem_t3 ,contw 
+76eb 20407c99 call memcpy24 
+76ec da200772 arg mem_t3 ,rega 
+76ed 204075fd call bn_lshiftmod 
+76ee da200772 arg mem_t3 ,rega 
+76ef da4006a2 arg mem_cz ,regb 
+76f0 d8a006a2 arg mem_cz ,contw 
+76f1 2040763b call bn_mulmod 
+76f2 da20075a arg mem_t2 ,rega 
+76f3 d8a00772 arg mem_t3 ,contw 
+76f4 2040765d call bn_sqrmod 
+76f5 da200772 arg mem_t3 ,rega 
+76f6 da40072a arg mem_t1 ,regb 
+76f7 d8a00772 arg mem_t3 ,contw 
+76f8 2040760d call bn_submod 
+76f9 da200772 arg mem_t3 ,rega 
+76fa da40072a arg mem_t1 ,regb 
+76fb d8a00672 arg mem_cx ,contw 
+76fc 2040760d call bn_submod 
+76fd da20072a arg mem_t1 ,rega 
+76fe da400672 arg mem_cx ,regb 
+76ff d8a00772 arg mem_t3 ,contw 
+7700 2040760d call bn_submod 
+7701 da200772 arg mem_t3 ,rega 
+7702 da40075a arg mem_t2 ,regb 
+7703 d8a00772 arg mem_t3 ,contw 
+7704 2040763b call bn_mulmod 
+7705 da200772 arg mem_t3 ,rega 
+7706 da400742 arg mem_t0 ,regb 
+7707 d8a0068a arg mem_cy ,contw 
+7708 2020760d branch bn_submod 
+
+ecadd:
+7709 da200612 arg mem_az ,rega 
+770a d8a0078a arg mem_t7 ,contw 
+770b 2040765d call bn_sqrmod 
+770c da200672 arg mem_cx ,rega 
+770d da40078a arg mem_t7 ,regb 
+770e d8a00742 arg mem_t0 ,contw 
+770f 2040763b call bn_mulmod 
+7710 da200612 arg mem_az ,rega 
+7711 da40078a arg mem_t7 ,regb 
+7712 d8a0078a arg mem_t7 ,contw 
+7713 2040763b call bn_mulmod 
+7714 da20068a arg mem_cy ,rega 
+7715 da40078a arg mem_t7 ,regb 
+7716 d8a0072a arg mem_t1 ,contw 
+7717 2040763b call bn_mulmod 
+7718 da2006a2 arg mem_cz ,rega 
+7719 d8a0078a arg mem_t7 ,contw 
+771a 2040765d call bn_sqrmod 
+771b da2005e2 arg mem_ax ,rega 
+771c da40078a arg mem_t7 ,regb 
+771d d8a0075a arg mem_t2 ,contw 
+771e 2040763b call bn_mulmod 
+771f da2006a2 arg mem_cz ,rega 
+7720 da40078a arg mem_t7 ,regb 
+7721 d8a0078a arg mem_t7 ,contw 
+7722 2040763b call bn_mulmod 
+7723 da2005fa arg mem_ay ,rega 
+7724 da40078a arg mem_t7 ,regb 
+7725 d8a00772 arg mem_t3 ,contw 
+7726 2040763b call bn_mulmod 
+7727 da200742 arg mem_t0 ,rega 
+7728 da40075a arg mem_t2 ,regb 
+7729 d8a0078a arg mem_t7 ,contw 
+772a 2040760d call bn_submod 
+772b da200742 arg mem_t0 ,rega 
+772c da40075a arg mem_t2 ,regb 
+772d d8a00742 arg mem_t0 ,contw 
+772e 2040760a call bn_addmod 
+772f da20072a arg mem_t1 ,rega 
+7730 da400772 arg mem_t3 ,regb 
+7731 d8a0075a arg mem_t2 ,contw 
+7732 2040760d call bn_submod 
+7733 da20072a arg mem_t1 ,rega 
+7734 da400772 arg mem_t3 ,regb 
+7735 d8a0072a arg mem_t1 ,contw 
+7736 2040760a call bn_addmod 
+7737 da20072a arg mem_t1 ,rega 
+7738 da40078a arg mem_t7 ,regb 
+7739 d8a0072a arg mem_t1 ,contw 
+773a 2040763b call bn_mulmod 
+773b da2006a2 arg mem_cz ,rega 
+773c da400612 arg mem_az ,regb 
+773d d8a00772 arg mem_t3 ,contw 
+773e 2040763b call bn_mulmod 
+773f da200772 arg mem_t3 ,rega 
+7740 da40078a arg mem_t7 ,regb 
+7741 d8a006a2 arg mem_cz ,contw 
+7742 2040763b call bn_mulmod 
+7743 da20078a arg mem_t7 ,rega 
+7744 d8a0078a arg mem_t7 ,contw 
+7745 2040765d call bn_sqrmod 
+7746 da20078a arg mem_t7 ,rega 
+7747 da400742 arg mem_t0 ,regb 
+7748 d8a00772 arg mem_t3 ,contw 
+7749 2040763b call bn_mulmod 
+774a da20078a arg mem_t7 ,rega 
+774b da40072a arg mem_t1 ,regb 
+774c d8a0072a arg mem_t1 ,contw 
+774d 2040763b call bn_mulmod 
+774e da20075a arg mem_t2 ,rega 
+774f d8a00672 arg mem_cx ,contw 
+7750 2040765d call bn_sqrmod 
+7751 da200672 arg mem_cx ,rega 
+7752 da400772 arg mem_t3 ,regb 
+7753 d8a00672 arg mem_cx ,contw 
+7754 2040760d call bn_submod 
+7755 d8c00672 arg mem_cx ,contr 
+7756 d8a0078a arg mem_t7 ,contw 
+7757 20407c99 call memcpy24 
+7758 da20078a arg mem_t7 ,rega 
+7759 204075fd call bn_lshiftmod 
+775a da200772 arg mem_t3 ,rega 
+775b da40078a arg mem_t7 ,regb 
+775c d8a00772 arg mem_t3 ,contw 
+775d 2040760d call bn_submod 
+775e da200772 arg mem_t3 ,rega 
+775f da40075a arg mem_t2 ,regb 
+7760 d8a0075a arg mem_t2 ,contw 
+7761 2040763b call bn_mulmod 
+7762 da20075a arg mem_t2 ,rega 
+7763 da40072a arg mem_t1 ,regb 
+7764 d8a0068a arg mem_cy ,contw 
+7765 2040760d call bn_submod 
+7766 da20068a arg mem_cy ,rega 
+7767 da400882 arg mem_p ,regb 
+7768 d8a0068a arg mem_cy ,contw 
+7769 18002600 force 0 ,regc 
+776a 6fe2068a fetch 1 ,mem_cy 
+776b 2feffe00 isolate1 0 ,pdata 
+776c 2040f5c6 call bn_add ,true 
+776d 1a626000 copy regc ,alarm 
+776e da20068a arg mem_cy ,rega 
+776f 204075e2 call bn_rshift6 
+7770 6fe206a1 fetch 1 ,mem_cy5 
+7771 2e0ffe00 isolate1 0 ,alarm 
+7772 7920fe07 setflag true ,7 ,pdata 
+7773 67e206a1 store 1 ,mem_cy5 
+7774 20600000 rtn 
+
+eckp_0:
+7775 6fe205df fetch 1 ,mem_ec_loopc 
+7776 1fe0ffff increase -1 ,pdata 
+7777 24610000 nrtn positive 
+7778 67e205df store 1 ,mem_ec_loopc 
+7779 6fe205de fetch 1 ,mem_ec_infinite 
+777a 205a76b8 call ecdbl ,blank 
+777b 6fe205df fetch 1 ,mem_ec_loopc 
+777c d8c006ba arg mem_k ,contr 
+777d 204075a1 call bn_testbit 
+777e 2020f775 branch eckp_0 ,true 
+777f 6fe205de fetch 1 ,mem_ec_infinite 
+7780 243a7783 nbranch eckp_1 ,blank 
+7781 20407709 call ecadd 
+7782 20207775 branch eckp_0 
+
+eckp_1:
+7783 7005de00 jam 0 ,mem_ec_infinite 
+7784 d8c005e2 arg mem_ax ,contr 
+7785 d8a00672 arg mem_cx ,contw 
+7786 204075a7 call ec_copy 
+7787 20207775 branch eckp_0 
+
+ecunmapz:
+7788 da2006a2 arg mem_cz ,rega 
+7789 d8a00772 arg mem_t3 ,contw 
+778a 20407673 call bn_invmod 
+778b da200772 arg mem_t3 ,rega 
+778c d8a0072a arg mem_t1 ,contw 
+778d 2040765d call bn_sqrmod 
+778e da200672 arg mem_cx ,rega 
+778f da40072a arg mem_t1 ,regb 
+7790 d8a0062a arg mem_bx ,contw 
+7791 2040763b call bn_mulmod 
+7792 da200772 arg mem_t3 ,rega 
+7793 da40072a arg mem_t1 ,regb 
+7794 d8a0075a arg mem_t2 ,contw 
+7795 2040763b call bn_mulmod 
+7796 da20068a arg mem_cy ,rega 
+7797 da40075a arg mem_t2 ,regb 
+7798 d8a00642 arg mem_by ,contw 
+7799 2020763b branch bn_mulmod 
+
+sha_endian_swap2:
+779a efe80006 ifetch 4 ,contr 
+779b 18002204 force 4 ,rega 
+779c 18a08a03 increase 3 ,contw 
+
+sha_endian_loop:
+779d e7e20005 istore 1 ,contw 
+779e 1fecfe00 rshift8 pdata ,pdata 
+779f 18a08bfe increase -2 ,contw 
+77a0 1a20a3ff increase -1 ,rega 
+77a1 2422f79d nbranch sha_endian_loop ,zero 
+77a2 18a08a05 increase 5 ,contw 
+77a3 c200779a loop sha_endian_swap2 
+77a4 20600000 rtn 
+
+sha_getw:
+77a5 18ebfe00 lshift2 queue ,pdata 
+77a6 99608c00 iadd timeup ,contr 
+77a7 efe80006 ifetch 4 ,contr 
+77a8 20600000 rtn 
+
+sha_r:
+77a9 18006010 force 16 ,alarm 
+77aa d96005e2 arg memdat ,timeup 
+
+sha_r_loop:
+77ab 1e008ff9 add alarm ,-7 ,queue 
+77ac 204077a5 call sha_getw 
+77ad 98000400 iforce temp 
+77ae 1e008ff0 add alarm ,-16 ,queue 
+77af 204077a5 call sha_getw 
+77b0 98408400 iadd temp ,temp 
+77b1 1e008ffe add alarm ,-2 ,queue 
+77b2 204077a5 call sha_getw 
+77b3 1fee7e01 shasx pdata ,1 ,pdata 
+77b4 98408400 iadd temp ,temp 
+77b5 1e008ff1 add alarm ,-15 ,queue 
+77b6 204077a5 call sha_getw 
+77b7 1fee7e00 shasx pdata ,0 ,pdata 
+77b8 98408400 iadd temp ,temp 
+77b9 1e0bfe00 lshift2 alarm ,pdata 
+77ba 99608a00 iadd timeup ,contw 
+77bb e0480005 istoret 4 ,contw 
+77bc 1e00e001 increase 1 ,alarm 
+77bd 2e01fe40 compare 64 ,alarm ,0xff 
+77be 2420f7ab nbranch sha_r_loop ,true 
+77bf 20600000 rtn 
+
+sha_init:
+77c0 d8c008fa arg memh0 ,contr 
+77c1 18007007 force 7 ,regext_index 
+
+sha_init_0:
+77c2 efe80006 ifetch 4 ,contr 
+77c3 98005e00 iforce regext 
+77c4 1f00f1ff increase -1 ,regext_index 
+77c5 202177c2 branch sha_init_0 ,positive 
+77c6 20600000 rtn 
+
+sha:
+77c7 474b4032 bpatchx patch32_6 ,mem_patch32 
+77c8 204077a9 call sha_r 
+77c9 d8a006e2 arg memahbak ,contw 
+77ca 18007000 force 0 ,regext_index 
+
+sha_0:
+77cb 1de27e00 deposit regext 
+77cc e7e80005 istore 4 ,contw 
+77cd 1f00f001 increase 1 ,regext_index 
+77ce 2f01fe08 compare 8 ,regext_index ,0xff 
+77cf 2420f7cb nbranch sha_0 ,true 
+77d0 2040736e call enable_authrom 
+77d1 d9608700 arg memk ,timeup 
+77d2 de0005e2 arg memdat ,alarm 
+77d3 18007240 force 64 ,loopcnt 
+
+sha_loop:
+77d4 e8480030 ifetcht 4 ,alarm 
+77d5 efe8000b ifetch 4 ,timeup 
+77d6 19609604 increase 4 ,timeup 
+77d7 1e00e004 increase 4 ,alarm 
+77d8 9840fe00 iadd temp ,pdata 
+77d9 18007007 force 7 ,regext_index 
+77da 9de08400 iadd regext ,temp 
+77db 18007004 force 4 ,regext_index 
+77dc 1dee7e03 shasx regext ,3 ,pdata 
+77dd 98408400 iadd temp ,temp 
+77de 18007005 force 5 ,regext_index 
+77df 1de27e00 deposit regext 
+77e0 18007006 force 6 ,regext_index 
+77e1 9de2fe00 ixor regext ,pdata 
+77e2 18007004 force 4 ,regext_index 
+77e3 9de17e00 iand regext ,pdata 
+77e4 18007006 force 6 ,regext_index 
+77e5 9de2fe00 ixor regext ,pdata 
+77e6 98408400 iadd temp ,temp 
+77e7 18007007 force 7 ,regext_index 
+77e8 18425e00 copy temp ,regext 
+77e9 18007003 force 3 ,regext_index 
+77ea 1de27e00 deposit regext 
+77eb 9840de00 iadd temp ,regext 
+77ec 18007000 force 0 ,regext_index 
+77ed 1de27e00 deposit regext 
+77ee 18007001 force 1 ,regext_index 
+77ef 9de10400 iand regext ,temp 
+77f0 9de1fe00 ior regext ,pdata 
+77f1 18007002 force 2 ,regext_index 
+77f2 9de17e00 iand regext ,pdata 
+77f3 98418400 ior temp ,temp 
+77f4 18007000 force 0 ,regext_index 
+77f5 1dee7e02 shasx regext ,2 ,pdata 
+77f6 9840fe00 iadd temp ,pdata 
+77f7 18007007 force 7 ,regext_index 
+77f8 9de0de00 iadd regext ,regext 
+77f9 980efc00 regexrot 
+77fa c20077d4 loop sha_loop 
+77fb d8c006e2 arg memahbak ,contr 
+77fc 18007000 force 0 ,regext_index 
+
+sha_1:
+77fd efe80006 ifetch 4 ,contr 
+77fe 9de0de00 iadd regext ,regext 
+77ff 1f00f001 increase 1 ,regext_index 
+7800 2f01fe08 compare 8 ,regext_index ,0xff 
+7801 2420f7fd nbranch sha_1 ,true 
+7802 20207372 branch disable_authrom 
+
+sha_result:
+7803 d8a00a3a arg memresult ,contw 
+7804 18007007 force 7 ,regext_index 
+
+sha_regext_save:
+7805 1de27e00 deposit regext 
+7806 e7e80005 istore 4 ,contw 
+7807 1f00f1ff increase -1 ,regext_index 
+7808 20217805 branch sha_regext_save ,positive 
+7809 20600000 rtn 
+
+pad_xor:
+780a d8a005e2 arg memdat ,contw 
+780b 18c08dfc increase -4 ,contr 
+780c 1f262210 sub loopcnt ,16 ,rega 
+
+pad_xor_0:
+780d efe80006 ifetch 4 ,contr 
+780e 9842fe00 ixor temp ,pdata 
+780f e7e80005 istore 4 ,contw 
+7810 18c08df8 increase -8 ,contr 
+7811 c200780d loop pad_xor_0 
+7812 1a227200 copy rega ,loopcnt 
+7813 18427e00 deposit temp 
+
+pad_xor_1:
+7814 e7e80005 istore 4 ,contw 
+7815 c2007814 loop pad_xor_1 
+7816 20600000 rtn 
+
+g_noninit_number_confirm:
+7817 2040781c call g_noninit0 
+7818 20407803 call sha_result 
+7819 20207842 branch g_common0 
+
+g_noninit:
+781a 2040781c call g_noninit0 
+781b 20207842 branch g_common0 
+
+g_noninit0:
+781c d8c009da arg mem_sp_pubkey_remote_x_end ,contr 
+781d d8a005e2 arg memdat ,contw 
+781e 18007206 force 6 ,loopcnt 
+781f 20407926 call memcpy_dword_swap 
+7820 d8c04614 arg mem_sp_pubkey_local_x_end ,contr 
+7821 18007206 force 6 ,loopcnt 
+7822 20407926 call memcpy_dword_swap 
+7823 d8c00a3a arg mem_sp_random_remote_end ,contr 
+7824 20407925 call memcpy_dword_swap4 
+7825 204077c0 call sha_init 
+7826 204077c7 call sha 
+7827 d8c00a2a arg mem_sp_random_local_end ,contr 
+7828 d8a005e2 arg memdat ,contw 
+7829 20207839 branch g_common 
+
+g_init:
+782a d8c04614 arg mem_sp_pubkey_local_x_end ,contr 
+782b d8a005e2 arg memdat ,contw 
+782c 18007206 force 6 ,loopcnt 
+782d 20407926 call memcpy_dword_swap 
+782e d8c009da arg mem_sp_pubkey_remote_x_end ,contr 
+782f 18007206 force 6 ,loopcnt 
+7830 20407926 call memcpy_dword_swap 
+7831 d8c00a2a arg mem_sp_random_local_end ,contr 
+7832 20407925 call memcpy_dword_swap4 
+7833 204077c0 call sha_init 
+7834 204077c7 call sha 
+7835 d8c00a3a arg mem_sp_random_remote_end ,contr 
+7836 d8a005e2 arg memdat ,contw 
+7837 20407839 call g_common 
+7838 20207842 branch g_common0 
+
+g_common:
+7839 20407925 call memcpy_dword_swap4 
+783a 58800000 setarg 0x800000 
+783b 1fed7e00 lshift8 pdata ,pdata 
+783c e7e80005 istore 4 ,contw 
+783d 18007205 force 5 ,loopcnt 
+783e 20407ca1 call memset0 
+783f 58000280 setarg 640 
+7840 e7e80005 istore 4 ,contw 
+7841 202077c7 branch sha 
+
+g_common0:
+7842 6fe80a3a fetch 4 ,memresult 
+7843 da2003e8 arg 1000 ,rega 
+7844 9a26fc00 idiv rega 
+7845 20407d61 call wait_div_end 
+7846 18077e00 remainder pdata 
+7847 67e809b6 store 4 ,mem_gkey 
+7848 1807fe00 quotient pdata 
+7849 da2003e8 arg 1000 ,rega 
+784a 9a26fc00 idiv rega 
+784b 20407d61 call wait_div_end 
+784c 18077e00 remainder pdata 
+784d da2003e8 arg 1000 ,rega 
+784e 9a2ffe00 imul32 rega ,pdata 
+784f 684809b6 fetcht 4 ,mem_gkey 
+7850 9840fe00 iadd temp ,pdata 
+7851 67e809b6 store 4 ,mem_gkey 
+7852 20600000 rtn 
+
+function_f1_no_key:
+7853 70463600 jam 0 ,mem_passkey_1bit 
+7854 20207857 branch function_f1_common 
+
+function_f1:
+7855 6fe24634 fetch 1 ,mem_ssp_mode_flag 
+7856 c0817853 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+
+function_f1_common:
+7857 474bc032 bpatchx patch32_7 ,mem_patch32 
+7858 58363636 setarg 0x363636 
+7859 1fed0400 lshift8 pdata ,temp 
+785a 18418436 or_into 0x36 ,temp 
+785b 6fe40a7a fetch 2 ,mem_sp_prarm_stack 
+785c 1fe20c00 copy pdata ,contr 
+785d 18007204 force 4 ,loopcnt 
+785e 2040780a call pad_xor 
+785f 204077c0 call sha_init 
+7860 204077c7 call sha 
+7861 6fe40a7c fetch 2 ,mem_sp_prarm_stack + 2 
+7862 1fe20c00 copy pdata ,contr 
+7863 d8a005e2 arg memdat ,contw 
+7864 18007206 force 6 ,loopcnt 
+7865 20407926 call memcpy_dword_swap 
+7866 6fe40a7e fetch 2 ,mem_sp_prarm_stack + 4 
+7867 1fe20c00 copy pdata ,contr 
+7868 18007206 force 6 ,loopcnt 
+7869 20407926 call memcpy_dword_swap 
+786a 58800000 setarg 0x800000 
+786b e7e60005 istore 3 ,contw 
+786c 6fe24636 fetch 1 ,mem_passkey_1bit 
+786d e7e20005 istore 1 ,contw 
+786e 18007e00 force 0 ,pdata 
+786f e7f00005 istore 8 ,contw 
+7870 58000388 setarg 0x0388 
+7871 e7e80005 istore 4 ,contw 
+7872 204077c7 call sha 
+7873 20407803 call sha_result 
+7874 d8c00a3a arg memresult ,contr 
+7875 d8a00702 arg memahsave ,contw 
+7876 20407c98 call memcpy32 
+7877 585c5c5c setarg 0x5c5c5c 
+7878 1fed0400 lshift8 pdata ,temp 
+7879 1841845c or_into 0x5c ,temp 
+787a 6fe40a7a fetch 2 ,mem_sp_prarm_stack 
+787b 1fe20c00 copy pdata ,contr 
+787c 18007204 force 4 ,loopcnt 
+787d 2040780a call pad_xor 
+787e 204077c0 call sha_init 
+787f 204077c7 call sha 
+7880 d8c00722 arg memahsave_end ,contr 
+7881 d8a005e2 arg memdat ,contw 
+7882 18007208 force 8 ,loopcnt 
+7883 20407926 call memcpy_dword_swap 
+7884 58800000 setarg 0x800000 
+7885 1fed7e00 lshift8 pdata ,pdata 
+7886 e7e80005 istore 4 ,contw 
+7887 20407ca0 call bn_zero 
+7888 58000300 setarg 0x0300 
+7889 e7e80005 istore 4 ,contw 
+788a 204077c7 call sha 
+788b 20207803 branch sha_result 
+
+function_f2:
+788c 58363636 setarg 0x363636 
+788d 1fed0400 lshift8 pdata ,temp 
+788e 18418436 or_into 0x36 ,temp 
+788f d8c00a1a arg mem_sp_dhkey_end ,contr 
+7890 18007206 force 6 ,loopcnt 
+7891 2040780a call pad_xor 
+7892 204077c0 call sha_init 
+7893 204077c7 call sha 
+7894 6fe40a86 fetch 2 ,mem_sp_prarm_stack + 12 
+7895 1fe20c00 copy pdata ,contr 
+7896 d8a005e2 arg memdat ,contw 
+7897 20407925 call memcpy_dword_swap4 
+7898 6fe40a88 fetch 2 ,mem_sp_prarm_stack + 14 
+7899 1fe20c00 copy pdata ,contr 
+789a 20407925 call memcpy_dword_swap4 
+789b 5862746c setarg 0x62746c 
+789c 1fed7e00 lshift8 pdata ,pdata 
+789d 1fe1fe6b or_into 0x6b ,pdata 
+789e e7e80005 istore 4 ,contw 
+789f d8c0072f arg mem_addr_value_end ,contr 
+78a0 18007203 force 3 ,loopcnt 
+78a1 20407926 call memcpy_dword_swap 
+78a2 58800000 setarg 0x800000 
+78a3 1fed7e00 lshift8 pdata ,pdata 
+78a4 e7e80005 istore 4 ,contw 
+78a5 18007e00 force 0 ,pdata 
+78a6 e7f00005 istore 8 ,contw 
+78a7 58000380 setarg 0x0380 
+78a8 e7e80005 istore 4 ,contw 
+78a9 204077c7 call sha 
+78aa 20407803 call sha_result 
+78ab d8c00a3a arg memresult ,contr 
+78ac d8a00702 arg memahsave ,contw 
+78ad 20407c98 call memcpy32 
+78ae 585c5c5c setarg 0x5c5c5c 
+78af 1fed0400 lshift8 pdata ,temp 
+78b0 1841845c or_into 0x5c ,temp 
+78b1 d8c00a1a arg mem_sp_dhkey_end ,contr 
+78b2 18007206 force 6 ,loopcnt 
+78b3 2040780a call pad_xor 
+78b4 204077c0 call sha_init 
+78b5 204077c7 call sha 
+78b6 d8c00722 arg memahsave_end ,contr 
+78b7 d8a005e2 arg memdat ,contw 
+78b8 18007208 force 8 ,loopcnt 
+78b9 20407926 call memcpy_dword_swap 
+78ba 58800000 setarg 0x800000 
+78bb 1fed7e00 lshift8 pdata ,pdata 
+78bc e7e80005 istore 4 ,contw 
+78bd 20407ca0 call bn_zero 
+78be 58000300 setarg 0x0300 
+78bf e7e80005 istore 4 ,contw 
+78c0 204077c7 call sha 
+78c1 20207803 branch sha_result 
+
+function_f3a:
+78c2 6fe24634 fetch 1 ,mem_ssp_mode_flag 
+78c3 c08178d3 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+
+function_f3a_common:
+78c4 474c4033 bpatchx patch33_0 ,mem_patch33 
+78c5 58363636 setarg 0x363636 
+78c6 1fed0400 lshift8 pdata ,temp 
+78c7 18418436 or_into 0x36 ,temp 
+78c8 d8c00a1a arg mem_sp_dhkey_end ,contr 
+78c9 18007206 force 6 ,loopcnt 
+78ca 2040780a call pad_xor 
+78cb 204077c0 call sha_init 
+78cc 204077c7 call sha 
+78cd d8c00a3a arg mem_sp_random_remote_end ,contr 
+78ce d8a005e2 arg memdat ,contw 
+78cf 20407925 call memcpy_dword_swap4 
+78d0 d8c00a2a arg mem_sp_random_local_end ,contr 
+78d1 20407925 call memcpy_dword_swap4 
+78d2 202078e8 branch function_f3_common 
+
+function_f3a_no_pin:
+78d3 58000000 setarg 0 
+78d4 67e84658 store 4 ,mem_pin 
+78d5 202078c4 branch function_f3a_common 
+
+function_f3b_no_pin:
+78d6 58000000 setarg 0 
+78d7 67e84658 store 4 ,mem_pin 
+78d8 202078db branch function_f3b_common 
+
+function_f3b:
+78d9 6fe24634 fetch 1 ,mem_ssp_mode_flag 
+78da c08178d6 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+
+function_f3b_common:
+78db 58363636 setarg 0x363636 
+78dc 1fed0400 lshift8 pdata ,temp 
+78dd 18418436 or_into 0x36 ,temp 
+78de d8c00a1a arg mem_sp_dhkey_end ,contr 
+78df 18007206 force 6 ,loopcnt 
+78e0 2040780a call pad_xor 
+78e1 204077c0 call sha_init 
+78e2 204077c7 call sha 
+78e3 d8c00a2a arg mem_sp_random_local_end ,contr 
+78e4 d8a005e2 arg memdat ,contw 
+78e5 20407925 call memcpy_dword_swap4 
+78e6 d8c00a3a arg mem_sp_random_remote_end ,contr 
+78e7 20407925 call memcpy_dword_swap4 
+
+function_f3_common:
+78e8 58000000 setarg 0x0 
+78e9 e7f00005 istore 8 ,contw 
+78ea e7e80005 istore 4 ,contw 
+78eb 6fe84658 fetch 4 ,mem_pin 
+78ec e7e80005 istore 4 ,contw 
+78ed 18a20400 copy contw ,temp 
+78ee 70072280 jam 0x80 ,mem_addr_padding 
+78ef 18420a00 copy temp ,contw 
+78f0 d8c00732 arg mem_addr_iocap_end ,contr 
+78f1 20407925 call memcpy_dword_swap4 
+78f2 204077c7 call sha 
+78f3 d8a005e2 arg memdat ,contw 
+78f4 18007207 force 7 ,loopcnt 
+78f5 20407ca1 call memset0 
+78f6 e7e80005 istore 4 ,contw 
+78f7 580003f8 setarg 0x03F8 
+78f8 e7e80005 istore 4 ,contw 
+78f9 204077c7 call sha 
+78fa 20407803 call sha_result 
+78fb d8c00a3a arg memresult ,contr 
+78fc d8a00702 arg memahsave ,contw 
+78fd 20407c98 call memcpy32 
+78fe 585c5c5c setarg 0x5c5c5c 
+78ff 1fed0400 lshift8 pdata ,temp 
+7900 1841845c or_into 0x5c ,temp 
+7901 d8c00a1a arg mem_sp_dhkey_end ,contr 
+7902 18007206 force 6 ,loopcnt 
+7903 2040780a call pad_xor 
+7904 204077c0 call sha_init 
+7905 204077c7 call sha 
+7906 d8c00722 arg memahsave_end ,contr 
+7907 d8a005e2 arg memdat ,contw 
+7908 18007208 force 8 ,loopcnt 
+7909 20407926 call memcpy_dword_swap 
+790a 58800000 setarg 0x800000 
+790b 1fed7e00 lshift8 pdata ,pdata 
+790c e7e80005 istore 4 ,contw 
+790d 20407ca0 call bn_zero 
+790e 58000300 setarg 0x0300 
+790f e7e80005 istore 4 ,contw 
+7910 204077c7 call sha 
+7911 20207803 branch sha_result 
+
+eckp_calc_init:
+7912 7005dfc0 jam 192 ,mem_ec_loopc 
+
+eckp_calc_init_1:
+7913 6fe205df fetch 1 ,mem_ec_loopc 
+7914 207a0000 rtn blank 
+7915 1fe0ffff increase -1 ,pdata 
+7916 67e205df store 1 ,mem_ec_loopc 
+7917 d8c006ba arg mem_k ,contr 
+7918 204075a1 call bn_testbit 
+7919 2020f913 branch eckp_calc_init_1 ,true 
+791a d8c005e2 arg mem_ax ,contr 
+791b d8a00672 arg mem_cx ,contw 
+791c 202075a7 branch ec_copy 
+
+eckp_calc:
+791d 204076b8 call ecdbl 
+791e 6fe205df fetch 1 ,mem_ec_loopc 
+791f 1fe0ffff increase -1 ,pdata 
+7920 67e205df store 1 ,mem_ec_loopc 
+7921 d8c006ba arg mem_k ,contr 
+7922 204075a1 call bn_testbit 
+7923 20608000 rtn true 
+7924 20207709 branch ecadd 
+
+memcpy_dword_swap4:
+7925 18007204 force 4 ,loopcnt 
+
+memcpy_dword_swap:
+7926 18c08dfc increase -4 ,contr 
+
+memcpy_dword_swap_loop:
+7927 efe80006 ifetch 4 ,contr 
+7928 e7e80005 istore 4 ,contw 
+7929 18c08df8 increase -8 ,contr 
+792a c2007927 loop memcpy_dword_swap_loop 
+792b 20600000 rtn 
+
+sp_initialize_256:
+792c 474cc033 bpatchx patch33_1 ,mem_patch33 
+792d 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+792e 203a5ed0 branch le_secure_connection_disable ,blank 
+792f 20405ecc call le_secure_connection_enable 
+7930 20407438 call sp_clear_flags 
+7931 20207932 branch sp_pubkey_calc_256 
+
+sp_pubkey_calc_256:
+7932 6fe24495 fetch 1 ,mem_le_sc_local_key_invalid 
+7933 c1800000 rtnne sp_key_invalid 
+7934 6fe24492 fetch 1 ,mem_le_sc_calc 
+7935 c1800000 rtnne sp_calc_standby 
+7936 d8a04584 arg mem_le_private_key_256 ,contw 
+7937 18000e0f force 15 ,queue 
+7938 20407557 call random_generator 
+7939 180a7e00 random pdata 
+793a 1fe37e00 rshift pdata ,pdata 
+793b e7e40005 istore 2 ,contw 
+793c d8a00762 arg mem_k_256 ,contw 
+793d d8c04584 arg mem_le_private_key_256 ,contr 
+793e 20407c98 call memcpy32 
+793f d8a00642 arg mem_ax_256 ,contw 
+7940 d8c0095a arg mem_gx_256 ,contr 
+7941 20407c8e call memcpy64 
+7942 d8a00682 arg mem_az_256 ,contw 
+7943 20407cab call clear_mem_256 
+7944 70068201 jam 1 ,mem_az_256 
+7945 2040797c call eckp_calc_init_256 
+7946 70449203 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+7947 20600000 rtn 
+
+sp_pubkey_generated_256:
+7948 d8a045a4 arg mem_le_pubkey_local_x_256 ,contw 
+7949 d8c006a2 arg mem_bx_256 ,contr 
+794a 20407c8e call memcpy64 
+794b 70449503 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+794c 70449200 jam sp_calc_standby ,mem_le_sc_calc 
+794d 20600000 rtn 
+
+sp_dhkey_calc_256:
+794e 6fe209b5 fetch 1 ,mem_sp_dhkey_invalid 
+794f c1800000 rtnne sp_key_invalid 
+7950 6fe24492 fetch 1 ,mem_le_sc_calc 
+7951 c1800000 rtnne sp_calc_standby 
+7952 d8a00762 arg mem_k_256 ,contw 
+7953 d8c04584 arg mem_le_private_key_256 ,contr 
+7954 20407c98 call memcpy32 
+7955 d8a00642 arg mem_ax_256 ,contw 
+7956 d8c009ba arg mem_le_pubkey_remote_x_256 ,contr 
+7957 20407c8e call memcpy64 
+7958 d8a00682 arg mem_az_256 ,contw 
+7959 20407cab call clear_mem_256 
+795a 70068201 jam 1 ,mem_az_256 
+795b 2040797c call eckp_calc_init_256 
+795c 70449204 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+795d 20600000 rtn 
+
+sp_dhkey_generated_256:
+795e d8a009fa arg mem_le_dhkey_256 ,contw 
+795f d8c006a2 arg mem_bx_256 ,contr 
+7960 20407c98 call memcpy32 
+7961 7009b503 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+7962 70449200 jam sp_calc_standby ,mem_le_sc_calc 
+7963 20600000 rtn 
+
+sp_calc_sequence_256:
+7964 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+7965 207a0000 rtn blank 
+7966 6fe24492 fetch 1 ,mem_le_sc_calc 
+7967 207a0000 rtn blank 
+7968 1fe0fe80 increase 0x80 ,pdata 
+7969 67e24492 store 1 ,mem_le_sc_calc 
+796a c3838000 rtnbit1 7 
+796b 6fe405df fetch 2 ,mem_ec_loopc 
+796c 203a796e branch sp_calc_sequence_done_256 ,blank 
+796d 20207974 branch eckp_calc_256 
+
+sp_calc_sequence_done_256:
+796e 474d4033 bpatchx patch33_2 ,mem_patch33 
+796f 20407989 call ecunmapz_256 
+7970 6fe24492 fetch 1 ,mem_le_sc_calc 
+7971 c001f948 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+7972 c002795e beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+7973 20600000 rtn 
+
+eckp_calc_256:
+7974 2040799b call ecdbl_256 
+7975 6fe405df fetch 2 ,mem_ec_loopc 
+7976 1fe0ffff increase -1 ,pdata 
+7977 67e405df store 2 ,mem_ec_loopc 
+7978 d8c00762 arg mem_k_256 ,contr 
+7979 204075a1 call bn_testbit 
+797a 20608000 rtn true 
+797b 202079ec branch ecadd_256 
+
+eckp_calc_init_256:
+797c 474dc033 bpatchx patch33_3 ,mem_patch33 
+797d 58000100 setarg 256 ,pdata 
+797e 67e405df store 2 ,mem_ec_loopc 
+
+eckp_calc_init_256_1:
+797f 6fe405df fetch 2 ,mem_ec_loopc 
+7980 207a0000 rtn blank 
+7981 1fe0ffff increase -1 ,pdata 
+7982 67e405df store 2 ,mem_ec_loopc 
+7983 d8c00762 arg mem_k_256 ,contr 
+7984 204075a1 call bn_testbit 
+7985 2020f97f branch eckp_calc_init_256_1 ,true 
+7986 d8c00642 arg mem_ax_256 ,contr 
+7987 d8a00702 arg mem_cx_256 ,contw 
+7988 20207c8d branch memcpy96 
+
+ecunmapz_256:
+7989 da200742 arg mem_cz_256 ,rega 
+798a d8a00842 arg mem_t3_256 ,contw 
+798b 20407a58 call bn_invmod_256 
+798c da200842 arg mem_t3_256 ,rega 
+798d d8a007e2 arg mem_t1_256 ,contw 
+798e 20407b2e call bn_sqrmod_256 
+798f da200702 arg mem_cx_256 ,rega 
+7990 da4007e2 arg mem_t1_256 ,regb 
+7991 d8a006a2 arg mem_bx_256 ,contw 
+7992 20407a96 call bn_mulmod_256 
+7993 da200842 arg mem_t3_256 ,rega 
+7994 da4007e2 arg mem_t1_256 ,regb 
+7995 d8a00822 arg mem_t2_256 ,contw 
+7996 20407a96 call bn_mulmod_256 
+7997 da200722 arg mem_cy_256 ,rega 
+7998 da400822 arg mem_t2_256 ,regb 
+7999 d8a006c2 arg mem_by_256 ,contw 
+799a 20207a96 branch bn_mulmod_256 
+
+ecdbl_256:
+799b da200742 arg mem_cz_256 ,rega 
+799c d8a00822 arg mem_t2_256 ,contw 
+799d 20407b2e call bn_sqrmod_256 
+799e da200822 arg mem_t2_256 ,rega 
+799f d8a00842 arg mem_t3_256 ,contw 
+79a0 20407b2e call bn_sqrmod_256 
+79a1 da20093a arg mem_a_256 ,rega 
+79a2 da400842 arg mem_t3_256 ,regb 
+79a3 d8a00842 arg mem_t3_256 ,contw 
+79a4 20407a96 call bn_mulmod_256 
+79a5 da200702 arg mem_cx_256 ,rega 
+79a6 d8a00822 arg mem_t2_256 ,contw 
+79a7 20407b2e call bn_sqrmod_256 
+79a8 d8c00822 arg mem_t2_256 ,contr 
+79a9 d8a007e2 arg mem_t1_256 ,contw 
+79aa 20407c98 call memcpy32 
+79ab da2007e2 arg mem_t1_256 ,rega 
+79ac 20407b35 call bn_lshiftmod_256 
+79ad da200822 arg mem_t2_256 ,rega 
+79ae da4007e2 arg mem_t1_256 ,regb 
+79af d8a00822 arg mem_t2_256 ,contw 
+79b0 20407b32 call bn_addmod_256 
+79b1 da200822 arg mem_t2_256 ,rega 
+79b2 da400842 arg mem_t3_256 ,regb 
+79b3 d8a00822 arg mem_t2_256 ,contw 
+79b4 20407b32 call bn_addmod_256 
+79b5 d8c00702 arg mem_cx_256 ,contr 
+79b6 d8a007e2 arg mem_t1_256 ,contw 
+79b7 20407c98 call memcpy32 
+79b8 da200722 arg mem_cy_256 ,rega 
+79b9 d8a00842 arg mem_t3_256 ,contw 
+79ba 20407b2e call bn_sqrmod_256 
+79bb da2007e2 arg mem_t1_256 ,rega 
+79bc 20407b35 call bn_lshiftmod_256 
+79bd da2007e2 arg mem_t1_256 ,rega 
+79be 20407b35 call bn_lshiftmod_256 
+79bf da2007e2 arg mem_t1_256 ,rega 
+79c0 da400842 arg mem_t3_256 ,regb 
+79c1 d8a007e2 arg mem_t1_256 ,contw 
+79c2 20407a96 call bn_mulmod_256 
+79c3 da200842 arg mem_t3_256 ,rega 
+79c4 d8a00802 arg mem_t0_256 ,contw 
+79c5 20407b2e call bn_sqrmod_256 
+79c6 da200802 arg mem_t0_256 ,rega 
+79c7 20407b35 call bn_lshiftmod_256 
+79c8 da200802 arg mem_t0_256 ,rega 
+79c9 20407b35 call bn_lshiftmod_256 
+79ca da200802 arg mem_t0_256 ,rega 
+79cb 20407b35 call bn_lshiftmod_256 
+79cc d8c00722 arg mem_cy_256 ,contr 
+79cd d8a00842 arg mem_t3_256 ,contw 
+79ce 20407c98 call memcpy32 
+79cf da200842 arg mem_t3_256 ,rega 
+79d0 20407b35 call bn_lshiftmod_256 
+79d1 da200842 arg mem_t3_256 ,rega 
+79d2 da400742 arg mem_cz_256 ,regb 
+79d3 d8a00742 arg mem_cz_256 ,contw 
+79d4 20407a96 call bn_mulmod_256 
+79d5 da200822 arg mem_t2_256 ,rega 
+79d6 d8a00842 arg mem_t3_256 ,contw 
+79d7 20407b2e call bn_sqrmod_256 
+79d8 da200842 arg mem_t3_256 ,rega 
+79d9 da4007e2 arg mem_t1_256 ,regb 
+79da d8a00842 arg mem_t3_256 ,contw 
+79db 20407b4b call bn_submod_256 
+79dc da200842 arg mem_t3_256 ,rega 
+79dd da4007e2 arg mem_t1_256 ,regb 
+79de d8a00702 arg mem_cx_256 ,contw 
+79df 20407b4b call bn_submod_256 
+79e0 da2007e2 arg mem_t1_256 ,rega 
+79e1 da400702 arg mem_cx_256 ,regb 
+79e2 d8a00842 arg mem_t3_256 ,contw 
+79e3 20407b4b call bn_submod_256 
+79e4 da200842 arg mem_t3_256 ,rega 
+79e5 da400822 arg mem_t2_256 ,regb 
+79e6 d8a00842 arg mem_t3_256 ,contw 
+79e7 20407a96 call bn_mulmod_256 
+79e8 da200842 arg mem_t3_256 ,rega 
+79e9 da400802 arg mem_t0_256 ,regb 
+79ea d8a00722 arg mem_cy_256 ,contw 
+79eb 20207b4b branch bn_submod_256 
+
+ecadd_256:
+79ec da200682 arg mem_az_256 ,rega 
+79ed d8a00862 arg mem_t7_256 ,contw 
+79ee 20407b2e call bn_sqrmod_256 
+79ef da200702 arg mem_cx_256 ,rega 
+79f0 da400862 arg mem_t7_256 ,regb 
+79f1 d8a00802 arg mem_t0_256 ,contw 
+79f2 20407a96 call bn_mulmod_256 
+79f3 da200682 arg mem_az_256 ,rega 
+79f4 da400862 arg mem_t7_256 ,regb 
+79f5 d8a00862 arg mem_t7_256 ,contw 
+79f6 20407a96 call bn_mulmod_256 
+79f7 da200722 arg mem_cy_256 ,rega 
+79f8 da400862 arg mem_t7_256 ,regb 
+79f9 d8a007e2 arg mem_t1_256 ,contw 
+79fa 20407a96 call bn_mulmod_256 
+79fb da200742 arg mem_cz_256 ,rega 
+79fc d8a00862 arg mem_t7_256 ,contw 
+79fd 20407b2e call bn_sqrmod_256 
+79fe da200642 arg mem_ax_256 ,rega 
+79ff da400862 arg mem_t7_256 ,regb 
+7a00 d8a00822 arg mem_t2_256 ,contw 
+7a01 20407a96 call bn_mulmod_256 
+7a02 da200742 arg mem_cz_256 ,rega 
+7a03 da400862 arg mem_t7_256 ,regb 
+7a04 d8a00862 arg mem_t7_256 ,contw 
+7a05 20407a96 call bn_mulmod_256 
+7a06 da200662 arg mem_ay_256 ,rega 
+7a07 da400862 arg mem_t7_256 ,regb 
+7a08 d8a00842 arg mem_t3_256 ,contw 
+7a09 20407a96 call bn_mulmod_256 
+7a0a da400802 arg mem_t0_256 ,regb 
+7a0b da200822 arg mem_t2_256 ,rega 
+7a0c d8a00862 arg mem_t7_256 ,contw 
+7a0d 20407b4b call bn_submod_256 
+7a0e da200802 arg mem_t0_256 ,rega 
+7a0f da400822 arg mem_t2_256 ,regb 
+7a10 d8a00802 arg mem_t0_256 ,contw 
+7a11 20407b32 call bn_addmod_256 
+7a12 da4007e2 arg mem_t1_256 ,regb 
+7a13 da200842 arg mem_t3_256 ,rega 
+7a14 d8a00822 arg mem_t2_256 ,contw 
+7a15 20407b4b call bn_submod_256 
+7a16 da2007e2 arg mem_t1_256 ,rega 
+7a17 da400842 arg mem_t3_256 ,regb 
+7a18 d8a007e2 arg mem_t1_256 ,contw 
+7a19 20407b32 call bn_addmod_256 
+7a1a da2007e2 arg mem_t1_256 ,rega 
+7a1b da400862 arg mem_t7_256 ,regb 
+7a1c d8a007e2 arg mem_t1_256 ,contw 
+7a1d 20407a96 call bn_mulmod_256 
+7a1e da200742 arg mem_cz_256 ,rega 
+7a1f da400682 arg mem_az_256 ,regb 
+7a20 d8a00842 arg mem_t3_256 ,contw 
+7a21 20407a96 call bn_mulmod_256 
+7a22 da200842 arg mem_t3_256 ,rega 
+7a23 da400862 arg mem_t7_256 ,regb 
+7a24 d8a00742 arg mem_cz_256 ,contw 
+7a25 20407a96 call bn_mulmod_256 
+7a26 da200862 arg mem_t7_256 ,rega 
+7a27 d8a00862 arg mem_t7_256 ,contw 
+7a28 20407b2e call bn_sqrmod_256 
+7a29 da200862 arg mem_t7_256 ,rega 
+7a2a da400802 arg mem_t0_256 ,regb 
+7a2b d8a00842 arg mem_t3_256 ,contw 
+7a2c 20407a96 call bn_mulmod_256 
+7a2d da200862 arg mem_t7_256 ,rega 
+7a2e da4007e2 arg mem_t1_256 ,regb 
+7a2f d8a007e2 arg mem_t1_256 ,contw 
+7a30 20407a96 call bn_mulmod_256 
+7a31 da200822 arg mem_t2_256 ,rega 
+7a32 d8a00702 arg mem_cx_256 ,contw 
+7a33 20407b2e call bn_sqrmod_256 
+7a34 da200702 arg mem_cx_256 ,rega 
+7a35 da400842 arg mem_t3_256 ,regb 
+7a36 d8a00702 arg mem_cx_256 ,contw 
+7a37 20407b4b call bn_submod_256 
+7a38 d8c00702 arg mem_cx_256 ,contr 
+7a39 d8a00862 arg mem_t7_256 ,contw 
+7a3a 20407c98 call memcpy32 
+7a3b da200862 arg mem_t7_256 ,rega 
+7a3c 20407b35 call bn_lshiftmod_256 
+7a3d da200842 arg mem_t3_256 ,rega 
+7a3e da400862 arg mem_t7_256 ,regb 
+7a3f d8a00842 arg mem_t3_256 ,contw 
+7a40 20407b4b call bn_submod_256 
+7a41 da200842 arg mem_t3_256 ,rega 
+7a42 da400822 arg mem_t2_256 ,regb 
+7a43 d8a00822 arg mem_t2_256 ,contw 
+7a44 20407a96 call bn_mulmod_256 
+7a45 da200822 arg mem_t2_256 ,rega 
+7a46 da4007e2 arg mem_t1_256 ,regb 
+7a47 d8a00722 arg mem_cy_256 ,contw 
+7a48 20407b4b call bn_submod_256 
+7a49 da200722 arg mem_cy_256 ,rega 
+7a4a da40091a arg mem_p_256 ,regb 
+7a4b d8a00722 arg mem_cy_256 ,contw 
+7a4c 18002600 force 0 ,regc 
+7a4d 6fe20722 fetch 1 ,mem_cy_256 
+7a4e 2feffe00 isolate1 0 ,pdata 
+7a4f 2040fb30 call bn_add_256 ,true 
+7a50 1a626000 copy regc ,alarm 
+7a51 da200722 arg mem_cy_256 ,rega 
+7a52 20407b60 call bn_rshift_256 
+7a53 6fe20741 fetch 1 ,mem_cy5_256 
+7a54 2e0ffe00 isolate1 0 ,alarm 
+7a55 7920fe07 setflag true ,7 ,pdata 
+7a56 67e20741 store 1 ,mem_cy5_256 
+7a57 20600000 rtn 
+
+bn_invmod_256:
+7a58 18a21600 copy contw ,timeup 
+7a59 d8a00802 arg mem_tmp0_256 ,contw 
+7a5a 20407cab call clear_mem_256 
+7a5b 18007e00 force 0 ,pdata 
+7a5c 67e80822 store 4 ,mem_t2_256 
+7a5d 70080201 jam 1 ,mem_tmp0_256 
+7a5e d8a00782 arg mem_tmp1_256 ,contw 
+7a5f 20407cad call clear_mem_512 
+7a60 d8c0091a arg mem_p_256 ,contr 
+7a61 d8a007c2 arg mem_tmp2_256 ,contw 
+7a62 20407c98 call memcpy32 
+7a63 1a220c00 copy rega ,contr 
+7a64 d8a007e2 arg mem_tmp3_256 ,contw 
+7a65 20407c98 call memcpy32 
+
+bn_invmod_256_2:
+7a66 d8c007e2 arg mem_tmp3_256 ,contr 
+7a67 20407b6a call bn_eq_zero_256 
+7a68 203a7a8f branch bn_invmod_256_0 ,blank 
+7a69 da2007e2 arg mem_tmp3_256 ,rega 
+7a6a da400802 arg mem_tmp0_256 ,regb 
+7a6b 20407b6d call bn_rshifteven_256 
+7a6c da2007c2 arg mem_tmp2_256 ,rega 
+7a6d da400782 arg mem_tmp1_256 ,regb 
+7a6e 20407b6d call bn_rshifteven_256 
+7a6f da2007e2 arg mem_tmp3_256 ,rega 
+7a70 da4007c2 arg mem_tmp2_256 ,regb 
+7a71 20407b66 call bn_bigeq_256 
+7a72 20217a81 branch bn_invmod_256_1 ,positive 
+7a73 da2007c2 arg mem_tmp2_256 ,rega 
+7a74 da4007e2 arg mem_tmp3_256 ,regb 
+7a75 1a220a00 copy rega ,contw 
+7a76 20407b5e call bn_sub_256 
+7a77 da200802 arg mem_tmp0_256 ,rega 
+7a78 da400782 arg mem_tmp1_256 ,regb 
+7a79 1a420a00 copy regb ,contw 
+7a7a 20407b30 call bn_add_256 
+7a7b efe20011 ifetch 1 ,rega 
+7a7c 9a60a600 iadd regc ,regc 
+7a7d efe20012 ifetch 1 ,regb 
+7a7e 9a60fe00 iadd regc ,pdata 
+7a7f e7e20012 istore 1 ,regb 
+7a80 20207a66 branch bn_invmod_256_2 
+
+bn_invmod_256_1:
+7a81 da2007e2 arg mem_tmp3_256 ,rega 
+7a82 da4007c2 arg mem_tmp2_256 ,regb 
+7a83 1a220a00 copy rega ,contw 
+7a84 20407b5e call bn_sub_256 
+7a85 da200782 arg mem_tmp1_256 ,rega 
+7a86 da400802 arg mem_tmp0_256 ,regb 
+7a87 1a420a00 copy regb ,contw 
+7a88 20407b30 call bn_add_256 
+7a89 efe20011 ifetch 1 ,rega 
+7a8a 9a60a600 iadd regc ,regc 
+7a8b efe20012 ifetch 1 ,regb 
+7a8c 9a60fe00 iadd regc ,pdata 
+7a8d e7e20012 istore 1 ,regb 
+7a8e 20207a66 branch bn_invmod_256_2 
+
+bn_invmod_256_0:
+7a8f da200782 arg mem_tmp1_256 ,rega 
+7a90 19620a00 copy timeup ,contw 
+7a91 20407abf call bn_p256mod 
+7a92 da20091a arg mem_p_256 ,rega 
+7a93 19622400 copy timeup ,regb 
+7a94 19620a00 copy timeup ,contw 
+7a95 20207b4b branch bn_submod_256 
+
+bn_mulmod_256:
+7a96 18a21600 copy contw ,timeup 
+7a97 18007000 force 0 ,regext_index 
+7a98 d8a00782 arg mem_tmp1_256 ,contw 
+7a99 20407cad call clear_mem_512 
+7a9a d8a00ace arg mem_regext ,contw 
+7a9b 20407cad call clear_mem_512 
+7a9c 1a220c00 copy rega ,contr 
+7a9d 700ace00 jam 0 ,mem_regext 
+7a9e 58000000 setarg 0 
+7a9f 20407b28 call bn_load_mem 
+7aa0 1a420c00 copy regb ,contr 
+7aa1 20407b2c call bn_load_256 
+7aa2 18000e00 force 0 ,queue 
+7aa3 d8a00782 arg mem_tmp1_256 ,contw 
+
+bn_mulmod_256_1:
+7aa4 d8400ace arg mem_regext ,temp 
+7aa5 18e22400 copy queue ,regb 
+7aa6 1a4bfe00 lshift2 regb ,pdata 
+7aa7 9840a400 iadd temp ,regb 
+7aa8 18000400 force 0 ,temp 
+7aa9 18002600 force 0 ,regc 
+
+bn_mulmod_256_0:
+7aaa efe80005 ifetch 4 ,contw 
+7aab 98002200 iforce rega 
+7aac efe80012 ifetch 4 ,regb 
+7aad 1a627000 copy regc ,regext_index 
+7aae 9deffe00 imul32 regext ,pdata 
+7aaf 9a20fe00 iadd rega ,pdata 
+7ab0 9840fe00 iadd temp ,pdata 
+7ab1 e7e80005 istore 4 ,contw 
+7ab2 1fef0400 rshift32 pdata ,temp 
+7ab3 1a60a601 increase 1 ,regc 
+7ab4 2a61fe08 compare 8 ,regc ,0xff 
+7ab5 2420faaa nbranch bn_mulmod_256_0 ,true 
+7ab6 18427e00 deposit temp 
+7ab7 e7e80005 istore 4 ,contw 
+7ab8 18a08be0 increase -32 ,contw 
+7ab9 18e08e01 increase 1 ,queue 
+7aba 28e1fe08 compare 8 ,queue ,0xff 
+7abb 2420faa4 nbranch bn_mulmod_256_1 ,true 
+7abc da200782 arg mem_tmp1_256 ,rega 
+7abd 19620a00 copy timeup ,contw 
+7abe 20207abf branch bn_p256mod 
+
+bn_p256mod:
+7abf 474e4033 bpatchx patch33_4 ,mem_patch33 
+7ac0 18a21600 copy contw ,timeup 
+7ac1 1a226000 copy rega ,alarm 
+7ac2 da4007c2 arg mem_tmp2_256 ,regb 
+7ac3 1a420a00 copy regb ,contw 
+7ac4 20407ca8 call memset0_4 
+7ac5 e7f00005 istore 8 ,contw 
+7ac6 1a208c2c add rega ,44 ,contr 
+7ac7 20407c94 call memcpy8 
+7ac8 20407c90 call memcpy12 
+7ac9 1a422200 copy regb ,rega 
+7aca 20407b35 call bn_lshiftmod_256 
+7acb da4007c2 arg mem_tmp2_256 ,regb 
+7acc 1e022200 copy alarm ,rega 
+7acd 19620a00 copy timeup ,contw 
+7ace 20407b32 call bn_addmod_256 
+7acf da4007c2 arg mem_tmp2_256 ,regb 
+7ad0 1a420a00 copy regb ,contw 
+7ad1 20407ca8 call memset0_4 
+7ad2 e7f00005 istore 8 ,contw 
+7ad3 1e008c30 add alarm ,48 ,contr 
+7ad4 20407c9a call memcpy16 
+7ad5 20407ca8 call memset0_4 
+7ad6 1a422200 copy regb ,rega 
+7ad7 20407b35 call bn_lshiftmod_256 
+7ad8 da4007c2 arg mem_tmp2_256 ,regb 
+7ad9 19622200 copy timeup ,rega 
+7ada 1a220a00 copy rega ,contw 
+7adb 20407b32 call bn_addmod_256 
+7adc da4007c2 arg mem_tmp2_256 ,regb 
+7add 1a420a00 copy regb ,contw 
+7ade 1e008c20 add alarm ,32 ,contr 
+7adf 20407c90 call memcpy12 
+7ae0 20407ca8 call memset0_4 
+7ae1 e7f00005 istore 8 ,contw 
+7ae2 1e008c38 add alarm ,56 ,contr 
+7ae3 20407c94 call memcpy8 
+7ae4 19622200 copy timeup ,rega 
+7ae5 1a220a00 copy rega ,contw 
+7ae6 20407b32 call bn_addmod_256 
+7ae7 da4007c2 arg mem_tmp2_256 ,regb 
+7ae8 1a420a00 copy regb ,contw 
+7ae9 1e008c24 add alarm ,36 ,contr 
+7aea 20407c90 call memcpy12 
+7aeb 1e008c34 add alarm ,52 ,contr 
+7aec 20407c90 call memcpy12 
+7aed 1e008c34 add alarm ,52 ,contr 
+7aee 20407c91 call memcpy4 
+7aef 1e008c20 add alarm ,32 ,contr 
+7af0 20407c91 call memcpy4 
+7af1 19622200 copy timeup ,rega 
+7af2 1a220a00 copy rega ,contw 
+7af3 20407b32 call bn_addmod_256 
+7af4 da4007c2 arg mem_tmp2_256 ,regb 
+7af5 1a420a00 copy regb ,contw 
+7af6 1e008c2c add alarm ,44 ,contr 
+7af7 20407c90 call memcpy12 
+7af8 20407ca8 call memset0_4 
+7af9 e7f00005 istore 8 ,contw 
+7afa 1e008c20 add alarm ,32 ,contr 
+7afb 20407c91 call memcpy4 
+7afc 1e008c28 add alarm ,40 ,contr 
+7afd 20407c91 call memcpy4 
+7afe 19622200 copy timeup ,rega 
+7aff 1a220a00 copy rega ,contw 
+7b00 20407b4b call bn_submod_256 
+7b01 da4007c2 arg mem_tmp2_256 ,regb 
+7b02 1a420a00 copy regb ,contw 
+7b03 1e008c30 add alarm ,48 ,contr 
+7b04 20407c94 call memcpy8 
+7b05 20407c94 call memcpy8 
+7b06 18007e00 force 0 ,pdata 
+7b07 e7f00005 istore 8 ,contw 
+7b08 1e008c24 add alarm ,36 ,contr 
+7b09 20407c91 call memcpy4 
+7b0a 1e008c2c add alarm ,44 ,contr 
+7b0b 20407c91 call memcpy4 
+7b0c 19622200 copy timeup ,rega 
+7b0d 1a220a00 copy rega ,contw 
+7b0e 20407b4b call bn_submod_256 
+7b0f da4007c2 arg mem_tmp2_256 ,regb 
+7b10 1a420a00 copy regb ,contw 
+7b11 1e008c34 add alarm ,52 ,contr 
+7b12 20407c90 call memcpy12 
+7b13 1e008c20 add alarm ,32 ,contr 
+7b14 20407c90 call memcpy12 
+7b15 20407ca8 call memset0_4 
+7b16 1e008c30 add alarm ,48 ,contr 
+7b17 20407c91 call memcpy4 
+7b18 19622200 copy timeup ,rega 
+7b19 1a220a00 copy rega ,contw 
+7b1a 20407b4b call bn_submod_256 
+7b1b da4007c2 arg mem_tmp2_256 ,regb 
+7b1c 1a420a00 copy regb ,contw 
+7b1d 1e008c38 add alarm ,56 ,contr 
+7b1e 20407c94 call memcpy8 
+7b1f 20407ca8 call memset0_4 
+7b20 1e008c24 add alarm ,36 ,contr 
+7b21 20407c90 call memcpy12 
+7b22 20407ca8 call memset0_4 
+7b23 1e008c34 add alarm ,52 ,contr 
+7b24 20407c91 call memcpy4 
+7b25 19622200 copy timeup ,rega 
+7b26 1a220a00 copy rega ,contw 
+7b27 20207b4b branch bn_submod_256 
+
+bn_load_mem:
+7b28 18007220 force 32 ,loopcnt 
+7b29 d8a00ace arg mem_regext ,contw 
+7b2a 98a08a00 iadd contw ,contw 
+7b2b 20207cdc branch memcpy 
+
+bn_load_256:
+7b2c 18007208 force 8 ,loopcnt 
+7b2d 20207636 branch bn_load_0 
+
+bn_sqrmod_256:
+7b2e 1a222400 copy rega ,regb 
+7b2f 20207a96 branch bn_mulmod_256 
+
+bn_add_256:
+7b30 18007208 force 8 ,loopcnt 
+7b31 202075c7 branch bn_add + 1 
+
+bn_addmod_256:
+7b32 20407b30 call bn_add_256 
+7b33 18a22200 copy contw ,rega 
+7b34 20207b36 branch bn_lshiftmod_ismod_256 
+
+bn_lshiftmod_256:
+7b35 20407b63 call bn_lshift_256 
+
+bn_lshiftmod_ismod_256:
+7b36 2a6ffe00 isolate1 0 ,regc 
+7b37 2020fb3f branch bn_lshiftmod_p_256 ,true 
+7b38 da40091a arg mem_p_256 ,regb 
+7b39 1a222600 copy rega ,regc 
+7b3a 1a20a3e0 increase -32 ,rega 
+7b3b 20407b66 call bn_bigeq_256 
+7b3c 24610000 nrtn positive 
+7b3d 1a622200 copy regc ,rega 
+7b3e 20207b47 branch sub_p2_256 
+
+bn_lshiftmod_p_256:
+7b3f 20407b47 call sub_p2_256 
+7b40 1a222600 copy rega ,regc 
+7b41 1a20a3e0 increase -32 ,rega 
+7b42 da40091a arg mem_p_256 ,regb 
+7b43 20407b66 call bn_bigeq_256 
+7b44 24610000 nrtn positive 
+7b45 1a622200 copy regc ,rega 
+7b46 20207b47 branch sub_p2_256 
+
+sub_p2_256:
+7b47 1a20a3e0 increase -32 ,rega 
+7b48 da40091a arg mem_p_256 ,regb 
+7b49 1a220a00 copy rega ,contw 
+7b4a 20207b5e branch bn_sub_256 
+
+bn_submod_256:
+7b4b 20407b5e call bn_sub_256 
+7b4c 2020fb55 branch bn_submod_256_np ,true 
+7b4d 18a0a3e0 add contw ,-32 ,rega 
+7b4e da40091a arg mem_p_256 ,regb 
+7b4f 20407b66 call bn_bigeq_256 
+7b50 24610000 nrtn positive 
+7b51 da40091a arg mem_p_256 ,regb 
+7b52 18a0a3e0 add contw ,-32 ,rega 
+7b53 1a220a00 copy rega ,contw 
+7b54 20207b5e branch bn_sub_256 
+
+bn_submod_256_np:
+7b55 18a0a3e0 add contw ,-32 ,rega 
+7b56 da40091a arg mem_p_256 ,regb 
+7b57 1a220a00 copy rega ,contw 
+7b58 20407b30 call bn_add_256 
+7b59 20608000 rtn true 
+7b5a 18a0a3e0 add contw ,-32 ,rega 
+7b5b da40091a arg mem_p_256 ,regb 
+7b5c 1a220a00 copy rega ,contw 
+7b5d 20207b30 branch bn_add_256 
+
+bn_sub_256:
+7b5e 18007208 force 8 ,loopcnt 
+7b5f 202075d5 branch bn_sub + 1 
+
+bn_rshift_256:
+7b60 18007208 force 8 ,loopcnt 
+7b61 1a20a21c increase 28 ,rega 
+7b62 202075e4 branch bn_rshift 
+
+bn_lshift_256:
+7b63 18007208 force 8 ,loopcnt 
+7b64 18002600 force 0 ,regc 
+7b65 202075f2 branch bn_lshift_0 
+
+bn_bigeq_256:
+7b66 18007208 force 8 ,loopcnt 
+7b67 1a20a21c increase 28 ,rega 
+7b68 1a40a41c increase 28 ,regb 
+7b69 202075bc branch bn_bigeq_0 
+
+bn_eq_zero_256:
+7b6a eff00006 ifetch 8 ,contr 
+7b6b 247a0000 nrtn blank 
+7b6c 202075aa branch bn_eq_zero 
+
+bn_rshifteven_256:
+7b6d 1a226000 copy rega ,alarm 
+
+bn_rshifteven_256_1:
+7b6e 1e022200 copy alarm ,rega 
+7b6f efe20011 ifetch 1 ,rega 
+7b70 2feffe00 isolate1 0 ,pdata 
+7b71 20608000 rtn true 
+7b72 20407b60 call bn_rshift_256 
+7b73 efe20012 ifetch 1 ,regb 
+7b74 2fec0000 isolate0 0 ,pdata 
+7b75 2020fb7d branch bn_rshifteven_256_0 ,true 
+7b76 da20091a arg mem_p_256 ,rega 
+7b77 1a420a00 copy regb ,contw 
+7b78 20407b30 call bn_add_256 
+7b79 efe20012 ifetch 1 ,regb 
+7b7a 9a60fe00 iadd regc ,pdata 
+7b7b e7e20012 istore 1 ,regb 
+7b7c 1a40a5e0 increase -32 ,regb 
+
+bn_rshifteven_256_0:
+7b7d 1a40a220 add regb ,32 ,rega 
+7b7e 18007209 force 9 ,loopcnt 
+7b7f 204075e4 call bn_rshift 
+7b80 20207b6e branch bn_rshifteven_256_1 
+
+ui_init:
+7b81 20404c20 call lpm_disable_exen_output 
+7b82 20758000 rtn wake 
+7b83 20207b9a branch ui_timer_init 
+
+ui_dispatch:
+7b84 20207b89 branch ui_timer_check 
+
+ui_timer_timeout:
+7b85 58001000 setarg 0x1000 
+7b86 1ff07e00 lshift16 pdata ,pdata 
+7b87 9a40a400 iadd regb ,regb 
+7b88 20600000 rtn 
+
+ui_timer_check:
+7b89 474ec033 bpatchx patch33_5 ,mem_patch33 
+7b8a da200000 arg 0 ,rega 
+7b8b 6848464a fetcht 4 ,mem_ui_timer_last_btclk 
+7b8c 1c422400 copy clkn_bt ,regb 
+7b8d 1a427e00 copy regb ,pdata 
+7b8e 98467c00 isub temp ,null 
+7b8f 24417b85 ncall ui_timer_timeout ,positive 
+
+ui_timer_check_loop:
+7b90 1a427e00 copy regb ,pdata 
+7b91 184084a0 increase 160 ,temp 
+7b92 184084a0 increase 160 ,temp 
+7b93 98467c00 isub temp ,null 
+7b94 24217b9d nbranch ui_timer_check_end ,positive 
+7b95 1a20a201 increase 1 ,rega 
+7b96 1a217e0f and rega ,0x0f ,pdata 
+7b97 243a7b90 nbranch ui_timer_check_loop ,blank 
+7b98 da200000 arg 0 ,rega 
+7b99 20407ba4 call ui_timer_check_send_evt 
+
+ui_timer_init:
+7b9a 1c427e00 copy clkn_bt ,pdata 
+7b9b 67e8464a store 4 ,mem_ui_timer_last_btclk 
+7b9c 20600000 rtn 
+
+ui_timer_check_end:
+7b9d 474f4033 bpatchx patch33_6 ,mem_patch33 
+7b9e 1a227e00 copy rega ,pdata 
+7b9f 207a0000 rtn blank 
+7ba0 18408560 increase -160 ,temp 
+7ba1 18408560 increase -160 ,temp 
+7ba2 793f841c set0 28 ,temp 
+7ba3 6048464a storet 4 ,mem_ui_timer_last_btclk 
+
+ui_timer_check_send_evt:
+7ba4 20204cf8 branch app_evt_timer 
+
+ui_ipc_get_lock:
+7ba5 70463801 jam 1 ,mem_ipc_lock_bt 
+
+ui_ipc_get_lock_wait:
+7ba6 6fe24639 fetch 1 ,mem_ipc_lock_c51 
+7ba7 243a7ba6 nbranch ui_ipc_get_lock_wait ,blank 
+7ba8 20600000 rtn 
+
+ui_ipc_put_lock:
+7ba9 70463800 jam 0 ,mem_ipc_lock_bt 
+7baa 20600000 rtn 
+
+ui_ipc_send_event:
+7bab 474fc033 bpatchx patch33_7 ,mem_patch33 
+7bac 20407ba5 call ui_ipc_get_lock 
+7bad 1a227e00 copy rega ,pdata 
+7bae 67e80a8d store 4 ,mem_ipc_rega_temp 
+7baf da20463a arg mem_ipc_fifo_bt2c51 ,rega 
+7bb0 20407d90 call fifo_in 
+7bb1 6fe80a8d fetch 4 ,mem_ipc_rega_temp 
+7bb2 1fe22200 copy pdata ,rega 
+7bb3 20207ba9 branch ui_ipc_put_lock 
+
+ui_ipc_send_cmd:
+7bb4 47504034 bpatchx patch34_0 ,mem_patch34 
+7bb5 20407ba5 call ui_ipc_get_lock 
+7bb6 1a227e00 copy rega ,pdata 
+7bb7 67e80a8d store 4 ,mem_ipc_rega_temp 
+7bb8 da204642 arg mem_ipc_fifo_c512bt ,rega 
+7bb9 20407d90 call fifo_in 
+7bba 6fe80a8d fetch 4 ,mem_ipc_rega_temp 
+7bbb 1fe22200 copy pdata ,rega 
+7bbc 20207ba9 branch ui_ipc_put_lock 
+
+ui_ipc_clean_all_fifo:
+7bbd 58000000 setarg 0 
+7bbe 67f04642 store util_fifo_len ,mem_ipc_fifo_c512bt 
+7bbf 67f0463a store util_fifo_len ,mem_ipc_fifo_bt2c51 
+7bc0 20600000 rtn 
+
+check_51cmd:
+7bc1 4750c034 bpatchx patch34_1 ,mem_patch34 
+7bc2 6fe241cf fetch 1 ,mem_hci_cmd 
+7bc3 247a0000 nrtn blank 
+7bc4 da204642 arg mem_ipc_fifo_c512bt ,rega 
+7bc5 20407da8 call fifo_is_empty 
+7bc6 207a0000 rtn blank 
+7bc7 700a8c00 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+7bc8 20407bcc call check_51cmd_once 
+7bc9 6fe20a8c fetch 1 ,mem_ipc_skip_continue_proc 
+7bca 203a7bc1 branch check_51cmd ,blank 
+7bcb 20600000 rtn 
+
+check_51cmd_once:
+7bcc 20407ba5 call ui_ipc_get_lock 
+7bcd da204642 arg mem_ipc_fifo_c512bt ,rega 
+7bce 20407d9c call fifo_out 
+7bcf 1fe20400 copy pdata ,temp 
+7bd0 20407ba9 call ui_ipc_put_lock 
+7bd1 47514034 bpatchx patch34_2 ,mem_patch34 
+7bd2 18427e00 copy temp ,pdata 
+7bd3 207a0000 rtn blank 
+7bd4 c000fbff beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+7bd5 c0017c04 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+7bd6 c001fc0a beq bt_cmd_reconnect ,check_51cmd_reconnect 
+7bd7 c003fc0f beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+7bd8 c0047c10 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+7bd9 c004fc11 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+7bda c005fc14 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+7bdb c0067c15 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+7bdc c006fc16 beq bt_cmd_start_adv ,check_51cmd_adv 
+7bdd c0077c1c beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+7bde c007fc21 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+7bdf c0087c27 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+7be0 c00b7c31 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+7be1 c00bfc34 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+7be2 c00c7c36 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+7be3 c00cfc39 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+7be4 c00dfc3d beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+7be5 c00f7c47 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+7be6 67e20a95 store 1 ,mem_fifo_temp 
+7be7 4751c034 bpatchx patch34_3 ,mem_patch34 
+7be8 2040669e call lmo_fifo_check 
+7be9 243a7bfd nbranch check_51cmd_restore ,blank 
+
+check_51cmd_once_continue:
+7bea 6fe20a95 fetch 1 ,mem_fifo_temp 
+7beb c584fbf8 bmark0 mark_context ,check_51cmd_check_idle 
+7bec c0027c0c beq bt_cmd_disconnect ,check_51cmd_disconnect 
+7bed c002d0fd beq bt_cmd_enter_sniff ,cmd_in_sniff 
+7bee c003510c beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+7bef c0057c12 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+7bf0 c008fc2c beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+7bf1 c0097c30 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+7bf2 c00efc3e beq bt_cmd_role_switch ,check_51cmd_role_switch 
+7bf3 c00fe7fd beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+7bf4 c01067fd beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+7bf5 c010fc49 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+7bf6 c012e7fd beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+7bf7 20600000 rtn 
+
+check_51cmd_check_idle:
+7bf8 67e20a95 store 1 ,mem_fifo_temp 
+7bf9 2040424e call context_check_idle 
+7bfa 2022fbfd branch check_51cmd_restore ,zero 
+7bfb 20404256 call context_search_plap 
+7bfc 24628000 nrtn zero 
+
+check_51cmd_restore:
+7bfd 700a8c01 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+7bfe 20207bb4 branch ui_ipc_send_cmd 
+
+check_51cmd_start_discovery:
+7bff 6fe44652 fetch 2 ,mem_ui_state_map 
+7c00 79207e06 set1 ui_state_bt_discovery 
+7c01 67e44652 store 2 ,mem_ui_state_map 
+7c02 70409303 jam 3 ,mem_scan_mode 
+7c03 20600000 rtn 
+
+check_51cmd_stop_discovery:
+7c04 70465000 jam 0 ,mem_hid_handshake_timer_count 
+7c05 70409300 jam 0 ,mem_scan_mode 
+7c06 6fe44652 fetch 2 ,mem_ui_state_map 
+7c07 793ffe06 set0 ui_state_bt_discovery 
+7c08 67e44652 store 2 ,mem_ui_state_map 
+7c09 20600000 rtn 
+
+check_51cmd_reconnect:
+7c0a 7041cf05 jam hci_cmd_create_conn ,mem_hci_cmd 
+7c0b 20600000 rtn 
+
+check_51cmd_disconnect:
+7c0c 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+7c0d 7004c613 jam other_end_terminated ,mem_disconn_reason_send 
+7c0e 20600000 rtn 
+
+check_51cmd_enter_sniff_subrating:
+7c0f 20600000 rtn 
+
+check_51cmd_exit_sniff_subrating:
+7c10 20600000 rtn 
+
+check_51cmd_sniff_test:
+7c11 20600000 rtn 
+
+check_51cmd_pincode:
+7c12 7004d002 jam pincode_state_pincode_ready ,mem_pincode_state 
+7c13 202050f0 branch cmd_pair 
+
+check_51cmd_inq:
+7c14 20600000 rtn 
+
+check_51cmd_stop_inq:
+7c15 20600000 rtn 
+
+check_51cmd_adv:
+7c16 70434001 jam on ,mem_le_adv_enable 
+7c17 70445600 jam adv_ind ,mem_le_adv_type 
+7c18 6fe44652 fetch 2 ,mem_ui_state_map 
+7c19 79207e0b set1 ui_state_ble_adv ,pdata 
+7c1a 67e44652 store 2 ,mem_ui_state_map 
+7c1b 20600000 rtn 
+
+check_51cmd_stop_adv:
+7c1c 6fe44652 fetch 2 ,mem_ui_state_map 
+7c1d 793ffe0b set0 ui_state_ble_adv ,pdata 
+7c1e 67e44652 store 2 ,mem_ui_state_map 
+7c1f 70434000 jam off ,mem_le_adv_enable 
+7c20 20600000 rtn 
+
+check_51cmd_direct_adv:
+7c21 70434001 jam on ,mem_le_adv_enable 
+7c22 70445601 jam adv_direct_ind ,mem_le_adv_type 
+7c23 6fe44652 fetch 2 ,mem_ui_state_map 
+7c24 79207e0b set1 ui_state_ble_adv ,pdata 
+7c25 67e44652 store 2 ,mem_ui_state_map 
+7c26 20600000 rtn 
+
+check_51cmd_stop_direct_adv:
+7c27 6fe44652 fetch 2 ,mem_ui_state_map 
+7c28 793ffe0b set0 ui_state_ble_adv ,pdata 
+7c29 67e44652 store 2 ,mem_ui_state_map 
+7c2a 70434000 jam off ,mem_le_adv_enable 
+7c2b 20600000 rtn 
+
+check_51cmd_le_disconnect:
+7c2c 58000014 setarg 20 
+7c2d 67e40469 store 2 ,mem_le_superto 
+7c2e 67e4448c store 2 ,mem_le_init_superto 
+7c2f 20206073 branch le_send_terminate_ind_user_terminated 
+
+check_51cmd_ble_update_connect_param:
+7c30 20205e9f branch le_l2cap_tx_update_req 
+
+check_51cmd_le_start_con:
+7c31 70433b01 jam on ,mem_le_scan_enable 
+7c32 7041cf1b jam hci_cmd_le_create_conn ,mem_hci_cmd 
+7c33 20600000 rtn 
+
+check_51cmd_start_scan:
+7c34 70433b01 jam on ,mem_le_scan_enable 
+7c35 20600000 rtn 
+
+check_51cmd_stop_scan:
+7c36 70433b00 jam off ,mem_le_scan_enable 
+7c37 7041cf00 jam 0 ,mem_hci_cmd 
+7c38 20600000 rtn 
+
+check_51cmd_hibernate:
+7c39 6fe441ec fetch 2 ,mem_cb_before_hibernate 
+7c3a 20407d77 call callback_func 
+7c3b 20407bbd call ui_ipc_clean_all_fifo 
+7c3c 20204afe branch lpm_hibernate 
+
+check_51cmd_le_smp_sec_req:
+7c3d 20205ee2 branch le_send_smp_security_request 
+
+check_51cmd_role_switch:
+7c3e 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+7c3f 79200003 set1 mark_switch_initiated ,mark 
+7c40 24748000 nrtn master 
+7c41 70452d00 jam switch_flag_init ,mem_switch_flag 
+7c42 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+7c43 6fe2016b fetch 1 ,mem_connection_options 
+7c44 793ffe02 set0 connection_switch ,pdata 
+7c45 67e2016b store 1 ,mem_connection_options 
+7c46 20600000 rtn 
+
+check_51cmd_bb_reconn_cancel:
+7c47 18000e03 force page_length_timer ,queue 
+7c48 20207ce2 branch timer_stop 
+
+check_51cmd_dhkey_not_accept:
+7c49 204066da call tid_set_reply 
+7c4a 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+7c4b 2020637f branch parse_lmp_dhkey_check_reject 
+
+right_shift_n:
+7c4c 1f267c00 sub loopcnt ,0 ,null 
+7c4d 20628000 rtn zero 
+
+right_shift_n_loop:
+7c4e 1fe37e00 rshift pdata ,pdata 
+7c4f c2007c4e loop right_shift_n_loop 
+7c50 20600000 rtn 
+
+left_shift_n:
+7c51 18007e01 force 1 ,pdata 
+7c52 1f267c00 sub loopcnt ,0 ,null 
+7c53 20628000 rtn zero 
+
+left_shift_n_loop:
+7c54 1fe3fe00 lshift pdata ,pdata 
+7c55 c2007c54 loop left_shift_n_loop 
+7c56 20600000 rtn 
+
+push_stack:
+7c57 18a27e00 deposit contw 
+7c58 67e40ab7 store 2 ,mem_contw 
+7c59 60500a9e storet 8 ,mem_temp 
+7c5a 19627e00 deposit timeup 
+7c5b 67e80aa6 store 4 ,mem_timeup 
+7c5c 20407c60 call push_stack_rega_b_c 
+7c5d 18c27e00 deposit contr 
+7c5e 67e40ab5 store 2 ,mem_contr 
+7c5f 20600000 rtn 
+
+push_stack_rega_b_c:
+7c60 1a227e00 deposit rega 
+7c61 67e80aaa store 4 ,mem_rega 
+7c62 1a427e00 deposit regb 
+7c63 67e80aae store 4 ,mem_regb 
+7c64 1a627e00 deposit regc 
+7c65 67e60ab2 store 3 ,mem_regc 
+7c66 20600000 rtn 
+
+pop_stack:
+7c67 68500a9e fetcht 8 ,mem_temp 
+7c68 6fe80aa6 fetch 4 ,mem_timeup 
+7c69 98001600 iforce timeup 
+7c6a 20407c70 call pop_stack_rega_b_c 
+7c6b 6fe40ab7 fetch 2 ,mem_contw 
+7c6c 98000a00 iforce contw 
+7c6d 6fe40ab5 fetch 2 ,mem_contr 
+7c6e 98000c00 iforce contr 
+7c6f 20600000 rtn 
+
+pop_stack_rega_b_c:
+7c70 6fe80aaa fetch 4 ,mem_rega 
+7c71 98002200 iforce rega 
+7c72 6fe80aae fetch 4 ,mem_regb 
+7c73 98002400 iforce regb 
+7c74 6fe60ab2 fetch 3 ,mem_regc 
+7c75 98002600 iforce regc 
+7c76 20600000 rtn 
+
+get_contw:
+7c77 6fe40ab7 fetch 2 ,mem_contw 
+7c78 1fe20a00 copy pdata ,contw 
+7c79 20600000 rtn 
+
+get_contr:
+7c7a 6fe40ab5 fetch 2 ,mem_contr 
+7c7b 1fe20c00 copy pdata ,contr 
+7c7c 20600000 rtn 
+
+store_contw:
+7c7d 18a27e00 copy contw ,pdata 
+7c7e 67e40ab7 store 2 ,mem_contw 
+7c7f 20600000 rtn 
+
+store_contr:
+7c80 18c27e00 copy contr ,pdata 
+7c81 67e40ab5 store 2 ,mem_contr 
+7c82 20600000 rtn 
+
+save_cont_pointers:
+7c83 18a27e00 copy contw ,pdata 
+7c84 67e40a93 store 2 ,mem_hold_contw 
+7c85 18c27e00 copy contr ,pdata 
+7c86 67e40a91 store 2 ,mem_hold_contr 
+7c87 20600000 rtn 
+
+load_cont_pointers:
+7c88 6fe40a93 fetch 2 ,mem_hold_contw 
+7c89 1fe20a00 copy pdata ,contw 
+7c8a 6fe40a91 fetch 2 ,mem_hold_contr 
+7c8b 1fe20c00 copy pdata ,contr 
+7c8c 20600000 rtn 
+
+memcpy96:
+7c8d 20407c98 call memcpy32 
+
+memcpy64:
+7c8e 20407c98 call memcpy32 
+7c8f 20207c98 branch memcpy32 
+
+memcpy12:
+7c90 20407c94 call memcpy8 
+
+memcpy4:
+7c91 efe80006 ifetch 4 ,contr 
+7c92 e7e80005 istore 4 ,contw 
+7c93 20600000 rtn 
+
+memcpy8:
+7c94 eff00006 ifetch 8 ,contr 
+7c95 e7f00005 istore 8 ,contw 
+7c96 20600000 rtn 
+
+memcpy48:
+7c97 20407c9a call memcpy16 
+
+memcpy32:
+7c98 20407c94 call memcpy8 
+
+memcpy24:
+7c99 20407c94 call memcpy8 
+
+memcpy16:
+7c9a 20407c94 call memcpy8 
+7c9b 20207c94 branch memcpy8 
+
+delay_10ms:
+7c9c df20000a arg 10 ,loopcnt 
+
+delay_ms_wait:
+7c9d 20002ee0 nop 12000 
+7c9e c2007c9d loop delay_ms_wait 
+7c9f 20600000 rtn 
+
+bn_zero:
+7ca0 18007203 force 3 ,loopcnt 
+
+memset0:
+7ca1 18007e00 force 0 ,pdata 
+
+memset8:
+7ca2 e7f00005 istore 8 ,contw 
+7ca3 c2007ca2 loop memset8 
+7ca4 20600000 rtn 
+
+memset0_8:
+7ca5 18007e00 force 0 ,pdata 
+7ca6 e7f00005 istore 8 ,contw 
+7ca7 20600000 rtn 
+
+memset0_4:
+7ca8 18007e00 force 0 ,pdata 
+7ca9 e7e80005 istore 4 ,contw 
+7caa 20600000 rtn 
+
+clear_mem_256:
+7cab 18007204 force 4 ,loopcnt 
+7cac 20207ca1 branch memset0 
+
+clear_mem_512:
+7cad 18007208 force 8 ,loopcnt 
+7cae 20207ca1 branch memset0 
+
+clear_mem:
+7caf 1f227e00 deposit loopcnt 
+7cb0 207a0000 rtn blank 
+7cb1 58000000 setarg 0 
+
+clear_mem_loop:
+7cb2 e7e20005 istore 1 ,contw 
+7cb3 c2007cb2 loop clear_mem_loop 
+7cb4 20600000 rtn 
+
+clear_temp_block:
+7cb5 df200020 arg 32 ,loopcnt 
+7cb6 d8a00abe arg mem_temp_block0 ,contw 
+7cb7 20207caf branch clear_mem 
+
+xor_loop:
+7cb8 efe80013 ifetch 4 ,regc 
+7cb9 e8480011 ifetcht 4 ,rega 
+7cba 9842fe00 ixor temp ,pdata 
+7cbb e7e80005 istore 4 ,contw 
+7cbc 1a20a204 increase 4 ,rega 
+7cbd 1a60a604 increase 4 ,regc 
+7cbe c2007cb8 loop xor_loop 
+7cbf 20600000 rtn 
+
+inverse_data:
+7cc0 47524034 bpatchx patch34_4 ,mem_patch34 
+7cc1 1f227e00 copy loopcnt ,pdata 
+7cc2 1fe67c01 sub pdata ,1 ,null 
+7cc3 20610000 rtn positive 
+7cc4 9a20a400 iadd rega ,regb 
+7cc5 1a40a5ff increase -1 ,regb 
+7cc6 1f237200 rshift loopcnt ,loopcnt 
+
+inverse_loop:
+7cc7 e8420011 ifetcht 1 ,rega 
+7cc8 efe20012 ifetch 1 ,regb 
+7cc9 e7e20011 istore 1 ,rega 
+7cca e0420012 istoret 1 ,regb 
+7ccb 1a40a5ff increase -1 ,regb 
+7ccc 1a20a201 increase 1 ,rega 
+7ccd c2007cc7 loop inverse_loop 
+7cce 20600000 rtn 
+
+memcpy_fast:
+7ccf 1f227e00 deposit loopcnt 
+7cd0 207a0000 rtn blank 
+
+memcpy_fast_loop:
+7cd1 1f20f3f8 increase -8 ,loopcnt 
+7cd2 20417c94 call memcpy8 ,positive 
+7cd3 20628000 rtn zero 
+7cd4 20217cd1 branch memcpy_fast_loop ,positive 
+7cd5 1f20f208 increase 8 ,loopcnt 
+
+memcpy_fast_loop_four:
+7cd6 1f20f3fc increase -4 ,loopcnt 
+7cd7 20417c91 call memcpy4 ,positive 
+7cd8 20628000 rtn zero 
+7cd9 20217cd6 branch memcpy_fast_loop_four ,positive 
+7cda 1f20f204 increase 4 ,loopcnt 
+7cdb 20207cdc branch memcpy 
+
+memcpy:
+7cdc 1f227e00 deposit loopcnt 
+7cdd 207a0000 rtn blank 
+
+memcpy_loop:
+7cde efe20006 ifetch 1 ,contr 
+7cdf e7e20005 istore 1 ,contw 
+7ce0 c2007cde loop memcpy_loop 
+7ce1 20600000 rtn 
+
+timer_stop:
+7ce2 58000000 setarg 0 
+
+timer_init:
+7ce3 1c430400 rshift clkn_bt ,temp 
+7ce4 60484094 storet 4 ,mem_last_clkn 
+7ce5 d8a0419e arg mem_timers ,contw 
+7ce6 98000400 iforce temp 
+7ce7 18e3fe00 lshift queue ,pdata 
+7ce8 98a08a00 iadd contw ,contw 
+7ce9 e0440005 istoret 2 ,contw 
+7cea 4752c034 bpatchx patch34_5 ,mem_patch34 
+7ceb 20600000 rtn 
+
+timer_check_timeout:
+7cec d9600800 arg 0x800 ,timeup 
+7ced 19701600 lshift16 timeup ,timeup 
+7cee 9960fe00 iadd timeup ,pdata 
+7cef 20600000 rtn 
+
+timer_reinit:
+7cf0 d8e00000 arg 0 ,queue 
+
+timer_check:
+7cf1 47534034 bpatchx patch34_6 ,mem_patch34 
+7cf2 68484094 fetcht 4 ,mem_last_clkn 
+7cf3 1c437e00 rshift clkn_bt ,pdata 
+7cf4 67e84094 store 4 ,mem_last_clkn 
+7cf5 98467c00 isub temp ,null 
+7cf6 24417cec ncall timer_check_timeout ,positive 
+7cf7 98461600 isub temp ,timeup 
+7cf8 19620400 copy timeup ,temp 
+7cf9 d8c0419e arg mem_timers ,contr 
+7cfa 18c20a00 copy contr ,contw 
+7cfb df200010 arg 16 ,loopcnt 
+
+timer_loop:
+7cfc efe40006 ifetch 2 ,contr 
+7cfd 98467e00 isub temp ,pdata 
+7cfe 20217d00 branch timer_counting ,positive 
+7cff 18007e00 force 0 ,pdata 
+
+timer_counting:
+7d00 e7e40005 istore 2 ,contw 
+7d01 c2007cfc loop timer_loop 
+7d02 d8c0419e arg mem_timers ,contr 
+7d03 18e3fe00 lshift queue ,pdata 
+7d04 98c08c00 iadd contr ,contr 
+7d05 efe40006 ifetch 2 ,contr 
+7d06 20600000 rtn 
+
+clk_add:
+7d07 98408400 iadd temp ,temp 
+7d08 18427200 copy temp ,loopcnt 
+7d09 58000ea6 setarg 3750 
+7d0a 9f267e00 isub loopcnt ,pdata 
+7d0b 20610000 rtn positive 
+7d0c 1fe67e00 sub pdata ,0 ,pdata 
+7d0d 18510400 rshift16 temp ,temp 
+7d0e 18408401 increase 1 ,temp 
+7d0f 18500400 lshift16 temp ,temp 
+7d10 98418400 ior temp ,temp 
+7d11 20600000 rtn 
+
+clk_diff_rt:
+7d12 20407d14 call clk_diff 
+7d13 20207d1e branch clk2rt 
+
+clk_diff:
+7d14 78547c00 disable user 
+7d15 98467e00 isub temp ,pdata 
+7d16 20217d19 branch clk_diff_pos ,positive 
+7d17 78347c00 enable user 
+7d18 1fe67e00 sub pdata ,0 ,pdata 
+
+clk_diff_pos:
+7d19 c4078000 rtnbit0 15 
+7d1a d85f0ea6 arg -61786 ,temp 
+7d1b 9840fe00 iadd temp ,pdata 
+7d1c 793ffe40 set0 64 ,pdata 
+7d1d 20600000 rtn 
+
+clk2rt:
+7d1e 98000c00 iforce contr 
+7d1f 1ff17e00 rshift16 pdata ,pdata 
+7d20 d8400ea6 arg 3750 ,temp 
+7d21 984ffe00 imul32 temp ,pdata 
+7d22 98c0fe00 iadd contr ,pdata 
+7d23 20600000 rtn 
+
+clk2lpo:
+7d24 1fed7e00 lshift8 pdata ,pdata 
+7d25 1ff27e00 lshift4 pdata ,pdata 
+7d26 68464170 fetcht 3 ,mem_clks_per_lpo 
+7d27 9846fc00 idiv temp 
+7d28 20407d61 call wait_div_end 
+7d29 18078400 quotient temp 
+7d2a 20600000 rtn 
+
+clk2bt:
+7d2b d8400ea6 arg 3750 ,temp 
+7d2c 9846fc00 idiv temp 
+7d2d 20407d61 call wait_div_end 
+7d2e 1807fe00 quotient pdata 
+7d2f 1ff07e00 lshift16 pdata ,pdata 
+7d30 18070400 remainder temp 
+7d31 98418400 ior temp ,temp 
+7d32 20600000 rtn 
+
+string2dec_from_uart:
+7d33 d8400000 arg 0 ,temp 
+
+string2dec_from_uart_done:
+7d34 18422600 copy temp ,regc 
+7d35 efe20003 ifetch 1 ,contru 
+7d36 20407d3f call uchar2dialog 
+7d37 1a620400 copy regc ,temp 
+7d38 20407d70 call swap 
+7d39 da40000a arg 10 ,regb 
+7d3a 9a4ffe00 imul32 regb ,pdata 
+7d3b 9840fe00 iadd temp ,pdata 
+7d3c 1fe20400 copy pdata ,temp 
+7d3d c2007d34 loop string2dec_from_uart_done 
+7d3e 20600000 rtn 
+
+uchar2dialog:
+7d3f d840003a arg 0x3a ,temp 
+7d40 98467c00 isub temp ,null 
+7d41 24217d48 nbranch uchar2dialog_number ,positive 
+7d42 d8400061 arg 0x61 ,temp 
+7d43 98467c00 isub temp ,null 
+7d44 20217d4b branch uchar2dialog_a2f ,positive 
+7d45 d8400037 arg 0x37 ,temp 
+7d46 98467e00 isub temp ,pdata 
+7d47 20600000 rtn 
+
+uchar2dialog_number:
+7d48 d8400030 arg 0x30 ,temp 
+7d49 98467e00 isub temp ,pdata 
+7d4a 20600000 rtn 
+
+uchar2dialog_a2f:
+7d4b d8400057 arg 0x57 ,temp 
+7d4c 98467e00 isub temp ,pdata 
+7d4d 20600000 rtn 
+
+pn9:
+7d4e 18426000 copy temp ,alarm 
+7d4f 580001ff setarg 0x1ff 
+7d50 18002400 force 0 ,regb 
+
+pn9_loop:
+7d51 1fe92200 rshift3 pdata ,rega 
+7d52 1a232200 rshift rega ,rega 
+7d53 9a22a200 ixor rega ,rega 
+7d54 2a2ffe00 isolate1 0 ,rega 
+7d55 7920fe09 setflag true ,9 ,pdata 
+7d56 18430400 rshift temp ,temp 
+7d57 2feffe00 isolate1 0 ,pdata 
+7d58 79208407 setflag true ,7 ,temp 
+7d59 1fe37e00 rshift pdata ,pdata 
+7d5a 1a40a401 increase 1 ,regb 
+7d5b 2a400e00 compare 0 ,regb ,0x7 
+7d5c 2420fd51 nbranch pn9_loop ,true 
+7d5d e0420005 istoret 1 ,contw 
+7d5e c2007d51 loop pn9_loop 
+7d5f 1e020400 copy alarm ,temp 
+7d60 20600000 rtn 
+
+wait_div_end:
+7d61 207a8000 rtn modone 
+7d62 20207d61 branch wait_div_end 
+
+compare_loop:
+
+string_compare:
+7d63 efe20011 ifetch 1 ,rega 
+7d64 e8420012 ifetcht 1 ,regb 
+7d65 98467c00 isub temp ,null 
+7d66 24628000 nrtn zero 
+7d67 1a20a201 increase 1 ,rega 
+7d68 1a40a401 increase 1 ,regb 
+7d69 c2007d63 loop string_compare 
+7d6a 18007c00 force 0 ,null 
+7d6b 20600000 rtn 
+
+ceiling:
+7d6c 98467c00 isub temp ,null 
+7d6d 24610000 nrtn positive 
+7d6e 18427e00 deposit temp 
+7d6f 20600000 rtn 
+
+swap:
+7d70 9840fe00 iadd temp ,pdata 
+7d71 98460400 isub temp ,temp 
+7d72 98467e00 isub temp ,pdata 
+7d73 20600000 rtn 
+
+clean_mem:
+7d74 df200200 arg 0x200 ,loopcnt 
+7d75 d8a04000 arg 0x4000 ,contw 
+7d76 20207ca1 branch memset0 
+
+callback_func:
+7d77 207a0000 rtn blank 
+7d78 1fe27a00 copy pdata ,pc 
+
+ice_break:
+7d79 70820301 hjam 0x1 ,core_ice_ctrl 
+7d7a 20600000 rtn 
+
+ice_setbp:
+7d7b 67e48205 hstore 2 ,core_ice_break0 
+7d7c 6fe28203 hfetch 1 ,core_ice_ctrl 
+7d7d 79207e04 set1 4 ,pdata 
+7d7e 67e28203 hstore 1 ,core_ice_ctrl 
+7d7f 20600000 rtn 
+
+ice_setbp2:
+7d80 67e48207 hstore 2 ,core_ice_break1 
+7d81 6fe28203 hfetch 1 ,core_ice_ctrl 
+7d82 79207e06 set1 6 ,pdata 
+7d83 67e28203 hstore 1 ,core_ice_ctrl 
+7d84 20600000 rtn 
+
+ice_set_write_bp:
+7d85 67e48205 hstore 2 ,core_ice_break0 
+7d86 70820330 hjam 0x30 ,core_ice_ctrl 
+7d87 20600000 rtn 
+
+test_no_white:
+7d88 6fe28043 hfetch 1 ,core_config 
+7d89 79207e04 set1 whiteoff_bit ,pdata 
+7d8a 67e28043 hstore 1 ,core_config 
+7d8b 20600000 rtn 
+
+test_enable_white:
+7d8c 6fe28043 hfetch 1 ,core_config 
+7d8d 793ffe04 set0 whiteoff_bit ,pdata 
+7d8e 67e28043 hstore 1 ,core_config 
+7d8f 20600000 rtn 
+
+fifo_in:
+7d90 4753c034 bpatchx patch34_7 ,mem_patch34 
+7d91 e8500011 ifetcht util_fifo_len ,rega 
+7d92 18417eff and temp ,0xff ,pdata 
+7d93 243a7d96 nbranch fifo_in_push ,blank 
+7d94 184cfe00 rshift8 temp ,pdata 
+7d95 e7f00011 istore util_fifo_len ,rega 
+
+fifo_in_push:
+7d96 1a20a207 increase util_fifo_len + util_fifo_offset ,rega 
+7d97 efe20011 ifetch 1 ,rega 
+7d98 243a4a8b nbranch assert ,blank 
+7d99 6fe20a95 fetch 1 ,mem_fifo_temp 
+7d9a e7e20011 istore 1 ,rega 
+7d9b 20600000 rtn 
+
+fifo_out:
+7d9c 47544035 bpatchx patch35_0 ,mem_patch35 
+7d9d df200008 arg util_fifo_len ,loopcnt 
+7d9e eff00011 ifetch util_fifo_len ,rega 
+7d9f 207a0000 rtn blank 
+
+fifo_out_loop:
+7da0 efe20011 ifetch 1 ,rega 
+7da1 243a7da5 nbranch fifo_out_end ,blank 
+7da2 1a20a201 increase 1 ,rega 
+7da3 c2007da0 loop fifo_out_loop 
+7da4 20204a8b branch assert 
+
+fifo_out_end:
+7da5 d8400000 arg 0 ,temp 
+7da6 e0420011 istoret 1 ,rega 
+7da7 20600000 rtn 
+
+fifo_is_empty:
+7da8 eff00011 ifetch util_fifo_len ,rega 
+7da9 20600000 rtn 
+
+fifo_is_full:
+7daa efe20011 ifetch 1 ,rega 
+7dab 20600000 rtn 
+
+fifo_is_near_full:
+7dac efe40011 ifetch 2 ,rega 
+7dad 20600000 rtn 
+
+fifo_content_count:
+7dae d8400000 arg 0 ,temp 
+
+fifo_content_count_loop:
+7daf 6fe20006 fetch 1 ,contr 
+7db0 c2007daf loop fifo_content_count_loop ,blank 
+7db1 18408401 increase 1 ,temp 
+7db2 c2007daf loop fifo_content_count_loop 
+7db3 18427e00 copy temp ,pdata 
+7db4 20600000 rtn 
+
+not_greater_than:
+7db5 98467c00 isub temp ,null 
+7db6 24610000 nrtn positive 
+7db7 18427e00 copy temp ,pdata 
+7db8 20600000 rtn 
+
+disable_positive:
+7db9 18007dff force -1 ,null 
+7dba 20600000 rtn 
+
+enable_positive:
+
+disable_zero:
+7dbb 18007c01 force 1 ,null 
+7dbc 20600000 rtn 
+
+enable_zero:
+7dbd 18007c00 force 0 ,null 
+7dbe 20600000 rtn 
+
+enable_user:
+7dbf 78347c00 enable user 
+7dc0 20600000 rtn 
+
+disable_user:
+7dc1 78547c00 disable user 
+7dc2 20600000 rtn 
+
+enable_user2:
+7dc3 78367c00 enable user2 
+7dc4 20600000 rtn 
+
+disable_user2:
+7dc5 78567c00 disable user2 
+7dc6 20600000 rtn 
+
+disable_blank:
+7dc7 58000001 setarg 1 
+7dc8 20600000 rtn 
+
+enable_blank:
+7dc9 58000000 setarg 0 
+7dca 20600000 rtn 
+
+reverse_byte:
+7dcb 1f227e00 copy loopcnt ,pdata 
+7dcc 207a0000 rtn blank 
+7dcd 18c27e00 copy contr ,pdata 
+7dce 9f20fe00 iadd loopcnt ,pdata 
+7dcf 1fe0ffff increase -1 ,pdata 
+7dd0 1fe20c00 copy pdata ,contr 
+
+reverse_loop:
+7dd1 efe20006 ifetch 1 ,contr 
+7dd2 18c08dfe increase -2 ,contr 
+7dd3 e7e20005 istore 1 ,contw 
+7dd4 c2007dd1 loop reverse_loop 
+7dd5 20600000 rtn 
+
Index: shoubing/output/ramcode.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/ramcode.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/ramcode.rom	(working copy)
@@ -0,0 +1,1705 @@
+c284001a
+c00083b5
+c00183bb
+c0028036
+c0170033
+c02f807b
+c0300080
+c02e8061
+c02f0070
+c0380050
+c03c809f
+c01e838c
+c04283bd
+c04483e3
+c04a039b
+c05103ec
+c05183a6
+c05483a9
+c05603f3
+c05c00ca
+c05d8148
+c05e01f7
+c05f0680
+c06400a8
+c06d8098
+20204a8b
+c00185cb
+c00285c2
+c00303de
+c00985ee
+c00f85d7
+c01085e9
+c01800a2
+c01e020f
+c01d021d
+c01e822d
+c01f823a
+c01f0240
+c0208268
+c04c826e
+c051802a
+20204a8b
+2040669e
+243a7bfd
+6fe20a95
+c584fbf8
+c0020030
+20207bed
+70007c07
+7004c613
+20600000
+da204bdd
+df200002
+20204260
+2040425a
+2422803e
+20404206
+1a208c01
+efe20006
+c280573a
+c280c162
+202043cb
+20400040
+2020402c
+df200002
+68420015
+18408401
+2841fe02
+24208046
+d8400000
+60420015
+184ffe50
+da204bdd
+9a20a200
+efe20011
+c280804e
+c3800000
+c3818000
+c2000042
+20600000
+793f8001
+70026600
+6fe2025f
+207a0000
+2feffe00
+d8c01000
+2040d153
+6fe20266
+c000c737
+70026600
+6fe2025f
+c4008000
+d8c01200
+20405153
+6fe20266
+c000c73d
+20600000
+c507c61c
+6fe4015d
+d84001e0
+98467c00
+20214639
+6fe2025f
+c280c649
+c30045c5
+c300806b
+20204649
+70025d02
+6fe4025b
+c0804649
+d8a01200
+202045e0
+c507c61c
+6fe4015d
+d84001e0
+98467c00
+20214639
+6fe2025d
+c000c5d9
+c0010079
+20204649
+d8a01200
+202045de
+09800010
+20234633
+6fe24335
+c000c633
+202045e9
+6fe2025d
+c0008084
+c001008e
+20204a8b
+6fe40259
+6844015d
+9840fe00
+67e40259
+c0004a8b
+68441000
+18408404
+98467c00
+2042c743
+20204609
+6fe4025b
+6844015d
+9840fe00
+67e4025b
+c0004a8b
+68441200
+18408404
+98467c00
+2042c747
+20204609
+da400000
+20405649
+243a4a8b
+20405658
+da401400
+d8e00000
+20205621
+6fe4016d
+c04647e2
+202047cd
+20405b86
+202000a4
+da604381
+da204362
+20405ba5
+20600000
+18427e00
+c000d23e
+c001d260
+c00880af
+c00980bc
+2040543c
+202052ae
+20407c83
+d8400052
+6fe4421e
+243a52a8
+19627e00
+67e4421e
+6fe24224
+79207e00
+79207e01
+67e24224
+2040528b
+700a9542
+20207bab
+20407c83
+1b427e00
+d8400053
+6fe44220
+243a52a8
+19627e00
+67e44220
+6fe24225
+79207e00
+79207e01
+67e24225
+2040528b
+700a9542
+20207bab
+58000100
+67e441f6
+58000136
+67e441fe
+580000db
+67e441f4
+5800013a
+67e441fa
+58000143
+67e441ea
+58000144
+67e441f2
+204005bc
+20404daf
+20404dbc
+20404c2a
+2020504d
+204002d2
+204050d3
+20405648
+247a0000
+202000e0
+6fe44ffc
+68444ffe
+98467c00
+2022ce3a
+204067f7
+efe20003
+c080ce4e
+efe20003
+c05000f2
+67e20aff
+e8420003
+18622200
+60420b00
+700b0101
+20404e5a
+6fe20b01
+c1000000
+20204e55
+67e20aff
+e8440003
+18622200
+60444bb4
+700b0101
+20404e5a
+6fe20b01
+c1000000
+202000fb
+204067f7
+18608602
+efe40003
+98608600
+20204e59
+1a627e00
+c000860e
+c0010617
+c0020626
+c002862e
+c003062f
+c0038632
+c009063b
+c0098645
+c0138646
+c0170649
+c00c064b
+c0190601
+c0148603
+c01c8407
+c01d040d
+c01e040f
+c0058126
+c0110116
+c0218116
+c021011d
+20204ddf
+58000002
+700affb8
+204050a5
+6fe40032
+1fe37e00
+e7e4000a
+202067b9
+6fe44652
+79207e02
+67e44652
+58000002
+700affb7
+204050a5
+68444220
+e044000a
+202067b9
+20404dd7
+6fe44042
+1fe37e00
+684441e4
+98467c00
+20204d91
+6fe24679
+c3828000
+6fe44ffc
+68444ffe
+98467c00
+2442d0da
+20204d87
+20600000
+20404d6b
+20204d73
+20400657
+2040065f
+20400662
+20600000
+68440474
+18467c21
+2022813e
+20600000
+e8420011
+58000001
+67e20a96
+e0420005
+2020069a
+20204dbd
+20200145
+6fe24bd8
+207a0000
+20204dc8
+6fe20aff
+c00881c3
+c00a81cb
+c01381d9
+c00601d0
+c05801db
+c05901e9
+c0508163
+c051015d
+c0588675
+c06003f4
+c06083f9
+c06103fd
+c06183ff
+c0620402
+c05001be
+c03b0179
+c03b817f
+c03c0184
+c0380166
+20204e5c
+efe20003
+67e24bd8
+203a501f
+efe40003
+67e441e4
+2020501f
+eff00003
+67f04098
+2020501f
+efe40003
+efec0003
+67ec41d1
+efe80003
+67e84bca
+e8480003
+5fffffff
+9842fe00
+67e84bc1
+efe80003
+67e84bc5
+d8a041bf
+df200010
+204067ed
+704bb601
+5800003c
+67e44bb7
+204002d8
+2020501f
+d840000c
+20405b4d
+18c08bfe
+58000000
+e7e40005
+2020501f
+20400188
+204001a5
+58000000
+e7e40005
+202001b7
+efe20003
+2040018c
+20400193
+202001b7
+204001a9
+58280002
+e7e60005
+20600000
+67e20a96
+204001a9
+59280302
+e7e80005
+6fe20a96
+e7e60005
+20600000
+204001a9
+204001a5
+204001a5
+58000000
+e7e40005
+184085ff
+20405b4d
+18c08c04
+efe20006
+c28201a0
+c28281a0
+18408401
+20600000
+204001a9
+5a290202
+e7f00005
+184085ff
+20600000
+efe20003
+1fe27200
+e7e20005
+202067ed
+204001ac
+e0440005
+20600000
+6fe4448e
+98000c00
+efe40006
+207a0000
+1fe08401
+efe20006
+98c08c00
+efe20006
+98c08c00
+18c20a00
+202001ae
+60440a9e
+700aff29
+58000002
+204050a5
+68440a9e
+e044000a
+202067b9
+6fe44bb4
+1fe27200
+d8a04683
+204067ed
+2020501f
+6fe44652
+c300501c
+2040501f
+20404d64
+6fe44652
+c4010000
+700affb6
+2020504e
+6fe20b00
+c081d01f
+efe60003
+67e640aa
+2020501f
+1a220600
+efe20003
+c0004f1c
+c000cf1f
+c0014f25
+c00181d7
+2020501c
+58000001
+20204f20
+2040501f
+20204d85
+6fe44652
+c28101de
+2020501c
+2040564b
+247a0000
+6fe20b00
+1fe22200
+2040513d
+6fe44220
+e7e40005
+6fe20b00
+1fe27200
+204067ed
+2020501f
+6fe44652
+c28101ec
+2020501c
+2040564b
+247a0000
+6fe20b00
+1fe22200
+2040513d
+6fe4421e
+e7e40005
+6fe20b00
+1fe27200
+204067ed
+2020501f
+1840fffd
+d84000c8
+20407db5
+6842467a
+20407db5
+1fe22200
+18427e00
+9a267e00
+67e2467a
+6844467b
+184085ff
+20405b4d
+203a020b
+e8480006
+59280302
+98467c00
+2422820b
+efe20006
+c2824f01
+2020020b
+70467a00
+700b0101
+204050e0
+2020501c
+6fe2054e
+67e204c5
+c0198213
+20206194
+6fe204cd
+79207e00
+67e204cd
+700a9501
+20407bab
+70016b03
+70005506
+7041be01
+70465101
+20600000
+6fe2007d
+c0080224
+c00b822a
+202060fe
+70007d2a
+70007c03
+20600000
+6842054e
+18467c06
+20210228
+20206206
+70007e24
+20206134
+6fe40553
+203a62d2
+202062bc
+6fe2054e
+67e204c5
+c0058231
+202061a6
+204061df
+6fe20055
+c18c8000
+700affb1
+58000001
+204050a5
+58000001
+e7e2000a
+202067b9
+6fe20049
+c00b823d
+20206433
+700a9543
+20407bab
+202046c2
+78547c00
+204066a3
+6fe20048
+207a0000
+68444bd9
+e7e20002
+18408401
+60444bd9
+c283825c
+c00b8257
+c021037a
+c003824d
+202063f2
+18007e02
+2040667a
+6fe204c6
+e7e20005
+20406694
+6fe2004b
+79207e03
+67e2004b
+70007232
+20600000
+6fe24bd8
+203a025a
+20206586
+70004800
+20600000
+c042025f
+c0418262
+20206421
+20400265
+6fe20048
+2020647b
+20400265
+6fe20048
+202064ef
+6fe2462c
+203a650d
+20206506
+6fe2409e
+793ffe03
+67e2409e
+58000001
+67e404ca
+20600000
+6fe24490
+203a5ed0
+20407438
+20207932
+6fe2466c
+79207e07
+67e2466c
+dac00000
+d8c08973
+efe20006
+79207e06
+d8a08973
+e7e20005
+dac0000f
+df200006
+da400002
+da204b97
+20400294
+df200014
+da40012c
+da204b9d
+20400294
+df200002
+da401ffe
+da204bb1
+20400294
+204002b0
+dac00000
+d8c08973
+efe20006
+793ffe06
+d8a08973
+e7e20005
+dac00000
+6fe2466c
+793ffe07
+67e2466c
+20600000
+1a49a400
+2040029e
+204002ab
+204002ad
+6fe3850c
+e7e20011
+1a40a408
+1a20a201
+c2000297
+20600000
+5800020c
+204002a6
+58000208
+204002a6
+58000200
+204002a6
+58000208
+202002a6
+d8a1850a
+e7e20005
+1fecfe00
+e7e20005
+20600000
+58000288
+202002a6
+1a427e00
+d8a18508
+202002a7
+5800020c
+202002a6
+df20000d
+d84055aa
+d8c04b97
+efe40006
+9840fe00
+1fe20400
+c20002b5
+20600000
+df20000d
+d8c04b97
+efe40006
+9842fe00
+1fe20400
+c20002bc
+20600000
+704bb300
+d840ffff
+98417e00
+d8c04bb1
+e8440006
+98467c00
+24628000
+704bb301
+20600000
+20400272
+204002b2
+204002ba
+204002c1
+6fe24bb3
+2fe1fe01
+20608000
+20204a8b
+6fe24bb6
+207a0000
+202002db
+704bb601
+5800003c
+67e44bb7
+580000a0
+18000e0e
+20207ce3
+18000e0e
+20407cf1
+247a0000
+204048d8
+204002f4
+204002d8
+68444bb7
+78487c00
+18423600
+2021831f
+20404915
+d8400000
+20404930
+20404a50
+2040030b
+20404649
+20001388
+202002e4
+20600000
+6ff24bc1
+1fef7e00
+1feb7e00
+67e60742
+6d860742
+20600000
+204002ee
+6ff24bc1
+68504bb9
+9842fe00
+67f00742
+6fea0742
+783b7c00
+98001200
+785b7c00
+20600000
+20404a63
+7843fc00
+78257c00
+782dfc00
+6fe40f37
+0800860a
+78247c00
+08008608
+784dfc00
+78447c00
+78457c00
+793faa02
+20600000
+58000078
+67e40f37
+204002fe
+782efc00
+78477c00
+7824fc00
+58000a98
+08008610
+df200050
+6fe84bca
+08008620
+c2000314
+df200013
+58000000
+08008608
+c2000318
+78247c00
+08008610
+78447c00
+20600000
+68444bb7
+78487c00
+18423600
+78587c00
+78577c00
+d8400000
+2040491c
+204049ea
+20404a13
+242c4649
+7843fc00
+78257c00
+7825fc00
+0980000a
+19837e00
+67e40f39
+09800008
+7845fc00
+78457c00
+20234649
+df200012
+d8a00f1e
+78267c00
+7824fc00
+09800008
+19897e00
+e7e20005
+c2000337
+09800010
+20404649
+20630000
+6fec0f20
+684c41d1
+98467c00
+24628000
+6fe80f2c
+1fe37e00
+67e80163
+6fe20f1f
+67e20172
+58000067
+67e20f1e
+6fec40a0
+67ec0f1f
+58000000
+67f20f25
+20404a4c
+20404915
+d8400000
+20404930
+20404a50
+20404a5e
+6fe40f39
+67e40f37
+204002fe
+782e7c00
+78477c00
+7824fc00
+df20000d
+d8c00f1e
+efe20006
+08008608
+c200035b
+78247c00
+08008610
+78447c00
+20404649
+704bb600
+2d000603
+20208367
+37cb8200
+20200363
+6fe80163
+1fe1fe03
+1fe25000
+6fec41d1
+67ec0040
+20404431
+20404478
+20368372
+20404451
+243a036d
+20600000
+704bdc01
+6fe2054d
+20400376
+202043c4
+6fe6054e
+67e64bce
+70007c42
+20600000
+58000000
+67e20048
+6fe24bce
+c0000380
+c0020386
+20600000
+18007e0a
+2040667a
+581d3201
+e7f20005
+58000000
+20206699
+18007e04
+2040667a
+58000004
+e7e60005
+58000001
+20206699
+20404c24
+20406b69
+20404510
+2436c3de
+20404a87
+20406b81
+20404485
+20404753
+20404724
+204060e9
+6fe2000b
+1fe0fe01
+67e2000b
+2040483d
+202043de
+18427e00
+20407d2b
+1c307e00
+79207e2c
+20407d14
+793ffe2c
+20404a76
+20407d14
+20740000
+204003b2
+20204a2f
+1b427e00
+204003b1
+20204ae9
+6fe4404e
+1fe37e00
+20407d2b
+1e027e00
+20407d14
+1b420400
+204003b1
+20204b67
+20407d14
+98000c00
+793f8c10
+20207d1f
+204068c4
+204060d7
+204003b9
+2020400a
+20758000
+20207b9a
+20400411
+20204010
+203083cd
+708955d4
+20000004
+708955d2
+20000004
+708955d1
+20000004
+6fe241df
+c00003cb
+c00083db
+c00103cb
+c00183db
+c00203db
+c01003db
+708955d0
+708956e0
+18002a08
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890200
+70890100
+70890000
+70890300
+70890470
+6fe28906
+79207e00
+67e28906
+20600000
+708955d0
+708956c0
+202003cd
+204057af
+204003e1
+202058a7
+203683e8
+202057be
+60420017
+2040492a
+20404980
+58000500
+20404a8e
+6fe28906
+79207e00
+67e28906
+20204937
+7089067c
+20758000
+58000000
+67e441dd
+1c437e00
+67e84094
+20600000
+20204b7f
+2040501f
+efe80003
+67e84b81
+704b81ff
+202004de
+2040501f
+793f8026
+704b81ff
+20200491
+2040501f
+202004ab
+c593501c
+2040501f
+20200491
+6fe20b00
+1fe27200
+d8a04b81
+204067ed
+2020501f
+700affc0
+58000004
+204050a5
+6fe84b81
+e7e8000a
+202067b9
+700affc1
+2020504e
+700affc2
+2020504e
+c6930000
+6fe84b81
+67e84b81
+20400431
+24340427
+704b810a
+20400457
+6fe24b81
+c1ff8000
+7041df02
+20600000
+6fe24b81
+247a0000
+20404ad8
+6fe64170
+207a0000
+6fe24091
+207a0000
+5800e290
+20407d24
+6048415c
+20204b06
+20600000
+20404ad8
+6fe64170
+207a0000
+6fe24091
+207a0000
+6fe24b81
+243a0423
+6fe84b81
+20200424
+6fe24b81
+c0ff84b4
+20400438
+20540453
+20540523
+704b8101
+20600000
+78547c00
+704b8102
+6fe24b81
+c0008443
+c0010449
+c001844f
+c003044c
+c0038446
+6fe24b81
+245a7dbf
+20600000
+704b8100
+704b810a
+20200451
+704b8108
+704b8118
+20200451
+704b8103
+704b8104
+20200451
+704b8102
+704b8103
+20200451
+704b8101
+704b8108
+704b8100
+20207dbf
+d8a00b1e
+d8c04b81
+df200020
+20207cdc
+704b8100
+d9600d00
+34730200
+20400485
+24378467
+20400494
+6fe24b81
+1fe0fe01
+67e24b81
+704b8100
+6fe24b81
+c0ff8484
+20400479
+704b8100
+704b8100
+20600000
+704b8101
+6fe24b81
+1fe0fe01
+67e24b81
+6fe24b81
+c0ff8490
+6fe24b81
+c07f847d
+6fe24b81
+d8400010
+98467c00
+20210542
+6fe24b81
+1fe0fe01
+67e24b81
+2000000a
+c0838458
+20200542
+58000000
+67e00b1e
+67e04b81
+20600000
+20400491
+704b8100
+20400479
+704b8100
+6fe84b81
+67e84b81
+20600000
+202004ce
+7857fc00
+2040059b
+18002a00
+6fe84b81
+98001200
+68420017
+2040491c
+20404921
+2040055a
+20578595
+20600000
+20600000
+704b8100
+700a953a
+20207bab
+20400503
+6fe24b81
+207a0000
+98007200
+2040049c
+d8c00b20
+d8a00b1e
+20207cdc
+6fe20b1f
+2fe1f008
+24608000
+6fe20b20
+c07f84a3
+700affc3
+202004a4
+700affc4
+58000001
+204050a5
+68420b20
+e042000a
+204067b9
+704b8100
+20600000
+79200026
+204004b0
+20400463
+704b8101
+20600000
+704b8100
+704b814e
+6fe84b81
+20200515
+204004b0
+6fe24b81
+c000fdbf
+6fe24b81
+c00084bc
+c00104bf
+c00184c2
+20204a8b
+704b8111
+700f1eaa
+202004c4
+704b8112
+700f1e55
+202004c4
+704b8113
+700f1e22
+700f1f02
+6fe84b81
+67e80f20
+700f2400
+da200f1e
+d8400007
+204004fe
+20400523
+20400436
+20207dbf
+6fe24b81
+c17f8000
+c00884d4
+c00904d6
+c00984d8
+20600000
+704b8102
+20200463
+704b8103
+20200463
+704b81ff
+700a9539
+20407bab
+6fe80b20
+20400515
+20200463
+c6130000
+20400516
+20400542
+6fe24b81
+c1ff8000
+204004f0
+58000000
+67e44b81
+20404ad8
+200007d0
+6fe24b81
+c07f8491
+20400485
+243784f9
+20400479
+79200026
+700a953c
+20207bab
+700f1eff
+6fe24b81
+67e20f1f
+6fe84b81
+67e80f20
+d8400006
+da200f1e
+204004fe
+20200523
+6fe44b81
+1fe0fe01
+67e44b81
+20400542
+202004e6
+60424b81
+18427200
+d8a00b1e
+1a220c00
+20207cdc
+6fe20b1f
+1fe97e00
+67e24b81
+1fe0fe01
+d8c00b1f
+98c08c00
+efe60006
+67e64b81
+20600000
+68424b96
+58004b85
+98408a00
+1a227e00
+e7e20005
+18408401
+18410407
+60424b96
+20600000
+67e84b81
+da200000
+df200004
+d8c04b81
+efe20006
+9a20a200
+c2000519
+1a227e00
+67e44b81
+6fe24b81
+68424b82
+9840fe00
+67e24b81
+20600000
+6fe24b81
+1fe0fe02
+67e24b81
+6fe24b81
+67e20b1e
+6fe24b81
+1fe9fe00
+68424b81
+18410403
+18438400
+9841fe00
+68424b81
+9840fe00
+e7e20005
+6fe24b81
+c0ff8535
+6fe24b81
+e7e20005
+6fe24b81
+98007200
+6fe24b81
+c0008540
+d8c00b1e
+20407cdc
+6fe20b1e
+c001853e
+20600000
+700b1e02
+20600000
+d8c00b1f
+20207cdc
+68424b81
+20400548
+18408401
+18410403
+60424b81
+20600000
+6fe24b81
+1fe17e03
+1fefa204
+58004b81
+9a20fe00
+98408c00
+efe20006
+67e24b81
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+6fe24b81
+1fed8400
+79200401
+18431c00
+20600000
+20400551
+7826fc00
+7830fc00
+78507c00
+78287c00
+6fe44b81
+98003600
+37c18400
+242c0595
+7846fc00
+7825fc00
+7823fc00
+7824fc00
+09800008
+19897e00
+67e24b81
+68424b81
+98467c00
+24228595
+09800008
+19897e00
+67e20b1e
+6fe20b1e
+68424b81
+a8400e00
+24208595
+09800008
+19897e00
+e7e20005
+1fe97e00
+1fe1721f
+2022857e
+09800008
+19897e00
+e7e20005
+c200057a
+18a22200
+09800008
+19897e00
+67e24b84
+1a220a00
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e7e60005
+7845fc00
+20230595
+7837fc00
+6fe20017
+1fe0a200
+20404980
+7846fc00
+20404915
+6fe24b84
+1fe22200
+2040050c
+20600000
+784dfc00
+7845fc00
+20204649
+20404915
+68424b81
+20204930
+2040579e
+6fe84b81
+98001200
+20400551
+20400598
+79202a00
+782efc00
+78307c00
+7850fc00
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+784efc00
+782dfc00
+7823fc00
+7824fc00
+6fe24b81
+08008608
+6fe24b81
+98007200
+d8c00b1e
+efe20006
+08008608
+c20005b1
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+784dfc00
+20600000
+58000025
+67e444cc
+20405bf0
+20405c0c
+20405c19
+20205bf8
+204058a3
+20404915
+68420017
+2040491c
+200005dc
+20404921
+78287c00
+d960157c
+20205869
+204049ba
+7823fc00
+7824fc00
+09800008
+19897e00
+67e202d5
+09800008
+19897e00
+e7e20005
+1fe27200
+203a588b
+20205887
+c6078000
+20405c70
+247a0000
+6fe202d5
+1fe17e03
+67e244de
+efe20006
+67e244dd
+207a0000
+18c27e00
+67e444df
+6fe244de
+c001e044
+20405a76
+d8e00003
+24344bec
+20404bf0
+20205a6b
+efe40006
+c0025c8b
+c0035ed4
+c002de96
+20600000
+20405ac9
+2040599a
+6fe202d5
+2feffe04
+7920802a
+1fe37e00
+9842fe00
+2feffe02
+7920800f
+c6078000
+6fe202d6
+203a5996
+6fe2043b
+c3025996
+20407342
+204072b2
+7d3a000f
+247a0000
+20205996
+700affb3
+2020504e
+700affb4
+5800001c
+204050a5
+6fec4472
+e7ec000a
+6fec044b
+e7ec000a
+d8c043eb
+df200010
+204067d4
+202067b9
+704b7f00
+704b7e00
+700affb9
+58000001
+204050a5
+58000000
+e7e2000a
+204067b9
+20600000
+704bdb01
+20404e2f
+20400620
+6fe44652
+c4060000
+793ffe0c
+67e44652
+700affb6
+2020504e
+7041e300
+70465000
+70420400
+704b7e00
+704b7f00
+20600000
+20404e2f
+700affb1
+58000001
+204050a5
+58000000
+e7e2000a
+204067b9
+20204d34
+20200134
+58000002
+67e24650
+20600000
+6fe44652
+793ffe0c
+67e44652
+700affb6
+2040504e
+704b7e00
+58000001
+67e24b7f
+20600000
+6fe241e3
+c1008000
+6fe44652
+79207e0c
+67e44652
+700affb0
+2040504e
+7041e301
+20400134
+20204d89
+20200626
+58000005
+67e24b7e
+20600000
+20204d48
+20600000
+2020064c
+700affb5
+5800001c
+204050a5
+6fec40a0
+e7ec000a
+6fec0040
+e7ec000a
+d8c041bf
+df200010
+204067d4
+202067b9
+da604b7e
+da40065a
+20204d04
+6fe2027b
+79207e00
+79207e07
+67e2027b
+20600000
+da604650
+da40063b
+20204d04
+da604b7f
+da400665
+20204d04
+700aff99
+2040504e
+20204d64
+2040564b
+247a0000
+6fe20b00
+1fe0a201
+2040513d
+6fe44220
+e7e40005
+580000a1
+e7e20005
+6fe20b00
+1fe27200
+204067ed
+2020501f
+efec0003
+67ec41d1
+efe40003
+67e440b9
+d8a041bf
+df200010
+204067ed
+204068be
+20400134
+20404d5c
+2020501f
+6fe40260
+1fe20c00
+efe20006
+1fe1040f
+1ff1fe00
+c004d12d
+c003d12d
+c005068c
+c00286a0
+c00086a2
+c002512d
+20600000
+20200691
+efe40006
+67e40a96
+c000869a
+20600000
+700affb2
+6fe40262
+1fe0ffff
+1fe27200
+204050a5
+6fe40260
+1fe20c00
+204067c1
+202067b9
+700affb2
+58000002
+204050a5
+6fe40a96
+e7e4000a
+202067b9
+2040068c
+20205126
+18427e00
+c002d11e
+704b8001
+c001d12d
+704b8000
+c002512d
+20600000
Index: shoubing/output/romcode.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/romcode.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/romcode.rom	(working copy)
@@ -0,0 +1,16384 @@
+20404abb
+44804000
+20800000
+2040496a
+20404a95
+20405144
+4480c000
+204068c4
+204060d7
+20407b81
+20404c77
+44814000
+2055cc7c
+2040741f
+2055cb1d
+4481c000
+20407591
+20407964
+20407422
+20405736
+44824000
+20404034
+20404c86
+2040408b
+204042f4
+20404366
+2040401d
+20404b3f
+2020400f
+20404022
+c6848000
+793f8009
+2040421f
+202057a8
+4482c000
+2040425a
+2422c02b
+20404206
+1a208c01
+efe20006
+c280573a
+c280c162
+202043cb
+20404227
+1f227c00
+20628000
+20404206
+6fe20030
+c281c0cf
+6fe20031
+c280c162
+202043cb
+6fe241cf
+207a0000
+c000c044
+c0014049
+c001c04c
+c002c051
+c00dc041
+20404253
+20628000
+20404256
+20628000
+7041cf00
+20600000
+7004971b
+7041cf00
+20600000
+7920001c
+793f801e
+70008fff
+70008d1f
+2020403f
+793f801c
+18003600
+2020403f
+20404256
+20628000
+18000401
+70016c05
+20204058
+44834000
+6fec41d1
+203a403f
+70465101
+70005503
+20204057
+18000425
+4483c000
+6fe200ef
+203a405e
+1fe9fe00
+1ff27e00
+1fe0ffff
+67e240a6
+67e200ee
+70008e1f
+793f800c
+20404237
+2422c07f
+20404a6e
+67e20077
+6042007c
+6fec41d1
+67ec0040
+44844001
+20407cf0
+18007e00
+2841fe01
+7d20fe05
+79207e03
+67e20030
+700a9503
+20407bab
+18007e00
+7920fe04
+67e2004c
+58000000
+79207e01
+67e20031
+7834fc00
+2040421f
+7854fc00
+18000e03
+6fe440b9
+20407ce3
+2020403f
+4484c001
+6fec41d1
+67ec0040
+2841fe01
+2020c085
+2020403f
+d8a000ff
+df200008
+20407ca1
+700a9504
+20407bab
+2020403f
+c68e0000
+18000e01
+20407cf1
+7d3a001c
+243a4091
+20600000
+44854001
+684440bb
+18000e04
+20404718
+20740000
+204048a0
+18004800
+20618000
+793f800b
+793f8000
+1c40c201
+280ffe1e
+7920c802
+2c200400
+2420c0ba
+4485c001
+6fe20012
+1fe0fe01
+67e20012
+204048d4
+204048ce
+204048ee
+20404a50
+20404a55
+20404a63
+20404649
+204040ad
+20204098
+44864001
+6fe2008d
+1fe0ffff
+67e2008d
+20610000
+70008d1f
+6fe2008f
+1fe0ffff
+67e2008f
+20610000
+7940001e
+70008fff
+20600000
+4486c001
+204048d4
+204048c8
+204048ee
+20404a5a
+204049ea
+20404a0c
+202c40c4
+204040ad
+2020409b
+44874001
+204049ba
+20404a6a
+2040451a
+793f8001
+c6858000
+4487c001
+6fe20013
+1fe0fe01
+67e20013
+20600000
+44884002
+7834fc00
+78387c00
+6fe440b5
+203a40d7
+18000e08
+20407cf1
+247a0000
+4488c002
+684440b7
+18000e28
+20404718
+20344110
+18000e03
+20407cf1
+243a40ec
+6fe2004c
+c28240e2
+202040e5
+d8a000ff
+df200008
+20407ca1
+44894002
+70003000
+204060d8
+70465100
+700a9513
+20407bab
+20204110
+4489c002
+18001600
+34730200
+6fe200f0
+1fe0ffff
+9c42fe00
+2fe00600
+2420c0ec
+18827e00
+67e2017f
+18004c00
+18004800
+448a4002
+2021c110
+204048d8
+d9600600
+34730200
+448ac002
+6fe800f0
+98004200
+1fe0fe01
+67e800f0
+280ffe0c
+7920c802
+2c200400
+2420c124
+6fe2000c
+1fe0fe01
+67e2000c
+204048ce
+20404a50
+20404a55
+20404a63
+20404649
+20404116
+202040f8
+448b4002
+7854fc00
+6fe440b5
+207a0000
+18000e08
+20207ce3
+448bc002
+6fe2008e
+1fe0ffff
+67e2008e
+20610000
+70008e1f
+6fe200ee
+1fe0ffff
+67e200ee
+20610000
+7940000c
+6fe240a6
+67e200ee
+20600000
+448c4003
+204048c8
+20404a5a
+204049ea
+20404a0c
+202c412c
+20404116
+202040fd
+20404649
+6fe2000d
+1fe0fe01
+67e2000d
+18003600
+6fe800f0
+448cc003
+20404a4e
+204048d8
+1cc0cc01
+1c2143fd
+1c8149fc
+204048ce
+20404a50
+20404a55
+20404a63
+1c427e00
+67e8015f
+18000800
+18000202
+20404a6a
+20404762
+448d4003
+20404a4c
+1c21c202
+1c8149fc
+204048c8
+20404a5a
+204049ea
+20404a0c
+204c4649
+202c4151
+6fe20010
+203a40f8
+1fe0ffff
+67e20010
+20204132
+448dc003
+6fe2000e
+1fe0fe01
+67e2000e
+20404431
+204042ee
+202c415b
+20404451
+243a4156
+202040f8
+448e4003
+6fe20030
+793ffe03
+67e20030
+2040443c
+7854fc00
+20600000
+448ec003
+7834fc00
+78387c00
+204041dd
+20740000
+20404c24
+20404a4e
+1c40c201
+204048de
+18004803
+20406b81
+20404485
+204048ce
+20404a50
+20404a55
+20404a63
+2040475e
+448f4003
+204060e9
+204042e0
+2436c17c
+20404a87
+20404724
+6fe2000f
+1fe0fe01
+67e2000f
+448fc003
+20406b69
+20404187
+24748000
+204046ef
+243a4184
+7854fc00
+20600000
+20404485
+204042d6
+20204173
+2036c18a
+20404a7e
+20214198
+204041a3
+24344198
+6fe2004c
+c4020000
+c3818000
+6fe2004b
+c3818000
+204041aa
+247a0000
+6fe2016c
+1fe0ffff
+67e2016c
+247a0000
+202063e8
+44904004
+20404459
+7854fc00
+6fe2004c
+c282419e
+20600000
+6fe2004c
+c3818000
+d8a000ff
+df200008
+20207ca1
+4490c004
+78347c00
+6fe2004b
+c4018000
+204041aa
+247a0000
+20207dc1
+6fe20072
+1fe0ffff
+67e20072
+20600000
+44914004
+6fe20030
+c283c1b7
+6fe209b1
+203a41b7
+7009b100
+700a9518
+20407bab
+202041b7
+4491c004
+20404250
+6fe20030
+79207e07
+67e20030
+7041be01
+6fe20055
+c08b41bf
+20600000
+7009b101
+6fe20030
+793ffe07
+67e20030
+20600000
+44924004
+78547c00
+6fe40032
+d840ffff
+98467c00
+24628000
+6fe80034
+203841cf
+9d067e00
+202041d0
+9c467e00
+1fe67c04
+24610000
+18007e00
+67e40032
+20207dbf
+1fe20400
+4492c004
+60480034
+70452d01
+5800ffff
+67e40032
+70007301
+20600000
+44934004
+204041c5
+24740000
+78547c00
+70001120
+793f800b
+20404a4e
+204042e2
+c505c1f0
+20404451
+243a41e3
+4493c004
+78547c00
+1c427e00
+67e840ca
+78387c00
+7834fc00
+700a952a
+20207bab
+44944005
+20404a4c
+d8200010
+204042d8
+78587c00
+7854fc00
+20404814
+20404431
+4494c005
+20404478
+2036c1fe
+20404451
+243a41f8
+202041e8
+6fe20031
+793ffe01
+67e20031
+20404a87
+2040483d
+78347c00
+700a952b
+20207bab
+44954005
+79200009
+1a227e00
+67e4001e
+18007250
+d8a0043b
+1a208c01
+efe20006
+1a220c00
+c2807cdc
+d8a00030
+20407cdc
+78577c00
+6fe20077
+98000800
+70008a01
+2034c218
+70008a01
+6fe20030
+c4008000
+6fe20073
+67e2008a
+6fe20074
+67e2008b
+20600000
+4495c005
+6fe4001e
+98000a00
+18007250
+d8c0043b
+203b7cdc
+d8c00030
+20207cdc
+df200001
+68420015
+18408401
+2841fe01
+2420c22d
+d8400000
+60420015
+184ffe50
+da204040
+9a20a200
+efe20011
+c280c235
+c3800000
+c3818000
+c2004229
+20600000
+44964005
+da604266
+2040425d
+24628000
+1a227e00
+67e4001e
+18007c00
+20600000
+20404721
+2020c247
+6fe4001e
+1fe08a17
+6fe20047
+e7e20005
+da6042a6
+2020425d
+6fe20047
+2feffe03
+2020c24c
+18007c01
+20600000
+18007c00
+20600000
+da6042a3
+2020425d
+6844001e
+da6042cb
+2020425d
+684241d0
+da604271
+2020425d
+4496c005
+684c41d1
+da60426a
+2020425d
+da604277
+2020425d
+da6042c2
+44974005
+da204040
+df200001
+efe20011
+1a627a00
+1a20a250
+c2004260
+18007c01
+20600000
+c2804262
+c281c262
+18007c00
+20600000
+c281c26c
+c3004262
+1a208c10
+efec0006
+98467c00
+20628000
+20204262
+c3004262
+1a208c16
+efe20006
+98467c00
+20628000
+20204262
+c300c262
+204042af
+20404293
+98467e00
+1fe0fe01
+2021428d
+18c22400
+67f20a9e
+6fe24492
+243a4285
+6ff20a9e
+1a420c00
+1fe0fe05
+20204288
+6ff20a9e
+1a420c00
+1fe0fe14
+24214262
+18424200
+204042bb
+18007c00
+20600000
+98002400
+1a208c02
+efe40006
+203a4289
+204042bb
+20204278
+1ff11600
+196c9600
+2022c29d
+29601e0f
+24608000
+18511600
+196c9600
+24628000
+7920041c
+20600000
+18511600
+196c9600
+29601e0f
+24608000
+79207e1c
+20600000
+c3004262
+18007c00
+20600000
+c3004262
+1a208c01
+efe20006
+c2804262
+1a208c17
+efe20006
+c301c262
+18007c00
+20600000
+1a208c01
+e8420006
+1c427e00
+284ffe01
+1a208c04
+e8480006
+20608000
+1a208c08
+efec0006
+20404850
+1d027e00
+20600000
+1a208c02
+1a208a04
+efe40006
+98409600
+19627e00
+e7e80005
+20205823
+c300c262
+204042af
+9b60fe00
+9b60fe00
+98e0fe00
+98467c00
+24214262
+18007c00
+20600000
+c3004262
+18427e00
+9a267c00
+203f4262
+1a208c01
+efe20006
+c2804262
+efe20011
+793ffe07
+e7e20011
+20204262
+4497c005
+20404a4e
+1c40c201
+204048de
+18004803
+204048ce
+20404a50
+20404a55
+20404a63
+2020475e
+44984006
+20404a4c
+1c40c201
+204048de
+18004803
+204048c8
+20404426
+204049f0
+20404a5a
+204049ea
+20404a0c
+246c0000
+204049ba
+20204518
+4498c006
+6fe2017f
+98000800
+18000201
+204042d6
+202042e0
+6fe24093
+c4000000
+18000e04
+20407cf1
+247a0000
+684440ad
+18000e04
+20404718
+20740000
+20404304
+18000e04
+6fe440af
+242c7ce3
+180a7e00
+9ea17e00
+20207ce3
+44994006
+70017f00
+78587c00
+78577c00
+204048a0
+1c4143fc
+18004801
+204048d4
+204048c8
+7940001d
+6fe20006
+1fe0fe01
+67e20006
+204048ee
+204049ea
+20404a13
+246c0000
+4499c006
+18003600
+204048f5
+6fe20007
+1fe0fe01
+67e20007
+204048d4
+20404a4c
+1c21c202
+18004801
+204048ce
+204048ee
+20404a50
+20404a5e
+1c427e00
+67e8015f
+20404a63
+18000202
+18000800
+20404a6a
+20404762
+2040432e
+1c2143fd
+1cc0cc01
+20600000
+449a4006
+6fe240d1
+207a0000
+d8a0018c
+6fe244e7
+1fe27200
+1fe0fe01
+e7e20005
+18a20400
+1fe0fe01
+67e441dd
+18420a00
+58000009
+e7e20005
+d8c044e8
+20407cdc
+da60455f
+df200004
+20404350
+da604549
+df200001
+20404350
+1800020a
+7041dc02
+5800018c
+67e4016d
+20404a4c
+204048ce
+20404a50
+20404a5e
+20404a63
+20404a6a
+20404762
+20600000
+18a20400
+1a620c00
+efe20006
+207a0000
+1fe3fe00
+c2004354
+1fe22200
+1fe0fe02
+1fe20e00
+6fe441dd
+98e0fe00
+67e441dd
+18420a00
+1a227e00
+1fe0fe01
+e7e20005
+1a620c00
+efe20006
+efe20006
+e7e20005
+1a227200
+20207cdc
+6fe24093
+c4008000
+18000e05
+20407cf1
+247a0000
+684440b1
+18000e28
+20404718
+20740000
+18000800
+70001008
+793f800b
+20404376
+18000e05
+6fe440b3
+20207ce3
+449ac006
+78587c00
+204048a0
+6fe20008
+1fe0fe01
+67e20008
+18004c00
+204048de
+1c40c201
+18004802
+449b4006
+204048c8
+204049ea
+20404a13
+246c0000
+204048f5
+6fe20009
+1fe0fe01
+67e20009
+18003600
+20404a4c
+1c21c202
+18004801
+204048ce
+20404a50
+20404a5e
+20404a63
+20404649
+18000800
+d9600600
+35330200
+1d01d003
+1c2143fd
+449bc006
+1cc0cc01
+204048c8
+204049ea
+20404a06
+242c43a0
+20404a6a
+2040451a
+c505c3a7
+449c4007
+6fe20010
+207a0000
+1fe0ffff
+67e20010
+20404a4e
+20204397
+449cc007
+793fd001
+79205000
+6fe2000a
+1fe0fe01
+67e2000a
+20404a4c
+1c21c202
+204048ce
+20404a50
+20404a5e
+20404a63
+20404649
+2d000603
+2020c3b8
+37cb8200
+202043b4
+6fe80163
+1fe1fe03
+1fe25000
+449d4007
+6fec0176
+67ec0040
+20404431
+20404478
+2036c3c4
+20404451
+243a43bf
+20600000
+449dc007
+2040443c
+20404237
+24628000
+70003100
+2040483d
+2020421f
+449e4007
+2040484c
+204043ef
+20740000
+449ec007
+20404c24
+20406b69
+20404510
+2436c3de
+20404a87
+20406b81
+20404485
+20404753
+20404724
+204060e9
+6fe2000b
+1fe0fe01
+67e2000b
+2040483d
+449f4007
+20404b86
+20404a7e
+202143e7
+204041a3
+243443e7
+204046ef
+243a43cf
+20600000
+449fc007
+70014f00
+70017d00
+20404459
+793f8011
+20407d8c
+6fe20030
+20600000
+44a04008
+204041c5
+24740000
+18820400
+20404a6e
+67e2017f
+18420800
+70001120
+44a0c008
+20404a4e
+18000202
+2040474b
+1c427e00
+67e8015f
+2040475e
+20404a4c
+7837fc00
+204044f2
+202c4409
+204048f5
+20404451
+243a43f7
+c6820000
+70007c34
+79200003
+20600000
+78387c00
+20404431
+204048a0
+44a14008
+204042ee
+202c4415
+20404451
+243a440c
+78587c00
+1d027e00
+67e840ca
+20600000
+7834fc00
+c582441b
+793f8004
+70007c03
+70007d33
+204066da
+18827e00
+67e20077
+18007e00
+67ec0038
+6fe20031
+79207e01
+67e20031
+20404a87
+7854fc00
+78347c00
+20600000
+44a1c008
+7856fc00
+793f8005
+793f800a
+793f8010
+793f800f
+6fe20047
+793ffe05
+79207e04
+67e20047
+20600000
+44a24008
+70001120
+70004750
+6fe440bf
+67e4003e
+1c427e00
+67e840ca
+20780000
+1d027e00
+67e840ca
+20600000
+44a2c008
+204060e5
+20404455
+67e20046
+58000000
+67e40259
+58001c80
+67e40051
+6fe20030
+79207e00
+67e20030
+70004b00
+70004c00
+7000a000
+20204a87
+44a34008
+18007e00
+67f041bf
+e7f00005
+204041c1
+20204250
+6fe20011
+1fe0ffff
+67e20011
+20600000
+6fe240cf
+1fe0fe01
+67e240cf
+20600000
+44a3c008
+6fe241cf
+c001c45e
+6fe20048
+c080c462
+204050ec
+2422c462
+204041a0
+7041cf00
+44a44009
+20404d3a
+204046e5
+700a9502
+20407bab
+204060d8
+20405145
+20407432
+6fe20030
+793ffe00
+67e20030
+70465100
+6fe2004c
+2fe18000
+2020c472
+793f8001
+6fe20047
+c301c474
+6fe2004b
+c4030000
+793f8002
+20600000
+44a4c009
+6fe20172
+207a0000
+1fe20800
+20404510
+24768000
+18000200
+20404753
+18827e00
+67e20077
+18007e00
+67e20172
+20600000
+44a54009
+6fe20030
+c3014492
+18000207
+c583c491
+20404721
+2420c492
+20374492
+204044bd
+58000002
+67e440c8
+20600000
+24770000
+44a5c009
+2040423f
+2422c4a3
+6fe20047
+c301c4ac
+c502c4b0
+6fe2017d
+c28344b6
+6fe440c8
+1fe0ffff
+67e440c8
+203a44a1
+6fe240c5
+98000200
+20600000
+44a64009
+20404683
+20404721
+2020c4ac
+204063ec
+203444ba
+6fe2004b
+c28344bc
+c502c4b0
+6fe2017d
+c28344b6
+18000201
+20748000
+18000200
+20600000
+44a6c009
+6fe20019
+98000200
+c1808000
+18000200
+20600000
+6fe20156
+1fe1020f
+79200005
+20600000
+18000213
+202044bd
+204044c6
+44a74009
+68420047
+79200403
+60420047
+18227e00
+67e240c5
+5800ffff
+67e440c8
+20600000
+44a7c009
+6fe2004c
+2feffe05
+6fe441dd
+2020c4dc
+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
+6fe20030
+c300c4f1
+6fe40032
+203a44f1
+243744f3
+20404a4e
+1d00c201
+78287c00
+6fe4003e
+1fe37e00
+d8400500
+9840fe00
+20404a23
+204048e6
+18004803
+204048c8
+20404426
+204049f0
+44a8400a
+6fe4003e
+1fe37e00
+20404a23
+204049ea
+7826fc00
+6fe4003e
+d84003bb
+9840b600
+37c18400
+1b420400
+604c009a
+7846fc00
+246c0000
+dd2003bb
+1c225000
+2035cae6
+20600000
+44a8c00a
+204044ec
+242c48f5
+204049ba
+c588c518
+6fe400f4
+1fe0fe01
+67e400f4
+1c230400
+18419c40
+44a9400a
+7823fc00
+78257c00
+7825fc00
+09800003
+198cfe00
+67e2015b
+09800004
+08008007
+19827e00
+67e20019
+09800003
+198cfe00
+67e2015c
+6fe20019
+1fe67c03
+2021452f
+c003c52f
+6fe2004c
+2feffe05
+7920aa01
+44a9c00a
+09800008
+7845fc00
+78457c00
+2023462d
+c588c538
+6fe400f6
+1fe0fe01
+67e400f6
+44aa400a
+6fe2015b
+2fe00e00
+7920800a
+2020c548
+a8800e00
+2020c547
+c583c649
+684200ae
+a8400e00
+2420c649
+6fe20047
+793ffe05
+79207e04
+67e20047
+7836fc00
+44aac00a
+6fe20019
+1fe20200
+c5054557
+6842015c
+6fe20047
+793ffe00
+284ffe00
+7920fe00
+284ffe01
+7920fe01
+67e20047
+284c0001
+2020c557
+20404683
+44ab400a
+d8400000
+20404a1b
+18217e0f
+c000c583
+c0004649
+c0014655
+6842015c
+6fe20047
+a8400800
+2420c565
+c5854564
+c303c565
+7920000f
+44abc00a
+18227e00
+c001c585
+c0024589
+c003c574
+c0044588
+d8400004
+20404a1b
+c0054584
+c005c587
+d8400008
+20404a1b
+c0074584
+c007c587
+20600000
+44ac400b
+7826fc00
+7824fc00
+78277c00
+d8a000cf
+1800721e
+09800008
+19897e00
+e7e20005
+c200457a
+c583c649
+09800010
+7d230008
+20234639
+2020461c
+20204649
+79200010
+78267c00
+2020458a
+79200010
+79202a02
+7826fc00
+44acc00b
+c500c649
+2aac0001
+2020c596
+7843fc00
+7826fc00
+78467c00
+1c409602
+34530400
+242c4639
+79200010
+7823fc00
+44ad400b
+78277c00
+7824fc00
+09800003
+198cfe00
+67e2017e
+09800005
+c50845a1
+19897200
+1f297200
+202045a4
+09800005
+19837200
+09800003
+44adc00b
+1f227e00
+67e4015d
+203a45e4
+9ea67c00
+20214639
+44ae400b
+793f8000
+6fe2017e
+1fe17e03
+d8a0054d
+c001c5b6
+c508c5e0
+6fe2017e
+1fe17e03
+c00145bb
+c000c5cf
+20204639
+6fe4015d
+1fe67c70
+24214639
+c507c61c
+202045e0
+44aec00b
+c507c61c
+6fe4015d
+d84002e0
+98467c00
+20214639
+6fe2025f
+c30045c5
+c300c5ca
+20204649
+70025d01
+6fe40259
+c0804649
+d8a01000
+202045e0
+70025d02
+6fe4025b
+c0804649
+d8a01400
+202045e0
+44af400b
+c507c61c
+6fe4015d
+d84002e0
+98467c00
+20214639
+6fe2025d
+c000c5d9
+c00145dd
+20204649
+d8a01000
+6fe40259
+98a08a00
+202045e0
+d8a01400
+6fe4025b
+98a08a00
+09800008
+19897e00
+e7e20005
+c20045e0
+44afc00b
+09800010
+20234633
+6fe24335
+c000c649
+c508c609
+c507c646
+6fe2017e
+2fe00603
+2020c609
+6fe4015d
+203a4609
+44b0400c
+6fe2025d
+c000c5f5
+c00145ff
+20204a8b
+6fe40259
+6844015d
+9840fe00
+67e40259
+c0004a8b
+68441000
+18408404
+98467c00
+2042c743
+20204609
+6fe4025b
+6844015d
+9840fe00
+67e4025b
+c0004a8b
+68441400
+18408404
+98467c00
+2042c747
+20204609
+44b0c00c
+6842004c
+6fe2017e
+2fe00603
+79208406
+7d208407
+6042004c
+2420c612
+79200001
+c588c61c
+284ffe06
+2020c61c
+6fe400f8
+1fe0fe01
+67e400f8
+79200005
+793f8407
+793f8001
+6042004c
+44b1400c
+6842015c
+6fe20047
+79207e05
+284ffe02
+7920fe02
+280ffe0a
+7920fe07
+67e20047
+6fe4015d
+243a4649
+6fe2004c
+793ffe07
+67e2004c
+6fe2017e
+2fe00e01
+20204649
+44b1c00c
+7856fc00
+6fe4001a
+1fe0fe01
+67e4001a
+20204649
+6fe4001c
+1fe0fe01
+67e4001c
+2040463a
+c588c639
+79200005
+20204649
+44b2400c
+6fe2017e
+2fe00603
+2420c642
+6842004c
+793f8406
+6042004c
+20600000
+6842004c
+793f8407
+6042004c
+20600000
+6fe20047
+79207e05
+67e20047
+44b2c00c
+784efc00
+784e7c00
+7846fc00
+78467c00
+7844fc00
+78477c00
+7843fc00
+2030c8f5
+37d38200
+20000064
+202048f5
+44b3400c
+7824fc00
+78267c00
+09800048
+2feffe3a
+79208000
+1c020400
+57e04000
+57e03c00
+782afc00
+380bffff
+380cffff
+20000020
+29a80000
+1d827e00
+67e60176
+1da27e00
+67e20179
+18424000
+2020c66a
+20204639
+44b3c00c
+09800048
+57e03e00
+57e00800
+57e05c00
+57e02400
+18007e00
+09800010
+20234639
+5ffffffc
+9a417e00
+67e80163
+1ba27e00
+67e60173
+1b827e00
+67e20171
+18827e00
+67e20172
+1dc27e00
+67e4017a
+1c227e00
+08008220
+28201e02
+7920800b
+20204649
+44b4400d
+6fe20047
+c4018000
+793ffe03
+79407e06
+67e20047
+6fe240c5
+c009c698
+c1038000
+6fe2004b
+c4030000
+793ffe06
+79207e07
+67e2004b
+793f8002
+6fe44218
+247a0000
+6fe2004b
+793ffe07
+67e2004b
+20205637
+44b4c00d
+6fe204b3
+1fe37e00
+c008c6b4
+c00946bc
+c00c46e5
+c03fc6a4
+c1818000
+6fe204b4
+c015c6ac
+c008c6a7
+20600000
+6fe204b4
+79207e07
+20600000
+20748000
+6fe20030
+c3820000
+70007c31
+20600000
+20748000
+6fe20031
+2feffe04
+2020c6b1
+20600000
+793ffe04
+67e20031
+20600000
+44b5400d
+6fe2004c
+79207e02
+67e2004c
+70801101
+6fe20030
+2feffe04
+20600000
+44b5c00d
+6fe2004c
+793ffe02
+67e2004c
+70801100
+20600000
+44b6400d
+1c427e00
+67e8420b
+1c40a203
+2034c6c8
+1d00a203
+68440032
+1a227e00
+793ffe1b
+9846fc00
+6fe40075
+20407d61
+18072600
+9a667e00
+202146d2
+9840fe00
+9a20fe00
+67e80034
+70452d00
+6fe20030
+79207e01
+67e20030
+6fe20073
+67e2008a
+58000000
+67e6416a
+67e6416d
+67e2415a
+700a950b
+20407bab
+6fe440c1
+67e4003e
+24748000
+18808fff
+20600000
+44b6c00d
+6fe20030
+c4008000
+793ffe01
+67e20030
+6fe440bf
+67e4003e
+7855fc00
+700a950c
+20207bab
+44b7400d
+78377c00
+6fe20030
+c280c6fc
+c6088000
+6fe20047
+c3818000
+6fe20048
+247a0000
+6fe2004b
+c3830000
+18007e00
+20600000
+c301470b
+6fe2008a
+c0014702
+6fe20047
+c281c714
+c5844714
+2434c714
+6fe20048
+243a4714
+6fe200ed
+1fe0ffff
+67e200ed
+243a46fa
+7000ed10
+20204714
+6fe2008a
+c080c714
+6fe2008b
+203a4714
+1fe0ffff
+67e2008b
+6fe20047
+c3818000
+24768000
+6fe2008a
+1fe0ffff
+67e2008a
+20600000
+44b7c00d
+78487c00
+18423600
+2040425c
+78547c00
+24628000
+18003600
+78347c00
+20600000
+6fe24159
+a881fe00
+20600000
+44b8400e
+793f8001
+70026600
+6fe2025f
+207a0000
+2feffe00
+d8c01000
+2040d153
+44b8c00e
+6fe20266
+c000c737
+70026600
+6fe2025f
+c4008000
+d8c01400
+20405153
+6fe20266
+c000c73d
+20600000
+6fe2025f
+793ffe00
+67e2025f
+58000000
+67e40259
+20600000
+6fe2025f
+793ffe01
+67e2025f
+58000000
+67e4025b
+20600000
+6fe2025f
+79207e00
+67e2025f
+20600000
+6fe2025f
+79207e01
+67e2025f
+20600000
+44b9400e
+1d00c201
+204048e6
+18004803
+204048ce
+20404a50
+20404a5e
+20204a63
+44b9c00e
+20404a4c
+1d027e00
+684840ca
+98467e00
+c1808000
+28203e00
+2420c75d
+6fe20019
+207a0000
+2040474b
+28203e10
+2020c649
+1c230400
+18419c40
+44ba400e
+7823fc00
+78257c00
+782dfc00
+793f8010
+18827e00
+08008603
+18227e00
+08008604
+6fe20047
+08008004
+08008603
+78247c00
+08008608
+784dfc00
+78447c00
+78457c00
+793faa02
+d8400000
+20404a1b
+44bac00e
+18217e1f
+c009c7b0
+c0004649
+c000c649
+c0014793
+c001c7c1
+c00247c7
+c003c788
+c00447c6
+d8400004
+20404a1b
+c00547c3
+c005c7c9
+d8400008
+20404a1b
+c007c7c9
+202047c3
+44bb400e
+782efc00
+7824fc00
+78277c00
+1800721e
+d8c000b1
+efe20006
+08008608
+c200478e
+c503c7f3
+20204649
+44bbc00e
+6fe2017f
+1fe20800
+6fe20090
+1fe23800
+6fe640aa
+1fe23a00
+6fe440a4
+1fe25c00
+7824fc00
+782e7c00
+1c022200
+204048de
+782afc00
+20000020
+1c221600
+6fe8015f
+1fe24200
+53c07e00
+79207e3a
+08008648
+53e07e00
+08008648
+19624200
+1a224000
+78247c00
+08008610
+78447c00
+20204649
+44bc400f
+78277c00
+7824fc00
+782e7c00
+6fe204b2
+1fe105f8
+d8c004b2
+18408408
+1840a7b8
+242147be
+eff20006
+08008648
+1a620400
+202047b8
+eff20006
+08418600
+202047f3
+782e7c00
+202047cc
+782e7c00
+79200010
+202047cc
+79202a02
+782efc00
+202047cc
+79202a02
+782efc00
+79200010
+44bcc00f
+6fe2004c
+c302c7e1
+18267c03
+202147e1
+78477c00
+784e7c00
+782efc00
+7843fc00
+79202a01
+2aaffe02
+2020c7db
+580abeee
+08008614
+202047df
+585faeba
+08008618
+58000012
+08008606
+7823fc00
+79200010
+78277c00
+7824fc00
+c502c7fc
+6fe241dc
+08008603
+6fe441dd
+98007200
+c50847eb
+08008605
+202047ec
+0800860d
+1f227e00
+203a47f3
+6fe4016d
+98000c00
+efe20006
+08008608
+c20047f0
+78247c00
+08008610
+78447c00
+204044bd
+6fe2004c
+c302c649
+18007e00
+08008606
+20204649
+44bd400f
+c5084804
+6fe2017e
+08008603
+6fe2015d
+98002600
+08008605
+20204809
+6fe2017e
+08008603
+6fe4015d
+98002600
+0800860d
+d8c0054d
+1a627c00
+2022c810
+efe20006
+08008608
+1a60a7ff
+2020480a
+6fe400fa
+1fe0fe01
+67e400fa
+202047f3
+6fe80163
+1fe0a207
+6fe4016f
+243a481a
+1a20a3fd
+20204822
+1feffe0c
+68448040
+18408401
+98467e00
+24214821
+1a20a3ff
+2020481d
+1fe67e00
+37d18200
+2c400600
+2420c822
+98005200
+1a225000
+98005200
+20600000
+44bdc00f
+37d10200
+1b427e00
+98000c00
+1ff17e00
+9c467200
+1f217203
+2422c833
+18007e00
+20204837
+d8400ea6
+18007e00
+9840fe00
+c2004835
+98c0fe00
+1fe6fc0c
+20407d61
+1807fe00
+67e4016f
+20600000
+44be400f
+1b427e00
+1b220400
+98467c00
+7d217e2c
+98460400
+58000ea6
+284c000f
+2020c848
+5fff0ea6
+98408400
+604c0443
+207b0000
+604c0038
+20600000
+78587c00
+6fec0443
+203b4850
+6fec0038
+9b20e000
+1e00e00a
+58000ea6
+9e067e00
+2fec000f
+2020c85a
+5800f15a
+9e00e000
+1e023400
+20600000
+18007c00
+20204858
+44bec00f
+20404915
+1c227e00
+1fe17f80
+2c800e03
+2420c865
+1fe97e00
+9ae0fe00
+20204866
+1ae27e00
+1fe6fc4f
+782afc00
+20407d61
+18072200
+1a2085d8
+2021486e
+1a238400
+20204870
+18438400
+18408401
+44bf400f
+6fe20031
+c301c881
+6fe840d2
+9c267c00
+20214881
+204048a0
+6fe240d9
+207a0000
+6fe20031
+79207e02
+67e20031
+6fea40e7
+67ea40da
+efea0006
+67ea40df
+204048a5
+6fe20031
+c4010000
+2c2ffe01
+2020c89d
+18492200
+18410e07
+580040da
+9a20a200
+efe20011
+afec0000
+2020c88e
+18427e00
+2020489a
+6fe240e4
+98002400
+1c227e00
+1fe17f80
+1fe97e00
+9ae0fe00
+9a46fc00
+580040f2
+20407d61
+18072200
+9a208c00
+efe20006
+67e240e5
+98000400
+20600000
+6fe240e5
+98000400
+20600000
+6fe20031
+793ffe02
+793ffe03
+67e20031
+20600000
+44bfc00f
+d8a040f2
+1800720a
+20407ca1
+d8a040f2
+18002600
+18000e02
+6fea40da
+98000400
+28e1fe02
+2020c8b1
+18430400
+284c0000
+2020c8b5
+1a627e00
+e7e20005
+184b0400
+1a60a602
+2a61fc28
+2420c8be
+6fea40df
+98000400
+28e1fe02
+2020c8be
+18430400
+1a667c4e
+202148b1
+18002601
+18e08fff
+2422c8ac
+da2040f2
+18a27e00
+9a267e00
+67e240e4
+20600000
+44c04010
+2040485c
+6fe2017d
+c302c8cd
+684204c8
+2020491c
+44c0c010
+2040485c
+6fe2017d
+c30248d3
+684204c7
+20204930
+18005a00
+6fe640a7
+98005800
+20600000
+44c14010
+6fe241d4
+1fe25a00
+6fe641d1
+1fe25800
+20600000
+44c1c010
+6fe440a4
+1fe25c00
+6fe240a3
+1fe25a00
+6fe640a0
+1fe25800
+20600000
+44c24010
+6fe40044
+1fe25c00
+6fe20043
+1fe25a00
+6fe60040
+1fe25800
+20600000
+c51048f1
+c68e8000
+c68f8000
+1d815900
+782afc00
+20000020
+20600000
+44c2c010
+2030c906
+708955d4
+20000004
+708955d2
+20000004
+708955d1
+20000004
+6fe241df
+c0004904
+c000c912
+c0014904
+c001c912
+c0024912
+c0104912
+708955d0
+708956e0
+18002a08
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890200
+70890100
+70890000
+70890300
+70890470
+70890600
+20600000
+708955d0
+708956c0
+20204906
+44c34010
+70890200
+70890100
+70890018
+708903a7
+7089047f
+20600000
+44c3c010
+60420017
+1840a204
+70896d07
+20204980
+44c44011
+708901cf
+2000000a
+708900ff
+708903af
+708904ff
+2000000a
+708902a0
+20600000
+6fe241e1
+203a492e
+1840a202
+20600000
+1840a200
+20600000
+44c4c011
+60420017
+2040492a
+20404980
+58000500
+20404a8e
+70890601
+7089003c
+708901e0
+70896d12
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027f
+6fe241df
+c0004948
+c000c94c
+c0014950
+c001c954
+c0024958
+c010495c
+708956f0
+20404962
+708955d8
+20600000
+708956df
+20404962
+708955df
+20600000
+708956ff
+20404962
+708955df
+20600000
+708956ce
+20404962
+708955d8
+20600000
+708956cb
+20404962
+708955d8
+20600000
+708955d0
+708956c0
+7089574c
+7089586c
+70895950
+20600000
+20000004
+708955d1
+20000004
+708955d2
+20000004
+708955d4
+20000004
+20600000
+70804206
+2455e7bc
+6fe440c3
+c307496c
+98000c00
+d8408900
+efe20006
+c07fc976
+98418a00
+efe20006
+e7e20005
+20204970
+44c54011
+20404bba
+204049c8
+580007d0
+9c40fe00
+67e80167
+79202a03
+18002a00
+2455c997
+202049aa
+44c5c011
+58000960
+9a208400
+6fe240bd
+70895f04
+984ffe00
+684240be
+9846fc00
+20407d61
+1807a200
+18077e00
+1ff07e00
+1ff27e00
+9846fc00
+20407d61
+1807fe00
+1fed7e00
+1fe3fe00
+9a21fe00
+67e88960
+70895f44
+70895fc4
+20600000
+44c64011
+70890602
+5803d090
+20404a8e
+7089007f
+20000082
+70895230
+708901d0
+70895270
+708952f0
+18007232
+6fe28990
+c282c9a5
+c20049a2
+67e240ce
+70890100
+70890000
+70890600
+20600000
+44c6c011
+6fe240ce
+79207e05
+67e28952
+68428950
+18410407
+1fe9fe00
+9841fe00
+67e28950
+6fe28951
+793ffe00
+67e28951
+6fe28952
+793ffe05
+67e28952
+20600000
+44c74011
+6fe48991
+1ff1fe00
+1fe97e00
+1fe67e00
+1fe17eff
+1fe6fc0a
+20407d61
+1807fe00
+1ff27e00
+18070400
+9841fe00
+67e20018
+20600000
+70804206
+6fe2896b
+793ffe04
+793ffe05
+67e2896b
+70890500
+70890400
+70890470
+708905ff
+6fe2896b
+79207e04
+79207e05
+67e2896b
+204049e8
+6fe28968
+79207e07
+67e28968
+793ffe07
+67e28968
+79207e07
+67e28968
+70804205
+20000001
+70804204
+6fe2896b
+1fe17ecf
+67e2896b
+1fe1fe30
+67e2896b
+20600000
+58000f0f
+20204bd2
+5800080f
+20204bd2
+44c7c011
+20404921
+78507c00
+7830fc00
+782b7c00
+20600000
+44c84012
+6fe2004c
+2feffe02
+7920fe00
+67e28011
+d8c00062
+eff20006
+98006400
+efee0006
+98006600
+6fe20054
+1fe0e9ff
+782d7c00
+20600000
+1b427e00
+67ec009a
+7846fc00
+242c48f5
+dd2003bb
+1d00d001
+1d0151fc
+20600000
+7826fc00
+37cb8400
+202c49fe
+2d000402
+2420ca07
+202049fe
+44c8c012
+d9600600
+7826fc00
+34730400
+7846fc00
+242c48f5
+20600000
+44c94012
+7826fc00
+37c18400
+7846fc00
+242c48f5
+dd2003bb
+1d0151fc
+20600000
+44c9c012
+98002200
+1c227e00
+98409600
+19627e00
+67e840ca
+1a227e00
+20600000
+1fe20400
+44ca4012
+18427e00
+20407d2b
+1c307e00
+79207e2c
+20407d14
+793ffe2c
+20404a76
+20407d14
+20740000
+20407d1e
+98003600
+37c18200
+20600000
+44cac012
+20384a37
+35330200
+1d020400
+20204a3a
+20374a39
+34730200
+1c420400
+20344a46
+28400601
+2420ca32
+44cb4012
+6fe20030
+c4000000
+6fe840ca
+98467e00
+24610000
+1fe67cff
+20214a32
+20600000
+28400603
+2420ca32
+20204a3d
+44cbc012
+d9600600
+20204a32
+78547c00
+20204a49
+78347c00
+20204a49
+44cc4013
+204049f0
+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
+6fe24090
+1fe0fe01
+c083ca73
+18007e01
+67e24090
+98000800
+20600000
+1b220400
+20748000
+1b420400
+20600000
+1c427e00
+20748000
+1d027e00
+20600000
+44cf4013
+6848004d
+20404a7a
+98461600
+19627e00
+68440051
+18438400
+98467e00
+20600000
+44cfc013
+20404a7a
+67e8004d
+20600000
+44d04014
+20204a8b
+20204a8d
+207a0000
+1fe37e00
+1fe0fffd
+1fe0ffff
+2422ca91
+18007e00
+20600000
+df200010
+d8a00000
+20407ca1
+d8a0043b
+df20000a
+20407ca1
+7009ae00
+700a9500
+70048800
+70017d00
+7004cd00
+44d0c014
+70016b00
+70014f00
+70015a00
+589e8b33
+67e640a7
+58000153
+67e40083
+7000851e
+70008601
+70008807
+5812e904
+67e60080
+70009060
+7040d005
+70001402
+6fe2462c
+245a7376
+6fe24490
+245a73cd
+44d14014
+20758000
+58000000
+67e441dd
+1c437e00
+67e84094
+20600000
+6fe88124
+2feffe13
+c30bcac2
+2420fd74
+d85fffff
+1ce27e00
+203a4b18
+79207e17
+79207e14
+79207e15
+67e8804c
+37d98200
+37d98200
+20404bdd
+6fe2804e
+79207e06
+67e2804e
+20404bdd
+2020fd74
+7835fc00
+70804301
+6ff04191
+98000000
+6fec8130
+67ec00a1
+20600000
+18027e00
+67f04191
+20204be3
+68428042
+18417ef0
+243a4ae1
+6fe64170
+247a0000
+18417e0f
+1fe1fec0
+67e28042
+70800a80
+6fe28108
+c4000000
+6fe6810a
+67e64170
+20600000
+44d1c014
+1b427e00
+20407d12
+68484160
+18467cff
+20610000
+1fed7e00
+1ff27e00
+9846fc00
+20407d61
+1807fe00
+d84000c8
+20407d6c
+67e20099
+24344af6
+1fe67e00
+68464170
+9840fe00
+67e64170
+58000000
+67e84160
+20600000
+6fe24158
+20204aff
+6fe24157
+67e2417c
+44d24014
+20404be3
+d85fffff
+6fe24177
+793ffe07
+67e24177
+44d2c014
+204049e6
+6fe84160
+9840fe00
+67e84160
+20404ad5
+6fe64179
+67e6804c
+ea220006
+6fe28127
+e7e20005
+37d98200
+632c4164
+70800502
+37d98200
+37d98200
+6222804e
+70800502
+37d98200
+37d98200
+6048804c
+70800510
+37df8200
+44d34014
+58000000
+1ce27c00
+2022cb28
+6fe28124
+68428125
+98467c00
+20214b26
+18427e00
+9ce67e00
+1fe0fe01
+1fe0fe08
+37d98200
+9e20fe00
+6848415c
+9840fe00
+68464170
+984ffe00
+1fecfe00
+1ff1fe00
+1fe0fe6e
+d8400ea6
+9846fc00
+20407d61
+1807fe00
+1ff07e00
+18070400
+9841fe00
+684c4164
+20407d07
+18423200
+6fec4048
+20404850
+20600000
+44d3c014
+20404ad8
+6fe64170
+207a0000
+6fe24091
+207a0000
+6fe2462c
+203a4b49
+6fe24583
+207a0000
+6fe24492
+247a0000
+20404bf4
+247a0000
+6fe24040
+2fe00e03
+2420cb72
+6fe44042
+207a0000
+20758000
+44d44015
+684200a0
+6fe44042
+984ffe00
+18518400
+184b0400
+98467e00
+68484044
+9840fe00
+68424156
+98467e00
+1ff06000
+44d4c015
+6fe4404e
+1fe37e00
+20407d2b
+1e027e00
+20407d14
+1b420400
+20407d12
+20740000
+20407d24
+44d54015
+6fe24179
+98467c00
+20214af9
+6048415c
+20404cc1
+204056d5
+6848415c
+20204b06
+44d5c015
+6fe24040
+c3800000
+c3818000
+6fe2462c
+203a4b7a
+6fe24583
+207a0000
+44d64015
+6fe24340
+243a4b7f
+6fe24093
+207a0000
+6fe44154
+207a0000
+68424156
+98467e00
+d8401d4c
+984ffe00
+20204b68
+44d6c015
+7855fc00
+6fe20030
+c4008000
+2436cba5
+20404ba0
+6fe440c1
+67e4003e
+6fe20047
+c281cbb3
+c586cbb3
+2040564e
+243a4bb3
+6fe2452e
+c280cbb3
+7000a000
+c586cbb3
+6fe24175
+203a4bb7
+1fe0ffff
+67e24175
+20600000
+d8e00001
+202064af
+d8e00001
+202064b3
+70415a00
+6fe6416a
+1fe0fe01
+67e6416a
+20600000
+44d74015
+684440c1
+18430400
+6fe4003e
+9840fe00
+67e4003e
+7000a000
+6fe6416d
+1fe0fe01
+67e6416d
+6fe2415a
+1fe0fe01
+67e2415a
+20600000
+7000a000
+6fe24174
+67e24175
+20600000
+68424173
+604200a0
+20600000
+44d7c015
+6fe24179
+247a0000
+70804206
+58000f0c
+20404bd2
+58030d40
+20404a8e
+37d98200
+1e226000
+204049e6
+70804204
+2000000a
+37d98200
+1e227e00
+9e067e00
+1fe0fe30
+d84000ff
+20407d6c
+67e24179
+20007530
+20007530
+20007530
+20600000
+d8a00fff
+98a10a00
+6fe24176
+1fe17ef0
+1fed7e00
+98a1fe00
+67e4804c
+efe40006
+e7e40005
+58000001
+20204bde
+58000002
+67e28005
+37d98200
+37d98200
+37d98200
+20600000
+44d84016
+6fe800a1
+67e8804c
+58000004
+20404bde
+efe40006
+67e8804c
+58000008
+20204bde
+6fe44152
+f9207e00
+67e44152
+20600000
+6fe44152
+f93ffe00
+67e44152
+20600000
+44d8c016
+20404cbf
+6fe44152
+1fe22200
+6fe2004c
+2feffe06
+7920a20b
+6fe20078
+6842007c
+9840fe00
+68420048
+9840fe00
+7d3a220a
+6fe244d1
+7d3a2201
+6fe40259
+6844025b
+9840fe00
+7d3a220d
+6ff0463a
+7d3a220f
+6ff04642
+7d3a220e
+6fe44ff4
+68444ff6
+98467c00
+7d22a205
+6fe44ffc
+68444ffe
+98467c00
+7d22a206
+6fe28043
+2feffe07
+7920a202
+6fe241cf
+7d3a2208
+1a227e00
+67e44152
+20600000
+6fe8811c
+793ffe1b
+67e8804c
+20404bdb
+20204a8b
+6fe88124
+793ffe14
+67e8804c
+20204bdd
+6fe44150
+c2804a8b
+20600000
+6fe44150
+c280ca8b
+20600000
+6fe44150
+c2814a8b
+20600000
+58004c35
+67e441f2
+58004c64
+67e441f6
+58004c35
+67e441f4
+20758000
+20600000
+6fe20030
+c300cc3b
+7920000d
+6fec416a
+67ec44e8
+20600000
+6fe2014f
+c4010000
+6fe2015a
+1fe0fe01
+67e2015a
+c1828000
+70015a00
+6fe2014f
+793ffe02
+67e2014f
+c281cc5c
+2feffe07
+2040fd88
+2440fd8c
+6fe20156
+2fe06020
+6fe2004c
+7920fe05
+67e2004c
+6fe2014f
+6842017d
+2feffe04
+79208406
+2feffe06
+79208404
+79208405
+6042017d
+6fe20152
+67e204c7
+6fe20153
+67e204c8
+79200011
+20600000
+793f8011
+70014f00
+6fe20159
+67e2017d
+6fe28043
+1fe17efb
+67e28043
+20600000
+1a627e00
+c1880000
+20600000
+c000cc66
+20204afe
+18000402
+184085fe
+20404915
+20404930
+7843fc00
+782efc00
+79202a00
+20404a50
+6fe20000
+08008608
+20204c71
+6fe28108
+c3014c74
+20600000
+44d94016
+6fe24092
+203a4c77
+c0054d95
+20600000
+44d9c016
+70014f00
+70017d00
+70017e00
+58000000
+67ea09aa
+6fe24092
+203a4c7c
+c0054dba
+20600000
+20407b84
+20407bc1
+20404c8f
+6fe441f4
+20207d77
+6fe441f2
+20207d77
+6fe441f0
+20207d77
+44da4016
+da20463a
+20407d9c
+207a0000
+1fe22600
+20404c98
+20204cbd
+da600000
+20600000
+c000ccaa
+c0084cf0
+c002ccce
+c0094cd5
+c0034cec
+c0024d1f
+c0014d24
+c009cd1f
+c00a4ce4
+c00acce8
+c001ccc7
+c005ccd9
+c0064ce0
+c00b4cf4
+c00c4cc3
+c0154cb3
+c015ccb1
+20600000
+6fe44652
+79207e00
+67e44652
+6fe44209
+793ffe00
+67e44209
+20600000
+70022700
+20600000
+6fe20227
+1fe0fe01
+67e20227
+1fe67c01
+20214d5a
+70022700
+6fe44209
+79207e09
+67e44209
+20204d64
+6fe441f6
+20207d77
+6fe441ea
+20207d77
+6fe441ee
+20207d77
+6fe44209
+79207e01
+67e44209
+20204d8d
+6fe44652
+79207e07
+67e44652
+6fe44209
+79207e02
+67e44209
+20600000
+6fe44652
+79207e01
+67e44652
+6fe44209
+79207e04
+67e44209
+20600000
+6fe44652
+79207e03
+67e44652
+20600000
+6fe44652
+79207e05
+67e44652
+6fe44209
+79207e03
+67e44209
+20600000
+6fe44652
+793ffe05
+67e44652
+20600000
+6fe44652
+79207e09
+67e44652
+20600000
+6fe44652
+793ffe09
+67e44652
+20204d93
+6fe44652
+79207e02
+67e44652
+20600000
+6fe44209
+79207e00
+67e44209
+20600000
+6fe44209
+79207e08
+67e44209
+20204d64
+44dac016
+67e20228
+6fe20228
+207a0000
+1fe0ffff
+67e20228
+20404d51
+20404d12
+20404d18
+6fe441fe
+20407d77
+20204cfa
+efe20013
+207a0000
+1fe0ffff
+e7e20013
+247a0000
+1a427e00
+20207d77
+efe40013
+207a0000
+1fe0ffff
+e7e40013
+247a0000
+1a427e00
+20207d77
+da604204
+da404d15
+20204d04
+2040424e
+2022cd89
+20600000
+da60464e
+da404d1b
+20204d0b
+20404d6b
+20404d83
+6fe441f8
+20207d77
+20404d37
+6fe44652
+793ffe07
+67e44652
+20600000
+70420400
+6fe44652
+c283cd29
+2fec0001
+2040cc96
+44db4016
+6fe44652
+793ffe00
+793ffe01
+793ffe02
+793ffe03
+793ffe07
+67e44652
+20204d93
+20404d34
+20204d85
+58000000
+67e44207
+20600000
+58000000
+67e44209
+20600000
+6fe44209
+67e44207
+58000000
+67e44209
+20600000
+6fe44209
+79207e07
+67e44207
+58000000
+67e44209
+20600000
+6fe24652
+2feffe05
+20600000
+6fe2452c
+67e24204
+20600000
+d8e00009
+20204bec
+d8e00009
+20204bf0
+70420505
+20204d4b
+da604205
+da404d4d
+20204d04
+70433501
+20600000
+70433500
+20600000
+700a950a
+20207bb4
+700a951d
+20207bb4
+44dbc016
+6fe24206
+67e2016b
+70022601
+700a9503
+20207bb4
+700a951e
+20207bb4
+700a9504
+20207bb4
+6fe44655
+67e4464e
+20404d7f
+700a9501
+20207bb4
+58000000
+67e4464e
+700a9502
+20207bb4
+700a950f
+20207bb4
+700a9510
+20207bb4
+700a950e
+20207bb4
+700a950d
+20207bb4
+700a9517
+20207bb4
+700a9518
+20207bb4
+700a9516
+20207bb4
+700a9511
+20207bb4
+700a9515
+20207bb4
+700a9514
+20207bb4
+700a9513
+20207bb4
+700a9519
+20207bb4
+700a9506
+20207bb4
+700a9505
+20207bb4
+700a951f
+20207bb4
+700a9520
+20207bb4
+700a9525
+20207bb4
+7920000d
+20600000
+793f800d
+20600000
+20758000
+20405b83
+58004dda
+67e441f4
+58004dc5
+67e441f2
+58004dde
+67e441f6
+58004dc4
+67e441f0
+58004dbd
+67e441ea
+58004ef4
+67e441fc
+58005037
+67e44541
+580050ae
+67e441fa
+580050c3
+67e441fe
+20404dd7
+44dc4017
+20404daf
+20404dbc
+20404c2a
+2020504d
+6fe44ffa
+67e48046
+6fe44ff8
+67e48044
+1fe20600
+6fe44ff2
+67e4804a
+6fe44ff0
+67e48048
+1fe21400
+20600000
+20404daf
+20204dd7
+20600000
+6fe24fef
+c000cd4b
+6fe24496
+c0804dc2
+20204d4d
+c07fcd4d
+20204d4b
+20600000
+20404dc7
+202050d3
+20600000
+6fe24652
+c3024dd7
+44dcc017
+58003eff
+6848467f
+98408400
+1c427e00
+98467c00
+24610000
+6fe44652
+c282cdd7
+6fe24679
+c3830000
+204050d6
+20404d89
+1c427e00
+67e8467f
+20600000
+204050d3
+20405648
+247a0000
+20204e3d
+1a627e00
+c000ce2c
+c0014dfb
+c0024e2f
+c002ce1d
+c0044e02
+c004ce08
+c0054e22
+c005ce0d
+c0064e1b
+c009ce2f
+c00a4e28
+c00ace1f
+c010ce23
+c011ce24
+c0124e27
+c0185088
+c018d08a
+c0195098
+c019d096
+c01a5082
+c01ad078
+c01b5080
+c01bd08c
+c01c508e
+c01dd09f
+c01ed06f
+c020ce30
+20600000
+20404dd7
+6fe24637
+245a508c
+20404e2f
+6fe44652
+c4020000
+20204e08
+6fe44652
+79207e04
+67e44652
+6fe2466d
+67e24173
+20205022
+6fe44652
+c4020000
+793ffe04
+67e44652
+20205026
+20404dd7
+6fe44042
+1fe37e00
+684441e4
+98467c00
+2422ce14
+20204d91
+6fe24679
+c3828000
+6fe44ffc
+68444ffe
+98467c00
+2442d0da
+20204d87
+204050d8
+20204d93
+20404dd7
+20204e32
+20405bf6
+20404e2f
+20205028
+20204d58
+202050d8
+6fe24679
+c302cd89
+202050dc
+202050dc
+20404e32
+6fe2466e
+67e24173
+20205024
+70463300
+204050d8
+202050dc
+20204e8f
+204060aa
+20205ee2
+20204e33
+6fe2466c
+2feffe00
+2040cd6b
+6fe2466c
+2feffe01
+2040cd73
+20600000
+6fe2453d
+c1000000
+20206ae9
+6fe44ffc
+68444ffe
+98467c00
+2022ce3a
+204067f7
+efe20003
+c080ce4e
+efe20003
+67e20aff
+e8420003
+18622200
+60420b00
+700b0101
+20404e5a
+6fe20b01
+c1000000
+20204e55
+20407c9c
+2040507e
+20204e51
+44dd4017
+6fe44ffe
+67e44ffc
+20600000
+204067f7
+18608602
+efe20003
+98608600
+202067f3
+44ddc017
+6fe20aff
+c0004e7c
+c000ce81
+c0014e86
+c001ce9c
+c0024ea8
+c002ceb2
+c004ced7
+c005cf14
+c0064f15
+c006cf29
+c0084f31
+c008cf39
+c0094f3d
+c0134f41
+c0144f48
+c014cf58
+c0154f61
+c0184f94
+c019cf9a
+c01a4fbd
+c01acfc6
+c01b4fcf
+c01bcfd9
+c01c4fdc
+c0214fe4
+c0244fe9
+c024cff4
+c028cffa
+c030cffd
+c07fd00c
+c077500f
+2020501c
+6fe20b00
+c083501c
+efec0003
+67ec40a0
+2020501f
+6fe20b00
+c083501c
+efec0003
+67ec4472
+2020501f
+6fe20b00
+c080d01c
+1a220600
+2040501f
+e8420003
+6042466f
+6fe44652
+c3848000
+c3800000
+6fe2466c
+2feffe00
+2420ce95
+6842466f
+18417e03
+67e24093
+6fe2466c
+2feffe01
+24608000
+6842466f
+284ffe02
+2020cd75
+20204d73
+6fe20b00
+1fe67c43
+2421501c
+67e244e7
+df200008
+20407ca1
+6fe20b00
+1fe27200
+1a220600
+d8a044e8
+204067da
+2020501f
+6fe20b00
+1fe67c1d
+2421501c
+67e24381
+1fe27200
+1a220600
+d8a04382
+204067da
+20405b83
+2020501f
+6fe24652
+c302501c
+20404d45
+2020cec3
+700b0100
+20404dd7
+6fe2453a
+207a0000
+6fe44545
+c0804ec1
+6fe20b00
+67e44545
+1a220600
+18627e00
+67e44543
+20404ec5
+20206b0c
+700b0100
+202050bd
+20404ecb
+6fe44545
+6844466a
+98467e00
+67e44545
+20600000
+6fe44545
+d84000e6
+20407db5
+6844453e
+20407db5
+68444530
+20407db5
+67e4466a
+20600000
+700b0101
+700aff05
+2020501f
+6fe44652
+c304d01c
+20404f11
+2034501c
+700b0100
+6fe24679
+c2824ef1
+6fe2467a
+247a0000
+700b0101
+efe40003
+67e4467b
+18627e00
+67e4467d
+6fe20b00
+1fe0fffe
+2421501c
+2022d01c
+67e2467a
+700b0100
+20405bf4
+20404ef4
+20404ef4
+20404ef4
+6fe24679
+c4020000
+700b0101
+204050e0
+2020501f
+6fe2467a
+207a0000
+20405c72
+247a0000
+20404f0c
+44de4017
+1840fffd
+6842467a
+20407db5
+1fe22200
+18427e00
+9a267e00
+67e2467a
+6844467b
+20405e44
+6fe4467d
+1fe20600
+1a227200
+204067da
+18627e00
+67e4467d
+6fe2467a
+247a0000
+202050de
+d8400017
+6fe24679
+c3808000
+6844447a
+20600000
+6fe24679
+c2815e22
+20207dc1
+20205051
+1a220600
+efe20003
+c0004f1c
+c000cf1f
+c0014f25
+c001cf27
+2020501c
+2040650d
+70462c00
+2020501f
+58040003
+67e6462d
+67e24634
+20406506
+70462c01
+2020501f
+58040002
+20204f20
+58040001
+20204f20
+6fe20b00
+1fe67c10
+2421501c
+67e24657
+1fe27200
+d8a04658
+204067ed
+2020501f
+da200002
+da404668
+d8400000
+2020502a
+67e40abe
+da400abe
+d8400000
+2020502a
+6fe44652
+c300501c
+2040501f
+20204d64
+6fe44652
+c304d01c
+2040501f
+20204d7d
+6fe20b00
+1fe27200
+1a220600
+6fe44214
+1fe20a00
+204067da
+2020501f
+6fe24652
+c300501c
+efe20003
+68424633
+793a0400
+79200407
+60424633
+2040501f
+6fe24633
+c2834f56
+20600000
+70463300
+700a9521
+20207bb4
+c2806377
+20204f53
+6fe24652
+c4020000
+6fe2453d
+c1000000
+efe20003
+6842453b
+98408400
+6042453b
+20600000
+df200040
+d8a04341
+20407caf
+58000000
+67e20aae
+1a220600
+18627e00
+67e40ab2
+20404f8f
+6fe20aae
+68420a9e
+18408401
+9840fe00
+67e20aae
+1fe67c1f
+24214f7b
+68424341
+58004342
+9840fe00
+67e40ab7
+68420a9e
+18408401
+6fe24341
+9840fe00
+67e24341
+20204f84
+68424361
+58004362
+9840fe00
+67e40ab7
+68420a9e
+18408401
+6fe24361
+9840fe00
+67e24361
+6fe40ab7
+1fe20a00
+6fe40ab2
+1fe20600
+18427200
+204067da
+6fe20b00
+68420aae
+98467c00
+2422cf67
+2020501f
+efe20003
+67e20a9e
+efe20003
+67e20aaa
+20600000
+efe80003
+67e84658
+70465704
+70463500
+2040501f
+20206313
+1a220600
+efe20003
+1fe20400
+c040cfa5
+c0414faa
+c041cfb0
+67e24498
+c0004fb5
+c000cfb8
+c0014fba
+2020501c
+6fe24490
+203a501c
+60424498
+7044280d
+20204fb6
+6fe24490
+203a501c
+60424498
+7044280d
+70442601
+2020501f
+6fe24490
+203a501c
+60424498
+7044280d
+20204fbb
+70442800
+70442603
+2020501f
+70442805
+20204fb6
+70442805
+70442600
+2020501f
+6fe20b00
+1fe67c1f
+2421501c
+67e24341
+1fe27200
+1a220600
+d8a04342
+204067da
+2020501f
+6fe20b00
+1fe67c1f
+2421501c
+67e24361
+1fe27200
+1a220600
+d8a04362
+204067da
+2020501f
+6fe44652
+c304d01c
+6fe20b00
+c084501c
+1a220600
+eff00003
+67f04468
+700a9512
+20407bb4
+2020501f
+efe40003
+67e44454
+2020501f
+6fe24498
+203a501c
+6fe24496
+c080501c
+6fe24497
+c080501c
+20407c3d
+2020501f
+6fe20b00
+c080d01c
+efe20003
+67e241df
+2020501f
+efe20003
+c000cff2
+6fe24493
+c001cff0
+c0034ff0
+c003cff0
+2020501c
+70449401
+2020501f
+20405f33
+2020501f
+6fe20b00
+c080d01c
+2040501f
+efe20003
+203a64ad
+202064ab
+2040501f
+70801001
+20204a8d
+6fe20b00
+c000501c
+efe20003
+203a500a
+6fe20b00
+c082d01c
+efe80003
+d84f4240
+98467c00
+2021501c
+67e84499
+20405bec
+2020501f
+20405bee
+2020501f
+efe20003
+67e24091
+2020501f
+6fe20b00
+204050a5
+6fe20b00
+1fe27200
+1a220600
+20405016
+202067b9
+1f227e00
+207a0000
+efe20003
+e7e2000a
+c2005018
+20600000
+d8400001
+da200000
+2020502a
+d8400000
+da200000
+2020502a
+700aff00
+2020504e
+700aff02
+2020504e
+700aff03
+2020504e
+700aff05
+2020504e
+6fe20aff
+1fe22600
+700aff06
+58000002
+9a20fe00
+204050a5
+1a627e00
+e7e2000a
+e042000a
+1a227200
+1a420c00
+204067d4
+202067b9
+20404dd7
+700aff07
+6fe204fb
+207a0000
+204050a5
+6fe204fb
+1fe27200
+6fe404fd
+1fe20c00
+204067c1
+202067b9
+700aff08
+6fe24670
+1fe27200
+1fe0fe02
+204050a5
+6fe44673
+e7e4000a
+6fe44671
+1fe20c00
+204067c1
+202067b9
+700aff09
+58000000
+204050a5
+202067b9
+700aff0a
+58000001
+204050a5
+20405062
+6fe44652
+d8e00002
+afefffff
+79208403
+d8e00009
+afefffff
+79208405
+6fe24652
+d8e00004
+afefffff
+79208404
+e042000a
+202067b9
+d8400000
+6fe24093
+d8e00000
+afefffff
+79208400
+d8e00001
+afefffff
+79208401
+6fe24340
+d8e00000
+afefffff
+79208402
+20600000
+700aff0d
+6fe24216
+1feffe22
+1fe27200
+204050a5
+6fe44214
+1fe20c00
+204067c1
+202067b9
+700aff0e
+58000004
+204050a5
+6fe809b6
+e7e8000a
+202067b9
+700aff0f
+2020504e
+700aff10
+2020504e
+700aff11
+58000004
+204050a5
+6fe84499
+e7e8000a
+202067b9
+da200180
+2020508f
+da200080
+2020508f
+da200101
+2020508f
+da200001
+70463300
+700aff14
+58000002
+204050a5
+1a227e00
+e7e4000a
+202067b9
+da600000
+20205099
+da600001
+700aff15
+58000001
+204050a5
+1a627e00
+e7e2000a
+202067b9
+700aff1d
+58000004
+204050a5
+6fe809b6
+e7e8000a
+202067b9
+700afe02
+67e20b00
+60500a9e
+44dec017
+68500a9e
+204067b5
+6fe60afe
+e7e6000a
+20600000
+20404f11
+20740000
+1a227e00
+67e44671
+1a427e00
+67e24670
+6fe40474
+68444675
+98467c00
+2022d0bb
+68444677
+98467c00
+24628000
+67e44673
+20205042
+6fe24679
+c3828000
+204050da
+20204d87
+70417302
+20600000
+20600000
+204050cb
+d8400200
+98467c00
+20600000
+9a267e00
+1fe67e00
+20600000
+68444ff0
+6fe44ff2
+98462200
+68444ff4
+6fe44ff6
+98467e00
+244150c8
+20600000
+204050c4
+20214d54
+20204d56
+d8e00006
+202050e6
+d8e00006
+202050e2
+d8e00005
+202050e6
+d8e00005
+202050e2
+d8e00004
+202050e6
+d8e00004
+202050e2
+6fe24679
+f93ffe00
+67e24679
+20600000
+6fe24679
+f9207e00
+67e24679
+20600000
+7041cf00
+20600000
+6fec41d1
+684c0040
+98467c00
+20600000
+6fe2004b
+c28150f5
+204066d1
+70007c08
+202050ea
+793ffe02
+67e2004b
+204063e3
+58000000
+7934fe01
+67e2007f
+202050ea
+20600000
+70007c17
+d8a004d5
+58000000
+2d0ffe1b
+7920fe01
+e7e20005
+58000000
+e7e40005
+6fe441e4
+e7e40005
+6fe241e6
+e7e40005
+6fe241e8
+e7e40005
+202050ea
+70007c18
+202050ea
+44df4017
+6fe40260
+1fe20c00
+efe20006
+1fe1040f
+1ff1fe00
+c004d12d
+c003d12d
+c0055139
+c002d125
+c000d11a
+20600000
+18427e00
+c002d11e
+c001d124
+20600000
+700a9527
+20407bab
+6fe24092
+c4030000
+18427e00
+20600000
+20600000
+20405139
+da200001
+2040513d
+6fe4421e
+e7e40005
+58000000
+e7e20005
+20600000
+da200001
+2040513d
+6fe4421e
+e7e40005
+58000000
+e7e20005
+700a8a01
+6fe24224
+79207e06
+67e24224
+700a9512
+20207bab
+efe20006
+c000d13c
+20600000
+20600000
+2040561a
+1a220400
+60420a8a
+1fe20a00
+1a227e00
+e7e40005
+20600000
+2035d149
+58004337
+d8a04218
+98a67200
+20407caf
+44dfc017
+5800054d
+d8a0050d
+98a67200
+20407caf
+580002c5
+d8a00259
+98a67200
+20407caf
+202056f2
+44e04018
+18c20400
+18420c00
+efe40006
+67e40262
+efe40006
+67e40264
+18c27e00
+67e40260
+6fe24651
+c000515f
+202054c9
+6fe40262
+203a51d6
+44e0c018
+6fe20264
+c000d177
+c02851ba
+c028d1cf
+c02951cd
+c029d1cd
+202051d6
+44e14018
+20405658
+6fe24228
+c0005175
+c000d175
+c0015175
+c001d175
+c040d175
+c0605175
+c0405175
+c0205175
+20600000
+58000000
+20600000
+20405169
+247a0000
+20405692
+204051db
+6844026b
+203a51d5
+2040569b
+6fe4026b
+e7e40005
+18007e01
+e7e40005
+202051d6
+6fe24336
+207a0000
+1fe22200
+44e1c018
+6fe802d1
+d8400100
+98408400
+1c427e00
+98467c00
+24610000
+70433600
+1a227e00
+c0285191
+20204a8b
+d9000000
+20405692
+20405254
+2040569d
+20407c83
+20405287
+2040569b
+5800000c
+e7e40005
+18007e01
+e7e40005
+202051d6
+44e24018
+6fe40271
+1fe0fe04
+1ff1fe00
+1fe97e00
+1fe08401
+d8c04232
+efe60006
+207a0000
+67e60abe
+6fe20abe
+1fe22200
+204051ad
+1a427e00
+67e24232
+20600000
+d8e00000
+da400000
+18e67c07
+24610000
+aa2fffff
+2020d1b4
+202051b8
+18427e00
+203a51b8
+f9202400
+184085ff
+18e08e01
+202051af
+2040564e
+247a0000
+20405169
+247a0000
+2040569f
+20406cd0
+2040519d
+202051c6
+2040564e
+247a0000
+2040569f
+20406cd0
+204056a8
+6fe40271
+203a51d5
+e7e40005
+6fe4421a
+e7e40005
+202051d6
+2040510e
+202051d6
+44e2c018
+70028000
+2040694b
+6fe20280
+c1008000
+202051d6
+2040563e
+58000000
+67e40262
+67e40264
+70026601
+20600000
+44e34018
+2040569d
+18002400
+6fe40262
+1fe22600
+6fe40260
+98000c00
+204051ea
+1a627e00
+1a60a7fc
+1fe0fffc
+243a51e2
+1a427e00
+67e4026b
+20600000
+44e3c018
+efe20006
+c000d223
+c001522b
+c001d2af
+c00252df
+c002d37c
+c00353a5
+c003d3f5
+c004542a
+c004d43a
+c00551f9
+c005d43b
+2040543c
+20600000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+5800000b
+e7e20005
+18e27e00
+e7e20005
+efe40006
+c0015207
+c001d20d
+20600000
+58020008
+e7ec0005
+58000280
+e7e80005
+18007e0c
+20205212
+5803000c
+e7ec0005
+58000006
+e7f00005
+18007e10
+9a40a400
+202051f8
+efe20006
+1fe20e00
+efe40006
+1fe22200
+efe40006
+67e40a9e
+1a627e00
+9a262600
+2040569d
+5800000b
+e7e20005
+18e27e00
+e7e20005
+6fe40a9e
+20205204
+efe20006
+1fe20e00
+efe40006
+1fe22200
+98c08c00
+1a627e00
+9a262600
+202051f8
+20407c83
+20407c88
+d9000000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+efe40006
+1fe20400
+efe40006
+1fe21600
+44e44019
+18427e00
+c000d23e
+c001d260
+c008d26c
+c009d277
+2040543c
+202052ae
+20407c83
+d8400050
+6fe4421a
+243a52a8
+19627e00
+67e4421a
+1c427e00
+67e802d1
+20405248
+20205283
+604402cf
+19627e00
+67e402c5
+1a227e00
+67e402c7
+1a427e00
+67e402c9
+1a627e00
+67e402cb
+18e27e00
+67e402cd
+20600000
+684402cf
+6fe402c5
+1fe21600
+6fe402c7
+1fe22200
+6fe402c9
+1fe22400
+6fe402cb
+1fe22600
+6fe402cd
+1fe20e00
+20600000
+20407c83
+58000051
+d8400051
+6fe4421c
+243a52a8
+19627e00
+67e4421c
+6fe24223
+79207e00
+79207e01
+67e24223
+2020528b
+20407c83
+d8400052
+6fe4421e
+243a52a8
+19627e00
+67e4421e
+6fe24224
+79207e00
+79207e01
+67e24224
+2020528b
+20407c83
+1b427e00
+d8400053
+6fe44220
+243a52a8
+19627e00
+67e44220
+6fe24225
+79207e00
+79207e01
+67e24225
+2020528b
+58000001
+67e40279
+70433650
+2020528d
+6fe24222
+79207e00
+79207e01
+67e24222
+58000000
+67e40279
+44e4c019
+20407c88
+58000003
+e7e20005
+18e27e00
+e7e20005
+58000008
+e7e40005
+18427e00
+e7e40005
+19627e00
+e7e40005
+6fe40279
+c000d2a3
+290c0000
+2020d29e
+58000004
+e7e40005
+18007e00
+e7e40005
+5800000c
+202052aa
+e7e40005
+18007e02
+e7e40005
+5800000c
+202052aa
+79201000
+2020528b
+9a40a400
+1a627e00
+9a262600
+202052ae
+202051f8
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+1fe21600
+efe40006
+1fe20400
+44e54019
+58000050
+98467c00
+2022d2c7
+58000051
+98467c00
+2022d2cd
+58000052
+98467c00
+2022d2d9
+58000053
+98467c00
+2022d2d3
+20600000
+19627e00
+67e4421a
+6fe24222
+79207e01
+67e24222
+202051f8
+19627e00
+67e4421c
+6fe24223
+79207e01
+67e24223
+20600000
+19627e00
+67e4421e
+6fe24225
+79207e01
+67e24225
+20600000
+19627e00
+67e44220
+6fe24224
+79207e01
+67e24224
+20600000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+1fe20400
+18422200
+44e5c019
+58000050
+98467c00
+2022d2f6
+58000051
+98467c00
+2022d314
+58000052
+98467c00
+2022d300
+58000053
+98467c00
+2022d30a
+2020543c
+18a21600
+6fe24222
+79207e04
+79207e03
+67e24222
+19620a00
+d9600050
+6fe4421a
+1fe20400
+2020531d
+18a21600
+6fe24224
+79207e04
+79207e03
+67e24224
+19620a00
+d9600052
+6fe4421e
+1fe20400
+2020531d
+18a21600
+6fe24225
+79207e04
+79207e03
+67e24225
+19620a00
+d9600053
+6fe44220
+1fe20400
+2020531d
+18a21600
+6fe24223
+79207e04
+79207e03
+67e24223
+19620a00
+d9600051
+6fe4421c
+1fe20400
+44e64019
+58000005
+e7e20005
+18e27e00
+e7e20005
+58000006
+e7e40005
+18427e00
+e7e40005
+18007e00
+e7e40005
+18007e00
+e7e40005
+18007e0a
+9a40a400
+6044027e
+18e27e00
+67e2027d
+18007e50
+a961fe00
+2020d333
+1fe0fe01
+20600000
+78547c00
+c3810000
+c4000000
+c4008000
+79207e02
+18c20a00
+18a08bff
+e7e20005
+78347c00
+20600000
+6fe24222
+20405334
+24345345
+70027c50
+6fe4421a
+67e4027e
+20205359
+6fe24223
+20405334
+2434534c
+70027c51
+6fe4421c
+67e4027e
+20205359
+6fe24224
+20405334
+24345353
+70027c52
+6fe4421e
+67e4027e
+20205359
+6fe24225
+20405334
+24740000
+70027c53
+6fe44220
+67e4027e
+44e6c019
+20405614
+20405692
+18002400
+2040569d
+18007e04
+e7e20005
+6fe24227
+e7e20005
+58000008
+e7e40005
+6fe4027e
+e7e40005
+58000000
+e7e40005
+18007e01
+e7e20005
+18007e02
+e7e20005
+6fe2027c
+c028d371
+58000030
+e7e40005
+20205373
+580003e3
+e7e40005
+d840000c
+6044026b
+2040569b
+6fe4026b
+e7e40005
+18007e01
+e7e40005
+70027c00
+202051f8
+18c08c01
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+1fe22200
+44e74019
+58000050
+9a267c00
+2022d394
+58000051
+9a267c00
+2022d398
+58000052
+9a267c00
+2022d39c
+58000053
+9a267c00
+2022d3a0
+18c08c02
+efe40006
+98007c00
+202051f8
+6fe24222
+79207e05
+67e24222
+202051f8
+6fe24223
+79207e05
+67e24223
+202051f8
+6fe24224
+79207e05
+67e24224
+202051f8
+6fe24225
+79207e05
+67e24225
+700a9506
+20207bab
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+1fe22200
+efe40006
+1fe21600
+1a220400
+20407c83
+44e7c019
+58000050
+98467c00
+2022d3cc
+58000051
+98467c00
+2022d3dc
+58000052
+98467c00
+2022d3c0
+58000053
+98467c00
+2022d3c6
+2040543c
+202053f1
+19620400
+6fe4421e
+98467c00
+2022d3d2
+2040543c
+202053f1
+19620400
+6fe44220
+98467c00
+2022d3d4
+2040543c
+202053f1
+19620400
+6fe4421a
+98467c00
+2022d3d8
+2040543c
+202053f1
+20405453
+202053e4
+20405459
+6fe4421e
+203a53e4
+202053e4
+2040544e
+6fe20284
+243a53e4
+202053e4
+19620400
+6fe4421c
+98467c00
+2022d3e2
+2040543c
+202053f1
+20405449
+202053e4
+20407c88
+58000007
+e7e20005
+18e27e00
+e7e20005
+58000004
+e7e40005
+1a227e00
+e7e40005
+19627e00
+e7e40005
+18007e08
+202053f3
+20407c88
+202053f3
+9a40a400
+202051f8
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+1fe21600
+efe40006
+1fe20400
+20407c83
+44e8401a
+58000050
+98467c00
+2022d40f
+58000051
+98467c00
+2022d415
+58000052
+98467c00
+2022d41b
+58000053
+98467c00
+2022d421
+2040543c
+20205429
+18422200
+19620400
+6fe4421a
+98467c00
+2042d44e
+20205427
+18422200
+19620400
+6fe4421c
+98467c00
+2042d449
+20205427
+18422200
+19620400
+6fe4421e
+98467c00
+2042d453
+20205427
+18422200
+19620400
+6fe44220
+98467c00
+2042d459
+20205427
+20407c88
+202051f8
+202051f8
+efe20006
+1fe20e00
+efe40006
+1fe22200
+98c08c00
+58000009
+e7e20005
+18e27e00
+e7e20005
+18007e00
+e7e40005
+18007e04
+9a40a400
+1a627e00
+9a262600
+202051f8
+202051f8
+202051f8
+18002400
+2040569d
+58000001
+e7e20005
+18e27e00
+e7e20005
+58000002
+e7e40005
+58000000
+e7e40005
+1a40a406
+da600004
+202051f8
+58000000
+67e40277
+67e4421c
+70422300
+20600000
+58000000
+67e40271
+67e4421a
+70422200
+20600000
+58000000
+67e4421e
+70422400
+6fe24225
+c000545f
+20600000
+58000000
+67e44220
+70422500
+6fe24224
+c000545f
+20600000
+700a9507
+20207bab
+6fe2027b
+793ffe00
+67e2027b
+6fe44220
+207a0000
+20405692
+6fe44220
+1fe22200
+18002453
+20205474
+6fe2027b
+793ffe07
+67e2027b
+6fe4421e
+207a0000
+20405692
+6fe4421e
+1fe22200
+18002452
+20405614
+2040569d
+18007e06
+e7e20005
+6fe24227
+e7e20005
+58000004
+e7e40005
+1a227e00
+e7e40005
+1a427e00
+e7e40005
+18000408
+202054b8
+44e8c01a
+20405614
+2040569d
+58000002
+e7e20005
+6fe24227
+e7e20005
+58000004
+e7e40005
+18427e00
+e7e40005
+19627e00
+e7e40005
+d8400008
+202054b8
+44e9401a
+20405614
+2040569d
+58000004
+e7e20005
+6fe24227
+e7e20005
+58000008
+e7e40005
+18427e00
+e7e40005
+58000000
+e7e40005
+58000001
+e7e20005
+58000002
+e7e20005
+580003e3
+e7e40005
+d840000c
+202054b8
+44e9c01a
+20405614
+2040569d
+58000006
+e7e20005
+6fe24227
+1fe0fe01
+18a22200
+67e24227
+1a220a00
+e7e20005
+58000004
+e7e40005
+18427e00
+e7e40005
+19627e00
+e7e40005
+d8400008
+6044026b
+18427e00
+203a563e
+2040569b
+6fe4026b
+e7e40005
+18007e01
+e7e40005
+20600000
+6fe40271
+203a4a8b
+204056a8
+6fe40271
+e7e40005
+6fe4421a
+e7e40005
+20600000
+6fe40262
+203a51d6
+44ea401a
+6fe20264
+c000d4d3
+c02851c2
+c028d1cf
+c02951cd
+c029d1cd
+202051d6
+44eac01a
+20405692
+18002400
+2040569d
+1fe20a00
+6fe40262
+1fe22600
+6fe40260
+98000c00
+204054e2
+1a60a7fc
+2422d4dc
+1a420400
+204054b8
+202051d6
+efe20006
+c00154ed
+c000d4f0
+c001d4fa
+c002d536
+c0025568
+c003d5ed
+c00355bb
+c004542a
+c0055214
+20205608
+20407c83
+20407c88
+2020522b
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe20006
+1a20a3ff
+2422d4f6
+20600000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+efe40006
+1fe21600
+efe40006
+1fe20400
+efe40006
+1fe67c00
+2022d50c
+c0015508
+c0025508
+2020550a
+700a9516
+20407bab
+efe40006
+20205533
+20407c83
+44eb401a
+58000050
+98467c00
+2022d51b
+58000051
+98467c00
+2022d521
+58000053
+98467c00
+2022d52d
+58000052
+98467c00
+2022d527
+20205533
+19627e00
+67e4421a
+6fe24222
+79207e01
+67e24222
+20205532
+19627e00
+67e4421c
+6fe24223
+79207e01
+67e24223
+20205532
+19627e00
+67e4421e
+6fe24224
+79207e01
+67e24224
+20205532
+19627e00
+67e44220
+6fe24225
+79207e01
+67e24225
+20407c88
+1a627e00
+9a262600
+20600000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+1fe21600
+efe40006
+efe40006
+243a5562
+20407c83
+19620400
+44ebc01a
+58000050
+98467c00
+2022d550
+58000051
+98467c00
+2022d554
+58000052
+98467c00
+2022d558
+58000053
+98467c00
+2022d55c
+6fe24222
+79207e05
+67e24222
+20600000
+6fe24223
+79207e05
+67e24223
+20600000
+6fe24224
+79207e05
+67e24224
+20600000
+6fe24225
+79207e05
+67e24225
+700a9506
+20207bab
+20407c88
+1a20a3fa
+2022d567
+18c08c01
+1a20a3ff
+20205563
+20600000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+18c08c02
+1fe20400
+58000005
+e7e20005
+18e27e00
+e7e20005
+1a20a202
+1a227e00
+e7e40005
+20407c83
+44ec401b
+58000050
+98467c00
+2022d587
+58000051
+98467c00
+2022d598
+58000052
+98467c00
+2022d59e
+58000053
+98467c00
+2022d5a4
+202055a9
+6fe24222
+79207e04
+79207e03
+67e24222
+c2815595
+6842027b
+79200406
+6042027b
+18e27e00
+1fe0fe01
+67e2027d
+6fe24222
+79207e02
+67e24222
+6fe4421a
+67e4027e
+202055a9
+6fe24223
+79207e04
+79207e03
+67e24223
+6fe4421c
+202055a9
+6fe24224
+79207e04
+79207e03
+67e24224
+6fe4421e
+202055a9
+6fe24225
+79207e04
+79207e03
+67e24225
+6fe44220
+1fe21600
+20407c88
+19627e00
+e7e40005
+18007e00
+e7e40005
+18007e00
+e7e40005
+18007e0a
+9a40a400
+1a20a3fa
+2022d5ba
+efe20006
+e7e20005
+1a40a401
+1a20a3ff
+202055b4
+20600000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+1a627e00
+9a262600
+efe40006
+1fe22200
+efe40006
+1fe21600
+20407c83
+44ecc01b
+58000050
+1a220400
+98467c00
+2022d5d4
+58000052
+1a220400
+98467c00
+2022d5d9
+58000053
+1a220400
+98467c00
+2022d5db
+202055dd
+58000000
+67e40271
+67e4421a
+67e24222
+202055df
+20405453
+202055df
+20405459
+202055df
+58000000
+67e40277
+20407c88
+58000007
+e7e20005
+18e27e00
+e7e20005
+58000004
+e7e40005
+1a227e00
+e7e40005
+19627e00
+e7e40005
+18007e08
+9a40a400
+20600000
+efe20006
+1fe20e00
+efe40006
+1fe22200
+efe40006
+1fe21600
+efe40006
+1fe20400
+20407c83
+44ed401b
+6fe24227
+a8e1fe00
+2420d604
+58000050
+98467c00
+2022d601
+58000051
+98467c00
+2022d604
+20205604
+70421a00
+70422200
+20205604
+20407c88
+1a627e00
+9a262600
+20600000
+58000001
+e7e20005
+efe20006
+e7e20005
+58000002
+e7e40005
+58000000
+e7e40005
+58000006
+9a40a400
+18002604
+20600000
+6fe24227
+1fe0fe01
+c0805618
+1fe0fe01
+67e24227
+20600000
+44edc01b
+da400000
+20405648
+243a4a8b
+20405658
+da401800
+d8e00000
+68424228
+a84fffff
+2020d629
+2040567a
+19667c00
+20215629
+20405662
+2020562f
+1a40a480
+18e08e01
+58000008
+98e67c00
+20215621
+da400000
+1a427e00
+203a4a8b
+20600000
+44ee401b
+20405651
+18c08c01
+efe40006
+20600000
+44eec01b
+20405651
+18c20a00
+18c20400
+58000000
+e7e60005
+20600000
+44ef401b
+2040564e
+203a4a8b
+6fe6422f
+67e64232
+6fe6422c
+67e6422f
+6fe64229
+67e6422c
+20600000
+44efc01b
+6fe64229
+20600000
+44f0401c
+6fe6422c
+20600000
+44f0c01c
+6fe64232
+20600000
+2040564e
+203a4a8b
+d8c04229
+efe60006
+203a5654
+18c08dfd
+20600000
+44f1401c
+df200004
+d8c04229
+d8400000
+efe60006
+1fe17eff
+98418400
+c200565c
+60424228
+20600000
+44f1c01c
+20405648
+243a4a8b
+2040564e
+203a566f
+6fe6422c
+67e64229
+efe60006
+e7e60005
+efe60006
+e7e60005
+58000000
+e7e60005
+d8400000
+19627e00
+98e0fe00
+f9200400
+18e08e01
+98e67c00
+2422d672
+1a4d7e00
+9841fe00
+67e64232
+20600000
+44f2401c
+20405658
+18e22600
+d8400000
+d9600000
+18e27e00
+c004568a
+6fe24228
+afefffff
+2020d68a
+18408480
+18e08e01
+1a227e00
+98467c00
+2022d68a
+2021567f
+18427e00
+9a267c00
+24215690
+18e27e00
+1a620400
+98461600
+1a620e00
+20600000
+44f2c01c
+da20007f
+2040561a
+67e40267
+1fe0fe04
+67e40269
+58000000
+67e4026b
+20600000
+6fe40267
+202056bc
+6fe40269
+202056bc
+44f3401c
+da2000fa
+2040561a
+67e4026d
+1fe0fe04
+67e4026f
+58000000
+67e40271
+20600000
+6fe4026d
+202056bc
+6fe4026f
+202056bc
+44f3c01c
+20407c57
+70028001
+20405648
+247a0000
+da20007f
+2040561a
+67e40273
+1fe0fe04
+67e40275
+58000000
+67e40277
+70028000
+20207c67
+6fe40273
+202056bc
+203a4a8b
+1fe20a00
+20600000
+44f4401d
+da400000
+da204229
+1a20a3fe
+1a20a202
+58004235
+9a267c00
+2022d6cf
+efe20011
+1a20a201
+203a56c3
+e8440011
+efe40002
+9a40a400
+1a40a404
+202056c3
+1a427e00
+20600000
+d8e0000c
+20204bec
+d8e0000c
+20204bf0
+44f4c01d
+20405658
+6fe24228
+207a0000
+204056bf
+d8400100
+98467c00
+202156d1
+204056d3
+d8a04235
+da204229
+58004235
+9a267c00
+20628000
+efe20011
+1a20a201
+243a56e9
+e7e40005
+1a20a202
+202056e0
+efe40011
+1a20a202
+1fe20c00
+efe40006
+e7e40005
+1fe27200
+1f20f202
+20407cdc
+202056e0
+44f5401d
+20405658
+6fe24228
+207a0000
+da20422a
+1a20a3fd
+d8c04235
+1a20a203
+58004236
+9a267c00
+20628000
+efe40006
+203a56f9
+1fe0fe04
+1fe27200
+18c22400
+efe40011
+1fe20a00
+1a420c00
+18c08dfe
+20407cdc
+202056f9
+44f5c01d
+7855fc00
+70045101
+70043b03
+70045201
+5fffffff
+67e40455
+18007e00
+67e20453
+67e2045e
+67e6416a
+67e6416d
+67ea43d5
+79207e27
+67ea43da
+7043ae01
+7043af00
+20205ac9
+44f6401d
+7834fc00
+70043c03
+70047401
+70442c01
+5800ffff
+67e4442e
+18007e00
+67ea43da
+79207e27
+67ea43d5
+20205708
+44f6c01d
+7854fc00
+58000017
+67e4447a
+70043c01
+70434000
+7000a000
+70449600
+70449700
+6fe40469
+67e4448c
+6fe4043d
+1feffe05
+1ff1fe00
+67e40469
+20205708
+2040579e
+204059c2
+20405acc
+202057a8
+44f7401d
+2040579e
+20404c8d
+6fe2043c
+c001d740
+20205754
+44f7c01d
+7834fc00
+20405ac0
+20215751
+20404c27
+204057ed
+204059f8
+7856fc00
+20405899
+24768000
+44f8401e
+6fe20005
+1fe0fe01
+67e20005
+20405984
+7854fc00
+20600000
+20405783
+7854fc00
+20600000
+44f8c01e
+7044e100
+20407964
+20405ff8
+78577c00
+20405ac0
+20215783
+20404c27
+204057ed
+20405863
+242c5775
+20405791
+2036d762
+2020576f
+44f9401e
+6fe244e1
+1fe0fe01
+67e244e1
+c006576f
+20405984
+204059f8
+204058a1
+20405a58
+6fe441fc
+20407d77
+2040577a
+2034577e
+44f9c01e
+20405fc4
+20405fbb
+20407bc1
+6fe2045e
+c281d783
+44fa401e
+20405bd4
+20405977
+2040594f
+2020483d
+78547c00
+c5157dbf
+c514fdbf
+20600000
+44fac01e
+78377c00
+2040589b
+2036d762
+2020576f
+44fb401e
+20405789
+20404d3f
+2040792c
+700a9515
+20207bab
+58000000
+67f244d1
+70045100
+70043c00
+70043b00
+70449700
+70449600
+20600000
+44fbc01e
+6fe20005
+1fe0fe01
+67e20005
+6fe2043b
+c3818000
+79207e03
+67e2043b
+6fe4448c
+67e40469
+58000000
+67e844b7
+20600000
+44fc401f
+70890f36
+70890b5f
+783b7c00
+70891407
+20404c27
+6fe241e1
+207a0000
+70890ab8
+20600000
+44fcc01f
+70890f2e
+70890bff
+785b7c00
+70891403
+db600000
+20600000
+7844fc00
+7843fc00
+6fe60463
+98001e00
+6fe20016
+1fed8400
+79200401
+18431c00
+20600000
+204057c0
+2040491c
+58000500
+20404a8e
+20204921
+2036c936
+204057c0
+20204930
+44fd401f
+20404915
+6fe20488
+243a57d3
+6fe20016
+1fe67c24
+202157cd
+18000400
+c1128000
+18000418
+c1130000
+1800044e
+20600000
+1fe67c0a
+202157d0
+1fe0fe01
+1fe3fe00
+1fe08402
+20600000
+6fe20016
+1fe38400
+20600000
+d84001f4
+207a0000
+d84000fa
+c1008000
+d8400096
+c1010000
+d8400064
+c1018000
+d840004b
+c1020000
+d8400032
+c1028000
+d8400028
+c1030000
+d8400014
+20600000
+588e89be
+1fed7e00
+1fe1fed6
+98001200
+58555555
+67e60463
+20600000
+44fdc01f
+78287c00
+6fe8045f
+98001200
+20405840
+58000200
+2034d7f6
+6fe40449
+1fe37e00
+d8400500
+9840fe00
+20404a23
+1b427e00
+67ec048d
+20600000
+44fe401f
+6fe20016
+c012d802
+c0135808
+c013d80e
+2020580e
+6842445f
+284ffe01
+2020d819
+284ffe02
+2020d81e
+20205814
+6842445f
+284ffe02
+2020d81e
+284ffe00
+2020d814
+20205819
+6842445f
+284ffe00
+2020d814
+284ffe01
+2020d819
+2020581e
+70001625
+6fe20abe
+79207e00
+67e20abe
+20600000
+70001626
+6fe20abe
+79207e01
+67e20abe
+20600000
+70001627
+6fe20abe
+79207e02
+67e20abe
+20600000
+44fec01f
+1a208c01
+efe20006
+c4000000
+1a208a1a
+efe40005
+1fe0fe01
+e7e40005
+1a208c19
+efe20006
+1a208a18
+e8420005
+9840fe00
+1fe67c24
+20215833
+1fe0ffdb
+e7e20005
+20600000
+44ff401f
+6fea046b
+18000400
+18007225
+c300583b
+18408401
+1fe37e00
+c2005839
+1840ffff
+67e2045d
+20600000
+44ffc01f
+6fe20453
+98000e00
+684a046b
+a84fffff
+2020d856
+47004020
+6fe2045d
+98e67e00
+2021584c
+1fe60fff
+20205846
+18e27200
+18000e00
+a84fffff
+2020d851
+1f20f201
+1f227e00
+203a5856
+18e08e01
+1f20f3ff
+2020584e
+18e27e00
+67e20016
+20600000
+2034d85c
+37c18200
+20600000
+d9600ea0
+34730200
+20600000
+78487c00
+6fe4433e
+1fe21600
+20205868
+4700c020
+78287c00
+6fe40449
+684844b7
+98409600
+204057b8
+47014020
+204057af
+7856fc00
+7826fc00
+7830fc00
+78507c00
+19623600
+37c18400
+20375874
+1b420400
+604c009a
+242c4649
+2037587b
+dd2001e0
+1c225000
+6fe2043b
+c301d87b
+2055cae6
+4701c020
+204049ba
+7823fc00
+7824fc00
+09800008
+19897e00
+67e202d5
+09800008
+19897e00
+e7e20005
+1fe1723f
+2022d88b
+09800008
+19897e00
+e7e20005
+c2005887
+47024020
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e7e60005
+20234649
+7836fc00
+6fe20017
+1fe0a200
+20404980
+7846fc00
+20204915
+4702c020
+204058a3
+68420017
+2040491c
+20404921
+78287c00
+d960157c
+20205869
+204058a3
+20204649
+47034020
+204057af
+204057bd
+202058a7
+79202a00
+782efc00
+78307c00
+7850fc00
+20405859
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+7823fc00
+7824fc00
+4703c020
+6fe243ae
+08008608
+efe20006
+1fe1723f
+08008608
+2022d8bc
+efe20006
+08008608
+c20058b9
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+20600000
+47044021
+6fe24456
+c000d8d3
+6fe24457
+1ff27e00
+1febfe00
+67e243ae
+68424341
+1840fe06
+67e243af
+6fec4472
+67ec43b0
+18427200
+d8c04342
+20407ccf
+202058de
+6fe24458
+1ff27e00
+1febfe00
+1fe0fe01
+67e243ae
+5800000c
+67e243af
+6fec4472
+67ec43b0
+6fec41d1
+e7ec0005
+4704c021
+6fe20000
+1fe0fe01
+67e20000
+db600708
+7856fc00
+20205899
+47054021
+6fe24470
+c1808000
+6fe20000
+1fe0fe01
+67e20000
+d8400c03
+6fe24471
+7d3a0406
+1a227e00
+7d3a0407
+604443ae
+6fec4472
+e7ec0005
+6fec044b
+e7ec0005
+20205899
+4705c021
+d8400004
+6fe24457
+7d3a0406
+604243ae
+68424361
+1840fe06
+67e243af
+6fec4472
+67ec43b0
+d8c04362
+18427200
+20407ccf
+204058a1
+20205ae2
+47064021
+18007fff
+38080001
+67ea046b
+20405835
+18007204
+d8a0045f
+204066ef
+6fe4446e
+67e40469
+180a7e00
+1fe17e0f
+1fe67c04
+2021590f
+67e20454
+67e206e2
+4706c021
+68444339
+6044043d
+18422600
+1c40fe07
+9a66fc00
+20407d61
+18072200
+9a267e00
+9a60fe00
+68444337
+9840fe00
+67e8043f
+9c462200
+1a20a3fa
+da402205
+6fe24467
+7d3a2406
+6fe24460
+7d3a2407
+1a427e00
+67e443ae
+6fec4472
+e7ec0005
+6fec044b
+e7ec0005
+6fe8045f
+e7e80005
+180a7e00
+e7e40005
+180a7e00
+e7e20005
+18007e02
+e7e20005
+1a2b7e00
+e7e40005
+1a6b7e00
+e7e40005
+47074021
+58000000
+e7e40005
+6fe4446e
+e7e40005
+6fea046b
+e7ea0005
+6fe20454
+d84000a0
+9841fe00
+e7e20005
+204058a1
+580043ae
+1fe08c12
+efe60006
+67e60463
+20600000
+4707c021
+7854fc00
+202057e6
+6fe2043b
+c4028000
+6fe40455
+6844045b
+98467e00
+24610000
+67e40a96
+47084022
+6fe2043b
+793ffe05
+793ffe03
+67e2043b
+6fe8043f
+6844043d
+60440a9e
+98462200
+4708c022
+6fe243a5
+67e20466
+e8440006
+efe40006
+1febfe00
+67e4043d
+184b8400
+9840fe00
+e8480006
+60480467
+9a20fe00
+1fe22800
+6fe4043d
+68440a9e
+98467e00
+68440a96
+984ffe00
+9a80fe00
+67e8043f
+20405af3
+6fe40469
+67e4448c
+20600000
+47094022
+6fe2043b
+c4030000
+6fe40455
+6844045b
+98467e00
+24610000
+6fe2043b
+793ffe06
+67e2043b
+6fea43a0
+67ea046b
+20205835
+4709c022
+20405ac9
+2040599a
+6fe202d5
+2feffe04
+7920802a
+1fe37e00
+9842fe00
+2feffe02
+7920800f
+c6078000
+6fe202d6
+203a5996
+6fe2043b
+c3025996
+20407342
+204072b2
+247a0000
+68420452
+79400402
+60420452
+20600000
+470a4022
+68420452
+284c0005
+20608000
+6fe202d5
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+60420452
+28400603
+24608000
+6fe243b0
+c002d9ac
+6fe24497
+c00159b0
+20600000
+6fe2043b
+79207e04
+67e2043b
+20600000
+470ac022
+70449700
+dfe00000
+67e843df
+67ea43d5
+79207e27
+67ea43da
+6fe2043b
+793ffe04
+67e2043b
+20600000
+470b4022
+204057fc
+2040585f
+6fe20001
+1fe0fe01
+67e20001
+20600000
+470bc022
+6fe2433b
+c1808000
+d8e00002
+20407cf1
+247a0000
+6fe4433c
+6844433e
+98467e00
+d8e00002
+20407ce3
+7854fc00
+2040594c
+204059bb
+24768000
+470c4023
+6fec02d7
+67ec044b
+6fe20002
+1fe0fe01
+67e20002
+204059e2
+20748000
+204058e5
+24768000
+470cc023
+6fe20004
+1fe0fe01
+67e20004
+6ff202dd
+67f200ff
+20600000
+470d4023
+6fe20497
+c18d8000
+6fec044b
+684c4461
+98467c00
+24628000
+20404237
+24628000
+20405905
+2040571a
+470dc023
+7041cf00
+70047200
+70433b00
+70049700
+2020421f
+da200001
+6fe202d5
+c3830000
+da200000
+20600000
+470e4023
+6fe20452
+c3828000
+20405a1c
+20405c53
+203a5a3e
+efe20006
+e8420006
+18422200
+9a267e00
+d840001b
+20407db5
+1fe20400
+efe20006
+1fe20200
+1a227e00
+98c08c00
+d8a043b0
+18427200
+20407cdc
+20405a2e
+20405a40
+20405c53
+efe20006
+1fe22200
+18c22600
+e8420006
+18422400
+9a467e00
+d840001b
+20407db5
+9a40fe00
+e7e20013
+9a267c00
+24628000
+20205c76
+20405a23
+c6148000
+6fe244bb
+c3015a2c
+20405c56
+203a5a2c
+20205a2a
+20405c53
+203a5a2c
+efe20006
+e8420006
+98467e00
+1fe67c1b
+20215a2c
+79200029
+20600000
+793f8029
+20600000
+1a227e00
+207a0000
+d8200001
+20600000
+470ec023
+18408401
+20405b4a
+18c08dfe
+efe40006
+d8402902
+98467c00
+24628000
+18c08c01
+18c22200
+efe20006
+20600000
+18000400
+18000201
+470f4023
+604243af
+68420452
+79200405
+18417efc
+9821fe00
+67e20452
+1fe17e1f
+280ffe29
+7920fe04
+67e243ae
+6fe243ae
+28200601
+2420da50
+6fe243af
+207a0000
+6fe2043b
+c4020000
+20407342
+20207299
+d8e00000
+20204bec
+d8e00000
+20204bf0
+470fc023
+c6078000
+20405c70
+247a0000
+6fe202d5
+1fe17e03
+67e244de
+efe20006
+1fe17e1f
+67e244dd
+207a0000
+18c27e00
+67e444df
+47104024
+6fe244de
+c001e044
+4710c024
+20405a76
+24345a54
+20405a56
+6fe444df
+1fe20c00
+efe40006
+67e444ce
+47114024
+efe40006
+c0025c8b
+c0035ed4
+c002de96
+20600000
+6fe244de
+c0015a85
+c000da9d
+20600000
+20407dbf
+d8400004
+9fe67c00
+20628000
+d8400005
+9fe67c00
+20628000
+d8400006
+9fe67c00
+20628000
+20207dc1
+6fe444df
+1fe20c00
+efe40006
+67e444ce
+efe40006
+20405a7a
+24740000
+684244dd
+604244d0
+6fe444ce
+1fe0fe04
+98467c00
+2022fdbf
+6fe244dd
+1fe27200
+d8a0030d
+6fe444df
+1fe20c00
+20407cdc
+20207dc1
+20407dbf
+6fe244d0
+247a0000
+20207dc1
+20405a99
+24740000
+6fe244d0
+d8a0030d
+98a0a200
+684244dd
+9840fe00
+67e244d0
+6fe244dd
+1fe27200
+1a220a00
+6fe444df
+1fe20c00
+20407ccf
+5800030d
+67e444df
+6fe444ce
+1fe0fe04
+684244d0
+98467c00
+2022fdbf
+20207dc1
+20407c80
+d8a04430
+6fe444ce
+1fe0fffb
+e7e20005
+1fe27200
+20407c7a
+20207ccf
+20407c80
+d8a04443
+20205ab5
+6fe441fa
+20207d77
+68480457
+20404a7a
+98461600
+19627e00
+68440469
+18520400
+18438400
+98467e00
+20600000
+20404a7a
+67e80457
+20600000
+70001624
+700abe00
+4711c024
+6fe24340
+207a0000
+d8e00000
+20407cf1
+247a0000
+47124024
+7854fc00
+78287c00
+2040594c
+204057fc
+204058c3
+2436dae2
+6fe20003
+1fe0fe01
+67e20003
+6fe202d5
+1fe17e0f
+c001d8f6
+c002db08
+4712c024
+180a7e00
+d84001ff
+98417e00
+1fe0fefa
+20405aef
+6fe20abe
+6842445f
+98467c00
+2422dace
+d8e00000
+6fe44454
+20207ce3
+1fe0ffff
+20000026
+243a5aef
+20600000
+47134024
+6fe20472
+204057d6
+6fe4043d
+984ffe00
+d8400177
+984ffe00
+d84186a0
+9846fc00
+6fe20466
+d8404e20
+984ffe00
+9840fe00
+67e844b7
+4713c024
+6fe440c1
+20407d61
+18078400
+9840fe00
+67e40449
+20600000
+47144025
+6fec02dd
+684c4472
+98467c00
+24628000
+204059f3
+1a227e00
+67e24460
+6fee02ea
+67ee00ff
+eff00006
+e7f00005
+6fec02d7
+67ec044b
+18c08c06
+eff00006
+67f0045f
+e8440006
+4714c025
+184b8400
+efe40006
+1febfe00
+67e4043d
+67e8043f
+98467e00
+1fe0d1fe
+eff20006
+67f20467
+47154025
+efe20006
+1ff18400
+18430400
+60420472
+1fe17e1f
+67e20454
+20405af3
+20405835
+20405726
+20404237
+24628000
+4715c025
+2040483d
+20405eb3
+700a9514
+20407bab
+2020421f
+47164025
+6fe4442c
+98002400
+6fe4442e
+98002600
+6fe4448e
+98000c00
+78347c00
+20600000
+efe40006
+207a0000
+9a467c00
+24610000
+9a667c00
+20628000
+20215b48
+18007c01
+20600000
+18007e00
+20600000
+20405b4d
+2022db59
+20600000
+4716c025
+6fe4448e
+98000c00
+efe40006
+207a0000
+98467c00
+20628000
+efe20006
+98c08c00
+efe20006
+98c08c00
+20205b50
+efe20006
+98c08c00
+20600000
+47174025
+6fe4448e
+98000c00
+efe40006
+207a0000
+efe20006
+98c08c00
+18c08dfe
+efe40006
+98467c00
+20628000
+efe20006
+98c08c00
+20205b5f
+6fe40498
+20205b6e
+4717c025
+6fe4448e
+98000c00
+18422200
+efe40006
+203a5b79
+9a267c00
+2022db7a
+efe20006
+98c08c00
+efe20006
+98c08c00
+20205b70
+20207dc7
+efe20006
+67e2049e
+1fe27200
+d8a0049f
+20407ccf
+efe20006
+67e204af
+20407c80
+20207dc9
+47184026
+20405b86
+20205b98
+d8402a00
+20405b5c
+207a0000
+efe20006
+18c20a00
+68424381
+18427200
+98467c00
+24215b95
+98460400
+d8c04382
+20407cdc
+18427200
+2442dbd0
+20600000
+1fe27200
+d8c04382
+20207ccf
+da604361
+da204342
+20405ba5
+58000000
+79347e00
+67e20a96
+da604381
+da204362
+20405ba5
+20740000
+6fe20a96
+203a4a8b
+20600000
+4718c026
+20407dbf
+20407cb5
+da400000
+d8a00abf
+20405bbf
+6fe24381
+1fe08401
+9a40a200
+1a20a202
+1a267c1f
+24215bbd
+e0420005
+d8400009
+e0420005
+98007200
+20407ccf
+1a222400
+1a427e00
+67e20abe
+d8c00abe
+5fffffe0
+9a608a00
+20207c98
+20407dc1
+20205bb7
+efe20011
+207a0000
+1fe0fe01
+e8420006
+18467c09
+2022dbce
+9a40a400
+1a220c00
+98007200
+20407ccf
+18c22200
+1a227e00
+9a667c00
+20610000
+20205bbf
+9a20a200
+20205bca
+58000020
+e7e20005
+c2005bd0
+20600000
+47194026
+7855fc00
+20375bd8
+2436dbe6
+20404ba0
+6fe440c1
+67e40449
+2436cbb3
+c507cbb3
+6fe244dd
+243a4bb3
+6fe243af
+243a4bb3
+6fe244bb
+c282cbb3
+6fe2043b
+c282cbb3
+20204b95
+684440c1
+18430400
+6fe40449
+9840fe00
+67e40449
+20204bab
+d8e00000
+20205c04
+d8e00000
+20205c08
+d8e00001
+20205c04
+d8e00001
+20205c08
+d8e00002
+20205c04
+d8e00002
+20205c08
+d8e00003
+20205c04
+d8e00003
+20205c08
+d8e00004
+20205c04
+d8e00004
+20205c08
+d8e00005
+20205c04
+d8e00005
+20205c08
+6fe244bb
+f9207e00
+67e244bb
+20600000
+6fe244bb
+f93ffe00
+67e244bb
+20600000
+58112233
+67e644bc
+58445566
+e7e60005
+58778899
+e7e60005
+58001122
+e7e60005
+58334455
+e7e60005
+58000066
+e7e20005
+20600000
+59000302
+67e84425
+58010010
+67e64429
+70449801
+20600000
+da200000
+d8200001
+20205c30
+d8200003
+20405c30
+1a427e00
+e7e20005
+20600000
+18000202
+1a20a204
+20405c30
+1a20a3fc
+1a227e00
+e7e40005
+1a427e00
+e7e40005
+20600000
+1a267cf0
+24214a8b
+6fe244d1
+d8400001
+df200004
+98417c00
+2022dc3a
+18438400
+c2005c35
+20204a8b
+9842fe00
+67e244d1
+1f267e04
+1ff27e00
+1ff27e00
+d8401800
+98408400
+df200000
+d8c044d2
+efe40006
+203a5c49
+1f227e00
+1f20f201
+c0825c43
+20204a8b
+18c08dfe
+e0440006
+18420a00
+1a227e00
+e7e20005
+58000000
+e7e20005
+18227e00
+e7e20005
+20600000
+6fe444d2
+1fe20c00
+20600000
+6fe444d4
+1fe20c00
+20600000
+20405c5c
+1fe20c00
+20600000
+6fe444d8
+247a0000
+6fe444d6
+247a0000
+6fe444d4
+247a0000
+6fe444d2
+20600000
+20405c53
+18c08c03
+20600000
+20405c53
+18c08c07
+20600000
+20405c59
+18c08c07
+20600000
+20405c59
+18c08c03
+20600000
+6fe444d8
+20600000
+6fe444d6
+20600000
+6fe444d2
+20600000
+6fe444d2
+d8401800
+98467e00
+1ff1fe00
+1ff18e00
+6fe244d1
+f93ffe00
+67e244d1
+df200000
+1f23fe00
+d84044d4
+98408400
+efe40002
+184085fe
+e7e40002
+1f227e00
+1f20f201
+c081dc7f
+58000000
+e7e40002
+20600000
+efe60006
+67e60473
+c0015ca1
+c001dca9
+c0025cac
+c0035cd2
+c0045d1f
+c0055d9c
+c0065dc4
+c0085dda
+c0095e0f
+c00b5e28
+c00c5e3b
+c0295e40
+20600000
+18002203
+20405e62
+58000002
+e7e20005
+6fe44478
+e7e40005
+20600000
+20405ca9
+18002203
+20405e62
+58000003
+e7e20005
+6fe44478
+e7e40005
+20600000
+1fecfe00
+67e4447a
+20600000
+20405e91
+20407dbf
+20205caf
+d9600003
+20405b36
+20405b3f
+203a5cd0
+24215ccd
+18c08dfe
+20407c80
+20407c77
+24345cc1
+20407c60
+20407dc1
+18002214
+20405e62
+20407c70
+58000005
+e7e20005
+58000001
+e7e20005
+20407c7a
+efe40006
+e7e40005
+efe20006
+1fe27200
+20407cdc
+20407c7d
+196097ff
+2022dcd0
+efe20006
+98c08c00
+20205cb1
+efe20006
+98c08c00
+20205cca
+20345e56
+20205e85
+20405e91
+efe40006
+67e44444
+20407c80
+d8a04430
+6fe444ce
+1fe0fff9
+20405ab7
+20205ce5
+78547c00
+6844442c
+6fe4442e
+98467c00
+24215ce2
+18427e00
+c1800000
+78347c00
+70047601
+20205e57
+20405cdb
+20740000
+68444444
+58002800
+98467c00
+2022dcec
+20205e56
+7004b000
+6844442c
+60440a9e
+20405b6c
+243a5e56
+68440a9e
+20405b6c
+243a5d05
+18c22200
+6fe204af
+1fe27200
+68424430
+98467c00
+2422dd01
+da404431
+20407d63
+2022dd08
+6fe4049f
+68444444
+98467c00
+2022dd10
+6fe40a9e
+1fe0fe01
+67e40a9e
+20205cf1
+6fe204b0
+c000dd10
+20205e56
+6fe4049f
+68444444
+98467c00
+2422dd01
+7004b001
+68440a9e
+6044049a
+20205d01
+6fe204b0
+c0005d01
+7004b002
+68440a9e
+184085ff
+6044049c
+da200005
+20405e62
+58000007
+e7e20005
+6fe4049a
+e7e40005
+6fe4049c
+e7e40005
+20600000
+20405e91
+20405abb
+20205d22
+6844442c
+60440a9e
+20405b36
+20405b4d
+18c08dfe
+18c27e00
+67e40498
+68444444
+58002a00
+98467c00
+2022dd88
+58002803
+98467c00
+2422dd70
+d9600002
+20405e68
+24215d4d
+68440a9e
+20405b6a
+c000dd4d
+20405e74
+2422dd4b
+24345d4f
+78547c00
+da200014
+20405e62
+58000009
+e7e20005
+18a26000
+18a08a01
+20405d5d
+20405e64
+20405b6a
+20405d64
+6fe2049e
+1fe0fe05
+e7e20030
+6fe2049e
+c0085d4d
+196097ff
+2022dd4d
+20405e64
+20205d31
+20345e56
+20205e85
+20405e77
+20405e64
+20405b6a
+6fe2049e
+c0085d4d
+20407c77
+6fe40a9e
+1fe0ffff
+e7e40005
+20405e81
+20405d64
+196097ff
+2022dd4d
+20205d4b
+6fe40a9e
+e7e40005
+6fe204af
+1fe27200
+20407c7a
+20407ccf
+20207c7d
+20407c77
+6fe40a9e
+e7e40005
+20407c7d
+6fe2049e
+1fe27200
+20407c77
+20407c7a
+9f260c00
+18c08dff
+20407ccf
+20207c7d
+6844442c
+60440a9e
+20405e68
+24215e56
+20405b6a
+c000de56
+20405e74
+2422dd86
+da200014
+20405e62
+58000009
+e7e20005
+6fe204af
+1fe27200
+1fe0fe02
+e7e20005
+6fe40a9e
+e7e40005
+20407c7a
+20407ccf
+20407c7d
+20205e85
+20405e64
+20205d72
+d8402a00
+20405b5c
+207a0000
+18c08dfb
+efe40006
+67e40a9e
+da200014
+20405e62
+58000009
+e7e20005
+6fe24381
+1fe27200
+1fe0fe02
+e7e20005
+6fe40a9e
+e7e40005
+d8c04382
+20407ccf
+20407c7d
+20205e85
+68440474
+6fe244bb
+c281ddbd
+20405b4a
+203a5e56
+18c08dfe
+efe40006
+d8402a00
+98467c00
+2022ddb3
+efe20006
+1fe67c16
+20215daa
+18007e16
+1fe22600
+20407c80
+1a60a201
+20405e62
+5800000b
+e7e20005
+1a627200
+20407c7a
+20207cdc
+20407c80
+6fe24381
+1fe0a201
+20405e62
+5800000b
+e7e20005
+6fe24381
+1fe27200
+d8c04382
+20207cdc
+6fe444cc
+98467c00
+2422dd9f
+20405e22
+24345d9f
+70047605
+20205e57
+efe40006
+67e44430
+da200014
+20405e62
+5800000d
+e7e20005
+6fe44430
+98002200
+68440474
+20405b4a
+203a5e56
+efe20006
+9a267200
+24215e56
+1f267c16
+20215dd5
+18007216
+1a227e00
+98c08c00
+20407ccf
+20407c7d
+20205e85
+20405e91
+20405ab3
+20205ddd
+d9600002
+6844442c
+60440a9e
+20405b36
+20405b4d
+18c08dfe
+18c27e00
+67e40498
+20405e68
+24215e05
+68440a9e
+20405b6a
+c000de08
+20405e6c
+2422de03
+19627e00
+c0005e08
+24345df9
+78547c00
+da200014
+20405e62
+58000011
+e7e20005
+6fe204af
+1fe0fe04
+e7e20005
+20407c7d
+20205dff
+6fe204af
+c0085e08
+6fe40a9e
+1fe0ffff
+67e4049c
+20405e7c
+6fe40a9e
+67e4049a
+20405e77
+196097ff
+20405e64
+20205de5
+6fe40a9e
+67e4049c
+20205e0c
+6fe40a9e
+1fe0ffff
+67e4049c
+20205e0c
+20345e56
+20405e7c
+20205e85
+18c22200
+6fe444ce
+1fe0a5fd
+20405abe
+6fe244bb
+c3025e1d
+68440474
+6fe444cc
+98467c00
+2422de1d
+20405e22
+24345e1d
+70047605
+20205e57
+18002201
+20405e62
+58000013
+e7e20005
+20600000
+20407dc1
+6fe24498
+c1000000
+6fe24040
+c3820000
+20207dbf
+18c0a202
+6fe444ce
+1fe0a5fb
+20405abe
+20205e2d
+6fe444ce
+1fe22200
+20405e62
+58000017
+e7e20005
+6fe40474
+e7e40005
+6fe444ce
+1fe0f3fb
+6fe444df
+1fe08c07
+efe40006
+e7e40005
+20207ccf
+18002201
+20405e62
+58000019
+e7e20005
+20600000
+18c22200
+6fe444ce
+1fe0a5fd
+20205abe
+18422600
+1a20a203
+20405e62
+1a20a3fd
+5800001b
+e7e20005
+1a620400
+e0440005
+20600000
+18422600
+1a20a203
+20405e62
+1a20a3fd
+5800001d
+e7e20005
+1a620400
+e0440005
+20600000
+7004760a
+18002205
+20405e62
+58000001
+e7e20005
+6fe20473
+e7e20005
+6fe40474
+e7e40005
+6fe20476
+e7e20005
+20600000
+18002404
+20205c27
+68440a9e
+18408401
+60440a9e
+20600000
+68440a9e
+6fe4442e
+98467c00
+20600000
+68424430
+da204431
+6fe2049e
+1fe27200
+98467c00
+24628000
+da40049f
+20207d63
+68424443
+da204444
+20205e6e
+6fe204af
+67e200ff
+1fe27200
+20407c7a
+20207ccf
+20407c77
+6fe4049a
+e7e40005
+6fe4049c
+e7e40005
+6fe200ff
+1fe27200
+20407ccf
+20207c7d
+20407c77
+20405c6a
+18a27e00
+98c62200
+20405c6d
+1a227e00
+e7e40006
+1a20a204
+20405c59
+1a227e00
+e7e20006
+20600000
+1fecfe00
+67e4442c
+efe40006
+67e4442e
+20600000
+efe20006
+e8420006
+e8440006
+c009de9b
+20600000
+efe40006
+67e444db
+700a9540
+20207bab
+da20000c
+da600012
+20405ea7
+58000008
+e7e40005
+6ff04468
+e7f00005
+20600000
+20405eaf
+da400005
+20405c27
+1a627e00
+e7e20005
+6fe244da
+e7e20005
+20600000
+6fe244da
+1fe0fe01
+67e244da
+c1800000
+7044da01
+20600000
+6fe24498
+c0005ec4
+c000dec7
+c0015ec9
+c040debd
+c0415ebf
+c041dec2
+20600000
+7044280d
+20205ec5
+7044280d
+70442601
+20600000
+7044280d
+20205eca
+70442800
+70442603
+20600000
+70442805
+20205ec5
+70442805
+70442600
+20600000
+6fe24428
+79207e03
+67e24428
+20600000
+6fe24428
+793ffe03
+67e24428
+20600000
+efe20006
+c000dee9
+c001df10
+c0025f2d
+c002df3a
+c0035f60
+c003dfa4
+c0045f8f
+c004dfa0
+c0055fa4
+c005dfa4
+c0065fa5
+c006dfaa
+20600000
+18002202
+20406042
+5800000b
+e7e20005
+6fe24428
+e7e20005
+20600000
+67e2441e
+efec0006
+e7ec0005
+6fe24498
+c0005f3f
+20405f0b
+20405f06
+70449603
+6fe2441f
+c0005ef8
+c000def8
+c001def8
+6fe24498
+c0015efb
+c1418000
+dfe00000
+67e84499
+20600000
+6fe244bb
+c2805f04
+da204499
+1a220a00
+df200003
+204066ef
+6fe4449b
+1fe17e07
+67e4449b
+700a9534
+20207bab
+6fe24421
+c3818000
+6fe24498
+c4038000
+20204d7d
+18002207
+20406042
+6fee4425
+e7ee0005
+20600000
+18c22200
+6fe24498
+c041df17
+1a220c00
+d8a043fc
+20407c9a
+20205f1d
+1a220c00
+d8a043fc
+20407c9a
+70449102
+70449308
+20600000
+6fe24498
+c283df25
+20407252
+18002211
+20406042
+58000003
+e7e20005
+2020734c
+d8a0440c
+204066ee
+20407084
+18002211
+20406042
+58000003
+e7e20005
+202070c0
+18c22200
+6fe24498
+c283df41
+1a220c00
+2040724a
+2022df55
+70047704
+18002202
+20406042
+58000005
+e7e20005
+6fe20477
+e7e20005
+18000e0a
+20407ce2
+70449600
+700a9530
+20207bab
+70047705
+20205f34
+d8a0042b
+1a220c00
+20407c9a
+6fe24498
+c041df4c
+2040700e
+20405f5a
+6fe24498
+c1c10000
+700a953b
+20207bab
+20407079
+d8a00aee
+204070c0
+da200aee
+da4043fc
+df200010
+20407d63
+2422df33
+20205f5a
+20407246
+700a9531
+20407bab
+7043fb01
+70449605
+18002211
+20406042
+58000004
+e7e20005
+d8c0440c
+20207c9a
+d8a0041b
+20207c9a
+18002211
+20406042
+58000006
+e7e20005
+6fe244bb
+c280df6a
+d8c043eb
+20207c9a
+d8c044bc
+20207c9a
+d8a0449d
+1800720a
+204066ef
+1800220b
+20406042
+58000007
+e7e20005
+6fe4449d
+e7e40005
+6ff0449f
+e7f00005
+20600000
+18002211
+20406042
+58000008
+e7e20005
+58000000
+e7f00005
+e7f00005
+20600000
+18002208
+20406042
+58000009
+e7e20005
+6fe24467
+e7e20005
+6fec4472
+e7ec0005
+20600000
+70047708
+20205f34
+6fe2442a
+6842442a
+98417e00
+20600000
+d8a044a7
+20407c9a
+20405f8b
+2fec0001
+2020df89
+6fe24092
+c1850000
+20405f99
+24740000
+20204d8b
+20407dc1
+6fe24460
+c1000000
+6fe20450
+2fe180c0
+20608000
+20207dbf
+20405f8b
+2fec0001
+2020df89
+20600000
+20600000
+d8a009ba
+20407c8e
+70449102
+70449301
+20600000
+d8a00a6a
+20407c9a
+70449306
+70449102
+20600000
+18002241
+20406042
+5800000c
+e7e20005
+d8c045a4
+20207c8e
+20407025
+18002211
+20406042
+5800000d
+e7e20005
+202070c0
+6fe24496
+c17f8000
+d8400003
+98467c00
+24610000
+d8e0000a
+20407cf1
+247a0000
+20205f89
+4719c026
+6fe24496
+c0005fcf
+c000dfd5
+c0015fcf
+c001dfd7
+c002dfdb
+c003dfe7
+c0045fe9
+c004dff0
+20600000
+6fe24497
+c1820000
+704497ff
+704496ff
+700a953f
+20207bab
+70449602
+20205ee2
+70449604
+58017700
+d8e0000a
+20207ce3
+6fe24497
+c0025fde
+20600000
+70449607
+700a9529
+20407bab
+20405f62
+6fe24092
+c1850000
+20405f99
+20740000
+20204d8b
+70449608
+20205f6c
+6fe24424
+6842442b
+98417e00
+2fec0001
+2020dff2
+70449609
+20205f78
+20405f80
+20205ff2
+18000e0a
+20407ce2
+704497ff
+704496ff
+700a953e
+20207bab
+471a4026
+6fe24498
+c4038000
+6fe24491
+c1810000
+70449100
+6fe24493
+c000e038
+c001603f
+c001e032
+c0036019
+c003e010
+c0046006
+20600000
+6fe24635
+1fe20e00
+1fe0fe01
+67e24635
+6fe84499
+afefffff
+58000080
+7920fe00
+67e24636
+20206035
+6fe24494
+70449400
+c000e015
+70449102
+20600000
+700a9531
+20407bab
+70449605
+20205fb5
+6fe209b5
+c001e01d
+70449102
+20600000
+2040704c
+6fe24498
+c041e021
+20405ef8
+20407039
+da200aee
+da400a6a
+df200010
+20407d63
+2022e029
+7004770b
+20205f34
+2040744a
+2422e027
+7043fb01
+6fe24498
+c040e015
+c041e015
+70449102
+70449307
+20600000
+6fe24498
+c041e036
+70463600
+20205f1d
+70463500
+20205efb
+70449102
+6fe24495
+c001e03c
+20600000
+70449302
+7009b500
+2020794e
+70449102
+70449303
+20205faf
+18002406
+20205c27
+471ac026
+6fe202d7
+c000605c
+c000e064
+c001606f
+c001e08b
+c00260c2
+c002e0c7
+c00360cb
+c003e0d6
+c004607a
+c004e0d6
+c00560d0
+c005e0d6
+c0066080
+c006e0d6
+c0096087
+c009e0d6
+da200002
+da400007
+20405c22
+6fe202d7
+e7e20005
+20600000
+eff20006
+67f243a5
+efe40006
+67e4045b
+6fe2043b
+79207e05
+67e2043b
+20600000
+efea0006
+67ea43a0
+efe40006
+67e4045b
+68440455
+98467c00
+2421606f
+6fe2043b
+79207e06
+67e2043b
+20600000
+58000014
+67e40469
+67e4448c
+20600000
+da600013
+da200002
+da400002
+20405c22
+1a627e00
+e7e20005
+20600000
+da200009
+da400009
+20405c22
+58000001
+e7f00005
+20600000
+20748000
+da200006
+da40000c
+20405c22
+6fea44e2
+e7ea0005
+20600000
+da400013
+20206089
+da200001
+20205c22
+eff00006
+67f0449f
+efe40006
+67e4449d
+eff00006
+67f0447c
+efe80006
+67e843e3
+204060b0
+471b4026
+6fe24496
+c002e09d
+6fe244bb
+c280e0a0
+6fe24216
+245a68b0
+6fe243fb
+c00060a5
+70449701
+204060be
+20207258
+7043fb01
+d8c044bc
+d8a043eb
+20407c9a
+2020609d
+471bc026
+70449700
+70449600
+700a9541
+20207bab
+da200002
+da40000d
+20405c22
+58000006
+e7e20005
+20600000
+d8a04484
+18007208
+204066ef
+d8a043e7
+18007204
+204066ef
+da20000d
+da400004
+20405c22
+6ff04484
+e7f00005
+6fe843e7
+e7e80005
+20600000
+da400005
+20206089
+da400006
+20206089
+eff00006
+67f04484
+efe80006
+67e843e7
+20207258
+6fe2043b
+79207e04
+67e2043b
+20600000
+20748000
+700a9532
+20407bab
+70449704
+202060c0
+70449702
+204060d4
+700a9533
+20207bab
+da40000b
+20206089
+20600000
+20758000
+471c4027
+58000000
+67e20048
+67e20055
+67e20078
+67e2007c
+67e24159
+67e204d3
+67e2016b
+67e209b1
+70452d00
+70022700
+7004d400
+7009b100
+7009b000
+7004cd00
+20600000
+471cc027
+2054e6e1
+2454e6e5
+2040669e
+247a0000
+6fe2004c
+c4030000
+793ffe06
+793f8001
+67e2004c
+6fe2054d
+6842004c
+2feffe00
+79208401
+6042004c
+18410402
+6042007f
+6842004c
+1fe37e00
+67e2007d
+471d4027
+6fe2007d
+c03fe147
+c001e192
+c00261a3
+c01e613a
+c002e136
+c007e38a
+c0086205
+c011e223
+c01ce3a3
+c01c639e
+c018e208
+c01be291
+c013e28d
+c019e28a
+c012e28f
+c013621f
+c003e217
+c016e20e
+c017620f
+c000e286
+c0016271
+c0146395
+c004e267
+c005e240
+c0046224
+c006624b
+c00fe21b
+c010621d
+c010e2ab
+c01162ab
+c01ae2ac
+c01b62ad
+c01262ab
+c01a62ae
+c00be2b7
+c008e2d4
+c00962d8
+c009e2da
+c006e2ec
+c00762ec
+c017e28b
+c01862ec
+c00562ec
+c00c62ed
+c01962ec
+c01ee2f2
+c01f6333
+c01fe32d
+c020635a
+c020e36c
+c0036389
+c01d6138
+70007e19
+70007c04
+20600000
+70007c06
+20600000
+70007c3b
+20600000
+6fe8054e
+1fe3fe00
+67e840d2
+6fe20552
+67e240d9
+6fea0553
+67ea40e7
+6fea0558
+e7ea0005
+6fe20031
+79207e03
+67e20031
+20600000
+471dc027
+6fe2054e
+79207e07
+67e2007d
+c040e169
+c041616e
+c04ae292
+c04b62ab
+c045e2a0
+c041e186
+c0426188
+c048615b
+c04be17f
+c04c6184
+c04ce15e
+c04d6161
+c1420000
+70007c82
+70007e19
+20600000
+70007c82
+70007e2e
+20600000
+20406163
+70007c9a
+20600000
+20406163
+20206167
+d8a04630
+6fe6054f
+e7e60005
+20600000
+2020f58d
+20600000
+6fe20550
+79207e07
+67e204c5
+c045e173
+20600000
+6fe20550
+79207e07
+67e204c5
+c045e177
+20600000
+6fe2415b
+6842004c
+7d3a0405
+6042004c
+6fe20030
+c4028000
+793ffe05
+67e20030
+6fe204d3
+247a0000
+70007c31
+20600000
+2434e182
+70007c12
+202066cd
+70007c97
+20600000
+204066cd
+202063e0
+70007c84
+20600000
+68420551
+18410401
+604204cc
+6fe241cf
+c0a8e18e
+7041cf00
+6fe20055
+c18a8000
+70005504
+202066fd
+471e4027
+6fe2054e
+67e204c5
+c019e1b9
+c00461c8
+c007e1cf
+c00861d5
+c008e1d6
+c00961de
+c00c61f4
+c00be1f7
+c009e1b0
+c01ee300
+c01f634c
+c0206302
+c020e31f
+20600000
+471ec027
+6fe2054e
+67e204c5
+c000e1eb
+c019e1c3
+c005e1df
+c00461e2
+c009e1b3
+c02061ec
+c020e1ef
+c00c61f2
+c00be203
+20600000
+700a9520
+20407bab
+202041d8
+700a9519
+20407bab
+70452d02
+58000050
+d8e00006
+20207ce3
+6fe204cd
+79207e00
+67e204cd
+700a9501
+20407bab
+70007c8b
+6fe20055
+c082e0e8
+70005506
+20600000
+7004c60b
+70007c07
+70005500
+2020e0e8
+20600000
+6fe241be
+247a0000
+2040444b
+204063de
+20748000
+79200021
+20600000
+24748000
+70007c10
+6fe2004c
+c4010000
+70007c12
+20600000
+202063e0
+2040643b
+6fe20030
+c3820000
+70007c31
+6fe20055
+c1850000
+7000550b
+20600000
+20600000
+70007c07
+7004c613
+20600000
+6fe2054f
+c00361e8
+c18c0000
+7004c618
+70007c07
+20600000
+7004c606
+70007c07
+20600000
+20600000
+7009aa00
+70007c07
+202060e8
+7009aa00
+70007c07
+202060e8
+700a9524
+20207bab
+700a9523
+20407bab
+202046e5
+700a9522
+20407bab
+58000000
+67e40075
+6fe441e4
+1fe3fe00
+67e40032
+6fe241e6
+67e20073
+6fe241e8
+67e20074
+202046c2
+700a9521
+20207bab
+6842054e
+60420054
+20206219
+6fe204cd
+79207e02
+67e204cd
+c3818000
+70007c31
+202060e8
+20600000
+6fe240d0
+6842054e
+98467c00
+20216219
+70007c04
+70007e1f
+70007d2e
+20600000
+20406539
+20206219
+70007c03
+20600000
+70007c21
+20600000
+70007c22
+20600000
+6fe20055
+c1098000
+70005502
+20600000
+20600000
+204063db
+7004d001
+700a950a
+20407bab
+204066d5
+2420e3e3
+2434e22f
+70007c04
+70007d08
+70007e23
+20600000
+6fe2004b
+79207e02
+67e2004b
+20600000
+6842004c
+7d3a0401
+6042004c
+20600000
+6fe2007f
+1fe37e00
+1fe17e01
+20600000
+6fe24216
+207a0000
+6fe209b1
+205a68a4
+20600000
+2040623b
+20406237
+67e204d1
+204063db
+70007c0c
+6fe241be
+247a0000
+6fe20030
+c3830000
+70007e06
+20206134
+da200040
+20407147
+6fe8054e
+6848058e
+98467c00
+2022e254
+70007c07
+7004c605
+20600000
+20406258
+6fe2462c
+203a6320
+20600000
+2040723c
+204041ae
+6fe2004b
+2feffe01
+793ffe01
+67e2004b
+6fe20055
+c00ce262
+c00c6262
+20600000
+6fe209b1
+c1800000
+6fe2004c
+c3810000
+20206793
+da20054e
+da40057e
+d8a0055e
+20407208
+da200040
+204066f3
+70007c0b
+6fe20030
+c30363de
+20600000
+6fe4015d
+1fe0f3fd
+6842054e
+580000ff
+98408a00
+d8c00550
+20407cdc
+68420053
+6fe2054f
+98467e00
+1fe67c0e
+20216281
+1840fe0e
+67e20053
+70007c01
+20600000
+6fe2004c
+79207e03
+67e2004c
+c28263e8
+20600000
+6fe2054e
+67e2007d
+70007c02
+20600000
+20206219
+70007c30
+20600000
+70007c28
+20600000
+70007c26
+20600000
+20600000
+6fe40032
+98000400
+6fe2054f
+67e20095
+984f8400
+6fe40550
+1fe3fe00
+67e40096
+6fe80552
+1fe3fe00
+67e80091
+18427e00
+67e40098
+20600000
+6842415b
+6fe2054f
+9842fc00
+2422e158
+2feffe00
+6fe2004c
+7920fe05
+67e2004c
+70007c81
+70007d8b
+20600000
+20600000
+20206219
+20206219
+6fe4054e
+67e4016f
+20600000
+6fe40551
+68424173
+984ffe00
+d8400640
+98467c00
+20600000
+202062d2
+6fe40553
+203a62d2
+204062b1
+202162d2
+6fe24092
+1fe67c0a
+2042d0c1
+6fe20030
+c280e2d2
+6fe4054f
+1fe3fe00
+67e40075
+6fe40551
+1fe3fe00
+67e40032
+6fe40553
+67e20073
+98000400
+6fe40555
+67e20074
+98467c00
+242162cf
+67e20073
+70007c03
+70007d17
+20600000
+70007e24
+20206134
+20406219
+204063db
+2040714a
+202046b4
+20406219
+202046bc
+6fe8054e
+1fe3fe00
+2034e2e6
+684241be
+243a62e3
+70007c04
+70007d13
+70007e24
+20600000
+70007c34
+70005500
+202041d5
+204041d5
+79200022
+6fe2016b
+793ffe02
+67e2016b
+20206219
+20600000
+70007c03
+70007d18
+700a952e
+20407bab
+202046e5
+6fe2054e
+c080e2fe
+6fe2054f
+c080e2fe
+6fe20550
+c09862fe
+204066de
+2020e2fb
+7009aa01
+70007c03
+70007d3d
+202060e8
+70007e24
+20206134
+70007c3e
+20600000
+6fe24634
+c000e309
+c001630d
+204066de
+20608000
+7009aa08
+20600000
+20407817
+700a9535
+20407bab
+20206305
+204066de
+20608000
+6fe24635
+c009e31d
+1fe0fe01
+67e24635
+7009ac01
+7009aa04
+6fe24635
+1fe20e00
+6fec4658
+afefffff
+58000080
+7920fe00
+67e24636
+20600000
+7009aa08
+20600000
+20406325
+6fe24637
+207a0000
+70463700
+700a9538
+20207bab
+204066de
+2440f81a
+2040f82a
+204066de
+20608000
+7009aa0c
+7009ac01
+20600000
+d8a00a6a
+d8c0054e
+20407c9a
+6fe24634
+c1010000
+2020758d
+6fe209ab
+c003e337
+6fe209aa
+c080e34a
+6fe209b3
+1fe60a20
+2421634a
+d8a009c2
+98a08a00
+6ff0054e
+e7f00005
+6ff00556
+e7f00005
+6fe209b3
+1fe0fe10
+67e209b3
+c0986219
+204066de
+2020e219
+7009b401
+7009aa02
+7009ac01
+20206219
+70007e24
+20206134
+6fe209b2
+c0186350
+70007c3e
+202060e8
+204066de
+2020e359
+6fe24634
+c0016357
+7009ac01
+7009aa04
+202060e8
+700a9536
+20207bab
+202060e8
+6fe209ab
+c003e35e
+6fe209aa
+c083636a
+d8a00a2a
+6ff0054e
+e7f00005
+6ff00556
+e7f00005
+204066de
+2020e368
+7009aa07
+7009ac01
+20206219
+7009ab04
+2020758d
+70007e24
+20206134
+6fe209ab
+c005e370
+6fe209aa
+c084637f
+d8a00a5a
+d8c0054e
+20407c9a
+204066de
+2020e37c
+6fe24634
+c000e381
+70463300
+7009aa09
+7009ac01
+70007d41
+202060e8
+7009ab09
+7009ad01
+202060e8
+70007e24
+20206134
+6fe24633
+c283e386
+79207e06
+67e24633
+20600000
+c2806377
+70463300
+2020637f
+202060e8
+6fe2016b
+793ffe01
+67e2016b
+20406219
+24748000
+6fe2054e
+6842004b
+793a0404
+7d3a0405
+6042004b
+20600000
+6850054e
+6fe20055
+c1818000
+6fe2016b
+c302639c
+70005514
+20600000
+70005504
+20600000
+6fe2017d
+67e20159
+70007c03
+70007d38
+20600000
+70007c03
+70007d39
+18007209
+d8c0054e
+d8a00150
+efe20006
+1fe2fe55
+e7e20005
+c20063a8
+6fe20150
+6842014f
+793f8407
+793f8404
+c07fe3bc
+c00063d5
+c002e3c9
+c003e3c8
+c00363c9
+c00463c8
+c000e3c1
+c00163c1
+c001e3c1
+c004e3c1
+c00263c1
+20600000
+6fe2014f
+79207e03
+79207e02
+67e2014f
+20600000
+79200404
+70017e05
+6fe40157
+98007200
+67e4015d
+d8a0054d
+20407d4e
+79200407
+79200402
+18007e00
+67e2000b
+67e400f8
+67e400fa
+67e400f6
+67e400f4
+6fe20151
+2fe1fe00
+79208406
+6042014f
+20600000
+793f8011
+70014f00
+6fe2017d
+793ffe06
+67e2017d
+20600000
+d8c0054e
+d8a0055e
+20207c9a
+70007c09
+20600000
+24748000
+70007c11
+20600000
+da2040a0
+20407114
+70007c03
+70007d08
+20600000
+7000720a
+70007c07
+7004c616
+20600000
+471f4027
+78547c00
+204066a3
+6fe20048
+207a0000
+c283e421
+c000e551
+c00164c6
+c001e42c
+c0026442
+c013e5bd
+c01464ea
+c01864d6
+c012e5b8
+c01364e5
+c018e5a5
+c01be54c
+c019e53e
+c004663b
+c004e631
+c005e646
+c006664f
+c007e544
+c0086674
+c008e66a
+c003e534
+c0156560
+c0056561
+c00fe59e
+c00364db
+c010e541
+c016e594
+c0176599
+c0116541
+c01a6562
+c009e577
+c00be586
+c0096671
+c017e58c
+c00c6591
+c01ee5e1
+c01f65ed
+c01fe5ff
+c0206609
+c020e61e
+c011e62d
+c01de628
+c002e62e
+c014e62f
+c01c6630
+c01ce557
+20204a8b
+20600000
+c040e44f
+c042647b
+c0416458
+c041e4ef
+c045e4fa
+c04be530
+c04ce4b7
+c04d6486
+c04ae4bc
+c04b64bd
+20204a8b
+18007e02
+2040667a
+6fe20049
+e7e20005
+20406689
+471fc027
+6fe20049
+c0046462
+c007e466
+c0086471
+c00be441
+c019e474
+c020e47a
+c008e43b
+20600000
+6fe20055
+207a0000
+7000551b
+5800000c
+d8e00007
+20207ce3
+202046c2
+18007e03
+2040667a
+6fe20049
+c005e44a
+e7e20005
+6fe2004a
+e7e20005
+20206689
+e7e20005
+6fe2004a
+e7e20005
+d84004d1
+202066c4
+18000e04
+20406682
+5800007f
+e7e20005
+6fe20049
+793ffe07
+e7e20005
+6fe20049
+20206689
+18000e05
+20406682
+5800007f
+e7e20005
+6fe20049
+793ffe07
+e7e20005
+6fe2004a
+e7e20005
+20206689
+2040444b
+204066d5
+20608000
+202063de
+6fe2004b
+c282e46d
+c4020000
+70007c12
+793ffe04
+204066cd
+2020646f
+70007c10
+793ffe05
+67e2004b
+20600000
+204066de
+2020e3e0
+20600000
+70007c8b
+6fe204cd
+79207e00
+67e204cd
+700a9501
+20207bab
+20600000
+18000e0c
+20406682
+58000001
+e7e20005
+6fe404ca
+e7e40005
+58000000
+e7e60005
+58000000
+e7e80005
+20206692
+18000e05
+20406682
+6fe6462d
+e7e60005
+20406692
+70463701
+6fe2462d
+c000e497
+c0016491
+c001e49d
+20600000
+6fe24630
+c00064a9
+c000e4a9
+c00164a9
+c001e4a3
+20600000
+6fe24630
+c00064a3
+c000e4a7
+c00164a9
+c001e4a3
+20600000
+6fe24630
+c00064a3
+c000e4a3
+c00164a3
+c001e4a3
+20600000
+70463403
+6fe2452e
+c2804d64
+20600000
+70463401
+20600000
+70463402
+20600000
+d8e00000
+202064af
+d8e00000
+202064b3
+6fe2452e
+f9207e00
+67e2452e
+20600000
+6fe2452e
+f93ffe00
+67e2452e
+20600000
+18000e05
+20406682
+6fe6462d
+e7e60005
+20206694
+20600000
+18000e09
+20406682
+6fe20095
+e7e20005
+6fe40096
+e7e40005
+6fe80091
+e7e80005
+20206692
+18007e11
+2040667a
+6fe20049
+1fe20400
+c00064ce
+c00764ce
+c00e64ce
+20600000
+e7e20005
+6fe244e7
+e7e20005
+df20000e
+580044e8
+98408c00
+20407cdc
+20206692
+18007e03
+2040667a
+58000114
+e7e40005
+20206692
+18007e03
+2040667a
+6fe80163
+9c467e00
+2034e4e1
+1fe67e00
+1feb7e00
+793ffe0f
+e7e40005
+20206692
+18007e06
+2040667a
+6fea44e2
+e7ea0005
+20206692
+18007e09
+2040667a
+6ff04098
+e7f00005
+20206692
+18000e0c
+20406682
+58000001
+e7e20005
+6fe404ca
+e7e40005
+58000000
+e7e60005
+58000000
+e7e80005
+20206694
+18000e03
+20406682
+6fe2415b
+e7e20005
+78547c00
+20406694
+24740000
+24748000
+6fe240d8
+c4000000
+20406514
+2020651e
+47204028
+6fe2409e
+79207e03
+67e2409e
+58000101
+67e404ca
+20600000
+4720c028
+6fe2409e
+793ffe03
+67e2409e
+58000000
+67e404ca
+20600000
+7040d803
+58000000
+67e84142
+d8a040da
+20406522
+d8a040e7
+20406522
+d8a04146
+20406522
+20206529
+d8a040e7
+20406522
+20406529
+2020652c
+58ffffff
+e7e60005
+e7e60005
+e7e60005
+5800007f
+e7e20005
+20600000
+58000000
+67e440d6
+20600000
+6fe240d8
+79207e02
+67e240d8
+20600000
+18000e02
+20406682
+2434e692
+20206694
+18007e02
+2040667a
+6fe204c6
+e7e20005
+20406694
+6fe2004b
+79207e03
+67e2004b
+70007232
+20600000
+18007e01
+2040667a
+20206694
+18007e01
+2040667a
+20206692
+18007e02
+2040667a
+6fe2004c
+2fec0002
+7920fe00
+1fe17e01
+e7e20005
+20206694
+18007e03
+2040667a
+6fe40051
+e7e40005
+20206694
+700072fa
+18007e02
+2040667a
+6fe20053
+e7e20005
+20206694
+18007e0a
+2040667a
+d8c00150
+18007209
+efe20006
+1fe2fe55
+e7e20005
+c200655b
+20206694
+20206694
+20206694
+20748000
+20404829
+18007e09
+2040667a
+6fe4016f
+e7e40005
+6fe640a0
+e7e60005
+6fe240a3
+e7e20005
+6fe440a4
+e7e40005
+c581e573
+793f8003
+20406694
+70007c13
+20600000
+20406692
+70007c03
+70007d13
+20600000
+d8400200
+2034e57b
+1d027e00
+2020657c
+1c427e00
+1c227e00
+9840fe00
+1fe17ffc
+67e80034
+18007e05
+2040667a
+6fe80034
+1fe37e00
+e7e80005
+20206694
+18007e0a
+2040667a
+d8c004d5
+eff20006
+e7f20005
+20206694
+18007e03
+2040667a
+58000114
+e7e40005
+20206694
+18007e01
+2040667a
+20206694
+18007e02
+2040667a
+6fe240d0
+e7e20005
+20206694
+18007e02
+2040667a
+58000005
+e7e20005
+20206694
+18007e02
+2040667a
+58000000
+e7e20005
+20206694
+70007c2e
+20600000
+6fe24092
+1fe67c0a
+2042e5a3
+6fe20030
+79207e04
+67e20030
+1c427e00
+67e804e5
+6fe204cd
+c281e5b6
+79207e03
+67e204cd
+700a9505
+20407bab
+18007e01
+2040667a
+20206694
+70004800
+20600000
+18007e06
+2040667a
+6fea44e2
+e7ea0005
+20206694
+18007e09
+2040667a
+6ff04098
+e7f00005
+20206694
+7009ad01
+6fe24583
+c1808000
+7009ab13
+20600000
+204066d1
+70007c99
+7009ab03
+20600000
+204066d1
+70007c3d
+7009ab07
+20600000
+da200a4a
+da400a6a
+df200010
+20407d63
+2022e5d9
+7009ab00
+2040758f
+70007e24
+70007d40
+20206134
+7009ab0a
+2040758d
+70007d40
+20206219
+70007c40
+20600000
+70007c3d
+20600000
+7009b200
+18007e04
+2040667a
+18007e01
+e7e20005
+18007e01
+e7e20005
+18007e30
+e7e20005
+204066de
+2020e694
+20206692
+18007e11
+2040667a
+6fe209b2
+d8c045fc
+98c08c00
+eff00006
+e7f00005
+eff00006
+e7f00005
+6fe209b2
+1fe0fe10
+67e209b2
+204066de
+2020e694
+20206692
+7009aa06
+70007c3f
+20600000
+18007e11
+2040667a
+d8c00a4a
+eff00006
+e7f00005
+eff00006
+e7f00005
+20206692
+70007c40
+20600000
+204066de
+2040f4c7
+18007e11
+2040667a
+d8c00a1a
+eff00006
+e7f00005
+eff00006
+e7f00005
+204066de
+2420e692
+2020e694
+7009ab0f
+204066d1
+70007c0b
+204066e9
+2020f503
+2020750d
+204066cd
+70007c41
+20600000
+18007e11
+2040667a
+d8c00a4a
+eff00006
+e7f00005
+eff00006
+e7f00005
+204066de
+2420e692
+2020e694
+18007e03
+2040667a
+5800fffe
+e7e40005
+20206692
+20206694
+20206694
+20206694
+20206694
+204066ed
+da2040a0
+204066f3
+18007e11
+2040667a
+da20057e
+da40055e
+20407208
+2434e689
+2020668f
+204066ed
+da200040
+20407114
+18007e11
+2040667a
+d8c0055e
+20407c9a
+6fe20055
+c00ce694
+c00c6694
+2020668f
+6fe209b1
+203a664c
+204066de
+2040e6d1
+2440e6cd
+2020664d
+204066d1
+204066ed
+2020663e
+da2040a0
+20407147
+18007e05
+2040667a
+6fe8058e
+e7e80005
+d84004d1
+204066c4
+2040723c
+204066de
+2020e65e
+7004d401
+6fe209b1
+207a0000
+70007c0b
+6fe241be
+207a0000
+204066de
+2420e666
+6fe204d3
+207a0000
+70007c0f
+20600000
+c6908000
+793f8021
+70007c0f
+20600000
+204066ed
+2040714a
+18007e11
+2040667a
+d8c0055e
+20407c9a
+2020668f
+18007e01
+2040667a
+2020668f
+18007e02
+2040667a
+18007e10
+e7e20005
+67e20054
+2020668f
+1fe9fe00
+1fe1fe07
+67e204b2
+df200011
+d8a004b4
+20407caf
+d8a004b4
+20600000
+1fe1227f
+7000487f
+18e27e00
+2040667a
+1a227e00
+e7e20005
+20600000
+6fe20048
+1fe3fe00
+6842004c
+284ffe01
+7920fe00
+20206699
+6842004c
+18410401
+20206695
+18000400
+20206695
+18000401
+6fe20048
+1fe3fe00
+7934fe00
+9842fe00
+67e204b3
+70004800
+204066a9
+78347c00
+20600000
+6fe2007c
+207a0000
+204066a3
+6fe2007c
+20600000
+47214028
+6fe20048
+203a66a9
+6fe20078
+247a0000
+202066b3
+6fe20078
+203a66b9
+6fe60078
+67e60048
+6842007b
+6fe2004c
+793ffe01
+9841fe00
+67e2004c
+70007800
+6fe2007c
+207a0000
+6fe8007c
+67e80078
+70007c00
+20600000
+6fe2007c
+207a0000
+6fe6007c
+67e60048
+6842007f
+6fe2004c
+793ffe01
+9841fe00
+67e2004c
+70007c00
+20600000
+4721c028
+6fe2004c
+1fe22600
+efe20002
+20406233
+20406689
+1a627e00
+67e2004c
+20600000
+6842004c
+793f8400
+6042004c
+20600000
+6842004c
+79200400
+6042004c
+20600000
+7d34fe01
+6842004c
+9842fe00
+2feffe01
+20600000
+6fe2004c
+7934fe01
+67e2004c
+20600000
+6fe209b0
+2fe0fe01
+20600000
+6fe209b0
+79207e07
+67e209b0
+20600000
+6fe209b0
+793ffe07
+67e209b0
+20600000
+6fe209b0
+2feffe07
+67e209b0
+20600000
+d8a0055e
+18007210
+180a7e00
+e7e20005
+c20066ef
+20600000
+20407118
+da2041bf
+da40058e
+eff00011
+68420030
+7d3a0406
+60420030
+1a220a00
+20407208
+202041c0
+47224028
+2040669e
+247a0000
+6fe20055
+207a0000
+c0026751
+c002e756
+c0016748
+c001e75e
+c007674b
+c003677a
+c003e792
+c004e793
+c005679c
+c005e7a0
+c0066768
+c006e76b
+c007e771
+c009673b
+c009e75e
+c008673e
+c00a6738
+c00ae75e
+c00b6732
+c00c6737
+c00be72b
+c00ce731
+c00d671c
+c00de726
+70005500
+20600000
+6fe204cd
+c4010000
+c4018000
+70005500
+20406722
+20206bae
+6fe2016b
+c4008000
+7000550a
+20600000
+d8e00007
+20407cf1
+247a0000
+7000551a
+20600000
+6fe2016b
+793ffe00
+67e2016b
+70005519
+70007c0b
+20600000
+20600000
+6fe204d0
+c1810000
+204067a2
+70005518
+20600000
+20600000
+70005515
+70007c83
+20600000
+70005513
+70007c25
+20600000
+6fe2452d
+c1000000
+c000e746
+d8e00006
+20407cf1
+247a0000
+70452d00
+2020675f
+20748000
+2020677a
+70005503
+70007c27
+20600000
+70007c13
+79200003
+70005505
+580001ff
+67e404ce
+20600000
+70005505
+7004ceff
+793f8022
+70007c33
+202060e5
+c6110000
+6fe404ce
+1fe67e01
+2022e75c
+67e404ce
+20600000
+7000550e
+20600000
+20600000
+6fe204cd
+c4018000
+c4010000
+6fe2016b
+793ffe02
+67e2016b
+70007c13
+70005510
+20600000
+7000550d
+70007c31
+20600000
+6fe204cd
+c4010000
+70005500
+20600000
+70005506
+20600000
+6fe204ce
+1fe0ffff
+203a6776
+67e204ce
+20600000
+70007c07
+7004c616
+70005500
+20600000
+6fe2016b
+c281675f
+c280677f
+7000551a
+20600000
+6fe241be
+203a678b
+6fe204cd
+c4018000
+c4010000
+6fe804e5
+d8400064
+98408400
+1c427e00
+98467c00
+24610000
+2020672b
+70005516
+70465704
+58003030
+67e44658
+e7e40005
+7004d002
+20206732
+20600000
+6fe2016b
+c280e797
+7000551a
+20600000
+6fe2016b
+793ffe01
+67e2016b
+70007c0f
+20600000
+6fe204d4
+207a0000
+70005500
+20206797
+7000550c
+20600000
+6fe2004b
+c28167a7
+204066d1
+70007c08
+202050ea
+6fe2004b
+793ffe02
+67e2004b
+204063e3
+204066da
+202050ea
+58000004
+67e24657
+58003030
+e7e40005
+e7e40005
+20600000
+70801001
+20600000
+47244029
+6fe44ff6
+1fe21400
+20600000
+4724c029
+19427e00
+67e44ff6
+6fe28043
+c3838000
+79207e07
+67e28043
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204167ce
+20628000
+202167c3
+1f20f208
+1f20f3fc
+204167d1
+20628000
+202167c8
+1f20f204
+202067d4
+eff00006
+e7f0000a
+20600000
+efe80006
+e7e8000a
+20600000
+1f227e00
+207a0000
+efe20006
+e7e2000a
+c20067d6
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204167e7
+20628000
+202167dc
+1f20f208
+1f20f3fc
+204167ea
+20628000
+202167e1
+1f20f204
+202067ed
+eff00003
+e7f00005
+20600000
+efe80003
+e7e80005
+20600000
+1f227e00
+207a0000
+efe20003
+e7e20005
+c20067ef
+20600000
+47254029
+18627e00
+67e44ffc
+20600000
+4725c029
+6fe44ffc
+1fe20600
+20600000
+700a953d
+20207bab
+47264029
+6fe24216
+207a0000
+20406895
+2042e89b
+20406830
+6fe24216
+1fe22600
+68444214
+6044018a
+1a627e00
+203a67fb
+1a60a7ff
+18422200
+efe20011
+68420182
+98467c00
+2042e817
+20216813
+efe20011
+1fe0fe01
+e7e20011
+6844018a
+18408422
+6044018a
+20206807
+58000000
+e7e20011
+6fe20183
+e7e20005
+c099e825
+da4041bf
+efec0006
+e7f00005
+58000000
+e7f00005
+1a420c00
+20407c9a
+18007c01
+20600000
+c01b6829
+c01be82d
+da4043eb
+2020681d
+d8c044a7
+20407c9a
+d8c043eb
+20206822
+d8c0449f
+20407c9a
+2020682b
+20407dc1
+6fe24216
+207a0000
+6fe44652
+c2806846
+4726c029
+6fe24460
+c000683f
+6fe20450
+2fe180c0
+2020e83f
+2fe18040
+2020e844
+2fe18000
+2020e842
+70018335
+6fec044b
+20206849
+70018337
+20206849
+70018336
+20206849
+47274029
+70018333
+6fec0040
+67ec0184
+6fe44214
+e842003f
+1fe0fe01
+67e4018a
+60420182
+6fe24216
+1fe22600
+6fe4018a
+1fe22200
+20406861
+20740000
+6844018a
+18408422
+6044018a
+184085ff
+efe20002
+67e20182
+1a60a7ff
+2422e851
+6fe24216
+1fe0ffff
+67e20182
+20600000
+6fe20183
+c099e868
+da400183
+df200007
+20407d63
+2022fdbf
+20600000
+c01b686b
+c01be886
+20206863
+e8420011
+98467c00
+24628000
+d8a00abe
+df200010
+20407caf
+6fe6044e
+67e60abe
+2040687d
+6fe40adb
+1ff0fe00
+1fed0400
+efe20006
+9840fe00
+6846044b
+98467c00
+2022fdbf
+20600000
+d8c00abe
+2040733b
+efe20011
+20407338
+18006c50
+18006c00
+204072d1
+d8a00ace
+2020734c
+e8420011
+98467c00
+24628000
+18c22200
+18c0a608
+da40449f
+df200008
+20407d63
+2022fdbf
+1a622200
+da4044a7
+df200008
+20407d63
+2022fdbf
+20600000
+6fe44214
+e842003f
+1fe0fe22
+efe2003f
+98467c00
+20600000
+6fe24216
+1fe27200
+68444214
+58000000
+e7e20002
+18408422
+1fe0fe01
+c200689f
+20600000
+4727c029
+20406830
+6fe20030
+79347e06
+67e20030
+243468ae
+1a208c0a
+d8a041bf
+20407c9a
+202068be
+7041be00
+20600000
+6ff2449d
+203a68bc
+20406830
+243468bc
+6fe4018a
+1fe08c01
+d8a044a7
+20407c9a
+d8a043eb
+20407c9a
+7043fb01
+20600000
+7043fb00
+20600000
+6ff041bf
+685041c7
+9841fe00
+207a0000
+7041be01
+20600000
+20758000
+70453900
+7004e903
+7004ea03
+7004ee11
+7004ef13
+58000000
+67e604eb
+67e24226
+70465100
+4728402a
+58000000
+67e24226
+67e24536
+67e2452f
+6fe2453d
+c000e8d7
+70453b50
+20600000
+70453b00
+20600000
+18418402
+20600000
+18427e00
+1fedfe00
+67e24534
+18007e3f
+1fedfe00
+67e24533
+18007e01
+1fedfe00
+67e24532
+20406911
+18427e00
+20600000
+1fedfe00
+67e24534
+18007e73
+1fedfe00
+67e24533
+18007e01
+1fedfe00
+67e24532
+20206911
+6fe24535
+203a68f4
+58000070
+20600000
+580000aa
+20600000
+1fedfe00
+67e24534
+18007eef
+20406905
+684404f3
+18420a00
+e7e20005
+18a20400
+604404f3
+18007eff
+20406905
+684404f3
+18420a00
+e7e20005
+20600000
+1fedfe00
+67e24533
+6fe44533
+1fed7e00
+67e604f0
+da200107
+da40000f
+2040691e
+1fe2fed7
+1fe47e00
+1fedfe00
+20600000
+6fe64532
+67e604f0
+da200107
+da40000f
+2040691e
+1fed7e00
+da400007
+2040691e
+1fe2fe2b
+1fe47e00
+1fedfe00
+1fe20400
+20600000
+da600000
+1a427200
+20407c4c
+1fe20400
+18427e00
+1a63a600
+c3046927
+9a228400
+1a60a601
+18438400
+6fe604f0
+1a40a5ff
+2a41feff
+2020e931
+1a427200
+20407c4c
+2feffe00
+79208400
+20206922
+18437e00
+20600000
+6842452f
+184b8400
+79200400
+6fe24535
+245a68d9
+60420509
+20600000
+18438400
+6fe24535
+793a0400
+20600000
+684204f8
+7004fad7
+20406a77
+6fe24223
+79207e06
+79207e07
+67e24223
+70453500
+20206a58
+6fe24223
+79207e07
+67e24223
+20206a58
+4728c02a
+6fe24651
+c000694f
+20206a0d
+6fe40260
+1fe20c00
+20406979
+6fe204f8
+c0006955
+202069d9
+4729402a
+6fe204f9
+c01fe93e
+c039e947
+c077e95c
+c029ea05
+20600000
+6fe404fd
+1fe20c00
+20406984
+6fe204ff
+c020e966
+c020696e
+c038e9a7
+c03869b3
+c024e9be
+20206a58
+20406970
+20206968
+6fe24226
+79207e00
+79207e01
+67e24226
+20406aa1
+20206a58
+20406970
+20206a58
+2040698c
+20206998
+2040698c
+efe20006
+1fe97e00
+67e2453c
+efe20006
+67e20504
+20600000
+efe20006
+67e204f7
+1fe97e00
+67e204f8
+efe20006
+67e204f9
+2040698f
+604404fb
+18c27e00
+67e404fd
+20600000
+efe20006
+1fe37e00
+67e204ff
+2040698f
+60440500
+18c27e00
+67e40502
+20600000
+6fe40502
+1fe20c00
+20600000
+efe20006
+1fe20400
+18430400
+c3800000
+efe20006
+1fe9fe00
+1ff27e00
+98408400
+20600000
+efe20006
+67e2452f
+efe20006
+67e20505
+efe20006
+67e20506
+efe20006
+67e20507
+efe40006
+67e44530
+efe20006
+67e20508
+efe20006
+67e2453a
+20600000
+20406972
+202069a9
+6fe24226
+79207e05
+79207e06
+67e24226
+6842452f
+184b8400
+18418403
+20406ad2
+70453903
+20206a58
+700a9508
+20407bab
+20406972
+6fe2453c
+1fe67c01
+2022e9ba
+20204a8b
+6fe24226
+79207e07
+67e24226
+20206a58
+2040698c
+efe20006
+67e20abe
+204056ac
+204056ba
+5800000e
+e7e40005
+6fe4421c
+e7e40005
+6fe24535
+1fe3fe00
+79207e00
+e7e20005
+4729c02a
+580015ef
+e7e40005
+58001191
+e7e40005
+6fe20abe
+e7e20005
+58000007
+e7ea0005
+58000001
+e7e40005
+204068f0
+e7e20005
+20600000
+202069da
+472a402a
+6fe204f9
+c039e9e2
+c01fe9e6
+c077ea00
+c07fe9f8
+c029ea07
+20600000
+6fe24226
+79207e03
+67e24226
+20206a58
+6fe24226
+79207e03
+79207e02
+67e24226
+6fe204f7
+204068e7
+67e204fa
+20406a77
+6fe204f7
+1feb7e00
+67e2452f
+1febfe00
+793ffe01
+79207e00
+d8404537
+604404f3
+204068f6
+20206a58
+6fe404fd
+1fe20c00
+1fe0fe01
+67e404fd
+efe20006
+6842453a
+9840fe00
+67e2453a
+20406b01
+20406933
+20406ae9
+20406b0a
+20206a58
+700a9509
+20407bab
+204068ce
+6fe204f7
+204068e7
+67e204fa
+20406a77
+20206a58
+6fe40260
+1fe20c00
+20406979
+6fe204f8
+c0006a13
+20206a47
+472ac02a
+6fe204f9
+c01fe93e
+c039e947
+c077ea19
+20206a58
+6fe404fd
+1fe20c00
+20406984
+6fe204ff
+c020ea22
+c0206a22
+c038ea2d
+c0386a3d
+20206a58
+20406970
+6fe2452f
+1fe37e00
+68424536
+98467c00
+2022ea29
+20204a8b
+6fe24226
+79207e01
+67e24226
+20206a58
+20406972
+6fe2453c
+68424536
+98467c00
+2022ea34
+20204a8b
+20206a58
+6fe24226
+79207e05
+79207e06
+67e24226
+6842452f
+184b8400
+18418403
+20406ad2
+20206a58
+20406972
+6fe2453c
+68424536
+98467c00
+2022ea43
+20204a8b
+6fe24226
+79207e07
+67e24226
+20206a58
+6fe204f8
+68424536
+98467c00
+2022ea4d
+20204a8b
+20206a58
+6fe204f9
+c039ea52
+c077ea00
+c07fe9f8
+c029ea57
+6fe24226
+79207e03
+67e24226
+20206a58
+20206a56
+20206a07
+20600000
+6fe24539
+207a0000
+c001ea5d
+20204a8b
+70453900
+204056ac
+d8400001
+6842452f
+184b8400
+18418403
+da2000aa
+20406abd
+204056ba
+18a20c00
+efe40006
+203a4a8b
+20600000
+204056ba
+58000004
+e7e40005
+6fe4421c
+e7e40005
+6fe204f7
+e7e20005
+472b402a
+5800013f
+e7e40005
+6fe204fa
+e7e20005
+20600000
+204056ac
+204056ba
+58000004
+e7e40005
+6fe4421c
+e7e40005
+6fe204f7
+e7e20005
+472bc02a
+58000173
+e7e40005
+6fe204fa
+e7e20005
+20600000
+204056ba
+5800000e
+e7e40005
+6fe4421c
+e7e40005
+6fe24535
+1fe3fe00
+79207e00
+e7e20005
+472c402b
+580015ef
+e7e40005
+58001183
+e7e40005
+18427e00
+e7e20005
+580000f0
+e7e60005
+5800007f
+e7e40005
+58000000
+e7e20005
+58000001
+e7e20005
+204068f0
+e7e20005
+70453b10
+20600000
+204056ac
+204056ba
+5800000e
+e7e40005
+6fe4421c
+e7e40005
+6fe24535
+1fe3fe00
+79207e00
+e7e20005
+472cc02b
+580015ef
+e7e40005
+58001181
+e7e40005
+6fe2452f
+e7e20005
+580000e0
+e7e60005
+6fe4453e
+e7e40005
+58000000
+e7e20005
+6fe24540
+e7e20005
+204068f0
+e7e20005
+20600000
+204056ba
+58000008
+e7e40005
+6fe4421c
+e7e40005
+6fe24535
+1fe3fe00
+79207e00
+e7e20005
+472d402b
+580009ef
+e7e40005
+580005e3
+e7e40005
+18427e00
+e7e20005
+5800008d
+e7e20005
+204068f0
+e7e20005
+20600000
+204056ac
+204056ba
+58000008
+e7e40005
+6fe4421c
+e7e40005
+18421600
+6fe24535
+1fe3fe00
+79207e00
+e7e20005
+472dc02b
+580009ef
+e7e40005
+580005e1
+e7e40005
+19627e00
+e7e20005
+5800008d
+e7e20005
+204068f0
+e7e20005
+20600000
+472e402b
+6fe2453b
+207a0000
+1a227e00
+67e20a97
+60420a96
+20405648
+247a0000
+204056ac
+204056ba
+58000005
+e7e40005
+6fe4421c
+e7e40005
+6fe20509
+e7e20005
+580001ff
+e7e40005
+6fe2453b
+e7e20005
+6fe24538
+e7e20005
+70453b00
+20600000
+472ec02b
+6fe2453d
+c1008000
+6fe404fb
+207a0000
+6fe2453b
+1fe0fe01
+67e2453b
+20600000
+6fe44541
+20207d77
+472f402b
+6fe2453a
+207a0000
+1fe0ffff
+67e2453a
+6fe44530
+6844466a
+98467c00
+20216b16
+67e4466a
+6fe2453b
+203a6b1e
+70050c01
+6fe24538
+67e2050b
+580000ff
+67e2050a
+20206b23
+70050c00
+6fe24537
+67e2050b
+580000ef
+67e2050a
+472fc02b
+6fe4466a
+1fe67c7f
+20216b2a
+6fe2050c
+1fe0fe01
+67e2050c
+20406933
+6fe4466a
+1fe0fe08
+6842050c
+9840a200
+2040561a
+67e40273
+1fe0fe04
+67e40275
+1fe20a00
+6fe20509
+e7e20005
+6fe2050a
+e7e20005
+20406b54
+20406b65
+4730402c
+6fe44543
+1fe20600
+6fe4466a
+1fe27200
+204067da
+18a20400
+18627e00
+67e44543
+18420a00
+6fe2050b
+e7e20005
+6fe40273
+1fe20a00
+6fe4466a
+6842050c
+9840fe00
+1fe0fe04
+e7e40005
+6fe4421c
+e7e40005
+70453b00
+6fe44545
+c0004ed4
+700b0100
+20600000
+4730c02c
+6fe4466a
+1fe67c7f
+24216b5c
+1fe3fe00
+79207e00
+e7e20005
+20600000
+6fe4466a
+1fe97e00
+1ff18400
+1fe17e7f
+1fe3fe00
+793ffe00
+e7e20005
+e0420005
+20600000
+6fe2453b
+207a0000
+e7e20005
+20600000
+4731402c
+20407bc1
+20404c8f
+204066fd
+4731c02c
+20407591
+2040756a
+2040757b
+20405648
+247a0000
+20405183
+20405648
+247a0000
+4732402c
+20406bb4
+2040533e
+20406a59
+20406b7d
+4732c02c
+20204c8b
+6fe2027b
+c2805461
+c283d46b
+20600000
+4733402c
+2040564e
+207a0000
+6fe2004b
+c3830000
+20405632
+67e4016d
+1fe20c00
+efe40006
+1fe0fe04
+67e441dd
+7041dc06
+4733c02c
+6fe44218
+203a6b9c
+6fe2004b
+c4038000
+793ffe07
+67e2004b
+7041dc05
+68444218
+6fe4016d
+9840fe00
+67e4016d
+6fe441dd
+98467e00
+67e441dd
+4734402d
+6fe441dd
+203a4a8b
+d8400104
+98467e00
+24216ba8
+4734c02d
+604441dd
+6fe44218
+9840fe00
+67e44218
+20206baa
+58000000
+67e44218
+6fe2004b
+79207e06
+67e2004b
+20600000
+6fe24654
+c2806bb2
+70028301
+20600000
+7002830f
+20600000
+6fe24651
+243a6bba
+6fe20282
+207a0000
+70028200
+20600000
+4735402d
+6fe20283
+207a0000
+c000ebda
+c0016c33
+c001ebe0
+c0026c37
+c01debea
+c01e6c3a
+c006ebef
+c0076c3f
+c007ebf2
+c0086c45
+c008ebf8
+c0096c49
+c009ebfe
+c00a6c4d
+c00aec04
+c00b6c51
+c00bec0a
+c00c6c56
+c00cec10
+c00d6c5a
+c00dec16
+c00e6c5e
+c00eec1c
+c00f6c63
+c00fec22
+c0106c67
+c010ec2d
+c0116c6b
+20600000
+20406c76
+70028302
+6fe24222
+79207e00
+67e24222
+20600000
+70028304
+6fe24222
+c3810000
+70028303
+20406c7d
+70028304
+6fe24222
+79207e02
+67e24222
+20600000
+2040564e
+247a0000
+20406c8c
+7002833c
+20600000
+20406c82
+7002830e
+20600000
+20406c9c
+70028310
+6fe24224
+79207e00
+67e24224
+20600000
+20406ca3
+70028312
+6fe24224
+79207e02
+67e24224
+20600000
+20406ca8
+70028314
+6fe24225
+79207e00
+67e24225
+20600000
+20406caf
+70028316
+6fe24225
+79207e02
+67e24225
+20600000
+20406c90
+70028318
+6fe24223
+79207e00
+67e24223
+20600000
+20406c97
+7002831a
+6fe24223
+79207e02
+67e24223
+20600000
+20406cb4
+7002831c
+6fe24223
+79207e06
+67e24223
+20600000
+20406cbb
+6fe24226
+79207e00
+67e24226
+7002831e
+20600000
+20406cc1
+6fe24226
+79207e02
+67e24226
+70028320
+6fe24536
+1fe9fe00
+1fe1fe03
+d8404537
+604404f3
+202068f6
+20406ccb
+6fe24226
+79207e04
+67e24226
+70028322
+20600000
+6fe24222
+c4008000
+70028303
+20206bba
+6fe24222
+c19f8000
+7002833b
+6fe20281
+c18b8000
+70028100
+7002830d
+20206bba
+6fe24222
+247a0000
+6fe24654
+c2806c6e
+c2836c70
+20206c74
+6fe24224
+c4008000
+70028311
+20206bba
+6fe24224
+c19f8000
+70028313
+20206bba
+6fe24225
+c4008000
+70028315
+20206bba
+6fe24225
+c19f8000
+6fe24654
+c2836c70
+20206c74
+6fe24223
+c4008000
+70028319
+20206bba
+6fe24223
+c19f8000
+7002831b
+20206bba
+6fe24223
+c1ff8000
+6fe24654
+c2836c72
+20206c74
+6fe24226
+c4008000
+7002831f
+20206bba
+6fe24226
+c4018000
+70028321
+20206bba
+6fe24226
+c1ff8000
+20206c74
+7002830f
+20206bba
+70028317
+20206bba
+7002831d
+20206bba
+70028300
+20600000
+4735c02d
+20405692
+58000001
+1fe20400
+58000050
+1fe21600
+20205482
+4736402d
+20405692
+6fe4421a
+1fe20400
+20205491
+4736c02d
+20405692
+6fe4421a
+1fe20400
+d9600050
+204054a6
+6fe24222
+793ffe05
+67e24222
+20600000
+4737402d
+2040569f
+20406ff7
+202054c1
+4737c02d
+20405692
+58000003
+1fe20400
+58000051
+1fe21600
+20205482
+4738402e
+20405692
+6fe4421c
+1fe20400
+20205491
+4738c02e
+20405692
+58000011
+1fe20400
+58000052
+1fe21600
+20205482
+4739402e
+20405692
+6fe4421e
+1fe20400
+20205491
+4739c02e
+20405692
+58000013
+1fe20400
+58000053
+1fe21600
+20205482
+473a402e
+20405692
+6fe44220
+1fe20400
+20205491
+473ac02e
+204056ac
+7004f703
+7004fa1c
+20406a6a
+70453501
+20600000
+473b402e
+204056ac
+68424536
+2040693a
+6042452f
+20206a85
+473bc02e
+204056ac
+6842452f
+20406934
+204068db
+67e204fa
+6842452f
+20406934
+604204f7
+20206a6a
+473c402f
+204056ac
+6842452f
+20406934
+20206abd
+473cc02f
+6fe40260
+98000c00
+efe20006
+1fe22400
+67e20517
+efe40006
+67e40518
+efe20006
+1fed1600
+efe20006
+99609600
+473d402f
+18c20400
+df200004
+d8a00526
+20407ca1
+18420c00
+1a427e00
+c000ee79
+c0016ceb
+c001ee79
+c0026d13
+c002ee79
+c0036dc1
+c003ee79
+20206e80
+473dc02f
+20406e8f
+2841fe01
+2020eeff
+2841feff
+2020ee83
+efe40006
+67e4051e
+196097fe
+196097ff
+2422ee7d
+d960050d
+efe4000b
+207a0000
+20406f41
+204056aa
+18007e03
+e7e20005
+6fe40518
+e7e40005
+18ebfe00
+1fe0fe05
+1fe0a605
+1ff0fe00
+e7e40005
+18e27e00
+1ff0fe00
+e7e40005
+e7e40005
+d8c00526
+18e27200
+2022ed0e
+efe80006
+e7e80005
+c2006d0b
+18007e00
+e7e20005
+1a627e00
+67e40271
+20600000
+473e402f
+efe80006
+67e80520
+196097fc
+20406ded
+67e4051c
+196097fe
+20406ee7
+2022ee83
+2a21fe05
+2020ed21
+d8a00526
+18000e00
+20206d30
+efe20006
+c0856e83
+efe40006
+243a6d2e
+efe20006
+c0ffed2c
+efe20006
+c0ffed2a
+20206d77
+18c08dfb
+20206d1e
+18c08dfc
+20206d1e
+18c08dfd
+20206d1e
+efe20006
+c004ed45
+c0056d33
+efe40006
+e7e40005
+18e08e01
+1ff0a400
+efe40006
+1ff0fe00
+1a40a401
+9a467c00
+24216d42
+1fe22600
+1a50fe00
+e7e40005
+18e08e01
+1a627e00
+20206d39
+196097fb
+1a20a3fb
+20206d4a
+efe40006
+e7e40005
+18e08e01
+196097fd
+1a20a3fd
+24216e83
+2422ed30
+196097ff
+2422ee83
+204056aa
+18a08a0a
+da200526
+18e27e00
+203a6d64
+efe40011
+203a6d64
+98002400
+6fe80520
+98000400
+20406fa6
+18c27e00
+203a6d61
+18c08dfd
+efe60006
+e7e60005
+20406f1a
+98007200
+20407cdc
+1a20a202
+18e08fff
+20206d51
+da200005
+20406e43
+6fe40271
+c005ef02
+20206e59
+efe20006
+c0006d6d
+c000ed6f
+c0016d72
+196097ff
+20206d75
+efe20006
+196097fe
+20206d75
+efe40006
+1ff0fe00
+196097fd
+67e40515
+20600000
+196097fb
+20406d69
+2422ee7d
+68480520
+20406f70
+2422ee7a
+18c22200
+204056aa
+1a220c00
+18a08a03
+18c21600
+20406f21
+1fe22200
+6fe40515
+1fe22400
+1a227e00
+9a462400
+6fe4051c
+9a467c00
+24216da6
+78547c00
+6fe40515
+203a6d99
+99608c00
+1a40a403
+1a427200
+1f227e00
+1fe0fe03
+1ff0fe00
+e7e40005
+1f227e00
+1ff0fe00
+e7e40005
+20206db4
+1a20f206
+20346d9d
+1f30fe00
+20206da0
+1f227e00
+1fe0fe02
+1ff0fe00
+e7e40005
+1f20f3fd
+1f30fe00
+e7e40005
+19620c00
+20206db4
+78347c00
+6fe4051c
+1fe22200
+1a227200
+6fe40515
+203a6d99
+99608c00
+1a227e00
+1fe0fe05
+1ff0fe00
+e7e40005
+1a227e00
+1ff0fe00
+e7e40005
+20407cdc
+24346dbd
+18007e02
+e7e20005
+18c27e00
+99667e00
+1ff0fe00
+e7e40005
+20206dbf
+18007e00
+e7e20005
+da200005
+20206e6f
+473ec02f
+20406e8f
+2841feff
+2020ee83
+20406ded
+67e4051c
+196097fe
+20406ee7
+d8a00526
+18000e00
+efe20006
+c0056df5
+efe40006
+e7e40005
+18e08e01
+196097fd
+1a20a3fd
+24216e83
+2422edcb
+196097ff
+2422ee83
+204056aa
+18a08a0d
+6fe4050d
+98002600
+da200526
+efe40011
+203a6de8
+98002400
+20406f85
+203a6de6
+18c08dfd
+efe60006
+e7e60005
+20406f1a
+98007200
+20407cdc
+1a20a202
+20206ddb
+20406e42
+6fe40271
+c0076f05
+20406e59
+20206e59
+efe40006
+1ff0fe00
+1fe0fffd
+d84000c8
+98467c00
+24610000
+580000c8
+20600000
+18c08c04
+196097fb
+1a20a3fb
+2422ee83
+20406d69
+2422ee7d
+d960050d
+20406f41
+18e27e00
+203a6f05
+67e2054a
+1a427e00
+67e40548
+d8e00000
+da200000
+204056aa
+18a08a0a
+20406e2b
+24344a8b
+18c21600
+1fe22600
+9a20a200
+6fe40515
+1fe22400
+203a6e34
+1a227e00
+9a462400
+2022ee26
+24216e26
+6fe4051c
+9a467c00
+2022ee1d
+24216e1d
+1a427200
+20406e20
+6fe2054a
+18e08e01
+98e67c00
+2022ee42
+20206e5f
+1fe27200
+20406e20
+20206e5f
+18a08bfd
+1f220400
+1a627e00
+9a467e00
+99608c00
+20207cdc
+6fe2054a
+18e08e01
+98e67c00
+20628000
+20206e06
+20407dc1
+d8c00526
+18ebfe00
+98c08c00
+e8480006
+20406f70
+24628000
+20406f1a
+20207dbf
+6fe4051c
+9a267c00
+24216e4e
+1a227200
+1f220400
+19620c00
+20407cdc
+6fe40548
+9a267c00
+2022ee40
+20406e5f
+20206e53
+20406e42
+20206e53
+da200007
+18007e00
+e7e20005
+20406e6f
+68440271
+184085fb
+1850fe00
+e7e40005
+184085fd
+1850fe00
+e7e40005
+20600000
+1fe27200
+1f220400
+19620c00
+20407cdc
+20406e5f
+58000036
+e7e20005
+6fe40548
+1ff0fe00
+e7e40005
+20600000
+58000036
+e7e20005
+184085fd
+1850fe00
+e7e40005
+20600000
+da200007
+58000002
+e7e20005
+6fe40515
+98408400
+1850fe00
+e7e40005
+20406e6f
+68440271
+184085fb
+1850fe00
+e7e40005
+184085fb
+1850fe00
+e7e40005
+20600000
+6fe4026f
+98a67e00
+1fe67e00
+67e40271
+204056aa
+1a227e00
+e7e20005
+6fe40518
+e7e40005
+20600000
+20600000
+58000200
+67e40546
+20206e85
+58000400
+67e40546
+20206e85
+58000600
+67e40546
+20206e85
+58000300
+67e40546
+204056aa
+e7e20005
+6fe40518
+e7e40005
+58000200
+e7e40005
+6fe40546
+e7e40005
+70027107
+20600000
+da400000
+18000400
+d8a0050d
+20406ee7
+2022eee5
+1a40a401
+efe20006
+1a20a3ff
+196097ff
+2fe1f018
+2420eee5
+2fe00e04
+2420eeb2
+18000401
+efe20006
+1a20a3ff
+196097ff
+c0806ea6
+efe20006
+1a20a3ff
+196097ff
+c0006eb7
+20206ea9
+18c08c01
+1a20a3ff
+196097ff
+18c08c02
+1a20a3fe
+196097fe
+2841fe00
+2020eedf
+18c08c0c
+1a20a3f4
+196097f4
+20206edf
+2fe00e02
+2420eeb5
+20206e9d
+2fe00e01
+2420eee5
+1a20a3fe
+196097fe
+efe40006
+1a467c04
+2022eebd
+e7e40005
+2841fe00
+2020eedf
+18c20400
+efe20006
+c0806ed8
+efe20006
+c0806ed8
+efe20006
+c0886ed8
+efe20006
+c0806ed8
+efe20006
+c0c06ed8
+efe20006
+c0806ed8
+efe20006
+c0806ed8
+efe20006
+c0c06ed8
+efe20006
+c0afeed8
+efe20006
+c0cdeed8
+efe20006
+c09a6ed8
+efe20006
+c07deedd
+18420c00
+18c08c0c
+18000e00
+18000400
+20206edd
+196097f4
+1a20a3f4
+18000400
+2a21fe00
+2420ee94
+18007e00
+e7e40005
+20600000
+d84000ff
+20600000
+47404030
+efe20006
+196097ff
+2fe1f030
+2420eefd
+2fe00e07
+2020eef6
+2fe00e06
+2020eef8
+2fe00e05
+2420eefd
+efe20006
+1fe22200
+196097ff
+20206efb
+18c08c02
+196097fe
+efe40006
+1ff0a200
+196097fe
+18007e01
+20600000
+18007e00
+20600000
+58000003
+67e20517
+20206f07
+58000005
+67e20517
+20206f07
+58000007
+67e20517
+204056aa
+6fe20517
+1fe22400
+e7e20005
+6fe40518
+e7e40005
+58000500
+e7e40005
+2a41fe05
+2020ef16
+2a41fe07
+2020ef16
+58000000
+e7ea0005
+20206f18
+58350200
+e7ea0005
+7002710a
+20600000
+20407c7d
+20407c80
+20406f21
+20407c77
+20407c7a
+18427e00
+20600000
+efe20006
+1fe17207
+1fe97e00
+c0806f2b
+18007e01
+18000401
+20600000
+20407c51
+1fe08401
+20600000
+1f227e00
+1fe67c04
+20216f28
+c002ef32
+c0036f35
+c003ef39
+20600000
+efe20006
+1fe08402
+20600000
+efe40006
+1ff0fe00
+1fe08403
+20600000
+efe40006
+1ff0fe00
+e8440006
+18508400
+18500400
+9840fe00
+1fe08405
+20600000
+4740c030
+18000e00
+da400000
+d8a00526
+efe4000b
+207a0000
+20406f4c
+18e27e00
+c1038000
+19609602
+20206f45
+98002600
+6fe44547
+98000c00
+18e27e00
+c1038000
+78547c00
+efe20006
+207a0000
+98007200
+efe40006
+9a667c00
+2422ef59
+78347c00
+c2006f55
+e8480006
+18c22200
+24346f6c
+d8c00526
+df200007
+efe80006
+203a6f65
+98467c00
+2022ef6c
+c2006f5f
+20600000
+e0480005
+18e08e01
+1a220c00
+20406f1a
+9a40a400
+98c08c00
+20206f4f
+1a220c00
+20406f21
+98c08c00
+20206f4f
+47414030
+6fe44547
+98000c00
+efe20006
+203a7dbb
+1fe3fe00
+98c08c00
+efe80006
+98467c00
+20628000
+18a27e00
+67e40ab7
+60500a9e
+20406f21
+98c08c00
+18c27e00
+68440ab7
+18420a00
+68500a9e
+1fe20c00
+20206f73
+4741c030
+6fe44547
+98000c00
+efe20006
+203a6fa3
+98007200
+efe40006
+9a667c00
+2022ef93
+c2006f8b
+18c08c04
+20406f21
+98c08c00
+20206f88
+1f20f3ff
+1f23fe00
+98c08c00
+18c08c04
+20406f21
+98c09600
+18c08c01
+efe40006
+9a467c00
+2022fdc7
+20406f1a
+98c08c00
+19627e00
+98c67c00
+2022efa3
+20206f99
+18000c00
+18007e00
+20600000
+47424030
+6fe44547
+98000c00
+efe20006
+203a6fbf
+1fe3fe00
+98c08c00
+efe80006
+98467c00
+2022efb3
+20406f21
+98c08c00
+20206fa9
+20406f21
+98c09600
+18c08c01
+efe40006
+9a467c00
+20628000
+20406f1a
+98c08c00
+19627e00
+98c67c00
+2022efbf
+20206fb5
+18000c00
+20600000
+da400400
+20406fb3
+da400300
+20406fcc
+24740000
+1a267c03
+20217dc1
+efe20006
+c0847dc1
+efe20006
+20600000
+4742c030
+20406f21
+1fe22200
+efe20006
+1fe17207
+1fe97e00
+1fe67c03
+2022efe8
+1f227e00
+c002efdf
+c0036fe2
+c003efe5
+18c08dff
+20406f21
+98c08c00
+1a227e00
+98462200
+2022fdc1
+20206fcf
+1a20a3fe
+18c08c01
+20206fcf
+1a20a3fd
+18c08c02
+20206fcf
+1a20a3fb
+18c08c04
+20206fcf
+1a20a3ff
+1f227e00
+c000eff1
+c0016fef
+c0026fee
+20207dc1
+1a20a3f4
+efe40006
+1a20a3fe
+efe40006
+9a467c00
+2022fdbf
+1a20a3fe
+2022fdc1
+20206fcf
+204056aa
+1fe20a00
+58000006
+e7e20005
+5800006e
+e7e40005
+58000f00
+e7e40005
+581a0535
+e7e60005
+58000111
+1ff07e00
+e7e80005
+58002600
+e7e40005
+58000335
+e7e40005
+58000009
+e7e40005
+58000004
+e7e40005
+70027114
+20600000
+47434030
+7005e150
+d8a005e2
+d8c0440c
+20407c9a
+d8c045a4
+20407c98
+d8c009ba
+20407c98
+204070c9
+d8c0042b
+204070c4
+2040708f
+d8a00aee
+204070c0
+580f4240
+1fe22200
+6fe80aee
+9a26fc00
+20407d61
+18077e00
+67e809b6
+20600000
+7005e141
+d8a005e2
+20407074
+2040706f
+6fe64426
+e7e60005
+20407035
+d8c0042b
+20407c9a
+d8c0440c
+20407c9a
+204070c9
+d8c00b0e
+d8a00abe
+20407c9a
+2020708f
+6fe84499
+e7e80005
+20407ca8
+20207ca5
+4743c030
+7005e141
+d8a005e2
+2040706f
+20407074
+6fe6441f
+e7e60005
+20407035
+d8c0440c
+20407c9a
+d8c0042b
+20407c9a
+204070c9
+d8c00b0e
+d8a00abe
+20407c9a
+2040708f
+d8a00aee
+202070c0
+7005e120
+d8c009fa
+d8a005e2
+20407c98
+204070c9
+d8c0099a
+204070c4
+2040708f
+d8a00abe
+2040734c
+d8400001
+2040705e
+d8a043eb
+204070c0
+d8400000
+2040705e
+d8a00b0e
+2020734c
+47444031
+7005e135
+58000100
+67e405e2
+2040706f
+20407074
+d8c0440c
+20407c9a
+d8c0042b
+20407c9a
+58006c65
+e7e40005
+58006274
+e7e40005
+e0420005
+204070c9
+2020708f
+6fec4472
+e7ec0005
+6fe24467
+e7e20005
+20600000
+6fec044b
+e7ec0005
+6fe24460
+e7e20005
+20600000
+7005e141
+6fe24636
+67e205e2
+d8c045a4
+20407c98
+d8c009ba
+20407c98
+204070c9
+d8c0042b
+204070c4
+2020708f
+7005e141
+6fe24636
+67e205e2
+d8c009ba
+20407c98
+d8c045a4
+20407c98
+204070c9
+d8c0440c
+204070c4
+2020708f
+4744c031
+204070de
+6fe205e1
+1fe20400
+1fe0fe0f
+1ff1fe00
+1fe22400
+203a70a1
+18417e0f
+243a70a4
+da600ace
+dfe005e2
+1fe0fff0
+9840a200
+d8a00afe
+df200004
+20407cb8
+202070af
+da400001
+da200000
+202070a5
+1841220f
+dfe005e2
+9840fe00
+9a260c00
+d8a00aee
+20407104
+da600ade
+da200aee
+d8a00afe
+df200004
+20407cb8
+20407346
+204072e8
+d8c005e2
+1a40a5ff
+1a427e00
+203a70b8
+2040733b
+204072dc
+202070b2
+d8a00aee
+2040734c
+d8c00afe
+2040733b
+204072e8
+d8c00aee
+2040733b
+202072dc
+18a22200
+2040734c
+df200010
+20207cc0
+d8a00abe
+20407c9a
+df200010
+da200abe
+20207cc0
+6fe205e1
+1fe27200
+da2005e2
+20207cc0
+efe20011
+1fe3fe00
+2a6ffe00
+7920fe00
+2feffe08
+7920a600
+e7e20011
+1a20a3ff
+c20070cd
+20600000
+da200ace
+1a20a20f
+18007210
+18002600
+202070cd
+da200ade
+202070d8
+d8c00abe
+20407338
+18007008
+20407347
+20407346
+204072d9
+d8a00ace
+2040734c
+47454031
+6fe20ace
+2feffe07
+2420f0ef
+204070d7
+da600ace
+d8a00ace
+204070f9
+202070f0
+204070d7
+d8c00ace
+d8a00ade
+20407c9a
+6fe20ade
+2feffe07
+2420f0dc
+204070dc
+da600ade
+d8a00ade
+df200003
+d8400000
+20407100
+1a60a604
+c20070fa
+d8408700
+18500400
+efe80013
+9842fe00
+e7e80005
+20600000
+4745c031
+df200010
+dfe00000
+9a267c00
+2022f10f
+20217112
+e8420006
+e0420005
+1fe0fe01
+c2007107
+20600000
+d8400080
+e0420005
+2020710c
+d8400000
+20207110
+20407127
+d8c0058e
+d8a0057e
+20207c9a
+78547c00
+20407215
+d8c0055e
+d8a0059e
+1800720f
+20407cdc
+efe20006
+1fe2fe06
+e7e20005
+580005ae
+67e405d2
+5800059e
+67e405d0
+79200012
+20207167
+68424657
+18002410
+1840a606
+1a667c10
+2021712d
+18002610
+d8a0059e
+d8c04658
+18427200
+78547c00
+efe20006
+e7e20005
+1a40a5ff
+2022f13b
+c2007131
+2034712e
+78347c00
+18007206
+1a220c00
+20207131
+d8c0055e
+d8a005ae
+20407c9a
+6fe205bd
+9a62fe00
+67e205bd
+580005ae
+67e405d2
+5800059e
+67e405d0
+79200012
+20207167
+78547c00
+20407215
+20207151
+da200056
+78347c00
+20407215
+20407151
+d8c0058e
+d8a00062
+20207c9a
+5800055e
+67e405d2
+580041bf
+67e405d0
+793f8012
+20407167
+da20058e
+da40055e
+d8a0059e
+20407208
+da20059e
+da4005ae
+1a420a00
+78347c00
+20407206
+20407220
+580005ae
+67e405d2
+5800059e
+67e405d0
+79200012
+20207167
+7005d400
+6fe405d0
+98000c00
+d8a005be
+20407c9a
+6fe405d2
+98000c00
+d8a0058e
+20407c9a
+2040718d
+78547c00
+c5897177
+6fe205d4
+c0827177
+6a4405d2
+204071bf
+204071be
+204071d0
+6fe205d4
+1fe0fe01
+67e205d4
+2040718d
+78347c00
+204071be
+204071df
+204071ec
+204071df
+204071ec
+204071df
+204071ec
+204071df
+6fe205d4
+1fe0fe01
+67e205d4
+c0887170
+2040718d
+78547c00
+202071be
+6fe205d4
+d8c005be
+203a71b4
+98002400
+18007211
+18c20a00
+efe20006
+1fe98400
+1feb7e00
+1fe97e00
+9841fe00
+e7e20005
+c2007193
+580005be
+9a408c00
+18007210
+d8a0056e
+efe20006
+e7e20005
+28c1ffcf
+2420f1a3
+18c08def
+c200719e
+18002200
+1a40a7ff
+1a6ba600
+1a6ba600
+2040736e
+58008400
+9a60a600
+d8a0056e
+18007210
+e8420013
+efe20005
+9840fe00
+e7e20005
+1a60a601
+c20071ad
+20207372
+18007210
+18000400
+efe20006
+98428400
+c20071b6
+18427e00
+e7e20006
+d8c005be
+d8a0056e
+20207c9a
+da40056e
+18007210
+da20058e
+1a220a00
+e8420011
+efe20012
+9842e000
+1f212603
+243471c8
+1a62a603
+1a662601
+202171cb
+9840e000
+e6020005
+1a20a201
+1a40a401
+c20071c2
+20600000
+2040736e
+18007210
+da20058e
+efe20011
+d8c08500
+1f212603
+1a667c01
+202171d9
+d8c08600
+98c08c00
+efe20006
+e7e20011
+1a20a201
+c20071d3
+20207372
+18007208
+d8c0058e
+18c20a00
+ea220006
+ea420006
+1a23fe00
+9a40fe00
+e7e20005
+1a227e00
+9a40fe00
+e7e20005
+c20071e2
+20600000
+588ae42c
+98000400
+18007207
+204071f9
+580d751b
+98000400
+18007205
+204071f9
+6a22059d
+6fe20591
+67e2059d
+62220591
+20600000
+1841240f
+18417e0f
+d8a0058e
+98a08a00
+ea620005
+e2220005
+1a622200
+18518400
+c20071fa
+5800058e
+9a408a00
+e2220005
+20600000
+78347c00
+20207209
+78547c00
+18007210
+e8420011
+efe20012
+2034720f
+9842fe00
+20207210
+9840fe00
+e7e20005
+1a20a201
+1a40a401
+c200720a
+20600000
+d8a005ae
+efec0011
+e7ec0005
+2034721b
+efec0011
+2020721c
+efec0006
+e7ec0005
+efe80011
+e7e80005
+20600000
+d8c041bf
+d8a0059e
+d8400000
+588395a7
+20407241
+58b3c1df
+20407241
+5800e5e9
+20407242
+18422800
+78547c00
+2040722f
+1a820400
+78347c00
+2020722f
+18007208
+efe20006
+2f200201
+20347236
+2020f237
+9840fe00
+20207238
+2020f234
+9842fe00
+e7e20005
+184c8400
+c2007230
+20600000
+6fec0592
+67ec0056
+efec0006
+e7ec0005
+20600000
+184d0400
+18500400
+98418400
+20600000
+20207245
+47464031
+204072eb
+d8a043eb
+2020734c
+d8a0440c
+2034f24d
+d8a0042b
+18c22200
+20407c9a
+204072fd
+d8c043fc
+20207365
+da20042b
+2034f255
+da20440c
+1a220a00
+204066ee
+202072fd
+d8c0447c
+2040733b
+d8c043eb
+20407338
+18006c50
+18006c00
+204072d1
+d8a00478
+2020734c
+18007e49
+20207264
+18007e01
+18007000
+184d5e00
+9de1de00
+1f00f001
+184cde00
+1df15e00
+6fe443e3
+1ff07e00
+9de1de00
+1f00f001
+efe80006
+98005e00
+1f00f001
+efe40006
+1a30de00
+1df05e00
+9de1de00
+1f00f001
+20600000
+1a608c01
+ea220006
+20407261
+204072d9
+18007000
+efe20013
+1fe17e03
+1ff05e00
+79205e08
+20407344
+204072dc
+1a227200
+1a608c02
+20407320
+2040732a
+204072dc
+1f227e00
+203a728a
+20207285
+1800700c
+1de22400
+62480413
+20600000
+1a20a201
+20407263
+204072e8
+1a620c00
+2040733b
+204072df
+20407353
+1a60a610
+1a40a5f0
+2021728e
+20600000
+4746c031
+da6043ae
+684a43d5
+20407277
+18002200
+20407263
+204072e8
+18007000
+1a425e00
+204072df
+da6043b0
+6fe243af
+1fe0a5ff
+9a608a00
+1800700c
+e5e80005
+18002200
+2040728e
+6fe243af
+1fe0fe04
+67e243af
+684a43d5
+18408401
+604a43d5
+20600000
+684a43da
+18002200
+20407263
+204072e8
+6fe202d6
+da6002d7
+1fe0a5ff
+1fe0fffc
+67e202d6
+9a608c00
+18007000
+ede80006
+204072df
+1800700c
+65e80417
+18002200
+2040728e
+da6002d5
+20407277
+6fe80417
+9a467e00
+247a0000
+6fe843df
+9a467e00
+207a0000
+604843df
+6fea43da
+1fe0fe01
+67ea43da
+18007e00
+20600000
+243bf2d1
+20600000
+18006c48
+18006c08
+202072d1
+18006c44
+18006c04
+202072d1
+18006c40
+18006c00
+202072d1
+18006c41
+18006c00
+202072d1
+18006c42
+18006c02
+202072d1
+18006c50
+18006c10
+202072d1
+18006c51
+18006c10
+202072d1
+18006c20
+18006c00
+20600000
+18007000
+6fe8042b
+98005e00
+1f00f001
+efe80006
+98005e00
+1f00f001
+6fe8440c
+98005e00
+1f00f001
+efe80006
+98005e00
+1f00f001
+20407347
+1f00f1fc
+6fe84499
+1fe25e00
+202072e2
+1a220c00
+2040733b
+18006c30
+18006c00
+6fe24460
+68424457
+2434f306
+6fe24467
+68424460
+67e2441c
+6042441d
+d8c0441c
+2040733b
+20407347
+1f00f1fc
+6fe84499
+1fe25e00
+18006c51
+18006c10
+6fec4472
+684c044b
+2034f315
+6fec044b
+684c4472
+18007000
+18425e00
+1f00f001
+184f5e00
+1ff07e00
+9de1de00
+1f00f001
+1fef5e00
+1f00f001
+18005e00
+202072e5
+2f200600
+20608000
+18c27e00
+9f208a00
+18007e00
+e7e20005
+1f20f201
+2f200600
+20608000
+20207325
+18007000
+1f227e00
+203a732f
+efe80006
+1f20f3fc
+98005e00
+1f00f001
+2f001e04
+20608000
+2020732b
+18007208
+20207339
+18007206
+20207339
+18007204
+18007004
+2020733d
+18007000
+18007204
+efe80006
+1fe25e00
+1f00f001
+c200733d
+20600000
+d8c00478
+20207338
+18007204
+20207349
+18007000
+18007204
+18005e00
+1f00f001
+c2007348
+20600000
+1800700c
+18007204
+1de27e00
+e7e80005
+1f00f001
+c200734e
+20600000
+1800700c
+1a620a00
+1a40f201
+1f267c0f
+20217359
+18007210
+1de27e00
+1f267c03
+20217361
+e7e80005
+1f20f3fc
+20628000
+1f00f001
+20207359
+e7e20005
+1fecfe00
+c2007361
+20600000
+1800700c
+18007204
+efe80006
+9de67c00
+24628000
+1f00f001
+c2007367
+18007c00
+20600000
+6fe28043
+79207e03
+67e28043
+20600000
+6fe28043
+793ffe03
+67e28043
+20600000
+d8a00882
+3803ffff
+3807ffff
+380bffff
+380ffbff
+e7f20005
+3803ffff
+3807ffff
+380bffff
+380fffff
+e7f20005
+3803ffff
+3807ffff
+380bcfff
+380fffff
+e7f20005
+3803ffff
+3807ffff
+380bffef
+380fffff
+e7f20005
+3803ffff
+3807ffff
+380bffff
+380fffff
+e7f20005
+3803ffff
+38066c7f
+3808146b
+380f7bb3
+e7f20005
+3801feb8
+38050c12
+380ab722
+380e9fa6
+e7f20005
+3800e70f
+38056720
+3808519e
+380d9084
+e7f20005
+38031012
+380760bf
+380bf0af
+380c03d3
+e7f20005
+3803a188
+38043ad0
+380bcbf2
+380e43d9
+e7f20005
+3802b030
+38076a03
+38091188
+380de520
+e7f20005
+3803a11e
+3804fe5d
+3808dd57
+380dac93
+e7f20005
+380011ed
+380618c4
+38088da7
+380e57ff
+e7f20005
+3803192b
+38074641
+3809be0c
+380f66ad
+e7f20005
+38001f83
+38055a23
+380bf9b0
+380c3949
+e7f20005
+38013a51
+380553fd
+380b372a
+380cf1bb
+e7f20005
+3803ae85
+3805eed9
+38089e66
+380c01a8
+e7f00005
+20600000
+d8a0091a
+3803ffff
+3807ffff
+380bffff
+380fffff
+e7f20005
+3803ffff
+3804003f
+38080000
+380c0000
+e7f20005
+38000000
+38040000
+38081000
+380c0000
+e7f20005
+3803ff00
+3807ffff
+380bffcf
+380fffff
+e7f20005
+3803ffff
+3807ffff
+380bffff
+380c03ff
+e7f20005
+38000000
+38040000
+38080000
+380c0000
+e7f20005
+38010000
+38040000
+380bf000
+380fffff
+e7f20005
+380296ff
+38062630
+380b945d
+380fd284
+e7f20005
+380333a0
+38044b7a
+380837d8
+380fc9dc
+e7f20005
+3803a440
+3805b958
+380b8bce
+380d091f
+e7f20005
+3802e12c
+3805f47c
+380b56b1
+380efd47
+e7f20005
+38006837
+3806ed90
+3809ecec
+380dacc5
+e7f20005
+38023357
+38058af3
+3808f9e1
+380d29f0
+e7f20005
+3802e7eb
+3807e6e3
+380be1a7
+380d0b8b
+e7f20005
+38024fe3
+380420ef
+3809b5a6
+380cdc2f
+e7f20005
+38013860
+3806bd69
+3808391a
+380db222
+e7f20005
+20600000
+6fe2462c
+243a7432
+2020792c
+47474031
+6fe2462c
+207a0000
+6fe24583
+c1808000
+6fe24490
+207a0000
+6fe24495
+c1018000
+6fe44652
+c2807430
+6fe24492
+c000792c
+20600000
+70449200
+20600000
+4747c031
+6fe2462c
+203a650d
+20406506
+20407438
+20207522
+58000000
+67f009aa
+67e809b2
+67ee4630
+20600000
+7009ac01
+20207442
+6fe24583
+c000f53f
+20204a8b
+6fe24583
+c000f445
+20207522
+2040753f
+6fe209ab
+247a0000
+7009aa03
+20600000
+20407465
+da2009da
+d8a00862
+20407b2e
+da2009ba
+d8a00822
+20407b2e
+da200822
+da4009ba
+d8a00822
+20407a96
+da20093a
+da4009ba
+d8a00842
+20407a96
+da200842
+da400822
+d8a00822
+20407b32
+da200802
+da400822
+d8a00802
+20407b32
+df200020
+da200862
+da400802
+20207d63
+da20097a
+d8a00802
+20407b2e
+da20095a
+d8a00822
+20407b2e
+da200822
+da40095a
+d8a00822
+20407a96
+da20093a
+da40095a
+d8a00842
+20407a96
+da200842
+da400822
+d8a00822
+20407b32
+da200802
+da400822
+d8a00802
+20207b4b
+20407496
+da2009e2
+d8a00862
+2040765d
+da2009c2
+d8a00822
+2040765d
+da200822
+da4009c2
+d8a00822
+2040763b
+da20089a
+da4009c2
+d8a00842
+2040763b
+da200842
+da400822
+d8a00822
+2040760a
+da200802
+da400822
+d8a00802
+2040760a
+df200018
+da200862
+da400802
+20207d63
+da2008e2
+d8a00802
+2040765d
+da2008ca
+d8a00822
+2040765d
+da200822
+da4008ca
+d8a00822
+2040763b
+da20089a
+da4008ca
+d8a00842
+2040763b
+da200842
+da400822
+d8a00822
+2040760a
+da200802
+da400822
+d8a00802
+2020760d
+6fe209ae
+c08074ca
+204074c7
+d8a00a7a
+58000a2a
+e7e40005
+58004614
+e7e40005
+580009da
+e7e40005
+202074be
+d8a00a7a
+58000a3a
+e7e40005
+580009da
+e7e40005
+58004614
+e7e40005
+20407855
+6fe209ab
+c00274c4
+7009ac01
+7009aa05
+20600000
+7009ab14
+2040743f
+2020758d
+d8a00a1a
+18000e08
+20207557
+7009ac01
+20600000
+47484032
+d8a00723
+6fec40a0
+e7ec0005
+6fec0040
+e7ec0005
+6fe64630
+e7e60005
+204078c2
+da200a4a
+da400a5a
+18000e04
+2040755c
+2420f4e6
+204074dd
+70007d41
+202066da
+6fe209ab
+c004f4e3
+7009aa0a
+7009ac01
+70007c03
+20600000
+70007c03
+7009ab15
+2020758d
+6fe209ab
+c004f4ec
+7009aa00
+70007c04
+70007e05
+20600000
+70007c04
+7009ab00
+20600000
+6fe209af
+c000f4f3
+7009ab0a
+2020758d
+d8a00723
+6fec0040
+e7ec0005
+6fec40a0
+e7ec0005
+6fe6462d
+e7e60005
+204078d9
+6fe209ab
+c0057500
+7009aa0b
+7009ac01
+20600000
+7009ab0b
+7009ad01
+20600000
+d8a00a7a
+6fec0040
+e7ec0005
+6fec40a0
+e7ec0005
+58000a2a
+e7e40005
+58000a3a
+e7e40005
+20207517
+7009aa0f
+d8a00a7a
+6fec40a0
+e7ec0005
+6fec0040
+e7ec0005
+58000a3a
+e7e40005
+58000a2a
+e7e40005
+d8a00723
+6fec0a7a
+e7ec0005
+6fec0a80
+e7ec0005
+2040788c
+7041be01
+d8a041bf
+d8c00a4a
+20407c9a
+202041c0
+4748c032
+6fe24583
+c1800000
+6fe209ae
+c1800000
+d8a045e4
+18000e0b
+20407557
+180a7e00
+1fe37e00
+e7e40005
+d8a006ba
+d8c045e4
+20407c99
+d8a005e2
+d8c008ca
+20407c97
+d8a00612
+20407ca0
+70061201
+20407912
+7009ae01
+20600000
+d8a045fc
+d8c0062a
+20407c97
+70458301
+7009ae00
+20600000
+47494032
+6fe209b5
+c1800000
+6fe209ae
+c1800000
+d8a006ba
+d8c045e4
+20407c99
+d8a005e2
+d8c009c2
+20407c97
+d8a00612
+20407ca0
+70061201
+20407912
+7009ae02
+20600000
+7009af01
+d8a00a02
+d8c0062a
+20407c99
+7009b501
+7009ae00
+20600000
+18e08fff
+24610000
+180a7e00
+e7e40005
+20207557
+18e08fff
+24217568
+efe80011
+1fe20400
+efe80012
+9842fe00
+2422f566
+1a20a204
+1a40a404
+2020755c
+7840fc00
+20600000
+7820fc00
+20600000
+4749c032
+6fe209ac
+207a0000
+2040669e
+247a0000
+7009ac00
+6fe209aa
+c001e5df
+c002e5fc
+c003e607
+c005e61c
+c001743d
+c00274ac
+c004f4cc
+c00574ef
+c006750d
+20600000
+474a4032
+6fe209ad
+207a0000
+2040669e
+247a0000
+7009ad00
+6fe209ab
+c00965c2
+c009e5c7
+c001e5cb
+c00274b7
+c00a65cf
+c003e5dd
+c00574ef
+c005e61b
+c004f4cc
+c00ae615
+20600000
+7009ad01
+20600000
+7009ad00
+20600000
+474ac032
+6fe2462c
+207a0000
+6fe209ae
+207a0000
+1fe0fe80
+67e209ae
+c3838000
+6fe205df
+203a759c
+2020791d
+20407788
+6fe209ae
+c000f539
+c0017550
+20600000
+1fe10e07
+1fe97e00
+98c08c00
+efe20006
+afec0000
+20600000
+20407c99
+20407c99
+20207c99
+eff00006
+247a0000
+eff00006
+247a0000
+eff00006
+20600000
+efe80011
+98000400
+efe80012
+98467c00
+24628000
+1a20a204
+1a40a404
+c20075b0
+20600000
+18007206
+1a20a214
+1a40a414
+efe80012
+98000400
+efe80011
+98467e00
+24610000
+247a0000
+1a20a3fc
+1a40a5fc
+c20075bc
+20600000
+18007206
+18002600
+efe80011
+98000400
+efe80012
+9840fe00
+9a60fe00
+e7e80005
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c20075c8
+20600000
+18007206
+18002600
+efe80012
+98000400
+efe80011
+98467e00
+9a667e00
+e7e80005
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c20075d6
+20600000
+18007206
+1a20a214
+18002600
+efe80011
+2feffe00
+7920a601
+1fe37e00
+2a6ffe00
+7920fe1f
+e7e80011
+1a20a3fc
+1a632600
+c20075e5
+20600000
+18007206
+18002600
+efe80011
+2feffe1f
+7920a601
+1fe3fe00
+2a6ffe00
+7920fe00
+e7e80011
+1a20a204
+1a632600
+c20075f2
+20600000
+204075f0
+2a6ffe00
+2020f606
+da400882
+1a222600
+1a20a3e8
+204075b9
+24610000
+1a622200
+1a20a3e8
+da400882
+1a220a00
+202075d4
+204075c6
+18a22200
+202075fe
+204075d4
+2a6c0000
+20608000
+da400882
+18a0a3e8
+1a220a00
+202075c6
+18a21600
+1a226000
+da400712
+1a420a00
+1a208c18
+eff00006
+e7f00005
+e7f00005
+18007e00
+e7f00005
+19620a00
+2040760a
+da400712
+1a420a00
+18007e00
+e7f00005
+1e008c20
+eff00006
+e7f00005
+e7f00005
+19622200
+1a220a00
+2040760a
+da400712
+1a420a00
+1e008c28
+eff00006
+e7f00005
+e7f00005
+e7f00005
+19622200
+1a220a00
+2020760a
+18007206
+efe80006
+98005e00
+1f00f001
+c2007636
+20600000
+18a21600
+d8a006e2
+20407ca0
+d8a006e2
+1a220c00
+18007000
+20407635
+1a420c00
+20407635
+18002400
+18000400
+18002606
+efe80005
+98002200
+1a427000
+1de27e00
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e7e80005
+1fef0400
+1a60a601
+2a61fe0c
+2420f647
+18427e00
+e7e80005
+18a08be8
+1a40a401
+2a41fe06
+2420f645
+da2006e2
+19620a00
+20207614
+1a222400
+2020763b
+1a226000
+1e022200
+efe20011
+2feffe00
+20608000
+204075e2
+efe20012
+2fec0000
+2020f66f
+da200882
+1a420a00
+204075c6
+efe20012
+9a60fe00
+e7e20012
+1a40a5e8
+1a40a218
+18007207
+204075e4
+20207660
+18a21600
+d8a00742
+20407ca0
+18007e00
+67e806fa
+67e8075a
+70074201
+d8a006e2
+20407ca0
+d8c00882
+d8a00712
+20407c99
+1a220c00
+d8a0072a
+20407c99
+d8c0072a
+204075aa
+203a76ab
+da20072a
+da400742
+2040765f
+da200712
+da4006e2
+2040765f
+da20072a
+da400712
+204075b9
+2021769d
+da200712
+da40072a
+1a220a00
+204075d4
+da200742
+da4006e2
+1a420a00
+204075c6
+efe20011
+9a60a600
+efe20012
+9a60fe00
+e7e20012
+20207682
+da20072a
+da400712
+1a220a00
+204075d4
+da2006e2
+da400742
+1a420a00
+204075c6
+efe20011
+9a60a600
+efe20012
+9a60fe00
+e7e20012
+20207682
+d8a00742
+20407ca0
+6fe206fa
+67e20742
+67e2074a
+da200742
+da4006e2
+1a420a00
+2040760a
+da200882
+da4006e2
+19620a00
+2020760d
+da2006a2
+d8a0075a
+2040765d
+da20075a
+d8a00772
+2040765d
+da20089a
+da400772
+d8a00772
+2040763b
+da200672
+d8a0075a
+2040765d
+d8c0075a
+d8a0072a
+20407c99
+da20072a
+204075fd
+da20075a
+da40072a
+d8a0075a
+2040760a
+da20075a
+da400772
+d8a0075a
+2040760a
+d8c00672
+d8a0072a
+20407c99
+da20068a
+d8a00772
+2040765d
+da20072a
+204075fd
+da20072a
+204075fd
+da20072a
+da400772
+d8a0072a
+2040763b
+da200772
+d8a00742
+2040765d
+da200742
+204075fd
+da200742
+204075fd
+da200742
+204075fd
+d8c0068a
+d8a00772
+20407c99
+da200772
+204075fd
+da200772
+da4006a2
+d8a006a2
+2040763b
+da20075a
+d8a00772
+2040765d
+da200772
+da40072a
+d8a00772
+2040760d
+da200772
+da40072a
+d8a00672
+2040760d
+da20072a
+da400672
+d8a00772
+2040760d
+da200772
+da40075a
+d8a00772
+2040763b
+da200772
+da400742
+d8a0068a
+2020760d
+da200612
+d8a0078a
+2040765d
+da200672
+da40078a
+d8a00742
+2040763b
+da200612
+da40078a
+d8a0078a
+2040763b
+da20068a
+da40078a
+d8a0072a
+2040763b
+da2006a2
+d8a0078a
+2040765d
+da2005e2
+da40078a
+d8a0075a
+2040763b
+da2006a2
+da40078a
+d8a0078a
+2040763b
+da2005fa
+da40078a
+d8a00772
+2040763b
+da200742
+da40075a
+d8a0078a
+2040760d
+da200742
+da40075a
+d8a00742
+2040760a
+da20072a
+da400772
+d8a0075a
+2040760d
+da20072a
+da400772
+d8a0072a
+2040760a
+da20072a
+da40078a
+d8a0072a
+2040763b
+da2006a2
+da400612
+d8a00772
+2040763b
+da200772
+da40078a
+d8a006a2
+2040763b
+da20078a
+d8a0078a
+2040765d
+da20078a
+da400742
+d8a00772
+2040763b
+da20078a
+da40072a
+d8a0072a
+2040763b
+da20075a
+d8a00672
+2040765d
+da200672
+da400772
+d8a00672
+2040760d
+d8c00672
+d8a0078a
+20407c99
+da20078a
+204075fd
+da200772
+da40078a
+d8a00772
+2040760d
+da200772
+da40075a
+d8a0075a
+2040763b
+da20075a
+da40072a
+d8a0068a
+2040760d
+da20068a
+da400882
+d8a0068a
+18002600
+6fe2068a
+2feffe00
+2040f5c6
+1a626000
+da20068a
+204075e2
+6fe206a1
+2e0ffe00
+7920fe07
+67e206a1
+20600000
+6fe205df
+1fe0ffff
+24610000
+67e205df
+6fe205de
+205a76b8
+6fe205df
+d8c006ba
+204075a1
+2020f775
+6fe205de
+243a7783
+20407709
+20207775
+7005de00
+d8c005e2
+d8a00672
+204075a7
+20207775
+da2006a2
+d8a00772
+20407673
+da200772
+d8a0072a
+2040765d
+da200672
+da40072a
+d8a0062a
+2040763b
+da200772
+da40072a
+d8a0075a
+2040763b
+da20068a
+da40075a
+d8a00642
+2020763b
+efe80006
+18002204
+18a08a03
+e7e20005
+1fecfe00
+18a08bfe
+1a20a3ff
+2422f79d
+18a08a05
+c200779a
+20600000
+18ebfe00
+99608c00
+efe80006
+20600000
+18006010
+d96005e2
+1e008ff9
+204077a5
+98000400
+1e008ff0
+204077a5
+98408400
+1e008ffe
+204077a5
+1fee7e01
+98408400
+1e008ff1
+204077a5
+1fee7e00
+98408400
+1e0bfe00
+99608a00
+e0480005
+1e00e001
+2e01fe40
+2420f7ab
+20600000
+d8c008fa
+18007007
+efe80006
+98005e00
+1f00f1ff
+202177c2
+20600000
+474b4032
+204077a9
+d8a006e2
+18007000
+1de27e00
+e7e80005
+1f00f001
+2f01fe08
+2420f7cb
+2040736e
+d9608700
+de0005e2
+18007240
+e8480030
+efe8000b
+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
+c20077d4
+d8c006e2
+18007000
+efe80006
+9de0de00
+1f00f001
+2f01fe08
+2420f7fd
+20207372
+d8a00a3a
+18007007
+1de27e00
+e7e80005
+1f00f1ff
+20217805
+20600000
+d8a005e2
+18c08dfc
+1f262210
+efe80006
+9842fe00
+e7e80005
+18c08df8
+c200780d
+1a227200
+18427e00
+e7e80005
+c2007814
+20600000
+2040781c
+20407803
+20207842
+2040781c
+20207842
+d8c009da
+d8a005e2
+18007206
+20407926
+d8c04614
+18007206
+20407926
+d8c00a3a
+20407925
+204077c0
+204077c7
+d8c00a2a
+d8a005e2
+20207839
+d8c04614
+d8a005e2
+18007206
+20407926
+d8c009da
+18007206
+20407926
+d8c00a2a
+20407925
+204077c0
+204077c7
+d8c00a3a
+d8a005e2
+20407839
+20207842
+20407925
+58800000
+1fed7e00
+e7e80005
+18007205
+20407ca1
+58000280
+e7e80005
+202077c7
+6fe80a3a
+da2003e8
+9a26fc00
+20407d61
+18077e00
+67e809b6
+1807fe00
+da2003e8
+9a26fc00
+20407d61
+18077e00
+da2003e8
+9a2ffe00
+684809b6
+9840fe00
+67e809b6
+20600000
+70463600
+20207857
+6fe24634
+c0817853
+474bc032
+58363636
+1fed0400
+18418436
+6fe40a7a
+1fe20c00
+18007204
+2040780a
+204077c0
+204077c7
+6fe40a7c
+1fe20c00
+d8a005e2
+18007206
+20407926
+6fe40a7e
+1fe20c00
+18007206
+20407926
+58800000
+e7e60005
+6fe24636
+e7e20005
+18007e00
+e7f00005
+58000388
+e7e80005
+204077c7
+20407803
+d8c00a3a
+d8a00702
+20407c98
+585c5c5c
+1fed0400
+1841845c
+6fe40a7a
+1fe20c00
+18007204
+2040780a
+204077c0
+204077c7
+d8c00722
+d8a005e2
+18007208
+20407926
+58800000
+1fed7e00
+e7e80005
+20407ca0
+58000300
+e7e80005
+204077c7
+20207803
+58363636
+1fed0400
+18418436
+d8c00a1a
+18007206
+2040780a
+204077c0
+204077c7
+6fe40a86
+1fe20c00
+d8a005e2
+20407925
+6fe40a88
+1fe20c00
+20407925
+5862746c
+1fed7e00
+1fe1fe6b
+e7e80005
+d8c0072f
+18007203
+20407926
+58800000
+1fed7e00
+e7e80005
+18007e00
+e7f00005
+58000380
+e7e80005
+204077c7
+20407803
+d8c00a3a
+d8a00702
+20407c98
+585c5c5c
+1fed0400
+1841845c
+d8c00a1a
+18007206
+2040780a
+204077c0
+204077c7
+d8c00722
+d8a005e2
+18007208
+20407926
+58800000
+1fed7e00
+e7e80005
+20407ca0
+58000300
+e7e80005
+204077c7
+20207803
+6fe24634
+c08178d3
+474c4033
+58363636
+1fed0400
+18418436
+d8c00a1a
+18007206
+2040780a
+204077c0
+204077c7
+d8c00a3a
+d8a005e2
+20407925
+d8c00a2a
+20407925
+202078e8
+58000000
+67e84658
+202078c4
+58000000
+67e84658
+202078db
+6fe24634
+c08178d6
+58363636
+1fed0400
+18418436
+d8c00a1a
+18007206
+2040780a
+204077c0
+204077c7
+d8c00a2a
+d8a005e2
+20407925
+d8c00a3a
+20407925
+58000000
+e7f00005
+e7e80005
+6fe84658
+e7e80005
+18a20400
+70072280
+18420a00
+d8c00732
+20407925
+204077c7
+d8a005e2
+18007207
+20407ca1
+e7e80005
+580003f8
+e7e80005
+204077c7
+20407803
+d8c00a3a
+d8a00702
+20407c98
+585c5c5c
+1fed0400
+1841845c
+d8c00a1a
+18007206
+2040780a
+204077c0
+204077c7
+d8c00722
+d8a005e2
+18007208
+20407926
+58800000
+1fed7e00
+e7e80005
+20407ca0
+58000300
+e7e80005
+204077c7
+20207803
+7005dfc0
+6fe205df
+207a0000
+1fe0ffff
+67e205df
+d8c006ba
+204075a1
+2020f913
+d8c005e2
+d8a00672
+202075a7
+204076b8
+6fe205df
+1fe0ffff
+67e205df
+d8c006ba
+204075a1
+20608000
+20207709
+18007204
+18c08dfc
+efe80006
+e7e80005
+18c08df8
+c2007927
+20600000
+474cc033
+6fe24490
+203a5ed0
+20405ecc
+20407438
+20207932
+6fe24495
+c1800000
+6fe24492
+c1800000
+d8a04584
+18000e0f
+20407557
+180a7e00
+1fe37e00
+e7e40005
+d8a00762
+d8c04584
+20407c98
+d8a00642
+d8c0095a
+20407c8e
+d8a00682
+20407cab
+70068201
+2040797c
+70449203
+20600000
+d8a045a4
+d8c006a2
+20407c8e
+70449503
+70449200
+20600000
+6fe209b5
+c1800000
+6fe24492
+c1800000
+d8a00762
+d8c04584
+20407c98
+d8a00642
+d8c009ba
+20407c8e
+d8a00682
+20407cab
+70068201
+2040797c
+70449204
+20600000
+d8a009fa
+d8c006a2
+20407c98
+7009b503
+70449200
+20600000
+6fe24490
+207a0000
+6fe24492
+207a0000
+1fe0fe80
+67e24492
+c3838000
+6fe405df
+203a796e
+20207974
+474d4033
+20407989
+6fe24492
+c001f948
+c002795e
+20600000
+2040799b
+6fe405df
+1fe0ffff
+67e405df
+d8c00762
+204075a1
+20608000
+202079ec
+474dc033
+58000100
+67e405df
+6fe405df
+207a0000
+1fe0ffff
+67e405df
+d8c00762
+204075a1
+2020f97f
+d8c00642
+d8a00702
+20207c8d
+da200742
+d8a00842
+20407a58
+da200842
+d8a007e2
+20407b2e
+da200702
+da4007e2
+d8a006a2
+20407a96
+da200842
+da4007e2
+d8a00822
+20407a96
+da200722
+da400822
+d8a006c2
+20207a96
+da200742
+d8a00822
+20407b2e
+da200822
+d8a00842
+20407b2e
+da20093a
+da400842
+d8a00842
+20407a96
+da200702
+d8a00822
+20407b2e
+d8c00822
+d8a007e2
+20407c98
+da2007e2
+20407b35
+da200822
+da4007e2
+d8a00822
+20407b32
+da200822
+da400842
+d8a00822
+20407b32
+d8c00702
+d8a007e2
+20407c98
+da200722
+d8a00842
+20407b2e
+da2007e2
+20407b35
+da2007e2
+20407b35
+da2007e2
+da400842
+d8a007e2
+20407a96
+da200842
+d8a00802
+20407b2e
+da200802
+20407b35
+da200802
+20407b35
+da200802
+20407b35
+d8c00722
+d8a00842
+20407c98
+da200842
+20407b35
+da200842
+da400742
+d8a00742
+20407a96
+da200822
+d8a00842
+20407b2e
+da200842
+da4007e2
+d8a00842
+20407b4b
+da200842
+da4007e2
+d8a00702
+20407b4b
+da2007e2
+da400702
+d8a00842
+20407b4b
+da200842
+da400822
+d8a00842
+20407a96
+da200842
+da400802
+d8a00722
+20207b4b
+da200682
+d8a00862
+20407b2e
+da200702
+da400862
+d8a00802
+20407a96
+da200682
+da400862
+d8a00862
+20407a96
+da200722
+da400862
+d8a007e2
+20407a96
+da200742
+d8a00862
+20407b2e
+da200642
+da400862
+d8a00822
+20407a96
+da200742
+da400862
+d8a00862
+20407a96
+da200662
+da400862
+d8a00842
+20407a96
+da400802
+da200822
+d8a00862
+20407b4b
+da200802
+da400822
+d8a00802
+20407b32
+da4007e2
+da200842
+d8a00822
+20407b4b
+da2007e2
+da400842
+d8a007e2
+20407b32
+da2007e2
+da400862
+d8a007e2
+20407a96
+da200742
+da400682
+d8a00842
+20407a96
+da200842
+da400862
+d8a00742
+20407a96
+da200862
+d8a00862
+20407b2e
+da200862
+da400802
+d8a00842
+20407a96
+da200862
+da4007e2
+d8a007e2
+20407a96
+da200822
+d8a00702
+20407b2e
+da200702
+da400842
+d8a00702
+20407b4b
+d8c00702
+d8a00862
+20407c98
+da200862
+20407b35
+da200842
+da400862
+d8a00842
+20407b4b
+da200842
+da400822
+d8a00822
+20407a96
+da200822
+da4007e2
+d8a00722
+20407b4b
+da200722
+da40091a
+d8a00722
+18002600
+6fe20722
+2feffe00
+2040fb30
+1a626000
+da200722
+20407b60
+6fe20741
+2e0ffe00
+7920fe07
+67e20741
+20600000
+18a21600
+d8a00802
+20407cab
+18007e00
+67e80822
+70080201
+d8a00782
+20407cad
+d8c0091a
+d8a007c2
+20407c98
+1a220c00
+d8a007e2
+20407c98
+d8c007e2
+20407b6a
+203a7a8f
+da2007e2
+da400802
+20407b6d
+da2007c2
+da400782
+20407b6d
+da2007e2
+da4007c2
+20407b66
+20217a81
+da2007c2
+da4007e2
+1a220a00
+20407b5e
+da200802
+da400782
+1a420a00
+20407b30
+efe20011
+9a60a600
+efe20012
+9a60fe00
+e7e20012
+20207a66
+da2007e2
+da4007c2
+1a220a00
+20407b5e
+da200782
+da400802
+1a420a00
+20407b30
+efe20011
+9a60a600
+efe20012
+9a60fe00
+e7e20012
+20207a66
+da200782
+19620a00
+20407abf
+da20091a
+19622400
+19620a00
+20207b4b
+18a21600
+18007000
+d8a00782
+20407cad
+d8a00ace
+20407cad
+1a220c00
+700ace00
+58000000
+20407b28
+1a420c00
+20407b2c
+18000e00
+d8a00782
+d8400ace
+18e22400
+1a4bfe00
+9840a400
+18000400
+18002600
+efe80005
+98002200
+efe80012
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e7e80005
+1fef0400
+1a60a601
+2a61fe08
+2420faaa
+18427e00
+e7e80005
+18a08be0
+18e08e01
+28e1fe08
+2420faa4
+da200782
+19620a00
+20207abf
+474e4033
+18a21600
+1a226000
+da4007c2
+1a420a00
+20407ca8
+e7f00005
+1a208c2c
+20407c94
+20407c90
+1a422200
+20407b35
+da4007c2
+1e022200
+19620a00
+20407b32
+da4007c2
+1a420a00
+20407ca8
+e7f00005
+1e008c30
+20407c9a
+20407ca8
+1a422200
+20407b35
+da4007c2
+19622200
+1a220a00
+20407b32
+da4007c2
+1a420a00
+1e008c20
+20407c90
+20407ca8
+e7f00005
+1e008c38
+20407c94
+19622200
+1a220a00
+20407b32
+da4007c2
+1a420a00
+1e008c24
+20407c90
+1e008c34
+20407c90
+1e008c34
+20407c91
+1e008c20
+20407c91
+19622200
+1a220a00
+20407b32
+da4007c2
+1a420a00
+1e008c2c
+20407c90
+20407ca8
+e7f00005
+1e008c20
+20407c91
+1e008c28
+20407c91
+19622200
+1a220a00
+20407b4b
+da4007c2
+1a420a00
+1e008c30
+20407c94
+20407c94
+18007e00
+e7f00005
+1e008c24
+20407c91
+1e008c2c
+20407c91
+19622200
+1a220a00
+20407b4b
+da4007c2
+1a420a00
+1e008c34
+20407c90
+1e008c20
+20407c90
+20407ca8
+1e008c30
+20407c91
+19622200
+1a220a00
+20407b4b
+da4007c2
+1a420a00
+1e008c38
+20407c94
+20407ca8
+1e008c24
+20407c90
+20407ca8
+1e008c34
+20407c91
+19622200
+1a220a00
+20207b4b
+18007220
+d8a00ace
+98a08a00
+20207cdc
+18007208
+20207636
+1a222400
+20207a96
+18007208
+202075c7
+20407b30
+18a22200
+20207b36
+20407b63
+2a6ffe00
+2020fb3f
+da40091a
+1a222600
+1a20a3e0
+20407b66
+24610000
+1a622200
+20207b47
+20407b47
+1a222600
+1a20a3e0
+da40091a
+20407b66
+24610000
+1a622200
+20207b47
+1a20a3e0
+da40091a
+1a220a00
+20207b5e
+20407b5e
+2020fb55
+18a0a3e0
+da40091a
+20407b66
+24610000
+da40091a
+18a0a3e0
+1a220a00
+20207b5e
+18a0a3e0
+da40091a
+1a220a00
+20407b30
+20608000
+18a0a3e0
+da40091a
+1a220a00
+20207b30
+18007208
+202075d5
+18007208
+1a20a21c
+202075e4
+18007208
+18002600
+202075f2
+18007208
+1a20a21c
+1a40a41c
+202075bc
+eff00006
+247a0000
+202075aa
+1a226000
+1e022200
+efe20011
+2feffe00
+20608000
+20407b60
+efe20012
+2fec0000
+2020fb7d
+da20091a
+1a420a00
+20407b30
+efe20012
+9a60fe00
+e7e20012
+1a40a5e0
+1a40a220
+18007209
+204075e4
+20207b6e
+20404c20
+20758000
+20207b9a
+20207b89
+58001000
+1ff07e00
+9a40a400
+20600000
+474ec033
+da200000
+6848464a
+1c422400
+1a427e00
+98467c00
+24417b85
+1a427e00
+184084a0
+184084a0
+98467c00
+24217b9d
+1a20a201
+1a217e0f
+243a7b90
+da200000
+20407ba4
+1c427e00
+67e8464a
+20600000
+474f4033
+1a227e00
+207a0000
+18408560
+18408560
+793f841c
+6048464a
+20204cf8
+70463801
+6fe24639
+243a7ba6
+20600000
+70463800
+20600000
+474fc033
+20407ba5
+1a227e00
+67e80a8d
+da20463a
+20407d90
+6fe80a8d
+1fe22200
+20207ba9
+47504034
+20407ba5
+1a227e00
+67e80a8d
+da204642
+20407d90
+6fe80a8d
+1fe22200
+20207ba9
+58000000
+67f04642
+67f0463a
+20600000
+4750c034
+6fe241cf
+247a0000
+da204642
+20407da8
+207a0000
+700a8c00
+20407bcc
+6fe20a8c
+203a7bc1
+20600000
+20407ba5
+da204642
+20407d9c
+1fe20400
+20407ba9
+47514034
+18427e00
+207a0000
+c000fbff
+c0017c04
+c001fc0a
+c003fc0f
+c0047c10
+c004fc11
+c005fc14
+c0067c15
+c006fc16
+c0077c1c
+c007fc21
+c0087c27
+c00b7c31
+c00bfc34
+c00c7c36
+c00cfc39
+c00dfc3d
+c00f7c47
+67e20a95
+4751c034
+2040669e
+243a7bfd
+6fe20a95
+c584fbf8
+c0027c0c
+c002d0fd
+c003510c
+c0057c12
+c008fc2c
+c0097c30
+c00efc3e
+c00fe7fd
+c01067fd
+c010fc49
+c012e7fd
+20600000
+67e20a95
+2040424e
+2022fbfd
+20404256
+24628000
+700a8c01
+20207bb4
+6fe44652
+79207e06
+67e44652
+70409303
+20600000
+70465000
+70409300
+6fe44652
+793ffe06
+67e44652
+20600000
+7041cf05
+20600000
+70007c07
+7004c613
+20600000
+20600000
+20600000
+20600000
+7004d002
+202050f0
+20600000
+20600000
+70434001
+70445600
+6fe44652
+79207e0b
+67e44652
+20600000
+6fe44652
+793ffe0b
+67e44652
+70434000
+20600000
+70434001
+70445601
+6fe44652
+79207e0b
+67e44652
+20600000
+6fe44652
+793ffe0b
+67e44652
+70434000
+20600000
+58000014
+67e40469
+67e4448c
+20206073
+20205e9f
+70433b01
+7041cf1b
+20600000
+70433b01
+20600000
+70433b00
+7041cf00
+20600000
+6fe441ec
+20407d77
+20407bbd
+20204afe
+20205ee2
+70007c34
+79200003
+24748000
+70452d00
+70007c13
+6fe2016b
+793ffe02
+67e2016b
+20600000
+18000e03
+20207ce2
+204066da
+70007d41
+2020637f
+1f267c00
+20628000
+1fe37e00
+c2007c4e
+20600000
+18007e01
+1f267c00
+20628000
+1fe3fe00
+c2007c54
+20600000
+18a27e00
+67e40ab7
+60500a9e
+19627e00
+67e80aa6
+20407c60
+18c27e00
+67e40ab5
+20600000
+1a227e00
+67e80aaa
+1a427e00
+67e80aae
+1a627e00
+67e60ab2
+20600000
+68500a9e
+6fe80aa6
+98001600
+20407c70
+6fe40ab7
+98000a00
+6fe40ab5
+98000c00
+20600000
+6fe80aaa
+98002200
+6fe80aae
+98002400
+6fe60ab2
+98002600
+20600000
+6fe40ab7
+1fe20a00
+20600000
+6fe40ab5
+1fe20c00
+20600000
+18a27e00
+67e40ab7
+20600000
+18c27e00
+67e40ab5
+20600000
+18a27e00
+67e40a93
+18c27e00
+67e40a91
+20600000
+6fe40a93
+1fe20a00
+6fe40a91
+1fe20c00
+20600000
+20407c98
+20407c98
+20207c98
+20407c94
+efe80006
+e7e80005
+20600000
+eff00006
+e7f00005
+20600000
+20407c9a
+20407c94
+20407c94
+20407c94
+20207c94
+df20000a
+20002ee0
+c2007c9d
+20600000
+18007203
+18007e00
+e7f00005
+c2007ca2
+20600000
+18007e00
+e7f00005
+20600000
+18007e00
+e7e80005
+20600000
+18007204
+20207ca1
+18007208
+20207ca1
+1f227e00
+207a0000
+58000000
+e7e20005
+c2007cb2
+20600000
+df200020
+d8a00abe
+20207caf
+efe80013
+e8480011
+9842fe00
+e7e80005
+1a20a204
+1a60a604
+c2007cb8
+20600000
+47524034
+1f227e00
+1fe67c01
+20610000
+9a20a400
+1a40a5ff
+1f237200
+e8420011
+efe20012
+e7e20011
+e0420012
+1a40a5ff
+1a20a201
+c2007cc7
+20600000
+1f227e00
+207a0000
+1f20f3f8
+20417c94
+20628000
+20217cd1
+1f20f208
+1f20f3fc
+20417c91
+20628000
+20217cd6
+1f20f204
+20207cdc
+1f227e00
+207a0000
+efe20006
+e7e20005
+c2007cde
+20600000
+58000000
+1c430400
+60484094
+d8a0419e
+98000400
+18e3fe00
+98a08a00
+e0440005
+4752c034
+20600000
+d9600800
+19701600
+9960fe00
+20600000
+d8e00000
+47534034
+68484094
+1c437e00
+67e84094
+98467c00
+24417cec
+98461600
+19620400
+d8c0419e
+18c20a00
+df200010
+efe40006
+98467e00
+20217d00
+18007e00
+e7e40005
+c2007cfc
+d8c0419e
+18e3fe00
+98c08c00
+efe40006
+20600000
+98408400
+18427200
+58000ea6
+9f267e00
+20610000
+1fe67e00
+18510400
+18408401
+18500400
+98418400
+20600000
+20407d14
+20207d1e
+78547c00
+98467e00
+20217d19
+78347c00
+1fe67e00
+c4078000
+d85f0ea6
+9840fe00
+793ffe40
+20600000
+98000c00
+1ff17e00
+d8400ea6
+984ffe00
+98c0fe00
+20600000
+1fed7e00
+1ff27e00
+68464170
+9846fc00
+20407d61
+18078400
+20600000
+d8400ea6
+9846fc00
+20407d61
+1807fe00
+1ff07e00
+18070400
+98418400
+20600000
+d8400000
+18422600
+efe20003
+20407d3f
+1a620400
+20407d70
+da40000a
+9a4ffe00
+9840fe00
+1fe20400
+c2007d34
+20600000
+d840003a
+98467c00
+24217d48
+d8400061
+98467c00
+20217d4b
+d8400037
+98467e00
+20600000
+d8400030
+98467e00
+20600000
+d8400057
+98467e00
+20600000
+18426000
+580001ff
+18002400
+1fe92200
+1a232200
+9a22a200
+2a2ffe00
+7920fe09
+18430400
+2feffe00
+79208407
+1fe37e00
+1a40a401
+2a400e00
+2420fd51
+e0420005
+c2007d51
+1e020400
+20600000
+207a8000
+20207d61
+efe20011
+e8420012
+98467c00
+24628000
+1a20a201
+1a40a401
+c2007d63
+18007c00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+9840fe00
+98460400
+98467e00
+20600000
+df200200
+d8a04000
+20207ca1
+207a0000
+1fe27a00
+70820301
+20600000
+67e48205
+6fe28203
+79207e04
+67e28203
+20600000
+67e48207
+6fe28203
+79207e06
+67e28203
+20600000
+67e48205
+70820330
+20600000
+6fe28043
+79207e04
+67e28043
+20600000
+6fe28043
+793ffe04
+67e28043
+20600000
+4753c034
+e8500011
+18417eff
+243a7d96
+184cfe00
+e7f00011
+1a20a207
+efe20011
+243a4a8b
+6fe20a95
+e7e20011
+20600000
+47544035
+df200008
+eff00011
+207a0000
+efe20011
+243a7da5
+1a20a201
+c2007da0
+20204a8b
+d8400000
+e0420011
+20600000
+eff00011
+20600000
+efe20011
+20600000
+efe40011
+20600000
+d8400000
+6fe20006
+c2007daf
+18408401
+c2007daf
+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
+efe20006
+18c08dfe
+e7e20005
+c2007dd1
+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
+0000f1b1
Index: shoubing/output/sched.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/sched.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/output/sched.rom	(working copy)
@@ -0,0 +1,612 @@
+mem_patch00:
+2a	#mem_patch00
+00	#mem_patch01
+00	#mem_patch02
+00	#mem_patch03
+00	#mem_patch04
+40	#mem_patch05
+00	#mem_patch06
+20	#mem_patch07
+00	#mem_patch08
+00	#mem_patch09
+00	#mem_patch0a
+e0	#mem_patch0b
+01	#mem_patch0c
+00	#mem_patch0d
+01	#mem_patch0e
+02	#mem_patch0f
+20	#mem_patch10
+02	#mem_patch11
+10	#mem_patch12
+00	#mem_patch13
+0c	#mem_patch14
+12	#mem_patch15
+00	#mem_patch16
+59	#mem_patch17
+00	#mem_patch18
+01	#mem_patch19
+00	#mem_patch1a
+08	#mem_patch1b
+00	#mem_patch1c
+00	#mem_patch1d
+00	#mem_patch1e
+00	#mem_patch1f
+68	#mem_patch20
+00	#mem_patch21
+08	#mem_patch22
+80	#mem_patch23
+02	#mem_patch24
+00	#mem_patch25
+01	#mem_patch26
+f4	#mem_patch27
+02	#mem_patch28
+00	#mem_patch29
+00	#mem_patch2a
+00	#mem_patch2b
+00	#mem_patch2c
+00	#mem_patch2d
+00	#mem_patch2e
+00	#mem_patch2f
+00	#mem_patch30
+00	#mem_patch31
+00	#mem_patch32
+02	#mem_patch33
+08	#mem_patch34
+00	#mem_patch35
+00	#mem_patch36
+00	#mem_patch37
+00	#mem_patch38
+00	#mem_patch39
+00	#mem_patch3a
+00	#mem_patch3b
+00	#mem_patch3c
+00	#mem_patch3d
+00	#mem_patch3e
+00	#mem_patch3f
+mem_24g_mode:01#tx
+mem_24g_data_type:02        #mouse 1,kb 2
+mem_24g_max_retry:4#max tx retry
+mem_24g_no_ack:00#with ack
+mem_24g_rx_window:c0 12     #400us 
+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:00 48 5d 00 00 00 00 00#10 min
+mem_24g_enter_hibernate_max:ff ff ff ff
+
+
+
+
+mem_module_le_lpm_mult:05
+
+
+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_pairing_handle:31 00
+
+
+
+mem_le_local_mtu:17
+mem_le_remote_mtu:17
+
+mem_le_secure_connect_enable:00
+mem_le_adv_channel_map:07
+mem_le_pairing_mode:00
+
+mem_le_adv_enable:00
+mem_le_adv_interval:40 00
+
+mem_le_lap:21 22 01 33 02 3a
+mem_le_name_len:
+'BT4.2 Keyboard
+
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 05
+03 19 c1 03
+03 03 12 18
+'\09BT4.2 Keyboard
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+'\09BT4.2 Keyboard
+
+
+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: 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 
+1d 42 54 34 2e 32 20 4b 65 79 62 6f 61 72 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20#'BT4.2 Keyboard
+
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 c1 03 
+#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
+#Manufacturer Name
+0d 00 02 03 28 01 02
+0e 00 02 29 2a 06 59 69 43 68 69 70			#IOS 13.5.1
+#Characteristic: pnp id
+0f 00 02 03 28 01 02
+10 00 02 50 2a 07 02 e8 04 21 70 01 00		# SAMSUNG soft keyboard,setup shortcuts
+
+#Primary service: HID
+11 00 02 00 28 02 12 18
+#Characteristic:Protocol mode
+12 00 02 03 28 01 06
+13 00 02 4e 2a 01 01
+#Characteristic: hid report
+14 00 02 03 28 01 12   
+15 00 02 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+16 00 02 02 29 02 00 00	
+17 00 02 08 29 02 01 01	#Report ID: 1	Report Type: Input
+
+#Characteristic:hid report
+18 00 02 03 28 01 12  
+19 00 02 4d 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  # d 14
+1a 00 02 02 29 02 00 00
+1b 00 02 08 29 02 07 01	#Report ID: 7	Report Type: Input 娓告垙閿洏
+
+#Characteristic:hid report
+1c 00 02 03 28 01 12   
+1d 00 02 4d 2a 02 00 00 	#hid report	led handle write
+1e 00 02 02 29 02 00 00	
+1f 00 02 08 29 02 02 01	#Report ID: 2	Report Type: Input
+
+#Characteristic:hid report
+20 00 02 03 28 01 0e   
+21 00 02 4d 2a 02 00	00	#hid report	led handle write
+22 00 02 02 29 02 00 00	
+23 00 02 08 29 02 01 02	#Report ID: 1	Report Type: Output
+
+#Characteristic:Report map
+24 00 02 03 28 01 0a
+25 00 02 4b 2a 83		#length 66+25+60=160=0xa0 #0xa0 -0x45 +0x19=0x74
+#66+25+25=116=0x74
+
+# hid descriptor
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8501 # Report ID(1)
+7501 # Report Size(1)
+9508 # Report Count(8)
+0507 # Usage Page(Keyboard/Keypad)
+19e0 # Usage Minimum(224)
+29e7 # Usage Maximum(231)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+8102 # Input(Data Variable Absolute) ; Modifier byte
+9501 # Report Count(1)
+7508 # Report Size(8)
+8103 # Input(Constant Variable Absolute) ; 
+9505 # Report Count(5)
+7501 # Report Size(1)
+0508 # Usage Page(LEDs)
+1901 # Usage Minimum(1)
+2905 # Usage Maximum(5)
+9102 # Output(Data Variable Absolute) ; LED report
+9501 # Report Count(1)
+7503 # Report Size(3)
+9103 # Output(Constant Variable Absolute) ; 
+9506 # Report Count(6)
+7508 # Report Size(8)
+1500 # Logical Minimum(0)
+25ff # Logical Maximum(255)
+0507 # Usage Page(Keyboard/Keypad)
+1900 # Usage Minimum(0)
+29ff # Usage Maximum(255)
+8100 # Input(Data Array) ; Key arrarys 6 bytes
+c0 # End Collection
+
+
+05 0c #Usage Page (Consumer)
+09 01 #Usage (Consumer Control)	09 01
+a1 01 #Collection (Application)	A1 01
+85 02#    Report Id (2)	85 02			
+19 00 #    Usage Minimum (Unassigned)	19 00
+2a ff 03 #    Usage Maximum (Reserved (0x03FF))	2A FF 03
+15 00 #    Logical minimum (0)	15 00
+26 ff 03 #    Logical maximum (1'023)	26 FF 03
+95 01 #    Report Count (1)	95 01
+75 10 #    Report Size (16)	75 10
+81 00 #    Input (Data,Array,Absolute,Bit Field)	81 00
+c0 #End Collection	C0 
+
+#鑷畾涔
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8507# Report ID(7)    
+0507# Usage Page(Keyboard/Keypad)
+19e0 #    Usage Minimum (Keyboard Left Control)	19 E0
+29e7 #    Usage Maximum (Keyboard Right GUI)	29 E7
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+7501 #    Report Size (1)	75 01
+9508 # Report Count(8)
+8100 #     Input (Data,Array,Absolute,Bit Field)	81 00
+9598 #    Report Count (152)	95 98
+7501 # Report Size(1)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+0507 # Usage Page(Keyboard/Keypad)
+1900 #     Usage Minimum (No event indicated)	19 00
+2998 #     Usage Maximum (Reserved (0x0098))	29 98
+8102 # Input(Data Variable Absolute) ; Modifier byte
+c0 # End Collection
+
+#Characteristic:Hid information
+26 00 02 03 28 01 02
+27 00 02 4a 2a 04 11 01 00 01        
+#Characteristic
+28 00 02 03 28 01 04
+29 00 02 4c 2a 01 00
+
+#Primary Service: BAS
+2a 00 02 00 28 02 0f 18 
+#Characteristic: Battery Level
+2b 00 02 03 28 01 12 
+2c 00 02 19 2a 01 64 
+#Client Characteristic Configuration
+2d 00 02 02 29 02 00 00 
+#End of Attribute list
+00 00
+
+
+
+
+
+
+mem_app_connection_options:17
+
+###3.0###
+mem_scan_mode:00
+mem_module_spp_lpm_mult:28
+
+##############passkey CONFIG##############
+mem_sp_iocap_local:02 00 04
+mem_ssp_enable:01
+mem_ssp_mode_flag:02
+#####################################
+
+mem_ui_profile_supported:01
+
+mem_lap:1c  66 a4 d8 17 e4
+mem_local_name_length:
+'BT3.0 Keyboard
+
+###3.0 sinff param###
+mem_sniff_param_interval:0e 00
+mem_sniff_param_attempt:01
+mem_sniff_param_timeout:01
+mem_unsniff2sniff_timer:0a
+
+mem_class: 40 25 00
+
+mem_device_option:43
+mem_ptt:0
+mem_features:
+ff
+ff
+8f
+f8	#fe--EDR  F8--BR
+83	#AFHclose 83
+9d
+59
+82
+
+
+
+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:mem_module_uuid_list
+
+mem_module_uuid_list:
+#uuids
+04 0011 0100 1002 1124
+
+#handle
+00010000
+
+#total length
+36019a #01b6+19-43-2=1cf-43-2=18c-2=18a
+
+#attribute start, first 4 digit is attribute ID
+090000 0a 00010000
+090001 3503 191124
+090004 350d 3506 190100 090011 3503 190011
+090005 3503 191002
+090006 3509 09656e 09006a 090100
+090009 3508 3506 191124 090100
+09000d 350f 350d 3506 190100 090013 3503 190011
+
+#Service Name
+#090100 2517
+#'Apple Wireless Keyboard
+#41 70 70 6c 65 20 57 69 72 65 6c 65 73 73 20 4b 65 79 62 6f 61 72 64
+#Service Name
+090100 253d
+#'Broadcom Bluetooth Wireless  Keyboard                        
+4272 6f61 6463 6f6d 2042 6c75 6574 6f6f 7468 2057 6972 656c 6573 7320 204b 6579 626f 6172 6420 
+2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 20
+
+#Service Description
+090101 2508
+#'Keyboard
+4b6579626f617264
+
+#Provider Name
+#090102 250a
+#'Apple Inc.
+#41 70 70 6c 65 20 49 6e 63 2e
+#Provider Name
+090102 2510
+#'Broadcom Corp.  
+4272 6f61 6463 6f6d 2043 6f72 702e 2020
+
+090200 090100
+090201 090111
+090202 0840
+090203 0821
+090204 2801
+090205 2801
+090206 3589 3587 0822 2583  #9f+19-43-2 = 73
+
+# hid descriptor
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8501 # Report ID(1)
+7501 # Report Size(1)
+9508 # Report Count(8)
+0507 # Usage Page(Keyboard/Keypad)
+19e0 # Usage Minimum(224)
+29e7 # Usage Maximum(231)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+8102 # Input(Data Variable Absolute) ; Modifier byte
+9501 # Report Count(1)
+7508 # Report Size(8)
+8103 # Input(Constant Variable Absolute) ; 
+9505 # Report Count(5)
+7501 # Report Size(1)
+0508 # Usage Page(LEDs)
+1901 # Usage Minimum(1)
+2905 # Usage Maximum(5)
+9102 # Output(Data Variable Absolute) ; LED report
+9501 # Report Count(1)
+7503 # Report Size(3)
+9103 # Output(Constant Variable Absolute) ; 
+9506 # Report Count(6)
+7508 # Report Size(8)
+1500 # Logical Minimum(0)
+25ff # Logical Maximum(255)
+0507 # Usage Page(Keyboard/Keypad)
+1900 # Usage Minimum(0)
+29ff # Usage Maximum(255)
+8100 # Input(Data Array) ; Key arrarys 6 bytes
+c0 # End Collection
+
+
+05 0c #Usage Page (Consumer)
+09 01 #Usage (Consumer Control)	09 01
+a1 01 #Collection (Application)	A1 01
+85 02#    Report Id (2)	85 02			
+19 00 #    Usage Minimum (Unassigned)	19 00
+2a ff 03 #    Usage Maximum (Reserved (0x03FF))	2A FF 03
+15 00 #    Logical minimum (0)	15 00
+26 ff 03 #    Logical maximum (1'023)	26 FF 03
+95 01 #    Report Count (1)	95 01
+75 10 #    Report Size (16)	75 10
+81 00 #    Input (Data,Array,Absolute,Bit Field)	81 00
+c0 #End Collection	C0 
+
+#脳??篓貌?
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8507# Report ID(7)    
+0507# Usage Page(Keyboard/Keypad)
+19e0 #    Usage Minimum (Keyboard Left Control)	19 E0
+29e7 #    Usage Maximum (Keyboard Right GUI)	29 E7
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+7501 #    Report Size (1)	75 01
+9508 # Report Count(8)
+8100 #     Input (Data,Array,Absolute,Bit Field)	81 00
+95a8 #    Report Count (168)	95 A8
+7501 # Report Size(1)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+0507 # Usage Page(Keyboard/Keypad)
+1900 #     Usage Minimum (No event indicated)	19 00
+29a8 #     Usage Maximum (Reserved (0x00A8))	29 A8
+8102 # Input(Data Variable Absolute) ; Modifier byte
+c0 # End Collection
+
+
+090207 3508 3506 090409 090100
+09020b 090100
+09020c 090c80
+09020d 2800
+09020e 2801
+09020f 090318
+090210 0900       00
+#attribute end
+
+#uuids for pnpInformation	
+03 1002 1200 0001
+
+#handle
+00010001
+
+#total length 90 bytes
+3600a1
+
+#attribute list
+090000 0a00010001
+090001 3503 191200
+090004 350d 3506 190100 090001 3503 190001
+090006 3509 09656e 09006a 090100
+090009 3508 3506 191200 090100
+090100 252f42726f6164636f6d20426c7565746f6f746820576972656c657373204b6579626f61726420506e5020536572766572
+090101 25084b6579626f617264
+090200 090103
+090201# VendorID
+0904e8
+090202#ProductID
+097021
+090203 090001
+090204 2801
+090205 090002
+
+#attribute end
+00
+
+#Auto reconnection after power on
+
+
+
+mem_device_option:0a
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:05
+#####################################
+
+
+
+
+################IPC BUFFER INIT#####################
+4FF0:00 1C
+4FF2:FF 1F
+4FF4:00 1C
+4FF6:00 1C
+4FF8:80 4C
+4FFA:E0 4F
+4FFC:80 4C
+4FFE:80 4C
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:20 0b
+mem_module_state:03
+mem_module_bluetooth_stauts_by_command:07
+
+mem_module_flag:00
+#bit0 MODULE_FLAG_UART_FLOW_CONTROL
+#bit1 MODULE_FLAG_BLE_SEND_MTU23
+#bit2 MODULE_FLAG_BLE_DATA_ENCRYPT
+mem_lpm_mode:00
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+mem_sniff_param_interval:0e 00
+
+###ble###
+
+#####################################
+
+#mem_m_access_code:0A 97 B3 EE 62 96 0E E6 54
+
+mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
+
+mem_m_access_code:70 39 eb 2e 66 e9 60 4e
+
+mem_hci_plap:
+59 3a 98 e9 b6 98 
+#98 b6 e9 98 3a 59
+
+mem_m_wake_data:
+05 2e 67 dd 
+#2e eb 39 70
+
+#mem_m_access_code:8f c6 14 d1 66 e9 60 4e 
+#d114c68f 4e60e966
+
+mem_test_ptr:mem_test
+
+mem_link_key:
+F0 C0 93 E2 91 FA 78 23 D0 48 17 4C 5D 13 EB 23 
+mem_tx_power:02
+
+mem_lpm_config:0f 84 f0
+mem_lpm_xtalcnt:0a 0b b2 32
+mem_lpm_hibernate_switch:8b
+mem_lpm_doze_switch:0b
+mem_gpio_wakeup:00 00 00 00 00 00 00 00
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:40 00
+mem_iscan_interval:00 02
+mem_pscan_window:32 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 10
+
+
+
+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:
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+07 ff
+ff
+mem_rf_init_ptr:mem_rf_init
+
+
+
Index: shoubing/patch/patch.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/patch/patch.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/patch/patch.prog	(working copy)
@@ -0,0 +1,2662 @@
+
+/*
+// mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
+
+nop 100
+call ice_break
+setarg 0x758233
+store 3,mem_m_access_code
+istore 2,contw
+istore 3,contw
+
+call p_m_access_code_generate
+call ice_break
+*/
+
+define TX_POWER_MAX
+
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+
+p_start:
+	bbit1 8,pf_patch_ext
+	//LPM exen bugfix
+	beq patch00_1,p_soft_reset
+	beq patch00_3,p_main_loop
+
+	beq patch00_5,p_connection_incontext
+	beq patch05_6,p_context_search
+	
+	beq patch0b_7,p_process_dmh_data_end1
+	beq patch0c_0,p_process_dmh_data_end
+	beq patch0b_5,p_process_dmh_data_l2cap_start_pkt
+	beq patch0b_6,p_process_dmh_data_l2cap_continue_pkt
+	beq patch0e_0,p_parse_l2cap
+	
+	beq patch0f_1,p_transmit_dmh
+	beq patch07_5,p_slave_loop
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	//LMP bugfix
+	beq patch12_4,p_ahead_window
+	beq patch14_2,p_init_param
+	//LMP bugfix	
+	beq patch14_3,p_lpm_adjust_clk
+	beq patch15_1,p_lpm_dispatch_next
+	beq patch15_4,p_lpm_unconn_nossp
+	
+//	beq patch16_1,p_lpm_check_wake_lock
+	beq patch17_0,p_module_init
+	beq patch17_3,p_module_hci_cmd_control
+	beq patch17_4,p_module_hci_cmd_transmit_le_notify
+	beq patch17_6,p_hid_rx_process
+	beq patch19_0,p_l2cap_proc_signal_connect_req
+	beq patch1b_3,p_l2cap_malloc
+	branch assert
+pf_patch_ext:
+	
+	beq patch20_3,p_le_receive_skip
+	beq patch20_5,p_le_transmit_receive_sifs
+	beq patch20_6,p_le_transmit
+	beq patch22_3,p_le_acknowledge
+	beq patch23_7,p_le_parse
+	beq patch24_1,p_le_parse_l2cap
+	beq patch26_0,p_le_modified_name
+	beq patch27_4,p_parse_lmp_accepted
+	beq patch27_2,p_parse_lmp
+	beq patch27_5,p_parse_lmp_not_accepted
+	beq patch27_7,p_send_lmp_accepted
+	beq patch27_6,p_send_lmp
+	beq patch28_1,p_ssp_disable
+	beq patch33_1,p_sp_initialize_256
+	beq patch34_3,p_check_51cmd_once_continue
+	branch assert
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+p_check_51cmd_once_continue1:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,p_check_51cmd_disconnect
+	branch check_51cmd_once_continue+3
+p_check_51cmd_disconnect:
+//	call ice_break
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+p_context_search:
+	arg mem_context_new,rega
+	arg context_num_new,loopcnt
+	branch context_search_loop
+
+p_connection_incontext:
+//	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch p_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
+p_connection_nosniff:
+	call p_context_get_next
+	branch connection_nosniff+1
+
+
+	
+p_context_get_next:
+	arg context_num_new,loopcnt
+	fetcht 1,mem_current_context
+p_context_get_next_loop:
+	increase 1,temp
+	compare context_num_new,temp,0xff
+	nbranch p_context_get_next_cont,true
+	arg 0,temp
+p_context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context_new,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,p_context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+p_context_get_next_sniff:
+	loop p_context_get_next_loop
+	rtn	
+
+
+p_parse_l2cap:
+	set0 mark_rxbuf_inuse,mark 
+p_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_new,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+
+
+p_process_dmh_data_l2cap_start_pkt:
+//	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x1e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit1 L2CAP_INUSE_BUFF2,end_of_packet
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,p_process_dmh_data_into_buff2
+	branch end_of_packet
+
+p_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_new,contw
+	branch process_dmh_data
+
+p_process_dmh_data_l2cap_continue_pkt:
+//	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x1e0,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,p_process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+
+p_process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2_new,contw
+	branch process_dmh_data_l2cap_continue_pkt2+1
+	
+p_process_dmh_data_end1:	
+//	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,error_payload_crc
+	branch process_dmh_data_end+5
+ 
+p_process_dmh_data_end:
+//	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,p_process_l2cap_pass_crc_buff1
+	beq 2,p_process_l2cap_pass_crc_buff2
+	branch assert
+	
+p_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
+
+
+	 
+p_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_new // l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+
+
+p_l2cap_malloc:
+//	bpatch patch1b_3,mem_patch1b
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full+1
+//	branch l2cap_malloc+3
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+	arg mem_tx_buff0_new,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+	branch l2cap_malloc_loop
+
+
+
+
+
+
+
+
+	
+p_transmit_dmh:
+	fetch 2,mem_txptr
+	beq 0x018c,transmit_noedr+1
+	branch transmit_dmh+1
+p_le_modified_name:
+	call le_modified_name_att_list
+	branch p_le_modified_name_adv
+
+p_le_modified_name_adv:
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn
+p_l2cap_proc_signal_connect_req:
+	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,p_l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,p_l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn	
+
+p_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
+	call send_connection_res	
+	jam BT_EVT_HID_INT_CONNECT,mem_fifo_temp
+	branch ui_ipc_send_event
+p_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
+	call send_connection_res	
+	jam BT_EVT_HID_INT_CONNECT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+p_module_init:
+	setarg p_module_process_bb_event
+	store 2,mem_cb_bb_event_process
+
+	setarg p_module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg p_module_process_idle
+	store 2,mem_cb_idle_process
+
+	setarg p_module_le_receive_data
+	store 2,mem_cb_att_write
+
+	setarg p_module_lpm_lock
+	store 2,mem_cb_check_wakelock
+
+	setarg p_module_bt_conn_process
+	store 2,mem_cb_bt_process
+
+	call p_keyboard_ble_init
+
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	//call p_check_otp_shaomaqiang_app
+//	arg mem_test,contr
+//	copy contr,pdata
+//	store 2,mem_test_ptr
+	branch module_hci_event_enter_standby_mode
+
+	
+p_module_process_idle:
+	call p_m_private_dispatch
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch p_module_process
+p_module_process:
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	branch module_process_with_credit,zero
+	call uartd_prepare_rx
+//	call ice_break
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	ifetch 1,contru
+	beq HCI_CMD_RESET_SDP_SERVICE,p_module_process_sdp
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	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
+
+p_module_process_sdp:
+	store 1,mem_module_uart_opcode
+	ifetcht 2,contru
+	copy contru,rega
+	storet 2,mem_module_uart_len_new
+	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 p_module_hci_dicard_packet //discard this packet	
+
+p_module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 2,contru
+	iadd contru,contru
+	branch module_hci_dicard_bytes
+	
+
+
+	
+p_module_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
+	beq BT_EVT_LINKKEY_GENERATE,classic_shutter_process_linkkey_generate
+/***************classic shutter event****************/
+
+/***************ble shutter event****************/
+	beq BT_EVT_LE_START_ENC,p_module_hci_event_start_enc
+	beq BT_EVT_LE_ENC_INFO,p_module_hci_event_enc_info
+
+/***************24g event***********************/
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_module_hci_event_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_module_hci_event_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_module_hci_event_24g_attempt_success
+
+	//
+	beq BT_EVT_ENTER_SNIFF,p_module_process_enter_sniff
+
+	beq BT_EVT_SNIFF_ACCEPT,p_module_process_sniff_report
+	beq BT_EVT_SNIFF_REPORT,p_module_process_sniff_report
+	beq BT_EVT_HID_INT_CONNECT,p_module_process_hid_int_connect
+
+	branch module_process_bb_event + 1
+
+
+
+p_module_process_sniff_report:
+	setarg 0x02
+	jam HCI_EVENT_HID_SNIFF_REPORT,mem_module_uart_opcode
+	call module_hci_prepare_tx
+	fetch 2,mem_tsniff
+	rshift pdata,pdata
+	
+	istore 2,contwu
+	branch uartd_send	
+
+	
+p_module_process_hid_int_connect:
+//call ice_break
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	setarg 0x02
+	jam HCI_EVENT_HID_INT_CONNECT,mem_module_uart_opcode
+	call module_hci_prepare_tx
+	fetcht 2,mem_hid_int_remote_cid
+	istoret 2,contwu
+	branch uartd_send
+
+p_module_process_enter_sniff:
+
+p_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
+p_module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+//	fethc 2,core_uart_rxitems    //*
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	ncall module_set_unsniff_task_flag,zero    //*加这两句话
+	branch app_bt_sniff_exit
+
+
+
+/*
+	锟斤拷模锟斤拷锟斤拷锟斤拷锟斤拷
+*/
+keyboard_start_bluetooth_discovery:
+	rtn
+
+keyboard_stop_bluetooth_discovery:
+	call app_bt_stop_discovery
+	branch app_ble_stop_adv
+
+
+p_module_bb_event_timer:
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+	rtn
+
+
+p_module_le_receive_data:
+	fetcht 2,mem_le_att_handle
+	sub temp,HANDLE_UUID_CHRCTR_REPORT_ID1_OUTPUT,null
+	branch p_moudle_le_receive_data_report_output,zero
+	rtn
+
+p_moudle_le_receive_data_report_output:
+	ifetcht 1,rega
+	setarg 0x01
+	store 1,mem_pdatatemp
+	istoret 1,contw
+	branch p_hid_rx_process_data_hid_kb
+
+p_module_lpm_lock:
+	branch module_lpm_lock
+
+p_module_bt_conn_process:
+	branch p_module_spp_enter_sniff
+
+p_module_spp_enter_sniff:
+	fetch 1,mem_btsniff
+	rtn blank
+	branch module_spp_enter_sniff+1
+
+p_module_hci_cmd_control:
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_BT_DISCONNECT,p_module_hci_cmd_bt_disconnect
+	beq HCI_CMD_SET_COD,p_module_hci_cmd_set_cod
+	beq HCI_CMD_SLEEP,p_module_hci_cmd_enter_sleep
+	beq HCI_CMD_SET_PAIRING_REQ,p_module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SEND_HID_DATA,p_module_hci_cmd_send_hid_data
+	beq HCI_CMD_SEND_HID_CONTROL_DATA,p_module_hci_cmd_send_hid_control_data
+
+	
+	beq HCI_CMD_SET_FEATURE,p_module_hci_cmd_reset_features
+	beq HCI_CMD_SET_SNIFF,p_module_set_bt_sniff
+	beq HCI_CMD_CREAT_BT_RECONNECT,p_moudle_hci_cmd_creat_bt_reconnect
+
+	beq HCI_CMD_START_24G,p_module_hci_cmd_start_24g
+	beq HCI_CMD_STOP_24G,p_module_hci_cmd_stop_24g
+	beq HCI_CMD_PAIR_24G,p_module_hci_cmd_pair_24g
+	beq HCI_CMD_DISCONNECTED_24G,p_module_hci_cmd_disconnected_24g
+	beq HCI_CMD_SEND_24G_DATA,p_module_hci_cmd_send_24g_data
+
+	beq HCI_CMD_RESET_SDP_SERVICE,p_module_hci_cmd_set_sdp_service
+
+
+	beq HCI_CMD_DELETE_CUSTOMIZE_SERVICE,module_hci_cmd_delete_customize_service
+	beq HCI_CMD_ADD_SERVICE_UUID,module_hci_cmd_add_service_uuid
+	beq HCI_CMD_ADD_CHARACTERISTIC_UUID,module_hci_cmd_add_characteristic_uuid
+	beq HCI_CMD_SWITCH_WAKEUP,module_hci_cmd_switch_wakeup
+	branch module_hci_cmd_control + 2
+	
+p_module_set_bt_sniff:
+
+	ifetch 1,contru
+	store 1,mem_btsniff
+	branch module_hci_event_receive_valid_cmd,blank
+	ifetch 2,contru
+	store 2,mem_sniff_param_interval
+	branch module_hci_event_receive_valid_cmd
+	
+//function : modify feature----mem_features
+p_module_hci_cmd_reset_features:		
+	ifetch 8,contru
+	store 8,mem_features
+	branch module_hci_event_receive_valid_cmd
+
+	
+module_hci_cmd_switch_wakeup:
+	ifetch 2,contru
+	
+	ifetch 6,contru 
+	store 6,mem_hci_plap
+
+	// 4 bytes wake data
+	ifetch 4,contru 
+	store 4,mem_m_wake_data
+	
+	ifetcht 4,contru
+	setarg -1
+	ixor temp,pdata
+	store 4,mem_m_access_code
+	
+	ifetch 4,contru
+	store 4,mem_m_access_code+4
+	
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	// set conn status
+//	jam 1,mem_conn_status
+
+	jam 1,mem_m_process_enable
+
+	// Unit is 625us. 60*625 = 37.5ms
+	setarg 60
+	store 2,mem_m_wake_send_window
+
+	call p_m_send_wake_data_timer_init
+	branch module_hci_event_receive_valid_cmd
+	
+
+module_hci_cmd_delete_customize_service:
+	arg 0x000c,temp
+	call le_att_get_handle_ptr2
+	add contr,-2,contw
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_add_service_uuid:
+	call module_hci_cmd_add_service_uuid_set_uuid
+	call uart_copy_rx_bytes_len_data
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_characteristic_uuid:
+	ifetch 1,contru	//Characteristic
+	call module_hci_cmd_add_characteristic_uuid_set_handle
+	call module_hci_cmd_add_characteristic_uuid_set_uuid
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_service_uuid_set_uuid:
+	call le_att_creat_new_handle
+	setarg 0x280002
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_handle:
+	store 1,mem_pdatatemp
+	call le_att_creat_new_handle
+	setarg 0x01280302
+	istore 4,contw
+	fetch 1,mem_pdatatemp
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_uuid:
+	call le_att_creat_new_handle
+	call uart_copy_rx_bytes_len_data		//uuid
+	call uart_copy_rx_bytes_len_data		//data
+	setarg 0
+	istore 2,contw
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	add contr,4,contr
+	ifetch 1,contr		//characteristic data
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	bbit1 BIT_CHARACTERISTIC_INDICATE,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	increase 1,temp
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+	call le_att_creat_new_handle
+	setarg 0x02290202
+	istore 8,contw
+	increase -1,temp
+	rtn
+
+
+uart_copy_rx_bytes_len_data:
+	ifetch 1,contru
+	copy pdata,loopcnt
+	istore 1,contw
+	branch uart_copy_rx_bytes
+
+
+le_att_creat_new_handle:
+	call le_att_get_last_handle
+	istoret 2,contw
+	rtn
+
+//output:temp:new handle num
+//contr:address write data
+le_att_get_last_handle:
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_last_handle_loop:
+	ifetch 2,contr
+	rtn blank
+	add pdata,1,temp
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length
+	iadd contr,contr
+	copy contr,contw
+	branch le_att_get_last_handle_loop
+
+
+//input:temp uuid number
+module_hci_event_uuid_handle:
+	storet 2,mem_temp
+	jam HCI_EVENT_UUID_HANDLE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	fetcht 2,mem_temp
+	istoret 2,contwu
+	branch uartd_send
+
+
+
+	
+
+p_module_hci_cmd_set_sdp_service:
+	fetch 2,mem_module_uart_len_new
+	copy pdata,loopcnt
+	arg mem_module_uuid_list,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+	
+
+
+p_module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	call app_bt_disconnect
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_HID_CONN
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+p_module_hci_cmd_set_cod:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_valid_cmd
+	ifetch 3,contru
+	store 3,mem_class
+	branch module_hci_event_receive_valid_cmd
+
+p_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,p_module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+p_module_hci_pairing_numeric_comparison:
+	setarg 0x000001
+	branch module_hci_sspairing_mode
+
+
+p_module_hci_cmd_enter_sleep:
+	call module_hci_event_receive_valid_cmd
+	branch app_enter_hibernate
+
+
+p_module_hci_cmd_send_hid_data:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_HID_CONN,bt_keyboard_send_hid_int_data
+
+	branch module_hci_event_receive_invalid_cmd
+
+
+
+
+bt_keyboard_send_hid_int_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+	
+p_module_hci_cmd_send_hid_control_data:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_HID_CONN,bt_keyboard_send_hid_control_data
+
+	branch module_hci_event_receive_invalid_cmd
+bt_keyboard_send_hid_control_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+
+
+	
+p_module_hci_cmd_transmit_le_notify:
+	add temp,-3,pdata		//sub handle and opcode
+	arg 200,temp	
+	call not_greater_than
+	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
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	branch p_module_hci_cmd_transmit_handle_error,blank
+	ifetcht 4,contr		//flag
+	setarg 0x01280302
+	isub temp,null
+	nbranch p_module_hci_cmd_transmit_handle_error,zero
+	ifetch 1,contr			//Characteristic
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_transmit_le_notify + 13
+	branch p_module_hci_cmd_transmit_handle_error
+
+p_module_hci_cmd_transmit_handle_error:
+	jam 0,mem_module_hci_notify_len
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_invalid_cmd
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,p_parse_lmp_accepted_hostconn//ok
+	branch parse_lmp_accepted+2
+
+p_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
+//	branch parse_lmp_accepted_hostconn_ctn
+
+//call ice_break
+	jam 3,mem_connection_options
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	jam 1,mem_link_key_exists
+	jam RECONNECT_HID,memui_reconnect_mode
+	rtn
+	
+
+
+p_parse_lmp:
+	fetch 1,mem_lmi_opcode2
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,p_parse_lmp_crypt_key
+	beq LMP_SNIFF_REQ, p_parse_lmp_sniff_req
+//	beq LMP_QUALITY_OF_SERVICE_REQ,parse_lmp_quality_of_service_req
+ 	branch parse_lmp + 21
+ 	
+/*	jam 0xfe,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	fetch 1,mem_lmi_opcode2
+	istore 1,contwu
+	fetch 1,mem_rxbuf+1
+	istore 1,contwu	
+	branch uartd_send 	
+	*/
+
+parse_lmp_quality_of_service_req: 
+ 	jam LMP_QUALITY_OF_SERVICE_REQ,mem_lmi_opcode2  
+ 	jam LMP_ACCEPTED,mem_lmo_opcode2  
+ 	rtn
+
+p_parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	sub temp,6,null
+	branch reject_lmp_packet_pdu_not_allowed,positive
+	branch parse_lmp_crypt_key + 1
+	
+reject_lmp_packet_pdu_not_allowed:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+p_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
+	branch parse_lmp_sniff_req+5
+
+
+p_parse_lmp_not_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_AU_RAND,p_parse_lmp_not_accepted_aurand//ok
+	branch parse_lmp_not_accepted+3
+
+p_parse_lmp_not_accepted_aurand:
+//	call ice_break
+	call parse_lmp_not_accepted_aurand
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_AUTH_WAIT
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x01
+	istore 1,contwu
+	branch uartd_send
+	
+//function : send lmp_accepted packet
+//		add sniff_request report
+p_send_lmp_accepted:
+	fetch 1,mem_lmi_opcode
+	beq LMP_SNIFF_REQ,p_send_lmp_accept_sniff_req
+	branch send_lmp_accepted+7
+	
+p_send_lmp_accept_sniff_req:
+	jam BT_EVT_SNIFF_REPORT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch sniff_init
+	
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+//	call ice_break
+	fetcht 2,mem_test_ptr
+	istore 1,temp
+	increase 1,temp
+	storet 2,mem_test_ptr
+	
+	
+	bbit1 7,p_send_lmp_escape
+	beq LMP_SNIFF_REQ, p_send_lmp_sniff_req
+	beq LMP_M_TEST_REQ,p_send_lmp_opcode_00
+	beq LMP_DETACH,p_send_lmp_detch
+	branch send_lmp0
+
+p_send_lmp_detch:
+
+		force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+p_prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+p_send_lmp_sniff_req:
+	fetch 1,mem_btsniff
+	branch p_clear_lpm_flag,blank
+	branch send_lmp_sniff_req
+p_clear_lpm_flag:
+	jam 0,mem_lmp_to_send
+	rtn
+
+	
+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_ssp_disable:
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0x1
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+
+p_sp_initialize_256:	
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+//	call le_secure_connection_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc_256
+
+
+eut_read_otp_data:
+	fetch 1,mem_module_state
+	set1 MODULE_READ_OTP_BIT,pdata
+	store 1,mem_module_state
+	
+	arg 0x00,addhi
+	arg 0x8973,contr
+	ifetch 1,contr
+	set1 6,pdata			//enable chgpump
+	arg 0x8973,contw
+	istore 1,contw
+	
+	arg 0x0f,addhi
+
+	arg 6, loopcnt              //len
+	arg 2,regb                     //addr
+	arg mem_read_otp_data,rega                   //data
+	
+	call eut_read_otp
+
+	//
+	arg 20, loopcnt
+	arg 0x12c,regb
+	arg mem_read_otp_data+6,rega
+	call eut_read_otp
+
+	arg 2, loopcnt
+	arg 0x1ffe,regb
+	arg mem_read_otp_data+26,rega
+	call eut_read_otp
+
+	call eut_otp_deselect
+
+	arg 0x00,addhi
+	arg 0x8973,contr
+	ifetch 1,contr
+	set0 6,pdata			//disable chgpump
+	arg 0x8973,contw
+	istore 1,contw
+	
+	arg 0x00,addhi
+
+	fetch 1,mem_module_state
+	set0 MODULE_READ_OTP_BIT,pdata
+	store 1,mem_module_state
+	rtn
+
+// rega pointers to buffer, regb is otp address, loopcnt is length
+eut_read_otp:
+	lshift3 regb,regb
+	call eut_otp_ce
+	call eut_otp_readen
+eut_read_otp_loop:
+	call eut_write_otpaddr
+	fetch 1,sec_otp_data
+	istore 1,rega
+	increase 8,regb
+	increase 1,rega
+	loop eut_read_otp_loop
+	rtn
+
+eut_otp_ce:
+	setarg 0x20c
+	call eut_write_otpctrl
+	setarg 0x208
+	call eut_write_otpctrl
+	setarg 0x200
+	call eut_write_otpctrl
+	setarg 0x208
+	branch eut_write_otpctrl
+
+eut_write_otpctrl:
+	arg sec_otp_ctrl,contw
+eut_write_word:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	istore 1,contw
+	rtn
+
+eut_otp_readen:
+	setarg 0x288
+	branch eut_write_otpctrl
+
+// regb is otp address
+eut_write_otpaddr:
+	deposit regb
+	arg sec_otp_addr,contw
+	branch eut_write_word
+
+eut_otp_deselect:
+	setarg 0x20c
+	branch eut_write_otpctrl
+
+p_otp_custom_encryption_data_add_loop:
+	arg 13,loopcnt
+	arg OTP_INIT_VAL,temp
+	arg mem_read_otp_data,contr
+p_otp_custom_add:	
+	ifetch 2,contr
+	iadd temp,pdata
+	copy pdata,temp
+	loop p_otp_custom_add
+	rtn
+
+p_otp_custom_encryption_data_xor_loop:
+	arg 13,loopcnt
+	arg mem_read_otp_data,contr
+p_otp_custom_xor:	
+	ifetch 2,contr
+	ixor temp,pdata
+	copy pdata,temp
+	loop p_otp_custom_xor
+	rtn
+
+p_otp_judge_set_flag:
+	jam 0,mem_en_24g_flag
+	arg 0xffff,temp
+	iand temp,pdata
+	arg mem_read_otp_data+26,contr
+	ifetcht 2,contr
+	isub temp,null
+	nrtn zero
+	jam 1,mem_en_24g_flag
+	rtn
+
+p_check_otp_shaomaqiang_app:
+	call eut_read_otp_data
+	call p_otp_custom_encryption_data_add_loop
+	call p_otp_custom_encryption_data_xor_loop
+	call p_otp_judge_set_flag
+	fetch 1,mem_en_24g_flag
+	compare 1,pdata,0xff
+	rtn true
+	branch assert
+
+
+p_m_private_dispatch:
+	fetch 1,mem_m_process_enable
+	rtn blank
+	branch p_m_send_wake_data_process
+	
+
+p_m_send_wake_data_init:
+	jam 1,mem_m_process_enable
+
+	// Unit is 625us. 60*625 = 37.5ms
+	setarg 60
+	store 2,mem_m_wake_send_window
+
+p_m_send_wake_data_timer_init:
+	// Unit is 625us. 160*625 = 100ms
+	setarg 160
+	force m_wake_timer,queue//change adv interval to diffault to iphone frame
+	branch timer_init
+
+
+p_m_send_wake_data_process:
+	force m_wake_timer,queue
+	call timer_check
+	nrtn blank
+
+	call fetch_page_bt_adr
+
+	// Calc the access code.	
+	call p_m_access_code_generate
+
+	call p_m_send_wake_data_timer_init
+p_m_send_wake_data_start:
+	fetcht 2,mem_m_wake_send_window
+	disable swfine
+	copy temp,stop_watch
+
+p_m_send_wake_data_restart:
+	branch p_m_wait_remote_signal_packet,timeout
+	// send wake data process.
+//fetch 2,0x4fe0
+//increase 1,pdata
+//store 2,0x4fe0
+
+	call set_sync_on
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_tx
+	call start_transmitter
+	call p_m_transmit_packet
+	call end_of_packet
+	// wait a while.
+	nop 5000
+	branch p_m_send_wake_data_restart
+	rtn
+
+
+
+p_m_lap_generate:
+	fetch 9,mem_m_access_code
+	// remove trailer
+//	rshift4 pdata,pdata
+	// remove 34bit bch
+	rshift32 pdata,pdata
+	rshift2 pdata,pdata
+	store 3,mem_tmp0
+	fetchr lap,3,mem_tmp0
+	rtn
+
+
+p_m_access_code_generate:
+	call p_m_lap_generate
+	fetch 9,mem_m_access_code
+	// remove trailer
+//	rshift4 pdata,pdata
+	fetcht 8,mem_m_p_sequence
+	ixor temp,pdata
+	// get the sync word p xor result.
+	// 6bit + 24bit + 34bit
+	// |fix| |lap| |bch|  
+	store 8,mem_tmp0
+	fetch 5,mem_tmp0
+	// use ulp mode.
+	enable le
+	iforce access
+	disable le
+	// lap and ulp will generate the access cod.
+	rtn
+
+
+
+p_m_transmit_packet_access_and_header:
+	call send_access_word
+	//call scan_mode_whiten
+p_m_transmit_packet_header:
+	//rshift bt_clk,temp
+	//or temp,0x40,white_init
+	//enable enable_white
+	disable enable_white
+	enable enable_hec
+	enable encode_fec1
+	fetch 2,mem_m_snd_op
+	inject mod,10
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	rtn
+
+
+p_m_transmit_packet:
+	setarg 0x078
+	store 2,mem_m_snd_op
+	call p_m_transmit_packet_access_and_header
+
+p_m_transmit_wake_packet_payload:
+	//enable encode_fec2
+	enable encode_fec0
+	disable encrypt
+	enable enable_crc
+
+	// send l2cap header. LLID:0x00, Flow:0x00, Length: 0x153, Reserve: 0x00
+	setarg 0x0A98
+	inject mod, 16
+
+	// Total: 80*4 = 320Bytes
+	arg 80,loopcnt
+p_m_transmit_wake_packet_payload_data_loop0:
+	fetch 4,mem_m_wake_data
+	inject mod,32
+	loop p_m_transmit_wake_packet_payload_data_loop0
+
+	// Total: 19Bytes
+	arg 19,loopcnt
+p_m_transmit_wake_packet_payload_data_loop1:
+	setarg 0x00
+	inject mod,8
+	loop p_m_transmit_wake_packet_payload_data_loop1
+
+p_m_transmit_wake_packet_payload_data_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	rtn
+
+
+p_m_wait_remote_signal_packet:
+	fetcht 2,mem_m_wake_send_window
+	disable swfine
+	copy temp,stop_watch
+
+
+	disable clknt
+	disable attempt
+	
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_rx
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nbranch end_of_packet,sync
+//	call rf_debug_active_sync_line,sync
+
+p_m_receive_packet_header:
+	disable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,10
+	rshift pwindow,pdata
+	store 2,mem_m_rcv_op
+	parse demod,bucket,8 
+	disable decode_fec1
+	disable enable_hec
+	
+p_m_receive_packet_payload:
+//	call rf_debug_active_crc_error_line,crc_failed
+	branch end_of_packet,crc_failed
+
+	arg 18,loopcnt
+	arg mem_m_process_sync_buffer,contw //lmp_data or test packet
+	//branch tws_receive_packet_payload
+
+// input loopcnt -- packet length
+// input contw    -- packet buffer ptr
+p_m_receive_packet_payload_raw:
+	enable decode_fec2
+	//enable encrypt
+	enable enable_crc
+p_m_process_payload_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop p_m_process_payload_data
+p_m_process_payload_data_end:
+	parse demod,bucket,16  /* cycle through the crc */
+//	call rf_debug_active_crc_error_line,crc_failed
+	call end_of_packet	/* must have heard */
+	rtn crc_failed
+	fetch 6 ,mem_m_process_sync_buffer+2
+	fetcht 6,mem_hci_plap
+	isub temp,null
+	nrtn zero
+//fetch 2,mem_m_process_sync_buffer
+//store 2,0x4fe0
+	// remote clock unit is 312.5us/2 = 156.25us
+	fetch 4,mem_m_process_sync_buffer+14
+	rshift pdata,pdata
+	store 4,mem_clke_bt
+	fetch 1,mem_m_process_sync_buffer+1
+	store 1,extm_newconn_am_addr
+//	jam 0x04,extm_newconn_am_addr
+p_m_send_signal_packet:
+	//flag
+	setarg 0x67
+	store 1,mem_m_process_sync_buffer
+	fetch 6,mem_lap
+	store 6,mem_m_process_sync_buffer+1
+	setarg 0
+	store 9,mem_m_process_sync_buffer+7
+	//Clk Offset
+//	setarg 0
+//	store 3,mem_process_sync_buffer+13
+	
+//	setarg 0xea00
+//	store 2,mem_process_sync_buffer+16
+
+	// align the clock.
+	call rf_setup_time_slave_slot
+	call set_sync_on
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_tx
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+p_m_transmit_signal_packet:
+	fetch 2,mem_m_rcv_op
+	store 2,mem_m_snd_op
+	call p_m_transmit_packet_access_and_header
+
+p_m_transmit_signal_packet_payload:
+	enable encode_fec2
+	disable encrypt
+	enable enable_crc
+
+	arg 13,loopcnt
+	arg mem_m_process_sync_buffer,contr
+p_m_transmit_signal_packet_payload_data_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_m_transmit_signal_packet_payload_data_loop
+
+p_m_transmit_signal_packet_payload_data_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call end_of_packet	/* must have heard */
+
+	jam 0,mem_m_process_enable
+
+p_slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch p_slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch p_slave_apply_clke_bt
+	
+p_slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	call prepare_newconn
+//	jam 10,mem_newconnto_counter
+p_slave_newconn_loop:
+	call slave_newconn_once
+//call ice_break,match
+	branch p_m_slave_connection_success,match     
+	call new_conn_timeout
+	nbranch p_slave_newconn_loop,blank
+	rtn
+//	branch p_m_send_wake_data_init
+
+p_m_slave_connection_success:
+	jam 1,mem_ns_wake_up_flag
+	fetch 1,mem_rxbuf
+	call p_parse_lmp_opcode_00
+	branch sconn_successful
+	//branch p_hci_send_connection_complete
+
+
+p_parse_lmp_opcode_00:
+	fetch 3,mem_rxbuf+1
+	store 3,mem_m_save_lmp_Ye
+	jam LMP_M_TEST_REQ,mem_lmo_opcode2
+	rtn
+
+
+p_send_lmp_opcode_00:
+	setarg 0x00
+	store 1,mem_lmp_to_send
+	fetch 1,mem_m_save_lmp_Ye
+	beq 0x00, p_send_lmp_rxbuf_00
+	beq 0x04, p_send_lmp_rxbuf_04
+	rtn
+
+p_send_lmp_rxbuf_00:
+	force 10,pdata
+	call msg_send_lmp
+	setarg 0x1d3201
+	istore 9,contw
+	setarg 0
+	branch send_lmp_exit
+
+p_send_lmp_rxbuf_04:
+	force 4,pdata
+	call msg_send_lmp
+	setarg 0x000004
+	istore 3,contw
+	setarg 1
+	branch send_lmp_exit
+
+/*
+p_send_lmp_rxbuf_00:
+	force 4,pdata
+	call msg_send_lmp
+	setarg 0x1f0004
+	istore 3,contw
+	branch send_lmp_request
+
+p_send_lmp_rxbuf_04:
+	force 10,pdata
+	call msg_send_lmp
+	setarg 0
+	istore 2,contw
+	setarg 0x1532
+	istore 8,contw
+	branch send_lmp_request
+*/
+
+	
+
+p_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
+//fetch 1, mem_rx_type
+//sub pdata,1,null
+//ncall ice_break,zero
+	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
+	branch slave_notmatch
+
+
+
+
+/*
+	芯片公共bugfix
+*/
+
+/*
+	YC 3121 LPM  bugfix
+*/
+p_ahead_window:
+	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 p_clk2rt
+	branch ahead_window+12
+
+p_lpm_adjust_clk:
+	deposit clke
+	call p_clk_diff_rt
+	branch lpm_adjust_clk+3
+
+p_lpm_dispatch_next:
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call p_clk_diff_rt
+	branch lpm_dispatch_next+30
+
+p_clk_diff_rt:
+	call clk_diff
+p_clk2rt:
+	iforce contr
+	set0 16,contr
+	branch clk2rt+1
+
+/*
+	YC3121 没有exen GPIO
+	跳过disable exen
+*/
+p_soft_reset:
+	call rfcomm_init
+	call init_lmp
+	call p_ui_init
+	branch soft_reset + 9
+
+p_ui_init:
+	rtn wake
+	branch ui_timer_init
+
+p_main_loop:
+	call p_g24_dispatch
+	branch main_loop+1
+
+/*
+	YC3121 shutdown radio bugfix
+	rfen_adc bug 陶其文添加
+*/
+p_shutdown_radio:
+	branch p_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,p_shutdown_radio_0db
+	beq TX_POWER_3DB,p_shutdown_radio_3db
+	beq TX_POWER_5DB,p_shutdown_radio_5db
+	beq TX_POWER_f3DB,p_shutdown_radio_f3db
+	beq TX_POWER_f5DB,p_shutdown_radio_f5db
+	beq TX_POWER_PAIR,p_shutdown_radio_pair
+p_shutdown_radio_5db:	
+p_shutdown_radio_0db:
+	hjam 0xd0, 0x955
+	hjam 0xe0, 0x956
+p_shutdown_radio0:
+	force 0x08,radio_ctrl
+	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
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	rtn
+p_shutdown_radio_pair:
+p_shutdown_radio_f5db:
+p_shutdown_radio_f3db:
+p_shutdown_radio_3db:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	branch p_shutdown_radio0
+
+
+p_le_transmit:
+	call le_prep
+	call p_letx_setfreq
+	branch le_transmit0
+
+p_letx_setfreq:
+	branch p_txon,match
+	branch letx_setfreq+1
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+p_txon:	
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	branch txon+1
+
+
+p_init_param:
+	hjam 0x7c,rfen_adc
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+/*
+	YC3121 芯片功能bugfix
+*/
+
+/*
+	关闭广播不能休眠的问题
+*/
+p_lpm_unconn_nossp:
+	branch lpm_unconn_cont				//BT/BLE discover don't infect lpm
+
+
+
+
+
+p_module_hci_cmd_start_24g:
+	call module_hci_event_receive_valid_cmd
+	ifetch 4,contru
+	store 4,mem_24g_addr
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch p_g24_start_24g_mode
+
+p_module_hci_cmd_stop_24g:
+	call module_hci_event_receive_valid_cmd
+	set0 mark_24g,mark
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch p_g24_stop_g24_mode
+
+p_module_hci_cmd_pair_24g:
+	call module_hci_event_receive_valid_cmd
+	branch p_g24_start_pairing_sm1
+
+p_module_hci_cmd_disconnected_24g:
+	bmark0 mark_24g,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	branch p_g24_stop_g24_mode
+
+p_module_hci_cmd_send_24g_data:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	arg mem_24g_txbuf_new,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+p_module_hci_event_24g_pairing_complete:
+	jam HCI_EVENT_24G_PAIRING_COMPLETE,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_24g_addr
+	istore 4,contwu
+	branch uartd_send
+	
+p_module_hci_event_24g_attempt_fail:
+	jam HCI_EVENT_24G_ATTEMPT_FAIL,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_hci_event_24g_attempt_success:
+	jam HCI_EVENT_24G_ATTEMPT_SUCCESS,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 4,mem_24g_enter_hibernate
+	store 4,mem_24g_enter_hibernate_setup
+	call p_g24_txdata_prep
+	nbranch p_g24_long_sleep,user
+	jam 10,mem_24g_enter_lpm_timer
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+ifdef TX_POWER_MAX
+	jam TX_POWER_5DB,mem_tx_power
+else
+	call power_ctrl_start
+endif	
+p_g24_short_sleep:
+	rtn
+	fetch 1,mem_mouse_retry_flag
+	nrtn blank
+//	call p_check_IPC_for_LPM
+//	nrtn user
+//	fetch 1,mem_c51_lpm_lock
+//	nrtn blank
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+p_g24_short_sleep_1:	
+	setarg 58000
+p_g24_short_sleep_2:	
+	call clk2lpo
+ 	storet 4,mem_sleep_counter
+ 	branch lpm_sleep
+
+p_g24_long_sleep:
+	rtn
+//	call p_check_IPC_for_LPM
+//	nrtn user
+//	fetch 1,mem_c51_lpm_lock
+//	nrtn blank
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_24g_enter_lpm_timer
+	nbranch p_g24_short_sleep_1,blank	
+	fetch 4,mem_24g_enter_hibernate_setup
+  	branch p_g24_short_sleep_2
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+ifdef OTA_ENABLE
+	fetch 1,mem_24g_ota_enable
+	beq 1,p_g24_txdata_skip_short_lpm
+endif	
+	call p_g24_package_data
+	call p_g24_get_package_data,user
+	call p_g24_transmit_prep,user
+p_g24_txdata_enable_tx:
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	disable user
+	jam 2,mem_24g_data_type
+	fetch 1,mem_24g_txbuf_new
+	beq 0x01,p_g24_dataready			
+	beq 0x02,p_g24_dataready_mk	
+	beq 0x03,p_g24_dataready_ms
+	beq 0x06,p_g24_dataready_sys
+	beq 0x07,p_g24_dataready_game 
+	fetch 1,mem_mouse_retry_flag
+	ncall enable_user,blank
+	rtn
+p_g24_dataready:				
+	jam 0x00,mem_24g_txbuf_new				//standard key 0x00
+	jam 10,mem_24g_datalen		// 02 + 00 + 8 payload
+	branch p_g24_package_data_rtn
+
+p_g24_dataready_game:  //game key
+	jam 0x08,mem_24g_txbuf_new				
+	jam 24,mem_24g_datalen		// 02 + 08 + 13
+	branch p_g24_package_data_rtn
+	
+p_g24_dataready_mk:			
+	jam 0x03,mem_24g_txbuf_new				//multi key 0x03
+	jam 4,mem_24g_datalen		// 02 + 03 + 2 payload
+	branch p_g24_package_data_rtn
+p_g24_dataready_sys:
+	jam 0x02,mem_24g_txbuf_new				//system key 0x02
+	jam 3,mem_24g_datalen		// 02 + 02 + 1 payload
+	branch p_g24_package_data_rtn
+p_g24_dataready_ms:
+	jam 1,mem_24g_data_type		// mouse
+	jam 8,mem_24g_datalen		// 01 + 7 payload
+p_g24_package_data_rtn:	
+	jam 0,mem_24g_get_ack_fail
+	branch enable_user
+
+
+p_g24_get_package_data:
+	arg mem_24g_txbuf,contw
+	arg mem_24g_txbuf_new,contr
+	arg 32,loopcnt
+	branch memcpy
+
+
+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
+	nbranch p_g24_retransmit,user3
+	call p_g24_ackpayload_parse
+ifndef TX_POWER_MAX	
+	call power_ctrl_pac_succ_incrs
+endif	
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	jam 0,mem_mouse_retry_flag
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+p_g24_transmit_abandon:
+	call p_g24_clear_txbuf
+	jam 0,mem_24g_get_ack_fail
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+
+p_g24_retransmit:
+	jam 1,mem_mouse_retry_flag
+	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
+	fetch 1,mem_24g_get_ack_fail
+	beq  0xff,p_g24_long_sleep_setup
+	fetch 1,mem_24g_get_ack_fail
+	arg 16,temp
+	isub temp,null
+	branch p_g24_ch,positive
+	fetch 1,mem_24g_retry
+	increase 1,pdata
+	store 1,mem_24g_retry
+	nop 10
+	bne retry_24g,p_g24_transmit_loop
+	branch p_g24_ch
+	
+
+p_g24_clear_txbuf:
+	setarg 0
+	store 32,mem_24g_txbuf
+	store 32,mem_24g_txbuf_new
+	rtn
+
+p_g24_long_sleep_setup:
+	call p_g24_stop_g24_mode
+	jam 0,mem_mouse_retry_flag
+	call p_g24_clear_txbuf
+	jam 0,mem_24g_get_ack_fail
+	fetch 4,mem_24g_enter_hibernate_max
+	store 4,mem_24g_enter_hibernate_setup
+	rtn
+
+p_g24_paring_mode_start:
+ifndef TX_POWER_MAX
+	call power_ctrl_pac_succ_cnt_init
+endif	
+	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:
+//	jam 0,mem_24g_rxbuf+1
+//	enable user3
+//	branch p_g24_end_of_packet
+
+
+p_g24_tx_paring_retry:
+	rtn
+//	fetch 1,mem_24g_get_ack_fail
+//	rtnne 0xff
+//	jam 0,mem_24g_get_ack_fail
+p_g24_stop_g24_mode:
+	jam 0,mem_mouse_retry_flag
+	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
+	call p_24g_kb_led
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_24g_kb_led:
+	fetch 1,mem_24g_rxbuf+1
+	compare 0x08,pdata,0xf8
+	nrtn true
+	fetch 1,mem_24g_rxbuf+2
+	beq 0xff,p_pc_sleep_opcode
+	jam HCI_EVENT_24G_RECEIVE_LOCK,mem_module_uart_opcode
+	branch p_pre_send_num
+p_pc_sleep_opcode:
+	jam HCI_EVENT_24G_PC_SLEEP,mem_module_uart_opcode
+p_pre_send_num:
+	setarg 1
+	call module_hci_prepare_tx
+	fetcht 1,mem_24g_rxbuf+2
+	istoret 1,contwu
+	call uartd_send
+	// test
+//	storet 1,mem_caps_num_lock
+	jam 0,mem_24g_led_flag
+	rtn	
+
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+	call p_g24_transmit_abandon
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+p_g24_pair_init:
+	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:
+	call p_g24_pair_init
+	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
+	jam 0x02,mem_24g_common_temp+1	// mem_24g_data_type: 02 keyboard
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	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:
+	rtnmark1 mark_24g
+	call p_g24_syncword_crc8
+	call p_g24_ch
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_tx_attemp_data_prep
+	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,user3
+p_g24_tx_attemp_dongle_succ:
+	call p_g24_clear_txbuf
+	set1 mark_24g,mark
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+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_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
+	rtn
+
+p_rssi_signal:
+	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_rssi_noise:
+//	call save_rssi
+//	rtn blank
+//	fetcht 1,mem_rssi_noise_index
+//	arg mem_rssi_noise_buf,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_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_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_transmit_prep_pair
+	fetch 1,mem_24g_data_type
+	istore 1,contw
+p_g24_transmit_prep_pair:	
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	fetch 1,mem_24g_data_type
+	beq 1,p_g24_transmit_prep_mouse
+	arg mem_24g_txbuf,contr
+	call memcpy
+// type == 2 && mem_24g_txbuf[0] == 0x03  : multi	
+// type == 1 && mem_24g_txbuf[0] == 0x03  : mouse
+// if transmit fail,next package will send mouse data
+	fetch 1,mem_24g_txbuf	
+	beq 0x03,p_g24_multi_key_setup
+	rtn
+p_g24_multi_key_setup:
+	jam 0x02,mem_24g_txbuf
+	rtn
+
+
+p_g24_transmit_prep_mouse:
+	arg mem_24g_txbuf+1,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	storet 1,mem_24g_current_ch_number
+	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_rxon:
+	call p_g24_prep
+	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
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	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:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+	//receive rssi hex
+	copy contw,rega
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	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_sync_timeout:
+//	call p_rssi_noise
+//	branch p_g24_end_of_packet
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	branch 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_keyboard_ble_init:
+	setarg 0x25
+ 	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
+
+
+/*
+	ble 层bugfix
+*/
+
+/*
+	广播层收发等待100us左右
+*/
+p_le_transmit_receive_sifs:
+	call le_transmit
+	call set_sync_on
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	nop 1500
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+
+p_le_receive_skip:
+	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
+	copy pdata,loopcnt
+	branch lerx_nopayload,blank
+	branch lerx_loop
+
+
+/*
+	l2cap 组包的问题
+*/
+p_le_parse:
+	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
+	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
+	call le_check_l2cap_complete
+	arg wake_lock_ble_rx_patch,queue
+	nbranch lpm_get_wake_lock,user
+	call lpm_put_wake_lock
+	branch le_parse_l2cap + 3
+
+
+p_le_parse_l2cap:
+	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
+
+/*
+	解密错误不解析的问题
+*/
+p_le_acknowledge:
+	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
+	nsetflag blank,mark_old_packet,mark
+	nrtn blank
+	branch le_ack_unenc
+
+
+
+/*
+ble keyboard event deal
+*/
+
+p_module_hci_event_start_enc:
+	jam HCI_EVENT_BLE_HID_CONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_hci_event_enc_info:
+	jam HCI_EVENT_BLE_ENC_INFO,mem_module_uart_opcode
+	setarg 28
+	call module_hci_prepare_tx
+	fetch 6,mem_le_lap
+	istore 6,contwu
+	fetch 6,mem_le_plap
+	istore 6,contwu
+	arg mem_le_ltk,contr
+	arg 16,loopcnt
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+
+/*
+	经典蓝牙事件处理函数
+*/
+//清除timer
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	jam HCI_EVNET_BB_CONN,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x00
+	istore 1,contwu
+	call uartd_send
+	
+	rtn
+
+classic_shutter_process_baseband_disconnect:
+jam 1,mem_test_data
+	call module_disconn_start
+	call classic_shutter_disconnect_clear_flag
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_HID_CONNECT
+	set0 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+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
+	rtn
+
+classic_shutter_process_reconnect_failed:
+	call module_disconn_start
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x00
+	istore 1,contwu
+	call uartd_send
+	branch app_disconn_reason_clear
+
+classic_shutter_process_setup_complete:
+	branch keyboard_stop_bluetooth_discovery
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+
+classic_shutter_process_hid_disconnect:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	call module_hci_event_enter_standby_mode_len0
+	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
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_CONNECT,mem_module_uart_opcode
+	call module_hci_event_enter_standby_mode_len0
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+//	call app_lpm_mult_enable
+	call keyboard_stop_bluetooth_discovery
+	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_process_store_reconnect_information:
+	rtn
+
+classic_shutter_process_linkkey_generate:
+	branch p_module_hci_event_bt_enc_info
+p_module_hci_event_bt_enc_info:
+	jam HCI_EVENT_BT_ENC_INFO,mem_module_uart_opcode
+	setarg 28
+	call module_hci_prepare_tx
+	fetch 6,mem_lap
+	istore 6,contwu
+	fetch 6,mem_plap
+	istore 6,contwu
+	arg mem_link_key,contr
+	arg 16,loopcnt
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+/*
+	bt keyboard 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 p_app_bt_disconnect,regb
+	branch timer_single_step
+
+p_app_bt_disconnect:
+	jam 0x99,mem_module_uart_opcode
+	call  module_hci_event_enter_standby_mode_len0
+	branch app_bt_disconnect
+/*
+	bt keyboard send hid data
+*/
+
+
+bt_keyboard_send_hid_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	add pdata,1,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+p_moudle_hci_cmd_creat_bt_reconnect:
+	ifetch 6,contru
+	store 6,mem_hci_plap
+	ifetch 2,contru
+	store 2,mem_page_to
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	call check_link_key_load
+	call keyboard_stop_bluetooth_discovery
+	call app_bt_start_reconnect
+	branch module_hci_event_receive_valid_cmd
+
+
+/*
+	bt hid patch bugfix
+*/
+p_hid_rx_process:
+	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,p_hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,p_hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,p_hid_rx_process_hid_control
+	beq HID_TYPE_GET_REPORT,hid_rx_process_handshake
+	rtn
+
+p_hid_rx_process_data:
+	
+	branch p_hid_rx_process_out_data
+	ifetch 2,contr
+	store 2,mem_pdatatemp
+	beq HID_REPORT_ID_KB,p_hid_rx_process_data_hid_kb	
+	rtn
+p_hid_rx_process_out_data:
+
+	jam HCI_EVENT_RECEIVE_BT_HID_DATA,mem_module_uart_opcode
+	fetch 2,mem_l2cap_rx_pkt_length
+	pincrease -1
+	icopy loopcnt
+	
+	call module_hci_prepare_tx
+	fetch 2,mem_l2cap_payload_ptr
+	
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+	
+p_hid_rx_process_data_hid_kb:
+	jam HCI_EVENT_RECEIVE_BT_HID_DATA,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx	
+	fetch 2,mem_pdatatemp
+	istore 2,contwu
+	branch uartd_send
+
+p_hid_rx_process_set_report:
+	call p_hid_rx_process_data
+	branch hid_rx_process_set_report+1
+
+p_hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	jam 1,mem_suspend_flag
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_handshake
+	jam 0,mem_suspend_flag
+	beq HID_CONTROL_P_EXITSUSPEND,hid_rx_process_handshake
+	rtn
+
Index: shoubing/program_patch/keyboard_24g_spec_code/patch_24g.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_24g_spec_code/patch_24g.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_24g_spec_code/patch_24g.prog	(working copy)
@@ -0,0 +1,664 @@
+
+
+p_module_hci_cmd_start_24g:
+	call module_hci_event_receive_valid_cmd
+	ifetch 4,contru
+	store 4,mem_24g_addr
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch p_g24_start_24g_mode
+
+p_module_hci_cmd_stop_24g:
+	call module_hci_event_receive_valid_cmd
+	set0 mark_24g,mark
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch p_g24_stop_g24_mode
+
+p_module_hci_cmd_pair_24g:
+	call module_hci_event_receive_valid_cmd
+	branch p_g24_start_pairing_sm1
+
+p_module_hci_cmd_disconnected_24g:
+	bmark0 mark_24g,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	branch p_g24_stop_g24_mode
+
+p_module_hci_cmd_send_24g_data:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	arg mem_24g_txbuf_new,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+p_module_hci_event_24g_pairing_complete:
+	jam HCI_EVENT_24G_PAIRING_COMPLETE,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_24g_addr
+	istore 4,contwu
+	branch uartd_send
+	
+p_module_hci_event_24g_attempt_fail:
+	jam HCI_EVENT_24G_ATTEMPT_FAIL,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_hci_event_24g_attempt_success:
+	jam HCI_EVENT_24G_ATTEMPT_SUCCESS,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 4,mem_24g_enter_hibernate
+	store 4,mem_24g_enter_hibernate_setup
+	call p_g24_txdata_prep
+	nbranch p_g24_long_sleep,user
+	jam 10,mem_24g_enter_lpm_timer
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+ifdef TX_POWER_MAX
+	jam TX_POWER_5DB,mem_tx_power
+else
+	call power_ctrl_start
+endif	
+p_g24_short_sleep:
+	rtn
+	fetch 1,mem_mouse_retry_flag
+	nrtn blank
+//	call p_check_IPC_for_LPM
+//	nrtn user
+//	fetch 1,mem_c51_lpm_lock
+//	nrtn blank
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+p_g24_short_sleep_1:	
+	setarg 58000
+p_g24_short_sleep_2:	
+	call clk2lpo
+ 	storet 4,mem_sleep_counter
+ 	branch lpm_sleep
+
+p_g24_long_sleep:
+	rtn
+//	call p_check_IPC_for_LPM
+//	nrtn user
+//	fetch 1,mem_c51_lpm_lock
+//	nrtn blank
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_24g_enter_lpm_timer
+	nbranch p_g24_short_sleep_1,blank	
+	fetch 4,mem_24g_enter_hibernate_setup
+  	branch p_g24_short_sleep_2
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+ifdef OTA_ENABLE
+	fetch 1,mem_24g_ota_enable
+	beq 1,p_g24_txdata_skip_short_lpm
+endif	
+	call p_g24_package_data
+	call p_g24_get_package_data,user
+	call p_g24_transmit_prep,user
+p_g24_txdata_enable_tx:
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	disable user
+	jam 2,mem_24g_data_type
+	fetch 1,mem_24g_txbuf_new
+	beq 0x01,p_g24_dataready			
+	beq 0x02,p_g24_dataready_mk	
+	beq 0x03,p_g24_dataready_ms
+	beq 0x06,p_g24_dataready_sys
+	beq 0x07,p_g24_dataready_game 
+	fetch 1,mem_mouse_retry_flag
+	ncall enable_user,blank
+	rtn
+p_g24_dataready:				
+	jam 0x00,mem_24g_txbuf_new				//standard key 0x00
+	jam 10,mem_24g_datalen		// 02 + 00 + 8 payload
+	branch p_g24_package_data_rtn
+
+p_g24_dataready_game:  //game key
+	jam 0x08,mem_24g_txbuf_new				
+	jam 24,mem_24g_datalen		// 02 + 08 + 13
+	branch p_g24_package_data_rtn
+	
+p_g24_dataready_mk:			
+	jam 0x03,mem_24g_txbuf_new				//multi key 0x03
+	jam 4,mem_24g_datalen		// 02 + 03 + 2 payload
+	branch p_g24_package_data_rtn
+p_g24_dataready_sys:
+	jam 0x02,mem_24g_txbuf_new				//system key 0x02
+	jam 3,mem_24g_datalen		// 02 + 02 + 1 payload
+	branch p_g24_package_data_rtn
+p_g24_dataready_ms:
+	jam 1,mem_24g_data_type		// mouse
+	jam 8,mem_24g_datalen		// 01 + 7 payload
+p_g24_package_data_rtn:	
+	jam 0,mem_24g_get_ack_fail
+	branch enable_user
+
+
+p_g24_get_package_data:
+	arg mem_24g_txbuf,contw
+	arg mem_24g_txbuf_new,contr
+	arg 32,loopcnt
+	branch memcpy
+
+
+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
+	nbranch p_g24_retransmit,user3
+	call p_g24_ackpayload_parse
+ifndef TX_POWER_MAX	
+	call power_ctrl_pac_succ_incrs
+endif	
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	jam 0,mem_mouse_retry_flag
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+p_g24_transmit_abandon:
+	call p_g24_clear_txbuf
+	jam 0,mem_24g_get_ack_fail
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+
+p_g24_retransmit:
+	jam 1,mem_mouse_retry_flag
+	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
+	fetch 1,mem_24g_get_ack_fail
+	beq  0xff,p_g24_long_sleep_setup
+	fetch 1,mem_24g_get_ack_fail
+	arg 16,temp
+	isub temp,null
+	branch p_g24_ch,positive
+	fetch 1,mem_24g_retry
+	increase 1,pdata
+	store 1,mem_24g_retry
+	nop 10
+	bne retry_24g,p_g24_transmit_loop
+	branch p_g24_ch
+	
+
+p_g24_clear_txbuf:
+	setarg 0
+	store 32,mem_24g_txbuf
+	store 32,mem_24g_txbuf_new
+	rtn
+
+p_g24_long_sleep_setup:
+	call p_g24_stop_g24_mode
+	jam 0,mem_mouse_retry_flag
+	call p_g24_clear_txbuf
+	jam 0,mem_24g_get_ack_fail
+	fetch 4,mem_24g_enter_hibernate_max
+	store 4,mem_24g_enter_hibernate_setup
+	rtn
+
+p_g24_paring_mode_start:
+ifndef TX_POWER_MAX
+	call power_ctrl_pac_succ_cnt_init
+endif	
+	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:
+//	jam 0,mem_24g_rxbuf+1
+//	enable user3
+//	branch p_g24_end_of_packet
+
+
+p_g24_tx_paring_retry:
+	rtn
+//	fetch 1,mem_24g_get_ack_fail
+//	rtnne 0xff
+//	jam 0,mem_24g_get_ack_fail
+p_g24_stop_g24_mode:
+	jam 0,mem_mouse_retry_flag
+	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
+	call p_24g_kb_led
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_24g_kb_led:
+	fetch 1,mem_24g_rxbuf+1
+	compare 0x08,pdata,0xf8
+	nrtn true
+	fetch 1,mem_24g_rxbuf+2
+	beq 0xff,p_pc_sleep_opcode
+	jam HCI_EVENT_24G_RECEIVE_LOCK,mem_module_uart_opcode
+	branch p_pre_send_num
+p_pc_sleep_opcode:
+	jam HCI_EVENT_24G_PC_SLEEP,mem_module_uart_opcode
+p_pre_send_num:
+	setarg 1
+	call module_hci_prepare_tx
+	fetcht 1,mem_24g_rxbuf+2
+	istoret 1,contwu
+	call uartd_send
+	// test
+//	storet 1,mem_caps_num_lock
+	jam 0,mem_24g_led_flag
+	rtn	
+
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+	call p_g24_transmit_abandon
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+p_g24_pair_init:
+	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:
+	call p_g24_pair_init
+	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
+	jam 0x02,mem_24g_common_temp+1	// mem_24g_data_type: 02 keyboard
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	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:
+	rtnmark1 mark_24g
+	call p_g24_syncword_crc8
+	call p_g24_ch
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_tx_attemp_data_prep
+	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,user3
+p_g24_tx_attemp_dongle_succ:
+	call p_g24_clear_txbuf
+	set1 mark_24g,mark
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+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_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
+	rtn
+
+p_rssi_signal:
+	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_rssi_noise:
+//	call save_rssi
+//	rtn blank
+//	fetcht 1,mem_rssi_noise_index
+//	arg mem_rssi_noise_buf,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_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_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_transmit_prep_pair
+	fetch 1,mem_24g_data_type
+	istore 1,contw
+p_g24_transmit_prep_pair:	
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	fetch 1,mem_24g_data_type
+	beq 1,p_g24_transmit_prep_mouse
+	arg mem_24g_txbuf,contr
+	call memcpy
+// type == 2 && mem_24g_txbuf[0] == 0x03  : multi	
+// type == 1 && mem_24g_txbuf[0] == 0x03  : mouse
+// if transmit fail,next package will send mouse data
+	fetch 1,mem_24g_txbuf	
+	beq 0x03,p_g24_multi_key_setup
+	rtn
+p_g24_multi_key_setup:
+	jam 0x02,mem_24g_txbuf
+	rtn
+
+
+p_g24_transmit_prep_mouse:
+	arg mem_24g_txbuf+1,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	storet 1,mem_24g_current_ch_number
+	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_rxon:
+	call p_g24_prep
+	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
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	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:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+	//receive rssi hex
+	copy contw,rega
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	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_sync_timeout:
+//	call p_rssi_noise
+//	branch p_g24_end_of_packet
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	branch 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
+
+
+
Index: shoubing/program_patch/keyboard_ble_spec_code/patch_ble.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble.prog	(working copy)
@@ -0,0 +1,102 @@
+
+
+p_keyboard_ble_init:
+	setarg 0x25
+ 	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
+
+
+/*
+	ble 层bugfix
+*/
+
+/*
+	广播层收发等待100us左右
+*/
+p_le_transmit_receive_sifs:
+	call le_transmit
+	call set_sync_on
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	nop 1500
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+
+p_le_receive_skip:
+	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
+	copy pdata,loopcnt
+	branch lerx_nopayload,blank
+	branch lerx_loop
+
+
+/*
+	l2cap 组包的问题
+*/
+p_le_parse:
+	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
+	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
+	call le_check_l2cap_complete
+	arg wake_lock_ble_rx_patch,queue
+	nbranch lpm_get_wake_lock,user
+	call lpm_put_wake_lock
+	branch le_parse_l2cap + 3
+
+
+p_le_parse_l2cap:
+	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
+
+/*
+	解密错误不解析的问题
+*/
+p_le_acknowledge:
+	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
+	nsetflag blank,mark_old_packet,mark
+	nrtn blank
+	branch le_ack_unenc
+
+
Index: shoubing/program_patch/keyboard_ble_spec_code/patch_ble_event_deal.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_event_deal.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_event_deal.prog	(working copy)
@@ -0,0 +1,22 @@
+
+/*
+ble keyboard event deal
+*/
+
+p_module_hci_event_start_enc:
+	jam HCI_EVENT_BLE_HID_CONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_hci_event_enc_info:
+	jam HCI_EVENT_BLE_ENC_INFO,mem_module_uart_opcode
+	setarg 28
+	call module_hci_prepare_tx
+	fetch 6,mem_le_lap
+	istore 6,contwu
+	fetch 6,mem_le_plap
+	istore 6,contwu
+	arg mem_le_ltk,contr
+	arg 16,loopcnt
+	call uart_copy_tx_bytes
+	branch uartd_send
+
Index: /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_att.prog	(added)
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_att.prog	(revision 0)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_att.prog	(revision 0)
Index: /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_signalling.prog	(added)
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_signalling.prog	(revision 0)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_signalling.prog	(revision 0)
Index: /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_smp.prog	(added)
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_smp.prog	(revision 0)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_l2cap_smp.prog	(revision 0)
Index: /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_ll.prog	(added)
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_ll.prog	(revision 0)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_ble_spec_code/patch_ble_ll.prog	(revision 0)
Index: shoubing/program_patch/keyboard_bt_spec_code/patch_bt_event_deal.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_bt_spec_code/patch_bt_event_deal.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_bt_spec_code/patch_bt_event_deal.prog	(working copy)
@@ -0,0 +1,174 @@
+
+
+/*
+	经典蓝牙事件处理函数
+*/
+//清除timer
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	jam HCI_EVNET_BB_CONN,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x00
+	istore 1,contwu
+	call uartd_send
+	
+	rtn
+
+classic_shutter_process_baseband_disconnect:
+jam 1,mem_test_data
+	call module_disconn_start
+	call classic_shutter_disconnect_clear_flag
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_HID_CONNECT
+	set0 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+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
+	rtn
+
+classic_shutter_process_reconnect_failed:
+	call module_disconn_start
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x00
+	istore 1,contwu
+	call uartd_send
+	branch app_disconn_reason_clear
+
+classic_shutter_process_setup_complete:
+	branch keyboard_stop_bluetooth_discovery
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+
+classic_shutter_process_hid_disconnect:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	call module_hci_event_enter_standby_mode_len0
+	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
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONNECT,pdata
+	store 2,mem_ui_state_map
+	jam HCI_EVENT_BT_HID_CONNECT,mem_module_uart_opcode
+	call module_hci_event_enter_standby_mode_len0
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+//	call app_lpm_mult_enable
+	call keyboard_stop_bluetooth_discovery
+	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_process_store_reconnect_information:
+	rtn
+
+classic_shutter_process_linkkey_generate:
+	branch p_module_hci_event_bt_enc_info
+p_module_hci_event_bt_enc_info:
+	jam HCI_EVENT_BT_ENC_INFO,mem_module_uart_opcode
+	setarg 28
+	call module_hci_prepare_tx
+	fetch 6,mem_lap
+	istore 6,contwu
+	fetch 6,mem_plap
+	istore 6,contwu
+	arg mem_link_key,contr
+	arg 16,loopcnt
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+/*
+	bt keyboard 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 p_app_bt_disconnect,regb
+	branch timer_single_step
+
+p_app_bt_disconnect:
+	jam 0x99,mem_module_uart_opcode
+	call  module_hci_event_enter_standby_mode_len0
+	branch app_bt_disconnect
+/*
+	bt keyboard send hid data
+*/
+
+
+bt_keyboard_send_hid_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	add pdata,1,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+p_moudle_hci_cmd_creat_bt_reconnect:
+	ifetch 6,contru
+	store 6,mem_hci_plap
+	ifetch 2,contru
+	store 2,mem_page_to
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	call check_link_key_load
+	call keyboard_stop_bluetooth_discovery
+	call app_bt_start_reconnect
+	branch module_hci_event_receive_valid_cmd
+
Index: shoubing/program_patch/keyboard_bt_spec_code/patch_bt_hid.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_bt_spec_code/patch_bt_hid.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/keyboard_bt_spec_code/patch_bt_hid.prog	(working copy)
@@ -0,0 +1,61 @@
+
+/*
+	bt hid patch bugfix
+*/
+p_hid_rx_process:
+	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,p_hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,p_hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,p_hid_rx_process_hid_control
+	beq HID_TYPE_GET_REPORT,hid_rx_process_handshake
+	rtn
+
+p_hid_rx_process_data:
+	
+	branch p_hid_rx_process_out_data
+	ifetch 2,contr
+	store 2,mem_pdatatemp
+	beq HID_REPORT_ID_KB,p_hid_rx_process_data_hid_kb	
+	rtn
+p_hid_rx_process_out_data:
+
+	jam HCI_EVENT_RECEIVE_BT_HID_DATA,mem_module_uart_opcode
+	fetch 2,mem_l2cap_rx_pkt_length
+	pincrease -1
+	icopy loopcnt
+	
+	call module_hci_prepare_tx
+	fetch 2,mem_l2cap_payload_ptr
+	
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+	
+p_hid_rx_process_data_hid_kb:
+	jam HCI_EVENT_RECEIVE_BT_HID_DATA,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx	
+	fetch 2,mem_pdatatemp
+	istore 2,contwu
+	branch uartd_send
+
+p_hid_rx_process_set_report:
+	call p_hid_rx_process_data
+	branch hid_rx_process_set_report+1
+
+p_hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	jam 1,mem_suspend_flag
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_handshake
+	jam 0,mem_suspend_flag
+	beq HID_CONTROL_P_EXITSUSPEND,hid_rx_process_handshake
+	rtn
+
Index: shoubing/program_patch/main_patch.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/main_patch.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/main_patch.prog	(working copy)
@@ -0,0 +1,1486 @@
+
+/*
+// mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
+
+nop 100
+call ice_break
+setarg 0x758233
+store 3,mem_m_access_code
+istore 2,contw
+istore 3,contw
+
+call p_m_access_code_generate
+call ice_break
+*/
+
+define TX_POWER_MAX
+
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+
+p_start:
+	bbit1 8,pf_patch_ext
+	//LPM exen bugfix
+	beq patch00_1,p_soft_reset
+	beq patch00_3,p_main_loop
+
+	beq patch00_5,p_connection_incontext
+	beq patch05_6,p_context_search
+	
+	beq patch0b_7,p_process_dmh_data_end1
+	beq patch0c_0,p_process_dmh_data_end
+	beq patch0b_5,p_process_dmh_data_l2cap_start_pkt
+	beq patch0b_6,p_process_dmh_data_l2cap_continue_pkt
+	beq patch0e_0,p_parse_l2cap
+	
+	beq patch0f_1,p_transmit_dmh
+	beq patch07_5,p_slave_loop
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	//LMP bugfix
+	beq patch12_4,p_ahead_window
+	beq patch14_2,p_init_param
+	//LMP bugfix	
+	beq patch14_3,p_lpm_adjust_clk
+	beq patch15_1,p_lpm_dispatch_next
+	beq patch15_4,p_lpm_unconn_nossp
+	
+//	beq patch16_1,p_lpm_check_wake_lock
+	beq patch17_0,p_module_init
+	beq patch17_3,p_module_hci_cmd_control
+	beq patch17_4,p_module_hci_cmd_transmit_le_notify
+	beq patch17_6,p_hid_rx_process
+	beq patch19_0,p_l2cap_proc_signal_connect_req
+	beq patch1b_3,p_l2cap_malloc
+	branch assert
+pf_patch_ext:
+	
+	beq patch20_3,p_le_receive_skip
+	beq patch20_5,p_le_transmit_receive_sifs
+	beq patch20_6,p_le_transmit
+	beq patch22_3,p_le_acknowledge
+	beq patch23_7,p_le_parse
+	beq patch24_1,p_le_parse_l2cap
+	beq patch26_0,p_le_modified_name
+	beq patch27_4,p_parse_lmp_accepted
+	beq patch27_2,p_parse_lmp
+	beq patch27_5,p_parse_lmp_not_accepted
+	beq patch27_7,p_send_lmp_accepted
+	beq patch27_6,p_send_lmp
+	beq patch28_1,p_ssp_disable
+	beq patch33_1,p_sp_initialize_256
+	beq patch34_3,p_check_51cmd_once_continue
+	branch assert
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+p_check_51cmd_once_continue1:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,p_check_51cmd_disconnect
+	branch check_51cmd_once_continue+3
+p_check_51cmd_disconnect:
+//	call ice_break
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+p_context_search:
+	arg mem_context_new,rega
+	arg context_num_new,loopcnt
+	branch context_search_loop
+
+p_connection_incontext:
+//	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch p_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
+p_connection_nosniff:
+	call p_context_get_next
+	branch connection_nosniff+1
+
+
+	
+p_context_get_next:
+	arg context_num_new,loopcnt
+	fetcht 1,mem_current_context
+p_context_get_next_loop:
+	increase 1,temp
+	compare context_num_new,temp,0xff
+	nbranch p_context_get_next_cont,true
+	arg 0,temp
+p_context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context_new,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,p_context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+p_context_get_next_sniff:
+	loop p_context_get_next_loop
+	rtn	
+
+
+p_parse_l2cap:
+	set0 mark_rxbuf_inuse,mark 
+p_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_new,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+
+
+p_process_dmh_data_l2cap_start_pkt:
+//	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x1e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit1 L2CAP_INUSE_BUFF2,end_of_packet
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,p_process_dmh_data_into_buff2
+	branch end_of_packet
+
+p_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_new,contw
+	branch process_dmh_data
+
+p_process_dmh_data_l2cap_continue_pkt:
+//	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x1e0,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,p_process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+
+p_process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2_new,contw
+	branch process_dmh_data_l2cap_continue_pkt2+1
+	
+p_process_dmh_data_end1:	
+//	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,error_payload_crc
+	branch process_dmh_data_end+5
+ 
+p_process_dmh_data_end:
+//	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,p_process_l2cap_pass_crc_buff1
+	beq 2,p_process_l2cap_pass_crc_buff2
+	branch assert
+	
+p_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
+
+
+	 
+p_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_new // l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+
+
+p_l2cap_malloc:
+//	bpatch patch1b_3,mem_patch1b
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full+1
+//	branch l2cap_malloc+3
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+	arg mem_tx_buff0_new,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+	branch l2cap_malloc_loop
+
+
+
+
+
+
+
+
+	
+p_transmit_dmh:
+	fetch 2,mem_txptr
+	beq 0x018c,transmit_noedr+1
+	branch transmit_dmh+1
+p_le_modified_name:
+	call le_modified_name_att_list
+	branch p_le_modified_name_adv
+
+p_le_modified_name_adv:
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn
+p_l2cap_proc_signal_connect_req:
+	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,p_l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,p_l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn	
+
+p_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
+	call send_connection_res	
+	jam BT_EVT_HID_INT_CONNECT,mem_fifo_temp
+	branch ui_ipc_send_event
+p_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
+	call send_connection_res	
+	jam BT_EVT_HID_INT_CONNECT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+p_module_init:
+	setarg p_module_process_bb_event
+	store 2,mem_cb_bb_event_process
+
+	setarg p_module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg p_module_process_idle
+	store 2,mem_cb_idle_process
+
+	setarg p_module_le_receive_data
+	store 2,mem_cb_att_write
+
+	setarg p_module_lpm_lock
+	store 2,mem_cb_check_wakelock
+
+	setarg p_module_bt_conn_process
+	store 2,mem_cb_bt_process
+
+	call p_keyboard_ble_init
+
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	//call p_check_otp_shaomaqiang_app
+//	arg mem_test,contr
+//	copy contr,pdata
+//	store 2,mem_test_ptr
+	branch module_hci_event_enter_standby_mode
+
+	
+p_module_process_idle:
+	call p_m_private_dispatch
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch p_module_process
+p_module_process:
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	branch module_process_with_credit,zero
+	call uartd_prepare_rx
+//	call ice_break
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	ifetch 1,contru
+	beq HCI_CMD_RESET_SDP_SERVICE,p_module_process_sdp
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	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
+
+p_module_process_sdp:
+	store 1,mem_module_uart_opcode
+	ifetcht 2,contru
+	copy contru,rega
+	storet 2,mem_module_uart_len_new
+	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 p_module_hci_dicard_packet //discard this packet	
+
+p_module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 2,contru
+	iadd contru,contru
+	branch module_hci_dicard_bytes
+	
+
+
+	
+p_module_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
+	beq BT_EVT_LINKKEY_GENERATE,classic_shutter_process_linkkey_generate
+/***************classic shutter event****************/
+
+/***************ble shutter event****************/
+	beq BT_EVT_LE_START_ENC,p_module_hci_event_start_enc
+	beq BT_EVT_LE_ENC_INFO,p_module_hci_event_enc_info
+
+/***************24g event***********************/
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_module_hci_event_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_module_hci_event_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_module_hci_event_24g_attempt_success
+
+	//
+	beq BT_EVT_ENTER_SNIFF,p_module_process_enter_sniff
+
+	beq BT_EVT_SNIFF_ACCEPT,p_module_process_sniff_report
+	beq BT_EVT_SNIFF_REPORT,p_module_process_sniff_report
+	beq BT_EVT_HID_INT_CONNECT,p_module_process_hid_int_connect
+
+	branch module_process_bb_event + 1
+
+
+
+p_module_process_sniff_report:
+	setarg 0x02
+	jam HCI_EVENT_HID_SNIFF_REPORT,mem_module_uart_opcode
+	call module_hci_prepare_tx
+	fetch 2,mem_tsniff
+	rshift pdata,pdata
+	
+	istore 2,contwu
+	branch uartd_send	
+
+	
+p_module_process_hid_int_connect:
+//call ice_break
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	setarg 0x02
+	jam HCI_EVENT_HID_INT_CONNECT,mem_module_uart_opcode
+	call module_hci_prepare_tx
+	fetcht 2,mem_hid_int_remote_cid
+	istoret 2,contwu
+	branch uartd_send
+
+p_module_process_enter_sniff:
+
+p_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
+p_module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+//	fethc 2,core_uart_rxitems    //*
+	fetch 2,IPC_M02BT_READ_PTR
+	fetcht 2,IPC_M02BT_WRITE_PTR
+	isub temp,null
+	ncall module_set_unsniff_task_flag,zero    //*加这两句话
+	branch app_bt_sniff_exit
+
+
+
+/*
+	锟斤拷模锟斤拷锟斤拷锟斤拷锟斤拷
+*/
+keyboard_start_bluetooth_discovery:
+	rtn
+
+keyboard_stop_bluetooth_discovery:
+	call app_bt_stop_discovery
+	branch app_ble_stop_adv
+
+
+p_module_bb_event_timer:
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+	rtn
+
+
+p_module_le_receive_data:
+	fetcht 2,mem_le_att_handle
+	sub temp,HANDLE_UUID_CHRCTR_REPORT_ID1_OUTPUT,null
+	branch p_moudle_le_receive_data_report_output,zero
+	rtn
+
+p_moudle_le_receive_data_report_output:
+	ifetcht 1,rega
+	setarg 0x01
+	store 1,mem_pdatatemp
+	istoret 1,contw
+	branch p_hid_rx_process_data_hid_kb
+
+p_module_lpm_lock:
+	branch module_lpm_lock
+
+p_module_bt_conn_process:
+	branch p_module_spp_enter_sniff
+
+p_module_spp_enter_sniff:
+	fetch 1,mem_btsniff
+	rtn blank
+	branch module_spp_enter_sniff+1
+
+p_module_hci_cmd_control:
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_BT_DISCONNECT,p_module_hci_cmd_bt_disconnect
+	beq HCI_CMD_SET_COD,p_module_hci_cmd_set_cod
+	beq HCI_CMD_SLEEP,p_module_hci_cmd_enter_sleep
+	beq HCI_CMD_SET_PAIRING_REQ,p_module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SEND_HID_DATA,p_module_hci_cmd_send_hid_data
+	beq HCI_CMD_SEND_HID_CONTROL_DATA,p_module_hci_cmd_send_hid_control_data
+
+	
+	beq HCI_CMD_SET_FEATURE,p_module_hci_cmd_reset_features
+	beq HCI_CMD_SET_SNIFF,p_module_set_bt_sniff
+	beq HCI_CMD_CREAT_BT_RECONNECT,p_moudle_hci_cmd_creat_bt_reconnect
+
+	beq HCI_CMD_START_24G,p_module_hci_cmd_start_24g
+	beq HCI_CMD_STOP_24G,p_module_hci_cmd_stop_24g
+	beq HCI_CMD_PAIR_24G,p_module_hci_cmd_pair_24g
+	beq HCI_CMD_DISCONNECTED_24G,p_module_hci_cmd_disconnected_24g
+	beq HCI_CMD_SEND_24G_DATA,p_module_hci_cmd_send_24g_data
+
+	beq HCI_CMD_RESET_SDP_SERVICE,p_module_hci_cmd_set_sdp_service
+
+
+	beq HCI_CMD_DELETE_CUSTOMIZE_SERVICE,module_hci_cmd_delete_customize_service
+	beq HCI_CMD_ADD_SERVICE_UUID,module_hci_cmd_add_service_uuid
+	beq HCI_CMD_ADD_CHARACTERISTIC_UUID,module_hci_cmd_add_characteristic_uuid
+	beq HCI_CMD_SWITCH_WAKEUP,module_hci_cmd_switch_wakeup
+	branch module_hci_cmd_control + 2
+	
+p_module_set_bt_sniff:
+
+	ifetch 1,contru
+	store 1,mem_btsniff
+	branch module_hci_event_receive_valid_cmd,blank
+	ifetch 2,contru
+	store 2,mem_sniff_param_interval
+	branch module_hci_event_receive_valid_cmd
+	
+//function : modify feature----mem_features
+p_module_hci_cmd_reset_features:		
+	ifetch 8,contru
+	store 8,mem_features
+	branch module_hci_event_receive_valid_cmd
+
+	
+module_hci_cmd_switch_wakeup:
+	ifetch 2,contru
+	
+	ifetch 6,contru 
+	store 6,mem_hci_plap
+
+	// 4 bytes wake data
+	ifetch 4,contru 
+	store 4,mem_m_wake_data
+	
+	ifetcht 4,contru
+	setarg -1
+	ixor temp,pdata
+	store 4,mem_m_access_code
+	
+	ifetch 4,contru
+	store 4,mem_m_access_code+4
+	
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	// set conn status
+//	jam 1,mem_conn_status
+
+	jam 1,mem_m_process_enable
+
+	// Unit is 625us. 60*625 = 37.5ms
+	setarg 60
+	store 2,mem_m_wake_send_window
+
+	call p_m_send_wake_data_timer_init
+	branch module_hci_event_receive_valid_cmd
+	
+
+module_hci_cmd_delete_customize_service:
+	arg 0x000c,temp
+	call le_att_get_handle_ptr2
+	add contr,-2,contw
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_add_service_uuid:
+	call module_hci_cmd_add_service_uuid_set_uuid
+	call uart_copy_rx_bytes_len_data
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_characteristic_uuid:
+	ifetch 1,contru	//Characteristic
+	call module_hci_cmd_add_characteristic_uuid_set_handle
+	call module_hci_cmd_add_characteristic_uuid_set_uuid
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_service_uuid_set_uuid:
+	call le_att_creat_new_handle
+	setarg 0x280002
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_handle:
+	store 1,mem_pdatatemp
+	call le_att_creat_new_handle
+	setarg 0x01280302
+	istore 4,contw
+	fetch 1,mem_pdatatemp
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_uuid:
+	call le_att_creat_new_handle
+	call uart_copy_rx_bytes_len_data		//uuid
+	call uart_copy_rx_bytes_len_data		//data
+	setarg 0
+	istore 2,contw
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	add contr,4,contr
+	ifetch 1,contr		//characteristic data
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	bbit1 BIT_CHARACTERISTIC_INDICATE,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	increase 1,temp
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+	call le_att_creat_new_handle
+	setarg 0x02290202
+	istore 8,contw
+	increase -1,temp
+	rtn
+
+
+uart_copy_rx_bytes_len_data:
+	ifetch 1,contru
+	copy pdata,loopcnt
+	istore 1,contw
+	branch uart_copy_rx_bytes
+
+
+le_att_creat_new_handle:
+	call le_att_get_last_handle
+	istoret 2,contw
+	rtn
+
+//output:temp:new handle num
+//contr:address write data
+le_att_get_last_handle:
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_last_handle_loop:
+	ifetch 2,contr
+	rtn blank
+	add pdata,1,temp
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length
+	iadd contr,contr
+	copy contr,contw
+	branch le_att_get_last_handle_loop
+
+
+//input:temp uuid number
+module_hci_event_uuid_handle:
+	storet 2,mem_temp
+	jam HCI_EVENT_UUID_HANDLE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	fetcht 2,mem_temp
+	istoret 2,contwu
+	branch uartd_send
+
+
+
+	
+
+p_module_hci_cmd_set_sdp_service:
+	fetch 2,mem_module_uart_len_new
+	copy pdata,loopcnt
+	arg mem_module_uuid_list,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+	
+
+
+p_module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	call app_bt_disconnect
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_HID_CONN
+	jam HCI_EVENT_BT_HID_DISCONNECT,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+p_module_hci_cmd_set_cod:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_valid_cmd
+	ifetch 3,contru
+	store 3,mem_class
+	branch module_hci_event_receive_valid_cmd
+
+p_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,p_module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+p_module_hci_pairing_numeric_comparison:
+	setarg 0x000001
+	branch module_hci_sspairing_mode
+
+
+p_module_hci_cmd_enter_sleep:
+	call module_hci_event_receive_valid_cmd
+	branch app_enter_hibernate
+
+
+p_module_hci_cmd_send_hid_data:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_HID_CONN,bt_keyboard_send_hid_int_data
+
+	branch module_hci_event_receive_invalid_cmd
+
+
+
+
+bt_keyboard_send_hid_int_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+	
+p_module_hci_cmd_send_hid_control_data:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_HID_CONN,bt_keyboard_send_hid_control_data
+
+	branch module_hci_event_receive_invalid_cmd
+bt_keyboard_send_hid_control_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_module_uart_len
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+
+
+	
+p_module_hci_cmd_transmit_le_notify:
+	add temp,-3,pdata		//sub handle and opcode
+	arg 200,temp	
+	call not_greater_than
+	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
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	branch p_module_hci_cmd_transmit_handle_error,blank
+	ifetcht 4,contr		//flag
+	setarg 0x01280302
+	isub temp,null
+	nbranch p_module_hci_cmd_transmit_handle_error,zero
+	ifetch 1,contr			//Characteristic
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_transmit_le_notify + 13
+	branch p_module_hci_cmd_transmit_handle_error
+
+p_module_hci_cmd_transmit_handle_error:
+	jam 0,mem_module_hci_notify_len
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_invalid_cmd
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,p_parse_lmp_accepted_hostconn//ok
+	branch parse_lmp_accepted+2
+
+p_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
+//	branch parse_lmp_accepted_hostconn_ctn
+
+//call ice_break
+	jam 3,mem_connection_options
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	jam 1,mem_link_key_exists
+	jam RECONNECT_HID,memui_reconnect_mode
+	rtn
+	
+
+
+p_parse_lmp:
+	fetch 1,mem_lmi_opcode2
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,p_parse_lmp_crypt_key
+	beq LMP_SNIFF_REQ, p_parse_lmp_sniff_req
+//	beq LMP_QUALITY_OF_SERVICE_REQ,parse_lmp_quality_of_service_req
+ 	branch parse_lmp + 21
+ 	
+/*	jam 0xfe,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	fetch 1,mem_lmi_opcode2
+	istore 1,contwu
+	fetch 1,mem_rxbuf+1
+	istore 1,contwu	
+	branch uartd_send 	
+	*/
+
+parse_lmp_quality_of_service_req: 
+ 	jam LMP_QUALITY_OF_SERVICE_REQ,mem_lmi_opcode2  
+ 	jam LMP_ACCEPTED,mem_lmo_opcode2  
+ 	rtn
+
+p_parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	sub temp,6,null
+	branch reject_lmp_packet_pdu_not_allowed,positive
+	branch parse_lmp_crypt_key + 1
+	
+reject_lmp_packet_pdu_not_allowed:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+p_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
+	branch parse_lmp_sniff_req+5
+
+
+p_parse_lmp_not_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_AU_RAND,p_parse_lmp_not_accepted_aurand//ok
+	branch parse_lmp_not_accepted+3
+
+p_parse_lmp_not_accepted_aurand:
+//	call ice_break
+	call parse_lmp_not_accepted_aurand
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_AUTH_WAIT
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	setarg 0x01
+	istore 1,contwu
+	branch uartd_send
+	
+//function : send lmp_accepted packet
+//		add sniff_request report
+p_send_lmp_accepted:
+	fetch 1,mem_lmi_opcode
+	beq LMP_SNIFF_REQ,p_send_lmp_accept_sniff_req
+	branch send_lmp_accepted+7
+	
+p_send_lmp_accept_sniff_req:
+	jam BT_EVT_SNIFF_REPORT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch sniff_init
+	
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+//	call ice_break
+	fetcht 2,mem_test_ptr
+	istore 1,temp
+	increase 1,temp
+	storet 2,mem_test_ptr
+	
+	
+	bbit1 7,p_send_lmp_escape
+	beq LMP_SNIFF_REQ, p_send_lmp_sniff_req
+	beq LMP_M_TEST_REQ,p_send_lmp_opcode_00
+	beq LMP_DETACH,p_send_lmp_detch
+	branch send_lmp0
+
+p_send_lmp_detch:
+
+		force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+p_prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+p_send_lmp_sniff_req:
+	fetch 1,mem_btsniff
+	branch p_clear_lpm_flag,blank
+	branch send_lmp_sniff_req
+p_clear_lpm_flag:
+	jam 0,mem_lmp_to_send
+	rtn
+
+	
+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_ssp_disable:
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0x1
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+
+p_sp_initialize_256:	
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+//	call le_secure_connection_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc_256
+
+
+eut_read_otp_data:
+	fetch 1,mem_module_state
+	set1 MODULE_READ_OTP_BIT,pdata
+	store 1,mem_module_state
+	
+	arg 0x00,addhi
+	arg 0x8973,contr
+	ifetch 1,contr
+	set1 6,pdata			//enable chgpump
+	arg 0x8973,contw
+	istore 1,contw
+	
+	arg 0x0f,addhi
+
+	arg 6, loopcnt              //len
+	arg 2,regb                     //addr
+	arg mem_read_otp_data,rega                   //data
+	
+	call eut_read_otp
+
+	//
+	arg 20, loopcnt
+	arg 0x12c,regb
+	arg mem_read_otp_data+6,rega
+	call eut_read_otp
+
+	arg 2, loopcnt
+	arg 0x1ffe,regb
+	arg mem_read_otp_data+26,rega
+	call eut_read_otp
+
+	call eut_otp_deselect
+
+	arg 0x00,addhi
+	arg 0x8973,contr
+	ifetch 1,contr
+	set0 6,pdata			//disable chgpump
+	arg 0x8973,contw
+	istore 1,contw
+	
+	arg 0x00,addhi
+
+	fetch 1,mem_module_state
+	set0 MODULE_READ_OTP_BIT,pdata
+	store 1,mem_module_state
+	rtn
+
+// rega pointers to buffer, regb is otp address, loopcnt is length
+eut_read_otp:
+	lshift3 regb,regb
+	call eut_otp_ce
+	call eut_otp_readen
+eut_read_otp_loop:
+	call eut_write_otpaddr
+	fetch 1,sec_otp_data
+	istore 1,rega
+	increase 8,regb
+	increase 1,rega
+	loop eut_read_otp_loop
+	rtn
+
+eut_otp_ce:
+	setarg 0x20c
+	call eut_write_otpctrl
+	setarg 0x208
+	call eut_write_otpctrl
+	setarg 0x200
+	call eut_write_otpctrl
+	setarg 0x208
+	branch eut_write_otpctrl
+
+eut_write_otpctrl:
+	arg sec_otp_ctrl,contw
+eut_write_word:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	istore 1,contw
+	rtn
+
+eut_otp_readen:
+	setarg 0x288
+	branch eut_write_otpctrl
+
+// regb is otp address
+eut_write_otpaddr:
+	deposit regb
+	arg sec_otp_addr,contw
+	branch eut_write_word
+
+eut_otp_deselect:
+	setarg 0x20c
+	branch eut_write_otpctrl
+
+p_otp_custom_encryption_data_add_loop:
+	arg 13,loopcnt
+	arg OTP_INIT_VAL,temp
+	arg mem_read_otp_data,contr
+p_otp_custom_add:	
+	ifetch 2,contr
+	iadd temp,pdata
+	copy pdata,temp
+	loop p_otp_custom_add
+	rtn
+
+p_otp_custom_encryption_data_xor_loop:
+	arg 13,loopcnt
+	arg mem_read_otp_data,contr
+p_otp_custom_xor:	
+	ifetch 2,contr
+	ixor temp,pdata
+	copy pdata,temp
+	loop p_otp_custom_xor
+	rtn
+
+p_otp_judge_set_flag:
+	jam 0,mem_en_24g_flag
+	arg 0xffff,temp
+	iand temp,pdata
+	arg mem_read_otp_data+26,contr
+	ifetcht 2,contr
+	isub temp,null
+	nrtn zero
+	jam 1,mem_en_24g_flag
+	rtn
+
+p_check_otp_shaomaqiang_app:
+	call eut_read_otp_data
+	call p_otp_custom_encryption_data_add_loop
+	call p_otp_custom_encryption_data_xor_loop
+	call p_otp_judge_set_flag
+	fetch 1,mem_en_24g_flag
+	compare 1,pdata,0xff
+	rtn true
+	branch assert
+
+
+p_m_private_dispatch:
+	fetch 1,mem_m_process_enable
+	rtn blank
+	branch p_m_send_wake_data_process
+	
+
+p_m_send_wake_data_init:
+	jam 1,mem_m_process_enable
+
+	// Unit is 625us. 60*625 = 37.5ms
+	setarg 60
+	store 2,mem_m_wake_send_window
+
+p_m_send_wake_data_timer_init:
+	// Unit is 625us. 160*625 = 100ms
+	setarg 160
+	force m_wake_timer,queue//change adv interval to diffault to iphone frame
+	branch timer_init
+
+
+p_m_send_wake_data_process:
+	force m_wake_timer,queue
+	call timer_check
+	nrtn blank
+
+	call fetch_page_bt_adr
+
+	// Calc the access code.	
+	call p_m_access_code_generate
+
+	call p_m_send_wake_data_timer_init
+p_m_send_wake_data_start:
+	fetcht 2,mem_m_wake_send_window
+	disable swfine
+	copy temp,stop_watch
+
+p_m_send_wake_data_restart:
+	branch p_m_wait_remote_signal_packet,timeout
+	// send wake data process.
+//fetch 2,0x4fe0
+//increase 1,pdata
+//store 2,0x4fe0
+
+	call set_sync_on
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_tx
+	call start_transmitter
+	call p_m_transmit_packet
+	call end_of_packet
+	// wait a while.
+	nop 5000
+	branch p_m_send_wake_data_restart
+	rtn
+
+
+
+p_m_lap_generate:
+	fetch 9,mem_m_access_code
+	// remove trailer
+//	rshift4 pdata,pdata
+	// remove 34bit bch
+	rshift32 pdata,pdata
+	rshift2 pdata,pdata
+	store 3,mem_tmp0
+	fetchr lap,3,mem_tmp0
+	rtn
+
+
+p_m_access_code_generate:
+	call p_m_lap_generate
+	fetch 9,mem_m_access_code
+	// remove trailer
+//	rshift4 pdata,pdata
+	fetcht 8,mem_m_p_sequence
+	ixor temp,pdata
+	// get the sync word p xor result.
+	// 6bit + 24bit + 34bit
+	// |fix| |lap| |bch|  
+	store 8,mem_tmp0
+	fetch 5,mem_tmp0
+	// use ulp mode.
+	enable le
+	iforce access
+	disable le
+	// lap and ulp will generate the access cod.
+	rtn
+
+
+
+p_m_transmit_packet_access_and_header:
+	call send_access_word
+	//call scan_mode_whiten
+p_m_transmit_packet_header:
+	//rshift bt_clk,temp
+	//or temp,0x40,white_init
+	//enable enable_white
+	disable enable_white
+	enable enable_hec
+	enable encode_fec1
+	fetch 2,mem_m_snd_op
+	inject mod,10
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	rtn
+
+
+p_m_transmit_packet:
+	setarg 0x078
+	store 2,mem_m_snd_op
+	call p_m_transmit_packet_access_and_header
+
+p_m_transmit_wake_packet_payload:
+	//enable encode_fec2
+	enable encode_fec0
+	disable encrypt
+	enable enable_crc
+
+	// send l2cap header. LLID:0x00, Flow:0x00, Length: 0x153, Reserve: 0x00
+	setarg 0x0A98
+	inject mod, 16
+
+	// Total: 80*4 = 320Bytes
+	arg 80,loopcnt
+p_m_transmit_wake_packet_payload_data_loop0:
+	fetch 4,mem_m_wake_data
+	inject mod,32
+	loop p_m_transmit_wake_packet_payload_data_loop0
+
+	// Total: 19Bytes
+	arg 19,loopcnt
+p_m_transmit_wake_packet_payload_data_loop1:
+	setarg 0x00
+	inject mod,8
+	loop p_m_transmit_wake_packet_payload_data_loop1
+
+p_m_transmit_wake_packet_payload_data_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	rtn
+
+
+p_m_wait_remote_signal_packet:
+	fetcht 2,mem_m_wake_send_window
+	disable swfine
+	copy temp,stop_watch
+
+
+	disable clknt
+	disable attempt
+	
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_rx
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nbranch end_of_packet,sync
+//	call rf_debug_active_sync_line,sync
+
+p_m_receive_packet_header:
+	disable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,10
+	rshift pwindow,pdata
+	store 2,mem_m_rcv_op
+	parse demod,bucket,8 
+	disable decode_fec1
+	disable enable_hec
+	
+p_m_receive_packet_payload:
+//	call rf_debug_active_crc_error_line,crc_failed
+	branch end_of_packet,crc_failed
+
+	arg 18,loopcnt
+	arg mem_m_process_sync_buffer,contw //lmp_data or test packet
+	//branch tws_receive_packet_payload
+
+// input loopcnt -- packet length
+// input contw    -- packet buffer ptr
+p_m_receive_packet_payload_raw:
+	enable decode_fec2
+	//enable encrypt
+	enable enable_crc
+p_m_process_payload_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop p_m_process_payload_data
+p_m_process_payload_data_end:
+	parse demod,bucket,16  /* cycle through the crc */
+//	call rf_debug_active_crc_error_line,crc_failed
+	call end_of_packet	/* must have heard */
+	rtn crc_failed
+	fetch 6 ,mem_m_process_sync_buffer+2
+	fetcht 6,mem_hci_plap
+	isub temp,null
+	nrtn zero
+//fetch 2,mem_m_process_sync_buffer
+//store 2,0x4fe0
+	// remote clock unit is 312.5us/2 = 156.25us
+	fetch 4,mem_m_process_sync_buffer+14
+	rshift pdata,pdata
+	store 4,mem_clke_bt
+	fetch 1,mem_m_process_sync_buffer+1
+	store 1,extm_newconn_am_addr
+//	jam 0x04,extm_newconn_am_addr
+p_m_send_signal_packet:
+	//flag
+	setarg 0x67
+	store 1,mem_m_process_sync_buffer
+	fetch 6,mem_lap
+	store 6,mem_m_process_sync_buffer+1
+	setarg 0
+	store 9,mem_m_process_sync_buffer+7
+	//Clk Offset
+//	setarg 0
+//	store 3,mem_process_sync_buffer+13
+	
+//	setarg 0xea00
+//	store 2,mem_process_sync_buffer+16
+
+	// align the clock.
+	call rf_setup_time_slave_slot
+	call set_sync_on
+	// Use 2402MHz Freq
+	arg 0,temp
+	call set_freq_tx
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+p_m_transmit_signal_packet:
+	fetch 2,mem_m_rcv_op
+	store 2,mem_m_snd_op
+	call p_m_transmit_packet_access_and_header
+
+p_m_transmit_signal_packet_payload:
+	enable encode_fec2
+	disable encrypt
+	enable enable_crc
+
+	arg 13,loopcnt
+	arg mem_m_process_sync_buffer,contr
+p_m_transmit_signal_packet_payload_data_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_m_transmit_signal_packet_payload_data_loop
+
+p_m_transmit_signal_packet_payload_data_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call end_of_packet	/* must have heard */
+
+	jam 0,mem_m_process_enable
+
+p_slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch p_slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch p_slave_apply_clke_bt
+	
+p_slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	call prepare_newconn
+//	jam 10,mem_newconnto_counter
+p_slave_newconn_loop:
+	call slave_newconn_once
+//call ice_break,match
+	branch p_m_slave_connection_success,match     
+	call new_conn_timeout
+	nbranch p_slave_newconn_loop,blank
+	rtn
+//	branch p_m_send_wake_data_init
+
+p_m_slave_connection_success:
+	jam 1,mem_ns_wake_up_flag
+	fetch 1,mem_rxbuf
+	call p_parse_lmp_opcode_00
+	branch sconn_successful
+	//branch p_hci_send_connection_complete
+
+
+p_parse_lmp_opcode_00:
+	fetch 3,mem_rxbuf+1
+	store 3,mem_m_save_lmp_Ye
+	jam LMP_M_TEST_REQ,mem_lmo_opcode2
+	rtn
+
+
+p_send_lmp_opcode_00:
+	setarg 0x00
+	store 1,mem_lmp_to_send
+	fetch 1,mem_m_save_lmp_Ye
+	beq 0x00, p_send_lmp_rxbuf_00
+	beq 0x04, p_send_lmp_rxbuf_04
+	rtn
+
+p_send_lmp_rxbuf_00:
+	force 10,pdata
+	call msg_send_lmp
+	setarg 0x1d3201
+	istore 9,contw
+	setarg 0
+	branch send_lmp_exit
+
+p_send_lmp_rxbuf_04:
+	force 4,pdata
+	call msg_send_lmp
+	setarg 0x000004
+	istore 3,contw
+	setarg 1
+	branch send_lmp_exit
+
+/*
+p_send_lmp_rxbuf_00:
+	force 4,pdata
+	call msg_send_lmp
+	setarg 0x1f0004
+	istore 3,contw
+	branch send_lmp_request
+
+p_send_lmp_rxbuf_04:
+	force 10,pdata
+	call msg_send_lmp
+	setarg 0
+	istore 2,contw
+	setarg 0x1532
+	istore 8,contw
+	branch send_lmp_request
+*/
+
+	
+
+p_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
+//fetch 1, mem_rx_type
+//sub pdata,1,null
+//ncall ice_break,zero
+	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
+	branch slave_notmatch
+
+
+
Index: shoubing/program_patch/patch_chip_common_bugfix.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/patch_chip_common_bugfix.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/patch_chip_common_bugfix.prog	(working copy)
@@ -0,0 +1,140 @@
+
+/*
+	芯片公共bugfix
+*/
+
+/*
+	YC 3121 LPM  bugfix
+*/
+p_ahead_window:
+	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 p_clk2rt
+	branch ahead_window+12
+
+p_lpm_adjust_clk:
+	deposit clke
+	call p_clk_diff_rt
+	branch lpm_adjust_clk+3
+
+p_lpm_dispatch_next:
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call p_clk_diff_rt
+	branch lpm_dispatch_next+30
+
+p_clk_diff_rt:
+	call clk_diff
+p_clk2rt:
+	iforce contr
+	set0 16,contr
+	branch clk2rt+1
+
+/*
+	YC3121 没有exen GPIO
+	跳过disable exen
+*/
+p_soft_reset:
+	call rfcomm_init
+	call init_lmp
+	call p_ui_init
+	branch soft_reset + 9
+
+p_ui_init:
+	rtn wake
+	branch ui_timer_init
+
+p_main_loop:
+	call p_g24_dispatch
+	branch main_loop+1
+
+/*
+	YC3121 shutdown radio bugfix
+	rfen_adc bug 陶其文添加
+*/
+p_shutdown_radio:
+	branch p_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,p_shutdown_radio_0db
+	beq TX_POWER_3DB,p_shutdown_radio_3db
+	beq TX_POWER_5DB,p_shutdown_radio_5db
+	beq TX_POWER_f3DB,p_shutdown_radio_f3db
+	beq TX_POWER_f5DB,p_shutdown_radio_f5db
+	beq TX_POWER_PAIR,p_shutdown_radio_pair
+p_shutdown_radio_5db:	
+p_shutdown_radio_0db:
+	hjam 0xd0, 0x955
+	hjam 0xe0, 0x956
+p_shutdown_radio0:
+	force 0x08,radio_ctrl
+	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
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	rtn
+p_shutdown_radio_pair:
+p_shutdown_radio_f5db:
+p_shutdown_radio_f3db:
+p_shutdown_radio_3db:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	branch p_shutdown_radio0
+
+
+p_le_transmit:
+	call le_prep
+	call p_letx_setfreq
+	branch le_transmit0
+
+p_letx_setfreq:
+	branch p_txon,match
+	branch letx_setfreq+1
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+p_txon:	
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	branch txon+1
+
+
+p_init_param:
+	hjam 0x7c,rfen_adc
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
Index: shoubing/program_patch/patch_chip_function_bugfix.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/patch_chip_function_bugfix.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/program_patch/patch_chip_function_bugfix.prog	(working copy)
@@ -0,0 +1,13 @@
+
+/*
+	YC3121 芯片功能bugfix
+*/
+
+/*
+	关闭广播不能休眠的问题
+*/
+p_lpm_unconn_nossp:
+	branch lpm_unconn_cont				//BT/BLE discover don't infect lpm
+
+
+
Index: shoubing/sched/109x.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/109x.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/109x.dat	(working copy)
@@ -0,0 +1,52 @@
+mem_patch00:02
+mem_patch10:20
+mem_patch11:02
+mem_patch14:04
+mem_patch17:09
+mem_patch20:68
+mem_patch27:44
+mem_patch28:02
+mem_patch2a:04
+mem_patch33:02
+
+#mem_lpm_config:0f 84 30
+mem_lpm_config:0f 84 f0
+mem_lpm_xtalcnt:0a 0b b2 32
+mem_lpm_hibernate_switch:8b
+mem_lpm_doze_switch:0b
+mem_gpio_wakeup:00 00 00 00 00 00 00 00
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:40 00
+mem_iscan_interval:00 02
+mem_pscan_window:32 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 10
+
+
+
+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:
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+07 ff
+ff
+mem_rf_init_ptr:mem_rf_init
+
+
+
Index: shoubing/sched/24g_keyboard.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/24g_keyboard.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/24g_keyboard.dat	(working copy)
@@ -0,0 +1,20 @@
+
+
+#24g init
+mem_24g_mode:01#tx
+mem_24g_data_type:02        #mouse 1,kb 2
+mem_24g_max_retry:4#max tx retry
+mem_24g_no_ack:00#with ack
+mem_24g_rx_window:c0 12     #400us 
+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:00 48 5d 00 00 00 00 00#10 min
+mem_24g_enter_hibernate_max:ff ff ff ff
+
+
+
Index: shoubing/sched/DM_module.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/DM_module.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/DM_module.dat	(working copy)
@@ -0,0 +1,65 @@
+
+mem_device_option:0a
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:05
+#####################################
+
+
+
+
+################IPC BUFFER INIT#####################
+4FF0:00 1C
+4FF2:FF 1F
+4FF4:00 1C
+4FF6:00 1C
+4FF8:80 4C
+4FFA:E0 4F
+4FFC:80 4C
+4FFE:80 4C
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:20 0b
+mem_module_state:03
+mem_module_bluetooth_stauts_by_command:07
+
+mem_module_flag:00
+#bit0 MODULE_FLAG_UART_FLOW_CONTROL
+#bit1 MODULE_FLAG_BLE_SEND_MTU23
+#bit2 MODULE_FLAG_BLE_DATA_ENCRYPT
+mem_lpm_mode:00
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+mem_sniff_param_interval:0e 00
+
+###ble###
+
+#####################################
+
+#mem_m_access_code:0A 97 B3 EE 62 96 0E E6 54
+
+mem_m_p_sequence:FC 54 CC BB 96 8D 84 83
+
+mem_m_access_code:70 39 eb 2e 66 e9 60 4e
+
+mem_hci_plap:
+59 3a 98 e9 b6 98 
+#98 b6 e9 98 3a 59
+
+mem_m_wake_data:
+05 2e 67 dd 
+#2e eb 39 70
+
+#mem_m_access_code:8f c6 14 d1 66 e9 60 4e 
+#d114c68f 4e60e966
+
+mem_test_ptr:mem_test
+
+mem_link_key:
+F0 C0 93 E2 91 FA 78 23 D0 48 17 4C 5D 13 EB 23 
+mem_tx_power:02
+
Index: shoubing/sched/ble_keyboard.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/ble_keyboard.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/ble_keyboard.dat	(working copy)
@@ -0,0 +1,206 @@
+
+mem_module_le_lpm_mult:05
+
+
+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_pairing_handle:31 00
+
+
+
+mem_le_local_mtu:17
+mem_le_remote_mtu:17
+
+mem_le_secure_connect_enable:00
+mem_le_adv_channel_map:07
+mem_le_pairing_mode:00
+
+mem_le_adv_enable:00
+mem_le_adv_interval:40 00
+
+mem_le_lap:21 22 01 33 02 3a
+mem_le_name_len:
+'BT4.2 Keyboard
+
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 05
+03 19 c1 03
+03 03 12 18
+'\09BT4.2 Keyboard
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+'\09BT4.2 Keyboard
+
+
+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: 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 
+1d 42 54 34 2e 32 20 4b 65 79 62 6f 61 72 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20#'BT4.2 Keyboard
+
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 c1 03 
+#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
+#Manufacturer Name
+0d 00 02 03 28 01 02
+0e 00 02 29 2a 06 59 69 43 68 69 70			#IOS 13.5.1
+#Characteristic: pnp id
+0f 00 02 03 28 01 02
+10 00 02 50 2a 07 02 e8 04 21 70 01 00		# SAMSUNG soft keyboard,setup shortcuts
+
+#Primary service: HID
+11 00 02 00 28 02 12 18
+#Characteristic:Protocol mode
+12 00 02 03 28 01 06
+13 00 02 4e 2a 01 01
+#Characteristic: hid report
+14 00 02 03 28 01 12   
+15 00 02 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+16 00 02 02 29 02 00 00	
+17 00 02 08 29 02 01 01	#Report ID: 1	Report Type: Input
+
+#Characteristic:hid report
+18 00 02 03 28 01 12  
+19 00 02 4d 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  # d 14
+1a 00 02 02 29 02 00 00
+1b 00 02 08 29 02 07 01	#Report ID: 7	Report Type: Input 游戏键盘
+
+#Characteristic:hid report
+1c 00 02 03 28 01 12   
+1d 00 02 4d 2a 02 00 00 	#hid report	led handle write
+1e 00 02 02 29 02 00 00	
+1f 00 02 08 29 02 02 01	#Report ID: 2	Report Type: Input
+
+#Characteristic:hid report
+20 00 02 03 28 01 0e   
+21 00 02 4d 2a 02 00	00	#hid report	led handle write
+22 00 02 02 29 02 00 00	
+23 00 02 08 29 02 01 02	#Report ID: 1	Report Type: Output
+
+#Characteristic:Report map
+24 00 02 03 28 01 0a
+25 00 02 4b 2a 83		#length 66+25+60=160=0xa0 #0xa0 -0x45 +0x19=0x74
+#66+25+25=116=0x74
+
+# hid descriptor
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8501 # Report ID(1)
+7501 # Report Size(1)
+9508 # Report Count(8)
+0507 # Usage Page(Keyboard/Keypad)
+19e0 # Usage Minimum(224)
+29e7 # Usage Maximum(231)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+8102 # Input(Data Variable Absolute) ; Modifier byte
+9501 # Report Count(1)
+7508 # Report Size(8)
+8103 # Input(Constant Variable Absolute) ; 
+9505 # Report Count(5)
+7501 # Report Size(1)
+0508 # Usage Page(LEDs)
+1901 # Usage Minimum(1)
+2905 # Usage Maximum(5)
+9102 # Output(Data Variable Absolute) ; LED report
+9501 # Report Count(1)
+7503 # Report Size(3)
+9103 # Output(Constant Variable Absolute) ; 
+9506 # Report Count(6)
+7508 # Report Size(8)
+1500 # Logical Minimum(0)
+25ff # Logical Maximum(255)
+0507 # Usage Page(Keyboard/Keypad)
+1900 # Usage Minimum(0)
+29ff # Usage Maximum(255)
+8100 # Input(Data Array) ; Key arrarys 6 bytes
+c0 # End Collection
+
+
+05 0c #Usage Page (Consumer)
+09 01 #Usage (Consumer Control)	09 01
+a1 01 #Collection (Application)	A1 01
+85 02#    Report Id (2)	85 02			
+19 00 #    Usage Minimum (Unassigned)	19 00
+2a ff 03 #    Usage Maximum (Reserved (0x03FF))	2A FF 03
+15 00 #    Logical minimum (0)	15 00
+26 ff 03 #    Logical maximum (1'023)	26 FF 03
+95 01 #    Report Count (1)	95 01
+75 10 #    Report Size (16)	75 10
+81 00 #    Input (Data,Array,Absolute,Bit Field)	81 00
+c0 #End Collection	C0 
+
+#自定义
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8507# Report ID(7)    
+0507# Usage Page(Keyboard/Keypad)
+19e0 #    Usage Minimum (Keyboard Left Control)	19 E0
+29e7 #    Usage Maximum (Keyboard Right GUI)	29 E7
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+7501 #    Report Size (1)	75 01
+9508 # Report Count(8)
+8100 #     Input (Data,Array,Absolute,Bit Field)	81 00
+9598 #    Report Count (152)	95 98
+7501 # Report Size(1)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+0507 # Usage Page(Keyboard/Keypad)
+1900 #     Usage Minimum (No event indicated)	19 00
+2998 #     Usage Maximum (Reserved (0x0098))	29 98
+8102 # Input(Data Variable Absolute) ; Modifier byte
+c0 # End Collection
+
+#Characteristic:Hid information
+26 00 02 03 28 01 02
+27 00 02 4a 2a 04 11 01 00 01        
+#Characteristic
+28 00 02 03 28 01 04
+29 00 02 4c 2a 01 00
+
+#Primary Service: BAS
+2a 00 02 00 28 02 0f 18 
+#Characteristic: Battery Level
+2b 00 02 03 28 01 12 
+2c 00 02 19 2a 01 64 
+#Client Characteristic Configuration
+2d 00 02 02 29 02 00 00 
+#End of Attribute list
+00 00
+
+
+
+
Index: shoubing/sched/bt_keyboard.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/bt_keyboard.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/shoubing/sched/bt_keyboard.dat	(working copy)
@@ -0,0 +1,219 @@
+
+
+mem_app_connection_options:17
+
+###3.0###
+mem_scan_mode:00
+mem_module_spp_lpm_mult:28
+
+##############passkey CONFIG##############
+mem_sp_iocap_local:02 00 04
+mem_ssp_enable:01
+mem_ssp_mode_flag:02
+#####################################
+
+mem_ui_profile_supported:01
+
+mem_lap:1c  66 a4 d8 17 e4
+mem_local_name_length:
+'BT3.0 Keyboard
+
+###3.0 sinff param###
+mem_sniff_param_interval:0e 00
+mem_sniff_param_attempt:01
+mem_sniff_param_timeout:01
+mem_unsniff2sniff_timer:0a
+
+mem_class: 40 25 00
+
+mem_device_option:43
+mem_ptt:0
+mem_features:
+ff
+ff
+8f
+f8	#fe--EDR  F8--BR
+83	#AFHclose 83
+9d
+59
+82
+
+
+
+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:mem_module_uuid_list
+
+mem_module_uuid_list:
+#uuids
+04 0011 0100 1002 1124
+
+#handle
+00010000
+
+#total length
+36019a #01b6+19-43-2=1cf-43-2=18c-2=18a
+
+#attribute start, first 4 digit is attribute ID
+090000 0a 00010000
+090001 3503 191124
+090004 350d 3506 190100 090011 3503 190011
+090005 3503 191002
+090006 3509 09656e 09006a 090100
+090009 3508 3506 191124 090100
+09000d 350f 350d 3506 190100 090013 3503 190011
+
+#Service Name
+#090100 2517
+#'Apple Wireless Keyboard
+#41 70 70 6c 65 20 57 69 72 65 6c 65 73 73 20 4b 65 79 62 6f 61 72 64
+#Service Name
+090100 253d
+#'Broadcom Bluetooth Wireless  Keyboard                        
+4272 6f61 6463 6f6d 2042 6c75 6574 6f6f 7468 2057 6972 656c 6573 7320 204b 6579 626f 6172 6420 
+2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 20
+
+#Service Description
+090101 2508
+#'Keyboard
+4b6579626f617264
+
+#Provider Name
+#090102 250a
+#'Apple Inc.
+#41 70 70 6c 65 20 49 6e 63 2e
+#Provider Name
+090102 2510
+#'Broadcom Corp.  
+4272 6f61 6463 6f6d 2043 6f72 702e 2020
+
+090200 090100
+090201 090111
+090202 0840
+090203 0821
+090204 2801
+090205 2801
+090206 3589 3587 0822 2583  #9f+19-43-2 = 73
+
+# hid descriptor
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8501 # Report ID(1)
+7501 # Report Size(1)
+9508 # Report Count(8)
+0507 # Usage Page(Keyboard/Keypad)
+19e0 # Usage Minimum(224)
+29e7 # Usage Maximum(231)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+8102 # Input(Data Variable Absolute) ; Modifier byte
+9501 # Report Count(1)
+7508 # Report Size(8)
+8103 # Input(Constant Variable Absolute) ; 
+9505 # Report Count(5)
+7501 # Report Size(1)
+0508 # Usage Page(LEDs)
+1901 # Usage Minimum(1)
+2905 # Usage Maximum(5)
+9102 # Output(Data Variable Absolute) ; LED report
+9501 # Report Count(1)
+7503 # Report Size(3)
+9103 # Output(Constant Variable Absolute) ; 
+9506 # Report Count(6)
+7508 # Report Size(8)
+1500 # Logical Minimum(0)
+25ff # Logical Maximum(255)
+0507 # Usage Page(Keyboard/Keypad)
+1900 # Usage Minimum(0)
+29ff # Usage Maximum(255)
+8100 # Input(Data Array) ; Key arrarys 6 bytes
+c0 # End Collection
+
+
+05 0c #Usage Page (Consumer)
+09 01 #Usage (Consumer Control)	09 01
+a1 01 #Collection (Application)	A1 01
+85 02#    Report Id (2)	85 02			
+19 00 #    Usage Minimum (Unassigned)	19 00
+2a ff 03 #    Usage Maximum (Reserved (0x03FF))	2A FF 03
+15 00 #    Logical minimum (0)	15 00
+26 ff 03 #    Logical maximum (1'023)	26 FF 03
+95 01 #    Report Count (1)	95 01
+75 10 #    Report Size (16)	75 10
+81 00 #    Input (Data,Array,Absolute,Bit Field)	81 00
+c0 #End Collection	C0 
+
+#×??¨ò?
+0501 # Usage Page(Generic Desktop)
+0906 # Usage(Keyboard)
+a101 # Collection(Application)
+8507# Report ID(7)    
+0507# Usage Page(Keyboard/Keypad)
+19e0 #    Usage Minimum (Keyboard Left Control)	19 E0
+29e7 #    Usage Maximum (Keyboard Right GUI)	29 E7
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+7501 #    Report Size (1)	75 01
+9508 # Report Count(8)
+8100 #     Input (Data,Array,Absolute,Bit Field)	81 00
+95a8 #    Report Count (168)	95 A8
+7501 # Report Size(1)
+1500 # Logical Minimum(0)
+2501 # Logical Maximum(1)
+0507 # Usage Page(Keyboard/Keypad)
+1900 #     Usage Minimum (No event indicated)	19 00
+29a8 #     Usage Maximum (Reserved (0x00A8))	29 A8
+8102 # Input(Data Variable Absolute) ; Modifier byte
+c0 # End Collection
+
+
+090207 3508 3506 090409 090100
+09020b 090100
+09020c 090c80
+09020d 2800
+09020e 2801
+09020f 090318
+090210 0900       00
+#attribute end
+
+#uuids for pnpInformation	
+03 1002 1200 0001
+
+#handle
+00010001
+
+#total length 90 bytes
+3600a1
+
+#attribute list
+090000 0a00010001
+090001 3503 191200
+090004 350d 3506 190100 090001 3503 190001
+090006 3509 09656e 09006a 090100
+090009 3508 3506 191200 090100
+090100 252f42726f6164636f6d20426c7565746f6f746820576972656c657373204b6579626f61726420506e5020536572766572
+090101 25084b6579626f617264
+090200 090103
+090201# VendorID
+0904e8
+090202#ProductID
+097021
+090203 090001
+090204 2801
+090205 090002
+
+#attribute end
+00
+
+#Auto reconnection after power on
+
+
