Index: ebike/ebike_cid/prj/GCC/c.bat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/GCC/c.bat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/GCC/c.bat	(working copy)
@@ -0,0 +1,3 @@
+cls
+make clean
+make
\ No newline at end of file
Index: ebike/ebike_cid/prj/GCC/makefile
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/GCC/makefile	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/GCC/makefile	(working copy)
@@ -0,0 +1,236 @@
+
+ifeq ($(OS),Windows_NT)
+DIR = C:/gcc-arm-none-eabi-7-2018-q2-update-win32
+else
+DIR = /usr/gcc-arm-none-eabi-7-2018-q2-update
+endif
+
+ARCH = $(DIR)/bin/arm-none-eabi
+GCC = $(ARCH)-gcc
+LD = $(ARCH)-ld
+AS = $(ARCH)-as
+OBJCOPY = $(ARCH)-objcopy
+OBJDUMP = "$(ARCH)-objdump"
+LIB_PATH = ../../../../../Librarier
+USER_PATH = ../../user
+
+
+all : output/out.hex
+
+
+CORE_OBJS =  $(LIB_PATH)/startup/flash_start_gcc \
+             $(LIB_PATH)/core/system \
+             $(LIB_PATH)/core/bt_code \
+             $(LIB_PATH)/core/misc \
+             $(LIB_PATH)/sdk/yc_gpio \
+             $(LIB_PATH)/sdk/yc_uart \
+             $(LIB_PATH)/sdk/yc_lpm \
+             $(LIB_PATH)/sdk/yc_sysctrl \
+             $(LIB_PATH)/sdk/yc_bt \
+             $(LIB_PATH)/sdk/yc_systick \
+             $(LIB_PATH)/sdk/yc_ipc \
+             $(LIB_PATH)/sdk/yc_otp \
+             $(LIB_PATH)/sdk/yc_timer
+
+
+USER_OBJS = $(USER_PATH)/main
+
+
+OBJS = $(CORE_OBJS) $(USER_OBJS)
+
+INC_DIR = -I $(LIB_PATH)/core \
+          -I $(LIB_PATH)/sdk
+
+
+CFLAG =  -mthumb -mcpu=cortex-m0 -c -g -Os $(INC_DIR) $(DEF) -fno-toplevel-reorder -ffunction-sections -fdata-sections
+LDFLAG = -T output/ld.script -Map=output/memmap  $(LIB_PATH)/sdk/libyc_qspi.a -lc -lm -lgcc -L "$(DIR)/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m"  -L "$(DIR)/arm-none-eabi/lib/thumb/v6-m"
+
+define ldscript =
+/* Linker script to configure memory regions.
+ * Need modifying for a specific board.
+ *   FLASH.ORIGIN: starting address of flash
+ *   FLASH.LENGTH: length of flash
+ *   RAM.ORIGIN: starting address of RAM bank 0
+ *   RAM.LENGTH: length of RAM bank 0
+ */
+MEMORY
+{
+  FLASH (rx) : ORIGIN = 0x1000000, LENGTH = 0x80000 /* 512K */
+  RAM (rwx) : ORIGIN = 0x20000, LENGTH = 0x10000 /* 64K */
+}
+
+/* Linker script to place sections and symbol values. Should be used together
+ * with other linker script that defines memory regions FLASH and RAM.
+ * It references following symbols, which must be defined in code:
+ *   Reset_Handler : Entry of reset handler
+ *
+ * It defines following symbols, which code can use without definition:
+ *   __exidx_start
+ *   __exidx_end
+ *   __copy_table_start__
+ *   __copy_table_end__
+ *   __zero_table_start__
+ *   __zero_table_end__
+ *   __etext
+ *   __data_start__
+ *   __preinit_array_start
+ *   __preinit_array_end
+ *   __init_array_start
+ *   __init_array_end
+ *   __fini_array_start
+ *   __fini_array_end
+ *   __data_end__
+ *   __bss_start__
+ *   __bss_end__
+ *   __end__
+ *   end
+ *   __HeapLimit
+ *   __StackLimit
+ *   __StackTop
+ *   __stack
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+	.text :
+	{
+		*flash_start*.o
+		*(.text*)
+
+		KEEP(*(.init))
+		KEEP(*(.fini))
+
+		/* .ctors */
+		*crtbegin.o(.ctors)
+		*crtbegin?.o(.ctors)
+		*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
+		*(SORT(.ctors.*))
+		*(.ctors)
+
+		/* .dtors */
+ 		*crtbegin.o(.dtors)
+ 		*crtbegin?.o(.dtors)
+ 		*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
+ 		*(SORT(.dtors.*))
+ 		*(.dtors)
+
+		*(.rodata*)
+
+		KEEP(*(.eh_frame*))
+	} > FLASH
+
+
+
+	.ARM.extab :
+	{
+		*(.ARM.extab* .gnu.linkonce.armextab.*)
+	} > FLASH
+
+
+	.ARM.exidx :
+	{
+		*(.ARM.exidx* .gnu.linkonce.armexidx.*)
+	} > FLASH
+
+	 . = ALIGN(4);
+	__exidx_start = .;
+
+	__etext = .;
+
+	.data : AT (__etext)
+	{
+		__data_start__ = .;
+		*(vtable)
+		*(.data*)
+
+		. = ALIGN(4);
+		/* preinit data */
+		PROVIDE_HIDDEN (__preinit_array_start = .);
+		KEEP(*(.preinit_array))
+		PROVIDE_HIDDEN (__preinit_array_end = .);
+
+		. = ALIGN(4);
+		/* init data */
+		PROVIDE_HIDDEN (__init_array_start = .);
+		KEEP(*(SORT(.init_array.*)))
+		KEEP(*(.init_array))
+		PROVIDE_HIDDEN (__init_array_end = .);
+
+
+		. = ALIGN(4);
+		/* finit data */
+		PROVIDE_HIDDEN (__fini_array_start = .);
+		KEEP(*(SORT(.fini_array.*)))
+		KEEP(*(.fini_array))
+		PROVIDE_HIDDEN (__fini_array_end = .);
+
+		KEEP(*(.jcr*))
+		. = ALIGN(4);
+		/* All data end */
+		__data_end__ = .;
+
+	} > RAM
+
+	.bss :
+	{
+		. = ALIGN(4);
+		__bss_start__ = .;
+		*(.bss*)
+		*(COMMON)
+		. = ALIGN(4);
+		__bss_end__ = .;
+	} > RAM
+
+	.heap (COPY):
+	{
+		__end__ = .;
+		PROVIDE(end = .);
+		*(.heap*)
+		__HeapLimit = .;
+	} > RAM
+
+	/* .stack_dummy section doesn't contains any symbols. It is only
+	 * used for linker to calculate size of stack sections, and assign
+	 * values to stack symbols later */
+	.stack_dummy (COPY):
+	{
+		*(.stack*)
+	} > RAM
+
+	/* Set stack top to end of RAM, and stack limit move down by
+	 * size of stack_dummy section */
+	__StackTop = ORIGIN(RAM) + LENGTH(RAM);
+	__StackLimit = __StackTop - SIZEOF(.stack_dummy);
+	PROVIDE(__stack = __StackTop);
+
+	/* Check if data + heap + stack exceeds RAM limit */
+	ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
+}
+endef
+
+
+output/out.hex : output/out
+	$(OBJCOPY) $^ -O ihex $@
+
+
+output/out : $(addprefix output/, $(addsuffix .o, $(OBJS)))
+	$(file >output/ld.script, $(ldscript))
+	$(LD) $(addprefix output/obj/,$(addsuffix .o, $(notdir $(OBJS)))) -o $@ $(LDFLAG)
+	$(OBJDUMP) -S $@ > output/disasm
+
+output/%.o : %.c
+	$(GCC) $< $(CFLAG) -o output/obj/$(notdir $@)
+
+output/%.o : %.s
+	$(AS) $^ -mthumb -mcpu=cortex-m0 -o output/obj/$(notdir $@)
+
+
+clean :
+ifeq ($(OS),Windows_NT)
+	del /Q output\*.*
+	del /Q output\obj\*.*
+else
+	rm -rf output/*
+	rm -rf output/obj/*
+endif
Index: ebike/ebike_cid/prj/MDK/Objects/YC3121_keil.sct
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/Objects/YC3121_keil.sct	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/Objects/YC3121_keil.sct	(working copy)
@@ -0,0 +1,55 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x00000000 0x0001fff  {    ; load region size_region
+  ER_IROM1 0x00000000 0x00001fff  {  ; load address = execution address
+   startup.o (RESET, +First)
+   startup.o (|.text|,+RO)
+;   *(InRoot$$Sections)
+  }
+  ;ER_IROM2 0x4000   {
+  ;rom_main.o (+RO)
+  ;}
+  
+  ;ER_IROM3 0x100000 {
+	  ;*(InRoot$$Sections)
+  ;}
+	
+  ;ER_IROM4 0x100400   {
+  ;flash_start.o (+RO)
+  ;.ANY (+RO) 
+  ;}
+  
+  ;RW_IRAM1 0x000d0000 0x0010000  {  ; RW data
+   ;.ANY (+RW +ZI)
+  ;}
+  
+;  ARM_LIB_STACK 0xE0000 EMPTY -0x10000{}
+}
+
+;LR_IROM2 0x4000 0x4000{
+;	ER_IROM2 0x4000 {
+;	  rom_main.o (+RO)
+;	}
+;}
+
+LR_IROM3 0x1000200 0x200{
+	ER_IROM3 0x1000200 {
+	  flash_start.o (|.flash_start|,+RO)
+	}
+}
+
+LR_IROM4 0x1000400 0x1000000{
+	ER_IROM4 0x1000400 {
+;	  flash_start.o (|.flash_start|,+RO)
+	  *(InRoot$$Sections)
+	  .ANY (+RO)
+	}
+	
+	
+	 RW_IRAM2 0x00020000 0x010000  {  ; RW data
+	.ANY (+RW +ZI)
+	}
+}
+
Index: ebike/ebike_cid/prj/MDK/YC3121.BAT
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/YC3121.BAT	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/YC3121.BAT	(working copy)
@@ -0,0 +1,23 @@
+SET PATH=C:\Keil_v5\ARM\ARMCC\Bin;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files (x86)\RBTools\bin;C:\Program Files\Python39\Scripts\;C:\Program Files\Python39\;C:\Perl\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\TortoiseSVN\bin;C:\gcc-arm-none-eabi-7-2018-q2-update-win32;C:\Keil_v5\UV4\UV4;C:\Users\yichip-111\AppData\Local\Microsoft\WindowsApps;C:\Users\yichip-111\AppData\Local\Programs\Microsoft VS Code\bin;C:\MentorGraphics\PADSVX.2\SDD_HOME\CAMCAD;C:\MinGW\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files\Python39\Scripts;C:\Program Files\Python39;C:\Windows;C:\Perl\bin\;C:\Users\yichip-111\AppData\Local\Microsoft\WindowsApps;C:\Users\yichip-111\AppData\Local\Programs\Microsoft VS Code\bin;C:\MentorGraphics\PADSVX.2\SDD_HOME\CAMCAD;C:\MinGW\bin;C:\gcc-arm-none-eabi-7-2018-q2-update-win32;
+SET CPU_TYPE=ARMCM0
+SET CPU_VENDOR=ARM
+SET UV2_TARGET=YC3121
+SET CPU_CLOCK=0x00B71B00
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\misc.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\system.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\bt_code.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\main.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_bt.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_gpio.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_uart.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_ipc.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_otp.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_systick.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_timer.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_lpm.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\yc_sysctrl.__i"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmAsm" --Via ".\objects\flash_start._ia"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmAsm" --Via ".\objects\startup._ia"
+"C:\Keil_v5\ARM\ARMCC\Bin\ArmLink" --Via ".\Objects\YC3121_Keil.lnp"
+"C:\Keil_v5\ARM\ARMCC\Bin\fromelf.exe" ".\Objects\YC3121_Keil.axf" --i32combined --output ".\Objects\YC3121_Keil.hex"
+fromelf.exe --text -a -c --output=YC3121_Keil_asm.txt ".\Objects\YC3121_Keil.axf"
Index: ebike/ebike_cid/prj/MDK/YC3121_Keil.uvoptx
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/YC3121_Keil.uvoptx	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/YC3121_Keil.uvoptx	(working copy)
@@ -0,0 +1,426 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
+
+  <SchemaVersion>1.0</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Extensions>
+    <cExt>*.c</cExt>
+    <aExt>*.s*; *.src; *.a*</aExt>
+    <oExt>*.obj; *.o</oExt>
+    <lExt>*.lib</lExt>
+    <tExt>*.txt; *.h; *.inc</tExt>
+    <pExt>*.plm</pExt>
+    <CppX>*.cpp</CppX>
+    <nMigrate>0</nMigrate>
+  </Extensions>
+
+  <DaveTm>
+    <dwLowDateTime>0</dwLowDateTime>
+    <dwHighDateTime>0</dwHighDateTime>
+  </DaveTm>
+
+  <Target>
+    <TargetName>YC3121</TargetName>
+    <ToolsetNumber>0x4</ToolsetNumber>
+    <ToolsetName>ARM-ADS</ToolsetName>
+    <TargetOption>
+      <CLKADS>12000000</CLKADS>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>0</RunSim>
+        <RunTarget>1</RunTarget>
+        <RunAbUc>0</RunAbUc>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>1</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>79</PageWidth>
+        <PageLength>66</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>.\Listings\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>1</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>1</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>7</CpuCode>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <tRtrace>1</tRtrace>
+        <sRSysVw>1</sRSysVw>
+        <tRSysVw>1</tRSysVw>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>4</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile></sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile>..\..\..\..\..\ConfigFiles\MDK\flash.ini</tIfile>
+        <pMon>Segger\JL2CM3.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGUARM</Key>
+          <Name>d</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>PWSTATINFO</Key>
+          <Name>200,50,700</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMRTXEVENTFLAGS</Key>
+          <Name>-L70 -Z18 -C0 -M0 -T1</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGTARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMDBGFLAGS</Key>
+          <Name></Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>JL2CM3</Key>
+          <Name>-U4294967295 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO31 -FD20000 -FCA000 -FN1 -FF0YC3121 -FS01000200 -FL01000000</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>UL2CM3</Key>
+          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint/>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>0</periodic>
+        <aLwin>1</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>1</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>0</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
+    </TargetOption>
+  </Target>
+
+  <Group>
+    <GroupName>core</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>1</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\core\misc.c</PathWithFileName>
+      <FilenameWithoutPath>misc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\core\system.c</PathWithFileName>
+      <FilenameWithoutPath>system.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>3</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\trunk\output\bt_code.c</PathWithFileName>
+      <FilenameWithoutPath>bt_code.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>main</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\user\main.c</PathWithFileName>
+      <FilenameWithoutPath>main.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>sdk</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>5</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_bt.c</PathWithFileName>
+      <FilenameWithoutPath>yc_bt.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>6</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>yc_gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_uart.c</PathWithFileName>
+      <FilenameWithoutPath>yc_uart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>8</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_ipc.c</PathWithFileName>
+      <FilenameWithoutPath>yc_ipc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>9</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_otp.c</PathWithFileName>
+      <FilenameWithoutPath>yc_otp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>10</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_systick.c</PathWithFileName>
+      <FilenameWithoutPath>yc_systick.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>11</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_timer.c</PathWithFileName>
+      <FilenameWithoutPath>yc_timer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>12</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_lpm.c</PathWithFileName>
+      <FilenameWithoutPath>yc_lpm.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>13</FileNumber>
+      <FileType>4</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_qspi.lib</PathWithFileName>
+      <FilenameWithoutPath>yc_qspi.lib</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>14</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\sdk\yc_sysctrl.c</PathWithFileName>
+      <FilenameWithoutPath>yc_sysctrl.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>startup</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>15</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\startup\flash_start.s</PathWithFileName>
+      <FilenameWithoutPath>flash_start.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>16</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\..\Librarier\startup\startup.s</PathWithFileName>
+      <FilenameWithoutPath>startup.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+</ProjectOpt>
Index: ebike/ebike_cid/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/YC3121_Keil.uvprojx	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/prj/MDK/YC3121_Keil.uvprojx	(working copy)
@@ -0,0 +1,492 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+  <SchemaVersion>2.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>YC3121</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
+      <uAC6>0</uAC6>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>ARMCM0</Device>
+          <Vendor>ARM</Vendor>
+          <PackID>ARM.CMSIS.5.5.1</PackID>
+          <PackURL>http://www.keil.com/pack/</PackURL>
+          <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ESEL ELITTLE</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile></StartupFile>
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+          <DeviceId>0</DeviceId>
+          <RegisterFile>$$Device:ARMCM0$Device\ARM\ARMCM0\Include\ARMCM0.h</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile>$$Device:ARMCM0$Device\ARM\SVD\ARMCM0.svd</SFDFile>
+          <bCustSvd>0</bCustSvd>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath></RegisterFilePath>
+          <DBRegisterFilePath></DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\Objects\</OutputDirectory>
+          <OutputName>YC3121_Keil</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\Listings\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>1</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopB1X>0</nStopB1X>
+            <nStopB2X>0</nStopB2X>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>fromelf.exe --text -a -c --output=@L_asm.txt "!L"</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+          <ComprImg>1</ComprImg>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>  </SimDllArguments>
+          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments> </TargetDllArguments>
+          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>1</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4100</DriverSelection>
+          </Flash1>
+          <bUseTDR>0</bUseTDR>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
+          <FcArmLst>0</FcArmLst>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M0"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>0</RvdsVP>
+            <RvdsMve>0</RvdsMve>
+            <hadIRAM2>0</hadIRAM2>
+            <hadIROM2>0</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>1</EndSel>
+            <uLtcg>0</uLtcg>
+            <nSecure>0</nSecure>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>1</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>1</Im1Chk>
+            <Im2Chk>0</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x20000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x40000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x1000000</StartAddress>
+                <Size>0x80000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x20000</StartAddress>
+                <Size>0x10000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>1</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>1</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <uC99>1</uC99>
+            <uGnu>0</uGnu>
+            <useXO>0</useXO>
+            <v6Lang>1</v6Lang>
+            <v6LangP>1</v6LangP>
+            <vShortEn>1</vShortEn>
+            <vShortWch>1</vShortWch>
+            <v6Lto>0</v6Lto>
+            <v6WtE>0</v6WtE>
+            <v6Rtti>0</v6Rtti>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>__USEKEILCOMPILE__</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\..\..\..\..\..\Librarier\core;..\..\..\..\..\..\Librarier\sdk;..\..\user</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <useXO>0</useXO>
+            <uClangAs>0</uClangAs>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>0</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x00000000</TextAddressRange>
+            <DataAddressRange>0xd0000</DataAddressRange>
+            <pXoBase></pXoBase>
+            <ScatterFile>.\Objects\YC3121_keil.sct</ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>core</GroupName>
+          <Files>
+            <File>
+              <FileName>misc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\core\misc.c</FilePath>
+            </File>
+            <File>
+              <FileName>system.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\core\system.c</FilePath>
+            </File>
+            <File>
+              <FileName>bt_code.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\trunk\output\bt_code.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>main</GroupName>
+          <Files>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\user\main.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>sdk</GroupName>
+          <Files>
+            <File>
+              <FileName>yc_bt.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_bt.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_uart.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_ipc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_ipc.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_otp.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_otp.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_systick.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_systick.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_timer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_timer.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_lpm.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_lpm.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_qspi.lib</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_qspi.lib</FilePath>
+            </File>
+            <File>
+              <FileName>yc_sysctrl.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\sdk\yc_sysctrl.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>startup</GroupName>
+          <Files>
+            <File>
+              <FileName>flash_start.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\startup\flash_start.s</FilePath>
+            </File>
+            <File>
+              <FileName>startup.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\..\..\Librarier\startup\startup.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+  <RTE>
+    <apis/>
+    <components/>
+    <files/>
+  </RTE>
+
+</Project>
Index: ebike/ebike_cid/user/main.h
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/user/main.h	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/user/main.h	(working copy)
@@ -0,0 +1,55 @@
+#ifndef __YC_MAIN_H__
+#define __YC_MAIN_H__
+
+#include "type.h"
+
+#define BT_NUM 5 // 多通道
+#define BTADDR_LEN 6
+#define LINK_KEY_LEN 16
+
+#define NVRAM_INV 0xFF
+#define NVRAM_DNO 0xDADADADA
+
+#define IFLASH_NVRAM_ADDR           (0x1000000 + ((512 - 4) * 1024))
+#define IFLASH_USER_INFO_ADDR       (0x1000000 + ((512 - 8) * 1024))
+#define USER_INFO_PAGA              (4*1024) //4k
+
+/**
+ * @brief 蓝牙绑定信息
+ * 
+ */
+typedef struct
+{
+  uint8_t btaddr[BTADDR_LEN];
+  uint8_t hostbtaddr[BTADDR_LEN];
+  uint8_t link_key[LINK_KEY_LEN];
+} bt_bond_info_t;
+
+/**
+ * @brief BT nvram data typedef
+ * 
+ */
+typedef struct
+{
+  bt_bond_info_t bt_bond_info[BT_NUM];
+  uint32_t nvflag;
+  uint32_t nvid;
+  uint32_t inv_flag;
+} nvram_t;
+
+
+typedef struct
+{
+    uint8_t bt_index;
+} user_info_t;
+
+
+
+
+
+
+
+
+
+
+#endif
Index: ebike/ebike_cid/user/main.c
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/user/main.c	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/ebike_cid/user/main.c	(working copy)
@@ -0,0 +1,783 @@
+/**
+  ******************************************************************************
+  * @file    3121Demo\ModuleDemo\BlueTooth\BT&BLE\user\main.c
+  * @author  Yichip Application Team
+  * @version V1.0.0
+  * @date    18-Feb-2020
+  * @brief   BT&BLE test program.
+  ******************************************************************************
+  * @attention
+  *
+  * COPYRIGHT 2019 Yichip Microelectronics
+  *
+  * The purpose of this firmware is to provide guidance to customers engaged in
+	* programming work to guide them smoothly to product development,
+	* so as to save their time.
+	*
+	* Therefore, Yichip microelectronics shall not be responsible for any direct,
+	* indirect or consequential damages caused by any content of this gu jiang
+	* and/or contained in this code used by the customer in its products.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "yc3121.h"
+#include "yc_gpio.h"
+#include "yc_uart.h"
+#include "yc_bt.h"
+#include "yc_systick.h"
+#include "yc_qspi.h"
+#include "yc_ipc.h"
+#include "board_config.h"
+#include "main.h"
+
+
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+#define IPC_UART UART0
+#define UART_TO_IPC_BAUDRATE	921600
+//#define UART_TO_IPC
+
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+void UART_Configuration(void);
+
+
+nvram_t nvram_data;
+
+user_info_t user_info;
+
+
+
+// byte0锛 uuid length
+//byte1-16: uuid
+// 49535343-FE78-4AE5-8FA9-9FAFD205E455
+uint8_t ble_service_uuid_lsps[] = {0x10,0x55,0xe4,0x05,0xd2,0xaf,0x9f,0xa9,0x8f,0xe5,0x4a,0x7d,0xfe,0x43,0x53,0x53,0x49};
+
+/*
+byte0: characterisitic
+byte1:characterisitic uuid length
+byte2-17:characterisitic uuid
+byte18:write/read payload length
+byte19-20:write/read payload
+*/
+//49535343-1E4D-4BD9-BA61-23C647249616
+uint8_t ble_Characteristic_uuid_lsps_tx[] = {0x10,0x10,0x16,0x96,0x24,0x47,0xc6,0x23,0x61,0xba,0xd9,0x4b,0x4d,0x1e,0x43,0x53,0x53,0x49,0x01,0x00};
+//49535343-8841-43F4-A8D4-ECBE34729BB3
+uint8_t ble_Characteristic_uuid_lsps_rx[] = {0x0c,0x10,0xb3,0x9b,0x72,0x34,0xbe,0xec,0xd4,0xa8,0xf4,0x43,0x41,0x88,0x43,0x53,0x53,0x49,0x01,0x00};
+//49535343-aca3-481c-91ec-d85e28a60318
+uint8_t ble_Characteristic_uuid_flow_ctrl[] = {0x18,0x10,0x18,0x03,0xa6,0x28,0x5e,0xd8,0xec,0x91,0x1c,0x48,0xa3,0xac,0x43,0x53,0x53,0x49,0x01,0x00};
+
+
+
+//#define NVRAM_LEN 170//Nvram 闀垮害170bytes,姣忕粍Nvram闀垮害涓34bytes,鏈澶氬彲瀛樺偍5缁勯厤瀵逛俊鎭
+
+uint16_t ble_send_handle=0x2a;
+uint8_t bt_cod[3] = {0x24,0x04,0x04};
+//uint8_t NvramData[NVRAM_LEN]={0};
+uint8_t LinkKeyData[16]={0};
+
+uint8_t check_bond_info_valid(uint8_t indx);
+void bt_start_reconnect(uint8_t btindex);
+
+uint8_t app_get_nvram_data(nvram_t* nvramdat);
+uint8_t app_save_nvram(nvram_t* nvram_data, uint8_t* nvram, uint8_t btindex);
+
+void Uart_PrintArray(const char *str,uint8_t *dataBuf,uint8_t dataLen);
+uint8_t BT_Get_Rssi(void);
+
+//write flash
+uint8_t   ReserveNV(uint8_t* nvram);
+extern tick SystickCount;
+#ifdef UART_TO_IPC
+HCI_TypeDef HCI_Tx;
+HCI_TypeDef HCI_Rx;
+uint8_t ipc_tx_buf[256];
+uint8_t ipc_rx_buf[256];
+#endif
+
+void BT_IRQHandler()
+{
+	while(IPC_have_data())
+	{
+		#ifdef UART_TO_IPC
+		if(TRUE==IPC_ReadBtData(&HCI_Rx))
+		{
+			UART_SendBuf(IPC_UART,(uint8_t*)&HCI_Rx,3);
+			UART_SendBuf(IPC_UART,HCI_Rx.p_data,HCI_Rx.DataLen);
+		}
+		#else
+		BT_ParseBTData();
+		#endif
+	}
+
+	BT_CONFIG &= (~(1<<BT_INIT_FLAG));
+}
+
+void SYSTICK_IRQHandler()
+{
+	SystickCount++;
+	if(SystickCount>=TICK_MAX_VALUE)	SystickCount=0;
+}
+
+
+
+static uint8_t hex_lookup[16] = { '0', '1', '2', '3', '4', '5', '6', '7','8','9', 'a', 'b', 'c', 'd', 'e', 'f' };
+static void array2hex(uint8_t* in, int inlen, uint8_t* out)
+{
+	int i;
+	for (i = 0; i < inlen; ++i)
+	{
+		out[2 * i] = hex_lookup[in[inlen-1-i] >> 4];
+		out[2 * i + 1] = hex_lookup[in[inlen-1-i] & 0x0f];
+	}
+}
+
+void genBleAdvData(uint8_t *ble_name,int ble_name_len,uint8_t *ble_mac,uint8_t *ble_adv_data)
+{
+    int index=0;
+    //property
+    ble_adv_data[index++]=0x02;
+    ble_adv_data[index++]=0x01;
+    ble_adv_data[index++]=0x02;
+    //name
+    ble_adv_data[index++]=(ble_name_len+1);
+    ble_adv_data[index++]=0x09;//name flag
+    for(int i=0;i<ble_name_len;i++)
+    {
+        ble_adv_data[index++]=ble_name[i];
+    }
+    //manufacturer info
+    ble_adv_data[index++]=0x09;
+    ble_adv_data[index++]=0xff;//manufacturer info flag
+    ble_adv_data[index++]=0x00;
+    ble_adv_data[index++]=0x00;
+    for(int i=0;i<6;i++)
+    {
+        ble_adv_data[index++]=ble_mac[5-i];
+    }
+    //fill
+    while(index<31)
+    {
+        ble_adv_data[index++]=0x00;
+    }
+}
+
+
+/**
+  * @brief  Main program
+  * @param  None
+  * @retval None
+  */
+int main(void)
+{
+	uint8_t bt_name[15] = "YC3121bt";
+    uint8_t ble_name[16] = "YC3121ble";
+	uint8_t bt_addr[6] =  {0x00,0x00,0x00,0x33,0x22,0x10};
+    uint8_t ble_addr[6] =  {0x00,0x00,0x00,0x44,0x22,0x10};
+	uint8_t chip_id[6]={0};
+    uint8_t ble_adv_data[31]={0x02,0x01,0x02,0x00};
+	uint16_t temp_handle;
+
+	int UARTCMD = 0;
+	uint8_t getbtstatus = 0;
+	int i = 0;
+	#ifdef UART_TO_IPC
+	HCI_Tx.p_data=ipc_tx_buf;
+	HCI_Rx.p_data=ipc_rx_buf;
+	#endif
+	UART_Configuration();
+	MyPrintf("bt ble demo\n");
+	SysTick_Config(CPU_MHZ/100);
+
+	BT_Init();
+	enable_intr(INTR_BT);
+
+	read_chipid(chip_id);
+	array2hex(chip_id,3,bt_name+8);
+	bt_name[14]='\0';
+	memcpy(bt_addr,chip_id,3);
+    
+    array2hex(chip_id,3,ble_name+9);
+	ble_name[15]='\0';
+	memcpy(ble_addr,chip_id,3);
+
+	if(BT_SetBleName(ble_name,sizeof(ble_name)-1)==TRUE)
+		MyPrintf("SetBleName_suc ble name:%s\n",ble_name);
+	else
+		MyPrintf("SetBleName_failed\n");
+
+	if(BT_SetBtName(bt_name,sizeof(bt_name)-1) == TRUE)//bt涓巄le鍚嶅瓧鍦板潃鍙互璁剧疆鎴愪竴鏍
+		MyPrintf("SetbtName_suc\n");
+	else
+		MyPrintf("SetbtName_fail\n");
+
+	if(BT_SetBleAddr(ble_addr) == TRUE)
+		MyPrintf("SetBleAddr_suc\n");
+	else
+		MyPrintf("SetBleAddr_fail\n");
+
+	if(BT_SetParingMode(BT_PARING_MODE_JUSTWORK) == TRUE)//璁剧疆閰嶅妯″紡涓簀ustwork
+		MyPrintf("set justwork mode success\n");
+	else
+		MyPrintf("set justwork mode failed\n");
+
+	if(BT_SetCOD(bt_cod) == TRUE) //璁剧疆COD
+		MyPrintf("set COD sucess\n");
+	else
+		MyPrintf("set COD failed\n");
+
+	if(BT_SetLpmMode(0x00) == TRUE) //璁剧疆浣庡姛鑰楁ā寮
+		MyPrintf("set lpm mode sucess\n");
+	else
+		MyPrintf("set lpm mode failed\n");
+
+
+	if(BT_DeleteService() == TRUE) //  鍒犻櫎鐢ㄦ埛鑷畾涔夋湇鍔
+		MyPrintf("delete service sucess\n");
+	else
+		MyPrintf("delete service failed\n");
+
+	temp_handle=BT_AddBleService(ble_service_uuid_lsps,sizeof(ble_service_uuid_lsps));
+	if( temp_handle!= 0)  //澧炲姞鏈嶅姟 杩斿洖handle鏃犻渶淇濆瓨
+		MyPrintf("add service sucess,handle=%04x\n",temp_handle);
+	else
+		MyPrintf("add service failed,return=%04x\n",temp_handle);
+
+	ble_send_handle=BT_AddBleCharacteristic(ble_Characteristic_uuid_lsps_tx,sizeof(ble_Characteristic_uuid_lsps_tx));
+	if( ble_send_handle!= 0)  //澧炲姞鏈嶅姟鐗瑰緛  write杩斿洖鐨刪andle闇瑕佷繚瀛橈紝鍙戞暟鎹娇鐢
+		MyPrintf("add Characteristic tx sucess,handle=%04x\n",ble_send_handle);
+	else
+		MyPrintf("add Characteristic tx failed,return=%04x\n",ble_send_handle);
+
+	temp_handle=BT_AddBleCharacteristic(ble_Characteristic_uuid_lsps_rx,sizeof(ble_Characteristic_uuid_lsps_rx));
+	if( temp_handle!= 0)
+		MyPrintf("add Characteristic rx sucess;handle=%04x\n",temp_handle);
+	else
+		MyPrintf("add Characteristic rx failed,return=%04x\n",temp_handle);
+
+	temp_handle=BT_AddBleCharacteristic(ble_Characteristic_uuid_flow_ctrl,sizeof(ble_Characteristic_uuid_flow_ctrl));
+	if( temp_handle!= 0)
+		MyPrintf("add Characteristic flow_ctrl sucess;handle=%04x\n",temp_handle);
+	else
+		MyPrintf("add Characteristic flow_ctrl failed,return=%04x\n",temp_handle);
+
+    genBleAdvData(ble_name,sizeof(ble_name)-1,ble_addr,ble_adv_data);
+    if(BT_SetLEAdvData(ble_adv_data,sizeof(ble_adv_data)) == TRUE)
+		MyPrintf("BT_SetLEAdvData sucess\n");
+	else
+		MyPrintf("BT_SetLEAdvData failed\n");
+
+    if(BT_SetLEScanData(ble_adv_data,sizeof(ble_adv_data)) == TRUE)
+		MyPrintf("BT_SetLEScanData sucess\n");
+	else
+		MyPrintf("BT_SetLEScanData failed\n");
+
+
+	MyPrintf("bt version=%x\n",BT_GetVersion());
+
+    app_get_nvram_data(&nvram_data);
+    
+    for(int i=0;i<BT_NUM;i++)
+    {
+        MyPrintf("[index %d]:\r\n", i);
+        Uart_PrintArray("nvram_data.bt_bond_info.btaddr",&nvram_data.bt_bond_info[i].btaddr[0],6);
+        Uart_PrintArray("nvram_data.bt_bond_info.hostbtaddr",&nvram_data.bt_bond_info[i].hostbtaddr[0],6);
+        for(int j=0;j<16;j++)
+        {
+            LinkKeyData[j] = nvram_data.bt_bond_info[i].link_key[15-j];
+        }
+        Uart_PrintArray("nvram_data.bt_bond_info.link_key",LinkKeyData,16);
+    }
+    MyPrintf("\r\n");
+    
+    if (user_info.bt_index > BT_NUM)
+    {
+        user_info.bt_index = 0;
+    }
+    user_info.bt_index = 0;
+    memcpy(nvram_data.bt_bond_info[user_info.bt_index].btaddr, bt_addr, BT_ADDR_LEN);
+    
+    if(BT_SetBtAddr(bt_addr) == TRUE)
+        MyPrintf("SetBtAddr_suc\n");
+	else
+		MyPrintf("SetBtAddr_fail\n");
+    
+
+	bt_start_reconnect(user_info.bt_index);
+
+	if(BT_SetVisibility(0x01,0x01,0x01) == TRUE)  //璁剧疆鍙彂鐜
+		MyPrintf("BT_SetVisibility success\n");
+	else
+		MyPrintf("BT_SetVisibility failed\n");
+
+	while (1)
+	{
+		//uart cmd to ipc
+		#ifdef UART_TO_IPC
+		if(UART_IsRXFIFONotEmpty(IPC_UART))
+		{
+			HCI_Tx.type = UART_ReceiveData(IPC_UART);
+			while(!UART_IsRXFIFONotEmpty(IPC_UART));
+			HCI_Tx.opcode = UART_ReceiveData(IPC_UART);
+			while(!UART_IsRXFIFONotEmpty(IPC_UART));
+			HCI_Tx.DataLen = UART_ReceiveData(IPC_UART);
+			i=0;
+			while(i<HCI_Tx.DataLen)
+			{
+				while(!UART_IsRXFIFONotEmpty(IPC_UART));
+				HCI_Tx.p_data[i++] = UART_ReceiveData(IPC_UART);
+			}
+			IPC_TxData(&HCI_Tx);
+		}
+		#else
+		BT_Progress();
+        
+//        BT_Get_Rssi();
+        
+		#endif
+	}
+}
+
+/**
+  * @brief  Serial port 0 initialization function.
+  * @param  None
+  * @retval None
+  */
+void UART_Configuration(void)
+{
+	UART_InitTypeDef UART_InitStruct;
+
+	/* Configure serial ports 0 RX and TX for IO. */
+	GPIO_Config(UART0_TX_PORT, UART0_TX_PIN, UART0_TXD);
+	GPIO_Config(UART0_RX_PORT, UART0_RX_PIN, UART0_RXD);
+
+	/* USARTx configured as follow:
+  - BaudRate = 115200 baud
+  - Word Length = 8 Bits
+  - Stop Bit = 1 Stop Bit
+  - Parity = No Parity
+  - Hardware flow control disabled (RTS and CTS signals)
+  - Receive and transmit enabled
+  */
+	#ifdef UART_TO_IPC
+	UART_InitStruct.BaudRate = UART_TO_IPC_BAUDRATE;			//Configure serial port baud rate, the baud rate defaults to 128000.
+	#else
+	UART_InitStruct.BaudRate = UARTBAUD;
+	#endif
+	UART_InitStruct.DataBits = Databits_8b;
+	UART_InitStruct.StopBits = StopBits_1;
+	UART_InitStruct.Parity = Parity_None;
+	UART_InitStruct.FlowCtrl = FlowCtrl_None;
+	UART_InitStruct.Mode = Mode_duplex;
+
+	UART_Init(UART0, &UART_InitStruct);
+}
+
+
+/**
+  * @brief  deal with data from bt core event
+  * @param  None
+  * @retval None
+  */
+
+
+void BT_Progress()
+{
+	int eventCmd= BT_GetEventOpcode();
+	switch(eventCmd)
+	{
+		case BT_DATA:
+			{
+				uint8_t i = 0;
+				uint8_t btData[MAX_BLUETOOTH_DATA_LEN];
+				int BtDataLen=0;
+				BtDataLen=BT_ReadBTData(btData);
+				if(BtDataLen>0)
+				{
+					MyPrintf("received %d bytes bt data:\n",BtDataLen);
+					for(int i=0;i<BtDataLen;i++)	MyPrintf("%02x ",btData[i]);
+					MyPrintf("\n");
+
+					BT_SendSppData(btData,BtDataLen);
+					MyPrintf("send %d bytes bt data:\n",BtDataLen);
+					for(int i=0;i<BtDataLen;i++)	MyPrintf("%02x ",btData[i]);
+					MyPrintf("\n");
+					#if (MEM_SPP_FLOWCTRL_FLAG_VALUE==0x01)
+					if(BT_SetSppFlowcontrol(1) != TRUE)	MyPrintf("set Flowcontrol failed\n");
+					#endif
+				}
+				else	MyPrintf("read bt data error\r\n");
+			}
+		break;
+
+		case BLE_DATA:
+			{
+				uint8_t bleData[MAX_BLUETOOTH_DATA_LEN]={0};
+				int BleDataLen=0;
+				BleDataLen=BT_ReadBTData(bleData);
+				if(BleDataLen>0)
+				{
+					MyPrintf("received %d bytes ble data[handle:%02x %02x]:\n",BleDataLen-2,bleData[0],bleData[1]);
+					for(int i=0;i<(BleDataLen-2);i++)	MyPrintf("%02x ",bleData[2+i]);
+					MyPrintf("\n");
+
+					//add handle
+					bleData[0]=(ble_send_handle&0xff);
+					bleData[1]=((ble_send_handle>>8)&0xff);
+					BT_SendBleData(bleData,BleDataLen);
+					MyPrintf("send %d bytes ble data[%02x %02x]:\n",BleDataLen-2,bleData[0],bleData[1]);
+					for(int i=0;i<(BleDataLen-2);i++)	MyPrintf("%02x ",bleData[2+i]);
+					MyPrintf("\n");
+				}
+				else	MyPrintf("read ble data error\r\n");
+			}
+		break;
+
+		case BT_CONNECTED:
+			MyPrintf("bt connected\n");
+		break;
+
+        case BT_DISCONNECTED:
+			MyPrintf("bt disconnected\n");
+            if (check_bond_info_valid(user_info.bt_index))
+            {
+                bt_start_reconnect(user_info.bt_index);
+            }
+		break;
+        
+        case BT_RECONNECT_FAIL:
+			MyPrintf("bt reconnect fail\n");
+		break;
+        
+        case HFP_CONNECT:
+			MyPrintf("hfp connected\n");
+		break;
+        
+        case HFP_STOP_DIALING:
+			MyPrintf("hfp stop dialing\n");
+		break;
+        
+        case HFP_START_DIALING:
+            {
+                MyPrintf("hfp start dialing\n");
+                uint8_t PhoneNum[11];
+                uint8_t PhoneNumLen=0;
+                PhoneNumLen=BT_ReadBTData(PhoneNum);
+
+                MyPrintf("hfp receive %dbytes phone num:",PhoneNumLen);
+                for(uint8_t i=0; i < PhoneNumLen; i++)
+                {   
+                    if(PhoneNum[i] > 9)
+                    {
+                        MyPrintf("hfp phone error handle\r\n");
+                    }
+                    MyPrintf("%d",PhoneNum[i]);
+                }
+                MyPrintf("\n");
+            }
+		break;
+        
+		case BLE_CONNECTED:
+			MyPrintf("ble connected\n");
+		break;
+
+		case BLE_DISCONNECTED:
+			MyPrintf("ble disconnected\n");
+		break;
+
+        case BT_ENC_INFO:
+            {
+                MyPrintf("ble enc info:\n");
+                uint8_t BtEncInfo[MAX_BLUETOOTH_DATA_LEN];
+                int BtEncInfoLen = 0;
+                BtEncInfoLen = BT_ReadBTData(BtEncInfo);
+            
+                if (BtEncInfoLen > 0)
+                {
+                    for(int i=0;i<BtEncInfoLen;i++)
+                    {
+                        MyPrintf("%02X ",BtEncInfo[i]);
+                    }
+                    MyPrintf("\n");
+                    app_save_nvram(&nvram_data, BtEncInfo, user_info.bt_index); //淇濆瓨閰嶅淇℃伅
+                }
+                else
+                    MyPrintf("read bt enc info error\r\n");
+            }
+        break;
+        
+		case NVRAM_DATA:
+			{
+				uint8_t NvramData[MAX_BLUETOOTH_DATA_LEN];
+				int NvramDataLen=0;
+				NvramDataLen=BT_ReadBTData(NvramData);
+				if(NvramDataLen>0)
+				{
+					MyPrintf("receive %dbytes Nvramdata:",NvramDataLen);
+					for(int i=0;i<NvramDataLen;i++)
+					{
+						MyPrintf("%02X ",NvramData[i]);
+					}
+					MyPrintf("\n");
+				}
+				else
+					MyPrintf("read Nvram data error\r\n");
+			}
+		break;
+
+		case CONFIRM_GKEY:
+			{
+				uint8_t GkeyData[MAX_BLUETOOTH_DATA_LEN];
+				int GkeyDataLen=0;
+				GkeyDataLen=BT_ReadBTData(GkeyData);
+				if(GkeyDataLen>0)
+				{
+					MyPrintf("receive %dbytes CONFIRM_GKEY:",GkeyDataLen);
+					for(int i=0;i<GkeyDataLen;i++)
+					{
+						MyPrintf("%02X ",GkeyData[i]);
+					}
+					MyPrintf("\n");
+				}
+				else	MyPrintf("read CONFIRM_GKEY data error\r\n");
+
+				if(BT_ConfirmGkey(0) == TRUE)//BT_ConfirmGkey鍙傛暟涓0鍒欑户缁厤瀵癸紝1鍒欏彇娑堥厤瀵广
+					MyPrintf("set confirmkey  success");
+				else
+					MyPrintf("set confirmkey  failed\n");
+		}
+		break;
+
+		case PASSKEY:
+			MyPrintf("request Passkey");
+		break;
+
+		case PAIRING_COMPLETED:
+			{
+				uint8_t PairingData[MAX_BLUETOOTH_DATA_LEN];
+				int PairingDataLen=0;
+				PairingDataLen=BT_ReadBTData(PairingData);
+				if(PairingDataLen>0)
+				{
+					MyPrintf("receive %dbytes paring data:",PairingDataLen);
+					for(int i=0;i<PairingDataLen;i++)
+					{
+						MyPrintf("%02X ",PairingData[i]);
+					}
+					MyPrintf("\n");
+				}
+				else	MyPrintf("read PAIRING_COMPLETED data error\r\n");
+			}
+		break;
+
+		case PAIRING_STATE:
+			{
+				uint8_t PairingData[MAX_BLUETOOTH_DATA_LEN];
+				int PairingDataLen=0;
+				uint16_t pairing_status=0;
+				PairingDataLen=BT_ReadBTData(PairingData);
+				if(PairingDataLen==2)
+				{
+					pairing_status |=PairingData[0];
+					pairing_status |=(PairingData[1]<<8);
+					switch(pairing_status)
+					{
+						case 0x0001:
+							MyPrintf("BT Pairing Success\r\n");
+						break;
+
+						case 0x0101:
+							MyPrintf("BT Pairing fail\r\n");
+						break;
+
+						case 0x0080:
+							MyPrintf("BLE Pairing Success\r\n");
+						break;
+
+						case 0x0180:
+							MyPrintf("BLE Pairing fail\r\n");
+						break;
+
+						default:
+							MyPrintf("unknown pairing_status[%04x]\r\n",pairing_status);
+						break;
+					}
+				}
+				else	MyPrintf("read PAIRING_STATE data error\r\n");
+			}
+		break;
+
+		case -1:
+			//no event
+		break;
+
+		default:
+		{
+			MyPrintf("unknown event:%02x\r\n",eventCmd);
+			uint8_t unknownData[MAX_BLUETOOTH_DATA_LEN];
+			int unknownDataLen=0;
+			unknownDataLen=BT_ReadBTData(unknownData);
+			if(unknownDataLen>0)
+			{
+				MyPrintf("datalen:%d\r\n",unknownDataLen);
+				for(int i=0;i<unknownDataLen;i++)
+				{
+					MyPrintf("%02X ",unknownData[i]);
+				}
+				MyPrintf("\n");
+			}
+		}
+		break;
+	}
+}
+
+
+/**
+ * @brief 妫鏌ュ綋鍓嶉氶亾缁戝畾淇℃伅鏄惁鏈夋晥
+ *
+ */
+uint8_t check_bond_info_valid(uint8_t indx)
+{
+    uint8_t btaddr[BT_ADDR_LEN];
+    uint8_t hostbtaddr[BT_ADDR_LEN];
+    uint8_t linkkey[LINK_KEY_LEN];
+    memset(btaddr, 0xFF, BT_ADDR_LEN);
+    memset(hostbtaddr, 0xFF, BT_ADDR_LEN);
+    memset(linkkey, 0xFF, LINK_KEY_LEN);
+
+    if ((memcmp(btaddr, nvram_data.bt_bond_info[indx].btaddr, BT_ADDR_LEN) == 0)            ||
+        (memcmp(hostbtaddr, nvram_data.bt_bond_info[indx].hostbtaddr, BT_ADDR_LEN) == 0)    || 
+        (memcmp(linkkey, nvram_data.bt_bond_info[indx].link_key, LINK_KEY_LEN) == 0))
+    {
+        MyPrintf("bond info is null \r\n");
+        return 0;
+    }
+    return 1;
+}
+
+
+/**
+ * @brief 钃濈墮寮濮嬪洖杩
+ *
+ * @param btindex
+ */
+void bt_start_reconnect(uint8_t btindex)
+{
+    if (BT_Creat_Reconnect((uint8_t *)&nvram_data.bt_bond_info[btindex], sizeof(bt_bond_info_t)) == TRUE)
+    {
+        MyPrintf("BT_Creat_Reconnect pass\n");
+    }
+    else
+    {
+        MyPrintf("BT_Creat_Reconnect failed\n");
+    }
+}
+
+
+/**
+ * @brief 璇诲彇缁戝畾淇℃伅
+ *
+ * @param nvramdat 缁戝畾淇℃伅
+ * @return 鎵ц缁撴灉
+ */
+uint8_t app_get_nvram_data(nvram_t* nvramdat)
+{
+  return qspi_flash_read(IFLASH_NVRAM_ADDR, (uint8_t*)nvramdat, sizeof(nvram_t));
+}
+
+/**
+ * @brief 淇濆瓨缁戝畾淇℃伅
+ *
+ * @param nvram_data缁戝畾淇℃伅闆
+ * @param nvram 缁戝畾淇℃伅
+ * @param btindex 閫氶亾绱㈠紩
+ * @return 鎵ц缁撴灉
+ */
+uint8_t app_save_nvram(nvram_t* nvram_data, uint8_t* nvram, uint8_t btindex)
+{
+  nvram_data->nvflag = NVRAM_DNO;
+  nvram_data->nvid = btindex;
+  memcpy(&nvram_data->bt_bond_info[btindex], nvram, sizeof(bt_bond_info_t));
+  MyPrintf("new nvram data,updata to flash\r\n");
+  qspi_flash_sectorerase(IFLASH_NVRAM_ADDR);
+  return qspi_flash_write(IFLASH_NVRAM_ADDR, (uint8_t*)nvram_data, sizeof(nvram_t));
+}
+
+
+#define USER_PAGA (100)
+/**
+ * @brief 淇濆瓨鐢ㄦ埛淇℃伅
+ *
+ * @return 鎵ц缁撴灉
+ */
+uint8_t app_save_user_info(void)
+{
+    
+  qspi_flash_sectorerase(IFLASH_USER_INFO_ADDR);
+    
+  return qspi_flash_write(IFLASH_USER_INFO_ADDR, (uint8_t*)&user_info, sizeof(user_info_t));
+}
+
+/**
+ * @brief 璇诲彇鐢ㄦ埛淇℃伅
+ *
+ * @param useinfo 鐢ㄦ埛淇℃伅
+ * @return
+ */
+uint8_t app_read_user_info(user_info_t* useinfo)
+{
+  return qspi_flash_read(IFLASH_USER_INFO_ADDR, (uint8_t*)useinfo, sizeof(user_info_t));
+}
+
+
+void Uart_PrintArray(const char *str,uint8_t *dataBuf,uint8_t dataLen)
+{
+    for (uint8_t i = 0; i < strlen(str); i++)
+        MyPrintf("%c", (uint8_t)str[i]);
+    MyPrintf(":");
+    for (uint8_t i = 0; i < dataLen; i++)
+        MyPrintf(" %02x", dataBuf[i]);
+    MyPrintf("\r\n");
+}
+
+
+
+uint8_t Get_Rssi(void)
+{
+    return *(volatile byte*)0xc0018;
+}
+
+uint16_t Get_Ui_State_Map(void)
+{
+    return ((*(volatile byte*)0xc4652) || (*(volatile byte*)0xc4653 << 8));
+}
+
+uint8_t BT_Get_Rssi(void)
+{
+    if(Get_Ui_State_Map() & 0x0001)
+    {
+        MyPrintf("classic rssi:%d\r\n",Get_Rssi());
+        return Get_Rssi();
+    }
+    else
+    {
+        MyPrintf("classic connection link not found\r\n");
+        return -1;
+    }
+}
+
+
+
+
+
+
+
+
+
+
+/************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/
+
Index: ebike/trunk/do.bat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/do.bat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/do.bat	(working copy)
@@ -0,0 +1,78 @@
+cls
+@echo off
+
+setlocal enabledelayedexpansion
+for /f %%f in ('dir /b /o program\*.prog') do @if not %%f==bt.prog if not %%f==patch.prog if not %%f==sim.prog set progs=!progs! program\%%f
+type program\bt.prog %progs% > output\bt_program23.meta
+for /f %%f in ('dir /b /o format\*.format') do @if not %%f==bt.format if not %%f==command.format set fmts=!fmts! format\%%f
+type format\bt.format %fmts% format\command.format > output\bt_format.meta
+perl util/mergepatch.pl output/bt_program23.meta
+perl util/memalloc.pl output/bt_format.meta
+
+cd output
+osiuasm bt_program23 -O-W
+
+copy ..\sched\bt_config.dat+ ..\sched\ble_config.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 The Device is %device_option%. 
+@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   ..\..\..\..\..\..\Librarier\core
+
Index: ebike/trunk/format/app.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/app.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/app.format	(working copy)
@@ -0,0 +1,278 @@
+
+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: ebike/trunk/format/app_module.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/app_module.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/app_module.format	(working copy)
@@ -0,0 +1,413 @@
+
+
+bmemalloc(
+	0 mem_module_prepare_write_request_packet
+	2 mem_module_prepare_write_request_PDU_length
+	2 mem_module_prepare_write_request_Channel_ID
+	1 mem_module_prepare_write_request_opcode
+	2 mem_module_prepare_write_request_handle
+	600 mem_temp_prepare_write_request_Data
+)
+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
+	
+	300 mem_module_uuid_list
+	0 mem_module_uuid_list_end
+	630 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
+	1 mem_rfcomm_lmp_dis_flag
+	1 mem_module_rfcomm_disconnect_count
+
+	2 mem_le_buff_len
+	2 mem_le_buff_len_all
+	2 mem_module_prepare_write_request_contw
+	2 mem_module_prepare_write_request_contr
+
+	2 mem_module_master_rx_max
+	
+	1 mem_le_txheader_temp
+	1 mem_le_txlen_temp
+	2 mem_le_txpayload_temp
+	2 mem_le_txcid_temp
+	1 mem_le_l2cap_temp
+	1 mem_le_l2cap_response_temp
+	251 mem_le_txbdy_temp
+	15 mem_rf_init
+	1 mem_ble_dle_enable
+//	1 mem_wakeup_gpio
+//	1 mem_wake_by_m0
+
+	4 mem_mcu_set_bt_wake_timer
+	6 mem_gpio_wakeup_backup
+	
+	// Be aware of memory boundaries
+
+	160 mem_context_new
+
+
+	//hfp start
+	0 mem_xmem_hf_state_start
+	1 mem_hf_state
+	1 mem_hf_call_state
+	1 mem_hf_command
+	2 mem_agoption
+	7 mem_AG_indicator_map
+	7 mem_AG_indicator
+	0 mem_xmem_hf_state_end
+
+	//hfp volume ctr
+	1 mem_hf_vlm_speaker
+	1 mem_music_vlm_speaker
+	1 mem_hf_vlm_mic
+
+	2 mem_at_payload_ptr
+	2 mem_at_command_ptr
+	2 mem_at_rfcomm_data_ptr
+
+	//init this value in user.dat
+	3 mem_UI_HF_brsf_feature
+	
+	1 mem_codec_type
+
+	//hfp callback
+	2 mem_cb_hfp_result_code
+
+	1 mem_telephone_dialing_state
+	1 mem_phone_num_len
+	25 mem_phone_number
+	30 mem_at_command_data
+	//hfp end
+
+	1 mem_module_rfcomm_reconnect_count
+	
+	0 mem_module_params_end
+)
+(//mem_ble_dle_enable
+0x00 DLE_ENABLE
+0x01 DLE_DISABLE
+)
+(
+249 LE_BASEBAND_MAX_BUFFER
+)
+
+(
+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
+
+//bit3~bit7 module states change
+3 MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+7 MODULE_RECV_CONFIRM
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+	230 NL_RFCOMM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x15 HCI_CMD_SET_COD
+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
+
+0x76 HCI_CMD_DELETE_CUSTOMIZE_SERVICE
+0x77 HCI_CMD_ADD_SERVICE_UUID
+0x78 HCI_CMD_ADD_CHARACTERISTIC_UUID
+0x79 HCI_CMD_MCU_SET_BT_WAKE_TIMER
+
+
+
+0xb1 HCI_CMD_CREAT_BT_RECONNECT
+
+
+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
+0x29 HCI_EVENT_UUID_HANDLE
+
+
+0xb0 HCI_EVENT_BT_ENC_INFO
+0xb1 HCI_EVENT_BT_RECONNECT_FAIL
+0xb2 HCI_EVENT_HFP_CONNECTED
+0xb3 HCI_EVENT_HFP_START_DIALING
+0xb4 HCI_EVENT_HFP_STOP_DIALING
+
+
+)
+
+
+(//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
+)
+
+
+
+
+
+
+(
+0 DAC_ENABLE
+1 DAC_MRAM_SEL
+2 DAC_CONTINUOUS_MODE
+3 DAC_MUTU
+4 DAC_INIT_FILTER
+5 DAC_SDM
+6 DAC_INVERT_WAVE
+7 DAC_BYPASS_DAC
+)
+
+(
+15 HFP_SPEAKER_MAX_VLM
+15 HFP_MIC_MAX_VLM
+10 HFP_DEFAULT_SPEAKER
+10 HFP_DEFAULT_MIC_VLM
+)
+
+(
+0 HFP_CIEVIND_SERVICE
+1 HFP_CIEVIND_CALL
+2 HFP_CIEVIND_CALLSETTUP
+3 HFP_CIEVIND_CALLHELD
+4 HFP_CIEVIND_SIGNAL
+5 HFP_CIEVIND_ROAM
+6 HFP_CIEVIND_BATTCHA
+)
+
+
+(
+0 	HFP_NONO
+1	HFP_INCOMMING
+2	HFP_OUTGOING
+3	HFP_CALLACTIVE
+4	HFP_CALLIMG
+5	HFP_CALLOGG
+6	HFP_CALMULTY
+)
+
+(
+0 CIEV_CALLST_NO
+1 CIEV_CALLST_IMG
+2 CIEV_CALLST_OUG
+3 CIEV_CALLST_RE_ALTD
+)
+
+(
+0 CIEV_CALL_NO
+1 CIEV_CALL_ACT
+)
+
+(
+0 CIEV_HELD_NO
+1 CIEV_HELD_IN_HOLD
+2 CIEV_HELD_ALL
+)
+
+(
+0 HFP_NO_KEY
+1 HFP_TAP_KEY
+2 HFP_DOUBLE_KEY
+3 HFP_TRIPLE_KEY
+4 HFP_KEY_PRESS
+5 HFP_KEY_PRESS_RELEASE
+6 HFP_KEY_LONG_PRESS
+)
+
+(
+2 CODEC_AIR_MODE
+2 SCO_ATTEMPT_COUNT
+)
+
+
+(
+0 HF_CMD_IDLE
+1 HF_WAIT_ACCEPT_CALL_OK
+2 HF_WAIT_HANGUP_OK
+3 HF_WAIT_VGS_OK
+4 HF_WAIT_VGM_OK
+)
+
+(
+ 0 HFP_DIALING_STATE_NO
+ 1 HFP_DIALING_STATE_START
+ 2 HFP_DIALING_STATE_STOP 
+)
+
+
Index: ebike/trunk/format/bt.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/bt.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/bt.format	(working copy)
@@ -0,0 +1,1051 @@
+
+	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
+2 context_num_new
+)
+
+(
+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
+44 mark_role_switch_receive_fhs
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+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: ebike/trunk/format/command.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/command.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/hci.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/hci.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/hid.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/hid.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/l2cap.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/l2cap.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/l2cap.format	(working copy)
@@ -0,0 +1,450 @@
+
+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
+
+)
+
+(
+0 offset_lc_psm
+1 offset_lc_state
+2 offset_lc_local_cid
+4 offset_lc_remote_cid
+)
+
+//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_STATE_RECV_SEARCH_RES
+7 L2CAP_CHANNEL_STATE_RECV_ATTRIB_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: ebike/trunk/format/le.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/le.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/le.format	(working copy)
@@ -0,0 +1,734 @@
+
+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
+	0x14 LL_LENGTH_REQ
+	0x15 LL_LENGTH_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
+)
+
+(
+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: ebike/trunk/format/lmp.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/lmp.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/lmp.format	(working copy)
@@ -0,0 +1,224 @@
+
+memalloc(
+
+1 mem_lmo_header_length
+1 mem_lmo_header_opcode
+17 mem_lmo_payload
+1 mem_lmi_accepted_opcode
+1 mem_disconn_reason_send
+1 mem_tx_fixed_freq
+1 mem_rx_fixed_freq
+1 mem_ext_features_page
+2 mem_lmpext_ssp_enable
+1 mem_remote_sppcap
+
+1 mem_lmp_conn_state
+2 mem_soft_timer
+1 mem_pincode_state
+
+1 mem_sres_tid
+1 mem_accptsco_tid
+
+1 mem_auth_enable
+1 mem_wait_encryption
+
+16 mem_sniff_payload
+4 mem_aurand_send_delay_time
+)
+
+xmemalloc(
+3 mem_lmp_version
+2 mem_lmp_subversion
+1 mem_local_name_length
+3 mem_local_name
+64 mem_local_name2
+1 mem_local_name_end
+1 mem_unsniff2sniff_timer
+1 mem_switch_flag
+1 mem_classic_bt_flag
+)
+
+	(
+	//bit flag:mem_classic_bt_flag
+	0 FLAG_SSP_REJECT_JUSTWORK
+	1 SHORT_MULT_FLAG
+	)
+	
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
Index: ebike/trunk/format/memblocks.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/memblocks.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/patch.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/patch.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/regs.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/regs.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/rfcomm.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/rfcomm.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/sdp.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/sdp.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/security.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/security.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/simple_pairing.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/simple_pairing.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/format/ui.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/ui.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/ui.format	(working copy)
@@ -0,0 +1,437 @@
+/*****************************************************************************/
+/* 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
+
+0x58 BT_EVT_HFP_STOP_DIALING
+0x59 BT_EVT_HFP_START_DIALING
+0x5a BT_EVT_HFP_INCOMMING
+0x5b BT_EVT_HFP_OUTGOING
+0x5c BT_EVT_HFP_CALLACTIVE
+0x5d BT_EVT_HFP_CALLIMG
+0x5e BT_EVT_HFP_CALLOGG
+0x5f BT_EVT_HFP_CALMULTY
+0x60 BT_EVT_HFP_CONNECTED
+0x61 BT_EVT_HFP_DISCONNECTED
+)
+//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
+
+	61 UPPERSM_RECONN_SEARCH_SERVICE
+	62 UPPERSM_RECONN_SEARCH_SERVICE_WAIT
+	63 UPPERSM_RECONN_SEARCH_ATTRIB
+	64 UPPERSM_RECONN_SEARCH_ATTRIB_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: ebike/trunk/format/utility.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/utility.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/utility.format	(working copy)
@@ -0,0 +1,182 @@
+/**
+*  @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
+
+)
+
+bmemalloc(
+1 mem_usb_status
+1 mem_usb_fifo_empty
+1 mem_usb_read_len
+64 mem_usb_rxbuf
+2 mem_bufptr
+1 mem_remain
+20 mem_devicedesc
+2 mem_hidreportdesc_kb
+2 mem_hidreportdesc_m
+100 mem_confdesc
+5 mem_string0
+30 mem_string1
+64 mem_string2
+30 mem_string3
+2 mem_usb_zero_packet
+2 mem_usb_ones_packet
+2 mem_usb_two_packet
+1 mem_usb0_state
+
+1 mem_usb_offline_check_gpio
+1 mem_usb_tx_interval
+
+0 mem_usb_clear_mem_start
+0 mem_usb_setup
+1 mem_usb_setup_bmRequestType
+1 mem_usb_setup_bRequest
+1 mem_usb_setup_bValue
+1 mem_usb_setup_bValueH
+2 mem_usb_setup_wIndex
+1 mem_usb_setup_bLength
+1 mem_usb_setup_bLengthH
+64 mem_usb0_setup
+64 mem_usb0_set_report_data
+64 mem_usb0_get_report_data
+1 mem_usb_state
+1 mem_usb_tx_wait
+1 mem_usb_tx_enable
+1 mem_usb_remote_wakeup
+1 mem_usb_clear_remote_wakeup
+1 mem_usb_ep0_stall_status
+1 mem_usb_ep1_stall_status
+1 mem_usb_ep2_stall_status
+1 mem_usb_ep3_stall_status
+2 mem_dsc_info_data_pointer
+1 mem_dsc_info_len
+1 mem_usb0_data_ready_report
+1 mem_usb_tx_win_enable
+1 mem_usb_tx_mac_enable
+1 mem_usb_device_enumeration_endflag
+1 mem_usb_wakestate_onetime_flag
+1 mem_usb_mac_wakeup_trig
+1 mem_usb_set_high_addr_flag
+1 mem_usb_set_protocol_value
+1 mem_usb_set_protocol_status
+1 mem_usb_get_protocol_flag
+1 mem_usb_idle_flag
+1 mem_usb_idle_rate
+2 mem_usb_setup_bValue_temp
+1 mem_usb0_get_set_report
+1 mem_usb_ep1_data
+1 mem_usb_ep2_data
+1 mem_usb_clear_halt
+16 mem_usb_mouse_data
+16 mem_usb_kb_data
+16 mem_usb_kb_multikey
+8 mem_usb_kb_data_sta_data
+8 mem_usb_kb_data_last_data
+3 mem_usb_kb_multikey_sta_data
+3 mem_usb_kb_multikey_last_data
+1 mem_usb_kb_blank_data_enable
+1 mem_usb_kb_mul_blank_data_enable
+1 mem_usb_test_cnt
+0 mem_usb_clear_mem_end
+1 mem_usb_test_kb
+
+256 mem_rssi_noise_buffer
+256 mem_rssi_noise_dg_buffer
+256 mem_rssi_noise_ms_buffer
+256 mem_rssi_noise_kb_buffer
+32 mem_24g_common_temp
+
+)
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
Index: ebike/trunk/format/var.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/format/var.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/output/Creat_patch_Module.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: ebike/trunk/output/Creat_patch_Module.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: ebike/trunk/output/bin2array.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bin2array.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bin2array.pl	(working copy)
@@ -0,0 +1,42 @@
+printf "/*******************************************************************************\n";
+printf "*-------------------------------------------------------------------------------\n";
+printf "*\n";
+printf "* Copyright (c), 2014 Yichip Corp.\n";
+printf "*\n";
+printf "*ALL RIGHTS RESERVED\n";
+printf "*                                                                               \n";
+printf "********************************************************************************\n";
+printf "*                                                                               \n";
+printf "* File Name: YC_bt_patch.h                                                      \n";
+printf "*                                                                               \n";
+printf "* Abstract:                                                                     \n";
+printf "*This file use for save the patch code of YC1021.                               \n";
+printf "*******************************************************************************/\n";
+printf "                                                                                \n";
+printf "#ifndef __YC_BT_PATCH_H_                                                        \n";
+printf "#define __YC_BT_PATCH_H_                                                        \n";
+printf "                                                                                \n";
+open(BINFILE,"bt_patch.bin") or die $!;
+binmode (BINFILE);
+printf "const unsigned char yc_patch[] = \n{\n";
+while( read(BINFILE, $binData, 1) )
+{
+
+	if(ord($binData) < 0x10){
+		printf "0x0";
+	}else{
+		printf "0x";
+	}
+	printf "%X, ", ord($binData);
+	$cnt += 1;
+	if($cnt > 15){
+		$cnt = 0;
+		printf "\n";
+	}
+}
+printf "\n};\n";
+close (BINFILE);
+
+
+printf "                                                                                \n";
+printf "#endif\n";
\ No newline at end of file
Index: ebike/trunk/output/bt_code.c
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_code.c	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_code.c	(working copy)
@@ -0,0 +1,576 @@
+const unsigned char bt_code[] = {
+0x00,0x02,0xaa,0x55,0xb2,0x1f,0xc2,0x84,0x00,0x1a,0xc0,0x00,0x00,0x37,0xc0,0x08,
+0x87,0xe7,0xc0,0x00,0x80,0x6c,0xc0,0x42,0x80,0x73,0xc0,0x44,0x80,0x94,0xc0,0x4a,
+0x00,0x5a,0xc0,0x51,0x00,0x9d,0xc0,0x51,0x80,0x65,0xc0,0x56,0x00,0xa4,0xc0,0x5c,
+0x00,0xa5,0xc0,0x5d,0x81,0x41,0xc0,0x5e,0x01,0xd4,0xc0,0x75,0x81,0xf8,0xc0,0x02,
+0x83,0xdb,0xc0,0x16,0x03,0xf5,0xc0,0x17,0x03,0xfa,0xc0,0x37,0x84,0x02,0xc0,0x53,
+0x04,0x13,0xc0,0x53,0x84,0x34,0xc0,0x55,0x84,0x5b,0xc0,0x1d,0x83,0xfd,0xc0,0x5f,
+0x84,0x99,0xc0,0x13,0x04,0x7f,0xc0,0x14,0x04,0x8c,0x20,0x20,0x4a,0x8b,0xc0,0x01,
+0x82,0x02,0xc0,0x02,0x82,0x0e,0xc0,0x03,0x02,0x17,0xc0,0x03,0x82,0x1c,0xc0,0x04,
+0x02,0x25,0xc0,0x05,0x82,0x36,0xc0,0x09,0x82,0x46,0xc0,0x0a,0x02,0xcb,0xc0,0x0e,
+0x02,0xde,0xc0,0x0f,0x03,0x07,0xc0,0x0f,0x83,0x35,0xc0,0x10,0x83,0x69,0xc0,0x18,
+0x03,0x7a,0xc0,0x19,0x03,0x7e,0xc0,0x1d,0x03,0x91,0xc0,0x1f,0x03,0x9c,0xc0,0x20,
+0x83,0xae,0xc0,0x24,0x83,0xb4,0xc0,0x29,0x03,0xbd,0xc0,0x2a,0x83,0xca,0xc0,0x46,
+0x83,0x1c,0xc0,0x4c,0x83,0xd7,0xc0,0x35,0x07,0x90,0xc0,0x3d,0x07,0x75,0xc0,0x28,
+0x84,0xb0,0xc0,0x2a,0x04,0xbe,0xc0,0x2c,0x04,0x9e,0xc0,0x31,0x84,0x9c,0x20,0x20,
+0x4a,0x8b,0x6f,0xec,0x4b,0xf2,0x67,0xec,0x00,0xa1,0x1c,0xe2,0x7e,0x00,0x20,0x3a,
+0x00,0x44,0x20,0x40,0x00,0x3d,0x20,0x20,0x40,0x02,0x70,0x40,0x91,0x00,0x20,0x40,
+0x00,0x40,0x20,0x20,0x67,0xbc,0x6f,0xe2,0x89,0x73,0x79,0x20,0x7e,0x06,0x67,0xe2,
+0x89,0x73,0x20,0x60,0x00,0x00,0x6f,0xe2,0x81,0x26,0xc2,0x80,0x00,0x4b,0x6f,0xec,
+0x00,0xa1,0x68,0x4c,0x81,0x0e,0x98,0x41,0x7e,0x00,0x24,0x5a,0x00,0x3d,0x20,0x20,
+0x40,0x02,0x20,0x40,0x00,0x4d,0x20,0x20,0x40,0x02,0x58,0xff,0xff,0xff,0x68,0x46,
+0x81,0x0e,0x98,0x42,0xfe,0x00,0x68,0x46,0x00,0xa1,0x98,0x41,0x7e,0x00,0x24,0x3a,
+0x00,0x3d,0x58,0xff,0xff,0xff,0x68,0x46,0x81,0x11,0x98,0x42,0xfe,0x00,0x68,0x46,
+0x00,0xa4,0x98,0x41,0x7e,0x00,0x24,0x3a,0x00,0x3d,0x20,0x60,0x00,0x00,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,0x00,0x69,0x20,0x20,0x4a,0x2f,0x1b,0x42,0x7e,0x00,0x20,0x40,
+0x00,0x68,0x20,0x20,0x4a,0xe9,0x20,0x40,0x7d,0x14,0x98,0x00,0x0c,0x00,0x79,0x3f,
+0x8c,0x10,0x20,0x20,0x7d,0x1f,0x70,0x45,0x3d,0x00,0x20,0x40,0x68,0xc4,0x20,0x40,
+0x60,0xd7,0x20,0x40,0x00,0x71,0x20,0x20,0x40,0x0a,0x20,0x75,0x80,0x00,0x20,0x20,
+0x7b,0x9a,0x20,0x30,0x80,0x83,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,0x00,0x81,0xc0,0x00,0x80,0x91,0xc0,0x01,0x00,0x81,0xc0,0x01,
+0x80,0x91,0xc0,0x02,0x00,0x91,0xc0,0x10,0x00,0x91,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,0x00,0x83,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,0x58,0x00,0x00,0xb4,0x67,0xe4,
+0x41,0xf6,0x58,0x00,0x01,0x0a,0x67,0xe4,0x41,0xfe,0x58,0x00,0x01,0x1f,0x67,0xe4,
+0x41,0xfa,0x58,0x00,0x01,0x32,0x67,0xe4,0x41,0xea,0x58,0x00,0x01,0x3e,0x67,0xe4,
+0x41,0xf2,0x20,0x40,0x4d,0xaf,0x20,0x40,0x4d,0xbc,0x20,0x40,0x4c,0x2a,0x20,0x40,
+0x50,0x4d,0x20,0x20,0x04,0xe9,0x1a,0x62,0x7e,0x00,0xc0,0x00,0x80,0xc3,0xc0,0x04,
+0x80,0xd4,0xc0,0x01,0x00,0xc7,0xc0,0x02,0x80,0xd9,0xc0,0x02,0x00,0xdb,0xc0,0x09,
+0x80,0xdb,0xc0,0x0c,0x00,0xff,0xc0,0x30,0x00,0xdf,0xc0,0x2c,0x80,0xe1,0xc0,0x2c,
+0x00,0xe8,0xc0,0x0a,0x00,0xea,0xc0,0x0a,0x80,0xfb,0xc0,0x1e,0x80,0xfe,0x20,0x20,
+0x4d,0xdf,0x70,0x4c,0xf3,0x00,0x20,0x40,0x4d,0x6b,0x20,0x40,0x4d,0x62,0x20,0x20,
+0x4e,0x2c,0x20,0x40,0x04,0xe9,0x70,0x4a,0xd0,0x00,0x20,0x40,0x4d,0xd7,0x6f,0xe2,
+0x46,0x37,0x24,0x5a,0x50,0x8c,0x20,0x40,0x00,0xf7,0x6f,0xe4,0x46,0x52,0xc3,0x02,
+0x00,0xd2,0x79,0x3f,0xfe,0x04,0x67,0xe4,0x46,0x52,0x20,0x20,0x50,0x26,0x70,0x4c,
+0xf3,0x14,0x20,0x60,0x00,0x00,0x6f,0xe2,0x4a,0xcf,0x24,0x5a,0x00,0xd7,0x20,0x60,
+0x00,0x00,0x70,0x4a,0xd0,0x06,0x20,0x60,0x00,0x00,0x20,0x40,0x4d,0xd7,0x20,0x20,
+0x00,0xf3,0x20,0x40,0x00,0xf7,0x20,0x20,0x00,0xdd,0x70,0x0a,0xff,0xb1,0x20,0x20,
+0x50,0x4e,0x70,0x0a,0xff,0xb2,0x20,0x20,0x50,0x4e,0x70,0x0a,0xff,0xb3,0x6f,0xe2,
+0x4c,0xbb,0x20,0x40,0x50,0xa5,0x6f,0x22,0x4c,0xbb,0xd8,0x60,0x4c,0xbc,0x20,0x40,
+0x50,0x16,0x20,0x20,0x67,0xb9,0x70,0x0a,0xff,0xb4,0x20,0x20,0x50,0x4e,0x20,0x40,
+0x03,0x73,0x20,0x40,0x00,0xef,0x6f,0xe2,0x46,0x6e,0x67,0xe2,0x41,0x73,0x20,0x20,
+0x50,0x24,0x6f,0xe2,0x46,0x6c,0x2f,0xef,0xfe,0x01,0x20,0x40,0xcd,0x73,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x46,0x6c,0x2f,0xef,0xfe,0x00,0x20,0x40,0xcd,0x6b,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x46,0x6c,0x2f,0xef,0xfe,0x00,0x20,0x40,0xcd,0x69,0x20,0x60,
+0x00,0x00,0x20,0x40,0x5b,0xf6,0x20,0x40,0x4e,0x95,0x20,0x20,0x50,0x28,0x20,0x60,
+0x00,0x00,0x70,0x0a,0xff,0xb0,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,0x20,0x40,
+0x01,0x19,0x20,0x40,0x01,0x11,0x20,0x40,0x01,0x0e,0x20,0x20,0x50,0xc3,0xda,0x60,
+0x4c,0xf3,0xda,0x40,0x4d,0x5c,0x20,0x20,0x4d,0x04,0x6f,0xe2,0x4a,0xd0,0x20,0x7a,
+0x00,0x00,0x1f,0xe0,0xff,0xff,0x67,0xe2,0x4a,0xd0,0x24,0x7a,0x00,0x00,0x6f,0xe4,
+0x46,0x52,0xc2,0x80,0x4d,0x64,0x20,0x60,0x00,0x00,0x6f,0xe8,0x4b,0xee,0x20,0x7a,
+0x00,0x00,0x1f,0xe0,0xff,0xff,0x67,0xe8,0x4b,0xee,0x24,0x7a,0x00,0x00,0x20,0x20,
+0x00,0x3d,0x20,0x40,0x04,0x63,0x20,0x74,0x00,0x00,0x1a,0x22,0x7e,0x00,0x67,0xe4,
+0x46,0x71,0x20,0x40,0x01,0x2c,0x67,0xe2,0x46,0x70,0x68,0x44,0x04,0x74,0x60,0x44,
+0x46,0x73,0x20,0x40,0x5b,0x6c,0x24,0x3a,0x4a,0x8b,0x6f,0xe2,0x04,0x9e,0xc0,0x81,
+0x50,0x42,0x20,0x20,0x50,0x42,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x01,0x30,0x1f,0x22,
+0x7e,0x00,0x20,0x60,0x00,0x00,0x1a,0x42,0x7e,0x00,0x20,0x60,0x00,0x00,0x20,0x40,
+0x02,0x99,0x24,0x34,0x01,0x3b,0x6f,0xe2,0x4f,0xef,0xc0,0x00,0x81,0x3b,0x6f,0xe2,
+0x44,0x96,0xc0,0x80,0x01,0x39,0x20,0x20,0x4d,0x4d,0xc0,0x7f,0xcd,0x4d,0x20,0x20,
+0x01,0x3b,0x20,0x40,0x00,0x40,0x20,0x40,0x67,0xbc,0x20,0x20,0x4d,0x4b,0x20,0x40,
+0x01,0x40,0x20,0x20,0x50,0xd3,0x20,0x20,0x4d,0xc7,0x6f,0xe2,0x0a,0xff,0xc0,0x13,
+0x81,0xb9,0xc0,0x06,0x01,0x68,0xc0,0x3b,0x01,0x71,0xc0,0x3b,0x81,0x77,0xc0,0x3c,
+0x01,0x7c,0xc0,0x0a,0x81,0xb6,0xc0,0x20,0x01,0xba,0xc0,0x7f,0x81,0x65,0xc0,0x3c,
+0x81,0xc7,0xc0,0x58,0x81,0xca,0xc0,0x01,0x01,0x4e,0x20,0x20,0x4e,0x5c,0x6f,0xe2,
+0x0b,0x00,0xc0,0x80,0xd0,0x1c,0x1a,0x22,0x06,0x00,0x20,0x40,0x50,0x1f,0xe8,0x42,
+0x00,0x03,0x60,0x42,0x46,0x6f,0x6f,0xe2,0x46,0x6c,0x2f,0xef,0xfe,0x00,0x24,0x20,
+0x81,0x5c,0x6f,0xe4,0x46,0x52,0xc2,0x80,0x01,0x5c,0x68,0x42,0x46,0x6f,0x18,0x41,
+0x7e,0x03,0x67,0xe2,0x40,0x93,0x6f,0xe2,0x46,0x6c,0x2f,0xef,0xfe,0x01,0x24,0x60,
+0x80,0x00,0x6f,0xe4,0x46,0x52,0xc3,0x84,0x80,0x00,0x68,0x42,0x46,0x6f,0x28,0x4f,
+0xfe,0x02,0x20,0x20,0xcd,0x75,0x20,0x20,0x4d,0x73,0xef,0xe2,0x00,0x03,0x67,0xe2,
+0x40,0x91,0x20,0x60,0x00,0x00,0x1a,0x22,0x06,0x00,0xef,0xe2,0x00,0x03,0xc0,0x00,
+0x4f,0x1c,0xc0,0x00,0xcf,0x1f,0xc0,0x01,0x4f,0x25,0xc0,0x01,0x81,0x6f,0x20,0x20,
+0x50,0x1c,0x58,0x00,0x00,0x01,0x20,0x20,0x4f,0x20,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,0x80,0x20,0x40,0x01,0x9d,0x58,0x00,0x00,0x00,0xe7,0xe4,
+0x00,0x05,0x20,0x20,0x01,0xaf,0xef,0xe2,0x00,0x03,0x20,0x40,0x01,0x84,0x20,0x40,
+0x01,0x8b,0x20,0x20,0x01,0xaf,0x20,0x40,0x01,0xa1,0x58,0x28,0x00,0x02,0xe7,0xe6,
+0x00,0x05,0x20,0x60,0x00,0x00,0x67,0xe2,0x0a,0x96,0x20,0x40,0x01,0xa1,0x59,0x28,
+0x03,0x02,0xe7,0xe8,0x00,0x05,0x6f,0xe2,0x0a,0x96,0xe7,0xe6,0x00,0x05,0x20,0x60,
+0x00,0x00,0x20,0x40,0x01,0xa1,0x20,0x40,0x01,0x9d,0x20,0x40,0x01,0x9d,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,0x98,0xc2,0x82,0x81,0x98,0x18,0x40,
+0x84,0x01,0x20,0x60,0x00,0x00,0x20,0x40,0x01,0xa1,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,0xa4,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,0xa6,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,0xef,0xe6,
+0x00,0x03,0x67,0xe6,0x40,0xaa,0x20,0x20,0x50,0x1f,0x20,0x20,0x4d,0x85,0xef,0xe2,
+0x00,0x03,0x68,0x48,0x41,0x79,0x79,0x3a,0x04,0x10,0x79,0x3a,0x04,0x18,0x60,0x48,
+0x41,0x79,0x68,0x42,0x41,0x57,0x79,0x3a,0x04,0x00,0x60,0x42,0x41,0x57,0xef,0xec,
+0x00,0x03,0x67,0xec,0x00,0xa1,0x67,0xec,0x4b,0xf2,0x20,0x40,0x4b,0xe3,0x20,0x20,
+0x50,0x1f,0xef,0xe8,0x00,0x03,0x67,0xe8,0x4b,0xee,0x20,0x20,0x50,0x1f,0xef,0xec,
+0x00,0x03,0x67,0xec,0x40,0xa0,0xef,0xec,0x00,0x03,0x67,0xec,0x41,0xd1,0xd8,0xa0,
+0x41,0xbf,0xdf,0x20,0x00,0x10,0x20,0x40,0x67,0xed,0x20,0x40,0x68,0xbe,0x20,0x40,
+0x4d,0x5c,0x20,0x20,0x50,0x1f,0x6f,0xe2,0x46,0x79,0xc2,0x81,0x82,0xab,0x6f,0xe2,
+0x46,0x79,0xc3,0x83,0x80,0x00,0x6f,0xe4,0x44,0x78,0x20,0x40,0x7d,0xb5,0x1f,0xe2,
+0x04,0x00,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,0x01,0xf4,0xe8,0x48,0x00,0x06,0x59,0x28,0x03,0x02,0x98,0x46,
+0x7c,0x00,0x24,0x22,0x81,0xf4,0xef,0xe2,0x00,0x06,0xc2,0x82,0x81,0xf0,0xc2,0x82,
+0x4f,0x01,0x20,0x20,0x01,0xf4,0x20,0x40,0x03,0x75,0x68,0x44,0x46,0x7b,0x20,0x40,
+0x5e,0x4d,0x20,0x20,0x4f,0x03,0x70,0x46,0x7a,0x00,0x70,0x0b,0x01,0x01,0x20,0x40,
+0x50,0xe0,0x20,0x20,0x50,0x1c,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x57,0x09,0x20,0x40,
+0x57,0x09,0x70,0x4a,0xdb,0x01,0x70,0x4a,0xdc,0x00,0x58,0x00,0x00,0x00,0x67,0xf0,
+0x4a,0xd1,0x58,0x00,0x00,0x1b,0x67,0xe4,0x4a,0xd9,0x20,0x60,0x00,0x00,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,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,0x57,0xaf,0x20,0x40,0x02,0x1a,0x20,0x20,0x58,0xa7,0x20,0x36,
+0x80,0x99,0x20,0x20,0x57,0xbe,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x58,0xb3,0x6f,0xe2,
+0x4a,0xdb,0x08,0x00,0x86,0x08,0xef,0xe2,0x00,0x06,0x1f,0xe2,0x72,0x00,0x08,0x00,
+0x86,0x08,0x20,0x22,0xd8,0xbc,0x20,0x20,0x58,0xb9,0x6f,0xe2,0x4b,0xed,0x24,0x3a,
+0x58,0xc4,0x6f,0xe2,0x44,0x56,0xc0,0x00,0xd8,0xd3,0x6f,0xe2,0x44,0x57,0x1f,0xf2,
+0x7e,0x00,0x1f,0xeb,0xfe,0x00,0x67,0xe2,0x4a,0xdb,0x68,0x42,0x43,0x41,0x18,0x40,
+0xfe,0x06,0x67,0xe2,0x4a,0xdc,0x6f,0xec,0x44,0x72,0x67,0xec,0x4a,0xdd,0x18,0x42,
+0x72,0x00,0xd8,0xc0,0x43,0x42,0x20,0x40,0x7c,0xcf,0x20,0x20,0x58,0xde,0x6f,0xe2,
+0x4b,0xed,0x24,0x3a,0x58,0xf7,0xd8,0x40,0x00,0x04,0x6f,0xe2,0x44,0x57,0x7d,0x3a,
+0x04,0x06,0x60,0x42,0x4a,0xdb,0x68,0x42,0x43,0x61,0x18,0x40,0xfe,0x06,0x67,0xe2,
+0x4a,0xdc,0x6f,0xec,0x44,0x72,0x67,0xec,0x4a,0xdd,0xd8,0xc0,0x43,0x62,0x18,0x42,
+0x72,0x00,0x20,0x40,0x7c,0xcf,0x20,0x40,0x58,0xa1,0x20,0x20,0x5a,0xe2,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,0x02,0x58,0x6f,0xe2,
+0x04,0x3b,0xc3,0x02,0x02,0x58,0x20,0x40,0x73,0x42,0x20,0x40,0x72,0xb2,0x7d,0x3a,
+0x00,0x0f,0x24,0x7a,0x00,0x00,0x68,0x42,0x04,0x52,0x79,0x40,0x04,0x02,0x60,0x42,
+0x04,0x52,0x6f,0xe2,0x4b,0xed,0x24,0x7a,0x00,0x00,0x20,0x20,0x02,0x5e,0x6f,0xe2,
+0x02,0xd6,0x20,0x7a,0x00,0x00,0x6f,0xe2,0x02,0xd5,0x2f,0xe0,0x06,0x01,0x20,0x20,
+0x82,0x86,0x2f,0xe0,0x06,0x02,0x20,0x20,0x82,0x66,0x20,0x60,0x00,0x00,0x6f,0xe4,
+0x02,0xd9,0xc1,0x82,0x00,0x00,0xef,0xe6,0x00,0x06,0x67,0xe6,0x04,0x73,0x79,0x20,
+0x00,0x0f,0xc0,0x09,0x02,0x7a,0xc0,0x29,0x02,0x7c,0xc0,0x0b,0x02,0x73,0xc0,0x0c,
+0x5e,0x3b,0xc0,0x01,0x03,0x77,0xc0,0x0f,0x03,0x73,0x79,0x3f,0x80,0x0f,0x20,0x60,
+0x00,0x00,0x58,0x00,0x0b,0x1e,0x67,0xe4,0x4a,0xd5,0x20,0x40,0x02,0x7f,0x1f,0x20,
+0xf3,0xfe,0xda,0x20,0x02,0xe0,0x20,0x40,0x5a,0xbe,0x20,0x20,0x02,0x9f,0x20,0x40,
+0x02,0x7c,0x20,0x20,0x02,0x96,0x20,0x40,0x02,0x7f,0xda,0x20,0x02,0xde,0x20,0x20,
+0x5a,0xbe,0x6f,0xe2,0x02,0xd6,0x1f,0xe0,0xf3,0xf9,0x1f,0xe0,0xff,0xfc,0x67,0xe4,
+0x4a,0xd1,0xe8,0x44,0x00,0x06,0x60,0x44,0x4a,0xd3,0x20,0x60,0x00,0x00,0x79,0x20,
+0x00,0x0f,0x20,0x40,0x02,0x8e,0x6f,0xe2,0x04,0x73,0xc0,0x09,0x02,0x96,0xc0,0x0b,
+0x02,0x95,0xc1,0x29,0x00,0x00,0x79,0x3f,0x80,0x0f,0x20,0x60,0x00,0x00,0x6f,0xe2,
+0x02,0xd6,0x68,0x44,0x4a,0xd1,0x98,0x40,0x84,0x00,0x60,0x44,0x4a,0xd1,0x1f,0xe2,
+0x72,0x00,0xda,0x20,0x02,0xd7,0x20,0x20,0x5a,0xbe,0x20,0x20,0x02,0x9f,0x20,0x40,
+0x02,0x99,0x24,0x74,0x00,0x00,0x20,0x20,0x04,0x75,0x20,0x40,0x7d,0xc1,0x6f,0xe4,
+0x4a,0xd3,0x68,0x44,0x4a,0xd1,0x98,0x46,0x7c,0x00,0x24,0x62,0x80,0x00,0x20,0x20,
+0x7d,0xbf,0x6f,0xe4,0x4a,0xd5,0x1f,0xe2,0x0a,0x00,0x6f,0xe2,0x02,0xd6,0x1f,0xe2,
+0x72,0x00,0x20,0x40,0x7c,0xdc,0x18,0xa2,0x7e,0x00,0x67,0xe4,0x4a,0xd5,0x20,0x40,
+0x02,0x99,0x24,0x74,0x00,0x00,0xd8,0xe0,0x00,0x03,0x20,0x40,0x50,0xe6,0x20,0x20,
+0x02,0xab,0x20,0x40,0x5c,0x74,0x24,0x7a,0x00,0x00,0x70,0x0b,0x22,0x17,0x58,0x00,
+0x0b,0x1e,0x67,0xe4,0x4a,0xd7,0x68,0x44,0x0b,0x1e,0x18,0x40,0x84,0x04,0x58,0x00,
+0x00,0xf9,0x20,0x40,0x7d,0xb5,0x1f,0xe0,0xa5,0xfc,0x18,0x00,0x02,0x02,0x1f,0xe2,
+0x22,0x00,0x20,0x40,0x5c,0x32,0x6f,0xe4,0x4a,0xd7,0x1f,0xe2,0x0c,0x00,0x1a,0x22,
+0x72,0x00,0x20,0x40,0x7c,0xcf,0x18,0xc2,0x7e,0x00,0x67,0xe4,0x4a,0xd7,0x6f,0xe4,
+0x0b,0x1e,0x9a,0x46,0x7e,0x00,0x67,0xe4,0x0b,0x1e,0x20,0x3a,0x02,0xc7,0xd8,0x40,
+0x00,0xf9,0x20,0x40,0x7d,0xb5,0x1f,0xe2,0x24,0x00,0x18,0x00,0x02,0x01,0x20,0x20,
+0x02,0xb6,0x58,0x00,0x00,0x00,0x67,0xe4,0x4a,0xd5,0xd8,0xe0,0x00,0x03,0x20,0x20,
+0x50,0xe2,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x59,0x9b,0x68,0x42,0x04,0x52,0x28,0x4c,
+0x00,0x05,0x20,0x60,0x80,0x00,0x6f,0xe2,0x02,0xd5,0x1f,0xe3,0xfe,0x00,0x98,0x42,
+0xfe,0x00,0xc4,0x01,0x80,0x00,0x79,0x3f,0x84,0x05,0x79,0x40,0x04,0x03,0x60,0x42,
+0x04,0x52,0x28,0x40,0x06,0x03,0x24,0x60,0x80,0x00,0x6f,0xe2,0x4a,0xdd,0xc0,0x02,
+0xd9,0xac,0x6f,0xe2,0x44,0x97,0xc0,0x01,0x59,0xb0,0x20,0x60,0x00,0x00,0x6f,0xe2,
+0x4b,0xed,0x24,0x3a,0x59,0xf9,0x6f,0xe2,0x04,0x52,0xc3,0x82,0x80,0x00,0x20,0x40,
+0x5a,0x1c,0x20,0x40,0x5c,0x53,0x20,0x3a,0x5a,0x3e,0xef,0xe2,0x00,0x06,0xe8,0x42,
+0x00,0x06,0x18,0x42,0x22,0x00,0x9a,0x26,0x7e,0x00,0x20,0x40,0x03,0x03,0x20,0x40,
+0x7d,0xb5,0x1f,0xe2,0x04,0x00,0xef,0xe2,0x00,0x06,0x1f,0xe2,0x02,0x00,0x1a,0x22,
+0x7e,0x00,0x98,0xc0,0x8c,0x00,0xd8,0xa0,0x4a,0xdd,0x18,0x42,0x72,0x00,0x20,0x40,
+0x7c,0xcf,0x20,0x40,0x5a,0x2e,0x20,0x40,0x5a,0x40,0x20,0x40,0x5c,0x53,0xef,0xe2,
+0x00,0x06,0x1f,0xe2,0x22,0x00,0x18,0xc2,0x26,0x00,0xe8,0x42,0x00,0x06,0x18,0x42,
+0x24,0x00,0x9a,0x46,0x7e,0x00,0x20,0x40,0x03,0x03,0x20,0x40,0x7d,0xb5,0x9a,0x40,
+0xfe,0x00,0xe7,0xe2,0x00,0x13,0x9a,0x26,0x7c,0x00,0x24,0x62,0x80,0x00,0x20,0x20,
+0x5c,0x76,0x18,0xc2,0x0a,0x00,0x68,0x44,0x4a,0xd9,0x18,0xa2,0x0c,0x00,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x5a,0x41,0x60,0x42,0x4a,0xdc,0x68,0x42,
+0x04,0x52,0x79,0x20,0x04,0x05,0x18,0x41,0x7e,0xfc,0x98,0x21,0xfe,0x00,0x67,0xe2,
+0x04,0x52,0x1f,0xe1,0x7e,0x1f,0x28,0x0f,0xfe,0x29,0x79,0x20,0xfe,0x04,0x67,0xe2,
+0x4a,0xdb,0x6f,0xe2,0x4a,0xdb,0x28,0x20,0x06,0x01,0x24,0x20,0x83,0x18,0x6f,0xe2,
+0x4a,0xdc,0x20,0x7a,0x00,0x00,0x6f,0xe2,0x04,0x3b,0xc4,0x02,0x00,0x00,0x20,0x40,
+0x73,0x42,0x20,0x20,0x72,0x99,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x72,0x9a,0xda,0x60,
+0x4a,0xdb,0x68,0x4a,0x43,0xd5,0x20,0x40,0x72,0x77,0x18,0x00,0x70,0x08,0x98,0x00,
+0x5e,0x00,0x18,0x00,0x22,0x00,0x20,0x40,0x72,0x63,0x20,0x40,0x72,0xe8,0xda,0x60,
+0x4a,0xdd,0x6f,0xe2,0x4a,0xdc,0x1f,0xe0,0xa5,0xff,0x9a,0x60,0x8a,0x00,0x18,0x00,
+0x70,0x0c,0x1d,0xe2,0x7e,0x00,0xe7,0xe8,0x00,0x05,0x20,0x40,0x72,0x8e,0x6f,0xe2,
+0x4a,0xdc,0x1f,0xe0,0xfe,0x04,0x67,0xe2,0x4a,0xdc,0x68,0x4a,0x43,0xd5,0x18,0x40,
+0x84,0x01,0x60,0x4a,0x43,0xd5,0x20,0x60,0x00,0x00,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,0x83,0x47,0x20,0x40,
+0x5a,0x76,0xd8,0xe0,0x00,0x03,0x24,0x34,0x4b,0xec,0x20,0x40,0x4b,0xf0,0x20,0x20,
+0x5a,0x6b,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x60,0x44,0x6f,0xe2,0x02,0xd7,0xc0,0x04,
+0x03,0x4d,0xc0,0x0a,0x03,0x5a,0x20,0x20,0x60,0x45,0xda,0x20,0x00,0x09,0xda,0x40,
+0x00,0x09,0x20,0x40,0x5c,0x22,0x58,0x00,0x00,0x21,0xe7,0xf0,0x00,0x05,0x20,0x40,
+0x03,0x54,0x20,0x60,0x00,0x00,0x6f,0xe2,0x02,0xd8,0x1f,0xe1,0x7e,0x20,0x20,0x3a,
+0x03,0x58,0x20,0x60,0x00,0x00,0x70,0x4b,0xed,0x01,0x20,0x60,0x00,0x00,0xef,0xe4,
+0x00,0x06,0x67,0xe4,0x4a,0xd9,0x20,0x20,0x03,0x5d,0xda,0x20,0x00,0x09,0xda,0x40,
+0x00,0x15,0x20,0x40,0x5c,0x22,0x58,0x00,0x00,0xfb,0xe7,0xe4,0x00,0x05,0x58,0x00,
+0x08,0x48,0xe7,0xe4,0x00,0x05,0x58,0x00,0x00,0xfb,0xe7,0xe4,0x00,0x05,0x58,0x00,
+0x08,0x48,0xe7,0xe4,0x00,0x05,0x20,0x60,0x00,0x00,0xef,0xe4,0x00,0x06,0xc0,0x02,
+0x03,0x6e,0xc0,0x03,0x5e,0xd4,0xc0,0x02,0xde,0x96,0x20,0x60,0x00,0x00,0xef,0xe6,
+0x00,0x06,0x67,0xe6,0x04,0x73,0xc0,0x05,0x04,0x66,0xc0,0x09,0x04,0x71,0x20,0x20,
+0x5c,0x8d,0xd8,0xe0,0x00,0x07,0x20,0x20,0x50,0xe2,0xd8,0xe0,0x00,0x07,0x20,0x20,
+0x50,0xe6,0x20,0x40,0x5c,0xa9,0x67,0xe4,0x44,0x78,0x20,0x20,0x5c,0xa2,0x20,0x40,
+0x5b,0x86,0xda,0x60,0x43,0x81,0xda,0x20,0x43,0x62,0x20,0x20,0x5b,0xa5,0x6f,0xe2,
+0x4b,0xed,0x24,0x3a,0x5b,0xd5,0x78,0x55,0xfc,0x00,0x20,0x37,0x03,0x83,0x24,0x36,
+0xdb,0xe6,0x20,0x40,0x4b,0xa0,0x6f,0xe4,0x40,0xc1,0x67,0xe4,0x04,0x49,0x24,0x36,
+0xcb,0xb3,0xc5,0x07,0xcb,0xb3,0x6f,0xe2,0x44,0xdd,0x24,0x3a,0x4b,0xb3,0x6f,0xe2,
+0x4a,0xdc,0x24,0x3a,0x4b,0xb3,0x6f,0xe2,0x44,0xbb,0xc2,0x82,0xcb,0xb3,0x6f,0xe2,
+0x04,0x3b,0xc2,0x82,0xcb,0xb3,0x20,0x20,0x4b,0x95,0x6f,0xe2,0x00,0x7d,0xc0,0x08,
+0x03,0x95,0xc0,0x0b,0x83,0x9b,0x20,0x20,0x60,0xfe,0x68,0x42,0x05,0x4e,0x18,0x46,
+0x7c,0x06,0x20,0x21,0x03,0x99,0x20,0x20,0x62,0x06,0x70,0x00,0x7e,0x24,0x20,0x20,
+0x61,0x34,0x20,0x20,0x62,0xb8,0x78,0x54,0x7c,0x00,0x20,0x40,0x66,0xa3,0x6f,0xe2,
+0x00,0x48,0x20,0x7a,0x00,0x00,0xc2,0x83,0x83,0xa2,0x20,0x20,0x63,0xf2,0xc0,0x42,
+0x03,0xa5,0xc0,0x41,0x83,0xa8,0x20,0x20,0x64,0x21,0x20,0x40,0x03,0xab,0x6f,0xe2,
+0x00,0x48,0x20,0x20,0x64,0x7b,0x20,0x40,0x03,0xab,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,0x19,0x42,0x7e,0x00,0x67,0xe4,0x4f,0xf6,0x70,0x40,
+0x91,0x00,0x20,0x40,0x00,0x40,0x6f,0xe2,0x80,0x43,0xc3,0x83,0x80,0x00,0x79,0x20,
+0x7e,0x07,0x67,0xe2,0x80,0x43,0x20,0x60,0x00,0x00,0x6f,0xe2,0x04,0xf9,0xc0,0x77,
+0x83,0xc0,0x20,0x20,0x69,0x57,0x6f,0xe4,0x04,0xfd,0x1f,0xe2,0x0c,0x00,0x20,0x40,
+0x69,0x84,0x6f,0xe2,0x04,0xff,0xc0,0x38,0x03,0xc6,0x20,0x20,0x69,0x60,0x70,0x0a,
+0x95,0x08,0x20,0x40,0x7b,0xab,0x20,0x40,0x69,0x72,0x20,0x20,0x69,0xba,0x6f,0xe2,
+0x04,0xf9,0xc0,0x77,0x83,0xcd,0x20,0x20,0x6a,0x15,0x6f,0xe4,0x04,0xfd,0x1f,0xe2,
+0x0c,0x00,0x20,0x40,0x69,0x84,0x6f,0xe2,0x04,0xff,0xc0,0x38,0x03,0xd3,0x20,0x20,
+0x6a,0x1d,0x70,0x0a,0x95,0x08,0x20,0x40,0x7b,0xab,0x20,0x40,0x69,0x72,0x20,0x20,
+0x6a,0x43,0x6f,0xe2,0x44,0x90,0x20,0x3a,0x5e,0xd0,0x20,0x40,0x74,0x38,0x20,0x20,
+0x79,0x32,0x20,0x40,0x42,0x5a,0x24,0x22,0x83,0xe3,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,0x03,0xe5,0x20,0x20,0x40,0x2c,0xdf,0x20,0x00,0x02,0x68,0x42,
+0x00,0x15,0x18,0x40,0x84,0x01,0x28,0x41,0xfe,0x02,0x24,0x20,0x83,0xeb,0xd8,0x40,
+0x00,0x00,0x60,0x42,0x00,0x15,0x18,0x4f,0xfe,0x50,0xda,0x20,0x4b,0xf8,0x9a,0x20,
+0xa2,0x00,0xef,0xe2,0x00,0x11,0xc2,0x80,0x83,0xf3,0xc3,0x80,0x00,0x00,0xc3,0x81,
+0x80,0x00,0xc2,0x00,0x03,0xe7,0x20,0x60,0x00,0x00,0xda,0x60,0x03,0xf7,0x20,0x20,
+0x42,0x39,0xc2,0x80,0x42,0x62,0x18,0x00,0x7c,0x00,0x20,0x60,0x00,0x00,0xda,0x20,
+0x4b,0xf8,0xdf,0x20,0x00,0x02,0x20,0x20,0x42,0x60,0x6f,0xe2,0x00,0x30,0x79,0x3f,
+0xfe,0x03,0x67,0xe2,0x00,0x30,0x70,0x46,0x51,0x00,0x20,0x20,0x43,0xc5,0x78,0x48,
+0x7c,0x00,0x18,0x42,0x36,0x00,0x20,0x40,0x04,0x0a,0x78,0x54,0x7c,0x00,0x24,0x62,
+0x80,0x00,0x18,0x00,0x36,0x00,0x78,0x34,0x7c,0x00,0x20,0x60,0x00,0x00,0xda,0x60,
+0x04,0x0c,0x20,0x20,0x42,0x5d,0x1f,0xe2,0x04,0x00,0x1a,0x20,0x8c,0x01,0xef,0xe2,
+0x00,0x06,0x1a,0x22,0x0c,0x00,0xc2,0x80,0x42,0x62,0x18,0x42,0x7e,0x00,0x20,0x20,
+0x42,0xc2,0x58,0x00,0x00,0x00,0x1c,0xe2,0x7c,0x00,0x20,0x22,0x84,0x1d,0x6f,0xe2,
+0x81,0x24,0x68,0x42,0x81,0x25,0x98,0x46,0x7c,0x00,0x20,0x21,0x04,0x1b,0x18,0x42,
+0x7e,0x00,0x9c,0xe6,0x7e,0x00,0x1f,0xe0,0xfe,0x01,0x1f,0xe0,0xfe,0x08,0x37,0xd9,
+0x82,0x00,0x9e,0x20,0xfe,0x00,0x68,0x48,0x41,0x5c,0x98,0x40,0xfe,0x00,0x68,0x46,
+0x41,0x70,0x98,0x4f,0xfe,0x00,0x1f,0xec,0xfe,0x00,0x1f,0xf1,0xfe,0x00,0x1f,0xe0,
+0xfe,0x6e,0xd8,0x40,0x0e,0xa6,0x98,0x46,0xfc,0x00,0x20,0x40,0x7d,0x61,0x18,0x07,
+0xfe,0x00,0x1f,0xf0,0x7e,0x00,0x18,0x07,0x04,0x00,0x98,0x41,0xfe,0x00,0x68,0x4c,
+0x41,0x64,0x20,0x40,0x7d,0x07,0x18,0x42,0x32,0x00,0x6f,0xec,0x4c,0x00,0x20,0x40,
+0x48,0x50,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,0x46,0x2c,0x20,0x3a,
+0x04,0x3d,0x6f,0xe2,0x45,0x83,0x20,0x7a,0x00,0x00,0x6f,0xe2,0x44,0x92,0x24,0x7a,
+0x00,0x00,0x20,0x40,0x4b,0xf4,0x24,0x7a,0x00,0x00,0x6f,0xe2,0x4b,0xf8,0x2f,0xe0,
+0x0e,0x03,0x24,0x20,0xcb,0x72,0x6f,0xe4,0x4b,0xfa,0x20,0x7a,0x00,0x00,0x20,0x75,
+0x80,0x00,0x68,0x42,0x00,0xa0,0x6f,0xe4,0x4b,0xfa,0x98,0x4f,0xfe,0x00,0x18,0x51,
+0x84,0x00,0x18,0x4b,0x04,0x00,0x98,0x46,0x7e,0x00,0x68,0x48,0x4b,0xfc,0x98,0x40,
+0xfe,0x00,0x68,0x42,0x41,0x56,0x98,0x46,0x7e,0x00,0x1f,0xf0,0x60,0x00,0x6f,0xe4,
+0x4c,0x06,0x1f,0xe3,0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1e,0x02,0x7e,0x00,0x20,0x40,
+0x7d,0x14,0x1b,0x42,0x04,0x00,0x20,0x40,0x00,0x68,0x20,0x74,0x00,0x00,0x20,0x20,
+0x4b,0x68,0x6f,0xe2,0x4b,0xf8,0x20,0x20,0x4b,0x74,0x20,0x40,0x7d,0xc1,0x6f,0xe2,
+0x44,0x98,0xc1,0x00,0x00,0x00,0x6f,0xe2,0x4b,0xf8,0xc3,0x82,0x00,0x00,0x20,0x20,
+0x7d,0xbf,0x6f,0xe2,0x46,0x79,0xc2,0x81,0x04,0x5d,0x20,0x20,0x7d,0xc1,0x68,0x44,
+0x04,0x74,0x6f,0xe2,0x44,0xbb,0xc2,0x81,0x84,0x6a,0x20,0x20,0x5d,0x9f,0x6f,0xe4,
+0x44,0xcc,0x98,0x46,0x7c,0x00,0x24,0x22,0xdd,0x9f,0x20,0x40,0x04,0x5d,0x24,0x34,
+0x5d,0x9f,0x70,0x04,0x76,0x05,0x20,0x20,0x5e,0x57,0x18,0xc2,0x22,0x00,0x6f,0xe4,
+0x44,0xce,0x1f,0xe0,0xa5,0xfd,0x20,0x40,0x5a,0xbe,0x6f,0xe2,0x44,0xbb,0xc3,0x02,
+0x5e,0x1d,0x68,0x44,0x04,0x74,0x6f,0xe4,0x44,0xcc,0x98,0x46,0x7c,0x00,0x24,0x22,
+0xde,0x1d,0x20,0x40,0x04,0x5d,0x24,0x34,0x5e,0x1d,0x70,0x04,0x76,0x05,0x20,0x20,
+0x5e,0x57,0x20,0x40,0x41,0xc5,0x24,0x74,0x00,0x00,0x78,0x54,0x7c,0x00,0x70,0x00,
+0x11,0x20,0x79,0x3f,0x80,0x0b,0x79,0x3f,0x80,0x2c,0x20,0x40,0x4a,0x4e,0x20,0x40,
+0x42,0xe2,0xc5,0x05,0x84,0x8c,0x20,0x40,0x44,0x51,0x24,0x3a,0x04,0x85,0xc5,0x16,
+0x04,0x95,0x20,0x20,0x41,0xe8,0x20,0x40,0x4a,0x4c,0xd8,0x20,0x00,0x10,0x20,0x40,
+0x42,0xd8,0x79,0x20,0x00,0x2c,0x79,0x3f,0x80,0x0b,0x6f,0xe2,0x00,0x77,0x98,0x00,
+0x08,0x00,0x70,0x00,0x11,0x02,0x20,0x20,0x04,0x85,0x6f,0xe8,0x01,0x63,0x1f,0xe0,
+0xfe,0x08,0x67,0xe8,0x01,0x63,0x20,0x20,0x41,0xf4,0x20,0x40,0x51,0x4a,0x70,0x02,
+0x81,0x17,0x20,0x60,0x00,0x00,0x20,0x40,0x04,0xf3,0x20,0x20,0x6b,0x6e,0x58,0x00,
+0x15,0xef,0xe7,0xe4,0x00,0x05,0x58,0x00,0x11,0x83,0xe7,0xe4,0x00,0x05,0x18,0x42,
+0x7e,0x00,0xe7,0xe2,0x00,0x05,0x58,0x00,0x00,0xf0,0xe7,0xe6,0x00,0x05,0x6f,0xe4,
+0x45,0x3e,0xe7,0xe4,0x00,0x05,0x58,0x00,0x00,0x00,0xe7,0xe2,0x00,0x05,0x6f,0xe2,
+0x45,0x40,0xe7,0xe2,0x00,0x05,0x20,0x40,0x68,0xf0,0xe7,0xe2,0x00,0x05,0x70,0x45,
+0x3b,0x10,0x20,0x60,0x00,0x00,0x6f,0xe2,0x46,0x51,0xc0,0x00,0x69,0x4f,0x6f,0xe4,
+0x02,0x60,0x1f,0xe2,0x0c,0x00,0x20,0x40,0x69,0x79,0x6f,0xe2,0x04,0xf8,0xc0,0x00,
+0x6a,0x13,0x20,0x20,0x04,0xb8,0x6f,0xe2,0x04,0xf9,0xc0,0x77,0x84,0xca,0xc0,0x7f,
+0x84,0xc2,0xc0,0x29,0x84,0xbd,0x20,0x20,0x6a,0x4e,0x20,0x20,0x6a,0x05,0x6f,0xe2,
+0x04,0xf9,0xc0,0x77,0x84,0xca,0xc0,0x7f,0x84,0xc2,0x20,0x20,0x69,0xdc,0x6f,0xe4,
+0x04,0xfd,0x1f,0xe2,0x0c,0x00,0x1f,0xe0,0xfe,0x01,0x67,0xe4,0x04,0xfd,0xef,0xe2,
+0x00,0x06,0x68,0x42,0x45,0x3a,0x98,0x40,0xfe,0x00,0x67,0xe2,0x45,0x3a,0x20,0x40,
+0x6b,0x01,0x6f,0xe4,0x04,0xfd,0x67,0xe4,0x4c,0xae,0x68,0xe2,0x04,0xfb,0x20,0x20,
+0x04,0xcf,0x18,0xe2,0x7e,0x00,0x20,0x62,0x80,0x00,0x68,0x44,0x4c,0xae,0x18,0x42,
+0x0c,0x00,0x20,0x40,0x04,0xdd,0x24,0x74,0x00,0x00,0x18,0xc2,0x7e,0x00,0x67,0xe4,
+0x4c,0xb0,0x20,0x40,0x04,0xdd,0x24,0x74,0x00,0x00,0x18,0xc2,0x7e,0x00,0x67,0xe4,
+0x4c,0xae,0x20,0x40,0x05,0x6f,0x20,0x20,0x04,0xcf,0x78,0x54,0x7c,0x00,0x18,0xe2,
+0x7e,0x00,0x1f,0xe0,0xff,0xfe,0x24,0x61,0x00,0x00,0x18,0xe0,0x8f,0xff,0xef,0xe2,
+0x00,0x06,0xc0,0x86,0x84,0xde,0x18,0xe0,0x8f,0xff,0xef,0xe2,0x00,0x06,0xc0,0x85,
+0x04,0xde,0x78,0x34,0x7c,0x00,0x20,0x60,0x00,0x00,0x70,0x4c,0x98,0x00,0x70,0x4c,
+0x99,0x00,0x70,0x4c,0x9a,0x00,0x70,0x4c,0xad,0x0a,0x70,0x4c,0xab,0x0a,0x70,0x4c,
+0xba,0x00,0x58,0x00,0x4c,0xab,0xd8,0xa0,0x4c,0x98,0x98,0xa6,0x72,0x00,0x20,0x20,
+0x7c,0xaf,0x20,0x40,0x56,0x4e,0x24,0x7a,0x00,0x00,0x6f,0xe2,0x4c,0x98,0xc0,0x05,
+0x05,0x24,0xc1,0x05,0x80,0x00,0xc0,0x06,0x05,0x2f,0xc1,0x06,0x80,0x00,0xc0,0x07,
+0x05,0x3a,0xc1,0x07,0x80,0x00,0xc0,0x00,0x05,0x08,0xc0,0x00,0x85,0x15,0xc1,0x01,
+0x00,0x00,0xc0,0x01,0x85,0x45,0xc1,0x02,0x00,0x00,0xc0,0x02,0x85,0x50,0xc1,0x03,
+0x00,0x00,0xc0,0x03,0x85,0x59,0xc1,0x04,0x00,0x00,0xc0,0x04,0x85,0x07,0x20,0x60,
+0x00,0x00,0x20,0x60,0x00,0x00,0x6f,0xe2,0x42,0x26,0xc0,0x77,0x85,0x0c,0xc0,0x7f,
+0x85,0x0c,0x20,0x60,0x00,0x00,0x70,0x4c,0x98,0x01,0x20,0x60,0x00,0x00,0x67,0xe4,
+0x46,0x6a,0x58,0x00,0x4c,0xd5,0x67,0xe4,0x4c,0xb2,0x1f,0xe2,0x0a,0x00,0x58,0x2b,
+0x54,0x41,0xe7,0xe6,0x00,0x05,0x20,0x60,0x00,0x00,0x6f,0xe2,0x45,0x3a,0x20,0x7a,
+0x00,0x00,0x20,0x40,0x07,0x4b,0x70,0x4c,0x98,0x02,0x58,0x00,0x00,0x0a,0x20,0x40,
+0x05,0x0e,0x58,0x53,0x52,0x42,0xe7,0xe6,0x00,0x05,0x58,0x00,0x3d,0x46,0xe7,0xe4,
+0x00,0x05,0x6f,0xe2,0x4c,0xb4,0xe7,0xe2,0x00,0x05,0x58,0x00,0x00,0x0d,0xe7,0xe2,
+0x00,0x05,0x20,0x20,0x07,0x4d,0x20,0x40,0x07,0x4b,0x70,0x4c,0x98,0x0b,0x58,0x00,
+0x00,0x0a,0x20,0x40,0x05,0x0e,0x58,0x00,0x48,0x43,0xe7,0xe4,0x00,0x05,0x58,0x3d,
+0x44,0x4c,0xe7,0xe6,0x00,0x05,0x58,0x00,0x0d,0x3f,0xe7,0xe4,0x00,0x05,0x20,0x20,
+0x07,0x4d,0x20,0x40,0x07,0x4b,0x70,0x4c,0x98,0x0d,0x58,0x00,0x00,0x0a,0x20,0x40,
+0x05,0x0e,0x58,0x00,0x4c,0x43,0xe7,0xe4,0x00,0x05,0x58,0x3d,0x50,0x49,0xe7,0xe6,
+0x00,0x05,0x58,0x00,0x0d,0x31,0xe7,0xe4,0x00,0x05,0x20,0x20,0x07,0x4d,0x20,0x40,
+0x07,0x4b,0x70,0x4c,0x98,0x0f,0x58,0x00,0x00,0x0a,0x20,0x40,0x05,0x0e,0x58,0x00,
+0x43,0x43,0xe7,0xe4,0x00,0x05,0x58,0x3d,0x41,0x57,0xe7,0xe6,0x00,0x05,0x58,0x00,
+0x0d,0x31,0xe7,0xe4,0x00,0x05,0x20,0x20,0x07,0x4d,0x20,0x40,0x07,0x4b,0x70,0x4c,
+0x98,0x04,0x58,0x00,0x00,0x0a,0x20,0x40,0x05,0x0e,0x58,0x4e,0x49,0x43,0xe7,0xe6,
+0x00,0x05,0x58,0x3f,0x3d,0x44,0xe7,0xe6,0x00,0x05,0x58,0x00,0x00,0x0d,0xe7,0xe2,
+0x00,0x05,0x20,0x20,0x07,0x4d,0x20,0x40,0x07,0x4b,0x70,0x4c,0x98,0x06,0x58,0x00,
+0x00,0x09,0x20,0x40,0x05,0x0e,0x58,0x4e,0x49,0x43,0xe7,0xe6,0x00,0x05,0x58,0x0d,
+0x3f,0x44,0xe7,0xe6,0x00,0x05,0x20,0x20,0x07,0x4d,0x20,0x40,0x07,0x4b,0x70,0x4c,
+0x98,0x08,0x58,0x00,0x00,0x10,0x20,0x40,0x05,0x0e,0x58,0x45,0x4d,0x43,0xe7,0xe6,
+0x00,0x05,0x58,0x33,0x3d,0x52,0xe7,0xe6,0x00,0x05,0x58,0x2c,0x30,0x2c,0xe7,0xe6,
+0x00,0x05,0x58,0x31,0x2c,0x30,0xe7,0xe6,0x00,0x05,0x58,0x00,0x00,0x0d,0xe7,0xe2,
+0x00,0x05,0x20,0x20,0x07,0x4d,0x58,0x00,0x00,0x08,0x20,0x40,0x05,0x0e,0x58,0x43,
+0x4c,0x43,0xe7,0xe6,0x00,0x05,0x58,0x00,0x0d,0x43,0xe7,0xe4,0x00,0x05,0x20,0x20,
+0x07,0x4d,0x78,0x54,0x7c,0x00,0x20,0x40,0x05,0x8b,0x20,0x74,0x00,0x00,0x20,0x40,
+0x05,0xb5,0x20,0x74,0x00,0x00,0x60,0xe4,0x0a,0x9e,0x20,0x40,0x07,0x4b,0x68,0xe4,
+0x0a,0x9e,0x20,0x40,0x06,0xc8,0x20,0x74,0x00,0x00,0x20,0x40,0x05,0xcf,0x20,0x74,
+0x00,0x00,0x20,0x40,0x05,0xc3,0x20,0x74,0x00,0x00,0x20,0x40,0x06,0x35,0x20,0x74,
+0x00,0x00,0x20,0x40,0x06,0xd8,0x20,0x74,0x00,0x00,0x20,0x40,0x06,0xe6,0x20,0x74,
+0x00,0x00,0x20,0x40,0x07,0x07,0x20,0x74,0x00,0x00,0x20,0x40,0x06,0xf9,0x20,0x74,
+0x00,0x00,0x20,0x40,0x07,0x26,0x20,0x74,0x00,0x00,0x6f,0xe4,0x4c,0xb8,0x20,0x20,
+0x7d,0x77,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa7,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa5,0x80,0x00,0x78,0x34,0x7c,0x00,0x20,0x40,
+0x05,0x9c,0x6f,0xe2,0x4c,0x98,0xc0,0x04,0x05,0xac,0xc0,0x05,0x85,0xae,0xc0,0x06,
+0x85,0xb0,0xc0,0x07,0x85,0xb2,0xc0,0x01,0x05,0xa6,0xc0,0x02,0x05,0xa8,0xc0,0x03,
+0x05,0xaa,0x20,0x60,0x00,0x00,0x6f,0xe2,0x4c,0x9a,0xc0,0x00,0x85,0xa2,0xc0,0x01,
+0x05,0xa2,0xc0,0x01,0x85,0xa4,0xc0,0x02,0x05,0xa2,0x20,0x60,0x00,0x00,0x70,0x4c,
+0x9a,0x00,0x20,0x60,0x00,0x00,0x70,0x4c,0x9a,0x00,0x20,0x60,0x00,0x00,0x70,0x4c,
+0x98,0x03,0x20,0x60,0x00,0x00,0x70,0x4c,0x98,0x05,0x20,0x60,0x00,0x00,0x70,0x4c,
+0x98,0x07,0x20,0x60,0x00,0x00,0x70,0x4c,0x98,0x0a,0x20,0x60,0x00,0x00,0x70,0x4c,
+0x98,0x0c,0x20,0x60,0x00,0x00,0x70,0x4c,0x98,0x0e,0x20,0x60,0x00,0x00,0x70,0x4c,
+0x98,0x09,0x70,0x0a,0x95,0x60,0x20,0x20,0x7b,0xab,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,
+0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa2,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa9,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa9,0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa7,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa9,0x00,0x00,0x78,0x34,0x7c,0x00,0x20,0x20,
+0x05,0x9c,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa9,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa4,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa7,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa3,0x80,0x00,0x78,0x34,0x7c,0x00,0x20,0x60,
+0x00,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0x95,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa4,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa2,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xab,
+0x00,0x00,0x78,0x34,0x7c,0x00,0x20,0x40,0x07,0x37,0x1a,0x20,0xa2,0x02,0x58,0x00,
+0x4c,0x9d,0x98,0x40,0x84,0x00,0x18,0x40,0x85,0xff,0xef,0xe2,0x00,0x02,0xd8,0x40,
+0x4c,0xa4,0x98,0x40,0xfe,0x00,0x67,0xe4,0x4c,0xb0,0x1a,0x22,0x0c,0x00,0x20,0x40,
+0x07,0x47,0x20,0x40,0x07,0x37,0x6f,0xe4,0x4c,0xb0,0xe0,0x42,0x00,0x3f,0x58,0x00,
+0x00,0x01,0x20,0x40,0x05,0xef,0xc0,0x00,0x05,0xf3,0xc0,0x00,0x86,0x15,0x20,0x60,
+0x00,0x00,0xd8,0xc0,0x4c,0xa4,0x98,0xc0,0x8c,0x00,0xef,0xe2,0x00,0x06,0x20,0x60,
+0x00,0x00,0x58,0x00,0x00,0x02,0x20,0x40,0x05,0xef,0xc0,0x00,0x86,0x01,0xc0,0x01,
+0x06,0x11,0xc0,0x01,0x86,0x11,0x6f,0xe2,0x4c,0x99,0xc1,0x00,0x00,0x00,0x70,0x4c,
+0x99,0x00,0x6f,0xe2,0x4c,0xba,0x1f,0xe6,0x7c,0x01,0x20,0x42,0x85,0xff,0x20,0x20,
+0x06,0x2f,0x70,0x0a,0x95,0x58,0x20,0x20,0x7b,0xab,0x20,0x40,0x05,0x68,0x6f,0xe2,
+0x4c,0x99,0xc1,0x00,0x80,0x00,0x70,0x4c,0x99,0x01,0x70,0x0a,0x95,0x5a,0x20,0x20,
+0x7b,0xab,0x70,0x0a,0x95,0x5b,0x20,0x20,0x7b,0xab,0x70,0x0a,0x95,0x5c,0x20,0x20,
+0x7b,0xab,0x70,0x0a,0x95,0x5d,0x20,0x20,0x7b,0xab,0x70,0x0a,0x95,0x5e,0x20,0x20,
+0x7b,0xab,0x70,0x0a,0x95,0x5f,0x20,0x20,0x7b,0xab,0x6f,0xe2,0x4c,0x99,0xc1,0x01,
+0x00,0x00,0x70,0x4c,0x99,0x02,0x20,0x20,0x06,0x07,0x58,0x00,0x00,0x03,0x20,0x40,
+0x05,0xef,0xc0,0x00,0x06,0x24,0x6f,0xe2,0x4c,0x99,0xc1,0x03,0x00,0x00,0x70,0x4c,
+0x99,0x06,0x20,0x20,0x06,0x0f,0x6f,0xe2,0x4c,0x99,0xc1,0x02,0x00,0x00,0x70,0x4c,
+0x99,0x04,0x20,0x20,0x06,0x0b,0x6f,0xe2,0x4c,0x99,0xc1,0x02,0x80,0x00,0x70,0x4c,
+0x99,0x05,0x20,0x20,0x06,0x0d,0x58,0x00,0x00,0x02,0x20,0x40,0x05,0xef,0xc0,0x00,
+0x86,0x1c,0xc0,0x01,0x06,0x20,0xc0,0x01,0x86,0x20,0x6f,0xe2,0x4c,0x99,0xc1,0x01,
+0x80,0x00,0x70,0x4c,0x99,0x03,0x20,0x40,0x06,0x09,0x70,0x4c,0xba,0x02,0x20,0x60,
+0x00,0x00,0x70,0x4c,0xba,0x00,0x20,0x60,0x00,0x00,0x70,0x0a,0x95,0x59,0x20,0x40,
+0x7b,0xab,0x70,0x4c,0xba,0x01,0x20,0x60,0x00,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,
+0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0x95,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa4,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa7,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa2,0x00,0x00,0x78,0x34,0x7c,0x00,0x18,0xc0,
+0x8c,0x02,0xef,0xe2,0x00,0x06,0xc0,0x14,0x06,0x61,0x20,0x20,0x06,0x46,0x18,0x00,
+0x72,0x07,0x60,0xc4,0x4c,0xb0,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0x20,0x40,
+0x07,0x37,0x1a,0x20,0xa2,0x02,0x1a,0x22,0x0c,0x00,0x20,0x40,0x07,0x47,0x18,0xc2,
+0x7e,0x00,0x67,0xe4,0x4c,0xb0,0x18,0x42,0x22,0x00,0x1f,0x22,0x04,0x00,0x18,0x46,
+0x04,0x07,0x20,0x40,0x06,0x5a,0xd8,0x40,0x4c,0xa4,0x98,0x40,0x84,0x00,0x1a,0x22,
+0x7e,0x00,0xe7,0xe2,0x00,0x02,0xc2,0x00,0x06,0x48,0x20,0x20,0x05,0xea,0x58,0x00,
+0x4c,0x9d,0x98,0x40,0x84,0x00,0xef,0xe2,0x00,0x02,0x20,0x60,0x00,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0x11,0x00,0x00,0x20,0x20,0x06,0x5e,0x18,0x00,0x72,0x07,0x20,0x40,
+0x06,0x5e,0x60,0xc4,0x4c,0xb0,0x20,0x40,0x06,0x70,0x20,0x36,0x06,0x6d,0x20,0x40,
+0x06,0x8e,0x20,0x36,0x06,0x6d,0x20,0x40,0x06,0xba,0x20,0x36,0x06,0x6d,0x20,0x40,
+0x06,0xac,0x20,0x36,0x06,0x6d,0x20,0x40,0x06,0x7e,0x20,0x40,0x06,0x5e,0xc2,0x00,
+0x06,0x62,0x20,0x60,0x00,0x00,0x78,0x56,0x7c,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,
+0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb9,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb2,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb9,0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xbb,
+0x00,0x00,0x78,0x36,0x7c,0x00,0x18,0x00,0x22,0x00,0x20,0x20,0x06,0xa5,0x78,0x56,
+0x7c,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb1,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb0,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xba,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xba,0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb1,
+0x80,0x00,0x78,0x36,0x7c,0x00,0x18,0x00,0x22,0x06,0x20,0x20,0x06,0xa5,0x78,0x56,
+0x7c,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb1,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb0,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb6,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb6,0x00,0x00,0xef,0xe2,0x00,0x06,0x78,0x36,
+0x7c,0x00,0xc0,0x34,0x06,0xa4,0xc0,0x11,0x06,0xa1,0xc0,0x39,0x86,0x9f,0x20,0x60,
+0x00,0x00,0x18,0x00,0x22,0x02,0x20,0x20,0x06,0xa5,0x18,0xc0,0x8d,0xff,0x18,0x00,
+0x22,0x01,0x20,0x20,0x06,0xa5,0x18,0x00,0x22,0x03,0x1f,0x22,0x7e,0x00,0x1f,0xe6,
+0x7e,0x07,0xd8,0x40,0x4c,0x9d,0x98,0x40,0x84,0x00,0x1a,0x22,0x7e,0x00,0xe7,0xe2,
+0x00,0x02,0x20,0x60,0x00,0x00,0x78,0x56,0x7c,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,
+0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb9,0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb7,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb0,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb6,
+0x80,0x00,0x78,0x36,0x7c,0x00,0x18,0x00,0x22,0x05,0x20,0x20,0x06,0xa5,0x78,0x56,
+0x7c,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb9,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb4,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb3,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xb7,0x00,0x00,0x78,0x36,0x7c,0x00,0x18,0x00,
+0x22,0x04,0x20,0x20,0x06,0xa5,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0x95,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,0x00,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0xa9,0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa9,0x80,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0xa3,0x00,0x00,0x78,0x34,0x7c,0x00,0x20,0x40,0x07,0x37,0x60,0x44,
+0x4c,0x9b,0x20,0x60,0x00,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0x95,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,0x80,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0xa4,0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa6,0x00,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0xa2,0x00,0x00,0x78,0x34,0x7c,0x00,0x20,0x60,0x00,0x00,0x6f,0xe4,
+0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0x95,0x80,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0xab,0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa3,0x80,0x00,0xef,0xe2,
+0x00,0x06,0x78,0x34,0x7c,0x00,0xc0,0x26,0x86,0xf6,0xc0,0x29,0x86,0xf3,0x20,0x60,
+0x00,0x00,0x20,0x40,0x07,0x37,0x60,0x42,0x4c,0xab,0x20,0x60,0x00,0x00,0x20,0x40,
+0x07,0x37,0x60,0x42,0x4c,0xad,0x20,0x60,0x00,0x00,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,
+0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0x95,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xab,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa0,0x80,0x00,0x78,0x34,0x7c,0x00,0x20,0x20,
+0x07,0x18,0x6f,0xe4,0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0x95,
+0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa6,
+0x00,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa4,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa8,
+0x00,0x00,0x78,0x34,0x7c,0x00,0x20,0x40,0x07,0x18,0x6f,0xe2,0x4c,0xba,0xc1,0x80,
+0x00,0x00,0x20,0x20,0x06,0x31,0xef,0xe2,0x00,0x06,0xc0,0x91,0x07,0x18,0x18,0x00,
+0x22,0x00,0x18,0x00,0x24,0x30,0xd8,0xa0,0x4c,0xbc,0xef,0xe2,0x00,0x06,0xc0,0x11,
+0x07,0x23,0x1a,0x20,0xa2,0x01,0x9a,0x46,0x7e,0x00,0xe7,0xe2,0x00,0x05,0x20,0x20,
+0x07,0x1d,0x1a,0x22,0x7e,0x00,0x67,0xe2,0x4c,0xbb,0x20,0x60,0x00,0x00,0x6f,0xe4,
+0x4c,0xb0,0x1f,0xe2,0x0c,0x00,0xef,0xe2,0x00,0x06,0xc1,0x95,0x80,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0xa1,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa6,0x00,0x00,0xef,0xe2,
+0x00,0x06,0xc1,0xa1,0x80,0x00,0xef,0xe2,0x00,0x06,0xc1,0xa1,0x80,0x00,0x78,0x34,
+0x7c,0x00,0x20,0x40,0x07,0x18,0x6f,0xe2,0x4c,0xba,0xc1,0x80,0x00,0x00,0x20,0x20,
+0x06,0x31,0x20,0x40,0x07,0x47,0x18,0xc0,0x8d,0xfe,0x18,0xc2,0x22,0x00,0x18,0x00,
+0x24,0x01,0x18,0x00,0x04,0x00,0xef,0xe2,0x00,0x11,0x1a,0x20,0xa3,0xff,0xc1,0x1e,
+0x80,0x00,0xc1,0x1d,0x00,0x00,0xc1,0x16,0x00,0x00,0xc0,0x10,0x07,0x3c,0x1f,0xe0,
+0xff,0xd0,0x9a,0x4f,0xfe,0x00,0x98,0x40,0x84,0x00,0x1a,0x4f,0xa4,0x0a,0x20,0x20,
+0x07,0x3c,0xef,0xe2,0x00,0x06,0xc1,0x06,0x80,0x00,0xc1,0x16,0x00,0x00,0x20,0x20,
+0x07,0x47,0x20,0x40,0x69,0x33,0x20,0x20,0x6a,0xe9,0x6f,0xe2,0x45,0x3a,0x20,0x7a,
+0x00,0x00,0x1f,0xe0,0xff,0xff,0x67,0xe2,0x45,0x3a,0x6f,0xe2,0x45,0x37,0x67,0xe2,
+0x05,0x0b,0x58,0x00,0x00,0xef,0x67,0xe2,0x05,0x0a,0x20,0x40,0x69,0x33,0x6f,0xe4,
+0x46,0x6a,0x1f,0xe0,0xfe,0x04,0x1f,0xe2,0x22,0x00,0x20,0x40,0x07,0x6e,0x6f,0xe2,
+0x05,0x09,0xe7,0xe2,0x00,0x05,0x6f,0xe2,0x05,0x0a,0xe7,0xe2,0x00,0x05,0x20,0x40,
+0x07,0x69,0x6f,0xe4,0x46,0x6a,0x1f,0xe2,0x72,0x00,0x6f,0xe4,0x4c,0xb2,0x1f,0xe2,
+0x0c,0x00,0x20,0x40,0x7c,0xdc,0x6f,0xe2,0x05,0x0b,0xe7,0xe2,0x00,0x05,0x58,0x00,
+0x00,0x00,0x67,0xe4,0x46,0x6a,0x20,0x60,0x00,0x00,0x6f,0xe4,0x46,0x6a,0x1f,0xe3,
+0xfe,0x00,0x79,0x20,0x7e,0x00,0xe7,0xe2,0x00,0x05,0x20,0x60,0x00,0x00,0x20,0x40,
+0x56,0xac,0x20,0x40,0x56,0xba,0x1a,0x22,0x7e,0x00,0xe7,0xe4,0x00,0x05,0x6f,0xe4,
+0x42,0x1c,0xe7,0xe4,0x00,0x05,0x20,0x60,0x00,0x00,0x18,0xc2,0x04,0x00,0xdf,0x20,
+0x00,0x04,0xd8,0xa0,0x05,0x26,0x20,0x40,0x7c,0xa1,0x18,0x42,0x0c,0x00,0x1a,0x42,
+0x7e,0x00,0xc0,0x01,0x87,0x7e,0xc0,0x02,0x87,0x88,0x20,0x20,0x6c,0xe3,0xef,0xe4,
+0x00,0x06,0xef,0xe4,0x00,0x06,0x1f,0xf0,0xfe,0x00,0xc0,0x80,0xca,0x8b,0xef,0xe8,
+0x00,0x06,0x67,0xe8,0x05,0x20,0x6f,0xe2,0x42,0x22,0x79,0x20,0x7e,0x06,0x67,0xe2,
+0x42,0x22,0x20,0x60,0x00,0x00,0x6f,0xe2,0x42,0x22,0x79,0x20,0x7e,0x07,0x67,0xe2,
+0x42,0x22,0x18,0x42,0x0c,0x00,0xef,0xe4,0x00,0x06,0x20,0x40,0x6f,0xc1,0x67,0xe2,
+0x45,0x36,0x20,0x60,0x00,0x00,0x6f,0xe2,0x02,0x83,0x20,0x7a,0x00,0x00,0xc0,0x02,
+0x07,0x98,0xc0,0x1e,0x87,0x9c,0xc0,0x1f,0x07,0xa1,0xc0,0x1f,0x87,0xa7,0xc0,0x20,
+0x07,0xaa,0x20,0x20,0x6b,0xbd,0x6f,0xe2,0x42,0x22,0xc1,0x9f,0x80,0x00,0x70,0x02,
+0x83,0x3d,0x20,0x20,0x6b,0xba,0x70,0x02,0x83,0x3e,0xda,0x20,0x00,0x0d,0x58,0x00,
+0x1f,0x11,0x67,0xe4,0x05,0x4b,0x20,0x20,0x07,0xae,0x6f,0xe2,0x42,0x22,0xc4,0x03,
+0x00,0x00,0x6f,0xe8,0x05,0x20,0x20,0x3a,0x4d,0x64,0x70,0x02,0x83,0x3f,0x20,0x20,
+0x6b,0xba,0x70,0x02,0x83,0x40,0xda,0x20,0x00,0x13,0x20,0x20,0x07,0xc3,0x6f,0xe2,
+0x42,0x22,0xc4,0x03,0x80,0x00,0x70,0x02,0x83,0x3b,0x20,0x20,0x6c,0x3a,0x20,0x40,
+0x07,0xdc,0x58,0x00,0x00,0x02,0xe7,0xe2,0x00,0x05,0x6f,0xe4,0x05,0x1a,0x1f,0xf0,
+0xfe,0x00,0xe7,0xe4,0x00,0x05,0x1a,0x20,0xa3,0xfb,0x1a,0x30,0xa2,0x00,0x1a,0x22,
+0x7e,0x00,0xe7,0xe4,0x00,0x05,0x58,0x00,0x03,0x35,0xe7,0xe4,0x00,0x05,0x58,0x00,
+0x00,0x19,0xe7,0xe2,0x00,0x05,0x6f,0xe4,0x05,0x4b,0xe7,0xe4,0x00,0x05,0x58,0x00,
+0x00,0x08,0xe7,0xe4,0x00,0x05,0x58,0x00,0x00,0x00,0xe7,0xe2,0x00,0x05,0x20,0x60,
+0x00,0x00,0x20,0x40,0x07,0xdc,0x58,0x00,0x00,0x04,0xe7,0xe2,0x00,0x05,0x6f,0xe4,
+0x05,0x1a,0x1f,0xf0,0xfe,0x00,0xe7,0xe4,0x00,0x05,0x1a,0x20,0xa3,0xfb,0x1a,0x30,
+0xa2,0x00,0x1a,0x22,0x7e,0x00,0xe7,0xe4,0x00,0x05,0x6f,0xe8,0x05,0x20,0xe7,0xe8,
+0x00,0x05,0x58,0x00,0x2c,0x01,0xe7,0xe4,0x00,0x05,0x58,0x00,0x05,0x35,0xe7,0xe4,
+0x00,0x05,0x58,0x00,0x00,0x0a,0xe7,0xe2,0x00,0x05,0x58,0x00,0x00,0x00,0xe7,0xe4,
+0x00,0x05,0x5f,0xff,0xff,0xff,0xe7,0xe4,0x00,0x05,0x58,0x00,0x00,0x00,0xe7,0xe2,
+0x00,0x05,0x20,0x60,0x00,0x00,0x6f,0xe4,0x05,0x1a,0x1f,0xe0,0xfe,0x01,0x67,0xe4,
+0x05,0x1a,0x20,0x40,0x7c,0x60,0x20,0x40,0x56,0x9f,0x20,0x40,0x7c,0x70,0x20,0x40,
+0x56,0xa8,0xe2,0x24,0x00,0x3f,0x6f,0xe4,0x42,0x1a,0xe7,0xe4,0x00,0x05,0x20,0x60,
+0x00,0x00,0x68,0x44,0x40,0xb7,0x18,0x00,0x0e,0x28,0x20,0x40,0x47,0x18,0x20,0x34,
+0x41,0x10,0x20,0x20,0x40,0xec,0xaf,0x6d,0xaa,0x55,0x40,0x00,0x00,0x40,0x23,0x00,
+0x02,0x00,0x40,0x51,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x20,0x02,
+0x10,0x00,0xcc,0x18,0x00,0x99,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0xe8,0x09,
+0x18,0xd0,0x02,0x00,0x05,0x44,0x02,0x02,0x36,0x01,0x08,0x04,0x00,0x04,0x00,0x20,
+0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x04,0x00,0x3d,0x45,0x00,0xc8,0x00,0x07,0xaa,0x55,0x03,
+0x00,0x2d,0x46,0x03,0x00,0x04,0xaa,0x55,0x01,0x00,0x2c,0x46,0x01,0xaa,0x55,0x06,
+0x00,0x57,0x46,0x04,0x30,0x30,0x30,0x30,0x30,0xaa,0x55,0x01,0x00,0x54,0x46,0x48,
+0xaa,0x55,0x06,0x00,0xa0,0x40,0xa7,0x2a,0x2a,0x21,0x10,0x55,0xaa,0x55,0x0d,0x00,
+0xe7,0x44,0x0c,0x33,0x31,0x32,0x31,0x20,0x62,0x74,0x20,0x64,0x65,0x6d,0x6f,0xaa,
+0x55,0x03,0x00,0xe4,0x41,0x20,0x00,0x01,0xaa,0x55,0x01,0x00,0xe8,0x41,0x00,0xaa,
+0x55,0x01,0x00,0x2c,0x45,0x0a,0xaa,0x55,0x03,0x00,0xaa,0x40,0x08,0x04,0x24,0xaa,
+0x55,0x01,0x00,0x5b,0x41,0x00,0xaa,0x55,0x08,0x00,0x98,0x40,0xff,0xfb,0x8f,0xf8,
+0x8b,0x85,0x59,0x83,0xaa,0x55,0x01,0x00,0xd1,0x40,0x01,0xaa,0x55,0x0a,0x00,0x49,
+0x45,0x04,0x03,0x00,0x12,0x00,0x01,0x01,0x00,0x1e,0x11,0xaa,0x55,0x01,0x00,0x5f,
+0x45,0x00,0xaa,0x55,0x02,0x00,0x47,0x45,0x83,0x46,0xaa,0x55,0x86,0x00,0x83,0x46,
+0x03,0x11,0x1e,0x00,0x03,0x01,0x00,0x00,0x01,0x00,0x00,0x36,0x00,0x37,0x09,0x00,
+0x00,0x0a,0x00,0x01,0x00,0x00,0x09,0x00,0x01,0x35,0x06,0x19,0x11,0x1e,0x19,0x12,
+0x03,0x09,0x00,0x04,0x35,0x0c,0x35,0x03,0x19,0x01,0x00,0x35,0x05,0x19,0x00,0x03,
+0x08,0x01,0x09,0x00,0x09,0x35,0x08,0x35,0x06,0x19,0x11,0x1e,0x09,0x01,0x05,0x09,
+0x03,0x11,0x09,0x00,0x1f,0x03,0x12,0x00,0x10,0x02,0x00,0x01,0x00,0x01,0x00,0x02,
+0x36,0x00,0x33,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x02,0x09,0x00,0x01,0x35,0x03,
+0x19,0x12,0x00,0x09,0x02,0x00,0x09,0x01,0x03,0x09,0x02,0x01,0x09,0x0e,0x05,0x09,
+0x02,0x02,0x09,0x12,0x34,0x09,0x02,0x03,0x09,0x01,0x01,0x09,0x02,0x04,0x28,0x01,
+0x09,0x02,0x05,0x09,0x00,0x01,0xaa,0x55,0x01,0x00,0xb4,0x4c,0x34,0xaa,0x55,0x01,
+0x00,0x6e,0x46,0x05,0xaa,0x55,0x04,0x00,0x75,0x46,0x2d,0x00,0x2f,0x00,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,0xf0,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,0x0e,0x00,0x81,0x43,0x0d,0x33,0x31,0x32,0x31,0x20,0x62,0x6c,0x65,0x20,0x64,
+0x65,0x6d,0x6f,0xaa,0x55,0x04,0x00,0x41,0x43,0x1f,0x02,0x01,0x02,0xaa,0x55,0x10,
+0x00,0x61,0x43,0x1f,0x0e,0x09,0x33,0x31,0x32,0x31,0x20,0x62,0x6c,0x65,0x20,0x64,
+0x65,0x6d,0x6f,0xaa,0x55,0x02,0x00,0x8e,0x44,0xaf,0x47,0xaa,0x55,0xcd,0x00,0xaf,
+0x47,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,0x01,0x00,0x05,
+0x00,0x02,0x00,0x28,0x02,0x00,0x18,0x06,0x00,0x02,0x03,0x28,0x01,0x02,0x07,0x00,
+0x02,0x00,0x2a,0x1e,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,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,0x00,
+0x00,0x0a,0x00,0x02,0x03,0x28,0x01,0x02,0x0b,0x00,0x02,0x04,0x2a,0x08,0x10,0x00,
+0x20,0x00,0x05,0x00,0x2c,0x01,0x0c,0x00,0x02,0x00,0x28,0x10,0x55,0xe4,0x05,0xd2,
+0xaf,0x9f,0xa9,0x8f,0xe5,0x4a,0x7d,0xfe,0x43,0x53,0x53,0x49,0x0d,0x00,0x02,0x03,
+0x28,0x01,0x10,0x0e,0x00,0x10,0x16,0x96,0x24,0x47,0xc6,0x23,0x61,0xba,0xd9,0x4b,
+0x4d,0x1e,0x43,0x53,0x53,0x49,0x01,0x00,0x0f,0x00,0x02,0x02,0x29,0x02,0x00,0x00,
+0x10,0x00,0x02,0x03,0x28,0x01,0x0c,0x11,0x00,0x10,0xb3,0x9b,0x72,0x34,0xbe,0xec,
+0xd4,0xa8,0xf4,0x43,0x41,0x88,0x43,0x53,0x53,0x49,0x01,0x00,0x00,0x00,0xaa,0x55,
+0x01,0x00,0x92,0x40,0x0a,0xaa,0x55,0x03,0x00,0x14,0x42,0x25,0x4a,0x00,0xaa,0x55,
+0x10,0x00,0xf0,0x4f,0x00,0x1c,0xff,0x1f,0x00,0x1c,0x00,0x1c,0x00,0x4d,0xe0,0x4f,
+0x00,0x4d,0x00,0x4d,0xaa,0x55,0x02,0x00,0x68,0x46,0x00,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,0xcf,0x4a,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,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,0x02,0x00,0xb7,0x40,0x20,0x00,0xaa,0x55,0x02,0x00,0xb5,0x40,0x00,0x00,
+0xaa,0x55,0x02,0x00,0xb9,0x40,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,0xde,0x4b,0x4b,0xba,0x55,0xd0,0x56,0xe0,0x57,
+0x88,0x58,0x6c,0x59,0x10,0x07,0xff,0xff,0xaa,0x55,0x02,0x00,0xc3,0x40,0xde,0x4b,
+0x55,0xaa,0xaa,0x55,0x3c,0xd0,0xe0,0x71
+};
Index: ebike/trunk/output/bt_format.meta
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_format.meta	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_format.meta	(working copy)
@@ -0,0 +1,7324 @@
+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
+0x47af mem_module_uuid_list_end
+0x47af mem_module_le_att_list
+0x4a25 mem_module_le_att_list_end
+0x4a25 mem_module_nv_data
+0x4a25 mem_module_nv_data0
+0x4a47 mem_module_nv_data1
+0x4a69 mem_module_nv_data2
+0x4a8b mem_module_nv_data3
+0x4aad mem_module_nv_data4
+0x4acf mem_rfcomm_lmp_dis_flag
+0x4ad0 mem_module_rfcomm_disconnect_count
+0x4ad1 mem_le_buff_len
+0x4ad3 mem_le_buff_len_all
+0x4ad5 mem_module_prepare_write_request_contw
+0x4ad7 mem_module_prepare_write_request_contr
+0x4ad9 mem_module_master_rx_max
+0x4adb mem_le_txheader_temp
+0x4adc mem_le_txlen_temp
+0x4add mem_le_txpayload_temp
+0x4adf mem_le_txcid_temp
+0x4ae1 mem_le_l2cap_temp
+0x4ae2 mem_le_l2cap_response_temp
+0x4ae3 mem_le_txbdy_temp
+0x4bde mem_rf_init
+0x4bed mem_ble_dle_enable
+0x4bee mem_mcu_set_bt_wake_timer
+0x4bf2 mem_gpio_wakeup_backup
+0x4bf8 mem_context_new
+0x4c98 mem_xmem_hf_state_start
+0x4c98 mem_hf_state
+0x4c99 mem_hf_call_state
+0x4c9a mem_hf_command
+0x4c9b mem_agoption
+0x4c9d mem_AG_indicator_map
+0x4ca4 mem_AG_indicator
+0x4cab mem_xmem_hf_state_end
+0x4cab mem_hf_vlm_speaker
+0x4cac mem_music_vlm_speaker
+0x4cad mem_hf_vlm_mic
+0x4cae mem_at_payload_ptr
+0x4cb0 mem_at_command_ptr
+0x4cb2 mem_at_rfcomm_data_ptr
+0x4cb4 mem_UI_HF_brsf_feature
+0x4cb7 mem_codec_type
+0x4cb8 mem_cb_hfp_result_code
+0x4cba mem_telephone_dialing_state
+0x4cbb mem_phone_num_len
+0x4cbc mem_phone_number
+0x4cd5 mem_at_command_data
+0x4cf3 mem_module_rfcomm_reconnect_count
+0x4cf4 mem_module_params_end
+0x0b1e mem_module_prepare_write_request_packet
+0x0b1e mem_module_prepare_write_request_PDU_length
+0x0b20 mem_module_prepare_write_request_Channel_ID
+0x0b22 mem_module_prepare_write_request_opcode
+0x0b23 mem_module_prepare_write_request_handle
+0x0b25 mem_temp_prepare_write_request_Data
+0x0b1e mem_usb_status
+0x0b1f mem_usb_fifo_empty
+0x0b20 mem_usb_read_len
+0x0b21 mem_usb_rxbuf
+0x0b61 mem_bufptr
+0x0b63 mem_remain
+0x0b64 mem_devicedesc
+0x0b78 mem_hidreportdesc_kb
+0x0b7a mem_hidreportdesc_m
+0x0b7c mem_confdesc
+0x0be0 mem_string0
+0x0be5 mem_string1
+0x0c03 mem_string2
+0x0c43 mem_string3
+0x0c61 mem_usb_zero_packet
+0x0c63 mem_usb_ones_packet
+0x0c65 mem_usb_two_packet
+0x0c67 mem_usb0_state
+0x0c68 mem_usb_offline_check_gpio
+0x0c69 mem_usb_tx_interval
+0x0c6a mem_usb_clear_mem_start
+0x0c6a mem_usb_setup
+0x0c6a mem_usb_setup_bmRequestType
+0x0c6b mem_usb_setup_bRequest
+0x0c6c mem_usb_setup_bValue
+0x0c6d mem_usb_setup_bValueH
+0x0c6e mem_usb_setup_wIndex
+0x0c70 mem_usb_setup_bLength
+0x0c71 mem_usb_setup_bLengthH
+0x0c72 mem_usb0_setup
+0x0cb2 mem_usb0_set_report_data
+0x0cf2 mem_usb0_get_report_data
+0x0d32 mem_usb_state
+0x0d33 mem_usb_tx_wait
+0x0d34 mem_usb_tx_enable
+0x0d35 mem_usb_remote_wakeup
+0x0d36 mem_usb_clear_remote_wakeup
+0x0d37 mem_usb_ep0_stall_status
+0x0d38 mem_usb_ep1_stall_status
+0x0d39 mem_usb_ep2_stall_status
+0x0d3a mem_usb_ep3_stall_status
+0x0d3b mem_dsc_info_data_pointer
+0x0d3d mem_dsc_info_len
+0x0d3e mem_usb0_data_ready_report
+0x0d3f mem_usb_tx_win_enable
+0x0d40 mem_usb_tx_mac_enable
+0x0d41 mem_usb_device_enumeration_endflag
+0x0d42 mem_usb_wakestate_onetime_flag
+0x0d43 mem_usb_mac_wakeup_trig
+0x0d44 mem_usb_set_high_addr_flag
+0x0d45 mem_usb_set_protocol_value
+0x0d46 mem_usb_set_protocol_status
+0x0d47 mem_usb_get_protocol_flag
+0x0d48 mem_usb_idle_flag
+0x0d49 mem_usb_idle_rate
+0x0d4a mem_usb_setup_bValue_temp
+0x0d4c mem_usb0_get_set_report
+0x0d4d mem_usb_ep1_data
+0x0d4e mem_usb_ep2_data
+0x0d4f mem_usb_clear_halt
+0x0d50 mem_usb_mouse_data
+0x0d60 mem_usb_kb_data
+0x0d70 mem_usb_kb_multikey
+0x0d80 mem_usb_kb_data_sta_data
+0x0d88 mem_usb_kb_data_last_data
+0x0d90 mem_usb_kb_multikey_sta_data
+0x0d93 mem_usb_kb_multikey_last_data
+0x0d96 mem_usb_kb_blank_data_enable
+0x0d97 mem_usb_kb_mul_blank_data_enable
+0x0d98 mem_usb_test_cnt
+0x0d99 mem_usb_clear_mem_end
+0x0d99 mem_usb_test_kb
+0x0d9a mem_rssi_noise_buffer
+0x0e9a mem_rssi_noise_dg_buffer
+0x0f9a mem_rssi_noise_ms_buffer
+0x109a mem_rssi_noise_kb_buffer
+0x119a mem_24g_common_temp
+
+	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
+2 context_num_new
+)
+
+(
+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
+44 mark_role_switch_receive_fhs
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+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
+)
+
+
+
+(//mem_ble_dle_enable
+0x00 DLE_ENABLE
+0x01 DLE_DISABLE
+)
+(
+249 LE_BASEBAND_MAX_BUFFER
+)
+
+(
+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
+
+//bit3~bit7 module states change
+3 MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+7 MODULE_RECV_CONFIRM
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+	230 NL_RFCOMM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x15 HCI_CMD_SET_COD
+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
+
+0x76 HCI_CMD_DELETE_CUSTOMIZE_SERVICE
+0x77 HCI_CMD_ADD_SERVICE_UUID
+0x78 HCI_CMD_ADD_CHARACTERISTIC_UUID
+0x79 HCI_CMD_MCU_SET_BT_WAKE_TIMER
+
+
+
+0xb1 HCI_CMD_CREAT_BT_RECONNECT
+
+
+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
+0x29 HCI_EVENT_UUID_HANDLE
+
+
+0xb0 HCI_EVENT_BT_ENC_INFO
+0xb1 HCI_EVENT_BT_RECONNECT_FAIL
+0xb2 HCI_EVENT_HFP_CONNECTED
+0xb3 HCI_EVENT_HFP_START_DIALING
+0xb4 HCI_EVENT_HFP_STOP_DIALING
+
+
+)
+
+
+(//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
+)
+
+
+
+
+
+
+(
+0 DAC_ENABLE
+1 DAC_MRAM_SEL
+2 DAC_CONTINUOUS_MODE
+3 DAC_MUTU
+4 DAC_INIT_FILTER
+5 DAC_SDM
+6 DAC_INVERT_WAVE
+7 DAC_BYPASS_DAC
+)
+
+(
+15 HFP_SPEAKER_MAX_VLM
+15 HFP_MIC_MAX_VLM
+10 HFP_DEFAULT_SPEAKER
+10 HFP_DEFAULT_MIC_VLM
+)
+
+(
+0 HFP_CIEVIND_SERVICE
+1 HFP_CIEVIND_CALL
+2 HFP_CIEVIND_CALLSETTUP
+3 HFP_CIEVIND_CALLHELD
+4 HFP_CIEVIND_SIGNAL
+5 HFP_CIEVIND_ROAM
+6 HFP_CIEVIND_BATTCHA
+)
+
+
+(
+0 	HFP_NONO
+1	HFP_INCOMMING
+2	HFP_OUTGOING
+3	HFP_CALLACTIVE
+4	HFP_CALLIMG
+5	HFP_CALLOGG
+6	HFP_CALMULTY
+)
+
+(
+0 CIEV_CALLST_NO
+1 CIEV_CALLST_IMG
+2 CIEV_CALLST_OUG
+3 CIEV_CALLST_RE_ALTD
+)
+
+(
+0 CIEV_CALL_NO
+1 CIEV_CALL_ACT
+)
+
+(
+0 CIEV_HELD_NO
+1 CIEV_HELD_IN_HOLD
+2 CIEV_HELD_ALL
+)
+
+(
+0 HFP_NO_KEY
+1 HFP_TAP_KEY
+2 HFP_DOUBLE_KEY
+3 HFP_TRIPLE_KEY
+4 HFP_KEY_PRESS
+5 HFP_KEY_PRESS_RELEASE
+6 HFP_KEY_LONG_PRESS
+)
+
+(
+2 CODEC_AIR_MODE
+2 SCO_ATTEMPT_COUNT
+)
+
+
+(
+0 HF_CMD_IDLE
+1 HF_WAIT_ACCEPT_CALL_OK
+2 HF_WAIT_HANGUP_OK
+3 HF_WAIT_VGS_OK
+4 HF_WAIT_VGM_OK
+)
+
+(
+ 0 HFP_DIALING_STATE_NO
+ 1 HFP_DIALING_STATE_START
+ 2 HFP_DIALING_STATE_STOP 
+)
+
+
+
+
+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
+
+
+(
+0 offset_lc_psm
+1 offset_lc_state
+2 offset_lc_local_cid
+4 offset_lc_remote_cid
+)
+
+//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_STATE_RECV_SEARCH_RES
+7 L2CAP_CHANNEL_STATE_RECV_ATTRIB_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
+	0x14 LL_LENGTH_REQ
+	0x15 LL_LENGTH_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
+)
+
+(
+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
+)
+
+
+
+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
+	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
+
+0x58 BT_EVT_HFP_STOP_DIALING
+0x59 BT_EVT_HFP_START_DIALING
+0x5a BT_EVT_HFP_INCOMMING
+0x5b BT_EVT_HFP_OUTGOING
+0x5c BT_EVT_HFP_CALLACTIVE
+0x5d BT_EVT_HFP_CALLIMG
+0x5e BT_EVT_HFP_CALLOGG
+0x5f BT_EVT_HFP_CALMULTY
+0x60 BT_EVT_HFP_CONNECTED
+0x61 BT_EVT_HFP_DISCONNECTED
+)
+//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
+
+	61 UPPERSM_RECONN_SEARCH_SERVICE
+	62 UPPERSM_RECONN_SEARCH_SERVICE_WAIT
+	63 UPPERSM_RECONN_SEARCH_ATTRIB
+	64 UPPERSM_RECONN_SEARCH_ATTRIB_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
+)
+
+
+/* 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: ebike/trunk/output/bt_program23.icode
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.icode	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.icode	(working copy)
@@ -0,0 +1,17858 @@
+ 00000000  0x00000031 bbit1  0x00000008 , 0x0000001a 
+ 00000001  0x00000032 beq  0x00000000 , 0x00000037 
+ 00000002  0x00000034 beq  0x00000011 , 0x000007e7 
+ 00000003  0x00000036 beq  0x00000001 , 0x0000006c 
+ 00000004  0x00000037 beq  0x00000085 , 0x00000073 
+ 00000005  0x00000038 beq  0x00000089 , 0x00000094 
+ 00000006  0x0000003a beq  0x00000094 , 0x0000005a 
+ 00000007  0x0000003b beq  0x000000a2 , 0x0000009d 
+ 00000008  0x0000003c beq  0x000000a3 , 0x00000065 
+ 00000009  0x0000003d beq  0x000000ac , 0x000000a4 
+ 00000010  0x0000003e beq  0x000000b8 , 0x000000a5 
+ 00000011  0x0000003f beq  0x000000bb , 0x00000141 
+ 00000012  0x00000040 beq  0x000000bc , 0x000001d4 
+ 00000013  0x00000041 beq  0x000000eb , 0x000001f8 
+ 00000014  0x00000043 beq  0x00000005 , 0x000003db 
+ 00000015  0x00000044 beq  0x0000002c , 0x000003f5 
+ 00000016  0x00000045 beq  0x0000002e , 0x000003fa 
+ 00000017  0x00000046 beq  0x0000006f , 0x00000402 
+ 00000018  0x00000047 beq  0x000000a6 , 0x00000413 
+ 00000019  0x00000048 beq  0x000000a7 , 0x00000434 
+ 00000020  0x00000049 beq  0x000000ab , 0x0000045b 
+ 00000021  0x0000004b beq  0x0000003b , 0x000003fd 
+ 00000022  0x0000004d beq  0x000000bf , 0x00000499 
+ 00000023  0x0000004f beq  0x00000026 , 0x0000047f 
+ 00000024  0x00000050 beq  0x00000028 , 0x0000048c 
+ 00000025  0x00000051 branch  0x00004a8b 
+ 00000026  0x00000055 beq  0x00000003 , 0x00000202 
+ 00000027  0x00000056 beq  0x00000005 , 0x0000020e 
+ 00000028  0x00000057 beq  0x00000006 , 0x00000217 
+ 00000029  0x00000058 beq  0x00000007 , 0x0000021c 
+ 00000030  0x00000059 beq  0x00000008 , 0x00000225 
+ 00000031  0x0000005a beq  0x0000000b , 0x00000236 
+ 00000032  0x0000005b beq  0x00000013 , 0x00000246 
+ 00000033  0x0000005c beq  0x00000014 , 0x000002cb 
+ 00000034  0x0000005d beq  0x0000001c , 0x000002de 
+ 00000035  0x0000005e beq  0x0000001e , 0x00000307 
+ 00000036  0x0000005f beq  0x0000001f , 0x00000335 
+ 00000037  0x00000060 beq  0x00000021 , 0x00000369 
+ 00000038  0x00000061 beq  0x00000030 , 0x0000037a 
+ 00000039  0x00000062 beq  0x00000032 , 0x0000037e 
+ 00000040  0x00000063 beq  0x0000003a , 0x00000391 
+ 00000041  0x00000064 beq  0x0000003e , 0x0000039c 
+ 00000042  0x00000065 beq  0x00000041 , 0x000003ae 
+ 00000043  0x00000066 beq  0x00000049 , 0x000003b4 
+ 00000044  0x00000067 beq  0x00000052 , 0x000003bd 
+ 00000045  0x00000068 beq  0x00000055 , 0x000003ca 
+ 00000046  0x00000069 beq  0x0000008d , 0x0000031c 
+ 00000047  0x0000006a beq  0x00000099 , 0x000003d7 
+ 00000048  0x0000006c beq  0x0000006a , 0x00000790 
+ 00000049  0x0000006d beq  0x0000007a , 0x00000775 
+ 00000050  0x00000071 beq  0x00000051 , 0x000004b0 
+ 00000051  0x00000072 beq  0x00000054 , 0x000004be 
+ 00000052  0x00000073 beq  0x00000058 , 0x0000049e 
+ 00000053  0x00000074 beq  0x00000063 , 0x0000049c 
+ 00000054  0x00000075 branch  0x00004a8b 
+ 00000055  0x00000079 fetch  0x00000006 , 0x00004bf2 
+ 00000056  0x0000007a store  0x00000006 , 0x000000a1 
+ 00000057  0x0000007b deposit  0x00000027 
+ 00000058  0x0000007c branch  0x00000044 , 0x00000034 
+ 00000059  0x0000007d call  0x0000003d 
+ 00000060  0x0000007e branch  0x00004002 
+ 00000061  0x00000081 jam  0x00000000 , 0x00004091 
+ 00000062  0x00000082 call  0x00000040 
+ 00000063  0x00000083 branch  0x000067bc 
+ 00000064  0x00000086 hfetch  0x00000001 , 0x00008973 
+ 00000065  0x00000087 set1  0x00000006 , 0x0000003f 
+ 00000066  0x00000088 hstore  0x00000001 , 0x00008973 
+ 00000067  0x00000089 rtn 
+ 00000068  0x0000008c fetch  0x00000001 , 0x00008126 
+ 00000069  0x0000008d bbit1  0x00000000 , 0x0000004b 
+ 00000070  0x0000008f fetch  0x00000006 , 0x000000a1 
+ 00000071  0x00000090 fetcht  0x00000006 , 0x0000810e 
+ 00000072  0x00000092 iand  0x00000002 , 0x0000003f 
+ 00000073  0x00000094 ncall  0x0000003d , 0x00000034 
+ 00000074  0x00000096 branch  0x00004002 
+ 00000075  0x00000099 call  0x0000004d 
+ 00000076  0x0000009a branch  0x00004002 
+ 00000077  0x0000009d setarg  0x00ffffff 
+ 00000078  0x0000009e fetcht  0x00000003 , 0x0000810e 
+ 00000079  0x0000009f ixor  0x00000002 , 0x0000003f 
+ 00000080  0x000000a0 fetcht  0x00000003 , 0x000000a1 
+ 00000081  0x000000a1 iand  0x00000002 , 0x0000003f 
+ 00000082  0x000000a3 nbranch  0x0000003d , 0x00000034 
+ 00000083  0x000000a5 setarg  0x00ffffff 
+ 00000084  0x000000a6 fetcht  0x00000003 , 0x00008111 
+ 00000085  0x000000a7 ixor  0x00000002 , 0x0000003f 
+ 00000086  0x000000a8 fetcht  0x00000003 , 0x000000a4 
+ 00000087  0x000000a9 iand  0x00000002 , 0x0000003f 
+ 00000088  0x000000ab nbranch  0x0000003d , 0x00000034 
+ 00000089  0x000000ac rtn 
+ 00000090  0x000000bb copy  0x00000002 , 0x0000003f 
+ 00000091  0x000000bc call  0x00007d2b 
+ 00000092  0x000000bd lshift16  0x00000021 , 0x0000003f 
+ 00000093  0x000000be set1  0x0000002c , 0x0000003f 
+ 00000094  0x000000bf call  0x00007d14 
+ 00000095  0x000000c0 set0  0x0000002c , 0x0000003f 
+ 00000096  0x000000c1 call  0x00004a76 
+ 00000097  0x000000c2 call  0x00007d14 
+ 00000098  0x000000c3 rtn  0x00000028 
+ 00000099  0x000000c4 call  0x00000069 
+ 00000100  0x000000c5 branch  0x00004a2f 
+ 00000101  0x000000c8 deposit  0x0000001a 
+ 00000102  0x000000c9 call  0x00000068 
+ 00000103  0x000000ca branch  0x00004ae9 
+ 00000104  0x000000ce call  0x00007d14 
+ 00000105  0x000000d0 iforce  0x00000006 
+ 00000106  0x000000d1 set0  0x00000010 , 0x00000006 
+ 00000107  0x000000d2 branch  0x00007d1f 
+ 00000108  0x000000d9 jam  0x00000000 , 0x0000453d 
+ 00000109  0x000000da call  0x000068c4 
+ 00000110  0x000000db call  0x000060d7 
+ 00000111  0x000000dc call  0x00000071 
+ 00000112  0x000000dd branch  0x0000400a 
+ 00000113  0x000000e0 rtn  0x0000002b 
+ 00000114  0x000000e1 branch  0x00007b9a 
+ 00000115  0x000000e9 branch  0x00000083 , 0x00000021 
+ 00000116  0x000000ea hjam  0x000000d4 , 0x00000955 
+ 00000117  0x000000eb nop  0x00000004 
+ 00000118  0x000000ec hjam  0x000000d2 , 0x00000955 
+ 00000119  0x000000ed nop  0x00000004 
+ 00000120  0x000000ee hjam  0x000000d1 , 0x00000955 
+ 00000121  0x000000ef nop  0x00000004 
+ 00000122  0x000000f0 fetch  0x00000001 , 0x000041df 
+ 00000123  0x000000f1 beq  0x00000000 , 0x00000081 
+ 00000124  0x000000f2 beq  0x00000001 , 0x00000091 
+ 00000125  0x000000f3 beq  0x00000002 , 0x00000081 
+ 00000126  0x000000f4 beq  0x00000003 , 0x00000091 
+ 00000127  0x000000f5 beq  0x00000004 , 0x00000091 
+ 00000128  0x000000f6 beq  0x00000020 , 0x00000091 
+ 00000129  0x000000f9 hjam  0x000000d0 , 0x00000955 
+ 00000130  0x000000fa hjam  0x000000e0 , 0x00000956 
+ 00000131  0x000000fc force  0x00000008 , 0x00000015 
+ 00000132  0x000000fd force  0x00000000 , 0x00000015 
+ 00000133  0x000000fe disable  0x00000021 
+ 00000134  0x000000ff disable  0x00000020 
+ 00000135  0x00000100 pulse  0x0000001e 
+ 00000136  0x00000101 hjam  0x00000000 , 0x00008902 
+ 00000137  0x00000102 hjam  0x00000000 , 0x00008901 
+ 00000138  0x00000103 hjam  0x00000000 , 0x00008900 
+ 00000139  0x00000104 hjam  0x00000000 , 0x00008903 
+ 00000140  0x00000105 hjam  0x00000070 , 0x00008904 
+ 00000141  0x00000106 fetch  0x00000001 , 0x00008906 
+ 00000142  0x00000107 set1  0x00000000 , 0x0000003f 
+ 00000143  0x00000108 store  0x00000001 , 0x00008906 
+ 00000144  0x00000109 rtn 
+ 00000145  0x0000010f hjam  0x000000d0 , 0x00000955 
+ 00000146  0x00000110 hjam  0x000000c0 , 0x00000956 
+ 00000147  0x00000111 branch  0x00000083 
+ 00000148  0x00000114 storet  0x00000001 , 0x00000017 
+ 00000149  0x00000115 call  0x0000492a 
+ 00000150  0x00000116 call  0x00004980 
+ 00000151  0x00000117 setarg  0x00000500 
+ 00000152  0x00000118 call  0x00004a8e 
+ 00000153  0x0000011a fetch  0x00000001 , 0x00008906 
+ 00000154  0x0000011b set1  0x00000000 , 0x0000003f 
+ 00000155  0x0000011c store  0x00000001 , 0x00008906 
+ 00000156  0x0000011d branch  0x00004937 
+ 00000157  0x00000120 hjam  0x0000007c , 0x00008906 
+ 00000158  0x00000121 rtn  0x0000002b 
+ 00000159  0x00000122 setarg  0x00000000 
+ 00000160  0x00000123 store  0x00000002 , 0x000041dd 
+ 00000161  0x00000124 rshift  0x00000022 , 0x0000003f 
+ 00000162  0x00000125 store  0x00000004 , 0x00004094 
+ 00000163  0x00000126 rtn 
+ 00000164  0x0000012c branch  0x00004b7f 
+ 00000165  0x00000131 setarg  0x000000b4 
+ 00000166  0x00000132 store  0x00000002 , 0x000041f6 
+ 00000167  0x00000134 setarg  0x0000010a 
+ 00000168  0x00000135 store  0x00000002 , 0x000041fe 
+ 00000169  0x00000137 setarg  0x0000011f 
+ 00000170  0x00000138 store  0x00000002 , 0x000041fa 
+ 00000171  0x0000013a setarg  0x00000132 
+ 00000172  0x0000013b store  0x00000002 , 0x000041ea 
+ 00000173  0x0000013d setarg  0x0000013e 
+ 00000174  0x0000013e store  0x00000002 , 0x000041f2 
+ 00000175  0x00000140 call  0x00004daf 
+ 00000176  0x00000141 call  0x00004dbc 
+ 00000177  0x00000142 call  0x00004c2a 
+ 00000178  0x00000143 call  0x0000504d 
+ 00000179  0x00000145 branch  0x000004e9 
+ 00000180  0x00000149 copy  0x00000013 , 0x0000003f 
+ 00000181  0x0000014a beq  0x00000001 , 0x000000c3 
+ 00000182  0x0000014b beq  0x00000009 , 0x000000d4 
+ 00000183  0x0000014c beq  0x00000002 , 0x000000c7 
+ 00000184  0x0000014d beq  0x00000005 , 0x000000d9 
+ 00000185  0x0000014e beq  0x00000004 , 0x000000db 
+ 00000186  0x0000014f beq  0x00000013 , 0x000000db 
+ 00000187  0x00000150 beq  0x00000018 , 0x000000ff 
+ 00000188  0x00000151 beq  0x00000060 , 0x000000df 
+ 00000189  0x00000152 beq  0x00000059 , 0x000000e1 
+ 00000190  0x00000153 beq  0x00000058 , 0x000000e8 
+ 00000191  0x00000155 beq  0x00000014 , 0x000000ea 
+ 00000192  0x00000156 beq  0x00000015 , 0x000000fb 
+ 00000193  0x00000158 beq  0x0000003d , 0x000000fe 
+ 00000194  0x00000159 branch  0x00004ddf 
+ 00000195  0x0000015c jam  0x00000000 , 0x00004cf3 
+ 00000196  0x0000015d call  0x00004d6b 
+ 00000197  0x0000015e call  0x00004d62 
+ 00000198  0x0000015f branch  0x00004e2c 
+ 00000199  0x00000163 call  0x000004e9 
+ 00000200  0x00000164 jam  0x00000000 , 0x00004ad0 
+ 00000201  0x00000165 call  0x00004dd7 
+ 00000202  0x00000166 fetch  0x00000001 , 0x00004637 
+ 00000203  0x00000167 ncall  0x0000508c , 0x00000034 
+ 00000204  0x00000168 call  0x000000f7 
+ 00000205  0x0000016c fetch  0x00000002 , 0x00004652 
+ 00000206  0x0000016d bbit0  0x00000004 , 0x000000d2 
+ 00000207  0x0000016f set0  0x00000004 , 0x0000003f 
+ 00000208  0x00000170 store  0x00000002 , 0x00004652 
+ 00000209  0x00000171 branch  0x00005026 
+ 00000210  0x00000174 jam  0x00000014 , 0x00004cf3 
+ 00000211  0x00000175 rtn 
+ 00000212  0x00000179 fetch  0x00000001 , 0x00004acf 
+ 00000213  0x0000017a ncall  0x000000d7 , 0x00000034 
+ 00000214  0x0000017d rtn 
+ 00000215  0x0000017f jam  0x00000006 , 0x00004ad0 
+ 00000216  0x00000180 rtn 
+ 00000217  0x00000183 call  0x00004dd7 
+ 00000218  0x00000184 branch  0x000000f3 
+ 00000219  0x00000188 call  0x000000f7 
+ 00000220  0x00000189 branch  0x000000dd 
+ 00000221  0x0000018e jam  0x000000b1 , 0x00000aff 
+ 00000222  0x0000018f branch  0x0000504e 
+ 00000223  0x00000193 jam  0x000000b2 , 0x00000aff 
+ 00000224  0x00000194 branch  0x0000504e 
+ 00000225  0x00000197 jam  0x000000b3 , 0x00000aff 
+ 00000226  0x00000198 fetch  0x00000001 , 0x00004cbb 
+ 00000227  0x00000199 call  0x000050a5 
+ 00000228  0x0000019a fetchr  0x00000039 , 0x00000001 , 0x00004cbb 
+ 00000229  0x0000019b arg  0x00004cbc , 0x00000003 
+ 00000230  0x0000019c call  0x00005016 
+ 00000231  0x0000019d branch  0x000067b9 
+ 00000232  0x000001a0 jam  0x000000b4 , 0x00000aff 
+ 00000233  0x000001a1 branch  0x0000504e 
+ 00000234  0x000001a5 call  0x00000373 
+ 00000235  0x000001a6 call  0x000000ef 
+ 00000236  0x000001a7 fetch  0x00000001 , 0x0000466e 
+ 00000237  0x000001a8 store  0x00000001 , 0x00004173 
+ 00000238  0x000001a9 branch  0x00005024 
+ 00000239  0x000001ac fetch  0x00000001 , 0x0000466c 
+ 00000240  0x000001ad isolate1  0x00000001 , 0x0000003f 
+ 00000241  0x000001ae call  0x00004d73 , 0x00000001 
+ 00000242  0x000001af rtn 
+ 00000243  0x000001b2 fetch  0x00000001 , 0x0000466c 
+ 00000244  0x000001b3 isolate1  0x00000000 , 0x0000003f 
+ 00000245  0x000001b4 call  0x00004d6b , 0x00000001 
+ 00000246  0x000001b5 rtn 
+ 00000247  0x000001b8 fetch  0x00000001 , 0x0000466c 
+ 00000248  0x000001b9 isolate1  0x00000000 , 0x0000003f 
+ 00000249  0x000001ba call  0x00004d69 , 0x00000001 
+ 00000250  0x000001bb rtn 
+ 00000251  0x000001be call  0x00005bf6 
+ 00000252  0x000001bf call  0x00004e95 
+ 00000253  0x000001c0 branch  0x00005028 
+ 00000254  0x000001c6 rtn 
+ 00000255  0x000001ca jam  0x000000b0 , 0x00000aff 
+ 00000256  0x000001cb setarg  0x0000001c 
+ 00000257  0x000001cc call  0x000050a5 
+ 00000258  0x000001cd fetch  0x00000006 , 0x000040a0 
+ 00000259  0x000001ce istore  0x00000006 , 0x0000000a 
+ 00000260  0x000001cf fetch  0x00000006 , 0x00000040 
+ 00000261  0x000001d0 istore  0x00000006 , 0x0000000a 
+ 00000262  0x000001d1 arg  0x000041bf , 0x00000006 
+ 00000263  0x000001d2 arg  0x00000010 , 0x00000039 
+ 00000264  0x000001d3 call  0x000067d4 
+ 00000265  0x000001d4 branch  0x000067b9 
+ 00000266  0x000001db call  0x00000119 
+ 00000267  0x000001dc call  0x00000111 
+ 00000268  0x000001dd call  0x0000010e 
+ 00000269  0x000001de branch  0x000050c3 
+ 00000270  0x000001e1 arg  0x00004cf3 , 0x00000013 
+ 00000271  0x000001e2 arg  0x00004d5c , 0x00000012 
+ 00000272  0x000001e3 branch  0x00004d04 
+ 00000273  0x000001e6 fetch  0x00000001 , 0x00004ad0 
+ 00000274  0x000001e7 rtn  0x00000034 
+ 00000275  0x000001e8 increase  0xffffffff , 0x0000003f 
+ 00000276  0x000001e9 store  0x00000001 , 0x00004ad0 
+ 00000277  0x000001ea nrtn  0x00000034 
+ 00000278  0x000001eb fetch  0x00000002 , 0x00004652 
+ 00000279  0x000001ec bbit1  0x00000000 , 0x00004d64 
+ 00000280  0x000001ed rtn 
+ 00000281  0x000001f0 fetch  0x00000004 , 0x00004bee 
+ 00000282  0x000001f1 rtn  0x00000034 
+ 00000283  0x000001f2 increase  0xffffffff , 0x0000003f 
+ 00000284  0x000001f3 store  0x00000004 , 0x00004bee 
+ 00000285  0x000001f4 nrtn  0x00000034 
+ 00000286  0x000001f6 branch  0x0000003d 
+ 00000287  0x000001fa call  0x00000463 
+ 00000288  0x000001fb rtn  0x00000028 
+ 00000289  0x000001fc copy  0x00000011 , 0x0000003f 
+ 00000290  0x000001fd store  0x00000002 , 0x00004671 
+ 00000291  0x000001fe call  0x0000012c 
+ 00000292  0x00000200 store  0x00000001 , 0x00004670 
+ 00000293  0x00000201 fetcht  0x00000002 , 0x00000474 
+ 00000294  0x00000202 storet  0x00000002 , 0x00004673 
+ 00000295  0x00000204 call  0x00005b6c 
+ 00000296  0x00000205 nbranch  0x00004a8b , 0x00000034 
+ 00000297  0x00000206 fetch  0x00000001 , 0x0000049e 
+ 00000298  0x00000207 bne  0x00000002 , 0x00005042 
+ 00000299  0x0000020d branch  0x00005042 
+ 00000300  0x00000210 fetch  0x00000001 , 0x00004bed 
+ 00000301  0x00000211 nbranch  0x00000130 , 0x00000034 
+ 00000302  0x00000213 copy  0x00000039 , 0x0000003f 
+ 00000303  0x00000214 rtn 
+ 00000304  0x00000216 copy  0x00000012 , 0x0000003f 
+ 00000305  0x00000217 rtn 
+ 00000306  0x0000021b call  0x00000299 
+ 00000307  0x0000021c nbranch  0x0000013b , 0x00000028 
+ 00000308  0x00000227 fetch  0x00000001 , 0x00004fef 
+ 00000309  0x00000228 beq  0x00000001 , 0x0000013b 
+ 00000310  0x00000229 fetch  0x00000001 , 0x00004496 
+ 00000311  0x0000022a bne  0x00000000 , 0x00000139 
+ 00000312  0x0000022b branch  0x00004d4d 
+ 00000313  0x0000022d beq  0x000000ff , 0x00004d4d 
+ 00000314  0x0000022e branch  0x0000013b 
+ 00000315  0x00000232 call  0x00000040 
+ 00000316  0x00000233 call  0x000067bc 
+ 00000317  0x00000234 branch  0x00004d4b 
+ 00000318  0x00000237 call  0x00000140 
+ 00000319  0x00000238 branch  0x000050d3 
+ 00000320  0x0000023c branch  0x00004dc7 
+ 00000321  0x0000023f fetch  0x00000001 , 0x00000aff 
+ 00000322  0x00000240 beq  0x00000027 , 0x000001b9 
+ 00000323  0x00000241 beq  0x0000000c , 0x00000168 
+ 00000324  0x00000242 beq  0x00000076 , 0x00000171 
+ 00000325  0x00000243 beq  0x00000077 , 0x00000177 
+ 00000326  0x00000244 beq  0x00000078 , 0x0000017c 
+ 00000327  0x00000245 beq  0x00000015 , 0x000001b6 
+ 00000328  0x00000246 beq  0x00000040 , 0x000001ba 
+ 00000329  0x00000247 beq  0x000000ff , 0x00000165 
+ 00000330  0x00000248 beq  0x00000079 , 0x000001c7 
+ 00000331  0x0000024a beq  0x000000b1 , 0x000001ca 
+ 00000332  0x0000024b beq  0x00000002 , 0x0000014e 
+ 00000333  0x0000024c branch  0x00004e5c 
+ 00000334  0x00000251 fetch  0x00000001 , 0x00000b00 
+ 00000335  0x00000252 bne  0x00000001 , 0x0000501c 
+ 00000336  0x00000253 copy  0x00000011 , 0x00000003 
+ 00000337  0x00000254 call  0x0000501f 
+ 00000338  0x00000255 ifetcht  0x00000001 , 0x00000003 
+ 00000339  0x00000256 storet  0x00000001 , 0x0000466f 
+ 00000340  0x0000025b fetch  0x00000001 , 0x0000466c 
+ 00000341  0x0000025c isolate1  0x00000000 , 0x0000003f 
+ 00000342  0x0000025d nbranch  0x0000015c , 0x00000001 
+ 00000343  0x0000025e fetch  0x00000002 , 0x00004652 
+ 00000344  0x0000025f bbit1  0x00000000 , 0x0000015c 
+ 00000345  0x00000261 fetcht  0x00000001 , 0x0000466f 
+ 00000346  0x00000262 and  0x00000002 , 0x00000003 , 0x0000003f 
+ 00000347  0x00000263 store  0x00000001 , 0x00004093 
+ 00000348  0x00000265 fetch  0x00000001 , 0x0000466c 
+ 00000349  0x00000266 isolate1  0x00000001 , 0x0000003f 
+ 00000350  0x00000267 nrtn  0x00000001 
+ 00000351  0x00000268 fetch  0x00000002 , 0x00004652 
+ 00000352  0x00000269 rtnbit1  0x00000009 
+ 00000353  0x0000026a fetcht  0x00000001 , 0x0000466f 
+ 00000354  0x0000026b isolate1  0x00000002 , 0x00000002 
+ 00000355  0x0000026c branch  0x00004d75 , 0x00000001 
+ 00000356  0x0000026d branch  0x00004d73 
+ 00000357  0x00000272 ifetch  0x00000001 , 0x00000003 
+ 00000358  0x00000273 store  0x00000001 , 0x00004091 
+ 00000359  0x00000276 rtn 
+ 00000360  0x0000027a copy  0x00000011 , 0x00000003 
+ 00000361  0x0000027b ifetch  0x00000001 , 0x00000003 
+ 00000362  0x0000027c beq  0x00000000 , 0x00004f1c 
+ 00000363  0x0000027d beq  0x00000001 , 0x00004f1f 
+ 00000364  0x0000027e beq  0x00000002 , 0x00004f25 
+ 00000365  0x0000027f beq  0x00000003 , 0x0000016f 
+ 00000366  0x00000280 branch  0x0000501c 
+ 00000367  0x00000283 setarg  0x00000001 
+ 00000368  0x00000284 branch  0x00004f20 
+ 00000369  0x00000287 arg  0x0000000c , 0x00000002 
+ 00000370  0x00000288 call  0x00005b4d 
+ 00000371  0x00000289 add  0x00000006 , 0xfffffffe , 0x00000005 
+ 00000372  0x0000028a setarg  0x00000000 
+ 00000373  0x0000028b istore  0x00000002 , 0x00000005 
+ 00000374  0x0000028c branch  0x0000501f 
+ 00000375  0x0000028f call  0x00000180 
+ 00000376  0x00000290 call  0x0000019d 
+ 00000377  0x00000291 setarg  0x00000000 
+ 00000378  0x00000292 istore  0x00000002 , 0x00000005 
+ 00000379  0x00000293 branch  0x000001af 
+ 00000380  0x00000296 ifetch  0x00000001 , 0x00000003 
+ 00000381  0x00000297 call  0x00000184 
+ 00000382  0x00000298 call  0x0000018b 
+ 00000383  0x00000299 branch  0x000001af 
+ 00000384  0x0000029c call  0x000001a1 
+ 00000385  0x0000029d setarg  0x00280002 
+ 00000386  0x0000029e istore  0x00000003 , 0x00000005 
+ 00000387  0x0000029f rtn 
+ 00000388  0x000002a2 store  0x00000001 , 0x00000a96 
+ 00000389  0x000002a3 call  0x000001a1 
+ 00000390  0x000002a4 setarg  0x01280302 
+ 00000391  0x000002a5 istore  0x00000004 , 0x00000005 
+ 00000392  0x000002a6 fetch  0x00000001 , 0x00000a96 
+ 00000393  0x000002a7 istore  0x00000003 , 0x00000005 
+ 00000394  0x000002a8 rtn 
+ 00000395  0x000002ab call  0x000001a1 
+ 00000396  0x000002ac call  0x0000019d 
+ 00000397  0x000002ad call  0x0000019d 
+ 00000398  0x000002ae setarg  0x00000000 
+ 00000399  0x000002af istore  0x00000002 , 0x00000005 
+ 00000400  0x000002b0 increase  0xffffffff , 0x00000002 
+ 00000401  0x000002b1 call  0x00005b4d 
+ 00000402  0x000002b2 add  0x00000006 , 0x00000004 , 0x00000006 
+ 00000403  0x000002b3 ifetch  0x00000001 , 0x00000006 
+ 00000404  0x000002b4 bbit1  0x00000004 , 0x00000198 
+ 00000405  0x000002b5 bbit1  0x00000005 , 0x00000198 
+ 00000406  0x000002b6 increase  0x00000001 , 0x00000002 
+ 00000407  0x000002b7 rtn 
+ 00000408  0x000002ba call  0x000001a1 
+ 00000409  0x000002bb setarg  0x02290202 
+ 00000410  0x000002bc istore  0x00000008 , 0x00000005 
+ 00000411  0x000002bd increase  0xffffffff , 0x00000002 
+ 00000412  0x000002be rtn 
+ 00000413  0x000002c2 ifetch  0x00000001 , 0x00000003 
+ 00000414  0x000002c3 copy  0x0000003f , 0x00000039 
+ 00000415  0x000002c4 istore  0x00000001 , 0x00000005 
+ 00000416  0x000002c5 branch  0x000067ed 
+ 00000417  0x000002c9 call  0x000001a4 
+ 00000418  0x000002ca istoret  0x00000002 , 0x00000005 
+ 00000419  0x000002cb rtn 
+ 00000420  0x000002d0 fetch  0x00000002 , 0x0000448e 
+ 00000421  0x000002d1 iforce  0x00000006 
+ 00000422  0x000002d3 ifetch  0x00000002 , 0x00000006 
+ 00000423  0x000002d4 rtn  0x00000034 
+ 00000424  0x000002d5 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00000425  0x000002d6 ifetch  0x00000001 , 0x00000006 
+ 00000426  0x000002d7 iadd  0x00000006 , 0x00000006 
+ 00000427  0x000002d8 ifetch  0x00000001 , 0x00000006 
+ 00000428  0x000002d9 iadd  0x00000006 , 0x00000006 
+ 00000429  0x000002da copy  0x00000006 , 0x00000005 
+ 00000430  0x000002db branch  0x000001a6 
+ 00000431  0x000002e0 storet  0x00000002 , 0x00000a9e 
+ 00000432  0x000002e1 jam  0x00000029 , 0x00000aff 
+ 00000433  0x000002e2 setarg  0x00000002 
+ 00000434  0x000002e3 call  0x000050a5 
+ 00000435  0x000002e4 fetcht  0x00000002 , 0x00000a9e 
+ 00000436  0x000002e5 istoret  0x00000002 , 0x0000000a 
+ 00000437  0x000002e6 branch  0x000067b9 
+ 00000438  0x000002e9 ifetch  0x00000003 , 0x00000003 
+ 00000439  0x000002ea store  0x00000003 , 0x000040aa 
+ 00000440  0x000002eb branch  0x0000501f 
+ 00000441  0x000002f0 branch  0x00004d85 
+ 00000442  0x000002f3 ifetch  0x00000001 , 0x00000003 
+ 00000443  0x000002f6 fetcht  0x00000004 , 0x00004179 
+ 00000444  0x000002f7 setflag  0x00000034 , 0x00000010 , 0x00000002 
+ 00000445  0x000002f8 setflag  0x00000034 , 0x00000018 , 0x00000002 
+ 00000446  0x000002f9 storet  0x00000004 , 0x00004179 
+ 00000447  0x000002fc fetcht  0x00000001 , 0x00004157 
+ 00000448  0x000002fd setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00000449  0x000002fe storet  0x00000001 , 0x00004157 
+ 00000450  0x00000300 ifetch  0x00000006 , 0x00000003 
+ 00000451  0x00000301 store  0x00000006 , 0x000000a1 
+ 00000452  0x00000302 store  0x00000006 , 0x00004bf2 
+ 00000453  0x00000303 call  0x00004be3 
+ 00000454  0x00000305 branch  0x0000501f 
+ 00000455  0x00000308 ifetch  0x00000004 , 0x00000003 
+ 00000456  0x00000309 store  0x00000004 , 0x00004bee 
+ 00000457  0x0000030a branch  0x0000501f 
+ 00000458  0x0000030e ifetch  0x00000006 , 0x00000003 
+ 00000459  0x0000030f store  0x00000006 , 0x000040a0 
+ 00000460  0x00000310 ifetch  0x00000006 , 0x00000003 
+ 00000461  0x00000311 store  0x00000006 , 0x000041d1 
+ 00000462  0x00000312 arg  0x000041bf , 0x00000005 
+ 00000463  0x00000313 arg  0x00000010 , 0x00000039 
+ 00000464  0x00000314 call  0x000067ed 
+ 00000465  0x00000315 call  0x000068be 
+ 00000466  0x00000318 call  0x00004d5c 
+ 00000467  0x00000319 branch  0x0000501f 
+ 00000468  0x0000031e fetch  0x00000001 , 0x00004679 
+ 00000469  0x0000031f bbit1  0x00000003 , 0x000002ab 
+ 00000470  0x00000320 fetch  0x00000001 , 0x00004679 
+ 00000471  0x00000321 rtnbit1  0x00000007 
+ 00000472  0x00000322 fetch  0x00000002 , 0x00004478 
+ 00000473  0x00000323 call  0x00007db5 
+ 00000474  0x00000324 copy  0x0000003f , 0x00000002 
+ 00000475  0x00000325 add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00000476  0x00000326 arg  0x000000c8 , 0x00000002 
+ 00000477  0x00000327 call  0x00007db5 
+ 00000478  0x00000328 fetcht  0x00000001 , 0x0000467a 
+ 00000479  0x00000329 call  0x00007db5 
+ 00000480  0x0000032a copy  0x0000003f , 0x00000011 
+ 00000481  0x0000032b copy  0x00000002 , 0x0000003f 
+ 00000482  0x0000032c isub  0x00000011 , 0x0000003f 
+ 00000483  0x0000032d store  0x00000001 , 0x0000467a 
+ 00000484  0x0000032e fetcht  0x00000002 , 0x0000467b 
+ 00000485  0x0000032f increase  0xffffffff , 0x00000002 
+ 00000486  0x00000330 call  0x00005b4d 
+ 00000487  0x00000331 branch  0x000001f4 , 0x00000034 
+ 00000488  0x00000332 ifetcht  0x00000004 , 0x00000006 
+ 00000489  0x00000333 setarg  0x01280302 
+ 00000490  0x00000334 isub  0x00000002 , 0x0000003e 
+ 00000491  0x00000335 nbranch  0x000001f4 , 0x00000005 
+ 00000492  0x00000336 ifetch  0x00000001 , 0x00000006 
+ 00000493  0x00000337 bbit1  0x00000005 , 0x000001f0 
+ 00000494  0x00000338 bbit1  0x00000004 , 0x00004f01 
+ 00000495  0x00000339 branch  0x000001f4 
+ 00000496  0x0000033c call  0x00000375 
+ 00000497  0x0000033d fetcht  0x00000002 , 0x0000467b 
+ 00000498  0x0000033e call  0x00005e4d 
+ 00000499  0x0000033f branch  0x00004f03 
+ 00000500  0x00000342 jam  0x00000000 , 0x0000467a 
+ 00000501  0x00000343 jam  0x00000001 , 0x00000b01 
+ 00000502  0x00000344 call  0x000050e0 
+ 00000503  0x00000345 branch  0x0000501c 
+ 00000504  0x00000348 fetch  0x00000001 , 0x00004bed 
+ 00000505  0x00000349 nbranch  0x00005709 , 0x00000034 
+ 00000506  0x0000034b call  0x00005709 
+ 00000507  0x0000034c jam  0x00000001 , 0x00004adb 
+ 00000508  0x0000034d jam  0x00000000 , 0x00004adc 
+ 00000509  0x0000034e setarg  0x00000000 
+ 00000510  0x0000034f store  0x00000008 , 0x00004ad1 
+ 00000511  0x00000350 setarg  0x0000001b 
+ 00000512  0x00000351 store  0x00000002 , 0x00004ad9 
+ 00000513  0x00000352 rtn 
+ 00000514  0x00000358 call  0x000049ba 
+ 00000515  0x00000359 enable  0x00000007 
+ 00000516  0x0000035a enable  0x00000009 
+ 00000517  0x0000035b parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00000518  0x0000035c rshift3  0x0000000c , 0x0000003f 
+ 00000519  0x0000035d store  0x00000001 , 0x000002d5 
+ 00000520  0x0000035e parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00000521  0x0000035f rshift3  0x0000000c , 0x0000003f 
+ 00000522  0x00000360 istore  0x00000001 , 0x00000005 
+ 00000523  0x00000361 copy  0x0000003f , 0x00000039 
+ 00000524  0x00000362 branch  0x0000588b , 0x00000034 
+ 00000525  0x00000363 branch  0x00005887 
+ 00000526  0x00000369 call  0x000058a3 
+ 00000527  0x0000036a call  0x00004915 
+ 00000528  0x0000036b fetcht  0x00000001 , 0x00000017 
+ 00000529  0x0000036c call  0x0000491c 
+ 00000530  0x0000036d nop  0x000005dc 
+ 00000531  0x0000036e call  0x00004921 
+ 00000532  0x0000036f enable  0x00000010 
+ 00000533  0x00000370 arg  0x0000157c , 0x0000000b 
+ 00000534  0x00000371 branch  0x00005869 
+ 00000535  0x00000374 call  0x000057af 
+ 00000536  0x00000375 call  0x0000021a 
+ 00000537  0x00000376 branch  0x000058a7 
+ 00000538  0x00000379 branch  0x00000099 , 0x0000002d 
+ 00000539  0x0000037a branch  0x000057be 
+ 00000540  0x0000037d fetch  0x00000001 , 0x00004bed 
+ 00000541  0x0000037e nbranch  0x000058b3 , 0x00000034 
+ 00000542  0x00000380 fetch  0x00000001 , 0x00004adb 
+ 00000543  0x00000381 inject  0x00000003 , 0x00000008 
+ 00000544  0x00000382 ifetch  0x00000001 , 0x00000006 
+ 00000545  0x00000383 copy  0x0000003f , 0x00000039 
+ 00000546  0x00000384 inject  0x00000003 , 0x00000008 
+ 00000547  0x00000385 branch  0x000058bc , 0x00000005 
+ 00000548  0x00000386 branch  0x000058b9 
+ 00000549  0x00000389 fetch  0x00000001 , 0x00004bed 
+ 00000550  0x0000038a nbranch  0x000058c4 , 0x00000034 
+ 00000551  0x0000038c fetch  0x00000001 , 0x00004456 
+ 00000552  0x0000038d beq  0x00000001 , 0x000058d3 
+ 00000553  0x0000038e fetch  0x00000001 , 0x00004457 
+ 00000554  0x0000038f lshift4  0x0000003f , 0x0000003f 
+ 00000555  0x00000390 lshift2  0x0000003f , 0x0000003f 
+ 00000556  0x00000391 store  0x00000001 , 0x00004adb 
+ 00000557  0x00000392 fetcht  0x00000001 , 0x00004341 
+ 00000558  0x00000393 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00000559  0x00000394 store  0x00000001 , 0x00004adc 
+ 00000560  0x00000395 fetch  0x00000006 , 0x00004472 
+ 00000561  0x00000396 store  0x00000006 , 0x00004add 
+ 00000562  0x00000397 copy  0x00000002 , 0x00000039 
+ 00000563  0x00000398 arg  0x00004342 , 0x00000006 
+ 00000564  0x00000399 call  0x00007ccf 
+ 00000565  0x0000039a branch  0x000058de 
+ 00000566  0x0000039e fetch  0x00000001 , 0x00004bed 
+ 00000567  0x0000039f nbranch  0x000058f7 , 0x00000034 
+ 00000568  0x000003a1 arg  0x00000004 , 0x00000002 
+ 00000569  0x000003a2 fetch  0x00000001 , 0x00004457 
+ 00000570  0x000003a3 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00000571  0x000003a4 storet  0x00000001 , 0x00004adb 
+ 00000572  0x000003a5 fetcht  0x00000001 , 0x00004361 
+ 00000573  0x000003a6 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00000574  0x000003a7 store  0x00000001 , 0x00004adc 
+ 00000575  0x000003a8 fetch  0x00000006 , 0x00004472 
+ 00000576  0x000003a9 store  0x00000006 , 0x00004add 
+ 00000577  0x000003aa arg  0x00004362 , 0x00000006 
+ 00000578  0x000003ab copy  0x00000002 , 0x00000039 
+ 00000579  0x000003ac call  0x00007ccf 
+ 00000580  0x000003ad call  0x000058a1 
+ 00000581  0x000003ae branch  0x00005ae2 
+ 00000582  0x000003b5 call  0x00005ac9 
+ 00000583  0x000003b6 call  0x0000599a 
+ 00000584  0x000003b7 fetch  0x00000001 , 0x000002d5 
+ 00000585  0x000003b8 isolate1  0x00000004 , 0x0000003f 
+ 00000586  0x000003b9 setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00000587  0x000003ba rshift  0x0000003f , 0x0000003f 
+ 00000588  0x000003bb ixor  0x00000002 , 0x0000003f 
+ 00000589  0x000003bc isolate1  0x00000002 , 0x0000003f 
+ 00000590  0x000003bd setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00000591  0x000003be rtnmark1  0x0000000f 
+ 00000592  0x000003bf fetch  0x00000001 , 0x000002d6 
+ 00000593  0x000003c0 branch  0x00000258 , 0x00000034 
+ 00000594  0x000003c1 fetch  0x00000001 , 0x0000043b 
+ 00000595  0x000003c2 bbit0  0x00000004 , 0x00000258 
+ 00000596  0x000003c3 call  0x00007342 
+ 00000597  0x000003c4 call  0x000072b2 
+ 00000598  0x000003c5 nsetflag  0x00000034 , 0x0000000f , 0x00000000 
+ 00000599  0x000003c6 nrtn  0x00000034 
+ 00000600  0x000003c8 fetcht  0x00000001 , 0x00000452 
+ 00000601  0x000003c9 setflip  0x00000002 , 0x00000002 
+ 00000602  0x000003ca storet  0x00000001 , 0x00000452 
+ 00000603  0x000003cc fetch  0x00000001 , 0x00004bed 
+ 00000604  0x000003cd nrtn  0x00000034 
+ 00000605  0x000003cf branch  0x0000025e 
+ 00000606  0x000003d2 fetch  0x00000001 , 0x000002d6 
+ 00000607  0x000003d3 rtn  0x00000034 
+ 00000608  0x000003d4 fetch  0x00000001 , 0x000002d5 
+ 00000609  0x000003d5 compare  0x00000001 , 0x0000003f , 0x00000003 
+ 00000610  0x000003d6 branch  0x00000286 , 0x00000001 
+ 00000611  0x000003d7 compare  0x00000002 , 0x0000003f , 0x00000003 
+ 00000612  0x000003d8 branch  0x00000266 , 0x00000001 
+ 00000613  0x000003d9 rtn 
+ 00000614  0x000003dc fetch  0x00000002 , 0x000002d9 
+ 00000615  0x000003dd rtnne  0x00000004 
+ 00000616  0x000003de ifetch  0x00000003 , 0x00000006 
+ 00000617  0x000003df store  0x00000003 , 0x00000473 
+ 00000618  0x000003e0 set1  0x0000000f , 0x00000000 
+ 00000619  0x000003e1 beq  0x00000012 , 0x0000027a 
+ 00000620  0x000003e2 beq  0x00000052 , 0x0000027c 
+ 00000621  0x000003e3 beq  0x00000016 , 0x00000273 
+ 00000622  0x000003e4 beq  0x00000018 , 0x00005e3b 
+ 00000623  0x000003e5 beq  0x00000002 , 0x00000377 
+ 00000624  0x000003e6 beq  0x0000001e , 0x00000373 
+ 00000625  0x000003e7 set0  0x0000000f , 0x00000000 
+ 00000626  0x000003e8 rtn 
+ 00000627  0x000003eb setarg  0x00000b1e 
+ 00000628  0x000003ec store  0x00000002 , 0x00004ad5 
+ 00000629  0x000003ed call  0x0000027f 
+ 00000630  0x000003ee increase  0xfffffffe , 0x00000039 
+ 00000631  0x000003ef arg  0x000002e0 , 0x00000011 
+ 00000632  0x000003f0 call  0x00005abe 
+ 00000633  0x000003f1 branch  0x0000029f 
+ 00000634  0x000003f5 call  0x0000027c 
+ 00000635  0x000003f6 branch  0x00000296 
+ 00000636  0x000003fa call  0x0000027f 
+ 00000637  0x000003fb arg  0x000002de , 0x00000011 
+ 00000638  0x000003fc branch  0x00005abe 
+ 00000639  0x00000400 fetch  0x00000001 , 0x000002d6 
+ 00000640  0x00000401 add  0x0000003f , 0xfffffff9 , 0x00000039 
+ 00000641  0x00000402 increase  0xfffffffc , 0x0000003f 
+ 00000642  0x00000403 store  0x00000002 , 0x00004ad1 
+ 00000643  0x00000404 ifetcht  0x00000002 , 0x00000006 
+ 00000644  0x00000405 storet  0x00000002 , 0x00004ad3 
+ 00000645  0x00000406 rtn 
+ 00000646  0x0000040a set1  0x0000000f , 0x00000000 
+ 00000647  0x0000040b call  0x0000028e 
+ 00000648  0x0000040c fetch  0x00000001 , 0x00000473 
+ 00000649  0x0000040d beq  0x00000012 , 0x00000296 
+ 00000650  0x0000040e beq  0x00000016 , 0x00000295 
+ 00000651  0x0000040f rtneq  0x00000052 
+ 00000652  0x00000410 set0  0x0000000f , 0x00000000 
+ 00000653  0x00000411 rtn 
+ 00000654  0x00000415 fetch  0x00000001 , 0x000002d6 
+ 00000655  0x00000416 fetcht  0x00000002 , 0x00004ad1 
+ 00000656  0x00000417 iadd  0x00000002 , 0x00000002 
+ 00000657  0x00000418 storet  0x00000002 , 0x00004ad1 
+ 00000658  0x00000419 copy  0x0000003f , 0x00000039 
+ 00000659  0x0000041a arg  0x000002d7 , 0x00000011 
+ 00000660  0x0000041b branch  0x00005abe 
+ 00000661  0x0000041e branch  0x0000029f 
+ 00000662  0x00000422 call  0x00000299 
+ 00000663  0x00000423 nrtn  0x00000028 
+ 00000664  0x00000424 branch  0x00000475 
+ 00000665  0x00000428 call  0x00007dc1 
+ 00000666  0x00000429 fetch  0x00000002 , 0x00004ad3 
+ 00000667  0x0000042a fetcht  0x00000002 , 0x00004ad1 
+ 00000668  0x0000042b isub  0x00000002 , 0x0000003e 
+ 00000669  0x0000042c nrtn  0x00000005 
+ 00000670  0x0000042d branch  0x00007dbf 
+ 00000671  0x00000430 fetch  0x00000002 , 0x00004ad5 
+ 00000672  0x00000431 copy  0x0000003f , 0x00000005 
+ 00000673  0x00000433 fetch  0x00000001 , 0x000002d6 
+ 00000674  0x00000434 copy  0x0000003f , 0x00000039 
+ 00000675  0x00000435 call  0x00007cdc 
+ 00000676  0x00000436 copy  0x00000005 , 0x0000003f 
+ 00000677  0x00000437 store  0x00000002 , 0x00004ad5 
+ 00000678  0x00000439 call  0x00000299 
+ 00000679  0x0000043a nrtn  0x00000028 
+ 00000680  0x0000043b arg  0x00000003 , 0x00000007 
+ 00000681  0x0000043c call  0x000050e6 
+ 00000682  0x0000043d branch  0x000002ab 
+ 00000683  0x00000441 call  0x00005c74 
+ 00000684  0x00000442 nrtn  0x00000034 
+ 00000685  0x00000443 jam  0x00000017 , 0x00000b22 
+ 00000686  0x00000444 setarg  0x00000b1e 
+ 00000687  0x00000445 store  0x00000002 , 0x00004ad7 
+ 00000688  0x00000446 fetcht  0x00000002 , 0x00000b1e 
+ 00000689  0x00000447 increase  0x00000004 , 0x00000002 
+ 00000690  0x00000448 setarg  0x000000f9 
+ 00000691  0x00000449 call  0x00007db5 
+ 00000692  0x0000044a add  0x0000003f , 0xfffffffc , 0x00000012 
+ 00000693  0x0000044b force  0x00000002 , 0x00000001 
+ 00000694  0x0000044d copy  0x0000003f , 0x00000011 
+ 00000695  0x0000044e call  0x00005c32 
+ 00000696  0x0000044f fetch  0x00000002 , 0x00004ad7 
+ 00000697  0x00000450 copy  0x0000003f , 0x00000006 
+ 00000698  0x00000451 copy  0x00000011 , 0x00000039 
+ 00000699  0x00000452 call  0x00007ccf 
+ 00000700  0x00000453 copy  0x00000006 , 0x0000003f 
+ 00000701  0x00000454 store  0x00000002 , 0x00004ad7 
+ 00000702  0x00000455 fetch  0x00000002 , 0x00000b1e 
+ 00000703  0x00000456 isub  0x00000012 , 0x0000003f 
+ 00000704  0x00000457 store  0x00000002 , 0x00000b1e 
+ 00000705  0x00000458 branch  0x000002c7 , 0x00000034 
+ 00000706  0x00000459 arg  0x000000f9 , 0x00000002 
+ 00000707  0x0000045a call  0x00007db5 
+ 00000708  0x0000045b copy  0x0000003f , 0x00000012 
+ 00000709  0x0000045c force  0x00000001 , 0x00000001 
+ 00000710  0x0000045d branch  0x000002b6 
+ 00000711  0x00000460 setarg  0x00000000 
+ 00000712  0x00000461 store  0x00000002 , 0x00004ad5 
+ 00000713  0x00000462 arg  0x00000003 , 0x00000007 
+ 00000714  0x00000463 branch  0x000050e2 
+ 00000715  0x00000467 fetch  0x00000001 , 0x00004bed 
+ 00000716  0x00000468 nbranch  0x0000599b , 0x00000034 
+ 00000717  0x0000046a fetcht  0x00000001 , 0x00000452 
+ 00000718  0x0000046b isolate0  0x00000005 , 0x00000002 
+ 00000719  0x0000046c rtn  0x00000001 
+ 00000720  0x0000046d fetch  0x00000001 , 0x000002d5 
+ 00000721  0x0000046e lshift  0x0000003f , 0x0000003f 
+ 00000722  0x0000046f ixor  0x00000002 , 0x0000003f 
+ 00000723  0x00000470 rtnbit0  0x00000003 
+ 00000724  0x00000471 set0  0x00000005 , 0x00000002 
+ 00000725  0x00000472 setflip  0x00000003 , 0x00000002 
+ 00000726  0x00000473 storet  0x00000001 , 0x00000452 
+ 00000727  0x00000474 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00000728  0x00000475 nrtn  0x00000001 
+ 00000729  0x00000476 fetch  0x00000001 , 0x00004add 
+ 00000730  0x00000477 beq  0x00000005 , 0x000059ac 
+ 00000731  0x00000478 fetch  0x00000001 , 0x00004497 
+ 00000732  0x00000479 beq  0x00000002 , 0x000059b0 
+ 00000733  0x0000047a rtn 
+ 00000734  0x0000047d fetch  0x00000001 , 0x00004bed 
+ 00000735  0x0000047e nbranch  0x000059f9 , 0x00000034 
+ 00000736  0x00000480 fetch  0x00000001 , 0x00000452 
+ 00000737  0x00000481 rtnbit1  0x00000005 
+ 00000738  0x00000482 call  0x00005a1c 
+ 00000739  0x00000483 call  0x00005c53 
+ 00000740  0x00000484 branch  0x00005a3e , 0x00000034 
+ 00000741  0x00000485 ifetch  0x00000001 , 0x00000006 
+ 00000742  0x00000486 ifetcht  0x00000001 , 0x00000006 
+ 00000743  0x00000487 copy  0x00000002 , 0x00000011 
+ 00000744  0x00000488 isub  0x00000011 , 0x0000003f 
+ 00000745  0x00000489 call  0x00000303 
+ 00000746  0x0000048a call  0x00007db5 
+ 00000747  0x0000048b copy  0x0000003f , 0x00000002 
+ 00000748  0x0000048c ifetch  0x00000001 , 0x00000006 
+ 00000749  0x0000048d copy  0x0000003f , 0x00000001 
+ 00000750  0x0000048e copy  0x00000011 , 0x0000003f 
+ 00000751  0x0000048f iadd  0x00000006 , 0x00000006 
+ 00000752  0x00000490 arg  0x00004add , 0x00000005 
+ 00000753  0x00000491 copy  0x00000002 , 0x00000039 
+ 00000754  0x00000492 call  0x00007ccf 
+ 00000755  0x00000493 call  0x00005a2e 
+ 00000756  0x00000494 call  0x00005a40 
+ 00000757  0x00000496 call  0x00005c53 
+ 00000758  0x00000497 ifetch  0x00000001 , 0x00000006 
+ 00000759  0x00000498 copy  0x0000003f , 0x00000011 
+ 00000760  0x00000499 copy  0x00000006 , 0x00000013 
+ 00000761  0x0000049a ifetcht  0x00000001 , 0x00000006 
+ 00000762  0x0000049b copy  0x00000002 , 0x00000012 
+ 00000763  0x0000049c isub  0x00000012 , 0x0000003f 
+ 00000764  0x0000049d call  0x00000303 
+ 00000765  0x0000049e call  0x00007db5 
+ 00000766  0x0000049f iadd  0x00000012 , 0x0000003f 
+ 00000767  0x000004a0 istore  0x00000001 , 0x00000013 
+ 00000768  0x000004a1 isub  0x00000011 , 0x0000003e 
+ 00000769  0x000004a2 nrtn  0x00000005 
+ 00000770  0x000004a3 branch  0x00005c76 
+ 00000771  0x000004a7 copy  0x00000006 , 0x00000005 
+ 00000772  0x000004a8 fetcht  0x00000002 , 0x00004ad9 
+ 00000773  0x000004a9 copy  0x00000005 , 0x00000006 
+ 00000774  0x000004aa rtn 
+ 00000775  0x000004ad fetch  0x00000001 , 0x00004bed 
+ 00000776  0x000004ae nbranch  0x00005a41 , 0x00000034 
+ 00000777  0x000004b0 storet  0x00000001 , 0x00004adc 
+ 00000778  0x000004b1 fetcht  0x00000001 , 0x00000452 
+ 00000779  0x000004b2 set1  0x00000005 , 0x00000002 
+ 00000780  0x000004b3 and  0x00000002 , 0x000000fc , 0x0000003f 
+ 00000781  0x000004b4 ior  0x00000001 , 0x0000003f 
+ 00000782  0x000004b5 store  0x00000001 , 0x00000452 
+ 00000783  0x000004b6 and_into  0x0000001f , 0x0000003f 
+ 00000784  0x000004b7 isolate1  0x00000029 , 0x00000000 
+ 00000785  0x000004b8 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00000786  0x000004b9 store  0x00000001 , 0x00004adb 
+ 00000787  0x000004bb fetch  0x00000001 , 0x00004adb 
+ 00000788  0x000004bc compare  0x00000001 , 0x00000001 , 0x00000003 
+ 00000789  0x000004bd nbranch  0x00000318 , 0x00000001 
+ 00000790  0x000004be fetch  0x00000001 , 0x00004adc 
+ 00000791  0x000004bf rtn  0x00000034 
+ 00000792  0x000004c1 fetch  0x00000001 , 0x0000043b 
+ 00000793  0x000004c2 rtnbit0  0x00000004 
+ 00000794  0x000004c3 call  0x00007342 
+ 00000795  0x000004c4 branch  0x00007299 
+ 00000796  0x000004c7 fetch  0x00000001 , 0x00004bed 
+ 00000797  0x000004c8 nbranch  0x0000729a , 0x00000034 
+ 00000798  0x000004ca arg  0x00004adb , 0x00000013 
+ 00000799  0x000004cb fetcht  0x00000005 , 0x000043d5 
+ 00000800  0x000004cc call  0x00007277 
+ 00000801  0x000004cd force  0x00000008 , 0x00000038 
+ 00000802  0x000004ce iforce  0x0000002f 
+ 00000803  0x000004cf force  0x00000000 , 0x00000011 
+ 00000804  0x000004d0 call  0x00007263 
+ 00000805  0x000004d1 call  0x000072e8 
+ 00000806  0x000004d2 arg  0x00004add , 0x00000013 
+ 00000807  0x000004d3 fetch  0x00000001 , 0x00004adc 
+ 00000808  0x000004d4 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00000809  0x000004d5 iadd  0x00000013 , 0x00000005 
+ 00000810  0x000004d6 force  0x0000000c , 0x00000038 
+ 00000811  0x000004d7 deposit  0x0000002f 
+ 00000812  0x000004d8 istore  0x00000004 , 0x00000005 
+ 00000813  0x000004d9 call  0x0000728e 
+ 00000814  0x000004da fetch  0x00000001 , 0x00004adc 
+ 00000815  0x000004db increase  0x00000004 , 0x0000003f 
+ 00000816  0x000004dc store  0x00000001 , 0x00004adc 
+ 00000817  0x000004dd fetcht  0x00000005 , 0x000043d5 
+ 00000818  0x000004de increase  0x00000001 , 0x00000002 
+ 00000819  0x000004df storet  0x00000005 , 0x000043d5 
+ 00000820  0x000004e0 rtn 
+ 00000821  0x000004e7 rtnmark1  0x0000000f 
+ 00000822  0x000004e8 call  0x00005c70 
+ 00000823  0x000004e9 nrtn  0x00000034 
+ 00000824  0x000004ea fetch  0x00000001 , 0x000002d5 
+ 00000825  0x000004eb and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00000826  0x000004ec store  0x00000001 , 0x000044de 
+ 00000827  0x000004ed ifetch  0x00000001 , 0x00000006 
+ 00000828  0x000004ee store  0x00000001 , 0x000044dd 
+ 00000829  0x000004ef rtn  0x00000034 
+ 00000830  0x000004f0 copy  0x00000006 , 0x0000003f 
+ 00000831  0x000004f1 store  0x00000002 , 0x000044df 
+ 00000832  0x000004f2 fetch  0x00000001 , 0x000044de 
+ 00000833  0x000004f3 beq  0x00000003 , 0x00000347 
+ 00000834  0x000004f4 call  0x00005a76 
+ 00000835  0x000004f5 arg  0x00000003 , 0x00000007 
+ 00000836  0x000004f6 nbranch  0x00004bec , 0x00000028 
+ 00000837  0x000004f7 call  0x00004bf0 
+ 00000838  0x000004f8 branch  0x00005a6b 
+ 00000839  0x000004fb fetch  0x00000001 , 0x00004bed 
+ 00000840  0x000004fc nbranch  0x00006044 , 0x00000034 
+ 00000841  0x000004fd fetch  0x00000001 , 0x000002d7 
+ 00000842  0x000004fe beq  0x00000008 , 0x0000034d 
+ 00000843  0x000004ff beq  0x00000014 , 0x0000035a 
+ 00000844  0x00000500 branch  0x00006045 
+ 00000845  0x00000504 arg  0x00000009 , 0x00000011 
+ 00000846  0x00000505 arg  0x00000009 , 0x00000012 
+ 00000847  0x00000506 call  0x00005c22 
+ 00000848  0x00000509 setarg  0x00000021 
+ 00000849  0x0000050a istore  0x00000008 , 0x00000005 
+ 00000850  0x0000050b call  0x00000354 
+ 00000851  0x0000050c rtn 
+ 00000852  0x0000050e fetch  0x00000001 , 0x000002d8 
+ 00000853  0x0000050f and  0x0000003f , 0x00000020 , 0x0000003f 
+ 00000854  0x00000510 branch  0x00000358 , 0x00000034 
+ 00000855  0x00000511 rtn 
+ 00000856  0x00000513 jam  0x00000001 , 0x00004bed 
+ 00000857  0x00000514 rtn 
+ 00000858  0x00000517 ifetch  0x00000002 , 0x00000006 
+ 00000859  0x00000518 store  0x00000002 , 0x00004ad9 
+ 00000860  0x00000519 branch  0x0000035d 
+ 00000861  0x0000051c arg  0x00000009 , 0x00000011 
+ 00000862  0x0000051d arg  0x00000015 , 0x00000012 
+ 00000863  0x0000051e call  0x00005c22 
+ 00000864  0x00000520 setarg  0x000000fb 
+ 00000865  0x00000521 istore  0x00000002 , 0x00000005 
+ 00000866  0x00000523 setarg  0x00000848 
+ 00000867  0x00000524 istore  0x00000002 , 0x00000005 
+ 00000868  0x00000526 setarg  0x000000fb 
+ 00000869  0x00000527 istore  0x00000002 , 0x00000005 
+ 00000870  0x00000529 setarg  0x00000848 
+ 00000871  0x0000052a istore  0x00000002 , 0x00000005 
+ 00000872  0x0000052b rtn 
+ 00000873  0x0000052f ifetch  0x00000002 , 0x00000006 
+ 00000874  0x00000530 beq  0x00000004 , 0x0000036e 
+ 00000875  0x00000531 beq  0x00000006 , 0x00005ed4 
+ 00000876  0x00000532 beq  0x00000005 , 0x00005e96 
+ 00000877  0x00000533 rtn 
+ 00000878  0x00000536 ifetch  0x00000003 , 0x00000006 
+ 00000879  0x00000537 store  0x00000003 , 0x00000473 
+ 00000880  0x00000539 beq  0x0000000a , 0x00000466 
+ 00000881  0x0000053a beq  0x00000012 , 0x00000471 
+ 00000882  0x0000053b branch  0x00005c8d 
+ 00000883  0x0000053f arg  0x00000007 , 0x00000007 
+ 00000884  0x00000540 branch  0x000050e2 
+ 00000885  0x00000543 arg  0x00000007 , 0x00000007 
+ 00000886  0x00000544 branch  0x000050e6 
+ 00000887  0x00000547 call  0x00005ca9 
+ 00000888  0x00000548 store  0x00000002 , 0x00004478 
+ 00000889  0x00000549 branch  0x00005ca2 
+ 00000890  0x0000054d call  0x00005b86 
+ 00000891  0x0000054f arg  0x00004381 , 0x00000013 
+ 00000892  0x00000550 arg  0x00004362 , 0x00000011 
+ 00000893  0x00000551 branch  0x00005ba5 
+ 00000894  0x00000555 fetch  0x00000001 , 0x00004bed 
+ 00000895  0x00000556 nbranch  0x00005bd5 , 0x00000034 
+ 00000896  0x00000558 disable  0x0000002b 
+ 00000897  0x00000559 branch  0x00000383 , 0x0000002e 
+ 00000898  0x0000055a nbranch  0x00005be6 , 0x0000002d 
+ 00000899  0x0000055c call  0x00004ba0 
+ 00000900  0x0000055d fetch  0x00000002 , 0x000040c1 
+ 00000901  0x0000055e store  0x00000002 , 0x00000449 
+ 00000902  0x00000560 nbranch  0x00004bb3 , 0x0000002d 
+ 00000903  0x00000561 bmark1  0x0000000f , 0x00004bb3 
+ 00000904  0x00000563 fetch  0x00000001 , 0x000044dd 
+ 00000905  0x00000564 nbranch  0x00004bb3 , 0x00000034 
+ 00000906  0x00000565 fetch  0x00000001 , 0x00004adc 
+ 00000907  0x00000566 nbranch  0x00004bb3 , 0x00000034 
+ 00000908  0x00000568 fetch  0x00000001 , 0x000044bb 
+ 00000909  0x00000569 bbit1  0x00000005 , 0x00004bb3 
+ 00000910  0x0000056b fetch  0x00000001 , 0x0000043b 
+ 00000911  0x0000056c bbit1  0x00000005 , 0x00004bb3 
+ 00000912  0x0000056d branch  0x00004b95 
+ 00000913  0x00000571 fetch  0x00000001 , 0x0000007d 
+ 00000914  0x00000572 beq  0x00000010 , 0x00000395 
+ 00000915  0x00000573 beq  0x00000017 , 0x0000039b 
+ 00000916  0x00000574 branch  0x000060fe 
+ 00000917  0x00000577 fetcht  0x00000001 , 0x0000054e 
+ 00000918  0x00000578 sub  0x00000002 , 0x00000006 , 0x0000003e 
+ 00000919  0x00000579 branch  0x00000399 , 0x00000002 
+ 00000920  0x0000057a branch  0x00006206 
+ 00000921  0x0000057d jam  0x00000024 , 0x0000007e 
+ 00000922  0x0000057e branch  0x00006134 
+ 00000923  0x00000581 branch  0x000062b8 
+ 00000924  0x00000584 disable  0x00000028 
+ 00000925  0x00000585 call  0x000066a3 
+ 00000926  0x00000586 fetch  0x00000001 , 0x00000048 
+ 00000927  0x00000587 rtn  0x00000034 
+ 00000928  0x00000588 bbit1  0x00000007 , 0x000003a2 
+ 00000929  0x00000589 branch  0x000063f2 
+ 00000930  0x0000058c beq  0x00000084 , 0x000003a5 
+ 00000931  0x0000058d beq  0x00000083 , 0x000003a8 
+ 00000932  0x0000058f branch  0x00006421 
+ 00000933  0x00000592 call  0x000003ab 
+ 00000934  0x00000593 fetch  0x00000001 , 0x00000048 
+ 00000935  0x00000594 branch  0x0000647b 
+ 00000936  0x00000596 call  0x000003ab 
+ 00000937  0x00000597 fetch  0x00000001 , 0x00000048 
+ 00000938  0x00000598 branch  0x000064ef 
+ 00000939  0x0000059b fetch  0x00000001 , 0x0000462c 
+ 00000940  0x0000059c branch  0x0000650d , 0x00000034 
+ 00000941  0x0000059d branch  0x00006506 
+ 00000942  0x000005a0 fetch  0x00000001 , 0x0000409e 
+ 00000943  0x000005a1 set0  0x00000003 , 0x0000003f 
+ 00000944  0x000005a2 store  0x00000001 , 0x0000409e 
+ 00000945  0x000005a3 setarg  0x00000001 
+ 00000946  0x000005a4 store  0x00000002 , 0x000004ca 
+ 00000947  0x000005a5 rtn 
+ 00000948  0x000005a8 copy  0x0000000a , 0x0000003f 
+ 00000949  0x000005a9 store  0x00000002 , 0x00004ff6 
+ 00000950  0x000005ab jam  0x00000000 , 0x00004091 
+ 00000951  0x000005ac call  0x00000040 
+ 00000952  0x000005ae fetch  0x00000001 , 0x00008043 
+ 00000953  0x000005af rtnbit1  0x00000007 
+ 00000954  0x000005b0 set1  0x00000007 , 0x0000003f 
+ 00000955  0x000005b1 store  0x00000001 , 0x00008043 
+ 00000956  0x000005b2 rtn 
+ 00000957  0x000005b5 fetch  0x00000001 , 0x000004f9 
+ 00000958  0x000005b6 beq  0x000000ef , 0x000003c0 
+ 00000959  0x000005b7 branch  0x00006957 
+ 00000960  0x000005b9 fetch  0x00000002 , 0x000004fd 
+ 00000961  0x000005ba copy  0x0000003f , 0x00000006 
+ 00000962  0x000005bb call  0x00006984 
+ 00000963  0x000005bc fetch  0x00000001 , 0x000004ff 
+ 00000964  0x000005bd beq  0x00000070 , 0x000003c6 
+ 00000965  0x000005be branch  0x00006960 
+ 00000966  0x000005c1 jam  0x00000008 , 0x00000a95 
+ 00000967  0x000005c2 call  0x00007bab 
+ 00000968  0x000005c3 call  0x00006972 
+ 00000969  0x000005c4 branch  0x000069ba 
+ 00000970  0x000005c8 fetch  0x00000001 , 0x000004f9 
+ 00000971  0x000005c9 beq  0x000000ef , 0x000003cd 
+ 00000972  0x000005ca branch  0x00006a15 
+ 00000973  0x000005cc fetch  0x00000002 , 0x000004fd 
+ 00000974  0x000005cd copy  0x0000003f , 0x00000006 
+ 00000975  0x000005ce call  0x00006984 
+ 00000976  0x000005cf fetch  0x00000001 , 0x000004ff 
+ 00000977  0x000005d0 beq  0x00000070 , 0x000003d3 
+ 00000978  0x000005d1 branch  0x00006a1d 
+ 00000979  0x000005d4 jam  0x00000008 , 0x00000a95 
+ 00000980  0x000005d5 call  0x00007bab 
+ 00000981  0x000005d6 call  0x00006972 
+ 00000982  0x000005d7 branch  0x00006a43 
+ 00000983  0x000005dc fetch  0x00000001 , 0x00004490 
+ 00000984  0x000005dd branch  0x00005ed0 , 0x00000034 
+ 00000985  0x000005df call  0x00007438 
+ 00000986  0x000005e0 branch  0x00007932 
+ 00000987  0x000005e7 call  0x0000425a 
+ 00000988  0x000005e8 nbranch  0x000003e3 , 0x00000005 
+ 00000989  0x000005e9 call  0x00004206 
+ 00000990  0x000005ea add  0x00000011 , 0x00000001 , 0x00000006 
+ 00000991  0x000005eb ifetch  0x00000001 , 0x00000006 
+ 00000992  0x000005ec bbit1  0x00000000 , 0x0000573a 
+ 00000993  0x000005ed bbit1  0x00000001 , 0x00004162 
+ 00000994  0x000005ee branch  0x000043cb 
+ 00000995  0x000005f0 call  0x000003e5 
+ 00000996  0x000005f1 branch  0x0000402c 
+ 00000997  0x000005f4 arg  0x00000002 , 0x00000039 
+ 00000998  0x000005f5 fetcht  0x00000001 , 0x00000015 
+ 00000999  0x000005f7 increase  0x00000001 , 0x00000002 
+ 00001000  0x000005f8 compare  0x00000002 , 0x00000002 , 0x000000ff 
+ 00001001  0x000005f9 nbranch  0x000003eb , 0x00000001 
+ 00001002  0x000005fa arg  0x00000000 , 0x00000002 
+ 00001003  0x000005fc storet  0x00000001 , 0x00000015 
+ 00001004  0x000005fd mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00001005  0x000005fe arg  0x00004bf8 , 0x00000011 
+ 00001006  0x000005ff iadd  0x00000011 , 0x00000011 
+ 00001007  0x00000600 ifetch  0x00000001 , 0x00000011 
+ 00001008  0x00000601 bbit1  0x00000001 , 0x000003f3 
+ 00001009  0x00000602 rtnbit1  0x00000000 
+ 00001010  0x00000603 rtnbit1  0x00000003 
+ 00001011  0x00000605 loop  0x000003e7 
+ 00001012  0x00000606 rtn 
+ 00001013  0x0000060a arg  0x000003f7 , 0x00000013 
+ 00001014  0x0000060b branch  0x00004239 
+ 00001015  0x0000060d bbit1  0x00000000 , 0x00004262 
+ 00001016  0x0000060f force  0x00000000 , 0x0000003e 
+ 00001017  0x00000610 rtn 
+ 00001018  0x00000614 arg  0x00004bf8 , 0x00000011 
+ 00001019  0x00000615 arg  0x00000002 , 0x00000039 
+ 00001020  0x00000616 branch  0x00004260 
+ 00001021  0x0000061a fetch  0x00000001 , 0x00000030 
+ 00001022  0x0000061b set0  0x00000003 , 0x0000003f 
+ 00001023  0x0000061c store  0x00000001 , 0x00000030 
+ 00001024  0x0000061d jam  0x00000000 , 0x00004651 
+ 00001025  0x0000061e branch  0x000043c5 
+ 00001026  0x0000062c disable  0x00000010 
+ 00001027  0x0000062d copy  0x00000002 , 0x0000001b 
+ 00001028  0x0000062e call  0x0000040a 
+ 00001029  0x0000062f disable  0x00000028 
+ 00001030  0x00000630 nrtn  0x00000005 
+ 00001031  0x00000631 force  0x00000000 , 0x0000001b 
+ 00001032  0x00000632 enable  0x00000028 
+ 00001033  0x00000633 rtn 
+ 00001034  0x00000636 arg  0x0000040c , 0x00000013 
+ 00001035  0x00000637 branch  0x0000425d 
+ 00001036  0x0000063c copy  0x0000003f , 0x00000002 
+ 00001037  0x0000063d add  0x00000011 , 0x00000001 , 0x00000006 
+ 00001038  0x0000063e ifetch  0x00000001 , 0x00000006 
+ 00001039  0x0000063f copy  0x00000011 , 0x00000006 
+ 00001040  0x00000640 bbit1  0x00000000 , 0x00004262 
+ 00001041  0x00000641 copy  0x00000002 , 0x0000003f 
+ 00001042  0x00000643 branch  0x000042c2 
+ 00001043  0x00000648 setarg  0x00000000 
+ 00001044  0x00000649 copy  0x00000027 , 0x0000003e 
+ 00001045  0x0000064a branch  0x0000041d , 0x00000005 
+ 00001046  0x0000064b hfetch  0x00000001 , 0x00008124 
+ 00001047  0x0000064c hfetcht  0x00000001 , 0x00008125 
+ 00001048  0x0000064d isub  0x00000002 , 0x0000003e 
+ 00001049  0x0000064e branch  0x0000041b , 0x00000002 
+ 00001050  0x0000064f deposit  0x00000002 
+ 00001051  0x00000651 isub  0x00000027 , 0x0000003f 
+ 00001052  0x00000652 increase  0x00000001 , 0x0000003f 
+ 00001053  0x00000654 increase  0x00000008 , 0x0000003f 
+ 00001054  0x00000655 until  0x0000003e , 0x00000033 
+ 00001055  0x00000656 iadd  0x00000031 , 0x0000003f 
+ 00001056  0x00000657 fetcht  0x00000004 , 0x0000415c 
+ 00001057  0x00000658 iadd  0x00000002 , 0x0000003f 
+ 00001058  0x00000659 fetcht  0x00000003 , 0x00004170 
+ 00001059  0x0000065a imul32  0x00000002 , 0x0000003f 
+ 00001060  0x0000065b rshift8  0x0000003f , 0x0000003f 
+ 00001061  0x0000065c rshift4  0x0000003f , 0x0000003f 
+ 00001062  0x0000065d increase  0x0000006e , 0x0000003f 
+ 00001063  0x0000065e arg  0x00000ea6 , 0x00000002 
+ 00001064  0x0000065f idiv  0x00000002 
+ 00001065  0x00000660 call  0x00007d61 
+ 00001066  0x00000661 quotient  0x0000003f 
+ 00001067  0x00000662 lshift16  0x0000003f , 0x0000003f 
+ 00001068  0x00000663 remainder  0x00000002 
+ 00001069  0x00000664 ior  0x00000002 , 0x0000003f 
+ 00001070  0x00000665 fetcht  0x00000006 , 0x00004164 
+ 00001071  0x00000666 call  0x00007d07 
+ 00001072  0x00000667 copy  0x00000002 , 0x00000019 
+ 00001073  0x00000668 fetch  0x00000006 , 0x00004c00 
+ 00001074  0x00000669 call  0x00004850 
+ 00001075  0x0000066a rtn 
+ 00001076  0x0000066e call  0x00004ad8 
+ 00001077  0x0000066f fetch  0x00000003 , 0x00004170 
+ 00001078  0x00000670 rtn  0x00000034 
+ 00001079  0x00000671 fetch  0x00000001 , 0x00004091 
+ 00001080  0x00000672 rtn  0x00000034 
+ 00001081  0x00000673 fetch  0x00000001 , 0x0000462c 
+ 00001082  0x00000674 branch  0x0000043d , 0x00000034 
+ 00001083  0x00000675 fetch  0x00000001 , 0x00004583 
+ 00001084  0x00000676 rtn  0x00000034 
+ 00001085  0x00000678 fetch  0x00000001 , 0x00004492 
+ 00001086  0x00000679 nrtn  0x00000034 
+ 00001087  0x0000067a call  0x00004bf4 
+ 00001088  0x0000067b nrtn  0x00000034 
+ 00001089  0x0000067c fetch  0x00000001 , 0x00004bf8 
+ 00001090  0x0000067d compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00001091  0x0000067e nbranch  0x00004b72 , 0x00000001 
+ 00001092  0x0000067f fetch  0x00000002 , 0x00004bfa 
+ 00001093  0x00000680 rtn  0x00000034 
+ 00001094  0x00000681 rtn  0x0000002b 
+ 00001095  0x00000682 fetcht  0x00000001 , 0x000000a0 
+ 00001096  0x00000683 fetch  0x00000002 , 0x00004bfa 
+ 00001097  0x00000684 imul32  0x00000002 , 0x0000003f 
+ 00001098  0x00000685 rshift4  0x00000002 , 0x00000002 
+ 00001099  0x00000686 rshift2  0x00000002 , 0x00000002 
+ 00001100  0x00000687 isub  0x00000002 , 0x0000003f 
+ 00001101  0x00000688 fetcht  0x00000004 , 0x00004bfc 
+ 00001102  0x00000689 iadd  0x00000002 , 0x0000003f 
+ 00001103  0x0000068a fetcht  0x00000001 , 0x00004156 
+ 00001104  0x0000068b isub  0x00000002 , 0x0000003f 
+ 00001105  0x0000068c lshift16  0x0000003f , 0x00000030 
+ 00001106  0x0000068d fetch  0x00000002 , 0x00004c06 
+ 00001107  0x0000068e rshift  0x0000003f , 0x0000003f 
+ 00001108  0x0000068f call  0x00007d2b 
+ 00001109  0x00000690 deposit  0x00000030 
+ 00001110  0x00000691 call  0x00007d14 
+ 00001111  0x00000692 copy  0x0000001a , 0x00000002 
+ 00001112  0x00000693 call  0x00000068 
+ 00001113  0x00000694 rtn  0x00000028 
+ 00001114  0x00000695 branch  0x00004b68 
+ 00001115  0x00000699 fetch  0x00000001 , 0x00004bf8 
+ 00001116  0x0000069a branch  0x00004b74 
+ 00001117  0x0000069e call  0x00007dc1 
+ 00001118  0x0000069f fetch  0x00000001 , 0x00004498 
+ 00001119  0x000006a0 rtneq  0x00000000 
+ 00001120  0x000006a1 fetch  0x00000001 , 0x00004bf8 
+ 00001121  0x000006a2 rtnbit1  0x00000004 
+ 00001122  0x000006a3 branch  0x00007dbf 
+ 00001123  0x000006a6 fetch  0x00000001 , 0x00004679 
+ 00001124  0x000006a7 bbit1  0x00000002 , 0x0000045d 
+ 00001125  0x000006a8 branch  0x00007dc1 
+ 00001126  0x000006ab fetcht  0x00000002 , 0x00000474 
+ 00001127  0x000006ac fetch  0x00000001 , 0x000044bb 
+ 00001128  0x000006ad bbit1  0x00000003 , 0x0000046a 
+ 00001129  0x000006ae branch  0x00005d9f 
+ 00001130  0x000006b1 fetch  0x00000002 , 0x000044cc 
+ 00001131  0x000006b2 isub  0x00000002 , 0x0000003e 
+ 00001132  0x000006b3 nbranch  0x00005d9f , 0x00000005 
+ 00001133  0x000006b5 call  0x0000045d 
+ 00001134  0x000006b6 nbranch  0x00005d9f , 0x00000028 
+ 00001135  0x000006b7 jam  0x00000005 , 0x00000476 
+ 00001136  0x000006b8 branch  0x00005e57 
+ 00001137  0x000006bb copy  0x00000006 , 0x00000011 
+ 00001138  0x000006bc fetch  0x00000002 , 0x000044ce 
+ 00001139  0x000006bd add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00001140  0x000006be call  0x00005abe 
+ 00001141  0x000006c0 fetch  0x00000001 , 0x000044bb 
+ 00001142  0x000006c1 bbit0  0x00000004 , 0x00005e1d 
+ 00001143  0x000006c3 fetcht  0x00000002 , 0x00000474 
+ 00001144  0x000006c4 fetch  0x00000002 , 0x000044cc 
+ 00001145  0x000006c5 isub  0x00000002 , 0x0000003e 
+ 00001146  0x000006c6 nbranch  0x00005e1d , 0x00000005 
+ 00001147  0x000006c7 call  0x0000045d 
+ 00001148  0x000006c8 nbranch  0x00005e1d , 0x00000028 
+ 00001149  0x000006c9 jam  0x00000005 , 0x00000476 
+ 00001150  0x000006ca branch  0x00005e57 
+ 00001151  0x000006f5 call  0x000041c5 
+ 00001152  0x000006f6 nrtn  0x00000028 
+ 00001153  0x000006f7 disable  0x00000028 
+ 00001154  0x000006f8 jam  0x00000020 , 0x00000011 
+ 00001155  0x000006f9 set0  0x0000000b , 0x00000000 
+ 00001156  0x000006fa set0  0x0000002c , 0x00000000 
+ 00001157  0x000006fc call  0x00004a4e 
+ 00001158  0x000006fd call  0x000042e2 
+ 00001159  0x000006fe bmark1  0x0000000b , 0x0000048c 
+ 00001160  0x000006ff call  0x00004451 
+ 00001161  0x00000700 nbranch  0x00000485 , 0x00000034 
+ 00001162  0x00000701 bmark1  0x0000002c , 0x00000495 
+ 00001163  0x00000702 branch  0x000041e8 
+ 00001164  0x00000705 call  0x00004a4c 
+ 00001165  0x00000706 arg  0x00000010 , 0x00000001 
+ 00001166  0x00000707 call  0x000042d8 
+ 00001167  0x00000708 set1  0x0000002c , 0x00000000 
+ 00001168  0x00000709 set0  0x0000000b , 0x00000000 
+ 00001169  0x0000070a fetch  0x00000001 , 0x00000077 
+ 00001170  0x0000070b iforce  0x00000004 
+ 00001171  0x0000070c jam  0x00000002 , 0x00000011 
+ 00001172  0x0000070d branch  0x00000485 
+ 00001173  0x00000710 fetch  0x00000004 , 0x00000163 
+ 00001174  0x00000711 pincrease  0x00000008 
+ 00001175  0x00000712 store  0x00000004 , 0x00000163 
+ 00001176  0x00000713 branch  0x000041f4 
+ 00001177  0x0000071c call  0x0000514a 
+ 00001178  0x0000071d jam  0x00000017 , 0x00000281 
+ 00001179  0x0000071e rtn 
+ 00001180  0x00000721 call  0x000004f3 
+ 00001181  0x00000722 branch  0x00006b6e 
+ 00001182  0x00000726 setarg  0x000015ef 
+ 00001183  0x00000727 istore  0x00000002 , 0x00000005 
+ 00001184  0x00000728 setarg  0x00001183 
+ 00001185  0x00000729 istore  0x00000002 , 0x00000005 
+ 00001186  0x0000072a copy  0x00000002 , 0x0000003f 
+ 00001187  0x0000072b istore  0x00000001 , 0x00000005 
+ 00001188  0x0000072c setarg  0x000000f0 
+ 00001189  0x0000072d istore  0x00000003 , 0x00000005 
+ 00001190  0x0000072e fetch  0x00000002 , 0x0000453e 
+ 00001191  0x0000072f istore  0x00000002 , 0x00000005 
+ 00001192  0x00000730 setarg  0x00000000 
+ 00001193  0x00000731 istore  0x00000001 , 0x00000005 
+ 00001194  0x00000732 fetch  0x00000001 , 0x00004540 
+ 00001195  0x00000733 istore  0x00000001 , 0x00000005 
+ 00001196  0x00000734 call  0x000068f0 
+ 00001197  0x00000735 istore  0x00000001 , 0x00000005 
+ 00001198  0x00000736 jam  0x00000010 , 0x0000453b 
+ 00001199  0x00000737 rtn 
+ 00001200  0x0000073b fetch  0x00000001 , 0x00004651 
+ 00001201  0x0000073c beq  0x00000000 , 0x0000694f 
+ 00001202  0x0000073e fetch  0x00000002 , 0x00000260 
+ 00001203  0x0000073f copy  0x0000003f , 0x00000006 
+ 00001204  0x00000740 call  0x00006979 
+ 00001205  0x00000741 fetch  0x00000001 , 0x000004f8 
+ 00001206  0x00000742 beq  0x00000000 , 0x00006a13 
+ 00001207  0x00000743 branch  0x000004b8 
+ 00001208  0x00000747 fetch  0x00000001 , 0x000004f9 
+ 00001209  0x00000748 beq  0x000000ef , 0x000004ca 
+ 00001210  0x00000749 beq  0x000000ff , 0x000004c2 
+ 00001211  0x0000074a beq  0x00000053 , 0x000004bd 
+ 00001212  0x0000074b branch  0x00006a4e 
+ 00001213  0x0000074e branch  0x00006a05 
+ 00001214  0x00000751 fetch  0x00000001 , 0x000004f9 
+ 00001215  0x00000752 beq  0x000000ef , 0x000004ca 
+ 00001216  0x00000753 beq  0x000000ff , 0x000004c2 
+ 00001217  0x00000754 branch  0x000069dc 
+ 00001218  0x00000757 fetch  0x00000002 , 0x000004fd 
+ 00001219  0x00000758 copy  0x0000003f , 0x00000006 
+ 00001220  0x00000759 increase  0x00000001 , 0x0000003f 
+ 00001221  0x0000075a store  0x00000002 , 0x000004fd 
+ 00001222  0x0000075b ifetch  0x00000001 , 0x00000006 
+ 00001223  0x0000075c fetcht  0x00000001 , 0x0000453a 
+ 00001224  0x0000075d iadd  0x00000002 , 0x0000003f 
+ 00001225  0x0000075e store  0x00000001 , 0x0000453a 
+ 00001226  0x00000760 call  0x00006b01 
+ 00001227  0x00000761 fetch  0x00000002 , 0x000004fd 
+ 00001228  0x00000762 store  0x00000002 , 0x00004cae 
+ 00001229  0x00000763 fetchr  0x00000007 , 0x00000001 , 0x000004fb 
+ 00001230  0x00000764 branch  0x000004cf 
+ 00001231  0x00000767 deposit  0x00000007 
+ 00001232  0x00000768 rtn  0x00000005 
+ 00001233  0x0000076a fetcht  0x00000002 , 0x00004cae 
+ 00001234  0x0000076b copy  0x00000002 , 0x00000006 
+ 00001235  0x0000076c call  0x000004dd 
+ 00001236  0x0000076d nrtn  0x00000028 
+ 00001237  0x0000076e copy  0x00000006 , 0x0000003f 
+ 00001238  0x0000076f store  0x00000002 , 0x00004cb0 
+ 00001239  0x00000771 call  0x000004dd 
+ 00001240  0x00000772 nrtn  0x00000028 
+ 00001241  0x00000774 copy  0x00000006 , 0x0000003f 
+ 00001242  0x00000775 store  0x00000002 , 0x00004cae 
+ 00001243  0x00000777 call  0x0000056f 
+ 00001244  0x00000778 branch  0x000004cf 
+ 00001245  0x00000782 disable  0x00000028 
+ 00001246  0x00000784 copy  0x00000007 , 0x0000003f 
+ 00001247  0x00000785 increase  0xfffffffe , 0x0000003f 
+ 00001248  0x00000786 nrtn  0x00000002 
+ 00001249  0x00000787 increase  0xffffffff , 0x00000007 
+ 00001250  0x00000788 ifetch  0x00000001 , 0x00000006 
+ 00001251  0x00000789 bne  0x0000000d , 0x000004de 
+ 00001252  0x0000078a increase  0xffffffff , 0x00000007 
+ 00001253  0x0000078b ifetch  0x00000001 , 0x00000006 
+ 00001254  0x0000078c bne  0x0000000a , 0x000004de 
+ 00001255  0x0000078d enable  0x00000028 
+ 00001256  0x0000078e rtn 
+ 00001257  0x00000792 jam  0x00000000 , 0x00004c98 
+ 00001258  0x00000793 jam  0x00000000 , 0x00004c99 
+ 00001259  0x00000794 jam  0x00000000 , 0x00004c9a 
+ 00001260  0x00000795 jam  0x0000000a , 0x00004cad 
+ 00001261  0x00000796 jam  0x0000000a , 0x00004cab 
+ 00001262  0x00000797 jam  0x00000000 , 0x00004cba 
+ 00001263  0x0000079b setarg  0x00004cab 
+ 00001264  0x0000079c arg  0x00004c98 , 0x00000005 
+ 00001265  0x0000079d isub  0x00000005 , 0x00000039 
+ 00001266  0x0000079e branch  0x00007caf 
+ 00001267  0x000007a1 call  0x0000564e 
+ 00001268  0x000007a2 nrtn  0x00000034 
+ 00001269  0x000007a3 fetch  0x00000001 , 0x00004c98 
+ 00001270  0x000007a4 beq  0x0000000a , 0x00000524 
+ 00001271  0x000007a5 rtneq  0x0000000b 
+ 00001272  0x000007a6 beq  0x0000000c , 0x0000052f 
+ 00001273  0x000007a7 rtneq  0x0000000d 
+ 00001274  0x000007a8 beq  0x0000000e , 0x0000053a 
+ 00001275  0x000007a9 rtneq  0x0000000f 
+ 00001276  0x000007aa beq  0x00000000 , 0x00000508 
+ 00001277  0x000007ab beq  0x00000001 , 0x00000515 
+ 00001278  0x000007ac rtneq  0x00000002 
+ 00001279  0x000007ad beq  0x00000003 , 0x00000545 
+ 00001280  0x000007ae rtneq  0x00000004 
+ 00001281  0x000007af beq  0x00000005 , 0x00000550 
+ 00001282  0x000007b0 rtneq  0x00000006 
+ 00001283  0x000007b1 beq  0x00000007 , 0x00000559 
+ 00001284  0x000007b2 rtneq  0x00000008 
+ 00001285  0x000007b3 beq  0x00000009 , 0x00000507 
+ 00001286  0x000007b4 rtn 
+ 00001287  0x000007b8 rtn 
+ 00001288  0x000007bb fetch  0x00000001 , 0x00004226 
+ 00001289  0x000007bc beq  0x000000ef , 0x0000050c 
+ 00001290  0x000007bd beq  0x000000ff , 0x0000050c 
+ 00001291  0x000007be rtn 
+ 00001292  0x000007c0 jam  0x00000001 , 0x00004c98 
+ 00001293  0x000007c1 rtn 
+ 00001294  0x000007c5 store  0x00000002 , 0x0000466a 
+ 00001295  0x000007c6 setarg  0x00004cd5 
+ 00001296  0x000007c7 store  0x00000002 , 0x00004cb2 
+ 00001297  0x000007c8 icopy  0x00000005 
+ 00001298  0x000007c9 setarg  0x002b5441 
+ 00001299  0x000007ca istore  0x00000003 , 0x00000005 
+ 00001300  0x000007cb rtn 
+ 00001301  0x000007cf fetch  0x00000001 , 0x0000453a 
+ 00001302  0x000007d0 rtn  0x00000034 
+ 00001303  0x000007d1 call  0x0000074b 
+ 00001304  0x000007d2 jam  0x00000002 , 0x00004c98 
+ 00001305  0x000007d4 setarg  0x0000000a 
+ 00001306  0x000007d5 call  0x0000050e 
+ 00001307  0x000007d6 setarg  0x00535242 
+ 00001308  0x000007d7 istore  0x00000003 , 0x00000005 
+ 00001309  0x000007d8 setarg  0x00003d46 
+ 00001310  0x000007d9 istore  0x00000002 , 0x00000005 
+ 00001311  0x000007da fetch  0x00000001 , 0x00004cb4 
+ 00001312  0x000007db istore  0x00000001 , 0x00000005 
+ 00001313  0x000007dc setarg  0x0000000d 
+ 00001314  0x000007dd istore  0x00000001 , 0x00000005 
+ 00001315  0x000007de branch  0x0000074d 
+ 00001316  0x000007e2 call  0x0000074b 
+ 00001317  0x000007e3 jam  0x0000000b , 0x00004c98 
+ 00001318  0x000007e5 setarg  0x0000000a 
+ 00001319  0x000007e6 call  0x0000050e 
+ 00001320  0x000007e7 setarg  0x00004843 
+ 00001321  0x000007e8 istore  0x00000002 , 0x00000005 
+ 00001322  0x000007e9 setarg  0x003d444c 
+ 00001323  0x000007ea istore  0x00000003 , 0x00000005 
+ 00001324  0x000007eb setarg  0x00000d3f 
+ 00001325  0x000007ec istore  0x00000002 , 0x00000005 
+ 00001326  0x000007ed branch  0x0000074d 
+ 00001327  0x000007f1 call  0x0000074b 
+ 00001328  0x000007f2 jam  0x0000000d , 0x00004c98 
+ 00001329  0x000007f4 setarg  0x0000000a 
+ 00001330  0x000007f5 call  0x0000050e 
+ 00001331  0x000007f6 setarg  0x00004c43 
+ 00001332  0x000007f7 istore  0x00000002 , 0x00000005 
+ 00001333  0x000007f8 setarg  0x003d5049 
+ 00001334  0x000007f9 istore  0x00000003 , 0x00000005 
+ 00001335  0x000007fa setarg  0x00000d31 
+ 00001336  0x000007fb istore  0x00000002 , 0x00000005 
+ 00001337  0x000007fc branch  0x0000074d 
+ 00001338  0x000007ff call  0x0000074b 
+ 00001339  0x00000800 jam  0x0000000f , 0x00004c98 
+ 00001340  0x00000802 setarg  0x0000000a 
+ 00001341  0x00000803 call  0x0000050e 
+ 00001342  0x00000804 setarg  0x00004343 
+ 00001343  0x00000805 istore  0x00000002 , 0x00000005 
+ 00001344  0x00000806 setarg  0x003d4157 
+ 00001345  0x00000807 istore  0x00000003 , 0x00000005 
+ 00001346  0x00000808 setarg  0x00000d31 
+ 00001347  0x00000809 istore  0x00000002 , 0x00000005 
+ 00001348  0x0000080a branch  0x0000074d 
+ 00001349  0x0000080e call  0x0000074b 
+ 00001350  0x0000080f jam  0x00000004 , 0x00004c98 
+ 00001351  0x00000811 setarg  0x0000000a 
+ 00001352  0x00000812 call  0x0000050e 
+ 00001353  0x00000813 setarg  0x004e4943 
+ 00001354  0x00000814 istore  0x00000003 , 0x00000005 
+ 00001355  0x00000815 setarg  0x003f3d44 
+ 00001356  0x00000816 istore  0x00000003 , 0x00000005 
+ 00001357  0x00000817 setarg  0x0000000d 
+ 00001358  0x00000818 istore  0x00000001 , 0x00000005 
+ 00001359  0x00000819 branch  0x0000074d 
+ 00001360  0x0000081c call  0x0000074b 
+ 00001361  0x0000081d jam  0x00000006 , 0x00004c98 
+ 00001362  0x0000081f setarg  0x00000009 
+ 00001363  0x00000820 call  0x0000050e 
+ 00001364  0x00000821 setarg  0x004e4943 
+ 00001365  0x00000822 istore  0x00000003 , 0x00000005 
+ 00001366  0x00000823 setarg  0x000d3f44 
+ 00001367  0x00000824 istore  0x00000003 , 0x00000005 
+ 00001368  0x00000825 branch  0x0000074d 
+ 00001369  0x00000828 call  0x0000074b 
+ 00001370  0x00000829 jam  0x00000008 , 0x00004c98 
+ 00001371  0x0000082b setarg  0x00000010 
+ 00001372  0x0000082c call  0x0000050e 
+ 00001373  0x0000082d setarg  0x00454d43 
+ 00001374  0x0000082e istore  0x00000003 , 0x00000005 
+ 00001375  0x0000082f setarg  0x00333d52 
+ 00001376  0x00000830 istore  0x00000003 , 0x00000005 
+ 00001377  0x00000831 setarg  0x002c302c 
+ 00001378  0x00000832 istore  0x00000003 , 0x00000005 
+ 00001379  0x00000833 setarg  0x00312c30 
+ 00001380  0x00000834 istore  0x00000003 , 0x00000005 
+ 00001381  0x00000835 setarg  0x0000000d 
+ 00001382  0x00000836 istore  0x00000001 , 0x00000005 
+ 00001383  0x00000837 branch  0x0000074d 
+ 00001384  0x0000083d setarg  0x00000008 
+ 00001385  0x0000083e call  0x0000050e 
+ 00001386  0x0000083f setarg  0x00434c43 
+ 00001387  0x00000840 istore  0x00000003 , 0x00000005 
+ 00001388  0x00000841 setarg  0x00000d43 
+ 00001389  0x00000842 istore  0x00000002 , 0x00000005 
+ 00001390  0x00000843 branch  0x0000074d 
+ 00001391  0x00000848 disable  0x00000028 
+ 00001392  0x00000849 call  0x0000058b 
+ 00001393  0x0000084a rtn  0x00000028 
+ 00001394  0x0000084b call  0x000005b5 
+ 00001395  0x0000084c rtn  0x00000028 
+ 00001396  0x0000084d storer  0x00000007 , 0x00000002 , 0x00000a9e 
+ 00001397  0x0000084e call  0x0000074b 
+ 00001398  0x0000084f fetchr  0x00000007 , 0x00000002 , 0x00000a9e 
+ 00001399  0x00000850 call  0x000006c8 
+ 00001400  0x00000851 rtn  0x00000028 
+ 00001401  0x00000852 call  0x000005cf 
+ 00001402  0x00000853 rtn  0x00000028 
+ 00001403  0x00000854 call  0x000005c3 
+ 00001404  0x00000855 rtn  0x00000028 
+ 00001405  0x00000856 call  0x00000635 
+ 00001406  0x00000857 rtn  0x00000028 
+ 00001407  0x00000858 call  0x000006d8 
+ 00001408  0x00000859 rtn  0x00000028 
+ 00001409  0x0000085a call  0x000006e6 
+ 00001410  0x0000085b rtn  0x00000028 
+ 00001411  0x0000085c call  0x00000707 
+ 00001412  0x0000085d rtn  0x00000028 
+ 00001413  0x0000085e call  0x000006f9 
+ 00001414  0x0000085f rtn  0x00000028 
+ 00001415  0x00000860 call  0x00000726 
+ 00001416  0x00000861 rtn  0x00000028 
+ 00001417  0x00000862 fetch  0x00000002 , 0x00004cb8 
+ 00001418  0x00000863 branch  0x00007d77 
+ 00001419  0x00000866 fetch  0x00000002 , 0x00004cb0 
+ 00001420  0x00000867 icopy  0x00000006 
+ 00001421  0x00000868 ifetch  0x00000001 , 0x00000006 
+ 00001422  0x00000869 rtnne  0x0000004f 
+ 00001423  0x0000086a ifetch  0x00000001 , 0x00000006 
+ 00001424  0x0000086b rtnne  0x0000004b 
+ 00001425  0x0000086c enable  0x00000028 
+ 00001426  0x0000086d call  0x0000059c 
+ 00001427  0x0000086f fetch  0x00000001 , 0x00004c98 
+ 00001428  0x00000870 beq  0x00000008 , 0x000005ac 
+ 00001429  0x00000871 beq  0x0000000b , 0x000005ae 
+ 00001430  0x00000872 beq  0x0000000d , 0x000005b0 
+ 00001431  0x00000873 beq  0x0000000f , 0x000005b2 
+ 00001432  0x00000874 beq  0x00000002 , 0x000005a6 
+ 00001433  0x00000875 beq  0x00000004 , 0x000005a8 
+ 00001434  0x00000876 beq  0x00000006 , 0x000005aa 
+ 00001435  0x00000877 rtn 
+ 00001436  0x0000087a fetch  0x00000001 , 0x00004c9a 
+ 00001437  0x0000087b beq  0x00000001 , 0x000005a2 
+ 00001438  0x0000087c beq  0x00000002 , 0x000005a2 
+ 00001439  0x0000087d beq  0x00000003 , 0x000005a4 
+ 00001440  0x0000087e beq  0x00000004 , 0x000005a2 
+ 00001441  0x0000087f rtn 
+ 00001442  0x00000884 jam  0x00000000 , 0x00004c9a 
+ 00001443  0x00000885 rtn 
+ 00001444  0x00000887 jam  0x00000000 , 0x00004c9a 
+ 00001445  0x00000888 rtn 
+ 00001446  0x0000088c jam  0x00000003 , 0x00004c98 
+ 00001447  0x0000088d rtn 
+ 00001448  0x0000088f jam  0x00000005 , 0x00004c98 
+ 00001449  0x00000890 rtn 
+ 00001450  0x00000892 jam  0x00000007 , 0x00004c98 
+ 00001451  0x00000893 rtn 
+ 00001452  0x00000895 jam  0x0000000a , 0x00004c98 
+ 00001453  0x00000896 rtn 
+ 00001454  0x00000898 jam  0x0000000c , 0x00004c98 
+ 00001455  0x00000899 rtn 
+ 00001456  0x0000089b jam  0x0000000e , 0x00004c98 
+ 00001457  0x0000089c rtn 
+ 00001458  0x000008a0 jam  0x00000009 , 0x00004c98 
+ 00001459  0x000008a1 jam  0x00000060 , 0x00000a95 
+ 00001460  0x000008a2 branch  0x00007bab 
+ 00001461  0x000008a6 fetch  0x00000002 , 0x00004cb0 
+ 00001462  0x000008a7 icopy  0x00000006 
+ 00001463  0x000008a8 ifetch  0x00000001 , 0x00000006 
+ 00001464  0x000008a9 rtnne  0x00000045 
+ 00001465  0x000008aa ifetch  0x00000001 , 0x00000006 
+ 00001466  0x000008ab rtnne  0x00000052 
+ 00001467  0x000008ac ifetch  0x00000001 , 0x00000006 
+ 00001468  0x000008ad rtnne  0x00000052 
+ 00001469  0x000008ae ifetch  0x00000001 , 0x00000006 
+ 00001470  0x000008af rtnne  0x0000004f 
+ 00001471  0x000008b0 ifetch  0x00000001 , 0x00000006 
+ 00001472  0x000008b1 rtnne  0x00000052 
+ 00001473  0x000008b2 enable  0x00000028 
+ 00001474  0x000008b3 branch  0x0000059c 
+ 00001475  0x000008b7 fetch  0x00000002 , 0x00004cb0 
+ 00001476  0x000008b8 icopy  0x00000006 
+ 00001477  0x000008b9 ifetch  0x00000001 , 0x00000006 
+ 00001478  0x000008ba rtnne  0x00000052 
+ 00001479  0x000008bb ifetch  0x00000001 , 0x00000006 
+ 00001480  0x000008bc rtnne  0x00000049 
+ 00001481  0x000008bd ifetch  0x00000001 , 0x00000006 
+ 00001482  0x000008be rtnne  0x0000004e 
+ 00001483  0x000008bf ifetch  0x00000001 , 0x00000006 
+ 00001484  0x000008c0 rtnne  0x00000047 
+ 00001485  0x000008c1 enable  0x00000028 
+ 00001486  0x000008c2 rtn 
+ 00001487  0x000008c7 fetch  0x00000002 , 0x00004cb0 
+ 00001488  0x000008c8 icopy  0x00000006 
+ 00001489  0x000008c9 ifetch  0x00000001 , 0x00000006 
+ 00001490  0x000008ca rtnne  0x0000002b 
+ 00001491  0x000008cb ifetch  0x00000001 , 0x00000006 
+ 00001492  0x000008cc rtnne  0x00000043 
+ 00001493  0x000008cd ifetch  0x00000001 , 0x00000006 
+ 00001494  0x000008ce rtnne  0x00000049 
+ 00001495  0x000008cf ifetch  0x00000001 , 0x00000006 
+ 00001496  0x000008d0 rtnne  0x00000045 
+ 00001497  0x000008d1 ifetch  0x00000001 , 0x00000006 
+ 00001498  0x000008d2 rtnne  0x00000056 
+ 00001499  0x000008d3 enable  0x00000028 
+ 00001500  0x000008d4 call  0x00000737 
+ 00001501  0x000008d5 increase  0x00000002 , 0x00000011 
+ 00001502  0x000008d6 setarg  0x00004c9d 
+ 00001503  0x000008d7 iadd  0x00000002 , 0x00000002 
+ 00001504  0x000008d8 increase  0xffffffff , 0x00000002 
+ 00001505  0x000008d9 ifetch  0x00000001 , 0x00000002 
+ 00001506  0x000008da arg  0x00004ca4 , 0x00000002 
+ 00001507  0x000008db iadd  0x00000002 , 0x0000003f 
+ 00001508  0x000008dc store  0x00000002 , 0x00004cb0 
+ 00001509  0x000008dd copy  0x00000011 , 0x00000006 
+ 00001510  0x000008de call  0x00000747 
+ 00001511  0x000008df call  0x00000737 
+ 00001512  0x000008e0 fetch  0x00000002 , 0x00004cb0 
+ 00001513  0x000008e1 istoret  0x00000001 , 0x0000003f 
+ 00001514  0x000008e3 setarg  0x00000001 
+ 00001515  0x000008e4 call  0x000005ef 
+ 00001516  0x000008e5 beq  0x00000000 , 0x000005f3 
+ 00001517  0x000008e6 beq  0x00000001 , 0x00000615 
+ 00001518  0x000008e7 rtn 
+ 00001519  0x000008ee arg  0x00004ca4 , 0x00000006 
+ 00001520  0x000008ef iadd  0x00000006 , 0x00000006 
+ 00001521  0x000008f0 ifetch  0x00000001 , 0x00000006 
+ 00001522  0x000008f1 rtn 
+ 00001523  0x000008f4 setarg  0x00000002 
+ 00001524  0x000008f5 call  0x000005ef 
+ 00001525  0x000008f6 beq  0x00000001 , 0x00000601 
+ 00001526  0x000008f7 beq  0x00000002 , 0x00000611 
+ 00001527  0x000008f8 beq  0x00000003 , 0x00000611 
+ 00001528  0x000008f9 fetch  0x00000001 , 0x00004c99 
+ 00001529  0x000008fa rtneq  0x00000000 
+ 00001530  0x000008fb jam  0x00000000 , 0x00004c99 
+ 00001531  0x000008fc fetch  0x00000001 , 0x00004cba 
+ 00001532  0x000008fd sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00001533  0x000008fe call  0x000005ff , 0x00000005 
+ 00001534  0x000008ff branch  0x0000062f 
+ 00001535  0x00000902 jam  0x00000058 , 0x00000a95 
+ 00001536  0x00000903 branch  0x00007bab 
+ 00001537  0x00000906 call  0x00000568 
+ 00001538  0x00000907 fetch  0x00000001 , 0x00004c99 
+ 00001539  0x00000908 rtneq  0x00000001 
+ 00001540  0x00000909 jam  0x00000001 , 0x00004c99 
+ 00001541  0x0000090b jam  0x0000005a , 0x00000a95 
+ 00001542  0x0000090c branch  0x00007bab 
+ 00001543  0x0000090f jam  0x0000005b , 0x00000a95 
+ 00001544  0x00000910 branch  0x00007bab 
+ 00001545  0x00000912 jam  0x0000005c , 0x00000a95 
+ 00001546  0x00000913 branch  0x00007bab 
+ 00001547  0x00000915 jam  0x0000005d , 0x00000a95 
+ 00001548  0x00000916 branch  0x00007bab 
+ 00001549  0x00000918 jam  0x0000005e , 0x00000a95 
+ 00001550  0x00000919 branch  0x00007bab 
+ 00001551  0x0000091b jam  0x0000005f , 0x00000a95 
+ 00001552  0x0000091c branch  0x00007bab 
+ 00001553  0x0000091f fetch  0x00000001 , 0x00004c99 
+ 00001554  0x00000920 rtneq  0x00000002 
+ 00001555  0x00000921 jam  0x00000002 , 0x00004c99 
+ 00001556  0x00000922 branch  0x00000607 
+ 00001557  0x00000925 setarg  0x00000003 
+ 00001558  0x00000926 call  0x000005ef 
+ 00001559  0x00000927 beq  0x00000000 , 0x00000624 
+ 00001560  0x00000928 fetch  0x00000001 , 0x00004c99 
+ 00001561  0x00000929 rtneq  0x00000006 
+ 00001562  0x0000092a jam  0x00000006 , 0x00004c99 
+ 00001563  0x0000092b branch  0x0000060f 
+ 00001564  0x0000092e fetch  0x00000001 , 0x00004c99 
+ 00001565  0x0000092f rtneq  0x00000004 
+ 00001566  0x00000930 jam  0x00000004 , 0x00004c99 
+ 00001567  0x00000931 branch  0x0000060b 
+ 00001568  0x00000934 fetch  0x00000001 , 0x00004c99 
+ 00001569  0x00000935 rtneq  0x00000005 
+ 00001570  0x00000936 jam  0x00000005 , 0x00004c99 
+ 00001571  0x00000937 branch  0x0000060d 
+ 00001572  0x0000093a setarg  0x00000002 
+ 00001573  0x0000093b call  0x000005ef 
+ 00001574  0x0000093c beq  0x00000001 , 0x0000061c 
+ 00001575  0x0000093d beq  0x00000002 , 0x00000620 
+ 00001576  0x0000093e beq  0x00000003 , 0x00000620 
+ 00001577  0x0000093f fetch  0x00000001 , 0x00004c99 
+ 00001578  0x00000940 rtneq  0x00000003 
+ 00001579  0x00000941 jam  0x00000003 , 0x00004c99 
+ 00001580  0x00000942 call  0x00000609 
+ 00001581  0x00000946 jam  0x00000002 , 0x00004cba 
+ 00001582  0x00000947 rtn 
+ 00001583  0x0000094b jam  0x00000000 , 0x00004cba 
+ 00001584  0x0000094c rtn 
+ 00001585  0x0000094f jam  0x00000059 , 0x00000a95 
+ 00001586  0x00000950 call  0x00007bab 
+ 00001587  0x00000951 jam  0x00000001 , 0x00004cba 
+ 00001588  0x00000954 rtn 
+ 00001589  0x0000095a fetch  0x00000002 , 0x00004cb0 
+ 00001590  0x0000095b icopy  0x00000006 
+ 00001591  0x0000095c ifetch  0x00000001 , 0x00000006 
+ 00001592  0x0000095d rtnne  0x0000002b 
+ 00001593  0x0000095e ifetch  0x00000001 , 0x00000006 
+ 00001594  0x0000095f rtnne  0x00000043 
+ 00001595  0x00000960 ifetch  0x00000001 , 0x00000006 
+ 00001596  0x00000961 rtnne  0x00000049 
+ 00001597  0x00000962 ifetch  0x00000001 , 0x00000006 
+ 00001598  0x00000963 rtnne  0x0000004e 
+ 00001599  0x00000964 ifetch  0x00000001 , 0x00000006 
+ 00001600  0x00000965 rtnne  0x00000044 
+ 00001601  0x00000966 enable  0x00000028 
+ 00001602  0x00000967 increase  0x00000002 , 0x00000006 
+ 00001603  0x00000968 ifetch  0x00000001 , 0x00000006 
+ 00001604  0x00000969 beq  0x00000028 , 0x00000661 
+ 00001605  0x0000096a branch  0x00000646 
+ 00001606  0x0000096f force  0x00000007 , 0x00000039 
+ 00001607  0x00000970 storer  0x00000006 , 0x00000002 , 0x00004cb0 
+ 00001608  0x00000972 fetch  0x00000002 , 0x00004cb0 
+ 00001609  0x00000973 icopy  0x00000006 
+ 00001610  0x00000974 call  0x00000737 
+ 00001611  0x00000975 increase  0x00000002 , 0x00000011 
+ 00001612  0x00000976 copy  0x00000011 , 0x00000006 
+ 00001613  0x00000977 call  0x00000747 
+ 00001614  0x00000978 copy  0x00000006 , 0x0000003f 
+ 00001615  0x00000979 store  0x00000002 , 0x00004cb0 
+ 00001616  0x0000097a copy  0x00000002 , 0x00000011 
+ 00001617  0x0000097b copy  0x00000039 , 0x00000002 
+ 00001618  0x0000097c sub  0x00000002 , 0x00000007 , 0x00000002 
+ 00001619  0x0000097d call  0x0000065a 
+ 00001620  0x0000097e arg  0x00004ca4 , 0x00000002 
+ 00001621  0x0000097f iadd  0x00000002 , 0x00000002 
+ 00001622  0x00000980 copy  0x00000011 , 0x0000003f 
+ 00001623  0x00000981 istore  0x00000001 , 0x00000002 
+ 00001624  0x00000982 loop  0x00000648 
+ 00001625  0x00000983 branch  0x000005ea 
+ 00001626  0x0000098a setarg  0x00004c9d 
+ 00001627  0x0000098b iadd  0x00000002 , 0x00000002 
+ 00001628  0x0000098c ifetch  0x00000001 , 0x00000002 
+ 00001629  0x0000098d rtn 
+ 00001630  0x00000990 ifetch  0x00000001 , 0x00000006 
+ 00001631  0x00000991 rtneq  0x00000022 
+ 00001632  0x00000992 branch  0x0000065e 
+ 00001633  0x00000995 force  0x00000007 , 0x00000039 
+ 00001634  0x00000997 call  0x0000065e 
+ 00001635  0x00000998 storer  0x00000006 , 0x00000002 , 0x00004cb0 
+ 00001636  0x00000999 call  0x00000670 
+ 00001637  0x0000099a branch  0x0000066d , 0x0000002c 
+ 00001638  0x0000099b call  0x0000068e 
+ 00001639  0x0000099c branch  0x0000066d , 0x0000002c 
+ 00001640  0x0000099d call  0x000006ba 
+ 00001641  0x0000099e branch  0x0000066d , 0x0000002c 
+ 00001642  0x0000099f call  0x000006ac 
+ 00001643  0x000009a0 branch  0x0000066d , 0x0000002c 
+ 00001644  0x000009a1 call  0x0000067e 
+ 00001645  0x000009a3 call  0x0000065e 
+ 00001646  0x000009a4 loop  0x00000662 
+ 00001647  0x000009a5 rtn 
+ 00001648  0x000009a9 disable  0x0000002c 
+ 00001649  0x000009aa fetch  0x00000002 , 0x00004cb0 
+ 00001650  0x000009ab icopy  0x00000006 
+ 00001651  0x000009ac ifetch  0x00000001 , 0x00000006 
+ 00001652  0x000009ad rtnne  0x00000073 
+ 00001653  0x000009ae ifetch  0x00000001 , 0x00000006 
+ 00001654  0x000009af rtnne  0x00000065 
+ 00001655  0x000009b0 ifetch  0x00000001 , 0x00000006 
+ 00001656  0x000009b1 rtnne  0x00000072 
+ 00001657  0x000009b2 ifetch  0x00000001 , 0x00000006 
+ 00001658  0x000009b3 rtnne  0x00000076 
+ 00001659  0x000009b4 enable  0x0000002c 
+ 00001660  0x000009b5 force  0x00000000 , 0x00000011 
+ 00001661  0x000009b6 branch  0x000006a5 
+ 00001662  0x000009ba disable  0x0000002c 
+ 00001663  0x000009bb fetch  0x00000002 , 0x00004cb0 
+ 00001664  0x000009bc icopy  0x00000006 
+ 00001665  0x000009bd ifetch  0x00000001 , 0x00000006 
+ 00001666  0x000009be rtnne  0x00000062 
+ 00001667  0x000009bf ifetch  0x00000001 , 0x00000006 
+ 00001668  0x000009c0 rtnne  0x00000061 
+ 00001669  0x000009c1 ifetch  0x00000001 , 0x00000006 
+ 00001670  0x000009c2 rtnne  0x00000074 
+ 00001671  0x000009c3 ifetch  0x00000001 , 0x00000006 
+ 00001672  0x000009c4 rtnne  0x00000074 
+ 00001673  0x000009c5 ifetch  0x00000001 , 0x00000006 
+ 00001674  0x000009c6 rtnne  0x00000063 
+ 00001675  0x000009c7 enable  0x0000002c 
+ 00001676  0x000009c8 force  0x00000006 , 0x00000011 
+ 00001677  0x000009c9 branch  0x000006a5 
+ 00001678  0x000009cc disable  0x0000002c 
+ 00001679  0x000009cd fetch  0x00000002 , 0x00004cb0 
+ 00001680  0x000009ce icopy  0x00000006 
+ 00001681  0x000009cf ifetch  0x00000001 , 0x00000006 
+ 00001682  0x000009d0 rtnne  0x00000063 
+ 00001683  0x000009d1 ifetch  0x00000001 , 0x00000006 
+ 00001684  0x000009d2 rtnne  0x00000061 
+ 00001685  0x000009d3 ifetch  0x00000001 , 0x00000006 
+ 00001686  0x000009d4 rtnne  0x0000006c 
+ 00001687  0x000009d5 ifetch  0x00000001 , 0x00000006 
+ 00001688  0x000009d6 rtnne  0x0000006c 
+ 00001689  0x000009d7 ifetch  0x00000001 , 0x00000006 
+ 00001690  0x000009d8 enable  0x0000002c 
+ 00001691  0x000009d9 beq  0x00000068 , 0x000006a4 
+ 00001692  0x000009da beq  0x00000022 , 0x000006a1 
+ 00001693  0x000009db beq  0x00000073 , 0x0000069f 
+ 00001694  0x000009dc rtn 
+ 00001695  0x000009df force  0x00000002 , 0x00000011 
+ 00001696  0x000009e0 branch  0x000006a5 
+ 00001697  0x000009e2 increase  0xffffffff , 0x00000006 
+ 00001698  0x000009e3 force  0x00000001 , 0x00000011 
+ 00001699  0x000009e4 branch  0x000006a5 
+ 00001700  0x000009e6 force  0x00000003 , 0x00000011 
+ 00001701  0x000009e8 copy  0x00000039 , 0x0000003f 
+ 00001702  0x000009e9 sub  0x0000003f , 0x00000007 , 0x0000003f 
+ 00001703  0x000009ea arg  0x00004c9d , 0x00000002 
+ 00001704  0x000009eb iadd  0x00000002 , 0x00000002 
+ 00001705  0x000009ec copy  0x00000011 , 0x0000003f 
+ 00001706  0x000009ed istore  0x00000001 , 0x00000002 
+ 00001707  0x000009ee rtn 
+ 00001708  0x000009f2 disable  0x0000002c 
+ 00001709  0x000009f3 fetch  0x00000002 , 0x00004cb0 
+ 00001710  0x000009f4 icopy  0x00000006 
+ 00001711  0x000009f5 ifetch  0x00000001 , 0x00000006 
+ 00001712  0x000009f6 rtnne  0x00000072 
+ 00001713  0x000009f7 ifetch  0x00000001 , 0x00000006 
+ 00001714  0x000009f8 rtnne  0x0000006f 
+ 00001715  0x000009f9 ifetch  0x00000001 , 0x00000006 
+ 00001716  0x000009fa rtnne  0x00000061 
+ 00001717  0x000009fb ifetch  0x00000001 , 0x00000006 
+ 00001718  0x000009fc rtnne  0x0000006d 
+ 00001719  0x000009fd enable  0x0000002c 
+ 00001720  0x000009fe force  0x00000005 , 0x00000011 
+ 00001721  0x000009ff branch  0x000006a5 
+ 00001722  0x00000a03 disable  0x0000002c 
+ 00001723  0x00000a04 fetch  0x00000002 , 0x00004cb0 
+ 00001724  0x00000a05 icopy  0x00000006 
+ 00001725  0x00000a06 ifetch  0x00000001 , 0x00000006 
+ 00001726  0x00000a07 rtnne  0x00000073 
+ 00001727  0x00000a08 ifetch  0x00000001 , 0x00000006 
+ 00001728  0x00000a09 rtnne  0x00000069 
+ 00001729  0x00000a0a ifetch  0x00000001 , 0x00000006 
+ 00001730  0x00000a0b rtnne  0x00000067 
+ 00001731  0x00000a0c ifetch  0x00000001 , 0x00000006 
+ 00001732  0x00000a0d rtnne  0x0000006e 
+ 00001733  0x00000a0e enable  0x0000002c 
+ 00001734  0x00000a0f force  0x00000004 , 0x00000011 
+ 00001735  0x00000a10 branch  0x000006a5 
+ 00001736  0x00000a14 fetch  0x00000002 , 0x00004cb0 
+ 00001737  0x00000a15 icopy  0x00000006 
+ 00001738  0x00000a16 ifetch  0x00000001 , 0x00000006 
+ 00001739  0x00000a17 rtnne  0x0000002b 
+ 00001740  0x00000a18 ifetch  0x00000001 , 0x00000006 
+ 00001741  0x00000a19 rtnne  0x00000042 
+ 00001742  0x00000a1a ifetch  0x00000001 , 0x00000006 
+ 00001743  0x00000a1b rtnne  0x00000052 
+ 00001744  0x00000a1c ifetch  0x00000001 , 0x00000006 
+ 00001745  0x00000a1d rtnne  0x00000053 
+ 00001746  0x00000a1e ifetch  0x00000001 , 0x00000006 
+ 00001747  0x00000a1f rtnne  0x00000046 
+ 00001748  0x00000a20 enable  0x00000028 
+ 00001749  0x00000a21 call  0x00000737 
+ 00001750  0x00000a22 storet  0x00000002 , 0x00004c9b 
+ 00001751  0x00000a23 rtn 
+ 00001752  0x00000a27 fetch  0x00000002 , 0x00004cb0 
+ 00001753  0x00000a28 icopy  0x00000006 
+ 00001754  0x00000a29 ifetch  0x00000001 , 0x00000006 
+ 00001755  0x00000a2a rtnne  0x0000002b 
+ 00001756  0x00000a2b ifetch  0x00000001 , 0x00000006 
+ 00001757  0x00000a2c rtnne  0x00000043 
+ 00001758  0x00000a2d ifetch  0x00000001 , 0x00000006 
+ 00001759  0x00000a2e rtnne  0x00000048 
+ 00001760  0x00000a2f ifetch  0x00000001 , 0x00000006 
+ 00001761  0x00000a30 rtnne  0x0000004c 
+ 00001762  0x00000a31 ifetch  0x00000001 , 0x00000006 
+ 00001763  0x00000a32 rtnne  0x00000044 
+ 00001764  0x00000a33 enable  0x00000028 
+ 00001765  0x00000a34 rtn 
+ 00001766  0x00000a39 fetch  0x00000002 , 0x00004cb0 
+ 00001767  0x00000a3a icopy  0x00000006 
+ 00001768  0x00000a3b ifetch  0x00000001 , 0x00000006 
+ 00001769  0x00000a3c rtnne  0x0000002b 
+ 00001770  0x00000a3d ifetch  0x00000001 , 0x00000006 
+ 00001771  0x00000a3e rtnne  0x00000056 
+ 00001772  0x00000a3f ifetch  0x00000001 , 0x00000006 
+ 00001773  0x00000a40 rtnne  0x00000047 
+ 00001774  0x00000a41 ifetch  0x00000001 , 0x00000006 
+ 00001775  0x00000a42 enable  0x00000028 
+ 00001776  0x00000a43 beq  0x0000004d , 0x000006f6 
+ 00001777  0x00000a44 beq  0x00000053 , 0x000006f3 
+ 00001778  0x00000a45 rtn 
+ 00001779  0x00000a48 call  0x00000737 
+ 00001780  0x00000a49 storet  0x00000001 , 0x00004cab 
+ 00001781  0x00000a4a rtn 
+ 00001782  0x00000a4d call  0x00000737 
+ 00001783  0x00000a4e storet  0x00000001 , 0x00004cad 
+ 00001784  0x00000a4f rtn 
+ 00001785  0x00000a53 fetch  0x00000002 , 0x00004cb0 
+ 00001786  0x00000a54 icopy  0x00000006 
+ 00001787  0x00000a55 ifetch  0x00000001 , 0x00000006 
+ 00001788  0x00000a56 rtnne  0x0000002b 
+ 00001789  0x00000a57 ifetch  0x00000001 , 0x00000006 
+ 00001790  0x00000a58 rtnne  0x00000043 
+ 00001791  0x00000a59 ifetch  0x00000001 , 0x00000006 
+ 00001792  0x00000a5a rtnne  0x00000043 
+ 00001793  0x00000a5b ifetch  0x00000001 , 0x00000006 
+ 00001794  0x00000a5c rtnne  0x00000057 
+ 00001795  0x00000a5d ifetch  0x00000001 , 0x00000006 
+ 00001796  0x00000a5e rtnne  0x00000041 
+ 00001797  0x00000a5f enable  0x00000028 
+ 00001798  0x00000a60 branch  0x00000718 
+ 00001799  0x00000a64 fetch  0x00000002 , 0x00004cb0 
+ 00001800  0x00000a65 icopy  0x00000006 
+ 00001801  0x00000a66 ifetch  0x00000001 , 0x00000006 
+ 00001802  0x00000a67 rtnne  0x0000002b 
+ 00001803  0x00000a68 ifetch  0x00000001 , 0x00000006 
+ 00001804  0x00000a69 rtnne  0x00000043 
+ 00001805  0x00000a6a ifetch  0x00000001 , 0x00000006 
+ 00001806  0x00000a6b rtnne  0x0000004c 
+ 00001807  0x00000a6c ifetch  0x00000001 , 0x00000006 
+ 00001808  0x00000a6d rtnne  0x00000049 
+ 00001809  0x00000a6e ifetch  0x00000001 , 0x00000006 
+ 00001810  0x00000a6f rtnne  0x00000050 
+ 00001811  0x00000a70 enable  0x00000028 
+ 00001812  0x00000a71 call  0x00000718 
+ 00001813  0x00000a72 fetch  0x00000001 , 0x00004cba 
+ 00001814  0x00000a73 rtnne  0x00000000 
+ 00001815  0x00000a74 branch  0x00000631 
+ 00001816  0x00000a78 ifetch  0x00000001 , 0x00000006 
+ 00001817  0x00000a79 bne  0x00000022 , 0x00000718 
+ 00001818  0x00000a7a force  0x00000000 , 0x00000011 
+ 00001819  0x00000a7b force  0x00000030 , 0x00000012 
+ 00001820  0x00000a7c arg  0x00004cbc , 0x00000005 
+ 00001821  0x00000a7e ifetch  0x00000001 , 0x00000006 
+ 00001822  0x00000a7f beq  0x00000022 , 0x00000723 
+ 00001823  0x00000a80 increase  0x00000001 , 0x00000011 
+ 00001824  0x00000a81 isub  0x00000012 , 0x0000003f 
+ 00001825  0x00000a82 istore  0x00000001 , 0x00000005 
+ 00001826  0x00000a83 branch  0x0000071d 
+ 00001827  0x00000a85 deposit  0x00000011 
+ 00001828  0x00000a86 store  0x00000001 , 0x00004cbb 
+ 00001829  0x00000a87 rtn 
+ 00001830  0x00000a8c fetch  0x00000002 , 0x00004cb0 
+ 00001831  0x00000a8d icopy  0x00000006 
+ 00001832  0x00000a8e ifetch  0x00000001 , 0x00000006 
+ 00001833  0x00000a8f rtnne  0x0000002b 
+ 00001834  0x00000a90 ifetch  0x00000001 , 0x00000006 
+ 00001835  0x00000a91 rtnne  0x00000043 
+ 00001836  0x00000a92 ifetch  0x00000001 , 0x00000006 
+ 00001837  0x00000a93 rtnne  0x0000004c 
+ 00001838  0x00000a94 ifetch  0x00000001 , 0x00000006 
+ 00001839  0x00000a95 rtnne  0x00000043 
+ 00001840  0x00000a96 ifetch  0x00000001 , 0x00000006 
+ 00001841  0x00000a97 rtnne  0x00000043 
+ 00001842  0x00000a98 enable  0x00000028 
+ 00001843  0x00000a99 call  0x00000718 
+ 00001844  0x00000a9a fetch  0x00000001 , 0x00004cba 
+ 00001845  0x00000a9b rtnne  0x00000000 
+ 00001846  0x00000a9c branch  0x00000631 
+ 00001847  0x00000aa6 call  0x00000747 
+ 00001848  0x00000aa7 increase  0xfffffffe , 0x00000006 
+ 00001849  0x00000aa8 copy  0x00000006 , 0x00000011 
+ 00001850  0x00000aa9 force  0x00000001 , 0x00000012 
+ 00001851  0x00000aaa force  0x00000000 , 0x00000002 
+ 00001852  0x00000aac ifetch  0x00000001 , 0x00000011 
+ 00001853  0x00000aad increase  0xffffffff , 0x00000011 
+ 00001854  0x00000aae rtneq  0x0000003d 
+ 00001855  0x00000aaf rtneq  0x0000003a 
+ 00001856  0x00000ab0 rtneq  0x0000002c 
+ 00001857  0x00000ab1 beq  0x00000020 , 0x0000073c 
+ 00001858  0x00000ab2 pincrease  0xffffffd0 
+ 00001859  0x00000ab3 imul32  0x00000012 , 0x0000003f 
+ 00001860  0x00000ab4 iadd  0x00000002 , 0x00000002 
+ 00001861  0x00000ab5 mul32  0x00000012 , 0x0000000a , 0x00000012 
+ 00001862  0x00000ab6 branch  0x0000073c 
+ 00001863  0x00000ab9 ifetch  0x00000001 , 0x00000006 
+ 00001864  0x00000aba rtneq  0x0000000d 
+ 00001865  0x00000abb rtneq  0x0000002c 
+ 00001866  0x00000abc branch  0x00000747 
+ 00001867  0x00000abf call  0x00006933 
+ 00001868  0x00000ac0 branch  0x00006ae9 
+ 00001869  0x00000ac3 fetch  0x00000001 , 0x0000453a 
+ 00001870  0x00000ac4 rtn  0x00000034 
+ 00001871  0x00000ac5 increase  0xffffffff , 0x0000003f 
+ 00001872  0x00000ac6 store  0x00000001 , 0x0000453a 
+ 00001873  0x00000ac7 fetch  0x00000001 , 0x00004537 
+ 00001874  0x00000ac8 store  0x00000001 , 0x0000050b 
+ 00001875  0x00000ac9 setarg  0x000000ef 
+ 00001876  0x00000aca store  0x00000001 , 0x0000050a 
+ 00001877  0x00000acb call  0x00006933 
+ 00001878  0x00000acc fetch  0x00000002 , 0x0000466a 
+ 00001879  0x00000acd increase  0x00000004 , 0x0000003f 
+ 00001880  0x00000ace icopy  0x00000011 
+ 00001881  0x00000acf call  0x0000076e 
+ 00001882  0x00000ad0 fetch  0x00000001 , 0x00000509 
+ 00001883  0x00000ad1 istore  0x00000001 , 0x00000005 
+ 00001884  0x00000ad2 fetch  0x00000001 , 0x0000050a 
+ 00001885  0x00000ad3 istore  0x00000001 , 0x00000005 
+ 00001886  0x00000ad4 call  0x00000769 
+ 00001887  0x00000ad5 fetch  0x00000002 , 0x0000466a 
+ 00001888  0x00000ad6 copy  0x0000003f , 0x00000039 
+ 00001889  0x00000ad7 fetch  0x00000002 , 0x00004cb2 
+ 00001890  0x00000ad8 copy  0x0000003f , 0x00000006 
+ 00001891  0x00000ad9 call  0x00007cdc 
+ 00001892  0x00000ada fetch  0x00000001 , 0x0000050b 
+ 00001893  0x00000adb istore  0x00000001 , 0x00000005 
+ 00001894  0x00000adc setarg  0x00000000 
+ 00001895  0x00000add store  0x00000002 , 0x0000466a 
+ 00001896  0x00000ade rtn 
+ 00001897  0x00000ae1 fetch  0x00000002 , 0x0000466a 
+ 00001898  0x00000ae2 lshift  0x0000003f , 0x0000003f 
+ 00001899  0x00000ae3 set1  0x00000000 , 0x0000003f 
+ 00001900  0x00000ae4 istore  0x00000001 , 0x00000005 
+ 00001901  0x00000ae5 rtn 
+ 00001902  0x00000ae9 call  0x000056ac 
+ 00001903  0x00000aea call  0x000056ba 
+ 00001904  0x00000aeb copy  0x00000011 , 0x0000003f 
+ 00001905  0x00000aec istore  0x00000002 , 0x00000005 
+ 00001906  0x00000aed fetch  0x00000002 , 0x0000421c 
+ 00001907  0x00000aee istore  0x00000002 , 0x00000005 
+ 00001908  0x00000aef rtn 
+ 00001909  0x00000af9 copy  0x00000006 , 0x00000002 
+ 00001910  0x00000afa arg  0x00000004 , 0x00000039 
+ 00001911  0x00000afb arg  0x00000526 , 0x00000005 
+ 00001912  0x00000afc call  0x00007ca1 
+ 00001913  0x00000afd copy  0x00000002 , 0x00000006 
+ 00001914  0x00000afe deposit  0x00000012 
+ 00001915  0x00000aff beq  0x00000003 , 0x0000077e 
+ 00001916  0x00000b00 beq  0x00000005 , 0x00000788 
+ 00001917  0x00000b01 branch  0x00006ce3 
+ 00001918  0x00000b04 ifetch  0x00000002 , 0x00000006 
+ 00001919  0x00000b05 ifetch  0x00000002 , 0x00000006 
+ 00001920  0x00000b06 byteswap  0x0000003f , 0x0000003f 
+ 00001921  0x00000b07 bne  0x00000001 , 0x00004a8b 
+ 00001922  0x00000b08 ifetch  0x00000004 , 0x00000006 
+ 00001923  0x00000b09 store  0x00000004 , 0x00000520 
+ 00001924  0x00000b0a fetch  0x00000001 , 0x00004222 
+ 00001925  0x00000b0b set1  0x00000006 , 0x0000003f 
+ 00001926  0x00000b0c store  0x00000001 , 0x00004222 
+ 00001927  0x00000b0d rtn 
+ 00001928  0x00000b10 fetch  0x00000001 , 0x00004222 
+ 00001929  0x00000b11 set1  0x00000007 , 0x0000003f 
+ 00001930  0x00000b12 store  0x00000001 , 0x00004222 
+ 00001931  0x00000b13 copy  0x00000002 , 0x00000006 
+ 00001932  0x00000b14 ifetch  0x00000002 , 0x00000006 
+ 00001933  0x00000b15 call  0x00006fc1 
+ 00001934  0x00000b16 store  0x00000001 , 0x00004536 
+ 00001935  0x00000b17 rtn 
+ 00001936  0x00000b1b fetch  0x00000001 , 0x00000283 
+ 00001937  0x00000b1c rtn  0x00000034 
+ 00001938  0x00000b1d beq  0x00000004 , 0x00000798 
+ 00001939  0x00000b1e beq  0x0000003d , 0x0000079c 
+ 00001940  0x00000b1f beq  0x0000003e , 0x000007a1 
+ 00001941  0x00000b20 beq  0x0000003f , 0x000007a7 
+ 00001942  0x00000b21 beq  0x00000040 , 0x000007aa 
+ 00001943  0x00000b22 branch  0x00006bbd 
+ 00001944  0x00000b25 fetch  0x00000001 , 0x00004222 
+ 00001945  0x00000b26 rtnne  0x0000003f 
+ 00001946  0x00000b27 jam  0x0000003d , 0x00000283 
+ 00001947  0x00000b28 branch  0x00006bba 
+ 00001948  0x00000b2b jam  0x0000003e , 0x00000283 
+ 00001949  0x00000b2c arg  0x0000000d , 0x00000011 
+ 00001950  0x00000b2d setarg  0x00001f11 
+ 00001951  0x00000b2e store  0x00000002 , 0x0000054b 
+ 00001952  0x00000b2f branch  0x000007ae 
+ 00001953  0x00000b32 fetch  0x00000001 , 0x00004222 
+ 00001954  0x00000b33 rtnbit0  0x00000006 
+ 00001955  0x00000b34 fetch  0x00000004 , 0x00000520 
+ 00001956  0x00000b35 branch  0x00004d64 , 0x00000034 
+ 00001957  0x00000b36 jam  0x0000003f , 0x00000283 
+ 00001958  0x00000b37 branch  0x00006bba 
+ 00001959  0x00000b3a jam  0x00000040 , 0x00000283 
+ 00001960  0x00000b3b arg  0x00000013 , 0x00000011 
+ 00001961  0x00000b3c branch  0x000007c3 
+ 00001962  0x00000b3f fetch  0x00000001 , 0x00004222 
+ 00001963  0x00000b40 rtnbit0  0x00000007 
+ 00001964  0x00000b41 jam  0x0000003b , 0x00000283 
+ 00001965  0x00000b42 branch  0x00006c3a 
+ 00001966  0x00000b48 call  0x000007dc 
+ 00001967  0x00000b49 setarg  0x00000002 
+ 00001968  0x00000b4a istore  0x00000001 , 0x00000005 
+ 00001969  0x00000b4b fetch  0x00000002 , 0x0000051a 
+ 00001970  0x00000b4c byteswap  0x0000003f , 0x0000003f 
+ 00001971  0x00000b4d istore  0x00000002 , 0x00000005 
+ 00001972  0x00000b4e increase  0xfffffffb , 0x00000011 
+ 00001973  0x00000b4f byteswap  0x00000011 , 0x00000011 
+ 00001974  0x00000b50 copy  0x00000011 , 0x0000003f 
+ 00001975  0x00000b51 istore  0x00000002 , 0x00000005 
+ 00001976  0x00000b52 setarg  0x00000335 
+ 00001977  0x00000b53 istore  0x00000002 , 0x00000005 
+ 00001978  0x00000b54 setarg  0x00000019 
+ 00001979  0x00000b55 istore  0x00000001 , 0x00000005 
+ 00001980  0x00000b56 fetch  0x00000002 , 0x0000054b 
+ 00001981  0x00000b57 istore  0x00000002 , 0x00000005 
+ 00001982  0x00000b58 setarg  0x00000008 
+ 00001983  0x00000b59 istore  0x00000002 , 0x00000005 
+ 00001984  0x00000b5a setarg  0x00000000 
+ 00001985  0x00000b5b istore  0x00000001 , 0x00000005 
+ 00001986  0x00000b5c rtn 
+ 00001987  0x00000b60 call  0x000007dc 
+ 00001988  0x00000b61 setarg  0x00000004 
+ 00001989  0x00000b62 istore  0x00000001 , 0x00000005 
+ 00001990  0x00000b63 fetch  0x00000002 , 0x0000051a 
+ 00001991  0x00000b64 byteswap  0x0000003f , 0x0000003f 
+ 00001992  0x00000b65 istore  0x00000002 , 0x00000005 
+ 00001993  0x00000b66 increase  0xfffffffb , 0x00000011 
+ 00001994  0x00000b67 byteswap  0x00000011 , 0x00000011 
+ 00001995  0x00000b68 copy  0x00000011 , 0x0000003f 
+ 00001996  0x00000b69 istore  0x00000002 , 0x00000005 
+ 00001997  0x00000b6a fetch  0x00000004 , 0x00000520 
+ 00001998  0x00000b6b istore  0x00000004 , 0x00000005 
+ 00001999  0x00000b6c setarg  0x00002c01 
+ 00002000  0x00000b6d istore  0x00000002 , 0x00000005 
+ 00002001  0x00000b6e setarg  0x00000535 
+ 00002002  0x00000b6f istore  0x00000002 , 0x00000005 
+ 00002003  0x00000b70 setarg  0x0000000a 
+ 00002004  0x00000b71 istore  0x00000001 , 0x00000005 
+ 00002005  0x00000b72 setarg  0x00000000 
+ 00002006  0x00000b73 istore  0x00000002 , 0x00000005 
+ 00002007  0x00000b74 setarg  0xffffffff 
+ 00002008  0x00000b75 istore  0x00000002 , 0x00000005 
+ 00002009  0x00000b76 setarg  0x00000000 
+ 00002010  0x00000b77 istore  0x00000001 , 0x00000005 
+ 00002011  0x00000b78 rtn 
+ 00002012  0x00000b7b fetch  0x00000002 , 0x0000051a 
+ 00002013  0x00000b7c increase  0x00000001 , 0x0000003f 
+ 00002014  0x00000b7d store  0x00000002 , 0x0000051a 
+ 00002015  0x00000b7f call  0x00007c60 
+ 00002016  0x00000b80 call  0x0000569f 
+ 00002017  0x00000b81 call  0x00007c70 
+ 00002018  0x00000b82 call  0x000056a8 
+ 00002019  0x00000b83 istorer  0x00000011 , 0x00000002 , 0x0000003f 
+ 00002020  0x00000b84 fetch  0x00000002 , 0x0000421a 
+ 00002021  0x00000b85 istore  0x00000002 , 0x00000005 
+ 00002022  0x00000b86 rtn 
+ 00002023  0x00000b93 fetcht  0x00000002 , 0x000040b7 
+ 00002024  0x00000b94 force  0x00000028 , 0x00000007 
+ 00002025  0x00000b95 call  0x00004718 
+ 00002026  0x00000b96 branch  0x00004110 , 0x00000028 
+ 00002027  0x00000b97 branch  0x000040ec 
+ 00016384  0x00000ba3 call  0x00004abb 
+ 00016385  0x00000ba5 bpatch  0x00000000 , 0x00004000 
+ 00016386  0x00000ba6 clear_stack 
+ 00016387  0x00000ba7 call  0x0000496a 
+ 00016388  0x00000ba8 call  0x00004a95 
+ 00016389  0x00000ba9 call  0x00005144 
+ 00016390  0x00000baa bpatch  0x00000001 , 0x00004000 
+ 00016391  0x00000bab call  0x000068c4 
+ 00016392  0x00000bac call  0x000060d7 
+ 00016393  0x00000bad call  0x00007b81 
+ 00016394  0x00000bae call  0x00004c77 
+ 00016395  0x00000baf bpatch  0x00000002 , 0x00004000 
+ 00016396  0x00000bb0 call  0x00004c7c , 0x0000002b 
+ 00016397  0x00000bb1 call  0x0000741f 
+ 00016398  0x00000bb2 call  0x00004b1d , 0x0000002b 
+ 00016399  0x00000bb4 bpatch  0x00000003 , 0x00004000 
+ 00016400  0x00000bb5 call  0x00007591 
+ 00016401  0x00000bb6 call  0x00007964 
+ 00016402  0x00000bb7 call  0x00007422 
+ 00016403  0x00000bb8 call  0x00005736 
+ 00016404  0x00000bb9 bpatch  0x00000004 , 0x00004000 
+ 00016405  0x00000bba call  0x00004034 
+ 00016406  0x00000bbb call  0x00004c86 
+ 00016407  0x00000bbc call  0x0000408b 
+ 00016408  0x00000bbd call  0x000042f4 
+ 00016409  0x00000bbe call  0x00004366 
+ 00016410  0x00000bbf call  0x0000401d 
+ 00016411  0x00000bc0 call  0x00004b3f 
+ 00016412  0x00000bc1 branch  0x0000400f 
+ 00016413  0x00000bc4 call  0x00004022 
+ 00016414  0x00000bc5 rtnmark0  0x00000009 
+ 00016415  0x00000bc6 set0  0x00000009 , 0x00000000 
+ 00016416  0x00000bc7 call  0x0000421f 
+ 00016417  0x00000bc8 branch  0x000057a8 
+ 00016418  0x00000bcb bpatch  0x00000005 , 0x00004000 
+ 00016419  0x00000bcc call  0x0000425a 
+ 00016420  0x00000bcd nbranch  0x0000402b , 0x00000005 
+ 00016421  0x00000bce call  0x00004206 
+ 00016422  0x00000bcf add  0x00000011 , 0x00000001 , 0x00000006 
+ 00016423  0x00000bd0 ifetch  0x00000001 , 0x00000006 
+ 00016424  0x00000bd1 bbit1  0x00000000 , 0x0000573a 
+ 00016425  0x00000bd2 bbit1  0x00000001 , 0x00004162 
+ 00016426  0x00000bd3 branch  0x000043cb 
+ 00016427  0x00000bd5 call  0x00004227 
+ 00016428  0x00000bd6 copy  0x00000039 , 0x0000003e 
+ 00016429  0x00000bd7 rtn  0x00000005 
+ 00016430  0x00000bd8 call  0x00004206 
+ 00016431  0x00000bd9 fetch  0x00000001 , 0x00000030 
+ 00016432  0x00000bda bbit1  0x00000003 , 0x000040cf 
+ 00016433  0x00000bdb fetch  0x00000001 , 0x00000031 
+ 00016434  0x00000bdc bbit1  0x00000001 , 0x00004162 
+ 00016435  0x00000bdd branch  0x000043cb 
+ 00016436  0x00000be6 fetch  0x00000001 , 0x000041cf 
+ 00016437  0x00000be7 rtn  0x00000034 
+ 00016438  0x00000be8 beq  0x00000001 , 0x00004044 
+ 00016439  0x00000be9 beq  0x00000002 , 0x00004049 
+ 00016440  0x00000bea beq  0x00000003 , 0x0000404c 
+ 00016441  0x00000beb beq  0x00000005 , 0x00004051 
+ 00016442  0x00000bec beq  0x0000001b , 0x00004041 
+ 00016443  0x00000bed call  0x00004253 
+ 00016444  0x00000bee rtn  0x00000005 
+ 00016445  0x00000bef call  0x00004256 
+ 00016446  0x00000bf0 rtn  0x00000005 
+ 00016447  0x00000bf2 jam  0x00000000 , 0x000041cf 
+ 00016448  0x00000bf3 rtn 
+ 00016449  0x00000bf6 jam  0x0000001b , 0x00000497 
+ 00016450  0x00000bf7 jam  0x00000000 , 0x000041cf 
+ 00016451  0x00000bf8 rtn 
+ 00016452  0x00000bfb set1  0x0000001c , 0x00000000 
+ 00016453  0x00000bfc set0  0x0000001e , 0x00000000 
+ 00016454  0x00000bfd jam  0x000000ff , 0x0000008f 
+ 00016455  0x00000bfe jam  0x0000001f , 0x0000008d 
+ 00016456  0x00000bff branch  0x0000403f 
+ 00016457  0x00000c02 set0  0x0000001c , 0x00000000 
+ 00016458  0x00000c03 force  0x00000000 , 0x0000001b 
+ 00016459  0x00000c04 branch  0x0000403f 
+ 00016460  0x00000c07 call  0x00004256 
+ 00016461  0x00000c08 rtn  0x00000005 
+ 00016462  0x00000c09 force  0x00000001 , 0x00000002 
+ 00016463  0x00000c0a jam  0x00000005 , 0x0000016c 
+ 00016464  0x00000c0b branch  0x00004058 
+ 00016465  0x00000c0e bpatch  0x00000006 , 0x00004000 
+ 00016466  0x00000c10 fetch  0x00000006 , 0x000041d1 
+ 00016467  0x00000c11 branch  0x0000403f , 0x00000034 
+ 00016468  0x00000c12 jam  0x00000001 , 0x00004651 
+ 00016469  0x00000c14 jam  0x00000003 , 0x00000055 
+ 00016470  0x00000c15 branch  0x00004057 
+ 00016471  0x00000c18 force  0x00000025 , 0x00000002 
+ 00016472  0x00000c1a bpatch  0x00000007 , 0x00004000 
+ 00016473  0x00000c1b fetch  0x00000001 , 0x000000ef 
+ 00016474  0x00000c1c branch  0x0000405e , 0x00000034 
+ 00016475  0x00000c1d lshift3  0x0000003f , 0x0000003f 
+ 00016476  0x00000c1e lshift4  0x0000003f , 0x0000003f 
+ 00016477  0x00000c1f increase  0xffffffff , 0x0000003f 
+ 00016478  0x00000c21 store  0x00000001 , 0x000040a6 
+ 00016479  0x00000c22 store  0x00000001 , 0x000000ee 
+ 00016480  0x00000c23 jam  0x0000001f , 0x0000008e 
+ 00016481  0x00000c24 set0  0x0000000c , 0x00000000 
+ 00016482  0x00000c25 call  0x00004237 
+ 00016483  0x00000c26 nbranch  0x0000407f , 0x00000005 
+ 00016484  0x00000c27 call  0x00004a6e 
+ 00016485  0x00000c28 store  0x00000001 , 0x00000077 
+ 00016486  0x00000c29 storet  0x00000001 , 0x0000007c 
+ 00016487  0x00000c2a fetch  0x00000006 , 0x000041d1 
+ 00016488  0x00000c2b store  0x00000006 , 0x00000040 
+ 00016489  0x00000c2c bpatch  0x00000008 , 0x00004001 
+ 00016490  0x00000c2d call  0x00007cf0 
+ 00016491  0x00000c2e force  0x00000000 , 0x0000003f 
+ 00016492  0x00000c2f compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00016493  0x00000c30 nsetflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00016494  0x00000c31 set1  0x00000003 , 0x0000003f 
+ 00016495  0x00000c32 store  0x00000001 , 0x00000030 
+ 00016496  0x00000c33 jam  0x00000003 , 0x00000a95 
+ 00016497  0x00000c34 call  0x00007bab 
+ 00016498  0x00000c35 force  0x00000000 , 0x0000003f 
+ 00016499  0x00000c36 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00016500  0x00000c37 store  0x00000001 , 0x0000004c 
+ 00016501  0x00000c38 setarg  0x00000000 
+ 00016502  0x00000c39 set1  0x00000001 , 0x0000003f 
+ 00016503  0x00000c3a store  0x00000001 , 0x00000031 
+ 00016504  0x00000c3b enable  0x00000029 
+ 00016505  0x00000c3c call  0x0000421f 
+ 00016506  0x00000c3d disable  0x00000029 
+ 00016507  0x00000c3e force  0x00000003 , 0x00000007 
+ 00016508  0x00000c3f fetch  0x00000002 , 0x000040b9 
+ 00016509  0x00000c40 call  0x00007ce3 
+ 00016510  0x00000c41 branch  0x0000403f 
+ 00016511  0x00000c43 bpatch  0x00000009 , 0x00004001 
+ 00016512  0x00000c44 fetch  0x00000006 , 0x000041d1 
+ 00016513  0x00000c45 store  0x00000006 , 0x00000040 
+ 00016514  0x00000c46 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00016515  0x00000c47 branch  0x00004085 , 0x00000001 
+ 00016516  0x00000c48 branch  0x0000403f 
+ 00016517  0x00000c4a arg  0x000000ff , 0x00000005 
+ 00016518  0x00000c4b arg  0x00000008 , 0x00000039 
+ 00016519  0x00000c4c call  0x00007ca1 
+ 00016520  0x00000c4d jam  0x00000004 , 0x00000a95 
+ 00016521  0x00000c4e call  0x00007bab 
+ 00016522  0x00000c4f branch  0x0000403f 
+ 00016523  0x00000c57 rtnmark0  0x0000001c 
+ 00016524  0x00000c58 force  0x00000001 , 0x00000007 
+ 00016525  0x00000c59 call  0x00007cf1 
+ 00016526  0x00000c5a nsetflag  0x00000034 , 0x0000001c , 0x00000000 
+ 00016527  0x00000c5b nbranch  0x00004091 , 0x00000034 
+ 00016528  0x00000c5c rtn 
+ 00016529  0x00000c61 bpatch  0x0000000a , 0x00004001 
+ 00016530  0x00000c62 fetcht  0x00000002 , 0x000040bb 
+ 00016531  0x00000c63 force  0x00000004 , 0x00000007 
+ 00016532  0x00000c64 call  0x00004718 
+ 00016533  0x00000c65 rtn  0x00000028 
+ 00016534  0x00000c66 call  0x000048a0 
+ 00016535  0x00000c67 force  0x00000000 , 0x00000024 
+ 00016536  0x00000c69 rtn  0x00000003 
+ 00016537  0x00000c6a set0  0x0000000b , 0x00000000 
+ 00016538  0x00000c6b set0  0x00000000 , 0x00000000 
+ 00016539  0x00000c6d add  0x00000022 , 0x00000001 , 0x00000021 
+ 00016540  0x00000c6e isolate1  0x0000001e , 0x00000000 
+ 00016541  0x00000c6f setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00016542  0x00000c70 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00016543  0x00000c71 nbranch  0x000040ba , 0x00000001 
+ 00016544  0x00000c74 bpatch  0x0000000b , 0x00004001 
+ 00016545  0x00000c75 fetch  0x00000001 , 0x00000012 
+ 00016546  0x00000c76 increase  0x00000001 , 0x0000003f 
+ 00016547  0x00000c77 store  0x00000001 , 0x00000012 
+ 00016548  0x00000c78 call  0x000048d4 
+ 00016549  0x00000c79 call  0x000048ce 
+ 00016550  0x00000c7a call  0x000048ee 
+ 00016551  0x00000c7b call  0x00004a50 
+ 00016552  0x00000c7c call  0x00004a55 
+ 00016553  0x00000c7d call  0x00004a63 
+ 00016554  0x00000c7e call  0x00004649 
+ 00016555  0x00000c7f call  0x000040ad 
+ 00016556  0x00000c80 branch  0x00004098 
+ 00016557  0x00000c83 bpatch  0x0000000c , 0x00004001 
+ 00016558  0x00000c84 fetch  0x00000001 , 0x0000008d 
+ 00016559  0x00000c85 increase  0xffffffff , 0x0000003f 
+ 00016560  0x00000c86 store  0x00000001 , 0x0000008d 
+ 00016561  0x00000c87 rtn  0x00000002 
+ 00016562  0x00000c88 jam  0x0000001f , 0x0000008d 
+ 00016563  0x00000c89 fetch  0x00000001 , 0x0000008f 
+ 00016564  0x00000c8a increase  0xffffffff , 0x0000003f 
+ 00016565  0x00000c8b store  0x00000001 , 0x0000008f 
+ 00016566  0x00000c8c rtn  0x00000002 
+ 00016567  0x00000c8d setflip  0x0000001e , 0x00000000 
+ 00016568  0x00000c8e jam  0x000000ff , 0x0000008f 
+ 00016569  0x00000c8f rtn 
+ 00016570  0x00000c92 bpatch  0x0000000d , 0x00004001 
+ 00016571  0x00000c93 call  0x000048d4 
+ 00016572  0x00000c94 call  0x000048c8 
+ 00016573  0x00000c95 call  0x000048ee 
+ 00016574  0x00000c96 call  0x00004a5a 
+ 00016575  0x00000c97 call  0x000049ea 
+ 00016576  0x00000c98 call  0x00004a0c 
+ 00016577  0x00000c99 branch  0x000040c4 , 0x00000018 
+ 00016578  0x00000c9a call  0x000040ad 
+ 00016579  0x00000c9b branch  0x0000409b 
+ 00016580  0x00000c9d bpatch  0x0000000e , 0x00004001 
+ 00016581  0x00000c9e call  0x000049ba 
+ 00016582  0x00000c9f call  0x00004a6a 
+ 00016583  0x00000ca0 call  0x0000451a 
+ 00016584  0x00000ca1 set0  0x00000001 , 0x00000000 
+ 00016585  0x00000ca2 rtnmark0  0x0000000b 
+ 00016586  0x00000ca4 bpatch  0x0000000f , 0x00004001 
+ 00016587  0x00000ca6 fetch  0x00000001 , 0x00000013 
+ 00016588  0x00000ca7 increase  0x00000001 , 0x0000003f 
+ 00016589  0x00000ca8 store  0x00000001 , 0x00000013 
+ 00016590  0x00000ca9 rtn 
+ 00016591  0x00000cb2 bpatch  0x00000010 , 0x00004002 
+ 00016592  0x00000cb3 enable  0x00000029 
+ 00016593  0x00000cb4 enable  0x00000030 
+ 00016594  0x00000cb5 fetch  0x00000002 , 0x000040b5 
+ 00016595  0x00000cb6 branch  0x000040d7 , 0x00000034 
+ 00016596  0x00000cb7 force  0x00000008 , 0x00000007 
+ 00016597  0x00000cb8 call  0x00007cf1 
+ 00016598  0x00000cb9 nrtn  0x00000034 
+ 00016599  0x00000cbb bpatch  0x00000011 , 0x00004002 
+ 00016600  0x00000cbc fetcht  0x00000002 , 0x000040b7 
+ 00016601  0x00000cbd force  0x00000028 , 0x00000007 
+ 00016602  0x00000cbe call  0x00004718 
+ 00016603  0x00000cbf branch  0x00004110 , 0x00000028 
+ 00016604  0x00000cc0 force  0x00000003 , 0x00000007 
+ 00016605  0x00000cc1 call  0x00007cf1 
+ 00016606  0x00000cc2 nbranch  0x000040ec , 0x00000034 
+ 00016607  0x00000cc3 fetch  0x00000001 , 0x0000004c 
+ 00016608  0x00000cc4 bbit1  0x00000004 , 0x000040e2 
+ 00016609  0x00000cc5 branch  0x000040e5 
+ 00016610  0x00000cc7 arg  0x000000ff , 0x00000005 
+ 00016611  0x00000cc8 arg  0x00000008 , 0x00000039 
+ 00016612  0x00000cc9 call  0x00007ca1 
+ 00016613  0x00000ccb bpatch  0x00000012 , 0x00004002 
+ 00016614  0x00000ccc jam  0x00000000 , 0x00000030 
+ 00016615  0x00000ccd call  0x000060d8 
+ 00016616  0x00000cce jam  0x00000000 , 0x00004651 
+ 00016617  0x00000ccf jam  0x00000013 , 0x00000a95 
+ 00016618  0x00000cd0 call  0x00007bab 
+ 00016619  0x00000cd1 branch  0x00004110 
+ 00016620  0x00000cd4 bpatch  0x00000013 , 0x00004002 
+ 00016621  0x00000cd5 force  0x00000000 , 0x0000000b 
+ 00016622  0x00000cd6 until  0x00000023 , 0x00000026 
+ 00016623  0x00000cd7 fetch  0x00000001 , 0x000000f0 
+ 00016624  0x00000cd8 increase  0xffffffff , 0x0000003f 
+ 00016625  0x00000cd9 ixor  0x00000022 , 0x0000003f 
+ 00016626  0x00000cda compare  0x00000000 , 0x0000003f , 0x00000003 
+ 00016627  0x00000cdb nbranch  0x000040ec , 0x00000001 
+ 00016628  0x00000cdc deposit  0x00000004 
+ 00016629  0x00000cdd store  0x00000001 , 0x0000017f 
+ 00016630  0x00000cde force  0x00000000 , 0x00000026 
+ 00016631  0x00000cdf force  0x00000000 , 0x00000024 
+ 00016632  0x00000ce2 bpatch  0x00000014 , 0x00004002 
+ 00016633  0x00000ce3 branch  0x00004110 , 0x00000003 
+ 00016634  0x00000ce4 call  0x000048d8 
+ 00016635  0x00000ce5 arg  0x00000600 , 0x0000000b 
+ 00016636  0x00000ce6 until  0x00000023 , 0x00000026 
+ 00016637  0x00000ce8 bpatch  0x00000015 , 0x00004002 
+ 00016638  0x00000ce9 fetch  0x00000004 , 0x000000f0 
+ 00016639  0x00000cea iforce  0x00000021 
+ 00016640  0x00000ceb increase  0x00000001 , 0x0000003f 
+ 00016641  0x00000cec store  0x00000004 , 0x000000f0 
+ 00016642  0x00000ced isolate1  0x0000000c , 0x00000000 
+ 00016643  0x00000cee setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00016644  0x00000cef compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00016645  0x00000cf0 nbranch  0x00004124 , 0x00000001 
+ 00016646  0x00000cf1 fetch  0x00000001 , 0x0000000c 
+ 00016647  0x00000cf2 increase  0x00000001 , 0x0000003f 
+ 00016648  0x00000cf3 store  0x00000001 , 0x0000000c 
+ 00016649  0x00000cf4 call  0x000048ce 
+ 00016650  0x00000cf5 call  0x00004a50 
+ 00016651  0x00000cf6 call  0x00004a55 
+ 00016652  0x00000cf7 call  0x00004a63 
+ 00016653  0x00000cf8 call  0x00004649 
+ 00016654  0x00000cf9 call  0x00004116 
+ 00016655  0x00000cfa branch  0x000040f8 
+ 00016656  0x00000cfc bpatch  0x00000016 , 0x00004002 
+ 00016657  0x00000cfd disable  0x00000029 
+ 00016658  0x00000cfe fetch  0x00000002 , 0x000040b5 
+ 00016659  0x00000cff rtn  0x00000034 
+ 00016660  0x00000d00 force  0x00000008 , 0x00000007 
+ 00016661  0x00000d01 branch  0x00007ce3 
+ 00016662  0x00000d04 bpatch  0x00000017 , 0x00004002 
+ 00016663  0x00000d05 fetch  0x00000001 , 0x0000008e 
+ 00016664  0x00000d06 increase  0xffffffff , 0x0000003f 
+ 00016665  0x00000d07 store  0x00000001 , 0x0000008e 
+ 00016666  0x00000d08 rtn  0x00000002 
+ 00016667  0x00000d09 jam  0x0000001f , 0x0000008e 
+ 00016668  0x00000d0a fetch  0x00000001 , 0x000000ee 
+ 00016669  0x00000d0b increase  0xffffffff , 0x0000003f 
+ 00016670  0x00000d0c store  0x00000001 , 0x000000ee 
+ 00016671  0x00000d0d rtn  0x00000002 
+ 00016672  0x00000d0e setflip  0x0000000c , 0x00000000 
+ 00016673  0x00000d0f fetch  0x00000001 , 0x000040a6 
+ 00016674  0x00000d10 store  0x00000001 , 0x000000ee 
+ 00016675  0x00000d11 rtn 
+ 00016676  0x00000d14 bpatch  0x00000018 , 0x00004003 
+ 00016677  0x00000d15 call  0x000048c8 
+ 00016678  0x00000d16 call  0x00004a5a 
+ 00016679  0x00000d17 call  0x000049ea 
+ 00016680  0x00000d18 call  0x00004a0c 
+ 00016681  0x00000d19 branch  0x0000412c , 0x00000018 
+ 00016682  0x00000d1a call  0x00004116 
+ 00016683  0x00000d1b branch  0x000040fd 
+ 00016684  0x00000d1d call  0x00004649 
+ 00016685  0x00000d1e fetch  0x00000001 , 0x0000000d 
+ 00016686  0x00000d1f increase  0x00000001 , 0x0000003f 
+ 00016687  0x00000d20 store  0x00000001 , 0x0000000d 
+ 00016688  0x00000d21 force  0x00000000 , 0x0000001b 
+ 00016689  0x00000d22 fetch  0x00000004 , 0x000000f0 
+ 00016690  0x00000d24 bpatch  0x00000019 , 0x00004003 
+ 00016691  0x00000d25 call  0x00004a4e 
+ 00016692  0x00000d26 call  0x000048d8 
+ 00016693  0x00000d27 increase  0x00000001 , 0x00000026 
+ 00016694  0x00000d29 and_into  0x000001fd , 0x00000021 
+ 00016695  0x00000d2a and_into  0x000001fc , 0x00000024 
+ 00016696  0x00000d2b call  0x000048ce 
+ 00016697  0x00000d2c call  0x00004a50 
+ 00016698  0x00000d2d call  0x00004a55 
+ 00016699  0x00000d2e call  0x00004a63 
+ 00016700  0x00000d2f deposit  0x00000022 
+ 00016701  0x00000d30 store  0x00000004 , 0x0000015f 
+ 00016702  0x00000d31 force  0x00000000 , 0x00000004 
+ 00016703  0x00000d32 force  0x00000002 , 0x00000001 
+ 00016704  0x00000d33 call  0x00004a6a 
+ 00016705  0x00000d34 call  0x00004762 
+ 00016706  0x00000d36 bpatch  0x0000001a , 0x00004003 
+ 00016707  0x00000d37 call  0x00004a4c 
+ 00016708  0x00000d38 or_into  0x00000002 , 0x00000021 
+ 00016709  0x00000d39 and_into  0x000001fc , 0x00000024 
+ 00016710  0x00000d3a call  0x000048c8 
+ 00016711  0x00000d3b call  0x00004a5a 
+ 00016712  0x00000d3c call  0x000049ea 
+ 00016713  0x00000d3d call  0x00004a0c 
+ 00016714  0x00000d3e call  0x00004649 , 0x00000018 
+ 00016715  0x00000d3f branch  0x00004151 , 0x00000018 
+ 00016716  0x00000d40 fetch  0x00000001 , 0x00000010 
+ 00016717  0x00000d41 branch  0x000040f8 , 0x00000034 
+ 00016718  0x00000d42 increase  0xffffffff , 0x0000003f 
+ 00016719  0x00000d43 store  0x00000001 , 0x00000010 
+ 00016720  0x00000d44 branch  0x00004132 
+ 00016721  0x00000d47 bpatch  0x0000001b , 0x00004003 
+ 00016722  0x00000d48 fetch  0x00000001 , 0x0000000e 
+ 00016723  0x00000d49 increase  0x00000001 , 0x0000003f 
+ 00016724  0x00000d4a store  0x00000001 , 0x0000000e 
+ 00016725  0x00000d4b call  0x00004431 
+ 00016726  0x00000d4d call  0x000042ee 
+ 00016727  0x00000d4e branch  0x0000415b , 0x00000018 
+ 00016728  0x00000d4f call  0x00004451 
+ 00016729  0x00000d50 nbranch  0x00004156 , 0x00000034 
+ 00016730  0x00000d51 branch  0x000040f8 
+ 00016731  0x00000d54 bpatch  0x0000001c , 0x00004003 
+ 00016732  0x00000d55 fetch  0x00000001 , 0x00000030 
+ 00016733  0x00000d56 set0  0x00000003 , 0x0000003f 
+ 00016734  0x00000d57 store  0x00000001 , 0x00000030 
+ 00016735  0x00000d58 call  0x0000443c 
+ 00016736  0x00000d59 disable  0x00000029 
+ 00016737  0x00000d5a rtn 
+ 00016738  0x00000d5e bpatch  0x0000001d , 0x00004003 
+ 00016739  0x00000d5f enable  0x00000029 
+ 00016740  0x00000d60 enable  0x00000030 
+ 00016741  0x00000d61 call  0x000041dd 
+ 00016742  0x00000d62 rtn  0x00000028 
+ 00016743  0x00000d63 call  0x00004c24 
+ 00016744  0x00000d64 call  0x00004a4e 
+ 00016745  0x00000d65 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00016746  0x00000d66 call  0x000048de 
+ 00016747  0x00000d67 force  0x00000003 , 0x00000024 
+ 00016748  0x00000d68 call  0x00006b81 
+ 00016749  0x00000d69 call  0x00004485 
+ 00016750  0x00000d6a call  0x000048ce 
+ 00016751  0x00000d6b call  0x00004a50 
+ 00016752  0x00000d6c call  0x00004a55 
+ 00016753  0x00000d6d call  0x00004a63 
+ 00016754  0x00000d6e call  0x0000475e 
+ 00016755  0x00000d70 bpatch  0x0000001e , 0x00004003 
+ 00016756  0x00000d71 call  0x000060e9 
+ 00016757  0x00000d72 call  0x000042e0 
+ 00016758  0x00000d73 nbranch  0x0000417c , 0x0000002d 
+ 00016759  0x00000d74 call  0x00004a87 
+ 00016760  0x00000d75 call  0x00004724 
+ 00016761  0x00000d76 fetch  0x00000001 , 0x0000000f 
+ 00016762  0x00000d77 increase  0x00000001 , 0x0000003f 
+ 00016763  0x00000d78 store  0x00000001 , 0x0000000f 
+ 00016764  0x00000d7a bpatch  0x0000001f , 0x00004003 
+ 00016765  0x00000d7b call  0x00006b69 
+ 00016766  0x00000d7c call  0x00004187 
+ 00016767  0x00000d7d nrtn  0x00000029 
+ 00016768  0x00000d7e call  0x000046ef 
+ 00016769  0x00000d7f nbranch  0x00004184 , 0x00000034 
+ 00016770  0x00000d81 disable  0x00000029 
+ 00016771  0x00000d82 rtn 
+ 00016772  0x00000d85 call  0x00004485 
+ 00016773  0x00000d86 call  0x000042d6 
+ 00016774  0x00000d87 branch  0x00004173 
+ 00016775  0x00000d8b branch  0x0000418a , 0x0000002d 
+ 00016776  0x00000d8c call  0x00004a7e 
+ 00016777  0x00000d8d branch  0x00004198 , 0x00000002 
+ 00016778  0x00000d8f call  0x000041a3 
+ 00016779  0x00000d90 nbranch  0x00004198 , 0x00000028 
+ 00016780  0x00000d91 fetch  0x00000001 , 0x0000004c 
+ 00016781  0x00000d92 rtnbit0  0x00000004 
+ 00016782  0x00000d93 rtnbit1  0x00000003 
+ 00016783  0x00000d94 fetch  0x00000001 , 0x0000004b 
+ 00016784  0x00000d95 rtnbit1  0x00000003 
+ 00016785  0x00000d96 call  0x000041aa 
+ 00016786  0x00000d97 nrtn  0x00000034 
+ 00016787  0x00000d98 fetch  0x00000001 , 0x0000016c 
+ 00016788  0x00000d99 increase  0xffffffff , 0x0000003f 
+ 00016789  0x00000d9a store  0x00000001 , 0x0000016c 
+ 00016790  0x00000d9b nrtn  0x00000034 
+ 00016791  0x00000d9c branch  0x000063e8 
+ 00016792  0x00000d9f bpatch  0x00000020 , 0x00004004 
+ 00016793  0x00000da0 call  0x00004459 
+ 00016794  0x00000da1 disable  0x00000029 
+ 00016795  0x00000da2 fetch  0x00000001 , 0x0000004c 
+ 00016796  0x00000da3 bbit1  0x00000004 , 0x0000419e 
+ 00016797  0x00000da4 rtn 
+ 00016798  0x00000da7 fetch  0x00000001 , 0x0000004c 
+ 00016799  0x00000da8 rtnbit1  0x00000003 
+ 00016800  0x00000daa arg  0x000000ff , 0x00000005 
+ 00016801  0x00000dab arg  0x00000008 , 0x00000039 
+ 00016802  0x00000dac branch  0x00007ca1 
+ 00016803  0x00000daf bpatch  0x00000021 , 0x00004004 
+ 00016804  0x00000db0 enable  0x00000028 
+ 00016805  0x00000db1 fetch  0x00000001 , 0x0000004b 
+ 00016806  0x00000db2 rtnbit0  0x00000003 
+ 00016807  0x00000db3 call  0x000041aa 
+ 00016808  0x00000db4 nrtn  0x00000034 
+ 00016809  0x00000db5 branch  0x00007dc1 
+ 00016810  0x00000db8 fetch  0x00000001 , 0x00000072 
+ 00016811  0x00000db9 increase  0xffffffff , 0x0000003f 
+ 00016812  0x00000dba store  0x00000001 , 0x00000072 
+ 00016813  0x00000dbb rtn 
+ 00016814  0x00000dbe bpatch  0x00000022 , 0x00004004 
+ 00016815  0x00000dbf fetch  0x00000001 , 0x00000030 
+ 00016816  0x00000dc0 bbit1  0x00000007 , 0x000041b7 
+ 00016817  0x00000dc1 fetch  0x00000001 , 0x000009b1 
+ 00016818  0x00000dc2 branch  0x000041b7 , 0x00000034 
+ 00016819  0x00000dc3 jam  0x00000000 , 0x000009b1 
+ 00016820  0x00000dc4 jam  0x00000018 , 0x00000a95 
+ 00016821  0x00000dc5 call  0x00007bab 
+ 00016822  0x00000dc6 branch  0x000041b7 
+ 00016823  0x00000dc8 bpatch  0x00000023 , 0x00004004 
+ 00016824  0x00000dc9 call  0x00004250 
+ 00016825  0x00000dca fetch  0x00000001 , 0x00000030 
+ 00016826  0x00000dcb set1  0x00000007 , 0x0000003f 
+ 00016827  0x00000dcc store  0x00000001 , 0x00000030 
+ 00016828  0x00000dcd jam  0x00000001 , 0x000041be 
+ 00016829  0x00000dce fetch  0x00000001 , 0x00000055 
+ 00016830  0x00000dcf bne  0x00000016 , 0x000041bf 
+ 00016831  0x00000dd1 rtn 
+ 00016832  0x00000dd4 jam  0x00000001 , 0x000009b1 
+ 00016833  0x00000dd6 fetch  0x00000001 , 0x00000030 
+ 00016834  0x00000dd7 set0  0x00000007 , 0x0000003f 
+ 00016835  0x00000dd8 store  0x00000001 , 0x00000030 
+ 00016836  0x00000dd9 rtn 
+ 00016837  0x00000dde bpatch  0x00000024 , 0x00004004 
+ 00016838  0x00000ddf disable  0x00000028 
+ 00016839  0x00000de0 fetch  0x00000002 , 0x00000032 
+ 00016840  0x00000de1 arg  0x0000ffff , 0x00000002 
+ 00016841  0x00000de2 isub  0x00000002 , 0x0000003e 
+ 00016842  0x00000de3 nrtn  0x00000005 
+ 00016843  0x00000de4 fetch  0x00000004 , 0x00000034 
+ 00016844  0x00000de5 branch  0x000041cf , 0x00000030 
+ 00016845  0x00000de6 isub  0x00000028 , 0x0000003f 
+ 00016846  0x00000de7 branch  0x000041d0 
+ 00016847  0x00000de9 isub  0x00000022 , 0x0000003f 
+ 00016848  0x00000deb sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00016849  0x00000dec nrtn  0x00000002 
+ 00016850  0x00000ded force  0x00000000 , 0x0000003f 
+ 00016851  0x00000dee store  0x00000002 , 0x00000032 
+ 00016852  0x00000def branch  0x00007dbf 
+ 00016853  0x00000df4 copy  0x0000003f , 0x00000002 
+ 00016854  0x00000df5 bpatch  0x00000025 , 0x00004004 
+ 00016855  0x00000df6 storet  0x00000004 , 0x00000034 
+ 00016856  0x00000df8 jam  0x00000001 , 0x0000452d 
+ 00016857  0x00000df9 setarg  0x0000ffff 
+ 00016858  0x00000dfa store  0x00000002 , 0x00000032 
+ 00016859  0x00000dfb jam  0x00000001 , 0x00000073 
+ 00016860  0x00000dfc rtn 
+ 00016861  0x00000e00 bpatch  0x00000026 , 0x00004004 
+ 00016862  0x00000e01 call  0x000041c5 
+ 00016863  0x00000e02 nrtn  0x00000028 
+ 00016864  0x00000e03 disable  0x00000028 
+ 00016865  0x00000e04 jam  0x00000020 , 0x00000011 
+ 00016866  0x00000e05 set0  0x0000000b , 0x00000000 
+ 00016867  0x00000e07 call  0x00004a4e 
+ 00016868  0x00000e08 call  0x000042e2 
+ 00016869  0x00000e09 bmark1  0x0000000b , 0x000041f0 
+ 00016870  0x00000e0a call  0x00004451 
+ 00016871  0x00000e0b nbranch  0x000041e3 , 0x00000034 
+ 00016872  0x00000e0d bpatch  0x00000027 , 0x00004004 
+ 00016873  0x00000e0e disable  0x00000028 
+ 00016874  0x00000e0f deposit  0x00000022 
+ 00016875  0x00000e10 store  0x00000004 , 0x000040ca 
+ 00016876  0x00000e11 enable  0x00000030 
+ 00016877  0x00000e12 enable  0x00000029 
+ 00016878  0x00000e13 jam  0x0000002a , 0x00000a95 
+ 00016879  0x00000e14 branch  0x00007bab 
+ 00016880  0x00000e17 bpatch  0x00000028 , 0x00004005 
+ 00016881  0x00000e18 call  0x00004a4c 
+ 00016882  0x00000e19 arg  0x00000010 , 0x00000001 
+ 00016883  0x00000e1a call  0x000042d8 
+ 00016884  0x00000e1b disable  0x00000030 
+ 00016885  0x00000e1c disable  0x00000029 
+ 00016886  0x00000e1d call  0x00004814 
+ 00016887  0x00000e1e call  0x00004431 
+ 00016888  0x00000e20 bpatch  0x00000029 , 0x00004005 
+ 00016889  0x00000e21 call  0x00004478 
+ 00016890  0x00000e22 branch  0x000041fe , 0x0000002d 
+ 00016891  0x00000e23 call  0x00004451 
+ 00016892  0x00000e24 nbranch  0x000041f8 , 0x00000034 
+ 00016893  0x00000e25 branch  0x000041e8 
+ 00016894  0x00000e27 fetch  0x00000001 , 0x00000031 
+ 00016895  0x00000e28 set0  0x00000001 , 0x0000003f 
+ 00016896  0x00000e29 store  0x00000001 , 0x00000031 
+ 00016897  0x00000e2a call  0x00004a87 
+ 00016898  0x00000e2b call  0x0000483d 
+ 00016899  0x00000e2c enable  0x00000028 
+ 00016900  0x00000e2d jam  0x0000002b , 0x00000a95 
+ 00016901  0x00000e2e branch  0x00007bab 
+ 00016902  0x00000e34 bpatch  0x0000002a , 0x00004005 
+ 00016903  0x00000e35 set1  0x00000009 , 0x00000000 
+ 00016904  0x00000e36 deposit  0x00000011 
+ 00016905  0x00000e37 store  0x00000002 , 0x0000001e 
+ 00016906  0x00000e38 force  0x00000050 , 0x00000039 
+ 00016907  0x00000e39 arg  0x0000043b , 0x00000005 
+ 00016908  0x00000e3a add  0x00000011 , 0x00000001 , 0x00000006 
+ 00016909  0x00000e3b ifetch  0x00000001 , 0x00000006 
+ 00016910  0x00000e3c copy  0x00000011 , 0x00000006 
+ 00016911  0x00000e3d bbit1  0x00000000 , 0x00007cdc 
+ 00016912  0x00000e3e arg  0x00000030 , 0x00000005 
+ 00016913  0x00000e3f call  0x00007cdc 
+ 00016914  0x00000e40 disable  0x0000002e 
+ 00016915  0x00000e41 fetch  0x00000001 , 0x00000077 
+ 00016916  0x00000e42 iforce  0x00000004 
+ 00016917  0x00000e43 jam  0x00000001 , 0x0000008a 
+ 00016918  0x00000e44 branch  0x00004218 , 0x00000029 
+ 00016919  0x00000e45 jam  0x00000001 , 0x0000008a 
+ 00016920  0x00000e47 fetch  0x00000001 , 0x00000030 
+ 00016921  0x00000e48 rtnbit0  0x00000001 
+ 00016922  0x00000e49 fetch  0x00000001 , 0x00000073 
+ 00016923  0x00000e4a store  0x00000001 , 0x0000008a 
+ 00016924  0x00000e4b fetch  0x00000001 , 0x00000074 
+ 00016925  0x00000e4c store  0x00000001 , 0x0000008b 
+ 00016926  0x00000e4d rtn 
+ 00016927  0x00000e50 bpatch  0x0000002b , 0x00004005 
+ 00016928  0x00000e51 fetch  0x00000002 , 0x0000001e 
+ 00016929  0x00000e52 iforce  0x00000005 
+ 00016930  0x00000e53 force  0x00000050 , 0x00000039 
+ 00016931  0x00000e54 arg  0x0000043b , 0x00000006 
+ 00016932  0x00000e55 branch  0x00007cdc , 0x00000036 
+ 00016933  0x00000e56 arg  0x00000030 , 0x00000006 
+ 00016934  0x00000e57 branch  0x00007cdc 
+ 00016935  0x00000e5c arg  0x00000001 , 0x00000039 
+ 00016936  0x00000e5d fetcht  0x00000001 , 0x00000015 
+ 00016937  0x00000e5f increase  0x00000001 , 0x00000002 
+ 00016938  0x00000e60 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00016939  0x00000e61 nbranch  0x0000422d , 0x00000001 
+ 00016940  0x00000e62 arg  0x00000000 , 0x00000002 
+ 00016941  0x00000e64 storet  0x00000001 , 0x00000015 
+ 00016942  0x00000e65 mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00016943  0x00000e66 arg  0x00004040 , 0x00000011 
+ 00016944  0x00000e67 iadd  0x00000011 , 0x00000011 
+ 00016945  0x00000e68 ifetch  0x00000001 , 0x00000011 
+ 00016946  0x00000e69 bbit1  0x00000001 , 0x00004235 
+ 00016947  0x00000e6a rtnbit1  0x00000000 
+ 00016948  0x00000e6b rtnbit1  0x00000003 
+ 00016949  0x00000e6d loop  0x00004229 
+ 00016950  0x00000e6e rtn 
+ 00016951  0x00000e71 bpatch  0x0000002c , 0x00004005 
+ 00016952  0x00000e72 arg  0x00004266 , 0x00000013 
+ 00016953  0x00000e73 call  0x0000425d 
+ 00016954  0x00000e74 nrtn  0x00000005 
+ 00016955  0x00000e75 deposit  0x00000011 
+ 00016956  0x00000e76 store  0x00000002 , 0x0000001e 
+ 00016957  0x00000e77 force  0x00000000 , 0x0000003e 
+ 00016958  0x00000e78 rtn 
+ 00016959  0x00000e7d call  0x00004721 
+ 00016960  0x00000e7e branch  0x00004247 , 0x00000001 
+ 00016961  0x00000e7f fetch  0x00000002 , 0x0000001e 
+ 00016962  0x00000e80 add  0x0000003f , 0x00000017 , 0x00000005 
+ 00016963  0x00000e81 fetch  0x00000001 , 0x00000047 
+ 00016964  0x00000e82 istore  0x00000001 , 0x00000005 
+ 00016965  0x00000e83 arg  0x000042a6 , 0x00000013 
+ 00016966  0x00000e84 branch  0x0000425d 
+ 00016967  0x00000e87 fetch  0x00000001 , 0x00000047 
+ 00016968  0x00000e88 isolate1  0x00000003 , 0x0000003f 
+ 00016969  0x00000e89 branch  0x0000424c , 0x00000001 
+ 00016970  0x00000e8a force  0x00000001 , 0x0000003e 
+ 00016971  0x00000e8b rtn 
+ 00016972  0x00000e8d force  0x00000000 , 0x0000003e 
+ 00016973  0x00000e8e rtn 
+ 00016974  0x00000e92 arg  0x000042a3 , 0x00000013 
+ 00016975  0x00000e93 branch  0x0000425d 
+ 00016976  0x00000e96 fetcht  0x00000002 , 0x0000001e 
+ 00016977  0x00000e97 arg  0x000042cb , 0x00000013 
+ 00016978  0x00000e98 branch  0x0000425d 
+ 00016979  0x00000e9d fetcht  0x00000001 , 0x000041d0 
+ 00016980  0x00000e9f arg  0x00004271 , 0x00000013 
+ 00016981  0x00000ea0 branch  0x0000425d 
+ 00016982  0x00000ea3 bpatch  0x0000002d , 0x00004005 
+ 00016983  0x00000ea4 fetcht  0x00000006 , 0x000041d1 
+ 00016984  0x00000ea6 arg  0x0000426a , 0x00000013 
+ 00016985  0x00000ea7 branch  0x0000425d 
+ 00016986  0x00000eaa arg  0x00004277 , 0x00000013 
+ 00016987  0x00000eab branch  0x0000425d 
+ 00016988  0x00000eae arg  0x000042c2 , 0x00000013 
+ 00016989  0x00000eb0 bpatch  0x0000002e , 0x00004005 
+ 00016990  0x00000eb1 arg  0x00004040 , 0x00000011 
+ 00016991  0x00000eb2 arg  0x00000001 , 0x00000039 
+ 00016992  0x00000eb4 ifetch  0x00000001 , 0x00000011 
+ 00016993  0x00000eb5 copy  0x00000013 , 0x0000003d 
+ 00016994  0x00000eb7 increase  0x00000050 , 0x00000011 
+ 00016995  0x00000eb8 loop  0x00004260 
+ 00016996  0x00000eb9 force  0x00000001 , 0x0000003e 
+ 00016997  0x00000eba rtn 
+ 00016998  0x00000ebd bbit1  0x00000000 , 0x00004262 
+ 00016999  0x00000ebe bbit1  0x00000003 , 0x00004262 
+ 00017000  0x00000ebf force  0x00000000 , 0x0000003e 
+ 00017001  0x00000ec0 rtn 
+ 00017002  0x00000ec3 bbit1  0x00000003 , 0x0000426c 
+ 00017003  0x00000ec4 bbit0  0x00000000 , 0x00004262 
+ 00017004  0x00000ec6 add  0x00000011 , 0x00000010 , 0x00000006 
+ 00017005  0x00000ec7 ifetch  0x00000006 , 0x00000006 
+ 00017006  0x00000ec8 isub  0x00000002 , 0x0000003e 
+ 00017007  0x00000ec9 rtn  0x00000005 
+ 00017008  0x00000eca branch  0x00004262 
+ 00017009  0x00000ecd bbit0  0x00000000 , 0x00004262 
+ 00017010  0x00000ece add  0x00000011 , 0x00000016 , 0x00000006 
+ 00017011  0x00000ecf ifetch  0x00000001 , 0x00000006 
+ 00017012  0x00000ed0 isub  0x00000002 , 0x0000003e 
+ 00017013  0x00000ed1 rtn  0x00000005 
+ 00017014  0x00000ed2 branch  0x00004262 
+ 00017015  0x00000ed5 bbit0  0x00000001 , 0x00004262 
+ 00017016  0x00000ed7 call  0x000042af 
+ 00017017  0x00000ed8 call  0x00004293 
+ 00017018  0x00000ed9 isub  0x00000002 , 0x0000003f 
+ 00017019  0x00000eda increase  0x00000001 , 0x0000003f 
+ 00017020  0x00000edb branch  0x0000428d , 0x00000002 
+ 00017021  0x00000edc copy  0x00000006 , 0x00000012 
+ 00017022  0x00000edd store  0x00000009 , 0x00000a9e 
+ 00017023  0x00000ede fetch  0x00000001 , 0x00004492 
+ 00017024  0x00000edf nbranch  0x00004285 , 0x00000034 
+ 00017025  0x00000ee0 fetch  0x00000009 , 0x00000a9e 
+ 00017026  0x00000ee1 copy  0x00000012 , 0x00000006 
+ 00017027  0x00000ee2 increase  0x00000005 , 0x0000003f 
+ 00017028  0x00000ee3 branch  0x00004288 
+ 00017029  0x00000ee5 fetch  0x00000009 , 0x00000a9e 
+ 00017030  0x00000ee6 copy  0x00000012 , 0x00000006 
+ 00017031  0x00000ee7 increase  0x00000014 , 0x0000003f 
+ 00017032  0x00000ee9 nbranch  0x00004262 , 0x00000002 
+ 00017033  0x00000eeb copy  0x00000002 , 0x00000021 
+ 00017034  0x00000eec call  0x000042bb 
+ 00017035  0x00000eed force  0x00000000 , 0x0000003e 
+ 00017036  0x00000eee rtn 
+ 00017037  0x00000ef2 iforce  0x00000012 
+ 00017038  0x00000ef3 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00017039  0x00000ef4 ifetch  0x00000002 , 0x00000006 
+ 00017040  0x00000ef5 branch  0x00004289 , 0x00000034 
+ 00017041  0x00000ef6 call  0x000042bb 
+ 00017042  0x00000ef7 branch  0x00004278 
+ 00017043  0x00000efa rshift16  0x0000003f , 0x0000000b 
+ 00017044  0x00000efb rshift8  0x0000000b , 0x0000000b 
+ 00017045  0x00000efc branch  0x0000429d , 0x00000005 
+ 00017046  0x00000efd compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00017047  0x00000efe nrtn  0x00000001 
+ 00017048  0x00000eff rshift16  0x00000002 , 0x0000000b 
+ 00017049  0x00000f00 rshift8  0x0000000b , 0x0000000b 
+ 00017050  0x00000f01 nrtn  0x00000005 
+ 00017051  0x00000f02 set1  0x0000001c , 0x00000002 
+ 00017052  0x00000f03 rtn 
+ 00017053  0x00000f05 rshift16  0x00000002 , 0x0000000b 
+ 00017054  0x00000f06 rshift8  0x0000000b , 0x0000000b 
+ 00017055  0x00000f07 compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00017056  0x00000f08 nrtn  0x00000001 
+ 00017057  0x00000f09 set1  0x0000001c , 0x0000003f 
+ 00017058  0x00000f0a rtn 
+ 00017059  0x00000f0d bbit0  0x00000000 , 0x00004262 
+ 00017060  0x00000f0e force  0x00000000 , 0x0000003e 
+ 00017061  0x00000f0f rtn 
+ 00017062  0x00000f12 bbit0  0x00000000 , 0x00004262 
+ 00017063  0x00000f13 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00017064  0x00000f14 ifetch  0x00000001 , 0x00000006 
+ 00017065  0x00000f15 bbit1  0x00000000 , 0x00004262 
+ 00017066  0x00000f16 add  0x00000011 , 0x00000017 , 0x00000006 
+ 00017067  0x00000f17 ifetch  0x00000001 , 0x00000006 
+ 00017068  0x00000f18 bbit0  0x00000003 , 0x00004262 
+ 00017069  0x00000f19 force  0x00000000 , 0x0000003e 
+ 00017070  0x00000f1a rtn 
+ 00017071  0x00000f1d add  0x00000011 , 0x00000001 , 0x00000006 
+ 00017072  0x00000f1e ifetcht  0x00000001 , 0x00000006 
+ 00017073  0x00000f1f deposit  0x00000022 
+ 00017074  0x00000f20 isolate1  0x00000001 , 0x00000002 
+ 00017075  0x00000f21 add  0x00000011 , 0x00000004 , 0x00000006 
+ 00017076  0x00000f22 ifetcht  0x00000004 , 0x00000006 
+ 00017077  0x00000f23 rtn  0x00000001 
+ 00017078  0x00000f24 add  0x00000011 , 0x00000008 , 0x00000006 
+ 00017079  0x00000f25 ifetch  0x00000006 , 0x00000006 
+ 00017080  0x00000f26 call  0x00004850 
+ 00017081  0x00000f27 deposit  0x00000028 
+ 00017082  0x00000f28 rtn 
+ 00017083  0x00000f2b add  0x00000011 , 0x00000002 , 0x00000006 
+ 00017084  0x00000f2c add  0x00000011 , 0x00000004 , 0x00000005 
+ 00017085  0x00000f2d ifetch  0x00000002 , 0x00000006 
+ 00017086  0x00000f2e iadd  0x00000002 , 0x0000000b 
+ 00017087  0x00000f2f deposit  0x0000000b 
+ 00017088  0x00000f30 istore  0x00000004 , 0x00000005 
+ 00017089  0x00000f31 branch  0x00005823 
+ 00017090  0x00000f35 bbit0  0x00000001 , 0x00004262 
+ 00017091  0x00000f36 call  0x000042af 
+ 00017092  0x00000f37 iadd  0x0000001b , 0x0000003f 
+ 00017093  0x00000f38 iadd  0x0000001b , 0x0000003f 
+ 00017094  0x00000f39 iadd  0x00000007 , 0x0000003f 
+ 00017095  0x00000f3a isub  0x00000002 , 0x0000003e 
+ 00017096  0x00000f3b nbranch  0x00004262 , 0x00000002 
+ 00017097  0x00000f3c force  0x00000000 , 0x0000003e 
+ 00017098  0x00000f3d rtn 
+ 00017099  0x00000f40 bbit0  0x00000000 , 0x00004262 
+ 00017100  0x00000f41 deposit  0x00000002 
+ 00017101  0x00000f42 isub  0x00000011 , 0x0000003e 
+ 00017102  0x00000f43 branch  0x00004262 , 0x0000003e 
+ 00017103  0x00000f44 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00017104  0x00000f45 ifetch  0x00000001 , 0x00000006 
+ 00017105  0x00000f46 bbit1  0x00000000 , 0x00004262 
+ 00017106  0x00000f47 ifetch  0x00000001 , 0x00000011 
+ 00017107  0x00000f48 set0  0x00000007 , 0x0000003f 
+ 00017108  0x00000f49 istore  0x00000001 , 0x00000011 
+ 00017109  0x00000f4a branch  0x00004262 
+ 00017110  0x00000f4e bpatch  0x0000002f , 0x00004005 
+ 00017111  0x00000f4f call  0x00004a4e 
+ 00017112  0x00000f51 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00017113  0x00000f52 call  0x000048de 
+ 00017114  0x00000f53 force  0x00000003 , 0x00000024 
+ 00017115  0x00000f54 call  0x000048ce 
+ 00017116  0x00000f55 call  0x00004a50 
+ 00017117  0x00000f56 call  0x00004a55 
+ 00017118  0x00000f57 call  0x00004a63 
+ 00017119  0x00000f58 branch  0x0000475e 
+ 00017120  0x00000f5b bpatch  0x00000030 , 0x00004006 
+ 00017121  0x00000f5c call  0x00004a4c 
+ 00017122  0x00000f5e add  0x00000022 , 0x00000001 , 0x00000021 
+ 00017123  0x00000f5f call  0x000048de 
+ 00017124  0x00000f60 force  0x00000003 , 0x00000024 
+ 00017125  0x00000f61 call  0x000048c8 
+ 00017126  0x00000f62 call  0x00004426 
+ 00017127  0x00000f63 call  0x000049f0 
+ 00017128  0x00000f64 call  0x00004a5a 
+ 00017129  0x00000f65 call  0x000049ea 
+ 00017130  0x00000f67 call  0x00004a0c 
+ 00017131  0x00000f68 nrtn  0x00000018 
+ 00017132  0x00000f69 call  0x000049ba 
+ 00017133  0x00000f6a branch  0x00004518 
+ 00017134  0x00000f6f bpatch  0x00000031 , 0x00004006 
+ 00017135  0x00000f70 fetch  0x00000001 , 0x0000017f 
+ 00017136  0x00000f71 iforce  0x00000004 
+ 00017137  0x00000f72 force  0x00000001 , 0x00000001 
+ 00017138  0x00000f73 call  0x000042d6 
+ 00017139  0x00000f74 branch  0x000042e0 
+ 00017140  0x00000f80 fetch  0x00000001 , 0x00004093 
+ 00017141  0x00000f81 rtnbit0  0x00000000 
+ 00017142  0x00000f82 force  0x00000004 , 0x00000007 
+ 00017143  0x00000f83 call  0x00007cf1 
+ 00017144  0x00000f84 nrtn  0x00000034 
+ 00017145  0x00000f85 fetcht  0x00000002 , 0x000040ad 
+ 00017146  0x00000f86 force  0x00000004 , 0x00000007 
+ 00017147  0x00000f87 call  0x00004718 
+ 00017148  0x00000f88 rtn  0x00000028 
+ 00017149  0x00000f89 call  0x00004304 
+ 00017150  0x00000f8a force  0x00000004 , 0x00000007 
+ 00017151  0x00000f8b fetch  0x00000002 , 0x000040af 
+ 00017152  0x00000f8c nbranch  0x00007ce3 , 0x00000018 
+ 00017153  0x00000f8d random  0x0000003f 
+ 00017154  0x00000f8e iand  0x00000035 , 0x0000003f 
+ 00017155  0x00000f8f branch  0x00007ce3 
+ 00017156  0x00000f93 bpatch  0x00000032 , 0x00004006 
+ 00017157  0x00000f94 jam  0x00000000 , 0x0000017f 
+ 00017158  0x00000f95 disable  0x00000030 
+ 00017159  0x00000f96 disable  0x0000002e 
+ 00017160  0x00000f97 call  0x000048a0 
+ 00017161  0x00000f98 and  0x00000022 , 0x000001fc , 0x00000021 
+ 00017162  0x00000f99 force  0x00000001 , 0x00000024 
+ 00017163  0x00000f9a call  0x000048d4 
+ 00017164  0x00000f9b call  0x000048c8 
+ 00017165  0x00000f9c setflip  0x0000001d , 0x00000000 
+ 00017166  0x00000f9d fetch  0x00000001 , 0x00000006 
+ 00017167  0x00000f9e increase  0x00000001 , 0x0000003f 
+ 00017168  0x00000f9f store  0x00000001 , 0x00000006 
+ 00017169  0x00000fa0 call  0x000048ee 
+ 00017170  0x00000fa1 call  0x000049ea 
+ 00017171  0x00000fa2 call  0x00004a13 
+ 00017172  0x00000fa3 nrtn  0x00000018 
+ 00017173  0x00000fa4 bpatch  0x00000033 , 0x00004006 
+ 00017174  0x00000fa5 force  0x00000000 , 0x0000001b 
+ 00017175  0x00000fa6 call  0x000048f5 
+ 00017176  0x00000fa7 fetch  0x00000001 , 0x00000007 
+ 00017177  0x00000fa8 increase  0x00000001 , 0x0000003f 
+ 00017178  0x00000fa9 store  0x00000001 , 0x00000007 
+ 00017179  0x00000faa call  0x000048d4 
+ 00017180  0x00000fab call  0x00004a4c 
+ 00017181  0x00000fac or_into  0x00000002 , 0x00000021 
+ 00017182  0x00000fad force  0x00000001 , 0x00000024 
+ 00017183  0x00000fae call  0x000048ce 
+ 00017184  0x00000faf call  0x000048ee 
+ 00017185  0x00000fb0 call  0x00004a50 
+ 00017186  0x00000fb1 call  0x00004a5e 
+ 00017187  0x00000fb2 deposit  0x00000022 
+ 00017188  0x00000fb3 store  0x00000004 , 0x0000015f 
+ 00017189  0x00000fb4 call  0x00004a63 
+ 00017190  0x00000fb5 force  0x00000002 , 0x00000001 
+ 00017191  0x00000fb6 force  0x00000000 , 0x00000004 
+ 00017192  0x00000fb7 call  0x00004a6a 
+ 00017193  0x00000fb8 call  0x00004762 
+ 00017194  0x00000fb9 call  0x0000432e 
+ 00017195  0x00000fba and_into  0x000001fd , 0x00000021 
+ 00017196  0x00000fbb increase  0x00000001 , 0x00000026 
+ 00017197  0x00000fbc rtn 
+ 00017198  0x00000fbf bpatch  0x00000034 , 0x00004006 
+ 00017199  0x00000fc0 fetch  0x00000001 , 0x000040d1 
+ 00017200  0x00000fc1 rtn  0x00000034 
+ 00017201  0x00000fc2 arg  0x0000018c , 0x00000005 
+ 00017202  0x00000fc3 fetch  0x00000001 , 0x000044e7 
+ 00017203  0x00000fc4 copy  0x0000003f , 0x00000039 
+ 00017204  0x00000fc5 increase  0x00000001 , 0x0000003f 
+ 00017205  0x00000fc6 istore  0x00000001 , 0x00000005 
+ 00017206  0x00000fc7 copy  0x00000005 , 0x00000002 
+ 00017207  0x00000fc8 increase  0x00000001 , 0x0000003f 
+ 00017208  0x00000fc9 store  0x00000002 , 0x000041dd 
+ 00017209  0x00000fca copy  0x00000002 , 0x00000005 
+ 00017210  0x00000fcb setarg  0x00000009 
+ 00017211  0x00000fcc istore  0x00000001 , 0x00000005 
+ 00017212  0x00000fcd arg  0x000044e8 , 0x00000006 
+ 00017213  0x00000fce call  0x00007cdc 
+ 00017214  0x00000fd0 arg  0x0000455f , 0x00000013 
+ 00017215  0x00000fd1 arg  0x00000004 , 0x00000039 
+ 00017216  0x00000fd2 call  0x00004350 
+ 00017217  0x00000fd3 arg  0x00004549 , 0x00000013 
+ 00017218  0x00000fd4 arg  0x00000001 , 0x00000039 
+ 00017219  0x00000fd5 call  0x00004350 
+ 00017220  0x00000fd7 force  0x0000000a , 0x00000001 
+ 00017221  0x00000fd8 jam  0x00000002 , 0x000041dc 
+ 00017222  0x00000fd9 setarg  0x0000018c 
+ 00017223  0x00000fda store  0x00000002 , 0x0000016d 
+ 00017224  0x00000fdb call  0x00004a4c 
+ 00017225  0x00000fdc call  0x000048ce 
+ 00017226  0x00000fdd call  0x00004a50 
+ 00017227  0x00000fde call  0x00004a5e 
+ 00017228  0x00000fdf call  0x00004a63 
+ 00017229  0x00000fe0 call  0x00004a6a 
+ 00017230  0x00000fe1 call  0x00004762 
+ 00017231  0x00000fe2 rtn 
+ 00017232  0x00000fe6 copy  0x00000005 , 0x00000002 
+ 00017233  0x00000fe7 copy  0x00000013 , 0x00000006 
+ 00017234  0x00000fe8 ifetch  0x00000001 , 0x00000006 
+ 00017235  0x00000fe9 rtn  0x00000034 
+ 00017236  0x00000feb lshift  0x0000003f , 0x0000003f 
+ 00017237  0x00000fec loop  0x00004354 
+ 00017238  0x00000fed copy  0x0000003f , 0x00000011 
+ 00017239  0x00000fee increase  0x00000002 , 0x0000003f 
+ 00017240  0x00000fef copy  0x0000003f , 0x00000007 
+ 00017241  0x00000ff0 fetch  0x00000002 , 0x000041dd 
+ 00017242  0x00000ff1 iadd  0x00000007 , 0x0000003f 
+ 00017243  0x00000ff2 store  0x00000002 , 0x000041dd 
+ 00017244  0x00000ff3 copy  0x00000002 , 0x00000005 
+ 00017245  0x00000ff4 copy  0x00000011 , 0x0000003f 
+ 00017246  0x00000ff5 increase  0x00000001 , 0x0000003f 
+ 00017247  0x00000ff6 istore  0x00000001 , 0x00000005 
+ 00017248  0x00000ff7 copy  0x00000013 , 0x00000006 
+ 00017249  0x00000ff8 ifetch  0x00000001 , 0x00000006 
+ 00017250  0x00000ff9 ifetch  0x00000001 , 0x00000006 
+ 00017251  0x00000ffa istore  0x00000001 , 0x00000005 
+ 00017252  0x00000ffb copy  0x00000011 , 0x00000039 
+ 00017253  0x00000ffc branch  0x00007cdc 
+ 00017254  0x00001003 fetch  0x00000001 , 0x00004093 
+ 00017255  0x00001004 rtnbit0  0x00000001 
+ 00017256  0x00001005 force  0x00000005 , 0x00000007 
+ 00017257  0x00001006 call  0x00007cf1 
+ 00017258  0x00001007 nrtn  0x00000034 
+ 00017259  0x00001008 fetcht  0x00000002 , 0x000040b1 
+ 00017260  0x00001009 force  0x00000028 , 0x00000007 
+ 00017261  0x0000100a call  0x00004718 
+ 00017262  0x0000100b rtn  0x00000028 
+ 00017263  0x0000100c force  0x00000000 , 0x00000004 
+ 00017264  0x0000100d jam  0x00000008 , 0x00000010 
+ 00017265  0x0000100e set0  0x0000000b , 0x00000000 
+ 00017266  0x0000100f call  0x00004376 
+ 00017267  0x00001010 force  0x00000005 , 0x00000007 
+ 00017268  0x00001011 fetch  0x00000002 , 0x000040b3 
+ 00017269  0x00001012 branch  0x00007ce3 
+ 00017270  0x00001016 bpatch  0x00000035 , 0x00004006 
+ 00017271  0x00001017 disable  0x00000030 
+ 00017272  0x00001018 call  0x000048a0 
+ 00017273  0x00001019 fetch  0x00000001 , 0x00000008 
+ 00017274  0x0000101a increase  0x00000001 , 0x0000003f 
+ 00017275  0x0000101b store  0x00000001 , 0x00000008 
+ 00017276  0x0000101c force  0x00000000 , 0x00000026 
+ 00017277  0x0000101d call  0x000048de 
+ 00017278  0x0000101e add  0x00000022 , 0x00000001 , 0x00000021 
+ 00017279  0x0000101f force  0x00000002 , 0x00000024 
+ 00017280  0x00001020 bpatch  0x00000036 , 0x00004006 
+ 00017281  0x00001021 call  0x000048c8 
+ 00017282  0x00001022 call  0x000049ea 
+ 00017283  0x00001023 call  0x00004a13 
+ 00017284  0x00001024 nrtn  0x00000018 
+ 00017285  0x00001025 call  0x000048f5 
+ 00017286  0x00001026 fetch  0x00000001 , 0x00000009 
+ 00017287  0x00001027 increase  0x00000001 , 0x0000003f 
+ 00017288  0x00001028 store  0x00000001 , 0x00000009 
+ 00017289  0x00001029 force  0x00000000 , 0x0000001b 
+ 00017290  0x0000102a call  0x00004a4c 
+ 00017291  0x0000102b or_into  0x00000002 , 0x00000021 
+ 00017292  0x0000102c force  0x00000001 , 0x00000024 
+ 00017293  0x0000102d call  0x000048ce 
+ 00017294  0x0000102e call  0x00004a50 
+ 00017295  0x0000102f call  0x00004a5e 
+ 00017296  0x00001030 call  0x00004a63 
+ 00017297  0x00001031 call  0x00004649 
+ 00017298  0x00001032 force  0x00000000 , 0x00000004 
+ 00017299  0x00001033 arg  0x00000600 , 0x0000000b 
+ 00017300  0x00001034 until  0x00000029 , 0x00000026 
+ 00017301  0x00001035 or_into  0x00000003 , 0x00000028 
+ 00017302  0x00001036 and_into  0x000001fd , 0x00000021 
+ 00017303  0x00001038 bpatch  0x00000037 , 0x00004006 
+ 00017304  0x00001039 increase  0x00000001 , 0x00000026 
+ 00017305  0x0000103a call  0x000048c8 
+ 00017306  0x0000103b call  0x000049ea 
+ 00017307  0x0000103c call  0x00004a06 
+ 00017308  0x0000103d nbranch  0x000043a0 , 0x00000018 
+ 00017309  0x0000103e call  0x00004a6a 
+ 00017310  0x0000103f call  0x0000451a 
+ 00017311  0x00001040 bmark1  0x0000000b , 0x000043a7 
+ 00017312  0x00001042 bpatch  0x00000038 , 0x00004007 
+ 00017313  0x00001043 fetch  0x00000001 , 0x00000010 
+ 00017314  0x00001044 rtn  0x00000034 
+ 00017315  0x00001045 increase  0xffffffff , 0x0000003f 
+ 00017316  0x00001046 store  0x00000001 , 0x00000010 
+ 00017317  0x00001047 call  0x00004a4e 
+ 00017318  0x00001048 branch  0x00004397 
+ 00017319  0x0000104c bpatch  0x00000039 , 0x00004007 
+ 00017320  0x0000104d set0  0x00000001 , 0x00000028 
+ 00017321  0x0000104e set1  0x00000000 , 0x00000028 
+ 00017322  0x0000104f fetch  0x00000001 , 0x0000000a 
+ 00017323  0x00001050 increase  0x00000001 , 0x0000003f 
+ 00017324  0x00001051 store  0x00000001 , 0x0000000a 
+ 00017325  0x00001052 call  0x00004a4c 
+ 00017326  0x00001053 or_into  0x00000002 , 0x00000021 
+ 00017327  0x00001054 call  0x000048ce 
+ 00017328  0x00001055 call  0x00004a50 
+ 00017329  0x00001056 call  0x00004a5e 
+ 00017330  0x00001057 call  0x00004a63 
+ 00017331  0x00001058 call  0x00004649 
+ 00017332  0x0000105a compare  0x00000003 , 0x00000028 , 0x00000003 
+ 00017333  0x0000105b branch  0x000043b8 , 0x00000001 
+ 00017334  0x0000105c until  0x0000003e , 0x00000017 
+ 00017335  0x0000105d branch  0x000043b4 
+ 00017336  0x0000105f fetch  0x00000004 , 0x00000163 
+ 00017337  0x00001060 or_into  0x00000003 , 0x0000003f 
+ 00017338  0x00001061 icopy  0x00000028 
+ 00017339  0x00001064 bpatch  0x0000003a , 0x00004007 
+ 00017340  0x00001065 fetch  0x00000006 , 0x00000176 
+ 00017341  0x00001066 store  0x00000006 , 0x00000040 
+ 00017342  0x00001067 call  0x00004431 
+ 00017343  0x00001069 call  0x00004478 
+ 00017344  0x0000106a branch  0x000043c4 , 0x0000002d 
+ 00017345  0x0000106b call  0x00004451 
+ 00017346  0x0000106c nbranch  0x000043bf , 0x00000034 
+ 00017347  0x0000106d rtn 
+ 00017348  0x00001071 bpatch  0x0000003b , 0x00004007 
+ 00017349  0x00001072 call  0x0000443c 
+ 00017350  0x00001073 call  0x00004237 
+ 00017351  0x00001074 nrtn  0x00000005 
+ 00017352  0x00001075 jam  0x00000000 , 0x00000031 
+ 00017353  0x00001076 call  0x0000483d 
+ 00017354  0x00001077 branch  0x0000421f 
+ 00017355  0x0000107d bpatch  0x0000003c , 0x00004007 
+ 00017356  0x0000107e call  0x0000484c 
+ 00017357  0x0000107f call  0x000043ef 
+ 00017358  0x00001080 rtn  0x00000028 
+ 00017359  0x00001082 bpatch  0x0000003d , 0x00004007 
+ 00017360  0x00001083 call  0x00004c24 
+ 00017361  0x00001084 call  0x00006b69 
+ 00017362  0x00001085 call  0x00004510 
+ 00017363  0x00001086 nbranch  0x000043de , 0x0000002d 
+ 00017364  0x00001087 call  0x00004a87 
+ 00017365  0x00001088 call  0x00006b81 
+ 00017366  0x00001089 call  0x00004485 
+ 00017367  0x0000108a call  0x00004753 
+ 00017368  0x0000108b call  0x00004724 
+ 00017369  0x0000108c call  0x000060e9 
+ 00017370  0x0000108d fetch  0x00000001 , 0x0000000b 
+ 00017371  0x0000108e increase  0x00000001 , 0x0000003f 
+ 00017372  0x0000108f store  0x00000001 , 0x0000000b 
+ 00017373  0x00001090 call  0x0000483d 
+ 00017374  0x00001092 bpatch  0x0000003e , 0x00004007 
+ 00017375  0x00001093 call  0x00004b86 
+ 00017376  0x00001094 call  0x00004a7e 
+ 00017377  0x00001095 branch  0x000043e7 , 0x00000002 
+ 00017378  0x00001096 call  0x000041a3 
+ 00017379  0x00001097 nbranch  0x000043e7 , 0x00000028 
+ 00017380  0x00001098 call  0x000046ef 
+ 00017381  0x00001099 nbranch  0x000043cf , 0x00000034 
+ 00017382  0x0000109a rtn 
+ 00017383  0x0000109d bpatch  0x0000003f , 0x00004007 
+ 00017384  0x0000109e jam  0x00000000 , 0x0000014f 
+ 00017385  0x0000109f jam  0x00000000 , 0x0000017d 
+ 00017386  0x000010a0 call  0x00004459 
+ 00017387  0x000010a1 set0  0x00000011 , 0x00000000 
+ 00017388  0x000010a2 call  0x00007d8c 
+ 00017389  0x000010a3 fetch  0x00000001 , 0x00000030 
+ 00017390  0x000010a4 rtn 
+ 00017391  0x000010a8 bpatch  0x00000040 , 0x00004008 
+ 00017392  0x000010a9 call  0x000041c5 
+ 00017393  0x000010aa nrtn  0x00000028 
+ 00017394  0x000010ab copy  0x00000004 , 0x00000002 
+ 00017395  0x000010ac call  0x00004a6e 
+ 00017396  0x000010ad store  0x00000001 , 0x0000017f 
+ 00017397  0x000010ae copy  0x00000002 , 0x00000004 
+ 00017398  0x000010af jam  0x00000020 , 0x00000011 
+ 00017399  0x000010b1 bpatch  0x00000041 , 0x00004008 
+ 00017400  0x000010b2 call  0x00004a4e 
+ 00017401  0x000010b3 force  0x00000002 , 0x00000001 
+ 00017402  0x000010b4 call  0x0000474b 
+ 00017403  0x000010b5 deposit  0x00000022 
+ 00017404  0x000010b6 store  0x00000004 , 0x0000015f 
+ 00017405  0x000010b7 call  0x0000475e 
+ 00017406  0x000010b8 call  0x00004a4c 
+ 00017407  0x000010b9 enable  0x0000002f 
+ 00017408  0x000010ba call  0x000044f2 
+ 00017409  0x000010bb branch  0x00004409 , 0x00000018 
+ 00017410  0x000010bc call  0x000048f5 
+ 00017411  0x000010bd call  0x00004451 
+ 00017412  0x000010be nbranch  0x000043f7 , 0x00000034 
+ 00017413  0x000010bf rtnmark0  0x00000004 
+ 00017414  0x000010c0 jam  0x00000034 , 0x0000007c 
+ 00017415  0x000010c1 set1  0x00000003 , 0x00000000 
+ 00017416  0x000010c2 rtn 
+ 00017417  0x000010c4 enable  0x00000030 
+ 00017418  0x000010c5 call  0x00004431 
+ 00017419  0x000010c6 call  0x000048a0 
+ 00017420  0x000010c8 bpatch  0x00000042 , 0x00004008 
+ 00017421  0x000010c9 call  0x000042ee 
+ 00017422  0x000010ca branch  0x00004415 , 0x00000018 
+ 00017423  0x000010cb call  0x00004451 
+ 00017424  0x000010cc nbranch  0x0000440c , 0x00000034 
+ 00017425  0x000010cd disable  0x00000030 
+ 00017426  0x000010ce deposit  0x00000028 
+ 00017427  0x000010cf store  0x00000004 , 0x000040ca 
+ 00017428  0x000010d0 rtn 
+ 00017429  0x000010d2 enable  0x00000029 
+ 00017430  0x000010d3 bmark0  0x00000004 , 0x0000441b 
+ 00017431  0x000010d4 set0  0x00000004 , 0x00000000 
+ 00017432  0x000010d5 jam  0x00000003 , 0x0000007c 
+ 00017433  0x000010d6 jam  0x00000033 , 0x0000007d 
+ 00017434  0x000010d7 call  0x000066da 
+ 00017435  0x000010d9 deposit  0x00000004 
+ 00017436  0x000010da store  0x00000001 , 0x00000077 
+ 00017437  0x000010db force  0x00000000 , 0x0000003f 
+ 00017438  0x000010dc store  0x00000006 , 0x00000038 
+ 00017439  0x000010dd fetch  0x00000001 , 0x00000031 
+ 00017440  0x000010de set1  0x00000001 , 0x0000003f 
+ 00017441  0x000010df store  0x00000001 , 0x00000031 
+ 00017442  0x000010e0 call  0x00004a87 
+ 00017443  0x000010e1 disable  0x00000029 
+ 00017444  0x000010e2 enable  0x00000028 
+ 00017445  0x000010e3 rtn 
+ 00017446  0x000010e8 bpatch  0x00000043 , 0x00004008 
+ 00017447  0x000010e9 disable  0x0000002d 
+ 00017448  0x000010ea set0  0x00000005 , 0x00000000 
+ 00017449  0x000010eb set0  0x0000000a , 0x00000000 
+ 00017450  0x000010ec set0  0x00000010 , 0x00000000 
+ 00017451  0x000010ed set0  0x0000000f , 0x00000000 
+ 00017452  0x000010ee fetch  0x00000001 , 0x00000047 
+ 00017453  0x000010ef set0  0x00000005 , 0x0000003f 
+ 00017454  0x000010f0 set1  0x00000004 , 0x0000003f 
+ 00017455  0x000010f1 store  0x00000001 , 0x00000047 
+ 00017456  0x000010f2 rtn 
+ 00017457  0x000010f5 bpatch  0x00000044 , 0x00004008 
+ 00017458  0x000010f6 jam  0x00000020 , 0x00000011 
+ 00017459  0x000010f7 jam  0x00000050 , 0x00000047 
+ 00017460  0x000010f8 fetch  0x00000002 , 0x000040bf 
+ 00017461  0x000010f9 store  0x00000002 , 0x0000003e 
+ 00017462  0x000010fa deposit  0x00000022 
+ 00017463  0x000010fb store  0x00000004 , 0x000040ca 
+ 00017464  0x000010fc rtn  0x00000030 
+ 00017465  0x000010fd deposit  0x00000028 
+ 00017466  0x000010fe store  0x00000004 , 0x000040ca 
+ 00017467  0x000010ff rtn 
+ 00017468  0x00001102 bpatch  0x00000045 , 0x00004008 
+ 00017469  0x00001103 call  0x000060e5 
+ 00017470  0x00001104 call  0x00004455 
+ 00017471  0x00001105 store  0x00000001 , 0x00000046 
+ 00017472  0x00001106 setarg  0x00000000 
+ 00017473  0x00001107 store  0x00000002 , 0x00000259 
+ 00017474  0x00001108 setarg  0x00001c80 
+ 00017475  0x00001109 store  0x00000002 , 0x00000051 
+ 00017476  0x0000110a fetch  0x00000001 , 0x00000030 
+ 00017477  0x0000110b set1  0x00000000 , 0x0000003f 
+ 00017478  0x0000110c store  0x00000001 , 0x00000030 
+ 00017479  0x0000110d jam  0x00000000 , 0x0000004b 
+ 00017480  0x0000110e jam  0x00000000 , 0x0000004c 
+ 00017481  0x0000110f jam  0x00000000 , 0x000000a0 
+ 00017482  0x00001110 branch  0x00004a87 
+ 00017483  0x00001114 bpatch  0x00000046 , 0x00004008 
+ 00017484  0x00001115 force  0x00000000 , 0x0000003f 
+ 00017485  0x00001116 store  0x00000008 , 0x000041bf 
+ 00017486  0x00001117 istore  0x00000008 , 0x00000005 
+ 00017487  0x00001118 call  0x000041c1 
+ 00017488  0x00001119 branch  0x00004250 
+ 00017489  0x0000111c fetch  0x00000001 , 0x00000011 
+ 00017490  0x0000111d increase  0xffffffff , 0x0000003f 
+ 00017491  0x0000111e store  0x00000001 , 0x00000011 
+ 00017492  0x0000111f rtn 
+ 00017493  0x00001122 fetch  0x00000001 , 0x000040cf 
+ 00017494  0x00001123 increase  0x00000001 , 0x0000003f 
+ 00017495  0x00001124 store  0x00000001 , 0x000040cf 
+ 00017496  0x00001125 rtn 
+ 00017497  0x00001129 bpatch  0x00000047 , 0x00004008 
+ 00017498  0x0000112a fetch  0x00000001 , 0x000041cf 
+ 00017499  0x0000112b beq  0x00000003 , 0x0000445e 
+ 00017500  0x0000112c fetch  0x00000001 , 0x00000048 
+ 00017501  0x0000112d bne  0x00000001 , 0x00004462 
+ 00017502  0x0000112f call  0x000050ec 
+ 00017503  0x00001130 nbranch  0x00004462 , 0x00000005 
+ 00017504  0x00001131 call  0x000041a0 
+ 00017505  0x00001132 jam  0x00000000 , 0x000041cf 
+ 00017506  0x00001134 bpatch  0x00000048 , 0x00004009 
+ 00017507  0x00001135 call  0x00004d3a 
+ 00017508  0x00001136 call  0x000046e5 
+ 00017509  0x00001137 jam  0x00000002 , 0x00000a95 
+ 00017510  0x00001138 call  0x00007bab 
+ 00017511  0x00001139 call  0x000060d8 
+ 00017512  0x0000113a call  0x00005145 
+ 00017513  0x0000113b call  0x00007432 
+ 00017514  0x0000113c fetch  0x00000001 , 0x00000030 
+ 00017515  0x0000113d set0  0x00000000 
+ 00017516  0x0000113e store  0x00000001 , 0x00000030 
+ 00017517  0x0000113f jam  0x00000000 , 0x00004651 
+ 00017518  0x00001141 fetch  0x00000001 , 0x0000004c 
+ 00017519  0x00001142 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00017520  0x00001143 branch  0x00004472 , 0x00000001 
+ 00017521  0x00001144 set0  0x00000001 , 0x00000000 
+ 00017522  0x00001146 fetch  0x00000001 , 0x00000047 
+ 00017523  0x00001147 bbit0  0x00000003 , 0x00004474 
+ 00017524  0x00001149 fetch  0x00000001 , 0x0000004b 
+ 00017525  0x0000114a rtnbit0  0x00000006 
+ 00017526  0x0000114b set0  0x00000002 , 0x00000000 
+ 00017527  0x0000114c rtn 
+ 00017528  0x0000114f bpatch  0x00000049 , 0x00004009 
+ 00017529  0x00001150 fetch  0x00000001 , 0x00000172 
+ 00017530  0x00001151 rtn  0x00000034 
+ 00017531  0x00001152 icopy  0x00000004 
+ 00017532  0x00001153 call  0x00004510 
+ 00017533  0x00001154 nrtn  0x0000002d 
+ 00017534  0x00001155 force  0x00000000 , 0x00000001 
+ 00017535  0x00001156 call  0x00004753 
+ 00017536  0x00001157 deposit  0x00000004 
+ 00017537  0x00001158 store  0x00000001 , 0x00000077 
+ 00017538  0x00001159 force  0x00000000 , 0x0000003f 
+ 00017539  0x0000115a store  0x00000001 , 0x00000172 
+ 00017540  0x0000115b rtn 
+ 00017541  0x00001162 bpatch  0x0000004a , 0x00004009 
+ 00017542  0x00001163 fetch  0x00000001 , 0x00000030 
+ 00017543  0x00001164 bbit0  0x00000002 , 0x00004492 
+ 00017544  0x00001165 force  0x00000007 , 0x00000001 
+ 00017545  0x00001166 bmark0  0x00000007 , 0x00004491 
+ 00017546  0x00001167 call  0x00004721 
+ 00017547  0x00001168 nbranch  0x00004492 , 0x00000001 
+ 00017548  0x00001169 branch  0x00004492 , 0x0000002e 
+ 00017549  0x0000116a call  0x000044bd 
+ 00017550  0x0000116b setarg  0x00000002 
+ 00017551  0x0000116c store  0x00000002 , 0x000040c8 
+ 00017552  0x0000116d rtn 
+ 00017553  0x0000116f nrtn  0x0000002e 
+ 00017554  0x00001171 bpatch  0x0000004b , 0x00004009 
+ 00017555  0x00001172 call  0x0000423f 
+ 00017556  0x00001173 nbranch  0x000044a3 , 0x00000005 
+ 00017557  0x00001174 fetch  0x00000001 , 0x00000047 
+ 00017558  0x00001175 bbit0  0x00000003 , 0x000044ac 
+ 00017559  0x00001177 bmark1  0x00000005 , 0x000044b0 
+ 00017560  0x00001178 fetch  0x00000001 , 0x0000017d 
+ 00017561  0x00001179 bbit1  0x00000006 , 0x000044b6 
+ 00017562  0x0000117a fetch  0x00000002 , 0x000040c8 
+ 00017563  0x0000117b increase  0xffffffff , 0x0000003f 
+ 00017564  0x0000117c store  0x00000002 , 0x000040c8 
+ 00017565  0x0000117d branch  0x000044a1 , 0x00000034 
+ 00017566  0x0000117e fetch  0x00000001 , 0x000040c5 
+ 00017567  0x0000117f iforce  0x00000001 
+ 00017568  0x00001180 rtn 
+ 00017569  0x00001183 bpatch  0x0000004c , 0x00004009 
+ 00017570  0x00001184 call  0x00004683 
+ 00017571  0x00001186 call  0x00004721 
+ 00017572  0x00001187 branch  0x000044ac , 0x00000001 
+ 00017573  0x00001188 call  0x000063ec 
+ 00017574  0x00001189 branch  0x000044ba , 0x00000028 
+ 00017575  0x0000118a fetch  0x00000001 , 0x0000004b 
+ 00017576  0x0000118b bbit1  0x00000006 , 0x000044bc 
+ 00017577  0x0000118c bmark1  0x00000005 , 0x000044b0 
+ 00017578  0x0000118d fetch  0x00000001 , 0x0000017d 
+ 00017579  0x0000118e bbit1  0x00000006 , 0x000044b6 
+ 00017580  0x00001190 force  0x00000001 , 0x00000001 
+ 00017581  0x00001191 rtn  0x00000029 
+ 00017582  0x00001192 force  0x00000000 , 0x00000001 
+ 00017583  0x00001193 rtn 
+ 00017584  0x00001195 bpatch  0x0000004d , 0x00004009 
+ 00017585  0x00001196 fetch  0x00000001 , 0x00000019 
+ 00017586  0x00001197 iforce  0x00000001 
+ 00017587  0x00001198 rtnne  0x00000001 
+ 00017588  0x00001199 force  0x00000000 , 0x00000001 
+ 00017589  0x0000119a rtn 
+ 00017590  0x0000119c fetch  0x00000001 , 0x00000156 
+ 00017591  0x0000119d and  0x0000003f , 0x0000000f , 0x00000001 
+ 00017592  0x0000119e set1  0x00000005 , 0x00000000 
+ 00017593  0x0000119f rtn 
+ 00017594  0x000011a1 force  0x00000013 , 0x00000001 
+ 00017595  0x000011a2 branch  0x000044bd 
+ 00017596  0x000011a4 call  0x000044c6 
+ 00017597  0x000011a7 bpatch  0x0000004e , 0x00004009 
+ 00017598  0x000011a8 fetcht  0x00000001 , 0x00000047 
+ 00017599  0x000011a9 set1  0x00000003 , 0x00000002 
+ 00017600  0x000011aa storet  0x00000001 , 0x00000047 
+ 00017601  0x000011ab deposit  0x00000001 
+ 00017602  0x000011ac store  0x00000001 , 0x000040c5 
+ 00017603  0x000011ad setarg  0x0000ffff 
+ 00017604  0x000011ae store  0x00000002 , 0x000040c8 
+ 00017605  0x000011af rtn 
+ 00017606  0x000011b2 bpatch  0x0000004f , 0x00004009 
+ 00017607  0x000011b3 fetch  0x00000001 , 0x0000004c 
+ 00017608  0x000011b4 isolate1  0x00000005 , 0x0000003f 
+ 00017609  0x000011b5 fetch  0x00000002 , 0x000041dd 
+ 00017610  0x000011b6 branch  0x000044dc , 0x00000001 
+ 00017611  0x000011b7 force  0x00000003 , 0x00000001 
+ 00017612  0x000011b8 sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00017613  0x000011b9 rtn  0x00000002 
+ 00017614  0x000011ba force  0x00000004 , 0x00000001 
+ 00017615  0x000011bb sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00017616  0x000011bc rtn  0x00000002 
+ 00017617  0x000011bd force  0x0000000a , 0x00000001 
+ 00017618  0x000011be sub  0x0000003f , 0x00000079 , 0x0000003e 
+ 00017619  0x000011bf rtn  0x00000002 
+ 00017620  0x000011c0 force  0x0000000b , 0x00000001 
+ 00017621  0x000011c1 sub  0x0000003f , 0x000000b7 , 0x0000003e 
+ 00017622  0x000011c2 rtn  0x00000002 
+ 00017623  0x000011c3 force  0x0000000e , 0x00000001 
+ 00017624  0x000011c4 sub  0x0000003f , 0x000000e0 , 0x0000003e 
+ 00017625  0x000011c5 rtn  0x00000002 
+ 00017626  0x000011c6 force  0x0000000f , 0x00000001 
+ 00017627  0x000011c7 rtn 
+ 00017628  0x000011c9 force  0x00000003 , 0x00000001 
+ 00017629  0x000011ca sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00017630  0x000011cb rtn  0x00000002 
+ 00017631  0x000011cc force  0x00000004 , 0x00000001 
+ 00017632  0x000011cd sub  0x0000003f , 0x00000036 , 0x0000003e 
+ 00017633  0x000011ce rtn  0x00000002 
+ 00017634  0x000011cf force  0x0000000a , 0x00000001 
+ 00017635  0x000011d0 arg  0x0000016f , 0x00000002 
+ 00017636  0x000011d1 isub  0x00000002 , 0x0000003e 
+ 00017637  0x000011d2 nrtn  0x00000002 
+ 00017638  0x000011d3 force  0x0000000e , 0x00000001 
+ 00017639  0x000011d4 arg  0x000002a7 , 0x00000002 
+ 00017640  0x000011d5 isub  0x00000002 , 0x0000003e 
+ 00017641  0x000011d6 nrtn  0x00000002 
+ 00017642  0x000011d7 force  0x0000000f , 0x00000001 
+ 00017643  0x000011d8 rtn 
+ 00017644  0x000011e2 fetch  0x00000001 , 0x00000030 
+ 00017645  0x000011e3 bbit0  0x00000001 , 0x000044f1 
+ 00017646  0x000011e4 fetch  0x00000002 , 0x00000032 
+ 00017647  0x000011e5 branch  0x000044f1 , 0x00000034 
+ 00017648  0x000011e6 nbranch  0x000044f3 , 0x0000002e 
+ 00017649  0x000011e8 call  0x00004a4e 
+ 00017650  0x000011ea add  0x00000028 , 0x00000001 , 0x00000021 
+ 00017651  0x000011ec enable  0x00000010 
+ 00017652  0x000011ed fetch  0x00000002 , 0x0000003e 
+ 00017653  0x000011ee rshift  0x0000003f , 0x0000003f 
+ 00017654  0x000011ef arg  0x00000500 , 0x00000002 
+ 00017655  0x000011f0 iadd  0x00000002 , 0x0000003f 
+ 00017656  0x000011f1 call  0x00004a23 
+ 00017657  0x000011f2 call  0x000048e6 
+ 00017658  0x000011f3 force  0x00000003 , 0x00000024 
+ 00017659  0x000011f4 call  0x000048c8 
+ 00017660  0x000011f5 call  0x00004426 
+ 00017661  0x000011f6 call  0x000049f0 
+ 00017662  0x000011f7 bpatch  0x00000050 , 0x0000400a 
+ 00017663  0x000011f8 fetch  0x00000002 , 0x0000003e 
+ 00017664  0x000011f9 rshift  0x0000003f , 0x0000003f 
+ 00017665  0x000011fa call  0x00004a23 
+ 00017666  0x000011fb call  0x000049ea 
+ 00017667  0x000011fc enable  0x0000000d 
+ 00017668  0x000011fd fetch  0x00000002 , 0x0000003e 
+ 00017669  0x000011fe arg  0x000003bb , 0x00000002 
+ 00017670  0x000011ff iadd  0x00000002 , 0x0000001b 
+ 00017671  0x00001200 correlate  0x0000003e , 0x00000003 
+ 00017672  0x00001201 copy  0x0000001a , 0x00000002 
+ 00017673  0x00001202 storet  0x00000006 , 0x0000009a 
+ 00017674  0x00001203 disable  0x0000000d 
+ 00017675  0x00001204 nrtn  0x00000018 
+ 00017676  0x00001205 arg  0x000003bb , 0x00000029 
+ 00017677  0x00001206 copy  0x00000021 , 0x00000028 
+ 00017678  0x00001207 branch  0x00004ae6 , 0x0000002b 
+ 00017679  0x00001208 rtn 
+ 00017680  0x0000120c bpatch  0x00000051 , 0x0000400a 
+ 00017681  0x0000120d call  0x000044ec 
+ 00017682  0x0000120e nbranch  0x000048f5 , 0x00000018 
+ 00017683  0x0000120f call  0x000049ba 
+ 00017684  0x00001210 bmark0  0x00000011 , 0x00004518 
+ 00017685  0x00001211 fetch  0x00000002 , 0x000000f4 
+ 00017686  0x00001212 increase  0x00000001 , 0x0000003f 
+ 00017687  0x00001213 store  0x00000002 , 0x000000f4 
+ 00017688  0x00001215 rshift  0x00000021 , 0x00000002 
+ 00017689  0x00001216 or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00017690  0x00001218 bpatch  0x00000052 , 0x0000400a 
+ 00017691  0x00001219 enable  0x00000007 
+ 00017692  0x0000121a enable  0x0000000a 
+ 00017693  0x0000121b enable  0x0000000b 
+ 00017694  0x0000121c parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017695  0x0000121d rshift8  0x0000000c , 0x0000003f 
+ 00017696  0x0000121e store  0x00000001 , 0x0000015b 
+ 00017697  0x0000121f parse  0x00000003 , 0x00000000 , 0x00000004 
+ 00017698  0x00001220 inject  0x00000000 , 0x00000007 
+ 00017699  0x00001221 copy  0x0000000c , 0x0000003f 
+ 00017700  0x00001222 store  0x00000001 , 0x00000019 
+ 00017701  0x00001223 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017702  0x00001224 rshift8  0x0000000c , 0x0000003f 
+ 00017703  0x00001225 store  0x00000001 , 0x0000015c 
+ 00017704  0x00001226 fetch  0x00000001 , 0x00000019 
+ 00017705  0x00001227 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00017706  0x00001228 branch  0x0000452f , 0x00000002 
+ 00017707  0x00001229 beq  0x00000007 , 0x0000452f 
+ 00017708  0x0000122a fetch  0x00000001 , 0x0000004c 
+ 00017709  0x0000122b isolate1  0x00000005 , 0x0000003f 
+ 00017710  0x0000122c setflag  0x00000001 , 0x00000001 , 0x00000015 
+ 00017711  0x0000122e bpatch  0x00000053 , 0x0000400a 
+ 00017712  0x0000122f parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00017713  0x00001230 disable  0x0000000b 
+ 00017714  0x00001231 disable  0x0000000a 
+ 00017715  0x00001232 branch  0x0000462d , 0x00000006 
+ 00017716  0x00001233 bmark0  0x00000011 , 0x00004538 
+ 00017717  0x00001234 fetch  0x00000002 , 0x000000f6 
+ 00017718  0x00001235 increase  0x00000001 , 0x0000003f 
+ 00017719  0x00001236 store  0x00000002 , 0x000000f6 
+ 00017720  0x00001238 bpatch  0x00000054 , 0x0000400a 
+ 00017721  0x00001239 fetch  0x00000001 , 0x0000015b 
+ 00017722  0x0000123a compare  0x00000000 , 0x0000003f , 0x00000007 
+ 00017723  0x0000123b setflag  0x00000001 , 0x0000000a , 0x00000000 
+ 00017724  0x0000123c branch  0x00004548 , 0x00000001 
+ 00017725  0x0000123d icompare  0x00000007 , 0x00000004 
+ 00017726  0x0000123e branch  0x00004547 , 0x00000001 
+ 00017727  0x0000123f bmark0  0x00000007 , 0x00004649 
+ 00017728  0x00001240 fetcht  0x00000001 , 0x000000ae 
+ 00017729  0x00001241 icompare  0x00000007 , 0x00000002 
+ 00017730  0x00001242 nbranch  0x00004649 , 0x00000001 
+ 00017731  0x00001243 fetch  0x00000001 , 0x00000047 
+ 00017732  0x00001244 set0  0x00000005 , 0x0000003f 
+ 00017733  0x00001245 set1  0x00000004 , 0x0000003f 
+ 00017734  0x00001246 store  0x00000001 , 0x00000047 
+ 00017735  0x00001248 enable  0x0000002d 
+ 00017736  0x0000124a bpatch  0x00000055 , 0x0000400a 
+ 00017737  0x0000124b fetch  0x00000001 , 0x00000019 
+ 00017738  0x0000124c icopy  0x00000001 
+ 00017739  0x0000124d bmark1  0x0000000a , 0x00004557 
+ 00017740  0x0000124e fetcht  0x00000001 , 0x0000015c 
+ 00017741  0x0000124f fetch  0x00000001 , 0x00000047 
+ 00017742  0x00001250 set0  0x00000000 , 0x0000003f 
+ 00017743  0x00001251 isolate1  0x00000000 , 0x00000002 
+ 00017744  0x00001252 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00017745  0x00001253 isolate1  0x00000001 , 0x00000002 
+ 00017746  0x00001254 setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00017747  0x00001255 store  0x00000001 , 0x00000047 
+ 00017748  0x00001256 isolate0  0x00000001 , 0x00000002 
+ 00017749  0x00001257 branch  0x00004557 , 0x00000001 
+ 00017750  0x00001258 call  0x00004683 
+ 00017751  0x0000125a bpatch  0x00000056 , 0x0000400a 
+ 00017752  0x0000125b arg  0x00000000 , 0x00000002 
+ 00017753  0x0000125c call  0x00004a1b 
+ 00017754  0x0000125d and  0x00000001 , 0x0000000f , 0x0000003f 
+ 00017755  0x0000125e beq  0x00000001 , 0x00004583 
+ 00017756  0x0000125f beq  0x00000000 , 0x00004649 
+ 00017757  0x00001260 beq  0x00000002 , 0x00004655 
+ 00017758  0x00001261 fetcht  0x00000001 , 0x0000015c 
+ 00017759  0x00001262 fetch  0x00000001 , 0x00000047 
+ 00017760  0x00001263 icompare  0x00000004 , 0x00000002 
+ 00017761  0x00001264 nbranch  0x00004565 , 0x00000001 
+ 00017762  0x00001265 bmark0  0x0000000a , 0x00004564 
+ 00017763  0x00001266 bbit0  0x00000007 , 0x00004565 
+ 00017764  0x00001268 set1  0x0000000f , 0x00000000 
+ 00017765  0x0000126a bpatch  0x00000057 , 0x0000400a 
+ 00017766  0x0000126b deposit  0x00000001 
+ 00017767  0x0000126c beq  0x00000003 , 0x00004585 
+ 00017768  0x0000126d beq  0x00000004 , 0x00004589 
+ 00017769  0x0000126e beq  0x00000007 , 0x00004574 
+ 00017770  0x0000126f beq  0x00000008 , 0x00004588 
+ 00017771  0x00001270 arg  0x00000004 , 0x00000002 
+ 00017772  0x00001271 call  0x00004a1b 
+ 00017773  0x00001272 beq  0x0000000a , 0x00004584 
+ 00017774  0x00001273 beq  0x0000000b , 0x00004587 
+ 00017775  0x00001274 arg  0x00000008 , 0x00000002 
+ 00017776  0x00001275 call  0x00004a1b 
+ 00017777  0x00001276 beq  0x0000000e , 0x00004584 
+ 00017778  0x00001277 beq  0x0000000f , 0x00004587 
+ 00017779  0x00001278 rtn 
+ 00017780  0x0000127c bpatch  0x00000058 , 0x0000400b 
+ 00017781  0x0000127d enable  0x0000000d 
+ 00017782  0x0000127e enable  0x00000009 
+ 00017783  0x0000127f enable  0x0000000e 
+ 00017784  0x00001280 arg  0x000000cf , 0x00000005 
+ 00017785  0x00001281 force  0x0000001e , 0x00000039 
+ 00017786  0x00001283 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00017787  0x00001284 rshift3  0x0000000c , 0x0000003f 
+ 00017788  0x00001285 istore  0x00000001 , 0x00000005 
+ 00017789  0x00001286 loop  0x0000457a 
+ 00017790  0x00001287 bmark0  0x00000007 , 0x00004649 
+ 00017791  0x00001288 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00017792  0x00001289 nsetflag  0x00000006 , 0x00000008 , 0x00000000 
+ 00017793  0x0000128a branch  0x00004639 , 0x00000006 
+ 00017794  0x0000128b branch  0x0000461c 
+ 00017795  0x0000128f branch  0x00004649 
+ 00017796  0x00001293 set1  0x00000010 , 0x00000000 
+ 00017797  0x00001295 enable  0x0000000c 
+ 00017798  0x00001296 branch  0x0000458a 
+ 00017799  0x0000129a set1  0x00000010 , 0x00000000 
+ 00017800  0x0000129c set1  0x00000002 , 0x00000015 
+ 00017801  0x0000129e enable  0x0000000d 
+ 00017802  0x000012a0 bpatch  0x00000059 , 0x0000400b 
+ 00017803  0x000012a1 bmark1  0x00000001 , 0x00004649 
+ 00017804  0x000012a2 isolate0  0x00000001 , 0x00000015 
+ 00017805  0x000012a3 branch  0x00004596 , 0x00000001 
+ 00017806  0x000012a4 disable  0x00000007 
+ 00017807  0x000012a5 enable  0x0000000d 
+ 00017808  0x000012a6 disable  0x0000000c 
+ 00017809  0x000012a7 add  0x00000022 , 0x00000002 , 0x0000000b 
+ 00017810  0x000012a8 correlate  0x00000022 , 0x00000026 
+ 00017811  0x000012a9 nbranch  0x00004639 , 0x00000018 
+ 00017812  0x000012aa set1  0x00000010 , 0x00000000 
+ 00017813  0x000012ab enable  0x00000007 
+ 00017814  0x000012ad bpatch  0x0000005a , 0x0000400b 
+ 00017815  0x000012ae enable  0x0000000e 
+ 00017816  0x000012af enable  0x00000009 
+ 00017817  0x000012b0 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017818  0x000012b1 rshift8  0x0000000c , 0x0000003f 
+ 00017819  0x000012b2 store  0x00000001 , 0x0000017e 
+ 00017820  0x000012b3 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00017821  0x000012b4 bmark1  0x00000010 , 0x000045a1 
+ 00017822  0x000012b5 rshift3  0x0000000c , 0x00000039 
+ 00017823  0x000012b6 rshift3  0x00000039 , 0x00000039 
+ 00017824  0x000012b7 branch  0x000045a4 
+ 00017825  0x000012b9 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00017826  0x000012ba rshift  0x0000000c , 0x00000039 
+ 00017827  0x000012bb parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00017828  0x000012bd bpatch  0x0000005b , 0x0000400b 
+ 00017829  0x000012be deposit  0x00000039 
+ 00017830  0x000012bf store  0x00000002 , 0x0000015d 
+ 00017831  0x000012c0 branch  0x000045e4 , 0x00000034 
+ 00017832  0x000012c1 isub  0x00000035 , 0x0000003e 
+ 00017833  0x000012c2 branch  0x00004639 , 0x00000002 
+ 00017834  0x000012c3 bpatch  0x0000005c , 0x0000400b 
+ 00017835  0x000012c4 set0  0x00000000 , 0x00000000 
+ 00017836  0x000012c5 fetch  0x00000001 , 0x0000017e 
+ 00017837  0x000012c6 and_into  0x00000003 , 0x0000003f 
+ 00017838  0x000012c7 arg  0x0000054d , 0x00000005 
+ 00017839  0x000012c8 beq  0x00000003 , 0x000045b6 
+ 00017840  0x000012c9 bmark1  0x00000011 , 0x000045e0 
+ 00017841  0x000012cb fetch  0x00000001 , 0x0000017e 
+ 00017842  0x000012cc and_into  0x00000003 , 0x0000003f 
+ 00017843  0x000012cd beq  0x00000002 , 0x000045bb 
+ 00017844  0x000012ce beq  0x00000001 , 0x000045cf 
+ 00017845  0x000012cf branch  0x00004639 
+ 00017846  0x000012d2 fetch  0x00000002 , 0x0000015d 
+ 00017847  0x000012d3 sub  0x0000003f , 0x00000070 , 0x0000003e 
+ 00017848  0x000012d4 nbranch  0x00004639 , 0x00000002 
+ 00017849  0x000012d5 bmark1  0x0000000f , 0x0000461c 
+ 00017850  0x000012d6 branch  0x000045e0 
+ 00017851  0x000012da bpatch  0x0000005d , 0x0000400b 
+ 00017852  0x000012db bmark1  0x0000000f , 0x0000461c 
+ 00017853  0x000012dc fetch  0x00000002 , 0x0000015d 
+ 00017854  0x000012dd arg  0x000002e0 , 0x00000002 
+ 00017855  0x000012de isub  0x00000002 , 0x0000003e 
+ 00017856  0x000012df branch  0x00004639 , 0x00000002 
+ 00017857  0x000012e0 fetch  0x00000001 , 0x0000025f 
+ 00017858  0x000012e1 bbit0  0x00000000 , 0x000045c5 
+ 00017859  0x000012e2 bbit0  0x00000001 , 0x000045ca 
+ 00017860  0x000012e3 branch  0x00004649 
+ 00017861  0x000012e5 jam  0x00000001 , 0x0000025d 
+ 00017862  0x000012e6 fetch  0x00000002 , 0x00000259 
+ 00017863  0x000012e7 bne  0x00000000 , 0x00004649 
+ 00017864  0x000012e8 arg  0x00001000 , 0x00000005 
+ 00017865  0x000012e9 branch  0x000045e0 
+ 00017866  0x000012eb jam  0x00000002 , 0x0000025d 
+ 00017867  0x000012ec fetch  0x00000002 , 0x0000025b 
+ 00017868  0x000012ed bne  0x00000000 , 0x00004649 
+ 00017869  0x000012ee arg  0x00001400 , 0x00000005 
+ 00017870  0x000012ef branch  0x000045e0 
+ 00017871  0x000012f2 bpatch  0x0000005e , 0x0000400b 
+ 00017872  0x000012f3 bmark1  0x0000000f , 0x0000461c 
+ 00017873  0x000012f4 fetch  0x00000002 , 0x0000015d 
+ 00017874  0x000012f5 arg  0x000002e0 , 0x00000002 
+ 00017875  0x000012f6 isub  0x00000002 , 0x0000003e 
+ 00017876  0x000012f7 branch  0x00004639 , 0x00000002 
+ 00017877  0x000012f8 fetch  0x00000001 , 0x0000025d 
+ 00017878  0x000012f9 beq  0x00000001 , 0x000045d9 
+ 00017879  0x000012fa beq  0x00000002 , 0x000045dd 
+ 00017880  0x000012fb branch  0x00004649 
+ 00017881  0x000012fd arg  0x00001000 , 0x00000005 
+ 00017882  0x000012fe fetch  0x00000002 , 0x00000259 
+ 00017883  0x000012ff iadd  0x00000005 , 0x00000005 
+ 00017884  0x00001300 branch  0x000045e0 
+ 00017885  0x00001302 arg  0x00001400 , 0x00000005 
+ 00017886  0x00001303 fetch  0x00000002 , 0x0000025b 
+ 00017887  0x00001304 iadd  0x00000005 , 0x00000005 
+ 00017888  0x00001306 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00017889  0x00001307 rshift3  0x0000000c , 0x0000003f 
+ 00017890  0x00001308 istore  0x00000001 , 0x00000005 
+ 00017891  0x00001309 loop  0x000045e0 
+ 00017892  0x0000130b bpatch  0x0000005f , 0x0000400b 
+ 00017893  0x0000130c parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00017894  0x0000130d branch  0x00004633 , 0x00000006 
+ 00017895  0x0000130e fetch  0x00000001 , 0x00004335 
+ 00017896  0x0000130f beq  0x00000001 , 0x00004649 
+ 00017897  0x00001310 bmark1  0x00000011 , 0x00004609 
+ 00017898  0x00001311 bmark1  0x0000000f , 0x00004646 
+ 00017899  0x00001312 fetch  0x00000001 , 0x0000017e 
+ 00017900  0x00001313 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00017901  0x00001314 branch  0x00004609 , 0x00000001 
+ 00017902  0x00001315 fetch  0x00000002 , 0x0000015d 
+ 00017903  0x00001316 branch  0x00004609 , 0x00000034 
+ 00017904  0x00001317 bpatch  0x00000060 , 0x0000400c 
+ 00017905  0x00001318 fetch  0x00000001 , 0x0000025d 
+ 00017906  0x00001319 beq  0x00000001 , 0x000045f5 
+ 00017907  0x0000131a beq  0x00000002 , 0x000045ff 
+ 00017908  0x0000131b branch  0x00004a8b 
+ 00017909  0x0000131d fetch  0x00000002 , 0x00000259 
+ 00017910  0x0000131e fetcht  0x00000002 , 0x0000015d 
+ 00017911  0x0000131f iadd  0x00000002 , 0x0000003f 
+ 00017912  0x00001320 store  0x00000002 , 0x00000259 
+ 00017913  0x00001321 beq  0x00000000 , 0x00004a8b 
+ 00017914  0x00001322 fetcht  0x00000002 , 0x00001000 
+ 00017915  0x00001323 increase  0x00000004 , 0x00000002 
+ 00017916  0x00001324 isub  0x00000002 , 0x0000003e 
+ 00017917  0x00001325 call  0x00004743 , 0x00000005 
+ 00017918  0x00001326 branch  0x00004609 
+ 00017919  0x00001328 fetch  0x00000002 , 0x0000025b 
+ 00017920  0x00001329 fetcht  0x00000002 , 0x0000015d 
+ 00017921  0x0000132a iadd  0x00000002 , 0x0000003f 
+ 00017922  0x0000132b store  0x00000002 , 0x0000025b 
+ 00017923  0x0000132c beq  0x00000000 , 0x00004a8b 
+ 00017924  0x0000132d fetcht  0x00000002 , 0x00001400 
+ 00017925  0x0000132e add  0x00000002 , 0x00000004 , 0x00000002 
+ 00017926  0x0000132f isub  0x00000002 , 0x0000003e 
+ 00017927  0x00001330 call  0x00004747 , 0x00000005 
+ 00017928  0x00001331 branch  0x00004609 
+ 00017929  0x00001333 bpatch  0x00000061 , 0x0000400c 
+ 00017930  0x00001334 fetcht  0x00000001 , 0x0000004c 
+ 00017931  0x00001335 fetch  0x00000001 , 0x0000017e 
+ 00017932  0x00001336 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00017933  0x00001337 setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00017934  0x00001338 nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00017935  0x00001339 storet  0x00000001 , 0x0000004c 
+ 00017936  0x0000133a nbranch  0x00004612 , 0x00000001 
+ 00017937  0x0000133b set1  0x00000001 , 0x00000000 
+ 00017938  0x0000133d bmark0  0x00000011 , 0x0000461c 
+ 00017939  0x0000133e isolate1  0x00000006 , 0x00000002 
+ 00017940  0x0000133f branch  0x0000461c , 0x00000001 
+ 00017941  0x00001340 fetch  0x00000002 , 0x000000f8 
+ 00017942  0x00001341 increase  0x00000001 , 0x0000003f 
+ 00017943  0x00001342 store  0x00000002 , 0x000000f8 
+ 00017944  0x00001343 set1  0x00000005 , 0x00000000 
+ 00017945  0x00001344 set0  0x00000007 , 0x00000002 
+ 00017946  0x00001345 set0  0x00000001 , 0x00000000 
+ 00017947  0x00001346 storet  0x00000001 , 0x0000004c 
+ 00017948  0x00001348 bpatch  0x00000062 , 0x0000400c 
+ 00017949  0x00001349 fetcht  0x00000001 , 0x0000015c 
+ 00017950  0x0000134a fetch  0x00000001 , 0x00000047 
+ 00017951  0x0000134b set1  0x00000005 , 0x0000003f 
+ 00017952  0x0000134c isolate1  0x00000002 , 0x00000002 
+ 00017953  0x0000134d setflag  0x00000001 , 0x00000002 , 0x0000003f 
+ 00017954  0x0000134e isolate1  0x0000000a , 0x00000000 
+ 00017955  0x0000134f setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00017956  0x00001350 store  0x00000001 , 0x00000047 
+ 00017957  0x00001351 fetch  0x00000002 , 0x0000015d 
+ 00017958  0x00001352 nbranch  0x00004649 , 0x00000034 
+ 00017959  0x00001353 fetch  0x00000001 , 0x0000004c 
+ 00017960  0x00001354 set0  0x00000007 , 0x0000003f 
+ 00017961  0x00001355 store  0x00000001 , 0x0000004c 
+ 00017962  0x00001356 fetch  0x00000001 , 0x0000017e 
+ 00017963  0x00001357 compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00017964  0x00001359 branch  0x00004649 
+ 00017965  0x0000135c bpatch  0x00000063 , 0x0000400c 
+ 00017966  0x0000135d disable  0x0000002d 
+ 00017967  0x0000135e fetch  0x00000002 , 0x0000001a 
+ 00017968  0x0000135f increase  0x00000001 , 0x0000003f 
+ 00017969  0x00001360 store  0x00000002 , 0x0000001a 
+ 00017970  0x00001361 branch  0x00004649 
+ 00017971  0x00001363 fetch  0x00000002 , 0x0000001c 
+ 00017972  0x00001364 increase  0x00000001 , 0x0000003f 
+ 00017973  0x00001365 store  0x00000002 , 0x0000001c 
+ 00017974  0x00001366 call  0x0000463a 
+ 00017975  0x00001367 bmark0  0x00000011 , 0x00004639 
+ 00017976  0x00001368 set1  0x00000005 , 0x00000000 
+ 00017977  0x0000136a branch  0x00004649 
+ 00017978  0x0000136d bpatch  0x00000064 , 0x0000400c 
+ 00017979  0x0000136e fetch  0x00000001 , 0x0000017e 
+ 00017980  0x0000136f compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00017981  0x00001370 nbranch  0x00004642 , 0x00000001 
+ 00017982  0x00001372 fetcht  0x00000001 , 0x0000004c 
+ 00017983  0x00001373 set0  0x00000006 , 0x00000002 
+ 00017984  0x00001374 storet  0x00000001 , 0x0000004c 
+ 00017985  0x00001375 rtn 
+ 00017986  0x00001379 fetcht  0x00000001 , 0x0000004c 
+ 00017987  0x0000137a set0  0x00000007 , 0x00000002 
+ 00017988  0x0000137b storet  0x00000001 , 0x0000004c 
+ 00017989  0x0000137c rtn 
+ 00017990  0x0000137f fetch  0x00000001 , 0x00000047 
+ 00017991  0x00001380 set1  0x00000005 , 0x0000003f 
+ 00017992  0x00001381 store  0x00000001 , 0x00000047 
+ 00017993  0x00001383 bpatch  0x00000065 , 0x0000400c 
+ 00017994  0x00001384 disable  0x0000001d 
+ 00017995  0x00001385 disable  0x0000001c 
+ 00017996  0x00001386 disable  0x0000000d 
+ 00017997  0x00001387 disable  0x0000000c 
+ 00017998  0x00001388 disable  0x00000009 
+ 00017999  0x00001389 disable  0x0000000e 
+ 00018000  0x0000138a disable  0x00000007 
+ 00018001  0x0000138b branch  0x000048f5 , 0x00000021 
+ 00018002  0x0000138c until  0x0000003e , 0x00000027 
+ 00018003  0x0000138d nop  0x00000064 
+ 00018004  0x0000138e branch  0x000048f5 
+ 00018005  0x00001391 bpatch  0x00000066 , 0x0000400c 
+ 00018006  0x00001392 enable  0x00000009 
+ 00018007  0x00001393 enable  0x0000000c 
+ 00018008  0x00001394 parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00018009  0x00001395 isolate1  0x0000003a , 0x0000003f 
+ 00018010  0x00001396 setflag  0x00000001 , 0x00000000 , 0x00000000 
+ 00018011  0x00001397 copy  0x00000020 , 0x00000002 
+ 00018012  0x00001398 ialigned  0x00000020 
+ 00018013  0x00001399 ialigned  0x0000001e 
+ 00018014  0x0000139a pulse  0x00000015 
+ 00018015  0x0000139b setsect  0x00000002 , 0x000fffff 
+ 00018016  0x0000139c setsect  0x00000003 , 0x0000ffff 
+ 00018017  0x0000139d nop  0x00000020 
+ 00018018  0x0000139e iverify  0x0000000d 
+ 00018019  0x0000139f deposit  0x0000002c 
+ 00018020  0x000013a0 store  0x00000003 , 0x00000176 
+ 00018021  0x000013a1 deposit  0x0000002d 
+ 00018022  0x000013a2 store  0x00000001 , 0x00000179 
+ 00018023  0x000013a3 copy  0x00000002 , 0x00000020 
+ 00018024  0x000013a4 branch  0x0000466a , 0x00000001 
+ 00018025  0x000013a5 branch  0x00004639 
+ 00018026  0x000013a7 bpatch  0x00000067 , 0x0000400c 
+ 00018027  0x000013a8 parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00018028  0x000013a9 ialigned  0x0000001f 
+ 00018029  0x000013aa ialigned  0x00000004 
+ 00018030  0x000013ab ialigned  0x0000002e 
+ 00018031  0x000013ac ialigned  0x00000012 
+ 00018032  0x000013ad force  0x00000000 , 0x0000003f 
+ 00018033  0x000013ae parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00018034  0x000013af branch  0x00004639 , 0x00000006 
+ 00018035  0x000013b0 setarg  0x0ffffffc 
+ 00018036  0x000013b1 iand  0x00000012 , 0x0000003f 
+ 00018037  0x000013b2 store  0x00000004 , 0x00000163 
+ 00018038  0x000013b3 deposit  0x0000001d 
+ 00018039  0x000013b4 store  0x00000003 , 0x00000173 
+ 00018040  0x000013b5 deposit  0x0000001c 
+ 00018041  0x000013b6 store  0x00000001 , 0x00000171 
+ 00018042  0x000013b7 deposit  0x00000004 
+ 00018043  0x000013b8 store  0x00000001 , 0x00000172 
+ 00018044  0x000013b9 deposit  0x0000002e 
+ 00018045  0x000013ba store  0x00000002 , 0x0000017a 
+ 00018046  0x000013bb deposit  0x00000021 
+ 00018047  0x000013bc inject  0x00000001 , 0x00000020 
+ 00018048  0x000013bd compare  0x00000002 , 0x00000001 , 0x0000000f 
+ 00018049  0x000013be setflag  0x00000001 , 0x0000000b , 0x00000000 
+ 00018050  0x000013bf branch  0x00004649 
+ 00018051  0x000013c2 bpatch  0x00000068 , 0x0000400d 
+ 00018052  0x000013c3 fetch  0x00000001 , 0x00000047 
+ 00018053  0x000013c4 rtnbit0  0x00000003 
+ 00018054  0x000013c5 set0  0x00000003 , 0x0000003f 
+ 00018055  0x000013c6 setflip  0x00000006 , 0x0000003f 
+ 00018056  0x000013c7 store  0x00000001 , 0x00000047 
+ 00018057  0x000013c8 fetch  0x00000001 , 0x000040c5 
+ 00018058  0x000013c9 beq  0x00000013 , 0x00004698 
+ 00018059  0x000013ca rtneq  0x00000007 
+ 00018060  0x000013cb fetch  0x00000001 , 0x0000004b 
+ 00018061  0x000013cc rtnbit0  0x00000006 , 0x0000003f 
+ 00018062  0x000013cd set0  0x00000006 , 0x0000003f 
+ 00018063  0x000013ce set1  0x00000007 , 0x0000003f 
+ 00018064  0x000013cf store  0x00000001 , 0x0000004b 
+ 00018065  0x000013d0 set0  0x00000002 , 0x00000000 
+ 00018066  0x000013d1 fetch  0x00000002 , 0x00004218 
+ 00018067  0x000013d2 nrtn  0x00000034 
+ 00018068  0x000013d3 fetch  0x00000001 , 0x0000004b 
+ 00018069  0x000013d4 set0  0x00000007 , 0x0000003f 
+ 00018070  0x000013d5 store  0x00000001 , 0x0000004b 
+ 00018071  0x000013d6 branch  0x00005637 
+ 00018072  0x000013d9 bpatch  0x00000069 , 0x0000400d 
+ 00018073  0x000013da fetch  0x00000001 , 0x000004b3 
+ 00018074  0x000013db rshift  0x0000003f , 0x0000003f 
+ 00018075  0x000013dc beq  0x00000011 , 0x000046b4 
+ 00018076  0x000013dd beq  0x00000012 , 0x000046bc 
+ 00018077  0x000013de beq  0x00000018 , 0x000046e5 
+ 00018078  0x000013df beq  0x0000007f , 0x000046a4 
+ 00018079  0x000013e0 rtnne  0x00000003 
+ 00018080  0x000013e1 fetch  0x00000001 , 0x000004b4 
+ 00018081  0x000013e2 beq  0x0000002b , 0x000046ac 
+ 00018082  0x000013e3 beq  0x00000011 , 0x000046a7 
+ 00018083  0x000013e4 rtn 
+ 00018084  0x000013e7 fetch  0x00000001 , 0x000004b4 
+ 00018085  0x000013e8 set1  0x00000007 , 0x0000003f 
+ 00018086  0x000013e9 rtn 
+ 00018087  0x000013eb rtn  0x00000029 
+ 00018088  0x000013ec fetch  0x00000001 , 0x00000030 
+ 00018089  0x000013ed rtnbit1  0x00000004 
+ 00018090  0x000013ee jam  0x00000031 , 0x0000007c 
+ 00018091  0x000013ef rtn 
+ 00018092  0x000013f3 rtn  0x00000029 
+ 00018093  0x000013f4 fetch  0x00000001 , 0x00000031 
+ 00018094  0x000013f5 isolate1  0x00000004 , 0x0000003f 
+ 00018095  0x000013f6 branch  0x000046b1 , 0x00000001 
+ 00018096  0x000013f8 rtn 
+ 00018097  0x000013fa set0  0x00000004 , 0x0000003f 
+ 00018098  0x000013fb store  0x00000001 , 0x00000031 
+ 00018099  0x000013fc rtn 
+ 00018100  0x000013ff bpatch  0x0000006a , 0x0000400d 
+ 00018101  0x00001400 fetch  0x00000001 , 0x0000004c 
+ 00018102  0x00001401 set1  0x00000002 , 0x0000003f 
+ 00018103  0x00001402 store  0x00000001 , 0x0000004c 
+ 00018104  0x00001403 hjam  0x00000001 , 0x00008011 
+ 00018105  0x00001404 fetch  0x00000001 , 0x00000030 
+ 00018106  0x00001405 isolate1  0x00000004 , 0x0000003f 
+ 00018107  0x00001406 rtn 
+ 00018108  0x00001409 bpatch  0x0000006b , 0x0000400d 
+ 00018109  0x0000140a fetch  0x00000001 , 0x0000004c 
+ 00018110  0x0000140b set0  0x00000002 , 0x0000003f 
+ 00018111  0x0000140c store  0x00000001 , 0x0000004c 
+ 00018112  0x0000140d hjam  0x00000000 , 0x00008011 
+ 00018113  0x0000140e rtn 
+ 00018114  0x00001412 bpatch  0x0000006c , 0x0000400d 
+ 00018115  0x00001413 copy  0x00000022 , 0x0000003f 
+ 00018116  0x00001414 store  0x00000004 , 0x0000420b 
+ 00018117  0x00001415 add  0x00000022 , 0x00000003 , 0x00000011 
+ 00018118  0x00001416 branch  0x000046c8 , 0x00000029 
+ 00018119  0x00001417 add  0x00000028 , 0x00000003 , 0x00000011 
+ 00018120  0x00001419 fetcht  0x00000002 , 0x00000032 
+ 00018121  0x0000141a deposit  0x00000011 
+ 00018122  0x0000141b set0  0x0000001b , 0x0000003f 
+ 00018123  0x0000141c idiv  0x00000002 
+ 00018124  0x0000141d fetch  0x00000002 , 0x00000075 
+ 00018125  0x0000141e call  0x00007d61 
+ 00018126  0x0000141f remainder  0x00000013 
+ 00018127  0x00001420 isub  0x00000013 , 0x0000003f 
+ 00018128  0x00001421 branch  0x000046d2 , 0x00000002 
+ 00018129  0x00001422 iadd  0x00000002 , 0x0000003f 
+ 00018130  0x00001424 iadd  0x00000011 , 0x0000003f 
+ 00018131  0x00001425 store  0x00000004 , 0x00000034 
+ 00018132  0x00001426 jam  0x00000000 , 0x0000452d 
+ 00018133  0x00001427 fetch  0x00000001 , 0x00000030 
+ 00018134  0x00001428 set1  0x00000001 , 0x0000003f 
+ 00018135  0x00001429 store  0x00000001 , 0x00000030 
+ 00018136  0x0000142a fetch  0x00000001 , 0x00000073 
+ 00018137  0x0000142b store  0x00000001 , 0x0000008a 
+ 00018138  0x0000142c setarg  0x00000000 
+ 00018139  0x0000142d store  0x00000003 , 0x0000416a 
+ 00018140  0x0000142e store  0x00000003 , 0x0000416d 
+ 00018141  0x0000142f store  0x00000001 , 0x0000415a 
+ 00018142  0x00001430 jam  0x0000000b , 0x00000a95 
+ 00018143  0x00001431 call  0x00007bab 
+ 00018144  0x00001432 fetch  0x00000002 , 0x000040c1 
+ 00018145  0x00001433 store  0x00000002 , 0x0000003e 
+ 00018146  0x00001434 nrtn  0x00000029 
+ 00018147  0x00001435 add  0x00000004 , 0xffffffff , 0x00000007 
+ 00018148  0x00001436 rtn 
+ 00018149  0x00001439 bpatch  0x0000006d , 0x0000400d 
+ 00018150  0x0000143a fetch  0x00000001 , 0x00000030 
+ 00018151  0x0000143b rtnbit0  0x00000001 
+ 00018152  0x0000143c set0  0x00000001 , 0x0000003f 
+ 00018153  0x0000143d store  0x00000001 , 0x00000030 
+ 00018154  0x0000143e fetch  0x00000002 , 0x000040bf 
+ 00018155  0x0000143f store  0x00000002 , 0x0000003e 
+ 00018156  0x00001440 disable  0x0000002b 
+ 00018157  0x00001441 jam  0x0000000c , 0x00000a95 
+ 00018158  0x00001442 branch  0x00007bab 
+ 00018159  0x00001446 bpatch  0x0000006e , 0x0000400d 
+ 00018160  0x00001447 enable  0x0000002e 
+ 00018161  0x00001448 fetch  0x00000001 , 0x00000030 
+ 00018162  0x00001449 bbit1  0x00000001 , 0x000046fc 
+ 00018163  0x0000144a rtnmark1  0x00000011 
+ 00018164  0x0000144b fetch  0x00000001 , 0x00000047 
+ 00018165  0x0000144c rtnbit1  0x00000003 
+ 00018166  0x0000144d fetch  0x00000001 , 0x00000048 
+ 00018167  0x0000144e nrtn  0x00000034 
+ 00018168  0x0000144f fetch  0x00000001 , 0x0000004b 
+ 00018169  0x00001450 rtnbit1  0x00000006 
+ 00018170  0x00001452 force  0x00000000 , 0x0000003f 
+ 00018171  0x00001453 rtn 
+ 00018172  0x00001456 bbit0  0x00000002 , 0x0000470b 
+ 00018173  0x00001457 fetch  0x00000001 , 0x0000008a 
+ 00018174  0x00001458 beq  0x00000002 , 0x00004702 
+ 00018175  0x00001459 fetch  0x00000001 , 0x00000047 
+ 00018176  0x0000145a bbit1  0x00000003 , 0x00004714 
+ 00018177  0x0000145b bmark0  0x00000008 , 0x00004714 
+ 00018178  0x0000145d nbranch  0x00004714 , 0x00000029 
+ 00018179  0x0000145e fetch  0x00000001 , 0x00000048 
+ 00018180  0x0000145f nbranch  0x00004714 , 0x00000034 
+ 00018181  0x00001461 fetch  0x00000001 , 0x000000ed 
+ 00018182  0x00001462 increase  0xffffffff , 0x0000003f 
+ 00018183  0x00001463 store  0x00000001 , 0x000000ed 
+ 00018184  0x00001464 nbranch  0x000046fa , 0x00000034 
+ 00018185  0x00001465 jam  0x00000010 , 0x000000ed 
+ 00018186  0x00001466 branch  0x00004714 
+ 00018187  0x0000146e fetch  0x00000001 , 0x0000008a 
+ 00018188  0x0000146f bne  0x00000001 , 0x00004714 
+ 00018189  0x00001470 fetch  0x00000001 , 0x0000008b 
+ 00018190  0x00001471 branch  0x00004714 , 0x00000034 
+ 00018191  0x00001472 increase  0xffffffff , 0x0000003f 
+ 00018192  0x00001473 store  0x00000001 , 0x0000008b 
+ 00018193  0x00001474 fetch  0x00000001 , 0x00000047 
+ 00018194  0x00001475 rtnbit1  0x00000003 
+ 00018195  0x00001476 nrtn  0x0000002d 
+ 00018196  0x00001478 fetch  0x00000001 , 0x0000008a 
+ 00018197  0x00001479 increase  0xffffffff , 0x0000003f 
+ 00018198  0x0000147a store  0x00000001 , 0x0000008a 
+ 00018199  0x0000147b rtn 
+ 00018200  0x00001487 bpatch  0x0000006f , 0x0000400d 
+ 00018201  0x00001488 disable  0x00000010 
+ 00018202  0x00001489 copy  0x00000002 , 0x0000001b 
+ 00018203  0x0000148a call  0x0000425c 
+ 00018204  0x0000148b disable  0x00000028 
+ 00018205  0x0000148c nrtn  0x00000005 
+ 00018206  0x0000148d force  0x00000000 , 0x0000001b 
+ 00018207  0x0000148e enable  0x00000028 
+ 00018208  0x0000148f rtn 
+ 00018209  0x00001493 fetch  0x00000001 , 0x00004159 
+ 00018210  0x00001494 icompare  0x000000ff , 0x00000004 
+ 00018211  0x00001495 rtn 
+ 00018212  0x00001499 bpatch  0x00000070 , 0x0000400e 
+ 00018213  0x0000149a set0  0x00000001 , 0x00000000 
+ 00018214  0x0000149c jam  0x00000000 , 0x00000266 
+ 00018215  0x0000149d fetch  0x00000001 , 0x0000025f 
+ 00018216  0x0000149e rtn  0x00000034 
+ 00018217  0x0000149f isolate1  0x00000000 , 0x0000003f 
+ 00018218  0x000014a0 arg  0x00001000 , 0x00000006 
+ 00018219  0x000014a1 call  0x00005153 , 0x00000001 
+ 00018220  0x000014a2 bpatch  0x00000071 , 0x0000400e 
+ 00018221  0x000014a3 fetch  0x00000001 , 0x00000266 
+ 00018222  0x000014a4 beq  0x00000001 , 0x00004737 
+ 00018223  0x000014a6 jam  0x00000000 , 0x00000266 
+ 00018224  0x000014a7 fetch  0x00000001 , 0x0000025f 
+ 00018225  0x000014a8 rtnbit0  0x00000001 
+ 00018226  0x000014a9 arg  0x00001400 , 0x00000006 
+ 00018227  0x000014aa call  0x00005153 
+ 00018228  0x000014ab fetch  0x00000001 , 0x00000266 
+ 00018229  0x000014ac beq  0x00000001 , 0x0000473d 
+ 00018230  0x000014ad rtn 
+ 00018231  0x000014b0 fetch  0x00000001 , 0x0000025f 
+ 00018232  0x000014b1 set0  0x00000000 , 0x0000003f 
+ 00018233  0x000014b2 store  0x00000001 , 0x0000025f 
+ 00018234  0x000014b3 setarg  0x00000000 
+ 00018235  0x000014b4 store  0x00000002 , 0x00000259 
+ 00018236  0x000014b5 rtn 
+ 00018237  0x000014b7 fetch  0x00000001 , 0x0000025f 
+ 00018238  0x000014b8 set0  0x00000001 , 0x0000003f 
+ 00018239  0x000014b9 store  0x00000001 , 0x0000025f 
+ 00018240  0x000014ba setarg  0x00000000 
+ 00018241  0x000014bb store  0x00000002 , 0x0000025b 
+ 00018242  0x000014bc rtn 
+ 00018243  0x000014bf fetch  0x00000001 , 0x0000025f 
+ 00018244  0x000014c0 set1  0x00000000 , 0x0000003f 
+ 00018245  0x000014c1 store  0x00000001 , 0x0000025f 
+ 00018246  0x000014c2 rtn 
+ 00018247  0x000014c5 fetch  0x00000001 , 0x0000025f 
+ 00018248  0x000014c6 set1  0x00000001 , 0x0000003f 
+ 00018249  0x000014c7 store  0x00000001 , 0x0000025f 
+ 00018250  0x000014c8 rtn 
+ 00018251  0x000014cf bpatch  0x00000072 , 0x0000400e 
+ 00018252  0x000014d0 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00018253  0x000014d1 call  0x000048e6 
+ 00018254  0x000014d2 force  0x00000003 , 0x00000024 
+ 00018255  0x000014d3 call  0x000048ce 
+ 00018256  0x000014d4 call  0x00004a50 
+ 00018257  0x000014d5 call  0x00004a5e 
+ 00018258  0x000014d6 branch  0x00004a63 
+ 00018259  0x000014da bpatch  0x00000073 , 0x0000400e 
+ 00018260  0x000014db call  0x00004a4c 
+ 00018261  0x000014dc deposit  0x00000028 
+ 00018262  0x000014dd fetcht  0x00000004 , 0x000040ca 
+ 00018263  0x000014de isub  0x00000002 , 0x0000003f 
+ 00018264  0x000014df rtnne  0x00000001 
+ 00018265  0x000014e0 compare  0x00000000 , 0x00000001 , 0x0000001f 
+ 00018266  0x000014e1 nbranch  0x0000475d , 0x00000001 
+ 00018267  0x000014e2 fetch  0x00000001 , 0x00000019 
+ 00018268  0x000014e3 rtn  0x00000034 
+ 00018269  0x000014e5 call  0x0000474b 
+ 00018270  0x000014e7 compare  0x00000010 , 0x00000001 , 0x0000001f 
+ 00018271  0x000014e8 branch  0x00004649 , 0x00000001 
+ 00018272  0x000014e9 rshift  0x00000021 , 0x00000002 
+ 00018273  0x000014ea or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00018274  0x000014ec bpatch  0x00000074 , 0x0000400e 
+ 00018275  0x000014ed enable  0x00000007 
+ 00018276  0x000014ee enable  0x0000000a 
+ 00018277  0x000014ef enable  0x0000001b 
+ 00018278  0x000014f0 set0  0x00000010 , 0x00000000 
+ 00018279  0x000014f1 deposit  0x00000004 
+ 00018280  0x000014f2 inject  0x00000003 , 0x00000003 
+ 00018281  0x000014f3 deposit  0x00000001 
+ 00018282  0x000014f4 inject  0x00000003 , 0x00000004 
+ 00018283  0x000014f5 fetch  0x00000001 , 0x00000047 
+ 00018284  0x000014f6 inject  0x00000000 , 0x00000004 
+ 00018285  0x000014f7 inject  0x00000003 , 0x00000003 
+ 00018286  0x000014f8 enable  0x00000008 
+ 00018287  0x000014f9 inject  0x00000003 , 0x00000008 
+ 00018288  0x000014fa disable  0x0000001b 
+ 00018289  0x000014fb disable  0x00000008 
+ 00018290  0x000014fc disable  0x0000000a 
+ 00018291  0x000014fd set0  0x00000002 , 0x00000015 
+ 00018292  0x000014fe arg  0x00000000 , 0x00000002 
+ 00018293  0x000014ff call  0x00004a1b 
+ 00018294  0x00001500 bpatch  0x00000075 , 0x0000400e 
+ 00018295  0x00001501 and  0x00000001 , 0x0000001f , 0x0000003f 
+ 00018296  0x00001502 beq  0x00000013 , 0x000047b0 
+ 00018297  0x00001503 beq  0x00000000 , 0x00004649 
+ 00018298  0x00001504 beq  0x00000001 , 0x00004649 
+ 00018299  0x00001505 beq  0x00000002 , 0x00004793 
+ 00018300  0x00001506 beq  0x00000003 , 0x000047c1 
+ 00018301  0x00001507 beq  0x00000004 , 0x000047c7 
+ 00018302  0x00001508 beq  0x00000007 , 0x00004788 
+ 00018303  0x00001509 beq  0x00000008 , 0x000047c6 
+ 00018304  0x0000150a arg  0x00000004 , 0x00000002 
+ 00018305  0x0000150b call  0x00004a1b 
+ 00018306  0x0000150c beq  0x0000000a , 0x000047c3 
+ 00018307  0x0000150d beq  0x0000000b , 0x000047c9 
+ 00018308  0x0000150e arg  0x00000008 , 0x00000002 
+ 00018309  0x0000150f call  0x00004a1b 
+ 00018310  0x00001510 beq  0x0000000f , 0x000047c9 
+ 00018311  0x00001511 branch  0x000047c3 
+ 00018312  0x00001515 bpatch  0x00000076 , 0x0000400e 
+ 00018313  0x00001516 enable  0x0000001d 
+ 00018314  0x00001517 enable  0x00000009 
+ 00018315  0x00001518 enable  0x0000000e 
+ 00018316  0x00001519 force  0x0000001e , 0x00000039 
+ 00018317  0x0000151a arg  0x000000b1 , 0x00000006 
+ 00018318  0x0000151c ifetch  0x00000001 , 0x00000006 
+ 00018319  0x0000151d inject  0x00000003 , 0x00000008 
+ 00018320  0x0000151e loop  0x0000478e 
+ 00018321  0x0000151f bmark1  0x00000007 , 0x000047f3 
+ 00018322  0x00001520 branch  0x00004649 
+ 00018323  0x00001523 bpatch  0x00000077 , 0x0000400e 
+ 00018324  0x00001524 fetch  0x00000001 , 0x0000017f 
+ 00018325  0x00001525 icopy  0x00000004 
+ 00018326  0x00001526 fetch  0x00000001 , 0x00000090 
+ 00018327  0x00001527 icopy  0x0000001c 
+ 00018328  0x00001528 fetch  0x00000003 , 0x000040aa 
+ 00018329  0x00001529 icopy  0x0000001d 
+ 00018330  0x0000152a fetch  0x00000002 , 0x000040a4 
+ 00018331  0x0000152b icopy  0x0000002e 
+ 00018332  0x0000152c enable  0x00000009 
+ 00018333  0x0000152d enable  0x0000001c 
+ 00018334  0x0000152e copy  0x00000020 , 0x00000011 
+ 00018335  0x0000152f call  0x000048de 
+ 00018336  0x00001530 pulse  0x00000015 
+ 00018337  0x00001531 nop  0x00000020 
+ 00018338  0x00001532 copy  0x00000021 , 0x0000000b 
+ 00018339  0x00001533 fetch  0x00000004 , 0x0000015f 
+ 00018340  0x00001534 icopy  0x00000021 
+ 00018341  0x00001535 preload  0x0000001e 
+ 00018342  0x00001536 set1  0x0000003a , 0x0000003f 
+ 00018343  0x00001537 inject  0x00000003 , 0x00000048 
+ 00018344  0x00001538 preload  0x0000001f 
+ 00018345  0x00001539 inject  0x00000003 , 0x00000048 
+ 00018346  0x0000153a copy  0x0000000b , 0x00000021 
+ 00018347  0x0000153b copy  0x00000011 , 0x00000020 
+ 00018348  0x0000153c enable  0x00000008 
+ 00018349  0x0000153d inject  0x00000003 , 0x00000010 
+ 00018350  0x0000153e disable  0x00000008 
+ 00018351  0x0000153f branch  0x00004649 
+ 00018352  0x00001542 bpatch  0x00000078 , 0x0000400f 
+ 00018353  0x00001543 enable  0x0000000e 
+ 00018354  0x00001544 enable  0x00000009 
+ 00018355  0x00001545 enable  0x0000001c 
+ 00018356  0x00001546 fetch  0x00000001 , 0x000004b2 
+ 00018357  0x00001547 and  0x0000003f , 0x000001f8 , 0x00000002 
+ 00018358  0x00001548 arg  0x000004b2 , 0x00000006 
+ 00018359  0x00001549 increase  0x00000008 , 0x00000002 
+ 00018360  0x0000154b add  0x00000002 , 0xffffffb8 , 0x00000013 
+ 00018361  0x0000154c nbranch  0x000047be , 0x00000002 
+ 00018362  0x0000154d ifetch  0x00000009 , 0x00000006 
+ 00018363  0x0000154e inject  0x00000003 , 0x00000048 
+ 00018364  0x0000154f copy  0x00000013 , 0x00000002 
+ 00018365  0x00001550 branch  0x000047b8 
+ 00018366  0x00001552 ifetch  0x00000009 , 0x00000006 
+ 00018367  0x00001553 iinject  0x00000003 , 0x00000002 
+ 00018368  0x00001554 branch  0x000047f3 
+ 00018369  0x00001557 enable  0x0000001c 
+ 00018370  0x00001558 branch  0x000047cc 
+ 00018371  0x0000155b enable  0x0000001c 
+ 00018372  0x0000155c set1  0x00000010 , 0x00000000 
+ 00018373  0x0000155d branch  0x000047cc 
+ 00018374  0x00001560 set1  0x00000002 , 0x00000015 
+ 00018375  0x00001562 enable  0x0000001d 
+ 00018376  0x00001563 branch  0x000047cc 
+ 00018377  0x00001567 set1  0x00000002 , 0x00000015 
+ 00018378  0x00001568 enable  0x0000001d 
+ 00018379  0x00001569 set1  0x00000010 , 0x00000000 
+ 00018380  0x0000156c bpatch  0x00000079 , 0x0000400f 
+ 00018381  0x0000156d fetch  0x00000001 , 0x0000004c 
+ 00018382  0x0000156e bbit0  0x00000005 , 0x000047e1 
+ 00018383  0x0000156f sub  0x00000001 , 0x00000003 , 0x0000003e 
+ 00018384  0x00001570 branch  0x000047e1 , 0x00000002 
+ 00018385  0x00001571 disable  0x0000000e 
+ 00018386  0x00001572 disable  0x0000001c 
+ 00018387  0x00001573 enable  0x0000001d 
+ 00018388  0x00001574 disable  0x00000007 
+ 00018389  0x00001575 set1  0x00000001 , 0x00000015 
+ 00018390  0x00001576 isolate1  0x00000002 , 0x00000015 
+ 00018391  0x00001577 branch  0x000047db , 0x00000001 
+ 00018392  0x00001578 setarg  0x000abeee 
+ 00018393  0x00001579 inject  0x00000003 , 0x00000014 
+ 00018394  0x0000157a branch  0x000047df 
+ 00018395  0x0000157c setarg  0x005faeba 
+ 00018396  0x0000157d inject  0x00000003 , 0x00000018 
+ 00018397  0x0000157e setarg  0x00000012 
+ 00018398  0x0000157f inject  0x00000003 , 0x00000006 
+ 00018399  0x00001581 enable  0x00000007 
+ 00018400  0x00001582 set1  0x00000010 , 0x00000000 
+ 00018401  0x00001584 enable  0x0000000e 
+ 00018402  0x00001585 enable  0x00000009 
+ 00018403  0x00001586 bmark1  0x00000005 , 0x000047fc 
+ 00018404  0x00001587 fetch  0x00000001 , 0x000041dc 
+ 00018405  0x00001588 inject  0x00000003 , 0x00000003 
+ 00018406  0x00001589 fetch  0x00000002 , 0x000041dd 
+ 00018407  0x0000158a iforce  0x00000039 
+ 00018408  0x0000158b bmark1  0x00000010 , 0x000047eb 
+ 00018409  0x0000158c inject  0x00000003 , 0x00000005 
+ 00018410  0x0000158d branch  0x000047ec 
+ 00018411  0x0000158f inject  0x00000003 , 0x0000000d 
+ 00018412  0x00001591 deposit  0x00000039 
+ 00018413  0x00001592 branch  0x000047f3 , 0x00000034 
+ 00018414  0x00001593 fetch  0x00000002 , 0x0000016d 
+ 00018415  0x00001594 iforce  0x00000006 
+ 00018416  0x00001596 ifetch  0x00000001 , 0x00000006 
+ 00018417  0x00001597 inject  0x00000003 , 0x00000008 
+ 00018418  0x00001598 loop  0x000047f0 
+ 00018419  0x0000159c enable  0x00000008 
+ 00018420  0x0000159d inject  0x00000003 , 0x00000010 
+ 00018421  0x0000159e disable  0x00000008 
+ 00018422  0x0000159f call  0x000044bd 
+ 00018423  0x000015a0 fetch  0x00000001 , 0x0000004c 
+ 00018424  0x000015a1 bbit0  0x00000005 , 0x00004649 
+ 00018425  0x000015a2 force  0x00000000 , 0x0000003f 
+ 00018426  0x000015a3 inject  0x00000003 , 0x00000006 
+ 00018427  0x000015a4 branch  0x00004649 
+ 00018428  0x000015a8 bpatch  0x0000007a , 0x0000400f 
+ 00018429  0x000015a9 bmark1  0x00000010 , 0x00004804 
+ 00018430  0x000015ab fetch  0x00000001 , 0x0000017e 
+ 00018431  0x000015ac inject  0x00000003 , 0x00000003 
+ 00018432  0x000015ad fetch  0x00000001 , 0x0000015d 
+ 00018433  0x000015ae iforce  0x00000013 
+ 00018434  0x000015af inject  0x00000003 , 0x00000005 
+ 00018435  0x000015b0 branch  0x00004809 
+ 00018436  0x000015b2 fetch  0x00000001 , 0x0000017e 
+ 00018437  0x000015b3 inject  0x00000003 , 0x00000003 
+ 00018438  0x000015b4 fetch  0x00000002 , 0x0000015d 
+ 00018439  0x000015b5 iforce  0x00000013 
+ 00018440  0x000015b6 inject  0x00000003 , 0x0000000d 
+ 00018441  0x000015b8 arg  0x0000054d , 0x00000006 
+ 00018442  0x000015ba copy  0x00000013 , 0x0000003e 
+ 00018443  0x000015bb branch  0x00004810 , 0x00000005 
+ 00018444  0x000015bc ifetch  0x00000001 , 0x00000006 
+ 00018445  0x000015bd inject  0x00000003 , 0x00000008 
+ 00018446  0x000015be increase  0xffffffff , 0x00000013 
+ 00018447  0x000015bf branch  0x0000480a 
+ 00018448  0x000015c1 fetch  0x00000002 , 0x000000fa 
+ 00018449  0x000015c2 increase  0x00000001 , 0x0000003f 
+ 00018450  0x000015c3 store  0x00000002 , 0x000000fa 
+ 00018451  0x000015c4 branch  0x000047f3 
+ 00018452  0x000015c8 fetch  0x00000004 , 0x00000163 
+ 00018453  0x000015c9 add  0x0000003f , 0x00000007 , 0x00000011 
+ 00018454  0x000015ca fetch  0x00000002 , 0x0000016f 
+ 00018455  0x000015cb nbranch  0x0000481a , 0x00000034 
+ 00018456  0x000015cc increase  0xfffffffd , 0x00000011 
+ 00018457  0x000015cd branch  0x00004822 
+ 00018458  0x000015cf mul32  0x0000003f , 0x0000000c , 0x0000003f 
+ 00018459  0x000015d0 fetcht  0x00000002 , 0x00008040 
+ 00018460  0x000015d1 increase  0x00000001 , 0x00000002 
+ 00018461  0x000015d3 isub  0x00000002 , 0x0000003f 
+ 00018462  0x000015d4 nbranch  0x00004821 , 0x00000002 
+ 00018463  0x000015d5 increase  0xffffffff , 0x00000011 
+ 00018464  0x000015d6 branch  0x0000481d 
+ 00018465  0x000015d8 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00018466  0x000015da until  0x0000003e , 0x00000023 
+ 00018467  0x000015db compare  0x00000000 , 0x00000022 , 0x00000003 
+ 00018468  0x000015dc nbranch  0x00004822 , 0x00000001 
+ 00018469  0x000015dd iforce  0x00000029 
+ 00018470  0x000015de copy  0x00000011 , 0x00000028 
+ 00018471  0x000015df iforce  0x00000029 
+ 00018472  0x000015e0 rtn 
+ 00018473  0x000015e4 bpatch  0x0000007b , 0x0000400f 
+ 00018474  0x000015e5 until  0x0000003e , 0x00000022 
+ 00018475  0x000015e6 deposit  0x0000001a 
+ 00018476  0x000015e7 iforce  0x00000006 
+ 00018477  0x000015e8 rshift16 , 0x0000003f , 0x0000003f 
+ 00018478  0x000015e9 isub  0x00000022 , 0x00000039 
+ 00018479  0x000015ea and_into  0x00000003 , 0x00000039 
+ 00018480  0x000015eb nbranch  0x00004833 , 0x00000005 
+ 00018481  0x000015ec force  0x00000000 , 0x0000003f 
+ 00018482  0x000015ed branch  0x00004837 
+ 00018483  0x000015ef arg  0x00000ea6 , 0x00000002 
+ 00018484  0x000015f0 force  0x00000000 , 0x0000003f 
+ 00018485  0x000015f2 iadd  0x00000002 , 0x0000003f 
+ 00018486  0x000015f3 loop  0x00004835 
+ 00018487  0x000015f5 iadd  0x00000006 , 0x0000003f 
+ 00018488  0x000015f6 div  0x0000003f , 0x0000000c 
+ 00018489  0x000015f7 call  0x00007d61 
+ 00018490  0x000015f8 quotient  0x0000003f 
+ 00018491  0x000015f9 store  0x00000002 , 0x0000016f 
+ 00018492  0x000015fa rtn 
+ 00018493  0x000015fd bpatch  0x0000007c , 0x0000400f 
+ 00018494  0x000015fe deposit  0x0000001a 
+ 00018495  0x000015ff copy  0x00000019 , 0x00000002 
+ 00018496  0x00001600 isub  0x00000002 , 0x0000003e 
+ 00018497  0x00001601 nsetflag  0x00000002 , 0x0000002c , 0x0000003f 
+ 00018498  0x00001602 isub  0x00000002 , 0x00000002 
+ 00018499  0x00001603 setarg  0x00000ea6 
+ 00018500  0x00001604 isolate0  0x0000000f , 0x00000002 
+ 00018501  0x00001605 branch  0x00004848 , 0x00000001 
+ 00018502  0x00001606 setarg  0xffff0ea6 
+ 00018503  0x00001607 iadd  0x00000002 , 0x00000002 
+ 00018504  0x00001609 storet  0x00000006 , 0x00000443 
+ 00018505  0x0000160a rtn  0x00000036 
+ 00018506  0x0000160b storet  0x00000006 , 0x00000038 
+ 00018507  0x0000160c rtn 
+ 00018508  0x0000160f disable  0x00000030 
+ 00018509  0x00001610 fetch  0x00000006 , 0x00000443 
+ 00018510  0x00001611 branch  0x00004850 , 0x00000036 
+ 00018511  0x00001612 fetch  0x00000006 , 0x00000038 
+ 00018512  0x00001614 iadd  0x00000019 , 0x00000030 
+ 00018513  0x00001615 increase  0x0000000a , 0x00000030 
+ 00018514  0x00001616 setarg  0x00000ea6 
+ 00018515  0x00001617 isub  0x00000030 , 0x0000003f 
+ 00018516  0x00001618 isolate0  0x0000000f , 0x0000003f 
+ 00018517  0x00001619 branch  0x0000485a , 0x00000001 
+ 00018518  0x0000161a setarg  0x0000f15a 
+ 00018519  0x0000161b iadd  0x00000030 , 0x00000030 
+ 00018520  0x0000161d copy  0x00000030 , 0x0000001a 
+ 00018521  0x0000161e rtn 
+ 00018522  0x00001620 force  0x00000000 , 0x0000003e 
+ 00018523  0x00001621 branch  0x00004858 
+ 00018524  0x00001629 bpatch  0x0000007d , 0x0000400f 
+ 00018525  0x0000162a call  0x00004915 
+ 00018526  0x0000162b copy  0x00000021 , 0x0000003f 
+ 00018527  0x0000162c and_into  0x00000180 , 0x0000003f 
+ 00018528  0x0000162d compare  0x00000003 , 0x00000024 , 0x00000007 
+ 00018529  0x0000162e nbranch  0x00004865 , 0x00000001 
+ 00018530  0x0000162f rshift3  0x0000003f , 0x0000003f 
+ 00018531  0x00001630 iadd  0x00000017 , 0x0000003f 
+ 00018532  0x00001631 branch  0x00004866 
+ 00018533  0x00001633 copy  0x00000017 , 0x0000003f 
+ 00018534  0x00001635 div  0x0000003f , 0x0000004f 
+ 00018535  0x00001636 pulse  0x00000015 
+ 00018536  0x00001637 call  0x00007d61 
+ 00018537  0x00001638 remainder  0x00000011 
+ 00018538  0x00001639 add  0x00000011 , 0xffffffd8 , 0x00000002 
+ 00018539  0x0000163a branch  0x0000486e , 0x00000002 
+ 00018540  0x0000163b lshift  0x00000011 , 0x00000002 
+ 00018541  0x0000163c branch  0x00004870 
+ 00018542  0x0000163e lshift  0x00000002 , 0x00000002 
+ 00018543  0x0000163f increase  0x00000001 , 0x00000002 
+ 00018544  0x00001641 bpatch  0x0000007e , 0x0000400f 
+ 00018545  0x00001642 fetch  0x00000001 , 0x00000031 
+ 00018546  0x00001643 bbit0  0x00000003 , 0x00004881 
+ 00018547  0x00001645 fetch  0x00000004 , 0x000040d2 
+ 00018548  0x00001646 isub  0x00000021 , 0x0000003e 
+ 00018549  0x00001647 branch  0x00004881 , 0x00000002 
+ 00018550  0x00001648 call  0x000048a0 
+ 00018551  0x00001649 fetch  0x00000001 , 0x000040d9 
+ 00018552  0x0000164a rtn  0x00000034 
+ 00018553  0x0000164b fetch  0x00000001 , 0x00000031 
+ 00018554  0x0000164c set1  0x00000002 , 0x0000003f 
+ 00018555  0x0000164d store  0x00000001 , 0x00000031 
+ 00018556  0x0000164e fetch  0x00000005 , 0x000040e7 
+ 00018557  0x0000164f store  0x00000005 , 0x000040da 
+ 00018558  0x00001650 ifetch  0x00000005 , 0x00000006 
+ 00018559  0x00001651 store  0x00000005 , 0x000040df 
+ 00018560  0x00001652 call  0x000048a5 
+ 00018561  0x00001654 fetch  0x00000001 , 0x00000031 
+ 00018562  0x00001655 rtnbit0  0x00000002 
+ 00018563  0x00001656 isolate1  0x00000001 , 0x00000021 
+ 00018564  0x00001657 branch  0x0000489d , 0x00000001 
+ 00018565  0x00001658 rshift3  0x00000002 , 0x00000011 
+ 00018566  0x00001659 and  0x00000002 , 0x00000007 , 0x00000007 
+ 00018567  0x0000165a setarg  0x000040da 
+ 00018568  0x0000165b iadd  0x00000011 , 0x00000011 
+ 00018569  0x0000165c ifetch  0x00000001 , 0x00000011 
+ 00018570  0x0000165d qisolate0  0x0000003f 
+ 00018571  0x0000165e branch  0x0000488e , 0x00000001 
+ 00018572  0x0000165f deposit  0x00000002 
+ 00018573  0x00001660 branch  0x0000489a 
+ 00018574  0x00001662 fetch  0x00000001 , 0x000040e4 
+ 00018575  0x00001663 iforce  0x00000012 
+ 00018576  0x00001664 deposit  0x00000021 
+ 00018577  0x00001665 and_into  0x00000180 , 0x0000003f 
+ 00018578  0x00001666 rshift3  0x0000003f , 0x0000003f 
+ 00018579  0x00001667 iadd  0x00000017 , 0x0000003f 
+ 00018580  0x00001668 idiv  0x00000012 
+ 00018581  0x00001669 setarg  0x000040f2 
+ 00018582  0x0000166a call  0x00007d61 
+ 00018583  0x0000166b remainder  0x00000011 
+ 00018584  0x0000166c iadd  0x00000011 , 0x00000006 
+ 00018585  0x0000166d ifetch  0x00000001 , 0x00000006 
+ 00018586  0x0000166f store  0x00000001 , 0x000040e5 
+ 00018587  0x00001670 iforce  0x00000002 
+ 00018588  0x00001671 rtn 
+ 00018589  0x00001674 fetch  0x00000001 , 0x000040e5 
+ 00018590  0x00001675 iforce  0x00000002 
+ 00018591  0x00001676 rtn 
+ 00018592  0x00001679 fetch  0x00000001 , 0x00000031 
+ 00018593  0x0000167a set0  0x00000002 , 0x0000003f 
+ 00018594  0x0000167b set0  0x00000003 , 0x0000003f 
+ 00018595  0x0000167c store  0x00000001 , 0x00000031 
+ 00018596  0x0000167d rtn 
+ 00018597  0x00001684 bpatch  0x0000007f , 0x0000400f 
+ 00018598  0x00001685 arg  0x000040f2 , 0x00000005 
+ 00018599  0x00001686 force  0x0000000a , 0x00000039 
+ 00018600  0x00001687 call  0x00007ca1 
+ 00018601  0x00001688 arg  0x000040f2 , 0x00000005 
+ 00018602  0x00001689 force  0x00000000 , 0x00000013 
+ 00018603  0x0000168a force  0x00000002 , 0x00000007 
+ 00018604  0x0000168c fetch  0x00000005 , 0x000040da 
+ 00018605  0x0000168d iforce  0x00000002 
+ 00018606  0x0000168e compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00018607  0x0000168f branch  0x000048b1 , 0x00000001 
+ 00018608  0x00001690 rshift  0x00000002 , 0x00000002 
+ 00018609  0x00001692 isolate0  0x00000000 , 0x00000002 
+ 00018610  0x00001693 branch  0x000048b5 , 0x00000001 
+ 00018611  0x00001694 deposit  0x00000013 
+ 00018612  0x00001695 istore  0x00000001 , 0x00000005 
+ 00018613  0x00001697 rshift2  0x00000002 , 0x00000002 
+ 00018614  0x00001698 increase  0x00000002 , 0x00000013 
+ 00018615  0x00001699 compare  0x00000028 , 0x00000013 , 0x000000fe 
+ 00018616  0x0000169a nbranch  0x000048be , 0x00000001 
+ 00018617  0x0000169b fetch  0x00000005 , 0x000040df 
+ 00018618  0x0000169c iforce  0x00000002 
+ 00018619  0x0000169d compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00018620  0x0000169e branch  0x000048be , 0x00000001 
+ 00018621  0x0000169f rshift  0x00000002 , 0x00000002 
+ 00018622  0x000016a1 sub  0x00000013 , 0x0000004e , 0x0000003e 
+ 00018623  0x000016a2 branch  0x000048b1 , 0x00000002 
+ 00018624  0x000016a3 force  0x00000001 , 0x00000013 
+ 00018625  0x000016a4 increase  0xffffffff , 0x00000007 
+ 00018626  0x000016a5 nbranch  0x000048ac , 0x00000005 
+ 00018627  0x000016a6 arg  0x000040f2 , 0x00000011 
+ 00018628  0x000016a7 deposit  0x00000005 
+ 00018629  0x000016a8 isub  0x00000011 , 0x0000003f 
+ 00018630  0x000016a9 store  0x00000001 , 0x000040e4 
+ 00018631  0x000016aa rtn 
+ 00018632  0x000016ad bpatch  0x00000080 , 0x00004010 
+ 00018633  0x000016ae call  0x0000485c 
+ 00018634  0x000016af fetch  0x00000001 , 0x0000017d 
+ 00018635  0x000016b0 bbit0  0x00000005 , 0x000048cd 
+ 00018636  0x000016b1 fetcht  0x00000001 , 0x000004c8 
+ 00018637  0x000016b3 branch  0x0000491c 
+ 00018638  0x000016b7 bpatch  0x00000081 , 0x00004010 
+ 00018639  0x000016b8 call  0x0000485c 
+ 00018640  0x000016b9 fetch  0x00000001 , 0x0000017d 
+ 00018641  0x000016ba bbit0  0x00000004 , 0x000048d3 
+ 00018642  0x000016bb fetcht  0x00000001 , 0x000004c7 
+ 00018643  0x000016bd branch  0x00004930 
+ 00018644  0x000016c1 force  0x00000000 , 0x0000002d 
+ 00018645  0x000016c2 fetch  0x00000003 , 0x000040a7 
+ 00018646  0x000016c3 iforce  0x0000002c 
+ 00018647  0x000016c4 rtn 
+ 00018648  0x000016c7 bpatch  0x00000082 , 0x00004010 
+ 00018649  0x000016c8 fetch  0x00000001 , 0x000041d4 
+ 00018650  0x000016c9 icopy  0x0000002d 
+ 00018651  0x000016ca fetch  0x00000003 , 0x000041d1 
+ 00018652  0x000016cb icopy  0x0000002c 
+ 00018653  0x000016cc rtn 
+ 00018654  0x000016cf bpatch  0x00000083 , 0x00004010 
+ 00018655  0x000016d0 fetch  0x00000002 , 0x000040a4 
+ 00018656  0x000016d1 icopy  0x0000002e 
+ 00018657  0x000016d2 fetch  0x00000001 , 0x000040a3 
+ 00018658  0x000016d3 icopy  0x0000002d 
+ 00018659  0x000016d4 fetch  0x00000003 , 0x000040a0 
+ 00018660  0x000016d5 icopy  0x0000002c 
+ 00018661  0x000016d6 rtn 
+ 00018662  0x000016d9 bpatch  0x00000084 , 0x00004010 
+ 00018663  0x000016da fetch  0x00000002 , 0x00000044 
+ 00018664  0x000016db icopy  0x0000002e 
+ 00018665  0x000016dc fetch  0x00000001 , 0x00000043 
+ 00018666  0x000016dd icopy  0x0000002d 
+ 00018667  0x000016de fetch  0x00000003 , 0x00000040 
+ 00018668  0x000016df icopy  0x0000002c 
+ 00018669  0x000016e0 rtn 
+ 00018670  0x000016e4 bmark1  0x00000020 , 0x000048f1 
+ 00018671  0x000016e5 rtnmark0  0x0000001d 
+ 00018672  0x000016e6 rtnmark0  0x0000001f 
+ 00018673  0x000016e8 and_into  0xffffff00 , 0x0000002c 
+ 00018674  0x000016e9 pulse  0x00000015 
+ 00018675  0x000016ea nop  0x00000020 
+ 00018676  0x000016eb rtn 
+ 00018677  0x000016ef bpatch  0x00000085 , 0x00004010 
+ 00018678  0x000016f0 branch  0x00004906 , 0x00000021 
+ 00018679  0x000016f1 hjam  0x000000d4 , 0x00000955 
+ 00018680  0x000016f2 nop  0x00000004 
+ 00018681  0x000016f3 hjam  0x000000d2 , 0x00000955 
+ 00018682  0x000016f4 nop  0x00000004 
+ 00018683  0x000016f5 hjam  0x000000d1 , 0x00000955 
+ 00018684  0x000016f6 nop  0x00000004 
+ 00018685  0x000016f7 fetch  0x00000001 , 0x000041df 
+ 00018686  0x000016f8 beq  0x00000000 , 0x00004904 
+ 00018687  0x000016f9 beq  0x00000001 , 0x00004912 
+ 00018688  0x000016fa beq  0x00000002 , 0x00004904 
+ 00018689  0x000016fb beq  0x00000003 , 0x00004912 
+ 00018690  0x000016fc beq  0x00000004 , 0x00004912 
+ 00018691  0x000016fd beq  0x00000020 , 0x00004912 
+ 00018692  0x00001700 hjam  0x000000d0 , 0x00000955 
+ 00018693  0x00001701 hjam  0x000000e0 , 0x00000956 
+ 00018694  0x00001703 force  0x00000008 , 0x00000015 
+ 00018695  0x00001704 force  0x00000000 , 0x00000015 
+ 00018696  0x00001705 disable  0x00000021 
+ 00018697  0x00001706 disable  0x00000020 
+ 00018698  0x00001707 pulse  0x0000001e 
+ 00018699  0x00001708 hjam  0x00000000 , 0x00008902 
+ 00018700  0x00001709 hjam  0x00000000 , 0x00008901 
+ 00018701  0x0000170a hjam  0x00000000 , 0x00008900 
+ 00018702  0x0000170b hjam  0x00000000 , 0x00008903 
+ 00018703  0x0000170c hjam  0x00000070 , 0x00008904 
+ 00018704  0x0000170d hjam  0x00000000 , 0x00008906 
+ 00018705  0x0000170e rtn 
+ 00018706  0x00001714 hjam  0x000000d0 , 0x00000955 
+ 00018707  0x00001715 hjam  0x000000c0 , 0x00000956 
+ 00018708  0x00001716 branch  0x00004906 
+ 00018709  0x00001719 bpatch  0x00000086 , 0x00004010 
+ 00018710  0x0000171a hjam  0x00000000 , 0x00008902 
+ 00018711  0x0000171b hjam  0x00000000 , 0x00008901 
+ 00018712  0x0000171c hjam  0x00000018 , 0x00008900 
+ 00018713  0x0000171d hjam  0x000000a7 , 0x00008903 
+ 00018714  0x0000171e hjam  0x0000007f , 0x00008904 
+ 00018715  0x0000171f rtn 
+ 00018716  0x00001722 bpatch  0x00000087 , 0x00004010 
+ 00018717  0x00001724 storet  0x00000001 , 0x00000017 
+ 00018718  0x00001725 add  0x00000002 , 0x00000004 , 0x00000011 
+ 00018719  0x00001726 hjam  0x00000007 , 0x0000096d 
+ 00018720  0x00001727 branch  0x00004980 
+ 00018721  0x00001729 bpatch  0x00000088 , 0x00004011 
+ 00018722  0x0000172a hjam  0x000000cf , 0x00008901 
+ 00018723  0x0000172b nop  0x0000000a 
+ 00018724  0x0000172c hjam  0x000000ff , 0x00008900 
+ 00018725  0x0000172d hjam  0x000000af , 0x00008903 
+ 00018726  0x0000172e hjam  0x000000ff , 0x00008904 
+ 00018727  0x0000172f nop  0x0000000a 
+ 00018728  0x00001730 hjam  0x000000a0 , 0x00008902 
+ 00018729  0x00001731 rtn 
+ 00018730  0x00001734 fetch  0x00000001 , 0x000041e1 
+ 00018731  0x00001735 branch  0x0000492e , 0x00000034 
+ 00018732  0x00001737 add  0x00000002 , 0x00000002 , 0x00000011 
+ 00018733  0x00001738 rtn 
+ 00018734  0x0000173a add  0x00000002 , 0x00000000 , 0x00000011 
+ 00018735  0x0000173b rtn 
+ 00018736  0x0000173e bpatch  0x00000089 , 0x00004011 
+ 00018737  0x0000173f storet  0x00000001 , 0x00000017 
+ 00018738  0x00001740 call  0x0000492a 
+ 00018739  0x00001741 call  0x00004980 
+ 00018740  0x00001742 setarg  0x00000500 
+ 00018741  0x00001743 call  0x00004a8e 
+ 00018742  0x00001745 hjam  0x00000001 , 0x00008906 
+ 00018743  0x00001746 hjam  0x0000003c , 0x00008900 
+ 00018744  0x00001747 hjam  0x000000e0 , 0x00008901 
+ 00018745  0x00001748 hjam  0x00000012 , 0x0000096d 
+ 00018746  0x00001749 nop  0x0000000a 
+ 00018747  0x0000174a hjam  0x00000001 , 0x00008902 
+ 00018748  0x0000174b hjam  0x0000003d , 0x00008902 
+ 00018749  0x0000174c nop  0x0000000a 
+ 00018750  0x0000174d hjam  0x000000b7 , 0x00008903 
+ 00018751  0x0000174e nop  0x0000000a 
+ 00018752  0x0000174f hjam  0x0000007f , 0x00008902 
+ 00018753  0x00001750 fetch  0x00000001 , 0x000041df 
+ 00018754  0x00001751 beq  0x00000000 , 0x00004948 
+ 00018755  0x00001752 beq  0x00000001 , 0x0000494c 
+ 00018756  0x00001753 beq  0x00000002 , 0x00004950 
+ 00018757  0x00001754 beq  0x00000003 , 0x00004954 
+ 00018758  0x00001755 beq  0x00000004 , 0x00004958 
+ 00018759  0x00001756 beq  0x00000020 , 0x0000495c 
+ 00018760  0x00001758 hjam  0x000000f0 , 0x00000956 
+ 00018761  0x00001759 call  0x00004962 
+ 00018762  0x0000175a hjam  0x000000d8 , 0x00000955 
+ 00018763  0x0000175b rtn 
+ 00018764  0x0000175e hjam  0x000000df , 0x00000956 
+ 00018765  0x0000175f call  0x00004962 
+ 00018766  0x00001760 hjam  0x000000df , 0x00000955 
+ 00018767  0x00001761 rtn 
+ 00018768  0x00001764 hjam  0x000000ff , 0x00000956 
+ 00018769  0x00001765 call  0x00004962 
+ 00018770  0x00001766 hjam  0x000000df , 0x00000955 
+ 00018771  0x00001767 rtn 
+ 00018772  0x00001769 hjam  0x000000ce , 0x00000956 
+ 00018773  0x0000176a call  0x00004962 
+ 00018774  0x0000176b hjam  0x000000d8 , 0x00000955 
+ 00018775  0x0000176c rtn 
+ 00018776  0x0000176f hjam  0x000000cb , 0x00000956 
+ 00018777  0x00001770 call  0x00004962 
+ 00018778  0x00001771 hjam  0x000000d8 , 0x00000955 
+ 00018779  0x00001772 rtn 
+ 00018780  0x00001775 hjam  0x000000d0 , 0x00000955 
+ 00018781  0x00001776 hjam  0x000000c0 , 0x00000956 
+ 00018782  0x00001777 hjam  0x0000004c , 0x00000957 
+ 00018783  0x00001778 hjam  0x0000006c , 0x00000958 
+ 00018784  0x00001779 hjam  0x00000050 , 0x00000959 
+ 00018785  0x0000177a rtn 
+ 00018786  0x0000177d nop  0x00000004 
+ 00018787  0x0000177e hjam  0x000000d1 , 0x00000955 
+ 00018788  0x0000177f nop  0x00000004 
+ 00018789  0x00001780 hjam  0x000000d2 , 0x00000955 
+ 00018790  0x00001781 nop  0x00000004 
+ 00018791  0x00001782 hjam  0x000000d4 , 0x00000955 
+ 00018792  0x00001783 nop  0x00000004 
+ 00018793  0x00001784 rtn 
+ 00018794  0x00001788 hjam  0x00000006 , 0x00008042 
+ 00018795  0x00001789 ncall  0x000067bc , 0x0000002b 
+ 00018796  0x0000178b fetch  0x00000002 , 0x000040c3 
+ 00018797  0x0000178c bbit0  0x0000000e , 0x0000496c 
+ 00018798  0x0000178d iforce  0x00000006 
+ 00018799  0x0000178e arg  0x00008900 , 0x00000002 
+ 00018800  0x00001790 ifetch  0x00000001 , 0x00000006 
+ 00018801  0x00001791 beq  0x000000ff , 0x00004976 
+ 00018802  0x00001792 ior  0x00000002 , 0x00000005 
+ 00018803  0x00001793 ifetch  0x00000001 , 0x00000006 
+ 00018804  0x00001794 istore  0x00000001 , 0x00000005 
+ 00018805  0x00001795 branch  0x00004970 
+ 00018806  0x00001797 bpatch  0x0000008a , 0x00004011 
+ 00018807  0x00001798 call  0x00004bba 
+ 00018808  0x00001799 call  0x000049c8 
+ 00018809  0x0000179b setarg  0x000007d0 
+ 00018810  0x0000179c iadd  0x00000022 , 0x0000003f 
+ 00018811  0x0000179d store  0x00000004 , 0x00000167 
+ 00018812  0x0000179e set1  0x00000003 , 0x00000015 
+ 00018813  0x0000179f force  0x00000000 , 0x00000015 
+ 00018814  0x000017a0 ncall  0x00004997 , 0x0000002b 
+ 00018815  0x000017a1 branch  0x000049aa 
+ 00018816  0x000017a5 bpatch  0x0000008b , 0x00004011 
+ 00018817  0x000017a6 setarg  0x00000960 
+ 00018818  0x000017a7 iadd  0x00000011 , 0x00000002 
+ 00018819  0x000017a8 fetch  0x00000001 , 0x000040bd 
+ 00018820  0x000017a9 hjam  0x00000004 , 0x0000895f 
+ 00018821  0x000017aa imul32  0x00000002 , 0x0000003f 
+ 00018822  0x000017ab fetcht  0x00000001 , 0x000040be 
+ 00018823  0x000017ac idiv  0x00000002 
+ 00018824  0x000017ad call  0x00007d61 
+ 00018825  0x000017ae quotient  0x00000011 
+ 00018826  0x000017af remainder  0x0000003f 
+ 00018827  0x000017b0 lshift16  0x0000003f , 0x0000003f 
+ 00018828  0x000017b1 lshift4  0x0000003f , 0x0000003f 
+ 00018829  0x000017b2 idiv  0x00000002 
+ 00018830  0x000017b3 call  0x00007d61 
+ 00018831  0x000017b4 quotient  0x0000003f 
+ 00018832  0x000017b5 lshift8  0x0000003f , 0x0000003f 
+ 00018833  0x000017b6 lshift  0x0000003f , 0x0000003f 
+ 00018834  0x000017b7 ior  0x00000011 , 0x0000003f 
+ 00018835  0x000017b8 hstore  0x00000004 , 0x00008960 
+ 00018836  0x000017b9 hjam  0x00000044 , 0x0000895f 
+ 00018837  0x000017ba hjam  0x000000c4 , 0x0000895f 
+ 00018838  0x000017bb rtn 
+ 00018839  0x000017bf bpatch  0x0000008c , 0x00004011 
+ 00018840  0x000017c0 hjam  0x00000002 , 0x00008906 
+ 00018841  0x000017c1 setarg  0x0003d090 
+ 00018842  0x000017c2 call  0x00004a8e 
+ 00018843  0x000017c3 hjam  0x0000007f , 0x00008900 
+ 00018844  0x000017c4 nop  0x00000082 
+ 00018845  0x000017c5 hjam  0x00000030 , 0x00008952 
+ 00018846  0x000017c6 hjam  0x000000d0 , 0x00008901 
+ 00018847  0x000017c7 hjam  0x00000070 , 0x00008952 
+ 00018848  0x000017c8 hjam  0x000000f0 , 0x00008952 
+ 00018849  0x000017c9 force  0x00000032 , 0x00000039 
+ 00018850  0x000017cb hfetch  0x00000001 , 0x00008990 
+ 00018851  0x000017cc bbit1  0x00000005 , 0x000049a5 
+ 00018852  0x000017cd loop  0x000049a2 
+ 00018853  0x000017cf store  0x00000001 , 0x000040ce 
+ 00018854  0x000017d0 hjam  0x00000000 , 0x00008901 
+ 00018855  0x000017d1 hjam  0x00000000 , 0x00008900 
+ 00018856  0x000017d2 hjam  0x00000000 , 0x00008906 
+ 00018857  0x000017d3 rtn 
+ 00018858  0x000017d6 bpatch  0x0000008d , 0x00004011 
+ 00018859  0x000017d7 fetch  0x00000001 , 0x000040ce 
+ 00018860  0x000017d8 set1  0x00000005 , 0x0000003f 
+ 00018861  0x000017d9 hstore  0x00000001 , 0x00008952 
+ 00018862  0x000017da hfetcht  0x00000001 , 0x00008950 
+ 00018863  0x000017db and_into  0x00000007 , 0x00000002 
+ 00018864  0x000017dc lshift3  0x0000003f , 0x0000003f 
+ 00018865  0x000017dd ior  0x00000002 , 0x0000003f 
+ 00018866  0x000017de hstore  0x00000001 , 0x00008950 
+ 00018867  0x000017df hfetch  0x00000001 , 0x00008951 
+ 00018868  0x000017e0 set0  0x00000000 , 0x0000003f 
+ 00018869  0x000017e1 hstore  0x00000001 , 0x00008951 
+ 00018870  0x000017e2 hfetch  0x00000001 , 0x00008952 
+ 00018871  0x000017e3 set0  0x00000005 , 0x0000003f 
+ 00018872  0x000017e4 hstore  0x00000001 , 0x00008952 
+ 00018873  0x000017e5 rtn 
+ 00018874  0x000017e8 bpatch  0x0000008e , 0x00004011 
+ 00018875  0x000017e9 hfetch  0x00000002 , 0x00008991 
+ 00018876  0x000017ea rshift4  0x0000003f , 0x0000003f 
+ 00018877  0x000017eb rshift3  0x0000003f , 0x0000003f 
+ 00018878  0x000017ec sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00018879  0x000017ed and_into  0x000000ff , 0x0000003f 
+ 00018880  0x000017ee div  0x0000003f , 0x0000000a 
+ 00018881  0x000017ef call  0x00007d61 
+ 00018882  0x000017f0 quotient  0x0000003f 
+ 00018883  0x000017f1 lshift4  0x0000003f , 0x0000003f 
+ 00018884  0x000017f2 remainder  0x00000002 
+ 00018885  0x000017f3 ior  0x00000002 , 0x0000003f 
+ 00018886  0x000017f4 store  0x00000001 , 0x00000018 
+ 00018887  0x000017f5 rtn 
+ 00018888  0x000017f9 hjam  0x00000006 , 0x00008042 
+ 00018889  0x000017fa hfetch  0x00000001 , 0x0000896b 
+ 00018890  0x000017fb set0  0x00000004 , 0x0000003f 
+ 00018891  0x000017fc set0  0x00000005 , 0x0000003f 
+ 00018892  0x000017fd hstore  0x00000001 , 0x0000896b 
+ 00018893  0x000017fe hjam  0x00000000 , 0x00008905 
+ 00018894  0x000017ff hjam  0x00000000 , 0x00008904 
+ 00018895  0x00001800 hjam  0x00000070 , 0x00008904 
+ 00018896  0x00001801 hjam  0x000000ff , 0x00008905 
+ 00018897  0x00001802 hfetch  0x00000001 , 0x0000896b 
+ 00018898  0x00001803 set1  0x00000004 , 0x0000003f 
+ 00018899  0x00001804 set1  0x00000005 , 0x0000003f 
+ 00018900  0x00001805 hstore  0x00000001 , 0x0000896b 
+ 00018901  0x00001806 call  0x000049e8 
+ 00018902  0x00001807 hfetch  0x00000001 , 0x00008968 
+ 00018903  0x00001808 set1  0x00000007 , 0x0000003f 
+ 00018904  0x00001809 hstore  0x00000001 , 0x00008968 
+ 00018905  0x0000180a set0  0x00000007 , 0x0000003f 
+ 00018906  0x0000180b hstore  0x00000001 , 0x00008968 
+ 00018907  0x0000180c set1  0x00000007 , 0x0000003f 
+ 00018908  0x0000180d hstore  0x00000001 , 0x00008968 
+ 00018909  0x0000180e hjam  0x00000005 , 0x00008042 
+ 00018910  0x0000180f nop  0x00000001 
+ 00018911  0x00001810 hjam  0x00000004 , 0x00008042 
+ 00018912  0x00001811 hfetch  0x00000001 , 0x0000896b 
+ 00018913  0x00001812 and_into  0x000000cf , 0x0000003f 
+ 00018914  0x00001813 hstore  0x00000001 , 0x0000896b 
+ 00018915  0x00001814 or_into  0x00000030 , 0x0000003f 
+ 00018916  0x00001815 hstore  0x00000001 , 0x0000896b 
+ 00018917  0x00001816 rtn 
+ 00018918  0x0000181a setarg  0x00000f0f 
+ 00018919  0x0000181b branch  0x00004bd2 
+ 00018920  0x0000181e setarg  0x0000080f 
+ 00018921  0x0000181f branch  0x00004bd2 
+ 00018922  0x00001824 bpatch  0x0000008f , 0x00004011 
+ 00018923  0x00001825 call  0x00004921 
+ 00018924  0x00001826 disable  0x00000020 
+ 00018925  0x00001827 enable  0x00000021 
+ 00018926  0x00001828 pulse  0x00000016 
+ 00018927  0x00001829 rtn 
+ 00018928  0x0000182c bpatch  0x00000090 , 0x00004012 
+ 00018929  0x0000182d fetch  0x00000001 , 0x0000004c 
+ 00018930  0x0000182e isolate1  0x00000002 , 0x0000003f 
+ 00018931  0x0000182f setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00018932  0x00001830 hstore  0x00000001 , 0x00008011 
+ 00018933  0x00001831 arg  0x00000062 , 0x00000006 
+ 00018934  0x00001832 ifetch  0x00000009 , 0x00000006 
+ 00018935  0x00001833 iforce  0x00000032 
+ 00018936  0x00001834 ifetch  0x00000007 , 0x00000006 
+ 00018937  0x00001835 iforce  0x00000033 
+ 00018938  0x00001836 fetch  0x00000001 , 0x00000054 
+ 00018939  0x00001837 add  0x0000003f , 0xffffffff , 0x00000034 
+ 00018940  0x00001838 pulse  0x0000001a 
+ 00018941  0x00001839 rtn 
+ 00018942  0x0000183c deposit  0x0000001a 
+ 00018943  0x0000183d store  0x00000006 , 0x0000009a 
+ 00018944  0x0000183e disable  0x0000000d 
+ 00018945  0x0000183f nbranch  0x000048f5 , 0x00000018 
+ 00018946  0x00001840 arg  0x000003bb , 0x00000029 
+ 00018947  0x00001841 increase  0x00000001 , 0x00000028 
+ 00018948  0x00001842 and_into  0x000001fc , 0x00000028 
+ 00018949  0x00001843 rtn 
+ 00018950  0x00001848 enable  0x0000000d 
+ 00018951  0x0000184a correlate  0x0000003e , 0x00000017 
+ 00018952  0x0000184b branch  0x000049fe , 0x00000018 
+ 00018953  0x0000184c compare  0x00000002 , 0x00000028 , 0x00000002 
+ 00018954  0x0000184d nbranch  0x00004a07 , 0x00000001 
+ 00018955  0x0000184e branch  0x000049fe 
+ 00018956  0x00001851 bpatch  0x00000091 , 0x00004012 
+ 00018957  0x00001852 arg  0x00000600 , 0x0000000b 
+ 00018958  0x00001853 enable  0x0000000d 
+ 00018959  0x00001854 correlate  0x00000023 , 0x00000026 
+ 00018960  0x00001855 disable  0x0000000d 
+ 00018961  0x00001856 nbranch  0x000048f5 , 0x00000018 
+ 00018962  0x00001857 rtn 
+ 00018963  0x0000185a bpatch  0x00000092 , 0x00004012 
+ 00018964  0x0000185b enable  0x0000000d 
+ 00018965  0x0000185c correlate  0x0000003e , 0x00000003 
+ 00018966  0x0000185d disable  0x0000000d 
+ 00018967  0x0000185e nbranch  0x000048f5 , 0x00000018 
+ 00018968  0x0000185f arg  0x000003bb , 0x00000029 
+ 00018969  0x00001860 and_into  0x000001fc , 0x00000028 
+ 00018970  0x00001861 rtn 
+ 00018971  0x00001865 bpatch  0x00000093 , 0x00004012 
+ 00018972  0x00001866 iforce  0x00000011 
+ 00018973  0x00001867 deposit  0x00000021 
+ 00018974  0x00001868 iadd  0x00000002 , 0x0000000b 
+ 00018975  0x00001869 copy  0x0000000b , 0x0000003f 
+ 00018976  0x0000186a store  0x00000004 , 0x000040ca 
+ 00018977  0x0000186b deposit  0x00000011 
+ 00018978  0x0000186c rtn 
+ 00018979  0x00001870 copy  0x0000003f , 0x00000002 
+ 00018980  0x00001871 bpatch  0x00000094 , 0x00004012 
+ 00018981  0x00001872 copy  0x00000002 , 0x0000003f 
+ 00018982  0x00001873 call  0x00007d2b 
+ 00018983  0x00001874 lshift16  0x00000021 , 0x0000003f 
+ 00018984  0x00001875 set1  0x0000002c , 0x0000003f 
+ 00018985  0x00001876 call  0x00007d14 
+ 00018986  0x00001877 set0  0x0000002c , 0x0000003f 
+ 00018987  0x00001878 call  0x00004a76 
+ 00018988  0x00001879 call  0x00007d14 
+ 00018989  0x0000187a rtn  0x00000028 
+ 00018990  0x0000187b call  0x00007d1e 
+ 00018991  0x0000187c iforce  0x0000001b 
+ 00018992  0x0000187d until  0x0000003e , 0x00000003 
+ 00018993  0x0000187e rtn 
+ 00018994  0x00001882 bpatch  0x00000095 , 0x00004012 
+ 00018995  0x00001883 branch  0x00004a37 , 0x00000030 
+ 00018996  0x00001884 until  0x00000029 , 0x00000026 
+ 00018997  0x00001886 copy  0x00000028 , 0x00000002 
+ 00018998  0x00001887 branch  0x00004a3a 
+ 00018999  0x00001889 branch  0x00004a39 , 0x0000002e 
+ 00019000  0x0000188a until  0x00000023 , 0x00000026 
+ 00019001  0x0000188c copy  0x00000022 , 0x00000002 
+ 00019002  0x0000188e branch  0x00004a46 , 0x00000028 
+ 00019003  0x0000188f compare  0x00000001 , 0x00000002 , 0x00000003 
+ 00019004  0x00001890 nbranch  0x00004a32 , 0x00000001 
+ 00019005  0x00001892 bpatch  0x00000096 , 0x00004012 
+ 00019006  0x00001893 fetch  0x00000001 , 0x00000030 
+ 00019007  0x00001894 rtnbit0  0x00000000 
+ 00019008  0x00001895 fetch  0x00000004 , 0x000040ca 
+ 00019009  0x00001896 isub  0x00000002 , 0x0000003f 
+ 00019010  0x00001897 nrtn  0x00000002 
+ 00019011  0x00001898 sub  0x0000003f , 0x000000ff , 0x0000003e 
+ 00019012  0x00001899 branch  0x00004a32 , 0x00000002 
+ 00019013  0x0000189a rtn 
+ 00019014  0x0000189c compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00019015  0x0000189d nbranch  0x00004a32 , 0x00000001 
+ 00019016  0x0000189e branch  0x00004a3d 
+ 00019017  0x000018a1 bpatch  0x00000097 , 0x00004012 
+ 00019018  0x000018a2 arg  0x00000600 , 0x0000000b 
+ 00019019  0x000018a3 branch  0x00004a32 
+ 00019020  0x000018a6 disable  0x00000028 
+ 00019021  0x000018a7 branch  0x00004a49 
+ 00019022  0x000018aa enable  0x00000028 
+ 00019023  0x000018ab branch  0x00004a49 
+ 00019024  0x000018ae bpatch  0x00000098 , 0x00004013 
+ 00019025  0x000018af call  0x000049f0 
+ 00019026  0x000018b0 disable  0x00000021 
+ 00019027  0x000018b1 enable  0x00000020 
+ 00019028  0x000018b2 rtn 
+ 00019029  0x000018b7 bpatch  0x00000099 , 0x00004013 
+ 00019030  0x000018b8 arg  0x00000e43 , 0x0000000b 
+ 00019031  0x000018b9 until  0x00000023 , 0x00000026 
+ 00019032  0x000018ba pulse  0x00000016 
+ 00019033  0x000018bb rtn 
+ 00019034  0x000018be bpatch  0x0000009a , 0x00004013 
+ 00019035  0x000018bf arg  0x00000d00 , 0x0000000b 
+ 00019036  0x000018c0 until  0x00000023 , 0x00000026 
+ 00019037  0x000018c1 rtn 
+ 00019038  0x000018c5 bpatch  0x0000009b , 0x00004013 
+ 00019039  0x000018c6 arg  0x00000e43 , 0x0000000b 
+ 00019040  0x000018c7 until  0x00000029 , 0x00000026 
+ 00019041  0x000018c8 pulse  0x00000016 
+ 00019042  0x000018c9 rtn 
+ 00019043  0x000018cc bpatch  0x0000009c , 0x00004013 
+ 00019044  0x000018cd preload  0x00000009 
+ 00019045  0x000018ce enable  0x0000001d 
+ 00019046  0x000018cf set1  0x00000000 , 0x00000015 
+ 00019047  0x000018d0 inject  0x00000003 , 0x00000048 
+ 00019048  0x000018d1 disable  0x0000001d 
+ 00019049  0x000018d2 rtn 
+ 00019050  0x000018d6 copy  0x00000025 , 0x00000002 
+ 00019051  0x000018d7 or_into  0x00000060 , 0x00000002 
+ 00019052  0x000018d8 copy  0x00000002 , 0x0000000e 
+ 00019053  0x000018d9 rtn 
+ 00019054  0x000018df bpatch  0x0000009d , 0x00004013 
+ 00019055  0x000018e0 fetch  0x00000001 , 0x00004090 
+ 00019056  0x000018e1 increase  0x00000001 , 0x0000003f 
+ 00019057  0x000018e2 bne  0x00000007 , 0x00004a73 
+ 00019058  0x000018e3 force  0x00000001 , 0x0000003f 
+ 00019059  0x000018e5 store  0x00000001 , 0x00004090 
+ 00019060  0x000018e6 iforce  0x00000004 
+ 00019061  0x000018e7 rtn 
+ 00019062  0x000018ea copy  0x00000019 , 0x00000002 
+ 00019063  0x000018eb rtn  0x00000029 
+ 00019064  0x000018ec copy  0x0000001a , 0x00000002 
+ 00019065  0x000018ed rtn 
+ 00019066  0x000018f0 deposit  0x00000022 
+ 00019067  0x000018f1 rtn  0x00000029 
+ 00019068  0x000018f2 deposit  0x00000028 
+ 00019069  0x000018f3 rtn 
+ 00019070  0x000018f7 bpatch  0x0000009e , 0x00004013 
+ 00019071  0x000018f8 fetcht  0x00000004 , 0x0000004d 
+ 00019072  0x000018f9 call  0x00004a7a 
+ 00019073  0x000018fa isub  0x00000002 , 0x0000000b 
+ 00019074  0x000018fb deposit  0x0000000b 
+ 00019075  0x000018fc fetcht  0x00000002 , 0x00000051 
+ 00019076  0x000018fd lshift  0x00000002 , 0x00000002 
+ 00019077  0x000018fe isub  0x00000002 , 0x0000003f 
+ 00019078  0x000018ff rtn 
+ 00019079  0x00001902 bpatch  0x0000009f , 0x00004013 
+ 00019080  0x00001903 call  0x00004a7a 
+ 00019081  0x00001904 store  0x00000004 , 0x0000004d 
+ 00019082  0x00001905 rtn 
+ 00019083  0x00001908 bpatch  0x000000a0 , 0x00004014 
+ 00019084  0x00001909 branch  0x00004a8b 
+ 00019085  0x0000190c branch  0x00004a8d 
+ 00019086  0x0000190f rtn  0x00000034 
+ 00019087  0x00001911 rshift  0x0000003f , 0x0000003f 
+ 00019088  0x00001912 increase  0xfffffffd , 0x0000003f 
+ 00019089  0x00001914 increase  0xffffffff , 0x0000003f 
+ 00019090  0x00001915 nbranch  0x00004a91 , 0x00000005 
+ 00019091  0x00001916 force  0x00000000 , 0x0000003f 
+ 00019092  0x00001917 rtn 
+ 00019093  0x0000191d arg  0x00000010 , 0x00000039 
+ 00019094  0x0000191e arg  0x00000000 , 0x00000005 
+ 00019095  0x0000191f call  0x00007ca1 
+ 00019096  0x00001920 arg  0x0000043b , 0x00000005 
+ 00019097  0x00001921 arg  0x0000000a , 0x00000039 
+ 00019098  0x00001922 call  0x00007ca1 
+ 00019099  0x00001923 jam  0x00000000 , 0x000009ae 
+ 00019100  0x00001924 jam  0x00000000 , 0x00000a95 
+ 00019101  0x00001925 jam  0x00000000 , 0x00000488 
+ 00019102  0x00001926 jam  0x00000000 , 0x0000017d 
+ 00019103  0x00001927 jam  0x00000000 , 0x000004cd 
+ 00019104  0x00001928 bpatch  0x000000a1 , 0x00004014 
+ 00019105  0x00001929 jam  0x00000000 , 0x0000016b 
+ 00019106  0x0000192a jam  0x00000000 , 0x0000014f 
+ 00019107  0x0000192b jam  0x00000000 , 0x0000015a 
+ 00019108  0x0000192c setarg  0x009e8b33 
+ 00019109  0x0000192d store  0x00000003 , 0x000040a7 
+ 00019110  0x0000192e setarg  0x00000153 
+ 00019111  0x0000192f store  0x00000002 , 0x00000083 
+ 00019112  0x00001930 jam  0x0000001e , 0x00000085 
+ 00019113  0x00001931 jam  0x00000001 , 0x00000086 
+ 00019114  0x00001932 jam  0x00000007 , 0x00000088 
+ 00019115  0x00001933 setarg  0x0012e904 
+ 00019116  0x00001934 store  0x00000003 , 0x00000080 
+ 00019117  0x00001939 jam  0x00000060 , 0x00000090 
+ 00019118  0x0000193a jam  0x00000005 , 0x000040d0 
+ 00019119  0x0000193b jam  0x00000002 , 0x00000014 
+ 00019120  0x0000193c fetch  0x00000001 , 0x0000462c 
+ 00019121  0x0000193d ncall  0x00007376 , 0x00000034 
+ 00019122  0x0000193e fetch  0x00000001 , 0x00004490 
+ 00019123  0x0000193f ncall  0x000073cd , 0x00000034 
+ 00019124  0x00001940 bpatch  0x000000a2 , 0x00004014 
+ 00019125  0x00001941 rtn  0x0000002b 
+ 00019126  0x00001942 setarg  0x00000000 
+ 00019127  0x00001943 store  0x00000002 , 0x000041dd 
+ 00019128  0x00001944 rshift  0x00000022 , 0x0000003f 
+ 00019129  0x00001945 store  0x00000004 , 0x00004094 
+ 00019130  0x00001946 rtn 
+ 00019131  0x0000194e fetch  0x00000004 , 0x00008124 
+ 00019132  0x0000194f isolate1  0x00000013 , 0x0000003f 
+ 00019133  0x00001950 bbit0  0x00000017 , 0x00004ac2 
+ 00019134  0x00001951 nbranch  0x00007d74 , 0x00000001 
+ 00019135  0x00001952 arg  0xffffffff , 0x00000002 
+ 00019136  0x00001953 deposit  0x00000027 
+ 00019137  0x00001954 branch  0x00004b18 , 0x00000034 
+ 00019138  0x00001956 set1  0x00000017 , 0x0000003f 
+ 00019139  0x00001957 set1  0x00000014 , 0x0000003f 
+ 00019140  0x00001958 set1  0x00000015 , 0x0000003f 
+ 00019141  0x00001959 store  0x00000004 , 0x0000804c 
+ 00019142  0x0000195a until  0x0000003e , 0x00000033 
+ 00019143  0x0000195b until  0x0000003e , 0x00000033 
+ 00019144  0x0000195c call  0x00004bdd 
+ 00019145  0x0000195d fetch  0x00000001 , 0x0000804e 
+ 00019146  0x0000195e set1  0x00000006 , 0x0000003f 
+ 00019147  0x0000195f store  0x00000001 , 0x0000804e 
+ 00019148  0x00001960 call  0x00004bdd 
+ 00019149  0x00001961 branch  0x00007d74 , 0x00000001 
+ 00019150  0x00001962 enable  0x0000002b 
+ 00019151  0x00001964 jam  0x00000001 , 0x00008043 
+ 00019152  0x00001965 fetch  0x00000008 , 0x00004191 
+ 00019153  0x00001966 iforce  0x00000000 
+ 00019154  0x00001967 fetch  0x00000006 , 0x00008130 
+ 00019155  0x00001968 store  0x00000006 , 0x000000a1 
+ 00019156  0x00001969 rtn 
+ 00019157  0x0000196c deposit  0x00000000 
+ 00019158  0x0000196d store  0x00000008 , 0x00004191 
+ 00019159  0x0000196e branch  0x00004be3 
+ 00019160  0x00001972 fetcht  0x00000001 , 0x00008042 
+ 00019161  0x00001973 and  0x00000002 , 0x000000f0 , 0x0000003f 
+ 00019162  0x00001974 nbranch  0x00004ae1 , 0x00000034 
+ 00019163  0x00001975 fetch  0x00000003 , 0x00004170 
+ 00019164  0x00001976 nrtn  0x00000034 
+ 00019165  0x00001977 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00019166  0x00001978 or_into  0x000000c0 , 0x0000003f 
+ 00019167  0x00001979 store  0x00000001 , 0x00008042 
+ 00019168  0x0000197a jam  0x00000080 , 0x0000800a 
+ 00019169  0x0000197c fetch  0x00000001 , 0x00008108 
+ 00019170  0x0000197d rtnbit0  0x00000000 
+ 00019171  0x0000197e fetch  0x00000003 , 0x0000810a 
+ 00019172  0x0000197f store  0x00000003 , 0x00004170 
+ 00019173  0x00001980 rtn 
+ 00019174  0x00001985 bpatch  0x000000a3 , 0x00004014 
+ 00019175  0x00001986 deposit  0x0000001a 
+ 00019176  0x00001987 call  0x00007d12 
+ 00019177  0x00001988 fetcht  0x00000004 , 0x00004160 
+ 00019178  0x00001989 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00019179  0x0000198a rtn  0x00000002 
+ 00019180  0x0000198b lshift8  0x0000003f , 0x0000003f 
+ 00019181  0x0000198c lshift4  0x0000003f , 0x0000003f 
+ 00019182  0x0000198d idiv  0x00000002 
+ 00019183  0x0000198e call  0x00007d61 
+ 00019184  0x0000198f quotient  0x0000003f 
+ 00019185  0x00001990 arg  0x000000c8 , 0x00000002 
+ 00019186  0x00001991 call  0x00007d6c 
+ 00019187  0x00001992 store  0x00000001 , 0x00000099 
+ 00019188  0x00001993 nbranch  0x00004af6 , 0x00000028 
+ 00019189  0x00001994 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00019190  0x00001996 fetcht  0x00000003 , 0x00004170 
+ 00019191  0x00001997 iadd  0x00000002 , 0x0000003f 
+ 00019192  0x00001998 store  0x00000003 , 0x00004170 
+ 00019193  0x0000199a setarg  0x00000000 
+ 00019194  0x0000199b store  0x00000004 , 0x00004160 
+ 00019195  0x0000199c rtn 
+ 00019196  0x0000199f fetch  0x00000001 , 0x00004158 
+ 00019197  0x000019a0 branch  0x00004aff 
+ 00019198  0x000019a4 fetch  0x00000001 , 0x00004157 
+ 00019199  0x000019a6 store  0x00000001 , 0x0000417c 
+ 00019200  0x000019a7 bpatch  0x000000a4 , 0x00004014 
+ 00019201  0x000019a8 call  0x00004be3 
+ 00019202  0x000019a9 arg  0xffffffff , 0x00000002 
+ 00019203  0x000019aa fetch  0x00000001 , 0x00004177 
+ 00019204  0x000019ab set0  0x00000007 , 0x0000003f 
+ 00019205  0x000019ac store  0x00000001 , 0x00004177 
+ 00019206  0x000019b0 bpatch  0x000000a5 , 0x00004014 
+ 00019207  0x000019b1 call  0x000049e6 
+ 00019208  0x000019b2 fetch  0x00000004 , 0x00004160 
+ 00019209  0x000019b3 iadd  0x00000002 , 0x0000003f 
+ 00019210  0x000019b4 store  0x00000004 , 0x00004160 
+ 00019211  0x000019b5 call  0x00004ad5 
+ 00019212  0x000019b6 fetch  0x00000003 , 0x00004179 
+ 00019213  0x000019b7 store  0x00000003 , 0x0000804c 
+ 00019214  0x000019b8 ifetchr  0x00000011 , 0x00000001 , 0x00000006 
+ 00019215  0x000019b9 fetch  0x00000001 , 0x00008127 
+ 00019216  0x000019ba istore  0x00000001 , 0x00000005 
+ 00019217  0x000019bb until  0x0000003e , 0x00000033 
+ 00019218  0x000019bc storer  0x00000019 , 0x00000006 , 0x00004164 
+ 00019219  0x000019bd hjam  0x00000002 , 0x00008005 
+ 00019220  0x000019be until  0x0000003e , 0x00000033 
+ 00019221  0x000019bf until  0x0000003e , 0x00000033 
+ 00019222  0x000019c0 storer  0x00000011 , 0x00000001 , 0x0000804e 
+ 00019223  0x000019c1 hjam  0x00000002 , 0x00008005 
+ 00019224  0x000019c3 until  0x0000003e , 0x00000033 
+ 00019225  0x000019c4 until  0x0000003e , 0x00000033 
+ 00019226  0x000019c5 hstoret  0x00000004 , 0x0000804c 
+ 00019227  0x000019c6 hjam  0x00000010 , 0x00008005 
+ 00019228  0x000019c7 until  0x0000003e , 0x0000003f 
+ 00019229  0x000019cd bpatch  0x000000a6 , 0x00004014 
+ 00019230  0x000019ce setarg  0x00000000 
+ 00019231  0x000019cf copy  0x00000027 , 0x0000003e 
+ 00019232  0x000019d0 branch  0x00004b28 , 0x00000005 
+ 00019233  0x000019d1 hfetch  0x00000001 , 0x00008124 
+ 00019234  0x000019d2 hfetcht  0x00000001 , 0x00008125 
+ 00019235  0x000019d3 isub  0x00000002 , 0x0000003e 
+ 00019236  0x000019d4 branch  0x00004b26 , 0x00000002 
+ 00019237  0x000019d5 deposit  0x00000002 
+ 00019238  0x000019d7 isub  0x00000027 , 0x0000003f 
+ 00019239  0x000019d8 increase  0x00000001 , 0x0000003f 
+ 00019240  0x000019da increase  0x00000008 , 0x0000003f 
+ 00019241  0x000019db until  0x0000003e , 0x00000033 
+ 00019242  0x000019dc iadd  0x00000031 , 0x0000003f 
+ 00019243  0x000019dd fetcht  0x00000004 , 0x0000415c 
+ 00019244  0x000019de iadd  0x00000002 , 0x0000003f 
+ 00019245  0x000019df fetcht  0x00000003 , 0x00004170 
+ 00019246  0x000019e0 imul32  0x00000002 , 0x0000003f 
+ 00019247  0x000019e1 rshift8  0x0000003f , 0x0000003f 
+ 00019248  0x000019e2 rshift4  0x0000003f , 0x0000003f 
+ 00019249  0x000019e3 increase  0x0000006e , 0x0000003f 
+ 00019250  0x000019e4 arg  0x00000ea6 , 0x00000002 
+ 00019251  0x000019e5 idiv  0x00000002 
+ 00019252  0x000019e6 call  0x00007d61 
+ 00019253  0x000019e7 quotient  0x0000003f 
+ 00019254  0x000019e8 lshift16  0x0000003f , 0x0000003f 
+ 00019255  0x000019e9 remainder  0x00000002 
+ 00019256  0x000019ea ior  0x00000002 , 0x0000003f 
+ 00019257  0x000019eb fetcht  0x00000006 , 0x00004164 
+ 00019258  0x000019ec call  0x00007d07 
+ 00019259  0x000019ed copy  0x00000002 , 0x00000019 
+ 00019260  0x000019ee fetch  0x00000006 , 0x00004048 
+ 00019261  0x000019ef call  0x00004850 
+ 00019262  0x000019f0 rtn 
+ 00019263  0x000019f3 bpatch  0x000000a7 , 0x00004014 
+ 00019264  0x000019f4 call  0x00004ad8 
+ 00019265  0x000019f5 fetch  0x00000003 , 0x00004170 
+ 00019266  0x000019f6 rtn  0x00000034 
+ 00019267  0x000019f7 fetch  0x00000001 , 0x00004091 
+ 00019268  0x000019f8 rtn  0x00000034 
+ 00019269  0x000019f9 fetch  0x00000001 , 0x0000462c 
+ 00019270  0x000019fa branch  0x00004b49 , 0x00000034 
+ 00019271  0x000019fb fetch  0x00000001 , 0x00004583 
+ 00019272  0x000019fc rtn  0x00000034 
+ 00019273  0x000019fe fetch  0x00000001 , 0x00004492 
+ 00019274  0x000019ff nrtn  0x00000034 
+ 00019275  0x00001a00 call  0x00004bf4 
+ 00019276  0x00001a01 nrtn  0x00000034 
+ 00019277  0x00001a02 fetch  0x00000001 , 0x00004040 
+ 00019278  0x00001a03 compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00019279  0x00001a04 nbranch  0x00004b72 , 0x00000001 
+ 00019280  0x00001a05 fetch  0x00000002 , 0x00004042 
+ 00019281  0x00001a06 rtn  0x00000034 
+ 00019282  0x00001a07 rtn  0x0000002b 
+ 00019283  0x00001a08 bpatch  0x000000a8 , 0x00004015 
+ 00019284  0x00001a09 fetcht  0x00000001 , 0x000000a0 
+ 00019285  0x00001a0a fetch  0x00000002 , 0x00004042 
+ 00019286  0x00001a0b imul32  0x00000002 , 0x0000003f 
+ 00019287  0x00001a0c rshift4  0x00000002 , 0x00000002 
+ 00019288  0x00001a0d rshift2  0x00000002 , 0x00000002 
+ 00019289  0x00001a0e isub  0x00000002 , 0x0000003f 
+ 00019290  0x00001a0f fetcht  0x00000004 , 0x00004044 
+ 00019291  0x00001a10 iadd  0x00000002 , 0x0000003f 
+ 00019292  0x00001a11 fetcht  0x00000001 , 0x00004156 
+ 00019293  0x00001a12 isub  0x00000002 , 0x0000003f 
+ 00019294  0x00001a13 lshift16  0x0000003f , 0x00000030 
+ 00019295  0x00001a14 bpatch  0x000000a9 , 0x00004015 
+ 00019296  0x00001a15 fetch  0x00000002 , 0x0000404e 
+ 00019297  0x00001a16 rshift  0x0000003f , 0x0000003f 
+ 00019298  0x00001a17 call  0x00007d2b 
+ 00019299  0x00001a18 deposit  0x00000030 
+ 00019300  0x00001a19 call  0x00007d14 
+ 00019301  0x00001a1a copy  0x0000001a , 0x00000002 
+ 00019302  0x00001a1b call  0x00007d12 
+ 00019303  0x00001a1c rtn  0x00000028 
+ 00019304  0x00001a1e call  0x00007d24 
+ 00019305  0x00001a20 bpatch  0x000000aa , 0x00004015 
+ 00019306  0x00001a21 fetch  0x00000001 , 0x00004179 
+ 00019307  0x00001a22 isub  0x00000002 , 0x0000003e 
+ 00019308  0x00001a23 branch  0x00004af9 , 0x00000002 
+ 00019309  0x00001a24 storet  0x00000004 , 0x0000415c 
+ 00019310  0x00001a25 call  0x00004cc1 
+ 00019311  0x00001a26 call  0x000056d5 
+ 00019312  0x00001a27 fetcht  0x00000004 , 0x0000415c 
+ 00019313  0x00001a28 branch  0x00004b06 
+ 00019314  0x00001a2b bpatch  0x000000ab , 0x00004015 
+ 00019315  0x00001a2c fetch  0x00000001 , 0x00004040 
+ 00019316  0x00001a2d rtnbit1  0x00000000 
+ 00019317  0x00001a2e rtnbit1  0x00000003 
+ 00019318  0x00001a2f fetch  0x00000001 , 0x0000462c 
+ 00019319  0x00001a30 branch  0x00004b7a , 0x00000034 
+ 00019320  0x00001a31 fetch  0x00000001 , 0x00004583 
+ 00019321  0x00001a32 rtn  0x00000034 
+ 00019322  0x00001a34 bpatch  0x000000ac , 0x00004015 
+ 00019323  0x00001a35 fetch  0x00000001 , 0x00004340 
+ 00019324  0x00001a36 nbranch  0x00004b7f , 0x00000034 
+ 00019325  0x00001a37 fetch  0x00000001 , 0x00004093 
+ 00019326  0x00001a38 rtn  0x00000034 
+ 00019327  0x00001a3a fetch  0x00000002 , 0x00004154 
+ 00019328  0x00001a3b rtn  0x00000034 
+ 00019329  0x00001a3d fetcht  0x00000001 , 0x00004156 
+ 00019330  0x00001a3e isub  0x00000002 , 0x0000003f 
+ 00019331  0x00001a3f arg  0x00001d4c , 0x00000002 
+ 00019332  0x00001a40 imul32  0x00000002 , 0x0000003f 
+ 00019333  0x00001a41 branch  0x00004b68 
+ 00019334  0x00001a44 bpatch  0x000000ad , 0x00004015 
+ 00019335  0x00001a45 disable  0x0000002b 
+ 00019336  0x00001a46 fetch  0x00000001 , 0x00000030 
+ 00019337  0x00001a47 rtnbit0  0x00000001 
+ 00019338  0x00001a48 nbranch  0x00004ba5 , 0x0000002d 
+ 00019339  0x00001a49 call  0x00004ba0 
+ 00019340  0x00001a4a fetch  0x00000002 , 0x000040c1 
+ 00019341  0x00001a4b store  0x00000002 , 0x0000003e 
+ 00019342  0x00001a4c fetch  0x00000001 , 0x00000047 
+ 00019343  0x00001a4d bbit1  0x00000003 , 0x00004bb3 
+ 00019344  0x00001a4e bmark0  0x0000000d , 0x00004bb3 
+ 00019345  0x00001a4f call  0x0000564e 
+ 00019346  0x00001a50 nbranch  0x00004bb3 , 0x00000034 
+ 00019347  0x00001a51 fetch  0x00000001 , 0x0000452e 
+ 00019348  0x00001a52 bbit1  0x00000001 , 0x00004bb3 
+ 00019349  0x00001a54 jam  0x00000000 , 0x000000a0 
+ 00019350  0x00001a55 bmark0  0x0000000d , 0x00004bb3 
+ 00019351  0x00001a56 fetch  0x00000001 , 0x00004175 
+ 00019352  0x00001a57 branch  0x00004bb7 , 0x00000034 
+ 00019353  0x00001a58 increase  0xffffffff , 0x0000003f 
+ 00019354  0x00001a59 store  0x00000001 , 0x00004175 
+ 00019355  0x00001a5a rtn 
+ 00019356  0x00001a5e arg  0x00000001 , 0x00000007 
+ 00019357  0x00001a5f branch  0x000064af 
+ 00019358  0x00001a62 arg  0x00000001 , 0x00000007 
+ 00019359  0x00001a63 branch  0x000064b3 
+ 00019360  0x00001a68 jam  0x00000000 , 0x0000415a 
+ 00019361  0x00001a69 fetch  0x00000003 , 0x0000416a 
+ 00019362  0x00001a6a increase  0x00000001 , 0x0000003f 
+ 00019363  0x00001a6b store  0x00000003 , 0x0000416a 
+ 00019364  0x00001a6c rtn 
+ 00019365  0x00001a6f bpatch  0x000000ae , 0x00004015 
+ 00019366  0x00001a70 fetcht  0x00000002 , 0x000040c1 
+ 00019367  0x00001a71 rshift  0x00000002 , 0x00000002 
+ 00019368  0x00001a72 fetch  0x00000002 , 0x0000003e 
+ 00019369  0x00001a73 iadd  0x00000002 , 0x0000003f 
+ 00019370  0x00001a74 store  0x00000002 , 0x0000003e 
+ 00019371  0x00001a76 jam  0x00000000 , 0x000000a0 
+ 00019372  0x00001a77 fetch  0x00000003 , 0x0000416d 
+ 00019373  0x00001a78 increase  0x00000001 , 0x0000003f 
+ 00019374  0x00001a79 store  0x00000003 , 0x0000416d 
+ 00019375  0x00001a7a fetch  0x00000001 , 0x0000415a 
+ 00019376  0x00001a7b increase  0x00000001 , 0x0000003f 
+ 00019377  0x00001a7c store  0x00000001 , 0x0000415a 
+ 00019378  0x00001a7d rtn 
+ 00019379  0x00001a80 jam  0x00000000 , 0x000000a0 
+ 00019380  0x00001a81 fetch  0x00000001 , 0x00004174 
+ 00019381  0x00001a82 store  0x00000001 , 0x00004175 
+ 00019382  0x00001a83 rtn 
+ 00019383  0x00001a86 fetcht  0x00000001 , 0x00004173 
+ 00019384  0x00001a87 storet  0x00000001 , 0x000000a0 
+ 00019385  0x00001a88 rtn 
+ 00019386  0x00001a8b bpatch  0x000000af , 0x00004015 
+ 00019387  0x00001a8c fetch  0x00000001 , 0x00004179 
+ 00019388  0x00001a8d nrtn  0x00000034 
+ 00019389  0x00001a8e hjam  0x00000006 , 0x00008042 
+ 00019390  0x00001a8f setarg  0x00000f0c 
+ 00019391  0x00001a90 call  0x00004bd2 
+ 00019392  0x00001a91 setarg  0x00030d40 
+ 00019393  0x00001a92 call  0x00004a8e 
+ 00019394  0x00001a93 until  0x0000003e , 0x00000033 
+ 00019395  0x00001a94 copy  0x00000031 , 0x00000030 
+ 00019396  0x00001a95 call  0x000049e6 
+ 00019397  0x00001a96 hjam  0x00000004 , 0x00008042 
+ 00019398  0x00001a97 nop  0x0000000a 
+ 00019399  0x00001a98 until  0x0000003e , 0x00000033 
+ 00019400  0x00001a99 deposit  0x00000031 
+ 00019401  0x00001a9a isub  0x00000030 , 0x0000003f 
+ 00019402  0x00001a9b increase  0x00000030 , 0x0000003f 
+ 00019403  0x00001a9c arg  0x000000ff , 0x00000002 
+ 00019404  0x00001a9d call  0x00007d6c 
+ 00019405  0x00001a9e store  0x00000001 , 0x00004179 
+ 00019406  0x00001a9f nop  0x00007530 
+ 00019407  0x00001aa0 nop  0x00007530 
+ 00019408  0x00001aa1 nop  0x00007530 
+ 00019409  0x00001aa2 rtn 
+ 00019410  0x00001aa8 arg  0x00000fff , 0x00000005 
+ 00019411  0x00001aa9 iand  0x00000005 , 0x00000005 
+ 00019412  0x00001aaa fetch  0x00000001 , 0x00004176 
+ 00019413  0x00001aab and_into  0x000000f0 , 0x0000003f 
+ 00019414  0x00001aac lshift8  0x0000003f , 0x0000003f 
+ 00019415  0x00001aad ior  0x00000005 , 0x0000003f 
+ 00019416  0x00001aae hstore  0x00000002 , 0x0000804c 
+ 00019417  0x00001aaf ifetch  0x00000002 , 0x00000006 
+ 00019418  0x00001ab0 istore  0x00000002 , 0x00000005 
+ 00019419  0x00001ab3 setarg  0x00000001 
+ 00019420  0x00001ab4 branch  0x00004bde 
+ 00019421  0x00001ab7 setarg  0x00000002 
+ 00019422  0x00001ab9 hstore  0x00000001 , 0x00008005 
+ 00019423  0x00001aba until  0x0000003e , 0x00000033 
+ 00019424  0x00001abb until  0x0000003e , 0x00000033 
+ 00019425  0x00001abc until  0x0000003e , 0x00000033 
+ 00019426  0x00001abd rtn 
+ 00019427  0x00001ac1 bpatch  0x000000b0 , 0x00004016 
+ 00019428  0x00001ac2 fetch  0x00000004 , 0x000000a1 
+ 00019429  0x00001ac3 store  0x00000004 , 0x0000804c 
+ 00019430  0x00001ac4 setarg  0x00000004 
+ 00019431  0x00001ac5 call  0x00004bde 
+ 00019432  0x00001ac6 ifetch  0x00000002 , 0x00000006 
+ 00019433  0x00001ac7 store  0x00000004 , 0x0000804c 
+ 00019434  0x00001ac8 setarg  0x00000008 
+ 00019435  0x00001ac9 branch  0x00004bde 
+ 00019436  0x00001acc fetch  0x00000002 , 0x00004152 
+ 00019437  0x00001acd qset1  0x0000003f 
+ 00019438  0x00001ace store  0x00000002 , 0x00004152 
+ 00019439  0x00001acf rtn 
+ 00019440  0x00001ad2 fetch  0x00000002 , 0x00004152 
+ 00019441  0x00001ad3 qset0  0x0000003f 
+ 00019442  0x00001ad4 store  0x00000002 , 0x00004152 
+ 00019443  0x00001ad5 rtn 
+ 00019444  0x00001ada bpatch  0x000000b1 , 0x00004016 
+ 00019445  0x00001adb call  0x00004cbf 
+ 00019446  0x00001adc fetch  0x00000002 , 0x00004152 
+ 00019447  0x00001add copy  0x0000003f , 0x00000011 
+ 00019448  0x00001ade fetch  0x00000001 , 0x0000004c 
+ 00019449  0x00001adf isolate1  0x00000006 , 0x0000003f 
+ 00019450  0x00001ae0 setflag  0x00000001 , 0x0000000b , 0x00000011 
+ 00019451  0x00001ae1 fetch  0x00000001 , 0x00000078 
+ 00019452  0x00001ae2 fetcht  0x00000001 , 0x0000007c 
+ 00019453  0x00001ae3 iadd  0x00000002 , 0x0000003f 
+ 00019454  0x00001ae4 fetcht  0x00000001 , 0x00000048 
+ 00019455  0x00001ae5 iadd  0x00000002 , 0x0000003f 
+ 00019456  0x00001ae6 nsetflag  0x00000034 , 0x0000000a , 0x00000011 
+ 00019457  0x00001ae7 fetch  0x00000001 , 0x000044d1 
+ 00019458  0x00001ae8 nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00019459  0x00001ae9 fetch  0x00000002 , 0x00000259 
+ 00019460  0x00001aea fetcht  0x00000002 , 0x0000025b 
+ 00019461  0x00001aeb iadd  0x00000002 , 0x0000003f 
+ 00019462  0x00001aec nsetflag  0x00000034 , 0x0000000d , 0x00000011 
+ 00019463  0x00001aed fetch  0x00000008 , 0x0000463a 
+ 00019464  0x00001aee nsetflag  0x00000034 , 0x0000000f , 0x00000011 
+ 00019465  0x00001aef fetch  0x00000008 , 0x00004642 
+ 00019466  0x00001af0 nsetflag  0x00000034 , 0x0000000e , 0x00000011 
+ 00019467  0x00001af1 fetch  0x00000002 , 0x00004ff4 
+ 00019468  0x00001af2 fetcht  0x00000002 , 0x00004ff6 
+ 00019469  0x00001af3 isub  0x00000002 , 0x0000003e 
+ 00019470  0x00001af4 nsetflag  0x00000005 , 0x00000005 , 0x00000011 
+ 00019471  0x00001af5 fetch  0x00000002 , 0x00004ffc 
+ 00019472  0x00001af6 fetcht  0x00000002 , 0x00004ffe 
+ 00019473  0x00001af7 isub  0x00000002 , 0x0000003e 
+ 00019474  0x00001af8 nsetflag  0x00000005 , 0x00000006 , 0x00000011 
+ 00019475  0x00001af9 fetch  0x00000001 , 0x00008043 
+ 00019476  0x00001afa isolate1  0x00000007 , 0x0000003f 
+ 00019477  0x00001afb setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00019478  0x00001afc fetch  0x00000001 , 0x000041cf 
+ 00019479  0x00001afd nsetflag  0x00000034 , 0x00000008 , 0x00000011 
+ 00019480  0x00001afe copy  0x00000011 , 0x0000003f 
+ 00019481  0x00001aff store  0x00000002 , 0x00004152 
+ 00019482  0x00001b00 rtn 
+ 00019483  0x00001b03 hfetch  0x00000004 , 0x0000811c 
+ 00019484  0x00001b04 set0  0x0000001b , 0x0000003f 
+ 00019485  0x00001b05 hstore  0x00000004 , 0x0000804c 
+ 00019486  0x00001b06 call  0x00004bdb 
+ 00019487  0x00001b07 branch  0x00004a8b 
+ 00019488  0x00001b0a hfetch  0x00000004 , 0x00008124 
+ 00019489  0x00001b0b set0  0x00000014 , 0x0000003f 
+ 00019490  0x00001b0c hstore  0x00000004 , 0x0000804c 
+ 00019491  0x00001b0d branch  0x00004bdd 
+ 00019492  0x00001b10 fetch  0x00000002 , 0x00004150 
+ 00019493  0x00001b11 bbit1  0x00000000 , 0x00004a8b 
+ 00019494  0x00001b12 rtn 
+ 00019495  0x00001b14 fetch  0x00000002 , 0x00004150 
+ 00019496  0x00001b15 bbit1  0x00000001 , 0x00004a8b 
+ 00019497  0x00001b16 rtn 
+ 00019498  0x00001b18 fetch  0x00000002 , 0x00004150 
+ 00019499  0x00001b19 bbit1  0x00000002 , 0x00004a8b 
+ 00019500  0x00001b1a rtn 
+ 00019501  0x00001b1d setarg  0x00004c35 
+ 00019502  0x00001b1e store  0x00000002 , 0x000041f2 
+ 00019503  0x00001b1f setarg  0x00004c64 
+ 00019504  0x00001b20 store  0x00000002 , 0x000041f6 
+ 00019505  0x00001b21 setarg  0x00004c35 
+ 00019506  0x00001b22 store  0x00000002 , 0x000041f4 
+ 00019507  0x00001b23 rtn  0x0000002b 
+ 00019508  0x00001b24 rtn 
+ 00019509  0x00001b27 fetch  0x00000001 , 0x00000030 
+ 00019510  0x00001b28 bbit0  0x00000001 , 0x00004c3b 
+ 00019511  0x00001b29 set1  0x0000000d , 0x00000000 
+ 00019512  0x00001b2a fetch  0x00000006 , 0x0000416a 
+ 00019513  0x00001b2b store  0x00000006 , 0x000044e8 
+ 00019514  0x00001b2c rtn 
+ 00019515  0x00001b2f fetch  0x00000001 , 0x0000014f 
+ 00019516  0x00001b30 rtnbit0  0x00000002 
+ 00019517  0x00001b31 fetch  0x00000001 , 0x0000015a 
+ 00019518  0x00001b32 increase  0x00000001 , 0x0000003f 
+ 00019519  0x00001b33 store  0x00000001 , 0x0000015a 
+ 00019520  0x00001b34 rtnne  0x00000005 
+ 00019521  0x00001b35 jam  0x00000000 , 0x0000015a 
+ 00019522  0x00001b36 fetch  0x00000001 , 0x0000014f 
+ 00019523  0x00001b37 set0  0x00000002 , 0x0000003f 
+ 00019524  0x00001b38 store  0x00000001 , 0x0000014f 
+ 00019525  0x00001b39 bbit1  0x00000003 , 0x00004c5c 
+ 00019526  0x00001b3a isolate1  0x00000007 , 0x0000003f 
+ 00019527  0x00001b3b call  0x00007d88 , 0x00000001 
+ 00019528  0x00001b3c ncall  0x00007d8c , 0x00000001 
+ 00019529  0x00001b3d fetch  0x00000001 , 0x00000156 
+ 00019530  0x00001b3e compare  0x00000020 , 0x0000003f , 0x00000030 
+ 00019531  0x00001b3f fetch  0x00000001 , 0x0000004c 
+ 00019532  0x00001b40 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00019533  0x00001b41 store  0x00000001 , 0x0000004c 
+ 00019534  0x00001b42 fetch  0x00000001 , 0x0000014f 
+ 00019535  0x00001b43 fetcht  0x00000001 , 0x0000017d 
+ 00019536  0x00001b44 isolate1  0x00000004 , 0x0000003f 
+ 00019537  0x00001b45 setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00019538  0x00001b46 isolate1  0x00000006 , 0x0000003f 
+ 00019539  0x00001b47 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00019540  0x00001b48 setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00019541  0x00001b49 storet  0x00000001 , 0x0000017d 
+ 00019542  0x00001b4a fetch  0x00000001 , 0x00000152 
+ 00019543  0x00001b4b store  0x00000001 , 0x000004c7 
+ 00019544  0x00001b4c fetch  0x00000001 , 0x00000153 
+ 00019545  0x00001b4d store  0x00000001 , 0x000004c8 
+ 00019546  0x00001b4e set1  0x00000011 , 0x00000000 
+ 00019547  0x00001b4f rtn 
+ 00019548  0x00001b53 set0  0x00000011 , 0x00000000 
+ 00019549  0x00001b54 jam  0x00000000 , 0x0000014f 
+ 00019550  0x00001b55 fetch  0x00000001 , 0x00000159 
+ 00019551  0x00001b56 store  0x00000001 , 0x0000017d 
+ 00019552  0x00001b57 hfetch  0x00000001 , 0x00008043 
+ 00019553  0x00001b58 and_into  0x000000fb , 0x0000003f 
+ 00019554  0x00001b59 hstore  0x00000001 , 0x00008043 
+ 00019555  0x00001b5a rtn 
+ 00019556  0x00001b5e deposit  0x00000013 
+ 00019557  0x00001b5f rtnne  0x00000010 
+ 00019558  0x00001b63 rtn 
+ 00019559  0x00001b64 beq  0x00000001 , 0x00004c66 
+ 00019560  0x00001b65 branch  0x00004afe 
+ 00019561  0x00001b69 force  0x00000002 , 0x00000002 
+ 00019562  0x00001b6a increase  0xfffffffe , 0x00000002 
+ 00019563  0x00001b6b call  0x00004915 
+ 00019564  0x00001b6c call  0x00004930 
+ 00019565  0x00001b6d disable  0x00000007 
+ 00019566  0x00001b6e enable  0x0000001d 
+ 00019567  0x00001b6f set1  0x00000000 , 0x00000015 
+ 00019568  0x00001b70 call  0x00004a50 
+ 00019569  0x00001b72 fetch  0x00000001 , 0x00000000 
+ 00019570  0x00001b73 inject  0x00000003 , 0x00000008 
+ 00019571  0x00001b74 branch  0x00004c71 
+ 00019572  0x00001b76 fetch  0x00000001 , 0x00008108 
+ 00019573  0x00001b77 bbit0  0x00000002 , 0x00004c74 
+ 00019574  0x00001b78 rtn 
+ 00019575  0x00001b7b bpatch  0x000000b2 , 0x00004016 
+ 00019576  0x00001b7c fetch  0x00000001 , 0x00004092 
+ 00019577  0x00001b7d branch  0x00004c77 , 0x00000034 
+ 00019578  0x00001b7e beq  0x0000000a , 0x00004d95 
+ 00019579  0x00001b7f rtn 
+ 00019580  0x00001b82 bpatch  0x000000b3 , 0x00004016 
+ 00019581  0x00001b83 jam  0x00000000 , 0x0000014f 
+ 00019582  0x00001b84 jam  0x00000000 , 0x0000017d 
+ 00019583  0x00001b85 jam  0x00000000 , 0x0000017e 
+ 00019584  0x00001b86 setarg  0x00000000 
+ 00019585  0x00001b87 store  0x00000005 , 0x000009aa 
+ 00019586  0x00001b88 fetch  0x00000001 , 0x00004092 
+ 00019587  0x00001b89 branch  0x00004c7c , 0x00000034 
+ 00019588  0x00001b8a beq  0x0000000a , 0x00004dba 
+ 00019589  0x00001b8c rtn 
+ 00019590  0x00001b90 call  0x00007b84 
+ 00019591  0x00001b91 call  0x00007bc1 
+ 00019592  0x00001b92 call  0x00004c8f 
+ 00019593  0x00001b93 fetch  0x00000002 , 0x000041f4 
+ 00019594  0x00001b94 branch  0x00007d77 
+ 00019595  0x00001b97 fetch  0x00000002 , 0x000041f2 
+ 00019596  0x00001b98 branch  0x00007d77 
+ 00019597  0x00001b9b fetch  0x00000002 , 0x000041f0 
+ 00019598  0x00001b9c branch  0x00007d77 
+ 00019599  0x00001b9f bpatch  0x000000b4 , 0x00004016 
+ 00019600  0x00001ba1 arg  0x0000463a , 0x00000011 
+ 00019601  0x00001ba2 call  0x00007d9c 
+ 00019602  0x00001ba3 rtn  0x00000034 
+ 00019603  0x00001ba5 copy  0x0000003f , 0x00000013 
+ 00019604  0x00001ba6 call  0x00004c98 
+ 00019605  0x00001ba7 branch  0x00004cbd 
+ 00019606  0x00001baa arg  0x00000000 , 0x00000013 
+ 00019607  0x00001bab rtn 
+ 00019608  0x00001bb1 beq  0x00000001 , 0x00004caa 
+ 00019609  0x00001bb2 beq  0x00000010 , 0x00004cf0 
+ 00019610  0x00001bb3 beq  0x00000005 , 0x00004cce 
+ 00019611  0x00001bb4 beq  0x00000012 , 0x00004cd5 
+ 00019612  0x00001bb5 beq  0x00000006 , 0x00004cec 
+ 00019613  0x00001bb6 beq  0x00000004 , 0x00004d1f 
+ 00019614  0x00001bb7 beq  0x00000002 , 0x00004d24 
+ 00019615  0x00001bb8 beq  0x00000013 , 0x00004d1f 
+ 00019616  0x00001bb9 beq  0x00000014 , 0x00004ce4 
+ 00019617  0x00001bba beq  0x00000015 , 0x00004ce8 
+ 00019618  0x00001bbb beq  0x00000003 , 0x00004cc7 
+ 00019619  0x00001bbc beq  0x0000000b , 0x00004cd9 
+ 00019620  0x00001bbd beq  0x0000000c , 0x00004ce0 
+ 00019621  0x00001bbf beq  0x00000016 , 0x00004cf4 
+ 00019622  0x00001bc0 beq  0x00000018 , 0x00004cc3 
+ 00019623  0x00001bc1 beq  0x0000002a , 0x00004cb3 
+ 00019624  0x00001bc2 beq  0x0000002b , 0x00004cb1 
+ 00019625  0x00001bc3 rtn 
+ 00019626  0x00001bc7 fetch  0x00000002 , 0x00004652 
+ 00019627  0x00001bc8 set1  0x00000000 , 0x0000003f 
+ 00019628  0x00001bc9 store  0x00000002 , 0x00004652 
+ 00019629  0x00001bca fetch  0x00000002 , 0x00004209 
+ 00019630  0x00001bcb set0  0x00000000 , 0x0000003f 
+ 00019631  0x00001bcc store  0x00000002 , 0x00004209 
+ 00019632  0x00001bcd rtn 
+ 00019633  0x00001bd0 jam  0x00000000 , 0x00000227 
+ 00019634  0x00001bd1 rtn 
+ 00019635  0x00001bd4 fetch  0x00000001 , 0x00000227 
+ 00019636  0x00001bd5 increase  0x00000001 , 0x0000003f 
+ 00019637  0x00001bd6 store  0x00000001 , 0x00000227 
+ 00019638  0x00001bd7 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019639  0x00001bd8 branch  0x00004d5a , 0x00000002 
+ 00019640  0x00001bd9 jam  0x00000000 , 0x00000227 
+ 00019641  0x00001bda fetch  0x00000002 , 0x00004209 
+ 00019642  0x00001bdb set1  0x00000009 , 0x0000003f 
+ 00019643  0x00001bdc store  0x00000002 , 0x00004209 
+ 00019644  0x00001bdd branch  0x00004d64 
+ 00019645  0x00001be0 fetch  0x00000002 , 0x000041f6 
+ 00019646  0x00001be1 branch  0x00007d77 
+ 00019647  0x00001be4 fetch  0x00000002 , 0x000041ea 
+ 00019648  0x00001be5 branch  0x00007d77 
+ 00019649  0x00001be8 fetch  0x00000002 , 0x000041ee 
+ 00019650  0x00001be9 branch  0x00007d77 
+ 00019651  0x00001bec fetch  0x00000002 , 0x00004209 
+ 00019652  0x00001bed set1  0x00000001 , 0x0000003f 
+ 00019653  0x00001bee store  0x00000002 , 0x00004209 
+ 00019654  0x00001bef branch  0x00004d8d 
+ 00019655  0x00001bf2 fetch  0x00000002 , 0x00004652 
+ 00019656  0x00001bf3 set1  0x00000007 , 0x0000003f 
+ 00019657  0x00001bf4 store  0x00000002 , 0x00004652 
+ 00019658  0x00001bf5 fetch  0x00000002 , 0x00004209 
+ 00019659  0x00001bf6 set1  0x00000002 , 0x0000003f 
+ 00019660  0x00001bf7 store  0x00000002 , 0x00004209 
+ 00019661  0x00001bf8 rtn 
+ 00019662  0x00001bfb fetch  0x00000002 , 0x00004652 
+ 00019663  0x00001bfc set1  0x00000001 , 0x0000003f 
+ 00019664  0x00001bfd store  0x00000002 , 0x00004652 
+ 00019665  0x00001bfe fetch  0x00000002 , 0x00004209 
+ 00019666  0x00001bff set1  0x00000004 , 0x0000003f 
+ 00019667  0x00001c00 store  0x00000002 , 0x00004209 
+ 00019668  0x00001c01 rtn 
+ 00019669  0x00001c04 fetch  0x00000002 , 0x00004652 
+ 00019670  0x00001c05 set1  0x00000003 , 0x0000003f 
+ 00019671  0x00001c06 store  0x00000002 , 0x00004652 
+ 00019672  0x00001c07 rtn 
+ 00019673  0x00001c0a fetch  0x00000002 , 0x00004652 
+ 00019674  0x00001c0b set1  0x00000005 , 0x0000003f 
+ 00019675  0x00001c0c store  0x00000002 , 0x00004652 
+ 00019676  0x00001c0d fetch  0x00000002 , 0x00004209 
+ 00019677  0x00001c0e set1  0x00000003 , 0x0000003f 
+ 00019678  0x00001c0f store  0x00000002 , 0x00004209 
+ 00019679  0x00001c10 rtn 
+ 00019680  0x00001c13 fetch  0x00000002 , 0x00004652 
+ 00019681  0x00001c14 set0  0x00000005 , 0x0000003f 
+ 00019682  0x00001c15 store  0x00000002 , 0x00004652 
+ 00019683  0x00001c16 rtn 
+ 00019684  0x00001c19 fetch  0x00000002 , 0x00004652 
+ 00019685  0x00001c1a set1  0x00000009 , 0x0000003f 
+ 00019686  0x00001c1b store  0x00000002 , 0x00004652 
+ 00019687  0x00001c1c rtn 
+ 00019688  0x00001c1f fetch  0x00000002 , 0x00004652 
+ 00019689  0x00001c20 set0  0x00000009 , 0x0000003f 
+ 00019690  0x00001c21 store  0x00000002 , 0x00004652 
+ 00019691  0x00001c22 branch  0x00004d93 
+ 00019692  0x00001c25 fetch  0x00000002 , 0x00004652 
+ 00019693  0x00001c26 set1  0x00000002 , 0x0000003f 
+ 00019694  0x00001c27 store  0x00000002 , 0x00004652 
+ 00019695  0x00001c28 rtn 
+ 00019696  0x00001c2b fetch  0x00000002 , 0x00004209 
+ 00019697  0x00001c2c set1  0x00000000 , 0x0000003f 
+ 00019698  0x00001c2d store  0x00000002 , 0x00004209 
+ 00019699  0x00001c2e rtn 
+ 00019700  0x00001c31 fetch  0x00000002 , 0x00004209 
+ 00019701  0x00001c32 set1  0x00000008 , 0x0000003f 
+ 00019702  0x00001c33 store  0x00000002 , 0x00004209 
+ 00019703  0x00001c34 branch  0x00004d64 
+ 00019704  0x00001c38 bpatch  0x000000b5 , 0x00004016 
+ 00019705  0x00001c39 store  0x00000001 , 0x00000228 
+ 00019706  0x00001c3b fetch  0x00000001 , 0x00000228 
+ 00019707  0x00001c3c rtn  0x00000034 
+ 00019708  0x00001c3d increase  0xffffffff , 0x0000003f 
+ 00019709  0x00001c3e store  0x00000001 , 0x00000228 
+ 00019710  0x00001c3f call  0x00004d51 
+ 00019711  0x00001c40 call  0x00004d12 
+ 00019712  0x00001c41 call  0x00004d18 
+ 00019713  0x00001c42 fetch  0x00000002 , 0x000041fe 
+ 00019714  0x00001c43 call  0x00007d77 
+ 00019715  0x00001c44 branch  0x00004cfa 
+ 00019716  0x00001c4a ifetch  0x00000001 , 0x00000013 
+ 00019717  0x00001c4b rtn  0x00000034 
+ 00019718  0x00001c4c pincrease  0xffffffff 
+ 00019719  0x00001c4d istore  0x00000001 , 0x00000013 
+ 00019720  0x00001c4e nrtn  0x00000034 
+ 00019721  0x00001c4f copy  0x00000012 , 0x0000003f 
+ 00019722  0x00001c50 branch  0x00007d77 
+ 00019723  0x00001c55 ifetch  0x00000002 , 0x00000013 
+ 00019724  0x00001c56 rtn  0x00000034 
+ 00019725  0x00001c57 pincrease  0xffffffff 
+ 00019726  0x00001c58 istore  0x00000002 , 0x00000013 
+ 00019727  0x00001c59 nrtn  0x00000034 
+ 00019728  0x00001c5a copy  0x00000012 , 0x0000003f 
+ 00019729  0x00001c5b branch  0x00007d77 
+ 00019730  0x00001c5e arg  0x00004204 , 0x00000013 
+ 00019731  0x00001c5f arg  0x00004d15 , 0x00000012 
+ 00019732  0x00001c60 branch  0x00004d04 
+ 00019733  0x00001c63 call  0x0000424e 
+ 00019734  0x00001c64 branch  0x00004d89 , 0x00000005 
+ 00019735  0x00001c65 rtn 
+ 00019736  0x00001c69 arg  0x0000464e , 0x00000013 
+ 00019737  0x00001c6a arg  0x00004d1b , 0x00000012 
+ 00019738  0x00001c6b branch  0x00004d0b 
+ 00019739  0x00001c6e call  0x00004d6b 
+ 00019740  0x00001c6f call  0x00004d83 
+ 00019741  0x00001c70 fetch  0x00000002 , 0x000041f8 
+ 00019742  0x00001c71 branch  0x00007d77 
+ 00019743  0x00001c75 call  0x00004d37 
+ 00019744  0x00001c77 fetch  0x00000002 , 0x00004652 
+ 00019745  0x00001c78 set0  0x00000007 , 0x0000003f 
+ 00019746  0x00001c79 store  0x00000002 , 0x00004652 
+ 00019747  0x00001c7a rtn 
+ 00019748  0x00001c7d jam  0x00000000 , 0x00004204 
+ 00019749  0x00001c7e fetch  0x00000002 , 0x00004652 
+ 00019750  0x00001c7f bbit1  0x00000007 , 0x00004d29 
+ 00019751  0x00001c80 isolate0  0x00000001 , 0x0000003f 
+ 00019752  0x00001c81 call  0x00004c96 , 0x00000001 
+ 00019753  0x00001c83 bpatch  0x000000b6 , 0x00004016 
+ 00019754  0x00001c84 fetch  0x00000002 , 0x00004652 
+ 00019755  0x00001c85 set0  0x00000000 , 0x0000003f 
+ 00019756  0x00001c86 set0  0x00000001 , 0x0000003f 
+ 00019757  0x00001c87 set0  0x00000002 , 0x0000003f 
+ 00019758  0x00001c88 set0  0x00000003 , 0x0000003f 
+ 00019759  0x00001c89 set0  0x00000007 , 0x0000003f 
+ 00019760  0x00001c8a store  0x00000002 , 0x00004652 
+ 00019761  0x00001c8b branch  0x00004d93 
+ 00019762  0x00001c8e call  0x00004d34 
+ 00019763  0x00001c8f branch  0x00004d85 
+ 00019764  0x00001c93 setarg  0x00000000 
+ 00019765  0x00001c94 store  0x00000002 , 0x00004207 
+ 00019766  0x00001c95 rtn 
+ 00019767  0x00001c97 setarg  0x00000000 
+ 00019768  0x00001c98 store  0x00000002 , 0x00004209 
+ 00019769  0x00001c99 rtn 
+ 00019770  0x00001c9c fetch  0x00000002 , 0x00004209 
+ 00019771  0x00001c9d store  0x00000002 , 0x00004207 
+ 00019772  0x00001c9e setarg  0x00000000 
+ 00019773  0x00001c9f store  0x00000002 , 0x00004209 
+ 00019774  0x00001ca0 rtn 
+ 00019775  0x00001ca3 fetch  0x00000002 , 0x00004209 
+ 00019776  0x00001ca4 set1  0x00000007 , 0x0000003f 
+ 00019777  0x00001ca5 store  0x00000002 , 0x00004207 
+ 00019778  0x00001ca6 setarg  0x00000000 
+ 00019779  0x00001ca7 store  0x00000002 , 0x00004209 
+ 00019780  0x00001ca8 rtn 
+ 00019781  0x00001cb1 fetch  0x00000001 , 0x00004652 
+ 00019782  0x00001cb2 isolate1  0x00000005 , 0x0000003f 
+ 00019783  0x00001cb3 rtn 
+ 00019784  0x00001cbd fetch  0x00000001 , 0x0000452c 
+ 00019785  0x00001cbe store  0x00000001 , 0x00004204 
+ 00019786  0x00001cbf rtn 
+ 00019787  0x00001cc2 arg  0x00000009 , 0x00000007 
+ 00019788  0x00001cc3 branch  0x00004bec 
+ 00019789  0x00001cc6 arg  0x00000009 , 0x00000007 
+ 00019790  0x00001cc7 branch  0x00004bf0 
+ 00019791  0x00001cca jam  0x00000005 , 0x00004205 
+ 00019792  0x00001ccb branch  0x00004d4b 
+ 00019793  0x00001cce arg  0x00004205 , 0x00000013 
+ 00019794  0x00001ccf arg  0x00004d4d , 0x00000012 
+ 00019795  0x00001cd0 branch  0x00004d04 
+ 00019796  0x00001cd3 jam  0x00000001 , 0x00004335 
+ 00019797  0x00001cd4 rtn 
+ 00019798  0x00001cd7 jam  0x00000000 , 0x00004335 
+ 00019799  0x00001cd8 rtn 
+ 00019800  0x00001cdb jam  0x0000000a , 0x00000a95 
+ 00019801  0x00001cdc branch  0x00007bb4 
+ 00019802  0x00001cdf jam  0x0000001d , 0x00000a95 
+ 00019803  0x00001ce0 branch  0x00007bb4 
+ 00019804  0x00001ce3 bpatch  0x000000b7 , 0x00004016 
+ 00019805  0x00001ce4 fetch  0x00000001 , 0x00004206 
+ 00019806  0x00001ce5 store  0x00000001 , 0x0000016b 
+ 00019807  0x00001ce6 jam  0x00000001 , 0x00000226 
+ 00019808  0x00001ce7 jam  0x00000003 , 0x00000a95 
+ 00019809  0x00001ce8 branch  0x00007bb4 
+ 00019810  0x00001ceb jam  0x0000001e , 0x00000a95 
+ 00019811  0x00001cec branch  0x00007bb4 
+ 00019812  0x00001cef jam  0x00000004 , 0x00000a95 
+ 00019813  0x00001cf0 branch  0x00007bb4 
+ 00019814  0x00001cf3 fetch  0x00000002 , 0x00004655 
+ 00019815  0x00001cf4 store  0x00000002 , 0x0000464e 
+ 00019816  0x00001cf6 call  0x00004d7f 
+ 00019817  0x00001cf8 jam  0x00000001 , 0x00000a95 
+ 00019818  0x00001cf9 branch  0x00007bb4 
+ 00019819  0x00001cfc setarg  0x00000000 
+ 00019820  0x00001cfd store  0x00000002 , 0x0000464e 
+ 00019821  0x00001cfe jam  0x00000002 , 0x00000a95 
+ 00019822  0x00001cff branch  0x00007bb4 
+ 00019823  0x00001d02 jam  0x0000000f , 0x00000a95 
+ 00019824  0x00001d03 branch  0x00007bb4 
+ 00019825  0x00001d06 jam  0x00000010 , 0x00000a95 
+ 00019826  0x00001d07 branch  0x00007bb4 
+ 00019827  0x00001d0a jam  0x0000000e , 0x00000a95 
+ 00019828  0x00001d0b branch  0x00007bb4 
+ 00019829  0x00001d0e jam  0x0000000d , 0x00000a95 
+ 00019830  0x00001d0f branch  0x00007bb4 
+ 00019831  0x00001d12 jam  0x00000017 , 0x00000a95 
+ 00019832  0x00001d13 branch  0x00007bb4 
+ 00019833  0x00001d16 jam  0x00000018 , 0x00000a95 
+ 00019834  0x00001d17 branch  0x00007bb4 
+ 00019835  0x00001d1a jam  0x00000016 , 0x00000a95 
+ 00019836  0x00001d1b branch  0x00007bb4 
+ 00019837  0x00001d1e jam  0x00000011 , 0x00000a95 
+ 00019838  0x00001d1f branch  0x00007bb4 
+ 00019839  0x00001d22 jam  0x00000015 , 0x00000a95 
+ 00019840  0x00001d23 branch  0x00007bb4 
+ 00019841  0x00001d26 jam  0x00000014 , 0x00000a95 
+ 00019842  0x00001d27 branch  0x00007bb4 
+ 00019843  0x00001d2b jam  0x00000013 , 0x00000a95 
+ 00019844  0x00001d2c branch  0x00007bb4 
+ 00019845  0x00001d2f jam  0x00000019 , 0x00000a95 
+ 00019846  0x00001d30 branch  0x00007bb4 
+ 00019847  0x00001d33 jam  0x00000006 , 0x00000a95 
+ 00019848  0x00001d34 branch  0x00007bb4 
+ 00019849  0x00001d37 jam  0x00000005 , 0x00000a95 
+ 00019850  0x00001d38 branch  0x00007bb4 
+ 00019851  0x00001d3b jam  0x0000001f , 0x00000a95 
+ 00019852  0x00001d3c branch  0x00007bb4 
+ 00019853  0x00001d3f jam  0x00000020 , 0x00000a95 
+ 00019854  0x00001d40 branch  0x00007bb4 
+ 00019855  0x00001d43 jam  0x00000025 , 0x00000a95 
+ 00019856  0x00001d44 branch  0x00007bb4 
+ 00019857  0x00001d47 set1  0x0000000d , 0x00000000 
+ 00019858  0x00001d48 rtn 
+ 00019859  0x00001d4b set0  0x0000000d , 0x00000000 
+ 00019860  0x00001d4c rtn 
+ 00019861  0x00001d55 rtn  0x0000002b 
+ 00019862  0x00001d56 call  0x00005b83 
+ 00019863  0x00001d57 setarg  0x00004dda 
+ 00019864  0x00001d58 store  0x00000002 , 0x000041f4 
+ 00019865  0x00001d59 setarg  0x00004dc5 
+ 00019866  0x00001d5a store  0x00000002 , 0x000041f2 
+ 00019867  0x00001d5b setarg  0x00004dde 
+ 00019868  0x00001d5c store  0x00000002 , 0x000041f6 
+ 00019869  0x00001d5d setarg  0x00004dc4 
+ 00019870  0x00001d5e store  0x00000002 , 0x000041f0 
+ 00019871  0x00001d5f setarg  0x00004dbd 
+ 00019872  0x00001d60 store  0x00000002 , 0x000041ea 
+ 00019873  0x00001d61 setarg  0x00004ef4 
+ 00019874  0x00001d62 store  0x00000002 , 0x000041fc 
+ 00019875  0x00001d63 setarg  0x00005037 
+ 00019876  0x00001d64 store  0x00000002 , 0x00004541 
+ 00019877  0x00001d65 setarg  0x000050ae 
+ 00019878  0x00001d66 store  0x00000002 , 0x000041fa 
+ 00019879  0x00001d67 setarg  0x000050c3 
+ 00019880  0x00001d68 store  0x00000002 , 0x000041fe 
+ 00019881  0x00001d6a call  0x00004dd7 
+ 00019882  0x00001d6b bpatch  0x000000b8 , 0x00004017 
+ 00019883  0x00001d6c call  0x00004daf 
+ 00019884  0x00001d6d call  0x00004dbc 
+ 00019885  0x00001d6e call  0x00004c2a 
+ 00019886  0x00001d6f branch  0x0000504d 
+ 00019887  0x00001d73 fetch  0x00000002 , 0x00004ffa 
+ 00019888  0x00001d74 store  0x00000002 , 0x00008046 
+ 00019889  0x00001d75 fetch  0x00000002 , 0x00004ff8 
+ 00019890  0x00001d76 store  0x00000002 , 0x00008044 
+ 00019891  0x00001d77 copy  0x0000003f , 0x00000003 
+ 00019892  0x00001d79 fetch  0x00000002 , 0x00004ff2 
+ 00019893  0x00001d7a store  0x00000002 , 0x0000804a 
+ 00019894  0x00001d7b fetch  0x00000002 , 0x00004ff0 
+ 00019895  0x00001d7c store  0x00000002 , 0x00008048 
+ 00019896  0x00001d7d copy  0x0000003f , 0x0000000a 
+ 00019897  0x00001d7e rtn 
+ 00019898  0x00001d83 call  0x00004daf 
+ 00019899  0x00001d84 branch  0x00004dd7 
+ 00019900  0x00001d88 rtn 
+ 00019901  0x00001d8a fetch  0x00000001 , 0x00004fef 
+ 00019902  0x00001d8b beq  0x00000001 , 0x00004d4b 
+ 00019903  0x00001d8c fetch  0x00000001 , 0x00004496 
+ 00019904  0x00001d8d bne  0x00000000 , 0x00004dc2 
+ 00019905  0x00001d8e branch  0x00004d4d 
+ 00019906  0x00001d90 beq  0x000000ff , 0x00004d4d 
+ 00019907  0x00001d91 branch  0x00004d4b 
+ 00019908  0x00001d94 rtn 
+ 00019909  0x00001d97 call  0x00004dc7 
+ 00019910  0x00001d98 branch  0x000050d3 
+ 00019911  0x00001d9b rtn 
+ 00019912  0x00001d9c fetch  0x00000001 , 0x00004652 
+ 00019913  0x00001d9d bbit0  0x00000004 , 0x00004dd7 
+ 00019914  0x00001d9e bpatch  0x000000b9 , 0x00004017 
+ 00019915  0x00001d9f setarg  0x00003eff 
+ 00019916  0x00001da0 fetcht  0x00000004 , 0x0000467f 
+ 00019917  0x00001da1 iadd  0x00000002 , 0x00000002 
+ 00019918  0x00001da2 copy  0x00000022 , 0x0000003f 
+ 00019919  0x00001da3 isub  0x00000002 , 0x0000003e 
+ 00019920  0x00001da4 nrtn  0x00000002 
+ 00019921  0x00001da5 fetch  0x00000002 , 0x00004652 
+ 00019922  0x00001da6 bbit1  0x00000005 , 0x00004dd7 
+ 00019923  0x00001da7 fetch  0x00000001 , 0x00004679 
+ 00019924  0x00001da8 rtnbit1  0x00000006 
+ 00019925  0x00001da9 call  0x000050d6 
+ 00019926  0x00001daa call  0x00004d89 
+ 00019927  0x00001dac copy  0x00000022 , 0x0000003f 
+ 00019928  0x00001dad store  0x00000004 , 0x0000467f 
+ 00019929  0x00001dae rtn 
+ 00019930  0x00001db2 call  0x000050d3 
+ 00019931  0x00001db3 call  0x00005648 
+ 00019932  0x00001db4 nrtn  0x00000034 
+ 00019933  0x00001db5 branch  0x00004e3d 
+ 00019934  0x00001db9 copy  0x00000013 , 0x0000003f 
+ 00019935  0x00001dba beq  0x00000001 , 0x00004e2c 
+ 00019936  0x00001dbb beq  0x00000002 , 0x00004dfb 
+ 00019937  0x00001dbc beq  0x00000004 , 0x00004e2f 
+ 00019938  0x00001dbd beq  0x00000005 , 0x00004e1d 
+ 00019939  0x00001dbe beq  0x00000008 , 0x00004e02 
+ 00019940  0x00001dbf beq  0x00000009 , 0x00004e08 
+ 00019941  0x00001dc0 beq  0x0000000a , 0x00004e22 
+ 00019942  0x00001dc1 beq  0x0000000b , 0x00004e0d 
+ 00019943  0x00001dc2 beq  0x0000000c , 0x00004e1b 
+ 00019944  0x00001dc3 beq  0x00000013 , 0x00004e2f 
+ 00019945  0x00001dc4 beq  0x00000014 , 0x00004e28 
+ 00019946  0x00001dc5 beq  0x00000015 , 0x00004e1f 
+ 00019947  0x00001dc6 beq  0x00000021 , 0x00004e23 
+ 00019948  0x00001dc7 beq  0x00000023 , 0x00004e24 
+ 00019949  0x00001dc8 beq  0x00000024 , 0x00004e27 
+ 00019950  0x00001dc9 beq  0x00000030 , 0x00005088 
+ 00019951  0x00001dca beq  0x00000031 , 0x0000508a 
+ 00019952  0x00001dcb beq  0x00000032 , 0x00005098 
+ 00019953  0x00001dcc beq  0x00000033 , 0x00005096 
+ 00019954  0x00001dcd beq  0x00000034 , 0x00005082 
+ 00019955  0x00001dce beq  0x00000035 , 0x00005078 
+ 00019956  0x00001dcf beq  0x00000036 , 0x00005080 
+ 00019957  0x00001dd0 beq  0x00000037 , 0x0000508c 
+ 00019958  0x00001dd1 beq  0x00000038 , 0x0000508e 
+ 00019959  0x00001dd2 beq  0x0000003b , 0x0000509f 
+ 00019960  0x00001dd3 beq  0x0000003d , 0x0000506f 
+ 00019961  0x00001dd4 beq  0x00000041 , 0x00004e30 
+ 00019962  0x00001dd5 rtn 
+ 00019963  0x00001dd9 call  0x00004dd7 
+ 00019964  0x00001dda fetch  0x00000001 , 0x00004637 
+ 00019965  0x00001ddb ncall  0x0000508c , 0x00000034 
+ 00019966  0x00001ddc call  0x00004e2f 
+ 00019967  0x00001ddd fetch  0x00000002 , 0x00004652 
+ 00019968  0x00001dde rtnbit0  0x00000004 
+ 00019969  0x00001ddf branch  0x00004e08 
+ 00019970  0x00001de2 fetch  0x00000002 , 0x00004652 
+ 00019971  0x00001de3 set1  0x00000004 , 0x0000003f 
+ 00019972  0x00001de4 store  0x00000002 , 0x00004652 
+ 00019973  0x00001de5 fetch  0x00000001 , 0x0000466d 
+ 00019974  0x00001de6 store  0x00000001 , 0x00004173 
+ 00019975  0x00001de7 branch  0x00005022 
+ 00019976  0x00001dec fetch  0x00000002 , 0x00004652 
+ 00019977  0x00001ded rtnbit0  0x00000004 
+ 00019978  0x00001dee set0  0x00000004 , 0x0000003f 
+ 00019979  0x00001def store  0x00000002 , 0x00004652 
+ 00019980  0x00001df0 branch  0x00005026 
+ 00019981  0x00001df6 call  0x00004dd7 
+ 00019982  0x00001df9 fetch  0x00000002 , 0x00004042 
+ 00019983  0x00001dfa rshift  0x0000003f , 0x0000003f 
+ 00019984  0x00001dfb fetcht  0x00000002 , 0x000041e4 
+ 00019985  0x00001dfc isub  0x00000002 , 0x0000003e 
+ 00019986  0x00001dfd nbranch  0x00004e14 , 0x00000005 
+ 00019987  0x00001dfe branch  0x00004d91 
+ 00019988  0x00001e00 fetch  0x00000001 , 0x00004679 
+ 00019989  0x00001e01 rtnbit1  0x00000005 
+ 00019990  0x00001e03 fetch  0x00000002 , 0x00004ffc 
+ 00019991  0x00001e04 fetcht  0x00000002 , 0x00004ffe 
+ 00019992  0x00001e05 isub  0x00000002 , 0x0000003e 
+ 00019993  0x00001e06 ncall  0x000050da , 0x00000005 
+ 00019994  0x00001e07 branch  0x00004d87 
+ 00019995  0x00001e0a call  0x000050d8 
+ 00019996  0x00001e0b branch  0x00004d93 
+ 00019997  0x00001e0e call  0x00004dd7 
+ 00019998  0x00001e0f branch  0x00004e32 
+ 00019999  0x00001e12 call  0x00005bf6 
+ 00020000  0x00001e13 call  0x00004e2f 
+ 00020001  0x00001e14 branch  0x00005028 
+ 00020002  0x00001e17 branch  0x00004d58 
+ 00020003  0x00001e1b branch  0x000050d8 
+ 00020004  0x00001e1f fetch  0x00000001 , 0x00004679 
+ 00020005  0x00001e20 bbit0  0x00000005 , 0x00004d89 
+ 00020006  0x00001e21 branch  0x000050dc 
+ 00020007  0x00001e25 branch  0x000050dc 
+ 00020008  0x00001e2a call  0x00004e32 
+ 00020009  0x00001e2b fetch  0x00000001 , 0x0000466e 
+ 00020010  0x00001e2c store  0x00000001 , 0x00004173 
+ 00020011  0x00001e2d branch  0x00005024 
+ 00020012  0x00001e31 jam  0x00000000 , 0x00004633 
+ 00020013  0x00001e32 call  0x000050d8 
+ 00020014  0x00001e33 branch  0x000050dc 
+ 00020015  0x00001e38 branch  0x00004e8f 
+ 00020016  0x00001e3c call  0x000060aa 
+ 00020017  0x00001e3d branch  0x00005ee2 
+ 00020018  0x00001e41 branch  0x00004e33 
+ 00020019  0x00001e44 fetch  0x00000001 , 0x0000466c 
+ 00020020  0x00001e45 isolate1  0x00000000 , 0x0000003f 
+ 00020021  0x00001e46 call  0x00004d6b , 0x00000001 
+ 00020022  0x00001e47 fetch  0x00000001 , 0x0000466c 
+ 00020023  0x00001e48 isolate1  0x00000001 , 0x0000003f 
+ 00020024  0x00001e49 call  0x00004d73 , 0x00000001 
+ 00020025  0x00001e4a rtn 
+ 00020026  0x00001e4d fetch  0x00000001 , 0x0000453d 
+ 00020027  0x00001e4e rtneq  0x00000000 
+ 00020028  0x00001e4f branch  0x00006ae9 
+ 00020029  0x00001e52 fetch  0x00000002 , 0x00004ffc 
+ 00020030  0x00001e53 fetcht  0x00000002 , 0x00004ffe 
+ 00020031  0x00001e54 isub  0x00000002 , 0x0000003e 
+ 00020032  0x00001e55 branch  0x00004e3a , 0x00000005 
+ 00020033  0x00001e56 call  0x000067f7 
+ 00020034  0x00001e57 ifetch  0x00000001 , 0x00000003 
+ 00020035  0x00001e58 bne  0x00000001 , 0x00004e4e 
+ 00020036  0x00001e59 ifetch  0x00000001 , 0x00000003 
+ 00020037  0x00001e5a store  0x00000001 , 0x00000aff 
+ 00020038  0x00001e5b ifetcht  0x00000001 , 0x00000003 
+ 00020039  0x00001e5c copy  0x00000003 , 0x00000011 
+ 00020040  0x00001e5d storet  0x00000001 , 0x00000b00 
+ 00020041  0x00001e5e jam  0x00000001 , 0x00000b01 
+ 00020042  0x00001e5f call  0x00004e5a 
+ 00020043  0x00001e60 fetch  0x00000001 , 0x00000b01 
+ 00020044  0x00001e61 rtneq  0x00000000 
+ 00020045  0x00001e62 branch  0x00004e55 
+ 00020046  0x00001e65 call  0x00007c9c 
+ 00020047  0x00001e66 call  0x0000507e 
+ 00020048  0x00001e67 branch  0x00004e51 
+ 00020049  0x00001e6b bpatch  0x000000ba , 0x00004017 
+ 00020050  0x00001e6c fetch  0x00000002 , 0x00004ffe 
+ 00020051  0x00001e6d store  0x00000002 , 0x00004ffc 
+ 00020052  0x00001e6e rtn 
+ 00020053  0x00001e72 call  0x000067f7 
+ 00020054  0x00001e73 increase  0x00000002 , 0x00000003 
+ 00020055  0x00001e74 ifetch  0x00000001 , 0x00000003 
+ 00020056  0x00001e75 iadd  0x00000003 , 0x00000003 
+ 00020057  0x00001e77 branch  0x000067f3 
+ 00020058  0x00001e7b bpatch  0x000000bb , 0x00004017 
+ 00020059  0x00001e7c fetch  0x00000001 , 0x00000aff 
+ 00020060  0x00001e7d beq  0x00000000 , 0x00004e7c 
+ 00020061  0x00001e7e beq  0x00000001 , 0x00004e81 
+ 00020062  0x00001e7f beq  0x00000002 , 0x00004e86 
+ 00020063  0x00001e80 beq  0x00000003 , 0x00004e9c 
+ 00020064  0x00001e81 beq  0x00000004 , 0x00004ea8 
+ 00020065  0x00001e82 beq  0x00000005 , 0x00004eb2 
+ 00020066  0x00001e83 beq  0x00000009 , 0x00004ed7 
+ 00020067  0x00001e84 beq  0x0000000b , 0x00004f14 
+ 00020068  0x00001e85 beq  0x0000000c , 0x00004f15 
+ 00020069  0x00001e86 beq  0x0000000d , 0x00004f29 
+ 00020070  0x00001e87 beq  0x00000010 , 0x00004f31 
+ 00020071  0x00001e88 beq  0x00000011 , 0x00004f39 
+ 00020072  0x00001e89 beq  0x00000012 , 0x00004f3d 
+ 00020073  0x00001e8a beq  0x00000026 , 0x00004f41 
+ 00020074  0x00001e8b beq  0x00000028 , 0x00004f48 
+ 00020075  0x00001e8c beq  0x00000029 , 0x00004f58 
+ 00020076  0x00001e8d beq  0x0000002a , 0x00004f61 
+ 00020077  0x00001e8e beq  0x00000030 , 0x00004f94 
+ 00020078  0x00001e8f beq  0x00000033 , 0x00004f9a 
+ 00020079  0x00001e90 beq  0x00000034 , 0x00004fbd 
+ 00020080  0x00001e91 beq  0x00000035 , 0x00004fc6 
+ 00020081  0x00001e92 beq  0x00000036 , 0x00004fcf 
+ 00020082  0x00001e93 beq  0x00000037 , 0x00004fd9 
+ 00020083  0x00001e94 beq  0x00000038 , 0x00004fdc 
+ 00020084  0x00001e95 beq  0x00000042 , 0x00004fe4 
+ 00020085  0x00001e96 beq  0x00000048 , 0x00004fe9 
+ 00020086  0x00001e97 beq  0x00000049 , 0x00004ff4 
+ 00020087  0x00001e98 beq  0x00000051 , 0x00004ffa 
+ 00020088  0x00001e99 beq  0x00000061 , 0x00004ffd 
+ 00020089  0x00001e9a beq  0x000000ff , 0x0000500c 
+ 00020090  0x00001e9b beq  0x000000ee , 0x0000500f 
+ 00020091  0x00001e9c branch  0x0000501c 
+ 00020092  0x00001ea2 fetch  0x00000001 , 0x00000b00 
+ 00020093  0x00001ea3 bne  0x00000006 , 0x0000501c 
+ 00020094  0x00001ea4 ifetch  0x00000006 , 0x00000003 
+ 00020095  0x00001ea5 store  0x00000006 , 0x000040a0 
+ 00020096  0x00001ea6 branch  0x0000501f 
+ 00020097  0x00001eaa fetch  0x00000001 , 0x00000b00 
+ 00020098  0x00001eab bne  0x00000006 , 0x0000501c 
+ 00020099  0x00001eac ifetch  0x00000006 , 0x00000003 
+ 00020100  0x00001ead store  0x00000006 , 0x00004472 
+ 00020101  0x00001eae branch  0x0000501f 
+ 00020102  0x00001eb3 fetch  0x00000001 , 0x00000b00 
+ 00020103  0x00001eb4 bne  0x00000001 , 0x0000501c 
+ 00020104  0x00001eb5 copy  0x00000011 , 0x00000003 
+ 00020105  0x00001eb6 call  0x0000501f 
+ 00020106  0x00001eb7 ifetcht  0x00000001 , 0x00000003 
+ 00020107  0x00001eb8 storet  0x00000001 , 0x0000466f 
+ 00020108  0x00001eb9 fetch  0x00000002 , 0x00004652 
+ 00020109  0x00001eba rtnbit1  0x00000009 
+ 00020110  0x00001ebb rtnbit1  0x00000000 
+ 00020111  0x00001ebd fetch  0x00000001 , 0x0000466c 
+ 00020112  0x00001ebe isolate1  0x00000000 , 0x0000003f 
+ 00020113  0x00001ebf nbranch  0x00004e95 , 0x00000001 
+ 00020114  0x00001ec0 fetcht  0x00000001 , 0x0000466f 
+ 00020115  0x00001ec1 and  0x00000002 , 0x00000003 , 0x0000003f 
+ 00020116  0x00001ec2 store  0x00000001 , 0x00004093 
+ 00020117  0x00001ec4 fetch  0x00000001 , 0x0000466c 
+ 00020118  0x00001ec5 isolate1  0x00000001 , 0x0000003f 
+ 00020119  0x00001ec6 nrtn  0x00000001 
+ 00020120  0x00001ec7 fetcht  0x00000001 , 0x0000466f 
+ 00020121  0x00001ec8 isolate1  0x00000002 , 0x00000002 
+ 00020122  0x00001ec9 branch  0x00004d75 , 0x00000001 
+ 00020123  0x00001eca branch  0x00004d73 
+ 00020124  0x00001ecf fetch  0x00000001 , 0x00000b00 
+ 00020125  0x00001ed0 sub  0x0000003f , 0x00000043 , 0x0000003e 
+ 00020126  0x00001ed1 nbranch  0x0000501c , 0x00000002 
+ 00020127  0x00001ed2 store  0x00000001 , 0x000044e7 
+ 00020128  0x00001ed3 arg  0x00000008 , 0x00000039 
+ 00020129  0x00001ed4 call  0x00007ca1 
+ 00020130  0x00001ed5 fetch  0x00000001 , 0x00000b00 
+ 00020131  0x00001ed6 copy  0x0000003f , 0x00000039 
+ 00020132  0x00001ed7 copy  0x00000011 , 0x00000003 
+ 00020133  0x00001ed8 arg  0x000044e8 , 0x00000005 
+ 00020134  0x00001ed9 call  0x000067da 
+ 00020135  0x00001eda branch  0x0000501f 
+ 00020136  0x00001edf fetch  0x00000001 , 0x00000b00 
+ 00020137  0x00001ee0 sub  0x0000003f , 0x0000001d , 0x0000003e 
+ 00020138  0x00001ee1 nbranch  0x0000501c , 0x00000002 
+ 00020139  0x00001ee2 store  0x00000001 , 0x00004381 
+ 00020140  0x00001ee3 copy  0x0000003f , 0x00000039 
+ 00020141  0x00001ee4 copy  0x00000011 , 0x00000003 
+ 00020142  0x00001ee5 arg  0x00004382 , 0x00000005 
+ 00020143  0x00001ee6 call  0x000067da 
+ 00020144  0x00001ee7 call  0x00005b83 
+ 00020145  0x00001ee8 branch  0x0000501f 
+ 00020146  0x00001eed fetch  0x00000001 , 0x00004652 
+ 00020147  0x00001eee bbit0  0x00000004 , 0x0000501c 
+ 00020148  0x00001eef call  0x00004d45 
+ 00020149  0x00001ef0 branch  0x00004ec3 , 0x00000001 
+ 00020150  0x00001ef1 jam  0x00000000 , 0x00000b01 
+ 00020151  0x00001ef3 call  0x00004dd7 
+ 00020152  0x00001ef4 fetch  0x00000001 , 0x0000453a 
+ 00020153  0x00001ef5 rtn  0x00000034 
+ 00020154  0x00001ef6 fetch  0x00000002 , 0x00004545 
+ 00020155  0x00001ef7 bne  0x00000000 , 0x00004ec1 
+ 00020156  0x00001ef8 fetch  0x00000001 , 0x00000b00 
+ 00020157  0x00001ef9 store  0x00000002 , 0x00004545 
+ 00020158  0x00001efb copy  0x00000011 , 0x00000003 
+ 00020159  0x00001efe copy  0x00000003 , 0x0000003f 
+ 00020160  0x00001eff store  0x00000002 , 0x00004543 
+ 00020161  0x00001f01 call  0x00004ec5 
+ 00020162  0x00001f02 branch  0x00006b0c 
+ 00020163  0x00001f05 jam  0x00000000 , 0x00000b01 
+ 00020164  0x00001f06 branch  0x000050bd 
+ 00020165  0x00001f09 call  0x00004ecb 
+ 00020166  0x00001f0a fetch  0x00000002 , 0x00004545 
+ 00020167  0x00001f0b fetcht  0x00000002 , 0x0000466a 
+ 00020168  0x00001f0c isub  0x00000002 , 0x0000003f 
+ 00020169  0x00001f0d store  0x00000002 , 0x00004545 
+ 00020170  0x00001f0e rtn 
+ 00020171  0x00001f11 fetch  0x00000002 , 0x00004545 
+ 00020172  0x00001f12 arg  0x000000e6 , 0x00000002 
+ 00020173  0x00001f13 call  0x00007db5 
+ 00020174  0x00001f14 fetcht  0x00000002 , 0x0000453e 
+ 00020175  0x00001f15 call  0x00007db5 
+ 00020176  0x00001f16 fetcht  0x00000002 , 0x00004530 
+ 00020177  0x00001f17 call  0x00007db5 
+ 00020178  0x00001f18 store  0x00000002 , 0x0000466a 
+ 00020179  0x00001f19 rtn 
+ 00020180  0x00001f1c jam  0x00000001 , 0x00000b01 
+ 00020181  0x00001f1d jam  0x00000005 , 0x00000aff 
+ 00020182  0x00001f1e branch  0x0000501f 
+ 00020183  0x00001f23 fetch  0x00000002 , 0x00004652 
+ 00020184  0x00001f24 bbit0  0x00000009 , 0x0000501c 
+ 00020185  0x00001f25 call  0x00004f11 
+ 00020186  0x00001f26 branch  0x0000501c , 0x00000028 
+ 00020187  0x00001f27 jam  0x00000000 , 0x00000b01 
+ 00020188  0x00001f28 fetch  0x00000001 , 0x00004679 
+ 00020189  0x00001f29 bbit1  0x00000004 , 0x00004ef1 
+ 00020190  0x00001f2a fetch  0x00000001 , 0x0000467a 
+ 00020191  0x00001f2b nrtn  0x00000034 
+ 00020192  0x00001f2c jam  0x00000001 , 0x00000b01 
+ 00020193  0x00001f2d ifetch  0x00000002 , 0x00000003 
+ 00020194  0x00001f2e store  0x00000002 , 0x0000467b 
+ 00020195  0x00001f2f copy  0x00000003 , 0x0000003f 
+ 00020196  0x00001f30 store  0x00000002 , 0x0000467d 
+ 00020197  0x00001f31 fetch  0x00000001 , 0x00000b00 
+ 00020198  0x00001f32 pincrease  0xfffffffe 
+ 00020199  0x00001f33 nbranch  0x0000501c , 0x00000002 
+ 00020200  0x00001f34 branch  0x0000501c , 0x00000005 
+ 00020201  0x00001f35 store  0x00000001 , 0x0000467a 
+ 00020202  0x00001f36 jam  0x00000000 , 0x00000b01 
+ 00020203  0x00001f37 call  0x00005bf4 
+ 00020204  0x00001f38 call  0x00004ef4 
+ 00020205  0x00001f39 call  0x00004ef4 
+ 00020206  0x00001f3a call  0x00004ef4 
+ 00020207  0x00001f3b fetch  0x00000001 , 0x00004679 
+ 00020208  0x00001f3c rtnbit0  0x00000004 
+ 00020209  0x00001f3e jam  0x00000001 , 0x00000b01 
+ 00020210  0x00001f3f call  0x000050e0 
+ 00020211  0x00001f40 branch  0x0000501f 
+ 00020212  0x00001f43 fetch  0x00000001 , 0x0000467a 
+ 00020213  0x00001f44 rtn  0x00000034 
+ 00020214  0x00001f45 call  0x00005c72 
+ 00020215  0x00001f46 nrtn  0x00000034 
+ 00020216  0x00001f47 call  0x00004f0c 
+ 00020217  0x00001f48 bpatch  0x000000bc , 0x00004017 
+ 00020218  0x00001f49 add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00020219  0x00001f4a fetcht  0x00000001 , 0x0000467a 
+ 00020220  0x00001f4b call  0x00007db5 
+ 00020221  0x00001f4c copy  0x0000003f , 0x00000011 
+ 00020222  0x00001f4d copy  0x00000002 , 0x0000003f 
+ 00020223  0x00001f4e isub  0x00000011 , 0x0000003f 
+ 00020224  0x00001f4f store  0x00000001 , 0x0000467a 
+ 00020225  0x00001f50 fetcht  0x00000002 , 0x0000467b 
+ 00020226  0x00001f51 call  0x00005e44 
+ 00020227  0x00001f52 fetch  0x00000002 , 0x0000467d 
+ 00020228  0x00001f53 copy  0x0000003f , 0x00000003 
+ 00020229  0x00001f54 copy  0x00000011 , 0x00000039 
+ 00020230  0x00001f55 call  0x000067da 
+ 00020231  0x00001f56 copy  0x00000003 , 0x0000003f 
+ 00020232  0x00001f57 store  0x00000002 , 0x0000467d 
+ 00020233  0x00001f58 fetch  0x00000001 , 0x0000467a 
+ 00020234  0x00001f59 nrtn  0x00000034 
+ 00020235  0x00001f5a branch  0x000050de 
+ 00020236  0x00001f5f arg  0x00000017 , 0x00000002 
+ 00020237  0x00001f60 fetch  0x00000001 , 0x00004679 
+ 00020238  0x00001f61 rtnbit1  0x00000001 
+ 00020239  0x00001f62 fetcht  0x00000002 , 0x0000447a 
+ 00020240  0x00001f63 rtn 
+ 00020241  0x00001f66 fetch  0x00000001 , 0x00004679 
+ 00020242  0x00001f67 bbit1  0x00000002 , 0x00005e22 
+ 00020243  0x00001f68 branch  0x00007dc1 
+ 00020244  0x00001f6d branch  0x00005051 
+ 00020245  0x00001f72 copy  0x00000011 , 0x00000003 
+ 00020246  0x00001f73 ifetch  0x00000001 , 0x00000003 
+ 00020247  0x00001f74 beq  0x00000000 , 0x00004f1c 
+ 00020248  0x00001f75 beq  0x00000001 , 0x00004f1f 
+ 00020249  0x00001f76 beq  0x00000002 , 0x00004f25 
+ 00020250  0x00001f77 beq  0x00000003 , 0x00004f27 
+ 00020251  0x00001f78 branch  0x0000501c 
+ 00020252  0x00001f7a call  0x0000650d 
+ 00020253  0x00001f7b jam  0x00000000 , 0x0000462c 
+ 00020254  0x00001f7c branch  0x0000501f 
+ 00020255  0x00001f7e setarg  0x00040003 
+ 00020256  0x00001f80 store  0x00000003 , 0x0000462d 
+ 00020257  0x00001f81 store  0x00000001 , 0x00004634 
+ 00020258  0x00001f82 call  0x00006506 
+ 00020259  0x00001f83 jam  0x00000001 , 0x0000462c 
+ 00020260  0x00001f84 branch  0x0000501f 
+ 00020261  0x00001f86 setarg  0x00040002 
+ 00020262  0x00001f87 branch  0x00004f20 
+ 00020263  0x00001f8a setarg  0x00040001 
+ 00020264  0x00001f8b branch  0x00004f20 
+ 00020265  0x00001f8f fetch  0x00000001 , 0x00000b00 
+ 00020266  0x00001f90 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00020267  0x00001f91 nbranch  0x0000501c , 0x00000002 
+ 00020268  0x00001f92 store  0x00000001 , 0x00004657 
+ 00020269  0x00001f93 copy  0x0000003f , 0x00000039 
+ 00020270  0x00001f94 arg  0x00004658 , 0x00000005 
+ 00020271  0x00001f95 call  0x000067ed 
+ 00020272  0x00001f96 branch  0x0000501f 
+ 00020273  0x00001f9e arg  0x00000002 , 0x00000011 
+ 00020274  0x00001f9f arg  0x00004668 , 0x00000012 
+ 00020275  0x00001fa0 arg  0x00000000 , 0x00000002 
+ 00020276  0x00001fa1 branch  0x0000502a 
+ 00020277  0x00001fa3 store  0x00000002 , 0x00000abe 
+ 00020278  0x00001fa4 arg  0x00000abe , 0x00000012 
+ 00020279  0x00001fa5 arg  0x00000000 , 0x00000002 
+ 00020280  0x00001fa6 branch  0x0000502a 
+ 00020281  0x00001fab fetch  0x00000002 , 0x00004652 
+ 00020282  0x00001fac bbit0  0x00000000 , 0x0000501c 
+ 00020283  0x00001fae call  0x0000501f 
+ 00020284  0x00001faf branch  0x00004d64 
+ 00020285  0x00001fb4 fetch  0x00000002 , 0x00004652 
+ 00020286  0x00001fb5 bbit0  0x00000009 , 0x0000501c 
+ 00020287  0x00001fb7 call  0x0000501f 
+ 00020288  0x00001fb8 branch  0x00004d7d 
+ 00020289  0x00001fbf fetch  0x00000001 , 0x00000b00 
+ 00020290  0x00001fc0 copy  0x0000003f , 0x00000039 
+ 00020291  0x00001fc1 copy  0x00000011 , 0x00000003 
+ 00020292  0x00001fc2 fetch  0x00000002 , 0x00004214 
+ 00020293  0x00001fc3 icopy  0x00000005 
+ 00020294  0x00001fc4 call  0x000067da 
+ 00020295  0x00001fc5 branch  0x0000501f 
+ 00020296  0x00001fca fetch  0x00000001 , 0x00004652 
+ 00020297  0x00001fcb bbit0  0x00000000 , 0x0000501c 
+ 00020298  0x00001fcc ifetch  0x00000001 , 0x00000003 
+ 00020299  0x00001fcd fetcht  0x00000001 , 0x00004633 
+ 00020300  0x00001fce setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00020301  0x00001fcf set1  0x00000007 , 0x00000002 
+ 00020302  0x00001fd0 storet  0x00000001 , 0x00004633 
+ 00020303  0x00001fd2 call  0x0000501f 
+ 00020304  0x00001fd4 fetch  0x00000001 , 0x00004633 
+ 00020305  0x00001fd5 bbit1  0x00000006 , 0x00004f56 
+ 00020306  0x00001fd6 rtn 
+ 00020307  0x00001fd9 jam  0x00000000 , 0x00004633 
+ 00020308  0x00001fda jam  0x00000021 , 0x00000a95 
+ 00020309  0x00001fdb branch  0x00007bb4 
+ 00020310  0x00001fdf bbit1  0x00000000 , 0x00006377 
+ 00020311  0x00001fe0 branch  0x00004f53 
+ 00020312  0x00001fe5 fetch  0x00000001 , 0x00004652 
+ 00020313  0x00001fe6 rtnbit0  0x00000004 
+ 00020314  0x00001fe7 fetch  0x00000001 , 0x0000453d 
+ 00020315  0x00001fe8 rtneq  0x00000000 
+ 00020316  0x00001fe9 ifetch  0x00000001 , 0x00000003 
+ 00020317  0x00001fea fetcht  0x00000001 , 0x0000453b 
+ 00020318  0x00001feb iadd  0x00000002 , 0x00000002 
+ 00020319  0x00001fec storet  0x00000001 , 0x0000453b 
+ 00020320  0x00001fed rtn 
+ 00020321  0x00001ff2 arg  0x00000040 , 0x00000039 
+ 00020322  0x00001ff3 arg  0x00004341 , 0x00000005 
+ 00020323  0x00001ff4 call  0x00007caf 
+ 00020324  0x00001ff5 setarg  0x00000000 
+ 00020325  0x00001ff6 store  0x00000001 , 0x00000aae 
+ 00020326  0x00001ff7 copy  0x00000011 , 0x00000003 
+ 00020327  0x00001ff9 copy  0x00000003 , 0x0000003f 
+ 00020328  0x00001ffa store  0x00000002 , 0x00000ab2 
+ 00020329  0x00001ffb call  0x00004f8f 
+ 00020330  0x00001ffd fetch  0x00000001 , 0x00000aae 
+ 00020331  0x00001ffe fetcht  0x00000001 , 0x00000a9e 
+ 00020332  0x00001fff increase  0x00000001 , 0x00000002 
+ 00020333  0x00002000 iadd  0x00000002 , 0x0000003f 
+ 00020334  0x00002001 store  0x00000001 , 0x00000aae 
+ 00020335  0x00002003 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00020336  0x00002004 nbranch  0x00004f7b , 0x00000002 
+ 00020337  0x00002006 fetcht  0x00000001 , 0x00004341 
+ 00020338  0x00002007 setarg  0x00004342 
+ 00020339  0x00002008 iadd  0x00000002 , 0x0000003f 
+ 00020340  0x00002009 store  0x00000002 , 0x00000ab7 
+ 00020341  0x0000200a fetcht  0x00000001 , 0x00000a9e 
+ 00020342  0x0000200b increase  0x00000001 , 0x00000002 
+ 00020343  0x0000200c fetch  0x00000001 , 0x00004341 
+ 00020344  0x0000200d iadd  0x00000002 , 0x0000003f 
+ 00020345  0x0000200e store  0x00000001 , 0x00004341 
+ 00020346  0x0000200f branch  0x00004f84 
+ 00020347  0x00002011 fetcht  0x00000001 , 0x00004361 
+ 00020348  0x00002012 setarg  0x00004362 
+ 00020349  0x00002013 iadd  0x00000002 , 0x0000003f 
+ 00020350  0x00002014 store  0x00000002 , 0x00000ab7 
+ 00020351  0x00002015 fetcht  0x00000001 , 0x00000a9e 
+ 00020352  0x00002016 increase  0x00000001 , 0x00000002 
+ 00020353  0x00002017 fetch  0x00000001 , 0x00004361 
+ 00020354  0x00002018 iadd  0x00000002 , 0x0000003f 
+ 00020355  0x00002019 store  0x00000001 , 0x00004361 
+ 00020356  0x0000201b fetch  0x00000002 , 0x00000ab7 
+ 00020357  0x0000201c copy  0x0000003f , 0x00000005 
+ 00020358  0x0000201d fetch  0x00000002 , 0x00000ab2 
+ 00020359  0x0000201e copy  0x0000003f , 0x00000003 
+ 00020360  0x00002020 copy  0x00000002 , 0x00000039 
+ 00020361  0x00002021 call  0x000067da 
+ 00020362  0x00002023 fetch  0x00000001 , 0x00000b00 
+ 00020363  0x00002024 fetcht  0x00000001 , 0x00000aae 
+ 00020364  0x00002025 isub  0x00000002 , 0x0000003e 
+ 00020365  0x00002026 nbranch  0x00004f67 , 0x00000005 
+ 00020366  0x00002027 branch  0x0000501f 
+ 00020367  0x0000202b ifetch  0x00000001 , 0x00000003 
+ 00020368  0x0000202c store  0x00000001 , 0x00000a9e 
+ 00020369  0x0000202d ifetch  0x00000001 , 0x00000003 
+ 00020370  0x0000202e store  0x00000001 , 0x00000aaa 
+ 00020371  0x0000202f rtn 
+ 00020372  0x00002035 ifetch  0x00000004 , 0x00000003 
+ 00020373  0x00002036 store  0x00000004 , 0x00004658 
+ 00020374  0x00002037 jam  0x00000004 , 0x00004657 
+ 00020375  0x00002038 jam  0x00000000 , 0x00004635 
+ 00020376  0x00002039 call  0x0000501f 
+ 00020377  0x0000203a branch  0x00006313 
+ 00020378  0x00002040 copy  0x00000011 , 0x00000003 
+ 00020379  0x00002041 ifetch  0x00000001 , 0x00000003 
+ 00020380  0x00002042 copy  0x0000003f , 0x00000002 
+ 00020381  0x00002043 beq  0x00000081 , 0x00004fa5 
+ 00020382  0x00002044 beq  0x00000082 , 0x00004faa 
+ 00020383  0x00002045 beq  0x00000083 , 0x00004fb0 
+ 00020384  0x00002046 store  0x00000001 , 0x00004498 
+ 00020385  0x00002047 beq  0x00000000 , 0x00004fb5 
+ 00020386  0x00002048 beq  0x00000001 , 0x00004fb8 
+ 00020387  0x00002049 beq  0x00000002 , 0x00004fba 
+ 00020388  0x0000204a branch  0x0000501c 
+ 00020389  0x0000204d fetch  0x00000001 , 0x00004490 
+ 00020390  0x0000204e branch  0x0000501c , 0x00000034 
+ 00020391  0x0000204f storet  0x00000001 , 0x00004498 
+ 00020392  0x00002050 jam  0x0000000d , 0x00004428 
+ 00020393  0x00002051 branch  0x00004fb6 
+ 00020394  0x00002053 fetch  0x00000001 , 0x00004490 
+ 00020395  0x00002054 branch  0x0000501c , 0x00000034 
+ 00020396  0x00002055 storet  0x00000001 , 0x00004498 
+ 00020397  0x00002056 jam  0x0000000d , 0x00004428 
+ 00020398  0x00002057 jam  0x00000001 , 0x00004426 
+ 00020399  0x00002058 branch  0x0000501f 
+ 00020400  0x0000205a fetch  0x00000001 , 0x00004490 
+ 00020401  0x0000205b branch  0x0000501c , 0x00000034 
+ 00020402  0x0000205c storet  0x00000001 , 0x00004498 
+ 00020403  0x0000205d jam  0x0000000d , 0x00004428 
+ 00020404  0x0000205e branch  0x00004fbb 
+ 00020405  0x00002060 jam  0x00000000 , 0x00004428 
+ 00020406  0x00002062 jam  0x00000003 , 0x00004426 
+ 00020407  0x00002063 branch  0x0000501f 
+ 00020408  0x00002065 jam  0x00000005 , 0x00004428 
+ 00020409  0x00002066 branch  0x00004fb6 
+ 00020410  0x00002068 jam  0x00000005 , 0x00004428 
+ 00020411  0x0000206a jam  0x00000000 , 0x00004426 
+ 00020412  0x0000206b branch  0x0000501f 
+ 00020413  0x00002070 fetch  0x00000001 , 0x00000b00 
+ 00020414  0x00002071 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00020415  0x00002072 nbranch  0x0000501c , 0x00000002 
+ 00020416  0x00002073 store  0x00000001 , 0x00004341 
+ 00020417  0x00002074 copy  0x0000003f , 0x00000039 
+ 00020418  0x00002075 copy  0x00000011 , 0x00000003 
+ 00020419  0x00002076 arg  0x00004342 , 0x00000005 
+ 00020420  0x00002077 call  0x000067da 
+ 00020421  0x00002078 branch  0x0000501f 
+ 00020422  0x0000207d fetch  0x00000001 , 0x00000b00 
+ 00020423  0x0000207e sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00020424  0x0000207f nbranch  0x0000501c , 0x00000002 
+ 00020425  0x00002080 store  0x00000001 , 0x00004361 
+ 00020426  0x00002081 copy  0x0000003f , 0x00000039 
+ 00020427  0x00002082 copy  0x00000011 , 0x00000003 
+ 00020428  0x00002083 arg  0x00004362 , 0x00000005 
+ 00020429  0x00002084 call  0x000067da 
+ 00020430  0x00002085 branch  0x0000501f 
+ 00020431  0x0000208a fetch  0x00000002 , 0x00004652 
+ 00020432  0x0000208b bbit0  0x00000009 , 0x0000501c 
+ 00020433  0x0000208c fetch  0x00000001 , 0x00000b00 
+ 00020434  0x0000208d bne  0x00000008 , 0x0000501c 
+ 00020435  0x0000208e copy  0x00000011 , 0x00000003 
+ 00020436  0x0000208f ifetch  0x00000008 , 0x00000003 
+ 00020437  0x00002090 store  0x00000008 , 0x00004468 
+ 00020438  0x00002091 jam  0x00000012 , 0x00000a95 
+ 00020439  0x00002092 call  0x00007bb4 
+ 00020440  0x00002093 branch  0x0000501f 
+ 00020441  0x00002098 ifetch  0x00000002 , 0x00000003 
+ 00020442  0x00002099 store  0x00000002 , 0x00004454 
+ 00020443  0x0000209a branch  0x0000501f 
+ 00020444  0x0000209f fetch  0x00000001 , 0x00004498 
+ 00020445  0x000020a0 branch  0x0000501c , 0x00000034 
+ 00020446  0x000020a1 fetch  0x00000001 , 0x00004496 
+ 00020447  0x000020a2 bne  0x00000000 , 0x0000501c 
+ 00020448  0x000020a3 fetch  0x00000001 , 0x00004497 
+ 00020449  0x000020a4 bne  0x00000000 , 0x0000501c 
+ 00020450  0x000020a5 call  0x00007c3d 
+ 00020451  0x000020a6 branch  0x0000501f 
+ 00020452  0x000020ac fetch  0x00000001 , 0x00000b00 
+ 00020453  0x000020ad bne  0x00000001 , 0x0000501c 
+ 00020454  0x000020ae ifetch  0x00000001 , 0x00000003 
+ 00020455  0x000020af store  0x00000001 , 0x000041df 
+ 00020456  0x000020b0 branch  0x0000501f 
+ 00020457  0x000020b5 ifetch  0x00000001 , 0x00000003 
+ 00020458  0x000020b6 beq  0x00000001 , 0x00004ff2 
+ 00020459  0x000020b7 fetch  0x00000001 , 0x00004493 
+ 00020460  0x000020b8 beq  0x00000003 , 0x00004ff0 
+ 00020461  0x000020b9 beq  0x00000006 , 0x00004ff0 
+ 00020462  0x000020ba beq  0x00000007 , 0x00004ff0 
+ 00020463  0x000020bb branch  0x0000501c 
+ 00020464  0x000020bd jam  0x00000001 , 0x00004494 
+ 00020465  0x000020be branch  0x0000501f 
+ 00020466  0x000020c1 call  0x00005f33 
+ 00020467  0x000020c2 branch  0x0000501f 
+ 00020468  0x000020c7 fetch  0x00000001 , 0x00000b00 
+ 00020469  0x000020c8 bne  0x00000001 , 0x0000501c 
+ 00020470  0x000020c9 call  0x0000501f 
+ 00020471  0x000020ca ifetch  0x00000001 , 0x00000003 
+ 00020472  0x000020cb branch  0x000064ad , 0x00000034 
+ 00020473  0x000020cc branch  0x000064ab 
+ 00020474  0x000020d1 call  0x0000501f 
+ 00020475  0x000020d3 hjam  0x00000001 , 0x00008010 
+ 00020476  0x000020d4 branch  0x00004a8d 
+ 00020477  0x000020d9 fetch  0x00000001 , 0x00000b00 
+ 00020478  0x000020da beq  0x00000000 , 0x0000501c 
+ 00020479  0x000020db ifetch  0x00000001 , 0x00000003 
+ 00020480  0x000020dc branch  0x0000500a , 0x00000034 
+ 00020481  0x000020dd fetch  0x00000001 , 0x00000b00 
+ 00020482  0x000020de bne  0x00000005 , 0x0000501c 
+ 00020483  0x000020df ifetch  0x00000004 , 0x00000003 
+ 00020484  0x000020e0 arg  0x000f4240 , 0x00000002 
+ 00020485  0x000020e1 isub  0x00000002 , 0x0000003e 
+ 00020486  0x000020e2 branch  0x0000501c , 0x00000002 
+ 00020487  0x000020e3 store  0x00000004 , 0x00004499 
+ 00020488  0x000020e4 call  0x00005bec 
+ 00020489  0x000020e5 branch  0x0000501f 
+ 00020490  0x000020e8 call  0x00005bee 
+ 00020491  0x000020e9 branch  0x0000501f 
+ 00020492  0x000020ee ifetch  0x00000001 , 0x00000003 
+ 00020493  0x000020ef store  0x00000001 , 0x00004091 
+ 00020494  0x000020f0 branch  0x0000501f 
+ 00020495  0x000020f4 fetch  0x00000001 , 0x00000b00 
+ 00020496  0x000020f5 call  0x000050a5 
+ 00020497  0x000020f6 fetch  0x00000001 , 0x00000b00 
+ 00020498  0x000020f7 copy  0x0000003f , 0x00000039 
+ 00020499  0x000020f8 copy  0x00000011 , 0x00000003 
+ 00020500  0x000020f9 call  0x00005016 
+ 00020501  0x000020fa branch  0x000067b9 
+ 00020502  0x000020fd deposit  0x00000039 
+ 00020503  0x000020fe rtn  0x00000034 
+ 00020504  0x00002100 ifetch  0x00000001 , 0x00000003 
+ 00020505  0x00002101 istore  0x00000001 , 0x0000000a 
+ 00020506  0x00002102 loop  0x00005018 
+ 00020507  0x00002103 rtn 
+ 00020508  0x00002108 arg  0x00000001 , 0x00000002 
+ 00020509  0x00002109 arg  0x00000000 , 0x00000011 
+ 00020510  0x0000210a branch  0x0000502a 
+ 00020511  0x0000210e arg  0x00000000 , 0x00000002 
+ 00020512  0x0000210f arg  0x00000000 , 0x00000011 
+ 00020513  0x00002110 branch  0x0000502a 
+ 00020514  0x00002115 jam  0x00000000 , 0x00000aff 
+ 00020515  0x00002116 branch  0x0000504e 
+ 00020516  0x0000211b jam  0x00000002 , 0x00000aff 
+ 00020517  0x0000211c branch  0x0000504e 
+ 00020518  0x00002121 jam  0x00000003 , 0x00000aff 
+ 00020519  0x00002122 branch  0x0000504e 
+ 00020520  0x00002127 jam  0x00000005 , 0x00000aff 
+ 00020521  0x00002128 branch  0x0000504e 
+ 00020522  0x00002131 fetch  0x00000001 , 0x00000aff 
+ 00020523  0x00002132 copy  0x0000003f , 0x00000013 
+ 00020524  0x00002133 jam  0x00000006 , 0x00000aff 
+ 00020525  0x00002134 setarg  0x00000002 
+ 00020526  0x00002135 iadd  0x00000011 , 0x0000003f 
+ 00020527  0x00002136 call  0x000050a5 
+ 00020528  0x00002137 copy  0x00000013 , 0x0000003f 
+ 00020529  0x00002138 istore  0x00000001 , 0x0000000a 
+ 00020530  0x00002139 istoret  0x00000001 , 0x0000000a 
+ 00020531  0x0000213a copy  0x00000011 , 0x00000039 
+ 00020532  0x0000213b copy  0x00000012 , 0x00000006 
+ 00020533  0x0000213c call  0x000067d4 
+ 00020534  0x0000213d branch  0x000067b9 
+ 00020535  0x00002143 call  0x00004dd7 
+ 00020536  0x00002144 jam  0x00000007 , 0x00000aff 
+ 00020537  0x00002145 fetch  0x00000001 , 0x000004fb 
+ 00020538  0x00002146 rtn  0x00000034 
+ 00020539  0x00002147 call  0x000050a5 
+ 00020540  0x00002148 fetch  0x00000001 , 0x000004fb 
+ 00020541  0x00002149 copy  0x0000003f , 0x00000039 
+ 00020542  0x0000214a fetch  0x00000002 , 0x000004fd 
+ 00020543  0x0000214b copy  0x0000003f , 0x00000006 
+ 00020544  0x0000214c call  0x000067c1 
+ 00020545  0x0000214d branch  0x000067b9 
+ 00020546  0x00002152 jam  0x00000008 , 0x00000aff 
+ 00020547  0x00002153 fetch  0x00000001 , 0x00004670 
+ 00020548  0x00002154 icopy  0x00000039 
+ 00020549  0x00002155 increase  0x00000002 , 0x0000003f 
+ 00020550  0x00002156 call  0x000050a5 
+ 00020551  0x00002157 fetch  0x00000002 , 0x00004673 
+ 00020552  0x00002158 istore  0x00000002 , 0x0000000a 
+ 00020553  0x00002159 fetch  0x00000002 , 0x00004671 
+ 00020554  0x0000215a icopy  0x00000006 
+ 00020555  0x0000215b call  0x000067c1 
+ 00020556  0x0000215c branch  0x000067b9 
+ 00020557  0x00002161 jam  0x00000009 , 0x00000aff 
+ 00020558  0x00002163 setarg  0x00000000 
+ 00020559  0x00002164 call  0x000050a5 
+ 00020560  0x00002165 branch  0x000067b9 
+ 00020561  0x0000216a jam  0x0000000a , 0x00000aff 
+ 00020562  0x0000216b setarg  0x00000001 
+ 00020563  0x0000216c call  0x000050a5 
+ 00020564  0x0000216e call  0x00005062 
+ 00020565  0x00002170 fetch  0x00000002 , 0x00004652 
+ 00020566  0x00002171 arg  0x00000002 , 0x00000007 
+ 00020567  0x00002172 qisolate1  0x0000003f 
+ 00020568  0x00002173 setflag  0x00000001 , 0x00000003 , 0x00000002 
+ 00020569  0x00002175 arg  0x00000009 , 0x00000007 
+ 00020570  0x00002176 qisolate1  0x0000003f 
+ 00020571  0x00002177 setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00020572  0x00002179 fetch  0x00000001 , 0x00004652 
+ 00020573  0x0000217a arg  0x00000004 , 0x00000007 
+ 00020574  0x0000217b qisolate1  0x0000003f 
+ 00020575  0x0000217c setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00020576  0x0000217e istoret  0x00000001 , 0x0000000a 
+ 00020577  0x0000217f branch  0x000067b9 
+ 00020578  0x00002184 arg  0x00000000 , 0x00000002 
+ 00020579  0x00002185 fetch  0x00000001 , 0x00004093 
+ 00020580  0x00002186 arg  0x00000000 , 0x00000007 
+ 00020581  0x00002187 qisolate1  0x0000003f 
+ 00020582  0x00002188 setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00020583  0x00002189 arg  0x00000001 , 0x00000007 
+ 00020584  0x0000218a qisolate1  0x0000003f 
+ 00020585  0x0000218b setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00020586  0x0000218d fetch  0x00000001 , 0x00004340 
+ 00020587  0x0000218e arg  0x00000000 , 0x00000007 
+ 00020588  0x0000218f qisolate1  0x0000003f 
+ 00020589  0x00002190 setflag  0x00000001 , 0x00000002 , 0x00000002 
+ 00020590  0x00002191 rtn 
+ 00020591  0x00002196 jam  0x0000000d , 0x00000aff 
+ 00020592  0x00002197 fetch  0x00000001 , 0x00004216 
+ 00020593  0x00002198 mul32  0x0000003f , 0x00000022 , 0x0000003f 
+ 00020594  0x00002199 icopy  0x00000039 
+ 00020595  0x0000219a call  0x000050a5 
+ 00020596  0x0000219b fetch  0x00000002 , 0x00004214 
+ 00020597  0x0000219c icopy  0x00000006 
+ 00020598  0x0000219d call  0x000067c1 
+ 00020599  0x0000219e branch  0x000067b9 
+ 00020600  0x000021a3 jam  0x0000000e , 0x00000aff 
+ 00020601  0x000021a4 setarg  0x00000004 
+ 00020602  0x000021a5 call  0x000050a5 
+ 00020603  0x000021a6 fetch  0x00000004 , 0x000009b6 
+ 00020604  0x000021a7 istore  0x00000004 , 0x0000000a 
+ 00020605  0x000021a8 branch  0x000067b9 
+ 00020606  0x000021ad jam  0x0000000f , 0x00000aff 
+ 00020607  0x000021ae branch  0x0000504e 
+ 00020608  0x000021b3 jam  0x00000010 , 0x00000aff 
+ 00020609  0x000021b4 branch  0x0000504e 
+ 00020610  0x000021b9 jam  0x00000011 , 0x00000aff 
+ 00020611  0x000021ba setarg  0x00000004 
+ 00020612  0x000021bb call  0x000050a5 
+ 00020613  0x000021bc fetch  0x00000004 , 0x00004499 
+ 00020614  0x000021bd istore  0x00000004 , 0x0000000a 
+ 00020615  0x000021be branch  0x000067b9 
+ 00020616  0x000021c3 arg  0x00000180 , 0x00000011 
+ 00020617  0x000021c4 branch  0x0000508f 
+ 00020618  0x000021c7 arg  0x00000080 , 0x00000011 
+ 00020619  0x000021c8 branch  0x0000508f 
+ 00020620  0x000021cb arg  0x00000101 , 0x00000011 
+ 00020621  0x000021cc branch  0x0000508f 
+ 00020622  0x000021cf arg  0x00000001 , 0x00000011 
+ 00020623  0x000021d2 jam  0x00000000 , 0x00004633 
+ 00020624  0x000021d3 jam  0x00000014 , 0x00000aff 
+ 00020625  0x000021d4 setarg  0x00000002 
+ 00020626  0x000021d5 call  0x000050a5 
+ 00020627  0x000021d6 copy  0x00000011 , 0x0000003f 
+ 00020628  0x000021d7 istore  0x00000002 , 0x0000000a 
+ 00020629  0x000021d8 branch  0x000067b9 
+ 00020630  0x000021dd arg  0x00000000 , 0x00000013 
+ 00020631  0x000021de branch  0x00005099 
+ 00020632  0x000021e1 arg  0x00000001 , 0x00000013 
+ 00020633  0x000021e4 jam  0x00000015 , 0x00000aff 
+ 00020634  0x000021e5 setarg  0x00000001 
+ 00020635  0x000021e6 call  0x000050a5 
+ 00020636  0x000021e7 copy  0x00000013 , 0x0000003f 
+ 00020637  0x000021e8 istore  0x00000001 , 0x0000000a 
+ 00020638  0x000021e9 branch  0x000067b9 
+ 00020639  0x000021ee jam  0x0000001d , 0x00000aff 
+ 00020640  0x000021ef setarg  0x00000004 
+ 00020641  0x000021f0 call  0x000050a5 
+ 00020642  0x000021f1 fetch  0x00000004 , 0x000009b6 
+ 00020643  0x000021f2 istore  0x00000004 , 0x0000000a 
+ 00020644  0x000021f3 branch  0x000067b9 
+ 00020645  0x000021ff jam  0x00000002 , 0x00000afe 
+ 00020646  0x00002200 store  0x00000001 , 0x00000b00 
+ 00020647  0x00002201 storet  0x00000008 , 0x00000a9e 
+ 00020648  0x00002202 bpatch  0x000000bd , 0x00004017 
+ 00020649  0x00002203 fetcht  0x00000008 , 0x00000a9e 
+ 00020650  0x00002204 call  0x000067b5 
+ 00020651  0x00002205 fetch  0x00000003 , 0x00000afe 
+ 00020652  0x00002206 istore  0x00000003 , 0x0000000a 
+ 00020653  0x00002207 rtn 
+ 00020654  0x00002214 call  0x00004f11 
+ 00020655  0x00002215 rtn  0x00000028 
+ 00020656  0x00002216 copy  0x00000011 , 0x0000003f 
+ 00020657  0x00002217 store  0x00000002 , 0x00004671 
+ 00020658  0x00002218 copy  0x00000012 , 0x0000003f 
+ 00020659  0x00002219 store  0x00000001 , 0x00004670 
+ 00020660  0x0000221a fetch  0x00000002 , 0x00000474 
+ 00020661  0x0000221b fetcht  0x00000002 , 0x00004675 
+ 00020662  0x0000221c isub  0x00000002 , 0x0000003e 
+ 00020663  0x0000221d branch  0x000050bb , 0x00000005 
+ 00020664  0x0000221e fetcht  0x00000002 , 0x00004677 
+ 00020665  0x0000221f isub  0x00000002 , 0x0000003e 
+ 00020666  0x00002220 nrtn  0x00000005 
+ 00020667  0x00002222 store  0x00000002 , 0x00004673 
+ 00020668  0x00002223 branch  0x00005042 
+ 00020669  0x00002229 fetch  0x00000001 , 0x00004679 
+ 00020670  0x0000222a rtnbit1  0x00000005 
+ 00020671  0x0000222b call  0x000050da 
+ 00020672  0x0000222c branch  0x00004d87 
+ 00020673  0x00002230 jam  0x00000002 , 0x00004173 
+ 00020674  0x00002231 rtn 
+ 00020675  0x00002236 rtn 
+ 00020676  0x0000223a call  0x000050cb 
+ 00020677  0x0000223b arg  0x00000200 , 0x00000002 
+ 00020678  0x0000223d isub  0x00000002 , 0x0000003e 
+ 00020679  0x0000223e rtn 
+ 00020680  0x00002241 isub  0x00000011 , 0x0000003f 
+ 00020681  0x00002242 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00020682  0x00002243 rtn 
+ 00020683  0x00002246 fetcht  0x00000002 , 0x00004ff0 
+ 00020684  0x00002247 fetch  0x00000002 , 0x00004ff2 
+ 00020685  0x00002248 isub  0x00000002 , 0x00000011 
+ 00020686  0x00002249 fetcht  0x00000002 , 0x00004ff4 
+ 00020687  0x0000224a fetch  0x00000002 , 0x00004ff6 
+ 00020688  0x0000224b isub  0x00000002 , 0x0000003f 
+ 00020689  0x0000224c ncall  0x000050c8 , 0x00000002 
+ 00020690  0x0000224d rtn 
+ 00020691  0x00002250 call  0x000050c4 
+ 00020692  0x00002251 branch  0x00004d54 , 0x00000002 
+ 00020693  0x00002252 branch  0x00004d56 
+ 00020694  0x00002257 arg  0x00000006 , 0x00000007 
+ 00020695  0x00002258 branch  0x000050e6 
+ 00020696  0x0000225b arg  0x00000006 , 0x00000007 
+ 00020697  0x0000225c branch  0x000050e2 
+ 00020698  0x0000225f arg  0x00000005 , 0x00000007 
+ 00020699  0x00002260 branch  0x000050e6 
+ 00020700  0x00002263 arg  0x00000005 , 0x00000007 
+ 00020701  0x00002264 branch  0x000050e2 
+ 00020702  0x00002267 arg  0x00000004 , 0x00000007 
+ 00020703  0x00002268 branch  0x000050e6 
+ 00020704  0x0000226b arg  0x00000004 , 0x00000007 
+ 00020705  0x0000226c branch  0x000050e2 
+ 00020706  0x0000226f fetch  0x00000001 , 0x00004679 
+ 00020707  0x00002270 qset0  0x0000003f 
+ 00020708  0x00002271 store  0x00000001 , 0x00004679 
+ 00020709  0x00002272 rtn 
+ 00020710  0x00002275 fetch  0x00000001 , 0x00004679 
+ 00020711  0x00002276 qset1  0x0000003f 
+ 00020712  0x00002277 store  0x00000001 , 0x00004679 
+ 00020713  0x00002278 rtn 
+ 00020714  0x00002286 jam  0x00000000 , 0x000041cf 
+ 00020715  0x00002287 rtn 
+ 00020716  0x00002289 fetch  0x00000006 , 0x000041d1 
+ 00020717  0x0000228a fetcht  0x00000006 , 0x00000040 
+ 00020718  0x0000228b isub  0x00000002 , 0x0000003e 
+ 00020719  0x0000228c rtn 
+ 00020720  0x00002292 fetch  0x00000001 , 0x0000004b 
+ 00020721  0x00002293 bbit1  0x00000002 , 0x000050f5 
+ 00020722  0x00002294 call  0x000066d1 
+ 00020723  0x00002295 jam  0x00000008 , 0x0000007c 
+ 00020724  0x00002296 branch  0x000050ea 
+ 00020725  0x00002298 set0  0x00000002 , 0x0000003f 
+ 00020726  0x00002299 store  0x00000001 , 0x0000004b 
+ 00020727  0x0000229a call  0x000063e3 
+ 00020728  0x0000229b setarg  0x00000000 
+ 00020729  0x0000229c setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00020730  0x0000229d store  0x00000001 , 0x0000007f 
+ 00020731  0x0000229e branch  0x000050ea 
+ 00020732  0x0000229f rtn 
+ 00020733  0x000022a1 jam  0x00000017 , 0x0000007c 
+ 00020734  0x000022a2 arg  0x000004d5 , 0x00000005 
+ 00020735  0x000022a3 setarg  0x00000000 
+ 00020736  0x000022a4 isolate1  0x0000001b , 0x00000028 
+ 00020737  0x000022a5 setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00020738  0x000022a6 istore  0x00000001 , 0x00000005 
+ 00020739  0x000022a7 setarg  0x00000000 
+ 00020740  0x000022a8 istore  0x00000002 , 0x00000005 
+ 00020741  0x000022a9 fetch  0x00000002 , 0x000041e4 
+ 00020742  0x000022aa istore  0x00000002 , 0x00000005 
+ 00020743  0x000022ab fetch  0x00000001 , 0x000041e6 
+ 00020744  0x000022ac istore  0x00000002 , 0x00000005 
+ 00020745  0x000022ad fetch  0x00000001 , 0x000041e8 
+ 00020746  0x000022ae istore  0x00000002 , 0x00000005 
+ 00020747  0x000022af branch  0x000050ea 
+ 00020748  0x000022b2 jam  0x00000018 , 0x0000007c 
+ 00020749  0x000022b3 branch  0x000050ea 
+ 00020750  0x000022c2 bpatch  0x000000be , 0x00004017 
+ 00020751  0x000022c3 fetch  0x00000002 , 0x00000260 
+ 00020752  0x000022c4 copy  0x0000003f , 0x00000006 
+ 00020753  0x000022c5 ifetch  0x00000001 , 0x00000006 
+ 00020754  0x000022c6 and  0x0000003f , 0x0000000f , 0x00000002 
+ 00020755  0x000022c7 rshift4  0x0000003f , 0x0000003f 
+ 00020756  0x000022c8 beq  0x00000009 , 0x0000512d 
+ 00020757  0x000022c9 beq  0x00000007 , 0x0000512d 
+ 00020758  0x000022ca beq  0x0000000a , 0x00005139 
+ 00020759  0x000022cb beq  0x00000005 , 0x00005125 
+ 00020760  0x000022cc beq  0x00000001 , 0x0000511a 
+ 00020761  0x000022cd rtn 
+ 00020762  0x000022d0 copy  0x00000002 , 0x0000003f 
+ 00020763  0x000022d1 beq  0x00000005 , 0x0000511e 
+ 00020764  0x000022d2 beq  0x00000003 , 0x00005124 
+ 00020765  0x000022d3 rtn 
+ 00020766  0x000022d6 jam  0x00000027 , 0x00000a95 
+ 00020767  0x000022d7 call  0x00007bab 
+ 00020768  0x000022d8 fetch  0x00000001 , 0x00004092 
+ 00020769  0x000022d9 rtnbit0  0x00000006 
+ 00020770  0x000022da copy  0x00000002 , 0x0000003f 
+ 00020771  0x000022dc rtn 
+ 00020772  0x000022de rtn 
+ 00020773  0x000022e1 call  0x00005139 
+ 00020774  0x000022e2 arg  0x00000001 , 0x00000011 
+ 00020775  0x000022e3 call  0x0000513d 
+ 00020776  0x000022e4 fetch  0x00000002 , 0x0000421e 
+ 00020777  0x000022e5 istore  0x00000002 , 0x00000005 
+ 00020778  0x000022e6 setarg  0x00000000 
+ 00020779  0x000022e7 istore  0x00000001 , 0x00000005 
+ 00020780  0x000022e8 rtn 
+ 00020781  0x000022eb arg  0x00000001 , 0x00000011 
+ 00020782  0x000022ec call  0x0000513d 
+ 00020783  0x000022ed fetch  0x00000002 , 0x0000421e 
+ 00020784  0x000022ee istore  0x00000002 , 0x00000005 
+ 00020785  0x000022ef setarg  0x00000000 
+ 00020786  0x000022f0 istore  0x00000001 , 0x00000005 
+ 00020787  0x000022f1 jam  0x00000001 , 0x00000a8a 
+ 00020788  0x000022f2 fetch  0x00000001 , 0x00004224 
+ 00020789  0x000022f3 set1  0x00000006 
+ 00020790  0x000022f4 store  0x00000001 , 0x00004224 
+ 00020791  0x000022f5 jam  0x00000012 , 0x00000a95 
+ 00020792  0x000022f6 branch  0x00007bab 
+ 00020793  0x000022f9 ifetch  0x00000001 , 0x00000006 
+ 00020794  0x000022fa beq  0x00000001 , 0x0000513c 
+ 00020795  0x000022fb rtn 
+ 00020796  0x000022fe rtn 
+ 00020797  0x00002302 call  0x0000561a 
+ 00020798  0x00002303 copy  0x00000011 , 0x00000002 
+ 00020799  0x00002304 storet  0x00000001 , 0x00000a8a 
+ 00020800  0x00002305 copy  0x0000003f , 0x00000005 
+ 00020801  0x00002306 copy  0x00000011 , 0x0000003f 
+ 00020802  0x00002307 istore  0x00000002 , 0x00000005 
+ 00020803  0x00002308 rtn 
+ 00020804  0x0000230e branch  0x00005149 , 0x0000002b 
+ 00020805  0x00002310 setarg  0x00004337 
+ 00020806  0x00002311 arg  0x00004218 , 0x00000005 
+ 00020807  0x00002312 isub  0x00000005 , 0x00000039 
+ 00020808  0x00002313 call  0x00007caf 
+ 00020809  0x00002315 bpatch  0x000000bf , 0x00004017 
+ 00020810  0x00002316 setarg  0x0000054d 
+ 00020811  0x00002317 arg  0x0000050d , 0x00000005 
+ 00020812  0x00002318 isub  0x00000005 , 0x00000039 
+ 00020813  0x00002319 call  0x00007caf 
+ 00020814  0x0000231a setarg  0x000002c5 
+ 00020815  0x0000231b arg  0x00000259 , 0x00000005 
+ 00020816  0x0000231c isub  0x00000005 , 0x00000039 
+ 00020817  0x0000231d call  0x00007caf 
+ 00020818  0x0000231e branch  0x000056f2 
+ 00020819  0x00002321 bpatch  0x000000c0 , 0x00004018 
+ 00020820  0x00002322 copy  0x00000006 , 0x00000002 
+ 00020821  0x00002325 copy  0x00000002 , 0x00000006 
+ 00020822  0x00002326 ifetch  0x00000002 , 0x00000006 
+ 00020823  0x00002327 store  0x00000002 , 0x00000262 
+ 00020824  0x00002328 ifetch  0x00000002 , 0x00000006 
+ 00020825  0x00002329 store  0x00000002 , 0x00000264 
+ 00020826  0x0000232a deposit  0x00000006 
+ 00020827  0x0000232b store  0x00000002 , 0x00000260 
+ 00020828  0x0000232c fetch  0x00000001 , 0x00004651 
+ 00020829  0x0000232d beq  0x00000000 , 0x0000515f 
+ 00020830  0x0000232e branch  0x000054c9 
+ 00020831  0x00002331 fetch  0x00000002 , 0x00000262 
+ 00020832  0x00002332 branch  0x000051d6 , 0x00000034 
+ 00020833  0x00002333 bpatch  0x000000c1 , 0x00004018 
+ 00020834  0x00002334 fetch  0x00000001 , 0x00000264 
+ 00020835  0x00002335 beq  0x00000001 , 0x00005177 
+ 00020836  0x00002337 beq  0x00000050 , 0x000051ba 
+ 00020837  0x00002338 beq  0x00000051 , 0x000051cf 
+ 00020838  0x00002339 beq  0x00000052 , 0x000051cd 
+ 00020839  0x0000233a beq  0x00000053 , 0x000051cd 
+ 00020840  0x0000233b branch  0x000051d6 
+ 00020841  0x00002340 bpatch  0x000000c2 , 0x00004018 
+ 00020842  0x00002341 call  0x00005658 
+ 00020843  0x00002342 fetch  0x00000001 , 0x00004228 
+ 00020844  0x00002343 beq  0x00000000 , 0x00005175 
+ 00020845  0x00002344 beq  0x00000001 , 0x00005175 
+ 00020846  0x00002345 beq  0x00000002 , 0x00005175 
+ 00020847  0x00002346 beq  0x00000003 , 0x00005175 
+ 00020848  0x00002347 beq  0x00000081 , 0x00005175 
+ 00020849  0x00002348 beq  0x000000c0 , 0x00005175 
+ 00020850  0x00002349 beq  0x00000080 , 0x00005175 
+ 00020851  0x0000234a beq  0x00000040 , 0x00005175 
+ 00020852  0x0000234b rtn 
+ 00020853  0x0000234e setarg  0x00000000 
+ 00020854  0x0000234f rtn 
+ 00020855  0x00002353 call  0x00005169 
+ 00020856  0x00002354 nrtn  0x00000034 
+ 00020857  0x00002356 call  0x00005692 
+ 00020858  0x00002357 call  0x000051db 
+ 00020859  0x00002358 fetcht  0x00000002 , 0x0000026b 
+ 00020860  0x00002359 branch  0x000051d5 , 0x00000034 
+ 00020861  0x0000235a call  0x0000569b 
+ 00020862  0x0000235b fetch  0x00000002 , 0x0000026b 
+ 00020863  0x0000235c istore  0x00000002 , 0x00000005 
+ 00020864  0x0000235d force  0x00000001 , 0x0000003f 
+ 00020865  0x0000235e istore  0x00000002 , 0x00000005 
+ 00020866  0x0000235f branch  0x000051d6 
+ 00020867  0x00002362 fetch  0x00000001 , 0x00004336 
+ 00020868  0x00002363 rtn  0x00000034 
+ 00020869  0x00002364 copy  0x0000003f , 0x00000011 
+ 00020870  0x00002365 bpatch  0x000000c3 , 0x00004018 
+ 00020871  0x00002366 fetch  0x00000004 , 0x000002d1 
+ 00020872  0x00002367 arg  0x00000100 , 0x00000002 
+ 00020873  0x00002368 iadd  0x00000002 , 0x00000002 
+ 00020874  0x00002369 copy  0x00000022 , 0x0000003f 
+ 00020875  0x0000236a isub  0x00000002 , 0x0000003e 
+ 00020876  0x0000236b nrtn  0x00000002 
+ 00020877  0x0000236c jam  0x00000000 , 0x00004336 
+ 00020878  0x0000236d copy  0x00000011 , 0x0000003f 
+ 00020879  0x0000236e beq  0x00000050 , 0x00005191 
+ 00020880  0x0000236f branch  0x00004a8b 
+ 00020881  0x00002371 arg  0x00000000 , 0x00000008 
+ 00020882  0x00002372 call  0x00005692 
+ 00020883  0x00002373 call  0x00005254 
+ 00020884  0x00002374 call  0x0000569d 
+ 00020885  0x00002375 call  0x00007c83 
+ 00020886  0x00002376 call  0x00005287 
+ 00020887  0x00002377 call  0x0000569b 
+ 00020888  0x00002379 setarg  0x0000000c 
+ 00020889  0x0000237a istore  0x00000002 , 0x00000005 
+ 00020890  0x0000237b force  0x00000001 , 0x0000003f 
+ 00020891  0x0000237c istore  0x00000002 , 0x00000005 
+ 00020892  0x0000237d branch  0x000051d6 
+ 00020893  0x00002382 bpatch  0x000000c4 , 0x00004018 
+ 00020894  0x00002383 fetch  0x00000002 , 0x00000271 
+ 00020895  0x00002384 increase  0x00000004 , 0x0000003f 
+ 00020896  0x00002385 rshift4  0x0000003f , 0x0000003f 
+ 00020897  0x00002386 rshift3  0x0000003f , 0x0000003f 
+ 00020898  0x00002387 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00020899  0x00002388 arg  0x00004232 , 0x00000006 
+ 00020900  0x00002389 ifetch  0x00000003 , 0x00000006 
+ 00020901  0x0000238a rtn  0x00000034 
+ 00020902  0x0000238b store  0x00000003 , 0x00000abe 
+ 00020903  0x0000238c fetch  0x00000001 , 0x00000abe 
+ 00020904  0x0000238d copy  0x0000003f , 0x00000011 
+ 00020905  0x0000238e call  0x000051ad 
+ 00020906  0x0000238f copy  0x00000012 , 0x0000003f 
+ 00020907  0x00002390 store  0x00000001 , 0x00004232 
+ 00020908  0x00002391 rtn 
+ 00020909  0x00002394 arg  0x00000000 , 0x00000007 
+ 00020910  0x00002395 arg  0x00000000 , 0x00000012 
+ 00020911  0x00002398 sub  0x00000007 , 0x00000007 , 0x0000003e 
+ 00020912  0x00002399 nrtn  0x00000002 
+ 00020913  0x0000239a qisolate1  0x00000011 
+ 00020914  0x0000239b branch  0x000051b4 , 0x00000001 
+ 00020915  0x0000239c branch  0x000051b8 
+ 00020916  0x0000239f copy  0x00000002 , 0x0000003f 
+ 00020917  0x000023a0 branch  0x000051b8 , 0x00000034 
+ 00020918  0x000023a1 qset1  0x00000012 
+ 00020919  0x000023a2 increase  0xffffffff , 0x00000002 
+ 00020920  0x000023a5 increase  0x00000001 , 0x00000007 
+ 00020921  0x000023a6 branch  0x000051af 
+ 00020922  0x000023a9 call  0x0000564e 
+ 00020923  0x000023aa nrtn  0x00000034 
+ 00020924  0x000023ab call  0x00005169 
+ 00020925  0x000023ac nrtn  0x00000034 
+ 00020926  0x000023ad call  0x0000569f 
+ 00020927  0x000023ae call  0x00006cd0 
+ 00020928  0x000023af call  0x0000519d 
+ 00020929  0x000023b0 branch  0x000051c6 
+ 00020930  0x000023b4 call  0x0000564e 
+ 00020931  0x000023b5 nrtn  0x00000034 
+ 00020932  0x000023b6 call  0x0000569f 
+ 00020933  0x000023b7 call  0x00006cd0 
+ 00020934  0x000023b9 call  0x000056a8 
+ 00020935  0x000023ba fetch  0x00000002 , 0x00000271 
+ 00020936  0x000023bb branch  0x000051d5 , 0x00000034 
+ 00020937  0x000023bc istore  0x00000002 , 0x00000005 
+ 00020938  0x000023bd fetch  0x00000002 , 0x0000421a 
+ 00020939  0x000023be istore  0x00000002 , 0x00000005 
+ 00020940  0x000023bf branch  0x000051d6 
+ 00020941  0x000023c2 call  0x0000510e 
+ 00020942  0x000023c3 branch  0x000051d6 
+ 00020943  0x000023c6 bpatch  0x000000c5 , 0x00004018 
+ 00020944  0x000023c7 jam  0x00000000 , 0x00000280 
+ 00020945  0x000023c8 call  0x0000694b 
+ 00020946  0x000023c9 fetch  0x00000001 , 0x00000280 
+ 00020947  0x000023ca rtneq  0x00000001 
+ 00020948  0x000023cb branch  0x000051d6 
+ 00020949  0x000023cd call  0x0000563e 
+ 00020950  0x000023d0 setarg  0x00000000 
+ 00020951  0x000023d1 store  0x00000002 , 0x00000262 
+ 00020952  0x000023d2 store  0x00000002 , 0x00000264 
+ 00020953  0x000023d3 jam  0x00000001 , 0x00000266 
+ 00020954  0x000023d4 rtn 
+ 00020955  0x000023d7 bpatch  0x000000c6 , 0x00004018 
+ 00020956  0x000023d8 call  0x0000569d 
+ 00020957  0x000023d9 force  0x00000000 , 0x00000012 
+ 00020958  0x000023da fetch  0x00000002 , 0x00000262 
+ 00020959  0x000023db copy  0x0000003f , 0x00000013 
+ 00020960  0x000023dc fetch  0x00000002 , 0x00000260 
+ 00020961  0x000023dd iforce  0x00000006 
+ 00020962  0x000023df call  0x000051ea 
+ 00020963  0x000023e0 deposit  0x00000013 
+ 00020964  0x000023e1 increase  0xfffffffc , 0x00000013 
+ 00020965  0x000023e2 increase  0xfffffffc , 0x0000003f 
+ 00020966  0x000023e3 nbranch  0x000051e2 , 0x00000034 
+ 00020967  0x000023e4 copy  0x00000012 , 0x0000003f 
+ 00020968  0x000023e5 store  0x00000002 , 0x0000026b 
+ 00020969  0x000023e6 rtn 
+ 00020970  0x000023e9 bpatch  0x000000c7 , 0x00004018 
+ 00020971  0x000023ea ifetch  0x00000001 , 0x00000006 
+ 00020972  0x000023eb beq  0x00000001 , 0x00005223 
+ 00020973  0x000023ec beq  0x00000002 , 0x0000522b 
+ 00020974  0x000023ed beq  0x00000003 , 0x000052af 
+ 00020975  0x000023ee beq  0x00000004 , 0x000052df 
+ 00020976  0x000023ef beq  0x00000005 , 0x0000537c 
+ 00020977  0x000023f0 beq  0x00000006 , 0x000053a5 
+ 00020978  0x000023f1 beq  0x00000007 , 0x000053f5 
+ 00020979  0x000023f2 beq  0x00000008 , 0x0000542a 
+ 00020980  0x000023f3 beq  0x00000009 , 0x0000543a 
+ 00020981  0x000023f4 beq  0x0000000a , 0x000051f9 
+ 00020982  0x000023f5 beq  0x0000000b , 0x0000543b 
+ 00020983  0x000023f6 call  0x0000543c 
+ 00020984  0x000023f8 rtn 
+ 00020985  0x000023fb ifetch  0x00000001 , 0x00000006 
+ 00020986  0x000023fc copy  0x0000003f , 0x00000007 
+ 00020987  0x000023fd ifetch  0x00000002 , 0x00000006 
+ 00020988  0x000023fe copy  0x0000003f , 0x00000011 
+ 00020989  0x000023ff copy  0x00000013 , 0x0000003f 
+ 00020990  0x00002400 isub  0x00000011 , 0x00000013 
+ 00020991  0x00002401 setarg  0x0000000b 
+ 00020992  0x00002402 istore  0x00000001 , 0x00000005 
+ 00020993  0x00002403 copy  0x00000007 , 0x0000003f 
+ 00020994  0x00002404 istore  0x00000001 , 0x00000005 
+ 00020995  0x00002405 ifetch  0x00000002 , 0x00000006 
+ 00020996  0x00002407 beq  0x00000002 , 0x00005207 
+ 00020997  0x00002408 beq  0x00000003 , 0x0000520d 
+ 00020998  0x00002409 rtn 
+ 00020999  0x0000240b setarg  0x00020008 
+ 00021000  0x0000240c istore  0x00000006 , 0x00000005 
+ 00021001  0x0000240d setarg  0x00000280 
+ 00021002  0x0000240e istore  0x00000004 , 0x00000005 
+ 00021003  0x0000240f force  0x0000000c , 0x0000003f 
+ 00021004  0x00002410 branch  0x00005212 
+ 00021005  0x00002412 setarg  0x0003000c 
+ 00021006  0x00002413 istore  0x00000006 , 0x00000005 
+ 00021007  0x00002414 setarg  0x00000006 
+ 00021008  0x00002415 istore  0x00000008 , 0x00000005 
+ 00021009  0x00002416 force  0x00000010 , 0x0000003f 
+ 00021010  0x00002418 iadd  0x00000012 , 0x00000012 
+ 00021011  0x00002419 branch  0x000051f8 
+ 00021012  0x0000241c ifetch  0x00000001 , 0x00000006 
+ 00021013  0x0000241d copy  0x0000003f , 0x00000007 
+ 00021014  0x0000241e ifetch  0x00000002 , 0x00000006 
+ 00021015  0x0000241f copy  0x0000003f , 0x00000011 
+ 00021016  0x00002420 ifetch  0x00000002 , 0x00000006 
+ 00021017  0x00002421 store  0x00000002 , 0x00000a9e 
+ 00021018  0x00002422 copy  0x00000013 , 0x0000003f 
+ 00021019  0x00002423 isub  0x00000011 , 0x00000013 
+ 00021020  0x00002424 call  0x0000569d 
+ 00021021  0x00002425 setarg  0x0000000b 
+ 00021022  0x00002426 istore  0x00000001 , 0x00000005 
+ 00021023  0x00002427 copy  0x00000007 , 0x0000003f 
+ 00021024  0x00002428 istore  0x00000001 , 0x00000005 
+ 00021025  0x00002429 fetch  0x00000002 , 0x00000a9e 
+ 00021026  0x0000242a branch  0x00005204 
+ 00021027  0x0000242f ifetch  0x00000001 , 0x00000006 
+ 00021028  0x00002430 copy  0x0000003f , 0x00000007 
+ 00021029  0x00002431 ifetch  0x00000002 , 0x00000006 
+ 00021030  0x00002432 copy  0x0000003f , 0x00000011 
+ 00021031  0x00002433 iadd  0x00000006 , 0x00000006 
+ 00021032  0x00002434 copy  0x00000013 , 0x0000003f 
+ 00021033  0x00002435 isub  0x00000011 , 0x00000013 
+ 00021034  0x00002437 branch  0x000051f8 
+ 00021035  0x0000243a call  0x00007c83 
+ 00021036  0x0000243d call  0x00007c88 
+ 00021037  0x0000243e arg  0x00000000 , 0x00000008 
+ 00021038  0x0000243f ifetch  0x00000001 , 0x00000006 
+ 00021039  0x00002440 copy  0x0000003f , 0x00000007 
+ 00021040  0x00002441 ifetch  0x00000002 , 0x00000006 
+ 00021041  0x00002442 copy  0x0000003f , 0x00000011 
+ 00021042  0x00002443 ifetch  0x00000002 , 0x00000006 
+ 00021043  0x00002444 copy  0x0000003f , 0x00000002 
+ 00021044  0x00002445 ifetch  0x00000002 , 0x00000006 
+ 00021045  0x00002446 copy  0x0000003f , 0x0000000b 
+ 00021046  0x00002447 bpatch  0x000000c8 , 0x00004019 
+ 00021047  0x00002448 copy  0x00000002 , 0x0000003f 
+ 00021048  0x00002449 beq  0x00000001 , 0x0000523e 
+ 00021049  0x0000244a beq  0x00000003 , 0x00005260 
+ 00021050  0x0000244b beq  0x00000011 , 0x0000526c 
+ 00021051  0x0000244c beq  0x00000013 , 0x00005277 
+ 00021052  0x0000244d call  0x0000543c 
+ 00021053  0x0000244e branch  0x000052ae 
+ 00021054  0x00002451 call  0x00007c83 
+ 00021055  0x00002452 arg  0x00000050 , 0x00000002 
+ 00021056  0x00002453 fetch  0x00000002 , 0x0000421a 
+ 00021057  0x00002454 nbranch  0x000052a8 , 0x00000034 
+ 00021058  0x00002455 copy  0x0000000b , 0x0000003f 
+ 00021059  0x00002456 store  0x00000002 , 0x0000421a 
+ 00021060  0x00002457 copy  0x00000022 , 0x0000003f 
+ 00021061  0x00002458 store  0x00000004 , 0x000002d1 
+ 00021062  0x00002459 call  0x00005248 
+ 00021063  0x0000245a branch  0x00005283 
+ 00021064  0x0000245d storet  0x00000002 , 0x000002cf 
+ 00021065  0x0000245e deposit  0x0000000b 
+ 00021066  0x0000245f store  0x00000002 , 0x000002c5 
+ 00021067  0x00002460 deposit  0x00000011 
+ 00021068  0x00002461 store  0x00000002 , 0x000002c7 
+ 00021069  0x00002462 deposit  0x00000012 
+ 00021070  0x00002463 store  0x00000002 , 0x000002c9 
+ 00021071  0x00002464 deposit  0x00000013 
+ 00021072  0x00002465 store  0x00000002 , 0x000002cb 
+ 00021073  0x00002466 deposit  0x00000007 
+ 00021074  0x00002467 store  0x00000002 , 0x000002cd 
+ 00021075  0x00002468 rtn 
+ 00021076  0x0000246b fetcht  0x00000002 , 0x000002cf 
+ 00021077  0x0000246c fetch  0x00000002 , 0x000002c5 
+ 00021078  0x0000246d copy  0x0000003f , 0x0000000b 
+ 00021079  0x0000246e fetch  0x00000002 , 0x000002c7 
+ 00021080  0x0000246f copy  0x0000003f , 0x00000011 
+ 00021081  0x00002470 fetch  0x00000002 , 0x000002c9 
+ 00021082  0x00002471 copy  0x0000003f , 0x00000012 
+ 00021083  0x00002472 fetch  0x00000002 , 0x000002cb 
+ 00021084  0x00002473 copy  0x0000003f , 0x00000013 
+ 00021085  0x00002474 fetch  0x00000002 , 0x000002cd 
+ 00021086  0x00002475 copy  0x0000003f , 0x00000007 
+ 00021087  0x00002476 rtn 
+ 00021088  0x00002479 call  0x00007c83 
+ 00021089  0x0000247a setarg  0x00000051 
+ 00021090  0x0000247b arg  0x00000051 , 0x00000002 
+ 00021091  0x0000247c fetch  0x00000002 , 0x0000421c 
+ 00021092  0x0000247d nbranch  0x000052a8 , 0x00000034 
+ 00021093  0x0000247e copy  0x0000000b , 0x0000003f 
+ 00021094  0x0000247f store  0x00000002 , 0x0000421c 
+ 00021095  0x00002480 fetch  0x00000001 , 0x00004223 
+ 00021096  0x00002481 set1  0x00000000 , 0x0000003f 
+ 00021097  0x00002482 set1  0x00000001 , 0x0000003f 
+ 00021098  0x00002483 store  0x00000001 , 0x00004223 
+ 00021099  0x00002484 branch  0x0000528b 
+ 00021100  0x00002486 call  0x00007c83 
+ 00021101  0x00002487 arg  0x00000052 , 0x00000002 
+ 00021102  0x00002488 fetch  0x00000002 , 0x0000421e 
+ 00021103  0x00002489 nbranch  0x000052a8 , 0x00000034 
+ 00021104  0x0000248a copy  0x0000000b , 0x0000003f 
+ 00021105  0x0000248b store  0x00000002 , 0x0000421e 
+ 00021106  0x0000248c fetch  0x00000001 , 0x00004224 
+ 00021107  0x0000248d set1  0x00000000 , 0x0000003f 
+ 00021108  0x0000248e set1  0x00000001 , 0x0000003f 
+ 00021109  0x0000248f store  0x00000001 , 0x00004224 
+ 00021110  0x00002490 branch  0x0000528b 
+ 00021111  0x00002492 call  0x00007c83 
+ 00021112  0x00002493 deposit  0x0000001a 
+ 00021113  0x00002494 arg  0x00000053 , 0x00000002 
+ 00021114  0x00002495 fetch  0x00000002 , 0x00004220 
+ 00021115  0x00002496 nbranch  0x000052a8 , 0x00000034 
+ 00021116  0x00002497 copy  0x0000000b , 0x0000003f 
+ 00021117  0x00002498 store  0x00000002 , 0x00004220 
+ 00021118  0x00002499 fetch  0x00000001 , 0x00004225 
+ 00021119  0x0000249a set1  0x00000000 , 0x0000003f 
+ 00021120  0x0000249b set1  0x00000001 , 0x0000003f 
+ 00021121  0x0000249c store  0x00000001 , 0x00004225 
+ 00021122  0x0000249d branch  0x0000528b 
+ 00021123  0x000024a0 setarg  0x00000001 
+ 00021124  0x000024a1 store  0x00000002 , 0x00000279 
+ 00021125  0x000024a2 jam  0x00000050 , 0x00004336 
+ 00021126  0x000024a3 branch  0x0000528d 
+ 00021127  0x000024a5 fetch  0x00000001 , 0x00004222 
+ 00021128  0x000024a6 set1  0x00000000 , 0x0000003f 
+ 00021129  0x000024a7 set1  0x00000001 , 0x0000003f 
+ 00021130  0x000024a8 store  0x00000001 , 0x00004222 
+ 00021131  0x000024aa setarg  0x00000000 
+ 00021132  0x000024ab store  0x00000002 , 0x00000279 
+ 00021133  0x000024ad bpatch  0x000000c9 , 0x00004019 
+ 00021134  0x000024ae call  0x00007c88 
+ 00021135  0x000024af setarg  0x00000003 
+ 00021136  0x000024b0 istore  0x00000001 , 0x00000005 
+ 00021137  0x000024b1 copy  0x00000007 , 0x0000003f 
+ 00021138  0x000024b2 istore  0x00000001 , 0x00000005 
+ 00021139  0x000024b3 setarg  0x00000008 
+ 00021140  0x000024b4 istore  0x00000002 , 0x00000005 
+ 00021141  0x000024b5 copy  0x00000002 , 0x0000003f 
+ 00021142  0x000024b6 istore  0x00000002 , 0x00000005 
+ 00021143  0x000024b7 copy  0x0000000b , 0x0000003f 
+ 00021144  0x000024b8 istore  0x00000002 , 0x00000005 
+ 00021145  0x000024b9 fetch  0x00000002 , 0x00000279 
+ 00021146  0x000024ba beq  0x00000001 , 0x000052a3 
+ 00021147  0x000024bb isolate0  0x00000000 , 0x00000008 
+ 00021148  0x000024bc branch  0x0000529e , 0x00000001 
+ 00021149  0x000024bd setarg  0x00000004 
+ 00021150  0x000024bf istore  0x00000002 , 0x00000005 
+ 00021151  0x000024c0 force  0x00000000 , 0x0000003f 
+ 00021152  0x000024c1 istore  0x00000002 , 0x00000005 
+ 00021153  0x000024c2 setarg  0x0000000c 
+ 00021154  0x000024c3 branch  0x000052aa 
+ 00021155  0x000024c5 istore  0x00000002 , 0x00000005 
+ 00021156  0x000024c6 force  0x00000002 , 0x0000003f 
+ 00021157  0x000024c7 istore  0x00000002 , 0x00000005 
+ 00021158  0x000024c8 setarg  0x0000000c 
+ 00021159  0x000024c9 branch  0x000052aa 
+ 00021160  0x000024cc set1  0x00000000 , 0x00000008 
+ 00021161  0x000024cd branch  0x0000528b 
+ 00021162  0x000024cf iadd  0x00000012 , 0x00000012 
+ 00021163  0x000024d0 copy  0x00000013 , 0x0000003f 
+ 00021164  0x000024d1 isub  0x00000011 , 0x00000013 
+ 00021165  0x000024d2 branch  0x000052ae 
+ 00021166  0x000024d4 branch  0x000051f8 
+ 00021167  0x000024d7 ifetch  0x00000001 , 0x00000006 
+ 00021168  0x000024d8 copy  0x0000003f , 0x00000007 
+ 00021169  0x000024d9 ifetch  0x00000002 , 0x00000006 
+ 00021170  0x000024da copy  0x0000003f , 0x00000011 
+ 00021171  0x000024db copy  0x00000013 , 0x0000003f 
+ 00021172  0x000024dc isub  0x00000011 , 0x00000013 
+ 00021173  0x000024dd ifetch  0x00000002 , 0x00000006 
+ 00021174  0x000024de copy  0x0000003f , 0x0000000b 
+ 00021175  0x000024df ifetch  0x00000002 , 0x00000006 
+ 00021176  0x000024e0 copy  0x0000003f , 0x00000002 
+ 00021177  0x000024e1 bpatch  0x000000ca , 0x00004019 
+ 00021178  0x000024e2 setarg  0x00000050 
+ 00021179  0x000024e3 isub  0x00000002 , 0x0000003e 
+ 00021180  0x000024e4 branch  0x000052c7 , 0x00000005 
+ 00021181  0x000024e5 setarg  0x00000051 
+ 00021182  0x000024e6 isub  0x00000002 , 0x0000003e 
+ 00021183  0x000024e7 branch  0x000052cd , 0x00000005 
+ 00021184  0x000024e8 setarg  0x00000052 
+ 00021185  0x000024e9 isub  0x00000002 , 0x0000003e 
+ 00021186  0x000024ea branch  0x000052d9 , 0x00000005 
+ 00021187  0x000024eb setarg  0x00000053 
+ 00021188  0x000024ec isub  0x00000002 , 0x0000003e 
+ 00021189  0x000024ed branch  0x000052d3 , 0x00000005 
+ 00021190  0x000024ee rtn 
+ 00021191  0x000024f1 copy  0x0000000b , 0x0000003f 
+ 00021192  0x000024f2 store  0x00000002 , 0x0000421a 
+ 00021193  0x000024f3 fetch  0x00000001 , 0x00004222 
+ 00021194  0x000024f4 set1  0x00000001 , 0x0000003f 
+ 00021195  0x000024f5 store  0x00000001 , 0x00004222 
+ 00021196  0x000024f6 branch  0x000051f8 
+ 00021197  0x000024f8 copy  0x0000000b , 0x0000003f 
+ 00021198  0x000024f9 store  0x00000002 , 0x0000421c 
+ 00021199  0x000024fa fetch  0x00000001 , 0x00004223 
+ 00021200  0x000024fb set1  0x00000001 , 0x0000003f 
+ 00021201  0x000024fc store  0x00000001 , 0x00004223 
+ 00021202  0x000024fd rtn 
+ 00021203  0x000024ff copy  0x0000000b , 0x0000003f 
+ 00021204  0x00002500 store  0x00000002 , 0x0000421e 
+ 00021205  0x00002501 fetch  0x00000001 , 0x00004225 
+ 00021206  0x00002502 set1  0x00000001 , 0x0000003f 
+ 00021207  0x00002503 store  0x00000001 , 0x00004225 
+ 00021208  0x00002504 rtn 
+ 00021209  0x00002506 copy  0x0000000b , 0x0000003f 
+ 00021210  0x00002507 store  0x00000002 , 0x00004220 
+ 00021211  0x00002508 fetch  0x00000001 , 0x00004224 
+ 00021212  0x00002509 set1  0x00000001 , 0x0000003f 
+ 00021213  0x0000250a store  0x00000001 , 0x00004224 
+ 00021214  0x0000250b rtn 
+ 00021215  0x0000250e ifetch  0x00000001 , 0x00000006 
+ 00021216  0x0000250f copy  0x0000003f , 0x00000007 
+ 00021217  0x00002510 ifetch  0x00000002 , 0x00000006 
+ 00021218  0x00002511 copy  0x0000003f , 0x00000011 
+ 00021219  0x00002512 copy  0x00000013 , 0x0000003f 
+ 00021220  0x00002513 isub  0x00000011 , 0x00000013 
+ 00021221  0x00002514 ifetch  0x00000002 , 0x00000006 
+ 00021222  0x00002515 copy  0x0000003f , 0x00000002 
+ 00021223  0x00002516 copy  0x00000002 , 0x00000011 
+ 00021224  0x00002517 bpatch  0x000000cb , 0x00004019 
+ 00021225  0x00002518 setarg  0x00000050 
+ 00021226  0x00002519 isub  0x00000002 , 0x0000003e 
+ 00021227  0x0000251a branch  0x000052f6 , 0x00000005 
+ 00021228  0x0000251b setarg  0x00000051 
+ 00021229  0x0000251c isub  0x00000002 , 0x0000003e 
+ 00021230  0x0000251d branch  0x00005314 , 0x00000005 
+ 00021231  0x0000251e setarg  0x00000052 
+ 00021232  0x0000251f isub  0x00000002 , 0x0000003e 
+ 00021233  0x00002520 branch  0x00005300 , 0x00000005 
+ 00021234  0x00002521 setarg  0x00000053 
+ 00021235  0x00002522 isub  0x00000002 , 0x0000003e 
+ 00021236  0x00002523 branch  0x0000530a , 0x00000005 
+ 00021237  0x00002524 branch  0x0000543c 
+ 00021238  0x00002527 copy  0x00000005 , 0x0000000b 
+ 00021239  0x00002528 fetch  0x00000001 , 0x00004222 
+ 00021240  0x00002529 set1  0x00000004 , 0x0000003f 
+ 00021241  0x0000252a set1  0x00000003 , 0x0000003f 
+ 00021242  0x0000252c store  0x00000001 , 0x00004222 
+ 00021243  0x0000252d copy  0x0000000b , 0x00000005 
+ 00021244  0x0000252e arg  0x00000050 , 0x0000000b 
+ 00021245  0x0000252f fetch  0x00000002 , 0x0000421a 
+ 00021246  0x00002530 copy  0x0000003f , 0x00000002 
+ 00021247  0x00002531 branch  0x0000531d 
+ 00021248  0x00002533 copy  0x00000005 , 0x0000000b 
+ 00021249  0x00002534 fetch  0x00000001 , 0x00004224 
+ 00021250  0x00002535 set1  0x00000004 , 0x0000003f 
+ 00021251  0x00002536 set1  0x00000003 , 0x0000003f 
+ 00021252  0x00002538 store  0x00000001 , 0x00004224 
+ 00021253  0x00002539 copy  0x0000000b , 0x00000005 
+ 00021254  0x0000253a arg  0x00000052 , 0x0000000b 
+ 00021255  0x0000253b fetch  0x00000002 , 0x0000421e 
+ 00021256  0x0000253c copy  0x0000003f , 0x00000002 
+ 00021257  0x0000253d branch  0x0000531d 
+ 00021258  0x0000253f copy  0x00000005 , 0x0000000b 
+ 00021259  0x00002540 fetch  0x00000001 , 0x00004225 
+ 00021260  0x00002541 set1  0x00000004 , 0x0000003f 
+ 00021261  0x00002542 set1  0x00000003 , 0x0000003f 
+ 00021262  0x00002544 store  0x00000001 , 0x00004225 
+ 00021263  0x00002545 copy  0x0000000b , 0x00000005 
+ 00021264  0x00002546 arg  0x00000053 , 0x0000000b 
+ 00021265  0x00002547 fetch  0x00000002 , 0x00004220 
+ 00021266  0x00002548 copy  0x0000003f , 0x00000002 
+ 00021267  0x00002549 branch  0x0000531d 
+ 00021268  0x0000254b copy  0x00000005 , 0x0000000b 
+ 00021269  0x0000254c fetch  0x00000001 , 0x00004223 
+ 00021270  0x0000254d set1  0x00000004 , 0x0000003f 
+ 00021271  0x0000254e set1  0x00000003 , 0x0000003f 
+ 00021272  0x00002550 store  0x00000001 , 0x00004223 
+ 00021273  0x00002552 copy  0x0000000b , 0x00000005 
+ 00021274  0x00002553 arg  0x00000051 , 0x0000000b 
+ 00021275  0x00002554 fetch  0x00000002 , 0x0000421c 
+ 00021276  0x00002555 copy  0x0000003f , 0x00000002 
+ 00021277  0x00002557 bpatch  0x000000cc , 0x00004019 
+ 00021278  0x00002558 setarg  0x00000005 
+ 00021279  0x00002559 istore  0x00000001 , 0x00000005 
+ 00021280  0x0000255a copy  0x00000007 , 0x0000003f 
+ 00021281  0x0000255b istore  0x00000001 , 0x00000005 
+ 00021282  0x0000255c setarg  0x00000006 
+ 00021283  0x0000255d istore  0x00000002 , 0x00000005 
+ 00021284  0x0000255e copy  0x00000002 , 0x0000003f 
+ 00021285  0x0000255f istore  0x00000002 , 0x00000005 
+ 00021286  0x00002560 force  0x00000000 , 0x0000003f 
+ 00021287  0x00002561 istore  0x00000002 , 0x00000005 
+ 00021288  0x00002562 force  0x00000000 , 0x0000003f 
+ 00021289  0x00002563 istore  0x00000002 , 0x00000005 
+ 00021290  0x00002564 force  0x0000000a , 0x0000003f 
+ 00021291  0x00002565 iadd  0x00000012 , 0x00000012 
+ 00021292  0x00002567 storet  0x00000002 , 0x0000027e 
+ 00021293  0x00002568 copy  0x00000007 , 0x0000003f 
+ 00021294  0x00002569 store  0x00000001 , 0x0000027d 
+ 00021295  0x0000256a force  0x00000050 , 0x0000003f 
+ 00021296  0x0000256b icompare  0x000000ff , 0x0000000b 
+ 00021297  0x0000256c branch  0x00005333 , 0x00000001 
+ 00021298  0x0000256d increase  0x00000001 , 0x0000003f 
+ 00021299  0x00002570 rtn 
+ 00021300  0x00002572 disable  0x00000028 
+ 00021301  0x00002573 rtnbit1  0x00000002 , 0x0000003f 
+ 00021302  0x00002574 rtnbit0  0x00000000 , 0x0000003f 
+ 00021303  0x00002575 rtnbit0  0x00000001 , 0x0000003f 
+ 00021304  0x00002576 set1  0x00000002 , 0x0000003f 
+ 00021305  0x00002577 copy  0x00000006 , 0x00000005 
+ 00021306  0x00002578 increase  0xffffffff , 0x00000005 
+ 00021307  0x00002579 istore  0x00000001 , 0x00000005 
+ 00021308  0x0000257a enable  0x00000028 
+ 00021309  0x0000257b rtn 
+ 00021310  0x0000257e fetch  0x00000001 , 0x00004222 
+ 00021311  0x0000257f call  0x00005334 
+ 00021312  0x00002580 nbranch  0x00005345 , 0x00000028 
+ 00021313  0x00002581 jam  0x00000050 , 0x0000027c 
+ 00021314  0x00002582 fetch  0x00000002 , 0x0000421a 
+ 00021315  0x00002583 store  0x00000002 , 0x0000027e 
+ 00021316  0x00002584 branch  0x00005359 
+ 00021317  0x00002586 fetch  0x00000001 , 0x00004223 
+ 00021318  0x00002587 call  0x00005334 
+ 00021319  0x00002588 nbranch  0x0000534c , 0x00000028 
+ 00021320  0x00002589 jam  0x00000051 , 0x0000027c 
+ 00021321  0x0000258a fetch  0x00000002 , 0x0000421c 
+ 00021322  0x0000258b store  0x00000002 , 0x0000027e 
+ 00021323  0x0000258c branch  0x00005359 
+ 00021324  0x0000258e fetch  0x00000001 , 0x00004224 
+ 00021325  0x0000258f call  0x00005334 
+ 00021326  0x00002590 nbranch  0x00005353 , 0x00000028 
+ 00021327  0x00002591 jam  0x00000052 , 0x0000027c 
+ 00021328  0x00002592 fetch  0x00000002 , 0x0000421e 
+ 00021329  0x00002593 store  0x00000002 , 0x0000027e 
+ 00021330  0x00002594 branch  0x00005359 
+ 00021331  0x00002596 fetch  0x00000001 , 0x00004225 
+ 00021332  0x00002597 call  0x00005334 
+ 00021333  0x00002598 nrtn  0x00000028 
+ 00021334  0x00002599 jam  0x00000053 , 0x0000027c 
+ 00021335  0x0000259a fetch  0x00000002 , 0x00004220 
+ 00021336  0x0000259b store  0x00000002 , 0x0000027e 
+ 00021337  0x0000259f bpatch  0x000000cd , 0x00004019 
+ 00021338  0x000025a0 call  0x00005614 
+ 00021339  0x000025a1 call  0x00005692 
+ 00021340  0x000025a2 force  0x00000000 , 0x00000012 
+ 00021341  0x000025a3 call  0x0000569d 
+ 00021342  0x000025a4 force  0x00000004 , 0x0000003f 
+ 00021343  0x000025a5 istore  0x00000001 , 0x00000005 
+ 00021344  0x000025a6 fetch  0x00000001 , 0x00004227 
+ 00021345  0x000025a7 istore  0x00000001 , 0x00000005 
+ 00021346  0x000025a8 setarg  0x00000008 
+ 00021347  0x000025a9 istore  0x00000002 , 0x00000005 
+ 00021348  0x000025aa fetch  0x00000002 , 0x0000027e 
+ 00021349  0x000025ab istore  0x00000002 , 0x00000005 
+ 00021350  0x000025ac setarg  0x00000000 
+ 00021351  0x000025ad istore  0x00000002 , 0x00000005 
+ 00021352  0x000025ae force  0x00000001 , 0x0000003f 
+ 00021353  0x000025af istore  0x00000001 , 0x00000005 
+ 00021354  0x000025b0 force  0x00000002 , 0x0000003f 
+ 00021355  0x000025b1 istore  0x00000001 , 0x00000005 
+ 00021356  0x000025b2 fetch  0x00000001 , 0x0000027c 
+ 00021357  0x000025b3 beq  0x00000051 , 0x00005371 
+ 00021358  0x000025b4 setarg  0x00000030 
+ 00021359  0x000025b5 istore  0x00000002 , 0x00000005 
+ 00021360  0x000025b6 branch  0x00005373 
+ 00021361  0x000025b8 setarg  0x000003e3 
+ 00021362  0x000025b9 istore  0x00000002 , 0x00000005 
+ 00021363  0x000025bb arg  0x0000000c , 0x00000002 
+ 00021364  0x000025bc storet  0x00000002 , 0x0000026b 
+ 00021365  0x000025bd call  0x0000569b 
+ 00021366  0x000025be fetch  0x00000002 , 0x0000026b 
+ 00021367  0x000025bf istore  0x00000002 , 0x00000005 
+ 00021368  0x000025c0 force  0x00000001 , 0x0000003f 
+ 00021369  0x000025c1 istore  0x00000002 , 0x00000005 
+ 00021370  0x000025c2 jam  0x00000000 , 0x0000027c 
+ 00021371  0x000025c4 branch  0x000051f8 
+ 00021372  0x000025c7 increase  0x00000001 , 0x00000006 
+ 00021373  0x000025c8 ifetch  0x00000002 , 0x00000006 
+ 00021374  0x000025c9 copy  0x0000003f , 0x00000011 
+ 00021375  0x000025ca copy  0x00000013 , 0x0000003f 
+ 00021376  0x000025cb isub  0x00000011 , 0x00000013 
+ 00021377  0x000025cc ifetch  0x00000002 , 0x00000006 
+ 00021378  0x000025cd copy  0x0000003f , 0x00000011 
+ 00021379  0x000025ce bpatch  0x000000ce , 0x00004019 
+ 00021380  0x000025cf setarg  0x00000050 
+ 00021381  0x000025d0 isub  0x00000011 , 0x0000003e 
+ 00021382  0x000025d1 branch  0x00005394 , 0x00000005 
+ 00021383  0x000025d2 setarg  0x00000051 
+ 00021384  0x000025d3 isub  0x00000011 , 0x0000003e 
+ 00021385  0x000025d4 branch  0x00005398 , 0x00000005 
+ 00021386  0x000025d5 setarg  0x00000052 
+ 00021387  0x000025d6 isub  0x00000011 , 0x0000003e 
+ 00021388  0x000025d7 branch  0x0000539c , 0x00000005 
+ 00021389  0x000025d8 setarg  0x00000053 
+ 00021390  0x000025d9 isub  0x00000011 , 0x0000003e 
+ 00021391  0x000025da branch  0x000053a0 , 0x00000005 
+ 00021392  0x000025db increase  0x00000002 , 0x00000006 
+ 00021393  0x000025dc ifetch  0x00000002 , 0x00000006 
+ 00021394  0x000025dd iforce  0x0000003e 
+ 00021395  0x000025de branch  0x000051f8 
+ 00021396  0x000025e0 fetch  0x00000001 , 0x00004222 
+ 00021397  0x000025e1 set1  0x00000005 , 0x0000003f 
+ 00021398  0x000025e2 store  0x00000001 , 0x00004222 
+ 00021399  0x000025e3 branch  0x000051f8 
+ 00021400  0x000025e5 fetch  0x00000001 , 0x00004223 
+ 00021401  0x000025e6 set1  0x00000005 , 0x0000003f 
+ 00021402  0x000025e7 store  0x00000001 , 0x00004223 
+ 00021403  0x000025e8 branch  0x000051f8 
+ 00021404  0x000025ea fetch  0x00000001 , 0x00004224 
+ 00021405  0x000025eb set1  0x00000005 , 0x0000003f 
+ 00021406  0x000025ec store  0x00000001 , 0x00004224 
+ 00021407  0x000025ed branch  0x000051f8 
+ 00021408  0x000025ef fetch  0x00000001 , 0x00004225 
+ 00021409  0x000025f0 set1  0x00000005 , 0x0000003f 
+ 00021410  0x000025f1 store  0x00000001 , 0x00004225 
+ 00021411  0x000025f2 jam  0x00000006 , 0x00000a95 
+ 00021412  0x000025f3 branch  0x00007bab 
+ 00021413  0x000025f8 ifetch  0x00000001 , 0x00000006 
+ 00021414  0x000025f9 copy  0x0000003f , 0x00000007 
+ 00021415  0x000025fa ifetch  0x00000002 , 0x00000006 
+ 00021416  0x000025fb copy  0x0000003f , 0x00000011 
+ 00021417  0x000025fc copy  0x00000013 , 0x0000003f 
+ 00021418  0x000025fd isub  0x00000011 , 0x00000013 
+ 00021419  0x000025fe ifetch  0x00000002 , 0x00000006 
+ 00021420  0x000025ff copy  0x0000003f , 0x00000011 
+ 00021421  0x00002600 ifetch  0x00000002 , 0x00000006 
+ 00021422  0x00002601 copy  0x0000003f , 0x0000000b 
+ 00021423  0x00002602 copy  0x00000011 , 0x00000002 
+ 00021424  0x00002603 call  0x00007c83 
+ 00021425  0x00002604 bpatch  0x000000cf , 0x00004019 
+ 00021426  0x00002605 setarg  0x00000050 
+ 00021427  0x00002606 isub  0x00000002 , 0x0000003e 
+ 00021428  0x00002607 branch  0x000053cc , 0x00000005 
+ 00021429  0x00002608 setarg  0x00000051 
+ 00021430  0x00002609 isub  0x00000002 , 0x0000003e 
+ 00021431  0x0000260a branch  0x000053dc , 0x00000005 
+ 00021432  0x0000260b setarg  0x00000052 
+ 00021433  0x0000260c isub  0x00000002 , 0x0000003e 
+ 00021434  0x0000260d branch  0x000053c0 , 0x00000005 
+ 00021435  0x0000260e setarg  0x00000053 
+ 00021436  0x0000260f isub  0x00000002 , 0x0000003e 
+ 00021437  0x00002610 branch  0x000053c6 , 0x00000005 
+ 00021438  0x00002611 call  0x0000543c 
+ 00021439  0x00002612 branch  0x000053f1 
+ 00021440  0x00002614 copy  0x0000000b , 0x00000002 
+ 00021441  0x00002615 fetch  0x00000002 , 0x0000421e 
+ 00021442  0x00002616 isub  0x00000002 , 0x0000003e 
+ 00021443  0x00002617 branch  0x000053d2 , 0x00000005 
+ 00021444  0x00002618 call  0x0000543c 
+ 00021445  0x00002619 branch  0x000053f1 
+ 00021446  0x0000261b copy  0x0000000b , 0x00000002 
+ 00021447  0x0000261c fetch  0x00000002 , 0x00004220 
+ 00021448  0x0000261d isub  0x00000002 , 0x0000003e 
+ 00021449  0x0000261e branch  0x000053d4 , 0x00000005 
+ 00021450  0x0000261f call  0x0000543c 
+ 00021451  0x00002620 branch  0x000053f1 
+ 00021452  0x00002623 copy  0x0000000b , 0x00000002 
+ 00021453  0x00002624 fetch  0x00000002 , 0x0000421a 
+ 00021454  0x00002625 isub  0x00000002 , 0x0000003e 
+ 00021455  0x00002626 branch  0x000053d8 , 0x00000005 
+ 00021456  0x00002627 call  0x0000543c 
+ 00021457  0x00002628 branch  0x000053f1 
+ 00021458  0x0000262a call  0x00005453 
+ 00021459  0x0000262b branch  0x000053e4 
+ 00021460  0x0000262d call  0x00005459 
+ 00021461  0x0000262e fetch  0x00000002 , 0x0000421e 
+ 00021462  0x0000262f branch  0x000053e4 , 0x00000034 
+ 00021463  0x00002637 branch  0x000053e4 
+ 00021464  0x0000263a call  0x0000544e 
+ 00021465  0x0000263b fetch  0x00000001 , 0x00000284 
+ 00021466  0x0000263c nbranch  0x000053e4 , 0x00000034 
+ 00021467  0x0000263f branch  0x000053e4 
+ 00021468  0x00002641 copy  0x0000000b , 0x00000002 
+ 00021469  0x00002642 fetch  0x00000002 , 0x0000421c 
+ 00021470  0x00002643 isub  0x00000002 , 0x0000003e 
+ 00021471  0x00002644 branch  0x000053e2 , 0x00000005 
+ 00021472  0x00002645 call  0x0000543c 
+ 00021473  0x00002646 branch  0x000053f1 
+ 00021474  0x00002648 call  0x00005449 
+ 00021475  0x00002649 branch  0x000053e4 
+ 00021476  0x0000264b call  0x00007c88 
+ 00021477  0x0000264c setarg  0x00000007 
+ 00021478  0x0000264d istore  0x00000001 , 0x00000005 
+ 00021479  0x0000264e copy  0x00000007 , 0x0000003f 
+ 00021480  0x0000264f istore  0x00000001 , 0x00000005 
+ 00021481  0x00002650 setarg  0x00000004 
+ 00021482  0x00002651 istore  0x00000002 , 0x00000005 
+ 00021483  0x00002652 copy  0x00000011 , 0x0000003f 
+ 00021484  0x00002653 istore  0x00000002 , 0x00000005 
+ 00021485  0x00002654 copy  0x0000000b , 0x0000003f 
+ 00021486  0x00002655 istore  0x00000002 , 0x00000005 
+ 00021487  0x00002656 force  0x00000008 , 0x0000003f 
+ 00021488  0x00002657 branch  0x000053f3 
+ 00021489  0x00002659 call  0x00007c88 
+ 00021490  0x0000265a branch  0x000053f3 
+ 00021491  0x0000265c iadd  0x00000012 , 0x00000012 
+ 00021492  0x0000265d branch  0x000051f8 
+ 00021493  0x0000265f ifetch  0x00000001 , 0x00000006 
+ 00021494  0x00002660 copy  0x0000003f , 0x00000007 
+ 00021495  0x00002661 ifetch  0x00000002 , 0x00000006 
+ 00021496  0x00002662 copy  0x0000003f , 0x00000011 
+ 00021497  0x00002663 copy  0x00000013 , 0x0000003f 
+ 00021498  0x00002664 isub  0x00000011 , 0x00000013 
+ 00021499  0x00002665 ifetch  0x00000002 , 0x00000006 
+ 00021500  0x00002666 copy  0x0000003f , 0x0000000b 
+ 00021501  0x00002667 ifetch  0x00000002 , 0x00000006 
+ 00021502  0x00002668 copy  0x0000003f , 0x00000002 
+ 00021503  0x00002669 call  0x00007c83 
+ 00021504  0x0000266a bpatch  0x000000d0 , 0x0000401a 
+ 00021505  0x0000266b setarg  0x00000050 
+ 00021506  0x0000266c isub  0x00000002 , 0x0000003e 
+ 00021507  0x0000266d branch  0x0000540f , 0x00000005 
+ 00021508  0x0000266e setarg  0x00000051 
+ 00021509  0x0000266f isub  0x00000002 , 0x0000003e 
+ 00021510  0x00002670 branch  0x00005415 , 0x00000005 
+ 00021511  0x00002671 setarg  0x00000052 
+ 00021512  0x00002672 isub  0x00000002 , 0x0000003e 
+ 00021513  0x00002673 branch  0x0000541b , 0x00000005 
+ 00021514  0x00002674 setarg  0x00000053 
+ 00021515  0x00002675 isub  0x00000002 , 0x0000003e 
+ 00021516  0x00002676 branch  0x00005421 , 0x00000005 
+ 00021517  0x00002677 call  0x0000543c 
+ 00021518  0x00002678 branch  0x00005429 
+ 00021519  0x0000267a copy  0x00000002 , 0x00000011 
+ 00021520  0x0000267b copy  0x0000000b , 0x00000002 
+ 00021521  0x0000267c fetch  0x00000002 , 0x0000421a 
+ 00021522  0x0000267d isub  0x00000002 , 0x0000003e 
+ 00021523  0x0000267e call  0x0000544e , 0x00000005 
+ 00021524  0x0000267f branch  0x00005427 
+ 00021525  0x00002681 copy  0x00000002 , 0x00000011 
+ 00021526  0x00002682 copy  0x0000000b , 0x00000002 
+ 00021527  0x00002683 fetch  0x00000002 , 0x0000421c 
+ 00021528  0x00002684 isub  0x00000002 , 0x0000003e 
+ 00021529  0x00002685 call  0x00005449 , 0x00000005 
+ 00021530  0x00002686 branch  0x00005427 
+ 00021531  0x00002688 copy  0x00000002 , 0x00000011 
+ 00021532  0x00002689 copy  0x0000000b , 0x00000002 
+ 00021533  0x0000268a fetch  0x00000002 , 0x0000421e 
+ 00021534  0x0000268b isub  0x00000002 , 0x0000003e 
+ 00021535  0x0000268c call  0x00005453 , 0x00000005 
+ 00021536  0x0000268d branch  0x00005427 
+ 00021537  0x0000268f copy  0x00000002 , 0x00000011 
+ 00021538  0x00002690 copy  0x0000000b , 0x00000002 
+ 00021539  0x00002691 fetch  0x00000002 , 0x00004220 
+ 00021540  0x00002692 isub  0x00000002 , 0x0000003e 
+ 00021541  0x00002693 call  0x00005459 , 0x00000005 
+ 00021542  0x00002694 branch  0x00005427 
+ 00021543  0x00002696 call  0x00007c88 
+ 00021544  0x00002697 branch  0x000051f8 
+ 00021545  0x00002699 branch  0x000051f8 
+ 00021546  0x0000269d ifetch  0x00000001 , 0x00000006 
+ 00021547  0x0000269e copy  0x0000003f , 0x00000007 
+ 00021548  0x0000269f ifetch  0x00000002 , 0x00000006 
+ 00021549  0x000026a0 copy  0x0000003f , 0x00000011 
+ 00021550  0x000026a1 iadd  0x00000006 , 0x00000006 
+ 00021551  0x000026a2 setarg  0x00000009 
+ 00021552  0x000026a3 istore  0x00000001 , 0x00000005 
+ 00021553  0x000026a4 copy  0x00000007 , 0x0000003f 
+ 00021554  0x000026a5 istore  0x00000001 , 0x00000005 
+ 00021555  0x000026a6 force  0x00000000 , 0x0000003f 
+ 00021556  0x000026a7 istore  0x00000002 , 0x00000005 
+ 00021557  0x000026a8 force  0x00000004 , 0x0000003f 
+ 00021558  0x000026a9 iadd  0x00000012 , 0x00000012 
+ 00021559  0x000026aa copy  0x00000013 , 0x0000003f 
+ 00021560  0x000026ab isub  0x00000011 , 0x00000013 
+ 00021561  0x000026ac branch  0x000051f8 
+ 00021562  0x000026ae branch  0x000051f8 
+ 00021563  0x000026b1 branch  0x000051f8 
+ 00021564  0x000026b3 force  0x00000000 , 0x00000012 
+ 00021565  0x000026b4 call  0x0000569d 
+ 00021566  0x000026b5 setarg  0x00000001 
+ 00021567  0x000026b6 istore  0x00000001 , 0x00000005 
+ 00021568  0x000026b7 copy  0x00000007 , 0x0000003f 
+ 00021569  0x000026b8 istore  0x00000001 , 0x00000005 
+ 00021570  0x000026b9 setarg  0x00000002 
+ 00021571  0x000026ba istore  0x00000002 , 0x00000005 
+ 00021572  0x000026bb setarg  0x00000000 
+ 00021573  0x000026bc istore  0x00000002 , 0x00000005 
+ 00021574  0x000026bd increase  0x00000006 , 0x00000012 
+ 00021575  0x000026be arg  0x00000004 , 0x00000013 
+ 00021576  0x000026bf branch  0x000051f8 
+ 00021577  0x000026c4 setarg  0x00000000 
+ 00021578  0x000026c5 store  0x00000002 , 0x00000277 
+ 00021579  0x000026c6 store  0x00000002 , 0x0000421c 
+ 00021580  0x000026c7 jam  0x00000000 , 0x00004223 
+ 00021581  0x000026c8 rtn 
+ 00021582  0x000026ca setarg  0x00000000 
+ 00021583  0x000026cb store  0x00000002 , 0x00000271 
+ 00021584  0x000026cc store  0x00000002 , 0x0000421a 
+ 00021585  0x000026cd jam  0x00000000 , 0x00004222 
+ 00021586  0x000026ce rtn 
+ 00021587  0x000026d0 setarg  0x00000000 
+ 00021588  0x000026d1 store  0x00000002 , 0x0000421e 
+ 00021589  0x000026d2 jam  0x00000000 , 0x00004224 
+ 00021590  0x000026d3 fetch  0x00000001 , 0x00004225 
+ 00021591  0x000026d4 beq  0x00000000 , 0x0000545f 
+ 00021592  0x000026d5 rtn 
+ 00021593  0x000026d8 setarg  0x00000000 
+ 00021594  0x000026d9 store  0x00000002 , 0x00004220 
+ 00021595  0x000026da jam  0x00000000 , 0x00004225 
+ 00021596  0x000026db fetch  0x00000001 , 0x00004224 
+ 00021597  0x000026dc beq  0x00000000 , 0x0000545f 
+ 00021598  0x000026dd rtn 
+ 00021599  0x000026e0 jam  0x00000007 , 0x00000a95 
+ 00021600  0x000026e1 branch  0x00007bab 
+ 00021601  0x000026e4 fetch  0x00000001 , 0x0000027b 
+ 00021602  0x000026e5 set0  0x00000000 , 0x0000003f 
+ 00021603  0x000026e6 store  0x00000001 , 0x0000027b 
+ 00021604  0x000026e7 fetch  0x00000002 , 0x00004220 
+ 00021605  0x000026e8 rtn  0x00000034 
+ 00021606  0x000026e9 call  0x00005692 
+ 00021607  0x000026ea fetch  0x00000002 , 0x00004220 
+ 00021608  0x000026eb copy  0x0000003f , 0x00000011 
+ 00021609  0x000026ec force  0x00000053 , 0x00000012 
+ 00021610  0x000026ed branch  0x00005474 
+ 00021611  0x000026ef fetch  0x00000001 , 0x0000027b 
+ 00021612  0x000026f0 set0  0x00000007 , 0x0000003f 
+ 00021613  0x000026f1 store  0x00000001 , 0x0000027b 
+ 00021614  0x000026f2 fetch  0x00000002 , 0x0000421e 
+ 00021615  0x000026f3 rtn  0x00000034 
+ 00021616  0x000026f4 call  0x00005692 
+ 00021617  0x000026f5 fetch  0x00000002 , 0x0000421e 
+ 00021618  0x000026f6 copy  0x0000003f , 0x00000011 
+ 00021619  0x000026f7 force  0x00000052 , 0x00000012 
+ 00021620  0x000026f9 call  0x00005614 
+ 00021621  0x000026fa call  0x0000569d 
+ 00021622  0x000026fb force  0x00000006 , 0x0000003f 
+ 00021623  0x000026fc istore  0x00000001 , 0x00000005 
+ 00021624  0x000026fd fetch  0x00000001 , 0x00004227 
+ 00021625  0x000026fe istore  0x00000001 , 0x00000005 
+ 00021626  0x000026ff setarg  0x00000004 
+ 00021627  0x00002700 istore  0x00000002 , 0x00000005 
+ 00021628  0x00002701 copy  0x00000011 , 0x0000003f 
+ 00021629  0x00002702 istore  0x00000002 , 0x00000005 
+ 00021630  0x00002703 copy  0x00000012 , 0x0000003f 
+ 00021631  0x00002704 istore  0x00000002 , 0x00000005 
+ 00021632  0x00002705 force  0x00000008 , 0x00000002 
+ 00021633  0x00002706 branch  0x000054b8 
+ 00021634  0x00002709 bpatch  0x000000d1 , 0x0000401a 
+ 00021635  0x0000270a call  0x00005614 
+ 00021636  0x0000270b call  0x0000569d 
+ 00021637  0x0000270c setarg  0x00000002 
+ 00021638  0x0000270d istore  0x00000001 , 0x00000005 
+ 00021639  0x0000270e fetch  0x00000001 , 0x00004227 
+ 00021640  0x0000270f istore  0x00000001 , 0x00000005 
+ 00021641  0x00002710 setarg  0x00000004 
+ 00021642  0x00002711 istore  0x00000002 , 0x00000005 
+ 00021643  0x00002712 copy  0x00000002 , 0x0000003f 
+ 00021644  0x00002713 istore  0x00000002 , 0x00000005 
+ 00021645  0x00002714 copy  0x0000000b , 0x0000003f 
+ 00021646  0x00002715 istore  0x00000002 , 0x00000005 
+ 00021647  0x00002716 arg  0x00000008 , 0x00000002 
+ 00021648  0x00002717 branch  0x000054b8 
+ 00021649  0x00002719 bpatch  0x000000d2 , 0x0000401a 
+ 00021650  0x0000271a call  0x00005614 
+ 00021651  0x0000271b call  0x0000569d 
+ 00021652  0x0000271c setarg  0x00000004 
+ 00021653  0x0000271d istore  0x00000001 , 0x00000005 
+ 00021654  0x0000271e fetch  0x00000001 , 0x00004227 
+ 00021655  0x0000271f istore  0x00000001 , 0x00000005 
+ 00021656  0x00002720 setarg  0x00000008 
+ 00021657  0x00002721 istore  0x00000002 , 0x00000005 
+ 00021658  0x00002723 copy  0x00000002 , 0x0000003f 
+ 00021659  0x00002725 istore  0x00000002 , 0x00000005 
+ 00021660  0x00002726 setarg  0x00000000 
+ 00021661  0x00002727 istore  0x00000002 , 0x00000005 
+ 00021662  0x00002728 setarg  0x00000001 
+ 00021663  0x00002729 istore  0x00000001 , 0x00000005 
+ 00021664  0x0000272a setarg  0x00000002 
+ 00021665  0x0000272b istore  0x00000001 , 0x00000005 
+ 00021666  0x0000272c setarg  0x000003e3 
+ 00021667  0x0000272d istore  0x00000002 , 0x00000005 
+ 00021668  0x0000272e arg  0x0000000c , 0x00000002 
+ 00021669  0x0000272f branch  0x000054b8 
+ 00021670  0x00002731 bpatch  0x000000d3 , 0x0000401a 
+ 00021671  0x00002732 call  0x00005614 
+ 00021672  0x00002733 call  0x0000569d 
+ 00021673  0x00002734 setarg  0x00000006 
+ 00021674  0x00002735 istore  0x00000001 , 0x00000005 
+ 00021675  0x00002736 fetch  0x00000001 , 0x00004227 
+ 00021676  0x00002737 increase  0x00000001 , 0x0000003f 
+ 00021677  0x00002738 copy  0x00000005 , 0x00000011 
+ 00021678  0x00002739 store  0x00000001 , 0x00004227 
+ 00021679  0x0000273a copy  0x00000011 , 0x00000005 
+ 00021680  0x0000273b istore  0x00000001 , 0x00000005 
+ 00021681  0x0000273c setarg  0x00000004 
+ 00021682  0x0000273d istore  0x00000002 , 0x00000005 
+ 00021683  0x0000273e copy  0x00000002 , 0x0000003f 
+ 00021684  0x0000273f istore  0x00000002 , 0x00000005 
+ 00021685  0x00002740 copy  0x0000000b , 0x0000003f 
+ 00021686  0x00002741 istore  0x00000002 , 0x00000005 
+ 00021687  0x00002742 arg  0x00000008 , 0x00000002 
+ 00021688  0x00002746 storet  0x00000002 , 0x0000026b 
+ 00021689  0x00002747 copy  0x00000002 , 0x0000003f 
+ 00021690  0x00002748 branch  0x0000563e , 0x00000034 
+ 00021691  0x00002749 call  0x0000569b 
+ 00021692  0x0000274a fetch  0x00000002 , 0x0000026b 
+ 00021693  0x0000274b istore  0x00000002 , 0x00000005 
+ 00021694  0x0000274c force  0x00000001 , 0x0000003f 
+ 00021695  0x0000274d istore  0x00000002 , 0x00000005 
+ 00021696  0x0000274e rtn 
+ 00021697  0x00002751 fetch  0x00000002 , 0x00000271 
+ 00021698  0x00002752 branch  0x00004a8b , 0x00000034 
+ 00021699  0x00002753 call  0x000056a8 
+ 00021700  0x00002754 fetch  0x00000002 , 0x00000271 
+ 00021701  0x00002755 istore  0x00000002 , 0x00000005 
+ 00021702  0x00002756 fetch  0x00000002 , 0x0000421a 
+ 00021703  0x00002757 istore  0x00000002 , 0x00000005 
+ 00021704  0x00002758 rtn 
+ 00021705  0x0000275a fetch  0x00000002 , 0x00000262 
+ 00021706  0x0000275b branch  0x000051d6 , 0x00000034 
+ 00021707  0x0000275c bpatch  0x000000d4 , 0x0000401a 
+ 00021708  0x0000275d fetch  0x00000001 , 0x00000264 
+ 00021709  0x0000275e beq  0x00000001 , 0x000054d3 
+ 00021710  0x0000275f beq  0x00000050 , 0x000051c2 
+ 00021711  0x00002760 beq  0x00000051 , 0x000051cf 
+ 00021712  0x00002761 beq  0x00000052 , 0x000051cd 
+ 00021713  0x00002762 beq  0x00000053 , 0x000051cd 
+ 00021714  0x00002763 branch  0x000051d6 
+ 00021715  0x00002766 bpatch  0x000000d5 , 0x0000401a 
+ 00021716  0x00002767 call  0x00005692 
+ 00021717  0x00002768 force  0x00000000 , 0x00000012 
+ 00021718  0x00002769 call  0x0000569d 
+ 00021719  0x0000276a copy  0x0000003f , 0x00000005 
+ 00021720  0x0000276b fetch  0x00000002 , 0x00000262 
+ 00021721  0x0000276c copy  0x0000003f , 0x00000013 
+ 00021722  0x0000276d fetch  0x00000002 , 0x00000260 
+ 00021723  0x0000276e iforce  0x00000006 
+ 00021724  0x00002770 call  0x000054e2 
+ 00021725  0x00002771 increase  0xfffffffc , 0x00000013 
+ 00021726  0x00002772 nbranch  0x000054dc , 0x00000005 
+ 00021727  0x00002773 copy  0x00000012 , 0x00000002 
+ 00021728  0x00002774 call  0x000054b8 
+ 00021729  0x00002775 branch  0x000051d6 
+ 00021730  0x00002778 ifetch  0x00000001 , 0x00000006 
+ 00021731  0x00002779 beq  0x00000002 , 0x000054ed 
+ 00021732  0x0000277a beq  0x00000001 , 0x000054f0 
+ 00021733  0x0000277b beq  0x00000003 , 0x000054fa 
+ 00021734  0x0000277c beq  0x00000005 , 0x00005536 
+ 00021735  0x0000277d beq  0x00000004 , 0x00005568 
+ 00021736  0x0000277e beq  0x00000007 , 0x000055ed 
+ 00021737  0x0000277f beq  0x00000006 , 0x000055bb 
+ 00021738  0x00002780 beq  0x00000008 , 0x0000542a 
+ 00021739  0x00002781 beq  0x0000000a , 0x00005214 
+ 00021740  0x00002782 branch  0x00005608 
+ 00021741  0x00002785 call  0x00007c83 
+ 00021742  0x00002787 call  0x00007c88 
+ 00021743  0x00002788 branch  0x0000522b 
+ 00021744  0x0000278a ifetch  0x00000001 , 0x00000006 
+ 00021745  0x0000278b copy  0x0000003f , 0x00000007 
+ 00021746  0x0000278c ifetch  0x00000002 , 0x00000006 
+ 00021747  0x0000278d copy  0x0000003f , 0x00000011 
+ 00021748  0x0000278e copy  0x00000013 , 0x0000003f 
+ 00021749  0x0000278f isub  0x00000011 , 0x00000013 
+ 00021750  0x00002791 ifetch  0x00000001 , 0x00000006 
+ 00021751  0x00002792 increase  0xffffffff , 0x00000011 
+ 00021752  0x00002793 nbranch  0x000054f6 , 0x00000005 
+ 00021753  0x00002794 rtn 
+ 00021754  0x00002796 ifetch  0x00000001 , 0x00000006 
+ 00021755  0x00002797 copy  0x0000003f , 0x00000007 
+ 00021756  0x00002798 ifetch  0x00000002 , 0x00000006 
+ 00021757  0x00002799 copy  0x0000003f , 0x00000011 
+ 00021758  0x0000279a ifetch  0x00000002 , 0x00000006 
+ 00021759  0x0000279b copy  0x0000003f , 0x0000000b 
+ 00021760  0x0000279c ifetch  0x00000002 , 0x00000006 
+ 00021761  0x0000279d copy  0x0000003f , 0x00000002 
+ 00021762  0x0000279e ifetch  0x00000002 , 0x00000006 
+ 00021763  0x0000279f sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00021764  0x000027a0 branch  0x0000550c , 0x00000005 
+ 00021765  0x000027a1 beq  0x00000002 , 0x00005508 
+ 00021766  0x000027a2 beq  0x00000004 , 0x00005508 
+ 00021767  0x000027a3 branch  0x0000550a 
+ 00021768  0x000027a5 jam  0x00000016 , 0x00000a95 
+ 00021769  0x000027a6 call  0x00007bab 
+ 00021770  0x000027a8 ifetch  0x00000002 , 0x00000006 
+ 00021771  0x000027a9 branch  0x00005533 
+ 00021772  0x000027ab call  0x00007c83 
+ 00021773  0x000027af bpatch  0x000000d6 , 0x0000401a 
+ 00021774  0x000027b0 setarg  0x00000050 
+ 00021775  0x000027b1 isub  0x00000002 , 0x0000003e 
+ 00021776  0x000027b2 branch  0x0000551b , 0x00000005 
+ 00021777  0x000027b3 setarg  0x00000051 
+ 00021778  0x000027b4 isub  0x00000002 , 0x0000003e 
+ 00021779  0x000027b5 branch  0x00005521 , 0x00000005 
+ 00021780  0x000027b6 setarg  0x00000053 
+ 00021781  0x000027b7 isub  0x00000002 , 0x0000003e 
+ 00021782  0x000027b8 branch  0x0000552d , 0x00000005 
+ 00021783  0x000027b9 setarg  0x00000052 
+ 00021784  0x000027ba isub  0x00000002 , 0x0000003e 
+ 00021785  0x000027bb branch  0x00005527 , 0x00000005 
+ 00021786  0x000027bc branch  0x00005533 
+ 00021787  0x000027be copy  0x0000000b , 0x0000003f 
+ 00021788  0x000027bf store  0x00000002 , 0x0000421a 
+ 00021789  0x000027c0 fetch  0x00000001 , 0x00004222 
+ 00021790  0x000027c1 set1  0x00000001 
+ 00021791  0x000027c2 store  0x00000001 , 0x00004222 
+ 00021792  0x000027c3 branch  0x00005532 
+ 00021793  0x000027c5 copy  0x0000000b , 0x0000003f 
+ 00021794  0x000027c6 store  0x00000002 , 0x0000421c 
+ 00021795  0x000027c7 fetch  0x00000001 , 0x00004223 
+ 00021796  0x000027c8 set1  0x00000001 
+ 00021797  0x000027c9 store  0x00000001 , 0x00004223 
+ 00021798  0x000027ca branch  0x00005532 
+ 00021799  0x000027cc copy  0x0000000b , 0x0000003f 
+ 00021800  0x000027cd store  0x00000002 , 0x0000421e 
+ 00021801  0x000027ce fetch  0x00000001 , 0x00004224 
+ 00021802  0x000027cf set1  0x00000001 
+ 00021803  0x000027d0 store  0x00000001 , 0x00004224 
+ 00021804  0x000027d1 branch  0x00005532 
+ 00021805  0x000027d3 copy  0x0000000b , 0x0000003f 
+ 00021806  0x000027d4 store  0x00000002 , 0x00004220 
+ 00021807  0x000027d5 fetch  0x00000001 , 0x00004225 
+ 00021808  0x000027d6 set1  0x00000001 
+ 00021809  0x000027d7 store  0x00000001 , 0x00004225 
+ 00021810  0x000027db call  0x00007c88 
+ 00021811  0x000027dd copy  0x00000013 , 0x0000003f 
+ 00021812  0x000027de isub  0x00000011 , 0x00000013 
+ 00021813  0x000027df rtn 
+ 00021814  0x000027e2 ifetch  0x00000001 , 0x00000006 
+ 00021815  0x000027e3 copy  0x0000003f , 0x00000007 
+ 00021816  0x000027e4 ifetch  0x00000002 , 0x00000006 
+ 00021817  0x000027e5 copy  0x0000003f , 0x00000011 
+ 00021818  0x000027e6 copy  0x00000013 , 0x0000003f 
+ 00021819  0x000027e7 isub  0x00000011 , 0x00000013 
+ 00021820  0x000027e8 ifetch  0x00000002 , 0x00000006 
+ 00021821  0x000027e9 copy  0x0000003f , 0x0000000b 
+ 00021822  0x000027ea ifetch  0x00000002 , 0x00000006 
+ 00021823  0x000027eb ifetch  0x00000002 , 0x00000006 
+ 00021824  0x000027ec nbranch  0x00005562 , 0x00000034 
+ 00021825  0x000027ed call  0x00007c83 
+ 00021826  0x000027f1 copy  0x0000000b , 0x00000002 
+ 00021827  0x000027f2 bpatch  0x000000d7 , 0x0000401a 
+ 00021828  0x000027f3 setarg  0x00000050 
+ 00021829  0x000027f4 isub  0x00000002 , 0x0000003e 
+ 00021830  0x000027f5 branch  0x00005550 , 0x00000005 
+ 00021831  0x000027f6 setarg  0x00000051 
+ 00021832  0x000027f7 isub  0x00000002 , 0x0000003e 
+ 00021833  0x000027f8 branch  0x00005554 , 0x00000005 
+ 00021834  0x000027f9 setarg  0x00000052 
+ 00021835  0x000027fa isub  0x00000002 , 0x0000003e 
+ 00021836  0x000027fb branch  0x00005558 , 0x00000005 
+ 00021837  0x000027fc setarg  0x00000053 
+ 00021838  0x000027fd isub  0x00000002 , 0x0000003e 
+ 00021839  0x000027fe branch  0x0000555c , 0x00000005 
+ 00021840  0x00002800 fetch  0x00000001 , 0x00004222 
+ 00021841  0x00002801 set1  0x00000005 
+ 00021842  0x00002802 store  0x00000001 , 0x00004222 
+ 00021843  0x00002803 rtn 
+ 00021844  0x00002805 fetch  0x00000001 , 0x00004223 
+ 00021845  0x00002806 set1  0x00000005 
+ 00021846  0x00002807 store  0x00000001 , 0x00004223 
+ 00021847  0x00002808 rtn 
+ 00021848  0x0000280a fetch  0x00000001 , 0x00004224 
+ 00021849  0x0000280b set1  0x00000005 
+ 00021850  0x0000280c store  0x00000001 , 0x00004224 
+ 00021851  0x0000280d rtn 
+ 00021852  0x0000280f fetch  0x00000001 , 0x00004225 
+ 00021853  0x00002810 set1  0x00000005 
+ 00021854  0x00002811 store  0x00000001 , 0x00004225 
+ 00021855  0x00002812 jam  0x00000006 , 0x00000a95 
+ 00021856  0x00002813 branch  0x00007bab 
+ 00021857  0x00002817 call  0x00007c88 
+ 00021858  0x00002819 increase  0xfffffffa , 0x00000011 
+ 00021859  0x0000281b branch  0x00005567 , 0x00000005 
+ 00021860  0x0000281c increase  0x00000001 , 0x00000006 
+ 00021861  0x0000281d increase  0xffffffff , 0x00000011 
+ 00021862  0x0000281e branch  0x00005563 
+ 00021863  0x00002820 rtn 
+ 00021864  0x00002822 ifetch  0x00000001 , 0x00000006 
+ 00021865  0x00002823 copy  0x0000003f , 0x00000007 
+ 00021866  0x00002824 ifetch  0x00000002 , 0x00000006 
+ 00021867  0x00002825 copy  0x0000003f , 0x00000011 
+ 00021868  0x00002826 copy  0x00000013 , 0x0000003f 
+ 00021869  0x00002827 isub  0x00000011 , 0x00000013 
+ 00021870  0x00002828 ifetch  0x00000002 , 0x00000006 
+ 00021871  0x00002829 increase  0x00000002 , 0x00000006 
+ 00021872  0x0000282a copy  0x0000003f , 0x00000002 
+ 00021873  0x0000282b setarg  0x00000005 
+ 00021874  0x0000282c istore  0x00000001 , 0x00000005 
+ 00021875  0x0000282d copy  0x00000007 , 0x0000003f 
+ 00021876  0x0000282e istore  0x00000001 , 0x00000005 
+ 00021877  0x0000282f increase  0x00000002 , 0x00000011 
+ 00021878  0x00002830 copy  0x00000011 , 0x0000003f 
+ 00021879  0x00002831 istore  0x00000002 , 0x00000005 
+ 00021880  0x00002832 call  0x00007c83 
+ 00021881  0x00002833 bpatch  0x000000d8 , 0x0000401b 
+ 00021882  0x00002834 setarg  0x00000050 
+ 00021883  0x00002835 isub  0x00000002 , 0x0000003e 
+ 00021884  0x00002836 branch  0x00005587 , 0x00000005 
+ 00021885  0x00002837 setarg  0x00000051 
+ 00021886  0x00002838 isub  0x00000002 , 0x0000003e 
+ 00021887  0x00002839 branch  0x00005598 , 0x00000005 
+ 00021888  0x0000283a setarg  0x00000052 
+ 00021889  0x0000283b isub  0x00000002 , 0x0000003e 
+ 00021890  0x0000283c branch  0x0000559e , 0x00000005 
+ 00021891  0x0000283d setarg  0x00000053 
+ 00021892  0x0000283e isub  0x00000002 , 0x0000003e 
+ 00021893  0x0000283f branch  0x000055a4 , 0x00000005 
+ 00021894  0x00002840 branch  0x000055a9 
+ 00021895  0x00002842 fetch  0x00000001 , 0x00004222 
+ 00021896  0x00002843 set1  0x00000004 , 0x0000003f 
+ 00021897  0x00002844 set1  0x00000003 , 0x0000003f 
+ 00021898  0x00002845 store  0x00000001 , 0x00004222 
+ 00021899  0x00002846 bbit1  0x00000002 , 0x00005595 
+ 00021900  0x00002847 fetcht  0x00000001 , 0x0000027b 
+ 00021901  0x00002848 set1  0x00000006 , 0x00000002 
+ 00021902  0x00002849 storet  0x00000001 , 0x0000027b 
+ 00021903  0x0000284a copy  0x00000007 , 0x0000003f 
+ 00021904  0x0000284b increase  0x00000001 , 0x0000003f 
+ 00021905  0x0000284c store  0x00000001 , 0x0000027d 
+ 00021906  0x0000284d fetch  0x00000001 , 0x00004222 
+ 00021907  0x0000284e set1  0x00000002 , 0x0000003f 
+ 00021908  0x0000284f store  0x00000001 , 0x00004222 
+ 00021909  0x00002851 fetch  0x00000002 , 0x0000421a 
+ 00021910  0x00002852 store  0x00000002 , 0x0000027e 
+ 00021911  0x00002853 branch  0x000055a9 
+ 00021912  0x00002855 fetch  0x00000001 , 0x00004223 
+ 00021913  0x00002856 set1  0x00000004 , 0x0000003f 
+ 00021914  0x00002857 set1  0x00000003 , 0x0000003f 
+ 00021915  0x00002858 store  0x00000001 , 0x00004223 
+ 00021916  0x00002859 fetch  0x00000002 , 0x0000421c 
+ 00021917  0x0000285a branch  0x000055a9 
+ 00021918  0x0000285c fetch  0x00000001 , 0x00004224 
+ 00021919  0x0000285d set1  0x00000004 , 0x0000003f 
+ 00021920  0x0000285e set1  0x00000003 , 0x0000003f 
+ 00021921  0x0000285f store  0x00000001 , 0x00004224 
+ 00021922  0x00002860 fetch  0x00000002 , 0x0000421e 
+ 00021923  0x00002861 branch  0x000055a9 
+ 00021924  0x00002863 fetch  0x00000001 , 0x00004225 
+ 00021925  0x00002864 set1  0x00000004 , 0x0000003f 
+ 00021926  0x00002865 set1  0x00000003 , 0x0000003f 
+ 00021927  0x00002866 store  0x00000001 , 0x00004225 
+ 00021928  0x00002867 fetch  0x00000002 , 0x00004220 
+ 00021929  0x0000286b copy  0x0000003f , 0x0000000b 
+ 00021930  0x0000286c call  0x00007c88 
+ 00021931  0x0000286e copy  0x0000000b , 0x0000003f 
+ 00021932  0x00002870 istore  0x00000002 , 0x00000005 
+ 00021933  0x00002871 force  0x00000000 , 0x0000003f 
+ 00021934  0x00002872 istore  0x00000002 , 0x00000005 
+ 00021935  0x00002873 force  0x00000000 , 0x0000003f 
+ 00021936  0x00002874 istore  0x00000002 , 0x00000005 
+ 00021937  0x00002875 force  0x0000000a , 0x0000003f 
+ 00021938  0x00002876 iadd  0x00000012 , 0x00000012 
+ 00021939  0x00002877 increase  0xfffffffa , 0x00000011 
+ 00021940  0x00002879 branch  0x000055ba , 0x00000005 
+ 00021941  0x0000287a ifetch  0x00000001 , 0x00000006 
+ 00021942  0x0000287b istore  0x00000001 , 0x00000005 
+ 00021943  0x0000287c increase  0x00000001 , 0x00000012 
+ 00021944  0x0000287d increase  0xffffffff , 0x00000011 
+ 00021945  0x0000287e branch  0x000055b4 
+ 00021946  0x00002880 rtn 
+ 00021947  0x00002882 ifetch  0x00000001 , 0x00000006 
+ 00021948  0x00002883 copy  0x0000003f , 0x00000007 
+ 00021949  0x00002884 ifetch  0x00000002 , 0x00000006 
+ 00021950  0x00002885 copy  0x0000003f , 0x00000011 
+ 00021951  0x00002886 copy  0x00000013 , 0x0000003f 
+ 00021952  0x00002887 isub  0x00000011 , 0x00000013 
+ 00021953  0x00002889 ifetch  0x00000002 , 0x00000006 
+ 00021954  0x0000288a copy  0x0000003f , 0x00000011 
+ 00021955  0x0000288b ifetch  0x00000002 , 0x00000006 
+ 00021956  0x0000288c copy  0x0000003f , 0x0000000b 
+ 00021957  0x0000288d call  0x00007c83 
+ 00021958  0x0000288e bpatch  0x000000d9 , 0x0000401b 
+ 00021959  0x0000288f setarg  0x00000050 
+ 00021960  0x00002890 copy  0x00000011 , 0x00000002 
+ 00021961  0x00002891 isub  0x00000002 , 0x0000003e 
+ 00021962  0x00002892 branch  0x000055d4 , 0x00000005 
+ 00021963  0x00002893 setarg  0x00000052 
+ 00021964  0x00002894 copy  0x00000011 , 0x00000002 
+ 00021965  0x00002895 isub  0x00000002 , 0x0000003e 
+ 00021966  0x00002896 branch  0x000055d9 , 0x00000005 
+ 00021967  0x00002897 setarg  0x00000053 
+ 00021968  0x00002898 copy  0x00000011 , 0x00000002 
+ 00021969  0x00002899 isub  0x00000002 , 0x0000003e 
+ 00021970  0x0000289a branch  0x000055db , 0x00000005 
+ 00021971  0x0000289b branch  0x000055dd 
+ 00021972  0x0000289d setarg  0x00000000 
+ 00021973  0x0000289e store  0x00000002 , 0x00000271 
+ 00021974  0x0000289f store  0x00000002 , 0x0000421a 
+ 00021975  0x000028a0 store  0x00000001 , 0x00004222 
+ 00021976  0x000028a1 branch  0x000055df 
+ 00021977  0x000028a3 call  0x00005453 
+ 00021978  0x000028a4 branch  0x000055df 
+ 00021979  0x000028a6 call  0x00005459 
+ 00021980  0x000028ac branch  0x000055df 
+ 00021981  0x000028ae setarg  0x00000000 
+ 00021982  0x000028af store  0x00000002 , 0x00000277 
+ 00021983  0x000028b1 call  0x00007c88 
+ 00021984  0x000028b2 setarg  0x00000007 
+ 00021985  0x000028b3 istore  0x00000001 , 0x00000005 
+ 00021986  0x000028b4 copy  0x00000007 , 0x0000003f 
+ 00021987  0x000028b5 istore  0x00000001 , 0x00000005 
+ 00021988  0x000028b6 setarg  0x00000004 
+ 00021989  0x000028b7 istore  0x00000002 , 0x00000005 
+ 00021990  0x000028b8 copy  0x00000011 , 0x0000003f 
+ 00021991  0x000028b9 istore  0x00000002 , 0x00000005 
+ 00021992  0x000028ba copy  0x0000000b , 0x0000003f 
+ 00021993  0x000028bb istore  0x00000002 , 0x00000005 
+ 00021994  0x000028bc force  0x00000008 , 0x0000003f 
+ 00021995  0x000028bd iadd  0x00000012 , 0x00000012 
+ 00021996  0x000028be rtn 
+ 00021997  0x000028c1 ifetch  0x00000001 , 0x00000006 
+ 00021998  0x000028c2 copy  0x0000003f , 0x00000007 
+ 00021999  0x000028c3 ifetch  0x00000002 , 0x00000006 
+ 00022000  0x000028c4 copy  0x0000003f , 0x00000011 
+ 00022001  0x000028c5 ifetch  0x00000002 , 0x00000006 
+ 00022002  0x000028c6 copy  0x0000003f , 0x0000000b 
+ 00022003  0x000028c7 ifetch  0x00000002 , 0x00000006 
+ 00022004  0x000028c8 copy  0x0000003f , 0x00000002 
+ 00022005  0x000028c9 call  0x00007c83 
+ 00022006  0x000028ca bpatch  0x000000da , 0x0000401b 
+ 00022007  0x000028cb fetch  0x00000001 , 0x00004227 
+ 00022008  0x000028cc icompare  0x000000ff , 0x00000007 
+ 00022009  0x000028cd nbranch  0x00005604 , 0x00000001 
+ 00022010  0x000028ce setarg  0x00000050 
+ 00022011  0x000028cf isub  0x00000002 , 0x0000003e 
+ 00022012  0x000028d0 branch  0x00005601 , 0x00000005 
+ 00022013  0x000028d1 setarg  0x00000051 
+ 00022014  0x000028d2 isub  0x00000002 , 0x0000003e 
+ 00022015  0x000028d3 branch  0x00005604 , 0x00000005 
+ 00022016  0x000028d4 branch  0x00005604 
+ 00022017  0x000028d6 jam  0x00000000 , 0x0000421a 
+ 00022018  0x000028d7 jam  0x00000000 , 0x00004222 
+ 00022019  0x000028d8 branch  0x00005604 
+ 00022020  0x000028dd call  0x00007c88 
+ 00022021  0x000028de copy  0x00000013 , 0x0000003f 
+ 00022022  0x000028df isub  0x00000011 , 0x00000013 
+ 00022023  0x000028e0 rtn 
+ 00022024  0x000028e3 setarg  0x00000001 
+ 00022025  0x000028e4 istore  0x00000001 , 0x00000005 
+ 00022026  0x000028e5 ifetch  0x00000001 , 0x00000006 
+ 00022027  0x000028e6 istore  0x00000001 , 0x00000005 
+ 00022028  0x000028e7 setarg  0x00000002 
+ 00022029  0x000028e8 istore  0x00000002 , 0x00000005 
+ 00022030  0x000028e9 setarg  0x00000000 
+ 00022031  0x000028ea istore  0x00000002 , 0x00000005 
+ 00022032  0x000028eb setarg  0x00000006 
+ 00022033  0x000028ec iadd  0x00000012 , 0x00000012 
+ 00022034  0x000028ed force  0x00000004 , 0x00000013 
+ 00022035  0x000028ee rtn 
+ 00022036  0x000028f2 fetch  0x00000001 , 0x00004227 
+ 00022037  0x000028f3 increase  0x00000001 , 0x0000003f 
+ 00022038  0x000028f4 bne  0x00000000 , 0x00005618 
+ 00022039  0x000028f5 increase  0x00000001 , 0x0000003f 
+ 00022040  0x000028f7 store  0x00000001 , 0x00004227 
+ 00022041  0x000028f8 rtn 
+ 00022042  0x00002903 bpatch  0x000000db , 0x0000401b 
+ 00022043  0x00002904 arg  0x00000000 , 0x00000012 
+ 00022044  0x00002905 call  0x00005648 
+ 00022045  0x00002906 nbranch  0x00004a8b , 0x00000034 
+ 00022046  0x00002907 call  0x00005658 
+ 00022047  0x00002908 arg  0x00001800 , 0x00000012 
+ 00022048  0x00002909 arg  0x00000000 , 0x00000007 
+ 00022049  0x0000290b fetcht  0x00000001 , 0x00004228 
+ 00022050  0x0000290c qisolate1  0x00000002 
+ 00022051  0x0000290d branch  0x00005629 , 0x00000001 
+ 00022052  0x0000290e call  0x0000567a 
+ 00022053  0x0000290f sub  0x0000000b , 0x00000000 , 0x0000003e 
+ 00022054  0x00002910 branch  0x00005629 , 0x00000002 
+ 00022055  0x00002911 call  0x00005662 
+ 00022056  0x00002912 branch  0x0000562f 
+ 00022057  0x00002914 increase  0x00000080 , 0x00000012 
+ 00022058  0x00002915 increase  0x00000001 , 0x00000007 
+ 00022059  0x00002916 setarg  0x00000008 
+ 00022060  0x00002917 isub  0x00000007 , 0x0000003e 
+ 00022061  0x00002918 branch  0x00005621 , 0x00000002 
+ 00022062  0x00002919 arg  0x00000000 , 0x00000012 
+ 00022063  0x0000291b copy  0x00000012 , 0x0000003f 
+ 00022064  0x0000291c branch  0x00004a8b , 0x00000034 
+ 00022065  0x0000291d rtn 
+ 00022066  0x00002926 bpatch  0x000000dc , 0x0000401b 
+ 00022067  0x00002927 call  0x00005651 
+ 00022068  0x00002928 increase  0x00000001 , 0x00000006 
+ 00022069  0x00002929 ifetch  0x00000002 , 0x00000006 
+ 00022070  0x0000292a rtn 
+ 00022071  0x00002931 bpatch  0x000000dd , 0x0000401b 
+ 00022072  0x00002932 call  0x00005651 
+ 00022073  0x00002933 copy  0x00000006 , 0x00000005 
+ 00022074  0x00002934 copy  0x00000006 , 0x00000002 
+ 00022075  0x00002935 setarg  0x00000000 
+ 00022076  0x00002936 istore  0x00000003 , 0x00000005 
+ 00022077  0x00002937 rtn 
+ 00022078  0x0000293d bpatch  0x000000de , 0x0000401b 
+ 00022079  0x0000293e call  0x0000564e 
+ 00022080  0x0000293f branch  0x00004a8b , 0x00000034 
+ 00022081  0x00002940 fetch  0x00000003 , 0x0000422f 
+ 00022082  0x00002941 store  0x00000003 , 0x00004232 
+ 00022083  0x00002942 fetch  0x00000003 , 0x0000422c 
+ 00022084  0x00002943 store  0x00000003 , 0x0000422f 
+ 00022085  0x00002944 fetch  0x00000003 , 0x00004229 
+ 00022086  0x00002945 store  0x00000003 , 0x0000422c 
+ 00022087  0x00002946 rtn 
+ 00022088  0x0000294d bpatch  0x000000df , 0x0000401b 
+ 00022089  0x0000294e fetch  0x00000003 , 0x00004229 
+ 00022090  0x0000294f rtn 
+ 00022091  0x00002956 bpatch  0x000000e0 , 0x0000401c 
+ 00022092  0x00002957 fetch  0x00000003 , 0x0000422c 
+ 00022093  0x00002958 rtn 
+ 00022094  0x0000295f bpatch  0x000000e1 , 0x0000401c 
+ 00022095  0x00002960 fetch  0x00000003 , 0x00004232 
+ 00022096  0x00002961 rtn 
+ 00022097  0x00002967 call  0x0000564e 
+ 00022098  0x00002968 branch  0x00004a8b , 0x00000034 
+ 00022099  0x00002969 arg  0x00004229 , 0x00000006 
+ 00022100  0x0000296b ifetch  0x00000003 , 0x00000006 
+ 00022101  0x0000296c branch  0x00005654 , 0x00000034 
+ 00022102  0x0000296d increase  0xfffffffd , 0x00000006 
+ 00022103  0x0000296e rtn 
+ 00022104  0x00002976 bpatch  0x000000e2 , 0x0000401c 
+ 00022105  0x00002977 arg  0x00000004 , 0x00000039 
+ 00022106  0x00002978 arg  0x00004229 , 0x00000006 
+ 00022107  0x00002979 arg  0x00000000 , 0x00000002 
+ 00022108  0x0000297b ifetch  0x00000003 , 0x00000006 
+ 00022109  0x0000297c and  0x0000003f , 0x000000ff , 0x0000003f 
+ 00022110  0x0000297d ior  0x00000002 , 0x00000002 
+ 00022111  0x0000297e loop  0x0000565c 
+ 00022112  0x0000297f storet  0x00000001 , 0x00004228 
+ 00022113  0x00002980 rtn 
+ 00022114  0x00002989 bpatch  0x000000e3 , 0x0000401c 
+ 00022115  0x0000298a call  0x00005648 
+ 00022116  0x0000298b nbranch  0x00004a8b , 0x00000034 
+ 00022117  0x0000298c call  0x0000564e 
+ 00022118  0x0000298d branch  0x0000566f , 0x00000034 
+ 00022119  0x0000298e fetch  0x00000003 , 0x0000422c 
+ 00022120  0x0000298f store  0x00000003 , 0x00004229 
+ 00022121  0x00002990 ifetch  0x00000003 , 0x00000006 
+ 00022122  0x00002991 istore  0x00000003 , 0x00000005 
+ 00022123  0x00002992 ifetch  0x00000003 , 0x00000006 
+ 00022124  0x00002993 istore  0x00000003 , 0x00000005 
+ 00022125  0x00002994 setarg  0x00000000 
+ 00022126  0x00002995 istore  0x00000003 , 0x00000005 
+ 00022127  0x00002997 arg  0x00000000 , 0x00000002 
+ 00022128  0x00002998 copy  0x0000000b , 0x0000003f 
+ 00022129  0x00002999 iadd  0x00000007 , 0x0000003f 
+ 00022130  0x0000299b qset1  0x00000002 
+ 00022131  0x0000299c increase  0x00000001 , 0x00000007 
+ 00022132  0x0000299d isub  0x00000007 , 0x0000003e 
+ 00022133  0x0000299e nbranch  0x00005672 , 0x00000005 
+ 00022134  0x000029a0 lshift8  0x00000012 , 0x0000003f 
+ 00022135  0x000029a1 ior  0x00000002 , 0x0000003f 
+ 00022136  0x000029a2 store  0x00000003 , 0x00004232 
+ 00022137  0x000029a3 rtn 
+ 00022138  0x000029ae bpatch  0x000000e4 , 0x0000401c 
+ 00022139  0x000029af call  0x00005658 
+ 00022140  0x000029b0 copy  0x00000007 , 0x00000013 
+ 00022141  0x000029b1 arg  0x00000000 , 0x00000002 
+ 00022142  0x000029b2 arg  0x00000000 , 0x0000000b 
+ 00022143  0x000029b5 copy  0x00000007 , 0x0000003f 
+ 00022144  0x000029b6 beq  0x00000008 , 0x0000568a 
+ 00022145  0x000029b7 fetch  0x00000001 , 0x00004228 
+ 00022146  0x000029b8 qisolate1  0x0000003f 
+ 00022147  0x000029b9 branch  0x0000568a , 0x00000001 
+ 00022148  0x000029ba increase  0x00000080 , 0x00000002 
+ 00022149  0x000029bb increase  0x00000001 , 0x00000007 
+ 00022150  0x000029bc copy  0x00000011 , 0x0000003f 
+ 00022151  0x000029bd isub  0x00000002 , 0x0000003e 
+ 00022152  0x000029be branch  0x0000568a , 0x00000005 
+ 00022153  0x000029bf branch  0x0000567f , 0x00000002 
+ 00022154  0x000029c1 copy  0x00000002 , 0x0000003f 
+ 00022155  0x000029c2 isub  0x00000011 , 0x0000003e 
+ 00022156  0x000029c3 nbranch  0x00005690 , 0x00000002 
+ 00022157  0x000029c4 copy  0x00000007 , 0x0000003f 
+ 00022158  0x000029c5 copy  0x00000013 , 0x00000002 
+ 00022159  0x000029c6 isub  0x00000002 , 0x0000000b 
+ 00022160  0x000029c8 copy  0x00000013 , 0x00000007 
+ 00022161  0x000029c9 rtn 
+ 00022162  0x000029cd bpatch  0x000000e5 , 0x0000401c 
+ 00022163  0x000029ce arg  0x0000007f , 0x00000011 
+ 00022164  0x000029cf call  0x0000561a 
+ 00022165  0x000029d0 store  0x00000002 , 0x00000267 
+ 00022166  0x000029d1 increase  0x00000004 , 0x0000003f 
+ 00022167  0x000029d2 store  0x00000002 , 0x00000269 
+ 00022168  0x000029d3 setarg  0x00000000 
+ 00022169  0x000029d4 store  0x00000002 , 0x0000026b 
+ 00022170  0x000029d5 rtn 
+ 00022171  0x000029d8 fetch  0x00000002 , 0x00000267 
+ 00022172  0x000029d9 branch  0x000056bc 
+ 00022173  0x000029dc fetch  0x00000002 , 0x00000269 
+ 00022174  0x000029dd branch  0x000056bc 
+ 00022175  0x000029e1 bpatch  0x000000e6 , 0x0000401c 
+ 00022176  0x000029e2 arg  0x000000fa , 0x00000011 
+ 00022177  0x000029e3 call  0x0000561a 
+ 00022178  0x000029e4 store  0x00000002 , 0x0000026d 
+ 00022179  0x000029e5 increase  0x00000004 , 0x0000003f 
+ 00022180  0x000029e6 store  0x00000002 , 0x0000026f 
+ 00022181  0x000029e7 setarg  0x00000000 
+ 00022182  0x000029e8 store  0x00000002 , 0x00000271 
+ 00022183  0x000029e9 rtn 
+ 00022184  0x000029ec fetch  0x00000002 , 0x0000026d 
+ 00022185  0x000029ed branch  0x000056bc 
+ 00022186  0x000029f0 fetch  0x00000002 , 0x0000026f 
+ 00022187  0x000029f1 branch  0x000056bc 
+ 00022188  0x000029f5 bpatch  0x000000e7 , 0x0000401c 
+ 00022189  0x000029f6 call  0x00007c57 
+ 00022190  0x000029f7 jam  0x00000001 , 0x00000280 
+ 00022191  0x000029f8 call  0x00005648 
+ 00022192  0x000029f9 nrtn  0x00000034 
+ 00022193  0x000029fa arg  0x0000007f , 0x00000011 
+ 00022194  0x000029fb call  0x0000561a 
+ 00022195  0x000029fc store  0x00000002 , 0x00000273 
+ 00022196  0x000029fd increase  0x00000004 , 0x0000003f 
+ 00022197  0x000029fe store  0x00000002 , 0x00000275 
+ 00022198  0x000029ff setarg  0x00000000 
+ 00022199  0x00002a00 store  0x00000002 , 0x00000277 
+ 00022200  0x00002a01 jam  0x00000000 , 0x00000280 
+ 00022201  0x00002a02 branch  0x00007c67 
+ 00022202  0x00002a05 fetch  0x00000002 , 0x00000273 
+ 00022203  0x00002a06 branch  0x000056bc 
+ 00022204  0x00002a09 branch  0x00004a8b , 0x00000034 
+ 00022205  0x00002a0a copy  0x0000003f , 0x00000005 
+ 00022206  0x00002a0b rtn 
+ 00022207  0x00002a0f bpatch  0x000000e8 , 0x0000401d 
+ 00022208  0x00002a10 arg  0x00000000 , 0x00000012 
+ 00022209  0x00002a11 arg  0x00004229 , 0x00000011 
+ 00022210  0x00002a12 increase  0xfffffffe , 0x00000011 
+ 00022211  0x00002a14 increase  0x00000002 , 0x00000011 
+ 00022212  0x00002a15 setarg  0x00004235 
+ 00022213  0x00002a16 isub  0x00000011 , 0x0000003e 
+ 00022214  0x00002a17 branch  0x000056cf , 0x00000005 
+ 00022215  0x00002a18 ifetch  0x00000001 , 0x00000011 
+ 00022216  0x00002a19 increase  0x00000001 , 0x00000011 
+ 00022217  0x00002a1a branch  0x000056c3 , 0x00000034 
+ 00022218  0x00002a1b ifetcht  0x00000002 , 0x00000011 
+ 00022219  0x00002a1c ifetch  0x00000002 , 0x00000002 
+ 00022220  0x00002a1d iadd  0x00000012 , 0x00000012 
+ 00022221  0x00002a1e increase  0x00000004 , 0x00000012 
+ 00022222  0x00002a1f branch  0x000056c3 
+ 00022223  0x00002a21 copy  0x00000012 , 0x0000003f 
+ 00022224  0x00002a22 rtn 
+ 00022225  0x00002a26 arg  0x0000000c , 0x00000007 
+ 00022226  0x00002a27 branch  0x00004bec 
+ 00022227  0x00002a2a arg  0x0000000c , 0x00000007 
+ 00022228  0x00002a2b branch  0x00004bf0 
+ 00022229  0x00002a2e bpatch  0x000000e9 , 0x0000401d 
+ 00022230  0x00002a2f call  0x00005658 
+ 00022231  0x00002a30 fetch  0x00000001 , 0x00004228 
+ 00022232  0x00002a31 rtn  0x00000034 
+ 00022233  0x00002a32 call  0x000056bf 
+ 00022234  0x00002a33 arg  0x00000100 , 0x00000002 
+ 00022235  0x00002a34 isub  0x00000002 , 0x0000003e 
+ 00022236  0x00002a35 branch  0x000056d1 , 0x00000002 
+ 00022237  0x00002a36 call  0x000056d3 
+ 00022238  0x00002a37 arg  0x00004235 , 0x00000005 
+ 00022239  0x00002a38 arg  0x00004229 , 0x00000011 
+ 00022240  0x00002a3a setarg  0x00004235 
+ 00022241  0x00002a3b isub  0x00000011 , 0x0000003e 
+ 00022242  0x00002a3c rtn  0x00000005 
+ 00022243  0x00002a3d ifetch  0x00000001 , 0x00000011 
+ 00022244  0x00002a3e increase  0x00000001 , 0x00000011 
+ 00022245  0x00002a3f nbranch  0x000056e9 , 0x00000034 
+ 00022246  0x00002a40 istore  0x00000002 , 0x00000005 
+ 00022247  0x00002a41 increase  0x00000002 , 0x00000011 
+ 00022248  0x00002a42 branch  0x000056e0 
+ 00022249  0x00002a44 ifetch  0x00000002 , 0x00000011 
+ 00022250  0x00002a45 increase  0x00000002 , 0x00000011 
+ 00022251  0x00002a46 copy  0x0000003f , 0x00000006 
+ 00022252  0x00002a47 ifetch  0x00000002 , 0x00000006 
+ 00022253  0x00002a48 istore  0x00000002 , 0x00000005 
+ 00022254  0x00002a49 copy  0x0000003f , 0x00000039 
+ 00022255  0x00002a4a increase  0x00000002 , 0x00000039 
+ 00022256  0x00002a4b call  0x00007cdc 
+ 00022257  0x00002a4c branch  0x000056e0 
+ 00022258  0x00002a4f bpatch  0x000000ea , 0x0000401d 
+ 00022259  0x00002a50 call  0x00005658 
+ 00022260  0x00002a51 fetch  0x00000001 , 0x00004228 
+ 00022261  0x00002a52 rtn  0x00000034 
+ 00022262  0x00002a53 arg  0x0000422a , 0x00000011 
+ 00022263  0x00002a54 increase  0xfffffffd , 0x00000011 
+ 00022264  0x00002a55 arg  0x00004235 , 0x00000006 
+ 00022265  0x00002a57 increase  0x00000003 , 0x00000011 
+ 00022266  0x00002a58 setarg  0x00004236 
+ 00022267  0x00002a59 isub  0x00000011 , 0x0000003e 
+ 00022268  0x00002a5a rtn  0x00000005 
+ 00022269  0x00002a5b ifetch  0x00000002 , 0x00000006 
+ 00022270  0x00002a5c branch  0x000056f9 , 0x00000034 
+ 00022271  0x00002a5d increase  0x00000004 , 0x0000003f 
+ 00022272  0x00002a5e copy  0x0000003f , 0x00000039 
+ 00022273  0x00002a5f copy  0x00000006 , 0x00000012 
+ 00022274  0x00002a60 ifetch  0x00000002 , 0x00000011 
+ 00022275  0x00002a61 copy  0x0000003f , 0x00000005 
+ 00022276  0x00002a62 copy  0x00000012 , 0x00000006 
+ 00022277  0x00002a63 increase  0xfffffffe , 0x00000006 
+ 00022278  0x00002a64 call  0x00007cdc 
+ 00022279  0x00002a65 branch  0x000056f9 
+ 00022280  0x00002a70 bpatch  0x000000eb , 0x0000401d 
+ 00022281  0x00002a71 disable  0x0000002b 
+ 00022282  0x00002a72 jam  0x00000001 , 0x00000451 
+ 00022283  0x00002a73 jam  0x00000003 , 0x0000043b 
+ 00022284  0x00002a74 jam  0x00000001 , 0x00000452 
+ 00022285  0x00002a75 setarg  0xffffffff 
+ 00022286  0x00002a76 store  0x00000002 , 0x00000455 
+ 00022287  0x00002a77 force  0x00000000 , 0x0000003f 
+ 00022288  0x00002a78 store  0x00000001 , 0x00000453 
+ 00022289  0x00002a79 store  0x00000001 , 0x0000045e 
+ 00022290  0x00002a7a store  0x00000003 , 0x0000416a 
+ 00022291  0x00002a7b store  0x00000003 , 0x0000416d 
+ 00022292  0x00002a7c store  0x00000005 , 0x000043d5 
+ 00022293  0x00002a7d set1  0x00000027 , 0x0000003f 
+ 00022294  0x00002a7e store  0x00000005 , 0x000043da 
+ 00022295  0x00002a7f jam  0x00000001 , 0x000043ae 
+ 00022296  0x00002a80 jam  0x00000000 , 0x000043af 
+ 00022297  0x00002a81 branch  0x00005ac9 
+ 00022298  0x00002a84 bpatch  0x000000ec , 0x0000401d 
+ 00022299  0x00002a85 enable  0x00000029 
+ 00022300  0x00002a86 jam  0x00000003 , 0x0000043c 
+ 00022301  0x00002a87 jam  0x00000001 , 0x00000474 
+ 00022302  0x00002a88 jam  0x00000001 , 0x0000442c 
+ 00022303  0x00002a89 setarg  0x0000ffff 
+ 00022304  0x00002a8a store  0x00000002 , 0x0000442e 
+ 00022305  0x00002a8b force  0x00000000 , 0x0000003f 
+ 00022306  0x00002a8c store  0x00000005 , 0x000043da 
+ 00022307  0x00002a8d set1  0x00000027 , 0x0000003f 
+ 00022308  0x00002a8e store  0x00000005 , 0x000043d5 
+ 00022309  0x00002a8f branch  0x00005708 
+ 00022310  0x00002a93 bpatch  0x000000ed , 0x0000401d 
+ 00022311  0x00002a94 disable  0x00000029 
+ 00022312  0x00002a95 setarg  0x00000017 
+ 00022313  0x00002a96 store  0x00000002 , 0x0000447a 
+ 00022314  0x00002a97 jam  0x00000001 , 0x0000043c 
+ 00022315  0x00002a98 jam  0x00000000 , 0x00004340 
+ 00022316  0x00002a99 jam  0x00000000 , 0x000000a0 
+ 00022317  0x00002a9a jam  0x00000000 , 0x00004496 
+ 00022318  0x00002a9b jam  0x00000000 , 0x00004497 
+ 00022319  0x00002a9c fetch  0x00000002 , 0x00000469 
+ 00022320  0x00002a9d store  0x00000002 , 0x0000448c 
+ 00022321  0x00002a9e fetch  0x00000002 , 0x0000043d 
+ 00022322  0x00002a9f mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00022323  0x00002aa0 rshift4  0x0000003f , 0x0000003f 
+ 00022324  0x00002aa1 store  0x00000002 , 0x00000469 
+ 00022325  0x00002aa2 branch  0x00005708 
+ 00022326  0x00002aa9 call  0x0000579e 
+ 00022327  0x00002aaa call  0x000059c2 
+ 00022328  0x00002aab call  0x00005acc 
+ 00022329  0x00002aac branch  0x000057a8 
+ 00022330  0x00002aaf bpatch  0x000000ee , 0x0000401d 
+ 00022331  0x00002ab0 call  0x0000579e 
+ 00022332  0x00002ab1 call  0x00004c8d 
+ 00022333  0x00002ab2 fetch  0x00000001 , 0x0000043c 
+ 00022334  0x00002ab3 beq  0x00000003 , 0x00005740 
+ 00022335  0x00002ab4 branch  0x00005754 
+ 00022336  0x00002abb bpatch  0x000000ef , 0x0000401d 
+ 00022337  0x00002abc enable  0x00000029 
+ 00022338  0x00002abd call  0x00005ac0 
+ 00022339  0x00002abe branch  0x00005751 , 0x00000002 
+ 00022340  0x00002abf call  0x00004c27 
+ 00022341  0x00002ac0 call  0x000057ed 
+ 00022342  0x00002ac1 call  0x000059f8 
+ 00022343  0x00002ac2 disable  0x0000002d 
+ 00022344  0x00002ac3 call  0x00005899 
+ 00022345  0x00002ac4 nrtn  0x0000002d 
+ 00022346  0x00002ac5 bpatch  0x000000f0 , 0x0000401e 
+ 00022347  0x00002ac6 fetch  0x00000001 , 0x00000005 
+ 00022348  0x00002ac7 increase  0x00000001 , 0x0000003f 
+ 00022349  0x00002ac8 store  0x00000001 , 0x00000005 
+ 00022350  0x00002ac9 call  0x00005984 
+ 00022351  0x00002aca disable  0x00000029 
+ 00022352  0x00002acb rtn 
+ 00022353  0x00002ace call  0x00005783 
+ 00022354  0x00002acf disable  0x00000029 
+ 00022355  0x00002ad0 rtn 
+ 00022356  0x00002ad6 bpatch  0x000000f1 , 0x0000401e 
+ 00022357  0x00002ad7 jam  0x00000000 , 0x000044e1 
+ 00022358  0x00002ad8 call  0x00007964 
+ 00022359  0x00002ad9 call  0x00005ff8 
+ 00022360  0x00002ada disable  0x0000002e 
+ 00022361  0x00002adb call  0x00005ac0 
+ 00022362  0x00002adc branch  0x00005783 , 0x00000002 
+ 00022363  0x00002add call  0x00004c27 
+ 00022364  0x00002ade call  0x000057ed 
+ 00022365  0x00002adf call  0x00005863 
+ 00022366  0x00002ae0 nbranch  0x00005775 , 0x00000018 
+ 00022367  0x00002ae1 call  0x00005791 
+ 00022368  0x00002ae2 branch  0x00005762 , 0x0000002d 
+ 00022369  0x00002ae3 branch  0x0000576f 
+ 00022370  0x00002ae7 bpatch  0x000000f2 , 0x0000401e 
+ 00022371  0x00002ae8 fetch  0x00000001 , 0x000044e1 
+ 00022372  0x00002ae9 pincrease  0x00000001 
+ 00022373  0x00002aea store  0x00000001 , 0x000044e1 
+ 00022374  0x00002aeb beq  0x0000000c , 0x0000576f 
+ 00022375  0x00002aec call  0x00005984 
+ 00022376  0x00002aed call  0x000059f8 
+ 00022377  0x00002aee call  0x000058a1 
+ 00022378  0x00002aef call  0x00005a58 
+ 00022379  0x00002af0 fetch  0x00000002 , 0x000041fc 
+ 00022380  0x00002af1 call  0x00007d77 
+ 00022381  0x00002af2 call  0x0000577a 
+ 00022382  0x00002af3 branch  0x0000577e , 0x00000028 
+ 00022383  0x00002af5 bpatch  0x000000f3 , 0x0000401e 
+ 00022384  0x00002af6 call  0x00005fc4 
+ 00022385  0x00002af7 call  0x00005fbb 
+ 00022386  0x00002af8 call  0x00007bc1 
+ 00022387  0x00002af9 fetch  0x00000001 , 0x0000045e 
+ 00022388  0x00002afa bbit1  0x00000003 , 0x00005783 
+ 00022389  0x00002afc bpatch  0x000000f4 , 0x0000401e 
+ 00022390  0x00002afd call  0x00005bd4 
+ 00022391  0x00002afe call  0x00005977 
+ 00022392  0x00002aff call  0x0000594f 
+ 00022393  0x00002b00 branch  0x0000483d 
+ 00022394  0x00002b04 disable  0x00000028 
+ 00022395  0x00002b05 bmark1  0x0000002a , 0x00007dbf 
+ 00022396  0x00002b06 bmark1  0x00000029 , 0x00007dbf 
+ 00022397  0x00002b07 rtn 
+ 00022398  0x00002b0b bpatch  0x000000f5 , 0x0000401e 
+ 00022399  0x00002b0c enable  0x0000002e 
+ 00022400  0x00002b0d call  0x0000589b 
+ 00022401  0x00002b0e branch  0x00005762 , 0x0000002d 
+ 00022402  0x00002b0f branch  0x0000576f 
+ 00022403  0x00002b15 bpatch  0x000000f6 , 0x0000401e 
+ 00022404  0x00002b16 call  0x00005789 
+ 00022405  0x00002b17 call  0x00004d3f 
+ 00022406  0x00002b18 call  0x0000792c 
+ 00022407  0x00002b19 jam  0x00000015 , 0x00000a95 
+ 00022408  0x00002b1a branch  0x00007bab 
+ 00022409  0x00002b1d setarg  0x00000000 
+ 00022410  0x00002b1e store  0x00000009 , 0x000044d1 
+ 00022411  0x00002b1f jam  0x00000000 , 0x00000451 
+ 00022412  0x00002b20 jam  0x00000000 , 0x0000043c 
+ 00022413  0x00002b21 jam  0x00000000 , 0x0000043b 
+ 00022414  0x00002b22 jam  0x00000000 , 0x00004497 
+ 00022415  0x00002b23 jam  0x00000000 , 0x00004496 
+ 00022416  0x00002b24 rtn 
+ 00022417  0x00002b27 bpatch  0x000000f7 , 0x0000401e 
+ 00022418  0x00002b28 fetch  0x00000001 , 0x00000005 
+ 00022419  0x00002b29 increase  0x00000001 , 0x0000003f 
+ 00022420  0x00002b2a store  0x00000001 , 0x00000005 
+ 00022421  0x00002b2b fetch  0x00000001 , 0x0000043b 
+ 00022422  0x00002b2c rtnbit1  0x00000003 
+ 00022423  0x00002b2d set1  0x00000003 
+ 00022424  0x00002b2e store  0x00000001 , 0x0000043b 
+ 00022425  0x00002b2f fetch  0x00000002 , 0x0000448c 
+ 00022426  0x00002b30 store  0x00000002 , 0x00000469 
+ 00022427  0x00002b31 setarg  0x00000000 
+ 00022428  0x00002b32 store  0x00000004 , 0x000044b7 
+ 00022429  0x00002b33 rtn 
+ 00022430  0x00002b37 bpatch  0x000000f8 , 0x0000401f 
+ 00022431  0x00002b38 hjam  0x00000036 , 0x0000090f 
+ 00022432  0x00002b39 hjam  0x0000005f , 0x0000090b 
+ 00022433  0x00002b3a enable  0x00000036 
+ 00022434  0x00002b3b hjam  0x00000007 , 0x00008914 
+ 00022435  0x00002b3c call  0x00004c27 
+ 00022436  0x00002b3d fetch  0x00000001 , 0x000041e1 
+ 00022437  0x00002b3e rtn  0x00000034 
+ 00022438  0x00002b3f hjam  0x000000b8 , 0x0000090a 
+ 00022439  0x00002b40 rtn 
+ 00022440  0x00002b43 bpatch  0x000000f9 , 0x0000401f 
+ 00022441  0x00002b44 hjam  0x0000002e , 0x0000090f 
+ 00022442  0x00002b45 hjam  0x000000ff , 0x0000090b 
+ 00022443  0x00002b46 disable  0x00000036 
+ 00022444  0x00002b47 hjam  0x00000003 , 0x00008914 
+ 00022445  0x00002b48 arg  0x00000000 , 0x0000001b 
+ 00022446  0x00002b49 rtn 
+ 00022447  0x00002b4c disable  0x00000009 
+ 00022448  0x00002b4d disable  0x00000007 
+ 00022449  0x00002b4e fetch  0x00000003 , 0x00000463 
+ 00022450  0x00002b4f iforce  0x0000000f 
+ 00022451  0x00002b50 fetch  0x00000001 , 0x00000016 
+ 00022452  0x00002b51 reverse  0x0000003f , 0x00000002 
+ 00022453  0x00002b52 set1  0x00000001 , 0x00000002 
+ 00022454  0x00002b53 rshift  0x00000002 , 0x0000000e 
+ 00022455  0x00002b54 rtn 
+ 00022456  0x00002b58 call  0x000057c0 
+ 00022457  0x00002b59 call  0x0000491c 
+ 00022458  0x00002b5a setarg  0x00000500 
+ 00022459  0x00002b5b call  0x00004a8e 
+ 00022460  0x00002b5c branch  0x00004921 
+ 00022461  0x00002b5f branch  0x00004936 , 0x0000002d 
+ 00022462  0x00002b61 call  0x000057c0 
+ 00022463  0x00002b62 branch  0x00004930 
+ 00022464  0x00002b64 bpatch  0x000000fa , 0x0000401f 
+ 00022465  0x00002b65 call  0x00004915 
+ 00022466  0x00002b66 fetch  0x00000001 , 0x00000488 
+ 00022467  0x00002b67 nbranch  0x000057d3 , 0x00000034 
+ 00022468  0x00002b68 fetch  0x00000001 , 0x00000016 
+ 00022469  0x00002b69 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00022470  0x00002b6a branch  0x000057cd , 0x00000002 
+ 00022471  0x00002b6b force  0x00000000 , 0x00000002 
+ 00022472  0x00002b6c rtneq  0x00000025 
+ 00022473  0x00002b6d force  0x00000018 , 0x00000002 
+ 00022474  0x00002b6e rtneq  0x00000026 
+ 00022475  0x00002b6f force  0x0000004e , 0x00000002 
+ 00022476  0x00002b70 rtn 
+ 00022477  0x00002b73 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00022478  0x00002b74 branch  0x000057d0 , 0x00000002 
+ 00022479  0x00002b75 increase  0x00000001 , 0x0000003f 
+ 00022480  0x00002b78 lshift  0x0000003f , 0x0000003f 
+ 00022481  0x00002b79 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00022482  0x00002b7a rtn 
+ 00022483  0x00002b7d fetch  0x00000001 , 0x00000016 
+ 00022484  0x00002b7e lshift  0x0000003f , 0x00000002 
+ 00022485  0x00002b7f rtn 
+ 00022486  0x00002b82 arg  0x000001f4 , 0x00000002 
+ 00022487  0x00002b83 rtn  0x00000034 
+ 00022488  0x00002b84 arg  0x000000fa , 0x00000002 
+ 00022489  0x00002b85 rtneq  0x00000001 
+ 00022490  0x00002b86 arg  0x00000096 , 0x00000002 
+ 00022491  0x00002b87 rtneq  0x00000002 
+ 00022492  0x00002b88 arg  0x00000064 , 0x00000002 
+ 00022493  0x00002b89 rtneq  0x00000003 
+ 00022494  0x00002b8a arg  0x0000004b , 0x00000002 
+ 00022495  0x00002b8b rtneq  0x00000004 
+ 00022496  0x00002b8c arg  0x00000032 , 0x00000002 
+ 00022497  0x00002b8d rtneq  0x00000005 
+ 00022498  0x00002b8e arg  0x00000028 , 0x00000002 
+ 00022499  0x00002b8f rtneq  0x00000006 
+ 00022500  0x00002b90 arg  0x00000014 , 0x00000002 
+ 00022501  0x00002b91 rtn 
+ 00022502  0x00002b96 setarg  0x008e89be 
+ 00022503  0x00002b97 lshift8  0x0000003f , 0x0000003f 
+ 00022504  0x00002b98 or_into  0x000000d6 , 0x0000003f 
+ 00022505  0x00002b99 iforce  0x00000009 
+ 00022506  0x00002b9a setarg  0x00555555 
+ 00022507  0x00002b9b store  0x00000003 , 0x00000463 
+ 00022508  0x00002b9c rtn 
+ 00022509  0x00002b9f bpatch  0x000000fb , 0x0000401f 
+ 00022510  0x00002ba0 enable  0x00000010 
+ 00022511  0x00002ba1 fetch  0x00000004 , 0x0000045f 
+ 00022512  0x00002ba2 iforce  0x00000009 
+ 00022513  0x00002ba3 call  0x00005840 
+ 00022514  0x00002ba4 setarg  0x00000200 
+ 00022515  0x00002ba5 branch  0x000057f6 , 0x00000029 
+ 00022516  0x00002ba6 fetch  0x00000002 , 0x00000449 
+ 00022517  0x00002ba7 rshift  0x0000003f , 0x0000003f 
+ 00022518  0x00002ba9 arg  0x00000500 , 0x00000002 
+ 00022519  0x00002baa iadd  0x00000002 , 0x0000003f 
+ 00022520  0x00002bab call  0x00004a23 
+ 00022521  0x00002bac deposit  0x0000001a 
+ 00022522  0x00002bad store  0x00000006 , 0x0000048d 
+ 00022523  0x00002bae rtn 
+ 00022524  0x00002bb1 bpatch  0x000000fc , 0x0000401f 
+ 00022525  0x00002bb2 fetch  0x00000001 , 0x00000016 
+ 00022526  0x00002bb3 beq  0x00000025 , 0x00005802 
+ 00022527  0x00002bb4 beq  0x00000026 , 0x00005808 
+ 00022528  0x00002bb5 beq  0x00000027 , 0x0000580e 
+ 00022529  0x00002bb6 branch  0x0000580e 
+ 00022530  0x00002bb9 fetcht  0x00000001 , 0x0000445f 
+ 00022531  0x00002bba isolate1  0x00000001 , 0x00000002 
+ 00022532  0x00002bbb branch  0x00005819 , 0x00000001 
+ 00022533  0x00002bbc isolate1  0x00000002 , 0x00000002 
+ 00022534  0x00002bbd branch  0x0000581e , 0x00000001 
+ 00022535  0x00002bbe branch  0x00005814 
+ 00022536  0x00002bc2 fetcht  0x00000001 , 0x0000445f 
+ 00022537  0x00002bc3 isolate1  0x00000002 , 0x00000002 
+ 00022538  0x00002bc4 branch  0x0000581e , 0x00000001 
+ 00022539  0x00002bc5 isolate1  0x00000000 , 0x00000002 
+ 00022540  0x00002bc6 branch  0x00005814 , 0x00000001 
+ 00022541  0x00002bc7 branch  0x00005819 
+ 00022542  0x00002bcb fetcht  0x00000001 , 0x0000445f 
+ 00022543  0x00002bcc isolate1  0x00000000 , 0x00000002 
+ 00022544  0x00002bcd branch  0x00005814 , 0x00000001 
+ 00022545  0x00002bce isolate1  0x00000001 , 0x00000002 
+ 00022546  0x00002bcf branch  0x00005819 , 0x00000001 
+ 00022547  0x00002bd0 branch  0x0000581e 
+ 00022548  0x00002bd5 jam  0x00000025 , 0x00000016 
+ 00022549  0x00002bd6 fetch  0x00000001 , 0x00000abe 
+ 00022550  0x00002bd7 set1  0x00000000 , 0x0000003f 
+ 00022551  0x00002bd8 store  0x00000001 , 0x00000abe 
+ 00022552  0x00002bd9 rtn 
+ 00022553  0x00002bdc jam  0x00000026 , 0x00000016 
+ 00022554  0x00002bdd fetch  0x00000001 , 0x00000abe 
+ 00022555  0x00002bde set1  0x00000001 , 0x0000003f 
+ 00022556  0x00002bdf store  0x00000001 , 0x00000abe 
+ 00022557  0x00002be0 rtn 
+ 00022558  0x00002be3 jam  0x00000027 , 0x00000016 
+ 00022559  0x00002be4 fetch  0x00000001 , 0x00000abe 
+ 00022560  0x00002be5 set1  0x00000002 , 0x0000003f 
+ 00022561  0x00002be6 store  0x00000001 , 0x00000abe 
+ 00022562  0x00002be7 rtn 
+ 00022563  0x00002bec bpatch  0x000000fd , 0x0000401f 
+ 00022564  0x00002bed add  0x00000011 , 0x00000001 , 0x00000006 
+ 00022565  0x00002bee ifetch  0x00000001 , 0x00000006 
+ 00022566  0x00002bef rtnbit0  0x00000000 
+ 00022567  0x00002bf0 add  0x00000011 , 0x0000001a , 0x00000005 
+ 00022568  0x00002bf1 ifetch  0x00000002 , 0x00000005 
+ 00022569  0x00002bf2 increase  0x00000001 , 0x0000003f 
+ 00022570  0x00002bf3 istore  0x00000002 , 0x00000005 
+ 00022571  0x00002bf4 add  0x00000011 , 0x00000019 , 0x00000006 
+ 00022572  0x00002bf5 ifetch  0x00000001 , 0x00000006 
+ 00022573  0x00002bf6 add  0x00000011 , 0x00000018 , 0x00000005 
+ 00022574  0x00002bf7 ifetcht  0x00000001 , 0x00000005 
+ 00022575  0x00002bf8 iadd  0x00000002 , 0x0000003f 
+ 00022576  0x00002bf9 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00022577  0x00002bfa branch  0x00005833 , 0x00000002 
+ 00022578  0x00002bfb increase  0xffffffdb , 0x0000003f 
+ 00022579  0x00002bfd istore  0x00000001 , 0x00000005 
+ 00022580  0x00002bfe rtn 
+ 00022581  0x00002c02 bpatch  0x000000fe , 0x0000401f 
+ 00022582  0x00002c03 fetch  0x00000005 , 0x0000046b 
+ 00022583  0x00002c04 force  0x00000000 , 0x00000002 
+ 00022584  0x00002c05 force  0x00000025 , 0x00000039 
+ 00022585  0x00002c07 bbit0  0x00000000 , 0x0000583b 
+ 00022586  0x00002c08 increase  0x00000001 , 0x00000002 
+ 00022587  0x00002c0a rshift  0x0000003f , 0x0000003f 
+ 00022588  0x00002c0b loop  0x00005839 
+ 00022589  0x00002c0c add  0x00000002 , 0xffffffff , 0x0000003f 
+ 00022590  0x00002c0d store  0x00000001 , 0x0000045d 
+ 00022591  0x00002c0e rtn 
+ 00022592  0x00002c11 bpatch  0x000000ff , 0x0000401f 
+ 00022593  0x00002c12 fetch  0x00000001 , 0x00000453 
+ 00022594  0x00002c13 iforce  0x00000007 
+ 00022595  0x00002c14 fetcht  0x00000005 , 0x0000046b 
+ 00022596  0x00002c15 qisolate1  0x00000002 
+ 00022597  0x00002c16 branch  0x00005856 , 0x00000001 
+ 00022598  0x00002c18 bpatchx  0x00000000 , 0x00004020 
+ 00022599  0x00002c19 fetch  0x00000001 , 0x0000045d 
+ 00022600  0x00002c1a isub  0x00000007 , 0x0000003f 
+ 00022601  0x00002c1b branch  0x0000584c , 0x00000002 
+ 00022602  0x00002c1c sub  0x0000003f , 0xffffffff , 0x00000007 
+ 00022603  0x00002c1d branch  0x00005846 
+ 00022604  0x00002c1f copy  0x00000007 , 0x00000039 
+ 00022605  0x00002c20 force  0x00000000 , 0x00000007 
+ 00022606  0x00002c22 qisolate1  0x00000002 
+ 00022607  0x00002c23 branch  0x00005851 , 0x00000001 
+ 00022608  0x00002c24 increase  0x00000001 , 0x00000039 
+ 00022609  0x00002c26 deposit  0x00000039 
+ 00022610  0x00002c27 branch  0x00005856 , 0x00000034 
+ 00022611  0x00002c28 increase  0x00000001 , 0x00000007 
+ 00022612  0x00002c29 increase  0xffffffff , 0x00000039 
+ 00022613  0x00002c2a branch  0x0000584e 
+ 00022614  0x00002c2c deposit  0x00000007 
+ 00022615  0x00002c2d store  0x00000001 , 0x00000016 
+ 00022616  0x00002c2e rtn 
+ 00022617  0x00002c32 branch  0x0000585c , 0x00000029 
+ 00022618  0x00002c33 until  0x0000003e , 0x00000003 
+ 00022619  0x00002c34 rtn 
+ 00022620  0x00002c37 arg  0x00000ea0 , 0x0000000b 
+ 00022621  0x00002c38 until  0x00000023 , 0x00000026 
+ 00022622  0x00002c39 rtn 
+ 00022623  0x00002c3c disable  0x00000010 
+ 00022624  0x00002c3d fetch  0x00000002 , 0x0000433e 
+ 00022625  0x00002c3e copy  0x0000003f , 0x0000000b 
+ 00022626  0x00002c3f branch  0x00005868 
+ 00022627  0x00002c43 bpatchx  0x00000001 , 0x00004020 
+ 00022628  0x00002c44 enable  0x00000010 
+ 00022629  0x00002c45 fetch  0x00000002 , 0x00000449 
+ 00022630  0x00002c46 fetcht  0x00000004 , 0x000044b7 
+ 00022631  0x00002c47 iadd  0x00000002 , 0x0000000b 
+ 00022632  0x00002c49 call  0x000057b8 
+ 00022633  0x00002c4b bpatchx  0x00000002 , 0x00004020 
+ 00022634  0x00002c4c call  0x000057af 
+ 00022635  0x00002c4d disable  0x0000002d 
+ 00022636  0x00002c4e enable  0x0000000d 
+ 00022637  0x00002c4f enable  0x00000021 
+ 00022638  0x00002c50 disable  0x00000020 
+ 00022639  0x00002c51 copy  0x0000000b , 0x0000001b 
+ 00022640  0x00002c52 correlate  0x0000003e , 0x00000003 
+ 00022641  0x00002c53 branch  0x00005874 , 0x0000002e 
+ 00022642  0x00002c54 copy  0x0000001a , 0x00000002 
+ 00022643  0x00002c55 storet  0x00000006 , 0x0000009a 
+ 00022644  0x00002c57 nbranch  0x00004649 , 0x00000018 
+ 00022645  0x00002c58 branch  0x0000587b , 0x0000002e 
+ 00022646  0x00002c59 arg  0x000001e0 , 0x00000029 
+ 00022647  0x00002c5a copy  0x00000021 , 0x00000028 
+ 00022648  0x00002c5b fetch  0x00000001 , 0x0000043b 
+ 00022649  0x00002c5c bbit0  0x00000003 , 0x0000587b 
+ 00022650  0x00002c5d call  0x00004ae6 , 0x0000002b 
+ 00022651  0x00002c5f bpatchx  0x00000003 , 0x00004020 
+ 00022652  0x00002c60 call  0x000049ba 
+ 00022653  0x00002c61 enable  0x00000007 
+ 00022654  0x00002c62 enable  0x00000009 
+ 00022655  0x00002c63 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00022656  0x00002c64 rshift3  0x0000000c , 0x0000003f 
+ 00022657  0x00002c65 store  0x00000001 , 0x000002d5 
+ 00022658  0x00002c66 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00022659  0x00002c67 rshift3  0x0000000c , 0x0000003f 
+ 00022660  0x00002c68 istore  0x00000001 , 0x00000005 
+ 00022661  0x00002c69 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00022662  0x00002c6a branch  0x0000588b , 0x00000005 
+ 00022663  0x00002c6d parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00022664  0x00002c6e rshift3  0x0000000c , 0x0000003f 
+ 00022665  0x00002c6f istore  0x00000001 , 0x00000005 
+ 00022666  0x00002c70 loop  0x00005887 
+ 00022667  0x00002c73 bpatchx  0x00000004 , 0x00004020 
+ 00022668  0x00002c74 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00022669  0x00002c75 enable  0x00000010 
+ 00022670  0x00002c76 arg  0x00000664 , 0x0000001b 
+ 00022671  0x00002c77 rshift32  0x0000003f , 0x0000003f 
+ 00022672  0x00002c78 rshift16  0x0000003f , 0x0000003f 
+ 00022673  0x00002c79 istore  0x00000003 , 0x00000005 
+ 00022674  0x00002c7a branch  0x00004649 , 0x00000006 
+ 00022675  0x00002c7b enable  0x0000002d 
+ 00022676  0x00002c7c fetch  0x00000001 , 0x00000017 
+ 00022677  0x00002c7d add  0x0000003f , 0x00000000 , 0x00000011 
+ 00022678  0x00002c7e call  0x00004980 
+ 00022679  0x00002c7f disable  0x0000000d 
+ 00022680  0x00002c80 branch  0x00004915 
+ 00022681  0x00002c83 bpatchx  0x00000005 , 0x00004020 
+ 00022682  0x00002c84 call  0x000058a3 
+ 00022683  0x00002c86 fetcht  0x00000001 , 0x00000017 
+ 00022684  0x00002c87 call  0x0000491c 
+ 00022685  0x00002c88 call  0x00004921 
+ 00022686  0x00002c89 enable  0x00000010 
+ 00022687  0x00002c8a arg  0x0000157c , 0x0000000b 
+ 00022688  0x00002c8b branch  0x00005869 
+ 00022689  0x00002c8e call  0x000058a3 
+ 00022690  0x00002c8f branch  0x00004649 
+ 00022691  0x00002c92 bpatchx  0x00000006 , 0x00004020 
+ 00022692  0x00002c93 call  0x000057af 
+ 00022693  0x00002c94 call  0x000057bd 
+ 00022694  0x00002c95 branch  0x000058a7 
+ 00022695  0x00002c98 set1  0x00000000 , 0x00000015 
+ 00022696  0x00002c99 enable  0x0000001d 
+ 00022697  0x00002c9a enable  0x00000020 
+ 00022698  0x00002c9b disable  0x00000021 
+ 00022699  0x00002c9c call  0x00005859 
+ 00022700  0x00002c9d rshift16  0x00000009 , 0x0000003f 
+ 00022701  0x00002c9e rshift8  0x0000003f , 0x0000003f 
+ 00022702  0x00002c9f rshift4  0x0000003f , 0x0000003f 
+ 00022703  0x00002ca0 inject  0x00000003 , 0x00000028 
+ 00022704  0x00002ca1 enable  0x00000007 
+ 00022705  0x00002ca2 enable  0x00000009 
+ 00022706  0x00002ca3 bpatchx  0x00000007 , 0x00004020 
+ 00022707  0x00002ca4 fetch  0x00000001 , 0x000043ae 
+ 00022708  0x00002ca5 inject  0x00000003 , 0x00000008 
+ 00022709  0x00002ca6 ifetch  0x00000001 , 0x00000006 
+ 00022710  0x00002ca7 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00022711  0x00002ca8 inject  0x00000003 , 0x00000008 
+ 00022712  0x00002ca9 branch  0x000058bc , 0x00000005 
+ 00022713  0x00002cab ifetch  0x00000001 , 0x00000006 
+ 00022714  0x00002cac inject  0x00000003 , 0x00000008 
+ 00022715  0x00002cad loop  0x000058b9 
+ 00022716  0x00002cb0 enable  0x00000008 
+ 00022717  0x00002cb1 inject  0x00000003 , 0x00000018 
+ 00022718  0x00002cb2 disable  0x00000008 
+ 00022719  0x00002cb3 until  0x0000003e , 0x00000027 
+ 00022720  0x00002cb4 nop  0x00000064 
+ 00022721  0x00002cb5 disable  0x0000001d 
+ 00022722  0x00002cb6 rtn 
+ 00022723  0x00002cb9 bpatchx  0x00000008 , 0x00004021 
+ 00022724  0x00002cba fetch  0x00000001 , 0x00004456 
+ 00022725  0x00002cbb beq  0x00000001 , 0x000058d3 
+ 00022726  0x00002cbc fetch  0x00000001 , 0x00004457 
+ 00022727  0x00002cbd lshift4  0x0000003f , 0x0000003f 
+ 00022728  0x00002cbe lshift2  0x0000003f , 0x0000003f 
+ 00022729  0x00002cbf store  0x00000001 , 0x000043ae 
+ 00022730  0x00002cc0 fetcht  0x00000001 , 0x00004341 
+ 00022731  0x00002cc1 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00022732  0x00002cc2 store  0x00000001 , 0x000043af 
+ 00022733  0x00002cc3 fetch  0x00000006 , 0x00004472 
+ 00022734  0x00002cc4 store  0x00000006 , 0x000043b0 
+ 00022735  0x00002cc5 copy  0x00000002 , 0x00000039 
+ 00022736  0x00002cc6 arg  0x00004342 , 0x00000006 
+ 00022737  0x00002cc7 call  0x00007ccf 
+ 00022738  0x00002cc8 branch  0x000058de 
+ 00022739  0x00002cca fetch  0x00000001 , 0x00004458 
+ 00022740  0x00002ccb lshift4  0x0000003f , 0x0000003f 
+ 00022741  0x00002ccc lshift2  0x0000003f , 0x0000003f 
+ 00022742  0x00002ccd increase  0x00000001 , 0x0000003f 
+ 00022743  0x00002cce store  0x00000001 , 0x000043ae 
+ 00022744  0x00002ccf setarg  0x0000000c 
+ 00022745  0x00002cd0 store  0x00000001 , 0x000043af 
+ 00022746  0x00002cd1 fetch  0x00000006 , 0x00004472 
+ 00022747  0x00002cd2 store  0x00000006 , 0x000043b0 
+ 00022748  0x00002cd3 fetch  0x00000006 , 0x000041d1 
+ 00022749  0x00002cd4 istore  0x00000006 , 0x00000005 
+ 00022750  0x00002cd6 bpatchx  0x00000009 , 0x00004021 
+ 00022751  0x00002cd7 fetch  0x00000001 , 0x00000000 
+ 00022752  0x00002cd8 increase  0x00000001 , 0x0000003f 
+ 00022753  0x00002cd9 store  0x00000001 , 0x00000000 
+ 00022754  0x00002cda arg  0x00000708 , 0x0000001b 
+ 00022755  0x00002cdb disable  0x0000002d 
+ 00022756  0x00002cdc branch  0x00005899 
+ 00022757  0x00002cdf bpatchx  0x0000000a , 0x00004021 
+ 00022758  0x00002ce0 fetch  0x00000001 , 0x00004470 
+ 00022759  0x00002ce1 rtnne  0x00000001 
+ 00022760  0x00002ce2 fetch  0x00000001 , 0x00000000 
+ 00022761  0x00002ce3 increase  0x00000001 , 0x0000003f 
+ 00022762  0x00002ce4 store  0x00000001 , 0x00000000 
+ 00022763  0x00002ce5 arg  0x00000c03 , 0x00000002 
+ 00022764  0x00002ce6 fetch  0x00000001 , 0x00004471 
+ 00022765  0x00002ce7 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00022766  0x00002ce8 copy  0x00000011 , 0x0000003f 
+ 00022767  0x00002ce9 nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00022768  0x00002cea storet  0x00000002 , 0x000043ae 
+ 00022769  0x00002ceb fetch  0x00000006 , 0x00004472 
+ 00022770  0x00002cec istore  0x00000006 , 0x00000005 
+ 00022771  0x00002ced fetch  0x00000006 , 0x0000044b 
+ 00022772  0x00002cee istore  0x00000006 , 0x00000005 
+ 00022773  0x00002cef branch  0x00005899 
+ 00022774  0x00002cf3 bpatchx  0x0000000b , 0x00004021 
+ 00022775  0x00002cf4 arg  0x00000004 , 0x00000002 
+ 00022776  0x00002cf5 fetch  0x00000001 , 0x00004457 
+ 00022777  0x00002cf6 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00022778  0x00002cf7 storet  0x00000001 , 0x000043ae 
+ 00022779  0x00002cf8 fetcht  0x00000001 , 0x00004361 
+ 00022780  0x00002cf9 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00022781  0x00002cfa store  0x00000001 , 0x000043af 
+ 00022782  0x00002cfb fetch  0x00000006 , 0x00004472 
+ 00022783  0x00002cfc store  0x00000006 , 0x000043b0 
+ 00022784  0x00002cfd arg  0x00004362 , 0x00000006 
+ 00022785  0x00002cfe copy  0x00000002 , 0x00000039 
+ 00022786  0x00002cff call  0x00007ccf 
+ 00022787  0x00002d00 call  0x000058a1 
+ 00022788  0x00002d01 branch  0x00005ae2 
+ 00022789  0x00002d04 bpatchx  0x0000000c , 0x00004021 
+ 00022790  0x00002d05 force  0xffffffff , 0x0000003f 
+ 00022791  0x00002d06 setsect  0x00000002 , 0x00000001 
+ 00022792  0x00002d07 store  0x00000005 , 0x0000046b 
+ 00022793  0x00002d08 call  0x00005835 
+ 00022794  0x00002d09 force  0x00000004 , 0x00000039 
+ 00022795  0x00002d0a arg  0x0000045f , 0x00000005 
+ 00022796  0x00002d0b call  0x000066ef 
+ 00022797  0x00002d0c fetch  0x00000002 , 0x0000446e 
+ 00022798  0x00002d0d store  0x00000002 , 0x00000469 
+ 00022799  0x00002d0f random  0x0000003f 
+ 00022800  0x00002d10 and_into  0x0000000f , 0x0000003f 
+ 00022801  0x00002d11 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00022802  0x00002d12 branch  0x0000590f , 0x00000002 
+ 00022803  0x00002d13 store  0x00000001 , 0x00000454 
+ 00022804  0x00002d14 store  0x00000001 , 0x000006e2 
+ 00022805  0x00002d15 bpatchx  0x0000000d , 0x00004021 
+ 00022806  0x00002d16 fetcht  0x00000002 , 0x00004339 
+ 00022807  0x00002d17 storet  0x00000002 , 0x0000043d 
+ 00022808  0x00002d18 copy  0x00000002 , 0x00000013 
+ 00022809  0x00002d19 add  0x00000022 , 0x00000007 , 0x0000003f 
+ 00022810  0x00002d1a idiv  0x00000013 
+ 00022811  0x00002d1b call  0x00007d61 
+ 00022812  0x00002d1c remainder  0x00000011 
+ 00022813  0x00002d1d isub  0x00000011 , 0x0000003f 
+ 00022814  0x00002d1e iadd  0x00000013 , 0x0000003f 
+ 00022815  0x00002d1f fetcht  0x00000002 , 0x00004337 
+ 00022816  0x00002d20 iadd  0x00000002 , 0x0000003f 
+ 00022817  0x00002d21 store  0x00000004 , 0x0000043f 
+ 00022818  0x00002d22 isub  0x00000022 , 0x00000011 
+ 00022819  0x00002d23 increase  0xfffffffa , 0x00000011 
+ 00022820  0x00002d24 arg  0x00002205 , 0x00000012 
+ 00022821  0x00002d25 fetch  0x00000001 , 0x00004467 
+ 00022822  0x00002d26 nsetflag  0x00000034 , 0x00000006 , 0x00000012 
+ 00022823  0x00002d27 fetch  0x00000001 , 0x00004460 
+ 00022824  0x00002d28 nsetflag  0x00000034 , 0x00000007 , 0x00000012 
+ 00022825  0x00002d29 copy  0x00000012 , 0x0000003f 
+ 00022826  0x00002d2a store  0x00000002 , 0x000043ae 
+ 00022827  0x00002d2b fetch  0x00000006 , 0x00004472 
+ 00022828  0x00002d2c istore  0x00000006 , 0x00000005 
+ 00022829  0x00002d2d fetch  0x00000006 , 0x0000044b 
+ 00022830  0x00002d2e istore  0x00000006 , 0x00000005 
+ 00022831  0x00002d2f fetch  0x00000004 , 0x0000045f 
+ 00022832  0x00002d30 istore  0x00000004 , 0x00000005 
+ 00022833  0x00002d31 random  0x0000003f 
+ 00022834  0x00002d32 istore  0x00000002 , 0x00000005 
+ 00022835  0x00002d33 random  0x0000003f 
+ 00022836  0x00002d34 istore  0x00000001 , 0x00000005 
+ 00022837  0x00002d35 force  0x00000002 , 0x0000003f 
+ 00022838  0x00002d36 istore  0x00000001 , 0x00000005 
+ 00022839  0x00002d37 rshift2  0x00000011 , 0x0000003f 
+ 00022840  0x00002d38 istore  0x00000002 , 0x00000005 
+ 00022841  0x00002d39 rshift2  0x00000013 , 0x0000003f 
+ 00022842  0x00002d3a istore  0x00000002 , 0x00000005 
+ 00022843  0x00002d3b bpatchx  0x0000000e , 0x00004021 
+ 00022844  0x00002d3c setarg  0x00000000 
+ 00022845  0x00002d3d istore  0x00000002 , 0x00000005 
+ 00022846  0x00002d3e fetch  0x00000002 , 0x0000446e 
+ 00022847  0x00002d3f istore  0x00000002 , 0x00000005 
+ 00022848  0x00002d40 fetch  0x00000005 , 0x0000046b 
+ 00022849  0x00002d41 istore  0x00000005 , 0x00000005 
+ 00022850  0x00002d42 fetch  0x00000001 , 0x00000454 
+ 00022851  0x00002d43 arg  0x000000a0 , 0x00000002 
+ 00022852  0x00002d44 ior  0x00000002 , 0x0000003f 
+ 00022853  0x00002d45 istore  0x00000001 , 0x00000005 
+ 00022854  0x00002d46 call  0x000058a1 
+ 00022855  0x00002d47 setarg  0x000043ae 
+ 00022856  0x00002d48 add  0x0000003f , 0x00000012 , 0x00000006 
+ 00022857  0x00002d49 ifetch  0x00000003 , 0x00000006 
+ 00022858  0x00002d4a store  0x00000003 , 0x00000463 
+ 00022859  0x00002d4b rtn 
+ 00022860  0x00002d4e bpatchx  0x0000000f , 0x00004021 
+ 00022861  0x00002d4f disable  0x00000029 
+ 00022862  0x00002d50 branch  0x000057e6 
+ 00022863  0x00002d55 fetch  0x00000001 , 0x0000043b 
+ 00022864  0x00002d56 rtnbit0  0x00000005 
+ 00022865  0x00002d57 fetch  0x00000002 , 0x00000455 
+ 00022866  0x00002d58 fetcht  0x00000002 , 0x0000045b 
+ 00022867  0x00002d59 isub  0x00000002 , 0x0000003f 
+ 00022868  0x00002d5a nrtn  0x00000002 
+ 00022869  0x00002d5b store  0x00000002 , 0x00000a96 
+ 00022870  0x00002d5c bpatchx  0x00000010 , 0x00004022 
+ 00022871  0x00002d5d fetch  0x00000001 , 0x0000043b 
+ 00022872  0x00002d5e set0  0x00000005 , 0x0000003f 
+ 00022873  0x00002d5f set0  0x00000003 , 0x0000003f 
+ 00022874  0x00002d60 store  0x00000001 , 0x0000043b 
+ 00022875  0x00002d61 fetch  0x00000004 , 0x0000043f 
+ 00022876  0x00002d62 fetcht  0x00000002 , 0x0000043d 
+ 00022877  0x00002d63 storet  0x00000002 , 0x00000a9e 
+ 00022878  0x00002d64 isub  0x00000002 , 0x00000011 
+ 00022879  0x00002d65 bpatchx  0x00000011 , 0x00004022 
+ 00022880  0x00002d66 fetch  0x00000001 , 0x000043a5 
+ 00022881  0x00002d67 store  0x00000001 , 0x00000466 
+ 00022882  0x00002d68 ifetcht  0x00000002 , 0x00000006 
+ 00022883  0x00002d69 ifetch  0x00000002 , 0x00000006 
+ 00022884  0x00002d6a lshift2  0x0000003f , 0x0000003f 
+ 00022885  0x00002d6b store  0x00000002 , 0x0000043d 
+ 00022886  0x00002d6c lshift2  0x00000002 , 0x00000002 
+ 00022887  0x00002d6d iadd  0x00000002 , 0x0000003f 
+ 00022888  0x00002d6e ifetcht  0x00000004 , 0x00000006 
+ 00022889  0x00002d6f storet  0x00000004 , 0x00000467 
+ 00022890  0x00002d70 iadd  0x00000011 , 0x0000003f 
+ 00022891  0x00002d71 copy  0x0000003f , 0x00000014 
+ 00022892  0x00002d72 fetch  0x00000002 , 0x0000043d 
+ 00022893  0x00002d73 fetcht  0x00000002 , 0x00000a9e 
+ 00022894  0x00002d74 isub  0x00000002 , 0x0000003f 
+ 00022895  0x00002d75 fetcht  0x00000002 , 0x00000a96 
+ 00022896  0x00002d76 imul32  0x00000002 , 0x0000003f 
+ 00022897  0x00002d77 iadd  0x00000014 , 0x0000003f 
+ 00022898  0x00002d78 store  0x00000004 , 0x0000043f 
+ 00022899  0x00002d79 call  0x00005af3 
+ 00022900  0x00002d7a fetch  0x00000002 , 0x00000469 
+ 00022901  0x00002d7b store  0x00000002 , 0x0000448c 
+ 00022902  0x00002d7c rtn 
+ 00022903  0x00002d80 bpatchx  0x00000012 , 0x00004022 
+ 00022904  0x00002d81 fetch  0x00000001 , 0x0000043b 
+ 00022905  0x00002d82 rtnbit0  0x00000006 
+ 00022906  0x00002d83 fetch  0x00000002 , 0x00000455 
+ 00022907  0x00002d84 fetcht  0x00000002 , 0x0000045b 
+ 00022908  0x00002d85 isub  0x00000002 , 0x0000003f 
+ 00022909  0x00002d86 nrtn  0x00000002 
+ 00022910  0x00002d87 fetch  0x00000001 , 0x0000043b 
+ 00022911  0x00002d88 set0  0x00000006 , 0x0000003f 
+ 00022912  0x00002d89 store  0x00000001 , 0x0000043b 
+ 00022913  0x00002d8a fetch  0x00000005 , 0x000043a0 
+ 00022914  0x00002d8b store  0x00000005 , 0x0000046b 
+ 00022915  0x00002d8c branch  0x00005835 
+ 00022916  0x00002d90 bpatchx  0x00000013 , 0x00004022 
+ 00022917  0x00002d91 call  0x00005ac9 
+ 00022918  0x00002d92 call  0x0000599a 
+ 00022919  0x00002d93 fetch  0x00000001 , 0x000002d5 
+ 00022920  0x00002d94 isolate1  0x00000004 , 0x0000003f 
+ 00022921  0x00002d95 setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00022922  0x00002d96 rshift  0x0000003f , 0x0000003f 
+ 00022923  0x00002d97 ixor  0x00000002 , 0x0000003f 
+ 00022924  0x00002d98 isolate1  0x00000002 , 0x0000003f 
+ 00022925  0x00002d99 setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00022926  0x00002d9a rtnmark1  0x0000000f 
+ 00022927  0x00002d9b fetch  0x00000001 , 0x000002d6 
+ 00022928  0x00002d9c branch  0x00005996 , 0x00000034 
+ 00022929  0x00002d9d fetch  0x00000001 , 0x0000043b 
+ 00022930  0x00002d9e bbit0  0x00000004 , 0x00005996 
+ 00022931  0x00002d9f call  0x00007342 
+ 00022932  0x00002da0 call  0x000072b2 
+ 00022933  0x00002da1 nrtn  0x00000034 
+ 00022934  0x00002da3 fetcht  0x00000001 , 0x00000452 
+ 00022935  0x00002da4 setflip  0x00000002 , 0x00000002 
+ 00022936  0x00002da5 storet  0x00000001 , 0x00000452 
+ 00022937  0x00002da6 rtn 
+ 00022938  0x00002daa bpatchx  0x00000014 , 0x00004022 
+ 00022939  0x00002dab fetcht  0x00000001 , 0x00000452 
+ 00022940  0x00002dac isolate0  0x00000005 , 0x00000002 
+ 00022941  0x00002dad rtn  0x00000001 
+ 00022942  0x00002dae fetch  0x00000001 , 0x000002d5 
+ 00022943  0x00002daf lshift  0x0000003f , 0x0000003f 
+ 00022944  0x00002db0 ixor  0x00000002 , 0x0000003f 
+ 00022945  0x00002db1 rtnbit0  0x00000003 
+ 00022946  0x00002db2 set0  0x00000005 , 0x00000002 
+ 00022947  0x00002db3 setflip  0x00000003 , 0x00000002 
+ 00022948  0x00002db4 storet  0x00000001 , 0x00000452 
+ 00022949  0x00002db5 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00022950  0x00002db6 nrtn  0x00000001 
+ 00022951  0x00002db7 fetch  0x00000001 , 0x000043b0 
+ 00022952  0x00002db8 beq  0x00000005 , 0x000059ac 
+ 00022953  0x00002db9 fetch  0x00000001 , 0x00004497 
+ 00022954  0x00002dba beq  0x00000002 , 0x000059b0 
+ 00022955  0x00002dbb rtn 
+ 00022956  0x00002dbf fetch  0x00000001 , 0x0000043b 
+ 00022957  0x00002dc0 set1  0x00000004 , 0x0000003f 
+ 00022958  0x00002dc1 store  0x00000001 , 0x0000043b 
+ 00022959  0x00002dc2 rtn 
+ 00022960  0x00002dc5 bpatchx  0x00000015 , 0x00004022 
+ 00022961  0x00002dc6 jam  0x00000000 , 0x00004497 
+ 00022962  0x00002dc7 arg  0x00000000 , 0x0000003f 
+ 00022963  0x00002dc8 store  0x00000004 , 0x000043df 
+ 00022964  0x00002dc9 store  0x00000005 , 0x000043d5 
+ 00022965  0x00002dca set1  0x00000027 , 0x0000003f 
+ 00022966  0x00002dcb store  0x00000005 , 0x000043da 
+ 00022967  0x00002dcc fetch  0x00000001 , 0x0000043b 
+ 00022968  0x00002dcd set0  0x00000004 , 0x0000003f 
+ 00022969  0x00002dce store  0x00000001 , 0x0000043b 
+ 00022970  0x00002dcf rtn 
+ 00022971  0x00002dd3 bpatchx  0x00000016 , 0x00004022 
+ 00022972  0x00002dd4 call  0x000057fc 
+ 00022973  0x00002dd5 call  0x0000585f 
+ 00022974  0x00002dd6 fetch  0x00000001 , 0x00000001 
+ 00022975  0x00002dd7 increase  0x00000001 , 0x0000003f 
+ 00022976  0x00002dd8 store  0x00000001 , 0x00000001 
+ 00022977  0x00002dd9 rtn 
+ 00022978  0x00002ddd bpatchx  0x00000017 , 0x00004022 
+ 00022979  0x00002dde fetch  0x00000001 , 0x0000433b 
+ 00022980  0x00002ddf rtnne  0x00000001 
+ 00022981  0x00002de0 arg  0x00000002 , 0x00000007 
+ 00022982  0x00002de1 call  0x00007cf1 
+ 00022983  0x00002de2 nrtn  0x00000034 
+ 00022984  0x00002de3 fetch  0x00000002 , 0x0000433c 
+ 00022985  0x00002de4 fetcht  0x00000002 , 0x0000433e 
+ 00022986  0x00002de5 isub  0x00000002 , 0x0000003f 
+ 00022987  0x00002de6 arg  0x00000002 , 0x00000007 
+ 00022988  0x00002de7 call  0x00007ce3 
+ 00022989  0x00002de8 disable  0x00000029 
+ 00022990  0x00002de9 call  0x0000594c 
+ 00022991  0x00002dea call  0x000059bb 
+ 00022992  0x00002deb nrtn  0x0000002d 
+ 00022993  0x00002dec bpatchx  0x00000018 , 0x00004023 
+ 00022994  0x00002ded fetch  0x00000006 , 0x000002d7 
+ 00022995  0x00002dee store  0x00000006 , 0x0000044b 
+ 00022996  0x00002df1 fetch  0x00000001 , 0x00000002 
+ 00022997  0x00002df2 increase  0x00000001 , 0x0000003f 
+ 00022998  0x00002df3 store  0x00000001 , 0x00000002 
+ 00022999  0x00002df4 call  0x000059e2 
+ 00023000  0x00002df5 rtn  0x00000029 
+ 00023001  0x00002df6 call  0x000058e5 
+ 00023002  0x00002df7 nrtn  0x0000002d 
+ 00023003  0x00002df8 bpatchx  0x00000019 , 0x00004023 
+ 00023004  0x00002df9 fetch  0x00000001 , 0x00000004 
+ 00023005  0x00002dfa increase  0x00000001 , 0x0000003f 
+ 00023006  0x00002dfb store  0x00000001 , 0x00000004 
+ 00023007  0x00002dfc fetch  0x00000009 , 0x000002dd 
+ 00023008  0x00002dfd store  0x00000009 , 0x000000ff 
+ 00023009  0x00002dfe rtn 
+ 00023010  0x00002e01 bpatchx  0x0000001a , 0x00004023 
+ 00023011  0x00002e02 fetch  0x00000001 , 0x00000497 
+ 00023012  0x00002e03 rtnne  0x0000001b 
+ 00023013  0x00002e04 fetch  0x00000006 , 0x0000044b 
+ 00023014  0x00002e05 fetcht  0x00000006 , 0x00004461 
+ 00023015  0x00002e06 isub  0x00000002 , 0x0000003e 
+ 00023016  0x00002e07 nrtn  0x00000005 
+ 00023017  0x00002e08 call  0x00004237 
+ 00023018  0x00002e09 nrtn  0x00000005 
+ 00023019  0x00002e0a call  0x00005905 
+ 00023020  0x00002e0b call  0x0000571a 
+ 00023021  0x00002e0c bpatchx  0x0000001b , 0x00004023 
+ 00023022  0x00002e0d jam  0x00000000 , 0x000041cf 
+ 00023023  0x00002e0e jam  0x00000000 , 0x00000472 
+ 00023024  0x00002e0f jam  0x00000000 , 0x0000433b 
+ 00023025  0x00002e10 jam  0x00000000 , 0x00000497 
+ 00023026  0x00002e11 branch  0x0000421f 
+ 00023027  0x00002e14 arg  0x00000001 , 0x00000011 
+ 00023028  0x00002e15 fetch  0x00000001 , 0x000002d5 
+ 00023029  0x00002e16 rtnbit1  0x00000006 
+ 00023030  0x00002e17 arg  0x00000000 , 0x00000011 
+ 00023031  0x00002e18 rtn 
+ 00023032  0x00002e1d bpatchx  0x0000001c , 0x00004023 
+ 00023033  0x00002e1e fetch  0x00000001 , 0x00000452 
+ 00023034  0x00002e1f rtnbit1  0x00000005 
+ 00023035  0x00002e20 call  0x00005a1c 
+ 00023036  0x00002e21 call  0x00005c53 
+ 00023037  0x00002e22 branch  0x00005a3e , 0x00000034 
+ 00023038  0x00002e23 ifetch  0x00000001 , 0x00000006 
+ 00023039  0x00002e24 ifetcht  0x00000001 , 0x00000006 
+ 00023040  0x00002e25 copy  0x00000002 , 0x00000011 
+ 00023041  0x00002e26 isub  0x00000011 , 0x0000003f 
+ 00023042  0x00002e27 arg  0x0000001b , 0x00000002 
+ 00023043  0x00002e28 call  0x00007db5 
+ 00023044  0x00002e29 copy  0x0000003f , 0x00000002 
+ 00023045  0x00002e2a ifetch  0x00000001 , 0x00000006 
+ 00023046  0x00002e2b copy  0x0000003f , 0x00000001 
+ 00023047  0x00002e2c copy  0x00000011 , 0x0000003f 
+ 00023048  0x00002e2d iadd  0x00000006 , 0x00000006 
+ 00023049  0x00002e2e arg  0x000043b0 , 0x00000005 
+ 00023050  0x00002e2f copy  0x00000002 , 0x00000039 
+ 00023051  0x00002e30 call  0x00007cdc 
+ 00023052  0x00002e31 call  0x00005a2e 
+ 00023053  0x00002e32 call  0x00005a40 
+ 00023054  0x00002e34 call  0x00005c53 
+ 00023055  0x00002e35 ifetch  0x00000001 , 0x00000006 
+ 00023056  0x00002e36 copy  0x0000003f , 0x00000011 
+ 00023057  0x00002e37 copy  0x00000006 , 0x00000013 
+ 00023058  0x00002e38 ifetcht  0x00000001 , 0x00000006 
+ 00023059  0x00002e39 copy  0x00000002 , 0x00000012 
+ 00023060  0x00002e3a isub  0x00000012 , 0x0000003f 
+ 00023061  0x00002e3b arg  0x0000001b , 0x00000002 
+ 00023062  0x00002e3c call  0x00007db5 
+ 00023063  0x00002e3d iadd  0x00000012 , 0x0000003f 
+ 00023064  0x00002e3e istore  0x00000001 , 0x00000013 
+ 00023065  0x00002e3f isub  0x00000011 , 0x0000003e 
+ 00023066  0x00002e40 nrtn  0x00000005 
+ 00023067  0x00002e41 branch  0x00005c76 
+ 00023068  0x00002e45 call  0x00005a23 
+ 00023069  0x00002e46 rtnmark1  0x00000029 
+ 00023070  0x00002e47 fetch  0x00000001 , 0x000044bb 
+ 00023071  0x00002e48 bbit0  0x00000002 , 0x00005a2c 
+ 00023072  0x00002e49 call  0x00005c56 
+ 00023073  0x00002e4a branch  0x00005a2c , 0x00000034 
+ 00023074  0x00002e4b branch  0x00005a2a 
+ 00023075  0x00002e4f call  0x00005c53 
+ 00023076  0x00002e50 branch  0x00005a2c , 0x00000034 
+ 00023077  0x00002e51 ifetch  0x00000001 , 0x00000006 
+ 00023078  0x00002e52 ifetcht  0x00000001 , 0x00000006 
+ 00023079  0x00002e53 isub  0x00000002 , 0x0000003f 
+ 00023080  0x00002e54 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00023081  0x00002e55 branch  0x00005a2c , 0x00000002 
+ 00023082  0x00002e57 set1  0x00000029 , 0x00000000 
+ 00023083  0x00002e58 rtn 
+ 00023084  0x00002e5b set0  0x00000029 , 0x00000000 
+ 00023085  0x00002e5c rtn 
+ 00023086  0x00002e5f copy  0x00000011 , 0x0000003f 
+ 00023087  0x00002e60 rtn  0x00000034 
+ 00023088  0x00002e61 arg  0x00000001 , 0x00000001 
+ 00023089  0x00002e62 rtn 
+ 00023090  0x00002e66 bpatchx  0x0000001d , 0x00004023 
+ 00023091  0x00002e67 increase  0x00000001 , 0x00000002 
+ 00023092  0x00002e68 call  0x00005b4a 
+ 00023093  0x00002e69 increase  0xfffffffe , 0x00000006 
+ 00023094  0x00002e6a ifetch  0x00000002 , 0x00000006 
+ 00023095  0x00002e6b arg  0x00002902 , 0x00000002 
+ 00023096  0x00002e6c isub  0x00000002 , 0x0000003e 
+ 00023097  0x00002e6d nrtn  0x00000005 
+ 00023098  0x00002e6e increase  0x00000001 , 0x00000006 
+ 00023099  0x00002e6f copy  0x00000006 , 0x00000011 
+ 00023100  0x00002e70 ifetch  0x00000001 , 0x00000006 
+ 00023101  0x00002e71 rtn 
+ 00023102  0x00002e75 force  0x00000000 , 0x00000002 
+ 00023103  0x00002e76 force  0x00000001 , 0x00000001 
+ 00023104  0x00002e79 bpatchx  0x0000001e , 0x00004023 
+ 00023105  0x00002e7a storet  0x00000001 , 0x000043af 
+ 00023106  0x00002e7b fetcht  0x00000001 , 0x00000452 
+ 00023107  0x00002e7c set1  0x00000005 , 0x00000002 
+ 00023108  0x00002e7d and  0x00000002 , 0x000000fc , 0x0000003f 
+ 00023109  0x00002e7e ior  0x00000001 , 0x0000003f 
+ 00023110  0x00002e7f store  0x00000001 , 0x00000452 
+ 00023111  0x00002e80 and_into  0x0000001f , 0x0000003f 
+ 00023112  0x00002e81 isolate1  0x00000029 , 0x00000000 
+ 00023113  0x00002e82 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00023114  0x00002e83 store  0x00000001 , 0x000043ae 
+ 00023115  0x00002e85 fetch  0x00000001 , 0x000043ae 
+ 00023116  0x00002e86 compare  0x00000001 , 0x00000001 , 0x00000003 
+ 00023117  0x00002e87 nbranch  0x00005a50 , 0x00000001 
+ 00023118  0x00002e88 fetch  0x00000001 , 0x000043af 
+ 00023119  0x00002e89 rtn  0x00000034 
+ 00023120  0x00002e8b fetch  0x00000001 , 0x0000043b 
+ 00023121  0x00002e8c rtnbit0  0x00000004 
+ 00023122  0x00002e8d call  0x00007342 
+ 00023123  0x00002e8e branch  0x00007299 
+ 00023124  0x00002e92 arg  0x00000000 , 0x00000007 
+ 00023125  0x00002e93 branch  0x00004bec 
+ 00023126  0x00002e96 arg  0x00000000 , 0x00000007 
+ 00023127  0x00002e97 branch  0x00004bf0 
+ 00023128  0x00002e9b bpatchx  0x0000001f , 0x00004023 
+ 00023129  0x00002e9c rtnmark1  0x0000000f 
+ 00023130  0x00002e9d call  0x00005c70 
+ 00023131  0x00002e9e nrtn  0x00000034 
+ 00023132  0x00002e9f fetch  0x00000001 , 0x000002d5 
+ 00023133  0x00002ea0 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00023134  0x00002ea1 store  0x00000001 , 0x000044de 
+ 00023135  0x00002ea2 ifetch  0x00000001 , 0x00000006 
+ 00023136  0x00002ea3 and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00023137  0x00002ea4 store  0x00000001 , 0x000044dd 
+ 00023138  0x00002ea5 rtn  0x00000034 
+ 00023139  0x00002ea6 copy  0x00000006 , 0x0000003f 
+ 00023140  0x00002ea7 store  0x00000002 , 0x000044df 
+ 00023141  0x00002ea8 bpatchx  0x00000020 , 0x00004024 
+ 00023142  0x00002ea9 fetch  0x00000001 , 0x000044de 
+ 00023143  0x00002eaa beq  0x00000003 , 0x00006044 
+ 00023144  0x00002eac bpatchx  0x00000021 , 0x00004024 
+ 00023145  0x00002ead call  0x00005a76 
+ 00023146  0x00002eae nbranch  0x00005a54 , 0x00000028 
+ 00023147  0x00002eaf call  0x00005a56 
+ 00023148  0x00002eb0 fetch  0x00000002 , 0x000044df 
+ 00023149  0x00002eb1 copy  0x0000003f , 0x00000006 
+ 00023150  0x00002eb2 ifetch  0x00000002 , 0x00000006 
+ 00023151  0x00002eb3 store  0x00000002 , 0x000044ce 
+ 00023152  0x00002eb4 bpatchx  0x00000022 , 0x00004024 
+ 00023153  0x00002eb5 ifetch  0x00000002 , 0x00000006 
+ 00023154  0x00002eb6 beq  0x00000004 , 0x00005c8b 
+ 00023155  0x00002eb7 beq  0x00000006 , 0x00005ed4 
+ 00023156  0x00002eb8 beq  0x00000005 , 0x00005e96 
+ 00023157  0x00002eb9 rtn 
+ 00023158  0x00002ebd fetch  0x00000001 , 0x000044de 
+ 00023159  0x00002ebe beq  0x00000002 , 0x00005a85 
+ 00023160  0x00002ebf beq  0x00000001 , 0x00005a9d 
+ 00023161  0x00002ec0 rtn 
+ 00023162  0x00002ec6 call  0x00007dbf 
+ 00023163  0x00002ec7 arg  0x00000004 , 0x00000002 
+ 00023164  0x00002ec8 isub  0x0000003f , 0x0000003e 
+ 00023165  0x00002ec9 rtn  0x00000005 
+ 00023166  0x00002eca arg  0x00000005 , 0x00000002 
+ 00023167  0x00002ecb isub  0x0000003f , 0x0000003e 
+ 00023168  0x00002ecc rtn  0x00000005 
+ 00023169  0x00002ecd arg  0x00000006 , 0x00000002 
+ 00023170  0x00002ece isub  0x0000003f , 0x0000003e 
+ 00023171  0x00002ecf rtn  0x00000005 
+ 00023172  0x00002ed0 branch  0x00007dc1 
+ 00023173  0x00002ed4 fetch  0x00000002 , 0x000044df 
+ 00023174  0x00002ed5 copy  0x0000003f , 0x00000006 
+ 00023175  0x00002ed6 ifetch  0x00000002 , 0x00000006 
+ 00023176  0x00002ed7 store  0x00000002 , 0x000044ce 
+ 00023177  0x00002ed8 ifetch  0x00000002 , 0x00000006 
+ 00023178  0x00002ed9 call  0x00005a7a 
+ 00023179  0x00002eda nrtn  0x00000028 
+ 00023180  0x00002edb fetcht  0x00000001 , 0x000044dd 
+ 00023181  0x00002edc storet  0x00000001 , 0x000044d0 
+ 00023182  0x00002edd fetch  0x00000002 , 0x000044ce 
+ 00023183  0x00002ede increase  0x00000004 , 0x0000003f 
+ 00023184  0x00002edf isub  0x00000002 , 0x0000003e 
+ 00023185  0x00002ee0 branch  0x00007dbf , 0x00000005 
+ 00023186  0x00002ee1 fetch  0x00000001 , 0x000044dd 
+ 00023187  0x00002ee2 copy  0x0000003f , 0x00000039 
+ 00023188  0x00002ee3 arg  0x0000030d , 0x00000005 
+ 00023189  0x00002ee4 fetch  0x00000002 , 0x000044df 
+ 00023190  0x00002ee5 copy  0x0000003f , 0x00000006 
+ 00023191  0x00002ee6 call  0x00007cdc 
+ 00023192  0x00002ee7 branch  0x00007dc1 
+ 00023193  0x00002eed call  0x00007dbf 
+ 00023194  0x00002eee fetch  0x00000001 , 0x000044d0 
+ 00023195  0x00002eef nrtn  0x00000034 
+ 00023196  0x00002ef0 branch  0x00007dc1 
+ 00023197  0x00002ef3 call  0x00005a99 
+ 00023198  0x00002ef4 nrtn  0x00000028 
+ 00023199  0x00002ef5 fetch  0x00000001 , 0x000044d0 
+ 00023200  0x00002ef6 arg  0x0000030d , 0x00000005 
+ 00023201  0x00002ef7 iadd  0x00000005 , 0x00000011 
+ 00023202  0x00002ef8 fetcht  0x00000001 , 0x000044dd 
+ 00023203  0x00002ef9 iadd  0x00000002 , 0x0000003f 
+ 00023204  0x00002efa store  0x00000001 , 0x000044d0 
+ 00023205  0x00002efb fetch  0x00000001 , 0x000044dd 
+ 00023206  0x00002efc copy  0x0000003f , 0x00000039 
+ 00023207  0x00002efd copy  0x00000011 , 0x00000005 
+ 00023208  0x00002efe fetch  0x00000002 , 0x000044df 
+ 00023209  0x00002eff copy  0x0000003f , 0x00000006 
+ 00023210  0x00002f00 call  0x00007ccf 
+ 00023211  0x00002f01 setarg  0x0000030d 
+ 00023212  0x00002f02 store  0x00000002 , 0x000044df 
+ 00023213  0x00002f03 fetch  0x00000002 , 0x000044ce 
+ 00023214  0x00002f04 increase  0x00000004 , 0x0000003f 
+ 00023215  0x00002f05 fetcht  0x00000001 , 0x000044d0 
+ 00023216  0x00002f06 isub  0x00000002 , 0x0000003e 
+ 00023217  0x00002f07 branch  0x00007dbf , 0x00000005 
+ 00023218  0x00002f08 branch  0x00007dc1 
+ 00023219  0x00002f0f call  0x00007c80 
+ 00023220  0x00002f10 arg  0x00004430 , 0x00000005 
+ 00023221  0x00002f12 fetch  0x00000002 , 0x000044ce 
+ 00023222  0x00002f13 increase  0xfffffffb , 0x0000003f 
+ 00023223  0x00002f15 istore  0x00000001 , 0x00000005 
+ 00023224  0x00002f16 copy  0x0000003f , 0x00000039 
+ 00023225  0x00002f17 call  0x00007c7a 
+ 00023226  0x00002f18 branch  0x00007ccf 
+ 00023227  0x00002f1b call  0x00007c80 
+ 00023228  0x00002f1c arg  0x00004443 , 0x00000005 
+ 00023229  0x00002f1d branch  0x00005ab5 
+ 00023230  0x00002f22 fetch  0x00000002 , 0x000041fa 
+ 00023231  0x00002f23 branch  0x00007d77 
+ 00023232  0x00002f26 fetcht  0x00000004 , 0x00000457 
+ 00023233  0x00002f27 call  0x00004a7a 
+ 00023234  0x00002f28 isub  0x00000002 , 0x0000000b 
+ 00023235  0x00002f29 deposit  0x0000000b 
+ 00023236  0x00002f2a fetcht  0x00000002 , 0x00000469 
+ 00023237  0x00002f2b lshift4  0x00000002 , 0x00000002 
+ 00023238  0x00002f2c lshift  0x00000002 , 0x00000002 
+ 00023239  0x00002f2d isub  0x00000002 , 0x0000003f 
+ 00023240  0x00002f2e rtn 
+ 00023241  0x00002f31 call  0x00004a7a 
+ 00023242  0x00002f32 store  0x00000004 , 0x00000457 
+ 00023243  0x00002f33 rtn 
+ 00023244  0x00002f37 jam  0x00000024 , 0x00000016 
+ 00023245  0x00002f38 jam  0x00000000 , 0x00000abe 
+ 00023246  0x00002f3a bpatchx  0x00000023 , 0x00004024 
+ 00023247  0x00002f3b fetch  0x00000001 , 0x00004340 
+ 00023248  0x00002f3c rtn  0x00000034 
+ 00023249  0x00002f3d arg  0x00000000 , 0x00000007 
+ 00023250  0x00002f3e call  0x00007cf1 
+ 00023251  0x00002f3f nrtn  0x00000034 
+ 00023252  0x00002f40 bpatchx  0x00000024 , 0x00004024 
+ 00023253  0x00002f42 disable  0x00000029 
+ 00023254  0x00002f43 enable  0x00000010 
+ 00023255  0x00002f44 call  0x0000594c 
+ 00023256  0x00002f45 call  0x000057fc 
+ 00023257  0x00002f46 call  0x000058c3 
+ 00023258  0x00002f47 nbranch  0x00005ae2 , 0x0000002d 
+ 00023259  0x00002f48 fetch  0x00000001 , 0x00000003 
+ 00023260  0x00002f49 increase  0x00000001 , 0x0000003f 
+ 00023261  0x00002f4a store  0x00000001 , 0x00000003 
+ 00023262  0x00002f4b fetch  0x00000001 , 0x000002d5 
+ 00023263  0x00002f4c and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00023264  0x00002f4d beq  0x00000003 , 0x000058f6 
+ 00023265  0x00002f4e beq  0x00000005 , 0x00005b08 
+ 00023266  0x00002f50 bpatchx  0x00000025 , 0x00004024 
+ 00023267  0x00002f51 random  0x0000003f 
+ 00023268  0x00002f52 arg  0x000001ff , 0x00000002 
+ 00023269  0x00002f53 iand  0x00000002 , 0x0000003f 
+ 00023270  0x00002f54 add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00023271  0x00002f55 call  0x00005aef 
+ 00023272  0x00002f56 fetch  0x00000001 , 0x00000abe 
+ 00023273  0x00002f57 fetcht  0x00000001 , 0x0000445f 
+ 00023274  0x00002f58 isub  0x00000002 , 0x0000003e 
+ 00023275  0x00002f59 nbranch  0x00005ace , 0x00000005 
+ 00023276  0x00002f5a arg  0x00000000 , 0x00000007 
+ 00023277  0x00002f5b fetch  0x00000002 , 0x00004454 
+ 00023278  0x00002f5c branch  0x00007ce3 
+ 00023279  0x00002f5f increase  0xffffffff , 0x0000003f 
+ 00023280  0x00002f60 nop  0x00000026 
+ 00023281  0x00002f61 nbranch  0x00005aef , 0x00000034 
+ 00023282  0x00002f62 rtn 
+ 00023283  0x00002f66 bpatchx  0x00000026 , 0x00004024 
+ 00023284  0x00002f67 fetch  0x00000001 , 0x00000472 
+ 00023285  0x00002f68 call  0x000057d6 
+ 00023286  0x00002f69 fetch  0x00000002 , 0x0000043d 
+ 00023287  0x00002f6a imul32  0x00000002 , 0x0000003f 
+ 00023288  0x00002f6b arg  0x00000177 , 0x00000002 
+ 00023289  0x00002f6c imul32  0x00000002 , 0x0000003f 
+ 00023290  0x00002f6d arg  0x000186a0 , 0x00000002 
+ 00023291  0x00002f6e idiv  0x00000002 
+ 00023292  0x00002f6f fetch  0x00000001 , 0x00000466 
+ 00023293  0x00002f70 arg  0x00004e20 , 0x00000002 
+ 00023294  0x00002f71 imul32  0x00000002 , 0x0000003f 
+ 00023295  0x00002f72 iadd  0x00000002 , 0x0000003f 
+ 00023296  0x00002f73 store  0x00000004 , 0x000044b7 
+ 00023297  0x00002f74 bpatchx  0x00000027 , 0x00004024 
+ 00023298  0x00002f75 fetch  0x00000002 , 0x000040c1 
+ 00023299  0x00002f76 call  0x00007d61 
+ 00023300  0x00002f77 quotient  0x00000002 
+ 00023301  0x00002f78 iadd  0x00000002 , 0x0000003f 
+ 00023302  0x00002f79 store  0x00000002 , 0x00000449 
+ 00023303  0x00002f7a rtn 
+ 00023304  0x00002f7d bpatchx  0x00000028 , 0x00004025 
+ 00023305  0x00002f7e fetch  0x00000006 , 0x000002dd 
+ 00023306  0x00002f7f fetcht  0x00000006 , 0x00004472 
+ 00023307  0x00002f80 isub  0x00000002 , 0x0000003e 
+ 00023308  0x00002f81 nrtn  0x00000005 
+ 00023309  0x00002f82 call  0x000059f3 
+ 00023310  0x00002f83 copy  0x00000011 , 0x0000003f 
+ 00023311  0x00002f84 store  0x00000001 , 0x00004460 
+ 00023312  0x00002f85 fetch  0x00000007 , 0x000002ea 
+ 00023313  0x00002f86 store  0x00000007 , 0x000000ff 
+ 00023314  0x00002f87 ifetch  0x00000008 , 0x00000006 
+ 00023315  0x00002f88 istore  0x00000008 , 0x00000005 
+ 00023316  0x00002f89 fetch  0x00000006 , 0x000002d7 
+ 00023317  0x00002f8a store  0x00000006 , 0x0000044b 
+ 00023318  0x00002f8b increase  0x00000006 , 0x00000006 
+ 00023319  0x00002f8c ifetch  0x00000008 , 0x00000006 
+ 00023320  0x00002f8d store  0x00000008 , 0x0000045f 
+ 00023321  0x00002f8e ifetcht  0x00000002 , 0x00000006 
+ 00023322  0x00002f8f bpatchx  0x00000029 , 0x00004025 
+ 00023323  0x00002f91 lshift2  0x00000002 , 0x00000002 
+ 00023324  0x00002f92 ifetch  0x00000002 , 0x00000006 
+ 00023325  0x00002f93 lshift2  0x0000003f , 0x0000003f 
+ 00023326  0x00002f94 store  0x00000002 , 0x0000043d 
+ 00023327  0x00002f95 store  0x00000004 , 0x0000043f 
+ 00023328  0x00002f96 isub  0x00000002 , 0x0000003f 
+ 00023329  0x00002f97 add  0x0000003f , 0xfffffffe , 0x00000028 
+ 00023330  0x00002f98 ifetch  0x00000009 , 0x00000006 
+ 00023331  0x00002f99 store  0x00000009 , 0x00000467 
+ 00023332  0x00002f9a bpatchx  0x0000002a , 0x00004025 
+ 00023333  0x00002f9b ifetch  0x00000001 , 0x00000006 
+ 00023334  0x00002f9c rshift4  0x0000003f , 0x00000002 
+ 00023335  0x00002f9d rshift  0x00000002 , 0x00000002 
+ 00023336  0x00002f9e storet  0x00000001 , 0x00000472 
+ 00023337  0x00002f9f and_into  0x0000001f , 0x0000003f 
+ 00023338  0x00002fa0 store  0x00000001 , 0x00000454 
+ 00023339  0x00002fa1 call  0x00005af3 
+ 00023340  0x00002fa2 call  0x00005835 
+ 00023341  0x00002fa3 call  0x00005726 
+ 00023342  0x00002fa4 call  0x00004237 
+ 00023343  0x00002fa5 nrtn  0x00000005 
+ 00023344  0x00002fa6 bpatchx  0x0000002b , 0x00004025 
+ 00023345  0x00002fa7 call  0x0000483d 
+ 00023346  0x00002fa8 call  0x00005eb3 
+ 00023347  0x00002fa9 jam  0x00000014 , 0x00000a95 
+ 00023348  0x00002faa call  0x00007bab 
+ 00023349  0x00002fac branch  0x0000421f 
+ 00023350  0x00002fb0 bpatchx  0x0000002c , 0x00004025 
+ 00023351  0x00002fb1 fetch  0x00000002 , 0x0000442c 
+ 00023352  0x00002fb2 iforce  0x00000012 
+ 00023353  0x00002fb3 fetch  0x00000002 , 0x0000442e 
+ 00023354  0x00002fb4 iforce  0x00000013 
+ 00023355  0x00002fb5 fetch  0x00000002 , 0x0000448e 
+ 00023356  0x00002fb6 iforce  0x00000006 
+ 00023357  0x00002fb7 enable  0x00000028 
+ 00023358  0x00002fb8 rtn 
+ 00023359  0x00002fbc ifetch  0x00000002 , 0x00000006 
+ 00023360  0x00002fbd rtn  0x00000034 
+ 00023361  0x00002fbe isub  0x00000012 , 0x0000003e 
+ 00023362  0x00002fbf nrtn  0x00000002 
+ 00023363  0x00002fc0 isub  0x00000013 , 0x0000003e 
+ 00023364  0x00002fc1 rtn  0x00000005 
+ 00023365  0x00002fc2 branch  0x00005b48 , 0x00000002 
+ 00023366  0x00002fc3 force  0x00000001 , 0x0000003e 
+ 00023367  0x00002fc4 rtn 
+ 00023368  0x00002fc6 force  0x00000000 , 0x0000003f 
+ 00023369  0x00002fc7 rtn 
+ 00023370  0x00002fcc call  0x00005b4d 
+ 00023371  0x00002fcd branch  0x00005b59 , 0x00000005 
+ 00023372  0x00002fce rtn 
+ 00023373  0x00002fd1 bpatchx  0x0000002d , 0x00004025 
+ 00023374  0x00002fd2 fetch  0x00000002 , 0x0000448e 
+ 00023375  0x00002fd3 iforce  0x00000006 
+ 00023376  0x00002fd5 ifetch  0x00000002 , 0x00000006 
+ 00023377  0x00002fd6 rtn  0x00000034 
+ 00023378  0x00002fd7 isub  0x00000002 , 0x0000003e 
+ 00023379  0x00002fd8 rtn  0x00000005 
+ 00023380  0x00002fd9 ifetch  0x00000001 , 0x00000006 
+ 00023381  0x00002fda iadd  0x00000006 , 0x00000006 
+ 00023382  0x00002fdb ifetch  0x00000001 , 0x00000006 
+ 00023383  0x00002fdc iadd  0x00000006 , 0x00000006 
+ 00023384  0x00002fdd branch  0x00005b50 
+ 00023385  0x00002fdf ifetch  0x00000001 , 0x00000006 
+ 00023386  0x00002fe0 iadd  0x00000006 , 0x00000006 
+ 00023387  0x00002fe1 rtn 
+ 00023388  0x00002fe6 bpatchx  0x0000002e , 0x00004025 
+ 00023389  0x00002fe7 fetch  0x00000002 , 0x0000448e 
+ 00023390  0x00002fe8 iforce  0x00000006 
+ 00023391  0x00002fea ifetch  0x00000002 , 0x00000006 
+ 00023392  0x00002feb rtn  0x00000034 
+ 00023393  0x00002fec ifetch  0x00000001 , 0x00000006 
+ 00023394  0x00002fed iadd  0x00000006 , 0x00000006 
+ 00023395  0x00002fee increase  0xfffffffe , 0x00000006 
+ 00023396  0x00002fef ifetch  0x00000002 , 0x00000006 
+ 00023397  0x00002ff0 isub  0x00000002 , 0x0000003e 
+ 00023398  0x00002ff1 rtn  0x00000005 
+ 00023399  0x00002ff2 ifetch  0x00000001 , 0x00000006 
+ 00023400  0x00002ff3 iadd  0x00000006 , 0x00000006 
+ 00023401  0x00002ff4 branch  0x00005b5f 
+ 00023402  0x00002ff9 fetch  0x00000002 , 0x00000498 
+ 00023403  0x00002ffa branch  0x00005b6e 
+ 00023404  0x00002ffd bpatchx  0x0000002f , 0x00004025 
+ 00023405  0x00002ffe fetch  0x00000002 , 0x0000448e 
+ 00023406  0x00003000 iforce  0x00000006 
+ 00023407  0x00003001 copy  0x00000002 , 0x00000011 
+ 00023408  0x00003003 ifetch  0x00000002 , 0x00000006 
+ 00023409  0x00003004 branch  0x00005b79 , 0x00000034 
+ 00023410  0x00003005 isub  0x00000011 , 0x0000003e 
+ 00023411  0x00003006 branch  0x00005b7a , 0x00000005 
+ 00023412  0x00003007 ifetch  0x00000001 , 0x00000006 
+ 00023413  0x00003008 iadd  0x00000006 , 0x00000006 
+ 00023414  0x00003009 ifetch  0x00000001 , 0x00000006 
+ 00023415  0x0000300a iadd  0x00000006 , 0x00000006 
+ 00023416  0x0000300b branch  0x00005b70 
+ 00023417  0x0000300d branch  0x00007dc7 
+ 00023418  0x00003010 ifetch  0x00000001 , 0x00000006 
+ 00023419  0x00003011 store  0x00000001 , 0x0000049e 
+ 00023420  0x00003012 copy  0x0000003f , 0x00000039 
+ 00023421  0x00003013 arg  0x0000049f , 0x00000005 
+ 00023422  0x00003014 call  0x00007ccf 
+ 00023423  0x00003015 ifetch  0x00000001 , 0x00000006 
+ 00023424  0x00003016 store  0x00000001 , 0x000004af 
+ 00023425  0x00003017 call  0x00007c80 
+ 00023426  0x00003018 branch  0x00007dc9 
+ 00023427  0x0000301c bpatchx  0x00000030 , 0x00004026 
+ 00023428  0x0000301d call  0x00005b86 
+ 00023429  0x0000301e branch  0x00005b98 
+ 00023430  0x00003021 arg  0x00002a00 , 0x00000002 
+ 00023431  0x00003022 call  0x00005b5c 
+ 00023432  0x00003023 rtn  0x00000034 
+ 00023433  0x00003024 ifetch  0x00000001 , 0x00000006 
+ 00023434  0x00003025 copy  0x00000006 , 0x00000005 
+ 00023435  0x00003026 fetcht  0x00000001 , 0x00004381 
+ 00023436  0x00003027 copy  0x00000002 , 0x00000039 
+ 00023437  0x00003028 isub  0x00000002 , 0x0000003e 
+ 00023438  0x00003029 nbranch  0x00005b95 , 0x00000002 
+ 00023439  0x0000302a isub  0x00000002 , 0x00000002 
+ 00023440  0x0000302b arg  0x00004382 , 0x00000006 
+ 00023441  0x0000302c call  0x00007cdc 
+ 00023442  0x0000302d copy  0x00000002 , 0x00000039 
+ 00023443  0x0000302e ncall  0x00005bd0 , 0x00000005 
+ 00023444  0x0000302f rtn 
+ 00023445  0x00003031 copy  0x0000003f , 0x00000039 
+ 00023446  0x00003032 arg  0x00004382 , 0x00000006 
+ 00023447  0x00003033 branch  0x00007ccf 
+ 00023448  0x00003037 arg  0x00004361 , 0x00000013 
+ 00023449  0x00003038 arg  0x00004342 , 0x00000011 
+ 00023450  0x00003039 call  0x00005ba5 
+ 00023451  0x0000303a setarg  0x00000000 
+ 00023452  0x0000303b setflag  0x00000028 , 0x00000000 , 0x0000003f 
+ 00023453  0x0000303c store  0x00000001 , 0x00000a96 
+ 00023454  0x0000303d arg  0x00004381 , 0x00000013 
+ 00023455  0x0000303e arg  0x00004362 , 0x00000011 
+ 00023456  0x0000303f call  0x00005ba5 
+ 00023457  0x00003040 rtn  0x00000028 
+ 00023458  0x00003041 fetch  0x00000001 , 0x00000a96 
+ 00023459  0x00003042 branch  0x00004a8b , 0x00000034 
+ 00023460  0x00003043 rtn 
+ 00023461  0x00003047 bpatchx  0x00000031 , 0x00004026 
+ 00023462  0x00003048 call  0x00007dbf 
+ 00023463  0x00003049 call  0x00007cb5 
+ 00023464  0x0000304a arg  0x00000000 , 0x00000012 
+ 00023465  0x0000304b arg  0x00000abf , 0x00000005 
+ 00023466  0x0000304c call  0x00005bbf 
+ 00023467  0x0000304d fetch  0x00000001 , 0x00004381 
+ 00023468  0x0000304e add  0x0000003f , 0x00000001 , 0x00000002 
+ 00023469  0x0000304f iadd  0x00000012 , 0x00000011 
+ 00023470  0x00003050 increase  0x00000002 , 0x00000011 
+ 00023471  0x00003051 sub  0x00000011 , 0x0000001f , 0x0000003e 
+ 00023472  0x00003052 nbranch  0x00005bbd , 0x00000002 
+ 00023473  0x00003053 istoret  0x00000001 , 0x00000005 
+ 00023474  0x00003054 arg  0x00000009 , 0x00000002 
+ 00023475  0x00003055 istoret  0x00000001 , 0x00000005 
+ 00023476  0x00003056 iforce  0x00000039 
+ 00023477  0x00003057 call  0x00007ccf 
+ 00023478  0x00003058 copy  0x00000011 , 0x00000012 
+ 00023479  0x0000305a deposit  0x00000012 
+ 00023480  0x0000305b store  0x00000001 , 0x00000abe 
+ 00023481  0x0000305c arg  0x00000abe , 0x00000006 
+ 00023482  0x0000305d setarg  0xffffffe0 
+ 00023483  0x0000305e iadd  0x00000013 , 0x00000005 
+ 00023484  0x0000305f branch  0x00007c98 
+ 00023485  0x00003062 call  0x00007dc1 
+ 00023486  0x00003063 branch  0x00005bb7 
+ 00023487  0x00003066 ifetch  0x00000001 , 0x00000011 
+ 00023488  0x00003067 rtn  0x00000034 
+ 00023489  0x00003068 pincrease  0x00000001 
+ 00023490  0x00003069 ifetcht  0x00000001 , 0x00000006 
+ 00023491  0x0000306a sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00023492  0x0000306b branch  0x00005bce , 0x00000005 
+ 00023493  0x0000306c iadd  0x00000012 , 0x00000012 
+ 00023494  0x0000306d copy  0x00000011 , 0x00000006 
+ 00023495  0x0000306e iforce  0x00000039 
+ 00023496  0x0000306f call  0x00007ccf 
+ 00023497  0x00003070 copy  0x00000006 , 0x00000011 
+ 00023498  0x00003072 deposit  0x00000011 
+ 00023499  0x00003073 isub  0x00000013 , 0x0000003e 
+ 00023500  0x00003074 rtn  0x00000002 
+ 00023501  0x00003075 branch  0x00005bbf 
+ 00023502  0x00003078 iadd  0x00000011 , 0x00000011 
+ 00023503  0x00003079 branch  0x00005bca 
+ 00023504  0x0000307d setarg  0x00000020 
+ 00023505  0x0000307e istore  0x00000001 , 0x00000005 
+ 00023506  0x0000307f loop  0x00005bd0 
+ 00023507  0x00003080 rtn 
+ 00023508  0x00003084 bpatchx  0x00000032 , 0x00004026 
+ 00023509  0x00003085 disable  0x0000002b 
+ 00023510  0x00003086 branch  0x00005bd8 , 0x0000002e 
+ 00023511  0x00003087 nbranch  0x00005be6 , 0x0000002d 
+ 00023512  0x00003089 call  0x00004ba0 
+ 00023513  0x0000308a fetch  0x00000002 , 0x000040c1 
+ 00023514  0x0000308b store  0x00000002 , 0x00000449 
+ 00023515  0x0000308d nbranch  0x00004bb3 , 0x0000002d 
+ 00023516  0x0000308e bmark1  0x0000000f , 0x00004bb3 
+ 00023517  0x00003090 fetch  0x00000001 , 0x000044dd 
+ 00023518  0x00003091 nbranch  0x00004bb3 , 0x00000034 
+ 00023519  0x00003092 fetch  0x00000001 , 0x000043af 
+ 00023520  0x00003093 nbranch  0x00004bb3 , 0x00000034 
+ 00023521  0x00003095 fetch  0x00000001 , 0x000044bb 
+ 00023522  0x00003096 bbit1  0x00000005 , 0x00004bb3 
+ 00023523  0x00003098 fetch  0x00000001 , 0x0000043b 
+ 00023524  0x00003099 bbit1  0x00000005 , 0x00004bb3 
+ 00023525  0x0000309a branch  0x00004b95 
+ 00023526  0x0000309d fetcht  0x00000002 , 0x000040c1 
+ 00023527  0x0000309e rshift  0x00000002 , 0x00000002 
+ 00023528  0x0000309f fetch  0x00000002 , 0x00000449 
+ 00023529  0x000030a0 iadd  0x00000002 , 0x0000003f 
+ 00023530  0x000030a1 store  0x00000002 , 0x00000449 
+ 00023531  0x000030a2 branch  0x00004bab 
+ 00023532  0x000030a6 arg  0x00000000 , 0x00000007 
+ 00023533  0x000030a7 branch  0x00005c04 
+ 00023534  0x000030aa arg  0x00000000 , 0x00000007 
+ 00023535  0x000030ab branch  0x00005c08 
+ 00023536  0x000030ae arg  0x00000001 , 0x00000007 
+ 00023537  0x000030af branch  0x00005c04 
+ 00023538  0x000030b2 arg  0x00000001 , 0x00000007 
+ 00023539  0x000030b3 branch  0x00005c08 
+ 00023540  0x000030b6 arg  0x00000002 , 0x00000007 
+ 00023541  0x000030b7 branch  0x00005c04 
+ 00023542  0x000030ba arg  0x00000002 , 0x00000007 
+ 00023543  0x000030bb branch  0x00005c08 
+ 00023544  0x000030be arg  0x00000003 , 0x00000007 
+ 00023545  0x000030bf branch  0x00005c04 
+ 00023546  0x000030c2 arg  0x00000003 , 0x00000007 
+ 00023547  0x000030c3 branch  0x00005c08 
+ 00023548  0x000030c6 arg  0x00000004 , 0x00000007 
+ 00023549  0x000030c7 branch  0x00005c04 
+ 00023550  0x000030ca arg  0x00000004 , 0x00000007 
+ 00023551  0x000030cb branch  0x00005c08 
+ 00023552  0x000030ce arg  0x00000005 , 0x00000007 
+ 00023553  0x000030cf branch  0x00005c04 
+ 00023554  0x000030d2 arg  0x00000005 , 0x00000007 
+ 00023555  0x000030d3 branch  0x00005c08 
+ 00023556  0x000030d7 fetch  0x00000001 , 0x000044bb 
+ 00023557  0x000030d8 qset1  0x0000003f 
+ 00023558  0x000030d9 store  0x00000001 , 0x000044bb 
+ 00023559  0x000030da rtn 
+ 00023560  0x000030dd fetch  0x00000001 , 0x000044bb 
+ 00023561  0x000030de qset0  0x0000003f 
+ 00023562  0x000030df store  0x00000001 , 0x000044bb 
+ 00023563  0x000030e0 rtn 
+ 00023564  0x000030e3 setarg  0x00112233 
+ 00023565  0x000030e4 store  0x00000003 , 0x000044bc 
+ 00023566  0x000030e5 setarg  0x00445566 
+ 00023567  0x000030e6 istore  0x00000003 , 0x00000005 
+ 00023568  0x000030e7 setarg  0x00778899 
+ 00023569  0x000030e8 istore  0x00000003 , 0x00000005 
+ 00023570  0x000030e9 setarg  0x00001122 
+ 00023571  0x000030ea istore  0x00000003 , 0x00000005 
+ 00023572  0x000030eb setarg  0x00334455 
+ 00023573  0x000030ec istore  0x00000003 , 0x00000005 
+ 00023574  0x000030ed setarg  0x00000066 
+ 00023575  0x000030ee istore  0x00000001 , 0x00000005 
+ 00023576  0x000030ef rtn 
+ 00023577  0x000030f3 setarg  0x01000302 
+ 00023578  0x000030f4 store  0x00000004 , 0x00004425 
+ 00023579  0x000030f5 setarg  0x00010010 
+ 00023580  0x000030f6 store  0x00000003 , 0x00004429 
+ 00023581  0x000030f7 jam  0x00000001 , 0x00004498 
+ 00023582  0x000030f8 rtn 
+ 00023583  0x000030fd arg  0x00000000 , 0x00000011 
+ 00023584  0x000030fe arg  0x00000001 , 0x00000001 
+ 00023585  0x000030ff branch  0x00005c30 
+ 00023586  0x00003104 arg  0x00000003 , 0x00000001 
+ 00023587  0x00003105 call  0x00005c30 
+ 00023588  0x00003106 copy  0x00000012 , 0x0000003f 
+ 00023589  0x00003107 istore  0x00000001 , 0x00000005 
+ 00023590  0x00003108 rtn 
+ 00023591  0x0000310d force  0x00000002 , 0x00000001 
+ 00023592  0x0000310e increase  0x00000004 , 0x00000011 
+ 00023593  0x0000310f call  0x00005c30 
+ 00023594  0x00003110 increase  0xfffffffc , 0x00000011 
+ 00023595  0x00003111 copy  0x00000011 , 0x0000003f 
+ 00023596  0x00003112 istore  0x00000002 , 0x00000005 
+ 00023597  0x00003113 copy  0x00000012 , 0x0000003f 
+ 00023598  0x00003114 istore  0x00000002 , 0x00000005 
+ 00023599  0x00003115 rtn 
+ 00023600  0x0000311a sub  0x00000011 , 0x000000f0 , 0x0000003e 
+ 00023601  0x0000311b nbranch  0x00004a8b , 0x00000002 
+ 00023602  0x0000311c fetch  0x00000001 , 0x000044d1 
+ 00023603  0x0000311d arg  0x00000001 , 0x00000002 
+ 00023604  0x0000311e arg  0x00000004 , 0x00000039 
+ 00023605  0x00003120 iand  0x00000002 , 0x0000003e 
+ 00023606  0x00003121 branch  0x00005c3a , 0x00000005 
+ 00023607  0x00003122 lshift  0x00000002 , 0x00000002 
+ 00023608  0x00003123 loop  0x00005c35 
+ 00023609  0x00003124 branch  0x00004a8b 
+ 00023610  0x00003126 ixor  0x00000002 , 0x0000003f 
+ 00023611  0x00003127 store  0x00000001 , 0x000044d1 
+ 00023612  0x00003128 sub  0x00000039 , 0x00000004 , 0x0000003f 
+ 00023613  0x00003129 lshift4  0x0000003f , 0x0000003f 
+ 00023614  0x0000312a lshift4  0x0000003f , 0x0000003f 
+ 00023615  0x0000312b arg  0x00001800 , 0x00000002 
+ 00023616  0x0000312c iadd  0x00000002 , 0x00000002 
+ 00023617  0x0000312e arg  0x00000000 , 0x00000039 
+ 00023618  0x0000312f arg  0x000044d2 , 0x00000006 
+ 00023619  0x00003131 ifetch  0x00000002 , 0x00000006 
+ 00023620  0x00003132 branch  0x00005c49 , 0x00000034 
+ 00023621  0x00003133 copy  0x00000039 , 0x0000003f 
+ 00023622  0x00003134 increase  0x00000001 , 0x00000039 
+ 00023623  0x00003135 bne  0x00000004 , 0x00005c43 
+ 00023624  0x00003136 branch  0x00004a8b 
+ 00023625  0x0000313a increase  0xfffffffe , 0x00000006 
+ 00023626  0x0000313b istoret  0x00000002 , 0x00000006 
+ 00023627  0x0000313c copy  0x00000002 , 0x00000005 
+ 00023628  0x0000313d copy  0x00000011 , 0x0000003f 
+ 00023629  0x0000313e istore  0x00000001 , 0x00000005 
+ 00023630  0x0000313f setarg  0x00000000 
+ 00023631  0x00003140 istore  0x00000001 , 0x00000005 
+ 00023632  0x00003141 copy  0x00000001 , 0x0000003f 
+ 00023633  0x00003142 istore  0x00000001 , 0x00000005 
+ 00023634  0x00003143 rtn 
+ 00023635  0x00003148 fetch  0x00000002 , 0x000044d2 
+ 00023636  0x00003149 copy  0x0000003f , 0x00000006 
+ 00023637  0x0000314a rtn 
+ 00023638  0x0000314d fetch  0x00000002 , 0x000044d4 
+ 00023639  0x0000314e copy  0x0000003f , 0x00000006 
+ 00023640  0x0000314f rtn 
+ 00023641  0x00003152 call  0x00005c5c 
+ 00023642  0x00003153 copy  0x0000003f , 0x00000006 
+ 00023643  0x00003154 rtn 
+ 00023644  0x00003156 fetch  0x00000002 , 0x000044d8 
+ 00023645  0x00003157 nrtn  0x00000034 
+ 00023646  0x00003158 fetch  0x00000002 , 0x000044d6 
+ 00023647  0x00003159 nrtn  0x00000034 
+ 00023648  0x0000315a fetch  0x00000002 , 0x000044d4 
+ 00023649  0x0000315b nrtn  0x00000034 
+ 00023650  0x0000315c fetch  0x00000002 , 0x000044d2 
+ 00023651  0x0000315d rtn 
+ 00023652  0x00003160 call  0x00005c53 
+ 00023653  0x00003161 increase  0x00000003 , 0x00000006 
+ 00023654  0x00003162 rtn 
+ 00023655  0x00003165 call  0x00005c53 
+ 00023656  0x00003166 increase  0x00000007 , 0x00000006 
+ 00023657  0x00003167 rtn 
+ 00023658  0x0000316a call  0x00005c59 
+ 00023659  0x0000316b increase  0x00000007 , 0x00000006 
+ 00023660  0x0000316c rtn 
+ 00023661  0x0000316f call  0x00005c59 
+ 00023662  0x00003170 increase  0x00000003 , 0x00000006 
+ 00023663  0x00003171 rtn 
+ 00023664  0x00003176 fetch  0x00000002 , 0x000044d8 
+ 00023665  0x00003177 rtn 
+ 00023666  0x0000317b fetch  0x00000002 , 0x000044d6 
+ 00023667  0x0000317c rtn 
+ 00023668  0x00003180 fetch  0x00000002 , 0x000044d2 
+ 00023669  0x00003181 rtn 
+ 00023670  0x00003185 fetch  0x00000002 , 0x000044d2 
+ 00023671  0x00003186 arg  0x00001800 , 0x00000002 
+ 00023672  0x00003187 isub  0x00000002 , 0x0000003f 
+ 00023673  0x00003188 rshift4  0x0000003f , 0x0000003f 
+ 00023674  0x00003189 rshift4  0x0000003f , 0x00000007 
+ 00023675  0x0000318a fetch  0x00000001 , 0x000044d1 
+ 00023676  0x0000318b qset0  0x0000003f 
+ 00023677  0x0000318c store  0x00000001 , 0x000044d1 
+ 00023678  0x0000318d arg  0x00000000 , 0x00000039 
+ 00023679  0x0000318f lshift  0x00000039 , 0x0000003f 
+ 00023680  0x00003190 arg  0x000044d4 , 0x00000002 
+ 00023681  0x00003191 iadd  0x00000002 , 0x00000002 
+ 00023682  0x00003192 ifetch  0x00000002 , 0x00000002 
+ 00023683  0x00003193 increase  0xfffffffe , 0x00000002 
+ 00023684  0x00003194 istore  0x00000002 , 0x00000002 
+ 00023685  0x00003195 copy  0x00000039 , 0x0000003f 
+ 00023686  0x00003196 increase  0x00000001 , 0x00000039 
+ 00023687  0x00003197 bne  0x00000003 , 0x00005c7f 
+ 00023688  0x00003198 setarg  0x00000000 
+ 00023689  0x00003199 istore  0x00000002 , 0x00000002 
+ 00023690  0x0000319a rtn 
+ 00023691  0x000031a1 ifetch  0x00000003 , 0x00000006 
+ 00023692  0x000031a2 store  0x00000003 , 0x00000473 
+ 00023693  0x000031a3 beq  0x00000002 , 0x00005ca1 
+ 00023694  0x000031a4 beq  0x00000003 , 0x00005ca9 
+ 00023695  0x000031a5 beq  0x00000004 , 0x00005cac 
+ 00023696  0x000031a6 beq  0x00000006 , 0x00005cd2 
+ 00023697  0x000031a7 beq  0x00000008 , 0x00005d1f 
+ 00023698  0x000031a8 beq  0x0000000a , 0x00005d9c 
+ 00023699  0x000031a9 beq  0x0000000c , 0x00005dc4 
+ 00023700  0x000031aa beq  0x00000010 , 0x00005dda 
+ 00023701  0x000031ab beq  0x00000012 , 0x00005e0f 
+ 00023702  0x000031ac beq  0x00000016 , 0x00005e28 
+ 00023703  0x000031ad beq  0x00000018 , 0x00005e3b 
+ 00023704  0x000031ae beq  0x00000052 , 0x00005e40 
+ 00023705  0x000031af rtn 
+ 00023706  0x000031b3 force  0x00000003 , 0x00000011 
+ 00023707  0x000031b4 call  0x00005e62 
+ 00023708  0x000031b5 setarg  0x00000002 
+ 00023709  0x000031b6 istore  0x00000001 , 0x00000005 
+ 00023710  0x000031b7 fetch  0x00000002 , 0x00004478 
+ 00023711  0x000031b8 istore  0x00000002 , 0x00000005 
+ 00023712  0x000031b9 rtn 
+ 00023713  0x000031bd call  0x00005ca9 
+ 00023714  0x000031bf force  0x00000003 , 0x00000011 
+ 00023715  0x000031c0 call  0x00005e62 
+ 00023716  0x000031c1 setarg  0x00000003 
+ 00023717  0x000031c2 istore  0x00000001 , 0x00000005 
+ 00023718  0x000031c3 fetch  0x00000002 , 0x00004478 
+ 00023719  0x000031c4 istore  0x00000002 , 0x00000005 
+ 00023720  0x000031c5 rtn 
+ 00023721  0x000031c8 rshift8  0x0000003f , 0x0000003f 
+ 00023722  0x000031c9 store  0x00000002 , 0x0000447a 
+ 00023723  0x000031ca rtn 
+ 00023724  0x000031cd call  0x00005e91 
+ 00023725  0x000031ce call  0x00007dbf 
+ 00023726  0x000031cf branch  0x00005caf 
+ 00023727  0x000031d2 arg  0x00000003 , 0x0000000b 
+ 00023728  0x000031d3 call  0x00005b36 
+ 00023729  0x000031d5 call  0x00005b3f 
+ 00023730  0x000031d6 branch  0x00005cd0 , 0x00000034 
+ 00023731  0x000031d7 nbranch  0x00005ccd , 0x00000002 
+ 00023732  0x000031d8 increase  0xfffffffe , 0x00000006 
+ 00023733  0x000031d9 call  0x00007c80 
+ 00023734  0x000031da call  0x00007c77 
+ 00023735  0x000031db nbranch  0x00005cc1 , 0x00000028 
+ 00023736  0x000031dc call  0x00007c60 
+ 00023737  0x000031dd call  0x00007dc1 
+ 00023738  0x000031de force  0x00000014 , 0x00000011 
+ 00023739  0x000031df call  0x00005e62 
+ 00023740  0x000031e0 call  0x00007c70 
+ 00023741  0x000031e1 setarg  0x00000005 
+ 00023742  0x000031e2 istore  0x00000001 , 0x00000005 
+ 00023743  0x000031e3 setarg  0x00000001 
+ 00023744  0x000031e4 istore  0x00000001 , 0x00000005 
+ 00023745  0x000031e6 call  0x00007c7a 
+ 00023746  0x000031e7 ifetch  0x00000002 , 0x00000006 
+ 00023747  0x000031e8 istore  0x00000002 , 0x00000005 
+ 00023748  0x000031e9 ifetch  0x00000001 , 0x00000006 
+ 00023749  0x000031ea copy  0x0000003f , 0x00000039 
+ 00023750  0x000031eb call  0x00007cdc 
+ 00023751  0x000031ec call  0x00007c7d 
+ 00023752  0x000031ed increase  0xffffffff , 0x0000000b 
+ 00023753  0x000031ee branch  0x00005cd0 , 0x00000005 
+ 00023754  0x000031f0 ifetch  0x00000001 , 0x00000006 
+ 00023755  0x000031f1 iadd  0x00000006 , 0x00000006 
+ 00023756  0x000031f2 branch  0x00005cb1 
+ 00023757  0x000031f4 ifetch  0x00000001 , 0x00000006 
+ 00023758  0x000031f5 iadd  0x00000006 , 0x00000006 
+ 00023759  0x000031f6 branch  0x00005cca 
+ 00023760  0x000031f8 branch  0x00005e56 , 0x00000028 
+ 00023761  0x000031f9 branch  0x00005e85 
+ 00023762  0x000031fd call  0x00005e91 
+ 00023763  0x000031fe ifetch  0x00000002 , 0x00000006 
+ 00023764  0x000031ff store  0x00000002 , 0x00004444 
+ 00023765  0x00003200 call  0x00007c80 
+ 00023766  0x00003201 arg  0x00004430 , 0x00000005 
+ 00023767  0x00003202 fetch  0x00000002 , 0x000044ce 
+ 00023768  0x00003203 increase  0xfffffff9 , 0x0000003f 
+ 00023769  0x00003204 call  0x00005ab7 
+ 00023770  0x00003205 branch  0x00005ce5 
+ 00023771  0x00003209 disable  0x00000028 
+ 00023772  0x0000320a fetcht  0x00000002 , 0x0000442c 
+ 00023773  0x0000320b fetch  0x00000002 , 0x0000442e 
+ 00023774  0x0000320c isub  0x00000002 , 0x0000003e 
+ 00023775  0x0000320d nbranch  0x00005ce2 , 0x00000002 
+ 00023776  0x0000320e deposit  0x00000002 
+ 00023777  0x0000320f rtnne  0x00000000 
+ 00023778  0x00003211 enable  0x00000028 
+ 00023779  0x00003212 jam  0x00000001 , 0x00000476 
+ 00023780  0x00003213 branch  0x00005e57 
+ 00023781  0x00003217 call  0x00005cdb 
+ 00023782  0x00003218 rtn  0x00000028 
+ 00023783  0x00003219 fetcht  0x00000002 , 0x00004444 
+ 00023784  0x0000321a setarg  0x00002800 
+ 00023785  0x0000321b isub  0x00000002 , 0x0000003e 
+ 00023786  0x0000321c branch  0x00005cec , 0x00000005 
+ 00023787  0x0000321d branch  0x00005e56 
+ 00023788  0x00003221 jam  0x00000000 , 0x000004b0 
+ 00023789  0x00003222 fetcht  0x00000002 , 0x0000442c 
+ 00023790  0x00003223 storet  0x00000002 , 0x00000a9e 
+ 00023791  0x00003224 call  0x00005b6c 
+ 00023792  0x00003225 nbranch  0x00005e56 , 0x00000034 
+ 00023793  0x00003227 fetcht  0x00000002 , 0x00000a9e 
+ 00023794  0x00003228 call  0x00005b6c 
+ 00023795  0x00003229 nbranch  0x00005d05 , 0x00000034 
+ 00023796  0x0000322a copy  0x00000006 , 0x00000011 
+ 00023797  0x0000322b fetch  0x00000001 , 0x000004af 
+ 00023798  0x0000322c copy  0x0000003f , 0x00000039 
+ 00023799  0x0000322d fetcht  0x00000001 , 0x00004430 
+ 00023800  0x0000322e isub  0x00000002 , 0x0000003e 
+ 00023801  0x0000322f nbranch  0x00005d01 , 0x00000005 
+ 00023802  0x00003230 arg  0x00004431 , 0x00000012 
+ 00023803  0x00003231 call  0x00007d63 
+ 00023804  0x00003233 branch  0x00005d08 , 0x00000005 
+ 00023805  0x00003235 fetch  0x00000002 , 0x0000049f 
+ 00023806  0x00003236 fetcht  0x00000002 , 0x00004444 
+ 00023807  0x00003237 isub  0x00000002 , 0x0000003e 
+ 00023808  0x00003238 branch  0x00005d10 , 0x00000005 
+ 00023809  0x0000323a fetch  0x00000002 , 0x00000a9e 
+ 00023810  0x0000323b increase  0x00000001 , 0x0000003f 
+ 00023811  0x0000323c store  0x00000002 , 0x00000a9e 
+ 00023812  0x0000323d branch  0x00005cf1 
+ 00023813  0x00003240 fetch  0x00000001 , 0x000004b0 
+ 00023814  0x00003241 beq  0x00000001 , 0x00005d10 
+ 00023815  0x00003242 branch  0x00005e56 
+ 00023816  0x00003246 fetch  0x00000002 , 0x0000049f 
+ 00023817  0x00003247 fetcht  0x00000002 , 0x00004444 
+ 00023818  0x00003248 isub  0x00000002 , 0x0000003e 
+ 00023819  0x00003249 nbranch  0x00005d01 , 0x00000005 
+ 00023820  0x0000324a jam  0x00000001 , 0x000004b0 
+ 00023821  0x0000324c fetcht  0x00000002 , 0x00000a9e 
+ 00023822  0x0000324d storet  0x00000002 , 0x0000049a 
+ 00023823  0x0000324e branch  0x00005d01 
+ 00023824  0x00003251 fetch  0x00000001 , 0x000004b0 
+ 00023825  0x00003252 beq  0x00000000 , 0x00005d01 
+ 00023826  0x00003253 jam  0x00000002 , 0x000004b0 
+ 00023827  0x00003254 fetcht  0x00000002 , 0x00000a9e 
+ 00023828  0x00003255 increase  0xffffffff , 0x00000002 
+ 00023829  0x00003256 storet  0x00000002 , 0x0000049c 
+ 00023830  0x00003259 arg  0x00000005 , 0x00000011 
+ 00023831  0x0000325a call  0x00005e62 
+ 00023832  0x0000325b setarg  0x00000007 
+ 00023833  0x0000325c istore  0x00000001 , 0x00000005 
+ 00023834  0x0000325d fetch  0x00000002 , 0x0000049a 
+ 00023835  0x0000325e istore  0x00000002 , 0x00000005 
+ 00023836  0x0000325f fetch  0x00000002 , 0x0000049c 
+ 00023837  0x00003260 istore  0x00000002 , 0x00000005 
+ 00023838  0x00003261 rtn 
+ 00023839  0x00003266 call  0x00005e91 
+ 00023840  0x00003267 call  0x00005abb 
+ 00023841  0x00003268 branch  0x00005d22 
+ 00023842  0x0000326b fetcht  0x00000002 , 0x0000442c 
+ 00023843  0x0000326c storet  0x00000002 , 0x00000a9e 
+ 00023844  0x0000326d call  0x00005b36 
+ 00023845  0x0000326e call  0x00005b4d 
+ 00023846  0x0000326f increase  0xfffffffe , 0x00000006 
+ 00023847  0x00003270 copy  0x00000006 , 0x0000003f 
+ 00023848  0x00003271 store  0x00000002 , 0x00000498 
+ 00023849  0x00003273 fetcht  0x00000002 , 0x00004444 
+ 00023850  0x00003274 setarg  0x00002a00 
+ 00023851  0x00003275 isub  0x00000002 , 0x0000003e 
+ 00023852  0x00003276 branch  0x00005d88 , 0x00000005 
+ 00023853  0x00003277 setarg  0x00002803 
+ 00023854  0x00003278 isub  0x00000002 , 0x0000003e 
+ 00023855  0x00003279 nbranch  0x00005d70 , 0x00000005 
+ 00023856  0x0000327a arg  0x00000002 , 0x0000000b 
+ 00023857  0x0000327c call  0x00005e68 
+ 00023858  0x0000327d nbranch  0x00005d4d , 0x00000002 
+ 00023859  0x0000327e fetcht  0x00000002 , 0x00000a9e 
+ 00023860  0x0000327f call  0x00005b6a 
+ 00023861  0x00003280 beq  0x00000001 , 0x00005d4d 
+ 00023862  0x00003281 call  0x00005e74 
+ 00023863  0x00003282 nbranch  0x00005d4b , 0x00000005 
+ 00023864  0x00003283 nbranch  0x00005d4f , 0x00000028 
+ 00023865  0x00003284 disable  0x00000028 
+ 00023866  0x00003285 arg  0x00000014 , 0x00000011 
+ 00023867  0x00003286 call  0x00005e62 
+ 00023868  0x00003287 setarg  0x00000009 
+ 00023869  0x00003288 istore  0x00000001 , 0x00000005 
+ 00023870  0x00003289 copy  0x00000005 , 0x00000030 
+ 00023871  0x0000328a increase  0x00000001 , 0x00000005 
+ 00023872  0x0000328c call  0x00005d5d 
+ 00023873  0x0000328d call  0x00005e64 
+ 00023874  0x0000328e call  0x00005b6a 
+ 00023875  0x0000328f call  0x00005d64 
+ 00023876  0x00003290 fetch  0x00000001 , 0x0000049e 
+ 00023877  0x00003291 increase  0x00000005 , 0x0000003f 
+ 00023878  0x00003292 istore  0x00000001 , 0x00000030 
+ 00023879  0x00003293 fetch  0x00000001 , 0x0000049e 
+ 00023880  0x00003294 beq  0x00000010 , 0x00005d4d 
+ 00023881  0x00003295 increase  0xffffffff , 0x0000000b 
+ 00023882  0x00003296 branch  0x00005d4d , 0x00000005 
+ 00023883  0x00003298 call  0x00005e64 
+ 00023884  0x00003299 branch  0x00005d31 
+ 00023885  0x0000329b branch  0x00005e56 , 0x00000028 
+ 00023886  0x0000329c branch  0x00005e85 
+ 00023887  0x0000329f call  0x00005e77 
+ 00023888  0x000032a0 call  0x00005e64 
+ 00023889  0x000032a1 call  0x00005b6a 
+ 00023890  0x000032a2 fetch  0x00000001 , 0x0000049e 
+ 00023891  0x000032a3 beq  0x00000010 , 0x00005d4d 
+ 00023892  0x000032a5 call  0x00007c77 
+ 00023893  0x000032a6 fetch  0x00000002 , 0x00000a9e 
+ 00023894  0x000032a7 increase  0xffffffff , 0x0000003f 
+ 00023895  0x000032a8 istore  0x00000002 , 0x00000005 
+ 00023896  0x000032a9 call  0x00005e81 
+ 00023897  0x000032aa call  0x00005d64 
+ 00023898  0x000032ab increase  0xffffffff , 0x0000000b 
+ 00023899  0x000032ac branch  0x00005d4d , 0x00000005 
+ 00023900  0x000032ad branch  0x00005d4b 
+ 00023901  0x000032b1 fetch  0x00000002 , 0x00000a9e 
+ 00023902  0x000032b2 istore  0x00000002 , 0x00000005 
+ 00023903  0x000032b4 fetch  0x00000001 , 0x000004af 
+ 00023904  0x000032b5 copy  0x0000003f , 0x00000039 
+ 00023905  0x000032b6 call  0x00007c7a 
+ 00023906  0x000032b7 call  0x00007ccf 
+ 00023907  0x000032b8 branch  0x00007c7d 
+ 00023908  0x000032ba call  0x00007c77 
+ 00023909  0x000032bb fetch  0x00000002 , 0x00000a9e 
+ 00023910  0x000032bc istore  0x00000002 , 0x00000005 
+ 00023911  0x000032bd call  0x00007c7d 
+ 00023912  0x000032be fetch  0x00000001 , 0x0000049e 
+ 00023913  0x000032bf copy  0x0000003f , 0x00000039 
+ 00023914  0x000032c0 call  0x00007c77 
+ 00023915  0x000032c1 call  0x00007c7a 
+ 00023916  0x000032c2 isub  0x00000039 , 0x00000006 
+ 00023917  0x000032c3 increase  0xffffffff , 0x00000006 
+ 00023918  0x000032c4 call  0x00007ccf 
+ 00023919  0x000032c5 branch  0x00007c7d 
+ 00023920  0x000032ca fetcht  0x00000002 , 0x0000442c 
+ 00023921  0x000032cb storet  0x00000002 , 0x00000a9e 
+ 00023922  0x000032cd call  0x00005e68 
+ 00023923  0x000032ce nbranch  0x00005e56 , 0x00000002 
+ 00023924  0x000032cf call  0x00005b6a 
+ 00023925  0x000032d0 beq  0x00000001 , 0x00005e56 
+ 00023926  0x000032d1 call  0x00005e74 
+ 00023927  0x000032d2 nbranch  0x00005d86 , 0x00000005 
+ 00023928  0x000032d5 arg  0x00000014 , 0x00000011 
+ 00023929  0x000032d6 call  0x00005e62 
+ 00023930  0x000032d7 setarg  0x00000009 
+ 00023931  0x000032d8 istore  0x00000001 , 0x00000005 
+ 00023932  0x000032d9 fetch  0x00000001 , 0x000004af 
+ 00023933  0x000032da copy  0x0000003f , 0x00000039 
+ 00023934  0x000032db increase  0x00000002 , 0x0000003f 
+ 00023935  0x000032dc istore  0x00000001 , 0x00000005 
+ 00023936  0x000032dd fetch  0x00000002 , 0x00000a9e 
+ 00023937  0x000032de istore  0x00000002 , 0x00000005 
+ 00023938  0x000032df call  0x00007c7a 
+ 00023939  0x000032e0 call  0x00007ccf 
+ 00023940  0x000032e1 call  0x00007c7d 
+ 00023941  0x000032e2 branch  0x00005e85 
+ 00023942  0x000032e5 call  0x00005e64 
+ 00023943  0x000032e6 branch  0x00005d72 
+ 00023944  0x000032ea arg  0x00002a00 , 0x00000002 
+ 00023945  0x000032eb call  0x00005b5c 
+ 00023946  0x000032ec rtn  0x00000034 
+ 00023947  0x000032ed increase  0xfffffffb , 0x00000006 
+ 00023948  0x000032ee ifetch  0x00000002 , 0x00000006 
+ 00023949  0x000032ef store  0x00000002 , 0x00000a9e 
+ 00023950  0x000032f0 arg  0x00000014 , 0x00000011 
+ 00023951  0x000032f1 call  0x00005e62 
+ 00023952  0x000032f2 setarg  0x00000009 
+ 00023953  0x000032f3 istore  0x00000001 , 0x00000005 
+ 00023954  0x000032f4 fetch  0x00000001 , 0x00004381 
+ 00023955  0x000032f5 copy  0x0000003f , 0x00000039 
+ 00023956  0x000032f6 increase  0x00000002 , 0x0000003f 
+ 00023957  0x000032f7 istore  0x00000001 , 0x00000005 
+ 00023958  0x000032f8 fetch  0x00000002 , 0x00000a9e 
+ 00023959  0x000032f9 istore  0x00000002 , 0x00000005 
+ 00023960  0x000032fa arg  0x00004382 , 0x00000006 
+ 00023961  0x000032fb call  0x00007ccf 
+ 00023962  0x000032fc call  0x00007c7d 
+ 00023963  0x000032fd branch  0x00005e85 
+ 00023964  0x00003302 fetcht  0x00000002 , 0x00000474 
+ 00023965  0x00003303 fetch  0x00000001 , 0x000044bb 
+ 00023966  0x00003304 bbit1  0x00000003 , 0x00005dbd 
+ 00023967  0x00003307 call  0x00005b4a 
+ 00023968  0x00003308 branch  0x00005e56 , 0x00000034 
+ 00023969  0x00003309 increase  0xfffffffe , 0x00000006 
+ 00023970  0x0000330a ifetch  0x00000002 , 0x00000006 
+ 00023971  0x0000330b arg  0x00002a00 , 0x00000002 
+ 00023972  0x0000330c isub  0x00000002 , 0x0000003e 
+ 00023973  0x0000330d branch  0x00005db3 , 0x00000005 
+ 00023974  0x0000330e ifetch  0x00000001 , 0x00000006 
+ 00023975  0x0000330f sub  0x0000003f , 0x00000016 , 0x0000003e 
+ 00023976  0x00003310 branch  0x00005daa , 0x00000002 
+ 00023977  0x00003311 force  0x00000016 , 0x0000003f 
+ 00023978  0x00003313 copy  0x0000003f , 0x00000013 
+ 00023979  0x00003314 call  0x00007c80 
+ 00023980  0x00003315 add  0x00000013 , 0x00000001 , 0x00000011 
+ 00023981  0x00003316 call  0x00005e62 
+ 00023982  0x00003317 setarg  0x0000000b 
+ 00023983  0x00003318 istore  0x00000001 , 0x00000005 
+ 00023984  0x00003319 copy  0x00000013 , 0x00000039 
+ 00023985  0x0000331a call  0x00007c7a 
+ 00023986  0x0000331b branch  0x00007cdc 
+ 00023987  0x0000331e call  0x00007c80 
+ 00023988  0x0000331f fetch  0x00000001 , 0x00004381 
+ 00023989  0x00003320 add  0x0000003f , 0x00000001 , 0x00000011 
+ 00023990  0x00003321 call  0x00005e62 
+ 00023991  0x00003322 setarg  0x0000000b 
+ 00023992  0x00003323 istore  0x00000001 , 0x00000005 
+ 00023993  0x00003324 fetch  0x00000001 , 0x00004381 
+ 00023994  0x00003325 copy  0x0000003f , 0x00000039 
+ 00023995  0x00003326 arg  0x00004382 , 0x00000006 
+ 00023996  0x00003327 branch  0x00007cdc 
+ 00023997  0x0000332b fetch  0x00000002 , 0x000044cc 
+ 00023998  0x0000332c isub  0x00000002 , 0x0000003e 
+ 00023999  0x0000332d nbranch  0x00005d9f , 0x00000005 
+ 00024000  0x0000332f call  0x00005e22 
+ 00024001  0x00003330 nbranch  0x00005d9f , 0x00000028 
+ 00024002  0x00003331 jam  0x00000005 , 0x00000476 
+ 00024003  0x00003332 branch  0x00005e57 
+ 00024004  0x00003336 ifetch  0x00000002 , 0x00000006 
+ 00024005  0x00003337 store  0x00000002 , 0x00004430 
+ 00024006  0x00003339 arg  0x00000014 , 0x00000011 
+ 00024007  0x0000333a call  0x00005e62 
+ 00024008  0x0000333b setarg  0x0000000d 
+ 00024009  0x0000333c istore  0x00000001 , 0x00000005 
+ 00024010  0x0000333d fetch  0x00000002 , 0x00004430 
+ 00024011  0x0000333e iforce  0x00000011 
+ 00024012  0x0000333f fetcht  0x00000002 , 0x00000474 
+ 00024013  0x00003340 call  0x00005b4a 
+ 00024014  0x00003341 branch  0x00005e56 , 0x00000034 
+ 00024015  0x00003342 ifetch  0x00000001 , 0x00000006 
+ 00024016  0x00003343 isub  0x00000011 , 0x00000039 
+ 00024017  0x00003344 nbranch  0x00005e56 , 0x00000002 
+ 00024018  0x00003345 sub  0x00000039 , 0x00000016 , 0x0000003e 
+ 00024019  0x00003346 branch  0x00005dd5 , 0x00000002 
+ 00024020  0x00003347 force  0x00000016 , 0x00000039 
+ 00024021  0x00003349 deposit  0x00000011 
+ 00024022  0x0000334a iadd  0x00000006 , 0x00000006 
+ 00024023  0x0000334b call  0x00007ccf 
+ 00024024  0x0000334c call  0x00007c7d 
+ 00024025  0x0000334d branch  0x00005e85 
+ 00024026  0x00003351 call  0x00005e91 
+ 00024027  0x00003352 call  0x00005ab3 
+ 00024028  0x00003353 branch  0x00005ddd 
+ 00024029  0x00003359 arg  0x00000002 , 0x0000000b 
+ 00024030  0x0000335a fetcht  0x00000002 , 0x0000442c 
+ 00024031  0x0000335e storet  0x00000002 , 0x00000a9e 
+ 00024032  0x0000335f call  0x00005b36 
+ 00024033  0x00003360 call  0x00005b4d 
+ 00024034  0x00003361 increase  0xfffffffe , 0x00000006 
+ 00024035  0x00003362 copy  0x00000006 , 0x0000003f 
+ 00024036  0x00003363 store  0x00000002 , 0x00000498 
+ 00024037  0x00003365 call  0x00005e68 
+ 00024038  0x00003366 nbranch  0x00005e05 , 0x00000002 
+ 00024039  0x00003367 fetcht  0x00000002 , 0x00000a9e 
+ 00024040  0x00003368 call  0x00005b6a 
+ 00024041  0x00003369 beq  0x00000001 , 0x00005e08 
+ 00024042  0x0000336b call  0x00005e6c 
+ 00024043  0x0000336c nbranch  0x00005e03 , 0x00000005 
+ 00024044  0x0000336d copy  0x0000000b , 0x0000003f 
+ 00024045  0x0000336e beq  0x00000000 , 0x00005e08 
+ 00024046  0x0000336f nbranch  0x00005df9 , 0x00000028 
+ 00024047  0x00003370 disable  0x00000028 
+ 00024048  0x00003372 arg  0x00000014 , 0x00000011 
+ 00024049  0x00003373 call  0x00005e62 
+ 00024050  0x00003374 setarg  0x00000011 
+ 00024051  0x00003375 istore  0x00000001 , 0x00000005 
+ 00024052  0x00003376 fetch  0x00000001 , 0x000004af 
+ 00024053  0x00003377 increase  0x00000004 , 0x0000003f 
+ 00024054  0x00003378 istore  0x00000001 , 0x00000005 
+ 00024055  0x00003379 call  0x00007c7d 
+ 00024056  0x0000337a branch  0x00005dff 
+ 00024057  0x0000337c fetch  0x00000001 , 0x000004af 
+ 00024058  0x0000337d beq  0x00000010 , 0x00005e08 
+ 00024059  0x0000337e fetch  0x00000002 , 0x00000a9e 
+ 00024060  0x0000337f increase  0xffffffff , 0x0000003f 
+ 00024061  0x00003380 store  0x00000002 , 0x0000049c 
+ 00024062  0x00003381 call  0x00005e7c 
+ 00024063  0x00003383 fetch  0x00000002 , 0x00000a9e 
+ 00024064  0x00003384 store  0x00000002 , 0x0000049a 
+ 00024065  0x00003385 call  0x00005e77 
+ 00024066  0x00003386 increase  0xffffffff , 0x0000000b 
+ 00024067  0x00003389 call  0x00005e64 
+ 00024068  0x0000338a branch  0x00005de5 
+ 00024069  0x0000338d fetch  0x00000002 , 0x00000a9e 
+ 00024070  0x0000338e store  0x00000002 , 0x0000049c 
+ 00024071  0x0000338f branch  0x00005e0c 
+ 00024072  0x00003391 fetch  0x00000002 , 0x00000a9e 
+ 00024073  0x00003392 increase  0xffffffff , 0x0000003f 
+ 00024074  0x00003393 store  0x00000002 , 0x0000049c 
+ 00024075  0x00003394 branch  0x00005e0c 
+ 00024076  0x00003396 branch  0x00005e56 , 0x00000028 
+ 00024077  0x00003397 call  0x00005e7c 
+ 00024078  0x00003398 branch  0x00005e85 
+ 00024079  0x0000339e copy  0x00000006 , 0x00000011 
+ 00024080  0x0000339f fetch  0x00000002 , 0x000044ce 
+ 00024081  0x000033a0 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00024082  0x000033a1 call  0x00005abe 
+ 00024083  0x000033a3 fetch  0x00000001 , 0x000044bb 
+ 00024084  0x000033a4 bbit0  0x00000004 , 0x00005e1d 
+ 00024085  0x000033a6 fetcht  0x00000002 , 0x00000474 
+ 00024086  0x000033a7 fetch  0x00000002 , 0x000044cc 
+ 00024087  0x000033a8 isub  0x00000002 , 0x0000003e 
+ 00024088  0x000033a9 nbranch  0x00005e1d , 0x00000005 
+ 00024089  0x000033aa call  0x00005e22 
+ 00024090  0x000033ab nbranch  0x00005e1d , 0x00000028 
+ 00024091  0x000033ac jam  0x00000005 , 0x00000476 
+ 00024092  0x000033ad branch  0x00005e57 
+ 00024093  0x000033b0 force  0x00000001 , 0x00000011 
+ 00024094  0x000033b1 call  0x00005e62 
+ 00024095  0x000033b2 setarg  0x00000013 
+ 00024096  0x000033b3 istore  0x00000001 , 0x00000005 
+ 00024097  0x000033b4 rtn 
+ 00024098  0x000033b7 call  0x00007dc1 
+ 00024099  0x000033b8 fetch  0x00000001 , 0x00004498 
+ 00024100  0x000033b9 rtneq  0x00000000 
+ 00024101  0x000033ba fetch  0x00000001 , 0x00004040 
+ 00024102  0x000033bb rtnbit1  0x00000004 
+ 00024103  0x000033bc branch  0x00007dbf 
+ 00024104  0x000033c0 add  0x00000006 , 0x00000002 , 0x00000011 
+ 00024105  0x000033c1 fetch  0x00000002 , 0x000044ce 
+ 00024106  0x000033c2 add  0x0000003f , 0xfffffffb , 0x00000012 
+ 00024107  0x000033c3 call  0x00005abe 
+ 00024108  0x000033c4 branch  0x00005e2d 
+ 00024109  0x000033c8 fetch  0x00000002 , 0x000044ce 
+ 00024110  0x000033c9 copy  0x0000003f , 0x00000011 
+ 00024111  0x000033ca call  0x00005e62 
+ 00024112  0x000033cb setarg  0x00000017 
+ 00024113  0x000033cc istore  0x00000001 , 0x00000005 
+ 00024114  0x000033cd fetch  0x00000002 , 0x00000474 
+ 00024115  0x000033ce istore  0x00000002 , 0x00000005 
+ 00024116  0x000033cf fetch  0x00000002 , 0x000044ce 
+ 00024117  0x000033d0 add  0x0000003f , 0xfffffffb , 0x00000039 
+ 00024118  0x000033d1 fetch  0x00000002 , 0x000044df 
+ 00024119  0x000033d2 add  0x0000003f , 0x00000007 , 0x00000006 
+ 00024120  0x000033d3 ifetch  0x00000002 , 0x00000006 
+ 00024121  0x000033d4 istore  0x00000002 , 0x00000005 
+ 00024122  0x000033d5 branch  0x00007ccf 
+ 00024123  0x000033dc force  0x00000001 , 0x00000011 
+ 00024124  0x000033dd call  0x00005e62 
+ 00024125  0x000033de setarg  0x00000019 
+ 00024126  0x000033df istore  0x00000001 , 0x00000005 
+ 00024127  0x000033e0 rtn 
+ 00024128  0x000033e5 copy  0x00000006 , 0x00000011 
+ 00024129  0x000033e6 fetch  0x00000002 , 0x000044ce 
+ 00024130  0x000033e7 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00024131  0x000033e8 branch  0x00005abe 
+ 00024132  0x000033ee copy  0x00000002 , 0x00000013 
+ 00024133  0x000033ef increase  0x00000003 , 0x00000011 
+ 00024134  0x000033f0 call  0x00005e62 
+ 00024135  0x000033f1 increase  0xfffffffd , 0x00000011 
+ 00024136  0x000033f2 setarg  0x0000001b 
+ 00024137  0x000033f3 istore  0x00000001 , 0x00000005 
+ 00024138  0x000033f4 copy  0x00000013 , 0x00000002 
+ 00024139  0x000033f5 istoret  0x00000002 , 0x00000005 
+ 00024140  0x000033f6 rtn 
+ 00024141  0x000033fa copy  0x00000002 , 0x00000013 
+ 00024142  0x000033fb increase  0x00000003 , 0x00000011 
+ 00024143  0x000033fc call  0x00005e62 
+ 00024144  0x000033fd increase  0xfffffffd , 0x00000011 
+ 00024145  0x000033fe setarg  0x0000001d 
+ 00024146  0x000033ff istore  0x00000001 , 0x00000005 
+ 00024147  0x00003400 copy  0x00000013 , 0x00000002 
+ 00024148  0x00003401 istoret  0x00000002 , 0x00000005 
+ 00024149  0x00003402 rtn 
+ 00024150  0x00003408 jam  0x0000000a , 0x00000476 
+ 00024151  0x0000340a force  0x00000005 , 0x00000011 
+ 00024152  0x0000340b call  0x00005e62 
+ 00024153  0x0000340c setarg  0x00000001 
+ 00024154  0x0000340d istore  0x00000001 , 0x00000005 
+ 00024155  0x0000340e fetch  0x00000001 , 0x00000473 
+ 00024156  0x0000340f istore  0x00000001 , 0x00000005 
+ 00024157  0x00003410 fetch  0x00000002 , 0x00000474 
+ 00024158  0x00003411 istore  0x00000002 , 0x00000005 
+ 00024159  0x00003412 fetch  0x00000001 , 0x00000476 
+ 00024160  0x00003413 istore  0x00000001 , 0x00000005 
+ 00024161  0x00003414 rtn 
+ 00024162  0x00003418 force  0x00000004 , 0x00000012 
+ 00024163  0x00003419 branch  0x00005c27 
+ 00024164  0x0000341d fetcht  0x00000002 , 0x00000a9e 
+ 00024165  0x0000341e increase  0x00000001 , 0x00000002 
+ 00024166  0x0000341f storet  0x00000002 , 0x00000a9e 
+ 00024167  0x00003420 rtn 
+ 00024168  0x00003423 fetcht  0x00000002 , 0x00000a9e 
+ 00024169  0x00003424 fetch  0x00000002 , 0x0000442e 
+ 00024170  0x00003425 isub  0x00000002 , 0x0000003e 
+ 00024171  0x00003426 rtn 
+ 00024172  0x0000342a fetcht  0x00000001 , 0x00004430 
+ 00024173  0x0000342b arg  0x00004431 , 0x00000011 
+ 00024174  0x0000342d fetch  0x00000001 , 0x0000049e 
+ 00024175  0x0000342e copy  0x0000003f , 0x00000039 
+ 00024176  0x0000342f isub  0x00000002 , 0x0000003e 
+ 00024177  0x00003430 nrtn  0x00000005 
+ 00024178  0x00003431 arg  0x0000049f , 0x00000012 
+ 00024179  0x00003432 branch  0x00007d63 
+ 00024180  0x00003435 fetcht  0x00000001 , 0x00004443 
+ 00024181  0x00003436 arg  0x00004444 , 0x00000011 
+ 00024182  0x00003437 branch  0x00005e6e 
+ 00024183  0x0000343b fetch  0x00000001 , 0x000004af 
+ 00024184  0x0000343c store  0x00000001 , 0x000000ff 
+ 00024185  0x0000343d copy  0x0000003f , 0x00000039 
+ 00024186  0x0000343e call  0x00007c7a 
+ 00024187  0x0000343f branch  0x00007ccf 
+ 00024188  0x00003443 call  0x00007c77 
+ 00024189  0x00003444 fetch  0x00000002 , 0x0000049a 
+ 00024190  0x00003445 istore  0x00000002 , 0x00000005 
+ 00024191  0x00003446 fetch  0x00000002 , 0x0000049c 
+ 00024192  0x00003447 istore  0x00000002 , 0x00000005 
+ 00024193  0x00003449 fetch  0x00000001 , 0x000000ff 
+ 00024194  0x0000344a copy  0x0000003f , 0x00000039 
+ 00024195  0x0000344b call  0x00007ccf 
+ 00024196  0x0000344c branch  0x00007c7d 
+ 00024197  0x00003451 call  0x00007c77 
+ 00024198  0x00003452 call  0x00005c6a 
+ 00024199  0x00003453 copy  0x00000005 , 0x0000003f 
+ 00024200  0x00003454 isub  0x00000006 , 0x00000011 
+ 00024201  0x00003455 call  0x00005c6d 
+ 00024202  0x00003456 copy  0x00000011 , 0x0000003f 
+ 00024203  0x00003457 istore  0x00000002 , 0x00000006 
+ 00024204  0x00003458 increase  0x00000004 , 0x00000011 
+ 00024205  0x00003459 call  0x00005c59 
+ 00024206  0x0000345a copy  0x00000011 , 0x0000003f 
+ 00024207  0x0000345b istore  0x00000001 , 0x00000006 
+ 00024208  0x0000345c rtn 
+ 00024209  0x00003460 rshift8  0x0000003f , 0x0000003f 
+ 00024210  0x00003461 store  0x00000002 , 0x0000442c 
+ 00024211  0x00003462 ifetch  0x00000002 , 0x00000006 
+ 00024212  0x00003463 store  0x00000002 , 0x0000442e 
+ 00024213  0x00003464 rtn 
+ 00024214  0x0000346a ifetch  0x00000001 , 0x00000006 
+ 00024215  0x0000346b ifetcht  0x00000001 , 0x00000006 
+ 00024216  0x0000346c ifetcht  0x00000002 , 0x00000006 
+ 00024217  0x0000346d beq  0x00000013 , 0x00005e9b 
+ 00024218  0x0000346e rtn 
+ 00024219  0x00003470 ifetch  0x00000002 , 0x00000006 
+ 00024220  0x00003471 store  0x00000002 , 0x000044db 
+ 00024221  0x00003472 jam  0x00000040 , 0x00000a95 
+ 00024222  0x00003473 branch  0x00007bab 
+ 00024223  0x0000347a arg  0x0000000c , 0x00000011 
+ 00024224  0x0000347b arg  0x00000012 , 0x00000013 
+ 00024225  0x0000347c call  0x00005ea7 
+ 00024226  0x0000347d setarg  0x00000008 
+ 00024227  0x0000347e istore  0x00000002 , 0x00000005 
+ 00024228  0x0000347f fetch  0x00000008 , 0x00004468 
+ 00024229  0x00003480 istore  0x00000008 , 0x00000005 
+ 00024230  0x00003481 rtn 
+ 00024231  0x00003486 call  0x00005eaf 
+ 00024232  0x00003487 arg  0x00000005 , 0x00000012 
+ 00024233  0x00003488 call  0x00005c27 
+ 00024234  0x00003489 copy  0x00000013 , 0x0000003f 
+ 00024235  0x0000348a istore  0x00000001 , 0x00000005 
+ 00024236  0x0000348b fetch  0x00000001 , 0x000044da 
+ 00024237  0x0000348c istore  0x00000001 , 0x00000005 
+ 00024238  0x0000348d rtn 
+ 00024239  0x00003491 fetch  0x00000001 , 0x000044da 
+ 00024240  0x00003493 pincrease  0x00000001 
+ 00024241  0x00003494 store  0x00000001 , 0x000044da 
+ 00024242  0x00003495 rtnne  0x00000000 
+ 00024243  0x00003498 jam  0x00000001 , 0x000044da 
+ 00024244  0x00003499 rtn 
+ 00024245  0x0000349f fetch  0x00000001 , 0x00004498 
+ 00024246  0x000034a0 beq  0x00000000 , 0x00005ec4 
+ 00024247  0x000034a1 beq  0x00000001 , 0x00005ec7 
+ 00024248  0x000034a2 beq  0x00000002 , 0x00005ec9 
+ 00024249  0x000034a3 beq  0x00000081 , 0x00005ebd 
+ 00024250  0x000034a4 beq  0x00000082 , 0x00005ebf 
+ 00024251  0x000034a5 beq  0x00000083 , 0x00005ec2 
+ 00024252  0x000034a6 rtn 
+ 00024253  0x000034a9 jam  0x0000000d , 0x00004428 
+ 00024254  0x000034aa branch  0x00005ec5 
+ 00024255  0x000034ac jam  0x0000000d , 0x00004428 
+ 00024256  0x000034ad jam  0x00000001 , 0x00004426 
+ 00024257  0x000034ae rtn 
+ 00024258  0x000034b0 jam  0x0000000d , 0x00004428 
+ 00024259  0x000034b1 branch  0x00005eca 
+ 00024260  0x000034b3 jam  0x00000000 , 0x00004428 
+ 00024261  0x000034b5 jam  0x00000003 , 0x00004426 
+ 00024262  0x000034b6 rtn 
+ 00024263  0x000034b8 jam  0x00000005 , 0x00004428 
+ 00024264  0x000034b9 branch  0x00005ec5 
+ 00024265  0x000034bb jam  0x00000005 , 0x00004428 
+ 00024266  0x000034bd jam  0x00000000 , 0x00004426 
+ 00024267  0x000034be rtn 
+ 00024268  0x000034c2 fetch  0x00000001 , 0x00004428 
+ 00024269  0x000034c3 set1  0x00000003 , 0x0000003f 
+ 00024270  0x000034c4 store  0x00000001 , 0x00004428 
+ 00024271  0x000034c5 rtn 
+ 00024272  0x000034c7 fetch  0x00000001 , 0x00004428 
+ 00024273  0x000034c8 set0  0x00000003 , 0x0000003f 
+ 00024274  0x000034c9 store  0x00000001 , 0x00004428 
+ 00024275  0x000034ca rtn 
+ 00024276  0x000034cd ifetch  0x00000001 , 0x00000006 
+ 00024277  0x000034ce beq  0x00000001 , 0x00005ee9 
+ 00024278  0x000034d0 beq  0x00000003 , 0x00005f10 
+ 00024279  0x000034d1 beq  0x00000004 , 0x00005f2d 
+ 00024280  0x000034d2 beq  0x00000005 , 0x00005f3a 
+ 00024281  0x000034d3 beq  0x00000006 , 0x00005f60 
+ 00024282  0x000034d4 beq  0x00000007 , 0x00005fa4 
+ 00024283  0x000034d5 beq  0x00000008 , 0x00005f8f 
+ 00024284  0x000034d6 beq  0x00000009 , 0x00005fa0 
+ 00024285  0x000034d7 beq  0x0000000a , 0x00005fa4 
+ 00024286  0x000034d8 beq  0x0000000b , 0x00005fa4 
+ 00024287  0x000034d9 beq  0x0000000c , 0x00005fa5 
+ 00024288  0x000034da beq  0x0000000d , 0x00005faa 
+ 00024289  0x000034db rtn 
+ 00024290  0x000034e0 force  0x00000002 , 0x00000011 
+ 00024291  0x000034e1 call  0x00006042 
+ 00024292  0x000034e2 setarg  0x0000000b 
+ 00024293  0x000034e3 istore  0x00000001 , 0x00000005 
+ 00024294  0x000034e4 fetch  0x00000001 , 0x00004428 
+ 00024295  0x000034e5 istore  0x00000001 , 0x00000005 
+ 00024296  0x000034e6 rtn 
+ 00024297  0x000034e9 store  0x00000001 , 0x0000441e 
+ 00024298  0x000034ea ifetch  0x00000006 , 0x00000006 
+ 00024299  0x000034eb istore  0x00000006 , 0x00000005 
+ 00024300  0x000034ec fetch  0x00000001 , 0x00004498 
+ 00024301  0x000034ed beq  0x00000000 , 0x00005f3f 
+ 00024302  0x000034ee call  0x00005f0b 
+ 00024303  0x000034ef call  0x00005f06 
+ 00024304  0x000034f0 jam  0x00000003 , 0x00004496 
+ 00024305  0x000034f1 fetch  0x00000001 , 0x0000441f 
+ 00024306  0x000034f2 beq  0x00000000 , 0x00005ef8 
+ 00024307  0x000034f3 beq  0x00000001 , 0x00005ef8 
+ 00024308  0x000034f4 beq  0x00000003 , 0x00005ef8 
+ 00024309  0x000034f5 fetch  0x00000001 , 0x00004498 
+ 00024310  0x000034f6 beq  0x00000002 , 0x00005efb 
+ 00024311  0x000034f7 rtneq  0x00000083 
+ 00024312  0x000034f9 arg  0x00000000 , 0x0000003f 
+ 00024313  0x000034fa store  0x00000004 , 0x00004499 
+ 00024314  0x000034fb rtn 
+ 00024315  0x000034fe fetch  0x00000001 , 0x000044bb 
+ 00024316  0x000034ff bbit1  0x00000000 , 0x00005f04 
+ 00024317  0x00003501 arg  0x00004499 , 0x00000011 
+ 00024318  0x00003502 copy  0x00000011 , 0x00000005 
+ 00024319  0x00003503 arg  0x00000003 , 0x00000039 
+ 00024320  0x00003504 call  0x000066ef 
+ 00024321  0x00003505 fetch  0x00000002 , 0x0000449b 
+ 00024322  0x00003506 and_into  0x00000007 , 0x0000003f 
+ 00024323  0x00003507 store  0x00000002 , 0x0000449b 
+ 00024324  0x00003509 jam  0x00000034 , 0x00000a95 
+ 00024325  0x0000350a branch  0x00007bab 
+ 00024326  0x0000350d fetch  0x00000001 , 0x00004421 
+ 00024327  0x0000350e rtnbit1  0x00000003 
+ 00024328  0x0000350f fetch  0x00000001 , 0x00004498 
+ 00024329  0x00003510 rtnbit0  0x00000007 
+ 00024330  0x00003511 branch  0x00004d7d 
+ 00024331  0x00003514 force  0x00000007 , 0x00000011 
+ 00024332  0x00003515 call  0x00006042 
+ 00024333  0x00003516 fetch  0x00000007 , 0x00004425 
+ 00024334  0x00003517 istore  0x00000007 , 0x00000005 
+ 00024335  0x00003518 rtn 
+ 00024336  0x0000351c copy  0x00000006 , 0x00000011 
+ 00024337  0x0000351d fetch  0x00000001 , 0x00004498 
+ 00024338  0x0000351e beq  0x00000083 , 0x00005f17 
+ 00024339  0x0000351f copy  0x00000011 , 0x00000006 
+ 00024340  0x00003520 arg  0x000043fc , 0x00000005 
+ 00024341  0x00003521 call  0x00007c9a 
+ 00024342  0x00003522 branch  0x00005f1d 
+ 00024343  0x00003524 copy  0x00000011 , 0x00000006 
+ 00024344  0x00003525 arg  0x000043fc , 0x00000005 
+ 00024345  0x00003526 call  0x00007c9a 
+ 00024346  0x00003527 jam  0x00000002 , 0x00004491 
+ 00024347  0x00003528 jam  0x00000008 , 0x00004493 
+ 00024348  0x00003529 rtn 
+ 00024349  0x0000352d fetch  0x00000001 , 0x00004498 
+ 00024350  0x0000352e bbit1  0x00000007 , 0x00005f25 
+ 00024351  0x0000352f call  0x00007252 
+ 00024352  0x00003530 force  0x00000011 , 0x00000011 
+ 00024353  0x00003531 call  0x00006042 
+ 00024354  0x00003532 setarg  0x00000003 
+ 00024355  0x00003533 istore  0x00000001 , 0x00000005 
+ 00024356  0x00003534 branch  0x0000734c 
+ 00024357  0x00003538 arg  0x0000440c , 0x00000005 
+ 00024358  0x00003539 call  0x000066ee 
+ 00024359  0x0000353a call  0x00007084 
+ 00024360  0x0000353b force  0x00000011 , 0x00000011 
+ 00024361  0x0000353c call  0x00006042 
+ 00024362  0x0000353d setarg  0x00000003 
+ 00024363  0x0000353e istore  0x00000001 , 0x00000005 
+ 00024364  0x0000353f branch  0x000070c0 
+ 00024365  0x00003544 copy  0x00000006 , 0x00000011 
+ 00024366  0x00003545 fetch  0x00000001 , 0x00004498 
+ 00024367  0x00003546 bbit1  0x00000007 , 0x00005f41 
+ 00024368  0x00003547 copy  0x00000011 , 0x00000006 
+ 00024369  0x00003548 call  0x0000724a 
+ 00024370  0x00003549 branch  0x00005f55 , 0x00000005 
+ 00024371  0x0000354b jam  0x00000004 , 0x00000477 
+ 00024372  0x0000354d force  0x00000002 , 0x00000011 
+ 00024373  0x0000354e call  0x00006042 
+ 00024374  0x0000354f setarg  0x00000005 
+ 00024375  0x00003550 istore  0x00000001 , 0x00000005 
+ 00024376  0x00003551 fetch  0x00000001 , 0x00000477 
+ 00024377  0x00003552 istore  0x00000001 , 0x00000005 
+ 00024378  0x00003554 force  0x0000000a , 0x00000007 
+ 00024379  0x00003555 call  0x00007ce2 
+ 00024380  0x00003556 jam  0x00000000 , 0x00004496 
+ 00024381  0x00003557 jam  0x00000030 , 0x00000a95 
+ 00024382  0x00003558 branch  0x00007bab 
+ 00024383  0x0000355b jam  0x00000005 , 0x00000477 
+ 00024384  0x0000355c branch  0x00005f34 
+ 00024385  0x00003560 arg  0x0000042b , 0x00000005 
+ 00024386  0x00003561 copy  0x00000011 , 0x00000006 
+ 00024387  0x00003562 call  0x00007c9a 
+ 00024388  0x00003563 fetch  0x00000001 , 0x00004498 
+ 00024389  0x00003564 beq  0x00000083 , 0x00005f4c 
+ 00024390  0x00003565 call  0x0000700e 
+ 00024391  0x00003568 call  0x00005f5a 
+ 00024392  0x00003569 fetch  0x00000001 , 0x00004498 
+ 00024393  0x0000356a rtnne  0x00000082 
+ 00024394  0x0000356b jam  0x0000003b , 0x00000a95 
+ 00024395  0x0000356c branch  0x00007bab 
+ 00024396  0x0000356f call  0x00007079 
+ 00024397  0x00003570 arg  0x00000aee , 0x00000005 
+ 00024398  0x00003571 call  0x000070c0 
+ 00024399  0x00003572 arg  0x00000aee , 0x00000011 
+ 00024400  0x00003573 arg  0x000043fc , 0x00000012 
+ 00024401  0x00003574 arg  0x00000010 , 0x00000039 
+ 00024402  0x00003575 call  0x00007d63 
+ 00024403  0x00003576 nbranch  0x00005f33 , 0x00000005 
+ 00024404  0x00003577 branch  0x00005f5a 
+ 00024405  0x0000357a call  0x00007246 
+ 00024406  0x0000357b jam  0x00000031 , 0x00000a95 
+ 00024407  0x0000357c call  0x00007bab 
+ 00024408  0x0000357d jam  0x00000001 , 0x000043fb 
+ 00024409  0x0000357e jam  0x00000005 , 0x00004496 
+ 00024410  0x00003581 force  0x00000011 , 0x00000011 
+ 00024411  0x00003582 call  0x00006042 
+ 00024412  0x00003583 setarg  0x00000004 
+ 00024413  0x00003584 istore  0x00000001 , 0x00000005 
+ 00024414  0x00003585 arg  0x0000440c , 0x00000006 
+ 00024415  0x00003586 branch  0x00007c9a 
+ 00024416  0x00003589 arg  0x0000041b , 0x00000005 
+ 00024417  0x0000358a branch  0x00007c9a 
+ 00024418  0x0000358d force  0x00000011 , 0x00000011 
+ 00024419  0x0000358e call  0x00006042 
+ 00024420  0x0000358f setarg  0x00000006 
+ 00024421  0x00003590 istore  0x00000001 , 0x00000005 
+ 00024422  0x00003591 fetch  0x00000001 , 0x000044bb 
+ 00024423  0x00003592 bbit1  0x00000001 , 0x00005f6a 
+ 00024424  0x00003593 arg  0x000043eb , 0x00000006 
+ 00024425  0x00003594 branch  0x00007c9a 
+ 00024426  0x00003597 arg  0x000044bc , 0x00000006 
+ 00024427  0x00003598 branch  0x00007c9a 
+ 00024428  0x0000359c arg  0x0000449d , 0x00000005 
+ 00024429  0x0000359d force  0x0000000a , 0x00000039 
+ 00024430  0x0000359e call  0x000066ef 
+ 00024431  0x0000359f force  0x0000000b , 0x00000011 
+ 00024432  0x000035a0 call  0x00006042 
+ 00024433  0x000035a1 setarg  0x00000007 
+ 00024434  0x000035a2 istore  0x00000001 , 0x00000005 
+ 00024435  0x000035a3 fetch  0x00000002 , 0x0000449d 
+ 00024436  0x000035a4 istore  0x00000002 , 0x00000005 
+ 00024437  0x000035a5 fetch  0x00000008 , 0x0000449f 
+ 00024438  0x000035a6 istore  0x00000008 , 0x00000005 
+ 00024439  0x000035a7 rtn 
+ 00024440  0x000035aa force  0x00000011 , 0x00000011 
+ 00024441  0x000035ab call  0x00006042 
+ 00024442  0x000035ac setarg  0x00000008 
+ 00024443  0x000035ad istore  0x00000001 , 0x00000005 
+ 00024444  0x000035ae setarg  0x00000000 
+ 00024445  0x000035af istore  0x00000008 , 0x00000005 
+ 00024446  0x000035b0 istore  0x00000008 , 0x00000005 
+ 00024447  0x000035b1 rtn 
+ 00024448  0x000035b5 force  0x00000008 , 0x00000011 
+ 00024449  0x000035b6 call  0x00006042 
+ 00024450  0x000035b7 setarg  0x00000009 
+ 00024451  0x000035b8 istore  0x00000001 , 0x00000005 
+ 00024452  0x000035b9 fetch  0x00000001 , 0x00004467 
+ 00024453  0x000035ba istore  0x00000001 , 0x00000005 
+ 00024454  0x000035bb fetch  0x00000006 , 0x00004472 
+ 00024455  0x000035bc istore  0x00000006 , 0x00000005 
+ 00024456  0x000035bd rtn 
+ 00024457  0x000035c1 jam  0x00000008 , 0x00000477 
+ 00024458  0x000035c2 branch  0x00005f34 
+ 00024459  0x000035c5 fetch  0x00000001 , 0x0000442a 
+ 00024460  0x000035c6 fetcht  0x00000001 , 0x0000442a 
+ 00024461  0x000035c7 iand  0x00000002 , 0x0000003f 
+ 00024462  0x000035c8 rtn 
+ 00024463  0x000035cb arg  0x000044a7 , 0x00000005 
+ 00024464  0x000035cc call  0x00007c9a 
+ 00024465  0x000035cd call  0x00005f8b 
+ 00024466  0x000035ce isolate0  0x00000001 , 0x0000003f 
+ 00024467  0x000035cf branch  0x00005f89 , 0x00000001 
+ 00024468  0x000035d0 fetch  0x00000001 , 0x00004092 
+ 00024469  0x000035d1 rtnne  0x0000000a 
+ 00024470  0x000035d2 call  0x00005f99 
+ 00024471  0x000035d3 nrtn  0x00000028 
+ 00024472  0x000035d4 branch  0x00004d8b 
+ 00024473  0x000035d8 call  0x00007dc1 
+ 00024474  0x000035d9 fetch  0x00000001 , 0x00004460 
+ 00024475  0x000035da rtneq  0x00000000 
+ 00024476  0x000035db fetch  0x00000001 , 0x00000450 
+ 00024477  0x000035dc compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00024478  0x000035dd rtn  0x00000001 
+ 00024479  0x000035de branch  0x00007dbf 
+ 00024480  0x000035e1 call  0x00005f8b 
+ 00024481  0x000035e2 isolate0  0x00000001 , 0x0000003f 
+ 00024482  0x000035e3 branch  0x00005f89 , 0x00000001 
+ 00024483  0x000035e4 rtn 
+ 00024484  0x000035e9 rtn 
+ 00024485  0x000035ec arg  0x000009ba , 0x00000005 
+ 00024486  0x000035ed call  0x00007c8e 
+ 00024487  0x000035ee jam  0x00000002 , 0x00004491 
+ 00024488  0x000035ef jam  0x00000001 , 0x00004493 
+ 00024489  0x000035f0 rtn 
+ 00024490  0x000035f3 arg  0x00000a6a , 0x00000005 
+ 00024491  0x000035f4 call  0x00007c9a 
+ 00024492  0x000035f5 jam  0x00000006 , 0x00004493 
+ 00024493  0x000035f6 jam  0x00000002 , 0x00004491 
+ 00024494  0x000035f7 rtn 
+ 00024495  0x000035fa force  0x00000041 , 0x00000011 
+ 00024496  0x000035fb call  0x00006042 
+ 00024497  0x000035fc setarg  0x0000000c 
+ 00024498  0x000035fd istore  0x00000001 , 0x00000005 
+ 00024499  0x000035fe arg  0x000045a4 , 0x00000006 
+ 00024500  0x000035ff branch  0x00007c8e 
+ 00024501  0x00003602 call  0x00007025 
+ 00024502  0x00003603 force  0x00000011 , 0x00000011 
+ 00024503  0x00003604 call  0x00006042 
+ 00024504  0x00003605 setarg  0x0000000d 
+ 00024505  0x00003606 istore  0x00000001 , 0x00000005 
+ 00024506  0x00003607 branch  0x000070c0 
+ 00024507  0x0000360b fetch  0x00000001 , 0x00004496 
+ 00024508  0x0000360c rtneq  0x000000ff 
+ 00024509  0x0000360d arg  0x00000003 , 0x00000002 
+ 00024510  0x0000360e isub  0x00000002 , 0x0000003e 
+ 00024511  0x0000360f nrtn  0x00000002 
+ 00024512  0x00003610 arg  0x0000000a , 0x00000007 
+ 00024513  0x00003611 call  0x00007cf1 
+ 00024514  0x00003612 nrtn  0x00000034 
+ 00024515  0x00003613 branch  0x00005f89 
+ 00024516  0x00003616 bpatchx  0x00000033 , 0x00004026 
+ 00024517  0x00003617 fetch  0x00000001 , 0x00004496 
+ 00024518  0x00003618 beq  0x00000000 , 0x00005fcf 
+ 00024519  0x00003619 beq  0x00000001 , 0x00005fd5 
+ 00024520  0x0000361a beq  0x00000002 , 0x00005fcf 
+ 00024521  0x0000361b beq  0x00000003 , 0x00005fd7 
+ 00024522  0x0000361c beq  0x00000005 , 0x00005fdb 
+ 00024523  0x0000361d beq  0x00000007 , 0x00005fe7 
+ 00024524  0x0000361e beq  0x00000008 , 0x00005fe9 
+ 00024525  0x0000361f beq  0x00000009 , 0x00005ff0 
+ 00024526  0x00003620 rtn 
+ 00024527  0x00003624 fetch  0x00000001 , 0x00004497 
+ 00024528  0x00003625 rtnne  0x00000004 
+ 00024529  0x00003626 jam  0x000000ff , 0x00004497 
+ 00024530  0x00003627 jam  0x000000ff , 0x00004496 
+ 00024531  0x00003628 jam  0x0000003f , 0x00000a95 
+ 00024532  0x00003629 branch  0x00007bab 
+ 00024533  0x0000362d jam  0x00000002 , 0x00004496 
+ 00024534  0x0000362e branch  0x00005ee2 
+ 00024535  0x00003631 jam  0x00000004 , 0x00004496 
+ 00024536  0x00003632 setarg  0x00017700 
+ 00024537  0x00003633 arg  0x0000000a , 0x00000007 
+ 00024538  0x00003634 branch  0x00007ce3 
+ 00024539  0x00003637 fetch  0x00000001 , 0x00004497 
+ 00024540  0x00003638 beq  0x00000004 , 0x00005fde 
+ 00024541  0x00003639 rtn 
+ 00024542  0x0000363c jam  0x00000007 , 0x00004496 
+ 00024543  0x0000363d jam  0x00000029 , 0x00000a95 
+ 00024544  0x0000363e call  0x00007bab 
+ 00024545  0x0000363f call  0x00005f62 
+ 00024546  0x00003640 fetch  0x00000001 , 0x00004092 
+ 00024547  0x00003641 rtnne  0x0000000a 
+ 00024548  0x00003642 call  0x00005f99 
+ 00024549  0x00003643 rtn  0x00000028 
+ 00024550  0x00003644 branch  0x00004d8b 
+ 00024551  0x00003648 jam  0x00000008 , 0x00004496 
+ 00024552  0x00003649 branch  0x00005f6c 
+ 00024553  0x0000364c fetch  0x00000001 , 0x00004424 
+ 00024554  0x0000364d fetcht  0x00000001 , 0x0000442b 
+ 00024555  0x0000364e iand  0x00000002 , 0x0000003f 
+ 00024556  0x0000364f isolate0  0x00000001 , 0x0000003f 
+ 00024557  0x00003650 branch  0x00005ff2 , 0x00000001 
+ 00024558  0x00003651 jam  0x00000009 , 0x00004496 
+ 00024559  0x00003652 branch  0x00005f78 
+ 00024560  0x00003655 call  0x00005f80 
+ 00024561  0x00003656 branch  0x00005ff2 
+ 00024562  0x0000365a force  0x0000000a , 0x00000007 
+ 00024563  0x0000365b call  0x00007ce2 
+ 00024564  0x0000365c jam  0x000000ff , 0x00004497 
+ 00024565  0x0000365d jam  0x000000ff , 0x00004496 
+ 00024566  0x0000365e jam  0x0000003e , 0x00000a95 
+ 00024567  0x0000365f branch  0x00007bab 
+ 00024568  0x00003664 bpatchx  0x00000034 , 0x00004026 
+ 00024569  0x00003665 fetch  0x00000001 , 0x00004498 
+ 00024570  0x00003666 rtnbit0  0x00000007 
+ 00024571  0x00003667 fetch  0x00000001 , 0x00004491 
+ 00024572  0x00003668 rtnne  0x00000002 
+ 00024573  0x00003669 jam  0x00000000 , 0x00004491 
+ 00024574  0x0000366a fetch  0x00000001 , 0x00004493 
+ 00024575  0x0000366b beq  0x00000001 , 0x00006038 
+ 00024576  0x0000366c beq  0x00000002 , 0x0000603f 
+ 00024577  0x0000366d beq  0x00000003 , 0x00006032 
+ 00024578  0x0000366e beq  0x00000006 , 0x00006019 
+ 00024579  0x0000366f beq  0x00000007 , 0x00006010 
+ 00024580  0x00003670 beq  0x00000008 , 0x00006006 
+ 00024581  0x00003671 rtn 
+ 00024582  0x00003675 fetch  0x00000001 , 0x00004635 
+ 00024583  0x00003676 copy  0x0000003f , 0x00000007 
+ 00024584  0x00003677 increase  0x00000001 , 0x0000003f 
+ 00024585  0x00003678 store  0x00000001 , 0x00004635 
+ 00024586  0x00003679 fetch  0x00000004 , 0x00004499 
+ 00024587  0x0000367a qisolate1  0x0000003f 
+ 00024588  0x0000367b setarg  0x00000080 
+ 00024589  0x0000367c setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024590  0x0000367d store  0x00000001 , 0x00004636 
+ 00024591  0x0000367e branch  0x00006035 
+ 00024592  0x00003681 fetch  0x00000001 , 0x00004494 
+ 00024593  0x00003682 jam  0x00000000 , 0x00004494 
+ 00024594  0x00003683 beq  0x00000001 , 0x00006015 
+ 00024595  0x00003684 jam  0x00000002 , 0x00004491 
+ 00024596  0x00003685 rtn 
+ 00024597  0x00003688 jam  0x00000031 , 0x00000a95 
+ 00024598  0x00003689 call  0x00007bab 
+ 00024599  0x0000368a jam  0x00000005 , 0x00004496 
+ 00024600  0x0000368b branch  0x00005fb5 
+ 00024601  0x0000368e fetch  0x00000001 , 0x000009b5 
+ 00024602  0x0000368f beq  0x00000003 , 0x0000601d 
+ 00024603  0x00003690 jam  0x00000002 , 0x00004491 
+ 00024604  0x00003691 rtn 
+ 00024605  0x00003694 call  0x0000704c 
+ 00024606  0x00003698 fetch  0x00000001 , 0x00004498 
+ 00024607  0x00003699 beq  0x00000083 , 0x00006021 
+ 00024608  0x0000369a call  0x00005ef8 
+ 00024609  0x0000369c call  0x00007039 
+ 00024610  0x0000369d arg  0x00000aee , 0x00000011 
+ 00024611  0x0000369e arg  0x00000a6a , 0x00000012 
+ 00024612  0x0000369f arg  0x00000010 , 0x00000039 
+ 00024613  0x000036a0 call  0x00007d63 
+ 00024614  0x000036a1 branch  0x00006029 , 0x00000005 
+ 00024615  0x000036a3 jam  0x0000000b , 0x00000477 
+ 00024616  0x000036a4 branch  0x00005f34 
+ 00024617  0x000036a8 call  0x0000744a 
+ 00024618  0x000036a9 nbranch  0x00006027 , 0x00000005 
+ 00024619  0x000036aa jam  0x00000001 , 0x000043fb 
+ 00024620  0x000036ab fetch  0x00000001 , 0x00004498 
+ 00024621  0x000036ac beq  0x00000081 , 0x00006015 
+ 00024622  0x000036ad beq  0x00000083 , 0x00006015 
+ 00024623  0x000036ae jam  0x00000002 , 0x00004491 
+ 00024624  0x000036af jam  0x00000007 , 0x00004493 
+ 00024625  0x000036b0 rtn 
+ 00024626  0x000036b3 fetch  0x00000001 , 0x00004498 
+ 00024627  0x000036b4 beq  0x00000083 , 0x00006036 
+ 00024628  0x000036b5 jam  0x00000000 , 0x00004636 
+ 00024629  0x000036b7 branch  0x00005f1d 
+ 00024630  0x000036bd jam  0x00000000 , 0x00004635 
+ 00024631  0x000036be branch  0x00005efb 
+ 00024632  0x000036c2 jam  0x00000002 , 0x00004491 
+ 00024633  0x000036c3 fetch  0x00000001 , 0x00004495 
+ 00024634  0x000036c4 beq  0x00000003 , 0x0000603c 
+ 00024635  0x000036c6 rtn 
+ 00024636  0x000036c9 jam  0x00000002 , 0x00004493 
+ 00024637  0x000036ca jam  0x00000000 , 0x000009b5 
+ 00024638  0x000036cb branch  0x0000794e 
+ 00024639  0x000036ce jam  0x00000002 , 0x00004491 
+ 00024640  0x000036cf jam  0x00000003 , 0x00004493 
+ 00024641  0x000036d0 branch  0x00005faf 
+ 00024642  0x000036d5 force  0x00000006 , 0x00000012 
+ 00024643  0x000036d6 branch  0x00005c27 
+ 00024644  0x000036db bpatchx  0x00000035 , 0x00004026 
+ 00024645  0x000036dc fetch  0x00000001 , 0x000002d7 
+ 00024646  0x000036dd beq  0x00000000 , 0x0000605c 
+ 00024647  0x000036de beq  0x00000001 , 0x00006064 
+ 00024648  0x000036df beq  0x00000002 , 0x0000606f 
+ 00024649  0x000036e0 beq  0x00000003 , 0x0000608b 
+ 00024650  0x000036e1 beq  0x00000004 , 0x000060c2 
+ 00024651  0x000036e2 beq  0x00000005 , 0x000060c7 
+ 00024652  0x000036e3 beq  0x00000006 , 0x000060cb 
+ 00024653  0x000036e4 beq  0x00000007 , 0x000060d6 
+ 00024654  0x000036e5 beq  0x00000008 , 0x0000607a 
+ 00024655  0x000036e6 beq  0x00000009 , 0x000060d6 
+ 00024656  0x000036e7 beq  0x0000000a , 0x000060d0 
+ 00024657  0x000036e8 beq  0x0000000b , 0x000060d6 
+ 00024658  0x000036e9 beq  0x0000000c , 0x00006080 
+ 00024659  0x000036ea beq  0x0000000d , 0x000060d6 
+ 00024660  0x000036eb beq  0x00000012 , 0x00006087 
+ 00024661  0x000036ec beq  0x00000013 , 0x000060d6 
+ 00024662  0x000036ed arg  0x00000002 , 0x00000011 
+ 00024663  0x000036ee arg  0x00000007 , 0x00000012 
+ 00024664  0x000036ef call  0x00005c22 
+ 00024665  0x000036f0 fetch  0x00000001 , 0x000002d7 
+ 00024666  0x000036f1 istore  0x00000001 , 0x00000005 
+ 00024667  0x000036f2 rtn 
+ 00024668  0x000036f6 ifetch  0x00000009 , 0x00000006 
+ 00024669  0x000036f7 store  0x00000009 , 0x000043a5 
+ 00024670  0x000036f8 ifetch  0x00000002 , 0x00000006 
+ 00024671  0x000036f9 store  0x00000002 , 0x0000045b 
+ 00024672  0x000036fa fetch  0x00000001 , 0x0000043b 
+ 00024673  0x000036fb set1  0x00000005 , 0x0000003f 
+ 00024674  0x000036fc store  0x00000001 , 0x0000043b 
+ 00024675  0x000036fd rtn 
+ 00024676  0x00003700 ifetch  0x00000005 , 0x00000006 
+ 00024677  0x00003701 store  0x00000005 , 0x000043a0 
+ 00024678  0x00003702 ifetch  0x00000002 , 0x00000006 
+ 00024679  0x00003703 store  0x00000002 , 0x0000045b 
+ 00024680  0x00003704 fetcht  0x00000002 , 0x00000455 
+ 00024681  0x00003705 isub  0x00000002 , 0x0000003e 
+ 00024682  0x00003706 nbranch  0x0000606f , 0x00000002 
+ 00024683  0x00003707 fetch  0x00000001 , 0x0000043b 
+ 00024684  0x00003708 set1  0x00000006 , 0x0000003f 
+ 00024685  0x00003709 store  0x00000001 , 0x0000043b 
+ 00024686  0x0000370a rtn 
+ 00024687  0x0000370e setarg  0x00000014 
+ 00024688  0x0000370f store  0x00000002 , 0x00000469 
+ 00024689  0x00003710 store  0x00000002 , 0x0000448c 
+ 00024690  0x00003711 rtn 
+ 00024691  0x00003714 arg  0x00000013 , 0x00000013 
+ 00024692  0x00003718 arg  0x00000002 , 0x00000011 
+ 00024693  0x00003719 arg  0x00000002 , 0x00000012 
+ 00024694  0x0000371a call  0x00005c22 
+ 00024695  0x0000371b copy  0x00000013 , 0x0000003f 
+ 00024696  0x0000371c istore  0x00000001 , 0x00000005 
+ 00024697  0x0000371d rtn 
+ 00024698  0x00003722 arg  0x00000009 , 0x00000011 
+ 00024699  0x00003723 arg  0x00000009 , 0x00000012 
+ 00024700  0x00003724 call  0x00005c22 
+ 00024701  0x00003725 setarg  0x00000001 
+ 00024702  0x00003726 istore  0x00000008 , 0x00000005 
+ 00024703  0x00003727 rtn 
+ 00024704  0x0000372b rtn  0x00000029 
+ 00024705  0x0000372d arg  0x00000006 , 0x00000011 
+ 00024706  0x0000372e arg  0x0000000c , 0x00000012 
+ 00024707  0x0000372f call  0x00005c22 
+ 00024708  0x00003730 fetch  0x00000005 , 0x000044e2 
+ 00024709  0x00003731 istore  0x00000005 , 0x00000005 
+ 00024710  0x00003732 rtn 
+ 00024711  0x00003736 arg  0x00000013 , 0x00000012 
+ 00024712  0x00003737 branch  0x00006089 
+ 00024713  0x0000373b arg  0x00000001 , 0x00000011 
+ 00024714  0x0000373c branch  0x00005c22 
+ 00024715  0x00003740 ifetch  0x00000008 , 0x00000006 
+ 00024716  0x00003741 store  0x00000008 , 0x0000449f 
+ 00024717  0x00003742 ifetch  0x00000002 , 0x00000006 
+ 00024718  0x00003743 store  0x00000002 , 0x0000449d 
+ 00024719  0x00003744 ifetch  0x00000008 , 0x00000006 
+ 00024720  0x00003745 store  0x00000008 , 0x0000447c 
+ 00024721  0x00003746 ifetch  0x00000004 , 0x00000006 
+ 00024722  0x00003747 store  0x00000004 , 0x000043e3 
+ 00024723  0x00003748 call  0x000060b0 
+ 00024724  0x00003749 bpatchx  0x00000036 , 0x00004026 
+ 00024725  0x0000374a fetch  0x00000001 , 0x00004496 
+ 00024726  0x0000374b beq  0x00000005 , 0x0000609d 
+ 00024727  0x0000374c fetch  0x00000001 , 0x000044bb 
+ 00024728  0x0000374d bbit1  0x00000001 , 0x000060a0 
+ 00024729  0x0000374e fetch  0x00000001 , 0x00004216 
+ 00024730  0x0000374f ncall  0x000068b0 , 0x00000034 
+ 00024731  0x00003750 fetch  0x00000001 , 0x000043fb 
+ 00024732  0x00003751 beq  0x00000000 , 0x000060a5 
+ 00024733  0x00003753 jam  0x00000001 , 0x00004497 
+ 00024734  0x00003754 call  0x000060be 
+ 00024735  0x00003755 branch  0x00007258 
+ 00024736  0x00003758 jam  0x00000001 , 0x000043fb 
+ 00024737  0x00003759 arg  0x000044bc , 0x00000006 
+ 00024738  0x0000375a arg  0x000043eb , 0x00000005 
+ 00024739  0x0000375b call  0x00007c9a 
+ 00024740  0x0000375c branch  0x0000609d 
+ 00024741  0x00003760 bpatchx  0x00000037 , 0x00004026 
+ 00024742  0x00003761 jam  0x00000000 , 0x00004497 
+ 00024743  0x00003762 jam  0x00000000 , 0x00004496 
+ 00024744  0x00003763 jam  0x00000041 , 0x00000a95 
+ 00024745  0x00003764 branch  0x00007bab 
+ 00024746  0x00003767 arg  0x00000002 , 0x00000011 
+ 00024747  0x00003768 arg  0x0000000d , 0x00000012 
+ 00024748  0x00003769 call  0x00005c22 
+ 00024749  0x0000376a setarg  0x00000006 
+ 00024750  0x0000376b istore  0x00000001 , 0x00000005 
+ 00024751  0x0000376c rtn 
+ 00024752  0x0000376f arg  0x00004484 , 0x00000005 
+ 00024753  0x00003770 force  0x00000008 , 0x00000039 
+ 00024754  0x00003771 call  0x000066ef 
+ 00024755  0x00003772 arg  0x000043e7 , 0x00000005 
+ 00024756  0x00003773 force  0x00000004 , 0x00000039 
+ 00024757  0x00003774 call  0x000066ef 
+ 00024758  0x00003775 arg  0x0000000d , 0x00000011 
+ 00024759  0x00003776 arg  0x00000004 , 0x00000012 
+ 00024760  0x00003777 call  0x00005c22 
+ 00024761  0x00003778 fetch  0x00000008 , 0x00004484 
+ 00024762  0x00003779 istore  0x00000008 , 0x00000005 
+ 00024763  0x0000377a fetch  0x00000004 , 0x000043e7 
+ 00024764  0x0000377b istore  0x00000004 , 0x00000005 
+ 00024765  0x0000377c rtn 
+ 00024766  0x0000377f arg  0x00000005 , 0x00000012 
+ 00024767  0x00003780 branch  0x00006089 
+ 00024768  0x00003783 arg  0x00000006 , 0x00000012 
+ 00024769  0x00003784 branch  0x00006089 
+ 00024770  0x00003788 ifetch  0x00000008 , 0x00000006 
+ 00024771  0x00003789 store  0x00000008 , 0x00004484 
+ 00024772  0x0000378a ifetch  0x00000004 , 0x00000006 
+ 00024773  0x0000378b store  0x00000004 , 0x000043e7 
+ 00024774  0x0000378c branch  0x00007258 
+ 00024775  0x0000378f fetch  0x00000001 , 0x0000043b 
+ 00024776  0x00003790 set1  0x00000004 , 0x0000003f 
+ 00024777  0x00003791 store  0x00000001 , 0x0000043b 
+ 00024778  0x00003792 rtn 
+ 00024779  0x00003795 rtn  0x00000029 
+ 00024780  0x00003796 jam  0x00000032 , 0x00000a95 
+ 00024781  0x00003797 call  0x00007bab 
+ 00024782  0x00003798 jam  0x00000004 , 0x00004497 
+ 00024783  0x00003799 branch  0x000060c0 
+ 00024784  0x0000379c jam  0x00000002 , 0x00004497 
+ 00024785  0x0000379d call  0x000060d4 
+ 00024786  0x0000379e jam  0x00000033 , 0x00000a95 
+ 00024787  0x0000379f branch  0x00007bab 
+ 00024788  0x000037a2 arg  0x0000000b , 0x00000012 
+ 00024789  0x000037a3 branch  0x00006089 
+ 00024790  0x000037ab rtn 
+ 00024791  0x000037b3 rtn  0x0000002b 
+ 00024792  0x000037b5 bpatchx  0x00000038 , 0x00004027 
+ 00024793  0x000037b6 setarg  0x00000000 
+ 00024794  0x000037b7 store  0x00000001 , 0x00000048 
+ 00024795  0x000037b8 store  0x00000001 , 0x00000055 
+ 00024796  0x000037b9 store  0x00000001 , 0x00000078 
+ 00024797  0x000037ba store  0x00000001 , 0x0000007c 
+ 00024798  0x000037bb store  0x00000001 , 0x00004159 
+ 00024799  0x000037bc store  0x00000001 , 0x000004d3 
+ 00024800  0x000037bd store  0x00000001 , 0x0000016b 
+ 00024801  0x000037be store  0x00000001 , 0x000009b1 
+ 00024802  0x000037bf jam  0x00000000 , 0x0000452d 
+ 00024803  0x000037c0 jam  0x00000000 , 0x00000227 
+ 00024804  0x000037c1 jam  0x00000000 , 0x000004d4 
+ 00024805  0x000037c3 jam  0x00000000 , 0x000009b1 
+ 00024806  0x000037c4 jam  0x00000000 , 0x000009b0 
+ 00024807  0x000037c5 jam  0x00000000 , 0x000004cd 
+ 00024808  0x000037c8 rtn 
+ 00024809  0x000037cb bpatchx  0x00000039 , 0x00004027 
+ 00024810  0x000037cc call  0x000066e1 , 0x00000029 
+ 00024811  0x000037cd ncall  0x000066e5 , 0x00000029 
+ 00024812  0x000037ce call  0x0000669e 
+ 00024813  0x000037cf nrtn  0x00000034 
+ 00024814  0x000037d0 fetch  0x00000001 , 0x0000004c 
+ 00024815  0x000037d1 rtnbit0  0x00000006 
+ 00024816  0x000037d2 set0  0x00000006 , 0x0000003f 
+ 00024817  0x000037d3 set0  0x00000001 , 0x00000000 
+ 00024818  0x000037d4 store  0x00000001 , 0x0000004c 
+ 00024819  0x000037d5 fetch  0x00000001 , 0x0000054d 
+ 00024820  0x000037d6 fetcht  0x00000001 , 0x0000004c 
+ 00024821  0x000037d7 isolate1  0x00000000 , 0x0000003f 
+ 00024822  0x000037d8 setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00024823  0x000037d9 storet  0x00000001 , 0x0000004c 
+ 00024824  0x000037da and_into  0x00000002 , 0x00000002 
+ 00024825  0x000037db storet  0x00000001 , 0x0000007f 
+ 00024826  0x000037dc fetcht  0x00000001 , 0x0000004c 
+ 00024827  0x000037dd rshift  0x0000003f , 0x0000003f 
+ 00024828  0x000037de store  0x00000001 , 0x0000007d 
+ 00024829  0x000037df bpatchx  0x0000003a , 0x00004027 
+ 00024830  0x000037e0 fetch  0x00000001 , 0x0000007d 
+ 00024831  0x000037e1 beq  0x0000007f , 0x00006147 
+ 00024832  0x000037e2 beq  0x00000003 , 0x00006192 
+ 00024833  0x000037e3 beq  0x00000004 , 0x000061a3 
+ 00024834  0x000037e4 beq  0x0000003c , 0x0000613a 
+ 00024835  0x000037e5 beq  0x00000005 , 0x00006136 
+ 00024836  0x000037e6 beq  0x0000000f , 0x0000638a 
+ 00024837  0x000037e7 beq  0x00000010 , 0x00006205 
+ 00024838  0x000037e8 beq  0x00000023 , 0x00006223 
+ 00024839  0x000037e9 beq  0x00000039 , 0x000063a3 
+ 00024840  0x000037ea beq  0x00000038 , 0x0000639e 
+ 00024841  0x000037eb beq  0x00000031 , 0x00006208 
+ 00024842  0x000037ec beq  0x00000037 , 0x00006291 
+ 00024843  0x000037ed beq  0x00000027 , 0x0000628d 
+ 00024844  0x000037ee beq  0x00000033 , 0x0000628a 
+ 00024845  0x000037ef beq  0x00000025 , 0x0000628f 
+ 00024846  0x000037f0 beq  0x00000026 , 0x0000621f 
+ 00024847  0x000037f1 beq  0x00000007 , 0x00006217 
+ 00024848  0x000037f2 beq  0x0000002d , 0x0000620e 
+ 00024849  0x000037f3 beq  0x0000002e , 0x0000620f 
+ 00024850  0x000037f4 beq  0x00000001 , 0x00006286 
+ 00024851  0x000037f5 beq  0x00000002 , 0x00006271 
+ 00024852  0x000037f6 beq  0x00000028 , 0x00006395 
+ 00024853  0x000037f7 beq  0x00000009 , 0x00006267 
+ 00024854  0x000037f8 beq  0x0000000b , 0x00006240 
+ 00024855  0x000037f9 beq  0x00000008 , 0x00006224 
+ 00024856  0x000037fa beq  0x0000000c , 0x0000624b 
+ 00024857  0x000037fb beq  0x0000001f , 0x0000621b 
+ 00024858  0x000037fc beq  0x00000020 , 0x0000621d 
+ 00024859  0x000037fd beq  0x00000021 , 0x000062ab 
+ 00024860  0x000037fe beq  0x00000022 , 0x000062ab 
+ 00024861  0x000037ff beq  0x00000035 , 0x000062ac 
+ 00024862  0x00003800 beq  0x00000036 , 0x000062ad 
+ 00024863  0x00003801 beq  0x00000024 , 0x000062ab 
+ 00024864  0x00003802 beq  0x00000034 , 0x000062ae 
+ 00024865  0x00003803 beq  0x00000017 , 0x000062b7 
+ 00024866  0x00003804 beq  0x00000011 , 0x000062d4 
+ 00024867  0x00003805 beq  0x00000012 , 0x000062d8 
+ 00024868  0x00003806 beq  0x00000013 , 0x000062da 
+ 00024869  0x00003807 beq  0x0000000d , 0x000062ec 
+ 00024870  0x00003808 beq  0x0000000e , 0x000062ec 
+ 00024871  0x00003809 beq  0x0000002f , 0x0000628b 
+ 00024872  0x0000380a beq  0x00000030 , 0x000062ec 
+ 00024873  0x0000380b beq  0x0000000a , 0x000062ec 
+ 00024874  0x0000380c beq  0x00000018 , 0x000062ed 
+ 00024875  0x0000380d beq  0x00000032 , 0x000062ec 
+ 00024876  0x0000380e beq  0x0000003d , 0x000062f2 
+ 00024877  0x0000380f beq  0x0000003e , 0x00006333 
+ 00024878  0x00003810 beq  0x0000003f , 0x0000632d 
+ 00024879  0x00003811 beq  0x00000040 , 0x0000635a 
+ 00024880  0x00003812 beq  0x00000041 , 0x0000636c 
+ 00024881  0x00003813 beq  0x00000006 , 0x00006389 
+ 00024882  0x00003814 beq  0x0000003a , 0x00006138 
+ 00024883  0x00003818 jam  0x00000019 , 0x0000007e 
+ 00024884  0x0000381a jam  0x00000004 , 0x0000007c 
+ 00024885  0x0000381b rtn 
+ 00024886  0x0000381e jam  0x00000006 , 0x0000007c 
+ 00024887  0x0000381f rtn 
+ 00024888  0x00003822 jam  0x0000003b , 0x0000007c 
+ 00024889  0x00003823 rtn 
+ 00024890  0x00003826 fetch  0x00000004 , 0x0000054e 
+ 00024891  0x00003827 lshift  0x0000003f , 0x0000003f 
+ 00024892  0x00003828 store  0x00000004 , 0x000040d2 
+ 00024893  0x00003829 fetch  0x00000001 , 0x00000552 
+ 00024894  0x0000382a store  0x00000001 , 0x000040d9 
+ 00024895  0x0000382b fetch  0x00000005 , 0x00000553 
+ 00024896  0x0000382c store  0x00000005 , 0x000040e7 
+ 00024897  0x0000382d fetch  0x00000005 , 0x00000558 
+ 00024898  0x0000382e istore  0x00000005 , 0x00000005 
+ 00024899  0x0000382f fetch  0x00000001 , 0x00000031 
+ 00024900  0x00003830 set1  0x00000003 , 0x0000003f 
+ 00024901  0x00003831 store  0x00000001 , 0x00000031 
+ 00024902  0x00003832 rtn 
+ 00024903  0x00003834 bpatchx  0x0000003b , 0x00004027 
+ 00024904  0x00003835 fetch  0x00000001 , 0x0000054e 
+ 00024905  0x00003836 set1  0x00000007 , 0x0000003f 
+ 00024906  0x00003837 store  0x00000001 , 0x0000007d 
+ 00024907  0x00003838 beq  0x00000081 , 0x00006169 
+ 00024908  0x00003839 beq  0x00000082 , 0x0000616e 
+ 00024909  0x0000383a beq  0x00000095 , 0x00006292 
+ 00024910  0x0000383b beq  0x00000096 , 0x000062ab 
+ 00024911  0x0000383c beq  0x0000008b , 0x000062a0 
+ 00024912  0x0000383d beq  0x00000083 , 0x00006186 
+ 00024913  0x0000383e beq  0x00000084 , 0x00006188 
+ 00024914  0x0000383f beq  0x00000090 , 0x0000615b 
+ 00024915  0x00003840 beq  0x00000097 , 0x0000617f 
+ 00024916  0x00003841 beq  0x00000098 , 0x00006184 
+ 00024917  0x00003842 beq  0x00000099 , 0x0000615e 
+ 00024918  0x00003843 beq  0x0000009a , 0x00006161 
+ 00024919  0x00003844 rtneq  0x00000084 
+ 00024920  0x00003848 jam  0x00000082 , 0x0000007c 
+ 00024921  0x00003849 jam  0x00000019 , 0x0000007e 
+ 00024922  0x0000384b rtn 
+ 00024923  0x0000384d jam  0x00000082 , 0x0000007c 
+ 00024924  0x0000384e jam  0x0000002e , 0x0000007e 
+ 00024925  0x0000384f rtn 
+ 00024926  0x00003852 call  0x00006163 
+ 00024927  0x00003853 jam  0x0000009a , 0x0000007c 
+ 00024928  0x00003854 rtn 
+ 00024929  0x00003857 call  0x00006163 
+ 00024930  0x00003858 branch  0x00006167 
+ 00024931  0x0000385b arg  0x00004630 , 0x00000005 
+ 00024932  0x0000385c fetch  0x00000003 , 0x0000054f 
+ 00024933  0x0000385d istore  0x00000003 , 0x00000005 
+ 00024934  0x0000385e rtn 
+ 00024935  0x00003861 branch  0x0000758d , 0x00000001 
+ 00024936  0x00003862 rtn 
+ 00024937  0x00003864 fetch  0x00000001 , 0x00000550 
+ 00024938  0x00003865 set1  0x00000007 , 0x0000003f 
+ 00024939  0x00003866 store  0x00000001 , 0x000004c5 
+ 00024940  0x00003867 beq  0x0000008b , 0x00006173 
+ 00024941  0x00003868 rtn 
+ 00024942  0x0000386c fetch  0x00000001 , 0x00000550 
+ 00024943  0x0000386d set1  0x00000007 , 0x0000003f 
+ 00024944  0x0000386e store  0x00000001 , 0x000004c5 
+ 00024945  0x0000386f beq  0x0000008b , 0x00006177 
+ 00024946  0x00003870 rtn 
+ 00024947  0x00003873 fetch  0x00000001 , 0x0000415b 
+ 00024948  0x00003874 fetcht  0x00000001 , 0x0000004c 
+ 00024949  0x00003875 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00024950  0x00003876 storet  0x00000001 , 0x0000004c 
+ 00024951  0x00003878 fetch  0x00000001 , 0x00000030 
+ 00024952  0x00003879 rtnbit0  0x00000005 
+ 00024953  0x0000387a set0  0x00000005 , 0x0000003f 
+ 00024954  0x0000387b store  0x00000001 , 0x00000030 
+ 00024955  0x0000387c fetch  0x00000001 , 0x000004d3 
+ 00024956  0x0000387d nrtn  0x00000034 
+ 00024957  0x0000387e jam  0x00000031 , 0x0000007c 
+ 00024958  0x0000387f rtn 
+ 00024959  0x00003882 nbranch  0x00006182 , 0x00000029 
+ 00024960  0x00003883 jam  0x00000012 , 0x0000007c 
+ 00024961  0x00003884 branch  0x000066cd 
+ 00024962  0x00003887 jam  0x00000097 , 0x0000007c 
+ 00024963  0x00003888 rtn 
+ 00024964  0x0000388d call  0x000066cd 
+ 00024965  0x0000388e branch  0x000063e0 
+ 00024966  0x00003891 jam  0x00000084 , 0x0000007c 
+ 00024967  0x00003892 rtn 
+ 00024968  0x00003895 fetcht  0x00000001 , 0x00000551 
+ 00024969  0x00003896 and  0x00000002 , 0x00000001 , 0x00000002 
+ 00024970  0x00003897 storet  0x00000001 , 0x000004cc 
+ 00024971  0x00003898 fetch  0x00000001 , 0x000041cf 
+ 00024972  0x00003899 bne  0x00000051 , 0x0000618e 
+ 00024973  0x0000389a jam  0x00000000 , 0x000041cf 
+ 00024974  0x0000389c fetch  0x00000001 , 0x00000055 
+ 00024975  0x0000389d rtnne  0x00000015 
+ 00024976  0x0000389e jam  0x00000004 , 0x00000055 
+ 00024977  0x0000389f branch  0x000066fd 
+ 00024978  0x000038a2 bpatchx  0x0000003c , 0x00004027 
+ 00024979  0x000038a3 fetch  0x00000001 , 0x0000054e 
+ 00024980  0x000038a4 store  0x00000001 , 0x000004c5 
+ 00024981  0x000038a5 beq  0x00000033 , 0x000061b9 
+ 00024982  0x000038a6 beq  0x00000008 , 0x000061c8 
+ 00024983  0x000038a7 beq  0x0000000f , 0x000061cf 
+ 00024984  0x000038a8 beq  0x00000010 , 0x000061d5 
+ 00024985  0x000038a9 beq  0x00000011 , 0x000061d6 
+ 00024986  0x000038aa beq  0x00000012 , 0x000061de 
+ 00024987  0x000038ab beq  0x00000018 , 0x000061f4 
+ 00024988  0x000038ac beq  0x00000017 , 0x000061f7 
+ 00024989  0x000038ad beq  0x00000013 , 0x000061b0 
+ 00024990  0x000038af beq  0x0000003d , 0x00006300 
+ 00024991  0x000038b0 beq  0x0000003e , 0x0000634c 
+ 00024992  0x000038b1 beq  0x00000040 , 0x00006302 
+ 00024993  0x000038b2 beq  0x00000041 , 0x0000631f 
+ 00024994  0x000038b3 rtn 
+ 00024995  0x000038b6 bpatchx  0x0000003d , 0x00004027 
+ 00024996  0x000038b7 fetch  0x00000001 , 0x0000054e 
+ 00024997  0x000038b8 store  0x00000001 , 0x000004c5 
+ 00024998  0x000038b9 beq  0x00000001 , 0x000061eb 
+ 00024999  0x000038ba beq  0x00000033 , 0x000061c3 
+ 00025000  0x000038bb beq  0x0000000b , 0x000061df 
+ 00025001  0x000038bc beq  0x00000008 , 0x000061e2 
+ 00025002  0x000038bd beq  0x00000013 , 0x000061b3 
+ 00025003  0x000038bf beq  0x00000040 , 0x000061ec 
+ 00025004  0x000038c0 beq  0x00000041 , 0x000061ef 
+ 00025005  0x000038c1 beq  0x00000018 , 0x000061f2 
+ 00025006  0x000038c2 beq  0x00000017 , 0x00006203 
+ 00025007  0x000038c3 rtn 
+ 00025008  0x000038c6 jam  0x00000020 , 0x00000a95 
+ 00025009  0x000038c7 call  0x00007bab 
+ 00025010  0x000038c8 branch  0x000041d8 
+ 00025011  0x000038ca jam  0x00000019 , 0x00000a95 
+ 00025012  0x000038cb call  0x00007bab 
+ 00025013  0x000038cc jam  0x00000002 , 0x0000452d 
+ 00025014  0x000038cd setarg  0x00000050 
+ 00025015  0x000038ce arg  0x00000006 , 0x00000007 
+ 00025016  0x000038cf branch  0x00007ce3 
+ 00025017  0x000038d5 fetch  0x00000001 , 0x000004cd 
+ 00025018  0x000038d6 set1  0x00000000 , 0x0000003f 
+ 00025019  0x000038d7 store  0x00000001 , 0x000004cd 
+ 00025020  0x000038d8 jam  0x00000001 , 0x00000a95 
+ 00025021  0x000038d9 call  0x00007bab 
+ 00025022  0x000038da jam  0x0000008b , 0x0000007c 
+ 00025023  0x000038de fetch  0x00000001 , 0x00000055 
+ 00025024  0x000038df bne  0x00000005 , 0x000060e8 
+ 00025025  0x000038e2 jam  0x00000006 , 0x00000055 
+ 00025026  0x000038e3 rtn 
+ 00025027  0x000038ec jam  0x0000000b , 0x000004c6 
+ 00025028  0x000038ed jam  0x00000007 , 0x0000007c 
+ 00025029  0x000038ef jam  0x00000000 , 0x00000055 
+ 00025030  0x000038f1 branch  0x000060e8 , 0x00000001 
+ 00025031  0x000038f2 rtn 
+ 00025032  0x000038f5 fetch  0x00000001 , 0x000041be 
+ 00025033  0x000038f6 nrtn  0x00000034 
+ 00025034  0x000038f7 call  0x0000444b 
+ 00025035  0x000038f8 call  0x000063de 
+ 00025036  0x000038f9 rtn  0x00000029 
+ 00025037  0x000038fa set1  0x00000021 , 0x00000000 
+ 00025038  0x000038fb rtn 
+ 00025039  0x000038fe nrtn  0x00000029 
+ 00025040  0x000038ff jam  0x00000010 , 0x0000007c 
+ 00025041  0x00003900 fetch  0x00000001 , 0x0000004c 
+ 00025042  0x00003901 rtnbit0  0x00000002 
+ 00025043  0x00003902 jam  0x00000012 , 0x0000007c 
+ 00025044  0x00003903 rtn 
+ 00025045  0x00003906 branch  0x000063e0 
+ 00025046  0x00003909 call  0x0000643b 
+ 00025047  0x0000390a fetch  0x00000001 , 0x00000030 
+ 00025048  0x0000390b rtnbit1  0x00000004 
+ 00025049  0x0000390c jam  0x00000031 , 0x0000007c 
+ 00025050  0x0000390d fetch  0x00000001 , 0x00000055 
+ 00025051  0x0000390e rtnne  0x0000000a 
+ 00025052  0x0000390f jam  0x0000000b , 0x00000055 
+ 00025053  0x00003910 rtn 
+ 00025054  0x0000391a rtn 
+ 00025055  0x0000391e jam  0x00000007 , 0x0000007c 
+ 00025056  0x0000391f jam  0x00000013 , 0x000004c6 
+ 00025057  0x00003920 rtn 
+ 00025058  0x00003923 fetch  0x00000001 , 0x0000054f 
+ 00025059  0x00003924 beq  0x00000006 , 0x000061e8 
+ 00025060  0x00003925 rtnne  0x00000018 
+ 00025061  0x00003926 jam  0x00000018 , 0x000004c6 
+ 00025062  0x00003927 jam  0x00000007 , 0x0000007c 
+ 00025063  0x00003928 rtn 
+ 00025064  0x0000392a jam  0x00000006 , 0x000004c6 
+ 00025065  0x0000392b jam  0x00000007 , 0x0000007c 
+ 00025066  0x0000392c rtn 
+ 00025067  0x0000392f rtn 
+ 00025068  0x00003932 jam  0x00000000 , 0x000009aa 
+ 00025069  0x00003933 jam  0x00000007 , 0x0000007c 
+ 00025070  0x00003934 branch  0x000060e8 
+ 00025071  0x00003937 jam  0x00000000 , 0x000009aa 
+ 00025072  0x00003938 jam  0x00000007 , 0x0000007c 
+ 00025073  0x00003939 branch  0x000060e8 
+ 00025074  0x0000393b jam  0x00000024 , 0x00000a95 
+ 00025075  0x0000393c branch  0x00007bab 
+ 00025076  0x0000393f jam  0x00000023 , 0x00000a95 
+ 00025077  0x00003940 call  0x00007bab 
+ 00025078  0x00003941 branch  0x000046e5 
+ 00025079  0x00003944 jam  0x00000022 , 0x00000a95 
+ 00025080  0x00003945 call  0x00007bab 
+ 00025081  0x00003946 setarg  0x00000000 
+ 00025082  0x00003947 store  0x00000002 , 0x00000075 
+ 00025083  0x00003948 fetch  0x00000002 , 0x000041e4 
+ 00025084  0x00003949 lshift  0x0000003f , 0x0000003f 
+ 00025085  0x0000394a store  0x00000002 , 0x00000032 
+ 00025086  0x0000394b fetch  0x00000001 , 0x000041e6 
+ 00025087  0x0000394c store  0x00000001 , 0x00000073 
+ 00025088  0x0000394d fetch  0x00000001 , 0x000041e8 
+ 00025089  0x0000394e store  0x00000001 , 0x00000074 
+ 00025090  0x0000394f branch  0x000046c2 
+ 00025091  0x00003952 jam  0x00000021 , 0x00000a95 
+ 00025092  0x00003953 branch  0x00007bab 
+ 00025093  0x00003956 fetcht  0x00000001 , 0x0000054e 
+ 00025094  0x00003957 storet  0x00000001 , 0x00000054 
+ 00025095  0x00003958 branch  0x00006219 
+ 00025096  0x0000395b fetch  0x00000001 , 0x000004cd 
+ 00025097  0x0000395c set1  0x00000002 , 0x0000003f 
+ 00025098  0x0000395d store  0x00000001 , 0x000004cd 
+ 00025099  0x0000395e rtnbit1  0x00000003 
+ 00025100  0x0000395f jam  0x00000031 , 0x0000007c 
+ 00025101  0x00003960 branch  0x000060e8 
+ 00025102  0x00003965 rtn 
+ 00025103  0x00003968 fetch  0x00000001 , 0x000040d0 
+ 00025104  0x00003969 fetcht  0x00000001 , 0x0000054e 
+ 00025105  0x0000396a isub  0x00000002 , 0x0000003e 
+ 00025106  0x0000396c branch  0x00006219 , 0x00000002 
+ 00025107  0x0000396d jam  0x00000004 , 0x0000007c 
+ 00025108  0x0000396e jam  0x0000001f , 0x0000007e 
+ 00025109  0x0000396f jam  0x0000002e , 0x0000007d 
+ 00025110  0x00003970 rtn 
+ 00025111  0x00003973 call  0x00006539 
+ 00025112  0x00003974 branch  0x00006219 
+ 00025113  0x00003977 jam  0x00000003 , 0x0000007c 
+ 00025114  0x00003978 rtn 
+ 00025115  0x0000397b jam  0x00000021 , 0x0000007c 
+ 00025116  0x0000397c rtn 
+ 00025117  0x0000397f jam  0x00000022 , 0x0000007c 
+ 00025118  0x00003980 rtn 
+ 00025119  0x00003983 fetch  0x00000001 , 0x00000055 
+ 00025120  0x00003984 rtneq  0x00000013 
+ 00025121  0x00003986 jam  0x00000002 , 0x00000055 
+ 00025122  0x00003988 rtn 
+ 00025123  0x0000398c rtn 
+ 00025124  0x0000398f call  0x000063db 
+ 00025125  0x00003990 jam  0x00000001 , 0x000004d0 
+ 00025126  0x00003991 jam  0x0000000a , 0x00000a95 
+ 00025127  0x00003992 call  0x00007bab 
+ 00025128  0x00003994 call  0x000066d5 
+ 00025129  0x00003995 nbranch  0x000063e3 , 0x00000001 
+ 00025130  0x00003997 nbranch  0x0000622f , 0x00000029 
+ 00025131  0x00003998 jam  0x00000004 , 0x0000007c 
+ 00025132  0x00003999 jam  0x00000008 , 0x0000007d 
+ 00025133  0x0000399a jam  0x00000023 , 0x0000007e 
+ 00025134  0x0000399b rtn 
+ 00025135  0x0000399d fetch  0x00000001 , 0x0000004b 
+ 00025136  0x0000399e set1  0x00000002 , 0x0000003f 
+ 00025137  0x0000399f store  0x00000001 , 0x0000004b 
+ 00025138  0x000039a0 rtn 
+ 00025139  0x000039a4 fetcht  0x00000001 , 0x0000004c 
+ 00025140  0x000039a5 nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00025141  0x000039a6 storet  0x00000001 , 0x0000004c 
+ 00025142  0x000039a7 rtn 
+ 00025143  0x000039ab fetch  0x00000001 , 0x0000007f 
+ 00025144  0x000039ac rshift  0x0000003f , 0x0000003f 
+ 00025145  0x000039ad and_into  0x00000001 , 0x0000003f 
+ 00025146  0x000039ae rtn 
+ 00025147  0x000039b1 fetch  0x00000001 , 0x00004216 
+ 00025148  0x000039b2 rtn  0x00000034 
+ 00025149  0x000039b3 fetch  0x00000001 , 0x000009b1 
+ 00025150  0x000039b4 call  0x000068a4 , 0x00000034 
+ 00025151  0x000039b5 rtn 
+ 00025152  0x000039b8 call  0x0000623b 
+ 00025153  0x000039b9 call  0x00006237 
+ 00025154  0x000039ba store  0x00000001 , 0x000004d1 
+ 00025155  0x000039bb call  0x000063db 
+ 00025156  0x000039bc jam  0x0000000c , 0x0000007c 
+ 00025157  0x000039bd fetch  0x00000001 , 0x000041be 
+ 00025158  0x000039be nrtn  0x00000034 
+ 00025159  0x000039bf fetch  0x00000001 , 0x00000030 
+ 00025160  0x000039c0 rtnbit1  0x00000006 
+ 00025161  0x000039c1 jam  0x00000006 , 0x0000007e 
+ 00025162  0x000039c2 branch  0x00006134 
+ 00025163  0x000039c5 arg  0x00000040 , 0x00000011 
+ 00025164  0x000039c6 call  0x00007147 
+ 00025165  0x000039c7 fetch  0x00000004 , 0x0000054e 
+ 00025166  0x000039c8 fetcht  0x00000004 , 0x0000058e 
+ 00025167  0x000039c9 isub  0x00000002 , 0x0000003e 
+ 00025168  0x000039ca branch  0x00006254 , 0x00000005 
+ 00025169  0x000039cb jam  0x00000007 , 0x0000007c 
+ 00025170  0x000039cc jam  0x00000005 , 0x000004c6 
+ 00025171  0x000039cd rtn 
+ 00025172  0x000039cf call  0x00006258 
+ 00025173  0x000039d0 fetch  0x00000001 , 0x0000462c 
+ 00025174  0x000039d1 branch  0x00006320 , 0x00000034 
+ 00025175  0x000039d2 rtn 
+ 00025176  0x000039d6 call  0x0000723c 
+ 00025177  0x000039d7 call  0x000041ae 
+ 00025178  0x000039d8 fetch  0x00000001 , 0x0000004b 
+ 00025179  0x000039d9 isolate1  0x00000001 , 0x0000003f 
+ 00025180  0x000039da set0  0x00000001 , 0x0000003f 
+ 00025181  0x000039db store  0x00000001 , 0x0000004b 
+ 00025182  0x000039dc fetch  0x00000001 , 0x00000055 
+ 00025183  0x000039dd beq  0x00000019 , 0x00006262 
+ 00025184  0x000039de beq  0x00000018 , 0x00006262 
+ 00025185  0x000039df rtn 
+ 00025186  0x000039e1 fetch  0x00000001 , 0x000009b1 
+ 00025187  0x000039e2 rtnne  0x00000000 
+ 00025188  0x000039e3 fetch  0x00000001 , 0x0000004c 
+ 00025189  0x000039e4 rtnbit1  0x00000002 
+ 00025190  0x000039e5 branch  0x00006793 
+ 00025191  0x000039e8 arg  0x0000054e , 0x00000011 
+ 00025192  0x000039e9 arg  0x0000057e , 0x00000012 
+ 00025193  0x000039ea arg  0x0000055e , 0x00000005 
+ 00025194  0x000039eb call  0x00007208 
+ 00025195  0x000039ec arg  0x00000040 , 0x00000011 
+ 00025196  0x000039ed call  0x000066f3 
+ 00025197  0x000039ee jam  0x0000000b , 0x0000007c 
+ 00025198  0x000039ef fetch  0x00000001 , 0x00000030 
+ 00025199  0x000039f0 bbit0  0x00000006 , 0x000063de 
+ 00025200  0x000039f1 rtn 
+ 00025201  0x000039f4 fetch  0x00000002 , 0x0000015d 
+ 00025202  0x000039f5 add  0x0000003f , 0xfffffffd , 0x00000039 
+ 00025203  0x000039f6 fetcht  0x00000001 , 0x0000054e 
+ 00025204  0x000039f7 setarg  0x000000ff 
+ 00025205  0x000039f8 iadd  0x00000002 , 0x00000005 
+ 00025206  0x000039f9 arg  0x00000550 , 0x00000006 
+ 00025207  0x000039fa call  0x00007cdc 
+ 00025208  0x000039fb fetcht  0x00000001 , 0x00000053 
+ 00025209  0x000039fc fetch  0x00000001 , 0x0000054f 
+ 00025210  0x000039fd isub  0x00000002 , 0x0000003f 
+ 00025211  0x000039fe sub  0x0000003f , 0x0000000e , 0x0000003e 
+ 00025212  0x000039ff branch  0x00006281 , 0x00000002 
+ 00025213  0x00003a00 add  0x00000002 , 0x0000000e , 0x0000003f 
+ 00025214  0x00003a01 store  0x00000001 , 0x00000053 
+ 00025215  0x00003a02 jam  0x00000001 , 0x0000007c 
+ 00025216  0x00003a03 rtn 
+ 00025217  0x00003a05 fetch  0x00000001 , 0x0000004c 
+ 00025218  0x00003a06 set1  0x00000003 , 0x0000003f 
+ 00025219  0x00003a07 store  0x00000001 , 0x0000004c 
+ 00025220  0x00003a08 bbit1  0x00000004 , 0x000063e8 
+ 00025221  0x00003a09 rtn 
+ 00025222  0x00003a0b fetch  0x00000001 , 0x0000054e 
+ 00025223  0x00003a0c store  0x00000001 , 0x0000007d 
+ 00025224  0x00003a0d jam  0x00000002 , 0x0000007c 
+ 00025225  0x00003a0e rtn 
+ 00025226  0x00003a11 branch  0x00006219 
+ 00025227  0x00003a14 jam  0x00000030 , 0x0000007c 
+ 00025228  0x00003a15 rtn 
+ 00025229  0x00003a18 jam  0x00000028 , 0x0000007c 
+ 00025230  0x00003a19 rtn 
+ 00025231  0x00003a1c jam  0x00000026 , 0x0000007c 
+ 00025232  0x00003a1d rtn 
+ 00025233  0x00003a22 rtn 
+ 00025234  0x00003a27 fetch  0x00000002 , 0x00000032 
+ 00025235  0x00003a28 iforce  0x00000002 
+ 00025236  0x00003a29 fetch  0x00000001 , 0x0000054f 
+ 00025237  0x00003a2a store  0x00000001 , 0x00000095 
+ 00025238  0x00003a2b imul32  0x00000002 , 0x00000002 
+ 00025239  0x00003a2c fetch  0x00000002 , 0x00000550 
+ 00025240  0x00003a2d lshift  0x0000003f , 0x0000003f 
+ 00025241  0x00003a2e store  0x00000002 , 0x00000096 
+ 00025242  0x00003a2f fetch  0x00000004 , 0x00000552 
+ 00025243  0x00003a30 lshift  0x0000003f , 0x0000003f 
+ 00025244  0x00003a31 store  0x00000004 , 0x00000091 
+ 00025245  0x00003a33 deposit  0x00000002 
+ 00025246  0x00003a34 store  0x00000002 , 0x00000098 
+ 00025247  0x00003a35 rtn 
+ 00025248  0x00003a37 fetcht  0x00000001 , 0x0000415b 
+ 00025249  0x00003a38 fetch  0x00000001 , 0x0000054f 
+ 00025250  0x00003a39 ixor  0x00000002 , 0x0000003e 
+ 00025251  0x00003a3a nbranch  0x00006158 , 0x00000005 
+ 00025252  0x00003a3b isolate1  0x00000000 , 0x0000003f 
+ 00025253  0x00003a3c fetch  0x00000001 , 0x0000004c 
+ 00025254  0x00003a3d setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00025255  0x00003a3e store  0x00000001 , 0x0000004c 
+ 00025256  0x00003a3f jam  0x00000081 , 0x0000007c 
+ 00025257  0x00003a40 jam  0x0000008b , 0x0000007d 
+ 00025258  0x00003a41 rtn 
+ 00025259  0x00003a48 rtn 
+ 00025260  0x00003a4b branch  0x00006219 
+ 00025261  0x00003a4f branch  0x00006219 
+ 00025262  0x00003a54 fetch  0x00000002 , 0x0000054e 
+ 00025263  0x00003a55 store  0x00000002 , 0x0000016f 
+ 00025264  0x00003a56 rtn 
+ 00025265  0x00003a59 fetch  0x00000002 , 0x00000551 
+ 00025266  0x00003a5a fetcht  0x00000001 , 0x00004173 
+ 00025267  0x00003a5b imul32  0x00000002 , 0x0000003f 
+ 00025268  0x00003a5c arg  0x00000640 , 0x00000002 
+ 00025269  0x00003a5d isub  0x00000002 , 0x0000003e 
+ 00025270  0x00003a5f rtn 
+ 00025271  0x00003a62 branch  0x000062d2 
+ 00025272  0x00003a63 fetch  0x00000002 , 0x00000553 
+ 00025273  0x00003a64 branch  0x000062d2 , 0x00000034 
+ 00025274  0x00003a65 call  0x000062b1 
+ 00025275  0x00003a66 branch  0x000062d2 , 0x00000002 
+ 00025276  0x00003a67 fetch  0x00000001 , 0x00004092 
+ 00025277  0x00003a68 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00025278  0x00003a69 call  0x000050c1 , 0x00000005 
+ 00025279  0x00003a6a fetch  0x00000001 , 0x00000030 
+ 00025280  0x00003a6b bbit1  0x00000001 , 0x000062d2 
+ 00025281  0x00003a6c fetch  0x00000002 , 0x0000054f 
+ 00025282  0x00003a6d lshift  0x0000003f , 0x0000003f 
+ 00025283  0x00003a6e store  0x00000002 , 0x00000075 
+ 00025284  0x00003a6f fetch  0x00000002 , 0x00000551 
+ 00025285  0x00003a70 lshift  0x0000003f , 0x0000003f 
+ 00025286  0x00003a71 store  0x00000002 , 0x00000032 
+ 00025287  0x00003a72 fetch  0x00000002 , 0x00000553 
+ 00025288  0x00003a73 store  0x00000001 , 0x00000073 
+ 00025289  0x00003a74 iforce  0x00000002 
+ 00025290  0x00003a75 fetch  0x00000002 , 0x00000555 
+ 00025291  0x00003a76 store  0x00000001 , 0x00000074 
+ 00025292  0x00003a77 isub  0x00000002 , 0x0000003e 
+ 00025293  0x00003a78 nbranch  0x000062cf , 0x00000002 
+ 00025294  0x00003a79 store  0x00000001 , 0x00000073 
+ 00025295  0x00003a7c jam  0x00000003 , 0x0000007c 
+ 00025296  0x00003a7d jam  0x00000017 , 0x0000007d 
+ 00025297  0x00003a7e rtn 
+ 00025298  0x00003a81 jam  0x00000024 , 0x0000007e 
+ 00025299  0x00003a82 branch  0x00006134 
+ 00025300  0x00003a85 call  0x00006219 
+ 00025301  0x00003a86 call  0x000063db 
+ 00025302  0x00003a87 call  0x0000714a 
+ 00025303  0x00003a88 branch  0x000046b4 
+ 00025304  0x00003a8b call  0x00006219 
+ 00025305  0x00003a8c branch  0x000046bc 
+ 00025306  0x00003a90 fetch  0x00000004 , 0x0000054e 
+ 00025307  0x00003a91 lshift  0x0000003f , 0x0000003f 
+ 00025308  0x00003a93 branch  0x000062e6 , 0x00000029 
+ 00025309  0x00003a94 fetcht  0x00000001 , 0x000041be 
+ 00025310  0x00003a95 nbranch  0x000062e3 , 0x00000034 
+ 00025311  0x00003a97 jam  0x00000004 , 0x0000007c 
+ 00025312  0x00003a98 jam  0x00000013 , 0x0000007d 
+ 00025313  0x00003a99 jam  0x00000024 , 0x0000007e 
+ 00025314  0x00003a9a rtn 
+ 00025315  0x00003a9c jam  0x00000034 , 0x0000007c 
+ 00025316  0x00003a9d jam  0x00000000 , 0x00000055 
+ 00025317  0x00003a9e branch  0x000041d5 
+ 00025318  0x00003aa1 call  0x000041d5 
+ 00025319  0x00003aa2 set1  0x00000022 , 0x00000000 
+ 00025320  0x00003aa3 fetch  0x00000001 , 0x0000016b 
+ 00025321  0x00003aa4 set0  0x00000002 , 0x0000003f 
+ 00025322  0x00003aa5 store  0x00000001 , 0x0000016b 
+ 00025323  0x00003aa6 branch  0x00006219 
+ 00025324  0x00003aaf rtn 
+ 00025325  0x00003ab3 jam  0x00000003 , 0x0000007c 
+ 00025326  0x00003ab4 jam  0x00000018 , 0x0000007d 
+ 00025327  0x00003ab5 jam  0x0000002e , 0x00000a95 
+ 00025328  0x00003ab6 call  0x00007bab 
+ 00025329  0x00003ab7 branch  0x000046e5 
+ 00025330  0x00003aba fetch  0x00000001 , 0x0000054e 
+ 00025331  0x00003abb bne  0x00000001 , 0x000062fe 
+ 00025332  0x00003abc fetch  0x00000001 , 0x0000054f 
+ 00025333  0x00003abd bne  0x00000001 , 0x000062fe 
+ 00025334  0x00003abe fetch  0x00000001 , 0x00000550 
+ 00025335  0x00003abf bne  0x00000030 , 0x000062fe 
+ 00025336  0x00003ac0 call  0x000066de 
+ 00025337  0x00003ac1 branch  0x000062fb , 0x00000001 
+ 00025338  0x00003ac2 jam  0x00000001 , 0x000009aa 
+ 00025339  0x00003ac4 jam  0x00000003 , 0x0000007c 
+ 00025340  0x00003ac5 jam  0x0000003d , 0x0000007d 
+ 00025341  0x00003ac6 branch  0x000060e8 
+ 00025342  0x00003ac9 jam  0x00000024 , 0x0000007e 
+ 00025343  0x00003aca branch  0x00006134 
+ 00025344  0x00003acf jam  0x0000003e , 0x0000007c 
+ 00025345  0x00003ad1 rtn 
+ 00025346  0x00003ad3 fetch  0x00000001 , 0x00004634 
+ 00025347  0x00003ad4 beq  0x00000001 , 0x00006309 
+ 00025348  0x00003ad5 beq  0x00000002 , 0x0000630d 
+ 00025349  0x00003ad7 call  0x000066de 
+ 00025350  0x00003ad8 rtn  0x00000001 
+ 00025351  0x00003ad9 jam  0x00000008 , 0x000009aa 
+ 00025352  0x00003ada rtn 
+ 00025353  0x00003add call  0x00007817 
+ 00025354  0x00003ade jam  0x00000035 , 0x00000a95 
+ 00025355  0x00003adf call  0x00007bab 
+ 00025356  0x00003ae0 branch  0x00006305 
+ 00025357  0x00003ae4 call  0x000066de 
+ 00025358  0x00003ae5 rtn  0x00000001 
+ 00025359  0x00003ae6 fetch  0x00000001 , 0x00004635 
+ 00025360  0x00003ae7 beq  0x00000013 , 0x0000631d 
+ 00025361  0x00003ae8 increase  0x00000001 , 0x0000003f 
+ 00025362  0x00003ae9 store  0x00000001 , 0x00004635 
+ 00025363  0x00003aed jam  0x00000001 , 0x000009ac 
+ 00025364  0x00003aee jam  0x00000004 , 0x000009aa 
+ 00025365  0x00003aef fetch  0x00000001 , 0x00004635 
+ 00025366  0x00003af0 copy  0x0000003f , 0x00000007 
+ 00025367  0x00003af1 fetch  0x00000006 , 0x00004658 
+ 00025368  0x00003af2 qisolate1  0x0000003f 
+ 00025369  0x00003af3 setarg  0x00000080 
+ 00025370  0x00003af4 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025371  0x00003af5 store  0x00000001 , 0x00004636 
+ 00025372  0x00003af6 rtn 
+ 00025373  0x00003af9 jam  0x00000008 , 0x000009aa 
+ 00025374  0x00003afa rtn 
+ 00025375  0x00003afd call  0x00006325 
+ 00025376  0x00003aff fetch  0x00000001 , 0x00004637 
+ 00025377  0x00003b00 rtn  0x00000034 
+ 00025378  0x00003b01 jam  0x00000000 , 0x00004637 
+ 00025379  0x00003b02 jam  0x00000038 , 0x00000a95 
+ 00025380  0x00003b03 branch  0x00007bab 
+ 00025381  0x00003b08 call  0x000066de 
+ 00025382  0x00003b09 ncall  0x0000781a , 0x00000001 
+ 00025383  0x00003b0a call  0x0000782a , 0x00000001 
+ 00025384  0x00003b0b call  0x000066de 
+ 00025385  0x00003b0c rtn  0x00000001 
+ 00025386  0x00003b0d jam  0x0000000c , 0x000009aa 
+ 00025387  0x00003b0e jam  0x00000001 , 0x000009ac 
+ 00025388  0x00003b0f rtn 
+ 00025389  0x00003b12 arg  0x00000a6a , 0x00000005 
+ 00025390  0x00003b13 arg  0x0000054e , 0x00000006 
+ 00025391  0x00003b14 call  0x00007c9a 
+ 00025392  0x00003b15 fetch  0x00000001 , 0x00004634 
+ 00025393  0x00003b16 rtneq  0x00000002 
+ 00025394  0x00003b17 branch  0x0000758d 
+ 00025395  0x00003b1a fetch  0x00000001 , 0x000009ab 
+ 00025396  0x00003b1b beq  0x00000007 , 0x00006337 
+ 00025397  0x00003b1c fetch  0x00000001 , 0x000009aa 
+ 00025398  0x00003b1d bne  0x00000001 , 0x0000634a 
+ 00025399  0x00003b1f fetch  0x00000001 , 0x000009b3 
+ 00025400  0x00003b20 sub  0x0000003f , 0x00000020 , 0x00000005 
+ 00025401  0x00003b21 nbranch  0x0000634a , 0x00000002 
+ 00025402  0x00003b22 arg  0x000009c2 , 0x00000005 
+ 00025403  0x00003b23 iadd  0x00000005 , 0x00000005 
+ 00025404  0x00003b24 fetch  0x00000008 , 0x0000054e 
+ 00025405  0x00003b25 istore  0x00000008 , 0x00000005 
+ 00025406  0x00003b26 fetch  0x00000008 , 0x00000556 
+ 00025407  0x00003b27 istore  0x00000008 , 0x00000005 
+ 00025408  0x00003b28 fetch  0x00000001 , 0x000009b3 
+ 00025409  0x00003b29 increase  0x00000010 , 0x0000003f 
+ 00025410  0x00003b2a store  0x00000001 , 0x000009b3 
+ 00025411  0x00003b2b bne  0x00000030 , 0x00006219 
+ 00025412  0x00003b2d call  0x000066de 
+ 00025413  0x00003b2e branch  0x00006219 , 0x00000001 
+ 00025414  0x00003b2f jam  0x00000001 , 0x000009b4 
+ 00025415  0x00003b30 jam  0x00000002 , 0x000009aa 
+ 00025416  0x00003b31 jam  0x00000001 , 0x000009ac 
+ 00025417  0x00003b32 branch  0x00006219 
+ 00025418  0x00003b34 jam  0x00000024 , 0x0000007e 
+ 00025419  0x00003b35 branch  0x00006134 
+ 00025420  0x00003b37 fetch  0x00000001 , 0x000009b2 
+ 00025421  0x00003b38 beq  0x00000030 , 0x00006350 
+ 00025422  0x00003b39 jam  0x0000003e , 0x0000007c 
+ 00025423  0x00003b3a branch  0x000060e8 
+ 00025424  0x00003b3d call  0x000066de 
+ 00025425  0x00003b3e branch  0x00006359 , 0x00000001 
+ 00025426  0x00003b3f fetch  0x00000001 , 0x00004634 
+ 00025427  0x00003b40 beq  0x00000002 , 0x00006357 
+ 00025428  0x00003b41 jam  0x00000001 , 0x000009ac 
+ 00025429  0x00003b42 jam  0x00000004 , 0x000009aa 
+ 00025430  0x00003b43 branch  0x000060e8 
+ 00025431  0x00003b46 jam  0x00000036 , 0x00000a95 
+ 00025432  0x00003b47 branch  0x00007bab 
+ 00025433  0x00003b4c branch  0x000060e8 
+ 00025434  0x00003b4f fetch  0x00000001 , 0x000009ab 
+ 00025435  0x00003b50 beq  0x00000007 , 0x0000635e 
+ 00025436  0x00003b51 fetch  0x00000001 , 0x000009aa 
+ 00025437  0x00003b52 bne  0x00000006 , 0x0000636a 
+ 00025438  0x00003b54 arg  0x00000a2a , 0x00000005 
+ 00025439  0x00003b55 fetch  0x00000008 , 0x0000054e 
+ 00025440  0x00003b56 istore  0x00000008 , 0x00000005 
+ 00025441  0x00003b57 fetch  0x00000008 , 0x00000556 
+ 00025442  0x00003b58 istore  0x00000008 , 0x00000005 
+ 00025443  0x00003b59 call  0x000066de 
+ 00025444  0x00003b5a branch  0x00006368 , 0x00000001 
+ 00025445  0x00003b5b jam  0x00000007 , 0x000009aa 
+ 00025446  0x00003b5c jam  0x00000001 , 0x000009ac 
+ 00025447  0x00003b5d branch  0x00006219 
+ 00025448  0x00003b5f jam  0x00000004 , 0x000009ab 
+ 00025449  0x00003b60 branch  0x0000758d 
+ 00025450  0x00003b64 jam  0x00000024 , 0x0000007e 
+ 00025451  0x00003b65 branch  0x00006134 
+ 00025452  0x00003b68 fetch  0x00000001 , 0x000009ab 
+ 00025453  0x00003b69 beq  0x0000000b , 0x00006370 
+ 00025454  0x00003b6a fetch  0x00000001 , 0x000009aa 
+ 00025455  0x00003b6b bne  0x00000008 , 0x0000637f 
+ 00025456  0x00003b6d arg  0x00000a5a , 0x00000005 
+ 00025457  0x00003b6e arg  0x0000054e , 0x00000006 
+ 00025458  0x00003b6f call  0x00007c9a 
+ 00025459  0x00003b70 call  0x000066de 
+ 00025460  0x00003b71 branch  0x0000637c , 0x00000001 
+ 00025461  0x00003b72 fetch  0x00000001 , 0x00004634 
+ 00025462  0x00003b73 beq  0x00000001 , 0x00006381 
+ 00025463  0x00003b75 jam  0x00000000 , 0x00004633 
+ 00025464  0x00003b76 jam  0x00000009 , 0x000009aa 
+ 00025465  0x00003b77 jam  0x00000001 , 0x000009ac 
+ 00025466  0x00003b78 jam  0x00000041 , 0x0000007d 
+ 00025467  0x00003b79 branch  0x000060e8 
+ 00025468  0x00003b7c jam  0x00000009 , 0x000009ab 
+ 00025469  0x00003b7d jam  0x00000001 , 0x000009ad 
+ 00025470  0x00003b7e branch  0x000060e8 
+ 00025471  0x00003b80 jam  0x00000024 , 0x0000007e 
+ 00025472  0x00003b81 branch  0x00006134 
+ 00025473  0x00003b84 fetch  0x00000001 , 0x00004633 
+ 00025474  0x00003b85 bbit1  0x00000007 , 0x00006386 
+ 00025475  0x00003b86 set1  0x00000006 , 0x0000003f 
+ 00025476  0x00003b87 store  0x00000001 , 0x00004633 
+ 00025477  0x00003b88 rtn 
+ 00025478  0x00003b8b bbit1  0x00000000 , 0x00006377 
+ 00025479  0x00003b8c jam  0x00000000 , 0x00004633 
+ 00025480  0x00003b8d branch  0x0000637f 
+ 00025481  0x00003b91 branch  0x000060e8 
+ 00025482  0x00003b94 fetch  0x00000001 , 0x0000016b 
+ 00025483  0x00003b95 set0  0x00000001 
+ 00025484  0x00003b96 store  0x00000001 , 0x0000016b 
+ 00025485  0x00003b97 call  0x00006219 
+ 00025486  0x00003b98 nrtn  0x00000029 
+ 00025487  0x00003b99 fetch  0x00000001 , 0x0000054e 
+ 00025488  0x00003b9a fetcht  0x00000001 , 0x0000004b 
+ 00025489  0x00003b9b setflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00025490  0x00003b9c nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00025491  0x00003b9d storet  0x00000001 , 0x0000004b 
+ 00025492  0x00003b9e rtn 
+ 00025493  0x00003ba1 fetcht  0x00000008 , 0x0000054e 
+ 00025494  0x00003ba3 fetch  0x00000001 , 0x00000055 
+ 00025495  0x00003ba4 rtnne  0x00000003 
+ 00025496  0x00003ba6 fetch  0x00000001 , 0x0000016b 
+ 00025497  0x00003ba7 bbit0  0x00000004 , 0x0000639c 
+ 00025498  0x00003ba9 jam  0x00000014 , 0x00000055 
+ 00025499  0x00003baa rtn 
+ 00025500  0x00003bac jam  0x00000004 , 0x00000055 
+ 00025501  0x00003bad rtn 
+ 00025502  0x00003baf fetch  0x00000001 , 0x0000017d 
+ 00025503  0x00003bb0 store  0x00000001 , 0x00000159 
+ 00025504  0x00003bb1 jam  0x00000003 , 0x0000007c 
+ 00025505  0x00003bb2 jam  0x00000038 , 0x0000007d 
+ 00025506  0x00003bb3 rtn 
+ 00025507  0x00003bb7 jam  0x00000003 , 0x0000007c 
+ 00025508  0x00003bb8 jam  0x00000039 , 0x0000007d 
+ 00025509  0x00003bb9 force  0x00000009 , 0x00000039 
+ 00025510  0x00003bba arg  0x0000054e , 0x00000006 
+ 00025511  0x00003bbb arg  0x00000150 , 0x00000005 
+ 00025512  0x00003bbd ifetch  0x00000001 , 0x00000006 
+ 00025513  0x00003bbe xor_into  0x00000055 , 0x0000003f 
+ 00025514  0x00003bbf istore  0x00000001 , 0x00000005 
+ 00025515  0x00003bc0 loop  0x000063a8 
+ 00025516  0x00003bc1 fetch  0x00000001 , 0x00000150 
+ 00025517  0x00003bc2 fetcht  0x00000001 , 0x0000014f 
+ 00025518  0x00003bc3 set0  0x00000007 , 0x00000002 
+ 00025519  0x00003bc4 set0  0x00000004 , 0x00000002 
+ 00025520  0x00003bc5 beq  0x000000ff , 0x000063bc 
+ 00025521  0x00003bc6 beq  0x00000000 , 0x000063d5 
+ 00025522  0x00003bc7 beq  0x00000005 , 0x000063c9 
+ 00025523  0x00003bc8 beq  0x00000007 , 0x000063c8 
+ 00025524  0x00003bc9 beq  0x00000006 , 0x000063c9 
+ 00025525  0x00003bca beq  0x00000008 , 0x000063c8 
+ 00025526  0x00003bcb beq  0x00000001 , 0x000063c1 
+ 00025527  0x00003bcc beq  0x00000002 , 0x000063c1 
+ 00025528  0x00003bcd beq  0x00000003 , 0x000063c1 
+ 00025529  0x00003bce beq  0x00000009 , 0x000063c1 
+ 00025530  0x00003bcf beq  0x00000004 , 0x000063c1 
+ 00025531  0x00003bd0 rtn 
+ 00025532  0x00003bd3 fetch  0x00000001 , 0x0000014f 
+ 00025533  0x00003bd4 set1  0x00000003 , 0x0000003f 
+ 00025534  0x00003bd5 set1  0x00000002 , 0x0000003f 
+ 00025535  0x00003bd6 store  0x00000001 , 0x0000014f 
+ 00025536  0x00003bd7 rtn 
+ 00025537  0x00003bd9 set1  0x00000004 , 0x00000002 
+ 00025538  0x00003bda jam  0x00000005 , 0x0000017e 
+ 00025539  0x00003bdb fetch  0x00000002 , 0x00000157 
+ 00025540  0x00003bdc iforce  0x00000039 
+ 00025541  0x00003bdd store  0x00000002 , 0x0000015d 
+ 00025542  0x00003bde arg  0x0000054d , 0x00000005 
+ 00025543  0x00003bdf call  0x00007d4e 
+ 00025544  0x00003be1 set1  0x00000007 , 0x00000002 
+ 00025545  0x00003be3 set1  0x00000002 , 0x00000002 
+ 00025546  0x00003be4 force  0x00000000 , 0x0000003f 
+ 00025547  0x00003be5 store  0x00000001 , 0x0000000b 
+ 00025548  0x00003be6 store  0x00000002 , 0x000000f8 
+ 00025549  0x00003be7 store  0x00000002 , 0x000000fa 
+ 00025550  0x00003be8 store  0x00000002 , 0x000000f6 
+ 00025551  0x00003be9 store  0x00000002 , 0x000000f4 
+ 00025552  0x00003bea fetch  0x00000001 , 0x00000151 
+ 00025553  0x00003beb compare  0x00000000 , 0x0000003f , 0x000000ff 
+ 00025554  0x00003bec setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00025555  0x00003bed storet  0x00000001 , 0x0000014f 
+ 00025556  0x00003bee rtn 
+ 00025557  0x00003bf1 set0  0x00000011 , 0x00000000 
+ 00025558  0x00003bf2 jam  0x00000000 , 0x0000014f 
+ 00025559  0x00003bf3 fetch  0x00000001 , 0x0000017d 
+ 00025560  0x00003bf4 set0  0x00000006 , 0x0000003f 
+ 00025561  0x00003bf5 store  0x00000001 , 0x0000017d 
+ 00025562  0x00003bf6 rtn 
+ 00025563  0x00003bfd arg  0x0000054e , 0x00000006 
+ 00025564  0x00003bfe arg  0x0000055e , 0x00000005 
+ 00025565  0x00003bff branch  0x00007c9a 
+ 00025566  0x00003c02 jam  0x00000009 , 0x0000007c 
+ 00025567  0x00003c03 rtn 
+ 00025568  0x00003c06 nrtn  0x00000029 
+ 00025569  0x00003c07 jam  0x00000011 , 0x0000007c 
+ 00025570  0x00003c08 rtn 
+ 00025571  0x00003c0b arg  0x000040a0 , 0x00000011 
+ 00025572  0x00003c0c call  0x00007114 
+ 00025573  0x00003c0d jam  0x00000003 , 0x0000007c 
+ 00025574  0x00003c0e jam  0x00000008 , 0x0000007d 
+ 00025575  0x00003c0f rtn 
+ 00025576  0x00003c12 jam  0x0000000a , 0x00000072 
+ 00025577  0x00003c13 jam  0x00000007 , 0x0000007c 
+ 00025578  0x00003c14 jam  0x00000016 , 0x000004c6 
+ 00025579  0x00003c15 rtn 
+ 00025580  0x00003c1c bpatchx  0x0000003e , 0x00004027 
+ 00025581  0x00003c1d disable  0x00000028 
+ 00025582  0x00003c1e call  0x000066a3 
+ 00025583  0x00003c1f fetch  0x00000001 , 0x00000048 
+ 00025584  0x00003c20 rtn  0x00000034 
+ 00025585  0x00003c25 bbit1  0x00000007 , 0x00006421 
+ 00025586  0x00003c27 beq  0x00000001 , 0x00006551 
+ 00025587  0x00003c28 beq  0x00000002 , 0x000064c6 
+ 00025588  0x00003c29 beq  0x00000003 , 0x0000642c 
+ 00025589  0x00003c2a beq  0x00000004 , 0x00006442 
+ 00025590  0x00003c2b beq  0x00000027 , 0x000065bd 
+ 00025591  0x00003c2c beq  0x00000028 , 0x000064ea 
+ 00025592  0x00003c2d beq  0x00000030 , 0x000064d6 
+ 00025593  0x00003c2e beq  0x00000025 , 0x000065b8 
+ 00025594  0x00003c2f beq  0x00000026 , 0x000064e5 
+ 00025595  0x00003c30 beq  0x00000031 , 0x000065a5 
+ 00025596  0x00003c31 beq  0x00000037 , 0x0000654c 
+ 00025597  0x00003c32 beq  0x00000033 , 0x0000653e 
+ 00025598  0x00003c33 beq  0x00000008 , 0x0000663b 
+ 00025599  0x00003c34 beq  0x00000009 , 0x00006631 
+ 00025600  0x00003c35 beq  0x0000000b , 0x00006646 
+ 00025601  0x00003c36 beq  0x0000000c , 0x0000664f 
+ 00025602  0x00003c37 beq  0x0000000f , 0x00006544 
+ 00025603  0x00003c38 beq  0x00000010 , 0x00006674 
+ 00025604  0x00003c39 beq  0x00000011 , 0x0000666a 
+ 00025605  0x00003c3a beq  0x00000007 , 0x00006534 
+ 00025606  0x00003c3b beq  0x0000002a , 0x00006560 
+ 00025607  0x00003c3c beq  0x0000000a , 0x00006561 
+ 00025608  0x00003c3e beq  0x0000001f , 0x0000659e 
+ 00025609  0x00003c3f beq  0x00000006 , 0x000064db 
+ 00025610  0x00003c40 beq  0x00000021 , 0x00006541 
+ 00025611  0x00003c41 beq  0x0000002d , 0x00006594 
+ 00025612  0x00003c42 beq  0x0000002e , 0x00006599 
+ 00025613  0x00003c43 beq  0x00000022 , 0x00006541 
+ 00025614  0x00003c44 beq  0x00000034 , 0x00006562 
+ 00025615  0x00003c45 beq  0x00000013 , 0x00006577 
+ 00025616  0x00003c46 beq  0x00000017 , 0x00006586 
+ 00025617  0x00003c47 beq  0x00000012 , 0x00006671 
+ 00025618  0x00003c48 beq  0x0000002f , 0x0000658c 
+ 00025619  0x00003c49 beq  0x00000018 , 0x00006591 
+ 00025620  0x00003c4a beq  0x0000003d , 0x000065e1 
+ 00025621  0x00003c4b beq  0x0000003e , 0x000065ed 
+ 00025622  0x00003c4c beq  0x0000003f , 0x000065ff 
+ 00025623  0x00003c4d beq  0x00000040 , 0x00006609 
+ 00025624  0x00003c4e beq  0x00000041 , 0x0000661e 
+ 00025625  0x00003c4f beq  0x00000023 , 0x0000662d 
+ 00025626  0x00003c50 beq  0x0000003b , 0x00006628 
+ 00025627  0x00003c52 beq  0x00000005 , 0x0000662e 
+ 00025628  0x00003c53 beq  0x00000029 , 0x0000662f 
+ 00025629  0x00003c54 beq  0x00000038 , 0x00006630 
+ 00025630  0x00003c55 beq  0x00000039 , 0x00006557 
+ 00025631  0x00003c57 branch  0x00004a8b 
+ 00025632  0x00003c58 rtn 
+ 00025633  0x00003c5a beq  0x00000081 , 0x0000644f 
+ 00025634  0x00003c5b beq  0x00000084 , 0x0000647b 
+ 00025635  0x00003c5c beq  0x00000082 , 0x00006458 
+ 00025636  0x00003c5d beq  0x00000083 , 0x000064ef 
+ 00025637  0x00003c5e beq  0x0000008b , 0x000064fa 
+ 00025638  0x00003c5f beq  0x00000097 , 0x00006530 
+ 00025639  0x00003c60 beq  0x00000099 , 0x000064b7 
+ 00025640  0x00003c61 beq  0x0000009a , 0x00006486 
+ 00025641  0x00003c62 beq  0x00000095 , 0x000064bc 
+ 00025642  0x00003c63 beq  0x00000096 , 0x000064bd 
+ 00025643  0x00003c64 branch  0x00004a8b 
+ 00025644  0x00003c6b force  0x00000002 , 0x0000003f 
+ 00025645  0x00003c6c call  0x0000667a 
+ 00025646  0x00003c6d fetch  0x00000001 , 0x00000049 
+ 00025647  0x00003c6e istore  0x00000001 , 0x00000005 
+ 00025648  0x00003c6f call  0x00006689 
+ 00025649  0x00003c70 bpatchx  0x0000003f , 0x00004027 
+ 00025650  0x00003c71 fetch  0x00000001 , 0x00000049 
+ 00025651  0x00003c72 beq  0x00000008 , 0x00006462 
+ 00025652  0x00003c73 beq  0x0000000f , 0x00006466 
+ 00025653  0x00003c74 beq  0x00000010 , 0x00006471 
+ 00025654  0x00003c75 beq  0x00000017 , 0x00006441 
+ 00025655  0x00003c76 beq  0x00000033 , 0x00006474 
+ 00025656  0x00003c77 beq  0x00000041 , 0x0000647a 
+ 00025657  0x00003c78 beq  0x00000011 , 0x0000643b 
+ 00025658  0x00003c79 rtn 
+ 00025659  0x00003c7c fetch  0x00000001 , 0x00000055 
+ 00025660  0x00003c7d rtn  0x00000034 
+ 00025661  0x00003c7e jam  0x0000001b , 0x00000055 
+ 00025662  0x00003c7f setarg  0x0000000c 
+ 00025663  0x00003c80 arg  0x00000007 , 0x00000007 
+ 00025664  0x00003c81 branch  0x00007ce3 
+ 00025665  0x00003c84 branch  0x000046c2 
+ 00025666  0x00003c86 force  0x00000003 , 0x0000003f 
+ 00025667  0x00003c87 call  0x0000667a 
+ 00025668  0x00003c88 fetch  0x00000001 , 0x00000049 
+ 00025669  0x00003c89 beq  0x0000000b , 0x0000644a 
+ 00025670  0x00003c8a istore  0x00000001 , 0x00000005 
+ 00025671  0x00003c8b fetch  0x00000001 , 0x0000004a 
+ 00025672  0x00003c8c istore  0x00000001 , 0x00000005 
+ 00025673  0x00003c8d branch  0x00006689 
+ 00025674  0x00003c90 istore  0x00000001 , 0x00000005 
+ 00025675  0x00003c91 fetch  0x00000001 , 0x0000004a 
+ 00025676  0x00003c92 istore  0x00000001 , 0x00000005 
+ 00025677  0x00003c93 arg  0x000004d1 , 0x00000002 
+ 00025678  0x00003c94 branch  0x000066c4 
+ 00025679  0x00003c97 force  0x00000004 , 0x00000007 
+ 00025680  0x00003c98 call  0x00006682 
+ 00025681  0x00003c99 setarg  0x0000007f 
+ 00025682  0x00003c9a istore  0x00000001 , 0x00000005 
+ 00025683  0x00003c9b fetch  0x00000001 , 0x00000049 
+ 00025684  0x00003c9c set0  0x00000007 , 0x0000003f 
+ 00025685  0x00003c9d istore  0x00000001 , 0x00000005 
+ 00025686  0x00003c9e fetch  0x00000001 , 0x00000049 
+ 00025687  0x00003c9f branch  0x00006689 
+ 00025688  0x00003ca2 force  0x00000005 , 0x00000007 
+ 00025689  0x00003ca3 call  0x00006682 
+ 00025690  0x00003ca4 setarg  0x0000007f 
+ 00025691  0x00003ca5 istore  0x00000001 , 0x00000005 
+ 00025692  0x00003ca6 fetch  0x00000001 , 0x00000049 
+ 00025693  0x00003ca7 set0  0x00000007 , 0x0000003f 
+ 00025694  0x00003ca8 istore  0x00000001 , 0x00000005 
+ 00025695  0x00003ca9 fetch  0x00000001 , 0x0000004a 
+ 00025696  0x00003caa istore  0x00000001 , 0x00000005 
+ 00025697  0x00003cab branch  0x00006689 
+ 00025698  0x00003caf call  0x0000444b 
+ 00025699  0x00003cb0 call  0x000066d5 
+ 00025700  0x00003cb1 rtn  0x00000001 
+ 00025701  0x00003cb2 branch  0x000063de 
+ 00025702  0x00003cb5 fetch  0x00000001 , 0x0000004b 
+ 00025703  0x00003cb6 bbit1  0x00000005 , 0x0000646d 
+ 00025704  0x00003cb7 rtnbit0  0x00000004 
+ 00025705  0x00003cb8 jam  0x00000012 , 0x0000007c 
+ 00025706  0x00003cb9 set0  0x00000004 , 0x0000003f 
+ 00025707  0x00003cba call  0x000066cd 
+ 00025708  0x00003cbb branch  0x0000646f 
+ 00025709  0x00003cbd jam  0x00000010 , 0x0000007c 
+ 00025710  0x00003cbe set0  0x00000005 , 0x0000003f 
+ 00025711  0x00003cc0 store  0x00000001 , 0x0000004b 
+ 00025712  0x00003cc1 rtn 
+ 00025713  0x00003cc4 call  0x000066de 
+ 00025714  0x00003cc5 branch  0x000063e0 , 0x00000001 
+ 00025715  0x00003cc6 rtn 
+ 00025716  0x00003cc9 jam  0x0000008b , 0x0000007c 
+ 00025717  0x00003ccb fetch  0x00000001 , 0x000004cd 
+ 00025718  0x00003ccc set1  0x00000000 , 0x0000003f 
+ 00025719  0x00003ccd store  0x00000001 , 0x000004cd 
+ 00025720  0x00003cce jam  0x00000001 , 0x00000a95 
+ 00025721  0x00003ccf branch  0x00007bab 
+ 00025722  0x00003cd3 rtn 
+ 00025723  0x00003cd8 force  0x0000000c , 0x00000007 
+ 00025724  0x00003cd9 call  0x00006682 
+ 00025725  0x00003cda setarg  0x00000001 
+ 00025726  0x00003cdb istore  0x00000001 , 0x00000005 
+ 00025727  0x00003cdc fetch  0x00000002 , 0x000004ca 
+ 00025728  0x00003cdd istore  0x00000002 , 0x00000005 
+ 00025729  0x00003cde setarg  0x00000000 
+ 00025730  0x00003cdf istore  0x00000003 , 0x00000005 
+ 00025731  0x00003ce0 setarg  0x00000000 
+ 00025732  0x00003ce1 istore  0x00000004 , 0x00000005 
+ 00025733  0x00003ce2 branch  0x00006692 
+ 00025734  0x00003ce4 force  0x00000005 , 0x00000007 
+ 00025735  0x00003ce5 call  0x00006682 
+ 00025736  0x00003ce6 fetch  0x00000003 , 0x0000462d 
+ 00025737  0x00003ce7 istore  0x00000003 , 0x00000005 
+ 00025738  0x00003ce8 call  0x00006692 
+ 00025739  0x00003ce9 jam  0x00000001 , 0x00004637 
+ 00025740  0x00003cea fetch  0x00000001 , 0x0000462d 
+ 00025741  0x00003ceb beq  0x00000001 , 0x00006497 
+ 00025742  0x00003cec beq  0x00000002 , 0x00006491 
+ 00025743  0x00003ced beq  0x00000003 , 0x0000649d 
+ 00025744  0x00003cee rtn 
+ 00025745  0x00003cf1 fetch  0x00000001 , 0x00004630 
+ 00025746  0x00003cf2 beq  0x00000000 , 0x000064a9 
+ 00025747  0x00003cf3 beq  0x00000001 , 0x000064a9 
+ 00025748  0x00003cf4 beq  0x00000002 , 0x000064a9 
+ 00025749  0x00003cf5 beq  0x00000003 , 0x000064a3 
+ 00025750  0x00003cf6 rtn 
+ 00025751  0x00003cfa fetch  0x00000001 , 0x00004630 
+ 00025752  0x00003cfb beq  0x00000000 , 0x000064a3 
+ 00025753  0x00003cfc beq  0x00000001 , 0x000064a7 
+ 00025754  0x00003cfd beq  0x00000002 , 0x000064a9 
+ 00025755  0x00003cfe beq  0x00000003 , 0x000064a3 
+ 00025756  0x00003cff rtn 
+ 00025757  0x00003d03 fetch  0x00000001 , 0x00004630 
+ 00025758  0x00003d04 beq  0x00000000 , 0x000064a3 
+ 00025759  0x00003d05 beq  0x00000001 , 0x000064a3 
+ 00025760  0x00003d06 beq  0x00000002 , 0x000064a3 
+ 00025761  0x00003d07 beq  0x00000003 , 0x000064a3 
+ 00025762  0x00003d08 rtn 
+ 00025763  0x00003d12 jam  0x00000003 , 0x00004634 
+ 00025764  0x00003d13 fetch  0x00000001 , 0x0000452e 
+ 00025765  0x00003d14 bbit1  0x00000000 , 0x00004d64 
+ 00025766  0x00003d15 rtn 
+ 00025767  0x00003d19 jam  0x00000001 , 0x00004634 
+ 00025768  0x00003d1a rtn 
+ 00025769  0x00003d21 jam  0x00000002 , 0x00004634 
+ 00025770  0x00003d22 rtn 
+ 00025771  0x00003d26 arg  0x00000000 , 0x00000007 
+ 00025772  0x00003d27 branch  0x000064af 
+ 00025773  0x00003d2a arg  0x00000000 , 0x00000007 
+ 00025774  0x00003d2b branch  0x000064b3 
+ 00025775  0x00003d2e fetch  0x00000001 , 0x0000452e 
+ 00025776  0x00003d2f qset1  0x0000003f 
+ 00025777  0x00003d30 store  0x00000001 , 0x0000452e 
+ 00025778  0x00003d31 rtn 
+ 00025779  0x00003d34 fetch  0x00000001 , 0x0000452e 
+ 00025780  0x00003d35 qset0  0x0000003f 
+ 00025781  0x00003d36 store  0x00000001 , 0x0000452e 
+ 00025782  0x00003d37 rtn 
+ 00025783  0x00003d3b force  0x00000005 , 0x00000007 
+ 00025784  0x00003d3c call  0x00006682 
+ 00025785  0x00003d3d fetch  0x00000003 , 0x0000462d 
+ 00025786  0x00003d3e istore  0x00000003 , 0x00000005 
+ 00025787  0x00003d3f branch  0x00006694 
+ 00025788  0x00003d44 rtn 
+ 00025789  0x00003d46 force  0x00000009 , 0x00000007 
+ 00025790  0x00003d47 call  0x00006682 
+ 00025791  0x00003d48 fetch  0x00000001 , 0x00000095 
+ 00025792  0x00003d49 istore  0x00000001 , 0x00000005 
+ 00025793  0x00003d4a fetch  0x00000002 , 0x00000096 
+ 00025794  0x00003d4b istore  0x00000002 , 0x00000005 
+ 00025795  0x00003d4c fetch  0x00000004 , 0x00000091 
+ 00025796  0x00003d4d istore  0x00000004 , 0x00000005 
+ 00025797  0x00003d4e branch  0x00006692 
+ 00025798  0x00003d51 force  0x00000011 , 0x0000003f 
+ 00025799  0x00003d52 call  0x0000667a 
+ 00025800  0x00003d53 fetch  0x00000001 , 0x00000049 
+ 00025801  0x00003d54 copy  0x0000003f , 0x00000002 
+ 00025802  0x00003d55 beq  0x00000000 , 0x000064ce 
+ 00025803  0x00003d56 beq  0x0000000e , 0x000064ce 
+ 00025804  0x00003d57 beq  0x0000001c , 0x000064ce 
+ 00025805  0x00003d58 rtn 
+ 00025806  0x00003d5a istore  0x00000001 , 0x00000005 
+ 00025807  0x00003d5b fetch  0x00000001 , 0x000044e7 
+ 00025808  0x00003d5c istore  0x00000001 , 0x00000005 
+ 00025809  0x00003d5d arg  0x0000000e , 0x00000039 
+ 00025810  0x00003d5e setarg  0x000044e8 
+ 00025811  0x00003d5f iadd  0x00000002 , 0x00000006 
+ 00025812  0x00003d60 call  0x00007cdc 
+ 00025813  0x00003d61 branch  0x00006692 
+ 00025814  0x00003d65 force  0x00000003 , 0x0000003f 
+ 00025815  0x00003d66 call  0x0000667a 
+ 00025816  0x00003d67 setarg  0x00000114 
+ 00025817  0x00003d68 istore  0x00000002 , 0x00000005 
+ 00025818  0x00003d69 branch  0x00006692 
+ 00025819  0x00003d6d force  0x00000003 , 0x0000003f 
+ 00025820  0x00003d6e call  0x0000667a 
+ 00025821  0x00003d6f fetch  0x00000004 , 0x00000163 
+ 00025822  0x00003d70 isub  0x00000022 , 0x0000003f 
+ 00025823  0x00003d71 branch  0x000064e1 , 0x00000029 
+ 00025824  0x00003d72 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00025825  0x00003d75 rshift2  0x0000003f , 0x0000003f 
+ 00025826  0x00003d76 set0  0x0000000f , 0x0000003f 
+ 00025827  0x00003d77 istore  0x00000002 , 0x00000005 
+ 00025828  0x00003d78 branch  0x00006692 
+ 00025829  0x00003d7b force  0x00000006 , 0x0000003f 
+ 00025830  0x00003d7c call  0x0000667a 
+ 00025831  0x00003d7d fetch  0x00000005 , 0x000044e2 
+ 00025832  0x00003d7e istore  0x00000005 , 0x00000005 
+ 00025833  0x00003d7f branch  0x00006692 
+ 00025834  0x00003d82 force  0x00000009 , 0x0000003f 
+ 00025835  0x00003d83 call  0x0000667a 
+ 00025836  0x00003d84 fetch  0x00000008 , 0x00004098 
+ 00025837  0x00003d85 istore  0x00000008 , 0x00000005 
+ 00025838  0x00003d86 branch  0x00006692 
+ 00025839  0x00003d8e force  0x0000000c , 0x00000007 
+ 00025840  0x00003d8f call  0x00006682 
+ 00025841  0x00003d90 setarg  0x00000001 
+ 00025842  0x00003d91 istore  0x00000001 , 0x00000005 
+ 00025843  0x00003d92 fetch  0x00000002 , 0x000004ca 
+ 00025844  0x00003d93 istore  0x00000002 , 0x00000005 
+ 00025845  0x00003d94 setarg  0x00000000 
+ 00025846  0x00003d95 istore  0x00000003 , 0x00000005 
+ 00025847  0x00003d96 setarg  0x00000000 
+ 00025848  0x00003d97 istore  0x00000004 , 0x00000005 
+ 00025849  0x00003d98 branch  0x00006694 
+ 00025850  0x00003d9b force  0x00000003 , 0x00000007 
+ 00025851  0x00003d9c call  0x00006682 
+ 00025852  0x00003d9d fetch  0x00000001 , 0x0000415b 
+ 00025853  0x00003d9e istore  0x00000001 , 0x00000005 
+ 00025854  0x00003d9f disable  0x00000028 
+ 00025855  0x00003da0 call  0x00006694 
+ 00025856  0x00003da1 nrtn  0x00000028 
+ 00025857  0x00003da2 nrtn  0x00000029 
+ 00025858  0x00003da3 fetch  0x00000001 , 0x000040d8 
+ 00025859  0x00003da4 rtnbit0  0x00000000 
+ 00025860  0x00003da5 call  0x00006514 
+ 00025861  0x00003da6 branch  0x0000651e 
+ 00025862  0x00003daa bpatchx  0x00000040 , 0x00004028 
+ 00025863  0x00003dab fetch  0x00000001 , 0x0000409e 
+ 00025864  0x00003dac set1  0x00000003 , 0x0000003f 
+ 00025865  0x00003dad store  0x00000001 , 0x0000409e 
+ 00025866  0x00003dae setarg  0x00000101 
+ 00025867  0x00003daf store  0x00000002 , 0x000004ca 
+ 00025868  0x00003db0 rtn 
+ 00025869  0x00003db3 bpatchx  0x00000041 , 0x00004028 
+ 00025870  0x00003db4 fetch  0x00000001 , 0x0000409e 
+ 00025871  0x00003db5 set0  0x00000003 , 0x0000003f 
+ 00025872  0x00003db6 store  0x00000001 , 0x0000409e 
+ 00025873  0x00003db7 setarg  0x00000000 
+ 00025874  0x00003db8 store  0x00000002 , 0x000004ca 
+ 00025875  0x00003db9 rtn 
+ 00025876  0x00003dbc jam  0x00000003 , 0x000040d8 
+ 00025877  0x00003dbd setarg  0x00000000 
+ 00025878  0x00003dbe store  0x00000004 , 0x00004142 
+ 00025879  0x00003dbf arg  0x000040da , 0x00000005 
+ 00025880  0x00003dc0 call  0x00006522 
+ 00025881  0x00003dc1 arg  0x000040e7 , 0x00000005 
+ 00025882  0x00003dc2 call  0x00006522 
+ 00025883  0x00003dc3 arg  0x00004146 , 0x00000005 
+ 00025884  0x00003dc4 call  0x00006522 
+ 00025885  0x00003dc5 branch  0x00006529 
+ 00025886  0x00003dc7 arg  0x000040e7 , 0x00000005 
+ 00025887  0x00003dc8 call  0x00006522 
+ 00025888  0x00003dc9 call  0x00006529 
+ 00025889  0x00003dca branch  0x0000652c 
+ 00025890  0x00003dce setarg  0x00ffffff 
+ 00025891  0x00003dcf istore  0x00000003 , 0x00000005 
+ 00025892  0x00003dd0 istore  0x00000003 , 0x00000005 
+ 00025893  0x00003dd1 istore  0x00000003 , 0x00000005 
+ 00025894  0x00003dd2 setarg  0x0000007f 
+ 00025895  0x00003dd3 istore  0x00000001 , 0x00000005 
+ 00025896  0x00003dd4 rtn 
+ 00025897  0x00003dd6 setarg  0x00000000 
+ 00025898  0x00003dd7 store  0x00000002 , 0x000040d6 
+ 00025899  0x00003dd8 rtn 
+ 00025900  0x00003dda fetch  0x00000001 , 0x000040d8 
+ 00025901  0x00003ddb set1  0x00000002 , 0x0000003f 
+ 00025902  0x00003ddc store  0x00000001 , 0x000040d8 
+ 00025903  0x00003ddd rtn 
+ 00025904  0x00003de1 force  0x00000002 , 0x00000007 
+ 00025905  0x00003de2 call  0x00006682 
+ 00025906  0x00003de3 nbranch  0x00006692 , 0x00000029 
+ 00025907  0x00003de5 branch  0x00006694 
+ 00025908  0x00003dea force  0x00000002 , 0x0000003f 
+ 00025909  0x00003deb call  0x0000667a 
+ 00025910  0x00003dec fetch  0x00000001 , 0x000004c6 
+ 00025911  0x00003ded istore  0x00000001 , 0x00000005 
+ 00025912  0x00003dee call  0x00006694 
+ 00025913  0x00003df0 fetch  0x00000001 , 0x0000004b 
+ 00025914  0x00003df1 set1  0x00000003 , 0x0000003f 
+ 00025915  0x00003df2 store  0x00000001 , 0x0000004b 
+ 00025916  0x00003df3 jam  0x00000032 , 0x00000072 
+ 00025917  0x00003df4 rtn 
+ 00025918  0x00003df8 force  0x00000001 , 0x0000003f 
+ 00025919  0x00003df9 call  0x0000667a 
+ 00025920  0x00003dfa branch  0x00006694 
+ 00025921  0x00003dfc force  0x00000001 , 0x0000003f 
+ 00025922  0x00003dfd call  0x0000667a 
+ 00025923  0x00003dfe branch  0x00006692 
+ 00025924  0x00003e02 force  0x00000002 , 0x0000003f 
+ 00025925  0x00003e03 call  0x0000667a 
+ 00025926  0x00003e04 fetch  0x00000001 , 0x0000004c 
+ 00025927  0x00003e05 isolate0  0x00000002 , 0x0000003f 
+ 00025928  0x00003e06 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025929  0x00003e07 and_into  0x00000001 , 0x0000003f 
+ 00025930  0x00003e08 istore  0x00000001 , 0x00000005 
+ 00025931  0x00003e09 branch  0x00006694 
+ 00025932  0x00003e0d force  0x00000003 , 0x0000003f 
+ 00025933  0x00003e0e call  0x0000667a 
+ 00025934  0x00003e0f fetch  0x00000002 , 0x00000051 
+ 00025935  0x00003e10 istore  0x00000002 , 0x00000005 
+ 00025936  0x00003e11 branch  0x00006694 
+ 00025937  0x00003e14 jam  0x000000fa , 0x00000072 
+ 00025938  0x00003e15 force  0x00000002 , 0x0000003f 
+ 00025939  0x00003e16 call  0x0000667a 
+ 00025940  0x00003e17 fetch  0x00000001 , 0x00000053 
+ 00025941  0x00003e18 istore  0x00000001 , 0x00000005 
+ 00025942  0x00003e19 branch  0x00006694 
+ 00025943  0x00003e1c force  0x0000000a , 0x0000003f 
+ 00025944  0x00003e1d call  0x0000667a 
+ 00025945  0x00003e1e arg  0x00000150 , 0x00000006 
+ 00025946  0x00003e1f force  0x00000009 , 0x00000039 
+ 00025947  0x00003e21 ifetch  0x00000001 , 0x00000006 
+ 00025948  0x00003e22 xor_into  0x00000055 , 0x0000003f 
+ 00025949  0x00003e23 istore  0x00000001 , 0x00000005 
+ 00025950  0x00003e24 loop  0x0000655b 
+ 00025951  0x00003e25 branch  0x00006694 
+ 00025952  0x00003e28 branch  0x00006694 
+ 00025953  0x00003e2a branch  0x00006694 
+ 00025954  0x00003e2d rtn  0x00000029 
+ 00025955  0x00003e2e call  0x00004829 
+ 00025956  0x00003e2f force  0x00000009 , 0x0000003f 
+ 00025957  0x00003e30 call  0x0000667a 
+ 00025958  0x00003e31 fetch  0x00000002 , 0x0000016f 
+ 00025959  0x00003e32 istore  0x00000002 , 0x00000005 
+ 00025960  0x00003e33 fetch  0x00000003 , 0x000040a0 
+ 00025961  0x00003e34 istore  0x00000003 , 0x00000005 
+ 00025962  0x00003e35 fetch  0x00000001 , 0x000040a3 
+ 00025963  0x00003e36 istore  0x00000001 , 0x00000005 
+ 00025964  0x00003e37 fetch  0x00000002 , 0x000040a4 
+ 00025965  0x00003e38 istore  0x00000002 , 0x00000005 
+ 00025966  0x00003e39 bmark0  0x00000003 , 0x00006573 
+ 00025967  0x00003e3a set0  0x00000003 , 0x00000000 
+ 00025968  0x00003e3b call  0x00006694 
+ 00025969  0x00003e3c jam  0x00000013 , 0x0000007c 
+ 00025970  0x00003e3d rtn 
+ 00025971  0x00003e3f call  0x00006692 
+ 00025972  0x00003e40 jam  0x00000003 , 0x0000007c 
+ 00025973  0x00003e41 jam  0x00000013 , 0x0000007d 
+ 00025974  0x00003e42 rtn 
+ 00025975  0x00003e45 arg  0x00000200 , 0x00000002 
+ 00025976  0x00003e46 branch  0x0000657b , 0x00000029 
+ 00025977  0x00003e47 deposit  0x00000028 
+ 00025978  0x00003e48 branch  0x0000657c 
+ 00025979  0x00003e4a deposit  0x00000022 
+ 00025980  0x00003e4c deposit  0x00000021 
+ 00025981  0x00003e4d iadd  0x00000002 , 0x0000003f 
+ 00025982  0x00003e4e and_into  0x000001fc , 0x0000003f 
+ 00025983  0x00003e4f store  0x00000004 , 0x00000034 
+ 00025984  0x00003e50 force  0x00000005 , 0x0000003f 
+ 00025985  0x00003e51 call  0x0000667a 
+ 00025986  0x00003e52 fetch  0x00000004 , 0x00000034 
+ 00025987  0x00003e53 rshift  0x0000003f , 0x0000003f 
+ 00025988  0x00003e54 istore  0x00000004 , 0x00000005 
+ 00025989  0x00003e55 branch  0x00006694 
+ 00025990  0x00003e58 force  0x0000000a , 0x0000003f 
+ 00025991  0x00003e59 call  0x0000667a 
+ 00025992  0x00003e5a arg  0x000004d5 , 0x00000006 
+ 00025993  0x00003e5b ifetch  0x00000009 , 0x00000006 
+ 00025994  0x00003e5c istore  0x00000009 , 0x00000005 
+ 00025995  0x00003e5d branch  0x00006694 
+ 00025996  0x00003e62 force  0x00000003 , 0x0000003f 
+ 00025997  0x00003e63 call  0x0000667a 
+ 00025998  0x00003e64 setarg  0x00000114 
+ 00025999  0x00003e65 istore  0x00000002 , 0x00000005 
+ 00026000  0x00003e66 branch  0x00006694 
+ 00026001  0x00003e6a force  0x00000001 , 0x0000003f 
+ 00026002  0x00003e6b call  0x0000667a 
+ 00026003  0x00003e74 branch  0x00006694 
+ 00026004  0x00003e78 force  0x00000002 , 0x0000003f 
+ 00026005  0x00003e79 call  0x0000667a 
+ 00026006  0x00003e7a fetch  0x00000001 , 0x000040d0 
+ 00026007  0x00003e7b istore  0x00000001 , 0x00000005 
+ 00026008  0x00003e7c branch  0x00006694 
+ 00026009  0x00003e80 force  0x00000002 , 0x0000003f 
+ 00026010  0x00003e81 call  0x0000667a 
+ 00026011  0x00003e82 setarg  0x00000005 
+ 00026012  0x00003e83 istore  0x00000001 , 0x00000005 
+ 00026013  0x00003e84 branch  0x00006694 
+ 00026014  0x00003e88 force  0x00000002 , 0x0000003f 
+ 00026015  0x00003e89 call  0x0000667a 
+ 00026016  0x00003e8a setarg  0x00000000 
+ 00026017  0x00003e8b istore  0x00000001 , 0x00000005 
+ 00026018  0x00003e8c branch  0x00006694 
+ 00026019  0x00003e90 jam  0x0000002e , 0x0000007c 
+ 00026020  0x00003e91 rtn 
+ 00026021  0x00003e93 fetch  0x00000001 , 0x00004092 
+ 00026022  0x00003e94 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00026023  0x00003e95 call  0x000065a3 , 0x00000005 
+ 00026024  0x00003e96 fetch  0x00000001 , 0x00000030 
+ 00026025  0x00003e97 set1  0x00000004 , 0x0000003f 
+ 00026026  0x00003e98 store  0x00000001 , 0x00000030 
+ 00026027  0x00003e99 copy  0x00000022 , 0x0000003f 
+ 00026028  0x00003e9a store  0x00000004 , 0x000004e5 
+ 00026029  0x00003e9b fetch  0x00000001 , 0x000004cd 
+ 00026030  0x00003e9c bbit1  0x00000003 , 0x000065b6 
+ 00026031  0x00003e9d set1  0x00000003 , 0x0000003f 
+ 00026032  0x00003e9e store  0x00000001 , 0x000004cd 
+ 00026033  0x00003e9f jam  0x00000005 , 0x00000a95 
+ 00026034  0x00003ea0 call  0x00007bab 
+ 00026035  0x00003ea1 force  0x00000001 , 0x0000003f 
+ 00026036  0x00003ea2 call  0x0000667a 
+ 00026037  0x00003ea3 branch  0x00006694 
+ 00026038  0x00003ea5 jam  0x00000000 , 0x00000048 
+ 00026039  0x00003ea6 rtn 
+ 00026040  0x00003ea9 force  0x00000006 , 0x0000003f 
+ 00026041  0x00003eaa call  0x0000667a 
+ 00026042  0x00003eab fetch  0x00000005 , 0x000044e2 
+ 00026043  0x00003eac istore  0x00000005 , 0x00000005 
+ 00026044  0x00003ead branch  0x00006694 
+ 00026045  0x00003eb0 force  0x00000009 , 0x0000003f 
+ 00026046  0x00003eb1 call  0x0000667a 
+ 00026047  0x00003eb2 fetch  0x00000008 , 0x00004098 
+ 00026048  0x00003eb3 istore  0x00000008 , 0x00000005 
+ 00026049  0x00003eb4 branch  0x00006694 
+ 00026050  0x00003eb7 jam  0x00000001 , 0x000009ad 
+ 00026051  0x00003eb8 fetch  0x00000001 , 0x00004583 
+ 00026052  0x00003eb9 rtnne  0x00000001 
+ 00026053  0x00003eba jam  0x00000013 , 0x000009ab 
+ 00026054  0x00003ebb rtn 
+ 00026055  0x00003ebe call  0x000066d1 
+ 00026056  0x00003ebf jam  0x00000099 , 0x0000007c 
+ 00026057  0x00003ec0 jam  0x00000003 , 0x000009ab 
+ 00026058  0x00003ec1 rtn 
+ 00026059  0x00003ec5 call  0x000066d1 
+ 00026060  0x00003ec6 jam  0x0000003d , 0x0000007c 
+ 00026061  0x00003ec7 jam  0x00000007 , 0x000009ab 
+ 00026062  0x00003ec8 rtn 
+ 00026063  0x00003ecb arg  0x00000a4a , 0x00000011 
+ 00026064  0x00003ecc arg  0x00000a6a , 0x00000012 
+ 00026065  0x00003ecd arg  0x00000010 , 0x00000039 
+ 00026066  0x00003ece call  0x00007d63 
+ 00026067  0x00003ecf branch  0x000065d9 , 0x00000005 
+ 00026068  0x00003ed0 jam  0x00000000 , 0x000009ab 
+ 00026069  0x00003ed1 call  0x0000758f 
+ 00026070  0x00003ed2 jam  0x00000024 , 0x0000007e 
+ 00026071  0x00003ed3 jam  0x00000040 , 0x0000007d 
+ 00026072  0x00003ed4 branch  0x00006134 
+ 00026073  0x00003ed6 jam  0x0000000a , 0x000009ab 
+ 00026074  0x00003ed7 call  0x0000758d 
+ 00026075  0x00003ed8 jam  0x00000040 , 0x0000007d 
+ 00026076  0x00003ed9 branch  0x00006219 
+ 00026077  0x00003ede jam  0x00000040 , 0x0000007c 
+ 00026078  0x00003edf rtn 
+ 00026079  0x00003ee6 jam  0x0000003d , 0x0000007c 
+ 00026080  0x00003ee8 rtn 
+ 00026081  0x00003eef jam  0x00000000 , 0x000009b2 
+ 00026082  0x00003ef0 force  0x00000004 , 0x0000003f 
+ 00026083  0x00003ef1 call  0x0000667a 
+ 00026084  0x00003ef2 force  0x00000001 , 0x0000003f 
+ 00026085  0x00003ef3 istore  0x00000001 , 0x00000005 
+ 00026086  0x00003ef4 force  0x00000001 , 0x0000003f 
+ 00026087  0x00003ef5 istore  0x00000001 , 0x00000005 
+ 00026088  0x00003ef6 force  0x00000030 , 0x0000003f 
+ 00026089  0x00003ef7 istore  0x00000001 , 0x00000005 
+ 00026090  0x00003ef8 call  0x000066de 
+ 00026091  0x00003ef9 branch  0x00006694 , 0x00000001 
+ 00026092  0x00003efa branch  0x00006692 
+ 00026093  0x00003efe force  0x00000011 , 0x0000003f 
+ 00026094  0x00003eff call  0x0000667a 
+ 00026095  0x00003f00 fetch  0x00000001 , 0x000009b2 
+ 00026096  0x00003f01 arg  0x000045fc , 0x00000006 
+ 00026097  0x00003f02 iadd  0x00000006 , 0x00000006 
+ 00026098  0x00003f03 ifetch  0x00000008 , 0x00000006 
+ 00026099  0x00003f04 istore  0x00000008 , 0x00000005 
+ 00026100  0x00003f05 ifetch  0x00000008 , 0x00000006 
+ 00026101  0x00003f06 istore  0x00000008 , 0x00000005 
+ 00026102  0x00003f07 fetch  0x00000001 , 0x000009b2 
+ 00026103  0x00003f08 increase  0x00000010 , 0x0000003f 
+ 00026104  0x00003f09 store  0x00000001 , 0x000009b2 
+ 00026105  0x00003f0a call  0x000066de 
+ 00026106  0x00003f0b branch  0x00006694 , 0x00000001 
+ 00026107  0x00003f0c branch  0x00006692 
+ 00026108  0x00003f10 jam  0x00000006 , 0x000009aa 
+ 00026109  0x00003f11 jam  0x0000003f , 0x0000007c 
+ 00026110  0x00003f12 rtn 
+ 00026111  0x00003f16 force  0x00000011 , 0x0000003f 
+ 00026112  0x00003f17 call  0x0000667a 
+ 00026113  0x00003f18 arg  0x00000a4a , 0x00000006 
+ 00026114  0x00003f19 ifetch  0x00000008 , 0x00000006 
+ 00026115  0x00003f1a istore  0x00000008 , 0x00000005 
+ 00026116  0x00003f1b ifetch  0x00000008 , 0x00000006 
+ 00026117  0x00003f1c istore  0x00000008 , 0x00000005 
+ 00026118  0x00003f1d branch  0x00006692 
+ 00026119  0x00003f20 jam  0x00000040 , 0x0000007c 
+ 00026120  0x00003f21 rtn 
+ 00026121  0x00003f25 call  0x000066de 
+ 00026122  0x00003f26 call  0x000074c7 , 0x00000001 
+ 00026123  0x00003f27 force  0x00000011 , 0x0000003f 
+ 00026124  0x00003f28 call  0x0000667a 
+ 00026125  0x00003f29 arg  0x00000a1a , 0x00000006 
+ 00026126  0x00003f2a ifetch  0x00000008 , 0x00000006 
+ 00026127  0x00003f2b istore  0x00000008 , 0x00000005 
+ 00026128  0x00003f2c ifetch  0x00000008 , 0x00000006 
+ 00026129  0x00003f2d istore  0x00000008 , 0x00000005 
+ 00026130  0x00003f2e call  0x000066de 
+ 00026131  0x00003f2f nbranch  0x00006692 , 0x00000001 
+ 00026132  0x00003f30 branch  0x00006694 , 0x00000001 
+ 00026133  0x00003f34 jam  0x0000000f , 0x000009ab 
+ 00026134  0x00003f36 call  0x000066d1 
+ 00026135  0x00003f37 jam  0x0000000b , 0x0000007c 
+ 00026136  0x00003f38 call  0x000066e9 
+ 00026137  0x00003f39 branch  0x00007503 , 0x00000001 
+ 00026138  0x00003f3a branch  0x0000750d 
+ 00026139  0x00003f3c call  0x000066cd 
+ 00026140  0x00003f3e jam  0x00000041 , 0x0000007c 
+ 00026141  0x00003f3f rtn 
+ 00026142  0x00003f42 force  0x00000011 , 0x0000003f 
+ 00026143  0x00003f43 call  0x0000667a 
+ 00026144  0x00003f44 arg  0x00000a4a , 0x00000006 
+ 00026145  0x00003f45 ifetch  0x00000008 , 0x00000006 
+ 00026146  0x00003f46 istore  0x00000008 , 0x00000005 
+ 00026147  0x00003f47 ifetch  0x00000008 , 0x00000006 
+ 00026148  0x00003f48 istore  0x00000008 , 0x00000005 
+ 00026149  0x00003f49 call  0x000066de 
+ 00026150  0x00003f4a nbranch  0x00006692 , 0x00000001 
+ 00026151  0x00003f4b branch  0x00006694 , 0x00000001 
+ 00026152  0x00003f4e force  0x00000003 , 0x0000003f 
+ 00026153  0x00003f4f call  0x0000667a 
+ 00026154  0x00003f50 setarg  0x0000fffe 
+ 00026155  0x00003f51 istore  0x00000002 , 0x00000005 
+ 00026156  0x00003f52 branch  0x00006692 
+ 00026157  0x00003f55 branch  0x00006694 
+ 00026158  0x00003f57 branch  0x00006694 
+ 00026159  0x00003f59 branch  0x00006694 
+ 00026160  0x00003f5b branch  0x00006694 
+ 00026161  0x00003f61 call  0x000066ed 
+ 00026162  0x00003f62 arg  0x000040a0 , 0x00000011 
+ 00026163  0x00003f63 call  0x000066f3 
+ 00026164  0x00003f64 force  0x00000011 , 0x0000003f 
+ 00026165  0x00003f65 call  0x0000667a 
+ 00026166  0x00003f66 arg  0x0000057e , 0x00000011 
+ 00026167  0x00003f67 arg  0x0000055e , 0x00000012 
+ 00026168  0x00003f68 call  0x00007208 
+ 00026169  0x00003f69 nbranch  0x00006689 , 0x00000029 
+ 00026170  0x00003f6a branch  0x0000668f 
+ 00026171  0x00003f6d call  0x000066ed 
+ 00026172  0x00003f6e arg  0x00000040 , 0x00000011 
+ 00026173  0x00003f6f call  0x00007114 
+ 00026174  0x00003f71 force  0x00000011 , 0x0000003f 
+ 00026175  0x00003f72 call  0x0000667a 
+ 00026176  0x00003f73 arg  0x0000055e , 0x00000006 
+ 00026177  0x00003f74 call  0x00007c9a 
+ 00026178  0x00003f75 fetch  0x00000001 , 0x00000055 
+ 00026179  0x00003f76 beq  0x00000019 , 0x00006694 
+ 00026180  0x00003f77 beq  0x00000018 , 0x00006694 
+ 00026181  0x00003f78 branch  0x0000668f 
+ 00026182  0x00003f7b fetch  0x00000001 , 0x000009b1 
+ 00026183  0x00003f7c branch  0x0000664c , 0x00000034 
+ 00026184  0x00003f7d call  0x000066de 
+ 00026185  0x00003f7e call  0x000066d1 , 0x00000001 
+ 00026186  0x00003f7f ncall  0x000066cd , 0x00000001 
+ 00026187  0x00003f80 branch  0x0000664d 
+ 00026188  0x00003f82 call  0x000066d1 
+ 00026189  0x00003f84 call  0x000066ed 
+ 00026190  0x00003f85 branch  0x0000663e 
+ 00026191  0x00003f88 arg  0x000040a0 , 0x00000011 
+ 00026192  0x00003f89 call  0x00007147 
+ 00026193  0x00003f8a force  0x00000005 , 0x0000003f 
+ 00026194  0x00003f8b call  0x0000667a 
+ 00026195  0x00003f8c fetch  0x00000004 , 0x0000058e 
+ 00026196  0x00003f8d istore  0x00000004 , 0x00000005 
+ 00026197  0x00003f8e arg  0x000004d1 , 0x00000002 
+ 00026198  0x00003f8f call  0x000066c4 
+ 00026199  0x00003f90 call  0x0000723c 
+ 00026200  0x00003f91 call  0x000066de 
+ 00026201  0x00003f92 branch  0x0000665e , 0x00000001 
+ 00026202  0x00003f93 jam  0x00000001 , 0x000004d4 
+ 00026203  0x00003f94 fetch  0x00000001 , 0x000009b1 
+ 00026204  0x00003f95 rtn  0x00000034 
+ 00026205  0x00003f96 jam  0x0000000b , 0x0000007c 
+ 00026206  0x00003f98 fetch  0x00000001 , 0x000041be 
+ 00026207  0x00003f99 rtn  0x00000034 
+ 00026208  0x00003f9b call  0x000066de 
+ 00026209  0x00003f9c nbranch  0x00006666 , 0x00000001 
+ 00026210  0x00003f9d fetch  0x00000001 , 0x000004d3 
+ 00026211  0x00003f9e rtn  0x00000034 
+ 00026212  0x00003f9f jam  0x0000000f , 0x0000007c 
+ 00026213  0x00003fa0 rtn 
+ 00026214  0x00003fa2 rtnmark0  0x00000021 
+ 00026215  0x00003fa3 set0  0x00000021 , 0x00000000 
+ 00026216  0x00003fa4 jam  0x0000000f , 0x0000007c 
+ 00026217  0x00003fa5 rtn 
+ 00026218  0x00003faa call  0x000066ed 
+ 00026219  0x00003fab call  0x0000714a 
+ 00026220  0x00003fac force  0x00000011 , 0x0000003f 
+ 00026221  0x00003fad call  0x0000667a 
+ 00026222  0x00003fae arg  0x0000055e , 0x00000006 
+ 00026223  0x00003faf call  0x00007c9a 
+ 00026224  0x00003fb0 branch  0x0000668f 
+ 00026225  0x00003fb3 force  0x00000001 , 0x0000003f 
+ 00026226  0x00003fb4 call  0x0000667a 
+ 00026227  0x00003fb5 branch  0x0000668f 
+ 00026228  0x00003fb8 force  0x00000002 , 0x0000003f 
+ 00026229  0x00003fb9 call  0x0000667a 
+ 00026230  0x00003fba force  0x00000010 , 0x0000003f 
+ 00026231  0x00003fbb istore  0x00000001 , 0x00000005 
+ 00026232  0x00003fbc store  0x00000001 , 0x00000054 
+ 00026233  0x00003fbd branch  0x0000668f 
+ 00026234  0x00003fc1 lshift3  0x0000003f , 0x0000003f 
+ 00026235  0x00003fc2 or_into  0x00000007 , 0x0000003f 
+ 00026236  0x00003fc3 store  0x00000001 , 0x000004b2 
+ 00026237  0x00003fc4 arg  0x00000011 , 0x00000039 
+ 00026238  0x00003fc5 arg  0x000004b4 , 0x00000005 
+ 00026239  0x00003fc6 call  0x00007caf 
+ 00026240  0x00003fc7 arg  0x000004b4 , 0x00000005 
+ 00026241  0x00003fc8 rtn 
+ 00026242  0x00003fcb and  0x0000003f , 0x0000007f , 0x00000011 
+ 00026243  0x00003fcc jam  0x0000007f , 0x00000048 
+ 00026244  0x00003fcd deposit  0x00000007 
+ 00026245  0x00003fce call  0x0000667a 
+ 00026246  0x00003fcf deposit  0x00000011 
+ 00026247  0x00003fd0 istore  0x00000001 , 0x00000005 
+ 00026248  0x00003fd1 rtn 
+ 00026249  0x00003fd4 fetch  0x00000001 , 0x00000048 
+ 00026250  0x00003fd5 lshift  0x0000003f , 0x0000003f 
+ 00026251  0x00003fd6 fetcht  0x00000001 , 0x0000004c 
+ 00026252  0x00003fd7 isolate1  0x00000001 , 0x00000002 
+ 00026253  0x00003fd8 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00026254  0x00003fd9 branch  0x00006699 
+ 00026255  0x00003fdd fetcht  0x00000001 , 0x0000004c 
+ 00026256  0x00003fde and_into  0x00000001 , 0x00000002 
+ 00026257  0x00003fdf branch  0x00006695 
+ 00026258  0x00003fe2 force  0x00000000 , 0x00000002 
+ 00026259  0x00003fe3 branch  0x00006695 
+ 00026260  0x00003fe6 force  0x00000001 , 0x00000002 
+ 00026261  0x00003fe8 fetch  0x00000001 , 0x00000048 
+ 00026262  0x00003fe9 lshift  0x0000003f , 0x0000003f 
+ 00026263  0x00003fea setflag  0x00000029 , 0x00000000 , 0x0000003f 
+ 00026264  0x00003feb ixor  0x00000002 , 0x0000003f 
+ 00026265  0x00003fed store  0x00000001 , 0x000004b3 
+ 00026266  0x00003fee jam  0x00000000 , 0x00000048 
+ 00026267  0x00003fef call  0x000066a9 
+ 00026268  0x00003ff0 enable  0x00000028 
+ 00026269  0x00003ff1 rtn 
+ 00026270  0x00003ff5 fetch  0x00000001 , 0x0000007c 
+ 00026271  0x00003ff6 rtn  0x00000034 
+ 00026272  0x00003ff7 call  0x000066a3 
+ 00026273  0x00003ff8 fetch  0x00000001 , 0x0000007c 
+ 00026274  0x00003ff9 rtn 
+ 00026275  0x00003ffc bpatchx  0x00000042 , 0x00004028 
+ 00026276  0x00003ffd fetch  0x00000001 , 0x00000048 
+ 00026277  0x00003ffe branch  0x000066a9 , 0x00000034 
+ 00026278  0x00003fff fetch  0x00000001 , 0x00000078 
+ 00026279  0x00004000 nrtn  0x00000034 
+ 00026280  0x00004001 branch  0x000066b3 
+ 00026281  0x00004003 fetch  0x00000001 , 0x00000078 
+ 00026282  0x00004004 branch  0x000066b9 , 0x00000034 
+ 00026283  0x00004005 fetch  0x00000003 , 0x00000078 
+ 00026284  0x00004006 store  0x00000003 , 0x00000048 
+ 00026285  0x00004007 fetcht  0x00000001 , 0x0000007b 
+ 00026286  0x00004008 fetch  0x00000001 , 0x0000004c 
+ 00026287  0x00004009 set0  0x00000001 , 0x0000003f 
+ 00026288  0x0000400a ior  0x00000002 , 0x0000003f 
+ 00026289  0x0000400b store  0x00000001 , 0x0000004c 
+ 00026290  0x0000400c jam  0x00000000 , 0x00000078 
+ 00026291  0x0000400e fetch  0x00000001 , 0x0000007c 
+ 00026292  0x0000400f rtn  0x00000034 
+ 00026293  0x00004010 fetch  0x00000004 , 0x0000007c 
+ 00026294  0x00004011 store  0x00000004 , 0x00000078 
+ 00026295  0x00004012 jam  0x00000000 , 0x0000007c 
+ 00026296  0x00004013 rtn 
+ 00026297  0x00004015 fetch  0x00000001 , 0x0000007c 
+ 00026298  0x00004016 rtn  0x00000034 
+ 00026299  0x00004017 fetch  0x00000003 , 0x0000007c 
+ 00026300  0x00004018 store  0x00000003 , 0x00000048 
+ 00026301  0x00004019 fetcht  0x00000001 , 0x0000007f 
+ 00026302  0x0000401a fetch  0x00000001 , 0x0000004c 
+ 00026303  0x0000401b set0  0x00000001 , 0x0000003f 
+ 00026304  0x0000401c ior  0x00000002 , 0x0000003f 
+ 00026305  0x0000401d store  0x00000001 , 0x0000004c 
+ 00026306  0x0000401e jam  0x00000000 , 0x0000007c 
+ 00026307  0x0000401f rtn 
+ 00026308  0x00004023 bpatchx  0x00000043 , 0x00004028 
+ 00026309  0x00004024 fetch  0x00000001 , 0x0000004c 
+ 00026310  0x00004025 copy  0x0000003f , 0x00000013 
+ 00026311  0x00004026 ifetch  0x00000001 , 0x00000002 
+ 00026312  0x00004027 call  0x00006233 
+ 00026313  0x00004028 call  0x00006689 
+ 00026314  0x00004029 copy  0x00000013 , 0x0000003f 
+ 00026315  0x0000402a store  0x00000001 , 0x0000004c 
+ 00026316  0x0000402b rtn 
+ 00026317  0x0000402e fetcht  0x00000001 , 0x0000004c 
+ 00026318  0x0000402f set0  0x00000000 , 0x00000002 
+ 00026319  0x00004030 storet  0x00000001 , 0x0000004c 
+ 00026320  0x00004031 rtn 
+ 00026321  0x00004034 fetcht  0x00000001 , 0x0000004c 
+ 00026322  0x00004035 set1  0x00000000 , 0x00000002 
+ 00026323  0x00004036 storet  0x00000001 , 0x0000004c 
+ 00026324  0x00004037 rtn 
+ 00026325  0x0000403b nsetflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00026326  0x0000403c fetcht  0x00000001 , 0x0000004c 
+ 00026327  0x0000403d ixor  0x00000002 , 0x0000003f 
+ 00026328  0x0000403e isolate1  0x00000001 , 0x0000003f 
+ 00026329  0x0000403f rtn 
+ 00026330  0x00004043 fetch  0x00000001 , 0x0000004c 
+ 00026331  0x00004044 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00026332  0x00004045 store  0x00000001 , 0x0000004c 
+ 00026333  0x00004046 rtn 
+ 00026334  0x0000404a fetch  0x00000001 , 0x000009b0 
+ 00026335  0x0000404b compare  0x00000001 , 0x0000003f , 0x0000007f 
+ 00026336  0x0000404c rtn 
+ 00026337  0x0000404e fetch  0x00000001 , 0x000009b0 
+ 00026338  0x0000404f set1  0x00000007 , 0x0000003f 
+ 00026339  0x00004050 store  0x00000001 , 0x000009b0 
+ 00026340  0x00004051 rtn 
+ 00026341  0x00004053 fetch  0x00000001 , 0x000009b0 
+ 00026342  0x00004054 set0  0x00000007 , 0x0000003f 
+ 00026343  0x00004055 store  0x00000001 , 0x000009b0 
+ 00026344  0x00004056 rtn 
+ 00026345  0x00004058 fetch  0x00000001 , 0x000009b0 
+ 00026346  0x00004059 isolate1  0x00000007 , 0x0000003f 
+ 00026347  0x0000405a store  0x00000001 , 0x000009b0 
+ 00026348  0x0000405b rtn 
+ 00026349  0x0000405f arg  0x0000055e , 0x00000005 
+ 00026350  0x00004061 force  0x00000010 , 0x00000039 
+ 00026351  0x00004064 random  0x0000003f 
+ 00026352  0x00004065 istore  0x00000001 , 0x00000005 
+ 00026353  0x00004066 loop  0x000066ef 
+ 00026354  0x00004067 rtn 
+ 00026355  0x0000406a call  0x00007118 
+ 00026356  0x0000406b arg  0x000041bf , 0x00000011 
+ 00026357  0x0000406c arg  0x0000058e , 0x00000012 
+ 00026358  0x0000406d ifetch  0x00000008 , 0x00000011 
+ 00026359  0x0000406e fetcht  0x00000001 , 0x00000030 
+ 00026360  0x0000406f nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00026361  0x00004070 storet  0x00000001 , 0x00000030 
+ 00026362  0x00004071 copy  0x00000011 , 0x00000005 
+ 00026363  0x00004072 call  0x00007208 
+ 00026364  0x00004073 branch  0x000041c0 
+ 00026365  0x0000407b bpatchx  0x00000044 , 0x00004028 
+ 00026366  0x0000407d call  0x0000669e 
+ 00026367  0x0000407e nrtn  0x00000034 
+ 00026368  0x00004080 fetch  0x00000001 , 0x00000055 
+ 00026369  0x00004081 rtn  0x00000034 
+ 00026370  0x00004085 beq  0x00000004 , 0x00006751 
+ 00026371  0x00004086 beq  0x00000005 , 0x00006756 
+ 00026372  0x00004087 beq  0x00000002 , 0x00006748 
+ 00026373  0x00004088 beq  0x00000003 , 0x0000675e 
+ 00026374  0x00004089 beq  0x0000000e , 0x0000674b 
+ 00026375  0x0000408a beq  0x00000006 , 0x0000677a 
+ 00026376  0x0000408b beq  0x00000007 , 0x00006792 
+ 00026377  0x0000408c beq  0x00000009 , 0x00006793 
+ 00026378  0x0000408d beq  0x0000000a , 0x0000679c 
+ 00026379  0x0000408e beq  0x0000000b , 0x000067a0 
+ 00026380  0x0000408f beq  0x0000000c , 0x00006768 
+ 00026381  0x00004090 beq  0x0000000d , 0x0000676b 
+ 00026382  0x00004091 beq  0x0000000f , 0x00006771 
+ 00026383  0x00004092 beq  0x00000012 , 0x0000673b 
+ 00026384  0x00004093 beq  0x00000013 , 0x0000675e 
+ 00026385  0x00004094 beq  0x00000010 , 0x0000673e 
+ 00026386  0x00004095 beq  0x00000014 , 0x00006738 
+ 00026387  0x00004096 beq  0x00000015 , 0x0000675e 
+ 00026388  0x00004097 beq  0x00000016 , 0x00006732 
+ 00026389  0x00004098 beq  0x00000018 , 0x00006737 
+ 00026390  0x00004099 beq  0x00000017 , 0x0000672b 
+ 00026391  0x0000409a beq  0x00000019 , 0x00006731 
+ 00026392  0x0000409b beq  0x0000001a , 0x0000671c 
+ 00026393  0x0000409c beq  0x0000001b , 0x00006726 
+ 00026394  0x0000409d jam  0x00000000 , 0x00000055 
+ 00026395  0x0000409f rtn 
+ 00026396  0x000040a1 fetch  0x00000001 , 0x000004cd 
+ 00026397  0x000040a2 rtnbit0  0x00000002 
+ 00026398  0x000040a3 rtnbit0  0x00000003 
+ 00026399  0x000040a4 jam  0x00000000 , 0x00000055 
+ 00026400  0x000040a5 call  0x00006722 
+ 00026401  0x000040a6 branch  0x00006bae 
+ 00026402  0x000040a9 fetch  0x00000001 , 0x0000016b 
+ 00026403  0x000040aa rtnbit0  0x00000001 
+ 00026404  0x000040ab jam  0x0000000a , 0x00000055 
+ 00026405  0x000040ac rtn 
+ 00026406  0x000040af arg  0x00000007 , 0x00000007 
+ 00026407  0x000040b0 call  0x00007cf1 
+ 00026408  0x000040b1 nrtn  0x00000034 
+ 00026409  0x000040b2 jam  0x0000001a , 0x00000055 
+ 00026410  0x000040b3 rtn 
+ 00026411  0x000040b6 fetch  0x00000001 , 0x0000016b 
+ 00026412  0x000040b7 set0  0x00000000 , 0x0000003f 
+ 00026413  0x000040b8 store  0x00000001 , 0x0000016b 
+ 00026414  0x000040b9 jam  0x00000019 , 0x00000055 
+ 00026415  0x000040ba jam  0x0000000b , 0x0000007c 
+ 00026416  0x000040bb rtn 
+ 00026417  0x000040bd rtn 
+ 00026418  0x000040bf fetch  0x00000001 , 0x000004d0 
+ 00026419  0x000040c0 rtnne  0x00000002 
+ 00026420  0x000040c1 call  0x000067a2 
+ 00026421  0x000040c2 jam  0x00000018 , 0x00000055 
+ 00026422  0x000040c3 rtn 
+ 00026423  0x000040c6 rtn 
+ 00026424  0x000040c8 jam  0x00000015 , 0x00000055 
+ 00026425  0x000040c9 jam  0x00000083 , 0x0000007c 
+ 00026426  0x000040ca rtn 
+ 00026427  0x000040cc jam  0x00000013 , 0x00000055 
+ 00026428  0x000040cd jam  0x00000025 , 0x0000007c 
+ 00026429  0x000040ce rtn 
+ 00026430  0x000040d1 fetch  0x00000001 , 0x0000452d 
+ 00026431  0x000040d2 rtneq  0x00000000 
+ 00026432  0x000040d3 beq  0x00000001 , 0x00006746 
+ 00026433  0x000040d4 arg  0x00000006 , 0x00000007 
+ 00026434  0x000040d5 call  0x00007cf1 
+ 00026435  0x000040d6 nrtn  0x00000034 
+ 00026436  0x000040d7 jam  0x00000000 , 0x0000452d 
+ 00026437  0x000040d8 branch  0x0000675f 
+ 00026438  0x000040da rtn  0x00000029 
+ 00026439  0x000040db branch  0x0000677a 
+ 00026440  0x000040de jam  0x00000003 , 0x00000055 
+ 00026441  0x000040df jam  0x00000027 , 0x0000007c 
+ 00026442  0x000040e0 rtn 
+ 00026443  0x000040e2 jam  0x00000013 , 0x0000007c 
+ 00026444  0x000040e3 set1  0x00000003 , 0x00000000 
+ 00026445  0x000040e4 jam  0x00000005 , 0x00000055 
+ 00026446  0x000040e5 setarg  0x000001ff 
+ 00026447  0x000040e6 store  0x00000002 , 0x000004ce 
+ 00026448  0x000040e7 rtn 
+ 00026449  0x000040e9 jam  0x00000005 , 0x00000055 
+ 00026450  0x000040ea jam  0x000000ff , 0x000004ce 
+ 00026451  0x000040eb set0  0x00000022 , 0x00000000 
+ 00026452  0x000040ec jam  0x00000033 , 0x0000007c 
+ 00026453  0x000040ed branch  0x000060e5 
+ 00026454  0x000040ef rtnmark1  0x00000022 
+ 00026455  0x000040f0 fetch  0x00000002 , 0x000004ce 
+ 00026456  0x000040f1 sub  0x0000003f , 0x00000001 , 0x0000003f 
+ 00026457  0x000040f2 branch  0x0000675c , 0x00000005 
+ 00026458  0x000040f3 store  0x00000002 , 0x000004ce 
+ 00026459  0x000040f4 rtn 
+ 00026460  0x000040f6 jam  0x0000000e , 0x00000055 
+ 00026461  0x000040f7 rtn 
+ 00026462  0x000040fa rtn 
+ 00026463  0x000040fd fetch  0x00000001 , 0x000004cd 
+ 00026464  0x000040fe rtnbit0  0x00000003 
+ 00026465  0x000040ff rtnbit0  0x00000002 
+ 00026466  0x00004100 fetch  0x00000001 , 0x0000016b 
+ 00026467  0x00004101 set0  0x00000002 , 0x0000003f 
+ 00026468  0x00004102 store  0x00000001 , 0x0000016b 
+ 00026469  0x00004103 jam  0x00000013 , 0x0000007c 
+ 00026470  0x00004104 jam  0x00000010 , 0x00000055 
+ 00026471  0x00004105 rtn 
+ 00026472  0x00004108 jam  0x0000000d , 0x00000055 
+ 00026473  0x00004109 jam  0x00000031 , 0x0000007c 
+ 00026474  0x0000410a rtn 
+ 00026475  0x0000410d fetch  0x00000001 , 0x000004cd 
+ 00026476  0x0000410e rtnbit0  0x00000002 
+ 00026477  0x0000410f jam  0x00000000 , 0x00000055 
+ 00026478  0x00004111 rtn 
+ 00026479  0x00004113 jam  0x00000006 , 0x00000055 
+ 00026480  0x00004114 rtn 
+ 00026481  0x00004117 fetch  0x00000001 , 0x000004ce 
+ 00026482  0x00004118 increase  0xffffffff , 0x0000003f 
+ 00026483  0x00004119 branch  0x00006776 , 0x00000034 
+ 00026484  0x0000411a store  0x00000001 , 0x000004ce 
+ 00026485  0x0000411b rtn 
+ 00026486  0x0000411d jam  0x00000007 , 0x0000007c 
+ 00026487  0x0000411e jam  0x00000016 , 0x000004c6 
+ 00026488  0x0000411f jam  0x00000000 , 0x00000055 
+ 00026489  0x00004120 rtn 
+ 00026490  0x00004123 fetch  0x00000001 , 0x0000016b 
+ 00026491  0x00004124 bbit1  0x00000002 , 0x0000675f 
+ 00026492  0x00004125 bbit1  0x00000000 , 0x0000677f 
+ 00026493  0x00004127 jam  0x0000001a , 0x00000055 
+ 00026494  0x00004128 rtn 
+ 00026495  0x0000412a fetch  0x00000001 , 0x000041be 
+ 00026496  0x0000412b branch  0x0000678b , 0x00000034 
+ 00026497  0x0000412c fetch  0x00000001 , 0x000004cd 
+ 00026498  0x0000412d rtnbit0  0x00000003 
+ 00026499  0x0000412e rtnbit0  0x00000002 
+ 00026500  0x0000412f fetch  0x00000004 , 0x000004e5 
+ 00026501  0x00004130 arg  0x00000064 , 0x00000002 
+ 00026502  0x00004131 iadd  0x00000002 , 0x00000002 
+ 00026503  0x00004132 copy  0x00000022 , 0x0000003f 
+ 00026504  0x00004133 isub  0x00000002 , 0x0000003e 
+ 00026505  0x00004134 nrtn  0x00000002 
+ 00026506  0x00004135 branch  0x0000672b 
+ 00026507  0x0000413a jam  0x00000016 , 0x00000055 
+ 00026508  0x0000413b jam  0x00000004 , 0x00004657 
+ 00026509  0x0000413c setarg  0x00003030 
+ 00026510  0x0000413d store  0x00000002 , 0x00004658 
+ 00026511  0x0000413e istore  0x00000002 , 0x00000005 
+ 00026512  0x0000413f jam  0x00000002 , 0x000004d0 
+ 00026513  0x00004140 branch  0x00006732 
+ 00026514  0x00004143 rtn 
+ 00026515  0x00004145 fetch  0x00000001 , 0x0000016b 
+ 00026516  0x00004146 bbit1  0x00000001 , 0x00006797 
+ 00026517  0x00004147 jam  0x0000001a , 0x00000055 
+ 00026518  0x00004148 rtn 
+ 00026519  0x0000414b fetch  0x00000001 , 0x0000016b 
+ 00026520  0x0000414c set0  0x00000001 , 0x0000003f 
+ 00026521  0x0000414d store  0x00000001 , 0x0000016b 
+ 00026522  0x0000414e jam  0x0000000f , 0x0000007c 
+ 00026523  0x0000414f rtn 
+ 00026524  0x00004152 fetch  0x00000001 , 0x000004d4 
+ 00026525  0x00004153 rtn  0x00000034 
+ 00026526  0x00004154 jam  0x00000000 , 0x00000055 
+ 00026527  0x00004155 branch  0x00006797 
+ 00026528  0x00004158 jam  0x0000000c , 0x00000055 
+ 00026529  0x00004159 rtn 
+ 00026530  0x0000415c fetch  0x00000001 , 0x0000004b 
+ 00026531  0x0000415d bbit1  0x00000002 , 0x000067a7 
+ 00026532  0x0000415e call  0x000066d1 
+ 00026533  0x0000415f jam  0x00000008 , 0x0000007c 
+ 00026534  0x00004160 branch  0x000050ea 
+ 00026535  0x00004162 fetch  0x00000001 , 0x0000004b 
+ 00026536  0x00004163 set0  0x00000002 , 0x0000003f 
+ 00026537  0x00004164 store  0x00000001 , 0x0000004b 
+ 00026538  0x00004165 call  0x000063e3 
+ 00026539  0x00004166 call  0x000066da 
+ 00026540  0x00004167 branch  0x000050ea 
+ 00026541  0x0000416a setarg  0x00000004 
+ 00026542  0x0000416b store  0x00000001 , 0x00004657 
+ 00026543  0x0000416c setarg  0x00003030 
+ 00026544  0x0000416d istore  0x00000002 , 0x00000005 
+ 00026545  0x0000416e istore  0x00000002 , 0x00000005 
+ 00026546  0x0000416f rtn 
+ 00026547  0x00004179 hjam  0x00000001 , 0x00008010 
+ 00026548  0x0000417a rtn 
+ 00026549  0x0000417e bpatchx  0x00000048 , 0x00004029 
+ 00026550  0x0000417f fetch  0x00000002 , 0x00004ff6 
+ 00026551  0x00004180 copy  0x0000003f , 0x0000000a 
+ 00026552  0x00004181 rtn 
+ 00026553  0x00004184 bpatchx  0x00000049 , 0x00004029 
+ 00026554  0x00004185 copy  0x0000000a , 0x0000003f 
+ 00026555  0x00004186 store  0x00000002 , 0x00004ff6 
+ 00026556  0x00004188 fetch  0x00000001 , 0x00008043 
+ 00026557  0x00004189 rtnbit1  0x00000007 
+ 00026558  0x0000418a set1  0x00000007 , 0x0000003f 
+ 00026559  0x0000418b store  0x00000001 , 0x00008043 
+ 00026560  0x0000418c rtn 
+ 00026561  0x00004190 deposit  0x00000039 
+ 00026562  0x00004191 rtn  0x00000034 
+ 00026563  0x00004193 increase  0xfffffff8 , 0x00000039 
+ 00026564  0x00004194 call  0x000067ce , 0x00000002 
+ 00026565  0x00004195 rtn  0x00000005 
+ 00026566  0x00004196 branch  0x000067c3 , 0x00000002 
+ 00026567  0x00004197 increase  0x00000008 , 0x00000039 
+ 00026568  0x00004199 increase  0xfffffffc , 0x00000039 
+ 00026569  0x0000419a call  0x000067d1 , 0x00000002 
+ 00026570  0x0000419b rtn  0x00000005 
+ 00026571  0x0000419c branch  0x000067c8 , 0x00000002 
+ 00026572  0x0000419d increase  0x00000004 , 0x00000039 
+ 00026573  0x0000419e branch  0x000067d4 
+ 00026574  0x000041a1 ifetch  0x00000008 , 0x00000006 
+ 00026575  0x000041a2 istore  0x00000008 , 0x0000000a 
+ 00026576  0x000041a3 rtn 
+ 00026577  0x000041a6 ifetch  0x00000004 , 0x00000006 
+ 00026578  0x000041a7 istore  0x00000004 , 0x0000000a 
+ 00026579  0x000041a8 rtn 
+ 00026580  0x000041ab deposit  0x00000039 
+ 00026581  0x000041ac rtn  0x00000034 
+ 00026582  0x000041ae ifetch  0x00000001 , 0x00000006 
+ 00026583  0x000041af istore  0x00000001 , 0x0000000a 
+ 00026584  0x000041b0 loop  0x000067d6 
+ 00026585  0x000041b1 rtn 
+ 00026586  0x000041b4 deposit  0x00000039 
+ 00026587  0x000041b5 rtn  0x00000034 
+ 00026588  0x000041b7 increase  0xfffffff8 , 0x00000039 
+ 00026589  0x000041b8 call  0x000067e7 , 0x00000002 
+ 00026590  0x000041b9 rtn  0x00000005 
+ 00026591  0x000041ba branch  0x000067dc , 0x00000002 
+ 00026592  0x000041bb increase  0x00000008 , 0x00000039 
+ 00026593  0x000041bd increase  0xfffffffc , 0x00000039 
+ 00026594  0x000041be call  0x000067ea , 0x00000002 
+ 00026595  0x000041bf rtn  0x00000005 
+ 00026596  0x000041c0 branch  0x000067e1 , 0x00000002 
+ 00026597  0x000041c1 increase  0x00000004 , 0x00000039 
+ 00026598  0x000041c2 branch  0x000067ed 
+ 00026599  0x000041c5 ifetch  0x00000008 , 0x00000003 
+ 00026600  0x000041c6 istore  0x00000008 , 0x00000005 
+ 00026601  0x000041c7 rtn 
+ 00026602  0x000041ca ifetch  0x00000004 , 0x00000003 
+ 00026603  0x000041cb istore  0x00000004 , 0x00000005 
+ 00026604  0x000041cc rtn 
+ 00026605  0x000041d0 deposit  0x00000039 
+ 00026606  0x000041d1 rtn  0x00000034 
+ 00026607  0x000041d3 ifetch  0x00000001 , 0x00000003 
+ 00026608  0x000041d4 istore  0x00000001 , 0x00000005 
+ 00026609  0x000041d5 loop  0x000067ef 
+ 00026610  0x000041d6 rtn 
+ 00026611  0x000041d9 bpatchx  0x0000004a , 0x00004029 
+ 00026612  0x000041da copy  0x00000003 , 0x0000003f 
+ 00026613  0x000041db store  0x00000002 , 0x00004ffc 
+ 00026614  0x000041dc rtn 
+ 00026615  0x000041df bpatchx  0x0000004b , 0x00004029 
+ 00026616  0x000041e0 fetch  0x00000002 , 0x00004ffc 
+ 00026617  0x000041e1 copy  0x0000003f , 0x00000003 
+ 00026618  0x000041e2 rtn 
+ 00026619  0x000041e7 jam  0x0000003d , 0x00000a95 
+ 00026620  0x000041e8 branch  0x00007bab 
+ 00026621  0x000041ee bpatchx  0x0000004c , 0x00004029 
+ 00026622  0x000041ef fetch  0x00000001 , 0x00004216 
+ 00026623  0x000041f0 rtn  0x00000034 
+ 00026624  0x000041f1 call  0x00006895 
+ 00026625  0x000041f2 call  0x0000689b , 0x00000005 
+ 00026626  0x000041f3 call  0x00006830 
+ 00026627  0x000041f5 fetch  0x00000001 , 0x00004216 
+ 00026628  0x000041f6 icopy  0x00000013 
+ 00026629  0x000041f7 fetcht  0x00000002 , 0x00004214 
+ 00026630  0x000041f8 storet  0x00000002 , 0x0000018a 
+ 00026631  0x000041fa copy  0x00000013 , 0x0000003f 
+ 00026632  0x000041fb branch  0x000067fb , 0x00000034 
+ 00026633  0x000041fc increase  0xffffffff , 0x00000013 
+ 00026634  0x000041fd copy  0x00000002 , 0x00000011 
+ 00026635  0x000041fe ifetch  0x00000001 , 0x00000011 
+ 00026636  0x000041ff fetcht  0x00000001 , 0x00000182 
+ 00026637  0x00004200 isub  0x00000002 , 0x0000003e 
+ 00026638  0x00004201 call  0x00006817 , 0x00000005 
+ 00026639  0x00004202 branch  0x00006813 , 0x00000002 
+ 00026640  0x00004203 ifetch  0x00000001 , 0x00000011 
+ 00026641  0x00004204 increase  0x00000001 , 0x0000003f 
+ 00026642  0x00004205 istore  0x00000001 , 0x00000011 
+ 00026643  0x00004207 fetcht  0x00000002 , 0x0000018a 
+ 00026644  0x00004208 increase  0x00000022 , 0x00000002 
+ 00026645  0x00004209 storet  0x00000002 , 0x0000018a 
+ 00026646  0x0000420a branch  0x00006807 
+ 00026647  0x0000420d setarg  0x00000000 
+ 00026648  0x0000420e istore  0x00000001 , 0x00000011 
+ 00026649  0x0000420f fetch  0x00000001 , 0x00000183 
+ 00026650  0x00004210 istore  0x00000001 , 0x00000005 
+ 00026651  0x00004211 bne  0x00000033 , 0x00006825 
+ 00026652  0x00004212 arg  0x000041bf , 0x00000012 
+ 00026653  0x00004214 ifetch  0x00000006 , 0x00000006 
+ 00026654  0x00004215 istore  0x00000008 , 0x00000005 
+ 00026655  0x00004216 setarg  0x00000000 
+ 00026656  0x00004217 istore  0x00000008 , 0x00000005 
+ 00026657  0x00004218 copy  0x00000012 , 0x00000006 
+ 00026658  0x0000421a call  0x00007c9a 
+ 00026659  0x0000421b force  0x00000001 , 0x0000003e 
+ 00026660  0x0000421c rtn 
+ 00026661  0x0000421f beq  0x00000036 , 0x00006829 
+ 00026662  0x00004220 beq  0x00000037 , 0x0000682d 
+ 00026663  0x00004221 arg  0x000043eb , 0x00000012 
+ 00026664  0x00004222 branch  0x0000681d 
+ 00026665  0x00004225 arg  0x000044a7 , 0x00000006 
+ 00026666  0x00004226 call  0x00007c9a 
+ 00026667  0x00004228 arg  0x000043eb , 0x00000006 
+ 00026668  0x00004229 branch  0x00006822 
+ 00026669  0x0000422c arg  0x0000449f , 0x00000006 
+ 00026670  0x0000422d call  0x00007c9a 
+ 00026671  0x0000422e branch  0x0000682b 
+ 00026672  0x00004232 call  0x00007dc1 
+ 00026673  0x00004233 fetch  0x00000001 , 0x00004216 
+ 00026674  0x00004234 rtn  0x00000034 
+ 00026675  0x00004235 fetch  0x00000002 , 0x00004652 
+ 00026676  0x00004236 bbit1  0x00000000 , 0x00006846 
+ 00026677  0x00004238 bpatchx  0x0000004d , 0x00004029 
+ 00026678  0x00004239 fetch  0x00000001 , 0x00004460 
+ 00026679  0x0000423a beq  0x00000000 , 0x0000683f 
+ 00026680  0x0000423b fetch  0x00000001 , 0x00000450 
+ 00026681  0x0000423c compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00026682  0x0000423d branch  0x0000683f , 0x00000001 
+ 00026683  0x0000423e compare  0x00000040 , 0x0000003f , 0x000000c0 
+ 00026684  0x0000423f branch  0x00006844 , 0x00000001 
+ 00026685  0x00004240 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00026686  0x00004241 branch  0x00006842 , 0x00000001 
+ 00026687  0x00004243 jam  0x00000035 , 0x00000183 
+ 00026688  0x00004244 fetch  0x00000006 , 0x0000044b 
+ 00026689  0x00004245 branch  0x00006849 
+ 00026690  0x00004248 jam  0x00000037 , 0x00000183 
+ 00026691  0x00004249 branch  0x00006849 
+ 00026692  0x0000424d jam  0x00000036 , 0x00000183 
+ 00026693  0x0000424e branch  0x00006849 
+ 00026694  0x00004252 bpatchx  0x0000004e , 0x00004029 
+ 00026695  0x00004253 jam  0x00000033 , 0x00000183 
+ 00026696  0x00004254 fetch  0x00000006 , 0x00000040 
+ 00026697  0x00004256 store  0x00000006 , 0x00000184 
+ 00026698  0x00004257 fetch  0x00000002 , 0x00004214 
+ 00026699  0x00004258 ifetcht  0x00000001 , 0x0000003f 
+ 00026700  0x00004259 pincrease  0x00000001 
+ 00026701  0x0000425a store  0x00000002 , 0x0000018a 
+ 00026702  0x0000425b storet  0x00000001 , 0x00000182 
+ 00026703  0x0000425c fetch  0x00000001 , 0x00004216 
+ 00026704  0x0000425d icopy  0x00000013 
+ 00026705  0x0000425f fetch  0x00000002 , 0x0000018a 
+ 00026706  0x00004260 copy  0x0000003f , 0x00000011 
+ 00026707  0x00004261 call  0x00006861 
+ 00026708  0x00004262 rtn  0x00000028 
+ 00026709  0x00004263 fetcht  0x00000002 , 0x0000018a 
+ 00026710  0x00004264 increase  0x00000022 , 0x00000002 
+ 00026711  0x00004265 storet  0x00000002 , 0x0000018a 
+ 00026712  0x00004266 increase  0xffffffff , 0x00000002 
+ 00026713  0x00004267 ifetch  0x00000001 , 0x00000002 
+ 00026714  0x00004268 store  0x00000001 , 0x00000182 
+ 00026715  0x00004269 increase  0xffffffff , 0x00000013 
+ 00026716  0x0000426a nbranch  0x00006851 , 0x00000005 
+ 00026717  0x0000426b fetch  0x00000001 , 0x00004216 
+ 00026718  0x0000426c pincrease  0xffffffff 
+ 00026719  0x0000426d store  0x00000001 , 0x00000182 
+ 00026720  0x0000426e rtn 
+ 00026721  0x00004270 fetch  0x00000001 , 0x00000183 
+ 00026722  0x00004271 bne  0x00000033 , 0x00006868 
+ 00026723  0x00004273 arg  0x00000183 , 0x00000012 
+ 00026724  0x00004274 arg  0x00000007 , 0x00000039 
+ 00026725  0x00004275 call  0x00007d63 
+ 00026726  0x00004276 branch  0x00007dbf , 0x00000005 
+ 00026727  0x00004277 rtn 
+ 00026728  0x0000427a beq  0x00000036 , 0x0000686b 
+ 00026729  0x0000427b beq  0x00000037 , 0x00006886 
+ 00026730  0x0000427c branch  0x00006863 
+ 00026731  0x0000427f ifetcht  0x00000001 , 0x00000011 
+ 00026732  0x00004280 isub  0x00000002 , 0x0000003e 
+ 00026733  0x00004281 nrtn  0x00000005 
+ 00026734  0x00004282 arg  0x00000abe , 0x00000005 
+ 00026735  0x00004283 arg  0x00000010 , 0x00000039 
+ 00026736  0x00004284 call  0x00007caf 
+ 00026737  0x00004285 fetch  0x00000003 , 0x0000044e 
+ 00026738  0x00004286 store  0x00000003 , 0x00000abe 
+ 00026739  0x00004287 call  0x0000687d 
+ 00026740  0x00004288 fetch  0x00000002 , 0x00000adb 
+ 00026741  0x00004289 byteswap  0x0000003f , 0x0000003f 
+ 00026742  0x0000428a lshift8  0x0000003f , 0x00000002 
+ 00026743  0x0000428b ifetch  0x00000001 , 0x00000006 
+ 00026744  0x0000428c iadd  0x00000002 , 0x0000003f 
+ 00026745  0x0000428d fetcht  0x00000003 , 0x0000044b 
+ 00026746  0x0000428e isub  0x00000002 , 0x0000003e 
+ 00026747  0x0000428f branch  0x00007dbf , 0x00000005 
+ 00026748  0x00004290 rtn 
+ 00026749  0x00004294 arg  0x00000abe , 0x00000006 
+ 00026750  0x00004295 call  0x0000733b 
+ 00026751  0x00004297 ifetch  0x00000001 , 0x00000011 
+ 00026752  0x00004298 call  0x00007338 
+ 00026753  0x00004299 force  0x00000050 , 0x00000036 
+ 00026754  0x0000429a force  0x00000000 , 0x00000036 
+ 00026755  0x0000429b call  0x000072d1 
+ 00026756  0x0000429c arg  0x00000ace , 0x00000005 
+ 00026757  0x0000429d branch  0x0000734c 
+ 00026758  0x000042a0 ifetcht  0x00000001 , 0x00000011 
+ 00026759  0x000042a1 isub  0x00000002 , 0x0000003e 
+ 00026760  0x000042a2 nrtn  0x00000005 
+ 00026761  0x000042a3 copy  0x00000006 , 0x00000011 
+ 00026762  0x000042a4 add  0x00000006 , 0x00000008 , 0x00000013 
+ 00026763  0x000042a5 arg  0x0000449f , 0x00000012 
+ 00026764  0x000042a6 arg  0x00000008 , 0x00000039 
+ 00026765  0x000042a7 call  0x00007d63 
+ 00026766  0x000042a8 branch  0x00007dbf , 0x00000005 
+ 00026767  0x000042a9 copy  0x00000013 , 0x00000011 
+ 00026768  0x000042aa arg  0x000044a7 , 0x00000012 
+ 00026769  0x000042ab arg  0x00000008 , 0x00000039 
+ 00026770  0x000042ac call  0x00007d63 
+ 00026771  0x000042ad branch  0x00007dbf , 0x00000005 
+ 00026772  0x000042ae rtn 
+ 00026773  0x000042b1 fetch  0x00000002 , 0x00004214 
+ 00026774  0x000042b2 ifetcht  0x00000001 , 0x0000003f 
+ 00026775  0x000042b3 pincrease  0x00000022 
+ 00026776  0x000042b4 ifetch  0x00000001 , 0x0000003f 
+ 00026777  0x000042b5 isub  0x00000002 , 0x0000003e 
+ 00026778  0x000042b6 rtn 
+ 00026779  0x000042b9 fetch  0x00000001 , 0x00004216 
+ 00026780  0x000042ba icopy  0x00000039 
+ 00026781  0x000042bb fetcht  0x00000002 , 0x00004214 
+ 00026782  0x000042bc setarg  0x00000000 
+ 00026783  0x000042be istore  0x00000001 , 0x00000002 
+ 00026784  0x000042bf increase  0x00000022 , 0x00000002 
+ 00026785  0x000042c0 pincrease  0x00000001 
+ 00026786  0x000042c1 loop  0x0000689f 
+ 00026787  0x000042c2 rtn 
+ 00026788  0x000042c5 bpatchx  0x0000004f , 0x00004029 
+ 00026789  0x000042c6 call  0x00006830 
+ 00026790  0x000042c7 fetch  0x00000001 , 0x00000030 
+ 00026791  0x000042c8 setflag  0x00000028 , 0x00000006 , 0x0000003f 
+ 00026792  0x000042c9 store  0x00000001 , 0x00000030 
+ 00026793  0x000042ca nbranch  0x000068ae , 0x00000028 
+ 00026794  0x000042cb add  0x00000011 , 0x0000000a , 0x00000006 
+ 00026795  0x000042cd arg  0x000041bf , 0x00000005 
+ 00026796  0x000042ce call  0x00007c9a 
+ 00026797  0x000042cf branch  0x000068be 
+ 00026798  0x000042d1 jam  0x00000000 , 0x000041be 
+ 00026799  0x000042d2 rtn 
+ 00026800  0x000042d5 fetch  0x00000009 , 0x0000449d 
+ 00026801  0x000042d6 branch  0x000068bc , 0x00000034 
+ 00026802  0x000042d7 call  0x00006830 
+ 00026803  0x000042d8 nbranch  0x000068bc , 0x00000028 
+ 00026804  0x000042d9 fetch  0x00000002 , 0x0000018a 
+ 00026805  0x000042da add  0x0000003f , 0x00000001 , 0x00000006 
+ 00026806  0x000042db arg  0x000044a7 , 0x00000005 
+ 00026807  0x000042dc call  0x00007c9a 
+ 00026808  0x000042dd arg  0x000043eb , 0x00000005 
+ 00026809  0x000042de call  0x00007c9a 
+ 00026810  0x000042df jam  0x00000001 , 0x000043fb 
+ 00026811  0x000042e0 rtn 
+ 00026812  0x000042e3 jam  0x00000000 , 0x000043fb 
+ 00026813  0x000042e4 rtn 
+ 00026814  0x000042ea fetch  0x00000008 , 0x000041bf 
+ 00026815  0x000042eb fetcht  0x00000008 , 0x000041c7 
+ 00026816  0x000042ec ior  0x00000002 , 0x0000003f 
+ 00026817  0x000042ed rtn  0x00000034 
+ 00026818  0x000042ee jam  0x00000001 , 0x000041be 
+ 00026819  0x000042ef rtn 
+ 00026820  0x000042f7 rtn  0x0000002b 
+ 00026821  0x000042f8 jam  0x00000000 , 0x00004539 
+ 00026822  0x000042f9 jam  0x00000003 , 0x000004e9 
+ 00026823  0x000042fa jam  0x00000003 , 0x000004ea 
+ 00026824  0x000042fb jam  0x00000011 , 0x000004ee 
+ 00026825  0x000042fc jam  0x00000013 , 0x000004ef 
+ 00026826  0x000042fd setarg  0x00000000 
+ 00026827  0x000042fe store  0x00000003 , 0x000004eb 
+ 00026828  0x000042ff store  0x00000001 , 0x00004226 
+ 00026829  0x00004300 jam  0x00000000 , 0x00004651 
+ 00026830  0x00004303 bpatchx  0x00000050 , 0x0000402a 
+ 00026831  0x00004304 setarg  0x00000000 
+ 00026832  0x00004305 store  0x00000001 , 0x00004226 
+ 00026833  0x00004306 store  0x00000001 , 0x00004536 
+ 00026834  0x00004307 store  0x00000001 , 0x0000452f 
+ 00026835  0x00004308 fetch  0x00000001 , 0x0000453d 
+ 00026836  0x00004309 beq  0x00000001 , 0x000068d7 
+ 00026837  0x0000430a jam  0x00000050 , 0x0000453b 
+ 00026838  0x0000430b rtn 
+ 00026839  0x0000430e jam  0x00000000 , 0x0000453b 
+ 00026840  0x0000430f rtn 
+ 00026841  0x00004312 or_into  0x00000002 , 0x00000002 
+ 00026842  0x00004313 rtn 
+ 00026843  0x00004320 copy  0x00000002 , 0x0000003f 
+ 00026844  0x00004321 reverse  0x0000003f , 0x0000003f 
+ 00026845  0x00004322 store  0x00000001 , 0x00004534 
+ 00026846  0x00004323 force  0x0000003f , 0x0000003f 
+ 00026847  0x00004324 reverse  0x0000003f , 0x0000003f 
+ 00026848  0x00004325 store  0x00000001 , 0x00004533 
+ 00026849  0x00004326 force  0x00000001 , 0x0000003f 
+ 00026850  0x00004327 reverse  0x0000003f , 0x0000003f 
+ 00026851  0x00004328 store  0x00000001 , 0x00004532 
+ 00026852  0x00004329 call  0x00006911 
+ 00026853  0x0000432a copy  0x00000002 , 0x0000003f 
+ 00026854  0x0000432b rtn 
+ 00026855  0x0000432d reverse  0x0000003f , 0x0000003f 
+ 00026856  0x0000432e store  0x00000001 , 0x00004534 
+ 00026857  0x0000432f force  0x00000073 , 0x0000003f 
+ 00026858  0x00004330 reverse  0x0000003f , 0x0000003f 
+ 00026859  0x00004331 store  0x00000001 , 0x00004533 
+ 00026860  0x00004332 force  0x00000001 , 0x0000003f 
+ 00026861  0x00004333 reverse  0x0000003f , 0x0000003f 
+ 00026862  0x00004334 store  0x00000001 , 0x00004532 
+ 00026863  0x00004335 branch  0x00006911 
+ 00026864  0x00004338 fetch  0x00000001 , 0x00004535 
+ 00026865  0x00004339 branch  0x000068f4 , 0x00000034 
+ 00026866  0x0000433a setarg  0x00000070 
+ 00026867  0x0000433b rtn 
+ 00026868  0x0000433d setarg  0x000000aa 
+ 00026869  0x0000433e rtn 
+ 00026870  0x00004341 reverse  0x0000003f , 0x0000003f 
+ 00026871  0x00004342 store  0x00000001 , 0x00004534 
+ 00026872  0x00004343 force  0x000000ef , 0x0000003f 
+ 00026873  0x00004344 call  0x00006905 
+ 00026874  0x00004345 fetcht  0x00000002 , 0x000004f3 
+ 00026875  0x00004346 copy  0x00000002 , 0x00000005 
+ 00026876  0x00004347 istore  0x00000001 , 0x00000005 
+ 00026877  0x00004348 copy  0x00000005 , 0x00000002 
+ 00026878  0x00004349 storet  0x00000002 , 0x000004f3 
+ 00026879  0x0000434a force  0x000000ff , 0x0000003f 
+ 00026880  0x0000434b call  0x00006905 
+ 00026881  0x0000434c fetcht  0x00000002 , 0x000004f3 
+ 00026882  0x0000434d copy  0x00000002 , 0x00000005 
+ 00026883  0x0000434e istore  0x00000001 , 0x00000005 
+ 00026884  0x0000434f rtn 
+ 00026885  0x00004359 reverse  0x0000003f , 0x0000003f 
+ 00026886  0x0000435a store  0x00000001 , 0x00004533 
+ 00026887  0x0000435b fetch  0x00000002 , 0x00004533 
+ 00026888  0x0000435c lshift8  0x0000003f , 0x0000003f 
+ 00026889  0x0000435d store  0x00000003 , 0x000004f0 
+ 00026890  0x0000435e arg  0x00000107 , 0x00000011 
+ 00026891  0x0000435f arg  0x0000000f , 0x00000012 
+ 00026892  0x00004360 call  0x0000691e 
+ 00026893  0x00004361 xor_into  0x000000d7 , 0x0000003f 
+ 00026894  0x00004362 invert  0x0000003f , 0x0000003f 
+ 00026895  0x00004363 reverse  0x0000003f , 0x0000003f 
+ 00026896  0x00004364 rtn 
+ 00026897  0x0000436f fetch  0x00000003 , 0x00004532 
+ 00026898  0x00004370 store  0x00000003 , 0x000004f0 
+ 00026899  0x00004371 arg  0x00000107 , 0x00000011 
+ 00026900  0x00004372 arg  0x0000000f , 0x00000012 
+ 00026901  0x00004373 call  0x0000691e 
+ 00026902  0x00004374 lshift8  0x0000003f , 0x0000003f 
+ 00026903  0x00004375 arg  0x00000007 , 0x00000012 
+ 00026904  0x00004376 call  0x0000691e 
+ 00026905  0x00004377 xor_into  0x0000002b , 0x0000003f 
+ 00026906  0x00004378 invert  0x0000003f , 0x0000003f 
+ 00026907  0x00004379 reverse  0x0000003f , 0x0000003f 
+ 00026908  0x0000437a copy  0x0000003f , 0x00000002 
+ 00026909  0x0000437b rtn 
+ 00026910  0x0000437e arg  0x00000000 , 0x00000013 
+ 00026911  0x0000437f copy  0x00000012 , 0x00000039 
+ 00026912  0x00004380 call  0x00007c4c 
+ 00026913  0x00004381 icopy  0x00000002 
+ 00026914  0x00004387 copy  0x00000002 , 0x0000003f 
+ 00026915  0x00004388 lshift  0x00000013 , 0x00000013 
+ 00026916  0x00004389 bbit0  0x00000008 , 0x00006927 
+ 00026917  0x0000438a ixor  0x00000011 , 0x00000002 
+ 00026918  0x0000438b increase  0x00000001 , 0x00000013 
+ 00026919  0x0000438d lshift  0x00000002 , 0x00000002 
+ 00026920  0x0000438e fetch  0x00000003 , 0x000004f0 
+ 00026921  0x0000438f increase  0xffffffff , 0x00000012 
+ 00026922  0x00004390 compare  0x000000ff , 0x00000012 , 0x000000ff 
+ 00026923  0x00004391 branch  0x00006931 , 0x00000001 
+ 00026924  0x00004392 copy  0x00000012 , 0x00000039 
+ 00026925  0x00004393 call  0x00007c4c 
+ 00026926  0x00004394 isolate1  0x00000000 , 0x0000003f 
+ 00026927  0x00004395 setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00026928  0x00004396 branch  0x00006922 
+ 00026929  0x00004399 rshift  0x00000002 , 0x0000003f 
+ 00026930  0x0000439a rtn 
+ 00026931  0x0000439d fetcht  0x00000001 , 0x0000452f 
+ 00026932  0x000043a0 lshift2  0x00000002 , 0x00000002 
+ 00026933  0x000043a1 set1  0x00000000 , 0x00000002 
+ 00026934  0x000043a2 fetch  0x00000001 , 0x00004535 
+ 00026935  0x000043a3 ncall  0x000068d9 , 0x00000034 
+ 00026936  0x000043a4 storet  0x00000001 , 0x00000509 
+ 00026937  0x000043a5 rtn 
+ 00026938  0x000043a9 lshift  0x00000002 , 0x00000002 
+ 00026939  0x000043aa fetch  0x00000001 , 0x00004535 
+ 00026940  0x000043ab setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00026941  0x000043ad rtn 
+ 00026942  0x000043af fetcht  0x00000001 , 0x000004f8 
+ 00026943  0x000043b0 jam  0x000000d7 , 0x000004fa 
+ 00026944  0x000043b1 call  0x00006a77 
+ 00026945  0x000043b2 fetch  0x00000001 , 0x00004223 
+ 00026946  0x000043b3 set1  0x00000006 , 0x0000003f 
+ 00026947  0x000043b4 set1  0x00000007 , 0x0000003f 
+ 00026948  0x000043b5 store  0x00000001 , 0x00004223 
+ 00026949  0x000043b6 jam  0x00000000 , 0x00004535 
+ 00026950  0x000043b7 branch  0x00006a58 
+ 00026951  0x000043b9 fetch  0x00000001 , 0x00004223 
+ 00026952  0x000043ba set1  0x00000007 , 0x0000003f 
+ 00026953  0x000043bb store  0x00000001 , 0x00004223 
+ 00026954  0x000043bc branch  0x00006a58 
+ 00026955  0x000043c0 bpatchx  0x00000051 , 0x0000402a 
+ 00026956  0x000043c1 fetch  0x00000001 , 0x00004651 
+ 00026957  0x000043c2 beq  0x00000000 , 0x0000694f 
+ 00026958  0x000043c3 branch  0x00006a0d 
+ 00026959  0x000043c6 fetch  0x00000002 , 0x00000260 
+ 00026960  0x000043c7 copy  0x0000003f , 0x00000006 
+ 00026961  0x000043c8 call  0x00006979 
+ 00026962  0x000043c9 fetch  0x00000001 , 0x000004f8 
+ 00026963  0x000043ca beq  0x00000000 , 0x00006955 
+ 00026964  0x000043cb branch  0x000069d9 
+ 00026965  0x000043cd bpatchx  0x00000052 , 0x0000402a 
+ 00026966  0x000043ce fetch  0x00000001 , 0x000004f9 
+ 00026967  0x000043cf beq  0x0000003f , 0x0000693e 
+ 00026968  0x000043d0 beq  0x00000073 , 0x00006947 
+ 00026969  0x000043d1 beq  0x000000ef , 0x0000695c 
+ 00026970  0x000043d2 beq  0x00000053 , 0x00006a05 
+ 00026971  0x000043d3 rtn 
+ 00026972  0x000043d7 fetch  0x00000002 , 0x000004fd 
+ 00026973  0x000043d8 copy  0x0000003f , 0x00000006 
+ 00026974  0x000043d9 call  0x00006984 
+ 00026975  0x000043da fetch  0x00000001 , 0x000004ff 
+ 00026976  0x000043db beq  0x00000041 , 0x00006966 
+ 00026977  0x000043dc beq  0x00000040 , 0x0000696e 
+ 00026978  0x000043dd beq  0x00000071 , 0x000069a7 
+ 00026979  0x000043de beq  0x00000070 , 0x000069b3 
+ 00026980  0x000043df beq  0x00000049 , 0x000069be 
+ 00026981  0x000043e0 branch  0x00006a58 
+ 00026982  0x000043e3 call  0x00006970 
+ 00026983  0x000043e5 branch  0x00006968 
+ 00026984  0x000043e8 fetch  0x00000001 , 0x00004226 
+ 00026985  0x000043e9 set1  0x00000000 , 0x0000003f 
+ 00026986  0x000043ea set1  0x00000001 , 0x0000003f 
+ 00026987  0x000043eb store  0x00000001 , 0x00004226 
+ 00026988  0x000043ec call  0x00006aa1 
+ 00026989  0x000043ed branch  0x00006a58 
+ 00026990  0x000043f0 call  0x00006970 
+ 00026991  0x000043f1 branch  0x00006a58 
+ 00026992  0x000043f4 call  0x0000698c 
+ 00026993  0x000043f5 branch  0x00006998 
+ 00026994  0x000043f8 call  0x0000698c 
+ 00026995  0x000043f9 ifetch  0x00000001 , 0x00000006 
+ 00026996  0x000043fa rshift3  0x0000003f , 0x0000003f 
+ 00026997  0x000043fb store  0x00000001 , 0x0000453c 
+ 00026998  0x000043fc ifetch  0x00000001 , 0x00000006 
+ 00026999  0x000043fd store  0x00000001 , 0x00000504 
+ 00027000  0x000043fe rtn 
+ 00027001  0x00004402 ifetch  0x00000001 , 0x00000006 
+ 00027002  0x00004403 store  0x00000001 , 0x000004f7 
+ 00027003  0x00004404 rshift3  0x0000003f , 0x0000003f 
+ 00027004  0x00004405 store  0x00000001 , 0x000004f8 
+ 00027005  0x00004406 ifetch  0x00000001 , 0x00000006 
+ 00027006  0x00004407 store  0x00000001 , 0x000004f9 
+ 00027007  0x00004409 call  0x0000698f 
+ 00027008  0x0000440a storet  0x00000002 , 0x000004fb 
+ 00027009  0x0000440b copy  0x00000006 , 0x0000003f 
+ 00027010  0x0000440c store  0x00000002 , 0x000004fd 
+ 00027011  0x0000440d rtn 
+ 00027012  0x00004410 ifetch  0x00000001 , 0x00000006 
+ 00027013  0x00004411 rshift  0x0000003f , 0x0000003f 
+ 00027014  0x00004412 store  0x00000001 , 0x000004ff 
+ 00027015  0x00004413 call  0x0000698f 
+ 00027016  0x00004414 storet  0x00000002 , 0x00000500 
+ 00027017  0x00004415 copy  0x00000006 , 0x0000003f 
+ 00027018  0x00004416 store  0x00000002 , 0x00000502 
+ 00027019  0x00004417 rtn 
+ 00027020  0x0000441b fetch  0x00000002 , 0x00000502 
+ 00027021  0x0000441c copy  0x0000003f , 0x00000006 
+ 00027022  0x0000441d rtn 
+ 00027023  0x00004420 ifetch  0x00000001 , 0x00000006 
+ 00027024  0x00004421 copy  0x0000003f , 0x00000002 
+ 00027025  0x00004422 rshift  0x00000002 , 0x00000002 
+ 00027026  0x00004423 rtnbit1  0x00000000 
+ 00027027  0x00004424 ifetch  0x00000001 , 0x00000006 
+ 00027028  0x00004425 lshift3  0x0000003f , 0x0000003f 
+ 00027029  0x00004426 lshift4  0x0000003f , 0x0000003f 
+ 00027030  0x00004427 iadd  0x00000002 , 0x00000002 
+ 00027031  0x00004428 rtn 
+ 00027032  0x0000442b ifetch  0x00000001 , 0x00000006 
+ 00027033  0x0000442c store  0x00000001 , 0x0000452f 
+ 00027034  0x0000442d ifetch  0x00000001 , 0x00000006 
+ 00027035  0x0000442e store  0x00000001 , 0x00000505 
+ 00027036  0x0000442f ifetch  0x00000001 , 0x00000006 
+ 00027037  0x00004430 store  0x00000001 , 0x00000506 
+ 00027038  0x00004431 ifetch  0x00000001 , 0x00000006 
+ 00027039  0x00004432 store  0x00000001 , 0x00000507 
+ 00027040  0x00004433 ifetch  0x00000002 , 0x00000006 
+ 00027041  0x00004434 store  0x00000002 , 0x00004530 
+ 00027042  0x00004435 ifetch  0x00000001 , 0x00000006 
+ 00027043  0x00004436 store  0x00000001 , 0x00000508 
+ 00027044  0x00004437 ifetch  0x00000001 , 0x00000006 
+ 00027045  0x00004438 store  0x00000001 , 0x0000453a 
+ 00027046  0x00004439 rtn 
+ 00027047  0x0000443d call  0x00006972 
+ 00027048  0x0000443f branch  0x000069a9 
+ 00027049  0x00004442 fetch  0x00000001 , 0x00004226 
+ 00027050  0x00004443 set1  0x00000005 , 0x0000003f 
+ 00027051  0x00004444 set1  0x00000006 , 0x0000003f 
+ 00027052  0x00004445 store  0x00000001 , 0x00004226 
+ 00027053  0x00004446 fetcht  0x00000001 , 0x0000452f 
+ 00027054  0x00004447 lshift2  0x00000002 , 0x00000002 
+ 00027055  0x00004448 or_into  0x00000003 , 0x00000002 
+ 00027056  0x00004449 call  0x00006ad2 
+ 00027057  0x0000444a jam  0x00000003 , 0x00004539 
+ 00027058  0x0000444b branch  0x00006a58 
+ 00027059  0x0000444e jam  0x00000008 , 0x00000a95 
+ 00027060  0x0000444f call  0x00007bab 
+ 00027061  0x00004450 call  0x00006972 
+ 00027062  0x00004451 fetch  0x00000001 , 0x0000453c 
+ 00027063  0x00004452 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00027064  0x00004453 branch  0x000069ba , 0x00000005 
+ 00027065  0x00004454 branch  0x00004a8b 
+ 00027066  0x00004456 fetch  0x00000001 , 0x00004226 
+ 00027067  0x00004457 set1  0x00000007 , 0x0000003f 
+ 00027068  0x00004458 store  0x00000001 , 0x00004226 
+ 00027069  0x00004459 branch  0x00006a58 
+ 00027070  0x0000445c call  0x0000698c 
+ 00027071  0x0000445d ifetch  0x00000001 , 0x00000006 
+ 00027072  0x0000445e store  0x00000001 , 0x00000abe 
+ 00027073  0x0000445f call  0x000056ac 
+ 00027074  0x00004460 call  0x000056ba 
+ 00027075  0x00004461 setarg  0x0000000e 
+ 00027076  0x00004462 istore  0x00000002 , 0x00000005 
+ 00027077  0x00004463 fetch  0x00000002 , 0x0000421c 
+ 00027078  0x00004464 istore  0x00000002 , 0x00000005 
+ 00027079  0x00004465 fetch  0x00000001 , 0x00004535 
+ 00027080  0x00004467 lshift  0x0000003f , 0x0000003f 
+ 00027081  0x00004468 set1  0x00000000 , 0x0000003f 
+ 00027082  0x00004469 istore  0x00000001 , 0x00000005 
+ 00027083  0x0000446a bpatchx  0x00000053 , 0x0000402a 
+ 00027084  0x0000446b setarg  0x000015ef 
+ 00027085  0x0000446c istore  0x00000002 , 0x00000005 
+ 00027086  0x0000446d setarg  0x00001191 
+ 00027087  0x0000446e istore  0x00000002 , 0x00000005 
+ 00027088  0x00004471 fetch  0x00000001 , 0x00000abe 
+ 00027089  0x00004472 istore  0x00000001 , 0x00000005 
+ 00027090  0x00004473 setarg  0x00000007 
+ 00027091  0x00004474 istore  0x00000005 , 0x00000005 
+ 00027092  0x00004477 setarg  0x00000001 
+ 00027093  0x00004478 istore  0x00000002 , 0x00000005 
+ 00027094  0x0000447b call  0x000068f0 
+ 00027095  0x0000447c istore  0x00000001 , 0x00000005 
+ 00027096  0x0000447d rtn 
+ 00027097  0x00004482 branch  0x000069da 
+ 00027098  0x00004485 bpatchx  0x00000054 , 0x0000402a 
+ 00027099  0x00004486 fetch  0x00000001 , 0x000004f9 
+ 00027100  0x00004487 beq  0x00000073 , 0x000069e2 
+ 00027101  0x00004488 beq  0x0000003f , 0x000069e6 
+ 00027102  0x00004489 beq  0x000000ef , 0x00006a00 
+ 00027103  0x0000448a beq  0x000000ff , 0x000069f8 
+ 00027104  0x0000448b beq  0x00000053 , 0x00006a07 
+ 00027105  0x0000448c rtn 
+ 00027106  0x0000448e fetch  0x00000001 , 0x00004226 
+ 00027107  0x0000448f set1  0x00000003 , 0x0000003f 
+ 00027108  0x00004490 store  0x00000001 , 0x00004226 
+ 00027109  0x00004491 branch  0x00006a58 
+ 00027110  0x00004493 fetch  0x00000001 , 0x00004226 
+ 00027111  0x00004494 set1  0x00000003 , 0x0000003f 
+ 00027112  0x00004495 set1  0x00000002 , 0x0000003f 
+ 00027113  0x00004496 store  0x00000001 , 0x00004226 
+ 00027114  0x00004497 fetch  0x00000001 , 0x000004f7 
+ 00027115  0x00004498 call  0x000068e7 
+ 00027116  0x00004499 store  0x00000001 , 0x000004fa 
+ 00027117  0x0000449a call  0x00006a77 
+ 00027118  0x0000449b fetch  0x00000001 , 0x000004f7 
+ 00027119  0x0000449c rshift2  0x0000003f , 0x0000003f 
+ 00027120  0x0000449d store  0x00000001 , 0x0000452f 
+ 00027121  0x0000449e lshift2  0x0000003f , 0x0000003f 
+ 00027122  0x0000449f set0  0x00000001 , 0x0000003f 
+ 00027123  0x000044a0 set1  0x00000000 , 0x0000003f 
+ 00027124  0x000044a1 arg  0x00004537 , 0x00000002 
+ 00027125  0x000044a2 storet  0x00000002 , 0x000004f3 
+ 00027126  0x000044a3 call  0x000068f6 
+ 00027127  0x000044a4 branch  0x00006a58 
+ 00027128  0x000044a7 fetch  0x00000002 , 0x000004fd 
+ 00027129  0x000044a8 copy  0x0000003f , 0x00000006 
+ 00027130  0x000044a9 increase  0x00000001 , 0x0000003f 
+ 00027131  0x000044aa store  0x00000002 , 0x000004fd 
+ 00027132  0x000044ab ifetch  0x00000001 , 0x00000006 
+ 00027133  0x000044ac fetcht  0x00000001 , 0x0000453a 
+ 00027134  0x000044ad iadd  0x00000002 , 0x0000003f 
+ 00027135  0x000044ae store  0x00000001 , 0x0000453a 
+ 00027136  0x000044b0 call  0x00006b01 
+ 00027137  0x000044b2 call  0x00006933 
+ 00027138  0x000044b3 call  0x00006ae9 
+ 00027139  0x000044b4 call  0x00006b0a 
+ 00027140  0x000044b5 branch  0x00006a58 
+ 00027141  0x000044b8 jam  0x00000009 , 0x00000a95 
+ 00027142  0x000044b9 call  0x00007bab 
+ 00027143  0x000044bb call  0x000068ce 
+ 00027144  0x000044bc fetch  0x00000001 , 0x000004f7 
+ 00027145  0x000044bd call  0x000068e7 
+ 00027146  0x000044be store  0x00000001 , 0x000004fa 
+ 00027147  0x000044bf call  0x00006a77 
+ 00027148  0x000044c0 branch  0x00006a58 
+ 00027149  0x000044c6 fetch  0x00000002 , 0x00000260 
+ 00027150  0x000044c7 copy  0x0000003f , 0x00000006 
+ 00027151  0x000044c8 call  0x00006979 
+ 00027152  0x000044c9 fetch  0x00000001 , 0x000004f8 
+ 00027153  0x000044ca beq  0x00000000 , 0x00006a13 
+ 00027154  0x000044cb branch  0x00006a47 
+ 00027155  0x000044ce bpatchx  0x00000055 , 0x0000402a 
+ 00027156  0x000044cf fetch  0x00000001 , 0x000004f9 
+ 00027157  0x000044d0 beq  0x0000003f , 0x0000693e 
+ 00027158  0x000044d1 beq  0x00000073 , 0x00006947 
+ 00027159  0x000044d2 beq  0x000000ef , 0x00006a19 
+ 00027160  0x000044d3 branch  0x00006a58 
+ 00027161  0x000044d5 fetch  0x00000002 , 0x000004fd 
+ 00027162  0x000044d6 copy  0x0000003f , 0x00000006 
+ 00027163  0x000044d7 call  0x00006984 
+ 00027164  0x000044d8 fetch  0x00000001 , 0x000004ff 
+ 00027165  0x000044d9 beq  0x00000041 , 0x00006a22 
+ 00027166  0x000044da beq  0x00000040 , 0x00006a22 
+ 00027167  0x000044db beq  0x00000071 , 0x00006a2d 
+ 00027168  0x000044dc beq  0x00000070 , 0x00006a3d 
+ 00027169  0x000044dd branch  0x00006a58 
+ 00027170  0x000044e0 call  0x00006970 
+ 00027171  0x000044e1 fetch  0x00000001 , 0x0000452f 
+ 00027172  0x000044e2 rshift  0x0000003f , 0x0000003f 
+ 00027173  0x000044e3 fetcht  0x00000001 , 0x00004536 
+ 00027174  0x000044e4 isub  0x00000002 , 0x0000003e 
+ 00027175  0x000044e5 branch  0x00006a29 , 0x00000005 
+ 00027176  0x000044e6 branch  0x00004a8b 
+ 00027177  0x000044e8 fetch  0x00000001 , 0x00004226 
+ 00027178  0x000044e9 set1  0x00000001 , 0x0000003f 
+ 00027179  0x000044ea store  0x00000001 , 0x00004226 
+ 00027180  0x000044eb branch  0x00006a58 
+ 00027181  0x000044ee call  0x00006972 
+ 00027182  0x000044ef fetch  0x00000001 , 0x0000453c 
+ 00027183  0x000044f0 fetcht  0x00000001 , 0x00004536 
+ 00027184  0x000044f1 isub  0x00000002 , 0x0000003e 
+ 00027185  0x000044f2 branch  0x00006a34 , 0x00000005 
+ 00027186  0x000044f3 branch  0x00004a8b 
+ 00027187  0x000044f4 branch  0x00006a58 
+ 00027188  0x000044f6 fetch  0x00000001 , 0x00004226 
+ 00027189  0x000044f7 set1  0x00000005 , 0x0000003f 
+ 00027190  0x000044f8 set1  0x00000006 , 0x0000003f 
+ 00027191  0x000044f9 store  0x00000001 , 0x00004226 
+ 00027192  0x000044fa fetcht  0x00000001 , 0x0000452f 
+ 00027193  0x000044fb lshift2  0x00000002 , 0x00000002 
+ 00027194  0x000044fc or_into  0x00000003 , 0x00000002 
+ 00027195  0x000044fd call  0x00006ad2 
+ 00027196  0x000044fe branch  0x00006a58 
+ 00027197  0x00004501 call  0x00006972 
+ 00027198  0x00004502 fetch  0x00000001 , 0x0000453c 
+ 00027199  0x00004503 fetcht  0x00000001 , 0x00004536 
+ 00027200  0x00004504 isub  0x00000002 , 0x0000003e 
+ 00027201  0x00004505 branch  0x00006a43 , 0x00000005 
+ 00027202  0x00004506 branch  0x00004a8b 
+ 00027203  0x00004508 fetch  0x00000001 , 0x00004226 
+ 00027204  0x00004509 set1  0x00000007 , 0x0000003f 
+ 00027205  0x0000450a store  0x00000001 , 0x00004226 
+ 00027206  0x0000450b branch  0x00006a58 
+ 00027207  0x0000450e fetch  0x00000001 , 0x000004f8 
+ 00027208  0x0000450f fetcht  0x00000001 , 0x00004536 
+ 00027209  0x00004510 isub  0x00000002 , 0x0000003e 
+ 00027210  0x00004511 branch  0x00006a4d , 0x00000005 
+ 00027211  0x00004512 branch  0x00004a8b 
+ 00027212  0x00004513 branch  0x00006a58 
+ 00027213  0x00004516 fetch  0x00000001 , 0x000004f9 
+ 00027214  0x00004517 beq  0x00000073 , 0x00006a52 
+ 00027215  0x00004518 beq  0x000000ef , 0x00006a00 
+ 00027216  0x00004519 beq  0x000000ff , 0x000069f8 
+ 00027217  0x0000451a beq  0x00000053 , 0x00006a57 
+ 00027218  0x0000451c fetch  0x00000001 , 0x00004226 
+ 00027219  0x0000451d set1  0x00000003 , 0x0000003f 
+ 00027220  0x0000451e store  0x00000001 , 0x00004226 
+ 00027221  0x0000451f branch  0x00006a58 
+ 00027222  0x00004521 branch  0x00006a56 
+ 00027223  0x00004523 branch  0x00006a07 
+ 00027224  0x00004525 rtn 
+ 00027225  0x00004528 fetch  0x00000001 , 0x00004539 
+ 00027226  0x00004529 rtn  0x00000034 
+ 00027227  0x0000452a beq  0x00000003 , 0x00006a5d 
+ 00027228  0x0000452b branch  0x00004a8b 
+ 00027229  0x0000452e jam  0x00000000 , 0x00004539 
+ 00027230  0x0000452f call  0x000056ac 
+ 00027231  0x00004530 arg  0x00000001 , 0x00000002 
+ 00027232  0x00004531 fetcht  0x00000001 , 0x0000452f 
+ 00027233  0x00004532 lshift2  0x00000002 , 0x00000002 
+ 00027234  0x00004534 or_into  0x00000003 , 0x00000002 
+ 00027235  0x00004535 arg  0x000000aa , 0x00000011 
+ 00027236  0x00004536 call  0x00006abd 
+ 00027237  0x00004537 call  0x000056ba 
+ 00027238  0x00004538 copy  0x00000005 , 0x00000006 
+ 00027239  0x00004539 ifetch  0x00000002 , 0x00000006 
+ 00027240  0x0000453a branch  0x00004a8b , 0x00000034 
+ 00027241  0x0000453b rtn 
+ 00027242  0x0000453e call  0x000056ba 
+ 00027243  0x0000453f setarg  0x00000004 
+ 00027244  0x00004540 istore  0x00000002 , 0x00000005 
+ 00027245  0x00004541 fetch  0x00000002 , 0x0000421c 
+ 00027246  0x00004542 istore  0x00000002 , 0x00000005 
+ 00027247  0x00004543 fetch  0x00000001 , 0x000004f7 
+ 00027248  0x00004544 istore  0x00000001 , 0x00000005 
+ 00027249  0x00004545 bpatchx  0x00000056 , 0x0000402a 
+ 00027250  0x00004546 setarg  0x0000013f 
+ 00027251  0x00004547 istore  0x00000002 , 0x00000005 
+ 00027252  0x00004548 fetch  0x00000001 , 0x000004fa 
+ 00027253  0x00004549 istore  0x00000001 , 0x00000005 
+ 00027254  0x0000454a rtn 
+ 00027255  0x0000454c call  0x000056ac 
+ 00027256  0x0000454d call  0x000056ba 
+ 00027257  0x0000454e setarg  0x00000004 
+ 00027258  0x0000454f istore  0x00000002 , 0x00000005 
+ 00027259  0x00004550 fetch  0x00000002 , 0x0000421c 
+ 00027260  0x00004551 istore  0x00000002 , 0x00000005 
+ 00027261  0x00004552 fetch  0x00000001 , 0x000004f7 
+ 00027262  0x00004553 istore  0x00000001 , 0x00000005 
+ 00027263  0x00004554 bpatchx  0x00000057 , 0x0000402a 
+ 00027264  0x00004555 setarg  0x00000173 
+ 00027265  0x00004556 istore  0x00000002 , 0x00000005 
+ 00027266  0x00004557 fetch  0x00000001 , 0x000004fa 
+ 00027267  0x00004558 istore  0x00000001 , 0x00000005 
+ 00027268  0x00004559 rtn 
+ 00027269  0x0000455b call  0x000056ba 
+ 00027270  0x0000455c setarg  0x0000000e 
+ 00027271  0x0000455d istore  0x00000002 , 0x00000005 
+ 00027272  0x0000455e fetch  0x00000002 , 0x0000421c 
+ 00027273  0x0000455f istore  0x00000002 , 0x00000005 
+ 00027274  0x00004560 fetch  0x00000001 , 0x00004535 
+ 00027275  0x00004561 lshift  0x0000003f , 0x0000003f 
+ 00027276  0x00004562 set1  0x00000000 , 0x0000003f 
+ 00027277  0x00004563 istore  0x00000001 , 0x00000005 
+ 00027278  0x00004564 bpatchx  0x00000058 , 0x0000402b 
+ 00027279  0x00004565 setarg  0x000015ef 
+ 00027280  0x00004566 istore  0x00000002 , 0x00000005 
+ 00027281  0x00004567 setarg  0x00001183 
+ 00027282  0x00004568 istore  0x00000002 , 0x00000005 
+ 00027283  0x00004569 copy  0x00000002 , 0x0000003f 
+ 00027284  0x0000456a istore  0x00000001 , 0x00000005 
+ 00027285  0x0000456b setarg  0x000000f0 
+ 00027286  0x0000456c istore  0x00000003 , 0x00000005 
+ 00027287  0x0000456d setarg  0x0000007f 
+ 00027288  0x0000456e istore  0x00000002 , 0x00000005 
+ 00027289  0x0000456f setarg  0x00000000 
+ 00027290  0x00004570 istore  0x00000001 , 0x00000005 
+ 00027291  0x00004571 setarg  0x00000001 
+ 00027292  0x00004572 istore  0x00000001 , 0x00000005 
+ 00027293  0x00004573 call  0x000068f0 
+ 00027294  0x00004574 istore  0x00000001 , 0x00000005 
+ 00027295  0x00004575 jam  0x00000010 , 0x0000453b 
+ 00027296  0x00004576 rtn 
+ 00027297  0x00004578 call  0x000056ac 
+ 00027298  0x00004579 call  0x000056ba 
+ 00027299  0x0000457a setarg  0x0000000e 
+ 00027300  0x0000457b istore  0x00000002 , 0x00000005 
+ 00027301  0x0000457c fetch  0x00000002 , 0x0000421c 
+ 00027302  0x0000457d istore  0x00000002 , 0x00000005 
+ 00027303  0x0000457e fetch  0x00000001 , 0x00004535 
+ 00027304  0x0000457f lshift  0x0000003f , 0x0000003f 
+ 00027305  0x00004580 set1  0x00000000 , 0x0000003f 
+ 00027306  0x00004581 istore  0x00000001 , 0x00000005 
+ 00027307  0x00004582 bpatchx  0x00000059 , 0x0000402b 
+ 00027308  0x00004583 setarg  0x000015ef 
+ 00027309  0x00004584 istore  0x00000002 , 0x00000005 
+ 00027310  0x00004585 setarg  0x00001181 
+ 00027311  0x00004586 istore  0x00000002 , 0x00000005 
+ 00027312  0x00004587 fetch  0x00000001 , 0x0000452f 
+ 00027313  0x00004588 istore  0x00000001 , 0x00000005 
+ 00027314  0x00004589 setarg  0x000000e0 
+ 00027315  0x0000458a istore  0x00000003 , 0x00000005 
+ 00027316  0x0000458b fetch  0x00000002 , 0x0000453e 
+ 00027317  0x0000458c istore  0x00000002 , 0x00000005 
+ 00027318  0x0000458d setarg  0x00000000 
+ 00027319  0x0000458e istore  0x00000001 , 0x00000005 
+ 00027320  0x0000458f fetch  0x00000001 , 0x00004540 
+ 00027321  0x00004590 istore  0x00000001 , 0x00000005 
+ 00027322  0x00004591 call  0x000068f0 
+ 00027323  0x00004592 istore  0x00000001 , 0x00000005 
+ 00027324  0x00004593 rtn 
+ 00027325  0x00004595 call  0x000056ba 
+ 00027326  0x00004596 setarg  0x00000008 
+ 00027327  0x00004597 istore  0x00000002 , 0x00000005 
+ 00027328  0x00004598 fetch  0x00000002 , 0x0000421c 
+ 00027329  0x00004599 istore  0x00000002 , 0x00000005 
+ 00027330  0x0000459a fetch  0x00000001 , 0x00004535 
+ 00027331  0x0000459b lshift  0x0000003f , 0x0000003f 
+ 00027332  0x0000459c set1  0x00000000 , 0x0000003f 
+ 00027333  0x0000459d istore  0x00000001 , 0x00000005 
+ 00027334  0x0000459e bpatchx  0x0000005a , 0x0000402b 
+ 00027335  0x0000459f setarg  0x000009ef 
+ 00027336  0x000045a0 istore  0x00000002 , 0x00000005 
+ 00027337  0x000045a1 setarg  0x000005e3 
+ 00027338  0x000045a2 istore  0x00000002 , 0x00000005 
+ 00027339  0x000045a3 copy  0x00000002 , 0x0000003f 
+ 00027340  0x000045a4 istore  0x00000001 , 0x00000005 
+ 00027341  0x000045a5 setarg  0x0000008d 
+ 00027342  0x000045a6 istore  0x00000001 , 0x00000005 
+ 00027343  0x000045a7 call  0x000068f0 
+ 00027344  0x000045a8 istore  0x00000001 , 0x00000005 
+ 00027345  0x000045a9 rtn 
+ 00027346  0x000045ac call  0x000056ac 
+ 00027347  0x000045ad call  0x000056ba 
+ 00027348  0x000045ae setarg  0x00000008 
+ 00027349  0x000045af istore  0x00000002 , 0x00000005 
+ 00027350  0x000045b0 fetch  0x00000002 , 0x0000421c 
+ 00027351  0x000045b1 istore  0x00000002 , 0x00000005 
+ 00027352  0x000045b2 copy  0x00000002 , 0x0000000b 
+ 00027353  0x000045b3 fetch  0x00000001 , 0x00004535 
+ 00027354  0x000045b4 lshift  0x0000003f , 0x0000003f 
+ 00027355  0x000045b5 set1  0x00000000 , 0x0000003f 
+ 00027356  0x000045b6 istore  0x00000001 , 0x00000005 
+ 00027357  0x000045b7 bpatchx  0x0000005b , 0x0000402b 
+ 00027358  0x000045b8 setarg  0x000009ef 
+ 00027359  0x000045b9 istore  0x00000002 , 0x00000005 
+ 00027360  0x000045ba setarg  0x000005e1 
+ 00027361  0x000045bb istore  0x00000002 , 0x00000005 
+ 00027362  0x000045bc copy  0x0000000b , 0x0000003f 
+ 00027363  0x000045bd istore  0x00000001 , 0x00000005 
+ 00027364  0x000045be setarg  0x0000008d 
+ 00027365  0x000045bf istore  0x00000001 , 0x00000005 
+ 00027366  0x000045c0 call  0x000068f0 
+ 00027367  0x000045c1 istore  0x00000001 , 0x00000005 
+ 00027368  0x000045c2 rtn 
+ 00027369  0x000045c5 bpatchx  0x0000005c , 0x0000402b 
+ 00027370  0x000045c6 fetch  0x00000001 , 0x0000453b 
+ 00027371  0x000045c7 rtn  0x00000034 
+ 00027372  0x000045ca copy  0x00000011 , 0x0000003f 
+ 00027373  0x000045cb store  0x00000001 , 0x00000a97 
+ 00027374  0x000045cc storet  0x00000001 , 0x00000a96 
+ 00027375  0x000045cd call  0x00005648 
+ 00027376  0x000045ce nrtn  0x00000034 
+ 00027377  0x000045cf call  0x000056ac 
+ 00027378  0x000045d0 call  0x000056ba 
+ 00027379  0x000045d1 setarg  0x00000005 
+ 00027380  0x000045d2 istore  0x00000002 , 0x00000005 
+ 00027381  0x000045d3 fetch  0x00000002 , 0x0000421c 
+ 00027382  0x000045d4 istore  0x00000002 , 0x00000005 
+ 00027383  0x000045d5 fetch  0x00000001 , 0x00000509 
+ 00027384  0x000045d6 istore  0x00000001 , 0x00000005 
+ 00027385  0x000045d7 setarg  0x000001ff 
+ 00027386  0x000045d8 istore  0x00000002 , 0x00000005 
+ 00027387  0x000045d9 fetch  0x00000001 , 0x0000453b 
+ 00027388  0x000045da istore  0x00000001 , 0x00000005 
+ 00027389  0x000045db fetch  0x00000001 , 0x00004538 
+ 00027390  0x000045dc istore  0x00000001 , 0x00000005 
+ 00027391  0x000045dd jam  0x00000000 , 0x0000453b 
+ 00027392  0x000045de rtn 
+ 00027393  0x000045e1 bpatchx  0x0000005d , 0x0000402b 
+ 00027394  0x000045e2 fetch  0x00000001 , 0x0000453d 
+ 00027395  0x000045e3 rtneq  0x00000001 
+ 00027396  0x000045e4 fetch  0x00000002 , 0x000004fb 
+ 00027397  0x000045e5 rtn  0x00000034 
+ 00027398  0x000045e6 fetch  0x00000001 , 0x0000453b 
+ 00027399  0x000045e7 increase  0x00000001 , 0x0000003f 
+ 00027400  0x000045e8 store  0x00000001 , 0x0000453b 
+ 00027401  0x000045e9 rtn 
+ 00027402  0x000045ec fetch  0x00000002 , 0x00004541 
+ 00027403  0x000045ed branch  0x00007d77 
+ 00027404  0x000045f0 bpatchx  0x0000005e , 0x0000402b 
+ 00027405  0x000045f2 fetch  0x00000001 , 0x0000453a 
+ 00027406  0x000045f3 rtn  0x00000034 
+ 00027407  0x000045f4 increase  0xffffffff , 0x0000003f 
+ 00027408  0x000045f5 store  0x00000001 , 0x0000453a 
+ 00027409  0x000045f6 fetch  0x00000002 , 0x00004530 
+ 00027410  0x000045f7 fetcht  0x00000002 , 0x0000466a 
+ 00027411  0x000045f8 isub  0x00000002 , 0x0000003e 
+ 00027412  0x000045f9 branch  0x00006b16 , 0x00000002 
+ 00027413  0x000045fa store  0x00000002 , 0x0000466a 
+ 00027414  0x000045fc fetch  0x00000001 , 0x0000453b 
+ 00027415  0x000045fd branch  0x00006b1e , 0x00000034 
+ 00027416  0x000045fe jam  0x00000001 , 0x0000050c 
+ 00027417  0x000045ff fetch  0x00000001 , 0x00004538 
+ 00027418  0x00004600 store  0x00000001 , 0x0000050b 
+ 00027419  0x00004601 setarg  0x000000ff 
+ 00027420  0x00004602 store  0x00000001 , 0x0000050a 
+ 00027421  0x00004603 branch  0x00006b23 
+ 00027422  0x00004605 jam  0x00000000 , 0x0000050c 
+ 00027423  0x00004606 fetch  0x00000001 , 0x00004537 
+ 00027424  0x00004607 store  0x00000001 , 0x0000050b 
+ 00027425  0x00004608 setarg  0x000000ef 
+ 00027426  0x00004609 store  0x00000001 , 0x0000050a 
+ 00027427  0x0000460b bpatchx  0x0000005f , 0x0000402b 
+ 00027428  0x0000460c fetch  0x00000002 , 0x0000466a 
+ 00027429  0x0000460d sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027430  0x0000460e branch  0x00006b2a , 0x00000002 
+ 00027431  0x0000460f fetch  0x00000001 , 0x0000050c 
+ 00027432  0x00004610 increase  0x00000001 , 0x0000003f 
+ 00027433  0x00004611 store  0x00000001 , 0x0000050c 
+ 00027434  0x00004613 call  0x00006933 
+ 00027435  0x00004614 fetch  0x00000002 , 0x0000466a 
+ 00027436  0x00004615 increase  0x00000008 , 0x0000003f 
+ 00027437  0x00004616 fetcht  0x00000001 , 0x0000050c 
+ 00027438  0x00004617 iadd  0x00000002 , 0x00000011 
+ 00027439  0x00004619 call  0x0000561a 
+ 00027440  0x0000461a store  0x00000002 , 0x00000273 
+ 00027441  0x0000461b increase  0x00000004 , 0x0000003f 
+ 00027442  0x0000461c store  0x00000002 , 0x00000275 
+ 00027443  0x0000461d copy  0x0000003f , 0x00000005 
+ 00027444  0x0000461e fetch  0x00000001 , 0x00000509 
+ 00027445  0x0000461f istore  0x00000001 , 0x00000005 
+ 00027446  0x00004620 fetch  0x00000001 , 0x0000050a 
+ 00027447  0x00004621 istore  0x00000001 , 0x00000005 
+ 00027448  0x00004622 call  0x00006b54 
+ 00027449  0x00004623 call  0x00006b65 
+ 00027450  0x00004624 bpatchx  0x00000060 , 0x0000402c 
+ 00027451  0x00004625 fetch  0x00000002 , 0x00004543 
+ 00027452  0x00004626 copy  0x0000003f , 0x00000003 
+ 00027453  0x00004627 fetch  0x00000002 , 0x0000466a 
+ 00027454  0x00004628 copy  0x0000003f , 0x00000039 
+ 00027455  0x00004629 call  0x000067da 
+ 00027456  0x0000462a copy  0x00000005 , 0x00000002 
+ 00027457  0x0000462b copy  0x00000003 , 0x0000003f 
+ 00027458  0x0000462c store  0x00000002 , 0x00004543 
+ 00027459  0x0000462d copy  0x00000002 , 0x00000005 
+ 00027460  0x0000462e fetch  0x00000001 , 0x0000050b 
+ 00027461  0x0000462f istore  0x00000001 , 0x00000005 
+ 00027462  0x00004630 fetch  0x00000002 , 0x00000273 
+ 00027463  0x00004631 copy  0x0000003f , 0x00000005 
+ 00027464  0x00004632 fetch  0x00000002 , 0x0000466a 
+ 00027465  0x00004633 fetcht  0x00000001 , 0x0000050c 
+ 00027466  0x00004634 iadd  0x00000002 , 0x0000003f 
+ 00027467  0x00004635 increase  0x00000004 , 0x0000003f 
+ 00027468  0x00004636 istore  0x00000002 , 0x00000005 
+ 00027469  0x00004637 fetch  0x00000002 , 0x0000421c 
+ 00027470  0x00004638 istore  0x00000002 , 0x00000005 
+ 00027471  0x00004639 jam  0x00000000 , 0x0000453b 
+ 00027472  0x0000463a fetch  0x00000002 , 0x00004545 
+ 00027473  0x0000463b beq  0x00000000 , 0x00004ed4 
+ 00027474  0x0000463c jam  0x00000000 , 0x00000b01 
+ 00027475  0x0000463d rtn 
+ 00027476  0x00004640 bpatchx  0x00000061 , 0x0000402c 
+ 00027477  0x00004641 fetch  0x00000002 , 0x0000466a 
+ 00027478  0x00004642 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027479  0x00004643 nbranch  0x00006b5c , 0x00000002 
+ 00027480  0x00004644 lshift  0x0000003f , 0x0000003f 
+ 00027481  0x00004645 set1  0x00000000 , 0x0000003f 
+ 00027482  0x00004646 istore  0x00000001 , 0x00000005 
+ 00027483  0x00004647 rtn 
+ 00027484  0x00004649 fetch  0x00000002 , 0x0000466a 
+ 00027485  0x0000464a rshift3  0x0000003f , 0x0000003f 
+ 00027486  0x0000464b rshift4  0x0000003f , 0x00000002 
+ 00027487  0x0000464c and_into  0x0000007f , 0x0000003f 
+ 00027488  0x0000464d lshift  0x0000003f , 0x0000003f 
+ 00027489  0x0000464e set0  0x00000000 , 0x0000003f 
+ 00027490  0x0000464f istore  0x00000001 , 0x00000005 
+ 00027491  0x00004650 istoret  0x00000001 , 0x00000005 
+ 00027492  0x00004651 rtn 
+ 00027493  0x00004653 fetch  0x00000001 , 0x0000453b 
+ 00027494  0x00004654 rtn  0x00000034 
+ 00027495  0x00004655 istore  0x00000001 , 0x00000005 
+ 00027496  0x00004656 rtn 
+ 00027497  0x0000465c bpatchx  0x00000062 , 0x0000402c 
+ 00027498  0x0000465d call  0x00007bc1 
+ 00027499  0x0000465e call  0x00004c8f 
+ 00027500  0x0000465f call  0x000066fd 
+ 00027501  0x00004661 bpatchx  0x00000063 , 0x0000402c 
+ 00027502  0x00004662 call  0x00007591 
+ 00027503  0x00004663 call  0x0000756a 
+ 00027504  0x00004664 call  0x0000757b 
+ 00027505  0x00004667 call  0x00005648 
+ 00027506  0x00004668 nrtn  0x00000034 
+ 00027507  0x0000466a call  0x00005183 
+ 00027508  0x0000466b call  0x00005648 
+ 00027509  0x0000466c nrtn  0x00000034 
+ 00027510  0x0000466d bpatchx  0x00000064 , 0x0000402c 
+ 00027511  0x0000466f call  0x00006bb4 
+ 00027512  0x00004670 call  0x0000533e 
+ 00027513  0x00004671 call  0x00006a59 
+ 00027514  0x00004673 call  0x00006b7d 
+ 00027515  0x00004674 bpatchx  0x00000065 , 0x0000402c 
+ 00027516  0x00004677 branch  0x00004c8b 
+ 00027517  0x0000467a fetch  0x00000001 , 0x0000027b 
+ 00027518  0x0000467b bbit1  0x00000000 , 0x00005461 
+ 00027519  0x0000467c bbit1  0x00000007 , 0x0000546b 
+ 00027520  0x0000467d rtn 
+ 00027521  0x00004680 bpatchx  0x00000066 , 0x0000402c 
+ 00027522  0x00004681 call  0x0000564e 
+ 00027523  0x00004682 rtn  0x00000034 
+ 00027524  0x00004683 fetch  0x00000001 , 0x0000004b 
+ 00027525  0x00004684 rtnbit1  0x00000006 
+ 00027526  0x00004685 call  0x00005632 
+ 00027527  0x00004686 store  0x00000002 , 0x0000016d 
+ 00027528  0x00004687 copy  0x0000003f , 0x00000006 
+ 00027529  0x00004688 ifetch  0x00000002 , 0x00000006 
+ 00027530  0x00004689 increase  0x00000004 , 0x0000003f 
+ 00027531  0x0000468a store  0x00000002 , 0x000041dd 
+ 00027532  0x0000468b jam  0x00000006 , 0x000041dc 
+ 00027533  0x0000468c bpatchx  0x00000067 , 0x0000402c 
+ 00027534  0x0000468d fetch  0x00000002 , 0x00004218 
+ 00027535  0x0000468e branch  0x00006b9c , 0x00000034 
+ 00027536  0x0000468f fetch  0x00000001 , 0x0000004b 
+ 00027537  0x00004690 rtnbit0  0x00000007 
+ 00027538  0x00004691 set0  0x00000007 , 0x0000003f 
+ 00027539  0x00004692 store  0x00000001 , 0x0000004b 
+ 00027540  0x00004693 jam  0x00000005 , 0x000041dc 
+ 00027541  0x00004694 fetcht  0x00000002 , 0x00004218 
+ 00027542  0x00004695 fetch  0x00000002 , 0x0000016d 
+ 00027543  0x00004696 iadd  0x00000002 , 0x0000003f 
+ 00027544  0x00004697 store  0x00000002 , 0x0000016d 
+ 00027545  0x00004698 fetch  0x00000002 , 0x000041dd 
+ 00027546  0x00004699 isub  0x00000002 , 0x0000003f 
+ 00027547  0x0000469a store  0x00000002 , 0x000041dd 
+ 00027548  0x0000469c bpatchx  0x00000068 , 0x0000402d 
+ 00027549  0x0000469d fetch  0x00000002 , 0x000041dd 
+ 00027550  0x0000469e branch  0x00004a8b , 0x00000034 
+ 00027551  0x0000469f arg  0x00000104 , 0x00000002 
+ 00027552  0x000046a0 isub  0x00000002 , 0x0000003f 
+ 00027553  0x000046a1 nbranch  0x00006ba8 , 0x00000002 
+ 00027554  0x000046a2 bpatchx  0x00000069 , 0x0000402d 
+ 00027555  0x000046a3 storet  0x00000002 , 0x000041dd 
+ 00027556  0x000046a4 fetch  0x00000002 , 0x00004218 
+ 00027557  0x000046a5 iadd  0x00000002 , 0x0000003f 
+ 00027558  0x000046a6 store  0x00000002 , 0x00004218 
+ 00027559  0x000046a7 branch  0x00006baa 
+ 00027560  0x000046a9 setarg  0x00000000 
+ 00027561  0x000046aa store  0x00000002 , 0x00004218 
+ 00027562  0x000046ac fetch  0x00000001 , 0x0000004b 
+ 00027563  0x000046ad set1  0x00000006 , 0x0000003f 
+ 00027564  0x000046ae store  0x00000001 , 0x0000004b 
+ 00027565  0x000046af rtn 
+ 00027566  0x000046b2 fetch  0x00000001 , 0x00004654 
+ 00027567  0x000046b3 bbit1  0x00000000 , 0x00006bb2 
+ 00027568  0x000046b4 jam  0x00000001 , 0x00000283 
+ 00027569  0x000046b5 rtn 
+ 00027570  0x000046b7 jam  0x0000000f , 0x00000283 
+ 00027571  0x000046b8 rtn 
+ 00027572  0x000046bb fetch  0x00000001 , 0x00004651 
+ 00027573  0x000046bc nbranch  0x00006bba , 0x00000034 
+ 00027574  0x000046be fetch  0x00000001 , 0x00000282 
+ 00027575  0x000046c0 rtn  0x00000034 
+ 00027576  0x000046c2 jam  0x00000000 , 0x00000282 
+ 00027577  0x000046c4 rtn 
+ 00027578  0x000046c8 bpatchx  0x0000006a , 0x0000402d 
+ 00027579  0x000046c9 fetch  0x00000001 , 0x00000283 
+ 00027580  0x000046ca rtn  0x00000034 
+ 00027581  0x000046cb beq  0x00000001 , 0x00006bda 
+ 00027582  0x000046cc beq  0x00000002 , 0x00006c33 
+ 00027583  0x000046cd beq  0x00000003 , 0x00006be0 
+ 00027584  0x000046ce beq  0x00000004 , 0x00006c37 
+ 00027585  0x000046cf beq  0x0000003b , 0x00006bea 
+ 00027586  0x000046d0 beq  0x0000003c , 0x00006c3a 
+ 00027587  0x000046d1 beq  0x0000000d , 0x00006bef 
+ 00027588  0x000046d2 beq  0x0000000e , 0x00006c3f 
+ 00027589  0x000046d3 beq  0x0000000f , 0x00006bf2 
+ 00027590  0x000046d4 beq  0x00000010 , 0x00006c45 
+ 00027591  0x000046d5 beq  0x00000011 , 0x00006bf8 
+ 00027592  0x000046d6 beq  0x00000012 , 0x00006c49 
+ 00027593  0x000046d7 beq  0x00000013 , 0x00006bfe 
+ 00027594  0x000046d8 beq  0x00000014 , 0x00006c4d 
+ 00027595  0x000046d9 beq  0x00000015 , 0x00006c04 
+ 00027596  0x000046da beq  0x00000016 , 0x00006c51 
+ 00027597  0x000046db beq  0x00000017 , 0x00006c0a 
+ 00027598  0x000046dc beq  0x00000018 , 0x00006c56 
+ 00027599  0x000046dd beq  0x00000019 , 0x00006c10 
+ 00027600  0x000046de beq  0x0000001a , 0x00006c5a 
+ 00027601  0x000046df beq  0x0000001b , 0x00006c16 
+ 00027602  0x000046e0 beq  0x0000001c , 0x00006c5e 
+ 00027603  0x000046e1 beq  0x0000001d , 0x00006c1c 
+ 00027604  0x000046e2 beq  0x0000001e , 0x00006c63 
+ 00027605  0x000046e3 beq  0x0000001f , 0x00006c22 
+ 00027606  0x000046e4 beq  0x00000020 , 0x00006c67 
+ 00027607  0x000046e5 beq  0x00000021 , 0x00006c2d 
+ 00027608  0x000046e6 beq  0x00000022 , 0x00006c6b 
+ 00027609  0x000046e8 rtn 
+ 00027610  0x000046ea call  0x00006c76 
+ 00027611  0x000046eb jam  0x00000002 , 0x00000283 
+ 00027612  0x000046ec fetch  0x00000001 , 0x00004222 
+ 00027613  0x000046ed set1  0x00000000 , 0x0000003f 
+ 00027614  0x000046ee store  0x00000001 , 0x00004222 
+ 00027615  0x000046ef rtn 
+ 00027616  0x000046f1 jam  0x00000004 , 0x00000283 
+ 00027617  0x000046f2 fetch  0x00000001 , 0x00004222 
+ 00027618  0x000046f3 rtnbit1  0x00000002 
+ 00027619  0x000046f4 jam  0x00000003 , 0x00000283 
+ 00027620  0x000046f5 call  0x00006c7d 
+ 00027621  0x000046f6 jam  0x00000004 , 0x00000283 
+ 00027622  0x000046f7 fetch  0x00000001 , 0x00004222 
+ 00027623  0x000046f8 set1  0x00000002 , 0x0000003f 
+ 00027624  0x000046f9 store  0x00000001 , 0x00004222 
+ 00027625  0x000046fa rtn 
+ 00027626  0x000046fc call  0x0000564e 
+ 00027627  0x000046fd nrtn  0x00000034 
+ 00027628  0x000046fe call  0x00006c8c 
+ 00027629  0x000046ff jam  0x0000003c , 0x00000283 
+ 00027630  0x00004700 rtn 
+ 00027631  0x00004702 call  0x00006c82 
+ 00027632  0x00004703 jam  0x0000000e , 0x00000283 
+ 00027633  0x00004704 rtn 
+ 00027634  0x00004706 call  0x00006c9c 
+ 00027635  0x00004707 jam  0x00000010 , 0x00000283 
+ 00027636  0x00004708 fetch  0x00000001 , 0x00004224 
+ 00027637  0x00004709 set1  0x00000000 , 0x0000003f 
+ 00027638  0x0000470a store  0x00000001 , 0x00004224 
+ 00027639  0x0000470b rtn 
+ 00027640  0x0000470d call  0x00006ca3 
+ 00027641  0x0000470e jam  0x00000012 , 0x00000283 
+ 00027642  0x0000470f fetch  0x00000001 , 0x00004224 
+ 00027643  0x00004710 set1  0x00000002 , 0x0000003f 
+ 00027644  0x00004711 store  0x00000001 , 0x00004224 
+ 00027645  0x00004712 rtn 
+ 00027646  0x00004714 call  0x00006ca8 
+ 00027647  0x00004715 jam  0x00000014 , 0x00000283 
+ 00027648  0x00004716 fetch  0x00000001 , 0x00004225 
+ 00027649  0x00004717 set1  0x00000000 , 0x0000003f 
+ 00027650  0x00004718 store  0x00000001 , 0x00004225 
+ 00027651  0x00004719 rtn 
+ 00027652  0x0000471b call  0x00006caf 
+ 00027653  0x0000471c jam  0x00000016 , 0x00000283 
+ 00027654  0x0000471d fetch  0x00000001 , 0x00004225 
+ 00027655  0x0000471e set1  0x00000002 , 0x0000003f 
+ 00027656  0x0000471f store  0x00000001 , 0x00004225 
+ 00027657  0x00004720 rtn 
+ 00027658  0x00004722 call  0x00006c90 
+ 00027659  0x00004723 jam  0x00000018 , 0x00000283 
+ 00027660  0x00004724 fetch  0x00000001 , 0x00004223 
+ 00027661  0x00004725 set1  0x00000000 , 0x0000003f 
+ 00027662  0x00004726 store  0x00000001 , 0x00004223 
+ 00027663  0x00004727 rtn 
+ 00027664  0x00004729 call  0x00006c97 
+ 00027665  0x0000472a jam  0x0000001a , 0x00000283 
+ 00027666  0x0000472b fetch  0x00000001 , 0x00004223 
+ 00027667  0x0000472c set1  0x00000002 , 0x0000003f 
+ 00027668  0x0000472d store  0x00000001 , 0x00004223 
+ 00027669  0x0000472e rtn 
+ 00027670  0x00004730 call  0x00006cb4 
+ 00027671  0x00004731 jam  0x0000001c , 0x00000283 
+ 00027672  0x00004732 fetch  0x00000001 , 0x00004223 
+ 00027673  0x00004733 set1  0x00000006 , 0x0000003f 
+ 00027674  0x00004734 store  0x00000001 , 0x00004223 
+ 00027675  0x00004735 rtn 
+ 00027676  0x00004737 call  0x00006cbb 
+ 00027677  0x00004738 fetch  0x00000001 , 0x00004226 
+ 00027678  0x00004739 set1  0x00000000 
+ 00027679  0x0000473a store  0x00000001 , 0x00004226 
+ 00027680  0x0000473b jam  0x0000001e , 0x00000283 
+ 00027681  0x0000473c rtn 
+ 00027682  0x0000473e call  0x00006cc1 
+ 00027683  0x0000473f fetch  0x00000001 , 0x00004226 
+ 00027684  0x00004740 set1  0x00000002 
+ 00027685  0x00004741 store  0x00000001 , 0x00004226 
+ 00027686  0x00004742 jam  0x00000020 , 0x00000283 
+ 00027687  0x00004743 fetch  0x00000001 , 0x00004536 
+ 00027688  0x00004744 lshift3  0x0000003f , 0x0000003f 
+ 00027689  0x00004745 or_into  0x00000003 , 0x0000003f 
+ 00027690  0x00004746 arg  0x00004537 , 0x00000002 
+ 00027691  0x00004747 storet  0x00000002 , 0x000004f3 
+ 00027692  0x00004748 branch  0x000068f6 
+ 00027693  0x0000474a call  0x00006ccb 
+ 00027694  0x0000474b fetch  0x00000001 , 0x00004226 
+ 00027695  0x0000474c set1  0x00000004 
+ 00027696  0x0000474d store  0x00000001 , 0x00004226 
+ 00027697  0x0000474e jam  0x00000022 , 0x00000283 
+ 00027698  0x0000474f rtn 
+ 00027699  0x00004752 fetch  0x00000001 , 0x00004222 
+ 00027700  0x00004753 rtnbit0  0x00000001 
+ 00027701  0x00004754 jam  0x00000003 , 0x00000283 
+ 00027702  0x00004755 branch  0x00006bba 
+ 00027703  0x00004757 fetch  0x00000001 , 0x00004222 
+ 00027704  0x00004758 rtnne  0x0000003f 
+ 00027705  0x00004759 jam  0x0000003b , 0x00000283 
+ 00027706  0x0000475b fetch  0x00000001 , 0x00000281 
+ 00027707  0x0000475c rtnne  0x00000017 
+ 00027708  0x0000475d jam  0x00000000 , 0x00000281 
+ 00027709  0x0000475e jam  0x0000000d , 0x00000283 
+ 00027710  0x0000475f branch  0x00006bba 
+ 00027711  0x00004761 fetch  0x00000001 , 0x00004222 
+ 00027712  0x00004762 nrtn  0x00000034 
+ 00027713  0x00004763 fetch  0x00000001 , 0x00004654 
+ 00027714  0x00004764 bbit1  0x00000000 , 0x00006c6e 
+ 00027715  0x00004765 bbit1  0x00000006 , 0x00006c70 
+ 00027716  0x00004766 branch  0x00006c74 
+ 00027717  0x00004768 fetch  0x00000001 , 0x00004224 
+ 00027718  0x00004769 rtnbit0  0x00000001 
+ 00027719  0x0000476a jam  0x00000011 , 0x00000283 
+ 00027720  0x0000476b branch  0x00006bba 
+ 00027721  0x0000476d fetch  0x00000001 , 0x00004224 
+ 00027722  0x0000476e rtnne  0x0000003f 
+ 00027723  0x0000476f jam  0x00000013 , 0x00000283 
+ 00027724  0x00004770 branch  0x00006bba 
+ 00027725  0x00004772 fetch  0x00000001 , 0x00004225 
+ 00027726  0x00004773 rtnbit0  0x00000001 
+ 00027727  0x00004774 jam  0x00000015 , 0x00000283 
+ 00027728  0x00004775 branch  0x00006bba 
+ 00027729  0x00004777 fetch  0x00000001 , 0x00004225 
+ 00027730  0x00004778 rtnne  0x0000003f 
+ 00027731  0x00004779 fetch  0x00000001 , 0x00004654 
+ 00027732  0x0000477a bbit1  0x00000006 , 0x00006c70 
+ 00027733  0x0000477b branch  0x00006c74 
+ 00027734  0x0000477d fetch  0x00000001 , 0x00004223 
+ 00027735  0x0000477e rtnbit0  0x00000001 
+ 00027736  0x0000477f jam  0x00000019 , 0x00000283 
+ 00027737  0x00004780 branch  0x00006bba 
+ 00027738  0x00004782 fetch  0x00000001 , 0x00004223 
+ 00027739  0x00004783 rtnne  0x0000003f 
+ 00027740  0x00004784 jam  0x0000001b , 0x00000283 
+ 00027741  0x00004785 branch  0x00006bba 
+ 00027742  0x00004787 fetch  0x00000001 , 0x00004223 
+ 00027743  0x00004788 rtnne  0x000000ff 
+ 00027744  0x00004789 fetch  0x00000001 , 0x00004654 
+ 00027745  0x0000478a bbit1  0x00000006 , 0x00006c72 
+ 00027746  0x0000478b branch  0x00006c74 
+ 00027747  0x0000478d fetch  0x00000001 , 0x00004226 
+ 00027748  0x0000478e rtnbit0  0x00000001 
+ 00027749  0x0000478f jam  0x0000001f , 0x00000283 
+ 00027750  0x00004790 branch  0x00006bba 
+ 00027751  0x00004792 fetch  0x00000001 , 0x00004226 
+ 00027752  0x00004793 rtnbit0  0x00000003 
+ 00027753  0x00004794 jam  0x00000021 , 0x00000283 
+ 00027754  0x00004795 branch  0x00006bba 
+ 00027755  0x00004797 fetch  0x00000001 , 0x00004226 
+ 00027756  0x00004798 rtnne  0x000000ff 
+ 00027757  0x00004799 branch  0x00006c74 
+ 00027758  0x0000479c jam  0x0000000f , 0x00000283 
+ 00027759  0x0000479d branch  0x00006bba 
+ 00027760  0x000047a0 jam  0x00000017 , 0x00000283 
+ 00027761  0x000047a1 branch  0x00006bba 
+ 00027762  0x000047a3 jam  0x0000001d , 0x00000283 
+ 00027763  0x000047a4 branch  0x00006bba 
+ 00027764  0x000047a9 jam  0x00000000 , 0x00000283 
+ 00027765  0x000047aa rtn 
+ 00027766  0x000047ac bpatchx  0x0000006b , 0x0000402d 
+ 00027767  0x000047ad call  0x00005692 
+ 00027768  0x000047ae setarg  0x00000001 
+ 00027769  0x000047af copy  0x0000003f , 0x00000002 
+ 00027770  0x000047b0 setarg  0x00000050 
+ 00027771  0x000047b1 copy  0x0000003f , 0x0000000b 
+ 00027772  0x000047b2 branch  0x00005482 
+ 00027773  0x000047b5 bpatchx  0x0000006c , 0x0000402d 
+ 00027774  0x000047b6 call  0x00005692 
+ 00027775  0x000047b7 fetch  0x00000002 , 0x0000421a 
+ 00027776  0x000047b8 copy  0x0000003f , 0x00000002 
+ 00027777  0x000047b9 branch  0x00005491 
+ 00027778  0x000047bc bpatchx  0x0000006d , 0x0000402d 
+ 00027779  0x000047bd call  0x00005692 
+ 00027780  0x000047be fetch  0x00000002 , 0x0000421a 
+ 00027781  0x000047bf copy  0x0000003f , 0x00000002 
+ 00027782  0x000047c0 arg  0x00000050 , 0x0000000b 
+ 00027783  0x000047c1 call  0x000054a6 
+ 00027784  0x000047c2 fetch  0x00000001 , 0x00004222 
+ 00027785  0x000047c3 set0  0x00000005 , 0x0000003f 
+ 00027786  0x000047c4 store  0x00000001 , 0x00004222 
+ 00027787  0x000047c5 rtn 
+ 00027788  0x000047c8 bpatchx  0x0000006e , 0x0000402d 
+ 00027789  0x000047c9 call  0x0000569f 
+ 00027790  0x000047ca call  0x00006ff7 
+ 00027791  0x000047cb branch  0x000054c1 
+ 00027792  0x000047ce bpatchx  0x0000006f , 0x0000402d 
+ 00027793  0x000047cf call  0x00005692 
+ 00027794  0x000047d0 setarg  0x00000003 
+ 00027795  0x000047d1 copy  0x0000003f , 0x00000002 
+ 00027796  0x000047d2 setarg  0x00000051 
+ 00027797  0x000047d3 copy  0x0000003f , 0x0000000b 
+ 00027798  0x000047d4 branch  0x00005482 
+ 00027799  0x000047d7 bpatchx  0x00000070 , 0x0000402e 
+ 00027800  0x000047d8 call  0x00005692 
+ 00027801  0x000047d9 fetch  0x00000002 , 0x0000421c 
+ 00027802  0x000047da copy  0x0000003f , 0x00000002 
+ 00027803  0x000047db branch  0x00005491 
+ 00027804  0x000047de bpatchx  0x00000071 , 0x0000402e 
+ 00027805  0x000047df call  0x00005692 
+ 00027806  0x000047e0 setarg  0x00000011 
+ 00027807  0x000047e1 copy  0x0000003f , 0x00000002 
+ 00027808  0x000047e2 setarg  0x00000052 
+ 00027809  0x000047e3 copy  0x0000003f , 0x0000000b 
+ 00027810  0x000047e4 branch  0x00005482 
+ 00027811  0x000047e7 bpatchx  0x00000072 , 0x0000402e 
+ 00027812  0x000047e8 call  0x00005692 
+ 00027813  0x000047e9 fetch  0x00000002 , 0x0000421e 
+ 00027814  0x000047ea copy  0x0000003f , 0x00000002 
+ 00027815  0x000047eb branch  0x00005491 
+ 00027816  0x000047ee bpatchx  0x00000073 , 0x0000402e 
+ 00027817  0x000047ef call  0x00005692 
+ 00027818  0x000047f0 setarg  0x00000013 
+ 00027819  0x000047f1 copy  0x0000003f , 0x00000002 
+ 00027820  0x000047f2 setarg  0x00000053 
+ 00027821  0x000047f3 copy  0x0000003f , 0x0000000b 
+ 00027822  0x000047f4 branch  0x00005482 
+ 00027823  0x000047f7 bpatchx  0x00000074 , 0x0000402e 
+ 00027824  0x000047f8 call  0x00005692 
+ 00027825  0x000047f9 fetch  0x00000002 , 0x00004220 
+ 00027826  0x000047fa copy  0x0000003f , 0x00000002 
+ 00027827  0x000047fb branch  0x00005491 
+ 00027828  0x000047fe bpatchx  0x00000075 , 0x0000402e 
+ 00027829  0x000047ff call  0x000056ac 
+ 00027830  0x00004801 jam  0x00000003 , 0x000004f7 
+ 00027831  0x00004802 jam  0x0000001c , 0x000004fa 
+ 00027832  0x00004803 call  0x00006a6a 
+ 00027833  0x00004804 jam  0x00000001 , 0x00004535 
+ 00027834  0x00004805 rtn 
+ 00027835  0x00004808 bpatchx  0x00000076 , 0x0000402e 
+ 00027836  0x00004809 call  0x000056ac 
+ 00027837  0x0000480a fetcht  0x00000001 , 0x00004536 
+ 00027838  0x0000480b call  0x0000693a 
+ 00027839  0x0000480c storet  0x00000001 , 0x0000452f 
+ 00027840  0x0000480d branch  0x00006a85 
+ 00027841  0x00004810 bpatchx  0x00000077 , 0x0000402e 
+ 00027842  0x00004811 call  0x000056ac 
+ 00027843  0x00004812 fetcht  0x00000001 , 0x0000452f 
+ 00027844  0x00004813 call  0x00006934 
+ 00027845  0x00004814 call  0x000068db 
+ 00027846  0x00004815 store  0x00000001 , 0x000004fa 
+ 00027847  0x00004816 fetcht  0x00000001 , 0x0000452f 
+ 00027848  0x00004817 call  0x00006934 
+ 00027849  0x00004818 storet  0x00000001 , 0x000004f7 
+ 00027850  0x00004819 branch  0x00006a6a 
+ 00027851  0x0000481c bpatchx  0x00000078 , 0x0000402f 
+ 00027852  0x0000481d call  0x000056ac 
+ 00027853  0x0000481e fetcht  0x00000001 , 0x0000452f 
+ 00027854  0x0000481f call  0x00006934 
+ 00027855  0x00004820 branch  0x00006abd 
+ 00027856  0x0000482e bpatchx  0x00000079 , 0x0000402f 
+ 00027857  0x0000482f fetch  0x00000002 , 0x00000260 
+ 00027858  0x00004830 iforce  0x00000006 
+ 00027859  0x00004833 ifetch  0x00000001 , 0x00000006 
+ 00027860  0x00004834 copy  0x0000003f , 0x00000012 
+ 00027861  0x00004835 store  0x00000001 , 0x00000517 
+ 00027862  0x00004836 ifetch  0x00000002 , 0x00000006 
+ 00027863  0x00004837 store  0x00000002 , 0x00000518 
+ 00027864  0x00004838 ifetch  0x00000001 , 0x00000006 
+ 00027865  0x00004839 lshift8  0x0000003f , 0x0000000b 
+ 00027866  0x0000483a ifetch  0x00000001 , 0x00000006 
+ 00027867  0x0000483b iadd  0x0000000b , 0x0000000b 
+ 00027868  0x0000483c bpatchx  0x0000007a , 0x0000402f 
+ 00027869  0x0000483d copy  0x00000006 , 0x00000002 
+ 00027870  0x0000483e arg  0x00000004 , 0x00000039 
+ 00027871  0x0000483f arg  0x00000526 , 0x00000005 
+ 00027872  0x00004840 call  0x00007ca1 
+ 00027873  0x00004841 copy  0x00000002 , 0x00000006 
+ 00027874  0x00004842 deposit  0x00000012 
+ 00027875  0x00004843 beq  0x00000001 , 0x00006e79 
+ 00027876  0x00004844 beq  0x00000002 , 0x00006ceb 
+ 00027877  0x00004845 beq  0x00000003 , 0x00006e79 
+ 00027878  0x00004846 beq  0x00000004 , 0x00006d13 
+ 00027879  0x00004847 beq  0x00000005 , 0x00006e79 
+ 00027880  0x00004848 beq  0x00000006 , 0x00006dc1 
+ 00027881  0x00004849 beq  0x00000007 , 0x00006e79 
+ 00027882  0x0000484a branch  0x00006e80 
+ 00027883  0x00004856 bpatchx  0x0000007b , 0x0000402f 
+ 00027884  0x00004857 call  0x00006e8f 
+ 00027885  0x00004858 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00027886  0x00004859 branch  0x00006eff , 0x00000001 
+ 00027887  0x0000485a compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00027888  0x0000485b branch  0x00006e83 , 0x00000001 
+ 00027889  0x0000485d ifetch  0x00000002 , 0x00000006 
+ 00027890  0x0000485e store  0x00000002 , 0x0000051e 
+ 00027891  0x0000485f increase  0xfffffffe , 0x0000000b 
+ 00027892  0x00004861 increase  0xffffffff , 0x0000000b 
+ 00027893  0x00004862 nbranch  0x00006e7d , 0x00000005 
+ 00027894  0x00004863 arg  0x0000050d , 0x0000000b 
+ 00027895  0x00004864 ifetch  0x00000002 , 0x0000000b 
+ 00027896  0x00004865 rtn  0x00000034 
+ 00027897  0x00004866 call  0x00006f41 
+ 00027898  0x00004867 call  0x000056aa 
+ 00027899  0x00004868 force  0x00000003 , 0x0000003f 
+ 00027900  0x00004869 istore  0x00000001 , 0x00000005 
+ 00027901  0x0000486a fetch  0x00000002 , 0x00000518 
+ 00027902  0x0000486b istore  0x00000002 , 0x00000005 
+ 00027903  0x0000486c lshift2  0x00000007 , 0x0000003f 
+ 00027904  0x0000486d add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00027905  0x0000486e add  0x0000003f , 0x00000005 , 0x00000013 
+ 00027906  0x0000486f byteswap  0x0000003f , 0x0000003f 
+ 00027907  0x00004870 istore  0x00000002 , 0x00000005 
+ 00027908  0x00004871 deposit  0x00000007 
+ 00027909  0x00004872 byteswap  0x0000003f , 0x0000003f 
+ 00027910  0x00004873 istore  0x00000002 , 0x00000005 
+ 00027911  0x00004874 istore  0x00000002 , 0x00000005 
+ 00027912  0x00004875 arg  0x00000526 , 0x00000006 
+ 00027913  0x00004876 copy  0x00000007 , 0x00000039 
+ 00027914  0x00004877 branch  0x00006d0e , 0x00000005 
+ 00027915  0x00004879 ifetch  0x00000004 , 0x00000006 
+ 00027916  0x0000487a istore  0x00000004 , 0x00000005 
+ 00027917  0x0000487b loop  0x00006d0b 
+ 00027918  0x0000487d force  0x00000000 , 0x0000003f 
+ 00027919  0x0000487e istore  0x00000001 , 0x00000005 
+ 00027920  0x0000487f deposit  0x00000013 
+ 00027921  0x00004880 store  0x00000002 , 0x00000271 
+ 00027922  0x00004882 rtn 
+ 00027923  0x0000488e bpatchx  0x0000007c , 0x0000402f 
+ 00027924  0x0000488f ifetch  0x00000004 , 0x00000006 
+ 00027925  0x00004890 store  0x00000004 , 0x00000520 
+ 00027926  0x00004891 increase  0xfffffffc , 0x0000000b 
+ 00027927  0x00004892 call  0x00006ded 
+ 00027928  0x00004893 store  0x00000002 , 0x0000051c 
+ 00027929  0x00004894 increase  0xfffffffe , 0x0000000b 
+ 00027930  0x00004895 call  0x00006ee7 
+ 00027931  0x00004896 branch  0x00006e83 , 0x00000005 
+ 00027932  0x00004897 compare  0x00000005 , 0x00000011 , 0x000000ff 
+ 00027933  0x00004899 branch  0x00006d21 , 0x00000001 
+ 00027934  0x0000489b arg  0x00000526 , 0x00000005 
+ 00027935  0x0000489c force  0x00000000 , 0x00000007 
+ 00027936  0x0000489d branch  0x00006d30 
+ 00027937  0x0000489f ifetch  0x00000001 , 0x00000006 
+ 00027938  0x000048a0 bne  0x0000000a , 0x00006e83 
+ 00027939  0x000048a1 ifetch  0x00000002 , 0x00000006 
+ 00027940  0x000048a2 nbranch  0x00006d2e , 0x00000034 
+ 00027941  0x000048a3 ifetch  0x00000001 , 0x00000006 
+ 00027942  0x000048a4 bne  0x000000ff , 0x00006d2c 
+ 00027943  0x000048a5 ifetch  0x00000001 , 0x00000006 
+ 00027944  0x000048a6 bne  0x000000ff , 0x00006d2a 
+ 00027945  0x000048a7 branch  0x00006d77 
+ 00027946  0x000048a9 increase  0xfffffffb , 0x00000006 
+ 00027947  0x000048aa branch  0x00006d1e 
+ 00027948  0x000048ac increase  0xfffffffc , 0x00000006 
+ 00027949  0x000048ad branch  0x00006d1e 
+ 00027950  0x000048af increase  0xfffffffd , 0x00000006 
+ 00027951  0x000048b0 branch  0x00006d1e 
+ 00027952  0x000048b2 ifetch  0x00000001 , 0x00000006 
+ 00027953  0x000048b3 beq  0x00000009 , 0x00006d45 
+ 00027954  0x000048b4 beq  0x0000000a , 0x00006d33 
+ 00027955  0x000048b6 ifetch  0x00000002 , 0x00000006 
+ 00027956  0x000048b7 istore  0x00000002 , 0x00000005 
+ 00027957  0x000048b8 increase  0x00000001 , 0x00000007 
+ 00027958  0x000048b9 byteswap  0x0000003f , 0x00000012 
+ 00027959  0x000048ba ifetch  0x00000002 , 0x00000006 
+ 00027960  0x000048bb byteswap  0x0000003f , 0x0000003f 
+ 00027961  0x000048bd increase  0x00000001 , 0x00000012 
+ 00027962  0x000048be isub  0x00000012 , 0x0000003e 
+ 00027963  0x000048bf nbranch  0x00006d42 , 0x00000002 
+ 00027964  0x000048c0 copy  0x0000003f , 0x00000013 
+ 00027965  0x000048c1 byteswap  0x00000012 , 0x0000003f 
+ 00027966  0x000048c2 istore  0x00000002 , 0x00000005 
+ 00027967  0x000048c3 increase  0x00000001 , 0x00000007 
+ 00027968  0x000048c4 copy  0x00000013 , 0x0000003f 
+ 00027969  0x000048c5 branch  0x00006d39 
+ 00027970  0x000048c7 increase  0xfffffffb , 0x0000000b 
+ 00027971  0x000048c8 increase  0xfffffffb , 0x00000011 
+ 00027972  0x000048c9 branch  0x00006d4a 
+ 00027973  0x000048cb ifetch  0x00000002 , 0x00000006 
+ 00027974  0x000048cc istore  0x00000002 , 0x00000005 
+ 00027975  0x000048cd increase  0x00000001 , 0x00000007 
+ 00027976  0x000048ce increase  0xfffffffd , 0x0000000b 
+ 00027977  0x000048cf increase  0xfffffffd , 0x00000011 
+ 00027978  0x000048d1 nbranch  0x00006e83 , 0x00000002 
+ 00027979  0x000048d2 nbranch  0x00006d30 , 0x00000005 
+ 00027980  0x000048d3 increase  0xffffffff , 0x0000000b 
+ 00027981  0x000048d4 nbranch  0x00006e83 , 0x00000005 
+ 00027982  0x000048d6 call  0x000056aa 
+ 00027983  0x000048d7 increase  0x0000000a , 0x00000005 
+ 00027984  0x000048d8 arg  0x00000526 , 0x00000011 
+ 00027985  0x000048da copy  0x00000007 , 0x0000003f 
+ 00027986  0x000048db branch  0x00006d64 , 0x00000034 
+ 00027987  0x000048dc ifetch  0x00000002 , 0x00000011 
+ 00027988  0x000048dd branch  0x00006d64 , 0x00000034 
+ 00027989  0x000048de iforce  0x00000012 
+ 00027990  0x000048df fetch  0x00000004 , 0x00000520 
+ 00027991  0x000048e0 iforce  0x00000002 
+ 00027992  0x000048e1 call  0x00006fa6 
+ 00027993  0x000048e2 copy  0x00000006 , 0x0000003f 
+ 00027994  0x000048e3 branch  0x00006d61 , 0x00000034 
+ 00027995  0x000048e4 increase  0xfffffffd , 0x00000006 
+ 00027996  0x000048e5 ifetch  0x00000003 , 0x00000006 
+ 00027997  0x000048e6 istore  0x00000003 , 0x00000005 
+ 00027998  0x000048e7 call  0x00006f1a 
+ 00027999  0x000048e8 iforce  0x00000039 
+ 00028000  0x000048e9 call  0x00007cdc 
+ 00028001  0x000048eb increase  0x00000002 , 0x00000011 
+ 00028002  0x000048ec increase  0xffffffff , 0x00000007 
+ 00028003  0x000048ed branch  0x00006d51 
+ 00028004  0x000048f0 arg  0x00000005 , 0x00000011 
+ 00028005  0x000048f1 call  0x00006e43 
+ 00028006  0x000048f2 fetch  0x00000002 , 0x00000271 
+ 00028007  0x000048f3 beq  0x0000000b , 0x00006f02 
+ 00028008  0x000048f4 branch  0x00006e59 
+ 00028009  0x000048f8 ifetch  0x00000001 , 0x00000006 
+ 00028010  0x000048f9 beq  0x00000000 , 0x00006d6d 
+ 00028011  0x000048fa beq  0x00000001 , 0x00006d6f 
+ 00028012  0x000048fb beq  0x00000002 , 0x00006d72 
+ 00028013  0x000048fd increase  0xffffffff , 0x0000000b 
+ 00028014  0x000048fe branch  0x00006d75 
+ 00028015  0x00004900 ifetch  0x00000001 , 0x00000006 
+ 00028016  0x00004901 increase  0xfffffffe , 0x0000000b 
+ 00028017  0x00004902 branch  0x00006d75 
+ 00028018  0x00004904 ifetch  0x00000002 , 0x00000006 
+ 00028019  0x00004905 byteswap  0x0000003f , 0x0000003f 
+ 00028020  0x00004906 increase  0xfffffffd , 0x0000000b 
+ 00028021  0x00004908 store  0x00000002 , 0x00000515 
+ 00028022  0x00004909 rtn 
+ 00028023  0x0000490c increase  0xfffffffb , 0x0000000b 
+ 00028024  0x0000490d call  0x00006d69 
+ 00028025  0x0000490e nbranch  0x00006e7d , 0x00000005 
+ 00028026  0x0000490f fetcht  0x00000004 , 0x00000520 
+ 00028027  0x00004910 call  0x00006f70 
+ 00028028  0x00004911 nbranch  0x00006e7a , 0x00000005 
+ 00028029  0x00004912 copy  0x00000006 , 0x00000011 
+ 00028030  0x00004913 call  0x000056aa 
+ 00028031  0x00004914 copy  0x00000011 , 0x00000006 
+ 00028032  0x00004915 increase  0x00000003 , 0x00000005 
+ 00028033  0x00004916 copy  0x00000006 , 0x0000000b 
+ 00028034  0x00004917 call  0x00006f21 
+ 00028035  0x00004918 copy  0x0000003f , 0x00000011 
+ 00028036  0x0000491a fetch  0x00000002 , 0x00000515 
+ 00028037  0x0000491b copy  0x0000003f , 0x00000012 
+ 00028038  0x0000491c copy  0x00000011 , 0x0000003f 
+ 00028039  0x0000491d isub  0x00000012 , 0x00000012 
+ 00028040  0x0000491e fetch  0x00000002 , 0x0000051c 
+ 00028041  0x0000491f isub  0x00000012 , 0x0000003e 
+ 00028042  0x00004920 nbranch  0x00006da6 , 0x00000002 
+ 00028043  0x00004922 disable  0x00000028 
+ 00028044  0x00004923 fetch  0x00000002 , 0x00000515 
+ 00028045  0x00004924 branch  0x00006d99 , 0x00000034 
+ 00028046  0x00004925 iadd  0x0000000b , 0x00000006 
+ 00028047  0x00004926 increase  0x00000003 , 0x00000012 
+ 00028048  0x00004927 copy  0x00000012 , 0x00000039 
+ 00028049  0x00004928 copy  0x00000039 , 0x0000003f 
+ 00028050  0x00004929 increase  0x00000003 , 0x0000003f 
+ 00028051  0x0000492a byteswap  0x0000003f , 0x0000003f 
+ 00028052  0x0000492b istore  0x00000002 , 0x00000005 
+ 00028053  0x0000492c copy  0x00000039 , 0x0000003f 
+ 00028054  0x0000492d byteswap  0x0000003f , 0x0000003f 
+ 00028055  0x0000492e istore  0x00000002 , 0x00000005 
+ 00028056  0x0000492f branch  0x00006db4 
+ 00028057  0x00004931 add  0x00000011 , 0x00000006 , 0x00000039 
+ 00028058  0x00004932 branch  0x00006d9d , 0x00000028 
+ 00028059  0x00004933 byteswap  0x00000039 , 0x0000003f 
+ 00028060  0x00004934 branch  0x00006da0 
+ 00028061  0x00004936 copy  0x00000039 , 0x0000003f 
+ 00028062  0x00004937 increase  0x00000002 , 0x0000003f 
+ 00028063  0x00004938 byteswap  0x0000003f , 0x0000003f 
+ 00028064  0x0000493a istore  0x00000002 , 0x00000005 
+ 00028065  0x0000493b increase  0xfffffffd , 0x00000039 
+ 00028066  0x0000493c byteswap  0x00000039 , 0x0000003f 
+ 00028067  0x0000493d istore  0x00000002 , 0x00000005 
+ 00028068  0x0000493e copy  0x0000000b , 0x00000006 
+ 00028069  0x0000493f branch  0x00006db4 
+ 00028070  0x00004941 enable  0x00000028 
+ 00028071  0x00004943 fetch  0x00000002 , 0x0000051c 
+ 00028072  0x00004944 copy  0x0000003f , 0x00000011 
+ 00028073  0x00004945 copy  0x00000011 , 0x00000039 
+ 00028074  0x00004946 fetch  0x00000002 , 0x00000515 
+ 00028075  0x00004947 branch  0x00006d99 , 0x00000034 
+ 00028076  0x00004948 iadd  0x0000000b , 0x00000006 
+ 00028077  0x00004949 copy  0x00000011 , 0x0000003f 
+ 00028078  0x0000494a increase  0x00000005 , 0x0000003f 
+ 00028079  0x0000494b byteswap  0x0000003f , 0x0000003f 
+ 00028080  0x0000494c istore  0x00000002 , 0x00000005 
+ 00028081  0x0000494d copy  0x00000011 , 0x0000003f 
+ 00028082  0x0000494e byteswap  0x0000003f , 0x0000003f 
+ 00028083  0x0000494f istore  0x00000002 , 0x00000005 
+ 00028084  0x00004951 call  0x00007cdc 
+ 00028085  0x00004952 nbranch  0x00006dbd , 0x00000028 
+ 00028086  0x00004953 force  0x00000002 , 0x0000003f 
+ 00028087  0x00004954 istore  0x00000001 , 0x00000005 
+ 00028088  0x00004955 copy  0x00000006 , 0x0000003f 
+ 00028089  0x00004956 isub  0x0000000b , 0x0000003f 
+ 00028090  0x00004957 byteswap  0x0000003f , 0x0000003f 
+ 00028091  0x00004958 istore  0x00000002 , 0x00000005 
+ 00028092  0x00004959 branch  0x00006dbf 
+ 00028093  0x0000495b force  0x00000000 , 0x0000003f 
+ 00028094  0x0000495c istore  0x00000001 , 0x00000005 
+ 00028095  0x0000495e arg  0x00000005 , 0x00000011 
+ 00028096  0x0000495f branch  0x00006e6f 
+ 00028097  0x0000496b bpatchx  0x0000007d , 0x0000402f 
+ 00028098  0x0000496c call  0x00006e8f 
+ 00028099  0x0000496d compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028100  0x0000496e branch  0x00006e83 , 0x00000001 
+ 00028101  0x0000496f call  0x00006ded 
+ 00028102  0x00004970 store  0x00000002 , 0x0000051c 
+ 00028103  0x00004971 increase  0xfffffffe , 0x0000000b 
+ 00028104  0x00004972 call  0x00006ee7 
+ 00028105  0x00004973 arg  0x00000526 , 0x00000005 
+ 00028106  0x00004974 force  0x00000000 , 0x00000007 
+ 00028107  0x00004976 ifetch  0x00000001 , 0x00000006 
+ 00028108  0x00004977 beq  0x0000000a , 0x00006df5 
+ 00028109  0x00004978 ifetch  0x00000002 , 0x00000006 
+ 00028110  0x00004979 istore  0x00000002 , 0x00000005 
+ 00028111  0x0000497a increase  0x00000001 , 0x00000007 
+ 00028112  0x0000497b increase  0xfffffffd , 0x0000000b 
+ 00028113  0x0000497c increase  0xfffffffd , 0x00000011 
+ 00028114  0x0000497d nbranch  0x00006e83 , 0x00000002 
+ 00028115  0x0000497e nbranch  0x00006dcb , 0x00000005 
+ 00028116  0x0000497f increase  0xffffffff , 0x0000000b 
+ 00028117  0x00004980 nbranch  0x00006e83 , 0x00000005 
+ 00028118  0x00004981 call  0x000056aa 
+ 00028119  0x00004982 increase  0x0000000d , 0x00000005 
+ 00028120  0x00004983 fetch  0x00000002 , 0x0000050d 
+ 00028121  0x00004984 iforce  0x00000013 
+ 00028122  0x00004985 arg  0x00000526 , 0x00000011 
+ 00028123  0x00004987 ifetch  0x00000002 , 0x00000011 
+ 00028124  0x00004988 branch  0x00006de8 , 0x00000034 
+ 00028125  0x00004989 iforce  0x00000012 
+ 00028126  0x0000498a call  0x00006f85 
+ 00028127  0x0000498b branch  0x00006de6 , 0x00000034 
+ 00028128  0x0000498c increase  0xfffffffd , 0x00000006 
+ 00028129  0x0000498d ifetch  0x00000003 , 0x00000006 
+ 00028130  0x0000498e istore  0x00000003 , 0x00000005 
+ 00028131  0x0000498f call  0x00006f1a 
+ 00028132  0x00004990 iforce  0x00000039 
+ 00028133  0x00004991 call  0x00007cdc 
+ 00028134  0x00004993 increase  0x00000002 , 0x00000011 
+ 00028135  0x00004994 branch  0x00006ddb 
+ 00028136  0x00004997 call  0x00006e42 
+ 00028137  0x00004998 fetch  0x00000002 , 0x00000271 
+ 00028138  0x00004999 beq  0x0000000e , 0x00006f05 
+ 00028139  0x0000499a call  0x00006e59 
+ 00028140  0x0000499b branch  0x00006e59 
+ 00028141  0x0000499f ifetch  0x00000002 , 0x00000006 
+ 00028142  0x000049a0 byteswap  0x0000003f , 0x0000003f 
+ 00028143  0x000049a1 increase  0xfffffffd , 0x0000003f 
+ 00028144  0x000049a2 arg  0x000000c8 , 0x00000002 
+ 00028145  0x000049a3 isub  0x00000002 , 0x0000003e 
+ 00028146  0x000049a4 nrtn  0x00000002 
+ 00028147  0x000049a5 setarg  0x000000c8 
+ 00028148  0x000049a6 rtn 
+ 00028149  0x000049aa increase  0x00000004 , 0x00000006 
+ 00028150  0x000049ab increase  0xfffffffb , 0x0000000b 
+ 00028151  0x000049ac increase  0xfffffffb , 0x00000011 
+ 00028152  0x000049ad nbranch  0x00006e83 , 0x00000005 
+ 00028153  0x000049ae call  0x00006d69 
+ 00028154  0x000049af nbranch  0x00006e7d , 0x00000005 
+ 00028155  0x000049b0 arg  0x0000050d , 0x0000000b 
+ 00028156  0x000049b1 call  0x00006f41 
+ 00028157  0x000049b2 deposit  0x00000007 
+ 00028158  0x000049b3 branch  0x00006f05 , 0x00000034 
+ 00028159  0x000049b4 store  0x00000001 , 0x0000054a 
+ 00028160  0x000049b6 copy  0x00000012 , 0x0000003f 
+ 00028161  0x000049b7 store  0x00000002 , 0x00000548 
+ 00028162  0x000049b8 arg  0x00000000 , 0x00000007 
+ 00028163  0x000049b9 arg  0x00000000 , 0x00000011 
+ 00028164  0x000049ba call  0x000056aa 
+ 00028165  0x000049bb increase  0x0000000a , 0x00000005 
+ 00028166  0x000049bd call  0x00006e2b 
+ 00028167  0x000049be nbranch  0x00004a8b , 0x00000028 
+ 00028168  0x000049bf copy  0x00000006 , 0x0000000b 
+ 00028169  0x000049c0 copy  0x0000003f , 0x00000013 
+ 00028170  0x000049c1 iadd  0x00000011 , 0x00000011 
+ 00028171  0x000049c4 fetch  0x00000002 , 0x00000515 
+ 00028172  0x000049c5 copy  0x0000003f , 0x00000012 
+ 00028173  0x000049c6 branch  0x00006e34 , 0x00000034 
+ 00028174  0x000049c8 copy  0x00000011 , 0x0000003f 
+ 00028175  0x000049c9 isub  0x00000012 , 0x00000012 
+ 00028176  0x000049ca branch  0x00006e26 , 0x00000005 
+ 00028177  0x000049cb nbranch  0x00006e26 , 0x00000002 
+ 00028178  0x000049cc fetch  0x00000002 , 0x0000051c 
+ 00028179  0x000049cd isub  0x00000012 , 0x0000003e 
+ 00028180  0x000049ce branch  0x00006e1d , 0x00000005 
+ 00028181  0x000049cf nbranch  0x00006e1d , 0x00000002 
+ 00028182  0x000049d3 copy  0x00000012 , 0x00000039 
+ 00028183  0x000049d4 call  0x00006e20 
+ 00028184  0x000049d5 fetch  0x00000001 , 0x0000054a 
+ 00028185  0x000049d6 increase  0x00000001 , 0x00000007 
+ 00028186  0x000049d7 isub  0x00000007 , 0x0000003e 
+ 00028187  0x000049d8 branch  0x00006e42 , 0x00000005 
+ 00028188  0x000049d9 branch  0x00006e5f 
+ 00028189  0x000049dc copy  0x0000003f , 0x00000039 
+ 00028190  0x000049dd call  0x00006e20 
+ 00028191  0x000049de branch  0x00006e5f 
+ 00028192  0x000049e1 increase  0xfffffffd , 0x00000005 
+ 00028193  0x000049e2 copy  0x00000039 , 0x00000002 
+ 00028194  0x000049e3 copy  0x00000013 , 0x0000003f 
+ 00028195  0x000049e4 isub  0x00000012 , 0x0000003f 
+ 00028196  0x000049e5 iadd  0x0000000b , 0x00000006 
+ 00028197  0x000049e6 branch  0x00007cdc 
+ 00028198  0x000049e9 fetch  0x00000001 , 0x0000054a 
+ 00028199  0x000049ea increase  0x00000001 , 0x00000007 
+ 00028200  0x000049eb isub  0x00000007 , 0x0000003e 
+ 00028201  0x000049ec rtn  0x00000005 
+ 00028202  0x000049ed branch  0x00006e06 
+ 00028203  0x000049f0 call  0x00007dc1 
+ 00028204  0x000049f1 arg  0x00000526 , 0x00000006 
+ 00028205  0x000049f2 lshift2  0x00000007 , 0x0000003f 
+ 00028206  0x000049f3 iadd  0x00000006 , 0x00000006 
+ 00028207  0x000049f4 ifetcht  0x00000004 , 0x00000006 
+ 00028208  0x000049f5 call  0x00006f70 
+ 00028209  0x000049f6 nrtn  0x00000005 
+ 00028210  0x000049f7 call  0x00006f1a 
+ 00028211  0x000049f8 branch  0x00007dbf 
+ 00028212  0x000049fb fetch  0x00000002 , 0x0000051c 
+ 00028213  0x000049fc isub  0x00000011 , 0x0000003e 
+ 00028214  0x000049fd nbranch  0x00006e4e , 0x00000002 
+ 00028215  0x000049fe copy  0x00000011 , 0x00000039 
+ 00028216  0x000049ff copy  0x00000039 , 0x00000002 
+ 00028217  0x00004a00 copy  0x0000000b , 0x00000006 
+ 00028218  0x00004a01 call  0x00007cdc 
+ 00028219  0x00004a02 fetch  0x00000002 , 0x00000548 
+ 00028220  0x00004a03 isub  0x00000011 , 0x0000003e 
+ 00028221  0x00004a04 branch  0x00006e40 , 0x00000005 
+ 00028222  0x00004a06 call  0x00006e5f 
+ 00028223  0x00004a07 branch  0x00006e53 
+ 00028224  0x00004a0a call  0x00006e42 
+ 00028225  0x00004a0b branch  0x00006e53 
+ 00028226  0x00004a0e arg  0x00000007 , 0x00000011 
+ 00028227  0x00004a10 force  0x00000000 , 0x0000003f 
+ 00028228  0x00004a11 istore  0x00000001 , 0x00000005 
+ 00028229  0x00004a12 call  0x00006e6f 
+ 00028230  0x00004a13 fetcht  0x00000002 , 0x00000271 
+ 00028231  0x00004a14 increase  0xfffffffb , 0x00000002 
+ 00028232  0x00004a15 byteswap  0x00000002 , 0x0000003f 
+ 00028233  0x00004a16 istore  0x00000002 , 0x00000005 
+ 00028234  0x00004a17 increase  0xfffffffd , 0x00000002 
+ 00028235  0x00004a18 byteswap  0x00000002 , 0x0000003f 
+ 00028236  0x00004a19 istore  0x00000002 , 0x00000005 
+ 00028237  0x00004a1a rtn 
+ 00028238  0x00004a1d copy  0x0000003f , 0x00000039 
+ 00028239  0x00004a1e copy  0x00000039 , 0x00000002 
+ 00028240  0x00004a1f copy  0x0000000b , 0x00000006 
+ 00028241  0x00004a20 call  0x00007cdc 
+ 00028242  0x00004a21 call  0x00006e5f 
+ 00028243  0x00004a23 setarg  0x00000036 
+ 00028244  0x00004a24 istore  0x00000001 , 0x00000005 
+ 00028245  0x00004a25 fetch  0x00000002 , 0x00000548 
+ 00028246  0x00004a26 byteswap  0x0000003f , 0x0000003f 
+ 00028247  0x00004a27 istore  0x00000002 , 0x00000005 
+ 00028248  0x00004a28 rtn 
+ 00028249  0x00004a2b setarg  0x00000036 
+ 00028250  0x00004a2c istore  0x00000001 , 0x00000005 
+ 00028251  0x00004a2d increase  0xfffffffd , 0x00000002 
+ 00028252  0x00004a2e byteswap  0x00000002 , 0x0000003f 
+ 00028253  0x00004a2f istore  0x00000002 , 0x00000005 
+ 00028254  0x00004a30 rtn 
+ 00028255  0x00004a33 arg  0x00000007 , 0x00000011 
+ 00028256  0x00004a34 setarg  0x00000002 
+ 00028257  0x00004a35 istore  0x00000001 , 0x00000005 
+ 00028258  0x00004a36 fetch  0x00000002 , 0x00000515 
+ 00028259  0x00004a37 iadd  0x00000002 , 0x00000002 
+ 00028260  0x00004a38 byteswap  0x00000002 , 0x0000003f 
+ 00028261  0x00004a39 istore  0x00000002 , 0x00000005 
+ 00028262  0x00004a3a call  0x00006e6f 
+ 00028263  0x00004a3b fetcht  0x00000002 , 0x00000271 
+ 00028264  0x00004a3c increase  0xfffffffb , 0x00000002 
+ 00028265  0x00004a3d byteswap  0x00000002 , 0x0000003f 
+ 00028266  0x00004a3e istore  0x00000002 , 0x00000005 
+ 00028267  0x00004a3f increase  0xfffffffb , 0x00000002 
+ 00028268  0x00004a40 byteswap  0x00000002 , 0x0000003f 
+ 00028269  0x00004a41 istore  0x00000002 , 0x00000005 
+ 00028270  0x00004a42 rtn 
+ 00028271  0x00004a45 fetch  0x00000002 , 0x0000026f 
+ 00028272  0x00004a46 isub  0x00000005 , 0x0000003f 
+ 00028273  0x00004a47 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00028274  0x00004a48 store  0x00000002 , 0x00000271 
+ 00028275  0x00004a49 call  0x000056aa 
+ 00028276  0x00004a4a copy  0x00000011 , 0x0000003f 
+ 00028277  0x00004a4b istore  0x00000001 , 0x00000005 
+ 00028278  0x00004a4c fetch  0x00000002 , 0x00000518 
+ 00028279  0x00004a4d istore  0x00000002 , 0x00000005 
+ 00028280  0x00004a4e rtn 
+ 00028281  0x00004a5f rtn 
+ 00028282  0x00004a81 setarg  0x00000200 
+ 00028283  0x00004a82 store  0x00000002 , 0x00000546 
+ 00028284  0x00004a83 branch  0x00006e85 
+ 00028285  0x00004a85 setarg  0x00000400 
+ 00028286  0x00004a86 store  0x00000002 , 0x00000546 
+ 00028287  0x00004a87 branch  0x00006e85 
+ 00028288  0x00004a89 setarg  0x00000600 
+ 00028289  0x00004a8a store  0x00000002 , 0x00000546 
+ 00028290  0x00004a8b branch  0x00006e85 
+ 00028291  0x00004a8d setarg  0x00000300 
+ 00028292  0x00004a8e store  0x00000002 , 0x00000546 
+ 00028293  0x00004a90 call  0x000056aa 
+ 00028294  0x00004a91 istore  0x00000001 , 0x00000005 
+ 00028295  0x00004a92 fetch  0x00000002 , 0x00000518 
+ 00028296  0x00004a93 istore  0x00000002 , 0x00000005 
+ 00028297  0x00004a94 setarg  0x00000200 
+ 00028298  0x00004a95 istore  0x00000002 , 0x00000005 
+ 00028299  0x00004a96 fetch  0x00000002 , 0x00000546 
+ 00028300  0x00004a97 istore  0x00000002 , 0x00000005 
+ 00028301  0x00004a98 jam  0x00000007 , 0x00000271 
+ 00028302  0x00004a99 rtn 
+ 00028303  0x00004a9f arg  0x00000000 , 0x00000012 
+ 00028304  0x00004aa0 force  0x00000000 , 0x00000002 
+ 00028305  0x00004aa1 arg  0x0000050d , 0x00000005 
+ 00028306  0x00004aa2 call  0x00006ee7 
+ 00028307  0x00004aa3 branch  0x00006ee5 , 0x00000005 
+ 00028308  0x00004aa5 increase  0x00000001 , 0x00000012 
+ 00028309  0x00004aa6 ifetch  0x00000001 , 0x00000006 
+ 00028310  0x00004aa7 increase  0xffffffff , 0x00000011 
+ 00028311  0x00004aa8 increase  0xffffffff , 0x0000000b 
+ 00028312  0x00004aa9 compare  0x00000018 , 0x0000003f , 0x000000f8 
+ 00028313  0x00004aaa nbranch  0x00006ee5 , 0x00000001 
+ 00028314  0x00004aab compare  0x00000004 , 0x0000003f , 0x00000007 
+ 00028315  0x00004aac nbranch  0x00006eb2 , 0x00000001 
+ 00028316  0x00004aad force  0x00000001 , 0x00000002 
+ 00028317  0x00004aaf ifetch  0x00000001 , 0x00000006 
+ 00028318  0x00004ab0 increase  0xffffffff , 0x00000011 
+ 00028319  0x00004ab1 increase  0xffffffff , 0x0000000b 
+ 00028320  0x00004ab2 bne  0x00000000 , 0x00006ea6 
+ 00028321  0x00004ab3 ifetch  0x00000001 , 0x00000006 
+ 00028322  0x00004ab4 increase  0xffffffff , 0x00000011 
+ 00028323  0x00004ab5 increase  0xffffffff , 0x0000000b 
+ 00028324  0x00004ab6 beq  0x00000000 , 0x00006eb7 
+ 00028325  0x00004ab7 branch  0x00006ea9 
+ 00028326  0x00004ab9 increase  0x00000001 , 0x00000006 
+ 00028327  0x00004aba increase  0xffffffff , 0x00000011 
+ 00028328  0x00004abb increase  0xffffffff , 0x0000000b 
+ 00028329  0x00004abd increase  0x00000002 , 0x00000006 
+ 00028330  0x00004abe increase  0xfffffffe , 0x00000011 
+ 00028331  0x00004abf increase  0xfffffffe , 0x0000000b 
+ 00028332  0x00004ac0 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028333  0x00004ac1 branch  0x00006edf , 0x00000001 
+ 00028334  0x00004ac2 increase  0x0000000c , 0x00000006 
+ 00028335  0x00004ac3 increase  0xfffffff4 , 0x00000011 
+ 00028336  0x00004ac4 increase  0xfffffff4 , 0x0000000b 
+ 00028337  0x00004ac5 branch  0x00006edf 
+ 00028338  0x00004ac7 compare  0x00000002 , 0x0000003f , 0x00000007 
+ 00028339  0x00004ac8 nbranch  0x00006eb5 , 0x00000001 
+ 00028340  0x00004ac9 branch  0x00006e9d 
+ 00028341  0x00004acb compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00028342  0x00004acc nbranch  0x00006ee5 , 0x00000001 
+ 00028343  0x00004ace increase  0xfffffffe , 0x00000011 
+ 00028344  0x00004acf increase  0xfffffffe , 0x0000000b 
+ 00028345  0x00004ad0 ifetch  0x00000002 , 0x00000006 
+ 00028346  0x00004ad1 sub  0x00000012 , 0x00000004 , 0x0000003e 
+ 00028347  0x00004ad2 branch  0x00006ebd , 0x00000005 
+ 00028348  0x00004ad3 istore  0x00000002 , 0x00000005 
+ 00028349  0x00004ad5 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028350  0x00004ad6 branch  0x00006edf , 0x00000001 
+ 00028351  0x00004ad7 copy  0x00000006 , 0x00000002 
+ 00028352  0x00004ad8 ifetch  0x00000001 , 0x00000006 
+ 00028353  0x00004ad9 bne  0x00000000 , 0x00006ed8 
+ 00028354  0x00004ada ifetch  0x00000001 , 0x00000006 
+ 00028355  0x00004adb bne  0x00000000 , 0x00006ed8 
+ 00028356  0x00004adc ifetch  0x00000001 , 0x00000006 
+ 00028357  0x00004add bne  0x00000010 , 0x00006ed8 
+ 00028358  0x00004ade ifetch  0x00000001 , 0x00000006 
+ 00028359  0x00004adf bne  0x00000000 , 0x00006ed8 
+ 00028360  0x00004ae0 ifetch  0x00000001 , 0x00000006 
+ 00028361  0x00004ae1 bne  0x00000080 , 0x00006ed8 
+ 00028362  0x00004ae2 ifetch  0x00000001 , 0x00000006 
+ 00028363  0x00004ae3 bne  0x00000000 , 0x00006ed8 
+ 00028364  0x00004ae4 ifetch  0x00000001 , 0x00000006 
+ 00028365  0x00004ae5 bne  0x00000000 , 0x00006ed8 
+ 00028366  0x00004ae6 ifetch  0x00000001 , 0x00000006 
+ 00028367  0x00004ae7 bne  0x00000080 , 0x00006ed8 
+ 00028368  0x00004ae8 ifetch  0x00000001 , 0x00000006 
+ 00028369  0x00004ae9 bne  0x0000005f , 0x00006ed8 
+ 00028370  0x00004aea ifetch  0x00000001 , 0x00000006 
+ 00028371  0x00004aeb bne  0x0000009b , 0x00006ed8 
+ 00028372  0x00004aec ifetch  0x00000001 , 0x00000006 
+ 00028373  0x00004aed bne  0x00000034 , 0x00006ed8 
+ 00028374  0x00004aee ifetch  0x00000001 , 0x00000006 
+ 00028375  0x00004aef beq  0x000000fb , 0x00006edd 
+ 00028376  0x00004af1 copy  0x00000002 , 0x00000006 
+ 00028377  0x00004af3 increase  0x0000000c , 0x00000006 
+ 00028378  0x00004af4 force  0x00000000 , 0x00000007 
+ 00028379  0x00004af5 force  0x00000000 , 0x00000002 
+ 00028380  0x00004af6 branch  0x00006edd 
+ 00028381  0x00004af9 increase  0xfffffff4 , 0x0000000b 
+ 00028382  0x00004afa increase  0xfffffff4 , 0x00000011 
+ 00028383  0x00004afc force  0x00000000 , 0x00000002 
+ 00028384  0x00004afd compare  0x00000000 , 0x00000011 , 0x000000ff 
+ 00028385  0x00004afe nbranch  0x00006e94 , 0x00000001 
+ 00028386  0x00004aff force  0x00000000 , 0x0000003f 
+ 00028387  0x00004b00 istore  0x00000002 , 0x00000005 
+ 00028388  0x00004b01 rtn 
+ 00028389  0x00004b03 arg  0x000000ff , 0x00000002 
+ 00028390  0x00004b04 rtn 
+ 00028391  0x00004b0f bpatchx  0x00000080 , 0x00004030 
+ 00028392  0x00004b10 ifetch  0x00000001 , 0x00000006 
+ 00028393  0x00004b11 increase  0xffffffff , 0x0000000b 
+ 00028394  0x00004b12 compare  0x00000030 , 0x0000003f , 0x000000f8 
+ 00028395  0x00004b13 nbranch  0x00006efd , 0x00000001 
+ 00028396  0x00004b14 compare  0x00000007 , 0x0000003f , 0x00000007 
+ 00028397  0x00004b15 branch  0x00006ef6 , 0x00000001 
+ 00028398  0x00004b16 compare  0x00000006 , 0x0000003f , 0x00000007 
+ 00028399  0x00004b17 branch  0x00006ef8 , 0x00000001 
+ 00028400  0x00004b18 compare  0x00000005 , 0x0000003f , 0x00000007 
+ 00028401  0x00004b19 nbranch  0x00006efd , 0x00000001 
+ 00028402  0x00004b1b ifetch  0x00000001 , 0x00000006 
+ 00028403  0x00004b1c copy  0x0000003f , 0x00000011 
+ 00028404  0x00004b1d increase  0xffffffff , 0x0000000b 
+ 00028405  0x00004b1e branch  0x00006efb 
+ 00028406  0x00004b20 increase  0x00000002 , 0x00000006 
+ 00028407  0x00004b21 increase  0xfffffffe , 0x0000000b 
+ 00028408  0x00004b23 ifetch  0x00000002 , 0x00000006 
+ 00028409  0x00004b24 byteswap  0x0000003f , 0x00000011 
+ 00028410  0x00004b25 increase  0xfffffffe , 0x0000000b 
+ 00028411  0x00004b27 force  0x00000001 , 0x0000003f 
+ 00028412  0x00004b28 rtn 
+ 00028413  0x00004b2a force  0x00000000 , 0x0000003f 
+ 00028414  0x00004b2b rtn 
+ 00028415  0x00004b36 setarg  0x00000003 
+ 00028416  0x00004b37 store  0x00000001 , 0x00000517 
+ 00028417  0x00004b38 branch  0x00006f07 
+ 00028418  0x00004b3a setarg  0x00000005 
+ 00028419  0x00004b3b store  0x00000001 , 0x00000517 
+ 00028420  0x00004b3c branch  0x00006f07 
+ 00028421  0x00004b3e setarg  0x00000007 
+ 00028422  0x00004b3f store  0x00000001 , 0x00000517 
+ 00028423  0x00004b41 call  0x000056aa 
+ 00028424  0x00004b44 fetch  0x00000001 , 0x00000517 
+ 00028425  0x00004b45 copy  0x0000003f , 0x00000012 
+ 00028426  0x00004b46 istore  0x00000001 , 0x00000005 
+ 00028427  0x00004b47 fetch  0x00000002 , 0x00000518 
+ 00028428  0x00004b48 istore  0x00000002 , 0x00000005 
+ 00028429  0x00004b49 setarg  0x00000500 
+ 00028430  0x00004b4a istore  0x00000002 , 0x00000005 
+ 00028431  0x00004b4b compare  0x00000005 , 0x00000012 , 0x000000ff 
+ 00028432  0x00004b4c branch  0x00006f16 , 0x00000001 
+ 00028433  0x00004b4d compare  0x00000007 , 0x00000012 , 0x000000ff 
+ 00028434  0x00004b4e branch  0x00006f16 , 0x00000001 
+ 00028435  0x00004b4f setarg  0x00000000 
+ 00028436  0x00004b50 istore  0x00000005 , 0x00000005 
+ 00028437  0x00004b51 branch  0x00006f18 
+ 00028438  0x00004b54 setarg  0x00350200 
+ 00028439  0x00004b55 istore  0x00000005 , 0x00000005 
+ 00028440  0x00004b57 jam  0x0000000a , 0x00000271 
+ 00028441  0x00004b58 rtn 
+ 00028442  0x00004b5c call  0x00007c7d 
+ 00028443  0x00004b5d call  0x00007c80 
+ 00028444  0x00004b5e call  0x00006f21 
+ 00028445  0x00004b5f call  0x00007c77 
+ 00028446  0x00004b60 call  0x00007c7a 
+ 00028447  0x00004b61 copy  0x00000002 , 0x0000003f 
+ 00028448  0x00004b62 rtn 
+ 00028449  0x00004b66 ifetch  0x00000001 , 0x00000006 
+ 00028450  0x00004b67 and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028451  0x00004b68 rshift3  0x0000003f , 0x0000003f 
+ 00028452  0x00004b69 bne  0x00000000 , 0x00006f2b 
+ 00028453  0x00004b6b force  0x00000001 , 0x0000003f 
+ 00028454  0x00004b6c force  0x00000001 , 0x00000002 
+ 00028455  0x00004b6d rtn 
+ 00028456  0x00004b70 call  0x00007c51 
+ 00028457  0x00004b71 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00028458  0x00004b72 rtn 
+ 00028459  0x00004b74 deposit  0x00000039 
+ 00028460  0x00004b75 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00028461  0x00004b76 branch  0x00006f28 , 0x00000002 
+ 00028462  0x00004b77 beq  0x00000005 , 0x00006f32 
+ 00028463  0x00004b78 beq  0x00000006 , 0x00006f35 
+ 00028464  0x00004b79 beq  0x00000007 , 0x00006f39 
+ 00028465  0x00004b7a rtn 
+ 00028466  0x00004b7d ifetch  0x00000001 , 0x00000006 
+ 00028467  0x00004b7e add  0x0000003f , 0x00000002 , 0x00000002 
+ 00028468  0x00004b7f rtn 
+ 00028469  0x00004b81 ifetch  0x00000002 , 0x00000006 
+ 00028470  0x00004b82 byteswap  0x0000003f , 0x0000003f 
+ 00028471  0x00004b83 add  0x0000003f , 0x00000003 , 0x00000002 
+ 00028472  0x00004b84 rtn 
+ 00028473  0x00004b86 ifetch  0x00000002 , 0x00000006 
+ 00028474  0x00004b87 byteswap  0x0000003f , 0x0000003f 
+ 00028475  0x00004b88 ifetcht  0x00000002 , 0x00000006 
+ 00028476  0x00004b89 byteswap  0x00000002 , 0x00000002 
+ 00028477  0x00004b8a lshift16  0x00000002 , 0x00000002 
+ 00028478  0x00004b8b iadd  0x00000002 , 0x0000003f 
+ 00028479  0x00004b8c add  0x0000003f , 0x00000005 , 0x00000002 
+ 00028480  0x00004b8d rtn 
+ 00028481  0x00004b94 bpatchx  0x00000081 , 0x00004030 
+ 00028482  0x00004b95 force  0x00000000 , 0x00000007 
+ 00028483  0x00004b96 arg  0x00000000 , 0x00000012 
+ 00028484  0x00004b97 arg  0x00000526 , 0x00000005 
+ 00028485  0x00004b99 ifetch  0x00000002 , 0x0000000b 
+ 00028486  0x00004b9a rtn  0x00000034 
+ 00028487  0x00004b9b call  0x00006f4c 
+ 00028488  0x00004b9c copy  0x00000007 , 0x0000003f 
+ 00028489  0x00004b9d rtneq  0x00000007 
+ 00028490  0x00004b9e increase  0x00000002 , 0x0000000b 
+ 00028491  0x00004b9f branch  0x00006f45 
+ 00028492  0x00004ba3 iforce  0x00000013 
+ 00028493  0x00004ba5 fetch  0x00000002 , 0x00004547 
+ 00028494  0x00004ba6 iforce  0x00000006 
+ 00028495  0x00004ba8 copy  0x00000007 , 0x0000003f 
+ 00028496  0x00004ba9 rtneq  0x00000007 
+ 00028497  0x00004baa disable  0x00000028 
+ 00028498  0x00004bab ifetch  0x00000001 , 0x00000006 
+ 00028499  0x00004bac rtn  0x00000034 
+ 00028500  0x00004bad iforce  0x00000039 
+ 00028501  0x00004baf ifetch  0x00000002 , 0x00000006 
+ 00028502  0x00004bb0 isub  0x00000013 , 0x0000003e 
+ 00028503  0x00004bb1 nbranch  0x00006f59 , 0x00000005 
+ 00028504  0x00004bb2 enable  0x00000028 
+ 00028505  0x00004bb4 loop  0x00006f55 
+ 00028506  0x00004bb5 ifetcht  0x00000004 , 0x00000006 
+ 00028507  0x00004bb6 copy  0x00000006 , 0x00000011 
+ 00028508  0x00004bb7 nbranch  0x00006f6c , 0x00000028 
+ 00028509  0x00004bb8 arg  0x00000526 , 0x00000006 
+ 00028510  0x00004bb9 arg  0x00000007 , 0x00000039 
+ 00028511  0x00004bbb ifetch  0x00000004 , 0x00000006 
+ 00028512  0x00004bbc branch  0x00006f65 , 0x00000034 
+ 00028513  0x00004bbd isub  0x00000002 , 0x0000003e 
+ 00028514  0x00004bbe branch  0x00006f6c , 0x00000005 
+ 00028515  0x00004bbf loop  0x00006f5f 
+ 00028516  0x00004bc0 rtn 
+ 00028517  0x00004bc2 istoret  0x00000004 , 0x00000005 
+ 00028518  0x00004bc3 increase  0x00000001 , 0x00000007 
+ 00028519  0x00004bc4 copy  0x00000011 , 0x00000006 
+ 00028520  0x00004bc5 call  0x00006f1a 
+ 00028521  0x00004bc6 iadd  0x00000012 , 0x00000012 
+ 00028522  0x00004bc7 iadd  0x00000006 , 0x00000006 
+ 00028523  0x00004bc8 branch  0x00006f4f 
+ 00028524  0x00004bca copy  0x00000011 , 0x00000006 
+ 00028525  0x00004bcb call  0x00006f21 
+ 00028526  0x00004bcc iadd  0x00000006 , 0x00000006 
+ 00028527  0x00004bcd branch  0x00006f4f 
+ 00028528  0x00004bd4 bpatchx  0x00000082 , 0x00004030 
+ 00028529  0x00004bd5 fetch  0x00000002 , 0x00004547 
+ 00028530  0x00004bd6 iforce  0x00000006 
+ 00028531  0x00004bd8 ifetch  0x00000001 , 0x00000006 
+ 00028532  0x00004bd9 branch  0x00007dbb , 0x00000034 
+ 00028533  0x00004bda lshift  0x0000003f , 0x0000003f 
+ 00028534  0x00004bdb iadd  0x00000006 , 0x00000006 
+ 00028535  0x00004bdc ifetch  0x00000004 , 0x00000006 
+ 00028536  0x00004bdd isub  0x00000002 , 0x0000003e 
+ 00028537  0x00004bde rtn  0x00000005 
+ 00028538  0x00004bdf deposit  0x00000005 
+ 00028539  0x00004be0 store  0x00000002 , 0x00000ab7 
+ 00028540  0x00004be1 storet  0x00000008 , 0x00000a9e 
+ 00028541  0x00004be2 call  0x00006f21 
+ 00028542  0x00004be3 iadd  0x00000006 , 0x00000006 
+ 00028543  0x00004be4 copy  0x00000006 , 0x0000003f 
+ 00028544  0x00004be5 fetcht  0x00000002 , 0x00000ab7 
+ 00028545  0x00004be6 copy  0x00000002 , 0x00000005 
+ 00028546  0x00004be7 fetcht  0x00000008 , 0x00000a9e 
+ 00028547  0x00004be8 copy  0x0000003f , 0x00000006 
+ 00028548  0x00004be9 branch  0x00006f73 
+ 00028549  0x00004bf0 bpatchx  0x00000083 , 0x00004030 
+ 00028550  0x00004bf1 fetch  0x00000002 , 0x00004547 
+ 00028551  0x00004bf2 iforce  0x00000006 
+ 00028552  0x00004bf4 ifetch  0x00000001 , 0x00000006 
+ 00028553  0x00004bf5 branch  0x00006fa3 , 0x00000034 
+ 00028554  0x00004bf6 iforce  0x00000039 
+ 00028555  0x00004bf8 ifetch  0x00000002 , 0x00000006 
+ 00028556  0x00004bf9 isub  0x00000013 , 0x0000003e 
+ 00028557  0x00004bfa branch  0x00006f93 , 0x00000005 
+ 00028558  0x00004bfb loop  0x00006f8b 
+ 00028559  0x00004bfc increase  0x00000004 , 0x00000006 
+ 00028560  0x00004bfd call  0x00006f21 
+ 00028561  0x00004bfe iadd  0x00000006 , 0x00000006 
+ 00028562  0x00004bff branch  0x00006f88 
+ 00028563  0x00004c01 increase  0xffffffff , 0x00000039 
+ 00028564  0x00004c02 lshift  0x00000039 , 0x0000003f 
+ 00028565  0x00004c03 iadd  0x00000006 , 0x00000006 
+ 00028566  0x00004c04 increase  0x00000004 , 0x00000006 
+ 00028567  0x00004c05 call  0x00006f21 
+ 00028568  0x00004c06 iadd  0x00000006 , 0x0000000b 
+ 00028569  0x00004c08 increase  0x00000001 , 0x00000006 
+ 00028570  0x00004c09 ifetch  0x00000002 , 0x00000006 
+ 00028571  0x00004c0a isub  0x00000012 , 0x0000003e 
+ 00028572  0x00004c0e branch  0x00007dc7 , 0x00000005 
+ 00028573  0x00004c0f call  0x00006f1a 
+ 00028574  0x00004c10 iadd  0x00000006 , 0x00000006 
+ 00028575  0x00004c11 deposit  0x0000000b 
+ 00028576  0x00004c12 isub  0x00000006 , 0x0000003e 
+ 00028577  0x00004c13 branch  0x00006fa3 , 0x00000005 
+ 00028578  0x00004c14 branch  0x00006f99 
+ 00028579  0x00004c16 force  0x00000000 , 0x00000006 
+ 00028580  0x00004c17 force  0x00000000 , 0x0000003f 
+ 00028581  0x00004c18 rtn 
+ 00028582  0x00004c1f bpatchx  0x00000084 , 0x00004030 
+ 00028583  0x00004c20 fetch  0x00000002 , 0x00004547 
+ 00028584  0x00004c21 iforce  0x00000006 
+ 00028585  0x00004c23 ifetch  0x00000001 , 0x00000006 
+ 00028586  0x00004c24 branch  0x00006fbf , 0x00000034 
+ 00028587  0x00004c25 lshift  0x0000003f , 0x0000003f 
+ 00028588  0x00004c26 iadd  0x00000006 , 0x00000006 
+ 00028589  0x00004c27 ifetch  0x00000004 , 0x00000006 
+ 00028590  0x00004c28 isub  0x00000002 , 0x0000003e 
+ 00028591  0x00004c29 branch  0x00006fb3 , 0x00000005 
+ 00028592  0x00004c2a call  0x00006f21 
+ 00028593  0x00004c2b iadd  0x00000006 , 0x00000006 
+ 00028594  0x00004c2c branch  0x00006fa9 
+ 00028595  0x00004c2e call  0x00006f21 
+ 00028596  0x00004c2f iadd  0x00000006 , 0x0000000b 
+ 00028597  0x00004c31 increase  0x00000001 , 0x00000006 
+ 00028598  0x00004c32 ifetch  0x00000002 , 0x00000006 
+ 00028599  0x00004c33 isub  0x00000012 , 0x0000003e 
+ 00028600  0x00004c34 rtn  0x00000005 
+ 00028601  0x00004c35 call  0x00006f1a 
+ 00028602  0x00004c36 iadd  0x00000006 , 0x00000006 
+ 00028603  0x00004c37 deposit  0x0000000b 
+ 00028604  0x00004c38 isub  0x00000006 , 0x0000003e 
+ 00028605  0x00004c39 branch  0x00006fbf , 0x00000005 
+ 00028606  0x00004c3a branch  0x00006fb5 
+ 00028607  0x00004c3c force  0x00000000 , 0x00000006 
+ 00028608  0x00004c3d rtn 
+ 00028609  0x00004c42 arg  0x00000400 , 0x00000012 
+ 00028610  0x00004c43 call  0x00006fb3 
+ 00028611  0x00004c44 arg  0x00000300 , 0x00000012 
+ 00028612  0x00004c45 call  0x00006fcc 
+ 00028613  0x00004c46 nrtn  0x00000028 
+ 00028614  0x00004c47 sub  0x00000011 , 0x00000003 , 0x0000003e 
+ 00028615  0x00004c48 branch  0x00007dc1 , 0x00000002 
+ 00028616  0x00004c49 ifetch  0x00000001 , 0x00000006 
+ 00028617  0x00004c4a bne  0x00000008 , 0x00007dc1 
+ 00028618  0x00004c4b ifetch  0x00000001 , 0x00000006 
+ 00028619  0x00004c4c rtn 
+ 00028620  0x00004c52 bpatchx  0x00000085 , 0x00004030 
+ 00028621  0x00004c53 call  0x00006f21 
+ 00028622  0x00004c54 copy  0x0000003f , 0x00000011 
+ 00028623  0x00004c56 ifetch  0x00000001 , 0x00000006 
+ 00028624  0x00004c57 and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028625  0x00004c58 rshift3  0x0000003f , 0x0000003f 
+ 00028626  0x00004c59 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00028627  0x00004c5a branch  0x00006fe8 , 0x00000005 
+ 00028628  0x00004c5b copy  0x00000039 , 0x0000003f 
+ 00028629  0x00004c5c beq  0x00000005 , 0x00006fdf 
+ 00028630  0x00004c5d beq  0x00000006 , 0x00006fe2 
+ 00028631  0x00004c5e beq  0x00000007 , 0x00006fe5 
+ 00028632  0x00004c5f increase  0xffffffff , 0x00000006 
+ 00028633  0x00004c60 call  0x00006f21 
+ 00028634  0x00004c61 iadd  0x00000006 , 0x00000006 
+ 00028635  0x00004c62 copy  0x00000011 , 0x0000003f 
+ 00028636  0x00004c63 isub  0x00000002 , 0x00000011 
+ 00028637  0x00004c64 branch  0x00007dc1 , 0x00000005 
+ 00028638  0x00004c65 branch  0x00006fcf 
+ 00028639  0x00004c68 increase  0xfffffffe , 0x00000011 
+ 00028640  0x00004c69 increase  0x00000001 , 0x00000006 
+ 00028641  0x00004c6a branch  0x00006fcf 
+ 00028642  0x00004c6c increase  0xfffffffd , 0x00000011 
+ 00028643  0x00004c6d increase  0x00000002 , 0x00000006 
+ 00028644  0x00004c6e branch  0x00006fcf 
+ 00028645  0x00004c70 increase  0xfffffffb , 0x00000011 
+ 00028646  0x00004c71 increase  0x00000004 , 0x00000006 
+ 00028647  0x00004c72 branch  0x00006fcf 
+ 00028648  0x00004c75 increase  0xffffffff , 0x00000011 
+ 00028649  0x00004c76 copy  0x00000039 , 0x0000003f 
+ 00028650  0x00004c77 beq  0x00000001 , 0x00006ff1 
+ 00028651  0x00004c78 beq  0x00000002 , 0x00006fef 
+ 00028652  0x00004c79 beq  0x00000004 , 0x00006fee 
+ 00028653  0x00004c7a branch  0x00007dc1 
+ 00028654  0x00004c7c increase  0xfffffff4 , 0x00000011 
+ 00028655  0x00004c7e ifetch  0x00000002 , 0x00000006 
+ 00028656  0x00004c7f increase  0xfffffffe , 0x00000011 
+ 00028657  0x00004c81 ifetch  0x00000002 , 0x00000006 
+ 00028658  0x00004c82 isub  0x00000012 , 0x0000003e 
+ 00028659  0x00004c83 branch  0x00007dbf , 0x00000005 
+ 00028660  0x00004c84 increase  0xfffffffe , 0x00000011 
+ 00028661  0x00004c85 branch  0x00007dc1 , 0x00000005 
+ 00028662  0x00004c86 branch  0x00006fcf 
+ 00028663  0x00004cc2 call  0x000056aa 
+ 00028664  0x00004cc3 copy  0x0000003f , 0x00000005 
+ 00028665  0x00004cc4 setarg  0x00000006 
+ 00028666  0x00004cc5 istore  0x00000001 , 0x00000005 
+ 00028667  0x00004cc6 setarg  0x0000006e 
+ 00028668  0x00004cc7 istore  0x00000002 , 0x00000005 
+ 00028669  0x00004cc8 setarg  0x00000f00 
+ 00028670  0x00004cc9 istore  0x00000002 , 0x00000005 
+ 00028671  0x00004cca setarg  0x001a0535 
+ 00028672  0x00004ccb istore  0x00000003 , 0x00000005 
+ 00028673  0x00004ccc setarg  0x00000111 
+ 00028674  0x00004ccd lshift16  0x0000003f , 0x0000003f 
+ 00028675  0x00004cce istore  0x00000004 , 0x00000005 
+ 00028676  0x00004ccf setarg  0x00002600 
+ 00028677  0x00004cd0 istore  0x00000002 , 0x00000005 
+ 00028678  0x00004cd1 setarg  0x00000335 
+ 00028679  0x00004cd2 istore  0x00000002 , 0x00000005 
+ 00028680  0x00004cd3 setarg  0x00000009 
+ 00028681  0x00004cd4 istore  0x00000002 , 0x00000005 
+ 00028682  0x00004cd5 setarg  0x00000004 
+ 00028683  0x00004cd6 istore  0x00000002 , 0x00000005 
+ 00028684  0x00004cd7 jam  0x00000014 , 0x00000271 
+ 00028685  0x00004cd8 rtn 
+ 00028686  0x00004cdd bpatchx  0x00000086 , 0x00004030 
+ 00028687  0x00004cde jam  0x00000050 , 0x000005e1 
+ 00028688  0x00004cdf arg  0x000005e2 , 0x00000005 
+ 00028689  0x00004ce0 arg  0x0000440c , 0x00000006 
+ 00028690  0x00004ce1 call  0x00007c9a 
+ 00028691  0x00004ce2 arg  0x000045a4 , 0x00000006 
+ 00028692  0x00004ce3 call  0x00007c98 
+ 00028693  0x00004ce4 arg  0x000009ba , 0x00000006 
+ 00028694  0x00004ce5 call  0x00007c98 
+ 00028695  0x00004ce6 call  0x000070c9 
+ 00028696  0x00004ce7 arg  0x0000042b , 0x00000006 
+ 00028697  0x00004ce8 call  0x000070c4 
+ 00028698  0x00004ce9 call  0x0000708f 
+ 00028699  0x00004ceb arg  0x00000aee , 0x00000005 
+ 00028700  0x00004cec call  0x000070c0 
+ 00028701  0x00004ced setarg  0x000f4240 
+ 00028702  0x00004cee copy  0x0000003f , 0x00000011 
+ 00028703  0x00004cef fetch  0x00000004 , 0x00000aee 
+ 00028704  0x00004cf0 idiv  0x00000011 
+ 00028705  0x00004cf1 call  0x00007d61 
+ 00028706  0x00004cf2 remainder  0x0000003f 
+ 00028707  0x00004cf3 store  0x00000004 , 0x000009b6 
+ 00028708  0x00004cf5 rtn 
+ 00028709  0x00004cf8 jam  0x00000041 , 0x000005e1 
+ 00028710  0x00004cf9 arg  0x000005e2 , 0x00000005 
+ 00028711  0x00004cfa call  0x00007074 
+ 00028712  0x00004cfb call  0x0000706f 
+ 00028713  0x00004cfc fetch  0x00000003 , 0x00004426 
+ 00028714  0x00004cfd istore  0x00000003 , 0x00000005 
+ 00028715  0x00004d00 call  0x00007035 
+ 00028716  0x00004d02 arg  0x0000042b , 0x00000006 
+ 00028717  0x00004d03 call  0x00007c9a 
+ 00028718  0x00004d04 arg  0x0000440c , 0x00000006 
+ 00028719  0x00004d05 call  0x00007c9a 
+ 00028720  0x00004d06 call  0x000070c9 
+ 00028721  0x00004d07 arg  0x00000b0e , 0x00000006 
+ 00028722  0x00004d08 arg  0x00000abe , 0x00000005 
+ 00028723  0x00004d09 call  0x00007c9a 
+ 00028724  0x00004d0b branch  0x0000708f 
+ 00028725  0x00004d10 fetch  0x00000004 , 0x00004499 
+ 00028726  0x00004d11 istore  0x00000004 , 0x00000005 
+ 00028727  0x00004d12 call  0x00007ca8 
+ 00028728  0x00004d13 branch  0x00007ca5 
+ 00028729  0x00004d16 bpatchx  0x00000087 , 0x00004030 
+ 00028730  0x00004d17 jam  0x00000041 , 0x000005e1 
+ 00028731  0x00004d18 arg  0x000005e2 , 0x00000005 
+ 00028732  0x00004d19 call  0x0000706f 
+ 00028733  0x00004d1a call  0x00007074 
+ 00028734  0x00004d1b fetch  0x00000003 , 0x0000441f 
+ 00028735  0x00004d1c istore  0x00000003 , 0x00000005 
+ 00028736  0x00004d1f call  0x00007035 
+ 00028737  0x00004d20 arg  0x0000440c , 0x00000006 
+ 00028738  0x00004d21 call  0x00007c9a 
+ 00028739  0x00004d22 arg  0x0000042b , 0x00000006 
+ 00028740  0x00004d23 call  0x00007c9a 
+ 00028741  0x00004d24 call  0x000070c9 
+ 00028742  0x00004d25 arg  0x00000b0e , 0x00000006 
+ 00028743  0x00004d26 arg  0x00000abe , 0x00000005 
+ 00028744  0x00004d27 call  0x00007c9a 
+ 00028745  0x00004d29 call  0x0000708f 
+ 00028746  0x00004d2a arg  0x00000aee , 0x00000005 
+ 00028747  0x00004d2b branch  0x000070c0 
+ 00028748  0x00004d2e jam  0x00000020 , 0x000005e1 
+ 00028749  0x00004d2f arg  0x000009fa , 0x00000006 
+ 00028750  0x00004d30 arg  0x000005e2 , 0x00000005 
+ 00028751  0x00004d31 call  0x00007c98 
+ 00028752  0x00004d32 call  0x000070c9 
+ 00028753  0x00004d33 arg  0x0000099a , 0x00000006 
+ 00028754  0x00004d34 call  0x000070c4 
+ 00028755  0x00004d35 call  0x0000708f 
+ 00028756  0x00004d36 arg  0x00000abe , 0x00000005 
+ 00028757  0x00004d37 call  0x0000734c 
+ 00028758  0x00004d38 arg  0x00000001 , 0x00000002 
+ 00028759  0x00004d39 call  0x0000705e 
+ 00028760  0x00004d3a arg  0x000043eb , 0x00000005 
+ 00028761  0x00004d3b call  0x000070c0 
+ 00028762  0x00004d3c arg  0x00000000 , 0x00000002 
+ 00028763  0x00004d3d call  0x0000705e 
+ 00028764  0x00004d3e arg  0x00000b0e , 0x00000005 
+ 00028765  0x00004d40 branch  0x0000734c 
+ 00028766  0x00004d44 bpatchx  0x00000088 , 0x00004031 
+ 00028767  0x00004d45 jam  0x00000035 , 0x000005e1 
+ 00028768  0x00004d46 setarg  0x00000100 
+ 00028769  0x00004d47 store  0x00000002 , 0x000005e2 
+ 00028770  0x00004d48 call  0x0000706f 
+ 00028771  0x00004d49 call  0x00007074 
+ 00028772  0x00004d4a arg  0x0000440c , 0x00000006 
+ 00028773  0x00004d4b call  0x00007c9a 
+ 00028774  0x00004d4c arg  0x0000042b , 0x00000006 
+ 00028775  0x00004d4d call  0x00007c9a 
+ 00028776  0x00004d4f setarg  0x00006c65 
+ 00028777  0x00004d50 istore  0x00000002 , 0x00000005 
+ 00028778  0x00004d51 setarg  0x00006274 
+ 00028779  0x00004d52 istore  0x00000002 , 0x00000005 
+ 00028780  0x00004d53 istoret  0x00000001 , 0x00000005 
+ 00028781  0x00004d54 call  0x000070c9 
+ 00028782  0x00004d55 branch  0x0000708f 
+ 00028783  0x00004d58 fetch  0x00000006 , 0x00004472 
+ 00028784  0x00004d59 istore  0x00000006 , 0x00000005 
+ 00028785  0x00004d5a fetch  0x00000001 , 0x00004467 
+ 00028786  0x00004d5b istore  0x00000001 , 0x00000005 
+ 00028787  0x00004d5c rtn 
+ 00028788  0x00004d5f fetch  0x00000006 , 0x0000044b 
+ 00028789  0x00004d60 istore  0x00000006 , 0x00000005 
+ 00028790  0x00004d65 fetch  0x00000001 , 0x00004460 
+ 00028791  0x00004d66 istore  0x00000001 , 0x00000005 
+ 00028792  0x00004d67 rtn 
+ 00028793  0x00004d6a jam  0x00000041 , 0x000005e1 
+ 00028794  0x00004d6b fetch  0x00000001 , 0x00004636 
+ 00028795  0x00004d6c store  0x00000001 , 0x000005e2 
+ 00028796  0x00004d6d arg  0x000045a4 , 0x00000006 
+ 00028797  0x00004d6e call  0x00007c98 
+ 00028798  0x00004d6f arg  0x000009ba , 0x00000006 
+ 00028799  0x00004d70 call  0x00007c98 
+ 00028800  0x00004d71 call  0x000070c9 
+ 00028801  0x00004d72 arg  0x0000042b , 0x00000006 
+ 00028802  0x00004d73 call  0x000070c4 
+ 00028803  0x00004d74 branch  0x0000708f 
+ 00028804  0x00004d78 jam  0x00000041 , 0x000005e1 
+ 00028805  0x00004d79 fetch  0x00000001 , 0x00004636 
+ 00028806  0x00004d7a store  0x00000001 , 0x000005e2 
+ 00028807  0x00004d7b arg  0x000009ba , 0x00000006 
+ 00028808  0x00004d7c call  0x00007c98 
+ 00028809  0x00004d7d arg  0x000045a4 , 0x00000006 
+ 00028810  0x00004d7e call  0x00007c98 
+ 00028811  0x00004d7f call  0x000070c9 
+ 00028812  0x00004d80 arg  0x0000440c , 0x00000006 
+ 00028813  0x00004d81 call  0x000070c4 
+ 00028814  0x00004d82 branch  0x0000708f 
+ 00028815  0x00004d85 bpatchx  0x00000089 , 0x00004031 
+ 00028816  0x00004d86 call  0x000070de 
+ 00028817  0x00004d8a fetch  0x00000001 , 0x000005e1 
+ 00028818  0x00004d8b copy  0x0000003f , 0x00000002 
+ 00028819  0x00004d8d increase  0x0000000f , 0x0000003f 
+ 00028820  0x00004d8e rshift4  0x0000003f , 0x0000003f 
+ 00028821  0x00004d8f copy  0x0000003f , 0x00000012 
+ 00028822  0x00004d90 branch  0x000070a1 , 0x00000034 
+ 00028823  0x00004d91 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00028824  0x00004d92 nbranch  0x000070a4 , 0x00000034 
+ 00028825  0x00004d94 arg  0x00000ace , 0x00000013 
+ 00028826  0x00004d95 arg  0x000005e2 , 0x0000003f 
+ 00028827  0x00004d96 increase  0xfffffff0 , 0x0000003f 
+ 00028828  0x00004d99 iadd  0x00000002 , 0x00000011 
+ 00028829  0x00004d9a arg  0x00000afe , 0x00000005 
+ 00028830  0x00004d9b arg  0x00000004 , 0x00000039 
+ 00028831  0x00004d9c call  0x00007cb8 
+ 00028832  0x00004da0 branch  0x000070af 
+ 00028833  0x00004da3 arg  0x00000001 , 0x00000012 
+ 00028834  0x00004da4 arg  0x00000000 , 0x00000011 
+ 00028835  0x00004da6 branch  0x000070a5 
+ 00028836  0x00004dab and  0x00000002 , 0x0000000f , 0x00000011 
+ 00028837  0x00004dad arg  0x000005e2 , 0x0000003f 
+ 00028838  0x00004dae iadd  0x00000002 , 0x0000003f 
+ 00028839  0x00004daf isub  0x00000011 , 0x00000006 
+ 00028840  0x00004db1 arg  0x00000aee , 0x00000005 
+ 00028841  0x00004db2 call  0x00007104 
+ 00028842  0x00004db4 arg  0x00000ade , 0x00000013 
+ 00028843  0x00004db5 arg  0x00000aee , 0x00000011 
+ 00028844  0x00004db6 arg  0x00000afe , 0x00000005 
+ 00028845  0x00004db7 arg  0x00000004 , 0x00000039 
+ 00028846  0x00004db8 call  0x00007cb8 
+ 00028847  0x00004dc4 call  0x00007346 
+ 00028848  0x00004dc5 call  0x000072e8 
+ 00028849  0x00004dc8 arg  0x000005e2 , 0x00000006 
+ 00028850  0x00004dcb increase  0xffffffff , 0x00000012 
+ 00028851  0x00004dcc deposit  0x00000012 
+ 00028852  0x00004dcd branch  0x000070b8 , 0x00000034 
+ 00028853  0x00004dce call  0x0000733b 
+ 00028854  0x00004dcf call  0x000072dc 
+ 00028855  0x00004dd0 branch  0x000070b2 
+ 00028856  0x00004dd3 arg  0x00000aee , 0x00000005 
+ 00028857  0x00004dd4 call  0x0000734c 
+ 00028858  0x00004dd5 arg  0x00000afe , 0x00000006 
+ 00028859  0x00004dd6 call  0x0000733b 
+ 00028860  0x00004dd7 call  0x000072e8 
+ 00028861  0x00004dd8 arg  0x00000aee , 0x00000006 
+ 00028862  0x00004dd9 call  0x0000733b 
+ 00028863  0x00004dda branch  0x000072dc 
+ 00028864  0x00004de0 copy  0x00000005 , 0x00000011 
+ 00028865  0x00004de1 call  0x0000734c 
+ 00028866  0x00004de3 arg  0x00000010 , 0x00000039 
+ 00028867  0x00004de4 branch  0x00007cc0 
+ 00028868  0x00004de7 arg  0x00000abe , 0x00000005 
+ 00028869  0x00004de8 call  0x00007c9a 
+ 00028870  0x00004dea arg  0x00000010 , 0x00000039 
+ 00028871  0x00004deb arg  0x00000abe , 0x00000011 
+ 00028872  0x00004dec branch  0x00007cc0 
+ 00028873  0x00004def fetch  0x00000001 , 0x000005e1 
+ 00028874  0x00004df0 copy  0x0000003f , 0x00000039 
+ 00028875  0x00004df1 arg  0x000005e2 , 0x00000011 
+ 00028876  0x00004df2 branch  0x00007cc0 
+ 00028877  0x00004df5 ifetch  0x00000001 , 0x00000011 
+ 00028878  0x00004df6 lshift  0x0000003f , 0x0000003f 
+ 00028879  0x00004df7 isolate1  0x00000000 , 0x00000013 
+ 00028880  0x00004df8 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00028881  0x00004df9 isolate1  0x00000008 , 0x0000003f 
+ 00028882  0x00004dfa setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00028883  0x00004dfb istore  0x00000001 , 0x00000011 
+ 00028884  0x00004dfc increase  0xffffffff , 0x00000011 
+ 00028885  0x00004dfd loop  0x000070cd 
+ 00028886  0x00004dfe rtn 
+ 00028887  0x00004e01 arg  0x00000ace , 0x00000011 
+ 00028888  0x00004e03 increase  0x0000000f , 0x00000011 
+ 00028889  0x00004e04 force  0x00000010 , 0x00000039 
+ 00028890  0x00004e05 force  0x00000000 , 0x00000013 
+ 00028891  0x00004e06 branch  0x000070cd 
+ 00028892  0x00004e09 arg  0x00000ade , 0x00000011 
+ 00028893  0x00004e0a branch  0x000070d8 
+ 00028894  0x00004e0e arg  0x00000abe , 0x00000006 
+ 00028895  0x00004e0f call  0x00007338 
+ 00028896  0x00004e12 force  0x00000008 , 0x00000038 
+ 00028897  0x00004e13 call  0x00007347 
+ 00028898  0x00004e14 call  0x00007346 
+ 00028899  0x00004e16 call  0x000072d9 
+ 00028900  0x00004e1b arg  0x00000ace , 0x00000005 
+ 00028901  0x00004e1c call  0x0000734c 
+ 00028902  0x00004e1e bpatchx  0x0000008a , 0x00004031 
+ 00028903  0x00004e1f fetch  0x00000001 , 0x00000ace 
+ 00028904  0x00004e20 isolate1  0x00000007 , 0x0000003f 
+ 00028905  0x00004e21 nbranch  0x000070ef , 0x00000001 
+ 00028906  0x00004e22 call  0x000070d7 
+ 00028907  0x00004e25 arg  0x00000ace , 0x00000013 
+ 00028908  0x00004e27 arg  0x00000ace , 0x00000005 
+ 00028909  0x00004e2a call  0x000070f9 
+ 00028910  0x00004e2b branch  0x000070f0 
+ 00028911  0x00004e2d call  0x000070d7 
+ 00028912  0x00004e30 arg  0x00000ace , 0x00000006 
+ 00028913  0x00004e31 arg  0x00000ade , 0x00000005 
+ 00028914  0x00004e32 call  0x00007c9a 
+ 00028915  0x00004e33 fetch  0x00000001 , 0x00000ade 
+ 00028916  0x00004e34 isolate1  0x00000007 , 0x0000003f 
+ 00028917  0x00004e35 nbranch  0x000070dc , 0x00000001 
+ 00028918  0x00004e36 call  0x000070dc 
+ 00028919  0x00004e38 arg  0x00000ade , 0x00000013 
+ 00028920  0x00004e3a arg  0x00000ade , 0x00000005 
+ 00028921  0x00004e41 arg  0x00000003 , 0x00000039 
+ 00028922  0x00004e43 arg  0x00000000 , 0x00000002 
+ 00028923  0x00004e44 call  0x00007100 
+ 00028924  0x00004e45 increase  0x00000004 , 0x00000013 
+ 00028925  0x00004e46 loop  0x000070fa 
+ 00028926  0x00004e47 arg  0x00008700 , 0x00000002 
+ 00028927  0x00004e48 lshift16  0x00000002 , 0x00000002 
+ 00028928  0x00004e4a ifetch  0x00000004 , 0x00000013 
+ 00028929  0x00004e4b ixor  0x00000002 , 0x0000003f 
+ 00028930  0x00004e4c istore  0x00000004 , 0x00000005 
+ 00028931  0x00004e4d rtn 
+ 00028932  0x00004e54 bpatchx  0x0000008b , 0x00004031 
+ 00028933  0x00004e55 arg  0x00000010 , 0x00000039 
+ 00028934  0x00004e56 arg  0x00000000 , 0x0000003f 
+ 00028935  0x00004e58 isub  0x00000011 , 0x0000003e 
+ 00028936  0x00004e59 branch  0x0000710f , 0x00000005 
+ 00028937  0x00004e5a branch  0x00007112 , 0x00000002 
+ 00028938  0x00004e5b ifetcht  0x00000001 , 0x00000006 
+ 00028939  0x00004e5c istoret  0x00000001 , 0x00000005 
+ 00028940  0x00004e5e increase  0x00000001 , 0x0000003f 
+ 00028941  0x00004e5f loop  0x00007107 
+ 00028942  0x00004e60 rtn 
+ 00028943  0x00004e62 arg  0x00000080 , 0x00000002 
+ 00028944  0x00004e64 istoret  0x00000001 , 0x00000005 
+ 00028945  0x00004e65 branch  0x0000710c 
+ 00028946  0x00004e68 arg  0x00000000 , 0x00000002 
+ 00028947  0x00004e69 branch  0x00007110 
+ 00028948  0x00004e6d call  0x00007127 
+ 00028949  0x00004e6e arg  0x0000058e , 0x00000006 
+ 00028950  0x00004e6f arg  0x0000057e , 0x00000005 
+ 00028951  0x00004e70 branch  0x00007c9a 
+ 00028952  0x00004e74 disable  0x00000028 
+ 00028953  0x00004e75 call  0x00007215 
+ 00028954  0x00004e76 arg  0x0000055e , 0x00000006 
+ 00028955  0x00004e77 arg  0x0000059e , 0x00000005 
+ 00028956  0x00004e78 force  0x0000000f , 0x00000039 
+ 00028957  0x00004e79 call  0x00007cdc 
+ 00028958  0x00004e7a ifetch  0x00000001 , 0x00000006 
+ 00028959  0x00004e7b xor_into  0x00000006 , 0x0000003f 
+ 00028960  0x00004e7c istore  0x00000001 , 0x00000005 
+ 00028961  0x00004e7d setarg  0x000005ae 
+ 00028962  0x00004e7e store  0x00000002 , 0x000005d2 
+ 00028963  0x00004e7f setarg  0x0000059e 
+ 00028964  0x00004e80 store  0x00000002 , 0x000005d0 
+ 00028965  0x00004e81 set1  0x00000012 , 0x00000000 
+ 00028966  0x00004e82 branch  0x00007167 
+ 00028967  0x00004e87 fetcht  0x00000001 , 0x00004657 
+ 00028968  0x00004e88 force  0x00000010 , 0x00000012 
+ 00028969  0x00004e89 add  0x00000002 , 0x00000006 , 0x00000013 
+ 00028970  0x00004e8a sub  0x00000013 , 0x00000010 , 0x0000003e 
+ 00028971  0x00004e8b branch  0x0000712d , 0x00000002 
+ 00028972  0x00004e8c force  0x00000010 , 0x00000013 
+ 00028973  0x00004e8e arg  0x0000059e , 0x00000005 
+ 00028974  0x00004e90 arg  0x00004658 , 0x00000006 
+ 00028975  0x00004e91 copy  0x00000002 , 0x00000039 
+ 00028976  0x00004e92 disable  0x00000028 
+ 00028977  0x00004e94 ifetch  0x00000001 , 0x00000006 
+ 00028978  0x00004e95 istore  0x00000001 , 0x00000005 
+ 00028979  0x00004e96 increase  0xffffffff , 0x00000012 
+ 00028980  0x00004e97 branch  0x0000713b , 0x00000005 
+ 00028981  0x00004e98 loop  0x00007131 
+ 00028982  0x00004e99 branch  0x0000712e , 0x00000028 
+ 00028983  0x00004e9a enable  0x00000028 
+ 00028984  0x00004e9b force  0x00000006 , 0x00000039 
+ 00028985  0x00004e9c copy  0x00000011 , 0x00000006 
+ 00028986  0x00004e9d branch  0x00007131 
+ 00028987  0x00004e9f arg  0x0000055e , 0x00000006 
+ 00028988  0x00004ea0 arg  0x000005ae , 0x00000005 
+ 00028989  0x00004ea1 call  0x00007c9a 
+ 00028990  0x00004ea2 fetch  0x00000001 , 0x000005bd 
+ 00028991  0x00004ea3 ixor  0x00000013 , 0x0000003f 
+ 00028992  0x00004ea4 store  0x00000001 , 0x000005bd 
+ 00028993  0x00004ea5 setarg  0x000005ae 
+ 00028994  0x00004ea6 store  0x00000002 , 0x000005d2 
+ 00028995  0x00004ea7 setarg  0x0000059e 
+ 00028996  0x00004ea8 store  0x00000002 , 0x000005d0 
+ 00028997  0x00004ea9 set1  0x00000012 , 0x00000000 
+ 00028998  0x00004eaa branch  0x00007167 
+ 00028999  0x00004eb0 disable  0x00000028 
+ 00029000  0x00004eb1 call  0x00007215 
+ 00029001  0x00004eb2 branch  0x00007151 
+ 00029002  0x00004eb5 arg  0x00000056 , 0x00000011 
+ 00029003  0x00004eb6 enable  0x00000028 
+ 00029004  0x00004eb7 call  0x00007215 
+ 00029005  0x00004eb8 call  0x00007151 
+ 00029006  0x00004eb9 arg  0x0000058e , 0x00000006 
+ 00029007  0x00004eba arg  0x00000062 , 0x00000005 
+ 00029008  0x00004ebb branch  0x00007c9a 
+ 00029009  0x00004ebf setarg  0x0000055e 
+ 00029010  0x00004ec0 store  0x00000002 , 0x000005d2 
+ 00029011  0x00004ec1 setarg  0x000041bf 
+ 00029012  0x00004ec2 store  0x00000002 , 0x000005d0 
+ 00029013  0x00004ec3 set0  0x00000012 , 0x00000000 
+ 00029014  0x00004ec4 call  0x00007167 
+ 00029015  0x00004ec5 arg  0x0000058e , 0x00000011 
+ 00029016  0x00004ec6 arg  0x0000055e , 0x00000012 
+ 00029017  0x00004ec7 arg  0x0000059e , 0x00000005 
+ 00029018  0x00004ec8 call  0x00007208 
+ 00029019  0x00004ec9 arg  0x0000059e , 0x00000011 
+ 00029020  0x00004eca arg  0x000005ae , 0x00000012 
+ 00029021  0x00004ecb copy  0x00000012 , 0x00000005 
+ 00029022  0x00004ecc enable  0x00000028 
+ 00029023  0x00004ecd call  0x00007206 
+ 00029024  0x00004ece call  0x00007220 
+ 00029025  0x00004ecf setarg  0x000005ae 
+ 00029026  0x00004ed0 store  0x00000002 , 0x000005d2 
+ 00029027  0x00004ed1 setarg  0x0000059e 
+ 00029028  0x00004ed2 store  0x00000002 , 0x000005d0 
+ 00029029  0x00004ed3 set1  0x00000012 , 0x00000000 
+ 00029030  0x00004ed4 branch  0x00007167 
+ 00029031  0x00004ed9 jam  0x00000000 , 0x000005d4 
+ 00029032  0x00004eda fetch  0x00000002 , 0x000005d0 
+ 00029033  0x00004edb iforce  0x00000006 
+ 00029034  0x00004edc arg  0x000005be , 0x00000005 
+ 00029035  0x00004edd call  0x00007c9a 
+ 00029036  0x00004ede fetch  0x00000002 , 0x000005d2 
+ 00029037  0x00004edf iforce  0x00000006 
+ 00029038  0x00004ee0 arg  0x0000058e , 0x00000005 
+ 00029039  0x00004ee1 call  0x00007c9a 
+ 00029040  0x00004ee4 call  0x0000718d 
+ 00029041  0x00004ee5 disable  0x00000028 
+ 00029042  0x00004ee6 bmark0  0x00000012 , 0x00007177 
+ 00029043  0x00004ee7 fetch  0x00000001 , 0x000005d4 
+ 00029044  0x00004ee8 bne  0x00000004 , 0x00007177 
+ 00029045  0x00004ee9 fetchr  0x00000012 , 0x00000002 , 0x000005d2 
+ 00029046  0x00004eea call  0x000071bf 
+ 00029047  0x00004eec call  0x000071be 
+ 00029048  0x00004eed call  0x000071d0 
+ 00029049  0x00004eee fetch  0x00000001 , 0x000005d4 
+ 00029050  0x00004eef increase  0x00000001 , 0x0000003f 
+ 00029051  0x00004ef0 store  0x00000001 , 0x000005d4 
+ 00029052  0x00004ef2 call  0x0000718d 
+ 00029053  0x00004ef3 enable  0x00000028 
+ 00029054  0x00004ef4 call  0x000071be 
+ 00029055  0x00004ef5 call  0x000071df 
+ 00029056  0x00004ef6 call  0x000071ec 
+ 00029057  0x00004ef7 call  0x000071df 
+ 00029058  0x00004ef8 call  0x000071ec 
+ 00029059  0x00004ef9 call  0x000071df 
+ 00029060  0x00004efa call  0x000071ec 
+ 00029061  0x00004efb call  0x000071df 
+ 00029062  0x00004efc fetch  0x00000001 , 0x000005d4 
+ 00029063  0x00004efd increase  0x00000001 , 0x0000003f 
+ 00029064  0x00004efe store  0x00000001 , 0x000005d4 
+ 00029065  0x00004eff bne  0x00000010 , 0x00007170 
+ 00029066  0x00004f00 call  0x0000718d 
+ 00029067  0x00004f01 disable  0x00000028 
+ 00029068  0x00004f02 branch  0x000071be 
+ 00029069  0x00004f07 fetch  0x00000001 , 0x000005d4 
+ 00029070  0x00004f08 arg  0x000005be , 0x00000006 
+ 00029071  0x00004f09 branch  0x000071b4 , 0x00000034 
+ 00029072  0x00004f0a iforce  0x00000012 
+ 00029073  0x00004f0b force  0x00000011 , 0x00000039 
+ 00029074  0x00004f0c copy  0x00000006 , 0x00000005 
+ 00029075  0x00004f0e ifetch  0x00000001 , 0x00000006 
+ 00029076  0x00004f0f lshift3  0x0000003f , 0x00000002 
+ 00029077  0x00004f10 rshift2  0x0000003f , 0x0000003f 
+ 00029078  0x00004f11 rshift3  0x0000003f , 0x0000003f 
+ 00029079  0x00004f12 ior  0x00000002 , 0x0000003f 
+ 00029080  0x00004f13 istore  0x00000001 , 0x00000005 
+ 00029081  0x00004f14 loop  0x00007193 
+ 00029082  0x00004f15 setarg  0x000005be 
+ 00029083  0x00004f16 iadd  0x00000012 , 0x00000006 
+ 00029084  0x00004f17 force  0x00000010 , 0x00000039 
+ 00029085  0x00004f18 arg  0x0000056e , 0x00000005 
+ 00029086  0x00004f1a ifetch  0x00000001 , 0x00000006 
+ 00029087  0x00004f1b istore  0x00000001 , 0x00000005 
+ 00029088  0x00004f1c compare  0x000005cf , 0x00000006 , 0x000000ff 
+ 00029089  0x00004f1d nbranch  0x000071a3 , 0x00000001 
+ 00029090  0x00004f1e increase  0xffffffef , 0x00000006 
+ 00029091  0x00004f20 loop  0x0000719e 
+ 00029092  0x00004f21 force  0x00000000 , 0x00000011 
+ 00029093  0x00004f22 add  0x00000012 , 0xffffffff , 0x00000013 
+ 00029094  0x00004f23 lshift2  0x00000013 , 0x00000013 
+ 00029095  0x00004f24 lshift2  0x00000013 , 0x00000013 
+ 00029096  0x00004f25 call  0x0000736e 
+ 00029097  0x00004f26 setarg  0x00008400 
+ 00029098  0x00004f27 iadd  0x00000013 , 0x00000013 
+ 00029099  0x00004f28 arg  0x0000056e , 0x00000005 
+ 00029100  0x00004f29 force  0x00000010 , 0x00000039 
+ 00029101  0x00004f2b ifetcht  0x00000001 , 0x00000013 
+ 00029102  0x00004f2c ifetch  0x00000001 , 0x00000005 
+ 00029103  0x00004f2d iadd  0x00000002 , 0x0000003f 
+ 00029104  0x00004f2e istore  0x00000001 , 0x00000005 
+ 00029105  0x00004f2f increase  0x00000001 , 0x00000013 
+ 00029106  0x00004f30 loop  0x000071ad 
+ 00029107  0x00004f31 branch  0x00007372 
+ 00029108  0x00004f34 force  0x00000010 , 0x00000039 
+ 00029109  0x00004f35 force  0x00000000 , 0x00000002 
+ 00029110  0x00004f37 ifetch  0x00000001 , 0x00000006 
+ 00029111  0x00004f38 ixor  0x00000002 , 0x00000002 
+ 00029112  0x00004f39 loop  0x000071b6 
+ 00029113  0x00004f3a deposit  0x00000002 
+ 00029114  0x00004f3b istore  0x00000001 , 0x00000006 
+ 00029115  0x00004f3c arg  0x000005be , 0x00000006 
+ 00029116  0x00004f3d arg  0x0000056e , 0x00000005 
+ 00029117  0x00004f3e branch  0x00007c9a 
+ 00029118  0x00004f41 arg  0x0000056e , 0x00000012 
+ 00029119  0x00004f43 force  0x00000010 , 0x00000039 
+ 00029120  0x00004f44 arg  0x0000058e , 0x00000011 
+ 00029121  0x00004f45 copy  0x00000011 , 0x00000005 
+ 00029122  0x00004f47 ifetcht  0x00000001 , 0x00000011 
+ 00029123  0x00004f48 ifetch  0x00000001 , 0x00000012 
+ 00029124  0x00004f49 ixor  0x00000002 , 0x00000030 
+ 00029125  0x00004f4a and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029126  0x00004f4b nbranch  0x000071c8 , 0x00000028 
+ 00029127  0x00004f4c xor_into  0x00000003 , 0x00000013 
+ 00029128  0x00004f4e sub  0x00000013 , 0x00000001 , 0x00000013 
+ 00029129  0x00004f4f branch  0x000071cb , 0x00000002 
+ 00029130  0x00004f50 iadd  0x00000002 , 0x00000030 
+ 00029131  0x00004f52 istorer  0x00000030 , 0x00000001 , 0x00000005 
+ 00029132  0x00004f53 increase  0x00000001 , 0x00000011 
+ 00029133  0x00004f54 increase  0x00000001 , 0x00000012 
+ 00029134  0x00004f55 loop  0x000071c2 
+ 00029135  0x00004f56 rtn 
+ 00029136  0x00004f59 call  0x0000736e 
+ 00029137  0x00004f5a force  0x00000010 , 0x00000039 
+ 00029138  0x00004f5b arg  0x0000058e , 0x00000011 
+ 00029139  0x00004f5d ifetch  0x00000001 , 0x00000011 
+ 00029140  0x00004f5e arg  0x00008500 , 0x00000006 
+ 00029141  0x00004f5f and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029142  0x00004f60 sub  0x00000013 , 0x00000001 , 0x0000003e 
+ 00029143  0x00004f61 branch  0x000071d9 , 0x00000002 
+ 00029144  0x00004f62 arg  0x00008600 , 0x00000006 
+ 00029145  0x00004f64 iadd  0x00000006 , 0x00000006 
+ 00029146  0x00004f65 ifetch  0x00000001 , 0x00000006 
+ 00029147  0x00004f66 istore  0x00000001 , 0x00000011 
+ 00029148  0x00004f67 increase  0x00000001 , 0x00000011 
+ 00029149  0x00004f68 loop  0x000071d3 
+ 00029150  0x00004f69 branch  0x00007372 
+ 00029151  0x00004f6c force  0x00000008 , 0x00000039 
+ 00029152  0x00004f6d arg  0x0000058e , 0x00000006 
+ 00029153  0x00004f6e copy  0x00000006 , 0x00000005 
+ 00029154  0x00004f70 ifetchr  0x00000011 , 0x00000001 , 0x00000006 
+ 00029155  0x00004f71 ifetchr  0x00000012 , 0x00000001 , 0x00000006 
+ 00029156  0x00004f72 lshift  0x00000011 , 0x0000003f 
+ 00029157  0x00004f73 iadd  0x00000012 , 0x0000003f 
+ 00029158  0x00004f74 istore  0x00000001 , 0x00000005 
+ 00029159  0x00004f75 deposit  0x00000011 
+ 00029160  0x00004f76 iadd  0x00000012 , 0x0000003f 
+ 00029161  0x00004f77 istore  0x00000001 , 0x00000005 
+ 00029162  0x00004f78 loop  0x000071e2 
+ 00029163  0x00004f79 rtn 
+ 00029164  0x00004f7d setarg  0x008ae42c 
+ 00029165  0x00004f7e iforce  0x00000002 
+ 00029166  0x00004f7f force  0x00000007 , 0x00000039 
+ 00029167  0x00004f80 call  0x000071f9 
+ 00029168  0x00004f81 setarg  0x000d751b 
+ 00029169  0x00004f82 iforce  0x00000002 
+ 00029170  0x00004f83 force  0x00000005 , 0x00000039 
+ 00029171  0x00004f84 call  0x000071f9 
+ 00029172  0x00004f85 fetchr  0x00000011 , 0x00000001 , 0x0000059d 
+ 00029173  0x00004f86 fetch  0x00000001 , 0x00000591 
+ 00029174  0x00004f87 store  0x00000001 , 0x0000059d 
+ 00029175  0x00004f88 storer  0x00000011 , 0x00000001 , 0x00000591 
+ 00029176  0x00004f89 rtn 
+ 00029177  0x00004f8c and  0x00000002 , 0x0000000f , 0x00000012 
+ 00029178  0x00004f8e and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029179  0x00004f8f arg  0x0000058e , 0x00000005 
+ 00029180  0x00004f90 iadd  0x00000005 , 0x00000005 
+ 00029181  0x00004f91 ifetchr  0x00000013 , 0x00000001 , 0x00000005 
+ 00029182  0x00004f92 istorer  0x00000011 , 0x00000001 , 0x00000005 
+ 00029183  0x00004f93 copy  0x00000013 , 0x00000011 
+ 00029184  0x00004f94 rshift4  0x00000002 , 0x00000002 
+ 00029185  0x00004f95 loop  0x000071fa 
+ 00029186  0x00004f96 setarg  0x0000058e 
+ 00029187  0x00004f97 iadd  0x00000012 , 0x00000005 
+ 00029188  0x00004f98 istorer  0x00000011 , 0x00000001 , 0x00000005 
+ 00029189  0x00004f99 rtn 
+ 00029190  0x00004f9c enable  0x00000028 
+ 00029191  0x00004f9d branch  0x00007209 
+ 00029192  0x00004fa0 disable  0x00000028 
+ 00029193  0x00004fa2 force  0x00000010 , 0x00000039 
+ 00029194  0x00004fa4 ifetcht  0x00000001 , 0x00000011 
+ 00029195  0x00004fa5 ifetch  0x00000001 , 0x00000012 
+ 00029196  0x00004fa6 branch  0x0000720f , 0x00000028 
+ 00029197  0x00004fa7 ixor  0x00000002 , 0x0000003f 
+ 00029198  0x00004fa8 branch  0x00007210 
+ 00029199  0x00004faa iadd  0x00000002 , 0x0000003f 
+ 00029200  0x00004fac istore  0x00000001 , 0x00000005 
+ 00029201  0x00004fad increase  0x00000001 , 0x00000011 
+ 00029202  0x00004fae increase  0x00000001 , 0x00000012 
+ 00029203  0x00004faf loop  0x0000720a 
+ 00029204  0x00004fb0 rtn 
+ 00029205  0x00004fb4 arg  0x000005ae , 0x00000005 
+ 00029206  0x00004fb5 ifetch  0x00000006 , 0x00000011 
+ 00029207  0x00004fb6 istore  0x00000006 , 0x00000005 
+ 00029208  0x00004fb7 branch  0x0000721b , 0x00000028 
+ 00029209  0x00004fb8 ifetch  0x00000006 , 0x00000011 
+ 00029210  0x00004fb9 branch  0x0000721c 
+ 00029211  0x00004fbb ifetch  0x00000006 , 0x00000006 
+ 00029212  0x00004fbd istore  0x00000006 , 0x00000005 
+ 00029213  0x00004fbe ifetch  0x00000004 , 0x00000011 
+ 00029214  0x00004fbf istore  0x00000004 , 0x00000005 
+ 00029215  0x00004fc0 rtn 
+ 00029216  0x00004fc3 arg  0x000041bf , 0x00000006 
+ 00029217  0x00004fc4 arg  0x0000059e , 0x00000005 
+ 00029218  0x00004fc5 arg  0x00000000 , 0x00000002 
+ 00029219  0x00004fc6 setarg  0x008395a7 
+ 00029220  0x00004fc7 call  0x00007241 
+ 00029221  0x00004fc8 setarg  0x00b3c1df 
+ 00029222  0x00004fc9 call  0x00007241 
+ 00029223  0x00004fca setarg  0x0000e5e9 
+ 00029224  0x00004fcb call  0x00007242 
+ 00029225  0x00004fcc copy  0x00000002 , 0x00000014 
+ 00029226  0x00004fcd disable  0x00000028 
+ 00029227  0x00004fce call  0x0000722f 
+ 00029228  0x00004fcf copy  0x00000014 , 0x00000002 
+ 00029229  0x00004fd0 enable  0x00000028 
+ 00029230  0x00004fd1 branch  0x0000722f 
+ 00029231  0x00004fd4 force  0x00000008 , 0x00000039 
+ 00029232  0x00004fd6 ifetch  0x00000001 , 0x00000006 
+ 00029233  0x00004fd7 compare  0x00000001 , 0x00000039 , 0x00000001 
+ 00029234  0x00004fd8 branch  0x00007236 , 0x00000028 
+ 00029235  0x00004fd9 branch  0x00007237 , 0x00000001 
+ 00029236  0x00004fdb iadd  0x00000002 , 0x0000003f 
+ 00029237  0x00004fdc branch  0x00007238 
+ 00029238  0x00004fde branch  0x00007234 , 0x00000001 
+ 00029239  0x00004fe0 ixor  0x00000002 , 0x0000003f 
+ 00029240  0x00004fe2 istore  0x00000001 , 0x00000005 
+ 00029241  0x00004fe3 rshift8  0x00000002 , 0x00000002 
+ 00029242  0x00004fe4 loop  0x00007230 
+ 00029243  0x00004fe5 rtn 
+ 00029244  0x00004fe8 fetch  0x00000006 , 0x00000592 
+ 00029245  0x00004fe9 store  0x00000006 , 0x00000056 
+ 00029246  0x00004fea ifetch  0x00000006 , 0x00000006 
+ 00029247  0x00004feb istore  0x00000006 , 0x00000005 
+ 00029248  0x00004fec rtn 
+ 00029249  0x00004fef lshift8  0x00000002 , 0x00000002 
+ 00029250  0x00004ff1 lshift16  0x00000002 , 0x00000002 
+ 00029251  0x00004ff2 ior  0x00000002 , 0x00000002 
+ 00029252  0x00004ff3 rtn 
+ 00029253  0x00004ff8 branch  0x00007245 
+ 00029254  0x00004ffd bpatchx  0x0000008c , 0x00004031 
+ 00029255  0x00004ffe call  0x000072eb 
+ 00029256  0x00004fff arg  0x000043eb , 0x00000005 
+ 00029257  0x00005000 branch  0x0000734c 
+ 00029258  0x00005004 arg  0x0000440c , 0x00000005 
+ 00029259  0x00005005 branch  0x0000724d , 0x00000029 
+ 00029260  0x00005006 arg  0x0000042b , 0x00000005 
+ 00029261  0x00005008 copy  0x00000006 , 0x00000011 
+ 00029262  0x00005009 call  0x00007c9a 
+ 00029263  0x0000500a call  0x000072fd 
+ 00029264  0x0000500b arg  0x000043fc , 0x00000006 
+ 00029265  0x0000500c branch  0x00007365 
+ 00029266  0x0000500f arg  0x0000042b , 0x00000011 
+ 00029267  0x00005010 branch  0x00007255 , 0x00000029 
+ 00029268  0x00005011 arg  0x0000440c , 0x00000011 
+ 00029269  0x00005013 copy  0x00000011 , 0x00000005 
+ 00029270  0x00005014 call  0x000066ee 
+ 00029271  0x00005015 branch  0x000072fd 
+ 00029272  0x00005018 arg  0x0000447c , 0x00000006 
+ 00029273  0x00005019 call  0x0000733b 
+ 00029274  0x0000501a arg  0x000043eb , 0x00000006 
+ 00029275  0x0000501b call  0x00007338 
+ 00029276  0x0000501c force  0x00000050 , 0x00000036 
+ 00029277  0x0000501d force  0x00000000 , 0x00000036 
+ 00029278  0x0000501e call  0x000072d1 
+ 00029279  0x0000501f arg  0x00000478 , 0x00000005 
+ 00029280  0x00005020 branch  0x0000734c 
+ 00029281  0x00005024 force  0x00000049 , 0x0000003f 
+ 00029282  0x00005025 branch  0x00007264 
+ 00029283  0x00005027 force  0x00000001 , 0x0000003f 
+ 00029284  0x00005029 force  0x00000000 , 0x00000038 
+ 00029285  0x0000502a lshift8  0x00000002 , 0x0000002f 
+ 00029286  0x0000502b ior  0x0000002f , 0x0000002f 
+ 00029287  0x0000502c increase  0x00000001 , 0x00000038 
+ 00029288  0x0000502d rshift8  0x00000002 , 0x0000002f 
+ 00029289  0x0000502e rshift16  0x0000002f , 0x0000002f 
+ 00029290  0x0000502f fetch  0x00000002 , 0x000043e3 
+ 00029291  0x00005030 lshift16  0x0000003f , 0x0000003f 
+ 00029292  0x00005031 ior  0x0000002f , 0x0000002f 
+ 00029293  0x00005032 increase  0x00000001 , 0x00000038 
+ 00029294  0x00005033 ifetch  0x00000004 , 0x00000006 
+ 00029295  0x00005034 iforce  0x0000002f 
+ 00029296  0x00005035 increase  0x00000001 , 0x00000038 
+ 00029297  0x00005036 ifetch  0x00000002 , 0x00000006 
+ 00029298  0x00005037 byteswap  0x00000011 , 0x0000002f 
+ 00029299  0x00005038 lshift16  0x0000002f , 0x0000002f 
+ 00029300  0x00005039 ior  0x0000002f , 0x0000002f 
+ 00029301  0x0000503a increase  0x00000001 , 0x00000038 
+ 00029302  0x0000503b rtn 
+ 00029303  0x00005040 add  0x00000013 , 0x00000001 , 0x00000006 
+ 00029304  0x00005041 ifetchr  0x00000011 , 0x00000001 , 0x00000006 
+ 00029305  0x00005042 call  0x00007261 
+ 00029306  0x00005043 call  0x000072d9 
+ 00029307  0x00005045 force  0x00000000 , 0x00000038 
+ 00029308  0x00005046 ifetch  0x00000001 , 0x00000013 
+ 00029309  0x00005047 and_into  0x00000003 , 0x0000003f 
+ 00029310  0x00005048 lshift16  0x0000003f , 0x0000002f 
+ 00029311  0x00005049 set1  0x00000008 , 0x0000002f 
+ 00029312  0x0000504a call  0x00007344 
+ 00029313  0x0000504b call  0x000072dc 
+ 00029314  0x0000504d copy  0x00000011 , 0x00000039 
+ 00029315  0x0000504e add  0x00000013 , 0x00000002 , 0x00000006 
+ 00029316  0x0000504f call  0x00007320 
+ 00029317  0x00005051 call  0x0000732a 
+ 00029318  0x00005052 call  0x000072dc 
+ 00029319  0x00005053 deposit  0x00000039 
+ 00029320  0x00005054 branch  0x0000728a , 0x00000034 
+ 00029321  0x00005055 branch  0x00007285 
+ 00029322  0x00005057 force  0x0000000c , 0x00000038 
+ 00029323  0x00005058 copy  0x0000002f , 0x00000012 
+ 00029324  0x00005059 storer  0x00000012 , 0x00000004 , 0x00000413 
+ 00029325  0x0000505a rtn 
+ 00029326  0x0000505d increase  0x00000001 , 0x00000011 
+ 00029327  0x0000505e call  0x00007263 
+ 00029328  0x0000505f call  0x000072e8 
+ 00029329  0x00005060 copy  0x00000013 , 0x00000006 
+ 00029330  0x00005061 call  0x0000733b 
+ 00029331  0x00005062 call  0x000072df 
+ 00029332  0x00005063 call  0x00007353 
+ 00029333  0x00005064 increase  0x00000010 , 0x00000013 
+ 00029334  0x00005065 increase  0xfffffff0 , 0x00000012 
+ 00029335  0x00005066 branch  0x0000728e , 0x00000002 
+ 00029336  0x00005067 rtn 
+ 00029337  0x0000506a bpatchx  0x0000008d , 0x00004031 
+ 00029338  0x0000506b arg  0x000043ae , 0x00000013 
+ 00029339  0x0000506c fetcht  0x00000005 , 0x000043d5 
+ 00029340  0x0000506d call  0x00007277 
+ 00029341  0x0000506e force  0x00000000 , 0x00000011 
+ 00029342  0x0000506f call  0x00007263 
+ 00029343  0x00005070 call  0x000072e8 
+ 00029344  0x00005071 force  0x00000000 , 0x00000038 
+ 00029345  0x00005072 copy  0x00000012 , 0x0000002f 
+ 00029346  0x00005073 call  0x000072df 
+ 00029347  0x00005074 arg  0x000043b0 , 0x00000013 
+ 00029348  0x00005075 fetch  0x00000001 , 0x000043af 
+ 00029349  0x00005076 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029350  0x00005077 iadd  0x00000013 , 0x00000005 
+ 00029351  0x00005078 force  0x0000000c , 0x00000038 
+ 00029352  0x00005079 istorer  0x0000002f , 0x00000004 , 0x00000005 
+ 00029353  0x0000507a force  0x00000000 , 0x00000011 
+ 00029354  0x0000507b call  0x0000728e 
+ 00029355  0x0000507c fetch  0x00000001 , 0x000043af 
+ 00029356  0x0000507d increase  0x00000004 , 0x0000003f 
+ 00029357  0x0000507e store  0x00000001 , 0x000043af 
+ 00029358  0x0000507f fetcht  0x00000005 , 0x000043d5 
+ 00029359  0x00005080 increase  0x00000001 , 0x00000002 
+ 00029360  0x00005081 storet  0x00000005 , 0x000043d5 
+ 00029361  0x00005082 rtn 
+ 00029362  0x00005085 fetcht  0x00000005 , 0x000043da 
+ 00029363  0x00005086 force  0x00000000 , 0x00000011 
+ 00029364  0x00005087 call  0x00007263 
+ 00029365  0x00005088 call  0x000072e8 
+ 00029366  0x00005089 fetch  0x00000001 , 0x000002d6 
+ 00029367  0x0000508a arg  0x000002d7 , 0x00000013 
+ 00029368  0x0000508b add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029369  0x0000508c increase  0xfffffffc , 0x0000003f 
+ 00029370  0x0000508d store  0x00000001 , 0x000002d6 
+ 00029371  0x0000508e iadd  0x00000013 , 0x00000006 
+ 00029372  0x0000508f force  0x00000000 , 0x00000038 
+ 00029373  0x00005090 ifetchr  0x0000002f , 0x00000004 , 0x00000006 
+ 00029374  0x00005091 call  0x000072df 
+ 00029375  0x00005092 force  0x0000000c , 0x00000038 
+ 00029376  0x00005093 storer  0x0000002f , 0x00000004 , 0x00000417 
+ 00029377  0x00005094 force  0x00000000 , 0x00000011 
+ 00029378  0x00005095 call  0x0000728e 
+ 00029379  0x00005096 arg  0x000002d5 , 0x00000013 
+ 00029380  0x00005097 call  0x00007277 
+ 00029381  0x00005098 fetch  0x00000004 , 0x00000417 
+ 00029382  0x00005099 isub  0x00000012 , 0x0000003f 
+ 00029383  0x0000509a nrtn  0x00000034 
+ 00029384  0x0000509b fetch  0x00000004 , 0x000043df 
+ 00029385  0x0000509c isub  0x00000012 , 0x0000003f 
+ 00029386  0x0000509d rtn  0x00000034 
+ 00029387  0x0000509e storet  0x00000004 , 0x000043df 
+ 00029388  0x0000509f fetch  0x00000005 , 0x000043da 
+ 00029389  0x000050a0 increase  0x00000001 , 0x0000003f 
+ 00029390  0x000050a1 store  0x00000005 , 0x000043da 
+ 00029391  0x000050a2 force  0x00000000 , 0x0000003f 
+ 00029392  0x000050a3 rtn 
+ 00029393  0x000050a6 nbranch  0x000072d1 , 0x00000037 
+ 00029394  0x000050a7 rtn 
+ 00029395  0x000050ab force  0x00000048 , 0x00000036 
+ 00029396  0x000050ac force  0x00000008 , 0x00000036 
+ 00029397  0x000050ad branch  0x000072d1 
+ 00029398  0x000050b0 force  0x00000044 , 0x00000036 
+ 00029399  0x000050b1 force  0x00000004 , 0x00000036 
+ 00029400  0x000050b2 branch  0x000072d1 
+ 00029401  0x000050b5 force  0x00000040 , 0x00000036 
+ 00029402  0x000050b6 force  0x00000000 , 0x00000036 
+ 00029403  0x000050b7 branch  0x000072d1 
+ 00029404  0x000050bb force  0x00000041 , 0x00000036 
+ 00029405  0x000050bc force  0x00000000 , 0x00000036 
+ 00029406  0x000050bd branch  0x000072d1 
+ 00029407  0x000050c0 force  0x00000042 , 0x00000036 
+ 00029408  0x000050c1 force  0x00000002 , 0x00000036 
+ 00029409  0x000050c2 branch  0x000072d1 
+ 00029410  0x000050c5 force  0x00000050 , 0x00000036 
+ 00029411  0x000050c6 force  0x00000010 , 0x00000036 
+ 00029412  0x000050c7 branch  0x000072d1 
+ 00029413  0x000050ca force  0x00000051 , 0x00000036 
+ 00029414  0x000050cb force  0x00000010 , 0x00000036 
+ 00029415  0x000050cc branch  0x000072d1 
+ 00029416  0x000050d0 force  0x00000020 , 0x00000036 
+ 00029417  0x000050d1 force  0x00000000 , 0x00000036 
+ 00029418  0x000050d2 rtn 
+ 00029419  0x000050d5 force  0x00000000 , 0x00000038 
+ 00029420  0x000050d6 fetch  0x00000004 , 0x0000042b 
+ 00029421  0x000050d7 iforce  0x0000002f 
+ 00029422  0x000050d8 increase  0x00000001 , 0x00000038 
+ 00029423  0x000050d9 ifetch  0x00000004 , 0x00000006 
+ 00029424  0x000050da iforce  0x0000002f 
+ 00029425  0x000050db increase  0x00000001 , 0x00000038 
+ 00029426  0x000050dc fetch  0x00000004 , 0x0000440c 
+ 00029427  0x000050dd iforce  0x0000002f 
+ 00029428  0x000050de increase  0x00000001 , 0x00000038 
+ 00029429  0x000050df ifetch  0x00000004 , 0x00000006 
+ 00029430  0x000050e0 iforce  0x0000002f 
+ 00029431  0x000050e1 increase  0x00000001 , 0x00000038 
+ 00029432  0x000050e2 call  0x00007347 
+ 00029433  0x000050e3 increase  0xfffffffc , 0x00000038 
+ 00029434  0x000050e4 fetch  0x00000004 , 0x00004499 
+ 00029435  0x000050e5 copy  0x0000003f , 0x0000002f 
+ 00029436  0x000050e6 branch  0x000072e2 
+ 00029437  0x000050ea copy  0x00000011 , 0x00000006 
+ 00029438  0x000050eb call  0x0000733b 
+ 00029439  0x000050ec force  0x00000030 , 0x00000036 
+ 00029440  0x000050ed force  0x00000000 , 0x00000036 
+ 00029441  0x000050ee fetch  0x00000001 , 0x00004460 
+ 00029442  0x000050ef fetcht  0x00000001 , 0x00004457 
+ 00029443  0x000050f0 nbranch  0x00007306 , 0x00000029 
+ 00029444  0x000050f1 fetch  0x00000001 , 0x00004467 
+ 00029445  0x000050f2 fetcht  0x00000001 , 0x00004460 
+ 00029446  0x000050f4 store  0x00000001 , 0x0000441c 
+ 00029447  0x000050f5 storet  0x00000001 , 0x0000441d 
+ 00029448  0x000050f6 arg  0x0000441c , 0x00000006 
+ 00029449  0x000050f7 call  0x0000733b 
+ 00029450  0x000050f8 call  0x00007347 
+ 00029451  0x000050f9 increase  0xfffffffc , 0x00000038 
+ 00029452  0x000050fa fetch  0x00000004 , 0x00004499 
+ 00029453  0x000050fb copy  0x0000003f , 0x0000002f 
+ 00029454  0x000050fc force  0x00000051 , 0x00000036 
+ 00029455  0x000050fd force  0x00000010 , 0x00000036 
+ 00029456  0x000050fe fetch  0x00000006 , 0x00004472 
+ 00029457  0x000050ff fetcht  0x00000006 , 0x0000044b 
+ 00029458  0x00005100 branch  0x00007315 , 0x00000029 
+ 00029459  0x00005101 fetch  0x00000006 , 0x0000044b 
+ 00029460  0x00005102 fetcht  0x00000006 , 0x00004472 
+ 00029461  0x00005104 force  0x00000000 , 0x00000038 
+ 00029462  0x00005105 copy  0x00000002 , 0x0000002f 
+ 00029463  0x00005106 increase  0x00000001 , 0x00000038 
+ 00029464  0x00005107 rshift32  0x00000002 , 0x0000002f 
+ 00029465  0x00005108 lshift16  0x0000003f , 0x0000003f 
+ 00029466  0x00005109 ior  0x0000002f , 0x0000002f 
+ 00029467  0x0000510a increase  0x00000001 , 0x00000038 
+ 00029468  0x0000510b rshift32  0x0000003f , 0x0000002f 
+ 00029469  0x0000510c increase  0x00000001 , 0x00000038 
+ 00029470  0x0000510d force  0x00000000 , 0x0000002f 
+ 00029471  0x0000510e branch  0x000072e5 
+ 00029472  0x00005112 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029473  0x00005113 rtn  0x00000001 
+ 00029474  0x00005114 deposit  0x00000006 
+ 00029475  0x00005115 iadd  0x00000039 , 0x00000005 
+ 00029476  0x00005116 force  0x00000000 , 0x0000003f 
+ 00029477  0x00005118 istore  0x00000001 , 0x00000005 
+ 00029478  0x00005119 increase  0x00000001 , 0x00000039 
+ 00029479  0x0000511a compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029480  0x0000511b rtn  0x00000001 
+ 00029481  0x0000511c branch  0x00007325 
+ 00029482  0x0000511f force  0x00000000 , 0x00000038 
+ 00029483  0x00005121 deposit  0x00000039 
+ 00029484  0x00005122 branch  0x0000732f , 0x00000034 
+ 00029485  0x00005123 ifetch  0x00000004 , 0x00000006 
+ 00029486  0x00005124 increase  0xfffffffc , 0x00000039 
+ 00029487  0x00005126 iforce  0x0000002f 
+ 00029488  0x00005127 increase  0x00000001 , 0x00000038 
+ 00029489  0x00005128 compare  0x00000004 , 0x00000038 , 0x0000000f 
+ 00029490  0x00005129 rtn  0x00000001 
+ 00029491  0x0000512a branch  0x0000732b 
+ 00029492  0x0000512d force  0x00000008 , 0x00000039 
+ 00029493  0x0000512e branch  0x00007339 
+ 00029494  0x00005130 force  0x00000006 , 0x00000039 
+ 00029495  0x00005131 branch  0x00007339 
+ 00029496  0x00005133 force  0x00000004 , 0x00000039 
+ 00029497  0x00005135 force  0x00000004 , 0x00000038 
+ 00029498  0x00005136 branch  0x0000733d 
+ 00029499  0x00005138 force  0x00000000 , 0x00000038 
+ 00029500  0x00005139 force  0x00000004 , 0x00000039 
+ 00029501  0x0000513c ifetch  0x00000004 , 0x00000006 
+ 00029502  0x0000513d icopy  0x0000002f 
+ 00029503  0x0000513e increase  0x00000001 , 0x00000038 
+ 00029504  0x0000513f loop  0x0000733d 
+ 00029505  0x00005140 rtn 
+ 00029506  0x00005144 arg  0x00000478 , 0x00000006 
+ 00029507  0x00005145 branch  0x00007338 
+ 00029508  0x00005148 force  0x00000004 , 0x00000039 
+ 00029509  0x00005149 branch  0x00007349 
+ 00029510  0x0000514c force  0x00000000 , 0x00000038 
+ 00029511  0x0000514e force  0x00000004 , 0x00000039 
+ 00029512  0x00005150 force  0x00000000 , 0x0000002f 
+ 00029513  0x00005152 increase  0x00000001 , 0x00000038 
+ 00029514  0x00005153 loop  0x00007348 
+ 00029515  0x00005154 rtn 
+ 00029516  0x00005157 force  0x0000000c , 0x00000038 
+ 00029517  0x00005158 force  0x00000004 , 0x00000039 
+ 00029518  0x0000515a deposit  0x0000002f 
+ 00029519  0x0000515b istore  0x00000004 , 0x00000005 
+ 00029520  0x0000515c increase  0x00000001 , 0x00000038 
+ 00029521  0x0000515d loop  0x0000734e 
+ 00029522  0x0000515e rtn 
+ 00029523  0x00005161 force  0x0000000c , 0x00000038 
+ 00029524  0x00005162 copy  0x00000013 , 0x00000005 
+ 00029525  0x00005163 add  0x00000012 , 0x00000001 , 0x00000039 
+ 00029526  0x00005164 sub  0x00000039 , 0x0000000f , 0x0000003e 
+ 00029527  0x00005165 branch  0x00007359 , 0x00000002 
+ 00029528  0x00005166 force  0x00000010 , 0x00000039 
+ 00029529  0x00005168 deposit  0x0000002f 
+ 00029530  0x00005169 sub  0x00000039 , 0x00000003 , 0x0000003e 
+ 00029531  0x0000516a branch  0x00007361 , 0x00000002 
+ 00029532  0x0000516b istore  0x00000004 , 0x00000005 
+ 00029533  0x0000516c increase  0xfffffffc , 0x00000039 
+ 00029534  0x0000516d rtn  0x00000005 
+ 00029535  0x0000516e increase  0x00000001 , 0x00000038 
+ 00029536  0x0000516f branch  0x00007359 
+ 00029537  0x00005171 istore  0x00000001 , 0x00000005 
+ 00029538  0x00005172 rshift8  0x0000003f , 0x0000003f 
+ 00029539  0x00005173 loop  0x00007361 
+ 00029540  0x00005174 rtn 
+ 00029541  0x00005178 force  0x0000000c , 0x00000038 
+ 00029542  0x00005179 force  0x00000004 , 0x00000039 
+ 00029543  0x0000517b ifetch  0x00000004 , 0x00000006 
+ 00029544  0x0000517c isub  0x0000002f , 0x0000003e 
+ 00029545  0x0000517d nrtn  0x00000005 
+ 00029546  0x0000517e increase  0x00000001 , 0x00000038 
+ 00029547  0x0000517f loop  0x00007367 
+ 00029548  0x00005180 force  0x00000000 , 0x0000003e 
+ 00029549  0x00005181 rtn 
+ 00029550  0x00005184 fetch  0x00000001 , 0x00008043 
+ 00029551  0x00005185 set1  0x00000003 , 0x0000003f 
+ 00029552  0x00005186 store  0x00000001 , 0x00008043 
+ 00029553  0x00005187 rtn 
+ 00029554  0x0000518a fetch  0x00000001 , 0x00008043 
+ 00029555  0x0000518b set0  0x00000003 , 0x0000003f 
+ 00029556  0x0000518c store  0x00000001 , 0x00008043 
+ 00029557  0x0000518d rtn 
+ 00029558  0x00005190 arg  0x00000882 , 0x00000005 
+ 00029559  0x00005191 setsect  0x00000000 , 0x0003ffff 
+ 00029560  0x00005192 setsect  0x00000001 , 0x0003ffff 
+ 00029561  0x00005193 setsect  0x00000002 , 0x0003ffff 
+ 00029562  0x00005194 setsect  0x00000003 , 0x0003fbff 
+ 00029563  0x00005195 istore  0x00000009 , 0x00000005 
+ 00029564  0x00005196 setsect  0x00000000 , 0x0003ffff 
+ 00029565  0x00005197 setsect  0x00000001 , 0x0003ffff 
+ 00029566  0x00005198 setsect  0x00000002 , 0x0003ffff 
+ 00029567  0x00005199 setsect  0x00000003 , 0x0003ffff 
+ 00029568  0x0000519a istore  0x00000009 , 0x00000005 
+ 00029569  0x0000519b setsect  0x00000000 , 0x0003ffff 
+ 00029570  0x0000519c setsect  0x00000001 , 0x0003ffff 
+ 00029571  0x0000519d setsect  0x00000002 , 0x0003cfff 
+ 00029572  0x0000519e setsect  0x00000003 , 0x0003ffff 
+ 00029573  0x0000519f istore  0x00000009 , 0x00000005 
+ 00029574  0x000051a0 setsect  0x00000000 , 0x0003ffff 
+ 00029575  0x000051a1 setsect  0x00000001 , 0x0003ffff 
+ 00029576  0x000051a2 setsect  0x00000002 , 0x0003ffef 
+ 00029577  0x000051a3 setsect  0x00000003 , 0x0003ffff 
+ 00029578  0x000051a4 istore  0x00000009 , 0x00000005 
+ 00029579  0x000051a5 setsect  0x00000000 , 0x0003ffff 
+ 00029580  0x000051a6 setsect  0x00000001 , 0x0003ffff 
+ 00029581  0x000051a7 setsect  0x00000002 , 0x0003ffff 
+ 00029582  0x000051a8 setsect  0x00000003 , 0x0003ffff 
+ 00029583  0x000051a9 istore  0x00000009 , 0x00000005 
+ 00029584  0x000051aa setsect  0x00000000 , 0x0003ffff 
+ 00029585  0x000051ab setsect  0x00000001 , 0x00026c7f 
+ 00029586  0x000051ac setsect  0x00000002 , 0x0000146b 
+ 00029587  0x000051ad setsect  0x00000003 , 0x00037bb3 
+ 00029588  0x000051ae istore  0x00000009 , 0x00000005 
+ 00029589  0x000051af setsect  0x00000000 , 0x0001feb8 
+ 00029590  0x000051b0 setsect  0x00000001 , 0x00010c12 
+ 00029591  0x000051b1 setsect  0x00000002 , 0x0002b722 
+ 00029592  0x000051b2 setsect  0x00000003 , 0x00029fa6 
+ 00029593  0x000051b3 istore  0x00000009 , 0x00000005 
+ 00029594  0x000051b4 setsect  0x00000000 , 0x0000e70f 
+ 00029595  0x000051b5 setsect  0x00000001 , 0x00016720 
+ 00029596  0x000051b6 setsect  0x00000002 , 0x0000519e 
+ 00029597  0x000051b7 setsect  0x00000003 , 0x00019084 
+ 00029598  0x000051b8 istore  0x00000009 , 0x00000005 
+ 00029599  0x000051b9 setsect  0x00000000 , 0x00031012 
+ 00029600  0x000051ba setsect  0x00000001 , 0x000360bf 
+ 00029601  0x000051bb setsect  0x00000002 , 0x0003f0af 
+ 00029602  0x000051bc setsect  0x00000003 , 0x000003d3 
+ 00029603  0x000051bd istore  0x00000009 , 0x00000005 
+ 00029604  0x000051be setsect  0x00000000 , 0x0003a188 
+ 00029605  0x000051bf setsect  0x00000001 , 0x00003ad0 
+ 00029606  0x000051c0 setsect  0x00000002 , 0x0003cbf2 
+ 00029607  0x000051c1 setsect  0x00000003 , 0x000243d9 
+ 00029608  0x000051c2 istore  0x00000009 , 0x00000005 
+ 00029609  0x000051c3 setsect  0x00000000 , 0x0002b030 
+ 00029610  0x000051c4 setsect  0x00000001 , 0x00036a03 
+ 00029611  0x000051c5 setsect  0x00000002 , 0x00011188 
+ 00029612  0x000051c6 setsect  0x00000003 , 0x0001e520 
+ 00029613  0x000051c7 istore  0x00000009 , 0x00000005 
+ 00029614  0x000051c8 setsect  0x00000000 , 0x0003a11e 
+ 00029615  0x000051c9 setsect  0x00000001 , 0x0000fe5d 
+ 00029616  0x000051ca setsect  0x00000002 , 0x0000dd57 
+ 00029617  0x000051cb setsect  0x00000003 , 0x0001ac93 
+ 00029618  0x000051cc istore  0x00000009 , 0x00000005 
+ 00029619  0x000051cd setsect  0x00000000 , 0x000011ed 
+ 00029620  0x000051ce setsect  0x00000001 , 0x000218c4 
+ 00029621  0x000051cf setsect  0x00000002 , 0x00008da7 
+ 00029622  0x000051d0 setsect  0x00000003 , 0x000257ff 
+ 00029623  0x000051d1 istore  0x00000009 , 0x00000005 
+ 00029624  0x000051d2 setsect  0x00000000 , 0x0003192b 
+ 00029625  0x000051d3 setsect  0x00000001 , 0x00034641 
+ 00029626  0x000051d4 setsect  0x00000002 , 0x0001be0c 
+ 00029627  0x000051d5 setsect  0x00000003 , 0x000366ad 
+ 00029628  0x000051d6 istore  0x00000009 , 0x00000005 
+ 00029629  0x000051d7 setsect  0x00000000 , 0x00001f83 
+ 00029630  0x000051d8 setsect  0x00000001 , 0x00015a23 
+ 00029631  0x000051d9 setsect  0x00000002 , 0x0003f9b0 
+ 00029632  0x000051da setsect  0x00000003 , 0x00003949 
+ 00029633  0x000051db istore  0x00000009 , 0x00000005 
+ 00029634  0x000051dc setsect  0x00000000 , 0x00013a51 
+ 00029635  0x000051dd setsect  0x00000001 , 0x000153fd 
+ 00029636  0x000051de setsect  0x00000002 , 0x0003372a 
+ 00029637  0x000051df setsect  0x00000003 , 0x0000f1bb 
+ 00029638  0x000051e0 istore  0x00000009 , 0x00000005 
+ 00029639  0x000051e1 setsect  0x00000000 , 0x0003ae85 
+ 00029640  0x000051e2 setsect  0x00000001 , 0x0001eed9 
+ 00029641  0x000051e3 setsect  0x00000002 , 0x00009e66 
+ 00029642  0x000051e4 setsect  0x00000003 , 0x000001a8 
+ 00029643  0x000051e5 istore  0x00000008 , 0x00000005 
+ 00029644  0x000051e6 rtn 
+ 00029645  0x000051eb arg  0x0000091a , 0x00000005 
+ 00029646  0x000051ec setsect  0x00000000 , 0x0003ffff 
+ 00029647  0x000051ed setsect  0x00000001 , 0x0003ffff 
+ 00029648  0x000051ee setsect  0x00000002 , 0x0003ffff 
+ 00029649  0x000051ef setsect  0x00000003 , 0x0003ffff 
+ 00029650  0x000051f0 istore  0x00000009 , 0x00000005 
+ 00029651  0x000051f1 setsect  0x00000000 , 0x0003ffff 
+ 00029652  0x000051f2 setsect  0x00000001 , 0x0000003f 
+ 00029653  0x000051f3 setsect  0x00000002 , 0x00000000 
+ 00029654  0x000051f4 setsect  0x00000003 , 0x00000000 
+ 00029655  0x000051f5 istore  0x00000009 , 0x00000005 
+ 00029656  0x000051f6 setsect  0x00000000 , 0x00000000 
+ 00029657  0x000051f7 setsect  0x00000001 , 0x00000000 
+ 00029658  0x000051f8 setsect  0x00000002 , 0x00001000 
+ 00029659  0x000051f9 setsect  0x00000003 , 0x00000000 
+ 00029660  0x000051fa istore  0x00000009 , 0x00000005 
+ 00029661  0x000051fb setsect  0x00000000 , 0x0003ff00 
+ 00029662  0x000051fc setsect  0x00000001 , 0x0003ffff 
+ 00029663  0x000051fd setsect  0x00000002 , 0x0003ffcf 
+ 00029664  0x000051fe setsect  0x00000003 , 0x0003ffff 
+ 00029665  0x000051ff istore  0x00000009 , 0x00000005 
+ 00029666  0x00005200 setsect  0x00000000 , 0x0003ffff 
+ 00029667  0x00005201 setsect  0x00000001 , 0x0003ffff 
+ 00029668  0x00005202 setsect  0x00000002 , 0x0003ffff 
+ 00029669  0x00005203 setsect  0x00000003 , 0x000003ff 
+ 00029670  0x00005204 istore  0x00000009 , 0x00000005 
+ 00029671  0x00005205 setsect  0x00000000 , 0x00000000 
+ 00029672  0x00005206 setsect  0x00000001 , 0x00000000 
+ 00029673  0x00005207 setsect  0x00000002 , 0x00000000 
+ 00029674  0x00005208 setsect  0x00000003 , 0x00000000 
+ 00029675  0x00005209 istore  0x00000009 , 0x00000005 
+ 00029676  0x0000520a setsect  0x00000000 , 0x00010000 
+ 00029677  0x0000520b setsect  0x00000001 , 0x00000000 
+ 00029678  0x0000520c setsect  0x00000002 , 0x0003f000 
+ 00029679  0x0000520d setsect  0x00000003 , 0x0003ffff 
+ 00029680  0x0000520e istore  0x00000009 , 0x00000005 
+ 00029681  0x0000520f setsect  0x00000000 , 0x000296ff 
+ 00029682  0x00005210 setsect  0x00000001 , 0x00022630 
+ 00029683  0x00005211 setsect  0x00000002 , 0x0003945d 
+ 00029684  0x00005212 setsect  0x00000003 , 0x0003d284 
+ 00029685  0x00005213 istore  0x00000009 , 0x00000005 
+ 00029686  0x00005214 setsect  0x00000000 , 0x000333a0 
+ 00029687  0x00005215 setsect  0x00000001 , 0x00004b7a 
+ 00029688  0x00005216 setsect  0x00000002 , 0x000037d8 
+ 00029689  0x00005217 setsect  0x00000003 , 0x0003c9dc 
+ 00029690  0x00005218 istore  0x00000009 , 0x00000005 
+ 00029691  0x00005219 setsect  0x00000000 , 0x0003a440 
+ 00029692  0x0000521a setsect  0x00000001 , 0x0001b958 
+ 00029693  0x0000521b setsect  0x00000002 , 0x00038bce 
+ 00029694  0x0000521c setsect  0x00000003 , 0x0001091f 
+ 00029695  0x0000521d istore  0x00000009 , 0x00000005 
+ 00029696  0x0000521e setsect  0x00000000 , 0x0002e12c 
+ 00029697  0x0000521f setsect  0x00000001 , 0x0001f47c 
+ 00029698  0x00005220 setsect  0x00000002 , 0x000356b1 
+ 00029699  0x00005221 setsect  0x00000003 , 0x0002fd47 
+ 00029700  0x00005222 istore  0x00000009 , 0x00000005 
+ 00029701  0x00005223 setsect  0x00000000 , 0x00006837 
+ 00029702  0x00005224 setsect  0x00000001 , 0x0002ed90 
+ 00029703  0x00005225 setsect  0x00000002 , 0x0001ecec 
+ 00029704  0x00005226 setsect  0x00000003 , 0x0001acc5 
+ 00029705  0x00005227 istore  0x00000009 , 0x00000005 
+ 00029706  0x00005228 setsect  0x00000000 , 0x00023357 
+ 00029707  0x00005229 setsect  0x00000001 , 0x00018af3 
+ 00029708  0x0000522a setsect  0x00000002 , 0x0000f9e1 
+ 00029709  0x0000522b setsect  0x00000003 , 0x000129f0 
+ 00029710  0x0000522c istore  0x00000009 , 0x00000005 
+ 00029711  0x0000522d setsect  0x00000000 , 0x0002e7eb 
+ 00029712  0x0000522e setsect  0x00000001 , 0x0003e6e3 
+ 00029713  0x0000522f setsect  0x00000002 , 0x0003e1a7 
+ 00029714  0x00005230 setsect  0x00000003 , 0x00010b8b 
+ 00029715  0x00005231 istore  0x00000009 , 0x00000005 
+ 00029716  0x00005232 setsect  0x00000000 , 0x00024fe3 
+ 00029717  0x00005233 setsect  0x00000001 , 0x000020ef 
+ 00029718  0x00005234 setsect  0x00000002 , 0x0001b5a6 
+ 00029719  0x00005235 setsect  0x00000003 , 0x0000dc2f 
+ 00029720  0x00005236 istore  0x00000009 , 0x00000005 
+ 00029721  0x00005237 setsect  0x00000000 , 0x00013860 
+ 00029722  0x00005238 setsect  0x00000001 , 0x0002bd69 
+ 00029723  0x00005239 setsect  0x00000002 , 0x0000391a 
+ 00029724  0x0000523a setsect  0x00000003 , 0x0001b222 
+ 00029725  0x0000523b istore  0x00000009 , 0x00000005 
+ 00029726  0x0000523c rtn 
+ 00029727  0x00005240 fetch  0x00000001 , 0x0000462c 
+ 00029728  0x00005241 nbranch  0x00007432 , 0x00000034 
+ 00029729  0x00005242 branch  0x0000792c 
+ 00029730  0x00005245 bpatchx  0x0000008e , 0x00004031 
+ 00029731  0x00005246 fetch  0x00000001 , 0x0000462c 
+ 00029732  0x00005247 rtn  0x00000034 
+ 00029733  0x00005248 fetch  0x00000001 , 0x00004583 
+ 00029734  0x00005249 rtnne  0x00000001 
+ 00029735  0x0000524a fetch  0x00000001 , 0x00004490 
+ 00029736  0x0000524b rtn  0x00000034 
+ 00029737  0x0000524c fetch  0x00000001 , 0x00004495 
+ 00029738  0x0000524d rtneq  0x00000003 
+ 00029739  0x0000524e fetch  0x00000002 , 0x00004652 
+ 00029740  0x0000524f bbit1  0x00000000 , 0x00007430 
+ 00029741  0x00005250 fetch  0x00000001 , 0x00004492 
+ 00029742  0x00005251 beq  0x00000000 , 0x0000792c 
+ 00029743  0x00005252 rtn 
+ 00029744  0x00005254 jam  0x00000000 , 0x00004492 
+ 00029745  0x00005255 rtn 
+ 00029746  0x00005259 bpatchx  0x0000008f , 0x00004031 
+ 00029747  0x0000525a fetch  0x00000001 , 0x0000462c 
+ 00029748  0x0000525b branch  0x0000650d , 0x00000034 
+ 00029749  0x0000525c call  0x00006506 
+ 00029750  0x0000525d call  0x00007438 
+ 00029751  0x0000525e branch  0x00007522 
+ 00029752  0x00005261 setarg  0x00000000 
+ 00029753  0x00005262 store  0x00000008 , 0x000009aa 
+ 00029754  0x00005263 store  0x00000004 , 0x000009b2 
+ 00029755  0x00005264 store  0x00000007 , 0x00004630 
+ 00029756  0x00005265 rtn 
+ 00029757  0x00005268 jam  0x00000001 , 0x000009ac 
+ 00029758  0x00005269 branch  0x00007442 
+ 00029759  0x0000526b fetch  0x00000001 , 0x00004583 
+ 00029760  0x0000526c beq  0x00000001 , 0x0000753f 
+ 00029761  0x0000526d branch  0x00004a8b 
+ 00029762  0x0000526f fetch  0x00000001 , 0x00004583 
+ 00029763  0x00005270 beq  0x00000001 , 0x00007445 
+ 00029764  0x00005271 branch  0x00007522 
+ 00029765  0x00005274 call  0x0000753f 
+ 00029766  0x00005275 fetch  0x00000001 , 0x000009ab 
+ 00029767  0x00005276 nrtn  0x00000034 
+ 00029768  0x00005277 jam  0x00000003 , 0x000009aa 
+ 00029769  0x00005278 rtn 
+ 00029770  0x0000527c call  0x00007465 
+ 00029771  0x0000527d arg  0x000009da , 0x00000011 
+ 00029772  0x0000527e arg  0x00000862 , 0x00000005 
+ 00029773  0x0000527f call  0x00007b2e 
+ 00029774  0x00005280 arg  0x000009ba , 0x00000011 
+ 00029775  0x00005281 arg  0x00000822 , 0x00000005 
+ 00029776  0x00005282 call  0x00007b2e 
+ 00029777  0x00005283 arg  0x00000822 , 0x00000011 
+ 00029778  0x00005284 arg  0x000009ba , 0x00000012 
+ 00029779  0x00005285 arg  0x00000822 , 0x00000005 
+ 00029780  0x00005286 call  0x00007a96 
+ 00029781  0x00005287 arg  0x0000093a , 0x00000011 
+ 00029782  0x00005288 arg  0x000009ba , 0x00000012 
+ 00029783  0x00005289 arg  0x00000842 , 0x00000005 
+ 00029784  0x0000528a call  0x00007a96 
+ 00029785  0x0000528b arg  0x00000842 , 0x00000011 
+ 00029786  0x0000528c arg  0x00000822 , 0x00000012 
+ 00029787  0x0000528d arg  0x00000822 , 0x00000005 
+ 00029788  0x0000528e call  0x00007b32 
+ 00029789  0x0000528f arg  0x00000802 , 0x00000011 
+ 00029790  0x00005290 arg  0x00000822 , 0x00000012 
+ 00029791  0x00005291 arg  0x00000802 , 0x00000005 
+ 00029792  0x00005292 call  0x00007b32 
+ 00029793  0x00005293 arg  0x00000020 , 0x00000039 
+ 00029794  0x00005294 arg  0x00000862 , 0x00000011 
+ 00029795  0x00005295 arg  0x00000802 , 0x00000012 
+ 00029796  0x00005296 branch  0x00007d63 
+ 00029797  0x00005299 arg  0x0000097a , 0x00000011 
+ 00029798  0x0000529a arg  0x00000802 , 0x00000005 
+ 00029799  0x0000529b call  0x00007b2e 
+ 00029800  0x0000529c arg  0x0000095a , 0x00000011 
+ 00029801  0x0000529d arg  0x00000822 , 0x00000005 
+ 00029802  0x0000529e call  0x00007b2e 
+ 00029803  0x0000529f arg  0x00000822 , 0x00000011 
+ 00029804  0x000052a0 arg  0x0000095a , 0x00000012 
+ 00029805  0x000052a1 arg  0x00000822 , 0x00000005 
+ 00029806  0x000052a2 call  0x00007a96 
+ 00029807  0x000052a3 arg  0x0000093a , 0x00000011 
+ 00029808  0x000052a4 arg  0x0000095a , 0x00000012 
+ 00029809  0x000052a5 arg  0x00000842 , 0x00000005 
+ 00029810  0x000052a6 call  0x00007a96 
+ 00029811  0x000052a7 arg  0x00000842 , 0x00000011 
+ 00029812  0x000052a8 arg  0x00000822 , 0x00000012 
+ 00029813  0x000052a9 arg  0x00000822 , 0x00000005 
+ 00029814  0x000052aa call  0x00007b32 
+ 00029815  0x000052ab arg  0x00000802 , 0x00000011 
+ 00029816  0x000052ac arg  0x00000822 , 0x00000012 
+ 00029817  0x000052ad arg  0x00000802 , 0x00000005 
+ 00029818  0x000052ae branch  0x00007b4b 
+ 00029819  0x000052b1 call  0x00007496 
+ 00029820  0x000052b2 arg  0x000009e2 , 0x00000011 
+ 00029821  0x000052b3 arg  0x00000862 , 0x00000005 
+ 00029822  0x000052b4 call  0x0000765d 
+ 00029823  0x000052b5 arg  0x000009c2 , 0x00000011 
+ 00029824  0x000052b6 arg  0x00000822 , 0x00000005 
+ 00029825  0x000052b7 call  0x0000765d 
+ 00029826  0x000052b8 arg  0x00000822 , 0x00000011 
+ 00029827  0x000052b9 arg  0x000009c2 , 0x00000012 
+ 00029828  0x000052ba arg  0x00000822 , 0x00000005 
+ 00029829  0x000052bb call  0x0000763b 
+ 00029830  0x000052bc arg  0x0000089a , 0x00000011 
+ 00029831  0x000052bd arg  0x000009c2 , 0x00000012 
+ 00029832  0x000052be arg  0x00000842 , 0x00000005 
+ 00029833  0x000052bf call  0x0000763b 
+ 00029834  0x000052c0 arg  0x00000842 , 0x00000011 
+ 00029835  0x000052c1 arg  0x00000822 , 0x00000012 
+ 00029836  0x000052c2 arg  0x00000822 , 0x00000005 
+ 00029837  0x000052c3 call  0x0000760a 
+ 00029838  0x000052c4 arg  0x00000802 , 0x00000011 
+ 00029839  0x000052c5 arg  0x00000822 , 0x00000012 
+ 00029840  0x000052c6 arg  0x00000802 , 0x00000005 
+ 00029841  0x000052c7 call  0x0000760a 
+ 00029842  0x000052c8 arg  0x00000018 , 0x00000039 
+ 00029843  0x000052c9 arg  0x00000862 , 0x00000011 
+ 00029844  0x000052ca arg  0x00000802 , 0x00000012 
+ 00029845  0x000052cb branch  0x00007d63 
+ 00029846  0x000052ce arg  0x000008e2 , 0x00000011 
+ 00029847  0x000052cf arg  0x00000802 , 0x00000005 
+ 00029848  0x000052d0 call  0x0000765d 
+ 00029849  0x000052d1 arg  0x000008ca , 0x00000011 
+ 00029850  0x000052d2 arg  0x00000822 , 0x00000005 
+ 00029851  0x000052d3 call  0x0000765d 
+ 00029852  0x000052d4 arg  0x00000822 , 0x00000011 
+ 00029853  0x000052d5 arg  0x000008ca , 0x00000012 
+ 00029854  0x000052d6 arg  0x00000822 , 0x00000005 
+ 00029855  0x000052d7 call  0x0000763b 
+ 00029856  0x000052d8 arg  0x0000089a , 0x00000011 
+ 00029857  0x000052d9 arg  0x000008ca , 0x00000012 
+ 00029858  0x000052da arg  0x00000842 , 0x00000005 
+ 00029859  0x000052db call  0x0000763b 
+ 00029860  0x000052dc arg  0x00000842 , 0x00000011 
+ 00029861  0x000052dd arg  0x00000822 , 0x00000012 
+ 00029862  0x000052de arg  0x00000822 , 0x00000005 
+ 00029863  0x000052df call  0x0000760a 
+ 00029864  0x000052e0 arg  0x00000802 , 0x00000011 
+ 00029865  0x000052e1 arg  0x00000822 , 0x00000012 
+ 00029866  0x000052e2 arg  0x00000802 , 0x00000005 
+ 00029867  0x000052e3 branch  0x0000760d 
+ 00029868  0x000052e7 fetch  0x00000001 , 0x000009ae 
+ 00029869  0x000052e8 bne  0x00000000 , 0x000074ca 
+ 00029870  0x000052e9 call  0x000074c7 
+ 00029871  0x000052ea arg  0x00000a7a , 0x00000005 
+ 00029872  0x000052eb setarg  0x00000a2a 
+ 00029873  0x000052ec istore  0x00000002 , 0x00000005 
+ 00029874  0x000052ed setarg  0x00004614 
+ 00029875  0x000052ee istore  0x00000002 , 0x00000005 
+ 00029876  0x000052ef setarg  0x000009da 
+ 00029877  0x000052f0 istore  0x00000002 , 0x00000005 
+ 00029878  0x000052f1 branch  0x000074be 
+ 00029879  0x000052f3 arg  0x00000a7a , 0x00000005 
+ 00029880  0x000052f4 setarg  0x00000a3a 
+ 00029881  0x000052f5 istore  0x00000002 , 0x00000005 
+ 00029882  0x000052f6 setarg  0x000009da 
+ 00029883  0x000052f7 istore  0x00000002 , 0x00000005 
+ 00029884  0x000052f8 setarg  0x00004614 
+ 00029885  0x000052f9 istore  0x00000002 , 0x00000005 
+ 00029886  0x000052fb call  0x00007855 
+ 00029887  0x000052fc fetch  0x00000001 , 0x000009ab 
+ 00029888  0x000052fd beq  0x00000004 , 0x000074c4 
+ 00029889  0x000052fe jam  0x00000001 , 0x000009ac 
+ 00029890  0x000052ff jam  0x00000005 , 0x000009aa 
+ 00029891  0x00005300 rtn 
+ 00029892  0x00005302 jam  0x00000014 , 0x000009ab 
+ 00029893  0x00005303 call  0x0000743f 
+ 00029894  0x00005304 branch  0x0000758d 
+ 00029895  0x00005307 arg  0x00000a1a , 0x00000005 
+ 00029896  0x00005308 force  0x00000008 , 0x00000007 
+ 00029897  0x00005309 branch  0x00007557 
+ 00029898  0x0000530c jam  0x00000001 , 0x000009ac 
+ 00029899  0x0000530d rtn 
+ 00029900  0x00005311 bpatchx  0x00000090 , 0x00004032 
+ 00029901  0x00005312 arg  0x00000723 , 0x00000005 
+ 00029902  0x00005313 fetch  0x00000006 , 0x000040a0 
+ 00029903  0x00005314 istore  0x00000006 , 0x00000005 
+ 00029904  0x00005315 fetch  0x00000006 , 0x00000040 
+ 00029905  0x00005316 istore  0x00000006 , 0x00000005 
+ 00029906  0x00005317 fetch  0x00000003 , 0x00004630 
+ 00029907  0x00005318 istore  0x00000003 , 0x00000005 
+ 00029908  0x0000531a call  0x000078c2 
+ 00029909  0x0000531c arg  0x00000a4a , 0x00000011 
+ 00029910  0x0000531d arg  0x00000a5a , 0x00000012 
+ 00029911  0x0000531e force  0x00000004 , 0x00000007 
+ 00029912  0x0000531f call  0x0000755c 
+ 00029913  0x00005320 nbranch  0x000074e6 , 0x00000001 
+ 00029914  0x00005322 call  0x000074dd 
+ 00029915  0x00005323 jam  0x00000041 , 0x0000007d 
+ 00029916  0x00005324 branch  0x000066da 
+ 00029917  0x00005327 fetch  0x00000001 , 0x000009ab 
+ 00029918  0x00005328 beq  0x00000009 , 0x000074e3 
+ 00029919  0x00005329 jam  0x0000000a , 0x000009aa 
+ 00029920  0x0000532a jam  0x00000001 , 0x000009ac 
+ 00029921  0x0000532b jam  0x00000003 , 0x0000007c 
+ 00029922  0x0000532c rtn 
+ 00029923  0x0000532e jam  0x00000003 , 0x0000007c 
+ 00029924  0x0000532f jam  0x00000015 , 0x000009ab 
+ 00029925  0x00005330 branch  0x0000758d 
+ 00029926  0x00005334 fetch  0x00000001 , 0x000009ab 
+ 00029927  0x00005335 beq  0x00000009 , 0x000074ec 
+ 00029928  0x00005336 jam  0x00000000 , 0x000009aa 
+ 00029929  0x00005337 jam  0x00000004 , 0x0000007c 
+ 00029930  0x00005339 jam  0x00000005 , 0x0000007e 
+ 00029931  0x0000533a rtn 
+ 00029932  0x0000533c jam  0x00000004 , 0x0000007c 
+ 00029933  0x0000533d jam  0x00000000 , 0x000009ab 
+ 00029934  0x0000533e rtn 
+ 00029935  0x00005341 fetch  0x00000001 , 0x000009af 
+ 00029936  0x00005342 beq  0x00000001 , 0x000074f3 
+ 00029937  0x00005343 jam  0x0000000a , 0x000009ab 
+ 00029938  0x00005344 branch  0x0000758d 
+ 00029939  0x00005346 arg  0x00000723 , 0x00000005 
+ 00029940  0x00005347 fetch  0x00000006 , 0x00000040 
+ 00029941  0x00005348 istore  0x00000006 , 0x00000005 
+ 00029942  0x00005349 fetch  0x00000006 , 0x000040a0 
+ 00029943  0x0000534a istore  0x00000006 , 0x00000005 
+ 00029944  0x0000534b fetch  0x00000003 , 0x0000462d 
+ 00029945  0x0000534c istore  0x00000003 , 0x00000005 
+ 00029946  0x0000534e call  0x000078d9 
+ 00029947  0x0000534f fetch  0x00000001 , 0x000009ab 
+ 00029948  0x00005350 beq  0x0000000a , 0x00007500 
+ 00029949  0x00005351 jam  0x0000000b , 0x000009aa 
+ 00029950  0x00005352 jam  0x00000001 , 0x000009ac 
+ 00029951  0x00005353 rtn 
+ 00029952  0x00005355 jam  0x0000000b , 0x000009ab 
+ 00029953  0x00005356 jam  0x00000001 , 0x000009ad 
+ 00029954  0x00005357 rtn 
+ 00029955  0x0000535a arg  0x00000a7a , 0x00000005 
+ 00029956  0x0000535b fetch  0x00000006 , 0x00000040 
+ 00029957  0x0000535c istore  0x00000006 , 0x00000005 
+ 00029958  0x0000535d fetch  0x00000006 , 0x000040a0 
+ 00029959  0x0000535e istore  0x00000006 , 0x00000005 
+ 00029960  0x0000535f setarg  0x00000a2a 
+ 00029961  0x00005360 istore  0x00000002 , 0x00000005 
+ 00029962  0x00005361 setarg  0x00000a3a 
+ 00029963  0x00005362 istore  0x00000002 , 0x00000005 
+ 00029964  0x00005363 branch  0x00007517 
+ 00029965  0x00005365 jam  0x0000000f , 0x000009aa 
+ 00029966  0x00005366 arg  0x00000a7a , 0x00000005 
+ 00029967  0x00005367 fetch  0x00000006 , 0x000040a0 
+ 00029968  0x00005368 istore  0x00000006 , 0x00000005 
+ 00029969  0x00005369 fetch  0x00000006 , 0x00000040 
+ 00029970  0x0000536a istore  0x00000006 , 0x00000005 
+ 00029971  0x0000536b setarg  0x00000a3a 
+ 00029972  0x0000536c istore  0x00000002 , 0x00000005 
+ 00029973  0x0000536d setarg  0x00000a2a 
+ 00029974  0x0000536e istore  0x00000002 , 0x00000005 
+ 00029975  0x00005371 arg  0x00000723 , 0x00000005 
+ 00029976  0x00005372 fetch  0x00000006 , 0x00000a7a 
+ 00029977  0x00005373 istore  0x00000006 , 0x00000005 
+ 00029978  0x00005374 fetch  0x00000006 , 0x00000a80 
+ 00029979  0x00005375 istore  0x00000006 , 0x00000005 
+ 00029980  0x00005377 call  0x0000788c 
+ 00029981  0x0000537a jam  0x00000001 , 0x000041be 
+ 00029982  0x0000537b arg  0x000041bf , 0x00000005 
+ 00029983  0x0000537c arg  0x00000a4a , 0x00000006 
+ 00029984  0x0000537d call  0x00007c9a 
+ 00029985  0x0000537e branch  0x000041c0 
+ 00029986  0x00005382 bpatchx  0x00000091 , 0x00004032 
+ 00029987  0x00005383 fetch  0x00000001 , 0x00004583 
+ 00029988  0x00005384 rtnne  0x00000000 
+ 00029989  0x00005385 fetch  0x00000001 , 0x000009ae 
+ 00029990  0x00005386 rtnne  0x00000000 
+ 00029991  0x00005387 arg  0x000045e4 , 0x00000005 
+ 00029992  0x00005388 force  0x0000000b , 0x00000007 
+ 00029993  0x00005389 call  0x00007557 
+ 00029994  0x0000538a random  0x0000003f 
+ 00029995  0x0000538b rshift  0x0000003f , 0x0000003f 
+ 00029996  0x0000538c istore  0x00000002 , 0x00000005 
+ 00029997  0x0000538e arg  0x000006ba , 0x00000005 
+ 00029998  0x0000538f arg  0x000045e4 , 0x00000006 
+ 00029999  0x00005390 call  0x00007c99 
+ 00030000  0x00005392 arg  0x000005e2 , 0x00000005 
+ 00030001  0x00005393 arg  0x000008ca , 0x00000006 
+ 00030002  0x00005394 call  0x00007c97 
+ 00030003  0x00005396 arg  0x00000612 , 0x00000005 
+ 00030004  0x00005397 call  0x00007ca0 
+ 00030005  0x00005398 jam  0x00000001 , 0x00000612 
+ 00030006  0x0000539a call  0x00007912 
+ 00030007  0x0000539b jam  0x00000001 , 0x000009ae 
+ 00030008  0x0000539c rtn 
+ 00030009  0x0000539f arg  0x000045fc , 0x00000005 
+ 00030010  0x000053a0 arg  0x0000062a , 0x00000006 
+ 00030011  0x000053a1 call  0x00007c97 
+ 00030012  0x000053a2 jam  0x00000001 , 0x00004583 
+ 00030013  0x000053a3 jam  0x00000000 , 0x000009ae 
+ 00030014  0x000053a4 rtn 
+ 00030015  0x000053a7 bpatchx  0x00000092 , 0x00004032 
+ 00030016  0x000053a8 fetch  0x00000001 , 0x000009b5 
+ 00030017  0x000053a9 rtnne  0x00000000 
+ 00030018  0x000053aa fetch  0x00000001 , 0x000009ae 
+ 00030019  0x000053ab rtnne  0x00000000 
+ 00030020  0x000053ad arg  0x000006ba , 0x00000005 
+ 00030021  0x000053ae arg  0x000045e4 , 0x00000006 
+ 00030022  0x000053af call  0x00007c99 
+ 00030023  0x000053b1 arg  0x000005e2 , 0x00000005 
+ 00030024  0x000053b2 arg  0x000009c2 , 0x00000006 
+ 00030025  0x000053b3 call  0x00007c97 
+ 00030026  0x000053b5 arg  0x00000612 , 0x00000005 
+ 00030027  0x000053b6 call  0x00007ca0 
+ 00030028  0x000053b7 jam  0x00000001 , 0x00000612 
+ 00030029  0x000053b9 call  0x00007912 
+ 00030030  0x000053ba jam  0x00000002 , 0x000009ae 
+ 00030031  0x000053bb rtn 
+ 00030032  0x000053be jam  0x00000001 , 0x000009af 
+ 00030033  0x000053bf arg  0x00000a02 , 0x00000005 
+ 00030034  0x000053c0 arg  0x0000062a , 0x00000006 
+ 00030035  0x000053c1 call  0x00007c99 
+ 00030036  0x000053c2 jam  0x00000001 , 0x000009b5 
+ 00030037  0x000053c3 jam  0x00000000 , 0x000009ae 
+ 00030038  0x000053c4 rtn 
+ 00030039  0x000053c7 increase  0xffffffff , 0x00000007 
+ 00030040  0x000053c8 nrtn  0x00000002 
+ 00030041  0x000053c9 random  0x0000003f 
+ 00030042  0x000053ca istore  0x00000002 , 0x00000005 
+ 00030043  0x000053cb branch  0x00007557 
+ 00030044  0x000053cd increase  0xffffffff , 0x00000007 
+ 00030045  0x000053ce nbranch  0x00007568 , 0x00000002 
+ 00030046  0x000053cf ifetch  0x00000004 , 0x00000011 
+ 00030047  0x000053d0 copy  0x0000003f , 0x00000002 
+ 00030048  0x000053d1 ifetch  0x00000004 , 0x00000012 
+ 00030049  0x000053d2 iflip  0x00000002 , 0x0000003f 
+ 00030050  0x000053d3 nbranch  0x00007566 , 0x00000005 
+ 00030051  0x000053d4 increase  0x00000004 , 0x00000011 
+ 00030052  0x000053d5 increase  0x00000004 , 0x00000012 
+ 00030053  0x000053d6 branch  0x0000755c 
+ 00030054  0x000053d8 disable  0x00000001 
+ 00030055  0x000053d9 rtn 
+ 00030056  0x000053db enable  0x00000001 
+ 00030057  0x000053dc rtn 
+ 00030058  0x000053e4 bpatchx  0x00000093 , 0x00004032 
+ 00030059  0x000053e5 fetch  0x00000001 , 0x000009ac 
+ 00030060  0x000053e6 rtn  0x00000034 
+ 00030061  0x000053e7 call  0x0000669e 
+ 00030062  0x000053e8 nrtn  0x00000034 
+ 00030063  0x000053e9 jam  0x00000000 , 0x000009ac 
+ 00030064  0x000053ea fetch  0x00000001 , 0x000009aa 
+ 00030065  0x000053eb beq  0x00000003 , 0x000065df 
+ 00030066  0x000053ec beq  0x00000005 , 0x000065fc 
+ 00030067  0x000053ed beq  0x00000007 , 0x00006607 
+ 00030068  0x000053ee beq  0x0000000b , 0x0000661c 
+ 00030069  0x000053ef beq  0x00000002 , 0x0000743d 
+ 00030070  0x000053f0 beq  0x00000004 , 0x000074ac 
+ 00030071  0x000053f1 beq  0x00000009 , 0x000074cc 
+ 00030072  0x000053f2 beq  0x0000000a , 0x000074ef 
+ 00030073  0x000053f3 beq  0x0000000c , 0x0000750d 
+ 00030074  0x000053f5 rtn 
+ 00030075  0x000053f8 bpatchx  0x00000094 , 0x00004032 
+ 00030076  0x000053f9 fetch  0x00000001 , 0x000009ad 
+ 00030077  0x000053fa rtn  0x00000034 
+ 00030078  0x000053fb call  0x0000669e 
+ 00030079  0x000053fc nrtn  0x00000034 
+ 00030080  0x000053fd jam  0x00000000 , 0x000009ad 
+ 00030081  0x000053fe fetch  0x00000001 , 0x000009ab 
+ 00030082  0x000053ff beq  0x00000012 , 0x000065c2 
+ 00030083  0x00005400 beq  0x00000013 , 0x000065c7 
+ 00030084  0x00005401 beq  0x00000003 , 0x000065cb 
+ 00030085  0x00005402 beq  0x00000004 , 0x000074b7 
+ 00030086  0x00005403 beq  0x00000014 , 0x000065cf 
+ 00030087  0x00005404 beq  0x00000007 , 0x000065dd 
+ 00030088  0x00005405 beq  0x0000000a , 0x000074ef 
+ 00030089  0x00005406 beq  0x0000000b , 0x0000661b 
+ 00030090  0x00005407 beq  0x00000009 , 0x000074cc 
+ 00030091  0x00005408 beq  0x00000015 , 0x00006615 
+ 00030092  0x00005409 rtn 
+ 00030093  0x0000540c jam  0x00000001 , 0x000009ad 
+ 00030094  0x0000540d rtn 
+ 00030095  0x00005410 jam  0x00000000 , 0x000009ad 
+ 00030096  0x00005411 rtn 
+ 00030097  0x00005413 bpatchx  0x00000095 , 0x00004032 
+ 00030098  0x00005414 fetch  0x00000001 , 0x0000462c 
+ 00030099  0x00005415 rtn  0x00000034 
+ 00030100  0x00005416 fetch  0x00000001 , 0x000009ae 
+ 00030101  0x00005417 rtn  0x00000034 
+ 00030102  0x00005418 increase  0x00000080 , 0x0000003f 
+ 00030103  0x00005419 store  0x00000001 , 0x000009ae 
+ 00030104  0x0000541a rtnbit1  0x00000007 
+ 00030105  0x0000541b fetch  0x00000001 , 0x000005df 
+ 00030106  0x0000541c branch  0x0000759c , 0x00000034 
+ 00030107  0x0000541d branch  0x0000791d 
+ 00030108  0x00005420 call  0x00007788 
+ 00030109  0x00005421 fetch  0x00000001 , 0x000009ae 
+ 00030110  0x00005422 beq  0x00000001 , 0x00007539 
+ 00030111  0x00005423 beq  0x00000002 , 0x00007550 
+ 00030112  0x00005424 rtn 
+ 00030113  0x00005428 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00030114  0x00005429 rshift3  0x0000003f , 0x0000003f 
+ 00030115  0x0000542a iadd  0x00000006 , 0x00000006 
+ 00030116  0x0000542b ifetch  0x00000001 , 0x00000006 
+ 00030117  0x0000542c qisolate0  0x0000003f 
+ 00030118  0x0000542d rtn 
+ 00030119  0x00005431 call  0x00007c99 
+ 00030120  0x00005432 call  0x00007c99 
+ 00030121  0x00005433 branch  0x00007c99 
+ 00030122  0x00005437 ifetch  0x00000008 , 0x00000006 
+ 00030123  0x00005438 nrtn  0x00000034 
+ 00030124  0x00005439 ifetch  0x00000008 , 0x00000006 
+ 00030125  0x0000543a nrtn  0x00000034 
+ 00030126  0x0000543b ifetch  0x00000008 , 0x00000006 
+ 00030127  0x0000543c rtn 
+ 00030128  0x00005442 ifetch  0x00000004 , 0x00000011 
+ 00030129  0x00005443 iforce  0x00000002 
+ 00030130  0x00005444 ifetch  0x00000004 , 0x00000012 
+ 00030131  0x00005445 isub  0x00000002 , 0x0000003e 
+ 00030132  0x00005446 nrtn  0x00000005 
+ 00030133  0x00005447 increase  0x00000004 , 0x00000011 
+ 00030134  0x00005448 increase  0x00000004 , 0x00000012 
+ 00030135  0x00005449 loop  0x000075b0 
+ 00030136  0x0000544a rtn 
+ 00030137  0x0000544e force  0x00000006 , 0x00000039 
+ 00030138  0x0000544f increase  0x00000014 , 0x00000011 
+ 00030139  0x00005450 increase  0x00000014 , 0x00000012 
+ 00030140  0x00005452 ifetch  0x00000004 , 0x00000012 
+ 00030141  0x00005453 iforce  0x00000002 
+ 00030142  0x00005454 ifetch  0x00000004 , 0x00000011 
+ 00030143  0x00005455 isub  0x00000002 , 0x0000003f 
+ 00030144  0x00005456 nrtn  0x00000002 
+ 00030145  0x00005457 nrtn  0x00000034 
+ 00030146  0x00005458 increase  0xfffffffc , 0x00000011 
+ 00030147  0x00005459 increase  0xfffffffc , 0x00000012 
+ 00030148  0x0000545a loop  0x000075bc 
+ 00030149  0x0000545b rtn 
+ 00030150  0x0000545e force  0x00000006 , 0x00000039 
+ 00030151  0x0000545f force  0x00000000 , 0x00000013 
+ 00030152  0x00005461 ifetch  0x00000004 , 0x00000011 
+ 00030153  0x00005462 iforce  0x00000002 
+ 00030154  0x00005463 ifetch  0x00000004 , 0x00000012 
+ 00030155  0x00005464 iadd  0x00000002 , 0x0000003f 
+ 00030156  0x00005465 iadd  0x00000013 , 0x0000003f 
+ 00030157  0x00005466 istore  0x00000004 , 0x00000005 
+ 00030158  0x00005467 isolate1  0x00000020 , 0x0000003f 
+ 00030159  0x00005468 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030160  0x00005469 increase  0x00000004 , 0x00000011 
+ 00030161  0x0000546a increase  0x00000004 , 0x00000012 
+ 00030162  0x0000546b loop  0x000075c8 
+ 00030163  0x0000546c rtn 
+ 00030164  0x0000546f force  0x00000006 , 0x00000039 
+ 00030165  0x00005470 force  0x00000000 , 0x00000013 
+ 00030166  0x00005472 ifetch  0x00000004 , 0x00000012 
+ 00030167  0x00005473 iforce  0x00000002 
+ 00030168  0x00005474 ifetch  0x00000004 , 0x00000011 
+ 00030169  0x00005475 isub  0x00000002 , 0x0000003f 
+ 00030170  0x00005476 isub  0x00000013 , 0x0000003f 
+ 00030171  0x00005477 istore  0x00000004 , 0x00000005 
+ 00030172  0x00005478 isolate1  0x00000020 , 0x0000003f 
+ 00030173  0x00005479 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030174  0x0000547a increase  0x00000004 , 0x00000011 
+ 00030175  0x0000547b increase  0x00000004 , 0x00000012 
+ 00030176  0x0000547c loop  0x000075d6 
+ 00030177  0x0000547d rtn 
+ 00030178  0x00005480 force  0x00000006 , 0x00000039 
+ 00030179  0x00005481 increase  0x00000014 , 0x00000011 
+ 00030180  0x00005483 force  0x00000000 , 0x00000013 
+ 00030181  0x00005485 ifetch  0x00000004 , 0x00000011 
+ 00030182  0x00005486 isolate1  0x00000000 , 0x0000003f 
+ 00030183  0x00005487 setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030184  0x00005488 rshift  0x0000003f , 0x0000003f 
+ 00030185  0x00005489 isolate1  0x00000000 , 0x00000013 
+ 00030186  0x0000548a setflag  0x00000001 , 0x0000001f , 0x0000003f 
+ 00030187  0x0000548b istore  0x00000004 , 0x00000011 
+ 00030188  0x0000548c increase  0xfffffffc , 0x00000011 
+ 00030189  0x0000548d rshift  0x00000013 , 0x00000013 
+ 00030190  0x0000548e loop  0x000075e5 
+ 00030191  0x0000548f rtn 
+ 00030192  0x00005492 force  0x00000006 , 0x00000039 
+ 00030193  0x00005493 force  0x00000000 , 0x00000013 
+ 00030194  0x00005495 ifetch  0x00000004 , 0x00000011 
+ 00030195  0x00005496 isolate1  0x0000001f , 0x0000003f 
+ 00030196  0x00005497 setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030197  0x00005498 lshift  0x0000003f , 0x0000003f 
+ 00030198  0x00005499 isolate1  0x00000000 , 0x00000013 
+ 00030199  0x0000549a setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00030200  0x0000549b istore  0x00000004 , 0x00000011 
+ 00030201  0x0000549c increase  0x00000004 , 0x00000011 
+ 00030202  0x0000549d rshift  0x00000013 , 0x00000013 
+ 00030203  0x0000549e loop  0x000075f2 
+ 00030204  0x0000549f rtn 
+ 00030205  0x000054a2 call  0x000075f0 
+ 00030206  0x000054a4 isolate1  0x00000000 , 0x00000013 
+ 00030207  0x000054a5 branch  0x00007606 , 0x00000001 
+ 00030208  0x000054a6 arg  0x00000882 , 0x00000012 
+ 00030209  0x000054a7 copy  0x00000011 , 0x00000013 
+ 00030210  0x000054a8 increase  0xffffffe8 , 0x00000011 
+ 00030211  0x000054a9 call  0x000075b9 
+ 00030212  0x000054aa nrtn  0x00000002 
+ 00030213  0x000054ab copy  0x00000013 , 0x00000011 
+ 00030214  0x000054ad increase  0xffffffe8 , 0x00000011 
+ 00030215  0x000054ae arg  0x00000882 , 0x00000012 
+ 00030216  0x000054af copy  0x00000011 , 0x00000005 
+ 00030217  0x000054b0 branch  0x000075d4 
+ 00030218  0x000054b4 call  0x000075c6 
+ 00030219  0x000054b5 copy  0x00000005 , 0x00000011 
+ 00030220  0x000054b6 branch  0x000075fe 
+ 00030221  0x000054b9 call  0x000075d4 
+ 00030222  0x000054ba isolate0  0x00000000 , 0x00000013 
+ 00030223  0x000054bb rtn  0x00000001 
+ 00030224  0x000054bc arg  0x00000882 , 0x00000012 
+ 00030225  0x000054bd add  0x00000005 , 0xffffffe8 , 0x00000011 
+ 00030226  0x000054be copy  0x00000011 , 0x00000005 
+ 00030227  0x000054bf branch  0x000075c6 
+ 00030228  0x000054c3 copy  0x00000005 , 0x0000000b 
+ 00030229  0x000054c4 copy  0x00000011 , 0x00000030 
+ 00030230  0x000054c5 arg  0x00000712 , 0x00000012 
+ 00030231  0x000054c6 copy  0x00000012 , 0x00000005 
+ 00030232  0x000054c7 add  0x00000011 , 0x00000018 , 0x00000006 
+ 00030233  0x000054c8 ifetch  0x00000008 , 0x00000006 
+ 00030234  0x000054c9 istore  0x00000008 , 0x00000005 
+ 00030235  0x000054ca istore  0x00000008 , 0x00000005 
+ 00030236  0x000054cb force  0x00000000 , 0x0000003f 
+ 00030237  0x000054cc istore  0x00000008 , 0x00000005 
+ 00030238  0x000054cd copy  0x0000000b , 0x00000005 
+ 00030239  0x000054ce call  0x0000760a 
+ 00030240  0x000054cf arg  0x00000712 , 0x00000012 
+ 00030241  0x000054d0 copy  0x00000012 , 0x00000005 
+ 00030242  0x000054d1 force  0x00000000 , 0x0000003f 
+ 00030243  0x000054d2 istore  0x00000008 , 0x00000005 
+ 00030244  0x000054d3 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00030245  0x000054d4 ifetch  0x00000008 , 0x00000006 
+ 00030246  0x000054d5 istore  0x00000008 , 0x00000005 
+ 00030247  0x000054d6 istore  0x00000008 , 0x00000005 
+ 00030248  0x000054d7 copy  0x0000000b , 0x00000011 
+ 00030249  0x000054d8 copy  0x00000011 , 0x00000005 
+ 00030250  0x000054d9 call  0x0000760a 
+ 00030251  0x000054da arg  0x00000712 , 0x00000012 
+ 00030252  0x000054db copy  0x00000012 , 0x00000005 
+ 00030253  0x000054dc add  0x00000030 , 0x00000028 , 0x00000006 
+ 00030254  0x000054dd ifetch  0x00000008 , 0x00000006 
+ 00030255  0x000054de istore  0x00000008 , 0x00000005 
+ 00030256  0x000054df istore  0x00000008 , 0x00000005 
+ 00030257  0x000054e0 istore  0x00000008 , 0x00000005 
+ 00030258  0x000054e1 copy  0x0000000b , 0x00000011 
+ 00030259  0x000054e2 copy  0x00000011 , 0x00000005 
+ 00030260  0x000054e3 branch  0x0000760a 
+ 00030261  0x000054e7 force  0x00000006 , 0x00000039 
+ 00030262  0x000054e9 ifetch  0x00000004 , 0x00000006 
+ 00030263  0x000054ea iforce  0x0000002f 
+ 00030264  0x000054eb increase  0x00000001 , 0x00000038 
+ 00030265  0x000054ec loop  0x00007636 
+ 00030266  0x000054ed rtn 
+ 00030267  0x000054f2 copy  0x00000005 , 0x0000000b 
+ 00030268  0x000054f3 arg  0x000006e2 , 0x00000005 
+ 00030269  0x000054f4 call  0x00007ca0 
+ 00030270  0x000054f5 arg  0x000006e2 , 0x00000005 
+ 00030271  0x000054f6 copy  0x00000011 , 0x00000006 
+ 00030272  0x000054f7 force  0x00000000 , 0x00000038 
+ 00030273  0x000054f8 call  0x00007635 
+ 00030274  0x000054f9 copy  0x00000012 , 0x00000006 
+ 00030275  0x000054fa call  0x00007635 
+ 00030276  0x000054fb force  0x00000000 , 0x00000012 
+ 00030277  0x000054fd force  0x00000000 , 0x00000002 
+ 00030278  0x000054fe force  0x00000006 , 0x00000013 
+ 00030279  0x00005500 ifetch  0x00000004 , 0x00000005 
+ 00030280  0x00005501 iforce  0x00000011 
+ 00030281  0x00005502 copy  0x00000012 , 0x00000038 
+ 00030282  0x00005503 deposit  0x0000002f 
+ 00030283  0x00005504 copy  0x00000013 , 0x00000038 
+ 00030284  0x00005505 imul32  0x0000002f , 0x0000003f 
+ 00030285  0x00005506 iadd  0x00000011 , 0x0000003f 
+ 00030286  0x00005507 iadd  0x00000002 , 0x0000003f 
+ 00030287  0x00005508 istore  0x00000004 , 0x00000005 
+ 00030288  0x00005509 rshift32  0x0000003f , 0x00000002 
+ 00030289  0x0000550a increase  0x00000001 , 0x00000013 
+ 00030290  0x0000550b compare  0x0000000c , 0x00000013 , 0x000000ff 
+ 00030291  0x0000550c nbranch  0x00007647 , 0x00000001 
+ 00030292  0x0000550d deposit  0x00000002 
+ 00030293  0x0000550e istore  0x00000004 , 0x00000005 
+ 00030294  0x0000550f increase  0xffffffe8 , 0x00000005 
+ 00030295  0x00005510 increase  0x00000001 , 0x00000012 
+ 00030296  0x00005511 compare  0x00000006 , 0x00000012 , 0x000000ff 
+ 00030297  0x00005512 nbranch  0x00007645 , 0x00000001 
+ 00030298  0x00005513 arg  0x000006e2 , 0x00000011 
+ 00030299  0x00005514 copy  0x0000000b , 0x00000005 
+ 00030300  0x00005515 branch  0x00007614 
+ 00030301  0x00005519 copy  0x00000011 , 0x00000012 
+ 00030302  0x0000551a branch  0x0000763b 
+ 00030303  0x0000551d copy  0x00000011 , 0x00000030 
+ 00030304  0x0000551f copy  0x00000030 , 0x00000011 
+ 00030305  0x00005520 ifetch  0x00000001 , 0x00000011 
+ 00030306  0x00005521 isolate1  0x00000000 , 0x0000003f 
+ 00030307  0x00005522 rtn  0x00000001 
+ 00030308  0x00005523 call  0x000075e2 
+ 00030309  0x00005524 ifetch  0x00000001 , 0x00000012 
+ 00030310  0x00005525 isolate0  0x00000000 , 0x0000003f 
+ 00030311  0x00005526 branch  0x0000766f , 0x00000001 
+ 00030312  0x00005527 arg  0x00000882 , 0x00000011 
+ 00030313  0x00005528 copy  0x00000012 , 0x00000005 
+ 00030314  0x00005529 call  0x000075c6 
+ 00030315  0x0000552a ifetch  0x00000001 , 0x00000012 
+ 00030316  0x0000552b iadd  0x00000013 , 0x0000003f 
+ 00030317  0x0000552c istore  0x00000001 , 0x00000012 
+ 00030318  0x0000552d increase  0xffffffe8 , 0x00000012 
+ 00030319  0x0000552f add  0x00000012 , 0x00000018 , 0x00000011 
+ 00030320  0x00005530 force  0x00000007 , 0x00000039 
+ 00030321  0x00005531 call  0x000075e4 
+ 00030322  0x00005532 branch  0x00007660 
+ 00030323  0x00005536 copy  0x00000005 , 0x0000000b 
+ 00030324  0x00005537 arg  0x00000742 , 0x00000005 
+ 00030325  0x00005538 call  0x00007ca0 
+ 00030326  0x00005539 force  0x00000000 , 0x0000003f 
+ 00030327  0x0000553a store  0x00000004 , 0x000006fa 
+ 00030328  0x0000553b store  0x00000004 , 0x0000075a 
+ 00030329  0x0000553c jam  0x00000001 , 0x00000742 
+ 00030330  0x0000553d arg  0x000006e2 , 0x00000005 
+ 00030331  0x0000553e call  0x00007ca0 
+ 00030332  0x0000553f arg  0x00000882 , 0x00000006 
+ 00030333  0x00005540 arg  0x00000712 , 0x00000005 
+ 00030334  0x00005541 call  0x00007c99 
+ 00030335  0x00005542 copy  0x00000011 , 0x00000006 
+ 00030336  0x00005543 arg  0x0000072a , 0x00000005 
+ 00030337  0x00005544 call  0x00007c99 
+ 00030338  0x00005546 arg  0x0000072a , 0x00000006 
+ 00030339  0x00005547 call  0x000075aa 
+ 00030340  0x00005548 branch  0x000076ab , 0x00000034 
+ 00030341  0x00005549 arg  0x0000072a , 0x00000011 
+ 00030342  0x0000554a arg  0x00000742 , 0x00000012 
+ 00030343  0x0000554b call  0x0000765f 
+ 00030344  0x0000554d arg  0x00000712 , 0x00000011 
+ 00030345  0x0000554e arg  0x000006e2 , 0x00000012 
+ 00030346  0x0000554f call  0x0000765f 
+ 00030347  0x00005550 arg  0x0000072a , 0x00000011 
+ 00030348  0x00005551 arg  0x00000712 , 0x00000012 
+ 00030349  0x00005552 call  0x000075b9 
+ 00030350  0x00005553 branch  0x0000769d , 0x00000002 
+ 00030351  0x00005554 arg  0x00000712 , 0x00000011 
+ 00030352  0x00005555 arg  0x0000072a , 0x00000012 
+ 00030353  0x00005556 copy  0x00000011 , 0x00000005 
+ 00030354  0x00005557 call  0x000075d4 
+ 00030355  0x00005558 arg  0x00000742 , 0x00000011 
+ 00030356  0x00005559 arg  0x000006e2 , 0x00000012 
+ 00030357  0x0000555a copy  0x00000012 , 0x00000005 
+ 00030358  0x0000555b call  0x000075c6 
+ 00030359  0x0000555c ifetch  0x00000001 , 0x00000011 
+ 00030360  0x0000555d iadd  0x00000013 , 0x00000013 
+ 00030361  0x0000555e ifetch  0x00000001 , 0x00000012 
+ 00030362  0x0000555f iadd  0x00000013 , 0x0000003f 
+ 00030363  0x00005560 istore  0x00000001 , 0x00000012 
+ 00030364  0x00005561 branch  0x00007682 
+ 00030365  0x00005563 arg  0x0000072a , 0x00000011 
+ 00030366  0x00005564 arg  0x00000712 , 0x00000012 
+ 00030367  0x00005565 copy  0x00000011 , 0x00000005 
+ 00030368  0x00005566 call  0x000075d4 
+ 00030369  0x00005567 arg  0x000006e2 , 0x00000011 
+ 00030370  0x00005568 arg  0x00000742 , 0x00000012 
+ 00030371  0x00005569 copy  0x00000012 , 0x00000005 
+ 00030372  0x0000556a call  0x000075c6 
+ 00030373  0x0000556b ifetch  0x00000001 , 0x00000011 
+ 00030374  0x0000556c iadd  0x00000013 , 0x00000013 
+ 00030375  0x0000556d ifetch  0x00000001 , 0x00000012 
+ 00030376  0x0000556e iadd  0x00000013 , 0x0000003f 
+ 00030377  0x0000556f istore  0x00000001 , 0x00000012 
+ 00030378  0x00005570 branch  0x00007682 
+ 00030379  0x00005572 arg  0x00000742 , 0x00000005 
+ 00030380  0x00005573 call  0x00007ca0 
+ 00030381  0x00005574 fetch  0x00000001 , 0x000006fa 
+ 00030382  0x00005575 store  0x00000001 , 0x00000742 
+ 00030383  0x00005576 store  0x00000001 , 0x0000074a 
+ 00030384  0x00005577 arg  0x00000742 , 0x00000011 
+ 00030385  0x00005578 arg  0x000006e2 , 0x00000012 
+ 00030386  0x00005579 copy  0x00000012 , 0x00000005 
+ 00030387  0x0000557a call  0x0000760a 
+ 00030388  0x0000557b arg  0x00000882 , 0x00000011 
+ 00030389  0x0000557c arg  0x000006e2 , 0x00000012 
+ 00030390  0x0000557d copy  0x0000000b , 0x00000005 
+ 00030391  0x0000557e branch  0x0000760d 
+ 00030392  0x00005584 arg  0x000006a2 , 0x00000011 
+ 00030393  0x00005585 arg  0x0000075a , 0x00000005 
+ 00030394  0x00005586 call  0x0000765d 
+ 00030395  0x00005587 arg  0x0000075a , 0x00000011 
+ 00030396  0x00005588 arg  0x00000772 , 0x00000005 
+ 00030397  0x00005589 call  0x0000765d 
+ 00030398  0x0000558a arg  0x0000089a , 0x00000011 
+ 00030399  0x0000558b arg  0x00000772 , 0x00000012 
+ 00030400  0x0000558c arg  0x00000772 , 0x00000005 
+ 00030401  0x0000558d call  0x0000763b 
+ 00030402  0x0000558e arg  0x00000672 , 0x00000011 
+ 00030403  0x0000558f arg  0x0000075a , 0x00000005 
+ 00030404  0x00005590 call  0x0000765d 
+ 00030405  0x00005591 arg  0x0000075a , 0x00000006 
+ 00030406  0x00005592 arg  0x0000072a , 0x00000005 
+ 00030407  0x00005593 call  0x00007c99 
+ 00030408  0x00005594 arg  0x0000072a , 0x00000011 
+ 00030409  0x00005595 call  0x000075fd 
+ 00030410  0x00005596 arg  0x0000075a , 0x00000011 
+ 00030411  0x00005597 arg  0x0000072a , 0x00000012 
+ 00030412  0x00005598 arg  0x0000075a , 0x00000005 
+ 00030413  0x00005599 call  0x0000760a 
+ 00030414  0x0000559a arg  0x0000075a , 0x00000011 
+ 00030415  0x0000559b arg  0x00000772 , 0x00000012 
+ 00030416  0x0000559c arg  0x0000075a , 0x00000005 
+ 00030417  0x0000559d call  0x0000760a 
+ 00030418  0x0000559e arg  0x00000672 , 0x00000006 
+ 00030419  0x0000559f arg  0x0000072a , 0x00000005 
+ 00030420  0x000055a0 call  0x00007c99 
+ 00030421  0x000055a1 arg  0x0000068a , 0x00000011 
+ 00030422  0x000055a2 arg  0x00000772 , 0x00000005 
+ 00030423  0x000055a3 call  0x0000765d 
+ 00030424  0x000055a4 arg  0x0000072a , 0x00000011 
+ 00030425  0x000055a5 call  0x000075fd 
+ 00030426  0x000055a6 arg  0x0000072a , 0x00000011 
+ 00030427  0x000055a7 call  0x000075fd 
+ 00030428  0x000055a8 arg  0x0000072a , 0x00000011 
+ 00030429  0x000055a9 arg  0x00000772 , 0x00000012 
+ 00030430  0x000055aa arg  0x0000072a , 0x00000005 
+ 00030431  0x000055ab call  0x0000763b 
+ 00030432  0x000055ac arg  0x00000772 , 0x00000011 
+ 00030433  0x000055ad arg  0x00000742 , 0x00000005 
+ 00030434  0x000055ae call  0x0000765d 
+ 00030435  0x000055af arg  0x00000742 , 0x00000011 
+ 00030436  0x000055b0 call  0x000075fd 
+ 00030437  0x000055b1 arg  0x00000742 , 0x00000011 
+ 00030438  0x000055b2 call  0x000075fd 
+ 00030439  0x000055b3 arg  0x00000742 , 0x00000011 
+ 00030440  0x000055b4 call  0x000075fd 
+ 00030441  0x000055b5 arg  0x0000068a , 0x00000006 
+ 00030442  0x000055b6 arg  0x00000772 , 0x00000005 
+ 00030443  0x000055b7 call  0x00007c99 
+ 00030444  0x000055b8 arg  0x00000772 , 0x00000011 
+ 00030445  0x000055b9 call  0x000075fd 
+ 00030446  0x000055ba arg  0x00000772 , 0x00000011 
+ 00030447  0x000055bb arg  0x000006a2 , 0x00000012 
+ 00030448  0x000055bc arg  0x000006a2 , 0x00000005 
+ 00030449  0x000055bd call  0x0000763b 
+ 00030450  0x000055be arg  0x0000075a , 0x00000011 
+ 00030451  0x000055bf arg  0x00000772 , 0x00000005 
+ 00030452  0x000055c0 call  0x0000765d 
+ 00030453  0x000055c1 arg  0x00000772 , 0x00000011 
+ 00030454  0x000055c2 arg  0x0000072a , 0x00000012 
+ 00030455  0x000055c3 arg  0x00000772 , 0x00000005 
+ 00030456  0x000055c4 call  0x0000760d 
+ 00030457  0x000055c5 arg  0x00000772 , 0x00000011 
+ 00030458  0x000055c6 arg  0x0000072a , 0x00000012 
+ 00030459  0x000055c7 arg  0x00000672 , 0x00000005 
+ 00030460  0x000055c8 call  0x0000760d 
+ 00030461  0x000055c9 arg  0x0000072a , 0x00000011 
+ 00030462  0x000055ca arg  0x00000672 , 0x00000012 
+ 00030463  0x000055cb arg  0x00000772 , 0x00000005 
+ 00030464  0x000055cc call  0x0000760d 
+ 00030465  0x000055cd arg  0x00000772 , 0x00000011 
+ 00030466  0x000055ce arg  0x0000075a , 0x00000012 
+ 00030467  0x000055cf arg  0x00000772 , 0x00000005 
+ 00030468  0x000055d0 call  0x0000763b 
+ 00030469  0x000055d1 arg  0x00000772 , 0x00000011 
+ 00030470  0x000055d2 arg  0x00000742 , 0x00000012 
+ 00030471  0x000055d3 arg  0x0000068a , 0x00000005 
+ 00030472  0x000055d4 branch  0x0000760d 
+ 00030473  0x000055d9 arg  0x00000612 , 0x00000011 
+ 00030474  0x000055da arg  0x0000078a , 0x00000005 
+ 00030475  0x000055db call  0x0000765d 
+ 00030476  0x000055dc arg  0x00000672 , 0x00000011 
+ 00030477  0x000055dd arg  0x0000078a , 0x00000012 
+ 00030478  0x000055de arg  0x00000742 , 0x00000005 
+ 00030479  0x000055df call  0x0000763b 
+ 00030480  0x000055e0 arg  0x00000612 , 0x00000011 
+ 00030481  0x000055e1 arg  0x0000078a , 0x00000012 
+ 00030482  0x000055e2 arg  0x0000078a , 0x00000005 
+ 00030483  0x000055e3 call  0x0000763b 
+ 00030484  0x000055e4 arg  0x0000068a , 0x00000011 
+ 00030485  0x000055e5 arg  0x0000078a , 0x00000012 
+ 00030486  0x000055e6 arg  0x0000072a , 0x00000005 
+ 00030487  0x000055e7 call  0x0000763b 
+ 00030488  0x000055e8 arg  0x000006a2 , 0x00000011 
+ 00030489  0x000055e9 arg  0x0000078a , 0x00000005 
+ 00030490  0x000055ea call  0x0000765d 
+ 00030491  0x000055eb arg  0x000005e2 , 0x00000011 
+ 00030492  0x000055ec arg  0x0000078a , 0x00000012 
+ 00030493  0x000055ed arg  0x0000075a , 0x00000005 
+ 00030494  0x000055ee call  0x0000763b 
+ 00030495  0x000055ef arg  0x000006a2 , 0x00000011 
+ 00030496  0x000055f0 arg  0x0000078a , 0x00000012 
+ 00030497  0x000055f1 arg  0x0000078a , 0x00000005 
+ 00030498  0x000055f2 call  0x0000763b 
+ 00030499  0x000055f3 arg  0x000005fa , 0x00000011 
+ 00030500  0x000055f4 arg  0x0000078a , 0x00000012 
+ 00030501  0x000055f5 arg  0x00000772 , 0x00000005 
+ 00030502  0x000055f6 call  0x0000763b 
+ 00030503  0x000055f7 arg  0x00000742 , 0x00000011 
+ 00030504  0x000055f8 arg  0x0000075a , 0x00000012 
+ 00030505  0x000055f9 arg  0x0000078a , 0x00000005 
+ 00030506  0x000055fa call  0x0000760d 
+ 00030507  0x000055fb arg  0x00000742 , 0x00000011 
+ 00030508  0x000055fc arg  0x0000075a , 0x00000012 
+ 00030509  0x000055fd arg  0x00000742 , 0x00000005 
+ 00030510  0x000055fe call  0x0000760a 
+ 00030511  0x000055ff arg  0x0000072a , 0x00000011 
+ 00030512  0x00005600 arg  0x00000772 , 0x00000012 
+ 00030513  0x00005601 arg  0x0000075a , 0x00000005 
+ 00030514  0x00005602 call  0x0000760d 
+ 00030515  0x00005603 arg  0x0000072a , 0x00000011 
+ 00030516  0x00005604 arg  0x00000772 , 0x00000012 
+ 00030517  0x00005605 arg  0x0000072a , 0x00000005 
+ 00030518  0x00005606 call  0x0000760a 
+ 00030519  0x00005607 arg  0x0000072a , 0x00000011 
+ 00030520  0x00005608 arg  0x0000078a , 0x00000012 
+ 00030521  0x00005609 arg  0x0000072a , 0x00000005 
+ 00030522  0x0000560a call  0x0000763b 
+ 00030523  0x0000560b arg  0x000006a2 , 0x00000011 
+ 00030524  0x0000560c arg  0x00000612 , 0x00000012 
+ 00030525  0x0000560d arg  0x00000772 , 0x00000005 
+ 00030526  0x0000560e call  0x0000763b 
+ 00030527  0x0000560f arg  0x00000772 , 0x00000011 
+ 00030528  0x00005610 arg  0x0000078a , 0x00000012 
+ 00030529  0x00005611 arg  0x000006a2 , 0x00000005 
+ 00030530  0x00005612 call  0x0000763b 
+ 00030531  0x00005613 arg  0x0000078a , 0x00000011 
+ 00030532  0x00005614 arg  0x0000078a , 0x00000005 
+ 00030533  0x00005615 call  0x0000765d 
+ 00030534  0x00005616 arg  0x0000078a , 0x00000011 
+ 00030535  0x00005617 arg  0x00000742 , 0x00000012 
+ 00030536  0x00005618 arg  0x00000772 , 0x00000005 
+ 00030537  0x00005619 call  0x0000763b 
+ 00030538  0x0000561a arg  0x0000078a , 0x00000011 
+ 00030539  0x0000561b arg  0x0000072a , 0x00000012 
+ 00030540  0x0000561c arg  0x0000072a , 0x00000005 
+ 00030541  0x0000561d call  0x0000763b 
+ 00030542  0x0000561e arg  0x0000075a , 0x00000011 
+ 00030543  0x0000561f arg  0x00000672 , 0x00000005 
+ 00030544  0x00005620 call  0x0000765d 
+ 00030545  0x00005621 arg  0x00000672 , 0x00000011 
+ 00030546  0x00005622 arg  0x00000772 , 0x00000012 
+ 00030547  0x00005623 arg  0x00000672 , 0x00000005 
+ 00030548  0x00005624 call  0x0000760d 
+ 00030549  0x00005625 arg  0x00000672 , 0x00000006 
+ 00030550  0x00005626 arg  0x0000078a , 0x00000005 
+ 00030551  0x00005627 call  0x00007c99 
+ 00030552  0x00005628 arg  0x0000078a , 0x00000011 
+ 00030553  0x00005629 call  0x000075fd 
+ 00030554  0x0000562a arg  0x00000772 , 0x00000011 
+ 00030555  0x0000562b arg  0x0000078a , 0x00000012 
+ 00030556  0x0000562c arg  0x00000772 , 0x00000005 
+ 00030557  0x0000562d call  0x0000760d 
+ 00030558  0x0000562e arg  0x00000772 , 0x00000011 
+ 00030559  0x0000562f arg  0x0000075a , 0x00000012 
+ 00030560  0x00005630 arg  0x0000075a , 0x00000005 
+ 00030561  0x00005631 call  0x0000763b 
+ 00030562  0x00005632 arg  0x0000075a , 0x00000011 
+ 00030563  0x00005633 arg  0x0000072a , 0x00000012 
+ 00030564  0x00005634 arg  0x0000068a , 0x00000005 
+ 00030565  0x00005635 call  0x0000760d 
+ 00030566  0x00005636 arg  0x0000068a , 0x00000011 
+ 00030567  0x00005637 arg  0x00000882 , 0x00000012 
+ 00030568  0x00005638 arg  0x0000068a , 0x00000005 
+ 00030569  0x00005639 force  0x00000000 , 0x00000013 
+ 00030570  0x0000563a fetch  0x00000001 , 0x0000068a 
+ 00030571  0x0000563b isolate1  0x00000000 , 0x0000003f 
+ 00030572  0x0000563c call  0x000075c6 , 0x00000001 
+ 00030573  0x0000563d copy  0x00000013 , 0x00000030 
+ 00030574  0x0000563e arg  0x0000068a , 0x00000011 
+ 00030575  0x0000563f call  0x000075e2 
+ 00030576  0x00005640 fetch  0x00000001 , 0x000006a1 
+ 00030577  0x00005641 isolate1  0x00000000 , 0x00000030 
+ 00030578  0x00005642 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00030579  0x00005643 store  0x00000001 , 0x000006a1 
+ 00030580  0x00005644 rtn 
+ 00030581  0x00005649 fetch  0x00000001 , 0x000005df 
+ 00030582  0x0000564a increase  0xffffffff , 0x0000003f 
+ 00030583  0x0000564b nrtn  0x00000002 
+ 00030584  0x0000564c store  0x00000001 , 0x000005df 
+ 00030585  0x0000564d fetch  0x00000001 , 0x000005de 
+ 00030586  0x0000564e call  0x000076b8 , 0x00000034 
+ 00030587  0x0000564f fetch  0x00000001 , 0x000005df 
+ 00030588  0x00005650 arg  0x000006ba , 0x00000006 
+ 00030589  0x00005651 call  0x000075a1 
+ 00030590  0x00005652 branch  0x00007775 , 0x00000001 
+ 00030591  0x00005653 fetch  0x00000001 , 0x000005de 
+ 00030592  0x00005654 nbranch  0x00007783 , 0x00000034 
+ 00030593  0x00005655 call  0x00007709 
+ 00030594  0x00005656 branch  0x00007775 
+ 00030595  0x00005658 jam  0x00000000 , 0x000005de 
+ 00030596  0x00005659 arg  0x000005e2 , 0x00000006 
+ 00030597  0x0000565a arg  0x00000672 , 0x00000005 
+ 00030598  0x0000565b call  0x000075a7 
+ 00030599  0x0000565c branch  0x00007775 
+ 00030600  0x00005660 arg  0x000006a2 , 0x00000011 
+ 00030601  0x00005661 arg  0x00000772 , 0x00000005 
+ 00030602  0x00005662 call  0x00007673 
+ 00030603  0x00005663 arg  0x00000772 , 0x00000011 
+ 00030604  0x00005664 arg  0x0000072a , 0x00000005 
+ 00030605  0x00005665 call  0x0000765d 
+ 00030606  0x00005666 arg  0x00000672 , 0x00000011 
+ 00030607  0x00005667 arg  0x0000072a , 0x00000012 
+ 00030608  0x00005668 arg  0x0000062a , 0x00000005 
+ 00030609  0x00005669 call  0x0000763b 
+ 00030610  0x0000566a arg  0x00000772 , 0x00000011 
+ 00030611  0x0000566b arg  0x0000072a , 0x00000012 
+ 00030612  0x0000566c arg  0x0000075a , 0x00000005 
+ 00030613  0x0000566d call  0x0000763b 
+ 00030614  0x0000566e arg  0x0000068a , 0x00000011 
+ 00030615  0x0000566f arg  0x0000075a , 0x00000012 
+ 00030616  0x00005670 arg  0x00000642 , 0x00000005 
+ 00030617  0x00005671 branch  0x0000763b 
+ 00030618  0x00005676 ifetch  0x00000004 , 0x00000006 
+ 00030619  0x00005677 force  0x00000004 , 0x00000011 
+ 00030620  0x00005678 increase  0x00000003 , 0x00000005 
+ 00030621  0x0000567a istore  0x00000001 , 0x00000005 
+ 00030622  0x0000567b rshift8  0x0000003f , 0x0000003f 
+ 00030623  0x0000567c increase  0xfffffffe , 0x00000005 
+ 00030624  0x0000567d increase  0xffffffff , 0x00000011 
+ 00030625  0x0000567e nbranch  0x0000779d , 0x00000005 
+ 00030626  0x0000567f increase  0x00000005 , 0x00000005 
+ 00030627  0x00005680 loop  0x0000779a 
+ 00030628  0x00005681 rtn 
+ 00030629  0x00005685 lshift2  0x00000007 , 0x0000003f 
+ 00030630  0x00005686 iadd  0x0000000b , 0x00000006 
+ 00030631  0x00005687 ifetch  0x00000004 , 0x00000006 
+ 00030632  0x00005688 rtn 
+ 00030633  0x0000568b force  0x00000010 , 0x00000030 
+ 00030634  0x0000568c arg  0x000005e2 , 0x0000000b 
+ 00030635  0x0000568e add  0x00000030 , 0xfffffff9 , 0x00000007 
+ 00030636  0x0000568f call  0x000077a5 
+ 00030637  0x00005690 iforce  0x00000002 
+ 00030638  0x00005691 add  0x00000030 , 0xfffffff0 , 0x00000007 
+ 00030639  0x00005692 call  0x000077a5 
+ 00030640  0x00005693 iadd  0x00000002 , 0x00000002 
+ 00030641  0x00005694 add  0x00000030 , 0xfffffffe , 0x00000007 
+ 00030642  0x00005695 call  0x000077a5 
+ 00030643  0x00005696 shasx  0x0000003f , 0x00000001 , 0x0000003f 
+ 00030644  0x00005697 iadd  0x00000002 , 0x00000002 
+ 00030645  0x00005698 add  0x00000030 , 0xfffffff1 , 0x00000007 
+ 00030646  0x00005699 call  0x000077a5 
+ 00030647  0x0000569a shasx  0x0000003f , 0x00000000 , 0x0000003f 
+ 00030648  0x0000569b iadd  0x00000002 , 0x00000002 
+ 00030649  0x0000569c lshift2  0x00000030 , 0x0000003f 
+ 00030650  0x0000569d iadd  0x0000000b , 0x00000005 
+ 00030651  0x0000569e istoret  0x00000004 , 0x00000005 
+ 00030652  0x0000569f increase  0x00000001 , 0x00000030 
+ 00030653  0x000056a0 compare  0x00000040 , 0x00000030 , 0x000000ff 
+ 00030654  0x000056a1 nbranch  0x000077ab , 0x00000001 
+ 00030655  0x000056a2 rtn 
+ 00030656  0x000056a6 arg  0x000008fa , 0x00000006 
+ 00030657  0x000056a7 force  0x00000007 , 0x00000038 
+ 00030658  0x000056a9 ifetch  0x00000004 , 0x00000006 
+ 00030659  0x000056aa iforce  0x0000002f 
+ 00030660  0x000056ab increase  0xffffffff , 0x00000038 
+ 00030661  0x000056ac branch  0x000077c2 , 0x00000002 
+ 00030662  0x000056ad rtn 
+ 00030663  0x000056b0 bpatchx  0x00000096 , 0x00004032 
+ 00030664  0x000056b1 call  0x000077a9 
+ 00030665  0x000056b2 arg  0x000006e2 , 0x00000005 
+ 00030666  0x000056b3 force  0x00000000 , 0x00000038 
+ 00030667  0x000056b5 deposit  0x0000002f 
+ 00030668  0x000056b6 istore  0x00000004 , 0x00000005 
+ 00030669  0x000056b7 increase  0x00000001 , 0x00000038 
+ 00030670  0x000056b8 compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00030671  0x000056b9 nbranch  0x000077cb , 0x00000001 
+ 00030672  0x000056ba call  0x0000736e 
+ 00030673  0x000056bb arg  0x00008700 , 0x0000000b 
+ 00030674  0x000056bc arg  0x000005e2 , 0x00000030 
+ 00030675  0x000056bd force  0x00000040 , 0x00000039 
+ 00030676  0x000056bf ifetcht  0x00000004 , 0x00000030 
+ 00030677  0x000056c0 ifetch  0x00000004 , 0x0000000b 
+ 00030678  0x000056c1 increase  0x00000004 , 0x0000000b 
+ 00030679  0x000056c2 increase  0x00000004 , 0x00000030 
+ 00030680  0x000056c3 iadd  0x00000002 , 0x0000003f 
+ 00030681  0x000056c4 force  0x00000007 , 0x00000038 
+ 00030682  0x000056c5 iadd  0x0000002f , 0x00000002 
+ 00030683  0x000056c6 force  0x00000004 , 0x00000038 
+ 00030684  0x000056c7 shasx  0x0000002f , 0x00000003 , 0x0000003f 
+ 00030685  0x000056c8 iadd  0x00000002 , 0x00000002 
+ 00030686  0x000056c9 force  0x00000005 , 0x00000038 
+ 00030687  0x000056ca deposit  0x0000002f 
+ 00030688  0x000056cb force  0x00000006 , 0x00000038 
+ 00030689  0x000056cc ixor  0x0000002f , 0x0000003f 
+ 00030690  0x000056cd force  0x00000004 , 0x00000038 
+ 00030691  0x000056ce iand  0x0000002f , 0x0000003f 
+ 00030692  0x000056cf force  0x00000006 , 0x00000038 
+ 00030693  0x000056d0 ixor  0x0000002f , 0x0000003f 
+ 00030694  0x000056d1 iadd  0x00000002 , 0x00000002 
+ 00030695  0x000056d2 force  0x00000007 , 0x00000038 
+ 00030696  0x000056d3 copy  0x00000002 , 0x0000002f 
+ 00030697  0x000056d4 force  0x00000003 , 0x00000038 
+ 00030698  0x000056d5 deposit  0x0000002f 
+ 00030699  0x000056d6 iadd  0x00000002 , 0x0000002f 
+ 00030700  0x000056d7 force  0x00000000 , 0x00000038 
+ 00030701  0x000056d8 deposit  0x0000002f 
+ 00030702  0x000056d9 force  0x00000001 , 0x00000038 
+ 00030703  0x000056da iand  0x0000002f , 0x00000002 
+ 00030704  0x000056db ior  0x0000002f , 0x0000003f 
+ 00030705  0x000056dc force  0x00000002 , 0x00000038 
+ 00030706  0x000056dd iand  0x0000002f , 0x0000003f 
+ 00030707  0x000056de ior  0x00000002 , 0x00000002 
+ 00030708  0x000056df force  0x00000000 , 0x00000038 
+ 00030709  0x000056e0 shasx  0x0000002f , 0x00000002 , 0x0000003f 
+ 00030710  0x000056e1 iadd  0x00000002 , 0x0000003f 
+ 00030711  0x000056e2 force  0x00000007 , 0x00000038 
+ 00030712  0x000056e3 iadd  0x0000002f , 0x0000002f 
+ 00030713  0x000056e4 regexrot 
+ 00030714  0x000056e5 loop  0x000077d4 
+ 00030715  0x000056e6 arg  0x000006e2 , 0x00000006 
+ 00030716  0x000056e7 force  0x00000000 , 0x00000038 
+ 00030717  0x000056e9 ifetch  0x00000004 , 0x00000006 
+ 00030718  0x000056ea iadd  0x0000002f , 0x0000002f 
+ 00030719  0x000056eb increase  0x00000001 , 0x00000038 
+ 00030720  0x000056ec compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00030721  0x000056ed nbranch  0x000077fd , 0x00000001 
+ 00030722  0x000056ee branch  0x00007372 
+ 00030723  0x000056f2 arg  0x00000a3a , 0x00000005 
+ 00030724  0x000056f3 force  0x00000007 , 0x00000038 
+ 00030725  0x000056f5 deposit  0x0000002f 
+ 00030726  0x000056f6 istore  0x00000004 , 0x00000005 
+ 00030727  0x000056f7 increase  0xffffffff , 0x00000038 
+ 00030728  0x000056f8 branch  0x00007805 , 0x00000002 
+ 00030729  0x000056f9 rtn 
+ 00030730  0x000056fd arg  0x000005e2 , 0x00000005 
+ 00030731  0x000056fe increase  0xfffffffc , 0x00000006 
+ 00030732  0x000056ff sub  0x00000039 , 0x00000010 , 0x00000011 
+ 00030733  0x00005701 ifetch  0x00000004 , 0x00000006 
+ 00030734  0x00005702 ixor  0x00000002 , 0x0000003f 
+ 00030735  0x00005703 istore  0x00000004 , 0x00000005 
+ 00030736  0x00005704 increase  0xfffffff8 , 0x00000006 
+ 00030737  0x00005705 loop  0x0000780d 
+ 00030738  0x00005706 copy  0x00000011 , 0x00000039 
+ 00030739  0x00005707 deposit  0x00000002 
+ 00030740  0x00005709 istore  0x00000004 , 0x00000005 
+ 00030741  0x0000570a loop  0x00007814 
+ 00030742  0x0000570b rtn 
+ 00030743  0x0000570e call  0x0000781c 
+ 00030744  0x0000570f call  0x00007803 
+ 00030745  0x00005710 branch  0x00007842 
+ 00030746  0x00005713 call  0x0000781c 
+ 00030747  0x00005714 branch  0x00007842 
+ 00030748  0x00005717 arg  0x000009da , 0x00000006 
+ 00030749  0x00005718 arg  0x000005e2 , 0x00000005 
+ 00030750  0x00005719 force  0x00000006 , 0x00000039 
+ 00030751  0x0000571a call  0x00007926 
+ 00030752  0x0000571b arg  0x00004614 , 0x00000006 
+ 00030753  0x0000571c force  0x00000006 , 0x00000039 
+ 00030754  0x0000571d call  0x00007926 
+ 00030755  0x0000571e arg  0x00000a3a , 0x00000006 
+ 00030756  0x0000571f call  0x00007925 
+ 00030757  0x00005720 call  0x000077c0 
+ 00030758  0x00005721 call  0x000077c7 
+ 00030759  0x00005722 arg  0x00000a2a , 0x00000006 
+ 00030760  0x00005723 arg  0x000005e2 , 0x00000005 
+ 00030761  0x00005724 branch  0x00007839 
+ 00030762  0x00005727 arg  0x00004614 , 0x00000006 
+ 00030763  0x00005728 arg  0x000005e2 , 0x00000005 
+ 00030764  0x00005729 force  0x00000006 , 0x00000039 
+ 00030765  0x0000572a call  0x00007926 
+ 00030766  0x0000572b arg  0x000009da , 0x00000006 
+ 00030767  0x0000572c force  0x00000006 , 0x00000039 
+ 00030768  0x0000572d call  0x00007926 
+ 00030769  0x0000572e arg  0x00000a2a , 0x00000006 
+ 00030770  0x0000572f call  0x00007925 
+ 00030771  0x00005730 call  0x000077c0 
+ 00030772  0x00005731 call  0x000077c7 
+ 00030773  0x00005732 arg  0x00000a3a , 0x00000006 
+ 00030774  0x00005733 arg  0x000005e2 , 0x00000005 
+ 00030775  0x00005734 call  0x00007839 
+ 00030776  0x00005735 branch  0x00007842 
+ 00030777  0x00005738 call  0x00007925 
+ 00030778  0x00005739 setarg  0x00800000 
+ 00030779  0x0000573a lshift8  0x0000003f , 0x0000003f 
+ 00030780  0x0000573b istore  0x00000004 , 0x00000005 
+ 00030781  0x0000573c force  0x00000005 , 0x00000039 
+ 00030782  0x0000573d call  0x00007ca1 
+ 00030783  0x0000573e setarg  0x00000280 
+ 00030784  0x0000573f istore  0x00000004 , 0x00000005 
+ 00030785  0x00005740 branch  0x000077c7 
+ 00030786  0x00005742 fetch  0x00000004 , 0x00000a3a 
+ 00030787  0x00005744 arg  0x000003e8 , 0x00000011 
+ 00030788  0x00005745 idiv  0x00000011 
+ 00030789  0x00005746 call  0x00007d61 
+ 00030790  0x00005747 remainder  0x0000003f 
+ 00030791  0x00005748 store  0x00000004 , 0x000009b6 
+ 00030792  0x00005749 quotient  0x0000003f 
+ 00030793  0x0000574a arg  0x000003e8 , 0x00000011 
+ 00030794  0x0000574b idiv  0x00000011 
+ 00030795  0x0000574c call  0x00007d61 
+ 00030796  0x0000574d remainder  0x0000003f 
+ 00030797  0x0000574e arg  0x000003e8 , 0x00000011 
+ 00030798  0x0000574f imul32  0x00000011 , 0x0000003f 
+ 00030799  0x00005750 fetcht  0x00000004 , 0x000009b6 
+ 00030800  0x00005751 iadd  0x00000002 , 0x0000003f 
+ 00030801  0x00005752 store  0x00000004 , 0x000009b6 
+ 00030802  0x00005753 rtn 
+ 00030803  0x00005756 jam  0x00000000 , 0x00004636 
+ 00030804  0x00005757 branch  0x00007857 
+ 00030805  0x0000575a fetch  0x00000001 , 0x00004634 
+ 00030806  0x0000575b bne  0x00000002 , 0x00007853 
+ 00030807  0x0000575d bpatchx  0x00000097 , 0x00004032 
+ 00030808  0x0000575e setarg  0x00363636 
+ 00030809  0x0000575f lshift8  0x0000003f , 0x00000002 
+ 00030810  0x00005760 or_into  0x00000036 , 0x00000002 
+ 00030811  0x00005761 fetch  0x00000002 , 0x00000a7a 
+ 00030812  0x00005762 copy  0x0000003f , 0x00000006 
+ 00030813  0x00005763 force  0x00000004 , 0x00000039 
+ 00030814  0x00005764 call  0x0000780a 
+ 00030815  0x00005765 call  0x000077c0 
+ 00030816  0x00005766 call  0x000077c7 
+ 00030817  0x00005767 fetch  0x00000002 , 0x00000a7c 
+ 00030818  0x00005768 copy  0x0000003f , 0x00000006 
+ 00030819  0x00005769 arg  0x000005e2 , 0x00000005 
+ 00030820  0x0000576a force  0x00000006 , 0x00000039 
+ 00030821  0x0000576b call  0x00007926 
+ 00030822  0x0000576c fetch  0x00000002 , 0x00000a7e 
+ 00030823  0x0000576d copy  0x0000003f , 0x00000006 
+ 00030824  0x0000576e force  0x00000006 , 0x00000039 
+ 00030825  0x0000576f call  0x00007926 
+ 00030826  0x00005770 setarg  0x00800000 
+ 00030827  0x00005771 istore  0x00000003 , 0x00000005 
+ 00030828  0x00005773 fetch  0x00000001 , 0x00004636 
+ 00030829  0x00005775 istore  0x00000001 , 0x00000005 
+ 00030830  0x00005776 force  0x00000000 , 0x0000003f 
+ 00030831  0x00005777 istore  0x00000008 , 0x00000005 
+ 00030832  0x00005778 setarg  0x00000388 
+ 00030833  0x00005779 istore  0x00000004 , 0x00000005 
+ 00030834  0x0000577a call  0x000077c7 
+ 00030835  0x0000577b call  0x00007803 
+ 00030836  0x0000577c arg  0x00000a3a , 0x00000006 
+ 00030837  0x0000577d arg  0x00000702 , 0x00000005 
+ 00030838  0x0000577e call  0x00007c98 
+ 00030839  0x00005780 setarg  0x005c5c5c 
+ 00030840  0x00005781 lshift8  0x0000003f , 0x00000002 
+ 00030841  0x00005782 or_into  0x0000005c , 0x00000002 
+ 00030842  0x00005783 fetch  0x00000002 , 0x00000a7a 
+ 00030843  0x00005784 copy  0x0000003f , 0x00000006 
+ 00030844  0x00005785 force  0x00000004 , 0x00000039 
+ 00030845  0x00005786 call  0x0000780a 
+ 00030846  0x00005787 call  0x000077c0 
+ 00030847  0x00005788 call  0x000077c7 
+ 00030848  0x00005789 arg  0x00000722 , 0x00000006 
+ 00030849  0x0000578a arg  0x000005e2 , 0x00000005 
+ 00030850  0x0000578b force  0x00000008 , 0x00000039 
+ 00030851  0x0000578c call  0x00007926 
+ 00030852  0x0000578d setarg  0x00800000 
+ 00030853  0x0000578e lshift8  0x0000003f , 0x0000003f 
+ 00030854  0x0000578f istore  0x00000004 , 0x00000005 
+ 00030855  0x00005790 call  0x00007ca0 
+ 00030856  0x00005791 setarg  0x00000300 
+ 00030857  0x00005792 istore  0x00000004 , 0x00000005 
+ 00030858  0x00005793 call  0x000077c7 
+ 00030859  0x00005794 branch  0x00007803 
+ 00030860  0x00005798 setarg  0x00363636 
+ 00030861  0x00005799 lshift8  0x0000003f , 0x00000002 
+ 00030862  0x0000579a or_into  0x00000036 , 0x00000002 
+ 00030863  0x0000579b arg  0x00000a1a , 0x00000006 
+ 00030864  0x0000579c force  0x00000006 , 0x00000039 
+ 00030865  0x0000579d call  0x0000780a 
+ 00030866  0x0000579e call  0x000077c0 
+ 00030867  0x0000579f call  0x000077c7 
+ 00030868  0x000057a0 fetch  0x00000002 , 0x00000a86 
+ 00030869  0x000057a1 copy  0x0000003f , 0x00000006 
+ 00030870  0x000057a2 arg  0x000005e2 , 0x00000005 
+ 00030871  0x000057a3 call  0x00007925 
+ 00030872  0x000057a4 fetch  0x00000002 , 0x00000a88 
+ 00030873  0x000057a5 copy  0x0000003f , 0x00000006 
+ 00030874  0x000057a6 call  0x00007925 
+ 00030875  0x000057a8 setarg  0x0062746c 
+ 00030876  0x000057a9 lshift8  0x0000003f , 0x0000003f 
+ 00030877  0x000057aa or_into  0x0000006b , 0x0000003f 
+ 00030878  0x000057ab istore  0x00000004 , 0x00000005 
+ 00030879  0x000057ac arg  0x0000072f , 0x00000006 
+ 00030880  0x000057ad force  0x00000003 , 0x00000039 
+ 00030881  0x000057ae call  0x00007926 
+ 00030882  0x000057b0 setarg  0x00800000 
+ 00030883  0x000057b1 lshift8  0x0000003f , 0x0000003f 
+ 00030884  0x000057b2 istore  0x00000004 , 0x00000005 
+ 00030885  0x000057b3 force  0x00000000 , 0x0000003f 
+ 00030886  0x000057b4 istore  0x00000008 , 0x00000005 
+ 00030887  0x000057b5 setarg  0x00000380 
+ 00030888  0x000057b6 istore  0x00000004 , 0x00000005 
+ 00030889  0x000057b7 call  0x000077c7 
+ 00030890  0x000057b9 call  0x00007803 
+ 00030891  0x000057ba arg  0x00000a3a , 0x00000006 
+ 00030892  0x000057bb arg  0x00000702 , 0x00000005 
+ 00030893  0x000057bc call  0x00007c98 
+ 00030894  0x000057be setarg  0x005c5c5c 
+ 00030895  0x000057bf lshift8  0x0000003f , 0x00000002 
+ 00030896  0x000057c0 or_into  0x0000005c , 0x00000002 
+ 00030897  0x000057c1 arg  0x00000a1a , 0x00000006 
+ 00030898  0x000057c2 force  0x00000006 , 0x00000039 
+ 00030899  0x000057c3 call  0x0000780a 
+ 00030900  0x000057c4 call  0x000077c0 
+ 00030901  0x000057c5 call  0x000077c7 
+ 00030902  0x000057c6 arg  0x00000722 , 0x00000006 
+ 00030903  0x000057c7 arg  0x000005e2 , 0x00000005 
+ 00030904  0x000057c8 force  0x00000008 , 0x00000039 
+ 00030905  0x000057c9 call  0x00007926 
+ 00030906  0x000057ca setarg  0x00800000 
+ 00030907  0x000057cb lshift8  0x0000003f , 0x0000003f 
+ 00030908  0x000057cc istore  0x00000004 , 0x00000005 
+ 00030909  0x000057cd call  0x00007ca0 
+ 00030910  0x000057ce setarg  0x00000300 
+ 00030911  0x000057cf istore  0x00000004 , 0x00000005 
+ 00030912  0x000057d0 call  0x000077c7 
+ 00030913  0x000057d1 branch  0x00007803 
+ 00030914  0x000057d5 fetch  0x00000001 , 0x00004634 
+ 00030915  0x000057d6 bne  0x00000002 , 0x000078d3 
+ 00030916  0x000057d8 bpatchx  0x00000098 , 0x00004033 
+ 00030917  0x000057d9 setarg  0x00363636 
+ 00030918  0x000057da lshift8  0x0000003f , 0x00000002 
+ 00030919  0x000057db or_into  0x00000036 , 0x00000002 
+ 00030920  0x000057dc arg  0x00000a1a , 0x00000006 
+ 00030921  0x000057dd force  0x00000006 , 0x00000039 
+ 00030922  0x000057de call  0x0000780a 
+ 00030923  0x000057df call  0x000077c0 
+ 00030924  0x000057e0 call  0x000077c7 
+ 00030925  0x000057e1 arg  0x00000a3a , 0x00000006 
+ 00030926  0x000057e2 arg  0x000005e2 , 0x00000005 
+ 00030927  0x000057e3 call  0x00007925 
+ 00030928  0x000057e4 arg  0x00000a2a , 0x00000006 
+ 00030929  0x000057e5 call  0x00007925 
+ 00030930  0x000057e6 branch  0x000078e8 
+ 00030931  0x000057e9 setarg  0x00000000 
+ 00030932  0x000057ea store  0x00000004 , 0x00004658 
+ 00030933  0x000057eb branch  0x000078c4 
+ 00030934  0x000057ee setarg  0x00000000 
+ 00030935  0x000057ef store  0x00000004 , 0x00004658 
+ 00030936  0x000057f0 branch  0x000078db 
+ 00030937  0x000057f4 fetch  0x00000001 , 0x00004634 
+ 00030938  0x000057f5 bne  0x00000002 , 0x000078d6 
+ 00030939  0x000057f7 setarg  0x00363636 
+ 00030940  0x000057f8 lshift8  0x0000003f , 0x00000002 
+ 00030941  0x000057f9 or_into  0x00000036 , 0x00000002 
+ 00030942  0x000057fa arg  0x00000a1a , 0x00000006 
+ 00030943  0x000057fb force  0x00000006 , 0x00000039 
+ 00030944  0x000057fc call  0x0000780a 
+ 00030945  0x000057fd call  0x000077c0 
+ 00030946  0x000057fe call  0x000077c7 
+ 00030947  0x00005800 arg  0x00000a2a , 0x00000006 
+ 00030948  0x00005801 arg  0x000005e2 , 0x00000005 
+ 00030949  0x00005802 call  0x00007925 
+ 00030950  0x00005803 arg  0x00000a3a , 0x00000006 
+ 00030951  0x00005804 call  0x00007925 
+ 00030952  0x00005806 setarg  0x00000000 
+ 00030953  0x00005807 istore  0x00000008 , 0x00000005 
+ 00030954  0x00005808 istore  0x00000004 , 0x00000005 
+ 00030955  0x00005809 fetch  0x00000004 , 0x00004658 
+ 00030956  0x0000580a istore  0x00000004 , 0x00000005 
+ 00030957  0x0000580c copy  0x00000005 , 0x00000002 
+ 00030958  0x0000580d jam  0x00000080 , 0x00000722 
+ 00030959  0x0000580e copy  0x00000002 , 0x00000005 
+ 00030960  0x0000580f arg  0x00000732 , 0x00000006 
+ 00030961  0x00005810 call  0x00007925 
+ 00030962  0x00005812 call  0x000077c7 
+ 00030963  0x00005814 arg  0x000005e2 , 0x00000005 
+ 00030964  0x00005815 force  0x00000007 , 0x00000039 
+ 00030965  0x00005816 call  0x00007ca1 
+ 00030966  0x00005817 istore  0x00000004 , 0x00000005 
+ 00030967  0x00005818 setarg  0x000003f8 
+ 00030968  0x00005819 istore  0x00000004 , 0x00000005 
+ 00030969  0x0000581a call  0x000077c7 
+ 00030970  0x0000581b call  0x00007803 
+ 00030971  0x0000581d arg  0x00000a3a , 0x00000006 
+ 00030972  0x0000581e arg  0x00000702 , 0x00000005 
+ 00030973  0x0000581f call  0x00007c98 
+ 00030974  0x00005821 setarg  0x005c5c5c 
+ 00030975  0x00005822 lshift8  0x0000003f , 0x00000002 
+ 00030976  0x00005823 or_into  0x0000005c , 0x00000002 
+ 00030977  0x00005824 arg  0x00000a1a , 0x00000006 
+ 00030978  0x00005825 force  0x00000006 , 0x00000039 
+ 00030979  0x00005826 call  0x0000780a 
+ 00030980  0x00005827 call  0x000077c0 
+ 00030981  0x00005828 call  0x000077c7 
+ 00030982  0x00005829 arg  0x00000722 , 0x00000006 
+ 00030983  0x0000582a arg  0x000005e2 , 0x00000005 
+ 00030984  0x0000582b force  0x00000008 , 0x00000039 
+ 00030985  0x0000582c call  0x00007926 
+ 00030986  0x0000582d setarg  0x00800000 
+ 00030987  0x0000582e lshift8  0x0000003f , 0x0000003f 
+ 00030988  0x0000582f istore  0x00000004 , 0x00000005 
+ 00030989  0x00005830 call  0x00007ca0 
+ 00030990  0x00005831 setarg  0x00000300 
+ 00030991  0x00005832 istore  0x00000004 , 0x00000005 
+ 00030992  0x00005833 call  0x000077c7 
+ 00030993  0x00005834 branch  0x00007803 
+ 00030994  0x0000583c jam  0x000000c0 , 0x000005df 
+ 00030995  0x0000583e fetch  0x00000001 , 0x000005df 
+ 00030996  0x0000583f rtn  0x00000034 
+ 00030997  0x00005840 increase  0xffffffff , 0x0000003f 
+ 00030998  0x00005841 store  0x00000001 , 0x000005df 
+ 00030999  0x00005842 arg  0x000006ba , 0x00000006 
+ 00031000  0x00005843 call  0x000075a1 
+ 00031001  0x00005844 branch  0x00007913 , 0x00000001 
+ 00031002  0x00005845 arg  0x000005e2 , 0x00000006 
+ 00031003  0x00005846 arg  0x00000672 , 0x00000005 
+ 00031004  0x00005847 branch  0x000075a7 
+ 00031005  0x0000584a call  0x000076b8 
+ 00031006  0x0000584b fetch  0x00000001 , 0x000005df 
+ 00031007  0x0000584c increase  0xffffffff , 0x0000003f 
+ 00031008  0x0000584d store  0x00000001 , 0x000005df 
+ 00031009  0x0000584e arg  0x000006ba , 0x00000006 
+ 00031010  0x0000584f call  0x000075a1 
+ 00031011  0x00005850 rtn  0x00000001 
+ 00031012  0x00005851 branch  0x00007709 
+ 00031013  0x00005854 force  0x00000004 , 0x00000039 
+ 00031014  0x00005856 increase  0xfffffffc , 0x00000006 
+ 00031015  0x00005858 ifetch  0x00000004 , 0x00000006 
+ 00031016  0x00005859 istore  0x00000004 , 0x00000005 
+ 00031017  0x0000585a increase  0xfffffff8 , 0x00000006 
+ 00031018  0x0000585b loop  0x00007927 
+ 00031019  0x0000585c rtn 
+ 00031020  0x00005862 bpatchx  0x00000099 , 0x00004033 
+ 00031021  0x00005863 fetch  0x00000001 , 0x00004490 
+ 00031022  0x00005864 branch  0x00005ed0 , 0x00000034 
+ 00031023  0x00005865 call  0x00005ecc 
+ 00031024  0x00005866 call  0x00007438 
+ 00031025  0x00005868 branch  0x00007932 
+ 00031026  0x0000586e fetch  0x00000001 , 0x00004495 
+ 00031027  0x0000586f rtnne  0x00000000 
+ 00031028  0x00005870 fetch  0x00000001 , 0x00004492 
+ 00031029  0x00005871 rtnne  0x00000000 
+ 00031030  0x00005873 arg  0x00004584 , 0x00000005 
+ 00031031  0x00005874 force  0x0000000f , 0x00000007 
+ 00031032  0x00005875 call  0x00007557 
+ 00031033  0x00005876 random  0x0000003f 
+ 00031034  0x00005877 rshift  0x0000003f , 0x0000003f 
+ 00031035  0x00005878 istore  0x00000002 , 0x00000005 
+ 00031036  0x0000587a arg  0x00000762 , 0x00000005 
+ 00031037  0x0000587b arg  0x00004584 , 0x00000006 
+ 00031038  0x0000587c call  0x00007c98 
+ 00031039  0x0000587e arg  0x00000642 , 0x00000005 
+ 00031040  0x0000587f arg  0x0000095a , 0x00000006 
+ 00031041  0x00005880 call  0x00007c8e 
+ 00031042  0x00005882 arg  0x00000682 , 0x00000005 
+ 00031043  0x00005883 call  0x00007cab 
+ 00031044  0x00005884 jam  0x00000001 , 0x00000682 
+ 00031045  0x00005886 call  0x0000797c 
+ 00031046  0x00005887 jam  0x00000003 , 0x00004492 
+ 00031047  0x00005888 rtn 
+ 00031048  0x0000588b arg  0x000045a4 , 0x00000005 
+ 00031049  0x0000588c arg  0x000006a2 , 0x00000006 
+ 00031050  0x0000588d call  0x00007c8e 
+ 00031051  0x0000588e jam  0x00000003 , 0x00004495 
+ 00031052  0x0000588f jam  0x00000000 , 0x00004492 
+ 00031053  0x00005890 rtn 
+ 00031054  0x00005895 fetch  0x00000001 , 0x000009b5 
+ 00031055  0x00005896 rtnne  0x00000000 
+ 00031056  0x00005897 fetch  0x00000001 , 0x00004492 
+ 00031057  0x00005898 rtnne  0x00000000 
+ 00031058  0x0000589a arg  0x00000762 , 0x00000005 
+ 00031059  0x0000589b arg  0x00004584 , 0x00000006 
+ 00031060  0x0000589c call  0x00007c98 
+ 00031061  0x0000589e arg  0x00000642 , 0x00000005 
+ 00031062  0x0000589f arg  0x000009ba , 0x00000006 
+ 00031063  0x000058a0 call  0x00007c8e 
+ 00031064  0x000058a2 arg  0x00000682 , 0x00000005 
+ 00031065  0x000058a3 call  0x00007cab 
+ 00031066  0x000058a4 jam  0x00000001 , 0x00000682 
+ 00031067  0x000058a6 call  0x0000797c 
+ 00031068  0x000058a7 jam  0x00000004 , 0x00004492 
+ 00031069  0x000058a8 rtn 
+ 00031070  0x000058ad arg  0x000009fa , 0x00000005 
+ 00031071  0x000058ae arg  0x000006a2 , 0x00000006 
+ 00031072  0x000058af call  0x00007c98 
+ 00031073  0x000058b0 jam  0x00000003 , 0x000009b5 
+ 00031074  0x000058b1 jam  0x00000000 , 0x00004492 
+ 00031075  0x000058b2 rtn 
+ 00031076  0x000058b7 fetch  0x00000001 , 0x00004490 
+ 00031077  0x000058b8 rtn  0x00000034 
+ 00031078  0x000058b9 fetch  0x00000001 , 0x00004492 
+ 00031079  0x000058ba rtn  0x00000034 
+ 00031080  0x000058bb increase  0x00000080 , 0x0000003f 
+ 00031081  0x000058bc store  0x00000001 , 0x00004492 
+ 00031082  0x000058bd rtnbit1  0x00000007 
+ 00031083  0x000058be fetch  0x00000002 , 0x000005df 
+ 00031084  0x000058bf branch  0x0000796e , 0x00000034 
+ 00031085  0x000058c0 branch  0x00007974 
+ 00031086  0x000058c3 bpatchx  0x0000009a , 0x00004033 
+ 00031087  0x000058c4 call  0x00007989 
+ 00031088  0x000058c5 fetch  0x00000001 , 0x00004492 
+ 00031089  0x000058c6 beq  0x00000003 , 0x00007948 
+ 00031090  0x000058c7 beq  0x00000004 , 0x0000795e 
+ 00031091  0x000058c8 rtn 
+ 00031092  0x000058cc call  0x0000799b 
+ 00031093  0x000058cd fetch  0x00000002 , 0x000005df 
+ 00031094  0x000058ce increase  0xffffffff , 0x0000003f 
+ 00031095  0x000058cf store  0x00000002 , 0x000005df 
+ 00031096  0x000058d0 arg  0x00000762 , 0x00000006 
+ 00031097  0x000058d1 call  0x000075a1 
+ 00031098  0x000058d2 rtn  0x00000001 
+ 00031099  0x000058d3 branch  0x000079ec 
+ 00031100  0x000058d6 bpatchx  0x0000009b , 0x00004033 
+ 00031101  0x000058d7 setarg  0x00000100 , 0x0000003f 
+ 00031102  0x000058d8 store  0x00000002 , 0x000005df 
+ 00031103  0x000058da fetch  0x00000002 , 0x000005df 
+ 00031104  0x000058db rtn  0x00000034 
+ 00031105  0x000058dc increase  0xffffffff , 0x0000003f 
+ 00031106  0x000058dd store  0x00000002 , 0x000005df 
+ 00031107  0x000058de arg  0x00000762 , 0x00000006 
+ 00031108  0x000058df call  0x000075a1 
+ 00031109  0x000058e0 branch  0x0000797f , 0x00000001 
+ 00031110  0x000058e1 arg  0x00000642 , 0x00000006 
+ 00031111  0x000058e2 arg  0x00000702 , 0x00000005 
+ 00031112  0x000058e3 branch  0x00007c8d 
+ 00031113  0x000058e7 arg  0x00000742 , 0x00000011 
+ 00031114  0x000058e8 arg  0x00000842 , 0x00000005 
+ 00031115  0x000058e9 call  0x00007a58 
+ 00031116  0x000058ea arg  0x00000842 , 0x00000011 
+ 00031117  0x000058eb arg  0x000007e2 , 0x00000005 
+ 00031118  0x000058ec call  0x00007b2e 
+ 00031119  0x000058ed arg  0x00000702 , 0x00000011 
+ 00031120  0x000058ee arg  0x000007e2 , 0x00000012 
+ 00031121  0x000058ef arg  0x000006a2 , 0x00000005 
+ 00031122  0x000058f0 call  0x00007a96 
+ 00031123  0x000058f1 arg  0x00000842 , 0x00000011 
+ 00031124  0x000058f2 arg  0x000007e2 , 0x00000012 
+ 00031125  0x000058f3 arg  0x00000822 , 0x00000005 
+ 00031126  0x000058f4 call  0x00007a96 
+ 00031127  0x000058f5 arg  0x00000722 , 0x00000011 
+ 00031128  0x000058f6 arg  0x00000822 , 0x00000012 
+ 00031129  0x000058f7 arg  0x000006c2 , 0x00000005 
+ 00031130  0x000058f8 branch  0x00007a96 
+ 00031131  0x000058fb arg  0x00000742 , 0x00000011 
+ 00031132  0x000058fc arg  0x00000822 , 0x00000005 
+ 00031133  0x000058fd call  0x00007b2e 
+ 00031134  0x000058fe arg  0x00000822 , 0x00000011 
+ 00031135  0x000058ff arg  0x00000842 , 0x00000005 
+ 00031136  0x00005900 call  0x00007b2e 
+ 00031137  0x00005902 arg  0x0000093a , 0x00000011 
+ 00031138  0x00005903 arg  0x00000842 , 0x00000012 
+ 00031139  0x00005904 arg  0x00000842 , 0x00000005 
+ 00031140  0x00005905 call  0x00007a96 
+ 00031141  0x00005906 arg  0x00000702 , 0x00000011 
+ 00031142  0x00005907 arg  0x00000822 , 0x00000005 
+ 00031143  0x00005908 call  0x00007b2e 
+ 00031144  0x0000590a arg  0x00000822 , 0x00000006 
+ 00031145  0x0000590b arg  0x000007e2 , 0x00000005 
+ 00031146  0x0000590c call  0x00007c98 
+ 00031147  0x0000590d arg  0x000007e2 , 0x00000011 
+ 00031148  0x0000590e call  0x00007b35 
+ 00031149  0x0000590f arg  0x00000822 , 0x00000011 
+ 00031150  0x00005910 arg  0x000007e2 , 0x00000012 
+ 00031151  0x00005911 arg  0x00000822 , 0x00000005 
+ 00031152  0x00005912 call  0x00007b32 
+ 00031153  0x00005914 arg  0x00000822 , 0x00000011 
+ 00031154  0x00005915 arg  0x00000842 , 0x00000012 
+ 00031155  0x00005916 arg  0x00000822 , 0x00000005 
+ 00031156  0x00005917 call  0x00007b32 
+ 00031157  0x00005919 arg  0x00000702 , 0x00000006 
+ 00031158  0x0000591a arg  0x000007e2 , 0x00000005 
+ 00031159  0x0000591b call  0x00007c98 
+ 00031160  0x0000591c arg  0x00000722 , 0x00000011 
+ 00031161  0x0000591d arg  0x00000842 , 0x00000005 
+ 00031162  0x0000591e call  0x00007b2e 
+ 00031163  0x0000591f arg  0x000007e2 , 0x00000011 
+ 00031164  0x00005920 call  0x00007b35 
+ 00031165  0x00005921 arg  0x000007e2 , 0x00000011 
+ 00031166  0x00005922 call  0x00007b35 
+ 00031167  0x00005923 arg  0x000007e2 , 0x00000011 
+ 00031168  0x00005924 arg  0x00000842 , 0x00000012 
+ 00031169  0x00005925 arg  0x000007e2 , 0x00000005 
+ 00031170  0x00005926 call  0x00007a96 
+ 00031171  0x00005927 arg  0x00000842 , 0x00000011 
+ 00031172  0x00005928 arg  0x00000802 , 0x00000005 
+ 00031173  0x00005929 call  0x00007b2e 
+ 00031174  0x0000592a arg  0x00000802 , 0x00000011 
+ 00031175  0x0000592b call  0x00007b35 
+ 00031176  0x0000592c arg  0x00000802 , 0x00000011 
+ 00031177  0x0000592d call  0x00007b35 
+ 00031178  0x0000592e arg  0x00000802 , 0x00000011 
+ 00031179  0x0000592f call  0x00007b35 
+ 00031180  0x00005930 arg  0x00000722 , 0x00000006 
+ 00031181  0x00005931 arg  0x00000842 , 0x00000005 
+ 00031182  0x00005932 call  0x00007c98 
+ 00031183  0x00005933 arg  0x00000842 , 0x00000011 
+ 00031184  0x00005934 call  0x00007b35 
+ 00031185  0x00005935 arg  0x00000842 , 0x00000011 
+ 00031186  0x00005936 arg  0x00000742 , 0x00000012 
+ 00031187  0x00005937 arg  0x00000742 , 0x00000005 
+ 00031188  0x00005938 call  0x00007a96 
+ 00031189  0x0000593b arg  0x00000822 , 0x00000011 
+ 00031190  0x0000593c arg  0x00000842 , 0x00000005 
+ 00031191  0x0000593d call  0x00007b2e 
+ 00031192  0x0000593f arg  0x00000842 , 0x00000011 
+ 00031193  0x00005940 arg  0x000007e2 , 0x00000012 
+ 00031194  0x00005941 arg  0x00000842 , 0x00000005 
+ 00031195  0x00005942 call  0x00007b4b 
+ 00031196  0x00005943 arg  0x00000842 , 0x00000011 
+ 00031197  0x00005944 arg  0x000007e2 , 0x00000012 
+ 00031198  0x00005945 arg  0x00000702 , 0x00000005 
+ 00031199  0x00005946 call  0x00007b4b 
+ 00031200  0x00005947 arg  0x000007e2 , 0x00000011 
+ 00031201  0x00005948 arg  0x00000702 , 0x00000012 
+ 00031202  0x00005949 arg  0x00000842 , 0x00000005 
+ 00031203  0x0000594a call  0x00007b4b 
+ 00031204  0x0000594b arg  0x00000842 , 0x00000011 
+ 00031205  0x0000594c arg  0x00000822 , 0x00000012 
+ 00031206  0x0000594d arg  0x00000842 , 0x00000005 
+ 00031207  0x0000594e call  0x00007a96 
+ 00031208  0x0000594f arg  0x00000842 , 0x00000011 
+ 00031209  0x00005950 arg  0x00000802 , 0x00000012 
+ 00031210  0x00005951 arg  0x00000722 , 0x00000005 
+ 00031211  0x00005952 branch  0x00007b4b 
+ 00031212  0x00005956 arg  0x00000682 , 0x00000011 
+ 00031213  0x00005957 arg  0x00000862 , 0x00000005 
+ 00031214  0x00005958 call  0x00007b2e 
+ 00031215  0x00005959 arg  0x00000702 , 0x00000011 
+ 00031216  0x0000595a arg  0x00000862 , 0x00000012 
+ 00031217  0x0000595b arg  0x00000802 , 0x00000005 
+ 00031218  0x0000595c call  0x00007a96 
+ 00031219  0x0000595f arg  0x00000682 , 0x00000011 
+ 00031220  0x00005960 arg  0x00000862 , 0x00000012 
+ 00031221  0x00005961 arg  0x00000862 , 0x00000005 
+ 00031222  0x00005962 call  0x00007a96 
+ 00031223  0x00005963 arg  0x00000722 , 0x00000011 
+ 00031224  0x00005964 arg  0x00000862 , 0x00000012 
+ 00031225  0x00005965 arg  0x000007e2 , 0x00000005 
+ 00031226  0x00005966 call  0x00007a96 
+ 00031227  0x00005969 arg  0x00000742 , 0x00000011 
+ 00031228  0x0000596a arg  0x00000862 , 0x00000005 
+ 00031229  0x0000596b call  0x00007b2e 
+ 00031230  0x0000596c arg  0x00000642 , 0x00000011 
+ 00031231  0x0000596d arg  0x00000862 , 0x00000012 
+ 00031232  0x0000596e arg  0x00000822 , 0x00000005 
+ 00031233  0x0000596f call  0x00007a96 
+ 00031234  0x00005971 arg  0x00000742 , 0x00000011 
+ 00031235  0x00005972 arg  0x00000862 , 0x00000012 
+ 00031236  0x00005973 arg  0x00000862 , 0x00000005 
+ 00031237  0x00005974 call  0x00007a96 
+ 00031238  0x00005975 arg  0x00000662 , 0x00000011 
+ 00031239  0x00005976 arg  0x00000862 , 0x00000012 
+ 00031240  0x00005977 arg  0x00000842 , 0x00000005 
+ 00031241  0x00005978 call  0x00007a96 
+ 00031242  0x0000597d arg  0x00000802 , 0x00000012 
+ 00031243  0x0000597e arg  0x00000822 , 0x00000011 
+ 00031244  0x0000597f arg  0x00000862 , 0x00000005 
+ 00031245  0x00005980 call  0x00007b4b 
+ 00031246  0x00005981 arg  0x00000802 , 0x00000011 
+ 00031247  0x00005982 arg  0x00000822 , 0x00000012 
+ 00031248  0x00005983 arg  0x00000802 , 0x00000005 
+ 00031249  0x00005984 call  0x00007b32 
+ 00031250  0x00005987 arg  0x000007e2 , 0x00000012 
+ 00031251  0x00005988 arg  0x00000842 , 0x00000011 
+ 00031252  0x00005989 arg  0x00000822 , 0x00000005 
+ 00031253  0x0000598a call  0x00007b4b 
+ 00031254  0x0000598b arg  0x000007e2 , 0x00000011 
+ 00031255  0x0000598c arg  0x00000842 , 0x00000012 
+ 00031256  0x0000598d arg  0x000007e2 , 0x00000005 
+ 00031257  0x0000598e call  0x00007b32 
+ 00031258  0x0000598f arg  0x000007e2 , 0x00000011 
+ 00031259  0x00005990 arg  0x00000862 , 0x00000012 
+ 00031260  0x00005991 arg  0x000007e2 , 0x00000005 
+ 00031261  0x00005992 call  0x00007a96 
+ 00031262  0x00005993 arg  0x00000742 , 0x00000011 
+ 00031263  0x00005994 arg  0x00000682 , 0x00000012 
+ 00031264  0x00005995 arg  0x00000842 , 0x00000005 
+ 00031265  0x00005996 call  0x00007a96 
+ 00031266  0x00005997 arg  0x00000842 , 0x00000011 
+ 00031267  0x00005998 arg  0x00000862 , 0x00000012 
+ 00031268  0x00005999 arg  0x00000742 , 0x00000005 
+ 00031269  0x0000599a call  0x00007a96 
+ 00031270  0x0000599c arg  0x00000862 , 0x00000011 
+ 00031271  0x0000599d arg  0x00000862 , 0x00000005 
+ 00031272  0x0000599e call  0x00007b2e 
+ 00031273  0x0000599f arg  0x00000862 , 0x00000011 
+ 00031274  0x000059a0 arg  0x00000802 , 0x00000012 
+ 00031275  0x000059a1 arg  0x00000842 , 0x00000005 
+ 00031276  0x000059a2 call  0x00007a96 
+ 00031277  0x000059a3 arg  0x00000862 , 0x00000011 
+ 00031278  0x000059a4 arg  0x000007e2 , 0x00000012 
+ 00031279  0x000059a5 arg  0x000007e2 , 0x00000005 
+ 00031280  0x000059a6 call  0x00007a96 
+ 00031281  0x000059a7 arg  0x00000822 , 0x00000011 
+ 00031282  0x000059a8 arg  0x00000702 , 0x00000005 
+ 00031283  0x000059a9 call  0x00007b2e 
+ 00031284  0x000059aa arg  0x00000702 , 0x00000011 
+ 00031285  0x000059ab arg  0x00000842 , 0x00000012 
+ 00031286  0x000059ac arg  0x00000702 , 0x00000005 
+ 00031287  0x000059ad call  0x00007b4b 
+ 00031288  0x000059ae arg  0x00000702 , 0x00000006 
+ 00031289  0x000059af arg  0x00000862 , 0x00000005 
+ 00031290  0x000059b0 call  0x00007c98 
+ 00031291  0x000059b1 arg  0x00000862 , 0x00000011 
+ 00031292  0x000059b2 call  0x00007b35 
+ 00031293  0x000059b3 arg  0x00000842 , 0x00000011 
+ 00031294  0x000059b4 arg  0x00000862 , 0x00000012 
+ 00031295  0x000059b5 arg  0x00000842 , 0x00000005 
+ 00031296  0x000059b6 call  0x00007b4b 
+ 00031297  0x000059b7 arg  0x00000842 , 0x00000011 
+ 00031298  0x000059b8 arg  0x00000822 , 0x00000012 
+ 00031299  0x000059b9 arg  0x00000822 , 0x00000005 
+ 00031300  0x000059ba call  0x00007a96 
+ 00031301  0x000059bb arg  0x00000822 , 0x00000011 
+ 00031302  0x000059bc arg  0x000007e2 , 0x00000012 
+ 00031303  0x000059bd arg  0x00000722 , 0x00000005 
+ 00031304  0x000059be call  0x00007b4b 
+ 00031305  0x000059bf arg  0x00000722 , 0x00000011 
+ 00031306  0x000059c0 arg  0x0000091a , 0x00000012 
+ 00031307  0x000059c1 arg  0x00000722 , 0x00000005 
+ 00031308  0x000059c2 force  0x00000000 , 0x00000013 
+ 00031309  0x000059c3 fetch  0x00000001 , 0x00000722 
+ 00031310  0x000059c4 isolate1  0x00000000 , 0x0000003f 
+ 00031311  0x000059c5 call  0x00007b30 , 0x00000001 
+ 00031312  0x000059c6 copy  0x00000013 , 0x00000030 
+ 00031313  0x000059c7 arg  0x00000722 , 0x00000011 
+ 00031314  0x000059c8 call  0x00007b60 
+ 00031315  0x000059c9 fetch  0x00000001 , 0x00000741 
+ 00031316  0x000059ca isolate1  0x00000000 , 0x00000030 
+ 00031317  0x000059cb setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00031318  0x000059cc store  0x00000001 , 0x00000741 
+ 00031319  0x000059cd rtn 
+ 00031320  0x000059d0 copy  0x00000005 , 0x0000000b 
+ 00031321  0x000059d1 arg  0x00000802 , 0x00000005 
+ 00031322  0x000059d2 call  0x00007cab 
+ 00031323  0x000059d3 force  0x00000000 , 0x0000003f 
+ 00031324  0x000059d5 store  0x00000004 , 0x00000822 
+ 00031325  0x000059d6 jam  0x00000001 , 0x00000802 
+ 00031326  0x000059d7 arg  0x00000782 , 0x00000005 
+ 00031327  0x000059d8 call  0x00007cad 
+ 00031328  0x000059d9 arg  0x0000091a , 0x00000006 
+ 00031329  0x000059da arg  0x000007c2 , 0x00000005 
+ 00031330  0x000059db call  0x00007c98 
+ 00031331  0x000059dc copy  0x00000011 , 0x00000006 
+ 00031332  0x000059dd arg  0x000007e2 , 0x00000005 
+ 00031333  0x000059de call  0x00007c98 
+ 00031334  0x000059e5 arg  0x000007e2 , 0x00000006 
+ 00031335  0x000059e6 call  0x00007b6a 
+ 00031336  0x000059e7 branch  0x00007a8f , 0x00000034 
+ 00031337  0x000059ec arg  0x000007e2 , 0x00000011 
+ 00031338  0x000059ed arg  0x00000802 , 0x00000012 
+ 00031339  0x000059ee call  0x00007b6d 
+ 00031340  0x000059ef arg  0x000007c2 , 0x00000011 
+ 00031341  0x000059f0 arg  0x00000782 , 0x00000012 
+ 00031342  0x000059f1 call  0x00007b6d 
+ 00031343  0x000059f3 arg  0x000007e2 , 0x00000011 
+ 00031344  0x000059f4 arg  0x000007c2 , 0x00000012 
+ 00031345  0x000059f5 call  0x00007b66 
+ 00031346  0x000059f6 branch  0x00007a81 , 0x00000002 
+ 00031347  0x000059f7 arg  0x000007c2 , 0x00000011 
+ 00031348  0x000059f8 arg  0x000007e2 , 0x00000012 
+ 00031349  0x000059f9 copy  0x00000011 , 0x00000005 
+ 00031350  0x000059fa call  0x00007b5e 
+ 00031351  0x000059fb arg  0x00000802 , 0x00000011 
+ 00031352  0x000059fc arg  0x00000782 , 0x00000012 
+ 00031353  0x000059fd copy  0x00000012 , 0x00000005 
+ 00031354  0x000059fe call  0x00007b30 
+ 00031355  0x000059ff ifetch  0x00000001 , 0x00000011 
+ 00031356  0x00005a00 iadd  0x00000013 , 0x00000013 
+ 00031357  0x00005a01 ifetch  0x00000001 , 0x00000012 
+ 00031358  0x00005a02 iadd  0x00000013 , 0x0000003f 
+ 00031359  0x00005a03 istore  0x00000001 , 0x00000012 
+ 00031360  0x00005a04 branch  0x00007a66 
+ 00031361  0x00005a06 arg  0x000007e2 , 0x00000011 
+ 00031362  0x00005a07 arg  0x000007c2 , 0x00000012 
+ 00031363  0x00005a08 copy  0x00000011 , 0x00000005 
+ 00031364  0x00005a09 call  0x00007b5e 
+ 00031365  0x00005a0a arg  0x00000782 , 0x00000011 
+ 00031366  0x00005a0b arg  0x00000802 , 0x00000012 
+ 00031367  0x00005a0c copy  0x00000012 , 0x00000005 
+ 00031368  0x00005a0d call  0x00007b30 
+ 00031369  0x00005a0e ifetch  0x00000001 , 0x00000011 
+ 00031370  0x00005a0f iadd  0x00000013 , 0x00000013 
+ 00031371  0x00005a10 ifetch  0x00000001 , 0x00000012 
+ 00031372  0x00005a11 iadd  0x00000013 , 0x0000003f 
+ 00031373  0x00005a12 istore  0x00000001 , 0x00000012 
+ 00031374  0x00005a13 branch  0x00007a66 
+ 00031375  0x00005a16 arg  0x00000782 , 0x00000011 
+ 00031376  0x00005a17 copy  0x0000000b , 0x00000005 
+ 00031377  0x00005a18 call  0x00007abf 
+ 00031378  0x00005a1a arg  0x0000091a , 0x00000011 
+ 00031379  0x00005a1b copy  0x0000000b , 0x00000012 
+ 00031380  0x00005a1c copy  0x0000000b , 0x00000005 
+ 00031381  0x00005a1d branch  0x00007b4b 
+ 00031382  0x00005a21 copy  0x00000005 , 0x0000000b 
+ 00031383  0x00005a23 force  0x00000000 , 0x00000038 
+ 00031384  0x00005a25 arg  0x00000782 , 0x00000005 
+ 00031385  0x00005a26 call  0x00007cad 
+ 00031386  0x00005a27 arg  0x00000ace , 0x00000005 
+ 00031387  0x00005a28 call  0x00007cad 
+ 00031388  0x00005a2c copy  0x00000011 , 0x00000006 
+ 00031389  0x00005a2e jam  0x00000000 , 0x00000ace 
+ 00031390  0x00005a2f setarg  0x00000000 
+ 00031391  0x00005a30 call  0x00007b28 
+ 00031392  0x00005a31 copy  0x00000012 , 0x00000006 
+ 00031393  0x00005a32 call  0x00007b2c 
+ 00031394  0x00005a35 force  0x00000000 , 0x00000007 
+ 00031395  0x00005a36 arg  0x00000782 , 0x00000005 
+ 00031396  0x00005a3a arg  0x00000ace , 0x00000002 
+ 00031397  0x00005a3b copy  0x00000007 , 0x00000012 
+ 00031398  0x00005a3c lshift2  0x00000012 , 0x0000003f 
+ 00031399  0x00005a3e iadd  0x00000002 , 0x00000012 
+ 00031400  0x00005a3f force  0x00000000 , 0x00000002 
+ 00031401  0x00005a40 force  0x00000000 , 0x00000013 
+ 00031402  0x00005a46 ifetch  0x00000004 , 0x00000005 
+ 00031403  0x00005a47 iforce  0x00000011 
+ 00031404  0x00005a4a ifetch  0x00000004 , 0x00000012 
+ 00031405  0x00005a4b copy  0x00000013 , 0x00000038 
+ 00031406  0x00005a4c imul32  0x0000002f , 0x0000003f 
+ 00031407  0x00005a4d iadd  0x00000011 , 0x0000003f 
+ 00031408  0x00005a4e iadd  0x00000002 , 0x0000003f 
+ 00031409  0x00005a4f istore  0x00000004 , 0x00000005 
+ 00031410  0x00005a50 rshift32  0x0000003f , 0x00000002 
+ 00031411  0x00005a51 increase  0x00000001 , 0x00000013 
+ 00031412  0x00005a52 compare  0x00000008 , 0x00000013 , 0x000000ff 
+ 00031413  0x00005a53 nbranch  0x00007aaa , 0x00000001 
+ 00031414  0x00005a55 deposit  0x00000002 
+ 00031415  0x00005a56 istore  0x00000004 , 0x00000005 
+ 00031416  0x00005a57 increase  0xffffffe0 , 0x00000005 
+ 00031417  0x00005a5a increase  0x00000001 , 0x00000007 
+ 00031418  0x00005a5b compare  0x00000008 , 0x00000007 , 0x000000ff 
+ 00031419  0x00005a5c nbranch  0x00007aa4 , 0x00000001 
+ 00031420  0x00005a5d arg  0x00000782 , 0x00000011 
+ 00031421  0x00005a5e copy  0x0000000b , 0x00000005 
+ 00031422  0x00005a5f branch  0x00007abf 
+ 00031423  0x00005a62 bpatchx  0x0000009c , 0x00004033 
+ 00031424  0x00005a63 copy  0x00000005 , 0x0000000b 
+ 00031425  0x00005a64 copy  0x00000011 , 0x00000030 
+ 00031426  0x00005a65 arg  0x000007c2 , 0x00000012 
+ 00031427  0x00005a66 copy  0x00000012 , 0x00000005 
+ 00031428  0x00005a67 call  0x00007ca8 
+ 00031429  0x00005a68 istore  0x00000008 , 0x00000005 
+ 00031430  0x00005a69 add  0x00000011 , 0x0000002c , 0x00000006 
+ 00031431  0x00005a6a call  0x00007c94 
+ 00031432  0x00005a6b call  0x00007c90 
+ 00031433  0x00005a6c copy  0x00000012 , 0x00000011 
+ 00031434  0x00005a6d call  0x00007b35 
+ 00031435  0x00005a6e arg  0x000007c2 , 0x00000012 
+ 00031436  0x00005a6f copy  0x00000030 , 0x00000011 
+ 00031437  0x00005a70 copy  0x0000000b , 0x00000005 
+ 00031438  0x00005a71 call  0x00007b32 
+ 00031439  0x00005a73 arg  0x000007c2 , 0x00000012 
+ 00031440  0x00005a74 copy  0x00000012 , 0x00000005 
+ 00031441  0x00005a75 call  0x00007ca8 
+ 00031442  0x00005a76 istore  0x00000008 , 0x00000005 
+ 00031443  0x00005a77 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031444  0x00005a78 call  0x00007c9a 
+ 00031445  0x00005a79 call  0x00007ca8 
+ 00031446  0x00005a7a copy  0x00000012 , 0x00000011 
+ 00031447  0x00005a7b call  0x00007b35 
+ 00031448  0x00005a7f arg  0x000007c2 , 0x00000012 
+ 00031449  0x00005a80 copy  0x0000000b , 0x00000011 
+ 00031450  0x00005a81 copy  0x00000011 , 0x00000005 
+ 00031451  0x00005a82 call  0x00007b32 
+ 00031452  0x00005a86 arg  0x000007c2 , 0x00000012 
+ 00031453  0x00005a87 copy  0x00000012 , 0x00000005 
+ 00031454  0x00005a88 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031455  0x00005a89 call  0x00007c90 
+ 00031456  0x00005a8a call  0x00007ca8 
+ 00031457  0x00005a8b istore  0x00000008 , 0x00000005 
+ 00031458  0x00005a8c add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031459  0x00005a8d call  0x00007c94 
+ 00031460  0x00005a8e copy  0x0000000b , 0x00000011 
+ 00031461  0x00005a8f copy  0x00000011 , 0x00000005 
+ 00031462  0x00005a90 call  0x00007b32 
+ 00031463  0x00005a94 arg  0x000007c2 , 0x00000012 
+ 00031464  0x00005a95 copy  0x00000012 , 0x00000005 
+ 00031465  0x00005a96 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031466  0x00005a97 call  0x00007c90 
+ 00031467  0x00005a98 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031468  0x00005a99 call  0x00007c90 
+ 00031469  0x00005a9a add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031470  0x00005a9b call  0x00007c91 
+ 00031471  0x00005a9c add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031472  0x00005a9d call  0x00007c91 
+ 00031473  0x00005a9e copy  0x0000000b , 0x00000011 
+ 00031474  0x00005a9f copy  0x00000011 , 0x00000005 
+ 00031475  0x00005aa0 call  0x00007b32 
+ 00031476  0x00005aa3 arg  0x000007c2 , 0x00000012 
+ 00031477  0x00005aa4 copy  0x00000012 , 0x00000005 
+ 00031478  0x00005aa5 add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031479  0x00005aa6 call  0x00007c90 
+ 00031480  0x00005aa7 call  0x00007ca8 
+ 00031481  0x00005aa8 istore  0x00000008 , 0x00000005 
+ 00031482  0x00005aa9 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031483  0x00005aaa call  0x00007c91 
+ 00031484  0x00005aab add  0x00000030 , 0x00000028 , 0x00000006 
+ 00031485  0x00005aac call  0x00007c91 
+ 00031486  0x00005aad copy  0x0000000b , 0x00000011 
+ 00031487  0x00005aae copy  0x00000011 , 0x00000005 
+ 00031488  0x00005aaf call  0x00007b4b 
+ 00031489  0x00005ab2 arg  0x000007c2 , 0x00000012 
+ 00031490  0x00005ab3 copy  0x00000012 , 0x00000005 
+ 00031491  0x00005ab4 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031492  0x00005ab5 call  0x00007c94 
+ 00031493  0x00005ab6 call  0x00007c94 
+ 00031494  0x00005ab7 force  0x00000000 , 0x0000003f 
+ 00031495  0x00005ab8 istore  0x00000008 , 0x00000005 
+ 00031496  0x00005ab9 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031497  0x00005aba call  0x00007c91 
+ 00031498  0x00005abb add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031499  0x00005abc call  0x00007c91 
+ 00031500  0x00005abd copy  0x0000000b , 0x00000011 
+ 00031501  0x00005abe copy  0x00000011 , 0x00000005 
+ 00031502  0x00005abf call  0x00007b4b 
+ 00031503  0x00005ac2 arg  0x000007c2 , 0x00000012 
+ 00031504  0x00005ac3 copy  0x00000012 , 0x00000005 
+ 00031505  0x00005ac4 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031506  0x00005ac5 call  0x00007c90 
+ 00031507  0x00005ac6 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031508  0x00005ac7 call  0x00007c90 
+ 00031509  0x00005ac8 call  0x00007ca8 
+ 00031510  0x00005ac9 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031511  0x00005aca call  0x00007c91 
+ 00031512  0x00005acb copy  0x0000000b , 0x00000011 
+ 00031513  0x00005acc copy  0x00000011 , 0x00000005 
+ 00031514  0x00005acd call  0x00007b4b 
+ 00031515  0x00005ad0 arg  0x000007c2 , 0x00000012 
+ 00031516  0x00005ad1 copy  0x00000012 , 0x00000005 
+ 00031517  0x00005ad2 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031518  0x00005ad3 call  0x00007c94 
+ 00031519  0x00005ad4 call  0x00007ca8 
+ 00031520  0x00005ad5 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031521  0x00005ad6 call  0x00007c90 
+ 00031522  0x00005ad7 call  0x00007ca8 
+ 00031523  0x00005ad8 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031524  0x00005ad9 call  0x00007c91 
+ 00031525  0x00005ada copy  0x0000000b , 0x00000011 
+ 00031526  0x00005adb copy  0x00000011 , 0x00000005 
+ 00031527  0x00005adc branch  0x00007b4b 
+ 00031528  0x00005ae0 force  0x00000020 , 0x00000039 
+ 00031529  0x00005ae1 arg  0x00000ace , 0x00000005 
+ 00031530  0x00005ae2 iadd  0x00000005 , 0x00000005 
+ 00031531  0x00005ae3 branch  0x00007cdc 
+ 00031532  0x00005ae6 force  0x00000008 , 0x00000039 
+ 00031533  0x00005ae7 branch  0x00007636 
+ 00031534  0x00005aea copy  0x00000011 , 0x00000012 
+ 00031535  0x00005aeb branch  0x00007a96 
+ 00031536  0x00005aee force  0x00000008 , 0x00000039 
+ 00031537  0x00005aef branch  0x000075c7 
+ 00031538  0x00005af2 call  0x00007b30 
+ 00031539  0x00005af3 copy  0x00000005 , 0x00000011 
+ 00031540  0x00005af4 branch  0x00007b36 
+ 00031541  0x00005af7 call  0x00007b63 
+ 00031542  0x00005af9 isolate1  0x00000000 , 0x00000013 
+ 00031543  0x00005afa branch  0x00007b3f , 0x00000001 
+ 00031544  0x00005afb arg  0x0000091a , 0x00000012 
+ 00031545  0x00005afc copy  0x00000011 , 0x00000013 
+ 00031546  0x00005afd increase  0xffffffe0 , 0x00000011 
+ 00031547  0x00005afe call  0x00007b66 
+ 00031548  0x00005aff nrtn  0x00000002 
+ 00031549  0x00005b00 copy  0x00000013 , 0x00000011 
+ 00031550  0x00005b01 branch  0x00007b47 
+ 00031551  0x00005b04 call  0x00007b47 
+ 00031552  0x00005b06 copy  0x00000011 , 0x00000013 
+ 00031553  0x00005b07 increase  0xffffffe0 , 0x00000011 
+ 00031554  0x00005b08 arg  0x0000091a , 0x00000012 
+ 00031555  0x00005b09 call  0x00007b66 
+ 00031556  0x00005b0a nrtn  0x00000002 
+ 00031557  0x00005b0b copy  0x00000013 , 0x00000011 
+ 00031558  0x00005b0c branch  0x00007b47 
+ 00031559  0x00005b10 increase  0xffffffe0 , 0x00000011 
+ 00031560  0x00005b11 arg  0x0000091a , 0x00000012 
+ 00031561  0x00005b12 copy  0x00000011 , 0x00000005 
+ 00031562  0x00005b13 branch  0x00007b5e 
+ 00031563  0x00005b19 call  0x00007b5e 
+ 00031564  0x00005b1b branch  0x00007b55 , 0x00000001 
+ 00031565  0x00005b1e add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031566  0x00005b1f arg  0x0000091a , 0x00000012 
+ 00031567  0x00005b20 call  0x00007b66 
+ 00031568  0x00005b21 nrtn  0x00000002 
+ 00031569  0x00005b22 arg  0x0000091a , 0x00000012 
+ 00031570  0x00005b23 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031571  0x00005b25 copy  0x00000011 , 0x00000005 
+ 00031572  0x00005b26 branch  0x00007b5e 
+ 00031573  0x00005b28 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031574  0x00005b29 arg  0x0000091a , 0x00000012 
+ 00031575  0x00005b2a copy  0x00000011 , 0x00000005 
+ 00031576  0x00005b2b call  0x00007b30 
+ 00031577  0x00005b2d rtn  0x00000001 
+ 00031578  0x00005b2e add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031579  0x00005b2f arg  0x0000091a , 0x00000012 
+ 00031580  0x00005b30 copy  0x00000011 , 0x00000005 
+ 00031581  0x00005b31 branch  0x00007b30 
+ 00031582  0x00005b36 force  0x00000008 , 0x00000039 
+ 00031583  0x00005b37 branch  0x000075d5 
+ 00031584  0x00005b3a force  0x00000008 , 0x00000039 
+ 00031585  0x00005b3b increase  0x0000001c , 0x00000011 
+ 00031586  0x00005b3c branch  0x000075e4 
+ 00031587  0x00005b3f force  0x00000008 , 0x00000039 
+ 00031588  0x00005b40 force  0x00000000 , 0x00000013 
+ 00031589  0x00005b41 branch  0x000075f2 
+ 00031590  0x00005b44 force  0x00000008 , 0x00000039 
+ 00031591  0x00005b45 increase  0x0000001c , 0x00000011 
+ 00031592  0x00005b46 increase  0x0000001c , 0x00000012 
+ 00031593  0x00005b47 branch  0x000075bc 
+ 00031594  0x00005b4b ifetch  0x00000008 , 0x00000006 
+ 00031595  0x00005b4c nrtn  0x00000034 
+ 00031596  0x00005b4d branch  0x000075aa 
+ 00031597  0x00005b53 copy  0x00000011 , 0x00000030 
+ 00031598  0x00005b55 copy  0x00000030 , 0x00000011 
+ 00031599  0x00005b56 ifetch  0x00000001 , 0x00000011 
+ 00031600  0x00005b57 isolate1  0x00000000 , 0x0000003f 
+ 00031601  0x00005b58 rtn  0x00000001 
+ 00031602  0x00005b59 call  0x00007b60 
+ 00031603  0x00005b5a ifetch  0x00000001 , 0x00000012 
+ 00031604  0x00005b5b isolate0  0x00000000 , 0x0000003f 
+ 00031605  0x00005b5c branch  0x00007b7d , 0x00000001 
+ 00031606  0x00005b5d arg  0x0000091a , 0x00000011 
+ 00031607  0x00005b5e copy  0x00000012 , 0x00000005 
+ 00031608  0x00005b5f call  0x00007b30 
+ 00031609  0x00005b60 ifetch  0x00000001 , 0x00000012 
+ 00031610  0x00005b61 iadd  0x00000013 , 0x0000003f 
+ 00031611  0x00005b62 istore  0x00000001 , 0x00000012 
+ 00031612  0x00005b63 increase  0xffffffe0 , 0x00000012 
+ 00031613  0x00005b65 add  0x00000012 , 0x00000020 , 0x00000011 
+ 00031614  0x00005b66 force  0x00000009 , 0x00000039 
+ 00031615  0x00005b67 call  0x000075e4 
+ 00031616  0x00005b68 branch  0x00007b6e 
+ 00031617  0x00005b6d call  0x00004c20 
+ 00031618  0x00005b6e rtn  0x0000002b 
+ 00031619  0x00005b6f branch  0x00007b9a 
+ 00031620  0x00005b72 branch  0x00007b89 
+ 00031621  0x00005b78 setarg  0x00001000 
+ 00031622  0x00005b79 lshift16  0x0000003f , 0x0000003f 
+ 00031623  0x00005b7a iadd  0x00000012 , 0x00000012 
+ 00031624  0x00005b7b rtn 
+ 00031625  0x00005b7e bpatchx  0x0000009d , 0x00004033 
+ 00031626  0x00005b7f arg  0x00000000 , 0x00000011 
+ 00031627  0x00005b80 fetcht  0x00000004 , 0x0000464a 
+ 00031628  0x00005b81 copy  0x00000022 , 0x00000012 
+ 00031629  0x00005b82 copy  0x00000012 , 0x0000003f 
+ 00031630  0x00005b83 isub  0x00000002 , 0x0000003e 
+ 00031631  0x00005b84 ncall  0x00007b85 , 0x00000002 
+ 00031632  0x00005b87 copy  0x00000012 , 0x0000003f 
+ 00031633  0x00005b88 increase  0x000000a0 , 0x00000002 
+ 00031634  0x00005b89 increase  0x000000a0 , 0x00000002 
+ 00031635  0x00005b8a isub  0x00000002 , 0x0000003e 
+ 00031636  0x00005b8b nbranch  0x00007b9d , 0x00000002 
+ 00031637  0x00005b8c increase  0x00000001 , 0x00000011 
+ 00031638  0x00005b8d and  0x00000011 , 0x0000000f , 0x0000003f 
+ 00031639  0x00005b8e nbranch  0x00007b90 , 0x00000034 
+ 00031640  0x00005b8f arg  0x00000000 , 0x00000011 
+ 00031641  0x00005b90 call  0x00007ba4 
+ 00031642  0x00005b92 copy  0x00000022 , 0x0000003f 
+ 00031643  0x00005b93 store  0x00000004 , 0x0000464a 
+ 00031644  0x00005b94 rtn 
+ 00031645  0x00005b96 bpatchx  0x0000009e , 0x00004033 
+ 00031646  0x00005b97 copy  0x00000011 , 0x0000003f 
+ 00031647  0x00005b98 rtn  0x00000034 
+ 00031648  0x00005b99 increase  0xffffff60 , 0x00000002 
+ 00031649  0x00005b9a increase  0xffffff60 , 0x00000002 
+ 00031650  0x00005b9b set0  0x0000001c , 0x00000002 
+ 00031651  0x00005b9c storet  0x00000004 , 0x0000464a 
+ 00031652  0x00005b9e branch  0x00004cf8 
+ 00031653  0x00005ba6 jam  0x00000001 , 0x00004638 
+ 00031654  0x00005ba8 fetch  0x00000001 , 0x00004639 
+ 00031655  0x00005ba9 nbranch  0x00007ba6 , 0x00000034 
+ 00031656  0x00005baa rtn 
+ 00031657  0x00005bad jam  0x00000000 , 0x00004638 
+ 00031658  0x00005bae rtn 
+ 00031659  0x00005bb3 bpatchx  0x0000009f , 0x00004033 
+ 00031660  0x00005bb4 call  0x00007ba5 
+ 00031661  0x00005bb5 copy  0x00000011 , 0x0000003f 
+ 00031662  0x00005bb6 store  0x00000004 , 0x00000a8d 
+ 00031663  0x00005bb7 arg  0x0000463a , 0x00000011 
+ 00031664  0x00005bb8 call  0x00007d90 
+ 00031665  0x00005bb9 fetch  0x00000004 , 0x00000a8d 
+ 00031666  0x00005bba copy  0x0000003f , 0x00000011 
+ 00031667  0x00005bbb branch  0x00007ba9 
+ 00031668  0x00005bbe bpatchx  0x000000a0 , 0x00004034 
+ 00031669  0x00005bbf call  0x00007ba5 
+ 00031670  0x00005bc0 copy  0x00000011 , 0x0000003f 
+ 00031671  0x00005bc1 store  0x00000004 , 0x00000a8d 
+ 00031672  0x00005bc2 arg  0x00004642 , 0x00000011 
+ 00031673  0x00005bc3 call  0x00007d90 
+ 00031674  0x00005bc4 fetch  0x00000004 , 0x00000a8d 
+ 00031675  0x00005bc5 copy  0x0000003f , 0x00000011 
+ 00031676  0x00005bc6 branch  0x00007ba9 
+ 00031677  0x00005bc9 setarg  0x00000000 
+ 00031678  0x00005bca store  0x00000008 , 0x00004642 
+ 00031679  0x00005bcb store  0x00000008 , 0x0000463a 
+ 00031680  0x00005bcc rtn 
+ 00031681  0x00005bcf bpatchx  0x000000a1 , 0x00004034 
+ 00031682  0x00005bd0 fetch  0x00000001 , 0x000041cf 
+ 00031683  0x00005bd1 nrtn  0x00000034 
+ 00031684  0x00005bd2 arg  0x00004642 , 0x00000011 
+ 00031685  0x00005bd3 call  0x00007da8 
+ 00031686  0x00005bd4 rtn  0x00000034 
+ 00031687  0x00005bd5 jam  0x00000000 , 0x00000a8c 
+ 00031688  0x00005bd6 call  0x00007bcc 
+ 00031689  0x00005bd7 fetch  0x00000001 , 0x00000a8c 
+ 00031690  0x00005bd8 branch  0x00007bc1 , 0x00000034 
+ 00031691  0x00005bd9 rtn 
+ 00031692  0x00005bdc call  0x00007ba5 
+ 00031693  0x00005bdd arg  0x00004642 , 0x00000011 
+ 00031694  0x00005bde call  0x00007d9c 
+ 00031695  0x00005bdf copy  0x0000003f , 0x00000002 
+ 00031696  0x00005be0 call  0x00007ba9 
+ 00031697  0x00005be1 bpatchx  0x000000a2 , 0x00004034 
+ 00031698  0x00005be2 copy  0x00000002 , 0x0000003f 
+ 00031699  0x00005be3 rtn  0x00000034 
+ 00031700  0x00005be4 beq  0x00000001 , 0x00007bff 
+ 00031701  0x00005be5 beq  0x00000002 , 0x00007c04 
+ 00031702  0x00005be6 beq  0x00000003 , 0x00007c0a 
+ 00031703  0x00005be7 beq  0x00000007 , 0x00007c0f 
+ 00031704  0x00005be8 beq  0x00000008 , 0x00007c10 
+ 00031705  0x00005be9 beq  0x00000009 , 0x00007c11 
+ 00031706  0x00005bea beq  0x0000000b , 0x00007c14 
+ 00031707  0x00005beb beq  0x0000000c , 0x00007c15 
+ 00031708  0x00005bec beq  0x0000000d , 0x00007c16 
+ 00031709  0x00005bed beq  0x0000000e , 0x00007c1c 
+ 00031710  0x00005bee beq  0x0000000f , 0x00007c21 
+ 00031711  0x00005bef beq  0x00000010 , 0x00007c27 
+ 00031712  0x00005bf0 beq  0x00000016 , 0x00007c31 
+ 00031713  0x00005bf1 beq  0x00000017 , 0x00007c34 
+ 00031714  0x00005bf2 beq  0x00000018 , 0x00007c36 
+ 00031715  0x00005bf3 beq  0x00000019 , 0x00007c39 
+ 00031716  0x00005bf4 beq  0x0000001b , 0x00007c3d 
+ 00031717  0x00005bf5 beq  0x0000001e , 0x00007c47 
+ 00031718  0x00005bf7 store  0x00000001 , 0x00000a95 
+ 00031719  0x00005bf8 bpatchx  0x000000a3 , 0x00004034 
+ 00031720  0x00005bf9 call  0x0000669e 
+ 00031721  0x00005bfa nbranch  0x00007bfd , 0x00000034 
+ 00031722  0x00005bfc fetch  0x00000001 , 0x00000a95 
+ 00031723  0x00005bfd bmark0  0x00000009 , 0x00007bf8 
+ 00031724  0x00005bfe beq  0x00000004 , 0x00007c0c 
+ 00031725  0x00005bff beq  0x00000005 , 0x000050fd 
+ 00031726  0x00005c00 beq  0x00000006 , 0x0000510c 
+ 00031727  0x00005c01 beq  0x0000000a , 0x00007c12 
+ 00031728  0x00005c02 beq  0x00000011 , 0x00007c2c 
+ 00031729  0x00005c03 beq  0x00000012 , 0x00007c30 
+ 00031730  0x00005c04 beq  0x0000001d , 0x00007c3e 
+ 00031731  0x00005c05 beq  0x0000001f , 0x000067fd 
+ 00031732  0x00005c06 beq  0x00000020 , 0x000067fd 
+ 00031733  0x00005c07 beq  0x00000021 , 0x00007c49 
+ 00031734  0x00005c08 beq  0x00000025 , 0x000067fd 
+ 00031735  0x00005c09 rtn 
+ 00031736  0x00005c0c store  0x00000001 , 0x00000a95 
+ 00031737  0x00005c0d call  0x0000424e 
+ 00031738  0x00005c0e branch  0x00007bfd , 0x00000005 
+ 00031739  0x00005c0f call  0x00004256 
+ 00031740  0x00005c10 nrtn  0x00000005 
+ 00031741  0x00005c12 jam  0x00000001 , 0x00000a8c 
+ 00031742  0x00005c13 branch  0x00007bb4 
+ 00031743  0x00005c19 fetch  0x00000002 , 0x00004652 
+ 00031744  0x00005c1a set1  0x00000006 
+ 00031745  0x00005c1b store  0x00000002 , 0x00004652 
+ 00031746  0x00005c1c jam  0x00000003 , 0x00004093 
+ 00031747  0x00005c1d rtn 
+ 00031748  0x00005c22 jam  0x00000000 , 0x00004650 
+ 00031749  0x00005c23 jam  0x00000000 , 0x00004093 
+ 00031750  0x00005c24 fetch  0x00000002 , 0x00004652 
+ 00031751  0x00005c25 set0  0x00000006 
+ 00031752  0x00005c26 store  0x00000002 , 0x00004652 
+ 00031753  0x00005c27 rtn 
+ 00031754  0x00005c2c jam  0x00000005 , 0x000041cf 
+ 00031755  0x00005c2d rtn 
+ 00031756  0x00005c32 jam  0x00000007 , 0x0000007c 
+ 00031757  0x00005c33 jam  0x00000013 , 0x000004c6 
+ 00031758  0x00005c34 rtn 
+ 00031759  0x00005c39 rtn 
+ 00031760  0x00005c3e rtn 
+ 00031761  0x00005c43 rtn 
+ 00031762  0x00005c48 jam  0x00000002 , 0x000004d0 
+ 00031763  0x00005c49 branch  0x000050f0 
+ 00031764  0x00005c4e rtn 
+ 00031765  0x00005c53 rtn 
+ 00031766  0x00005c58 jam  0x00000001 , 0x00004340 
+ 00031767  0x00005c59 jam  0x00000000 , 0x00004456 
+ 00031768  0x00005c5a fetch  0x00000002 , 0x00004652 
+ 00031769  0x00005c5b set1  0x0000000b , 0x0000003f 
+ 00031770  0x00005c5c store  0x00000002 , 0x00004652 
+ 00031771  0x00005c5d rtn 
+ 00031772  0x00005c62 fetch  0x00000002 , 0x00004652 
+ 00031773  0x00005c63 set0  0x0000000b , 0x0000003f 
+ 00031774  0x00005c64 store  0x00000002 , 0x00004652 
+ 00031775  0x00005c65 jam  0x00000000 , 0x00004340 
+ 00031776  0x00005c66 rtn 
+ 00031777  0x00005c6b jam  0x00000001 , 0x00004340 
+ 00031778  0x00005c6c jam  0x00000001 , 0x00004456 
+ 00031779  0x00005c6d fetch  0x00000002 , 0x00004652 
+ 00031780  0x00005c6e set1  0x0000000b , 0x0000003f 
+ 00031781  0x00005c6f store  0x00000002 , 0x00004652 
+ 00031782  0x00005c70 rtn 
+ 00031783  0x00005c75 fetch  0x00000002 , 0x00004652 
+ 00031784  0x00005c76 set0  0x0000000b , 0x0000003f 
+ 00031785  0x00005c77 store  0x00000002 , 0x00004652 
+ 00031786  0x00005c78 jam  0x00000000 , 0x00004340 
+ 00031787  0x00005c79 rtn 
+ 00031788  0x00005c7e setarg  0x00000014 
+ 00031789  0x00005c7f store  0x00000002 , 0x00000469 
+ 00031790  0x00005c80 store  0x00000002 , 0x0000448c 
+ 00031791  0x00005c81 branch  0x00006073 
+ 00031792  0x00005c86 branch  0x00005e9f 
+ 00031793  0x00005c8c jam  0x00000001 , 0x0000433b 
+ 00031794  0x00005c8d jam  0x0000001b , 0x000041cf 
+ 00031795  0x00005c90 rtn 
+ 00031796  0x00005c95 jam  0x00000001 , 0x0000433b 
+ 00031797  0x00005c96 rtn 
+ 00031798  0x00005c9b jam  0x00000000 , 0x0000433b 
+ 00031799  0x00005c9c jam  0x00000000 , 0x000041cf 
+ 00031800  0x00005c9d rtn 
+ 00031801  0x00005ca2 fetch  0x00000002 , 0x000041ec 
+ 00031802  0x00005ca3 call  0x00007d77 
+ 00031803  0x00005ca4 call  0x00007bbd 
+ 00031804  0x00005ca5 branch  0x00004afe 
+ 00031805  0x00005caa branch  0x00005ee2 
+ 00031806  0x00005caf jam  0x00000034 , 0x0000007c 
+ 00031807  0x00005cb0 set1  0x00000003 , 0x00000000 
+ 00031808  0x00005cb1 nrtn  0x00000029 
+ 00031809  0x00005cb2 jam  0x00000000 , 0x0000452d 
+ 00031810  0x00005cb3 jam  0x00000013 , 0x0000007c 
+ 00031811  0x00005cb4 fetch  0x00000001 , 0x0000016b 
+ 00031812  0x00005cb5 set0  0x00000002 , 0x0000003f 
+ 00031813  0x00005cb6 store  0x00000001 , 0x0000016b 
+ 00031814  0x00005cb7 rtn 
+ 00031815  0x00005cbc force  0x00000003 , 0x00000007 
+ 00031816  0x00005cbd branch  0x00007ce2 
+ 00031817  0x00005cc2 call  0x000066da 
+ 00031818  0x00005cc3 jam  0x00000041 , 0x0000007d 
+ 00031819  0x00005cc4 branch  0x0000637f 
+ 00031820  0x00005ccb sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00031821  0x00005ccc rtn  0x00000005 
+ 00031822  0x00005cce rshift  0x0000003f , 0x0000003f 
+ 00031823  0x00005ccf loop  0x00007c4e 
+ 00031824  0x00005cd0 rtn 
+ 00031825  0x00005cd4 force  0x00000001 , 0x0000003f 
+ 00031826  0x00005cd5 sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00031827  0x00005cd6 rtn  0x00000005 
+ 00031828  0x00005cd8 lshift  0x0000003f , 0x0000003f 
+ 00031829  0x00005cd9 loop  0x00007c54 
+ 00031830  0x00005cda rtn 
+ 00031831  0x00005cdc deposit  0x00000005 
+ 00031832  0x00005cdd store  0x00000002 , 0x00000ab7 
+ 00031833  0x00005cde storet  0x00000008 , 0x00000a9e 
+ 00031834  0x00005cdf deposit  0x0000000b 
+ 00031835  0x00005ce0 store  0x00000004 , 0x00000aa6 
+ 00031836  0x00005ce1 call  0x00007c60 
+ 00031837  0x00005ce2 deposit  0x00000006 
+ 00031838  0x00005ce3 store  0x00000002 , 0x00000ab5 
+ 00031839  0x00005ce4 rtn 
+ 00031840  0x00005ce7 deposit  0x00000011 
+ 00031841  0x00005ce8 store  0x00000004 , 0x00000aaa 
+ 00031842  0x00005ce9 deposit  0x00000012 
+ 00031843  0x00005cea store  0x00000004 , 0x00000aae 
+ 00031844  0x00005ceb deposit  0x00000013 
+ 00031845  0x00005cec store  0x00000003 , 0x00000ab2 
+ 00031846  0x00005ced rtn 
+ 00031847  0x00005cf0 fetcht  0x00000008 , 0x00000a9e 
+ 00031848  0x00005cf1 fetch  0x00000004 , 0x00000aa6 
+ 00031849  0x00005cf2 iforce  0x0000000b 
+ 00031850  0x00005cf3 call  0x00007c70 
+ 00031851  0x00005cf4 fetch  0x00000002 , 0x00000ab7 
+ 00031852  0x00005cf5 iforce  0x00000005 
+ 00031853  0x00005cf6 fetch  0x00000002 , 0x00000ab5 
+ 00031854  0x00005cf7 iforce  0x00000006 
+ 00031855  0x00005cf8 rtn 
+ 00031856  0x00005cfb fetch  0x00000004 , 0x00000aaa 
+ 00031857  0x00005cfc iforce  0x00000011 
+ 00031858  0x00005cfd fetch  0x00000004 , 0x00000aae 
+ 00031859  0x00005cfe iforce  0x00000012 
+ 00031860  0x00005cff fetch  0x00000003 , 0x00000ab2 
+ 00031861  0x00005d00 iforce  0x00000013 
+ 00031862  0x00005d01 rtn 
+ 00031863  0x00005d04 fetch  0x00000002 , 0x00000ab7 
+ 00031864  0x00005d05 copy  0x0000003f , 0x00000005 
+ 00031865  0x00005d06 rtn 
+ 00031866  0x00005d08 fetch  0x00000002 , 0x00000ab5 
+ 00031867  0x00005d09 copy  0x0000003f , 0x00000006 
+ 00031868  0x00005d0a rtn 
+ 00031869  0x00005d0c copy  0x00000005 , 0x0000003f 
+ 00031870  0x00005d0d store  0x00000002 , 0x00000ab7 
+ 00031871  0x00005d0e rtn 
+ 00031872  0x00005d10 copy  0x00000006 , 0x0000003f 
+ 00031873  0x00005d11 store  0x00000002 , 0x00000ab5 
+ 00031874  0x00005d12 rtn 
+ 00031875  0x00005d17 copy  0x00000005 , 0x0000003f 
+ 00031876  0x00005d18 store  0x00000002 , 0x00000a93 
+ 00031877  0x00005d19 copy  0x00000006 , 0x0000003f 
+ 00031878  0x00005d1a store  0x00000002 , 0x00000a91 
+ 00031879  0x00005d1b rtn 
+ 00031880  0x00005d1d fetch  0x00000002 , 0x00000a93 
+ 00031881  0x00005d1e copy  0x0000003f , 0x00000005 
+ 00031882  0x00005d1f fetch  0x00000002 , 0x00000a91 
+ 00031883  0x00005d20 copy  0x0000003f , 0x00000006 
+ 00031884  0x00005d21 rtn 
+ 00031885  0x00005d24 call  0x00007c98 
+ 00031886  0x00005d26 call  0x00007c98 
+ 00031887  0x00005d27 branch  0x00007c98 
+ 00031888  0x00005d29 call  0x00007c94 
+ 00031889  0x00005d2b ifetch  0x00000004 , 0x00000006 
+ 00031890  0x00005d2c istore  0x00000004 , 0x00000005 
+ 00031891  0x00005d2d rtn 
+ 00031892  0x00005d2f ifetch  0x00000008 , 0x00000006 
+ 00031893  0x00005d30 istore  0x00000008 , 0x00000005 
+ 00031894  0x00005d31 rtn 
+ 00031895  0x00005d34 call  0x00007c9a 
+ 00031896  0x00005d36 call  0x00007c94 
+ 00031897  0x00005d38 call  0x00007c94 
+ 00031898  0x00005d3a call  0x00007c94 
+ 00031899  0x00005d3b branch  0x00007c94 
+ 00031900  0x00005d40 arg  0x0000000a , 0x00000039 
+ 00031901  0x00005d42 nop  0x00002ee0 
+ 00031902  0x00005d43 loop  0x00007c9d 
+ 00031903  0x00005d44 rtn 
+ 00031904  0x00005d47 force  0x00000003 , 0x00000039 
+ 00031905  0x00005d49 force  0x00000000 , 0x0000003f 
+ 00031906  0x00005d4b istore  0x00000008 , 0x00000005 
+ 00031907  0x00005d4c loop  0x00007ca2 
+ 00031908  0x00005d4d rtn 
+ 00031909  0x00005d50 force  0x00000000 , 0x0000003f 
+ 00031910  0x00005d51 istore  0x00000008 , 0x00000005 
+ 00031911  0x00005d52 rtn 
+ 00031912  0x00005d54 force  0x00000000 , 0x0000003f 
+ 00031913  0x00005d55 istore  0x00000004 , 0x00000005 
+ 00031914  0x00005d56 rtn 
+ 00031915  0x00005d59 force  0x00000004 , 0x00000039 
+ 00031916  0x00005d5a branch  0x00007ca1 
+ 00031917  0x00005d5c force  0x00000008 , 0x00000039 
+ 00031918  0x00005d5d branch  0x00007ca1 
+ 00031919  0x00005d60 deposit  0x00000039 
+ 00031920  0x00005d61 rtn  0x00000034 
+ 00031921  0x00005d62 setarg  0x00000000 
+ 00031922  0x00005d64 istore  0x00000001 , 0x00000005 
+ 00031923  0x00005d65 loop  0x00007cb2 
+ 00031924  0x00005d66 rtn 
+ 00031925  0x00005d6a arg  0x00000020 , 0x00000039 
+ 00031926  0x00005d6b arg  0x00000abe , 0x00000005 
+ 00031927  0x00005d6c branch  0x00007caf 
+ 00031928  0x00005d6f ifetch  0x00000004 , 0x00000013 
+ 00031929  0x00005d70 ifetcht  0x00000004 , 0x00000011 
+ 00031930  0x00005d71 ixor  0x00000002 , 0x0000003f 
+ 00031931  0x00005d72 istore  0x00000004 , 0x00000005 
+ 00031932  0x00005d73 increase  0x00000004 , 0x00000011 
+ 00031933  0x00005d74 increase  0x00000004 , 0x00000013 
+ 00031934  0x00005d75 loop  0x00007cb8 
+ 00031935  0x00005d76 rtn 
+ 00031936  0x00005d7b bpatchx  0x000000a4 , 0x00004034 
+ 00031937  0x00005d7c copy  0x00000039 , 0x0000003f 
+ 00031938  0x00005d7d sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00031939  0x00005d7e rtn  0x00000002 
+ 00031940  0x00005d7f iadd  0x00000011 , 0x00000012 
+ 00031941  0x00005d80 increase  0xffffffff , 0x00000012 
+ 00031942  0x00005d81 rshift  0x00000039 , 0x00000039 
+ 00031943  0x00005d83 ifetcht  0x00000001 , 0x00000011 
+ 00031944  0x00005d84 ifetch  0x00000001 , 0x00000012 
+ 00031945  0x00005d85 istore  0x00000001 , 0x00000011 
+ 00031946  0x00005d86 istoret  0x00000001 , 0x00000012 
+ 00031947  0x00005d87 increase  0xffffffff , 0x00000012 
+ 00031948  0x00005d88 increase  0x00000001 , 0x00000011 
+ 00031949  0x00005d89 loop  0x00007cc7 
+ 00031950  0x00005d8a rtn 
+ 00031951  0x00005d8e deposit  0x00000039 
+ 00031952  0x00005d8f rtn  0x00000034 
+ 00031953  0x00005d91 increase  0xfffffff8 , 0x00000039 
+ 00031954  0x00005d92 call  0x00007c94 , 0x00000002 
+ 00031955  0x00005d93 rtn  0x00000005 
+ 00031956  0x00005d94 branch  0x00007cd1 , 0x00000002 
+ 00031957  0x00005d95 increase  0x00000008 , 0x00000039 
+ 00031958  0x00005d97 increase  0xfffffffc , 0x00000039 
+ 00031959  0x00005d98 call  0x00007c91 , 0x00000002 
+ 00031960  0x00005d99 rtn  0x00000005 
+ 00031961  0x00005d9a branch  0x00007cd6 , 0x00000002 
+ 00031962  0x00005d9b increase  0x00000004 , 0x00000039 
+ 00031963  0x00005d9c branch  0x00007cdc 
+ 00031964  0x00005d9f deposit  0x00000039 
+ 00031965  0x00005da0 rtn  0x00000034 
+ 00031966  0x00005da2 ifetch  0x00000001 , 0x00000006 
+ 00031967  0x00005da3 istore  0x00000001 , 0x00000005 
+ 00031968  0x00005da4 loop  0x00007cde 
+ 00031969  0x00005da5 rtn 
+ 00031970  0x00005da8 setarg  0x00000000 
+ 00031971  0x00005daa rshift  0x00000022 , 0x00000002 
+ 00031972  0x00005dab storet  0x00000004 , 0x00004094 
+ 00031973  0x00005dac arg  0x0000419e , 0x00000005 
+ 00031974  0x00005dad iforce  0x00000002 
+ 00031975  0x00005dae lshift  0x00000007 , 0x0000003f 
+ 00031976  0x00005daf iadd  0x00000005 , 0x00000005 
+ 00031977  0x00005db0 istoret  0x00000002 , 0x00000005 
+ 00031978  0x00005db1 bpatchx  0x000000a5 , 0x00004034 
+ 00031979  0x00005db2 rtn 
+ 00031980  0x00005db5 arg  0x00000800 , 0x0000000b 
+ 00031981  0x00005db6 lshift16  0x0000000b , 0x0000000b 
+ 00031982  0x00005db7 iadd  0x0000000b , 0x0000003f 
+ 00031983  0x00005db8 rtn 
+ 00031984  0x00005dbc arg  0x00000000 , 0x00000007 
+ 00031985  0x00005dbe bpatchx  0x000000a6 , 0x00004034 
+ 00031986  0x00005dbf fetcht  0x00000004 , 0x00004094 
+ 00031987  0x00005dc0 rshift  0x00000022 , 0x0000003f 
+ 00031988  0x00005dc1 store  0x00000004 , 0x00004094 
+ 00031989  0x00005dc2 isub  0x00000002 , 0x0000003e 
+ 00031990  0x00005dc3 ncall  0x00007cec , 0x00000002 
+ 00031991  0x00005dc4 isub  0x00000002 , 0x0000000b 
+ 00031992  0x00005dc5 copy  0x0000000b , 0x00000002 
+ 00031993  0x00005dc6 arg  0x0000419e , 0x00000006 
+ 00031994  0x00005dc7 copy  0x00000006 , 0x00000005 
+ 00031995  0x00005dc8 arg  0x00000010 , 0x00000039 
+ 00031996  0x00005dca ifetch  0x00000002 , 0x00000006 
+ 00031997  0x00005dcb isub  0x00000002 , 0x0000003f 
+ 00031998  0x00005dcc branch  0x00007d00 , 0x00000002 
+ 00031999  0x00005dcd force  0x00000000 , 0x0000003f 
+ 00032000  0x00005dcf istore  0x00000002 , 0x00000005 
+ 00032001  0x00005dd0 loop  0x00007cfc 
+ 00032002  0x00005dd1 arg  0x0000419e , 0x00000006 
+ 00032003  0x00005dd2 lshift  0x00000007 , 0x0000003f 
+ 00032004  0x00005dd3 iadd  0x00000006 , 0x00000006 
+ 00032005  0x00005dd4 ifetch  0x00000002 , 0x00000006 
+ 00032006  0x00005dd5 rtn 
+ 00032007  0x00005ddb iadd  0x00000002 , 0x00000002 
+ 00032008  0x00005ddc copy  0x00000002 , 0x00000039 
+ 00032009  0x00005ddd setarg  0x00000ea6 
+ 00032010  0x00005dde isub  0x00000039 , 0x0000003f 
+ 00032011  0x00005ddf rtn  0x00000002 
+ 00032012  0x00005de0 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032013  0x00005de1 rshift16  0x00000002 , 0x00000002 
+ 00032014  0x00005de2 increase  0x00000001 , 0x00000002 
+ 00032015  0x00005de3 lshift16  0x00000002 , 0x00000002 
+ 00032016  0x00005de4 ior  0x00000002 , 0x00000002 
+ 00032017  0x00005de5 rtn 
+ 00032018  0x00005de8 call  0x00007d14 
+ 00032019  0x00005de9 branch  0x00007d1e 
+ 00032020  0x00005ded disable  0x00000028 
+ 00032021  0x00005dee isub  0x00000002 , 0x0000003f 
+ 00032022  0x00005def branch  0x00007d19 , 0x00000002 
+ 00032023  0x00005df0 enable  0x00000028 
+ 00032024  0x00005df1 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032025  0x00005df3 rtnbit0  0x0000000f 
+ 00032026  0x00005df4 arg  0xffff0ea6 , 0x00000002 
+ 00032027  0x00005df5 iadd  0x00000002 , 0x0000003f 
+ 00032028  0x00005df6 set0  0x00000040 , 0x0000003f 
+ 00032029  0x00005df7 rtn 
+ 00032030  0x00005dfa iforce  0x00000006 
+ 00032031  0x00005dfb rshift16  0x0000003f , 0x0000003f 
+ 00032032  0x00005dfc arg  0x00000ea6 , 0x00000002 
+ 00032033  0x00005dfd imul32  0x00000002 , 0x0000003f 
+ 00032034  0x00005dfe iadd  0x00000006 , 0x0000003f 
+ 00032035  0x00005dff rtn 
+ 00032036  0x00005e03 lshift8  0x0000003f , 0x0000003f 
+ 00032037  0x00005e04 lshift4  0x0000003f , 0x0000003f 
+ 00032038  0x00005e05 fetcht  0x00000003 , 0x00004170 
+ 00032039  0x00005e06 idiv  0x00000002 
+ 00032040  0x00005e07 call  0x00007d61 
+ 00032041  0x00005e08 quotient  0x00000002 
+ 00032042  0x00005e09 rtn 
+ 00032043  0x00005e0d arg  0x00000ea6 , 0x00000002 
+ 00032044  0x00005e0e idiv  0x00000002 
+ 00032045  0x00005e0f call  0x00007d61 
+ 00032046  0x00005e10 quotient  0x0000003f 
+ 00032047  0x00005e11 lshift16  0x0000003f , 0x0000003f 
+ 00032048  0x00005e12 remainder  0x00000002 
+ 00032049  0x00005e13 ior  0x00000002 , 0x00000002 
+ 00032050  0x00005e14 rtn 
+ 00032051  0x00005e1c arg  0x00000000 , 0x00000002 
+ 00032052  0x00005e1e copy  0x00000002 , 0x00000013 
+ 00032053  0x00005e1f ifetch  0x00000001 , 0x00000003 
+ 00032054  0x00005e20 call  0x00007d3f 
+ 00032055  0x00005e21 copy  0x00000013 , 0x00000002 
+ 00032056  0x00005e22 call  0x00007d70 
+ 00032057  0x00005e23 arg  0x0000000a , 0x00000012 
+ 00032058  0x00005e24 imul32  0x00000012 , 0x0000003f 
+ 00032059  0x00005e25 iadd  0x00000002 , 0x0000003f 
+ 00032060  0x00005e26 copy  0x0000003f , 0x00000002 
+ 00032061  0x00005e27 loop  0x00007d34 
+ 00032062  0x00005e28 rtn 
+ 00032063  0x00005e2d arg  0x0000003a , 0x00000002 
+ 00032064  0x00005e2e isub  0x00000002 , 0x0000003e 
+ 00032065  0x00005e2f nbranch  0x00007d48 , 0x00000002 
+ 00032066  0x00005e30 arg  0x00000061 , 0x00000002 
+ 00032067  0x00005e31 isub  0x00000002 , 0x0000003e 
+ 00032068  0x00005e32 branch  0x00007d4b , 0x00000002 
+ 00032069  0x00005e33 arg  0x00000037 , 0x00000002 
+ 00032070  0x00005e34 isub  0x00000002 , 0x0000003f 
+ 00032071  0x00005e35 rtn 
+ 00032072  0x00005e37 arg  0x00000030 , 0x00000002 
+ 00032073  0x00005e38 isub  0x00000002 , 0x0000003f 
+ 00032074  0x00005e39 rtn 
+ 00032075  0x00005e3b arg  0x00000057 , 0x00000002 
+ 00032076  0x00005e3c isub  0x00000002 , 0x0000003f 
+ 00032077  0x00005e3d rtn 
+ 00032078  0x00005e40 copy  0x00000002 , 0x00000030 
+ 00032079  0x00005e41 setarg  0x000001ff 
+ 00032080  0x00005e42 force  0x00000000 , 0x00000012 
+ 00032081  0x00005e44 rshift3  0x0000003f , 0x00000011 
+ 00032082  0x00005e45 rshift  0x00000011 , 0x00000011 
+ 00032083  0x00005e46 ixor  0x00000011 , 0x00000011 
+ 00032084  0x00005e47 isolate1  0x00000000 , 0x00000011 
+ 00032085  0x00005e48 setflag  0x00000001 , 0x00000009 , 0x0000003f 
+ 00032086  0x00005e49 rshift  0x00000002 , 0x00000002 
+ 00032087  0x00005e4a isolate1  0x00000000 , 0x0000003f 
+ 00032088  0x00005e4b setflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00032089  0x00005e4c rshift  0x0000003f , 0x0000003f 
+ 00032090  0x00005e4d increase  0x00000001 , 0x00000012 
+ 00032091  0x00005e4e compare  0x00000000 , 0x00000012 , 0x00000007 
+ 00032092  0x00005e4f nbranch  0x00007d51 , 0x00000001 
+ 00032093  0x00005e50 istoret  0x00000001 , 0x00000005 
+ 00032094  0x00005e51 loop  0x00007d51 
+ 00032095  0x00005e52 copy  0x00000030 , 0x00000002 
+ 00032096  0x00005e53 rtn 
+ 00032097  0x00005e57 rtn  0x00000035 
+ 00032098  0x00005e58 branch  0x00007d61 
+ 00032099  0x00005e64 ifetch  0x00000001 , 0x00000011 
+ 00032100  0x00005e65 ifetcht  0x00000001 , 0x00000012 
+ 00032101  0x00005e66 isub  0x00000002 , 0x0000003e 
+ 00032102  0x00005e67 nrtn  0x00000005 
+ 00032103  0x00005e68 increase  0x00000001 , 0x00000011 
+ 00032104  0x00005e69 increase  0x00000001 , 0x00000012 
+ 00032105  0x00005e6a loop  0x00007d63 
+ 00032106  0x00005e6b force  0x00000000 , 0x0000003e 
+ 00032107  0x00005e6c rtn 
+ 00032108  0x00005e70 isub  0x00000002 , 0x0000003e 
+ 00032109  0x00005e71 nrtn  0x00000002 
+ 00032110  0x00005e72 deposit  0x00000002 
+ 00032111  0x00005e73 rtn 
+ 00032112  0x00005e76 iadd  0x00000002 , 0x0000003f 
+ 00032113  0x00005e77 isub  0x00000002 , 0x00000002 
+ 00032114  0x00005e78 isub  0x00000002 , 0x0000003f 
+ 00032115  0x00005e79 rtn 
+ 00032116  0x00005e7c arg  0x00000200 , 0x00000039 
+ 00032117  0x00005e7d arg  0x00004000 , 0x00000005 
+ 00032118  0x00005e7e branch  0x00007ca1 
+ 00032119  0x00005e82 rtn  0x00000034 
+ 00032120  0x00005e83 copy  0x0000003f , 0x0000003d 
+ 00032121  0x00005e88 hjam  0x00000001 , 0x00008203 
+ 00032122  0x00005e89 rtn 
+ 00032123  0x00005e8c hstore  0x00000002 , 0x00008205 
+ 00032124  0x00005e8d hfetch  0x00000001 , 0x00008203 
+ 00032125  0x00005e8e set1  0x00000004 , 0x0000003f 
+ 00032126  0x00005e8f hstore  0x00000001 , 0x00008203 
+ 00032127  0x00005e90 rtn 
+ 00032128  0x00005e92 hstore  0x00000002 , 0x00008207 
+ 00032129  0x00005e93 hfetch  0x00000001 , 0x00008203 
+ 00032130  0x00005e94 set1  0x00000006 , 0x0000003f 
+ 00032131  0x00005e95 hstore  0x00000001 , 0x00008203 
+ 00032132  0x00005e96 rtn 
+ 00032133  0x00005e99 hstore  0x00000002 , 0x00008205 
+ 00032134  0x00005e9a hjam  0x00000030 , 0x00008203 
+ 00032135  0x00005e9b rtn 
+ 00032136  0x00005e9e hfetch  0x00000001 , 0x00008043 
+ 00032137  0x00005e9f set1  0x00000004 , 0x0000003f 
+ 00032138  0x00005ea0 hstore  0x00000001 , 0x00008043 
+ 00032139  0x00005ea1 rtn 
+ 00032140  0x00005ea5 hfetch  0x00000001 , 0x00008043 
+ 00032141  0x00005ea6 set0  0x00000004 , 0x0000003f 
+ 00032142  0x00005ea7 hstore  0x00000001 , 0x00008043 
+ 00032143  0x00005ea8 rtn 
+ 00032144  0x00005eb0 bpatchx  0x000000a7 , 0x00004034 
+ 00032145  0x00005eb1 ifetcht  0x00000008 , 0x00000011 
+ 00032146  0x00005eb2 and  0x00000002 , 0x000000ff , 0x0000003f 
+ 00032147  0x00005eb3 nbranch  0x00007d96 , 0x00000034 
+ 00032148  0x00005eb4 rshift8  0x00000002 , 0x0000003f 
+ 00032149  0x00005eb5 istore  0x00000008 , 0x00000011 
+ 00032150  0x00005eb7 increase  0x00000007 , 0x00000011 
+ 00032151  0x00005eb8 ifetch  0x00000001 , 0x00000011 
+ 00032152  0x00005eb9 nbranch  0x00004a8b , 0x00000034 
+ 00032153  0x00005eba fetch  0x00000001 , 0x00000a95 
+ 00032154  0x00005ebb istore  0x00000001 , 0x00000011 
+ 00032155  0x00005ebc rtn 
+ 00032156  0x00005ec2 bpatchx  0x000000a8 , 0x00004035 
+ 00032157  0x00005ec3 arg  0x00000008 , 0x00000039 
+ 00032158  0x00005ec4 ifetch  0x00000008 , 0x00000011 
+ 00032159  0x00005ec5 rtn  0x00000034 
+ 00032160  0x00005ec7 ifetch  0x00000001 , 0x00000011 
+ 00032161  0x00005ec8 nbranch  0x00007da5 , 0x00000034 
+ 00032162  0x00005ec9 increase  0x00000001 , 0x00000011 
+ 00032163  0x00005eca loop  0x00007da0 
+ 00032164  0x00005ecb branch  0x00004a8b 
+ 00032165  0x00005ecd arg  0x00000000 , 0x00000002 
+ 00032166  0x00005ece istoret  0x00000001 , 0x00000011 
+ 00032167  0x00005ecf rtn 
+ 00032168  0x00005ed5 ifetch  0x00000008 , 0x00000011 
+ 00032169  0x00005ed6 rtn 
+ 00032170  0x00005edc ifetch  0x00000001 , 0x00000011 
+ 00032171  0x00005edd rtn 
+ 00032172  0x00005ee1 ifetch  0x00000002 , 0x00000011 
+ 00032173  0x00005ee2 rtn 
+ 00032174  0x00005ee7 arg  0x00000000 , 0x00000002 
+ 00032175  0x00005ee9 fetch  0x00000001 , 0x00000006 
+ 00032176  0x00005eea loop  0x00007daf , 0x00000034 
+ 00032177  0x00005eeb increase  0x00000001 , 0x00000002 
+ 00032178  0x00005eec loop  0x00007daf 
+ 00032179  0x00005eed copy  0x00000002 , 0x0000003f 
+ 00032180  0x00005eee rtn 
+ 00032181  0x00005ef1 isub  0x00000002 , 0x0000003e 
+ 00032182  0x00005ef2 nrtn  0x00000002 
+ 00032183  0x00005ef3 copy  0x00000002 , 0x0000003f 
+ 00032184  0x00005ef4 rtn 
+ 00032185  0x00005ef8 force  0xffffffff , 0x0000003e 
+ 00032186  0x00005ef9 rtn 
+ 00032187  0x00005efc force  0x00000001 , 0x0000003e 
+ 00032188  0x00005efd rtn 
+ 00032189  0x00005eff force  0x00000000 , 0x0000003e 
+ 00032190  0x00005f00 rtn 
+ 00032191  0x00005f03 enable  0x00000028 
+ 00032192  0x00005f04 rtn 
+ 00032193  0x00005f07 disable  0x00000028 
+ 00032194  0x00005f08 rtn 
+ 00032195  0x00005f0b enable  0x0000002c 
+ 00032196  0x00005f0c rtn 
+ 00032197  0x00005f0f disable  0x0000002c 
+ 00032198  0x00005f10 rtn 
+ 00032199  0x00005f13 setarg  0x00000001 
+ 00032200  0x00005f14 rtn 
+ 00032201  0x00005f17 setarg  0x00000000 
+ 00032202  0x00005f18 rtn 
+ 00032203  0x00005f1c copy  0x00000039 , 0x0000003f 
+ 00032204  0x00005f1d rtn  0x00000034 
+ 00032205  0x00005f1e copy  0x00000006 , 0x0000003f 
+ 00032206  0x00005f1f iadd  0x00000039 , 0x0000003f 
+ 00032207  0x00005f20 increase  0xffffffff , 0x0000003f 
+ 00032208  0x00005f21 copy  0x0000003f , 0x00000006 
+ 00032209  0x00005f23 ifetch  0x00000001 , 0x00000006 
+ 00032210  0x00005f24 increase  0xfffffffe , 0x00000006 
+ 00032211  0x00005f25 istore  0x00000001 , 0x00000005 
+ 00032212  0x00005f26 loop  0x00007dd1 
+ 00032213  0x00005f27 rtn 
Index: ebike/trunk/output/bt_program23.list
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.list	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.list	(working copy)
@@ -0,0 +1,20583 @@
+              include "bt_format "
+              org 0x0000
+:      000048 p_start:
+0x0 000049 bbit1 8 ,pf_patch_ext 
+0x1 000050 beq patch00_0 ,p_soft_reset0 
+0x2 000052 beq patch02_1 ,p_master_page_no_interval 
+0x3 000054 beq patch00_1 ,p_soft_reset 
+0x4 000055 beq patch10_5 ,p_shutdown_radio 
+0x5 000056 beq patch11_1 ,p_set_freq_tx 
+0x6 000058 beq patch12_4 ,p_ahead_window 
+0x7 000059 beq patch14_2 ,p_init_param 
+0x8 000060 beq patch14_3 ,p_lpm_adjust_clk 
+0x9 000061 beq patch15_4 ,p_lpm_unconn_nossp 
+0xa 000062 beq patch17_0 ,p_module_init 
+0xb 000063 beq patch17_3 ,p_module_hci_cmd_control 
+0xc 000064 beq patch17_4 ,p_module_hci_cmd_transmit_le_notify 
+0xd 000065 beq patch1d_3 ,p_le_init_conn 
+0xe 000067 beq patch00_5 ,p_connection_incontext 
+0xf 000068 beq patch05_4 ,p_context_new 
+0x10 000069 beq patch05_6 ,p_context_search 
+0x11 000070 beq patch0d_7 ,p_sniff_check_window 
+0x12 000071 beq patch14_6 ,p_lpm_recover_clk 
+0x13 000072 beq patch14_7 ,p_lpm_dispatch 
+0x14 000073 beq patch15_3 ,p_lpm_dispatch_unconn 
+0x15 000075 beq patch07_3 ,p_sconn_successful 
+0x16 000077 beq patch17_7 ,p_l2cap_init_wake 
+0x17 000079 beq patch04_6 ,p_role_switch_master 
+0x18 000080 beq patch05_0 ,p_roles_replyto_fhs 
+0x19 000081 branch assert 
+:      000084 pf_patch_ext:
+0x1a 000085 beq patch20_3 ,p_le_receive_skip 
+0x1b 000086 beq patch20_5 ,p_le_transmit_receive_sifs 
+0x1c 000087 beq patch20_6 ,p_le_transmit 
+0x1d 000088 beq patch20_7 ,p_le_transmit0 
+0x1e 000089 beq patch21_0 ,p_le_send_adv_ind 
+0x1f 000090 beq patch21_3 ,p_le_send_scan_response 
+0x20 000091 beq patch22_3 ,p_le_acknowledge 
+0x21 000092 beq patch22_4 ,p_le_check_wak 
+0x22 000093 beq patch23_4 ,p_le_prepare_tx 
+0x23 000094 beq patch23_6 ,p_le_send_packet 
+0x24 000095 beq patch23_7 ,p_le_parse 
+0x25 000096 beq patch24_1 ,p_le_parse_l2cap 
+0x26 000097 beq patch26_0 ,p_le_modified_name 
+0x27 000098 beq patch26_2 ,p_le_lpm_set_mult 
+0x28 000099 beq patch27_2 ,p_parse_lmp 
+0x29 000100 beq patch27_6 ,p_send_lmp 
+0x2a 000101 beq patch28_1 ,p_ssp_disable 
+0x2b 000102 beq patch29_1 ,p_uartd_send 
+0x2c 000103 beq patch2a_2 ,p_parse_dlci0_rp 
+0x2d 000104 beq patch2a_5 ,p_parse_dlci0_reconn 
+0x2e 000105 beq patch31_5 ,p_le_encrypt 
+0x2f 000106 beq patch33_1 ,p_sp_initialize_256 
+0x30 000108 beq patch2d_2 ,p_process_upper_sm_reconn 
+0x31 000109 beq patch2f_2 ,p_sdp_process 
+0x32 000113 beq patch2a_1 ,p_rfcomm_rx_process 
+0x33 000114 beq patch2a_4 ,p_parse_uih_rp_spp 
+0x34 000115 beq patch2b_0 ,p_rfcomm_send_param_neg_cmd 
+0x35 000116 beq patch2c_3 ,p_scheduler_process 
+0x36 000117 branch assert 
+:      000120 p_soft_reset0:
+0x37 000121 fetch 6 ,mem_gpio_wakeup_backup 
+0x38 000122 store 6 ,mem_gpio_wakeup 
+0x39 000123 deposit auxcnt 
+0x3a 000124 branch p_soft_rest1 ,blank 
+0x3b 000125 call p_wake_m0 
+0x3c 000126 branch soft_reset + 1 
+:      000128 p_wake_m0:
+0x3d 000129 jam 0x00 ,mem_lpm_mode 
+0x3e 000130 call p_enable_chgpump 
+0x3f 000131 branch wake_up_m0 
+:      000133 p_enable_chgpump:
+0x40 000134 hfetch 1 ,rfen_chgpump 
+0x41 000135 set1 6 ,pdata 
+0x42 000136 hstore 1 ,rfen_chgpump 
+0x43 000137 rtn 
+:      000139 p_soft_rest1:
+0x44 000140 fetch 1 ,core_lpm_switch 
+0x45 000141 bbit1 0 ,p_gpio_low_wake_up 
+:      000142 p_gpio_high_wake_up:
+0x46 000143 fetch 6 ,mem_gpio_wakeup 
+0x47 000144 fetcht 6 ,core_gpio_in 
+0x48 000146 iand temp ,pdata 
+0x49 000148 ncall p_wake_m0 ,blank 
+0x4a 000150 branch soft_reset + 1 
+:      000152 p_gpio_low_wake_up:
+0x4b 000153 call p_check_io_wakeup 
+0x4c 000154 branch soft_reset + 1 
+:      000156 p_check_io_wakeup:
+0x4d 000157 setarg 0xffffff 
+0x4e 000158 fetcht 3 ,core_gpio_in 
+0x4f 000159 ixor temp ,pdata 
+0x50 000160 fetcht 3 ,mem_gpio_wakeup 
+0x51 000161 iand temp ,pdata 
+0x52 000163 nbranch p_wake_m0 ,blank 
+0x53 000165 setarg 0xffffff 
+0x54 000166 fetcht 3 ,core_gpio_in + 3 
+0x55 000167 ixor temp ,pdata 
+0x56 000168 fetcht 3 ,mem_gpio_wakeup + 3 
+0x57 000169 iand temp ,pdata 
+0x58 000171 nbranch p_wake_m0 ,blank 
+0x59 000172 rtn 
+:      000186 p_ahead_window:
+0x5a 000187 copy temp ,pdata 
+0x5b 000188 call clk2bt 
+0x5c 000189 lshift16 bt_clk ,pdata 
+0x5d 000190 set1 44 ,pdata 
+0x5e 000191 call clk_diff 
+0x5f 000192 set0 44 ,pdata 
+0x60 000193 call get_clk 
+0x61 000194 call clk_diff 
+0x62 000195 rtn user 
+0x63 000196 call p_clk2rt 
+0x64 000197 branch ahead_window + 12 
+:      000199 p_lpm_adjust_clk:
+0x65 000200 deposit clke 
+0x66 000201 call p_clk_diff_rt 
+0x67 000202 branch lpm_adjust_clk + 3 
+:      000205 p_clk_diff_rt:
+0x68 000206 call clk_diff 
+:      000207 p_clk2rt:
+0x69 000208 iforce contr 
+0x6a 000209 set0 16 ,contr 
+0x6b 000210 branch clk2rt + 1 
+:      000216 p_soft_reset:
+0x6c 000217 jam 0 ,mem_credit_flag 
+0x6d 000218 call rfcomm_init 
+0x6e 000219 call init_lmp 
+0x6f 000220 call p_ui_init 
+0x70 000221 branch soft_reset + 9 
+:      000223 p_ui_init:
+0x71 000224 rtn wake 
+0x72 000225 branch ui_timer_init 
+:      000232 p_shutdown_radio:
+0x73 000233 branch p_shutdown_radio0 ,is_rx 
+0x74 000234 hjam 0xd4 ,0x955 
+0x75 000235 nop 4 
+0x76 000236 hjam 0xd2 ,0x955 
+0x77 000237 nop 4 
+0x78 000238 hjam 0xd1 ,0x955 
+0x79 000239 nop 4 
+0x7a 000240 fetch 1 ,mem_tx_power 
+0x7b 000241 beq tx_power_0db ,p_shutdown_radio_0db 
+0x7c 000242 beq tx_power_3db ,p_shutdown_radio_3db 
+0x7d 000243 beq tx_power_5db ,p_shutdown_radio_5db 
+0x7e 000244 beq tx_power_f3db ,p_shutdown_radio_f3db 
+0x7f 000245 beq tx_power_f5db ,p_shutdown_radio_f5db 
+0x80 000246 beq tx_power_pair ,p_shutdown_radio_pair 
+:      000247 p_shutdown_radio_5db:
+:      000248 p_shutdown_radio_0db:
+0x81 000249 hjam 0xd0 ,0x955 
+0x82 000250 hjam 0xe0 ,0x956 
+:      000251 p_shutdown_radio0:
+0x83 000252 force 0x08 ,radio_ctrl 
+0x84 000253 force 0 ,radio_ctrl 
+0x85 000254 disable is_rx 
+0x86 000255 disable is_tx 
+0x87 000256 pulse packet_end 
+0x88 000257 hjam 0x0 ,rfen_mdm 
+0x89 000258 hjam 0x0 ,rfen_tx 
+0x8a 000259 hjam 0x0 ,rfen_rx 
+0x8b 000260 hjam 0 ,rfen_sn 
+0x8c 000261 hjam 0x70 ,rfen_msc 
+0x8d 000262 fetch 1 ,rfen_adc 
+0x8e 000263 set1 0 ,pdata 
+0x8f 000264 store 1 ,rfen_adc 
+0x90 000265 rtn 
+:      000267 p_shutdown_radio_pair:
+:      000268 p_shutdown_radio_f5db:
+:      000269 p_shutdown_radio_f3db:
+:      000270 p_shutdown_radio_3db:
+0x91 000271 hjam 0xd0 ,0x955 
+0x92 000272 hjam 0xc0 ,0x956 
+0x93 000273 branch p_shutdown_radio0 
+:      000275 p_set_freq_tx:
+0x94 000276 storet 1 ,mem_last_freq 
+0x95 000277 call set_freq_tx_offset 
+0x96 000278 call rf_write_freq 
+0x97 000279 setarg param_pll_setup 
+0x98 000280 call sleep 
+:      000281 p_txon:
+0x99 000282 fetch 1 ,rfen_adc 
+0x9a 000283 set1 0 ,pdata 
+0x9b 000284 store 1 ,rfen_adc 
+0x9c 000285 branch txon + 1 
+:      000287 p_init_param:
+0x9d 000288 hjam 0x7c ,rfen_adc 
+0x9e 000289 rtn wake 
+0x9f 000290 setarg 0 
+0xa0 000291 store 2 ,mem_tx_len 
+0xa1 000292 rshift clkn_bt ,pdata 
+0xa2 000293 store 4 ,mem_last_clkn 
+0xa3 000294 rtn 
+:      000299 p_lpm_unconn_nossp:
+0xa4 000300 branch lpm_unconn_cont 
+:      000303 p_module_init:
+0xa5 000305 setarg p_module_process_bb_event 
+0xa6 000306 store 2 ,mem_cb_bb_event_process 
+0xa7 000308 setarg p_module_bb_event_timer 
+0xa8 000309 store 2 ,mem_cb_event_timer 
+0xa9 000311 setarg p_module_le_receive_data 
+0xaa 000312 store 2 ,mem_cb_att_write 
+0xab 000314 setarg p_module_lpm_lock 
+0xac 000315 store 2 ,mem_cb_check_wakelock 
+0xad 000317 setarg p_module_bt_conn_process 
+0xae 000318 store 2 ,mem_cb_bt_process 
+0xaf 000320 call module_lpm_uart_init 
+0xb0 000321 call module_gpio_init 
+0xb1 000322 call check_module_disabled 
+0xb2 000323 call module_hci_event_enter_standby_mode 
+0xb3 000325 branch p_hfp_clear_parms 
+:      000328 p_module_process_bb_event:
+0xb4 000329 copy regc ,pdata 
+0xb5 000330 beq bt_evt_bb_connected ,p_module_process_bb_conn 
+0xb6 000331 beq bt_evt_spp_disconnected ,p_module_process_spp_disconnected 
+0xb7 000332 beq bt_evt_bb_disconnected ,p_module_process_bb_event_disconned 
+0xb8 000333 beq bt_evt_setup_complete ,p_module_process_setup_complete 
+0xb9 000334 beq bt_evt_reconn_failed ,p_module_process_reconn_fail 
+0xba 000335 beq bt_evt_reconn_page_timeout ,p_module_process_page_time_out 
+0xbb 000336 beq bt_evt_linkkey_generate ,p_module_process_linkkey_generate 
+0xbc 000337 beq bt_evt_hfp_connected ,p_module_process_hfp_connected 
+0xbd 000338 beq bt_evt_hfp_start_dialing ,p_module_process_hfp_start_dialing 
+0xbe 000339 beq bt_evt_hfp_stop_dialing ,p_module_process_hfp_stop_dialing 
+0xbf 000341 beq bt_evt_le_connected ,p_module_process_le_conn 
+0xc0 000342 beq bt_evt_le_disconnected ,p_module_process_bb_even_le_disconn 
+0xc1 000344 beq bt_evt_store_nvram ,p_module_hci_event_store_device 
+0xc2 000345 branch module_process_bb_event + 1 
+:      000347 p_module_process_bb_conn:
+0xc3 000348 jam 0 ,mem_module_rfcomm_reconnect_count 
+0xc4 000349 call app_bt_stop_discovery 
+0xc5 000350 call app_bt_reconnect_cancel 
+0xc6 000351 branch module_process_bb_conn 
+:      000354 p_module_process_bb_event_disconned:
+0xc7 000355 call p_hfp_clear_parms 
+0xc8 000356 jam 0 ,mem_module_rfcomm_disconnect_count 
+0xc9 000357 call module_spp_clear_last_transmite_clock 
+0xca 000358 fetch 1 ,mem_flag_pairing_state 
+0xcb 000359 ncall module_hci_event_bt_pairing_fail ,blank 
+0xcc 000360 call p_module_start_discovery 
+0xcd 000364 fetch 2 ,mem_ui_state_map 
+0xce 000365 bbit0 ui_state_bt_spp_conn ,p_set_rfcomm_reconnect_count 
+0xcf 000367 set0 ui_state_bt_spp_conn ,pdata 
+0xd0 000368 store 2 ,mem_ui_state_map 
+0xd1 000369 branch module_hci_event_spp_disconnect 
+:      000371 p_set_rfcomm_reconnect_count:
+0xd2 000372 jam 20 ,mem_module_rfcomm_reconnect_count 
+0xd3 000373 rtn 
+:      000376 p_module_process_spp_disconnected:
+0xd4 000377 fetch 1 ,mem_rfcomm_lmp_dis_flag 
+0xd5 000378 ncall p_set_rfcomm_disconnect_count ,blank 
+0xd6 000381 rtn 
+:      000382 p_set_rfcomm_disconnect_count:
+0xd7 000383 jam 6 ,mem_module_rfcomm_disconnect_count 
+0xd8 000384 rtn 
+:      000386 p_module_process_setup_complete:
+0xd9 000387 call module_spp_clear_last_transmite_clock 
+0xda 000388 branch p_module_stop_discovery 
+:      000390 p_module_process_page_time_out:
+:      000391 p_module_process_reconn_fail:
+0xdb 000392 call p_module_start_discovery 
+0xdc 000393 branch p_module_hci_event_bt_reconn_fail 
+:      000397 p_module_hci_event_bt_reconn_fail:
+0xdd 000398 jam hci_event_bt_reconnect_fail ,mem_module_uart_opcode 
+0xde 000399 branch module_hci_event_enter_standby_mode_len0 
+:      000402 p_module_process_hfp_connected:
+0xdf 000403 jam hci_event_hfp_connected ,mem_module_uart_opcode 
+0xe0 000404 branch module_hci_event_enter_standby_mode_len0 
+:      000406 p_module_process_hfp_start_dialing:
+0xe1 000407 jam hci_event_hfp_start_dialing ,mem_module_uart_opcode 
+0xe2 000408 fetch 1 ,mem_phone_num_len 
+0xe3 000409 call module_hci_prepare_tx 
+0xe4 000410 fetchr loopcnt ,1 ,mem_phone_num_len 
+0xe5 000411 arg mem_phone_number ,contru 
+0xe6 000412 call copy_tx_bytes 
+0xe7 000413 branch uartd_send 
+:      000415 p_module_process_hfp_stop_dialing:
+0xe8 000416 jam hci_event_hfp_stop_dialing ,mem_module_uart_opcode 
+0xe9 000417 branch module_hci_event_enter_standby_mode_len0 
+:      000420 p_module_process_le_conn:
+0xea 000421 call module_clear_recv_confirm_flag 
+0xeb 000422 call p_module_stop_adv 
+0xec 000423 fetch 1 ,mem_module_le_lpm_mult 
+0xed 000424 store 1 ,mem_lpm_mult 
+0xee 000425 branch module_hci_event_le_connect 
+:      000427 p_module_stop_adv:
+0xef 000428 fetch 1 ,mem_module_state 
+0xf0 000429 isolate1 moudle_state_ble_bit ,pdata 
+0xf1 000430 call app_ble_stop_adv ,true 
+0xf2 000431 rtn 
+:      000433 p_module_stop_discovery:
+0xf3 000434 fetch 1 ,mem_module_state 
+0xf4 000435 isolate1 moudle_state_bt_bit ,pdata 
+0xf5 000436 call app_bt_stop_discovery ,true 
+0xf6 000437 rtn 
+:      000439 p_module_start_discovery:
+0xf7 000440 fetch 1 ,mem_module_state 
+0xf8 000441 isolate1 moudle_state_bt_bit ,pdata 
+0xf9 000442 call app_bt_start_discovery ,true 
+0xfa 000443 rtn 
+:      000445 p_module_process_bb_even_le_disconn:
+0xfb 000446 call le_clr_config_more_data 
+0xfc 000447 call moudle_start_adv_by_command 
+0xfd 000448 branch module_hci_event_le_disconnect 
+:      000453 p_module_hci_event_store_device:
+0xfe 000454 rtn 
+:      000456 p_module_process_linkkey_generate:
+:      000457 p_module_hci_event_linkkey_generate:
+0xff 000458 jam hci_event_bt_enc_info ,mem_module_uart_opcode 
+0x100 000459 setarg 28 
+0x101 000460 call module_hci_prepare_tx 
+0x102 000461 fetch 6 ,mem_lap 
+0x103 000462 istore 6 ,contwu 
+0x104 000463 fetch 6 ,mem_plap 
+0x105 000464 istore 6 ,contwu 
+0x106 000465 arg mem_link_key ,contr 
+0x107 000466 arg 16 ,loopcnt 
+0x108 000467 call uart_copy_tx_bytes 
+0x109 000468 branch uartd_send 
+:      000474 p_module_bb_event_timer:
+0x10a 000475 call p_module_mcu_set_bt_wake_timer 
+0x10b 000476 call p_module_rfcomm_disconnect_timer 
+0x10c 000477 call p_module_rfcomm_reconnect_timer 
+0x10d 000478 branch module_bb_event_timer 
+:      000480 p_module_rfcomm_reconnect_timer:
+0x10e 000481 arg mem_module_rfcomm_reconnect_count ,regc 
+0x10f 000482 arg app_bt_start_reconnect ,regb 
+0x110 000483 branch timer_single_step 
+:      000485 p_module_rfcomm_disconnect_timer:
+0x111 000486 fetch 1 ,mem_module_rfcomm_disconnect_count 
+0x112 000487 rtn blank 
+0x113 000488 increase -1 ,pdata 
+0x114 000489 store 1 ,mem_module_rfcomm_disconnect_count 
+0x115 000490 nrtn blank 
+0x116 000491 fetch 2 ,mem_ui_state_map 
+0x117 000492 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x118 000493 rtn 
+:      000495 p_module_mcu_set_bt_wake_timer:
+0x119 000496 fetch 4 ,mem_mcu_set_bt_wake_timer 
+0x11a 000497 rtn blank 
+0x11b 000498 increase -1 ,pdata 
+0x11c 000499 store 4 ,mem_mcu_set_bt_wake_timer 
+0x11d 000500 nrtn blank 
+0x11e 000502 branch p_wake_m0 
+:      000505 p_module_le_receive_data:
+0x11f 000506 call p_module_check_ble_encrypt_state 
+0x120 000507 rtn user 
+0x121 000508 copy rega ,pdata 
+0x122 000509 store 2 ,mem_module_le_rx_data_address 
+0x123 000510 call p_check_ble_40_or_42 
+0x124 000512 store 1 ,mem_module_le_rx_data_len 
+0x125 000513 fetcht 2 ,mem_le_att_handle 
+0x126 000514 storet 2 ,mem_module_le_rx_data_handle 
+0x127 000516 call le_att_get_handle_info 
+0x128 000517 nbranch assert ,blank 
+0x129 000518 fetch 1 ,mem_le_cur_uuid_length 
+0x12a 000519 bne 0x02 ,module_hci_event_receive_le_data 
+0x12b 000525 branch module_hci_event_receive_le_data 
+:      000527 p_check_ble_40_or_42:
+0x12c 000528 fetch 1 ,mem_ble_dle_enable 
+0x12d 000529 nbranch p_check_ble_40 ,blank 
+:      000530 p_check_ble_42:
+0x12e 000531 copy loopcnt ,pdata 
+0x12f 000532 rtn 
+:      000533 p_check_ble_40:
+0x130 000534 copy regb ,pdata 
+0x131 000535 rtn 
+:      000538 p_module_lpm_lock:
+0x132 000539 call p_le_check_complete_packet 
+0x133 000540 nbranch p_app_get_lpm_wake_lock ,user 
+0x134 000551 fetch 1 ,ipc_hold_bt 
+0x135 000552 beq 1 ,p_app_get_lpm_wake_lock 
+0x136 000553 fetch 1 ,mem_le_pairing_state 
+0x137 000554 bne flag_le_pairing_null ,p_module_lpm_lock_check_pairing 
+0x138 000555 branch app_put_lpm_wake_lock 
+:      000556 p_module_lpm_lock_check_pairing:
+0x139 000557 beq flag_le_pairing_end ,app_put_lpm_wake_lock 
+0x13a 000558 branch p_app_get_lpm_wake_lock 
+:      000560 p_app_get_lpm_wake_lock:
+0x13b 000562 call p_enable_chgpump 
+0x13c 000563 call wake_up_m0 
+0x13d 000564 branch app_get_lpm_wake_lock 
+:      000566 p_module_bt_conn_process:
+0x13e 000567 call p_module_spp_enter_sniff 
+0x13f 000568 branch module_control_air_flow 
+:      000570 p_module_spp_enter_sniff:
+0x140 000572 branch module_spp_enter_sniff 
+:      000574 p_module_hci_cmd_control:
+0x141 000575 fetch 1 ,mem_module_uart_opcode 
+0x142 000576 beq hci_cmd_sleep ,p_module_hci_cmd_enter_sleep 
+0x143 000577 beq hci_cmd_set_pairing_req ,p_module_hci_cmd_set_pairing_mode 
+0x144 000578 beq hci_cmd_delete_customize_service ,module_hci_cmd_delete_customize_service 
+0x145 000579 beq hci_cmd_add_service_uuid ,module_hci_cmd_add_service_uuid 
+0x146 000580 beq hci_cmd_add_characteristic_uuid ,module_hci_cmd_add_characteristic_uuid 
+0x147 000581 beq hci_cmd_set_cod ,module_hci_cmd_le_set_adv_data_set_cod 
+0x148 000582 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+0x149 000583 beq hci_test_cmd_close_lpm ,p_module_hci_test_cmde_close_lpm 
+0x14a 000584 beq hci_cmd_mcu_set_bt_wake_timer ,p_module_hci_mcu_set_bt_wake_timer 
+0x14b 000586 beq hci_cmd_creat_bt_reconnect ,p_moudle_hci_cmd_creat_bt_reconnect 
+0x14c 000587 beq hci_cmd_set_visibility_req ,p_module_hci_cmd_set_visibility 
+0x14d 000588 branch module_hci_cmd_control + 2 
+:      000592 p_module_hci_cmd_set_visibility:
+0x14e 000593 fetch 1 ,mem_module_uart_len 
+0x14f 000594 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x150 000595 copy rega ,contru 
+0x151 000596 call module_hci_event_receive_valid_cmd 
+0x152 000597 ifetcht 1 ,contru 
+0x153 000598 storet 1 ,mem_module_bluetooth_stauts_by_command 
+:      000602 p_module_start_adv_discovery_by_command:
+0x154 000603 fetch 1 ,mem_module_state 
+0x155 000604 isolate1 moudle_state_bt_bit ,pdata 
+0x156 000605 nbranch p_moudle_start_adv_by_command ,true 
+0x157 000606 fetch 2 ,mem_ui_state_map 
+0x158 000607 bbit1 ui_state_bt_connected ,p_moudle_start_adv_by_command 
+0x159 000609 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x15a 000610 and temp ,0x03 ,pdata 
+0x15b 000611 store 1 ,mem_scan_mode 
+:      000612 p_moudle_start_adv_by_command:
+0x15c 000613 fetch 1 ,mem_module_state 
+0x15d 000614 isolate1 moudle_state_ble_bit ,pdata 
+0x15e 000615 nrtn true 
+0x15f 000616 fetch 2 ,mem_ui_state_map 
+0x160 000617 rtnbit1 ui_state_ble_connected 
+0x161 000618 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x162 000619 isolate1 2 ,temp 
+0x163 000620 branch app_ble_start_adv ,true 
+0x164 000621 branch app_ble_stop_adv 
+:      000624 p_module_hci_test_cmde_close_lpm:
+0x165 000626 ifetch 1 ,contru 
+0x166 000627 store 1 ,mem_lpm_mode 
+0x167 000630 rtn 
+:      000633 p_module_hci_cmd_set_pairing_mode:
+0x168 000634 copy rega ,contru 
+0x169 000635 ifetch 1 ,contru 
+0x16a 000636 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x16b 000637 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x16c 000638 beq pairing_passkey ,module_hci_pairing_passkey 
+0x16d 000639 beq pairing_confirm ,p_module_hci_pairing_numeric_comparison 
+0x16e 000640 branch module_hci_event_receive_invalid_cmd 
+:      000642 p_module_hci_pairing_numeric_comparison:
+0x16f 000643 setarg 0x000001 
+0x170 000644 branch module_hci_sspairing_mode 
+:      000646 module_hci_cmd_delete_customize_service:
+0x171 000647 arg 0x000C ,temp 
+0x172 000648 call le_att_get_handle_ptr2 
+0x173 000649 add contr ,-2 ,contw 
+0x174 000650 setarg 0x0000 
+0x175 000651 istore 2 ,contw 
+0x176 000652 branch module_hci_event_receive_valid_cmd 
+:      000654 module_hci_cmd_add_service_uuid:
+0x177 000655 call module_hci_cmd_add_service_uuid_set_uuid 
+0x178 000656 call uart_copy_rx_bytes_len_data 
+0x179 000657 setarg 0x0000 
+0x17a 000658 istore 2 ,contw 
+0x17b 000659 branch module_hci_event_uuid_handle 
+:      000661 module_hci_cmd_add_characteristic_uuid:
+0x17c 000662 ifetch 1 ,contru 
+0x17d 000663 call module_hci_cmd_add_characteristic_uuid_set_handle 
+0x17e 000664 call module_hci_cmd_add_characteristic_uuid_set_uuid 
+0x17f 000665 branch module_hci_event_uuid_handle 
+:      000667 module_hci_cmd_add_service_uuid_set_uuid:
+0x180 000668 call le_att_creat_new_handle 
+0x181 000669 setarg 0x280002 
+0x182 000670 istore 3 ,contw 
+0x183 000671 rtn 
+:      000673 module_hci_cmd_add_characteristic_uuid_set_handle:
+0x184 000674 store 1 ,mem_pdatatemp 
+0x185 000675 call le_att_creat_new_handle 
+0x186 000676 setarg 0x01280302 
+0x187 000677 istore 4 ,contw 
+0x188 000678 fetch 1 ,mem_pdatatemp 
+0x189 000679 istore 3 ,contw 
+0x18a 000680 rtn 
+:      000682 module_hci_cmd_add_characteristic_uuid_set_uuid:
+0x18b 000683 call le_att_creat_new_handle 
+0x18c 000684 call uart_copy_rx_bytes_len_data 
+0x18d 000685 call uart_copy_rx_bytes_len_data 
+0x18e 000686 setarg 0 
+0x18f 000687 istore 2 ,contw 
+0x190 000688 increase -1 ,temp 
+0x191 000689 call le_att_get_handle_ptr2 
+0x192 000690 add contr ,4 ,contr 
+0x193 000691 ifetch 1 ,contr 
+0x194 000692 bbit1 bit_characteristic_notify ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+0x195 000693 bbit1 bit_characteristic_indicate ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+0x196 000694 increase 1 ,temp 
+0x197 000695 rtn 
+:      000697 module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+0x198 000698 call le_att_creat_new_handle 
+0x199 000699 setarg 0x02290202 
+0x19a 000700 istore 8 ,contw 
+0x19b 000701 increase -1 ,temp 
+0x19c 000702 rtn 
+:      000705 uart_copy_rx_bytes_len_data:
+0x19d 000706 ifetch 1 ,contru 
+0x19e 000707 copy pdata ,loopcnt 
+0x19f 000708 istore 1 ,contw 
+0x1a0 000709 branch uart_copy_rx_bytes 
+:      000712 le_att_creat_new_handle:
+0x1a1 000713 call le_att_get_last_handle 
+0x1a2 000714 istoret 2 ,contw 
+0x1a3 000715 rtn 
+:      000719 le_att_get_last_handle:
+0x1a4 000720 fetch 2 ,mem_ui_le_uuid_table 
+0x1a5 000721 iforce contr 
+:      000722 le_att_get_last_handle_loop:
+0x1a6 000723 ifetch 2 ,contr 
+0x1a7 000724 rtn blank 
+0x1a8 000725 add pdata ,1 ,temp 
+0x1a9 000726 ifetch 1 ,contr 
+0x1aa 000727 iadd contr ,contr 
+0x1ab 000728 ifetch 1 ,contr 
+0x1ac 000729 iadd contr ,contr 
+0x1ad 000730 copy contr ,contw 
+0x1ae 000731 branch le_att_get_last_handle_loop 
+:      000735 module_hci_event_uuid_handle:
+0x1af 000736 storet 2 ,mem_temp 
+0x1b0 000737 jam hci_event_uuid_handle ,mem_module_uart_opcode 
+0x1b1 000738 setarg 2 
+0x1b2 000739 call module_hci_prepare_tx 
+0x1b3 000740 fetcht 2 ,mem_temp 
+0x1b4 000741 istoret 2 ,contwu 
+0x1b5 000742 branch uartd_send 
+:      000744 module_hci_cmd_le_set_adv_data_set_cod:
+0x1b6 000745 ifetch 3 ,contru 
+0x1b7 000746 store 3 ,mem_class 
+0x1b8 000747 branch module_hci_event_receive_valid_cmd 
+:      000750 p_module_hci_cmd_enter_sleep:
+0x1b9 000752 branch app_enter_hibernate 
+:      000754 module_hci_cmd_set_wake_gpio:
+0x1ba 000755 ifetch 1 ,contru 
+0x1bb 000758 fetcht 4 ,mem_lpm_xtalcnt 
+0x1bc 000759 setflag blank ,16 ,temp 
+0x1bd 000760 setflag blank ,24 ,temp 
+0x1be 000761 storet 4 ,mem_lpm_xtalcnt 
+0x1bf 000764 fetcht 1 ,mem_lpm_hibernate_switch 
+0x1c0 000765 setflag blank ,0 ,temp 
+0x1c1 000766 storet 1 ,mem_lpm_hibernate_switch 
+0x1c2 000768 ifetch 6 ,contru 
+0x1c3 000769 store 6 ,mem_gpio_wakeup 
+0x1c4 000770 store 6 ,mem_gpio_wakeup_backup 
+0x1c5 000771 call lpm_write_gpio_wakeup 
+0x1c6 000773 branch module_hci_event_receive_valid_cmd 
+:      000775 p_module_hci_mcu_set_bt_wake_timer:
+0x1c7 000776 ifetch 4 ,contru 
+0x1c8 000777 store 4 ,mem_mcu_set_bt_wake_timer 
+0x1c9 000778 branch module_hci_event_receive_valid_cmd 
+:      000781 p_moudle_hci_cmd_creat_bt_reconnect:
+0x1ca 000782 ifetch 6 ,contru 
+0x1cb 000783 store 6 ,mem_lap 
+0x1cc 000784 ifetch 6 ,contru 
+0x1cd 000785 store 6 ,mem_hci_plap 
+0x1ce 000786 arg mem_link_key ,contw 
+0x1cf 000787 arg 16 ,loopcnt 
+0x1d0 000788 call uart_copy_rx_bytes 
+0x1d1 000789 call check_link_key_load 
+0x1d2 000792 call app_bt_start_reconnect 
+0x1d3 000793 branch module_hci_event_receive_valid_cmd 
+:      000797 p_module_hci_cmd_transmit_le_notify:
+0x1d4 000798 fetch 1 ,mem_module_flag 
+0x1d5 000799 bbit1 module_receive_complete_prepare_write_req ,p_le_send_att_prepare_write_response 
+0x1d6 000800 fetch 1 ,mem_module_flag 
+0x1d7 000801 rtnbit1 module_recv_confirm 
+0x1d8 000802 fetch 2 ,mem_le_local_mtu 
+0x1d9 000803 call not_greater_than 
+0x1da 000804 copy pdata ,temp 
+0x1db 000805 add temp ,-3 ,pdata 
+0x1dc 000806 arg 200 ,temp 
+0x1dd 000807 call not_greater_than 
+0x1de 000808 fetcht 1 ,mem_module_hci_notify_len 
+0x1df 000809 call not_greater_than 
+0x1e0 000810 copy pdata ,rega 
+0x1e1 000811 copy temp ,pdata 
+0x1e2 000812 isub rega ,pdata 
+0x1e3 000813 store 1 ,mem_module_hci_notify_len 
+0x1e4 000814 fetcht 2 ,mem_module_hci_notify_handle 
+0x1e5 000815 increase -1 ,temp 
+0x1e6 000816 call le_att_get_handle_ptr2 
+0x1e7 000817 branch p_module_hci_cmd_transmit_handle_error ,blank 
+0x1e8 000818 ifetcht 4 ,contr 
+0x1e9 000819 setarg 0x01280302 
+0x1ea 000820 isub temp ,null 
+0x1eb 000821 nbranch p_module_hci_cmd_transmit_handle_error ,zero 
+0x1ec 000822 ifetch 1 ,contr 
+0x1ed 000823 bbit1 bit_characteristic_indicate ,p_module_hci_cmd_transmit_le_indicate 
+0x1ee 000824 bbit1 bit_characteristic_notify ,module_hci_cmd_transmit_le_notify + 13 
+0x1ef 000825 branch p_module_hci_cmd_transmit_handle_error 
+:      000827 p_module_hci_cmd_transmit_le_indicate:
+0x1f0 000828 call module_set_recv_confirm_flag 
+0x1f1 000829 fetcht 2 ,mem_module_hci_notify_handle 
+0x1f2 000830 call le_att_malloc_tx_indication 
+0x1f3 000831 branch module_hci_cmd_transmit_le_notify + 15 
+:      000833 p_module_hci_cmd_transmit_handle_error:
+0x1f4 000834 jam 0 ,mem_module_hci_notify_len 
+0x1f5 000835 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x1f6 000836 call module_clear_le_tx_data_flag 
+0x1f7 000837 branch module_hci_event_receive_invalid_cmd 
+:      000839 p_le_init_conn:
+0x1f8 000840 fetch 1 ,mem_ble_dle_enable 
+0x1f9 000841 nbranch le_init_conn + 1 ,blank 
+0x1fa 000843 call le_init_conn + 1 
+0x1fb 000844 jam 1 ,mem_le_txheader_temp 
+0x1fc 000845 jam 0 ,mem_le_txlen_temp 
+0x1fd 000846 setarg 0 
+0x1fe 000847 store 8 ,mem_le_buff_len 
+0x1ff 000848 setarg 27 
+0x200 000849 store 2 ,mem_module_master_rx_max 
+0x201 000850 rtn 
+:      000855 p_le_receive_skip:
+0x202 000856 call save_rssi 
+0x203 000857 enable enable_white 
+0x204 000858 enable enable_crc 
+0x205 000859 parse demod ,bucket ,8 
+0x206 000860 rshift3 pwindow ,pdata 
+0x207 000861 store 1 ,mem_le_rxbuf 
+0x208 000862 parse demod ,bucket ,8 
+0x209 000863 rshift3 pwindow ,pdata 
+0x20a 000864 istore 1 ,contw 
+0x20b 000865 copy pdata ,loopcnt 
+0x20c 000866 branch lerx_nopayload ,blank 
+0x20d 000867 branch lerx_loop 
+:      000872 p_le_transmit_receive_sifs:
+0x20e 000873 call le_transmit 
+0x20f 000874 call set_sync_on 
+0x210 000875 fetcht 1 ,mem_last_freq 
+0x211 000876 call set_freq_rx 
+0x212 000877 nop 1500 
+0x213 000878 call rf_rx_enable 
+0x214 000879 enable swfine 
+0x215 000880 arg 5500 ,timeup 
+0x216 000881 branch le_receive_rxon 
+:      000883 p_le_transmit:
+0x217 000884 call le_prep 
+0x218 000885 call p_letx_setfreq 
+0x219 000886 branch le_transmit0 
+:      000888 p_letx_setfreq:
+0x21a 000889 branch p_txon ,match 
+0x21b 000890 branch letx_setfreq + 1 
+:      000892 p_le_transmit0:
+0x21c 000893 fetch 1 ,mem_ble_dle_enable 
+0x21d 000894 nbranch le_transmit0 + 12 ,blank 
+0x21e 000896 fetch 1 ,mem_le_txheader_temp 
+0x21f 000897 inject mod ,8 
+0x220 000898 ifetch 1 ,contr 
+0x221 000899 copy pdata ,loopcnt 
+0x222 000900 inject mod ,8 
+0x223 000901 branch letr_nopayload ,zero 
+0x224 000902 branch letr_loop 
+:      000904 p_le_send_adv_ind:
+0x225 000905 fetch 1 ,mem_ble_dle_enable 
+0x226 000906 nbranch le_send_adv_ind + 1 ,blank 
+0x227 000908 fetch 1 ,mem_le_adv_type 
+0x228 000909 beq adv_direct_ind ,le_send_adv_direct_ind 
+0x229 000910 fetch 1 ,mem_le_adv_own_addr_type 
+0x22a 000911 lshift4 pdata ,pdata 
+0x22b 000912 lshift2 pdata ,pdata 
+0x22c 000913 store 1 ,mem_le_txheader_temp 
+0x22d 000914 fetcht 1 ,mem_le_adv_data_len 
+0x22e 000915 add temp ,6 ,pdata 
+0x22f 000916 store 1 ,mem_le_txlen_temp 
+0x230 000917 fetch 6 ,mem_le_lap 
+0x231 000918 store 6 ,mem_le_txpayload_temp 
+0x232 000919 copy temp ,loopcnt 
+0x233 000920 arg mem_le_adv_data ,contr 
+0x234 000921 call memcpy_fast 
+0x235 000922 branch le_send_adv_transmit 
+:      000925 p_le_send_scan_response:
+0x236 000926 fetch 1 ,mem_ble_dle_enable 
+0x237 000927 nbranch le_send_scan_response + 1 ,blank 
+0x238 000929 arg scan_rsp ,temp 
+0x239 000930 fetch 1 ,mem_le_adv_own_addr_type 
+0x23a 000931 nsetflag blank ,le_sender_addr_bit ,temp 
+0x23b 000932 storet 1 ,mem_le_txheader_temp 
+0x23c 000933 fetcht 1 ,mem_le_scan_data_len 
+0x23d 000934 add temp ,6 ,pdata 
+0x23e 000935 store 1 ,mem_le_txlen_temp 
+0x23f 000936 fetch 6 ,mem_le_lap 
+0x240 000937 store 6 ,mem_le_txpayload_temp 
+0x241 000938 arg mem_le_scan_data ,contr 
+0x242 000939 copy temp ,loopcnt 
+0x243 000940 call memcpy_fast 
+0x244 000941 call le_transmit_norx 
+0x245 000942 branch le_adv_not_match 
+:      000948 p_le_acknowledge:
+0x246 000949 call le_supervision_flush 
+0x247 000950 call le_check_wak 
+0x248 000951 fetch 1 ,mem_le_rxbuf 
+0x249 000952 isolate1 md ,pdata 
+0x24a 000953 setflag true ,mark_ble_rx_md ,mark 
+0x24b 000954 rshift pdata ,pdata 
+0x24c 000955 ixor temp ,pdata 
+0x24d 000956 isolate1 nesn ,pdata 
+0x24e 000957 setflag true ,mark_old_packet ,mark 
+0x24f 000958 rtnmark1 mark_old_packet 
+0x250 000959 fetch 1 ,mem_le_rxbuf + 1 
+0x251 000960 branch p_le_ack_unenc ,blank 
+0x252 000961 fetch 1 ,mem_le_state 
+0x253 000962 bbit0 lestate_encryption ,p_le_ack_unenc 
+0x254 000963 call load_sk 
+0x255 000964 call le_decrypt 
+0x256 000965 nsetflag blank ,mark_old_packet ,mark 
+0x257 000966 nrtn blank 
+:      000967 p_le_ack_unenc:
+0x258 000968 fetcht 1 ,mem_le_arq 
+0x259 000969 setflip nesn ,temp 
+0x25a 000970 storet 1 ,mem_le_arq 
+0x25b 000972 fetch 1 ,mem_ble_dle_enable 
+0x25c 000973 nrtn blank 
+0x25d 000975 branch p_le_parse_writing_attribute 
+:      000977 p_le_parse_writing_attribute:
+0x25e 000978 fetch 1 ,mem_le_rxbuf + 1 
+0x25f 000979 rtn blank 
+0x260 000980 fetch 1 ,mem_le_rxbuf 
+0x261 000981 compare 1 ,pdata ,3 
+0x262 000982 branch p_le_parse_writing_attribute_continue ,true 
+0x263 000983 compare 2 ,pdata ,3 
+0x264 000984 branch p_le_parse_writing_attribute_start ,true 
+0x265 000985 rtn 
+:      000987 p_le_parse_writing_attribute_start:
+0x266 000988 fetch 2 ,mem_le_rxbuf + 4 
+0x267 000989 rtnne le_l2cap_cid_att 
+0x268 000990 ifetch 3 ,contr 
+0x269 000991 store 3 ,mem_le_att_opcode 
+0x26a 000992 set1 mark_old_packet ,mark 
+0x26b 000993 beq attop_write_request ,p_le_parse_att_write_request 
+0x26c 000994 beq attop_write_command ,p_le_parse_att_write_command 
+0x26d 000995 beq attop_prepare_write_request ,p_le_parse_att_prepare_write_request 
+0x26e 000996 beq attop_execute_write_request ,le_parse_att_execute_write_request 
+0x26f 000997 beq attop_exchange_mtu_request ,p_le_parse_att_exchange_mtu_request 
+0x270 000998 beq attop_handle_value_confirmation ,p_le_parse_handle_value_confirmation 
+0x271 000999 set0 mark_old_packet ,mark 
+0x272 001000 rtn 
+:      001002 p_le_parse_att_prepare_write_request:
+0x273 001003 setarg mem_module_prepare_write_request_packet 
+0x274 001004 store 2 ,mem_module_prepare_write_request_contw 
+0x275 001005 call p_le_long_packet_patch 
+0x276 001006 increase -2 ,loopcnt 
+0x277 001007 arg mem_le_rxbuf + 11 ,rega 
+0x278 001008 call le_writeatt_cb 
+0x279 001009 branch p_le_parse_att_prepare_write_request_finish 
+:      001012 p_le_parse_att_write_request:
+0x27a 001013 call p_le_parse_att_write_command 
+0x27b 001014 branch p_le_send_att_write_response_check_auth 
+:      001017 p_le_parse_att_write_command:
+0x27c 001018 call p_le_long_packet_patch 
+0x27d 001019 arg mem_le_rxbuf + 9 ,rega 
+0x27e 001020 branch le_writeatt_cb 
+:      001023 p_le_long_packet_patch:
+0x27f 001024 fetch 1 ,mem_le_rxbuf + 1 
+0x280 001025 add pdata ,-7 ,loopcnt 
+0x281 001026 increase -4 ,pdata 
+0x282 001027 store 2 ,mem_le_buff_len 
+0x283 001028 ifetcht 2 ,contr 
+0x284 001029 storet 2 ,mem_le_buff_len_all 
+0x285 001030 rtn 
+:      001033 p_le_parse_writing_attribute_continue:
+0x286 001034 set1 mark_old_packet ,mark 
+0x287 001035 call p_parse_l2cap_continue_common 
+0x288 001036 fetch 1 ,mem_le_att_opcode 
+0x289 001037 beq attop_write_request ,p_parse_l2cap_continue_write_request 
+0x28a 001038 beq attop_prepare_write_request ,p_parse_l2cap_continue_prepare_write_request 
+0x28b 001039 rtneq attop_write_command 
+0x28c 001040 set0 mark_old_packet ,mark 
+0x28d 001041 rtn 
+:      001043 p_parse_l2cap_continue_write_common:
+:      001044 p_parse_l2cap_continue_common:
+0x28e 001045 fetch 1 ,mem_le_rxbuf + 1 
+0x28f 001046 fetcht 2 ,mem_le_buff_len 
+0x290 001047 iadd temp ,temp 
+0x291 001048 storet 2 ,mem_le_buff_len 
+0x292 001049 copy pdata ,loopcnt 
+0x293 001050 arg mem_le_rxbuf + 2 ,rega 
+0x294 001051 branch le_writeatt_cb 
+:      001053 p_parse_l2cap_continue_prepare_write_request:
+0x295 001054 branch p_le_parse_att_prepare_write_request_finish 
+:      001056 p_parse_l2cap_continue_write_request:
+:      001057 p_le_send_att_write_response_check_auth:
+0x296 001058 call p_le_check_complete_packet 
+0x297 001059 nrtn user 
+0x298 001060 branch p_le_send_att_write_response_check_auth0 
+:      001063 p_le_check_complete_packet:
+0x299 001064 call disable_user 
+0x29a 001065 fetch 2 ,mem_le_buff_len_all 
+0x29b 001066 fetcht 2 ,mem_le_buff_len 
+0x29c 001067 isub temp ,null 
+0x29d 001068 nrtn zero 
+0x29e 001069 branch enable_user 
+:      001071 p_le_parse_att_prepare_write_request_finish:
+0x29f 001072 fetch 2 ,mem_module_prepare_write_request_contw 
+0x2a0 001073 copy pdata ,contw 
+0x2a1 001075 fetch 1 ,mem_le_rxbuf + 1 
+0x2a2 001076 copy pdata ,loopcnt 
+0x2a3 001077 call memcpy 
+0x2a4 001078 copy contw ,pdata 
+0x2a5 001079 store 2 ,mem_module_prepare_write_request_contw 
+0x2a6 001081 call p_le_check_complete_packet 
+0x2a7 001082 nrtn user 
+0x2a8 001083 arg module_receive_complete_prepare_write_req ,queue 
+0x2a9 001084 call module_set_state 
+0x2aa 001085 branch p_le_send_att_prepare_write_response 
+:      001088 p_le_send_att_prepare_write_response:
+0x2ab 001089 call le_fifo_check_empty 
+0x2ac 001090 nrtn blank 
+0x2ad 001091 jam attop_prepare_write_response ,mem_module_prepare_write_request_opcode 
+0x2ae 001092 setarg mem_module_prepare_write_request_packet 
+0x2af 001093 store 2 ,mem_module_prepare_write_request_contr 
+0x2b0 001094 fetcht 2 ,mem_module_prepare_write_request_pdu_length 
+0x2b1 001095 increase 4 ,temp 
+0x2b2 001096 setarg le_baseband_max_buffer 
+0x2b3 001097 call not_greater_than 
+0x2b4 001098 add pdata ,-4 ,regb 
+0x2b5 001099 force llid_start ,type 
+:      001100 p_le_send_att_prepare_write_response_continue:
+0x2b6 001101 copy pdata ,rega 
+0x2b7 001102 call le_fifo_malloc_tx + 2 
+0x2b8 001103 fetch 2 ,mem_module_prepare_write_request_contr 
+0x2b9 001104 copy pdata ,contr 
+0x2ba 001105 copy rega ,loopcnt 
+0x2bb 001106 call memcpy_fast 
+0x2bc 001107 copy contr ,pdata 
+0x2bd 001108 store 2 ,mem_module_prepare_write_request_contr 
+0x2be 001109 fetch 2 ,mem_module_prepare_write_request_pdu_length 
+0x2bf 001110 isub regb ,pdata 
+0x2c0 001111 store 2 ,mem_module_prepare_write_request_pdu_length 
+0x2c1 001112 branch p_le_send_att_prepare_write_response_ending ,blank 
+0x2c2 001113 arg le_baseband_max_buffer ,temp 
+0x2c3 001114 call not_greater_than 
+0x2c4 001115 copy pdata ,regb 
+0x2c5 001116 force llid_continue ,type 
+0x2c6 001117 branch p_le_send_att_prepare_write_response_continue 
+:      001119 p_le_send_att_prepare_write_response_ending:
+0x2c7 001120 setarg 0 
+0x2c8 001121 store 2 ,mem_module_prepare_write_request_contw 
+0x2c9 001122 arg module_receive_complete_prepare_write_req ,queue 
+0x2ca 001123 branch module_clr_state 
+:      001126 p_le_check_wak:
+0x2cb 001127 fetch 1 ,mem_ble_dle_enable 
+0x2cc 001128 nbranch le_check_wak + 1 ,blank 
+0x2cd 001130 fetcht 1 ,mem_le_arq 
+0x2ce 001131 isolate0 wak ,temp 
+0x2cf 001132 rtn true 
+0x2d0 001133 fetch 1 ,mem_le_rxbuf 
+0x2d1 001134 lshift pdata ,pdata 
+0x2d2 001135 ixor temp ,pdata 
+0x2d3 001136 rtnbit0 sn 
+0x2d4 001137 set0 wak ,temp 
+0x2d5 001138 setflip sn ,temp 
+0x2d6 001139 storet 1 ,mem_le_arq 
+0x2d7 001140 compare 3 ,temp ,3 
+0x2d8 001141 nrtn true 
+0x2d9 001142 fetch 1 ,mem_le_txpayload_temp 
+0x2da 001143 beq ll_start_enc_req ,le_set_enc 
+0x2db 001144 fetch 1 ,mem_le_enc_state 
+0x2dc 001145 beq flag_le_enc_pause ,le_clear_enc 
+0x2dd 001146 rtn 
+:      001148 p_le_prepare_tx:
+0x2de 001149 fetch 1 ,mem_ble_dle_enable 
+0x2df 001150 nbranch le_prepare_tx + 1 ,blank 
+0x2e0 001152 fetch 1 ,mem_le_arq 
+0x2e1 001153 rtnbit1 wak 
+0x2e2 001154 call le_check_tx_md 
+0x2e3 001155 call le_fifo_get_first_tx_ptr 
+0x2e4 001156 branch le_send_empty ,blank 
+0x2e5 001157 ifetch 1 ,contr 
+0x2e6 001158 ifetcht 1 ,contr 
+0x2e7 001159 copy temp ,rega 
+0x2e8 001160 isub rega ,pdata 
+0x2e9 001161 call p_le_get_master_rx_max 
+0x2ea 001162 call not_greater_than 
+0x2eb 001163 copy pdata ,temp 
+0x2ec 001164 ifetch 1 ,contr 
+0x2ed 001165 copy pdata ,type 
+0x2ee 001166 copy rega ,pdata 
+0x2ef 001167 iadd contr ,contr 
+0x2f0 001168 arg mem_le_txpayload_temp ,contw 
+0x2f1 001169 copy temp ,loopcnt 
+0x2f2 001170 call memcpy_fast 
+0x2f3 001171 call le_update_tx_type 
+0x2f4 001172 call le_send_packet 
+0x2f5 001174 call le_fifo_get_first_tx_ptr 
+0x2f6 001175 ifetch 1 ,contr 
+0x2f7 001176 copy pdata ,rega 
+0x2f8 001177 copy contr ,regc 
+0x2f9 001178 ifetcht 1 ,contr 
+0x2fa 001179 copy temp ,regb 
+0x2fb 001180 isub regb ,pdata 
+0x2fc 001181 call p_le_get_master_rx_max 
+0x2fd 001182 call not_greater_than 
+0x2fe 001183 iadd regb ,pdata 
+0x2ff 001184 istore 1 ,regc 
+0x300 001185 isub rega ,null 
+0x301 001186 nrtn zero 
+0x302 001187 branch le_fifo_release_first_node 
+:      001190 p_le_get_master_rx_max:
+0x303 001191 copy contr ,contw 
+0x304 001192 fetcht 2 ,mem_module_master_rx_max 
+0x305 001193 copy contw ,contr 
+0x306 001194 rtn 
+:      001196 p_le_send_packet:
+0x307 001197 fetch 1 ,mem_ble_dle_enable 
+0x308 001198 nbranch le_send_packet + 1 ,blank 
+0x309 001200 storet 1 ,mem_le_txlen_temp 
+0x30a 001201 fetcht 1 ,mem_le_arq 
+0x30b 001202 set1 wak ,temp 
+0x30c 001203 and temp ,0xfc ,pdata 
+0x30d 001204 ior type ,pdata 
+0x30e 001205 store 1 ,mem_le_arq 
+0x30f 001206 and_into 0x1f ,pdata 
+0x310 001207 isolate1 mark_ble_tx_md ,mark 
+0x311 001208 setflag true ,md ,pdata 
+0x312 001209 store 1 ,mem_le_txheader_temp 
+0x313 001211 fetch 1 ,mem_le_txheader_temp 
+0x314 001212 compare 1 ,type ,3 
+0x315 001213 nbranch p_le_send_no_txlen ,true 
+0x316 001214 fetch 1 ,mem_le_txlen_temp 
+0x317 001215 rtn blank 
+:      001216 p_le_send_no_txlen:
+0x318 001217 fetch 1 ,mem_le_state 
+0x319 001218 rtnbit0 lestate_encryption 
+0x31a 001219 call load_sk 
+0x31b 001220 branch le_encrypt 
+:      001222 p_le_encrypt:
+0x31c 001223 fetch 1 ,mem_ble_dle_enable 
+0x31d 001224 nbranch le_encrypt + 1 ,blank 
+0x31e 001226 arg mem_le_txheader_temp ,regc 
+0x31f 001227 fetcht 5 ,mem_le_pcnt_tx 
+0x320 001228 call generate_mic 
+0x321 001229 force regidx_xor ,regext_index 
+0x322 001230 iforce regext 
+0x323 001231 force 0 ,rega 
+0x324 001232 call first_block_data 
+0x325 001233 call aes_init 
+0x326 001234 arg mem_le_txpayload_temp ,regc 
+0x327 001235 fetch 1 ,mem_le_txlen_temp 
+0x328 001236 add pdata ,-1 ,regb 
+0x329 001237 iadd regc ,contw 
+0x32a 001238 force regidx_result ,regext_index 
+0x32b 001239 deposit regext 
+0x32c 001240 istore 4 ,contw 
+0x32d 001241 call aes_crypt_data 
+0x32e 001242 fetch 1 ,mem_le_txlen_temp 
+0x32f 001243 increase 4 ,pdata 
+0x330 001244 store 1 ,mem_le_txlen_temp 
+0x331 001245 fetcht 5 ,mem_le_pcnt_tx 
+0x332 001246 increase 1 ,temp 
+0x333 001247 storet 5 ,mem_le_pcnt_tx 
+0x334 001248 rtn 
+:      001254 p_le_parse:
+0x335 001255 rtnmark1 mark_old_packet 
+0x336 001256 call le_fifo_check_full 
+0x337 001257 nrtn blank 
+0x338 001258 fetch 1 ,mem_le_rxbuf 
+0x339 001259 and pdata ,0x3 ,pdata 
+0x33a 001260 store 1 ,mem_le_packet_llid 
+0x33b 001261 ifetch 1 ,contr 
+0x33c 001262 store 1 ,mem_le_packet_size 
+0x33d 001263 rtn blank 
+0x33e 001264 copy contr ,pdata 
+0x33f 001265 store 2 ,mem_le_payload_ptr 
+0x340 001266 fetch 1 ,mem_le_packet_llid 
+0x341 001267 beq llid_le_ll ,p_le_parse_ll 
+0x342 001268 call le_check_l2cap_complete 
+0x343 001269 arg wake_lock_ble_rx_patch ,queue 
+0x344 001270 nbranch lpm_get_wake_lock ,user 
+0x345 001271 call lpm_put_wake_lock 
+0x346 001272 branch le_parse_l2cap + 3 
+:      001274 p_le_parse_ll:
+0x347 001275 fetch 1 ,mem_ble_dle_enable 
+0x348 001276 nbranch le_parse_ll ,blank 
+0x349 001277 fetch 1 ,mem_le_rxbuf + 2 
+0x34a 001278 beq ll_feature_req ,p_le_parse_feature_req 
+0x34b 001279 beq ll_length_req ,p_le_parse_length_request 
+0x34c 001280 branch le_parse_ll + 1 
+:      001282 p_le_parse_feature_req:
+:      001283 p_le_send_feature_rsp:
+0x34d 001284 arg 9 ,rega 
+0x34e 001285 arg ll_feature_rsp ,regb 
+0x34f 001286 call le_fifo_malloc_tx_ll 
+0x350 001289 setarg 0x21 
+0x351 001290 istore 8 ,contw 
+0x352 001291 call p_check_ble_dle_enable 
+0x353 001292 rtn 
+:      001293 p_check_ble_dle_enable:
+0x354 001294 fetch 1 ,mem_le_rxbuf + 3 
+0x355 001295 and pdata ,0x20 ,pdata 
+0x356 001296 branch p_set_ble_dle_disable ,blank 
+0x357 001297 rtn 
+:      001298 p_set_ble_dle_disable:
+0x358 001299 jam dle_disable ,mem_ble_dle_enable 
+0x359 001300 rtn 
+:      001302 p_le_parse_length_request:
+0x35a 001303 ifetch 2 ,contr 
+0x35b 001304 store 2 ,mem_module_master_rx_max 
+0x35c 001305 branch p_le_send_length_res 
+:      001307 p_le_send_length_res:
+0x35d 001308 arg 9 ,rega 
+0x35e 001309 arg ll_length_rsp ,regb 
+0x35f 001310 call le_fifo_malloc_tx_ll 
+0x360 001312 setarg 251 
+0x361 001313 istore 2 ,contw 
+0x362 001315 setarg 2120 
+0x363 001316 istore 2 ,contw 
+0x364 001318 setarg 251 
+0x365 001319 istore 2 ,contw 
+0x366 001321 setarg 2120 
+0x367 001322 istore 2 ,contw 
+0x368 001323 rtn 
+:      001326 p_le_parse_l2cap:
+0x369 001327 ifetch 2 ,contr 
+0x36a 001328 beq le_l2cap_cid_att ,p_le_parse_att 
+0x36b 001329 beq le_l2cap_cid_smp ,le_parse_smp 
+0x36c 001330 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x36d 001331 rtn 
+:      001333 p_le_parse_att:
+0x36e 001334 ifetch 3 ,contr 
+0x36f 001335 store 3 ,mem_le_att_opcode 
+0x370 001337 beq attop_read_request ,p_le_parse_att_read_request 
+0x371 001338 beq attop_write_request ,p_le_parse_att_write_request0 
+0x372 001339 branch le_parse_att + 2 
+:      001341 p_le_parse_handle_value_confirmation:
+:      001342 module_clear_recv_confirm_flag:
+0x373 001343 arg module_recv_confirm ,queue 
+0x374 001344 branch module_clr_state 
+:      001346 module_set_recv_confirm_flag:
+0x375 001347 arg module_recv_confirm ,queue 
+0x376 001348 branch module_set_state 
+:      001350 p_le_parse_att_exchange_mtu_request:
+0x377 001351 call le_parse_att_exchange_mtu_response 
+0x378 001352 store 2 ,mem_le_local_mtu 
+0x379 001353 branch le_send_att_exchange_mtu_response 
+:      001356 p_le_modified_name:
+0x37a 001357 call le_modified_name_att_list 
+:      001358 p_le_modified_name_adv:
+0x37b 001359 arg mem_le_scan_data_len + 32 ,regc 
+0x37c 001360 arg mem_le_scan_data ,rega 
+0x37d 001361 branch le_modified_name_adv_and_scan 
+:      001364 p_le_lpm_set_mult:
+0x37e 001365 fetch 1 ,mem_ble_dle_enable 
+0x37f 001366 nbranch le_lpm_set_mult + 1 ,blank 
+0x380 001368 disable wake 
+0x381 001369 branch p_le_lpm_set_mult_attempt ,attempt 
+0x382 001370 nbranch le_lpm_lost ,match 
+:      001371 p_le_lpm_set_mult_attempt:
+0x383 001372 call lpm_match 
+0x384 001373 fetch 2 ,mem_rx_window_sniff 
+0x385 001374 store 2 ,mem_le_receive_window 
+0x386 001376 nbranch lpm_mult_short ,match 
+0x387 001377 bmark1 mark_old_packet ,lpm_mult_short 
+0x388 001379 fetch 1 ,mem_le_packet_size 
+0x389 001380 nbranch lpm_mult_short ,blank 
+0x38a 001381 fetch 1 ,mem_le_txlen_temp 
+0x38b 001382 nbranch lpm_mult_short ,blank 
+0x38c 001384 fetch 1 ,mem_le_configuration 
+0x38d 001385 bbit1 bit_ble_short_mult ,lpm_mult_short 
+0x38e 001387 fetch 1 ,mem_le_state 
+0x38f 001388 bbit1 lestate_update_param ,lpm_mult_short 
+0x390 001389 branch lpm_mult_wait_timeout 
+:      001392 p_parse_lmp:
+0x391 001393 fetch 1 ,mem_lmi_opcode2 
+0x392 001394 beq lmp_encryption_key_size_req ,p_parse_lmp_crypt_key 
+0x393 001395 beq lmp_sniff_req ,p_parse_lmp_sniff_req 
+0x394 001396 branch parse_lmp + 21 
+:      001398 p_parse_lmp_crypt_key:
+0x395 001399 fetcht 1 ,mem_rxbuf + 1 
+0x396 001400 sub temp ,6 ,null 
+0x397 001401 branch reject_lmp_packet_pdu_not_allowed ,positive 
+0x398 001402 branch parse_lmp_crypt_key + 1 
+:      001404 reject_lmp_packet_pdu_not_allowed:
+0x399 001405 jam pdu_not_allowed ,mem_lmo_reason2 
+0x39a 001406 branch reject_lmp_packet 
+:      001408 p_parse_lmp_sniff_req:
+0x39b 001409 branch parse_lmp_sniff_req + 1 
+:      001411 p_send_lmp:
+0x39c 001412 disable user 
+0x39d 001413 call lmo_fifo_process 
+0x39e 001414 fetch 1 ,mem_lmp_to_send 
+0x39f 001415 rtn blank 
+0x3a0 001416 bbit1 7 ,p_send_lmp_escape 
+0x3a1 001417 branch send_lmp0 
+:      001419 p_send_lmp_escape:
+0x3a2 001420 beq lmp_ext_features_res ,p_send_lmpext_features_res 
+0x3a3 001421 beq lmp_ext_features_req ,p_send_lmpext_features_req 
+0x3a4 001423 branch send_lmp_escape 
+:      001425 p_send_lmpext_features_res:
+0x3a5 001426 call p_check_ssp_enable 
+0x3a6 001427 fetch 1 ,mem_lmp_to_send 
+0x3a7 001428 branch send_lmpext_features_res 
+:      001429 p_send_lmpext_features_req:
+0x3a8 001430 call p_check_ssp_enable 
+0x3a9 001431 fetch 1 ,mem_lmp_to_send 
+0x3aa 001432 branch send_lmpext_features_req 
+:      001434 p_check_ssp_enable:
+0x3ab 001435 fetch 1 ,mem_ssp_enable 
+0x3ac 001436 branch ssp_disable ,blank 
+0x3ad 001437 branch ssp_enable 
+:      001439 p_ssp_disable:
+0x3ae 001440 fetch 1 ,mem_features + 6 
+0x3af 001441 set0 param_featrue_ssp ,pdata 
+0x3b0 001442 store 1 ,mem_features + 6 
+0x3b1 001443 setarg 0x1 
+0x3b2 001444 store 2 ,mem_lmpext_ssp_enable 
+0x3b3 001445 rtn 
+:      001447 p_uartd_send:
+0x3b4 001448 copy contwu ,pdata 
+0x3b5 001449 store 2 ,ipc_bt2m0_write_ptr 
+0x3b6 001451 jam 0x00 ,mem_lpm_mode 
+0x3b7 001452 call p_enable_chgpump 
+0x3b8 001454 fetch 1 ,core_config 
+0x3b9 001455 rtnbit1 7 
+0x3ba 001456 set1 7 ,pdata 
+0x3bb 001457 store 1 ,core_config 
+0x3bc 001458 rtn 
+:      001460 p_parse_dlci0_rp:
+0x3bd 001461 fetch 1 ,mem_current_frame_type 
+0x3be 001462 beq rfcomm_frame_type_uih ,p_parse_dlci0_rp_uih 
+0x3bf 001463 branch parse_dlci0_rp + 2 
+:      001464 p_parse_dlci0_rp_uih:
+0x3c0 001465 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x3c1 001466 copy pdata ,contr 
+0x3c2 001467 call get_rfcomm_uih_head_struct 
+0x3c3 001468 fetch 1 ,mem_uih_cmd_type 
+0x3c4 001469 beq uih_modem_status_res ,p_parse_dlci0_rp_uih_ms_res 
+0x3c5 001470 branch parse_dlci0_rp_uih + 4 
+:      001472 p_parse_dlci0_rp_uih_ms_res:
+0x3c6 001473 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x3c7 001474 call ui_ipc_send_event 
+0x3c8 001475 call get_rfcomm_param_modem_status 
+0x3c9 001476 branch parse_dlci0_rp_uih_ms_res_spp 
+:      001479 p_parse_dlci0_reconn:
+0x3ca 001480 fetch 1 ,mem_current_frame_type 
+0x3cb 001481 beq rfcomm_frame_type_uih ,p_parse_dlci0_reconn_uih 
+0x3cc 001482 branch parse_dlci0_reconn + 2 
+:      001483 p_parse_dlci0_reconn_uih:
+0x3cd 001484 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x3ce 001485 copy pdata ,contr 
+0x3cf 001486 call get_rfcomm_uih_head_struct 
+0x3d0 001487 fetch 1 ,mem_uih_cmd_type 
+0x3d1 001488 beq uih_modem_status_res ,p_parse_dlci0_reconn_uih_ms_res 
+0x3d2 001489 branch parse_dlci0_reconn_uih + 4 
+:      001491 p_parse_dlci0_reconn_uih_ms_res:
+0x3d3 001492 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x3d4 001493 call ui_ipc_send_event 
+0x3d5 001494 call get_rfcomm_param_modem_status 
+0x3d6 001495 branch parse_dlci0_reconn_uih_ms_res_spp 
+:      001499 p_sp_initialize_256:
+0x3d7 001500 fetch 1 ,mem_le_secure_connect_enable 
+0x3d8 001501 branch le_secure_connection_disable ,blank 
+0x3d9 001503 call sp_clear_flags 
+0x3da 001504 branch sp_pubkey_calc_256 
+:      001510 p_connection_incontext:
+0x3db 001511 call context_search_insniff 
+0x3dc 001512 nbranch p_connection_nosniff ,zero 
+0x3dd 001513 call context_load 
+0x3de 001514 add rega ,coffset_mode ,contr 
+0x3df 001515 ifetch 1 ,contr 
+0x3e0 001516 bbit1 mode_le ,le_conn_dispatch 
+0x3e1 001517 bbit1 mode_master ,master_dispatch 
+0x3e2 001518 branch slave_dispatch 
+:      001519 p_connection_nosniff:
+0x3e3 001520 call p_context_get_next 
+0x3e4 001521 branch connection_nosniff + 1 
+:      001523 p_context_get_next:
+0x3e5 001524 arg context_num_new ,loopcnt 
+0x3e6 001525 fetcht 1 ,mem_current_context 
+:      001526 p_context_get_next_loop:
+0x3e7 001527 increase 1 ,temp 
+0x3e8 001528 compare context_num_new ,temp ,0xff 
+0x3e9 001529 nbranch p_context_get_next_cont ,true 
+0x3ea 001530 arg 0 ,temp 
+:      001531 p_context_get_next_cont:
+0x3eb 001532 storet 1 ,mem_current_context 
+0x3ec 001533 mul32 temp ,context_size ,pdata 
+0x3ed 001534 arg mem_context_new ,rega 
+0x3ee 001535 iadd rega ,rega 
+0x3ef 001536 ifetch 1 ,rega 
+0x3f0 001537 bbit1 state_insniff ,p_context_get_next_sniff 
+0x3f1 001538 rtnbit1 state_inconn 
+0x3f2 001539 rtnbit1 state_inpage 
+:      001540 p_context_get_next_sniff:
+0x3f3 001541 loop p_context_get_next_loop 
+0x3f4 001542 rtn 
+:      001545 p_context_new:
+0x3f5 001546 arg p_context_search_empty ,regc 
+0x3f6 001547 branch context_new + 2 
+:      001548 p_context_search_empty:
+0x3f7 001549 bbit1 state_inconn ,context_search_next 
+0x3f8 001551 force 0 ,null 
+0x3f9 001552 rtn 
+:      001555 p_context_search:
+0x3fa 001556 arg mem_context_new ,rega 
+0x3fb 001557 arg context_num_new ,loopcnt 
+0x3fc 001558 branch context_search_loop 
+:      001561 p_sconn_successful:
+0x3fd 001562 fetch 1 ,mem_state 
+0x3fe 001563 set0 state_inpage ,pdata 
+0x3ff 001564 store 1 ,mem_state 
+0x400 001565 jam 0 ,memui_reconnect_mode 
+0x401 001566 branch sconn_successful + 1 
+:      001579 p_sniff_check_window:
+0x402 001580 disable swfine 
+0x403 001581 copy temp ,stop_watch 
+0x404 001582 call p_context_search_sniff_window 
+0x405 001583 disable user 
+0x406 001584 nrtn zero 
+0x407 001585 force 0 ,stop_watch 
+0x408 001586 enable user 
+0x409 001587 rtn 
+:      001589 p_context_search_sniff_window:
+0x40a 001590 arg p_context_search_window ,regc 
+0x40b 001591 branch context_search 
+:      001593 p_context_search_window:
+0x40c 001596 copy pdata ,temp 
+0x40d 001597 add rega ,coffset_mode ,contr 
+0x40e 001598 ifetch 1 ,contr 
+0x40f 001599 copy rega ,contr 
+0x410 001600 bbit1 mode_le ,context_search_next 
+0x411 001601 copy temp ,pdata 
+0x412 001603 branch context_search_window 
+:      001607 p_lpm_recover_clk:
+0x413 001608 setarg 0 
+0x414 001609 copy auxcnt ,null 
+0x415 001610 branch p_lpm_recover_timeout ,zero 
+0x416 001611 hfetch 1 ,core_lpm_xtalcnt 
+0x417 001612 hfetcht 1 ,core_lpm_buckcnt 
+0x418 001613 isub temp ,null 
+0x419 001614 branch p_lpm_recover_xtal ,positive 
+0x41a 001615 deposit temp 
+:      001616 p_lpm_recover_xtal:
+0x41b 001617 isub auxcnt ,pdata 
+0x41c 001618 increase 1 ,pdata 
+:      001619 p_lpm_recover_timeout:
+0x41d 001620 increase 8 ,pdata 
+0x41e 001621 until null ,lpo_edge 
+0x41f 001622 iadd lpo_time ,pdata 
+0x420 001623 fetcht 4 ,mem_sleep_counter 
+0x421 001624 iadd temp ,pdata 
+0x422 001625 fetcht 3 ,mem_clks_per_lpo 
+0x423 001626 imul32 temp ,pdata 
+0x424 001627 rshift8 pdata ,pdata 
+0x425 001628 rshift4 pdata ,pdata 
+0x426 001629 increase param_lpm_fix ,pdata 
+0x427 001630 arg 3750 ,temp 
+0x428 001631 idiv temp 
+0x429 001632 call wait_div_end 
+0x42a 001633 quotient pdata 
+0x42b 001634 lshift16 pdata ,pdata 
+0x42c 001635 remainder temp 
+0x42d 001636 ior temp ,pdata 
+0x42e 001637 fetcht 6 ,mem_sleep_clkn 
+0x42f 001638 call clk_add 
+0x430 001639 copy temp ,clkn 
+0x431 001640 fetch 6 ,mem_context_new + coffset_clk_offset 
+0x432 001641 call calc_clke2 
+0x433 001642 rtn 
+:      001645 p_lpm_dispatch:
+0x434 001646 call lpo_calibration 
+0x435 001647 fetch 3 ,mem_clks_per_lpo 
+0x436 001648 rtn blank 
+0x437 001649 fetch 1 ,mem_lpm_mode 
+0x438 001650 rtn blank 
+0x439 001651 fetch 1 ,mem_ssp_enable 
+0x43a 001652 branch p_lpm_dispatch_next ,blank 
+0x43b 001653 fetch 1 ,mem_sp_local_key_invalid 
+0x43c 001654 rtn blank 
+:      001655 p_lpm_dispatch_next:
+0x43d 001656 fetch 1 ,mem_le_sc_calc 
+0x43e 001657 nrtn blank 
+0x43f 001658 call lpm_check_wake_lock 
+0x440 001659 nrtn blank 
+0x441 001660 fetch 1 ,mem_context_new 
+0x442 001661 compare 3 ,pdata ,0x7 
+0x443 001662 nbranch lpm_dispatch_unconn ,true 
+0x444 001663 fetch 2 ,mem_context_new + coffset_tsniff 
+0x445 001664 rtn blank 
+0x446 001665 rtn wake 
+0x447 001666 fetcht 1 ,mem_lpm_current_mult 
+0x448 001667 fetch 2 ,mem_context_new + coffset_tsniff 
+0x449 001668 imul32 temp ,pdata 
+0x44a 001669 rshift4 temp ,temp 
+0x44b 001670 rshift2 temp ,temp 
+0x44c 001671 isub temp ,pdata 
+0x44d 001672 fetcht 4 ,mem_context_new + coffset_sniff_anchor 
+0x44e 001673 iadd temp ,pdata 
+0x44f 001674 fetcht 1 ,mem_lpm_overhead 
+0x450 001675 isub temp ,pdata 
+0x451 001676 lshift16 pdata ,alarm 
+0x452 001677 fetch 2 ,mem_context_new + coffset_rx_window 
+0x453 001678 rshift pdata ,pdata 
+0x454 001679 call clk2bt 
+0x455 001680 deposit alarm 
+0x456 001681 call clk_diff 
+0x457 001682 copy clke ,temp 
+0x458 001683 call p_clk_diff_rt 
+0x459 001684 rtn user 
+0x45a 001685 branch lpm_dispatch_sleep 
+:      001688 p_lpm_dispatch_unconn:
+0x45b 001689 fetch 1 ,mem_context_new 
+0x45c 001690 branch lpm_dispatch_unconn + 2 
+:      001693 p_le_check_encrypt_state:
+0x45d 001694 call disable_user 
+0x45e 001695 fetch 1 ,mem_le_pairing_mode 
+0x45f 001696 rtneq le_pairing_mode_none 
+0x460 001697 fetch 1 ,mem_context_new 
+0x461 001698 rtnbit1 lestate_encryption 
+0x462 001699 branch enable_user 
+:      001701 p_module_check_ble_encrypt_state:
+0x463 001702 fetch 1 ,mem_module_flag 
+0x464 001703 bbit1 module_flag_ble_data_encrypt ,p_le_check_encrypt_state 
+0x465 001704 branch disable_user 
+:      001706 p_le_parse_att_read_request:
+0x466 001707 fetcht 2 ,mem_le_att_handle 
+0x467 001708 fetch 1 ,mem_le_configuration 
+0x468 001709 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0x469 001710 branch le_send_att_read_response 
+:      001712 p_le_send_att_read_response_check_auth:
+0x46a 001713 fetch 2 ,mem_le_pairing_handle 
+0x46b 001714 isub temp ,null 
+0x46c 001715 nbranch le_send_att_read_response ,zero 
+0x46d 001717 call p_le_check_encrypt_state 
+0x46e 001718 nbranch le_send_att_read_response ,user 
+0x46f 001719 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x470 001720 branch le_send_att_error_response 
+:      001722 p_le_parse_att_write_request0:
+0x471 001723 copy contr ,rega 
+0x472 001724 fetch 2 ,mem_le_l2cap_size 
+0x473 001725 add pdata ,-3 ,regb 
+0x474 001726 call le_writeatt_cb 
+:      001727 p_le_send_att_write_response_check_auth0:
+0x475 001728 fetch 1 ,mem_le_configuration 
+0x476 001729 bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0x477 001731 fetcht 2 ,mem_le_att_handle 
+0x478 001732 fetch 2 ,mem_le_pairing_handle 
+0x479 001733 isub temp ,null 
+0x47a 001734 nbranch le_send_att_write_response ,zero 
+0x47b 001735 call p_le_check_encrypt_state 
+0x47c 001736 nbranch le_send_att_write_response ,user 
+0x47d 001737 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x47e 001738 branch le_send_att_error_response 
+:      001780 p_role_switch_master:
+0x47f 001781 call role_switch_check 
+0x480 001782 nrtn user 
+0x481 001783 disable user 
+0x482 001784 jam param_newconnto ,mem_newconnto_counter 
+0x483 001785 set0 mark_fhs_already_good ,mark 
+0x484 001786 set0 mark_role_switch_receive_fhs ,mark 
+:      001787 p_roles_waitfhs_loop:
+0x485 001788 call rf_setup_time_master_slot 
+0x486 001789 call master_recv_packet 
+0x487 001790 bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
+0x488 001791 call new_conn_timeout 
+0x489 001792 nbranch p_roles_waitfhs_loop ,blank 
+0x48a 001793 bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs_rcvd 
+0x48b 001794 branch role_switch_fail_master 
+:      001796 p_roles_replyto_fhs:
+0x48c 001797 call rf_setup_time_slave_slot 
+0x48d 001798 arg type_id ,type 
+0x48e 001799 call master_send_packet 
+0x48f 001800 set1 mark_role_switch_receive_fhs ,mark 
+0x490 001801 set0 mark_fhs_already_good ,mark 
+0x491 001802 fetch 1 ,mem_amaddr 
+0x492 001803 iforce am_addr 
+0x493 001804 jam 2 ,mem_newconnto_counter 
+0x494 001805 branch p_roles_waitfhs_loop 
+:      001807 p_roles_replyto_fhs_rcvd:
+0x495 001808 fetch 4 ,mem_clke_bt 
+0x496 001809 pincrease 8 
+0x497 001810 store 4 ,mem_clke_bt 
+0x498 001811 branch roles_replyto_fhs + 4 
+:      001819 p_l2cap_init_wake:
+0x499 001820 call l2cap_init_wake + 1 
+0x49a 001821 jam recieve_ss_reasult_hf ,mem_message_to_uppersm 
+0x49b 001822 rtn 
+:      001824 p_scheduler_process:
+0x49c 001825 call p_hfp_hsp_process 
+0x49d 001826 branch scheduler_process + 5 
+:      001829 p_rfcomm_send_param_neg_cmd:
+0x49e 001830 setarg 0x15ef 
+0x49f 001831 istore 2 ,contw 
+0x4a0 001832 setarg 0x1183 
+0x4a1 001833 istore 2 ,contw 
+0x4a2 001834 copy temp ,pdata 
+0x4a3 001835 istore 1 ,contw 
+0x4a4 001836 setarg 0x0000f0 
+0x4a5 001837 istore 3 ,contw 
+0x4a6 001838 fetch 2 ,mem_rfcomm_max_frame_size 
+0x4a7 001839 istore 2 ,contw 
+0x4a8 001840 setarg 0 
+0x4a9 001841 istore 1 ,contw 
+0x4aa 001842 fetch 1 ,mem_rfcomm_credit_init_data 
+0x4ab 001843 istore 1 ,contw 
+0x4ac 001844 call rfcomm_calculate_fcs_dlci0 
+0x4ad 001845 istore 1 ,contw 
+0x4ae 001846 jam 0x10 ,mem_credit_given 
+0x4af 001847 rtn 
+:      001850 p_rfcomm_rx_process:
+0x4b0 001851 fetch 1 ,memui_reconnect_mode 
+0x4b1 001852 beq no_reconnection ,rfcomm_rx_process_remote_page 
+:      001853 p_rfcomm_rx_process_reconn:
+0x4b2 001854 fetch 2 ,mem_l2cap_payload_ptr 
+0x4b3 001855 copy pdata ,contr 
+0x4b4 001856 call get_rfcomm_head_struct 
+0x4b5 001857 fetch 1 ,mem_current_channel 
+0x4b6 001858 beq 0 ,parse_dlci0_reconn 
+0x4b7 001859 branch p_parse_uih_reconn 
+:      001861 p_parse_uih_reconn:
+:      001862 p_parse_uih_reconn_spp:
+0x4b8 001863 fetch 1 ,mem_current_frame_type 
+0x4b9 001864 beq rfcomm_frame_type_uih ,p_parse_uih_spp_uih 
+0x4ba 001865 beq rfcomm_frame_type_uih_credits ,p_parse_uih_spp_uih_credits 
+0x4bb 001866 beq rfcomm_frame_type_disconn ,p_parse_uih_reconn_spp_disconn 
+0x4bc 001867 branch parse_uih_reconn_spp + 1 
+:      001869 p_parse_uih_reconn_spp_disconn:
+0x4bd 001870 branch parse_uih_rp_spp_disconn_send_event 
+:      001872 p_parse_uih_rp_spp:
+0x4be 001873 fetch 1 ,mem_current_frame_type 
+0x4bf 001874 beq rfcomm_frame_type_uih ,p_parse_uih_spp_uih 
+0x4c0 001875 beq rfcomm_frame_type_uih_credits ,p_parse_uih_spp_uih_credits 
+0x4c1 001876 branch parse_uih_rp_spp + 2 
+:      001878 p_parse_uih_spp_uih_credits:
+0x4c2 001879 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x4c3 001880 copy pdata ,contr 
+0x4c4 001881 increase 1 ,pdata 
+0x4c5 001882 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x4c6 001883 ifetch 1 ,contr 
+0x4c7 001884 fetcht 1 ,mem_remote_credits 
+0x4c8 001885 iadd temp ,pdata 
+0x4c9 001886 store 1 ,mem_remote_credits 
+:      001887 p_parse_uih_spp_uih:
+0x4ca 001888 call rfcomm_increase_credit_given 
+0x4cb 001889 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x4cc 001890 store 2 ,mem_at_payload_ptr 
+0x4cd 001891 fetchr queue ,1 ,mem_current_length 
+0x4ce 001892 branch p_hfp_process_rfcomm_packet 
+:      001894 p_hfp_process_rfcomm_packet:
+0x4cf 001895 deposit queue 
+0x4d0 001896 rtn zero 
+0x4d1 001898 fetcht 2 ,mem_at_payload_ptr 
+0x4d2 001899 copy temp ,contr 
+0x4d3 001900 call p_hfp_check_result_code_start 
+0x4d4 001901 nrtn user 
+0x4d5 001902 copy contr ,pdata 
+0x4d6 001903 store 2 ,mem_at_command_ptr 
+0x4d7 001905 call p_hfp_check_result_code_end 
+0x4d8 001906 nrtn user 
+0x4d9 001908 copy contr ,pdata 
+0x4da 001909 store 2 ,mem_at_payload_ptr 
+0x4db 001911 call p_hfp_handle_at_result_code 
+0x4dc 001912 branch p_hfp_process_rfcomm_packet 
+:      001920 p_hfp_check_result_code_start:
+:      001921 p_hfp_check_result_code_end:
+0x4dd 001922 disable user 
+:      001923 p_hfp_check_result_code:
+0x4de 001924 copy queue ,pdata 
+0x4df 001925 increase -2 ,pdata 
+0x4e0 001926 nrtn positive 
+0x4e1 001927 increase -1 ,queue 
+0x4e2 001928 ifetch 1 ,contr 
+0x4e3 001929 bne 0x0D ,p_hfp_check_result_code 
+0x4e4 001930 increase -1 ,queue 
+0x4e5 001931 ifetch 1 ,contr 
+0x4e6 001932 bne 0x0A ,p_hfp_check_result_code 
+0x4e7 001933 enable user 
+0x4e8 001934 rtn 
+:      001937 p_hfp_clear_parms:
+0x4e9 001938 jam hf_state_waiting_rfcomm_conn ,mem_hf_state 
+0x4ea 001939 jam hfp_nono ,mem_hf_call_state 
+0x4eb 001940 jam hf_cmd_idle ,mem_hf_command 
+0x4ec 001941 jam hfp_default_mic_vlm ,mem_hf_vlm_mic 
+0x4ed 001942 jam hfp_default_speaker ,mem_hf_vlm_speaker 
+0x4ee 001943 jam hfp_dialing_state_no ,mem_telephone_dialing_state 
+0x4ef 001947 setarg mem_xmem_hf_state_end 
+0x4f0 001948 arg mem_xmem_hf_state_start ,contw 
+0x4f1 001949 isub contw ,loopcnt 
+0x4f2 001950 branch clear_mem 
+:      001952 p_hfp_hsp_process:
+0x4f3 001953 call l2cap_malloc_is_fifo_empty 
+0x4f4 001954 nrtn blank 
+0x4f5 001955 fetch 1 ,mem_hf_state 
+0x4f6 001956 beq hf_state_hf_send_receive_info ,p_hfp_send_receive_info 
+0x4f7 001957 rtneq hf_state_waiting_ag_info 
+0x4f8 001958 beq hf_state_hf_send_at_clip ,p_hfp_send_enable_clip 
+0x4f9 001959 rtneq hf_state_waiting_at_clip 
+0x4fa 001960 beq hf_state_hf_send_at_ccwa ,p_hfp_send_enable_call_waiting 
+0x4fb 001961 rtneq hf_state_waiting_at_ccwa 
+0x4fc 001962 beq hf_state_waiting_rfcomm_conn ,p_hfp_waiting_rfcomm 
+0x4fd 001963 beq hf_state_hf_send_feature ,p_hfp_send_feature 
+0x4fe 001964 rtneq hf_state_waiting_ag_feature_ok 
+0x4ff 001965 beq hf_state_hf_send_indicators ,p_hfp_send_indicators 
+0x500 001966 rtneq hf_state_waiting_ag_indicators_ok 
+0x501 001967 beq hf_state_hf_send_curr_status ,p_hfp_send_curr_status 
+0x502 001968 rtneq hf_state_waiting_ag_status_ok 
+0x503 001969 beq hf_state_hf_send_update_status ,p_hfp_send_update_status 
+0x504 001970 rtneq hf_state_waiting_ag_update_status_ok 
+0x505 001971 beq hf_state_connected ,p_hfp_connected 
+0x506 001972 rtn 
+:      001975 p_hfp_connected:
+0x507 001976 rtn 
+:      001978 p_hfp_waiting_rfcomm:
+0x508 001979 fetch 1 ,mem_spp_state 
+0x509 001980 beq 0xef ,p_hfp_send_feature_enable 
+0x50a 001981 beq 0xff ,p_hfp_send_feature_enable 
+0x50b 001982 rtn 
+:      001983 p_hfp_send_feature_enable:
+0x50c 001984 jam hf_state_hf_send_feature ,mem_hf_state 
+0x50d 001985 rtn 
+:      001988 p_hfp_send_at_common:
+0x50e 001989 store 2 ,mem_current_packet_length 
+0x50f 001990 setarg mem_at_command_data 
+0x510 001991 store 2 ,mem_at_rfcomm_data_ptr 
+0x511 001992 icopy contw 
+0x512 001993 setarg 0x2B5441 
+0x513 001994 istore 3 ,contw 
+0x514 001995 rtn 
+:      001998 p_hfp_send_feature:
+0x515 001999 fetch 1 ,mem_remote_credits 
+0x516 002000 rtn blank 
+0x517 002001 call p_hfp_send_credit_return 
+0x518 002002 jam hf_state_waiting_ag_feature_ok ,mem_hf_state 
+:      002003 p_hfp_send_at_brsf:
+0x519 002004 setarg 0x0a 
+0x51a 002005 call p_hfp_send_at_common 
+0x51b 002006 setarg 0x535242 
+0x51c 002007 istore 3 ,contw 
+0x51d 002008 setarg 0x3D46 
+0x51e 002009 istore 2 ,contw 
+0x51f 002010 fetch 1 ,mem_ui_hf_brsf_feature 
+0x520 002011 istore 1 ,contw 
+0x521 002012 setarg 0x0D 
+0x522 002013 istore 1 ,contw 
+0x523 002014 branch p_hfp_tx_rfcomm_without_credit 
+:      002017 p_hfp_send_receive_info:
+0x524 002018 call p_hfp_send_credit_return 
+0x525 002019 jam hf_state_waiting_ag_info ,mem_hf_state 
+:      002020 p_hfp_send_at_chld:
+0x526 002021 setarg 0x0a 
+0x527 002022 call p_hfp_send_at_common 
+0x528 002023 setarg 0x4843 
+0x529 002024 istore 2 ,contw 
+0x52a 002025 setarg 0x3d444c 
+0x52b 002026 istore 3 ,contw 
+0x52c 002027 setarg 0x0d3f 
+0x52d 002028 istore 2 ,contw 
+0x52e 002029 branch p_hfp_tx_rfcomm_without_credit 
+:      002032 p_hfp_send_enable_clip:
+0x52f 002033 call p_hfp_send_credit_return 
+0x530 002034 jam hf_state_waiting_at_clip ,mem_hf_state 
+:      002035 p_hfp_send_at_clip:
+0x531 002036 setarg 0x0a 
+0x532 002037 call p_hfp_send_at_common 
+0x533 002038 setarg 0x4c43 
+0x534 002039 istore 2 ,contw 
+0x535 002040 setarg 0x3d5049 
+0x536 002041 istore 3 ,contw 
+0x537 002042 setarg 0x0d31 
+0x538 002043 istore 2 ,contw 
+0x539 002044 branch p_hfp_tx_rfcomm_without_credit 
+:      002046 p_hfp_send_enable_call_waiting:
+0x53a 002047 call p_hfp_send_credit_return 
+0x53b 002048 jam hf_state_waiting_at_ccwa ,mem_hf_state 
+:      002049 p_hfp_send_at_ccwa:
+0x53c 002050 setarg 0x0a 
+0x53d 002051 call p_hfp_send_at_common 
+0x53e 002052 setarg 0x4343 
+0x53f 002053 istore 2 ,contw 
+0x540 002054 setarg 0x3d4157 
+0x541 002055 istore 3 ,contw 
+0x542 002056 setarg 0x0d31 
+0x543 002057 istore 2 ,contw 
+0x544 002058 branch p_hfp_tx_rfcomm_without_credit 
+:      002061 p_hfp_send_indicators:
+0x545 002062 call p_hfp_send_credit_return 
+0x546 002063 jam hf_state_waiting_ag_indicators_ok ,mem_hf_state 
+:      002064 p_hfp_send_at_cind:
+0x547 002065 setarg 0x0a 
+0x548 002066 call p_hfp_send_at_common 
+0x549 002067 setarg 0x4e4943 
+0x54a 002068 istore 3 ,contw 
+0x54b 002069 setarg 0x3f3D44 
+0x54c 002070 istore 3 ,contw 
+0x54d 002071 setarg 0x0D 
+0x54e 002072 istore 1 ,contw 
+0x54f 002073 branch p_hfp_tx_rfcomm_without_credit 
+:      002075 p_hfp_send_curr_status:
+0x550 002076 call p_hfp_send_credit_return 
+0x551 002077 jam hf_state_waiting_ag_status_ok ,mem_hf_state 
+:      002078 p_hfp_send_at_cind2:
+0x552 002079 setarg 0x09 
+0x553 002080 call p_hfp_send_at_common 
+0x554 002081 setarg 0x4e4943 
+0x555 002082 istore 3 ,contw 
+0x556 002083 setarg 0x0d3f44 
+0x557 002084 istore 3 ,contw 
+0x558 002085 branch p_hfp_tx_rfcomm_without_credit 
+:      002087 p_hfp_send_update_status:
+0x559 002088 call p_hfp_send_credit_return 
+0x55a 002089 jam hf_state_waiting_ag_update_status_ok ,mem_hf_state 
+:      002090 p_hfp_send_at_cmer:
+0x55b 002091 setarg 0x10 
+0x55c 002092 call p_hfp_send_at_common 
+0x55d 002093 setarg 0x454d43 
+0x55e 002094 istore 3 ,contw 
+0x55f 002095 setarg 0x333d52 
+0x560 002096 istore 3 ,contw 
+0x561 002097 setarg 0x2c302c 
+0x562 002098 istore 3 ,contw 
+0x563 002099 setarg 0x312c30 
+0x564 002100 istore 3 ,contw 
+0x565 002101 setarg 0x0d 
+0x566 002102 istore 1 ,contw 
+0x567 002103 branch p_hfp_tx_rfcomm_without_credit 
+:      002108 p_hfp_send_at_clcc:
+0x568 002109 setarg 0x08 
+0x569 002110 call p_hfp_send_at_common 
+0x56a 002111 setarg 0x434C43 
+0x56b 002112 istore 3 ,contw 
+0x56c 002113 setarg 0x0D43 
+0x56d 002114 istore 2 ,contw 
+0x56e 002115 branch p_hfp_tx_rfcomm_without_credit 
+:      002119 p_hfp_handle_at_result_code:
+0x56f 002120 disable user 
+0x570 002121 call p_hfp_is_result_ok 
+0x571 002122 rtn user 
+0x572 002123 call p_hfp_is_result_error 
+0x573 002124 rtn user 
+0x574 002125 storer queue ,2 ,mem_temp 
+0x575 002126 call p_hfp_send_credit_return 
+0x576 002127 fetchr queue ,2 ,mem_temp 
+0x577 002128 call p_hfp_is_result_brsf 
+0x578 002129 rtn user 
+0x579 002130 call p_hfp_is_result_ciev 
+0x57a 002131 rtn user 
+0x57b 002132 call p_hfp_is_result_ring 
+0x57c 002133 rtn user 
+0x57d 002134 call p_hfp_is_result_cind 
+0x57e 002135 rtn user 
+0x57f 002136 call p_hfp_is_result_chld 
+0x580 002137 rtn user 
+0x581 002138 call p_hfp_is_result_vgm_vgs 
+0x582 002139 rtn user 
+0x583 002140 call p_hfp_is_result_clip 
+0x584 002141 rtn user 
+0x585 002142 call p_hfp_is_result_ccwa 
+0x586 002143 rtn user 
+0x587 002144 call p_hfp_is_result_clcc 
+0x588 002145 rtn user 
+0x589 002146 fetch 2 ,mem_cb_hfp_result_code 
+0x58a 002147 branch callback_func 
+:      002149 p_hfp_is_result_ok:
+0x58b 002150 fetch 2 ,mem_at_command_ptr 
+0x58c 002151 icopy contr 
+0x58d 002152 ifetch 1 ,contr 
+0x58e 002153 rtnne 0x4F 
+0x58f 002154 ifetch 1 ,contr 
+0x590 002155 rtnne 0x4B 
+0x591 002156 enable user 
+0x592 002157 call p_hfp_result_ok_cmd 
+:      002158 p_hfp_result_ok_handle:
+0x593 002159 fetch 1 ,mem_hf_state 
+0x594 002160 beq hf_state_waiting_ag_update_status_ok ,p_hfp_ag_update_status_ok 
+0x595 002161 beq hf_state_waiting_ag_info ,p_hfp_ag_receive_info_ok 
+0x596 002162 beq hf_state_waiting_at_clip ,p_hfp_ag_enable_clip_ok 
+0x597 002163 beq hf_state_waiting_at_ccwa ,p_hfp_ag_enable_call_waiting_ok 
+0x598 002164 beq hf_state_waiting_ag_feature_ok ,p_hfp_ag_feature_ok 
+0x599 002165 beq hf_state_waiting_ag_indicators_ok ,p_hfp_ag_indicators_ok 
+0x59a 002166 beq hf_state_waiting_ag_status_ok ,p_hfp_ag_status_ok 
+0x59b 002167 rtn 
+:      002169 p_hfp_result_ok_cmd:
+0x59c 002170 fetch 1 ,mem_hf_command 
+0x59d 002171 beq hf_wait_accept_call_ok ,p_hfp_acceptcall 
+0x59e 002172 beq hf_wait_hangup_ok ,p_hfp_hangup 
+0x59f 002173 beq hf_wait_vgs_ok ,p_hfp_vgs_ok 
+0x5a0 002174 beq hf_wait_vgm_ok ,p_hfp_vgm_ok 
+0x5a1 002175 rtn 
+:      002177 p_hfp_acceptcall:
+:      002178 p_hfp_hangup:
+:      002179 p_hfp_vgm_ok:
+0x5a2 002180 jam hf_cmd_idle ,mem_hf_command 
+0x5a3 002181 rtn 
+:      002182 p_hfp_vgs_ok:
+0x5a4 002183 jam hf_cmd_idle ,mem_hf_command 
+0x5a5 002184 rtn 
+:      002187 p_hfp_ag_feature_ok:
+0x5a6 002188 jam hf_state_hf_send_indicators ,mem_hf_state 
+0x5a7 002189 rtn 
+:      002190 p_hfp_ag_indicators_ok:
+0x5a8 002191 jam hf_state_hf_send_curr_status ,mem_hf_state 
+0x5a9 002192 rtn 
+:      002193 p_hfp_ag_status_ok:
+0x5aa 002194 jam hf_state_hf_send_update_status ,mem_hf_state 
+0x5ab 002195 rtn 
+:      002196 p_hfp_ag_update_status_ok:
+0x5ac 002197 jam hf_state_hf_send_receive_info ,mem_hf_state 
+0x5ad 002198 rtn 
+:      002199 p_hfp_ag_receive_info_ok:
+0x5ae 002200 jam hf_state_hf_send_at_clip ,mem_hf_state 
+0x5af 002201 rtn 
+:      002202 p_hfp_ag_enable_clip_ok:
+0x5b0 002203 jam hf_state_hf_send_at_ccwa ,mem_hf_state 
+0x5b1 002204 rtn 
+:      002206 p_hfp_ag_enable_call_waiting_ok:
+0x5b2 002208 jam hf_state_connected ,mem_hf_state 
+0x5b3 002209 jam bt_evt_hfp_connected ,mem_fifo_temp 
+0x5b4 002210 branch ui_ipc_send_event 
+:      002212 p_hfp_is_result_error:
+0x5b5 002214 fetch 2 ,mem_at_command_ptr 
+0x5b6 002215 icopy contr 
+0x5b7 002216 ifetch 1 ,contr 
+0x5b8 002217 rtnne 0x45 
+0x5b9 002218 ifetch 1 ,contr 
+0x5ba 002219 rtnne 0x52 
+0x5bb 002220 ifetch 1 ,contr 
+0x5bc 002221 rtnne 0x52 
+0x5bd 002222 ifetch 1 ,contr 
+0x5be 002223 rtnne 0x4F 
+0x5bf 002224 ifetch 1 ,contr 
+0x5c0 002225 rtnne 0x52 
+0x5c1 002226 enable user 
+0x5c2 002227 branch p_hfp_result_ok_cmd 
+:      002229 p_hfp_is_result_ring:
+0x5c3 002231 fetch 2 ,mem_at_command_ptr 
+0x5c4 002232 icopy contr 
+0x5c5 002233 ifetch 1 ,contr 
+0x5c6 002234 rtnne 0x52 
+0x5c7 002235 ifetch 1 ,contr 
+0x5c8 002236 rtnne 0x49 
+0x5c9 002237 ifetch 1 ,contr 
+0x5ca 002238 rtnne 0x4e 
+0x5cb 002239 ifetch 1 ,contr 
+0x5cc 002240 rtnne 0x47 
+0x5cd 002241 enable user 
+0x5ce 002242 rtn 
+:      002245 p_hfp_is_result_ciev:
+0x5cf 002247 fetch 2 ,mem_at_command_ptr 
+0x5d0 002248 icopy contr 
+0x5d1 002249 ifetch 1 ,contr 
+0x5d2 002250 rtnne 0x2b 
+0x5d3 002251 ifetch 1 ,contr 
+0x5d4 002252 rtnne 0x43 
+0x5d5 002253 ifetch 1 ,contr 
+0x5d6 002254 rtnne 0x49 
+0x5d7 002255 ifetch 1 ,contr 
+0x5d8 002256 rtnne 0x45 
+0x5d9 002257 ifetch 1 ,contr 
+0x5da 002258 rtnne 0x56 
+0x5db 002259 enable user 
+0x5dc 002260 call p_hfp_translate_ascii_to_hex 
+0x5dd 002261 increase 2 ,rega 
+0x5de 002262 setarg mem_ag_indicator_map 
+0x5df 002263 iadd temp ,temp 
+0x5e0 002264 increase -1 ,temp 
+0x5e1 002265 ifetch 1 ,temp 
+0x5e2 002266 arg mem_ag_indicator ,temp 
+0x5e3 002267 iadd temp ,pdata 
+0x5e4 002268 store 2 ,mem_at_command_ptr 
+0x5e5 002269 copy rega ,contr 
+0x5e6 002270 call p_hfp_findcomma 
+0x5e7 002271 call p_hfp_translate_ascii_to_hex 
+0x5e8 002272 fetch 2 ,mem_at_command_ptr 
+0x5e9 002273 istoret 1 ,pdata 
+:      002274 p_hfp_evt_update_state:
+0x5ea 002275 setarg hfp_cievind_call 
+0x5eb 002276 call p_hfp_get_indicator_value 
+0x5ec 002277 beq ciev_call_no ,p_hfp_update_state_nocallactive 
+0x5ed 002278 beq ciev_call_act ,p_hfp_update_state_callactived 
+0x5ee 002279 rtn 
+:      002285 p_hfp_get_indicator_value:
+0x5ef 002286 arg mem_ag_indicator ,contr 
+0x5f0 002287 iadd contr ,contr 
+0x5f1 002288 ifetch 1 ,contr 
+0x5f2 002289 rtn 
+:      002291 p_hfp_update_state_nocallactive:
+0x5f3 002292 setarg hfp_cievind_callsettup 
+0x5f4 002293 call p_hfp_get_indicator_value 
+0x5f5 002294 beq ciev_callst_img ,p_hfp_update_incomming 
+0x5f6 002295 beq ciev_callst_oug ,p_hfp_update_outgoing 
+0x5f7 002296 beq ciev_callst_re_altd ,p_hfp_update_outgoing 
+0x5f8 002297 fetch 1 ,mem_hf_call_state 
+0x5f9 002298 rtneq hfp_nono 
+0x5fa 002299 jam hfp_nono ,mem_hf_call_state 
+0x5fb 002300 fetch 1 ,mem_telephone_dialing_state 
+0x5fc 002301 sub pdata ,hfp_dialing_state_start ,null 
+0x5fd 002302 call p_hfp_evt_nono ,zero 
+0x5fe 002303 branch p_hfp_dialing_clear 
+:      002305 p_hfp_evt_nono:
+0x5ff 002306 jam bt_evt_hfp_stop_dialing ,mem_fifo_temp 
+0x600 002307 branch ui_ipc_send_event 
+:      002309 p_hfp_update_incomming:
+0x601 002310 call p_hfp_send_at_clcc 
+0x602 002311 fetch 1 ,mem_hf_call_state 
+0x603 002312 rtneq hfp_incomming 
+0x604 002313 jam hfp_incomming ,mem_hf_call_state 
+:      002314 p_hfp_evt_incomming:
+0x605 002315 jam bt_evt_hfp_incomming ,mem_fifo_temp 
+0x606 002316 branch ui_ipc_send_event 
+:      002318 p_hfp_evt_outgoing:
+0x607 002319 jam bt_evt_hfp_outgoing ,mem_fifo_temp 
+0x608 002320 branch ui_ipc_send_event 
+:      002321 p_hfp_evt_callactive:
+0x609 002322 jam bt_evt_hfp_callactive ,mem_fifo_temp 
+0x60a 002323 branch ui_ipc_send_event 
+:      002324 p_hfp_evt_callimg:
+0x60b 002325 jam bt_evt_hfp_callimg ,mem_fifo_temp 
+0x60c 002326 branch ui_ipc_send_event 
+:      002327 p_hfp_evt_callogg:
+0x60d 002328 jam bt_evt_hfp_callogg ,mem_fifo_temp 
+0x60e 002329 branch ui_ipc_send_event 
+:      002330 p_hfp_evt_calmulty:
+0x60f 002331 jam bt_evt_hfp_calmulty ,mem_fifo_temp 
+0x610 002332 branch ui_ipc_send_event 
+:      002334 p_hfp_update_outgoing:
+0x611 002335 fetch 1 ,mem_hf_call_state 
+0x612 002336 rtneq hfp_outgoing 
+0x613 002337 jam hfp_outgoing ,mem_hf_call_state 
+0x614 002338 branch p_hfp_evt_outgoing 
+:      002340 p_hfp_update_state_callactived:
+0x615 002341 setarg hfp_cievind_callheld 
+0x616 002342 call p_hfp_get_indicator_value 
+0x617 002343 beq ciev_held_no ,p_hfp_update_state_nocallheld 
+0x618 002344 fetch 1 ,mem_hf_call_state 
+0x619 002345 rtneq hfp_calmulty 
+0x61a 002346 jam hfp_calmulty ,mem_hf_call_state 
+0x61b 002347 branch p_hfp_evt_calmulty 
+:      002349 p_hfp_update_callincomming:
+0x61c 002350 fetch 1 ,mem_hf_call_state 
+0x61d 002351 rtneq hfp_callimg 
+0x61e 002352 jam hfp_callimg ,mem_hf_call_state 
+0x61f 002353 branch p_hfp_evt_callimg 
+:      002355 p_hfp_update_calloutgoing:
+0x620 002356 fetch 1 ,mem_hf_call_state 
+0x621 002357 rtneq hfp_callogg 
+0x622 002358 jam hfp_callogg ,mem_hf_call_state 
+0x623 002359 branch p_hfp_evt_callogg 
+:      002361 p_hfp_update_state_nocallheld:
+0x624 002362 setarg hfp_cievind_callsettup 
+0x625 002363 call p_hfp_get_indicator_value 
+0x626 002364 beq ciev_callst_img ,p_hfp_update_callincomming 
+0x627 002365 beq ciev_callst_oug ,p_hfp_update_calloutgoing 
+0x628 002366 beq ciev_callst_re_altd ,p_hfp_update_calloutgoing 
+0x629 002367 fetch 1 ,mem_hf_call_state 
+0x62a 002368 rtneq hfp_callactive 
+0x62b 002369 jam hfp_callactive ,mem_hf_call_state 
+0x62c 002370 call p_hfp_evt_callactive 
+:      002372 p_hfp_dialing_stop:
+0x62d 002374 jam hfp_dialing_state_stop ,mem_telephone_dialing_state 
+0x62e 002375 rtn 
+:      002377 p_hfp_dialing_clear:
+0x62f 002379 jam hfp_dialing_state_no ,mem_telephone_dialing_state 
+0x630 002380 rtn 
+:      002382 p_hfp_dialing_start:
+0x631 002383 jam bt_evt_hfp_start_dialing ,mem_fifo_temp 
+0x632 002384 call ui_ipc_send_event 
+0x633 002385 jam hfp_dialing_state_start ,mem_telephone_dialing_state 
+0x634 002388 rtn 
+:      002392 p_hfp_is_result_cind:
+0x635 002394 fetch 2 ,mem_at_command_ptr 
+0x636 002395 icopy contr 
+0x637 002396 ifetch 1 ,contr 
+0x638 002397 rtnne 0x2b 
+0x639 002398 ifetch 1 ,contr 
+0x63a 002399 rtnne 0x43 
+0x63b 002400 ifetch 1 ,contr 
+0x63c 002401 rtnne 0x49 
+0x63d 002402 ifetch 1 ,contr 
+0x63e 002403 rtnne 0x4e 
+0x63f 002404 ifetch 1 ,contr 
+0x640 002405 rtnne 0x44 
+0x641 002406 enable user 
+0x642 002407 increase 2 ,contr 
+0x643 002408 ifetch 1 ,contr 
+0x644 002409 beq 0x28 ,p_hfp_is_result_cind0 
+0x645 002410 branch p_hfp_is_result_cind1 
+:      002414 p_hfp_is_result_cind1:
+0x646 002415 force 7 ,loopcnt 
+0x647 002416 storer contr ,2 ,mem_at_command_ptr 
+:      002417 p_hfp_is_result_cind1_loopcnt:
+0x648 002418 fetch 2 ,mem_at_command_ptr 
+0x649 002419 icopy contr 
+0x64a 002420 call p_hfp_translate_ascii_to_hex 
+0x64b 002421 increase 2 ,rega 
+0x64c 002422 copy rega ,contr 
+0x64d 002423 call p_hfp_findcomma 
+0x64e 002424 copy contr ,pdata 
+0x64f 002425 store 2 ,mem_at_command_ptr 
+0x650 002426 copy temp ,rega 
+0x651 002427 copy loopcnt ,temp 
+0x652 002428 sub temp ,7 ,temp 
+0x653 002429 call p_hfp_get_indicator_index 
+0x654 002430 arg mem_ag_indicator ,temp 
+0x655 002431 iadd temp ,temp 
+0x656 002432 copy rega ,pdata 
+0x657 002433 istore 1 ,temp 
+0x658 002434 loop p_hfp_is_result_cind1_loopcnt 
+0x659 002435 branch p_hfp_evt_update_state 
+:      002441 p_hfp_get_indicator_index:
+0x65a 002442 setarg mem_ag_indicator_map 
+0x65b 002443 iadd temp ,temp 
+0x65c 002444 ifetch 1 ,temp 
+0x65d 002445 rtn 
+:      002447 p_hfp_find_double_quote:
+0x65e 002448 ifetch 1 ,contr 
+0x65f 002449 rtneq 0x22 
+0x660 002450 branch p_hfp_find_double_quote 
+:      002452 p_hfp_is_result_cind0:
+0x661 002453 force 7 ,loopcnt 
+:      002454 p_hfp_is_result_cind0_loopcnt:
+0x662 002455 call p_hfp_find_double_quote 
+0x663 002456 storer contr ,2 ,mem_at_command_ptr 
+0x664 002457 call p_hfp_indicator_service 
+0x665 002458 branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+0x666 002459 call p_hfp_indicator_call_callheld_callsetup 
+0x667 002460 branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+0x668 002461 call p_hfp_indicator_signal 
+0x669 002462 branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+0x66a 002463 call p_hfp_indicator_roam 
+0x66b 002464 branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+0x66c 002465 call p_hfp_indicator_battchg 
+:      002466 p_hfp_is_result_cind0_loopcnt_end:
+0x66d 002467 call p_hfp_find_double_quote 
+0x66e 002468 loop p_hfp_is_result_cind0_loopcnt 
+0x66f 002469 rtn 
+:      002472 p_hfp_indicator_service:
+0x670 002473 disable user2 
+0x671 002474 fetch 2 ,mem_at_command_ptr 
+0x672 002475 icopy contr 
+0x673 002476 ifetch 1 ,contr 
+0x674 002477 rtnne 0x73 
+0x675 002478 ifetch 1 ,contr 
+0x676 002479 rtnne 0x65 
+0x677 002480 ifetch 1 ,contr 
+0x678 002481 rtnne 0x72 
+0x679 002482 ifetch 1 ,contr 
+0x67a 002483 rtnne 0x76 
+0x67b 002484 enable user2 
+0x67c 002485 force hfp_cievind_service ,rega 
+0x67d 002486 branch p_hfp_indicator_store 
+:      002489 p_hfp_indicator_battchg:
+0x67e 002490 disable user2 
+0x67f 002491 fetch 2 ,mem_at_command_ptr 
+0x680 002492 icopy contr 
+0x681 002493 ifetch 1 ,contr 
+0x682 002494 rtnne 0x62 
+0x683 002495 ifetch 1 ,contr 
+0x684 002496 rtnne 0x61 
+0x685 002497 ifetch 1 ,contr 
+0x686 002498 rtnne 0x74 
+0x687 002499 ifetch 1 ,contr 
+0x688 002500 rtnne 0x74 
+0x689 002501 ifetch 1 ,contr 
+0x68a 002502 rtnne 0x63 
+0x68b 002503 enable user2 
+0x68c 002504 force hfp_cievind_battcha ,rega 
+0x68d 002505 branch p_hfp_indicator_store 
+:      002507 p_hfp_indicator_call_callheld_callsetup:
+0x68e 002508 disable user2 
+0x68f 002509 fetch 2 ,mem_at_command_ptr 
+0x690 002510 icopy contr 
+0x691 002511 ifetch 1 ,contr 
+0x692 002512 rtnne 0x63 
+0x693 002513 ifetch 1 ,contr 
+0x694 002514 rtnne 0x61 
+0x695 002515 ifetch 1 ,contr 
+0x696 002516 rtnne 0x6c 
+0x697 002517 ifetch 1 ,contr 
+0x698 002518 rtnne 0x6c 
+0x699 002519 ifetch 1 ,contr 
+0x69a 002520 enable user2 
+0x69b 002521 beq 0x68 ,p_hfp_indicator_callheld 
+0x69c 002522 beq 0x22 ,p_hfp_indicator_call 
+0x69d 002523 beq 0x73 ,p_hfp_indicator_callsetup 
+0x69e 002524 rtn 
+:      002526 p_hfp_indicator_callsetup:
+0x69f 002527 force hfp_cievind_callsettup ,rega 
+0x6a0 002528 branch p_hfp_indicator_store 
+:      002529 p_hfp_indicator_call:
+0x6a1 002530 increase -1 ,contr 
+0x6a2 002531 force hfp_cievind_call ,rega 
+0x6a3 002532 branch p_hfp_indicator_store 
+:      002533 p_hfp_indicator_callheld:
+0x6a4 002534 force hfp_cievind_callheld ,rega 
+:      002535 p_hfp_indicator_store:
+0x6a5 002536 copy loopcnt ,pdata 
+0x6a6 002537 sub pdata ,7 ,pdata 
+0x6a7 002538 arg mem_ag_indicator_map ,temp 
+0x6a8 002539 iadd temp ,temp 
+0x6a9 002540 copy rega ,pdata 
+0x6aa 002541 istore 1 ,temp 
+0x6ab 002542 rtn 
+:      002545 p_hfp_indicator_roam:
+0x6ac 002546 disable user2 
+0x6ad 002547 fetch 2 ,mem_at_command_ptr 
+0x6ae 002548 icopy contr 
+0x6af 002549 ifetch 1 ,contr 
+0x6b0 002550 rtnne 0x72 
+0x6b1 002551 ifetch 1 ,contr 
+0x6b2 002552 rtnne 0x6f 
+0x6b3 002553 ifetch 1 ,contr 
+0x6b4 002554 rtnne 0x61 
+0x6b5 002555 ifetch 1 ,contr 
+0x6b6 002556 rtnne 0x6d 
+0x6b7 002557 enable user2 
+0x6b8 002558 force hfp_cievind_roam ,rega 
+0x6b9 002559 branch p_hfp_indicator_store 
+:      002562 p_hfp_indicator_signal:
+0x6ba 002563 disable user2 
+0x6bb 002564 fetch 2 ,mem_at_command_ptr 
+0x6bc 002565 icopy contr 
+0x6bd 002566 ifetch 1 ,contr 
+0x6be 002567 rtnne 0x73 
+0x6bf 002568 ifetch 1 ,contr 
+0x6c0 002569 rtnne 0x69 
+0x6c1 002570 ifetch 1 ,contr 
+0x6c2 002571 rtnne 0x67 
+0x6c3 002572 ifetch 1 ,contr 
+0x6c4 002573 rtnne 0x6e 
+0x6c5 002574 enable user2 
+0x6c6 002575 force hfp_cievind_signal ,rega 
+0x6c7 002576 branch p_hfp_indicator_store 
+:      002578 p_hfp_is_result_brsf:
+0x6c8 002580 fetch 2 ,mem_at_command_ptr 
+0x6c9 002581 icopy contr 
+0x6ca 002582 ifetch 1 ,contr 
+0x6cb 002583 rtnne 0x2b 
+0x6cc 002584 ifetch 1 ,contr 
+0x6cd 002585 rtnne 0x42 
+0x6ce 002586 ifetch 1 ,contr 
+0x6cf 002587 rtnne 0x52 
+0x6d0 002588 ifetch 1 ,contr 
+0x6d1 002589 rtnne 0x53 
+0x6d2 002590 ifetch 1 ,contr 
+0x6d3 002591 rtnne 0x46 
+0x6d4 002592 enable user 
+0x6d5 002593 call p_hfp_translate_ascii_to_hex 
+0x6d6 002594 storet 2 ,mem_agoption 
+0x6d7 002595 rtn 
+:      002597 p_hfp_is_result_chld:
+0x6d8 002599 fetch 2 ,mem_at_command_ptr 
+0x6d9 002600 icopy contr 
+0x6da 002601 ifetch 1 ,contr 
+0x6db 002602 rtnne 0x2b 
+0x6dc 002603 ifetch 1 ,contr 
+0x6dd 002604 rtnne 0x43 
+0x6de 002605 ifetch 1 ,contr 
+0x6df 002606 rtnne 0x48 
+0x6e0 002607 ifetch 1 ,contr 
+0x6e1 002608 rtnne 0x4c 
+0x6e2 002609 ifetch 1 ,contr 
+0x6e3 002610 rtnne 0x44 
+0x6e4 002611 enable user 
+0x6e5 002612 rtn 
+:      002615 p_hfp_is_result_vgm_vgs:
+0x6e6 002617 fetch 2 ,mem_at_command_ptr 
+0x6e7 002618 icopy contr 
+0x6e8 002619 ifetch 1 ,contr 
+0x6e9 002620 rtnne 0x2b 
+0x6ea 002621 ifetch 1 ,contr 
+0x6eb 002622 rtnne 0x56 
+0x6ec 002623 ifetch 1 ,contr 
+0x6ed 002624 rtnne 0x47 
+0x6ee 002625 ifetch 1 ,contr 
+0x6ef 002626 enable user 
+0x6f0 002627 beq 0x4d ,p_hfp_vgm_changed 
+0x6f1 002628 beq 0x53 ,p_hfp_vgs_changed 
+0x6f2 002629 rtn 
+:      002631 p_hfp_vgs_changed:
+0x6f3 002632 call p_hfp_translate_ascii_to_hex 
+0x6f4 002633 storet 1 ,mem_hf_vlm_speaker 
+0x6f5 002634 rtn 
+:      002636 p_hfp_vgm_changed:
+0x6f6 002637 call p_hfp_translate_ascii_to_hex 
+0x6f7 002638 storet 1 ,mem_hf_vlm_mic 
+0x6f8 002639 rtn 
+:      002642 p_hfp_is_result_ccwa:
+0x6f9 002643 fetch 2 ,mem_at_command_ptr 
+0x6fa 002644 icopy contr 
+0x6fb 002645 ifetch 1 ,contr 
+0x6fc 002646 rtnne 0x2b 
+0x6fd 002647 ifetch 1 ,contr 
+0x6fe 002648 rtnne 0x43 
+0x6ff 002649 ifetch 1 ,contr 
+0x700 002650 rtnne 0x43 
+0x701 002651 ifetch 1 ,contr 
+0x702 002652 rtnne 0x57 
+0x703 002653 ifetch 1 ,contr 
+0x704 002654 rtnne 0x41 
+0x705 002655 enable user 
+0x706 002656 branch p_hfp_is_result_clip_loop 
+:      002658 p_hfp_is_result_clip:
+0x707 002660 fetch 2 ,mem_at_command_ptr 
+0x708 002661 icopy contr 
+0x709 002662 ifetch 1 ,contr 
+0x70a 002663 rtnne 0x2b 
+0x70b 002664 ifetch 1 ,contr 
+0x70c 002665 rtnne 0x43 
+0x70d 002666 ifetch 1 ,contr 
+0x70e 002667 rtnne 0x4c 
+0x70f 002668 ifetch 1 ,contr 
+0x710 002669 rtnne 0x49 
+0x711 002670 ifetch 1 ,contr 
+0x712 002671 rtnne 0x50 
+0x713 002672 enable user 
+0x714 002673 call p_hfp_is_result_clip_loop 
+0x715 002674 fetch 1 ,mem_telephone_dialing_state 
+0x716 002675 rtnne hfp_dialing_state_no 
+0x717 002676 branch p_hfp_dialing_start 
+:      002679 p_hfp_is_result_clip_loop:
+0x718 002680 ifetch 1 ,contr 
+0x719 002681 bne 0x22 ,p_hfp_is_result_clip_loop 
+0x71a 002682 force 0 ,rega 
+0x71b 002683 force 0x30 ,regb 
+0x71c 002684 arg mem_phone_number ,contw 
+:      002685 p_hfp_is_result_clip_phone_num:
+0x71d 002686 ifetch 1 ,contr 
+0x71e 002687 beq 0x22 ,p_hfp_is_result_clip_end 
+0x71f 002688 increase 1 ,rega 
+0x720 002689 isub regb ,pdata 
+0x721 002690 istore 1 ,contw 
+0x722 002691 branch p_hfp_is_result_clip_phone_num 
+:      002692 p_hfp_is_result_clip_end:
+0x723 002693 deposit rega 
+0x724 002694 store 1 ,mem_phone_num_len 
+0x725 002695 rtn 
+:      002698 p_hfp_is_result_clcc:
+0x726 002700 fetch 2 ,mem_at_command_ptr 
+0x727 002701 icopy contr 
+0x728 002702 ifetch 1 ,contr 
+0x729 002703 rtnne 0x2b 
+0x72a 002704 ifetch 1 ,contr 
+0x72b 002705 rtnne 0x43 
+0x72c 002706 ifetch 1 ,contr 
+0x72d 002707 rtnne 0x4c 
+0x72e 002708 ifetch 1 ,contr 
+0x72f 002709 rtnne 0x43 
+0x730 002710 ifetch 1 ,contr 
+0x731 002711 rtnne 0x43 
+0x732 002712 enable user 
+0x733 002713 call p_hfp_is_result_clip_loop 
+0x734 002714 fetch 1 ,mem_telephone_dialing_state 
+0x735 002715 rtnne hfp_dialing_state_no 
+0x736 002716 branch p_hfp_dialing_start 
+:      002725 p_hfp_translate_ascii_to_hex:
+0x737 002726 call p_hfp_findcomma 
+0x738 002727 increase -2 ,contr 
+0x739 002728 copy contr ,rega 
+0x73a 002729 force 1 ,regb 
+0x73b 002730 force 0 ,temp 
+:      002731 p_hfp_translate_calculate:
+0x73c 002732 ifetch 1 ,rega 
+0x73d 002733 increase -1 ,rega 
+0x73e 002734 rtneq 0x3d 
+0x73f 002735 rtneq 0x3a 
+0x740 002736 rtneq 0x2c 
+0x741 002737 beq 0x20 ,p_hfp_translate_calculate 
+0x742 002738 pincrease -48 
+0x743 002739 imul32 regb ,pdata 
+0x744 002740 iadd temp ,temp 
+0x745 002741 mul32 regb ,10 ,regb 
+0x746 002742 branch p_hfp_translate_calculate 
+:      002744 p_hfp_findcomma:
+0x747 002745 ifetch 1 ,contr 
+0x748 002746 rtneq 0x0d 
+0x749 002747 rtneq 0x2c 
+0x74a 002748 branch p_hfp_findcomma 
+:      002750 p_hfp_send_credit_return:
+0x74b 002751 call get_rfcomm_snd_adss 
+0x74c 002752 branch rfcomm_send_uih_without_payload 
+:      002754 p_hfp_tx_rfcomm_without_credit:
+0x74d 002755 fetch 1 ,mem_remote_credits 
+0x74e 002756 rtn blank 
+0x74f 002757 increase -1 ,pdata 
+0x750 002758 store 1 ,mem_remote_credits 
+0x751 002759 fetch 1 ,mem_hiufcs_spp 
+0x752 002760 store 1 ,mem_rfcomm_send_fcs 
+0x753 002761 setarg rsp_tx_uih 
+0x754 002762 store 1 ,mem_rfcomm_send_frame_type 
+0x755 002763 call get_rfcomm_snd_adss 
+0x756 002764 fetch 2 ,mem_current_packet_length 
+0x757 002765 increase 4 ,pdata 
+0x758 002766 icopy rega 
+0x759 002767 call p_l2cap_malloc_rfcomm_channel 
+0x75a 002768 fetch 1 ,mem_rfcomm_send_adss 
+0x75b 002769 istore 1 ,contw 
+0x75c 002770 fetch 1 ,mem_rfcomm_send_frame_type 
+0x75d 002771 istore 1 ,contw 
+0x75e 002772 call p_rfc_tx_write_length 
+0x75f 002773 fetch 2 ,mem_current_packet_length 
+0x760 002774 copy pdata ,loopcnt 
+0x761 002775 fetch 2 ,mem_at_rfcomm_data_ptr 
+0x762 002776 copy pdata ,contr 
+0x763 002777 call memcpy 
+0x764 002778 fetch 1 ,mem_rfcomm_send_fcs 
+0x765 002779 istore 1 ,contw 
+0x766 002780 setarg 0 
+0x767 002781 store 2 ,mem_current_packet_length 
+0x768 002782 rtn 
+:      002784 p_rfc_tx_write_length:
+0x769 002785 fetch 2 ,mem_current_packet_length 
+0x76a 002786 lshift pdata ,pdata 
+0x76b 002787 set1 0 ,pdata 
+0x76c 002788 istore 1 ,contw 
+0x76d 002789 rtn 
+:      002792 p_l2cap_malloc_rfcomm_channel:
+0x76e 002793 call l2cap_malloc_rfcomm_channel 
+0x76f 002794 call l2cap_get_rfcomm_tx_buff 
+0x770 002795 copy rega ,pdata 
+0x771 002796 istore 2 ,contw 
+0x772 002797 fetch 2 ,mem_rfcomm_remote_cid 
+0x773 002798 istore 2 ,contw 
+0x774 002799 rtn 
+:      002808 p_sdp_process:
+0x775 002809 copy contr ,temp 
+0x776 002810 arg 4 ,loopcnt 
+0x777 002811 arg mem_sdp_handle_list ,contw 
+0x778 002812 call memset0 
+0x779 002813 copy temp ,contr 
+0x77a 002814 deposit regb 
+0x77b 002815 beq sdp_search_res ,p_sdp_process_ss_res 
+0x77c 002816 beq sdp_attribute_res ,p_sdp_process_sa_res 
+0x77d 002817 branch sdp_process + 19 
+:      002819 p_sdp_process_ss_res:
+0x77e 002820 ifetch 2 ,contr 
+0x77f 002821 ifetch 2 ,contr 
+0x780 002822 byteswap pdata ,pdata 
+0x781 002823 bne 1 ,assert 
+0x782 002824 ifetch 4 ,contr 
+0x783 002825 store 4 ,mem_sdp_record_handle 
+0x784 002826 fetch 1 ,mem_sdp_state 
+0x785 002827 set1 l2cap_channel_state_recv_search_res ,pdata 
+0x786 002828 store 1 ,mem_sdp_state 
+0x787 002829 rtn 
+:      002831 p_sdp_process_sa_res:
+0x788 002832 fetch 1 ,mem_sdp_state 
+0x789 002833 set1 l2cap_channel_state_recv_attrib_res ,pdata 
+0x78a 002834 store 1 ,mem_sdp_state 
+0x78b 002835 copy temp ,contr 
+0x78c 002836 ifetch 2 ,contr 
+0x78d 002837 call search_rfcomm_cn 
+0x78e 002838 store 1 ,mem_remote_spp_channel 
+0x78f 002839 rtn 
+:      002842 p_process_upper_sm_reconn:
+0x790 002843 fetch 1 ,mem_upper_sm_reconn 
+0x791 002844 rtn blank 
+0x792 002845 beq uppersm_reconn_sdp_cfg_wait ,p_process_upper_sm_reconn_sdp_cfg_wait 
+0x793 002846 beq uppersm_reconn_search_service ,p_process_upper_sm_reconn_search_service 
+0x794 002847 beq uppersm_reconn_search_service_wait ,p_process_upper_sm_reconn_search_service_wait 
+0x795 002848 beq uppersm_reconn_search_attrib ,p_process_upper_sm_reconn_search_attrib 
+0x796 002849 beq uppersm_reconn_search_attrib_wait ,p_process_upper_sm_reconn_search_attrib_wait 
+0x797 002850 branch process_upper_sm_reconn + 3 
+:      002852 p_process_upper_sm_reconn_sdp_cfg_wait:
+0x798 002853 fetch 1 ,mem_sdp_state 
+0x799 002854 rtnne l2cap_channel_setup_complete 
+0x79a 002855 jam uppersm_reconn_search_service ,mem_upper_sm_reconn 
+0x79b 002856 branch process_upper_sm_reconn 
+:      002858 p_process_upper_sm_reconn_search_service:
+0x79c 002859 jam uppersm_reconn_search_service_wait ,mem_upper_sm_reconn 
+0x79d 002860 arg 13 ,rega 
+0x79e 002861 setarg sdp_uuid_hs_audio_gateway 
+0x79f 002862 store 2 ,mem_search_uuid 
+0x7a0 002863 branch p_sdp_send_search_req 
+:      002865 p_process_upper_sm_reconn_search_service_wait:
+0x7a1 002866 fetch 1 ,mem_sdp_state 
+0x7a2 002867 rtnbit0 l2cap_channel_state_recv_search_res 
+0x7a3 002868 fetch 4 ,mem_sdp_record_handle 
+0x7a4 002869 branch app_bt_disconnect ,blank 
+0x7a5 002870 jam uppersm_reconn_search_attrib ,mem_upper_sm_reconn 
+0x7a6 002871 branch process_upper_sm_reconn 
+:      002873 p_process_upper_sm_reconn_search_attrib:
+0x7a7 002874 jam uppersm_reconn_search_attrib_wait ,mem_upper_sm_reconn 
+0x7a8 002875 arg 19 ,rega 
+0x7a9 002876 branch p_sdp_send_attribute_req 
+:      002878 p_process_upper_sm_reconn_search_attrib_wait:
+0x7aa 002879 fetch 1 ,mem_sdp_state 
+0x7ab 002880 rtnbit0 l2cap_channel_state_recv_attrib_res 
+0x7ac 002881 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+0x7ad 002882 branch process_upper_sm_reconn_ss_spp_wait 
+:      002887 p_sdp_send_search_req:
+0x7ae 002888 call p_l2cap_malloc_sdp_req 
+0x7af 002889 setarg sdp_search_req 
+0x7b0 002890 istore 1 ,contw 
+0x7b1 002891 fetch 2 ,mem_sdp_transactionid_local 
+0x7b2 002892 byteswap pdata ,pdata 
+0x7b3 002893 istore 2 ,contw 
+0x7b4 002894 increase -5 ,rega 
+0x7b5 002895 byteswap rega ,rega 
+0x7b6 002896 copy rega ,pdata 
+0x7b7 002897 istore 2 ,contw 
+0x7b8 002898 setarg 0x0335 
+0x7b9 002899 istore 2 ,contw 
+0x7ba 002900 setarg 0x19 
+0x7bb 002901 istore 1 ,contw 
+0x7bc 002902 fetch 2 ,mem_search_uuid 
+0x7bd 002903 istore 2 ,contw 
+0x7be 002904 setarg 0x0008 
+0x7bf 002905 istore 2 ,contw 
+0x7c0 002906 setarg 0 
+0x7c1 002907 istore 1 ,contw 
+0x7c2 002908 rtn 
+:      002911 p_sdp_send_attribute_req:
+0x7c3 002912 call p_l2cap_malloc_sdp_req 
+0x7c4 002913 setarg sdp_attribute_req 
+0x7c5 002914 istore 1 ,contw 
+0x7c6 002915 fetch 2 ,mem_sdp_transactionid_local 
+0x7c7 002916 byteswap pdata ,pdata 
+0x7c8 002917 istore 2 ,contw 
+0x7c9 002918 increase -5 ,rega 
+0x7ca 002919 byteswap rega ,rega 
+0x7cb 002920 copy rega ,pdata 
+0x7cc 002921 istore 2 ,contw 
+0x7cd 002922 fetch 4 ,mem_sdp_record_handle 
+0x7ce 002923 istore 4 ,contw 
+0x7cf 002924 setarg 0x2c01 
+0x7d0 002925 istore 2 ,contw 
+0x7d1 002926 setarg 0x0535 
+0x7d2 002927 istore 2 ,contw 
+0x7d3 002928 setarg 0x0a 
+0x7d4 002929 istore 1 ,contw 
+0x7d5 002930 setarg 0 
+0x7d6 002931 istore 2 ,contw 
+0x7d7 002932 setarg -1 
+0x7d8 002933 istore 2 ,contw 
+0x7d9 002934 setarg 0 
+0x7da 002935 istore 1 ,contw 
+0x7db 002936 rtn 
+:      002938 p_l2cap_malloc_sdp_req:
+0x7dc 002939 fetch 2 ,mem_sdp_transactionid_local 
+0x7dd 002940 increase 1 ,pdata 
+0x7de 002941 store 2 ,mem_sdp_transactionid_local 
+:      002942 p_l2cap_malloc_server_channel:
+0x7df 002943 call push_stack_rega_b_c 
+0x7e0 002944 call l2cap_malloc_sdp_channel 
+0x7e1 002945 call pop_stack_rega_b_c 
+0x7e2 002946 call l2cap_get_sdp_tx_buff 
+0x7e3 002947 istorer rega ,2 ,pdata 
+0x7e4 002948 fetch 2 ,mem_sdp_remote_cid 
+0x7e5 002949 istore 2 ,contw 
+0x7e6 002950 rtn 
+:      002962 p_master_page_no_interval:
+0x7e7 002963 fetcht 2 ,mem_page_window 
+0x7e8 002964 force 40 ,queue 
+0x7e9 002965 call sniff_check_window 
+0x7ea 002966 branch page_exit ,user 
+0x7eb 002967 branch page_start 
+              org 0x4000
+:      002978 start:
+0x4000 002979 call lpmstate 
+:      002980 soft_reset:
+0x4001 002981 bpatch patch00_0 ,mem_patch00 
+0x4002 002982 clear_stack 
+0x4003 002983 call initialize_radio 
+0x4004 002984 call init_param 
+0x4005 002985 call l2cap_init 
+0x4006 002986 bpatch patch00_1 ,mem_patch00 
+0x4007 002987 call rfcomm_init 
+0x4008 002988 call init_lmp 
+0x4009 002989 call ui_init 
+0x400a 002990 call app_init 
+0x400b 002991 bpatch patch00_2 ,mem_patch00 
+0x400c 002992 call app_lpm_init ,wake 
+0x400d 002993 call publickey_init 
+0x400e 002994 call lpm_recover_clk ,wake 
+:      002995 main_loop:
+0x400f 002996 bpatch patch00_3 ,mem_patch00 
+0x4010 002997 call sp_calc_sequence 
+0x4011 002998 call sp_calc_sequence_256 
+0x4012 002999 call sp_calc_sequence_256_check 
+0x4013 003000 call le_dispatch 
+0x4014 003001 bpatch patch00_4 ,mem_patch00 
+0x4015 003002 call idle_dispatch 
+0x4016 003003 call app_process_idle 
+0x4017 003004 call inquiry_dispatch 
+0x4018 003005 call inquiry_scan_dispatch 
+0x4019 003006 call page_scan_dispatch 
+0x401a 003007 call connection_dispatch 
+0x401b 003008 call lpm_dispatch 
+0x401c 003009 branch main_loop 
+:      003011 connection_dispatch:
+0x401d 003012 call connection_incontext 
+0x401e 003013 rtnmark0 mark_context 
+0x401f 003014 set0 mark_context ,mark 
+0x4020 003015 call context_save 
+0x4021 003016 branch le_disable 
+:      003018 connection_incontext:
+0x4022 003019 bpatch patch00_5 ,mem_patch00 
+0x4023 003020 call context_search_insniff 
+0x4024 003021 nbranch connection_nosniff ,zero 
+0x4025 003022 call context_load 
+0x4026 003023 add rega ,coffset_mode ,contr 
+0x4027 003024 ifetch 1 ,contr 
+0x4028 003025 bbit1 mode_le ,le_conn_dispatch 
+0x4029 003026 bbit1 mode_master ,master_dispatch 
+0x402a 003027 branch slave_dispatch 
+:      003028 connection_nosniff:
+0x402b 003029 call context_get_next 
+0x402c 003030 copy loopcnt ,null 
+0x402d 003031 rtn zero 
+0x402e 003032 call context_load 
+0x402f 003033 fetch 1 ,mem_state 
+0x4030 003034 bbit1 state_inpage ,master_page 
+0x4031 003035 fetch 1 ,mem_mode 
+0x4032 003036 bbit1 mode_master ,master_dispatch 
+0x4033 003037 branch slave_dispatch 
+:      003045 idle_dispatch:
+0x4034 003046 fetch 1 ,mem_hci_cmd 
+0x4035 003047 rtn blank 
+0x4036 003048 beq hci_cmd_inquiry ,idle_inquiry 
+0x4037 003049 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+0x4038 003050 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+0x4039 003051 beq hci_cmd_create_conn ,idle_create_conn 
+0x403a 003052 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+0x403b 003053 call context_search_conn_handle 
+0x403c 003054 rtn zero 
+0x403d 003055 call context_search_plap 
+0x403e 003056 rtn zero 
+:      003057 idle_exit:
+0x403f 003058 jam 0 ,mem_hci_cmd 
+0x4040 003059 rtn 
+:      003061 idle_le_create_conn:
+0x4041 003062 jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+0x4042 003063 jam 0 ,mem_hci_cmd 
+0x4043 003064 rtn 
+:      003066 idle_inquiry:
+0x4044 003067 set1 mark_inquiry_on ,mark 
+0x4045 003068 set0 mark_inquiry_trainb ,mark 
+0x4046 003069 jam param_ninquiry ,mem_ninqy_index 
+0x4047 003070 jam 31 ,mem_nfreq_index_inq 
+0x4048 003071 branch idle_exit 
+:      003073 idle_inquiry_cancel:
+0x4049 003074 set0 mark_inquiry_on ,mark 
+0x404a 003075 force 0 ,stop_watch 
+0x404b 003076 branch idle_exit 
+:      003078 idle_remote_name_req:
+0x404c 003079 call context_search_plap 
+0x404d 003080 rtn zero 
+0x404e 003081 force lmp_name_req ,temp 
+0x404f 003082 jam 5 ,mem_nameres_cnt 
+0x4050 003083 branch idle_start_page 
+:      003085 idle_create_conn:
+0x4051 003086 bpatch patch00_6 ,mem_patch00 
+:      003087 idle_create_conn_device:
+0x4052 003088 fetch 6 ,mem_hci_plap 
+0x4053 003089 branch idle_exit ,blank 
+0x4054 003090 jam reconnect_hid ,memui_reconnect_mode 
+0x4055 003092 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x4056 003093 branch idle_create_conn_cont 
+:      003095 idle_create_conn_cont:
+0x4057 003096 force lmp_version_req ,temp 
+:      003097 idle_start_page:
+0x4058 003098 bpatch patch00_7 ,mem_patch00 
+0x4059 003099 fetch 1 ,mem_page_mode 
+0x405a 003100 branch idle_page_mode_r0 ,blank 
+0x405b 003101 lshift3 pdata ,pdata 
+0x405c 003102 lshift4 pdata ,pdata 
+0x405d 003103 increase -1 ,pdata 
+:      003104 idle_page_mode_r0:
+0x405e 003105 store 1 ,mem_npage 
+0x405f 003106 store 1 ,mem_npage_index 
+0x4060 003107 jam 31 ,mem_nfreq_index_page 
+0x4061 003108 set0 mark_page_trainb ,mark 
+0x4062 003109 call context_new 
+0x4063 003110 nbranch idle_page_fail ,zero 
+0x4064 003111 call get_free_amaddr 
+0x4065 003112 store 1 ,mem_amaddr 
+0x4066 003113 storet 1 ,mem_lmo_opcode2 
+0x4067 003114 fetch 6 ,mem_hci_plap 
+0x4068 003115 store 6 ,mem_plap 
+0x4069 003116 bpatch patch01_0 ,mem_patch01 
+0x406a 003117 call timer_reinit 
+0x406b 003118 force 0 ,pdata 
+0x406c 003119 compare lmp_name_req ,temp ,0xff 
+0x406d 003120 nsetflag true ,state_init_seq ,pdata 
+0x406e 003121 set1 state_inpage ,pdata 
+0x406f 003122 store 1 ,mem_state 
+0x4070 003123 jam bt_evt_reconn_started ,mem_fifo_temp 
+0x4071 003124 call ui_ipc_send_event 
+0x4072 003125 force 0 ,pdata 
+0x4073 003126 setflag true ,smap_name_req ,pdata 
+0x4074 003127 store 1 ,mem_state_map 
+0x4075 003128 setarg 0 
+0x4076 003129 set1 mode_master ,pdata 
+0x4077 003130 store 1 ,mem_mode 
+0x4078 003131 enable master 
+0x4079 003132 call context_save 
+0x407a 003133 disable master 
+0x407b 003134 force page_length_timer ,queue 
+0x407c 003135 fetch 2 ,mem_page_to 
+0x407d 003136 call timer_init 
+0x407e 003137 branch idle_exit 
+:      003138 idle_page_fail:
+0x407f 003139 bpatch patch01_1 ,mem_patch01 
+0x4080 003140 fetch 6 ,mem_hci_plap 
+0x4081 003141 store 6 ,mem_plap 
+0x4082 003142 compare lmp_name_req ,temp ,0xff 
+0x4083 003143 branch idle_name_fail ,true 
+0x4084 003144 branch idle_exit 
+:      003145 idle_name_fail:
+0x4085 003146 arg mem_tmp_buffer ,contw 
+0x4086 003147 arg 8 ,loopcnt 
+0x4087 003148 call memset0 
+0x4088 003149 jam bt_evt_reconn_failed ,mem_fifo_temp 
+0x4089 003150 call ui_ipc_send_event 
+0x408a 003151 branch idle_exit 
+:      003158 inquiry_dispatch:
+0x408b 003159 rtnmark0 mark_inquiry_on 
+0x408c 003160 force inquiry_length_timer ,queue 
+0x408d 003161 call timer_check 
+0x408e 003162 nsetflag blank ,mark_inquiry_on ,mark 
+0x408f 003163 nbranch inquiry_start ,blank 
+0x4090 003164 rtn 
+:      003168 inquiry_start:
+0x4091 003169 bpatch patch01_2 ,mem_patch01 
+0x4092 003170 fetcht 2 ,mem_inq_window 
+0x4093 003171 force 4 ,queue 
+0x4094 003172 call sniff_check_window 
+0x4095 003173 rtn user 
+0x4096 003174 call afh_clear 
+0x4097 003175 force 0 ,freq_mode 
+:      003176 inquiry_restart:
+0x4098 003177 rtn timeout 
+0x4099 003178 set0 mark_fhs_already_good ,mark 
+0x409a 003179 set0 mark_fhs_eir ,mark 
+:      003180 inquiry_rx_restart:
+0x409b 003181 add clkn_bt ,1 ,bt_clk 
+0x409c 003182 isolate1 mark_inquiry_trainb ,mark 
+0x409d 003183 setflag true ,2 ,freq_mode 
+0x409e 003184 compare 0x00 ,bt_clk ,0x02 
+0x409f 003185 nbranch inquiry_receive ,true 
+:      003187 inquiry_transmit:
+0x40a0 003188 bpatch patch01_3 ,mem_patch01 
+0x40a1 003189 fetch 1 ,mem_inquiry_transmit 
+0x40a2 003190 increase 1 ,pdata 
+0x40a3 003191 store 1 ,mem_inquiry_transmit 
+0x40a4 003192 call fetch_giac 
+0x40a5 003193 call tx_radio_freq 
+0x40a6 003194 call fetch_diac 
+0x40a7 003195 call start_transmitter 
+0x40a8 003196 call start_tx_native 
+0x40a9 003197 call send_access_word 
+0x40aa 003198 call end_of_packet 
+0x40ab 003199 call inquiry_check_train 
+0x40ac 003200 branch inquiry_restart 
+:      003202 inquiry_check_train:
+0x40ad 003203 bpatch patch01_4 ,mem_patch01 
+0x40ae 003204 fetch 1 ,mem_nfreq_index_inq 
+0x40af 003205 increase -1 ,pdata 
+0x40b0 003206 store 1 ,mem_nfreq_index_inq 
+0x40b1 003207 rtn positive 
+0x40b2 003208 jam 31 ,mem_nfreq_index_inq 
+0x40b3 003209 fetch 1 ,mem_ninqy_index 
+0x40b4 003210 increase -1 ,pdata 
+0x40b5 003211 store 1 ,mem_ninqy_index 
+0x40b6 003212 rtn positive 
+0x40b7 003213 setflip mark_inquiry_trainb ,mark 
+0x40b8 003214 jam param_ninquiry ,mem_ninqy_index 
+0x40b9 003215 rtn 
+:      003217 inquiry_receive:
+0x40ba 003218 bpatch patch01_5 ,mem_patch01 
+0x40bb 003219 call fetch_giac 
+0x40bc 003220 call rx_radio_freq 
+0x40bd 003221 call fetch_diac 
+0x40be 003222 call start_rx_native 
+0x40bf 003223 call start_receiver 
+0x40c0 003224 call wait_access_clkn_rt 
+0x40c1 003225 branch inquiry_sync ,sync 
+0x40c2 003226 call inquiry_check_train 
+0x40c3 003227 branch inquiry_rx_restart 
+:      003228 inquiry_sync:
+0x40c4 003229 bpatch patch01_6 ,mem_patch01 
+0x40c5 003230 call save_rssi 
+0x40c6 003231 call scan_mode_whiten 
+0x40c7 003232 call receive_packet_whitened 
+0x40c8 003233 set0 mark_rxbuf_inuse ,mark 
+0x40c9 003234 rtnmark0 mark_fhs_already_good 
+:      003235 inquiry_receive_rtn:
+0x40ca 003236 bpatch patch01_7 ,mem_patch01 
+:      003237 inquiry_receive_eir_rtn:
+0x40cb 003238 fetch 1 ,mem_inquiry_rcv 
+0x40cc 003239 increase 1 ,pdata 
+0x40cd 003240 store 1 ,mem_inquiry_rcv 
+0x40ce 003241 rtn 
+:      003249 master_page:
+0x40cf 003250 bpatch patch02_0 ,mem_patch02 
+0x40d0 003251 enable master 
+0x40d1 003252 enable clknt 
+0x40d2 003253 fetch 2 ,mem_page_interval 
+0x40d3 003254 branch master_page_no_interval ,blank 
+0x40d4 003255 force page_interval_timer ,queue 
+0x40d5 003256 call timer_check 
+0x40d6 003257 nrtn blank 
+:      003258 master_page_no_interval:
+0x40d7 003259 bpatch patch02_1 ,mem_patch02 
+0x40d8 003260 fetcht 2 ,mem_page_window 
+0x40d9 003261 force 40 ,queue 
+0x40da 003262 call sniff_check_window 
+0x40db 003263 branch page_exit ,user 
+0x40dc 003264 force page_length_timer ,queue 
+0x40dd 003265 call timer_check 
+0x40de 003266 nbranch page_start ,blank 
+0x40df 003267 fetch 1 ,mem_state_map 
+0x40e0 003268 bbit1 smap_name_req ,master_npage_timeout 
+0x40e1 003269 branch master_page_timeout 
+:      003270 master_npage_timeout:
+0x40e2 003271 arg mem_tmp_buffer ,contw 
+0x40e3 003272 arg 8 ,loopcnt 
+0x40e4 003273 call memset0 
+:      003274 master_page_timeout:
+0x40e5 003275 bpatch patch02_2 ,mem_patch02 
+0x40e6 003276 jam 0 ,mem_state 
+0x40e7 003277 call init_lmp_work 
+0x40e8 003278 jam 0 ,memui_reconnect_mode 
+0x40e9 003279 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+0x40ea 003280 call ui_ipc_send_event 
+0x40eb 003281 branch page_exit 
+:      003283 page_start:
+0x40ec 003284 bpatch patch02_3 ,mem_patch02 
+0x40ed 003285 force 0 ,timeup 
+0x40ee 003286 until clkn_rt ,meet 
+0x40ef 003287 fetch 1 ,mem_page_clk 
+0x40f0 003288 increase -1 ,pdata 
+0x40f1 003289 ixor clkn_bt ,pdata 
+0x40f2 003290 compare 0 ,pdata ,3 
+0x40f3 003291 nbranch page_start ,true 
+0x40f4 003292 deposit am_addr 
+0x40f5 003293 store 1 ,mem_fhs_am_addr 
+0x40f6 003294 force 0 ,n_tx_slot 
+0x40f7 003295 force 0 ,freq_mode 
+:      003297 page_restart:
+0x40f8 003298 bpatch patch02_4 ,mem_patch02 
+0x40f9 003299 branch page_exit ,timeout 
+0x40fa 003300 call fetch_page_bt_adr 
+0x40fb 003301 arg param_rf_setup ,timeup 
+0x40fc 003302 until clkn_rt ,meet 
+:      003303 page_rx_restart:
+0x40fd 003304 bpatch patch02_5 ,mem_patch02 
+0x40fe 003305 fetch 4 ,mem_page_clk 
+0x40ff 003306 iforce bt_clk 
+0x4100 003307 increase 1 ,pdata 
+0x4101 003308 store 4 ,mem_page_clk 
+0x4102 003309 isolate1 mark_page_trainb ,mark 
+0x4103 003310 setflag true ,2 ,freq_mode 
+0x4104 003311 compare 0x00 ,bt_clk ,0x02 
+0x4105 003312 nbranch page_receive ,true 
+0x4106 003313 fetch 1 ,mem_page_transmit 
+0x4107 003314 increase 1 ,pdata 
+0x4108 003315 store 1 ,mem_page_transmit 
+0x4109 003316 call tx_radio_freq 
+0x410a 003317 call start_transmitter 
+0x410b 003318 call start_tx_native 
+0x410c 003319 call send_access_word 
+0x410d 003320 call end_of_packet 
+0x410e 003321 call page_check_train 
+0x410f 003322 branch page_restart 
+:      003323 page_exit:
+0x4110 003324 bpatch patch02_6 ,mem_patch02 
+0x4111 003325 disable master 
+0x4112 003326 fetch 2 ,mem_page_interval 
+0x4113 003327 rtn blank 
+0x4114 003328 force page_interval_timer ,queue 
+0x4115 003329 branch timer_init 
+:      003331 page_check_train:
+0x4116 003332 bpatch patch02_7 ,mem_patch02 
+0x4117 003333 fetch 1 ,mem_nfreq_index_page 
+0x4118 003334 increase -1 ,pdata 
+0x4119 003335 store 1 ,mem_nfreq_index_page 
+0x411a 003336 rtn positive 
+0x411b 003337 jam 31 ,mem_nfreq_index_page 
+0x411c 003338 fetch 1 ,mem_npage_index 
+0x411d 003339 increase -1 ,pdata 
+0x411e 003340 store 1 ,mem_npage_index 
+0x411f 003341 rtn positive 
+0x4120 003342 setflip mark_page_trainb ,mark 
+0x4121 003343 fetch 1 ,mem_npage 
+0x4122 003344 store 1 ,mem_npage_index 
+0x4123 003345 rtn 
+:      003347 page_receive:
+0x4124 003348 bpatch patch03_0 ,mem_patch03 
+0x4125 003349 call rx_radio_freq 
+0x4126 003350 call start_rx_native 
+0x4127 003351 call start_receiver 
+0x4128 003352 call wait_access_clkn_rt 
+0x4129 003353 branch page_sync ,sync 
+0x412a 003354 call page_check_train 
+0x412b 003355 branch page_rx_restart 
+:      003356 page_sync:
+0x412c 003357 call end_of_packet 
+0x412d 003358 fetch 1 ,mem_page_rcv 
+0x412e 003359 increase 1 ,pdata 
+0x412f 003360 store 1 ,mem_page_rcv 
+0x4130 003361 force 0 ,stop_watch 
+0x4131 003362 fetch 4 ,mem_page_clk 
+:      003363 page_send_fhs:
+0x4132 003364 bpatch patch03_1 ,mem_patch03 
+0x4133 003365 call rf_setup_time_master_slot 
+0x4134 003366 call fetch_page_bt_adr 
+0x4135 003367 increase 1 ,n_tx_slot 
+:      003368 page_send_fhs_continue:
+0x4136 003369 and_into 0x1fd ,bt_clk 
+0x4137 003370 and_into 0x1fc ,freq_mode 
+0x4138 003371 call tx_radio_freq 
+0x4139 003372 call start_transmitter 
+0x413a 003373 call start_tx_native 
+0x413b 003374 call send_access_word 
+0x413c 003375 deposit clkn_bt 
+0x413d 003376 store 4 ,mem_clkn_bt 
+0x413e 003377 force 0 ,am_addr 
+0x413f 003378 force type_fhs ,type 
+0x4140 003379 call scan_mode_whiten 
+0x4141 003380 call transmit_packet_whitened 
+:      003381 page_wait_fhs_reply:
+0x4142 003382 bpatch patch03_2 ,mem_patch03 
+0x4143 003383 call rf_setup_time_slave_slot 
+0x4144 003384 or_into 0x02 ,bt_clk 
+0x4145 003385 and_into 0x1fc ,freq_mode 
+0x4146 003386 call rx_radio_freq 
+0x4147 003387 call start_rx_native 
+0x4148 003388 call start_receiver 
+0x4149 003389 call wait_access_clkn_rt 
+0x414a 003390 call end_of_packet ,sync 
+0x414b 003391 branch page_wait_fhs_reply_ok ,sync 
+0x414c 003392 fetch 1 ,mem_fhs_wait_counter 
+0x414d 003393 branch page_restart ,blank 
+0x414e 003394 increase -1 ,pdata 
+0x414f 003395 store 1 ,mem_fhs_wait_counter 
+0x4150 003396 branch page_send_fhs 
+:      003398 page_wait_fhs_reply_ok:
+0x4151 003399 bpatch patch03_3 ,mem_patch03 
+0x4152 003400 fetch 1 ,mem_page_rcv_fhs 
+0x4153 003401 increase 1 ,pdata 
+0x4154 003402 store 1 ,mem_page_rcv_fhs 
+0x4155 003403 call prepare_newconn 
+:      003404 master_newconn_loop:
+0x4156 003405 call master_newconn_once 
+0x4157 003406 branch newconn_poll_responded ,sync 
+0x4158 003407 call new_conn_timeout 
+0x4159 003408 nbranch master_newconn_loop ,blank 
+0x415a 003409 branch page_restart 
+:      003411 newconn_poll_responded:
+0x415b 003412 bpatch patch03_4 ,mem_patch03 
+0x415c 003413 fetch 1 ,mem_state 
+0x415d 003414 set0 state_inpage ,pdata 
+0x415e 003415 store 1 ,mem_state 
+0x415f 003416 call newconn_init 
+0x4160 003417 disable master 
+0x4161 003418 rtn 
+:      003421 master_dispatch:
+0x4162 003422 bpatch patch03_5 ,mem_patch03 
+0x4163 003423 enable master 
+0x4164 003424 enable clknt 
+0x4165 003425 call role_switch_master 
+0x4166 003426 rtn user 
+0x4167 003427 call check_bt_disabled 
+0x4168 003428 call rf_setup_time_master_slot 
+0x4169 003429 add clkn_bt ,1 ,bt_clk 
+0x416a 003430 call fetch_self_bt_adr 
+0x416b 003431 force 0x03 ,freq_mode 
+0x416c 003432 call scheduler_tx_l2cap_pkt 
+0x416d 003433 call prepare_tx 
+0x416e 003434 call tx_radio_freq 
+0x416f 003435 call start_transmitter 
+0x4170 003436 call start_tx_native 
+0x4171 003437 call send_access_word 
+0x4172 003438 call transmit_packet 
+:      003439 master_loop:
+0x4173 003440 bpatch patch03_6 ,mem_patch03 
+0x4174 003441 call parse_lmp 
+0x4175 003442 call master_conn_recv_packet 
+0x4176 003443 nbranch master_notmatch ,match 
+0x4177 003444 call supervision_flush 
+0x4178 003445 call parse_l2cap 
+0x4179 003446 fetch 1 ,mem_master_rcvcnt 
+0x417a 003447 increase 1 ,pdata 
+0x417b 003448 store 1 ,mem_master_rcvcnt 
+:      003449 master_notmatch:
+0x417c 003450 bpatch patch03_7 ,mem_patch03 
+0x417d 003451 call scheduler_process 
+0x417e 003452 call check_master_disconnect 
+0x417f 003453 nrtn master 
+0x4180 003454 call check_attempt 
+0x4181 003455 nbranch master_attempt ,blank 
+:      003456 master_exit:
+0x4182 003457 disable master 
+0x4183 003458 rtn 
+:      003460 master_attempt:
+0x4184 003461 call prepare_tx 
+0x4185 003462 call master_conn_send_packet 
+0x4186 003463 branch master_loop 
+:      003466 check_master_disconnect:
+0x4187 003467 branch check_master_match ,match 
+0x4188 003468 call supervision_update 
+0x4189 003469 branch master_disconnect ,positive 
+:      003470 check_master_match:
+0x418a 003471 call check_disconnect_timeout 
+0x418b 003472 nbranch master_disconnect ,user 
+0x418c 003473 fetch 1 ,mem_state_map 
+0x418d 003474 rtnbit0 smap_name_req 
+0x418e 003475 rtnbit1 smap_name_res 
+0x418f 003476 fetch 1 ,mem_op 
+0x4190 003477 rtnbit1 op_disconn 
+0x4191 003478 call conn_timer_expired 
+0x4192 003479 nrtn blank 
+0x4193 003480 fetch 1 ,mem_nameres_cnt 
+0x4194 003481 increase -1 ,pdata 
+0x4195 003482 store 1 ,mem_nameres_cnt 
+0x4196 003483 nrtn blank 
+0x4197 003484 branch lmp_disconnect 
+:      003486 master_disconnect:
+0x4198 003487 bpatch patch04_0 ,mem_patch04 
+0x4199 003488 call quit_connection 
+0x419a 003489 disable master 
+0x419b 003490 fetch 1 ,mem_state_map 
+0x419c 003491 bbit1 smap_name_req ,master_name_disconnect 
+0x419d 003492 rtn 
+:      003494 master_name_disconnect:
+0x419e 003495 fetch 1 ,mem_state_map 
+0x419f 003496 rtnbit1 smap_name_res 
+:      003497 master_name_error:
+0x41a0 003498 arg mem_tmp_buffer ,contw 
+0x41a1 003499 arg 8 ,loopcnt 
+0x41a2 003500 branch memset0 
+:      003502 check_disconnect_timeout:
+0x41a3 003503 bpatch patch04_1 ,mem_patch04 
+0x41a4 003504 enable user 
+0x41a5 003505 fetch 1 ,mem_op 
+0x41a6 003506 rtnbit0 op_disconn 
+0x41a7 003507 call conn_timer_expired 
+0x41a8 003508 nrtn blank 
+0x41a9 003509 branch disable_user 
+:      003511 conn_timer_expired:
+0x41aa 003512 fetch 1 ,mem_conn_timer 
+0x41ab 003513 increase -1 ,pdata 
+0x41ac 003514 store 1 ,mem_conn_timer 
+0x41ad 003515 rtn 
+:      003517 linkkey_ready:
+0x41ae 003518 bpatch patch04_2 ,mem_patch04 
+0x41af 003519 fetch 1 ,mem_state 
+0x41b0 003520 bbit1 state_linkkey ,linkkey_set 
+0x41b1 003521 fetch 1 ,mem_pairing_auth 
+0x41b2 003522 branch linkkey_set ,blank 
+0x41b3 003523 jam defalt_pairing_auth ,mem_pairing_auth 
+0x41b4 003524 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+0x41b5 003525 call ui_ipc_send_event 
+0x41b6 003526 branch linkkey_set 
+:      003527 linkkey_set:
+0x41b7 003528 bpatch patch04_3 ,mem_patch04 
+0x41b8 003529 call context_traverse_linkkey 
+0x41b9 003530 fetch 1 ,mem_state 
+0x41ba 003531 set1 state_linkkey ,pdata 
+0x41bb 003532 store 1 ,mem_state 
+0x41bc 003533 jam 1 ,mem_link_key_exists 
+0x41bd 003534 fetch 1 ,mem_conn_sm 
+0x41be 003535 bne conn_sm_pairing ,linkkey_set_continue 
+:      003536 linkkey_set_continue:
+0x41bf 003537 rtn 
+:      003539 generate_linkkey_continue:
+0x41c0 003540 jam pairing_auth ,mem_pairing_auth 
+:      003541 clear_linkstate:
+0x41c1 003542 fetch 1 ,mem_state 
+0x41c2 003543 set0 state_linkkey ,pdata 
+0x41c3 003544 store 1 ,mem_state 
+0x41c4 003545 rtn 
+:      003549 role_switch_check:
+0x41c5 003550 bpatch patch04_4 ,mem_patch04 
+0x41c6 003551 disable user 
+0x41c7 003552 fetch 2 ,mem_tsniff 
+0x41c8 003553 arg 0xffff ,temp 
+0x41c9 003554 isub temp ,null 
+0x41ca 003555 nrtn zero 
+0x41cb 003556 fetch 4 ,mem_sniff_anchor 
+0x41cc 003557 branch role_switch_clkn ,clknt 
+0x41cd 003558 isub clke_bt ,pdata 
+0x41ce 003559 branch role_switch_clke 
+:      003560 role_switch_clkn:
+0x41cf 003561 isub clkn_bt ,pdata 
+:      003562 role_switch_clke:
+0x41d0 003563 sub pdata ,4 ,null 
+0x41d1 003564 nrtn positive 
+0x41d2 003565 force 0 ,pdata 
+0x41d3 003566 store 2 ,mem_tsniff 
+0x41d4 003567 branch enable_user 
+:      003571 role_switch_prepare:
+0x41d5 003572 copy pdata ,temp 
+0x41d6 003573 bpatch patch04_5 ,mem_patch04 
+0x41d7 003574 storet 4 ,mem_sniff_anchor 
+:      003575 role_switch_prepare0:
+0x41d8 003576 jam switch_flag_accept ,mem_switch_flag 
+0x41d9 003577 setarg 0xffff 
+0x41da 003578 store 2 ,mem_tsniff 
+0x41db 003579 jam 1 ,mem_sniff_attempt 
+0x41dc 003580 rtn 
+:      003583 role_switch_master:
+0x41dd 003584 bpatch patch04_6 ,mem_patch04 
+0x41de 003585 call role_switch_check 
+0x41df 003586 nrtn user 
+0x41e0 003587 disable user 
+0x41e1 003588 jam param_newconnto ,mem_newconnto_counter 
+0x41e2 003589 set0 mark_fhs_already_good ,mark 
+:      003590 roles_waitfhs_loop:
+0x41e3 003591 call rf_setup_time_master_slot 
+0x41e4 003592 call master_recv_packet 
+0x41e5 003593 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+0x41e6 003594 call new_conn_timeout 
+0x41e7 003595 nbranch roles_waitfhs_loop ,blank 
+:      003596 role_switch_fail_master:
+0x41e8 003597 bpatch patch04_7 ,mem_patch04 
+0x41e9 003598 disable user 
+0x41ea 003599 deposit clkn_bt 
+0x41eb 003600 store 4 ,mem_next_btclk 
+0x41ec 003601 enable clknt 
+0x41ed 003602 enable master 
+0x41ee 003603 jam bt_evt_switch_fail_master ,mem_fifo_temp 
+0x41ef 003604 branch ui_ipc_send_event 
+:      003606 roles_replyto_fhs:
+0x41f0 003607 bpatch patch05_0 ,mem_patch05 
+0x41f1 003608 call rf_setup_time_slave_slot 
+0x41f2 003609 arg type_id ,type 
+0x41f3 003610 call master_send_packet 
+0x41f4 003611 disable clknt 
+0x41f5 003612 disable master 
+0x41f6 003613 call apply_switch_clke 
+0x41f7 003614 call prepare_newconn 
+:      003615 roles_newconns_loop:
+0x41f8 003616 bpatch patch05_1 ,mem_patch05 
+0x41f9 003617 call slave_newconn_once 
+0x41fa 003618 branch roles_newconns_responded ,match 
+0x41fb 003619 call new_conn_timeout 
+0x41fc 003620 nbranch roles_newconns_loop ,blank 
+0x41fd 003621 branch role_switch_fail_master 
+:      003622 roles_newconns_responded:
+0x41fe 003623 fetch 1 ,mem_mode 
+0x41ff 003624 set0 mode_master ,pdata 
+0x4200 003625 store 1 ,mem_mode 
+0x4201 003626 call supervision_flush 
+0x4202 003627 call calc_clke_offset 
+0x4203 003628 enable user 
+0x4204 003629 jam bt_evt_switch_success_master ,mem_fifo_temp 
+0x4205 003630 branch ui_ipc_send_event 
+:      003635 context_load:
+0x4206 003636 bpatch patch05_2 ,mem_patch05 
+0x4207 003637 set1 mark_context ,mark 
+0x4208 003638 deposit rega 
+0x4209 003639 store 2 ,mem_context_ptr 
+0x420a 003640 force context_size ,loopcnt 
+0x420b 003641 arg mem_le_state ,contw 
+0x420c 003642 add rega ,coffset_mode ,contr 
+0x420d 003643 ifetch 1 ,contr 
+0x420e 003644 copy rega ,contr 
+0x420f 003645 bbit1 mode_le ,memcpy 
+0x4210 003646 arg mem_state ,contw 
+0x4211 003647 call memcpy 
+0x4212 003648 disable attempt 
+0x4213 003649 fetch 1 ,mem_amaddr 
+0x4214 003650 iforce am_addr 
+0x4215 003651 jam 1 ,mem_current_sniff_attempt 
+0x4216 003652 branch context_load_master ,master 
+0x4217 003653 jam 1 ,mem_current_sniff_attempt 
+:      003654 context_load_master:
+0x4218 003655 fetch 1 ,mem_state 
+0x4219 003656 rtnbit0 state_insniff 
+0x421a 003657 fetch 1 ,mem_sniff_attempt 
+0x421b 003658 store 1 ,mem_current_sniff_attempt 
+0x421c 003659 fetch 1 ,mem_sniff_timeout 
+0x421d 003660 store 1 ,mem_current_sniff_timeout 
+0x421e 003661 rtn 
+:      003663 context_save:
+0x421f 003664 bpatch patch05_3 ,mem_patch05 
+0x4220 003665 fetch 2 ,mem_context_ptr 
+0x4221 003666 iforce contw 
+0x4222 003667 force context_size ,loopcnt 
+0x4223 003668 arg mem_le_state ,contr 
+0x4224 003669 branch memcpy ,le 
+0x4225 003670 arg mem_state ,contr 
+0x4226 003671 branch memcpy 
+:      003675 context_get_next:
+0x4227 003676 arg context_num ,loopcnt 
+0x4228 003677 fetcht 1 ,mem_current_context 
+:      003678 context_get_next_loop:
+0x4229 003679 increase 1 ,temp 
+0x422a 003680 compare context_num ,temp ,0xff 
+0x422b 003681 nbranch context_get_next_cont ,true 
+0x422c 003682 arg 0 ,temp 
+:      003683 context_get_next_cont:
+0x422d 003684 storet 1 ,mem_current_context 
+0x422e 003685 mul32 temp ,context_size ,pdata 
+0x422f 003686 arg mem_context ,rega 
+0x4230 003687 iadd rega ,rega 
+0x4231 003688 ifetch 1 ,rega 
+0x4232 003689 bbit1 state_insniff ,context_get_next_sniff 
+0x4233 003690 rtnbit1 state_inconn 
+0x4234 003691 rtnbit1 state_inpage 
+:      003692 context_get_next_sniff:
+0x4235 003693 loop context_get_next_loop 
+0x4236 003694 rtn 
+:      003696 context_new:
+0x4237 003697 bpatch patch05_4 ,mem_patch05 
+0x4238 003698 arg context_search_empty ,regc 
+0x4239 003699 call context_search 
+0x423a 003700 nrtn zero 
+0x423b 003701 deposit rega 
+0x423c 003702 store 2 ,mem_context_ptr 
+0x423d 003703 force 0 ,null 
+0x423e 003704 rtn 
+:      003708 context_check_all_wack:
+0x423f 003709 call check_esco_amaddr 
+0x4240 003710 branch context_check_esco_wack ,true 
+0x4241 003711 fetch 2 ,mem_context_ptr 
+0x4242 003712 add pdata ,coffset_arq ,contw 
+0x4243 003713 fetch 1 ,mem_arq 
+0x4244 003714 istore 1 ,contw 
+0x4245 003715 arg context_check_a_wack ,regc 
+0x4246 003716 branch context_search 
+:      003718 context_check_esco_wack:
+0x4247 003719 fetch 1 ,mem_arq 
+0x4248 003720 isolate1 wack ,pdata 
+0x4249 003721 branch context_esco_wack ,true 
+0x424a 003722 force 1 ,null 
+0x424b 003723 rtn 
+:      003724 context_esco_wack:
+0x424c 003725 force 0 ,null 
+0x424d 003726 rtn 
+:      003729 context_check_idle:
+0x424e 003730 arg context_check_inconn ,regc 
+0x424f 003731 branch context_search 
+:      003733 context_traverse_linkkey:
+0x4250 003734 fetcht 2 ,mem_context_ptr 
+0x4251 003735 arg context_traverse_clearkey ,regc 
+0x4252 003736 branch context_search 
+:      003740 context_search_conn_handle:
+0x4253 003741 fetcht 1 ,mem_hci_conn_handle 
+:      003742 context_search_conn_handle2:
+0x4254 003743 arg context_search_handle ,regc 
+0x4255 003744 branch context_search 
+:      003746 context_search_plap:
+0x4256 003747 bpatch patch05_5 ,mem_patch05 
+0x4257 003748 fetcht 6 ,mem_hci_plap 
+:      003749 context_search_plap2:
+0x4258 003750 arg context_search_lap ,regc 
+0x4259 003751 branch context_search 
+:      003753 context_search_insniff:
+0x425a 003754 arg context_search_sniff ,regc 
+0x425b 003755 branch context_search 
+:      003757 context_search_sniff_window:
+0x425c 003758 arg context_search_window ,regc 
+:      003759 context_search:
+0x425d 003760 bpatch patch05_6 ,mem_patch05 
+0x425e 003761 arg mem_context ,rega 
+0x425f 003762 arg context_num ,loopcnt 
+:      003763 context_search_loop:
+0x4260 003764 ifetch 1 ,rega 
+0x4261 003765 copy regc ,pc 
+:      003766 context_search_next:
+0x4262 003767 increase context_size ,rega 
+0x4263 003768 loop context_search_loop 
+0x4264 003769 force 1 ,null 
+0x4265 003770 rtn 
+:      003772 context_search_empty:
+0x4266 003773 bbit1 state_inconn ,context_search_next 
+0x4267 003774 bbit1 state_inpage ,context_search_next 
+0x4268 003775 force 0 ,null 
+0x4269 003776 rtn 
+:      003778 context_search_lap:
+0x426a 003779 bbit1 state_inpage ,context_search_lap_cont 
+0x426b 003780 bbit0 state_inconn ,context_search_next 
+:      003781 context_search_lap_cont:
+0x426c 003782 add rega ,coffset_plap ,contr 
+0x426d 003783 ifetch 6 ,contr 
+0x426e 003784 isub temp ,null 
+0x426f 003785 rtn zero 
+0x4270 003786 branch context_search_next 
+:      003788 context_search_handle:
+0x4271 003789 bbit0 state_inconn ,context_search_next 
+0x4272 003790 add rega ,coffset_conn_handle ,contr 
+0x4273 003791 ifetch 1 ,contr 
+0x4274 003792 isub temp ,null 
+0x4275 003793 rtn zero 
+0x4276 003794 branch context_search_next 
+:      003796 context_search_sniff:
+0x4277 003797 bbit0 state_insniff ,context_search_next 
+:      003798 context_search_sniff_loop:
+0x4278 003799 call context_get_anchor 
+0x4279 003800 call sign_pdata_temp 
+0x427a 003801 isub temp ,pdata 
+0x427b 003802 increase 1 ,pdata 
+0x427c 003803 branch context_search_sniff_miss ,positive 
+0x427d 003804 copy contr ,regb 
+0x427e 003805 store 9 ,mem_temp 
+0x427f 003806 fetch 1 ,mem_le_sc_calc 
+0x4280 003807 nbranch context_search_sniff_sc ,blank 
+0x4281 003808 fetch 9 ,mem_temp 
+0x4282 003809 copy regb ,contr 
+0x4283 003810 increase 5 ,pdata 
+0x4284 003811 branch context_search_meet1 
+:      003812 context_search_sniff_sc:
+0x4285 003813 fetch 9 ,mem_temp 
+0x4286 003814 copy regb ,contr 
+0x4287 003815 increase 20 ,pdata 
+:      003816 context_search_meet1:
+0x4288 003817 nbranch context_search_next ,positive 
+:      003818 context_search_meet:
+0x4289 003819 copy temp ,bt_clk 
+0x428a 003820 call context_next_anchor 
+0x428b 003821 force 0 ,null 
+0x428c 003822 rtn 
+:      003825 context_search_sniff_miss:
+0x428d 003826 iforce regb 
+0x428e 003827 add rega ,coffset_tsniff ,contr 
+0x428f 003828 ifetch 2 ,contr 
+0x4290 003829 branch context_search_meet ,blank 
+0x4291 003830 call context_next_anchor 
+0x4292 003831 branch context_search_sniff_loop 
+:      003833 sign_pdata_temp:
+0x4293 003834 rshift16 pdata ,timeup 
+0x4294 003835 rshift8 timeup ,timeup 
+0x4295 003836 branch sign_pdata_temp_p0 ,zero 
+0x4296 003837 compare 0xf ,timeup ,0xf 
+0x4297 003838 nrtn true 
+0x4298 003839 rshift16 temp ,timeup 
+0x4299 003840 rshift8 timeup ,timeup 
+0x429a 003841 nrtn zero 
+0x429b 003842 set1 28 ,temp 
+0x429c 003843 rtn 
+:      003844 sign_pdata_temp_p0:
+0x429d 003845 rshift16 temp ,timeup 
+0x429e 003846 rshift8 timeup ,timeup 
+0x429f 003847 compare 0xf ,timeup ,0xf 
+0x42a0 003848 nrtn true 
+0x42a1 003849 set1 28 ,pdata 
+0x42a2 003850 rtn 
+:      003852 context_check_inconn:
+0x42a3 003853 bbit0 state_inconn ,context_search_next 
+0x42a4 003854 force 0 ,null 
+0x42a5 003855 rtn 
+:      003857 context_check_a_wack:
+0x42a6 003858 bbit0 state_inconn ,context_search_next 
+0x42a7 003859 add rega ,coffset_mode ,contr 
+0x42a8 003860 ifetch 1 ,contr 
+0x42a9 003861 bbit1 mode_le ,context_search_next 
+0x42aa 003862 add rega ,coffset_arq ,contr 
+0x42ab 003863 ifetch 1 ,contr 
+0x42ac 003864 bbit0 wack ,context_search_next 
+0x42ad 003865 force 0 ,null 
+0x42ae 003866 rtn 
+:      003868 context_get_anchor:
+0x42af 003869 add rega ,coffset_mode ,contr 
+0x42b0 003870 ifetcht 1 ,contr 
+0x42b1 003871 deposit clkn_bt 
+0x42b2 003872 isolate1 mode_master ,temp 
+0x42b3 003873 add rega ,coffset_sniff_anchor ,contr 
+0x42b4 003874 ifetcht 4 ,contr 
+0x42b5 003875 rtn true 
+0x42b6 003876 add rega ,coffset_clk_offset ,contr 
+0x42b7 003877 ifetch 6 ,contr 
+0x42b8 003878 call calc_clke2 
+0x42b9 003879 deposit clke_bt 
+0x42ba 003880 rtn 
+:      003882 context_next_anchor:
+0x42bb 003883 add rega ,coffset_tsniff ,contr 
+0x42bc 003884 add rega ,coffset_sniff_anchor ,contw 
+0x42bd 003885 ifetch 2 ,contr 
+0x42be 003886 iadd temp ,timeup 
+0x42bf 003887 deposit timeup 
+0x42c0 003888 istore 4 ,contw 
+0x42c1 003889 branch le_context_nexthop 
+:      003892 context_search_window:
+0x42c2 003893 bbit0 state_insniff ,context_search_next 
+0x42c3 003894 call context_get_anchor 
+0x42c4 003895 iadd stop_watch ,pdata 
+0x42c5 003896 iadd stop_watch ,pdata 
+0x42c6 003897 iadd queue ,pdata 
+0x42c7 003898 isub temp ,null 
+0x42c8 003899 nbranch context_search_next ,positive 
+0x42c9 003900 force 0 ,null 
+0x42ca 003901 rtn 
+:      003903 context_traverse_clearkey:
+0x42cb 003904 bbit0 state_inconn ,context_search_next 
+0x42cc 003905 deposit temp 
+0x42cd 003906 isub rega ,null 
+0x42ce 003907 branch context_search_next ,null 
+0x42cf 003908 add rega ,coffset_mode ,contr 
+0x42d0 003909 ifetch 1 ,contr 
+0x42d1 003910 bbit1 mode_le ,context_search_next 
+0x42d2 003911 ifetch 1 ,rega 
+0x42d3 003912 set0 state_linkkey ,pdata 
+0x42d4 003913 istore 1 ,rega 
+0x42d5 003914 branch context_search_next 
+:      003917 master_conn_send_packet:
+0x42d6 003918 bpatch patch05_7 ,mem_patch05 
+0x42d7 003919 call rf_setup_time_master_slot 
+:      003920 master_send_packet:
+0x42d8 003921 add clkn_bt ,1 ,bt_clk 
+0x42d9 003922 call fetch_self_bt_adr 
+0x42da 003923 force 0x03 ,freq_mode 
+0x42db 003924 call tx_radio_freq 
+0x42dc 003925 call start_transmitter 
+0x42dd 003926 call start_tx_native 
+0x42de 003927 call send_access_word 
+0x42df 003928 branch transmit_packet 
+:      003930 master_conn_recv_packet:
+0x42e0 003931 bpatch patch06_0 ,mem_patch06 
+0x42e1 003932 call rf_setup_time_slave_slot 
+:      003933 master_recv_packet:
+0x42e2 003934 add clkn_bt ,1 ,bt_clk 
+0x42e3 003935 call fetch_self_bt_adr 
+0x42e4 003936 force 0x03 ,freq_mode 
+0x42e5 003937 call rx_radio_freq 
+0x42e6 003938 call init_rx_packet_flags 
+0x42e7 003939 call prep_crypt 
+0x42e8 003940 call start_rx_native 
+0x42e9 003941 call start_receiver 
+:      003942 master_rx_conn_finish_packet:
+0x42ea 003943 call wait_access_clkn_rt 
+0x42eb 003944 nrtn sync 
+0x42ec 003945 call save_rssi 
+0x42ed 003946 branch receive_packet 
+:      003950 master_newconn_once:
+0x42ee 003951 bpatch patch06_1 ,mem_patch06 
+0x42ef 003952 fetch 1 ,mem_fhs_am_addr 
+0x42f0 003953 iforce am_addr 
+0x42f1 003954 force type_poll ,type 
+0x42f2 003955 call master_conn_send_packet 
+0x42f3 003956 branch master_conn_recv_packet 
+:      003967 inquiry_scan_dispatch:
+0x42f4 003968 fetch 1 ,mem_scan_mode 
+0x42f5 003969 rtnbit0 inq_scan_mode 
+0x42f6 003970 force iscan_interval_timer ,queue 
+0x42f7 003971 call timer_check 
+0x42f8 003972 nrtn blank 
+0x42f9 003973 fetcht 2 ,mem_iscan_window 
+0x42fa 003974 force 4 ,queue 
+0x42fb 003975 call sniff_check_window 
+0x42fc 003976 rtn user 
+0x42fd 003977 call inquiry_scan_start 
+0x42fe 003978 force iscan_interval_timer ,queue 
+0x42ff 003979 fetch 2 ,mem_iscan_interval 
+0x4300 003980 nbranch timer_init ,sync 
+0x4301 003981 random pdata 
+0x4302 003982 iand mask3ff ,pdata 
+0x4303 003983 branch timer_init 
+:      003986 inquiry_scan_start:
+0x4304 003987 bpatch patch06_2 ,mem_patch06 
+0x4305 003988 jam 0 ,mem_fhs_am_addr 
+0x4306 003989 disable clknt 
+0x4307 003990 disable attempt 
+0x4308 003991 call afh_clear 
+0x4309 003992 and clkn_bt ,0x1fc ,bt_clk 
+0x430a 003993 force 0x01 ,freq_mode 
+0x430b 003994 call fetch_giac 
+0x430c 003995 call rx_radio_freq 
+0x430d 003996 setflip mark_inquiry_state ,mark 
+0x430e 003997 fetch 1 ,mem_inquiryscan_waitcnt 
+0x430f 003998 increase 1 ,pdata 
+0x4310 003999 store 1 ,mem_inquiryscan_waitcnt 
+0x4311 004000 call fetch_diac 
+0x4312 004001 call start_receiver 
+0x4313 004002 call wait_access_forever 
+0x4314 004003 nrtn sync 
+0x4315 004004 bpatch patch06_3 ,mem_patch06 
+0x4316 004005 force 0 ,stop_watch 
+0x4317 004006 call shutdown_radio 
+0x4318 004007 fetch 1 ,mem_inquiryscan_rcvcnt 
+0x4319 004008 increase 1 ,pdata 
+0x431a 004009 store 1 ,mem_inquiryscan_rcvcnt 
+0x431b 004010 call fetch_giac 
+0x431c 004011 call rf_setup_time_slave_slot 
+0x431d 004012 or_into 0x002 ,bt_clk 
+0x431e 004013 force 0x01 ,freq_mode 
+0x431f 004014 call tx_radio_freq 
+0x4320 004015 call fetch_diac 
+0x4321 004016 call start_transmitter 
+0x4322 004017 call start_tx_external 
+0x4323 004018 deposit clkn_bt 
+0x4324 004019 store 4 ,mem_clkn_bt 
+0x4325 004020 call send_access_word 
+0x4326 004021 force type_fhs ,type 
+0x4327 004022 force 0 ,am_addr 
+0x4328 004023 call scan_mode_whiten 
+0x4329 004024 call transmit_packet_whitened 
+0x432a 004025 call send_eir 
+0x432b 004026 and_into 0x1fd ,bt_clk 
+0x432c 004027 increase 1 ,n_tx_slot 
+0x432d 004028 rtn 
+:      004030 send_eir:
+0x432e 004031 bpatch patch06_4 ,mem_patch06 
+0x432f 004032 fetch 1 ,mem_eir_enable 
+0x4330 004033 rtn blank 
+0x4331 004034 arg mem_eir ,contw 
+0x4332 004035 fetch 1 ,mem_local_name_length 
+0x4333 004036 copy pdata ,loopcnt 
+0x4334 004037 increase 1 ,pdata 
+0x4335 004038 istore 1 ,contw 
+0x4336 004039 copy contw ,temp 
+0x4337 004040 increase 1 ,pdata 
+0x4338 004041 store 2 ,mem_tx_len 
+0x4339 004042 copy temp ,contw 
+0x433a 004043 setarg 0x09 
+0x433b 004044 istore 1 ,contw 
+0x433c 004045 arg mem_local_name ,contr 
+0x433d 004046 call memcpy 
+0x433e 004048 arg mem_all_uuid_128bits ,regc 
+0x433f 004049 arg 4 ,loopcnt 
+0x4340 004050 call get_all_uuid 
+0x4341 004051 arg mem_all_uuid_16bits ,regc 
+0x4342 004052 arg 1 ,loopcnt 
+0x4343 004053 call get_all_uuid 
+0x4344 004055 force type_dm3 ,type 
+0x4345 004056 jam 2 ,mem_tx_lch 
+0x4346 004057 setarg mem_eir 
+0x4347 004058 store 2 ,mem_txptr 
+0x4348 004059 call rf_setup_time_slave_slot 
+0x4349 004060 call tx_radio_freq 
+0x434a 004061 call start_transmitter 
+0x434b 004062 call start_tx_external 
+0x434c 004063 call send_access_word 
+0x434d 004064 call scan_mode_whiten 
+0x434e 004065 call transmit_packet_whitened 
+0x434f 004066 rtn 
+:      004069 get_all_uuid:
+0x4350 004070 copy contw ,temp 
+0x4351 004071 copy regc ,contr 
+0x4352 004072 ifetch 1 ,contr 
+0x4353 004073 rtn blank 
+:      004074 lshift_loop:
+0x4354 004075 lshift pdata ,pdata 
+0x4355 004076 loop lshift_loop 
+0x4356 004077 copy pdata ,rega 
+0x4357 004078 increase 2 ,pdata 
+0x4358 004079 copy pdata ,queue 
+0x4359 004080 fetch 2 ,mem_tx_len 
+0x435a 004081 iadd queue ,pdata 
+0x435b 004082 store 2 ,mem_tx_len 
+0x435c 004083 copy temp ,contw 
+0x435d 004084 copy rega ,pdata 
+0x435e 004085 increase 1 ,pdata 
+0x435f 004086 istore 1 ,contw 
+0x4360 004087 copy regc ,contr 
+0x4361 004088 ifetch 1 ,contr 
+0x4362 004089 ifetch 1 ,contr 
+0x4363 004090 istore 1 ,contw 
+0x4364 004091 copy rega ,loopcnt 
+0x4365 004092 branch memcpy 
+:      004098 page_scan_dispatch:
+0x4366 004099 fetch 1 ,mem_scan_mode 
+0x4367 004100 rtnbit0 page_scan_mode 
+0x4368 004101 force pscan_interval_timer ,queue 
+0x4369 004102 call timer_check 
+0x436a 004103 nrtn blank 
+0x436b 004104 fetcht 2 ,mem_pscan_window 
+0x436c 004105 force 40 ,queue 
+0x436d 004106 call sniff_check_window 
+0x436e 004107 rtn user 
+0x436f 004108 force 0 ,am_addr 
+0x4370 004109 jam param_pagerespto ,mem_fhs_wait_counter 
+0x4371 004110 set0 mark_fhs_already_good ,mark 
+0x4372 004111 call page_scan_start 
+0x4373 004112 force pscan_interval_timer ,queue 
+0x4374 004113 fetch 2 ,mem_pscan_interval 
+0x4375 004114 branch timer_init 
+:      004117 page_scan_start:
+0x4376 004118 bpatch patch06_5 ,mem_patch06 
+0x4377 004119 disable clknt 
+0x4378 004120 call afh_clear 
+0x4379 004121 fetch 1 ,mem_pagescan_waitcnt 
+0x437a 004122 increase 1 ,pdata 
+0x437b 004123 store 1 ,mem_pagescan_waitcnt 
+0x437c 004124 force 0 ,n_tx_slot 
+0x437d 004125 call fetch_self_bt_adr 
+0x437e 004126 add clkn_bt ,1 ,bt_clk 
+0x437f 004127 force 0x02 ,freq_mode 
+0x4380 004128 bpatch patch06_6 ,mem_patch06 
+0x4381 004129 call rx_radio_freq 
+0x4382 004130 call start_receiver 
+0x4383 004131 call wait_access_forever 
+0x4384 004132 nrtn sync 
+0x4385 004133 call shutdown_radio 
+0x4386 004134 fetch 1 ,mem_pagescan_rcvcnt 
+0x4387 004135 increase 1 ,pdata 
+0x4388 004136 store 1 ,mem_pagescan_rcvcnt 
+0x4389 004137 force 0 ,stop_watch 
+0x438a 004138 call rf_setup_time_slave_slot 
+0x438b 004139 or_into 0x002 ,bt_clk 
+0x438c 004140 force 0x01 ,freq_mode 
+0x438d 004141 call tx_radio_freq 
+0x438e 004142 call start_transmitter 
+0x438f 004143 call start_tx_external 
+0x4390 004144 call send_access_word 
+0x4391 004145 call end_of_packet 
+0x4392 004146 force 0 ,am_addr 
+0x4393 004147 arg param_rf_setup ,timeup 
+0x4394 004148 until clke_rt ,meet 
+0x4395 004149 or_into 0x03 ,clke_bt 
+0x4396 004150 and_into 0x1fd ,bt_clk 
+:      004151 page_scan_wait_fhs_restart:
+0x4397 004152 bpatch patch06_7 ,mem_patch06 
+0x4398 004153 increase 1 ,n_tx_slot 
+0x4399 004154 call rx_radio_freq 
+0x439a 004155 call start_receiver 
+0x439b 004156 call wait_access_mhalfbnd 
+0x439c 004157 nbranch page_scan_wait_fhs_again ,sync 
+0x439d 004158 call scan_mode_whiten 
+0x439e 004159 call receive_packet_whitened 
+0x439f 004160 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+:      004161 page_scan_wait_fhs_again:
+0x43a0 004162 bpatch patch07_0 ,mem_patch07 
+0x43a1 004163 fetch 1 ,mem_fhs_wait_counter 
+0x43a2 004164 rtn blank 
+0x43a3 004165 increase -1 ,pdata 
+0x43a4 004166 store 1 ,mem_fhs_wait_counter 
+0x43a5 004167 call rf_setup_time_master_slot 
+0x43a6 004168 branch page_scan_wait_fhs_restart 
+:      004171 page_scan_reply_to_fhs:
+0x43a7 004172 bpatch patch07_1 ,mem_patch07 
+0x43a8 004173 set0 1 ,clke_bt 
+0x43a9 004174 set1 0 ,clke_bt 
+0x43aa 004175 fetch 1 ,mem_pagescan_rcvfhscnt 
+0x43ab 004176 increase 1 ,pdata 
+0x43ac 004177 store 1 ,mem_pagescan_rcvfhscnt 
+0x43ad 004178 call rf_setup_time_slave_slot 
+0x43ae 004179 or_into 0x02 ,bt_clk 
+0x43af 004180 call tx_radio_freq 
+0x43b0 004181 call start_transmitter 
+0x43b1 004182 call start_tx_external 
+0x43b2 004183 call send_access_word 
+0x43b3 004184 call end_of_packet 
+:      004185 slave_apply_clke_bt:
+0x43b4 004186 compare 0x03 ,clke_bt ,0x03 
+0x43b5 004187 branch slave_apply_clke_bt_now ,true 
+0x43b6 004188 until null ,mhalfbnd 
+0x43b7 004189 branch slave_apply_clke_bt 
+:      004190 slave_apply_clke_bt_now:
+0x43b8 004191 fetch 4 ,mem_clke_bt 
+0x43b9 004192 or_into 0x03 ,pdata 
+0x43ba 004193 icopy clke_bt 
+:      004195 start_slave_connection:
+0x43bb 004196 bpatch patch07_2 ,mem_patch07 
+0x43bc 004197 fetch 6 ,extm_lap 
+0x43bd 004198 store 6 ,mem_plap 
+0x43be 004199 call prepare_newconn 
+:      004200 slave_newconn_loop:
+0x43bf 004201 call slave_newconn_once 
+0x43c0 004202 branch sconn_successful ,match 
+0x43c1 004203 call new_conn_timeout 
+0x43c2 004204 nbranch slave_newconn_loop ,blank 
+0x43c3 004205 rtn 
+:      004208 sconn_successful:
+0x43c4 004209 bpatch patch07_3 ,mem_patch07 
+0x43c5 004210 call newconn_init 
+0x43c6 004211 call context_new 
+0x43c7 004212 nrtn zero 
+0x43c8 004213 jam 0 ,mem_mode 
+0x43c9 004214 call calc_clke_offset 
+0x43ca 004215 branch context_save 
+:      004220 slave_dispatch:
+0x43cb 004221 bpatch patch07_4 ,mem_patch07 
+0x43cc 004222 call calc_clke 
+0x43cd 004223 call role_switch_slave 
+0x43ce 004224 rtn user 
+:      004225 slave_loop:
+0x43cf 004226 bpatch patch07_5 ,mem_patch07 
+0x43d0 004227 call check_bt_disabled 
+0x43d1 004228 call scheduler_process 
+0x43d2 004229 call slave_conn_recv_packet 
+0x43d3 004230 nbranch slave_notmatch ,match 
+0x43d4 004231 call supervision_flush 
+0x43d5 004232 call scheduler_tx_l2cap_pkt 
+0x43d6 004233 call prepare_tx 
+0x43d7 004234 call slave_conn_send_packet 
+0x43d8 004235 call parse_l2cap 
+0x43d9 004236 call parse_lmp 
+0x43da 004237 fetch 1 ,mem_slave_rcvcnt 
+0x43db 004238 increase 1 ,pdata 
+0x43dc 004239 store 1 ,mem_slave_rcvcnt 
+0x43dd 004240 call calc_clke_offset 
+:      004241 slave_notmatch:
+0x43de 004242 bpatch patch07_6 ,mem_patch07 
+0x43df 004243 call lpm_set_mult 
+0x43e0 004244 call supervision_update 
+0x43e1 004245 branch slave_disconnect ,positive 
+0x43e2 004246 call check_disconnect_timeout 
+0x43e3 004247 nbranch slave_disconnect ,user 
+0x43e4 004248 call check_attempt 
+0x43e5 004249 nbranch slave_loop ,blank 
+0x43e6 004250 rtn 
+:      004252 slave_disconnect:
+0x43e7 004253 bpatch patch07_7 ,mem_patch07 
+0x43e8 004254 jam 0 ,mem_tester_emulate 
+0x43e9 004255 jam 0 ,mem_debug_config 
+0x43ea 004256 call quit_connection 
+0x43eb 004257 set0 mark_testmode ,mark 
+0x43ec 004258 call test_enable_white 
+0x43ed 004259 fetch 1 ,mem_state 
+0x43ee 004260 rtn 
+:      004263 role_switch_slave:
+0x43ef 004264 bpatch patch08_0 ,mem_patch08 
+0x43f0 004265 call role_switch_check 
+0x43f1 004266 nrtn user 
+0x43f2 004267 copy am_addr ,temp 
+0x43f3 004268 call get_free_amaddr 
+0x43f4 004269 store 1 ,mem_fhs_am_addr 
+0x43f5 004270 copy temp ,am_addr 
+0x43f6 004271 jam param_newconnto ,mem_newconnto_counter 
+:      004272 roles_sendfhs_loop:
+0x43f7 004273 bpatch patch08_1 ,mem_patch08 
+0x43f8 004274 call rf_setup_time_master_slot 
+0x43f9 004275 force type_fhs ,type 
+0x43fa 004276 call slave_send_access 
+0x43fb 004277 deposit clkn_bt 
+0x43fc 004278 store 4 ,mem_clkn_bt 
+0x43fd 004279 call transmit_packet 
+0x43fe 004280 call rf_setup_time_slave_slot 
+0x43ff 004281 enable user3 
+0x4400 004282 call slave_receive_access 
+0x4401 004283 branch roles_got_fhs_reply ,sync 
+0x4402 004284 call shutdown_radio 
+0x4403 004285 call new_conn_timeout 
+0x4404 004286 nbranch roles_sendfhs_loop ,blank 
+0x4405 004287 rtnmark0 mark_accept_switch 
+0x4406 004288 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x4407 004289 set1 mark_switch_initiated ,mark 
+0x4408 004290 rtn 
+:      004291 roles_got_fhs_reply:
+0x4409 004292 enable clknt 
+0x440a 004293 call prepare_newconn 
+0x440b 004294 call afh_clear 
+:      004295 roles_newconn_loop:
+0x440c 004296 bpatch patch08_2 ,mem_patch08 
+0x440d 004297 call master_newconn_once 
+0x440e 004298 branch roles_newconn_responded ,sync 
+0x440f 004299 call new_conn_timeout 
+0x4410 004300 nbranch roles_newconn_loop ,blank 
+0x4411 004301 disable clknt 
+0x4412 004302 deposit clke_bt 
+0x4413 004303 store 4 ,mem_next_btclk 
+0x4414 004304 rtn 
+:      004305 roles_newconn_responded:
+0x4415 004306 enable master 
+0x4416 004307 bmark0 mark_accept_switch ,roles_newconn_nolmp 
+0x4417 004308 set0 mark_accept_switch ,mark 
+0x4418 004309 jam lmp_accepted ,mem_lmo_opcode2 
+0x4419 004310 jam lmp_host_connection_req ,mem_lmi_opcode2 
+0x441a 004311 call tid_set_reply 
+:      004312 roles_newconn_nolmp:
+0x441b 004313 deposit am_addr 
+0x441c 004314 store 1 ,mem_amaddr 
+0x441d 004315 force 0 ,pdata 
+0x441e 004316 store 6 ,mem_clk_offset 
+0x441f 004317 fetch 1 ,mem_mode 
+0x4420 004318 set1 mode_master ,pdata 
+0x4421 004319 store 1 ,mem_mode 
+0x4422 004320 call supervision_flush 
+0x4423 004321 disable master 
+0x4424 004322 enable user 
+0x4425 004323 rtn 
+:      004327 init_rx_packet_flags:
+0x4426 004328 bpatch patch08_3 ,mem_patch08 
+0x4427 004329 disable match 
+0x4428 004330 set0 mark_loopback ,mark 
+0x4429 004331 set0 mark_am_addr_broadcast ,mark 
+0x442a 004332 set0 mark_longpacket ,mark 
+0x442b 004333 set0 mark_old_packet ,mark 
+0x442c 004334 fetch 1 ,mem_arq 
+0x442d 004335 set0 arqnx ,pdata 
+0x442e 004336 set1 flowx ,pdata 
+0x442f 004337 store 1 ,mem_arq 
+0x4430 004338 rtn 
+:      004340 prepare_newconn:
+0x4431 004341 bpatch patch08_4 ,mem_patch08 
+0x4432 004342 jam param_newconnto ,mem_newconnto_counter 
+0x4433 004343 jam param_newconn_arq ,mem_arq 
+0x4434 004344 fetch 2 ,mem_rx_window_init 
+0x4435 004345 store 2 ,mem_rx_window 
+0x4436 004346 deposit clkn_bt 
+0x4437 004347 store 4 ,mem_next_btclk 
+0x4438 004348 rtn clknt 
+0x4439 004349 deposit clke_bt 
+0x443a 004350 store 4 ,mem_next_btclk 
+0x443b 004351 rtn 
+:      004353 newconn_init:
+0x443c 004354 bpatch patch08_5 ,mem_patch08 
+0x443d 004355 call init_lmp_reinit 
+0x443e 004356 call new_conn_handle 
+0x443f 004357 store 1 ,mem_conn_handle 
+0x4440 004358 setarg 0 
+0x4441 004359 store 2 ,mem_l2cap_rxbuff1_len 
+0x4442 004360 setarg param_supervision_to 
+0x4443 004361 store 2 ,mem_supervision_to 
+0x4444 004362 fetch 1 ,mem_state 
+0x4445 004363 set1 state_inconn ,pdata 
+0x4446 004364 store 1 ,mem_state 
+0x4447 004365 jam 0 ,mem_op 
+0x4448 004366 jam 0 ,mem_state_map 
+0x4449 004367 jam 0 ,mem_lpm_current_mult 
+0x444a 004368 branch supervision_flush 
+:      004371 clear_linkkey:
+0x444b 004372 bpatch patch08_6 ,mem_patch08 
+0x444c 004373 force 0 ,pdata 
+0x444d 004374 store 8 ,mem_link_key 
+0x444e 004375 istore 8 ,contw 
+0x444f 004376 call clear_linkstate 
+0x4450 004377 branch context_traverse_linkkey 
+:      004379 new_conn_timeout:
+0x4451 004380 fetch 1 ,mem_newconnto_counter 
+0x4452 004381 increase -1 ,pdata 
+0x4453 004382 store 1 ,mem_newconnto_counter 
+0x4454 004383 rtn 
+:      004385 new_conn_handle:
+0x4455 004386 fetch 1 ,mem_handle_num 
+0x4456 004387 increase 1 ,pdata 
+0x4457 004388 store 1 ,mem_handle_num 
+0x4458 004389 rtn 
+:      004392 quit_connection:
+0x4459 004393 bpatch patch08_7 ,mem_patch08 
+0x445a 004394 fetch 1 ,mem_hci_cmd 
+0x445b 004395 beq hci_cmd_remote_name_req ,quit_connection_name 
+0x445c 004396 fetch 1 ,mem_lmp_to_send 
+0x445d 004397 bne lmp_name_req ,quit_connection_cont 
+:      004398 quit_connection_name:
+0x445e 004399 call cmd_check_plap 
+0x445f 004400 nbranch quit_connection_cont ,zero 
+0x4460 004401 call master_name_error 
+0x4461 004402 jam 0 ,mem_hci_cmd 
+:      004403 quit_connection_cont:
+0x4462 004404 bpatch patch09_0 ,mem_patch09 
+0x4463 004405 call app_disconn_reason_collect_bt 
+0x4464 004406 call sniff_exit 
+0x4465 004407 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x4466 004408 call ui_ipc_send_event 
+0x4467 004409 call init_lmp_work 
+0x4468 004410 call l2cap_init_work 
+0x4469 004411 call sp_initialize 
+0x446a 004412 fetch 1 ,mem_state 
+0x446b 004413 set0 state_inconn 
+0x446c 004414 store 1 ,mem_state 
+0x446d 004415 jam 0 ,memui_reconnect_mode 
+0x446e 004417 fetch 1 ,mem_state_map 
+0x446f 004418 compare 0x0 ,pdata ,0xc0 
+0x4470 004419 branch quit_connection_not_clear_mark ,true 
+0x4471 004420 set0 mark_rxbuf_inuse ,mark 
+:      004421 quit_connection_not_clear_mark:
+0x4472 004422 fetch 1 ,mem_arq 
+0x4473 004423 bbit0 wack ,quit_connection_not_clear_tx 
+:      004424 quit_connection_not_clear_tx:
+0x4474 004425 fetch 1 ,mem_op 
+0x4475 004426 rtnbit0 op_txl2cap 
+0x4476 004427 set0 mark_tx_l2cap ,mark 
+0x4477 004428 rtn 
+:      004430 slave_newconn_once:
+0x4478 004431 bpatch patch09_1 ,mem_patch09 
+0x4479 004432 fetch 1 ,extm_newconn_am_addr 
+0x447a 004433 rtn blank 
+0x447b 004434 icopy am_addr 
+0x447c 004435 call slave_conn_recv_packet 
+0x447d 004436 nrtn match 
+0x447e 004437 force type_null ,type 
+0x447f 004438 call slave_conn_send_packet 
+0x4480 004439 deposit am_addr 
+0x4481 004440 store 1 ,mem_amaddr 
+0x4482 004441 force 0 ,pdata 
+0x4483 004442 store 1 ,extm_newconn_am_addr 
+0x4484 004443 rtn 
+:      004449 prepare_tx:
+0x4485 004450 bpatch patch09_2 ,mem_patch09 
+0x4486 004451 fetch 1 ,mem_state 
+0x4487 004452 bbit0 state_insco ,prepare_tx_not_sco 
+0x4488 004453 force type_hv3 ,type 
+0x4489 004454 bmark0 mark_esco ,prepare_tx_not_esco 
+0x448a 004455 call check_esco_amaddr 
+0x448b 004456 nbranch prepare_tx_not_sco ,true 
+0x448c 004457 branch prepare_tx_not_sco ,attempt 
+0x448d 004458 call set_wait_ack 
+0x448e 004459 setarg 2 
+0x448f 004460 store 2 ,mem_retransmission_cnt 
+0x4490 004461 rtn 
+:      004462 prepare_tx_not_esco:
+0x4491 004463 nrtn attempt 
+:      004464 prepare_tx_not_sco:
+0x4492 004465 bpatch patch09_3 ,mem_patch09 
+0x4493 004466 call context_check_all_wack 
+0x4494 004467 nbranch prepare_tx_no_retransmit ,zero 
+0x4495 004468 fetch 1 ,mem_arq 
+0x4496 004469 bbit0 wack ,prepare_tx_pollnull 
+:      004470 prepare_tx_retransmit:
+0x4497 004471 bmark1 mark_loopback ,prepare_tx_loopback 
+0x4498 004472 fetch 1 ,mem_debug_config 
+0x4499 004473 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+0x449a 004474 fetch 2 ,mem_retransmission_cnt 
+0x449b 004475 increase -1 ,pdata 
+0x449c 004476 store 2 ,mem_retransmission_cnt 
+0x449d 004477 branch prepare_tx_nomore_retransmit ,blank 
+0x449e 004478 fetch 1 ,mem_last_type 
+0x449f 004479 iforce type 
+0x44a0 004480 rtn 
+:      004482 prepare_tx_nomore_retransmit:
+0x44a1 004483 bpatch patch09_4 ,mem_patch09 
+0x44a2 004484 call clear_got_tx 
+:      004485 prepare_tx_no_retransmit:
+0x44a3 004486 call check_esco_amaddr 
+0x44a4 004487 branch prepare_tx_pollnull ,true 
+0x44a5 004488 call send_lmp 
+0x44a6 004489 branch prepare_tx_sendlmp ,user 
+0x44a7 004490 fetch 1 ,mem_op 
+0x44a8 004491 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+0x44a9 004492 bmark1 mark_loopback ,prepare_tx_loopback 
+0x44aa 004493 fetch 1 ,mem_debug_config 
+0x44ab 004494 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+:      004495 prepare_tx_pollnull:
+0x44ac 004496 force type_poll ,type 
+0x44ad 004497 rtn master 
+0x44ae 004498 force type_null ,type 
+0x44af 004499 rtn 
+:      004500 prepare_tx_loopback:
+0x44b0 004501 bpatch patch09_5 ,mem_patch09 
+0x44b1 004502 fetch 1 ,mem_rx_type 
+0x44b2 004503 iforce type 
+0x44b3 004504 rtnne 1 
+0x44b4 004505 force type_null ,type 
+0x44b5 004506 rtn 
+:      004507 prepare_tx_txpat:
+0x44b6 004508 fetch 1 ,test_mode_packet_type 
+0x44b7 004509 and pdata ,0xf ,type 
+0x44b8 004510 set1 mark_loopback ,mark 
+0x44b9 004511 rtn 
+:      004512 prepare_tx_sendlmp:
+0x44ba 004513 force type_lmp ,type 
+0x44bb 004514 branch set_wait_ack 
+:      004515 prepare_tx_sendl2cap:
+0x44bc 004516 call tx_l2cap_type 
+:      004518 set_wait_ack:
+0x44bd 004519 bpatch patch09_6 ,mem_patch09 
+0x44be 004520 fetcht 1 ,mem_arq 
+0x44bf 004521 set1 wack ,temp 
+0x44c0 004522 storet 1 ,mem_arq 
+0x44c1 004523 deposit type 
+0x44c2 004524 store 1 ,mem_last_type 
+0x44c3 004525 setarg 0xffff 
+0x44c4 004526 store 2 ,mem_retransmission_cnt 
+0x44c5 004527 rtn 
+:      004529 tx_l2cap_type:
+0x44c6 004530 bpatch patch09_7 ,mem_patch09 
+0x44c7 004531 fetch 1 ,mem_state_map 
+0x44c8 004532 isolate1 smap_edr ,pdata 
+0x44c9 004533 fetch 2 ,mem_tx_len 
+0x44ca 004534 branch tx_l2cap_type_edr ,true 
+0x44cb 004535 force type_dm1 ,type 
+0x44cc 004536 sub pdata ,17 ,null 
+0x44cd 004537 rtn positive 
+0x44ce 004538 force type_dh1 ,type 
+0x44cf 004539 sub pdata ,27 ,null 
+0x44d0 004540 rtn positive 
+0x44d1 004541 force type_dm3 ,type 
+0x44d2 004542 sub pdata ,121 ,null 
+0x44d3 004543 rtn positive 
+0x44d4 004544 force type_dh3 ,type 
+0x44d5 004545 sub pdata ,183 ,null 
+0x44d6 004546 rtn positive 
+0x44d7 004547 force type_dm5 ,type 
+0x44d8 004548 sub pdata ,224 ,null 
+0x44d9 004549 rtn positive 
+0x44da 004550 force type_dh5 ,type 
+0x44db 004551 rtn 
+:      004552 tx_l2cap_type_edr:
+0x44dc 004553 force type_dm1 ,type 
+0x44dd 004554 sub pdata ,17 ,null 
+0x44de 004555 rtn positive 
+0x44df 004556 force type_dh1 ,type 
+0x44e0 004557 sub pdata ,54 ,null 
+0x44e1 004558 rtn positive 
+0x44e2 004559 force type_dm3 ,type 
+0x44e3 004560 arg 367 ,temp 
+0x44e4 004561 isub temp ,null 
+0x44e5 004562 nrtn positive 
+0x44e6 004563 force type_dm5 ,type 
+0x44e7 004564 arg 679 ,temp 
+0x44e8 004565 isub temp ,null 
+0x44e9 004566 nrtn positive 
+0x44ea 004567 force type_dh5 ,type 
+0x44eb 004568 rtn 
+:      004577 slave_receive_master_slot:
+0x44ec 004578 fetch 1 ,mem_state 
+0x44ed 004579 bbit0 state_insniff ,slave_receive_notsniff 
+0x44ee 004580 fetch 2 ,mem_tsniff 
+0x44ef 004581 branch slave_receive_notsniff ,blank 
+0x44f0 004582 nbranch slave_receive_sniff ,attempt 
+:      004583 slave_receive_notsniff:
+0x44f1 004584 call rf_setup_time_master_slot 
+:      004585 slave_receive_access:
+0x44f2 004586 add clke_bt ,1 ,bt_clk 
+:      004587 slave_receive_sniff:
+0x44f3 004588 enable swfine 
+0x44f4 004589 fetch 2 ,mem_rx_window 
+0x44f5 004590 rshift pdata ,pdata 
+0x44f6 004591 arg param_pll_setup ,temp 
+0x44f7 004592 iadd temp ,pdata 
+0x44f8 004593 call ahead_window 
+0x44f9 004594 call fetch_extm_bt_adr 
+0x44fa 004595 force 0x03 ,freq_mode 
+0x44fb 004596 call rx_radio_freq 
+0x44fc 004597 call init_rx_packet_flags 
+0x44fd 004598 call prep_crypt 
+0x44fe 004599 bpatch patch0a_0 ,mem_patch0a 
+0x44ff 004600 fetch 2 ,mem_rx_window 
+0x4500 004601 rshift pdata ,pdata 
+0x4501 004602 call ahead_window 
+0x4502 004603 call start_receiver 
+0x4503 004604 enable decode_fec0 
+0x4504 004605 fetch 2 ,mem_rx_window 
+0x4505 004606 arg param_clke_cal ,temp 
+0x4506 004607 iadd temp ,stop_watch 
+0x4507 004608 correlate null ,timeout 
+0x4508 004609 copy clke ,temp 
+0x4509 004610 storet 6 ,mem_sync_clke 
+0x450a 004611 disable decode_fec0 
+0x450b 004612 nrtn sync 
+0x450c 004613 arg param_clke_cal ,clke_rt 
+0x450d 004614 copy bt_clk ,clke_bt 
+0x450e 004615 branch lpm_adjust_clk ,wake 
+0x450f 004616 rtn 
+:      004619 slave_conn_recv_packet:
+0x4510 004620 bpatch patch0a_1 ,mem_patch0a 
+0x4511 004621 call slave_receive_master_slot 
+0x4512 004622 nbranch shutdown_radio ,sync 
+0x4513 004623 call save_rssi 
+0x4514 004624 bmark0 mark_testmode ,receive_packet 
+0x4515 004625 fetch 2 ,mem_tst_pktcnt_sync 
+0x4516 004626 increase 1 ,pdata 
+0x4517 004627 store 2 ,mem_tst_pktcnt_sync 
+:      004628 receive_packet:
+0x4518 004629 rshift bt_clk ,temp 
+0x4519 004630 or temp ,0x40 ,white_init 
+:      004631 receive_packet_whitened:
+0x451a 004632 bpatch patch0a_2 ,mem_patch0a 
+0x451b 004633 enable enable_white 
+0x451c 004634 enable enable_hec 
+0x451d 004635 enable decode_fec1 
+0x451e 004636 parse demod ,bucket ,3 
+0x451f 004637 rshift8 pwindow ,pdata 
+0x4520 004638 store 1 ,mem_temp_am_addr 
+0x4521 004639 parse demod ,bucket ,4 
+0x4522 004640 inject bucket ,7 
+0x4523 004641 copy pwindow ,pdata 
+0x4524 004642 store 1 ,mem_rx_type 
+0x4525 004643 parse demod ,bucket ,3 
+0x4526 004644 rshift8 pwindow ,pdata 
+0x4527 004645 store 1 ,mem_temp_arq 
+0x4528 004646 fetch 1 ,mem_rx_type 
+0x4529 004647 sub pdata ,3 ,null 
+0x452a 004648 branch receive_packet_noedr ,positive 
+0x452b 004649 beq 7 ,receive_packet_noedr 
+0x452c 004650 fetch 1 ,mem_state_map 
+0x452d 004651 isolate1 smap_edr ,pdata 
+0x452e 004652 setflag true ,psk ,radio_ctrl 
+:      004653 receive_packet_noedr:
+0x452f 004654 bpatch patch0a_3 ,mem_patch0a 
+0x4530 004655 parse demod ,bucket ,8 
+0x4531 004656 disable decode_fec1 
+0x4532 004657 disable enable_hec 
+0x4533 004658 branch error_header ,crc_failed 
+0x4534 004659 bmark0 mark_testmode ,receive_packet_amchk 
+0x4535 004660 fetch 2 ,mem_tst_pktcnt_hec 
+0x4536 004661 increase 1 ,pdata 
+0x4537 004662 store 2 ,mem_tst_pktcnt_hec 
+:      004663 receive_packet_amchk:
+0x4538 004664 bpatch patch0a_4 ,mem_patch0a 
+0x4539 004665 fetch 1 ,mem_temp_am_addr 
+0x453a 004666 compare 0 ,pdata ,0x07 
+0x453b 004667 setflag true ,mark_am_addr_broadcast ,mark 
+0x453c 004668 branch am_addr_ok ,true 
+0x453d 004669 icompare 0x07 ,am_addr 
+0x453e 004670 branch am_addr_match ,true 
+0x453f 004671 bmark0 mark_esco ,end_of_packet 
+0x4540 004672 fetcht 1 ,mem_saved_amaddr 
+0x4541 004673 icompare 0x7 ,temp 
+0x4542 004674 nbranch end_of_packet ,true 
+0x4543 004675 fetch 1 ,mem_arq 
+0x4544 004676 set0 arqnx ,pdata 
+0x4545 004677 set1 flowx ,pdata 
+0x4546 004678 store 1 ,mem_arq 
+:      004679 am_addr_match:
+0x4547 004680 enable match 
+:      004681 am_addr_ok:
+0x4548 004682 bpatch patch0a_5 ,mem_patch0a 
+0x4549 004683 fetch 1 ,mem_rx_type 
+0x454a 004684 icopy type 
+0x454b 004685 bmark1 mark_am_addr_broadcast ,arqn_bypass 
+0x454c 004686 fetcht 1 ,mem_temp_arq 
+0x454d 004687 fetch 1 ,mem_arq 
+0x454e 004688 set0 flow ,pdata 
+0x454f 004689 isolate1 flow ,temp 
+0x4550 004690 setflag true ,flow ,pdata 
+0x4551 004691 isolate1 arqn ,temp 
+0x4552 004692 setflag true ,arqn ,pdata 
+0x4553 004693 store 1 ,mem_arq 
+0x4554 004694 isolate0 arqn ,temp 
+0x4555 004695 branch arqn_bypass ,true 
+0x4556 004696 call clear_got_tx 
+:      004697 arqn_bypass:
+0x4557 004698 bpatch patch0a_6 ,mem_patch0a 
+0x4558 004699 arg 0 ,temp 
+0x4559 004700 call reserve_slot 
+0x455a 004701 and type ,0xf ,pdata 
+0x455b 004702 beq type_poll ,process_poll 
+0x455c 004703 beq type_null ,end_of_packet 
+0x455d 004704 beq type_fhs ,process_fhs 
+0x455e 004705 fetcht 1 ,mem_temp_arq 
+0x455f 004706 fetch 1 ,mem_arq 
+0x4560 004707 icompare 0x04 ,temp 
+0x4561 004708 nbranch rx_type_dispatch ,true 
+0x4562 004709 bmark0 mark_am_addr_broadcast ,failed_seqn 
+0x4563 004710 bbit0 bcast1 ,rx_type_dispatch 
+:      004711 failed_seqn:
+0x4564 004712 set1 mark_old_packet ,mark 
+:      004713 rx_type_dispatch:
+0x4565 004714 bpatch patch0a_7 ,mem_patch0a 
+0x4566 004715 deposit type 
+0x4567 004716 beq type_dm1 ,process_dm1 
+0x4568 004717 beq type_dh1 ,process_dh1 
+0x4569 004718 beq type_hv3 ,process_hev 
+0x456a 004719 beq type_3dh1 ,process_3dh1 
+0x456b 004720 arg 4 ,temp 
+0x456c 004721 call reserve_slot 
+0x456d 004722 beq type_dm3 ,process_dm3 
+0x456e 004723 beq type_dh3 ,process_dh3 
+0x456f 004724 arg 8 ,temp 
+0x4570 004725 call reserve_slot 
+0x4571 004726 beq type_dm5 ,process_dm5 
+0x4572 004727 beq type_dh5 ,process_dh5 
+0x4573 004728 rtn 
+:      004731 process_hev:
+0x4574 004732 bpatch patch0b_0 ,mem_patch0b 
+0x4575 004733 enable decode_fec0 
+0x4576 004734 enable enable_crc 
+0x4577 004735 enable encrypt 
+0x4578 004736 arg mem_sco_ibuf ,contw 
+0x4579 004737 force 30 ,loopcnt 
+:      004738 process_hev_loop:
+0x457a 004739 parse demod ,bucket ,8 
+0x457b 004740 rshift3 pwindow ,pdata 
+0x457c 004741 istore 1 ,contw 
+0x457d 004742 loop process_hev_loop 
+0x457e 004743 bmark0 mark_esco ,end_of_packet 
+0x457f 004744 parse demod ,bucket ,16 
+0x4580 004745 nsetflag crc_failed ,mark_esco_rxok ,mark 
+0x4581 004746 branch error_payload ,crc_failed 
+0x4582 004747 branch ack_payload 
+:      004750 process_poll:
+0x4583 004751 branch end_of_packet 
+:      004753 process_dm3:
+:      004754 process_dm5:
+0x4584 004755 set1 mark_longpacket ,mark 
+:      004756 process_dm1:
+0x4585 004757 enable decode_fec2 
+0x4586 004758 branch process_dmh 
+:      004760 process_dh3:
+:      004761 process_dh5:
+0x4587 004762 set1 mark_longpacket ,mark 
+:      004763 process_3dh1:
+0x4588 004764 set1 psk3m ,radio_ctrl 
+:      004765 process_dh1:
+0x4589 004766 enable decode_fec0 
+:      004767 process_dmh:
+0x458a 004768 bpatch patch0b_1 ,mem_patch0b 
+0x458b 004769 bmark1 mark_rxbuf_inuse ,end_of_packet 
+0x458c 004770 isolate0 psk ,radio_ctrl 
+0x458d 004771 branch process_dmh_noedr ,true 
+0x458e 004772 disable enable_white 
+0x458f 004773 enable decode_fec0 
+0x4590 004774 disable decode_fec2 
+0x4591 004775 add clkn_bt ,2 ,timeup 
+0x4592 004776 correlate clkn_bt ,meet 
+0x4593 004777 nbranch error_payload ,sync 
+0x4594 004778 set1 mark_longpacket ,mark 
+0x4595 004779 enable enable_white 
+:      004780 process_dmh_noedr:
+0x4596 004781 bpatch patch0b_2 ,mem_patch0b 
+0x4597 004782 enable encrypt 
+0x4598 004783 enable enable_crc 
+0x4599 004784 parse demod ,bucket ,3 
+0x459a 004785 rshift8 pwindow ,pdata 
+0x459b 004786 store 1 ,mem_lch_code 
+0x459c 004787 parse demod ,bucket ,5 
+0x459d 004788 bmark1 mark_longpacket ,process_dmh_long 
+0x459e 004789 rshift3 pwindow ,loopcnt 
+0x459f 004790 rshift3 loopcnt ,loopcnt 
+0x45a0 004791 branch process_dmh_common 
+:      004792 process_dmh_long:
+0x45a1 004793 parse demod ,bucket ,5 
+0x45a2 004794 rshift pwindow ,loopcnt 
+0x45a3 004795 parse demod ,bucket ,3 
+:      004796 process_dmh_common:
+0x45a4 004797 bpatch patch0b_3 ,mem_patch0b 
+0x45a5 004798 deposit loopcnt 
+0x45a6 004799 store 2 ,mem_len 
+0x45a7 004800 branch process_dmh_data_end ,blank 
+0x45a8 004801 isub mask3ff ,null 
+0x45a9 004802 branch error_payload ,positive 
+0x45aa 004803 bpatch patch0b_4 ,mem_patch0b 
+0x45ab 004804 set0 mark_fhs_eir ,mark 
+0x45ac 004805 fetch 1 ,mem_lch_code 
+0x45ad 004806 and_into 0x03 ,pdata 
+0x45ae 004807 arg mem_rxbuf ,contw 
+0x45af 004808 beq llid_lmp ,process_lmp 
+0x45b0 004809 bmark1 mark_testmode ,process_dmh_data 
+0x45b1 004811 fetch 1 ,mem_lch_code 
+0x45b2 004812 and_into 0x03 ,pdata 
+0x45b3 004813 beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+0x45b4 004814 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+0x45b5 004815 branch error_payload 
+:      004817 process_lmp:
+0x45b6 004818 fetch 2 ,mem_len 
+0x45b7 004819 sub pdata ,0x70 ,null 
+0x45b8 004820 nbranch error_payload ,positive 
+0x45b9 004821 bmark1 mark_old_packet ,ack_payload 
+0x45ba 004822 branch process_dmh_data 
+:      004825 process_dmh_data_l2cap_start_pkt:
+0x45bb 004826 bpatch patch0b_5 ,mem_patch0b 
+0x45bc 004827 bmark1 mark_old_packet ,ack_payload 
+0x45bd 004828 fetch 2 ,mem_len 
+0x45be 004829 arg 0x2e0 ,temp 
+0x45bf 004830 isub temp ,null 
+0x45c0 004831 branch error_payload ,positive 
+0x45c1 004832 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x45c2 004833 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0x45c3 004834 bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+0x45c4 004835 branch end_of_packet 
+:      004836 process_dmh_data_into_buff1:
+0x45c5 004837 jam 1 ,mem_l2cap_rxbuff_new 
+0x45c6 004838 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x45c7 004839 bne 0 ,end_of_packet 
+0x45c8 004840 arg mem_l2cap_rxbuff1 ,contw 
+0x45c9 004841 branch process_dmh_data 
+:      004842 process_dmh_data_into_buff2:
+0x45ca 004843 jam 2 ,mem_l2cap_rxbuff_new 
+0x45cb 004844 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x45cc 004845 bne 0 ,end_of_packet 
+0x45cd 004846 arg mem_l2cap_rxbuff2 ,contw 
+0x45ce 004847 branch process_dmh_data 
+:      004849 process_dmh_data_l2cap_continue_pkt:
+0x45cf 004850 bpatch patch0b_6 ,mem_patch0b 
+0x45d0 004851 bmark1 mark_old_packet ,ack_payload 
+0x45d1 004852 fetch 2 ,mem_len 
+0x45d2 004853 arg 0x2e0 ,temp 
+0x45d3 004854 isub temp ,null 
+0x45d4 004855 branch error_payload ,positive 
+0x45d5 004856 fetch 1 ,mem_l2cap_rxbuff_new 
+0x45d6 004857 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0x45d7 004858 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+0x45d8 004859 branch end_of_packet 
+:      004860 process_dmh_data_l2cap_continue_pkt1:
+0x45d9 004861 arg mem_l2cap_rxbuff1 ,contw 
+0x45da 004862 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x45db 004863 iadd contw ,contw 
+0x45dc 004864 branch process_dmh_data 
+:      004865 process_dmh_data_l2cap_continue_pkt2:
+0x45dd 004866 arg mem_l2cap_rxbuff2 ,contw 
+0x45de 004867 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x45df 004868 iadd contw ,contw 
+:      004869 process_dmh_data:
+0x45e0 004870 parse demod ,bucket ,8 
+0x45e1 004871 rshift3 pwindow ,pdata 
+0x45e2 004872 istore 1 ,contw 
+0x45e3 004873 loop process_dmh_data 
+:      004874 process_dmh_data_end:
+0x45e4 004875 bpatch patch0b_7 ,mem_patch0b 
+0x45e5 004876 parse demod ,bucket ,16 
+0x45e6 004877 branch error_payload_crc ,crc_failed 
+0x45e7 004878 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+0x45e8 004879 beq l2cap_flow_ctrl_enable ,end_of_packet 
+0x45e9 004880 bmark1 mark_testmode ,process_dmh_cont 
+0x45ea 004881 bmark1 mark_old_packet ,redundant_payload 
+0x45eb 004882 fetch 1 ,mem_lch_code 
+0x45ec 004883 compare 3 ,pdata ,3 
+0x45ed 004884 branch process_dmh_cont ,true 
+0x45ee 004885 fetch 2 ,mem_len 
+0x45ef 004886 branch process_dmh_cont ,blank 
+0x45f0 004887 bpatch patch0c_0 ,mem_patch0c 
+0x45f1 004888 fetch 1 ,mem_l2cap_rxbuff_new 
+0x45f2 004889 beq 1 ,process_l2cap_pass_crc_buff1 
+0x45f3 004890 beq 2 ,process_l2cap_pass_crc_buff2 
+0x45f4 004891 branch assert 
+:      004892 process_l2cap_pass_crc_buff1:
+0x45f5 004893 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x45f6 004894 fetcht 2 ,mem_len 
+0x45f7 004895 iadd temp ,pdata 
+0x45f8 004896 store 2 ,mem_l2cap_rxbuff1_len 
+0x45f9 004897 beq 0 ,assert 
+0x45fa 004898 fetcht 2 ,mem_l2cap_rxbuff1 
+0x45fb 004899 increase 4 ,temp 
+0x45fc 004900 isub temp ,null 
+0x45fd 004901 call l2cap_buff1_inuse ,zero 
+0x45fe 004902 branch process_dmh_cont 
+:      004903 process_l2cap_pass_crc_buff2:
+0x45ff 004904 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x4600 004905 fetcht 2 ,mem_len 
+0x4601 004906 iadd temp ,pdata 
+0x4602 004907 store 2 ,mem_l2cap_rxbuff2_len 
+0x4603 004908 beq 0 ,assert 
+0x4604 004909 fetcht 2 ,mem_l2cap_rxbuff2 
+0x4605 004910 add temp ,4 ,temp 
+0x4606 004911 isub temp ,null 
+0x4607 004912 call l2cap_buff2_inuse ,zero 
+0x4608 004913 branch process_dmh_cont 
+:      004914 process_dmh_cont:
+0x4609 004915 bpatch patch0c_1 ,mem_patch0c 
+0x460a 004916 fetcht 1 ,mem_state_map 
+0x460b 004917 fetch 1 ,mem_lch_code 
+0x460c 004918 compare 3 ,pdata ,0x03 
+0x460d 004919 setflag true ,smap_rxlmp ,temp 
+0x460e 004920 nsetflag true ,smap_rxl2cap ,temp 
+0x460f 004921 storet 1 ,mem_state_map 
+0x4610 004922 nbranch process_dmh_cont_rxbuf_not_use ,true 
+0x4611 004923 set1 mark_rxbuf_inuse ,mark 
+:      004924 process_dmh_cont_rxbuf_not_use:
+0x4612 004925 bmark0 mark_testmode ,ack_payload 
+0x4613 004926 isolate1 smap_rxlmp ,temp 
+0x4614 004927 branch ack_payload ,true 
+0x4615 004928 fetch 2 ,mem_tst_pktcnt_crc 
+0x4616 004929 increase 1 ,pdata 
+0x4617 004930 store 2 ,mem_tst_pktcnt_crc 
+0x4618 004931 set1 mark_loopback ,mark 
+0x4619 004932 set0 smap_rxl2cap ,temp 
+0x461a 004933 set0 mark_rxbuf_inuse ,mark 
+0x461b 004934 storet 1 ,mem_state_map 
+:      004935 ack_payload:
+0x461c 004936 bpatch patch0c_2 ,mem_patch0c 
+0x461d 004937 fetcht 1 ,mem_temp_arq 
+0x461e 004938 fetch 1 ,mem_arq 
+0x461f 004939 set1 arqnx ,pdata 
+0x4620 004940 isolate1 seqn ,temp 
+0x4621 004941 setflag true ,seqn ,pdata 
+0x4622 004942 isolate1 mark_am_addr_broadcast ,mark 
+0x4623 004943 setflag true ,bcast1 ,pdata 
+0x4624 004944 store 1 ,mem_arq 
+0x4625 004945 fetch 2 ,mem_len 
+0x4626 004946 nbranch end_of_packet ,blank 
+0x4627 004947 fetch 1 ,mem_state_map 
+0x4628 004948 set0 smap_rxl2cap ,pdata 
+0x4629 004949 store 1 ,mem_state_map 
+0x462a 004950 fetch 1 ,mem_lch_code 
+0x462b 004951 compare 0x01 ,pdata ,0x07 
+0x462c 004953 branch end_of_packet 
+:      004955 error_header:
+0x462d 004956 bpatch patch0c_3 ,mem_patch0c 
+0x462e 004957 disable match 
+0x462f 004958 fetch 2 ,mem_rx_hec_err 
+0x4630 004959 increase 1 ,pdata 
+0x4631 004960 store 2 ,mem_rx_hec_err 
+0x4632 004961 branch end_of_packet 
+:      004962 error_payload_crc:
+0x4633 004963 fetch 2 ,mem_rx_crc_err 
+0x4634 004964 increase 1 ,pdata 
+0x4635 004965 store 2 ,mem_rx_crc_err 
+0x4636 004966 call discard_pkt 
+0x4637 004967 bmark0 mark_testmode ,error_payload 
+0x4638 004968 set1 mark_loopback ,mark 
+:      004969 error_payload:
+0x4639 004970 branch end_of_packet 
+:      004972 discard_pkt:
+0x463a 004973 bpatch patch0c_4 ,mem_patch0c 
+0x463b 004974 fetch 1 ,mem_lch_code 
+0x463c 004975 compare 3 ,pdata ,0x03 
+0x463d 004976 nbranch discard_pkt_l2cap ,true 
+:      004977 discard_pkt_lmp:
+0x463e 004978 fetcht 1 ,mem_state_map 
+0x463f 004979 set0 smap_rxlmp ,temp 
+0x4640 004980 storet 1 ,mem_state_map 
+0x4641 004981 rtn 
+:      004982 discard_pkt_l2cap:
+0x4642 004985 fetcht 1 ,mem_state_map 
+0x4643 004986 set0 smap_rxl2cap ,temp 
+0x4644 004987 storet 1 ,mem_state_map 
+0x4645 004988 rtn 
+:      004990 redundant_payload:
+0x4646 004991 fetch 1 ,mem_arq 
+0x4647 004992 set1 arqnx ,pdata 
+0x4648 004993 store 1 ,mem_arq 
+:      004994 end_of_packet:
+0x4649 004995 bpatch patch0c_5 ,mem_patch0c 
+0x464a 004996 disable encode_fec0 
+0x464b 004997 disable encode_fec2 
+0x464c 004998 disable decode_fec0 
+0x464d 004999 disable decode_fec2 
+0x464e 005000 disable enable_crc 
+0x464f 005001 disable encrypt 
+0x4650 005002 disable enable_white 
+0x4651 005003 branch shutdown_radio ,is_rx 
+0x4652 005004 until null ,tx_clear 
+0x4653 005005 nop 100 
+0x4654 005006 branch shutdown_radio 
+:      005008 process_fhs:
+0x4655 005009 bpatch patch0c_6 ,mem_patch0c 
+0x4656 005010 enable enable_crc 
+0x4657 005011 enable decode_fec2 
+0x4658 005012 parse demod ,bucket ,72 
+0x4659 005013 isolate1 58 ,pdata 
+0x465a 005014 setflag true ,mark_fhs_eir ,mark 
+0x465b 005015 copy bt_adr ,temp 
+0x465c 005016 ialigned bt_adr 
+0x465d 005017 ialigned fhs0 
+0x465e 005018 pulse recalc 
+0x465f 005019 setsect 2 ,0xfffff 
+0x4660 005020 setsect 3 ,0x0ffff 
+0x4661 005021 nop 32 
+0x4662 005022 iverify fhs_parity 
+0x4663 005023 deposit lap 
+0x4664 005024 store 3 ,extm_lap 
+0x4665 005025 deposit uap 
+0x4666 005026 store 1 ,extm_uap 
+0x4667 005027 copy temp ,bt_adr 
+0x4668 005028 branch fhs_parity_ok ,true 
+0x4669 005029 branch error_payload 
+:      005030 fhs_parity_ok:
+0x466a 005031 bpatch patch0c_7 ,mem_patch0c 
+0x466b 005032 parse demod ,bucket ,72 
+0x466c 005033 ialigned fhs1 
+0x466d 005034 ialigned am_addr 
+0x466e 005035 ialigned nap 
+0x466f 005036 ialigned regb 
+0x4670 005037 force 0 ,pdata 
+0x4671 005038 parse demod ,bucket ,16 
+0x4672 005039 branch error_payload ,crc_failed 
+0x4673 005040 setarg 0x0ffffffc 
+0x4674 005041 iand regb ,pdata 
+0x4675 005042 store 4 ,mem_clke_bt 
+0x4676 005043 deposit fhs_class 
+0x4677 005044 store 3 ,extm_class 
+0x4678 005045 deposit fhs_misc 
+0x4679 005046 store 1 ,extm_fhs_misc 
+0x467a 005047 deposit am_addr 
+0x467b 005048 store 1 ,extm_newconn_am_addr 
+0x467c 005049 deposit nap 
+0x467d 005050 store 2 ,extm_nap 
+0x467e 005051 deposit bt_clk 
+0x467f 005052 inject rxf ,32 
+0x4680 005053 compare type_fhs ,type ,0x0f 
+0x4681 005054 setflag true ,mark_fhs_already_good ,mark 
+0x4682 005055 branch end_of_packet 
+:      005057 clear_got_tx:
+0x4683 005058 bpatch patch0d_0 ,mem_patch0d 
+0x4684 005059 fetch 1 ,mem_arq 
+0x4685 005060 rtnbit0 wack 
+0x4686 005061 set0 wack ,pdata 
+0x4687 005062 setflip seqnx ,pdata 
+0x4688 005063 store 1 ,mem_arq 
+0x4689 005064 fetch 1 ,mem_last_type 
+0x468a 005065 beq type_lmp ,clear_got_txlmp 
+0x468b 005066 rtneq type_hv3 
+0x468c 005067 fetch 1 ,mem_op 
+0x468d 005068 rtnbit0 op_txl2cap ,pdata 
+0x468e 005069 set0 op_txl2cap ,pdata 
+0x468f 005070 set1 op_pkt_comp ,pdata 
+0x4690 005071 store 1 ,mem_op 
+0x4691 005072 set0 mark_tx_l2cap ,mark 
+0x4692 005073 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x4693 005074 nrtn blank 
+0x4694 005075 fetch 1 ,mem_op 
+0x4695 005076 set0 op_pkt_comp ,pdata 
+0x4696 005077 store 1 ,mem_op 
+0x4697 005078 branch l2cap_malloc_free 
+:      005080 clear_got_txlmp:
+0x4698 005081 bpatch patch0d_1 ,mem_patch0d 
+0x4699 005082 fetch 1 ,mem_lmo_header_opcode 
+0x469a 005083 rshift pdata ,pdata 
+0x469b 005084 beq lmp_start_encryption_req ,start_encryption 
+0x469c 005085 beq lmp_stop_encryption_req ,stop_encryption 
+0x469d 005086 beq lmp_unsniff_req ,sniff_exit 
+0x469e 005087 beq lmp_escape ,clear_lmp_escape 
+0x469f 005088 rtnne lmp_accepted 
+0x46a0 005089 fetch 1 ,mem_lmo_payload 
+0x46a1 005090 beq lmp_sco_link_req ,sco_link_req_by_slave 
+0x46a2 005091 beq lmp_start_encryption_req ,clear_send_setup_complete 
+0x46a3 005092 rtn 
+:      005094 clear_lmp_escape:
+0x46a4 005095 fetch 1 ,mem_lmo_payload 
+0x46a5 005096 set1 7 ,pdata 
+0x46a6 005097 rtn 
+:      005098 clear_send_setup_complete:
+0x46a7 005099 rtn master 
+0x46a8 005100 fetch 1 ,mem_state 
+0x46a9 005101 rtnbit1 state_conn_comp 
+0x46aa 005102 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x46ab 005103 rtn 
+:      005106 sco_link_req_by_slave:
+0x46ac 005107 rtn master 
+0x46ad 005108 fetch 1 ,mem_mode 
+0x46ae 005109 isolate1 send_sco_when_slave ,pdata 
+0x46af 005110 branch clean_mem_mode ,true 
+0x46b0 005112 rtn 
+:      005113 clean_mem_mode:
+0x46b1 005114 set0 send_sco_when_slave ,pdata 
+0x46b2 005115 store 1 ,mem_mode 
+0x46b3 005116 rtn 
+:      005118 start_encryption:
+0x46b4 005119 bpatch patch0d_2 ,mem_patch0d 
+0x46b5 005120 fetch 1 ,mem_state_map 
+0x46b6 005121 set1 smap_encryption ,pdata 
+0x46b7 005122 store 1 ,mem_state_map 
+0x46b8 005123 hjam 1 ,core_encrypt 
+0x46b9 005124 fetch 1 ,mem_state 
+0x46ba 005125 isolate1 state_conn_comp ,pdata 
+0x46bb 005126 rtn 
+:      005128 stop_encryption:
+0x46bc 005129 bpatch patch0d_3 ,mem_patch0d 
+0x46bd 005130 fetch 1 ,mem_state_map 
+0x46be 005131 set0 smap_encryption ,pdata 
+0x46bf 005132 store 1 ,mem_state_map 
+0x46c0 005133 hjam 0 ,core_encrypt 
+0x46c1 005134 rtn 
+:      005137 sniff_init:
+0x46c2 005138 bpatch patch0d_4 ,mem_patch0d 
+0x46c3 005139 copy clkn_bt ,pdata 
+0x46c4 005140 store 4 ,mem_lpm_delay_after_sniff 
+0x46c5 005141 add clkn_bt ,3 ,rega 
+0x46c6 005142 branch sniff_init_master ,master 
+0x46c7 005143 add clke_bt ,3 ,rega 
+:      005144 sniff_init_master:
+0x46c8 005145 fetcht 2 ,mem_tsniff 
+0x46c9 005146 deposit rega 
+0x46ca 005147 set0 27 ,pdata 
+0x46cb 005148 idiv temp 
+0x46cc 005149 fetch 2 ,mem_dsniff 
+0x46cd 005150 call wait_div_end 
+0x46ce 005151 remainder regc 
+0x46cf 005152 isub regc ,pdata 
+0x46d0 005153 branch sniff_init_nowrap ,positive 
+0x46d1 005154 iadd temp ,pdata 
+:      005155 sniff_init_nowrap:
+0x46d2 005156 iadd rega ,pdata 
+0x46d3 005157 store 4 ,mem_sniff_anchor 
+0x46d4 005158 jam switch_flag_init ,mem_switch_flag 
+0x46d5 005159 fetch 1 ,mem_state 
+0x46d6 005160 set1 state_insniff ,pdata 
+0x46d7 005161 store 1 ,mem_state 
+0x46d8 005162 fetch 1 ,mem_sniff_attempt 
+0x46d9 005163 store 1 ,mem_current_sniff_attempt 
+0x46da 005164 setarg 0 
+0x46db 005165 store 3 ,mem_sniff_rcv 
+0x46dc 005166 store 3 ,mem_sniff_lost 
+0x46dd 005167 store 1 ,mem_sniff_unint_lost 
+0x46de 005168 jam bt_evt_enter_sniff ,mem_fifo_temp 
+0x46df 005169 call ui_ipc_send_event 
+0x46e0 005170 fetch 2 ,mem_rx_window_sniff 
+0x46e1 005171 store 2 ,mem_rx_window 
+0x46e2 005172 nrtn master 
+0x46e3 005173 add am_addr ,-1 ,queue 
+0x46e4 005174 rtn 
+:      005176 sniff_exit:
+0x46e5 005177 bpatch patch0d_5 ,mem_patch0d 
+0x46e6 005178 fetch 1 ,mem_state 
+0x46e7 005179 rtnbit0 state_insniff 
+0x46e8 005180 set0 state_insniff ,pdata 
+0x46e9 005181 store 1 ,mem_state 
+0x46ea 005182 fetch 2 ,mem_rx_window_init 
+0x46eb 005183 store 2 ,mem_rx_window 
+0x46ec 005184 disable wake 
+0x46ed 005185 jam bt_evt_exit_sniff ,mem_fifo_temp 
+0x46ee 005186 branch ui_ipc_send_event 
+:      005189 check_attempt:
+0x46ef 005190 bpatch patch0d_6 ,mem_patch0d 
+0x46f0 005191 enable attempt 
+0x46f1 005192 fetch 1 ,mem_state 
+0x46f2 005193 bbit1 state_insniff ,check_attempt_sniff 
+0x46f3 005194 rtnmark1 mark_testmode 
+0x46f4 005195 fetch 1 ,mem_arq 
+0x46f5 005196 rtnbit1 wack 
+0x46f6 005197 fetch 1 ,mem_lmp_to_send 
+0x46f7 005198 nrtn blank 
+0x46f8 005199 fetch 1 ,mem_op 
+0x46f9 005200 rtnbit1 op_txl2cap 
+:      005201 check_attempt_nomore:
+0x46fa 005202 force 0 ,pdata 
+0x46fb 005203 rtn 
+:      005205 check_attempt_sniff:
+0x46fc 005206 bbit0 state_insco ,check_attempt_not_sco 
+0x46fd 005207 fetch 1 ,mem_current_sniff_attempt 
+0x46fe 005208 beq 2 ,check_attempt_sniff_restore_sco 
+0x46ff 005209 fetch 1 ,mem_arq 
+0x4700 005210 bbit1 wack ,check_attempt_notimeout 
+0x4701 005211 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+:      005212 check_attempt_sniff_restore_sco:
+0x4702 005213 nbranch check_attempt_notimeout ,master 
+0x4703 005214 fetch 1 ,mem_lmp_to_send 
+0x4704 005215 nbranch check_attempt_notimeout ,blank 
+:      005216 check_attempt_sco_master:
+0x4705 005217 fetch 1 ,mem_sco_poll 
+0x4706 005218 increase -1 ,pdata 
+0x4707 005219 store 1 ,mem_sco_poll 
+0x4708 005220 nbranch check_attempt_nomore ,blank 
+0x4709 005221 jam param_sco_poll ,mem_sco_poll 
+0x470a 005222 branch check_attempt_notimeout 
+:      005229 check_attempt_not_sco:
+0x470b 005230 fetch 1 ,mem_current_sniff_attempt 
+0x470c 005231 bne 1 ,check_attempt_notimeout 
+0x470d 005232 fetch 1 ,mem_current_sniff_timeout 
+0x470e 005233 branch check_attempt_notimeout ,blank 
+0x470f 005234 increase -1 ,pdata 
+0x4710 005235 store 1 ,mem_current_sniff_timeout 
+0x4711 005236 fetch 1 ,mem_arq 
+0x4712 005237 rtnbit1 wack 
+0x4713 005238 nrtn match 
+:      005239 check_attempt_notimeout:
+0x4714 005240 fetch 1 ,mem_current_sniff_attempt 
+0x4715 005241 increase -1 ,pdata 
+0x4716 005242 store 1 ,mem_current_sniff_attempt 
+0x4717 005243 rtn 
+:      005254 sniff_check_window:
+0x4718 005255 bpatch patch0d_7 ,mem_patch0d 
+0x4719 005256 disable swfine 
+0x471a 005257 copy temp ,stop_watch 
+0x471b 005258 call context_search_sniff_window 
+0x471c 005259 disable user 
+0x471d 005260 nrtn zero 
+0x471e 005261 force 0 ,stop_watch 
+0x471f 005262 enable user 
+0x4720 005263 rtn 
+:      005266 check_esco_amaddr:
+0x4721 005267 fetch 1 ,mem_esco_addr 
+0x4722 005268 icompare 0xff ,am_addr 
+0x4723 005269 rtn 
+:      005272 parse_l2cap:
+0x4724 005273 bpatch patch0e_0 ,mem_patch0e 
+0x4725 005274 set0 mark_rxbuf_inuse ,mark 
+:      005275 parse_l2cap_cont:
+0x4726 005276 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x4727 005277 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4728 005278 rtn blank 
+0x4729 005279 isolate1 l2cap_inuse_buff1 ,pdata 
+0x472a 005280 arg mem_l2cap_rxbuff1 ,contr 
+0x472b 005281 call process_rx_l2cap_pkt ,true 
+0x472c 005282 bpatch patch0e_1 ,mem_patch0e 
+0x472d 005283 fetch 1 ,mem_l2cap_rx_done 
+0x472e 005284 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0x472f 005286 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x4730 005287 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4731 005288 rtnbit0 l2cap_inuse_buff2 
+0x4732 005289 arg mem_l2cap_rxbuff2 ,contr 
+0x4733 005290 call process_rx_l2cap_pkt 
+0x4734 005291 fetch 1 ,mem_l2cap_rx_done 
+0x4735 005292 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0x4736 005293 rtn 
+:      005295 parse_l2cap_release_buff1:
+0x4737 005296 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4738 005297 set0 l2cap_inuse_buff1 ,pdata 
+0x4739 005298 store 1 ,mem_l2cap_rxbuff_inuse 
+0x473a 005299 setarg 0 
+0x473b 005300 store 2 ,mem_l2cap_rxbuff1_len 
+0x473c 005301 rtn 
+:      005302 parse_l2cap_release_buff2:
+0x473d 005303 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x473e 005304 set0 l2cap_inuse_buff2 ,pdata 
+0x473f 005305 store 1 ,mem_l2cap_rxbuff_inuse 
+0x4740 005306 setarg 0 
+0x4741 005307 store 2 ,mem_l2cap_rxbuff2_len 
+0x4742 005308 rtn 
+:      005310 l2cap_buff1_inuse:
+0x4743 005311 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4744 005312 set1 l2cap_inuse_buff1 ,pdata 
+0x4745 005313 store 1 ,mem_l2cap_rxbuff_inuse 
+0x4746 005314 rtn 
+:      005316 l2cap_buff2_inuse:
+0x4747 005317 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x4748 005318 set1 l2cap_inuse_buff2 ,pdata 
+0x4749 005319 store 1 ,mem_l2cap_rxbuff_inuse 
+0x474a 005320 rtn 
+:      005326 slave_send_access:
+0x474b 005327 bpatch patch0e_2 ,mem_patch0e 
+0x474c 005328 add clke_bt ,1 ,bt_clk 
+0x474d 005329 call fetch_extm_bt_adr 
+0x474e 005330 force 0x03 ,freq_mode 
+0x474f 005331 call tx_radio_freq 
+0x4750 005332 call start_transmitter 
+0x4751 005333 call start_tx_external 
+0x4752 005334 branch send_access_word 
+:      005337 slave_conn_send_packet:
+0x4753 005338 bpatch patch0e_3 ,mem_patch0e 
+0x4754 005339 call rf_setup_time_slave_slot 
+0x4755 005340 deposit clke_bt 
+0x4756 005341 fetcht 4 ,mem_next_btclk 
+0x4757 005342 isub temp ,pdata 
+0x4758 005343 rtnne 1 
+0x4759 005344 compare type_null ,type ,0x1f 
+0x475a 005345 nbranch slave_conn_send_access ,true 
+0x475b 005346 fetch 1 ,mem_rx_type 
+0x475c 005347 rtn blank 
+:      005348 slave_conn_send_access:
+0x475d 005349 call slave_send_access 
+:      005350 transmit_packet:
+0x475e 005351 compare type_id ,type ,0x1f 
+0x475f 005352 branch end_of_packet ,true 
+0x4760 005353 rshift bt_clk ,temp 
+0x4761 005354 or temp ,0x40 ,white_init 
+:      005355 transmit_packet_whitened:
+0x4762 005356 bpatch patch0e_4 ,mem_patch0e 
+0x4763 005357 enable enable_white 
+0x4764 005358 enable enable_hec 
+0x4765 005359 enable encode_fec1 
+0x4766 005360 set0 mark_longpacket ,mark 
+0x4767 005361 deposit am_addr 
+0x4768 005362 inject mod ,3 
+0x4769 005363 deposit type 
+0x476a 005364 inject mod ,4 
+0x476b 005365 fetch 1 ,mem_arq 
+0x476c 005366 inject bucket ,4 
+0x476d 005367 inject mod ,3 
+0x476e 005368 enable enable_parity 
+0x476f 005369 inject mod ,8 
+0x4770 005370 disable encode_fec1 
+0x4771 005371 disable enable_parity 
+0x4772 005372 disable enable_hec 
+0x4773 005373 set0 psk3m ,radio_ctrl 
+0x4774 005374 arg 0 ,temp 
+0x4775 005375 call reserve_slot 
+0x4776 005376 bpatch patch0e_5 ,mem_patch0e 
+0x4777 005377 and type ,0x1f ,pdata 
+0x4778 005378 beq type_lmp ,transmit_lmp 
+0x4779 005379 beq type_null ,end_of_packet 
+0x477a 005380 beq type_poll ,end_of_packet 
+0x477b 005381 beq type_fhs ,transmit_fhs 
+0x477c 005382 beq type_dm1 ,transmit_dm1 
+0x477d 005383 beq type_dh1 ,transmit_dh1 
+0x477e 005384 beq type_hv3 ,transmit_hev 
+0x477f 005385 beq type_3dh1 ,transmit_3dh1 
+0x4780 005386 arg 4 ,temp 
+0x4781 005387 call reserve_slot 
+0x4782 005388 beq type_dm3 ,transmit_dm3 
+0x4783 005389 beq type_dh3 ,transmit_dh3 
+0x4784 005390 arg 8 ,temp 
+0x4785 005391 call reserve_slot 
+0x4786 005392 beq type_dh5 ,transmit_dh5 
+0x4787 005393 branch transmit_dm5 
+:      005396 transmit_hev:
+0x4788 005397 bpatch patch0e_6 ,mem_patch0e 
+0x4789 005398 enable encode_fec0 
+0x478a 005399 enable enable_crc 
+0x478b 005400 enable encrypt 
+0x478c 005401 force 30 ,loopcnt 
+0x478d 005402 arg mem_sco_obuf ,contr 
+:      005403 transmit_ev_loop:
+0x478e 005404 ifetch 1 ,contr 
+0x478f 005405 inject mod ,8 
+0x4790 005406 loop transmit_ev_loop 
+0x4791 005407 bmark1 mark_esco ,transmit_end 
+0x4792 005408 branch end_of_packet 
+:      005410 transmit_fhs:
+0x4793 005411 bpatch patch0e_7 ,mem_patch0e 
+0x4794 005412 fetch 1 ,mem_fhs_am_addr 
+0x4795 005413 icopy am_addr 
+0x4796 005414 fetch 1 ,mem_fhs_misc 
+0x4797 005415 icopy fhs_misc 
+0x4798 005416 fetch 3 ,mem_class 
+0x4799 005417 icopy fhs_class 
+0x479a 005418 fetch 2 ,mem_nap 
+0x479b 005419 icopy nap 
+0x479c 005420 enable enable_crc 
+0x479d 005421 enable encode_fec2 
+0x479e 005422 copy bt_adr ,rega 
+0x479f 005423 call fetch_self_bt_adr 
+0x47a0 005424 pulse recalc 
+0x47a1 005425 nop 32 
+0x47a2 005426 copy bt_clk ,timeup 
+0x47a3 005427 fetch 4 ,mem_clkn_bt 
+0x47a4 005428 icopy bt_clk 
+0x47a5 005429 preload fhs0 
+0x47a6 005430 set1 58 ,pdata 
+0x47a7 005431 inject mod ,72 
+0x47a8 005432 preload fhs1 
+0x47a9 005433 inject mod ,72 
+0x47aa 005434 copy timeup ,bt_clk 
+0x47ab 005435 copy rega ,bt_adr 
+0x47ac 005436 enable enable_parity 
+0x47ad 005437 inject mod ,16 
+0x47ae 005438 disable enable_parity 
+0x47af 005439 branch end_of_packet 
+:      005441 transmit_lmp:
+0x47b0 005442 bpatch patch0f_0 ,mem_patch0f 
+0x47b1 005443 enable encrypt 
+0x47b2 005444 enable enable_crc 
+0x47b3 005445 enable encode_fec2 
+0x47b4 005446 fetch 1 ,mem_lmo_header_length 
+0x47b5 005447 and pdata ,0x1f8 ,temp 
+0x47b6 005448 arg mem_lmo_header_length ,contr 
+0x47b7 005449 increase 8 ,temp 
+:      005450 transmit_lmp_loop:
+0x47b8 005451 add temp ,-72 ,regc 
+0x47b9 005452 nbranch transmit_lmp_finish ,positive 
+0x47ba 005453 ifetch 9 ,contr 
+0x47bb 005454 inject mod ,72 
+0x47bc 005455 copy regc ,temp 
+0x47bd 005456 branch transmit_lmp_loop 
+:      005457 transmit_lmp_finish:
+0x47be 005458 ifetch 9 ,contr 
+0x47bf 005459 iinject mod ,temp 
+0x47c0 005460 branch transmit_end 
+:      005462 transmit_dm1:
+0x47c1 005463 enable encode_fec2 
+0x47c2 005464 branch transmit_dmh 
+:      005465 transmit_dm3:
+:      005466 transmit_dm5:
+0x47c3 005467 enable encode_fec2 
+0x47c4 005468 set1 mark_longpacket ,mark 
+0x47c5 005469 branch transmit_dmh 
+:      005471 transmit_3dh1:
+0x47c6 005472 set1 psk3m ,radio_ctrl 
+:      005473 transmit_dh1:
+0x47c7 005474 enable encode_fec0 
+0x47c8 005475 branch transmit_dmh 
+:      005477 transmit_dh3:
+:      005478 transmit_dh5:
+0x47c9 005479 set1 psk3m ,radio_ctrl 
+0x47ca 005480 enable encode_fec0 
+0x47cb 005481 set1 mark_longpacket ,mark 
+:      005483 transmit_dmh:
+0x47cc 005484 bpatch patch0f_1 ,mem_patch0f 
+0x47cd 005485 fetch 1 ,mem_state_map 
+0x47ce 005486 bbit0 smap_edr ,transmit_noedr 
+0x47cf 005487 sub type ,3 ,null 
+0x47d0 005488 branch transmit_noedr ,positive 
+0x47d1 005489 disable encrypt 
+0x47d2 005490 disable encode_fec2 
+0x47d3 005491 enable encode_fec0 
+0x47d4 005492 disable enable_white 
+0x47d5 005493 set1 psk ,radio_ctrl 
+0x47d6 005494 isolate1 psk3m ,radio_ctrl 
+0x47d7 005495 branch transmit_edr3m ,true 
+0x47d8 005496 setarg 0xabeee 
+0x47d9 005497 inject mod ,20 
+0x47da 005498 branch transmit_edr_sync_end 
+:      005499 transmit_edr3m:
+0x47db 005500 setarg 0x5faeba 
+0x47dc 005501 inject mod ,24 
+0x47dd 005502 setarg 0x12 
+0x47de 005503 inject mod ,6 
+:      005504 transmit_edr_sync_end:
+0x47df 005505 enable enable_white 
+0x47e0 005506 set1 mark_longpacket ,mark 
+:      005507 transmit_noedr:
+0x47e1 005508 enable encrypt 
+0x47e2 005509 enable enable_crc 
+0x47e3 005510 bmark1 mark_loopback ,transmit_loopback 
+0x47e4 005511 fetch 1 ,mem_tx_lch 
+0x47e5 005512 inject mod ,3 
+0x47e6 005513 fetch 2 ,mem_tx_len 
+0x47e7 005514 iforce loopcnt 
+0x47e8 005515 bmark1 mark_longpacket ,transmit_long 
+0x47e9 005516 inject mod ,5 
+0x47ea 005517 branch transmit_stuff 
+:      005518 transmit_long:
+0x47eb 005519 inject mod ,13 
+:      005520 transmit_stuff:
+0x47ec 005521 deposit loopcnt 
+0x47ed 005522 branch transmit_end ,blank 
+0x47ee 005523 fetch 2 ,mem_txptr 
+0x47ef 005524 iforce contr 
+:      005525 transmit_stuff_loop:
+0x47f0 005526 ifetch 1 ,contr 
+0x47f1 005527 inject mod ,8 
+0x47f2 005528 loop transmit_stuff_loop 
+:      005531 transmit_end:
+0x47f3 005532 enable enable_parity 
+0x47f4 005533 inject mod ,16 
+0x47f5 005534 disable enable_parity 
+0x47f6 005535 call set_wait_ack 
+0x47f7 005536 fetch 1 ,mem_state_map 
+0x47f8 005537 bbit0 smap_edr ,end_of_packet 
+0x47f9 005538 force 0 ,pdata 
+0x47fa 005539 inject mod ,6 
+0x47fb 005540 branch end_of_packet 
+:      005543 transmit_loopback:
+0x47fc 005544 bpatch patch0f_2 ,mem_patch0f 
+0x47fd 005545 bmark1 mark_longpacket ,transmit_loopback_long 
+:      005546 transmit_loopback_short:
+0x47fe 005547 fetch 1 ,mem_lch_code 
+0x47ff 005548 inject mod ,3 
+0x4800 005549 fetch 1 ,mem_len 
+0x4801 005550 iforce regc 
+0x4802 005551 inject mod ,5 
+0x4803 005552 branch transmit_loopback_cont 
+:      005553 transmit_loopback_long:
+0x4804 005554 fetch 1 ,mem_lch_code 
+0x4805 005555 inject mod ,3 
+0x4806 005556 fetch 2 ,mem_len 
+0x4807 005557 iforce regc 
+0x4808 005558 inject mod ,13 
+:      005559 transmit_loopback_cont:
+0x4809 005560 arg mem_rxbuf ,contr 
+:      005561 transmit_loopback_loop:
+0x480a 005562 copy regc ,null 
+0x480b 005563 branch transmit_loopback_end ,zero 
+0x480c 005564 ifetch 1 ,contr 
+0x480d 005565 inject mod ,8 
+0x480e 005566 increase -1 ,regc 
+0x480f 005567 branch transmit_loopback_loop 
+:      005568 transmit_loopback_end:
+0x4810 005569 fetch 2 ,mem_tst_pktcnt_dmh 
+0x4811 005570 increase 1 ,pdata 
+0x4812 005571 store 2 ,mem_tst_pktcnt_dmh 
+0x4813 005572 branch transmit_end 
+:      005575 apply_switch_clke:
+0x4814 005576 fetch 4 ,mem_clke_bt 
+0x4815 005577 add pdata ,7 ,rega 
+0x4816 005578 fetch 2 ,mem_slot_offset 
+0x4817 005579 nbranch apply_switch_nozero ,blank 
+0x4818 005580 increase -3 ,rega 
+0x4819 005581 branch apply_switch_wait_loop 
+:      005582 apply_switch_nozero:
+0x481a 005583 mul32 pdata ,12 ,pdata 
+0x481b 005584 fetcht 2 ,core_rthalfslot 
+0x481c 005585 increase 1 ,temp 
+:      005586 apply_switch_loop:
+0x481d 005587 isub temp ,pdata 
+0x481e 005588 nbranch apply_switch_bt ,positive 
+0x481f 005589 increase -1 ,rega 
+0x4820 005590 branch apply_switch_loop 
+:      005591 apply_switch_bt:
+0x4821 005592 sub pdata ,0 ,pdata 
+:      005593 apply_switch_wait_loop:
+0x4822 005594 until null ,oneslot 
+0x4823 005595 compare 0 ,clkn_bt ,3 
+0x4824 005596 nbranch apply_switch_wait_loop ,true 
+0x4825 005597 iforce clke_rt 
+0x4826 005598 copy rega ,clke_bt 
+0x4827 005599 iforce clke_rt 
+0x4828 005600 rtn 
+:      005603 calc_slot_offset:
+0x4829 005604 bpatch patch0f_3 ,mem_patch0f 
+0x482a 005605 until null ,halfslot 
+0x482b 005606 deposit clke 
+0x482c 005607 iforce contr 
+0x482d 005608 rshift16 ,pdata ,pdata 
+0x482e 005609 isub clkn_bt ,loopcnt 
+0x482f 005610 and_into 3 ,loopcnt 
+0x4830 005611 nbranch calc_bt_portion ,zero 
+0x4831 005612 force 0 ,pdata 
+0x4832 005613 branch calc_skip_bt 
+:      005614 calc_bt_portion:
+0x4833 005615 arg 3750 ,temp 
+0x4834 005616 force 0 ,pdata 
+:      005617 calc_slot_offset_loop:
+0x4835 005618 iadd temp ,pdata 
+0x4836 005619 loop calc_slot_offset_loop 
+:      005620 calc_skip_bt:
+0x4837 005621 iadd contr ,pdata 
+0x4838 005622 div pdata ,12 
+0x4839 005623 call wait_div_end 
+0x483a 005624 quotient pdata 
+0x483b 005625 store 2 ,mem_slot_offset 
+0x483c 005626 rtn 
+:      005628 calc_clke_offset:
+0x483d 005629 bpatch patch0f_4 ,mem_patch0f 
+0x483e 005630 deposit clke 
+0x483f 005631 copy clkn ,temp 
+0x4840 005632 isub temp ,null 
+0x4841 005633 nsetflag positive ,44 ,pdata 
+0x4842 005634 isub temp ,temp 
+0x4843 005635 setarg 3750 
+0x4844 005636 isolate0 15 ,temp 
+0x4845 005637 branch calc_clke_pos ,true 
+0x4846 005638 setarg -61786 
+0x4847 005639 iadd temp ,temp 
+:      005640 calc_clke_pos:
+0x4848 005641 storet 6 ,mem_le_clk_offset 
+0x4849 005642 rtn le 
+0x484a 005643 storet 6 ,mem_clk_offset 
+0x484b 005644 rtn 
+:      005646 calc_clke:
+0x484c 005647 disable clknt 
+0x484d 005648 fetch 6 ,mem_le_clk_offset 
+0x484e 005649 branch calc_clke2 ,le 
+0x484f 005650 fetch 6 ,mem_clk_offset 
+:      005651 calc_clke2:
+0x4850 005652 iadd clkn ,alarm 
+0x4851 005653 increase 10 ,alarm 
+0x4852 005654 setarg 3750 
+0x4853 005655 isub alarm ,pdata 
+0x4854 005656 isolate0 15 ,pdata 
+0x4855 005657 branch calc_clke_pos_adj ,true 
+0x4856 005658 setarg 0xf15a 
+0x4857 005659 iadd alarm ,alarm 
+:      005660 calc_clke_pos2:
+0x4858 005661 copy alarm ,clke 
+0x4859 005662 rtn 
+:      005663 calc_clke_pos_adj:
+0x485a 005664 force 0 ,null 
+0x485b 005665 branch calc_clke_pos2 
+:      005672 calc_radio_freq:
+0x485c 005673 bpatch patch0f_5 ,mem_patch0f 
+0x485d 005674 call set_sync_on 
+0x485e 005675 copy bt_clk ,pdata 
+0x485f 005676 and_into 0x180 ,pdata 
+0x4860 005677 compare 3 ,freq_mode ,0x07 
+0x4861 005678 nbranch freq_not_connection ,true 
+0x4862 005679 rshift3 pdata ,pdata 
+0x4863 005680 iadd freq_index ,pdata 
+0x4864 005681 branch do_hop_mod_now 
+:      005682 freq_not_connection:
+0x4865 005683 copy freq_index ,pdata 
+:      005684 do_hop_mod_now:
+0x4866 005685 div pdata ,79 
+0x4867 005686 pulse recalc 
+0x4868 005687 call wait_div_end 
+0x4869 005688 remainder rega 
+0x486a 005689 add rega ,-40 ,temp 
+0x486b 005690 branch odd_half ,positive 
+0x486c 005691 lshift rega ,temp 
+0x486d 005692 branch freq_result 
+:      005693 odd_half:
+0x486e 005694 lshift temp ,temp 
+0x486f 005695 increase 1 ,temp 
+:      005696 freq_result:
+0x4870 005697 bpatch patch0f_6 ,mem_patch0f 
+0x4871 005698 fetch 1 ,mem_mode 
+0x4872 005699 bbit0 afh_change ,afh_process_con 
+:      005700 afh_process_0:
+0x4873 005701 fetch 4 ,mem_afh_instant 
+0x4874 005702 isub bt_clk ,null 
+0x4875 005703 branch afh_process_con ,positive 
+0x4876 005704 call afh_clear 
+0x4877 005705 fetch 1 ,mem_afh_new_mod 
+0x4878 005706 rtn blank 
+0x4879 005707 fetch 1 ,mem_mode 
+0x487a 005708 set1 afh_enable ,pdata 
+0x487b 005709 store 1 ,mem_mode 
+0x487c 005710 fetch 5 ,mem_afh_map_new 
+0x487d 005711 store 5 ,mem_afh_map_lo 
+0x487e 005712 ifetch 5 ,contr 
+0x487f 005713 store 5 ,mem_afh_map_hi 
+0x4880 005714 call afh_process_freq_map 
+:      005715 afh_process_con:
+0x4881 005716 fetch 1 ,mem_mode 
+0x4882 005717 rtnbit0 afh_enable 
+0x4883 005718 isolate1 1 ,bt_clk 
+0x4884 005719 branch afh_same_channel ,true 
+0x4885 005720 rshift3 temp ,rega 
+0x4886 005721 and temp ,7 ,queue 
+0x4887 005722 setarg mem_afh_map_lo 
+0x4888 005723 iadd rega ,rega 
+0x4889 005724 ifetch 1 ,rega 
+0x488a 005725 qisolate0 pdata 
+0x488b 005726 branch afh_process_1 ,true 
+0x488c 005727 deposit temp 
+0x488d 005728 branch afh_process_end 
+:      005729 afh_process_1:
+0x488e 005730 fetch 1 ,mem_afh_used 
+0x488f 005731 iforce regb 
+0x4890 005732 deposit bt_clk 
+0x4891 005733 and_into 0x180 ,pdata 
+0x4892 005734 rshift3 pdata ,pdata 
+0x4893 005735 iadd freq_index ,pdata 
+0x4894 005736 idiv regb 
+0x4895 005737 setarg mem_afh_map 
+0x4896 005738 call wait_div_end 
+0x4897 005739 remainder rega 
+0x4898 005740 iadd rega ,contr 
+0x4899 005741 ifetch 1 ,contr 
+:      005742 afh_process_end:
+0x489a 005743 store 1 ,mem_afh_index 
+0x489b 005744 iforce temp 
+0x489c 005745 rtn 
+:      005747 afh_same_channel:
+0x489d 005748 fetch 1 ,mem_afh_index 
+0x489e 005749 iforce temp 
+0x489f 005750 rtn 
+:      005752 afh_clear:
+0x48a0 005753 fetch 1 ,mem_mode 
+0x48a1 005754 set0 afh_enable ,pdata 
+0x48a2 005755 set0 afh_change ,pdata 
+0x48a3 005756 store 1 ,mem_mode 
+0x48a4 005757 rtn 
+:      005763 afh_process_freq_map:
+0x48a5 005764 bpatch patch0f_7 ,mem_patch0f 
+0x48a6 005765 arg mem_afh_map ,contw 
+0x48a7 005766 force 10 ,loopcnt 
+0x48a8 005767 call memset0 
+0x48a9 005768 arg mem_afh_map ,contw 
+0x48aa 005769 force 0 ,regc 
+0x48ab 005770 force 2 ,queue 
+:      005771 process_freq_3:
+0x48ac 005772 fetch 5 ,mem_afh_map_lo 
+0x48ad 005773 iforce temp 
+0x48ae 005774 compare 2 ,queue ,0xff 
+0x48af 005775 branch process_freq_1 ,true 
+0x48b0 005776 rshift temp ,temp 
+:      005777 process_freq_1:
+0x48b1 005778 isolate0 0 ,temp 
+0x48b2 005779 branch process_freq_0 ,true 
+0x48b3 005780 deposit regc 
+0x48b4 005781 istore 1 ,contw 
+:      005782 process_freq_0:
+0x48b5 005783 rshift2 temp ,temp 
+0x48b6 005784 increase 2 ,regc 
+0x48b7 005785 compare 40 ,regc ,0xfe 
+0x48b8 005786 nbranch process_freq_2 ,true 
+0x48b9 005787 fetch 5 ,mem_afh_map_hi 
+0x48ba 005788 iforce temp 
+0x48bb 005789 compare 2 ,queue ,0xff 
+0x48bc 005790 branch process_freq_2 ,true 
+0x48bd 005791 rshift temp ,temp 
+:      005792 process_freq_2:
+0x48be 005793 sub regc ,78 ,null 
+0x48bf 005794 branch process_freq_1 ,positive 
+0x48c0 005795 force 1 ,regc 
+0x48c1 005796 increase -1 ,queue 
+0x48c2 005797 nbranch process_freq_3 ,zero 
+0x48c3 005798 arg mem_afh_map ,rega 
+0x48c4 005799 deposit contw 
+0x48c5 005800 isub rega ,pdata 
+0x48c6 005801 store 1 ,mem_afh_used 
+0x48c7 005802 rtn 
+:      005804 rx_radio_freq:
+0x48c8 005805 bpatch patch10_0 ,mem_patch10 
+0x48c9 005806 call calc_radio_freq 
+0x48ca 005807 fetch 1 ,mem_debug_config 
+0x48cb 005808 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+0x48cc 005809 fetcht 1 ,mem_rx_fixed_freq 
+:      005810 rx_radio_freq_now:
+0x48cd 005811 branch set_freq_rx 
+:      005814 tx_radio_freq:
+0x48ce 005815 bpatch patch10_1 ,mem_patch10 
+0x48cf 005816 call calc_radio_freq 
+0x48d0 005817 fetch 1 ,mem_debug_config 
+0x48d1 005818 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+0x48d2 005819 fetcht 1 ,mem_tx_fixed_freq 
+:      005820 tx_radio_freq_now:
+0x48d3 005821 branch set_freq_tx 
+:      005824 fetch_giac:
+0x48d4 005825 force 0 ,uap 
+0x48d5 005826 fetch 3 ,mem_glap 
+0x48d6 005827 iforce lap 
+0x48d7 005828 rtn 
+:      005830 fetch_page_bt_adr:
+0x48d8 005831 bpatch patch10_2 ,mem_patch10 
+0x48d9 005832 fetch 1 ,mem_hci_puap 
+0x48da 005833 icopy uap 
+0x48db 005834 fetch 3 ,mem_hci_plap 
+0x48dc 005835 icopy lap 
+0x48dd 005836 rtn 
+:      005838 fetch_self_bt_adr:
+0x48de 005839 bpatch patch10_3 ,mem_patch10 
+0x48df 005840 fetch 2 ,mem_nap 
+0x48e0 005841 icopy nap 
+0x48e1 005842 fetch 1 ,mem_uap 
+0x48e2 005843 icopy uap 
+0x48e3 005844 fetch 3 ,mem_lap 
+0x48e4 005845 icopy lap 
+0x48e5 005846 rtn 
+:      005848 fetch_extm_bt_adr:
+0x48e6 005849 bpatch patch10_4 ,mem_patch10 
+0x48e7 005850 fetch 2 ,mem_pnap 
+0x48e8 005851 icopy nap 
+0x48e9 005852 fetch 1 ,mem_puap 
+0x48ea 005853 icopy uap 
+0x48eb 005854 fetch 3 ,mem_plap 
+0x48ec 005855 icopy lap 
+0x48ed 005856 rtn 
+:      005859 fetch_diac:
+0x48ee 005860 bmark1 mark_all_diac ,fetch_diac_do 
+0x48ef 005861 rtnmark0 mark_inquiry_state 
+0x48f0 005862 rtnmark0 mark_periodical_diac 
+:      005863 fetch_diac_do:
+0x48f1 005864 and_into -256 ,lap 
+0x48f2 005865 pulse recalc 
+0x48f3 005866 nop 32 
+0x48f4 005867 rtn 
+:      005870 shutdown_radio:
+0x48f5 005871 bpatch patch10_5 ,mem_patch10 
+0x48f6 005872 branch shutdown_radio0 ,is_rx 
+0x48f7 005873 hjam 0xd4 ,0x955 
+0x48f8 005874 nop 4 
+0x48f9 005875 hjam 0xd2 ,0x955 
+0x48fa 005876 nop 4 
+0x48fb 005877 hjam 0xd1 ,0x955 
+0x48fc 005878 nop 4 
+0x48fd 005879 fetch 1 ,mem_tx_power 
+0x48fe 005880 beq tx_power_0db ,shutdown_radio_0db 
+0x48ff 005881 beq tx_power_3db ,shutdown_radio_3db 
+0x4900 005882 beq tx_power_5db ,shutdown_radio_5db 
+0x4901 005883 beq tx_power_f3db ,shutdown_radio_f3db 
+0x4902 005884 beq tx_power_f5db ,shutdown_radio_f5db 
+0x4903 005885 beq tx_power_pair ,shutdown_radio_pair 
+:      005886 shutdown_radio_5db:
+:      005887 shutdown_radio_0db:
+0x4904 005888 hjam 0xd0 ,0x955 
+0x4905 005889 hjam 0xe0 ,0x956 
+:      005890 shutdown_radio0:
+0x4906 005891 force 0x08 ,radio_ctrl 
+0x4907 005892 force 0 ,radio_ctrl 
+0x4908 005893 disable is_rx 
+0x4909 005894 disable is_tx 
+0x490a 005895 pulse packet_end 
+0x490b 005896 hjam 0x0 ,rfen_mdm 
+0x490c 005897 hjam 0x0 ,rfen_tx 
+0x490d 005898 hjam 0x0 ,rfen_rx 
+0x490e 005899 hjam 0 ,rfen_sn 
+0x490f 005900 hjam 0x70 ,rfen_msc 
+0x4910 005901 hjam 0x0 ,rfen_adc 
+0x4911 005902 rtn 
+:      005904 shutdown_radio_pair:
+:      005905 shutdown_radio_f5db:
+:      005906 shutdown_radio_f3db:
+:      005907 shutdown_radio_3db:
+0x4912 005908 hjam 0xd0 ,0x955 
+0x4913 005909 hjam 0xc0 ,0x956 
+0x4914 005910 branch shutdown_radio0 
+:      005912 set_sync_on:
+0x4915 005913 bpatch patch10_6 ,mem_patch10 
+0x4916 005914 hjam 0x0 ,rfen_mdm 
+0x4917 005915 hjam 0x0 ,rfen_tx 
+0x4918 005916 hjam 0x18 ,rfen_rx 
+0x4919 005917 hjam 0xa7 ,rfen_sn 
+0x491a 005918 hjam 0x7f ,rfen_msc 
+0x491b 005919 rtn 
+:      005921 set_freq_rx:
+0x491c 005922 bpatch patch10_7 ,mem_patch10 
+0x491d 005924 storet 1 ,mem_last_freq 
+0x491e 005925 add temp ,rx_freq_offset ,rega 
+0x491f 005926 hjam 0x07 ,0x96d 
+0x4920 005927 branch rf_write_freq 
+:      005928 rf_rx_enable:
+0x4921 005929 bpatch patch11_0 ,mem_patch11 
+0x4922 005930 hjam 0xcf ,rfen_tx 
+0x4923 005931 nop 10 
+0x4924 005932 hjam 0xff ,rfen_rx 
+0x4925 005933 hjam 0xaf ,rfen_sn 
+0x4926 005934 hjam 0xff ,rfen_msc 
+0x4927 005935 nop 10 
+0x4928 005936 hjam 0xa0 ,rfen_mdm 
+0x4929 005937 rtn 
+:      005939 set_freq_tx_offset:
+0x492a 005940 fetch 1 ,mem_250k_freq_enable 
+0x492b 005941 branch set_freq_tx_2m_offset ,blank 
+:      005942 set_freq_tx_0m_offset:
+0x492c 005943 add temp ,2 ,rega 
+0x492d 005944 rtn 
+:      005945 set_freq_tx_2m_offset:
+0x492e 005946 add temp ,0 ,rega 
+0x492f 005947 rtn 
+:      005949 set_freq_tx:
+0x4930 005950 bpatch patch11_1 ,mem_patch11 
+0x4931 005951 storet 1 ,mem_last_freq 
+0x4932 005952 call set_freq_tx_offset 
+0x4933 005953 call rf_write_freq 
+0x4934 005954 setarg param_pll_setup 
+0x4935 005955 call sleep 
+:      005956 txon:
+0x4936 005957 hjam 0x1 ,rfen_adc 
+0x4937 005958 hjam 0x3c ,rfen_rx 
+0x4938 005959 hjam 0xe0 ,rfen_tx 
+0x4939 005960 hjam 0x12 ,0x96d 
+0x493a 005961 nop 10 
+0x493b 005962 hjam 0x01 ,rfen_mdm 
+0x493c 005963 hjam 0x3d ,rfen_mdm 
+0x493d 005964 nop 10 
+0x493e 005965 hjam 0xb7 ,rfen_sn 
+0x493f 005966 nop 10 
+0x4940 005967 hjam 0x7f ,rfen_mdm 
+0x4941 005968 fetch 1 ,mem_tx_power 
+0x4942 005969 beq tx_power_0db ,set_tx_power_0db 
+0x4943 005970 beq tx_power_3db ,set_tx_power_3db 
+0x4944 005971 beq tx_power_5db ,set_tx_power_5db 
+0x4945 005972 beq tx_power_f3db ,set_tx_power_f3db 
+0x4946 005973 beq tx_power_f5db ,set_tx_power_f5db 
+0x4947 005974 beq tx_power_pair ,set_tx_power_pair 
+:      005975 set_tx_power_0db:
+0x4948 005976 hjam 0xf0 ,0x956 
+0x4949 005977 call txon_common 
+0x494a 005978 hjam 0xd8 ,0x955 
+0x494b 005979 rtn 
+:      005981 set_tx_power_3db:
+0x494c 005982 hjam 0xdf ,0x956 
+0x494d 005983 call txon_common 
+0x494e 005984 hjam 0xdf ,0x955 
+0x494f 005985 rtn 
+:      005987 set_tx_power_5db:
+0x4950 005988 hjam 0xff ,0x956 
+0x4951 005989 call txon_common 
+0x4952 005990 hjam 0xdf ,0x955 
+0x4953 005991 rtn 
+:      005992 set_tx_power_f3db:
+0x4954 005993 hjam 0xce ,0x956 
+0x4955 005994 call txon_common 
+0x4956 005995 hjam 0xd8 ,0x955 
+0x4957 005996 rtn 
+:      005998 set_tx_power_f5db:
+0x4958 005999 hjam 0xcb ,0x956 
+0x4959 006000 call txon_common 
+0x495a 006001 hjam 0xd8 ,0x955 
+0x495b 006002 rtn 
+:      006004 set_tx_power_pair:
+0x495c 006005 hjam 0xd0 ,0x955 
+0x495d 006006 hjam 0xc0 ,0x956 
+0x495e 006007 hjam 0x4c ,0x957 
+0x495f 006008 hjam 0x6c ,0x958 
+0x4960 006009 hjam 0x50 ,0x959 
+0x4961 006010 rtn 
+:      006012 txon_common:
+0x4962 006013 nop 4 
+0x4963 006014 hjam 0xd1 ,0x955 
+0x4964 006015 nop 4 
+0x4965 006016 hjam 0xd2 ,0x955 
+0x4966 006017 nop 4 
+0x4967 006018 hjam 0xd4 ,0x955 
+0x4968 006019 nop 4 
+0x4969 006020 rtn 
+:      006023 initialize_radio:
+0x496a 006024 hjam clksel_rc ,core_clksel 
+0x496b 006025 ncall wake_up_m0 ,wake 
+:      006026 initialize_radio_wait:
+0x496c 006027 fetch 2 ,mem_rf_init_ptr 
+0x496d 006028 bbit0 14 ,initialize_radio_wait 
+0x496e 006029 iforce contr 
+0x496f 006030 arg 0x8900 ,temp 
+:      006031 initialize_radio_loop:
+0x4970 006032 ifetch 1 ,contr 
+0x4971 006033 beq 0xff ,initialize_radio_cont 
+0x4972 006034 ior temp ,contw 
+0x4973 006035 ifetch 1 ,contr 
+0x4974 006036 istore 1 ,contw 
+0x4975 006037 branch initialize_radio_loop 
+:      006038 initialize_radio_cont:
+0x4976 006039 bpatch patch11_2 ,mem_patch11 
+0x4977 006040 call lpm_cal_xtal_startup 
+0x4978 006041 call switchto_dpllclk 
+0x4979 006043 setarg param_dpll_start_delay 
+0x497a 006044 iadd clkn_bt ,pdata 
+0x497b 006045 store 4 ,mem_dpll_clkn 
+0x497c 006046 set1 reset ,radio_ctrl 
+0x497d 006047 force 0 ,radio_ctrl 
+0x497e 006048 ncall do_rccal ,wake 
+0x497f 006049 branch set_rccal 
+:      006052 rf_write_freq:
+0x4980 006053 bpatch patch11_3 ,mem_patch11 
+0x4981 006054 setarg 2400 
+0x4982 006055 iadd rega ,temp 
+0x4983 006056 fetch 1 ,mem_fcomp_mul 
+0x4984 006057 hjam 0x04 ,rf_pll_rstn 
+0x4985 006058 imul32 temp ,pdata 
+0x4986 006059 fetcht 1 ,mem_fcomp_div 
+0x4987 006060 idiv temp 
+0x4988 006061 call wait_div_end 
+0x4989 006062 quotient rega 
+0x498a 006063 remainder pdata 
+0x498b 006064 lshift16 pdata ,pdata 
+0x498c 006065 lshift4 pdata ,pdata 
+0x498d 006066 idiv temp 
+0x498e 006067 call wait_div_end 
+0x498f 006068 quotient pdata 
+0x4990 006069 lshift8 pdata ,pdata 
+0x4991 006070 lshift pdata ,pdata 
+0x4992 006071 ior rega ,pdata 
+0x4993 006072 hstore 4 ,rf_pll_intg 
+0x4994 006073 hjam 0x44 ,rf_pll_rstn 
+0x4995 006074 hjam 0xc4 ,rf_pll_rstn 
+0x4996 006075 rtn 
+:      006078 do_rccal:
+0x4997 006079 bpatch patch11_4 ,mem_patch11 
+0x4998 006080 hjam 0x02 ,rfen_adc 
+0x4999 006081 setarg 250000 
+0x499a 006082 call sleep 
+0x499b 006083 hjam 0x7f ,rfen_rx 
+0x499c 006084 nop 130 
+0x499d 006085 hjam 0x30 ,rf_rccal_ctrl 
+0x499e 006086 hjam 0xd0 ,rfen_tx 
+0x499f 006087 hjam 0x70 ,rf_rccal_ctrl 
+0x49a0 006088 hjam 0xf0 ,rf_rccal_ctrl 
+0x49a1 006089 force 50 ,loopcnt 
+:      006090 do_rccal_loop:
+0x49a2 006091 hfetch 1 ,rf_rccal_result 
+0x49a3 006092 bbit1 5 ,do_rccal_end 
+0x49a4 006093 loop do_rccal_loop 
+:      006094 do_rccal_end:
+0x49a5 006095 store 1 ,mem_rf_rccal 
+0x49a6 006096 hjam 0 ,rfen_tx 
+0x49a7 006097 hjam 0 ,rfen_rx 
+0x49a8 006098 hjam 0x00 ,rfen_adc 
+0x49a9 006099 rtn 
+:      006101 set_rccal:
+0x49aa 006102 bpatch patch11_5 ,mem_patch11 
+0x49ab 006103 fetch 1 ,mem_rf_rccal 
+0x49ac 006104 set1 5 ,pdata 
+0x49ad 006105 hstore 1 ,rf_rccal_ctrl 
+0x49ae 006106 hfetcht 1 ,rf_bpf_ctrim 
+0x49af 006107 and_into 7 ,temp 
+0x49b0 006108 lshift3 pdata ,pdata 
+0x49b1 006109 ior temp ,pdata 
+0x49b2 006110 hstore 1 ,rf_bpf_ctrim 
+0x49b3 006111 hfetch 1 ,rf_bpf_ib 
+0x49b4 006112 set0 bpf_rccal ,pdata 
+0x49b5 006113 hstore 1 ,rf_bpf_ib 
+0x49b6 006114 hfetch 1 ,rf_adc_rccal 
+0x49b7 006115 set0 adc_rccal ,pdata 
+0x49b8 006116 hstore 1 ,rf_adc_rccal 
+0x49b9 006117 rtn 
+:      006119 save_rssi:
+0x49ba 006120 bpatch patch11_6 ,mem_patch11 
+0x49bb 006121 hfetch 2 ,rf_afc_d2a 
+0x49bc 006122 rshift4 pdata ,pdata 
+0x49bd 006123 rshift3 pdata ,pdata 
+0x49be 006124 sub pdata ,0 ,pdata 
+0x49bf 006125 and_into 0xff ,pdata 
+0x49c0 006126 div pdata ,10 
+0x49c1 006127 call wait_div_end 
+0x49c2 006128 quotient pdata 
+0x49c3 006129 lshift4 pdata ,pdata 
+0x49c4 006130 remainder temp 
+0x49c5 006131 ior temp ,pdata 
+0x49c6 006132 store 1 ,mem_rssi 
+0x49c7 006133 rtn 
+:      006136 switchto_dpllclk:
+0x49c8 006137 hjam clksel_rc ,core_clksel 
+0x49c9 006138 hfetch 1 ,rf_clkpll_frac + 2 
+0x49ca 006139 set0 4 ,pdata 
+0x49cb 006140 set0 5 ,pdata 
+0x49cc 006141 hstore 1 ,rf_clkpll_frac + 2 
+0x49cd 006142 hjam 0x00 ,rfen_ck 
+0x49ce 006143 hjam 0x00 ,rfen_msc 
+0x49cf 006144 hjam 0x70 ,rfen_msc 
+0x49d0 006145 hjam 0xff ,rfen_ck 
+0x49d1 006146 hfetch 1 ,rf_clkpll_frac + 2 
+0x49d2 006147 set1 4 ,pdata 
+0x49d3 006148 set1 5 ,pdata 
+0x49d4 006149 hstore 1 ,rf_clkpll_frac + 2 
+0x49d5 006150 call init_lpm_ctrl 
+0x49d6 006151 hfetch 1 ,rf_clkpll_int 
+0x49d7 006152 set1 7 ,pdata 
+0x49d8 006153 hstore 1 ,rf_clkpll_int 
+0x49d9 006154 set0 7 ,pdata 
+0x49da 006155 hstore 1 ,rf_clkpll_int 
+0x49db 006156 set1 7 ,pdata 
+0x49dc 006157 hstore 1 ,rf_clkpll_int 
+0x49dd 006158 hjam clksel_dpll ,core_clksel 
+0x49de 006159 nop 1 
+0x49df 006160 hjam clksel_xtal ,core_clksel 
+0x49e0 006161 hfetch 1 ,rf_clkpll_frac + 2 
+0x49e1 006162 and_into 0xcf ,pdata 
+0x49e2 006163 hstore 1 ,rf_clkpll_frac + 2 
+0x49e3 006164 or_into 0x30 ,pdata 
+0x49e4 006165 hstore 1 ,rf_clkpll_frac + 2 
+0x49e5 006166 rtn 
+:      006169 xtal_fast_wake:
+0x49e6 006170 setarg 0xf0f 
+0x49e7 006171 branch lpm_write_config 
+:      006173 init_lpm_ctrl:
+0x49e8 006174 setarg 0x80f 
+0x49e9 006175 branch lpm_write_config 
+:      006179 start_receiver:
+0x49ea 006180 bpatch patch11_7 ,mem_patch11 
+0x49eb 006181 call rf_rx_enable 
+0x49ec 006182 disable is_tx 
+0x49ed 006183 enable is_rx 
+0x49ee 006184 pulse init_encrypt 
+0x49ef 006185 rtn 
+:      006187 prep_crypt:
+0x49f0 006188 bpatch patch12_0 ,mem_patch12 
+0x49f1 006189 fetch 1 ,mem_state_map 
+0x49f2 006190 isolate1 smap_encryption ,pdata 
+0x49f3 006191 setflag true ,0 ,pdata 
+0x49f4 006192 hstore 1 ,core_encrypt 
+0x49f5 006193 arg mem_kc ,contr 
+0x49f6 006194 ifetch 9 ,contr 
+0x49f7 006195 iforce kc_ls 
+0x49f8 006196 ifetch 7 ,contr 
+0x49f9 006197 iforce kc_ms 
+0x49fa 006198 fetch 1 ,mem_key_size 
+0x49fb 006199 add pdata ,-1 ,g1l 
+0x49fc 006200 pulse kc_p_activate 
+0x49fd 006201 rtn 
+:      006203 wait_access_end:
+0x49fe 006204 deposit clke 
+0x49ff 006205 store 6 ,mem_sync_clke 
+0x4a00 006206 disable decode_fec0 
+0x4a01 006207 nbranch shutdown_radio ,sync 
+0x4a02 006208 arg param_clke_cal ,clke_rt 
+0x4a03 006209 increase 1 ,clke_bt 
+0x4a04 006210 and_into 0x1fc ,clke_bt 
+0x4a05 006211 rtn 
+:      006215 wait_access_mhalfbnd:
+0x4a06 006216 enable decode_fec0 
+:      006217 wait_access_mhalfbnd_correlate:
+0x4a07 006218 correlate null ,mhalfbnd 
+0x4a08 006219 branch wait_access_end ,sync 
+0x4a09 006220 compare 0x02 ,clke_bt ,0x02 
+0x4a0a 006221 nbranch wait_access_mhalfbnd_correlate ,true 
+0x4a0b 006222 branch wait_access_end 
+:      006224 wait_access_clkn_rt:
+0x4a0c 006225 bpatch patch12_1 ,mem_patch12 
+0x4a0d 006226 arg param_conn_access ,timeup 
+0x4a0e 006227 enable decode_fec0 
+0x4a0f 006228 correlate clkn_rt ,meet 
+0x4a10 006229 disable decode_fec0 
+0x4a11 006230 nbranch shutdown_radio ,sync 
+0x4a12 006231 rtn 
+:      006233 wait_access_forever:
+0x4a13 006234 bpatch patch12_2 ,mem_patch12 
+0x4a14 006235 enable decode_fec0 
+0x4a15 006236 correlate null ,timeout 
+0x4a16 006237 disable decode_fec0 
+0x4a17 006238 nbranch shutdown_radio ,sync 
+0x4a18 006239 arg param_clke_cal ,clke_rt 
+0x4a19 006240 and_into 0x1fc ,clke_bt 
+0x4a1a 006241 rtn 
+:      006244 reserve_slot:
+0x4a1b 006245 bpatch patch12_3 ,mem_patch12 
+0x4a1c 006246 iforce rega 
+0x4a1d 006247 deposit bt_clk 
+0x4a1e 006248 iadd temp ,timeup 
+0x4a1f 006249 copy timeup ,pdata 
+0x4a20 006250 store 4 ,mem_next_btclk 
+0x4a21 006251 deposit rega 
+0x4a22 006252 rtn 
+:      006255 ahead_window:
+0x4a23 006256 copy pdata ,temp 
+0x4a24 006257 bpatch patch12_4 ,mem_patch12 
+0x4a25 006258 copy temp ,pdata 
+0x4a26 006259 call clk2bt 
+0x4a27 006260 lshift16 bt_clk ,pdata 
+0x4a28 006261 set1 44 ,pdata 
+0x4a29 006262 call clk_diff 
+0x4a2a 006263 set0 44 ,pdata 
+0x4a2b 006264 call get_clk 
+0x4a2c 006265 call clk_diff 
+0x4a2d 006266 rtn user 
+0x4a2e 006267 call clk2rt 
+0x4a2f 006268 iforce stop_watch 
+0x4a30 006269 until null ,timeout 
+0x4a31 006270 rtn 
+:      006273 setup_clk:
+0x4a32 006274 bpatch patch12_5 ,mem_patch12 
+0x4a33 006275 branch setup_clkn ,clknt 
+0x4a34 006276 until clke_rt ,meet 
+:      006277 skip_setup_clke:
+0x4a35 006278 copy clke_bt ,temp 
+0x4a36 006279 branch setup_clknbt 
+:      006280 setup_clkn:
+0x4a37 006281 branch skip_setup_clkn ,attempt 
+0x4a38 006282 until clkn_rt ,meet 
+:      006283 skip_setup_clkn:
+0x4a39 006284 copy clkn_bt ,temp 
+:      006285 setup_clknbt:
+0x4a3a 006286 branch setup_clk11 ,user 
+0x4a3b 006287 compare 1 ,temp ,3 
+0x4a3c 006288 nbranch setup_clk ,true 
+:      006289 setup_complete:
+0x4a3d 006290 bpatch patch12_6 ,mem_patch12 
+0x4a3e 006291 fetch 1 ,mem_state 
+0x4a3f 006292 rtnbit0 state_inconn 
+0x4a40 006293 fetch 4 ,mem_next_btclk 
+0x4a41 006294 isub temp ,pdata 
+0x4a42 006295 nrtn positive 
+0x4a43 006296 sub pdata ,0xff ,null 
+0x4a44 006297 branch setup_clk ,positive 
+0x4a45 006298 rtn 
+:      006299 setup_clk11:
+0x4a46 006300 compare 3 ,temp ,3 
+0x4a47 006301 nbranch setup_clk ,true 
+0x4a48 006302 branch setup_complete 
+:      006304 rf_setup_time:
+0x4a49 006305 bpatch patch12_7 ,mem_patch12 
+0x4a4a 006306 arg param_rf_setup ,timeup 
+0x4a4b 006307 branch setup_clk 
+:      006309 rf_setup_time_slave_slot:
+0x4a4c 006310 disable user 
+0x4a4d 006311 branch rf_setup_time 
+:      006313 rf_setup_time_master_slot:
+0x4a4e 006314 enable user 
+0x4a4f 006315 branch rf_setup_time 
+:      006317 start_transmitter:
+0x4a50 006318 bpatch patch13_0 ,mem_patch13 
+0x4a51 006319 call prep_crypt 
+0x4a52 006320 disable is_rx 
+0x4a53 006321 enable is_tx 
+0x4a54 006322 rtn 
+:      006326 start_tx_native:
+0x4a55 006327 bpatch patch13_1 ,mem_patch13 
+0x4a56 006328 arg param_tx_setup ,timeup 
+0x4a57 006329 until clkn_rt ,meet 
+0x4a58 006330 pulse init_encrypt 
+0x4a59 006331 rtn 
+:      006333 start_rx_native:
+0x4a5a 006334 bpatch patch13_2 ,mem_patch13 
+0x4a5b 006335 arg param_rx_setup ,timeup 
+0x4a5c 006336 until clkn_rt ,meet 
+0x4a5d 006337 rtn 
+:      006340 start_tx_external:
+0x4a5e 006341 bpatch patch13_3 ,mem_patch13 
+0x4a5f 006342 arg param_tx_setup ,timeup 
+0x4a60 006343 until clke_rt ,meet 
+0x4a61 006344 pulse init_encrypt 
+0x4a62 006345 rtn 
+:      006347 send_access_word:
+0x4a63 006348 bpatch patch13_4 ,mem_patch13 
+0x4a64 006349 preload access 
+0x4a65 006350 enable encode_fec0 
+0x4a66 006351 set1 txgfsk ,radio_ctrl 
+0x4a67 006352 inject mod ,72 
+0x4a68 006353 disable encode_fec0 
+0x4a69 006354 rtn 
+:      006357 scan_mode_whiten:
+0x4a6a 006358 copy xin ,temp 
+0x4a6b 006359 or_into 0x60 ,temp 
+0x4a6c 006360 copy temp ,white_init 
+0x4a6d 006361 rtn 
+:      006366 get_free_amaddr:
+0x4a6e 006367 bpatch patch13_5 ,mem_patch13 
+0x4a6f 006368 fetch 1 ,mem_current_amaddr 
+0x4a70 006369 increase 1 ,pdata 
+0x4a71 006370 bne param_esco_addr ,get_free_amaddr_cont 
+0x4a72 006371 force 1 ,pdata 
+:      006372 get_free_amaddr_cont:
+0x4a73 006373 store 1 ,mem_current_amaddr 
+0x4a74 006374 iforce am_addr 
+0x4a75 006375 rtn 
+:      006377 get_clk:
+0x4a76 006378 copy clkn ,temp 
+0x4a77 006379 rtn master 
+0x4a78 006380 copy clke ,temp 
+0x4a79 006381 rtn 
+:      006383 get_clkbt:
+0x4a7a 006384 deposit clkn_bt 
+0x4a7b 006385 rtn master 
+0x4a7c 006386 deposit clke_bt 
+0x4a7d 006387 rtn 
+:      006390 supervision_update:
+0x4a7e 006391 bpatch patch13_6 ,mem_patch13 
+0x4a7f 006392 fetcht 4 ,mem_supervision_timer 
+0x4a80 006393 call get_clkbt 
+0x4a81 006394 isub temp ,timeup 
+0x4a82 006395 deposit timeup 
+0x4a83 006396 fetcht 2 ,mem_supervision_to 
+0x4a84 006397 lshift temp ,temp 
+0x4a85 006398 isub temp ,pdata 
+0x4a86 006399 rtn 
+:      006401 supervision_flush:
+0x4a87 006402 bpatch patch13_7 ,mem_patch13 
+0x4a88 006403 call get_clkbt 
+0x4a89 006404 store 4 ,mem_supervision_timer 
+0x4a8a 006405 rtn 
+:      006407 assert:
+0x4a8b 006408 bpatch patch14_0 ,mem_patch14 
+0x4a8c 006409 branch assert 
+:      006411 loop:
+0x4a8d 006412 branch loop 
+:      006414 sleep:
+0x4a8e 006415 rtn blank 
+0x4a8f 006417 rshift pdata ,pdata 
+0x4a90 006418 increase -3 ,pdata 
+:      006419 sleep_loop:
+0x4a91 006420 increase -1 ,pdata 
+0x4a92 006421 nbranch sleep_loop ,zero 
+0x4a93 006422 force 0 ,pdata 
+0x4a94 006423 rtn 
+:      006427 init_param:
+0x4a95 006429 arg 0x10 ,loopcnt 
+0x4a96 006430 arg 0 ,contw 
+0x4a97 006431 call memset0 
+0x4a98 006432 arg mem_le_state ,contw 
+0x4a99 006433 arg 10 ,loopcnt 
+0x4a9a 006434 call memset0 
+0x4a9b 006435 jam 0 ,mem_sp_calc 
+0x4a9c 006436 jam 0 ,mem_fifo_temp 
+0x4a9d 006437 jam 0 ,mem_le_testtype 
+0x4a9e 006438 jam 0 ,mem_debug_config 
+0x4a9f 006439 jam 0 ,mem_lmp_conn_state 
+0x4aa0 006440 bpatch patch14_1 ,mem_patch14 
+0x4aa1 006441 jam 0 ,mem_connection_options 
+0x4aa2 006442 jam 0 ,mem_tester_emulate 
+0x4aa3 006443 jam 0 ,mem_tester_cnt 
+0x4aa4 006444 setarg param_glap 
+0x4aa5 006445 store 3 ,mem_glap 
+0x4aa6 006446 setarg param_acl_pktlen 
+0x4aa7 006447 store 2 ,mem_acl_pktlen 
+0x4aa8 006448 jam param_sco_pktlen ,mem_sco_pktlen 
+0x4aa9 006449 jam param_acl_pktcnt ,mem_acl_pktcnt 
+0x4aaa 006450 jam param_sco_pktcnt ,mem_sco_pktcnt 
+0x4aab 006451 setarg param_hci_version 
+0x4aac 006452 store 3 ,mem_hci_version 
+0x4aad 006457 jam 0x60 ,mem_fhs_misc 
+0x4aae 006458 jam param_max_slot ,mem_max_slot 
+0x4aaf 006459 jam 0x02 ,mem_fw_ver 
+0x4ab0 006460 fetch 1 ,mem_ssp_enable 
+0x4ab1 006461 ncall init_memp ,blank 
+0x4ab2 006462 fetch 1 ,mem_le_secure_connect_enable 
+0x4ab3 006463 ncall init_memp_256 ,blank 
+0x4ab4 006464 bpatch patch14_2 ,mem_patch14 
+0x4ab5 006465 rtn wake 
+0x4ab6 006466 setarg 0 
+0x4ab7 006467 store 2 ,mem_tx_len 
+0x4ab8 006468 rshift clkn_bt ,pdata 
+0x4ab9 006469 store 4 ,mem_last_clkn 
+0x4aba 006470 rtn 
+:      006477 lpmstate:
+0x4abb 006478 fetch 4 ,core_lpm_xtalcnt 
+0x4abc 006479 isolate1 hibernate ,pdata 
+0x4abd 006480 bbit0 isogate ,lpm_open_isogate 
+0x4abe 006481 nbranch clean_mem ,true 
+0x4abf 006482 arg param_hibernate_clks ,temp 
+0x4ac0 006483 deposit auxcnt 
+0x4ac1 006484 branch lpm_enter_sleep ,blank 
+:      006485 lpm_open_isogate:
+0x4ac2 006486 set1 isogate ,pdata 
+0x4ac3 006487 set1 xram_switch ,pdata 
+0x4ac4 006488 set1 pram_switch ,pdata 
+0x4ac5 006489 store 4 ,core_lpm_reg 
+0x4ac6 006490 until null ,lpo_edge 
+0x4ac7 006491 until null ,lpo_edge 
+0x4ac8 006492 call lpm_write_ctrl2 
+0x4ac9 006493 fetch 1 ,core_lpm_isogate 
+0x4aca 006494 set1 enable_retmem ,pdata 
+0x4acb 006495 store 1 ,core_lpm_isogate 
+0x4acc 006496 call lpm_write_ctrl2 
+0x4acd 006497 branch clean_mem ,true 
+0x4ace 006498 enable wake 
+:      006499 lpm_load_context:
+0x4acf 006500 jam 0x1 ,core_config 
+0x4ad0 006501 fetch 8 ,mem_saved_mark 
+0x4ad1 006502 iforce mark 
+0x4ad2 006503 fetch 6 ,core_gpio_wakeup 
+0x4ad3 006504 store 6 ,mem_gpio_wakeup 
+0x4ad4 006505 rtn 
+:      006507 lpm_save_context:
+0x4ad5 006508 deposit mark 
+0x4ad6 006509 store 8 ,mem_saved_mark 
+0x4ad7 006510 branch lpm_write_gpio_wakeup 
+:      006513 lpo_calibration:
+0x4ad8 006514 fetcht 1 ,core_clksel 
+0x4ad9 006515 and temp ,0xf0 ,pdata 
+0x4ada 006516 nbranch lpo_cal_inited ,blank 
+0x4adb 006517 fetch 3 ,mem_clks_per_lpo 
+0x4adc 006518 nrtn blank 
+0x4add 006519 and temp ,0xf ,pdata 
+0x4ade 006520 or_into 0xc0 ,pdata 
+0x4adf 006521 store 1 ,core_clksel 
+0x4ae0 006522 jam ccnt_start ,core_dma_start 
+:      006523 lpo_cal_inited:
+0x4ae1 006524 fetch 1 ,core_misc_status 
+0x4ae2 006525 rtnbit0 ccnt_done 
+0x4ae3 006526 fetch 3 ,core_ccnt_counter 
+0x4ae4 006527 store 3 ,mem_clks_per_lpo 
+0x4ae5 006528 rtn 
+:      006532 lpm_adjust_clk:
+0x4ae6 006533 bpatch patch14_3 ,mem_patch14 
+0x4ae7 006534 deposit clke 
+0x4ae8 006535 call clk_diff_rt 
+0x4ae9 006536 fetcht 4 ,mem_sleep_counter_all 
+0x4aea 006537 sub temp ,0xff ,null 
+0x4aeb 006538 rtn positive 
+0x4aec 006539 lshift8 pdata ,pdata 
+0x4aed 006540 lshift4 pdata ,pdata 
+0x4aee 006541 idiv temp 
+0x4aef 006542 call wait_div_end 
+0x4af0 006543 quotient pdata 
+0x4af1 006544 arg param_lpm_adjmax ,temp 
+0x4af2 006545 call ceiling 
+0x4af3 006546 store 1 ,mem_lpm_adjust 
+0x4af4 006547 nbranch lpm_adjust_positive ,user 
+0x4af5 006548 sub pdata ,0 ,pdata 
+:      006549 lpm_adjust_positive:
+0x4af6 006550 fetcht 3 ,mem_clks_per_lpo 
+0x4af7 006551 iadd temp ,pdata 
+0x4af8 006552 store 3 ,mem_clks_per_lpo 
+:      006553 lpm_clear_counter:
+0x4af9 006554 setarg 0 
+0x4afa 006555 store 4 ,mem_sleep_counter_all 
+0x4afb 006556 rtn 
+:      006558 lpm_doze:
+0x4afc 006559 fetch 1 ,mem_lpm_doze_switch 
+0x4afd 006560 branch lpm_hibernate_normal 
+:      006563 lpm_hibernate:
+0x4afe 006564 fetch 1 ,mem_lpm_hibernate_switch 
+:      006565 lpm_hibernate_normal:
+0x4aff 006566 store 1 ,mem_lpm_xtalcnt + 3 
+0x4b00 006567 bpatch patch14_4 ,mem_patch14 
+0x4b01 006568 call lpm_write_gpio_wakeup 
+0x4b02 006569 arg param_hibernate_clks ,temp 
+0x4b03 006570 fetch 1 ,mem_lpm_config + 1 
+0x4b04 006571 set0 7 ,pdata 
+0x4b05 006572 store 1 ,mem_lpm_config + 1 
+:      006575 lpm_sleep:
+0x4b06 006576 bpatch patch14_5 ,mem_patch14 
+0x4b07 006577 call xtal_fast_wake 
+0x4b08 006578 fetch 4 ,mem_sleep_counter_all 
+0x4b09 006579 iadd temp ,pdata 
+0x4b0a 006580 store 4 ,mem_sleep_counter_all 
+0x4b0b 006581 call lpm_save_context 
+0x4b0c 006582 fetch 3 ,mem_lpm_xtalcnt 
+0x4b0d 006583 store 3 ,core_lpm_reg 
+0x4b0e 006584 ifetchr rega ,1 ,contr 
+0x4b0f 006585 fetch 1 ,core_lpm_buckcfg 
+0x4b10 006586 istore 1 ,contw 
+0x4b11 006587 until null ,lpo_edge 
+0x4b12 006588 storer clkn ,6 ,mem_sleep_clkn 
+0x4b13 006589 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+0x4b14 006590 until null ,lpo_edge 
+0x4b15 006591 until null ,lpo_edge 
+0x4b16 006592 storer rega ,1 ,core_lpm_isogate 
+0x4b17 006593 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+:      006594 lpm_enter_sleep:
+0x4b18 006595 until null ,lpo_edge 
+0x4b19 006596 until null ,lpo_edge 
+0x4b1a 006597 hstoret 4 ,core_lpm_reg 
+0x4b1b 006598 hjam lpmreg_sel_counter ,core_lpm_wr 
+0x4b1c 006599 until null ,never 
+:      006604 lpm_recover_clk:
+0x4b1d 006605 bpatch patch14_6 ,mem_patch14 
+0x4b1e 006606 setarg 0 
+0x4b1f 006607 copy auxcnt ,null 
+0x4b20 006608 branch lpm_recover_timeout ,zero 
+0x4b21 006609 hfetch 1 ,core_lpm_xtalcnt 
+0x4b22 006610 hfetcht 1 ,core_lpm_buckcnt 
+0x4b23 006611 isub temp ,null 
+0x4b24 006612 branch lpm_recover_xtal ,positive 
+0x4b25 006613 deposit temp 
+:      006614 lpm_recover_xtal:
+0x4b26 006615 isub auxcnt ,pdata 
+0x4b27 006616 increase 1 ,pdata 
+:      006617 lpm_recover_timeout:
+0x4b28 006618 increase 8 ,pdata 
+0x4b29 006619 until null ,lpo_edge 
+0x4b2a 006620 iadd lpo_time ,pdata 
+0x4b2b 006621 fetcht 4 ,mem_sleep_counter 
+0x4b2c 006622 iadd temp ,pdata 
+0x4b2d 006623 fetcht 3 ,mem_clks_per_lpo 
+0x4b2e 006624 imul32 temp ,pdata 
+0x4b2f 006625 rshift8 pdata ,pdata 
+0x4b30 006626 rshift4 pdata ,pdata 
+0x4b31 006627 increase param_lpm_fix ,pdata 
+0x4b32 006628 arg 3750 ,temp 
+0x4b33 006629 idiv temp 
+0x4b34 006630 call wait_div_end 
+0x4b35 006631 quotient pdata 
+0x4b36 006632 lshift16 pdata ,pdata 
+0x4b37 006633 remainder temp 
+0x4b38 006634 ior temp ,pdata 
+0x4b39 006635 fetcht 6 ,mem_sleep_clkn 
+0x4b3a 006636 call clk_add 
+0x4b3b 006637 copy temp ,clkn 
+0x4b3c 006638 fetch 6 ,mem_context + coffset_clk_offset 
+0x4b3d 006639 call calc_clke2 
+0x4b3e 006640 rtn 
+:      006642 lpm_dispatch:
+0x4b3f 006643 bpatch patch14_7 ,mem_patch14 
+0x4b40 006644 call lpo_calibration 
+0x4b41 006645 fetch 3 ,mem_clks_per_lpo 
+0x4b42 006646 rtn blank 
+0x4b43 006647 fetch 1 ,mem_lpm_mode 
+0x4b44 006648 rtn blank 
+0x4b45 006649 fetch 1 ,mem_ssp_enable 
+0x4b46 006650 branch lpm_dispatch_next ,blank 
+0x4b47 006651 fetch 1 ,mem_sp_local_key_invalid 
+0x4b48 006652 rtn blank 
+:      006653 lpm_dispatch_next:
+0x4b49 006654 fetch 1 ,mem_le_sc_calc 
+0x4b4a 006655 nrtn blank 
+0x4b4b 006656 call lpm_check_wake_lock 
+0x4b4c 006657 nrtn blank 
+0x4b4d 006658 fetch 1 ,mem_context 
+0x4b4e 006659 compare 3 ,pdata ,0x7 
+0x4b4f 006660 nbranch lpm_dispatch_unconn ,true 
+0x4b50 006661 fetch 2 ,mem_context + coffset_tsniff 
+0x4b51 006662 rtn blank 
+0x4b52 006663 rtn wake 
+0x4b53 006664 bpatch patch15_0 ,mem_patch15 
+0x4b54 006665 fetcht 1 ,mem_lpm_current_mult 
+0x4b55 006666 fetch 2 ,mem_context + coffset_tsniff 
+0x4b56 006667 imul32 temp ,pdata 
+0x4b57 006668 rshift4 temp ,temp 
+0x4b58 006669 rshift2 temp ,temp 
+0x4b59 006670 isub temp ,pdata 
+0x4b5a 006671 fetcht 4 ,mem_context + coffset_sniff_anchor 
+0x4b5b 006672 iadd temp ,pdata 
+0x4b5c 006673 fetcht 1 ,mem_lpm_overhead 
+0x4b5d 006674 isub temp ,pdata 
+0x4b5e 006675 lshift16 pdata ,alarm 
+0x4b5f 006676 bpatch patch15_1 ,mem_patch15 
+0x4b60 006677 fetch 2 ,mem_context + coffset_rx_window 
+0x4b61 006678 rshift pdata ,pdata 
+0x4b62 006679 call clk2bt 
+0x4b63 006680 deposit alarm 
+0x4b64 006681 call clk_diff 
+0x4b65 006682 copy clke ,temp 
+0x4b66 006683 call clk_diff_rt 
+0x4b67 006684 rtn user 
+:      006685 lpm_dispatch_sleep:
+0x4b68 006686 call clk2lpo 
+:      006687 lpm_dispatch_lpo:
+0x4b69 006688 bpatch patch15_2 ,mem_patch15 
+0x4b6a 006689 fetch 1 ,mem_lpm_xtalcnt 
+0x4b6b 006690 isub temp ,null 
+0x4b6c 006691 branch lpm_clear_counter ,positive 
+0x4b6d 006692 storet 4 ,mem_sleep_counter 
+0x4b6e 006693 call app_will_enter_lpm 
+0x4b6f 006694 call l2cap_lpm_save_txbuf 
+0x4b70 006695 fetcht 4 ,mem_sleep_counter 
+0x4b71 006696 branch lpm_sleep 
+:      006698 lpm_dispatch_unconn:
+0x4b72 006699 bpatch patch15_3 ,mem_patch15 
+0x4b73 006700 fetch 1 ,mem_context 
+0x4b74 006701 rtnbit1 state_inconn 
+0x4b75 006702 rtnbit1 state_inpage 
+0x4b76 006703 fetch 1 ,mem_ssp_enable 
+0x4b77 006704 branch lpm_unconn_nossp ,blank 
+0x4b78 006705 fetch 1 ,mem_sp_local_key_invalid 
+0x4b79 006706 rtn blank 
+:      006707 lpm_unconn_nossp:
+0x4b7a 006708 bpatch patch15_4 ,mem_patch15 
+0x4b7b 006709 fetch 1 ,mem_le_adv_enable 
+0x4b7c 006710 nbranch lpm_unconn_cont ,blank 
+0x4b7d 006711 fetch 1 ,mem_scan_mode 
+0x4b7e 006712 rtn blank 
+:      006713 lpm_unconn_cont:
+0x4b7f 006714 fetch 2 ,mem_lpm_interval 
+0x4b80 006715 rtn blank 
+:      006716 lpm_sleep_btclk:
+0x4b81 006717 fetcht 1 ,mem_lpm_overhead 
+0x4b82 006718 isub temp ,pdata 
+0x4b83 006719 arg 7500 ,temp 
+0x4b84 006720 imul32 temp ,pdata 
+0x4b85 006721 branch lpm_dispatch_sleep 
+:      006723 lpm_set_mult:
+0x4b86 006724 bpatch patch15_5 ,mem_patch15 
+0x4b87 006725 disable wake 
+0x4b88 006726 fetch 1 ,mem_state 
+0x4b89 006727 rtnbit0 state_insniff 
+0x4b8a 006728 nbranch lpm_not_match ,match 
+0x4b8b 006729 call lpm_match 
+0x4b8c 006730 fetch 2 ,mem_rx_window_sniff 
+0x4b8d 006731 store 2 ,mem_rx_window 
+0x4b8e 006732 fetch 1 ,mem_arq 
+0x4b8f 006733 bbit1 wack ,lpm_mult_short 
+0x4b90 006734 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x4b91 006735 call l2cap_malloc_is_fifo_empty 
+0x4b92 006736 nbranch lpm_mult_short ,blank 
+0x4b93 006737 fetch 1 ,mem_classic_bt_flag 
+0x4b94 006738 bbit1 short_mult_flag ,lpm_mult_short 
+:      006739 lpm_mult_wait_timeout:
+0x4b95 006740 jam 0 ,mem_lpm_current_mult 
+0x4b96 006741 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x4b97 006742 fetch 1 ,mem_lpm_mult_cnt 
+0x4b98 006743 branch lpm_mult_long ,blank 
+0x4b99 006744 increase -1 ,pdata 
+0x4b9a 006745 store 1 ,mem_lpm_mult_cnt 
+0x4b9b 006746 rtn 
+:      006749 classic_bt_set_mult_short_flag:
+0x4b9c 006750 arg short_mult_flag ,queue 
+0x4b9d 006751 branch classic_bluetooth_set_flag 
+:      006753 classic_bt_clr_mult_short_flag:
+0x4b9e 006754 arg short_mult_flag ,queue 
+0x4b9f 006755 branch classic_bluetooth_clr_flag 
+:      006759 lpm_match:
+0x4ba0 006760 jam 0 ,mem_sniff_unint_lost 
+0x4ba1 006761 fetch 3 ,mem_sniff_rcv 
+0x4ba2 006762 increase 1 ,pdata 
+0x4ba3 006763 store 3 ,mem_sniff_rcv 
+0x4ba4 006764 rtn 
+:      006766 lpm_not_match:
+0x4ba5 006767 bpatch patch15_6 ,mem_patch15 
+0x4ba6 006768 fetcht 2 ,mem_rx_window_sniff 
+0x4ba7 006769 rshift temp ,temp 
+0x4ba8 006770 fetch 2 ,mem_rx_window 
+0x4ba9 006771 iadd temp ,pdata 
+0x4baa 006772 store 2 ,mem_rx_window 
+:      006773 lpm_lost:
+0x4bab 006774 jam 0 ,mem_lpm_current_mult 
+0x4bac 006775 fetch 3 ,mem_sniff_lost 
+0x4bad 006776 increase 1 ,pdata 
+0x4bae 006777 store 3 ,mem_sniff_lost 
+0x4baf 006778 fetch 1 ,mem_sniff_unint_lost 
+0x4bb0 006779 increase 1 ,pdata 
+0x4bb1 006780 store 1 ,mem_sniff_unint_lost 
+0x4bb2 006781 rtn 
+:      006783 lpm_mult_short:
+0x4bb3 006784 jam 0 ,mem_lpm_current_mult 
+0x4bb4 006785 fetch 1 ,mem_lpm_mult_timeout 
+0x4bb5 006786 store 1 ,mem_lpm_mult_cnt 
+0x4bb6 006787 rtn 
+:      006789 lpm_mult_long:
+0x4bb7 006790 fetcht 1 ,mem_lpm_mult 
+0x4bb8 006791 storet 1 ,mem_lpm_current_mult 
+0x4bb9 006792 rtn 
+:      006794 lpm_cal_xtal_startup:
+0x4bba 006795 bpatch patch15_7 ,mem_patch15 
+0x4bbb 006796 fetch 1 ,mem_lpm_xtalcnt 
+0x4bbc 006797 nrtn blank 
+0x4bbd 006798 hjam clksel_rc ,core_clksel 
+0x4bbe 006799 setarg 0xf0c 
+0x4bbf 006800 call lpm_write_config 
+0x4bc0 006801 setarg 200000 
+0x4bc1 006802 call sleep 
+0x4bc2 006803 until null ,lpo_edge 
+0x4bc3 006804 copy lpo_time ,alarm 
+0x4bc4 006805 call xtal_fast_wake 
+0x4bc5 006806 hjam clksel_xtal ,core_clksel 
+0x4bc6 006807 nop 10 
+0x4bc7 006808 until null ,lpo_edge 
+0x4bc8 006809 deposit lpo_time 
+0x4bc9 006810 isub alarm ,pdata 
+0x4bca 006811 increase 0x30 ,pdata 
+0x4bcb 006812 arg 0xff ,temp 
+0x4bcc 006813 call ceiling 
+0x4bcd 006814 store 1 ,mem_lpm_xtalcnt 
+0x4bce 006815 nop 30000 
+0x4bcf 006816 nop 30000 
+0x4bd0 006817 nop 30000 
+0x4bd1 006818 rtn 
+:      006823 lpm_write_config:
+0x4bd2 006824 arg 0xfff ,contw 
+0x4bd3 006825 iand contw ,contw 
+0x4bd4 006826 fetch 1 ,mem_lpm_config 
+0x4bd5 006827 and_into 0xf0 ,pdata 
+0x4bd6 006828 lshift8 pdata ,pdata 
+0x4bd7 006829 ior contw ,pdata 
+0x4bd8 006830 hstore 2 ,core_lpm_reg 
+0x4bd9 006831 ifetch 2 ,contr 
+0x4bda 006832 istore 2 ,contw 
+:      006834 lpm_write_ctrl:
+0x4bdb 006835 setarg lpmreg_sel_ctrl 
+0x4bdc 006836 branch lpm_write 
+:      006838 lpm_write_ctrl2:
+0x4bdd 006839 setarg lpmreg_sel_ctrl2 
+:      006840 lpm_write:
+0x4bde 006841 hstore 1 ,core_lpm_wr 
+0x4bdf 006842 until null ,lpo_edge 
+0x4be0 006843 until null ,lpo_edge 
+0x4be1 006844 until null ,lpo_edge 
+0x4be2 006845 rtn 
+:      006848 lpm_write_gpio_wakeup:
+0x4be3 006849 bpatch patch16_0 ,mem_patch16 
+0x4be4 006850 fetch 4 ,mem_gpio_wakeup 
+0x4be5 006851 store 4 ,core_lpm_reg 
+0x4be6 006852 setarg lpmreg_sel_gpiolow 
+0x4be7 006853 call lpm_write 
+0x4be8 006854 ifetch 2 ,contr 
+0x4be9 006855 store 4 ,core_lpm_reg 
+0x4bea 006856 setarg lpmreg_sel_gpiohigh 
+0x4beb 006857 branch lpm_write 
+:      006859 lpm_get_wake_lock:
+0x4bec 006860 fetch 2 ,mem_lpm_wake_lock 
+0x4bed 006861 qset1 pdata 
+0x4bee 006862 store 2 ,mem_lpm_wake_lock 
+0x4bef 006863 rtn 
+:      006865 lpm_put_wake_lock:
+0x4bf0 006866 fetch 2 ,mem_lpm_wake_lock 
+0x4bf1 006867 qset0 pdata 
+0x4bf2 006868 store 2 ,mem_lpm_wake_lock 
+0x4bf3 006869 rtn 
+:      006873 lpm_check_wake_lock:
+0x4bf4 006874 bpatch patch16_1 ,mem_patch16 
+0x4bf5 006875 call app_check_wake_lock 
+0x4bf6 006876 fetch 2 ,mem_lpm_wake_lock 
+0x4bf7 006877 copy pdata ,rega 
+0x4bf8 006878 fetch 1 ,mem_state_map 
+0x4bf9 006879 isolate1 smap_rxlmp ,pdata 
+0x4bfa 006880 setflag true ,wake_lock_lmp_rx ,rega 
+0x4bfb 006881 fetch 1 ,mem_lmo_opcode1 
+0x4bfc 006882 fetcht 1 ,mem_lmo_opcode2 
+0x4bfd 006883 iadd temp ,pdata 
+0x4bfe 006884 fetcht 1 ,mem_lmp_to_send 
+0x4bff 006885 iadd temp ,pdata 
+0x4c00 006886 nsetflag blank ,wake_lock_lmp_tx ,rega 
+0x4c01 006887 fetch 1 ,mem_le_tx_buff_used 
+0x4c02 006888 nsetflag blank ,wake_lock_ble_tx ,rega 
+0x4c03 006889 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x4c04 006890 fetcht 2 ,mem_l2cap_rxbuff2_len 
+0x4c05 006891 iadd temp ,pdata 
+0x4c06 006892 nsetflag blank ,wake_lock_l2cap_rx ,rega 
+0x4c07 006893 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x4c08 006894 nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+0x4c09 006895 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+0x4c0a 006896 nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+0x4c0b 006897 fetch 2 ,ipc_bt2m0_read_ptr 
+0x4c0c 006898 fetcht 2 ,ipc_bt2m0_write_ptr 
+0x4c0d 006899 isub temp ,null 
+0x4c0e 006900 nsetflag zero ,wake_lock_ipc_bt2m0 ,rega 
+0x4c0f 006901 fetch 2 ,ipc_m02bt_read_ptr 
+0x4c10 006902 fetcht 2 ,ipc_m02bt_write_ptr 
+0x4c11 006903 isub temp ,null 
+0x4c12 006904 nsetflag zero ,wake_lock_ipc_m02bt ,rega 
+0x4c13 006905 fetch 1 ,core_config 
+0x4c14 006906 isolate1 7 ,pdata 
+0x4c15 006907 setflag true ,wake_lock_m0_single ,rega 
+0x4c16 006908 fetch 1 ,mem_hci_cmd 
+0x4c17 006909 nsetflag blank ,wake_lock_cmd ,rega 
+0x4c18 006910 copy rega ,pdata 
+0x4c19 006911 store 2 ,mem_lpm_wake_lock 
+0x4c1a 006912 rtn 
+:      006914 lpm_shut_down:
+0x4c1b 006915 hfetch 4 ,core_lpm_ctrl 
+0x4c1c 006916 set0 27 ,pdata 
+0x4c1d 006917 hstore 4 ,core_lpm_reg 
+0x4c1e 006918 call lpm_write_ctrl 
+0x4c1f 006919 branch assert 
+:      006921 lpm_disable_exen_output:
+0x4c20 006922 hfetch 4 ,core_lpm_xtalcnt 
+0x4c21 006923 set0 20 ,pdata 
+0x4c22 006924 hstore 4 ,core_lpm_reg 
+0x4c23 006925 branch lpm_write_ctrl2 
+:      006927 check_bt_disabled:
+0x4c24 006928 fetch 2 ,mem_chip_functions 
+0x4c25 006929 bbit1 bt_disabled ,assert 
+0x4c26 006930 rtn 
+:      006931 check_ble_disabled:
+0x4c27 006932 fetch 2 ,mem_chip_functions 
+0x4c28 006933 bbit1 ble_disabled ,assert 
+0x4c29 006934 rtn 
+:      006935 check_module_disabled:
+0x4c2a 006936 fetch 2 ,mem_chip_functions 
+0x4c2b 006937 bbit1 module_disable ,assert 
+0x4c2c 006938 rtn 
+:      006940 test_init:
+0x4c2d 006941 setarg test_proc 
+0x4c2e 006942 store 2 ,mem_cb_bt_process 
+0x4c2f 006943 setarg test_sleep 
+0x4c30 006944 store 2 ,mem_cb_bb_event_process 
+0x4c31 006945 setarg test_proc 
+0x4c32 006946 store 2 ,mem_cb_idle_process 
+0x4c33 006947 rtn wake 
+0x4c34 006948 rtn 
+:      006950 test_proc:
+0x4c35 006951 fetch 1 ,mem_state 
+0x4c36 006952 bbit0 state_insniff ,check_test_cond 
+0x4c37 006953 set1 mark_lpm_mult_enable ,mark 
+0x4c38 006954 fetch 6 ,mem_sniff_rcv 
+0x4c39 006955 store 6 ,mem_local_name 
+0x4c3a 006956 rtn 
+:      006958 check_test_cond:
+0x4c3b 006959 fetch 1 ,mem_tester_emulate 
+0x4c3c 006960 rtnbit0 tester_change 
+0x4c3d 006961 fetch 1 ,mem_tester_cnt 
+0x4c3e 006962 increase 1 ,pdata 
+0x4c3f 006963 store 1 ,mem_tester_cnt 
+0x4c40 006964 rtnne 5 
+0x4c41 006965 jam 0 ,mem_tester_cnt 
+0x4c42 006966 fetch 1 ,mem_tester_emulate 
+0x4c43 006967 set0 tester_change ,pdata 
+0x4c44 006968 store 1 ,mem_tester_emulate 
+0x4c45 006969 bbit1 tester_exit ,check_test_exit 
+0x4c46 006970 isolate1 tester_no_whitening ,pdata 
+0x4c47 006971 call test_no_white ,true 
+0x4c48 006972 ncall test_enable_white ,true 
+0x4c49 006973 fetch 1 ,test_mode_packet_type 
+0x4c4a 006974 compare 0x20 ,pdata ,0x30 
+0x4c4b 006975 fetch 1 ,mem_state_map 
+0x4c4c 006976 setflag true ,smap_edr ,pdata 
+0x4c4d 006977 store 1 ,mem_state_map 
+0x4c4e 006978 fetch 1 ,mem_tester_emulate 
+0x4c4f 006979 fetcht 1 ,mem_debug_config 
+0x4c50 006980 isolate1 tester_pattern_test ,pdata 
+0x4c51 006981 setflag true ,debug_tx_pattern ,temp 
+0x4c52 006982 isolate1 tester_fixed_freq ,pdata 
+0x4c53 006983 setflag true ,debug_tx_fixed_freq ,temp 
+0x4c54 006984 setflag true ,debug_rx_fixed_freq ,temp 
+0x4c55 006985 storet 1 ,mem_debug_config 
+0x4c56 006986 fetch 1 ,test_mode_tx_freq 
+0x4c57 006987 store 1 ,mem_tx_fixed_freq 
+0x4c58 006988 fetch 1 ,test_mode_rx_freq 
+0x4c59 006989 store 1 ,mem_rx_fixed_freq 
+0x4c5a 006990 set1 mark_testmode ,mark 
+0x4c5b 006991 rtn 
+:      006994 check_test_exit:
+0x4c5c 006995 set0 mark_testmode ,mark 
+0x4c5d 006996 jam 0 ,mem_tester_emulate 
+0x4c5e 006997 fetch 1 ,mem_test_mode_old_debug_config 
+0x4c5f 006998 store 1 ,mem_debug_config 
+0x4c60 006999 hfetch 1 ,core_config 
+0x4c61 007000 and_into 0xfb ,pdata 
+0x4c62 007001 hstore 1 ,core_config 
+0x4c63 007002 rtn 
+:      007005 test_sleep:
+0x4c64 007006 deposit regc 
+0x4c65 007007 rtnne bt_evt_button_long_pressed 
+:      007008 test_sleep_loop:
+0x4c66 007011 rtn 
+0x4c67 007012 beq 1 ,test_sleep_loop 
+0x4c68 007013 branch lpm_hibernate 
+:      007016 test_tx:
+0x4c69 007017 force 2 ,temp 
+0x4c6a 007018 increase -2 ,temp 
+0x4c6b 007019 call set_sync_on 
+0x4c6c 007020 call set_freq_tx 
+0x4c6d 007021 disable enable_white 
+0x4c6e 007022 enable encode_fec0 
+0x4c6f 007023 set1 txgfsk ,radio_ctrl 
+0x4c70 007024 call start_transmitter 
+:      007025 test_tx_loop:
+0x4c71 007026 fetch 1 ,0 
+0x4c72 007027 inject mod ,8 
+0x4c73 007028 branch test_tx_loop 
+:      007029 wait_sec_powerup:
+0x4c74 007030 fetch 1 ,core_misc_status 
+0x4c75 007031 bbit0 sec_pwrup ,wait_sec_powerup 
+0x4c76 007032 rtn 
+:      007034 app_init:
+0x4c77 007035 bpatch patch16_2 ,mem_patch16 
+0x4c78 007036 fetch 1 ,mem_device_option 
+0x4c79 007037 branch app_init ,blank 
+0x4c7a 007038 beq dvc_op_module ,module_init 
+0x4c7b 007039 rtn 
+:      007041 app_lpm_init:
+0x4c7c 007042 bpatch patch16_3 ,mem_patch16 
+0x4c7d 007043 jam 0 ,mem_tester_emulate 
+0x4c7e 007044 jam 0 ,mem_debug_config 
+0x4c7f 007045 jam 0 ,mem_lch_code 
+0x4c80 007046 setarg 0 
+0x4c81 007047 store 5 ,mem_sp_state_start 
+0x4c82 007048 fetch 1 ,mem_device_option 
+0x4c83 007049 branch app_lpm_init ,blank 
+0x4c84 007050 beq dvc_op_module ,module_lpm_init 
+:      007051 app_lpm_init0:
+0x4c85 007052 rtn 
+:      007055 app_process_idle:
+0x4c86 007056 call ui_dispatch 
+0x4c87 007057 call check_51cmd 
+0x4c88 007058 call app_process_bb_event 
+0x4c89 007059 fetch 2 ,mem_cb_idle_process 
+0x4c8a 007060 branch callback_func 
+:      007062 app_process_bt:
+0x4c8b 007063 fetch 2 ,mem_cb_bt_process 
+0x4c8c 007064 branch callback_func 
+:      007066 app_process_ble:
+0x4c8d 007067 fetch 2 ,mem_cb_le_process 
+0x4c8e 007068 branch callback_func 
+:      007070 app_process_bb_event:
+0x4c8f 007071 bpatch patch16_4 ,mem_patch16 
+0x4c90 007073 arg mem_ipc_fifo_bt2c51 ,rega 
+0x4c91 007074 call fifo_out 
+0x4c92 007075 rtn blank 
+0x4c93 007077 copy pdata ,regc 
+0x4c94 007078 call app_event_normal_process 
+0x4c95 007079 branch app_process_bb_event_priority 
+:      007081 app_discard_event:
+0x4c96 007082 arg 0 ,regc 
+0x4c97 007083 rtn 
+:      007088 app_event_normal_process:
+0x4c98 007089 beq bt_evt_bb_connected ,app_evt_bt_conn 
+0x4c99 007090 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+0x4c9a 007091 beq bt_evt_setup_complete ,app_evt_setup_complete 
+0x4c9b 007092 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+0x4c9c 007093 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+0x4c9d 007094 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+0x4c9e 007095 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+0x4c9f 007096 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+0x4ca0 007097 beq bt_evt_le_connected ,app_le_event_bb_connected 
+0x4ca1 007098 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+0x4ca2 007099 beq bt_evt_reconn_started ,app_event_reconn_start 
+0x4ca3 007100 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+0x4ca4 007101 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+0x4ca5 007103 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+0x4ca6 007104 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+0x4ca7 007105 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+0x4ca8 007106 beq bt_evt_switch_success_master ,app_event_switch_success 
+0x4ca9 007107 rtn 
+:      007110 app_evt_bt_conn:
+0x4caa 007111 fetch 2 ,mem_ui_state_map 
+0x4cab 007112 set1 ui_state_bt_connected ,pdata 
+0x4cac 007113 store 2 ,mem_ui_state_map 
+0x4cad 007114 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cae 007115 set0 app_disc_by_button ,pdata 
+0x4caf 007116 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cb0 007117 rtn 
+:      007119 app_event_switch_success:
+0x4cb1 007120 jam 0 ,mem_switch_fail_master_count 
+0x4cb2 007121 rtn 
+:      007123 app_event_switch_fail_master:
+0x4cb3 007124 fetch 1 ,mem_switch_fail_master_count 
+0x4cb4 007125 increase 1 ,pdata 
+0x4cb5 007126 store 1 ,mem_switch_fail_master_count 
+0x4cb6 007127 sub pdata ,1 ,null 
+0x4cb7 007128 branch app_bt_role_switch ,positive 
+0x4cb8 007129 jam 0 ,mem_switch_fail_master_count 
+0x4cb9 007130 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cba 007131 set1 app_disc_switch_fail ,pdata 
+0x4cbb 007132 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cbc 007133 branch app_bt_disconnect 
+:      007135 app_process_bb_event_priority:
+0x4cbd 007136 fetch 2 ,mem_cb_bb_event_process 
+0x4cbe 007137 branch callback_func 
+:      007139 app_check_wake_lock:
+0x4cbf 007140 fetch 2 ,mem_cb_check_wakelock 
+0x4cc0 007141 branch callback_func 
+:      007143 app_will_enter_lpm:
+0x4cc1 007144 fetch 2 ,mem_cb_before_lpm 
+0x4cc2 007145 branch callback_func 
+:      007147 app_event_linkkey_generate:
+0x4cc3 007148 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cc4 007149 set1 app_disc_after_pairing ,pdata 
+0x4cc5 007150 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cc6 007151 branch app_bt_store_reconn_info 
+:      007153 app_event_reconn_start:
+0x4cc7 007154 fetch 2 ,mem_ui_state_map 
+0x4cc8 007155 set1 ui_state_bt_reconnect ,pdata 
+0x4cc9 007156 store 2 ,mem_ui_state_map 
+0x4cca 007157 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4ccb 007158 set1 app_disc_after_reconn ,pdata 
+0x4ccc 007159 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4ccd 007160 rtn 
+:      007162 app_evt_setup_complete:
+0x4cce 007163 fetch 2 ,mem_ui_state_map 
+0x4ccf 007164 set1 ui_state_bt_setup_complete ,pdata 
+0x4cd0 007165 store 2 ,mem_ui_state_map 
+0x4cd1 007166 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cd2 007167 set1 app_disc_after_setup_done ,pdata 
+0x4cd3 007168 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cd4 007169 rtn 
+:      007171 app_evt_hid_handshake:
+0x4cd5 007172 fetch 2 ,mem_ui_state_map 
+0x4cd6 007173 set1 ui_state_bt_hid_handshake ,pdata 
+0x4cd7 007174 store 2 ,mem_ui_state_map 
+0x4cd8 007175 rtn 
+:      007177 app_event_enter_sniff:
+0x4cd9 007178 fetch 2 ,mem_ui_state_map 
+0x4cda 007179 set1 ui_state_bt_sniff ,pdata 
+0x4cdb 007180 store 2 ,mem_ui_state_map 
+0x4cdc 007181 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cdd 007182 set1 app_disc_after_sniff ,pdata 
+0x4cde 007183 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cdf 007184 rtn 
+:      007186 app_event_exit_sniff:
+0x4ce0 007187 fetch 2 ,mem_ui_state_map 
+0x4ce1 007188 set0 ui_state_bt_sniff ,pdata 
+0x4ce2 007189 store 2 ,mem_ui_state_map 
+0x4ce3 007190 rtn 
+:      007192 app_le_event_bb_connected:
+0x4ce4 007193 fetch 2 ,mem_ui_state_map 
+0x4ce5 007194 set1 ui_state_ble_connected ,pdata 
+0x4ce6 007195 store 2 ,mem_ui_state_map 
+0x4ce7 007196 rtn 
+:      007198 app_le_event_bb_disconn:
+0x4ce8 007199 fetch 2 ,mem_ui_state_map 
+0x4ce9 007200 set0 ui_state_ble_connected ,pdata 
+0x4cea 007201 store 2 ,mem_ui_state_map 
+0x4ceb 007202 branch app_lpm_mult_disable 
+:      007204 app_bb_event_hid_connected:
+0x4cec 007205 fetch 2 ,mem_ui_state_map 
+0x4ced 007206 set1 ui_state_bt_hid_conn ,pdata 
+0x4cee 007207 store 2 ,mem_ui_state_map 
+0x4cef 007208 rtn 
+:      007210 app_evt_button_long_pressed:
+0x4cf0 007211 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf1 007212 set1 app_disc_by_button ,pdata 
+0x4cf2 007213 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf3 007214 rtn 
+:      007216 app_event_ml2cap_conn_refused:
+0x4cf4 007217 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf5 007218 set1 app_disc_l2cap_refused ,pdata 
+0x4cf6 007219 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4cf7 007220 branch app_bt_disconnect 
+:      007223 app_evt_timer:
+0x4cf8 007224 bpatch patch16_5 ,mem_patch16 
+0x4cf9 007225 store 1 ,mem_app_evt_timer_count 
+:      007226 app_evt_100ms_loop:
+0x4cfa 007227 fetch 1 ,mem_app_evt_timer_count 
+0x4cfb 007228 rtn blank 
+0x4cfc 007229 increase -1 ,pdata 
+0x4cfd 007230 store 1 ,mem_app_evt_timer_count 
+0x4cfe 007231 call app_lpm_wake_auto_lock_timer 
+0x4cff 007232 call app_unsniff_delay_timer 
+0x4d00 007233 call app_discovery_timer 
+0x4d01 007234 fetch 2 ,mem_cb_event_timer 
+0x4d02 007235 call callback_func 
+0x4d03 007236 branch app_evt_100ms_loop 
+:      007241 timer_single_step:
+0x4d04 007242 ifetch 1 ,regc 
+0x4d05 007243 rtn blank 
+0x4d06 007244 pincrease -1 
+0x4d07 007245 istore 1 ,regc 
+0x4d08 007246 nrtn blank 
+0x4d09 007247 copy regb ,pdata 
+0x4d0a 007248 branch callback_func 
+:      007252 timer_single_step_2b:
+0x4d0b 007253 ifetch 2 ,regc 
+0x4d0c 007254 rtn blank 
+0x4d0d 007255 pincrease -1 
+0x4d0e 007256 istore 2 ,regc 
+0x4d0f 007257 nrtn blank 
+0x4d10 007258 copy regb ,pdata 
+0x4d11 007259 branch callback_func 
+:      007261 app_unsniff_delay_timer:
+0x4d12 007262 arg mem_unsniff2sniff_timer_count ,regc 
+0x4d13 007263 arg app_unsniff_delay_timeout ,regb 
+0x4d14 007264 branch timer_single_step 
+:      007266 app_unsniff_delay_timeout:
+0x4d15 007267 call context_check_idle 
+0x4d16 007268 branch app_bt_enter_sniff ,zero 
+0x4d17 007269 rtn 
+:      007272 app_discovery_timer:
+0x4d18 007273 arg mem_discovery_timeout_timer_count ,regc 
+0x4d19 007274 arg app_discovery_timeout ,regb 
+0x4d1a 007275 branch timer_single_step_2b 
+:      007277 app_discovery_timeout:
+0x4d1b 007278 call app_bt_stop_discovery 
+0x4d1c 007279 call app_led_off 
+0x4d1d 007280 fetch 2 ,mem_cb_discovry_timeout 
+0x4d1e 007281 branch callback_func 
+:      007284 app_bb_event_reconn_failed:
+0x4d1f 007285 call app_disconn_reason_flag_clear 
+:      007286 app_clear_reconnect_flag:
+0x4d20 007287 fetch 2 ,mem_ui_state_map 
+0x4d21 007288 set0 ui_state_bt_reconnect ,pdata 
+0x4d22 007289 store 2 ,mem_ui_state_map 
+0x4d23 007290 rtn 
+:      007292 app_bb_event_bb_disconn:
+0x4d24 007293 jam 0 ,mem_unsniff2sniff_timer_count 
+0x4d25 007294 fetch 2 ,mem_ui_state_map 
+0x4d26 007295 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+0x4d27 007296 isolate0 ui_state_bt_setup_complete ,pdata 
+0x4d28 007297 call app_discard_event ,true 
+:      007298 app_bb_event_bb_reconn_disconn:
+0x4d29 007299 bpatch patch16_6 ,mem_patch16 
+0x4d2a 007300 fetch 2 ,mem_ui_state_map 
+0x4d2b 007301 set0 ui_state_bt_connected ,pdata 
+0x4d2c 007302 set0 ui_state_bt_setup_complete ,pdata 
+0x4d2d 007303 set0 ui_state_bt_hid_conn ,pdata 
+0x4d2e 007304 set0 ui_state_bt_hid_handshake ,pdata 
+0x4d2f 007305 set0 ui_state_bt_reconnect ,pdata 
+0x4d30 007306 store 2 ,mem_ui_state_map 
+0x4d31 007307 branch app_lpm_mult_disable 
+:      007309 app_bb_hibernate:
+0x4d32 007310 call app_disconn_reason_clear 
+0x4d33 007311 branch app_enter_hibernate 
+:      007314 app_disconn_reason_clear:
+0x4d34 007315 setarg 0 
+0x4d35 007316 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x4d36 007317 rtn 
+:      007318 app_disconn_reason_flag_clear:
+0x4d37 007319 setarg 0 
+0x4d38 007320 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d39 007321 rtn 
+:      007323 app_disconn_reason_collect_bt:
+0x4d3a 007324 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d3b 007325 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x4d3c 007326 setarg 0 
+0x4d3d 007327 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d3e 007328 rtn 
+:      007330 app_disconn_reason_collect_ble:
+0x4d3f 007331 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d40 007332 set1 app_disc_ble ,pdata 
+0x4d41 007333 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x4d42 007334 setarg 0 
+0x4d43 007335 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x4d44 007336 rtn 
+:      007344 app_check_sniff:
+0x4d45 007345 fetch 1 ,mem_ui_state_map 
+0x4d46 007346 isolate1 ui_state_bt_sniff ,pdata 
+0x4d47 007347 rtn 
+:      007356 app_start_auto_sniff:
+0x4d48 007357 fetch 1 ,mem_unsniff2sniff_timer 
+0x4d49 007358 store 1 ,mem_unsniff2sniff_timer_count 
+0x4d4a 007359 rtn 
+:      007361 app_get_lpm_wake_lock:
+0x4d4b 007362 arg wake_lock_app ,queue 
+0x4d4c 007363 branch lpm_get_wake_lock 
+:      007365 app_put_lpm_wake_lock:
+0x4d4d 007366 arg wake_lock_app ,queue 
+0x4d4e 007367 branch lpm_put_wake_lock 
+:      007369 app_lpm_wake_auto_lock:
+0x4d4f 007370 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+0x4d50 007371 branch app_get_lpm_wake_lock 
+:      007373 app_lpm_wake_auto_lock_timer:
+0x4d51 007374 arg mem_wake_up_delay_timer ,regc 
+0x4d52 007375 arg app_put_lpm_wake_lock ,regb 
+0x4d53 007376 branch timer_single_step 
+:      007378 app_l2cap_flow_control_enable:
+0x4d54 007379 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+0x4d55 007380 rtn 
+:      007382 app_l2cap_flow_control_disable:
+0x4d56 007383 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+0x4d57 007384 rtn 
+:      007386 app_bt_set_pincode:
+0x4d58 007387 jam bt_cmd_set_pin_code ,mem_fifo_temp 
+0x4d59 007388 branch ui_ipc_send_cmd 
+:      007390 app_bt_role_switch:
+0x4d5a 007391 jam bt_cmd_role_switch ,mem_fifo_temp 
+0x4d5b 007392 branch ui_ipc_send_cmd 
+:      007394 app_bt_start_reconnect:
+0x4d5c 007395 bpatch patch16_7 ,mem_patch16 
+0x4d5d 007396 fetch 1 ,mem_app_connection_options 
+0x4d5e 007397 store 1 ,mem_connection_options 
+0x4d5f 007398 jam app_flag_reconnect ,mem_reconnect_flag 
+0x4d60 007399 jam bt_cmd_reconnect ,mem_fifo_temp 
+0x4d61 007400 branch ui_ipc_send_cmd 
+:      007402 app_bt_reconnect_cancel:
+0x4d62 007403 jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+0x4d63 007404 branch ui_ipc_send_cmd 
+:      007406 app_bt_disconnect:
+0x4d64 007407 jam bt_cmd_disconnect ,mem_fifo_temp 
+0x4d65 007408 branch ui_ipc_send_cmd 
+:      007410 app_bt_start_discovery_short:
+0x4d66 007411 fetch 2 ,mem_discovery_timeout 
+0x4d67 007412 store 2 ,mem_discovery_timeout_timer_count 
+:      007413 app_bt_start_discovery_led_blink:
+0x4d68 007414 call app_led_start_blink 
+:      007415 app_bt_start_discovery:
+0x4d69 007416 jam bt_cmd_start_discovery ,mem_fifo_temp 
+0x4d6a 007417 branch ui_ipc_send_cmd 
+:      007419 app_bt_stop_discovery:
+0x4d6b 007420 setarg 0 
+0x4d6c 007421 store 2 ,mem_discovery_timeout_timer_count 
+0x4d6d 007422 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+0x4d6e 007423 branch ui_ipc_send_cmd 
+:      007425 app_ble_start_direct_adv:
+0x4d6f 007426 jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+0x4d70 007427 branch ui_ipc_send_cmd 
+:      007429 app_ble_stop_direct_adv:
+0x4d71 007430 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+0x4d72 007431 branch ui_ipc_send_cmd 
+:      007433 app_ble_stop_adv:
+0x4d73 007434 jam bt_cmd_stop_adv ,mem_fifo_temp 
+0x4d74 007435 branch ui_ipc_send_cmd 
+:      007437 app_ble_start_adv:
+0x4d75 007438 jam bt_cmd_start_adv ,mem_fifo_temp 
+0x4d76 007439 branch ui_ipc_send_cmd 
+:      007441 app_ble_start_scan:
+0x4d77 007442 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+0x4d78 007443 branch ui_ipc_send_cmd 
+:      007445 app_ble_stop_scan:
+0x4d79 007446 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+0x4d7a 007447 branch ui_ipc_send_cmd 
+:      007449 app_ble_start_conn:
+0x4d7b 007450 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+0x4d7c 007451 branch ui_ipc_send_cmd 
+:      007453 app_ble_disconnect:
+0x4d7d 007454 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+0x4d7e 007455 branch ui_ipc_send_cmd 
+:      007457 app_led_start_blink:
+0x4d7f 007458 jam bt_cmd_led_blink ,mem_fifo_temp 
+0x4d80 007459 branch ui_ipc_send_cmd 
+:      007461 app_led_on:
+0x4d81 007462 jam bt_cmd_led_on ,mem_fifo_temp 
+0x4d82 007463 branch ui_ipc_send_cmd 
+:      007465 app_led_stop_blink:
+:      007466 app_led_off:
+0x4d83 007467 jam bt_cmd_led_off ,mem_fifo_temp 
+0x4d84 007468 branch ui_ipc_send_cmd 
+:      007470 app_enter_hibernate:
+0x4d85 007471 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+0x4d86 007472 branch ui_ipc_send_cmd 
+:      007474 app_bt_sniff_exit:
+0x4d87 007475 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+0x4d88 007476 branch ui_ipc_send_cmd 
+:      007478 app_bt_enter_sniff:
+0x4d89 007479 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+0x4d8a 007480 branch ui_ipc_send_cmd 
+:      007482 app_ble_store_reconn_info:
+0x4d8b 007483 jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+0x4d8c 007484 branch ui_ipc_send_cmd 
+:      007486 app_bt_store_reconn_info:
+0x4d8d 007487 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+0x4d8e 007488 branch ui_ipc_send_cmd 
+:      007490 app_store_reconn_info:
+0x4d8f 007491 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+0x4d90 007492 branch ui_ipc_send_cmd 
+:      007494 app_lpm_mult_enable:
+0x4d91 007495 set1 mark_lpm_mult_enable ,mark 
+0x4d92 007496 rtn 
+:      007498 app_lpm_mult_disable:
+0x4d93 007499 set0 mark_lpm_mult_enable ,mark 
+0x4d94 007500 rtn 
+:      007508 module_init:
+0x4d95 007509 rtn wake 
+0x4d96 007510 call le_modified_name 
+0x4d97 007511 setarg module_process_idle 
+0x4d98 007512 store 2 ,mem_cb_idle_process 
+0x4d99 007513 setarg module_bt_conn_process 
+0x4d9a 007514 store 2 ,mem_cb_bt_process 
+0x4d9b 007515 setarg module_process_bb_event 
+0x4d9c 007516 store 2 ,mem_cb_bb_event_process 
+0x4d9d 007517 setarg module_le_conn_process 
+0x4d9e 007518 store 2 ,mem_cb_le_process 
+0x4d9f 007519 setarg module_lpm_lock 
+0x4da0 007520 store 2 ,mem_cb_check_wakelock 
+0x4da1 007521 setarg module_hci_cmd_transmit_le_notify 
+0x4da2 007522 store 2 ,mem_cb_ble_transmit 
+0x4da3 007523 setarg module_hci_event_receive_spp_data 
+0x4da4 007524 store 2 ,mem_cb_receive_spp_data 
+0x4da5 007525 setarg module_le_receive_data 
+0x4da6 007526 store 2 ,mem_cb_att_write 
+0x4da7 007527 setarg module_bb_event_timer 
+0x4da8 007528 store 2 ,mem_cb_event_timer 
+0x4da9 007530 call module_spp_clear_last_transmite_clock 
+0x4daa 007531 bpatch patch17_0 ,mem_patch17 
+0x4dab 007532 call module_lpm_uart_init 
+0x4dac 007533 call module_gpio_init 
+0x4dad 007534 call check_module_disabled 
+0x4dae 007535 branch module_hci_event_enter_standby_mode 
+:      007538 module_lpm_uart_init:
+0x4daf 007539 fetch 2 ,ipc_m02bt_end_addr 
+0x4db0 007540 store 2 ,core_sec_readdr 
+0x4db1 007541 fetch 2 ,ipc_m02bt_start_addr 
+0x4db2 007542 store 2 ,core_sec_rsaddr 
+0x4db3 007543 copy pdata ,contru 
+0x4db4 007545 fetch 2 ,ipc_bt2m0_end_addr 
+0x4db5 007546 store 2 ,core_sec_teaddr 
+0x4db6 007547 fetch 2 ,ipc_bt2m0_start_addr 
+0x4db7 007548 store 2 ,core_sec_tsaddr 
+0x4db8 007549 copy pdata ,contwu 
+0x4db9 007550 rtn 
+:      007554 module_lpm_init:
+0x4dba 007555 call module_lpm_uart_init 
+0x4dbb 007556 branch module_spp_clear_last_transmite_clock 
+:      007559 module_gpio_init:
+0x4dbc 007560 rtn 
+:      007561 module_lpm_lock:
+0x4dbd 007562 fetch 1 ,ipc_hold_bt 
+0x4dbe 007563 beq 1 ,app_get_lpm_wake_lock 
+0x4dbf 007564 fetch 1 ,mem_le_pairing_state 
+0x4dc0 007565 bne flag_le_pairing_null ,module_lpm_lock_check_pairing 
+0x4dc1 007566 branch app_put_lpm_wake_lock 
+:      007567 module_lpm_lock_check_pairing:
+0x4dc2 007568 beq flag_le_pairing_end ,app_put_lpm_wake_lock 
+0x4dc3 007569 branch app_get_lpm_wake_lock 
+:      007571 module_le_conn_process:
+0x4dc4 007572 rtn 
+:      007574 module_bt_conn_process:
+0x4dc5 007575 call module_spp_enter_sniff 
+0x4dc6 007576 branch module_control_air_flow 
+:      007578 module_spp_enter_sniff:
+0x4dc7 007579 rtn 
+0x4dc8 007580 fetch 1 ,mem_ui_state_map 
+0x4dc9 007581 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+0x4dca 007582 bpatch patch17_1 ,mem_patch17 
+0x4dcb 007583 setarg 0x3eff 
+0x4dcc 007584 fetcht 4 ,mem_last_transmite_clock 
+0x4dcd 007585 iadd temp ,temp 
+0x4dce 007586 copy clkn_bt ,pdata 
+0x4dcf 007587 isub temp ,null 
+0x4dd0 007588 nrtn positive 
+0x4dd1 007589 fetch 2 ,mem_ui_state_map 
+0x4dd2 007590 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+0x4dd3 007591 fetch 1 ,mem_module_flag 
+0x4dd4 007592 rtnbit1 moudle_task_sniff 
+0x4dd5 007593 call module_set_sniff_task_flag 
+0x4dd6 007594 call app_bt_enter_sniff 
+:      007595 module_spp_clear_last_transmite_clock:
+0x4dd7 007596 copy clkn_bt ,pdata 
+0x4dd8 007597 store 4 ,mem_last_transmite_clock 
+0x4dd9 007598 rtn 
+:      007601 module_process_idle:
+0x4dda 007602 call module_control_air_flow 
+0x4ddb 007603 call l2cap_malloc_is_fifo_full 
+0x4ddc 007604 nrtn blank 
+0x4ddd 007605 branch module_process 
+:      007608 module_process_bb_event:
+0x4dde 007609 copy regc ,pdata 
+0x4ddf 007610 beq bt_evt_bb_connected ,module_process_bb_conn 
+0x4de0 007611 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+0x4de1 007612 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+0x4de2 007613 beq bt_evt_setup_complete ,module_process_setup_complete 
+0x4de3 007614 beq bt_evt_spp_connected ,module_process_spp_connected 
+0x4de4 007615 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+0x4de5 007616 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+0x4de6 007617 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+0x4de7 007618 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+0x4de8 007619 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+0x4de9 007620 beq bt_evt_le_connected ,module_process_le_conn 
+0x4dea 007621 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+0x4deb 007622 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+0x4dec 007623 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+0x4ded 007624 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+0x4dee 007625 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+0x4def 007626 beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+0x4df0 007627 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+0x4df1 007628 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+0x4df2 007629 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+0x4df3 007630 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+0x4df4 007631 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+0x4df5 007632 beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+0x4df6 007633 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+0x4df7 007634 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+0x4df8 007635 beq bt_evt_store_nvram ,module_hci_event_store_device 
+0x4df9 007636 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+0x4dfa 007637 rtn 
+:      007640 module_process_bb_event_disconned:
+0x4dfb 007641 call module_spp_clear_last_transmite_clock 
+0x4dfc 007642 fetch 1 ,mem_flag_pairing_state 
+0x4dfd 007643 ncall module_hci_event_bt_pairing_fail ,blank 
+0x4dfe 007644 call module_disconn_start 
+0x4dff 007645 fetch 2 ,mem_ui_state_map 
+0x4e00 007646 rtnbit0 ui_state_bt_spp_conn 
+0x4e01 007647 branch module_spp_disconnected 
+:      007649 module_process_spp_connected:
+0x4e02 007650 fetch 2 ,mem_ui_state_map 
+0x4e03 007651 set1 ui_state_bt_spp_conn ,pdata 
+0x4e04 007652 store 2 ,mem_ui_state_map 
+0x4e05 007653 fetch 1 ,mem_module_spp_lpm_mult 
+0x4e06 007654 store 1 ,mem_lpm_mult 
+0x4e07 007655 branch module_hci_event_spp_connect 
+:      007657 module_process_spp_disconnected:
+:      007659 module_spp_disconnected:
+0x4e08 007660 fetch 2 ,mem_ui_state_map 
+0x4e09 007661 rtnbit0 ui_state_bt_spp_conn 
+0x4e0a 007662 set0 ui_state_bt_spp_conn ,pdata 
+0x4e0b 007663 store 2 ,mem_ui_state_map 
+0x4e0c 007664 branch module_hci_event_spp_disconnect 
+:      007667 module_process_enter_sniff:
+:      007669 module_sniff_param_check:
+0x4e0d 007670 call module_spp_clear_last_transmite_clock 
+0x4e0e 007673 fetch 2 ,mem_context + coffset_tsniff 
+0x4e0f 007674 rshift pdata ,pdata 
+0x4e10 007675 fetcht 2 ,mem_sniff_param_interval 
+0x4e11 007676 isub temp ,null 
+0x4e12 007677 nbranch module_sniff_param_check_unsniff ,zero 
+0x4e13 007678 branch app_lpm_mult_enable 
+:      007679 module_sniff_param_check_unsniff:
+0x4e14 007680 fetch 1 ,mem_module_flag 
+0x4e15 007681 rtnbit1 moudle_task_unsniff 
+0x4e16 007683 fetch 2 ,ipc_m02bt_read_ptr 
+0x4e17 007684 fetcht 2 ,ipc_m02bt_write_ptr 
+0x4e18 007685 isub temp ,null 
+0x4e19 007686 ncall module_set_unsniff_task_flag ,zero 
+0x4e1a 007687 branch app_bt_sniff_exit 
+:      007689 module_process_exit_sniff:
+0x4e1b 007690 call module_clear_sniff_task_flag 
+0x4e1c 007691 branch app_lpm_mult_disable 
+:      007693 module_process_setup_complete:
+0x4e1d 007694 call module_spp_clear_last_transmite_clock 
+0x4e1e 007695 branch module_conn_start 
+:      007697 module_process_bb_even_le_disconn:
+0x4e1f 007698 call le_clr_config_more_data 
+0x4e20 007699 call module_disconn_start 
+0x4e21 007700 branch module_hci_event_le_disconnect 
+:      007702 module_process_evt_pincode_req:
+0x4e22 007703 branch app_bt_set_pincode 
+:      007706 module_process_sniff_not_accept:
+0x4e23 007707 branch module_clear_sniff_task_flag 
+:      007710 module_process_unsniff_accept:
+0x4e24 007711 fetch 1 ,mem_module_flag 
+0x4e25 007712 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+0x4e26 007713 branch module_clear_unsniff_task_flag 
+:      007716 module_process_unsniff_not_accept:
+0x4e27 007717 branch module_clear_unsniff_task_flag 
+:      007720 module_process_le_conn:
+0x4e28 007722 call module_conn_start 
+0x4e29 007723 fetch 1 ,mem_module_le_lpm_mult 
+0x4e2a 007724 store 1 ,mem_lpm_mult 
+0x4e2b 007725 branch module_hci_event_le_connect 
+:      007728 module_process_bb_conn:
+0x4e2c 007729 jam 0 ,mem_flag_mode_ssp_pin 
+0x4e2d 007730 call module_clear_sniff_task_flag 
+0x4e2e 007731 branch module_clear_unsniff_task_flag 
+:      007733 module_process_page_time_out:
+:      007734 module_process_reconn_fail:
+:      007735 module_disconn_start:
+0x4e2f 007736 branch module_start_adv_discovery_by_command 
+:      007739 module_process_ble_ltk_lost:
+0x4e30 007740 call le_send_reject_ind 
+0x4e31 007741 branch le_send_smp_security_request 
+:      007744 module_conn_start:
+0x4e32 007745 branch module_stop_adv_discovery 
+:      007747 module_stop_adv_discovery:
+0x4e33 007748 fetch 1 ,mem_module_state 
+0x4e34 007749 isolate1 moudle_state_bt_bit ,pdata 
+0x4e35 007750 call app_bt_stop_discovery ,true 
+0x4e36 007751 fetch 1 ,mem_module_state 
+0x4e37 007752 isolate1 moudle_state_ble_bit ,pdata 
+0x4e38 007753 call app_ble_stop_adv ,true 
+0x4e39 007754 rtn 
+:      007756 module_process_with_credit:
+0x4e3a 007757 fetch 1 ,mem_credit_flag 
+0x4e3b 007758 rtneq credit_disable 
+0x4e3c 007759 branch rfcomm_send_uih_without_payload 
+:      007761 module_process:
+0x4e3d 007762 fetch 2 ,ipc_m02bt_read_ptr 
+0x4e3e 007763 fetcht 2 ,ipc_m02bt_write_ptr 
+0x4e3f 007764 isub temp ,null 
+0x4e40 007765 branch module_process_with_credit ,zero 
+0x4e41 007766 call uartd_prepare_rx 
+0x4e42 007767 ifetch 1 ,contru 
+0x4e43 007768 bne 0x01 ,module_hci_in_excp 
+0x4e44 007769 ifetch 1 ,contru 
+0x4e45 007770 store 1 ,mem_module_uart_opcode 
+0x4e46 007771 ifetcht 1 ,contru 
+0x4e47 007772 copy contru ,rega 
+0x4e48 007773 storet 1 ,mem_module_uart_len 
+0x4e49 007774 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4e4a 007775 call module_hci_cmd_control 
+0x4e4b 007776 fetch 1 ,mem_module_temp_nl_discard_packet 
+0x4e4c 007777 rtneq hci_not_discard_packet 
+0x4e4d 007778 branch module_hci_dicard_packet 
+:      007780 module_hci_in_excp:
+0x4e4e 007781 call delay_10ms 
+0x4e4f 007782 call module_hci_event_invalid_packet 
+0x4e50 007783 branch module_hci_release_except 
+:      007786 module_hci_release_except:
+0x4e51 007787 bpatch patch17_2 ,mem_patch17 
+0x4e52 007788 fetch 2 ,ipc_m02bt_write_ptr 
+0x4e53 007789 store 2 ,ipc_m02bt_read_ptr 
+0x4e54 007790 rtn 
+:      007793 module_hci_dicard_packet:
+0x4e55 007794 call uartd_prepare_rx 
+0x4e56 007795 increase 2 ,contru 
+0x4e57 007796 ifetch 1 ,contru 
+0x4e58 007797 iadd contru ,contru 
+:      007798 module_hci_dicard_bytes:
+0x4e59 007799 branch uartd_rxdone 
+:      007802 module_hci_cmd_control:
+0x4e5a 007803 bpatch patch17_3 ,mem_patch17 
+0x4e5b 007804 fetch 1 ,mem_module_uart_opcode 
+0x4e5c 007805 beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+0x4e5d 007806 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+0x4e5e 007807 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+0x4e5f 007808 beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+0x4e60 007809 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+0x4e61 007810 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+0x4e62 007811 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+0x4e63 007812 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+0x4e64 007813 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+0x4e65 007814 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+0x4e66 007815 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+0x4e67 007816 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+0x4e68 007817 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+0x4e69 007818 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+0x4e6a 007819 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+0x4e6b 007820 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+0x4e6c 007821 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+0x4e6d 007822 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+0x4e6e 007823 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+0x4e6f 007824 beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+0x4e70 007825 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+0x4e71 007826 beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+0x4e72 007827 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+0x4e73 007828 beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+0x4e74 007829 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+0x4e75 007830 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+0x4e76 007831 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+0x4e77 007832 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+0x4e78 007833 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+0x4e79 007834 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+0x4e7a 007835 beq hci_test_cmd_reback ,module_hci_test_cmd_reback 
+0x4e7b 007836 branch module_hci_event_receive_invalid_cmd 
+:      007841 module_hci_cmd_set_bt_addr:
+0x4e7c 007842 fetch 1 ,mem_module_uart_len 
+0x4e7d 007843 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x4e7e 007844 ifetch 6 ,contru 
+0x4e7f 007845 store 6 ,mem_lap 
+0x4e80 007846 branch module_hci_event_receive_valid_cmd 
+:      007849 module_hci_cmd_set_le_addr:
+0x4e81 007850 fetch 1 ,mem_module_uart_len 
+0x4e82 007851 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x4e83 007852 ifetch 6 ,contru 
+0x4e84 007853 store 6 ,mem_le_lap 
+0x4e85 007854 branch module_hci_event_receive_valid_cmd 
+:      007858 module_hci_cmd_set_visibility:
+0x4e86 007859 fetch 1 ,mem_module_uart_len 
+0x4e87 007860 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x4e88 007861 copy rega ,contru 
+0x4e89 007862 call module_hci_event_receive_valid_cmd 
+0x4e8a 007863 ifetcht 1 ,contru 
+0x4e8b 007864 storet 1 ,mem_module_bluetooth_stauts_by_command 
+0x4e8c 007865 fetch 2 ,mem_ui_state_map 
+0x4e8d 007866 rtnbit1 ui_state_ble_connected 
+0x4e8e 007867 rtnbit1 ui_state_bt_connected 
+:      007868 module_start_adv_discovery_by_command:
+0x4e8f 007869 fetch 1 ,mem_module_state 
+0x4e90 007870 isolate1 moudle_state_bt_bit ,pdata 
+0x4e91 007871 nbranch moudle_start_adv_by_command ,true 
+0x4e92 007872 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x4e93 007873 and temp ,0x03 ,pdata 
+0x4e94 007874 store 1 ,mem_scan_mode 
+:      007875 moudle_start_adv_by_command:
+0x4e95 007876 fetch 1 ,mem_module_state 
+0x4e96 007877 isolate1 moudle_state_ble_bit ,pdata 
+0x4e97 007878 nrtn true 
+0x4e98 007879 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x4e99 007880 isolate1 2 ,temp 
+0x4e9a 007881 branch app_ble_start_adv ,true 
+0x4e9b 007882 branch app_ble_stop_adv 
+:      007886 module_hci_cmd_set_bt_name:
+0x4e9c 007887 fetch 1 ,mem_module_uart_len 
+0x4e9d 007888 sub pdata ,67 ,null 
+0x4e9e 007889 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4e9f 007890 store 1 ,mem_local_name_length 
+0x4ea0 007891 arg 8 ,loopcnt 
+0x4ea1 007892 call memset0 
+0x4ea2 007893 fetch 1 ,mem_module_uart_len 
+0x4ea3 007894 copy pdata ,loopcnt 
+0x4ea4 007895 copy rega ,contru 
+0x4ea5 007896 arg mem_local_name ,contw 
+0x4ea6 007897 call uart_copy_rx_bytes_fast 
+0x4ea7 007898 branch module_hci_event_receive_valid_cmd 
+:      007902 module_hci_cmd_set_le_name:
+0x4ea8 007903 fetch 1 ,mem_module_uart_len 
+0x4ea9 007904 sub pdata ,29 ,null 
+0x4eaa 007905 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4eab 007906 store 1 ,mem_le_name_len 
+0x4eac 007907 copy pdata ,loopcnt 
+0x4ead 007908 copy rega ,contru 
+0x4eae 007909 arg mem_le_name ,contw 
+0x4eaf 007910 call uart_copy_rx_bytes_fast 
+0x4eb0 007911 call le_modified_name 
+0x4eb1 007912 branch module_hci_event_receive_valid_cmd 
+:      007916 module_hci_cmd_receive_spp_data:
+0x4eb2 007917 fetch 1 ,mem_ui_state_map 
+0x4eb3 007918 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+0x4eb4 007919 call app_check_sniff 
+0x4eb5 007920 branch module_hci_cmd_spp_exit_sniff ,true 
+0x4eb6 007921 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4eb7 007923 call module_spp_clear_last_transmite_clock 
+0x4eb8 007924 fetch 1 ,mem_remote_credits 
+0x4eb9 007925 rtn blank 
+0x4eba 007926 fetch 2 ,mem_nl_rx_len_all 
+0x4ebb 007927 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+0x4ebc 007928 fetch 1 ,mem_module_uart_len 
+0x4ebd 007929 store 2 ,mem_nl_rx_len_all 
+0x4ebe 007931 copy rega ,contru 
+0x4ebf 007934 copy contru ,pdata 
+0x4ec0 007935 store 2 ,mem_nl_rx_data_src 
+:      007936 module_hci_cmd_pass_init_ng_rx_len_all:
+0x4ec1 007937 call module_hci_cmd_get_current_packet_len_and_remain_len 
+0x4ec2 007938 branch spp_tx_rfcomm_packet 
+:      007940 module_hci_cmd_spp_exit_sniff:
+0x4ec3 007941 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ec4 007942 branch module_exit_sniff 
+:      007944 module_hci_cmd_get_current_packet_len_and_remain_len:
+0x4ec5 007945 call module_hci_cmd_get_current_patcket_len 
+0x4ec6 007946 fetch 2 ,mem_nl_rx_len_all 
+0x4ec7 007947 fetcht 2 ,mem_current_packet_length 
+0x4ec8 007948 isub temp ,pdata 
+0x4ec9 007949 store 2 ,mem_nl_rx_len_all 
+0x4eca 007950 rtn 
+:      007952 module_hci_cmd_get_current_patcket_len:
+0x4ecb 007953 fetch 2 ,mem_nl_rx_len_all 
+0x4ecc 007954 arg nl_rfcomm_buff_len ,temp 
+0x4ecd 007955 call not_greater_than 
+0x4ece 007956 fetcht 2 ,mem_rfcomm_max_frame_size 
+0x4ecf 007957 call not_greater_than 
+0x4ed0 007958 fetcht 2 ,mem_pn_max_frame_size 
+0x4ed1 007959 call not_greater_than 
+0x4ed2 007960 store 2 ,mem_current_packet_length 
+0x4ed3 007961 rtn 
+:      007963 module_hci_command_tx_spp_tx_complete:
+0x4ed4 007964 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ed5 007965 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+0x4ed6 007966 branch module_hci_event_receive_valid_cmd 
+:      007970 module_hci_cmd_receive_le_data:
+0x4ed7 007971 fetch 2 ,mem_ui_state_map 
+0x4ed8 007972 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x4ed9 007973 call module_check_ble_encrypt_state 
+0x4eda 007974 branch module_hci_event_receive_invalid_cmd ,user 
+0x4edb 007975 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4edc 007976 fetch 1 ,mem_module_flag 
+0x4edd 007977 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+0x4ede 007978 fetch 1 ,mem_module_hci_notify_len 
+0x4edf 007979 nrtn blank 
+0x4ee0 007980 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ee1 007981 ifetch 2 ,contru 
+0x4ee2 007982 store 2 ,mem_module_hci_notify_handle 
+0x4ee3 007983 copy contru ,pdata 
+0x4ee4 007984 store 2 ,mem_module_hci_nofiy_addr 
+0x4ee5 007985 fetch 1 ,mem_module_uart_len 
+0x4ee6 007986 pincrease -2 
+0x4ee7 007987 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4ee8 007988 branch module_hci_event_receive_invalid_cmd ,zero 
+0x4ee9 007989 store 1 ,mem_module_hci_notify_len 
+0x4eea 007990 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4eeb 007991 call le_set_config_more_data 
+0x4eec 007992 call module_hci_cmd_transmit_le_notify 
+0x4eed 007993 call module_hci_cmd_transmit_le_notify 
+0x4eee 007994 call module_hci_cmd_transmit_le_notify 
+0x4eef 007995 fetch 1 ,mem_module_flag 
+0x4ef0 007996 rtnbit0 module_flag_ble_data_finish 
+:      007997 module_hci_cmd_receive_le_data_finish:
+0x4ef1 007998 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x4ef2 007999 call module_clear_le_tx_data_flag 
+0x4ef3 008000 branch module_hci_event_receive_valid_cmd 
+:      008002 module_hci_cmd_transmit_le_notify:
+0x4ef4 008003 fetch 1 ,mem_module_hci_notify_len 
+0x4ef5 008004 rtn blank 
+0x4ef6 008005 call le_fifo_check_nearly_full 
+0x4ef7 008006 nrtn blank 
+0x4ef8 008007 call module_get_le_remote_mtu 
+0x4ef9 008008 bpatch patch17_4 ,mem_patch17 
+0x4efa 008009 add temp ,-3 ,pdata 
+0x4efb 008010 fetcht 1 ,mem_module_hci_notify_len 
+0x4efc 008011 call not_greater_than 
+0x4efd 008012 copy pdata ,rega 
+0x4efe 008013 copy temp ,pdata 
+0x4eff 008014 isub rega ,pdata 
+0x4f00 008015 store 1 ,mem_module_hci_notify_len 
+0x4f01 008016 fetcht 2 ,mem_module_hci_notify_handle 
+0x4f02 008017 call le_att_malloc_tx_notify 
+0x4f03 008018 fetch 2 ,mem_module_hci_nofiy_addr 
+0x4f04 008019 copy pdata ,contru 
+0x4f05 008020 copy rega ,loopcnt 
+0x4f06 008021 call uart_copy_rx_bytes_fast 
+0x4f07 008022 copy contru ,pdata 
+0x4f08 008023 store 2 ,mem_module_hci_nofiy_addr 
+0x4f09 008024 fetch 1 ,mem_module_hci_notify_len 
+0x4f0a 008025 nrtn blank 
+0x4f0b 008026 branch module_set_le_tx_data_flag 
+:      008030 module_get_le_remote_mtu:
+0x4f0c 008031 arg 0x17 ,temp 
+0x4f0d 008032 fetch 1 ,mem_module_flag 
+0x4f0e 008033 rtnbit1 module_flag_ble_send_mtu23 
+0x4f0f 008034 fetcht 2 ,mem_le_remote_mtu 
+0x4f10 008035 rtn 
+:      008037 module_check_ble_encrypt_state:
+0x4f11 008038 fetch 1 ,mem_module_flag 
+0x4f12 008039 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+0x4f13 008040 branch disable_user 
+:      008044 module_hci_cmd_inquire_status:
+0x4f14 008045 branch module_hci_event_status_res 
+:      008049 module_hci_cmd_set_pairing_mode:
+0x4f15 008050 copy rega ,contru 
+0x4f16 008051 ifetch 1 ,contru 
+0x4f17 008052 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x4f18 008053 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x4f19 008054 beq pairing_passkey ,module_hci_pairing_passkey 
+0x4f1a 008055 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+0x4f1b 008056 branch module_hci_event_receive_invalid_cmd 
+:      008057 module_hci_pairing_pincode_mode:
+0x4f1c 008058 call ssp_disable 
+0x4f1d 008059 jam 0 ,mem_ssp_enable 
+0x4f1e 008060 branch module_hci_event_receive_valid_cmd 
+:      008061 module_hci_pairing_just_work_mode:
+0x4f1f 008062 setarg ssp_mode_just_work_io_cap_data 
+:      008063 module_hci_sspairing_mode:
+0x4f20 008064 store 3 ,mem_sp_iocap_local 
+0x4f21 008065 store 1 ,mem_ssp_mode_flag 
+0x4f22 008066 call ssp_enable 
+0x4f23 008067 jam 1 ,mem_ssp_enable 
+0x4f24 008068 branch module_hci_event_receive_valid_cmd 
+:      008069 module_hci_pairing_passkey:
+0x4f25 008070 setarg ssp_mode_passkey_io_cap_data 
+0x4f26 008071 branch module_hci_sspairing_mode 
+:      008073 module_hci_pairing_numeric_comparison:
+0x4f27 008074 setarg ssp_mode_ssp_pin_io_cap_data 
+0x4f28 008075 branch module_hci_sspairing_mode 
+:      008078 module_hci_cmd_set_pincode:
+0x4f29 008079 fetch 1 ,mem_module_uart_len 
+0x4f2a 008080 sub pdata ,16 ,null 
+0x4f2b 008081 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4f2c 008082 store 1 ,mem_pin_length 
+0x4f2d 008083 copy pdata ,loopcnt 
+0x4f2e 008084 arg mem_pin ,contw 
+0x4f2f 008085 call uart_copy_rx_bytes 
+0x4f30 008086 branch module_hci_event_receive_valid_cmd 
+:      008093 module_hci_cmd_version_request:
+0x4f31 008094 arg 2 ,rega 
+0x4f32 008095 arg mem_soft_version_num ,regb 
+0x4f33 008096 arg 0 ,temp 
+0x4f34 008097 branch module_hci_event_set_cmd 
+:      008098 module_hci_event_set_cmd_send_response:
+0x4f35 008099 store 2 ,mem_event_cmd_response_content 
+0x4f36 008100 arg mem_event_cmd_response_content ,regb 
+0x4f37 008101 arg 0 ,temp 
+0x4f38 008102 branch module_hci_event_set_cmd 
+:      008106 module_hci_cmd_bt_disconnect:
+0x4f39 008107 fetch 2 ,mem_ui_state_map 
+0x4f3a 008108 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+:      008109 module_hci_cmd_bt_disconnect_doing:
+0x4f3b 008110 call module_hci_event_receive_valid_cmd 
+0x4f3c 008111 branch app_bt_disconnect 
+:      008115 module_hci_cmd_ble_disconnect:
+0x4f3d 008116 fetch 2 ,mem_ui_state_map 
+0x4f3e 008117 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+:      008118 module_hci_cmd_ble_disconnect_doing:
+0x4f3f 008119 call module_hci_event_receive_valid_cmd 
+0x4f40 008120 branch app_ble_disconnect 
+:      008126 module_hci_cmd_set_nvram:
+0x4f41 008127 fetch 1 ,mem_module_uart_len 
+0x4f42 008128 copy pdata ,loopcnt 
+0x4f43 008129 copy rega ,contru 
+0x4f44 008130 fetch 2 ,mem_nv_data_ptr 
+0x4f45 008131 icopy contw 
+0x4f46 008132 call uart_copy_rx_bytes_fast 
+0x4f47 008133 branch module_hci_event_receive_valid_cmd 
+:      008137 module_hci_cmd_confirm_gkey:
+0x4f48 008138 fetch 1 ,mem_ui_state_map 
+0x4f49 008139 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+0x4f4a 008140 ifetch 1 ,contru 
+0x4f4b 008141 fetcht 1 ,mem_flag_mode_ssp_pin 
+0x4f4c 008142 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+0x4f4d 008143 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+0x4f4e 008144 storet 1 ,mem_flag_mode_ssp_pin 
+0x4f4f 008146 call module_hci_event_receive_valid_cmd 
+0x4f50 008148 fetch 1 ,mem_flag_mode_ssp_pin 
+0x4f51 008149 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+0x4f52 008150 rtn 
+:      008152 dhkey_not_accept:
+0x4f53 008153 jam 0 ,mem_flag_mode_ssp_pin 
+0x4f54 008154 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+0x4f55 008155 branch ui_ipc_send_cmd 
+:      008158 module_hci_cmd_spp_number_comparison_result_is1:
+0x4f56 008159 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x4f57 008160 branch dhkey_not_accept 
+:      008164 module_hci_cmd_set_credit_given:
+0x4f58 008165 fetch 1 ,mem_ui_state_map 
+0x4f59 008166 rtnbit0 ui_state_bt_spp_conn 
+0x4f5a 008167 fetch 1 ,mem_credit_flag 
+0x4f5b 008168 rtneq credit_disable 
+0x4f5c 008169 ifetch 1 ,contru 
+0x4f5d 008170 fetcht 1 ,mem_credit_given 
+0x4f5e 008171 iadd temp ,temp 
+0x4f5f 008172 storet 1 ,mem_credit_given 
+0x4f60 008173 rtn 
+:      008177 module_hci_cmd_auto_adv:
+0x4f61 008178 arg 0x40 ,loopcnt 
+0x4f62 008179 arg mem_le_adv_data_len ,contw 
+0x4f63 008180 call clear_mem 
+0x4f64 008181 setarg 0 
+0x4f65 008182 store 1 ,mem_regb 
+0x4f66 008183 copy rega ,contru 
+:      008184 module_hci_cmd_auto_adv_loop:
+0x4f67 008185 copy contru ,pdata 
+0x4f68 008186 store 2 ,mem_regc 
+0x4f69 008187 call module_hci_cmd_auto_adv_adv_analys 
+0x4f6a 008189 fetch 1 ,mem_regb 
+0x4f6b 008190 fetcht 1 ,mem_temp 
+0x4f6c 008191 increase 1 ,temp 
+0x4f6d 008192 iadd temp ,pdata 
+0x4f6e 008193 store 1 ,mem_regb 
+0x4f6f 008195 sub pdata ,31 ,null 
+0x4f70 008196 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+:      008197 module_hci_cmd_auto_adv_store_adv:
+0x4f71 008198 fetcht 1 ,mem_le_adv_data_len 
+0x4f72 008199 setarg mem_le_adv_data 
+0x4f73 008200 iadd temp ,pdata 
+0x4f74 008201 store 2 ,mem_contw 
+0x4f75 008202 fetcht 1 ,mem_temp 
+0x4f76 008203 increase 1 ,temp 
+0x4f77 008204 fetch 1 ,mem_le_adv_data_len 
+0x4f78 008205 iadd temp ,pdata 
+0x4f79 008206 store 1 ,mem_le_adv_data_len 
+0x4f7a 008207 branch module_hci_cmd_auto_adv_store_common 
+:      008208 module_hci_cmd_auto_adv_store_scan:
+0x4f7b 008209 fetcht 1 ,mem_le_scan_data_len 
+0x4f7c 008210 setarg mem_le_scan_data 
+0x4f7d 008211 iadd temp ,pdata 
+0x4f7e 008212 store 2 ,mem_contw 
+0x4f7f 008213 fetcht 1 ,mem_temp 
+0x4f80 008214 increase 1 ,temp 
+0x4f81 008215 fetch 1 ,mem_le_scan_data_len 
+0x4f82 008216 iadd temp ,pdata 
+0x4f83 008217 store 1 ,mem_le_scan_data_len 
+:      008218 module_hci_cmd_auto_adv_store_common:
+0x4f84 008219 fetch 2 ,mem_contw 
+0x4f85 008220 copy pdata ,contw 
+0x4f86 008221 fetch 2 ,mem_regc 
+0x4f87 008222 copy pdata ,contru 
+0x4f88 008224 copy temp ,loopcnt 
+0x4f89 008225 call uart_copy_rx_bytes_fast 
+0x4f8a 008227 fetch 1 ,mem_module_uart_len 
+0x4f8b 008228 fetcht 1 ,mem_regb 
+0x4f8c 008229 isub temp ,null 
+0x4f8d 008230 nbranch module_hci_cmd_auto_adv_loop ,zero 
+0x4f8e 008231 branch module_hci_event_receive_valid_cmd 
+:      008234 module_hci_cmd_auto_adv_adv_analys:
+0x4f8f 008235 ifetch 1 ,contru 
+0x4f90 008236 store 1 ,mem_temp 
+0x4f91 008237 ifetch 1 ,contru 
+0x4f92 008238 store 1 ,mem_rega 
+0x4f93 008239 rtn 
+:      008244 module_hci_cmd_passkey_entry:
+0x4f94 008245 ifetch 4 ,contru 
+0x4f95 008246 store 4 ,mem_pin 
+0x4f96 008247 jam 4 ,mem_pin_length 
+0x4f97 008248 jam 0 ,mem_authentication_passkey_times 
+0x4f98 008249 call module_hci_event_receive_valid_cmd 
+0x4f99 008250 branch authentication_passkey 
+:      008255 module_hci_cmd_le_set_pairing_mode:
+0x4f9a 008256 copy rega ,contru 
+0x4f9b 008257 ifetch 1 ,contru 
+0x4f9c 008258 copy pdata ,temp 
+0x4f9d 008259 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+0x4f9e 008260 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+0x4f9f 008261 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+0x4fa0 008262 store 1 ,mem_le_pairing_mode 
+0x4fa1 008263 beq le_pairing_mode_none ,module_le_set_no_pairing 
+0x4fa2 008264 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+0x4fa3 008265 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+0x4fa4 008266 branch module_hci_event_receive_invalid_cmd 
+:      008268 module_le_set_pairing_mode_secure_justwork:
+0x4fa5 008269 fetch 1 ,mem_le_secure_connect_enable 
+0x4fa6 008270 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fa7 008271 storet 1 ,mem_le_pairing_mode 
+0x4fa8 008272 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x4fa9 008273 branch module_le_set_noinputnooutput 
+:      008274 module_le_set_pairing_mode_secure_numeric:
+0x4faa 008275 fetch 1 ,mem_le_secure_connect_enable 
+0x4fab 008276 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fac 008277 storet 1 ,mem_le_pairing_mode 
+0x4fad 008278 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x4fae 008279 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x4faf 008280 branch module_hci_event_receive_valid_cmd 
+:      008281 module_le_set_pairing_mode_secure_passkey:
+0x4fb0 008282 fetch 1 ,mem_le_secure_connect_enable 
+0x4fb1 008283 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fb2 008284 storet 1 ,mem_le_pairing_mode 
+0x4fb3 008285 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x4fb4 008286 branch module_le_set_displayonly 
+:      008287 module_le_set_no_pairing:
+0x4fb5 008288 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      008289 module_le_set_noinputnooutput:
+0x4fb6 008290 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x4fb7 008291 branch module_hci_event_receive_valid_cmd 
+:      008292 module_le_set_pairing_mode_lagacy_just_work:
+0x4fb8 008293 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x4fb9 008294 branch module_le_set_noinputnooutput 
+:      008295 module_le_set_pairing_mode_lagacy_passkey:
+0x4fba 008296 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      008297 module_le_set_displayonly:
+0x4fbb 008298 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x4fbc 008299 branch module_hci_event_receive_valid_cmd 
+:      008303 module_hci_cmd_le_set_adv_data:
+0x4fbd 008304 fetch 1 ,mem_module_uart_len 
+0x4fbe 008305 sub pdata ,31 ,null 
+0x4fbf 008306 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4fc0 008307 store 1 ,mem_le_adv_data_len 
+0x4fc1 008308 copy pdata ,loopcnt 
+0x4fc2 008309 copy rega ,contru 
+0x4fc3 008310 arg mem_le_adv_data ,contw 
+0x4fc4 008311 call uart_copy_rx_bytes_fast 
+0x4fc5 008312 branch module_hci_event_receive_valid_cmd 
+:      008316 module_hci_cmd_le_set_scan_data:
+0x4fc6 008317 fetch 1 ,mem_module_uart_len 
+0x4fc7 008318 sub pdata ,31 ,null 
+0x4fc8 008319 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x4fc9 008320 store 1 ,mem_le_scan_data_len 
+0x4fca 008321 copy pdata ,loopcnt 
+0x4fcb 008322 copy rega ,contru 
+0x4fcc 008323 arg mem_le_scan_data ,contw 
+0x4fcd 008324 call uart_copy_rx_bytes_fast 
+0x4fce 008325 branch module_hci_event_receive_valid_cmd 
+:      008329 module_hci_cmd_le_send_conn_update_req:
+0x4fcf 008330 fetch 2 ,mem_ui_state_map 
+0x4fd0 008331 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x4fd1 008332 fetch 1 ,mem_module_uart_len 
+0x4fd2 008333 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+0x4fd3 008334 copy rega ,contru 
+0x4fd4 008335 ifetch 8 ,contru 
+0x4fd5 008336 store 8 ,mem_le_interval_min 
+0x4fd6 008337 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x4fd7 008338 call ui_ipc_send_cmd 
+0x4fd8 008339 branch module_hci_event_receive_valid_cmd 
+:      008343 module_hci_cmd_set_le_adv_parameter:
+0x4fd9 008344 ifetch 2 ,contru 
+0x4fda 008345 store 2 ,mem_le_adv_interval 
+0x4fdb 008346 branch module_hci_event_receive_valid_cmd 
+:      008350 module_hci_cmd_le_start_pairing:
+0x4fdc 008351 fetch 1 ,mem_le_pairing_mode 
+0x4fdd 008352 branch module_hci_event_receive_invalid_cmd ,blank 
+0x4fde 008353 fetch 1 ,mem_le_pairing_state 
+0x4fdf 008354 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+0x4fe0 008355 fetch 1 ,mem_le_enc_state 
+0x4fe1 008356 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+0x4fe2 008357 call check_51cmd_le_smp_sec_req 
+0x4fe3 008358 branch module_hci_event_receive_valid_cmd 
+:      008363 module_hci_cmd_set_tx_power:
+0x4fe4 008364 fetch 1 ,mem_module_uart_len 
+0x4fe5 008365 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x4fe6 008366 ifetch 1 ,contru 
+0x4fe7 008367 store 1 ,mem_tx_power 
+0x4fe8 008368 branch module_hci_event_receive_valid_cmd 
+:      008372 module_hci_cmd_le_confirm_gkey:
+0x4fe9 008373 ifetch 1 ,contru 
+0x4fea 008374 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+0x4feb 008375 fetch 1 ,mem_le_secure_connect_state 
+0x4fec 008376 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+0x4fed 008377 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x4fee 008378 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x4fef 008379 branch module_hci_event_receive_invalid_cmd 
+:      008380 module_hci_cmd_le_confirm_gkey_ok:
+0x4ff0 008381 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+0x4ff1 008382 branch module_hci_event_receive_valid_cmd 
+:      008384 module_hci_cmd_le_confirm_gkey_fail:
+0x4ff2 008385 call le_send_pairing_confirm_value_failed 
+0x4ff3 008386 branch module_hci_event_receive_valid_cmd 
+:      008390 module_hci_cmd_set_reject_justwork_flag:
+0x4ff4 008391 fetch 1 ,mem_module_uart_len 
+0x4ff5 008392 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x4ff6 008393 call module_hci_event_receive_valid_cmd 
+0x4ff7 008394 ifetch 1 ,contru 
+0x4ff8 008395 branch classic_bt_clr_reject_justwork_flag ,blank 
+0x4ff9 008396 branch classic_bt_set_reject_justwork_flag 
+:      008400 module_hci_cmd_reset_chip:
+0x4ffa 008401 call module_hci_event_receive_valid_cmd 
+0x4ffb 008403 hjam 0x01 ,core_reset 
+0x4ffc 008404 branch loop 
+:      008408 module_hci_cmd_le_set_fixed_passkey:
+0x4ffd 008409 fetch 1 ,mem_module_uart_len 
+0x4ffe 008410 beq 0 ,module_hci_event_receive_invalid_cmd 
+0x4fff 008411 ifetch 1 ,contru 
+0x5000 008412 branch module_hci_cmd_le_set_random_passkey ,blank 
+0x5001 008413 fetch 1 ,mem_module_uart_len 
+0x5002 008414 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x5003 008415 ifetch 4 ,contru 
+0x5004 008416 arg 1000000 ,temp 
+0x5005 008417 isub temp ,null 
+0x5006 008418 branch module_hci_event_receive_invalid_cmd ,positive 
+0x5007 008419 store 4 ,mem_le_tk 
+0x5008 008420 call le_set_config_fixed_tk 
+0x5009 008421 branch module_hci_event_receive_valid_cmd 
+:      008423 module_hci_cmd_le_set_random_passkey:
+0x500a 008424 call le_clr_config_fixed_tk 
+0x500b 008425 branch module_hci_event_receive_valid_cmd 
+:      008429 module_hci_test_cmde_close_lpm:
+0x500c 008430 ifetch 1 ,contru 
+0x500d 008431 store 1 ,mem_lpm_mode 
+0x500e 008432 branch module_hci_event_receive_valid_cmd 
+:      008435 module_hci_test_cmd_reback:
+0x500f 008436 fetch 1 ,mem_module_uart_len 
+0x5010 008437 call module_hci_prepare_tx 
+0x5011 008438 fetch 1 ,mem_module_uart_len 
+0x5012 008439 copy pdata ,loopcnt 
+0x5013 008440 copy rega ,contru 
+0x5014 008441 call copy_tx_bytes 
+0x5015 008442 branch uartd_send 
+:      008444 copy_tx_bytes:
+0x5016 008445 deposit loopcnt 
+0x5017 008446 rtn blank 
+:      008447 copy_tx_bytes_loop:
+0x5018 008448 ifetch 1 ,contru 
+0x5019 008449 istore 1 ,contwu 
+0x501a 008450 loop copy_tx_bytes_loop 
+0x501b 008451 rtn 
+:      008455 module_hci_event_receive_invalid_cmd:
+0x501c 008456 arg 1 ,temp 
+0x501d 008457 arg 0 ,rega 
+0x501e 008458 branch module_hci_event_set_cmd 
+:      008461 module_hci_event_receive_valid_cmd:
+0x501f 008462 arg 0 ,temp 
+0x5020 008463 arg 0 ,rega 
+0x5021 008464 branch module_hci_event_set_cmd 
+:      008468 module_hci_event_spp_connect:
+0x5022 008469 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+0x5023 008470 branch module_hci_event_enter_standby_mode_len0 
+:      008474 module_hci_event_le_connect:
+0x5024 008475 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+0x5025 008476 branch module_hci_event_enter_standby_mode_len0 
+:      008480 module_hci_event_spp_disconnect:
+0x5026 008481 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+0x5027 008482 branch module_hci_event_enter_standby_mode_len0 
+:      008486 module_hci_event_le_disconnect:
+0x5028 008487 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+0x5029 008488 branch module_hci_event_enter_standby_mode_len0 
+:      008496 module_hci_event_set_cmd:
+0x502a 008497 fetch 1 ,mem_module_uart_opcode 
+0x502b 008498 copy pdata ,regc 
+0x502c 008499 jam hci_event_cmd_res ,mem_module_uart_opcode 
+0x502d 008500 setarg 2 
+0x502e 008501 iadd rega ,pdata 
+0x502f 008502 call module_hci_prepare_tx 
+0x5030 008503 copy regc ,pdata 
+0x5031 008504 istore 1 ,contwu 
+0x5032 008505 istoret 1 ,contwu 
+0x5033 008506 copy rega ,loopcnt 
+0x5034 008507 copy regb ,contr 
+0x5035 008508 call uart_copy_tx_bytes 
+0x5036 008509 branch uartd_send 
+:      008513 module_hci_event_receive_spp_data:
+0x5037 008515 call module_spp_clear_last_transmite_clock 
+0x5038 008516 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+0x5039 008517 fetch 1 ,mem_current_length 
+0x503a 008518 rtn blank 
+0x503b 008519 call module_hci_prepare_tx 
+0x503c 008520 fetch 1 ,mem_current_length 
+0x503d 008521 copy pdata ,loopcnt 
+0x503e 008522 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x503f 008523 copy pdata ,contr 
+0x5040 008524 call uart_copy_tx_bytes_fast 
+0x5041 008525 branch uartd_send 
+:      008529 module_hci_event_receive_le_data:
+0x5042 008530 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+0x5043 008531 fetch 1 ,mem_module_le_rx_data_len 
+0x5044 008532 icopy loopcnt 
+0x5045 008533 increase 2 ,pdata 
+0x5046 008534 call module_hci_prepare_tx 
+0x5047 008535 fetch 2 ,mem_module_le_rx_data_handle 
+0x5048 008536 istore 2 ,contwu 
+0x5049 008537 fetch 2 ,mem_module_le_rx_data_address 
+0x504a 008538 icopy contr 
+0x504b 008539 call uart_copy_tx_bytes_fast 
+0x504c 008540 branch uartd_send 
+:      008544 module_hci_event_enter_standby_mode:
+0x504d 008545 jam hci_event_standby_rep ,mem_module_uart_opcode 
+:      008546 module_hci_event_enter_standby_mode_len0:
+0x504e 008547 setarg 0 
+0x504f 008548 call module_hci_prepare_tx 
+0x5050 008549 branch uartd_send 
+:      008553 module_hci_event_status_res:
+0x5051 008554 jam hci_event_status_res ,mem_module_uart_opcode 
+0x5052 008555 setarg 1 
+0x5053 008556 call module_hci_prepare_tx 
+0x5054 008558 call module_hci_read_bt_status 
+0x5055 008560 fetch 2 ,mem_ui_state_map 
+0x5056 008561 arg ui_state_bt_hid_conn ,queue 
+0x5057 008562 qisolate1 pdata 
+0x5058 008563 setflag true ,3 ,temp 
+0x5059 008565 arg ui_state_ble_connected ,queue 
+0x505a 008566 qisolate1 pdata 
+0x505b 008567 setflag true ,5 ,temp 
+0x505c 008569 fetch 1 ,mem_ui_state_map 
+0x505d 008570 arg ui_state_bt_spp_conn ,queue 
+0x505e 008571 qisolate1 pdata 
+0x505f 008572 setflag true ,4 ,temp 
+0x5060 008574 istoret 1 ,contwu 
+0x5061 008575 branch uartd_send 
+:      008579 module_hci_read_bt_status:
+0x5062 008580 arg 0 ,temp 
+0x5063 008581 fetch 1 ,mem_scan_mode 
+0x5064 008582 arg inq_scan_mode ,queue 
+0x5065 008583 qisolate1 pdata 
+0x5066 008584 setflag true ,0 ,temp 
+0x5067 008585 arg page_scan_mode ,queue 
+0x5068 008586 qisolate1 pdata 
+0x5069 008587 setflag true ,1 ,temp 
+0x506a 008589 fetch 1 ,mem_le_adv_enable 
+0x506b 008590 arg 0 ,queue 
+0x506c 008591 qisolate1 pdata 
+0x506d 008592 setflag true ,2 ,temp 
+0x506e 008593 rtn 
+:      008597 module_hci_event_store_device:
+0x506f 008598 jam hci_event_nvram_rep ,mem_module_uart_opcode 
+0x5070 008599 fetch 1 ,mem_nv_data_number 
+0x5071 008600 mul32 pdata ,34 ,pdata 
+0x5072 008601 icopy loopcnt 
+0x5073 008602 call module_hci_prepare_tx 
+0x5074 008603 fetch 2 ,mem_nv_data_ptr 
+0x5075 008604 icopy contr 
+0x5076 008605 call uart_copy_tx_bytes_fast 
+0x5077 008606 branch uartd_send 
+:      008610 module_hci_event_gkey_generate:
+0x5078 008611 jam hci_event_gkey ,mem_module_uart_opcode 
+0x5079 008612 setarg 4 
+0x507a 008613 call module_hci_prepare_tx 
+0x507b 008614 fetch 4 ,mem_gkey 
+0x507c 008615 istore 4 ,contwu 
+0x507d 008616 branch uartd_send 
+:      008620 module_hci_event_invalid_packet:
+0x507e 008621 jam hci_event_invalid_packet ,mem_module_uart_opcode 
+0x507f 008622 branch module_hci_event_enter_standby_mode_len0 
+:      008626 module_hci_event_passkey_entry_mode:
+0x5080 008627 jam hci_event_get_passkey ,mem_module_uart_opcode 
+0x5081 008628 branch module_hci_event_enter_standby_mode_len0 
+:      008632 module_hci_event_le_tk:
+0x5082 008633 jam hci_event_le_tk ,mem_module_uart_opcode 
+0x5083 008634 setarg 4 
+0x5084 008635 call module_hci_prepare_tx 
+0x5085 008636 fetch 4 ,mem_le_tk 
+0x5086 008637 istore 4 ,contwu 
+0x5087 008638 branch uartd_send 
+:      008642 module_hci_event_le_pairing_fail:
+0x5088 008643 arg flag_ble_pairing_fail ,rega 
+0x5089 008644 branch module_hci_event_pairing_completed 
+:      008646 module_hci_event_le_pairing_success:
+0x508a 008647 arg flag_ble_pairing_success ,rega 
+0x508b 008648 branch module_hci_event_pairing_completed 
+:      008650 module_hci_event_bt_pairing_fail:
+0x508c 008651 arg flag_bt_pairing_fail ,rega 
+0x508d 008652 branch module_hci_event_pairing_completed 
+:      008654 module_hci_event_bt_pairing_success:
+0x508e 008655 arg flag_bt_pairing_success ,rega 
+:      008657 module_hci_event_pairing_completed:
+0x508f 008658 jam 0 ,mem_flag_mode_ssp_pin 
+0x5090 008659 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+0x5091 008660 setarg 2 
+0x5092 008661 call module_hci_prepare_tx 
+0x5093 008662 copy rega ,pdata 
+0x5094 008663 istore 2 ,contwu 
+0x5095 008664 branch uartd_send 
+:      008668 module_hci_event_pause_enc:
+0x5096 008669 arg flag_event_pause_enc ,regc 
+0x5097 008670 branch module_hci_event_enc 
+:      008672 module_hci_event_start_enc:
+0x5098 008673 arg flag_event_start_enc ,regc 
+:      008675 module_hci_event_enc:
+0x5099 008676 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+0x509a 008677 setarg 1 
+0x509b 008678 call module_hci_prepare_tx 
+0x509c 008679 copy regc ,pdata 
+0x509d 008680 istore 1 ,contwu 
+0x509e 008681 branch uartd_send 
+:      008685 module_hci_event_le_gkey:
+0x509f 008686 jam hci_event_le_gkey ,mem_module_uart_opcode 
+0x50a0 008687 setarg 4 
+0x50a1 008688 call module_hci_prepare_tx 
+0x50a2 008689 fetch 4 ,mem_gkey 
+0x50a3 008690 istore 4 ,contwu 
+0x50a4 008691 branch uartd_send 
+:      008702 module_hci_prepare_tx:
+0x50a5 008703 jam 0x02 ,mem_module_uart_cmd 
+0x50a6 008704 store 1 ,mem_module_uart_len 
+0x50a7 008705 storet 8 ,mem_temp 
+0x50a8 008706 bpatch patch17_5 ,mem_patch17 
+0x50a9 008707 fetcht 8 ,mem_temp 
+0x50aa 008708 call uartd_prepare_tx 
+0x50ab 008709 fetch 3 ,mem_module_uart_cmd 
+0x50ac 008710 istore 3 ,contwu 
+0x50ad 008711 rtn 
+:      008723 module_le_receive_data:
+0x50ae 008724 call module_check_ble_encrypt_state 
+0x50af 008725 rtn user 
+0x50b0 008726 copy rega ,pdata 
+0x50b1 008727 store 2 ,mem_module_le_rx_data_address 
+0x50b2 008728 copy regb ,pdata 
+0x50b3 008729 store 1 ,mem_module_le_rx_data_len 
+0x50b4 008730 fetch 2 ,mem_le_att_handle 
+0x50b5 008731 fetcht 2 ,mem_module_data_write_handle 
+0x50b6 008732 isub temp ,null 
+0x50b7 008733 branch module_le_receive_data_ok ,zero 
+0x50b8 008734 fetcht 2 ,mem_module_data_write_handle2 
+0x50b9 008735 isub temp ,null 
+0x50ba 008736 nrtn zero 
+:      008737 module_le_receive_data_ok:
+0x50bb 008738 store 2 ,mem_module_le_rx_data_handle 
+0x50bc 008739 branch module_hci_event_receive_le_data 
+:      008744 module_exit_sniff:
+0x50bd 008745 fetch 1 ,mem_module_flag 
+0x50be 008746 rtnbit1 moudle_task_unsniff 
+0x50bf 008747 call module_set_unsniff_task_flag 
+0x50c0 008748 branch app_bt_sniff_exit 
+:      008751 module_set_lpm_mult_2:
+0x50c1 008752 jam 2 ,mem_lpm_mult 
+0x50c2 008753 rtn 
+:      008757 module_bb_event_timer:
+0x50c3 008758 rtn 
+:      008761 check_ipc_tx_buff:
+0x50c4 008762 call get_ipc_tx_buff 
+0x50c5 008763 arg uart_air_control_threshold ,temp 
+:      008764 pdata_sub_temp:
+0x50c6 008765 isub temp ,null 
+0x50c7 008766 rtn 
+:      008768 calc_ipc_tx_buff_pos:
+0x50c8 008769 isub rega ,pdata 
+0x50c9 008770 sub pdata ,0 ,pdata 
+0x50ca 008771 rtn 
+:      008773 get_ipc_tx_buff:
+0x50cb 008774 fetcht 2 ,ipc_bt2m0_start_addr 
+0x50cc 008775 fetch 2 ,ipc_bt2m0_end_addr 
+0x50cd 008776 isub temp ,rega 
+0x50ce 008777 fetcht 2 ,ipc_bt2m0_read_ptr 
+0x50cf 008778 fetch 2 ,ipc_bt2m0_write_ptr 
+0x50d0 008779 isub temp ,pdata 
+0x50d1 008780 ncall calc_ipc_tx_buff_pos ,positive 
+0x50d2 008781 rtn 
+:      008783 module_control_air_flow:
+0x50d3 008784 call check_ipc_tx_buff 
+0x50d4 008785 branch app_l2cap_flow_control_enable ,positive 
+0x50d5 008786 branch app_l2cap_flow_control_disable 
+:      008790 module_set_sniff_task_flag:
+0x50d6 008791 arg moudle_task_sniff ,queue 
+0x50d7 008792 branch module_set_state 
+:      008794 module_clear_sniff_task_flag:
+0x50d8 008795 arg moudle_task_sniff ,queue 
+0x50d9 008796 branch module_clr_state 
+:      008798 module_set_unsniff_task_flag:
+0x50da 008799 arg moudle_task_unsniff ,queue 
+0x50db 008800 branch module_set_state 
+:      008802 module_clear_unsniff_task_flag:
+0x50dc 008803 arg moudle_task_unsniff ,queue 
+0x50dd 008804 branch module_clr_state 
+:      008806 module_set_le_tx_data_flag:
+0x50de 008807 arg module_flag_ble_data_finish ,queue 
+0x50df 008808 branch module_set_state 
+:      008810 module_clear_le_tx_data_flag:
+0x50e0 008811 arg module_flag_ble_data_finish ,queue 
+0x50e1 008812 branch module_clr_state 
+:      008814 module_clr_state:
+0x50e2 008815 fetch 1 ,mem_module_flag 
+0x50e3 008816 qset0 pdata 
+0x50e4 008817 store 1 ,mem_module_flag 
+0x50e5 008818 rtn 
+:      008820 module_set_state:
+0x50e6 008821 fetch 1 ,mem_module_flag 
+0x50e7 008822 qset1 pdata 
+0x50e8 008823 store 1 ,mem_module_flag 
+0x50e9 008824 rtn 
+:      008837 cmd_exit:
+0x50ea 008838 jam 0 ,mem_hci_cmd 
+0x50eb 008839 rtn 
+:      008840 cmd_check_plap:
+0x50ec 008841 fetch 6 ,mem_hci_plap 
+0x50ed 008842 fetcht 6 ,mem_plap 
+0x50ee 008843 isub temp ,null 
+0x50ef 008844 rtn 
+:      008849 cmd_pair:
+0x50f0 008850 fetch 1 ,mem_op 
+0x50f1 008851 bbit1 op_inrand_req ,cmd_pair_passive 
+0x50f2 008852 call tid_initiate 
+0x50f3 008853 jam lmp_in_rand ,mem_lmo_opcode2 
+0x50f4 008854 branch cmd_exit 
+:      008855 cmd_pair_passive:
+0x50f5 008856 set0 op_inrand_req ,pdata 
+0x50f6 008857 store 1 ,mem_op 
+0x50f7 008858 call lmp_accept_inrand 
+0x50f8 008859 setarg 0 
+0x50f9 008860 setflag master ,smap_lmptid ,pdata 
+0x50fa 008861 store 1 ,mem_lmo_tid2 
+0x50fb 008862 branch cmd_exit 
+0x50fc 008863 rtn 
+:      008864 cmd_in_sniff:
+0x50fd 008865 jam lmp_sniff_req ,mem_lmo_opcode2 
+0x50fe 008866 arg mem_sniff_payload ,contw 
+0x50ff 008867 setarg 0 
+0x5100 008868 isolate1 27 ,clke_bt 
+0x5101 008869 setflag true ,1 ,pdata 
+0x5102 008870 istore 1 ,contw 
+0x5103 008871 setarg 0 
+0x5104 008872 istore 2 ,contw 
+0x5105 008873 fetch 2 ,mem_sniff_param_interval 
+0x5106 008874 istore 2 ,contw 
+0x5107 008875 fetch 1 ,mem_sniff_param_attempt 
+0x5108 008876 istore 2 ,contw 
+0x5109 008877 fetch 1 ,mem_sniff_param_timeout 
+0x510a 008878 istore 2 ,contw 
+0x510b 008879 branch cmd_exit 
+:      008881 cmd_exit_sniff:
+0x510c 008882 jam lmp_unsniff_req ,mem_lmo_opcode2 
+0x510d 008883 branch cmd_exit 
+:      008897 hid_rx_process:
+0x510e 008898 bpatch patch17_6 ,mem_patch17 
+0x510f 008899 fetch 2 ,mem_l2cap_payload_ptr 
+0x5110 008900 copy pdata ,contr 
+0x5111 008901 ifetch 1 ,contr 
+0x5112 008902 and pdata ,0x0f ,temp 
+0x5113 008903 rshift4 pdata ,pdata 
+0x5114 008904 beq hid_type_set_idle ,hid_rx_process_handshake 
+0x5115 008905 beq hid_type_set_protocol ,hid_rx_process_handshake 
+0x5116 008906 beq hid_type_data ,hid_rx_process_data 
+0x5117 008907 beq hid_type_set_report ,hid_rx_process_set_report 
+0x5118 008908 beq hid_type_control ,hid_rx_process_hid_control 
+0x5119 008909 rtn 
+:      008911 hid_rx_process_hid_control:
+0x511a 008912 copy temp ,pdata 
+0x511b 008913 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+0x511c 008914 beq hid_control_p_suspend ,hid_rx_process_suspend 
+0x511d 008915 rtn 
+:      008917 hid_rx_process_virtual_cable_unplug:
+0x511e 008918 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+0x511f 008919 call ui_ipc_send_event 
+0x5120 008920 fetch 1 ,mem_device_option 
+0x5121 008921 rtnbit0 dvc_op_mouse 
+0x5122 008922 copy temp ,pdata 
+0x5123 008924 rtn 
+:      008925 hid_rx_process_suspend:
+0x5124 008926 rtn 
+:      008928 hid_rx_process_set_report:
+0x5125 008929 call hid_rx_process_data 
+0x5126 008930 arg 0x01 ,rega 
+0x5127 008931 call hid_malloc_tx_buff 
+0x5128 008932 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5129 008933 istore 2 ,contw 
+0x512a 008934 setarg 0x00 
+0x512b 008935 istore 1 ,contw 
+0x512c 008936 rtn 
+:      008938 hid_rx_process_handshake:
+0x512d 008939 arg 1 ,rega 
+0x512e 008940 call hid_malloc_tx_buff 
+0x512f 008941 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5130 008942 istore 2 ,contw 
+0x5131 008943 setarg 0 
+0x5132 008944 istore 1 ,contw 
+0x5133 008945 jam 1 ,mem_ui_data_txbuff_length 
+0x5134 008946 fetch 1 ,mem_hid_control_state 
+0x5135 008947 set1 l2cap_channel_hid_handshake_done 
+0x5136 008948 store 1 ,mem_hid_control_state 
+0x5137 008949 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0x5138 008950 branch ui_ipc_send_event 
+:      008952 hid_rx_process_data:
+0x5139 008953 ifetch 1 ,contr 
+0x513a 008954 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+0x513b 008955 rtn 
+:      008957 hid_rx_process_data_hid_kb:
+0x513c 008958 rtn 
+:      008961 hid_malloc_tx_buff:
+0x513d 008962 call l2cap_malloc 
+0x513e 008963 copy rega ,temp 
+0x513f 008964 storet 1 ,mem_ui_data_txbuff_length 
+0x5140 008965 copy pdata ,contw 
+0x5141 008966 copy rega ,pdata 
+0x5142 008967 istore 2 ,contw 
+0x5143 008968 rtn 
+:      008973 l2cap_init:
+0x5144 008974 branch l2cap_init_wake ,wake 
+:      008975 l2cap_init_work:
+0x5145 008976 setarg mem_l2cap_xmem_end 
+0x5146 008977 arg mem_l2cap_xmem_start ,contw 
+0x5147 008978 isub contw ,loopcnt 
+0x5148 008979 call clear_mem 
+:      008980 l2cap_init_wake:
+0x5149 008981 bpatch patch17_7 ,mem_patch17 
+0x514a 008982 setarg mem_sdp_mem_end 
+0x514b 008983 arg mem_sdp_mem_start ,contw 
+0x514c 008984 isub contw ,loopcnt 
+0x514d 008985 call clear_mem 
+0x514e 008986 setarg mem_l2cap_mem_end 
+0x514f 008987 arg mem_l2cap_mem_start ,contw 
+0x5150 008988 isub contw ,loopcnt 
+0x5151 008989 call clear_mem 
+0x5152 008990 branch l2cap_lpm_load_txbuf 
+:      008992 process_rx_l2cap_pkt:
+0x5153 008993 bpatch patch18_0 ,mem_patch18 
+0x5154 008994 copy contr ,temp 
+0x5155 008997 copy temp ,contr 
+0x5156 008998 ifetch 2 ,contr 
+0x5157 008999 store 2 ,mem_l2cap_rx_pkt_length 
+0x5158 009000 ifetch 2 ,contr 
+0x5159 009001 store 2 ,mem_l2cap_rx_cid 
+0x515a 009002 deposit contr 
+0x515b 009003 store 2 ,mem_l2cap_payload_ptr 
+0x515c 009004 fetch 1 ,memui_reconnect_mode 
+0x515d 009005 beq no_reconnection ,l2cap_rx_multiplexing 
+0x515e 009006 branch ml2cap_rx_multiplexing 
+:      009008 l2cap_rx_multiplexing:
+0x515f 009009 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x5160 009010 branch l2cap_rx_reset_state ,blank 
+0x5161 009011 bpatch patch18_1 ,mem_patch18 
+0x5162 009012 fetch 1 ,mem_l2cap_rx_cid 
+0x5163 009013 beq l2cap_signal_channel ,l2cap_call_proc_signal 
+:      009014 l2cap_rx_multiplexing0:
+0x5164 009015 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+0x5165 009016 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x5166 009017 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x5167 009018 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x5168 009019 branch l2cap_rx_reset_state 
+:      009021 l2cap_check_map:
+0x5169 009024 bpatch patch18_2 ,mem_patch18 
+0x516a 009025 call l2cap_malloc_get_full_map 
+0x516b 009026 fetch 1 ,mem_used_map 
+0x516c 009027 beq 0 ,set_pdata_0 
+0x516d 009028 beq 1 ,set_pdata_0 
+0x516e 009029 beq 2 ,set_pdata_0 
+0x516f 009030 beq 3 ,set_pdata_0 
+0x5170 009031 beq 0x81 ,set_pdata_0 
+0x5171 009032 beq 0xc0 ,set_pdata_0 
+0x5172 009033 beq 0x80 ,set_pdata_0 
+0x5173 009034 beq 0x40 ,set_pdata_0 
+0x5174 009035 rtn 
+:      009037 set_pdata_0:
+0x5175 009038 setarg 0 
+0x5176 009039 rtn 
+:      009042 l2cap_call_proc_signal:
+0x5177 009043 call l2cap_check_map 
+0x5178 009044 nrtn blank 
+:      009045 l2cap_call_proc_signal0:
+0x5179 009046 call l2cap_malloc_signal_channel 
+0x517a 009047 call l2cap_process_signal_pkt 
+0x517b 009048 fetcht 2 ,mem_l2cap_signal_tx_length 
+0x517c 009049 branch l2cap_call_proc_no_reply ,blank 
+0x517d 009050 call l2cap_get_signal_tx_buff 
+0x517e 009051 fetch 2 ,mem_l2cap_signal_tx_length 
+0x517f 009052 istore 2 ,contw 
+0x5180 009053 force l2cap_signal_channel ,pdata 
+0x5181 009054 istore 2 ,contw 
+0x5182 009055 branch l2cap_rx_reset_state 
+:      009057 l2cap_call_proc_sigal_pending:
+0x5183 009058 fetch 1 ,mem_l2cap_pending_item 
+0x5184 009059 rtn blank 
+0x5185 009060 copy pdata ,rega 
+0x5186 009061 bpatch patch18_3 ,mem_patch18 
+0x5187 009062 fetch 4 ,mem_l2cap_sdpres_delay_time 
+0x5188 009063 arg 0x100 ,temp 
+0x5189 009064 iadd temp ,temp 
+0x518a 009065 copy clkn_bt ,pdata 
+0x518b 009066 isub temp ,null 
+0x518c 009067 nrtn positive 
+0x518d 009068 jam 0 ,mem_l2cap_pending_item 
+0x518e 009069 copy rega ,pdata 
+0x518f 009070 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+0x5190 009071 branch assert 
+:      009072 l2cap_sdp_conn_succ:
+0x5191 009073 arg 0 ,debug 
+0x5192 009074 call l2cap_malloc_signal_channel 
+0x5193 009075 call restore_l2cap_req_param 
+0x5194 009076 call l2cap_get_signal_tx_payload 
+0x5195 009077 call save_cont_pointers 
+0x5196 009078 call send_connection_sdp_res 
+0x5197 009079 call l2cap_get_signal_tx_buff 
+0x5198 009081 setarg 0x000c 
+0x5199 009082 istore 2 ,contw 
+0x519a 009083 force l2cap_signal_channel ,pdata 
+0x519b 009084 istore 2 ,contw 
+0x519c 009085 branch l2cap_rx_reset_state 
+:      009089 l2cap_reset_sdp_map:
+0x519d 009090 bpatch patch18_4 ,mem_patch18 
+0x519e 009091 fetch 2 ,mem_sdp_tx_pkt_length 
+0x519f 009092 increase 4 ,pdata 
+0x51a0 009093 rshift4 pdata ,pdata 
+0x51a1 009094 rshift3 pdata ,pdata 
+0x51a2 009095 add pdata ,1 ,temp 
+0x51a3 009096 arg mem_tx_fifo3 ,contr 
+0x51a4 009097 ifetch 3 ,contr 
+0x51a5 009098 rtn blank 
+0x51a6 009099 store 3 ,mem_tx_fifo_map_temp 
+0x51a7 009100 fetch 1 ,mem_tx_fifo_map_temp 
+0x51a8 009101 copy pdata ,rega 
+0x51a9 009102 call check_l2cap_map 
+0x51aa 009103 copy regb ,pdata 
+0x51ab 009104 store 1 ,mem_tx_fifo3 
+0x51ac 009105 rtn 
+:      009107 check_l2cap_map:
+0x51ad 009108 arg 0 ,queue 
+0x51ae 009109 arg 0 ,regb 
+:      009111 check_l2cap_map_loop:
+0x51af 009112 sub queue ,7 ,null 
+0x51b0 009113 nrtn positive 
+0x51b1 009114 qisolate1 rega 
+0x51b2 009115 branch check_l2cap_map_used ,true 
+0x51b3 009116 branch check_l2cap_map_used2 
+:      009118 check_l2cap_map_used:
+0x51b4 009119 copy temp ,pdata 
+0x51b5 009120 branch check_l2cap_map_used2 ,blank 
+0x51b6 009121 qset1 regb 
+0x51b7 009122 increase -1 ,temp 
+:      009124 check_l2cap_map_used2:
+0x51b8 009125 increase 1 ,queue 
+0x51b9 009126 branch check_l2cap_map_loop 
+:      009128 l2cap_call_proc_sdp:
+0x51ba 009129 call l2cap_malloc_is_fifo_empty 
+0x51bb 009130 nrtn blank 
+0x51bc 009131 call l2cap_check_map 
+0x51bd 009132 nrtn blank 
+0x51be 009133 call l2cap_malloc_sdp_channel 
+0x51bf 009134 call sdp_process 
+0x51c0 009135 call l2cap_reset_sdp_map 
+0x51c1 009136 branch l2cap_call_proc_sdp_common 
+:      009139 ml2cap_call_proc_sdp:
+0x51c2 009140 call l2cap_malloc_is_fifo_empty 
+0x51c3 009141 nrtn blank 
+0x51c4 009142 call l2cap_malloc_sdp_channel 
+0x51c5 009143 call sdp_process 
+:      009144 l2cap_call_proc_sdp_common:
+0x51c6 009145 call l2cap_get_sdp_tx_buff 
+0x51c7 009146 fetch 2 ,mem_sdp_tx_pkt_length 
+0x51c8 009147 branch l2cap_call_proc_no_reply ,blank 
+0x51c9 009148 istore 2 ,contw 
+0x51ca 009149 fetch 2 ,mem_sdp_remote_cid 
+0x51cb 009150 istore 2 ,contw 
+0x51cc 009151 branch l2cap_rx_reset_state 
+:      009153 l2cap_call_proc_hid:
+0x51cd 009154 call hid_rx_process 
+0x51ce 009155 branch l2cap_rx_reset_state 
+:      009157 l2cap_call_proc_rfcomm:
+0x51cf 009158 bpatch patch18_5 ,mem_patch18 
+0x51d0 009159 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x51d1 009160 call rfcomm_rx_process 
+0x51d2 009161 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+0x51d3 009162 rtneq rfcomm_malloc_fail 
+0x51d4 009163 branch l2cap_rx_reset_state 
+:      009164 l2cap_call_proc_no_reply:
+0x51d5 009165 call l2cap_malloc_discard 
+:      009167 l2cap_rx_reset_state:
+0x51d6 009168 setarg 0 
+0x51d7 009169 store 2 ,mem_l2cap_rx_pkt_length 
+0x51d8 009170 store 2 ,mem_l2cap_rx_cid 
+0x51d9 009171 jam l2cap_rx_done ,mem_l2cap_rx_done 
+0x51da 009172 rtn 
+:      009174 l2cap_process_signal_pkt:
+0x51db 009175 bpatch patch18_6 ,mem_patch18 
+0x51dc 009176 call l2cap_get_signal_tx_payload 
+0x51dd 009177 force 0 ,regb 
+0x51de 009178 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x51df 009179 copy pdata ,regc 
+0x51e0 009180 fetch 2 ,mem_l2cap_payload_ptr 
+0x51e1 009181 iforce contr 
+:      009182 l2cap_process_signal_pkt_loop:
+0x51e2 009183 call l2cap_process_one_signal 
+0x51e3 009184 deposit regc 
+0x51e4 009185 increase -4 ,regc 
+0x51e5 009186 increase -4 ,pdata 
+0x51e6 009187 nbranch l2cap_process_signal_pkt_loop ,blank 
+0x51e7 009188 copy regb ,pdata 
+0x51e8 009189 store 2 ,mem_l2cap_signal_tx_length 
+0x51e9 009190 rtn 
+:      009192 l2cap_process_one_signal:
+0x51ea 009193 bpatch patch18_7 ,mem_patch18 
+0x51eb 009194 ifetch 1 ,contr 
+0x51ec 009195 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+0x51ed 009196 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+0x51ee 009197 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+0x51ef 009198 beq signal_config_req ,l2cap_proc_signal_config_req 
+0x51f0 009199 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+0x51f1 009200 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+0x51f2 009201 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+0x51f3 009202 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x51f4 009203 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+0x51f5 009204 beq signal_info_req ,l2cap_proc_signal_info_req 
+0x51f6 009205 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+0x51f7 009206 call l2cap_reject_command 
+:      009207 l2cap_process_one_signal_rtn:
+0x51f8 009208 rtn 
+:      009210 l2cap_proc_signal_info_req:
+0x51f9 009211 ifetch 1 ,contr 
+0x51fa 009212 copy pdata ,queue 
+0x51fb 009213 ifetch 2 ,contr 
+0x51fc 009214 copy pdata ,rega 
+0x51fd 009215 copy regc ,pdata 
+0x51fe 009216 isub rega ,regc 
+0x51ff 009217 setarg signal_info_rsp 
+0x5200 009218 istore 1 ,contw 
+0x5201 009219 copy queue ,pdata 
+0x5202 009220 istore 1 ,contw 
+0x5203 009221 ifetch 2 ,contr 
+:      009222 l2cap_proc_signal_info_req_reply:
+0x5204 009223 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+0x5205 009224 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+0x5206 009225 rtn 
+:      009226 l2cap_proc_signal_info_req_ext:
+0x5207 009227 setarg 0x020008 
+0x5208 009228 istore 6 ,contw 
+0x5209 009229 setarg 0x0280 
+0x520a 009230 istore 4 ,contw 
+0x520b 009231 force 12 ,pdata 
+0x520c 009232 branch l2cap_proc_signal_info_req_common 
+:      009233 l2cap_proc_signal_info_req_fix:
+0x520d 009234 setarg 0x3000c 
+0x520e 009235 istore 6 ,contw 
+0x520f 009236 setarg 0x0006 
+0x5210 009237 istore 8 ,contw 
+0x5211 009238 force 16 ,pdata 
+:      009239 l2cap_proc_signal_info_req_common:
+0x5212 009240 iadd regb ,regb 
+0x5213 009241 branch l2cap_process_one_signal_rtn 
+:      009243 ml2cap_proc_signal_info_req:
+0x5214 009244 ifetch 1 ,contr 
+0x5215 009245 copy pdata ,queue 
+0x5216 009246 ifetch 2 ,contr 
+0x5217 009247 copy pdata ,rega 
+0x5218 009248 ifetch 2 ,contr 
+0x5219 009249 store 2 ,mem_temp 
+0x521a 009250 copy regc ,pdata 
+0x521b 009251 isub rega ,regc 
+0x521c 009252 call l2cap_get_signal_tx_payload 
+0x521d 009253 setarg signal_info_rsp 
+0x521e 009254 istore 1 ,contw 
+0x521f 009255 copy queue ,pdata 
+0x5220 009256 istore 1 ,contw 
+0x5221 009257 fetch 2 ,mem_temp 
+0x5222 009258 branch l2cap_proc_signal_info_req_reply 
+:      009262 l2cap_proc_signal_cmd_reject:
+0x5223 009263 ifetch 1 ,contr 
+0x5224 009264 copy pdata ,queue 
+0x5225 009265 ifetch 2 ,contr 
+0x5226 009266 copy pdata ,rega 
+0x5227 009267 iadd contr ,contr 
+0x5228 009268 copy regc ,pdata 
+0x5229 009269 isub rega ,regc 
+:      009270 l2cap_proc_signal_cmd_reject_rtn:
+0x522a 009271 branch l2cap_process_one_signal_rtn 
+:      009273 l2cap_proc_signal_connect_req:
+0x522b 009274 call save_cont_pointers 
+0x522c 009277 call load_cont_pointers 
+0x522d 009278 arg 0 ,debug 
+0x522e 009279 ifetch 1 ,contr 
+0x522f 009280 copy pdata ,queue 
+0x5230 009281 ifetch 2 ,contr 
+0x5231 009282 copy pdata ,rega 
+0x5232 009283 ifetch 2 ,contr 
+0x5233 009284 copy pdata ,temp 
+0x5234 009285 ifetch 2 ,contr 
+0x5235 009286 copy pdata ,timeup 
+0x5236 009287 bpatch patch19_0 ,mem_patch19 
+0x5237 009288 copy temp ,pdata 
+0x5238 009289 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+0x5239 009290 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+0x523a 009291 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+0x523b 009292 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+0x523c 009293 call l2cap_reject_command 
+0x523d 009294 branch l2cap_proc_signal_connect_req_rtn 
+:      009296 l2cap_proc_signal_connect_req_sdp:
+0x523e 009297 call save_cont_pointers 
+0x523f 009298 arg l2cap_sdp_channel ,temp 
+0x5240 009299 fetch 2 ,mem_sdp_remote_cid 
+0x5241 009300 nbranch already_connected ,blank 
+0x5242 009301 copy timeup ,pdata 
+0x5243 009302 store 2 ,mem_sdp_remote_cid 
+0x5244 009303 copy clkn_bt ,pdata 
+0x5245 009304 store 4 ,mem_l2cap_sdpres_delay_time 
+0x5246 009305 call store_l2cap_req_param 
+0x5247 009306 branch send_connection_pending 
+:      009308 store_l2cap_req_param:
+0x5248 009309 storet 2 ,mem_psm 
+0x5249 009310 deposit timeup 
+0x524a 009311 store 2 ,mem_scid 
+0x524b 009312 deposit rega 
+0x524c 009313 store 2 ,mem_cmd_length 
+0x524d 009314 deposit regb 
+0x524e 009315 store 2 ,mem_tt2 
+0x524f 009316 deposit regc 
+0x5250 009317 store 2 ,mem_tt3 
+0x5251 009318 deposit queue 
+0x5252 009319 store 2 ,mem_id 
+0x5253 009320 rtn 
+:      009322 restore_l2cap_req_param:
+0x5254 009323 fetcht 2 ,mem_psm 
+0x5255 009324 fetch 2 ,mem_scid 
+0x5256 009325 copy pdata ,timeup 
+0x5257 009326 fetch 2 ,mem_cmd_length 
+0x5258 009327 copy pdata ,rega 
+0x5259 009328 fetch 2 ,mem_tt2 
+0x525a 009329 copy pdata ,regb 
+0x525b 009330 fetch 2 ,mem_tt3 
+0x525c 009331 copy pdata ,regc 
+0x525d 009332 fetch 2 ,mem_id 
+0x525e 009333 copy pdata ,queue 
+0x525f 009334 rtn 
+:      009336 l2cap_proc_signal_connect_req_rfcomm:
+0x5260 009337 call save_cont_pointers 
+0x5261 009338 setarg l2cap_rfcomm_channel 
+0x5262 009339 arg l2cap_rfcomm_channel ,temp 
+0x5263 009340 fetch 2 ,mem_rfcomm_remote_cid 
+0x5264 009341 nbranch already_connected ,blank 
+0x5265 009342 copy timeup ,pdata 
+0x5266 009343 store 2 ,mem_rfcomm_remote_cid 
+0x5267 009344 fetch 1 ,mem_rfcomm_state 
+0x5268 009345 set1 l2cap_channel_state_conn_req ,pdata 
+0x5269 009346 set1 l2cap_channel_state_conn_res ,pdata 
+0x526a 009347 store 1 ,mem_rfcomm_state 
+0x526b 009348 branch send_connection_res 
+:      009349 l2cap_proc_signal_connect_req_hid_ctrl:
+0x526c 009350 call save_cont_pointers 
+0x526d 009351 arg l2cap_hid_control_channel ,temp 
+0x526e 009352 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x526f 009353 nbranch already_connected ,blank 
+0x5270 009354 copy timeup ,pdata 
+0x5271 009355 store 2 ,mem_hid_ctrl_remote_cid 
+0x5272 009356 fetch 1 ,mem_hid_control_state 
+0x5273 009357 set1 l2cap_channel_state_conn_req ,pdata 
+0x5274 009358 set1 l2cap_channel_state_conn_res ,pdata 
+0x5275 009359 store 1 ,mem_hid_control_state 
+0x5276 009360 branch send_connection_res 
+:      009361 l2cap_proc_signal_connect_req_hid_int:
+0x5277 009362 call save_cont_pointers 
+0x5278 009363 deposit clke 
+0x5279 009364 arg l2cap_hid_interrupt_channel ,temp 
+0x527a 009365 fetch 2 ,mem_hid_int_remote_cid 
+0x527b 009366 nbranch already_connected ,blank 
+0x527c 009367 copy timeup ,pdata 
+0x527d 009368 store 2 ,mem_hid_int_remote_cid 
+0x527e 009369 fetch 1 ,mem_hid_interrupt_state 
+0x527f 009370 set1 l2cap_channel_state_conn_req ,pdata 
+0x5280 009371 set1 l2cap_channel_state_conn_res ,pdata 
+0x5281 009372 store 1 ,mem_hid_interrupt_state 
+0x5282 009373 branch send_connection_res 
+:      009375 send_connection_pending:
+0x5283 009376 setarg l2cap_connect_pending 
+0x5284 009377 store 2 ,meml2cap_t1 
+0x5285 009378 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+0x5286 009379 branch send_connection_res0 
+:      009380 send_connection_sdp_res:
+0x5287 009381 fetch 1 ,mem_sdp_state 
+0x5288 009382 set1 l2cap_channel_state_conn_req ,pdata 
+0x5289 009383 set1 l2cap_channel_state_conn_res ,pdata 
+0x528a 009384 store 1 ,mem_sdp_state 
+:      009385 send_connection_res:
+0x528b 009386 setarg l2cap_connect_successful 
+0x528c 009387 store 2 ,meml2cap_t1 
+:      009388 send_connection_res0:
+0x528d 009389 bpatch patch19_1 ,mem_patch19 
+0x528e 009390 call load_cont_pointers 
+0x528f 009391 setarg signal_connect_rsp 
+0x5290 009392 istore 1 ,contw 
+0x5291 009393 copy queue ,pdata 
+0x5292 009394 istore 1 ,contw 
+0x5293 009395 setarg 0x0008 
+0x5294 009396 istore 2 ,contw 
+0x5295 009397 copy temp ,pdata 
+0x5296 009398 istore 2 ,contw 
+0x5297 009399 copy timeup ,pdata 
+0x5298 009400 istore 2 ,contw 
+0x5299 009401 fetch 2 ,meml2cap_t1 
+0x529a 009402 beq l2cap_connect_pending ,connect_pending 
+0x529b 009403 isolate0 0 ,debug 
+0x529c 009404 branch connect_suc ,true 
+0x529d 009405 setarg l2cap_connect_refused_no_resources 
+:      009406 connect_suc:
+0x529e 009407 istore 2 ,contw 
+0x529f 009408 force 0x0000 ,pdata 
+0x52a0 009409 istore 2 ,contw 
+0x52a1 009410 setarg 12 
+0x52a2 009411 branch connect_req_update_byte_counts 
+:      009412 connect_pending:
+0x52a3 009413 istore 2 ,contw 
+0x52a4 009414 force 0x0002 ,pdata 
+0x52a5 009415 istore 2 ,contw 
+0x52a6 009416 setarg 12 
+0x52a7 009417 branch connect_req_update_byte_counts 
+:      009419 already_connected:
+0x52a8 009420 set1 0 ,debug 
+0x52a9 009421 branch send_connection_res 
+:      009422 connect_req_update_byte_counts:
+0x52aa 009423 iadd regb ,regb 
+0x52ab 009424 copy regc ,pdata 
+0x52ac 009425 isub rega ,regc 
+0x52ad 009426 branch l2cap_proc_signal_connect_req_rtn 
+:      009427 l2cap_proc_signal_connect_req_rtn:
+0x52ae 009428 branch l2cap_process_one_signal_rtn 
+:      009430 l2cap_proc_signal_connect_rsp:
+0x52af 009431 ifetch 1 ,contr 
+0x52b0 009432 copy pdata ,queue 
+0x52b1 009433 ifetch 2 ,contr 
+0x52b2 009434 copy pdata ,rega 
+0x52b3 009435 copy regc ,pdata 
+0x52b4 009436 isub rega ,regc 
+0x52b5 009437 ifetch 2 ,contr 
+0x52b6 009438 copy pdata ,timeup 
+0x52b7 009439 ifetch 2 ,contr 
+0x52b8 009440 copy pdata ,temp 
+0x52b9 009441 bpatch patch19_2 ,mem_patch19 
+0x52ba 009442 setarg l2cap_sdp_channel 
+0x52bb 009443 isub temp ,null 
+0x52bc 009444 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+0x52bd 009445 setarg l2cap_rfcomm_channel 
+0x52be 009446 isub temp ,null 
+0x52bf 009447 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x52c0 009448 setarg l2cap_hid_control_channel 
+0x52c1 009449 isub temp ,null 
+0x52c2 009450 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x52c3 009451 setarg l2cap_hid_interrupt_channel 
+0x52c4 009452 isub temp ,null 
+0x52c5 009453 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x52c6 009454 rtn 
+:      009456 l2cap_proc_signal_connect_rsp_sdp:
+0x52c7 009457 copy timeup ,pdata 
+0x52c8 009458 store 2 ,mem_sdp_remote_cid 
+0x52c9 009459 fetch 1 ,mem_sdp_state 
+0x52ca 009460 set1 l2cap_channel_state_conn_res ,pdata 
+0x52cb 009461 store 1 ,mem_sdp_state 
+0x52cc 009462 branch l2cap_process_one_signal_rtn 
+:      009463 l2cap_proc_signal_connect_rsp_rfcomm:
+0x52cd 009464 copy timeup ,pdata 
+0x52ce 009465 store 2 ,mem_rfcomm_remote_cid 
+0x52cf 009466 fetch 1 ,mem_rfcomm_state 
+0x52d0 009467 set1 l2cap_channel_state_conn_res ,pdata 
+0x52d1 009468 store 1 ,mem_rfcomm_state 
+0x52d2 009469 rtn 
+:      009470 l2cap_proc_signal_connect_rsp_hid_int:
+0x52d3 009471 copy timeup ,pdata 
+0x52d4 009472 store 2 ,mem_hid_ctrl_remote_cid 
+0x52d5 009473 fetch 1 ,mem_hid_interrupt_state 
+0x52d6 009474 set1 l2cap_channel_state_conn_res ,pdata 
+0x52d7 009475 store 1 ,mem_hid_interrupt_state 
+0x52d8 009476 rtn 
+:      009477 l2cap_proc_signal_connect_rsp_hid_ctrl:
+0x52d9 009478 copy timeup ,pdata 
+0x52da 009479 store 2 ,mem_hid_int_remote_cid 
+0x52db 009480 fetch 1 ,mem_hid_control_state 
+0x52dc 009481 set1 l2cap_channel_state_conn_res ,pdata 
+0x52dd 009482 store 1 ,mem_hid_control_state 
+0x52de 009483 rtn 
+:      009485 l2cap_proc_signal_config_req:
+0x52df 009486 ifetch 1 ,contr 
+0x52e0 009487 copy pdata ,queue 
+0x52e1 009488 ifetch 2 ,contr 
+0x52e2 009489 copy pdata ,rega 
+0x52e3 009490 copy regc ,pdata 
+0x52e4 009491 isub rega ,regc 
+0x52e5 009492 ifetch 2 ,contr 
+0x52e6 009493 copy pdata ,temp 
+0x52e7 009494 copy temp ,rega 
+0x52e8 009495 bpatch patch19_3 ,mem_patch19 
+0x52e9 009496 setarg l2cap_sdp_channel 
+0x52ea 009497 isub temp ,null 
+0x52eb 009498 branch l2cap_proc_signal_config_req_sdp ,zero 
+0x52ec 009499 setarg l2cap_rfcomm_channel 
+0x52ed 009500 isub temp ,null 
+0x52ee 009501 branch l2cap_proc_signal_config_req_rfcomm ,zero 
+0x52ef 009502 setarg l2cap_hid_control_channel 
+0x52f0 009503 isub temp ,null 
+0x52f1 009504 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x52f2 009505 setarg l2cap_hid_interrupt_channel 
+0x52f3 009506 isub temp ,null 
+0x52f4 009507 branch l2cap_proc_signal_config_req_hid_int ,zero 
+0x52f5 009508 branch l2cap_reject_command 
+:      009510 l2cap_proc_signal_config_req_sdp:
+0x52f6 009511 copy contw ,timeup 
+0x52f7 009512 fetch 1 ,mem_sdp_state 
+0x52f8 009513 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x52f9 009514 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x52fa 009516 store 1 ,mem_sdp_state 
+0x52fb 009517 copy timeup ,contw 
+0x52fc 009518 arg l2cap_sdp_channel ,timeup 
+0x52fd 009519 fetch 2 ,mem_sdp_remote_cid 
+0x52fe 009520 copy pdata ,temp 
+0x52ff 009521 branch l2cap_send_config_rsp 
+:      009522 l2cap_proc_signal_config_req_hid_ctrl:
+0x5300 009523 copy contw ,timeup 
+0x5301 009524 fetch 1 ,mem_hid_control_state 
+0x5302 009525 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x5303 009526 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x5304 009528 store 1 ,mem_hid_control_state 
+0x5305 009529 copy timeup ,contw 
+0x5306 009530 arg l2cap_hid_control_channel ,timeup 
+0x5307 009531 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5308 009532 copy pdata ,temp 
+0x5309 009533 branch l2cap_send_config_rsp 
+:      009534 l2cap_proc_signal_config_req_hid_int:
+0x530a 009535 copy contw ,timeup 
+0x530b 009536 fetch 1 ,mem_hid_interrupt_state 
+0x530c 009537 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x530d 009538 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x530e 009540 store 1 ,mem_hid_interrupt_state 
+0x530f 009541 copy timeup ,contw 
+0x5310 009542 arg l2cap_hid_interrupt_channel ,timeup 
+0x5311 009543 fetch 2 ,mem_hid_int_remote_cid 
+0x5312 009544 copy pdata ,temp 
+0x5313 009545 branch l2cap_send_config_rsp 
+:      009546 l2cap_proc_signal_config_req_rfcomm:
+0x5314 009547 copy contw ,timeup 
+0x5315 009548 fetch 1 ,mem_rfcomm_state 
+0x5316 009549 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x5317 009550 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x5318 009552 store 1 ,mem_rfcomm_state 
+0x5319 009554 copy timeup ,contw 
+0x531a 009555 arg l2cap_rfcomm_channel ,timeup 
+0x531b 009556 fetch 2 ,mem_rfcomm_remote_cid 
+0x531c 009557 copy pdata ,temp 
+:      009558 l2cap_send_config_rsp:
+0x531d 009559 bpatch patch19_4 ,mem_patch19 
+0x531e 009560 setarg signal_config_rsp 
+0x531f 009561 istore 1 ,contw 
+0x5320 009562 copy queue ,pdata 
+0x5321 009563 istore 1 ,contw 
+0x5322 009564 setarg 0x0006 
+0x5323 009565 istore 2 ,contw 
+0x5324 009566 copy temp ,pdata 
+0x5325 009567 istore 2 ,contw 
+0x5326 009568 force 0x00 ,pdata 
+0x5327 009569 istore 2 ,contw 
+0x5328 009570 force l2cap_config_success ,pdata 
+0x5329 009571 istore 2 ,contw 
+0x532a 009572 force 10 ,pdata 
+0x532b 009573 iadd regb ,regb 
+0x532c 009575 storet 2 ,mem_config_req_dest_cid 
+0x532d 009576 copy queue ,pdata 
+0x532e 009577 store 1 ,mem_config_identifier 
+0x532f 009578 force l2cap_sdp_channel ,pdata 
+0x5330 009579 icompare 0xff ,timeup 
+0x5331 009580 branch l2cap_send_config_rsp_is_sdp ,true 
+0x5332 009581 increase 1 ,pdata 
+:      009582 l2cap_send_config_rsp_is_sdp:
+0x5333 009584 rtn 
+:      009585 l2cap_check_channel_state:
+0x5334 009586 disable user 
+0x5335 009587 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x5336 009588 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+0x5337 009589 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+0x5338 009590 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x5339 009591 copy contr ,contw 
+0x533a 009592 increase -1 ,contw 
+0x533b 009593 istore 1 ,contw 
+0x533c 009594 enable user 
+0x533d 009595 rtn 
+:      009596 l2cap_send_config_req:
+:      009597 l2cap_send_config_req_sdp:
+0x533e 009598 fetch 1 ,mem_sdp_state 
+0x533f 009599 call l2cap_check_channel_state 
+0x5340 009600 nbranch l2cap_send_config_req_rfcomm ,user 
+0x5341 009601 jam l2cap_sdp_channel ,mem_send_config_req 
+0x5342 009602 fetch 2 ,mem_sdp_remote_cid 
+0x5343 009603 store 2 ,mem_config_req_dest_cid 
+0x5344 009604 branch l2cap_generate_config_req 
+:      009605 l2cap_send_config_req_rfcomm:
+0x5345 009606 fetch 1 ,mem_rfcomm_state 
+0x5346 009607 call l2cap_check_channel_state 
+0x5347 009608 nbranch l2cap_send_config_req_hid_ctrl ,user 
+0x5348 009609 jam l2cap_rfcomm_channel ,mem_send_config_req 
+0x5349 009610 fetch 2 ,mem_rfcomm_remote_cid 
+0x534a 009611 store 2 ,mem_config_req_dest_cid 
+0x534b 009612 branch l2cap_generate_config_req 
+:      009613 l2cap_send_config_req_hid_ctrl:
+0x534c 009614 fetch 1 ,mem_hid_control_state 
+0x534d 009615 call l2cap_check_channel_state 
+0x534e 009616 nbranch l2cap_send_config_req_hid_int ,user 
+0x534f 009617 jam l2cap_hid_control_channel ,mem_send_config_req 
+0x5350 009618 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5351 009619 store 2 ,mem_config_req_dest_cid 
+0x5352 009620 branch l2cap_generate_config_req 
+:      009621 l2cap_send_config_req_hid_int:
+0x5353 009622 fetch 1 ,mem_hid_interrupt_state 
+0x5354 009623 call l2cap_check_channel_state 
+0x5355 009624 nrtn user 
+0x5356 009625 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+0x5357 009626 fetch 2 ,mem_hid_int_remote_cid 
+0x5358 009627 store 2 ,mem_config_req_dest_cid 
+:      009630 l2cap_generate_config_req:
+0x5359 009631 bpatch patch19_5 ,mem_patch19 
+0x535a 009632 call l2cap_get_req_id 
+0x535b 009633 call l2cap_malloc_signal_channel 
+0x535c 009634 force 0 ,regb 
+0x535d 009635 call l2cap_get_signal_tx_payload 
+0x535e 009636 force signal_config_req ,pdata 
+0x535f 009637 istore 1 ,contw 
+0x5360 009638 fetch 1 ,mem_ml2cap_comm_id 
+0x5361 009639 istore 1 ,contw 
+0x5362 009640 setarg 0x0008 
+0x5363 009641 istore 2 ,contw 
+0x5364 009642 fetch 2 ,mem_config_req_dest_cid 
+0x5365 009643 istore 2 ,contw 
+0x5366 009644 setarg 0x0000 
+0x5367 009645 istore 2 ,contw 
+0x5368 009646 force 1 ,pdata 
+0x5369 009647 istore 1 ,contw 
+0x536a 009648 force 2 ,pdata 
+0x536b 009649 istore 1 ,contw 
+0x536c 009650 fetch 1 ,mem_send_config_req 
+0x536d 009651 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+0x536e 009652 setarg l2cap_config_mtu_sdp 
+0x536f 009653 istore 2 ,contw 
+0x5370 009654 branch l2cap_generate_config_req_done 
+:      009655 l2cap_generate_config_req_rfcomm:
+0x5371 009656 setarg l2cap_config_mtu_rfcomm 
+0x5372 009657 istore 2 ,contw 
+:      009658 l2cap_generate_config_req_done:
+0x5373 009659 arg 0x0c ,temp 
+0x5374 009660 storet 2 ,mem_l2cap_signal_tx_length 
+0x5375 009661 call l2cap_get_signal_tx_buff 
+0x5376 009662 fetch 2 ,mem_l2cap_signal_tx_length 
+0x5377 009663 istore 2 ,contw 
+0x5378 009664 force l2cap_signal_channel ,pdata 
+0x5379 009665 istore 2 ,contw 
+0x537a 009666 jam 0 ,mem_send_config_req 
+:      009667 l2cap_proc_signal_config_req_rtn:
+0x537b 009668 branch l2cap_process_one_signal_rtn 
+:      009670 l2cap_proc_signal_config_rsp:
+0x537c 009671 increase 1 ,contr 
+0x537d 009672 ifetch 2 ,contr 
+0x537e 009673 copy pdata ,rega 
+0x537f 009674 copy regc ,pdata 
+0x5380 009675 isub rega ,regc 
+0x5381 009676 ifetch 2 ,contr 
+0x5382 009677 copy pdata ,rega 
+0x5383 009678 bpatch patch19_6 ,mem_patch19 
+0x5384 009679 setarg l2cap_sdp_channel 
+0x5385 009680 isub rega ,null 
+0x5386 009681 branch l2cap_proc_signal_config_rsp_sdp ,zero 
+0x5387 009682 setarg l2cap_rfcomm_channel 
+0x5388 009683 isub rega ,null 
+0x5389 009684 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x538a 009685 setarg l2cap_hid_control_channel 
+0x538b 009686 isub rega ,null 
+0x538c 009687 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x538d 009688 setarg l2cap_hid_interrupt_channel 
+0x538e 009689 isub rega ,null 
+0x538f 009690 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+0x5390 009691 increase 2 ,contr 
+0x5391 009692 ifetch 2 ,contr 
+0x5392 009693 iforce null 
+0x5393 009694 branch l2cap_process_one_signal_rtn 
+:      009695 l2cap_proc_signal_config_rsp_sdp:
+0x5394 009696 fetch 1 ,mem_sdp_state 
+0x5395 009697 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x5396 009698 store 1 ,mem_sdp_state 
+0x5397 009699 branch l2cap_process_one_signal_rtn 
+:      009700 l2cap_proc_signal_config_rsp_rfcomm:
+0x5398 009701 fetch 1 ,mem_rfcomm_state 
+0x5399 009702 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x539a 009703 store 1 ,mem_rfcomm_state 
+0x539b 009704 branch l2cap_process_one_signal_rtn 
+:      009705 l2cap_proc_signal_config_rsp_hid_ctrl:
+0x539c 009706 fetch 1 ,mem_hid_control_state 
+0x539d 009707 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x539e 009708 store 1 ,mem_hid_control_state 
+0x539f 009709 branch l2cap_process_one_signal_rtn 
+:      009710 l2cap_proc_signal_config_rsp_hid_int:
+0x53a0 009711 fetch 1 ,mem_hid_interrupt_state 
+0x53a1 009712 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x53a2 009713 store 1 ,mem_hid_interrupt_state 
+0x53a3 009714 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x53a4 009715 branch ui_ipc_send_event 
+:      009719 l2cap_proc_signal_disconnect_req:
+0x53a5 009720 ifetch 1 ,contr 
+0x53a6 009721 copy pdata ,queue 
+0x53a7 009722 ifetch 2 ,contr 
+0x53a8 009723 copy pdata ,rega 
+0x53a9 009724 copy regc ,pdata 
+0x53aa 009725 isub rega ,regc 
+0x53ab 009726 ifetch 2 ,contr 
+0x53ac 009727 copy pdata ,rega 
+0x53ad 009728 ifetch 2 ,contr 
+0x53ae 009729 copy pdata ,timeup 
+0x53af 009730 copy rega ,temp 
+0x53b0 009731 call save_cont_pointers 
+0x53b1 009732 bpatch patch19_7 ,mem_patch19 
+0x53b2 009733 setarg l2cap_sdp_channel 
+0x53b3 009734 isub temp ,null 
+0x53b4 009735 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+0x53b5 009736 setarg l2cap_rfcomm_channel 
+0x53b6 009737 isub temp ,null 
+0x53b7 009738 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+0x53b8 009739 setarg l2cap_hid_control_channel 
+0x53b9 009740 isub temp ,null 
+0x53ba 009741 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+0x53bb 009742 setarg l2cap_hid_interrupt_channel 
+0x53bc 009743 isub temp ,null 
+0x53bd 009744 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+0x53be 009745 call l2cap_reject_command 
+0x53bf 009746 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009747 l2cap_proc_signal_disconnect_req_hid_ctrl:
+0x53c0 009748 copy timeup ,temp 
+0x53c1 009749 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x53c2 009750 isub temp ,null 
+0x53c3 009751 branch l2cap_disconnect_hid_control_now ,zero 
+0x53c4 009752 call l2cap_reject_command 
+0x53c5 009753 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009754 l2cap_proc_signal_disconnect_req_hid_int:
+0x53c6 009755 copy timeup ,temp 
+0x53c7 009756 fetch 2 ,mem_hid_int_remote_cid 
+0x53c8 009757 isub temp ,null 
+0x53c9 009758 branch l2cap_disconnect_hid_interrupt_now ,zero 
+0x53ca 009759 call l2cap_reject_command 
+0x53cb 009760 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009762 l2cap_proc_signal_disconnect_req_sdp:
+0x53cc 009763 copy timeup ,temp 
+0x53cd 009764 fetch 2 ,mem_sdp_remote_cid 
+0x53ce 009765 isub temp ,null 
+0x53cf 009766 branch l2cap_disconnect_sdp_now ,zero 
+0x53d0 009767 call l2cap_reject_command 
+0x53d1 009768 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009769 l2cap_disconnect_hid_control_now:
+0x53d2 009770 call l2cap_reset_hid_ctrl_state 
+0x53d3 009771 branch l2cap_send_disconnect_rsp_pkt 
+:      009772 l2cap_disconnect_hid_interrupt_now:
+0x53d4 009773 call l2cap_reset_hid_int_state 
+0x53d5 009774 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x53d6 009775 branch l2cap_send_disconnect_rsp_pkt ,blank 
+0x53d7 009783 branch l2cap_send_disconnect_rsp_pkt 
+:      009785 l2cap_disconnect_sdp_now:
+0x53d8 009786 call l2cap_reset_sdp_channel_state 
+0x53d9 009787 fetch 1 ,mem_upper_sm_ss 
+0x53da 009788 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+0x53db 009791 branch l2cap_send_disconnect_rsp_pkt 
+:      009792 l2cap_proc_signal_disconnect_req_rfcomm:
+0x53dc 009793 copy timeup ,temp 
+0x53dd 009794 fetch 2 ,mem_rfcomm_remote_cid 
+0x53de 009795 isub temp ,null 
+0x53df 009796 branch l2cap_disconnect_rfcomm_now ,zero 
+0x53e0 009797 call l2cap_reject_command 
+0x53e1 009798 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      009799 l2cap_disconnect_rfcomm_now:
+0x53e2 009800 call l2cap_reset_rfcomm_channel_state 
+0x53e3 009801 branch l2cap_send_disconnect_rsp_pkt 
+:      009802 l2cap_send_disconnect_rsp_pkt:
+0x53e4 009803 call load_cont_pointers 
+0x53e5 009804 setarg signal_disconnect_rsp 
+0x53e6 009805 istore 1 ,contw 
+0x53e7 009806 copy queue ,pdata 
+0x53e8 009807 istore 1 ,contw 
+0x53e9 009808 setarg 0x0004 
+0x53ea 009809 istore 2 ,contw 
+0x53eb 009810 copy rega ,pdata 
+0x53ec 009811 istore 2 ,contw 
+0x53ed 009812 copy timeup ,pdata 
+0x53ee 009813 istore 2 ,contw 
+0x53ef 009814 force 8 ,pdata 
+0x53f0 009815 branch l2cap_proc_signal_disconnect_req_rtn 
+:      009816 l2cap_proc_signal_disconnect_req_err_rtn:
+0x53f1 009817 call load_cont_pointers 
+0x53f2 009818 branch l2cap_proc_signal_disconnect_req_rtn 
+:      009819 l2cap_proc_signal_disconnect_req_rtn:
+0x53f3 009820 iadd regb ,regb 
+0x53f4 009821 branch l2cap_process_one_signal_rtn 
+:      009822 l2cap_proc_signal_disconnect_rsp:
+0x53f5 009823 ifetch 1 ,contr 
+0x53f6 009824 copy pdata ,queue 
+0x53f7 009825 ifetch 2 ,contr 
+0x53f8 009826 copy pdata ,rega 
+0x53f9 009827 copy regc ,pdata 
+0x53fa 009828 isub rega ,regc 
+0x53fb 009829 ifetch 2 ,contr 
+0x53fc 009830 copy pdata ,timeup 
+0x53fd 009831 ifetch 2 ,contr 
+0x53fe 009832 copy pdata ,temp 
+0x53ff 009833 call save_cont_pointers 
+0x5400 009834 bpatch patch1a_0 ,mem_patch1a 
+0x5401 009835 setarg l2cap_sdp_channel 
+0x5402 009836 isub temp ,null 
+0x5403 009837 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+0x5404 009838 setarg l2cap_rfcomm_channel 
+0x5405 009839 isub temp ,null 
+0x5406 009840 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+0x5407 009841 setarg l2cap_hid_control_channel 
+0x5408 009842 isub temp ,null 
+0x5409 009843 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+0x540a 009844 setarg l2cap_hid_interrupt_channel 
+0x540b 009845 isub temp ,null 
+0x540c 009846 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+0x540d 009847 call l2cap_reject_command 
+0x540e 009848 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+:      009849 l2cap_proc_signal_disconnect_rsp_sdp:
+0x540f 009850 copy temp ,rega 
+0x5410 009851 copy timeup ,temp 
+0x5411 009852 fetch 2 ,mem_sdp_remote_cid 
+0x5412 009853 isub temp ,null 
+0x5413 009854 call l2cap_reset_sdp_channel_state ,zero 
+0x5414 009855 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009856 l2cap_proc_signal_disconnect_rsp_rfcomm:
+0x5415 009857 copy temp ,rega 
+0x5416 009858 copy timeup ,temp 
+0x5417 009859 fetch 2 ,mem_rfcomm_remote_cid 
+0x5418 009860 isub temp ,null 
+0x5419 009861 call l2cap_reset_rfcomm_channel_state ,zero 
+0x541a 009862 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009863 l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+0x541b 009864 copy temp ,rega 
+0x541c 009865 copy timeup ,temp 
+0x541d 009866 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x541e 009867 isub temp ,null 
+0x541f 009868 call l2cap_reset_hid_ctrl_state ,zero 
+0x5420 009869 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009870 l2cap_proc_signal_disconnect_rsp_hid_int:
+0x5421 009871 copy temp ,rega 
+0x5422 009872 copy timeup ,temp 
+0x5423 009873 fetch 2 ,mem_hid_int_remote_cid 
+0x5424 009874 isub temp ,null 
+0x5425 009875 call l2cap_reset_hid_int_state ,zero 
+0x5426 009876 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      009877 l2cap_proc_signal_disconnect_rsp_rtn:
+0x5427 009878 call load_cont_pointers 
+0x5428 009879 branch l2cap_process_one_signal_rtn 
+:      009880 l2cap_proc_signal_disconnect_rsp_err_rtn:
+0x5429 009881 branch l2cap_process_one_signal_rtn 
+:      009884 l2cap_proc_signal_echo_req:
+0x542a 009885 ifetch 1 ,contr 
+0x542b 009886 copy pdata ,queue 
+0x542c 009887 ifetch 2 ,contr 
+0x542d 009888 copy pdata ,rega 
+0x542e 009889 iadd contr ,contr 
+0x542f 009890 setarg 9 
+0x5430 009891 istore 1 ,contw 
+0x5431 009892 copy queue ,pdata 
+0x5432 009893 istore 1 ,contw 
+0x5433 009894 force 0x0000 ,pdata 
+0x5434 009895 istore 2 ,contw 
+0x5435 009896 force 4 ,pdata 
+0x5436 009897 iadd regb ,regb 
+0x5437 009898 copy regc ,pdata 
+0x5438 009899 isub rega ,regc 
+0x5439 009900 branch l2cap_process_one_signal_rtn 
+:      009901 l2cap_proc_signal_echo_rsp:
+0x543a 009902 branch l2cap_process_one_signal_rtn 
+:      009904 l2cap_proc_signal_info_rsp:
+0x543b 009905 branch l2cap_process_one_signal_rtn 
+:      009906 l2cap_reject_command:
+0x543c 009907 force 0 ,regb 
+0x543d 009908 call l2cap_get_signal_tx_payload 
+0x543e 009909 setarg signal_cmd_reject 
+0x543f 009910 istore 1 ,contw 
+0x5440 009911 copy queue ,pdata 
+0x5441 009912 istore 1 ,contw 
+0x5442 009913 setarg 2 
+0x5443 009914 istore 2 ,contw 
+0x5444 009915 setarg cmd_not_understood 
+0x5445 009916 istore 2 ,contw 
+0x5446 009917 increase 6 ,regb 
+0x5447 009918 arg 4 ,regc 
+0x5448 009919 branch l2cap_process_one_signal_rtn 
+:      009923 l2cap_reset_rfcomm_channel_state:
+0x5449 009924 setarg 0 
+0x544a 009925 store 2 ,mem_rfcomm_tx_pkt_length 
+0x544b 009926 store 2 ,mem_rfcomm_remote_cid 
+0x544c 009927 jam 0 ,mem_rfcomm_state 
+0x544d 009928 rtn 
+:      009929 l2cap_reset_sdp_channel_state:
+0x544e 009930 setarg 0 
+0x544f 009931 store 2 ,mem_sdp_tx_pkt_length 
+0x5450 009932 store 2 ,mem_sdp_remote_cid 
+0x5451 009933 jam 0 ,mem_sdp_state 
+0x5452 009934 rtn 
+:      009935 l2cap_reset_hid_ctrl_state:
+0x5453 009936 setarg 0 
+0x5454 009937 store 2 ,mem_hid_ctrl_remote_cid 
+0x5455 009938 jam 0 ,mem_hid_control_state 
+0x5456 009939 fetch 1 ,mem_hid_interrupt_state 
+0x5457 009940 beq 0 ,l2cap_reset_hid_disconnected 
+0x5458 009941 rtn 
+:      009943 l2cap_reset_hid_int_state:
+0x5459 009944 setarg 0 
+0x545a 009945 store 2 ,mem_hid_int_remote_cid 
+0x545b 009946 jam 0 ,mem_hid_interrupt_state 
+0x545c 009947 fetch 1 ,mem_hid_control_state 
+0x545d 009948 beq 0 ,l2cap_reset_hid_disconnected 
+0x545e 009949 rtn 
+:      009951 l2cap_reset_hid_disconnected:
+0x545f 009952 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+0x5460 009953 branch ui_ipc_send_event 
+:      009955 l2cap_disconnect_interrupt_req:
+0x5461 009956 fetch 1 ,mem_control_tasks 
+0x5462 009957 set0 l2cap_disconnect_interrupt ,pdata 
+0x5463 009958 store 1 ,mem_control_tasks 
+0x5464 009959 fetch 2 ,mem_hid_int_remote_cid 
+0x5465 009960 rtn blank 
+0x5466 009961 call l2cap_malloc_signal_channel 
+0x5467 009962 fetch 2 ,mem_hid_int_remote_cid 
+0x5468 009963 copy pdata ,rega 
+0x5469 009964 force l2cap_hid_interrupt_channel ,regb 
+0x546a 009965 branch l2cap_generate_disconnect_req 
+:      009966 l2cap_disconnect_control_req:
+0x546b 009967 fetch 1 ,mem_control_tasks 
+0x546c 009968 set0 l2cap_disconnect_control ,pdata 
+0x546d 009969 store 1 ,mem_control_tasks 
+0x546e 009970 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x546f 009971 rtn blank 
+0x5470 009972 call l2cap_malloc_signal_channel 
+0x5471 009973 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5472 009974 copy pdata ,rega 
+0x5473 009975 force l2cap_hid_control_channel ,regb 
+:      009976 l2cap_generate_disconnect_req:
+0x5474 009977 call l2cap_get_req_id 
+0x5475 009978 call l2cap_get_signal_tx_payload 
+0x5476 009979 force signal_disconnect_req ,pdata 
+0x5477 009980 istore 1 ,contw 
+0x5478 009981 fetch 1 ,mem_ml2cap_comm_id 
+0x5479 009982 istore 1 ,contw 
+0x547a 009983 setarg 0x0004 
+0x547b 009984 istore 2 ,contw 
+0x547c 009985 copy rega ,pdata 
+0x547d 009986 istore 2 ,contw 
+0x547e 009987 copy regb ,pdata 
+0x547f 009988 istore 2 ,contw 
+0x5480 009989 force 0x08 ,temp 
+0x5481 009990 branch ml2cap_send_signal 
+:      009992 ml2cap_send_signal_connect_req:
+0x5482 009993 bpatch patch1a_1 ,mem_patch1a 
+0x5483 009994 call l2cap_get_req_id 
+0x5484 009995 call l2cap_get_signal_tx_payload 
+0x5485 009996 setarg signal_connect_req 
+0x5486 009997 istore 1 ,contw 
+0x5487 009998 fetch 1 ,mem_ml2cap_comm_id 
+0x5488 009999 istore 1 ,contw 
+0x5489 010000 setarg 0x0004 
+0x548a 010001 istore 2 ,contw 
+0x548b 010002 copy temp ,pdata 
+0x548c 010003 istore 2 ,contw 
+0x548d 010004 copy timeup ,pdata 
+0x548e 010005 istore 2 ,contw 
+0x548f 010006 arg 8 ,temp 
+0x5490 010007 branch ml2cap_send_signal 
+:      010008 ml2cap_send_signal_config_req:
+0x5491 010009 bpatch patch1a_2 ,mem_patch1a 
+0x5492 010010 call l2cap_get_req_id 
+0x5493 010011 call l2cap_get_signal_tx_payload 
+0x5494 010012 setarg signal_config_req 
+0x5495 010013 istore 1 ,contw 
+0x5496 010014 fetch 1 ,mem_ml2cap_comm_id 
+0x5497 010015 istore 1 ,contw 
+0x5498 010016 setarg 0x0008 
+0x5499 010017 istore 2 ,contw 
+0x549a 010019 copy temp ,pdata 
+0x549b 010021 istore 2 ,contw 
+0x549c 010022 setarg 0x0000 
+0x549d 010023 istore 2 ,contw 
+0x549e 010024 setarg 0x01 
+0x549f 010025 istore 1 ,contw 
+0x54a0 010026 setarg 0x02 
+0x54a1 010027 istore 1 ,contw 
+0x54a2 010028 setarg l2cap_config_mtu_rfcomm 
+0x54a3 010029 istore 2 ,contw 
+0x54a4 010030 arg 0xc ,temp 
+0x54a5 010031 branch ml2cap_send_signal 
+:      010032 ml2cap_send_signal_disconn_req:
+0x54a6 010033 bpatch patch1a_3 ,mem_patch1a 
+0x54a7 010034 call l2cap_get_req_id 
+0x54a8 010035 call l2cap_get_signal_tx_payload 
+0x54a9 010036 setarg signal_disconnect_req 
+0x54aa 010037 istore 1 ,contw 
+0x54ab 010038 fetch 1 ,mem_ml2cap_comm_id 
+0x54ac 010039 increase 1 ,pdata 
+0x54ad 010040 copy contw ,rega 
+0x54ae 010041 store 1 ,mem_ml2cap_comm_id 
+0x54af 010042 copy rega ,contw 
+0x54b0 010043 istore 1 ,contw 
+0x54b1 010044 setarg 0x0004 
+0x54b2 010045 istore 2 ,contw 
+0x54b3 010046 copy temp ,pdata 
+0x54b4 010047 istore 2 ,contw 
+0x54b5 010048 copy timeup ,pdata 
+0x54b6 010049 istore 2 ,contw 
+0x54b7 010050 arg 0x8 ,temp 
+:      010053 ml2cap_send_signal:
+0x54b8 010054 storet 2 ,mem_l2cap_signal_tx_length 
+0x54b9 010055 copy temp ,pdata 
+0x54ba 010056 branch l2cap_malloc_discard ,blank 
+0x54bb 010057 call l2cap_get_signal_tx_buff 
+0x54bc 010058 fetch 2 ,mem_l2cap_signal_tx_length 
+0x54bd 010059 istore 2 ,contw 
+0x54be 010060 force l2cap_signal_channel ,pdata 
+0x54bf 010061 istore 2 ,contw 
+0x54c0 010062 rtn 
+:      010064 msdp_send_req_done:
+0x54c1 010065 fetch 2 ,mem_sdp_tx_pkt_length 
+0x54c2 010066 branch assert ,blank 
+0x54c3 010067 call l2cap_get_sdp_tx_buff 
+0x54c4 010068 fetch 2 ,mem_sdp_tx_pkt_length 
+0x54c5 010069 istore 2 ,contw 
+0x54c6 010070 fetch 2 ,mem_sdp_remote_cid 
+0x54c7 010071 istore 2 ,contw 
+0x54c8 010072 rtn 
+:      010073 ml2cap_rx_multiplexing:
+0x54c9 010074 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x54ca 010075 branch l2cap_rx_reset_state ,blank 
+0x54cb 010076 bpatch patch1a_4 ,mem_patch1a 
+0x54cc 010077 fetch 1 ,mem_l2cap_rx_cid 
+0x54cd 010078 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+0x54ce 010079 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+0x54cf 010080 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x54d0 010081 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x54d1 010082 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x54d2 010083 branch l2cap_rx_reset_state 
+:      010085 ml2cap_call_proc_signal:
+0x54d3 010086 bpatch patch1a_5 ,mem_patch1a 
+0x54d4 010087 call l2cap_malloc_signal_channel 
+0x54d5 010088 force 0 ,regb 
+0x54d6 010089 call l2cap_get_signal_tx_payload 
+0x54d7 010090 copy pdata ,contw 
+0x54d8 010091 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x54d9 010092 copy pdata ,regc 
+0x54da 010093 fetch 2 ,mem_l2cap_payload_ptr 
+0x54db 010094 iforce contr 
+:      010095 ml2cap_proc_one_comm_loop:
+0x54dc 010096 call ml2cap_proc_one_comm 
+0x54dd 010097 increase -4 ,regc 
+0x54de 010098 nbranch ml2cap_proc_one_comm_loop ,zero 
+0x54df 010099 copy regb ,temp 
+0x54e0 010100 call ml2cap_send_signal 
+0x54e1 010101 branch l2cap_rx_reset_state 
+:      010103 ml2cap_proc_one_comm:
+0x54e2 010104 ifetch 1 ,contr 
+0x54e3 010105 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+0x54e4 010106 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+0x54e5 010107 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+0x54e6 010108 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+0x54e7 010109 beq signal_config_req ,ml2cap_proc_signal_config_req 
+0x54e8 010110 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+0x54e9 010111 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+0x54ea 010112 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x54eb 010113 beq signal_info_req ,ml2cap_proc_signal_info_req 
+0x54ec 010114 branch ml2cap_proc_send_reject 
+:      010116 ml2cap_proc_signal_connect_req:
+0x54ed 010117 call save_cont_pointers 
+0x54ee 010119 call load_cont_pointers 
+0x54ef 010120 branch l2cap_proc_signal_connect_req 
+:      010121 ml2cap_proc_signal_cmd_reject:
+0x54f0 010122 ifetch 1 ,contr 
+0x54f1 010123 copy pdata ,queue 
+0x54f2 010124 ifetch 2 ,contr 
+0x54f3 010125 copy pdata ,rega 
+0x54f4 010126 copy regc ,pdata 
+0x54f5 010127 isub rega ,regc 
+:      010128 mvptr:
+0x54f6 010129 ifetch 1 ,contr 
+0x54f7 010130 increase -1 ,rega 
+0x54f8 010131 nbranch mvptr ,zero 
+0x54f9 010132 rtn 
+:      010133 ml2cap_proc_signal_connect_rsp:
+0x54fa 010134 ifetch 1 ,contr 
+0x54fb 010135 copy pdata ,queue 
+0x54fc 010136 ifetch 2 ,contr 
+0x54fd 010137 copy pdata ,rega 
+0x54fe 010138 ifetch 2 ,contr 
+0x54ff 010139 copy pdata ,timeup 
+0x5500 010140 ifetch 2 ,contr 
+0x5501 010141 copy pdata ,temp 
+0x5502 010142 ifetch 2 ,contr 
+0x5503 010143 sub pdata ,0 ,null 
+0x5504 010144 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+0x5505 010145 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+0x5506 010146 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+0x5507 010147 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+:      010148 ml2cap_proc_signal_connect_refused_result:
+0x5508 010149 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+0x5509 010150 call ui_ipc_send_event 
+:      010151 ml2cap_proc_signal_connect_rsp_mnosucc:
+0x550a 010152 ifetch 2 ,contr 
+0x550b 010153 branch mnosucc 
+:      010154 ml2cap_proc_signal_connect_rsp_sucessful:
+0x550c 010155 call save_cont_pointers 
+0x550d 010159 bpatch patch1a_6 ,mem_patch1a 
+0x550e 010160 setarg l2cap_sdp_channel 
+0x550f 010161 isub temp ,null 
+0x5510 010162 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+0x5511 010163 setarg l2cap_rfcomm_channel 
+0x5512 010164 isub temp ,null 
+0x5513 010165 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x5514 010166 setarg l2cap_hid_interrupt_channel 
+0x5515 010167 isub temp ,null 
+0x5516 010168 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x5517 010169 setarg l2cap_hid_control_channel 
+0x5518 010170 isub temp ,null 
+0x5519 010171 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x551a 010172 branch mnosucc 
+:      010173 ml2cap_proc_signal_connect_rsp_sdp:
+0x551b 010174 copy timeup ,pdata 
+0x551c 010175 store 2 ,mem_sdp_remote_cid 
+0x551d 010176 fetch 1 ,mem_sdp_state 
+0x551e 010177 set1 l2cap_channel_state_conn_res 
+0x551f 010178 store 1 ,mem_sdp_state 
+0x5520 010179 branch mnosucc1 
+:      010180 ml2cap_proc_signal_connect_rsp_rfcomm:
+0x5521 010181 copy timeup ,pdata 
+0x5522 010182 store 2 ,mem_rfcomm_remote_cid 
+0x5523 010183 fetch 1 ,mem_rfcomm_state 
+0x5524 010184 set1 l2cap_channel_state_conn_res 
+0x5525 010185 store 1 ,mem_rfcomm_state 
+0x5526 010186 branch mnosucc1 
+:      010187 ml2cap_proc_signal_connect_rsp_hid_ctrl:
+0x5527 010188 copy timeup ,pdata 
+0x5528 010189 store 2 ,mem_hid_ctrl_remote_cid 
+0x5529 010190 fetch 1 ,mem_hid_control_state 
+0x552a 010191 set1 l2cap_channel_state_conn_res 
+0x552b 010192 store 1 ,mem_hid_control_state 
+0x552c 010193 branch mnosucc1 
+:      010194 ml2cap_proc_signal_connect_rsp_hid_int:
+0x552d 010195 copy timeup ,pdata 
+0x552e 010196 store 2 ,mem_hid_int_remote_cid 
+0x552f 010197 fetch 1 ,mem_hid_interrupt_state 
+0x5530 010198 set1 l2cap_channel_state_conn_res 
+0x5531 010199 store 1 ,mem_hid_interrupt_state 
+:      010202 mnosucc1:
+0x5532 010203 call load_cont_pointers 
+:      010204 mnosucc:
+0x5533 010205 copy regc ,pdata 
+0x5534 010206 isub rega ,regc 
+0x5535 010207 rtn 
+:      010209 ml2cap_proc_signal_config_rsp:
+0x5536 010210 ifetch 1 ,contr 
+0x5537 010211 copy pdata ,queue 
+0x5538 010212 ifetch 2 ,contr 
+0x5539 010213 copy pdata ,rega 
+0x553a 010214 copy regc ,pdata 
+0x553b 010215 isub rega ,regc 
+0x553c 010216 ifetch 2 ,contr 
+0x553d 010217 copy pdata ,timeup 
+0x553e 010218 ifetch 2 ,contr 
+0x553f 010219 ifetch 2 ,contr 
+0x5540 010220 nbranch mcrsdone1 ,blank 
+0x5541 010221 call save_cont_pointers 
+0x5542 010225 copy timeup ,temp 
+0x5543 010226 bpatch patch1a_7 ,mem_patch1a 
+0x5544 010227 setarg l2cap_sdp_channel 
+0x5545 010228 isub temp ,null 
+0x5546 010229 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+0x5547 010230 setarg l2cap_rfcomm_channel 
+0x5548 010231 isub temp ,null 
+0x5549 010232 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x554a 010233 setarg l2cap_hid_control_channel 
+0x554b 010234 isub temp ,null 
+0x554c 010235 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x554d 010236 setarg l2cap_hid_interrupt_channel 
+0x554e 010237 isub temp ,null 
+0x554f 010238 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+:      010239 ml2cap_proc_signal_config_rsp_sdp:
+0x5550 010240 fetch 1 ,mem_sdp_state 
+0x5551 010241 set1 l2cap_channel_state_rcv_cfg_res 
+0x5552 010242 store 1 ,mem_sdp_state 
+0x5553 010243 rtn 
+:      010244 ml2cap_proc_signal_config_rsp_rfcomm:
+0x5554 010245 fetch 1 ,mem_rfcomm_state 
+0x5555 010246 set1 l2cap_channel_state_rcv_cfg_res 
+0x5556 010247 store 1 ,mem_rfcomm_state 
+0x5557 010248 rtn 
+:      010249 ml2cap_proc_signal_config_rsp_hid_ctrl:
+0x5558 010250 fetch 1 ,mem_hid_control_state 
+0x5559 010251 set1 l2cap_channel_state_rcv_cfg_res 
+0x555a 010252 store 1 ,mem_hid_control_state 
+0x555b 010253 rtn 
+:      010254 ml2cap_proc_signal_config_rsp_hid_int:
+0x555c 010255 fetch 1 ,mem_hid_interrupt_state 
+0x555d 010256 set1 l2cap_channel_state_rcv_cfg_res 
+0x555e 010257 store 1 ,mem_hid_interrupt_state 
+0x555f 010258 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x5560 010259 branch ui_ipc_send_event 
+:      010262 mcfrsdone:
+0x5561 010263 call load_cont_pointers 
+:      010264 mcrsdone1:
+0x5562 010265 increase -6 ,rega 
+:      010266 mloop2:
+0x5563 010267 branch mcrsdone ,zero 
+0x5564 010268 increase 1 ,contr 
+0x5565 010269 increase -1 ,rega 
+0x5566 010270 branch mloop2 
+:      010271 mcrsdone:
+0x5567 010272 rtn 
+:      010273 ml2cap_proc_signal_config_req:
+0x5568 010274 ifetch 1 ,contr 
+0x5569 010275 copy pdata ,queue 
+0x556a 010276 ifetch 2 ,contr 
+0x556b 010277 copy pdata ,rega 
+0x556c 010278 copy regc ,pdata 
+0x556d 010279 isub rega ,regc 
+0x556e 010280 ifetch 2 ,contr 
+0x556f 010281 increase 2 ,contr 
+0x5570 010282 copy pdata ,temp 
+0x5571 010283 setarg signal_config_rsp 
+0x5572 010284 istore 1 ,contw 
+0x5573 010285 copy queue ,pdata 
+0x5574 010286 istore 1 ,contw 
+0x5575 010287 increase 2 ,rega 
+0x5576 010288 copy rega ,pdata 
+0x5577 010289 istore 2 ,contw 
+0x5578 010290 call save_cont_pointers 
+0x5579 010291 bpatch patch1b_0 ,mem_patch1b 
+0x557a 010292 setarg l2cap_sdp_channel 
+0x557b 010293 isub temp ,null 
+0x557c 010294 branch ml2cap_proc_signal_config_req_sdp ,zero 
+0x557d 010295 setarg l2cap_rfcomm_channel 
+0x557e 010296 isub temp ,null 
+0x557f 010297 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+0x5580 010298 setarg l2cap_hid_control_channel 
+0x5581 010299 isub temp ,null 
+0x5582 010300 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x5583 010301 setarg l2cap_hid_interrupt_channel 
+0x5584 010302 isub temp ,null 
+0x5585 010303 branch ml2cap_proc_signal_config_req_hid_int ,zero 
+0x5586 010304 branch mcfgrq_done 
+:      010305 ml2cap_proc_signal_config_req_sdp:
+0x5587 010306 fetch 1 ,mem_sdp_state 
+0x5588 010307 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x5589 010308 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x558a 010309 store 1 ,mem_sdp_state 
+0x558b 010310 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+0x558c 010311 fetcht 1 ,mem_control_tasks 
+0x558d 010312 set1 l2cap_init_config_req ,temp 
+0x558e 010313 storet 1 ,mem_control_tasks 
+0x558f 010314 copy queue ,pdata 
+0x5590 010315 increase 1 ,pdata 
+0x5591 010316 store 1 ,mem_config_identifier 
+0x5592 010317 fetch 1 ,mem_sdp_state 
+0x5593 010318 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x5594 010319 store 1 ,mem_sdp_state 
+:      010320 ml2cap_proc_signal_config_req_sdp_nsndreq:
+0x5595 010321 fetch 2 ,mem_sdp_remote_cid 
+0x5596 010322 store 2 ,mem_config_req_dest_cid 
+0x5597 010323 branch mcfgrq_done 
+:      010324 ml2cap_proc_signal_config_req_rfcomm:
+0x5598 010325 fetch 1 ,mem_rfcomm_state 
+0x5599 010326 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x559a 010327 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x559b 010328 store 1 ,mem_rfcomm_state 
+0x559c 010329 fetch 2 ,mem_rfcomm_remote_cid 
+0x559d 010330 branch mcfgrq_done 
+:      010331 ml2cap_proc_signal_config_req_hid_ctrl:
+0x559e 010332 fetch 1 ,mem_hid_control_state 
+0x559f 010333 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x55a0 010334 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x55a1 010335 store 1 ,mem_hid_control_state 
+0x55a2 010336 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x55a3 010337 branch mcfgrq_done 
+:      010338 ml2cap_proc_signal_config_req_hid_int:
+0x55a4 010339 fetch 1 ,mem_hid_interrupt_state 
+0x55a5 010340 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x55a6 010341 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x55a7 010342 store 1 ,mem_hid_interrupt_state 
+0x55a8 010343 fetch 2 ,mem_hid_int_remote_cid 
+:      010346 mcfgrq_done:
+0x55a9 010347 copy pdata ,timeup 
+0x55aa 010348 call load_cont_pointers 
+0x55ab 010350 copy timeup ,pdata 
+0x55ac 010352 istore 2 ,contw 
+0x55ad 010353 force 0x0000 ,pdata 
+0x55ae 010354 istore 2 ,contw 
+0x55af 010355 force 0x0000 ,pdata 
+0x55b0 010356 istore 2 ,contw 
+0x55b1 010357 force 10 ,pdata 
+0x55b2 010358 iadd regb ,regb 
+0x55b3 010359 increase -6 ,rega 
+:      010360 mloop1:
+0x55b4 010361 branch mcrqdone ,zero 
+0x55b5 010362 ifetch 1 ,contr 
+0x55b6 010363 istore 1 ,contw 
+0x55b7 010364 increase 1 ,regb 
+0x55b8 010365 increase -1 ,rega 
+0x55b9 010366 branch mloop1 
+:      010367 mcrqdone:
+0x55ba 010368 rtn 
+:      010369 ml2cap_proc_signal_disconn_req:
+0x55bb 010370 ifetch 1 ,contr 
+0x55bc 010371 copy pdata ,queue 
+0x55bd 010372 ifetch 2 ,contr 
+0x55be 010373 copy pdata ,rega 
+0x55bf 010374 copy regc ,pdata 
+0x55c0 010375 isub rega ,regc 
+0x55c1 010377 ifetch 2 ,contr 
+0x55c2 010378 copy pdata ,rega 
+0x55c3 010379 ifetch 2 ,contr 
+0x55c4 010380 copy pdata ,timeup 
+0x55c5 010381 call save_cont_pointers 
+0x55c6 010382 bpatch patch1b_1 ,mem_patch1b 
+0x55c7 010383 setarg l2cap_sdp_channel 
+0x55c8 010384 copy rega ,temp 
+0x55c9 010385 isub temp ,null 
+0x55ca 010386 branch ml2cap_proc_signal_disconn_sdp ,zero 
+0x55cb 010387 setarg l2cap_hid_control_channel 
+0x55cc 010388 copy rega ,temp 
+0x55cd 010389 isub temp ,null 
+0x55ce 010390 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+0x55cf 010391 setarg l2cap_hid_interrupt_channel 
+0x55d0 010392 copy rega ,temp 
+0x55d1 010393 isub temp ,null 
+0x55d2 010394 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+0x55d3 010395 branch mclsrfc 
+:      010396 ml2cap_proc_signal_disconn_sdp:
+0x55d4 010397 setarg 0x0000 
+0x55d5 010398 store 2 ,mem_sdp_tx_pkt_length 
+0x55d6 010399 store 2 ,mem_sdp_remote_cid 
+0x55d7 010400 store 1 ,mem_sdp_state 
+0x55d8 010401 branch mclssdp 
+:      010402 ml2cap_proc_signal_disconn_hid_ctrl:
+0x55d9 010403 call l2cap_reset_hid_ctrl_state 
+0x55da 010404 branch mclssdp 
+:      010405 ml2cap_proc_signal_disconn_hid_int:
+0x55db 010406 call l2cap_reset_hid_int_state 
+0x55dc 010412 branch mclssdp 
+:      010413 mclsrfc:
+0x55dd 010414 setarg 0x0000 
+0x55de 010415 store 2 ,mem_rfcomm_tx_pkt_length 
+:      010416 mclssdp:
+0x55df 010417 call load_cont_pointers 
+0x55e0 010418 setarg signal_disconnect_rsp 
+0x55e1 010419 istore 1 ,contw 
+0x55e2 010420 copy queue ,pdata 
+0x55e3 010421 istore 1 ,contw 
+0x55e4 010422 setarg 0x0004 
+0x55e5 010423 istore 2 ,contw 
+0x55e6 010424 copy rega ,pdata 
+0x55e7 010425 istore 2 ,contw 
+0x55e8 010426 copy timeup ,pdata 
+0x55e9 010427 istore 2 ,contw 
+0x55ea 010428 force 8 ,pdata 
+0x55eb 010429 iadd regb ,regb 
+0x55ec 010430 rtn 
+:      010432 ml2cap_proc_signal_disconn_rsp:
+0x55ed 010433 ifetch 1 ,contr 
+0x55ee 010434 copy pdata ,queue 
+0x55ef 010435 ifetch 2 ,contr 
+0x55f0 010436 copy pdata ,rega 
+0x55f1 010437 ifetch 2 ,contr 
+0x55f2 010438 copy pdata ,timeup 
+0x55f3 010439 ifetch 2 ,contr 
+0x55f4 010440 copy pdata ,temp 
+0x55f5 010441 call save_cont_pointers 
+0x55f6 010442 bpatch patch1b_2 ,mem_patch1b 
+0x55f7 010443 fetch 1 ,mem_ml2cap_comm_id 
+0x55f8 010444 icompare 0xff ,queue 
+0x55f9 010445 nbranch mdisdone ,true 
+0x55fa 010446 setarg l2cap_sdp_channel 
+0x55fb 010447 isub temp ,null 
+0x55fc 010448 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+0x55fd 010449 setarg l2cap_rfcomm_channel 
+0x55fe 010450 isub temp ,null 
+0x55ff 010451 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+0x5600 010452 branch mdisdone 
+:      010453 ml2cap_proc_signal_disconn_rsp_sdp:
+0x5601 010454 jam 0 ,mem_sdp_remote_cid 
+0x5602 010455 jam 0 ,mem_sdp_state 
+0x5603 010456 branch mdisdone 
+:      010457 ml2cap_proc_signal_disconn_rsp_rfcomm:
+:      010460 mdisdone:
+0x5604 010461 call load_cont_pointers 
+0x5605 010462 copy regc ,pdata 
+0x5606 010463 isub rega ,regc 
+0x5607 010464 rtn 
+:      010466 ml2cap_proc_send_reject:
+0x5608 010467 setarg signal_cmd_reject 
+0x5609 010468 istore 1 ,contw 
+0x560a 010469 ifetch 1 ,contr 
+0x560b 010470 istore 1 ,contw 
+0x560c 010471 setarg 0x0002 
+0x560d 010472 istore 2 ,contw 
+0x560e 010473 setarg 0x0000 
+0x560f 010474 istore 2 ,contw 
+0x5610 010475 setarg 0x0006 
+0x5611 010476 iadd regb ,regb 
+0x5612 010477 force 4 ,regc 
+0x5613 010478 rtn 
+:      010481 l2cap_get_req_id:
+0x5614 010482 fetch 1 ,mem_ml2cap_comm_id 
+0x5615 010483 increase 1 ,pdata 
+0x5616 010484 bne 0 ,l2cap_get_req_id_ok 
+0x5617 010485 increase 1 ,pdata 
+:      010486 l2cap_get_req_id_ok:
+0x5618 010487 store 1 ,mem_ml2cap_comm_id 
+0x5619 010488 rtn 
+:      010498 l2cap_malloc:
+0x561a 010499 bpatch patch1b_3 ,mem_patch1b 
+0x561b 010500 arg 0 ,regb 
+0x561c 010501 call l2cap_malloc_is_fifo_full 
+0x561d 010502 nbranch assert ,blank 
+0x561e 010503 call l2cap_malloc_get_full_map 
+0x561f 010504 arg mem_tx_buff0 ,regb 
+0x5620 010505 arg 0 ,queue 
+:      010506 l2cap_malloc_loop:
+0x5621 010507 fetcht 1 ,mem_used_map 
+0x5622 010508 qisolate1 temp 
+0x5623 010509 branch l2cap_malloc_next ,true 
+0x5624 010510 call l2cap_malloc_enough 
+0x5625 010511 sub timeup ,0 ,null 
+0x5626 010512 branch l2cap_malloc_next ,positive 
+0x5627 010513 call l2cap_malloc_into_fifo 
+0x5628 010514 branch l2cap_malloc_rtn 
+:      010515 l2cap_malloc_next:
+0x5629 010516 increase 128 ,regb 
+0x562a 010517 increase 1 ,queue 
+0x562b 010518 setarg 8 
+0x562c 010519 isub queue ,null 
+0x562d 010520 branch l2cap_malloc_loop ,positive 
+0x562e 010521 arg 0 ,regb 
+:      010522 l2cap_malloc_rtn:
+0x562f 010523 copy regb ,pdata 
+0x5630 010524 branch assert ,blank 
+0x5631 010525 rtn 
+:      010533 l2cap_malloc_fifo_out:
+0x5632 010534 bpatch patch1b_4 ,mem_patch1b 
+0x5633 010535 call l2cap_malloc_fifo_get_first_ptr 
+0x5634 010536 increase 1 ,contr 
+0x5635 010537 ifetch 2 ,contr 
+0x5636 010538 rtn 
+:      010544 l2cap_malloc_free:
+0x5637 010545 bpatch patch1b_5 ,mem_patch1b 
+0x5638 010546 call l2cap_malloc_fifo_get_first_ptr 
+0x5639 010547 copy contr ,contw 
+0x563a 010548 copy contr ,temp 
+0x563b 010549 setarg 0 
+0x563c 010550 istore 3 ,contw 
+0x563d 010551 rtn 
+:      010556 l2cap_malloc_discard:
+0x563e 010557 bpatch patch1b_6 ,mem_patch1b 
+0x563f 010558 call l2cap_malloc_is_fifo_empty 
+0x5640 010559 branch assert ,blank 
+0x5641 010560 fetch 3 ,mem_tx_fifo2 
+0x5642 010561 store 3 ,mem_tx_fifo3 
+0x5643 010562 fetch 3 ,mem_tx_fifo1 
+0x5644 010563 store 3 ,mem_tx_fifo2 
+0x5645 010564 fetch 3 ,mem_tx_fifo0 
+0x5646 010565 store 3 ,mem_tx_fifo1 
+0x5647 010566 rtn 
+:      010572 l2cap_malloc_is_fifo_full:
+0x5648 010573 bpatch patch1b_7 ,mem_patch1b 
+0x5649 010574 fetch 3 ,mem_tx_fifo0 
+0x564a 010575 rtn 
+:      010581 l2cap_malloc_is_fifo_nearly_full:
+0x564b 010582 bpatch patch1c_0 ,mem_patch1c 
+0x564c 010583 fetch 3 ,mem_tx_fifo1 
+0x564d 010584 rtn 
+:      010590 l2cap_malloc_is_fifo_empty:
+0x564e 010591 bpatch patch1c_1 ,mem_patch1c 
+0x564f 010592 fetch 3 ,mem_tx_fifo3 
+0x5650 010593 rtn 
+:      010598 l2cap_malloc_fifo_get_first_ptr:
+0x5651 010599 call l2cap_malloc_is_fifo_empty 
+0x5652 010600 branch assert ,blank 
+0x5653 010601 arg mem_tx_fifo0 ,contr 
+:      010602 l2cap_malloc_free_loop:
+0x5654 010603 ifetch 3 ,contr 
+0x5655 010604 branch l2cap_malloc_free_loop ,blank 
+0x5656 010605 increase -3 ,contr 
+0x5657 010606 rtn 
+:      010613 l2cap_malloc_get_full_map:
+0x5658 010614 bpatch patch1c_2 ,mem_patch1c 
+0x5659 010615 arg 4 ,loopcnt 
+0x565a 010616 arg mem_tx_fifo0_map ,contr 
+0x565b 010617 arg 0 ,temp 
+:      010618 l2cap_malloc_get_full_map_loop:
+0x565c 010619 ifetch 3 ,contr 
+0x565d 010620 and pdata ,0xff ,pdata 
+0x565e 010621 ior temp ,temp 
+0x565f 010622 loop l2cap_malloc_get_full_map_loop 
+0x5660 010623 storet 1 ,mem_used_map 
+0x5661 010624 rtn 
+:      010632 l2cap_malloc_into_fifo:
+0x5662 010633 bpatch patch1c_3 ,mem_patch1c 
+0x5663 010634 call l2cap_malloc_is_fifo_full 
+0x5664 010635 nbranch assert ,blank 
+0x5665 010636 call l2cap_malloc_is_fifo_empty 
+0x5666 010637 branch l2cap_malloc_into_fifo_no_push ,blank 
+0x5667 010638 fetch 3 ,mem_tx_fifo1 
+0x5668 010639 store 3 ,mem_tx_fifo0 
+0x5669 010640 ifetch 3 ,contr 
+0x566a 010641 istore 3 ,contw 
+0x566b 010642 ifetch 3 ,contr 
+0x566c 010643 istore 3 ,contw 
+0x566d 010644 setarg 0 
+0x566e 010645 istore 3 ,contw 
+:      010646 l2cap_malloc_into_fifo_no_push:
+0x566f 010647 arg 0 ,temp 
+0x5670 010648 copy timeup ,pdata 
+0x5671 010649 iadd queue ,pdata 
+:      010650 l2cap_malloc_into_fifo_loop:
+0x5672 010651 qset1 temp 
+0x5673 010652 increase 1 ,queue 
+0x5674 010653 isub queue ,null 
+0x5675 010654 nbranch l2cap_malloc_into_fifo_loop ,zero 
+0x5676 010656 lshift8 regb ,pdata 
+0x5677 010657 ior temp ,pdata 
+0x5678 010658 store 3 ,mem_tx_fifo3 
+0x5679 010659 rtn 
+:      010669 l2cap_malloc_enough:
+0x567a 010670 bpatch patch1c_4 ,mem_patch1c 
+0x567b 010671 call l2cap_malloc_get_full_map 
+0x567c 010672 copy queue ,regc 
+0x567d 010673 arg 0 ,temp 
+0x567e 010674 arg 0 ,timeup 
+:      010676 l2cap_malloc_enough_loop:
+0x567f 010677 copy queue ,pdata 
+0x5680 010678 beq 8 ,l2cap_malloc_enough_end 
+0x5681 010679 fetch 1 ,mem_used_map 
+0x5682 010680 qisolate1 pdata 
+0x5683 010681 branch l2cap_malloc_enough_end ,true 
+0x5684 010682 increase 128 ,temp 
+0x5685 010683 increase 1 ,queue 
+0x5686 010684 copy rega ,pdata 
+0x5687 010685 isub temp ,null 
+0x5688 010686 branch l2cap_malloc_enough_end ,zero 
+0x5689 010687 branch l2cap_malloc_enough_loop ,positive 
+:      010688 l2cap_malloc_enough_end:
+0x568a 010689 copy temp ,pdata 
+0x568b 010690 isub rega ,null 
+0x568c 010691 nbranch l2cap_malloc_enough_rtn ,positive 
+0x568d 010692 copy queue ,pdata 
+0x568e 010693 copy regc ,temp 
+0x568f 010694 isub temp ,timeup 
+:      010695 l2cap_malloc_enough_rtn:
+0x5690 010696 copy regc ,queue 
+0x5691 010697 rtn 
+:      010700 l2cap_malloc_signal_channel:
+0x5692 010701 bpatch patch1c_5 ,mem_patch1c 
+0x5693 010702 arg l2cap_signal_malloc_size ,rega 
+0x5694 010703 call l2cap_malloc 
+0x5695 010704 store 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x5696 010705 increase 4 ,pdata 
+0x5697 010706 store 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x5698 010707 setarg 0 
+0x5699 010708 store 2 ,mem_l2cap_signal_tx_length 
+0x569a 010709 rtn 
+:      010711 l2cap_get_signal_tx_buff:
+0x569b 010712 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x569c 010713 branch l2cap_util_pdata_to_contw 
+:      010715 l2cap_get_signal_tx_payload:
+0x569d 010716 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x569e 010717 branch l2cap_util_pdata_to_contw 
+:      010720 l2cap_malloc_sdp_channel:
+0x569f 010721 bpatch patch1c_6 ,mem_patch1c 
+0x56a0 010722 arg sdp_malloc_size ,rega 
+0x56a1 010723 call l2cap_malloc 
+0x56a2 010724 store 2 ,mem_sdp_tx_buff_ptr 
+0x56a3 010725 increase 4 ,pdata 
+0x56a4 010726 store 2 ,mem_sdp_tx_payload_ptr 
+0x56a5 010727 setarg 0 
+0x56a6 010728 store 2 ,mem_sdp_tx_pkt_length 
+0x56a7 010729 rtn 
+:      010731 l2cap_get_sdp_tx_buff:
+0x56a8 010732 fetch 2 ,mem_sdp_tx_buff_ptr 
+0x56a9 010733 branch l2cap_util_pdata_to_contw 
+:      010735 l2cap_get_sdp_tx_payload:
+0x56aa 010736 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x56ab 010737 branch l2cap_util_pdata_to_contw 
+:      010740 l2cap_malloc_rfcomm_channel:
+0x56ac 010741 bpatch patch1c_7 ,mem_patch1c 
+0x56ad 010742 call push_stack 
+0x56ae 010743 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+0x56af 010744 call l2cap_malloc_is_fifo_full 
+0x56b0 010745 nrtn blank 
+0x56b1 010746 arg rfcomm_malloc_size ,rega 
+0x56b2 010747 call l2cap_malloc 
+0x56b3 010748 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x56b4 010749 increase 4 ,pdata 
+0x56b5 010750 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x56b6 010751 setarg 0 
+0x56b7 010752 store 2 ,mem_rfcomm_tx_pkt_length 
+0x56b8 010753 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x56b9 010754 branch pop_stack 
+:      010756 l2cap_get_rfcomm_tx_buff:
+0x56ba 010757 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x56bb 010758 branch l2cap_util_pdata_to_contw 
+:      010760 l2cap_util_pdata_to_contw:
+0x56bc 010761 branch assert ,blank 
+0x56bd 010762 copy pdata ,contw 
+0x56be 010763 rtn 
+:      010766 l2cap_lpm_save_calc_len:
+0x56bf 010767 bpatch patch1d_0 ,mem_patch1d 
+0x56c0 010768 arg 0 ,regb 
+0x56c1 010769 arg mem_tx_fifo0_map ,rega 
+0x56c2 010770 increase -2 ,rega 
+:      010771 l2cap_lpm_save_calc_len_loop:
+0x56c3 010772 increase 2 ,rega 
+0x56c4 010773 setarg mem_tx_fifo_end 
+0x56c5 010774 isub rega ,null 
+0x56c6 010775 branch l2cap_lpm_save_calc_len_end ,zero 
+0x56c7 010776 ifetch 1 ,rega 
+0x56c8 010777 increase 1 ,rega 
+0x56c9 010778 branch l2cap_lpm_save_calc_len_loop ,blank 
+0x56ca 010779 ifetcht 2 ,rega 
+0x56cb 010780 ifetch 2 ,temp 
+0x56cc 010781 iadd regb ,regb 
+0x56cd 010782 increase 4 ,regb 
+0x56ce 010783 branch l2cap_lpm_save_calc_len_loop 
+:      010784 l2cap_lpm_save_calc_len_end:
+0x56cf 010785 copy regb ,pdata 
+0x56d0 010786 rtn 
+:      010789 l2cap_lpm_get_wake_lock:
+0x56d1 010790 arg wake_lock_l2cap_tx ,queue 
+0x56d2 010791 branch lpm_get_wake_lock 
+:      010793 l2cap_lpm_put_wake_lock:
+0x56d3 010794 arg wake_lock_l2cap_tx ,queue 
+0x56d4 010795 branch lpm_put_wake_lock 
+:      010797 l2cap_lpm_save_txbuf:
+0x56d5 010798 bpatch patch1d_1 ,mem_patch1d 
+0x56d6 010799 call l2cap_malloc_get_full_map 
+0x56d7 010800 fetch 1 ,mem_used_map 
+0x56d8 010801 rtn blank 
+0x56d9 010802 call l2cap_lpm_save_calc_len 
+0x56da 010803 arg l2cap_lpm_txbuf_len ,temp 
+0x56db 010804 isub temp ,null 
+0x56dc 010805 branch l2cap_lpm_get_wake_lock ,positive 
+0x56dd 010806 call l2cap_lpm_put_wake_lock 
+0x56de 010807 arg mem_l2cap_lpm_txbuf ,contw 
+0x56df 010808 arg mem_tx_fifo0 ,rega 
+:      010809 l2cap_lpm_save_txbuf_loop:
+0x56e0 010810 setarg mem_tx_fifo_end 
+0x56e1 010811 isub rega ,null 
+0x56e2 010812 rtn zero 
+0x56e3 010813 ifetch 1 ,rega 
+0x56e4 010814 increase 1 ,rega 
+0x56e5 010815 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+0x56e6 010816 istore 2 ,contw 
+0x56e7 010817 increase 2 ,rega 
+0x56e8 010818 branch l2cap_lpm_save_txbuf_loop 
+:      010819 l2cap_lpm_save_txbuf_nempty:
+0x56e9 010820 ifetch 2 ,rega 
+0x56ea 010821 increase 2 ,rega 
+0x56eb 010822 copy pdata ,contr 
+0x56ec 010823 ifetch 2 ,contr 
+0x56ed 010824 istore 2 ,contw 
+0x56ee 010825 copy pdata ,loopcnt 
+0x56ef 010826 increase 2 ,loopcnt 
+0x56f0 010827 call memcpy 
+0x56f1 010828 branch l2cap_lpm_save_txbuf_loop 
+:      010830 l2cap_lpm_load_txbuf:
+0x56f2 010831 bpatch patch1d_2 ,mem_patch1d 
+0x56f3 010832 call l2cap_malloc_get_full_map 
+0x56f4 010833 fetch 1 ,mem_used_map 
+0x56f5 010834 rtn blank 
+0x56f6 010835 arg mem_tx_fifo0_ptr ,rega 
+0x56f7 010836 increase -3 ,rega 
+0x56f8 010837 arg mem_l2cap_lpm_txbuf ,contr 
+:      010838 l2cap_lpm_load_txbuf_loop:
+0x56f9 010839 increase 3 ,rega 
+0x56fa 010840 setarg mem_tx_fifo_end + 1 
+0x56fb 010841 isub rega ,null 
+0x56fc 010842 rtn zero 
+0x56fd 010843 ifetch 2 ,contr 
+0x56fe 010844 branch l2cap_lpm_load_txbuf_loop ,blank 
+0x56ff 010845 increase 4 ,pdata 
+0x5700 010846 copy pdata ,loopcnt 
+0x5701 010847 copy contr ,regb 
+0x5702 010848 ifetch 2 ,rega 
+0x5703 010849 copy pdata ,contw 
+0x5704 010850 copy regb ,contr 
+0x5705 010851 increase -2 ,contr 
+0x5706 010852 call memcpy 
+0x5707 010853 branch l2cap_lpm_load_txbuf_loop 
+:      010863 le_init_conn:
+0x5708 010864 bpatch patch1d_3 ,mem_patch1d 
+0x5709 010865 disable wake 
+0x570a 010866 jam 1 ,mem_le_conn_handle 
+0x570b 010867 jam 3 ,mem_le_state 
+0x570c 010868 jam 1 ,mem_le_arq 
+0x570d 010869 setarg -1 
+0x570e 010870 store 2 ,mem_le_event_count 
+0x570f 010871 force 0 ,pdata 
+0x5710 010872 store 1 ,mem_le_ch 
+0x5711 010873 store 1 ,mem_le_op 
+0x5712 010874 store 3 ,mem_sniff_rcv 
+0x5713 010875 store 3 ,mem_sniff_lost 
+0x5714 010876 store 5 ,mem_le_pcnt_tx 
+0x5715 010877 set1 39 ,pdata 
+0x5716 010878 store 5 ,mem_le_pcnt_rx 
+0x5717 010879 jam 1 ,mem_le_txheader 
+0x5718 010880 jam 0 ,mem_le_txlen 
+0x5719 010881 branch le_supervision_flush 
+:      010883 le_init_master:
+0x571a 010884 bpatch patch1d_4 ,mem_patch1d 
+0x571b 010885 enable master 
+0x571c 010886 jam lemode_master ,mem_le_mode 
+0x571d 010887 jam 1 ,mem_le_att_handle 
+0x571e 010888 jam 1 ,mem_le_search_handle_start 
+0x571f 010889 setarg 0xffff 
+0x5720 010890 store 2 ,mem_le_search_handle_end 
+0x5721 010891 force 0 ,pdata 
+0x5722 010892 store 5 ,mem_le_pcnt_rx 
+0x5723 010893 set1 39 ,pdata 
+0x5724 010894 store 5 ,mem_le_pcnt_tx 
+0x5725 010895 branch le_init_conn 
+:      010898 le_init_slave:
+0x5726 010899 bpatch patch1d_5 ,mem_patch1d 
+0x5727 010900 disable master 
+0x5728 010901 setarg 0x17 
+0x5729 010902 store 2 ,mem_le_remote_mtu 
+0x572a 010903 jam lemode_slave ,mem_le_mode 
+0x572b 010904 jam 0 ,mem_le_adv_enable 
+0x572c 010905 jam 0 ,mem_lpm_current_mult 
+0x572d 010906 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x572e 010907 jam flag_le_enc_null ,mem_le_enc_state 
+0x572f 010908 fetch 2 ,mem_le_superto 
+0x5730 010909 store 2 ,mem_le_init_superto 
+0x5731 010910 fetch 2 ,mem_le_tsniff 
+0x5732 010911 mul32 pdata ,5 ,pdata 
+0x5733 010912 rshift4 pdata ,pdata 
+0x5734 010913 store 2 ,mem_le_superto 
+0x5735 010914 branch le_init_conn 
+:      010920 le_dispatch:
+0x5736 010921 call le_enable 
+0x5737 010922 call le_scan 
+0x5738 010923 call le_adv 
+0x5739 010924 branch le_disable 
+:      010926 le_conn_dispatch:
+0x573a 010927 bpatch patch1d_6 ,mem_patch1d 
+0x573b 010928 call le_enable 
+0x573c 010929 call app_process_ble 
+0x573d 010930 fetch 1 ,mem_le_mode 
+0x573e 010931 beq lemode_master ,le_master_dispatch 
+0x573f 010932 branch le_slave_dispatch 
+:      010938 le_master_dispatch:
+0x5740 010939 bpatch patch1d_7 ,mem_patch1d 
+0x5741 010940 enable master 
+0x5742 010941 call le_supervision_update 
+0x5743 010942 branch le_master_disconn ,positive 
+0x5744 010943 call check_ble_disabled 
+0x5745 010944 call le_setup 
+0x5746 010945 call le_prepare_tx 
+0x5747 010946 disable match 
+0x5748 010947 call le_transmit_receive_sifs 
+0x5749 010948 nrtn match 
+0x574a 010949 bpatch patch1e_0 ,mem_patch1e 
+0x574b 010950 fetch 1 ,mem_le_conn_rcv 
+0x574c 010951 increase 1 ,pdata 
+0x574d 010952 store 1 ,mem_le_conn_rcv 
+0x574e 010953 call le_acknowledge 
+0x574f 010954 disable master 
+0x5750 010955 rtn 
+:      010957 le_master_disconn:
+0x5751 010958 call le_disconnect 
+0x5752 010959 disable master 
+0x5753 010960 rtn 
+:      010965 le_slave_dispatch:
+0x5754 010966 bpatch patch1e_1 ,mem_patch1e 
+0x5755 010967 jam 0 ,mem_le_md_count 
+0x5756 010968 call sp_calc_sequence_256 
+0x5757 010969 call le_secure_connect_sm 
+0x5758 010970 disable attempt 
+0x5759 010971 call le_supervision_update 
+0x575a 010972 branch le_slave_disconn ,positive 
+0x575b 010973 call check_ble_disabled 
+0x575c 010974 call le_setup 
+0x575d 010975 call le_receive_slave 
+0x575e 010976 nbranch le_slave_unsync ,sync 
+0x575f 010977 call le_got_first_packet 
+0x5760 010978 branch le_slave_match ,match 
+0x5761 010979 branch le_slave_cont 
+:      010982 le_slave_match:
+0x5762 010983 bpatch patch1e_2 ,mem_patch1e 
+0x5763 010984 fetch 1 ,mem_le_md_count 
+0x5764 010985 pincrease 1 
+0x5765 010986 store 1 ,mem_le_md_count 
+0x5766 010987 beq le_md_max_count ,le_slave_cont 
+0x5767 010988 call le_acknowledge 
+0x5768 010989 call le_prepare_tx 
+0x5769 010990 call le_transmit_norx 
+0x576a 010991 call le_parse 
+0x576b 010992 fetch 2 ,mem_cb_ble_transmit 
+0x576c 010993 call callback_func 
+0x576d 010994 call le_check_md 
+0x576e 010995 branch le_slave_more_data ,user 
+:      010996 le_slave_cont:
+0x576f 010997 bpatch patch1e_3 ,mem_patch1e 
+0x5770 010998 call le_pairing_sm 
+0x5771 010999 call le_check_paring_time 
+0x5772 011000 call check_51cmd 
+0x5773 011001 fetch 1 ,mem_le_op 
+0x5774 011002 bbit1 op_disconn ,le_slave_disconn 
+:      011003 le_slave_unsync:
+0x5775 011004 bpatch patch1e_4 ,mem_patch1e 
+0x5776 011005 call le_lpm_set_mult 
+0x5777 011006 call le_update_channel_map 
+0x5778 011007 call le_update_param 
+0x5779 011008 branch calc_clke_offset 
+:      011011 le_check_md:
+0x577a 011012 disable user 
+0x577b 011013 bmark1 mark_ble_rx_md ,enable_user 
+0x577c 011014 bmark1 mark_ble_tx_md ,enable_user 
+0x577d 011015 rtn 
+:      011018 le_slave_more_data:
+0x577e 011019 bpatch patch1e_5 ,mem_patch1e 
+0x577f 011020 enable attempt 
+0x5780 011021 call le_transmit_receive_sifs_notx 
+0x5781 011022 branch le_slave_match ,match 
+0x5782 011023 branch le_slave_cont 
+:      011025 le_slave_disconn:
+:      011028 le_disconnect:
+0x5783 011029 bpatch patch1e_6 ,mem_patch1e 
+0x5784 011030 call le_clear_connection_info 
+0x5785 011031 call app_disconn_reason_collect_ble 
+0x5786 011032 call sp_initialize_256 
+0x5787 011033 jam bt_evt_le_disconnected ,mem_fifo_temp 
+0x5788 011034 branch ui_ipc_send_event 
+:      011036 le_clear_connection_info:
+0x5789 011037 setarg 0 
+0x578a 011038 store 9 ,mem_le_tx_buff_used 
+0x578b 011039 jam 0 ,mem_le_conn_handle 
+0x578c 011040 jam lemode_idle ,mem_le_mode 
+0x578d 011041 jam 0 ,mem_le_state 
+0x578e 011042 jam flag_le_enc_null ,mem_le_enc_state 
+0x578f 011043 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5790 011044 rtn 
+:      011046 le_got_first_packet:
+0x5791 011047 bpatch patch1e_7 ,mem_patch1e 
+0x5792 011048 fetch 1 ,mem_le_conn_rcv 
+0x5793 011049 increase 1 ,pdata 
+0x5794 011050 store 1 ,mem_le_conn_rcv 
+0x5795 011051 fetch 1 ,mem_le_state 
+0x5796 011052 rtnbit1 lestate_got_first_packet 
+0x5797 011053 set1 lestate_got_first_packet 
+0x5798 011054 store 1 ,mem_le_state 
+0x5799 011055 fetch 2 ,mem_le_init_superto 
+0x579a 011056 store 2 ,mem_le_superto 
+0x579b 011057 setarg 0 
+0x579c 011058 store 4 ,mem_le_transmit_window 
+0x579d 011059 rtn 
+:      011062 le_enable:
+0x579e 011063 bpatch patch1f_0 ,mem_patch1f 
+0x579f 011064 hjam 0x36 ,0x90f 
+0x57a0 011065 hjam 0x5f ,0x90b 
+0x57a1 011066 enable le 
+0x57a2 011067 hjam 7 ,rfen_ulp 
+0x57a3 011068 call check_ble_disabled 
+0x57a4 011069 fetch 1 ,mem_250k_freq_enable 
+0x57a5 011070 rtn blank 
+0x57a6 011071 hjam 0xb8 ,0x90a 
+0x57a7 011072 rtn 
+:      011074 le_disable:
+0x57a8 011075 bpatch patch1f_1 ,mem_patch1f 
+0x57a9 011076 hjam 0x2e ,0x90f 
+0x57aa 011077 hjam 0xff ,0x90b 
+0x57ab 011078 disable le 
+0x57ac 011079 hjam 3 ,rfen_ulp 
+0x57ad 011080 arg 0 ,stop_watch 
+0x57ae 011081 rtn 
+:      011083 le_prep:
+0x57af 011084 disable enable_crc 
+0x57b0 011085 disable enable_white 
+0x57b1 011086 fetch 3 ,mem_le_crcinit 
+0x57b2 011087 iforce crc24_init 
+0x57b3 011088 fetch 1 ,mem_le_ch_mapped 
+0x57b4 011089 reverse pdata ,temp 
+0x57b5 011090 set1 1 ,temp 
+0x57b6 011091 rshift temp ,white_init 
+0x57b7 011092 rtn 
+:      011095 lerx_setfreq:
+0x57b8 011096 call le_setfreq 
+0x57b9 011097 call set_freq_rx 
+0x57ba 011098 setarg param_pll_setup 
+0x57bb 011099 call sleep 
+0x57bc 011100 branch rf_rx_enable 
+:      011102 letx_setfreq:
+0x57bd 011103 branch txon ,match 
+:      011104 letx_setfreq0:
+0x57be 011105 call le_setfreq 
+0x57bf 011106 branch set_freq_tx 
+:      011107 le_setfreq:
+0x57c0 011108 bpatch patch1f_2 ,mem_patch1f 
+0x57c1 011109 call set_sync_on 
+0x57c2 011110 fetch 1 ,mem_le_testtype 
+0x57c3 011111 nbranch le_ctf_test ,blank 
+0x57c4 011112 fetch 1 ,mem_le_ch_mapped 
+0x57c5 011113 sub pdata ,36 ,null 
+0x57c6 011114 branch le_ctf_normal ,positive 
+0x57c7 011115 force 0 ,temp 
+0x57c8 011116 rtneq 37 
+0x57c9 011117 force 24 ,temp 
+0x57ca 011118 rtneq 38 
+0x57cb 011119 force 78 ,temp 
+0x57cc 011120 rtn 
+:      011122 le_ctf_normal:
+0x57cd 011123 sub pdata ,10 ,null 
+0x57ce 011124 branch le_ctf_low ,positive 
+0x57cf 011125 increase 1 ,pdata 
+:      011127 le_ctf_low:
+0x57d0 011128 lshift pdata ,pdata 
+0x57d1 011129 add pdata ,2 ,temp 
+0x57d2 011130 rtn 
+:      011132 le_ctf_test:
+0x57d3 011133 fetch 1 ,mem_le_ch_mapped 
+0x57d4 011134 lshift pdata ,temp 
+0x57d5 011135 rtn 
+:      011137 le_sca_map:
+0x57d6 011138 arg 500 ,temp 
+0x57d7 011139 rtn blank 
+0x57d8 011140 arg 250 ,temp 
+0x57d9 011141 rtneq 1 
+0x57da 011142 arg 150 ,temp 
+0x57db 011143 rtneq 2 
+0x57dc 011144 arg 100 ,temp 
+0x57dd 011145 rtneq 3 
+0x57de 011146 arg 75 ,temp 
+0x57df 011147 rtneq 4 
+0x57e0 011148 arg 50 ,temp 
+0x57e1 011149 rtneq 5 
+0x57e2 011150 arg 40 ,temp 
+0x57e3 011151 rtneq 6 
+0x57e4 011152 arg 20 ,temp 
+0x57e5 011153 rtn 
+:      011157 le_adv_access:
+0x57e6 011158 setarg 0x8e89be 
+0x57e7 011159 lshift8 pdata ,pdata 
+0x57e8 011160 or_into 0xd6 ,pdata 
+0x57e9 011161 iforce access 
+0x57ea 011162 setarg 0x555555 
+0x57eb 011163 store 3 ,mem_le_crcinit 
+0x57ec 011164 rtn 
+:      011166 le_setup:
+0x57ed 011167 bpatch patch1f_3 ,mem_patch1f 
+0x57ee 011168 enable swfine 
+0x57ef 011169 fetch 4 ,mem_le_access 
+0x57f0 011170 iforce access 
+0x57f1 011171 call le_map_channel 
+0x57f2 011172 setarg 0x200 
+0x57f3 011173 branch le_setup_master ,master 
+0x57f4 011174 fetch 2 ,mem_le_receive_window 
+0x57f5 011175 rshift pdata ,pdata 
+:      011176 le_setup_master:
+0x57f6 011177 arg param_pll_setup ,temp 
+0x57f7 011178 iadd temp ,pdata 
+0x57f8 011179 call ahead_window 
+0x57f9 011180 deposit clke 
+0x57fa 011181 store 6 ,mem_le_rxon_ts 
+0x57fb 011182 rtn 
+:      011184 le_next_adv_channel:
+0x57fc 011185 bpatch patch1f_4 ,mem_patch1f 
+0x57fd 011186 fetch 1 ,mem_le_ch_mapped 
+0x57fe 011187 beq 37 ,le_next_adv_channel_curr_channel_37 
+0x57ff 011188 beq 38 ,le_next_adv_channel_curr_channel_38 
+0x5800 011189 beq 39 ,le_next_adv_channel_curr_channel_39 
+0x5801 011190 branch le_next_adv_channel_curr_channel_39 
+:      011192 le_next_adv_channel_curr_channel_37:
+0x5802 011193 fetcht 1 ,mem_le_adv_channel_map 
+0x5803 011194 isolate1 bit_adv_channel_map_38 ,temp 
+0x5804 011195 branch set_le_next_adv_channel_38 ,true 
+0x5805 011196 isolate1 bit_adv_channel_map_39 ,temp 
+0x5806 011197 branch set_le_next_adv_channel_39 ,true 
+0x5807 011198 branch set_le_next_adv_channel_37 
+:      011201 le_next_adv_channel_curr_channel_38:
+0x5808 011202 fetcht 1 ,mem_le_adv_channel_map 
+0x5809 011203 isolate1 bit_adv_channel_map_39 ,temp 
+0x580a 011204 branch set_le_next_adv_channel_39 ,true 
+0x580b 011205 isolate1 bit_adv_channel_map_37 ,temp 
+0x580c 011206 branch set_le_next_adv_channel_37 ,true 
+0x580d 011207 branch set_le_next_adv_channel_38 
+:      011210 le_next_adv_channel_curr_channel_39:
+0x580e 011211 fetcht 1 ,mem_le_adv_channel_map 
+0x580f 011212 isolate1 bit_adv_channel_map_37 ,temp 
+0x5810 011213 branch set_le_next_adv_channel_37 ,true 
+0x5811 011214 isolate1 bit_adv_channel_map_38 ,temp 
+0x5812 011215 branch set_le_next_adv_channel_38 ,true 
+0x5813 011216 branch set_le_next_adv_channel_39 
+:      011220 set_le_next_adv_channel_37:
+0x5814 011221 jam 37 ,mem_le_ch_mapped 
+0x5815 011222 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5816 011223 set1 bit_adv_channel_map_37 ,pdata 
+0x5817 011224 store 1 ,mem_le_adv_channel_map_temp 
+0x5818 011225 rtn 
+:      011227 set_le_next_adv_channel_38:
+0x5819 011228 jam 38 ,mem_le_ch_mapped 
+0x581a 011229 fetch 1 ,mem_le_adv_channel_map_temp 
+0x581b 011230 set1 bit_adv_channel_map_38 ,pdata 
+0x581c 011231 store 1 ,mem_le_adv_channel_map_temp 
+0x581d 011232 rtn 
+:      011234 set_le_next_adv_channel_39:
+0x581e 011235 jam 39 ,mem_le_ch_mapped 
+0x581f 011236 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5820 011237 set1 bit_adv_channel_map_39 ,pdata 
+0x5821 011238 store 1 ,mem_le_adv_channel_map_temp 
+0x5822 011239 rtn 
+:      011243 le_context_nexthop:
+0x5823 011244 bpatch patch1f_5 ,mem_patch1f 
+0x5824 011245 add rega ,coffset_mode ,contr 
+0x5825 011246 ifetch 1 ,contr 
+0x5826 011247 rtnbit0 mode_le 
+0x5827 011248 add rega ,coffset_le_event_cnt ,contw 
+0x5828 011249 ifetch 2 ,contw 
+0x5829 011250 increase 1 ,pdata 
+0x582a 011251 istore 2 ,contw 
+0x582b 011252 add rega ,coffset_le_hop ,contr 
+0x582c 011253 ifetch 1 ,contr 
+0x582d 011254 add rega ,coffset_le_ch ,contw 
+0x582e 011255 ifetcht 1 ,contw 
+0x582f 011256 iadd temp ,pdata 
+0x5830 011257 sub pdata ,36 ,null 
+0x5831 011258 branch le_nexthop_nowrap ,positive 
+0x5832 011259 increase -37 ,pdata 
+:      011260 le_nexthop_nowrap:
+0x5833 011261 istore 1 ,contw 
+0x5834 011262 rtn 
+:      011265 le_calc_channel_map:
+0x5835 011266 bpatch patch1f_6 ,mem_patch1f 
+0x5836 011267 fetch 5 ,mem_le_channel_map 
+0x5837 011268 force 0 ,temp 
+0x5838 011269 force 37 ,loopcnt 
+:      011270 le_count_channels_loop:
+0x5839 011271 bbit0 0 ,le_count_channels_notused 
+0x583a 011272 increase 1 ,temp 
+:      011273 le_count_channels_notused:
+0x583b 011274 rshift pdata ,pdata 
+0x583c 011275 loop le_count_channels_loop 
+0x583d 011276 add temp ,-1 ,pdata 
+0x583e 011277 store 1 ,mem_le_channels 
+0x583f 011278 rtn 
+:      011280 le_map_channel:
+0x5840 011281 bpatch patch1f_7 ,mem_patch1f 
+0x5841 011282 fetch 1 ,mem_le_ch 
+0x5842 011283 iforce queue 
+0x5843 011284 fetcht 5 ,mem_le_channel_map 
+0x5844 011285 qisolate1 temp 
+0x5845 011286 branch le_map_channel_end ,true 
+:      011287 le_map_channel_next:
+0x5846 011288 bpatchx patch20_0 ,mem_patch20 
+0x5847 011289 fetch 1 ,mem_le_channels 
+0x5848 011290 isub queue ,pdata 
+0x5849 011291 branch le_map_channel_cont ,positive 
+0x584a 011292 sub pdata ,-1 ,queue 
+0x584b 011293 branch le_map_channel_next 
+:      011294 le_map_channel_cont:
+0x584c 011295 copy queue ,loopcnt 
+0x584d 011296 force 0 ,queue 
+:      011297 le_map_channel_loop:
+0x584e 011298 qisolate1 temp 
+0x584f 011299 branch le_map_channel_skip ,true 
+0x5850 011300 increase 1 ,loopcnt 
+:      011301 le_map_channel_skip:
+0x5851 011302 deposit loopcnt 
+0x5852 011303 branch le_map_channel_end ,blank 
+0x5853 011304 increase 1 ,queue 
+0x5854 011305 increase -1 ,loopcnt 
+0x5855 011306 branch le_map_channel_loop 
+:      011307 le_map_channel_end:
+0x5856 011308 deposit queue 
+0x5857 011309 store 1 ,mem_le_ch_mapped 
+0x5858 011310 rtn 
+:      011313 le_wait_tx:
+0x5859 011314 branch le_wait_master ,master 
+0x585a 011315 until null ,timeout 
+0x585b 011316 rtn 
+:      011318 le_wait_master:
+0x585c 011319 arg 0xea0 ,timeup 
+0x585d 011320 until clkn_rt ,meet 
+0x585e 011321 rtn 
+:      011323 le_receive_adv:
+0x585f 011324 disable swfine 
+0x5860 011325 fetch 2 ,mem_le_scan_window 
+0x5861 011326 copy pdata ,timeup 
+0x5862 011327 branch le_receive_packet 
+:      011330 le_receive_slave:
+0x5863 011331 bpatchx patch20_1 ,mem_patch20 
+0x5864 011332 enable swfine 
+0x5865 011333 fetch 2 ,mem_le_receive_window 
+0x5866 011334 fetcht 4 ,mem_le_transmit_window 
+0x5867 011335 iadd temp ,timeup 
+:      011336 le_receive_packet:
+0x5868 011337 call lerx_setfreq 
+:      011338 le_receive_rxon:
+0x5869 011339 bpatchx patch20_2 ,mem_patch20 
+0x586a 011340 call le_prep 
+0x586b 011341 disable match 
+0x586c 011342 enable decode_fec0 
+0x586d 011343 enable is_rx 
+0x586e 011344 disable is_tx 
+0x586f 011345 copy timeup ,stop_watch 
+0x5870 011346 correlate null ,timeout 
+0x5871 011347 branch le_receive_on_attempt ,attempt 
+0x5872 011348 copy clke ,temp 
+0x5873 011349 storet 6 ,mem_sync_clke 
+:      011350 le_receive_on_attempt:
+0x5874 011351 nbranch end_of_packet ,sync 
+0x5875 011352 branch le_receive_skip ,attempt 
+0x5876 011353 arg param_clke_cal_le ,clke_rt 
+0x5877 011354 copy bt_clk ,clke_bt 
+0x5878 011355 fetch 1 ,mem_le_state 
+0x5879 011356 bbit0 lestate_got_first_packet ,le_receive_skip 
+0x587a 011357 call lpm_adjust_clk ,wake 
+:      011358 le_receive_skip:
+0x587b 011359 bpatchx patch20_3 ,mem_patch20 
+0x587c 011360 call save_rssi 
+0x587d 011361 enable enable_white 
+0x587e 011362 enable enable_crc 
+0x587f 011363 parse demod ,bucket ,8 
+0x5880 011364 rshift3 pwindow ,pdata 
+0x5881 011365 store 1 ,mem_le_rxbuf 
+0x5882 011366 parse demod ,bucket ,8 
+0x5883 011367 rshift3 pwindow ,pdata 
+0x5884 011368 istore 1 ,contw 
+0x5885 011369 and pdata ,0x3f ,loopcnt 
+0x5886 011370 branch lerx_nopayload ,zero 
+:      011372 lerx_loop:
+0x5887 011373 parse demod ,bucket ,8 
+0x5888 011374 rshift3 pwindow ,pdata 
+0x5889 011375 istore 1 ,contw 
+0x588a 011376 loop lerx_loop 
+:      011378 lerx_nopayload:
+0x588b 011379 bpatchx patch20_4 ,mem_patch20 
+0x588c 011380 parse demod ,bucket ,24 
+0x588d 011381 enable swfine 
+0x588e 011382 arg param_sifs ,stop_watch 
+0x588f 011383 rshift32 pdata ,pdata 
+0x5890 011384 rshift16 pdata ,pdata 
+0x5891 011385 istore 3 ,contw 
+0x5892 011386 branch end_of_packet ,crc_failed 
+0x5893 011387 enable match 
+0x5894 011388 fetch 1 ,mem_last_freq 
+0x5895 011389 add pdata ,0 ,rega 
+0x5896 011390 call rf_write_freq 
+0x5897 011391 disable decode_fec0 
+0x5898 011392 branch set_sync_on 
+:      011394 le_transmit_receive_sifs:
+0x5899 011395 bpatchx patch20_5 ,mem_patch20 
+0x589a 011396 call le_transmit 
+:      011397 le_transmit_receive_sifs_notx:
+0x589b 011398 fetcht 1 ,mem_last_freq 
+0x589c 011399 call set_freq_rx 
+0x589d 011400 call rf_rx_enable 
+0x589e 011401 enable swfine 
+0x589f 011402 arg 5500 ,timeup 
+0x58a0 011403 branch le_receive_rxon 
+:      011405 le_transmit_norx:
+0x58a1 011406 call le_transmit 
+0x58a2 011407 branch end_of_packet 
+:      011409 le_transmit:
+0x58a3 011410 bpatchx patch20_6 ,mem_patch20 
+0x58a4 011411 call le_prep 
+0x58a5 011412 call letx_setfreq 
+0x58a6 011413 branch le_transmit0 
+:      011415 le_transmit0:
+0x58a7 011416 set1 txgfsk ,radio_ctrl 
+0x58a8 011417 enable encode_fec0 
+0x58a9 011418 enable is_tx 
+0x58aa 011419 disable is_rx 
+0x58ab 011420 call le_wait_tx 
+0x58ac 011421 rshift16 access ,pdata 
+0x58ad 011422 rshift8 pdata ,pdata 
+0x58ae 011423 rshift4 pdata ,pdata 
+0x58af 011424 inject mod ,40 
+0x58b0 011425 enable enable_white 
+0x58b1 011426 enable enable_crc 
+0x58b2 011427 bpatchx patch20_7 ,mem_patch20 
+0x58b3 011428 fetch 1 ,mem_le_txheader 
+0x58b4 011429 inject mod ,8 
+0x58b5 011430 ifetch 1 ,contr 
+0x58b6 011431 and pdata ,0x3f ,loopcnt 
+0x58b7 011432 inject mod ,8 
+0x58b8 011433 branch letr_nopayload ,zero 
+:      011434 letr_loop:
+0x58b9 011435 ifetch 1 ,contr 
+0x58ba 011436 inject mod ,8 
+0x58bb 011437 loop letr_loop 
+:      011439 letr_nopayload:
+0x58bc 011440 enable enable_parity 
+0x58bd 011441 inject mod ,24 
+0x58be 011442 disable enable_parity 
+0x58bf 011443 until null ,tx_clear 
+0x58c0 011444 nop 100 
+0x58c1 011445 disable encode_fec0 
+0x58c2 011446 rtn 
+:      011448 le_send_adv_ind:
+0x58c3 011449 bpatchx patch21_0 ,mem_patch21 
+0x58c4 011450 fetch 1 ,mem_le_adv_type 
+0x58c5 011451 beq adv_direct_ind ,le_send_adv_direct_ind 
+0x58c6 011452 fetch 1 ,mem_le_adv_own_addr_type 
+0x58c7 011453 lshift4 pdata ,pdata 
+0x58c8 011454 lshift2 pdata ,pdata 
+0x58c9 011455 store 1 ,mem_le_txheader 
+0x58ca 011456 fetcht 1 ,mem_le_adv_data_len 
+0x58cb 011457 add temp ,6 ,pdata 
+0x58cc 011458 store 1 ,mem_le_txlen 
+0x58cd 011459 fetch 6 ,mem_le_lap 
+0x58ce 011460 store 6 ,mem_le_txpayload 
+0x58cf 011461 copy temp ,loopcnt 
+0x58d0 011462 arg mem_le_adv_data ,contr 
+0x58d1 011463 call memcpy_fast 
+0x58d2 011464 branch le_send_adv_transmit 
+:      011465 le_send_adv_direct_ind:
+0x58d3 011466 fetch 1 ,mem_le_adv_direct_addr_type 
+0x58d4 011467 lshift4 pdata ,pdata 
+0x58d5 011468 lshift2 pdata ,pdata 
+0x58d6 011469 increase 1 ,pdata 
+0x58d7 011470 store 1 ,mem_le_txheader 
+0x58d8 011471 setarg 12 
+0x58d9 011472 store 1 ,mem_le_txlen 
+0x58da 011473 fetch 6 ,mem_le_lap 
+0x58db 011474 store 6 ,mem_le_txpayload 
+0x58dc 011475 fetch 6 ,mem_hci_plap 
+0x58dd 011476 istore 6 ,contw 
+:      011477 le_send_adv_transmit:
+0x58de 011478 bpatchx patch21_1 ,mem_patch21 
+0x58df 011479 fetch 1 ,mem_le_adv_transmit 
+0x58e0 011480 increase 1 ,pdata 
+0x58e1 011481 store 1 ,mem_le_adv_transmit 
+0x58e2 011482 arg 1800 ,stop_watch 
+0x58e3 011483 disable match 
+0x58e4 011484 branch le_transmit_receive_sifs 
+:      011486 le_send_scan_request:
+0x58e5 011487 bpatchx patch21_2 ,mem_patch21 
+0x58e6 011488 fetch 1 ,mem_le_scan_type 
+0x58e7 011489 rtnne le_scan_type_active 
+0x58e8 011490 fetch 1 ,mem_le_adv_transmit 
+0x58e9 011491 increase 1 ,pdata 
+0x58ea 011492 store 1 ,mem_le_adv_transmit 
+0x58eb 011493 arg 0x0c03 ,temp 
+0x58ec 011494 fetch 1 ,mem_le_scan_own_addr_type 
+0x58ed 011495 nsetflag blank ,le_sender_addr_bit ,temp 
+0x58ee 011496 copy rega ,pdata 
+0x58ef 011497 nsetflag blank ,le_receiver_addr_bit ,temp 
+0x58f0 011498 storet 2 ,mem_le_txheader 
+0x58f1 011499 fetch 6 ,mem_le_lap 
+0x58f2 011500 istore 6 ,contw 
+0x58f3 011501 fetch 6 ,mem_le_plap 
+0x58f4 011502 istore 6 ,contw 
+0x58f5 011503 branch le_transmit_receive_sifs 
+:      011506 le_send_scan_response:
+0x58f6 011507 bpatchx patch21_3 ,mem_patch21 
+0x58f7 011508 arg scan_rsp ,temp 
+0x58f8 011509 fetch 1 ,mem_le_adv_own_addr_type 
+0x58f9 011510 nsetflag blank ,le_sender_addr_bit ,temp 
+0x58fa 011511 storet 1 ,mem_le_txheader 
+0x58fb 011512 fetcht 1 ,mem_le_scan_data_len 
+0x58fc 011513 add temp ,6 ,pdata 
+0x58fd 011514 store 1 ,mem_le_txlen 
+0x58fe 011515 fetch 6 ,mem_le_lap 
+0x58ff 011516 store 6 ,mem_le_txpayload 
+0x5900 011517 arg mem_le_scan_data ,contr 
+0x5901 011518 copy temp ,loopcnt 
+0x5902 011519 call memcpy_fast 
+0x5903 011520 call le_transmit_norx 
+0x5904 011521 branch le_adv_not_match 
+:      011523 le_connect_request:
+0x5905 011524 bpatchx patch21_4 ,mem_patch21 
+0x5906 011525 force -1 ,pdata 
+0x5907 011526 setsect 2 ,1 
+0x5908 011527 store 5 ,mem_le_channel_map 
+0x5909 011528 call le_calc_channel_map 
+0x590a 011529 force 4 ,loopcnt 
+0x590b 011530 arg mem_le_access ,contw 
+0x590c 011531 call generate_random_loop 
+0x590d 011532 fetch 2 ,mem_le_timeout 
+0x590e 011533 store 2 ,mem_le_superto 
+:      011534 le_con_req_hop_retry:
+0x590f 011535 random pdata 
+0x5910 011536 and_into 0xf ,pdata 
+0x5911 011537 sub pdata ,4 ,null 
+0x5912 011538 branch le_con_req_hop_retry ,positive 
+0x5913 011539 store 1 ,mem_le_hop 
+0x5914 011540 store 1 ,mem_tmp1 
+0x5915 011541 bpatchx patch21_5 ,mem_patch21 
+0x5916 011542 fetcht 2 ,mem_le_conn_interval 
+0x5917 011543 storet 2 ,mem_le_tsniff 
+0x5918 011544 copy temp ,regc 
+0x5919 011545 add clkn_bt ,7 ,pdata 
+0x591a 011546 idiv regc 
+0x591b 011547 call wait_div_end 
+0x591c 011548 remainder rega 
+0x591d 011549 isub rega ,pdata 
+0x591e 011550 iadd regc ,pdata 
+0x591f 011551 fetcht 2 ,mem_le_dsniff 
+0x5920 011552 iadd temp ,pdata 
+0x5921 011553 store 4 ,mem_le_anchor 
+0x5922 011554 isub clkn_bt ,rega 
+0x5923 011555 increase -6 ,rega 
+0x5924 011556 arg 0x2205 ,regb 
+0x5925 011557 fetch 1 ,mem_le_conn_own_addr_type 
+0x5926 011558 nsetflag blank ,le_sender_addr_bit ,regb 
+0x5927 011559 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5928 011560 nsetflag blank ,le_receiver_addr_bit ,regb 
+0x5929 011561 copy regb ,pdata 
+0x592a 011562 store 2 ,mem_le_txheader 
+0x592b 011563 fetch 6 ,mem_le_lap 
+0x592c 011564 istore 6 ,contw 
+0x592d 011565 fetch 6 ,mem_le_plap 
+0x592e 011566 istore 6 ,contw 
+0x592f 011567 fetch 4 ,mem_le_access 
+0x5930 011568 istore 4 ,contw 
+0x5931 011569 random pdata 
+0x5932 011570 istore 2 ,contw 
+0x5933 011571 random pdata 
+0x5934 011572 istore 1 ,contw 
+0x5935 011573 force 2 ,pdata 
+0x5936 011574 istore 1 ,contw 
+0x5937 011575 rshift2 rega ,pdata 
+0x5938 011576 istore 2 ,contw 
+0x5939 011577 rshift2 regc ,pdata 
+0x593a 011578 istore 2 ,contw 
+0x593b 011579 bpatchx patch21_6 ,mem_patch21 
+0x593c 011580 setarg 0 
+0x593d 011581 istore 2 ,contw 
+0x593e 011582 fetch 2 ,mem_le_timeout 
+0x593f 011583 istore 2 ,contw 
+0x5940 011584 fetch 5 ,mem_le_channel_map 
+0x5941 011585 istore 5 ,contw 
+0x5942 011586 fetch 1 ,mem_le_hop 
+0x5943 011587 arg param_le_sca ,temp 
+0x5944 011588 ior temp ,pdata 
+0x5945 011589 istore 1 ,contw 
+0x5946 011590 call le_transmit_norx 
+0x5947 011591 setarg mem_le_txheader 
+0x5948 011592 add pdata ,18 ,contr 
+0x5949 011593 ifetch 3 ,contr 
+0x594a 011594 store 3 ,mem_le_crcinit 
+0x594b 011595 rtn 
+:      011597 le_init_adv:
+0x594c 011598 bpatchx patch21_7 ,mem_patch21 
+0x594d 011599 disable master 
+0x594e 011600 branch le_adv_access 
+:      011604 le_update_param:
+0x594f 011605 fetch 1 ,mem_le_state 
+0x5950 011606 rtnbit0 lestate_update_param 
+0x5951 011607 fetch 2 ,mem_le_event_count 
+0x5952 011608 fetcht 2 ,mem_le_instant 
+0x5953 011609 isub temp ,pdata 
+0x5954 011610 nrtn positive 
+0x5955 011611 store 2 ,mem_pdatatemp 
+0x5956 011612 bpatchx patch22_0 ,mem_patch22 
+0x5957 011613 fetch 1 ,mem_le_state 
+0x5958 011614 set0 lestate_update_param ,pdata 
+0x5959 011615 set0 lestate_got_first_packet ,pdata 
+0x595a 011616 store 1 ,mem_le_state 
+0x595b 011617 fetch 4 ,mem_le_anchor 
+0x595c 011618 fetcht 2 ,mem_le_tsniff 
+0x595d 011619 storet 2 ,mem_temp 
+0x595e 011620 isub temp ,rega 
+0x595f 011621 bpatchx patch22_1 ,mem_patch22 
+0x5960 011622 fetch 1 ,mem_le_new_param 
+0x5961 011623 store 1 ,mem_le_window_size 
+0x5962 011624 ifetcht 2 ,contr 
+0x5963 011625 ifetch 2 ,contr 
+0x5964 011626 lshift2 pdata ,pdata 
+0x5965 011627 store 2 ,mem_le_tsniff 
+0x5966 011628 lshift2 temp ,temp 
+0x5967 011629 iadd temp ,pdata 
+0x5968 011630 ifetcht 4 ,contr 
+0x5969 011631 storet 4 ,mem_le_slave_latency 
+0x596a 011632 iadd rega ,pdata 
+0x596b 011633 copy pdata ,regab 
+0x596c 011634 fetch 2 ,mem_le_tsniff 
+0x596d 011635 fetcht 2 ,mem_temp 
+0x596e 011636 isub temp ,pdata 
+0x596f 011637 fetcht 2 ,mem_pdatatemp 
+0x5970 011638 imul32 temp ,pdata 
+0x5971 011639 iadd regab ,pdata 
+0x5972 011640 store 4 ,mem_le_anchor 
+0x5973 011641 call le_receive_window_size 
+0x5974 011642 fetch 2 ,mem_le_superto 
+0x5975 011643 store 2 ,mem_le_init_superto 
+0x5976 011644 rtn 
+:      011647 le_update_channel_map:
+0x5977 011648 bpatchx patch22_2 ,mem_patch22 
+0x5978 011649 fetch 1 ,mem_le_state 
+0x5979 011650 rtnbit0 lestate_update_map 
+0x597a 011651 fetch 2 ,mem_le_event_count 
+0x597b 011652 fetcht 2 ,mem_le_instant 
+0x597c 011653 isub temp ,pdata 
+0x597d 011654 nrtn positive 
+0x597e 011655 fetch 1 ,mem_le_state 
+0x597f 011656 set0 lestate_update_map ,pdata 
+0x5980 011657 store 1 ,mem_le_state 
+0x5981 011658 fetch 5 ,mem_le_new_map 
+0x5982 011659 store 5 ,mem_le_channel_map 
+0x5983 011660 branch le_calc_channel_map 
+:      011663 le_acknowledge:
+0x5984 011664 bpatchx patch22_3 ,mem_patch22 
+0x5985 011665 call le_supervision_flush 
+0x5986 011666 call le_check_wak 
+0x5987 011667 fetch 1 ,mem_le_rxbuf 
+0x5988 011668 isolate1 md ,pdata 
+0x5989 011669 setflag true ,mark_ble_rx_md ,mark 
+0x598a 011670 rshift pdata ,pdata 
+0x598b 011671 ixor temp ,pdata 
+0x598c 011672 isolate1 nesn ,pdata 
+0x598d 011673 setflag true ,mark_old_packet ,mark 
+0x598e 011674 rtnmark1 mark_old_packet 
+0x598f 011675 fetch 1 ,mem_le_rxbuf + 1 
+0x5990 011676 branch le_ack_unenc ,blank 
+0x5991 011677 fetch 1 ,mem_le_state 
+0x5992 011678 bbit0 lestate_encryption ,le_ack_unenc 
+0x5993 011679 call load_sk 
+0x5994 011680 call le_decrypt 
+0x5995 011681 nrtn blank 
+:      011682 le_ack_unenc:
+0x5996 011683 fetcht 1 ,mem_le_arq 
+0x5997 011684 setflip nesn ,temp 
+0x5998 011685 storet 1 ,mem_le_arq 
+0x5999 011686 rtn 
+:      011689 le_check_wak:
+0x599a 011690 bpatchx patch22_4 ,mem_patch22 
+0x599b 011691 fetcht 1 ,mem_le_arq 
+0x599c 011692 isolate0 wak ,temp 
+0x599d 011693 rtn true 
+0x599e 011694 fetch 1 ,mem_le_rxbuf 
+0x599f 011695 lshift pdata ,pdata 
+0x59a0 011696 ixor temp ,pdata 
+0x59a1 011697 rtnbit0 sn 
+0x59a2 011698 set0 wak ,temp 
+0x59a3 011699 setflip sn ,temp 
+0x59a4 011700 storet 1 ,mem_le_arq 
+0x59a5 011701 compare 3 ,temp ,3 
+0x59a6 011702 nrtn true 
+0x59a7 011703 fetch 1 ,mem_le_txpayload 
+0x59a8 011704 beq ll_start_enc_req ,le_set_enc 
+0x59a9 011705 fetch 1 ,mem_le_enc_state 
+0x59aa 011706 beq flag_le_enc_pause ,le_clear_enc 
+0x59ab 011707 rtn 
+:      011710 le_set_enc:
+0x59ac 011711 fetch 1 ,mem_le_state 
+0x59ad 011712 set1 lestate_encryption ,pdata 
+0x59ae 011713 store 1 ,mem_le_state 
+0x59af 011714 rtn 
+:      011716 le_clear_enc:
+0x59b0 011717 bpatchx patch22_5 ,mem_patch22 
+0x59b1 011718 jam flag_le_enc_null ,mem_le_enc_state 
+0x59b2 011719 arg 0 ,pdata 
+0x59b3 011720 store 4 ,mem_le_last_mic 
+0x59b4 011721 store 5 ,mem_le_pcnt_tx 
+0x59b5 011722 set1 39 ,pdata 
+0x59b6 011723 store 5 ,mem_le_pcnt_rx 
+0x59b7 011724 fetch 1 ,mem_le_state 
+0x59b8 011725 set0 lestate_encryption ,pdata 
+0x59b9 011726 store 1 ,mem_le_state 
+0x59ba 011727 rtn 
+:      011730 le_wait_adv:
+0x59bb 011731 bpatchx patch22_6 ,mem_patch22 
+0x59bc 011732 call le_next_adv_channel 
+0x59bd 011733 call le_receive_adv 
+0x59be 011734 fetch 1 ,mem_le_adv_waitcnt 
+0x59bf 011735 increase 1 ,pdata 
+0x59c0 011736 store 1 ,mem_le_adv_waitcnt 
+0x59c1 011737 rtn 
+:      011740 le_scan:
+0x59c2 011741 bpatchx patch22_7 ,mem_patch22 
+0x59c3 011742 fetch 1 ,mem_le_scan_enable 
+0x59c4 011743 rtnne le_scan_enable 
+0x59c5 011744 arg le_scan_interval_timer ,queue 
+0x59c6 011745 call timer_check 
+0x59c7 011746 nrtn blank 
+0x59c8 011747 fetch 2 ,mem_le_scan_interval 
+0x59c9 011748 fetcht 2 ,mem_le_scan_window 
+0x59ca 011749 isub temp ,pdata 
+0x59cb 011750 arg le_scan_interval_timer ,queue 
+0x59cc 011751 call timer_init 
+0x59cd 011752 disable master 
+0x59ce 011753 call le_init_adv 
+0x59cf 011754 call le_wait_adv 
+0x59d0 011755 nrtn match 
+0x59d1 011756 bpatchx patch23_0 ,mem_patch23 
+0x59d2 011757 fetch 6 ,mem_le_rxbuf + 2 
+0x59d3 011758 store 6 ,mem_le_plap 
+0x59d4 011761 fetch 1 ,mem_le_adv_rcv 
+0x59d5 011762 increase 1 ,pdata 
+0x59d6 011763 store 1 ,mem_le_adv_rcv 
+0x59d7 011764 call le_create_conn 
+0x59d8 011765 rtn master 
+0x59d9 011766 call le_send_scan_request 
+0x59da 011767 nrtn match 
+0x59db 011768 bpatchx patch23_1 ,mem_patch23 
+0x59dc 011769 fetch 1 ,mem_le_scanrsp_rcv 
+0x59dd 011770 increase 1 ,pdata 
+0x59de 011771 store 1 ,mem_le_scanrsp_rcv 
+0x59df 011772 fetch 9 ,mem_le_rxbuf + 8 
+0x59e0 011773 store 9 ,mem_tmp_buffer 
+0x59e1 011774 rtn 
+:      011776 le_create_conn:
+0x59e2 011777 bpatchx patch23_2 ,mem_patch23 
+0x59e3 011778 fetch 1 ,mem_cmd_le_create_conn 
+0x59e4 011779 rtnne hci_cmd_le_create_conn 
+0x59e5 011780 fetch 6 ,mem_le_plap 
+0x59e6 011781 fetcht 6 ,mem_le_conn_peer_addr 
+0x59e7 011782 isub temp ,null 
+0x59e8 011783 nrtn zero 
+0x59e9 011784 call context_new 
+0x59ea 011785 nrtn zero 
+0x59eb 011786 call le_connect_request 
+0x59ec 011787 call le_init_master 
+0x59ed 011788 bpatchx patch23_3 ,mem_patch23 
+0x59ee 011789 jam 0 ,mem_hci_cmd 
+0x59ef 011790 jam 0 ,mem_le_peer_sca 
+0x59f0 011791 jam 0 ,mem_le_scan_enable 
+0x59f1 011792 jam 0 ,mem_cmd_le_create_conn 
+0x59f2 011793 branch context_save 
+:      011795 le_scan_check_sender_addr_type:
+0x59f3 011796 arg 1 ,rega 
+0x59f4 011797 fetch 1 ,mem_le_rxbuf 
+0x59f5 011798 rtnbit1 le_sender_addr_bit 
+0x59f6 011799 arg 0 ,rega 
+0x59f7 011800 rtn 
+:      011804 le_prepare_tx:
+0x59f8 011805 bpatchx patch23_4 ,mem_patch23 
+0x59f9 011806 fetch 1 ,mem_le_arq 
+0x59fa 011807 rtnbit1 wak 
+0x59fb 011808 call le_check_tx_md 
+0x59fc 011809 call le_fifo_get_first_tx_ptr 
+0x59fd 011810 branch le_send_empty ,blank 
+0x59fe 011811 ifetch 1 ,contr 
+0x59ff 011812 ifetcht 1 ,contr 
+0x5a00 011813 copy temp ,rega 
+0x5a01 011814 isub rega ,pdata 
+0x5a02 011815 arg le_max_paket_len ,temp 
+0x5a03 011816 call not_greater_than 
+0x5a04 011817 copy pdata ,temp 
+0x5a05 011818 ifetch 1 ,contr 
+0x5a06 011819 copy pdata ,type 
+0x5a07 011820 copy rega ,pdata 
+0x5a08 011821 iadd contr ,contr 
+0x5a09 011822 arg mem_le_txpayload ,contw 
+0x5a0a 011823 copy temp ,loopcnt 
+0x5a0b 011824 call memcpy 
+0x5a0c 011825 call le_update_tx_type 
+0x5a0d 011826 call le_send_packet 
+0x5a0e 011828 call le_fifo_get_first_tx_ptr 
+0x5a0f 011829 ifetch 1 ,contr 
+0x5a10 011830 copy pdata ,rega 
+0x5a11 011831 copy contr ,regc 
+0x5a12 011832 ifetcht 1 ,contr 
+0x5a13 011833 copy temp ,regb 
+0x5a14 011834 isub regb ,pdata 
+0x5a15 011835 arg le_max_paket_len ,temp 
+0x5a16 011836 call not_greater_than 
+0x5a17 011837 iadd regb ,pdata 
+0x5a18 011838 istore 1 ,regc 
+0x5a19 011839 isub rega ,null 
+0x5a1a 011840 nrtn zero 
+0x5a1b 011841 branch le_fifo_release_first_node 
+:      011844 le_check_tx_md:
+0x5a1c 011845 call le_check_continue 
+0x5a1d 011846 rtnmark1 mark_ble_tx_md 
+0x5a1e 011847 fetch 1 ,mem_le_configuration 
+0x5a1f 011848 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+0x5a20 011849 call le_fifo_get_second_tx_ptr 
+0x5a21 011850 branch le_clear_md ,blank 
+0x5a22 011851 branch le_set_md 
+:      011854 le_check_continue:
+0x5a23 011855 call le_fifo_get_first_tx_ptr 
+0x5a24 011856 branch le_clear_md ,blank 
+0x5a25 011857 ifetch 1 ,contr 
+0x5a26 011858 ifetcht 1 ,contr 
+0x5a27 011859 isub temp ,pdata 
+0x5a28 011860 sub pdata ,le_max_paket_len ,null 
+0x5a29 011861 branch le_clear_md ,positive 
+:      011862 le_set_md:
+0x5a2a 011863 set1 mark_ble_tx_md ,mark 
+0x5a2b 011864 rtn 
+:      011866 le_clear_md:
+0x5a2c 011867 set0 mark_ble_tx_md ,mark 
+0x5a2d 011868 rtn 
+:      011870 le_update_tx_type:
+0x5a2e 011871 copy rega ,pdata 
+0x5a2f 011872 rtn blank 
+0x5a30 011873 arg llid_continue ,type 
+0x5a31 011874 rtn 
+:      011877 le_att_check_notification_enable:
+0x5a32 011878 bpatchx patch23_5 ,mem_patch23 
+0x5a33 011879 increase 1 ,temp 
+0x5a34 011880 call le_att_get_handle_ptr 
+0x5a35 011881 increase -2 ,contr 
+0x5a36 011882 ifetch 2 ,contr 
+0x5a37 011883 arg client_charactertic_configuration ,temp 
+0x5a38 011884 isub temp ,null 
+0x5a39 011885 nrtn zero 
+0x5a3a 011886 increase 1 ,contr 
+0x5a3b 011887 copy contr ,rega 
+0x5a3c 011888 ifetch 1 ,contr 
+0x5a3d 011889 rtn 
+:      011892 le_send_empty:
+0x5a3e 011893 force 0 ,temp 
+0x5a3f 011894 force 1 ,type 
+:      011896 le_send_packet:
+0x5a40 011897 bpatchx patch23_6 ,mem_patch23 
+0x5a41 011898 storet 1 ,mem_le_txlen 
+0x5a42 011899 fetcht 1 ,mem_le_arq 
+0x5a43 011900 set1 wak ,temp 
+0x5a44 011901 and temp ,0xfc ,pdata 
+0x5a45 011902 ior type ,pdata 
+0x5a46 011903 store 1 ,mem_le_arq 
+0x5a47 011904 and_into 0x1f ,pdata 
+0x5a48 011905 isolate1 mark_ble_tx_md ,mark 
+0x5a49 011906 setflag true ,md ,pdata 
+0x5a4a 011907 store 1 ,mem_le_txheader 
+0x5a4b 011909 fetch 1 ,mem_le_txheader 
+0x5a4c 011910 compare 1 ,type ,3 
+0x5a4d 011911 nbranch le_send_no_txlen ,true 
+0x5a4e 011912 fetch 1 ,mem_le_txlen 
+0x5a4f 011913 rtn blank 
+:      011914 le_send_no_txlen:
+0x5a50 011915 fetch 1 ,mem_le_state 
+0x5a51 011916 rtnbit0 lestate_encryption 
+0x5a52 011917 call load_sk 
+0x5a53 011918 branch le_encrypt 
+:      011921 get_lpm_wake_ble_rx_lock:
+0x5a54 011922 arg wake_lock_ble_rx ,queue 
+0x5a55 011923 branch lpm_get_wake_lock 
+:      011925 put_lpm_wake_ble_rx_lock:
+0x5a56 011926 arg wake_lock_ble_rx ,queue 
+0x5a57 011927 branch lpm_put_wake_lock 
+:      011930 le_parse:
+0x5a58 011931 bpatchx patch23_7 ,mem_patch23 
+0x5a59 011932 rtnmark1 mark_old_packet 
+0x5a5a 011933 call le_fifo_check_full 
+0x5a5b 011934 nrtn blank 
+0x5a5c 011935 fetch 1 ,mem_le_rxbuf 
+0x5a5d 011936 and pdata ,0x3 ,pdata 
+0x5a5e 011937 store 1 ,mem_le_packet_llid 
+0x5a5f 011938 ifetch 1 ,contr 
+0x5a60 011939 and pdata ,0x1f ,pdata 
+0x5a61 011940 store 1 ,mem_le_packet_size 
+0x5a62 011941 rtn blank 
+0x5a63 011942 copy contr ,pdata 
+0x5a64 011943 store 2 ,mem_le_payload_ptr 
+0x5a65 011944 bpatchx patch24_0 ,mem_patch24 
+0x5a66 011945 fetch 1 ,mem_le_packet_llid 
+0x5a67 011946 beq llid_le_ll ,le_parse_ll 
+:      011947 le_parse_l2cap:
+0x5a68 011948 bpatchx patch24_1 ,mem_patch24 
+0x5a69 011949 call le_check_l2cap_complete 
+0x5a6a 011950 nbranch get_lpm_wake_ble_rx_lock ,user 
+0x5a6b 011951 call put_lpm_wake_ble_rx_lock 
+0x5a6c 011952 fetch 2 ,mem_le_payload_ptr 
+0x5a6d 011953 copy pdata ,contr 
+0x5a6e 011954 ifetch 2 ,contr 
+0x5a6f 011955 store 2 ,mem_le_l2cap_size 
+0x5a70 011956 bpatchx patch24_2 ,mem_patch24 
+0x5a71 011957 ifetch 2 ,contr 
+0x5a72 011958 beq le_l2cap_cid_att ,le_parse_att 
+0x5a73 011959 beq le_l2cap_cid_smp ,le_parse_smp 
+0x5a74 011960 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x5a75 011961 rtn 
+:      011964 le_check_l2cap_complete:
+0x5a76 011965 fetch 1 ,mem_le_packet_llid 
+0x5a77 011966 beq llid_start ,le_check_l2cap_llid_start 
+0x5a78 011967 beq llid_continue ,le_check_l2cap_llid_continue 
+0x5a79 011968 rtn 
+:      011973 le_check_l2cap_cid_legal:
+0x5a7a 011974 call enable_user 
+0x5a7b 011975 arg le_l2cap_cid_att ,temp 
+0x5a7c 011976 isub pdata ,null 
+0x5a7d 011977 rtn zero 
+0x5a7e 011978 arg le_l2cap_cid_signal ,temp 
+0x5a7f 011979 isub pdata ,null 
+0x5a80 011980 rtn zero 
+0x5a81 011981 arg le_l2cap_cid_smp ,temp 
+0x5a82 011982 isub pdata ,null 
+0x5a83 011983 rtn zero 
+0x5a84 011984 branch disable_user 
+:      011987 le_check_l2cap_llid_start:
+0x5a85 011988 fetch 2 ,mem_le_payload_ptr 
+0x5a86 011989 copy pdata ,contr 
+0x5a87 011990 ifetch 2 ,contr 
+0x5a88 011991 store 2 ,mem_le_l2cap_size 
+0x5a89 011992 ifetch 2 ,contr 
+0x5a8a 011993 call le_check_l2cap_cid_legal 
+0x5a8b 011994 nrtn user 
+0x5a8c 011995 fetcht 1 ,mem_le_packet_size 
+0x5a8d 011996 storet 1 ,mem_le_packet_len_recved 
+0x5a8e 011997 fetch 2 ,mem_le_l2cap_size 
+0x5a8f 011998 increase 4 ,pdata 
+0x5a90 011999 isub temp ,null 
+0x5a91 012000 branch enable_user ,zero 
+0x5a92 012001 fetch 1 ,mem_le_packet_size 
+0x5a93 012002 copy pdata ,loopcnt 
+0x5a94 012003 arg mem_le_l2capbuf ,contw 
+0x5a95 012004 fetch 2 ,mem_le_payload_ptr 
+0x5a96 012005 copy pdata ,contr 
+0x5a97 012006 call memcpy 
+0x5a98 012007 branch disable_user 
+:      012012 le_check_l2cap_continue_legal:
+0x5a99 012013 call enable_user 
+0x5a9a 012014 fetch 1 ,mem_le_packet_len_recved 
+0x5a9b 012015 nrtn blank 
+0x5a9c 012016 branch disable_user 
+:      012018 le_check_l2cap_llid_continue:
+0x5a9d 012019 call le_check_l2cap_continue_legal 
+0x5a9e 012020 nrtn user 
+0x5a9f 012021 fetch 1 ,mem_le_packet_len_recved 
+0x5aa0 012022 arg mem_le_l2capbuf ,contw 
+0x5aa1 012023 iadd contw ,rega 
+0x5aa2 012024 fetcht 1 ,mem_le_packet_size 
+0x5aa3 012025 iadd temp ,pdata 
+0x5aa4 012026 store 1 ,mem_le_packet_len_recved 
+0x5aa5 012027 fetch 1 ,mem_le_packet_size 
+0x5aa6 012028 copy pdata ,loopcnt 
+0x5aa7 012029 copy rega ,contw 
+0x5aa8 012030 fetch 2 ,mem_le_payload_ptr 
+0x5aa9 012031 copy pdata ,contr 
+0x5aaa 012032 call memcpy_fast 
+0x5aab 012033 setarg mem_le_l2capbuf 
+0x5aac 012034 store 2 ,mem_le_payload_ptr 
+0x5aad 012035 fetch 2 ,mem_le_l2cap_size 
+0x5aae 012036 increase 4 ,pdata 
+0x5aaf 012037 fetcht 1 ,mem_le_packet_len_recved 
+0x5ab0 012038 isub temp ,null 
+0x5ab1 012039 branch enable_user ,zero 
+0x5ab2 012040 branch disable_user 
+:      012046 le_get_search_att_type:
+0x5ab3 012047 call store_contr 
+0x5ab4 012048 arg mem_le_search_att_type_length ,contw 
+:      012049 le_get_search_common:
+0x5ab5 012050 fetch 2 ,mem_le_l2cap_size 
+0x5ab6 012051 increase -5 ,pdata 
+:      012052 le_get_search_common2:
+0x5ab7 012053 istore 1 ,contw 
+0x5ab8 012054 copy pdata ,loopcnt 
+0x5ab9 012055 call get_contr 
+0x5aba 012056 branch memcpy_fast 
+:      012058 le_get_search_att_uuid:
+0x5abb 012059 call store_contr 
+0x5abc 012060 arg mem_le_search_uuid_length ,contw 
+0x5abd 012061 branch le_get_search_common 
+:      012065 le_writeatt_cb:
+0x5abe 012066 fetch 2 ,mem_cb_att_write 
+0x5abf 012067 branch callback_func 
+:      012069 le_supervision_update:
+0x5ac0 012070 fetcht 4 ,mem_le_supervision_timer 
+0x5ac1 012071 call get_clkbt 
+0x5ac2 012072 isub temp ,timeup 
+0x5ac3 012073 deposit timeup 
+0x5ac4 012074 fetcht 2 ,mem_le_superto 
+0x5ac5 012075 lshift4 temp ,temp 
+0x5ac6 012076 lshift temp ,temp 
+0x5ac7 012077 isub temp ,pdata 
+0x5ac8 012078 rtn 
+:      012080 le_supervision_flush:
+0x5ac9 012081 call get_clkbt 
+0x5aca 012082 store 4 ,mem_le_supervision_timer 
+0x5acb 012083 rtn 
+:      012086 le_adv:
+0x5acc 012087 jam 36 ,mem_le_ch_mapped 
+0x5acd 012088 jam 0 ,mem_le_adv_channel_map_temp 
+:      012089 le_adv_loop:
+0x5ace 012090 bpatchx patch24_3 ,mem_patch24 
+0x5acf 012091 fetch 1 ,mem_le_adv_enable 
+0x5ad0 012092 rtn blank 
+0x5ad1 012093 arg le_adv_interval_timer ,queue 
+0x5ad2 012094 call timer_check 
+0x5ad3 012095 nrtn blank 
+0x5ad4 012096 bpatchx patch24_4 ,mem_patch24 
+:      012097 le_adv_loop_tx:
+0x5ad5 012098 disable master 
+0x5ad6 012099 enable swfine 
+0x5ad7 012100 call le_init_adv 
+0x5ad8 012101 call le_next_adv_channel 
+0x5ad9 012102 call le_send_adv_ind 
+0x5ada 012103 nbranch le_adv_not_match ,match 
+0x5adb 012104 fetch 1 ,mem_le_req_rcv 
+0x5adc 012105 increase 1 ,pdata 
+0x5add 012106 store 1 ,mem_le_req_rcv 
+0x5ade 012107 fetch 1 ,mem_le_rxbuf 
+0x5adf 012108 and pdata ,0x0f ,pdata 
+0x5ae0 012109 beq scan_req ,le_send_scan_response 
+0x5ae1 012110 beq connect_req ,le_parse_connect_req 
+:      012111 le_adv_not_match:
+0x5ae2 012112 bpatchx patch24_5 ,mem_patch24 
+0x5ae3 012113 random pdata 
+0x5ae4 012114 arg 0x1ff ,temp 
+0x5ae5 012115 iand temp ,pdata 
+0x5ae6 012116 add pdata ,250 ,pdata 
+0x5ae7 012117 call delay 
+0x5ae8 012118 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5ae9 012119 fetcht 1 ,mem_le_adv_channel_map 
+0x5aea 012120 isub temp ,null 
+0x5aeb 012121 nbranch le_adv_loop ,zero 
+0x5aec 012122 arg le_adv_interval_timer ,queue 
+0x5aed 012123 fetch 2 ,mem_le_adv_interval 
+0x5aee 012124 branch timer_init 
+:      012126 delay:
+0x5aef 012127 increase -1 ,pdata 
+0x5af0 012128 nop 38 
+0x5af1 012129 nbranch delay ,blank 
+0x5af2 012130 rtn 
+:      012133 le_receive_window_size:
+0x5af3 012134 bpatchx patch24_6 ,mem_patch24 
+0x5af4 012135 fetch 1 ,mem_le_peer_sca 
+0x5af5 012136 call le_sca_map 
+0x5af6 012137 fetch 2 ,mem_le_tsniff 
+0x5af7 012138 imul32 temp ,pdata 
+0x5af8 012139 arg 375 ,temp 
+0x5af9 012140 imul32 temp ,pdata 
+0x5afa 012141 arg 100000 ,temp 
+0x5afb 012142 idiv temp 
+0x5afc 012143 fetch 1 ,mem_le_window_size 
+0x5afd 012144 arg 20000 ,temp 
+0x5afe 012145 imul32 temp ,pdata 
+0x5aff 012146 iadd temp ,pdata 
+0x5b00 012147 store 4 ,mem_le_transmit_window 
+0x5b01 012148 bpatchx patch24_7 ,mem_patch24 
+0x5b02 012149 fetch 2 ,mem_rx_window_sniff 
+0x5b03 012150 call wait_div_end 
+0x5b04 012151 quotient temp 
+0x5b05 012152 iadd temp ,pdata 
+0x5b06 012153 store 2 ,mem_le_receive_window 
+0x5b07 012154 rtn 
+:      012156 le_parse_connect_req:
+0x5b08 012157 bpatchx patch25_0 ,mem_patch25 
+0x5b09 012158 fetch 6 ,mem_le_rxbuf + 8 
+0x5b0a 012159 fetcht 6 ,mem_le_lap 
+0x5b0b 012160 isub temp ,null 
+0x5b0c 012161 nrtn zero 
+0x5b0d 012162 call le_scan_check_sender_addr_type 
+0x5b0e 012163 copy rega ,pdata 
+0x5b0f 012164 store 1 ,mem_le_conn_peer_addr_type 
+0x5b10 012165 fetch 7 ,mem_le_rxbuf + 21 
+0x5b11 012166 store 7 ,mem_tmp_buffer 
+0x5b12 012167 ifetch 8 ,contr 
+0x5b13 012168 istore 8 ,contw 
+0x5b14 012169 fetch 6 ,mem_le_rxbuf + 2 
+0x5b15 012170 store 6 ,mem_le_plap 
+0x5b16 012171 increase 6 ,contr 
+0x5b17 012172 ifetch 8 ,contr 
+0x5b18 012173 store 8 ,mem_le_access 
+0x5b19 012174 ifetcht 2 ,contr 
+0x5b1a 012175 bpatchx patch25_1 ,mem_patch25 
+0x5b1b 012177 lshift2 temp ,temp 
+0x5b1c 012178 ifetch 2 ,contr 
+0x5b1d 012179 lshift2 pdata ,pdata 
+0x5b1e 012180 store 2 ,mem_le_tsniff 
+0x5b1f 012181 store 4 ,mem_le_anchor 
+0x5b20 012182 isub temp ,pdata 
+0x5b21 012183 add pdata ,-2 ,clke_bt 
+0x5b22 012184 ifetch 9 ,contr 
+0x5b23 012185 store 9 ,mem_le_slave_latency 
+0x5b24 012186 bpatchx patch25_2 ,mem_patch25 
+0x5b25 012187 ifetch 1 ,contr 
+0x5b26 012188 rshift4 pdata ,temp 
+0x5b27 012189 rshift temp ,temp 
+0x5b28 012190 storet 1 ,mem_le_peer_sca 
+0x5b29 012191 and_into 0x1f ,pdata 
+0x5b2a 012192 store 1 ,mem_le_hop 
+0x5b2b 012193 call le_receive_window_size 
+0x5b2c 012194 call le_calc_channel_map 
+0x5b2d 012195 call le_init_slave 
+0x5b2e 012196 call context_new 
+0x5b2f 012197 nrtn zero 
+0x5b30 012198 bpatchx patch25_3 ,mem_patch25 
+0x5b31 012199 call calc_clke_offset 
+0x5b32 012200 call le_l2cap_reset_signaling_identifier 
+0x5b33 012201 jam bt_evt_le_connected ,mem_fifo_temp 
+0x5b34 012202 call ui_ipc_send_event 
+0x5b35 012204 branch context_save 
+:      012207 le_init_attlist_search:
+0x5b36 012208 bpatchx patch25_4 ,mem_patch25 
+0x5b37 012209 fetch 2 ,mem_le_search_handle_start 
+0x5b38 012210 iforce regb 
+0x5b39 012211 fetch 2 ,mem_le_search_handle_end 
+0x5b3a 012212 iforce regc 
+0x5b3b 012213 fetch 2 ,mem_ui_le_uuid_table 
+0x5b3c 012214 iforce contr 
+0x5b3d 012215 enable user 
+0x5b3e 012216 rtn 
+:      012219 le_att_handle_inrange:
+0x5b3f 012220 ifetch 2 ,contr 
+0x5b40 012221 rtn blank 
+0x5b41 012222 isub regb ,null 
+0x5b42 012223 nrtn positive 
+0x5b43 012224 isub regc ,null 
+0x5b44 012225 rtn zero 
+0x5b45 012226 branch le_att_handle_blank ,positive 
+0x5b46 012227 force 1 ,null 
+0x5b47 012228 rtn 
+:      012229 le_att_handle_blank:
+0x5b48 012230 force 0 ,pdata 
+0x5b49 012231 rtn 
+:      012235 le_att_get_handle_ptr:
+0x5b4a 012236 call le_att_get_handle_ptr2 
+0x5b4b 012237 branch le_att_get_handle_ptr_found ,zero 
+0x5b4c 012238 rtn 
+:      012240 le_att_get_handle_ptr2:
+0x5b4d 012241 bpatchx patch25_5 ,mem_patch25 
+0x5b4e 012242 fetch 2 ,mem_ui_le_uuid_table 
+0x5b4f 012243 iforce contr 
+:      012244 le_att_get_handle_loop1:
+0x5b50 012245 ifetch 2 ,contr 
+0x5b51 012246 rtn blank 
+0x5b52 012247 isub temp ,null 
+0x5b53 012248 rtn zero 
+0x5b54 012249 ifetch 1 ,contr 
+0x5b55 012250 iadd contr ,contr 
+0x5b56 012251 ifetch 1 ,contr 
+0x5b57 012252 iadd contr ,contr 
+0x5b58 012253 branch le_att_get_handle_loop1 
+:      012254 le_att_get_handle_ptr_found:
+0x5b59 012255 ifetch 1 ,contr 
+0x5b5a 012256 iadd contr ,contr 
+0x5b5b 012257 rtn 
+:      012261 le_att_get_short_uuid_ptr:
+0x5b5c 012262 bpatchx patch25_6 ,mem_patch25 
+0x5b5d 012263 fetch 2 ,mem_ui_le_uuid_table 
+0x5b5e 012264 iforce contr 
+:      012265 le_att_get_short_uuid_loop:
+0x5b5f 012266 ifetch 2 ,contr 
+0x5b60 012267 rtn blank 
+0x5b61 012268 ifetch 1 ,contr 
+0x5b62 012269 iadd contr ,contr 
+0x5b63 012270 increase -2 ,contr 
+0x5b64 012271 ifetch 2 ,contr 
+0x5b65 012272 isub temp ,null 
+0x5b66 012273 rtn zero 
+0x5b67 012274 ifetch 1 ,contr 
+0x5b68 012275 iadd contr ,contr 
+0x5b69 012276 branch le_att_get_short_uuid_loop 
+:      012280 le_att_get_handle_info_from_ptr:
+0x5b6a 012281 fetch 2 ,mem_le_cur_attlist_start_ptr 
+0x5b6b 012282 branch le_att_get_handle_info_fast 
+:      012284 le_att_get_handle_info:
+0x5b6c 012285 bpatchx patch25_7 ,mem_patch25 
+0x5b6d 012286 fetch 2 ,mem_ui_le_uuid_table 
+:      012287 le_att_get_handle_info_fast:
+0x5b6e 012288 iforce contr 
+0x5b6f 012289 copy temp ,rega 
+:      012290 le_att_get_handle_loop:
+0x5b70 012291 ifetch 2 ,contr 
+0x5b71 012292 branch le_att_unfind_handle ,blank 
+0x5b72 012293 isub rega ,null 
+0x5b73 012294 branch le_att_finded_handle ,zero 
+0x5b74 012295 ifetch 1 ,contr 
+0x5b75 012296 iadd contr ,contr 
+0x5b76 012297 ifetch 1 ,contr 
+0x5b77 012298 iadd contr ,contr 
+0x5b78 012299 branch le_att_get_handle_loop 
+:      012300 le_att_unfind_handle:
+0x5b79 012301 branch disable_blank 
+:      012303 le_att_finded_handle:
+0x5b7a 012304 ifetch 1 ,contr 
+0x5b7b 012305 store 1 ,mem_le_cur_uuid_length 
+0x5b7c 012306 copy pdata ,loopcnt 
+0x5b7d 012307 arg mem_le_cur_uuid ,contw 
+0x5b7e 012308 call memcpy_fast 
+0x5b7f 012309 ifetch 1 ,contr 
+0x5b80 012310 store 1 ,mem_le_curr_att_len 
+0x5b81 012311 call store_contr 
+0x5b82 012312 branch enable_blank 
+:      012315 le_modified_name:
+0x5b83 012316 bpatchx patch26_0 ,mem_patch26 
+0x5b84 012317 call le_modified_name_att_list 
+0x5b85 012318 branch le_modified_name_adv 
+:      012320 le_modified_name_att_list:
+0x5b86 012321 arg uuid_chrctr_device_name ,temp 
+0x5b87 012322 call le_att_get_short_uuid_ptr 
+0x5b88 012323 rtn blank 
+0x5b89 012324 ifetch 1 ,contr 
+0x5b8a 012325 copy contr ,contw 
+0x5b8b 012326 fetcht 1 ,mem_le_name_len 
+0x5b8c 012327 copy temp ,loopcnt 
+0x5b8d 012328 isub temp ,null 
+0x5b8e 012329 nbranch le_name_length_longer_than_att ,positive 
+0x5b8f 012330 isub temp ,temp 
+0x5b90 012331 arg mem_le_name ,contr 
+0x5b91 012332 call memcpy 
+0x5b92 012333 copy temp ,loopcnt 
+0x5b93 012334 ncall memcpy_empty ,zero 
+0x5b94 012335 rtn 
+:      012336 le_name_length_longer_than_att:
+0x5b95 012337 copy pdata ,loopcnt 
+0x5b96 012338 arg mem_le_name ,contr 
+0x5b97 012339 branch memcpy_fast 
+:      012342 le_modified_name_adv:
+0x5b98 012343 arg mem_le_adv_data_len + 32 ,regc 
+0x5b99 012344 arg mem_le_adv_data ,rega 
+0x5b9a 012345 call le_modified_name_adv_and_scan 
+0x5b9b 012346 setarg 0 
+0x5b9c 012347 setflag user ,0 ,pdata 
+0x5b9d 012348 store 1 ,mem_pdatatemp 
+0x5b9e 012349 arg mem_le_scan_data_len + 32 ,regc 
+0x5b9f 012350 arg mem_le_scan_data ,rega 
+0x5ba0 012351 call le_modified_name_adv_and_scan 
+0x5ba1 012352 rtn user 
+0x5ba2 012353 fetch 1 ,mem_pdatatemp 
+0x5ba3 012354 branch assert ,blank 
+0x5ba4 012355 rtn 
+:      012358 le_modified_name_adv_and_scan:
+0x5ba5 012359 bpatchx patch26_1 ,mem_patch26 
+0x5ba6 012360 call enable_user 
+0x5ba7 012361 call clear_temp_block 
+0x5ba8 012362 arg 0 ,regb 
+0x5ba9 012363 arg mem_le_data_temp ,contw 
+0x5baa 012364 call le_modified_name_adv_loop 
+0x5bab 012365 fetch 1 ,mem_le_name_len 
+0x5bac 012366 add pdata ,1 ,temp 
+0x5bad 012367 iadd regb ,rega 
+0x5bae 012368 increase 2 ,rega 
+0x5baf 012369 sub rega ,0x1f ,null 
+0x5bb0 012370 nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+0x5bb1 012371 istoret 1 ,contw 
+0x5bb2 012372 arg gap_adtype_local_name_complete ,temp 
+0x5bb3 012373 istoret 1 ,contw 
+0x5bb4 012374 iforce loopcnt 
+0x5bb5 012375 call memcpy_fast 
+0x5bb6 012376 copy rega ,regb 
+:      012377 le_modified_name_adv_and_scan_store_data:
+0x5bb7 012378 deposit regb 
+0x5bb8 012379 store 1 ,mem_le_data_len_temp 
+0x5bb9 012380 arg mem_le_data_len_temp ,contr 
+0x5bba 012381 setarg -32 
+0x5bbb 012382 iadd regc ,contw 
+0x5bbc 012383 branch memcpy32 
+:      012385 le_modified_name_adv_and_scan_name_overflow:
+0x5bbd 012386 call disable_user 
+0x5bbe 012387 branch le_modified_name_adv_and_scan_store_data 
+:      012389 le_modified_name_adv_loop:
+0x5bbf 012390 ifetch 1 ,rega 
+0x5bc0 012391 rtn blank 
+0x5bc1 012392 pincrease 1 
+0x5bc2 012393 ifetcht 1 ,contr 
+0x5bc3 012394 sub temp ,gap_adtype_local_name_complete ,null 
+0x5bc4 012395 branch le_modified_name_adv_found_name ,zero 
+0x5bc5 012396 iadd regb ,regb 
+0x5bc6 012397 copy rega ,contr 
+0x5bc7 012398 iforce loopcnt 
+0x5bc8 012399 call memcpy_fast 
+0x5bc9 012400 copy contr ,rega 
+:      012401 le_modified_name_adv_loop2:
+0x5bca 012402 deposit rega 
+0x5bcb 012403 isub regc ,null 
+0x5bcc 012404 rtn positive 
+0x5bcd 012405 branch le_modified_name_adv_loop 
+:      012407 le_modified_name_adv_found_name:
+0x5bce 012408 iadd rega ,rega 
+0x5bcf 012409 branch le_modified_name_adv_loop2 
+:      012412 memcpy_empty:
+0x5bd0 012413 setarg space 
+0x5bd1 012414 istore 1 ,contw 
+0x5bd2 012415 loop memcpy_empty 
+0x5bd3 012416 rtn 
+:      012419 le_lpm_set_mult:
+0x5bd4 012420 bpatchx patch26_2 ,mem_patch26 
+0x5bd5 012421 disable wake 
+0x5bd6 012422 branch le_lpm_set_mult_attempt ,attempt 
+0x5bd7 012423 nbranch le_lpm_lost ,match 
+:      012424 le_lpm_set_mult_attempt:
+0x5bd8 012425 call lpm_match 
+0x5bd9 012426 fetch 2 ,mem_rx_window_sniff 
+0x5bda 012427 store 2 ,mem_le_receive_window 
+0x5bdb 012429 nbranch lpm_mult_short ,match 
+0x5bdc 012430 bmark1 mark_old_packet ,lpm_mult_short 
+0x5bdd 012432 fetch 1 ,mem_le_packet_size 
+0x5bde 012433 nbranch lpm_mult_short ,blank 
+0x5bdf 012434 fetch 1 ,mem_le_txlen 
+0x5be0 012435 nbranch lpm_mult_short ,blank 
+0x5be1 012437 fetch 1 ,mem_le_configuration 
+0x5be2 012438 bbit1 bit_ble_short_mult ,lpm_mult_short 
+0x5be3 012440 fetch 1 ,mem_le_state 
+0x5be4 012441 bbit1 lestate_update_param ,lpm_mult_short 
+0x5be5 012442 branch lpm_mult_wait_timeout 
+:      012444 le_lpm_lost:
+0x5be6 012445 fetcht 2 ,mem_rx_window_sniff 
+0x5be7 012446 rshift temp ,temp 
+0x5be8 012447 fetch 2 ,mem_le_receive_window 
+0x5be9 012448 iadd temp ,pdata 
+0x5bea 012449 store 2 ,mem_le_receive_window 
+0x5beb 012450 branch lpm_lost 
+:      012453 le_set_config_fixed_tk:
+0x5bec 012454 arg bit_ble_passkey_fixed_key ,queue 
+0x5bed 012455 branch le_set_config 
+:      012457 le_clr_config_fixed_tk:
+0x5bee 012458 arg bit_ble_passkey_fixed_key ,queue 
+0x5bef 012459 branch le_clr_config 
+:      012461 le_set_config_fixed_ltk:
+0x5bf0 012462 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5bf1 012463 branch le_set_config 
+:      012465 le_clr_config_fixed_ltk:
+0x5bf2 012466 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5bf3 012467 branch le_clr_config 
+:      012469 le_set_config_more_data:
+0x5bf4 012470 arg bit_ble_transmit_packet_by_md ,queue 
+0x5bf5 012471 branch le_set_config 
+:      012473 le_clr_config_more_data:
+0x5bf6 012474 arg bit_ble_transmit_packet_by_md ,queue 
+0x5bf7 012475 branch le_clr_config 
+:      012477 le_set_config_read_authentication:
+0x5bf8 012478 arg bit_ble_read_auth ,queue 
+0x5bf9 012479 branch le_set_config 
+:      012481 le_clr_config_read_authentication:
+0x5bfa 012482 arg bit_ble_read_auth ,queue 
+0x5bfb 012483 branch le_clr_config 
+:      012485 le_set_config_write_authentication:
+0x5bfc 012486 arg bit_ble_write_auth ,queue 
+0x5bfd 012487 branch le_set_config 
+:      012489 le_clr_config_write_authentication:
+0x5bfe 012490 arg bit_ble_write_auth ,queue 
+0x5bff 012491 branch le_clr_config 
+:      012493 le_set_config_short_mult:
+0x5c00 012494 arg bit_ble_short_mult ,queue 
+0x5c01 012495 branch le_set_config 
+:      012497 le_clr_config_short_mult:
+0x5c02 012498 arg bit_ble_short_mult ,queue 
+0x5c03 012499 branch le_clr_config 
+:      012502 le_set_config:
+0x5c04 012503 fetch 1 ,mem_le_configuration 
+0x5c05 012504 qset1 pdata 
+0x5c06 012505 store 1 ,mem_le_configuration 
+0x5c07 012506 rtn 
+:      012508 le_clr_config:
+0x5c08 012509 fetch 1 ,mem_le_configuration 
+0x5c09 012510 qset0 pdata 
+0x5c0a 012511 store 1 ,mem_le_configuration 
+0x5c0b 012512 rtn 
+:      012514 le_set_fixed_ltk:
+0x5c0c 012515 setarg 0x112233 
+0x5c0d 012516 store 3 ,mem_le_fixed_ltk 
+0x5c0e 012517 setarg 0x445566 
+0x5c0f 012518 istore 3 ,contw 
+0x5c10 012519 setarg 0x778899 
+0x5c11 012520 istore 3 ,contw 
+0x5c12 012521 setarg 0x001122 
+0x5c13 012522 istore 3 ,contw 
+0x5c14 012523 setarg 0x334455 
+0x5c15 012524 istore 3 ,contw 
+0x5c16 012525 setarg 0x66 
+0x5c17 012526 istore 1 ,contw 
+0x5c18 012527 rtn 
+:      012530 le_set_justwork:
+0x5c19 012531 setarg 0x01000302 
+0x5c1a 012532 store 4 ,mem_le_pres 
+0x5c1b 012533 setarg 0x010010 
+0x5c1c 012534 store 3 ,mem_le_pres_max_keysize 
+0x5c1d 012535 jam 1 ,mem_le_pairing_mode 
+0x5c1e 012536 rtn 
+:      012540 le_fifo_malloc_tx_empty:
+0x5c1f 012541 arg 0 ,rega 
+0x5c20 012542 arg llid_empty ,type 
+0x5c21 012543 branch le_fifo_malloc_tx 
+:      012547 le_fifo_malloc_tx_ll:
+0x5c22 012548 arg llid_le_ll ,type 
+0x5c23 012549 call le_fifo_malloc_tx 
+0x5c24 012550 copy regb ,pdata 
+0x5c25 012551 istore 1 ,contw 
+0x5c26 012552 rtn 
+:      012556 le_fifo_malloc_tx_l2cap:
+0x5c27 012557 force llid_start ,type 
+0x5c28 012558 increase 4 ,rega 
+0x5c29 012559 call le_fifo_malloc_tx 
+0x5c2a 012560 increase -4 ,rega 
+0x5c2b 012561 copy rega ,pdata 
+0x5c2c 012562 istore 2 ,contw 
+0x5c2d 012563 copy regb ,pdata 
+0x5c2e 012564 istore 2 ,contw 
+0x5c2f 012565 rtn 
+:      012569 le_fifo_malloc_tx:
+0x5c30 012570 sub rega ,240 ,null 
+0x5c31 012571 nbranch assert ,positive 
+0x5c32 012572 fetch 1 ,mem_le_tx_buff_used 
+0x5c33 012573 arg 1 ,temp 
+0x5c34 012574 arg le_tx_buff_count ,loopcnt 
+:      012575 le_fifo_malloc_tx_loop:
+0x5c35 012576 iand temp ,null 
+0x5c36 012577 branch le_fifo_malloc_tx_got_empty ,zero 
+0x5c37 012578 lshift temp ,temp 
+0x5c38 012579 loop le_fifo_malloc_tx_loop 
+0x5c39 012580 branch assert 
+:      012581 le_fifo_malloc_tx_got_empty:
+0x5c3a 012582 ixor temp ,pdata 
+0x5c3b 012583 store 1 ,mem_le_tx_buff_used 
+0x5c3c 012584 sub loopcnt ,le_tx_buff_count ,pdata 
+0x5c3d 012585 lshift4 pdata ,pdata 
+0x5c3e 012586 lshift4 pdata ,pdata 
+0x5c3f 012587 arg mem_le_tx_buffer0 ,temp 
+0x5c40 012588 iadd temp ,temp 
+:      012589 le_fifo_tx_find_empty_ptr:
+0x5c41 012590 arg 0 ,loopcnt 
+0x5c42 012591 arg mem_le_tx_ptr0 ,contr 
+:      012592 le_fifo_tx_find_empty_ptr_loop:
+0x5c43 012593 ifetch 2 ,contr 
+0x5c44 012594 branch le_fifo_tx_found_empty_ptr ,blank 
+0x5c45 012595 copy loopcnt ,pdata 
+0x5c46 012596 increase 1 ,loopcnt 
+0x5c47 012597 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+0x5c48 012598 branch assert 
+:      012601 le_fifo_tx_found_empty_ptr:
+0x5c49 012602 increase -2 ,contr 
+0x5c4a 012603 istoret 2 ,contr 
+0x5c4b 012604 copy temp ,contw 
+0x5c4c 012605 copy rega ,pdata 
+0x5c4d 012606 istore 1 ,contw 
+0x5c4e 012607 setarg 0 
+0x5c4f 012608 istore 1 ,contw 
+0x5c50 012609 copy type ,pdata 
+0x5c51 012610 istore 1 ,contw 
+0x5c52 012611 rtn 
+:      012615 le_fifo_get_first_tx_ptr:
+0x5c53 012616 fetch 2 ,mem_le_tx_ptr0 
+0x5c54 012617 copy pdata ,contr 
+0x5c55 012618 rtn 
+:      012620 le_fifo_get_second_tx_ptr:
+0x5c56 012621 fetch 2 ,mem_le_tx_ptr1 
+0x5c57 012622 copy pdata ,contr 
+0x5c58 012623 rtn 
+:      012625 le_fifo_get_last_tx_ptr:
+0x5c59 012626 call le_fifo_get_last_tx_ptr0 
+0x5c5a 012627 copy pdata ,contr 
+0x5c5b 012628 rtn 
+:      012629 le_fifo_get_last_tx_ptr0:
+0x5c5c 012630 fetch 2 ,mem_le_tx_ptr3 
+0x5c5d 012631 nrtn blank 
+0x5c5e 012632 fetch 2 ,mem_le_tx_ptr2 
+0x5c5f 012633 nrtn blank 
+0x5c60 012634 fetch 2 ,mem_le_tx_ptr1 
+0x5c61 012635 nrtn blank 
+0x5c62 012636 fetch 2 ,mem_le_tx_ptr0 
+0x5c63 012637 rtn 
+:      012639 le_fifo_get_first_l2cap_ptr:
+0x5c64 012640 call le_fifo_get_first_tx_ptr 
+0x5c65 012641 increase 3 ,contr 
+0x5c66 012642 rtn 
+:      012644 le_fifo_get_first_att_ptr:
+0x5c67 012645 call le_fifo_get_first_tx_ptr 
+0x5c68 012646 increase 7 ,contr 
+0x5c69 012647 rtn 
+:      012649 le_fifo_get_last_att_ptr:
+0x5c6a 012650 call le_fifo_get_last_tx_ptr 
+0x5c6b 012651 increase 7 ,contr 
+0x5c6c 012652 rtn 
+:      012654 le_fifo_get_last_l2cap_ptr:
+0x5c6d 012655 call le_fifo_get_last_tx_ptr 
+0x5c6e 012656 increase 3 ,contr 
+0x5c6f 012657 rtn 
+:      012661 le_fifo_check_full:
+0x5c70 012662 fetch 2 ,mem_le_tx_ptr3 
+0x5c71 012663 rtn 
+:      012666 le_fifo_check_nearly_full:
+0x5c72 012667 fetch 2 ,mem_le_tx_ptr2 
+0x5c73 012668 rtn 
+:      012671 le_fifo_check_empty:
+0x5c74 012672 fetch 2 ,mem_le_tx_ptr0 
+0x5c75 012673 rtn 
+:      012676 le_fifo_release_first_node:
+0x5c76 012677 fetch 2 ,mem_le_tx_ptr0 
+0x5c77 012678 arg mem_le_tx_buffer0 ,temp 
+0x5c78 012679 isub temp ,pdata 
+0x5c79 012680 rshift4 pdata ,pdata 
+0x5c7a 012681 rshift4 pdata ,queue 
+0x5c7b 012682 fetch 1 ,mem_le_tx_buff_used 
+0x5c7c 012683 qset0 pdata 
+0x5c7d 012684 store 1 ,mem_le_tx_buff_used 
+0x5c7e 012685 arg 0 ,loopcnt 
+:      012686 le_fifo_release_first_node_loop:
+0x5c7f 012687 lshift loopcnt ,pdata 
+0x5c80 012688 arg mem_le_tx_ptr1 ,temp 
+0x5c81 012689 iadd temp ,temp 
+0x5c82 012690 ifetch 2 ,temp 
+0x5c83 012691 increase -2 ,temp 
+0x5c84 012692 istore 2 ,temp 
+0x5c85 012693 copy loopcnt ,pdata 
+0x5c86 012694 increase 1 ,loopcnt 
+0x5c87 012695 bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+0x5c88 012696 setarg 0 
+0x5c89 012697 istore 2 ,temp 
+0x5c8a 012698 rtn 
+:      012704 le_parse_att:
+0x5c8b 012705 ifetch 3 ,contr 
+0x5c8c 012706 store 3 ,mem_le_att_opcode 
+0x5c8d 012707 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+0x5c8e 012708 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+0x5c8f 012709 beq attop_find_information_request ,le_parse_att_find_information_request 
+0x5c90 012710 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+0x5c91 012711 beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+0x5c92 012712 beq attop_read_request ,le_parse_att_read_request 
+0x5c93 012713 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+0x5c94 012714 beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+0x5c95 012715 beq attop_write_request ,le_parse_att_write_request 
+0x5c96 012716 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+0x5c97 012717 beq attop_execute_write_request ,le_parse_att_execute_write_request 
+0x5c98 012718 beq attop_write_command ,le_parse_att_write_command 
+0x5c99 012719 rtn 
+:      012722 le_send_att_exchange_mtu_requset:
+0x5c9a 012723 force 3 ,rega 
+0x5c9b 012724 call le_fifo_malloc_tx_l2cap_gatt 
+0x5c9c 012725 setarg attop_exchange_mtu_request 
+0x5c9d 012726 istore 1 ,contw 
+0x5c9e 012727 fetch 2 ,mem_le_local_mtu 
+0x5c9f 012728 istore 2 ,contw 
+0x5ca0 012729 rtn 
+:      012732 le_parse_att_exchange_mtu_request:
+0x5ca1 012733 call le_parse_att_exchange_mtu_response 
+:      012734 le_send_att_exchange_mtu_response:
+0x5ca2 012735 force 3 ,rega 
+0x5ca3 012736 call le_fifo_malloc_tx_l2cap_gatt 
+0x5ca4 012737 setarg attop_exchange_mtu_response 
+0x5ca5 012738 istore 1 ,contw 
+0x5ca6 012739 fetch 2 ,mem_le_local_mtu 
+0x5ca7 012740 istore 2 ,contw 
+0x5ca8 012741 rtn 
+:      012743 le_parse_att_exchange_mtu_response:
+0x5ca9 012744 rshift8 pdata ,pdata 
+0x5caa 012745 store 2 ,mem_le_remote_mtu 
+0x5cab 012746 rtn 
+:      012748 le_parse_att_find_information_request:
+0x5cac 012749 call le_get_search_handle_start_end_common 
+0x5cad 012750 call enable_user 
+0x5cae 012751 branch le_send_att_find_information_response 
+:      012753 le_send_att_find_information_response:
+0x5caf 012754 arg 3 ,timeup 
+0x5cb0 012755 call le_init_attlist_search 
+:      012756 le_send_att_find_information_res_loop:
+0x5cb1 012757 call le_att_handle_inrange 
+0x5cb2 012758 branch le_send_att_find_information_res_end ,blank 
+0x5cb3 012759 nbranch le_send_att_find_information_res_next ,positive 
+0x5cb4 012760 increase -2 ,contr 
+0x5cb5 012761 call store_contr 
+0x5cb6 012762 call get_contw 
+0x5cb7 012763 nbranch le_send_att_find_information_res_store_info ,user 
+0x5cb8 012764 call push_stack_rega_b_c 
+0x5cb9 012765 call disable_user 
+0x5cba 012766 force 20 ,rega 
+0x5cbb 012767 call le_fifo_malloc_tx_l2cap_gatt 
+0x5cbc 012768 call pop_stack_rega_b_c 
+0x5cbd 012769 setarg attop_find_information_response 
+0x5cbe 012770 istore 1 ,contw 
+0x5cbf 012771 setarg uuid_size_16bit 
+0x5cc0 012772 istore 1 ,contw 
+:      012773 le_send_att_find_information_res_store_info:
+0x5cc1 012774 call get_contr 
+0x5cc2 012775 ifetch 2 ,contr 
+0x5cc3 012776 istore 2 ,contw 
+0x5cc4 012777 ifetch 1 ,contr 
+0x5cc5 012778 copy pdata ,loopcnt 
+0x5cc6 012779 call memcpy 
+0x5cc7 012780 call store_contw 
+0x5cc8 012781 increase -1 ,timeup 
+0x5cc9 012782 branch le_send_att_find_information_res_end ,zero 
+:      012783 le_send_att_find_information_res_cont:
+0x5cca 012784 ifetch 1 ,contr 
+0x5ccb 012785 iadd contr ,contr 
+0x5ccc 012786 branch le_send_att_find_information_res_loop 
+:      012787 le_send_att_find_information_res_next:
+0x5ccd 012788 ifetch 1 ,contr 
+0x5cce 012789 iadd contr ,contr 
+0x5ccf 012790 branch le_send_att_find_information_res_cont 
+:      012791 le_send_att_find_information_res_end:
+0x5cd0 012792 branch le_send_att_error_response_notfound ,user 
+0x5cd1 012793 branch le_send_auto_len_by_mem 
+:      012796 le_parse_att_find_by_type_value_request:
+0x5cd2 012797 call le_get_search_handle_start_end_common 
+0x5cd3 012798 ifetch 2 ,contr 
+0x5cd4 012799 store 2 ,mem_le_search_uuid 
+0x5cd5 012800 call store_contr 
+0x5cd6 012801 arg mem_le_search_att_type_length ,contw 
+0x5cd7 012802 fetch 2 ,mem_le_l2cap_size 
+0x5cd8 012803 increase -7 ,pdata 
+0x5cd9 012804 call le_get_search_common2 
+0x5cda 012805 branch le_send_att_find_by_type_value_response 
+:      012808 le_start_end_handle_check_1:
+0x5cdb 012809 disable user 
+0x5cdc 012810 fetcht 2 ,mem_le_search_handle_start 
+0x5cdd 012811 fetch 2 ,mem_le_search_handle_end 
+0x5cde 012812 isub temp ,null 
+0x5cdf 012813 nbranch le_start_end_handle_check_1_fail ,positive 
+0x5ce0 012814 deposit temp 
+0x5ce1 012815 rtnne 0 
+:      012816 le_start_end_handle_check_1_fail:
+0x5ce2 012817 enable user 
+0x5ce3 012818 jam att_err_invalid_handle ,mem_le_err_code 
+0x5ce4 012819 branch le_send_att_error_response 
+:      012822 le_send_att_find_by_type_value_response:
+0x5ce5 012823 call le_start_end_handle_check_1 
+0x5ce6 012824 rtn user 
+0x5ce7 012825 fetcht 2 ,mem_le_search_uuid 
+0x5ce8 012826 setarg uuid_gatt_primary_service 
+0x5ce9 012827 isub temp ,null 
+0x5cea 012828 branch le_send_att_find_by_type_value_res_primary ,zero 
+0x5ceb 012829 branch le_send_att_error_response_notfound 
+:      012832 le_send_att_find_by_type_value_res_primary:
+0x5cec 012833 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+0x5ced 012834 fetcht 2 ,mem_le_search_handle_start 
+0x5cee 012835 storet 2 ,mem_temp 
+0x5cef 012836 call le_att_get_handle_info 
+0x5cf0 012837 nbranch le_send_att_error_response_notfound ,blank 
+:      012838 le_send_att_find_primary_search_loop:
+0x5cf1 012839 fetcht 2 ,mem_temp 
+0x5cf2 012840 call le_att_get_handle_info 
+0x5cf3 012841 nbranch le_send_att_error_response_notfound2 ,blank 
+0x5cf4 012842 copy contr ,rega 
+0x5cf5 012843 fetch 1 ,mem_le_curr_att_len 
+0x5cf6 012844 copy pdata ,loopcnt 
+0x5cf7 012845 fetcht 1 ,mem_le_search_att_type_length 
+0x5cf8 012846 isub temp ,null 
+0x5cf9 012847 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x5cfa 012848 arg mem_le_search_att_type ,regb 
+0x5cfb 012849 call string_compare 
+0x5cfc 012851 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+0x5cfd 012853 fetch 2 ,mem_le_cur_uuid 
+0x5cfe 012854 fetcht 2 ,mem_le_search_uuid 
+0x5cff 012855 isub temp ,null 
+0x5d00 012856 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+:      012857 le_send_att_find_primary_search_loop1:
+0x5d01 012858 fetch 2 ,mem_temp 
+0x5d02 012859 increase 1 ,pdata 
+0x5d03 012860 store 2 ,mem_temp 
+0x5d04 012861 branch le_send_att_find_primary_search_loop 
+:      012863 le_send_att_error_response_notfound2:
+0x5d05 012864 fetch 1 ,mem_le_search_res 
+0x5d06 012865 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+0x5d07 012866 branch le_send_att_error_response_notfound 
+:      012869 le_send_att_find_primary_search_end_start_handle_found:
+0x5d08 012870 fetch 2 ,mem_le_cur_uuid 
+0x5d09 012871 fetcht 2 ,mem_le_search_uuid 
+0x5d0a 012872 isub temp ,null 
+0x5d0b 012873 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x5d0c 012874 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+0x5d0d 012876 fetcht 2 ,mem_temp 
+0x5d0e 012877 storet 2 ,mem_le_cur_handle_start 
+0x5d0f 012878 branch le_send_att_find_primary_search_loop1 
+:      012880 le_send_att_find_primary_search_end_ending_handle_found:
+0x5d10 012881 fetch 1 ,mem_le_search_res 
+0x5d11 012882 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+0x5d12 012883 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+0x5d13 012884 fetcht 2 ,mem_temp 
+0x5d14 012885 increase -1 ,temp 
+0x5d15 012886 storet 2 ,mem_le_cur_handle_end 
+:      012888 le_send_att_find_primary_search_end:
+0x5d16 012889 arg 5 ,rega 
+0x5d17 012890 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d18 012891 setarg attop_find_by_type_value_response 
+0x5d19 012892 istore 1 ,contw 
+0x5d1a 012893 fetch 2 ,mem_le_cur_handle_start 
+0x5d1b 012894 istore 2 ,contw 
+0x5d1c 012895 fetch 2 ,mem_le_cur_handle_end 
+0x5d1d 012896 istore 2 ,contw 
+0x5d1e 012897 rtn 
+:      012901 le_parse_att_read_by_type_request:
+0x5d1f 012902 call le_get_search_handle_start_end_common 
+0x5d20 012903 call le_get_search_att_uuid 
+0x5d21 012904 branch le_send_att_read_by_type_response 
+:      012906 le_send_att_read_by_type_response:
+0x5d22 012907 fetcht 2 ,mem_le_search_handle_start 
+0x5d23 012908 storet 2 ,mem_temp 
+0x5d24 012909 call le_init_attlist_search 
+0x5d25 012910 call le_att_get_handle_ptr2 
+0x5d26 012911 increase -2 ,contr 
+0x5d27 012912 copy contr ,pdata 
+0x5d28 012913 store 2 ,mem_le_cur_attlist_start_ptr 
+0x5d29 012915 fetcht 2 ,mem_le_search_uuid 
+0x5d2a 012916 setarg uuid_chrctr_device_name 
+0x5d2b 012917 isub temp ,null 
+0x5d2c 012918 branch le_send_att_read_by_type_res_device_name ,zero 
+0x5d2d 012919 setarg uuid_gatt_characteristic 
+0x5d2e 012920 isub temp ,null 
+0x5d2f 012921 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+0x5d30 012922 arg 2 ,timeup 
+:      012923 le_send_att_read_by_type_response_loop:
+0x5d31 012924 call le_att_check_handle_end 
+0x5d32 012925 nbranch le_send_att_read_by_type_response_end ,positive 
+0x5d33 012926 fetcht 2 ,mem_temp 
+0x5d34 012927 call le_att_get_handle_info_from_ptr 
+0x5d35 012928 beq 1 ,le_send_att_read_by_type_response_end 
+0x5d36 012929 call le_att_same_uuid 
+0x5d37 012930 nbranch le_send_att_read_by_type_response_next_handle ,zero 
+0x5d38 012931 nbranch le_send_att_read_by_type_res_found_next ,user 
+0x5d39 012932 disable user 
+0x5d3a 012933 arg 20 ,rega 
+0x5d3b 012934 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d3c 012935 setarg attop_read_by_type_response 
+0x5d3d 012936 istore 1 ,contw 
+0x5d3e 012937 copy contw ,alarm 
+0x5d3f 012938 increase 1 ,contw 
+0x5d40 012940 call le_send_att_read_by_type_write_properties 
+0x5d41 012941 call le_att_next_handle 
+0x5d42 012942 call le_att_get_handle_info_from_ptr 
+0x5d43 012943 call le_send_att_read_by_type_write_uuid 
+0x5d44 012944 fetch 1 ,mem_le_cur_uuid_length 
+0x5d45 012945 increase 5 ,pdata 
+0x5d46 012946 istore 1 ,alarm 
+0x5d47 012947 fetch 1 ,mem_le_cur_uuid_length 
+0x5d48 012948 beq 16 ,le_send_att_read_by_type_response_end 
+0x5d49 012949 increase -1 ,timeup 
+0x5d4a 012950 branch le_send_att_read_by_type_response_end ,zero 
+:      012951 le_send_att_read_by_type_response_next_handle:
+0x5d4b 012952 call le_att_next_handle 
+0x5d4c 012953 branch le_send_att_read_by_type_response_loop 
+:      012954 le_send_att_read_by_type_response_end:
+0x5d4d 012955 branch le_send_att_error_response_notfound ,user 
+0x5d4e 012956 branch le_send_auto_len_by_mem 
+:      012958 le_send_att_read_by_type_res_found_next:
+0x5d4f 012959 call le_store_att_record 
+0x5d50 012960 call le_att_next_handle 
+0x5d51 012961 call le_att_get_handle_info_from_ptr 
+0x5d52 012962 fetch 1 ,mem_le_cur_uuid_length 
+0x5d53 012963 beq 16 ,le_send_att_read_by_type_response_end 
+0x5d54 012965 call get_contw 
+0x5d55 012966 fetch 2 ,mem_temp 
+0x5d56 012967 increase -1 ,pdata 
+0x5d57 012968 istore 2 ,contw 
+0x5d58 012969 call le_write_att_record_common 
+0x5d59 012970 call le_send_att_read_by_type_write_uuid 
+0x5d5a 012971 increase -1 ,timeup 
+0x5d5b 012972 branch le_send_att_read_by_type_response_end ,zero 
+0x5d5c 012973 branch le_send_att_read_by_type_response_next_handle 
+:      012976 le_send_att_read_by_type_write_properties:
+0x5d5d 012977 fetch 2 ,mem_temp 
+0x5d5e 012978 istore 2 ,contw 
+0x5d5f 012980 fetch 1 ,mem_le_curr_att_len 
+0x5d60 012981 copy pdata ,loopcnt 
+0x5d61 012982 call get_contr 
+0x5d62 012983 call memcpy_fast 
+0x5d63 012984 branch store_contw 
+:      012985 le_send_att_read_by_type_write_uuid:
+0x5d64 012986 call get_contw 
+0x5d65 012987 fetch 2 ,mem_temp 
+0x5d66 012988 istore 2 ,contw 
+0x5d67 012989 call store_contw 
+0x5d68 012990 fetch 1 ,mem_le_cur_uuid_length 
+0x5d69 012991 copy pdata ,loopcnt 
+0x5d6a 012992 call get_contw 
+0x5d6b 012993 call get_contr 
+0x5d6c 012994 isub loopcnt ,contr 
+0x5d6d 012995 increase -1 ,contr 
+0x5d6e 012996 call memcpy_fast 
+0x5d6f 012997 branch store_contw 
+:      013001 le_send_att_read_by_type_res_not_characteristic:
+0x5d70 013002 fetcht 2 ,mem_le_search_handle_start 
+0x5d71 013003 storet 2 ,mem_temp 
+:      013004 le_send_att_read_by_type_res_not_char_loop:
+0x5d72 013005 call le_att_check_handle_end 
+0x5d73 013006 nbranch le_send_att_error_response_notfound ,positive 
+0x5d74 013007 call le_att_get_handle_info_from_ptr 
+0x5d75 013008 beq 1 ,le_send_att_error_response_notfound 
+0x5d76 013009 call le_att_same_uuid 
+0x5d77 013010 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+:      013012 le_send_att_read_by_type_res_not_char_common:
+0x5d78 013013 arg 20 ,rega 
+0x5d79 013014 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d7a 013015 setarg attop_read_by_type_response 
+0x5d7b 013016 istore 1 ,contw 
+0x5d7c 013017 fetch 1 ,mem_le_curr_att_len 
+0x5d7d 013018 copy pdata ,loopcnt 
+0x5d7e 013019 increase 2 ,pdata 
+0x5d7f 013020 istore 1 ,contw 
+0x5d80 013021 fetch 2 ,mem_temp 
+0x5d81 013022 istore 2 ,contw 
+0x5d82 013023 call get_contr 
+0x5d83 013024 call memcpy_fast 
+0x5d84 013025 call store_contw 
+0x5d85 013026 branch le_send_auto_len_by_mem 
+:      013028 le_send_att_read_by_type_res_not_char_next:
+0x5d86 013029 call le_att_next_handle 
+0x5d87 013030 branch le_send_att_read_by_type_res_not_char_loop 
+:      013033 le_send_att_read_by_type_res_device_name:
+0x5d88 013034 arg uuid_chrctr_device_name ,temp 
+0x5d89 013035 call le_att_get_short_uuid_ptr 
+0x5d8a 013036 rtn blank 
+0x5d8b 013037 increase -5 ,contr 
+0x5d8c 013038 ifetch 2 ,contr 
+0x5d8d 013039 store 2 ,mem_temp 
+0x5d8e 013040 arg 20 ,rega 
+0x5d8f 013041 call le_fifo_malloc_tx_l2cap_gatt 
+0x5d90 013042 setarg attop_read_by_type_response 
+0x5d91 013043 istore 1 ,contw 
+0x5d92 013044 fetch 1 ,mem_le_name_len 
+0x5d93 013045 copy pdata ,loopcnt 
+0x5d94 013046 increase 2 ,pdata 
+0x5d95 013047 istore 1 ,contw 
+0x5d96 013048 fetch 2 ,mem_temp 
+0x5d97 013049 istore 2 ,contw 
+0x5d98 013050 arg mem_le_name ,contr 
+0x5d99 013051 call memcpy_fast 
+0x5d9a 013052 call store_contw 
+0x5d9b 013053 branch le_send_auto_len_by_mem 
+:      013057 le_parse_att_read_request:
+0x5d9c 013058 fetcht 2 ,mem_le_att_handle 
+0x5d9d 013059 fetch 1 ,mem_le_configuration 
+0x5d9e 013060 bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+:      013062 le_send_att_read_response:
+0x5d9f 013063 call le_att_get_handle_ptr 
+0x5da0 013064 branch le_send_att_error_response_notfound ,blank 
+0x5da1 013065 increase -2 ,contr 
+0x5da2 013066 ifetch 2 ,contr 
+0x5da3 013067 arg uuid_chrctr_device_name ,temp 
+0x5da4 013068 isub temp ,null 
+0x5da5 013069 branch le_send_device_name ,zero 
+0x5da6 013070 ifetch 1 ,contr 
+0x5da7 013071 sub pdata ,22 ,null 
+0x5da8 013072 branch le_send_att_read_response_less ,positive 
+0x5da9 013073 force 22 ,pdata 
+:      013074 le_send_att_read_response_less:
+0x5daa 013075 copy pdata ,regc 
+0x5dab 013076 call store_contr 
+0x5dac 013077 add regc ,1 ,rega 
+0x5dad 013078 call le_fifo_malloc_tx_l2cap_gatt 
+0x5dae 013079 setarg attop_read_response 
+0x5daf 013080 istore 1 ,contw 
+0x5db0 013081 copy regc ,loopcnt 
+0x5db1 013082 call get_contr 
+0x5db2 013083 branch memcpy 
+:      013085 le_send_device_name:
+0x5db3 013086 call store_contr 
+0x5db4 013087 fetch 1 ,mem_le_name_len 
+0x5db5 013088 add pdata ,1 ,rega 
+0x5db6 013089 call le_fifo_malloc_tx_l2cap_gatt 
+0x5db7 013090 setarg attop_read_response 
+0x5db8 013091 istore 1 ,contw 
+0x5db9 013092 fetch 1 ,mem_le_name_len 
+0x5dba 013093 copy pdata ,loopcnt 
+0x5dbb 013094 arg mem_le_name ,contr 
+0x5dbc 013095 branch memcpy 
+:      013098 le_send_att_read_response_check_auth:
+0x5dbd 013099 fetch 2 ,mem_le_pairing_handle 
+0x5dbe 013100 isub temp ,null 
+0x5dbf 013101 nbranch le_send_att_read_response ,zero 
+0x5dc0 013103 call le_check_encrypt_state 
+0x5dc1 013104 nbranch le_send_att_read_response ,user 
+0x5dc2 013105 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5dc3 013106 branch le_send_att_error_response 
+:      013109 le_parse_att_read_blob_request:
+0x5dc4 013110 ifetch 2 ,contr 
+0x5dc5 013111 store 2 ,mem_le_att_offset 
+:      013112 le_send_att_read_blob_response:
+0x5dc6 013113 arg 20 ,rega 
+0x5dc7 013114 call le_fifo_malloc_tx_l2cap_gatt 
+0x5dc8 013115 setarg attop_read_blob_response 
+0x5dc9 013116 istore 1 ,contw 
+0x5dca 013117 fetch 2 ,mem_le_att_offset 
+0x5dcb 013118 iforce rega 
+0x5dcc 013119 fetcht 2 ,mem_le_att_handle 
+0x5dcd 013120 call le_att_get_handle_ptr 
+0x5dce 013121 branch le_send_att_error_response_notfound ,blank 
+0x5dcf 013122 ifetch 1 ,contr 
+0x5dd0 013123 isub rega ,loopcnt 
+0x5dd1 013124 nbranch le_send_att_error_response_notfound ,positive 
+0x5dd2 013125 sub loopcnt ,22 ,null 
+0x5dd3 013126 branch le_send_att_read_blob_response_less ,positive 
+0x5dd4 013127 force 22 ,loopcnt 
+:      013128 le_send_att_read_blob_response_less:
+0x5dd5 013129 deposit rega 
+0x5dd6 013130 iadd contr ,contr 
+0x5dd7 013131 call memcpy_fast 
+0x5dd8 013132 call store_contw 
+0x5dd9 013133 branch le_send_auto_len_by_mem 
+:      013136 le_parse_att_read_by_group_type_request:
+0x5dda 013137 call le_get_search_handle_start_end_common 
+0x5ddb 013138 call le_get_search_att_type 
+0x5ddc 013139 branch le_send_att_read_by_group_type_response 
+:      013144 le_send_att_read_by_group_type_response:
+0x5ddd 013145 arg 2 ,timeup 
+0x5dde 013146 fetcht 2 ,mem_le_search_handle_start 
+0x5ddf 013150 storet 2 ,mem_temp 
+0x5de0 013151 call le_init_attlist_search 
+0x5de1 013152 call le_att_get_handle_ptr2 
+0x5de2 013153 increase -2 ,contr 
+0x5de3 013154 copy contr ,pdata 
+0x5de4 013155 store 2 ,mem_le_cur_attlist_start_ptr 
+:      013156 le_send_att_read_by_group_type_response_loop:
+0x5de5 013157 call le_att_check_handle_end 
+0x5de6 013158 nbranch le_send_att_read_by_group_type_end0 ,positive 
+0x5de7 013159 fetcht 2 ,mem_temp 
+0x5de8 013160 call le_att_get_handle_info_from_ptr 
+0x5de9 013161 beq 1 ,le_send_att_read_by_group_type_end1 
+0x5dea 013163 call le_att_same_type 
+0x5deb 013164 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+0x5dec 013165 copy timeup ,pdata 
+0x5ded 013166 beq 0 ,le_send_att_read_by_group_type_end1 
+0x5dee 013167 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+0x5def 013168 disable user 
+0x5df0 013170 arg 20 ,rega 
+0x5df1 013171 call le_fifo_malloc_tx_l2cap_gatt 
+0x5df2 013172 setarg attop_read_by_group_type_response 
+0x5df3 013173 istore 1 ,contw 
+0x5df4 013174 fetch 1 ,mem_le_curr_att_len 
+0x5df5 013175 increase 4 ,pdata 
+0x5df6 013176 istore 1 ,contw 
+0x5df7 013177 call store_contw 
+0x5df8 013178 branch le_send_att_read_by_group_type_store_record 
+:      013179 le_send_att_read_by_group_type_store_write_record:
+0x5df9 013180 fetch 1 ,mem_le_curr_att_len 
+0x5dfa 013181 beq 16 ,le_send_att_read_by_group_type_end1 
+0x5dfb 013182 fetch 2 ,mem_temp 
+0x5dfc 013183 increase -1 ,pdata 
+0x5dfd 013184 store 2 ,mem_le_cur_handle_end 
+0x5dfe 013185 call le_write_att_record 
+:      013186 le_send_att_read_by_group_type_store_record:
+0x5dff 013187 fetch 2 ,mem_temp 
+0x5e00 013188 store 2 ,mem_le_cur_handle_start 
+0x5e01 013189 call le_store_att_record 
+0x5e02 013190 increase -1 ,timeup 
+:      013192 le_send_att_read_by_group_type_next_handle:
+0x5e03 013193 call le_att_next_handle 
+0x5e04 013194 branch le_send_att_read_by_group_type_response_loop 
+:      013196 le_send_att_read_by_group_type_end0:
+0x5e05 013197 fetch 2 ,mem_temp 
+0x5e06 013198 store 2 ,mem_le_cur_handle_end 
+0x5e07 013199 branch le_send_att_read_by_group_type_end_common 
+:      013200 le_send_att_read_by_group_type_end1:
+0x5e08 013201 fetch 2 ,mem_temp 
+0x5e09 013202 increase -1 ,pdata 
+0x5e0a 013203 store 2 ,mem_le_cur_handle_end 
+0x5e0b 013204 branch le_send_att_read_by_group_type_end_common 
+:      013205 le_send_att_read_by_group_type_end_common:
+0x5e0c 013206 branch le_send_att_error_response_notfound ,user 
+0x5e0d 013207 call le_write_att_record 
+0x5e0e 013208 branch le_send_auto_len_by_mem 
+:      013213 le_parse_att_write_request:
+0x5e0f 013214 copy contr ,rega 
+0x5e10 013215 fetch 2 ,mem_le_l2cap_size 
+0x5e11 013216 add pdata ,-3 ,regb 
+0x5e12 013217 call le_writeatt_cb 
+:      013218 le_send_att_write_response_check_auth:
+0x5e13 013219 fetch 1 ,mem_le_configuration 
+0x5e14 013220 bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0x5e15 013222 fetcht 2 ,mem_le_att_handle 
+0x5e16 013223 fetch 2 ,mem_le_pairing_handle 
+0x5e17 013224 isub temp ,null 
+0x5e18 013225 nbranch le_send_att_write_response ,zero 
+0x5e19 013226 call le_check_encrypt_state 
+0x5e1a 013227 nbranch le_send_att_write_response ,user 
+0x5e1b 013228 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5e1c 013229 branch le_send_att_error_response 
+:      013231 le_send_att_write_response:
+0x5e1d 013232 force 1 ,rega 
+0x5e1e 013233 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e1f 013234 setarg attop_write_response 
+0x5e20 013235 istore 1 ,contw 
+0x5e21 013236 rtn 
+:      013238 le_check_encrypt_state:
+0x5e22 013239 call disable_user 
+0x5e23 013240 fetch 1 ,mem_le_pairing_mode 
+0x5e24 013241 rtneq le_pairing_mode_none 
+0x5e25 013242 fetch 1 ,mem_context 
+0x5e26 013243 rtnbit1 lestate_encryption 
+0x5e27 013244 branch enable_user 
+:      013247 le_parse_att_prepare_write_request:
+0x5e28 013248 add contr ,2 ,rega 
+0x5e29 013249 fetch 2 ,mem_le_l2cap_size 
+0x5e2a 013250 add pdata ,-5 ,regb 
+0x5e2b 013251 call le_writeatt_cb 
+0x5e2c 013252 branch le_send_att_prepare_write_response 
+:      013255 le_send_att_prepare_write_response:
+0x5e2d 013256 fetch 2 ,mem_le_l2cap_size 
+0x5e2e 013257 copy pdata ,rega 
+0x5e2f 013258 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e30 013259 setarg attop_prepare_write_response 
+0x5e31 013260 istore 1 ,contw 
+0x5e32 013261 fetch 2 ,mem_le_att_handle 
+0x5e33 013262 istore 2 ,contw 
+0x5e34 013263 fetch 2 ,mem_le_l2cap_size 
+0x5e35 013264 add pdata ,-5 ,loopcnt 
+0x5e36 013265 fetch 2 ,mem_le_payload_ptr 
+0x5e37 013266 add pdata ,7 ,contr 
+0x5e38 013267 ifetch 2 ,contr 
+0x5e39 013268 istore 2 ,contw 
+0x5e3a 013269 branch memcpy_fast 
+:      013273 le_parse_att_execute_write_request:
+:      013275 le_send_att_execute_write_response:
+0x5e3b 013276 force 1 ,rega 
+0x5e3c 013277 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e3d 013278 setarg attop_execute_write_response 
+0x5e3e 013279 istore 1 ,contw 
+0x5e3f 013280 rtn 
+:      013284 le_parse_att_write_command:
+0x5e40 013285 copy contr ,rega 
+0x5e41 013286 fetch 2 ,mem_le_l2cap_size 
+0x5e42 013287 add pdata ,-3 ,regb 
+0x5e43 013288 branch le_writeatt_cb 
+:      013293 le_att_malloc_tx_notify:
+0x5e44 013294 copy temp ,regc 
+0x5e45 013295 increase 3 ,rega 
+0x5e46 013296 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e47 013297 increase -3 ,rega 
+0x5e48 013298 setarg attop_handle_value_notification 
+0x5e49 013299 istore 1 ,contw 
+0x5e4a 013300 copy regc ,temp 
+0x5e4b 013301 istoret 2 ,contw 
+0x5e4c 013302 rtn 
+:      013305 le_att_malloc_tx_indication:
+0x5e4d 013306 copy temp ,regc 
+0x5e4e 013307 increase 3 ,rega 
+0x5e4f 013308 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e50 013309 increase -3 ,rega 
+0x5e51 013310 setarg attop_handle_value_indication 
+0x5e52 013311 istore 1 ,contw 
+0x5e53 013312 copy regc ,temp 
+0x5e54 013313 istoret 2 ,contw 
+0x5e55 013314 rtn 
+:      013319 le_send_att_error_response_notfound:
+0x5e56 013320 jam att_err_attribute_not_found ,mem_le_err_code 
+:      013321 le_send_att_error_response:
+0x5e57 013322 force 5 ,rega 
+0x5e58 013323 call le_fifo_malloc_tx_l2cap_gatt 
+0x5e59 013324 setarg attop_error_response 
+0x5e5a 013325 istore 1 ,contw 
+0x5e5b 013326 fetch 1 ,mem_le_att_opcode 
+0x5e5c 013327 istore 1 ,contw 
+0x5e5d 013328 fetch 2 ,mem_le_att_handle 
+0x5e5e 013329 istore 2 ,contw 
+0x5e5f 013330 fetch 1 ,mem_le_err_code 
+0x5e60 013331 istore 1 ,contw 
+0x5e61 013332 rtn 
+:      013335 le_fifo_malloc_tx_l2cap_gatt:
+0x5e62 013336 force le_l2cap_cid_att ,regb 
+0x5e63 013337 branch le_fifo_malloc_tx_l2cap 
+:      013340 le_att_next_handle:
+0x5e64 013341 fetcht 2 ,mem_temp 
+0x5e65 013342 increase 1 ,temp 
+0x5e66 013343 storet 2 ,mem_temp 
+0x5e67 013344 rtn 
+:      013346 le_att_check_handle_end:
+0x5e68 013347 fetcht 2 ,mem_temp 
+0x5e69 013348 fetch 2 ,mem_le_search_handle_end 
+0x5e6a 013349 isub temp ,null 
+0x5e6b 013350 rtn 
+:      013353 le_att_same_type:
+0x5e6c 013354 fetcht 1 ,mem_le_search_att_type_length 
+0x5e6d 013355 arg mem_le_search_att_type ,rega 
+:      013356 le_att_check_same_common:
+0x5e6e 013357 fetch 1 ,mem_le_cur_uuid_length 
+0x5e6f 013358 copy pdata ,loopcnt 
+0x5e70 013359 isub temp ,null 
+0x5e71 013360 nrtn zero 
+0x5e72 013361 arg mem_le_cur_uuid ,regb 
+0x5e73 013362 branch string_compare 
+:      013364 le_att_same_uuid:
+0x5e74 013365 fetcht 1 ,mem_le_search_uuid_length 
+0x5e75 013366 arg mem_le_search_uuid ,rega 
+0x5e76 013367 branch le_att_check_same_common 
+:      013370 le_store_att_record:
+0x5e77 013371 fetch 1 ,mem_le_curr_att_len 
+0x5e78 013372 store 1 ,mem_tmp_buffer 
+0x5e79 013373 copy pdata ,loopcnt 
+0x5e7a 013374 call get_contr 
+0x5e7b 013375 branch memcpy_fast 
+:      013378 le_write_att_record:
+0x5e7c 013379 call get_contw 
+0x5e7d 013380 fetch 2 ,mem_le_cur_handle_start 
+0x5e7e 013381 istore 2 ,contw 
+0x5e7f 013382 fetch 2 ,mem_le_cur_handle_end 
+0x5e80 013383 istore 2 ,contw 
+:      013384 le_write_att_record_common:
+0x5e81 013385 fetch 1 ,mem_tmp_buffer 
+0x5e82 013386 copy pdata ,loopcnt 
+0x5e83 013387 call memcpy_fast 
+0x5e84 013388 branch store_contw 
+:      013392 le_send_auto_len_by_mem:
+0x5e85 013393 call get_contw 
+0x5e86 013394 call le_fifo_get_last_att_ptr 
+0x5e87 013395 copy contw ,pdata 
+0x5e88 013396 isub contr ,rega 
+0x5e89 013397 call le_fifo_get_last_l2cap_ptr 
+0x5e8a 013398 copy rega ,pdata 
+0x5e8b 013399 istore 2 ,contr 
+0x5e8c 013400 increase 4 ,rega 
+0x5e8d 013401 call le_fifo_get_last_tx_ptr 
+0x5e8e 013402 copy rega ,pdata 
+0x5e8f 013403 istore 1 ,contr 
+0x5e90 013404 rtn 
+:      013407 le_get_search_handle_start_end_common:
+0x5e91 013408 rshift8 pdata ,pdata 
+0x5e92 013409 store 2 ,mem_le_search_handle_start 
+0x5e93 013410 ifetch 2 ,contr 
+0x5e94 013411 store 2 ,mem_le_search_handle_end 
+0x5e95 013412 rtn 
+:      013417 le_parse_signaling:
+0x5e96 013418 ifetch 1 ,contr 
+0x5e97 013419 ifetcht 1 ,contr 
+0x5e98 013420 ifetcht 2 ,contr 
+0x5e99 013421 beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+0x5e9a 013422 rtn 
+:      013423 le_l2cap_parse_conn_parameter_update_rsp:
+0x5e9b 013424 ifetch 2 ,contr 
+0x5e9c 013425 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x5e9d 013426 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+0x5e9e 013427 branch ui_ipc_send_event 
+:      013433 le_l2cap_tx_update_req:
+0x5e9f 013434 arg 0x0c ,rega 
+0x5ea0 013435 arg l2cap_connection_parameter_update_request ,regc 
+0x5ea1 013436 call le_fifo_malloc_tx_l2cap_signaling 
+0x5ea2 013437 setarg 0x08 
+0x5ea3 013438 istore 2 ,contw 
+0x5ea4 013439 fetch 8 ,mem_le_interval_min 
+0x5ea5 013440 istore 8 ,contw 
+0x5ea6 013441 rtn 
+:      013445 le_fifo_malloc_tx_l2cap_signaling:
+0x5ea7 013446 call le_l2cap_update_signaling_identifier 
+0x5ea8 013447 arg le_l2cap_cid_signal ,regb 
+0x5ea9 013448 call le_fifo_malloc_tx_l2cap 
+0x5eaa 013449 copy regc ,pdata 
+0x5eab 013450 istore 1 ,contw 
+0x5eac 013451 fetch 1 ,mem_le_signaling_identifier 
+0x5ead 013452 istore 1 ,contw 
+0x5eae 013453 rtn 
+:      013456 le_l2cap_update_signaling_identifier:
+0x5eaf 013457 fetch 1 ,mem_le_signaling_identifier 
+0x5eb0 013459 pincrease 1 
+0x5eb1 013460 store 1 ,mem_le_signaling_identifier 
+0x5eb2 013461 rtnne 0 
+:      013463 le_l2cap_reset_signaling_identifier:
+0x5eb3 013464 jam 1 ,mem_le_signaling_identifier 
+0x5eb4 013465 rtn 
+:      013470 le_pairing_mode_init:
+0x5eb5 013471 fetch 1 ,mem_le_pairing_mode 
+0x5eb6 013472 beq le_pairing_mode_none ,le_set_no_pairing 
+0x5eb7 013473 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+0x5eb8 013474 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+0x5eb9 013475 beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+0x5eba 013476 beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+0x5ebb 013477 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+0x5ebc 013478 rtn 
+:      013480 le_set_pairing_mode_secure_justwork:
+0x5ebd 013481 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ebe 013482 branch le_set_noinputnooutput 
+:      013483 le_set_pairing_mode_secure_numeric:
+0x5ebf 013484 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ec0 013485 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x5ec1 013486 rtn 
+:      013487 le_set_pairing_mode_secure_passkey:
+0x5ec2 013488 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ec3 013489 branch le_set_displayonly 
+:      013490 le_set_no_pairing:
+0x5ec4 013491 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      013492 le_set_noinputnooutput:
+0x5ec5 013493 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x5ec6 013494 rtn 
+:      013495 le_set_pairing_mode_lagacy_just_work:
+0x5ec7 013496 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x5ec8 013497 branch le_set_noinputnooutput 
+:      013498 le_set_pairing_mode_lagacy_passkey:
+0x5ec9 013499 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      013500 le_set_displayonly:
+0x5eca 013501 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x5ecb 013502 rtn 
+:      013505 le_secure_connection_enable:
+0x5ecc 013506 fetch 1 ,mem_le_pres_auth 
+0x5ecd 013507 set1 le_auth_secure_connection_pairing_bit ,pdata 
+0x5ece 013508 store 1 ,mem_le_pres_auth 
+0x5ecf 013509 rtn 
+:      013510 le_secure_connection_disable:
+0x5ed0 013511 fetch 1 ,mem_le_pres_auth 
+0x5ed1 013512 set0 le_auth_secure_connection_pairing_bit ,pdata 
+0x5ed2 013513 store 1 ,mem_le_pres_auth 
+0x5ed3 013514 rtn 
+:      013516 le_parse_smp:
+0x5ed4 013517 ifetch 1 ,contr 
+0x5ed5 013518 beq smp_pairing_request ,le_parse_smp_pairing_request 
+0x5ed6 013520 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+0x5ed7 013521 beq smp_pairing_random ,le_parse_smp_pairing_random 
+0x5ed8 013522 beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+0x5ed9 013523 beq smp_encryption_information ,le_parse_smp_encryption_information 
+0x5eda 013524 beq smp_master_identification ,le_parse_smp_master_identification 
+0x5edb 013525 beq smp_identity_information ,le_parse_smp_identity_information 
+0x5edc 013526 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+0x5edd 013527 beq smp_signing_information ,le_parse_smp_signing_information 
+0x5ede 013528 beq smp_security_request ,le_parse_smp_security_request 
+0x5edf 013529 beq smp_pairing_public_key ,le_parse_smp_public_key 
+0x5ee0 013530 beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+0x5ee1 013531 rtn 
+:      013535 le_send_smp_security_request:
+0x5ee2 013536 force 2 ,rega 
+0x5ee3 013537 call le_fifo_malloc_tx_l2cap_smp 
+0x5ee4 013538 setarg smp_security_request 
+0x5ee5 013539 istore 1 ,contw 
+0x5ee6 013540 fetch 1 ,mem_le_pres_auth 
+0x5ee7 013541 istore 1 ,contw 
+0x5ee8 013542 rtn 
+:      013544 le_parse_smp_pairing_request:
+0x5ee9 013545 store 1 ,mem_le_preq 
+0x5eea 013546 ifetch 6 ,contr 
+0x5eeb 013547 istore 6 ,contw 
+0x5eec 013548 fetch 1 ,mem_le_pairing_mode 
+0x5eed 013549 beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+0x5eee 013550 call le_send_smp_pairing_response 
+0x5eef 013551 call le_check_master_support_secure_connect 
+0x5ef0 013552 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+0x5ef1 013553 fetch 1 ,mem_le_preq_iocap 
+0x5ef2 013554 beq flag_iocap_displayonly ,le_set_tk_0 
+0x5ef3 013555 beq flag_iocap_displayyesno ,le_set_tk_0 
+0x5ef4 013556 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+0x5ef5 013557 fetch 1 ,mem_le_pairing_mode 
+0x5ef6 013558 beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+0x5ef7 013559 rtneq le_pairing_mode_secure_connect_passkey 
+:      013560 le_set_tk_0:
+0x5ef8 013561 arg 0 ,pdata 
+0x5ef9 013562 store 4 ,mem_le_tk 
+0x5efa 013563 rtn 
+:      013565 le_parse_smp_pairing_req_passkey:
+0x5efb 013566 fetch 1 ,mem_le_configuration 
+0x5efc 013567 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+:      013568 le_genernate_tk:
+0x5efd 013569 arg mem_le_tk ,rega 
+0x5efe 013570 copy rega ,contw 
+0x5eff 013571 arg 3 ,loopcnt 
+0x5f00 013572 call generate_random_loop 
+0x5f01 013573 fetch 2 ,mem_le_tk + 2 
+0x5f02 013574 and_into 0x7 ,pdata 
+0x5f03 013575 store 2 ,mem_le_tk + 2 
+:      013576 le_parse_smp_pairing_req_fixed_passkey:
+0x5f04 013577 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+0x5f05 013578 branch ui_ipc_send_event 
+:      013580 le_check_master_support_secure_connect:
+0x5f06 013581 fetch 1 ,mem_le_preq_auth 
+0x5f07 013582 rtnbit1 le_auth_secure_connection_pairing_bit 
+0x5f08 013583 fetch 1 ,mem_le_pairing_mode 
+0x5f09 013584 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5f0a 013585 branch app_ble_disconnect 
+:      013587 le_send_smp_pairing_response:
+0x5f0b 013588 force 7 ,rega 
+0x5f0c 013589 call le_fifo_malloc_tx_l2cap_smp 
+0x5f0d 013590 fetch 7 ,mem_le_pres 
+0x5f0e 013591 istore 7 ,contw 
+0x5f0f 013592 rtn 
+:      013595 le_parse_smp_pairing_confirm:
+0x5f10 013596 copy contr ,rega 
+0x5f11 013597 fetch 1 ,mem_le_pairing_mode 
+0x5f12 013598 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+0x5f13 013599 copy rega ,contr 
+0x5f14 013600 arg mem_le_rconfirm ,contw 
+0x5f15 013601 call memcpy16 
+0x5f16 013602 branch le_send_smp_pairing_confirm 
+:      013603 le_parse_smp_pairing_confirm_secure_passkey:
+0x5f17 013604 copy rega ,contr 
+0x5f18 013605 arg mem_le_rconfirm ,contw 
+0x5f19 013606 call memcpy16 
+0x5f1a 013607 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5f1b 013608 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+0x5f1c 013609 rtn 
+:      013612 le_send_smp_pairing_confirm:
+0x5f1d 013613 fetch 1 ,mem_le_pairing_mode 
+0x5f1e 013614 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+0x5f1f 013615 call generate_confirm 
+0x5f20 013616 force 17 ,rega 
+0x5f21 013617 call le_fifo_malloc_tx_l2cap_smp 
+0x5f22 013618 setarg smp_pairing_confirm 
+0x5f23 013619 istore 1 ,contw 
+0x5f24 013620 branch store_aes_result 
+:      013623 le_send_smp_pairing_confirm_sc:
+0x5f25 013624 arg mem_le_srand ,contw 
+0x5f26 013625 call generate_random 
+0x5f27 013626 call function_f4_cb 
+0x5f28 013627 force 17 ,rega 
+0x5f29 013628 call le_fifo_malloc_tx_l2cap_smp 
+0x5f2a 013629 setarg smp_pairing_confirm 
+0x5f2b 013630 istore 1 ,contw 
+0x5f2c 013631 branch load_inverse_result 
+:      013635 le_parse_smp_pairing_random:
+0x5f2d 013636 copy contr ,rega 
+0x5f2e 013637 fetch 1 ,mem_le_pairing_mode 
+0x5f2f 013638 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+0x5f30 013639 copy rega ,contr 
+0x5f31 013640 call authenticate_rconfirm 
+0x5f32 013641 branch le_parse_smp_pairing_random_success ,zero 
+:      013642 le_send_pairing_confirm_value_failed:
+0x5f33 013643 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+:      013644 le_send_pairing_failed:
+0x5f34 013645 force 2 ,rega 
+0x5f35 013646 call le_fifo_malloc_tx_l2cap_smp 
+0x5f36 013647 setarg smp_pairing_failed 
+0x5f37 013648 istore 1 ,contw 
+0x5f38 013649 fetch 1 ,mem_le_ll_pairing_fail_reason 
+0x5f39 013650 istore 1 ,contw 
+:      013651 le_parse_smp_pairing_failed:
+0x5f3a 013652 force smp_pairing_timer ,queue 
+0x5f3b 013653 call timer_stop 
+0x5f3c 013654 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5f3d 013655 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+0x5f3e 013656 branch ui_ipc_send_event 
+:      013658 le_smp_pairing_fail_reason_not_support_pairing:
+0x5f3f 013659 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+0x5f40 013660 branch le_send_pairing_failed 
+:      013663 le_parse_smp_pairing_random_sc:
+0x5f41 013664 arg mem_le_mrand ,contw 
+0x5f42 013665 copy rega ,contr 
+0x5f43 013666 call memcpy16 
+0x5f44 013667 fetch 1 ,mem_le_pairing_mode 
+0x5f45 013668 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+0x5f46 013669 call function_g2 
+0x5f47 013672 call le_send_smp_pairing_random 
+0x5f48 013673 fetch 1 ,mem_le_pairing_mode 
+0x5f49 013674 rtnne le_pairing_mode_secure_connect_numeric 
+0x5f4a 013675 jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+0x5f4b 013676 branch ui_ipc_send_event 
+:      013678 le_parse_smp_pairing_random_sc_passkey:
+0x5f4c 013679 call function_f4_ca 
+0x5f4d 013680 arg mem_aes_cmac_temp ,contw 
+0x5f4e 013681 call load_inverse_result 
+0x5f4f 013682 arg mem_aes_cmac_temp ,rega 
+0x5f50 013683 arg mem_le_rconfirm ,regb 
+0x5f51 013684 arg 16 ,loopcnt 
+0x5f52 013685 call string_compare 
+0x5f53 013686 nbranch le_send_pairing_confirm_value_failed ,zero 
+0x5f54 013687 branch le_send_smp_pairing_random 
+:      013689 le_parse_smp_pairing_random_success:
+0x5f55 013690 call generate_stk 
+0x5f56 013691 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5f57 013692 call ui_ipc_send_event 
+0x5f58 013693 jam 1 ,mem_ltk_exists 
+0x5f59 013694 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+:      013696 le_send_smp_pairing_random:
+0x5f5a 013697 force 17 ,rega 
+0x5f5b 013698 call le_fifo_malloc_tx_l2cap_smp 
+0x5f5c 013699 setarg smp_pairing_random 
+0x5f5d 013700 istore 1 ,contw 
+0x5f5e 013701 arg mem_le_srand ,contr 
+0x5f5f 013702 branch memcpy16 
+:      013704 le_parse_smp_encryption_information:
+0x5f60 013705 arg mem_le_peer_ltk ,contw 
+0x5f61 013706 branch memcpy16 
+:      013708 le_send_smp_encryption_information:
+0x5f62 013709 force 17 ,rega 
+0x5f63 013710 call le_fifo_malloc_tx_l2cap_smp 
+0x5f64 013711 setarg smp_encryption_information 
+0x5f65 013712 istore 1 ,contw 
+0x5f66 013713 fetch 1 ,mem_le_configuration 
+0x5f67 013714 bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+0x5f68 013715 arg mem_le_ltk ,contr 
+0x5f69 013716 branch memcpy16 
+:      013718 le_send_fixed_ltk:
+0x5f6a 013719 arg mem_le_fixed_ltk ,contr 
+0x5f6b 013720 branch memcpy16 
+:      013723 le_send_smp_master_identification:
+0x5f6c 013724 arg mem_le_ediv ,contw 
+0x5f6d 013725 force 10 ,loopcnt 
+0x5f6e 013726 call generate_random_loop 
+0x5f6f 013727 force 11 ,rega 
+0x5f70 013728 call le_fifo_malloc_tx_l2cap_smp 
+0x5f71 013729 setarg smp_master_identification 
+0x5f72 013730 istore 1 ,contw 
+0x5f73 013731 fetch 2 ,mem_le_ediv 
+0x5f74 013732 istore 2 ,contw 
+0x5f75 013733 fetch 8 ,mem_le_rand 
+0x5f76 013734 istore 8 ,contw 
+0x5f77 013735 rtn 
+:      013737 le_send_smp_identity_information:
+0x5f78 013738 force 17 ,rega 
+0x5f79 013739 call le_fifo_malloc_tx_l2cap_smp 
+0x5f7a 013740 setarg smp_identity_information 
+0x5f7b 013741 istore 1 ,contw 
+0x5f7c 013742 setarg 0 
+0x5f7d 013743 istore 8 ,contw 
+0x5f7e 013744 istore 8 ,contw 
+0x5f7f 013745 rtn 
+:      013748 le_send_smp_identity_address_information:
+0x5f80 013749 force 8 ,rega 
+0x5f81 013750 call le_fifo_malloc_tx_l2cap_smp 
+0x5f82 013751 setarg smp_identity_address_information 
+0x5f83 013752 istore 1 ,contw 
+0x5f84 013753 fetch 1 ,mem_le_conn_own_addr_type 
+0x5f85 013754 istore 1 ,contw 
+0x5f86 013755 fetch 6 ,mem_le_lap 
+0x5f87 013756 istore 6 ,contw 
+0x5f88 013757 rtn 
+:      013760 le_send_pairing_fail_unspecified_reason:
+0x5f89 013761 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+0x5f8a 013762 branch le_send_pairing_failed 
+:      013764 le_check_init_key_distribution:
+0x5f8b 013765 fetch 1 ,mem_le_pres_init_key_distribution 
+0x5f8c 013766 fetcht 1 ,mem_le_pres_init_key_distribution 
+0x5f8d 013767 iand temp ,pdata 
+0x5f8e 013768 rtn 
+:      013770 le_parse_smp_identity_information:
+0x5f8f 013771 arg mem_le_irk ,contw 
+0x5f90 013772 call memcpy16 
+0x5f91 013773 call le_check_init_key_distribution 
+0x5f92 013774 isolate0 le_initator_irk_bit ,pdata 
+0x5f93 013775 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5f94 013776 fetch 1 ,mem_device_option 
+0x5f95 013777 rtnne dvc_op_module 
+0x5f96 013778 call le_check_master_addr_type 
+0x5f97 013779 nrtn user 
+0x5f98 013780 branch app_ble_store_reconn_info 
+:      013783 le_check_master_addr_type:
+0x5f99 013784 call disable_user 
+0x5f9a 013785 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5f9b 013786 rtneq master_public_addr 
+0x5f9c 013787 fetch 1 ,mem_le_plap + 5 
+0x5f9d 013788 compare 0xc0 ,pdata ,0xc0 
+0x5f9e 013789 rtn true 
+0x5f9f 013790 branch enable_user 
+:      013792 le_parse_smp_identity_address_information:
+0x5fa0 013793 call le_check_init_key_distribution 
+0x5fa1 013794 isolate0 le_initator_irk_bit ,pdata 
+0x5fa2 013795 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5fa3 013796 rtn 
+:      013798 le_parse_smp_master_identification:
+:      013799 le_parse_smp_signing_information:
+:      013800 le_parse_smp_security_request:
+0x5fa4 013801 rtn 
+:      013803 le_parse_smp_public_key:
+0x5fa5 013804 arg mem_le_pubkey_remote_x_256 ,contw 
+0x5fa6 013805 call memcpy64 
+0x5fa7 013806 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5fa8 013807 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+0x5fa9 013808 rtn 
+:      013810 le_parse_smp_dhkey_check:
+0x5faa 013811 arg mem_sp_confirm_remote ,contw 
+0x5fab 013812 call memcpy16 
+0x5fac 013813 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+0x5fad 013814 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5fae 013815 rtn 
+:      013817 le_send_smp_pairing_public_key:
+0x5faf 013818 force 65 ,rega 
+0x5fb0 013819 call le_fifo_malloc_tx_l2cap_smp 
+0x5fb1 013820 setarg smp_pairing_public_key 
+0x5fb2 013821 istore 1 ,contw 
+0x5fb3 013822 arg mem_le_pubkey_local_x_256 ,contr 
+0x5fb4 013823 branch memcpy64 
+:      013825 le_send_smp_pairing_dhkey_check:
+0x5fb5 013826 call function_f6_eb 
+0x5fb6 013827 force 17 ,rega 
+0x5fb7 013828 call le_fifo_malloc_tx_l2cap_smp 
+0x5fb8 013829 setarg smp_pairing_dhkey_check 
+0x5fb9 013830 istore 1 ,contw 
+0x5fba 013831 branch load_inverse_result 
+:      013834 le_check_paring_time:
+0x5fbb 013835 fetch 1 ,mem_le_pairing_state 
+0x5fbc 013836 rtneq flag_le_pairing_end 
+0x5fbd 013837 arg flag_le_pairing_rcv_pairing_req ,temp 
+0x5fbe 013838 isub temp ,null 
+0x5fbf 013839 nrtn positive 
+0x5fc0 013840 arg smp_pairing_timer ,queue 
+0x5fc1 013841 call timer_check 
+0x5fc2 013842 nrtn blank 
+0x5fc3 013843 branch le_send_pairing_fail_unspecified_reason 
+:      013845 le_pairing_sm:
+0x5fc4 013846 bpatchx patch26_3 ,mem_patch26 
+0x5fc5 013847 fetch 1 ,mem_le_pairing_state 
+0x5fc6 013848 beq flag_le_pairing_null ,le_pairing_sm_null 
+0x5fc7 013849 beq flag_le_pairing_start ,le_pairing_sm_start 
+0x5fc8 013850 beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+0x5fc9 013851 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+0x5fca 013852 beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+0x5fcb 013853 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+0x5fcc 013854 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+0x5fcd 013855 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+0x5fce 013856 rtn 
+:      013858 le_pairing_sm_null:
+:      013859 le_pairing_sm_send_sec_req:
+0x5fcf 013860 fetch 1 ,mem_le_enc_state 
+0x5fd0 013861 rtnne flag_le_send_start_enc_rsp 
+0x5fd1 013862 jam flag_le_enc_end ,mem_le_enc_state 
+0x5fd2 013863 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5fd3 013864 jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+0x5fd4 013865 branch ui_ipc_send_event 
+:      013868 le_pairing_sm_start:
+0x5fd5 013869 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+0x5fd6 013870 branch le_send_smp_security_request 
+:      013872 le_pairing_sm_rcv_pairing_req:
+0x5fd7 013873 jam flag_le_pairing_auth ,mem_le_pairing_state 
+0x5fd8 013874 setarg timer_smp_pairing_timeout 
+0x5fd9 013875 arg smp_pairing_timer ,queue 
+0x5fda 013876 branch timer_init 
+:      013878 le_pairing_sm_after_auth:
+0x5fdb 013879 fetch 1 ,mem_le_enc_state 
+0x5fdc 013880 beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+0x5fdd 013881 rtn 
+:      013883 le_pairing_sm_after_auth_start_enc:
+0x5fde 013884 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+0x5fdf 013885 jam bt_evt_le_enc_info ,mem_fifo_temp 
+0x5fe0 013886 call ui_ipc_send_event 
+0x5fe1 013887 call le_send_smp_encryption_information 
+0x5fe2 013888 fetch 1 ,mem_device_option 
+0x5fe3 013889 rtnne dvc_op_module 
+0x5fe4 013890 call le_check_master_addr_type 
+0x5fe5 013891 rtn user 
+0x5fe6 013892 branch app_ble_store_reconn_info 
+:      013895 le_pairng_sm_send_enc_information:
+0x5fe7 013896 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+0x5fe8 013897 branch le_send_smp_master_identification 
+:      013899 le_pairng_sm_send_master_indentification:
+0x5fe9 013900 fetch 1 ,mem_le_preq_resp_key_distribution 
+0x5fea 013901 fetcht 1 ,mem_le_pres_resp_key_distribution 
+0x5feb 013902 iand temp ,pdata 
+0x5fec 013903 isolate0 le_initator_irk_bit ,pdata 
+0x5fed 013904 branch le_parse_start_enc_rsp_after_auth_end ,true 
+0x5fee 013905 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+0x5fef 013906 branch le_send_smp_identity_information 
+:      013908 le_pairng_sm_send_indentity_information:
+0x5ff0 013909 call le_send_smp_identity_address_information 
+0x5ff1 013910 branch le_parse_start_enc_rsp_after_auth_end 
+:      013913 le_parse_start_enc_rsp_after_auth_end:
+0x5ff2 013914 force smp_pairing_timer ,queue 
+0x5ff3 013915 call timer_stop 
+0x5ff4 013916 jam flag_le_enc_end ,mem_le_enc_state 
+0x5ff5 013917 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5ff6 013918 jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+0x5ff7 013919 branch ui_ipc_send_event 
+:      013923 le_secure_connect_sm:
+0x5ff8 013924 bpatchx patch26_4 ,mem_patch26 
+0x5ff9 013925 fetch 1 ,mem_le_pairing_mode 
+0x5ffa 013926 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5ffb 013927 fetch 1 ,mem_le_secure_connect_flag 
+0x5ffc 013928 rtnne le_sp_flag_commit_256 
+0x5ffd 013929 jam sp_flag_standby ,mem_le_secure_connect_flag 
+0x5ffe 013930 fetch 1 ,mem_le_secure_connect_state 
+0x5fff 013931 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+0x6000 013932 beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+0x6001 013933 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+0x6002 013934 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+0x6003 013935 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+0x6004 013936 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+0x6005 013937 rtn 
+:      013940 le_sc_sm_passkey_wait_confirm:
+0x6006 013941 fetch 1 ,mem_authentication_passkey_times 
+0x6007 013942 copy pdata ,queue 
+0x6008 013943 increase 1 ,pdata 
+0x6009 013944 store 1 ,mem_authentication_passkey_times 
+0x600a 013945 fetch 4 ,mem_le_tk 
+0x600b 013946 qisolate1 pdata 
+0x600c 013947 setarg 0x80 
+0x600d 013948 setflag true ,0 ,pdata 
+0x600e 013949 store 1 ,mem_passkey_1bit 
+0x600f 013950 branch le_sc_sm_ready_send_pairing_confirm 
+:      013952 le_sc_sm_wait_confirm_gkey:
+0x6010 013953 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+0x6011 013954 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+0x6012 013955 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+0x6013 013956 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6014 013957 rtn 
+:      013959 le_sc_confirm_gkey_ok:
+0x6015 013960 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x6016 013961 call ui_ipc_send_event 
+0x6017 013962 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+0x6018 013963 branch le_send_smp_pairing_dhkey_check 
+:      013965 le_sc_sm_receive_dhkey:
+0x6019 013966 fetch 1 ,mem_sp_dhkey_invalid 
+0x601a 013967 beq sp_key_valid_256 ,le_dhkey_ready 
+0x601b 013968 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x601c 013969 rtn 
+:      013971 le_dhkey_ready:
+0x601d 013972 call function_f5 
+0x601e 013976 fetch 1 ,mem_le_pairing_mode 
+0x601f 013977 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+0x6020 013978 call le_set_tk_0 
+:      013979 le_dhkey_ready_common:
+0x6021 013980 call function_f6_ea 
+0x6022 013981 arg mem_aes_cmac_temp ,rega 
+0x6023 013982 arg mem_sp_confirm_remote ,regb 
+0x6024 013983 arg 16 ,loopcnt 
+0x6025 013984 call string_compare 
+0x6026 013985 branch le_dhkey_check_ok ,zero 
+:      013986 le_dhkey_check_fail:
+0x6027 013987 jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+0x6028 013988 branch le_send_pairing_failed 
+:      013991 le_dhkey_check_ok:
+0x6029 013992 call sp_calc_check_publickey_256 
+0x602a 013993 nbranch le_dhkey_check_fail ,zero 
+0x602b 013994 jam 1 ,mem_ltk_exists 
+0x602c 013995 fetch 1 ,mem_le_pairing_mode 
+0x602d 013996 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+0x602e 013997 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+0x602f 013998 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6030 013999 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+0x6031 014000 rtn 
+:      014002 le_sc_sm_send_public_key:
+0x6032 014003 fetch 1 ,mem_le_pairing_mode 
+0x6033 014004 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+0x6034 014005 jam 0 ,mem_passkey_1bit 
+:      014006 le_sc_sm_ready_send_pairing_confirm:
+0x6035 014007 branch le_send_smp_pairing_confirm 
+:      014009 le_sc_sm_send_public_key_passkey:
+0x6036 014013 jam 0 ,mem_authentication_passkey_times 
+0x6037 014014 branch le_parse_smp_pairing_req_passkey 
+:      014017 le_sc_sm_receive_public_key:
+0x6038 014018 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6039 014019 fetch 1 ,mem_le_sc_local_key_invalid 
+0x603a 014020 beq sp_key_valid_256 ,le_public_key_ready 
+0x603b 014022 rtn 
+:      014024 le_public_key_ready:
+0x603c 014025 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+0x603d 014026 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+0x603e 014027 branch sp_dhkey_calc_256 
+:      014029 le_sc_sm_wait_send_public_key:
+0x603f 014030 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x6040 014031 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+0x6041 014032 branch le_send_smp_pairing_public_key 
+:      014036 le_fifo_malloc_tx_l2cap_smp:
+0x6042 014037 force le_l2cap_cid_smp ,regb 
+0x6043 014038 branch le_fifo_malloc_tx_l2cap 
+:      014042 le_parse_ll:
+0x6044 014043 bpatchx patch26_5 ,mem_patch26 
+0x6045 014044 fetch 1 ,mem_le_rxbuf + 2 
+0x6046 014045 beq ll_connection_update_req ,le_parse_connection_update_req 
+0x6047 014046 beq ll_channel_map_req ,le_parse_channel_map_req 
+0x6048 014047 beq ll_terminate_ind ,le_parse_terminate_ind 
+0x6049 014048 beq ll_enc_req ,le_parse_enc_req 
+0x604a 014049 beq ll_enc_rsp ,le_parse_enc_rsp 
+0x604b 014050 beq ll_start_enc_req ,le_parse_start_enc_req 
+0x604c 014051 beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+0x604d 014052 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+0x604e 014053 beq ll_feature_req ,le_parse_feature_req 
+0x604f 014054 beq ll_feature_rsp ,le_parse_feature_rsp 
+0x6050 014055 beq ll_pause_enc_req ,le_parse_pause_enc_req 
+0x6051 014056 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+0x6052 014057 beq ll_version_ind ,le_parse_version_ind 
+0x6053 014058 beq ll_reject_ind ,le_parse_reject_ind 
+0x6054 014059 beq ll_ping_req ,le_parse_ping_req 
+0x6055 014060 beq ll_ping_rsp ,le_parse_ping_rsp 
+0x6056 014061 arg 2 ,rega 
+0x6057 014062 arg ll_unknown_rsp ,regb 
+0x6058 014063 call le_fifo_malloc_tx_ll 
+0x6059 014064 fetch 1 ,mem_le_rxbuf + 2 
+0x605a 014065 istore 1 ,contw 
+0x605b 014066 rtn 
+:      014069 le_parse_connection_update_req:
+0x605c 014070 ifetch 9 ,contr 
+0x605d 014071 store 9 ,mem_le_new_param 
+0x605e 014072 ifetch 2 ,contr 
+0x605f 014073 store 2 ,mem_le_instant 
+0x6060 014074 fetch 1 ,mem_le_state 
+0x6061 014075 set1 lestate_update_param ,pdata 
+0x6062 014076 store 1 ,mem_le_state 
+0x6063 014077 rtn 
+:      014079 le_parse_channel_map_req:
+0x6064 014080 ifetch 5 ,contr 
+0x6065 014081 store 5 ,mem_le_new_map 
+0x6066 014082 ifetch 2 ,contr 
+0x6067 014083 store 2 ,mem_le_instant 
+0x6068 014084 fetcht 2 ,mem_le_event_count 
+0x6069 014085 isub temp ,null 
+0x606a 014086 nbranch le_parse_terminate_ind ,positive 
+0x606b 014087 fetch 1 ,mem_le_state 
+0x606c 014088 set1 lestate_update_map ,pdata 
+0x606d 014089 store 1 ,mem_le_state 
+0x606e 014090 rtn 
+:      014093 le_parse_terminate_ind:
+0x606f 014094 setarg 20 
+0x6070 014095 store 2 ,mem_le_superto 
+0x6071 014096 store 2 ,mem_le_init_superto 
+0x6072 014097 rtn 
+:      014099 le_send_terminate_ind_user_terminated:
+0x6073 014100 arg error_remote_user_terminated_connection ,regc 
+:      014103 le_send_terminate_ind:
+0x6074 014104 arg 2 ,rega 
+0x6075 014105 arg ll_terminate_ind ,regb 
+0x6076 014106 call le_fifo_malloc_tx_ll 
+0x6077 014107 copy regc ,pdata 
+0x6078 014108 istore 1 ,contw 
+0x6079 014109 rtn 
+:      014111 le_parse_feature_req:
+:      014113 le_send_feature_rsp:
+0x607a 014114 arg 9 ,rega 
+0x607b 014115 arg ll_feature_rsp ,regb 
+0x607c 014116 call le_fifo_malloc_tx_ll 
+0x607d 014117 setarg param_le_features 
+0x607e 014118 istore 8 ,contw 
+0x607f 014119 rtn 
+:      014122 le_parse_version_ind:
+0x6080 014123 rtn master 
+:      014124 le_send_version_ind:
+0x6081 014125 arg 6 ,rega 
+0x6082 014126 arg ll_version_ind ,regb 
+0x6083 014127 call le_fifo_malloc_tx_ll 
+0x6084 014128 fetch 5 ,mem_lmp_version 
+0x6085 014129 istore 5 ,contw 
+0x6086 014130 rtn 
+:      014133 le_parse_ping_req:
+0x6087 014134 arg ll_ping_rsp ,regb 
+0x6088 014135 branch le_send_ll_one_lenth 
+:      014138 le_send_ll_one_lenth:
+0x6089 014139 arg 1 ,rega 
+0x608a 014140 branch le_fifo_malloc_tx_ll 
+:      014143 le_parse_enc_req:
+0x608b 014144 ifetch 8 ,contr 
+0x608c 014145 store 8 ,mem_le_rand 
+0x608d 014146 ifetch 2 ,contr 
+0x608e 014147 store 2 ,mem_le_ediv 
+0x608f 014148 ifetch 8 ,contr 
+0x6090 014149 store 8 ,mem_le_skdm 
+0x6091 014150 ifetch 4 ,contr 
+0x6092 014151 store 4 ,mem_le_ivm 
+0x6093 014152 call le_send_enc_rsp 
+0x6094 014153 bpatchx patch26_6 ,mem_patch26 
+0x6095 014154 fetch 1 ,mem_le_pairing_state 
+0x6096 014155 beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+0x6097 014156 fetch 1 ,mem_le_configuration 
+0x6098 014157 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+0x6099 014158 fetch 1 ,mem_nv_data_number 
+0x609a 014159 ncall load_device_list_mode_4 ,blank 
+0x609b 014160 fetch 1 ,mem_ltk_exists 
+0x609c 014161 beq 0 ,le_ltk_lost 
+:      014162 le_parse_enc_req_after_auth:
+0x609d 014163 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+0x609e 014164 call le_send_start_enc_req 
+0x609f 014165 branch generate_sk 
+:      014167 le_parse_enc_req_fixed_ltk:
+0x60a0 014168 jam 1 ,mem_ltk_exists 
+0x60a1 014169 arg mem_le_fixed_ltk ,contr 
+0x60a2 014170 arg mem_le_ltk ,contw 
+0x60a3 014171 call memcpy16 
+0x60a4 014172 branch le_parse_enc_req_after_auth 
+:      014175 le_ltk_lost:
+0x60a5 014176 bpatchx patch26_7 ,mem_patch26 
+0x60a6 014177 jam flag_le_enc_null ,mem_le_enc_state 
+0x60a7 014178 jam flag_le_enc_null ,mem_le_pairing_state 
+0x60a8 014179 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+0x60a9 014180 branch ui_ipc_send_event 
+:      014182 le_send_reject_ind:
+0x60aa 014183 arg 2 ,rega 
+0x60ab 014184 arg ll_reject_ind ,regb 
+0x60ac 014185 call le_fifo_malloc_tx_ll 
+0x60ad 014186 setarg le_err_pin_or_key_missing 
+0x60ae 014187 istore 1 ,contw 
+0x60af 014188 rtn 
+:      014190 le_send_enc_rsp:
+0x60b0 014191 arg mem_le_skds ,contw 
+0x60b1 014192 force 8 ,loopcnt 
+0x60b2 014193 call generate_random_loop 
+0x60b3 014194 arg mem_le_ivs ,contw 
+0x60b4 014195 force 4 ,loopcnt 
+0x60b5 014196 call generate_random_loop 
+0x60b6 014197 arg 13 ,rega 
+0x60b7 014198 arg ll_enc_rsp ,regb 
+0x60b8 014199 call le_fifo_malloc_tx_ll 
+0x60b9 014200 fetch 8 ,mem_le_skds 
+0x60ba 014201 istore 8 ,contw 
+0x60bb 014202 fetch 4 ,mem_le_ivs 
+0x60bc 014203 istore 4 ,contw 
+0x60bd 014204 rtn 
+:      014206 le_send_start_enc_req:
+0x60be 014207 arg ll_start_enc_req ,regb 
+0x60bf 014208 branch le_send_ll_one_lenth 
+:      014210 le_send_start_enc_rsp:
+0x60c0 014211 arg ll_start_enc_rsp ,regb 
+0x60c1 014212 branch le_send_ll_one_lenth 
+:      014215 le_parse_enc_rsp:
+0x60c2 014216 ifetch 8 ,contr 
+0x60c3 014217 store 8 ,mem_le_skds 
+0x60c4 014218 ifetch 4 ,contr 
+0x60c5 014219 store 4 ,mem_le_ivs 
+0x60c6 014220 branch generate_sk 
+:      014222 le_parse_start_enc_req:
+0x60c7 014223 fetch 1 ,mem_le_state 
+0x60c8 014224 set1 lestate_encryption ,pdata 
+0x60c9 014225 store 1 ,mem_le_state 
+0x60ca 014226 rtn 
+:      014228 le_parse_start_enc_rsp:
+0x60cb 014229 rtn master 
+0x60cc 014230 jam bt_evt_le_start_enc ,mem_fifo_temp 
+0x60cd 014231 call ui_ipc_send_event 
+0x60ce 014232 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+0x60cf 014233 branch le_send_start_enc_rsp 
+:      014235 le_parse_pause_enc_req:
+0x60d0 014236 jam flag_le_enc_pause ,mem_le_enc_state 
+0x60d1 014237 call le_send_pause_enc_rsp 
+0x60d2 014238 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+0x60d3 014239 branch ui_ipc_send_event 
+:      014241 le_send_pause_enc_rsp:
+0x60d4 014242 arg ll_pause_enc_rsp ,regb 
+0x60d5 014243 branch le_send_ll_one_lenth 
+:      014246 le_parse_feature_rsp:
+:      014247 le_parse_unknown_rsp:
+:      014248 le_parse_pause_enc_rsp:
+:      014249 le_parse_reject_ind:
+:      014250 le_parse_ping_rsp:
+0x60d6 014251 rtn 
+:      014258 init_lmp:
+0x60d7 014259 rtn wake 
+:      014260 init_lmp_work:
+0x60d8 014261 bpatchx patch27_0 ,mem_patch27 
+0x60d9 014262 setarg 0 
+0x60da 014263 store 1 ,mem_lmp_to_send 
+0x60db 014264 store 1 ,mem_conn_sm 
+0x60dc 014265 store 1 ,mem_lmo_opcode1 
+0x60dd 014266 store 1 ,mem_lmo_opcode2 
+0x60de 014267 store 1 ,mem_esco_addr 
+0x60df 014268 store 1 ,mem_auth_enable 
+0x60e0 014269 store 1 ,mem_connection_options 
+0x60e1 014270 store 1 ,mem_pairing_auth 
+0x60e2 014271 jam switch_flag_init ,mem_switch_flag 
+0x60e3 014272 jam 0 ,mem_switch_fail_master_count 
+0x60e4 014273 jam null_encryp ,mem_wait_encryption 
+:      014274 init_lmp_reinit:
+0x60e5 014275 jam 0 ,mem_pairing_auth 
+0x60e6 014276 jam 0 ,mem_sp_localsm 
+0x60e7 014277 jam 0 ,mem_lmp_conn_state 
+:      014279 parse_rx_done:
+0x60e8 014280 rtn 
+:      014282 parse_lmp:
+0x60e9 014283 bpatchx patch27_1 ,mem_patch27 
+0x60ea 014284 call setlocalsm_master ,master 
+0x60eb 014285 ncall setlocalsm_slave ,master 
+0x60ec 014286 call lmo_fifo_check 
+0x60ed 014287 nrtn blank 
+0x60ee 014288 fetch 1 ,mem_state_map 
+0x60ef 014289 rtnbit0 smap_rxlmp 
+0x60f0 014290 set0 smap_rxlmp ,pdata 
+0x60f1 014291 set0 mark_rxbuf_inuse ,mark 
+0x60f2 014292 store 1 ,mem_state_map 
+0x60f3 014293 fetch 1 ,mem_rxbuf 
+0x60f4 014294 fetcht 1 ,mem_state_map 
+0x60f5 014295 isolate1 smap_lmptidinit ,pdata 
+0x60f6 014296 setflag true ,smap_lmptid ,temp 
+0x60f7 014297 storet 1 ,mem_state_map 
+0x60f8 014298 and_into 0x2 ,temp 
+0x60f9 014299 storet 1 ,mem_lmo_tid2 
+0x60fa 014300 fetcht 1 ,mem_state_map 
+0x60fb 014301 rshift pdata ,pdata 
+0x60fc 014302 store 1 ,mem_lmi_opcode2 
+0x60fd 014303 bpatchx patch27_2 ,mem_patch27 
+0x60fe 014304 fetch 1 ,mem_lmi_opcode2 
+0x60ff 014305 beq lmp_escape ,parse_lmp_escape 
+0x6100 014306 beq lmp_accepted ,parse_lmp_accepted 
+0x6101 014307 beq lmp_not_accepted ,parse_lmp_not_accepted 
+0x6102 014308 beq lmp_set_afh ,parse_lmp_set_afh 
+0x6103 014309 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+0x6104 014310 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+0x6105 014311 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+0x6106 014312 beq lmp_auto_rate ,parse_lmp_auto_rate 
+0x6107 014313 beq lmp_test_control ,parse_lmp_test_control 
+0x6108 014314 beq lmp_test_activate ,parse_lmp_test_activate 
+0x6109 014315 beq lmp_setup_complete ,parse_lmp_setup_complete 
+0x610a 014316 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+0x610b 014317 beq lmp_features_req ,parse_lmp_features_req 
+0x610c 014318 beq lmp_host_connection_req ,parse_lmp_conn_req 
+0x610d 014319 beq lmp_version_req ,parse_lmp_version_req 
+0x610e 014320 beq lmp_version_res ,parse_lmp_version_res 
+0x610f 014321 beq lmp_detach ,parse_lmp_detach 
+0x6110 014322 beq lmp_max_slot ,parse_lmp_max_slot 
+0x6111 014323 beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+0x6112 014324 beq lmp_name_req ,parse_lmp_name_req 
+0x6113 014325 beq lmp_name_res ,parse_lmp_name_res 
+0x6114 014326 beq lmp_features_res ,parse_lmp_features_res 
+0x6115 014327 beq lmp_comb_key ,parse_lmp_comb_key 
+0x6116 014328 beq lmp_au_rand ,parse_lmp_au_rand 
+0x6117 014329 beq lmp_in_rand ,parse_lmp_in_rand 
+0x6118 014330 beq lmp_sres ,parse_lmp_sres 
+0x6119 014331 beq lmp_incr_power_req ,parse_lmp_incr_power 
+0x611a 014332 beq lmp_decr_power_req ,parse_lmp_decr_power 
+0x611b 014333 beq lmp_max_power ,parse_lmp_max_power 
+0x611c 014334 beq lmp_min_power ,parse_lmp_min_power 
+0x611d 014335 beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+0x611e 014336 beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+0x611f 014337 beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+0x6120 014338 beq lmp_slot_offset ,parse_lmp_slot_offset 
+0x6121 014339 beq lmp_sniff_req ,parse_lmp_sniff_req 
+0x6122 014340 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+0x6123 014341 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+0x6124 014342 beq lmp_switch_req ,parse_lmp_switch_req 
+0x6125 014343 beq lmp_temp_rand ,parse_lmp_temp_rand 
+0x6126 014344 beq lmp_temp_key ,parse_lmp_temp_key 
+0x6127 014345 beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+0x6128 014346 beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+0x6129 014347 beq lmp_unit_key ,parse_lmp_unit_key 
+0x612a 014348 beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+0x612b 014349 beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+0x612c 014350 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+0x612d 014351 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+0x612e 014352 beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+0x612f 014353 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+0x6130 014354 beq lmp_dhkey_check ,parse_dhkey_check 
+0x6131 014355 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+0x6132 014356 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+:      014359 reject_unknown_packet:
+0x6133 014360 jam unknown_lmp_pdu ,mem_lmo_reason2 
+:      014361 reject_lmp_packet:
+0x6134 014362 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x6135 014363 rtn 
+:      014365 parse_lmp_clkoffset_req:
+0x6136 014366 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+0x6137 014367 rtn 
+:      014369 parse_enc_key_size_mask_req:
+0x6138 014370 jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+0x6139 014371 rtn 
+:      014373 parse_lmp_set_afh:
+0x613a 014374 fetch 4 ,mem_rxbuf + 1 
+0x613b 014375 lshift pdata ,pdata 
+0x613c 014376 store 4 ,mem_afh_instant 
+0x613d 014377 fetch 1 ,mem_rxbuf + 5 
+0x613e 014378 store 1 ,mem_afh_new_mod 
+0x613f 014379 fetch 5 ,mem_rxbuf + 6 
+0x6140 014380 store 5 ,mem_afh_map_new 
+0x6141 014381 fetch 5 ,mem_rxbuf + 11 
+0x6142 014382 istore 5 ,contw 
+0x6143 014383 fetch 1 ,mem_mode 
+0x6144 014384 set1 afh_change ,pdata 
+0x6145 014385 store 1 ,mem_mode 
+0x6146 014386 rtn 
+:      014387 parse_lmp_escape:
+0x6147 014388 bpatchx patch27_3 ,mem_patch27 
+0x6148 014389 fetch 1 ,mem_rxbuf + 1 
+0x6149 014390 set1 7 ,pdata 
+0x614a 014391 store 1 ,mem_lmi_opcode2 
+0x614b 014392 beq lmp_ext_accepted ,parse_lmpext_accepted 
+0x614c 014393 beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+0x614d 014394 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+0x614e 014395 beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+0x614f 014396 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+0x6150 014397 beq lmp_ext_features_req ,parse_lmpext_features_req 
+0x6151 014398 beq lmp_ext_features_res ,parse_lmpext_features_res 
+0x6152 014399 beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+0x6153 014400 beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+0x6154 014401 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+0x6155 014402 beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+0x6156 014403 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+0x6157 014404 rtneq lmp_ext_features_res 
+:      014407 reject_unknown_ext_packet:
+0x6158 014408 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x6159 014409 jam unknown_lmp_pdu ,mem_lmo_reason2 
+0x615a 014411 rtn 
+:      014412 parse_lmpext_chn_classification_req:
+0x615b 014413 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x615c 014414 jam not_support_chn_classification ,mem_lmo_reason2 
+0x615d 014415 rtn 
+:      014417 parse_lmpext_iocap_req:
+0x615e 014418 call iocap_lmpext_load 
+0x615f 014419 jam lmp_io_cap_res ,mem_lmo_opcode2 
+0x6160 014420 rtn 
+:      014422 parse_lmpext_iocap_res:
+0x6161 014423 call iocap_lmpext_load 
+0x6162 014424 branch iocap_lmpext_common 
+:      014426 iocap_lmpext_load:
+0x6163 014427 arg mem_sp_iocap_remote ,contw 
+0x6164 014428 fetch 3 ,mem_rxbuf + 2 
+0x6165 014429 istore 3 ,contw 
+0x6166 014430 rtn 
+:      014432 iocap_lmpext_common:
+0x6167 014433 branch master_set_mem_master_sp_flag ,true 
+0x6168 014434 rtn 
+:      014435 parse_lmpext_accepted:
+0x6169 014436 fetch 1 ,mem_rxbuf + 3 
+0x616a 014437 set1 7 ,pdata 
+0x616b 014438 store 1 ,mem_lmi_accepted_opcode 
+0x616c 014439 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+0x616d 014440 rtn 
+:      014443 parse_lmpext_not_accepted:
+0x616e 014444 fetch 1 ,mem_rxbuf + 3 
+0x616f 014445 set1 7 ,pdata 
+0x6170 014446 store 1 ,mem_lmi_accepted_opcode 
+0x6171 014447 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+0x6172 014448 rtn 
+:      014450 parse_lmpext_accepted_ptt:
+0x6173 014451 fetch 1 ,mem_ptt 
+0x6174 014452 fetcht 1 ,mem_state_map 
+0x6175 014453 nsetflag blank ,smap_edr ,temp 
+0x6176 014454 storet 1 ,mem_state_map 
+:      014455 parse_lmpext_not_accepted_ptt:
+0x6177 014456 fetch 1 ,mem_state 
+0x6178 014457 rtnbit0 state_init_seq 
+0x6179 014458 set0 state_init_seq ,pdata 
+0x617a 014459 store 1 ,mem_state 
+0x617b 014460 fetch 1 ,mem_auth_enable 
+0x617c 014461 nrtn blank 
+0x617d 014462 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x617e 014463 rtn 
+:      014465 parse_lmpext_pause_encrypt:
+0x617f 014466 nbranch parse_lmpext_pause_encrypt_slave ,master 
+0x6180 014467 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x6181 014468 branch tid_reply 
+:      014470 parse_lmpext_pause_encrypt_slave:
+0x6182 014471 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+0x6183 014472 rtn 
+:      014474 parse_lmpext_resume_encrypt:
+0x6184 014477 call tid_reply 
+0x6185 014478 branch lmp_start_encryption 
+:      014480 parse_lmpext_features_req:
+0x6186 014481 jam lmp_ext_features_res ,mem_lmo_opcode2 
+0x6187 014482 rtn 
+:      014484 parse_lmpext_features_res:
+0x6188 014485 fetcht 1 ,mem_rxbuf + 4 
+0x6189 014486 and temp ,0x1 ,temp 
+0x618a 014487 storet 1 ,mem_remote_sppcap 
+0x618b 014488 fetch 1 ,mem_hci_cmd 
+0x618c 014489 bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+0x618d 014490 jam 0 ,mem_hci_cmd 
+:      014491 parse_lmpext_features_res_not_hci:
+0x618e 014492 fetch 1 ,mem_conn_sm 
+0x618f 014493 rtnne conn_sm_wait_features_ext 
+0x6190 014494 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x6191 014495 branch process_conn_sm 
+:      014497 parse_lmp_accepted:
+0x6192 014498 bpatchx patch27_4 ,mem_patch27 
+0x6193 014499 fetch 1 ,mem_rxbuf + 1 
+0x6194 014500 store 1 ,mem_lmi_accepted_opcode 
+0x6195 014501 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+0x6196 014502 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+0x6197 014503 beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+0x6198 014504 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+0x6199 014505 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+0x619a 014506 beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+0x619b 014507 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+0x619c 014508 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+0x619d 014509 beq lmp_switch_req ,parse_lmp_accepted_switch 
+0x619e 014511 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+0x619f 014512 beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+0x61a0 014513 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+0x61a1 014514 beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+0x61a2 014515 rtn 
+:      014517 parse_lmp_not_accepted:
+0x61a3 014518 bpatchx patch27_5 ,mem_patch27 
+0x61a4 014519 fetch 1 ,mem_rxbuf + 1 
+0x61a5 014520 store 1 ,mem_lmi_accepted_opcode 
+0x61a6 014521 beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+0x61a7 014522 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+0x61a8 014523 beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+0x61a9 014524 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+0x61aa 014525 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+0x61ab 014527 beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+0x61ac 014528 beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+0x61ad 014529 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+0x61ae 014530 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+0x61af 014531 rtn 
+:      014533 parse_lmp_accepted_switch:
+0x61b0 014534 jam bt_evt_switch_accept ,mem_fifo_temp 
+0x61b1 014535 call ui_ipc_send_event 
+0x61b2 014536 branch role_switch_prepare0 
+:      014537 parse_lmp_not_accepted_switch:
+0x61b3 014538 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+0x61b4 014539 call ui_ipc_send_event 
+0x61b5 014540 jam switch_flag_not_accept ,mem_switch_flag 
+0x61b6 014541 setarg timer_switch_waite 
+0x61b7 014542 arg switch_wait_timer ,queue 
+0x61b8 014543 branch timer_init 
+:      014546 parse_lmp_accepted_hostconn:
+0x61b9 014549 fetch 1 ,mem_lmp_conn_state 
+0x61ba 014550 set1 received_conn_req ,pdata 
+0x61bb 014551 store 1 ,mem_lmp_conn_state 
+0x61bc 014552 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x61bd 014553 call ui_ipc_send_event 
+0x61be 014554 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+:      014556 parse_lmp_accepted_hostconn_ctn:
+0x61bf 014558 fetch 1 ,mem_conn_sm 
+0x61c0 014559 bne conn_sm_wait_conn_accept ,parse_rx_done 
+0x61c1 014562 jam conn_sm_auth_pair ,mem_conn_sm 
+0x61c2 014563 rtn 
+:      014571 parse_lmp_not_accepted_hostconn:
+0x61c3 014572 jam acl_connection_already_exists ,mem_disconn_reason_send 
+0x61c4 014573 jam lmp_detach ,mem_lmo_opcode2 
+0x61c5 014575 jam conn_sm_standby ,mem_conn_sm 
+0x61c6 014577 branch parse_rx_done ,true 
+0x61c7 014578 rtn 
+:      014580 parse_lmp_accepted_inrand:
+0x61c8 014581 fetch 1 ,mem_link_key_exists 
+0x61c9 014582 nrtn blank 
+0x61ca 014583 call clear_linkkey 
+0x61cb 014584 call lmp_generate_key 
+0x61cc 014585 rtn master 
+0x61cd 014586 set1 mark_slave_in_rand_accepted ,mark 
+0x61ce 014587 rtn 
+:      014589 parse_lmp_accepted_enc_mode:
+0x61cf 014590 nrtn master 
+0x61d0 014591 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x61d1 014592 fetch 1 ,mem_state_map 
+0x61d2 014593 rtnbit0 smap_encryption 
+0x61d3 014594 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x61d4 014595 rtn 
+:      014597 parse_lmp_accepted_enc_keysize:
+0x61d5 014598 branch lmp_start_encryption 
+:      014600 parse_lmp_accepted_start_enc:
+0x61d6 014601 call send_create_conn_start_l2cap_timer_sm 
+0x61d7 014602 fetch 1 ,mem_state 
+0x61d8 014603 rtnbit1 state_conn_comp 
+0x61d9 014604 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x61da 014605 fetch 1 ,mem_conn_sm 
+0x61db 014606 rtnne conn_sm_encrypt_wait 
+0x61dc 014607 jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+0x61dd 014608 rtn 
+:      014610 parse_lmp_accepted_stop_enc:
+0x61de 014618 rtn 
+:      014620 parse_lmp_not_accepted_aurand:
+:      014621 parse_lmp_not_accepted_aurand_send_detach:
+0x61df 014622 jam lmp_detach ,mem_lmo_opcode2 
+0x61e0 014623 jam other_end_terminated ,mem_disconn_reason_send 
+0x61e1 014624 rtn 
+:      014626 parse_lmp_not_accepted_inrand:
+0x61e2 014627 fetch 1 ,mem_rxbuf + 2 
+0x61e3 014628 beq key_missing ,parse_lmp_inrand_key_missing 
+0x61e4 014629 rtnne pairing_not_allowed 
+0x61e5 014630 jam pairing_not_allowed ,mem_disconn_reason_send 
+0x61e6 014631 jam lmp_detach ,mem_lmo_opcode2 
+0x61e7 014632 rtn 
+:      014633 parse_lmp_inrand_key_missing:
+0x61e8 014634 jam key_missing ,mem_disconn_reason_send 
+0x61e9 014635 jam lmp_detach ,mem_lmo_opcode2 
+0x61ea 014636 rtn 
+:      014638 parse_lmp_not_accepted_name_req:
+0x61eb 014639 rtn 
+:      014641 parse_lmp_not_accepted_simple_pairing_number:
+0x61ec 014642 jam sp_stat_null ,mem_sp_state 
+0x61ed 014643 jam lmp_detach ,mem_lmo_opcode2 
+0x61ee 014644 branch parse_rx_done 
+:      014646 parse_lmp_not_accepted_dhkey_check:
+0x61ef 014647 jam sp_stat_null ,mem_sp_state 
+0x61f0 014648 jam lmp_detach ,mem_lmo_opcode2 
+0x61f1 014649 branch parse_rx_done 
+:      014650 parse_lmp_not_accepted_unsniff_req:
+0x61f2 014651 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+0x61f3 014652 branch ui_ipc_send_event 
+:      014654 parse_lmp_accepted_unsniff_req:
+0x61f4 014655 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+0x61f5 014656 call ui_ipc_send_event 
+0x61f6 014657 branch sniff_exit 
+:      014659 parse_lmp_accepted_sniff_req:
+0x61f7 014660 jam bt_evt_sniff_accept ,mem_fifo_temp 
+0x61f8 014661 call ui_ipc_send_event 
+0x61f9 014662 setarg 0 
+0x61fa 014663 store 2 ,mem_dsniff 
+0x61fb 014664 fetch 2 ,mem_sniff_param_interval 
+0x61fc 014665 lshift pdata ,pdata 
+0x61fd 014666 store 2 ,mem_tsniff 
+0x61fe 014667 fetch 1 ,mem_sniff_param_attempt 
+0x61ff 014668 store 1 ,mem_sniff_attempt 
+0x6200 014669 fetch 1 ,mem_sniff_param_timeout 
+0x6201 014670 store 1 ,mem_sniff_timeout 
+0x6202 014671 branch sniff_init 
+:      014673 parse_lmp_not_acdcept_sniff_req:
+0x6203 014674 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+0x6204 014675 branch ui_ipc_send_event 
+:      014677 parse_lmp_crypt_key:
+0x6205 014678 fetcht 1 ,mem_rxbuf + 1 
+0x6206 014679 storet 1 ,mem_key_size 
+0x6207 014680 branch accept_lmp_msg 
+:      014682 parse_lmp_setup_complete:
+0x6208 014683 fetch 1 ,mem_lmp_conn_state 
+0x6209 014684 set1 received_setup_complete ,pdata 
+0x620a 014685 store 1 ,mem_lmp_conn_state 
+0x620b 014686 rtnbit1 sent_setup_complete 
+0x620c 014687 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x620d 014688 branch parse_rx_done 
+:      014690 parse_lmp_max_slot:
+0x620e 014693 rtn 
+:      014695 parse_lmp_max_slot_req:
+0x620f 014696 fetch 1 ,mem_max_slot 
+0x6210 014697 fetcht 1 ,mem_rxbuf + 1 
+0x6211 014698 isub temp ,null 
+0x6212 014700 branch accept_lmp_msg ,positive 
+0x6213 014701 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x6214 014702 jam unspecified_error ,mem_lmo_reason2 
+0x6215 014703 jam lmp_max_slot_req ,mem_lmi_opcode2 
+0x6216 014704 rtn 
+:      014706 parse_lmp_detach:
+0x6217 014707 call prepare_disconnect 
+0x6218 014708 branch accept_lmp_msg 
+:      014710 accept_lmp_msg:
+0x6219 014711 jam lmp_accepted ,mem_lmo_opcode2 
+0x621a 014712 rtn 
+:      014714 parse_lmp_incr_power:
+0x621b 014715 jam lmp_max_power ,mem_lmo_opcode2 
+0x621c 014716 rtn 
+:      014718 parse_lmp_decr_power:
+0x621d 014719 jam lmp_min_power ,mem_lmo_opcode2 
+0x621e 014720 rtn 
+:      014722 parse_lmp_version_res:
+0x621f 014723 fetch 1 ,mem_conn_sm 
+0x6220 014724 rtneq conn_sm_wait_version 
+0x6221 014726 jam conn_sm_send_features ,mem_conn_sm 
+0x6222 014728 rtn 
+:      014731 parse_lmp_auto_rate:
+0x6223 014732 rtn 
+:      014734 parse_lmp_in_rand:
+0x6224 014735 call lmp_copy_rand 
+0x6225 014736 jam pincode_state_wait_pincode ,mem_pincode_state 
+0x6226 014737 jam bt_evt_pincode_req ,mem_fifo_temp 
+0x6227 014738 call ui_ipc_send_event 
+0x6228 014740 call tid_check 
+0x6229 014741 nbranch lmp_accept_inrand ,true 
+0x622a 014743 nbranch parse_lmp_inrand_res ,master 
+0x622b 014744 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x622c 014745 jam lmp_in_rand ,mem_lmi_opcode2 
+0x622d 014746 jam transaction_collision ,mem_lmo_reason2 
+0x622e 014747 rtn 
+:      014748 parse_lmp_inrand_res:
+0x622f 014749 fetch 1 ,mem_op 
+0x6230 014750 set1 op_inrand_req ,pdata 
+0x6231 014751 store 1 ,mem_op 
+0x6232 014752 rtn 
+:      014755 pop_tid_follow:
+0x6233 014756 fetcht 1 ,mem_state_map 
+0x6234 014757 nsetflag blank ,smap_lmptid ,temp 
+0x6235 014758 storet 1 ,mem_state_map 
+0x6236 014759 rtn 
+:      014762 push_tid_follow:
+0x6237 014763 fetch 1 ,mem_lmo_tid2 
+0x6238 014764 rshift pdata ,pdata 
+0x6239 014765 and_into 1 ,pdata 
+0x623a 014766 rtn 
+:      014768 parse_lmp_au_rand_moudle:
+0x623b 014769 fetch 1 ,mem_nv_data_number 
+0x623c 014770 rtn blank 
+0x623d 014771 fetch 1 ,mem_pairing_auth 
+0x623e 014772 call load_device_list ,blank 
+0x623f 014773 rtn 
+:      014775 parse_lmp_au_rand:
+0x6240 014776 call parse_lmp_au_rand_moudle 
+0x6241 014777 call push_tid_follow 
+0x6242 014778 store 1 ,mem_sres_tid 
+0x6243 014779 call lmp_copy_rand 
+0x6244 014780 jam lmp_sres ,mem_lmo_opcode2 
+0x6245 014781 fetch 1 ,mem_link_key_exists 
+0x6246 014782 nrtn blank 
+0x6247 014783 fetch 1 ,mem_state 
+0x6248 014784 rtnbit1 state_combkey 
+0x6249 014785 jam key_missing ,mem_lmo_reason2 
+0x624a 014786 branch reject_lmp_packet 
+:      014788 parse_lmp_sres:
+0x624b 014789 arg mem_plap ,rega 
+0x624c 014790 call function_e1 
+0x624d 014791 fetch 4 ,mem_rxbuf + 1 
+0x624e 014792 fetcht 4 ,mem_input_store 
+0x624f 014793 isub temp ,null 
+0x6250 014794 branch authentication_ok ,zero 
+0x6251 014795 jam lmp_detach ,mem_lmo_opcode2 
+0x6252 014796 jam authentication_failure_error ,mem_disconn_reason_send 
+0x6253 014797 rtn 
+:      014798 authentication_ok:
+0x6254 014799 call authentication_ok_common 
+0x6255 014800 fetch 1 ,mem_ssp_enable 
+0x6256 014801 branch pairing_success ,blank 
+0x6257 014802 rtn 
+:      014805 authentication_ok_common:
+0x6258 014806 call copy_aco 
+0x6259 014807 call linkkey_ready 
+0x625a 014808 fetch 1 ,mem_op 
+0x625b 014809 isolate1 op_auth_req ,pdata 
+0x625c 014810 set0 op_auth_req ,pdata 
+0x625d 014811 store 1 ,mem_op 
+0x625e 014812 fetch 1 ,mem_conn_sm 
+0x625f 014813 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+0x6260 014814 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+0x6261 014815 rtn 
+:      014816 authentication_ok_conn_sm:
+0x6262 014817 fetch 1 ,mem_pairing_auth 
+0x6263 014818 rtnne defalt_pairing_auth 
+0x6264 014819 fetch 1 ,mem_state_map 
+0x6265 014820 rtnbit1 smap_encryption 
+0x6266 014821 branch host_create_conn_encrypt 
+:      014823 parse_lmp_comb_key:
+0x6267 014824 arg mem_rxbuf + 1 ,rega 
+0x6268 014825 arg mem_kinit ,regb 
+0x6269 014826 arg mem_random_number ,contw 
+0x626a 014827 call xor16 
+0x626b 014828 arg mem_plap ,rega 
+0x626c 014829 call generate_linkkey 
+0x626d 014830 jam lmp_au_rand ,mem_lmo_opcode2 
+0x626e 014831 fetch 1 ,mem_state 
+0x626f 014832 bbit0 state_combkey ,lmp_generate_key 
+0x6270 014833 rtn 
+:      014835 parse_lmp_name_res:
+0x6271 014836 fetch 2 ,mem_len 
+0x6272 014837 add pdata ,-3 ,loopcnt 
+0x6273 014838 fetcht 1 ,mem_rxbuf + 1 
+0x6274 014839 setarg mem_tmp_buffer 
+0x6275 014840 iadd temp ,contw 
+0x6276 014841 arg mem_rxbuf + 3 ,contr 
+0x6277 014842 call memcpy 
+0x6278 014843 fetcht 1 ,mem_name_offset 
+0x6279 014844 fetch 1 ,mem_rxbuf + 2 
+0x627a 014845 isub temp ,pdata 
+0x627b 014846 sub pdata ,14 ,null 
+0x627c 014847 branch parse_lmp_name_res_end ,positive 
+0x627d 014848 add temp ,14 ,pdata 
+0x627e 014849 store 1 ,mem_name_offset 
+0x627f 014850 jam lmp_name_req ,mem_lmo_opcode2 
+0x6280 014851 rtn 
+:      014852 parse_lmp_name_res_end:
+0x6281 014853 fetch 1 ,mem_state_map 
+0x6282 014854 set1 smap_name_res ,pdata 
+0x6283 014855 store 1 ,mem_state_map 
+0x6284 014856 bbit1 smap_name_req ,lmp_disconnect 
+0x6285 014857 rtn 
+:      014858 parse_lmp_name_req:
+0x6286 014859 fetch 1 ,mem_rxbuf + 1 
+0x6287 014860 store 1 ,mem_lmi_opcode2 
+0x6288 014861 jam lmp_name_res ,mem_lmo_opcode2 
+0x6289 014862 rtn 
+:      014864 parse_lmp_conn_req:
+0x628a 014865 branch accept_lmp_msg 
+:      014867 parse_lmp_timing_accuracy_req:
+0x628b 014868 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+0x628c 014869 rtn 
+:      014871 parse_lmp_features_req:
+0x628d 014872 jam lmp_features_res ,mem_lmo_opcode2 
+0x628e 014873 rtn 
+:      014875 parse_lmp_version_req:
+0x628f 014876 jam lmp_version_res ,mem_lmo_opcode2 
+0x6290 014877 rtn 
+:      014879 parse_lmp_supervision_timeout:
+0x6291 014882 rtn 
+:      014886 parse_lmp_sniff_subrating_req:
+0x6292 014887 fetch 2 ,mem_tsniff 
+0x6293 014888 iforce temp 
+0x6294 014889 fetch 1 ,mem_rxbuf + 2 
+0x6295 014890 store 1 ,mem_subsniff_rate 
+0x6296 014891 imul32 temp ,temp 
+0x6297 014892 fetch 2 ,mem_rxbuf + 3 
+0x6298 014893 lshift pdata ,pdata 
+0x6299 014894 store 2 ,mem_subsniff_tcmax 
+0x629a 014895 fetch 4 ,mem_rxbuf + 5 
+0x629b 014896 lshift pdata ,pdata 
+0x629c 014897 store 4 ,mem_subsniff_instant 
+0x629d 014899 deposit temp 
+0x629e 014900 store 2 ,mem_subsniff_tsniff 
+0x629f 014901 rtn 
+:      014902 parse_lmpext_packet_type_table_req:
+0x62a0 014903 fetcht 1 ,mem_ptt 
+0x62a1 014904 fetch 1 ,mem_rxbuf + 2 
+0x62a2 014905 ixor temp ,null 
+0x62a3 014906 nbranch reject_unknown_ext_packet ,zero 
+0x62a4 014907 isolate1 0 ,pdata 
+0x62a5 014908 fetch 1 ,mem_state_map 
+0x62a6 014909 setflag true ,smap_edr ,pdata 
+0x62a7 014910 store 1 ,mem_state_map 
+0x62a8 014911 jam lmp_ext_accepted ,mem_lmo_opcode2 
+0x62a9 014912 jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+0x62aa 014913 rtn 
+:      014916 parse_lmp_sniff_subrating_res:
+:      014917 parse_lmp_preferred_rate:
+:      014918 parse_lmp_max_power:
+:      014919 parse_lmp_min_power:
+0x62ab 014920 rtn 
+:      014921 parse_lmp_page_mode_req:
+0x62ac 014923 branch accept_lmp_msg 
+:      014924 parse_lmp_page_scan_mode_req:
+0x62ad 014927 branch accept_lmp_msg 
+:      014931 parse_lmp_slot_offset:
+0x62ae 014932 fetch 2 ,mem_rxbuf + 1 
+0x62af 014933 store 2 ,mem_slot_offset 
+0x62b0 014934 rtn 
+:      014936 parse_lmp_sniff_req_check_sniff_para:
+0x62b1 014937 fetch 2 ,mem_rxbuf + 4 
+0x62b2 014938 fetcht 1 ,mem_lpm_mult 
+0x62b3 014939 imul32 temp ,pdata 
+0x62b4 014940 arg 0x640 ,temp 
+0x62b5 014941 isub temp ,null 
+0x62b6 014943 rtn 
+:      014945 parse_lmp_sniff_req:
+0x62b7 014946 branch lmp_reject_sniff 
+0x62b8 014947 fetch 2 ,mem_rxbuf + 6 
+0x62b9 014948 branch lmp_reject_sniff ,blank 
+0x62ba 014949 call parse_lmp_sniff_req_check_sniff_para 
+0x62bb 014950 branch lmp_reject_sniff ,positive 
+0x62bc 014951 fetch 1 ,mem_device_option 
+0x62bd 014952 sub pdata ,dvc_op_module ,null 
+0x62be 014953 call module_set_lpm_mult_2 ,zero 
+0x62bf 014954 fetch 1 ,mem_state 
+0x62c0 014955 bbit1 state_insniff ,lmp_reject_sniff 
+0x62c1 014956 fetch 2 ,mem_rxbuf + 2 
+0x62c2 014957 lshift pdata ,pdata 
+0x62c3 014958 store 2 ,mem_dsniff 
+0x62c4 014959 fetch 2 ,mem_rxbuf + 4 
+0x62c5 014960 lshift pdata ,pdata 
+0x62c6 014961 store 2 ,mem_tsniff 
+0x62c7 014962 fetch 2 ,mem_rxbuf + 6 
+0x62c8 014963 store 1 ,mem_sniff_attempt 
+0x62c9 014964 iforce temp 
+0x62ca 014965 fetch 2 ,mem_rxbuf + 8 
+0x62cb 014966 store 1 ,mem_sniff_timeout 
+0x62cc 014967 isub temp ,null 
+0x62cd 014968 nbranch set_big_value_to_attempt ,positive 
+0x62ce 014969 store 1 ,mem_sniff_attempt 
+:      014970 set_big_value_to_attempt:
+0x62cf 014972 jam lmp_accepted ,mem_lmo_opcode2 
+0x62d0 014973 jam lmp_sniff_req ,mem_lmi_opcode2 
+0x62d1 014974 rtn 
+:      014976 lmp_reject_sniff:
+0x62d2 014977 jam pdu_not_allowed ,mem_lmo_reason2 
+0x62d3 014978 branch reject_lmp_packet 
+:      014980 parse_lmp_start_encryption_req:
+0x62d4 014981 call accept_lmp_msg 
+0x62d5 014982 call lmp_copy_rand 
+0x62d6 014983 call function_e3 
+0x62d7 014984 branch start_encryption 
+:      014986 parse_lmp_stop_encryption_req:
+0x62d8 014987 call accept_lmp_msg 
+0x62d9 014988 branch stop_encryption 
+:      014991 parse_lmp_switch_req:
+0x62da 014992 fetch 4 ,mem_rxbuf + 1 
+0x62db 014993 lshift pdata ,pdata 
+0x62dc 014995 branch parse_lmp_switch_accept ,master 
+0x62dd 014996 fetcht 1 ,mem_link_key_exists 
+0x62de 014997 nbranch parse_lmp_switch_req_clear_mark ,blank 
+:      014998 parse_lmp_switch_req_not_accept:
+0x62df 014999 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x62e0 015000 jam lmp_switch_req ,mem_lmi_opcode2 
+0x62e1 015001 jam pdu_not_allowed ,mem_lmo_reason2 
+0x62e2 015002 rtn 
+:      015003 parse_lmp_switch_req_clear_mark:
+0x62e3 015004 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x62e4 015005 jam 0 ,mem_conn_sm 
+0x62e5 015006 branch role_switch_prepare 
+:      015008 parse_lmp_switch_accept:
+0x62e6 015009 call role_switch_prepare 
+0x62e7 015010 set1 mark_reconn_recieve_switch ,mark 
+0x62e8 015011 fetch 1 ,mem_connection_options 
+0x62e9 015012 set0 connection_switch ,pdata 
+0x62ea 015013 store 1 ,mem_connection_options 
+0x62eb 015014 branch accept_lmp_msg 
+:      015018 parse_lmp_temp_rand:
+:      015019 parse_lmp_temp_key:
+:      015020 parse_lmp_timing_accuracy_res:
+:      015021 parse_lmp_unit_key:
+:      015022 parse_lmp_use_semi_permanend_key:
+0x62ec 015023 rtn 
+:      015026 parse_lmp_unsniff_req:
+0x62ed 015027 jam lmp_accepted ,mem_lmo_opcode2 
+0x62ee 015028 jam lmp_unsniff_req ,mem_lmi_opcode2 
+0x62ef 015029 jam bt_evt_remote_unsniff ,mem_fifo_temp 
+0x62f0 015030 call ui_ipc_send_event 
+0x62f1 015031 branch sniff_exit 
+:      015033 parse_lmp_encapsulated_header:
+0x62f2 015034 fetch 1 ,mem_rxbuf + 1 
+0x62f3 015035 bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x62f4 015036 fetch 1 ,mem_rxbuf + 2 
+0x62f5 015037 bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x62f6 015038 fetch 1 ,mem_rxbuf + 3 
+0x62f7 015039 bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+0x62f8 015040 call check_localsm 
+0x62f9 015041 branch parse_lmp_encapsulated_header_master ,true 
+0x62fa 015042 jam sp_stat_key_recv ,mem_sp_state 
+:      015043 parse_lmp_encapsulated_header_master:
+0x62fb 015044 jam lmp_accepted ,mem_lmo_opcode2 
+0x62fc 015045 jam lmp_encapsulated_header ,mem_lmi_opcode2 
+0x62fd 015046 branch parse_rx_done 
+:      015048 parse_lmp_encapsulated_header_reject:
+0x62fe 015049 jam pdu_not_allowed ,mem_lmo_reason2 
+0x62ff 015050 branch reject_lmp_packet 
+:      015052 parse_lmp_accepted_encapsulated_header:
+0x6300 015055 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x6301 015057 rtn 
+:      015058 parse_lmp_accepted_simple_pairing_number:
+0x6302 015059 fetch 1 ,mem_ssp_mode_flag 
+0x6303 015060 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+0x6304 015061 beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+:      015062 parse_lmp_accepted_simple_pairing_number_common:
+0x6305 015063 call check_localsm 
+0x6306 015064 rtn true 
+0x6307 015065 jam sp_stat_confirm_recv ,mem_sp_state 
+0x6308 015066 rtn 
+:      015068 parse_lmp_accepted_simple_pairing_number_ssp_pin:
+0x6309 015069 call g_noninit_number_confirm 
+0x630a 015070 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+0x630b 015071 call ui_ipc_send_event 
+0x630c 015072 branch parse_lmp_accepted_simple_pairing_number_common 
+:      015075 parse_lmp_accepted_simple_pairing_number_passkey:
+0x630d 015076 call check_localsm 
+0x630e 015077 rtn true 
+0x630f 015078 fetch 1 ,mem_authentication_passkey_times 
+0x6310 015079 beq 19 ,authentication_passkey_end 
+0x6311 015080 increase 1 ,pdata 
+0x6312 015081 store 1 ,mem_authentication_passkey_times 
+:      015084 authentication_passkey:
+0x6313 015085 jam sp_flag_commit ,mem_sp_flag 
+0x6314 015086 jam sp_stat_commit_calc ,mem_sp_state 
+0x6315 015087 fetch 1 ,mem_authentication_passkey_times 
+0x6316 015088 copy pdata ,queue 
+0x6317 015089 fetch 6 ,mem_pin 
+0x6318 015090 qisolate1 pdata 
+0x6319 015091 setarg 0x80 
+0x631a 015092 setflag true ,0 ,pdata 
+0x631b 015093 store 1 ,mem_passkey_1bit 
+0x631c 015094 rtn 
+:      015096 authentication_passkey_end:
+0x631d 015097 jam sp_stat_confirm_recv ,mem_sp_state 
+0x631e 015098 rtn 
+:      015100 parse_lmp_accepted_dhkey_check:
+0x631f 015101 call parse_lmp_accepted_dhkey_check_common 
+:      015102 pairing_success:
+0x6320 015103 fetch 1 ,mem_flag_pairing_state 
+0x6321 015104 rtn blank 
+0x6322 015105 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+0x6323 015106 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+0x6324 015107 branch ui_ipc_send_event 
+:      015110 parse_lmp_accepted_dhkey_check_common:
+0x6325 015112 call check_localsm 
+0x6326 015113 ncall g_noninit ,true 
+0x6327 015114 call g_init ,true 
+0x6328 015115 call check_localsm 
+0x6329 015116 rtn true 
+0x632a 015117 jam sp_stat_link_key_calc ,mem_sp_state 
+0x632b 015118 jam sp_flag_commit ,mem_sp_flag 
+0x632c 015119 rtn 
+:      015121 parse_simple_pairing_confirm:
+0x632d 015122 arg mem_sp_confirm_remote ,contw 
+0x632e 015123 arg mem_rxbuf + 1 ,contr 
+0x632f 015124 call memcpy16 
+0x6330 015125 fetch 1 ,mem_ssp_mode_flag 
+0x6331 015126 rtneq ssp_mode_passkey_entry_flag 
+0x6332 015127 branch master_set_mem_master_sp_flag 
+:      015129 parse_lmp_encapsulated_payload:
+0x6333 015130 fetch 1 ,mem_master_sp_state 
+0x6334 015131 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+0x6335 015132 fetch 1 ,mem_sp_state 
+0x6336 015133 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+:      015134 parse_encapsulated_payload_master:
+0x6337 015135 fetch 1 ,mem_sp_remote_key_recv_count 
+0x6338 015136 sub pdata ,0x20 ,contw 
+0x6339 015137 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+0x633a 015138 arg mem_sp_pubkey_remote ,contw 
+0x633b 015139 iadd contw ,contw 
+0x633c 015140 fetch 8 ,mem_rxbuf + 1 
+0x633d 015141 istore 8 ,contw 
+0x633e 015142 fetch 8 ,mem_rxbuf + 9 
+0x633f 015143 istore 8 ,contw 
+0x6340 015144 fetch 1 ,mem_sp_remote_key_recv_count 
+0x6341 015145 increase 16 ,pdata 
+0x6342 015146 store 1 ,mem_sp_remote_key_recv_count 
+0x6343 015147 bne encapsulated_len_p192 ,accept_lmp_msg 
+:      015148 parse_lmp_encapsulated_payload_completed:
+0x6344 015149 call check_localsm 
+0x6345 015150 branch accept_lmp_msg ,true 
+0x6346 015151 jam sp_key_valid ,mem_sp_remote_key_invalid 
+0x6347 015152 jam sp_stat_key_generate ,mem_sp_state 
+0x6348 015153 jam sp_flag_commit ,mem_sp_flag 
+0x6349 015154 branch accept_lmp_msg 
+:      015155 parse_lmp_encapsulated_payload_reject:
+0x634a 015156 jam pdu_not_allowed ,mem_lmo_reason2 
+0x634b 015157 branch reject_lmp_packet 
+:      015158 parse_lmp_accepted_encapsulated_payload:
+0x634c 015159 fetch 1 ,mem_sp_local_key_send_count 
+0x634d 015160 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+0x634e 015161 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x634f 015162 branch parse_rx_done 
+:      015164 parse_lmp_encapsulated_payload_all_accepted:
+0x6350 015165 call check_localsm 
+0x6351 015166 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+0x6352 015167 fetch 1 ,mem_ssp_mode_flag 
+0x6353 015168 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+0x6354 015169 jam sp_flag_commit ,mem_sp_flag 
+0x6355 015170 jam sp_stat_commit_calc ,mem_sp_state 
+0x6356 015171 branch parse_rx_done 
+:      015173 parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+0x6357 015174 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+0x6358 015175 branch ui_ipc_send_event 
+:      015178 parse_lmp_encapsulated_payload_all_accepted_master:
+0x6359 015180 branch parse_rx_done 
+:      015182 parse_lmp_simple_pairing_number:
+0x635a 015183 fetch 1 ,mem_master_sp_state 
+0x635b 015184 beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+0x635c 015185 fetch 1 ,mem_sp_state 
+0x635d 015186 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+:      015187 parse_lmp_simple_pairing_number_master:
+0x635e 015188 arg mem_sp_random_remote ,contw 
+0x635f 015189 fetch 8 ,mem_rxbuf + 1 
+0x6360 015190 istore 8 ,contw 
+0x6361 015191 fetch 8 ,mem_rxbuf + 9 
+0x6362 015192 istore 8 ,contw 
+0x6363 015193 call check_localsm 
+0x6364 015194 branch parse_lmp_simple_pairing_number_master0 ,true 
+0x6365 015195 jam sp_stat_random_send ,mem_sp_state 
+0x6366 015196 jam sp_flag_commit ,mem_sp_flag 
+0x6367 015197 branch accept_lmp_msg 
+:      015198 parse_lmp_simple_pairing_number_master0:
+0x6368 015199 jam sp_stat_commit_calc ,mem_master_sp_state 
+0x6369 015200 branch master_set_mem_master_sp_flag 
+:      015203 parse_lmp_simple_pairing_number_reject:
+0x636a 015204 jam pdu_not_allowed ,mem_lmo_reason2 
+0x636b 015205 branch reject_lmp_packet 
+:      015207 parse_dhkey_check:
+0x636c 015208 fetch 1 ,mem_master_sp_state 
+0x636d 015209 beq sp_stat_confirm_send ,parse_dhkey_check_master 
+0x636e 015210 fetch 1 ,mem_sp_state 
+0x636f 015211 bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+:      015212 parse_dhkey_check_master:
+0x6370 015213 arg mem_sp_check_result ,contw 
+0x6371 015214 arg mem_rxbuf + 1 ,contr 
+0x6372 015215 call memcpy16 
+0x6373 015216 call check_localsm 
+0x6374 015217 branch parse_dhkey_check_master0 ,true 
+0x6375 015218 fetch 1 ,mem_ssp_mode_flag 
+0x6376 015219 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+:      015220 number_comparison_successed:
+0x6377 015221 jam 0 ,mem_flag_mode_ssp_pin 
+0x6378 015222 jam sp_stat_confirm_check ,mem_sp_state 
+0x6379 015223 jam sp_flag_commit ,mem_sp_flag 
+0x637a 015224 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x637b 015225 branch parse_rx_done 
+:      015227 parse_dhkey_check_master0:
+0x637c 015228 jam sp_stat_confirm_check ,mem_master_sp_state 
+0x637d 015229 jam sp_flag_commit ,mem_master_sp_flag 
+0x637e 015230 branch parse_rx_done 
+:      015231 parse_lmp_dhkey_check_reject:
+0x637f 015232 jam pdu_not_allowed ,mem_lmo_reason2 
+0x6380 015233 branch reject_lmp_packet 
+:      015235 number_comparison_mode:
+0x6381 015236 fetch 1 ,mem_flag_mode_ssp_pin 
+0x6382 015237 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+0x6383 015238 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+0x6384 015239 store 1 ,mem_flag_mode_ssp_pin 
+0x6385 015240 rtn 
+:      015242 comparison_result:
+0x6386 015243 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x6387 015244 jam 0 ,mem_flag_mode_ssp_pin 
+0x6388 015245 branch parse_lmp_dhkey_check_reject 
+:      015248 parse_lmp_clkoffset_res:
+0x6389 015249 branch parse_rx_done 
+:      015251 parse_lmp_encryption_mode_req:
+0x638a 015252 fetch 1 ,mem_connection_options 
+0x638b 015253 set0 connection_encrypt 
+0x638c 015254 store 1 ,mem_connection_options 
+0x638d 015255 call accept_lmp_msg 
+0x638e 015256 nrtn master 
+0x638f 015257 fetch 1 ,mem_rxbuf + 1 
+0x6390 015258 fetcht 1 ,mem_op 
+0x6391 015259 setflag blank ,op_stop_enc ,temp 
+0x6392 015260 nsetflag blank ,op_start_enc ,temp 
+0x6393 015261 storet 1 ,mem_op 
+0x6394 015262 rtn 
+:      015264 parse_lmp_features_res:
+0x6395 015265 fetcht 8 ,mem_rxbuf + 1 
+:      015266 parse_lmp_features_res_not_hci:
+0x6396 015267 fetch 1 ,mem_conn_sm 
+0x6397 015268 rtnne conn_sm_wait_features_res 
+0x6398 015270 fetch 1 ,mem_connection_options 
+0x6399 015271 bbit0 connection_feature_ext ,parse_lmp_send_conn 
+0x639a 015273 jam conn_sm_send_features_ext ,mem_conn_sm 
+0x639b 015274 rtn 
+:      015275 parse_lmp_send_conn:
+0x639c 015276 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x639d 015277 rtn 
+:      015278 parse_lmp_test_activate:
+0x639e 015279 fetch 1 ,mem_debug_config 
+0x639f 015280 store 1 ,mem_test_mode_old_debug_config 
+0x63a0 015281 jam lmp_accepted ,mem_lmo_opcode2 
+0x63a1 015282 jam lmp_test_activate ,mem_lmi_opcode2 
+0x63a2 015283 rtn 
+:      015284 parse_lmp_test_control:
+0x63a3 015287 jam lmp_accepted ,mem_lmo_opcode2 
+0x63a4 015288 jam lmp_test_control ,mem_lmi_opcode2 
+0x63a5 015289 force 9 ,loopcnt 
+0x63a6 015290 arg mem_rxbuf + 1 ,contr 
+0x63a7 015291 arg mem_temp_payload ,contw 
+:      015292 parse_lmp_test_xor:
+0x63a8 015293 ifetch 1 ,contr 
+0x63a9 015294 xor_into 0x55 ,pdata 
+0x63aa 015295 istore 1 ,contw 
+0x63ab 015296 loop parse_lmp_test_xor 
+0x63ac 015297 fetch 1 ,test_mode_scenario 
+0x63ad 015298 fetcht 1 ,mem_tester_emulate 
+0x63ae 015299 set0 tester_no_whitening ,temp 
+0x63af 015300 set0 tester_pattern_test ,temp 
+0x63b0 015301 beq exit_test_mode ,parse_lmp_test_control_exit 
+0x63b1 015302 beq pause_test_mode ,parse_lmp_test_control_pause 
+0x63b2 015303 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+0x63b3 015304 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x63b4 015305 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+0x63b5 015306 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x63b6 015307 beq zero_pattern ,parse_lmp_test_control_pattern 
+0x63b7 015308 beq one_pattern ,parse_lmp_test_control_pattern 
+0x63b8 015309 beq alt_pattern ,parse_lmp_test_control_pattern 
+0x63b9 015310 beq alt2_pattern ,parse_lmp_test_control_pattern 
+0x63ba 015311 beq pseudorandom ,parse_lmp_test_control_pattern 
+0x63bb 015312 rtn 
+:      015313 parse_lmp_test_control_exit:
+0x63bc 015315 fetch 1 ,mem_tester_emulate 
+0x63bd 015316 set1 tester_exit ,pdata 
+0x63be 015317 set1 tester_change ,pdata 
+0x63bf 015318 store 1 ,mem_tester_emulate 
+0x63c0 015319 rtn 
+:      015320 parse_lmp_test_control_pattern:
+0x63c1 015321 set1 tester_pattern_test ,temp 
+0x63c2 015322 jam 5 ,mem_lch_code 
+0x63c3 015323 fetch 2 ,test_mode_data_length 
+0x63c4 015324 iforce loopcnt 
+0x63c5 015325 store 2 ,mem_len 
+0x63c6 015326 arg mem_rxbuf ,contw 
+0x63c7 015327 call pn9 
+:      015328 parse_lmp_test_control_loopback_nowhite:
+0x63c8 015329 set1 tester_no_whitening ,temp 
+:      015330 parse_lmp_test_control_loopback:
+0x63c9 015331 set1 tester_change ,temp 
+0x63ca 015332 force 0 ,pdata 
+0x63cb 015333 store 1 ,mem_slave_rcvcnt 
+0x63cc 015334 store 2 ,mem_tst_pktcnt_crc 
+0x63cd 015335 store 2 ,mem_tst_pktcnt_dmh 
+0x63ce 015336 store 2 ,mem_tst_pktcnt_hec 
+0x63cf 015337 store 2 ,mem_tst_pktcnt_sync 
+0x63d0 015338 fetch 1 ,test_mode_hopping_mode 
+0x63d1 015339 compare fixed_freq ,pdata ,0xff 
+0x63d2 015340 setflag true ,tester_fixed_freq ,temp 
+0x63d3 015341 storet 1 ,mem_tester_emulate 
+0x63d4 015342 rtn 
+:      015344 parse_lmp_test_control_pause:
+0x63d5 015345 set0 mark_testmode ,mark 
+0x63d6 015346 jam 0 ,mem_tester_emulate 
+0x63d7 015347 fetch 1 ,mem_debug_config 
+0x63d8 015348 set0 debug_tx_pattern ,pdata 
+0x63d9 015349 store 1 ,mem_debug_config 
+0x63da 015350 rtn 
+:      015356 lmp_copy_rand:
+0x63db 015357 arg mem_rxbuf + 1 ,contr 
+0x63dc 015358 arg mem_random_number ,contw 
+0x63dd 015359 branch memcpy16 
+:      015361 lmp_generate_key:
+0x63de 015362 jam lmp_comb_key ,mem_lmo_opcode2 
+0x63df 015363 rtn 
+:      015365 lmp_start_encryption:
+0x63e0 015366 nrtn master 
+0x63e1 015367 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+0x63e2 015368 rtn 
+:      015370 lmp_accept_inrand:
+0x63e3 015371 arg mem_lap ,rega 
+0x63e4 015372 call generate_kinit 
+0x63e5 015373 jam lmp_accepted ,mem_lmo_opcode2 
+0x63e6 015374 jam lmp_in_rand ,mem_lmi_opcode2 
+0x63e7 015375 rtn 
+:      015377 lmp_disconnect:
+0x63e8 015378 jam 10 ,mem_conn_timer 
+0x63e9 015379 jam lmp_detach ,mem_lmo_opcode2 
+0x63ea 015380 jam local_host ,mem_disconn_reason_send 
+0x63eb 015381 rtn 
+:      015387 send_lmp:
+0x63ec 015388 bpatchx patch27_6 ,mem_patch27 
+0x63ed 015389 disable user 
+0x63ee 015390 call lmo_fifo_process 
+0x63ef 015391 fetch 1 ,mem_lmp_to_send 
+0x63f0 015392 rtn blank 
+0x63f1 015397 bbit1 7 ,send_lmp_escape 
+:      015398 send_lmp0:
+0x63f2 015399 beq lmp_name_req ,send_lmp_name_req 
+0x63f3 015400 beq lmp_name_res ,send_lmp_name_res 
+0x63f4 015401 beq lmp_accepted ,send_lmp_accepted 
+0x63f5 015402 beq lmp_not_accepted ,send_lmp_not_accepted 
+0x63f6 015403 beq lmp_features_req ,send_lmp_features_req 
+0x63f7 015404 beq lmp_features_res ,send_lmp_features_res 
+0x63f8 015405 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+0x63f9 015406 beq lmp_version_req ,send_lmp_version_req 
+0x63fa 015407 beq lmp_version_res ,send_lmp_version_res 
+0x63fb 015408 beq lmp_setup_complete ,send_lmp_setup_complete 
+0x63fc 015409 beq lmp_supervision_timeout ,send_lmp_superto 
+0x63fd 015410 beq lmp_host_connection_req ,send_lmp_no_payload 
+0x63fe 015411 beq lmp_in_rand ,send_lmp_inrand 
+0x63ff 015412 beq lmp_comb_key ,send_lmp_comb_key 
+0x6400 015413 beq lmp_au_rand ,send_lmp_aurand 
+0x6401 015414 beq lmp_sres ,send_lmp_sres 
+0x6402 015415 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+0x6403 015416 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+0x6404 015417 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+0x6405 015418 beq lmp_detach ,send_lmp_detach 
+0x6406 015419 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+0x6407 015420 beq lmp_unit_key ,send_lmp_unit_key 
+0x6408 015422 beq lmp_incr_power_req ,send_lmp_inc_power 
+0x6409 015423 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+0x640a 015424 beq lmp_max_power ,send_lmp_nopayload_reply 
+0x640b 015425 beq lmp_max_slot ,send_lmp_max_slot 
+0x640c 015426 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+0x640d 015427 beq lmp_min_power ,send_lmp_nopayload_reply 
+0x640e 015428 beq lmp_slot_offset ,send_lmp_slot_offset 
+0x640f 015429 beq lmp_switch_req ,send_lmp_switch_req 
+0x6410 015430 beq lmp_sniff_req ,send_lmp_sniff_req 
+0x6411 015431 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+0x6412 015432 beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+0x6413 015433 beq lmp_unsniff_req ,send_lmp_unsniff_req 
+0x6414 015434 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+0x6415 015435 beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+0x6416 015436 beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+0x6417 015437 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+0x6418 015438 beq lmp_dhkey_check ,send_lmp_dhkey_check 
+0x6419 015439 beq lmp_auto_rate ,send_lmp_auto_rate 
+0x641a 015440 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+0x641b 015442 beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+0x641c 015443 beq lmp_quality_of_service ,send_lmp_quality_of_service 
+0x641d 015444 beq lmp_test_activate ,send_lmp_test_activate 
+0x641e 015445 beq lmp_test_control ,send_lmp_test_control 
+:      015446 send_lmp_error:
+0x641f 015447 branch assert 
+0x6420 015448 rtn 
+:      015449 send_lmp_escape:
+0x6421 015450 beq lmp_ext_accepted ,send_lmpext_accepted 
+0x6422 015451 beq lmp_ext_features_res ,send_lmpext_features_res 
+0x6423 015452 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+0x6424 015453 beq lmp_ext_features_req ,send_lmpext_features_req 
+0x6425 015454 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+0x6426 015455 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+0x6427 015456 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+0x6428 015457 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+0x6429 015458 beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+0x642a 015459 beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+0x642b 015460 branch assert 
+:      015466 send_lmp_accepted:
+0x642c 015467 force 2 ,pdata 
+0x642d 015468 call msg_send_lmp 
+0x642e 015469 fetch 1 ,mem_lmi_opcode 
+0x642f 015470 istore 1 ,contw 
+0x6430 015471 call send_lmp_follow 
+0x6431 015472 bpatchx patch27_7 ,mem_patch27 
+0x6432 015473 fetch 1 ,mem_lmi_opcode 
+0x6433 015474 beq lmp_in_rand ,send_lmp_accepted_inrand 
+0x6434 015475 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+0x6435 015476 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+0x6436 015477 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+0x6437 015478 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+0x6438 015479 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+0x6439 015480 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+0x643a 015481 rtn 
+:      015483 send_create_conn_start_l2cap_timer_sm:
+0x643b 015484 fetch 1 ,mem_conn_sm 
+0x643c 015485 rtn blank 
+0x643d 015486 jam conn_sm_wait_done ,mem_conn_sm 
+0x643e 015487 setarg timer_enpt_waite 
+0x643f 015488 arg enpt_delay_timer ,queue 
+0x6440 015489 branch timer_init 
+:      015491 send_lmp_accept_sniff_req:
+0x6441 015492 branch sniff_init 
+:      015493 send_lmp_not_accepted:
+0x6442 015494 force 3 ,pdata 
+0x6443 015495 call msg_send_lmp 
+0x6444 015496 fetch 1 ,mem_lmi_opcode 
+0x6445 015497 beq lmp_au_rand ,send_not_accept_aurand 
+0x6446 015498 istore 1 ,contw 
+0x6447 015499 fetch 1 ,mem_lmo_reason 
+0x6448 015500 istore 1 ,contw 
+0x6449 015501 branch send_lmp_follow 
+:      015503 send_not_accept_aurand:
+0x644a 015504 istore 1 ,contw 
+0x644b 015505 fetch 1 ,mem_lmo_reason 
+0x644c 015506 istore 1 ,contw 
+0x644d 015507 arg mem_sres_tid ,temp 
+0x644e 015508 branch special_tid_store 
+:      015510 send_lmpext_accepted:
+0x644f 015511 force 4 ,queue 
+0x6450 015512 call send_lmpext 
+0x6451 015513 setarg lmp_escape 
+0x6452 015514 istore 1 ,contw 
+0x6453 015515 fetch 1 ,mem_lmi_opcode 
+0x6454 015516 set0 7 ,pdata 
+0x6455 015517 istore 1 ,contw 
+0x6456 015518 fetch 1 ,mem_lmi_opcode 
+0x6457 015519 branch send_lmp_follow 
+:      015521 send_lmpext_not_accepted:
+0x6458 015522 force 5 ,queue 
+0x6459 015523 call send_lmpext 
+0x645a 015524 setarg lmp_escape 
+0x645b 015525 istore 1 ,contw 
+0x645c 015526 fetch 1 ,mem_lmi_opcode 
+0x645d 015527 set0 7 ,pdata 
+0x645e 015528 istore 1 ,contw 
+0x645f 015529 fetch 1 ,mem_lmo_reason 
+0x6460 015530 istore 1 ,contw 
+0x6461 015531 branch send_lmp_follow 
+:      015534 send_lmp_accepted_inrand:
+0x6462 015535 call clear_linkkey 
+0x6463 015536 call tid_check 
+0x6464 015537 rtn true 
+0x6465 015538 branch lmp_generate_key 
+:      015540 send_lmp_accepted_enc_mode:
+0x6466 015541 fetch 1 ,mem_op 
+0x6467 015542 bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+0x6468 015543 rtnbit0 op_stop_enc 
+0x6469 015544 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x646a 015545 set0 op_stop_enc ,pdata 
+0x646b 015546 call tid_reply 
+0x646c 015547 branch send_lmp_accepted_enc_exit 
+:      015548 send_lmp_accepted_enc_start:
+0x646d 015549 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x646e 015550 set0 op_start_enc ,pdata 
+:      015551 send_lmp_accepted_enc_exit:
+0x646f 015552 store 1 ,mem_op 
+0x6470 015553 rtn 
+:      015555 send_lmp_accepted_enc_key:
+0x6471 015556 call check_localsm 
+0x6472 015557 branch lmp_start_encryption ,true 
+0x6473 015558 rtn 
+:      015560 send_lmp_accepted_connection:
+0x6474 015561 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+0x6475 015563 fetch 1 ,mem_lmp_conn_state 
+0x6476 015564 set1 received_conn_req ,pdata 
+0x6477 015565 store 1 ,mem_lmp_conn_state 
+0x6478 015566 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x6479 015567 branch ui_ipc_send_event 
+:      015570 send_lmp_accept_dhkey_check:
+0x647a 015571 rtn 
+:      015575 send_lmpext_features_res:
+0x647b 015576 force 12 ,queue 
+0x647c 015577 call send_lmpext 
+0x647d 015578 setarg 0x01 
+0x647e 015579 istore 1 ,contw 
+0x647f 015580 fetch 2 ,mem_lmpext_ssp_enable 
+0x6480 015581 istore 2 ,contw 
+0x6481 015582 setarg 0 
+0x6482 015583 istore 3 ,contw 
+0x6483 015584 setarg 0x00 
+0x6484 015585 istore 4 ,contw 
+0x6485 015586 branch send_lmp_reply 
+:      015587 send_lmpext_io_cap_res:
+0x6486 015588 force 5 ,queue 
+0x6487 015589 call send_lmpext 
+0x6488 015590 fetch 3 ,mem_sp_iocap_local 
+0x6489 015591 istore 3 ,contw 
+0x648a 015592 call send_lmp_reply 
+0x648b 015593 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+0x648c 015594 fetch 1 ,mem_sp_iocap_local 
+0x648d 015595 beq display_yesno ,responder_iocap_display_yesno 
+0x648e 015596 beq keyboard_only ,responder_iocap_keyboard_only 
+0x648f 015597 beq no_input_no_output ,responder_iocap_no_input_no_output 
+0x6490 015598 rtn 
+:      015600 responder_iocap_keyboard_only:
+0x6491 015601 fetch 1 ,mem_sp_iocap_remote 
+0x6492 015602 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+0x6493 015603 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+0x6494 015604 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+0x6495 015605 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+0x6496 015606 rtn 
+:      015609 responder_iocap_display_yesno:
+0x6497 015610 fetch 1 ,mem_sp_iocap_remote 
+0x6498 015611 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+0x6499 015612 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+0x649a 015613 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+0x649b 015614 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+0x649c 015615 rtn 
+:      015618 responder_iocap_no_input_no_output:
+0x649d 015619 fetch 1 ,mem_sp_iocap_remote 
+0x649e 015620 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+0x649f 015621 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+0x64a0 015622 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+0x64a1 015623 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+0x64a2 015624 rtn 
+:      015626 responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+:      015627 responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+:      015628 responder_iocap_display_yesno_initiator_iocap_display_only:
+:      015629 responder_iocap_no_input_no_output_initiator_iocap_display_only:
+:      015630 responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+:      015631 responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+:      015632 responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+:      015633 set_ssp_mode_justwork:
+0x64a3 015634 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+0x64a4 015635 fetch 1 ,mem_classic_bt_flag 
+0x64a5 015636 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+0x64a6 015637 rtn 
+:      015639 responder_iocap_display_yesno_initiator_iocap_display_yesno:
+:      015640 set_ssp_mode_numeric_comparison:
+0x64a7 015641 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+0x64a8 015642 rtn 
+:      015644 responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+:      015645 responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+:      015646 responder_iocap_keyboard_only_initiator_iocap_display_only:
+:      015647 responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+:      015648 set_ssp_mode_passkey:
+0x64a9 015649 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+0x64aa 015650 rtn 
+:      015653 classic_bt_set_reject_justwork_flag:
+0x64ab 015654 arg flag_ssp_reject_justwork ,queue 
+0x64ac 015655 branch classic_bluetooth_set_flag 
+:      015657 classic_bt_clr_reject_justwork_flag:
+0x64ad 015658 arg flag_ssp_reject_justwork ,queue 
+0x64ae 015659 branch classic_bluetooth_clr_flag 
+:      015661 classic_bluetooth_set_flag:
+0x64af 015662 fetch 1 ,mem_classic_bt_flag 
+0x64b0 015663 qset1 pdata 
+0x64b1 015664 store 1 ,mem_classic_bt_flag 
+0x64b2 015665 rtn 
+:      015667 classic_bluetooth_clr_flag:
+0x64b3 015668 fetch 1 ,mem_classic_bt_flag 
+0x64b4 015669 qset0 pdata 
+0x64b5 015670 store 1 ,mem_classic_bt_flag 
+0x64b6 015671 rtn 
+:      015674 send_lmp_io_cap_req:
+0x64b7 015675 force 5 ,queue 
+0x64b8 015676 call send_lmpext 
+0x64b9 015677 fetch 3 ,mem_sp_iocap_local 
+0x64ba 015678 istore 3 ,contw 
+0x64bb 015679 branch send_lmp_request 
+:      015682 send_lmpext_sniff_subrating_req:
+0x64bc 015684 rtn 
+:      015685 send_lmpext_sniff_subrating_res:
+0x64bd 015686 force 9 ,queue 
+0x64be 015687 call send_lmpext 
+0x64bf 015688 fetch 1 ,mem_subsniff_rate 
+0x64c0 015689 istore 1 ,contw 
+0x64c1 015690 fetch 2 ,mem_subsniff_tcmax 
+0x64c2 015691 istore 2 ,contw 
+0x64c3 015692 fetch 4 ,mem_subsniff_instant 
+0x64c4 015693 istore 4 ,contw 
+0x64c5 015694 branch send_lmp_reply 
+:      015696 send_lmp_name_res:
+0x64c6 015697 force 17 ,pdata 
+0x64c7 015698 call msg_send_lmp 
+0x64c8 015699 fetch 1 ,mem_lmi_opcode 
+0x64c9 015700 copy pdata ,temp 
+0x64ca 015701 beq 0x00 ,send_lmp_name_res_offset_ok 
+0x64cb 015702 beq 0x0e ,send_lmp_name_res_offset_ok 
+0x64cc 015703 beq 0x1c ,send_lmp_name_res_offset_ok 
+0x64cd 015704 rtn 
+:      015705 send_lmp_name_res_offset_ok:
+0x64ce 015706 istore 1 ,contw 
+0x64cf 015707 fetch 1 ,mem_local_name_length 
+0x64d0 015708 istore 1 ,contw 
+0x64d1 015709 arg 14 ,loopcnt 
+0x64d2 015710 setarg mem_local_name 
+0x64d3 015711 iadd temp ,contr 
+0x64d4 015712 call memcpy 
+0x64d5 015713 branch send_lmp_reply 
+:      015716 send_lmp_timing_accuracy_res:
+0x64d6 015717 force 3 ,pdata 
+0x64d7 015718 call msg_send_lmp 
+0x64d8 015719 setarg 0x0114 
+0x64d9 015720 istore 2 ,contw 
+0x64da 015721 branch send_lmp_reply 
+:      015723 send_lmp_clkoffset_res:
+0x64db 015725 force 3 ,pdata 
+0x64dc 015726 call msg_send_lmp 
+0x64dd 015727 fetch 4 ,mem_clke_bt 
+0x64de 015728 isub clkn_bt ,pdata 
+0x64df 015729 branch send_lmp_clkoffset_res_master ,master 
+0x64e0 015730 sub pdata ,0 ,pdata 
+:      015731 send_lmp_clkoffset_res_master:
+0x64e1 015733 rshift2 pdata ,pdata 
+0x64e2 015734 set0 15 ,pdata 
+0x64e3 015735 istore 2 ,contw 
+0x64e4 015736 branch send_lmp_reply 
+:      015738 send_lmp_version_res:
+0x64e5 015739 force 6 ,pdata 
+0x64e6 015740 call msg_send_lmp 
+0x64e7 015741 fetch 5 ,mem_lmp_version 
+0x64e8 015742 istore 5 ,contw 
+0x64e9 015743 branch send_lmp_reply 
+:      015745 send_lmp_features_res:
+0x64ea 015746 force 9 ,pdata 
+0x64eb 015747 call msg_send_lmp 
+0x64ec 015748 fetch 8 ,mem_features 
+0x64ed 015749 istore 8 ,contw 
+0x64ee 015750 branch send_lmp_reply 
+:      015757 send_lmpext_features_req:
+0x64ef 015758 force 12 ,queue 
+0x64f0 015759 call send_lmpext 
+0x64f1 015760 setarg 0x01 
+0x64f2 015761 istore 1 ,contw 
+0x64f3 015762 fetch 2 ,mem_lmpext_ssp_enable 
+0x64f4 015763 istore 2 ,contw 
+0x64f5 015764 setarg 0 
+0x64f6 015765 istore 3 ,contw 
+0x64f7 015766 setarg 0x00 
+0x64f8 015767 istore 4 ,contw 
+0x64f9 015768 branch send_lmp_request 
+:      015770 send_lmpext_packet_type_table_req:
+0x64fa 015771 force 3 ,queue 
+0x64fb 015772 call send_lmpext 
+0x64fc 015773 fetch 1 ,mem_ptt 
+0x64fd 015774 istore 1 ,contw 
+0x64fe 015775 disable user 
+0x64ff 015776 call send_lmp_request 
+0x6500 015777 nrtn user 
+0x6501 015778 nrtn master 
+0x6502 015779 fetch 1 ,mem_afh_cfg 
+0x6503 015780 rtnbit0 afh_cfg_on 
+0x6504 015781 call afh_init 
+0x6505 015782 branch afh_open_all_channels 
+:      015785 ssp_enable:
+0x6506 015786 bpatchx patch28_0 ,mem_patch28 
+0x6507 015787 fetch 1 ,mem_features + 6 
+0x6508 015788 set1 param_featrue_ssp ,pdata 
+0x6509 015789 store 1 ,mem_features + 6 
+0x650a 015790 setarg param_lmpext_ssp_enable 
+0x650b 015791 store 2 ,mem_lmpext_ssp_enable 
+0x650c 015792 rtn 
+:      015794 ssp_disable:
+0x650d 015795 bpatchx patch28_1 ,mem_patch28 
+0x650e 015796 fetch 1 ,mem_features + 6 
+0x650f 015797 set0 param_featrue_ssp ,pdata 
+0x6510 015798 store 1 ,mem_features + 6 
+0x6511 015799 setarg 0 
+0x6512 015800 store 2 ,mem_lmpext_ssp_enable 
+0x6513 015801 rtn 
+:      015803 afh_init:
+0x6514 015804 jam 0x3 ,mem_afh_cfg 
+0x6515 015805 setarg 0 
+0x6516 015806 store 4 ,mem_afh_timer 
+0x6517 015807 arg mem_afh_map_lo ,contw 
+0x6518 015808 call afh_reset_map 
+0x6519 015809 arg mem_afh_map_new ,contw 
+0x651a 015810 call afh_reset_map 
+0x651b 015811 arg mem_afh_classify_channel_map ,contw 
+0x651c 015812 call afh_reset_map 
+0x651d 015813 branch afh_clear_error_counter 
+:      015814 afh_open_all_channels:
+0x651e 015815 arg mem_afh_map_new ,contw 
+0x651f 015816 call afh_reset_map 
+0x6520 015817 call afh_clear_error_counter 
+0x6521 015818 branch afh_set_send_flag 
+:      015821 afh_reset_map:
+0x6522 015822 setarg 0xffffff 
+0x6523 015823 istore 3 ,contw 
+0x6524 015824 istore 3 ,contw 
+0x6525 015825 istore 3 ,contw 
+0x6526 015826 setarg 0x7f 
+0x6527 015827 istore 1 ,contw 
+0x6528 015828 rtn 
+:      015829 afh_clear_error_counter:
+0x6529 015830 setarg 0 
+0x652a 015831 store 2 ,mem_afh_error_total 
+0x652b 015832 rtn 
+:      015833 afh_set_send_flag:
+0x652c 015834 fetch 1 ,mem_afh_cfg 
+0x652d 015835 set1 send_lmp_set_afh ,pdata 
+0x652e 015836 store 1 ,mem_afh_cfg 
+0x652f 015837 rtn 
+:      015840 send_lmpext_pause_encryption_req:
+0x6530 015841 force 2 ,queue 
+0x6531 015842 call send_lmpext 
+0x6532 015843 nbranch send_lmp_reply ,master 
+0x6533 015845 branch send_lmp_request 
+:      015849 send_lmp_detach:
+0x6534 015850 force 2 ,pdata 
+0x6535 015851 call msg_send_lmp 
+0x6536 015852 fetch 1 ,mem_disconn_reason_send 
+0x6537 015853 istore 1 ,contw 
+0x6538 015854 call send_lmp_request 
+:      015855 prepare_disconnect:
+0x6539 015856 fetch 1 ,mem_op 
+0x653a 015857 set1 op_disconn ,pdata 
+0x653b 015858 store 1 ,mem_op 
+0x653c 015859 jam 50 ,mem_conn_timer 
+0x653d 015860 rtn 
+:      015863 send_lmp_no_payload:
+0x653e 015864 force 1 ,pdata 
+0x653f 015865 call msg_send_lmp 
+0x6540 015866 branch send_lmp_request 
+:      015867 send_lmp_nopayload_reply:
+0x6541 015868 force 1 ,pdata 
+0x6542 015869 call msg_send_lmp 
+0x6543 015870 branch send_lmp_reply 
+:      015873 send_lmp_encryption_mode_req:
+0x6544 015874 force 2 ,pdata 
+0x6545 015875 call msg_send_lmp 
+0x6546 015876 fetch 1 ,mem_state_map 
+0x6547 015877 isolate0 smap_encryption ,pdata 
+0x6548 015878 setflag true ,0 ,pdata 
+0x6549 015879 and_into 1 ,pdata 
+0x654a 015880 istore 1 ,contw 
+0x654b 015881 branch send_lmp_request 
+:      015884 send_lmp_superto:
+0x654c 015885 force 3 ,pdata 
+0x654d 015886 call msg_send_lmp 
+0x654e 015887 fetch 2 ,mem_supervision_to 
+0x654f 015888 istore 2 ,contw 
+0x6550 015889 branch send_lmp_request 
+:      015891 send_lmp_name_req:
+0x6551 015892 jam 250 ,mem_conn_timer 
+0x6552 015893 force 2 ,pdata 
+0x6553 015894 call msg_send_lmp 
+0x6554 015895 fetch 1 ,mem_name_offset 
+0x6555 015896 istore 1 ,contw 
+0x6556 015897 branch send_lmp_request 
+:      015899 send_lmp_test_control:
+0x6557 015900 force 10 ,pdata 
+0x6558 015901 call msg_send_lmp 
+0x6559 015902 arg mem_temp_payload ,contr 
+0x655a 015903 force 9 ,loopcnt 
+:      015904 send_lmp_test_control_loop:
+0x655b 015905 ifetch 1 ,contr 
+0x655c 015906 xor_into 0x55 ,pdata 
+0x655d 015907 istore 1 ,contw 
+0x655e 015908 loop send_lmp_test_control_loop 
+0x655f 015909 branch send_lmp_request 
+:      015911 send_lmp_quality_of_service_req:
+0x6560 015912 branch send_lmp_request 
+:      015913 send_lmp_unit_key:
+0x6561 015914 branch send_lmp_request 
+:      015916 send_lmp_slot_offset:
+0x6562 015917 rtn master 
+0x6563 015918 call calc_slot_offset 
+0x6564 015919 force 9 ,pdata 
+0x6565 015920 call msg_send_lmp 
+0x6566 015921 fetch 2 ,mem_slot_offset 
+0x6567 015922 istore 2 ,contw 
+0x6568 015923 fetch 3 ,mem_lap 
+0x6569 015924 istore 3 ,contw 
+0x656a 015925 fetch 1 ,mem_uap 
+0x656b 015926 istore 1 ,contw 
+0x656c 015927 fetch 2 ,mem_nap 
+0x656d 015928 istore 2 ,contw 
+0x656e 015929 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+0x656f 015930 set0 mark_switch_initiated ,mark 
+0x6570 015931 call send_lmp_request 
+0x6571 015932 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6572 015933 rtn 
+:      015934 send_lmp_slot_offset_reply:
+0x6573 015935 call send_lmp_reply 
+0x6574 015936 jam lmp_accepted ,mem_lmo_opcode2 
+0x6575 015937 jam lmp_switch_req ,mem_lmi_opcode2 
+0x6576 015938 rtn 
+:      015940 send_lmp_switch_req:
+0x6577 015941 arg 0x200 ,temp 
+0x6578 015942 branch switch_on_native ,master 
+0x6579 015943 deposit clke_bt 
+0x657a 015944 branch switch_slack 
+:      015945 switch_on_native:
+0x657b 015946 deposit clkn_bt 
+:      015947 switch_slack:
+0x657c 015948 deposit bt_clk 
+0x657d 015949 iadd temp ,pdata 
+0x657e 015950 and_into 0x1fc ,pdata 
+0x657f 015951 store 4 ,mem_sniff_anchor 
+0x6580 015952 force 5 ,pdata 
+0x6581 015953 call msg_send_lmp 
+0x6582 015954 fetch 4 ,mem_sniff_anchor 
+0x6583 015955 rshift pdata ,pdata 
+0x6584 015956 istore 4 ,contw 
+0x6585 015957 branch send_lmp_request 
+:      015959 send_lmp_sniff_req:
+0x6586 015960 force 10 ,pdata 
+0x6587 015961 call msg_send_lmp 
+0x6588 015962 arg mem_sniff_payload ,contr 
+0x6589 015963 ifetch 9 ,contr 
+0x658a 015964 istore 9 ,contw 
+0x658b 015965 branch send_lmp_request 
+:      015968 send_lmp_timing_accuracy_req:
+0x658c 015970 force 3 ,pdata 
+0x658d 015971 call msg_send_lmp 
+0x658e 015972 setarg 0x0114 
+0x658f 015973 istore 2 ,contw 
+0x6590 015974 branch send_lmp_request 
+:      015976 send_lmp_unsniff_req:
+0x6591 015978 force 1 ,pdata 
+0x6592 015979 call msg_send_lmp 
+0x6593 015988 branch send_lmp_request 
+:      015991 send_lmp_max_slot:
+0x6594 015992 force 2 ,pdata 
+0x6595 015993 call msg_send_lmp 
+0x6596 015994 fetch 1 ,mem_max_slot 
+0x6597 015995 istore 1 ,contw 
+0x6598 015996 branch send_lmp_request 
+:      015999 send_lmp_max_slot_req:
+0x6599 016000 force 2 ,pdata 
+0x659a 016001 call msg_send_lmp 
+0x659b 016002 setarg 0x05 
+0x659c 016003 istore 1 ,contw 
+0x659d 016004 branch send_lmp_request 
+:      016007 send_lmp_inc_power:
+0x659e 016008 force 2 ,pdata 
+0x659f 016009 call msg_send_lmp 
+0x65a0 016010 setarg 0x00 
+0x65a1 016011 istore 1 ,contw 
+0x65a2 016012 branch send_lmp_request 
+:      016015 send_lmp_setup_complete_by_module:
+0x65a3 016016 jam lmp_max_slot_req ,mem_lmo_opcode2 
+0x65a4 016017 rtn 
+:      016018 send_lmp_setup_complete:
+0x65a5 016019 fetch 1 ,mem_device_option 
+0x65a6 016020 sub pdata ,dvc_op_module ,null 
+0x65a7 016021 call send_lmp_setup_complete_by_module ,zero 
+0x65a8 016022 fetch 1 ,mem_state 
+0x65a9 016023 set1 state_conn_comp ,pdata 
+0x65aa 016024 store 1 ,mem_state 
+0x65ab 016025 copy clkn_bt ,pdata 
+0x65ac 016026 store 4 ,mem_aurand_send_delay_time 
+0x65ad 016027 fetch 1 ,mem_lmp_conn_state 
+0x65ae 016028 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+0x65af 016029 set1 sent_setup_complete ,pdata 
+0x65b0 016030 store 1 ,mem_lmp_conn_state 
+0x65b1 016031 jam bt_evt_setup_complete ,mem_fifo_temp 
+0x65b2 016032 call ui_ipc_send_event 
+0x65b3 016033 force 1 ,pdata 
+0x65b4 016034 call msg_send_lmp 
+0x65b5 016035 branch send_lmp_request 
+:      016036 send_lmp_setup_complete_has_sent:
+0x65b6 016037 jam 0 ,mem_lmp_to_send 
+0x65b7 016038 rtn 
+:      016040 send_lmp_version_req:
+0x65b8 016041 force 6 ,pdata 
+0x65b9 016042 call msg_send_lmp 
+0x65ba 016043 fetch 5 ,mem_lmp_version 
+0x65bb 016044 istore 5 ,contw 
+0x65bc 016045 branch send_lmp_request 
+:      016047 send_lmp_features_req:
+0x65bd 016048 force 9 ,pdata 
+0x65be 016049 call msg_send_lmp 
+0x65bf 016050 fetch 8 ,mem_features 
+0x65c0 016051 istore 8 ,contw 
+0x65c1 016052 branch send_lmp_request 
+:      016054 sp_master_send_io_cap_get:
+0x65c2 016055 jam sp_flag_commit ,mem_master_sp_flag 
+0x65c3 016056 fetch 1 ,mem_sp_local_key_invalid 
+0x65c4 016057 rtnne sp_key_valid 
+0x65c5 016058 jam sp_master_stat_start_done ,mem_master_sp_state 
+0x65c6 016059 rtn 
+:      016061 sp_master_send_io_cap_send:
+0x65c7 016062 call tid_initiate 
+0x65c8 016063 jam lmp_io_cap_req ,mem_lmo_opcode2 
+0x65c9 016064 jam sp_stat_key_send ,mem_master_sp_state 
+0x65ca 016065 rtn 
+:      016068 sp_master_send_lmp_encapsulated_header:
+0x65cb 016069 call tid_initiate 
+0x65cc 016070 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x65cd 016071 jam sp_stat_random_send ,mem_master_sp_state 
+0x65ce 016072 rtn 
+:      016074 sp_master_commitment_compare:
+0x65cf 016075 arg mem_sp_calc_result_high ,rega 
+0x65d0 016076 arg mem_sp_confirm_remote ,regb 
+0x65d1 016077 arg 16 ,loopcnt 
+0x65d2 016078 call string_compare 
+0x65d3 016079 branch sp_master_commitment_compare_success ,zero 
+0x65d4 016080 jam sp_stat_null ,mem_master_sp_state 
+0x65d5 016081 call master_clear_mem_master_sp_flag 
+0x65d6 016082 jam pdu_not_allowed ,mem_lmo_reason2 
+0x65d7 016083 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x65d8 016084 branch reject_lmp_packet 
+:      016085 sp_master_commitment_compare_success:
+0x65d9 016086 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x65da 016087 call master_set_mem_master_sp_flag 
+0x65db 016088 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x65dc 016089 branch accept_lmp_msg 
+:      016093 sp_master_send_lmp_simple_pairing_number:
+0x65dd 016094 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x65de 016095 rtn 
+:      016099 sp_send_lmp_encapsulated_header:
+0x65df 016102 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x65e0 016104 rtn 
+:      016110 send_lmp_encapsulated_header:
+0x65e1 016111 jam 0 ,mem_sp_local_key_send_count 
+0x65e2 016112 force 4 ,pdata 
+0x65e3 016113 call msg_send_lmp 
+0x65e4 016114 force encapsulated_major_type_p192 ,pdata 
+0x65e5 016115 istore 1 ,contw 
+0x65e6 016116 force encapsulated_minor_type_p192 ,pdata 
+0x65e7 016117 istore 1 ,contw 
+0x65e8 016118 force encapsulated_len_p192 ,pdata 
+0x65e9 016119 istore 1 ,contw 
+0x65ea 016120 call check_localsm 
+0x65eb 016121 branch send_lmp_request ,true 
+0x65ec 016122 branch send_lmp_reply 
+:      016124 send_lmp_encapsulated_payload:
+0x65ed 016126 force 17 ,pdata 
+0x65ee 016127 call msg_send_lmp 
+0x65ef 016128 fetch 1 ,mem_sp_local_key_send_count 
+0x65f0 016129 arg mem_sp_pubkey_local ,contr 
+0x65f1 016130 iadd contr ,contr 
+0x65f2 016131 ifetch 8 ,contr 
+0x65f3 016132 istore 8 ,contw 
+0x65f4 016133 ifetch 8 ,contr 
+0x65f5 016134 istore 8 ,contw 
+0x65f6 016135 fetch 1 ,mem_sp_local_key_send_count 
+0x65f7 016136 increase 16 ,pdata 
+0x65f8 016137 store 1 ,mem_sp_local_key_send_count 
+0x65f9 016138 call check_localsm 
+0x65fa 016139 branch send_lmp_request ,true 
+0x65fb 016140 branch send_lmp_reply 
+:      016143 sp_send_lmp_simple_pairing_comfirm:
+0x65fc 016144 jam sp_stat_random_recv ,mem_sp_state 
+0x65fd 016145 jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+0x65fe 016146 rtn 
+:      016147 send_lmp_simple_pairing_comfirm:
+0x65ff 016150 force 17 ,pdata 
+0x6600 016151 call msg_send_lmp 
+0x6601 016152 arg mem_sp_calc_result_high ,contr 
+0x6602 016153 ifetch 8 ,contr 
+0x6603 016154 istore 8 ,contw 
+0x6604 016155 ifetch 8 ,contr 
+0x6605 016156 istore 8 ,contw 
+0x6606 016157 branch send_lmp_reply 
+:      016159 sp_send_lmp_simple_pairing_number:
+0x6607 016160 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x6608 016161 rtn 
+:      016163 send_lmp_simple_pairing_number:
+0x6609 016165 call check_localsm 
+0x660a 016166 call sp_local_random_key_generator ,true 
+0x660b 016167 force 17 ,pdata 
+0x660c 016168 call msg_send_lmp 
+0x660d 016169 arg mem_sp_random_local ,contr 
+0x660e 016170 ifetch 8 ,contr 
+0x660f 016171 istore 8 ,contw 
+0x6610 016172 ifetch 8 ,contr 
+0x6611 016173 istore 8 ,contw 
+0x6612 016174 call check_localsm 
+0x6613 016175 nbranch send_lmp_reply ,true 
+0x6614 016176 branch send_lmp_request ,true 
+:      016178 master_sp_sm_end:
+0x6615 016180 jam sp_stat_done ,mem_master_sp_state 
+:      016181 sp_aurand_send:
+0x6616 016182 call tid_initiate 
+0x6617 016183 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6618 016184 call check_localsm_master 
+0x6619 016185 branch sp_master_key_prarm_push ,true 
+0x661a 016186 branch sp_link_key_prarm_push 
+:      016187 master_sp_send_lmp_dhkey_check:
+0x661b 016188 call tid_reply 
+:      016189 sp_send_lmp_dhkey_check:
+0x661c 016190 jam lmp_dhkey_check ,mem_lmo_opcode2 
+0x661d 016191 rtn 
+:      016192 send_lmp_dhkey_check:
+0x661e 016194 force 17 ,pdata 
+0x661f 016195 call msg_send_lmp 
+0x6620 016196 arg mem_sp_calc_result_high ,contr 
+0x6621 016197 ifetch 8 ,contr 
+0x6622 016198 istore 8 ,contw 
+0x6623 016199 ifetch 8 ,contr 
+0x6624 016200 istore 8 ,contw 
+0x6625 016201 call check_localsm 
+0x6626 016202 nbranch send_lmp_reply ,true 
+0x6627 016203 branch send_lmp_request ,true 
+:      016205 send_lmp_enc_key_size_mask_res:
+0x6628 016206 force 3 ,pdata 
+0x6629 016207 call msg_send_lmp 
+0x662a 016208 setarg 0xfffe 
+0x662b 016209 istore 2 ,contw 
+0x662c 016210 branch send_lmp_reply 
+:      016212 send_lmp_auto_rate:
+0x662d 016213 branch send_lmp_request 
+:      016214 send_lmp_clkoffset_req:
+0x662e 016215 branch send_lmp_request 
+:      016216 send_lmp_quality_of_service:
+0x662f 016217 branch send_lmp_request 
+:      016218 send_lmp_test_activate:
+0x6630 016219 branch send_lmp_request 
+:      016224 send_lmp_comb_key:
+0x6631 016225 call generate_random_number 
+0x6632 016226 arg mem_lap ,rega 
+0x6633 016227 call generate_linkkey 
+0x6634 016228 force 17 ,pdata 
+0x6635 016229 call msg_send_lmp 
+0x6636 016230 arg mem_kinit ,rega 
+0x6637 016231 arg mem_random_number ,regb 
+0x6638 016232 call xor16 
+0x6639 016233 nbranch send_lmp_follow ,master 
+0x663a 016234 branch send_lmp_tid 
+:      016236 send_lmp_inrand:
+0x663b 016237 call generate_random_number 
+0x663c 016238 arg mem_plap ,rega 
+0x663d 016239 call generate_kinit 
+:      016240 send_lmp_rand:
+0x663e 016241 force 17 ,pdata 
+0x663f 016242 call msg_send_lmp 
+0x6640 016243 arg mem_random_number ,contr 
+0x6641 016244 call memcpy16 
+0x6642 016245 fetch 1 ,mem_conn_sm 
+0x6643 016246 beq conn_sm_auth_wait ,send_lmp_request 
+0x6644 016247 beq conn_sm_pairing_wait ,send_lmp_request 
+0x6645 016248 branch send_lmp_tid 
+:      016250 send_lmp_aurand:
+0x6646 016251 fetch 1 ,mem_pairing_auth 
+0x6647 016252 branch send_lmp_aurand_notpairing ,blank 
+0x6648 016253 call check_localsm 
+0x6649 016254 call tid_initiate ,true 
+0x664a 016255 ncall tid_reply ,true 
+0x664b 016256 branch send_lmp_aurand_common 
+:      016257 send_lmp_aurand_notpairing:
+0x664c 016258 call tid_initiate 
+:      016259 send_lmp_aurand_common:
+0x664d 016260 call generate_random_number 
+0x664e 016261 branch send_lmp_rand 
+:      016263 send_lmp_sres:
+0x664f 016264 arg mem_lap ,rega 
+0x6650 016265 call function_e1 
+0x6651 016266 force 5 ,pdata 
+0x6652 016267 call msg_send_lmp 
+0x6653 016268 fetch 4 ,mem_input_store 
+0x6654 016269 istore 4 ,contw 
+0x6655 016270 arg mem_sres_tid ,temp 
+0x6656 016271 call special_tid_store 
+0x6657 016272 call copy_aco 
+0x6658 016273 call check_localsm 
+0x6659 016274 branch send_lmp_sres_master ,true 
+0x665a 016275 jam done_encryp ,mem_wait_encryption 
+0x665b 016276 fetch 1 ,mem_pairing_auth 
+0x665c 016277 rtn blank 
+0x665d 016278 jam lmp_au_rand ,mem_lmo_opcode2 
+:      016279 send_lmp_sres_master:
+0x665e 016280 fetch 1 ,mem_link_key_exists 
+0x665f 016281 rtn blank 
+:      016282 send_lmp_sres_startenc:
+0x6660 016283 call check_localsm 
+0x6661 016284 nbranch send_lmp_sres_startenc_slave ,true 
+0x6662 016285 fetch 1 ,mem_auth_enable 
+0x6663 016286 rtn blank 
+0x6664 016287 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6665 016288 rtn 
+:      016289 send_lmp_sres_startenc_slave:
+0x6666 016290 rtnmark0 mark_slave_in_rand_accepted 
+0x6667 016291 set0 mark_slave_in_rand_accepted ,mark 
+0x6668 016292 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6669 016293 rtn 
+:      016297 send_lmp_start_encryption:
+0x666a 016298 call generate_random_number 
+0x666b 016299 call function_e3 
+0x666c 016300 force 17 ,pdata 
+0x666d 016301 call msg_send_lmp 
+0x666e 016302 arg mem_random_number ,contr 
+0x666f 016303 call memcpy16 
+0x6670 016304 branch send_lmp_tid 
+:      016306 send_lmp_stop_encryption_req:
+0x6671 016307 force 1 ,pdata 
+0x6672 016308 call msg_send_lmp 
+0x6673 016309 branch send_lmp_tid 
+:      016311 send_lmp_encryption_key_size_req:
+0x6674 016312 force 2 ,pdata 
+0x6675 016313 call msg_send_lmp 
+0x6676 016314 force 16 ,pdata 
+0x6677 016315 istore 1 ,contw 
+0x6678 016316 store 1 ,mem_key_size 
+0x6679 016317 branch send_lmp_tid 
+:      016319 msg_send_lmp:
+0x667a 016321 lshift3 pdata ,pdata 
+0x667b 016322 or_into 0x07 ,pdata 
+0x667c 016323 store 1 ,mem_lmo_header_length 
+0x667d 016324 arg 17 ,loopcnt 
+0x667e 016325 arg mem_lmo_payload ,contw 
+0x667f 016326 call clear_mem 
+0x6680 016327 arg mem_lmo_payload ,contw 
+0x6681 016328 rtn 
+:      016330 send_lmpext:
+0x6682 016331 and pdata ,0x7f ,rega 
+0x6683 016332 jam lmp_escape ,mem_lmp_to_send 
+0x6684 016333 deposit queue 
+0x6685 016334 call msg_send_lmp 
+0x6686 016335 deposit rega 
+0x6687 016336 istore 1 ,contw 
+0x6688 016337 rtn 
+:      016339 send_lmp_follow:
+0x6689 016340 fetch 1 ,mem_lmp_to_send 
+0x668a 016341 lshift pdata ,pdata 
+0x668b 016342 fetcht 1 ,mem_state_map 
+0x668c 016343 isolate1 smap_lmptid ,temp 
+0x668d 016344 setflag true ,0 ,pdata 
+0x668e 016345 branch send_lmp_exit 
+:      016348 send_lmp_tid:
+0x668f 016349 fetcht 1 ,mem_state_map 
+0x6690 016350 and_into 1 ,temp 
+0x6691 016351 branch send_lmp_end 
+:      016353 send_lmp_reply:
+0x6692 016354 force 0 ,temp 
+0x6693 016355 branch send_lmp_end 
+:      016357 send_lmp_request:
+0x6694 016358 force 1 ,temp 
+:      016359 send_lmp_end:
+0x6695 016360 fetch 1 ,mem_lmp_to_send 
+0x6696 016361 lshift pdata ,pdata 
+0x6697 016362 setflag master ,0 ,pdata 
+0x6698 016363 ixor temp ,pdata 
+:      016364 send_lmp_exit:
+0x6699 016365 store 1 ,mem_lmo_header_opcode 
+0x669a 016366 jam 0 ,mem_lmp_to_send 
+0x669b 016367 call lmo_fifo_process_lmo0empty 
+0x669c 016368 enable user 
+0x669d 016369 rtn 
+:      016372 lmo_fifo_check:
+0x669e 016373 fetch 1 ,mem_lmo_opcode2 
+0x669f 016374 rtn blank 
+0x66a0 016375 call lmo_fifo_process 
+0x66a1 016376 fetch 1 ,mem_lmo_opcode2 
+0x66a2 016377 rtn 
+:      016379 lmo_fifo_process:
+0x66a3 016380 bpatchx patch28_2 ,mem_patch28 
+0x66a4 016381 fetch 1 ,mem_lmp_to_send 
+0x66a5 016382 branch lmo_fifo_process_lmo0empty ,blank 
+0x66a6 016383 fetch 1 ,mem_lmo_opcode1 
+0x66a7 016384 nrtn blank 
+0x66a8 016385 branch lmo_fifo_process_lmo2to1 
+:      016386 lmo_fifo_process_lmo0empty:
+0x66a9 016387 fetch 1 ,mem_lmo_opcode1 
+0x66aa 016388 branch lmo_fifo_process_lmo1_empty ,blank 
+0x66ab 016389 fetch 3 ,mem_lmo_opcode1 
+0x66ac 016390 store 3 ,mem_lmp_to_send 
+0x66ad 016391 fetcht 1 ,mem_lmo_tid1 
+0x66ae 016392 fetch 1 ,mem_state_map 
+0x66af 016393 set0 smap_lmptid ,pdata 
+0x66b0 016394 ior temp ,pdata 
+0x66b1 016395 store 1 ,mem_state_map 
+0x66b2 016396 jam 0 ,mem_lmo_opcode1 
+:      016397 lmo_fifo_process_lmo2to1:
+0x66b3 016398 fetch 1 ,mem_lmo_opcode2 
+0x66b4 016399 rtn blank 
+0x66b5 016400 fetch 4 ,mem_lmo_opcode2 
+0x66b6 016401 store 4 ,mem_lmo_opcode1 
+0x66b7 016402 jam 0 ,mem_lmo_opcode2 
+0x66b8 016403 rtn 
+:      016404 lmo_fifo_process_lmo1_empty:
+0x66b9 016405 fetch 1 ,mem_lmo_opcode2 
+0x66ba 016406 rtn blank 
+0x66bb 016407 fetch 3 ,mem_lmo_opcode2 
+0x66bc 016408 store 3 ,mem_lmp_to_send 
+0x66bd 016409 fetcht 1 ,mem_lmo_tid2 
+0x66be 016410 fetch 1 ,mem_state_map 
+0x66bf 016411 set0 smap_lmptid ,pdata 
+0x66c0 016412 ior temp ,pdata 
+0x66c1 016413 store 1 ,mem_state_map 
+0x66c2 016414 jam 0 ,mem_lmo_opcode2 
+0x66c3 016415 rtn 
+:      016418 special_tid_store:
+0x66c4 016419 bpatchx patch28_3 ,mem_patch28 
+0x66c5 016420 fetch 1 ,mem_state_map 
+0x66c6 016421 copy pdata ,regc 
+0x66c7 016422 ifetch 1 ,temp 
+0x66c8 016423 call pop_tid_follow 
+0x66c9 016424 call send_lmp_follow 
+0x66ca 016425 copy regc ,pdata 
+0x66cb 016426 store 1 ,mem_state_map 
+0x66cc 016427 rtn 
+:      016429 tid_reply:
+0x66cd 016430 fetcht 1 ,mem_state_map 
+0x66ce 016431 set0 smap_lmptidinit ,temp 
+0x66cf 016432 storet 1 ,mem_state_map 
+0x66d0 016433 rtn 
+:      016435 tid_initiate:
+0x66d1 016436 fetcht 1 ,mem_state_map 
+0x66d2 016437 set1 smap_lmptidinit ,temp 
+0x66d3 016438 storet 1 ,mem_state_map 
+0x66d4 016439 rtn 
+:      016442 tid_check:
+0x66d5 016443 nsetflag master ,smap_lmptid ,pdata 
+0x66d6 016444 fetcht 1 ,mem_state_map 
+0x66d7 016445 ixor temp ,pdata 
+0x66d8 016446 isolate1 smap_lmptid ,pdata 
+0x66d9 016447 rtn 
+:      016450 tid_set_reply:
+0x66da 016451 fetch 1 ,mem_state_map 
+0x66db 016452 setflag master ,smap_lmptid ,pdata 
+0x66dc 016453 store 1 ,mem_state_map 
+0x66dd 016454 rtn 
+:      016457 check_localsm:
+0x66de 016458 fetch 1 ,mem_sp_localsm 
+0x66df 016459 compare local_statemachine ,pdata ,0x7f 
+0x66e0 016460 rtn 
+:      016461 setlocalsm_master:
+0x66e1 016462 fetch 1 ,mem_sp_localsm 
+0x66e2 016463 set1 7 ,pdata 
+0x66e3 016464 store 1 ,mem_sp_localsm 
+0x66e4 016465 rtn 
+:      016466 setlocalsm_slave:
+0x66e5 016467 fetch 1 ,mem_sp_localsm 
+0x66e6 016468 set0 7 ,pdata 
+0x66e7 016469 store 1 ,mem_sp_localsm 
+0x66e8 016470 rtn 
+:      016471 check_localsm_master:
+0x66e9 016472 fetch 1 ,mem_sp_localsm 
+0x66ea 016473 isolate1 7 ,pdata 
+0x66eb 016474 store 1 ,mem_sp_localsm 
+0x66ec 016475 rtn 
+:      016477 generate_random_number:
+0x66ed 016479 arg mem_random_number ,contw 
+:      016480 generate_random:
+0x66ee 016481 force 16 ,loopcnt 
+:      016482 generate_random_another:
+:      016483 generate_random_loop:
+0x66ef 016484 random pdata 
+0x66f0 016485 istore 1 ,contw 
+0x66f1 016486 loop generate_random_another 
+0x66f2 016487 rtn 
+:      016489 generate_linkkey:
+0x66f3 016490 call function_e21 
+0x66f4 016491 arg mem_link_key ,rega 
+0x66f5 016492 arg mem_input_store ,regb 
+0x66f6 016493 ifetch 8 ,rega 
+0x66f7 016494 fetcht 1 ,mem_state 
+0x66f8 016495 nsetflag blank ,state_combkey ,temp 
+0x66f9 016496 storet 1 ,mem_state 
+0x66fa 016497 copy rega ,contw 
+0x66fb 016498 call xor16 
+0x66fc 016499 branch generate_linkkey_continue 
+:      016505 process_conn_sm:
+0x66fd 016507 bpatchx patch28_4 ,mem_patch28 
+0x66fe 016509 call lmo_fifo_check 
+0x66ff 016510 nrtn blank 
+:      016511 process_conn_sm_continue:
+0x6700 016512 fetch 1 ,mem_conn_sm 
+0x6701 016513 rtn blank 
+0x6702 016517 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+0x6703 016518 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+0x6704 016519 beq conn_sm_send_features ,host_create_conn_send_features 
+0x6705 016520 beq conn_sm_wait_features_res ,host_create_conn_waiting 
+0x6706 016521 beq conn_sm_send_switch ,host_create_conn_send_switch 
+0x6707 016522 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+0x6708 016523 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+0x6709 016524 beq conn_sm_encrypt ,host_create_conn_encrypt 
+0x670a 016525 beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+0x670b 016526 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+0x670c 016527 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+0x670d 016528 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+0x670e 016529 beq conn_sm_detach_delay ,host_create_conn_master_detach 
+0x670f 016530 beq conn_sm_send_version ,host_create_conn_send_version 
+0x6710 016531 beq conn_sm_wait_version ,host_create_conn_waiting 
+0x6711 016532 beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+0x6712 016533 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+0x6713 016534 beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+0x6714 016535 beq conn_sm_pairing ,host_create_conn_pairing 
+0x6715 016536 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+0x6716 016537 beq conn_sm_auth ,host_create_conn_auth 
+0x6717 016538 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+0x6718 016539 beq conn_sm_done ,host_create_conn_done 
+0x6719 016540 beq conn_sm_wait_done ,host_create_conn_done_wait 
+0x671a 016541 jam conn_sm_standby ,mem_conn_sm 
+0x671b 016543 rtn 
+:      016544 host_create_conn_done:
+0x671c 016545 fetch 1 ,mem_lmp_conn_state 
+0x671d 016546 rtnbit0 received_setup_complete 
+0x671e 016547 rtnbit0 sent_setup_complete 
+0x671f 016548 jam conn_sm_standby ,mem_conn_sm 
+0x6720 016549 call host_conn_judge_encrypt 
+0x6721 016550 branch scheduler_start_upper_sm 
+:      016552 host_conn_judge_encrypt:
+0x6722 016553 fetch 1 ,mem_connection_options 
+0x6723 016554 rtnbit0 connection_encrypt 
+0x6724 016555 jam conn_sm_encrypt_wait ,mem_conn_sm 
+0x6725 016556 rtn 
+:      016558 host_create_conn_done_wait:
+0x6726 016559 arg enpt_delay_timer ,queue 
+0x6727 016560 call timer_check 
+0x6728 016561 nrtn blank 
+0x6729 016562 jam conn_sm_done ,mem_conn_sm 
+0x672a 016563 rtn 
+:      016565 host_create_conn_auth:
+0x672b 016566 fetch 1 ,mem_connection_options 
+0x672c 016567 set0 connection_auth ,pdata 
+0x672d 016568 store 1 ,mem_connection_options 
+0x672e 016569 jam conn_sm_auth_wait ,mem_conn_sm 
+0x672f 016570 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6730 016571 rtn 
+:      016572 host_create_conn_auth_wait:
+0x6731 016573 rtn 
+:      016574 host_create_conn_pairing:
+0x6732 016575 fetch 1 ,mem_pincode_state 
+0x6733 016576 rtnne pincode_state_pincode_ready 
+0x6734 016577 call host_auth 
+0x6735 016578 jam conn_sm_pairing_wait ,mem_conn_sm 
+0x6736 016579 rtn 
+:      016581 host_create_conn_pairing_wait:
+0x6737 016582 rtn 
+:      016583 host_creat_conn_send_feat_ext:
+0x6738 016584 jam conn_sm_wait_features_ext ,mem_conn_sm 
+0x6739 016585 jam lmp_ext_features_req ,mem_lmo_opcode2 
+0x673a 016586 rtn 
+:      016587 host_create_conn_send_version:
+0x673b 016588 jam conn_sm_wait_version ,mem_conn_sm 
+0x673c 016589 jam lmp_version_req ,mem_lmo_opcode2 
+0x673d 016590 rtn 
+:      016592 host_creat_conn_wait_switch:
+0x673e 016593 fetch 1 ,mem_switch_flag 
+0x673f 016594 rtneq switch_flag_init 
+0x6740 016595 beq switch_flag_accept ,host_create_conn_switch_accept 
+0x6741 016596 arg switch_wait_timer ,queue 
+0x6742 016597 call timer_check 
+0x6743 016598 nrtn blank 
+0x6744 016599 jam switch_flag_init ,mem_switch_flag 
+0x6745 016600 branch host_create_conn_switch 
+:      016601 host_create_conn_switch_accept:
+0x6746 016602 rtn master 
+0x6747 016603 branch host_create_conn_auth_pair 
+:      016605 host_create_conn_send_features:
+0x6748 016606 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x6749 016607 jam lmp_features_req ,mem_lmo_opcode2 
+0x674a 016608 rtn 
+:      016609 host_create_conn_send_switch:
+0x674b 016610 jam lmp_switch_req ,mem_lmo_opcode2 
+0x674c 016611 set1 mark_switch_initiated ,mark 
+0x674d 016612 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x674e 016613 setarg 0x1ff 
+0x674f 016614 store 2 ,mem_soft_timer 
+0x6750 016615 rtn 
+:      016616 host_create_conn_send_conn_req:
+0x6751 016617 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x6752 016618 jam 0xff ,mem_soft_timer 
+0x6753 016619 set0 mark_reconn_recieve_switch ,mark 
+0x6754 016620 jam lmp_host_connection_req ,mem_lmo_opcode2 
+0x6755 016621 branch init_lmp_reinit 
+:      016622 host_create_conn_wait_accept:
+0x6756 016623 rtnmark1 mark_reconn_recieve_switch 
+0x6757 016624 fetch 2 ,mem_soft_timer 
+0x6758 016625 sub pdata ,1 ,pdata 
+0x6759 016626 branch host_create_conn_resend ,zero 
+0x675a 016627 store 2 ,mem_soft_timer 
+0x675b 016628 rtn 
+:      016629 host_create_conn_resend:
+0x675c 016630 jam conn_sm_send_switch ,mem_conn_sm 
+0x675d 016631 rtn 
+:      016632 host_create_conn_waiting:
+0x675e 016634 rtn 
+:      016636 host_create_conn_switch:
+0x675f 016637 fetch 1 ,mem_lmp_conn_state 
+0x6760 016638 rtnbit0 sent_setup_complete 
+0x6761 016639 rtnbit0 received_setup_complete 
+0x6762 016640 fetch 1 ,mem_connection_options 
+0x6763 016641 set0 connection_switch ,pdata 
+0x6764 016642 store 1 ,mem_connection_options 
+0x6765 016643 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6766 016644 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+0x6767 016645 rtn 
+:      016647 host_create_conn_send_setup_complete:
+0x6768 016648 jam conn_sm_wait_setup_complete ,mem_conn_sm 
+0x6769 016649 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x676a 016650 rtn 
+:      016652 host_create_conn_wait_setup_complete:
+0x676b 016653 fetch 1 ,mem_lmp_conn_state 
+0x676c 016654 rtnbit0 received_setup_complete 
+0x676d 016655 jam conn_sm_standby ,mem_conn_sm 
+0x676e 016657 rtn 
+:      016658 host_create_conn_wait_setup_complete_rtn:
+0x676f 016659 jam conn_sm_auth_pair ,mem_conn_sm 
+0x6770 016660 rtn 
+:      016662 host_create_conn_master_detach:
+0x6771 016663 fetch 1 ,mem_soft_timer 
+0x6772 016664 increase -1 ,pdata 
+0x6773 016665 branch host_create_conn_send_detach ,blank 
+0x6774 016666 store 1 ,mem_soft_timer 
+0x6775 016667 rtn 
+:      016668 host_create_conn_send_detach:
+0x6776 016669 jam lmp_detach ,mem_lmo_opcode2 
+0x6777 016670 jam local_host ,mem_disconn_reason_send 
+0x6778 016671 jam 0 ,mem_conn_sm 
+0x6779 016672 rtn 
+:      016673 host_create_conn_auth_pair:
+0x677a 016675 fetch 1 ,mem_connection_options 
+0x677b 016676 bbit1 connection_switch ,host_create_conn_switch 
+0x677c 016677 bbit1 connection_auth ,host_create_conn_auth_pair_true 
+:      016678 host_create_conn_sm_done:
+0x677d 016679 jam conn_sm_done ,mem_conn_sm 
+0x677e 016680 rtn 
+:      016681 host_create_conn_auth_pair_true:
+0x677f 016682 fetch 1 ,mem_link_key_exists 
+0x6780 016683 branch host_create_conn_auth_pair_nokey ,blank 
+0x6781 016684 fetch 1 ,mem_lmp_conn_state 
+0x6782 016685 rtnbit0 sent_setup_complete 
+0x6783 016686 rtnbit0 received_setup_complete 
+0x6784 016687 fetch 4 ,mem_aurand_send_delay_time 
+0x6785 016688 arg 100 ,temp 
+0x6786 016689 iadd temp ,temp 
+0x6787 016690 copy clkn_bt ,pdata 
+0x6788 016691 isub temp ,null 
+0x6789 016692 nrtn positive 
+0x678a 016693 branch host_create_conn_auth 
+:      016697 host_create_conn_auth_pair_nokey:
+0x678b 016698 jam conn_sm_pairing ,mem_conn_sm 
+0x678c 016699 jam 4 ,mem_pin_length 
+0x678d 016700 setarg 0x3030 
+0x678e 016701 store 2 ,mem_pin 
+0x678f 016702 istore 2 ,contw 
+0x6790 016703 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x6791 016704 branch host_create_conn_pairing 
+:      016706 host_create_conn_auth_pair_wait:
+0x6792 016707 rtn 
+:      016708 host_create_conn_encrypt:
+0x6793 016709 fetch 1 ,mem_connection_options 
+0x6794 016710 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+0x6795 016711 jam conn_sm_done ,mem_conn_sm 
+0x6796 016712 rtn 
+:      016714 host_create_conn_encrypt_start:
+0x6797 016715 fetch 1 ,mem_connection_options 
+0x6798 016716 set0 connection_encrypt ,pdata 
+0x6799 016717 store 1 ,mem_connection_options 
+0x679a 016718 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x679b 016719 rtn 
+:      016721 host_create_conn_encrypt_wait:
+0x679c 016722 fetch 1 ,mem_wait_encryption 
+0x679d 016723 rtn blank 
+0x679e 016724 jam conn_sm_standby ,mem_conn_sm 
+0x679f 016725 branch host_create_conn_encrypt_start 
+:      016727 host_create_conn_encrypt_wait_clear:
+0x67a0 016728 jam conn_sm_send_setup_complete ,mem_conn_sm 
+0x67a1 016729 rtn 
+:      016731 host_auth:
+0x67a2 016732 fetch 1 ,mem_op 
+0x67a3 016733 bbit1 op_inrand_req ,remote_auth 
+0x67a4 016734 call tid_initiate 
+0x67a5 016735 jam lmp_in_rand ,mem_lmo_opcode2 
+0x67a6 016736 branch cmd_exit 
+:      016737 remote_auth:
+0x67a7 016738 fetch 1 ,mem_op 
+0x67a8 016739 set0 op_inrand_req ,pdata 
+0x67a9 016740 store 1 ,mem_op 
+0x67aa 016741 call lmp_accept_inrand 
+0x67ab 016742 call tid_set_reply 
+0x67ac 016743 branch cmd_exit 
+:      016745 pincode_reinit:
+0x67ad 016746 setarg 4 
+0x67ae 016747 store 1 ,mem_pin_length 
+0x67af 016748 setarg 0x3030 
+0x67b0 016749 istore 2 ,contw 
+0x67b1 016750 istore 2 ,contw 
+0x67b2 016751 rtn 
+:      016760 soft_reset_chip:
+0x67b3 016761 hjam 1 ,core_reset 
+0x67b4 016762 rtn 
+:      016765 uartd_prepare_tx:
+0x67b5 016766 bpatchx patch29_0 ,mem_patch29 
+0x67b6 016767 fetch 2 ,ipc_bt2m0_write_ptr 
+0x67b7 016768 copy pdata ,contwu 
+0x67b8 016769 rtn 
+:      016771 uartd_send:
+0x67b9 016772 bpatchx patch29_1 ,mem_patch29 
+0x67ba 016773 copy contwu ,pdata 
+0x67bb 016774 store 2 ,ipc_bt2m0_write_ptr 
+:      016775 wake_up_m0:
+0x67bc 016776 fetch 1 ,core_config 
+0x67bd 016777 rtnbit1 7 
+0x67be 016778 set1 7 ,pdata 
+0x67bf 016779 store 1 ,core_config 
+0x67c0 016780 rtn 
+:      016783 uart_copy_tx_bytes_fast:
+0x67c1 016784 deposit loopcnt 
+0x67c2 016785 rtn blank 
+:      016786 uart_copy_tx_bytes_fast_loop:
+0x67c3 016787 increase -8 ,loopcnt 
+0x67c4 016788 call uart_tx_8_bytes ,positive 
+0x67c5 016789 rtn zero 
+0x67c6 016790 branch uart_copy_tx_bytes_fast_loop ,positive 
+0x67c7 016791 increase 8 ,loopcnt 
+:      016792 uart_copy_tx_bytes_fast_loop_four:
+0x67c8 016793 increase -4 ,loopcnt 
+0x67c9 016794 call uart_tx_4_bytes ,positive 
+0x67ca 016795 rtn zero 
+0x67cb 016796 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+0x67cc 016797 increase 4 ,loopcnt 
+0x67cd 016798 branch uart_copy_tx_bytes 
+:      016800 uart_tx_8_bytes:
+0x67ce 016801 ifetch 8 ,contr 
+0x67cf 016802 istore 8 ,contwu 
+0x67d0 016803 rtn 
+:      016805 uart_tx_4_bytes:
+0x67d1 016806 ifetch 4 ,contr 
+0x67d2 016807 istore 4 ,contwu 
+0x67d3 016808 rtn 
+:      016810 uart_copy_tx_bytes:
+0x67d4 016811 deposit loopcnt 
+0x67d5 016812 rtn blank 
+:      016813 uart_copy_tx_bytes_loop:
+0x67d6 016814 ifetch 1 ,contr 
+0x67d7 016815 istore 1 ,contwu 
+0x67d8 016816 loop uart_copy_tx_bytes_loop 
+0x67d9 016817 rtn 
+:      016819 uart_copy_rx_bytes_fast:
+0x67da 016820 deposit loopcnt 
+0x67db 016821 rtn blank 
+:      016822 uart_copy_rx_bytes_fast_loop:
+0x67dc 016823 increase -8 ,loopcnt 
+0x67dd 016824 call uart_rx_8_bytes ,positive 
+0x67de 016825 rtn zero 
+0x67df 016826 branch uart_copy_rx_bytes_fast_loop ,positive 
+0x67e0 016827 increase 8 ,loopcnt 
+:      016828 uart_copy_rx_bytes_fast_loop_four:
+0x67e1 016829 increase -4 ,loopcnt 
+0x67e2 016830 call uart_rx_4_bytes ,positive 
+0x67e3 016831 rtn zero 
+0x67e4 016832 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+0x67e5 016833 increase 4 ,loopcnt 
+0x67e6 016834 branch uart_copy_rx_bytes 
+:      016836 uart_rx_8_bytes:
+0x67e7 016837 ifetch 8 ,contru 
+0x67e8 016838 istore 8 ,contw 
+0x67e9 016839 rtn 
+:      016841 uart_rx_4_bytes:
+0x67ea 016842 ifetch 4 ,contru 
+0x67eb 016843 istore 4 ,contw 
+0x67ec 016844 rtn 
+:      016847 uart_copy_rx_bytes:
+0x67ed 016848 deposit loopcnt 
+0x67ee 016849 rtn blank 
+:      016850 uart_copy_rx_bytes_loop:
+0x67ef 016851 ifetch 1 ,contru 
+0x67f0 016852 istore 1 ,contw 
+0x67f1 016853 loop uart_copy_rx_bytes_loop 
+0x67f2 016854 rtn 
+:      016856 uartd_rxdone:
+0x67f3 016857 bpatchx patch29_2 ,mem_patch29 
+0x67f4 016858 copy contru ,pdata 
+0x67f5 016859 store 2 ,ipc_m02bt_read_ptr 
+0x67f6 016860 rtn 
+:      016862 uartd_prepare_rx:
+0x67f7 016863 bpatchx patch29_3 ,mem_patch29 
+0x67f8 016864 fetch 2 ,ipc_m02bt_read_ptr 
+0x67f9 016865 copy pdata ,contru 
+0x67fa 016866 rtn 
+:      016870 app_store_nvram_event:
+0x67fb 016871 jam bt_evt_store_nvram ,mem_fifo_temp 
+0x67fc 016872 branch ui_ipc_send_event 
+:      016874 eeprom_store_le_reconn_info:
+:      016875 eeprom_store_bd_reconn_info:
+:      016876 check_51cmd_store_reconn_info:
+:      016877 check_51cmd_update_device_record:
+0x67fd 016878 bpatchx patch29_4 ,mem_patch29 
+0x67fe 016879 fetch 1 ,mem_nv_data_number 
+0x67ff 016880 rtn blank 
+0x6800 016881 call check_nvram 
+0x6801 016882 call init_device_list ,zero 
+0x6802 016883 call nvram_find_addr_from_bd_list 
+:      016884 write_device_record:
+0x6803 016885 fetch 1 ,mem_nv_data_number 
+0x6804 016886 icopy regc 
+0x6805 016887 fetcht 2 ,mem_nv_data_ptr 
+0x6806 016888 storet 2 ,mem_list_item_ptr 
+:      016889 write_device_loop_find:
+0x6807 016890 copy regc ,pdata 
+0x6808 016891 branch app_store_nvram_event ,blank 
+0x6809 016892 increase -1 ,regc 
+0x680a 016893 copy temp ,rega 
+0x680b 016894 ifetch 1 ,rega 
+0x680c 016895 fetcht 1 ,mem_select_list_item 
+0x680d 016896 isub temp ,null 
+0x680e 016897 call set_index_finded_device ,zero 
+0x680f 016898 branch write_device_loop_find0 ,positive 
+0x6810 016899 ifetch 1 ,rega 
+0x6811 016900 increase 1 ,pdata 
+0x6812 016901 istore 1 ,rega 
+:      016902 write_device_loop_find0:
+0x6813 016903 fetcht 2 ,mem_list_item_ptr 
+0x6814 016904 increase nv_data_len ,temp 
+0x6815 016905 storet 2 ,mem_list_item_ptr 
+0x6816 016906 branch write_device_loop_find 
+:      016908 set_index_finded_device:
+0x6817 016909 setarg 0 
+0x6818 016910 istore 1 ,rega 
+0x6819 016911 fetch 1 ,mem_temp_reconn_record 
+0x681a 016912 istore 1 ,contw 
+0x681b 016913 bne rec_3_mode ,set_index_finded_device_ble_mode 
+0x681c 016914 arg mem_link_key ,regb 
+:      016915 set_index_find_device_master_addr:
+0x681d 016916 ifetch 6 ,contr 
+0x681e 016917 istore 8 ,contw 
+0x681f 016918 setarg 0 
+0x6820 016919 istore 8 ,contw 
+0x6821 016920 copy regb ,contr 
+:      016921 store_rec_data_common:
+0x6822 016922 call memcpy16 
+0x6823 016923 force 1 ,null 
+0x6824 016924 rtn 
+:      016926 set_index_finded_device_ble_mode:
+0x6825 016927 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+0x6826 016928 beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+0x6827 016929 arg mem_le_ltk ,regb 
+0x6828 016930 branch set_index_find_device_master_addr 
+:      016932 set_index_finded_device_irk:
+0x6829 016933 arg mem_le_irk ,contr 
+0x682a 016934 call memcpy16 
+:      016935 store_ble_rec_data_common:
+0x682b 016936 arg mem_le_ltk ,contr 
+0x682c 016937 branch store_rec_data_common 
+:      016939 set_index_finded_device_ediv:
+0x682d 016940 arg mem_le_rand ,contr 
+0x682e 016941 call memcpy16 
+0x682f 016942 branch store_ble_rec_data_common 
+:      016945 nvram_find_addr_from_bd_list:
+0x6830 016946 call disable_user 
+0x6831 016947 fetch 1 ,mem_nv_data_number 
+0x6832 016948 rtn blank 
+0x6833 016949 fetch 2 ,mem_ui_state_map 
+0x6834 016950 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+:      016951 find_addr_from_bd_list_ble_mode:
+0x6835 016952 bpatchx patch29_5 ,mem_patch29 
+0x6836 016953 fetch 1 ,mem_le_conn_peer_addr_type 
+0x6837 016954 beq master_public_addr ,find_addr_from_bd_list_static_addr 
+0x6838 016955 fetch 1 ,mem_le_plap + 5 
+0x6839 016956 compare 0xc0 ,pdata ,0xc0 
+0x683a 016957 branch find_addr_from_bd_list_static_addr ,true 
+0x683b 016958 compare 0x40 ,pdata ,0xc0 
+0x683c 016959 branch find_addr_from_bd_list_random_addr ,true 
+0x683d 016960 compare 0x00 ,pdata ,0xc0 
+0x683e 016961 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+:      016962 find_addr_from_bd_list_static_addr:
+0x683f 016963 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+0x6840 016964 fetch 6 ,mem_le_plap 
+0x6841 016965 branch find_addr_from_bd_list_common 
+:      016967 find_addr_from_bd_list_random_non_resolvable_private_address:
+0x6842 016968 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+0x6843 016969 branch find_addr_from_bd_list_common 
+:      016972 find_addr_from_bd_list_random_addr:
+0x6844 016973 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+0x6845 016974 branch find_addr_from_bd_list_common 
+:      016977 find_addr_from_bd_list_spp_mode:
+0x6846 016978 bpatchx patch29_6 ,mem_patch29 
+0x6847 016979 jam rec_3_mode ,mem_temp_reconn_record 
+0x6848 016980 fetch 6 ,mem_plap 
+:      016981 find_addr_from_bd_list_common:
+0x6849 016982 store 6 ,mem_temp_reconn_record + 1 
+0x684a 016983 fetch 2 ,mem_nv_data_ptr 
+0x684b 016984 ifetcht 1 ,pdata 
+0x684c 016985 pincrease 1 
+0x684d 016986 store 2 ,mem_list_item_ptr 
+0x684e 016987 storet 1 ,mem_select_list_item 
+0x684f 016988 fetch 1 ,mem_nv_data_number 
+0x6850 016989 icopy regc 
+:      016990 nvram_find_addr_from_list:
+0x6851 016991 fetch 2 ,mem_list_item_ptr 
+0x6852 016992 copy pdata ,rega 
+0x6853 016993 call nvram_find_addr_from_list_compare 
+0x6854 016994 rtn user 
+0x6855 016995 fetcht 2 ,mem_list_item_ptr 
+0x6856 016996 increase nv_data_len ,temp 
+0x6857 016997 storet 2 ,mem_list_item_ptr 
+0x6858 016998 increase -1 ,temp 
+0x6859 016999 ifetch 1 ,temp 
+0x685a 017000 store 1 ,mem_select_list_item 
+0x685b 017001 increase -1 ,regc 
+0x685c 017002 nbranch nvram_find_addr_from_list ,zero 
+0x685d 017003 fetch 1 ,mem_nv_data_number 
+0x685e 017004 pincrease decreased_one 
+0x685f 017005 store 1 ,mem_select_list_item 
+0x6860 017006 rtn 
+:      017007 nvram_find_addr_from_list_compare:
+0x6861 017008 fetch 1 ,mem_temp_reconn_record 
+0x6862 017009 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+:      017010 find_master_addr_from_list_compare:
+0x6863 017011 arg mem_temp_reconn_record ,regb 
+0x6864 017012 arg 7 ,loopcnt 
+0x6865 017013 call string_compare 
+0x6866 017014 branch enable_user ,zero 
+0x6867 017015 rtn 
+:      017017 find_addr_from_list_compare_ble_mode:
+0x6868 017018 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+0x6869 017019 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+0x686a 017020 branch find_master_addr_from_list_compare 
+:      017022 find_irk_form_list_compare:
+0x686b 017023 ifetcht 1 ,rega 
+0x686c 017024 isub temp ,null 
+0x686d 017025 nrtn zero 
+0x686e 017026 arg mem_le_prand ,contw 
+0x686f 017027 arg 16 ,loopcnt 
+0x6870 017028 call clear_mem 
+0x6871 017029 fetch 3 ,mem_le_plap + 3 
+0x6872 017030 store 3 ,mem_le_prand 
+0x6873 017031 call genernate_master_macaddress 
+0x6874 017032 fetch 2 ,mem_le_aes_128 + 13 
+0x6875 017033 byteswap pdata ,pdata 
+0x6876 017034 lshift8 pdata ,temp 
+0x6877 017035 ifetch 1 ,contr 
+0x6878 017036 iadd temp ,pdata 
+0x6879 017037 fetcht 3 ,mem_le_plap 
+0x687a 017038 isub temp ,null 
+0x687b 017039 branch enable_user ,zero 
+0x687c 017040 rtn 
+:      017043 genernate_master_macaddress:
+0x687d 017044 arg mem_le_prand ,contr 
+0x687e 017045 call load_data128 
+0x687f 017047 ifetch 1 ,rega 
+0x6880 017048 call load_key128 
+0x6881 017049 force aes_big_endian | aes_load ,aes_ctrl 
+0x6882 017050 force 0 ,aes_ctrl 
+0x6883 017051 call wait_aes 
+0x6884 017052 arg mem_le_aes_128 ,contw 
+0x6885 017053 branch store_aes_result 
+:      017055 find_ediv_form_list_compare:
+0x6886 017056 ifetcht 1 ,rega 
+0x6887 017057 isub temp ,null 
+0x6888 017058 nrtn zero 
+0x6889 017059 copy contr ,rega 
+0x688a 017060 add contr ,8 ,regc 
+0x688b 017061 arg mem_le_rand ,regb 
+0x688c 017062 arg 8 ,loopcnt 
+0x688d 017063 call string_compare 
+0x688e 017064 branch enable_user ,zero 
+0x688f 017065 copy regc ,rega 
+0x6890 017066 arg mem_le_irk ,regb 
+0x6891 017067 arg 8 ,loopcnt 
+0x6892 017068 call string_compare 
+0x6893 017069 branch enable_user ,zero 
+0x6894 017070 rtn 
+:      017072 check_nvram:
+0x6895 017073 fetch 2 ,mem_nv_data_ptr 
+0x6896 017074 ifetcht 1 ,pdata 
+0x6897 017075 pincrease nv_data_len 
+0x6898 017076 ifetch 1 ,pdata 
+0x6899 017077 isub temp ,null 
+0x689a 017078 rtn 
+:      017080 init_device_list:
+0x689b 017081 fetch 1 ,mem_nv_data_number 
+0x689c 017082 icopy loopcnt 
+0x689d 017083 fetcht 2 ,mem_nv_data_ptr 
+0x689e 017084 setarg 0 
+:      017085 init_device_list_loop:
+0x689f 017086 istore 1 ,temp 
+0x68a0 017087 increase nv_data_len ,temp 
+0x68a1 017088 pincrease 1 
+0x68a2 017089 loop init_device_list_loop 
+0x68a3 017090 rtn 
+:      017092 load_device_list:
+0x68a4 017093 bpatchx patch29_7 ,mem_patch29 
+0x68a5 017094 call nvram_find_addr_from_bd_list 
+0x68a6 017095 fetch 1 ,mem_state 
+0x68a7 017096 setflag user ,state_combkey ,pdata 
+0x68a8 017097 store 1 ,mem_state 
+0x68a9 017098 nbranch clear_key_exists ,user 
+0x68aa 017099 add rega ,10 ,contr 
+0x68ab 017101 arg mem_link_key ,contw 
+0x68ac 017102 call memcpy16 
+0x68ad 017103 branch check_link_key_load 
+:      017104 clear_key_exists:
+0x68ae 017105 jam 0 ,mem_link_key_exists 
+0x68af 017106 rtn 
+:      017108 load_device_list_mode_4:
+0x68b0 017109 fetch 9 ,mem_le_ediv 
+0x68b1 017110 branch clear_ltk_exists ,blank 
+0x68b2 017111 call nvram_find_addr_from_bd_list 
+0x68b3 017112 nbranch clear_ltk_exists ,user 
+0x68b4 017113 fetch 2 ,mem_list_item_ptr 
+0x68b5 017114 add pdata ,1 ,contr 
+0x68b6 017115 arg mem_le_irk ,contw 
+0x68b7 017116 call memcpy16 
+0x68b8 017117 arg mem_le_ltk ,contw 
+0x68b9 017118 call memcpy16 
+0x68ba 017119 jam 1 ,mem_ltk_exists 
+0x68bb 017120 rtn 
+:      017122 clear_ltk_exists:
+0x68bc 017123 jam 0 ,mem_ltk_exists 
+0x68bd 017124 rtn 
+:      017129 check_link_key_load:
+0x68be 017130 fetch 8 ,mem_link_key 
+0x68bf 017131 fetcht 8 ,mem_link_key + 8 
+0x68c0 017132 ior temp ,pdata 
+0x68c1 017133 rtn blank 
+0x68c2 017134 jam 1 ,mem_link_key_exists 
+0x68c3 017135 rtn 
+:      017142 rfcomm_init:
+0x68c4 017143 rtn wake 
+0x68c5 017144 jam 0 ,mem_rfcomm_send_more_pkt 
+0x68c6 017145 jam bits9600 ,memremoterpnbitrate 
+0x68c7 017146 jam databits8 ,memremoteprndatabits 
+0x68c8 017147 jam 0x11 ,memremoteprnxon 
+0x68c9 017148 jam 0x13 ,memremoteprnxoff 
+0x68ca 017149 setarg 0 
+0x68cb 017150 store 3 ,memremoteprnstopbit 
+0x68cc 017151 store 1 ,mem_spp_state 
+0x68cd 017152 jam 0 ,memui_reconnect_mode 
+:      017154 rfcomm_init_spp:
+0x68ce 017155 bpatchx patch2a_0 ,mem_patch2a 
+0x68cf 017156 setarg 0 
+0x68d0 017157 store 1 ,mem_spp_state 
+0x68d1 017158 store 1 ,mem_remote_spp_channel 
+0x68d2 017159 store 1 ,mem_pn_dlci 
+0x68d3 017160 fetch 1 ,mem_credit_flag 
+0x68d4 017161 beq credit_enable ,rfcomm_init_spp_with_credit 
+0x68d5 017162 jam 0x50 ,mem_credit_given 
+0x68d6 017163 rtn 
+:      017165 rfcomm_init_spp_with_credit:
+0x68d7 017166 jam 0x00 ,mem_credit_given 
+0x68d8 017167 rtn 
+:      017169 set_cr_bit:
+0x68d9 017170 or_into 0x02 ,temp 
+0x68da 017171 rtn 
+:      017183 rfcomm_calculate_fcs_sabm:
+0x68db 017184 copy temp ,pdata 
+0x68dc 017185 reverse pdata ,pdata 
+0x68dd 017186 store 1 ,memfcstemp3 
+0x68de 017187 force ini_tx_sabm ,pdata 
+0x68df 017188 reverse pdata ,pdata 
+0x68e0 017189 store 1 ,memfcstemp2 
+0x68e1 017190 force 0x01 ,pdata 
+0x68e2 017191 reverse pdata ,pdata 
+0x68e3 017192 store 1 ,memfcstemp1 
+0x68e4 017193 call caculate_fcs 
+0x68e5 017194 copy temp ,pdata 
+0x68e6 017195 rtn 
+:      017196 rfcomm_calculate_fcs_ua:
+0x68e7 017197 reverse pdata ,pdata 
+0x68e8 017198 store 1 ,memfcstemp3 
+0x68e9 017199 force rsp_tx_ua ,pdata 
+0x68ea 017200 reverse pdata ,pdata 
+0x68eb 017201 store 1 ,memfcstemp2 
+0x68ec 017202 force 0x01 ,pdata 
+0x68ed 017203 reverse pdata ,pdata 
+0x68ee 017204 store 1 ,memfcstemp1 
+0x68ef 017205 branch caculate_fcs 
+:      017207 rfcomm_calculate_fcs_dlci0:
+0x68f0 017208 fetch 1 ,mem_rfcomm_initiator 
+0x68f1 017209 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+0x68f2 017210 setarg 0x70 
+0x68f3 017211 rtn 
+:      017212 rfcomm_calculate_fcs_dlci0_res:
+0x68f4 017213 setarg 0xaa 
+0x68f5 017214 rtn 
+:      017216 rfcomm_save_fcs_uih:
+0x68f6 017217 reverse pdata ,pdata 
+0x68f7 017218 store 1 ,memfcstemp3 
+0x68f8 017219 force rsp_rx_uih ,pdata 
+0x68f9 017220 call caculate_uihdata_fcs 
+0x68fa 017221 fetcht 2 ,mem_contw_temp 
+0x68fb 017222 copy temp ,contw 
+0x68fc 017223 istore 1 ,contw 
+0x68fd 017224 copy contw ,temp 
+0x68fe 017225 storet 2 ,mem_contw_temp 
+0x68ff 017226 force rsp_rx_uih_wdata ,pdata 
+0x6900 017227 call caculate_uihdata_fcs 
+0x6901 017228 fetcht 2 ,mem_contw_temp 
+0x6902 017229 copy temp ,contw 
+0x6903 017230 istore 1 ,contw 
+0x6904 017231 rtn 
+:      017240 caculate_uihdata_fcs:
+0x6905 017241 reverse pdata ,pdata 
+0x6906 017242 store 1 ,memfcstemp2 
+0x6907 017243 fetch 2 ,memfcstemp2 
+0x6908 017244 lshift8 pdata ,pdata 
+0x6909 017245 store 3 ,mem_mod2div_temp 
+0x690a 017246 arg 0x107 ,rega 
+0x690b 017247 arg 0xf ,regb 
+0x690c 017248 call mod2div 
+0x690d 017249 xor_into 0xd7 ,pdata 
+0x690e 017250 invert pdata ,pdata 
+0x690f 017251 reverse pdata ,pdata 
+0x6910 017252 rtn 
+:      017262 caculate_fcs:
+0x6911 017263 fetch 3 ,memfcstemp1 
+0x6912 017264 store 3 ,mem_mod2div_temp 
+0x6913 017265 arg 0x107 ,rega 
+0x6914 017266 arg 0xf ,regb 
+0x6915 017267 call mod2div 
+0x6916 017268 lshift8 pdata ,pdata 
+0x6917 017269 arg 0x7 ,regb 
+0x6918 017270 call mod2div 
+0x6919 017271 xor_into 0x2b ,pdata 
+0x691a 017272 invert pdata ,pdata 
+0x691b 017273 reverse pdata ,pdata 
+0x691c 017274 copy pdata ,temp 
+0x691d 017275 rtn 
+:      017277 mod2div:
+0x691e 017278 arg 0 ,regc 
+0x691f 017279 copy regb ,loopcnt 
+0x6920 017280 call right_shift_n 
+0x6921 017281 icopy temp 
+:      017282 mod2div_loop:
+0x6922 017287 copy temp ,pdata 
+0x6923 017288 lshift regc ,regc 
+0x6924 017289 bbit0 8 ,mod2div_not_enough_reduction 
+0x6925 017290 ixor rega ,temp 
+0x6926 017291 increase 1 ,regc 
+:      017292 mod2div_not_enough_reduction:
+0x6927 017293 lshift temp ,temp 
+0x6928 017294 fetch 3 ,mem_mod2div_temp 
+0x6929 017295 increase -1 ,regb 
+0x692a 017296 compare 0xff ,regb ,0xff 
+0x692b 017297 branch mod2div_end ,true 
+0x692c 017298 copy regb ,loopcnt 
+0x692d 017299 call right_shift_n 
+0x692e 017300 isolate1 0 ,pdata 
+0x692f 017301 setflag true ,0 ,temp 
+0x6930 017302 branch mod2div_loop 
+:      017303 mod2div_end:
+0x6931 017305 rshift temp ,pdata 
+0x6932 017306 rtn 
+:      017308 get_rfcomm_snd_adss:
+0x6933 017309 fetcht 1 ,mem_pn_dlci 
+:      017310 dlci_to_address_cmd:
+0x6934 017312 lshift2 temp ,temp 
+0x6935 017313 set1 rfcomm_address_ext_len ,temp 
+0x6936 017314 fetch 1 ,mem_rfcomm_initiator 
+0x6937 017315 ncall set_cr_bit ,blank 
+0x6938 017316 storet 1 ,mem_rfcomm_send_adss 
+0x6939 017317 rtn 
+:      017319 channel_to_dlci:
+0x693a 017321 lshift temp ,temp 
+0x693b 017322 fetch 1 ,mem_rfcomm_initiator 
+0x693c 017323 setflag blank ,0 ,temp 
+0x693d 017325 rtn 
+:      017326 rfcomm_rx_process_dlci0_sabm:
+0x693e 017327 fetcht 1 ,mem_current_channel 
+0x693f 017328 jam 0xd7 ,mem_current_fcs 
+0x6940 017329 call rfcomm_send_ua 
+0x6941 017330 fetch 1 ,mem_rfcomm_state 
+0x6942 017331 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6943 017332 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6944 017333 store 1 ,mem_rfcomm_state 
+0x6945 017334 jam 0 ,mem_rfcomm_initiator 
+0x6946 017335 branch rfcomm_rx_process_end 
+:      017336 rfcomm_rx_process_dlci0_ua:
+0x6947 017337 fetch 1 ,mem_rfcomm_state 
+0x6948 017338 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6949 017339 store 1 ,mem_rfcomm_state 
+0x694a 017340 branch rfcomm_rx_process_end 
+:      017343 rfcomm_rx_process:
+0x694b 017344 bpatchx patch2a_1 ,mem_patch2a 
+0x694c 017345 fetch 1 ,memui_reconnect_mode 
+0x694d 017346 beq no_reconnection ,rfcomm_rx_process_remote_page 
+0x694e 017347 branch rfcomm_rx_process_reconn 
+:      017349 rfcomm_rx_process_remote_page:
+0x694f 017350 fetch 2 ,mem_l2cap_payload_ptr 
+0x6950 017351 copy pdata ,contr 
+0x6951 017352 call get_rfcomm_head_struct 
+0x6952 017353 fetch 1 ,mem_current_channel 
+0x6953 017354 beq 0 ,parse_dlci0_rp 
+0x6954 017355 branch parse_uih_rp 
+:      017356 parse_dlci0_rp:
+0x6955 017357 bpatchx patch2a_2 ,mem_patch2a 
+0x6956 017358 fetch 1 ,mem_current_frame_type 
+0x6957 017359 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6958 017360 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6959 017361 beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+0x695a 017362 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+0x695b 017363 rtn 
+:      017366 parse_dlci0_rp_uih:
+0x695c 017367 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x695d 017368 copy pdata ,contr 
+0x695e 017369 call get_rfcomm_uih_head_struct 
+0x695f 017370 fetch 1 ,mem_uih_cmd_type 
+0x6960 017371 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+0x6961 017372 beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+0x6962 017373 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+0x6963 017374 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+0x6964 017375 beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+0x6965 017376 branch rfcomm_rx_process_end 
+:      017378 parse_dlci0_rp_uih_pn_cmd:
+0x6966 017379 call parse_dlci0_rp_uih_pn_res_common 
+0x6967 017381 branch parse_dlci0_rp_uih_pn_cmd_spp 
+:      017383 parse_dlci0_rp_uih_pn_cmd_spp:
+0x6968 017384 fetch 1 ,mem_spp_state 
+0x6969 017385 set1 rfcomm_channel_state_pn_cmd ,pdata 
+0x696a 017386 set1 rfcomm_channel_state_pn_res ,pdata 
+0x696b 017387 store 1 ,mem_spp_state 
+0x696c 017388 call rfcomm_send_param_neg_res 
+0x696d 017389 branch rfcomm_rx_process_end 
+:      017391 parse_dlci0_rp_uih_pn_res:
+0x696e 017392 call parse_dlci0_rp_uih_pn_res_common 
+0x696f 017393 branch rfcomm_rx_process_end 
+:      017395 parse_dlci0_rp_uih_pn_res_common:
+0x6970 017396 call get_param_payload_ptr 
+0x6971 017397 branch get_rfcomm_prarmer_negotiation 
+:      017399 get_rfcomm_param_modem_status:
+0x6972 017400 call get_param_payload_ptr 
+0x6973 017401 ifetch 1 ,contr 
+0x6974 017402 rshift3 pdata ,pdata 
+0x6975 017403 store 1 ,mem_ms_channel 
+0x6976 017404 ifetch 1 ,contr 
+0x6977 017405 store 1 ,mem_ms_param 
+0x6978 017406 rtn 
+:      017409 get_rfcomm_head_struct:
+0x6979 017410 ifetch 1 ,contr 
+0x697a 017411 store 1 ,mem_current_adss 
+0x697b 017412 rshift3 pdata ,pdata 
+0x697c 017413 store 1 ,mem_current_channel 
+0x697d 017414 ifetch 1 ,contr 
+0x697e 017415 store 1 ,mem_current_frame_type 
+:      017416 get_rfcomm_current_length:
+0x697f 017417 call get_rfcomm_length_common 
+0x6980 017418 storet 2 ,mem_current_length 
+0x6981 017419 copy contr ,pdata 
+0x6982 017420 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6983 017421 rtn 
+:      017423 get_rfcomm_uih_head_struct:
+0x6984 017424 ifetch 1 ,contr 
+0x6985 017425 rshift pdata ,pdata 
+0x6986 017426 store 1 ,mem_uih_cmd_type 
+0x6987 017427 call get_rfcomm_length_common 
+0x6988 017428 storet 2 ,mem_uih_length 
+0x6989 017429 copy contr ,pdata 
+0x698a 017430 store 2 ,mem_param_payload_ptr 
+0x698b 017431 rtn 
+:      017434 get_param_payload_ptr:
+0x698c 017435 fetch 2 ,mem_param_payload_ptr 
+0x698d 017436 copy pdata ,contr 
+0x698e 017437 rtn 
+:      017439 get_rfcomm_length_common:
+0x698f 017440 ifetch 1 ,contr 
+0x6990 017441 copy pdata ,temp 
+0x6991 017442 rshift temp ,temp 
+0x6992 017443 rtnbit1 0 
+0x6993 017444 ifetch 1 ,contr 
+0x6994 017445 lshift3 pdata ,pdata 
+0x6995 017446 lshift4 pdata ,pdata 
+0x6996 017447 iadd temp ,temp 
+0x6997 017448 rtn 
+:      017450 get_rfcomm_prarmer_negotiation:
+0x6998 017451 ifetch 1 ,contr 
+0x6999 017452 store 1 ,mem_pn_dlci 
+0x699a 017453 ifetch 1 ,contr 
+0x699b 017454 store 1 ,mem_pn_credit_flow_type_info 
+0x699c 017455 ifetch 1 ,contr 
+0x699d 017456 store 1 ,mem_pn_priority 
+0x699e 017457 ifetch 1 ,contr 
+0x699f 017458 store 1 ,mem_pn_acknowledg_timer 
+0x69a0 017459 ifetch 2 ,contr 
+0x69a1 017460 store 2 ,mem_pn_max_frame_size 
+0x69a2 017461 ifetch 1 ,contr 
+0x69a3 017462 store 1 ,mem_pn_max_retrans 
+0x69a4 017463 ifetch 1 ,contr 
+0x69a5 017464 store 1 ,mem_remote_credits 
+0x69a6 017465 rtn 
+:      017468 parse_dlci0_rp_uih_ms_cmd:
+0x69a7 017469 call get_rfcomm_param_modem_status 
+0x69a8 017471 branch parse_dlci0_rp_uih_ms_cmd_spp 
+:      017473 parse_dlci0_rp_uih_ms_cmd_spp:
+0x69a9 017474 fetch 1 ,mem_spp_state 
+0x69aa 017475 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x69ab 017476 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x69ac 017477 store 1 ,mem_spp_state 
+0x69ad 017478 fetcht 1 ,mem_pn_dlci 
+0x69ae 017479 lshift2 temp ,temp 
+0x69af 017480 or_into 3 ,temp 
+0x69b0 017481 call rfcomm_send_modem_status_res 
+0x69b1 017482 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+0x69b2 017483 branch rfcomm_rx_process_end 
+:      017485 parse_dlci0_rp_uih_ms_res:
+0x69b3 017486 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x69b4 017487 call ui_ipc_send_event 
+0x69b5 017488 call get_rfcomm_param_modem_status 
+0x69b6 017489 fetch 1 ,mem_ms_channel 
+0x69b7 017490 sub pdata ,1 ,null 
+0x69b8 017491 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+0x69b9 017492 branch assert 
+:      017493 parse_dlci0_rp_uih_ms_res_spp:
+0x69ba 017494 fetch 1 ,mem_spp_state 
+0x69bb 017495 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x69bc 017496 store 1 ,mem_spp_state 
+0x69bd 017497 branch rfcomm_rx_process_end 
+:      017499 parse_dlci0_rp_uih_cmd_port:
+0x69be 017500 call get_param_payload_ptr 
+0x69bf 017501 ifetch 1 ,contr 
+0x69c0 017502 store 1 ,mem_rpn_dlci 
+0x69c1 017503 call l2cap_malloc_rfcomm_channel 
+0x69c2 017504 call l2cap_get_rfcomm_tx_buff 
+0x69c3 017505 setarg 0x000e 
+0x69c4 017506 istore 2 ,contw 
+0x69c5 017507 fetch 2 ,mem_rfcomm_remote_cid 
+0x69c6 017508 istore 2 ,contw 
+0x69c7 017509 fetch 1 ,mem_rfcomm_initiator 
+0x69c8 017511 lshift pdata ,pdata 
+0x69c9 017512 set1 0 ,pdata 
+0x69ca 017513 istore 1 ,contw 
+0x69cb 017514 bpatchx patch2a_3 ,mem_patch2a 
+0x69cc 017515 setarg 0x15ef 
+0x69cd 017516 istore 2 ,contw 
+0x69ce 017517 setarg 0x1191 
+0x69cf 017518 istore 2 ,contw 
+0x69d0 017521 fetch 1 ,mem_rpn_dlci 
+0x69d1 017522 istore 1 ,contw 
+0x69d2 017523 setarg 0x000007 
+0x69d3 017524 istore 5 ,contw 
+0x69d4 017527 setarg 0x01 
+0x69d5 017528 istore 2 ,contw 
+0x69d6 017531 call rfcomm_calculate_fcs_dlci0 
+0x69d7 017532 istore 1 ,contw 
+0x69d8 017533 rtn 
+:      017537 parse_uih_rp:
+0x69d9 017538 branch parse_uih_rp_spp 
+:      017540 parse_uih_rp_spp:
+0x69da 017541 bpatchx patch2a_4 ,mem_patch2a 
+0x69db 017542 fetch 1 ,mem_current_frame_type 
+0x69dc 017543 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+0x69dd 017544 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+0x69de 017545 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x69df 017546 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x69e0 017547 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+0x69e1 017548 rtn 
+:      017549 parse_uih_rp_spp_ua:
+0x69e2 017550 fetch 1 ,mem_spp_state 
+0x69e3 017551 set1 rfcomm_channel_state_ua ,pdata 
+0x69e4 017552 store 1 ,mem_spp_state 
+0x69e5 017553 branch rfcomm_rx_process_end 
+:      017554 parse_uih_rp_spp_sabm:
+0x69e6 017555 fetch 1 ,mem_spp_state 
+0x69e7 017556 set1 rfcomm_channel_state_ua ,pdata 
+0x69e8 017557 set1 rfcomm_channel_state_sabm ,pdata 
+0x69e9 017558 store 1 ,mem_spp_state 
+0x69ea 017559 fetch 1 ,mem_current_adss 
+0x69eb 017560 call rfcomm_calculate_fcs_ua 
+0x69ec 017561 store 1 ,mem_current_fcs 
+0x69ed 017562 call rfcomm_send_ua 
+0x69ee 017563 fetch 1 ,mem_current_adss 
+0x69ef 017564 rshift2 pdata ,pdata 
+0x69f0 017565 store 1 ,mem_pn_dlci 
+0x69f1 017566 lshift2 pdata ,pdata 
+0x69f2 017567 set0 rfcomm_address_cr ,pdata 
+0x69f3 017568 set1 rfcomm_address_ext_len ,pdata 
+0x69f4 017569 arg mem_hiufcs_spp ,temp 
+0x69f5 017570 storet 2 ,mem_contw_temp 
+0x69f6 017571 call rfcomm_save_fcs_uih 
+0x69f7 017572 branch rfcomm_rx_process_end 
+:      017574 parse_uih_spp_uih_credits:
+0x69f8 017575 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x69f9 017576 copy pdata ,contr 
+0x69fa 017577 increase 1 ,pdata 
+0x69fb 017578 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x69fc 017579 ifetch 1 ,contr 
+0x69fd 017580 fetcht 1 ,mem_remote_credits 
+0x69fe 017581 iadd temp ,pdata 
+0x69ff 017582 store 1 ,mem_remote_credits 
+:      017583 parse_uih_spp_uih:
+0x6a00 017584 call rfcomm_increase_credit_given 
+:      017585 parse_uih_spp_uih_cont:
+0x6a01 017586 call get_rfcomm_snd_adss 
+0x6a02 017587 call rfcomm_send_uih_without_payload 
+0x6a03 017588 call spp_process_rx_data 
+0x6a04 017589 branch rfcomm_rx_process_end 
+:      017591 parse_uih_rp_spp_disconn_send_event:
+0x6a05 017592 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+0x6a06 017593 call ui_ipc_send_event 
+:      017594 parse_uih_rp_spp_disconn:
+0x6a07 017595 call rfcomm_init_spp 
+0x6a08 017596 fetch 1 ,mem_current_adss 
+0x6a09 017597 call rfcomm_calculate_fcs_ua 
+0x6a0a 017598 store 1 ,mem_current_fcs 
+0x6a0b 017599 call rfcomm_send_ua 
+0x6a0c 017600 branch rfcomm_rx_process_end 
+:      017605 rfcomm_rx_process_reconn:
+0x6a0d 017606 fetch 2 ,mem_l2cap_payload_ptr 
+0x6a0e 017607 copy pdata ,contr 
+0x6a0f 017608 call get_rfcomm_head_struct 
+0x6a10 017609 fetch 1 ,mem_current_channel 
+0x6a11 017610 beq 0 ,parse_dlci0_reconn 
+0x6a12 017611 branch parse_uih_reconn 
+:      017613 parse_dlci0_reconn:
+0x6a13 017614 bpatchx patch2a_5 ,mem_patch2a 
+0x6a14 017615 fetch 1 ,mem_current_frame_type 
+0x6a15 017616 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6a16 017617 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6a17 017618 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+0x6a18 017619 branch rfcomm_rx_process_end 
+:      017620 parse_dlci0_reconn_uih:
+0x6a19 017621 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6a1a 017622 copy pdata ,contr 
+0x6a1b 017623 call get_rfcomm_uih_head_struct 
+0x6a1c 017624 fetch 1 ,mem_uih_cmd_type 
+0x6a1d 017625 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+0x6a1e 017626 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+0x6a1f 017627 beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+0x6a20 017628 beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+0x6a21 017629 branch rfcomm_rx_process_end 
+:      017631 parse_dlci0_reconn_uih_pn_cmd:
+0x6a22 017632 call parse_dlci0_rp_uih_pn_res_common 
+0x6a23 017633 fetch 1 ,mem_pn_dlci 
+0x6a24 017634 rshift pdata ,pdata 
+0x6a25 017635 fetcht 1 ,mem_remote_spp_channel 
+0x6a26 017636 isub temp ,null 
+0x6a27 017637 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+0x6a28 017638 branch assert 
+:      017639 parse_dlci0_reconn_uih_pn_cmd_spp:
+0x6a29 017640 fetch 1 ,mem_spp_state 
+0x6a2a 017641 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6a2b 017642 store 1 ,mem_spp_state 
+0x6a2c 017643 branch rfcomm_rx_process_end 
+:      017645 parse_dlci0_reconn_uih_ms_cmd:
+0x6a2d 017646 call get_rfcomm_param_modem_status 
+0x6a2e 017647 fetch 1 ,mem_ms_channel 
+0x6a2f 017648 fetcht 1 ,mem_remote_spp_channel 
+0x6a30 017649 isub temp ,null 
+0x6a31 017650 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+0x6a32 017651 branch assert 
+0x6a33 017652 branch rfcomm_rx_process_end 
+:      017653 parse_dlci0_reconn_uih_ms_cmd_spp:
+0x6a34 017654 fetch 1 ,mem_spp_state 
+0x6a35 017655 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6a36 017656 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6a37 017657 store 1 ,mem_spp_state 
+0x6a38 017658 fetcht 1 ,mem_pn_dlci 
+0x6a39 017659 lshift2 temp ,temp 
+0x6a3a 017660 or_into 3 ,temp 
+0x6a3b 017661 call rfcomm_send_modem_status_res 
+0x6a3c 017662 branch rfcomm_rx_process_end 
+:      017664 parse_dlci0_reconn_uih_ms_res:
+0x6a3d 017665 call get_rfcomm_param_modem_status 
+0x6a3e 017666 fetch 1 ,mem_ms_channel 
+0x6a3f 017667 fetcht 1 ,mem_remote_spp_channel 
+0x6a40 017668 isub temp ,null 
+0x6a41 017669 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+0x6a42 017670 branch assert 
+:      017671 parse_dlci0_reconn_uih_ms_res_spp:
+0x6a43 017672 fetch 1 ,mem_spp_state 
+0x6a44 017673 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6a45 017674 store 1 ,mem_spp_state 
+0x6a46 017675 branch rfcomm_rx_process_end 
+:      017677 parse_uih_reconn:
+0x6a47 017678 fetch 1 ,mem_current_channel 
+0x6a48 017679 fetcht 1 ,mem_remote_spp_channel 
+0x6a49 017680 isub temp ,null 
+0x6a4a 017681 branch parse_uih_reconn_spp ,zero 
+0x6a4b 017682 branch assert 
+0x6a4c 017683 branch rfcomm_rx_process_end 
+:      017685 parse_uih_reconn_spp:
+0x6a4d 017686 fetch 1 ,mem_current_frame_type 
+0x6a4e 017687 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+0x6a4f 017688 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6a50 017689 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6a51 017690 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+:      017691 parse_uih_reconn_spp_ua:
+0x6a52 017692 fetch 1 ,mem_spp_state 
+0x6a53 017693 set1 rfcomm_channel_state_ua ,pdata 
+0x6a54 017694 store 1 ,mem_spp_state 
+0x6a55 017695 branch rfcomm_rx_process_end 
+:      017696 parse_uih_reconn_spp_sabm:
+0x6a56 017697 branch parse_uih_reconn_spp_sabm 
+:      017698 parse_uih_reconn_spp_disconn:
+0x6a57 017699 branch parse_uih_rp_spp_disconn 
+:      017700 rfcomm_rx_process_end:
+0x6a58 017701 rtn 
+:      017703 rfcomm_send_more_pkt:
+0x6a59 017704 fetch 1 ,mem_rfcomm_send_more_pkt 
+0x6a5a 017705 rtn blank 
+0x6a5b 017706 beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+0x6a5c 017707 branch assert 
+:      017709 rfcomm_send_more_pkt_msc_cmd_spp:
+0x6a5d 017710 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6a5e 017711 call l2cap_malloc_rfcomm_channel 
+0x6a5f 017712 arg spp_slave_channel ,temp 
+0x6a60 017713 fetcht 1 ,mem_pn_dlci 
+0x6a61 017714 lshift2 temp ,temp 
+:      017715 rfcomm_send_more_pkt_msc_cmd_spp0:
+0x6a62 017716 or_into 0x03 ,temp 
+0x6a63 017717 arg 0xaa ,rega 
+0x6a64 017718 call rfcomm_send_modem_status_cmd 
+0x6a65 017719 call l2cap_get_rfcomm_tx_buff 
+0x6a66 017720 copy contw ,contr 
+0x6a67 017721 ifetch 2 ,contr 
+0x6a68 017722 branch assert ,blank 
+0x6a69 017723 rtn 
+:      017725 rfcomm_send_sabm:
+0x6a6a 017726 call l2cap_get_rfcomm_tx_buff 
+0x6a6b 017727 setarg 0x0004 
+0x6a6c 017728 istore 2 ,contw 
+0x6a6d 017729 fetch 2 ,mem_rfcomm_remote_cid 
+0x6a6e 017730 istore 2 ,contw 
+0x6a6f 017731 fetch 1 ,mem_current_adss 
+0x6a70 017732 istore 1 ,contw 
+0x6a71 017733 bpatchx patch2a_6 ,mem_patch2a 
+0x6a72 017734 setarg 0x013f 
+0x6a73 017735 istore 2 ,contw 
+0x6a74 017736 fetch 1 ,mem_current_fcs 
+0x6a75 017737 istore 1 ,contw 
+0x6a76 017738 rtn 
+:      017739 rfcomm_send_ua:
+0x6a77 017740 call l2cap_malloc_rfcomm_channel 
+0x6a78 017741 call l2cap_get_rfcomm_tx_buff 
+0x6a79 017742 setarg 0x0004 
+0x6a7a 017743 istore 2 ,contw 
+0x6a7b 017744 fetch 2 ,mem_rfcomm_remote_cid 
+0x6a7c 017745 istore 2 ,contw 
+0x6a7d 017746 fetch 1 ,mem_current_adss 
+0x6a7e 017747 istore 1 ,contw 
+0x6a7f 017748 bpatchx patch2a_7 ,mem_patch2a 
+0x6a80 017749 setarg 0x0173 
+0x6a81 017750 istore 2 ,contw 
+0x6a82 017751 fetch 1 ,mem_current_fcs 
+0x6a83 017752 istore 1 ,contw 
+0x6a84 017753 rtn 
+:      017754 rfcomm_send_param_neg_cmd:
+0x6a85 017755 call l2cap_get_rfcomm_tx_buff 
+0x6a86 017756 setarg 0x000e 
+0x6a87 017757 istore 2 ,contw 
+0x6a88 017758 fetch 2 ,mem_rfcomm_remote_cid 
+0x6a89 017759 istore 2 ,contw 
+0x6a8a 017760 fetch 1 ,mem_rfcomm_initiator 
+0x6a8b 017761 lshift pdata ,pdata 
+0x6a8c 017762 set1 0 ,pdata 
+0x6a8d 017763 istore 1 ,contw 
+0x6a8e 017764 bpatchx patch2b_0 ,mem_patch2b 
+0x6a8f 017765 setarg 0x15ef 
+0x6a90 017766 istore 2 ,contw 
+0x6a91 017767 setarg 0x1183 
+0x6a92 017768 istore 2 ,contw 
+0x6a93 017769 copy temp ,pdata 
+0x6a94 017770 istore 1 ,contw 
+0x6a95 017771 setarg 0x0000f0 
+0x6a96 017772 istore 3 ,contw 
+0x6a97 017773 setarg rfcomm_max_frame_size 
+0x6a98 017774 istore 2 ,contw 
+0x6a99 017775 setarg 0 
+0x6a9a 017776 istore 1 ,contw 
+0x6a9b 017777 setarg 0x01 
+0x6a9c 017778 istore 1 ,contw 
+0x6a9d 017779 call rfcomm_calculate_fcs_dlci0 
+0x6a9e 017780 istore 1 ,contw 
+0x6a9f 017781 jam 0x10 ,mem_credit_given 
+0x6aa0 017782 rtn 
+:      017783 rfcomm_send_param_neg_res:
+0x6aa1 017784 call l2cap_malloc_rfcomm_channel 
+0x6aa2 017785 call l2cap_get_rfcomm_tx_buff 
+0x6aa3 017786 setarg 0x000e 
+0x6aa4 017787 istore 2 ,contw 
+0x6aa5 017788 fetch 2 ,mem_rfcomm_remote_cid 
+0x6aa6 017789 istore 2 ,contw 
+0x6aa7 017790 fetch 1 ,mem_rfcomm_initiator 
+0x6aa8 017791 lshift pdata ,pdata 
+0x6aa9 017792 set1 0 ,pdata 
+0x6aaa 017793 istore 1 ,contw 
+0x6aab 017794 bpatchx patch2b_1 ,mem_patch2b 
+0x6aac 017795 setarg 0x15ef 
+0x6aad 017796 istore 2 ,contw 
+0x6aae 017797 setarg 0x1181 
+0x6aaf 017798 istore 2 ,contw 
+0x6ab0 017799 fetch 1 ,mem_pn_dlci 
+0x6ab1 017800 istore 1 ,contw 
+0x6ab2 017801 setarg 0x0000e0 
+0x6ab3 017802 istore 3 ,contw 
+0x6ab4 017803 fetch 2 ,mem_rfcomm_max_frame_size 
+0x6ab5 017804 istore 2 ,contw 
+0x6ab6 017805 setarg 0x00 
+0x6ab7 017806 istore 1 ,contw 
+0x6ab8 017807 fetch 1 ,mem_rfcomm_credit_init_data 
+0x6ab9 017808 istore 1 ,contw 
+0x6aba 017809 call rfcomm_calculate_fcs_dlci0 
+0x6abb 017810 istore 1 ,contw 
+0x6abc 017811 rtn 
+:      017812 rfcomm_send_modem_status_cmd:
+0x6abd 017813 call l2cap_get_rfcomm_tx_buff 
+0x6abe 017814 setarg 0x0008 
+0x6abf 017815 istore 2 ,contw 
+0x6ac0 017816 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ac1 017817 istore 2 ,contw 
+0x6ac2 017818 fetch 1 ,mem_rfcomm_initiator 
+0x6ac3 017819 lshift pdata ,pdata 
+0x6ac4 017820 set1 0 ,pdata 
+0x6ac5 017821 istore 1 ,contw 
+0x6ac6 017822 bpatchx patch2b_2 ,mem_patch2b 
+0x6ac7 017823 setarg 0x09ef 
+0x6ac8 017824 istore 2 ,contw 
+0x6ac9 017825 setarg 0x05e3 
+0x6aca 017826 istore 2 ,contw 
+0x6acb 017827 copy temp ,pdata 
+0x6acc 017828 istore 1 ,contw 
+0x6acd 017829 setarg 0x8d 
+0x6ace 017830 istore 1 ,contw 
+0x6acf 017831 call rfcomm_calculate_fcs_dlci0 
+0x6ad0 017832 istore 1 ,contw 
+0x6ad1 017833 rtn 
+:      017835 rfcomm_send_modem_status_res:
+0x6ad2 017836 call l2cap_malloc_rfcomm_channel 
+0x6ad3 017837 call l2cap_get_rfcomm_tx_buff 
+0x6ad4 017838 setarg 0x0008 
+0x6ad5 017839 istore 2 ,contw 
+0x6ad6 017840 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ad7 017841 istore 2 ,contw 
+0x6ad8 017842 copy temp ,timeup 
+0x6ad9 017843 fetch 1 ,mem_rfcomm_initiator 
+0x6ada 017844 lshift pdata ,pdata 
+0x6adb 017845 set1 0 ,pdata 
+0x6adc 017846 istore 1 ,contw 
+0x6add 017847 bpatchx patch2b_3 ,mem_patch2b 
+0x6ade 017848 setarg 0x09ef 
+0x6adf 017849 istore 2 ,contw 
+0x6ae0 017850 setarg 0x05e1 
+0x6ae1 017851 istore 2 ,contw 
+0x6ae2 017852 copy timeup ,pdata 
+0x6ae3 017853 istore 1 ,contw 
+0x6ae4 017854 setarg 0x8d 
+0x6ae5 017855 istore 1 ,contw 
+0x6ae6 017856 call rfcomm_calculate_fcs_dlci0 
+0x6ae7 017857 istore 1 ,contw 
+0x6ae8 017858 rtn 
+:      017860 rfcomm_send_uih_without_payload:
+0x6ae9 017861 bpatchx patch2b_4 ,mem_patch2b 
+0x6aea 017862 fetch 1 ,mem_credit_given 
+0x6aeb 017863 rtn blank 
+0x6aec 017866 copy rega ,pdata 
+0x6aed 017867 store 1 ,mem_pdatatemp + 1 
+0x6aee 017868 storet 1 ,mem_pdatatemp 
+0x6aef 017869 call l2cap_malloc_is_fifo_full 
+0x6af0 017870 nrtn blank 
+0x6af1 017871 call l2cap_malloc_rfcomm_channel 
+0x6af2 017872 call l2cap_get_rfcomm_tx_buff 
+0x6af3 017873 setarg 0x05 
+0x6af4 017874 istore 2 ,contw 
+0x6af5 017875 fetch 2 ,mem_rfcomm_remote_cid 
+0x6af6 017876 istore 2 ,contw 
+0x6af7 017877 fetch 1 ,mem_rfcomm_send_adss 
+0x6af8 017878 istore 1 ,contw 
+0x6af9 017879 setarg 0x01ff 
+0x6afa 017880 istore 2 ,contw 
+0x6afb 017881 fetch 1 ,mem_credit_given 
+0x6afc 017882 istore 1 ,contw 
+0x6afd 017883 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6afe 017884 istore 1 ,contw 
+0x6aff 017885 jam 0 ,mem_credit_given 
+0x6b00 017886 rtn 
+:      017888 rfcomm_increase_credit_given:
+0x6b01 017889 bpatchx patch2b_5 ,mem_patch2b 
+0x6b02 017890 fetch 1 ,mem_credit_flag 
+0x6b03 017891 rtneq credit_enable 
+0x6b04 017892 fetch 2 ,mem_current_length 
+0x6b05 017893 rtn blank 
+0x6b06 017894 fetch 1 ,mem_credit_given 
+0x6b07 017895 increase 1 ,pdata 
+0x6b08 017896 store 1 ,mem_credit_given 
+0x6b09 017897 rtn 
+:      017899 spp_process_rx_data:
+0x6b0a 017900 fetch 2 ,mem_cb_receive_spp_data 
+0x6b0b 017901 branch callback_func 
+:      017903 spp_tx_rfcomm_packet:
+0x6b0c 017904 bpatchx patch2b_6 ,mem_patch2b 
+0x6b0d 017906 fetch 1 ,mem_remote_credits 
+0x6b0e 017907 rtn blank 
+0x6b0f 017908 increase -1 ,pdata 
+0x6b10 017909 store 1 ,mem_remote_credits 
+0x6b11 017910 fetch 2 ,mem_pn_max_frame_size 
+0x6b12 017911 fetcht 2 ,mem_current_packet_length 
+0x6b13 017912 isub temp ,null 
+0x6b14 017913 branch ssp_tx_rfcomm_from_uart ,positive 
+0x6b15 017914 store 2 ,mem_current_packet_length 
+:      017915 ssp_tx_rfcomm_from_uart:
+0x6b16 017916 fetch 1 ,mem_credit_given 
+0x6b17 017917 branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+0x6b18 017918 jam 1 ,mem_rfcomm_send_offset 
+0x6b19 017919 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6b1a 017920 store 1 ,mem_rfcomm_send_fcs 
+0x6b1b 017921 setarg rsp_rx_uih_wdata 
+0x6b1c 017922 store 1 ,mem_rfcomm_send_frame_type 
+0x6b1d 017923 branch ssp_tx_rfcomm_from_uart_common 
+:      017924 ssp_tx_rfcomm_from_uart_without_credit:
+0x6b1e 017925 jam 0 ,mem_rfcomm_send_offset 
+0x6b1f 017926 fetch 1 ,mem_hiufcs_spp 
+0x6b20 017927 store 1 ,mem_rfcomm_send_fcs 
+0x6b21 017928 setarg rsp_tx_uih 
+0x6b22 017929 store 1 ,mem_rfcomm_send_frame_type 
+:      017930 ssp_tx_rfcomm_from_uart_common:
+0x6b23 017931 bpatchx patch2b_7 ,mem_patch2b 
+0x6b24 017932 fetch 2 ,mem_current_packet_length 
+0x6b25 017933 sub pdata ,127 ,null 
+0x6b26 017934 branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+0x6b27 017935 fetch 1 ,mem_rfcomm_send_offset 
+0x6b28 017936 increase 1 ,pdata 
+0x6b29 017937 store 1 ,mem_rfcomm_send_offset 
+:      017938 ssp_tx_rfcomm_from_uart_common0:
+0x6b2a 017939 call get_rfcomm_snd_adss 
+0x6b2b 017940 fetch 2 ,mem_current_packet_length 
+0x6b2c 017941 increase 8 ,pdata 
+0x6b2d 017942 fetcht 1 ,mem_rfcomm_send_offset 
+0x6b2e 017943 iadd temp ,rega 
+0x6b2f 017945 call l2cap_malloc 
+0x6b30 017946 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x6b31 017947 increase 4 ,pdata 
+0x6b32 017948 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x6b33 017949 copy pdata ,contw 
+0x6b34 017950 fetch 1 ,mem_rfcomm_send_adss 
+0x6b35 017951 istore 1 ,contw 
+0x6b36 017952 fetch 1 ,mem_rfcomm_send_frame_type 
+0x6b37 017953 istore 1 ,contw 
+0x6b38 017954 call ssp_tx_write_length 
+0x6b39 017955 call ssp_tx_write_given_credit 
+0x6b3a 017956 bpatchx patch2c_0 ,mem_patch2c 
+0x6b3b 017957 fetch 2 ,mem_nl_rx_data_src 
+0x6b3c 017958 copy pdata ,contru 
+0x6b3d 017959 fetch 2 ,mem_current_packet_length 
+0x6b3e 017960 copy pdata ,loopcnt 
+0x6b3f 017961 call uart_copy_rx_bytes_fast 
+0x6b40 017962 copy contw ,temp 
+0x6b41 017963 copy contru ,pdata 
+0x6b42 017964 store 2 ,mem_nl_rx_data_src 
+0x6b43 017965 copy temp ,contw 
+0x6b44 017966 fetch 1 ,mem_rfcomm_send_fcs 
+0x6b45 017967 istore 1 ,contw 
+0x6b46 017968 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x6b47 017969 copy pdata ,contw 
+0x6b48 017970 fetch 2 ,mem_current_packet_length 
+0x6b49 017971 fetcht 1 ,mem_rfcomm_send_offset 
+0x6b4a 017972 iadd temp ,pdata 
+0x6b4b 017973 increase 4 ,pdata 
+0x6b4c 017974 istore 2 ,contw 
+0x6b4d 017975 fetch 2 ,mem_rfcomm_remote_cid 
+0x6b4e 017976 istore 2 ,contw 
+0x6b4f 017977 jam 0 ,mem_credit_given 
+0x6b50 017978 fetch 2 ,mem_nl_rx_len_all 
+0x6b51 017979 beq 0 ,module_hci_command_tx_spp_tx_complete 
+0x6b52 017980 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x6b53 017981 rtn 
+:      017983 ssp_tx_write_length:
+0x6b54 017984 bpatchx patch2c_1 ,mem_patch2c 
+0x6b55 017985 fetch 2 ,mem_current_packet_length 
+0x6b56 017986 sub pdata ,0x7f ,null 
+0x6b57 017987 nbranch ssp_tx_write_long_packet ,positive 
+0x6b58 017988 lshift pdata ,pdata 
+0x6b59 017989 set1 0 ,pdata 
+0x6b5a 017990 istore 1 ,contw 
+0x6b5b 017991 rtn 
+:      017992 ssp_tx_write_long_packet:
+0x6b5c 017993 fetch 2 ,mem_current_packet_length 
+0x6b5d 017994 rshift3 pdata ,pdata 
+0x6b5e 017995 rshift4 pdata ,temp 
+0x6b5f 017996 and_into 0x7f ,pdata 
+0x6b60 017997 lshift pdata ,pdata 
+0x6b61 017998 set0 0 ,pdata 
+0x6b62 017999 istore 1 ,contw 
+0x6b63 018000 istoret 1 ,contw 
+0x6b64 018001 rtn 
+:      018002 ssp_tx_write_given_credit:
+0x6b65 018003 fetch 1 ,mem_credit_given 
+0x6b66 018004 rtn blank 
+0x6b67 018005 istore 1 ,contw 
+0x6b68 018006 rtn 
+:      018011 scheduler_process:
+0x6b69 018012 bpatchx patch2c_2 ,mem_patch2c 
+0x6b6a 018013 call check_51cmd 
+0x6b6b 018014 call app_process_bb_event 
+0x6b6c 018015 call process_conn_sm 
+0x6b6d 018017 bpatchx patch2c_3 ,mem_patch2c 
+0x6b6e 018018 call sp_calc_sequence 
+0x6b6f 018019 call simple_pairing_sequence 
+0x6b70 018020 call master_simple_paring_sequence 
+0x6b71 018023 call l2cap_malloc_is_fifo_full 
+0x6b72 018024 nrtn blank 
+0x6b73 018026 call l2cap_call_proc_sigal_pending 
+0x6b74 018027 call l2cap_malloc_is_fifo_full 
+0x6b75 018028 nrtn blank 
+0x6b76 018029 bpatchx patch2c_4 ,mem_patch2c 
+0x6b77 018031 call process_upper_sm 
+0x6b78 018032 call l2cap_send_config_req 
+0x6b79 018033 call rfcomm_send_more_pkt 
+:      018034 scheduler_process0:
+0x6b7a 018035 call scheduler_tx_disconnect_hid 
+0x6b7b 018036 bpatchx patch2c_5 ,mem_patch2c 
+0x6b7c 018039 branch app_process_bt 
+:      018041 scheduler_tx_disconnect_hid:
+0x6b7d 018042 fetch 1 ,mem_control_tasks 
+0x6b7e 018043 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+0x6b7f 018044 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+0x6b80 018045 rtn 
+:      018047 scheduler_tx_l2cap_pkt:
+0x6b81 018048 bpatchx patch2c_6 ,mem_patch2c 
+0x6b82 018049 call l2cap_malloc_is_fifo_empty 
+0x6b83 018050 rtn blank 
+0x6b84 018051 fetch 1 ,mem_op 
+0x6b85 018052 rtnbit1 op_txl2cap 
+0x6b86 018053 call l2cap_malloc_fifo_out 
+0x6b87 018054 store 2 ,mem_txptr 
+0x6b88 018055 copy pdata ,contr 
+0x6b89 018056 ifetch 2 ,contr 
+0x6b8a 018057 increase 4 ,pdata 
+0x6b8b 018058 store 2 ,mem_tx_len 
+0x6b8c 018059 jam 6 ,mem_tx_lch 
+0x6b8d 018060 bpatchx patch2c_7 ,mem_patch2c 
+0x6b8e 018061 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6b8f 018062 branch scheduler_tx_l2cap_start_pkt ,blank 
+0x6b90 018063 fetch 1 ,mem_op 
+0x6b91 018064 rtnbit0 op_pkt_comp 
+0x6b92 018065 set0 op_pkt_comp ,pdata 
+0x6b93 018066 store 1 ,mem_op 
+0x6b94 018067 jam 5 ,mem_tx_lch 
+0x6b95 018068 fetcht 2 ,mem_l2cap_tx_multi_offset 
+0x6b96 018069 fetch 2 ,mem_txptr 
+0x6b97 018070 iadd temp ,pdata 
+0x6b98 018071 store 2 ,mem_txptr 
+0x6b99 018072 fetch 2 ,mem_tx_len 
+0x6b9a 018073 isub temp ,pdata 
+0x6b9b 018074 store 2 ,mem_tx_len 
+:      018075 scheduler_tx_l2cap_start_pkt:
+0x6b9c 018076 bpatchx patch2d_0 ,mem_patch2d 
+0x6b9d 018077 fetch 2 ,mem_tx_len 
+0x6b9e 018078 branch assert ,blank 
+0x6b9f 018079 arg l2cap_max_pkt_len ,temp 
+0x6ba0 018080 isub temp ,pdata 
+0x6ba1 018081 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+0x6ba2 018082 bpatchx patch2d_1 ,mem_patch2d 
+0x6ba3 018083 storet 2 ,mem_tx_len 
+0x6ba4 018084 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6ba5 018085 iadd temp ,pdata 
+0x6ba6 018086 store 2 ,mem_l2cap_tx_multi_offset 
+0x6ba7 018087 branch scheduler_tx_l2cap_pkt_end 
+:      018088 scheduler_tx_l2cap_last_pkt:
+0x6ba8 018089 setarg 0 
+0x6ba9 018090 store 2 ,mem_l2cap_tx_multi_offset 
+:      018091 scheduler_tx_l2cap_pkt_end:
+0x6baa 018092 fetch 1 ,mem_op 
+0x6bab 018093 set1 op_txl2cap ,pdata 
+0x6bac 018094 store 1 ,mem_op 
+0x6bad 018095 rtn 
+:      018097 scheduler_start_upper_sm:
+0x6bae 018098 fetch 1 ,mem_ui_profile_supported 
+0x6baf 018099 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+0x6bb0 018100 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+0x6bb1 018101 rtn 
+:      018102 scheduler_start_upper_sm_hid:
+0x6bb2 018103 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6bb3 018104 rtn 
+:      018106 process_upper_sm:
+0x6bb4 018107 fetch 1 ,memui_reconnect_mode 
+0x6bb5 018108 nbranch process_upper_sm_reconn ,blank 
+:      018109 process_upper_sm_remote_page:
+0x6bb6 018110 fetch 1 ,mem_upper_sm_remote_page 
+0x6bb7 018112 rtn blank 
+0x6bb8 018114 jam 0 ,mem_upper_sm_remote_page 
+:      018115 process_upper_sm_rp_wait:
+0x6bb9 018116 rtn 
+:      018119 process_upper_sm_reconn:
+0x6bba 018120 bpatchx patch2d_2 ,mem_patch2d 
+0x6bbb 018121 fetch 1 ,mem_upper_sm_reconn 
+0x6bbc 018122 rtn blank 
+0x6bbd 018123 beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+0x6bbe 018124 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+0x6bbf 018125 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+0x6bc0 018126 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+0x6bc1 018127 beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+0x6bc2 018128 beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+0x6bc3 018129 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+0x6bc4 018130 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+0x6bc5 018131 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+0x6bc6 018132 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+0x6bc7 018133 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+0x6bc8 018134 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+0x6bc9 018135 beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+0x6bca 018136 beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+0x6bcb 018137 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+0x6bcc 018138 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+0x6bcd 018139 beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+0x6bce 018140 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+0x6bcf 018141 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+0x6bd0 018142 beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+0x6bd1 018143 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+0x6bd2 018144 beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+0x6bd3 018145 beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+0x6bd4 018146 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+0x6bd5 018147 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+0x6bd6 018148 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+0x6bd7 018149 beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+0x6bd8 018150 beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+:      018151 process_upper_sm_reconn_wait:
+0x6bd9 018152 rtn 
+:      018153 process_upper_sm_reconn_sdp_conn:
+0x6bda 018154 call upper_sm_send_sdp_conn 
+0x6bdb 018155 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+0x6bdc 018156 fetch 1 ,mem_sdp_state 
+0x6bdd 018157 set1 l2cap_channel_state_conn_req ,pdata 
+0x6bde 018158 store 1 ,mem_sdp_state 
+0x6bdf 018159 rtn 
+:      018160 process_upper_sm_reconn_sdp_cfg:
+0x6be0 018161 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6be1 018162 fetch 1 ,mem_sdp_state 
+0x6be2 018163 rtnbit1 l2cap_channel_state_snd_cfg_req 
+0x6be3 018164 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6be4 018165 call upper_sm_send_sdp_cfg 
+0x6be5 018166 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6be6 018167 fetch 1 ,mem_sdp_state 
+0x6be7 018168 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6be8 018169 store 1 ,mem_sdp_state 
+0x6be9 018170 rtn 
+:      018171 process_upper_sm_reconn_ss_spp:
+0x6bea 018172 call l2cap_malloc_is_fifo_empty 
+0x6beb 018173 nrtn blank 
+0x6bec 018174 call upper_sm_send_ss_spp 
+0x6bed 018175 jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+0x6bee 018176 rtn 
+:      018177 process_upper_sm_reconn_sdp_disconn:
+0x6bef 018178 call upper_sm_send_sdp_disconn 
+0x6bf0 018179 jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+0x6bf1 018180 rtn 
+:      018181 process_upper_sm_reconn_hid_ctrl_conn:
+0x6bf2 018182 call upper_sm_send_hid_ctrl_conn 
+0x6bf3 018183 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+0x6bf4 018184 fetch 1 ,mem_hid_control_state 
+0x6bf5 018185 set1 l2cap_channel_state_conn_req ,pdata 
+0x6bf6 018186 store 1 ,mem_hid_control_state 
+0x6bf7 018187 rtn 
+:      018188 process_upper_sm_reconn_hid_ctrl_cfg:
+0x6bf8 018189 call upper_sm_send_hid_ctrl_cfg 
+0x6bf9 018190 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+0x6bfa 018191 fetch 1 ,mem_hid_control_state 
+0x6bfb 018192 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6bfc 018193 store 1 ,mem_hid_control_state 
+0x6bfd 018194 rtn 
+:      018195 process_upper_sm_reconn_hid_int_conn:
+0x6bfe 018196 call upper_sm_send_hid_int_conn 
+0x6bff 018197 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+0x6c00 018198 fetch 1 ,mem_hid_interrupt_state 
+0x6c01 018199 set1 l2cap_channel_state_conn_req ,pdata 
+0x6c02 018200 store 1 ,mem_hid_interrupt_state 
+0x6c03 018201 rtn 
+:      018202 process_upper_sm_reconn_hid_int_cfg:
+0x6c04 018203 call upper_sm_send_hid_int_cfg 
+0x6c05 018204 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+0x6c06 018205 fetch 1 ,mem_hid_interrupt_state 
+0x6c07 018206 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6c08 018207 store 1 ,mem_hid_interrupt_state 
+0x6c09 018208 rtn 
+:      018209 process_upper_sm_reconn_rfcomm_conn:
+0x6c0a 018210 call upper_sm_send_rfcomm_conn 
+0x6c0b 018211 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+0x6c0c 018212 fetch 1 ,mem_rfcomm_state 
+0x6c0d 018213 set1 l2cap_channel_state_conn_req ,pdata 
+0x6c0e 018214 store 1 ,mem_rfcomm_state 
+0x6c0f 018215 rtn 
+:      018216 process_upper_sm_reconn_rfcomm_cfg:
+0x6c10 018217 call upper_sm_send_rfcomm_cfg 
+0x6c11 018218 jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+0x6c12 018219 fetch 1 ,mem_rfcomm_state 
+0x6c13 018220 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6c14 018221 store 1 ,mem_rfcomm_state 
+0x6c15 018222 rtn 
+:      018223 process_upper_sm_reconn_rfcomm_sabm:
+0x6c16 018224 call upper_sm_send_rfcomm_sabm 
+0x6c17 018225 jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+0x6c18 018226 fetch 1 ,mem_rfcomm_state 
+0x6c19 018227 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6c1a 018228 store 1 ,mem_rfcomm_state 
+0x6c1b 018229 rtn 
+:      018230 process_upper_sm_reconn_spp_cmd_pn:
+0x6c1c 018231 call upper_sm_send_spp_cmd_pn 
+0x6c1d 018232 fetch 1 ,mem_spp_state 
+0x6c1e 018233 set1 rfcomm_channel_state_pn_cmd 
+0x6c1f 018234 store 1 ,mem_spp_state 
+0x6c20 018235 jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+0x6c21 018236 rtn 
+:      018237 process_upper_sm_reconn_spp_sabm:
+0x6c22 018238 call upper_sm_send_spp_sabm 
+0x6c23 018239 fetch 1 ,mem_spp_state 
+0x6c24 018240 set1 rfcomm_channel_state_sabm 
+0x6c25 018241 store 1 ,mem_spp_state 
+0x6c26 018242 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+0x6c27 018243 fetch 1 ,mem_remote_spp_channel 
+0x6c28 018244 lshift3 pdata ,pdata 
+0x6c29 018245 or_into 3 ,pdata 
+0x6c2a 018246 arg mem_hiufcs_spp ,temp 
+0x6c2b 018247 storet 2 ,mem_contw_temp 
+0x6c2c 018248 branch rfcomm_save_fcs_uih 
+:      018249 process_upper_sm_reconn_spp_cmd_ms:
+0x6c2d 018250 call upper_sm_send_spp_cmd_ms 
+0x6c2e 018251 fetch 1 ,mem_spp_state 
+0x6c2f 018252 set1 rfcomm_channel_state_snd_ms_cmd 
+0x6c30 018253 store 1 ,mem_spp_state 
+0x6c31 018254 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+0x6c32 018255 rtn 
+:      018257 process_upper_sm_reconn_sdp_conn_wait:
+0x6c33 018258 fetch 1 ,mem_sdp_state 
+0x6c34 018259 rtnbit0 l2cap_channel_state_conn_res 
+0x6c35 018260 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6c36 018261 branch process_upper_sm_reconn 
+:      018262 process_upper_sm_reconn_sdp_cfg_wait:
+0x6c37 018263 fetch 1 ,mem_sdp_state 
+0x6c38 018264 rtnne l2cap_channel_setup_complete 
+0x6c39 018265 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+:      018266 process_upper_sm_reconn_ss_spp_wait:
+0x6c3a 018267 fetch 1 ,mem_message_to_uppersm 
+0x6c3b 018268 rtnne recieve_ss_reasult_hf 
+0x6c3c 018269 jam 0 ,mem_message_to_uppersm 
+0x6c3d 018270 jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+0x6c3e 018271 branch process_upper_sm_reconn 
+:      018272 process_upper_sm_reconn_sdp_disconn_wait:
+0x6c3f 018273 fetch 1 ,mem_sdp_state 
+0x6c40 018274 nrtn blank 
+0x6c41 018275 fetch 1 ,mem_ui_profile_supported 
+0x6c42 018276 bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+0x6c43 018277 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6c44 018278 branch process_upper_sm_reconn_termination 
+:      018279 process_upper_sm_reconn_hid_ctrl_conn_wait:
+0x6c45 018280 fetch 1 ,mem_hid_control_state 
+0x6c46 018281 rtnbit0 l2cap_channel_state_conn_res 
+0x6c47 018282 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+0x6c48 018283 branch process_upper_sm_reconn 
+:      018284 process_upper_sm_reconn_hid_ctrl_cfg_wait:
+0x6c49 018285 fetch 1 ,mem_hid_control_state 
+0x6c4a 018286 rtnne l2cap_channel_setup_complete 
+0x6c4b 018287 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+0x6c4c 018288 branch process_upper_sm_reconn 
+:      018289 process_upper_sm_reconn_hid_int_conn_wait:
+0x6c4d 018290 fetch 1 ,mem_hid_interrupt_state 
+0x6c4e 018291 rtnbit0 l2cap_channel_state_conn_res 
+0x6c4f 018292 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+0x6c50 018293 branch process_upper_sm_reconn 
+:      018294 process_upper_sm_reconn_hid_int_cfg_wait:
+0x6c51 018295 fetch 1 ,mem_hid_interrupt_state 
+0x6c52 018296 rtnne l2cap_channel_setup_complete 
+0x6c53 018297 fetch 1 ,mem_ui_profile_supported 
+0x6c54 018298 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6c55 018299 branch process_upper_sm_reconn_termination 
+:      018300 process_upper_sm_reconn_rfcomm_conn_wait:
+0x6c56 018301 fetch 1 ,mem_rfcomm_state 
+0x6c57 018302 rtnbit0 l2cap_channel_state_conn_res 
+0x6c58 018303 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+0x6c59 018304 branch process_upper_sm_reconn 
+:      018305 process_upper_sm_reconn_rfcomm_cfg_wait:
+0x6c5a 018306 fetch 1 ,mem_rfcomm_state 
+0x6c5b 018307 rtnne l2cap_channel_setup_complete 
+0x6c5c 018308 jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+0x6c5d 018309 branch process_upper_sm_reconn 
+:      018310 process_upper_sm_reconn_rfcomm_sabm_wait:
+0x6c5e 018311 fetch 1 ,mem_rfcomm_state 
+0x6c5f 018312 rtnne l2cap_channel_rfcomm_dlci0_opened 
+0x6c60 018313 fetch 1 ,mem_ui_profile_supported 
+0x6c61 018314 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+0x6c62 018315 branch process_upper_sm_reconn_termination 
+:      018316 process_upper_sm_reconn_spp_cmd_pn_wait:
+0x6c63 018317 fetch 1 ,mem_spp_state 
+0x6c64 018318 rtnbit0 rfcomm_channel_state_pn_res 
+0x6c65 018319 jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+0x6c66 018320 branch process_upper_sm_reconn 
+:      018321 process_upper_sm_reconn_spp_sabm_wait:
+0x6c67 018322 fetch 1 ,mem_spp_state 
+0x6c68 018323 rtnbit0 rfcomm_channel_state_ua 
+0x6c69 018324 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+0x6c6a 018325 branch process_upper_sm_reconn 
+:      018326 process_upper_sm_reconn_spp_cmd_ms_wait:
+0x6c6b 018327 fetch 1 ,mem_spp_state 
+0x6c6c 018328 rtnne rfcomm_channel_setup_complete 
+0x6c6d 018329 branch process_upper_sm_reconn_termination 
+:      018331 process_upper_sm_reconn_setup_hid:
+0x6c6e 018332 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6c6f 018333 branch process_upper_sm_reconn 
+:      018335 process_upper_sm_reconn_setup_rfcomm:
+0x6c70 018336 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+0x6c71 018337 branch process_upper_sm_reconn 
+:      018338 process_upper_sm_reconn_setup_spp:
+0x6c72 018339 jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+0x6c73 018340 branch process_upper_sm_reconn 
+:      018344 process_upper_sm_reconn_termination:
+0x6c74 018345 jam 0 ,mem_upper_sm_reconn 
+0x6c75 018346 rtn 
+:      018347 upper_sm_send_sdp_conn:
+0x6c76 018348 bpatchx patch2d_3 ,mem_patch2d 
+0x6c77 018349 call l2cap_malloc_signal_channel 
+0x6c78 018350 setarg psm_sdp 
+0x6c79 018351 copy pdata ,temp 
+0x6c7a 018352 setarg l2cap_sdp_channel 
+0x6c7b 018353 copy pdata ,timeup 
+0x6c7c 018354 branch ml2cap_send_signal_connect_req 
+:      018356 upper_sm_send_sdp_cfg:
+0x6c7d 018357 bpatchx patch2d_4 ,mem_patch2d 
+0x6c7e 018358 call l2cap_malloc_signal_channel 
+0x6c7f 018359 fetch 2 ,mem_sdp_remote_cid 
+0x6c80 018360 copy pdata ,temp 
+0x6c81 018361 branch ml2cap_send_signal_config_req 
+:      018363 upper_sm_send_sdp_disconn:
+0x6c82 018364 bpatchx patch2d_5 ,mem_patch2d 
+0x6c83 018365 call l2cap_malloc_signal_channel 
+0x6c84 018366 fetch 2 ,mem_sdp_remote_cid 
+0x6c85 018367 copy pdata ,temp 
+0x6c86 018368 arg l2cap_sdp_channel ,timeup 
+0x6c87 018369 call ml2cap_send_signal_disconn_req 
+0x6c88 018370 fetch 1 ,mem_sdp_state 
+0x6c89 018371 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x6c8a 018372 store 1 ,mem_sdp_state 
+0x6c8b 018373 rtn 
+:      018375 upper_sm_send_ss_spp:
+0x6c8c 018376 bpatchx patch2d_6 ,mem_patch2d 
+0x6c8d 018377 call l2cap_malloc_sdp_channel 
+0x6c8e 018378 call sdp_send_spp_request 
+0x6c8f 018379 branch msdp_send_req_done 
+:      018381 upper_sm_send_rfcomm_conn:
+0x6c90 018382 bpatchx patch2d_7 ,mem_patch2d 
+0x6c91 018383 call l2cap_malloc_signal_channel 
+0x6c92 018384 setarg psm_rfcomm 
+0x6c93 018385 copy pdata ,temp 
+0x6c94 018386 setarg l2cap_rfcomm_channel 
+0x6c95 018387 copy pdata ,timeup 
+0x6c96 018388 branch ml2cap_send_signal_connect_req 
+:      018390 upper_sm_send_rfcomm_cfg:
+0x6c97 018391 bpatchx patch2e_0 ,mem_patch2e 
+0x6c98 018392 call l2cap_malloc_signal_channel 
+0x6c99 018393 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c9a 018394 copy pdata ,temp 
+0x6c9b 018395 branch ml2cap_send_signal_config_req 
+:      018397 upper_sm_send_hid_ctrl_conn:
+0x6c9c 018398 bpatchx patch2e_1 ,mem_patch2e 
+0x6c9d 018399 call l2cap_malloc_signal_channel 
+0x6c9e 018400 setarg psm_hid_control 
+0x6c9f 018401 copy pdata ,temp 
+0x6ca0 018402 setarg l2cap_hid_control_channel 
+0x6ca1 018403 copy pdata ,timeup 
+0x6ca2 018404 branch ml2cap_send_signal_connect_req 
+:      018406 upper_sm_send_hid_ctrl_cfg:
+0x6ca3 018407 bpatchx patch2e_2 ,mem_patch2e 
+0x6ca4 018408 call l2cap_malloc_signal_channel 
+0x6ca5 018409 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x6ca6 018410 copy pdata ,temp 
+0x6ca7 018411 branch ml2cap_send_signal_config_req 
+:      018413 upper_sm_send_hid_int_conn:
+0x6ca8 018414 bpatchx patch2e_3 ,mem_patch2e 
+0x6ca9 018415 call l2cap_malloc_signal_channel 
+0x6caa 018416 setarg psm_hid_interrupt 
+0x6cab 018417 copy pdata ,temp 
+0x6cac 018418 setarg l2cap_hid_interrupt_channel 
+0x6cad 018419 copy pdata ,timeup 
+0x6cae 018420 branch ml2cap_send_signal_connect_req 
+:      018422 upper_sm_send_hid_int_cfg:
+0x6caf 018423 bpatchx patch2e_4 ,mem_patch2e 
+0x6cb0 018424 call l2cap_malloc_signal_channel 
+0x6cb1 018425 fetch 2 ,mem_hid_int_remote_cid 
+0x6cb2 018426 copy pdata ,temp 
+0x6cb3 018427 branch ml2cap_send_signal_config_req 
+:      018429 upper_sm_send_rfcomm_sabm:
+0x6cb4 018430 bpatchx patch2e_5 ,mem_patch2e 
+0x6cb5 018431 call l2cap_malloc_rfcomm_channel 
+0x6cb6 018433 jam 3 ,mem_current_adss 
+0x6cb7 018434 jam 0x1c ,mem_current_fcs 
+0x6cb8 018435 call rfcomm_send_sabm 
+0x6cb9 018436 jam 1 ,mem_rfcomm_initiator 
+0x6cba 018437 rtn 
+:      018439 upper_sm_send_spp_cmd_pn:
+0x6cbb 018440 bpatchx patch2e_6 ,mem_patch2e 
+0x6cbc 018441 call l2cap_malloc_rfcomm_channel 
+0x6cbd 018442 fetcht 1 ,mem_remote_spp_channel 
+0x6cbe 018443 call channel_to_dlci 
+0x6cbf 018444 storet 1 ,mem_pn_dlci 
+0x6cc0 018445 branch rfcomm_send_param_neg_cmd 
+:      018447 upper_sm_send_spp_sabm:
+0x6cc1 018448 bpatchx patch2e_7 ,mem_patch2e 
+0x6cc2 018449 call l2cap_malloc_rfcomm_channel 
+0x6cc3 018450 fetcht 1 ,mem_pn_dlci 
+0x6cc4 018451 call dlci_to_address_cmd 
+0x6cc5 018452 call rfcomm_calculate_fcs_sabm 
+0x6cc6 018453 store 1 ,mem_current_fcs 
+0x6cc7 018454 fetcht 1 ,mem_pn_dlci 
+0x6cc8 018455 call dlci_to_address_cmd 
+0x6cc9 018456 storet 1 ,mem_current_adss 
+0x6cca 018457 branch rfcomm_send_sabm 
+:      018459 upper_sm_send_spp_cmd_ms:
+0x6ccb 018460 bpatchx patch2f_0 ,mem_patch2f 
+0x6ccc 018461 call l2cap_malloc_rfcomm_channel 
+0x6ccd 018462 fetcht 1 ,mem_pn_dlci 
+0x6cce 018463 call dlci_to_address_cmd 
+0x6ccf 018464 branch rfcomm_send_modem_status_cmd 
+:      018477 sdp_process:
+0x6cd0 018478 bpatchx patch2f_1 ,mem_patch2f 
+0x6cd1 018479 fetch 2 ,mem_l2cap_payload_ptr 
+0x6cd2 018480 iforce contr 
+0x6cd3 018483 ifetch 1 ,contr 
+0x6cd4 018484 copy pdata ,regb 
+0x6cd5 018485 store 1 ,mem_sdp_pduid 
+0x6cd6 018486 ifetch 2 ,contr 
+0x6cd7 018487 store 2 ,mem_sdp_transactionid 
+0x6cd8 018488 ifetch 1 ,contr 
+0x6cd9 018489 lshift8 pdata ,timeup 
+0x6cda 018490 ifetch 1 ,contr 
+0x6cdb 018491 iadd timeup ,timeup 
+0x6cdc 018492 bpatchx patch2f_2 ,mem_patch2f 
+0x6cdd 018493 copy contr ,temp 
+0x6cde 018494 arg 4 ,loopcnt 
+0x6cdf 018495 arg mem_sdp_handle_list ,contw 
+0x6ce0 018496 call memset0 
+0x6ce1 018497 copy temp ,contr 
+0x6ce2 018498 deposit regb 
+0x6ce3 018499 beq sdp_error_res ,sdp_process_error_res 
+0x6ce4 018500 beq sdp_search_req ,sdp_process_ss_req 
+0x6ce5 018501 beq sdp_search_res ,sdp_process_ss_res 
+0x6ce6 018502 beq sdp_attribute_req ,sdp_process_sa_req 
+0x6ce7 018503 beq sdp_attribute_res ,sdp_process_sa_res 
+0x6ce8 018504 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+0x6ce9 018505 beq sdp_searchattrib_res ,sdp_process_ssa_res 
+0x6cea 018506 branch sdp_insufficient_resource 
+:      018517 sdp_process_ss_req:
+0x6ceb 018518 bpatchx patch2f_3 ,mem_patch2f 
+0x6cec 018519 call ask_serviceclassid 
+0x6ced 018520 compare 1 ,temp ,0xff 
+0x6cee 018521 branch ss_empty_rsp ,true 
+0x6cef 018522 compare 0xff ,temp ,0xff 
+0x6cf0 018523 branch sdp_invalid_request_syntax ,true 
+0x6cf1 018525 ifetch 2 ,contr 
+0x6cf2 018526 store 2 ,mem_sdp_record_maxcnt 
+0x6cf3 018527 increase -2 ,timeup 
+0x6cf4 018529 increase -1 ,timeup 
+0x6cf5 018530 nbranch sdp_invalid_pdu_size ,zero 
+0x6cf6 018531 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6cf7 018532 ifetch 2 ,timeup 
+0x6cf8 018533 rtn blank 
+0x6cf9 018534 call search_all_uuid 
+0x6cfa 018535 call l2cap_get_sdp_tx_payload 
+0x6cfb 018536 force 3 ,pdata 
+0x6cfc 018537 istore 1 ,contw 
+0x6cfd 018538 fetch 2 ,mem_sdp_transactionid 
+0x6cfe 018539 istore 2 ,contw 
+0x6cff 018540 lshift2 queue ,pdata 
+0x6d00 018541 add pdata ,5 ,pdata 
+0x6d01 018542 add pdata ,5 ,regc 
+0x6d02 018543 byteswap pdata ,pdata 
+0x6d03 018544 istore 2 ,contw 
+0x6d04 018545 deposit queue 
+0x6d05 018546 byteswap pdata ,pdata 
+0x6d06 018547 istore 2 ,contw 
+0x6d07 018548 istore 2 ,contw 
+0x6d08 018549 arg mem_sdp_handle_list ,contr 
+0x6d09 018550 copy queue ,loopcnt 
+0x6d0a 018551 branch ss_req_blank ,zero 
+:      018552 ss_req_loop:
+0x6d0b 018553 ifetch 4 ,contr 
+0x6d0c 018554 istore 4 ,contw 
+0x6d0d 018555 loop ss_req_loop 
+:      018556 ss_req_blank:
+0x6d0e 018557 force 0 ,pdata 
+0x6d0f 018558 istore 1 ,contw 
+0x6d10 018559 deposit regc 
+0x6d11 018560 store 2 ,mem_sdp_tx_pkt_length 
+0x6d12 018562 rtn 
+:      018573 sdp_process_sa_req:
+0x6d13 018574 bpatchx patch2f_4 ,mem_patch2f 
+0x6d14 018575 ifetch 4 ,contr 
+0x6d15 018576 store 4 ,mem_sdp_record_handle 
+0x6d16 018577 increase -4 ,timeup 
+0x6d17 018578 call sdp_store_maxbyte 
+0x6d18 018579 store 2 ,mem_sdp_attribute_maxbyte 
+0x6d19 018580 increase -2 ,timeup 
+0x6d1a 018581 call dataelementtype6 
+0x6d1b 018582 branch sdp_invalid_request_syntax ,zero 
+0x6d1c 018583 compare 5 ,rega ,0xff 
+0x6d1d 018585 branch sa_judge_wholerange ,true 
+:      018586 sa_isnot_wholerange:
+0x6d1e 018587 arg mem_sdp_attrib_list ,contw 
+0x6d1f 018588 force 0 ,queue 
+0x6d20 018589 branch sa_req_loop 
+:      018590 sa_judge_wholerange:
+0x6d21 018591 ifetch 1 ,contr 
+0x6d22 018592 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+0x6d23 018593 ifetch 2 ,contr 
+0x6d24 018594 nbranch sa_judge_wholerange_false1 ,blank 
+0x6d25 018595 ifetch 1 ,contr 
+0x6d26 018596 bne 0xff ,sa_judge_wholerange_false2 
+0x6d27 018597 ifetch 1 ,contr 
+0x6d28 018598 bne 0xff ,sa_judge_wholerange_false3 
+0x6d29 018599 branch sa_req_all 
+:      018600 sa_judge_wholerange_false3:
+0x6d2a 018601 increase -5 ,contr 
+0x6d2b 018602 branch sa_isnot_wholerange 
+:      018603 sa_judge_wholerange_false2:
+0x6d2c 018604 increase -4 ,contr 
+0x6d2d 018605 branch sa_isnot_wholerange 
+:      018606 sa_judge_wholerange_false1:
+0x6d2e 018607 increase -3 ,contr 
+0x6d2f 018608 branch sa_isnot_wholerange 
+:      018609 sa_req_loop:
+0x6d30 018610 ifetch 1 ,contr 
+0x6d31 018611 beq sdp_attribute_id ,sa_req_one_id 
+0x6d32 018612 beq sdp_attribute_range ,sa_req_range 
+:      018613 sa_req_range:
+0x6d33 018614 ifetch 2 ,contr 
+0x6d34 018615 istore 2 ,contw 
+0x6d35 018616 increase 1 ,queue 
+0x6d36 018617 byteswap pdata ,regb 
+0x6d37 018618 ifetch 2 ,contr 
+0x6d38 018619 byteswap pdata ,pdata 
+:      018620 sa_req_range_id_increase:
+0x6d39 018621 increase 1 ,regb 
+0x6d3a 018622 isub regb ,null 
+0x6d3b 018623 nbranch sa_req_range_id_finish ,positive 
+0x6d3c 018624 copy pdata ,regc 
+0x6d3d 018625 byteswap regb ,pdata 
+0x6d3e 018626 istore 2 ,contw 
+0x6d3f 018627 increase 1 ,queue 
+0x6d40 018628 copy regc ,pdata 
+0x6d41 018629 branch sa_req_range_id_increase 
+:      018630 sa_req_range_id_finish:
+0x6d42 018631 increase -5 ,timeup 
+0x6d43 018632 increase -5 ,rega 
+0x6d44 018633 branch sa_req_check_next_id 
+:      018634 sa_req_one_id:
+0x6d45 018635 ifetch 2 ,contr 
+0x6d46 018636 istore 2 ,contw 
+0x6d47 018637 increase 1 ,queue 
+0x6d48 018638 increase -3 ,timeup 
+0x6d49 018639 increase -3 ,rega 
+:      018640 sa_req_check_next_id:
+0x6d4a 018641 nbranch sdp_invalid_request_syntax ,positive 
+0x6d4b 018642 nbranch sa_req_loop ,zero 
+0x6d4c 018643 increase -1 ,timeup 
+0x6d4d 018644 nbranch sdp_invalid_request_syntax ,zero 
+0x6d4e 018646 call l2cap_get_sdp_tx_payload 
+0x6d4f 018647 increase 10 ,contw 
+0x6d50 018648 arg mem_sdp_attrib_list ,rega 
+:      018649 sa_req_handle_attributelist_next:
+0x6d51 018650 copy queue ,pdata 
+0x6d52 018651 branch sa_req_handle_attributelist_end ,blank 
+0x6d53 018652 ifetch 2 ,rega 
+0x6d54 018653 branch sa_req_handle_attributelist_end ,blank 
+0x6d55 018654 iforce regb 
+0x6d56 018655 fetch 4 ,mem_sdp_record_handle 
+0x6d57 018656 iforce temp 
+0x6d58 018657 call search_handle_attrib 
+0x6d59 018658 copy contr ,pdata 
+0x6d5a 018659 branch sa_req_handle_attributelist_notfound ,blank 
+0x6d5b 018660 increase -3 ,contr 
+0x6d5c 018661 ifetch 3 ,contr 
+0x6d5d 018662 istore 3 ,contw 
+0x6d5e 018663 call sdp_data_len 
+0x6d5f 018664 iforce loopcnt 
+0x6d60 018665 call memcpy 
+:      018666 sa_req_handle_attributelist_notfound:
+0x6d61 018667 increase 2 ,rega 
+0x6d62 018668 increase -1 ,queue 
+0x6d63 018669 branch sa_req_handle_attributelist_next 
+:      018671 sa_req_handle_attributelist_end:
+0x6d64 018672 arg sdp_attribute_res ,rega 
+0x6d65 018673 call ssa_req_range_lastfreg_common 
+0x6d66 018674 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6d67 018675 beq 11 ,sa_empty_rsp 
+0x6d68 018676 branch ssa_req_range_attrbutes_length_no_continue 
+:      018679 sdp_store_continue_common:
+0x6d69 018680 ifetch 1 ,contr 
+0x6d6a 018681 beq 0 ,sdp_store_continue_0byte 
+0x6d6b 018682 beq 1 ,sdp_store_continue_1byte 
+0x6d6c 018683 beq 2 ,sdp_store_continue_2byte 
+:      018684 sdp_store_continue_0byte:
+0x6d6d 018685 increase -1 ,timeup 
+0x6d6e 018686 branch sdp_store_continue_end 
+:      018687 sdp_store_continue_1byte:
+0x6d6f 018688 ifetch 1 ,contr 
+0x6d70 018689 increase -2 ,timeup 
+0x6d71 018690 branch sdp_store_continue_end 
+:      018691 sdp_store_continue_2byte:
+0x6d72 018692 ifetch 2 ,contr 
+0x6d73 018693 byteswap pdata ,pdata 
+0x6d74 018694 increase -3 ,timeup 
+:      018695 sdp_store_continue_end:
+0x6d75 018696 store 2 ,mem_sdp_continue_byte 
+0x6d76 018697 rtn 
+:      018699 sa_req_all:
+0x6d77 018700 increase -5 ,timeup 
+0x6d78 018701 call sdp_store_continue_common 
+0x6d79 018702 nbranch sdp_invalid_pdu_size ,zero 
+0x6d7a 018703 fetcht 4 ,mem_sdp_record_handle 
+0x6d7b 018704 call search_handle 
+0x6d7c 018705 nbranch sdp_invalid_service_record_handle ,zero 
+0x6d7d 018706 copy contr ,rega 
+0x6d7e 018707 call l2cap_get_sdp_tx_payload 
+0x6d7f 018708 copy rega ,contr 
+0x6d80 018709 increase 3 ,contw 
+0x6d81 018710 copy contr ,timeup 
+0x6d82 018711 call sdp_get_data 
+0x6d83 018712 copy pdata ,rega 
+0x6d84 018714 fetch 2 ,mem_sdp_continue_byte 
+0x6d85 018715 copy pdata ,regb 
+0x6d86 018716 copy rega ,pdata 
+0x6d87 018717 isub regb ,regb 
+0x6d88 018718 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6d89 018719 isub regb ,null 
+0x6d8a 018720 nbranch sa_req_all_fragment_sdp ,positive 
+0x6d8b 018722 disable user 
+0x6d8c 018723 fetch 2 ,mem_sdp_continue_byte 
+0x6d8d 018724 branch sa_req_all_fisrt_fragment ,blank 
+0x6d8e 018725 iadd timeup ,contr 
+0x6d8f 018726 increase 3 ,regb 
+0x6d90 018727 copy regb ,loopcnt 
+0x6d91 018728 copy loopcnt ,pdata 
+0x6d92 018729 increase 3 ,pdata 
+0x6d93 018730 byteswap pdata ,pdata 
+0x6d94 018731 istore 2 ,contw 
+0x6d95 018732 copy loopcnt ,pdata 
+0x6d96 018733 byteswap pdata ,pdata 
+0x6d97 018734 istore 2 ,contw 
+0x6d98 018735 branch sa_req_all_answer_attributelist_full_loop 
+:      018736 sa_req_all_fisrt_fragment:
+0x6d99 018737 add rega ,6 ,loopcnt 
+0x6d9a 018738 branch sa_req_all_parlength_continue_byte ,user 
+0x6d9b 018739 byteswap loopcnt ,pdata 
+0x6d9c 018740 branch sa_req_all_parlength_continue_byte_end 
+:      018741 sa_req_all_parlength_continue_byte:
+0x6d9d 018742 copy loopcnt ,pdata 
+0x6d9e 018743 increase 2 ,pdata 
+0x6d9f 018744 byteswap pdata ,pdata 
+:      018745 sa_req_all_parlength_continue_byte_end:
+0x6da0 018746 istore 2 ,contw 
+0x6da1 018747 increase -3 ,loopcnt 
+0x6da2 018748 byteswap loopcnt ,pdata 
+0x6da3 018749 istore 2 ,contw 
+0x6da4 018750 copy timeup ,contr 
+0x6da5 018751 branch sa_req_all_answer_attributelist_full_loop 
+:      018752 sa_req_all_fragment_sdp:
+0x6da6 018753 enable user 
+0x6da7 018755 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6da8 018756 copy pdata ,rega 
+0x6da9 018757 copy rega ,loopcnt 
+0x6daa 018758 fetch 2 ,mem_sdp_continue_byte 
+0x6dab 018759 branch sa_req_all_fisrt_fragment ,blank 
+0x6dac 018760 iadd timeup ,contr 
+0x6dad 018761 copy rega ,pdata 
+0x6dae 018762 increase 5 ,pdata 
+0x6daf 018763 byteswap pdata ,pdata 
+0x6db0 018764 istore 2 ,contw 
+0x6db1 018765 copy rega ,pdata 
+0x6db2 018766 byteswap pdata ,pdata 
+0x6db3 018767 istore 2 ,contw 
+:      018768 sa_req_all_answer_attributelist_full_loop:
+0x6db4 018769 call memcpy 
+0x6db5 018770 nbranch sa_req_all_last_frag_continue ,user 
+0x6db6 018771 force 2 ,pdata 
+0x6db7 018772 istore 1 ,contw 
+0x6db8 018773 copy contr ,pdata 
+0x6db9 018774 isub timeup ,pdata 
+0x6dba 018775 byteswap pdata ,pdata 
+0x6dbb 018776 istore 2 ,contw 
+0x6dbc 018777 branch sa_req_all_frag_end 
+:      018778 sa_req_all_last_frag_continue:
+0x6dbd 018779 force 0 ,pdata 
+0x6dbe 018780 istore 1 ,contw 
+:      018781 sa_req_all_frag_end:
+0x6dbf 018782 arg sdp_attribute_res ,rega 
+0x6dc0 018783 branch ssa_req_range_common 
+:      018794 sdp_process_ssa_req:
+0x6dc1 018795 bpatchx patch2f_5 ,mem_patch2f 
+0x6dc2 018796 call ask_serviceclassid 
+0x6dc3 018797 compare 0xff ,temp ,0xff 
+0x6dc4 018798 branch sdp_invalid_request_syntax ,true 
+0x6dc5 018799 call sdp_store_maxbyte 
+0x6dc6 018800 store 2 ,mem_sdp_attribute_maxbyte 
+0x6dc7 018801 increase -2 ,timeup 
+0x6dc8 018802 call dataelementtype6 
+0x6dc9 018803 arg mem_sdp_attrib_list ,contw 
+0x6dca 018804 force 0 ,queue 
+:      018805 ssa_req_loop:
+0x6dcb 018806 ifetch 1 ,contr 
+0x6dcc 018807 beq sdp_attribute_range ,ssa_req_range 
+0x6dcd 018808 ifetch 2 ,contr 
+0x6dce 018809 istore 2 ,contw 
+0x6dcf 018810 increase 1 ,queue 
+0x6dd0 018811 increase -3 ,timeup 
+0x6dd1 018812 increase -3 ,rega 
+0x6dd2 018813 nbranch sdp_invalid_request_syntax ,positive 
+0x6dd3 018814 nbranch ssa_req_loop ,zero 
+0x6dd4 018815 increase -1 ,timeup 
+0x6dd5 018816 nbranch sdp_invalid_request_syntax ,zero 
+0x6dd6 018817 call l2cap_get_sdp_tx_payload 
+0x6dd7 018818 increase 13 ,contw 
+0x6dd8 018819 fetch 2 ,mem_sdp_uuid_search_ptr 
+0x6dd9 018820 iforce regc 
+0x6dda 018821 arg mem_sdp_attrib_list ,rega 
+:      018822 ssa_req_attributelist_next:
+0x6ddb 018823 ifetch 2 ,rega 
+0x6ddc 018824 branch ssa_req_attributelist_end ,blank 
+0x6ddd 018825 iforce regb 
+0x6dde 018826 call search_attrib 
+0x6ddf 018827 branch ssa_req_attributelist_notfound ,blank 
+0x6de0 018828 increase -3 ,contr 
+0x6de1 018829 ifetch 3 ,contr 
+0x6de2 018830 istore 3 ,contw 
+0x6de3 018831 call sdp_data_len 
+0x6de4 018832 iforce loopcnt 
+0x6de5 018833 call memcpy 
+:      018834 ssa_req_attributelist_notfound:
+0x6de6 018835 increase 2 ,rega 
+0x6de7 018836 branch ssa_req_attributelist_next 
+:      018838 ssa_req_attributelist_end:
+0x6de8 018839 call ssa_req_range_lastfreg 
+0x6de9 018840 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6dea 018841 beq 14 ,ssa_empty_rsp 
+0x6deb 018842 call ssa_req_range_attrbutes_length_no_continue 
+0x6dec 018843 branch ssa_req_range_attrbutes_length_no_continue 
+:      018846 sdp_store_maxbyte:
+0x6ded 018847 ifetch 2 ,contr 
+0x6dee 018848 byteswap pdata ,pdata 
+0x6def 018849 increase -3 ,pdata 
+0x6df0 018850 arg 200 ,temp 
+0x6df1 018851 isub temp ,null 
+0x6df2 018852 nrtn positive 
+0x6df3 018853 setarg 200 
+0x6df4 018854 rtn 
+:      018857 ssa_req_range:
+0x6df5 018858 increase 4 ,contr 
+0x6df6 018859 increase -5 ,timeup 
+0x6df7 018860 increase -5 ,rega 
+0x6df8 018861 nbranch sdp_invalid_request_syntax ,zero 
+0x6df9 018862 call sdp_store_continue_common 
+0x6dfa 018863 nbranch sdp_invalid_pdu_size ,zero 
+0x6dfb 018864 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6dfc 018865 call search_all_uuid 
+0x6dfd 018866 deposit queue 
+0x6dfe 018867 branch ssa_empty_rsp ,blank 
+0x6dff 018868 store 1 ,mem_handle_humber 
+0x6e00 018870 copy regb ,pdata 
+0x6e01 018871 store 2 ,mem_sdp_all_length 
+0x6e02 018872 arg 0 ,queue 
+0x6e03 018873 arg 0 ,rega 
+0x6e04 018874 call l2cap_get_sdp_tx_payload 
+0x6e05 018875 increase 10 ,contw 
+:      018876 ssa_req_range_find_handle:
+0x6e06 018877 call ssa_req_range_get_length 
+0x6e07 018878 nbranch assert ,user 
+0x6e08 018879 copy contr ,timeup 
+0x6e09 018880 copy pdata ,regc 
+0x6e0a 018881 iadd rega ,rega 
+0x6e0b 018884 fetch 2 ,mem_sdp_continue_byte 
+0x6e0c 018885 copy pdata ,regb 
+0x6e0d 018886 branch ssa_req_range_first_freg ,blank 
+:      018887 ssa_req_range_later_freg_with_continue:
+0x6e0e 018888 copy rega ,pdata 
+0x6e0f 018889 isub regb ,regb 
+0x6e10 018890 branch ssa_req_range_next_handle ,zero 
+0x6e11 018891 nbranch ssa_req_range_next_handle ,positive 
+0x6e12 018892 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6e13 018893 isub regb ,null 
+0x6e14 018894 branch ssa_req_range_maxbyte_with_continue ,zero 
+0x6e15 018895 nbranch ssa_req_range_maxbyte_with_continue ,positive 
+:      018898 ssa_req_range_send_not_maxbyte:
+0x6e16 018899 copy regb ,loopcnt 
+0x6e17 018900 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6e18 018901 fetch 1 ,mem_handle_humber 
+0x6e19 018902 increase 1 ,queue 
+0x6e1a 018903 isub queue ,null 
+0x6e1b 018904 branch ssa_req_range_lastfreg ,zero 
+0x6e1c 018905 branch ssa_req_range_freg_with_continue 
+:      018907 ssa_req_range_maxbyte_with_continue:
+0x6e1d 018908 copy pdata ,loopcnt 
+0x6e1e 018909 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6e1f 018910 branch ssa_req_range_freg_with_continue 
+:      018912 ssa_req_range_maxbyte_with_continue_cpy:
+0x6e20 018913 increase -3 ,contw 
+0x6e21 018914 copy loopcnt ,temp 
+0x6e22 018915 copy regc ,pdata 
+0x6e23 018916 isub regb ,pdata 
+0x6e24 018917 iadd timeup ,contr 
+0x6e25 018918 branch memcpy 
+:      018920 ssa_req_range_next_handle:
+0x6e26 018921 fetch 1 ,mem_handle_humber 
+0x6e27 018922 increase 1 ,queue 
+0x6e28 018923 isub queue ,null 
+0x6e29 018924 rtn zero 
+0x6e2a 018925 branch ssa_req_range_find_handle 
+:      018927 ssa_req_range_get_length:
+0x6e2b 018928 call disable_user 
+0x6e2c 018929 arg mem_sdp_handle_list ,contr 
+0x6e2d 018930 lshift2 queue ,pdata 
+0x6e2e 018931 iadd contr ,contr 
+0x6e2f 018932 ifetcht 4 ,contr 
+0x6e30 018933 call search_handle 
+0x6e31 018934 nrtn zero 
+0x6e32 018935 call sdp_data_len 
+0x6e33 018936 branch enable_user 
+:      018938 ssa_req_range_first_freg:
+0x6e34 018939 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6e35 018940 isub rega ,null 
+0x6e36 018941 nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+0x6e37 018942 copy rega ,loopcnt 
+0x6e38 018943 copy loopcnt ,temp 
+0x6e39 018944 copy timeup ,contr 
+0x6e3a 018945 call memcpy 
+0x6e3b 018946 fetch 2 ,mem_sdp_all_length 
+0x6e3c 018947 isub rega ,null 
+0x6e3d 018948 branch ssa_req_range_freg_no_continue ,zero 
+:      018949 ssa_req_range_firstfreg_not_maxbyte_with_continue:
+0x6e3e 018950 call ssa_req_range_freg_with_continue 
+0x6e3f 018951 branch ssa_req_range_attrbutes_length 
+:      018953 ssa_req_range_freg_no_continue:
+0x6e40 018954 call ssa_req_range_lastfreg 
+0x6e41 018955 branch ssa_req_range_attrbutes_length 
+:      018957 ssa_req_range_lastfreg:
+0x6e42 018958 arg sdp_searchattrib_res ,rega 
+:      018959 ssa_req_range_lastfreg_common:
+0x6e43 018960 force 0 ,pdata 
+0x6e44 018961 istore 1 ,contw 
+0x6e45 018962 call ssa_req_range_common 
+0x6e46 018963 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6e47 018964 increase -5 ,temp 
+0x6e48 018965 byteswap temp ,pdata 
+0x6e49 018966 istore 2 ,contw 
+0x6e4a 018967 increase -3 ,temp 
+0x6e4b 018968 byteswap temp ,pdata 
+0x6e4c 018969 istore 2 ,contw 
+0x6e4d 018970 rtn 
+:      018972 ssa_req_range_firstfreg_maxbyte_with_continue:
+0x6e4e 018973 copy pdata ,loopcnt 
+0x6e4f 018974 copy loopcnt ,temp 
+0x6e50 018975 copy timeup ,contr 
+0x6e51 018976 call memcpy 
+0x6e52 018977 call ssa_req_range_freg_with_continue 
+:      018978 ssa_req_range_attrbutes_length:
+0x6e53 018979 setarg 0x36 
+0x6e54 018980 istore 1 ,contw 
+0x6e55 018981 fetch 2 ,mem_sdp_all_length 
+0x6e56 018982 byteswap pdata ,pdata 
+0x6e57 018983 istore 2 ,contw 
+0x6e58 018984 rtn 
+:      018986 ssa_req_range_attrbutes_length_no_continue:
+0x6e59 018987 setarg 0x36 
+0x6e5a 018988 istore 1 ,contw 
+0x6e5b 018989 increase -3 ,temp 
+0x6e5c 018990 byteswap temp ,pdata 
+0x6e5d 018991 istore 2 ,contw 
+0x6e5e 018992 rtn 
+:      018994 ssa_req_range_freg_with_continue:
+0x6e5f 018995 arg sdp_searchattrib_res ,rega 
+0x6e60 018996 setarg 2 
+0x6e61 018997 istore 1 ,contw 
+0x6e62 018998 fetch 2 ,mem_sdp_continue_byte 
+0x6e63 018999 iadd temp ,temp 
+0x6e64 019000 byteswap temp ,pdata 
+0x6e65 019001 istore 2 ,contw 
+0x6e66 019002 call ssa_req_range_common 
+0x6e67 019003 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6e68 019004 increase -5 ,temp 
+0x6e69 019005 byteswap temp ,pdata 
+0x6e6a 019006 istore 2 ,contw 
+0x6e6b 019007 increase -5 ,temp 
+0x6e6c 019008 byteswap temp ,pdata 
+0x6e6d 019009 istore 2 ,contw 
+0x6e6e 019010 rtn 
+:      019012 ssa_req_range_common:
+0x6e6f 019013 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x6e70 019014 isub contw ,pdata 
+0x6e71 019015 sub pdata ,0 ,pdata 
+0x6e72 019016 store 2 ,mem_sdp_tx_pkt_length 
+0x6e73 019017 call l2cap_get_sdp_tx_payload 
+0x6e74 019018 copy rega ,pdata 
+0x6e75 019019 istore 1 ,contw 
+0x6e76 019020 fetch 2 ,mem_sdp_transactionid 
+0x6e77 019021 istore 2 ,contw 
+0x6e78 019022 rtn 
+:      019035 sdp_process_ssa_res:
+:      019036 sdp_process_ss_res:
+:      019037 sdp_process_sa_res:
+:      019038 sdp_process_error_res:
+0x6e79 019039 rtn 
+:      019072 sdp_invalid_service_record_handle:
+0x6e7a 019073 setarg 0x0200 
+0x6e7b 019074 store 2 ,mem_sdp_error_code 
+0x6e7c 019075 branch sdp_error_response 
+:      019076 sdp_invalid_pdu_size:
+0x6e7d 019077 setarg 0x0400 
+0x6e7e 019078 store 2 ,mem_sdp_error_code 
+0x6e7f 019079 branch sdp_error_response 
+:      019080 sdp_insufficient_resource:
+0x6e80 019081 setarg 0x0600 
+0x6e81 019082 store 2 ,mem_sdp_error_code 
+0x6e82 019083 branch sdp_error_response 
+:      019084 sdp_invalid_request_syntax:
+0x6e83 019085 setarg 0x0300 
+0x6e84 019086 store 2 ,mem_sdp_error_code 
+:      019087 sdp_error_response:
+0x6e85 019088 call l2cap_get_sdp_tx_payload 
+0x6e86 019089 istore 1 ,contw 
+0x6e87 019090 fetch 2 ,mem_sdp_transactionid 
+0x6e88 019091 istore 2 ,contw 
+0x6e89 019092 setarg 0x0200 
+0x6e8a 019093 istore 2 ,contw 
+0x6e8b 019094 fetch 2 ,mem_sdp_error_code 
+0x6e8c 019095 istore 2 ,contw 
+0x6e8d 019096 jam 7 ,mem_sdp_tx_pkt_length 
+0x6e8e 019097 rtn 
+:      019102 ask_serviceclassid:
+0x6e8f 019103 arg 0 ,regb 
+0x6e90 019104 force 0 ,temp 
+0x6e91 019105 arg mem_sdp_uuid_search_ptr ,contw 
+0x6e92 019106 call dataelementtype6 
+0x6e93 019107 branch asksrv_error ,zero 
+:      019108 classidloop:
+0x6e94 019109 increase 1 ,regb 
+0x6e95 019110 ifetch 1 ,contr 
+0x6e96 019111 increase -1 ,rega 
+0x6e97 019112 increase -1 ,timeup 
+0x6e98 019113 compare 0x18 ,pdata ,0xf8 
+0x6e99 019114 nbranch asksrv_error ,true 
+0x6e9a 019115 compare 0x04 ,pdata ,0x07 
+0x6e9b 019116 nbranch cmp032 ,true 
+0x6e9c 019117 force 1 ,temp 
+:      019118 skip2bytes:
+0x6e9d 019119 ifetch 1 ,contr 
+0x6e9e 019120 increase -1 ,rega 
+0x6e9f 019121 increase -1 ,timeup 
+0x6ea0 019122 bne 0x00 ,frstbwrong 
+0x6ea1 019123 ifetch 1 ,contr 
+0x6ea2 019124 increase -1 ,rega 
+0x6ea3 019125 increase -1 ,timeup 
+0x6ea4 019126 beq 0x00 ,cmpuuid 
+0x6ea5 019127 branch scndbwrong 
+:      019128 frstbwrong:
+0x6ea6 019129 increase 1 ,contr 
+0x6ea7 019130 increase -1 ,rega 
+0x6ea8 019131 increase -1 ,timeup 
+:      019132 scndbwrong:
+0x6ea9 019133 increase 2 ,contr 
+0x6eaa 019134 increase -2 ,rega 
+0x6eab 019135 increase -2 ,timeup 
+0x6eac 019136 compare 0x00 ,temp ,0xff 
+0x6ead 019137 branch loopornot ,true 
+0x6eae 019138 increase 12 ,contr 
+0x6eaf 019139 increase -12 ,rega 
+0x6eb0 019140 increase -12 ,timeup 
+0x6eb1 019141 branch loopornot 
+:      019142 cmp032:
+0x6eb2 019143 compare 0x02 ,pdata ,0x07 
+0x6eb3 019144 nbranch cmp016 ,true 
+0x6eb4 019145 branch skip2bytes 
+:      019146 cmp016:
+0x6eb5 019147 compare 0x01 ,pdata ,0x07 
+0x6eb6 019148 nbranch asksrv_error ,true 
+:      019149 cmpuuid:
+0x6eb7 019150 increase -2 ,rega 
+0x6eb8 019151 increase -2 ,timeup 
+0x6eb9 019152 ifetch 2 ,contr 
+0x6eba 019153 sub regb ,4 ,null 
+0x6ebb 019154 branch uuidsize ,zero 
+0x6ebc 019155 istore 2 ,contw 
+:      019156 uuidsize:
+0x6ebd 019157 compare 0x00 ,temp ,0xff 
+0x6ebe 019158 branch loopornot ,true 
+0x6ebf 019159 copy contr ,temp 
+0x6ec0 019160 ifetch 1 ,contr 
+0x6ec1 019161 bne 0x00 ,wrong12b 
+0x6ec2 019162 ifetch 1 ,contr 
+0x6ec3 019163 bne 0x00 ,wrong12b 
+0x6ec4 019164 ifetch 1 ,contr 
+0x6ec5 019165 bne 0x10 ,wrong12b 
+0x6ec6 019166 ifetch 1 ,contr 
+0x6ec7 019167 bne 0x00 ,wrong12b 
+0x6ec8 019168 ifetch 1 ,contr 
+0x6ec9 019169 bne 0x80 ,wrong12b 
+0x6eca 019170 ifetch 1 ,contr 
+0x6ecb 019171 bne 0x00 ,wrong12b 
+0x6ecc 019172 ifetch 1 ,contr 
+0x6ecd 019173 bne 0x00 ,wrong12b 
+0x6ece 019174 ifetch 1 ,contr 
+0x6ecf 019175 bne 0x80 ,wrong12b 
+0x6ed0 019176 ifetch 1 ,contr 
+0x6ed1 019177 bne 0x5f ,wrong12b 
+0x6ed2 019178 ifetch 1 ,contr 
+0x6ed3 019179 bne 0x9b ,wrong12b 
+0x6ed4 019180 ifetch 1 ,contr 
+0x6ed5 019181 bne 0x34 ,wrong12b 
+0x6ed6 019182 ifetch 1 ,contr 
+0x6ed7 019183 beq 0xfb ,chck12dn 
+:      019184 wrong12b:
+0x6ed8 019185 copy temp ,contr 
+:      019186 wrong12b1:
+0x6ed9 019187 increase 12 ,contr 
+0x6eda 019188 force 0x00 ,queue 
+0x6edb 019189 force 0x00 ,temp 
+0x6edc 019190 branch chck12dn 
+:      019192 chck12dn:
+0x6edd 019193 increase -12 ,timeup 
+0x6ede 019194 increase -12 ,rega 
+:      019195 loopornot:
+0x6edf 019196 force 0x00 ,temp 
+0x6ee0 019197 compare 0x00 ,rega ,0xff 
+0x6ee1 019198 nbranch classidloop ,true 
+0x6ee2 019199 force 0 ,pdata 
+0x6ee3 019200 istore 2 ,contw 
+0x6ee4 019201 rtn 
+:      019202 asksrv_error:
+0x6ee5 019203 arg 0xff ,temp 
+0x6ee6 019204 rtn 
+:      019214 dataelementtype6:
+0x6ee7 019215 bpatchx patch30_0 ,mem_patch30 
+0x6ee8 019216 ifetch 1 ,contr 
+0x6ee9 019217 increase -1 ,timeup 
+0x6eea 019218 compare 0x30 ,pdata ,0xf8 
+0x6eeb 019219 nbranch dsize_error ,true 
+0x6eec 019220 compare 0x07 ,pdata ,0x07 
+0x6eed 019221 branch dsize32 ,true 
+0x6eee 019222 compare 0x06 ,pdata ,0x07 
+0x6eef 019223 branch dsize16 ,true 
+0x6ef0 019224 compare 0x05 ,pdata ,0x07 
+0x6ef1 019225 nbranch dsize_error ,true 
+0x6ef2 019227 ifetch 1 ,contr 
+0x6ef3 019228 copy pdata ,rega 
+0x6ef4 019229 increase -1 ,timeup 
+0x6ef5 019230 branch dsize 
+:      019231 dsize32:
+0x6ef6 019232 increase 2 ,contr 
+0x6ef7 019233 increase -2 ,timeup 
+:      019234 dsize16:
+0x6ef8 019235 ifetch 2 ,contr 
+0x6ef9 019236 byteswap pdata ,rega 
+0x6efa 019237 increase -2 ,timeup 
+:      019238 dsize:
+0x6efb 019239 force 0x01 ,pdata 
+0x6efc 019240 rtn 
+:      019241 dsize_error:
+0x6efd 019242 force 0x00 ,pdata 
+0x6efe 019243 rtn 
+:      019253 ss_empty_rsp:
+0x6eff 019254 setarg sdp_search_res 
+0x6f00 019255 store 1 ,mem_sdp_pduid 
+0x6f01 019256 branch empty_response 
+:      019257 sa_empty_rsp:
+0x6f02 019258 setarg sdp_attribute_res 
+0x6f03 019259 store 1 ,mem_sdp_pduid 
+0x6f04 019260 branch empty_response 
+:      019261 ssa_empty_rsp:
+0x6f05 019262 setarg sdp_searchattrib_res 
+0x6f06 019263 store 1 ,mem_sdp_pduid 
+:      019264 empty_response:
+0x6f07 019265 call l2cap_get_sdp_tx_payload 
+0x6f08 019268 fetch 1 ,mem_sdp_pduid 
+0x6f09 019269 copy pdata ,regb 
+0x6f0a 019270 istore 1 ,contw 
+0x6f0b 019271 fetch 2 ,mem_sdp_transactionid 
+0x6f0c 019272 istore 2 ,contw 
+0x6f0d 019273 setarg 0x0500 
+0x6f0e 019274 istore 2 ,contw 
+0x6f0f 019275 compare sdp_attribute_res ,regb ,0xff 
+0x6f10 019276 branch fullsearch ,true 
+0x6f11 019277 compare sdp_searchattrib_res ,regb ,0xff 
+0x6f12 019278 branch fullsearch ,true 
+0x6f13 019279 setarg 0x000000 
+0x6f14 019280 istore 5 ,contw 
+0x6f15 019281 branch outempty 
+:      019283 fullsearch:
+0x6f16 019284 setarg 0x350200 
+0x6f17 019285 istore 5 ,contw 
+:      019286 outempty:
+0x6f18 019287 jam 10 ,mem_sdp_tx_pkt_length 
+0x6f19 019288 rtn 
+:      019291 sdp_data_len:
+0x6f1a 019292 call store_contw 
+0x6f1b 019293 call store_contr 
+0x6f1c 019294 call sdp_get_data 
+0x6f1d 019295 call get_contw 
+0x6f1e 019296 call get_contr 
+0x6f1f 019297 copy temp ,pdata 
+0x6f20 019298 rtn 
+:      019301 sdp_get_data:
+0x6f21 019302 ifetch 1 ,contr 
+0x6f22 019303 and pdata ,0x7 ,loopcnt 
+0x6f23 019304 rshift3 pdata ,pdata 
+0x6f24 019305 bne 0 ,sdp_get_data_type_not0 
+:      019306 sdp_get_data_type0:
+0x6f25 019307 force 1 ,pdata 
+0x6f26 019308 force 1 ,temp 
+0x6f27 019309 rtn 
+:      019311 sdp_get_data_type_not0_sizeindex01234:
+0x6f28 019312 call left_shift_n 
+0x6f29 019313 add pdata ,1 ,temp 
+0x6f2a 019314 rtn 
+:      019315 sdp_get_data_type_not0:
+0x6f2b 019316 deposit loopcnt 
+0x6f2c 019317 sub pdata ,4 ,null 
+0x6f2d 019318 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+0x6f2e 019319 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+0x6f2f 019320 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+0x6f30 019321 beq 7 ,sdp_get_data_type_not0_sizeindex7 
+0x6f31 019322 rtn 
+:      019324 sdp_get_data_type_not0_sizeindex5:
+0x6f32 019325 ifetch 1 ,contr 
+0x6f33 019326 add pdata ,2 ,temp 
+0x6f34 019327 rtn 
+:      019328 sdp_get_data_type_not0_sizeindex6:
+0x6f35 019329 ifetch 2 ,contr 
+0x6f36 019330 byteswap pdata ,pdata 
+0x6f37 019331 add pdata ,3 ,temp 
+0x6f38 019332 rtn 
+:      019333 sdp_get_data_type_not0_sizeindex7:
+0x6f39 019334 ifetch 2 ,contr 
+0x6f3a 019335 byteswap pdata ,pdata 
+0x6f3b 019336 ifetcht 2 ,contr 
+0x6f3c 019337 byteswap temp ,temp 
+0x6f3d 019338 lshift16 temp ,temp 
+0x6f3e 019339 iadd temp ,pdata 
+0x6f3f 019340 add pdata ,5 ,temp 
+0x6f40 019341 rtn 
+:      019347 search_all_uuid:
+0x6f41 019348 bpatchx patch30_1 ,mem_patch30 
+0x6f42 019349 force 0 ,queue 
+0x6f43 019350 arg 0 ,regb 
+0x6f44 019351 arg mem_sdp_handle_list ,contw 
+:      019352 search_all_uuid_llop:
+0x6f45 019353 ifetch 2 ,timeup 
+0x6f46 019354 rtn blank 
+0x6f47 019355 call search_uuid 
+0x6f48 019356 copy queue ,pdata 
+0x6f49 019357 rtneq sdp_max_handle_number 
+0x6f4a 019358 increase 2 ,timeup 
+0x6f4b 019359 branch search_all_uuid_llop 
+:      019361 search_uuid:
+0x6f4c 019363 iforce regc 
+0x6f4d 019365 fetch 2 ,mem_ui_uuid_table 
+0x6f4e 019366 iforce contr 
+:      019367 search_uuid_next:
+0x6f4f 019368 copy queue ,pdata 
+0x6f50 019369 rtneq sdp_max_handle_number 
+0x6f51 019370 disable user 
+0x6f52 019371 ifetch 1 ,contr 
+0x6f53 019372 rtn blank 
+0x6f54 019373 iforce loopcnt 
+:      019374 search_uuid_loop:
+0x6f55 019375 ifetch 2 ,contr 
+0x6f56 019376 isub regc ,null 
+0x6f57 019377 nbranch search_uuid_not_found ,zero 
+0x6f58 019378 enable user 
+:      019379 search_uuid_not_found:
+0x6f59 019380 loop search_uuid_loop 
+0x6f5a 019381 ifetcht 4 ,contr 
+0x6f5b 019382 copy contr ,rega 
+0x6f5c 019383 nbranch search_uuid_nomatch ,user 
+0x6f5d 019384 arg mem_sdp_handle_list ,contr 
+0x6f5e 019385 arg sdp_max_handle_number ,loopcnt 
+:      019386 search_uuid_check_same_handle:
+0x6f5f 019387 ifetch 4 ,contr 
+0x6f60 019388 branch search_uuid_store_handle ,blank 
+0x6f61 019389 isub temp ,null 
+0x6f62 019390 branch search_uuid_nomatch ,zero 
+0x6f63 019391 loop search_uuid_check_same_handle 
+0x6f64 019392 rtn 
+:      019393 search_uuid_store_handle:
+0x6f65 019394 istoret 4 ,contw 
+0x6f66 019395 increase 1 ,queue 
+0x6f67 019396 copy rega ,contr 
+0x6f68 019397 call sdp_data_len 
+0x6f69 019398 iadd regb ,regb 
+0x6f6a 019399 iadd contr ,contr 
+0x6f6b 019400 branch search_uuid_next 
+:      019401 search_uuid_nomatch:
+0x6f6c 019402 copy rega ,contr 
+0x6f6d 019403 call sdp_get_data 
+0x6f6e 019404 iadd contr ,contr 
+0x6f6f 019405 branch search_uuid_next 
+:      019411 search_handle:
+0x6f70 019412 bpatchx patch30_2 ,mem_patch30 
+0x6f71 019413 fetch 2 ,mem_ui_uuid_table 
+0x6f72 019414 iforce contr 
+:      019415 search_handle_loop:
+0x6f73 019416 ifetch 1 ,contr 
+0x6f74 019417 branch disable_zero ,blank 
+0x6f75 019418 lshift pdata ,pdata 
+0x6f76 019419 iadd contr ,contr 
+0x6f77 019420 ifetch 4 ,contr 
+0x6f78 019421 isub temp ,null 
+0x6f79 019422 rtn zero 
+0x6f7a 019423 deposit contw 
+0x6f7b 019424 store 2 ,mem_contw 
+0x6f7c 019425 storet 8 ,mem_temp 
+0x6f7d 019426 call sdp_get_data 
+0x6f7e 019427 iadd contr ,contr 
+0x6f7f 019428 copy contr ,pdata 
+0x6f80 019429 fetcht 2 ,mem_contw 
+0x6f81 019430 copy temp ,contw 
+0x6f82 019431 fetcht 8 ,mem_temp 
+0x6f83 019432 copy pdata ,contr 
+0x6f84 019433 branch search_handle_loop 
+:      019439 search_attrib:
+0x6f85 019440 bpatchx patch30_3 ,mem_patch30 
+0x6f86 019441 fetch 2 ,mem_ui_uuid_table 
+0x6f87 019442 iforce contr 
+:      019443 search_attrib_next:
+0x6f88 019444 ifetch 1 ,contr 
+0x6f89 019445 branch search_attrib_end ,blank 
+0x6f8a 019446 iforce loopcnt 
+:      019447 search_attrib_loop:
+0x6f8b 019448 ifetch 2 ,contr 
+0x6f8c 019449 isub regc ,null 
+0x6f8d 019450 branch search_attrib_found_uuid ,zero 
+0x6f8e 019451 loop search_attrib_loop 
+0x6f8f 019452 increase 4 ,contr 
+0x6f90 019453 call sdp_get_data 
+0x6f91 019454 iadd contr ,contr 
+0x6f92 019455 branch search_attrib_next 
+:      019456 search_attrib_found_uuid:
+0x6f93 019457 increase -1 ,loopcnt 
+0x6f94 019458 lshift loopcnt ,pdata 
+0x6f95 019459 iadd contr ,contr 
+0x6f96 019460 increase 4 ,contr 
+0x6f97 019461 call sdp_get_data 
+0x6f98 019462 iadd contr ,timeup 
+:      019463 search_attrib_loop_attribs:
+0x6f99 019464 increase 1 ,contr 
+0x6f9a 019465 ifetch 2 ,contr 
+0x6f9b 019466 isub regb ,null 
+0x6f9c 019470 branch disable_blank ,zero 
+0x6f9d 019471 call sdp_data_len 
+0x6f9e 019472 iadd contr ,contr 
+0x6f9f 019473 deposit timeup 
+0x6fa0 019474 isub contr ,null 
+0x6fa1 019475 branch search_attrib_end ,zero 
+0x6fa2 019476 branch search_attrib_loop_attribs 
+:      019477 search_attrib_end:
+0x6fa3 019478 force 0 ,contr 
+0x6fa4 019479 force 0 ,pdata 
+0x6fa5 019480 rtn 
+:      019486 search_handle_attrib:
+0x6fa6 019487 bpatchx patch30_4 ,mem_patch30 
+0x6fa7 019488 fetch 2 ,mem_ui_uuid_table 
+0x6fa8 019489 iforce contr 
+:      019490 search_handle_attrib_next:
+0x6fa9 019491 ifetch 1 ,contr 
+0x6faa 019492 branch search_handle_attrib_end ,blank 
+0x6fab 019493 lshift pdata ,pdata 
+0x6fac 019494 iadd contr ,contr 
+0x6fad 019495 ifetch 4 ,contr 
+0x6fae 019496 isub temp ,null 
+0x6faf 019497 branch search_handl_attrib_found_handle ,zero 
+0x6fb0 019498 call sdp_get_data 
+0x6fb1 019499 iadd contr ,contr 
+0x6fb2 019500 branch search_handle_attrib_next 
+:      019501 search_handl_attrib_found_handle:
+0x6fb3 019502 call sdp_get_data 
+0x6fb4 019503 iadd contr ,timeup 
+:      019504 search_handle_attrib_loop_attribs:
+0x6fb5 019505 increase 1 ,contr 
+0x6fb6 019506 ifetch 2 ,contr 
+0x6fb7 019507 isub regb ,null 
+0x6fb8 019508 rtn zero 
+0x6fb9 019509 call sdp_data_len 
+0x6fba 019510 iadd contr ,contr 
+0x6fbb 019511 deposit timeup 
+0x6fbc 019512 isub contr ,null 
+0x6fbd 019513 branch search_handle_attrib_end ,zero 
+0x6fbe 019514 branch search_handle_attrib_loop_attribs 
+:      019515 search_handle_attrib_end:
+0x6fbf 019516 force 0 ,contr 
+0x6fc0 019517 rtn 
+:      019521 search_rfcomm_cn:
+0x6fc1 019522 arg 0x0400 ,regb 
+0x6fc2 019523 call search_handl_attrib_found_handle 
+0x6fc3 019524 arg 0x0300 ,regb 
+0x6fc4 019525 call search_uuid_in_data 
+0x6fc5 019526 nrtn user 
+0x6fc6 019527 sub rega ,3 ,null 
+0x6fc7 019528 branch disable_user ,positive 
+0x6fc8 019529 ifetch 1 ,contr 
+0x6fc9 019530 bne 0x08 ,disable_user 
+0x6fca 019531 ifetch 1 ,contr 
+0x6fcb 019532 rtn 
+:      019537 search_uuid_in_data:
+0x6fcc 019538 bpatchx patch30_5 ,mem_patch30 
+0x6fcd 019539 call sdp_get_data 
+0x6fce 019540 copy pdata ,rega 
+:      019541 search_uuid_in_data_loop:
+0x6fcf 019542 ifetch 1 ,contr 
+0x6fd0 019543 and pdata ,0x7 ,loopcnt 
+0x6fd1 019544 rshift3 pdata ,pdata 
+0x6fd2 019545 sub pdata ,3 ,null 
+0x6fd3 019546 branch search_uuid_in_data_found_uuid ,zero 
+0x6fd4 019547 copy loopcnt ,pdata 
+0x6fd5 019548 beq 5 ,search_uuid_in_data_found_element_index5 
+0x6fd6 019549 beq 6 ,search_uuid_in_data_found_element_index6 
+0x6fd7 019550 beq 7 ,search_uuid_in_data_found_element_index7 
+0x6fd8 019551 increase -1 ,contr 
+0x6fd9 019552 call sdp_get_data 
+0x6fda 019553 iadd contr ,contr 
+0x6fdb 019554 copy rega ,pdata 
+0x6fdc 019555 isub temp ,rega 
+0x6fdd 019556 branch disable_user ,zero 
+0x6fde 019557 branch search_uuid_in_data_loop 
+:      019559 search_uuid_in_data_found_element_index5:
+0x6fdf 019560 increase -2 ,rega 
+0x6fe0 019561 increase 1 ,contr 
+0x6fe1 019562 branch search_uuid_in_data_loop 
+:      019563 search_uuid_in_data_found_element_index6:
+0x6fe2 019564 increase -3 ,rega 
+0x6fe3 019565 increase 2 ,contr 
+0x6fe4 019566 branch search_uuid_in_data_loop 
+:      019567 search_uuid_in_data_found_element_index7:
+0x6fe5 019568 increase -5 ,rega 
+0x6fe6 019569 increase 4 ,contr 
+0x6fe7 019570 branch search_uuid_in_data_loop 
+:      019572 search_uuid_in_data_found_uuid:
+0x6fe8 019573 increase -1 ,rega 
+0x6fe9 019574 copy loopcnt ,pdata 
+0x6fea 019575 beq 1 ,search_uuid_in_data_type_uuid_16 
+0x6feb 019576 beq 2 ,search_uuid_in_data_type_uuid_32 
+0x6fec 019577 beq 4 ,search_uuid_in_data_type_uuid_128 
+0x6fed 019578 branch disable_user 
+:      019579 search_uuid_in_data_type_uuid_128:
+0x6fee 019580 increase -12 ,rega 
+:      019581 search_uuid_in_data_type_uuid_32:
+0x6fef 019582 ifetch 2 ,contr 
+0x6ff0 019583 increase -2 ,rega 
+:      019584 search_uuid_in_data_type_uuid_16:
+0x6ff1 019585 ifetch 2 ,contr 
+0x6ff2 019586 isub regb ,null 
+0x6ff3 019587 branch enable_user ,zero 
+0x6ff4 019588 increase -2 ,rega 
+0x6ff5 019589 branch disable_user ,zero 
+0x6ff6 019590 branch search_uuid_in_data_loop 
+:      019649 sdp_send_spp_request:
+0x6ff7 019650 call l2cap_get_sdp_tx_payload 
+0x6ff8 019651 copy pdata ,contw 
+0x6ff9 019652 setarg 6 
+0x6ffa 019653 istore 1 ,contw 
+0x6ffb 019654 setarg sdp_tid_spp 
+0x6ffc 019655 istore 2 ,contw 
+0x6ffd 019656 setarg 0x0f00 
+0x6ffe 019657 istore 2 ,contw 
+0x6fff 019658 setarg 0x1a0535 
+0x7000 019659 istore 3 ,contw 
+0x7001 019660 setarg 0x0111 
+0x7002 019661 lshift16 pdata ,pdata 
+0x7003 019662 istore 4 ,contw 
+0x7004 019663 setarg 0x2600 
+0x7005 019664 istore 2 ,contw 
+0x7006 019665 setarg 0x0335 
+0x7007 019666 istore 2 ,contw 
+0x7008 019667 setarg 0x0009 
+0x7009 019668 istore 2 ,contw 
+0x700a 019669 setarg 0x0004 
+0x700b 019670 istore 2 ,contw 
+0x700c 019671 jam 0x14 ,mem_sdp_tx_pkt_length 
+0x700d 019672 rtn 
+:      019676 function_g2:
+0x700e 019677 bpatchx patch30_6 ,mem_patch30 
+0x700f 019678 jam 80 ,mem_aes_cmac_data_length 
+0x7010 019679 arg memdat ,contw 
+0x7011 019680 arg mem_le_srand ,contr 
+0x7012 019681 call memcpy16 
+0x7013 019682 arg mem_le_pubkey_local_x_256 ,contr 
+0x7014 019683 call memcpy32 
+0x7015 019684 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7016 019685 call memcpy32 
+0x7017 019686 call inverse_memdat 
+0x7018 019687 arg mem_le_mrand ,contr 
+0x7019 019688 call store_inverse_k 
+0x701a 019689 call function_aes_cmac 
+0x701b 019691 arg mem_aes_cmac_temp ,contw 
+0x701c 019692 call load_inverse_result 
+0x701d 019693 setarg 1000000 
+0x701e 019694 copy pdata ,rega 
+0x701f 019695 fetch 4 ,mem_aes_cmac_temp 
+0x7020 019696 idiv rega 
+0x7021 019697 call wait_div_end 
+0x7022 019698 remainder pdata 
+0x7023 019699 store 4 ,mem_gkey 
+0x7024 019701 rtn 
+:      019703 function_f6_eb:
+0x7025 019704 jam 65 ,mem_aes_cmac_data_length 
+0x7026 019705 arg memdat ,contw 
+0x7027 019706 call store_addr_common_a 
+0x7028 019707 call store_addr_common_b 
+0x7029 019708 fetch 3 ,mem_le_pres + 1 
+0x702a 019709 istore 3 ,contw 
+0x702b 019712 call get_r 
+0x702c 019714 arg mem_le_mrand ,contr 
+0x702d 019715 call memcpy16 
+0x702e 019716 arg mem_le_srand ,contr 
+0x702f 019717 call memcpy16 
+0x7030 019718 call inverse_memdat 
+0x7031 019719 arg mem_le_mackey ,contr 
+0x7032 019720 arg mem_aes_cmac_k ,contw 
+0x7033 019721 call memcpy16 
+0x7034 019723 branch function_aes_cmac 
+:      019727 get_r:
+0x7035 019728 fetch 4 ,mem_le_tk 
+0x7036 019729 istore 4 ,contw 
+0x7037 019730 call memset0_4 
+0x7038 019731 branch memset0_8 
+:      019733 function_f6_ea:
+0x7039 019734 bpatchx patch30_7 ,mem_patch30 
+0x703a 019735 jam 65 ,mem_aes_cmac_data_length 
+0x703b 019736 arg memdat ,contw 
+0x703c 019737 call store_addr_common_b 
+0x703d 019738 call store_addr_common_a 
+0x703e 019739 fetch 3 ,mem_le_preq + 1 
+0x703f 019740 istore 3 ,contw 
+0x7040 019743 call get_r 
+0x7041 019744 arg mem_le_srand ,contr 
+0x7042 019745 call memcpy16 
+0x7043 019746 arg mem_le_mrand ,contr 
+0x7044 019747 call memcpy16 
+0x7045 019748 call inverse_memdat 
+0x7046 019749 arg mem_le_mackey ,contr 
+0x7047 019750 arg mem_aes_cmac_k ,contw 
+0x7048 019751 call memcpy16 
+0x7049 019753 call function_aes_cmac 
+0x704a 019754 arg mem_aes_cmac_temp ,contw 
+0x704b 019755 branch load_inverse_result 
+:      019757 function_f5:
+0x704c 019758 jam 32 ,mem_aes_cmac_data_length 
+0x704d 019759 arg mem_le_dhkey_256 ,contr 
+0x704e 019760 arg memdat ,contw 
+0x704f 019761 call memcpy32 
+0x7050 019762 call inverse_memdat 
+0x7051 019763 arg mem_le_slat ,contr 
+0x7052 019764 call store_inverse_k 
+0x7053 019765 call function_aes_cmac 
+0x7054 019766 arg mem_aes_cmac_k ,contw 
+0x7055 019767 call store_aes_result 
+0x7056 019768 arg 1 ,temp 
+0x7057 019769 call function_f5_common 
+0x7058 019770 arg mem_le_ltk ,contw 
+0x7059 019771 call load_inverse_result 
+0x705a 019772 arg 0 ,temp 
+0x705b 019773 call function_f5_common 
+0x705c 019774 arg mem_le_mackey ,contw 
+0x705d 019776 branch store_aes_result 
+:      019779 function_f5_common:
+0x705e 019780 bpatchx patch31_0 ,mem_patch31 
+0x705f 019781 jam 53 ,mem_aes_cmac_data_length 
+0x7060 019782 setarg 0x100 
+0x7061 019783 store 2 ,memdat 
+0x7062 019784 call store_addr_common_b 
+0x7063 019785 call store_addr_common_a 
+0x7064 019786 arg mem_le_srand ,contr 
+0x7065 019787 call memcpy16 
+0x7066 019788 arg mem_le_mrand ,contr 
+0x7067 019789 call memcpy16 
+0x7068 019791 setarg 0x6c65 
+0x7069 019792 istore 2 ,contw 
+0x706a 019793 setarg 0x6274 
+0x706b 019794 istore 2 ,contw 
+0x706c 019795 istoret 1 ,contw 
+0x706d 019796 call inverse_memdat 
+0x706e 019797 branch function_aes_cmac 
+:      019799 store_addr_common_b:
+0x706f 019800 fetch 6 ,mem_le_lap 
+0x7070 019801 istore 6 ,contw 
+0x7071 019802 fetch 1 ,mem_le_conn_own_addr_type 
+0x7072 019803 istore 1 ,contw 
+0x7073 019804 rtn 
+:      019806 store_addr_common_a:
+0x7074 019807 fetch 6 ,mem_le_plap 
+0x7075 019808 istore 6 ,contw 
+0x7076 019813 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7077 019814 istore 1 ,contw 
+0x7078 019815 rtn 
+:      019817 function_f4_ca:
+0x7079 019818 jam 65 ,mem_aes_cmac_data_length 
+0x707a 019819 fetch 1 ,mem_passkey_1bit 
+0x707b 019820 store 1 ,memdat 
+0x707c 019821 arg mem_le_pubkey_local_x_256 ,contr 
+0x707d 019822 call memcpy32 
+0x707e 019823 arg mem_le_pubkey_remote_x_256 ,contr 
+0x707f 019824 call memcpy32 
+0x7080 019825 call inverse_memdat 
+0x7081 019826 arg mem_le_mrand ,contr 
+0x7082 019827 call store_inverse_k 
+0x7083 019828 branch function_aes_cmac 
+:      019831 function_f4_cb:
+0x7084 019832 jam 65 ,mem_aes_cmac_data_length 
+0x7085 019833 fetch 1 ,mem_passkey_1bit 
+0x7086 019834 store 1 ,memdat 
+0x7087 019835 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7088 019836 call memcpy32 
+0x7089 019837 arg mem_le_pubkey_local_x_256 ,contr 
+0x708a 019838 call memcpy32 
+0x708b 019839 call inverse_memdat 
+0x708c 019840 arg mem_le_srand ,contr 
+0x708d 019841 call store_inverse_k 
+0x708e 019842 branch function_aes_cmac 
+:      019844 function_aes_cmac:
+0x708f 019845 bpatchx patch31_1 ,mem_patch31 
+0x7090 019846 call function_aes_cmac_generate_subkey 
+0x7091 019850 fetch 1 ,mem_aes_cmac_data_length 
+0x7092 019851 copy pdata ,temp 
+:      019852 function_ceil16:
+0x7093 019853 increase 15 ,pdata 
+0x7094 019854 rshift4 pdata ,pdata 
+0x7095 019855 copy pdata ,regb 
+0x7096 019856 branch function_aes_cmac_set_flag_0_balnk ,blank 
+0x7097 019857 and temp ,0x0f ,pdata 
+0x7098 019858 nbranch function_aes_cmac_set_flag_0 ,blank 
+0x7099 019860 arg mem_aes_cmac_k1 ,regc 
+0x709a 019861 arg memdat ,pdata 
+0x709b 019862 increase -16 ,pdata 
+0x709c 019865 iadd temp ,rega 
+0x709d 019866 arg mem_aes_cmac_m_last ,contw 
+0x709e 019867 arg 4 ,loopcnt 
+0x709f 019868 call xor_loop 
+0x70a0 019872 branch function_aes_cmac_aes 
+:      019874 function_aes_cmac_set_flag_0_balnk:
+0x70a1 019875 arg 1 ,regb 
+0x70a2 019876 arg 0 ,rega 
+0x70a3 019878 branch function_aes_cmac_set_flag_0_common 
+:      019881 function_aes_cmac_set_flag_0:
+0x70a4 019883 and temp ,0x0f ,rega 
+:      019884 function_aes_cmac_set_flag_0_common:
+0x70a5 019885 arg memdat ,pdata 
+0x70a6 019886 iadd temp ,pdata 
+0x70a7 019887 isub rega ,contr 
+0x70a8 019889 arg mem_aes_cmac_temp ,contw 
+0x70a9 019890 call function_aes_cmac_padding 
+0x70aa 019892 arg mem_aes_cmac_k2 ,regc 
+0x70ab 019893 arg mem_aes_cmac_temp ,rega 
+0x70ac 019894 arg mem_aes_cmac_m_last ,contw 
+0x70ad 019895 arg 4 ,loopcnt 
+0x70ae 019896 call xor_loop 
+:      019903 function_aes_cmac_aes:
+0x70af 019908 call aes_clear_data 
+0x70b0 019909 call aes_init 
+0x70b1 019912 arg memdat ,contr 
+:      019913 function_aes_cmac_aes_loop:
+0x70b2 019915 increase -1 ,regb 
+0x70b3 019916 deposit regb 
+0x70b4 019917 branch function_aes_cmac_aes_loop_end ,blank 
+0x70b5 019918 call load_data128 
+0x70b6 019919 call do_aes_cbc 
+0x70b7 019920 branch function_aes_cmac_aes_loop 
+:      019922 function_aes_cmac_aes_loop_end:
+0x70b8 019923 arg mem_aes_cmac_temp ,contw 
+0x70b9 019924 call store_aes_result 
+0x70ba 019925 arg mem_aes_cmac_m_last ,contr 
+0x70bb 019926 call load_data128 
+0x70bc 019927 call aes_init 
+0x70bd 019928 arg mem_aes_cmac_temp ,contr 
+0x70be 019929 call load_data128 
+0x70bf 019930 branch do_aes_cbc 
+:      019934 load_inverse_result:
+0x70c0 019936 copy contw ,rega 
+0x70c1 019937 call store_aes_result 
+0x70c2 019939 arg 16 ,loopcnt 
+0x70c3 019940 branch inverse_data 
+:      019942 store_inverse_k:
+0x70c4 019943 arg mem_aes_cmac_k ,contw 
+0x70c5 019944 call memcpy16 
+:      019945 inverse_k:
+0x70c6 019946 arg 16 ,loopcnt 
+0x70c7 019947 arg mem_aes_cmac_k ,rega 
+0x70c8 019948 branch inverse_data 
+:      019950 inverse_memdat:
+0x70c9 019951 fetch 1 ,mem_aes_cmac_data_length 
+0x70ca 019952 copy pdata ,loopcnt 
+0x70cb 019953 arg memdat ,rega 
+0x70cc 019954 branch inverse_data 
+:      019956 bn_lshift_0_inverse:
+0x70cd 019957 ifetch 1 ,rega 
+0x70ce 019958 lshift pdata ,pdata 
+0x70cf 019959 isolate1 0 ,regc 
+0x70d0 019960 setflag true ,0 ,pdata 
+0x70d1 019961 isolate1 8 ,pdata 
+0x70d2 019962 setflag true ,0 ,regc 
+0x70d3 019963 istore 1 ,rega 
+0x70d4 019964 increase -1 ,rega 
+0x70d5 019965 loop bn_lshift_0_inverse 
+0x70d6 019966 rtn 
+:      019968 function_aes_cmac_k1_inverse:
+0x70d7 019969 arg mem_aes_cmac_k1 ,rega 
+:      019970 function_aes_cmac_inverse_common:
+0x70d8 019971 increase 15 ,rega 
+0x70d9 019972 force 16 ,loopcnt 
+0x70da 019973 force 0 ,regc 
+0x70db 019974 branch bn_lshift_0_inverse 
+:      019976 function_aes_cmac_k2_inverse:
+0x70dc 019977 arg mem_aes_cmac_k2 ,rega 
+0x70dd 019978 branch function_aes_cmac_inverse_common 
+:      019981 function_aes_cmac_generate_subkey:
+0x70de 019982 arg mem_aes_cmac_k ,contr 
+0x70df 019983 call load_key128 
+0x70e0 019986 force regidx_xor ,regext_index 
+0x70e1 019987 call aes_clear 
+0x70e2 019988 call aes_clear_data 
+0x70e3 019990 call do_aes_ecb 
+0x70e4 019995 arg mem_aes_cmac_k1 ,contw 
+0x70e5 019996 call store_aes_result 
+:      019997 function_aes_cmac_k1:
+0x70e6 019998 bpatchx patch31_2 ,mem_patch31 
+0x70e7 019999 fetch 1 ,mem_aes_cmac_k1 
+0x70e8 020000 isolate1 7 ,pdata 
+0x70e9 020001 nbranch function_aes_cmac_k1_0 ,true 
+0x70ea 020002 call function_aes_cmac_k1_inverse 
+0x70eb 020005 arg mem_aes_cmac_k1 ,regc 
+0x70ec 020007 arg mem_aes_cmac_k1 ,contw 
+0x70ed 020010 call function_aes_cmac_xor_rb 
+0x70ee 020011 branch function_aes_cmac_k2 
+:      020012 function_aes_cmac_k1_0:
+0x70ef 020013 call function_aes_cmac_k1_inverse 
+:      020014 function_aes_cmac_k2:
+0x70f0 020016 arg mem_aes_cmac_k1 ,contr 
+0x70f1 020017 arg mem_aes_cmac_k2 ,contw 
+0x70f2 020018 call memcpy16 
+0x70f3 020019 fetch 1 ,mem_aes_cmac_k2 
+0x70f4 020020 isolate1 7 ,pdata 
+0x70f5 020021 nbranch function_aes_cmac_k2_inverse ,true 
+0x70f6 020022 call function_aes_cmac_k2_inverse 
+0x70f7 020024 arg mem_aes_cmac_k2 ,regc 
+0x70f8 020026 arg mem_aes_cmac_k2 ,contw 
+:      020032 function_aes_cmac_xor_rb:
+0x70f9 020033 arg 3 ,loopcnt 
+:      020034 function_aes_cmac_xor_rb_loop:
+0x70fa 020035 arg 0 ,temp 
+0x70fb 020036 call function_aes_cmac_xor_loop_common 
+0x70fc 020037 increase 4 ,regc 
+0x70fd 020038 loop function_aes_cmac_xor_rb_loop 
+0x70fe 020039 arg 0x8700 ,temp 
+0x70ff 020040 lshift16 temp ,temp 
+:      020041 function_aes_cmac_xor_loop_common:
+0x7100 020042 ifetch 4 ,regc 
+0x7101 020043 ixor temp ,pdata 
+0x7102 020044 istore 4 ,contw 
+0x7103 020045 rtn 
+:      020051 function_aes_cmac_padding:
+0x7104 020052 bpatchx patch31_3 ,mem_patch31 
+0x7105 020053 arg 16 ,loopcnt 
+0x7106 020054 arg 0 ,pdata 
+:      020055 function_aes_cmac_padding_loop:
+0x7107 020056 isub rega ,null 
+0x7108 020057 branch function_aes_cmac_padding_beq_length ,zero 
+0x7109 020058 branch function_aes_cmac_padding_big_length ,positive 
+0x710a 020059 ifetcht 1 ,contr 
+0x710b 020060 istoret 1 ,contw 
+:      020061 function_aes_cmac_padding_loop2:
+0x710c 020062 increase 1 ,pdata 
+0x710d 020063 loop function_aes_cmac_padding_loop 
+0x710e 020064 rtn 
+:      020065 function_aes_cmac_padding_beq_length:
+0x710f 020066 arg 0x80 ,temp 
+:      020067 function_aes_cmac_padding_common:
+0x7110 020068 istoret 1 ,contw 
+0x7111 020069 branch function_aes_cmac_padding_loop2 
+:      020071 function_aes_cmac_padding_big_length:
+0x7112 020072 arg 0 ,temp 
+0x7113 020073 branch function_aes_cmac_padding_common 
+:      020076 generate_kinit:
+0x7114 020077 call function_e22 
+0x7115 020078 arg mem_input_store ,contr 
+0x7116 020079 arg mem_kinit ,contw 
+0x7117 020080 branch memcpy16 
+:      020083 function_e21:
+0x7118 020084 disable user 
+0x7119 020085 call function_expand 
+0x711a 020086 arg mem_random_number ,contr 
+0x711b 020087 arg mem_x ,contw 
+0x711c 020088 force 15 ,loopcnt 
+0x711d 020089 call memcpy 
+0x711e 020090 ifetch 1 ,contr 
+0x711f 020091 xor_into 6 ,pdata 
+0x7120 020092 istore 1 ,contw 
+0x7121 020093 setarg mem_y 
+0x7122 020094 store 2 ,memp_ar_input 
+0x7123 020095 setarg mem_x 
+0x7124 020096 store 2 ,memp_ar_key 
+0x7125 020097 set1 mark_ar2 ,mark 
+0x7126 020098 branch function_ar 
+:      020102 function_e22:
+0x7127 020103 fetcht 1 ,mem_pin_length 
+0x7128 020104 force 16 ,regb 
+0x7129 020105 add temp ,6 ,regc 
+0x712a 020106 sub regc ,16 ,null 
+0x712b 020107 branch function_e22_pin_init ,positive 
+0x712c 020108 force 16 ,regc 
+:      020109 function_e22_pin_init:
+0x712d 020110 arg mem_x ,contw 
+:      020111 function_e22_genx_pin:
+0x712e 020112 arg mem_pin ,contr 
+0x712f 020113 copy temp ,loopcnt 
+0x7130 020114 disable user 
+:      020115 function_e22_genx_loop:
+0x7131 020116 ifetch 1 ,contr 
+0x7132 020117 istore 1 ,contw 
+0x7133 020118 increase -1 ,regb 
+0x7134 020119 branch function_e22_genx_end ,zero 
+0x7135 020120 loop function_e22_genx_loop 
+0x7136 020121 branch function_e22_genx_pin ,user 
+0x7137 020122 enable user 
+0x7138 020123 force 6 ,loopcnt 
+0x7139 020124 copy rega ,contr 
+0x713a 020125 branch function_e22_genx_loop 
+:      020126 function_e22_genx_end:
+0x713b 020127 arg mem_random_number ,contr 
+0x713c 020128 arg mem_y ,contw 
+0x713d 020129 call memcpy16 
+0x713e 020130 fetch 1 ,mem_y15 
+0x713f 020131 ixor regc ,pdata 
+0x7140 020132 store 1 ,mem_y15 
+0x7141 020133 setarg mem_y 
+0x7142 020134 store 2 ,memp_ar_input 
+0x7143 020135 setarg mem_x 
+0x7144 020136 store 2 ,memp_ar_key 
+0x7145 020137 set1 mark_ar2 ,mark 
+0x7146 020138 branch function_ar 
+:      020143 function_e1:
+0x7147 020144 disable user 
+0x7148 020145 call function_expand 
+0x7149 020146 branch function_hash 
+:      020148 function_e3:
+0x714a 020149 arg mem_aco ,rega 
+0x714b 020150 enable user 
+0x714c 020151 call function_expand 
+0x714d 020152 call function_hash 
+0x714e 020153 arg mem_input_store ,contr 
+0x714f 020154 arg mem_kc ,contw 
+0x7150 020155 branch memcpy16 
+:      020158 function_hash:
+0x7151 020159 setarg mem_random_number 
+0x7152 020160 store 2 ,memp_ar_input 
+0x7153 020161 setarg mem_link_key 
+0x7154 020162 store 2 ,memp_ar_key 
+0x7155 020163 set0 mark_ar2 ,mark 
+0x7156 020164 call function_ar 
+0x7157 020165 arg mem_input_store ,rega 
+0x7158 020166 arg mem_random_number ,regb 
+0x7159 020167 arg mem_x ,contw 
+0x715a 020168 call xor16 
+0x715b 020169 arg mem_x ,rega 
+0x715c 020170 arg mem_y ,regb 
+0x715d 020171 copy regb ,contw 
+0x715e 020172 enable user 
+0x715f 020173 call add16 
+0x7160 020174 call key_offset 
+0x7161 020175 setarg mem_y 
+0x7162 020176 store 2 ,memp_ar_input 
+0x7163 020177 setarg mem_x 
+0x7164 020178 store 2 ,memp_ar_key 
+0x7165 020179 set1 mark_ar2 ,mark 
+0x7166 020180 branch function_ar 
+:      020184 function_ar:
+0x7167 020185 jam 0 ,mem_ar_hround 
+0x7168 020186 fetch 2 ,memp_ar_key 
+0x7169 020187 iforce contr 
+0x716a 020188 arg mem_key_store ,contw 
+0x716b 020189 call memcpy16 
+0x716c 020190 fetch 2 ,memp_ar_input 
+0x716d 020191 iforce contr 
+0x716e 020192 arg mem_input_store ,contw 
+0x716f 020193 call memcpy16 
+:      020195 function_ar_loop:
+0x7170 020196 call key_scheduling 
+0x7171 020197 disable user 
+0x7172 020198 bmark0 mark_ar2 ,function_ar_original 
+0x7173 020199 fetch 1 ,mem_ar_hround 
+0x7174 020200 bne 4 ,function_ar_original 
+0x7175 020201 fetchr regb ,2 ,memp_ar_input 
+0x7176 020202 call xor_mod32_ar2 
+:      020203 function_ar_original:
+0x7177 020204 call xor_mod32 
+0x7178 020205 call el_boxes 
+0x7179 020206 fetch 1 ,mem_ar_hround 
+0x717a 020207 increase 1 ,pdata 
+0x717b 020208 store 1 ,mem_ar_hround 
+0x717c 020210 call key_scheduling 
+0x717d 020211 enable user 
+0x717e 020212 call xor_mod32 
+0x717f 020213 call pht 
+0x7180 020214 call permute 
+0x7181 020215 call pht 
+0x7182 020216 call permute 
+0x7183 020217 call pht 
+0x7184 020218 call permute 
+0x7185 020219 call pht 
+0x7186 020220 fetch 1 ,mem_ar_hround 
+0x7187 020221 increase 1 ,pdata 
+0x7188 020222 store 1 ,mem_ar_hround 
+0x7189 020223 bne 16 ,function_ar_loop 
+0x718a 020224 call key_scheduling 
+0x718b 020225 disable user 
+0x718c 020226 branch xor_mod32 
+:      020230 key_scheduling:
+0x718d 020231 fetch 1 ,mem_ar_hround 
+0x718e 020232 arg mem_key_store ,contr 
+0x718f 020233 branch key_sched_zero ,blank 
+0x7190 020234 iforce regb 
+0x7191 020235 force 17 ,loopcnt 
+0x7192 020236 copy contr ,contw 
+:      020237 key_rotateloop:
+0x7193 020238 ifetch 1 ,contr 
+0x7194 020239 lshift3 pdata ,temp 
+0x7195 020240 rshift2 pdata ,pdata 
+0x7196 020241 rshift3 pdata ,pdata 
+0x7197 020242 ior temp ,pdata 
+0x7198 020243 istore 1 ,contw 
+0x7199 020244 loop key_rotateloop 
+0x719a 020245 setarg mem_key_store 
+0x719b 020246 iadd regb ,contr 
+0x719c 020247 force 16 ,loopcnt 
+0x719d 020248 arg mem_round_key ,contw 
+:      020249 key_select_octet_loop:
+0x719e 020250 ifetch 1 ,contr 
+0x719f 020251 istore 1 ,contw 
+0x71a0 020252 compare mem_key_store_end ,contr ,0xff 
+0x71a1 020253 nbranch key_select_octet_nwrap ,true 
+0x71a2 020254 increase -17 ,contr 
+:      020255 key_select_octet_nwrap:
+0x71a3 020256 loop key_select_octet_loop 
+0x71a4 020257 force 0 ,rega 
+0x71a5 020258 add regb ,-1 ,regc 
+0x71a6 020259 lshift2 regc ,regc 
+0x71a7 020260 lshift2 regc ,regc 
+0x71a8 020261 call enable_authrom 
+0x71a9 020262 setarg mem_b_box 
+0x71aa 020263 iadd regc ,regc 
+0x71ab 020264 arg mem_round_key ,contw 
+0x71ac 020265 force 16 ,loopcnt 
+:      020266 bias_round_key_loop:
+0x71ad 020267 ifetcht 1 ,regc 
+0x71ae 020268 ifetch 1 ,contw 
+0x71af 020269 iadd temp ,pdata 
+0x71b0 020270 istore 1 ,contw 
+0x71b1 020271 increase 1 ,regc 
+0x71b2 020272 loop bias_round_key_loop 
+0x71b3 020273 branch disable_authrom 
+:      020275 key_sched_zero:
+0x71b4 020276 force 16 ,loopcnt 
+0x71b5 020277 force 0 ,temp 
+:      020278 create_byte_16_loop:
+0x71b6 020279 ifetch 1 ,contr 
+0x71b7 020280 ixor temp ,temp 
+0x71b8 020281 loop create_byte_16_loop 
+0x71b9 020282 deposit temp 
+0x71ba 020283 istore 1 ,contr 
+0x71bb 020284 arg mem_key_store ,contr 
+0x71bc 020285 arg mem_round_key ,contw 
+0x71bd 020286 branch memcpy16 
+:      020288 xor_mod32:
+0x71be 020289 arg mem_round_key ,regb 
+:      020290 xor_mod32_ar2:
+0x71bf 020291 force 16 ,loopcnt 
+0x71c0 020292 arg mem_input_store ,rega 
+0x71c1 020293 copy rega ,contw 
+:      020294 xor_mod32_loop:
+0x71c2 020295 ifetcht 1 ,rega 
+0x71c3 020296 ifetch 1 ,regb 
+0x71c4 020297 ixor temp ,alarm 
+0x71c5 020298 and loopcnt ,3 ,regc 
+0x71c6 020299 nbranch xor_mod32_invert ,user 
+0x71c7 020300 xor_into 3 ,regc 
+:      020301 xor_mod32_invert:
+0x71c8 020302 sub regc ,1 ,regc 
+0x71c9 020303 branch xor_even ,positive 
+0x71ca 020304 iadd temp ,alarm 
+:      020305 xor_even:
+0x71cb 020306 istorer alarm ,1 ,contw 
+0x71cc 020307 increase 1 ,rega 
+0x71cd 020308 increase 1 ,regb 
+0x71ce 020309 loop xor_mod32_loop 
+0x71cf 020310 rtn 
+:      020312 el_boxes:
+0x71d0 020313 call enable_authrom 
+0x71d1 020314 force 16 ,loopcnt 
+0x71d2 020315 arg mem_input_store ,rega 
+:      020316 el_box_loop:
+0x71d3 020317 ifetch 1 ,rega 
+0x71d4 020318 arg mem_e_box ,contr 
+0x71d5 020319 and loopcnt ,3 ,regc 
+0x71d6 020320 sub regc ,1 ,null 
+0x71d7 020321 branch e_boxes ,positive 
+0x71d8 020322 arg mem_l_box ,contr 
+:      020323 e_boxes:
+0x71d9 020324 iadd contr ,contr 
+0x71da 020325 ifetch 1 ,contr 
+0x71db 020326 istore 1 ,rega 
+0x71dc 020327 increase 1 ,rega 
+0x71dd 020328 loop el_box_loop 
+0x71de 020329 branch disable_authrom 
+:      020331 pht:
+0x71df 020332 force 8 ,loopcnt 
+0x71e0 020333 arg mem_input_store ,contr 
+0x71e1 020334 copy contr ,contw 
+:      020335 pht_loop:
+0x71e2 020336 ifetchr rega ,1 ,contr 
+0x71e3 020337 ifetchr regb ,1 ,contr 
+0x71e4 020338 lshift rega ,pdata 
+0x71e5 020339 iadd regb ,pdata 
+0x71e6 020340 istore 1 ,contw 
+0x71e7 020341 deposit rega 
+0x71e8 020342 iadd regb ,pdata 
+0x71e9 020343 istore 1 ,contw 
+0x71ea 020344 loop pht_loop 
+0x71eb 020345 rtn 
+:      020348 permute:
+0x71ec 020349 setarg 0x8ae42c 
+0x71ed 020350 iforce temp 
+0x71ee 020351 force 7 ,loopcnt 
+0x71ef 020352 call permute_exchange 
+0x71f0 020353 setarg 0xd751b 
+0x71f1 020354 iforce temp 
+0x71f2 020355 force 5 ,loopcnt 
+0x71f3 020356 call permute_exchange 
+0x71f4 020357 fetchr rega ,1 ,mem_input_store + 15 
+0x71f5 020358 fetch 1 ,mem_input_store + 3 
+0x71f6 020359 store 1 ,mem_input_store + 15 
+0x71f7 020360 storer rega ,1 ,mem_input_store + 3 
+0x71f8 020361 rtn 
+:      020363 permute_exchange:
+0x71f9 020364 and temp ,0xf ,regb 
+:      020365 permute_loop:
+0x71fa 020366 and temp ,0xf ,pdata 
+0x71fb 020367 arg mem_input_store ,contw 
+0x71fc 020368 iadd contw ,contw 
+0x71fd 020369 ifetchr regc ,1 ,contw 
+0x71fe 020370 istorer rega ,1 ,contw 
+0x71ff 020371 copy regc ,rega 
+0x7200 020372 rshift4 temp ,temp 
+0x7201 020373 loop permute_loop 
+0x7202 020374 setarg mem_input_store 
+0x7203 020375 iadd regb ,contw 
+0x7204 020376 istorer rega ,1 ,contw 
+0x7205 020377 rtn 
+:      020379 add16:
+0x7206 020380 enable user 
+0x7207 020381 branch xor_add16 
+:      020383 xor16:
+0x7208 020384 disable user 
+:      020385 xor_add16:
+0x7209 020386 force 16 ,loopcnt 
+:      020387 xoradd_loop:
+0x720a 020388 ifetcht 1 ,rega 
+0x720b 020389 ifetch 1 ,regb 
+0x720c 020390 branch xoradd_add ,user 
+0x720d 020391 ixor temp ,pdata 
+0x720e 020392 branch xoradd_store 
+:      020393 xoradd_add:
+0x720f 020394 iadd temp ,pdata 
+:      020395 xoradd_store:
+0x7210 020396 istore 1 ,contw 
+0x7211 020397 increase 1 ,rega 
+0x7212 020398 increase 1 ,regb 
+0x7213 020399 loop xoradd_loop 
+0x7214 020400 rtn 
+:      020403 function_expand:
+0x7215 020404 arg mem_y ,contw 
+0x7216 020405 ifetch 6 ,rega 
+0x7217 020406 istore 6 ,contw 
+0x7218 020407 branch expand_12 ,user 
+0x7219 020408 ifetch 6 ,rega 
+0x721a 020409 branch expand_cont 
+:      020410 expand_12:
+0x721b 020411 ifetch 6 ,contr 
+:      020412 expand_cont:
+0x721c 020413 istore 6 ,contw 
+0x721d 020414 ifetch 4 ,rega 
+0x721e 020415 istore 4 ,contw 
+0x721f 020416 rtn 
+:      020418 key_offset:
+0x7220 020419 arg mem_link_key ,contr 
+0x7221 020420 arg mem_x ,contw 
+0x7222 020421 arg 0 ,temp 
+0x7223 020422 setarg 0x8395a7 
+0x7224 020423 call concatenate_temp24 
+0x7225 020424 setarg 0xb3c1df 
+0x7226 020425 call concatenate_temp24 
+0x7227 020426 setarg 0xe5e9 
+0x7228 020427 call concatenate_temp16 
+0x7229 020428 copy temp ,regab 
+0x722a 020429 disable user 
+0x722b 020430 call key_addxor 
+0x722c 020431 copy regab ,temp 
+0x722d 020432 enable user 
+0x722e 020433 branch key_addxor 
+:      020435 key_addxor:
+0x722f 020436 force 8 ,loopcnt 
+:      020437 key_addxor_loop:
+0x7230 020438 ifetch 1 ,contr 
+0x7231 020439 compare 1 ,loopcnt ,1 
+0x7232 020440 branch key_high ,user 
+0x7233 020441 branch key_xor ,true 
+:      020442 key_add:
+0x7234 020443 iadd temp ,pdata 
+0x7235 020444 branch key_store 
+:      020445 key_high:
+0x7236 020446 branch key_add ,true 
+:      020447 key_xor:
+0x7237 020448 ixor temp ,pdata 
+:      020449 key_store:
+0x7238 020450 istore 1 ,contw 
+0x7239 020451 rshift8 temp ,temp 
+0x723a 020452 loop key_addxor_loop 
+0x723b 020453 rtn 
+:      020455 copy_aco:
+0x723c 020456 fetch 6 ,mem_input_store + 4 
+0x723d 020457 store 6 ,mem_aco 
+0x723e 020458 ifetch 6 ,contr 
+0x723f 020459 istore 6 ,contw 
+0x7240 020460 rtn 
+:      020462 concatenate_temp24:
+0x7241 020463 lshift8 temp ,temp 
+:      020464 concatenate_temp16:
+0x7242 020465 lshift16 temp ,temp 
+0x7243 020466 ior temp ,temp 
+0x7244 020467 rtn 
+:      020471 loop1:
+0x7245 020472 branch loop1 
+:      020476 generate_stk:
+0x7246 020477 bpatchx patch31_4 ,mem_patch31 
+0x7247 020478 call function_s1 
+0x7248 020479 arg mem_le_ltk ,contw 
+0x7249 020480 branch store_aes_result 
+:      020483 authenticate_rconfirm:
+0x724a 020484 arg mem_le_srand ,contw 
+0x724b 020485 branch authenticate_mconfirm ,master 
+0x724c 020486 arg mem_le_mrand ,contw 
+:      020487 authenticate_mconfirm:
+0x724d 020488 copy contr ,rega 
+0x724e 020489 call memcpy16 
+0x724f 020490 call function_c1 
+0x7250 020491 arg mem_le_rconfirm ,contr 
+0x7251 020492 branch compare_res 
+:      020494 generate_confirm:
+0x7252 020495 arg mem_le_mrand ,rega 
+0x7253 020496 branch generate_mrand ,master 
+0x7254 020497 arg mem_le_srand ,rega 
+:      020498 generate_mrand:
+0x7255 020499 copy rega ,contw 
+0x7256 020500 call generate_random 
+0x7257 020501 branch function_c1 
+:      020503 generate_sk:
+0x7258 020504 arg mem_le_skdm ,contr 
+0x7259 020505 call load_data128 
+0x725a 020506 arg mem_le_ltk ,contr 
+0x725b 020507 call load_key128 
+0x725c 020508 force aes_big_endian | aes_load ,aes_ctrl 
+0x725d 020509 force 0 ,aes_ctrl 
+0x725e 020510 call wait_aes 
+0x725f 020511 arg mem_le_sk ,contw 
+0x7260 020512 branch store_aes_result 
+:      020515 first_block_counter:
+0x7261 020516 force 0x49 ,pdata 
+0x7262 020517 branch first_block 
+:      020518 first_block_data:
+0x7263 020519 force 1 ,pdata 
+:      020520 first_block:
+0x7264 020521 force regidx_data ,regext_index 
+0x7265 020522 lshift8 temp ,regext 
+0x7266 020523 ior regext ,regext 
+0x7267 020524 increase 1 ,regext_index 
+0x7268 020525 rshift8 temp ,regext 
+0x7269 020526 rshift16 regext ,regext 
+0x726a 020527 fetch 2 ,mem_le_ivm 
+0x726b 020528 lshift16 pdata ,pdata 
+0x726c 020529 ior regext ,regext 
+0x726d 020530 increase 1 ,regext_index 
+0x726e 020531 ifetch 4 ,contr 
+0x726f 020532 iforce regext 
+0x7270 020533 increase 1 ,regext_index 
+0x7271 020534 ifetch 2 ,contr 
+0x7272 020535 byteswap rega ,regext 
+0x7273 020536 lshift16 regext ,regext 
+0x7274 020537 ior regext ,regext 
+0x7275 020538 increase 1 ,regext_index 
+0x7276 020539 rtn 
+:      020543 generate_mic:
+0x7277 020544 add regc ,1 ,contr 
+0x7278 020545 ifetchr rega ,1 ,contr 
+0x7279 020546 call first_block_counter 
+0x727a 020547 call do_aes_ecb 
+0x727b 020549 force regidx_data ,regext_index 
+0x727c 020550 ifetch 1 ,regc 
+0x727d 020551 and_into 0x3 ,pdata 
+0x727e 020552 lshift16 pdata ,regext 
+0x727f 020553 set1 8 ,regext 
+0x7280 020554 call clear_hidata 
+0x7281 020555 call do_aes_cbc 
+0x7282 020557 copy rega ,loopcnt 
+0x7283 020558 add regc ,2 ,contr 
+0x7284 020559 call padding_data 
+:      020560 generate_mic_loop:
+0x7285 020561 call aes_load_data 
+0x7286 020562 call do_aes_cbc 
+0x7287 020563 deposit loopcnt 
+0x7288 020564 branch generate_mic_end ,blank 
+0x7289 020565 branch generate_mic_loop 
+:      020566 generate_mic_end:
+0x728a 020567 force regidx_result ,regext_index 
+0x728b 020568 copy regext ,regb 
+0x728c 020569 storer regb ,4 ,mem_le_mic 
+0x728d 020570 rtn 
+:      020572 aes_crypt_data:
+0x728e 020573 increase 1 ,rega 
+0x728f 020574 call first_block_data 
+0x7290 020575 call aes_init 
+0x7291 020576 copy regc ,contr 
+0x7292 020577 call load_data128 
+0x7293 020578 call do_aes_cfb 
+0x7294 020579 call store_enc_data 
+0x7295 020580 increase 16 ,regc 
+0x7296 020581 increase -16 ,regb 
+0x7297 020582 branch aes_crypt_data ,positive 
+0x7298 020583 rtn 
+:      020585 le_encrypt:
+0x7299 020586 bpatchx patch31_5 ,mem_patch31 
+0x729a 020587 arg mem_le_txheader ,regc 
+0x729b 020588 fetcht 5 ,mem_le_pcnt_tx 
+0x729c 020589 call generate_mic 
+0x729d 020590 force 0 ,rega 
+0x729e 020591 call first_block_data 
+0x729f 020592 call aes_init 
+0x72a0 020593 force regidx_data ,regext_index 
+0x72a1 020594 copy regb ,regext 
+0x72a2 020595 call do_aes_cfb 
+0x72a3 020596 arg mem_le_txpayload ,regc 
+0x72a4 020597 fetch 1 ,mem_le_txlen 
+0x72a5 020598 add pdata ,-1 ,regb 
+0x72a6 020599 iadd regc ,contw 
+0x72a7 020600 force regidx_result ,regext_index 
+0x72a8 020601 istorer regext ,4 ,contw 
+0x72a9 020602 force 0 ,rega 
+0x72aa 020603 call aes_crypt_data 
+0x72ab 020604 fetch 1 ,mem_le_txlen 
+0x72ac 020605 increase 4 ,pdata 
+0x72ad 020606 store 1 ,mem_le_txlen 
+0x72ae 020607 fetcht 5 ,mem_le_pcnt_tx 
+0x72af 020608 increase 1 ,temp 
+0x72b0 020609 storet 5 ,mem_le_pcnt_tx 
+0x72b1 020610 rtn 
+:      020612 le_decrypt:
+0x72b2 020613 fetcht 5 ,mem_le_pcnt_rx 
+0x72b3 020614 force 0 ,rega 
+0x72b4 020615 call first_block_data 
+0x72b5 020616 call aes_init 
+0x72b6 020617 fetch 1 ,mem_le_rxbuf + 1 
+0x72b7 020618 arg mem_le_rxbuf + 2 ,regc 
+0x72b8 020619 add pdata ,-1 ,regb 
+0x72b9 020620 increase -4 ,pdata 
+0x72ba 020621 store 1 ,mem_le_rxbuf + 1 
+0x72bb 020622 iadd regc ,contr 
+0x72bc 020623 force regidx_data ,regext_index 
+0x72bd 020624 ifetchr regext ,4 ,contr 
+0x72be 020625 call do_aes_cfb 
+0x72bf 020626 force regidx_result ,regext_index 
+0x72c0 020627 storer regext ,4 ,mem_le_peer_mic 
+0x72c1 020628 force 0 ,rega 
+0x72c2 020629 call aes_crypt_data 
+0x72c3 020630 arg mem_le_rxbuf ,regc 
+0x72c4 020631 call generate_mic 
+0x72c5 020632 fetch 4 ,mem_le_peer_mic 
+0x72c6 020633 isub regb ,pdata 
+0x72c7 020634 nrtn blank 
+0x72c8 020635 fetch 4 ,mem_le_last_mic 
+0x72c9 020636 isub regb ,pdata 
+0x72ca 020637 rtn blank 
+0x72cb 020638 storet 4 ,mem_le_last_mic 
+0x72cc 020639 fetch 5 ,mem_le_pcnt_rx 
+0x72cd 020640 increase 1 ,pdata 
+0x72ce 020641 store 5 ,mem_le_pcnt_rx 
+0x72cf 020642 force 0 ,pdata 
+0x72d0 020643 rtn 
+:      020645 wait_aes:
+0x72d1 020646 nbranch wait_aes ,aes_ready 
+0x72d2 020647 rtn 
+:      020650 do_aes_ecb256:
+0x72d3 020651 force aes_load | aes_256 ,aes_ctrl 
+0x72d4 020652 force aes_256 ,aes_ctrl 
+0x72d5 020653 branch wait_aes 
+:      020655 do_aes_ecb192:
+0x72d6 020656 force aes_load | aes_192 ,aes_ctrl 
+0x72d7 020657 force aes_192 ,aes_ctrl 
+0x72d8 020658 branch wait_aes 
+:      020660 do_aes_ecb:
+0x72d9 020661 force aes_load ,aes_ctrl 
+0x72da 020662 force 0 ,aes_ctrl 
+0x72db 020663 branch wait_aes 
+:      020666 do_aes_cbc:
+0x72dc 020667 force aes_load | aes_cbc ,aes_ctrl 
+0x72dd 020668 force 0 ,aes_ctrl 
+0x72de 020669 branch wait_aes 
+:      020671 do_aes_cfb:
+0x72df 020672 force aes_load | aes_cfb ,aes_ctrl 
+0x72e0 020673 force aes_cfb ,aes_ctrl 
+0x72e1 020674 branch wait_aes 
+:      020676 do_aes_ecb_be:
+0x72e2 020677 force aes_big_endian | aes_load ,aes_ctrl 
+0x72e3 020678 force aes_big_endian ,aes_ctrl 
+0x72e4 020679 branch wait_aes 
+:      020681 do_aes_cbc_be:
+0x72e5 020682 force aes_big_endian | aes_load | aes_cbc ,aes_ctrl 
+0x72e6 020683 force aes_big_endian ,aes_ctrl 
+0x72e7 020684 branch wait_aes 
+:      020687 aes_init:
+0x72e8 020688 force aes_initialize ,aes_ctrl 
+0x72e9 020689 force 0 ,aes_ctrl 
+0x72ea 020690 rtn 
+:      020692 function_s1:
+0x72eb 020693 force regidx_data ,regext_index 
+0x72ec 020694 fetch 4 ,mem_le_mrand 
+0x72ed 020695 iforce regext 
+0x72ee 020696 increase 1 ,regext_index 
+0x72ef 020697 ifetch 4 ,contr 
+0x72f0 020698 iforce regext 
+0x72f1 020699 increase 1 ,regext_index 
+0x72f2 020700 fetch 4 ,mem_le_srand 
+0x72f3 020701 iforce regext 
+0x72f4 020702 increase 1 ,regext_index 
+0x72f5 020703 ifetch 4 ,contr 
+0x72f6 020704 iforce regext 
+0x72f7 020705 increase 1 ,regext_index 
+0x72f8 020706 call aes_clear 
+0x72f9 020707 increase -4 ,regext_index 
+0x72fa 020708 fetch 4 ,mem_le_tk 
+0x72fb 020709 copy pdata ,regext 
+0x72fc 020710 branch do_aes_ecb_be 
+:      020713 function_c1:
+0x72fd 020714 copy rega ,contr 
+0x72fe 020715 call load_data128 
+0x72ff 020716 force aes_big_endian | aes_initialize ,aes_ctrl 
+0x7300 020717 force 0 ,aes_ctrl 
+0x7301 020718 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7302 020719 fetcht 1 ,mem_le_adv_own_addr_type 
+0x7303 020720 nbranch function_c1_irat ,master 
+0x7304 020721 fetch 1 ,mem_le_conn_own_addr_type 
+0x7305 020722 fetcht 1 ,mem_le_conn_peer_addr_type 
+:      020723 function_c1_irat:
+0x7306 020724 store 1 ,mem_le_iat 
+0x7307 020725 storet 1 ,mem_le_rat 
+0x7308 020726 arg mem_le_iat ,contr 
+0x7309 020727 call load_data128 
+0x730a 020728 call aes_clear 
+0x730b 020729 increase -4 ,regext_index 
+0x730c 020730 fetch 4 ,mem_le_tk 
+0x730d 020731 copy pdata ,regext 
+0x730e 020732 force aes_big_endian | aes_cbc | aes_load ,aes_ctrl 
+0x730f 020733 force aes_big_endian ,aes_ctrl 
+0x7310 020734 fetch 6 ,mem_le_lap 
+0x7311 020735 fetcht 6 ,mem_le_plap 
+0x7312 020736 branch function_c1_master ,master 
+0x7313 020737 fetch 6 ,mem_le_plap 
+0x7314 020738 fetcht 6 ,mem_le_lap 
+:      020739 function_c1_master:
+0x7315 020740 force regidx_data ,regext_index 
+0x7316 020741 copy temp ,regext 
+0x7317 020742 increase 1 ,regext_index 
+0x7318 020743 rshift32 temp ,regext 
+0x7319 020744 lshift16 pdata ,pdata 
+0x731a 020745 ior regext ,regext 
+0x731b 020746 increase 1 ,regext_index 
+0x731c 020747 rshift32 pdata ,regext 
+0x731d 020748 increase 1 ,regext_index 
+0x731e 020749 force 0 ,regext 
+0x731f 020750 branch do_aes_cbc_be 
+:      020753 padding_data:
+0x7320 020754 compare 0 ,loopcnt ,3 
+0x7321 020755 rtn true 
+0x7322 020756 deposit contr 
+0x7323 020757 iadd loopcnt ,contw 
+0x7324 020758 force 0 ,pdata 
+:      020759 padding_loop:
+0x7325 020760 istore 1 ,contw 
+0x7326 020761 increase 1 ,loopcnt 
+0x7327 020762 compare 0 ,loopcnt ,3 
+0x7328 020763 rtn true 
+0x7329 020764 branch padding_loop 
+:      020766 aes_load_data:
+0x732a 020767 force regidx_data ,regext_index 
+:      020768 load_data_loop:
+0x732b 020769 deposit loopcnt 
+0x732c 020770 branch load_data_padding ,blank 
+0x732d 020771 ifetch 4 ,contr 
+0x732e 020772 increase -4 ,loopcnt 
+:      020773 load_data_padding:
+0x732f 020774 iforce regext 
+0x7330 020775 increase 1 ,regext_index 
+0x7331 020776 compare regidx_key ,regext_index ,0xf 
+0x7332 020777 rtn true 
+0x7333 020778 branch load_data_loop 
+:      020780 load_key256:
+0x7334 020781 force 8 ,loopcnt 
+0x7335 020782 branch load_key 
+:      020783 load_key192:
+0x7336 020784 force 6 ,loopcnt 
+0x7337 020785 branch load_key 
+:      020786 load_key128:
+0x7338 020787 force 4 ,loopcnt 
+:      020788 load_key:
+0x7339 020789 force regidx_key ,regext_index 
+0x733a 020790 branch load_regext_loop 
+:      020791 load_data128:
+0x733b 020792 force regidx_data ,regext_index 
+0x733c 020793 force 4 ,loopcnt 
+:      020794 load_regext_loop:
+0x733d 020796 ifetch 4 ,contr 
+0x733e 020797 icopy regext 
+0x733f 020798 increase 1 ,regext_index 
+0x7340 020799 loop load_regext_loop 
+0x7341 020800 rtn 
+:      020803 load_sk:
+0x7342 020804 arg mem_le_sk ,contr 
+0x7343 020805 branch load_key128 
+:      020807 clear_hidata:
+0x7344 020808 force 4 ,loopcnt 
+0x7345 020809 branch clear_data_rest 
+:      020811 aes_clear_data:
+0x7346 020812 force regidx_data ,regext_index 
+:      020813 aes_clear:
+0x7347 020814 force 4 ,loopcnt 
+:      020815 clear_loop:
+0x7348 020816 force 0 ,regext 
+:      020817 clear_data_rest:
+0x7349 020818 increase 1 ,regext_index 
+0x734a 020819 loop clear_loop 
+0x734b 020820 rtn 
+:      020822 store_aes_result:
+0x734c 020823 force regidx_result ,regext_index 
+0x734d 020824 force 4 ,loopcnt 
+:      020825 send_aes_result_loop:
+0x734e 020826 deposit regext 
+0x734f 020827 istore 4 ,contw 
+0x7350 020828 increase 1 ,regext_index 
+0x7351 020829 loop send_aes_result_loop 
+0x7352 020830 rtn 
+:      020832 store_enc_data:
+0x7353 020833 force regidx_result ,regext_index 
+0x7354 020834 copy regc ,contw 
+0x7355 020835 add regb ,1 ,loopcnt 
+0x7356 020836 sub loopcnt ,15 ,null 
+0x7357 020837 branch store_enc_loop ,positive 
+0x7358 020838 force 16 ,loopcnt 
+:      020839 store_enc_loop:
+0x7359 020840 deposit regext 
+0x735a 020841 sub loopcnt ,3 ,null 
+0x735b 020842 branch store_enc_byte ,positive 
+0x735c 020843 istore 4 ,contw 
+0x735d 020844 increase -4 ,loopcnt 
+0x735e 020845 rtn zero 
+0x735f 020846 increase 1 ,regext_index 
+0x7360 020847 branch store_enc_loop 
+:      020848 store_enc_byte:
+0x7361 020849 istore 1 ,contw 
+0x7362 020850 rshift8 pdata ,pdata 
+0x7363 020851 loop store_enc_byte 
+0x7364 020852 rtn 
+:      020855 compare_res:
+0x7365 020856 force regidx_result ,regext_index 
+0x7366 020857 force 4 ,loopcnt 
+:      020858 compare_res_loop:
+0x7367 020859 ifetch 4 ,contr 
+0x7368 020860 isub regext ,null 
+0x7369 020861 nrtn zero 
+0x736a 020862 increase 1 ,regext_index 
+0x736b 020863 loop compare_res_loop 
+0x736c 020864 force 0 ,null 
+0x736d 020865 rtn 
+:      020867 enable_authrom:
+0x736e 020868 fetch 1 ,core_config 
+0x736f 020869 set1 clock_on_auth_rom ,pdata 
+0x7370 020870 store 1 ,core_config 
+0x7371 020871 rtn 
+:      020873 disable_authrom:
+0x7372 020874 fetch 1 ,core_config 
+0x7373 020875 set0 clock_on_auth_rom ,pdata 
+0x7374 020876 store 1 ,core_config 
+0x7375 020877 rtn 
+:      020879 init_memp:
+0x7376 020880 arg mem_p ,contw 
+0x7377 020881 setsect 0 ,0x3ffff 
+0x7378 020882 setsect 1 ,0x3ffff 
+0x7379 020883 setsect 2 ,0x3ffff 
+0x737a 020884 setsect 3 ,0x3fbff 
+0x737b 020885 istore 9 ,contw 
+0x737c 020886 setsect 0 ,0x3ffff 
+0x737d 020887 setsect 1 ,0x3ffff 
+0x737e 020888 setsect 2 ,0x3ffff 
+0x737f 020889 setsect 3 ,0x3ffff 
+0x7380 020890 istore 9 ,contw 
+0x7381 020891 setsect 0 ,0x3ffff 
+0x7382 020892 setsect 1 ,0x3ffff 
+0x7383 020893 setsect 2 ,0x3cfff 
+0x7384 020894 setsect 3 ,0x3ffff 
+0x7385 020895 istore 9 ,contw 
+0x7386 020896 setsect 0 ,0x3ffff 
+0x7387 020897 setsect 1 ,0x3ffff 
+0x7388 020898 setsect 2 ,0x3ffef 
+0x7389 020899 setsect 3 ,0x3ffff 
+0x738a 020900 istore 9 ,contw 
+0x738b 020901 setsect 0 ,0x3ffff 
+0x738c 020902 setsect 1 ,0x3ffff 
+0x738d 020903 setsect 2 ,0x3ffff 
+0x738e 020904 setsect 3 ,0x3ffff 
+0x738f 020905 istore 9 ,contw 
+0x7390 020906 setsect 0 ,0x3ffff 
+0x7391 020907 setsect 1 ,0x26c7f 
+0x7392 020908 setsect 2 ,0x146b 
+0x7393 020909 setsect 3 ,0x37bb3 
+0x7394 020910 istore 9 ,contw 
+0x7395 020911 setsect 0 ,0x1feb8 
+0x7396 020912 setsect 1 ,0x10c12 
+0x7397 020913 setsect 2 ,0x2b722 
+0x7398 020914 setsect 3 ,0x29fa6 
+0x7399 020915 istore 9 ,contw 
+0x739a 020916 setsect 0 ,0xe70f 
+0x739b 020917 setsect 1 ,0x16720 
+0x739c 020918 setsect 2 ,0x519e 
+0x739d 020919 setsect 3 ,0x19084 
+0x739e 020920 istore 9 ,contw 
+0x739f 020921 setsect 0 ,0x31012 
+0x73a0 020922 setsect 1 ,0x360bf 
+0x73a1 020923 setsect 2 ,0x3f0af 
+0x73a2 020924 setsect 3 ,0x3d3 
+0x73a3 020925 istore 9 ,contw 
+0x73a4 020926 setsect 0 ,0x3a188 
+0x73a5 020927 setsect 1 ,0x3ad0 
+0x73a6 020928 setsect 2 ,0x3cbf2 
+0x73a7 020929 setsect 3 ,0x243d9 
+0x73a8 020930 istore 9 ,contw 
+0x73a9 020931 setsect 0 ,0x2b030 
+0x73aa 020932 setsect 1 ,0x36a03 
+0x73ab 020933 setsect 2 ,0x11188 
+0x73ac 020934 setsect 3 ,0x1e520 
+0x73ad 020935 istore 9 ,contw 
+0x73ae 020936 setsect 0 ,0x3a11e 
+0x73af 020937 setsect 1 ,0xfe5d 
+0x73b0 020938 setsect 2 ,0xdd57 
+0x73b1 020939 setsect 3 ,0x1ac93 
+0x73b2 020940 istore 9 ,contw 
+0x73b3 020941 setsect 0 ,0x11ed 
+0x73b4 020942 setsect 1 ,0x218c4 
+0x73b5 020943 setsect 2 ,0x8da7 
+0x73b6 020944 setsect 3 ,0x257ff 
+0x73b7 020945 istore 9 ,contw 
+0x73b8 020946 setsect 0 ,0x3192b 
+0x73b9 020947 setsect 1 ,0x34641 
+0x73ba 020948 setsect 2 ,0x1be0c 
+0x73bb 020949 setsect 3 ,0x366ad 
+0x73bc 020950 istore 9 ,contw 
+0x73bd 020951 setsect 0 ,0x1f83 
+0x73be 020952 setsect 1 ,0x15a23 
+0x73bf 020953 setsect 2 ,0x3f9b0 
+0x73c0 020954 setsect 3 ,0x3949 
+0x73c1 020955 istore 9 ,contw 
+0x73c2 020956 setsect 0 ,0x13a51 
+0x73c3 020957 setsect 1 ,0x153fd 
+0x73c4 020958 setsect 2 ,0x3372a 
+0x73c5 020959 setsect 3 ,0xf1bb 
+0x73c6 020960 istore 9 ,contw 
+0x73c7 020961 setsect 0 ,0x3ae85 
+0x73c8 020962 setsect 1 ,0x1eed9 
+0x73c9 020963 setsect 2 ,0x9e66 
+0x73ca 020964 setsect 3 ,0x1a8 
+0x73cb 020965 istore 8 ,contw 
+0x73cc 020966 rtn 
+:      020970 init_memp_256:
+0x73cd 020971 arg mem_p_256 ,contw 
+0x73ce 020972 setsect 0 ,0x3ffff 
+0x73cf 020973 setsect 1 ,0x3ffff 
+0x73d0 020974 setsect 2 ,0x3ffff 
+0x73d1 020975 setsect 3 ,0x3ffff 
+0x73d2 020976 istore 9 ,contw 
+0x73d3 020977 setsect 0 ,0x3ffff 
+0x73d4 020978 setsect 1 ,0x3f 
+0x73d5 020979 setsect 2 ,0x0 
+0x73d6 020980 setsect 3 ,0x0 
+0x73d7 020981 istore 9 ,contw 
+0x73d8 020982 setsect 0 ,0x0 
+0x73d9 020983 setsect 1 ,0x0 
+0x73da 020984 setsect 2 ,0x1000 
+0x73db 020985 setsect 3 ,0x0 
+0x73dc 020986 istore 9 ,contw 
+0x73dd 020987 setsect 0 ,0x3ff00 
+0x73de 020988 setsect 1 ,0x3ffff 
+0x73df 020989 setsect 2 ,0x3ffcf 
+0x73e0 020990 setsect 3 ,0x3ffff 
+0x73e1 020991 istore 9 ,contw 
+0x73e2 020992 setsect 0 ,0x3ffff 
+0x73e3 020993 setsect 1 ,0x3ffff 
+0x73e4 020994 setsect 2 ,0x3ffff 
+0x73e5 020995 setsect 3 ,0x3ff 
+0x73e6 020996 istore 9 ,contw 
+0x73e7 020997 setsect 0 ,0x0 
+0x73e8 020998 setsect 1 ,0x0 
+0x73e9 020999 setsect 2 ,0x0 
+0x73ea 021000 setsect 3 ,0x0 
+0x73eb 021001 istore 9 ,contw 
+0x73ec 021002 setsect 0 ,0x10000 
+0x73ed 021003 setsect 1 ,0x0 
+0x73ee 021004 setsect 2 ,0x3f000 
+0x73ef 021005 setsect 3 ,0x3ffff 
+0x73f0 021006 istore 9 ,contw 
+0x73f1 021007 setsect 0 ,0x296ff 
+0x73f2 021008 setsect 1 ,0x22630 
+0x73f3 021009 setsect 2 ,0x3945d 
+0x73f4 021010 setsect 3 ,0x3d284 
+0x73f5 021011 istore 9 ,contw 
+0x73f6 021012 setsect 0 ,0x333a0 
+0x73f7 021013 setsect 1 ,0x4b7a 
+0x73f8 021014 setsect 2 ,0x37d8 
+0x73f9 021015 setsect 3 ,0x3c9dc 
+0x73fa 021016 istore 9 ,contw 
+0x73fb 021017 setsect 0 ,0x3a440 
+0x73fc 021018 setsect 1 ,0x1b958 
+0x73fd 021019 setsect 2 ,0x38bce 
+0x73fe 021020 setsect 3 ,0x1091f 
+0x73ff 021021 istore 9 ,contw 
+0x7400 021022 setsect 0 ,0x2e12c 
+0x7401 021023 setsect 1 ,0x1f47c 
+0x7402 021024 setsect 2 ,0x356b1 
+0x7403 021025 setsect 3 ,0x2fd47 
+0x7404 021026 istore 9 ,contw 
+0x7405 021027 setsect 0 ,0x6837 
+0x7406 021028 setsect 1 ,0x2ed90 
+0x7407 021029 setsect 2 ,0x1ecec 
+0x7408 021030 setsect 3 ,0x1acc5 
+0x7409 021031 istore 9 ,contw 
+0x740a 021032 setsect 0 ,0x23357 
+0x740b 021033 setsect 1 ,0x18af3 
+0x740c 021034 setsect 2 ,0xf9e1 
+0x740d 021035 setsect 3 ,0x129f0 
+0x740e 021036 istore 9 ,contw 
+0x740f 021037 setsect 0 ,0x2e7eb 
+0x7410 021038 setsect 1 ,0x3e6e3 
+0x7411 021039 setsect 2 ,0x3e1a7 
+0x7412 021040 setsect 3 ,0x10b8b 
+0x7413 021041 istore 9 ,contw 
+0x7414 021042 setsect 0 ,0x24fe3 
+0x7415 021043 setsect 1 ,0x20ef 
+0x7416 021044 setsect 2 ,0x1b5a6 
+0x7417 021045 setsect 3 ,0xdc2f 
+0x7418 021046 istore 9 ,contw 
+0x7419 021047 setsect 0 ,0x13860 
+0x741a 021048 setsect 1 ,0x2bd69 
+0x741b 021049 setsect 2 ,0x391a 
+0x741c 021050 setsect 3 ,0x1b222 
+0x741d 021051 istore 9 ,contw 
+0x741e 021052 rtn 
+:      021055 publickey_init:
+0x741f 021056 fetch 1 ,mem_ssp_enable 
+0x7420 021057 nbranch sp_initialize ,blank 
+0x7421 021058 branch sp_initialize_256 
+:      021060 sp_calc_sequence_256_check:
+0x7422 021061 bpatchx patch31_6 ,mem_patch31 
+0x7423 021062 fetch 1 ,mem_ssp_enable 
+0x7424 021063 rtn blank 
+0x7425 021064 fetch 1 ,mem_sp_local_key_invalid 
+0x7426 021065 rtnne sp_key_valid 
+0x7427 021066 fetch 1 ,mem_le_secure_connect_enable 
+0x7428 021067 rtn blank 
+0x7429 021068 fetch 1 ,mem_le_sc_local_key_invalid 
+0x742a 021069 rtneq sp_key_valid_256 
+0x742b 021070 fetch 2 ,mem_ui_state_map 
+0x742c 021071 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+0x742d 021072 fetch 1 ,mem_le_sc_calc 
+0x742e 021073 beq sp_calc_standby ,sp_initialize_256 
+0x742f 021074 rtn 
+:      021075 stop_publickey_calc_256:
+0x7430 021076 jam sp_calc_standby ,mem_le_sc_calc 
+0x7431 021077 rtn 
+:      021080 sp_initialize:
+0x7432 021081 bpatchx patch31_7 ,mem_patch31 
+0x7433 021082 fetch 1 ,mem_ssp_enable 
+0x7434 021083 branch ssp_disable ,blank 
+0x7435 021084 call ssp_enable 
+0x7436 021085 call sp_clear_flags 
+0x7437 021086 branch sp_pubkey_calc 
+:      021088 sp_clear_flags:
+0x7438 021089 setarg 0 
+0x7439 021090 store 8 ,mem_sp_state_start 
+0x743a 021091 store 4 ,mem_sp_flag_start 
+0x743b 021092 store 7 ,mem_sp_iocap_remote 
+0x743c 021093 rtn 
+:      021095 sp_generate_local_key:
+0x743d 021096 jam sp_flag_commit ,mem_sp_flag 
+0x743e 021097 branch sp_generate_local_key0 
+:      021098 sp_master_generate_local_key:
+0x743f 021099 fetch 1 ,mem_sp_local_key_invalid 
+0x7440 021100 beq sp_key_valid ,sp_dhkey_calc 
+0x7441 021101 branch assert 
+:      021102 sp_generate_local_key0:
+0x7442 021103 fetch 1 ,mem_sp_local_key_invalid 
+0x7443 021104 beq sp_key_valid ,sp_start_send_pubkey 
+0x7444 021105 branch sp_pubkey_calc 
+:      021107 sp_start_send_pubkey:
+0x7445 021108 call sp_dhkey_calc 
+0x7446 021109 fetch 1 ,mem_master_sp_state 
+0x7447 021110 nrtn blank 
+0x7448 021111 jam sp_stat_key_send ,mem_sp_state 
+0x7449 021112 rtn 
+:      021115 sp_calc_check_publickey_256:
+0x744a 021116 call sp_calc_b256 
+0x744b 021117 arg mem_le_pubkey_remote_y_256 ,rega 
+0x744c 021118 arg mem_t7_256 ,contw 
+0x744d 021119 call bn_sqrmod_256 
+0x744e 021120 arg mem_le_pubkey_remote_x_256 ,rega 
+0x744f 021121 arg mem_t2_256 ,contw 
+0x7450 021122 call bn_sqrmod_256 
+0x7451 021123 arg mem_t2_256 ,rega 
+0x7452 021124 arg mem_le_pubkey_remote_x_256 ,regb 
+0x7453 021125 arg mem_t2_256 ,contw 
+0x7454 021126 call bn_mulmod_256 
+0x7455 021127 arg mem_a_256 ,rega 
+0x7456 021128 arg mem_le_pubkey_remote_x_256 ,regb 
+0x7457 021129 arg mem_t3_256 ,contw 
+0x7458 021130 call bn_mulmod_256 
+0x7459 021131 arg mem_t3_256 ,rega 
+0x745a 021132 arg mem_t2_256 ,regb 
+0x745b 021133 arg mem_t2_256 ,contw 
+0x745c 021134 call bn_addmod_256 
+0x745d 021135 arg mem_t0_256 ,rega 
+0x745e 021136 arg mem_t2_256 ,regb 
+0x745f 021137 arg mem_t0_256 ,contw 
+0x7460 021138 call bn_addmod_256 
+0x7461 021139 arg 32 ,loopcnt 
+0x7462 021140 arg mem_t7_256 ,rega 
+0x7463 021141 arg mem_t0_256 ,regb 
+0x7464 021142 branch string_compare 
+:      021144 sp_calc_b256:
+0x7465 021145 arg mem_gy_256 ,rega 
+0x7466 021146 arg mem_t0_256 ,contw 
+0x7467 021147 call bn_sqrmod_256 
+0x7468 021148 arg mem_gx_256 ,rega 
+0x7469 021149 arg mem_t2_256 ,contw 
+0x746a 021150 call bn_sqrmod_256 
+0x746b 021151 arg mem_t2_256 ,rega 
+0x746c 021152 arg mem_gx_256 ,regb 
+0x746d 021153 arg mem_t2_256 ,contw 
+0x746e 021154 call bn_mulmod_256 
+0x746f 021155 arg mem_a_256 ,rega 
+0x7470 021156 arg mem_gx_256 ,regb 
+0x7471 021157 arg mem_t3_256 ,contw 
+0x7472 021158 call bn_mulmod_256 
+0x7473 021159 arg mem_t3_256 ,rega 
+0x7474 021160 arg mem_t2_256 ,regb 
+0x7475 021161 arg mem_t2_256 ,contw 
+0x7476 021162 call bn_addmod_256 
+0x7477 021163 arg mem_t0_256 ,rega 
+0x7478 021164 arg mem_t2_256 ,regb 
+0x7479 021165 arg mem_t0_256 ,contw 
+0x747a 021166 branch bn_submod_256 
+:      021168 sp_calc_check_publickey:
+0x747b 021169 call sp_calc_b 
+0x747c 021170 arg mem_sp_pubkey_remote_y ,rega 
+0x747d 021171 arg mem_t7_256 ,contw 
+0x747e 021172 call bn_sqrmod 
+0x747f 021173 arg mem_sp_pubkey_remote_x ,rega 
+0x7480 021174 arg mem_t2_256 ,contw 
+0x7481 021175 call bn_sqrmod 
+0x7482 021176 arg mem_t2_256 ,rega 
+0x7483 021177 arg mem_sp_pubkey_remote_x ,regb 
+0x7484 021178 arg mem_t2_256 ,contw 
+0x7485 021179 call bn_mulmod 
+0x7486 021180 arg mem_a ,rega 
+0x7487 021181 arg mem_sp_pubkey_remote_x ,regb 
+0x7488 021182 arg mem_t3_256 ,contw 
+0x7489 021183 call bn_mulmod 
+0x748a 021184 arg mem_t3_256 ,rega 
+0x748b 021185 arg mem_t2_256 ,regb 
+0x748c 021186 arg mem_t2_256 ,contw 
+0x748d 021187 call bn_addmod 
+0x748e 021188 arg mem_t0_256 ,rega 
+0x748f 021189 arg mem_t2_256 ,regb 
+0x7490 021190 arg mem_t0_256 ,contw 
+0x7491 021191 call bn_addmod 
+0x7492 021192 arg 24 ,loopcnt 
+0x7493 021193 arg mem_t7_256 ,rega 
+0x7494 021194 arg mem_t0_256 ,regb 
+0x7495 021195 branch string_compare 
+:      021197 sp_calc_b:
+0x7496 021198 arg mem_gy ,rega 
+0x7497 021199 arg mem_t0_256 ,contw 
+0x7498 021200 call bn_sqrmod 
+0x7499 021201 arg mem_gx ,rega 
+0x749a 021202 arg mem_t2_256 ,contw 
+0x749b 021203 call bn_sqrmod 
+0x749c 021204 arg mem_t2_256 ,rega 
+0x749d 021205 arg mem_gx ,regb 
+0x749e 021206 arg mem_t2_256 ,contw 
+0x749f 021207 call bn_mulmod 
+0x74a0 021208 arg mem_a ,rega 
+0x74a1 021209 arg mem_gx ,regb 
+0x74a2 021210 arg mem_t3_256 ,contw 
+0x74a3 021211 call bn_mulmod 
+0x74a4 021212 arg mem_t3_256 ,rega 
+0x74a5 021213 arg mem_t2_256 ,regb 
+0x74a6 021214 arg mem_t2_256 ,contw 
+0x74a7 021215 call bn_addmod 
+0x74a8 021216 arg mem_t0_256 ,rega 
+0x74a9 021217 arg mem_t2_256 ,regb 
+0x74aa 021218 arg mem_t0_256 ,contw 
+0x74ab 021219 branch bn_submod 
+:      021222 sp_calculate_commitment:
+0x74ac 021223 fetch 1 ,mem_sp_calc 
+0x74ad 021224 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+0x74ae 021225 call sp_local_random_key_generator 
+0x74af 021226 arg mem_sp_prarm_stack ,contw 
+0x74b0 021227 setarg mem_sp_random_local_end 
+0x74b1 021228 istore 2 ,contw 
+0x74b2 021229 setarg mem_sp_pubkey_local_x_end 
+0x74b3 021230 istore 2 ,contw 
+0x74b4 021231 setarg mem_sp_pubkey_remote_x_end 
+0x74b5 021232 istore 2 ,contw 
+0x74b6 021233 branch sp_calculate_commitment0 
+:      021234 master_sp_calculate_commitment:
+0x74b7 021235 arg mem_sp_prarm_stack ,contw 
+0x74b8 021236 setarg mem_sp_random_remote_end 
+0x74b9 021237 istore 2 ,contw 
+0x74ba 021238 setarg mem_sp_pubkey_remote_x_end 
+0x74bb 021239 istore 2 ,contw 
+0x74bc 021240 setarg mem_sp_pubkey_local_x_end 
+0x74bd 021241 istore 2 ,contw 
+:      021242 sp_calculate_commitment0:
+0x74be 021243 call function_f1 
+0x74bf 021244 fetch 1 ,mem_master_sp_state 
+0x74c0 021245 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+0x74c1 021246 jam sp_flag_commit ,mem_sp_flag 
+0x74c2 021247 jam sp_stat_commit_send ,mem_sp_state 
+0x74c3 021248 rtn 
+:      021249 master_sp_calculate_commitment0:
+0x74c4 021250 jam sp_stat_commitment_compare ,mem_master_sp_state 
+0x74c5 021251 call sp_master_generate_local_key 
+0x74c6 021252 branch master_set_mem_master_sp_flag 
+:      021254 sp_local_random_key_generator:
+0x74c7 021255 arg mem_sp_random_local ,contw 
+0x74c8 021256 force 8 ,queue 
+0x74c9 021257 branch random_generator 
+:      021259 sp_calculate_commitment_wait_dhkey_calc:
+0x74ca 021260 jam sp_flag_commit ,mem_sp_flag 
+0x74cb 021261 rtn 
+:      021263 sp_confirm_check:
+0x74cc 021265 bpatchx patch32_0 ,mem_patch32 
+0x74cd 021266 arg mem_addr_value ,contw 
+0x74ce 021267 fetch 6 ,mem_lap 
+0x74cf 021268 istore 6 ,contw 
+0x74d0 021269 fetch 6 ,mem_plap 
+0x74d1 021270 istore 6 ,contw 
+0x74d2 021271 fetch 3 ,mem_sp_iocap_remote 
+0x74d3 021272 istore 3 ,contw 
+0x74d4 021274 call function_f3a 
+0x74d5 021276 arg mem_sp_calc_result_high ,rega 
+0x74d6 021277 arg mem_sp_check_result ,regb 
+0x74d7 021278 force 4 ,queue 
+0x74d8 021279 call compare4 
+0x74d9 021280 nbranch sp_confirm_check_failed ,true 
+0x74da 021282 call sp_confirm_check_success 
+0x74db 021283 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x74dc 021284 branch tid_set_reply 
+:      021286 sp_confirm_check_success:
+0x74dd 021287 fetch 1 ,mem_master_sp_state 
+0x74de 021288 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+0x74df 021289 jam sp_stat_confirm_calc ,mem_sp_state 
+0x74e0 021290 jam sp_flag_commit ,mem_sp_flag 
+0x74e1 021291 jam lmp_accepted ,mem_lmo_opcode2 
+0x74e2 021292 rtn 
+:      021293 sp_confirm_check_success_master:
+0x74e3 021294 jam lmp_accepted ,mem_lmo_opcode2 
+0x74e4 021295 jam sp_state_end ,mem_master_sp_state 
+0x74e5 021296 branch master_set_mem_master_sp_flag 
+:      021299 sp_confirm_check_failed:
+0x74e6 021300 fetch 1 ,mem_master_sp_state 
+0x74e7 021301 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+0x74e8 021302 jam sp_stat_null ,mem_sp_state 
+0x74e9 021303 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x74ea 021305 jam authentication_failure_error ,mem_lmo_reason2 
+0x74eb 021306 rtn 
+:      021307 sp_confirm_check_failed_master:
+0x74ec 021308 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x74ed 021309 jam sp_stat_null ,mem_master_sp_state 
+0x74ee 021310 rtn 
+:      021312 sp_confirm_calc:
+0x74ef 021313 fetch 1 ,mem_sp_dh_ready 
+0x74f0 021314 beq sp_flag_commit ,sp_confirm_calc_ready 
+0x74f1 021315 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x74f2 021316 branch master_set_mem_master_sp_flag 
+:      021317 sp_confirm_calc_ready:
+0x74f3 021318 arg mem_addr_value ,contw 
+0x74f4 021319 fetch 6 ,mem_plap 
+0x74f5 021320 istore 6 ,contw 
+0x74f6 021321 fetch 6 ,mem_lap 
+0x74f7 021322 istore 6 ,contw 
+0x74f8 021323 fetch 3 ,mem_sp_iocap_local 
+0x74f9 021324 istore 3 ,contw 
+0x74fa 021326 call function_f3b 
+0x74fb 021327 fetch 1 ,mem_master_sp_state 
+0x74fc 021328 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+0x74fd 021329 jam sp_stat_confirm_send ,mem_sp_state 
+0x74fe 021330 jam sp_flag_commit ,mem_sp_flag 
+0x74ff 021331 rtn 
+:      021332 sp_confirm_calc_master:
+0x7500 021333 jam sp_stat_confirm_send ,mem_master_sp_state 
+0x7501 021334 jam sp_flag_commit ,mem_master_sp_flag 
+0x7502 021335 rtn 
+:      021337 sp_master_key_prarm_push:
+0x7503 021338 arg mem_sp_prarm_stack ,contw 
+0x7504 021339 fetch 6 ,mem_plap 
+0x7505 021340 istore 6 ,contw 
+0x7506 021341 fetch 6 ,mem_lap 
+0x7507 021342 istore 6 ,contw 
+0x7508 021343 setarg mem_sp_random_local_end 
+0x7509 021344 istore 2 ,contw 
+0x750a 021345 setarg mem_sp_random_remote_end 
+0x750b 021346 istore 2 ,contw 
+0x750c 021347 branch sp_link_key_calc 
+:      021348 sp_link_key_prarm_push:
+0x750d 021349 jam sp_stat_done ,mem_sp_state 
+0x750e 021350 arg mem_sp_prarm_stack ,contw 
+0x750f 021351 fetch 6 ,mem_lap 
+0x7510 021352 istore 6 ,contw 
+0x7511 021353 fetch 6 ,mem_plap 
+0x7512 021354 istore 6 ,contw 
+0x7513 021355 setarg mem_sp_random_remote_end 
+0x7514 021356 istore 2 ,contw 
+0x7515 021357 setarg mem_sp_random_local_end 
+0x7516 021358 istore 2 ,contw 
+:      021359 sp_link_key_calc:
+0x7517 021361 arg mem_addr_value ,contw 
+0x7518 021362 fetch 6 ,mem_sp_prarm_stack 
+0x7519 021363 istore 6 ,contw 
+0x751a 021364 fetch 6 ,mem_sp_prarm_stack + 6 
+0x751b 021365 istore 6 ,contw 
+0x751c 021367 call function_f2 
+0x751d 021370 jam 1 ,mem_link_key_exists 
+0x751e 021371 arg mem_link_key ,contw 
+0x751f 021372 arg mem_sp_calc_result_high ,contr 
+0x7520 021373 call memcpy16 
+0x7521 021374 branch generate_linkkey_continue 
+:      021377 sp_pubkey_calc:
+0x7522 021378 bpatchx patch32_1 ,mem_patch32 
+0x7523 021379 fetch 1 ,mem_sp_local_key_invalid 
+0x7524 021380 rtnne sp_key_invalid 
+0x7525 021381 fetch 1 ,mem_sp_calc 
+0x7526 021382 rtnne sp_calc_standby 
+0x7527 021383 arg mem_sp_private_key ,contw 
+0x7528 021384 force 11 ,queue 
+0x7529 021385 call random_generator 
+0x752a 021386 random pdata 
+0x752b 021387 rshift pdata ,pdata 
+0x752c 021388 istore 2 ,contw 
+0x752d 021390 arg mem_k ,contw 
+0x752e 021391 arg mem_sp_private_key ,contr 
+0x752f 021392 call memcpy24 
+0x7530 021394 arg mem_ax ,contw 
+0x7531 021395 arg mem_gx ,contr 
+0x7532 021396 call memcpy48 
+0x7533 021398 arg mem_az ,contw 
+0x7534 021399 call bn_zero 
+0x7535 021400 jam 1 ,mem_az 
+0x7536 021402 call eckp_calc_init 
+0x7537 021403 jam sp_calc_pubkey ,mem_sp_calc 
+0x7538 021404 rtn 
+:      021406 sp_pubkey_generated:
+0x7539 021407 arg mem_sp_pubkey_local ,contw 
+0x753a 021408 arg mem_bx ,contr 
+0x753b 021409 call memcpy48 
+0x753c 021410 jam sp_key_valid ,mem_sp_local_key_invalid 
+0x753d 021411 jam sp_calc_standby ,mem_sp_calc 
+0x753e 021412 rtn 
+:      021414 sp_dhkey_calc:
+0x753f 021415 bpatchx patch32_2 ,mem_patch32 
+0x7540 021416 fetch 1 ,mem_sp_dhkey_invalid 
+0x7541 021417 rtnne sp_key_invalid 
+0x7542 021418 fetch 1 ,mem_sp_calc 
+0x7543 021419 rtnne sp_calc_standby 
+0x7544 021421 arg mem_k ,contw 
+0x7545 021422 arg mem_sp_private_key ,contr 
+0x7546 021423 call memcpy24 
+0x7547 021425 arg mem_ax ,contw 
+0x7548 021426 arg mem_sp_pubkey_remote ,contr 
+0x7549 021427 call memcpy48 
+0x754a 021429 arg mem_az ,contw 
+0x754b 021430 call bn_zero 
+0x754c 021431 jam 1 ,mem_az 
+0x754d 021433 call eckp_calc_init 
+0x754e 021434 jam sp_calc_dhkey ,mem_sp_calc 
+0x754f 021435 rtn 
+:      021437 sp_dhkey_generated:
+0x7550 021438 jam sp_flag_commit ,mem_sp_dh_ready 
+0x7551 021439 arg mem_sp_dhkey ,contw 
+0x7552 021440 arg mem_bx ,contr 
+0x7553 021441 call memcpy24 
+0x7554 021442 jam sp_key_valid ,mem_sp_dhkey_invalid 
+0x7555 021443 jam sp_calc_standby ,mem_sp_calc 
+0x7556 021444 rtn 
+:      021446 random_generator:
+0x7557 021447 increase -1 ,queue 
+0x7558 021448 nrtn positive 
+0x7559 021449 random pdata 
+0x755a 021450 istore 2 ,contw 
+0x755b 021451 branch random_generator 
+:      021452 compare4:
+0x755c 021453 increase -1 ,queue 
+0x755d 021454 nbranch compare4_success ,positive 
+0x755e 021455 ifetch 4 ,rega 
+0x755f 021456 copy pdata ,temp 
+0x7560 021457 ifetch 4 ,regb 
+0x7561 021458 iflip temp ,pdata 
+0x7562 021459 nbranch compare4_failed ,zero 
+0x7563 021460 increase 4 ,rega 
+0x7564 021461 increase 4 ,regb 
+0x7565 021462 branch compare4 
+:      021463 compare4_failed:
+0x7566 021464 disable true 
+0x7567 021465 rtn 
+:      021466 compare4_success:
+0x7568 021467 enable true 
+0x7569 021468 rtn 
+:      021475 simple_pairing_sequence:
+0x756a 021476 bpatchx patch32_3 ,mem_patch32 
+0x756b 021477 fetch 1 ,mem_sp_flag 
+0x756c 021478 rtn blank 
+0x756d 021479 call lmo_fifo_check 
+0x756e 021480 nrtn blank 
+0x756f 021481 jam sp_flag_standby ,mem_sp_flag 
+0x7570 021482 fetch 1 ,mem_sp_state 
+0x7571 021483 beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+0x7572 021484 beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+0x7573 021485 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+0x7574 021486 beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+0x7575 021487 beq sp_stat_key_generate ,sp_generate_local_key 
+0x7576 021488 beq sp_stat_commit_calc ,sp_calculate_commitment 
+0x7577 021489 beq sp_stat_confirm_check ,sp_confirm_check 
+0x7578 021490 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x7579 021491 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+0x757a 021493 rtn 
+:      021495 master_simple_paring_sequence:
+0x757b 021496 bpatchx patch32_4 ,mem_patch32 
+0x757c 021497 fetch 1 ,mem_master_sp_flag 
+0x757d 021498 rtn blank 
+0x757e 021499 call lmo_fifo_check 
+0x757f 021500 nrtn blank 
+0x7580 021501 jam sp_flag_standby ,mem_master_sp_flag 
+0x7581 021502 fetch 1 ,mem_master_sp_state 
+0x7582 021503 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+0x7583 021504 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+0x7584 021505 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+0x7585 021506 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+0x7586 021507 beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+0x7587 021508 beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+0x7588 021509 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x7589 021510 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+0x758a 021511 beq sp_stat_confirm_check ,sp_confirm_check 
+0x758b 021512 beq sp_state_end ,master_sp_sm_end 
+0x758c 021513 rtn 
+:      021515 master_set_mem_master_sp_flag:
+0x758d 021516 jam sp_flag_commit ,mem_master_sp_flag 
+0x758e 021517 rtn 
+:      021519 master_clear_mem_master_sp_flag:
+0x758f 021520 jam sp_flag_standby ,mem_master_sp_flag 
+0x7590 021521 rtn 
+:      021522 sp_calc_sequence:
+0x7591 021523 bpatchx patch32_5 ,mem_patch32 
+0x7592 021524 fetch 1 ,mem_ssp_enable 
+0x7593 021525 rtn blank 
+0x7594 021526 fetch 1 ,mem_sp_calc 
+0x7595 021527 rtn blank 
+0x7596 021528 increase 0x80 ,pdata 
+0x7597 021529 store 1 ,mem_sp_calc 
+0x7598 021530 rtnbit1 7 
+0x7599 021531 fetch 1 ,mem_ec_loopc 
+0x759a 021532 branch sp_calc_sequence_done ,blank 
+0x759b 021533 branch eckp_calc 
+:      021535 sp_calc_sequence_done:
+0x759c 021536 call ecunmapz 
+0x759d 021537 fetch 1 ,mem_sp_calc 
+0x759e 021538 beq sp_calc_pubkey ,sp_pubkey_generated 
+0x759f 021539 beq sp_calc_dhkey ,sp_dhkey_generated 
+0x75a0 021540 rtn 
+:      021543 bn_testbit:
+0x75a1 021544 and pdata ,7 ,queue 
+0x75a2 021545 rshift3 pdata ,pdata 
+0x75a3 021546 iadd contr ,contr 
+0x75a4 021547 ifetch 1 ,contr 
+0x75a5 021548 qisolate0 pdata 
+0x75a6 021549 rtn 
+:      021552 ec_copy:
+0x75a7 021553 call memcpy24 
+0x75a8 021554 call memcpy24 
+0x75a9 021555 branch memcpy24 
+:      021558 bn_eq_zero:
+0x75aa 021559 ifetch 8 ,contr 
+0x75ab 021560 nrtn blank 
+0x75ac 021561 ifetch 8 ,contr 
+0x75ad 021562 nrtn blank 
+0x75ae 021563 ifetch 8 ,contr 
+0x75af 021564 rtn 
+:      021569 bn_eq_0:
+0x75b0 021570 ifetch 4 ,rega 
+0x75b1 021571 iforce temp 
+0x75b2 021572 ifetch 4 ,regb 
+0x75b3 021573 isub temp ,null 
+0x75b4 021574 nrtn zero 
+0x75b5 021575 increase 4 ,rega 
+0x75b6 021576 increase 4 ,regb 
+0x75b7 021577 loop bn_eq_0 
+0x75b8 021578 rtn 
+:      021581 bn_bigeq:
+0x75b9 021582 force 6 ,loopcnt 
+0x75ba 021583 increase 20 ,rega 
+0x75bb 021584 increase 20 ,regb 
+:      021585 bn_bigeq_0:
+0x75bc 021586 ifetch 4 ,regb 
+0x75bd 021587 iforce temp 
+0x75be 021588 ifetch 4 ,rega 
+0x75bf 021589 isub temp ,pdata 
+0x75c0 021590 nrtn positive 
+0x75c1 021591 nrtn blank 
+0x75c2 021592 increase -4 ,rega 
+0x75c3 021593 increase -4 ,regb 
+0x75c4 021594 loop bn_bigeq_0 
+0x75c5 021595 rtn 
+:      021597 bn_add:
+0x75c6 021598 force 6 ,loopcnt 
+0x75c7 021599 force 0 ,regc 
+:      021600 bn_add_0:
+0x75c8 021601 ifetch 4 ,rega 
+0x75c9 021602 iforce temp 
+0x75ca 021603 ifetch 4 ,regb 
+0x75cb 021604 iadd temp ,pdata 
+0x75cc 021605 iadd regc ,pdata 
+0x75cd 021606 istore 4 ,contw 
+0x75ce 021607 isolate1 32 ,pdata 
+0x75cf 021608 setflag true ,0 ,regc 
+0x75d0 021609 increase 4 ,rega 
+0x75d1 021610 increase 4 ,regb 
+0x75d2 021611 loop bn_add_0 
+0x75d3 021612 rtn 
+:      021614 bn_sub:
+0x75d4 021615 force 6 ,loopcnt 
+0x75d5 021616 force 0 ,regc 
+:      021617 bn_sub_0:
+0x75d6 021618 ifetch 4 ,regb 
+0x75d7 021619 iforce temp 
+0x75d8 021620 ifetch 4 ,rega 
+0x75d9 021621 isub temp ,pdata 
+0x75da 021622 isub regc ,pdata 
+0x75db 021623 istore 4 ,contw 
+0x75dc 021624 isolate1 32 ,pdata 
+0x75dd 021625 setflag true ,0 ,regc 
+0x75de 021626 increase 4 ,rega 
+0x75df 021627 increase 4 ,regb 
+0x75e0 021628 loop bn_sub_0 
+0x75e1 021629 rtn 
+:      021631 bn_rshift6:
+0x75e2 021632 force 6 ,loopcnt 
+0x75e3 021633 increase 20 ,rega 
+:      021634 bn_rshift:
+0x75e4 021635 force 0 ,regc 
+:      021636 bn_rshift_0:
+0x75e5 021637 ifetch 4 ,rega 
+0x75e6 021638 isolate1 0 ,pdata 
+0x75e7 021639 setflag true ,1 ,regc 
+0x75e8 021640 rshift pdata ,pdata 
+0x75e9 021641 isolate1 0 ,regc 
+0x75ea 021642 setflag true ,31 ,pdata 
+0x75eb 021643 istore 4 ,rega 
+0x75ec 021644 increase -4 ,rega 
+0x75ed 021645 rshift regc ,regc 
+0x75ee 021646 loop bn_rshift_0 
+0x75ef 021647 rtn 
+:      021649 bn_lshift:
+0x75f0 021650 force 6 ,loopcnt 
+0x75f1 021651 force 0 ,regc 
+:      021652 bn_lshift_0:
+0x75f2 021653 ifetch 4 ,rega 
+0x75f3 021654 isolate1 31 ,pdata 
+0x75f4 021655 setflag true ,1 ,regc 
+0x75f5 021656 lshift pdata ,pdata 
+0x75f6 021657 isolate1 0 ,regc 
+0x75f7 021658 setflag true ,0 ,pdata 
+0x75f8 021659 istore 4 ,rega 
+0x75f9 021660 increase 4 ,rega 
+0x75fa 021661 rshift regc ,regc 
+0x75fb 021662 loop bn_lshift_0 
+0x75fc 021663 rtn 
+:      021665 bn_lshiftmod:
+0x75fd 021666 call bn_lshift 
+:      021667 bn_lshiftmod_ismod:
+0x75fe 021668 isolate1 0 ,regc 
+0x75ff 021669 branch bn_lshiftmod_0 ,true 
+0x7600 021670 arg mem_p ,regb 
+0x7601 021671 copy rega ,regc 
+0x7602 021672 increase -24 ,rega 
+0x7603 021673 call bn_bigeq 
+0x7604 021674 nrtn positive 
+0x7605 021675 copy regc ,rega 
+:      021676 bn_lshiftmod_0:
+0x7606 021677 increase -24 ,rega 
+0x7607 021678 arg mem_p ,regb 
+0x7608 021679 copy rega ,contw 
+0x7609 021680 branch bn_sub 
+:      021683 bn_addmod:
+0x760a 021684 call bn_add 
+0x760b 021685 copy contw ,rega 
+0x760c 021686 branch bn_lshiftmod_ismod 
+:      021688 bn_submod:
+0x760d 021689 call bn_sub 
+0x760e 021690 isolate0 0 ,regc 
+0x760f 021691 rtn true 
+0x7610 021692 arg mem_p ,regb 
+0x7611 021693 add contw ,-24 ,rega 
+0x7612 021694 copy rega ,contw 
+0x7613 021695 branch bn_add 
+:      021698 bn_p192mod:
+0x7614 021699 copy contw ,timeup 
+0x7615 021700 copy rega ,alarm 
+0x7616 021701 arg mem_tmp2 ,regb 
+0x7617 021702 copy regb ,contw 
+0x7618 021703 add rega ,24 ,contr 
+0x7619 021704 ifetch 8 ,contr 
+0x761a 021705 istore 8 ,contw 
+0x761b 021706 istore 8 ,contw 
+0x761c 021707 force 0 ,pdata 
+0x761d 021708 istore 8 ,contw 
+0x761e 021709 copy timeup ,contw 
+0x761f 021710 call bn_addmod 
+0x7620 021711 arg mem_tmp2 ,regb 
+0x7621 021712 copy regb ,contw 
+0x7622 021713 force 0 ,pdata 
+0x7623 021714 istore 8 ,contw 
+0x7624 021715 add alarm ,32 ,contr 
+0x7625 021716 ifetch 8 ,contr 
+0x7626 021717 istore 8 ,contw 
+0x7627 021718 istore 8 ,contw 
+0x7628 021719 copy timeup ,rega 
+0x7629 021720 copy rega ,contw 
+0x762a 021721 call bn_addmod 
+0x762b 021722 arg mem_tmp2 ,regb 
+0x762c 021723 copy regb ,contw 
+0x762d 021724 add alarm ,40 ,contr 
+0x762e 021725 ifetch 8 ,contr 
+0x762f 021726 istore 8 ,contw 
+0x7630 021727 istore 8 ,contw 
+0x7631 021728 istore 8 ,contw 
+0x7632 021729 copy timeup ,rega 
+0x7633 021730 copy rega ,contw 
+0x7634 021731 branch bn_addmod 
+:      021734 bn_load:
+0x7635 021735 force 6 ,loopcnt 
+:      021736 bn_load_0:
+0x7636 021737 ifetch 4 ,contr 
+0x7637 021738 iforce regext 
+0x7638 021739 increase 1 ,regext_index 
+0x7639 021740 loop bn_load_0 
+0x763a 021741 rtn 
+:      021745 bn_mulmod:
+0x763b 021746 copy contw ,timeup 
+0x763c 021747 arg mem_tmp1 ,contw 
+0x763d 021748 call bn_zero 
+0x763e 021749 arg mem_tmp1 ,contw 
+0x763f 021750 copy rega ,contr 
+0x7640 021751 force 0 ,regext_index 
+0x7641 021752 call bn_load 
+0x7642 021753 copy regb ,contr 
+0x7643 021754 call bn_load 
+0x7644 021755 force 0 ,regb 
+:      021756 bn_mulmod_1:
+0x7645 021757 force 0 ,temp 
+0x7646 021758 force 6 ,regc 
+:      021759 bn_mulmod_0:
+0x7647 021760 ifetch 4 ,contw 
+0x7648 021761 iforce rega 
+0x7649 021762 copy regb ,regext_index 
+0x764a 021763 deposit regext 
+0x764b 021764 copy regc ,regext_index 
+0x764c 021765 imul32 regext ,pdata 
+0x764d 021766 iadd rega ,pdata 
+0x764e 021767 iadd temp ,pdata 
+0x764f 021768 istore 4 ,contw 
+0x7650 021769 rshift32 pdata ,temp 
+0x7651 021770 increase 1 ,regc 
+0x7652 021771 compare 12 ,regc ,0xff 
+0x7653 021772 nbranch bn_mulmod_0 ,true 
+0x7654 021773 deposit temp 
+0x7655 021774 istore 4 ,contw 
+0x7656 021775 increase -24 ,contw 
+0x7657 021776 increase 1 ,regb 
+0x7658 021777 compare 6 ,regb ,0xff 
+0x7659 021778 nbranch bn_mulmod_1 ,true 
+0x765a 021779 arg mem_tmp1 ,rega 
+0x765b 021780 copy timeup ,contw 
+0x765c 021781 branch bn_p192mod 
+:      021784 bn_sqrmod:
+0x765d 021785 copy rega ,regb 
+0x765e 021786 branch bn_mulmod 
+:      021788 bn_rshifteven:
+0x765f 021789 copy rega ,alarm 
+:      021790 bn_rshifteven_1:
+0x7660 021791 copy alarm ,rega 
+0x7661 021792 ifetch 1 ,rega 
+0x7662 021793 isolate1 0 ,pdata 
+0x7663 021794 rtn true 
+0x7664 021795 call bn_rshift6 
+0x7665 021796 ifetch 1 ,regb 
+0x7666 021797 isolate0 0 ,pdata 
+0x7667 021798 branch bn_rshifteven_0 ,true 
+0x7668 021799 arg mem_p ,rega 
+0x7669 021800 copy regb ,contw 
+0x766a 021801 call bn_add 
+0x766b 021802 ifetch 1 ,regb 
+0x766c 021803 iadd regc ,pdata 
+0x766d 021804 istore 1 ,regb 
+0x766e 021805 increase -24 ,regb 
+:      021806 bn_rshifteven_0:
+0x766f 021807 add regb ,24 ,rega 
+0x7670 021808 force 7 ,loopcnt 
+0x7671 021809 call bn_rshift 
+0x7672 021810 branch bn_rshifteven_1 
+:      021813 bn_invmod:
+0x7673 021814 copy contw ,timeup 
+0x7674 021815 arg mem_tmp0 ,contw 
+0x7675 021816 call bn_zero 
+0x7676 021817 force 0 ,pdata 
+0x7677 021818 store 4 ,mem_tmp5 
+0x7678 021819 store 4 ,mem_t2 
+0x7679 021820 jam 1 ,mem_tmp0 
+0x767a 021821 arg mem_tmp1 ,contw 
+0x767b 021822 call bn_zero 
+0x767c 021823 arg mem_p ,contr 
+0x767d 021824 arg mem_tmp2 ,contw 
+0x767e 021825 call memcpy24 
+0x767f 021826 copy rega ,contr 
+0x7680 021827 arg mem_tmp3 ,contw 
+0x7681 021828 call memcpy24 
+:      021829 bn_invmod_2:
+0x7682 021830 arg mem_tmp3 ,contr 
+0x7683 021831 call bn_eq_zero 
+0x7684 021832 branch bn_invmod_0 ,blank 
+0x7685 021833 arg mem_tmp3 ,rega 
+0x7686 021834 arg mem_tmp0 ,regb 
+0x7687 021835 call bn_rshifteven 
+0x7688 021837 arg mem_tmp2 ,rega 
+0x7689 021838 arg mem_tmp1 ,regb 
+0x768a 021839 call bn_rshifteven 
+0x768b 021840 arg mem_tmp3 ,rega 
+0x768c 021841 arg mem_tmp2 ,regb 
+0x768d 021842 call bn_bigeq 
+0x768e 021843 branch bn_invmod_1 ,positive 
+0x768f 021844 arg mem_tmp2 ,rega 
+0x7690 021845 arg mem_tmp3 ,regb 
+0x7691 021846 copy rega ,contw 
+0x7692 021847 call bn_sub 
+0x7693 021848 arg mem_tmp0 ,rega 
+0x7694 021849 arg mem_tmp1 ,regb 
+0x7695 021850 copy regb ,contw 
+0x7696 021851 call bn_add 
+0x7697 021852 ifetch 1 ,rega 
+0x7698 021853 iadd regc ,regc 
+0x7699 021854 ifetch 1 ,regb 
+0x769a 021855 iadd regc ,pdata 
+0x769b 021856 istore 1 ,regb 
+0x769c 021857 branch bn_invmod_2 
+:      021858 bn_invmod_1:
+0x769d 021859 arg mem_tmp3 ,rega 
+0x769e 021860 arg mem_tmp2 ,regb 
+0x769f 021861 copy rega ,contw 
+0x76a0 021862 call bn_sub 
+0x76a1 021863 arg mem_tmp1 ,rega 
+0x76a2 021864 arg mem_tmp0 ,regb 
+0x76a3 021865 copy regb ,contw 
+0x76a4 021866 call bn_add 
+0x76a5 021867 ifetch 1 ,rega 
+0x76a6 021868 iadd regc ,regc 
+0x76a7 021869 ifetch 1 ,regb 
+0x76a8 021870 iadd regc ,pdata 
+0x76a9 021871 istore 1 ,regb 
+0x76aa 021872 branch bn_invmod_2 
+:      021873 bn_invmod_0:
+0x76ab 021874 arg mem_tmp0 ,contw 
+0x76ac 021875 call bn_zero 
+0x76ad 021876 fetch 1 ,mem_tmp5 
+0x76ae 021877 store 1 ,mem_tmp0 
+0x76af 021878 store 1 ,mem_tmp0a 
+0x76b0 021879 arg mem_tmp0 ,rega 
+0x76b1 021880 arg mem_tmp1 ,regb 
+0x76b2 021881 copy regb ,contw 
+0x76b3 021882 call bn_addmod 
+0x76b4 021883 arg mem_p ,rega 
+0x76b5 021884 arg mem_tmp1 ,regb 
+0x76b6 021885 copy timeup ,contw 
+0x76b7 021886 branch bn_submod 
+:      021891 ecdbl:
+0x76b8 021892 arg mem_cz ,rega 
+0x76b9 021893 arg mem_t2 ,contw 
+0x76ba 021894 call bn_sqrmod 
+0x76bb 021895 arg mem_t2 ,rega 
+0x76bc 021896 arg mem_t3 ,contw 
+0x76bd 021897 call bn_sqrmod 
+0x76be 021898 arg mem_a ,rega 
+0x76bf 021899 arg mem_t3 ,regb 
+0x76c0 021900 arg mem_t3 ,contw 
+0x76c1 021901 call bn_mulmod 
+0x76c2 021902 arg mem_cx ,rega 
+0x76c3 021903 arg mem_t2 ,contw 
+0x76c4 021904 call bn_sqrmod 
+0x76c5 021905 arg mem_t2 ,contr 
+0x76c6 021906 arg mem_t1 ,contw 
+0x76c7 021907 call memcpy24 
+0x76c8 021908 arg mem_t1 ,rega 
+0x76c9 021909 call bn_lshiftmod 
+0x76ca 021910 arg mem_t2 ,rega 
+0x76cb 021911 arg mem_t1 ,regb 
+0x76cc 021912 arg mem_t2 ,contw 
+0x76cd 021913 call bn_addmod 
+0x76ce 021914 arg mem_t2 ,rega 
+0x76cf 021915 arg mem_t3 ,regb 
+0x76d0 021916 arg mem_t2 ,contw 
+0x76d1 021917 call bn_addmod 
+0x76d2 021918 arg mem_cx ,contr 
+0x76d3 021919 arg mem_t1 ,contw 
+0x76d4 021920 call memcpy24 
+0x76d5 021921 arg mem_cy ,rega 
+0x76d6 021922 arg mem_t3 ,contw 
+0x76d7 021923 call bn_sqrmod 
+0x76d8 021924 arg mem_t1 ,rega 
+0x76d9 021925 call bn_lshiftmod 
+0x76da 021926 arg mem_t1 ,rega 
+0x76db 021927 call bn_lshiftmod 
+0x76dc 021928 arg mem_t1 ,rega 
+0x76dd 021929 arg mem_t3 ,regb 
+0x76de 021930 arg mem_t1 ,contw 
+0x76df 021931 call bn_mulmod 
+0x76e0 021932 arg mem_t3 ,rega 
+0x76e1 021933 arg mem_t0 ,contw 
+0x76e2 021934 call bn_sqrmod 
+0x76e3 021935 arg mem_t0 ,rega 
+0x76e4 021936 call bn_lshiftmod 
+0x76e5 021937 arg mem_t0 ,rega 
+0x76e6 021938 call bn_lshiftmod 
+0x76e7 021939 arg mem_t0 ,rega 
+0x76e8 021940 call bn_lshiftmod 
+0x76e9 021941 arg mem_cy ,contr 
+0x76ea 021942 arg mem_t3 ,contw 
+0x76eb 021943 call memcpy24 
+0x76ec 021944 arg mem_t3 ,rega 
+0x76ed 021945 call bn_lshiftmod 
+0x76ee 021946 arg mem_t3 ,rega 
+0x76ef 021947 arg mem_cz ,regb 
+0x76f0 021948 arg mem_cz ,contw 
+0x76f1 021949 call bn_mulmod 
+0x76f2 021950 arg mem_t2 ,rega 
+0x76f3 021951 arg mem_t3 ,contw 
+0x76f4 021952 call bn_sqrmod 
+0x76f5 021953 arg mem_t3 ,rega 
+0x76f6 021954 arg mem_t1 ,regb 
+0x76f7 021955 arg mem_t3 ,contw 
+0x76f8 021956 call bn_submod 
+0x76f9 021957 arg mem_t3 ,rega 
+0x76fa 021958 arg mem_t1 ,regb 
+0x76fb 021959 arg mem_cx ,contw 
+0x76fc 021960 call bn_submod 
+0x76fd 021961 arg mem_t1 ,rega 
+0x76fe 021962 arg mem_cx ,regb 
+0x76ff 021963 arg mem_t3 ,contw 
+0x7700 021964 call bn_submod 
+0x7701 021965 arg mem_t3 ,rega 
+0x7702 021966 arg mem_t2 ,regb 
+0x7703 021967 arg mem_t3 ,contw 
+0x7704 021968 call bn_mulmod 
+0x7705 021969 arg mem_t3 ,rega 
+0x7706 021970 arg mem_t0 ,regb 
+0x7707 021971 arg mem_cy ,contw 
+0x7708 021972 branch bn_submod 
+:      021976 ecadd:
+0x7709 021977 arg mem_az ,rega 
+0x770a 021978 arg mem_t7 ,contw 
+0x770b 021979 call bn_sqrmod 
+0x770c 021980 arg mem_cx ,rega 
+0x770d 021981 arg mem_t7 ,regb 
+0x770e 021982 arg mem_t0 ,contw 
+0x770f 021983 call bn_mulmod 
+0x7710 021984 arg mem_az ,rega 
+0x7711 021985 arg mem_t7 ,regb 
+0x7712 021986 arg mem_t7 ,contw 
+0x7713 021987 call bn_mulmod 
+0x7714 021988 arg mem_cy ,rega 
+0x7715 021989 arg mem_t7 ,regb 
+0x7716 021990 arg mem_t1 ,contw 
+0x7717 021991 call bn_mulmod 
+0x7718 021992 arg mem_cz ,rega 
+0x7719 021993 arg mem_t7 ,contw 
+0x771a 021994 call bn_sqrmod 
+0x771b 021995 arg mem_ax ,rega 
+0x771c 021996 arg mem_t7 ,regb 
+0x771d 021997 arg mem_t2 ,contw 
+0x771e 021998 call bn_mulmod 
+0x771f 021999 arg mem_cz ,rega 
+0x7720 022000 arg mem_t7 ,regb 
+0x7721 022001 arg mem_t7 ,contw 
+0x7722 022002 call bn_mulmod 
+0x7723 022003 arg mem_ay ,rega 
+0x7724 022004 arg mem_t7 ,regb 
+0x7725 022005 arg mem_t3 ,contw 
+0x7726 022006 call bn_mulmod 
+0x7727 022007 arg mem_t0 ,rega 
+0x7728 022008 arg mem_t2 ,regb 
+0x7729 022009 arg mem_t7 ,contw 
+0x772a 022010 call bn_submod 
+0x772b 022011 arg mem_t0 ,rega 
+0x772c 022012 arg mem_t2 ,regb 
+0x772d 022013 arg mem_t0 ,contw 
+0x772e 022014 call bn_addmod 
+0x772f 022015 arg mem_t1 ,rega 
+0x7730 022016 arg mem_t3 ,regb 
+0x7731 022017 arg mem_t2 ,contw 
+0x7732 022018 call bn_submod 
+0x7733 022019 arg mem_t1 ,rega 
+0x7734 022020 arg mem_t3 ,regb 
+0x7735 022021 arg mem_t1 ,contw 
+0x7736 022022 call bn_addmod 
+0x7737 022023 arg mem_t1 ,rega 
+0x7738 022024 arg mem_t7 ,regb 
+0x7739 022025 arg mem_t1 ,contw 
+0x773a 022026 call bn_mulmod 
+0x773b 022027 arg mem_cz ,rega 
+0x773c 022028 arg mem_az ,regb 
+0x773d 022029 arg mem_t3 ,contw 
+0x773e 022030 call bn_mulmod 
+0x773f 022031 arg mem_t3 ,rega 
+0x7740 022032 arg mem_t7 ,regb 
+0x7741 022033 arg mem_cz ,contw 
+0x7742 022034 call bn_mulmod 
+0x7743 022035 arg mem_t7 ,rega 
+0x7744 022036 arg mem_t7 ,contw 
+0x7745 022037 call bn_sqrmod 
+0x7746 022038 arg mem_t7 ,rega 
+0x7747 022039 arg mem_t0 ,regb 
+0x7748 022040 arg mem_t3 ,contw 
+0x7749 022041 call bn_mulmod 
+0x774a 022042 arg mem_t7 ,rega 
+0x774b 022043 arg mem_t1 ,regb 
+0x774c 022044 arg mem_t1 ,contw 
+0x774d 022045 call bn_mulmod 
+0x774e 022046 arg mem_t2 ,rega 
+0x774f 022047 arg mem_cx ,contw 
+0x7750 022048 call bn_sqrmod 
+0x7751 022049 arg mem_cx ,rega 
+0x7752 022050 arg mem_t3 ,regb 
+0x7753 022051 arg mem_cx ,contw 
+0x7754 022052 call bn_submod 
+0x7755 022053 arg mem_cx ,contr 
+0x7756 022054 arg mem_t7 ,contw 
+0x7757 022055 call memcpy24 
+0x7758 022056 arg mem_t7 ,rega 
+0x7759 022057 call bn_lshiftmod 
+0x775a 022058 arg mem_t3 ,rega 
+0x775b 022059 arg mem_t7 ,regb 
+0x775c 022060 arg mem_t3 ,contw 
+0x775d 022061 call bn_submod 
+0x775e 022062 arg mem_t3 ,rega 
+0x775f 022063 arg mem_t2 ,regb 
+0x7760 022064 arg mem_t2 ,contw 
+0x7761 022065 call bn_mulmod 
+0x7762 022066 arg mem_t2 ,rega 
+0x7763 022067 arg mem_t1 ,regb 
+0x7764 022068 arg mem_cy ,contw 
+0x7765 022069 call bn_submod 
+0x7766 022070 arg mem_cy ,rega 
+0x7767 022071 arg mem_p ,regb 
+0x7768 022072 arg mem_cy ,contw 
+0x7769 022073 force 0 ,regc 
+0x776a 022074 fetch 1 ,mem_cy 
+0x776b 022075 isolate1 0 ,pdata 
+0x776c 022076 call bn_add ,true 
+0x776d 022077 copy regc ,alarm 
+0x776e 022078 arg mem_cy ,rega 
+0x776f 022079 call bn_rshift6 
+0x7770 022080 fetch 1 ,mem_cy5 
+0x7771 022081 isolate1 0 ,alarm 
+0x7772 022082 setflag true ,7 ,pdata 
+0x7773 022083 store 1 ,mem_cy5 
+0x7774 022084 rtn 
+:      022088 eckp_0:
+0x7775 022089 fetch 1 ,mem_ec_loopc 
+0x7776 022090 increase -1 ,pdata 
+0x7777 022091 nrtn positive 
+0x7778 022092 store 1 ,mem_ec_loopc 
+0x7779 022093 fetch 1 ,mem_ec_infinite 
+0x777a 022094 call ecdbl ,blank 
+0x777b 022095 fetch 1 ,mem_ec_loopc 
+0x777c 022096 arg mem_k ,contr 
+0x777d 022097 call bn_testbit 
+0x777e 022098 branch eckp_0 ,true 
+0x777f 022099 fetch 1 ,mem_ec_infinite 
+0x7780 022100 nbranch eckp_1 ,blank 
+0x7781 022101 call ecadd 
+0x7782 022102 branch eckp_0 
+:      022103 eckp_1:
+0x7783 022104 jam 0 ,mem_ec_infinite 
+0x7784 022105 arg mem_ax ,contr 
+0x7785 022106 arg mem_cx ,contw 
+0x7786 022107 call ec_copy 
+0x7787 022108 branch eckp_0 
+:      022111 ecunmapz:
+0x7788 022112 arg mem_cz ,rega 
+0x7789 022113 arg mem_t3 ,contw 
+0x778a 022114 call bn_invmod 
+0x778b 022115 arg mem_t3 ,rega 
+0x778c 022116 arg mem_t1 ,contw 
+0x778d 022117 call bn_sqrmod 
+0x778e 022118 arg mem_cx ,rega 
+0x778f 022119 arg mem_t1 ,regb 
+0x7790 022120 arg mem_bx ,contw 
+0x7791 022121 call bn_mulmod 
+0x7792 022122 arg mem_t3 ,rega 
+0x7793 022123 arg mem_t1 ,regb 
+0x7794 022124 arg mem_t2 ,contw 
+0x7795 022125 call bn_mulmod 
+0x7796 022126 arg mem_cy ,rega 
+0x7797 022127 arg mem_t2 ,regb 
+0x7798 022128 arg mem_by ,contw 
+0x7799 022129 branch bn_mulmod 
+:      022133 sha_endian_swap2:
+0x779a 022134 ifetch 4 ,contr 
+0x779b 022135 force 4 ,rega 
+0x779c 022136 increase 3 ,contw 
+:      022137 sha_endian_loop:
+0x779d 022138 istore 1 ,contw 
+0x779e 022139 rshift8 pdata ,pdata 
+0x779f 022140 increase -2 ,contw 
+0x77a0 022141 increase -1 ,rega 
+0x77a1 022142 nbranch sha_endian_loop ,zero 
+0x77a2 022143 increase 5 ,contw 
+0x77a3 022144 loop sha_endian_swap2 
+0x77a4 022145 rtn 
+:      022148 sha_getw:
+0x77a5 022149 lshift2 queue ,pdata 
+0x77a6 022150 iadd timeup ,contr 
+0x77a7 022151 ifetch 4 ,contr 
+0x77a8 022152 rtn 
+:      022154 sha_r:
+0x77a9 022155 force 16 ,alarm 
+0x77aa 022156 arg memdat ,timeup 
+:      022157 sha_r_loop:
+0x77ab 022158 add alarm ,-7 ,queue 
+0x77ac 022159 call sha_getw 
+0x77ad 022160 iforce temp 
+0x77ae 022161 add alarm ,-16 ,queue 
+0x77af 022162 call sha_getw 
+0x77b0 022163 iadd temp ,temp 
+0x77b1 022164 add alarm ,-2 ,queue 
+0x77b2 022165 call sha_getw 
+0x77b3 022166 shasx pdata ,1 ,pdata 
+0x77b4 022167 iadd temp ,temp 
+0x77b5 022168 add alarm ,-15 ,queue 
+0x77b6 022169 call sha_getw 
+0x77b7 022170 shasx pdata ,0 ,pdata 
+0x77b8 022171 iadd temp ,temp 
+0x77b9 022172 lshift2 alarm ,pdata 
+0x77ba 022173 iadd timeup ,contw 
+0x77bb 022174 istoret 4 ,contw 
+0x77bc 022175 increase 1 ,alarm 
+0x77bd 022176 compare 64 ,alarm ,0xff 
+0x77be 022177 nbranch sha_r_loop ,true 
+0x77bf 022178 rtn 
+:      022181 sha_init:
+0x77c0 022182 arg memh0 ,contr 
+0x77c1 022183 force 7 ,regext_index 
+:      022184 sha_init_0:
+0x77c2 022185 ifetch 4 ,contr 
+0x77c3 022186 iforce regext 
+0x77c4 022187 increase -1 ,regext_index 
+0x77c5 022188 branch sha_init_0 ,positive 
+0x77c6 022189 rtn 
+:      022191 sha:
+0x77c7 022192 bpatchx patch32_6 ,mem_patch32 
+0x77c8 022193 call sha_r 
+0x77c9 022194 arg memahbak ,contw 
+0x77ca 022195 force 0 ,regext_index 
+:      022196 sha_0:
+0x77cb 022197 deposit regext 
+0x77cc 022198 istore 4 ,contw 
+0x77cd 022199 increase 1 ,regext_index 
+0x77ce 022200 compare 8 ,regext_index ,0xff 
+0x77cf 022201 nbranch sha_0 ,true 
+0x77d0 022202 call enable_authrom 
+0x77d1 022203 arg memk ,timeup 
+0x77d2 022204 arg memdat ,alarm 
+0x77d3 022205 force 64 ,loopcnt 
+:      022206 sha_loop:
+0x77d4 022207 ifetcht 4 ,alarm 
+0x77d5 022208 ifetch 4 ,timeup 
+0x77d6 022209 increase 4 ,timeup 
+0x77d7 022210 increase 4 ,alarm 
+0x77d8 022211 iadd temp ,pdata 
+0x77d9 022212 force 7 ,regext_index 
+0x77da 022213 iadd regext ,temp 
+0x77db 022214 force 4 ,regext_index 
+0x77dc 022215 shasx regext ,3 ,pdata 
+0x77dd 022216 iadd temp ,temp 
+0x77de 022217 force 5 ,regext_index 
+0x77df 022218 deposit regext 
+0x77e0 022219 force 6 ,regext_index 
+0x77e1 022220 ixor regext ,pdata 
+0x77e2 022221 force 4 ,regext_index 
+0x77e3 022222 iand regext ,pdata 
+0x77e4 022223 force 6 ,regext_index 
+0x77e5 022224 ixor regext ,pdata 
+0x77e6 022225 iadd temp ,temp 
+0x77e7 022226 force 7 ,regext_index 
+0x77e8 022227 copy temp ,regext 
+0x77e9 022228 force 3 ,regext_index 
+0x77ea 022229 deposit regext 
+0x77eb 022230 iadd temp ,regext 
+0x77ec 022231 force 0 ,regext_index 
+0x77ed 022232 deposit regext 
+0x77ee 022233 force 1 ,regext_index 
+0x77ef 022234 iand regext ,temp 
+0x77f0 022235 ior regext ,pdata 
+0x77f1 022236 force 2 ,regext_index 
+0x77f2 022237 iand regext ,pdata 
+0x77f3 022238 ior temp ,temp 
+0x77f4 022239 force 0 ,regext_index 
+0x77f5 022240 shasx regext ,2 ,pdata 
+0x77f6 022241 iadd temp ,pdata 
+0x77f7 022242 force 7 ,regext_index 
+0x77f8 022243 iadd regext ,regext 
+0x77f9 022244 regexrot 
+0x77fa 022245 loop sha_loop 
+0x77fb 022246 arg memahbak ,contr 
+0x77fc 022247 force 0 ,regext_index 
+:      022248 sha_1:
+0x77fd 022249 ifetch 4 ,contr 
+0x77fe 022250 iadd regext ,regext 
+0x77ff 022251 increase 1 ,regext_index 
+0x7800 022252 compare 8 ,regext_index ,0xff 
+0x7801 022253 nbranch sha_1 ,true 
+0x7802 022254 branch disable_authrom 
+:      022257 sha_result:
+0x7803 022258 arg memresult ,contw 
+0x7804 022259 force 7 ,regext_index 
+:      022260 sha_regext_save:
+0x7805 022261 deposit regext 
+0x7806 022262 istore 4 ,contw 
+0x7807 022263 increase -1 ,regext_index 
+0x7808 022264 branch sha_regext_save ,positive 
+0x7809 022265 rtn 
+:      022267 pad_xor:
+0x780a 022269 arg memdat ,contw 
+0x780b 022270 increase -4 ,contr 
+0x780c 022271 sub loopcnt ,16 ,rega 
+:      022272 pad_xor_0:
+0x780d 022273 ifetch 4 ,contr 
+0x780e 022274 ixor temp ,pdata 
+0x780f 022275 istore 4 ,contw 
+0x7810 022276 increase -8 ,contr 
+0x7811 022277 loop pad_xor_0 
+0x7812 022278 copy rega ,loopcnt 
+0x7813 022279 deposit temp 
+:      022280 pad_xor_1:
+0x7814 022281 istore 4 ,contw 
+0x7815 022282 loop pad_xor_1 
+0x7816 022283 rtn 
+:      022285 g_noninit_number_confirm:
+0x7817 022286 call g_noninit0 
+0x7818 022287 call sha_result 
+0x7819 022288 branch g_common0 
+:      022290 g_noninit:
+0x781a 022291 call g_noninit0 
+0x781b 022292 branch g_common0 
+:      022294 g_noninit0:
+0x781c 022295 arg mem_sp_pubkey_remote_x_end ,contr 
+0x781d 022296 arg memdat ,contw 
+0x781e 022297 force 6 ,loopcnt 
+0x781f 022298 call memcpy_dword_swap 
+0x7820 022299 arg mem_sp_pubkey_local_x_end ,contr 
+0x7821 022300 force 6 ,loopcnt 
+0x7822 022301 call memcpy_dword_swap 
+0x7823 022302 arg mem_sp_random_remote_end ,contr 
+0x7824 022303 call memcpy_dword_swap4 
+0x7825 022304 call sha_init 
+0x7826 022305 call sha 
+0x7827 022306 arg mem_sp_random_local_end ,contr 
+0x7828 022307 arg memdat ,contw 
+0x7829 022308 branch g_common 
+:      022310 g_init:
+0x782a 022311 arg mem_sp_pubkey_local_x_end ,contr 
+0x782b 022312 arg memdat ,contw 
+0x782c 022313 force 6 ,loopcnt 
+0x782d 022314 call memcpy_dword_swap 
+0x782e 022315 arg mem_sp_pubkey_remote_x_end ,contr 
+0x782f 022316 force 6 ,loopcnt 
+0x7830 022317 call memcpy_dword_swap 
+0x7831 022318 arg mem_sp_random_local_end ,contr 
+0x7832 022319 call memcpy_dword_swap4 
+0x7833 022320 call sha_init 
+0x7834 022321 call sha 
+0x7835 022322 arg mem_sp_random_remote_end ,contr 
+0x7836 022323 arg memdat ,contw 
+0x7837 022324 call g_common 
+0x7838 022325 branch g_common0 
+:      022327 g_common:
+0x7839 022328 call memcpy_dword_swap4 
+0x783a 022329 setarg 0x800000 
+0x783b 022330 lshift8 pdata ,pdata 
+0x783c 022331 istore 4 ,contw 
+0x783d 022332 force 5 ,loopcnt 
+0x783e 022333 call memset0 
+0x783f 022334 setarg 640 
+0x7840 022335 istore 4 ,contw 
+0x7841 022336 branch sha 
+:      022337 g_common0:
+0x7842 022338 fetch 4 ,memresult 
+0x7843 022340 arg 1000 ,rega 
+0x7844 022341 idiv rega 
+0x7845 022342 call wait_div_end 
+0x7846 022343 remainder pdata 
+0x7847 022344 store 4 ,mem_gkey 
+0x7848 022345 quotient pdata 
+0x7849 022346 arg 1000 ,rega 
+0x784a 022347 idiv rega 
+0x784b 022348 call wait_div_end 
+0x784c 022349 remainder pdata 
+0x784d 022350 arg 1000 ,rega 
+0x784e 022351 imul32 rega ,pdata 
+0x784f 022352 fetcht 4 ,mem_gkey 
+0x7850 022353 iadd temp ,pdata 
+0x7851 022354 store 4 ,mem_gkey 
+0x7852 022355 rtn 
+:      022357 function_f1_no_key:
+0x7853 022358 jam 0 ,mem_passkey_1bit 
+0x7854 022359 branch function_f1_common 
+:      022361 function_f1:
+0x7855 022362 fetch 1 ,mem_ssp_mode_flag 
+0x7856 022363 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+:      022364 function_f1_common:
+0x7857 022365 bpatchx patch32_7 ,mem_patch32 
+0x7858 022366 setarg 0x363636 
+0x7859 022367 lshift8 pdata ,temp 
+0x785a 022368 or_into 0x36 ,temp 
+0x785b 022369 fetch 2 ,mem_sp_prarm_stack 
+0x785c 022370 copy pdata ,contr 
+0x785d 022371 force 4 ,loopcnt 
+0x785e 022372 call pad_xor 
+0x785f 022373 call sha_init 
+0x7860 022374 call sha 
+0x7861 022375 fetch 2 ,mem_sp_prarm_stack + 2 
+0x7862 022376 copy pdata ,contr 
+0x7863 022377 arg memdat ,contw 
+0x7864 022378 force 6 ,loopcnt 
+0x7865 022379 call memcpy_dword_swap 
+0x7866 022380 fetch 2 ,mem_sp_prarm_stack + 4 
+0x7867 022381 copy pdata ,contr 
+0x7868 022382 force 6 ,loopcnt 
+0x7869 022383 call memcpy_dword_swap 
+0x786a 022384 setarg 0x800000 
+0x786b 022385 istore 3 ,contw 
+0x786c 022387 fetch 1 ,mem_passkey_1bit 
+0x786d 022389 istore 1 ,contw 
+0x786e 022390 force 0 ,pdata 
+0x786f 022391 istore 8 ,contw 
+0x7870 022392 setarg 0x0388 
+0x7871 022393 istore 4 ,contw 
+0x7872 022394 call sha 
+0x7873 022395 call sha_result 
+0x7874 022396 arg memresult ,contr 
+0x7875 022397 arg memahsave ,contw 
+0x7876 022398 call memcpy32 
+0x7877 022400 setarg 0x5c5c5c 
+0x7878 022401 lshift8 pdata ,temp 
+0x7879 022402 or_into 0x5c ,temp 
+0x787a 022403 fetch 2 ,mem_sp_prarm_stack 
+0x787b 022404 copy pdata ,contr 
+0x787c 022405 force 4 ,loopcnt 
+0x787d 022406 call pad_xor 
+0x787e 022407 call sha_init 
+0x787f 022408 call sha 
+0x7880 022409 arg memahsave_end ,contr 
+0x7881 022410 arg memdat ,contw 
+0x7882 022411 force 8 ,loopcnt 
+0x7883 022412 call memcpy_dword_swap 
+0x7884 022413 setarg 0x800000 
+0x7885 022414 lshift8 pdata ,pdata 
+0x7886 022415 istore 4 ,contw 
+0x7887 022416 call bn_zero 
+0x7888 022417 setarg 0x0300 
+0x7889 022418 istore 4 ,contw 
+0x788a 022419 call sha 
+0x788b 022420 branch sha_result 
+:      022423 function_f2:
+0x788c 022424 setarg 0x363636 
+0x788d 022425 lshift8 pdata ,temp 
+0x788e 022426 or_into 0x36 ,temp 
+0x788f 022427 arg mem_sp_dhkey_end ,contr 
+0x7890 022428 force 6 ,loopcnt 
+0x7891 022429 call pad_xor 
+0x7892 022430 call sha_init 
+0x7893 022431 call sha 
+0x7894 022432 fetch 2 ,mem_sp_prarm_stack + 12 
+0x7895 022433 copy pdata ,contr 
+0x7896 022434 arg memdat ,contw 
+0x7897 022435 call memcpy_dword_swap4 
+0x7898 022436 fetch 2 ,mem_sp_prarm_stack + 14 
+0x7899 022437 copy pdata ,contr 
+0x789a 022438 call memcpy_dword_swap4 
+0x789b 022440 setarg 0x62746c 
+0x789c 022441 lshift8 pdata ,pdata 
+0x789d 022442 or_into 0x6b ,pdata 
+0x789e 022443 istore 4 ,contw 
+0x789f 022444 arg mem_addr_value_end ,contr 
+0x78a0 022445 force 3 ,loopcnt 
+0x78a1 022446 call memcpy_dword_swap 
+0x78a2 022448 setarg 0x800000 
+0x78a3 022449 lshift8 pdata ,pdata 
+0x78a4 022450 istore 4 ,contw 
+0x78a5 022451 force 0 ,pdata 
+0x78a6 022452 istore 8 ,contw 
+0x78a7 022453 setarg 0x0380 
+0x78a8 022454 istore 4 ,contw 
+0x78a9 022455 call sha 
+0x78aa 022457 call sha_result 
+0x78ab 022458 arg memresult ,contr 
+0x78ac 022459 arg memahsave ,contw 
+0x78ad 022460 call memcpy32 
+0x78ae 022462 setarg 0x5c5c5c 
+0x78af 022463 lshift8 pdata ,temp 
+0x78b0 022464 or_into 0x5c ,temp 
+0x78b1 022465 arg mem_sp_dhkey_end ,contr 
+0x78b2 022466 force 6 ,loopcnt 
+0x78b3 022467 call pad_xor 
+0x78b4 022468 call sha_init 
+0x78b5 022469 call sha 
+0x78b6 022470 arg memahsave_end ,contr 
+0x78b7 022471 arg memdat ,contw 
+0x78b8 022472 force 8 ,loopcnt 
+0x78b9 022473 call memcpy_dword_swap 
+0x78ba 022474 setarg 0x800000 
+0x78bb 022475 lshift8 pdata ,pdata 
+0x78bc 022476 istore 4 ,contw 
+0x78bd 022477 call bn_zero 
+0x78be 022478 setarg 0x0300 
+0x78bf 022479 istore 4 ,contw 
+0x78c0 022480 call sha 
+0x78c1 022481 branch sha_result 
+:      022484 function_f3a:
+0x78c2 022485 fetch 1 ,mem_ssp_mode_flag 
+0x78c3 022486 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+:      022487 function_f3a_common:
+0x78c4 022488 bpatchx patch33_0 ,mem_patch33 
+0x78c5 022489 setarg 0x363636 
+0x78c6 022490 lshift8 pdata ,temp 
+0x78c7 022491 or_into 0x36 ,temp 
+0x78c8 022492 arg mem_sp_dhkey_end ,contr 
+0x78c9 022493 force 6 ,loopcnt 
+0x78ca 022494 call pad_xor 
+0x78cb 022495 call sha_init 
+0x78cc 022496 call sha 
+0x78cd 022497 arg mem_sp_random_remote_end ,contr 
+0x78ce 022498 arg memdat ,contw 
+0x78cf 022499 call memcpy_dword_swap4 
+0x78d0 022500 arg mem_sp_random_local_end ,contr 
+0x78d1 022501 call memcpy_dword_swap4 
+0x78d2 022502 branch function_f3_common 
+:      022504 function_f3a_no_pin:
+0x78d3 022505 setarg 0 
+0x78d4 022506 store 4 ,mem_pin 
+0x78d5 022507 branch function_f3a_common 
+:      022509 function_f3b_no_pin:
+0x78d6 022510 setarg 0 
+0x78d7 022511 store 4 ,mem_pin 
+0x78d8 022512 branch function_f3b_common 
+:      022515 function_f3b:
+0x78d9 022516 fetch 1 ,mem_ssp_mode_flag 
+0x78da 022517 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+:      022518 function_f3b_common:
+0x78db 022519 setarg 0x363636 
+0x78dc 022520 lshift8 pdata ,temp 
+0x78dd 022521 or_into 0x36 ,temp 
+0x78de 022522 arg mem_sp_dhkey_end ,contr 
+0x78df 022523 force 6 ,loopcnt 
+0x78e0 022524 call pad_xor 
+0x78e1 022525 call sha_init 
+0x78e2 022526 call sha 
+0x78e3 022528 arg mem_sp_random_local_end ,contr 
+0x78e4 022529 arg memdat ,contw 
+0x78e5 022530 call memcpy_dword_swap4 
+0x78e6 022531 arg mem_sp_random_remote_end ,contr 
+0x78e7 022532 call memcpy_dword_swap4 
+:      022533 function_f3_common:
+0x78e8 022534 setarg 0x0 
+0x78e9 022535 istore 8 ,contw 
+0x78ea 022536 istore 4 ,contw 
+0x78eb 022537 fetch 4 ,mem_pin 
+0x78ec 022538 istore 4 ,contw 
+0x78ed 022540 copy contw ,temp 
+0x78ee 022541 jam 0x80 ,mem_addr_padding 
+0x78ef 022542 copy temp ,contw 
+0x78f0 022543 arg mem_addr_iocap_end ,contr 
+0x78f1 022544 call memcpy_dword_swap4 
+0x78f2 022546 call sha 
+0x78f3 022548 arg memdat ,contw 
+0x78f4 022549 force 7 ,loopcnt 
+0x78f5 022550 call memset0 
+0x78f6 022551 istore 4 ,contw 
+0x78f7 022552 setarg 0x03F8 
+0x78f8 022553 istore 4 ,contw 
+0x78f9 022554 call sha 
+0x78fa 022555 call sha_result 
+0x78fb 022557 arg memresult ,contr 
+0x78fc 022558 arg memahsave ,contw 
+0x78fd 022559 call memcpy32 
+0x78fe 022561 setarg 0x5c5c5c 
+0x78ff 022562 lshift8 pdata ,temp 
+0x7900 022563 or_into 0x5c ,temp 
+0x7901 022564 arg mem_sp_dhkey_end ,contr 
+0x7902 022565 force 6 ,loopcnt 
+0x7903 022566 call pad_xor 
+0x7904 022567 call sha_init 
+0x7905 022568 call sha 
+0x7906 022569 arg memahsave_end ,contr 
+0x7907 022570 arg memdat ,contw 
+0x7908 022571 force 8 ,loopcnt 
+0x7909 022572 call memcpy_dword_swap 
+0x790a 022573 setarg 0x800000 
+0x790b 022574 lshift8 pdata ,pdata 
+0x790c 022575 istore 4 ,contw 
+0x790d 022576 call bn_zero 
+0x790e 022577 setarg 0x0300 
+0x790f 022578 istore 4 ,contw 
+0x7910 022579 call sha 
+0x7911 022580 branch sha_result 
+:      022587 eckp_calc_init:
+0x7912 022588 jam 192 ,mem_ec_loopc 
+:      022589 eckp_calc_init_1:
+0x7913 022590 fetch 1 ,mem_ec_loopc 
+0x7914 022591 rtn blank 
+0x7915 022592 increase -1 ,pdata 
+0x7916 022593 store 1 ,mem_ec_loopc 
+0x7917 022594 arg mem_k ,contr 
+0x7918 022595 call bn_testbit 
+0x7919 022596 branch eckp_calc_init_1 ,true 
+0x791a 022597 arg mem_ax ,contr 
+0x791b 022598 arg mem_cx ,contw 
+0x791c 022599 branch ec_copy 
+:      022601 eckp_calc:
+0x791d 022602 call ecdbl 
+0x791e 022603 fetch 1 ,mem_ec_loopc 
+0x791f 022604 increase -1 ,pdata 
+0x7920 022605 store 1 ,mem_ec_loopc 
+0x7921 022606 arg mem_k ,contr 
+0x7922 022607 call bn_testbit 
+0x7923 022608 rtn true 
+0x7924 022609 branch ecadd 
+:      022611 memcpy_dword_swap4:
+0x7925 022612 force 4 ,loopcnt 
+:      022613 memcpy_dword_swap:
+0x7926 022614 increase -4 ,contr 
+:      022615 memcpy_dword_swap_loop:
+0x7927 022616 ifetch 4 ,contr 
+0x7928 022617 istore 4 ,contw 
+0x7929 022618 increase -8 ,contr 
+0x792a 022619 loop memcpy_dword_swap_loop 
+0x792b 022620 rtn 
+:      022625 sp_initialize_256:
+0x792c 022626 bpatchx patch33_1 ,mem_patch33 
+0x792d 022627 fetch 1 ,mem_le_secure_connect_enable 
+0x792e 022628 branch le_secure_connection_disable ,blank 
+0x792f 022629 call le_secure_connection_enable 
+0x7930 022630 call sp_clear_flags 
+0x7931 022632 branch sp_pubkey_calc_256 
+:      022637 sp_pubkey_calc_256:
+0x7932 022638 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7933 022639 rtnne sp_key_invalid 
+0x7934 022640 fetch 1 ,mem_le_sc_calc 
+0x7935 022641 rtnne sp_calc_standby 
+0x7936 022643 arg mem_le_private_key_256 ,contw 
+0x7937 022644 force 15 ,queue 
+0x7938 022645 call random_generator 
+0x7939 022646 random pdata 
+0x793a 022647 rshift pdata ,pdata 
+0x793b 022648 istore 2 ,contw 
+0x793c 022650 arg mem_k_256 ,contw 
+0x793d 022651 arg mem_le_private_key_256 ,contr 
+0x793e 022652 call memcpy32 
+0x793f 022654 arg mem_ax_256 ,contw 
+0x7940 022655 arg mem_gx_256 ,contr 
+0x7941 022656 call memcpy64 
+0x7942 022658 arg mem_az_256 ,contw 
+0x7943 022659 call clear_mem_256 
+0x7944 022660 jam 1 ,mem_az_256 
+0x7945 022662 call eckp_calc_init_256 
+0x7946 022663 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+0x7947 022664 rtn 
+:      022666 sp_pubkey_generated_256:
+0x7948 022667 arg mem_le_pubkey_local_x_256 ,contw 
+0x7949 022668 arg mem_bx_256 ,contr 
+0x794a 022669 call memcpy64 
+0x794b 022670 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+0x794c 022671 jam sp_calc_standby ,mem_le_sc_calc 
+0x794d 022672 rtn 
+:      022676 sp_dhkey_calc_256:
+0x794e 022677 fetch 1 ,mem_sp_dhkey_invalid 
+0x794f 022678 rtnne sp_key_invalid 
+0x7950 022679 fetch 1 ,mem_le_sc_calc 
+0x7951 022680 rtnne sp_calc_standby 
+0x7952 022682 arg mem_k_256 ,contw 
+0x7953 022683 arg mem_le_private_key_256 ,contr 
+0x7954 022684 call memcpy32 
+0x7955 022686 arg mem_ax_256 ,contw 
+0x7956 022687 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7957 022688 call memcpy64 
+0x7958 022690 arg mem_az_256 ,contw 
+0x7959 022691 call clear_mem_256 
+0x795a 022692 jam 1 ,mem_az_256 
+0x795b 022694 call eckp_calc_init_256 
+0x795c 022695 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+0x795d 022696 rtn 
+:      022699 sp_dhkey_generated_256:
+0x795e 022701 arg mem_le_dhkey_256 ,contw 
+0x795f 022702 arg mem_bx_256 ,contr 
+0x7960 022703 call memcpy32 
+0x7961 022704 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+0x7962 022705 jam sp_calc_standby ,mem_le_sc_calc 
+0x7963 022706 rtn 
+:      022710 sp_calc_sequence_256:
+0x7964 022711 fetch 1 ,mem_le_secure_connect_enable 
+0x7965 022712 rtn blank 
+0x7966 022713 fetch 1 ,mem_le_sc_calc 
+0x7967 022714 rtn blank 
+0x7968 022715 increase 0x80 ,pdata 
+0x7969 022716 store 1 ,mem_le_sc_calc 
+0x796a 022717 rtnbit1 7 
+0x796b 022718 fetch 2 ,mem_ec_loopc 
+0x796c 022719 branch sp_calc_sequence_done_256 ,blank 
+0x796d 022720 branch eckp_calc_256 
+:      022722 sp_calc_sequence_done_256:
+0x796e 022723 bpatchx patch33_2 ,mem_patch33 
+0x796f 022724 call ecunmapz_256 
+0x7970 022725 fetch 1 ,mem_le_sc_calc 
+0x7971 022726 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+0x7972 022727 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+0x7973 022728 rtn 
+:      022731 eckp_calc_256:
+0x7974 022732 call ecdbl_256 
+0x7975 022733 fetch 2 ,mem_ec_loopc 
+0x7976 022734 increase -1 ,pdata 
+0x7977 022735 store 2 ,mem_ec_loopc 
+0x7978 022736 arg mem_k_256 ,contr 
+0x7979 022737 call bn_testbit 
+0x797a 022738 rtn true 
+0x797b 022739 branch ecadd_256 
+:      022741 eckp_calc_init_256:
+0x797c 022742 bpatchx patch33_3 ,mem_patch33 
+0x797d 022743 setarg 256 ,pdata 
+0x797e 022744 store 2 ,mem_ec_loopc 
+:      022745 eckp_calc_init_256_1:
+0x797f 022746 fetch 2 ,mem_ec_loopc 
+0x7980 022747 rtn blank 
+0x7981 022748 increase -1 ,pdata 
+0x7982 022749 store 2 ,mem_ec_loopc 
+0x7983 022750 arg mem_k_256 ,contr 
+0x7984 022751 call bn_testbit 
+0x7985 022752 branch eckp_calc_init_256_1 ,true 
+0x7986 022753 arg mem_ax_256 ,contr 
+0x7987 022754 arg mem_cx_256 ,contw 
+0x7988 022755 branch memcpy96 
+:      022758 ecunmapz_256:
+0x7989 022759 arg mem_cz_256 ,rega 
+0x798a 022760 arg mem_t3_256 ,contw 
+0x798b 022761 call bn_invmod_256 
+0x798c 022762 arg mem_t3_256 ,rega 
+0x798d 022763 arg mem_t1_256 ,contw 
+0x798e 022764 call bn_sqrmod_256 
+0x798f 022765 arg mem_cx_256 ,rega 
+0x7990 022766 arg mem_t1_256 ,regb 
+0x7991 022767 arg mem_bx_256 ,contw 
+0x7992 022768 call bn_mulmod_256 
+0x7993 022769 arg mem_t3_256 ,rega 
+0x7994 022770 arg mem_t1_256 ,regb 
+0x7995 022771 arg mem_t2_256 ,contw 
+0x7996 022772 call bn_mulmod_256 
+0x7997 022773 arg mem_cy_256 ,rega 
+0x7998 022774 arg mem_t2_256 ,regb 
+0x7999 022775 arg mem_by_256 ,contw 
+0x799a 022776 branch bn_mulmod_256 
+:      022778 ecdbl_256:
+0x799b 022779 arg mem_cz_256 ,rega 
+0x799c 022780 arg mem_t2_256 ,contw 
+0x799d 022781 call bn_sqrmod_256 
+0x799e 022782 arg mem_t2_256 ,rega 
+0x799f 022783 arg mem_t3_256 ,contw 
+0x79a0 022784 call bn_sqrmod_256 
+0x79a1 022786 arg mem_a_256 ,rega 
+0x79a2 022787 arg mem_t3_256 ,regb 
+0x79a3 022788 arg mem_t3_256 ,contw 
+0x79a4 022789 call bn_mulmod_256 
+0x79a5 022790 arg mem_cx_256 ,rega 
+0x79a6 022791 arg mem_t2_256 ,contw 
+0x79a7 022792 call bn_sqrmod_256 
+0x79a8 022794 arg mem_t2_256 ,contr 
+0x79a9 022795 arg mem_t1_256 ,contw 
+0x79aa 022796 call memcpy32 
+0x79ab 022797 arg mem_t1_256 ,rega 
+0x79ac 022798 call bn_lshiftmod_256 
+0x79ad 022799 arg mem_t2_256 ,rega 
+0x79ae 022800 arg mem_t1_256 ,regb 
+0x79af 022801 arg mem_t2_256 ,contw 
+0x79b0 022802 call bn_addmod_256 
+0x79b1 022804 arg mem_t2_256 ,rega 
+0x79b2 022805 arg mem_t3_256 ,regb 
+0x79b3 022806 arg mem_t2_256 ,contw 
+0x79b4 022807 call bn_addmod_256 
+0x79b5 022809 arg mem_cx_256 ,contr 
+0x79b6 022810 arg mem_t1_256 ,contw 
+0x79b7 022811 call memcpy32 
+0x79b8 022812 arg mem_cy_256 ,rega 
+0x79b9 022813 arg mem_t3_256 ,contw 
+0x79ba 022814 call bn_sqrmod_256 
+0x79bb 022815 arg mem_t1_256 ,rega 
+0x79bc 022816 call bn_lshiftmod_256 
+0x79bd 022817 arg mem_t1_256 ,rega 
+0x79be 022818 call bn_lshiftmod_256 
+0x79bf 022819 arg mem_t1_256 ,rega 
+0x79c0 022820 arg mem_t3_256 ,regb 
+0x79c1 022821 arg mem_t1_256 ,contw 
+0x79c2 022822 call bn_mulmod_256 
+0x79c3 022823 arg mem_t3_256 ,rega 
+0x79c4 022824 arg mem_t0_256 ,contw 
+0x79c5 022825 call bn_sqrmod_256 
+0x79c6 022826 arg mem_t0_256 ,rega 
+0x79c7 022827 call bn_lshiftmod_256 
+0x79c8 022828 arg mem_t0_256 ,rega 
+0x79c9 022829 call bn_lshiftmod_256 
+0x79ca 022830 arg mem_t0_256 ,rega 
+0x79cb 022831 call bn_lshiftmod_256 
+0x79cc 022832 arg mem_cy_256 ,contr 
+0x79cd 022833 arg mem_t3_256 ,contw 
+0x79ce 022834 call memcpy32 
+0x79cf 022835 arg mem_t3_256 ,rega 
+0x79d0 022836 call bn_lshiftmod_256 
+0x79d1 022837 arg mem_t3_256 ,rega 
+0x79d2 022838 arg mem_cz_256 ,regb 
+0x79d3 022839 arg mem_cz_256 ,contw 
+0x79d4 022840 call bn_mulmod_256 
+0x79d5 022843 arg mem_t2_256 ,rega 
+0x79d6 022844 arg mem_t3_256 ,contw 
+0x79d7 022845 call bn_sqrmod_256 
+0x79d8 022847 arg mem_t3_256 ,rega 
+0x79d9 022848 arg mem_t1_256 ,regb 
+0x79da 022849 arg mem_t3_256 ,contw 
+0x79db 022850 call bn_submod_256 
+0x79dc 022851 arg mem_t3_256 ,rega 
+0x79dd 022852 arg mem_t1_256 ,regb 
+0x79de 022853 arg mem_cx_256 ,contw 
+0x79df 022854 call bn_submod_256 
+0x79e0 022855 arg mem_t1_256 ,rega 
+0x79e1 022856 arg mem_cx_256 ,regb 
+0x79e2 022857 arg mem_t3_256 ,contw 
+0x79e3 022858 call bn_submod_256 
+0x79e4 022859 arg mem_t3_256 ,rega 
+0x79e5 022860 arg mem_t2_256 ,regb 
+0x79e6 022861 arg mem_t3_256 ,contw 
+0x79e7 022862 call bn_mulmod_256 
+0x79e8 022863 arg mem_t3_256 ,rega 
+0x79e9 022864 arg mem_t0_256 ,regb 
+0x79ea 022865 arg mem_cy_256 ,contw 
+0x79eb 022866 branch bn_submod_256 
+:      022868 ecadd_256:
+0x79ec 022870 arg mem_az_256 ,rega 
+0x79ed 022871 arg mem_t7_256 ,contw 
+0x79ee 022872 call bn_sqrmod_256 
+0x79ef 022873 arg mem_cx_256 ,rega 
+0x79f0 022874 arg mem_t7_256 ,regb 
+0x79f1 022875 arg mem_t0_256 ,contw 
+0x79f2 022876 call bn_mulmod_256 
+0x79f3 022879 arg mem_az_256 ,rega 
+0x79f4 022880 arg mem_t7_256 ,regb 
+0x79f5 022881 arg mem_t7_256 ,contw 
+0x79f6 022882 call bn_mulmod_256 
+0x79f7 022883 arg mem_cy_256 ,rega 
+0x79f8 022884 arg mem_t7_256 ,regb 
+0x79f9 022885 arg mem_t1_256 ,contw 
+0x79fa 022886 call bn_mulmod_256 
+0x79fb 022889 arg mem_cz_256 ,rega 
+0x79fc 022890 arg mem_t7_256 ,contw 
+0x79fd 022891 call bn_sqrmod_256 
+0x79fe 022892 arg mem_ax_256 ,rega 
+0x79ff 022893 arg mem_t7_256 ,regb 
+0x7a00 022894 arg mem_t2_256 ,contw 
+0x7a01 022895 call bn_mulmod_256 
+0x7a02 022897 arg mem_cz_256 ,rega 
+0x7a03 022898 arg mem_t7_256 ,regb 
+0x7a04 022899 arg mem_t7_256 ,contw 
+0x7a05 022900 call bn_mulmod_256 
+0x7a06 022901 arg mem_ay_256 ,rega 
+0x7a07 022902 arg mem_t7_256 ,regb 
+0x7a08 022903 arg mem_t3_256 ,contw 
+0x7a09 022904 call bn_mulmod_256 
+0x7a0a 022909 arg mem_t0_256 ,regb 
+0x7a0b 022910 arg mem_t2_256 ,rega 
+0x7a0c 022911 arg mem_t7_256 ,contw 
+0x7a0d 022912 call bn_submod_256 
+0x7a0e 022913 arg mem_t0_256 ,rega 
+0x7a0f 022914 arg mem_t2_256 ,regb 
+0x7a10 022915 arg mem_t0_256 ,contw 
+0x7a11 022916 call bn_addmod_256 
+0x7a12 022919 arg mem_t1_256 ,regb 
+0x7a13 022920 arg mem_t3_256 ,rega 
+0x7a14 022921 arg mem_t2_256 ,contw 
+0x7a15 022922 call bn_submod_256 
+0x7a16 022923 arg mem_t1_256 ,rega 
+0x7a17 022924 arg mem_t3_256 ,regb 
+0x7a18 022925 arg mem_t1_256 ,contw 
+0x7a19 022926 call bn_addmod_256 
+0x7a1a 022927 arg mem_t1_256 ,rega 
+0x7a1b 022928 arg mem_t7_256 ,regb 
+0x7a1c 022929 arg mem_t1_256 ,contw 
+0x7a1d 022930 call bn_mulmod_256 
+0x7a1e 022931 arg mem_cz_256 ,rega 
+0x7a1f 022932 arg mem_az_256 ,regb 
+0x7a20 022933 arg mem_t3_256 ,contw 
+0x7a21 022934 call bn_mulmod_256 
+0x7a22 022935 arg mem_t3_256 ,rega 
+0x7a23 022936 arg mem_t7_256 ,regb 
+0x7a24 022937 arg mem_cz_256 ,contw 
+0x7a25 022938 call bn_mulmod_256 
+0x7a26 022940 arg mem_t7_256 ,rega 
+0x7a27 022941 arg mem_t7_256 ,contw 
+0x7a28 022942 call bn_sqrmod_256 
+0x7a29 022943 arg mem_t7_256 ,rega 
+0x7a2a 022944 arg mem_t0_256 ,regb 
+0x7a2b 022945 arg mem_t3_256 ,contw 
+0x7a2c 022946 call bn_mulmod_256 
+0x7a2d 022947 arg mem_t7_256 ,rega 
+0x7a2e 022948 arg mem_t1_256 ,regb 
+0x7a2f 022949 arg mem_t1_256 ,contw 
+0x7a30 022950 call bn_mulmod_256 
+0x7a31 022951 arg mem_t2_256 ,rega 
+0x7a32 022952 arg mem_cx_256 ,contw 
+0x7a33 022953 call bn_sqrmod_256 
+0x7a34 022954 arg mem_cx_256 ,rega 
+0x7a35 022955 arg mem_t3_256 ,regb 
+0x7a36 022956 arg mem_cx_256 ,contw 
+0x7a37 022957 call bn_submod_256 
+0x7a38 022958 arg mem_cx_256 ,contr 
+0x7a39 022959 arg mem_t7_256 ,contw 
+0x7a3a 022960 call memcpy32 
+0x7a3b 022961 arg mem_t7_256 ,rega 
+0x7a3c 022962 call bn_lshiftmod_256 
+0x7a3d 022963 arg mem_t3_256 ,rega 
+0x7a3e 022964 arg mem_t7_256 ,regb 
+0x7a3f 022965 arg mem_t3_256 ,contw 
+0x7a40 022966 call bn_submod_256 
+0x7a41 022967 arg mem_t3_256 ,rega 
+0x7a42 022968 arg mem_t2_256 ,regb 
+0x7a43 022969 arg mem_t2_256 ,contw 
+0x7a44 022970 call bn_mulmod_256 
+0x7a45 022971 arg mem_t2_256 ,rega 
+0x7a46 022972 arg mem_t1_256 ,regb 
+0x7a47 022973 arg mem_cy_256 ,contw 
+0x7a48 022974 call bn_submod_256 
+0x7a49 022975 arg mem_cy_256 ,rega 
+0x7a4a 022976 arg mem_p_256 ,regb 
+0x7a4b 022977 arg mem_cy_256 ,contw 
+0x7a4c 022978 force 0 ,regc 
+0x7a4d 022979 fetch 1 ,mem_cy_256 
+0x7a4e 022980 isolate1 0 ,pdata 
+0x7a4f 022981 call bn_add_256 ,true 
+0x7a50 022982 copy regc ,alarm 
+0x7a51 022983 arg mem_cy_256 ,rega 
+0x7a52 022984 call bn_rshift_256 
+0x7a53 022985 fetch 1 ,mem_cy5_256 
+0x7a54 022986 isolate1 0 ,alarm 
+0x7a55 022987 setflag true ,7 ,pdata 
+0x7a56 022988 store 1 ,mem_cy5_256 
+0x7a57 022989 rtn 
+:      022991 bn_invmod_256:
+0x7a58 022992 copy contw ,timeup 
+0x7a59 022993 arg mem_tmp0_256 ,contw 
+0x7a5a 022994 call clear_mem_256 
+0x7a5b 022995 force 0 ,pdata 
+0x7a5c 022997 store 4 ,mem_t2_256 
+0x7a5d 022998 jam 1 ,mem_tmp0_256 
+0x7a5e 022999 arg mem_tmp1_256 ,contw 
+0x7a5f 023000 call clear_mem_512 
+0x7a60 023001 arg mem_p_256 ,contr 
+0x7a61 023002 arg mem_tmp2_256 ,contw 
+0x7a62 023003 call memcpy32 
+0x7a63 023004 copy rega ,contr 
+0x7a64 023005 arg mem_tmp3_256 ,contw 
+0x7a65 023006 call memcpy32 
+:      023012 bn_invmod_256_2:
+0x7a66 023013 arg mem_tmp3_256 ,contr 
+0x7a67 023014 call bn_eq_zero_256 
+0x7a68 023015 branch bn_invmod_256_0 ,blank 
+0x7a69 023020 arg mem_tmp3_256 ,rega 
+0x7a6a 023021 arg mem_tmp0_256 ,regb 
+0x7a6b 023022 call bn_rshifteven_256 
+0x7a6c 023023 arg mem_tmp2_256 ,rega 
+0x7a6d 023024 arg mem_tmp1_256 ,regb 
+0x7a6e 023025 call bn_rshifteven_256 
+0x7a6f 023027 arg mem_tmp3_256 ,rega 
+0x7a70 023028 arg mem_tmp2_256 ,regb 
+0x7a71 023029 call bn_bigeq_256 
+0x7a72 023030 branch bn_invmod_256_1 ,positive 
+0x7a73 023031 arg mem_tmp2_256 ,rega 
+0x7a74 023032 arg mem_tmp3_256 ,regb 
+0x7a75 023033 copy rega ,contw 
+0x7a76 023034 call bn_sub_256 
+0x7a77 023035 arg mem_tmp0_256 ,rega 
+0x7a78 023036 arg mem_tmp1_256 ,regb 
+0x7a79 023037 copy regb ,contw 
+0x7a7a 023038 call bn_add_256 
+0x7a7b 023039 ifetch 1 ,rega 
+0x7a7c 023040 iadd regc ,regc 
+0x7a7d 023041 ifetch 1 ,regb 
+0x7a7e 023042 iadd regc ,pdata 
+0x7a7f 023043 istore 1 ,regb 
+0x7a80 023044 branch bn_invmod_256_2 
+:      023045 bn_invmod_256_1:
+0x7a81 023046 arg mem_tmp3_256 ,rega 
+0x7a82 023047 arg mem_tmp2_256 ,regb 
+0x7a83 023048 copy rega ,contw 
+0x7a84 023049 call bn_sub_256 
+0x7a85 023050 arg mem_tmp1_256 ,rega 
+0x7a86 023051 arg mem_tmp0_256 ,regb 
+0x7a87 023052 copy regb ,contw 
+0x7a88 023053 call bn_add_256 
+0x7a89 023054 ifetch 1 ,rega 
+0x7a8a 023055 iadd regc ,regc 
+0x7a8b 023056 ifetch 1 ,regb 
+0x7a8c 023057 iadd regc ,pdata 
+0x7a8d 023058 istore 1 ,regb 
+0x7a8e 023059 branch bn_invmod_256_2 
+:      023060 bn_invmod_256_0:
+0x7a8f 023062 arg mem_tmp1_256 ,rega 
+0x7a90 023063 copy timeup ,contw 
+0x7a91 023064 call bn_p256mod 
+0x7a92 023066 arg mem_p_256 ,rega 
+0x7a93 023067 copy timeup ,regb 
+0x7a94 023068 copy timeup ,contw 
+0x7a95 023069 branch bn_submod_256 
+:      023072 bn_mulmod_256:
+0x7a96 023073 copy contw ,timeup 
+0x7a97 023075 force 0 ,regext_index 
+0x7a98 023077 arg mem_tmp1_256 ,contw 
+0x7a99 023078 call clear_mem_512 
+0x7a9a 023079 arg mem_regext ,contw 
+0x7a9b 023080 call clear_mem_512 
+0x7a9c 023084 copy rega ,contr 
+0x7a9d 023086 jam 0 ,mem_regext 
+0x7a9e 023087 setarg 0 
+0x7a9f 023088 call bn_load_mem 
+0x7aa0 023089 copy regb ,contr 
+0x7aa1 023090 call bn_load_256 
+0x7aa2 023093 force 0 ,queue 
+0x7aa3 023094 arg mem_tmp1_256 ,contw 
+:      023095 bn_mulmod_256_1:
+0x7aa4 023098 arg mem_regext ,temp 
+0x7aa5 023099 copy queue ,regb 
+0x7aa6 023100 lshift2 regb ,pdata 
+0x7aa7 023102 iadd temp ,regb 
+0x7aa8 023103 force 0 ,temp 
+0x7aa9 023104 force 0 ,regc 
+:      023105 bn_mulmod_256_0:
+0x7aaa 023110 ifetch 4 ,contw 
+0x7aab 023111 iforce rega 
+0x7aac 023114 ifetch 4 ,regb 
+0x7aad 023115 copy regc ,regext_index 
+0x7aae 023116 imul32 regext ,pdata 
+0x7aaf 023117 iadd rega ,pdata 
+0x7ab0 023118 iadd temp ,pdata 
+0x7ab1 023119 istore 4 ,contw 
+0x7ab2 023120 rshift32 pdata ,temp 
+0x7ab3 023121 increase 1 ,regc 
+0x7ab4 023122 compare 8 ,regc ,0xff 
+0x7ab5 023123 nbranch bn_mulmod_256_0 ,true 
+0x7ab6 023125 deposit temp 
+0x7ab7 023126 istore 4 ,contw 
+0x7ab8 023127 increase -32 ,contw 
+0x7ab9 023130 increase 1 ,queue 
+0x7aba 023131 compare 8 ,queue ,0xff 
+0x7abb 023132 nbranch bn_mulmod_256_1 ,true 
+0x7abc 023133 arg mem_tmp1_256 ,rega 
+0x7abd 023134 copy timeup ,contw 
+0x7abe 023135 branch bn_p256mod 
+:      023137 bn_p256mod:
+0x7abf 023138 bpatchx patch33_4 ,mem_patch33 
+0x7ac0 023139 copy contw ,timeup 
+0x7ac1 023140 copy rega ,alarm 
+0x7ac2 023141 arg mem_tmp2_256 ,regb 
+0x7ac3 023142 copy regb ,contw 
+0x7ac4 023143 call memset0_4 
+0x7ac5 023144 istore 8 ,contw 
+0x7ac6 023145 add rega ,44 ,contr 
+0x7ac7 023146 call memcpy8 
+0x7ac8 023147 call memcpy12 
+0x7ac9 023148 copy regb ,rega 
+0x7aca 023149 call bn_lshiftmod_256 
+0x7acb 023150 arg mem_tmp2_256 ,regb 
+0x7acc 023151 copy alarm ,rega 
+0x7acd 023152 copy timeup ,contw 
+0x7ace 023153 call bn_addmod_256 
+0x7acf 023155 arg mem_tmp2_256 ,regb 
+0x7ad0 023156 copy regb ,contw 
+0x7ad1 023157 call memset0_4 
+0x7ad2 023158 istore 8 ,contw 
+0x7ad3 023159 add alarm ,48 ,contr 
+0x7ad4 023160 call memcpy16 
+0x7ad5 023161 call memset0_4 
+0x7ad6 023162 copy regb ,rega 
+0x7ad7 023163 call bn_lshiftmod_256 
+0x7ad8 023167 arg mem_tmp2_256 ,regb 
+0x7ad9 023168 copy timeup ,rega 
+0x7ada 023169 copy rega ,contw 
+0x7adb 023170 call bn_addmod_256 
+0x7adc 023174 arg mem_tmp2_256 ,regb 
+0x7add 023175 copy regb ,contw 
+0x7ade 023176 add alarm ,32 ,contr 
+0x7adf 023177 call memcpy12 
+0x7ae0 023178 call memset0_4 
+0x7ae1 023179 istore 8 ,contw 
+0x7ae2 023180 add alarm ,56 ,contr 
+0x7ae3 023181 call memcpy8 
+0x7ae4 023182 copy timeup ,rega 
+0x7ae5 023183 copy rega ,contw 
+0x7ae6 023184 call bn_addmod_256 
+0x7ae7 023188 arg mem_tmp2_256 ,regb 
+0x7ae8 023189 copy regb ,contw 
+0x7ae9 023190 add alarm ,36 ,contr 
+0x7aea 023191 call memcpy12 
+0x7aeb 023192 add alarm ,52 ,contr 
+0x7aec 023193 call memcpy12 
+0x7aed 023194 add alarm ,52 ,contr 
+0x7aee 023195 call memcpy4 
+0x7aef 023196 add alarm ,32 ,contr 
+0x7af0 023197 call memcpy4 
+0x7af1 023198 copy timeup ,rega 
+0x7af2 023199 copy rega ,contw 
+0x7af3 023200 call bn_addmod_256 
+0x7af4 023203 arg mem_tmp2_256 ,regb 
+0x7af5 023204 copy regb ,contw 
+0x7af6 023205 add alarm ,44 ,contr 
+0x7af7 023206 call memcpy12 
+0x7af8 023207 call memset0_4 
+0x7af9 023208 istore 8 ,contw 
+0x7afa 023209 add alarm ,32 ,contr 
+0x7afb 023210 call memcpy4 
+0x7afc 023211 add alarm ,40 ,contr 
+0x7afd 023212 call memcpy4 
+0x7afe 023213 copy timeup ,rega 
+0x7aff 023214 copy rega ,contw 
+0x7b00 023215 call bn_submod_256 
+0x7b01 023218 arg mem_tmp2_256 ,regb 
+0x7b02 023219 copy regb ,contw 
+0x7b03 023220 add alarm ,48 ,contr 
+0x7b04 023221 call memcpy8 
+0x7b05 023222 call memcpy8 
+0x7b06 023223 force 0 ,pdata 
+0x7b07 023224 istore 8 ,contw 
+0x7b08 023225 add alarm ,36 ,contr 
+0x7b09 023226 call memcpy4 
+0x7b0a 023227 add alarm ,44 ,contr 
+0x7b0b 023228 call memcpy4 
+0x7b0c 023229 copy timeup ,rega 
+0x7b0d 023230 copy rega ,contw 
+0x7b0e 023231 call bn_submod_256 
+0x7b0f 023234 arg mem_tmp2_256 ,regb 
+0x7b10 023235 copy regb ,contw 
+0x7b11 023236 add alarm ,52 ,contr 
+0x7b12 023237 call memcpy12 
+0x7b13 023238 add alarm ,32 ,contr 
+0x7b14 023239 call memcpy12 
+0x7b15 023240 call memset0_4 
+0x7b16 023241 add alarm ,48 ,contr 
+0x7b17 023242 call memcpy4 
+0x7b18 023243 copy timeup ,rega 
+0x7b19 023244 copy rega ,contw 
+0x7b1a 023245 call bn_submod_256 
+0x7b1b 023248 arg mem_tmp2_256 ,regb 
+0x7b1c 023249 copy regb ,contw 
+0x7b1d 023250 add alarm ,56 ,contr 
+0x7b1e 023251 call memcpy8 
+0x7b1f 023252 call memset0_4 
+0x7b20 023253 add alarm ,36 ,contr 
+0x7b21 023254 call memcpy12 
+0x7b22 023255 call memset0_4 
+0x7b23 023256 add alarm ,52 ,contr 
+0x7b24 023257 call memcpy4 
+0x7b25 023258 copy timeup ,rega 
+0x7b26 023259 copy rega ,contw 
+0x7b27 023260 branch bn_submod_256 
+:      023263 bn_load_mem:
+0x7b28 023264 force 32 ,loopcnt 
+0x7b29 023265 arg mem_regext ,contw 
+0x7b2a 023266 iadd contw ,contw 
+0x7b2b 023267 branch memcpy 
+:      023269 bn_load_256:
+0x7b2c 023270 force 8 ,loopcnt 
+0x7b2d 023271 branch bn_load_0 
+:      023273 bn_sqrmod_256:
+0x7b2e 023274 copy rega ,regb 
+0x7b2f 023275 branch bn_mulmod_256 
+:      023277 bn_add_256:
+0x7b30 023278 force 8 ,loopcnt 
+0x7b31 023279 branch bn_add + 1 
+:      023281 bn_addmod_256:
+0x7b32 023282 call bn_add_256 
+0x7b33 023283 copy contw ,rega 
+0x7b34 023284 branch bn_lshiftmod_ismod_256 
+:      023286 bn_lshiftmod_256:
+0x7b35 023287 call bn_lshift_256 
+:      023288 bn_lshiftmod_ismod_256:
+0x7b36 023289 isolate1 0 ,regc 
+0x7b37 023290 branch bn_lshiftmod_p_256 ,true 
+0x7b38 023291 arg mem_p_256 ,regb 
+0x7b39 023292 copy rega ,regc 
+0x7b3a 023293 increase -32 ,rega 
+0x7b3b 023294 call bn_bigeq_256 
+0x7b3c 023295 nrtn positive 
+0x7b3d 023296 copy regc ,rega 
+0x7b3e 023297 branch sub_p2_256 
+:      023299 bn_lshiftmod_p_256:
+0x7b3f 023300 call sub_p2_256 
+0x7b40 023302 copy rega ,regc 
+0x7b41 023303 increase -32 ,rega 
+0x7b42 023304 arg mem_p_256 ,regb 
+0x7b43 023305 call bn_bigeq_256 
+0x7b44 023306 nrtn positive 
+0x7b45 023307 copy regc ,rega 
+0x7b46 023308 branch sub_p2_256 
+:      023311 sub_p2_256:
+0x7b47 023312 increase -32 ,rega 
+0x7b48 023313 arg mem_p_256 ,regb 
+0x7b49 023314 copy rega ,contw 
+0x7b4a 023315 branch bn_sub_256 
+:      023320 bn_submod_256:
+0x7b4b 023321 call bn_sub_256 
+0x7b4c 023323 branch bn_submod_256_np ,true 
+0x7b4d 023326 add contw ,-32 ,rega 
+0x7b4e 023327 arg mem_p_256 ,regb 
+0x7b4f 023328 call bn_bigeq_256 
+0x7b50 023329 nrtn positive 
+0x7b51 023330 arg mem_p_256 ,regb 
+0x7b52 023331 add contw ,-32 ,rega 
+0x7b53 023333 copy rega ,contw 
+0x7b54 023334 branch bn_sub_256 
+:      023335 bn_submod_256_np:
+0x7b55 023336 add contw ,-32 ,rega 
+0x7b56 023337 arg mem_p_256 ,regb 
+0x7b57 023338 copy rega ,contw 
+0x7b58 023339 call bn_add_256 
+0x7b59 023341 rtn true 
+0x7b5a 023342 add contw ,-32 ,rega 
+0x7b5b 023343 arg mem_p_256 ,regb 
+0x7b5c 023344 copy rega ,contw 
+0x7b5d 023345 branch bn_add_256 
+:      023349 bn_sub_256:
+0x7b5e 023350 force 8 ,loopcnt 
+0x7b5f 023351 branch bn_sub + 1 
+:      023353 bn_rshift_256:
+0x7b60 023354 force 8 ,loopcnt 
+0x7b61 023355 increase 28 ,rega 
+0x7b62 023356 branch bn_rshift 
+:      023358 bn_lshift_256:
+0x7b63 023359 force 8 ,loopcnt 
+0x7b64 023360 force 0 ,regc 
+0x7b65 023361 branch bn_lshift_0 
+:      023363 bn_bigeq_256:
+0x7b66 023364 force 8 ,loopcnt 
+0x7b67 023365 increase 28 ,rega 
+0x7b68 023366 increase 28 ,regb 
+0x7b69 023367 branch bn_bigeq_0 
+:      023370 bn_eq_zero_256:
+0x7b6a 023371 ifetch 8 ,contr 
+0x7b6b 023372 nrtn blank 
+0x7b6c 023373 branch bn_eq_zero 
+:      023378 bn_rshifteven_256:
+0x7b6d 023379 copy rega ,alarm 
+:      023380 bn_rshifteven_256_1:
+0x7b6e 023381 copy alarm ,rega 
+0x7b6f 023382 ifetch 1 ,rega 
+0x7b70 023383 isolate1 0 ,pdata 
+0x7b71 023384 rtn true 
+0x7b72 023385 call bn_rshift_256 
+0x7b73 023386 ifetch 1 ,regb 
+0x7b74 023387 isolate0 0 ,pdata 
+0x7b75 023388 branch bn_rshifteven_256_0 ,true 
+0x7b76 023389 arg mem_p_256 ,rega 
+0x7b77 023390 copy regb ,contw 
+0x7b78 023391 call bn_add_256 
+0x7b79 023392 ifetch 1 ,regb 
+0x7b7a 023393 iadd regc ,pdata 
+0x7b7b 023394 istore 1 ,regb 
+0x7b7c 023395 increase -32 ,regb 
+:      023396 bn_rshifteven_256_0:
+0x7b7d 023397 add regb ,32 ,rega 
+0x7b7e 023398 force 9 ,loopcnt 
+0x7b7f 023399 call bn_rshift 
+0x7b80 023400 branch bn_rshifteven_256_1 
+:      023404 ui_init:
+0x7b81 023405 call lpm_disable_exen_output 
+0x7b82 023406 rtn wake 
+0x7b83 023407 branch ui_timer_init 
+:      023409 ui_dispatch:
+0x7b84 023410 branch ui_timer_check 
+:      023415 ui_timer_timeout:
+0x7b85 023416 setarg 0x1000 
+0x7b86 023417 lshift16 pdata ,pdata 
+0x7b87 023418 iadd regb ,regb 
+0x7b88 023419 rtn 
+:      023421 ui_timer_check:
+0x7b89 023422 bpatchx patch33_5 ,mem_patch33 
+0x7b8a 023423 arg 0 ,rega 
+0x7b8b 023424 fetcht 4 ,mem_ui_timer_last_btclk 
+0x7b8c 023425 copy clkn_bt ,regb 
+0x7b8d 023426 copy regb ,pdata 
+0x7b8e 023427 isub temp ,null 
+0x7b8f 023428 ncall ui_timer_timeout ,positive 
+:      023430 ui_timer_check_loop:
+0x7b90 023431 copy regb ,pdata 
+0x7b91 023432 increase 160 ,temp 
+0x7b92 023433 increase 160 ,temp 
+0x7b93 023434 isub temp ,null 
+0x7b94 023435 nbranch ui_timer_check_end ,positive 
+0x7b95 023436 increase 1 ,rega 
+0x7b96 023437 and rega ,0x0f ,pdata 
+0x7b97 023438 nbranch ui_timer_check_loop ,blank 
+0x7b98 023439 arg 0 ,rega 
+0x7b99 023440 call ui_timer_check_send_evt 
+:      023441 ui_timer_init:
+0x7b9a 023442 copy clkn_bt ,pdata 
+0x7b9b 023443 store 4 ,mem_ui_timer_last_btclk 
+0x7b9c 023444 rtn 
+:      023445 ui_timer_check_end:
+0x7b9d 023446 bpatchx patch33_6 ,mem_patch33 
+0x7b9e 023447 copy rega ,pdata 
+0x7b9f 023448 rtn blank 
+0x7ba0 023449 increase -160 ,temp 
+0x7ba1 023450 increase -160 ,temp 
+0x7ba2 023451 set0 28 ,temp 
+0x7ba3 023452 storet 4 ,mem_ui_timer_last_btclk 
+:      023453 ui_timer_check_send_evt:
+0x7ba4 023454 branch app_evt_timer 
+:      023461 ui_ipc_get_lock:
+0x7ba5 023462 jam 1 ,mem_ipc_lock_bt 
+:      023463 ui_ipc_get_lock_wait:
+0x7ba6 023464 fetch 1 ,mem_ipc_lock_c51 
+0x7ba7 023465 nbranch ui_ipc_get_lock_wait ,blank 
+0x7ba8 023466 rtn 
+:      023468 ui_ipc_put_lock:
+0x7ba9 023469 jam 0 ,mem_ipc_lock_bt 
+0x7baa 023470 rtn 
+:      023474 ui_ipc_send_event:
+0x7bab 023475 bpatchx patch33_7 ,mem_patch33 
+0x7bac 023476 call ui_ipc_get_lock 
+0x7bad 023477 copy rega ,pdata 
+0x7bae 023478 store 4 ,mem_ipc_rega_temp 
+0x7baf 023479 arg mem_ipc_fifo_bt2c51 ,rega 
+0x7bb0 023480 call fifo_in 
+0x7bb1 023481 fetch 4 ,mem_ipc_rega_temp 
+0x7bb2 023482 copy pdata ,rega 
+0x7bb3 023483 branch ui_ipc_put_lock 
+:      023485 ui_ipc_send_cmd:
+0x7bb4 023486 bpatchx patch34_0 ,mem_patch34 
+0x7bb5 023487 call ui_ipc_get_lock 
+0x7bb6 023488 copy rega ,pdata 
+0x7bb7 023489 store 4 ,mem_ipc_rega_temp 
+0x7bb8 023490 arg mem_ipc_fifo_c512bt ,rega 
+0x7bb9 023491 call fifo_in 
+0x7bba 023492 fetch 4 ,mem_ipc_rega_temp 
+0x7bbb 023493 copy pdata ,rega 
+0x7bbc 023494 branch ui_ipc_put_lock 
+:      023496 ui_ipc_clean_all_fifo:
+0x7bbd 023497 setarg 0 
+0x7bbe 023498 store util_fifo_len ,mem_ipc_fifo_c512bt 
+0x7bbf 023499 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x7bc0 023500 rtn 
+:      023502 check_51cmd:
+0x7bc1 023503 bpatchx patch34_1 ,mem_patch34 
+0x7bc2 023504 fetch 1 ,mem_hci_cmd 
+0x7bc3 023505 nrtn blank 
+0x7bc4 023506 arg mem_ipc_fifo_c512bt ,rega 
+0x7bc5 023507 call fifo_is_empty 
+0x7bc6 023508 rtn blank 
+0x7bc7 023509 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+0x7bc8 023510 call check_51cmd_once 
+0x7bc9 023511 fetch 1 ,mem_ipc_skip_continue_proc 
+0x7bca 023512 branch check_51cmd ,blank 
+0x7bcb 023513 rtn 
+:      023515 check_51cmd_once:
+0x7bcc 023516 call ui_ipc_get_lock 
+0x7bcd 023517 arg mem_ipc_fifo_c512bt ,rega 
+0x7bce 023518 call fifo_out 
+0x7bcf 023519 copy pdata ,temp 
+0x7bd0 023520 call ui_ipc_put_lock 
+0x7bd1 023521 bpatchx patch34_2 ,mem_patch34 
+0x7bd2 023522 copy temp ,pdata 
+0x7bd3 023523 rtn blank 
+0x7bd4 023524 beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+0x7bd5 023525 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+0x7bd6 023526 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+0x7bd7 023527 beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+0x7bd8 023528 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+0x7bd9 023529 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+0x7bda 023530 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+0x7bdb 023531 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+0x7bdc 023532 beq bt_cmd_start_adv ,check_51cmd_adv 
+0x7bdd 023533 beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+0x7bde 023534 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+0x7bdf 023535 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+0x7be0 023536 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+0x7be1 023537 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+0x7be2 023538 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+0x7be3 023539 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+0x7be4 023540 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+0x7be5 023541 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+0x7be6 023543 store 1 ,mem_fifo_temp 
+0x7be7 023544 bpatchx patch34_3 ,mem_patch34 
+0x7be8 023545 call lmo_fifo_check 
+0x7be9 023546 nbranch check_51cmd_restore ,blank 
+:      023547 check_51cmd_once_continue:
+0x7bea 023548 fetch 1 ,mem_fifo_temp 
+0x7beb 023549 bmark0 mark_context ,check_51cmd_check_idle 
+0x7bec 023550 beq bt_cmd_disconnect ,check_51cmd_disconnect 
+0x7bed 023551 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+0x7bee 023552 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+0x7bef 023553 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+0x7bf0 023554 beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+0x7bf1 023555 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+0x7bf2 023556 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+0x7bf3 023557 beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+0x7bf4 023558 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+0x7bf5 023559 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+0x7bf6 023560 beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+0x7bf7 023561 rtn 
+:      023563 check_51cmd_check_idle:
+0x7bf8 023564 store 1 ,mem_fifo_temp 
+0x7bf9 023565 call context_check_idle 
+0x7bfa 023566 branch check_51cmd_restore ,zero 
+0x7bfb 023567 call context_search_plap 
+0x7bfc 023568 nrtn zero 
+:      023569 check_51cmd_restore:
+0x7bfd 023570 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+0x7bfe 023571 branch ui_ipc_send_cmd 
+:      023576 check_51cmd_start_discovery:
+0x7bff 023577 fetch 2 ,mem_ui_state_map 
+0x7c00 023578 set1 ui_state_bt_discovery 
+0x7c01 023579 store 2 ,mem_ui_state_map 
+0x7c02 023580 jam 3 ,mem_scan_mode 
+0x7c03 023581 rtn 
+:      023585 check_51cmd_stop_discovery:
+0x7c04 023586 jam 0 ,mem_hid_handshake_timer_count 
+0x7c05 023587 jam 0 ,mem_scan_mode 
+0x7c06 023588 fetch 2 ,mem_ui_state_map 
+0x7c07 023589 set0 ui_state_bt_discovery 
+0x7c08 023590 store 2 ,mem_ui_state_map 
+0x7c09 023591 rtn 
+:      023595 check_51cmd_reconnect:
+0x7c0a 023596 jam hci_cmd_create_conn ,mem_hci_cmd 
+0x7c0b 023597 rtn 
+:      023601 check_51cmd_disconnect:
+0x7c0c 023602 jam lmp_detach ,mem_lmo_opcode2 
+0x7c0d 023603 jam other_end_terminated ,mem_disconn_reason_send 
+0x7c0e 023604 rtn 
+:      023608 check_51cmd_enter_sniff_subrating:
+0x7c0f 023609 rtn 
+:      023613 check_51cmd_exit_sniff_subrating:
+0x7c10 023614 rtn 
+:      023618 check_51cmd_sniff_test:
+0x7c11 023619 rtn 
+:      023623 check_51cmd_pincode:
+0x7c12 023624 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x7c13 023625 branch cmd_pair 
+:      023629 check_51cmd_inq:
+0x7c14 023630 rtn 
+:      023634 check_51cmd_stop_inq:
+0x7c15 023635 rtn 
+:      023639 check_51cmd_adv:
+0x7c16 023640 jam on ,mem_le_adv_enable 
+0x7c17 023641 jam adv_ind ,mem_le_adv_type 
+0x7c18 023642 fetch 2 ,mem_ui_state_map 
+0x7c19 023643 set1 ui_state_ble_adv ,pdata 
+0x7c1a 023644 store 2 ,mem_ui_state_map 
+0x7c1b 023645 rtn 
+:      023649 check_51cmd_stop_adv:
+0x7c1c 023650 fetch 2 ,mem_ui_state_map 
+0x7c1d 023651 set0 ui_state_ble_adv ,pdata 
+0x7c1e 023652 store 2 ,mem_ui_state_map 
+0x7c1f 023653 jam off ,mem_le_adv_enable 
+0x7c20 023654 rtn 
+:      023658 check_51cmd_direct_adv:
+0x7c21 023659 jam on ,mem_le_adv_enable 
+0x7c22 023660 jam adv_direct_ind ,mem_le_adv_type 
+0x7c23 023661 fetch 2 ,mem_ui_state_map 
+0x7c24 023662 set1 ui_state_ble_adv ,pdata 
+0x7c25 023663 store 2 ,mem_ui_state_map 
+0x7c26 023664 rtn 
+:      023668 check_51cmd_stop_direct_adv:
+0x7c27 023669 fetch 2 ,mem_ui_state_map 
+0x7c28 023670 set0 ui_state_ble_adv ,pdata 
+0x7c29 023671 store 2 ,mem_ui_state_map 
+0x7c2a 023672 jam off ,mem_le_adv_enable 
+0x7c2b 023673 rtn 
+:      023677 check_51cmd_le_disconnect:
+0x7c2c 023678 setarg 20 
+0x7c2d 023679 store 2 ,mem_le_superto 
+0x7c2e 023680 store 2 ,mem_le_init_superto 
+0x7c2f 023681 branch le_send_terminate_ind_user_terminated 
+:      023685 check_51cmd_ble_update_connect_param:
+0x7c30 023686 branch le_l2cap_tx_update_req 
+:      023691 check_51cmd_le_start_con:
+0x7c31 023692 jam on ,mem_le_scan_enable 
+0x7c32 023693 jam hci_cmd_le_create_conn ,mem_hci_cmd 
+0x7c33 023696 rtn 
+:      023700 check_51cmd_start_scan:
+0x7c34 023701 jam on ,mem_le_scan_enable 
+0x7c35 023702 rtn 
+:      023706 check_51cmd_stop_scan:
+0x7c36 023707 jam off ,mem_le_scan_enable 
+0x7c37 023708 jam 0 ,mem_hci_cmd 
+0x7c38 023709 rtn 
+:      023713 check_51cmd_hibernate:
+0x7c39 023714 fetch 2 ,mem_cb_before_hibernate 
+0x7c3a 023715 call callback_func 
+0x7c3b 023716 call ui_ipc_clean_all_fifo 
+0x7c3c 023717 branch lpm_hibernate 
+:      023721 check_51cmd_le_smp_sec_req:
+0x7c3d 023722 branch le_send_smp_security_request 
+:      023726 check_51cmd_role_switch:
+0x7c3e 023727 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x7c3f 023728 set1 mark_switch_initiated ,mark 
+0x7c40 023729 nrtn master 
+0x7c41 023730 jam switch_flag_init ,mem_switch_flag 
+0x7c42 023731 jam lmp_switch_req ,mem_lmo_opcode2 
+0x7c43 023732 fetch 1 ,mem_connection_options 
+0x7c44 023733 set0 connection_switch ,pdata 
+0x7c45 023734 store 1 ,mem_connection_options 
+0x7c46 023735 rtn 
+:      023739 check_51cmd_bb_reconn_cancel:
+0x7c47 023740 force page_length_timer ,queue 
+0x7c48 023741 branch timer_stop 
+:      023745 check_51cmd_dhkey_not_accept:
+0x7c49 023746 call tid_set_reply 
+0x7c4a 023747 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7c4b 023748 branch parse_lmp_dhkey_check_reject 
+:      023754 right_shift_n:
+0x7c4c 023755 sub loopcnt ,0 ,null 
+0x7c4d 023756 rtn zero 
+:      023757 right_shift_n_loop:
+0x7c4e 023758 rshift pdata ,pdata 
+0x7c4f 023759 loop right_shift_n_loop 
+0x7c50 023760 rtn 
+:      023763 left_shift_n:
+0x7c51 023764 force 1 ,pdata 
+0x7c52 023765 sub loopcnt ,0 ,null 
+0x7c53 023766 rtn zero 
+:      023767 left_shift_n_loop:
+0x7c54 023768 lshift pdata ,pdata 
+0x7c55 023769 loop left_shift_n_loop 
+0x7c56 023770 rtn 
+:      023771 push_stack:
+0x7c57 023772 deposit contw 
+0x7c58 023773 store 2 ,mem_contw 
+0x7c59 023774 storet 8 ,mem_temp 
+0x7c5a 023775 deposit timeup 
+0x7c5b 023776 store 4 ,mem_timeup 
+0x7c5c 023777 call push_stack_rega_b_c 
+0x7c5d 023778 deposit contr 
+0x7c5e 023779 store 2 ,mem_contr 
+0x7c5f 023780 rtn 
+:      023782 push_stack_rega_b_c:
+0x7c60 023783 deposit rega 
+0x7c61 023784 store 4 ,mem_rega 
+0x7c62 023785 deposit regb 
+0x7c63 023786 store 4 ,mem_regb 
+0x7c64 023787 deposit regc 
+0x7c65 023788 store 3 ,mem_regc 
+0x7c66 023789 rtn 
+:      023791 pop_stack:
+0x7c67 023792 fetcht 8 ,mem_temp 
+0x7c68 023793 fetch 4 ,mem_timeup 
+0x7c69 023794 iforce timeup 
+0x7c6a 023795 call pop_stack_rega_b_c 
+0x7c6b 023796 fetch 2 ,mem_contw 
+0x7c6c 023797 iforce contw 
+0x7c6d 023798 fetch 2 ,mem_contr 
+0x7c6e 023799 iforce contr 
+0x7c6f 023800 rtn 
+:      023802 pop_stack_rega_b_c:
+0x7c70 023803 fetch 4 ,mem_rega 
+0x7c71 023804 iforce rega 
+0x7c72 023805 fetch 4 ,mem_regb 
+0x7c73 023806 iforce regb 
+0x7c74 023807 fetch 3 ,mem_regc 
+0x7c75 023808 iforce regc 
+0x7c76 023809 rtn 
+:      023811 get_contw:
+0x7c77 023812 fetch 2 ,mem_contw 
+0x7c78 023813 copy pdata ,contw 
+0x7c79 023814 rtn 
+:      023815 get_contr:
+0x7c7a 023816 fetch 2 ,mem_contr 
+0x7c7b 023817 copy pdata ,contr 
+0x7c7c 023818 rtn 
+:      023819 store_contw:
+0x7c7d 023820 copy contw ,pdata 
+0x7c7e 023821 store 2 ,mem_contw 
+0x7c7f 023822 rtn 
+:      023823 store_contr:
+0x7c80 023824 copy contr ,pdata 
+0x7c81 023825 store 2 ,mem_contr 
+0x7c82 023826 rtn 
+:      023830 save_cont_pointers:
+0x7c83 023831 copy contw ,pdata 
+0x7c84 023832 store 2 ,mem_hold_contw 
+0x7c85 023833 copy contr ,pdata 
+0x7c86 023834 store 2 ,mem_hold_contr 
+0x7c87 023835 rtn 
+:      023836 load_cont_pointers:
+0x7c88 023837 fetch 2 ,mem_hold_contw 
+0x7c89 023838 copy pdata ,contw 
+0x7c8a 023839 fetch 2 ,mem_hold_contr 
+0x7c8b 023840 copy pdata ,contr 
+0x7c8c 023841 rtn 
+:      023843 memcpy96:
+0x7c8d 023844 call memcpy32 
+:      023845 memcpy64:
+0x7c8e 023846 call memcpy32 
+0x7c8f 023847 branch memcpy32 
+:      023848 memcpy12:
+0x7c90 023849 call memcpy8 
+:      023850 memcpy4:
+0x7c91 023851 ifetch 4 ,contr 
+0x7c92 023852 istore 4 ,contw 
+0x7c93 023853 rtn 
+:      023854 memcpy8:
+0x7c94 023855 ifetch 8 ,contr 
+0x7c95 023856 istore 8 ,contw 
+0x7c96 023857 rtn 
+:      023859 memcpy48:
+0x7c97 023860 call memcpy16 
+:      023861 memcpy32:
+0x7c98 023862 call memcpy8 
+:      023863 memcpy24:
+0x7c99 023864 call memcpy8 
+:      023865 memcpy16:
+0x7c9a 023866 call memcpy8 
+0x7c9b 023867 branch memcpy8 
+:      023871 delay_10ms:
+0x7c9c 023872 arg 10 ,loopcnt 
+:      023873 delay_ms_wait:
+0x7c9d 023874 nop 12000 
+0x7c9e 023875 loop delay_ms_wait 
+0x7c9f 023876 rtn 
+:      023878 bn_zero:
+0x7ca0 023879 force 3 ,loopcnt 
+:      023880 memset0:
+0x7ca1 023881 force 0 ,pdata 
+:      023882 memset8:
+0x7ca2 023883 istore 8 ,contw 
+0x7ca3 023884 loop memset8 
+0x7ca4 023885 rtn 
+:      023887 memset0_8:
+0x7ca5 023888 force 0 ,pdata 
+0x7ca6 023889 istore 8 ,contw 
+0x7ca7 023890 rtn 
+:      023891 memset0_4:
+0x7ca8 023892 force 0 ,pdata 
+0x7ca9 023893 istore 4 ,contw 
+0x7caa 023894 rtn 
+:      023896 clear_mem_256:
+0x7cab 023897 force 4 ,loopcnt 
+0x7cac 023898 branch memset0 
+:      023899 clear_mem_512:
+0x7cad 023900 force 8 ,loopcnt 
+0x7cae 023901 branch memset0 
+:      023903 clear_mem:
+0x7caf 023904 deposit loopcnt 
+0x7cb0 023905 rtn blank 
+0x7cb1 023906 setarg 0 
+:      023907 clear_mem_loop:
+0x7cb2 023908 istore 1 ,contw 
+0x7cb3 023909 loop clear_mem_loop 
+0x7cb4 023910 rtn 
+:      023913 clear_temp_block:
+0x7cb5 023914 arg 32 ,loopcnt 
+0x7cb6 023915 arg mem_temp_block0 ,contw 
+0x7cb7 023916 branch clear_mem 
+:      023918 xor_loop:
+0x7cb8 023919 ifetch 4 ,regc 
+0x7cb9 023920 ifetcht 4 ,rega 
+0x7cba 023921 ixor temp ,pdata 
+0x7cbb 023922 istore 4 ,contw 
+0x7cbc 023923 increase 4 ,rega 
+0x7cbd 023924 increase 4 ,regc 
+0x7cbe 023925 loop xor_loop 
+0x7cbf 023926 rtn 
+:      023930 inverse_data:
+0x7cc0 023931 bpatchx patch34_4 ,mem_patch34 
+0x7cc1 023932 copy loopcnt ,pdata 
+0x7cc2 023933 sub pdata ,1 ,null 
+0x7cc3 023934 rtn positive 
+0x7cc4 023935 iadd rega ,regb 
+0x7cc5 023936 increase -1 ,regb 
+0x7cc6 023937 rshift loopcnt ,loopcnt 
+:      023938 inverse_loop:
+0x7cc7 023939 ifetcht 1 ,rega 
+0x7cc8 023940 ifetch 1 ,regb 
+0x7cc9 023941 istore 1 ,rega 
+0x7cca 023942 istoret 1 ,regb 
+0x7ccb 023943 increase -1 ,regb 
+0x7ccc 023944 increase 1 ,rega 
+0x7ccd 023945 loop inverse_loop 
+0x7cce 023946 rtn 
+:      023949 memcpy_fast:
+0x7ccf 023950 deposit loopcnt 
+0x7cd0 023951 rtn blank 
+:      023952 memcpy_fast_loop:
+0x7cd1 023953 increase -8 ,loopcnt 
+0x7cd2 023954 call memcpy8 ,positive 
+0x7cd3 023955 rtn zero 
+0x7cd4 023956 branch memcpy_fast_loop ,positive 
+0x7cd5 023957 increase 8 ,loopcnt 
+:      023958 memcpy_fast_loop_four:
+0x7cd6 023959 increase -4 ,loopcnt 
+0x7cd7 023960 call memcpy4 ,positive 
+0x7cd8 023961 rtn zero 
+0x7cd9 023962 branch memcpy_fast_loop_four ,positive 
+0x7cda 023963 increase 4 ,loopcnt 
+0x7cdb 023964 branch memcpy 
+:      023966 memcpy:
+0x7cdc 023967 deposit loopcnt 
+0x7cdd 023968 rtn blank 
+:      023969 memcpy_loop:
+0x7cde 023970 ifetch 1 ,contr 
+0x7cdf 023971 istore 1 ,contw 
+0x7ce0 023972 loop memcpy_loop 
+0x7ce1 023973 rtn 
+:      023975 timer_stop:
+0x7ce2 023976 setarg 0 
+:      023977 timer_init:
+0x7ce3 023978 rshift clkn_bt ,temp 
+0x7ce4 023979 storet 4 ,mem_last_clkn 
+0x7ce5 023980 arg mem_timers ,contw 
+0x7ce6 023981 iforce temp 
+0x7ce7 023982 lshift queue ,pdata 
+0x7ce8 023983 iadd contw ,contw 
+0x7ce9 023984 istoret 2 ,contw 
+0x7cea 023985 bpatchx patch34_5 ,mem_patch34 
+0x7ceb 023986 rtn 
+:      023988 timer_check_timeout:
+0x7cec 023989 arg 0x800 ,timeup 
+0x7ced 023990 lshift16 timeup ,timeup 
+0x7cee 023991 iadd timeup ,pdata 
+0x7cef 023992 rtn 
+:      023995 timer_reinit:
+0x7cf0 023996 arg 0 ,queue 
+:      023997 timer_check:
+0x7cf1 023998 bpatchx patch34_6 ,mem_patch34 
+0x7cf2 023999 fetcht 4 ,mem_last_clkn 
+0x7cf3 024000 rshift clkn_bt ,pdata 
+0x7cf4 024001 store 4 ,mem_last_clkn 
+0x7cf5 024002 isub temp ,null 
+0x7cf6 024003 ncall timer_check_timeout ,positive 
+0x7cf7 024004 isub temp ,timeup 
+0x7cf8 024005 copy timeup ,temp 
+0x7cf9 024006 arg mem_timers ,contr 
+0x7cfa 024007 copy contr ,contw 
+0x7cfb 024008 arg 16 ,loopcnt 
+:      024009 timer_loop:
+0x7cfc 024010 ifetch 2 ,contr 
+0x7cfd 024011 isub temp ,pdata 
+0x7cfe 024012 branch timer_counting ,positive 
+0x7cff 024013 force 0 ,pdata 
+:      024014 timer_counting:
+0x7d00 024015 istore 2 ,contw 
+0x7d01 024016 loop timer_loop 
+0x7d02 024017 arg mem_timers ,contr 
+0x7d03 024018 lshift queue ,pdata 
+0x7d04 024019 iadd contr ,contr 
+0x7d05 024020 ifetch 2 ,contr 
+0x7d06 024021 rtn 
+:      024026 clk_add:
+0x7d07 024027 iadd temp ,temp 
+0x7d08 024028 copy temp ,loopcnt 
+0x7d09 024029 setarg 3750 
+0x7d0a 024030 isub loopcnt ,pdata 
+0x7d0b 024031 rtn positive 
+0x7d0c 024032 sub pdata ,0 ,pdata 
+0x7d0d 024033 rshift16 temp ,temp 
+0x7d0e 024034 increase 1 ,temp 
+0x7d0f 024035 lshift16 temp ,temp 
+0x7d10 024036 ior temp ,temp 
+0x7d11 024037 rtn 
+:      024039 clk_diff_rt:
+0x7d12 024040 call clk_diff 
+0x7d13 024041 branch clk2rt 
+:      024044 clk_diff:
+0x7d14 024045 disable user 
+0x7d15 024046 isub temp ,pdata 
+0x7d16 024047 branch clk_diff_pos ,positive 
+0x7d17 024048 enable user 
+0x7d18 024049 sub pdata ,0 ,pdata 
+:      024050 clk_diff_pos:
+0x7d19 024051 rtnbit0 15 
+0x7d1a 024052 arg -61786 ,temp 
+0x7d1b 024053 iadd temp ,pdata 
+0x7d1c 024054 set0 64 ,pdata 
+0x7d1d 024055 rtn 
+:      024057 clk2rt:
+0x7d1e 024058 iforce contr 
+0x7d1f 024059 rshift16 pdata ,pdata 
+0x7d20 024060 arg 3750 ,temp 
+0x7d21 024061 imul32 temp ,pdata 
+0x7d22 024062 iadd contr ,pdata 
+0x7d23 024063 rtn 
+:      024066 clk2lpo:
+0x7d24 024067 lshift8 pdata ,pdata 
+0x7d25 024068 lshift4 pdata ,pdata 
+0x7d26 024069 fetcht 3 ,mem_clks_per_lpo 
+0x7d27 024070 idiv temp 
+0x7d28 024071 call wait_div_end 
+0x7d29 024072 quotient temp 
+0x7d2a 024073 rtn 
+:      024076 clk2bt:
+0x7d2b 024077 arg 3750 ,temp 
+0x7d2c 024078 idiv temp 
+0x7d2d 024079 call wait_div_end 
+0x7d2e 024080 quotient pdata 
+0x7d2f 024081 lshift16 pdata ,pdata 
+0x7d30 024082 remainder temp 
+0x7d31 024083 ior temp ,temp 
+0x7d32 024084 rtn 
+:      024091 string2dec_from_uart:
+0x7d33 024092 arg 0 ,temp 
+:      024093 string2dec_from_uart_done:
+0x7d34 024094 copy temp ,regc 
+0x7d35 024095 ifetch 1 ,contru 
+0x7d36 024096 call uchar2dialog 
+0x7d37 024097 copy regc ,temp 
+0x7d38 024098 call swap 
+0x7d39 024099 arg 10 ,regb 
+0x7d3a 024100 imul32 regb ,pdata 
+0x7d3b 024101 iadd temp ,pdata 
+0x7d3c 024102 copy pdata ,temp 
+0x7d3d 024103 loop string2dec_from_uart_done 
+0x7d3e 024104 rtn 
+:      024108 uchar2dialog:
+0x7d3f 024109 arg 0x3a ,temp 
+0x7d40 024110 isub temp ,null 
+0x7d41 024111 nbranch uchar2dialog_number ,positive 
+0x7d42 024112 arg 0x61 ,temp 
+0x7d43 024113 isub temp ,null 
+0x7d44 024114 branch uchar2dialog_a2f ,positive 
+0x7d45 024115 arg 0x37 ,temp 
+0x7d46 024116 isub temp ,pdata 
+0x7d47 024117 rtn 
+:      024118 uchar2dialog_number:
+0x7d48 024119 arg 0x30 ,temp 
+0x7d49 024120 isub temp ,pdata 
+0x7d4a 024121 rtn 
+:      024122 uchar2dialog_a2f:
+0x7d4b 024123 arg 0x57 ,temp 
+0x7d4c 024124 isub temp ,pdata 
+0x7d4d 024125 rtn 
+:      024127 pn9:
+0x7d4e 024128 copy temp ,alarm 
+0x7d4f 024129 setarg 0x1ff 
+0x7d50 024130 force 0 ,regb 
+:      024131 pn9_loop:
+0x7d51 024132 rshift3 pdata ,rega 
+0x7d52 024133 rshift rega ,rega 
+0x7d53 024134 ixor rega ,rega 
+0x7d54 024135 isolate1 0 ,rega 
+0x7d55 024136 setflag true ,9 ,pdata 
+0x7d56 024137 rshift temp ,temp 
+0x7d57 024138 isolate1 0 ,pdata 
+0x7d58 024139 setflag true ,7 ,temp 
+0x7d59 024140 rshift pdata ,pdata 
+0x7d5a 024141 increase 1 ,regb 
+0x7d5b 024142 compare 0 ,regb ,0x7 
+0x7d5c 024143 nbranch pn9_loop ,true 
+0x7d5d 024144 istoret 1 ,contw 
+0x7d5e 024145 loop pn9_loop 
+0x7d5f 024146 copy alarm ,temp 
+0x7d60 024147 rtn 
+:      024150 wait_div_end:
+0x7d61 024151 rtn modone 
+0x7d62 024152 branch wait_div_end 
+:      024162 compare_loop:
+:      024163 string_compare:
+0x7d63 024164 ifetch 1 ,rega 
+0x7d64 024165 ifetcht 1 ,regb 
+0x7d65 024166 isub temp ,null 
+0x7d66 024167 nrtn zero 
+0x7d67 024168 increase 1 ,rega 
+0x7d68 024169 increase 1 ,regb 
+0x7d69 024170 loop string_compare 
+0x7d6a 024171 force 0 ,null 
+0x7d6b 024172 rtn 
+:      024175 ceiling:
+0x7d6c 024176 isub temp ,null 
+0x7d6d 024177 nrtn positive 
+0x7d6e 024178 deposit temp 
+0x7d6f 024179 rtn 
+:      024181 swap:
+0x7d70 024182 iadd temp ,pdata 
+0x7d71 024183 isub temp ,temp 
+0x7d72 024184 isub temp ,pdata 
+0x7d73 024185 rtn 
+:      024187 clean_mem:
+0x7d74 024188 arg 0x200 ,loopcnt 
+0x7d75 024189 arg 0x4000 ,contw 
+0x7d76 024190 branch memset0 
+:      024193 callback_func:
+0x7d77 024194 rtn blank 
+0x7d78 024195 copy pdata ,pc 
+:      024199 ice_break:
+0x7d79 024200 hjam 0x1 ,core_ice_ctrl 
+0x7d7a 024201 rtn 
+:      024203 ice_setbp:
+0x7d7b 024204 hstore 2 ,core_ice_break0 
+0x7d7c 024205 hfetch 1 ,core_ice_ctrl 
+0x7d7d 024206 set1 4 ,pdata 
+0x7d7e 024207 hstore 1 ,core_ice_ctrl 
+0x7d7f 024208 rtn 
+:      024209 ice_setbp2:
+0x7d80 024210 hstore 2 ,core_ice_break1 
+0x7d81 024211 hfetch 1 ,core_ice_ctrl 
+0x7d82 024212 set1 6 ,pdata 
+0x7d83 024213 hstore 1 ,core_ice_ctrl 
+0x7d84 024214 rtn 
+:      024216 ice_set_write_bp:
+0x7d85 024217 hstore 2 ,core_ice_break0 
+0x7d86 024218 hjam 0x30 ,core_ice_ctrl 
+0x7d87 024219 rtn 
+:      024221 test_no_white:
+0x7d88 024222 hfetch 1 ,core_config 
+0x7d89 024223 set1 whiteoff_bit ,pdata 
+0x7d8a 024224 hstore 1 ,core_config 
+0x7d8b 024225 rtn 
+:      024228 test_enable_white:
+0x7d8c 024229 hfetch 1 ,core_config 
+0x7d8d 024230 set0 whiteoff_bit ,pdata 
+0x7d8e 024231 hstore 1 ,core_config 
+0x7d8f 024232 rtn 
+:      024239 fifo_in:
+0x7d90 024240 bpatchx patch34_7 ,mem_patch34 
+0x7d91 024241 ifetcht util_fifo_len ,rega 
+0x7d92 024242 and temp ,0xff ,pdata 
+0x7d93 024243 nbranch fifo_in_push ,blank 
+0x7d94 024244 rshift8 temp ,pdata 
+0x7d95 024245 istore util_fifo_len ,rega 
+:      024246 fifo_in_push:
+0x7d96 024247 increase util_fifo_len + util_fifo_offset ,rega 
+0x7d97 024248 ifetch 1 ,rega 
+0x7d98 024249 nbranch assert ,blank 
+0x7d99 024250 fetch 1 ,mem_fifo_temp 
+0x7d9a 024251 istore 1 ,rega 
+0x7d9b 024252 rtn 
+:      024257 fifo_out:
+0x7d9c 024258 bpatchx patch35_0 ,mem_patch35 
+0x7d9d 024259 arg util_fifo_len ,loopcnt 
+0x7d9e 024260 ifetch util_fifo_len ,rega 
+0x7d9f 024261 rtn blank 
+:      024262 fifo_out_loop:
+0x7da0 024263 ifetch 1 ,rega 
+0x7da1 024264 nbranch fifo_out_end ,blank 
+0x7da2 024265 increase 1 ,rega 
+0x7da3 024266 loop fifo_out_loop 
+0x7da4 024267 branch assert 
+:      024268 fifo_out_end:
+0x7da5 024269 arg 0 ,temp 
+0x7da6 024270 istoret 1 ,rega 
+0x7da7 024271 rtn 
+:      024276 fifo_is_empty:
+0x7da8 024277 ifetch util_fifo_len ,rega 
+0x7da9 024278 rtn 
+:      024283 fifo_is_full:
+0x7daa 024284 ifetch 1 ,rega 
+0x7dab 024285 rtn 
+:      024288 fifo_is_near_full:
+0x7dac 024289 ifetch 2 ,rega 
+0x7dad 024290 rtn 
+:      024294 fifo_content_count:
+0x7dae 024295 arg 0 ,temp 
+:      024296 fifo_content_count_loop:
+0x7daf 024297 fetch 1 ,contr 
+0x7db0 024298 loop fifo_content_count_loop ,blank 
+0x7db1 024299 increase 1 ,temp 
+0x7db2 024300 loop fifo_content_count_loop 
+0x7db3 024301 copy temp ,pdata 
+0x7db4 024302 rtn 
+:      024304 not_greater_than:
+0x7db5 024305 isub temp ,null 
+0x7db6 024306 nrtn positive 
+0x7db7 024307 copy temp ,pdata 
+0x7db8 024308 rtn 
+:      024311 disable_positive:
+0x7db9 024312 force -1 ,null 
+0x7dba 024313 rtn 
+:      024314 enable_positive:
+:      024315 disable_zero:
+0x7dbb 024316 force 1 ,null 
+0x7dbc 024317 rtn 
+:      024318 enable_zero:
+0x7dbd 024319 force 0 ,null 
+0x7dbe 024320 rtn 
+:      024322 enable_user:
+0x7dbf 024323 enable user 
+0x7dc0 024324 rtn 
+:      024326 disable_user:
+0x7dc1 024327 disable user 
+0x7dc2 024328 rtn 
+:      024330 enable_user2:
+0x7dc3 024331 enable user2 
+0x7dc4 024332 rtn 
+:      024334 disable_user2:
+0x7dc5 024335 disable user2 
+0x7dc6 024336 rtn 
+:      024338 disable_blank:
+0x7dc7 024339 setarg 1 
+0x7dc8 024340 rtn 
+:      024342 enable_blank:
+0x7dc9 024343 setarg 0 
+0x7dca 024344 rtn 
+:      024347 reverse_byte:
+0x7dcb 024348 copy loopcnt ,pdata 
+0x7dcc 024349 rtn blank 
+0x7dcd 024350 copy contr ,pdata 
+0x7dce 024351 iadd loopcnt ,pdata 
+0x7dcf 024352 increase -1 ,pdata 
+0x7dd0 024353 copy pdata ,contr 
+:      024354 reverse_loop:
+0x7dd1 024355 ifetch 1 ,contr 
+0x7dd2 024356 increase -2 ,contr 
+0x7dd3 024357 istore 1 ,contw 
+0x7dd4 024358 loop reverse_loop 
+0x7dd5 024359 rtn 
Index: ebike/trunk/output/bt_program23.meta
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.meta	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.meta	(working copy)
@@ -0,0 +1,24361 @@
+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
+
+
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+
+p_start:
+	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset0
+	//page patch
+	beq patch02_1,p_master_page_no_interval
+	//lpm exen patch
+	beq patch00_1,p_soft_reset
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	//lpm patch
+	beq patch12_4,p_ahead_window
+	beq patch14_2,p_init_param
+	beq patch14_3,p_lpm_adjust_clk
+	beq patch15_4,p_lpm_unconn_nossp
+	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 patch1d_3,p_le_init_conn
+	//context patch
+	beq patch00_5,p_connection_incontext
+	beq patch05_4,p_context_new
+	beq patch05_6,p_context_search
+	beq patch0d_7,p_sniff_check_window
+	beq patch14_6,p_lpm_recover_clk
+	beq patch14_7,p_lpm_dispatch
+	beq patch15_3,p_lpm_dispatch_unconn
+	//
+	beq patch07_3,p_sconn_successful
+	//hfp patch
+	beq patch17_7,p_l2cap_init_wake
+	//role switch patch
+	beq patch04_6,p_role_switch_master
+	beq patch05_0,p_roles_replyto_fhs	
+	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 patch20_7,p_le_transmit0
+	beq patch21_0,p_le_send_adv_ind
+	beq patch21_3,p_le_send_scan_response
+	beq patch22_3,p_le_acknowledge
+	beq patch22_4,p_le_check_wak
+	beq patch23_4,p_le_prepare_tx
+	beq patch23_6,p_le_send_packet
+	beq patch23_7,p_le_parse
+	beq patch24_1,p_le_parse_l2cap
+	beq patch26_0,p_le_modified_name
+	beq patch26_2,p_le_lpm_set_mult
+	beq patch27_2,p_parse_lmp
+	beq patch27_6,p_send_lmp
+	beq patch28_1,p_ssp_disable
+	beq patch29_1,p_uartd_send
+	beq patch2a_2,p_parse_dlci0_rp
+	beq patch2a_5,p_parse_DLCI0_reconn
+	beq patch31_5,p_le_encrypt
+	beq patch33_1,p_sp_initialize_256
+	//sdp patch
+	beq patch2d_2,p_process_upper_sm_reconn
+	beq patch2f_2,p_sdp_process
+	//esco patch
+//	beq patch27_3,p_parse_lmp_escape
+	//hfp patch
+	beq patch2a_1,p_rfcomm_rx_process
+	beq patch2a_4,p_parse_uih_rp_spp
+	beq patch2b_0,p_rfcomm_send_param_neg_cmd
+	beq patch2c_3,p_scheduler_process
+	branch assert
+	
+
+p_soft_reset0:
+	fetch 6,mem_gpio_wakeup_backup
+	store 6,mem_gpio_wakeup
+	deposit auxcnt
+	branch p_soft_rest1,blank			// if auxcnt is 0 ,blank set1 , BT normal periodic wake
+	call p_wake_m0					// if auxcnt is 1 ,blank set0 , BT not periodic wake
+	branch soft_reset+1
+	
+p_wake_m0:
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+	branch wake_up_m0
+	
+p_enable_chgpump:
+	hfetch 1,rfen_chgpump
+	set1 6,pdata
+	hstore 1,rfen_chgpump
+	rtn
+	
+p_soft_rest1:
+	fetch 1,core_lpm_switch			// bit0  = 1 low wake up   bit1 = 0 high wake up
+	bbit1 0,p_gpio_low_wake_up
+p_gpio_high_wake_up:	
+	fetch 6,mem_gpio_wakeup
+	fetcht 6,core_gpio_in
+//	storet 6,0x4fe0
+	iand temp,pdata
+//	jam 0x02,0x4fec
+	ncall p_wake_m0,blank
+
+	branch soft_reset+1
+
+p_gpio_low_wake_up:
+	call p_check_io_wakeup
+	branch soft_reset+1
+	
+p_check_io_wakeup:
+	setarg 0xffffff
+	fetcht 3,core_gpio_in
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup
+	iand temp,pdata
+//	jam 0x03,0x4fec
+	nbranch p_wake_m0,blank
+
+	setarg 0xffffff
+	fetcht 3,core_gpio_in+3      		//core_gpio_wakeup+3
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup+3 			//core_gpio_in+3
+	iand temp,pdata
+//	jam 0x04,0x4fec
+	nbranch p_wake_m0,blank
+	rtn
+	
+
+
+
+
+
+/*
+	芯片公共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_clk_diff_rt:
+	call clk_diff
+p_clk2rt:
+	iforce contr
+	set0 16,contr
+	branch clk2rt+1
+
+/*
+	YC3121 没有exen GPIO
+	跳过disable exen
+*/
+p_soft_reset:
+	jam 0,mem_credit_flag
+	call rfcomm_init
+	call init_lmp
+	call p_ui_init
+	branch soft_reset + 9
+
+p_ui_init:
+	rtn wake
+	branch ui_timer_init
+
+
+/*
+	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_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
+	
+/*
+	关闭广播不能休眠的问题
+*/
+p_lpm_unconn_nossp:
+	branch lpm_unconn_cont				//BT/BLE discover don't infect lpm
+
+
+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_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 module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	call module_hci_event_enter_standby_mode
+
+	branch p_hfp_clear_parms
+
+
+p_module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,p_module_process_bb_conn	
+	beq BT_EVT_SPP_DISCONNECTED,p_module_process_spp_disconnected
+	beq BT_EVT_BB_DISCONNECTED,p_module_process_bb_event_disconned
+	beq BT_EVT_SETUP_COMPLETE,p_module_process_setup_complete
+	beq BT_EVT_RECONN_FAILED,p_module_process_reconn_fail
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_module_process_page_time_out
+	beq BT_EVT_LINKKEY_GENERATE,p_module_process_linkkey_generate
+	beq BT_EVT_HFP_CONNECTED,p_module_process_hfp_connected
+	beq BT_EVT_HFP_START_DIALING,p_module_process_hfp_start_dialing
+	beq BT_EVT_HFP_STOP_DIALING,p_module_process_hfp_stop_dialing
+
+	beq BT_EVT_LE_CONNECTED,p_module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,p_module_process_bb_even_le_disconn
+
+	beq BT_EVT_STORE_NVRAM,p_module_hci_event_store_device
+	branch module_process_bb_event+1
+
+p_module_process_bb_conn:
+	jam 0,mem_module_rfcomm_reconnect_count
+	call app_bt_stop_discovery
+	call app_bt_reconnect_cancel
+	branch module_process_bb_conn
+
+
+p_module_process_bb_event_disconned:
+	call p_hfp_clear_parms
+	jam 0,mem_module_rfcomm_disconnect_count
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call p_module_start_discovery
+//	fetch 2,mem_ui_state_map
+//	rtnbit0 UI_STATE_BT_SPP_CONN
+//	branch module_spp_disconnected	
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,p_set_rfcomm_reconnect_count
+//	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
+
+p_set_rfcomm_reconnect_count:
+	jam 20,mem_module_rfcomm_reconnect_count
+	rtn
+
+	
+p_module_process_spp_disconnected:
+	fetch 1,mem_rfcomm_lmp_dis_flag
+	ncall p_set_rfcomm_disconnect_count,blank
+//	jam 6,mem_module_rfcomm_disconnect_count
+//	branch module_process_spp_disconnected
+	rtn
+p_set_rfcomm_disconnect_count:
+	jam 6,mem_module_rfcomm_disconnect_count
+	rtn
+
+p_module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch p_module_stop_discovery
+
+p_module_process_page_time_out:
+p_module_process_reconn_fail:
+	call p_module_start_discovery
+	branch p_module_hci_event_bt_reconn_fail
+
+
+//event opcode 0xb1
+p_module_hci_event_bt_reconn_fail:
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+p_module_process_hfp_connected:
+	jam HCI_EVENT_HFP_CONNECTED,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_process_hfp_start_dialing:
+	jam HCI_EVENT_HFP_START_DIALING,mem_module_uart_opcode
+	fetch 1,mem_phone_num_len
+	call module_hci_prepare_tx
+	fetchr loopcnt,1,mem_phone_num_len
+	arg mem_phone_number,contru
+	call copy_tx_bytes
+	branch uartd_send
+	
+p_module_process_hfp_stop_dialing:
+	jam HCI_EVENT_HFP_STOP_DIALING,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+	
+p_module_process_le_conn:
+	call module_clear_recv_confirm_flag
+	call p_module_stop_adv
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+p_module_stop_adv:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+
+p_module_stop_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	rtn
+
+p_module_start_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_start_discovery,true
+	rtn	
+
+p_module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call moudle_start_adv_by_command
+	branch module_hci_event_le_disconnect
+
+	
+
+//event opcode 0x0d
+p_module_hci_event_store_device:
+	rtn
+
+p_module_process_linkkey_generate:
+p_module_hci_event_linkkey_generate:
+	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
+
+
+
+
+
+p_module_bb_event_timer:
+	call p_module_mcu_set_bt_wake_timer
+	call p_module_rfcomm_disconnect_timer
+	call p_module_rfcomm_reconnect_timer
+	branch module_bb_event_timer
+
+p_module_rfcomm_reconnect_timer:
+	arg mem_module_rfcomm_reconnect_count,regc
+	arg app_bt_start_reconnect,regb
+	branch timer_single_step
+
+p_module_rfcomm_disconnect_timer:
+	fetch 1,mem_module_rfcomm_disconnect_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_rfcomm_disconnect_count
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+p_module_mcu_set_bt_wake_timer:
+	fetch 4,mem_mcu_set_bt_wake_timer
+	rtn blank
+	increase -1,pdata
+	store 4,mem_mcu_set_bt_wake_timer
+	nrtn blank
+//	jam 0x05,0x4fec
+	branch p_wake_m0
+	
+
+p_module_le_receive_data:
+	call p_module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	call p_check_ble_40_or_42
+//	copy loopcnt,pdata
+	store 1,mem_module_le_rx_data_len
+	fetcht 2,mem_le_att_handle
+	storet 2,mem_module_le_rx_data_handle
+
+	call le_att_get_handle_info
+	nbranch assert,blank
+	fetch 1,mem_le_cur_uuid_length	//	uuid length
+	bne 0x02,module_hci_event_receive_le_data
+//	ifetcht 2,contr
+//	setarg CLIENT_CHARACTERTIC_CONFIGURATION
+//	isub temp,null
+//	rtn zero		//filter ccc handle data
+//	branch p_module_hci_event_receive_le_data_notify,zero
+	branch module_hci_event_receive_le_data
+	
+p_check_ble_40_or_42:
+	fetch 1,mem_ble_dle_enable
+	nbranch p_check_ble_40,blank
+p_check_ble_42:
+	copy loopcnt,pdata
+	rtn	
+p_check_ble_40:
+	copy regb,pdata
+	rtn
+
+
+p_module_lpm_lock:
+	call p_le_check_complete_packet
+	nbranch p_app_get_lpm_wake_lock,user
+	
+//	fetch 1,mem_wakeup_gpio
+//	copy pdata,queue
+//	hfetch 6,core_gpio_in
+//	qisolate1 pdata
+//	branch p_app_get_lpm_wake_lock,true
+	
+//	fetch 1,mem_wake_by_m0
+//	nbranch p_app_get_lpm_wake_lock,blank
+	
+	fetch 1,IPC_HOLD_BT
+	beq 1,p_app_get_lpm_wake_lock
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,p_module_lpm_lock_check_pairing
+	branch app_put_lpm_wake_lock
+p_module_lpm_lock_check_pairing:
+	beq FLAG_LE_PAIRING_END,app_put_lpm_wake_lock
+	branch p_app_get_lpm_wake_lock
+
+p_app_get_lpm_wake_lock:
+//	jam 0x00,mem_lpm_mode 
+	call p_enable_chgpump
+	call wake_up_m0
+	branch app_get_lpm_wake_lock
+
+p_module_bt_conn_process:
+	call p_module_spp_enter_sniff
+	branch module_control_air_flow
+
+p_module_spp_enter_sniff:
+//	branch module_spp_enter_sniff+1
+	branch module_spp_enter_sniff
+
+p_module_hci_cmd_control:
+	fetch 1,mem_module_uart_opcode
+	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_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_SET_COD,module_hci_cmd_le_set_adv_data_set_cod
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_TEST_CMD_CLOSE_LPM,p_module_hci_test_cmde_close_lpm
+	beq HCI_CMD_MCU_SET_BT_WAKE_TIMER,p_module_hci_mcu_set_bt_wake_timer
+
+	beq HCI_CMD_CREAT_BT_RECONNECT,p_moudle_hci_cmd_creat_bt_reconnect
+	beq HCI_CMD_SET_VISIBILITY_REQ,p_module_hci_cmd_set_visibility
+	branch module_hci_cmd_control + 2
+
+
+
+p_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
+p_module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch p_moudle_start_adv_by_command,true
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,p_moudle_start_adv_by_command
+	
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+p_moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED	
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+p_module_hci_test_cmde_close_lpm:
+//	jam 0,mem_wake_by_m0
+	ifetch 1,contru
+	store 1,mem_lpm_mode
+//	store 1,0x4fed
+//	jam 3,0x4fee
+	rtn
+	
+	
+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
+
+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
+
+module_hci_cmd_le_set_adv_data_set_cod:
+	ifetch 3,contru
+	store 3,mem_class
+	branch module_hci_event_receive_valid_cmd
+
+
+p_module_hci_cmd_enter_sleep:
+//	call module_hci_event_receive_valid_cmd
+	branch app_enter_hibernate
+
+module_hci_cmd_set_wake_gpio:
+	ifetch 1,contru
+
+	//lpm
+	fetcht 4,mem_lpm_xtalcnt
+	setflag blank,16,temp 			//pdata:0   set 0x8126   0bit set1       pdata:1   set 0x8126   0bit set0
+	setflag blank,24,temp
+	storet 4,mem_lpm_xtalcnt
+
+	//hibernate
+	fetcht 1,mem_lpm_hibernate_switch
+	setflag blank,0,temp
+	storet 1,mem_lpm_hibernate_switch
+	
+	ifetch 6,contru
+	store 6,mem_gpio_wakeup
+	store 6,mem_gpio_wakeup_backup
+	call lpm_write_gpio_wakeup	
+
+	branch module_hci_event_receive_valid_cmd
+
+p_module_hci_mcu_set_bt_wake_timer:
+	ifetch 4,contru
+	store 4,mem_mcu_set_bt_wake_timer
+	branch module_hci_event_receive_valid_cmd
+
+
+p_moudle_hci_cmd_creat_bt_reconnect:
+	ifetch 6,contru
+	store 6,mem_lap
+	ifetch 6,contru
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	call check_link_key_load
+//	call app_bt_stop_discovery
+//	call app_ble_stop_adv
+	call app_bt_start_reconnect
+	branch module_hci_event_receive_valid_cmd
+
+
+
+p_module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,p_le_send_att_prepare_write_response
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_RECV_CONFIRM
+	fetch 2,mem_le_local_mtu
+	call not_greater_than
+	copy pdata,temp	
+	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_INDICATE,p_module_hci_cmd_transmit_le_indicate
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_transmit_le_notify + 13
+	branch p_module_hci_cmd_transmit_handle_error
+
+p_module_hci_cmd_transmit_le_indicate:
+	call module_set_recv_confirm_flag
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_indication
+	branch module_hci_cmd_transmit_le_notify+15
+
+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_le_init_conn:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_init_conn+1,blank
+
+	call le_init_conn+1
+	jam 1,mem_le_txheader_temp
+	jam 0,mem_le_txlen_temp
+	setarg 0
+	store 8,mem_le_buff_len
+	setarg 27
+	store 2,mem_module_master_rx_max
+	rtn
+/*
+	ble 层bugfix
+*/
+
+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
+
+/*
+	广播层收发等待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_transmit:
+	call le_prep
+	call p_letx_setfreq
+	branch le_transmit0
+
+p_letx_setfreq:
+	branch p_txon,match
+	branch letx_setfreq+1
+
+p_le_transmit0:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_transmit0+12,blank
+	
+	fetch 1,mem_le_txheader_temp
+	inject mod,8
+	ifetch 1,contr
+	copy pdata,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+	branch letr_loop
+
+p_le_send_adv_ind:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_adv_ind+1,blank
+
+	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_temp
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen_temp
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload_temp
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+
+
+p_le_send_scan_response:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_scan_response+1,blank
+
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader_temp
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen_temp
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload_temp
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+
+/*
+	解密错误不解析的问题
+*/
+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 p_le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,p_le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nsetflag blank,mark_old_packet,mark
+	nrtn blank
+p_le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+
+	fetch 1,mem_ble_dle_enable
+	nrtn blank
+
+	branch p_le_parse_writing_attribute
+
+p_le_parse_writing_attribute:
+	fetch 1,mem_le_rxbuf+1
+	rtn blank		//empty packet
+	fetch 1,mem_le_rxbuf
+	compare 1,pdata,3
+	branch p_le_parse_writing_attribute_continue,true //ACL-U continue
+	compare 2,pdata,3
+	branch p_le_parse_writing_attribute_start,true
+	rtn
+
+p_le_parse_writing_attribute_start:
+	fetch 2,mem_le_rxbuf+4//CID
+	rtnne LE_L2CAP_CID_ATT
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	set1 mark_old_packet,mark
+	beq ATTOP_WRITE_REQUEST,p_le_parse_att_write_request
+	beq ATTOP_WRITE_COMMAND,p_le_parse_att_write_command
+	beq ATTOP_PREPARE_WRITE_REQUEST,p_le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_EXCHANGE_MTU_REQUEST,p_le_parse_att_exchange_mtu_request
+	beq ATTOP_HANDLE_VALUE_CONFIRMATION,p_le_parse_handle_value_confirmation
+	set0 mark_old_packet,mark
+	rtn
+
+p_le_parse_att_prepare_write_request:
+	setarg mem_module_prepare_write_request_packet
+	store 2,mem_module_prepare_write_request_contw
+	call p_le_long_packet_patch
+	increase -2,loopcnt			//attribute value offset
+	arg mem_le_rxbuf+11,rega
+	call le_writeatt_cb
+	branch p_le_parse_att_prepare_write_request_finish
+
+	
+p_le_parse_att_write_request:
+	call p_le_parse_att_write_command
+	branch p_le_send_att_write_response_check_auth
+
+
+p_le_parse_att_write_command:
+	call p_le_long_packet_patch
+	arg mem_le_rxbuf+9,rega
+	branch le_writeatt_cb
+
+
+p_le_long_packet_patch:
+	fetch 1,mem_le_rxbuf+1
+	add pdata,-7,loopcnt
+	increase -4,pdata
+	store 2,mem_le_buff_len	//payload length
+	ifetcht 2,contr		//l2cap length
+	storet 2,mem_le_buff_len_all
+	rtn
+
+
+p_le_parse_writing_attribute_continue:
+	set1 mark_old_packet,mark
+	call p_parse_l2cap_continue_common
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,p_parse_l2cap_continue_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,p_parse_l2cap_continue_prepare_write_request
+	rtneq ATTOP_WRITE_COMMAND
+	set0 mark_old_packet,mark
+	rtn
+
+p_parse_l2cap_continue_write_common:
+p_parse_l2cap_continue_common:
+	fetch 1,mem_le_rxbuf+1
+	fetcht 2,mem_le_buff_len
+	iadd temp,temp
+	storet 2,mem_le_buff_len
+	copy pdata,loopcnt
+	arg mem_le_rxbuf+2,rega
+	branch le_writeatt_cb
+
+p_parse_l2cap_continue_prepare_write_request:
+	branch p_le_parse_att_prepare_write_request_finish
+
+p_parse_l2cap_continue_write_request:
+p_le_send_att_write_response_check_auth:
+	call p_le_check_complete_packet
+	nrtn user
+	branch p_le_send_att_write_response_check_auth0
+
+//enable user,recevie complete packet
+p_le_check_complete_packet:
+	call disable_user
+	fetch 2,mem_le_buff_len_all
+	fetcht 2,mem_le_buff_len
+	isub temp,null
+	nrtn zero
+	branch enable_user
+
+p_le_parse_att_prepare_write_request_finish:
+	fetch 2,mem_module_prepare_write_request_contw
+	copy pdata,contw
+
+	fetch 1,mem_le_rxbuf+1	//payload length
+	copy pdata,loopcnt
+	call memcpy
+	copy contw,pdata
+	store 2,mem_module_prepare_write_request_contw
+
+	call p_le_check_complete_packet
+	nrtn user
+	arg MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,queue
+	call module_set_state
+	branch p_le_send_att_prepare_write_response
+
+
+p_le_send_att_prepare_write_response:
+	call le_fifo_check_empty
+	nrtn blank
+	jam ATTOP_PREPARE_WRITE_RESPONSE,mem_module_prepare_write_request_opcode
+	setarg mem_module_prepare_write_request_packet
+	store 2,mem_module_prepare_write_request_contr
+	fetcht 2,mem_module_prepare_write_request_PDU_length
+	increase 4,temp
+	setarg LE_BASEBAND_MAX_BUFFER
+	call not_greater_than
+	add pdata,-4,regb
+	force LLID_START,type
+p_le_send_att_prepare_write_response_continue:
+	copy pdata,rega
+	call le_fifo_malloc_tx + 2
+	fetch 2,mem_module_prepare_write_request_contr
+	copy pdata,contr
+	copy rega,loopcnt
+	call memcpy_fast
+	copy contr,pdata
+	store 2,mem_module_prepare_write_request_contr
+	fetch 2,mem_module_prepare_write_request_PDU_length
+	isub regb,pdata
+	store 2,mem_module_prepare_write_request_PDU_length
+	branch p_le_send_att_prepare_write_response_ending,blank
+	arg LE_BASEBAND_MAX_BUFFER,temp
+	call not_greater_than
+	copy pdata,regb
+	force LLID_CONTINUE,type
+	branch p_le_send_att_prepare_write_response_continue
+
+p_le_send_att_prepare_write_response_ending:
+	setarg 0
+	store 2,mem_module_prepare_write_request_contw
+	arg MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,queue
+	branch module_clr_state
+
+
+p_le_check_wak:
+	fetch 1,mem_ble_dle_enable
+	nbranch  le_check_wak+1,blank
+	
+	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_temp
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+
+p_le_prepare_tx:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_prepare_tx+1,blank
+	
+	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
+	call p_le_get_master_rx_max
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload_temp,contw
+	copy temp,loopcnt
+	call memcpy_fast
+	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
+	call p_le_get_master_rx_max
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+
+p_le_get_master_rx_max:
+	copy contr,contw
+	fetcht 2,mem_module_master_rx_max
+	copy contw,contr
+	rtn
+
+p_le_send_packet:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_packet+1,blank
+
+	storet 1,mem_le_txlen_temp
+	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_temp
+
+	fetch 1,mem_le_txheader_temp
+	compare 1,type,3
+	nbranch p_le_send_no_txlen,true
+	fetch 1,mem_le_txlen_temp
+	rtn blank
+p_le_send_no_txlen:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+p_le_encrypt:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_encrypt+1,blank
+
+	arg mem_le_txheader_temp,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call aes_init				// 1021s ->  do_aes_ctr
+	arg mem_le_txpayload_temp,regc
+	fetch 1,mem_le_txlen_temp
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen_temp
+	increase 4,pdata
+	store 1,mem_le_txlen_temp
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+
+/*
+	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,p_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_ll:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_parse_ll,blank
+	fetch 1,mem_le_rxbuf+2
+	beq LL_FEATURE_REQ,p_le_parse_feature_req
+	beq LL_LENGTH_REQ,p_le_parse_length_request
+	branch le_parse_ll+1
+	
+p_le_parse_feature_req:
+p_le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	//bit0 LE encryption
+	//bit5 LE Data packet Length extension
+	setarg 0x21	
+	istore 8,contw
+	call p_check_ble_dle_enable
+	rtn
+p_check_ble_dle_enable:
+	fetch 1,mem_le_rxbuf+3
+	and pdata,0x20,pdata
+	branch p_set_ble_dle_disable,blank
+	rtn
+p_set_ble_dle_disable:
+	jam DLE_DISABLE,mem_ble_dle_enable
+	rtn
+
+p_le_parse_length_request:
+	ifetch 2,contr
+	store 2,mem_module_master_rx_max
+	branch p_le_send_length_res
+
+p_le_send_length_res:
+	arg 9,rega
+	arg LL_LENGTH_RSP,regb
+	call le_fifo_malloc_tx_ll
+	//MaxRxOctets >=27B <=251
+	setarg 251
+	istore 2,contw
+	//MaxRxTime >=328ms <=2120
+	setarg 2120
+	istore 2,contw
+	//MaxTxOctets >=27B
+	setarg 251
+	istore 2,contw
+	//MaxTxTime >=328ms
+	setarg 2120
+	istore 2,contw
+	rtn
+
+
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+p_le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+//	beq ATTOP_HANDLE_VALUE_CONFIRMATION,p_le_parse_handle_value_confirmation
+	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+	beq ATTOP_WRITE_REQUEST,p_le_parse_att_write_request0
+	branch le_parse_att+2
+
+p_le_parse_handle_value_confirmation:
+module_clear_recv_confirm_flag:
+	arg MODULE_RECV_CONFIRM,queue
+	branch module_clr_state
+
+module_set_recv_confirm_flag:
+	arg MODULE_RECV_CONFIRM,queue
+	branch module_set_state
+
+p_le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+	store 2,mem_le_local_mtu
+	branch le_send_att_exchange_mtu_response
+
+
+p_le_modified_name:
+	call le_modified_name_att_list
+p_le_modified_name_adv:
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	branch le_modified_name_adv_and_scan
+
+
+p_le_lpm_set_mult:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_lpm_set_mult+1,blank
+	
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	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_temp
+	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
+
+
+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
+ 	branch parse_lmp+21 	
+
+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:
+	branch parse_lmp_sniff_req+1
+
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,p_send_lmp_escape
+	branch send_lmp0
+	
+p_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req
+//	beq LMP_EXT_ACCEPTED,p_send_lmpext_accepted
+	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_uartd_send:
+	copy contwu,pdata
+	store 2,IPC_BT2M0_WRITE_PTR
+//	jam 0xcc,0x4fee
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+//wake_up_m0:
+	fetch 1,core_config
+	rtnbit1 7
+	set1 7,pdata
+	store 1,core_config
+	rtn
+
+p_parse_dlci0_rp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_DLCI0_rp_uih
+	branch parse_dlci0_rp+2
+p_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_MODEM_STATUS_RES,p_parse_DLCI0_rp_uih_ms_res	
+	branch parse_DLCI0_rp_uih+4
+
+p_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
+	branch parse_DLCI0_rp_uih_ms_res_spp
+
+
+p_parse_DLCI0_reconn:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_DLCI0_reconn_uih
+	branch parse_DLCI0_reconn+2
+p_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_MODEM_STATUS_RES,p_parse_DLCI0_reconn_uih_ms_res
+	branch parse_DLCI0_reconn_uih+4
+	
+p_parse_DLCI0_reconn_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	branch parse_DLCI0_reconn_uih_ms_res_spp
+
+
+
+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
+	
+
+
+/**********************************context patch**********************************************/
+
+p_connection_incontext:
+	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_context_new:
+	arg p_context_search_empty,regc
+	branch context_new+2
+p_context_search_empty:
+	bbit1 state_inconn,context_search_next
+//	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+
+
+p_context_search:
+	arg mem_context_new,rega
+	arg context_num_new,loopcnt
+	branch context_search_loop
+
+
+p_sconn_successful:
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+	branch sconn_successful+1
+
+	
+//p_context_check_page:
+//	arg p_context_check_inpage,regc
+//	branch context_search
+
+//p_context_check_inpage:
+//	bbit0 state_inpage,context_search_next
+//	force 0,null 				// found
+//	rtn
+
+
+p_sniff_check_window:
+	disable swfine
+	copy temp,stop_watch
+	call p_context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+p_context_search_sniff_window:
+	arg p_context_search_window,regc
+	branch context_search
+
+p_context_search_window:
+	//解决先连接ble,导致因sniff window不再inquiry_scan和page_scan
+	/*****************************************/
+	copy pdata,temp
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,context_search_next
+	copy temp,pdata
+	/*****************************************/	
+	branch context_search_window
+
+
+
+p_lpm_recover_clk:
+	setarg 0
+	copy auxcnt,null
+	branch p_lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch p_lpm_recover_xtal,positive
+	deposit temp
+p_lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+p_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_new + coffset_clk_offset
+	call calc_clke2
+	rtn
+
+
+p_lpm_dispatch:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch p_lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+p_lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context_new
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context_new + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context_new + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context_new + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+    fetch 2,mem_context_new + coffset_rx_window
+    rshift pdata,pdata
+    call clk2bt
+    deposit alarm
+    call clk_diff
+    copy clke,temp
+    call p_clk_diff_rt
+	rtn user
+	branch lpm_dispatch_sleep
+
+
+p_lpm_dispatch_unconn:
+	fetch 1,mem_context_new
+	branch lpm_dispatch_unconn+2
+
+
+p_le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context_new
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+p_module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,p_le_check_encrypt_state
+	branch disable_user
+
+p_le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
+	branch le_send_att_read_response
+
+p_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 p_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
+
+p_le_parse_att_write_request0:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+p_le_send_att_write_response_check_auth0:
+	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 p_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
+
+
+/**********************************context patch**********************************************/
+
+/**********************************esco patch**********************************************/
+/*
+p_parse_lmp_escape:
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_REMOVE_ESCO_REQ,p_parse_lmpext_remove_esco_req
+	beq LMP_EXT_ESCO_LINK_REQ,p_parse_lmpext_esco_link_req
+	branch parse_lmp_escape+4
+
+p_parse_lmpext_remove_esco_req:
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+p_parse_lmpext_esco_link_req:
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+p_send_lmpext_accepted:
+	call send_lmpext_accepted
+	fetch 1,mem_lmi_opcode
+	beq LMP_EXT_ESCO_LINK_REQ,p_send_lmpext_accept_esco_link
+	beq LMP_EXT_REMOVE_ESCO_REQ,p_send_remove_esco_link
+	rtn
+
+p_send_lmpext_accept_esco_link:
+//	set1 mark_esco,mark
+	rtn
+
+p_send_remove_esco_link:
+	rtn
+*/	
+/**********************************esco patch**********************************************/
+
+
+/**********************************rolw switch patch**********************************************/
+
+p_role_switch_master:
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+	set0 mark_role_switch_receive_fhs,mark
+p_roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,p_roles_replyto_fhs
+	call new_conn_timeout
+	nbranch p_roles_waitfhs_loop,blank
+	bmark1 mark_role_switch_receive_fhs,p_roles_replyto_fhs_rcvd	
+	branch role_switch_fail_master
+	
+p_roles_replyto_fhs:
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	set1 mark_role_switch_receive_fhs,mark
+	set0 mark_fhs_already_good,mark
+	fetch 1,mem_amaddr
+	iforce am_addr	//use current LT_ADDR
+	jam 2,mem_newconnto_counter
+	branch p_roles_waitfhs_loop
+
+p_roles_replyto_fhs_rcvd:
+	fetch 4,mem_clke_bt		//wait for 2 fhs,need 2.5ms
+	pincrease 8
+	store 4,mem_clke_bt
+	branch roles_replyto_fhs+4
+
+
+/**********************************rolw switch patch**********************************************/
+
+
+/**********************************hfp patch**********************************************/
+
+p_l2cap_init_wake:
+	call l2cap_init_wake+1
+	jam RECIEVE_SS_REASULT_HF,mem_message_to_uppersm
+	rtn
+
+p_scheduler_process:
+	call p_hfp_hsp_process
+	branch scheduler_process+5
+
+
+p_rfcomm_send_param_neg_cmd:
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+
+
+p_rfcomm_rx_process:
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+p_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 p_parse_uih_reconn
+
+p_parse_uih_reconn:
+p_parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,p_parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,p_parse_uih_reconn_spp_disconn
+	branch parse_uih_reconn_spp+1
+
+p_parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn_send_event
+	
+p_parse_uih_rp_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,p_parse_uih_spp_uih_credits
+	branch parse_uih_rp_spp+2
+
+p_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
+p_parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	store 2,mem_at_payload_ptr
+	fetchr queue,1, mem_current_length
+	branch p_hfp_process_rfcomm_packet
+	
+p_hfp_process_rfcomm_packet:
+	deposit queue
+	rtn zero
+	
+	fetcht 2,mem_at_payload_ptr
+	copy temp,contr
+	call p_hfp_check_result_code_start
+	nrtn user
+	copy contr,pdata
+	store 2,mem_at_command_ptr
+		
+	call p_hfp_check_result_code_end
+	nrtn user
+	//store the next AT result code header point
+	copy contr,pdata
+	store 2,mem_at_payload_ptr
+
+	call p_hfp_handle_at_result_code
+	branch p_hfp_process_rfcomm_packet
+
+//if search cr/lr,return user,or not user
+//input:
+//	queue
+//	contr
+//output:
+// 	user
+p_hfp_check_result_code_start:
+p_hfp_check_result_code_end:
+	disable user
+p_hfp_check_result_code:
+	copy queue,pdata
+	increase -2,pdata
+	nrtn positive
+	increase -1,queue
+	ifetch 1,contr
+	bne 0x0D,p_hfp_check_result_code
+	increase -1,queue
+	ifetch 1,contr
+	bne 0x0A,p_hfp_check_result_code
+	enable user
+	rtn
+
+
+p_hfp_clear_parms:
+	jam HF_STATE_WAITING_RFCOMM_CONN,mem_hf_state
+	jam HFP_NONO,mem_hf_call_state
+	jam HF_CMD_IDLE,mem_hf_command
+	jam HFP_DEFAULT_MIC_VLM,mem_hf_vlm_mic
+	jam HFP_DEFAULT_SPEAKER,mem_hf_vlm_speaker
+	jam HFP_DIALING_STATE_NO,mem_telephone_dialing_state
+//	call HFP_clear_sco_params
+//	setarg 0
+//	store 2,mem_rfc_server_state
+	setarg mem_xmem_hf_state_end
+	arg mem_xmem_hf_state_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+	
+p_hfp_hsp_process:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	fetch 1,mem_hf_state
+	beq HF_STATE_HF_SEND_RECEIVE_INFO,p_hfp_send_receive_info
+	rtneq HF_STATE_WAITING_AG_INFO
+	beq HF_STATE_HF_SEND_AT_CLIP,p_hfp_send_enable_clip
+	rtneq HF_STATE_WAITING_AT_CLIP
+	beq HF_STATE_HF_SEND_AT_CCWA,p_hfp_send_enable_call_waiting
+	rtneq HF_STATE_WAITING_AT_CCWA 
+	beq HF_STATE_WAITING_RFCOMM_CONN,p_hfp_waiting_rfcomm
+	beq HF_STATE_HF_SEND_FEATURE,p_hfp_send_feature
+	rtneq HF_STATE_WAITING_AG_FEATURE_OK
+	beq HF_STATE_HF_SEND_INDICATORS,p_hfp_send_indicators
+	rtneq HF_STATE_WAITING_AG_INDICATORS_OK
+	beq HF_STATE_HF_SEND_CURR_STATUS,p_hfp_send_curr_status
+	rtneq HF_STATE_WAITING_AG_STATUS_OK
+	beq HF_STATE_HF_SEND_UPDATE_STATUS,p_hfp_send_update_status
+	rtneq HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+	beq HF_STATE_CONNECTED,p_hfp_connected
+	rtn
+
+
+p_hfp_connected:
+	rtn
+	
+p_hfp_waiting_rfcomm:
+	fetch 1,mem_spp_state
+	beq 0xef,p_hfp_send_feature_enable
+	beq 0xff,p_hfp_send_feature_enable
+	rtn
+p_hfp_send_feature_enable:
+	jam HF_STATE_HF_SEND_FEATURE,mem_hf_state //start the hands free process
+	rtn
+
+
+p_hfp_send_AT_common:
+	store 2,mem_current_packet_length
+	setarg mem_at_command_data
+	store 2, mem_at_rfcomm_data_ptr
+	icopy contw
+	setarg 0x2B5441     //AT+                      
+	istore 3,contw
+	rtn
+
+
+p_hfp_send_feature:
+	fetch 1,mem_remote_credits
+	rtn blank
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_FEATURE_OK, mem_hf_state
+p_hfp_send_AT_BRSF:      //send AT_BRSF=29
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x535242
+	istore 3,contw
+	setarg 0x3D46
+	istore 2,contw
+	fetch 1,mem_UI_HF_brsf_feature
+	istore 1,contw
+	setarg 0x0D
+	istore 1,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+
+p_hfp_send_receive_info:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_INFO, mem_hf_state
+p_hfp_send_AT_CHLD:      //AT+CHLD=?
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4843
+	istore 2,contw
+	setarg 0x3d444c
+	istore 3,contw
+	setarg 0x0d3f
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */	
+
+
+p_hfp_send_enable_clip:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AT_CLIP,mem_hf_state
+p_hfp_send_AT_clip:      //AT+CLIP=1
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4c43
+	istore 2,contw
+	setarg 0x3d5049
+	istore 3,contw
+	setarg 0x0d31
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */	
+
+p_hfp_send_enable_call_waiting:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AT_CCWA, mem_hf_state
+p_hfp_send_AT_CCWA:      //AT+CCWA=1
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4343
+	istore 2,contw
+	setarg 0x3d4157
+	istore 3,contw
+	setarg 0x0d31
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */
+
+
+p_hfp_send_indicators:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_INDICATORS_OK, mem_hf_state
+p_hfp_send_AT_CIND:      //send AT+CIND=?
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4e4943
+	istore 3,contw
+	setarg 0x3f3D44
+	istore 3,contw
+	setarg 0x0D                             
+	istore 1,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+p_hfp_send_curr_status:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_STATUS_OK, mem_hf_state
+p_hfp_send_AT_CIND2: //send AT+CIND?
+	setarg 0x09
+	call p_hfp_send_AT_common
+	setarg 0x4e4943
+	istore 3,contw
+	setarg 0x0d3f44
+	istore 3,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+p_hfp_send_update_status:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_UPDATE_STATUS_OK, mem_hf_state
+p_hfp_send_AT_CMER:      //AT+CMER=3,0,0,1
+	setarg 0x10
+	call p_hfp_send_AT_common
+	setarg 0x454d43
+	istore 3,contw
+	setarg 0x333d52
+	istore 3,contw
+	setarg 0x2c302c
+	istore 3,contw
+	setarg 0x312c30
+	istore 3,contw
+	setarg 0x0d
+	istore 1, contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */
+
+
+//p_hfp_send_update_status:
+//	call p_hfp_send_credit_return
+p_hfp_send_AT_CLCC:
+	setarg 0x08
+	call p_hfp_send_AT_common
+	setarg 0x434C43
+	istore 3,contw
+	setarg 0x0D43
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+
+
+p_hfp_handle_at_result_code:
+	disable user	
+	call p_hfp_is_result_ok
+	rtn user
+	call p_hfp_is_result_error
+	rtn user
+	storer queue,2,mem_temp
+	call p_hfp_send_credit_return
+	fetchr queue,2,mem_temp
+	call p_hfp_is_result_brsf
+	rtn user
+	call p_hfp_is_result_ciev
+	rtn user
+	call p_hfp_is_result_ring
+	rtn user
+	call p_hfp_is_result_cind
+	rtn user
+	call p_hfp_is_result_chld
+	rtn user
+	call p_hfp_is_result_vgm_vgs
+	rtn user
+	call p_hfp_is_result_clip
+	rtn user
+	call p_hfp_is_result_ccwa
+	rtn user
+	call p_hfp_is_result_clcc
+	rtn user
+	fetch 2,mem_cb_hfp_result_code
+	branch callback_func
+
+p_hfp_is_result_ok:
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x4F
+	ifetch 1,contr
+	rtnne 0x4B
+	enable user
+	call p_hfp_result_ok_cmd
+p_hfp_result_ok_handle:
+	fetch 1,mem_hf_state
+	beq HF_STATE_WAITING_AG_UPDATE_STATUS_OK,p_hfp_ag_update_status_ok
+	beq HF_STATE_WAITING_AG_INFO,p_hfp_ag_receive_info_ok
+	beq HF_STATE_WAITING_AT_CLIP,p_hfp_ag_enable_clip_ok
+	beq HF_STATE_WAITING_AT_CCWA,p_hfp_ag_enable_call_waiting_ok
+	beq HF_STATE_WAITING_AG_FEATURE_OK,p_hfp_ag_feature_ok
+	beq HF_STATE_WAITING_AG_INDICATORS_OK,p_hfp_ag_indicators_ok
+	beq HF_STATE_WAITING_AG_STATUS_OK,p_hfp_ag_status_ok
+	rtn
+
+p_hfp_result_ok_cmd:
+	fetch 1,mem_hf_command
+	beq HF_WAIT_ACCEPT_CALL_OK,p_hfp_acceptcall
+	beq HF_WAIT_HANGUP_OK,p_hfp_hangup
+	beq HF_WAIT_VGS_OK,p_hfp_vgs_ok
+	beq HF_WAIT_VGM_OK,p_hfp_vgm_ok
+	rtn
+
+p_hfp_acceptcall:
+p_hfp_hangup:
+p_hfp_vgm_ok:
+	jam HF_CMD_IDLE,mem_hf_command
+	rtn
+p_hfp_vgs_ok:
+	jam HF_CMD_IDLE,mem_hf_command
+	rtn
+
+
+p_hfp_ag_feature_ok:
+	jam HF_STATE_HF_SEND_INDICATORS,mem_hf_state
+	rtn
+p_hfp_ag_indicators_ok:
+	jam HF_STATE_HF_SEND_CURR_STATUS,mem_hf_state
+	rtn
+p_hfp_ag_status_ok:
+	jam HF_STATE_HF_SEND_UPDATE_STATUS,mem_hf_state
+	rtn
+p_hfp_ag_update_status_ok:
+	jam HF_STATE_HF_SEND_RECEIVE_INFO,mem_hf_state
+	rtn
+p_hfp_ag_receive_info_ok:
+	jam HF_STATE_HF_SEND_AT_CLIP,mem_hf_state
+	rtn
+p_hfp_ag_enable_clip_ok:
+	jam HF_STATE_HF_SEND_AT_CCWA,mem_hf_state
+	rtn
+
+p_hfp_ag_enable_call_waiting_ok:	
+	//call send_AT_vgs//
+	jam HF_STATE_CONNECTED, mem_hf_state
+	jam BT_EVT_HFP_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+p_hfp_is_result_error:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x45
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x4F
+	ifetch 1,contr
+	rtnne 0x52
+	enable user
+	branch p_hfp_result_ok_cmd
+
+p_hfp_is_result_ring:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x4e
+	ifetch 1,contr
+	rtnne 0x47
+	enable user
+	rtn
+
+
+p_hfp_is_result_ciev:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x45
+	ifetch 1,contr
+	rtnne 0x56
+	enable user
+	call p_hfp_translate_ascii_to_hex
+	increase 2,rega //temp
+	setarg mem_AG_indicator_map
+	iadd temp,temp
+	increase -1,temp
+	ifetch 1,temp
+	arg mem_AG_indicator,temp
+	iadd temp,pdata
+	store 2,mem_at_command_ptr //temporary store the addr point
+	copy rega,contr
+	call p_hfp_FindComma
+	call p_hfp_translate_ascii_to_hex
+	fetch 2, mem_at_command_ptr
+	istoret 1,pdata
+p_hfp_evt_update_state:
+	setarg HFP_CIEVIND_CALL
+	call p_hfp_get_indicator_value
+	beq CIEV_CALL_NO,p_hfp_update_state_nocallActive
+	beq CIEV_CALL_ACT,p_hfp_update_state_callActived
+	rtn
+
+//input :
+//	pdata indicator index
+//output:
+//     pdata value
+p_hfp_get_indicator_value:
+	arg mem_AG_indicator,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn
+
+p_hfp_update_state_nocallActive:
+	setarg HFP_CIEVIND_CALLSETTUP
+	call p_hfp_get_indicator_value
+	beq CIEV_CALLST_IMG,p_hfp_update_incomming
+	beq CIEV_CALLST_OUG,p_hfp_update_outgoing
+	beq CIEV_CALLST_RE_ALTD,p_hfp_update_outgoing
+	fetch 1,mem_hf_call_state
+	rtneq HFP_NONO
+	jam HFP_NONO,mem_hf_call_state
+	fetch 1,mem_telephone_dialing_state
+	sub pdata,HFP_DIALING_STATE_START,null
+	call p_hfp_evt_nono,zero
+	branch p_hfp_dialing_clear
+	
+p_hfp_evt_nono:
+	jam BT_EVT_HFP_STOP_DIALING,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+p_hfp_update_incomming:
+	call p_hfp_send_AT_CLCC
+	fetch 1,mem_hf_call_state
+	rtneq HFP_INCOMMING
+	jam HFP_INCOMMING,mem_hf_call_state
+p_hfp_evt_incomming:
+	jam BT_EVT_HFP_INCOMMING,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_hfp_evt_outgoing:
+	jam BT_EVT_HFP_OUTGOING,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_callactive:
+	jam BT_EVT_HFP_CALLACTIVE,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_callimg:
+	jam BT_EVT_HFP_CALLIMG,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_callogg:
+	jam BT_EVT_HFP_CALLOGG,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_calmulty:
+	jam BT_EVT_HFP_CALMULTY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_hfp_update_outgoing:
+	fetch 1,mem_hf_call_state
+	rtneq HFP_OUTGOING
+	jam HFP_OUTGOING,mem_hf_call_state
+	branch p_hfp_evt_outgoing
+	
+p_hfp_update_state_callActived:
+	setarg HFP_CIEVIND_CALLHELD
+	call p_hfp_get_indicator_value
+	beq CIEV_HELD_NO,p_hfp_update_state_nocallheld
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALMULTY
+	jam HFP_CALMULTY,mem_hf_call_state
+	branch p_hfp_evt_calmulty
+
+p_hfp_update_callincomming:
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALLIMG
+	jam HFP_CALLIMG,mem_hf_call_state
+	branch p_hfp_evt_callimg
+	
+p_hfp_update_calloutgoing:
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALLOGG
+	jam HFP_CALLOGG,mem_hf_call_state
+	branch p_hfp_evt_callogg
+
+p_hfp_update_state_nocallheld:
+	setarg HFP_CIEVIND_CALLSETTUP
+	call p_hfp_get_indicator_value
+	beq CIEV_CALLST_IMG,p_hfp_update_callincomming
+	beq CIEV_CALLST_OUG,p_hfp_update_calloutgoing
+	beq CIEV_CALLST_RE_ALTD,p_hfp_update_calloutgoing
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALLACTIVE
+	jam HFP_CALLACTIVE,mem_hf_call_state
+	call p_hfp_evt_callactive
+
+p_hfp_dialing_stop:
+//	jam 0,mem_telephone_dialing_timer
+	jam HFP_DIALING_STATE_STOP,mem_telephone_dialing_state
+	rtn
+
+p_hfp_dialing_clear:
+//	jam 0,mem_telephone_dialing_timer
+	jam HFP_DIALING_STATE_NO,mem_telephone_dialing_state
+	rtn
+
+p_hfp_dialing_start:
+	jam BT_EVT_HFP_START_DIALING,mem_fifo_temp
+	call ui_ipc_send_event
+	jam HFP_DIALING_STATE_START,mem_telephone_dialing_state
+//	jam 0,mem_phone_num_count
+//	jam 1,mem_telephone_dialing_timer
+	rtn
+
+
+
+p_hfp_is_result_cind:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x4e
+	ifetch 1,contr
+	rtnne 0x44
+	enable user
+	increase 2,contr
+	ifetch 1,contr
+	beq 0x28,p_hfp_is_result_cind0 //'(',return if cind=?
+	branch p_hfp_is_result_cind1
+
+//input:
+//contr -- payload addr point
+p_hfp_is_result_cind1:
+	force 7,loopcnt
+	storer contr,2,mem_at_command_ptr
+p_hfp_is_result_cind1_loopcnt:
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	call p_hfp_translate_ascii_to_hex
+	increase 2,rega
+	copy rega,contr
+	call p_hfp_FindComma
+	copy contr,pdata
+	store 2,mem_at_command_ptr
+	copy temp,rega //indicator value
+	copy loopcnt,temp
+	sub temp,7,temp
+	call p_hfp_get_indicator_index
+	arg mem_AG_indicator,temp
+	iadd temp,temp
+	copy rega,pdata
+	istore 1,temp
+	loop p_hfp_is_result_cind1_loopcnt
+	branch p_hfp_evt_update_state
+
+//input:
+//	temp -- indicator map index
+//output:
+//	pdata -- indicator index
+p_hfp_get_indicator_index:
+	setarg mem_AG_indicator_map
+	iadd temp,temp
+	ifetch 1,temp
+	rtn
+
+p_hfp_find_double_quote:
+	ifetch 1,contr
+	rtneq 0x22 //'"'
+	branch p_hfp_find_double_quote
+
+p_hfp_is_result_cind0:
+	force 7,loopcnt
+p_hfp_is_result_cind0_loopcnt:
+	call p_hfp_find_double_quote //first '"'
+	storer contr,2,mem_at_command_ptr
+	call p_hfp_indicator_service
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_call_callheld_callsetup
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_signal
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_roam
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_battchg
+p_hfp_is_result_cind0_loopcnt_end:
+	call p_hfp_find_double_quote //second '"'
+	loop p_hfp_is_result_cind0_loopcnt
+	rtn
+
+	
+p_hfp_indicator_service:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x73 //'s'
+	ifetch 1,contr
+	rtnne 0x65 //'e'
+	ifetch 1,contr
+	rtnne 0x72 //'r'
+	ifetch 1,contr
+	rtnne 0x76 //'v'
+	enable user2
+	force HFP_CIEVIND_SERVICE,rega
+	branch p_hfp_indicator_store
+
+	
+p_hfp_indicator_battchg:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x62 //'b'
+	ifetch 1,contr
+	rtnne 0x61 //'a'
+	ifetch 1,contr
+	rtnne 0x74 //'t'
+	ifetch 1,contr
+	rtnne 0x74 //'t'
+	ifetch 1,contr
+	rtnne 0x63 //'c'
+	enable user2
+	force HFP_CIEVIND_BATTCHA,rega
+	branch p_hfp_indicator_store
+
+p_hfp_indicator_call_callheld_callsetup:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x63 //'c'
+	ifetch 1,contr
+	rtnne 0x61 //'a'
+	ifetch 1,contr
+	rtnne 0x6c //'l'
+	ifetch 1,contr
+	rtnne 0x6c //'l'
+	ifetch 1,contr
+	enable user2
+	beq 0x68,p_hfp_indicator_callheld //'h'
+	beq 0x22,p_hfp_indicator_call
+	beq 0x73,p_hfp_indicator_callsetup
+	rtn
+
+p_hfp_indicator_callsetup:
+	force HFP_CIEVIND_CALLSETTUP,rega
+	branch p_hfp_indicator_store
+p_hfp_indicator_call:
+	increase -1,contr
+	force HFP_CIEVIND_CALL,rega
+	branch p_hfp_indicator_store
+p_hfp_indicator_callheld:
+	force HFP_CIEVIND_CALLHELD,rega
+p_hfp_indicator_store:
+	copy loopcnt,pdata
+	sub pdata,7,pdata
+	arg mem_AG_indicator_map,temp
+	iadd temp,temp
+	copy rega,pdata
+	istore 1,temp
+	rtn
+
+
+p_hfp_indicator_roam:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x72 //'r'
+	ifetch 1,contr
+	rtnne 0x6f //'o'
+	ifetch 1,contr
+	rtnne 0x61 //'a'
+	ifetch 1,contr
+	rtnne 0x6d //'m'
+	enable user2
+	force HFP_CIEVIND_ROAM,rega
+	branch p_hfp_indicator_store
+
+	
+p_hfp_indicator_signal:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x73 //'s'
+	ifetch 1,contr
+	rtnne 0x69 //'i'
+	ifetch 1,contr
+	rtnne 0x67 //'g'
+	ifetch 1,contr
+	rtnne 0x6e //'n'
+	enable user2
+	force HFP_CIEVIND_SIGNAL,rega
+	branch p_hfp_indicator_store
+
+p_hfp_is_result_brsf:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x42
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x53
+	ifetch 1,contr
+	rtnne 0x46
+	enable user
+	call p_hfp_translate_ascii_to_hex
+	storet 2,mem_agoption
+	rtn
+
+p_hfp_is_result_chld:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x48
+	ifetch 1,contr
+	rtnne 0x4c
+	ifetch 1,contr
+	rtnne 0x44
+	enable user
+	rtn
+
+
+p_hfp_is_result_vgm_vgs:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x56
+	ifetch 1,contr
+	rtnne 0x47
+	ifetch 1,contr
+	enable user
+	beq 0x4d,p_hfp_vgm_changed
+	beq 0x53,p_hfp_vgs_changed
+	rtn
+
+p_hfp_vgs_changed:
+	call p_hfp_translate_ascii_to_hex
+	storet 1,mem_hf_vlm_speaker
+	rtn
+
+p_hfp_vgm_changed:
+	call p_hfp_translate_ascii_to_hex
+	storet 1,mem_hf_vlm_mic
+	rtn
+
+
+p_hfp_is_result_ccwa:
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x57
+	ifetch 1,contr
+	rtnne 0x41
+	enable user
+	branch p_hfp_is_result_clip_loop
+
+p_hfp_is_result_clip:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x4c
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x50
+	enable user
+	call p_hfp_is_result_clip_loop
+	fetch 1,mem_telephone_dialing_state
+	rtnne HFP_DIALING_STATE_NO
+	branch p_hfp_dialing_start
+
+	
+p_hfp_is_result_clip_loop:	
+	ifetch 1,contr
+	bne 0x22,p_hfp_is_result_clip_loop
+	force 0,rega
+	force 0x30,regb
+	arg mem_phone_number,contw
+p_hfp_is_result_clip_phone_num:
+	ifetch 1, contr
+	beq 0x22,p_hfp_is_result_clip_end
+	increase 1,rega
+	isub regb,pdata
+	istore 1,contw
+	branch p_hfp_is_result_clip_phone_num
+p_hfp_is_result_clip_end:
+	deposit rega
+	store 1,mem_phone_num_len
+	rtn
+	
+
+p_hfp_is_result_clcc:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x4c
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x43
+	enable user
+	call p_hfp_is_result_clip_loop
+	fetch 1,mem_telephone_dialing_state
+	rtnne HFP_DIALING_STATE_NO
+	branch p_hfp_dialing_start
+
+	
+//input:
+//	contr
+//output:
+//	temp
+//modify:
+//	rega,regb,contr
+p_hfp_translate_ascii_to_hex:
+	call p_hfp_FindComma
+	increase -2,contr
+	copy contr,rega
+	force 1,regb
+	force 0,temp
+p_hfp_translate_calculate:
+	ifetch 1,rega
+	increase -1,rega
+	rtneq 0x3d //'='
+	rtneq 0x3a //':'
+	rtneq 0x2c //','
+	beq 0x20,p_hfp_translate_calculate
+	pincrease -48
+	imul32 regb,pdata //pdata = pdata*regb
+	iadd temp,temp
+	mul32 regb,10,regb
+	branch p_hfp_translate_calculate
+
+p_hfp_FindComma:
+	ifetch 1,contr
+	rtneq 0x0d //at_cr
+	rtneq 0x2c //','
+	branch p_hfp_FindComma	
+	
+p_hfp_send_credit_return:
+	call get_rfcomm_snd_adss
+	branch rfcomm_send_uih_without_payload
+
+p_hfp_tx_rfcomm_without_credit:
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 4,pdata	//fcs + rfcommhead + l2caphead == 8
+	icopy rega
+	call p_l2cap_malloc_rfcomm_channel
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call p_rfc_tx_write_length
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	fetch 2, mem_at_rfcomm_data_ptr
+	copy pdata,contr
+	call memcpy
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	setarg 0
+	store 2,mem_current_packet_length
+	rtn
+
+p_rfc_tx_write_length:
+	fetch 2,mem_current_packet_length
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+
+//regd:ptr to l2cap context
+p_l2cap_malloc_rfcomm_channel:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	copy rega,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	rtn
+
+/**********************************hfp patch**********************************************/
+
+
+
+
+/**********************************sdp patch**********************************************/
+
+p_sdp_process:
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_SEARCH_RES,p_sdp_process_ss_res
+	beq SDP_ATTRIBUTE_RES,p_sdp_process_sa_res
+	branch sdp_process+19
+
+p_sdp_process_ss_res:
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	store 1,mem_sdp_state
+	rtn
+	
+p_sdp_process_sa_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	store 1,mem_sdp_state
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_remote_spp_channel
+	rtn
+
+
+p_process_upper_sm_reconn:
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,p_process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SEARCH_SERVICE,p_process_upper_sm_reconn_search_service
+	beq UPPERSM_RECONN_SEARCH_SERVICE_WAIT,p_process_upper_sm_reconn_search_service_wait
+	beq UPPERSM_RECONN_SEARCH_ATTRIB,p_process_upper_sm_reconn_search_attrib
+	beq UPPERSM_RECONN_SEARCH_ATTRIB_WAIT,p_process_upper_sm_reconn_search_attrib_wait
+	branch process_upper_sm_reconn+3
+
+p_process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SEARCH_SERVICE,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+p_process_upper_sm_reconn_search_service:
+	jam UPPERSM_RECONN_SEARCH_SERVICE_WAIT,mem_upper_sm_reconn
+	arg 13,rega
+	setarg SDP_UUID_HS_AUDIO_GATEWAY
+	store 2,mem_search_uuid
+	branch p_sdp_send_search_req
+
+p_process_upper_sm_reconn_search_service_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES
+	fetch 4,mem_sdp_record_handle
+	branch app_bt_disconnect,blank
+	jam UPPERSM_RECONN_SEARCH_ATTRIB,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+	
+p_process_upper_sm_reconn_search_attrib:
+	jam UPPERSM_RECONN_SEARCH_ATTRIB_WAIT,mem_upper_sm_reconn
+	arg 19,rega
+	branch p_sdp_send_attribute_req
+
+p_process_upper_sm_reconn_search_attrib_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES
+	jam UPPERSM_RECONN_SS_SPP,mem_upper_sm_reconn
+	branch process_upper_sm_reconn_ss_spp_wait
+
+
+
+//rega:l2cap len ,mem_search_uuid:uuid to search
+p_sdp_send_search_req:
+	call p_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
+	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
+p_sdp_send_attribute_req:
+	call p_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
+	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
+
+p_l2cap_malloc_sdp_req:
+	fetch 2,mem_sdp_transactionid_local
+	increase 1,pdata
+	store 2,mem_sdp_transactionid_local
+p_l2cap_malloc_server_channel:
+	call push_stack_rega_b_c
+	call l2cap_malloc_sdp_channel
+	call pop_stack_rega_b_c
+	call l2cap_get_sdp_tx_buff
+	istorer rega,2,pdata
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+
+
+
+/**********************************sdp patch**********************************************/
+
+
+/**********************************page patch**********************************************/
+/*
+	YC 3121 page always
+*/
+
+p_master_page_no_interval:
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	branch page_start
+	
+/**********************************page patch**********************************************/
+
+
+
+/******************************************/
+/***********   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 // 1 not lpm   0 in lpm
+	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: ebike/trunk/output/bt_program23.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/bt_program23.rom	(working copy)
@@ -0,0 +1,32214 @@
+11000010100001000000000000011010
+11000000000000000000000000110111
+11000000000010001000011111100111
+11000000000000001000000001101100
+11000000010000101000000001110011
+11000000010001001000000010010100
+11000000010010100000000001011010
+11000000010100010000000010011101
+11000000010100011000000001100101
+11000000010101100000000010100100
+11000000010111000000000010100101
+11000000010111011000000101000001
+11000000010111100000000111010100
+11000000011101011000000111111000
+11000000000000101000001111011011
+11000000000101100000001111110101
+11000000000101110000001111111010
+11000000001101111000010000000010
+11000000010100110000010000010011
+11000000010100111000010000110100
+11000000010101011000010001011011
+11000000000111011000001111111101
+11000000010111111000010010011001
+11000000000100110000010001111111
+11000000000101000000010010001100
+00100000001000000100101010001011
+11000000000000011000001000000010
+11000000000000101000001000001110
+11000000000000110000001000010111
+11000000000000111000001000011100
+11000000000001000000001000100101
+11000000000001011000001000110110
+11000000000010011000001001000110
+11000000000010100000001011001011
+11000000000011100000001011011110
+11000000000011110000001100000111
+11000000000011111000001100110101
+11000000000100001000001101101001
+11000000000110000000001101111010
+11000000000110010000001101111110
+11000000000111010000001110010001
+11000000000111110000001110011100
+11000000001000001000001110101110
+11000000001001001000001110110100
+11000000001010010000001110111101
+11000000001010101000001111001010
+11000000010001101000001100011100
+11000000010011001000001111010111
+11000000001101010000011110010000
+11000000001111010000011101110101
+11000000001010001000010010110000
+11000000001010100000010010111110
+11000000001011000000010010011110
+11000000001100011000010010011100
+00100000001000000100101010001011
+01101111111011000100101111110010
+01100111111011000000000010100001
+00011100111000100111111000000000
+00100000001110100000000001000100
+00100000010000000000000000111101
+00100000001000000100000000000010
+01110000010000001001000100000000
+00100000010000000000000001000000
+00100000001000000110011110111100
+01101111111000101000100101110011
+01111001001000000111111000000110
+01100111111000101000100101110011
+00100000011000000000000000000000
+01101111111000101000000100100110
+11000010100000000000000001001011
+01101111111011000000000010100001
+01101000010011001000000100001110
+10011000010000010111111000000000
+00100100010110100000000000111101
+00100000001000000100000000000010
+00100000010000000000000001001101
+00100000001000000100000000000010
+01011000111111111111111111111111
+01101000010001101000000100001110
+10011000010000101111111000000000
+01101000010001100000000010100001
+10011000010000010111111000000000
+00100100001110100000000000111101
+01011000111111111111111111111111
+01101000010001101000000100010001
+10011000010000101111111000000000
+01101000010001100000000010100100
+10011000010000010111111000000000
+00100100001110100000000000111101
+00100000011000000000000000000000
+00011000010000100111111000000000
+00100000010000000111110100101011
+00011100001100000111111000000000
+01111001001000000111111000101100
+00100000010000000111110100010100
+01111001001111111111111000101100
+00100000010000000100101001110110
+00100000010000000111110100010100
+00100000011101000000000000000000
+00100000010000000000000001101001
+00100000001000000100101000101111
+00011011010000100111111000000000
+00100000010000000000000001101000
+00100000001000000100101011101001
+00100000010000000111110100010100
+10011000000000000000110000000000
+01111001001111111000110000010000
+00100000001000000111110100011111
+01110000010001010011110100000000
+00100000010000000110100011000100
+00100000010000000110000011010111
+00100000010000000000000001110001
+00100000001000000100000000001010
+00100000011101011000000000000000
+00100000001000000111101110011010
+00100000001100001000000010000011
+01110000100010010101010111010100
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01101111111000100100000111011111
+11000000000000000000000010000001
+11000000000000001000000010010001
+11000000000000010000000010000001
+11000000000000011000000010010001
+11000000000000100000000010010001
+11000000000100000000000010010001
+01110000100010010101010111010000
+01110000100010010101011011100000
+00011000000000000010101000001000
+00011000000000000010101000000000
+01111000010100001111110000000000
+01111000010100000111110000000000
+01111000001011110111110000000000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000001100000000
+01110000100010010000010001110000
+01101111111000101000100100000110
+01111001001000000111111000000000
+01100111111000101000100100000110
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+00100000001000000000000010000011
+01100000010000100000000000010111
+00100000010000000100100100101010
+00100000010000000100100110000000
+01011000000000000000010100000000
+00100000010000000100101010001110
+01101111111000101000100100000110
+01111001001000000111111000000000
+01100111111000101000100100000110
+00100000001000000100100100110111
+01110000100010010000011001111100
+00100000011101011000000000000000
+01011000000000000000000000000000
+01100111111001000100000111011101
+00011100010000110111111000000000
+01100111111010000100000010010100
+00100000011000000000000000000000
+00100000001000000100101101111111
+01011000000000000000000010110100
+01100111111001000100000111110110
+01011000000000000000000100001010
+01100111111001000100000111111110
+01011000000000000000000100011111
+01100111111001000100000111111010
+01011000000000000000000100110010
+01100111111001000100000111101010
+01011000000000000000000100111110
+01100111111001000100000111110010
+00100000010000000100110110101111
+00100000010000000100110110111100
+00100000010000000100110000101010
+00100000010000000101000001001101
+00100000001000000000010011101001
+00011010011000100111111000000000
+11000000000000001000000011000011
+11000000000001001000000011010100
+11000000000000010000000011000111
+11000000000000101000000011011001
+11000000000000100000000011011011
+11000000000010011000000011011011
+11000000000011000000000011111111
+11000000001100000000000011011111
+11000000001011001000000011100001
+11000000001011000000000011101000
+11000000000010100000000011101010
+11000000000010101000000011111011
+11000000000111101000000011111110
+00100000001000000100110111011111
+01110000010011001111001100000000
+00100000010000000100110101101011
+00100000010000000100110101100010
+00100000001000000100111000101100
+00100000010000000000010011101001
+01110000010010101101000000000000
+00100000010000000100110111010111
+01101111111000100100011000110111
+00100100010110100101000010001100
+00100000010000000000000011110111
+01101111111001000100011001010010
+11000011000000100000000011010010
+01111001001111111111111000000100
+01100111111001000100011001010010
+00100000001000000101000000100110
+01110000010011001111001100010100
+00100000011000000000000000000000
+01101111111000100100101011001111
+00100100010110100000000011010111
+00100000011000000000000000000000
+01110000010010101101000000000110
+00100000011000000000000000000000
+00100000010000000100110111010111
+00100000001000000000000011110011
+00100000010000000000000011110111
+00100000001000000000000011011101
+01110000000010101111111110110001
+00100000001000000101000001001110
+01110000000010101111111110110010
+00100000001000000101000001001110
+01110000000010101111111110110011
+01101111111000100100110010111011
+00100000010000000101000010100101
+01101111001000100100110010111011
+11011000011000000100110010111100
+00100000010000000101000000010110
+00100000001000000110011110111001
+01110000000010101111111110110100
+00100000001000000101000001001110
+00100000010000000000001101110011
+00100000010000000000000011101111
+01101111111000100100011001101110
+01100111111000100100000101110011
+00100000001000000101000000100100
+01101111111000100100011001101100
+00101111111011111111111000000001
+00100000010000001100110101110011
+00100000011000000000000000000000
+01101111111000100100011001101100
+00101111111011111111111000000000
+00100000010000001100110101101011
+00100000011000000000000000000000
+01101111111000100100011001101100
+00101111111011111111111000000000
+00100000010000001100110101101001
+00100000011000000000000000000000
+00100000010000000101101111110110
+00100000010000000100111010010101
+00100000001000000101000000101000
+00100000011000000000000000000000
+01110000000010101111111110110000
+01011000000000000000000000011100
+00100000010000000101000010100101
+01101111111011000100000010100000
+11100111111011000000000000001010
+01101111111011000000000001000000
+11100111111011000000000000001010
+11011000110000000100000110111111
+11011111001000000000000000010000
+00100000010000000110011111010100
+00100000001000000110011110111001
+00100000010000000000000100011001
+00100000010000000000000100010001
+00100000010000000000000100001110
+00100000001000000101000011000011
+11011010011000000100110011110011
+11011010010000000100110101011100
+00100000001000000100110100000100
+01101111111000100100101011010000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111000100100101011010000
+00100100011110100000000000000000
+01101111111001000100011001010010
+11000010100000000100110101100100
+00100000011000000000000000000000
+01101111111010000100101111101110
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111010000100101111101110
+00100100011110100000000000000000
+00100000001000000000000000111101
+00100000010000000000010001100011
+00100000011101000000000000000000
+00011010001000100111111000000000
+01100111111001000100011001110001
+00100000010000000000000100101100
+01100111111000100100011001110000
+01101000010001000000010001110100
+01100000010001000100011001110011
+00100000010000000101101101101100
+00100100001110100100101010001011
+01101111111000100000010010011110
+11000000100000010101000001000010
+00100000001000000101000001000010
+01101111111000100100101111101101
+00100100001110100000000100110000
+00011111001000100111111000000000
+00100000011000000000000000000000
+00011010010000100111111000000000
+00100000011000000000000000000000
+00100000010000000000001010011001
+00100100001101000000000100111011
+01101111111000100100111111101111
+11000000000000001000000100111011
+01101111111000100100010010010110
+11000000100000000000000100111001
+00100000001000000100110101001101
+11000000011111111100110101001101
+00100000001000000000000100111011
+00100000010000000000000001000000
+00100000010000000110011110111100
+00100000001000000100110101001011
+00100000010000000000000101000000
+00100000001000000101000011010011
+00100000001000000100110111000111
+01101111111000100000101011111111
+11000000000100111000000110111001
+11000000000001100000000101101000
+11000000001110110000000101110001
+11000000001110111000000101110111
+11000000001111000000000101111100
+11000000000010101000000110110110
+11000000001000000000000110111010
+11000000011111111000000101100101
+11000000001111001000000111000111
+11000000010110001000000111001010
+11000000000000010000000101001110
+00100000001000000100111001011100
+01101111111000100000101100000000
+11000000100000001101000000011100
+00011010001000100000011000000000
+00100000010000000101000000011111
+11101000010000100000000000000011
+01100000010000100100011001101111
+01101111111000100100011001101100
+00101111111011111111111000000000
+00100100001000001000000101011100
+01101111111001000100011001010010
+11000010100000000000000101011100
+01101000010000100100011001101111
+00011000010000010111111000000011
+01100111111000100100000010010011
+01101111111000100100011001101100
+00101111111011111111111000000001
+00100100011000001000000000000000
+01101111111001000100011001010010
+11000011100001001000000000000000
+01101000010000100100011001101111
+00101000010011111111111000000010
+00100000001000001100110101110101
+00100000001000000100110101110011
+11101111111000100000000000000011
+01100111111000100100000010010001
+00100000011000000000000000000000
+00011010001000100000011000000000
+11101111111000100000000000000011
+11000000000000000100111100011100
+11000000000000001100111100011111
+11000000000000010100111100100101
+11000000000000011000000101101111
+00100000001000000101000000011100
+01011000000000000000000000000001
+00100000001000000100111100100000
+11011000010000000000000000001100
+00100000010000000101101101001101
+00011000110000001000101111111110
+01011000000000000000000000000000
+11100111111001000000000000000101
+00100000001000000101000000011111
+00100000010000000000000110000000
+00100000010000000000000110011101
+01011000000000000000000000000000
+11100111111001000000000000000101
+00100000001000000000000110101111
+11101111111000100000000000000011
+00100000010000000000000110000100
+00100000010000000000000110001011
+00100000001000000000000110101111
+00100000010000000000000110100001
+01011000001010000000000000000010
+11100111111001100000000000000101
+00100000011000000000000000000000
+01100111111000100000101010010110
+00100000010000000000000110100001
+01011001001010000000001100000010
+11100111111010000000000000000101
+01101111111000100000101010010110
+11100111111001100000000000000101
+00100000011000000000000000000000
+00100000010000000000000110100001
+00100000010000000000000110011101
+00100000010000000000000110011101
+01011000000000000000000000000000
+11100111111001000000000000000101
+00011000010000001000010111111111
+00100000010000000101101101001101
+00011000110000001000110000000100
+11101111111000100000000000000110
+11000010100000100000000110011000
+11000010100000101000000110011000
+00011000010000001000010000000001
+00100000011000000000000000000000
+00100000010000000000000110100001
+01011010001010010000001000000010
+11100111111100000000000000000101
+00011000010000001000010111111111
+00100000011000000000000000000000
+11101111111000100000000000000011
+00011111111000100111001000000000
+11100111111000100000000000000101
+00100000001000000110011111101101
+00100000010000000000000110100100
+11100000010001000000000000000101
+00100000011000000000000000000000
+01101111111001000100010010001110
+10011000000000000000110000000000
+11101111111001000000000000000110
+00100000011110100000000000000000
+00011111111000001000010000000001
+11101111111000100000000000000110
+10011000110000001000110000000000
+11101111111000100000000000000110
+10011000110000001000110000000000
+00011000110000100000101000000000
+00100000001000000000000110100110
+01100000010001000000101010011110
+01110000000010101111111100101001
+01011000000000000000000000000010
+00100000010000000101000010100101
+01101000010001000000101010011110
+11100000010001000000000000001010
+00100000001000000110011110111001
+11101111111001100000000000000011
+01100111111001100100000010101010
+00100000001000000101000000011111
+00100000001000000100110110000101
+11101111111000100000000000000011
+01101000010010000100000101111001
+01111001001110100000010000010000
+01111001001110100000010000011000
+01100000010010000100000101111001
+01101000010000100100000101010111
+01111001001110100000010000000000
+01100000010000100100000101010111
+11101111111011000000000000000011
+01100111111011000000000010100001
+01100111111011000100101111110010
+00100000010000000100101111100011
+00100000001000000101000000011111
+11101111111010000000000000000011
+01100111111010000100101111101110
+00100000001000000101000000011111
+11101111111011000000000000000011
+01100111111011000100000010100000
+11101111111011000000000000000011
+01100111111011000100000111010001
+11011000101000000100000110111111
+11011111001000000000000000010000
+00100000010000000110011111101101
+00100000010000000110100010111110
+00100000010000000100110101011100
+00100000001000000101000000011111
+01101111111000100100011001111001
+11000010100000011000001010101011
+01101111111000100100011001111001
+11000011100000111000000000000000
+01101111111001000100010001111000
+00100000010000000111110110110101
+00011111111000100000010000000000
+00011000010000001111111111111101
+11011000010000000000000011001000
+00100000010000000111110110110101
+01101000010000100100011001111010
+00100000010000000111110110110101
+00011111111000100010001000000000
+00011000010000100111111000000000
+10011010001001100111111000000000
+01100111111000100100011001111010
+01101000010001000100011001111011
+00011000010000001000010111111111
+00100000010000000101101101001101
+00100000001110100000000111110100
+11101000010010000000000000000110
+01011001001010000000001100000010
+10011000010001100111110000000000
+00100100001000101000000111110100
+11101111111000100000000000000110
+11000010100000101000000111110000
+11000010100000100100111100000001
+00100000001000000000000111110100
+00100000010000000000001101110101
+01101000010001000100011001111011
+00100000010000000101111001001101
+00100000001000000100111100000011
+01110000010001100111101000000000
+01110000000010110000000100000001
+00100000010000000101000011100000
+00100000001000000101000000011100
+01101111111000100100101111101101
+00100100001110100101011100001001
+00100000010000000101011100001001
+01110000010010101101101100000001
+01110000010010101101110000000000
+01011000000000000000000000000000
+01100111111100000100101011010001
+01011000000000000000000000011011
+01100111111001000100101011011001
+00100000011000000000000000000000
+00100000010000000100100110111010
+01111000001000111111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100111111000100000001011010101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100111111000100000000000000101
+00011111111000100111001000000000
+00100000001110100101100010001011
+00100000001000000101100010000111
+00100000010000000101100010100011
+00100000010000000100100100010101
+01101000010000100000000000010111
+00100000010000000100100100011100
+00100000000000000000010111011100
+00100000010000000100100100100001
+01111000001010000111110000000000
+11011001011000000001010101111100
+00100000001000000101100001101001
+00100000010000000101011110101111
+00100000010000000000001000011010
+00100000001000000101100010100111
+00100000001101101000000010011001
+00100000001000000101011110111110
+01101111111000100100101111101101
+00100100001110100101100010110011
+01101111111000100100101011011011
+00001000000000001000011000001000
+11101111111000100000000000000110
+00011111111000100111001000000000
+00001000000000001000011000001000
+00100000001000101101100010111100
+00100000001000000101100010111001
+01101111111000100100101111101101
+00100100001110100101100011000100
+01101111111000100100010001010110
+11000000000000001101100011010011
+01101111111000100100010001010111
+00011111111100100111111000000000
+00011111111010111111111000000000
+01100111111000100100101011011011
+01101000010000100100001101000001
+00011000010000001111111000000110
+01100111111000100100101011011100
+01101111111011000100010001110010
+01100111111011000100101011011101
+00011000010000100111001000000000
+11011000110000000100001101000010
+00100000010000000111110011001111
+00100000001000000101100011011110
+01101111111000100100101111101101
+00100100001110100101100011110111
+11011000010000000000000000000100
+01101111111000100100010001010111
+01111101001110100000010000000110
+01100000010000100100101011011011
+01101000010000100100001101100001
+00011000010000001111111000000110
+01100111111000100100101011011100
+01101111111011000100010001110010
+01100111111011000100101011011101
+11011000110000000100001101100010
+00011000010000100111001000000000
+00100000010000000111110011001111
+00100000010000000101100010100001
+00100000001000000101101011100010
+00100000010000000101101011001001
+00100000010000000101100110011010
+01101111111000100000001011010101
+00101111111011111111111000000100
+01111001001000001000000000101010
+00011111111000110111111000000000
+10011000010000101111111000000000
+00101111111011111111111000000010
+01111001001000001000000000001111
+11000110000001111000000000000000
+01101111111000100000001011010110
+00100000001110100000001001011000
+01101111111000100000010000111011
+11000011000000100000001001011000
+00100000010000000111001101000010
+00100000010000000111001010110010
+01111101001110100000000000001111
+00100100011110100000000000000000
+01101000010000100000010001010010
+01111001010000000000010000000010
+01100000010000100000010001010010
+01101111111000100100101111101101
+00100100011110100000000000000000
+00100000001000000000001001011110
+01101111111000100000001011010110
+00100000011110100000000000000000
+01101111111000100000001011010101
+00101111111000000000011000000001
+00100000001000001000001010000110
+00101111111000000000011000000010
+00100000001000001000001001100110
+00100000011000000000000000000000
+01101111111001000000001011011001
+11000001100000100000000000000000
+11101111111001100000000000000110
+01100111111001100000010001110011
+01111001001000000000000000001111
+11000000000010010000001001111010
+11000000001010010000001001111100
+11000000000010110000001001110011
+11000000000011000101111000111011
+11000000000000010000001101110111
+11000000000011110000001101110011
+01111001001111111000000000001111
+00100000011000000000000000000000
+01011000000000000000101100011110
+01100111111001000100101011010101
+00100000010000000000001001111111
+00011111001000001111001111111110
+11011010001000000000001011100000
+00100000010000000101101010111110
+00100000001000000000001010011111
+00100000010000000000001001111100
+00100000001000000000001010010110
+00100000010000000000001001111111
+11011010001000000000001011011110
+00100000001000000101101010111110
+01101111111000100000001011010110
+00011111111000001111001111111001
+00011111111000001111111111111100
+01100111111001000100101011010001
+11101000010001000000000000000110
+01100000010001000100101011010011
+00100000011000000000000000000000
+01111001001000000000000000001111
+00100000010000000000001010001110
+01101111111000100000010001110011
+11000000000010010000001010010110
+11000000000010110000001010010101
+11000001001010010000000000000000
+01111001001111111000000000001111
+00100000011000000000000000000000
+01101111111000100000001011010110
+01101000010001000100101011010001
+10011000010000001000010000000000
+01100000010001000100101011010001
+00011111111000100111001000000000
+11011010001000000000001011010111
+00100000001000000101101010111110
+00100000001000000000001010011111
+00100000010000000000001010011001
+00100100011101000000000000000000
+00100000001000000000010001110101
+00100000010000000111110111000001
+01101111111001000100101011010011
+01101000010001000100101011010001
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000001000000111110110111111
+01101111111001000100101011010101
+00011111111000100000101000000000
+01101111111000100000001011010110
+00011111111000100111001000000000
+00100000010000000111110011011100
+00011000101000100111111000000000
+01100111111001000100101011010101
+00100000010000000000001010011001
+00100100011101000000000000000000
+11011000111000000000000000000011
+00100000010000000101000011100110
+00100000001000000000001010101011
+00100000010000000101110001110100
+00100100011110100000000000000000
+01110000000010110010001000010111
+01011000000000000000101100011110
+01100111111001000100101011010111
+01101000010001000000101100011110
+00011000010000001000010000000100
+01011000000000000000000011111001
+00100000010000000111110110110101
+00011111111000001010010111111100
+00011000000000000000001000000010
+00011111111000100010001000000000
+00100000010000000101110000110010
+01101111111001000100101011010111
+00011111111000100000110000000000
+00011010001000100111001000000000
+00100000010000000111110011001111
+00011000110000100111111000000000
+01100111111001000100101011010111
+01101111111001000000101100011110
+10011010010001100111111000000000
+01100111111001000000101100011110
+00100000001110100000001011000111
+11011000010000000000000011111001
+00100000010000000111110110110101
+00011111111000100010010000000000
+00011000000000000000001000000001
+00100000001000000000001010110110
+01011000000000000000000000000000
+01100111111001000100101011010101
+11011000111000000000000000000011
+00100000001000000101000011100010
+01101111111000100100101111101101
+00100100001110100101100110011011
+01101000010000100000010001010010
+00101000010011000000000000000101
+00100000011000001000000000000000
+01101111111000100000001011010101
+00011111111000111111111000000000
+10011000010000101111111000000000
+11000100000000011000000000000000
+01111001001111111000010000000101
+01111001010000000000010000000011
+01100000010000100000010001010010
+00101000010000000000011000000011
+00100100011000001000000000000000
+01101111111000100100101011011101
+11000000000000101101100110101100
+01101111111000100100010010010111
+11000000000000010101100110110000
+00100000011000000000000000000000
+01101111111000100100101111101101
+00100100001110100101100111111001
+01101111111000100000010001010010
+11000011100000101000000000000000
+00100000010000000101101000011100
+00100000010000000101110001010011
+00100000001110100101101000111110
+11101111111000100000000000000110
+11101000010000100000000000000110
+00011000010000100010001000000000
+10011010001001100111111000000000
+00100000010000000000001100000011
+00100000010000000111110110110101
+00011111111000100000010000000000
+11101111111000100000000000000110
+00011111111000100000001000000000
+00011010001000100111111000000000
+10011000110000001000110000000000
+11011000101000000100101011011101
+00011000010000100111001000000000
+00100000010000000111110011001111
+00100000010000000101101000101110
+00100000010000000101101001000000
+00100000010000000101110001010011
+11101111111000100000000000000110
+00011111111000100010001000000000
+00011000110000100010011000000000
+11101000010000100000000000000110
+00011000010000100010010000000000
+10011010010001100111111000000000
+00100000010000000000001100000011
+00100000010000000111110110110101
+10011010010000001111111000000000
+11100111111000100000000000010011
+10011010001001100111110000000000
+00100100011000101000000000000000
+00100000001000000101110001110110
+00011000110000100000101000000000
+01101000010001000100101011011001
+00011000101000100000110000000000
+00100000011000000000000000000000
+01101111111000100100101111101101
+00100100001110100101101001000001
+01100000010000100100101011011100
+01101000010000100000010001010010
+01111001001000000000010000000101
+00011000010000010111111011111100
+10011000001000011111111000000000
+01100111111000100000010001010010
+00011111111000010111111000011111
+00101000000011111111111000101001
+01111001001000001111111000000100
+01100111111000100100101011011011
+01101111111000100100101011011011
+00101000001000000000011000000001
+00100100001000001000001100011000
+01101111111000100100101011011100
+00100000011110100000000000000000
+01101111111000100000010000111011
+11000100000000100000000000000000
+00100000010000000111001101000010
+00100000001000000111001010011001
+01101111111000100100101111101101
+00100100001110100111001010011010
+11011010011000000100101011011011
+01101000010010100100001111010101
+00100000010000000111001001110111
+00011000000000000111000000001000
+10011000000000000101111000000000
+00011000000000000010001000000000
+00100000010000000111001001100011
+00100000010000000111001011101000
+11011010011000000100101011011101
+01101111111000100100101011011100
+00011111111000001010010111111111
+10011010011000001000101000000000
+00011000000000000111000000001100
+00011101111000100111111000000000
+11100111111010000000000000000101
+00100000010000000111001010001110
+01101111111000100100101011011100
+00011111111000001111111000000100
+01100111111000100100101011011100
+01101000010010100100001111010101
+00011000010000001000010000000001
+01100000010010100100001111010101
+00100000011000000000000000000000
+11000110000001111000000000000000
+00100000010000000101110001110000
+00100100011110100000000000000000
+01101111111000100000001011010101
+00011111111000010111111000000011
+01100111111000100100010011011110
+11101111111000100000000000000110
+01100111111000100100010011011101
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100111111001000100010011011111
+01101111111000100100010011011110
+11000000000000011000001101000111
+00100000010000000101101001110110
+11011000111000000000000000000011
+00100100001101000100101111101100
+00100000010000000100101111110000
+00100000001000000101101001101011
+01101111111000100100101111101101
+00100100001110100110000001000100
+01101111111000100000001011010111
+11000000000001000000001101001101
+11000000000010100000001101011010
+00100000001000000110000001000101
+11011010001000000000000000001001
+11011010010000000000000000001001
+00100000010000000101110000100010
+01011000000000000000000000100001
+11100111111100000000000000000101
+00100000010000000000001101010100
+00100000011000000000000000000000
+01101111111000100000001011011000
+00011111111000010111111000100000
+00100000001110100000001101011000
+00100000011000000000000000000000
+01110000010010111110110100000001
+00100000011000000000000000000000
+11101111111001000000000000000110
+01100111111001000100101011011001
+00100000001000000000001101011101
+11011010001000000000000000001001
+11011010010000000000000000010101
+00100000010000000101110000100010
+01011000000000000000000011111011
+11100111111001000000000000000101
+01011000000000000000100001001000
+11100111111001000000000000000101
+01011000000000000000000011111011
+11100111111001000000000000000101
+01011000000000000000100001001000
+11100111111001000000000000000101
+00100000011000000000000000000000
+11101111111001000000000000000110
+11000000000000100000001101101110
+11000000000000110101111011010100
+11000000000000101101111010010110
+00100000011000000000000000000000
+11101111111001100000000000000110
+01100111111001100000010001110011
+11000000000001010000010001100110
+11000000000010010000010001110001
+00100000001000000101110010001101
+11011000111000000000000000000111
+00100000001000000101000011100010
+11011000111000000000000000000111
+00100000001000000101000011100110
+00100000010000000101110010101001
+01100111111001000100010001111000
+00100000001000000101110010100010
+00100000010000000101101110000110
+11011010011000000100001110000001
+11011010001000000100001101100010
+00100000001000000101101110100101
+01101111111000100100101111101101
+00100100001110100101101111010101
+01111000010101011111110000000000
+00100000001101110000001110000011
+00100100001101101101101111100110
+00100000010000000100101110100000
+01101111111001000100000011000001
+01100111111001000000010001001001
+00100100001101101100101110110011
+11000101000001111100101110110011
+01101111111000100100010011011101
+00100100001110100100101110110011
+01101111111000100100101011011100
+00100100001110100100101110110011
+01101111111000100100010010111011
+11000010100000101100101110110011
+01101111111000100000010000111011
+11000010100000101100101110110011
+00100000001000000100101110010101
+01101111111000100000000001111101
+11000000000010000000001110010101
+11000000000010111000001110011011
+00100000001000000110000011111110
+01101000010000100000010101001110
+00011000010001100111110000000110
+00100000001000010000001110011001
+00100000001000000110001000000110
+01110000000000000111111000100100
+00100000001000000110000100110100
+00100000001000000110001010111000
+01111000010101000111110000000000
+00100000010000000110011010100011
+01101111111000100000000001001000
+00100000011110100000000000000000
+11000010100000111000001110100010
+00100000001000000110001111110010
+11000000010000100000001110100101
+11000000010000011000001110101000
+00100000001000000110010000100001
+00100000010000000000001110101011
+01101111111000100000000001001000
+00100000001000000110010001111011
+00100000010000000000001110101011
+01101111111000100000000001001000
+00100000001000000110010011101111
+01101111111000100100011000101100
+00100000001110100110010100001101
+00100000001000000110010100000110
+01101111111000100100000010011110
+01111001001111111111111000000011
+01100111111000100100000010011110
+01011000000000000000000000000001
+01100111111001000000010011001010
+00100000011000000000000000000000
+00011001010000100111111000000000
+01100111111001000100111111110110
+01110000010000001001000100000000
+00100000010000000000000001000000
+01101111111000101000000001000011
+11000011100000111000000000000000
+01111001001000000111111000000111
+01100111111000101000000001000011
+00100000011000000000000000000000
+01101111111000100000010011111001
+11000000011101111000001111000000
+00100000001000000110100101010111
+01101111111001000000010011111101
+00011111111000100000110000000000
+00100000010000000110100110000100
+01101111111000100000010011111111
+11000000001110000000001111000110
+00100000001000000110100101100000
+01110000000010101001010100001000
+00100000010000000111101110101011
+00100000010000000110100101110010
+00100000001000000110100110111010
+01101111111000100000010011111001
+11000000011101111000001111001101
+00100000001000000110101000010101
+01101111111001000000010011111101
+00011111111000100000110000000000
+00100000010000000110100110000100
+01101111111000100000010011111111
+11000000001110000000001111010011
+00100000001000000110101000011101
+01110000000010101001010100001000
+00100000010000000111101110101011
+00100000010000000110100101110010
+00100000001000000110101001000011
+01101111111000100100010010010000
+00100000001110100101111011010000
+00100000010000000111010000111000
+00100000001000000111100100110010
+00100000010000000100001001011010
+00100100001000101000001111100011
+00100000010000000100001000000110
+00011010001000001000110000000001
+11101111111000100000000000000110
+11000010100000000101011100111010
+11000010100000001100000101100010
+00100000001000000100001111001011
+00100000010000000000001111100101
+00100000001000000100000000101100
+11011111001000000000000000000010
+01101000010000100000000000010101
+00011000010000001000010000000001
+00101000010000011111111000000010
+00100100001000001000001111101011
+11011000010000000000000000000000
+01100000010000100000000000010101
+00011000010011111111111001010000
+11011010001000000100101111111000
+10011010001000001010001000000000
+11101111111000100000000000010001
+11000010100000001000001111110011
+11000011100000000000000000000000
+11000011100000011000000000000000
+11000010000000000000001111100111
+00100000011000000000000000000000
+11011010011000000000001111110111
+00100000001000000100001000111001
+11000010100000000100001001100010
+00011000000000000111110000000000
+00100000011000000000000000000000
+11011010001000000100101111111000
+11011111001000000000000000000010
+00100000001000000100001001100000
+01101111111000100000000000110000
+01111001001111111111111000000011
+01100111111000100000000000110000
+01110000010001100101000100000000
+00100000001000000100001111000101
+01111000010010000111110000000000
+00011000010000100011011000000000
+00100000010000000000010000001010
+01111000010101000111110000000000
+00100100011000101000000000000000
+00011000000000000011011000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+11011010011000000000010000001100
+00100000001000000100001001011101
+00011111111000100000010000000000
+00011010001000001000110000000001
+11101111111000100000000000000110
+00011010001000100000110000000000
+11000010100000000100001001100010
+00011000010000100111111000000000
+00100000001000000100001011000010
+01011000000000000000000000000000
+00011100111000100111110000000000
+00100000001000101000010000011101
+01101111111000101000000100100100
+01101000010000101000000100100101
+10011000010001100111110000000000
+00100000001000010000010000011011
+00011000010000100111111000000000
+10011100111001100111111000000000
+00011111111000001111111000000001
+00011111111000001111111000001000
+00110111110110011000001000000000
+10011110001000001111111000000000
+01101000010010000100000101011100
+10011000010000001111111000000000
+01101000010001100100000101110000
+10011000010011111111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00011111111000001111111001101110
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111110101100001
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01101000010011000100000101100100
+00100000010000000111110100000111
+00011000010000100011001000000000
+01101111111011000100110000000000
+00100000010000000100100001010000
+00100000011000000000000000000000
+00100000010000000100101011011000
+01101111111001100100000101110000
+00100000011110100000000000000000
+01101111111000100100000010010001
+00100000011110100000000000000000
+01101111111000100100011000101100
+00100000001110100000010000111101
+01101111111000100100010110000011
+00100000011110100000000000000000
+01101111111000100100010010010010
+00100100011110100000000000000000
+00100000010000000100101111110100
+00100100011110100000000000000000
+01101111111000100100101111111000
+00101111111000000000111000000011
+00100100001000001100101101110010
+01101111111001000100101111111010
+00100000011110100000000000000000
+00100000011101011000000000000000
+01101000010000100000000010100000
+01101111111001000100101111111010
+10011000010011111111111000000000
+00011000010100011000010000000000
+00011000010010110000010000000000
+10011000010001100111111000000000
+01101000010010000100101111111100
+10011000010000001111111000000000
+01101000010000100100000101010110
+10011000010001100111111000000000
+00011111111100000110000000000000
+01101111111001000100110000000110
+00011111111000110111111000000000
+00100000010000000111110100101011
+00011110000000100111111000000000
+00100000010000000111110100010100
+00011011010000100000010000000000
+00100000010000000000000001101000
+00100000011101000000000000000000
+00100000001000000100101101101000
+01101111111000100100101111111000
+00100000001000000100101101110100
+00100000010000000111110111000001
+01101111111000100100010010011000
+11000001000000000000000000000000
+01101111111000100100101111111000
+11000011100000100000000000000000
+00100000001000000111110110111111
+01101111111000100100011001111001
+11000010100000010000010001011101
+00100000001000000111110111000001
+01101000010001000000010001110100
+01101111111000100100010010111011
+11000010100000011000010001101010
+00100000001000000101110110011111
+01101111111001000100010011001100
+10011000010001100111110000000000
+00100100001000101101110110011111
+00100000010000000000010001011101
+00100100001101000101110110011111
+01110000000001000111011000000101
+00100000001000000101111001010111
+00011000110000100010001000000000
+01101111111001000100010011001110
+00011111111000001010010111111101
+00100000010000000101101010111110
+01101111111000100100010010111011
+11000011000000100101111000011101
+01101000010001000000010001110100
+01101111111001000100010011001100
+10011000010001100111110000000000
+00100100001000101101111000011101
+00100000010000000000010001011101
+00100100001101000101111000011101
+01110000000001000111011000000101
+00100000001000000101111001010111
+00100000010000000100000111000101
+00100100011101000000000000000000
+01111000010101000111110000000000
+01110000000000000001000100100000
+01111001001111111000000000001011
+01111001001111111000000000101100
+00100000010000000100101001001110
+00100000010000000100001011100010
+11000101000001011000010010001100
+00100000010000000100010001010001
+00100100001110100000010010000101
+11000101000101100000010010010101
+00100000001000000100000111101000
+00100000010000000100101001001100
+11011000001000000000000000010000
+00100000010000000100001011011000
+01111001001000000000000000101100
+01111001001111111000000000001011
+01101111111000100000000001110111
+10011000000000000000100000000000
+01110000000000000001000100000010
+00100000001000000000010010000101
+01101111111010000000000101100011
+00011111111000001111111000001000
+01100111111010000000000101100011
+00100000001000000100000111110100
+00100000010000000101000101001010
+01110000000000101000000100010111
+00100000011000000000000000000000
+00100000010000000000010011110011
+00100000001000000110101101101110
+01011000000000000001010111101111
+11100111111001000000000000000101
+01011000000000000001000110000011
+11100111111001000000000000000101
+00011000010000100111111000000000
+11100111111000100000000000000101
+01011000000000000000000011110000
+11100111111001100000000000000101
+01101111111001000100010100111110
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+01101111111000100100010101000000
+11100111111000100000000000000101
+00100000010000000110100011110000
+11100111111000100000000000000101
+01110000010001010011101100010000
+00100000011000000000000000000000
+01101111111000100100011001010001
+11000000000000000110100101001111
+01101111111001000000001001100000
+00011111111000100000110000000000
+00100000010000000110100101111001
+01101111111000100000010011111000
+11000000000000000110101000010011
+00100000001000000000010010111000
+01101111111000100000010011111001
+11000000011101111000010011001010
+11000000011111111000010011000010
+11000000001010011000010010111101
+00100000001000000110101001001110
+00100000001000000110101000000101
+01101111111000100000010011111001
+11000000011101111000010011001010
+11000000011111111000010011000010
+00100000001000000110100111011100
+01101111111001000000010011111101
+00011111111000100000110000000000
+00011111111000001111111000000001
+01100111111001000000010011111101
+11101111111000100000000000000110
+01101000010000100100010100111010
+10011000010000001111111000000000
+01100111111000100100010100111010
+00100000010000000110101100000001
+01101111111001000000010011111101
+01100111111001000100110010101110
+01101000111000100000010011111011
+00100000001000000000010011001111
+00011000111000100111111000000000
+00100000011000101000000000000000
+01101000010001000100110010101110
+00011000010000100000110000000000
+00100000010000000000010011011101
+00100100011101000000000000000000
+00011000110000100111111000000000
+01100111111001000100110010110000
+00100000010000000000010011011101
+00100100011101000000000000000000
+00011000110000100111111000000000
+01100111111001000100110010101110
+00100000010000000000010101101111
+00100000001000000000010011001111
+01111000010101000111110000000000
+00011000111000100111111000000000
+00011111111000001111111111111110
+00100100011000010000000000000000
+00011000111000001000111111111111
+11101111111000100000000000000110
+11000000100001101000010011011110
+00011000111000001000111111111111
+11101111111000100000000000000110
+11000000100001010000010011011110
+01111000001101000111110000000000
+00100000011000000000000000000000
+01110000010011001001100000000000
+01110000010011001001100100000000
+01110000010011001001101000000000
+01110000010011001010110100001010
+01110000010011001010101100001010
+01110000010011001011101000000000
+01011000000000000100110010101011
+11011000101000000100110010011000
+10011000101001100111001000000000
+00100000001000000111110010101111
+00100000010000000101011001001110
+00100100011110100000000000000000
+01101111111000100100110010011000
+11000000000001010000010100100100
+11000001000001011000000000000000
+11000000000001100000010100101111
+11000001000001101000000000000000
+11000000000001110000010100111010
+11000001000001111000000000000000
+11000000000000000000010100001000
+11000000000000001000010100010101
+11000001000000010000000000000000
+11000000000000011000010101000101
+11000001000000100000000000000000
+11000000000000101000010101010000
+11000001000000110000000000000000
+11000000000000111000010101011001
+11000001000001000000000000000000
+11000000000001001000010100000111
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101111111000100100001000100110
+11000000011101111000010100001100
+11000000011111111000010100001100
+00100000011000000000000000000000
+01110000010011001001100000000001
+00100000011000000000000000000000
+01100111111001000100011001101010
+01011000000000000100110011010101
+01100111111001000100110010110010
+00011111111000100000101000000000
+01011000001010110101010001000001
+11100111111001100000000000000101
+00100000011000000000000000000000
+01101111111000100100010100111010
+00100000011110100000000000000000
+00100000010000000000011101001011
+01110000010011001001100000000010
+01011000000000000000000000001010
+00100000010000000000010100001110
+01011000010100110101001001000010
+11100111111001100000000000000101
+01011000000000000011110101000110
+11100111111001000000000000000101
+01101111111000100100110010110100
+11100111111000100000000000000101
+01011000000000000000000000001101
+11100111111000100000000000000101
+00100000001000000000011101001101
+00100000010000000000011101001011
+01110000010011001001100000001011
+01011000000000000000000000001010
+00100000010000000000010100001110
+01011000000000000100100001000011
+11100111111001000000000000000101
+01011000001111010100010001001100
+11100111111001100000000000000101
+01011000000000000000110100111111
+11100111111001000000000000000101
+00100000001000000000011101001101
+00100000010000000000011101001011
+01110000010011001001100000001101
+01011000000000000000000000001010
+00100000010000000000010100001110
+01011000000000000100110001000011
+11100111111001000000000000000101
+01011000001111010101000001001001
+11100111111001100000000000000101
+01011000000000000000110100110001
+11100111111001000000000000000101
+00100000001000000000011101001101
+00100000010000000000011101001011
+01110000010011001001100000001111
+01011000000000000000000000001010
+00100000010000000000010100001110
+01011000000000000100001101000011
+11100111111001000000000000000101
+01011000001111010100000101010111
+11100111111001100000000000000101
+01011000000000000000110100110001
+11100111111001000000000000000101
+00100000001000000000011101001101
+00100000010000000000011101001011
+01110000010011001001100000000100
+01011000000000000000000000001010
+00100000010000000000010100001110
+01011000010011100100100101000011
+11100111111001100000000000000101
+01011000001111110011110101000100
+11100111111001100000000000000101
+01011000000000000000000000001101
+11100111111000100000000000000101
+00100000001000000000011101001101
+00100000010000000000011101001011
+01110000010011001001100000000110
+01011000000000000000000000001001
+00100000010000000000010100001110
+01011000010011100100100101000011
+11100111111001100000000000000101
+01011000000011010011111101000100
+11100111111001100000000000000101
+00100000001000000000011101001101
+00100000010000000000011101001011
+01110000010011001001100000001000
+01011000000000000000000000010000
+00100000010000000000010100001110
+01011000010001010100110101000011
+11100111111001100000000000000101
+01011000001100110011110101010010
+11100111111001100000000000000101
+01011000001011000011000000101100
+11100111111001100000000000000101
+01011000001100010010110000110000
+11100111111001100000000000000101
+01011000000000000000000000001101
+11100111111000100000000000000101
+00100000001000000000011101001101
+01011000000000000000000000001000
+00100000010000000000010100001110
+01011000010000110100110001000011
+11100111111001100000000000000101
+01011000000000000000110101000011
+11100111111001000000000000000101
+00100000001000000000011101001101
+01111000010101000111110000000000
+00100000010000000000010110001011
+00100000011101000000000000000000
+00100000010000000000010110110101
+00100000011101000000000000000000
+01100000111001000000101010011110
+00100000010000000000011101001011
+01101000111001000000101010011110
+00100000010000000000011011001000
+00100000011101000000000000000000
+00100000010000000000010111001111
+00100000011101000000000000000000
+00100000010000000000010111000011
+00100000011101000000000000000000
+00100000010000000000011000110101
+00100000011101000000000000000000
+00100000010000000000011011011000
+00100000011101000000000000000000
+00100000010000000000011011100110
+00100000011101000000000000000000
+00100000010000000000011100000111
+00100000011101000000000000000000
+00100000010000000000011011111001
+00100000011101000000000000000000
+00100000010000000000011100100110
+00100000011101000000000000000000
+01101111111001000100110010111000
+00100000001000000111110101110111
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101001111000000000000000
+11101111111000100000000000000110
+11000001101001011000000000000000
+01111000001101000111110000000000
+00100000010000000000010110011100
+01101111111000100100110010011000
+11000000000001000000010110101100
+11000000000001011000010110101110
+11000000000001101000010110110000
+11000000000001111000010110110010
+11000000000000010000010110100110
+11000000000000100000010110101000
+11000000000000110000010110101010
+00100000011000000000000000000000
+01101111111000100100110010011010
+11000000000000001000010110100010
+11000000000000010000010110100010
+11000000000000011000010110100100
+11000000000000100000010110100010
+00100000011000000000000000000000
+01110000010011001001101000000000
+00100000011000000000000000000000
+01110000010011001001101000000000
+00100000011000000000000000000000
+01110000010011001001100000000011
+00100000011000000000000000000000
+01110000010011001001100000000101
+00100000011000000000000000000000
+01110000010011001001100000000111
+00100000011000000000000000000000
+01110000010011001001100000001010
+00100000011000000000000000000000
+01110000010011001001100000001100
+00100000011000000000000000000000
+01110000010011001001100000001110
+00100000011000000000000000000000
+01110000010011001001100000001001
+01110000000010101001010101100000
+00100000001000000111101110101011
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101000101000000000000000
+11101111111000100000000000000110
+11000001101010010000000000000000
+11101111111000100000000000000110
+11000001101010010000000000000000
+11101111111000100000000000000110
+11000001101001111000000000000000
+11101111111000100000000000000110
+11000001101010010000000000000000
+01111000001101000111110000000000
+00100000001000000000010110011100
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101010010000000000000000
+11101111111000100000000000000110
+11000001101001001000000000000000
+11101111111000100000000000000110
+11000001101001110000000000000000
+11101111111000100000000000000110
+11000001101000111000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101001001000000000000000
+11101111111000100000000000000110
+11000001101000101000000000000000
+11101111111000100000000000000110
+11000001101010110000000000000000
+01111000001101000111110000000000
+00100000010000000000011100110111
+00011010001000001010001000000010
+01011000000000000100110010011101
+10011000010000001000010000000000
+00011000010000001000010111111111
+11101111111000100000000000000010
+11011000010000000100110010100100
+10011000010000001111111000000000
+01100111111001000100110010110000
+00011010001000100000110000000000
+00100000010000000000011101000111
+00100000010000000000011100110111
+01101111111001000100110010110000
+11100000010000100000000000111111
+01011000000000000000000000000001
+00100000010000000000010111101111
+11000000000000000000010111110011
+11000000000000001000011000010101
+00100000011000000000000000000000
+11011000110000000100110010100100
+10011000110000001000110000000000
+11101111111000100000000000000110
+00100000011000000000000000000000
+01011000000000000000000000000010
+00100000010000000000010111101111
+11000000000000001000011000000001
+11000000000000010000011000010001
+11000000000000011000011000010001
+01101111111000100100110010011001
+11000001000000000000000000000000
+01110000010011001001100100000000
+01101111111000100100110010111010
+00011111111001100111110000000001
+00100000010000101000010111111111
+00100000001000000000011000101111
+01110000000010101001010101011000
+00100000001000000111101110101011
+00100000010000000000010101101000
+01101111111000100100110010011001
+11000001000000001000000000000000
+01110000010011001001100100000001
+01110000000010101001010101011010
+00100000001000000111101110101011
+01110000000010101001010101011011
+00100000001000000111101110101011
+01110000000010101001010101011100
+00100000001000000111101110101011
+01110000000010101001010101011101
+00100000001000000111101110101011
+01110000000010101001010101011110
+00100000001000000111101110101011
+01110000000010101001010101011111
+00100000001000000111101110101011
+01101111111000100100110010011001
+11000001000000010000000000000000
+01110000010011001001100100000010
+00100000001000000000011000000111
+01011000000000000000000000000011
+00100000010000000000010111101111
+11000000000000000000011000100100
+01101111111000100100110010011001
+11000001000000110000000000000000
+01110000010011001001100100000110
+00100000001000000000011000001111
+01101111111000100100110010011001
+11000001000000100000000000000000
+01110000010011001001100100000100
+00100000001000000000011000001011
+01101111111000100100110010011001
+11000001000000101000000000000000
+01110000010011001001100100000101
+00100000001000000000011000001101
+01011000000000000000000000000010
+00100000010000000000010111101111
+11000000000000001000011000011100
+11000000000000010000011000100000
+11000000000000011000011000100000
+01101111111000100100110010011001
+11000001000000011000000000000000
+01110000010011001001100100000011
+00100000010000000000011000001001
+01110000010011001011101000000010
+00100000011000000000000000000000
+01110000010011001011101000000000
+00100000011000000000000000000000
+01110000000010101001010101011001
+00100000010000000111101110101011
+01110000010011001011101000000001
+00100000011000000000000000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101001001000000000000000
+11101111111000100000000000000110
+11000001101001110000000000000000
+11101111111000100000000000000110
+11000001101000100000000000000000
+01111000001101000111110000000000
+00011000110000001000110000000010
+11101111111000100000000000000110
+11000000000101000000011001100001
+00100000001000000000011001000110
+00011000000000000111001000000111
+01100000110001000100110010110000
+01101111111001000100110010110000
+00011111111000100000110000000000
+00100000010000000000011100110111
+00011010001000001010001000000010
+00011010001000100000110000000000
+00100000010000000000011101000111
+00011000110000100111111000000000
+01100111111001000100110010110000
+00011000010000100010001000000000
+00011111001000100000010000000000
+00011000010001100000010000000111
+00100000010000000000011001011010
+11011000010000000100110010100100
+10011000010000001000010000000000
+00011010001000100111111000000000
+11100111111000100000000000000010
+11000010000000000000011001001000
+00100000001000000000010111101010
+01011000000000000100110010011101
+10011000010000001000010000000000
+11101111111000100000000000000010
+00100000011000000000000000000000
+11101111111000100000000000000110
+11000001000100010000000000000000
+00100000001000000000011001011110
+00011000000000000111001000000111
+00100000010000000000011001011110
+01100000110001000100110010110000
+00100000010000000000011001110000
+00100000001101100000011001101101
+00100000010000000000011010001110
+00100000001101100000011001101101
+00100000010000000000011010111010
+00100000001101100000011001101101
+00100000010000000000011010101100
+00100000001101100000011001101101
+00100000010000000000011001111110
+00100000010000000000011001011110
+11000010000000000000011001100010
+00100000011000000000000000000000
+01111000010101100111110000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101110011000000000000000
+11101111111000100000000000000110
+11000001101100101000000000000000
+11101111111000100000000000000110
+11000001101110010000000000000000
+11101111111000100000000000000110
+11000001101110110000000000000000
+01111000001101100111110000000000
+00011000000000000010001000000000
+00100000001000000000011010100101
+01111000010101100111110000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101100010000000000000000
+11101111111000100000000000000110
+11000001101100001000000000000000
+11101111111000100000000000000110
+11000001101110100000000000000000
+11101111111000100000000000000110
+11000001101110100000000000000000
+11101111111000100000000000000110
+11000001101100011000000000000000
+01111000001101100111110000000000
+00011000000000000010001000000110
+00100000001000000000011010100101
+01111000010101100111110000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101100011000000000000000
+11101111111000100000000000000110
+11000001101100001000000000000000
+11101111111000100000000000000110
+11000001101101100000000000000000
+11101111111000100000000000000110
+11000001101101100000000000000000
+11101111111000100000000000000110
+01111000001101100111110000000000
+11000000001101000000011010100100
+11000000000100010000011010100001
+11000000001110011000011010011111
+00100000011000000000000000000000
+00011000000000000010001000000010
+00100000001000000000011010100101
+00011000110000001000110111111111
+00011000000000000010001000000001
+00100000001000000000011010100101
+00011000000000000010001000000011
+00011111001000100111111000000000
+00011111111001100111111000000111
+11011000010000000100110010011101
+10011000010000001000010000000000
+00011010001000100111111000000000
+11100111111000100000000000000010
+00100000011000000000000000000000
+01111000010101100111110000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101110010000000000000000
+11101111111000100000000000000110
+11000001101101111000000000000000
+11101111111000100000000000000110
+11000001101100001000000000000000
+11101111111000100000000000000110
+11000001101101101000000000000000
+01111000001101100111110000000000
+00011000000000000010001000000101
+00100000001000000000011010100101
+01111000010101100111110000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001101110011000000000000000
+11101111111000100000000000000110
+11000001101101001000000000000000
+11101111111000100000000000000110
+11000001101100111000000000000000
+11101111111000100000000000000110
+11000001101101110000000000000000
+01111000001101100111110000000000
+00011000000000000010001000000100
+00100000001000000000011010100101
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101000010000000000000000
+11101111111000100000000000000110
+11000001101010010000000000000000
+11101111111000100000000000000110
+11000001101010011000000000000000
+11101111111000100000000000000110
+11000001101000110000000000000000
+01111000001101000111110000000000
+00100000010000000000011100110111
+01100000010001000100110010011011
+00100000011000000000000000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101001000000000000000000
+11101111111000100000000000000110
+11000001101001100000000000000000
+11101111111000100000000000000110
+11000001101000100000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101010110000000000000000
+11101111111000100000000000000110
+11000001101000111000000000000000
+11101111111000100000000000000110
+01111000001101000111110000000000
+11000000001001101000011011110110
+11000000001010011000011011110011
+00100000011000000000000000000000
+00100000010000000000011100110111
+01100000010000100100110010101011
+00100000011000000000000000000000
+00100000010000000000011100110111
+01100000010000100100110010101101
+00100000011000000000000000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101010111000000000000000
+11101111111000100000000000000110
+11000001101000001000000000000000
+01111000001101000111110000000000
+00100000001000000000011100011000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101001100000000000000000
+11101111111000100000000000000110
+11000001101001001000000000000000
+11101111111000100000000000000110
+11000001101010000000000000000000
+01111000001101000111110000000000
+00100000010000000000011100011000
+01101111111000100100110010111010
+11000001100000000000000000000000
+00100000001000000000011000110001
+11101111111000100000000000000110
+11000000100100010000011100011000
+00011000000000000010001000000000
+00011000000000000010010000110000
+11011000101000000100110010111100
+11101111111000100000000000000110
+11000000000100010000011100100011
+00011010001000001010001000000001
+10011010010001100111111000000000
+11100111111000100000000000000101
+00100000001000000000011100011101
+00011010001000100111111000000000
+01100111111000100100110010111011
+00100000011000000000000000000000
+01101111111001000100110010110000
+00011111111000100000110000000000
+11101111111000100000000000000110
+11000001100101011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101001100000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+11101111111000100000000000000110
+11000001101000011000000000000000
+01111000001101000111110000000000
+00100000010000000000011100011000
+01101111111000100100110010111010
+11000001100000000000000000000000
+00100000001000000000011000110001
+00100000010000000000011101000111
+00011000110000001000110111111110
+00011000110000100010001000000000
+00011000000000000010010000000001
+00011000000000000000010000000000
+11101111111000100000000000010001
+00011010001000001010001111111111
+11000001000111101000000000000000
+11000001000111010000000000000000
+11000001000101100000000000000000
+11000000000100000000011100111100
+00011111111000001111111111010000
+10011010010011111111111000000000
+10011000010000001000010000000000
+00011010010011111010010000001010
+00100000001000000000011100111100
+11101111111000100000000000000110
+11000001000001101000000000000000
+11000001000101100000000000000000
+00100000001000000000011101000111
+00100000010000000110100100110011
+00100000001000000110101011101001
+01101111111000100100010100111010
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100111111000100100010100111010
+01101111111000100100010100110111
+01100111111000100000010100001011
+01011000000000000000000011101111
+01100111111000100000010100001010
+00100000010000000110100100110011
+01101111111001000100011001101010
+00011111111000001111111000000100
+00011111111000100010001000000000
+00100000010000000000011101101110
+01101111111000100000010100001001
+11100111111000100000000000000101
+01101111111000100000010100001010
+11100111111000100000000000000101
+00100000010000000000011101101001
+01101111111001000100011001101010
+00011111111000100111001000000000
+01101111111001000100110010110010
+00011111111000100000110000000000
+00100000010000000111110011011100
+01101111111000100000010100001011
+11100111111000100000000000000101
+01011000000000000000000000000000
+01100111111001000100011001101010
+00100000011000000000000000000000
+01101111111001000100011001101010
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000010000000101011010101100
+00100000010000000101011010111010
+00011010001000100111111000000000
+11100111111001000000000000000101
+01101111111001000100001000011100
+11100111111001000000000000000101
+00100000011000000000000000000000
+00011000110000100000010000000000
+11011111001000000000000000000100
+11011000101000000000010100100110
+00100000010000000111110010100001
+00011000010000100000110000000000
+00011010010000100111111000000000
+11000000000000011000011101111110
+11000000000000101000011110001000
+00100000001000000110110011100011
+11101111111001000000000000000110
+11101111111001000000000000000110
+00011111111100001111111000000000
+11000000100000001100101010001011
+11101111111010000000000000000110
+01100111111010000000010100100000
+01101111111000100100001000100010
+01111001001000000111111000000110
+01100111111000100100001000100010
+00100000011000000000000000000000
+01101111111000100100001000100010
+01111001001000000111111000000111
+01100111111000100100001000100010
+00011000010000100000110000000000
+11101111111001000000000000000110
+00100000010000000110111111000001
+01100111111000100100010100110110
+00100000011000000000000000000000
+01101111111000100000001010000011
+00100000011110100000000000000000
+11000000000000100000011110011000
+11000000000111101000011110011100
+11000000000111110000011110100001
+11000000000111111000011110100111
+11000000001000000000011110101010
+00100000001000000110101110111101
+01101111111000100100001000100010
+11000001100111111000000000000000
+01110000000000101000001100111101
+00100000001000000110101110111010
+01110000000000101000001100111110
+11011010001000000000000000001101
+01011000000000000001111100010001
+01100111111001000000010101001011
+00100000001000000000011110101110
+01101111111000100100001000100010
+11000100000000110000000000000000
+01101111111010000000010100100000
+00100000001110100100110101100100
+01110000000000101000001100111111
+00100000001000000110101110111010
+01110000000000101000001101000000
+11011010001000000000000000010011
+00100000001000000000011111000011
+01101111111000100100001000100010
+11000100000000111000000000000000
+01110000000000101000001100111011
+00100000001000000110110000111010
+00100000010000000000011111011100
+01011000000000000000000000000010
+11100111111000100000000000000101
+01101111111001000000010100011010
+00011111111100001111111000000000
+11100111111001000000000000000101
+00011010001000001010001111111011
+00011010001100001010001000000000
+00011010001000100111111000000000
+11100111111001000000000000000101
+01011000000000000000001100110101
+11100111111001000000000000000101
+01011000000000000000000000011001
+11100111111000100000000000000101
+01101111111001000000010101001011
+11100111111001000000000000000101
+01011000000000000000000000001000
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+00100000010000000000011111011100
+01011000000000000000000000000100
+11100111111000100000000000000101
+01101111111001000000010100011010
+00011111111100001111111000000000
+11100111111001000000000000000101
+00011010001000001010001111111011
+00011010001100001010001000000000
+00011010001000100111111000000000
+11100111111001000000000000000101
+01101111111010000000010100100000
+11100111111010000000000000000101
+01011000000000000010110000000001
+11100111111001000000000000000101
+01011000000000000000010100110101
+11100111111001000000000000000101
+01011000000000000000000000001010
+11100111111000100000000000000101
+01011000000000000000000000000000
+11100111111001000000000000000101
+01011111111111111111111111111111
+11100111111001000000000000000101
+01011000000000000000000000000000
+11100111111000100000000000000101
+00100000011000000000000000000000
+01101111111001000000010100011010
+00011111111000001111111000000001
+01100111111001000000010100011010
+00100000010000000111110001100000
+00100000010000000101011010011111
+00100000010000000111110001110000
+00100000010000000101011010101000
+11100010001001000000000000111111
+01101111111001000100001000011010
+11100111111001000000000000000101
+00100000011000000000000000000000
+01101000010001000100000010110111
+00011000000000000000111000101000
+00100000010000000100011100011000
+00100000001101000100000100010000
+00100000001000000100000011101100
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+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: ebike/trunk/output/eeprom.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/eeprom.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/eeprom.dat	(working copy)
@@ -0,0 +1,9176 @@
+00
+02
+aa
+55
+b2
+1f
+c2
+84
+00
+1a
+c0
+00
+00
+37
+c0
+08
+87
+e7
+c0
+00
+80
+6c
+c0
+42
+80
+73
+c0
+44
+80
+94
+c0
+4a
+00
+5a
+c0
+51
+00
+9d
+c0
+51
+80
+65
+c0
+56
+00
+a4
+c0
+5c
+00
+a5
+c0
+5d
+81
+41
+c0
+5e
+01
+d4
+c0
+75
+81
+f8
+c0
+02
+83
+db
+c0
+16
+03
+f5
+c0
+17
+03
+fa
+c0
+37
+84
+02
+c0
+53
+04
+13
+c0
+53
+84
+34
+c0
+55
+84
+5b
+c0
+1d
+83
+fd
+c0
+5f
+84
+99
+c0
+13
+04
+7f
+c0
+14
+04
+8c
+20
+20
+4a
+8b
+c0
+01
+82
+02
+c0
+02
+82
+0e
+c0
+03
+02
+17
+c0
+03
+82
+1c
+c0
+04
+02
+25
+c0
+05
+82
+36
+c0
+09
+82
+46
+c0
+0a
+02
+cb
+c0
+0e
+02
+de
+c0
+0f
+03
+07
+c0
+0f
+83
+35
+c0
+10
+83
+69
+c0
+18
+03
+7a
+c0
+19
+03
+7e
+c0
+1d
+03
+91
+c0
+1f
+03
+9c
+c0
+20
+83
+ae
+c0
+24
+83
+b4
+c0
+29
+03
+bd
+c0
+2a
+83
+ca
+c0
+46
+83
+1c
+c0
+4c
+83
+d7
+c0
+35
+07
+90
+c0
+3d
+07
+75
+c0
+28
+84
+b0
+c0
+2a
+04
+be
+c0
+2c
+04
+9e
+c0
+31
+84
+9c
+20
+20
+4a
+8b
+6f
+ec
+4b
+f2
+67
+ec
+00
+a1
+1c
+e2
+7e
+00
+20
+3a
+00
+44
+20
+40
+00
+3d
+20
+20
+40
+02
+70
+40
+91
+00
+20
+40
+00
+40
+20
+20
+67
+bc
+6f
+e2
+89
+73
+79
+20
+7e
+06
+67
+e2
+89
+73
+20
+60
+00
+00
+6f
+e2
+81
+26
+c2
+80
+00
+4b
+6f
+ec
+00
+a1
+68
+4c
+81
+0e
+98
+41
+7e
+00
+24
+5a
+00
+3d
+20
+20
+40
+02
+20
+40
+00
+4d
+20
+20
+40
+02
+58
+ff
+ff
+ff
+68
+46
+81
+0e
+98
+42
+fe
+00
+68
+46
+00
+a1
+98
+41
+7e
+00
+24
+3a
+00
+3d
+58
+ff
+ff
+ff
+68
+46
+81
+11
+98
+42
+fe
+00
+68
+46
+00
+a4
+98
+41
+7e
+00
+24
+3a
+00
+3d
+20
+60
+00
+00
+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
+00
+69
+20
+20
+4a
+2f
+1b
+42
+7e
+00
+20
+40
+00
+68
+20
+20
+4a
+e9
+20
+40
+7d
+14
+98
+00
+0c
+00
+79
+3f
+8c
+10
+20
+20
+7d
+1f
+70
+45
+3d
+00
+20
+40
+68
+c4
+20
+40
+60
+d7
+20
+40
+00
+71
+20
+20
+40
+0a
+20
+75
+80
+00
+20
+20
+7b
+9a
+20
+30
+80
+83
+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
+00
+81
+c0
+00
+80
+91
+c0
+01
+00
+81
+c0
+01
+80
+91
+c0
+02
+00
+91
+c0
+10
+00
+91
+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
+00
+83
+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
+58
+00
+00
+b4
+67
+e4
+41
+f6
+58
+00
+01
+0a
+67
+e4
+41
+fe
+58
+00
+01
+1f
+67
+e4
+41
+fa
+58
+00
+01
+32
+67
+e4
+41
+ea
+58
+00
+01
+3e
+67
+e4
+41
+f2
+20
+40
+4d
+af
+20
+40
+4d
+bc
+20
+40
+4c
+2a
+20
+40
+50
+4d
+20
+20
+04
+e9
+1a
+62
+7e
+00
+c0
+00
+80
+c3
+c0
+04
+80
+d4
+c0
+01
+00
+c7
+c0
+02
+80
+d9
+c0
+02
+00
+db
+c0
+09
+80
+db
+c0
+0c
+00
+ff
+c0
+30
+00
+df
+c0
+2c
+80
+e1
+c0
+2c
+00
+e8
+c0
+0a
+00
+ea
+c0
+0a
+80
+fb
+c0
+1e
+80
+fe
+20
+20
+4d
+df
+70
+4c
+f3
+00
+20
+40
+4d
+6b
+20
+40
+4d
+62
+20
+20
+4e
+2c
+20
+40
+04
+e9
+70
+4a
+d0
+00
+20
+40
+4d
+d7
+6f
+e2
+46
+37
+24
+5a
+50
+8c
+20
+40
+00
+f7
+6f
+e4
+46
+52
+c3
+02
+00
+d2
+79
+3f
+fe
+04
+67
+e4
+46
+52
+20
+20
+50
+26
+70
+4c
+f3
+14
+20
+60
+00
+00
+6f
+e2
+4a
+cf
+24
+5a
+00
+d7
+20
+60
+00
+00
+70
+4a
+d0
+06
+20
+60
+00
+00
+20
+40
+4d
+d7
+20
+20
+00
+f3
+20
+40
+00
+f7
+20
+20
+00
+dd
+70
+0a
+ff
+b1
+20
+20
+50
+4e
+70
+0a
+ff
+b2
+20
+20
+50
+4e
+70
+0a
+ff
+b3
+6f
+e2
+4c
+bb
+20
+40
+50
+a5
+6f
+22
+4c
+bb
+d8
+60
+4c
+bc
+20
+40
+50
+16
+20
+20
+67
+b9
+70
+0a
+ff
+b4
+20
+20
+50
+4e
+20
+40
+03
+73
+20
+40
+00
+ef
+6f
+e2
+46
+6e
+67
+e2
+41
+73
+20
+20
+50
+24
+6f
+e2
+46
+6c
+2f
+ef
+fe
+01
+20
+40
+cd
+73
+20
+60
+00
+00
+6f
+e2
+46
+6c
+2f
+ef
+fe
+00
+20
+40
+cd
+6b
+20
+60
+00
+00
+6f
+e2
+46
+6c
+2f
+ef
+fe
+00
+20
+40
+cd
+69
+20
+60
+00
+00
+20
+40
+5b
+f6
+20
+40
+4e
+95
+20
+20
+50
+28
+20
+60
+00
+00
+70
+0a
+ff
+b0
+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
+20
+40
+01
+19
+20
+40
+01
+11
+20
+40
+01
+0e
+20
+20
+50
+c3
+da
+60
+4c
+f3
+da
+40
+4d
+5c
+20
+20
+4d
+04
+6f
+e2
+4a
+d0
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+67
+e2
+4a
+d0
+24
+7a
+00
+00
+6f
+e4
+46
+52
+c2
+80
+4d
+64
+20
+60
+00
+00
+6f
+e8
+4b
+ee
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+67
+e8
+4b
+ee
+24
+7a
+00
+00
+20
+20
+00
+3d
+20
+40
+04
+63
+20
+74
+00
+00
+1a
+22
+7e
+00
+67
+e4
+46
+71
+20
+40
+01
+2c
+67
+e2
+46
+70
+68
+44
+04
+74
+60
+44
+46
+73
+20
+40
+5b
+6c
+24
+3a
+4a
+8b
+6f
+e2
+04
+9e
+c0
+81
+50
+42
+20
+20
+50
+42
+6f
+e2
+4b
+ed
+24
+3a
+01
+30
+1f
+22
+7e
+00
+20
+60
+00
+00
+1a
+42
+7e
+00
+20
+60
+00
+00
+20
+40
+02
+99
+24
+34
+01
+3b
+6f
+e2
+4f
+ef
+c0
+00
+81
+3b
+6f
+e2
+44
+96
+c0
+80
+01
+39
+20
+20
+4d
+4d
+c0
+7f
+cd
+4d
+20
+20
+01
+3b
+20
+40
+00
+40
+20
+40
+67
+bc
+20
+20
+4d
+4b
+20
+40
+01
+40
+20
+20
+50
+d3
+20
+20
+4d
+c7
+6f
+e2
+0a
+ff
+c0
+13
+81
+b9
+c0
+06
+01
+68
+c0
+3b
+01
+71
+c0
+3b
+81
+77
+c0
+3c
+01
+7c
+c0
+0a
+81
+b6
+c0
+20
+01
+ba
+c0
+7f
+81
+65
+c0
+3c
+81
+c7
+c0
+58
+81
+ca
+c0
+01
+01
+4e
+20
+20
+4e
+5c
+6f
+e2
+0b
+00
+c0
+80
+d0
+1c
+1a
+22
+06
+00
+20
+40
+50
+1f
+e8
+42
+00
+03
+60
+42
+46
+6f
+6f
+e2
+46
+6c
+2f
+ef
+fe
+00
+24
+20
+81
+5c
+6f
+e4
+46
+52
+c2
+80
+01
+5c
+68
+42
+46
+6f
+18
+41
+7e
+03
+67
+e2
+40
+93
+6f
+e2
+46
+6c
+2f
+ef
+fe
+01
+24
+60
+80
+00
+6f
+e4
+46
+52
+c3
+84
+80
+00
+68
+42
+46
+6f
+28
+4f
+fe
+02
+20
+20
+cd
+75
+20
+20
+4d
+73
+ef
+e2
+00
+03
+67
+e2
+40
+91
+20
+60
+00
+00
+1a
+22
+06
+00
+ef
+e2
+00
+03
+c0
+00
+4f
+1c
+c0
+00
+cf
+1f
+c0
+01
+4f
+25
+c0
+01
+81
+6f
+20
+20
+50
+1c
+58
+00
+00
+01
+20
+20
+4f
+20
+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
+80
+20
+40
+01
+9d
+58
+00
+00
+00
+e7
+e4
+00
+05
+20
+20
+01
+af
+ef
+e2
+00
+03
+20
+40
+01
+84
+20
+40
+01
+8b
+20
+20
+01
+af
+20
+40
+01
+a1
+58
+28
+00
+02
+e7
+e6
+00
+05
+20
+60
+00
+00
+67
+e2
+0a
+96
+20
+40
+01
+a1
+59
+28
+03
+02
+e7
+e8
+00
+05
+6f
+e2
+0a
+96
+e7
+e6
+00
+05
+20
+60
+00
+00
+20
+40
+01
+a1
+20
+40
+01
+9d
+20
+40
+01
+9d
+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
+98
+c2
+82
+81
+98
+18
+40
+84
+01
+20
+60
+00
+00
+20
+40
+01
+a1
+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
+a4
+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
+a6
+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
+ef
+e6
+00
+03
+67
+e6
+40
+aa
+20
+20
+50
+1f
+20
+20
+4d
+85
+ef
+e2
+00
+03
+68
+48
+41
+79
+79
+3a
+04
+10
+79
+3a
+04
+18
+60
+48
+41
+79
+68
+42
+41
+57
+79
+3a
+04
+00
+60
+42
+41
+57
+ef
+ec
+00
+03
+67
+ec
+00
+a1
+67
+ec
+4b
+f2
+20
+40
+4b
+e3
+20
+20
+50
+1f
+ef
+e8
+00
+03
+67
+e8
+4b
+ee
+20
+20
+50
+1f
+ef
+ec
+00
+03
+67
+ec
+40
+a0
+ef
+ec
+00
+03
+67
+ec
+41
+d1
+d8
+a0
+41
+bf
+df
+20
+00
+10
+20
+40
+67
+ed
+20
+40
+68
+be
+20
+40
+4d
+5c
+20
+20
+50
+1f
+6f
+e2
+46
+79
+c2
+81
+82
+ab
+6f
+e2
+46
+79
+c3
+83
+80
+00
+6f
+e4
+44
+78
+20
+40
+7d
+b5
+1f
+e2
+04
+00
+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
+01
+f4
+e8
+48
+00
+06
+59
+28
+03
+02
+98
+46
+7c
+00
+24
+22
+81
+f4
+ef
+e2
+00
+06
+c2
+82
+81
+f0
+c2
+82
+4f
+01
+20
+20
+01
+f4
+20
+40
+03
+75
+68
+44
+46
+7b
+20
+40
+5e
+4d
+20
+20
+4f
+03
+70
+46
+7a
+00
+70
+0b
+01
+01
+20
+40
+50
+e0
+20
+20
+50
+1c
+6f
+e2
+4b
+ed
+24
+3a
+57
+09
+20
+40
+57
+09
+70
+4a
+db
+01
+70
+4a
+dc
+00
+58
+00
+00
+00
+67
+f0
+4a
+d1
+58
+00
+00
+1b
+67
+e4
+4a
+d9
+20
+60
+00
+00
+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
+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
+57
+af
+20
+40
+02
+1a
+20
+20
+58
+a7
+20
+36
+80
+99
+20
+20
+57
+be
+6f
+e2
+4b
+ed
+24
+3a
+58
+b3
+6f
+e2
+4a
+db
+08
+00
+86
+08
+ef
+e2
+00
+06
+1f
+e2
+72
+00
+08
+00
+86
+08
+20
+22
+d8
+bc
+20
+20
+58
+b9
+6f
+e2
+4b
+ed
+24
+3a
+58
+c4
+6f
+e2
+44
+56
+c0
+00
+d8
+d3
+6f
+e2
+44
+57
+1f
+f2
+7e
+00
+1f
+eb
+fe
+00
+67
+e2
+4a
+db
+68
+42
+43
+41
+18
+40
+fe
+06
+67
+e2
+4a
+dc
+6f
+ec
+44
+72
+67
+ec
+4a
+dd
+18
+42
+72
+00
+d8
+c0
+43
+42
+20
+40
+7c
+cf
+20
+20
+58
+de
+6f
+e2
+4b
+ed
+24
+3a
+58
+f7
+d8
+40
+00
+04
+6f
+e2
+44
+57
+7d
+3a
+04
+06
+60
+42
+4a
+db
+68
+42
+43
+61
+18
+40
+fe
+06
+67
+e2
+4a
+dc
+6f
+ec
+44
+72
+67
+ec
+4a
+dd
+d8
+c0
+43
+62
+18
+42
+72
+00
+20
+40
+7c
+cf
+20
+40
+58
+a1
+20
+20
+5a
+e2
+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
+02
+58
+6f
+e2
+04
+3b
+c3
+02
+02
+58
+20
+40
+73
+42
+20
+40
+72
+b2
+7d
+3a
+00
+0f
+24
+7a
+00
+00
+68
+42
+04
+52
+79
+40
+04
+02
+60
+42
+04
+52
+6f
+e2
+4b
+ed
+24
+7a
+00
+00
+20
+20
+02
+5e
+6f
+e2
+02
+d6
+20
+7a
+00
+00
+6f
+e2
+02
+d5
+2f
+e0
+06
+01
+20
+20
+82
+86
+2f
+e0
+06
+02
+20
+20
+82
+66
+20
+60
+00
+00
+6f
+e4
+02
+d9
+c1
+82
+00
+00
+ef
+e6
+00
+06
+67
+e6
+04
+73
+79
+20
+00
+0f
+c0
+09
+02
+7a
+c0
+29
+02
+7c
+c0
+0b
+02
+73
+c0
+0c
+5e
+3b
+c0
+01
+03
+77
+c0
+0f
+03
+73
+79
+3f
+80
+0f
+20
+60
+00
+00
+58
+00
+0b
+1e
+67
+e4
+4a
+d5
+20
+40
+02
+7f
+1f
+20
+f3
+fe
+da
+20
+02
+e0
+20
+40
+5a
+be
+20
+20
+02
+9f
+20
+40
+02
+7c
+20
+20
+02
+96
+20
+40
+02
+7f
+da
+20
+02
+de
+20
+20
+5a
+be
+6f
+e2
+02
+d6
+1f
+e0
+f3
+f9
+1f
+e0
+ff
+fc
+67
+e4
+4a
+d1
+e8
+44
+00
+06
+60
+44
+4a
+d3
+20
+60
+00
+00
+79
+20
+00
+0f
+20
+40
+02
+8e
+6f
+e2
+04
+73
+c0
+09
+02
+96
+c0
+0b
+02
+95
+c1
+29
+00
+00
+79
+3f
+80
+0f
+20
+60
+00
+00
+6f
+e2
+02
+d6
+68
+44
+4a
+d1
+98
+40
+84
+00
+60
+44
+4a
+d1
+1f
+e2
+72
+00
+da
+20
+02
+d7
+20
+20
+5a
+be
+20
+20
+02
+9f
+20
+40
+02
+99
+24
+74
+00
+00
+20
+20
+04
+75
+20
+40
+7d
+c1
+6f
+e4
+4a
+d3
+68
+44
+4a
+d1
+98
+46
+7c
+00
+24
+62
+80
+00
+20
+20
+7d
+bf
+6f
+e4
+4a
+d5
+1f
+e2
+0a
+00
+6f
+e2
+02
+d6
+1f
+e2
+72
+00
+20
+40
+7c
+dc
+18
+a2
+7e
+00
+67
+e4
+4a
+d5
+20
+40
+02
+99
+24
+74
+00
+00
+d8
+e0
+00
+03
+20
+40
+50
+e6
+20
+20
+02
+ab
+20
+40
+5c
+74
+24
+7a
+00
+00
+70
+0b
+22
+17
+58
+00
+0b
+1e
+67
+e4
+4a
+d7
+68
+44
+0b
+1e
+18
+40
+84
+04
+58
+00
+00
+f9
+20
+40
+7d
+b5
+1f
+e0
+a5
+fc
+18
+00
+02
+02
+1f
+e2
+22
+00
+20
+40
+5c
+32
+6f
+e4
+4a
+d7
+1f
+e2
+0c
+00
+1a
+22
+72
+00
+20
+40
+7c
+cf
+18
+c2
+7e
+00
+67
+e4
+4a
+d7
+6f
+e4
+0b
+1e
+9a
+46
+7e
+00
+67
+e4
+0b
+1e
+20
+3a
+02
+c7
+d8
+40
+00
+f9
+20
+40
+7d
+b5
+1f
+e2
+24
+00
+18
+00
+02
+01
+20
+20
+02
+b6
+58
+00
+00
+00
+67
+e4
+4a
+d5
+d8
+e0
+00
+03
+20
+20
+50
+e2
+6f
+e2
+4b
+ed
+24
+3a
+59
+9b
+68
+42
+04
+52
+28
+4c
+00
+05
+20
+60
+80
+00
+6f
+e2
+02
+d5
+1f
+e3
+fe
+00
+98
+42
+fe
+00
+c4
+01
+80
+00
+79
+3f
+84
+05
+79
+40
+04
+03
+60
+42
+04
+52
+28
+40
+06
+03
+24
+60
+80
+00
+6f
+e2
+4a
+dd
+c0
+02
+d9
+ac
+6f
+e2
+44
+97
+c0
+01
+59
+b0
+20
+60
+00
+00
+6f
+e2
+4b
+ed
+24
+3a
+59
+f9
+6f
+e2
+04
+52
+c3
+82
+80
+00
+20
+40
+5a
+1c
+20
+40
+5c
+53
+20
+3a
+5a
+3e
+ef
+e2
+00
+06
+e8
+42
+00
+06
+18
+42
+22
+00
+9a
+26
+7e
+00
+20
+40
+03
+03
+20
+40
+7d
+b5
+1f
+e2
+04
+00
+ef
+e2
+00
+06
+1f
+e2
+02
+00
+1a
+22
+7e
+00
+98
+c0
+8c
+00
+d8
+a0
+4a
+dd
+18
+42
+72
+00
+20
+40
+7c
+cf
+20
+40
+5a
+2e
+20
+40
+5a
+40
+20
+40
+5c
+53
+ef
+e2
+00
+06
+1f
+e2
+22
+00
+18
+c2
+26
+00
+e8
+42
+00
+06
+18
+42
+24
+00
+9a
+46
+7e
+00
+20
+40
+03
+03
+20
+40
+7d
+b5
+9a
+40
+fe
+00
+e7
+e2
+00
+13
+9a
+26
+7c
+00
+24
+62
+80
+00
+20
+20
+5c
+76
+18
+c2
+0a
+00
+68
+44
+4a
+d9
+18
+a2
+0c
+00
+20
+60
+00
+00
+6f
+e2
+4b
+ed
+24
+3a
+5a
+41
+60
+42
+4a
+dc
+68
+42
+04
+52
+79
+20
+04
+05
+18
+41
+7e
+fc
+98
+21
+fe
+00
+67
+e2
+04
+52
+1f
+e1
+7e
+1f
+28
+0f
+fe
+29
+79
+20
+fe
+04
+67
+e2
+4a
+db
+6f
+e2
+4a
+db
+28
+20
+06
+01
+24
+20
+83
+18
+6f
+e2
+4a
+dc
+20
+7a
+00
+00
+6f
+e2
+04
+3b
+c4
+02
+00
+00
+20
+40
+73
+42
+20
+20
+72
+99
+6f
+e2
+4b
+ed
+24
+3a
+72
+9a
+da
+60
+4a
+db
+68
+4a
+43
+d5
+20
+40
+72
+77
+18
+00
+70
+08
+98
+00
+5e
+00
+18
+00
+22
+00
+20
+40
+72
+63
+20
+40
+72
+e8
+da
+60
+4a
+dd
+6f
+e2
+4a
+dc
+1f
+e0
+a5
+ff
+9a
+60
+8a
+00
+18
+00
+70
+0c
+1d
+e2
+7e
+00
+e7
+e8
+00
+05
+20
+40
+72
+8e
+6f
+e2
+4a
+dc
+1f
+e0
+fe
+04
+67
+e2
+4a
+dc
+68
+4a
+43
+d5
+18
+40
+84
+01
+60
+4a
+43
+d5
+20
+60
+00
+00
+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
+83
+47
+20
+40
+5a
+76
+d8
+e0
+00
+03
+24
+34
+4b
+ec
+20
+40
+4b
+f0
+20
+20
+5a
+6b
+6f
+e2
+4b
+ed
+24
+3a
+60
+44
+6f
+e2
+02
+d7
+c0
+04
+03
+4d
+c0
+0a
+03
+5a
+20
+20
+60
+45
+da
+20
+00
+09
+da
+40
+00
+09
+20
+40
+5c
+22
+58
+00
+00
+21
+e7
+f0
+00
+05
+20
+40
+03
+54
+20
+60
+00
+00
+6f
+e2
+02
+d8
+1f
+e1
+7e
+20
+20
+3a
+03
+58
+20
+60
+00
+00
+70
+4b
+ed
+01
+20
+60
+00
+00
+ef
+e4
+00
+06
+67
+e4
+4a
+d9
+20
+20
+03
+5d
+da
+20
+00
+09
+da
+40
+00
+15
+20
+40
+5c
+22
+58
+00
+00
+fb
+e7
+e4
+00
+05
+58
+00
+08
+48
+e7
+e4
+00
+05
+58
+00
+00
+fb
+e7
+e4
+00
+05
+58
+00
+08
+48
+e7
+e4
+00
+05
+20
+60
+00
+00
+ef
+e4
+00
+06
+c0
+02
+03
+6e
+c0
+03
+5e
+d4
+c0
+02
+de
+96
+20
+60
+00
+00
+ef
+e6
+00
+06
+67
+e6
+04
+73
+c0
+05
+04
+66
+c0
+09
+04
+71
+20
+20
+5c
+8d
+d8
+e0
+00
+07
+20
+20
+50
+e2
+d8
+e0
+00
+07
+20
+20
+50
+e6
+20
+40
+5c
+a9
+67
+e4
+44
+78
+20
+20
+5c
+a2
+20
+40
+5b
+86
+da
+60
+43
+81
+da
+20
+43
+62
+20
+20
+5b
+a5
+6f
+e2
+4b
+ed
+24
+3a
+5b
+d5
+78
+55
+fc
+00
+20
+37
+03
+83
+24
+36
+db
+e6
+20
+40
+4b
+a0
+6f
+e4
+40
+c1
+67
+e4
+04
+49
+24
+36
+cb
+b3
+c5
+07
+cb
+b3
+6f
+e2
+44
+dd
+24
+3a
+4b
+b3
+6f
+e2
+4a
+dc
+24
+3a
+4b
+b3
+6f
+e2
+44
+bb
+c2
+82
+cb
+b3
+6f
+e2
+04
+3b
+c2
+82
+cb
+b3
+20
+20
+4b
+95
+6f
+e2
+00
+7d
+c0
+08
+03
+95
+c0
+0b
+83
+9b
+20
+20
+60
+fe
+68
+42
+05
+4e
+18
+46
+7c
+06
+20
+21
+03
+99
+20
+20
+62
+06
+70
+00
+7e
+24
+20
+20
+61
+34
+20
+20
+62
+b8
+78
+54
+7c
+00
+20
+40
+66
+a3
+6f
+e2
+00
+48
+20
+7a
+00
+00
+c2
+83
+83
+a2
+20
+20
+63
+f2
+c0
+42
+03
+a5
+c0
+41
+83
+a8
+20
+20
+64
+21
+20
+40
+03
+ab
+6f
+e2
+00
+48
+20
+20
+64
+7b
+20
+40
+03
+ab
+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
+19
+42
+7e
+00
+67
+e4
+4f
+f6
+70
+40
+91
+00
+20
+40
+00
+40
+6f
+e2
+80
+43
+c3
+83
+80
+00
+79
+20
+7e
+07
+67
+e2
+80
+43
+20
+60
+00
+00
+6f
+e2
+04
+f9
+c0
+77
+83
+c0
+20
+20
+69
+57
+6f
+e4
+04
+fd
+1f
+e2
+0c
+00
+20
+40
+69
+84
+6f
+e2
+04
+ff
+c0
+38
+03
+c6
+20
+20
+69
+60
+70
+0a
+95
+08
+20
+40
+7b
+ab
+20
+40
+69
+72
+20
+20
+69
+ba
+6f
+e2
+04
+f9
+c0
+77
+83
+cd
+20
+20
+6a
+15
+6f
+e4
+04
+fd
+1f
+e2
+0c
+00
+20
+40
+69
+84
+6f
+e2
+04
+ff
+c0
+38
+03
+d3
+20
+20
+6a
+1d
+70
+0a
+95
+08
+20
+40
+7b
+ab
+20
+40
+69
+72
+20
+20
+6a
+43
+6f
+e2
+44
+90
+20
+3a
+5e
+d0
+20
+40
+74
+38
+20
+20
+79
+32
+20
+40
+42
+5a
+24
+22
+83
+e3
+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
+03
+e5
+20
+20
+40
+2c
+df
+20
+00
+02
+68
+42
+00
+15
+18
+40
+84
+01
+28
+41
+fe
+02
+24
+20
+83
+eb
+d8
+40
+00
+00
+60
+42
+00
+15
+18
+4f
+fe
+50
+da
+20
+4b
+f8
+9a
+20
+a2
+00
+ef
+e2
+00
+11
+c2
+80
+83
+f3
+c3
+80
+00
+00
+c3
+81
+80
+00
+c2
+00
+03
+e7
+20
+60
+00
+00
+da
+60
+03
+f7
+20
+20
+42
+39
+c2
+80
+42
+62
+18
+00
+7c
+00
+20
+60
+00
+00
+da
+20
+4b
+f8
+df
+20
+00
+02
+20
+20
+42
+60
+6f
+e2
+00
+30
+79
+3f
+fe
+03
+67
+e2
+00
+30
+70
+46
+51
+00
+20
+20
+43
+c5
+78
+48
+7c
+00
+18
+42
+36
+00
+20
+40
+04
+0a
+78
+54
+7c
+00
+24
+62
+80
+00
+18
+00
+36
+00
+78
+34
+7c
+00
+20
+60
+00
+00
+da
+60
+04
+0c
+20
+20
+42
+5d
+1f
+e2
+04
+00
+1a
+20
+8c
+01
+ef
+e2
+00
+06
+1a
+22
+0c
+00
+c2
+80
+42
+62
+18
+42
+7e
+00
+20
+20
+42
+c2
+58
+00
+00
+00
+1c
+e2
+7c
+00
+20
+22
+84
+1d
+6f
+e2
+81
+24
+68
+42
+81
+25
+98
+46
+7c
+00
+20
+21
+04
+1b
+18
+42
+7e
+00
+9c
+e6
+7e
+00
+1f
+e0
+fe
+01
+1f
+e0
+fe
+08
+37
+d9
+82
+00
+9e
+20
+fe
+00
+68
+48
+41
+5c
+98
+40
+fe
+00
+68
+46
+41
+70
+98
+4f
+fe
+00
+1f
+ec
+fe
+00
+1f
+f1
+fe
+00
+1f
+e0
+fe
+6e
+d8
+40
+0e
+a6
+98
+46
+fc
+00
+20
+40
+7d
+61
+18
+07
+fe
+00
+1f
+f0
+7e
+00
+18
+07
+04
+00
+98
+41
+fe
+00
+68
+4c
+41
+64
+20
+40
+7d
+07
+18
+42
+32
+00
+6f
+ec
+4c
+00
+20
+40
+48
+50
+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
+46
+2c
+20
+3a
+04
+3d
+6f
+e2
+45
+83
+20
+7a
+00
+00
+6f
+e2
+44
+92
+24
+7a
+00
+00
+20
+40
+4b
+f4
+24
+7a
+00
+00
+6f
+e2
+4b
+f8
+2f
+e0
+0e
+03
+24
+20
+cb
+72
+6f
+e4
+4b
+fa
+20
+7a
+00
+00
+20
+75
+80
+00
+68
+42
+00
+a0
+6f
+e4
+4b
+fa
+98
+4f
+fe
+00
+18
+51
+84
+00
+18
+4b
+04
+00
+98
+46
+7e
+00
+68
+48
+4b
+fc
+98
+40
+fe
+00
+68
+42
+41
+56
+98
+46
+7e
+00
+1f
+f0
+60
+00
+6f
+e4
+4c
+06
+1f
+e3
+7e
+00
+20
+40
+7d
+2b
+1e
+02
+7e
+00
+20
+40
+7d
+14
+1b
+42
+04
+00
+20
+40
+00
+68
+20
+74
+00
+00
+20
+20
+4b
+68
+6f
+e2
+4b
+f8
+20
+20
+4b
+74
+20
+40
+7d
+c1
+6f
+e2
+44
+98
+c1
+00
+00
+00
+6f
+e2
+4b
+f8
+c3
+82
+00
+00
+20
+20
+7d
+bf
+6f
+e2
+46
+79
+c2
+81
+04
+5d
+20
+20
+7d
+c1
+68
+44
+04
+74
+6f
+e2
+44
+bb
+c2
+81
+84
+6a
+20
+20
+5d
+9f
+6f
+e4
+44
+cc
+98
+46
+7c
+00
+24
+22
+dd
+9f
+20
+40
+04
+5d
+24
+34
+5d
+9f
+70
+04
+76
+05
+20
+20
+5e
+57
+18
+c2
+22
+00
+6f
+e4
+44
+ce
+1f
+e0
+a5
+fd
+20
+40
+5a
+be
+6f
+e2
+44
+bb
+c3
+02
+5e
+1d
+68
+44
+04
+74
+6f
+e4
+44
+cc
+98
+46
+7c
+00
+24
+22
+de
+1d
+20
+40
+04
+5d
+24
+34
+5e
+1d
+70
+04
+76
+05
+20
+20
+5e
+57
+20
+40
+41
+c5
+24
+74
+00
+00
+78
+54
+7c
+00
+70
+00
+11
+20
+79
+3f
+80
+0b
+79
+3f
+80
+2c
+20
+40
+4a
+4e
+20
+40
+42
+e2
+c5
+05
+84
+8c
+20
+40
+44
+51
+24
+3a
+04
+85
+c5
+16
+04
+95
+20
+20
+41
+e8
+20
+40
+4a
+4c
+d8
+20
+00
+10
+20
+40
+42
+d8
+79
+20
+00
+2c
+79
+3f
+80
+0b
+6f
+e2
+00
+77
+98
+00
+08
+00
+70
+00
+11
+02
+20
+20
+04
+85
+6f
+e8
+01
+63
+1f
+e0
+fe
+08
+67
+e8
+01
+63
+20
+20
+41
+f4
+20
+40
+51
+4a
+70
+02
+81
+17
+20
+60
+00
+00
+20
+40
+04
+f3
+20
+20
+6b
+6e
+58
+00
+15
+ef
+e7
+e4
+00
+05
+58
+00
+11
+83
+e7
+e4
+00
+05
+18
+42
+7e
+00
+e7
+e2
+00
+05
+58
+00
+00
+f0
+e7
+e6
+00
+05
+6f
+e4
+45
+3e
+e7
+e4
+00
+05
+58
+00
+00
+00
+e7
+e2
+00
+05
+6f
+e2
+45
+40
+e7
+e2
+00
+05
+20
+40
+68
+f0
+e7
+e2
+00
+05
+70
+45
+3b
+10
+20
+60
+00
+00
+6f
+e2
+46
+51
+c0
+00
+69
+4f
+6f
+e4
+02
+60
+1f
+e2
+0c
+00
+20
+40
+69
+79
+6f
+e2
+04
+f8
+c0
+00
+6a
+13
+20
+20
+04
+b8
+6f
+e2
+04
+f9
+c0
+77
+84
+ca
+c0
+7f
+84
+c2
+c0
+29
+84
+bd
+20
+20
+6a
+4e
+20
+20
+6a
+05
+6f
+e2
+04
+f9
+c0
+77
+84
+ca
+c0
+7f
+84
+c2
+20
+20
+69
+dc
+6f
+e4
+04
+fd
+1f
+e2
+0c
+00
+1f
+e0
+fe
+01
+67
+e4
+04
+fd
+ef
+e2
+00
+06
+68
+42
+45
+3a
+98
+40
+fe
+00
+67
+e2
+45
+3a
+20
+40
+6b
+01
+6f
+e4
+04
+fd
+67
+e4
+4c
+ae
+68
+e2
+04
+fb
+20
+20
+04
+cf
+18
+e2
+7e
+00
+20
+62
+80
+00
+68
+44
+4c
+ae
+18
+42
+0c
+00
+20
+40
+04
+dd
+24
+74
+00
+00
+18
+c2
+7e
+00
+67
+e4
+4c
+b0
+20
+40
+04
+dd
+24
+74
+00
+00
+18
+c2
+7e
+00
+67
+e4
+4c
+ae
+20
+40
+05
+6f
+20
+20
+04
+cf
+78
+54
+7c
+00
+18
+e2
+7e
+00
+1f
+e0
+ff
+fe
+24
+61
+00
+00
+18
+e0
+8f
+ff
+ef
+e2
+00
+06
+c0
+86
+84
+de
+18
+e0
+8f
+ff
+ef
+e2
+00
+06
+c0
+85
+04
+de
+78
+34
+7c
+00
+20
+60
+00
+00
+70
+4c
+98
+00
+70
+4c
+99
+00
+70
+4c
+9a
+00
+70
+4c
+ad
+0a
+70
+4c
+ab
+0a
+70
+4c
+ba
+00
+58
+00
+4c
+ab
+d8
+a0
+4c
+98
+98
+a6
+72
+00
+20
+20
+7c
+af
+20
+40
+56
+4e
+24
+7a
+00
+00
+6f
+e2
+4c
+98
+c0
+05
+05
+24
+c1
+05
+80
+00
+c0
+06
+05
+2f
+c1
+06
+80
+00
+c0
+07
+05
+3a
+c1
+07
+80
+00
+c0
+00
+05
+08
+c0
+00
+85
+15
+c1
+01
+00
+00
+c0
+01
+85
+45
+c1
+02
+00
+00
+c0
+02
+85
+50
+c1
+03
+00
+00
+c0
+03
+85
+59
+c1
+04
+00
+00
+c0
+04
+85
+07
+20
+60
+00
+00
+20
+60
+00
+00
+6f
+e2
+42
+26
+c0
+77
+85
+0c
+c0
+7f
+85
+0c
+20
+60
+00
+00
+70
+4c
+98
+01
+20
+60
+00
+00
+67
+e4
+46
+6a
+58
+00
+4c
+d5
+67
+e4
+4c
+b2
+1f
+e2
+0a
+00
+58
+2b
+54
+41
+e7
+e6
+00
+05
+20
+60
+00
+00
+6f
+e2
+45
+3a
+20
+7a
+00
+00
+20
+40
+07
+4b
+70
+4c
+98
+02
+58
+00
+00
+0a
+20
+40
+05
+0e
+58
+53
+52
+42
+e7
+e6
+00
+05
+58
+00
+3d
+46
+e7
+e4
+00
+05
+6f
+e2
+4c
+b4
+e7
+e2
+00
+05
+58
+00
+00
+0d
+e7
+e2
+00
+05
+20
+20
+07
+4d
+20
+40
+07
+4b
+70
+4c
+98
+0b
+58
+00
+00
+0a
+20
+40
+05
+0e
+58
+00
+48
+43
+e7
+e4
+00
+05
+58
+3d
+44
+4c
+e7
+e6
+00
+05
+58
+00
+0d
+3f
+e7
+e4
+00
+05
+20
+20
+07
+4d
+20
+40
+07
+4b
+70
+4c
+98
+0d
+58
+00
+00
+0a
+20
+40
+05
+0e
+58
+00
+4c
+43
+e7
+e4
+00
+05
+58
+3d
+50
+49
+e7
+e6
+00
+05
+58
+00
+0d
+31
+e7
+e4
+00
+05
+20
+20
+07
+4d
+20
+40
+07
+4b
+70
+4c
+98
+0f
+58
+00
+00
+0a
+20
+40
+05
+0e
+58
+00
+43
+43
+e7
+e4
+00
+05
+58
+3d
+41
+57
+e7
+e6
+00
+05
+58
+00
+0d
+31
+e7
+e4
+00
+05
+20
+20
+07
+4d
+20
+40
+07
+4b
+70
+4c
+98
+04
+58
+00
+00
+0a
+20
+40
+05
+0e
+58
+4e
+49
+43
+e7
+e6
+00
+05
+58
+3f
+3d
+44
+e7
+e6
+00
+05
+58
+00
+00
+0d
+e7
+e2
+00
+05
+20
+20
+07
+4d
+20
+40
+07
+4b
+70
+4c
+98
+06
+58
+00
+00
+09
+20
+40
+05
+0e
+58
+4e
+49
+43
+e7
+e6
+00
+05
+58
+0d
+3f
+44
+e7
+e6
+00
+05
+20
+20
+07
+4d
+20
+40
+07
+4b
+70
+4c
+98
+08
+58
+00
+00
+10
+20
+40
+05
+0e
+58
+45
+4d
+43
+e7
+e6
+00
+05
+58
+33
+3d
+52
+e7
+e6
+00
+05
+58
+2c
+30
+2c
+e7
+e6
+00
+05
+58
+31
+2c
+30
+e7
+e6
+00
+05
+58
+00
+00
+0d
+e7
+e2
+00
+05
+20
+20
+07
+4d
+58
+00
+00
+08
+20
+40
+05
+0e
+58
+43
+4c
+43
+e7
+e6
+00
+05
+58
+00
+0d
+43
+e7
+e4
+00
+05
+20
+20
+07
+4d
+78
+54
+7c
+00
+20
+40
+05
+8b
+20
+74
+00
+00
+20
+40
+05
+b5
+20
+74
+00
+00
+60
+e4
+0a
+9e
+20
+40
+07
+4b
+68
+e4
+0a
+9e
+20
+40
+06
+c8
+20
+74
+00
+00
+20
+40
+05
+cf
+20
+74
+00
+00
+20
+40
+05
+c3
+20
+74
+00
+00
+20
+40
+06
+35
+20
+74
+00
+00
+20
+40
+06
+d8
+20
+74
+00
+00
+20
+40
+06
+e6
+20
+74
+00
+00
+20
+40
+07
+07
+20
+74
+00
+00
+20
+40
+06
+f9
+20
+74
+00
+00
+20
+40
+07
+26
+20
+74
+00
+00
+6f
+e4
+4c
+b8
+20
+20
+7d
+77
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+a7
+80
+00
+ef
+e2
+00
+06
+c1
+a5
+80
+00
+78
+34
+7c
+00
+20
+40
+05
+9c
+6f
+e2
+4c
+98
+c0
+04
+05
+ac
+c0
+05
+85
+ae
+c0
+06
+85
+b0
+c0
+07
+85
+b2
+c0
+01
+05
+a6
+c0
+02
+05
+a8
+c0
+03
+05
+aa
+20
+60
+00
+00
+6f
+e2
+4c
+9a
+c0
+00
+85
+a2
+c0
+01
+05
+a2
+c0
+01
+85
+a4
+c0
+02
+05
+a2
+20
+60
+00
+00
+70
+4c
+9a
+00
+20
+60
+00
+00
+70
+4c
+9a
+00
+20
+60
+00
+00
+70
+4c
+98
+03
+20
+60
+00
+00
+70
+4c
+98
+05
+20
+60
+00
+00
+70
+4c
+98
+07
+20
+60
+00
+00
+70
+4c
+98
+0a
+20
+60
+00
+00
+70
+4c
+98
+0c
+20
+60
+00
+00
+70
+4c
+98
+0e
+20
+60
+00
+00
+70
+4c
+98
+09
+70
+0a
+95
+60
+20
+20
+7b
+ab
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+a2
+80
+00
+ef
+e2
+00
+06
+c1
+a9
+00
+00
+ef
+e2
+00
+06
+c1
+a9
+00
+00
+ef
+e2
+00
+06
+c1
+a7
+80
+00
+ef
+e2
+00
+06
+c1
+a9
+00
+00
+78
+34
+7c
+00
+20
+20
+05
+9c
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+a9
+00
+00
+ef
+e2
+00
+06
+c1
+a4
+80
+00
+ef
+e2
+00
+06
+c1
+a7
+00
+00
+ef
+e2
+00
+06
+c1
+a3
+80
+00
+78
+34
+7c
+00
+20
+60
+00
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+a4
+80
+00
+ef
+e2
+00
+06
+c1
+a2
+80
+00
+ef
+e2
+00
+06
+c1
+ab
+00
+00
+78
+34
+7c
+00
+20
+40
+07
+37
+1a
+20
+a2
+02
+58
+00
+4c
+9d
+98
+40
+84
+00
+18
+40
+85
+ff
+ef
+e2
+00
+02
+d8
+40
+4c
+a4
+98
+40
+fe
+00
+67
+e4
+4c
+b0
+1a
+22
+0c
+00
+20
+40
+07
+47
+20
+40
+07
+37
+6f
+e4
+4c
+b0
+e0
+42
+00
+3f
+58
+00
+00
+01
+20
+40
+05
+ef
+c0
+00
+05
+f3
+c0
+00
+86
+15
+20
+60
+00
+00
+d8
+c0
+4c
+a4
+98
+c0
+8c
+00
+ef
+e2
+00
+06
+20
+60
+00
+00
+58
+00
+00
+02
+20
+40
+05
+ef
+c0
+00
+86
+01
+c0
+01
+06
+11
+c0
+01
+86
+11
+6f
+e2
+4c
+99
+c1
+00
+00
+00
+70
+4c
+99
+00
+6f
+e2
+4c
+ba
+1f
+e6
+7c
+01
+20
+42
+85
+ff
+20
+20
+06
+2f
+70
+0a
+95
+58
+20
+20
+7b
+ab
+20
+40
+05
+68
+6f
+e2
+4c
+99
+c1
+00
+80
+00
+70
+4c
+99
+01
+70
+0a
+95
+5a
+20
+20
+7b
+ab
+70
+0a
+95
+5b
+20
+20
+7b
+ab
+70
+0a
+95
+5c
+20
+20
+7b
+ab
+70
+0a
+95
+5d
+20
+20
+7b
+ab
+70
+0a
+95
+5e
+20
+20
+7b
+ab
+70
+0a
+95
+5f
+20
+20
+7b
+ab
+6f
+e2
+4c
+99
+c1
+01
+00
+00
+70
+4c
+99
+02
+20
+20
+06
+07
+58
+00
+00
+03
+20
+40
+05
+ef
+c0
+00
+06
+24
+6f
+e2
+4c
+99
+c1
+03
+00
+00
+70
+4c
+99
+06
+20
+20
+06
+0f
+6f
+e2
+4c
+99
+c1
+02
+00
+00
+70
+4c
+99
+04
+20
+20
+06
+0b
+6f
+e2
+4c
+99
+c1
+02
+80
+00
+70
+4c
+99
+05
+20
+20
+06
+0d
+58
+00
+00
+02
+20
+40
+05
+ef
+c0
+00
+86
+1c
+c0
+01
+06
+20
+c0
+01
+86
+20
+6f
+e2
+4c
+99
+c1
+01
+80
+00
+70
+4c
+99
+03
+20
+40
+06
+09
+70
+4c
+ba
+02
+20
+60
+00
+00
+70
+4c
+ba
+00
+20
+60
+00
+00
+70
+0a
+95
+59
+20
+40
+7b
+ab
+70
+4c
+ba
+01
+20
+60
+00
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+a4
+80
+00
+ef
+e2
+00
+06
+c1
+a7
+00
+00
+ef
+e2
+00
+06
+c1
+a2
+00
+00
+78
+34
+7c
+00
+18
+c0
+8c
+02
+ef
+e2
+00
+06
+c0
+14
+06
+61
+20
+20
+06
+46
+18
+00
+72
+07
+60
+c4
+4c
+b0
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+20
+40
+07
+37
+1a
+20
+a2
+02
+1a
+22
+0c
+00
+20
+40
+07
+47
+18
+c2
+7e
+00
+67
+e4
+4c
+b0
+18
+42
+22
+00
+1f
+22
+04
+00
+18
+46
+04
+07
+20
+40
+06
+5a
+d8
+40
+4c
+a4
+98
+40
+84
+00
+1a
+22
+7e
+00
+e7
+e2
+00
+02
+c2
+00
+06
+48
+20
+20
+05
+ea
+58
+00
+4c
+9d
+98
+40
+84
+00
+ef
+e2
+00
+02
+20
+60
+00
+00
+ef
+e2
+00
+06
+c1
+11
+00
+00
+20
+20
+06
+5e
+18
+00
+72
+07
+20
+40
+06
+5e
+60
+c4
+4c
+b0
+20
+40
+06
+70
+20
+36
+06
+6d
+20
+40
+06
+8e
+20
+36
+06
+6d
+20
+40
+06
+ba
+20
+36
+06
+6d
+20
+40
+06
+ac
+20
+36
+06
+6d
+20
+40
+06
+7e
+20
+40
+06
+5e
+c2
+00
+06
+62
+20
+60
+00
+00
+78
+56
+7c
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+b9
+80
+00
+ef
+e2
+00
+06
+c1
+b2
+80
+00
+ef
+e2
+00
+06
+c1
+b9
+00
+00
+ef
+e2
+00
+06
+c1
+bb
+00
+00
+78
+36
+7c
+00
+18
+00
+22
+00
+20
+20
+06
+a5
+78
+56
+7c
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+b1
+00
+00
+ef
+e2
+00
+06
+c1
+b0
+80
+00
+ef
+e2
+00
+06
+c1
+ba
+00
+00
+ef
+e2
+00
+06
+c1
+ba
+00
+00
+ef
+e2
+00
+06
+c1
+b1
+80
+00
+78
+36
+7c
+00
+18
+00
+22
+06
+20
+20
+06
+a5
+78
+56
+7c
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+b1
+80
+00
+ef
+e2
+00
+06
+c1
+b0
+80
+00
+ef
+e2
+00
+06
+c1
+b6
+00
+00
+ef
+e2
+00
+06
+c1
+b6
+00
+00
+ef
+e2
+00
+06
+78
+36
+7c
+00
+c0
+34
+06
+a4
+c0
+11
+06
+a1
+c0
+39
+86
+9f
+20
+60
+00
+00
+18
+00
+22
+02
+20
+20
+06
+a5
+18
+c0
+8d
+ff
+18
+00
+22
+01
+20
+20
+06
+a5
+18
+00
+22
+03
+1f
+22
+7e
+00
+1f
+e6
+7e
+07
+d8
+40
+4c
+9d
+98
+40
+84
+00
+1a
+22
+7e
+00
+e7
+e2
+00
+02
+20
+60
+00
+00
+78
+56
+7c
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+b9
+00
+00
+ef
+e2
+00
+06
+c1
+b7
+80
+00
+ef
+e2
+00
+06
+c1
+b0
+80
+00
+ef
+e2
+00
+06
+c1
+b6
+80
+00
+78
+36
+7c
+00
+18
+00
+22
+05
+20
+20
+06
+a5
+78
+56
+7c
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+b9
+80
+00
+ef
+e2
+00
+06
+c1
+b4
+80
+00
+ef
+e2
+00
+06
+c1
+b3
+80
+00
+ef
+e2
+00
+06
+c1
+b7
+00
+00
+78
+36
+7c
+00
+18
+00
+22
+04
+20
+20
+06
+a5
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+00
+00
+ef
+e2
+00
+06
+c1
+a9
+00
+00
+ef
+e2
+00
+06
+c1
+a9
+80
+00
+ef
+e2
+00
+06
+c1
+a3
+00
+00
+78
+34
+7c
+00
+20
+40
+07
+37
+60
+44
+4c
+9b
+20
+60
+00
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+a4
+00
+00
+ef
+e2
+00
+06
+c1
+a6
+00
+00
+ef
+e2
+00
+06
+c1
+a2
+00
+00
+78
+34
+7c
+00
+20
+60
+00
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+ab
+00
+00
+ef
+e2
+00
+06
+c1
+a3
+80
+00
+ef
+e2
+00
+06
+78
+34
+7c
+00
+c0
+26
+86
+f6
+c0
+29
+86
+f3
+20
+60
+00
+00
+20
+40
+07
+37
+60
+42
+4c
+ab
+20
+60
+00
+00
+20
+40
+07
+37
+60
+42
+4c
+ad
+20
+60
+00
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+ab
+80
+00
+ef
+e2
+00
+06
+c1
+a0
+80
+00
+78
+34
+7c
+00
+20
+20
+07
+18
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+a6
+00
+00
+ef
+e2
+00
+06
+c1
+a4
+80
+00
+ef
+e2
+00
+06
+c1
+a8
+00
+00
+78
+34
+7c
+00
+20
+40
+07
+18
+6f
+e2
+4c
+ba
+c1
+80
+00
+00
+20
+20
+06
+31
+ef
+e2
+00
+06
+c0
+91
+07
+18
+18
+00
+22
+00
+18
+00
+24
+30
+d8
+a0
+4c
+bc
+ef
+e2
+00
+06
+c0
+11
+07
+23
+1a
+20
+a2
+01
+9a
+46
+7e
+00
+e7
+e2
+00
+05
+20
+20
+07
+1d
+1a
+22
+7e
+00
+67
+e2
+4c
+bb
+20
+60
+00
+00
+6f
+e4
+4c
+b0
+1f
+e2
+0c
+00
+ef
+e2
+00
+06
+c1
+95
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+a6
+00
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+ef
+e2
+00
+06
+c1
+a1
+80
+00
+78
+34
+7c
+00
+20
+40
+07
+18
+6f
+e2
+4c
+ba
+c1
+80
+00
+00
+20
+20
+06
+31
+20
+40
+07
+47
+18
+c0
+8d
+fe
+18
+c2
+22
+00
+18
+00
+24
+01
+18
+00
+04
+00
+ef
+e2
+00
+11
+1a
+20
+a3
+ff
+c1
+1e
+80
+00
+c1
+1d
+00
+00
+c1
+16
+00
+00
+c0
+10
+07
+3c
+1f
+e0
+ff
+d0
+9a
+4f
+fe
+00
+98
+40
+84
+00
+1a
+4f
+a4
+0a
+20
+20
+07
+3c
+ef
+e2
+00
+06
+c1
+06
+80
+00
+c1
+16
+00
+00
+20
+20
+07
+47
+20
+40
+69
+33
+20
+20
+6a
+e9
+6f
+e2
+45
+3a
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+67
+e2
+45
+3a
+6f
+e2
+45
+37
+67
+e2
+05
+0b
+58
+00
+00
+ef
+67
+e2
+05
+0a
+20
+40
+69
+33
+6f
+e4
+46
+6a
+1f
+e0
+fe
+04
+1f
+e2
+22
+00
+20
+40
+07
+6e
+6f
+e2
+05
+09
+e7
+e2
+00
+05
+6f
+e2
+05
+0a
+e7
+e2
+00
+05
+20
+40
+07
+69
+6f
+e4
+46
+6a
+1f
+e2
+72
+00
+6f
+e4
+4c
+b2
+1f
+e2
+0c
+00
+20
+40
+7c
+dc
+6f
+e2
+05
+0b
+e7
+e2
+00
+05
+58
+00
+00
+00
+67
+e4
+46
+6a
+20
+60
+00
+00
+6f
+e4
+46
+6a
+1f
+e3
+fe
+00
+79
+20
+7e
+00
+e7
+e2
+00
+05
+20
+60
+00
+00
+20
+40
+56
+ac
+20
+40
+56
+ba
+1a
+22
+7e
+00
+e7
+e4
+00
+05
+6f
+e4
+42
+1c
+e7
+e4
+00
+05
+20
+60
+00
+00
+18
+c2
+04
+00
+df
+20
+00
+04
+d8
+a0
+05
+26
+20
+40
+7c
+a1
+18
+42
+0c
+00
+1a
+42
+7e
+00
+c0
+01
+87
+7e
+c0
+02
+87
+88
+20
+20
+6c
+e3
+ef
+e4
+00
+06
+ef
+e4
+00
+06
+1f
+f0
+fe
+00
+c0
+80
+ca
+8b
+ef
+e8
+00
+06
+67
+e8
+05
+20
+6f
+e2
+42
+22
+79
+20
+7e
+06
+67
+e2
+42
+22
+20
+60
+00
+00
+6f
+e2
+42
+22
+79
+20
+7e
+07
+67
+e2
+42
+22
+18
+42
+0c
+00
+ef
+e4
+00
+06
+20
+40
+6f
+c1
+67
+e2
+45
+36
+20
+60
+00
+00
+6f
+e2
+02
+83
+20
+7a
+00
+00
+c0
+02
+07
+98
+c0
+1e
+87
+9c
+c0
+1f
+07
+a1
+c0
+1f
+87
+a7
+c0
+20
+07
+aa
+20
+20
+6b
+bd
+6f
+e2
+42
+22
+c1
+9f
+80
+00
+70
+02
+83
+3d
+20
+20
+6b
+ba
+70
+02
+83
+3e
+da
+20
+00
+0d
+58
+00
+1f
+11
+67
+e4
+05
+4b
+20
+20
+07
+ae
+6f
+e2
+42
+22
+c4
+03
+00
+00
+6f
+e8
+05
+20
+20
+3a
+4d
+64
+70
+02
+83
+3f
+20
+20
+6b
+ba
+70
+02
+83
+40
+da
+20
+00
+13
+20
+20
+07
+c3
+6f
+e2
+42
+22
+c4
+03
+80
+00
+70
+02
+83
+3b
+20
+20
+6c
+3a
+20
+40
+07
+dc
+58
+00
+00
+02
+e7
+e2
+00
+05
+6f
+e4
+05
+1a
+1f
+f0
+fe
+00
+e7
+e4
+00
+05
+1a
+20
+a3
+fb
+1a
+30
+a2
+00
+1a
+22
+7e
+00
+e7
+e4
+00
+05
+58
+00
+03
+35
+e7
+e4
+00
+05
+58
+00
+00
+19
+e7
+e2
+00
+05
+6f
+e4
+05
+4b
+e7
+e4
+00
+05
+58
+00
+00
+08
+e7
+e4
+00
+05
+58
+00
+00
+00
+e7
+e2
+00
+05
+20
+60
+00
+00
+20
+40
+07
+dc
+58
+00
+00
+04
+e7
+e2
+00
+05
+6f
+e4
+05
+1a
+1f
+f0
+fe
+00
+e7
+e4
+00
+05
+1a
+20
+a3
+fb
+1a
+30
+a2
+00
+1a
+22
+7e
+00
+e7
+e4
+00
+05
+6f
+e8
+05
+20
+e7
+e8
+00
+05
+58
+00
+2c
+01
+e7
+e4
+00
+05
+58
+00
+05
+35
+e7
+e4
+00
+05
+58
+00
+00
+0a
+e7
+e2
+00
+05
+58
+00
+00
+00
+e7
+e4
+00
+05
+5f
+ff
+ff
+ff
+e7
+e4
+00
+05
+58
+00
+00
+00
+e7
+e2
+00
+05
+20
+60
+00
+00
+6f
+e4
+05
+1a
+1f
+e0
+fe
+01
+67
+e4
+05
+1a
+20
+40
+7c
+60
+20
+40
+56
+9f
+20
+40
+7c
+70
+20
+40
+56
+a8
+e2
+24
+00
+3f
+6f
+e4
+42
+1a
+e7
+e4
+00
+05
+20
+60
+00
+00
+68
+44
+40
+b7
+18
+00
+0e
+28
+20
+40
+47
+18
+20
+34
+41
+10
+20
+20
+40
+ec
+af
+6d
+aa
+55
+40
+00
+00
+40
+23
+00
+02
+00
+40
+51
+00
+08
+00
+00
+00
+00
+00
+80
+00
+00
+20
+02
+10
+00
+cc
+18
+00
+99
+00
+00
+00
+00
+00
+08
+00
+00
+e8
+09
+18
+d0
+02
+00
+05
+44
+02
+02
+36
+01
+08
+04
+00
+04
+00
+20
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+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
+04
+00
+3d
+45
+00
+c8
+00
+07
+aa
+55
+03
+00
+2d
+46
+03
+00
+04
+aa
+55
+01
+00
+2c
+46
+01
+aa
+55
+06
+00
+57
+46
+04
+30
+30
+30
+30
+30
+aa
+55
+01
+00
+54
+46
+48
+aa
+55
+06
+00
+a0
+40
+a7
+2a
+2a
+21
+10
+55
+aa
+55
+0d
+00
+e7
+44
+0c
+33
+31
+32
+31
+20
+62
+74
+20
+64
+65
+6d
+6f
+aa
+55
+03
+00
+e4
+41
+20
+00
+01
+aa
+55
+01
+00
+e8
+41
+00
+aa
+55
+01
+00
+2c
+45
+0a
+aa
+55
+03
+00
+aa
+40
+08
+04
+24
+aa
+55
+01
+00
+5b
+41
+00
+aa
+55
+08
+00
+98
+40
+ff
+fb
+8f
+f8
+8b
+85
+59
+83
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0a
+00
+49
+45
+04
+03
+00
+12
+00
+01
+01
+00
+1e
+11
+aa
+55
+01
+00
+5f
+45
+00
+aa
+55
+02
+00
+47
+45
+83
+46
+aa
+55
+86
+00
+83
+46
+03
+11
+1e
+00
+03
+01
+00
+00
+01
+00
+00
+36
+00
+37
+09
+00
+00
+0a
+00
+01
+00
+00
+09
+00
+01
+35
+06
+19
+11
+1e
+19
+12
+03
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+09
+35
+08
+35
+06
+19
+11
+1e
+09
+01
+05
+09
+03
+11
+09
+00
+1f
+03
+12
+00
+10
+02
+00
+01
+00
+01
+00
+02
+36
+00
+33
+09
+00
+00
+0a
+00
+01
+00
+02
+09
+00
+01
+35
+03
+19
+12
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+0e
+05
+09
+02
+02
+09
+12
+34
+09
+02
+03
+09
+01
+01
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+01
+aa
+55
+01
+00
+b4
+4c
+34
+aa
+55
+01
+00
+6e
+46
+05
+aa
+55
+04
+00
+75
+46
+2d
+00
+2f
+00
+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
+f0
+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
+0e
+00
+81
+43
+0d
+33
+31
+32
+31
+20
+62
+6c
+65
+20
+64
+65
+6d
+6f
+aa
+55
+04
+00
+41
+43
+1f
+02
+01
+02
+aa
+55
+10
+00
+61
+43
+1f
+0e
+09
+33
+31
+32
+31
+20
+62
+6c
+65
+20
+64
+65
+6d
+6f
+aa
+55
+02
+00
+8e
+44
+af
+47
+aa
+55
+cd
+00
+af
+47
+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
+01
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+00
+2a
+1e
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+02
+09
+00
+02
+01
+2a
+02
+00
+00
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+10
+00
+20
+00
+05
+00
+2c
+01
+0c
+00
+02
+00
+28
+10
+55
+e4
+05
+d2
+af
+9f
+a9
+8f
+e5
+4a
+7d
+fe
+43
+53
+53
+49
+0d
+00
+02
+03
+28
+01
+10
+0e
+00
+10
+16
+96
+24
+47
+c6
+23
+61
+ba
+d9
+4b
+4d
+1e
+43
+53
+53
+49
+01
+00
+0f
+00
+02
+02
+29
+02
+00
+00
+10
+00
+02
+03
+28
+01
+0c
+11
+00
+10
+b3
+9b
+72
+34
+be
+ec
+d4
+a8
+f4
+43
+41
+88
+43
+53
+53
+49
+01
+00
+00
+00
+aa
+55
+01
+00
+92
+40
+0a
+aa
+55
+03
+00
+14
+42
+25
+4a
+00
+aa
+55
+10
+00
+f0
+4f
+00
+1c
+ff
+1f
+00
+1c
+00
+1c
+00
+4d
+e0
+4f
+00
+4d
+00
+4d
+aa
+55
+02
+00
+68
+46
+00
+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
+cf
+4a
+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
+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
+02
+00
+b7
+40
+20
+00
+aa
+55
+02
+00
+b5
+40
+00
+00
+aa
+55
+02
+00
+b9
+40
+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
+de
+4b
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+07
+ff
+ff
+aa
+55
+02
+00
+c3
+40
+de
+4b
+55
+aa
+aa
+55
+3c
+d0
+e0
+71
Index: ebike/trunk/output/eeprom2hciimage_1021s.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/eeprom2hciimage_1021s.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/eeprom2hciimage_1021s.pl	(working copy)
@@ -0,0 +1,522 @@
+    @data = ();
+    $_DEBUG_ = 0;
+    $MAX_CODE_PACKET_LEN = 0xF0;
+    $MAX_MEM_PACKET_LEN = 0xF0;
+    $i = 0;
+    @mem_patch = ();
+    $mem_patch_len = 0;
+    
+    
+		##############################
+		####Get All Data##############
+		##############################
+    open(EEP,"eeprom.dat") or die $!;
+    while (<EEP>) {
+    	$data[$i ++] = hex();
+    	#printf "%x ",$data[$i-1]; #DEBUG;
+    }
+    close(EEP);
+   	if(int($_DEBUG_)){printf "DEBUG:debug code\n";}
+ 
+ 		##############################
+		#####Get Eeprom Type##########
+		##############################
+		$Type_Not_Encrypt_IS_8051 = 0;
+		$Type_Not_Encrypt_No_8051	= 1;
+		$Type_Encrpt_IS_8051			= 2;
+		$Type_Encrpt_No_8051			= 3;
+		$EepromType = 0;
+    $fileOffset = $data[0] + $data[1];
+		if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) + 4 + $fileOffset;
+		   	if(int($_DEBUG_)){printf "DEBUG:Bt code lenght is %d \n", $blockSize;}
+				if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+					$blockSize = $blockSize + $data[$blockSize + 2] + ($data[$blockSize + 3] << 8) + 4;
+					if(int($_DEBUG_)){printf "DEBUG:8051 code lenght is %d \n", $blockSize;}
+					if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+						$EepromType = $Type_Not_Encrypt_IS_8051;
+					}
+					else{
+						$EepromType = $Type_Not_Encrypt_No_8051;
+					}
+				}
+				else {
+	    		die "ERROR:Block header \"aa55\" Error while Get Eeprom Type!\n";
+				}
+		}
+		else {
+			$fileOffset += 16;
+			if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) + 4 + $fileOffset;
+		   	if(int($_DEBUG_)){printf "DEBUG:Encrpt Bt code lenght is %d \n", $blockSize;}
+				if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+					$blockSize = $blockSize + $data[$blockSize + 2] + ($data[$blockSize + 3] << 8) + 4;
+					if(int($_DEBUG_)){printf "DEBUG:Encrpt 8051 code lenght is %d \n", $blockSize;}
+					if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+						$EepromType = $Type_Encrpt_IS_8051;
+					}
+					else{
+						$EepromType = $Type_Encrpt_No_8051;
+					}
+				}
+				else {
+	    		die "ERROR:Block header \"aa55\" Error while Get Eeprom Type!\n";
+				}
+		}
+		}
+		{#type code debug
+		if(int($_DEBUG_)){printf "DEBUG:0:not encrypt have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:1:not encrypt no have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:2:encrypt have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:3:encrypt no have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:eeprom type is $EepromType\n";}
+		}
+#   	die ;
+   	if($EepromType == $Type_Not_Encrypt_IS_8051 || $EepromType == $Type_Not_Encrypt_No_8051)
+   	{
+    open(BINFILE, ">bt_patch.bin");
+    binmode(BINFILE);
+		##############################
+		####Calc Output Size##########
+		##############################
+    $fileSize = @data;
+    $blocksCount = 0;
+    $outputSize = 0;
+    $codeBlockSize = 0;
+    $fileOffset = $data[0] + $data[1];
+    while($fileOffset < ($fileSize - 1)){
+    	if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$outputSize += $blockSize;
+    		if(0 == $blocksCount){
+    			$codeCmdPacketCnt = int(($blockSize - 2) / $MAX_CODE_PACKET_LEN);
+					if(0 != ($blockSize - 2) % $MAX_CODE_PACKET_LEN){
+			    	$codeCmdPacketCnt ++;
+			    }
+			    $outputSize += (9 * $codeCmdPacketCnt) - 2; #2byte crc was behind code block
+    			$fileOffset += $blockSize + 4;
+    			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,codeCmdPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$codeCmdPacketCnt,$outputSize;}
+    		}elsif(1 == $blocksCount && $EepromType == $Type_Not_Encrypt_IS_8051){
+    			$fileOffset += $blockSize + 4;
+    		}else{
+    			
+	  			$memPacketCnt = int($blockSize / $MAX_MEM_PACKET_LEN);
+	  			if(0 != $blockSize % $MAX_MEM_PACKET_LEN){
+	  				$memPacketCnt ++;
+	  			}
+	  			$outputSize += 8 * $memPacketCnt;
+	  			$fileOffset += $blockSize + 6;
+	  			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,memPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$memPacketCnt,$outputSize;}
+    		}
+    		$blocksCount ++;
+    	}else{
+    		if($fileOffset == $fileSize - 2){
+    			$fileOffset += 2;
+    		}else{
+	    		printf "ERROR:blockSize:%d blocksCount: %d\n",$blockSize, $blocksCount;
+	    		printf "ERROR:fileOffset:%d Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+	    		die "ERROR:Block header \"aa55\" Error while Calc output size!\n";
+    		}
+    	}
+    }
+		
+    $outputSize +=  40;
+    printf BINFILE "%c", ($outputSize & 0xff);#offset low
+		printf BINFILE "%c", (($outputSize >> 8) & 0xff);#offset High
+		
+		
+		##############################
+		####Start Generate Bin########
+		##############################
+		$blocksCount = 0;
+    $fileOffset = $data[0] + $data[1];
+    while($fileOffset < ($fileSize - 1)){ #file was endof a 0xff, ignore it.
+    	if(int($_DEBUG_)){printf "DEBUG:Process a new block:%d\n", $blocksCount;}
+    	if(0 == $blocksCount){#bt code block 
+    		##############################
+    		####Process bt code block!####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x01!\n";
+    		}
+    		if(int($_DEBUG_)){printf "DEBUG:fileOffset:%x, data+2:%x, data+3:%x\n",$fileOffset, $data[$fileOffset + 2], $data[$fileOffset + 3];}
+    		$codeSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) - 2;
+    		$codeStart = $fileOffset + 4;#aa 55 LL LH
+    		$codeEnd = $codeStart + $codeSize;
+    		$codeoffset = $codeStart;
+    		
+    		if(int($_DEBUG_)){printf "DEBUG:Begain to Process bt code block.\n";}
+    		if(int($_DEBUG_)){printf "DEBUG:codeSize:%x, codeoffset:%x, codeEnd:%x\n",$codeSize, $codeoffset, $codeEnd;}
+    		if(int($_DEBUG_)){printf "DEBUG:codeEnd data:%x\n", $data[$codeEnd];}
+
+    		while($codeoffset < $codeEnd){
+    			
+	    		$packetLen = $MAX_CODE_PACKET_LEN;
+	    		if($codeoffset + $packetLen > $codeSize){
+	    			$packetLen = $codeEnd - $codeoffset;
+	    			if($packetLen > $MAX_CODE_PACKET_LEN){
+	    				$packetLen = $MAX_CODE_PACKET_LEN;
+	    			}
+	    		}
+	    		if(int($_DEBUG_)){printf "DEBUG:new packet codeoffset:%x, length:%x\n", $codeoffset, $packetLen;}
+	    		$packetEnd = $codeoffset + $packetLen;
+	    		printf BINFILE "%c", (($packetLen + 8) & 0xff);#whole packet len;
+					printf BINFILE "%c%c%c", 0x01, 0x03, 0xfc;
+					printf BINFILE "%c", (($packetLen + 4) & 0xff);#packet len;
+					printf BINFILE "%c", (($codeoffset - 6) & 0xff);#offset low
+					printf BINFILE "%c", ((($codeoffset - 6) >> 8) & 0xff);#offset High
+					printf BINFILE "%c", (($packetLen) & 0xff);#code len;
+					$checkSum = ($codeoffset - 6) + (($codeoffset - 6) >> 8) + ($packetLen);
+	    		while($codeoffset < $packetEnd){
+	    			if(int($_DEBUG_)){printf "%02x ", $data[$codeoffset];}#DEBUG
+	    			{printf BINFILE "%c", ($data[$codeoffset] & 0xff);}#code;
+	    			$checkSum += $data[$codeoffset];
+	    			$codeoffset ++;
+	    		}
+	    		printf BINFILE "%c", ($checkSum & 0xff);#check sum;
+	    		if(int($_DEBUG_)){printf "DEBUG: Packet End.\n"}
+    		}
+    		
+    		$fileOffset = $codeEnd + 2; #add crc16
+    		##############################
+    		####End of bt code block  ####
+    		##############################
+    		
+    	}elsif(1 == $blocksCount && $EepromType == $Type_Not_Encrypt_IS_8051){#c51 code block 
+    		##############################
+    		####Process C51 code block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x02\n";
+    		}
+    		
+    		$fileOffset += 4;
+    		##############################
+    		####End of C51 code block ####
+    		##############################
+    	}else{
+    		##############################
+    		####Process a memory block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			if($fileOffset == $fileSize - 2){
+    				$fileOffset += 2;
+    			}else{
+    				printf "ERROR:fileSize = %d\n", $fileSize;
+    				printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    				die "ERROR:Block header \"aa55\" Error Code 0x03\n";
+    			}
+    		}
+    		$memBlockLen = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$memBlockAddr = $data[$fileOffset + 4] + ($data[$fileOffset + 5] << 8);
+  			$memBlockBreakCnt = int($memBlockLen / $MAX_MEM_PACKET_LEN);
+  			if(0 != $memBlockLen % $MAX_MEM_PACKET_LEN){
+  				$memBlockBreakCnt ++;
+  			}
+
+  			if(int($_DEBUG_)){printf "DEBUG:memBlock, memBlockLen:%d, memBlockAddr:0x%x, memBlockBreakCnt:%d\n",$memBlockLen,$memBlockAddr,$memBlockBreakCnt ;}
+  			if(0x4000 == $memBlockAddr){
+    			$mem_patch_len = $memBlockLen;
+    			if(int($_DEBUG_)){printf "DEBUG:Find mem_patch, length = %d\n",$mem_patch_len;}
+    		}
+    		
+  			$j = 0;
+  			$memOffset = 0;                     #mem data offset in binfile
+  			$currentPacketAddr = $memBlockAddr;  #addr write in packet
+  			$memBlockStart = $fileOffset + 6;   #mem data start in binfile
+  			
+  			while($j++ < $memBlockBreakCnt){
+  				#for one single packet.
+  				$currentPacketLen = $MAX_MEM_PACKET_LEN;
+  				if($memOffset + $currentPacketLen > $memBlockLen){
+    				$currentPacketLen = $memBlockLen - $memOffset;#last packet
+    			}
+    			
+    			if(int($_DEBUG_)){printf "DEBUG:memPacket, currentPacketLen:%d, currentPacketAddr:0x%x, memOffset:%d\n",$currentPacketLen,$currentPacketAddr,$memOffset ;}
+    			
+  				#packet header
+  				printf BINFILE "%c", (($currentPacketLen + 7) & 0xff);
+					printf BINFILE "%c%c%c", 0x01, 0x10, 0xfc;
+					printf BINFILE "%c", (($currentPacketLen + 3) & 0xff);
+					printf BINFILE "%c", ($currentPacketLen & 0xff);
+					printf BINFILE "%c", ($currentPacketAddr & 0xff);
+					printf BINFILE "%c", (($currentPacketAddr >> 8) & 0xff);
+					
+					#copy data
+					$i = 0;
+					while($i < $currentPacketLen){
+						printf BINFILE "%c",($data[$memBlockStart + $memOffset + $i] & 0xff);
+						if(0x4000 == $memBlockAddr){
+							$mem_patch[$i] = ($data[$memBlockStart + $memOffset + $i] & 0xff)
+						}
+						$i++;
+					}
+					
+					#endof one packet
+  				$currentPacketAddr += $i;
+  				$memOffset += $i;
+  				
+  			}
+  			#endof a mem block
+  			$fileOffset = ($memBlockStart + $memOffset);
+  			##############################
+  			####End of a memory block#####
+  			##############################
+	    		
+    	}
+    	$blocksCount ++;
+    }
+    if(int($_DEBUG_)){printf "DEBUG:fileOffset:%d, fileSize:%d", $fileOffset, $fileSize;}
+    if(int($_DEBUG_)){printf "DEBUG:End of block process.Memory block count:%d\n", ($blocksCount - 2);}
+    if(0x40 != $mem_patch_len){
+    	printf "ERROR:mem_patch_len:%d",$mem_patch_len;
+    	die "ERROR:Cannot find mem_patch block or length error.";
+    }
+    
+    printf BINFILE "%c%c%c%c%c", 0x25, 0x01, 0x04, 0xfc, 0x21;
+		$i = 0;
+		$checksum = 0;
+		while($i < 0x20){
+			printf BINFILE "%c", ($mem_patch[$i] & 0xff);
+			
+			$checksum += ($mem_patch[$i] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		close(BINFILE);
+		
+		
+		}
+		else{
+    open(BINFILE, ">bt_patch.bin");
+    binmode(BINFILE);
+		##############################
+		####Calc Output Size##########
+		##############################
+    $fileSize = @data;
+    $blocksCount = 0;
+    $outputSize = 0;
+    $codeBlockSize = 0;
+    $fileOffset = $data[0] + $data[1] + 16;
+    while($fileOffset < ($fileSize - 1)){
+    	if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);#no crc
+    		$outputSize += $blockSize + 2;
+    		if(0 == $blocksCount){
+    			$codeCmdPacketCnt = int(($blockSize) / $MAX_CODE_PACKET_LEN);
+					if(0 != ($blockSize) % $MAX_CODE_PACKET_LEN){
+			    	$codeCmdPacketCnt ++;
+			    }
+			    $outputSize += (9 * $codeCmdPacketCnt); #2byte crc was behind code block
+    			$fileOffset += $blockSize + 4;
+    			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,codeCmdPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$codeCmdPacketCnt,$outputSize;}
+    		}elsif(1 == $blocksCount && $EepromType == $Type_Encrpt_IS_8051){
+    			$fileOffset += $blockSize + 4;
+    		}else{
+    			
+	  			$memPacketCnt = int($blockSize / $MAX_MEM_PACKET_LEN);
+	  			if(0 != $blockSize % $MAX_MEM_PACKET_LEN){
+	  				$memPacketCnt ++;
+	  			}
+	  			$outputSize += 8 * $memPacketCnt;
+	  			$fileOffset += $blockSize + 6;
+	  			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,memPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$memPacketCnt,$outputSize;}
+    		}
+    		$blocksCount ++;
+    	}else{
+    		if($fileOffset == $fileSize - 2){
+    			$fileOffset += 2;
+    		}else{
+	    		printf "ERROR:blockSize:%d blocksCount: %d\n",$blockSize, $blocksCount;
+	    		printf "ERROR:fileOffset:%d Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+	    		die "ERROR:Block header \"aa55\" Error while Calc output size!\n";
+    		}
+    	}
+    }
+		
+    $outputSize +=  40 + 0x16 - 5;
+    printf BINFILE "%c", ($outputSize & 0xff);#offset low
+		printf BINFILE "%c", (($outputSize >> 8) & 0xff);#offset High
+		
+    printf BINFILE "%c%c%c%c%c", 0x15, 0x01, 0x12, 0xfc, 0x11;
+		$i = 0;
+		$checksum = 0;
+		$fileOffset = $data[0] + $data[1];
+		while($i < 0x10){
+			printf BINFILE "%c", ($data[$i + $fileOffset] & 0xff);
+			
+			$checksum += ($data[$i + $fileOffset] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		
+		##############################
+		####Start Generate Bin########
+		##############################
+		$blocksCount = 0;
+    $fileOffset = $data[0] + $data[1] + 16;
+    while($fileOffset < ($fileSize - 1)){ #file was endof a 0xff, ignore it.
+    	if(int($_DEBUG_)){printf "DEBUG:Process a new block:%d\n", $blocksCount;}
+    	if(0 == $blocksCount){#bt code block 
+    		##############################
+    		####Process bt code block!####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x01!\n";
+    		}
+    		if(int($_DEBUG_)){printf "DEBUG:fileOffset:%x, data+2:%x, data+3:%x\n",$fileOffset, $data[$fileOffset + 2], $data[$fileOffset + 3];}
+    		$codeSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);#no crc
+    		$codeStart = $fileOffset + 4;#aa 55 LL LH
+    		$codeEnd = $codeStart + $codeSize;
+    		$codeoffset = $codeStart;
+    		
+    		if(int($_DEBUG_)){printf "DEBUG:Begain to Process bt code block.\n";}
+    		if(int($_DEBUG_)){printf "DEBUG:codeSize:%x, codeoffset:%x, codeEnd:%x\n",$codeSize, $codeoffset, $codeEnd;}
+    		if(int($_DEBUG_)){printf "DEBUG:codeEnd data:%x\n", $data[$codeEnd];}
+
+    		while($codeoffset < $codeEnd){
+    			
+	    		$packetLen = $MAX_CODE_PACKET_LEN;
+	    		if($codeoffset + $packetLen > $codeSize){
+	    			$packetLen = $codeEnd - $codeoffset;
+	    			if($packetLen > $MAX_CODE_PACKET_LEN){
+	    				$packetLen = $MAX_CODE_PACKET_LEN;
+	    			}
+	    		}
+	    		if(int($_DEBUG_)){printf "DEBUG:new packet codeoffset:%x, length:%x\n", $codeoffset, $packetLen;}
+	    		$packetEnd = $codeoffset + $packetLen;
+	    		printf BINFILE "%c", (($packetLen + 8) & 0xff);#whole packet len;
+					printf BINFILE "%c%c%c", 0x01, 0x13, 0xfc;
+					printf BINFILE "%c", (($packetLen + 4) & 0xff);#packet len;
+					printf BINFILE "%c", (($codeoffset - 6 - 16) & 0xff);#offset low
+					printf BINFILE "%c", ((($codeoffset - 6 - 16) >> 8) & 0xff);#offset High
+					printf BINFILE "%c", (($packetLen) & 0xff);#code len;
+					$checkSum = ($codeoffset - 6 - 16) + (($codeoffset - 6 - 16) >> 8) + ($packetLen);
+	    		while($codeoffset < $packetEnd){
+	    			if(int($_DEBUG_)){printf "%02x ", $data[$codeoffset];}#DEBUG
+	    			{printf BINFILE "%c", ($data[$codeoffset] & 0xff);}#code;
+	    			$checkSum += $data[$codeoffset];
+	    			$codeoffset ++;
+	    		}
+	    		printf BINFILE "%c", ($checkSum & 0xff);#check sum;
+	    		if(int($_DEBUG_)){printf "DEBUG: Packet End.\n"}
+    		}
+    		
+    		$fileOffset = $codeEnd; #no crc16
+    		##############################
+    		####End of bt code block  ####
+    		##############################
+    		
+    	}elsif(1 == $blocksCount && $EepromType == $Type_Encrpt_IS_8051){#c51 code block 
+    		##############################
+    		####Process C51 code block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x02\n";
+    		}
+    		
+    		$fileOffset += 4;
+    		##############################
+    		####End of C51 code block ####
+    		##############################
+    	}else{
+    		##############################
+    		####Process a memory block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			if($fileOffset == $fileSize - 2){
+    				$fileOffset += 2;
+    			}else{
+    				printf "ERROR:fileSize = %d\n", $fileSize;
+    				printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    				die "ERROR:Block header \"aa55\" Error Code 0x03\n";
+    			}
+    		}
+    		$memBlockLen = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$memBlockAddr = $data[$fileOffset + 4] + ($data[$fileOffset + 5] << 8);
+  			$memBlockBreakCnt = int($memBlockLen / $MAX_MEM_PACKET_LEN);
+  			if(0 != $memBlockLen % $MAX_MEM_PACKET_LEN){
+  				$memBlockBreakCnt ++;
+  			}
+
+  			if(int($_DEBUG_)){printf "DEBUG:memBlock, memBlockLen:%d, memBlockAddr:0x%x, memBlockBreakCnt:%d\n",$memBlockLen,$memBlockAddr,$memBlockBreakCnt ;}
+  			if(0x4000 == $memBlockAddr){
+    			$mem_patch_len = $memBlockLen;
+    			if(int($_DEBUG_)){printf "DEBUG:Find mem_patch, length = %d\n",$mem_patch_len;}
+    		}
+    		
+  			$j = 0;
+  			$memOffset = 0;                     #mem data offset in binfile
+  			$currentPacketAddr = $memBlockAddr;  #addr write in packet
+  			$memBlockStart = $fileOffset + 6;   #mem data start in binfile
+  			
+  			while($j++ < $memBlockBreakCnt){
+  				#for one single packet.
+  				$currentPacketLen = $MAX_MEM_PACKET_LEN;
+  				if($memOffset + $currentPacketLen > $memBlockLen){
+    				$currentPacketLen = $memBlockLen - $memOffset;#last packet
+    			}
+    			
+    			if(int($_DEBUG_)){printf "DEBUG:memPacket, currentPacketLen:%d, currentPacketAddr:0x%x, memOffset:%d\n",$currentPacketLen,$currentPacketAddr,$memOffset ;}
+    			
+  				#packet header
+  				printf BINFILE "%c", (($currentPacketLen + 7) & 0xff);
+					printf BINFILE "%c%c%c", 0x01, 0x10, 0xfc;
+					printf BINFILE "%c", (($currentPacketLen + 3) & 0xff);
+					printf BINFILE "%c", ($currentPacketLen & 0xff);
+					printf BINFILE "%c", ($currentPacketAddr & 0xff);
+					printf BINFILE "%c", (($currentPacketAddr >> 8) & 0xff);
+					
+					#copy data
+					$i = 0;
+					while($i < $currentPacketLen){
+						printf BINFILE "%c",($data[$memBlockStart + $memOffset + $i] & 0xff);
+						if(0x4000 == $memBlockAddr){
+							$mem_patch[$i] = ($data[$memBlockStart + $memOffset + $i] & 0xff)
+						}
+						$i++;
+					}
+					
+					#endof one packet
+  				$currentPacketAddr += $i;
+  				$memOffset += $i;
+  				
+  			}
+  			#endof a mem block
+  			$fileOffset = ($memBlockStart + $memOffset);
+  			##############################
+  			####End of a memory block#####
+  			##############################
+	    		
+    	}
+    	$blocksCount ++;
+    }
+    if(int($_DEBUG_)){printf "DEBUG:fileOffset:%d, fileSize:%d", $fileOffset, $fileSize;}
+    if(int($_DEBUG_)){printf "DEBUG:End of block process.Memory block count:%d\n", ($blocksCount - 2);}
+    if(0x40 != $mem_patch_len){
+    	printf "ERROR:mem_patch_len:%d",$mem_patch_len;
+    	die "ERROR:Cannot find mem_patch block or length error.";
+    }
+    printf BINFILE "%c%c%c%c%c", 0x25, 0x01, 0x04, 0xfc, 0x21;
+		$i = 0;
+		$checksum = 0;
+		while($i < 0x20){
+			printf BINFILE "%c", ($mem_patch[$i] & 0xff);
+			
+			$checksum += ($mem_patch[$i] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		close(BINFILE);
+		
+		}
+		
+		
+		
Index: ebike/trunk/output/memmap.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/memmap.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/memmap.format	(working copy)
@@ -0,0 +1,1071 @@
+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
+0x47af mem_module_uuid_list_end
+0x47af mem_module_le_att_list
+0x4a25 mem_module_le_att_list_end
+0x4a25 mem_module_nv_data
+0x4a25 mem_module_nv_data0
+0x4a47 mem_module_nv_data1
+0x4a69 mem_module_nv_data2
+0x4a8b mem_module_nv_data3
+0x4aad mem_module_nv_data4
+0x4acf mem_rfcomm_lmp_dis_flag
+0x4ad0 mem_module_rfcomm_disconnect_count
+0x4ad1 mem_le_buff_len
+0x4ad3 mem_le_buff_len_all
+0x4ad5 mem_module_prepare_write_request_contw
+0x4ad7 mem_module_prepare_write_request_contr
+0x4ad9 mem_module_master_rx_max
+0x4adb mem_le_txheader_temp
+0x4adc mem_le_txlen_temp
+0x4add mem_le_txpayload_temp
+0x4adf mem_le_txcid_temp
+0x4ae1 mem_le_l2cap_temp
+0x4ae2 mem_le_l2cap_response_temp
+0x4ae3 mem_le_txbdy_temp
+0x4bde mem_rf_init
+0x4bed mem_ble_dle_enable
+0x4bee mem_mcu_set_bt_wake_timer
+0x4bf2 mem_gpio_wakeup_backup
+0x4bf8 mem_context_new
+0x4c98 mem_xmem_hf_state_start
+0x4c98 mem_hf_state
+0x4c99 mem_hf_call_state
+0x4c9a mem_hf_command
+0x4c9b mem_agoption
+0x4c9d mem_AG_indicator_map
+0x4ca4 mem_AG_indicator
+0x4cab mem_xmem_hf_state_end
+0x4cab mem_hf_vlm_speaker
+0x4cac mem_music_vlm_speaker
+0x4cad mem_hf_vlm_mic
+0x4cae mem_at_payload_ptr
+0x4cb0 mem_at_command_ptr
+0x4cb2 mem_at_rfcomm_data_ptr
+0x4cb4 mem_UI_HF_brsf_feature
+0x4cb7 mem_codec_type
+0x4cb8 mem_cb_hfp_result_code
+0x4cba mem_telephone_dialing_state
+0x4cbb mem_phone_num_len
+0x4cbc mem_phone_number
+0x4cd5 mem_at_command_data
+0x4cf3 mem_module_rfcomm_reconnect_count
+0x4cf4 mem_module_params_end
+0x0b1e mem_module_prepare_write_request_packet
+0x0b1e mem_module_prepare_write_request_PDU_length
+0x0b20 mem_module_prepare_write_request_Channel_ID
+0x0b22 mem_module_prepare_write_request_opcode
+0x0b23 mem_module_prepare_write_request_handle
+0x0b25 mem_temp_prepare_write_request_Data
+0x0b1e mem_usb_status
+0x0b1f mem_usb_fifo_empty
+0x0b20 mem_usb_read_len
+0x0b21 mem_usb_rxbuf
+0x0b61 mem_bufptr
+0x0b63 mem_remain
+0x0b64 mem_devicedesc
+0x0b78 mem_hidreportdesc_kb
+0x0b7a mem_hidreportdesc_m
+0x0b7c mem_confdesc
+0x0be0 mem_string0
+0x0be5 mem_string1
+0x0c03 mem_string2
+0x0c43 mem_string3
+0x0c61 mem_usb_zero_packet
+0x0c63 mem_usb_ones_packet
+0x0c65 mem_usb_two_packet
+0x0c67 mem_usb0_state
+0x0c68 mem_usb_offline_check_gpio
+0x0c69 mem_usb_tx_interval
+0x0c6a mem_usb_clear_mem_start
+0x0c6a mem_usb_setup
+0x0c6a mem_usb_setup_bmRequestType
+0x0c6b mem_usb_setup_bRequest
+0x0c6c mem_usb_setup_bValue
+0x0c6d mem_usb_setup_bValueH
+0x0c6e mem_usb_setup_wIndex
+0x0c70 mem_usb_setup_bLength
+0x0c71 mem_usb_setup_bLengthH
+0x0c72 mem_usb0_setup
+0x0cb2 mem_usb0_set_report_data
+0x0cf2 mem_usb0_get_report_data
+0x0d32 mem_usb_state
+0x0d33 mem_usb_tx_wait
+0x0d34 mem_usb_tx_enable
+0x0d35 mem_usb_remote_wakeup
+0x0d36 mem_usb_clear_remote_wakeup
+0x0d37 mem_usb_ep0_stall_status
+0x0d38 mem_usb_ep1_stall_status
+0x0d39 mem_usb_ep2_stall_status
+0x0d3a mem_usb_ep3_stall_status
+0x0d3b mem_dsc_info_data_pointer
+0x0d3d mem_dsc_info_len
+0x0d3e mem_usb0_data_ready_report
+0x0d3f mem_usb_tx_win_enable
+0x0d40 mem_usb_tx_mac_enable
+0x0d41 mem_usb_device_enumeration_endflag
+0x0d42 mem_usb_wakestate_onetime_flag
+0x0d43 mem_usb_mac_wakeup_trig
+0x0d44 mem_usb_set_high_addr_flag
+0x0d45 mem_usb_set_protocol_value
+0x0d46 mem_usb_set_protocol_status
+0x0d47 mem_usb_get_protocol_flag
+0x0d48 mem_usb_idle_flag
+0x0d49 mem_usb_idle_rate
+0x0d4a mem_usb_setup_bValue_temp
+0x0d4c mem_usb0_get_set_report
+0x0d4d mem_usb_ep1_data
+0x0d4e mem_usb_ep2_data
+0x0d4f mem_usb_clear_halt
+0x0d50 mem_usb_mouse_data
+0x0d60 mem_usb_kb_data
+0x0d70 mem_usb_kb_multikey
+0x0d80 mem_usb_kb_data_sta_data
+0x0d88 mem_usb_kb_data_last_data
+0x0d90 mem_usb_kb_multikey_sta_data
+0x0d93 mem_usb_kb_multikey_last_data
+0x0d96 mem_usb_kb_blank_data_enable
+0x0d97 mem_usb_kb_mul_blank_data_enable
+0x0d98 mem_usb_test_cnt
+0x0d99 mem_usb_clear_mem_end
+0x0d99 mem_usb_test_kb
+0x0d9a mem_rssi_noise_buffer
+0x0e9a mem_rssi_noise_dg_buffer
+0x0f9a mem_rssi_noise_ms_buffer
+0x109a mem_rssi_noise_kb_buffer
+0x119a mem_24g_common_temp
Index: ebike/trunk/output/otp.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/otp.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/otp.dat	(working copy)
@@ -0,0 +1,8 @@
+00
+02
+aa
+55
+00
+00
+b3
+23
Index: ebike/trunk/output/program.lis
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/program.lis	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/program.lis	(working copy)
@@ -0,0 +1,23306 @@
+              include "bt_format "
+              org 0x0000
+
+p_start:
+0000 c284001a bbit1 8 ,pf_patch_ext 
+0001 c0000037 beq patch00_0 ,p_soft_reset0 
+0002 c00887e7 beq patch02_1 ,p_master_page_no_interval 
+0003 c000806c beq patch00_1 ,p_soft_reset 
+0004 c0428073 beq patch10_5 ,p_shutdown_radio 
+0005 c0448094 beq patch11_1 ,p_set_freq_tx 
+0006 c04a005a beq patch12_4 ,p_ahead_window 
+0007 c051009d beq patch14_2 ,p_init_param 
+0008 c0518065 beq patch14_3 ,p_lpm_adjust_clk 
+0009 c05600a4 beq patch15_4 ,p_lpm_unconn_nossp 
+000a c05c00a5 beq patch17_0 ,p_module_init 
+000b c05d8141 beq patch17_3 ,p_module_hci_cmd_control 
+000c c05e01d4 beq patch17_4 ,p_module_hci_cmd_transmit_le_notify 
+000d c07581f8 beq patch1d_3 ,p_le_init_conn 
+000e c00283db beq patch00_5 ,p_connection_incontext 
+000f c01603f5 beq patch05_4 ,p_context_new 
+0010 c01703fa beq patch05_6 ,p_context_search 
+0011 c0378402 beq patch0d_7 ,p_sniff_check_window 
+0012 c0530413 beq patch14_6 ,p_lpm_recover_clk 
+0013 c0538434 beq patch14_7 ,p_lpm_dispatch 
+0014 c055845b beq patch15_3 ,p_lpm_dispatch_unconn 
+0015 c01d83fd beq patch07_3 ,p_sconn_successful 
+0016 c05f8499 beq patch17_7 ,p_l2cap_init_wake 
+0017 c013047f beq patch04_6 ,p_role_switch_master 
+0018 c014048c beq patch05_0 ,p_roles_replyto_fhs 
+0019 20204a8b branch assert 
+
+pf_patch_ext:
+001a c0018202 beq patch20_3 ,p_le_receive_skip 
+001b c002820e beq patch20_5 ,p_le_transmit_receive_sifs 
+001c c0030217 beq patch20_6 ,p_le_transmit 
+001d c003821c beq patch20_7 ,p_le_transmit0 
+001e c0040225 beq patch21_0 ,p_le_send_adv_ind 
+001f c0058236 beq patch21_3 ,p_le_send_scan_response 
+0020 c0098246 beq patch22_3 ,p_le_acknowledge 
+0021 c00a02cb beq patch22_4 ,p_le_check_wak 
+0022 c00e02de beq patch23_4 ,p_le_prepare_tx 
+0023 c00f0307 beq patch23_6 ,p_le_send_packet 
+0024 c00f8335 beq patch23_7 ,p_le_parse 
+0025 c0108369 beq patch24_1 ,p_le_parse_l2cap 
+0026 c018037a beq patch26_0 ,p_le_modified_name 
+0027 c019037e beq patch26_2 ,p_le_lpm_set_mult 
+0028 c01d0391 beq patch27_2 ,p_parse_lmp 
+0029 c01f039c beq patch27_6 ,p_send_lmp 
+002a c02083ae beq patch28_1 ,p_ssp_disable 
+002b c02483b4 beq patch29_1 ,p_uartd_send 
+002c c02903bd beq patch2a_2 ,p_parse_dlci0_rp 
+002d c02a83ca beq patch2a_5 ,p_parse_dlci0_reconn 
+002e c046831c beq patch31_5 ,p_le_encrypt 
+002f c04c83d7 beq patch33_1 ,p_sp_initialize_256 
+0030 c0350790 beq patch2d_2 ,p_process_upper_sm_reconn 
+0031 c03d0775 beq patch2f_2 ,p_sdp_process 
+0032 c02884b0 beq patch2a_1 ,p_rfcomm_rx_process 
+0033 c02a04be beq patch2a_4 ,p_parse_uih_rp_spp 
+0034 c02c049e beq patch2b_0 ,p_rfcomm_send_param_neg_cmd 
+0035 c031849c beq patch2c_3 ,p_scheduler_process 
+0036 20204a8b branch assert 
+
+p_soft_reset0:
+0037 6fec4bf2 fetch 6 ,mem_gpio_wakeup_backup 
+0038 67ec00a1 store 6 ,mem_gpio_wakeup 
+0039 1ce27e00 deposit auxcnt 
+003a 203a0044 branch p_soft_rest1 ,blank 
+003b 2040003d call p_wake_m0 
+003c 20204002 branch soft_reset + 1 
+
+p_wake_m0:
+003d 70409100 jam 0x00 ,mem_lpm_mode 
+003e 20400040 call p_enable_chgpump 
+003f 202067bc branch wake_up_m0 
+
+p_enable_chgpump:
+0040 6fe28973 hfetch 1 ,rfen_chgpump 
+0041 79207e06 set1 6 ,pdata 
+0042 67e28973 hstore 1 ,rfen_chgpump 
+0043 20600000 rtn 
+
+p_soft_rest1:
+0044 6fe28126 fetch 1 ,core_lpm_switch 
+0045 c280004b bbit1 0 ,p_gpio_low_wake_up 
+
+p_gpio_high_wake_up:
+0046 6fec00a1 fetch 6 ,mem_gpio_wakeup 
+0047 684c810e fetcht 6 ,core_gpio_in 
+0048 98417e00 iand temp ,pdata 
+0049 245a003d ncall p_wake_m0 ,blank 
+004a 20204002 branch soft_reset + 1 
+
+p_gpio_low_wake_up:
+004b 2040004d call p_check_io_wakeup 
+004c 20204002 branch soft_reset + 1 
+
+p_check_io_wakeup:
+004d 58ffffff setarg 0xffffff 
+004e 6846810e fetcht 3 ,core_gpio_in 
+004f 9842fe00 ixor temp ,pdata 
+0050 684600a1 fetcht 3 ,mem_gpio_wakeup 
+0051 98417e00 iand temp ,pdata 
+0052 243a003d nbranch p_wake_m0 ,blank 
+0053 58ffffff setarg 0xffffff 
+0054 68468111 fetcht 3 ,core_gpio_in + 3 
+0055 9842fe00 ixor temp ,pdata 
+0056 684600a4 fetcht 3 ,mem_gpio_wakeup + 3 
+0057 98417e00 iand temp ,pdata 
+0058 243a003d nbranch p_wake_m0 ,blank 
+0059 20600000 rtn 
+
+p_ahead_window:
+005a 18427e00 copy temp ,pdata 
+005b 20407d2b call clk2bt 
+005c 1c307e00 lshift16 bt_clk ,pdata 
+005d 79207e2c set1 44 ,pdata 
+005e 20407d14 call clk_diff 
+005f 793ffe2c set0 44 ,pdata 
+0060 20404a76 call get_clk 
+0061 20407d14 call clk_diff 
+0062 20740000 rtn user 
+0063 20400069 call p_clk2rt 
+0064 20204a2f branch ahead_window + 12 
+
+p_lpm_adjust_clk:
+0065 1b427e00 deposit clke 
+0066 20400068 call p_clk_diff_rt 
+0067 20204ae9 branch lpm_adjust_clk + 3 
+
+p_clk_diff_rt:
+0068 20407d14 call clk_diff 
+
+p_clk2rt:
+0069 98000c00 iforce contr 
+006a 793f8c10 set0 16 ,contr 
+006b 20207d1f branch clk2rt + 1 
+
+p_soft_reset:
+006c 70453d00 jam 0 ,mem_credit_flag 
+006d 204068c4 call rfcomm_init 
+006e 204060d7 call init_lmp 
+006f 20400071 call p_ui_init 
+0070 2020400a branch soft_reset + 9 
+
+p_ui_init:
+0071 20758000 rtn wake 
+0072 20207b9a branch ui_timer_init 
+
+p_shutdown_radio:
+0073 20308083 branch p_shutdown_radio0 ,is_rx 
+0074 708955d4 hjam 0xd4 ,0x955 
+0075 20000004 nop 4 
+0076 708955d2 hjam 0xd2 ,0x955 
+0077 20000004 nop 4 
+0078 708955d1 hjam 0xd1 ,0x955 
+0079 20000004 nop 4 
+007a 6fe241df fetch 1 ,mem_tx_power 
+007b c0000081 beq tx_power_0db ,p_shutdown_radio_0db 
+007c c0008091 beq tx_power_3db ,p_shutdown_radio_3db 
+007d c0010081 beq tx_power_5db ,p_shutdown_radio_5db 
+007e c0018091 beq tx_power_f3db ,p_shutdown_radio_f3db 
+007f c0020091 beq tx_power_f5db ,p_shutdown_radio_f5db 
+0080 c0100091 beq tx_power_pair ,p_shutdown_radio_pair 
+
+p_shutdown_radio_5db:
+
+p_shutdown_radio_0db:
+0081 708955d0 hjam 0xd0 ,0x955 
+0082 708956e0 hjam 0xe0 ,0x956 
+
+p_shutdown_radio0:
+0083 18002a08 force 0x08 ,radio_ctrl 
+0084 18002a00 force 0 ,radio_ctrl 
+0085 7850fc00 disable is_rx 
+0086 78507c00 disable is_tx 
+0087 782f7c00 pulse packet_end 
+0088 70890200 hjam 0x0 ,rfen_mdm 
+0089 70890100 hjam 0x0 ,rfen_tx 
+008a 70890000 hjam 0x0 ,rfen_rx 
+008b 70890300 hjam 0 ,rfen_sn 
+008c 70890470 hjam 0x70 ,rfen_msc 
+008d 6fe28906 fetch 1 ,rfen_adc 
+008e 79207e00 set1 0 ,pdata 
+008f 67e28906 store 1 ,rfen_adc 
+0090 20600000 rtn 
+
+p_shutdown_radio_pair:
+
+p_shutdown_radio_f5db:
+
+p_shutdown_radio_f3db:
+
+p_shutdown_radio_3db:
+0091 708955d0 hjam 0xd0 ,0x955 
+0092 708956c0 hjam 0xc0 ,0x956 
+0093 20200083 branch p_shutdown_radio0 
+
+p_set_freq_tx:
+0094 60420017 storet 1 ,mem_last_freq 
+0095 2040492a call set_freq_tx_offset 
+0096 20404980 call rf_write_freq 
+0097 58000500 setarg param_pll_setup 
+0098 20404a8e call sleep 
+
+p_txon:
+0099 6fe28906 fetch 1 ,rfen_adc 
+009a 79207e00 set1 0 ,pdata 
+009b 67e28906 store 1 ,rfen_adc 
+009c 20204937 branch txon + 1 
+
+p_init_param:
+009d 7089067c hjam 0x7c ,rfen_adc 
+009e 20758000 rtn wake 
+009f 58000000 setarg 0 
+00a0 67e441dd store 2 ,mem_tx_len 
+00a1 1c437e00 rshift clkn_bt ,pdata 
+00a2 67e84094 store 4 ,mem_last_clkn 
+00a3 20600000 rtn 
+
+p_lpm_unconn_nossp:
+00a4 20204b7f branch lpm_unconn_cont 
+
+p_module_init:
+00a5 580000b4 setarg p_module_process_bb_event 
+00a6 67e441f6 store 2 ,mem_cb_bb_event_process 
+00a7 5800010a setarg p_module_bb_event_timer 
+00a8 67e441fe store 2 ,mem_cb_event_timer 
+00a9 5800011f setarg p_module_le_receive_data 
+00aa 67e441fa store 2 ,mem_cb_att_write 
+00ab 58000132 setarg p_module_lpm_lock 
+00ac 67e441ea store 2 ,mem_cb_check_wakelock 
+00ad 5800013e setarg p_module_bt_conn_process 
+00ae 67e441f2 store 2 ,mem_cb_bt_process 
+00af 20404daf call module_lpm_uart_init 
+00b0 20404dbc call module_gpio_init 
+00b1 20404c2a call check_module_disabled 
+00b2 2040504d call module_hci_event_enter_standby_mode 
+00b3 202004e9 branch p_hfp_clear_parms 
+
+p_module_process_bb_event:
+00b4 1a627e00 copy regc ,pdata 
+00b5 c00080c3 beq bt_evt_bb_connected ,p_module_process_bb_conn 
+00b6 c00480d4 beq bt_evt_spp_disconnected ,p_module_process_spp_disconnected 
+00b7 c00100c7 beq bt_evt_bb_disconnected ,p_module_process_bb_event_disconned 
+00b8 c00280d9 beq bt_evt_setup_complete ,p_module_process_setup_complete 
+00b9 c00200db beq bt_evt_reconn_failed ,p_module_process_reconn_fail 
+00ba c00980db beq bt_evt_reconn_page_timeout ,p_module_process_page_time_out 
+00bb c00c00ff beq bt_evt_linkkey_generate ,p_module_process_linkkey_generate 
+00bc c03000df beq bt_evt_hfp_connected ,p_module_process_hfp_connected 
+00bd c02c80e1 beq bt_evt_hfp_start_dialing ,p_module_process_hfp_start_dialing 
+00be c02c00e8 beq bt_evt_hfp_stop_dialing ,p_module_process_hfp_stop_dialing 
+00bf c00a00ea beq bt_evt_le_connected ,p_module_process_le_conn 
+00c0 c00a80fb beq bt_evt_le_disconnected ,p_module_process_bb_even_le_disconn 
+00c1 c01e80fe beq bt_evt_store_nvram ,p_module_hci_event_store_device 
+00c2 20204ddf branch module_process_bb_event + 1 
+
+p_module_process_bb_conn:
+00c3 704cf300 jam 0 ,mem_module_rfcomm_reconnect_count 
+00c4 20404d6b call app_bt_stop_discovery 
+00c5 20404d62 call app_bt_reconnect_cancel 
+00c6 20204e2c branch module_process_bb_conn 
+
+p_module_process_bb_event_disconned:
+00c7 204004e9 call p_hfp_clear_parms 
+00c8 704ad000 jam 0 ,mem_module_rfcomm_disconnect_count 
+00c9 20404dd7 call module_spp_clear_last_transmite_clock 
+00ca 6fe24637 fetch 1 ,mem_flag_pairing_state 
+00cb 245a508c ncall module_hci_event_bt_pairing_fail ,blank 
+00cc 204000f7 call p_module_start_discovery 
+00cd 6fe44652 fetch 2 ,mem_ui_state_map 
+00ce c30200d2 bbit0 ui_state_bt_spp_conn ,p_set_rfcomm_reconnect_count 
+00cf 793ffe04 set0 ui_state_bt_spp_conn ,pdata 
+00d0 67e44652 store 2 ,mem_ui_state_map 
+00d1 20205026 branch module_hci_event_spp_disconnect 
+
+p_set_rfcomm_reconnect_count:
+00d2 704cf314 jam 20 ,mem_module_rfcomm_reconnect_count 
+00d3 20600000 rtn 
+
+p_module_process_spp_disconnected:
+00d4 6fe24acf fetch 1 ,mem_rfcomm_lmp_dis_flag 
+00d5 245a00d7 ncall p_set_rfcomm_disconnect_count ,blank 
+00d6 20600000 rtn 
+
+p_set_rfcomm_disconnect_count:
+00d7 704ad006 jam 6 ,mem_module_rfcomm_disconnect_count 
+00d8 20600000 rtn 
+
+p_module_process_setup_complete:
+00d9 20404dd7 call module_spp_clear_last_transmite_clock 
+00da 202000f3 branch p_module_stop_discovery 
+
+p_module_process_page_time_out:
+
+p_module_process_reconn_fail:
+00db 204000f7 call p_module_start_discovery 
+00dc 202000dd branch p_module_hci_event_bt_reconn_fail 
+
+p_module_hci_event_bt_reconn_fail:
+00dd 700affb1 jam hci_event_bt_reconnect_fail ,mem_module_uart_opcode 
+00de 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+p_module_process_hfp_connected:
+00df 700affb2 jam hci_event_hfp_connected ,mem_module_uart_opcode 
+00e0 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+p_module_process_hfp_start_dialing:
+00e1 700affb3 jam hci_event_hfp_start_dialing ,mem_module_uart_opcode 
+00e2 6fe24cbb fetch 1 ,mem_phone_num_len 
+00e3 204050a5 call module_hci_prepare_tx 
+00e4 6f224cbb fetchr loopcnt ,1 ,mem_phone_num_len 
+00e5 d8604cbc arg mem_phone_number ,contru 
+00e6 20405016 call copy_tx_bytes 
+00e7 202067b9 branch uartd_send 
+
+p_module_process_hfp_stop_dialing:
+00e8 700affb4 jam hci_event_hfp_stop_dialing ,mem_module_uart_opcode 
+00e9 2020504e branch module_hci_event_enter_standby_mode_len0 
+
+p_module_process_le_conn:
+00ea 20400373 call module_clear_recv_confirm_flag 
+00eb 204000ef call p_module_stop_adv 
+00ec 6fe2466e fetch 1 ,mem_module_le_lpm_mult 
+00ed 67e24173 store 1 ,mem_lpm_mult 
+00ee 20205024 branch module_hci_event_le_connect 
+
+p_module_stop_adv:
+00ef 6fe2466c fetch 1 ,mem_module_state 
+00f0 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+00f1 2040cd73 call app_ble_stop_adv ,true 
+00f2 20600000 rtn 
+
+p_module_stop_discovery:
+00f3 6fe2466c fetch 1 ,mem_module_state 
+00f4 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+00f5 2040cd6b call app_bt_stop_discovery ,true 
+00f6 20600000 rtn 
+
+p_module_start_discovery:
+00f7 6fe2466c fetch 1 ,mem_module_state 
+00f8 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+00f9 2040cd69 call app_bt_start_discovery ,true 
+00fa 20600000 rtn 
+
+p_module_process_bb_even_le_disconn:
+00fb 20405bf6 call le_clr_config_more_data 
+00fc 20404e95 call moudle_start_adv_by_command 
+00fd 20205028 branch module_hci_event_le_disconnect 
+
+p_module_hci_event_store_device:
+00fe 20600000 rtn 
+
+p_module_process_linkkey_generate:
+
+p_module_hci_event_linkkey_generate:
+00ff 700affb0 jam hci_event_bt_enc_info ,mem_module_uart_opcode 
+0100 5800001c setarg 28 
+0101 204050a5 call module_hci_prepare_tx 
+0102 6fec40a0 fetch 6 ,mem_lap 
+0103 e7ec000a istore 6 ,contwu 
+0104 6fec0040 fetch 6 ,mem_plap 
+0105 e7ec000a istore 6 ,contwu 
+0106 d8c041bf arg mem_link_key ,contr 
+0107 df200010 arg 16 ,loopcnt 
+0108 204067d4 call uart_copy_tx_bytes 
+0109 202067b9 branch uartd_send 
+
+p_module_bb_event_timer:
+010a 20400119 call p_module_mcu_set_bt_wake_timer 
+010b 20400111 call p_module_rfcomm_disconnect_timer 
+010c 2040010e call p_module_rfcomm_reconnect_timer 
+010d 202050c3 branch module_bb_event_timer 
+
+p_module_rfcomm_reconnect_timer:
+010e da604cf3 arg mem_module_rfcomm_reconnect_count ,regc 
+010f da404d5c arg app_bt_start_reconnect ,regb 
+0110 20204d04 branch timer_single_step 
+
+p_module_rfcomm_disconnect_timer:
+0111 6fe24ad0 fetch 1 ,mem_module_rfcomm_disconnect_count 
+0112 207a0000 rtn blank 
+0113 1fe0ffff increase -1 ,pdata 
+0114 67e24ad0 store 1 ,mem_module_rfcomm_disconnect_count 
+0115 247a0000 nrtn blank 
+0116 6fe44652 fetch 2 ,mem_ui_state_map 
+0117 c2804d64 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0118 20600000 rtn 
+
+p_module_mcu_set_bt_wake_timer:
+0119 6fe84bee fetch 4 ,mem_mcu_set_bt_wake_timer 
+011a 207a0000 rtn blank 
+011b 1fe0ffff increase -1 ,pdata 
+011c 67e84bee store 4 ,mem_mcu_set_bt_wake_timer 
+011d 247a0000 nrtn blank 
+011e 2020003d branch p_wake_m0 
+
+p_module_le_receive_data:
+011f 20400463 call p_module_check_ble_encrypt_state 
+0120 20740000 rtn user 
+0121 1a227e00 copy rega ,pdata 
+0122 67e44671 store 2 ,mem_module_le_rx_data_address 
+0123 2040012c call p_check_ble_40_or_42 
+0124 67e24670 store 1 ,mem_module_le_rx_data_len 
+0125 68440474 fetcht 2 ,mem_le_att_handle 
+0126 60444673 storet 2 ,mem_module_le_rx_data_handle 
+0127 20405b6c call le_att_get_handle_info 
+0128 243a4a8b nbranch assert ,blank 
+0129 6fe2049e fetch 1 ,mem_le_cur_uuid_length 
+012a c0815042 bne 0x02 ,module_hci_event_receive_le_data 
+012b 20205042 branch module_hci_event_receive_le_data 
+
+p_check_ble_40_or_42:
+012c 6fe24bed fetch 1 ,mem_ble_dle_enable 
+012d 243a0130 nbranch p_check_ble_40 ,blank 
+
+p_check_ble_42:
+012e 1f227e00 copy loopcnt ,pdata 
+012f 20600000 rtn 
+
+p_check_ble_40:
+0130 1a427e00 copy regb ,pdata 
+0131 20600000 rtn 
+
+p_module_lpm_lock:
+0132 20400299 call p_le_check_complete_packet 
+0133 2434013b nbranch p_app_get_lpm_wake_lock ,user 
+0134 6fe24fef fetch 1 ,ipc_hold_bt 
+0135 c000813b beq 1 ,p_app_get_lpm_wake_lock 
+0136 6fe24496 fetch 1 ,mem_le_pairing_state 
+0137 c0800139 bne flag_le_pairing_null ,p_module_lpm_lock_check_pairing 
+0138 20204d4d branch app_put_lpm_wake_lock 
+
+p_module_lpm_lock_check_pairing:
+0139 c07fcd4d beq flag_le_pairing_end ,app_put_lpm_wake_lock 
+013a 2020013b branch p_app_get_lpm_wake_lock 
+
+p_app_get_lpm_wake_lock:
+013b 20400040 call p_enable_chgpump 
+013c 204067bc call wake_up_m0 
+013d 20204d4b branch app_get_lpm_wake_lock 
+
+p_module_bt_conn_process:
+013e 20400140 call p_module_spp_enter_sniff 
+013f 202050d3 branch module_control_air_flow 
+
+p_module_spp_enter_sniff:
+0140 20204dc7 branch module_spp_enter_sniff 
+
+p_module_hci_cmd_control:
+0141 6fe20aff fetch 1 ,mem_module_uart_opcode 
+0142 c01381b9 beq hci_cmd_sleep ,p_module_hci_cmd_enter_sleep 
+0143 c0060168 beq hci_cmd_set_pairing_req ,p_module_hci_cmd_set_pairing_mode 
+0144 c03b0171 beq hci_cmd_delete_customize_service ,module_hci_cmd_delete_customize_service 
+0145 c03b8177 beq hci_cmd_add_service_uuid ,module_hci_cmd_add_service_uuid 
+0146 c03c017c beq hci_cmd_add_characteristic_uuid ,module_hci_cmd_add_characteristic_uuid 
+0147 c00a81b6 beq hci_cmd_set_cod ,module_hci_cmd_le_set_adv_data_set_cod 
+0148 c02001ba beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+0149 c07f8165 beq hci_test_cmd_close_lpm ,p_module_hci_test_cmde_close_lpm 
+014a c03c81c7 beq hci_cmd_mcu_set_bt_wake_timer ,p_module_hci_mcu_set_bt_wake_timer 
+014b c05881ca beq hci_cmd_creat_bt_reconnect ,p_moudle_hci_cmd_creat_bt_reconnect 
+014c c001014e beq hci_cmd_set_visibility_req ,p_module_hci_cmd_set_visibility 
+014d 20204e5c branch module_hci_cmd_control + 2 
+
+p_module_hci_cmd_set_visibility:
+014e 6fe20b00 fetch 1 ,mem_module_uart_len 
+014f c080d01c bne 1 ,module_hci_event_receive_invalid_cmd 
+0150 1a220600 copy rega ,contru 
+0151 2040501f call module_hci_event_receive_valid_cmd 
+0152 e8420003 ifetcht 1 ,contru 
+0153 6042466f storet 1 ,mem_module_bluetooth_stauts_by_command 
+
+p_module_start_adv_discovery_by_command:
+0154 6fe2466c fetch 1 ,mem_module_state 
+0155 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+0156 2420815c nbranch p_moudle_start_adv_by_command ,true 
+0157 6fe44652 fetch 2 ,mem_ui_state_map 
+0158 c280015c bbit1 ui_state_bt_connected ,p_moudle_start_adv_by_command 
+0159 6842466f fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+015a 18417e03 and temp ,0x03 ,pdata 
+015b 67e24093 store 1 ,mem_scan_mode 
+
+p_moudle_start_adv_by_command:
+015c 6fe2466c fetch 1 ,mem_module_state 
+015d 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+015e 24608000 nrtn true 
+015f 6fe44652 fetch 2 ,mem_ui_state_map 
+0160 c3848000 rtnbit1 ui_state_ble_connected 
+0161 6842466f fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0162 284ffe02 isolate1 2 ,temp 
+0163 2020cd75 branch app_ble_start_adv ,true 
+0164 20204d73 branch app_ble_stop_adv 
+
+p_module_hci_test_cmde_close_lpm:
+0165 efe20003 ifetch 1 ,contru 
+0166 67e24091 store 1 ,mem_lpm_mode 
+0167 20600000 rtn 
+
+p_module_hci_cmd_set_pairing_mode:
+0168 1a220600 copy rega ,contru 
+0169 efe20003 ifetch 1 ,contru 
+016a c0004f1c beq pairing_pincode ,module_hci_pairing_pincode_mode 
+016b c000cf1f beq pairing_justwork ,module_hci_pairing_just_work_mode 
+016c c0014f25 beq pairing_passkey ,module_hci_pairing_passkey 
+016d c001816f beq pairing_confirm ,p_module_hci_pairing_numeric_comparison 
+016e 2020501c branch module_hci_event_receive_invalid_cmd 
+
+p_module_hci_pairing_numeric_comparison:
+016f 58000001 setarg 0x000001 
+0170 20204f20 branch module_hci_sspairing_mode 
+
+module_hci_cmd_delete_customize_service:
+0171 d840000c arg 0x000C ,temp 
+0172 20405b4d call le_att_get_handle_ptr2 
+0173 18c08bfe add contr ,-2 ,contw 
+0174 58000000 setarg 0x0000 
+0175 e7e40005 istore 2 ,contw 
+0176 2020501f branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_add_service_uuid:
+0177 20400180 call module_hci_cmd_add_service_uuid_set_uuid 
+0178 2040019d call uart_copy_rx_bytes_len_data 
+0179 58000000 setarg 0x0000 
+017a e7e40005 istore 2 ,contw 
+017b 202001af branch module_hci_event_uuid_handle 
+
+module_hci_cmd_add_characteristic_uuid:
+017c efe20003 ifetch 1 ,contru 
+017d 20400184 call module_hci_cmd_add_characteristic_uuid_set_handle 
+017e 2040018b call module_hci_cmd_add_characteristic_uuid_set_uuid 
+017f 202001af branch module_hci_event_uuid_handle 
+
+module_hci_cmd_add_service_uuid_set_uuid:
+0180 204001a1 call le_att_creat_new_handle 
+0181 58280002 setarg 0x280002 
+0182 e7e60005 istore 3 ,contw 
+0183 20600000 rtn 
+
+module_hci_cmd_add_characteristic_uuid_set_handle:
+0184 67e20a96 store 1 ,mem_pdatatemp 
+0185 204001a1 call le_att_creat_new_handle 
+0186 59280302 setarg 0x01280302 
+0187 e7e80005 istore 4 ,contw 
+0188 6fe20a96 fetch 1 ,mem_pdatatemp 
+0189 e7e60005 istore 3 ,contw 
+018a 20600000 rtn 
+
+module_hci_cmd_add_characteristic_uuid_set_uuid:
+018b 204001a1 call le_att_creat_new_handle 
+018c 2040019d call uart_copy_rx_bytes_len_data 
+018d 2040019d call uart_copy_rx_bytes_len_data 
+018e 58000000 setarg 0 
+018f e7e40005 istore 2 ,contw 
+0190 184085ff increase -1 ,temp 
+0191 20405b4d call le_att_get_handle_ptr2 
+0192 18c08c04 add contr ,4 ,contr 
+0193 efe20006 ifetch 1 ,contr 
+0194 c2820198 bbit1 bit_characteristic_notify ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+0195 c2828198 bbit1 bit_characteristic_indicate ,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid 
+0196 18408401 increase 1 ,temp 
+0197 20600000 rtn 
+
+module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+0198 204001a1 call le_att_creat_new_handle 
+0199 5a290202 setarg 0x02290202 
+019a e7f00005 istore 8 ,contw 
+019b 184085ff increase -1 ,temp 
+019c 20600000 rtn 
+
+uart_copy_rx_bytes_len_data:
+019d efe20003 ifetch 1 ,contru 
+019e 1fe27200 copy pdata ,loopcnt 
+019f e7e20005 istore 1 ,contw 
+01a0 202067ed branch uart_copy_rx_bytes 
+
+le_att_creat_new_handle:
+01a1 204001a4 call le_att_get_last_handle 
+01a2 e0440005 istoret 2 ,contw 
+01a3 20600000 rtn 
+
+le_att_get_last_handle:
+01a4 6fe4448e fetch 2 ,mem_ui_le_uuid_table 
+01a5 98000c00 iforce contr 
+
+le_att_get_last_handle_loop:
+01a6 efe40006 ifetch 2 ,contr 
+01a7 207a0000 rtn blank 
+01a8 1fe08401 add pdata ,1 ,temp 
+01a9 efe20006 ifetch 1 ,contr 
+01aa 98c08c00 iadd contr ,contr 
+01ab efe20006 ifetch 1 ,contr 
+01ac 98c08c00 iadd contr ,contr 
+01ad 18c20a00 copy contr ,contw 
+01ae 202001a6 branch le_att_get_last_handle_loop 
+
+module_hci_event_uuid_handle:
+01af 60440a9e storet 2 ,mem_temp 
+01b0 700aff29 jam hci_event_uuid_handle ,mem_module_uart_opcode 
+01b1 58000002 setarg 2 
+01b2 204050a5 call module_hci_prepare_tx 
+01b3 68440a9e fetcht 2 ,mem_temp 
+01b4 e044000a istoret 2 ,contwu 
+01b5 202067b9 branch uartd_send 
+
+module_hci_cmd_le_set_adv_data_set_cod:
+01b6 efe60003 ifetch 3 ,contru 
+01b7 67e640aa store 3 ,mem_class 
+01b8 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_cmd_enter_sleep:
+01b9 20204d85 branch app_enter_hibernate 
+
+module_hci_cmd_set_wake_gpio:
+01ba efe20003 ifetch 1 ,contru 
+01bb 68484179 fetcht 4 ,mem_lpm_xtalcnt 
+01bc 793a0410 setflag blank ,16 ,temp 
+01bd 793a0418 setflag blank ,24 ,temp 
+01be 60484179 storet 4 ,mem_lpm_xtalcnt 
+01bf 68424157 fetcht 1 ,mem_lpm_hibernate_switch 
+01c0 793a0400 setflag blank ,0 ,temp 
+01c1 60424157 storet 1 ,mem_lpm_hibernate_switch 
+01c2 efec0003 ifetch 6 ,contru 
+01c3 67ec00a1 store 6 ,mem_gpio_wakeup 
+01c4 67ec4bf2 store 6 ,mem_gpio_wakeup_backup 
+01c5 20404be3 call lpm_write_gpio_wakeup 
+01c6 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_mcu_set_bt_wake_timer:
+01c7 efe80003 ifetch 4 ,contru 
+01c8 67e84bee store 4 ,mem_mcu_set_bt_wake_timer 
+01c9 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_moudle_hci_cmd_creat_bt_reconnect:
+01ca efec0003 ifetch 6 ,contru 
+01cb 67ec40a0 store 6 ,mem_lap 
+01cc efec0003 ifetch 6 ,contru 
+01cd 67ec41d1 store 6 ,mem_hci_plap 
+01ce d8a041bf arg mem_link_key ,contw 
+01cf df200010 arg 16 ,loopcnt 
+01d0 204067ed call uart_copy_rx_bytes 
+01d1 204068be call check_link_key_load 
+01d2 20404d5c call app_bt_start_reconnect 
+01d3 2020501f branch module_hci_event_receive_valid_cmd 
+
+p_module_hci_cmd_transmit_le_notify:
+01d4 6fe24679 fetch 1 ,mem_module_flag 
+01d5 c28182ab bbit1 module_receive_complete_prepare_write_req ,p_le_send_att_prepare_write_response 
+01d6 6fe24679 fetch 1 ,mem_module_flag 
+01d7 c3838000 rtnbit1 module_recv_confirm 
+01d8 6fe44478 fetch 2 ,mem_le_local_mtu 
+01d9 20407db5 call not_greater_than 
+01da 1fe20400 copy pdata ,temp 
+01db 1840fffd add temp ,-3 ,pdata 
+01dc d84000c8 arg 200 ,temp 
+01dd 20407db5 call not_greater_than 
+01de 6842467a fetcht 1 ,mem_module_hci_notify_len 
+01df 20407db5 call not_greater_than 
+01e0 1fe22200 copy pdata ,rega 
+01e1 18427e00 copy temp ,pdata 
+01e2 9a267e00 isub rega ,pdata 
+01e3 67e2467a store 1 ,mem_module_hci_notify_len 
+01e4 6844467b fetcht 2 ,mem_module_hci_notify_handle 
+01e5 184085ff increase -1 ,temp 
+01e6 20405b4d call le_att_get_handle_ptr2 
+01e7 203a01f4 branch p_module_hci_cmd_transmit_handle_error ,blank 
+01e8 e8480006 ifetcht 4 ,contr 
+01e9 59280302 setarg 0x01280302 
+01ea 98467c00 isub temp ,null 
+01eb 242281f4 nbranch p_module_hci_cmd_transmit_handle_error ,zero 
+01ec efe20006 ifetch 1 ,contr 
+01ed c28281f0 bbit1 bit_characteristic_indicate ,p_module_hci_cmd_transmit_le_indicate 
+01ee c2824f01 bbit1 bit_characteristic_notify ,module_hci_cmd_transmit_le_notify + 13 
+01ef 202001f4 branch p_module_hci_cmd_transmit_handle_error 
+
+p_module_hci_cmd_transmit_le_indicate:
+01f0 20400375 call module_set_recv_confirm_flag 
+01f1 6844467b fetcht 2 ,mem_module_hci_notify_handle 
+01f2 20405e4d call le_att_malloc_tx_indication 
+01f3 20204f03 branch module_hci_cmd_transmit_le_notify + 15 
+
+p_module_hci_cmd_transmit_handle_error:
+01f4 70467a00 jam 0 ,mem_module_hci_notify_len 
+01f5 700b0101 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+01f6 204050e0 call module_clear_le_tx_data_flag 
+01f7 2020501c branch module_hci_event_receive_invalid_cmd 
+
+p_le_init_conn:
+01f8 6fe24bed fetch 1 ,mem_ble_dle_enable 
+01f9 243a5709 nbranch le_init_conn + 1 ,blank 
+01fa 20405709 call le_init_conn + 1 
+01fb 704adb01 jam 1 ,mem_le_txheader_temp 
+01fc 704adc00 jam 0 ,mem_le_txlen_temp 
+01fd 58000000 setarg 0 
+01fe 67f04ad1 store 8 ,mem_le_buff_len 
+01ff 5800001b setarg 27 
+0200 67e44ad9 store 2 ,mem_module_master_rx_max 
+0201 20600000 rtn 
+
+p_le_receive_skip:
+0202 204049ba call save_rssi 
+0203 7823fc00 enable enable_white 
+0204 7824fc00 enable enable_crc 
+0205 09800008 parse demod ,bucket ,8 
+0206 19897e00 rshift3 pwindow ,pdata 
+0207 67e202d5 store 1 ,mem_le_rxbuf 
+0208 09800008 parse demod ,bucket ,8 
+0209 19897e00 rshift3 pwindow ,pdata 
+020a e7e20005 istore 1 ,contw 
+020b 1fe27200 copy pdata ,loopcnt 
+020c 203a588b branch lerx_nopayload ,blank 
+020d 20205887 branch lerx_loop 
+
+p_le_transmit_receive_sifs:
+020e 204058a3 call le_transmit 
+020f 20404915 call set_sync_on 
+0210 68420017 fetcht 1 ,mem_last_freq 
+0211 2040491c call set_freq_rx 
+0212 200005dc nop 1500 
+0213 20404921 call rf_rx_enable 
+0214 78287c00 enable swfine 
+0215 d960157c arg 5500 ,timeup 
+0216 20205869 branch le_receive_rxon 
+
+p_le_transmit:
+0217 204057af call le_prep 
+0218 2040021a call p_letx_setfreq 
+0219 202058a7 branch le_transmit0 
+
+p_letx_setfreq:
+021a 20368099 branch p_txon ,match 
+021b 202057be branch letx_setfreq + 1 
+
+p_le_transmit0:
+021c 6fe24bed fetch 1 ,mem_ble_dle_enable 
+021d 243a58b3 nbranch le_transmit0 + 12 ,blank 
+021e 6fe24adb fetch 1 ,mem_le_txheader_temp 
+021f 08008608 inject mod ,8 
+0220 efe20006 ifetch 1 ,contr 
+0221 1fe27200 copy pdata ,loopcnt 
+0222 08008608 inject mod ,8 
+0223 2022d8bc branch letr_nopayload ,zero 
+0224 202058b9 branch letr_loop 
+
+p_le_send_adv_ind:
+0225 6fe24bed fetch 1 ,mem_ble_dle_enable 
+0226 243a58c4 nbranch le_send_adv_ind + 1 ,blank 
+0227 6fe24456 fetch 1 ,mem_le_adv_type 
+0228 c000d8d3 beq adv_direct_ind ,le_send_adv_direct_ind 
+0229 6fe24457 fetch 1 ,mem_le_adv_own_addr_type 
+022a 1ff27e00 lshift4 pdata ,pdata 
+022b 1febfe00 lshift2 pdata ,pdata 
+022c 67e24adb store 1 ,mem_le_txheader_temp 
+022d 68424341 fetcht 1 ,mem_le_adv_data_len 
+022e 1840fe06 add temp ,6 ,pdata 
+022f 67e24adc store 1 ,mem_le_txlen_temp 
+0230 6fec4472 fetch 6 ,mem_le_lap 
+0231 67ec4add store 6 ,mem_le_txpayload_temp 
+0232 18427200 copy temp ,loopcnt 
+0233 d8c04342 arg mem_le_adv_data ,contr 
+0234 20407ccf call memcpy_fast 
+0235 202058de branch le_send_adv_transmit 
+
+p_le_send_scan_response:
+0236 6fe24bed fetch 1 ,mem_ble_dle_enable 
+0237 243a58f7 nbranch le_send_scan_response + 1 ,blank 
+0238 d8400004 arg scan_rsp ,temp 
+0239 6fe24457 fetch 1 ,mem_le_adv_own_addr_type 
+023a 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+023b 60424adb storet 1 ,mem_le_txheader_temp 
+023c 68424361 fetcht 1 ,mem_le_scan_data_len 
+023d 1840fe06 add temp ,6 ,pdata 
+023e 67e24adc store 1 ,mem_le_txlen_temp 
+023f 6fec4472 fetch 6 ,mem_le_lap 
+0240 67ec4add store 6 ,mem_le_txpayload_temp 
+0241 d8c04362 arg mem_le_scan_data ,contr 
+0242 18427200 copy temp ,loopcnt 
+0243 20407ccf call memcpy_fast 
+0244 204058a1 call le_transmit_norx 
+0245 20205ae2 branch le_adv_not_match 
+
+p_le_acknowledge:
+0246 20405ac9 call le_supervision_flush 
+0247 2040599a call le_check_wak 
+0248 6fe202d5 fetch 1 ,mem_le_rxbuf 
+0249 2feffe04 isolate1 md ,pdata 
+024a 7920802a setflag true ,mark_ble_rx_md ,mark 
+024b 1fe37e00 rshift pdata ,pdata 
+024c 9842fe00 ixor temp ,pdata 
+024d 2feffe02 isolate1 nesn ,pdata 
+024e 7920800f setflag true ,mark_old_packet ,mark 
+024f c6078000 rtnmark1 mark_old_packet 
+0250 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+0251 203a0258 branch p_le_ack_unenc ,blank 
+0252 6fe2043b fetch 1 ,mem_le_state 
+0253 c3020258 bbit0 lestate_encryption ,p_le_ack_unenc 
+0254 20407342 call load_sk 
+0255 204072b2 call le_decrypt 
+0256 7d3a000f nsetflag blank ,mark_old_packet ,mark 
+0257 247a0000 nrtn blank 
+
+p_le_ack_unenc:
+0258 68420452 fetcht 1 ,mem_le_arq 
+0259 79400402 setflip nesn ,temp 
+025a 60420452 storet 1 ,mem_le_arq 
+025b 6fe24bed fetch 1 ,mem_ble_dle_enable 
+025c 247a0000 nrtn blank 
+025d 2020025e branch p_le_parse_writing_attribute 
+
+p_le_parse_writing_attribute:
+025e 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+025f 207a0000 rtn blank 
+0260 6fe202d5 fetch 1 ,mem_le_rxbuf 
+0261 2fe00601 compare 1 ,pdata ,3 
+0262 20208286 branch p_le_parse_writing_attribute_continue ,true 
+0263 2fe00602 compare 2 ,pdata ,3 
+0264 20208266 branch p_le_parse_writing_attribute_start ,true 
+0265 20600000 rtn 
+
+p_le_parse_writing_attribute_start:
+0266 6fe402d9 fetch 2 ,mem_le_rxbuf + 4 
+0267 c1820000 rtnne le_l2cap_cid_att 
+0268 efe60006 ifetch 3 ,contr 
+0269 67e60473 store 3 ,mem_le_att_opcode 
+026a 7920000f set1 mark_old_packet ,mark 
+026b c009027a beq attop_write_request ,p_le_parse_att_write_request 
+026c c029027c beq attop_write_command ,p_le_parse_att_write_command 
+026d c00b0273 beq attop_prepare_write_request ,p_le_parse_att_prepare_write_request 
+026e c00c5e3b beq attop_execute_write_request ,le_parse_att_execute_write_request 
+026f c0010377 beq attop_exchange_mtu_request ,p_le_parse_att_exchange_mtu_request 
+0270 c00f0373 beq attop_handle_value_confirmation ,p_le_parse_handle_value_confirmation 
+0271 793f800f set0 mark_old_packet ,mark 
+0272 20600000 rtn 
+
+p_le_parse_att_prepare_write_request:
+0273 58000b1e setarg mem_module_prepare_write_request_packet 
+0274 67e44ad5 store 2 ,mem_module_prepare_write_request_contw 
+0275 2040027f call p_le_long_packet_patch 
+0276 1f20f3fe increase -2 ,loopcnt 
+0277 da2002e0 arg mem_le_rxbuf + 11 ,rega 
+0278 20405abe call le_writeatt_cb 
+0279 2020029f branch p_le_parse_att_prepare_write_request_finish 
+
+p_le_parse_att_write_request:
+027a 2040027c call p_le_parse_att_write_command 
+027b 20200296 branch p_le_send_att_write_response_check_auth 
+
+p_le_parse_att_write_command:
+027c 2040027f call p_le_long_packet_patch 
+027d da2002de arg mem_le_rxbuf + 9 ,rega 
+027e 20205abe branch le_writeatt_cb 
+
+p_le_long_packet_patch:
+027f 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+0280 1fe0f3f9 add pdata ,-7 ,loopcnt 
+0281 1fe0fffc increase -4 ,pdata 
+0282 67e44ad1 store 2 ,mem_le_buff_len 
+0283 e8440006 ifetcht 2 ,contr 
+0284 60444ad3 storet 2 ,mem_le_buff_len_all 
+0285 20600000 rtn 
+
+p_le_parse_writing_attribute_continue:
+0286 7920000f set1 mark_old_packet ,mark 
+0287 2040028e call p_parse_l2cap_continue_common 
+0288 6fe20473 fetch 1 ,mem_le_att_opcode 
+0289 c0090296 beq attop_write_request ,p_parse_l2cap_continue_write_request 
+028a c00b0295 beq attop_prepare_write_request ,p_parse_l2cap_continue_prepare_write_request 
+028b c1290000 rtneq attop_write_command 
+028c 793f800f set0 mark_old_packet ,mark 
+028d 20600000 rtn 
+
+p_parse_l2cap_continue_write_common:
+
+p_parse_l2cap_continue_common:
+028e 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+028f 68444ad1 fetcht 2 ,mem_le_buff_len 
+0290 98408400 iadd temp ,temp 
+0291 60444ad1 storet 2 ,mem_le_buff_len 
+0292 1fe27200 copy pdata ,loopcnt 
+0293 da2002d7 arg mem_le_rxbuf + 2 ,rega 
+0294 20205abe branch le_writeatt_cb 
+
+p_parse_l2cap_continue_prepare_write_request:
+0295 2020029f branch p_le_parse_att_prepare_write_request_finish 
+
+p_parse_l2cap_continue_write_request:
+
+p_le_send_att_write_response_check_auth:
+0296 20400299 call p_le_check_complete_packet 
+0297 24740000 nrtn user 
+0298 20200475 branch p_le_send_att_write_response_check_auth0 
+
+p_le_check_complete_packet:
+0299 20407dc1 call disable_user 
+029a 6fe44ad3 fetch 2 ,mem_le_buff_len_all 
+029b 68444ad1 fetcht 2 ,mem_le_buff_len 
+029c 98467c00 isub temp ,null 
+029d 24628000 nrtn zero 
+029e 20207dbf branch enable_user 
+
+p_le_parse_att_prepare_write_request_finish:
+029f 6fe44ad5 fetch 2 ,mem_module_prepare_write_request_contw 
+02a0 1fe20a00 copy pdata ,contw 
+02a1 6fe202d6 fetch 1 ,mem_le_rxbuf + 1 
+02a2 1fe27200 copy pdata ,loopcnt 
+02a3 20407cdc call memcpy 
+02a4 18a27e00 copy contw ,pdata 
+02a5 67e44ad5 store 2 ,mem_module_prepare_write_request_contw 
+02a6 20400299 call p_le_check_complete_packet 
+02a7 24740000 nrtn user 
+02a8 d8e00003 arg module_receive_complete_prepare_write_req ,queue 
+02a9 204050e6 call module_set_state 
+02aa 202002ab branch p_le_send_att_prepare_write_response 
+
+p_le_send_att_prepare_write_response:
+02ab 20405c74 call le_fifo_check_empty 
+02ac 247a0000 nrtn blank 
+02ad 700b2217 jam attop_prepare_write_response ,mem_module_prepare_write_request_opcode 
+02ae 58000b1e setarg mem_module_prepare_write_request_packet 
+02af 67e44ad7 store 2 ,mem_module_prepare_write_request_contr 
+02b0 68440b1e fetcht 2 ,mem_module_prepare_write_request_pdu_length 
+02b1 18408404 increase 4 ,temp 
+02b2 580000f9 setarg le_baseband_max_buffer 
+02b3 20407db5 call not_greater_than 
+02b4 1fe0a5fc add pdata ,-4 ,regb 
+02b5 18000202 force llid_start ,type 
+
+p_le_send_att_prepare_write_response_continue:
+02b6 1fe22200 copy pdata ,rega 
+02b7 20405c32 call le_fifo_malloc_tx + 2 
+02b8 6fe44ad7 fetch 2 ,mem_module_prepare_write_request_contr 
+02b9 1fe20c00 copy pdata ,contr 
+02ba 1a227200 copy rega ,loopcnt 
+02bb 20407ccf call memcpy_fast 
+02bc 18c27e00 copy contr ,pdata 
+02bd 67e44ad7 store 2 ,mem_module_prepare_write_request_contr 
+02be 6fe40b1e fetch 2 ,mem_module_prepare_write_request_pdu_length 
+02bf 9a467e00 isub regb ,pdata 
+02c0 67e40b1e store 2 ,mem_module_prepare_write_request_pdu_length 
+02c1 203a02c7 branch p_le_send_att_prepare_write_response_ending ,blank 
+02c2 d84000f9 arg le_baseband_max_buffer ,temp 
+02c3 20407db5 call not_greater_than 
+02c4 1fe22400 copy pdata ,regb 
+02c5 18000201 force llid_continue ,type 
+02c6 202002b6 branch p_le_send_att_prepare_write_response_continue 
+
+p_le_send_att_prepare_write_response_ending:
+02c7 58000000 setarg 0 
+02c8 67e44ad5 store 2 ,mem_module_prepare_write_request_contw 
+02c9 d8e00003 arg module_receive_complete_prepare_write_req ,queue 
+02ca 202050e2 branch module_clr_state 
+
+p_le_check_wak:
+02cb 6fe24bed fetch 1 ,mem_ble_dle_enable 
+02cc 243a599b nbranch le_check_wak + 1 ,blank 
+02cd 68420452 fetcht 1 ,mem_le_arq 
+02ce 284c0005 isolate0 wak ,temp 
+02cf 20608000 rtn true 
+02d0 6fe202d5 fetch 1 ,mem_le_rxbuf 
+02d1 1fe3fe00 lshift pdata ,pdata 
+02d2 9842fe00 ixor temp ,pdata 
+02d3 c4018000 rtnbit0 sn 
+02d4 793f8405 set0 wak ,temp 
+02d5 79400403 setflip sn ,temp 
+02d6 60420452 storet 1 ,mem_le_arq 
+02d7 28400603 compare 3 ,temp ,3 
+02d8 24608000 nrtn true 
+02d9 6fe24add fetch 1 ,mem_le_txpayload_temp 
+02da c002d9ac beq ll_start_enc_req ,le_set_enc 
+02db 6fe24497 fetch 1 ,mem_le_enc_state 
+02dc c00159b0 beq flag_le_enc_pause ,le_clear_enc 
+02dd 20600000 rtn 
+
+p_le_prepare_tx:
+02de 6fe24bed fetch 1 ,mem_ble_dle_enable 
+02df 243a59f9 nbranch le_prepare_tx + 1 ,blank 
+02e0 6fe20452 fetch 1 ,mem_le_arq 
+02e1 c3828000 rtnbit1 wak 
+02e2 20405a1c call le_check_tx_md 
+02e3 20405c53 call le_fifo_get_first_tx_ptr 
+02e4 203a5a3e branch le_send_empty ,blank 
+02e5 efe20006 ifetch 1 ,contr 
+02e6 e8420006 ifetcht 1 ,contr 
+02e7 18422200 copy temp ,rega 
+02e8 9a267e00 isub rega ,pdata 
+02e9 20400303 call p_le_get_master_rx_max 
+02ea 20407db5 call not_greater_than 
+02eb 1fe20400 copy pdata ,temp 
+02ec efe20006 ifetch 1 ,contr 
+02ed 1fe20200 copy pdata ,type 
+02ee 1a227e00 copy rega ,pdata 
+02ef 98c08c00 iadd contr ,contr 
+02f0 d8a04add arg mem_le_txpayload_temp ,contw 
+02f1 18427200 copy temp ,loopcnt 
+02f2 20407ccf call memcpy_fast 
+02f3 20405a2e call le_update_tx_type 
+02f4 20405a40 call le_send_packet 
+02f5 20405c53 call le_fifo_get_first_tx_ptr 
+02f6 efe20006 ifetch 1 ,contr 
+02f7 1fe22200 copy pdata ,rega 
+02f8 18c22600 copy contr ,regc 
+02f9 e8420006 ifetcht 1 ,contr 
+02fa 18422400 copy temp ,regb 
+02fb 9a467e00 isub regb ,pdata 
+02fc 20400303 call p_le_get_master_rx_max 
+02fd 20407db5 call not_greater_than 
+02fe 9a40fe00 iadd regb ,pdata 
+02ff e7e20013 istore 1 ,regc 
+0300 9a267c00 isub rega ,null 
+0301 24628000 nrtn zero 
+0302 20205c76 branch le_fifo_release_first_node 
+
+p_le_get_master_rx_max:
+0303 18c20a00 copy contr ,contw 
+0304 68444ad9 fetcht 2 ,mem_module_master_rx_max 
+0305 18a20c00 copy contw ,contr 
+0306 20600000 rtn 
+
+p_le_send_packet:
+0307 6fe24bed fetch 1 ,mem_ble_dle_enable 
+0308 243a5a41 nbranch le_send_packet + 1 ,blank 
+0309 60424adc storet 1 ,mem_le_txlen_temp 
+030a 68420452 fetcht 1 ,mem_le_arq 
+030b 79200405 set1 wak ,temp 
+030c 18417efc and temp ,0xfc ,pdata 
+030d 9821fe00 ior type ,pdata 
+030e 67e20452 store 1 ,mem_le_arq 
+030f 1fe17e1f and_into 0x1f ,pdata 
+0310 280ffe29 isolate1 mark_ble_tx_md ,mark 
+0311 7920fe04 setflag true ,md ,pdata 
+0312 67e24adb store 1 ,mem_le_txheader_temp 
+0313 6fe24adb fetch 1 ,mem_le_txheader_temp 
+0314 28200601 compare 1 ,type ,3 
+0315 24208318 nbranch p_le_send_no_txlen ,true 
+0316 6fe24adc fetch 1 ,mem_le_txlen_temp 
+0317 207a0000 rtn blank 
+
+p_le_send_no_txlen:
+0318 6fe2043b fetch 1 ,mem_le_state 
+0319 c4020000 rtnbit0 lestate_encryption 
+031a 20407342 call load_sk 
+031b 20207299 branch le_encrypt 
+
+p_le_encrypt:
+031c 6fe24bed fetch 1 ,mem_ble_dle_enable 
+031d 243a729a nbranch le_encrypt + 1 ,blank 
+031e da604adb arg mem_le_txheader_temp ,regc 
+031f 684a43d5 fetcht 5 ,mem_le_pcnt_tx 
+0320 20407277 call generate_mic 
+0321 18007008 force regidx_xor ,regext_index 
+0322 98005e00 iforce regext 
+0323 18002200 force 0 ,rega 
+0324 20407263 call first_block_data 
+0325 204072e8 call aes_init 
+0326 da604add arg mem_le_txpayload_temp ,regc 
+0327 6fe24adc fetch 1 ,mem_le_txlen_temp 
+0328 1fe0a5ff add pdata ,-1 ,regb 
+0329 9a608a00 iadd regc ,contw 
+032a 1800700c force regidx_result ,regext_index 
+032b 1de27e00 deposit regext 
+032c e7e80005 istore 4 ,contw 
+032d 2040728e call aes_crypt_data 
+032e 6fe24adc fetch 1 ,mem_le_txlen_temp 
+032f 1fe0fe04 increase 4 ,pdata 
+0330 67e24adc store 1 ,mem_le_txlen_temp 
+0331 684a43d5 fetcht 5 ,mem_le_pcnt_tx 
+0332 18408401 increase 1 ,temp 
+0333 604a43d5 storet 5 ,mem_le_pcnt_tx 
+0334 20600000 rtn 
+
+p_le_parse:
+0335 c6078000 rtnmark1 mark_old_packet 
+0336 20405c70 call le_fifo_check_full 
+0337 247a0000 nrtn blank 
+0338 6fe202d5 fetch 1 ,mem_le_rxbuf 
+0339 1fe17e03 and pdata ,0x3 ,pdata 
+033a 67e244de store 1 ,mem_le_packet_llid 
+033b efe20006 ifetch 1 ,contr 
+033c 67e244dd store 1 ,mem_le_packet_size 
+033d 207a0000 rtn blank 
+033e 18c27e00 copy contr ,pdata 
+033f 67e444df store 2 ,mem_le_payload_ptr 
+0340 6fe244de fetch 1 ,mem_le_packet_llid 
+0341 c0018347 beq llid_le_ll ,p_le_parse_ll 
+0342 20405a76 call le_check_l2cap_complete 
+0343 d8e00003 arg wake_lock_ble_rx_patch ,queue 
+0344 24344bec nbranch lpm_get_wake_lock ,user 
+0345 20404bf0 call lpm_put_wake_lock 
+0346 20205a6b branch le_parse_l2cap + 3 
+
+p_le_parse_ll:
+0347 6fe24bed fetch 1 ,mem_ble_dle_enable 
+0348 243a6044 nbranch le_parse_ll ,blank 
+0349 6fe202d7 fetch 1 ,mem_le_rxbuf + 2 
+034a c004034d beq ll_feature_req ,p_le_parse_feature_req 
+034b c00a035a beq ll_length_req ,p_le_parse_length_request 
+034c 20206045 branch le_parse_ll + 1 
+
+p_le_parse_feature_req:
+
+p_le_send_feature_rsp:
+034d da200009 arg 9 ,rega 
+034e da400009 arg ll_feature_rsp ,regb 
+034f 20405c22 call le_fifo_malloc_tx_ll 
+0350 58000021 setarg 0x21 
+0351 e7f00005 istore 8 ,contw 
+0352 20400354 call p_check_ble_dle_enable 
+0353 20600000 rtn 
+
+p_check_ble_dle_enable:
+0354 6fe202d8 fetch 1 ,mem_le_rxbuf + 3 
+0355 1fe17e20 and pdata ,0x20 ,pdata 
+0356 203a0358 branch p_set_ble_dle_disable ,blank 
+0357 20600000 rtn 
+
+p_set_ble_dle_disable:
+0358 704bed01 jam dle_disable ,mem_ble_dle_enable 
+0359 20600000 rtn 
+
+p_le_parse_length_request:
+035a efe40006 ifetch 2 ,contr 
+035b 67e44ad9 store 2 ,mem_module_master_rx_max 
+035c 2020035d branch p_le_send_length_res 
+
+p_le_send_length_res:
+035d da200009 arg 9 ,rega 
+035e da400015 arg ll_length_rsp ,regb 
+035f 20405c22 call le_fifo_malloc_tx_ll 
+0360 580000fb setarg 251 
+0361 e7e40005 istore 2 ,contw 
+0362 58000848 setarg 2120 
+0363 e7e40005 istore 2 ,contw 
+0364 580000fb setarg 251 
+0365 e7e40005 istore 2 ,contw 
+0366 58000848 setarg 2120 
+0367 e7e40005 istore 2 ,contw 
+0368 20600000 rtn 
+
+p_le_parse_l2cap:
+0369 efe40006 ifetch 2 ,contr 
+036a c002036e beq le_l2cap_cid_att ,p_le_parse_att 
+036b c0035ed4 beq le_l2cap_cid_smp ,le_parse_smp 
+036c c002de96 beq le_l2cap_cid_signal ,le_parse_signaling 
+036d 20600000 rtn 
+
+p_le_parse_att:
+036e efe60006 ifetch 3 ,contr 
+036f 67e60473 store 3 ,mem_le_att_opcode 
+0370 c0050466 beq attop_read_request ,p_le_parse_att_read_request 
+0371 c0090471 beq attop_write_request ,p_le_parse_att_write_request0 
+0372 20205c8d branch le_parse_att + 2 
+
+p_le_parse_handle_value_confirmation:
+
+module_clear_recv_confirm_flag:
+0373 d8e00007 arg module_recv_confirm ,queue 
+0374 202050e2 branch module_clr_state 
+
+module_set_recv_confirm_flag:
+0375 d8e00007 arg module_recv_confirm ,queue 
+0376 202050e6 branch module_set_state 
+
+p_le_parse_att_exchange_mtu_request:
+0377 20405ca9 call le_parse_att_exchange_mtu_response 
+0378 67e44478 store 2 ,mem_le_local_mtu 
+0379 20205ca2 branch le_send_att_exchange_mtu_response 
+
+p_le_modified_name:
+037a 20405b86 call le_modified_name_att_list 
+
+p_le_modified_name_adv:
+037b da604381 arg mem_le_scan_data_len + 32 ,regc 
+037c da204362 arg mem_le_scan_data ,rega 
+037d 20205ba5 branch le_modified_name_adv_and_scan 
+
+p_le_lpm_set_mult:
+037e 6fe24bed fetch 1 ,mem_ble_dle_enable 
+037f 243a5bd5 nbranch le_lpm_set_mult + 1 ,blank 
+0380 7855fc00 disable wake 
+0381 20370383 branch p_le_lpm_set_mult_attempt ,attempt 
+0382 2436dbe6 nbranch le_lpm_lost ,match 
+
+p_le_lpm_set_mult_attempt:
+0383 20404ba0 call lpm_match 
+0384 6fe440c1 fetch 2 ,mem_rx_window_sniff 
+0385 67e40449 store 2 ,mem_le_receive_window 
+0386 2436cbb3 nbranch lpm_mult_short ,match 
+0387 c507cbb3 bmark1 mark_old_packet ,lpm_mult_short 
+0388 6fe244dd fetch 1 ,mem_le_packet_size 
+0389 243a4bb3 nbranch lpm_mult_short ,blank 
+038a 6fe24adc fetch 1 ,mem_le_txlen_temp 
+038b 243a4bb3 nbranch lpm_mult_short ,blank 
+038c 6fe244bb fetch 1 ,mem_le_configuration 
+038d c282cbb3 bbit1 bit_ble_short_mult ,lpm_mult_short 
+038e 6fe2043b fetch 1 ,mem_le_state 
+038f c282cbb3 bbit1 lestate_update_param ,lpm_mult_short 
+0390 20204b95 branch lpm_mult_wait_timeout 
+
+p_parse_lmp:
+0391 6fe2007d fetch 1 ,mem_lmi_opcode2 
+0392 c0080395 beq lmp_encryption_key_size_req ,p_parse_lmp_crypt_key 
+0393 c00b839b beq lmp_sniff_req ,p_parse_lmp_sniff_req 
+0394 202060fe branch parse_lmp + 21 
+
+p_parse_lmp_crypt_key:
+0395 6842054e fetcht 1 ,mem_rxbuf + 1 
+0396 18467c06 sub temp ,6 ,null 
+0397 20210399 branch reject_lmp_packet_pdu_not_allowed ,positive 
+0398 20206206 branch parse_lmp_crypt_key + 1 
+
+reject_lmp_packet_pdu_not_allowed:
+0399 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+039a 20206134 branch reject_lmp_packet 
+
+p_parse_lmp_sniff_req:
+039b 202062b8 branch parse_lmp_sniff_req + 1 
+
+p_send_lmp:
+039c 78547c00 disable user 
+039d 204066a3 call lmo_fifo_process 
+039e 6fe20048 fetch 1 ,mem_lmp_to_send 
+039f 207a0000 rtn blank 
+03a0 c28383a2 bbit1 7 ,p_send_lmp_escape 
+03a1 202063f2 branch send_lmp0 
+
+p_send_lmp_escape:
+03a2 c04203a5 beq lmp_ext_features_res ,p_send_lmpext_features_res 
+03a3 c04183a8 beq lmp_ext_features_req ,p_send_lmpext_features_req 
+03a4 20206421 branch send_lmp_escape 
+
+p_send_lmpext_features_res:
+03a5 204003ab call p_check_ssp_enable 
+03a6 6fe20048 fetch 1 ,mem_lmp_to_send 
+03a7 2020647b branch send_lmpext_features_res 
+
+p_send_lmpext_features_req:
+03a8 204003ab call p_check_ssp_enable 
+03a9 6fe20048 fetch 1 ,mem_lmp_to_send 
+03aa 202064ef branch send_lmpext_features_req 
+
+p_check_ssp_enable:
+03ab 6fe2462c fetch 1 ,mem_ssp_enable 
+03ac 203a650d branch ssp_disable ,blank 
+03ad 20206506 branch ssp_enable 
+
+p_ssp_disable:
+03ae 6fe2409e fetch 1 ,mem_features + 6 
+03af 793ffe03 set0 param_featrue_ssp ,pdata 
+03b0 67e2409e store 1 ,mem_features + 6 
+03b1 58000001 setarg 0x1 
+03b2 67e404ca store 2 ,mem_lmpext_ssp_enable 
+03b3 20600000 rtn 
+
+p_uartd_send:
+03b4 19427e00 copy contwu ,pdata 
+03b5 67e44ff6 store 2 ,ipc_bt2m0_write_ptr 
+03b6 70409100 jam 0x00 ,mem_lpm_mode 
+03b7 20400040 call p_enable_chgpump 
+03b8 6fe28043 fetch 1 ,core_config 
+03b9 c3838000 rtnbit1 7 
+03ba 79207e07 set1 7 ,pdata 
+03bb 67e28043 store 1 ,core_config 
+03bc 20600000 rtn 
+
+p_parse_dlci0_rp:
+03bd 6fe204f9 fetch 1 ,mem_current_frame_type 
+03be c07783c0 beq rfcomm_frame_type_uih ,p_parse_dlci0_rp_uih 
+03bf 20206957 branch parse_dlci0_rp + 2 
+
+p_parse_dlci0_rp_uih:
+03c0 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+03c1 1fe20c00 copy pdata ,contr 
+03c2 20406984 call get_rfcomm_uih_head_struct 
+03c3 6fe204ff fetch 1 ,mem_uih_cmd_type 
+03c4 c03803c6 beq uih_modem_status_res ,p_parse_dlci0_rp_uih_ms_res 
+03c5 20206960 branch parse_dlci0_rp_uih + 4 
+
+p_parse_dlci0_rp_uih_ms_res:
+03c6 700a9508 jam bt_evt_spp_connected ,mem_fifo_temp 
+03c7 20407bab call ui_ipc_send_event 
+03c8 20406972 call get_rfcomm_param_modem_status 
+03c9 202069ba branch parse_dlci0_rp_uih_ms_res_spp 
+
+p_parse_dlci0_reconn:
+03ca 6fe204f9 fetch 1 ,mem_current_frame_type 
+03cb c07783cd beq rfcomm_frame_type_uih ,p_parse_dlci0_reconn_uih 
+03cc 20206a15 branch parse_dlci0_reconn + 2 
+
+p_parse_dlci0_reconn_uih:
+03cd 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+03ce 1fe20c00 copy pdata ,contr 
+03cf 20406984 call get_rfcomm_uih_head_struct 
+03d0 6fe204ff fetch 1 ,mem_uih_cmd_type 
+03d1 c03803d3 beq uih_modem_status_res ,p_parse_dlci0_reconn_uih_ms_res 
+03d2 20206a1d branch parse_dlci0_reconn_uih + 4 
+
+p_parse_dlci0_reconn_uih_ms_res:
+03d3 700a9508 jam bt_evt_spp_connected ,mem_fifo_temp 
+03d4 20407bab call ui_ipc_send_event 
+03d5 20406972 call get_rfcomm_param_modem_status 
+03d6 20206a43 branch parse_dlci0_reconn_uih_ms_res_spp 
+
+p_sp_initialize_256:
+03d7 6fe24490 fetch 1 ,mem_le_secure_connect_enable 
+03d8 203a5ed0 branch le_secure_connection_disable ,blank 
+03d9 20407438 call sp_clear_flags 
+03da 20207932 branch sp_pubkey_calc_256 
+
+p_connection_incontext:
+03db 2040425a call context_search_insniff 
+03dc 242283e3 nbranch p_connection_nosniff ,zero 
+03dd 20404206 call context_load 
+03de 1a208c01 add rega ,coffset_mode ,contr 
+03df efe20006 ifetch 1 ,contr 
+03e0 c280573a bbit1 mode_le ,le_conn_dispatch 
+03e1 c280c162 bbit1 mode_master ,master_dispatch 
+03e2 202043cb branch slave_dispatch 
+
+p_connection_nosniff:
+03e3 204003e5 call p_context_get_next 
+03e4 2020402c branch connection_nosniff + 1 
+
+p_context_get_next:
+03e5 df200002 arg context_num_new ,loopcnt 
+03e6 68420015 fetcht 1 ,mem_current_context 
+
+p_context_get_next_loop:
+03e7 18408401 increase 1 ,temp 
+03e8 2841fe02 compare context_num_new ,temp ,0xff 
+03e9 242083eb nbranch p_context_get_next_cont ,true 
+03ea d8400000 arg 0 ,temp 
+
+p_context_get_next_cont:
+03eb 60420015 storet 1 ,mem_current_context 
+03ec 184ffe50 mul32 temp ,context_size ,pdata 
+03ed da204bf8 arg mem_context_new ,rega 
+03ee 9a20a200 iadd rega ,rega 
+03ef efe20011 ifetch 1 ,rega 
+03f0 c28083f3 bbit1 state_insniff ,p_context_get_next_sniff 
+03f1 c3800000 rtnbit1 state_inconn 
+03f2 c3818000 rtnbit1 state_inpage 
+
+p_context_get_next_sniff:
+03f3 c20003e7 loop p_context_get_next_loop 
+03f4 20600000 rtn 
+
+p_context_new:
+03f5 da6003f7 arg p_context_search_empty ,regc 
+03f6 20204239 branch context_new + 2 
+
+p_context_search_empty:
+03f7 c2804262 bbit1 state_inconn ,context_search_next 
+03f8 18007c00 force 0 ,null 
+03f9 20600000 rtn 
+
+p_context_search:
+03fa da204bf8 arg mem_context_new ,rega 
+03fb df200002 arg context_num_new ,loopcnt 
+03fc 20204260 branch context_search_loop 
+
+p_sconn_successful:
+03fd 6fe20030 fetch 1 ,mem_state 
+03fe 793ffe03 set0 state_inpage ,pdata 
+03ff 67e20030 store 1 ,mem_state 
+0400 70465100 jam 0 ,memui_reconnect_mode 
+0401 202043c5 branch sconn_successful + 1 
+
+p_sniff_check_window:
+0402 78487c00 disable swfine 
+0403 18423600 copy temp ,stop_watch 
+0404 2040040a call p_context_search_sniff_window 
+0405 78547c00 disable user 
+0406 24628000 nrtn zero 
+0407 18003600 force 0 ,stop_watch 
+0408 78347c00 enable user 
+0409 20600000 rtn 
+
+p_context_search_sniff_window:
+040a da60040c arg p_context_search_window ,regc 
+040b 2020425d branch context_search 
+
+p_context_search_window:
+040c 1fe20400 copy pdata ,temp 
+040d 1a208c01 add rega ,coffset_mode ,contr 
+040e efe20006 ifetch 1 ,contr 
+040f 1a220c00 copy rega ,contr 
+0410 c2804262 bbit1 mode_le ,context_search_next 
+0411 18427e00 copy temp ,pdata 
+0412 202042c2 branch context_search_window 
+
+p_lpm_recover_clk:
+0413 58000000 setarg 0 
+0414 1ce27c00 copy auxcnt ,null 
+0415 2022841d branch p_lpm_recover_timeout ,zero 
+0416 6fe28124 hfetch 1 ,core_lpm_xtalcnt 
+0417 68428125 hfetcht 1 ,core_lpm_buckcnt 
+0418 98467c00 isub temp ,null 
+0419 2021041b branch p_lpm_recover_xtal ,positive 
+041a 18427e00 deposit temp 
+
+p_lpm_recover_xtal:
+041b 9ce67e00 isub auxcnt ,pdata 
+041c 1fe0fe01 increase 1 ,pdata 
+
+p_lpm_recover_timeout:
+041d 1fe0fe08 increase 8 ,pdata 
+041e 37d98200 until null ,lpo_edge 
+041f 9e20fe00 iadd lpo_time ,pdata 
+0420 6848415c fetcht 4 ,mem_sleep_counter 
+0421 9840fe00 iadd temp ,pdata 
+0422 68464170 fetcht 3 ,mem_clks_per_lpo 
+0423 984ffe00 imul32 temp ,pdata 
+0424 1fecfe00 rshift8 pdata ,pdata 
+0425 1ff1fe00 rshift4 pdata ,pdata 
+0426 1fe0fe6e increase param_lpm_fix ,pdata 
+0427 d8400ea6 arg 3750 ,temp 
+0428 9846fc00 idiv temp 
+0429 20407d61 call wait_div_end 
+042a 1807fe00 quotient pdata 
+042b 1ff07e00 lshift16 pdata ,pdata 
+042c 18070400 remainder temp 
+042d 9841fe00 ior temp ,pdata 
+042e 684c4164 fetcht 6 ,mem_sleep_clkn 
+042f 20407d07 call clk_add 
+0430 18423200 copy temp ,clkn 
+0431 6fec4c00 fetch 6 ,mem_context_new + coffset_clk_offset 
+0432 20404850 call calc_clke2 
+0433 20600000 rtn 
+
+p_lpm_dispatch:
+0434 20404ad8 call lpo_calibration 
+0435 6fe64170 fetch 3 ,mem_clks_per_lpo 
+0436 207a0000 rtn blank 
+0437 6fe24091 fetch 1 ,mem_lpm_mode 
+0438 207a0000 rtn blank 
+0439 6fe2462c fetch 1 ,mem_ssp_enable 
+043a 203a043d branch p_lpm_dispatch_next ,blank 
+043b 6fe24583 fetch 1 ,mem_sp_local_key_invalid 
+043c 207a0000 rtn blank 
+
+p_lpm_dispatch_next:
+043d 6fe24492 fetch 1 ,mem_le_sc_calc 
+043e 247a0000 nrtn blank 
+043f 20404bf4 call lpm_check_wake_lock 
+0440 247a0000 nrtn blank 
+0441 6fe24bf8 fetch 1 ,mem_context_new 
+0442 2fe00e03 compare 3 ,pdata ,0x7 
+0443 2420cb72 nbranch lpm_dispatch_unconn ,true 
+0444 6fe44bfa fetch 2 ,mem_context_new + coffset_tsniff 
+0445 207a0000 rtn blank 
+0446 20758000 rtn wake 
+0447 684200a0 fetcht 1 ,mem_lpm_current_mult 
+0448 6fe44bfa fetch 2 ,mem_context_new + coffset_tsniff 
+0449 984ffe00 imul32 temp ,pdata 
+044a 18518400 rshift4 temp ,temp 
+044b 184b0400 rshift2 temp ,temp 
+044c 98467e00 isub temp ,pdata 
+044d 68484bfc fetcht 4 ,mem_context_new + coffset_sniff_anchor 
+044e 9840fe00 iadd temp ,pdata 
+044f 68424156 fetcht 1 ,mem_lpm_overhead 
+0450 98467e00 isub temp ,pdata 
+0451 1ff06000 lshift16 pdata ,alarm 
+0452 6fe44c06 fetch 2 ,mem_context_new + coffset_rx_window 
+0453 1fe37e00 rshift pdata ,pdata 
+0454 20407d2b call clk2bt 
+0455 1e027e00 deposit alarm 
+0456 20407d14 call clk_diff 
+0457 1b420400 copy clke ,temp 
+0458 20400068 call p_clk_diff_rt 
+0459 20740000 rtn user 
+045a 20204b68 branch lpm_dispatch_sleep 
+
+p_lpm_dispatch_unconn:
+045b 6fe24bf8 fetch 1 ,mem_context_new 
+045c 20204b74 branch lpm_dispatch_unconn + 2 
+
+p_le_check_encrypt_state:
+045d 20407dc1 call disable_user 
+045e 6fe24498 fetch 1 ,mem_le_pairing_mode 
+045f c1000000 rtneq le_pairing_mode_none 
+0460 6fe24bf8 fetch 1 ,mem_context_new 
+0461 c3820000 rtnbit1 lestate_encryption 
+0462 20207dbf branch enable_user 
+
+p_module_check_ble_encrypt_state:
+0463 6fe24679 fetch 1 ,mem_module_flag 
+0464 c281045d bbit1 module_flag_ble_data_encrypt ,p_le_check_encrypt_state 
+0465 20207dc1 branch disable_user 
+
+p_le_parse_att_read_request:
+0466 68440474 fetcht 2 ,mem_le_att_handle 
+0467 6fe244bb fetch 1 ,mem_le_configuration 
+0468 c281846a bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0469 20205d9f branch le_send_att_read_response 
+
+p_le_send_att_read_response_check_auth:
+046a 6fe444cc fetch 2 ,mem_le_pairing_handle 
+046b 98467c00 isub temp ,null 
+046c 2422dd9f nbranch le_send_att_read_response ,zero 
+046d 2040045d call p_le_check_encrypt_state 
+046e 24345d9f nbranch le_send_att_read_response ,user 
+046f 70047605 jam att_err_insufficient_authentication ,mem_le_err_code 
+0470 20205e57 branch le_send_att_error_response 
+
+p_le_parse_att_write_request0:
+0471 18c22200 copy contr ,rega 
+0472 6fe444ce fetch 2 ,mem_le_l2cap_size 
+0473 1fe0a5fd add pdata ,-3 ,regb 
+0474 20405abe call le_writeatt_cb 
+
+p_le_send_att_write_response_check_auth0:
+0475 6fe244bb fetch 1 ,mem_le_configuration 
+0476 c3025e1d bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0477 68440474 fetcht 2 ,mem_le_att_handle 
+0478 6fe444cc fetch 2 ,mem_le_pairing_handle 
+0479 98467c00 isub temp ,null 
+047a 2422de1d nbranch le_send_att_write_response ,zero 
+047b 2040045d call p_le_check_encrypt_state 
+047c 24345e1d nbranch le_send_att_write_response ,user 
+047d 70047605 jam att_err_insufficient_authentication ,mem_le_err_code 
+047e 20205e57 branch le_send_att_error_response 
+
+p_role_switch_master:
+047f 204041c5 call role_switch_check 
+0480 24740000 nrtn user 
+0481 78547c00 disable user 
+0482 70001120 jam param_newconnto ,mem_newconnto_counter 
+0483 793f800b set0 mark_fhs_already_good ,mark 
+0484 793f802c set0 mark_role_switch_receive_fhs ,mark 
+
+p_roles_waitfhs_loop:
+0485 20404a4e call rf_setup_time_master_slot 
+0486 204042e2 call master_recv_packet 
+0487 c505848c bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
+0488 20404451 call new_conn_timeout 
+0489 243a0485 nbranch p_roles_waitfhs_loop ,blank 
+048a c5160495 bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs_rcvd 
+048b 202041e8 branch role_switch_fail_master 
+
+p_roles_replyto_fhs:
+048c 20404a4c call rf_setup_time_slave_slot 
+048d d8200010 arg type_id ,type 
+048e 204042d8 call master_send_packet 
+048f 7920002c set1 mark_role_switch_receive_fhs ,mark 
+0490 793f800b set0 mark_fhs_already_good ,mark 
+0491 6fe20077 fetch 1 ,mem_amaddr 
+0492 98000800 iforce am_addr 
+0493 70001102 jam 2 ,mem_newconnto_counter 
+0494 20200485 branch p_roles_waitfhs_loop 
+
+p_roles_replyto_fhs_rcvd:
+0495 6fe80163 fetch 4 ,mem_clke_bt 
+0496 1fe0fe08 pincrease 8 
+0497 67e80163 store 4 ,mem_clke_bt 
+0498 202041f4 branch roles_replyto_fhs + 4 
+
+p_l2cap_init_wake:
+0499 2040514a call l2cap_init_wake + 1 
+049a 70028117 jam recieve_ss_reasult_hf ,mem_message_to_uppersm 
+049b 20600000 rtn 
+
+p_scheduler_process:
+049c 204004f3 call p_hfp_hsp_process 
+049d 20206b6e branch scheduler_process + 5 
+
+p_rfcomm_send_param_neg_cmd:
+049e 580015ef setarg 0x15ef 
+049f e7e40005 istore 2 ,contw 
+04a0 58001183 setarg 0x1183 
+04a1 e7e40005 istore 2 ,contw 
+04a2 18427e00 copy temp ,pdata 
+04a3 e7e20005 istore 1 ,contw 
+04a4 580000f0 setarg 0x0000f0 
+04a5 e7e60005 istore 3 ,contw 
+04a6 6fe4453e fetch 2 ,mem_rfcomm_max_frame_size 
+04a7 e7e40005 istore 2 ,contw 
+04a8 58000000 setarg 0 
+04a9 e7e20005 istore 1 ,contw 
+04aa 6fe24540 fetch 1 ,mem_rfcomm_credit_init_data 
+04ab e7e20005 istore 1 ,contw 
+04ac 204068f0 call rfcomm_calculate_fcs_dlci0 
+04ad e7e20005 istore 1 ,contw 
+04ae 70453b10 jam 0x10 ,mem_credit_given 
+04af 20600000 rtn 
+
+p_rfcomm_rx_process:
+04b0 6fe24651 fetch 1 ,memui_reconnect_mode 
+04b1 c000694f beq no_reconnection ,rfcomm_rx_process_remote_page 
+
+p_rfcomm_rx_process_reconn:
+04b2 6fe40260 fetch 2 ,mem_l2cap_payload_ptr 
+04b3 1fe20c00 copy pdata ,contr 
+04b4 20406979 call get_rfcomm_head_struct 
+04b5 6fe204f8 fetch 1 ,mem_current_channel 
+04b6 c0006a13 beq 0 ,parse_dlci0_reconn 
+04b7 202004b8 branch p_parse_uih_reconn 
+
+p_parse_uih_reconn:
+
+p_parse_uih_reconn_spp:
+04b8 6fe204f9 fetch 1 ,mem_current_frame_type 
+04b9 c07784ca beq rfcomm_frame_type_uih ,p_parse_uih_spp_uih 
+04ba c07f84c2 beq rfcomm_frame_type_uih_credits ,p_parse_uih_spp_uih_credits 
+04bb c02984bd beq rfcomm_frame_type_disconn ,p_parse_uih_reconn_spp_disconn 
+04bc 20206a4e branch parse_uih_reconn_spp + 1 
+
+p_parse_uih_reconn_spp_disconn:
+04bd 20206a05 branch parse_uih_rp_spp_disconn_send_event 
+
+p_parse_uih_rp_spp:
+04be 6fe204f9 fetch 1 ,mem_current_frame_type 
+04bf c07784ca beq rfcomm_frame_type_uih ,p_parse_uih_spp_uih 
+04c0 c07f84c2 beq rfcomm_frame_type_uih_credits ,p_parse_uih_spp_uih_credits 
+04c1 202069dc branch parse_uih_rp_spp + 2 
+
+p_parse_uih_spp_uih_credits:
+04c2 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+04c3 1fe20c00 copy pdata ,contr 
+04c4 1fe0fe01 increase 1 ,pdata 
+04c5 67e404fd store 2 ,mem_rfcomm_uih_payload_ptr 
+04c6 efe20006 ifetch 1 ,contr 
+04c7 6842453a fetcht 1 ,mem_remote_credits 
+04c8 9840fe00 iadd temp ,pdata 
+04c9 67e2453a store 1 ,mem_remote_credits 
+
+p_parse_uih_spp_uih:
+04ca 20406b01 call rfcomm_increase_credit_given 
+04cb 6fe404fd fetch 2 ,mem_rfcomm_uih_payload_ptr 
+04cc 67e44cae store 2 ,mem_at_payload_ptr 
+04cd 68e204fb fetchr queue ,1 ,mem_current_length 
+04ce 202004cf branch p_hfp_process_rfcomm_packet 
+
+p_hfp_process_rfcomm_packet:
+04cf 18e27e00 deposit queue 
+04d0 20628000 rtn zero 
+04d1 68444cae fetcht 2 ,mem_at_payload_ptr 
+04d2 18420c00 copy temp ,contr 
+04d3 204004dd call p_hfp_check_result_code_start 
+04d4 24740000 nrtn user 
+04d5 18c27e00 copy contr ,pdata 
+04d6 67e44cb0 store 2 ,mem_at_command_ptr 
+04d7 204004dd call p_hfp_check_result_code_end 
+04d8 24740000 nrtn user 
+04d9 18c27e00 copy contr ,pdata 
+04da 67e44cae store 2 ,mem_at_payload_ptr 
+04db 2040056f call p_hfp_handle_at_result_code 
+04dc 202004cf branch p_hfp_process_rfcomm_packet 
+
+p_hfp_check_result_code_start:
+
+p_hfp_check_result_code_end:
+04dd 78547c00 disable user 
+
+p_hfp_check_result_code:
+04de 18e27e00 copy queue ,pdata 
+04df 1fe0fffe increase -2 ,pdata 
+04e0 24610000 nrtn positive 
+04e1 18e08fff increase -1 ,queue 
+04e2 efe20006 ifetch 1 ,contr 
+04e3 c08684de bne 0x0D ,p_hfp_check_result_code 
+04e4 18e08fff increase -1 ,queue 
+04e5 efe20006 ifetch 1 ,contr 
+04e6 c08504de bne 0x0A ,p_hfp_check_result_code 
+04e7 78347c00 enable user 
+04e8 20600000 rtn 
+
+p_hfp_clear_parms:
+04e9 704c9800 jam hf_state_waiting_rfcomm_conn ,mem_hf_state 
+04ea 704c9900 jam hfp_nono ,mem_hf_call_state 
+04eb 704c9a00 jam hf_cmd_idle ,mem_hf_command 
+04ec 704cad0a jam hfp_default_mic_vlm ,mem_hf_vlm_mic 
+04ed 704cab0a jam hfp_default_speaker ,mem_hf_vlm_speaker 
+04ee 704cba00 jam hfp_dialing_state_no ,mem_telephone_dialing_state 
+04ef 58004cab setarg mem_xmem_hf_state_end 
+04f0 d8a04c98 arg mem_xmem_hf_state_start ,contw 
+04f1 98a67200 isub contw ,loopcnt 
+04f2 20207caf branch clear_mem 
+
+p_hfp_hsp_process:
+04f3 2040564e call l2cap_malloc_is_fifo_empty 
+04f4 247a0000 nrtn blank 
+04f5 6fe24c98 fetch 1 ,mem_hf_state 
+04f6 c0050524 beq hf_state_hf_send_receive_info ,p_hfp_send_receive_info 
+04f7 c1058000 rtneq hf_state_waiting_ag_info 
+04f8 c006052f beq hf_state_hf_send_at_clip ,p_hfp_send_enable_clip 
+04f9 c1068000 rtneq hf_state_waiting_at_clip 
+04fa c007053a beq hf_state_hf_send_at_ccwa ,p_hfp_send_enable_call_waiting 
+04fb c1078000 rtneq hf_state_waiting_at_ccwa 
+04fc c0000508 beq hf_state_waiting_rfcomm_conn ,p_hfp_waiting_rfcomm 
+04fd c0008515 beq hf_state_hf_send_feature ,p_hfp_send_feature 
+04fe c1010000 rtneq hf_state_waiting_ag_feature_ok 
+04ff c0018545 beq hf_state_hf_send_indicators ,p_hfp_send_indicators 
+0500 c1020000 rtneq hf_state_waiting_ag_indicators_ok 
+0501 c0028550 beq hf_state_hf_send_curr_status ,p_hfp_send_curr_status 
+0502 c1030000 rtneq hf_state_waiting_ag_status_ok 
+0503 c0038559 beq hf_state_hf_send_update_status ,p_hfp_send_update_status 
+0504 c1040000 rtneq hf_state_waiting_ag_update_status_ok 
+0505 c0048507 beq hf_state_connected ,p_hfp_connected 
+0506 20600000 rtn 
+
+p_hfp_connected:
+0507 20600000 rtn 
+
+p_hfp_waiting_rfcomm:
+0508 6fe24226 fetch 1 ,mem_spp_state 
+0509 c077850c beq 0xef ,p_hfp_send_feature_enable 
+050a c07f850c beq 0xff ,p_hfp_send_feature_enable 
+050b 20600000 rtn 
+
+p_hfp_send_feature_enable:
+050c 704c9801 jam hf_state_hf_send_feature ,mem_hf_state 
+050d 20600000 rtn 
+
+p_hfp_send_at_common:
+050e 67e4466a store 2 ,mem_current_packet_length 
+050f 58004cd5 setarg mem_at_command_data 
+0510 67e44cb2 store 2 ,mem_at_rfcomm_data_ptr 
+0511 1fe20a00 icopy contw 
+0512 582b5441 setarg 0x2B5441 
+0513 e7e60005 istore 3 ,contw 
+0514 20600000 rtn 
+
+p_hfp_send_feature:
+0515 6fe2453a fetch 1 ,mem_remote_credits 
+0516 207a0000 rtn blank 
+0517 2040074b call p_hfp_send_credit_return 
+0518 704c9802 jam hf_state_waiting_ag_feature_ok ,mem_hf_state 
+
+p_hfp_send_at_brsf:
+0519 5800000a setarg 0x0a 
+051a 2040050e call p_hfp_send_at_common 
+051b 58535242 setarg 0x535242 
+051c e7e60005 istore 3 ,contw 
+051d 58003d46 setarg 0x3D46 
+051e e7e40005 istore 2 ,contw 
+051f 6fe24cb4 fetch 1 ,mem_ui_hf_brsf_feature 
+0520 e7e20005 istore 1 ,contw 
+0521 5800000d setarg 0x0D 
+0522 e7e20005 istore 1 ,contw 
+0523 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_send_receive_info:
+0524 2040074b call p_hfp_send_credit_return 
+0525 704c980b jam hf_state_waiting_ag_info ,mem_hf_state 
+
+p_hfp_send_at_chld:
+0526 5800000a setarg 0x0a 
+0527 2040050e call p_hfp_send_at_common 
+0528 58004843 setarg 0x4843 
+0529 e7e40005 istore 2 ,contw 
+052a 583d444c setarg 0x3d444c 
+052b e7e60005 istore 3 ,contw 
+052c 58000d3f setarg 0x0d3f 
+052d e7e40005 istore 2 ,contw 
+052e 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_send_enable_clip:
+052f 2040074b call p_hfp_send_credit_return 
+0530 704c980d jam hf_state_waiting_at_clip ,mem_hf_state 
+
+p_hfp_send_at_clip:
+0531 5800000a setarg 0x0a 
+0532 2040050e call p_hfp_send_at_common 
+0533 58004c43 setarg 0x4c43 
+0534 e7e40005 istore 2 ,contw 
+0535 583d5049 setarg 0x3d5049 
+0536 e7e60005 istore 3 ,contw 
+0537 58000d31 setarg 0x0d31 
+0538 e7e40005 istore 2 ,contw 
+0539 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_send_enable_call_waiting:
+053a 2040074b call p_hfp_send_credit_return 
+053b 704c980f jam hf_state_waiting_at_ccwa ,mem_hf_state 
+
+p_hfp_send_at_ccwa:
+053c 5800000a setarg 0x0a 
+053d 2040050e call p_hfp_send_at_common 
+053e 58004343 setarg 0x4343 
+053f e7e40005 istore 2 ,contw 
+0540 583d4157 setarg 0x3d4157 
+0541 e7e60005 istore 3 ,contw 
+0542 58000d31 setarg 0x0d31 
+0543 e7e40005 istore 2 ,contw 
+0544 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_send_indicators:
+0545 2040074b call p_hfp_send_credit_return 
+0546 704c9804 jam hf_state_waiting_ag_indicators_ok ,mem_hf_state 
+
+p_hfp_send_at_cind:
+0547 5800000a setarg 0x0a 
+0548 2040050e call p_hfp_send_at_common 
+0549 584e4943 setarg 0x4e4943 
+054a e7e60005 istore 3 ,contw 
+054b 583f3d44 setarg 0x3f3D44 
+054c e7e60005 istore 3 ,contw 
+054d 5800000d setarg 0x0D 
+054e e7e20005 istore 1 ,contw 
+054f 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_send_curr_status:
+0550 2040074b call p_hfp_send_credit_return 
+0551 704c9806 jam hf_state_waiting_ag_status_ok ,mem_hf_state 
+
+p_hfp_send_at_cind2:
+0552 58000009 setarg 0x09 
+0553 2040050e call p_hfp_send_at_common 
+0554 584e4943 setarg 0x4e4943 
+0555 e7e60005 istore 3 ,contw 
+0556 580d3f44 setarg 0x0d3f44 
+0557 e7e60005 istore 3 ,contw 
+0558 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_send_update_status:
+0559 2040074b call p_hfp_send_credit_return 
+055a 704c9808 jam hf_state_waiting_ag_update_status_ok ,mem_hf_state 
+
+p_hfp_send_at_cmer:
+055b 58000010 setarg 0x10 
+055c 2040050e call p_hfp_send_at_common 
+055d 58454d43 setarg 0x454d43 
+055e e7e60005 istore 3 ,contw 
+055f 58333d52 setarg 0x333d52 
+0560 e7e60005 istore 3 ,contw 
+0561 582c302c setarg 0x2c302c 
+0562 e7e60005 istore 3 ,contw 
+0563 58312c30 setarg 0x312c30 
+0564 e7e60005 istore 3 ,contw 
+0565 5800000d setarg 0x0d 
+0566 e7e20005 istore 1 ,contw 
+0567 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_send_at_clcc:
+0568 58000008 setarg 0x08 
+0569 2040050e call p_hfp_send_at_common 
+056a 58434c43 setarg 0x434C43 
+056b e7e60005 istore 3 ,contw 
+056c 58000d43 setarg 0x0D43 
+056d e7e40005 istore 2 ,contw 
+056e 2020074d branch p_hfp_tx_rfcomm_without_credit 
+
+p_hfp_handle_at_result_code:
+056f 78547c00 disable user 
+0570 2040058b call p_hfp_is_result_ok 
+0571 20740000 rtn user 
+0572 204005b5 call p_hfp_is_result_error 
+0573 20740000 rtn user 
+0574 60e40a9e storer queue ,2 ,mem_temp 
+0575 2040074b call p_hfp_send_credit_return 
+0576 68e40a9e fetchr queue ,2 ,mem_temp 
+0577 204006c8 call p_hfp_is_result_brsf 
+0578 20740000 rtn user 
+0579 204005cf call p_hfp_is_result_ciev 
+057a 20740000 rtn user 
+057b 204005c3 call p_hfp_is_result_ring 
+057c 20740000 rtn user 
+057d 20400635 call p_hfp_is_result_cind 
+057e 20740000 rtn user 
+057f 204006d8 call p_hfp_is_result_chld 
+0580 20740000 rtn user 
+0581 204006e6 call p_hfp_is_result_vgm_vgs 
+0582 20740000 rtn user 
+0583 20400707 call p_hfp_is_result_clip 
+0584 20740000 rtn user 
+0585 204006f9 call p_hfp_is_result_ccwa 
+0586 20740000 rtn user 
+0587 20400726 call p_hfp_is_result_clcc 
+0588 20740000 rtn user 
+0589 6fe44cb8 fetch 2 ,mem_cb_hfp_result_code 
+058a 20207d77 branch callback_func 
+
+p_hfp_is_result_ok:
+058b 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+058c 1fe20c00 icopy contr 
+058d efe20006 ifetch 1 ,contr 
+058e c1a78000 rtnne 0x4F 
+058f efe20006 ifetch 1 ,contr 
+0590 c1a58000 rtnne 0x4B 
+0591 78347c00 enable user 
+0592 2040059c call p_hfp_result_ok_cmd 
+
+p_hfp_result_ok_handle:
+0593 6fe24c98 fetch 1 ,mem_hf_state 
+0594 c00405ac beq hf_state_waiting_ag_update_status_ok ,p_hfp_ag_update_status_ok 
+0595 c00585ae beq hf_state_waiting_ag_info ,p_hfp_ag_receive_info_ok 
+0596 c00685b0 beq hf_state_waiting_at_clip ,p_hfp_ag_enable_clip_ok 
+0597 c00785b2 beq hf_state_waiting_at_ccwa ,p_hfp_ag_enable_call_waiting_ok 
+0598 c00105a6 beq hf_state_waiting_ag_feature_ok ,p_hfp_ag_feature_ok 
+0599 c00205a8 beq hf_state_waiting_ag_indicators_ok ,p_hfp_ag_indicators_ok 
+059a c00305aa beq hf_state_waiting_ag_status_ok ,p_hfp_ag_status_ok 
+059b 20600000 rtn 
+
+p_hfp_result_ok_cmd:
+059c 6fe24c9a fetch 1 ,mem_hf_command 
+059d c00085a2 beq hf_wait_accept_call_ok ,p_hfp_acceptcall 
+059e c00105a2 beq hf_wait_hangup_ok ,p_hfp_hangup 
+059f c00185a4 beq hf_wait_vgs_ok ,p_hfp_vgs_ok 
+05a0 c00205a2 beq hf_wait_vgm_ok ,p_hfp_vgm_ok 
+05a1 20600000 rtn 
+
+p_hfp_acceptcall:
+
+p_hfp_hangup:
+
+p_hfp_vgm_ok:
+05a2 704c9a00 jam hf_cmd_idle ,mem_hf_command 
+05a3 20600000 rtn 
+
+p_hfp_vgs_ok:
+05a4 704c9a00 jam hf_cmd_idle ,mem_hf_command 
+05a5 20600000 rtn 
+
+p_hfp_ag_feature_ok:
+05a6 704c9803 jam hf_state_hf_send_indicators ,mem_hf_state 
+05a7 20600000 rtn 
+
+p_hfp_ag_indicators_ok:
+05a8 704c9805 jam hf_state_hf_send_curr_status ,mem_hf_state 
+05a9 20600000 rtn 
+
+p_hfp_ag_status_ok:
+05aa 704c9807 jam hf_state_hf_send_update_status ,mem_hf_state 
+05ab 20600000 rtn 
+
+p_hfp_ag_update_status_ok:
+05ac 704c980a jam hf_state_hf_send_receive_info ,mem_hf_state 
+05ad 20600000 rtn 
+
+p_hfp_ag_receive_info_ok:
+05ae 704c980c jam hf_state_hf_send_at_clip ,mem_hf_state 
+05af 20600000 rtn 
+
+p_hfp_ag_enable_clip_ok:
+05b0 704c980e jam hf_state_hf_send_at_ccwa ,mem_hf_state 
+05b1 20600000 rtn 
+
+p_hfp_ag_enable_call_waiting_ok:
+05b2 704c9809 jam hf_state_connected ,mem_hf_state 
+05b3 700a9560 jam bt_evt_hfp_connected ,mem_fifo_temp 
+05b4 20207bab branch ui_ipc_send_event 
+
+p_hfp_is_result_error:
+05b5 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+05b6 1fe20c00 icopy contr 
+05b7 efe20006 ifetch 1 ,contr 
+05b8 c1a28000 rtnne 0x45 
+05b9 efe20006 ifetch 1 ,contr 
+05ba c1a90000 rtnne 0x52 
+05bb efe20006 ifetch 1 ,contr 
+05bc c1a90000 rtnne 0x52 
+05bd efe20006 ifetch 1 ,contr 
+05be c1a78000 rtnne 0x4F 
+05bf efe20006 ifetch 1 ,contr 
+05c0 c1a90000 rtnne 0x52 
+05c1 78347c00 enable user 
+05c2 2020059c branch p_hfp_result_ok_cmd 
+
+p_hfp_is_result_ring:
+05c3 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+05c4 1fe20c00 icopy contr 
+05c5 efe20006 ifetch 1 ,contr 
+05c6 c1a90000 rtnne 0x52 
+05c7 efe20006 ifetch 1 ,contr 
+05c8 c1a48000 rtnne 0x49 
+05c9 efe20006 ifetch 1 ,contr 
+05ca c1a70000 rtnne 0x4e 
+05cb efe20006 ifetch 1 ,contr 
+05cc c1a38000 rtnne 0x47 
+05cd 78347c00 enable user 
+05ce 20600000 rtn 
+
+p_hfp_is_result_ciev:
+05cf 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+05d0 1fe20c00 icopy contr 
+05d1 efe20006 ifetch 1 ,contr 
+05d2 c1958000 rtnne 0x2b 
+05d3 efe20006 ifetch 1 ,contr 
+05d4 c1a18000 rtnne 0x43 
+05d5 efe20006 ifetch 1 ,contr 
+05d6 c1a48000 rtnne 0x49 
+05d7 efe20006 ifetch 1 ,contr 
+05d8 c1a28000 rtnne 0x45 
+05d9 efe20006 ifetch 1 ,contr 
+05da c1ab0000 rtnne 0x56 
+05db 78347c00 enable user 
+05dc 20400737 call p_hfp_translate_ascii_to_hex 
+05dd 1a20a202 increase 2 ,rega 
+05de 58004c9d setarg mem_ag_indicator_map 
+05df 98408400 iadd temp ,temp 
+05e0 184085ff increase -1 ,temp 
+05e1 efe20002 ifetch 1 ,temp 
+05e2 d8404ca4 arg mem_ag_indicator ,temp 
+05e3 9840fe00 iadd temp ,pdata 
+05e4 67e44cb0 store 2 ,mem_at_command_ptr 
+05e5 1a220c00 copy rega ,contr 
+05e6 20400747 call p_hfp_findcomma 
+05e7 20400737 call p_hfp_translate_ascii_to_hex 
+05e8 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+05e9 e042003f istoret 1 ,pdata 
+
+p_hfp_evt_update_state:
+05ea 58000001 setarg hfp_cievind_call 
+05eb 204005ef call p_hfp_get_indicator_value 
+05ec c00005f3 beq ciev_call_no ,p_hfp_update_state_nocallactive 
+05ed c0008615 beq ciev_call_act ,p_hfp_update_state_callactived 
+05ee 20600000 rtn 
+
+p_hfp_get_indicator_value:
+05ef d8c04ca4 arg mem_ag_indicator ,contr 
+05f0 98c08c00 iadd contr ,contr 
+05f1 efe20006 ifetch 1 ,contr 
+05f2 20600000 rtn 
+
+p_hfp_update_state_nocallactive:
+05f3 58000002 setarg hfp_cievind_callsettup 
+05f4 204005ef call p_hfp_get_indicator_value 
+05f5 c0008601 beq ciev_callst_img ,p_hfp_update_incomming 
+05f6 c0010611 beq ciev_callst_oug ,p_hfp_update_outgoing 
+05f7 c0018611 beq ciev_callst_re_altd ,p_hfp_update_outgoing 
+05f8 6fe24c99 fetch 1 ,mem_hf_call_state 
+05f9 c1000000 rtneq hfp_nono 
+05fa 704c9900 jam hfp_nono ,mem_hf_call_state 
+05fb 6fe24cba fetch 1 ,mem_telephone_dialing_state 
+05fc 1fe67c01 sub pdata ,hfp_dialing_state_start ,null 
+05fd 204285ff call p_hfp_evt_nono ,zero 
+05fe 2020062f branch p_hfp_dialing_clear 
+
+p_hfp_evt_nono:
+05ff 700a9558 jam bt_evt_hfp_stop_dialing ,mem_fifo_temp 
+0600 20207bab branch ui_ipc_send_event 
+
+p_hfp_update_incomming:
+0601 20400568 call p_hfp_send_at_clcc 
+0602 6fe24c99 fetch 1 ,mem_hf_call_state 
+0603 c1008000 rtneq hfp_incomming 
+0604 704c9901 jam hfp_incomming ,mem_hf_call_state 
+
+p_hfp_evt_incomming:
+0605 700a955a jam bt_evt_hfp_incomming ,mem_fifo_temp 
+0606 20207bab branch ui_ipc_send_event 
+
+p_hfp_evt_outgoing:
+0607 700a955b jam bt_evt_hfp_outgoing ,mem_fifo_temp 
+0608 20207bab branch ui_ipc_send_event 
+
+p_hfp_evt_callactive:
+0609 700a955c jam bt_evt_hfp_callactive ,mem_fifo_temp 
+060a 20207bab branch ui_ipc_send_event 
+
+p_hfp_evt_callimg:
+060b 700a955d jam bt_evt_hfp_callimg ,mem_fifo_temp 
+060c 20207bab branch ui_ipc_send_event 
+
+p_hfp_evt_callogg:
+060d 700a955e jam bt_evt_hfp_callogg ,mem_fifo_temp 
+060e 20207bab branch ui_ipc_send_event 
+
+p_hfp_evt_calmulty:
+060f 700a955f jam bt_evt_hfp_calmulty ,mem_fifo_temp 
+0610 20207bab branch ui_ipc_send_event 
+
+p_hfp_update_outgoing:
+0611 6fe24c99 fetch 1 ,mem_hf_call_state 
+0612 c1010000 rtneq hfp_outgoing 
+0613 704c9902 jam hfp_outgoing ,mem_hf_call_state 
+0614 20200607 branch p_hfp_evt_outgoing 
+
+p_hfp_update_state_callactived:
+0615 58000003 setarg hfp_cievind_callheld 
+0616 204005ef call p_hfp_get_indicator_value 
+0617 c0000624 beq ciev_held_no ,p_hfp_update_state_nocallheld 
+0618 6fe24c99 fetch 1 ,mem_hf_call_state 
+0619 c1030000 rtneq hfp_calmulty 
+061a 704c9906 jam hfp_calmulty ,mem_hf_call_state 
+061b 2020060f branch p_hfp_evt_calmulty 
+
+p_hfp_update_callincomming:
+061c 6fe24c99 fetch 1 ,mem_hf_call_state 
+061d c1020000 rtneq hfp_callimg 
+061e 704c9904 jam hfp_callimg ,mem_hf_call_state 
+061f 2020060b branch p_hfp_evt_callimg 
+
+p_hfp_update_calloutgoing:
+0620 6fe24c99 fetch 1 ,mem_hf_call_state 
+0621 c1028000 rtneq hfp_callogg 
+0622 704c9905 jam hfp_callogg ,mem_hf_call_state 
+0623 2020060d branch p_hfp_evt_callogg 
+
+p_hfp_update_state_nocallheld:
+0624 58000002 setarg hfp_cievind_callsettup 
+0625 204005ef call p_hfp_get_indicator_value 
+0626 c000861c beq ciev_callst_img ,p_hfp_update_callincomming 
+0627 c0010620 beq ciev_callst_oug ,p_hfp_update_calloutgoing 
+0628 c0018620 beq ciev_callst_re_altd ,p_hfp_update_calloutgoing 
+0629 6fe24c99 fetch 1 ,mem_hf_call_state 
+062a c1018000 rtneq hfp_callactive 
+062b 704c9903 jam hfp_callactive ,mem_hf_call_state 
+062c 20400609 call p_hfp_evt_callactive 
+
+p_hfp_dialing_stop:
+062d 704cba02 jam hfp_dialing_state_stop ,mem_telephone_dialing_state 
+062e 20600000 rtn 
+
+p_hfp_dialing_clear:
+062f 704cba00 jam hfp_dialing_state_no ,mem_telephone_dialing_state 
+0630 20600000 rtn 
+
+p_hfp_dialing_start:
+0631 700a9559 jam bt_evt_hfp_start_dialing ,mem_fifo_temp 
+0632 20407bab call ui_ipc_send_event 
+0633 704cba01 jam hfp_dialing_state_start ,mem_telephone_dialing_state 
+0634 20600000 rtn 
+
+p_hfp_is_result_cind:
+0635 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+0636 1fe20c00 icopy contr 
+0637 efe20006 ifetch 1 ,contr 
+0638 c1958000 rtnne 0x2b 
+0639 efe20006 ifetch 1 ,contr 
+063a c1a18000 rtnne 0x43 
+063b efe20006 ifetch 1 ,contr 
+063c c1a48000 rtnne 0x49 
+063d efe20006 ifetch 1 ,contr 
+063e c1a70000 rtnne 0x4e 
+063f efe20006 ifetch 1 ,contr 
+0640 c1a20000 rtnne 0x44 
+0641 78347c00 enable user 
+0642 18c08c02 increase 2 ,contr 
+0643 efe20006 ifetch 1 ,contr 
+0644 c0140661 beq 0x28 ,p_hfp_is_result_cind0 
+0645 20200646 branch p_hfp_is_result_cind1 
+
+p_hfp_is_result_cind1:
+0646 18007207 force 7 ,loopcnt 
+0647 60c44cb0 storer contr ,2 ,mem_at_command_ptr 
+
+p_hfp_is_result_cind1_loopcnt:
+0648 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+0649 1fe20c00 icopy contr 
+064a 20400737 call p_hfp_translate_ascii_to_hex 
+064b 1a20a202 increase 2 ,rega 
+064c 1a220c00 copy rega ,contr 
+064d 20400747 call p_hfp_findcomma 
+064e 18c27e00 copy contr ,pdata 
+064f 67e44cb0 store 2 ,mem_at_command_ptr 
+0650 18422200 copy temp ,rega 
+0651 1f220400 copy loopcnt ,temp 
+0652 18460407 sub temp ,7 ,temp 
+0653 2040065a call p_hfp_get_indicator_index 
+0654 d8404ca4 arg mem_ag_indicator ,temp 
+0655 98408400 iadd temp ,temp 
+0656 1a227e00 copy rega ,pdata 
+0657 e7e20002 istore 1 ,temp 
+0658 c2000648 loop p_hfp_is_result_cind1_loopcnt 
+0659 202005ea branch p_hfp_evt_update_state 
+
+p_hfp_get_indicator_index:
+065a 58004c9d setarg mem_ag_indicator_map 
+065b 98408400 iadd temp ,temp 
+065c efe20002 ifetch 1 ,temp 
+065d 20600000 rtn 
+
+p_hfp_find_double_quote:
+065e efe20006 ifetch 1 ,contr 
+065f c1110000 rtneq 0x22 
+0660 2020065e branch p_hfp_find_double_quote 
+
+p_hfp_is_result_cind0:
+0661 18007207 force 7 ,loopcnt 
+
+p_hfp_is_result_cind0_loopcnt:
+0662 2040065e call p_hfp_find_double_quote 
+0663 60c44cb0 storer contr ,2 ,mem_at_command_ptr 
+0664 20400670 call p_hfp_indicator_service 
+0665 2036066d branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+0666 2040068e call p_hfp_indicator_call_callheld_callsetup 
+0667 2036066d branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+0668 204006ba call p_hfp_indicator_signal 
+0669 2036066d branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+066a 204006ac call p_hfp_indicator_roam 
+066b 2036066d branch p_hfp_is_result_cind0_loopcnt_end ,user2 
+066c 2040067e call p_hfp_indicator_battchg 
+
+p_hfp_is_result_cind0_loopcnt_end:
+066d 2040065e call p_hfp_find_double_quote 
+066e c2000662 loop p_hfp_is_result_cind0_loopcnt 
+066f 20600000 rtn 
+
+p_hfp_indicator_service:
+0670 78567c00 disable user2 
+0671 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+0672 1fe20c00 icopy contr 
+0673 efe20006 ifetch 1 ,contr 
+0674 c1b98000 rtnne 0x73 
+0675 efe20006 ifetch 1 ,contr 
+0676 c1b28000 rtnne 0x65 
+0677 efe20006 ifetch 1 ,contr 
+0678 c1b90000 rtnne 0x72 
+0679 efe20006 ifetch 1 ,contr 
+067a c1bb0000 rtnne 0x76 
+067b 78367c00 enable user2 
+067c 18002200 force hfp_cievind_service ,rega 
+067d 202006a5 branch p_hfp_indicator_store 
+
+p_hfp_indicator_battchg:
+067e 78567c00 disable user2 
+067f 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+0680 1fe20c00 icopy contr 
+0681 efe20006 ifetch 1 ,contr 
+0682 c1b10000 rtnne 0x62 
+0683 efe20006 ifetch 1 ,contr 
+0684 c1b08000 rtnne 0x61 
+0685 efe20006 ifetch 1 ,contr 
+0686 c1ba0000 rtnne 0x74 
+0687 efe20006 ifetch 1 ,contr 
+0688 c1ba0000 rtnne 0x74 
+0689 efe20006 ifetch 1 ,contr 
+068a c1b18000 rtnne 0x63 
+068b 78367c00 enable user2 
+068c 18002206 force hfp_cievind_battcha ,rega 
+068d 202006a5 branch p_hfp_indicator_store 
+
+p_hfp_indicator_call_callheld_callsetup:
+068e 78567c00 disable user2 
+068f 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+0690 1fe20c00 icopy contr 
+0691 efe20006 ifetch 1 ,contr 
+0692 c1b18000 rtnne 0x63 
+0693 efe20006 ifetch 1 ,contr 
+0694 c1b08000 rtnne 0x61 
+0695 efe20006 ifetch 1 ,contr 
+0696 c1b60000 rtnne 0x6c 
+0697 efe20006 ifetch 1 ,contr 
+0698 c1b60000 rtnne 0x6c 
+0699 efe20006 ifetch 1 ,contr 
+069a 78367c00 enable user2 
+069b c03406a4 beq 0x68 ,p_hfp_indicator_callheld 
+069c c01106a1 beq 0x22 ,p_hfp_indicator_call 
+069d c039869f beq 0x73 ,p_hfp_indicator_callsetup 
+069e 20600000 rtn 
+
+p_hfp_indicator_callsetup:
+069f 18002202 force hfp_cievind_callsettup ,rega 
+06a0 202006a5 branch p_hfp_indicator_store 
+
+p_hfp_indicator_call:
+06a1 18c08dff increase -1 ,contr 
+06a2 18002201 force hfp_cievind_call ,rega 
+06a3 202006a5 branch p_hfp_indicator_store 
+
+p_hfp_indicator_callheld:
+06a4 18002203 force hfp_cievind_callheld ,rega 
+
+p_hfp_indicator_store:
+06a5 1f227e00 copy loopcnt ,pdata 
+06a6 1fe67e07 sub pdata ,7 ,pdata 
+06a7 d8404c9d arg mem_ag_indicator_map ,temp 
+06a8 98408400 iadd temp ,temp 
+06a9 1a227e00 copy rega ,pdata 
+06aa e7e20002 istore 1 ,temp 
+06ab 20600000 rtn 
+
+p_hfp_indicator_roam:
+06ac 78567c00 disable user2 
+06ad 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+06ae 1fe20c00 icopy contr 
+06af efe20006 ifetch 1 ,contr 
+06b0 c1b90000 rtnne 0x72 
+06b1 efe20006 ifetch 1 ,contr 
+06b2 c1b78000 rtnne 0x6f 
+06b3 efe20006 ifetch 1 ,contr 
+06b4 c1b08000 rtnne 0x61 
+06b5 efe20006 ifetch 1 ,contr 
+06b6 c1b68000 rtnne 0x6d 
+06b7 78367c00 enable user2 
+06b8 18002205 force hfp_cievind_roam ,rega 
+06b9 202006a5 branch p_hfp_indicator_store 
+
+p_hfp_indicator_signal:
+06ba 78567c00 disable user2 
+06bb 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+06bc 1fe20c00 icopy contr 
+06bd efe20006 ifetch 1 ,contr 
+06be c1b98000 rtnne 0x73 
+06bf efe20006 ifetch 1 ,contr 
+06c0 c1b48000 rtnne 0x69 
+06c1 efe20006 ifetch 1 ,contr 
+06c2 c1b38000 rtnne 0x67 
+06c3 efe20006 ifetch 1 ,contr 
+06c4 c1b70000 rtnne 0x6e 
+06c5 78367c00 enable user2 
+06c6 18002204 force hfp_cievind_signal ,rega 
+06c7 202006a5 branch p_hfp_indicator_store 
+
+p_hfp_is_result_brsf:
+06c8 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+06c9 1fe20c00 icopy contr 
+06ca efe20006 ifetch 1 ,contr 
+06cb c1958000 rtnne 0x2b 
+06cc efe20006 ifetch 1 ,contr 
+06cd c1a10000 rtnne 0x42 
+06ce efe20006 ifetch 1 ,contr 
+06cf c1a90000 rtnne 0x52 
+06d0 efe20006 ifetch 1 ,contr 
+06d1 c1a98000 rtnne 0x53 
+06d2 efe20006 ifetch 1 ,contr 
+06d3 c1a30000 rtnne 0x46 
+06d4 78347c00 enable user 
+06d5 20400737 call p_hfp_translate_ascii_to_hex 
+06d6 60444c9b storet 2 ,mem_agoption 
+06d7 20600000 rtn 
+
+p_hfp_is_result_chld:
+06d8 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+06d9 1fe20c00 icopy contr 
+06da efe20006 ifetch 1 ,contr 
+06db c1958000 rtnne 0x2b 
+06dc efe20006 ifetch 1 ,contr 
+06dd c1a18000 rtnne 0x43 
+06de efe20006 ifetch 1 ,contr 
+06df c1a40000 rtnne 0x48 
+06e0 efe20006 ifetch 1 ,contr 
+06e1 c1a60000 rtnne 0x4c 
+06e2 efe20006 ifetch 1 ,contr 
+06e3 c1a20000 rtnne 0x44 
+06e4 78347c00 enable user 
+06e5 20600000 rtn 
+
+p_hfp_is_result_vgm_vgs:
+06e6 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+06e7 1fe20c00 icopy contr 
+06e8 efe20006 ifetch 1 ,contr 
+06e9 c1958000 rtnne 0x2b 
+06ea efe20006 ifetch 1 ,contr 
+06eb c1ab0000 rtnne 0x56 
+06ec efe20006 ifetch 1 ,contr 
+06ed c1a38000 rtnne 0x47 
+06ee efe20006 ifetch 1 ,contr 
+06ef 78347c00 enable user 
+06f0 c02686f6 beq 0x4d ,p_hfp_vgm_changed 
+06f1 c02986f3 beq 0x53 ,p_hfp_vgs_changed 
+06f2 20600000 rtn 
+
+p_hfp_vgs_changed:
+06f3 20400737 call p_hfp_translate_ascii_to_hex 
+06f4 60424cab storet 1 ,mem_hf_vlm_speaker 
+06f5 20600000 rtn 
+
+p_hfp_vgm_changed:
+06f6 20400737 call p_hfp_translate_ascii_to_hex 
+06f7 60424cad storet 1 ,mem_hf_vlm_mic 
+06f8 20600000 rtn 
+
+p_hfp_is_result_ccwa:
+06f9 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+06fa 1fe20c00 icopy contr 
+06fb efe20006 ifetch 1 ,contr 
+06fc c1958000 rtnne 0x2b 
+06fd efe20006 ifetch 1 ,contr 
+06fe c1a18000 rtnne 0x43 
+06ff efe20006 ifetch 1 ,contr 
+0700 c1a18000 rtnne 0x43 
+0701 efe20006 ifetch 1 ,contr 
+0702 c1ab8000 rtnne 0x57 
+0703 efe20006 ifetch 1 ,contr 
+0704 c1a08000 rtnne 0x41 
+0705 78347c00 enable user 
+0706 20200718 branch p_hfp_is_result_clip_loop 
+
+p_hfp_is_result_clip:
+0707 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+0708 1fe20c00 icopy contr 
+0709 efe20006 ifetch 1 ,contr 
+070a c1958000 rtnne 0x2b 
+070b efe20006 ifetch 1 ,contr 
+070c c1a18000 rtnne 0x43 
+070d efe20006 ifetch 1 ,contr 
+070e c1a60000 rtnne 0x4c 
+070f efe20006 ifetch 1 ,contr 
+0710 c1a48000 rtnne 0x49 
+0711 efe20006 ifetch 1 ,contr 
+0712 c1a80000 rtnne 0x50 
+0713 78347c00 enable user 
+0714 20400718 call p_hfp_is_result_clip_loop 
+0715 6fe24cba fetch 1 ,mem_telephone_dialing_state 
+0716 c1800000 rtnne hfp_dialing_state_no 
+0717 20200631 branch p_hfp_dialing_start 
+
+p_hfp_is_result_clip_loop:
+0718 efe20006 ifetch 1 ,contr 
+0719 c0910718 bne 0x22 ,p_hfp_is_result_clip_loop 
+071a 18002200 force 0 ,rega 
+071b 18002430 force 0x30 ,regb 
+071c d8a04cbc arg mem_phone_number ,contw 
+
+p_hfp_is_result_clip_phone_num:
+071d efe20006 ifetch 1 ,contr 
+071e c0110723 beq 0x22 ,p_hfp_is_result_clip_end 
+071f 1a20a201 increase 1 ,rega 
+0720 9a467e00 isub regb ,pdata 
+0721 e7e20005 istore 1 ,contw 
+0722 2020071d branch p_hfp_is_result_clip_phone_num 
+
+p_hfp_is_result_clip_end:
+0723 1a227e00 deposit rega 
+0724 67e24cbb store 1 ,mem_phone_num_len 
+0725 20600000 rtn 
+
+p_hfp_is_result_clcc:
+0726 6fe44cb0 fetch 2 ,mem_at_command_ptr 
+0727 1fe20c00 icopy contr 
+0728 efe20006 ifetch 1 ,contr 
+0729 c1958000 rtnne 0x2b 
+072a efe20006 ifetch 1 ,contr 
+072b c1a18000 rtnne 0x43 
+072c efe20006 ifetch 1 ,contr 
+072d c1a60000 rtnne 0x4c 
+072e efe20006 ifetch 1 ,contr 
+072f c1a18000 rtnne 0x43 
+0730 efe20006 ifetch 1 ,contr 
+0731 c1a18000 rtnne 0x43 
+0732 78347c00 enable user 
+0733 20400718 call p_hfp_is_result_clip_loop 
+0734 6fe24cba fetch 1 ,mem_telephone_dialing_state 
+0735 c1800000 rtnne hfp_dialing_state_no 
+0736 20200631 branch p_hfp_dialing_start 
+
+p_hfp_translate_ascii_to_hex:
+0737 20400747 call p_hfp_findcomma 
+0738 18c08dfe increase -2 ,contr 
+0739 18c22200 copy contr ,rega 
+073a 18002401 force 1 ,regb 
+073b 18000400 force 0 ,temp 
+
+p_hfp_translate_calculate:
+073c efe20011 ifetch 1 ,rega 
+073d 1a20a3ff increase -1 ,rega 
+073e c11e8000 rtneq 0x3d 
+073f c11d0000 rtneq 0x3a 
+0740 c1160000 rtneq 0x2c 
+0741 c010073c beq 0x20 ,p_hfp_translate_calculate 
+0742 1fe0ffd0 pincrease -48 
+0743 9a4ffe00 imul32 regb ,pdata 
+0744 98408400 iadd temp ,temp 
+0745 1a4fa40a mul32 regb ,10 ,regb 
+0746 2020073c branch p_hfp_translate_calculate 
+
+p_hfp_findcomma:
+0747 efe20006 ifetch 1 ,contr 
+0748 c1068000 rtneq 0x0d 
+0749 c1160000 rtneq 0x2c 
+074a 20200747 branch p_hfp_findcomma 
+
+p_hfp_send_credit_return:
+074b 20406933 call get_rfcomm_snd_adss 
+074c 20206ae9 branch rfcomm_send_uih_without_payload 
+
+p_hfp_tx_rfcomm_without_credit:
+074d 6fe2453a fetch 1 ,mem_remote_credits 
+074e 207a0000 rtn blank 
+074f 1fe0ffff increase -1 ,pdata 
+0750 67e2453a store 1 ,mem_remote_credits 
+0751 6fe24537 fetch 1 ,mem_hiufcs_spp 
+0752 67e2050b store 1 ,mem_rfcomm_send_fcs 
+0753 580000ef setarg rsp_tx_uih 
+0754 67e2050a store 1 ,mem_rfcomm_send_frame_type 
+0755 20406933 call get_rfcomm_snd_adss 
+0756 6fe4466a fetch 2 ,mem_current_packet_length 
+0757 1fe0fe04 increase 4 ,pdata 
+0758 1fe22200 icopy rega 
+0759 2040076e call p_l2cap_malloc_rfcomm_channel 
+075a 6fe20509 fetch 1 ,mem_rfcomm_send_adss 
+075b e7e20005 istore 1 ,contw 
+075c 6fe2050a fetch 1 ,mem_rfcomm_send_frame_type 
+075d e7e20005 istore 1 ,contw 
+075e 20400769 call p_rfc_tx_write_length 
+075f 6fe4466a fetch 2 ,mem_current_packet_length 
+0760 1fe27200 copy pdata ,loopcnt 
+0761 6fe44cb2 fetch 2 ,mem_at_rfcomm_data_ptr 
+0762 1fe20c00 copy pdata ,contr 
+0763 20407cdc call memcpy 
+0764 6fe2050b fetch 1 ,mem_rfcomm_send_fcs 
+0765 e7e20005 istore 1 ,contw 
+0766 58000000 setarg 0 
+0767 67e4466a store 2 ,mem_current_packet_length 
+0768 20600000 rtn 
+
+p_rfc_tx_write_length:
+0769 6fe4466a fetch 2 ,mem_current_packet_length 
+076a 1fe3fe00 lshift pdata ,pdata 
+076b 79207e00 set1 0 ,pdata 
+076c e7e20005 istore 1 ,contw 
+076d 20600000 rtn 
+
+p_l2cap_malloc_rfcomm_channel:
+076e 204056ac call l2cap_malloc_rfcomm_channel 
+076f 204056ba call l2cap_get_rfcomm_tx_buff 
+0770 1a227e00 copy rega ,pdata 
+0771 e7e40005 istore 2 ,contw 
+0772 6fe4421c fetch 2 ,mem_rfcomm_remote_cid 
+0773 e7e40005 istore 2 ,contw 
+0774 20600000 rtn 
+
+p_sdp_process:
+0775 18c20400 copy contr ,temp 
+0776 df200004 arg 4 ,loopcnt 
+0777 d8a00526 arg mem_sdp_handle_list ,contw 
+0778 20407ca1 call memset0 
+0779 18420c00 copy temp ,contr 
+077a 1a427e00 deposit regb 
+077b c001877e beq sdp_search_res ,p_sdp_process_ss_res 
+077c c0028788 beq sdp_attribute_res ,p_sdp_process_sa_res 
+077d 20206ce3 branch sdp_process + 19 
+
+p_sdp_process_ss_res:
+077e efe40006 ifetch 2 ,contr 
+077f efe40006 ifetch 2 ,contr 
+0780 1ff0fe00 byteswap pdata ,pdata 
+0781 c080ca8b bne 1 ,assert 
+0782 efe80006 ifetch 4 ,contr 
+0783 67e80520 store 4 ,mem_sdp_record_handle 
+0784 6fe24222 fetch 1 ,mem_sdp_state 
+0785 79207e06 set1 l2cap_channel_state_recv_search_res ,pdata 
+0786 67e24222 store 1 ,mem_sdp_state 
+0787 20600000 rtn 
+
+p_sdp_process_sa_res:
+0788 6fe24222 fetch 1 ,mem_sdp_state 
+0789 79207e07 set1 l2cap_channel_state_recv_attrib_res ,pdata 
+078a 67e24222 store 1 ,mem_sdp_state 
+078b 18420c00 copy temp ,contr 
+078c efe40006 ifetch 2 ,contr 
+078d 20406fc1 call search_rfcomm_cn 
+078e 67e24536 store 1 ,mem_remote_spp_channel 
+078f 20600000 rtn 
+
+p_process_upper_sm_reconn:
+0790 6fe20283 fetch 1 ,mem_upper_sm_reconn 
+0791 207a0000 rtn blank 
+0792 c0020798 beq uppersm_reconn_sdp_cfg_wait ,p_process_upper_sm_reconn_sdp_cfg_wait 
+0793 c01e879c beq uppersm_reconn_search_service ,p_process_upper_sm_reconn_search_service 
+0794 c01f07a1 beq uppersm_reconn_search_service_wait ,p_process_upper_sm_reconn_search_service_wait 
+0795 c01f87a7 beq uppersm_reconn_search_attrib ,p_process_upper_sm_reconn_search_attrib 
+0796 c02007aa beq uppersm_reconn_search_attrib_wait ,p_process_upper_sm_reconn_search_attrib_wait 
+0797 20206bbd branch process_upper_sm_reconn + 3 
+
+p_process_upper_sm_reconn_sdp_cfg_wait:
+0798 6fe24222 fetch 1 ,mem_sdp_state 
+0799 c19f8000 rtnne l2cap_channel_setup_complete 
+079a 7002833d jam uppersm_reconn_search_service ,mem_upper_sm_reconn 
+079b 20206bba branch process_upper_sm_reconn 
+
+p_process_upper_sm_reconn_search_service:
+079c 7002833e jam uppersm_reconn_search_service_wait ,mem_upper_sm_reconn 
+079d da20000d arg 13 ,rega 
+079e 58001f11 setarg sdp_uuid_hs_audio_gateway 
+079f 67e4054b store 2 ,mem_search_uuid 
+07a0 202007ae branch p_sdp_send_search_req 
+
+p_process_upper_sm_reconn_search_service_wait:
+07a1 6fe24222 fetch 1 ,mem_sdp_state 
+07a2 c4030000 rtnbit0 l2cap_channel_state_recv_search_res 
+07a3 6fe80520 fetch 4 ,mem_sdp_record_handle 
+07a4 203a4d64 branch app_bt_disconnect ,blank 
+07a5 7002833f jam uppersm_reconn_search_attrib ,mem_upper_sm_reconn 
+07a6 20206bba branch process_upper_sm_reconn 
+
+p_process_upper_sm_reconn_search_attrib:
+07a7 70028340 jam uppersm_reconn_search_attrib_wait ,mem_upper_sm_reconn 
+07a8 da200013 arg 19 ,rega 
+07a9 202007c3 branch p_sdp_send_attribute_req 
+
+p_process_upper_sm_reconn_search_attrib_wait:
+07aa 6fe24222 fetch 1 ,mem_sdp_state 
+07ab c4038000 rtnbit0 l2cap_channel_state_recv_attrib_res 
+07ac 7002833b jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+07ad 20206c3a branch process_upper_sm_reconn_ss_spp_wait 
+
+p_sdp_send_search_req:
+07ae 204007dc call p_l2cap_malloc_sdp_req 
+07af 58000002 setarg sdp_search_req 
+07b0 e7e20005 istore 1 ,contw 
+07b1 6fe4051a fetch 2 ,mem_sdp_transactionid_local 
+07b2 1ff0fe00 byteswap pdata ,pdata 
+07b3 e7e40005 istore 2 ,contw 
+07b4 1a20a3fb increase -5 ,rega 
+07b5 1a30a200 byteswap rega ,rega 
+07b6 1a227e00 copy rega ,pdata 
+07b7 e7e40005 istore 2 ,contw 
+07b8 58000335 setarg 0x0335 
+07b9 e7e40005 istore 2 ,contw 
+07ba 58000019 setarg 0x19 
+07bb e7e20005 istore 1 ,contw 
+07bc 6fe4054b fetch 2 ,mem_search_uuid 
+07bd e7e40005 istore 2 ,contw 
+07be 58000008 setarg 0x0008 
+07bf e7e40005 istore 2 ,contw 
+07c0 58000000 setarg 0 
+07c1 e7e20005 istore 1 ,contw 
+07c2 20600000 rtn 
+
+p_sdp_send_attribute_req:
+07c3 204007dc call p_l2cap_malloc_sdp_req 
+07c4 58000004 setarg sdp_attribute_req 
+07c5 e7e20005 istore 1 ,contw 
+07c6 6fe4051a fetch 2 ,mem_sdp_transactionid_local 
+07c7 1ff0fe00 byteswap pdata ,pdata 
+07c8 e7e40005 istore 2 ,contw 
+07c9 1a20a3fb increase -5 ,rega 
+07ca 1a30a200 byteswap rega ,rega 
+07cb 1a227e00 copy rega ,pdata 
+07cc e7e40005 istore 2 ,contw 
+07cd 6fe80520 fetch 4 ,mem_sdp_record_handle 
+07ce e7e80005 istore 4 ,contw 
+07cf 58002c01 setarg 0x2c01 
+07d0 e7e40005 istore 2 ,contw 
+07d1 58000535 setarg 0x0535 
+07d2 e7e40005 istore 2 ,contw 
+07d3 5800000a setarg 0x0a 
+07d4 e7e20005 istore 1 ,contw 
+07d5 58000000 setarg 0 
+07d6 e7e40005 istore 2 ,contw 
+07d7 5fffffff setarg -1 
+07d8 e7e40005 istore 2 ,contw 
+07d9 58000000 setarg 0 
+07da e7e20005 istore 1 ,contw 
+07db 20600000 rtn 
+
+p_l2cap_malloc_sdp_req:
+07dc 6fe4051a fetch 2 ,mem_sdp_transactionid_local 
+07dd 1fe0fe01 increase 1 ,pdata 
+07de 67e4051a store 2 ,mem_sdp_transactionid_local 
+
+p_l2cap_malloc_server_channel:
+07df 20407c60 call push_stack_rega_b_c 
+07e0 2040569f call l2cap_malloc_sdp_channel 
+07e1 20407c70 call pop_stack_rega_b_c 
+07e2 204056a8 call l2cap_get_sdp_tx_buff 
+07e3 e224003f istorer rega ,2 ,pdata 
+07e4 6fe4421a fetch 2 ,mem_sdp_remote_cid 
+07e5 e7e40005 istore 2 ,contw 
+07e6 20600000 rtn 
+
+p_master_page_no_interval:
+07e7 684440b7 fetcht 2 ,mem_page_window 
+07e8 18000e28 force 40 ,queue 
+07e9 20404718 call sniff_check_window 
+07ea 20344110 branch page_exit ,user 
+07eb 202040ec branch page_start 
+              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: ebike/trunk/output/ramcode.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/ramcode.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/ramcode.rom	(working copy)
@@ -0,0 +1,2028 @@
+c284001a
+c0000037
+c00887e7
+c000806c
+c0428073
+c0448094
+c04a005a
+c051009d
+c0518065
+c05600a4
+c05c00a5
+c05d8141
+c05e01d4
+c07581f8
+c00283db
+c01603f5
+c01703fa
+c0378402
+c0530413
+c0538434
+c055845b
+c01d83fd
+c05f8499
+c013047f
+c014048c
+20204a8b
+c0018202
+c002820e
+c0030217
+c003821c
+c0040225
+c0058236
+c0098246
+c00a02cb
+c00e02de
+c00f0307
+c00f8335
+c0108369
+c018037a
+c019037e
+c01d0391
+c01f039c
+c02083ae
+c02483b4
+c02903bd
+c02a83ca
+c046831c
+c04c83d7
+c0350790
+c03d0775
+c02884b0
+c02a04be
+c02c049e
+c031849c
+20204a8b
+6fec4bf2
+67ec00a1
+1ce27e00
+203a0044
+2040003d
+20204002
+70409100
+20400040
+202067bc
+6fe28973
+79207e06
+67e28973
+20600000
+6fe28126
+c280004b
+6fec00a1
+684c810e
+98417e00
+245a003d
+20204002
+2040004d
+20204002
+58ffffff
+6846810e
+9842fe00
+684600a1
+98417e00
+243a003d
+58ffffff
+68468111
+9842fe00
+684600a4
+98417e00
+243a003d
+20600000
+18427e00
+20407d2b
+1c307e00
+79207e2c
+20407d14
+793ffe2c
+20404a76
+20407d14
+20740000
+20400069
+20204a2f
+1b427e00
+20400068
+20204ae9
+20407d14
+98000c00
+793f8c10
+20207d1f
+70453d00
+204068c4
+204060d7
+20400071
+2020400a
+20758000
+20207b9a
+20308083
+708955d4
+20000004
+708955d2
+20000004
+708955d1
+20000004
+6fe241df
+c0000081
+c0008091
+c0010081
+c0018091
+c0020091
+c0100091
+708955d0
+708956e0
+18002a08
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890200
+70890100
+70890000
+70890300
+70890470
+6fe28906
+79207e00
+67e28906
+20600000
+708955d0
+708956c0
+20200083
+60420017
+2040492a
+20404980
+58000500
+20404a8e
+6fe28906
+79207e00
+67e28906
+20204937
+7089067c
+20758000
+58000000
+67e441dd
+1c437e00
+67e84094
+20600000
+20204b7f
+580000b4
+67e441f6
+5800010a
+67e441fe
+5800011f
+67e441fa
+58000132
+67e441ea
+5800013e
+67e441f2
+20404daf
+20404dbc
+20404c2a
+2040504d
+202004e9
+1a627e00
+c00080c3
+c00480d4
+c00100c7
+c00280d9
+c00200db
+c00980db
+c00c00ff
+c03000df
+c02c80e1
+c02c00e8
+c00a00ea
+c00a80fb
+c01e80fe
+20204ddf
+704cf300
+20404d6b
+20404d62
+20204e2c
+204004e9
+704ad000
+20404dd7
+6fe24637
+245a508c
+204000f7
+6fe44652
+c30200d2
+793ffe04
+67e44652
+20205026
+704cf314
+20600000
+6fe24acf
+245a00d7
+20600000
+704ad006
+20600000
+20404dd7
+202000f3
+204000f7
+202000dd
+700affb1
+2020504e
+700affb2
+2020504e
+700affb3
+6fe24cbb
+204050a5
+6f224cbb
+d8604cbc
+20405016
+202067b9
+700affb4
+2020504e
+20400373
+204000ef
+6fe2466e
+67e24173
+20205024
+6fe2466c
+2feffe01
+2040cd73
+20600000
+6fe2466c
+2feffe00
+2040cd6b
+20600000
+6fe2466c
+2feffe00
+2040cd69
+20600000
+20405bf6
+20404e95
+20205028
+20600000
+700affb0
+5800001c
+204050a5
+6fec40a0
+e7ec000a
+6fec0040
+e7ec000a
+d8c041bf
+df200010
+204067d4
+202067b9
+20400119
+20400111
+2040010e
+202050c3
+da604cf3
+da404d5c
+20204d04
+6fe24ad0
+207a0000
+1fe0ffff
+67e24ad0
+247a0000
+6fe44652
+c2804d64
+20600000
+6fe84bee
+207a0000
+1fe0ffff
+67e84bee
+247a0000
+2020003d
+20400463
+20740000
+1a227e00
+67e44671
+2040012c
+67e24670
+68440474
+60444673
+20405b6c
+243a4a8b
+6fe2049e
+c0815042
+20205042
+6fe24bed
+243a0130
+1f227e00
+20600000
+1a427e00
+20600000
+20400299
+2434013b
+6fe24fef
+c000813b
+6fe24496
+c0800139
+20204d4d
+c07fcd4d
+2020013b
+20400040
+204067bc
+20204d4b
+20400140
+202050d3
+20204dc7
+6fe20aff
+c01381b9
+c0060168
+c03b0171
+c03b8177
+c03c017c
+c00a81b6
+c02001ba
+c07f8165
+c03c81c7
+c05881ca
+c001014e
+20204e5c
+6fe20b00
+c080d01c
+1a220600
+2040501f
+e8420003
+6042466f
+6fe2466c
+2feffe00
+2420815c
+6fe44652
+c280015c
+6842466f
+18417e03
+67e24093
+6fe2466c
+2feffe01
+24608000
+6fe44652
+c3848000
+6842466f
+284ffe02
+2020cd75
+20204d73
+efe20003
+67e24091
+20600000
+1a220600
+efe20003
+c0004f1c
+c000cf1f
+c0014f25
+c001816f
+2020501c
+58000001
+20204f20
+d840000c
+20405b4d
+18c08bfe
+58000000
+e7e40005
+2020501f
+20400180
+2040019d
+58000000
+e7e40005
+202001af
+efe20003
+20400184
+2040018b
+202001af
+204001a1
+58280002
+e7e60005
+20600000
+67e20a96
+204001a1
+59280302
+e7e80005
+6fe20a96
+e7e60005
+20600000
+204001a1
+2040019d
+2040019d
+58000000
+e7e40005
+184085ff
+20405b4d
+18c08c04
+efe20006
+c2820198
+c2828198
+18408401
+20600000
+204001a1
+5a290202
+e7f00005
+184085ff
+20600000
+efe20003
+1fe27200
+e7e20005
+202067ed
+204001a4
+e0440005
+20600000
+6fe4448e
+98000c00
+efe40006
+207a0000
+1fe08401
+efe20006
+98c08c00
+efe20006
+98c08c00
+18c20a00
+202001a6
+60440a9e
+700aff29
+58000002
+204050a5
+68440a9e
+e044000a
+202067b9
+efe60003
+67e640aa
+2020501f
+20204d85
+efe20003
+68484179
+793a0410
+793a0418
+60484179
+68424157
+793a0400
+60424157
+efec0003
+67ec00a1
+67ec4bf2
+20404be3
+2020501f
+efe80003
+67e84bee
+2020501f
+efec0003
+67ec40a0
+efec0003
+67ec41d1
+d8a041bf
+df200010
+204067ed
+204068be
+20404d5c
+2020501f
+6fe24679
+c28182ab
+6fe24679
+c3838000
+6fe44478
+20407db5
+1fe20400
+1840fffd
+d84000c8
+20407db5
+6842467a
+20407db5
+1fe22200
+18427e00
+9a267e00
+67e2467a
+6844467b
+184085ff
+20405b4d
+203a01f4
+e8480006
+59280302
+98467c00
+242281f4
+efe20006
+c28281f0
+c2824f01
+202001f4
+20400375
+6844467b
+20405e4d
+20204f03
+70467a00
+700b0101
+204050e0
+2020501c
+6fe24bed
+243a5709
+20405709
+704adb01
+704adc00
+58000000
+67f04ad1
+5800001b
+67e44ad9
+20600000
+204049ba
+7823fc00
+7824fc00
+09800008
+19897e00
+67e202d5
+09800008
+19897e00
+e7e20005
+1fe27200
+203a588b
+20205887
+204058a3
+20404915
+68420017
+2040491c
+200005dc
+20404921
+78287c00
+d960157c
+20205869
+204057af
+2040021a
+202058a7
+20368099
+202057be
+6fe24bed
+243a58b3
+6fe24adb
+08008608
+efe20006
+1fe27200
+08008608
+2022d8bc
+202058b9
+6fe24bed
+243a58c4
+6fe24456
+c000d8d3
+6fe24457
+1ff27e00
+1febfe00
+67e24adb
+68424341
+1840fe06
+67e24adc
+6fec4472
+67ec4add
+18427200
+d8c04342
+20407ccf
+202058de
+6fe24bed
+243a58f7
+d8400004
+6fe24457
+7d3a0406
+60424adb
+68424361
+1840fe06
+67e24adc
+6fec4472
+67ec4add
+d8c04362
+18427200
+20407ccf
+204058a1
+20205ae2
+20405ac9
+2040599a
+6fe202d5
+2feffe04
+7920802a
+1fe37e00
+9842fe00
+2feffe02
+7920800f
+c6078000
+6fe202d6
+203a0258
+6fe2043b
+c3020258
+20407342
+204072b2
+7d3a000f
+247a0000
+68420452
+79400402
+60420452
+6fe24bed
+247a0000
+2020025e
+6fe202d6
+207a0000
+6fe202d5
+2fe00601
+20208286
+2fe00602
+20208266
+20600000
+6fe402d9
+c1820000
+efe60006
+67e60473
+7920000f
+c009027a
+c029027c
+c00b0273
+c00c5e3b
+c0010377
+c00f0373
+793f800f
+20600000
+58000b1e
+67e44ad5
+2040027f
+1f20f3fe
+da2002e0
+20405abe
+2020029f
+2040027c
+20200296
+2040027f
+da2002de
+20205abe
+6fe202d6
+1fe0f3f9
+1fe0fffc
+67e44ad1
+e8440006
+60444ad3
+20600000
+7920000f
+2040028e
+6fe20473
+c0090296
+c00b0295
+c1290000
+793f800f
+20600000
+6fe202d6
+68444ad1
+98408400
+60444ad1
+1fe27200
+da2002d7
+20205abe
+2020029f
+20400299
+24740000
+20200475
+20407dc1
+6fe44ad3
+68444ad1
+98467c00
+24628000
+20207dbf
+6fe44ad5
+1fe20a00
+6fe202d6
+1fe27200
+20407cdc
+18a27e00
+67e44ad5
+20400299
+24740000
+d8e00003
+204050e6
+202002ab
+20405c74
+247a0000
+700b2217
+58000b1e
+67e44ad7
+68440b1e
+18408404
+580000f9
+20407db5
+1fe0a5fc
+18000202
+1fe22200
+20405c32
+6fe44ad7
+1fe20c00
+1a227200
+20407ccf
+18c27e00
+67e44ad7
+6fe40b1e
+9a467e00
+67e40b1e
+203a02c7
+d84000f9
+20407db5
+1fe22400
+18000201
+202002b6
+58000000
+67e44ad5
+d8e00003
+202050e2
+6fe24bed
+243a599b
+68420452
+284c0005
+20608000
+6fe202d5
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+60420452
+28400603
+24608000
+6fe24add
+c002d9ac
+6fe24497
+c00159b0
+20600000
+6fe24bed
+243a59f9
+6fe20452
+c3828000
+20405a1c
+20405c53
+203a5a3e
+efe20006
+e8420006
+18422200
+9a267e00
+20400303
+20407db5
+1fe20400
+efe20006
+1fe20200
+1a227e00
+98c08c00
+d8a04add
+18427200
+20407ccf
+20405a2e
+20405a40
+20405c53
+efe20006
+1fe22200
+18c22600
+e8420006
+18422400
+9a467e00
+20400303
+20407db5
+9a40fe00
+e7e20013
+9a267c00
+24628000
+20205c76
+18c20a00
+68444ad9
+18a20c00
+20600000
+6fe24bed
+243a5a41
+60424adc
+68420452
+79200405
+18417efc
+9821fe00
+67e20452
+1fe17e1f
+280ffe29
+7920fe04
+67e24adb
+6fe24adb
+28200601
+24208318
+6fe24adc
+207a0000
+6fe2043b
+c4020000
+20407342
+20207299
+6fe24bed
+243a729a
+da604adb
+684a43d5
+20407277
+18007008
+98005e00
+18002200
+20407263
+204072e8
+da604add
+6fe24adc
+1fe0a5ff
+9a608a00
+1800700c
+1de27e00
+e7e80005
+2040728e
+6fe24adc
+1fe0fe04
+67e24adc
+684a43d5
+18408401
+604a43d5
+20600000
+c6078000
+20405c70
+247a0000
+6fe202d5
+1fe17e03
+67e244de
+efe20006
+67e244dd
+207a0000
+18c27e00
+67e444df
+6fe244de
+c0018347
+20405a76
+d8e00003
+24344bec
+20404bf0
+20205a6b
+6fe24bed
+243a6044
+6fe202d7
+c004034d
+c00a035a
+20206045
+da200009
+da400009
+20405c22
+58000021
+e7f00005
+20400354
+20600000
+6fe202d8
+1fe17e20
+203a0358
+20600000
+704bed01
+20600000
+efe40006
+67e44ad9
+2020035d
+da200009
+da400015
+20405c22
+580000fb
+e7e40005
+58000848
+e7e40005
+580000fb
+e7e40005
+58000848
+e7e40005
+20600000
+efe40006
+c002036e
+c0035ed4
+c002de96
+20600000
+efe60006
+67e60473
+c0050466
+c0090471
+20205c8d
+d8e00007
+202050e2
+d8e00007
+202050e6
+20405ca9
+67e44478
+20205ca2
+20405b86
+da604381
+da204362
+20205ba5
+6fe24bed
+243a5bd5
+7855fc00
+20370383
+2436dbe6
+20404ba0
+6fe440c1
+67e40449
+2436cbb3
+c507cbb3
+6fe244dd
+243a4bb3
+6fe24adc
+243a4bb3
+6fe244bb
+c282cbb3
+6fe2043b
+c282cbb3
+20204b95
+6fe2007d
+c0080395
+c00b839b
+202060fe
+6842054e
+18467c06
+20210399
+20206206
+70007e24
+20206134
+202062b8
+78547c00
+204066a3
+6fe20048
+207a0000
+c28383a2
+202063f2
+c04203a5
+c04183a8
+20206421
+204003ab
+6fe20048
+2020647b
+204003ab
+6fe20048
+202064ef
+6fe2462c
+203a650d
+20206506
+6fe2409e
+793ffe03
+67e2409e
+58000001
+67e404ca
+20600000
+19427e00
+67e44ff6
+70409100
+20400040
+6fe28043
+c3838000
+79207e07
+67e28043
+20600000
+6fe204f9
+c07783c0
+20206957
+6fe404fd
+1fe20c00
+20406984
+6fe204ff
+c03803c6
+20206960
+700a9508
+20407bab
+20406972
+202069ba
+6fe204f9
+c07783cd
+20206a15
+6fe404fd
+1fe20c00
+20406984
+6fe204ff
+c03803d3
+20206a1d
+700a9508
+20407bab
+20406972
+20206a43
+6fe24490
+203a5ed0
+20407438
+20207932
+2040425a
+242283e3
+20404206
+1a208c01
+efe20006
+c280573a
+c280c162
+202043cb
+204003e5
+2020402c
+df200002
+68420015
+18408401
+2841fe02
+242083eb
+d8400000
+60420015
+184ffe50
+da204bf8
+9a20a200
+efe20011
+c28083f3
+c3800000
+c3818000
+c20003e7
+20600000
+da6003f7
+20204239
+c2804262
+18007c00
+20600000
+da204bf8
+df200002
+20204260
+6fe20030
+793ffe03
+67e20030
+70465100
+202043c5
+78487c00
+18423600
+2040040a
+78547c00
+24628000
+18003600
+78347c00
+20600000
+da60040c
+2020425d
+1fe20400
+1a208c01
+efe20006
+1a220c00
+c2804262
+18427e00
+202042c2
+58000000
+1ce27c00
+2022841d
+6fe28124
+68428125
+98467c00
+2021041b
+18427e00
+9ce67e00
+1fe0fe01
+1fe0fe08
+37d98200
+9e20fe00
+6848415c
+9840fe00
+68464170
+984ffe00
+1fecfe00
+1ff1fe00
+1fe0fe6e
+d8400ea6
+9846fc00
+20407d61
+1807fe00
+1ff07e00
+18070400
+9841fe00
+684c4164
+20407d07
+18423200
+6fec4c00
+20404850
+20600000
+20404ad8
+6fe64170
+207a0000
+6fe24091
+207a0000
+6fe2462c
+203a043d
+6fe24583
+207a0000
+6fe24492
+247a0000
+20404bf4
+247a0000
+6fe24bf8
+2fe00e03
+2420cb72
+6fe44bfa
+207a0000
+20758000
+684200a0
+6fe44bfa
+984ffe00
+18518400
+184b0400
+98467e00
+68484bfc
+9840fe00
+68424156
+98467e00
+1ff06000
+6fe44c06
+1fe37e00
+20407d2b
+1e027e00
+20407d14
+1b420400
+20400068
+20740000
+20204b68
+6fe24bf8
+20204b74
+20407dc1
+6fe24498
+c1000000
+6fe24bf8
+c3820000
+20207dbf
+6fe24679
+c281045d
+20207dc1
+68440474
+6fe244bb
+c281846a
+20205d9f
+6fe444cc
+98467c00
+2422dd9f
+2040045d
+24345d9f
+70047605
+20205e57
+18c22200
+6fe444ce
+1fe0a5fd
+20405abe
+6fe244bb
+c3025e1d
+68440474
+6fe444cc
+98467c00
+2422de1d
+2040045d
+24345e1d
+70047605
+20205e57
+204041c5
+24740000
+78547c00
+70001120
+793f800b
+793f802c
+20404a4e
+204042e2
+c505848c
+20404451
+243a0485
+c5160495
+202041e8
+20404a4c
+d8200010
+204042d8
+7920002c
+793f800b
+6fe20077
+98000800
+70001102
+20200485
+6fe80163
+1fe0fe08
+67e80163
+202041f4
+2040514a
+70028117
+20600000
+204004f3
+20206b6e
+580015ef
+e7e40005
+58001183
+e7e40005
+18427e00
+e7e20005
+580000f0
+e7e60005
+6fe4453e
+e7e40005
+58000000
+e7e20005
+6fe24540
+e7e20005
+204068f0
+e7e20005
+70453b10
+20600000
+6fe24651
+c000694f
+6fe40260
+1fe20c00
+20406979
+6fe204f8
+c0006a13
+202004b8
+6fe204f9
+c07784ca
+c07f84c2
+c02984bd
+20206a4e
+20206a05
+6fe204f9
+c07784ca
+c07f84c2
+202069dc
+6fe404fd
+1fe20c00
+1fe0fe01
+67e404fd
+efe20006
+6842453a
+9840fe00
+67e2453a
+20406b01
+6fe404fd
+67e44cae
+68e204fb
+202004cf
+18e27e00
+20628000
+68444cae
+18420c00
+204004dd
+24740000
+18c27e00
+67e44cb0
+204004dd
+24740000
+18c27e00
+67e44cae
+2040056f
+202004cf
+78547c00
+18e27e00
+1fe0fffe
+24610000
+18e08fff
+efe20006
+c08684de
+18e08fff
+efe20006
+c08504de
+78347c00
+20600000
+704c9800
+704c9900
+704c9a00
+704cad0a
+704cab0a
+704cba00
+58004cab
+d8a04c98
+98a67200
+20207caf
+2040564e
+247a0000
+6fe24c98
+c0050524
+c1058000
+c006052f
+c1068000
+c007053a
+c1078000
+c0000508
+c0008515
+c1010000
+c0018545
+c1020000
+c0028550
+c1030000
+c0038559
+c1040000
+c0048507
+20600000
+20600000
+6fe24226
+c077850c
+c07f850c
+20600000
+704c9801
+20600000
+67e4466a
+58004cd5
+67e44cb2
+1fe20a00
+582b5441
+e7e60005
+20600000
+6fe2453a
+207a0000
+2040074b
+704c9802
+5800000a
+2040050e
+58535242
+e7e60005
+58003d46
+e7e40005
+6fe24cb4
+e7e20005
+5800000d
+e7e20005
+2020074d
+2040074b
+704c980b
+5800000a
+2040050e
+58004843
+e7e40005
+583d444c
+e7e60005
+58000d3f
+e7e40005
+2020074d
+2040074b
+704c980d
+5800000a
+2040050e
+58004c43
+e7e40005
+583d5049
+e7e60005
+58000d31
+e7e40005
+2020074d
+2040074b
+704c980f
+5800000a
+2040050e
+58004343
+e7e40005
+583d4157
+e7e60005
+58000d31
+e7e40005
+2020074d
+2040074b
+704c9804
+5800000a
+2040050e
+584e4943
+e7e60005
+583f3d44
+e7e60005
+5800000d
+e7e20005
+2020074d
+2040074b
+704c9806
+58000009
+2040050e
+584e4943
+e7e60005
+580d3f44
+e7e60005
+2020074d
+2040074b
+704c9808
+58000010
+2040050e
+58454d43
+e7e60005
+58333d52
+e7e60005
+582c302c
+e7e60005
+58312c30
+e7e60005
+5800000d
+e7e20005
+2020074d
+58000008
+2040050e
+58434c43
+e7e60005
+58000d43
+e7e40005
+2020074d
+78547c00
+2040058b
+20740000
+204005b5
+20740000
+60e40a9e
+2040074b
+68e40a9e
+204006c8
+20740000
+204005cf
+20740000
+204005c3
+20740000
+20400635
+20740000
+204006d8
+20740000
+204006e6
+20740000
+20400707
+20740000
+204006f9
+20740000
+20400726
+20740000
+6fe44cb8
+20207d77
+6fe44cb0
+1fe20c00
+efe20006
+c1a78000
+efe20006
+c1a58000
+78347c00
+2040059c
+6fe24c98
+c00405ac
+c00585ae
+c00685b0
+c00785b2
+c00105a6
+c00205a8
+c00305aa
+20600000
+6fe24c9a
+c00085a2
+c00105a2
+c00185a4
+c00205a2
+20600000
+704c9a00
+20600000
+704c9a00
+20600000
+704c9803
+20600000
+704c9805
+20600000
+704c9807
+20600000
+704c980a
+20600000
+704c980c
+20600000
+704c980e
+20600000
+704c9809
+700a9560
+20207bab
+6fe44cb0
+1fe20c00
+efe20006
+c1a28000
+efe20006
+c1a90000
+efe20006
+c1a90000
+efe20006
+c1a78000
+efe20006
+c1a90000
+78347c00
+2020059c
+6fe44cb0
+1fe20c00
+efe20006
+c1a90000
+efe20006
+c1a48000
+efe20006
+c1a70000
+efe20006
+c1a38000
+78347c00
+20600000
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1a18000
+efe20006
+c1a48000
+efe20006
+c1a28000
+efe20006
+c1ab0000
+78347c00
+20400737
+1a20a202
+58004c9d
+98408400
+184085ff
+efe20002
+d8404ca4
+9840fe00
+67e44cb0
+1a220c00
+20400747
+20400737
+6fe44cb0
+e042003f
+58000001
+204005ef
+c00005f3
+c0008615
+20600000
+d8c04ca4
+98c08c00
+efe20006
+20600000
+58000002
+204005ef
+c0008601
+c0010611
+c0018611
+6fe24c99
+c1000000
+704c9900
+6fe24cba
+1fe67c01
+204285ff
+2020062f
+700a9558
+20207bab
+20400568
+6fe24c99
+c1008000
+704c9901
+700a955a
+20207bab
+700a955b
+20207bab
+700a955c
+20207bab
+700a955d
+20207bab
+700a955e
+20207bab
+700a955f
+20207bab
+6fe24c99
+c1010000
+704c9902
+20200607
+58000003
+204005ef
+c0000624
+6fe24c99
+c1030000
+704c9906
+2020060f
+6fe24c99
+c1020000
+704c9904
+2020060b
+6fe24c99
+c1028000
+704c9905
+2020060d
+58000002
+204005ef
+c000861c
+c0010620
+c0018620
+6fe24c99
+c1018000
+704c9903
+20400609
+704cba02
+20600000
+704cba00
+20600000
+700a9559
+20407bab
+704cba01
+20600000
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1a18000
+efe20006
+c1a48000
+efe20006
+c1a70000
+efe20006
+c1a20000
+78347c00
+18c08c02
+efe20006
+c0140661
+20200646
+18007207
+60c44cb0
+6fe44cb0
+1fe20c00
+20400737
+1a20a202
+1a220c00
+20400747
+18c27e00
+67e44cb0
+18422200
+1f220400
+18460407
+2040065a
+d8404ca4
+98408400
+1a227e00
+e7e20002
+c2000648
+202005ea
+58004c9d
+98408400
+efe20002
+20600000
+efe20006
+c1110000
+2020065e
+18007207
+2040065e
+60c44cb0
+20400670
+2036066d
+2040068e
+2036066d
+204006ba
+2036066d
+204006ac
+2036066d
+2040067e
+2040065e
+c2000662
+20600000
+78567c00
+6fe44cb0
+1fe20c00
+efe20006
+c1b98000
+efe20006
+c1b28000
+efe20006
+c1b90000
+efe20006
+c1bb0000
+78367c00
+18002200
+202006a5
+78567c00
+6fe44cb0
+1fe20c00
+efe20006
+c1b10000
+efe20006
+c1b08000
+efe20006
+c1ba0000
+efe20006
+c1ba0000
+efe20006
+c1b18000
+78367c00
+18002206
+202006a5
+78567c00
+6fe44cb0
+1fe20c00
+efe20006
+c1b18000
+efe20006
+c1b08000
+efe20006
+c1b60000
+efe20006
+c1b60000
+efe20006
+78367c00
+c03406a4
+c01106a1
+c039869f
+20600000
+18002202
+202006a5
+18c08dff
+18002201
+202006a5
+18002203
+1f227e00
+1fe67e07
+d8404c9d
+98408400
+1a227e00
+e7e20002
+20600000
+78567c00
+6fe44cb0
+1fe20c00
+efe20006
+c1b90000
+efe20006
+c1b78000
+efe20006
+c1b08000
+efe20006
+c1b68000
+78367c00
+18002205
+202006a5
+78567c00
+6fe44cb0
+1fe20c00
+efe20006
+c1b98000
+efe20006
+c1b48000
+efe20006
+c1b38000
+efe20006
+c1b70000
+78367c00
+18002204
+202006a5
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1a10000
+efe20006
+c1a90000
+efe20006
+c1a98000
+efe20006
+c1a30000
+78347c00
+20400737
+60444c9b
+20600000
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1a18000
+efe20006
+c1a40000
+efe20006
+c1a60000
+efe20006
+c1a20000
+78347c00
+20600000
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1ab0000
+efe20006
+c1a38000
+efe20006
+78347c00
+c02686f6
+c02986f3
+20600000
+20400737
+60424cab
+20600000
+20400737
+60424cad
+20600000
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1a18000
+efe20006
+c1a18000
+efe20006
+c1ab8000
+efe20006
+c1a08000
+78347c00
+20200718
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1a18000
+efe20006
+c1a60000
+efe20006
+c1a48000
+efe20006
+c1a80000
+78347c00
+20400718
+6fe24cba
+c1800000
+20200631
+efe20006
+c0910718
+18002200
+18002430
+d8a04cbc
+efe20006
+c0110723
+1a20a201
+9a467e00
+e7e20005
+2020071d
+1a227e00
+67e24cbb
+20600000
+6fe44cb0
+1fe20c00
+efe20006
+c1958000
+efe20006
+c1a18000
+efe20006
+c1a60000
+efe20006
+c1a18000
+efe20006
+c1a18000
+78347c00
+20400718
+6fe24cba
+c1800000
+20200631
+20400747
+18c08dfe
+18c22200
+18002401
+18000400
+efe20011
+1a20a3ff
+c11e8000
+c11d0000
+c1160000
+c010073c
+1fe0ffd0
+9a4ffe00
+98408400
+1a4fa40a
+2020073c
+efe20006
+c1068000
+c1160000
+20200747
+20406933
+20206ae9
+6fe2453a
+207a0000
+1fe0ffff
+67e2453a
+6fe24537
+67e2050b
+580000ef
+67e2050a
+20406933
+6fe4466a
+1fe0fe04
+1fe22200
+2040076e
+6fe20509
+e7e20005
+6fe2050a
+e7e20005
+20400769
+6fe4466a
+1fe27200
+6fe44cb2
+1fe20c00
+20407cdc
+6fe2050b
+e7e20005
+58000000
+67e4466a
+20600000
+6fe4466a
+1fe3fe00
+79207e00
+e7e20005
+20600000
+204056ac
+204056ba
+1a227e00
+e7e40005
+6fe4421c
+e7e40005
+20600000
+18c20400
+df200004
+d8a00526
+20407ca1
+18420c00
+1a427e00
+c001877e
+c0028788
+20206ce3
+efe40006
+efe40006
+1ff0fe00
+c080ca8b
+efe80006
+67e80520
+6fe24222
+79207e06
+67e24222
+20600000
+6fe24222
+79207e07
+67e24222
+18420c00
+efe40006
+20406fc1
+67e24536
+20600000
+6fe20283
+207a0000
+c0020798
+c01e879c
+c01f07a1
+c01f87a7
+c02007aa
+20206bbd
+6fe24222
+c19f8000
+7002833d
+20206bba
+7002833e
+da20000d
+58001f11
+67e4054b
+202007ae
+6fe24222
+c4030000
+6fe80520
+203a4d64
+7002833f
+20206bba
+70028340
+da200013
+202007c3
+6fe24222
+c4038000
+7002833b
+20206c3a
+204007dc
+58000002
+e7e20005
+6fe4051a
+1ff0fe00
+e7e40005
+1a20a3fb
+1a30a200
+1a227e00
+e7e40005
+58000335
+e7e40005
+58000019
+e7e20005
+6fe4054b
+e7e40005
+58000008
+e7e40005
+58000000
+e7e20005
+20600000
+204007dc
+58000004
+e7e20005
+6fe4051a
+1ff0fe00
+e7e40005
+1a20a3fb
+1a30a200
+1a227e00
+e7e40005
+6fe80520
+e7e80005
+58002c01
+e7e40005
+58000535
+e7e40005
+5800000a
+e7e20005
+58000000
+e7e40005
+5fffffff
+e7e40005
+58000000
+e7e20005
+20600000
+6fe4051a
+1fe0fe01
+67e4051a
+20407c60
+2040569f
+20407c70
+204056a8
+e224003f
+6fe4421a
+e7e40005
+20600000
+684440b7
+18000e28
+20404718
+20344110
+202040ec
Index: ebike/trunk/output/romcode.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/romcode.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/output/sched.rom
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/sched.rom	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/output/sched.rom	(working copy)
@@ -0,0 +1,334 @@
+mem_patch00:
+23	#mem_patch00
+00	#mem_patch01
+02	#mem_patch02
+00	#mem_patch03
+40	#mem_patch04
+51	#mem_patch05
+00	#mem_patch06
+08	#mem_patch07
+00	#mem_patch08
+00	#mem_patch09
+00	#mem_patch0a
+00	#mem_patch0b
+00	#mem_patch0c
+80	#mem_patch0d
+00	#mem_patch0e
+00	#mem_patch0f
+20	#mem_patch10
+02	#mem_patch11
+10	#mem_patch12
+00	#mem_patch13
+cc	#mem_patch14
+18	#mem_patch15
+00	#mem_patch16
+99	#mem_patch17
+00	#mem_patch18
+00	#mem_patch19
+00	#mem_patch1a
+00	#mem_patch1b
+00	#mem_patch1c
+08	#mem_patch1d
+00	#mem_patch1e
+00	#mem_patch1f
+e8	#mem_patch20
+09	#mem_patch21
+18	#mem_patch22
+d0	#mem_patch23
+02	#mem_patch24
+00	#mem_patch25
+05	#mem_patch26
+44	#mem_patch27
+02	#mem_patch28
+02	#mem_patch29
+36	#mem_patch2a
+01	#mem_patch2b
+08	#mem_patch2c
+04	#mem_patch2d
+00	#mem_patch2e
+04	#mem_patch2f
+00	#mem_patch30
+20	#mem_patch31
+00	#mem_patch32
+02	#mem_patch33
+00	#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_app_connection_options:17
+
+###3.0###
+mem_scan_mode:00
+mem_module_spp_lpm_mult:28
+
+##############SPP CONFIG##############
+mem_credit_flag:00
+mem_rfcomm_max_frame_size:c8 00
+mem_rfcomm_credit_init_data:07
+#####################################
+
+##############SSP CONFIG##############
+mem_sp_iocap_local:
+03	#IO_CAPABILITY_NO_INPUT_NO_OUTPUT
+00	#OOB_DATA_PRESENT_NOT_PRESENT
+04	#AUTH_REQ_MITM_PROTECTION_NOT_REQUIRED_GENERAL_BONDING
+
+mem_ssp_enable:01
+mem_pin_length:04 30 30 30 30 30
+#####################################
+
+mem_ui_profile_supported:48
+
+
+mem_lap:a7 2a 2a 21 10 55
+mem_local_name_length:
+'3121 bt demo
+
+###3.0 sinff param###
+mem_sniff_param_interval:20 00
+mem_sniff_param_attempt:01
+mem_sniff_param_timeout:00
+mem_unsniff2sniff_timer:0a
+
+mem_class:08 04 24
+
+mem_ptt:00
+mem_features:
+ff
+fb
+8f
+f8	#openACL3M fe
+8B	#AFHclose 83
+85
+59
+83	#83 ssp
+
+
+mem_eir_enable:01
+mem_all_uuid_16bits: 
+04
+03#Type: Complete list of 16-bit UUIDs
+0012 0001 0100 1e11
+
+mem_all_uuid_128bits:00
+
+
+mem_ui_uuid_table:mem_module_uuid_list
+
+mem_module_uuid_list:
+#hfp
+#uuids
+03 111e 0003 0100
+
+#handle
+00010000
+
+#total length
+360037
+
+#attribute start, first 4 digit is attribute ID
+09 00 00 0A 00 01 00 00
+09 00 01 35 06 19 11 1E 19 12 03 
+09 00 04 35 0C 35 03 19 01 00 35 05 19 00 03 08 01 
+09 00 09 35 08 35 06 19 11 1E 09 01 05 
+09 03 11 09 00 1F
+#attribute end
+
+
+#pnp
+#uuids
+03 1200 1002  0001
+
+#handle
+00010002
+
+#total length
+360033
+
+#attribute start, first 4 digit is attribute ID
+09 00 00 0A 00 01 00 02
+09 00 01 35 03 19 12 00 
+09 02 00 09 01 03 09 02 01 
+09 0e 05 09 02 02 09 12 34 
+09 02 03 09 01 01 
+09 02 04 28 01 
+09 02 05 09 00 01
+
+
+
+mem_UI_HF_brsf_feature:34
+
+
+
+
+mem_module_le_lpm_mult:05
+mem_module_data_write_handle:2d 00
+mem_module_data_write_handle2:2f 00
+
+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:f0
+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:
+'3121 ble demo
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+02 01 02
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+'\093121 ble demo
+
+
+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 01 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
+1e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 00 00
+#Characteristic: Peripheral Preferred Connection Parameters
+0a 00 02 03 28 01 02
+0b 00 02 04 2a 08 10 00 20 00 05 00 2c 01
+
+#Primary service yichip transmit
+0c 00 02 00 28 10 55 e4 05 d2 af 9f a9 8f e5 4a 7d fe 43 53 53 49
+#Characteristic tx--notify 
+0d 00 02 03 28 01 10
+0e 00 10 16 96 24 47 C6 23 61 BA D9 4B 4D 1E 43 53 53 49 01 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+#Characteristic rx--write
+10 00 02 03 28 01 0c
+11 00 10 b3 9b 72 34 be ec d4 a8 f4 43 41 88 43 53 53 49 01 00
+
+00 00
+
+
+mem_device_option:0a
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:00
+#####################################
+
+
+
+
+################IPC BUFFER INIT#####################
+4FF0:00 1C
+4FF2:FF 1F
+4FF4:00 1C
+4FF6:00 1C
+4FF8:00 4D
+4FFA:E0 4F
+4FFC:00 4D
+4FFE:00 4D	#at least 255bytes
+#####################################
+
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:00 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_rfcomm_lmp_dis_flag:00
+# 1: tianyu   MPOS
+# 0: wobosi  printer
+mem_lpm_mode:00
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout: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_interval:00 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: ebike/trunk/program/app.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/app.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/app_module.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/app_module.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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 // 1 not lpm   0 in lpm
+	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: ebike/trunk/program/bt.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/bt.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/hci_h4.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/hci_h4.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/hci_h4.prog	(working copy)
@@ -0,0 +1,4 @@
+
+
+
+
Index: ebike/trunk/program/hci_main.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/hci_main.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/hid.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/hid.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/l2cap.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/l2cap.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/le.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/le.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/le_l2cap_att.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/le_l2cap_att.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/le_l2cap_signalling.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/le_l2cap_signalling.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/le_l2cap_smp.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/le_l2cap_smp.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/le_ll.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/le_ll.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/lmp.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/lmp.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/patch.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/patch.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/patch.prog	(working copy)
@@ -0,0 +1,2930 @@
+
+
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+
+p_start:
+	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset0
+	//page patch
+	beq patch02_1,p_master_page_no_interval
+	//lpm exen patch
+	beq patch00_1,p_soft_reset
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	//lpm patch
+	beq patch12_4,p_ahead_window
+	beq patch14_2,p_init_param
+	beq patch14_3,p_lpm_adjust_clk
+	beq patch15_4,p_lpm_unconn_nossp
+	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 patch1d_3,p_le_init_conn
+	//context patch
+	beq patch00_5,p_connection_incontext
+	beq patch05_4,p_context_new
+	beq patch05_6,p_context_search
+	beq patch0d_7,p_sniff_check_window
+	beq patch14_6,p_lpm_recover_clk
+	beq patch14_7,p_lpm_dispatch
+	beq patch15_3,p_lpm_dispatch_unconn
+	//
+	beq patch07_3,p_sconn_successful
+	//hfp patch
+	beq patch17_7,p_l2cap_init_wake
+	//role switch patch
+	beq patch04_6,p_role_switch_master
+	beq patch05_0,p_roles_replyto_fhs	
+	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 patch20_7,p_le_transmit0
+	beq patch21_0,p_le_send_adv_ind
+	beq patch21_3,p_le_send_scan_response
+	beq patch22_3,p_le_acknowledge
+	beq patch22_4,p_le_check_wak
+	beq patch23_4,p_le_prepare_tx
+	beq patch23_6,p_le_send_packet
+	beq patch23_7,p_le_parse
+	beq patch24_1,p_le_parse_l2cap
+	beq patch26_0,p_le_modified_name
+	beq patch26_2,p_le_lpm_set_mult
+	beq patch27_2,p_parse_lmp
+	beq patch27_6,p_send_lmp
+	beq patch28_1,p_ssp_disable
+	beq patch29_1,p_uartd_send
+	beq patch2a_2,p_parse_dlci0_rp
+	beq patch2a_5,p_parse_DLCI0_reconn
+	beq patch31_5,p_le_encrypt
+	beq patch33_1,p_sp_initialize_256
+	//sdp patch
+	beq patch2d_2,p_process_upper_sm_reconn
+	beq patch2f_2,p_sdp_process
+	//esco patch
+//	beq patch27_3,p_parse_lmp_escape
+	//hfp patch
+	beq patch2a_1,p_rfcomm_rx_process
+	beq patch2a_4,p_parse_uih_rp_spp
+	beq patch2b_0,p_rfcomm_send_param_neg_cmd
+	beq patch2c_3,p_scheduler_process
+	branch assert
+	
+
+p_soft_reset0:
+	fetch 6,mem_gpio_wakeup_backup
+	store 6,mem_gpio_wakeup
+	deposit auxcnt
+	branch p_soft_rest1,blank			// if auxcnt is 0 ,blank set1 , BT normal periodic wake
+	call p_wake_m0					// if auxcnt is 1 ,blank set0 , BT not periodic wake
+	branch soft_reset+1
+	
+p_wake_m0:
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+	branch wake_up_m0
+	
+p_enable_chgpump:
+	hfetch 1,rfen_chgpump
+	set1 6,pdata
+	hstore 1,rfen_chgpump
+	rtn
+	
+p_soft_rest1:
+	fetch 1,core_lpm_switch			// bit0  = 1 low wake up   bit1 = 0 high wake up
+	bbit1 0,p_gpio_low_wake_up
+p_gpio_high_wake_up:	
+	fetch 6,mem_gpio_wakeup
+	fetcht 6,core_gpio_in
+//	storet 6,0x4fe0
+	iand temp,pdata
+//	jam 0x02,0x4fec
+	ncall p_wake_m0,blank
+
+	branch soft_reset+1
+
+p_gpio_low_wake_up:
+	call p_check_io_wakeup
+	branch soft_reset+1
+	
+p_check_io_wakeup:
+	setarg 0xffffff
+	fetcht 3,core_gpio_in
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup
+	iand temp,pdata
+//	jam 0x03,0x4fec
+	nbranch p_wake_m0,blank
+
+	setarg 0xffffff
+	fetcht 3,core_gpio_in+3      		//core_gpio_wakeup+3
+	ixor temp,pdata
+	fetcht 3,mem_gpio_wakeup+3 			//core_gpio_in+3
+	iand temp,pdata
+//	jam 0x04,0x4fec
+	nbranch p_wake_m0,blank
+	rtn
+	
+
+
+
+
+
+/*
+	芯片公共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_clk_diff_rt:
+	call clk_diff
+p_clk2rt:
+	iforce contr
+	set0 16,contr
+	branch clk2rt+1
+
+/*
+	YC3121 没有exen GPIO
+	跳过disable exen
+*/
+p_soft_reset:
+	jam 0,mem_credit_flag
+	call rfcomm_init
+	call init_lmp
+	call p_ui_init
+	branch soft_reset + 9
+
+p_ui_init:
+	rtn wake
+	branch ui_timer_init
+
+
+/*
+	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_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
+	
+/*
+	关闭广播不能休眠的问题
+*/
+p_lpm_unconn_nossp:
+	branch lpm_unconn_cont				//BT/BLE discover don't infect lpm
+
+
+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_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 module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	call module_hci_event_enter_standby_mode
+
+	branch p_hfp_clear_parms
+
+
+p_module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,p_module_process_bb_conn	
+	beq BT_EVT_SPP_DISCONNECTED,p_module_process_spp_disconnected
+	beq BT_EVT_BB_DISCONNECTED,p_module_process_bb_event_disconned
+	beq BT_EVT_SETUP_COMPLETE,p_module_process_setup_complete
+	beq BT_EVT_RECONN_FAILED,p_module_process_reconn_fail
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_module_process_page_time_out
+	beq BT_EVT_LINKKEY_GENERATE,p_module_process_linkkey_generate
+	beq BT_EVT_HFP_CONNECTED,p_module_process_hfp_connected
+	beq BT_EVT_HFP_START_DIALING,p_module_process_hfp_start_dialing
+	beq BT_EVT_HFP_STOP_DIALING,p_module_process_hfp_stop_dialing
+
+	beq BT_EVT_LE_CONNECTED,p_module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,p_module_process_bb_even_le_disconn
+
+	beq BT_EVT_STORE_NVRAM,p_module_hci_event_store_device
+	branch module_process_bb_event+1
+
+p_module_process_bb_conn:
+	jam 0,mem_module_rfcomm_reconnect_count
+	call app_bt_stop_discovery
+	call app_bt_reconnect_cancel
+	branch module_process_bb_conn
+
+
+p_module_process_bb_event_disconned:
+	call p_hfp_clear_parms
+	jam 0,mem_module_rfcomm_disconnect_count
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call p_module_start_discovery
+//	fetch 2,mem_ui_state_map
+//	rtnbit0 UI_STATE_BT_SPP_CONN
+//	branch module_spp_disconnected	
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,p_set_rfcomm_reconnect_count
+//	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
+
+p_set_rfcomm_reconnect_count:
+	jam 20,mem_module_rfcomm_reconnect_count
+	rtn
+
+	
+p_module_process_spp_disconnected:
+	fetch 1,mem_rfcomm_lmp_dis_flag
+	ncall p_set_rfcomm_disconnect_count,blank
+//	jam 6,mem_module_rfcomm_disconnect_count
+//	branch module_process_spp_disconnected
+	rtn
+p_set_rfcomm_disconnect_count:
+	jam 6,mem_module_rfcomm_disconnect_count
+	rtn
+
+p_module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch p_module_stop_discovery
+
+p_module_process_page_time_out:
+p_module_process_reconn_fail:
+	call p_module_start_discovery
+	branch p_module_hci_event_bt_reconn_fail
+
+
+//event opcode 0xb1
+p_module_hci_event_bt_reconn_fail:
+	jam HCI_EVENT_BT_RECONNECT_FAIL,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+p_module_process_hfp_connected:
+	jam HCI_EVENT_HFP_CONNECTED,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+p_module_process_hfp_start_dialing:
+	jam HCI_EVENT_HFP_START_DIALING,mem_module_uart_opcode
+	fetch 1,mem_phone_num_len
+	call module_hci_prepare_tx
+	fetchr loopcnt,1,mem_phone_num_len
+	arg mem_phone_number,contru
+	call copy_tx_bytes
+	branch uartd_send
+	
+p_module_process_hfp_stop_dialing:
+	jam HCI_EVENT_HFP_STOP_DIALING,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+	
+p_module_process_le_conn:
+	call module_clear_recv_confirm_flag
+	call p_module_stop_adv
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+p_module_stop_adv:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+
+p_module_stop_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	rtn
+
+p_module_start_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_start_discovery,true
+	rtn	
+
+p_module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call moudle_start_adv_by_command
+	branch module_hci_event_le_disconnect
+
+	
+
+//event opcode 0x0d
+p_module_hci_event_store_device:
+	rtn
+
+p_module_process_linkkey_generate:
+p_module_hci_event_linkkey_generate:
+	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
+
+
+
+
+
+p_module_bb_event_timer:
+	call p_module_mcu_set_bt_wake_timer
+	call p_module_rfcomm_disconnect_timer
+	call p_module_rfcomm_reconnect_timer
+	branch module_bb_event_timer
+
+p_module_rfcomm_reconnect_timer:
+	arg mem_module_rfcomm_reconnect_count,regc
+	arg app_bt_start_reconnect,regb
+	branch timer_single_step
+
+p_module_rfcomm_disconnect_timer:
+	fetch 1,mem_module_rfcomm_disconnect_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_rfcomm_disconnect_count
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+p_module_mcu_set_bt_wake_timer:
+	fetch 4,mem_mcu_set_bt_wake_timer
+	rtn blank
+	increase -1,pdata
+	store 4,mem_mcu_set_bt_wake_timer
+	nrtn blank
+//	jam 0x05,0x4fec
+	branch p_wake_m0
+	
+
+p_module_le_receive_data:
+	call p_module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	call p_check_ble_40_or_42
+//	copy loopcnt,pdata
+	store 1,mem_module_le_rx_data_len
+	fetcht 2,mem_le_att_handle
+	storet 2,mem_module_le_rx_data_handle
+
+	call le_att_get_handle_info
+	nbranch assert,blank
+	fetch 1,mem_le_cur_uuid_length	//	uuid length
+	bne 0x02,module_hci_event_receive_le_data
+//	ifetcht 2,contr
+//	setarg CLIENT_CHARACTERTIC_CONFIGURATION
+//	isub temp,null
+//	rtn zero		//filter ccc handle data
+//	branch p_module_hci_event_receive_le_data_notify,zero
+	branch module_hci_event_receive_le_data
+	
+p_check_ble_40_or_42:
+	fetch 1,mem_ble_dle_enable
+	nbranch p_check_ble_40,blank
+p_check_ble_42:
+	copy loopcnt,pdata
+	rtn	
+p_check_ble_40:
+	copy regb,pdata
+	rtn
+
+
+p_module_lpm_lock:
+	call p_le_check_complete_packet
+	nbranch p_app_get_lpm_wake_lock,user
+	
+//	fetch 1,mem_wakeup_gpio
+//	copy pdata,queue
+//	hfetch 6,core_gpio_in
+//	qisolate1 pdata
+//	branch p_app_get_lpm_wake_lock,true
+	
+//	fetch 1,mem_wake_by_m0
+//	nbranch p_app_get_lpm_wake_lock,blank
+	
+	fetch 1,IPC_HOLD_BT
+	beq 1,p_app_get_lpm_wake_lock
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,p_module_lpm_lock_check_pairing
+	branch app_put_lpm_wake_lock
+p_module_lpm_lock_check_pairing:
+	beq FLAG_LE_PAIRING_END,app_put_lpm_wake_lock
+	branch p_app_get_lpm_wake_lock
+
+p_app_get_lpm_wake_lock:
+//	jam 0x00,mem_lpm_mode 
+	call p_enable_chgpump
+	call wake_up_m0
+	branch app_get_lpm_wake_lock
+
+p_module_bt_conn_process:
+	call p_module_spp_enter_sniff
+	branch module_control_air_flow
+
+p_module_spp_enter_sniff:
+//	branch module_spp_enter_sniff+1
+	branch module_spp_enter_sniff
+
+p_module_hci_cmd_control:
+	fetch 1,mem_module_uart_opcode
+	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_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_SET_COD,module_hci_cmd_le_set_adv_data_set_cod
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_TEST_CMD_CLOSE_LPM,p_module_hci_test_cmde_close_lpm
+	beq HCI_CMD_MCU_SET_BT_WAKE_TIMER,p_module_hci_mcu_set_bt_wake_timer
+
+	beq HCI_CMD_CREAT_BT_RECONNECT,p_moudle_hci_cmd_creat_bt_reconnect
+	beq HCI_CMD_SET_VISIBILITY_REQ,p_module_hci_cmd_set_visibility
+	branch module_hci_cmd_control + 2
+
+
+
+p_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
+p_module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch p_moudle_start_adv_by_command,true
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,p_moudle_start_adv_by_command
+	
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+p_moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED	
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+p_module_hci_test_cmde_close_lpm:
+//	jam 0,mem_wake_by_m0
+	ifetch 1,contru
+	store 1,mem_lpm_mode
+//	store 1,0x4fed
+//	jam 3,0x4fee
+	rtn
+	
+	
+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
+
+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
+
+module_hci_cmd_le_set_adv_data_set_cod:
+	ifetch 3,contru
+	store 3,mem_class
+	branch module_hci_event_receive_valid_cmd
+
+
+p_module_hci_cmd_enter_sleep:
+//	call module_hci_event_receive_valid_cmd
+	branch app_enter_hibernate
+
+module_hci_cmd_set_wake_gpio:
+	ifetch 1,contru
+
+	//lpm
+	fetcht 4,mem_lpm_xtalcnt
+	setflag blank,16,temp 			//pdata:0   set 0x8126   0bit set1       pdata:1   set 0x8126   0bit set0
+	setflag blank,24,temp
+	storet 4,mem_lpm_xtalcnt
+
+	//hibernate
+	fetcht 1,mem_lpm_hibernate_switch
+	setflag blank,0,temp
+	storet 1,mem_lpm_hibernate_switch
+	
+	ifetch 6,contru
+	store 6,mem_gpio_wakeup
+	store 6,mem_gpio_wakeup_backup
+	call lpm_write_gpio_wakeup	
+
+	branch module_hci_event_receive_valid_cmd
+
+p_module_hci_mcu_set_bt_wake_timer:
+	ifetch 4,contru
+	store 4,mem_mcu_set_bt_wake_timer
+	branch module_hci_event_receive_valid_cmd
+
+
+p_moudle_hci_cmd_creat_bt_reconnect:
+	ifetch 6,contru
+	store 6,mem_lap
+	ifetch 6,contru
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	arg 16,loopcnt
+	call uart_copy_rx_bytes
+	call check_link_key_load
+//	call app_bt_stop_discovery
+//	call app_ble_stop_adv
+	call app_bt_start_reconnect
+	branch module_hci_event_receive_valid_cmd
+
+
+
+p_module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,p_le_send_att_prepare_write_response
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_RECV_CONFIRM
+	fetch 2,mem_le_local_mtu
+	call not_greater_than
+	copy pdata,temp	
+	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_INDICATE,p_module_hci_cmd_transmit_le_indicate
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_transmit_le_notify + 13
+	branch p_module_hci_cmd_transmit_handle_error
+
+p_module_hci_cmd_transmit_le_indicate:
+	call module_set_recv_confirm_flag
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_indication
+	branch module_hci_cmd_transmit_le_notify+15
+
+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_le_init_conn:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_init_conn+1,blank
+
+	call le_init_conn+1
+	jam 1,mem_le_txheader_temp
+	jam 0,mem_le_txlen_temp
+	setarg 0
+	store 8,mem_le_buff_len
+	setarg 27
+	store 2,mem_module_master_rx_max
+	rtn
+/*
+	ble 层bugfix
+*/
+
+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
+
+/*
+	广播层收发等待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_transmit:
+	call le_prep
+	call p_letx_setfreq
+	branch le_transmit0
+
+p_letx_setfreq:
+	branch p_txon,match
+	branch letx_setfreq+1
+
+p_le_transmit0:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_transmit0+12,blank
+	
+	fetch 1,mem_le_txheader_temp
+	inject mod,8
+	ifetch 1,contr
+	copy pdata,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+	branch letr_loop
+
+p_le_send_adv_ind:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_adv_ind+1,blank
+
+	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_temp
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen_temp
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload_temp
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+
+
+p_le_send_scan_response:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_scan_response+1,blank
+
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader_temp
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen_temp
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload_temp
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+
+/*
+	解密错误不解析的问题
+*/
+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 p_le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,p_le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nsetflag blank,mark_old_packet,mark
+	nrtn blank
+p_le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+
+	fetch 1,mem_ble_dle_enable
+	nrtn blank
+
+	branch p_le_parse_writing_attribute
+
+p_le_parse_writing_attribute:
+	fetch 1,mem_le_rxbuf+1
+	rtn blank		//empty packet
+	fetch 1,mem_le_rxbuf
+	compare 1,pdata,3
+	branch p_le_parse_writing_attribute_continue,true //ACL-U continue
+	compare 2,pdata,3
+	branch p_le_parse_writing_attribute_start,true
+	rtn
+
+p_le_parse_writing_attribute_start:
+	fetch 2,mem_le_rxbuf+4//CID
+	rtnne LE_L2CAP_CID_ATT
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	set1 mark_old_packet,mark
+	beq ATTOP_WRITE_REQUEST,p_le_parse_att_write_request
+	beq ATTOP_WRITE_COMMAND,p_le_parse_att_write_command
+	beq ATTOP_PREPARE_WRITE_REQUEST,p_le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_EXCHANGE_MTU_REQUEST,p_le_parse_att_exchange_mtu_request
+	beq ATTOP_HANDLE_VALUE_CONFIRMATION,p_le_parse_handle_value_confirmation
+	set0 mark_old_packet,mark
+	rtn
+
+p_le_parse_att_prepare_write_request:
+	setarg mem_module_prepare_write_request_packet
+	store 2,mem_module_prepare_write_request_contw
+	call p_le_long_packet_patch
+	increase -2,loopcnt			//attribute value offset
+	arg mem_le_rxbuf+11,rega
+	call le_writeatt_cb
+	branch p_le_parse_att_prepare_write_request_finish
+
+	
+p_le_parse_att_write_request:
+	call p_le_parse_att_write_command
+	branch p_le_send_att_write_response_check_auth
+
+
+p_le_parse_att_write_command:
+	call p_le_long_packet_patch
+	arg mem_le_rxbuf+9,rega
+	branch le_writeatt_cb
+
+
+p_le_long_packet_patch:
+	fetch 1,mem_le_rxbuf+1
+	add pdata,-7,loopcnt
+	increase -4,pdata
+	store 2,mem_le_buff_len	//payload length
+	ifetcht 2,contr		//l2cap length
+	storet 2,mem_le_buff_len_all
+	rtn
+
+
+p_le_parse_writing_attribute_continue:
+	set1 mark_old_packet,mark
+	call p_parse_l2cap_continue_common
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,p_parse_l2cap_continue_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,p_parse_l2cap_continue_prepare_write_request
+	rtneq ATTOP_WRITE_COMMAND
+	set0 mark_old_packet,mark
+	rtn
+
+p_parse_l2cap_continue_write_common:
+p_parse_l2cap_continue_common:
+	fetch 1,mem_le_rxbuf+1
+	fetcht 2,mem_le_buff_len
+	iadd temp,temp
+	storet 2,mem_le_buff_len
+	copy pdata,loopcnt
+	arg mem_le_rxbuf+2,rega
+	branch le_writeatt_cb
+
+p_parse_l2cap_continue_prepare_write_request:
+	branch p_le_parse_att_prepare_write_request_finish
+
+p_parse_l2cap_continue_write_request:
+p_le_send_att_write_response_check_auth:
+	call p_le_check_complete_packet
+	nrtn user
+	branch p_le_send_att_write_response_check_auth0
+
+//enable user,recevie complete packet
+p_le_check_complete_packet:
+	call disable_user
+	fetch 2,mem_le_buff_len_all
+	fetcht 2,mem_le_buff_len
+	isub temp,null
+	nrtn zero
+	branch enable_user
+
+p_le_parse_att_prepare_write_request_finish:
+	fetch 2,mem_module_prepare_write_request_contw
+	copy pdata,contw
+
+	fetch 1,mem_le_rxbuf+1	//payload length
+	copy pdata,loopcnt
+	call memcpy
+	copy contw,pdata
+	store 2,mem_module_prepare_write_request_contw
+
+	call p_le_check_complete_packet
+	nrtn user
+	arg MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,queue
+	call module_set_state
+	branch p_le_send_att_prepare_write_response
+
+
+p_le_send_att_prepare_write_response:
+	call le_fifo_check_empty
+	nrtn blank
+	jam ATTOP_PREPARE_WRITE_RESPONSE,mem_module_prepare_write_request_opcode
+	setarg mem_module_prepare_write_request_packet
+	store 2,mem_module_prepare_write_request_contr
+	fetcht 2,mem_module_prepare_write_request_PDU_length
+	increase 4,temp
+	setarg LE_BASEBAND_MAX_BUFFER
+	call not_greater_than
+	add pdata,-4,regb
+	force LLID_START,type
+p_le_send_att_prepare_write_response_continue:
+	copy pdata,rega
+	call le_fifo_malloc_tx + 2
+	fetch 2,mem_module_prepare_write_request_contr
+	copy pdata,contr
+	copy rega,loopcnt
+	call memcpy_fast
+	copy contr,pdata
+	store 2,mem_module_prepare_write_request_contr
+	fetch 2,mem_module_prepare_write_request_PDU_length
+	isub regb,pdata
+	store 2,mem_module_prepare_write_request_PDU_length
+	branch p_le_send_att_prepare_write_response_ending,blank
+	arg LE_BASEBAND_MAX_BUFFER,temp
+	call not_greater_than
+	copy pdata,regb
+	force LLID_CONTINUE,type
+	branch p_le_send_att_prepare_write_response_continue
+
+p_le_send_att_prepare_write_response_ending:
+	setarg 0
+	store 2,mem_module_prepare_write_request_contw
+	arg MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,queue
+	branch module_clr_state
+
+
+p_le_check_wak:
+	fetch 1,mem_ble_dle_enable
+	nbranch  le_check_wak+1,blank
+	
+	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_temp
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+
+p_le_prepare_tx:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_prepare_tx+1,blank
+	
+	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
+	call p_le_get_master_rx_max
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload_temp,contw
+	copy temp,loopcnt
+	call memcpy_fast
+	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
+	call p_le_get_master_rx_max
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+
+p_le_get_master_rx_max:
+	copy contr,contw
+	fetcht 2,mem_module_master_rx_max
+	copy contw,contr
+	rtn
+
+p_le_send_packet:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_packet+1,blank
+
+	storet 1,mem_le_txlen_temp
+	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_temp
+
+	fetch 1,mem_le_txheader_temp
+	compare 1,type,3
+	nbranch p_le_send_no_txlen,true
+	fetch 1,mem_le_txlen_temp
+	rtn blank
+p_le_send_no_txlen:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+p_le_encrypt:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_encrypt+1,blank
+
+	arg mem_le_txheader_temp,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call aes_init				// 1021s ->  do_aes_ctr
+	arg mem_le_txpayload_temp,regc
+	fetch 1,mem_le_txlen_temp
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen_temp
+	increase 4,pdata
+	store 1,mem_le_txlen_temp
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+
+/*
+	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,p_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_ll:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_parse_ll,blank
+	fetch 1,mem_le_rxbuf+2
+	beq LL_FEATURE_REQ,p_le_parse_feature_req
+	beq LL_LENGTH_REQ,p_le_parse_length_request
+	branch le_parse_ll+1
+	
+p_le_parse_feature_req:
+p_le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	//bit0 LE encryption
+	//bit5 LE Data packet Length extension
+	setarg 0x21	
+	istore 8,contw
+	call p_check_ble_dle_enable
+	rtn
+p_check_ble_dle_enable:
+	fetch 1,mem_le_rxbuf+3
+	and pdata,0x20,pdata
+	branch p_set_ble_dle_disable,blank
+	rtn
+p_set_ble_dle_disable:
+	jam DLE_DISABLE,mem_ble_dle_enable
+	rtn
+
+p_le_parse_length_request:
+	ifetch 2,contr
+	store 2,mem_module_master_rx_max
+	branch p_le_send_length_res
+
+p_le_send_length_res:
+	arg 9,rega
+	arg LL_LENGTH_RSP,regb
+	call le_fifo_malloc_tx_ll
+	//MaxRxOctets >=27B <=251
+	setarg 251
+	istore 2,contw
+	//MaxRxTime >=328ms <=2120
+	setarg 2120
+	istore 2,contw
+	//MaxTxOctets >=27B
+	setarg 251
+	istore 2,contw
+	//MaxTxTime >=328ms
+	setarg 2120
+	istore 2,contw
+	rtn
+
+
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+p_le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+//	beq ATTOP_HANDLE_VALUE_CONFIRMATION,p_le_parse_handle_value_confirmation
+	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+	beq ATTOP_WRITE_REQUEST,p_le_parse_att_write_request0
+	branch le_parse_att+2
+
+p_le_parse_handle_value_confirmation:
+module_clear_recv_confirm_flag:
+	arg MODULE_RECV_CONFIRM,queue
+	branch module_clr_state
+
+module_set_recv_confirm_flag:
+	arg MODULE_RECV_CONFIRM,queue
+	branch module_set_state
+
+p_le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+	store 2,mem_le_local_mtu
+	branch le_send_att_exchange_mtu_response
+
+
+p_le_modified_name:
+	call le_modified_name_att_list
+p_le_modified_name_adv:
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	branch le_modified_name_adv_and_scan
+
+
+p_le_lpm_set_mult:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_lpm_set_mult+1,blank
+	
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	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_temp
+	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
+
+
+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
+ 	branch parse_lmp+21 	
+
+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:
+	branch parse_lmp_sniff_req+1
+
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,p_send_lmp_escape
+	branch send_lmp0
+	
+p_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req
+//	beq LMP_EXT_ACCEPTED,p_send_lmpext_accepted
+	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_uartd_send:
+	copy contwu,pdata
+	store 2,IPC_BT2M0_WRITE_PTR
+//	jam 0xcc,0x4fee
+	jam 0x00,mem_lpm_mode
+	call p_enable_chgpump
+//wake_up_m0:
+	fetch 1,core_config
+	rtnbit1 7
+	set1 7,pdata
+	store 1,core_config
+	rtn
+
+p_parse_dlci0_rp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_DLCI0_rp_uih
+	branch parse_dlci0_rp+2
+p_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_MODEM_STATUS_RES,p_parse_DLCI0_rp_uih_ms_res	
+	branch parse_DLCI0_rp_uih+4
+
+p_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
+	branch parse_DLCI0_rp_uih_ms_res_spp
+
+
+p_parse_DLCI0_reconn:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_DLCI0_reconn_uih
+	branch parse_DLCI0_reconn+2
+p_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_MODEM_STATUS_RES,p_parse_DLCI0_reconn_uih_ms_res
+	branch parse_DLCI0_reconn_uih+4
+	
+p_parse_DLCI0_reconn_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	branch parse_DLCI0_reconn_uih_ms_res_spp
+
+
+
+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
+	
+
+
+/**********************************context patch**********************************************/
+
+p_connection_incontext:
+	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_context_new:
+	arg p_context_search_empty,regc
+	branch context_new+2
+p_context_search_empty:
+	bbit1 state_inconn,context_search_next
+//	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+
+
+p_context_search:
+	arg mem_context_new,rega
+	arg context_num_new,loopcnt
+	branch context_search_loop
+
+
+p_sconn_successful:
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+	branch sconn_successful+1
+
+	
+//p_context_check_page:
+//	arg p_context_check_inpage,regc
+//	branch context_search
+
+//p_context_check_inpage:
+//	bbit0 state_inpage,context_search_next
+//	force 0,null 				// found
+//	rtn
+
+
+p_sniff_check_window:
+	disable swfine
+	copy temp,stop_watch
+	call p_context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+p_context_search_sniff_window:
+	arg p_context_search_window,regc
+	branch context_search
+
+p_context_search_window:
+	//解决先连接ble,导致因sniff window不再inquiry_scan和page_scan
+	/*****************************************/
+	copy pdata,temp
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,context_search_next
+	copy temp,pdata
+	/*****************************************/	
+	branch context_search_window
+
+
+
+p_lpm_recover_clk:
+	setarg 0
+	copy auxcnt,null
+	branch p_lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch p_lpm_recover_xtal,positive
+	deposit temp
+p_lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+p_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_new + coffset_clk_offset
+	call calc_clke2
+	rtn
+
+
+p_lpm_dispatch:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch p_lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+p_lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context_new
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context_new + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context_new + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context_new + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+    fetch 2,mem_context_new + coffset_rx_window
+    rshift pdata,pdata
+    call clk2bt
+    deposit alarm
+    call clk_diff
+    copy clke,temp
+    call p_clk_diff_rt
+	rtn user
+	branch lpm_dispatch_sleep
+
+
+p_lpm_dispatch_unconn:
+	fetch 1,mem_context_new
+	branch lpm_dispatch_unconn+2
+
+
+p_le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context_new
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+p_module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,p_le_check_encrypt_state
+	branch disable_user
+
+p_le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
+	branch le_send_att_read_response
+
+p_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 p_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
+
+p_le_parse_att_write_request0:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+p_le_send_att_write_response_check_auth0:
+	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 p_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
+
+
+/**********************************context patch**********************************************/
+
+/**********************************esco patch**********************************************/
+/*
+p_parse_lmp_escape:
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_REMOVE_ESCO_REQ,p_parse_lmpext_remove_esco_req
+	beq LMP_EXT_ESCO_LINK_REQ,p_parse_lmpext_esco_link_req
+	branch parse_lmp_escape+4
+
+p_parse_lmpext_remove_esco_req:
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+p_parse_lmpext_esco_link_req:
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+p_send_lmpext_accepted:
+	call send_lmpext_accepted
+	fetch 1,mem_lmi_opcode
+	beq LMP_EXT_ESCO_LINK_REQ,p_send_lmpext_accept_esco_link
+	beq LMP_EXT_REMOVE_ESCO_REQ,p_send_remove_esco_link
+	rtn
+
+p_send_lmpext_accept_esco_link:
+//	set1 mark_esco,mark
+	rtn
+
+p_send_remove_esco_link:
+	rtn
+*/	
+/**********************************esco patch**********************************************/
+
+
+/**********************************rolw switch patch**********************************************/
+
+p_role_switch_master:
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+	set0 mark_role_switch_receive_fhs,mark
+p_roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,p_roles_replyto_fhs
+	call new_conn_timeout
+	nbranch p_roles_waitfhs_loop,blank
+	bmark1 mark_role_switch_receive_fhs,p_roles_replyto_fhs_rcvd	
+	branch role_switch_fail_master
+	
+p_roles_replyto_fhs:
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	set1 mark_role_switch_receive_fhs,mark
+	set0 mark_fhs_already_good,mark
+	fetch 1,mem_amaddr
+	iforce am_addr	//use current LT_ADDR
+	jam 2,mem_newconnto_counter
+	branch p_roles_waitfhs_loop
+
+p_roles_replyto_fhs_rcvd:
+	fetch 4,mem_clke_bt		//wait for 2 fhs,need 2.5ms
+	pincrease 8
+	store 4,mem_clke_bt
+	branch roles_replyto_fhs+4
+
+
+/**********************************rolw switch patch**********************************************/
+
+
+/**********************************hfp patch**********************************************/
+
+p_l2cap_init_wake:
+	call l2cap_init_wake+1
+	jam RECIEVE_SS_REASULT_HF,mem_message_to_uppersm
+	rtn
+
+p_scheduler_process:
+	call p_hfp_hsp_process
+	branch scheduler_process+5
+
+
+p_rfcomm_send_param_neg_cmd:
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+
+
+p_rfcomm_rx_process:
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+p_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 p_parse_uih_reconn
+
+p_parse_uih_reconn:
+p_parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,p_parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,p_parse_uih_reconn_spp_disconn
+	branch parse_uih_reconn_spp+1
+
+p_parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn_send_event
+	
+p_parse_uih_rp_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,p_parse_uih_spp_uih_credits
+	branch parse_uih_rp_spp+2
+
+p_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
+p_parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	store 2,mem_at_payload_ptr
+	fetchr queue,1, mem_current_length
+	branch p_hfp_process_rfcomm_packet
+	
+p_hfp_process_rfcomm_packet:
+	deposit queue
+	rtn zero
+	
+	fetcht 2,mem_at_payload_ptr
+	copy temp,contr
+	call p_hfp_check_result_code_start
+	nrtn user
+	copy contr,pdata
+	store 2,mem_at_command_ptr
+		
+	call p_hfp_check_result_code_end
+	nrtn user
+	//store the next AT result code header point
+	copy contr,pdata
+	store 2,mem_at_payload_ptr
+
+	call p_hfp_handle_at_result_code
+	branch p_hfp_process_rfcomm_packet
+
+//if search cr/lr,return user,or not user
+//input:
+//	queue
+//	contr
+//output:
+// 	user
+p_hfp_check_result_code_start:
+p_hfp_check_result_code_end:
+	disable user
+p_hfp_check_result_code:
+	copy queue,pdata
+	increase -2,pdata
+	nrtn positive
+	increase -1,queue
+	ifetch 1,contr
+	bne 0x0D,p_hfp_check_result_code
+	increase -1,queue
+	ifetch 1,contr
+	bne 0x0A,p_hfp_check_result_code
+	enable user
+	rtn
+
+
+p_hfp_clear_parms:
+	jam HF_STATE_WAITING_RFCOMM_CONN,mem_hf_state
+	jam HFP_NONO,mem_hf_call_state
+	jam HF_CMD_IDLE,mem_hf_command
+	jam HFP_DEFAULT_MIC_VLM,mem_hf_vlm_mic
+	jam HFP_DEFAULT_SPEAKER,mem_hf_vlm_speaker
+	jam HFP_DIALING_STATE_NO,mem_telephone_dialing_state
+//	call HFP_clear_sco_params
+//	setarg 0
+//	store 2,mem_rfc_server_state
+	setarg mem_xmem_hf_state_end
+	arg mem_xmem_hf_state_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+	
+p_hfp_hsp_process:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	fetch 1,mem_hf_state
+	beq HF_STATE_HF_SEND_RECEIVE_INFO,p_hfp_send_receive_info
+	rtneq HF_STATE_WAITING_AG_INFO
+	beq HF_STATE_HF_SEND_AT_CLIP,p_hfp_send_enable_clip
+	rtneq HF_STATE_WAITING_AT_CLIP
+	beq HF_STATE_HF_SEND_AT_CCWA,p_hfp_send_enable_call_waiting
+	rtneq HF_STATE_WAITING_AT_CCWA 
+	beq HF_STATE_WAITING_RFCOMM_CONN,p_hfp_waiting_rfcomm
+	beq HF_STATE_HF_SEND_FEATURE,p_hfp_send_feature
+	rtneq HF_STATE_WAITING_AG_FEATURE_OK
+	beq HF_STATE_HF_SEND_INDICATORS,p_hfp_send_indicators
+	rtneq HF_STATE_WAITING_AG_INDICATORS_OK
+	beq HF_STATE_HF_SEND_CURR_STATUS,p_hfp_send_curr_status
+	rtneq HF_STATE_WAITING_AG_STATUS_OK
+	beq HF_STATE_HF_SEND_UPDATE_STATUS,p_hfp_send_update_status
+	rtneq HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+	beq HF_STATE_CONNECTED,p_hfp_connected
+	rtn
+
+
+p_hfp_connected:
+	rtn
+	
+p_hfp_waiting_rfcomm:
+	fetch 1,mem_spp_state
+	beq 0xef,p_hfp_send_feature_enable
+	beq 0xff,p_hfp_send_feature_enable
+	rtn
+p_hfp_send_feature_enable:
+	jam HF_STATE_HF_SEND_FEATURE,mem_hf_state //start the hands free process
+	rtn
+
+
+p_hfp_send_AT_common:
+	store 2,mem_current_packet_length
+	setarg mem_at_command_data
+	store 2, mem_at_rfcomm_data_ptr
+	icopy contw
+	setarg 0x2B5441     //AT+                      
+	istore 3,contw
+	rtn
+
+
+p_hfp_send_feature:
+	fetch 1,mem_remote_credits
+	rtn blank
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_FEATURE_OK, mem_hf_state
+p_hfp_send_AT_BRSF:      //send AT_BRSF=29
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x535242
+	istore 3,contw
+	setarg 0x3D46
+	istore 2,contw
+	fetch 1,mem_UI_HF_brsf_feature
+	istore 1,contw
+	setarg 0x0D
+	istore 1,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+
+p_hfp_send_receive_info:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_INFO, mem_hf_state
+p_hfp_send_AT_CHLD:      //AT+CHLD=?
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4843
+	istore 2,contw
+	setarg 0x3d444c
+	istore 3,contw
+	setarg 0x0d3f
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */	
+
+
+p_hfp_send_enable_clip:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AT_CLIP,mem_hf_state
+p_hfp_send_AT_clip:      //AT+CLIP=1
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4c43
+	istore 2,contw
+	setarg 0x3d5049
+	istore 3,contw
+	setarg 0x0d31
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */	
+
+p_hfp_send_enable_call_waiting:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AT_CCWA, mem_hf_state
+p_hfp_send_AT_CCWA:      //AT+CCWA=1
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4343
+	istore 2,contw
+	setarg 0x3d4157
+	istore 3,contw
+	setarg 0x0d31
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */
+
+
+p_hfp_send_indicators:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_INDICATORS_OK, mem_hf_state
+p_hfp_send_AT_CIND:      //send AT+CIND=?
+	setarg 0x0a
+	call p_hfp_send_AT_common
+	setarg 0x4e4943
+	istore 3,contw
+	setarg 0x3f3D44
+	istore 3,contw
+	setarg 0x0D                             
+	istore 1,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+p_hfp_send_curr_status:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_STATUS_OK, mem_hf_state
+p_hfp_send_AT_CIND2: //send AT+CIND?
+	setarg 0x09
+	call p_hfp_send_AT_common
+	setarg 0x4e4943
+	istore 3,contw
+	setarg 0x0d3f44
+	istore 3,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+p_hfp_send_update_status:
+	call p_hfp_send_credit_return
+	jam HF_STATE_WAITING_AG_UPDATE_STATUS_OK, mem_hf_state
+p_hfp_send_AT_CMER:      //AT+CMER=3,0,0,1
+	setarg 0x10
+	call p_hfp_send_AT_common
+	setarg 0x454d43
+	istore 3,contw
+	setarg 0x333d52
+	istore 3,contw
+	setarg 0x2c302c
+	istore 3,contw
+	setarg 0x312c30
+	istore 3,contw
+	setarg 0x0d
+	istore 1, contw
+	branch p_hfp_tx_rfcomm_without_credit  /*  check FC then send out AT+CKPD    */
+
+
+//p_hfp_send_update_status:
+//	call p_hfp_send_credit_return
+p_hfp_send_AT_CLCC:
+	setarg 0x08
+	call p_hfp_send_AT_common
+	setarg 0x434C43
+	istore 3,contw
+	setarg 0x0D43
+	istore 2,contw
+	branch p_hfp_tx_rfcomm_without_credit
+
+
+
+p_hfp_handle_at_result_code:
+	disable user	
+	call p_hfp_is_result_ok
+	rtn user
+	call p_hfp_is_result_error
+	rtn user
+	storer queue,2,mem_temp
+	call p_hfp_send_credit_return
+	fetchr queue,2,mem_temp
+	call p_hfp_is_result_brsf
+	rtn user
+	call p_hfp_is_result_ciev
+	rtn user
+	call p_hfp_is_result_ring
+	rtn user
+	call p_hfp_is_result_cind
+	rtn user
+	call p_hfp_is_result_chld
+	rtn user
+	call p_hfp_is_result_vgm_vgs
+	rtn user
+	call p_hfp_is_result_clip
+	rtn user
+	call p_hfp_is_result_ccwa
+	rtn user
+	call p_hfp_is_result_clcc
+	rtn user
+	fetch 2,mem_cb_hfp_result_code
+	branch callback_func
+
+p_hfp_is_result_ok:
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x4F
+	ifetch 1,contr
+	rtnne 0x4B
+	enable user
+	call p_hfp_result_ok_cmd
+p_hfp_result_ok_handle:
+	fetch 1,mem_hf_state
+	beq HF_STATE_WAITING_AG_UPDATE_STATUS_OK,p_hfp_ag_update_status_ok
+	beq HF_STATE_WAITING_AG_INFO,p_hfp_ag_receive_info_ok
+	beq HF_STATE_WAITING_AT_CLIP,p_hfp_ag_enable_clip_ok
+	beq HF_STATE_WAITING_AT_CCWA,p_hfp_ag_enable_call_waiting_ok
+	beq HF_STATE_WAITING_AG_FEATURE_OK,p_hfp_ag_feature_ok
+	beq HF_STATE_WAITING_AG_INDICATORS_OK,p_hfp_ag_indicators_ok
+	beq HF_STATE_WAITING_AG_STATUS_OK,p_hfp_ag_status_ok
+	rtn
+
+p_hfp_result_ok_cmd:
+	fetch 1,mem_hf_command
+	beq HF_WAIT_ACCEPT_CALL_OK,p_hfp_acceptcall
+	beq HF_WAIT_HANGUP_OK,p_hfp_hangup
+	beq HF_WAIT_VGS_OK,p_hfp_vgs_ok
+	beq HF_WAIT_VGM_OK,p_hfp_vgm_ok
+	rtn
+
+p_hfp_acceptcall:
+p_hfp_hangup:
+p_hfp_vgm_ok:
+	jam HF_CMD_IDLE,mem_hf_command
+	rtn
+p_hfp_vgs_ok:
+	jam HF_CMD_IDLE,mem_hf_command
+	rtn
+
+
+p_hfp_ag_feature_ok:
+	jam HF_STATE_HF_SEND_INDICATORS,mem_hf_state
+	rtn
+p_hfp_ag_indicators_ok:
+	jam HF_STATE_HF_SEND_CURR_STATUS,mem_hf_state
+	rtn
+p_hfp_ag_status_ok:
+	jam HF_STATE_HF_SEND_UPDATE_STATUS,mem_hf_state
+	rtn
+p_hfp_ag_update_status_ok:
+	jam HF_STATE_HF_SEND_RECEIVE_INFO,mem_hf_state
+	rtn
+p_hfp_ag_receive_info_ok:
+	jam HF_STATE_HF_SEND_AT_CLIP,mem_hf_state
+	rtn
+p_hfp_ag_enable_clip_ok:
+	jam HF_STATE_HF_SEND_AT_CCWA,mem_hf_state
+	rtn
+
+p_hfp_ag_enable_call_waiting_ok:	
+	//call send_AT_vgs//
+	jam HF_STATE_CONNECTED, mem_hf_state
+	jam BT_EVT_HFP_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+p_hfp_is_result_error:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x45
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x4F
+	ifetch 1,contr
+	rtnne 0x52
+	enable user
+	branch p_hfp_result_ok_cmd
+
+p_hfp_is_result_ring:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x4e
+	ifetch 1,contr
+	rtnne 0x47
+	enable user
+	rtn
+
+
+p_hfp_is_result_ciev:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x45
+	ifetch 1,contr
+	rtnne 0x56
+	enable user
+	call p_hfp_translate_ascii_to_hex
+	increase 2,rega //temp
+	setarg mem_AG_indicator_map
+	iadd temp,temp
+	increase -1,temp
+	ifetch 1,temp
+	arg mem_AG_indicator,temp
+	iadd temp,pdata
+	store 2,mem_at_command_ptr //temporary store the addr point
+	copy rega,contr
+	call p_hfp_FindComma
+	call p_hfp_translate_ascii_to_hex
+	fetch 2, mem_at_command_ptr
+	istoret 1,pdata
+p_hfp_evt_update_state:
+	setarg HFP_CIEVIND_CALL
+	call p_hfp_get_indicator_value
+	beq CIEV_CALL_NO,p_hfp_update_state_nocallActive
+	beq CIEV_CALL_ACT,p_hfp_update_state_callActived
+	rtn
+
+//input :
+//	pdata indicator index
+//output:
+//     pdata value
+p_hfp_get_indicator_value:
+	arg mem_AG_indicator,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn
+
+p_hfp_update_state_nocallActive:
+	setarg HFP_CIEVIND_CALLSETTUP
+	call p_hfp_get_indicator_value
+	beq CIEV_CALLST_IMG,p_hfp_update_incomming
+	beq CIEV_CALLST_OUG,p_hfp_update_outgoing
+	beq CIEV_CALLST_RE_ALTD,p_hfp_update_outgoing
+	fetch 1,mem_hf_call_state
+	rtneq HFP_NONO
+	jam HFP_NONO,mem_hf_call_state
+	fetch 1,mem_telephone_dialing_state
+	sub pdata,HFP_DIALING_STATE_START,null
+	call p_hfp_evt_nono,zero
+	branch p_hfp_dialing_clear
+	
+p_hfp_evt_nono:
+	jam BT_EVT_HFP_STOP_DIALING,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+p_hfp_update_incomming:
+	call p_hfp_send_AT_CLCC
+	fetch 1,mem_hf_call_state
+	rtneq HFP_INCOMMING
+	jam HFP_INCOMMING,mem_hf_call_state
+p_hfp_evt_incomming:
+	jam BT_EVT_HFP_INCOMMING,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_hfp_evt_outgoing:
+	jam BT_EVT_HFP_OUTGOING,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_callactive:
+	jam BT_EVT_HFP_CALLACTIVE,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_callimg:
+	jam BT_EVT_HFP_CALLIMG,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_callogg:
+	jam BT_EVT_HFP_CALLOGG,mem_fifo_temp
+	branch ui_ipc_send_event
+p_hfp_evt_calmulty:
+	jam BT_EVT_HFP_CALMULTY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_hfp_update_outgoing:
+	fetch 1,mem_hf_call_state
+	rtneq HFP_OUTGOING
+	jam HFP_OUTGOING,mem_hf_call_state
+	branch p_hfp_evt_outgoing
+	
+p_hfp_update_state_callActived:
+	setarg HFP_CIEVIND_CALLHELD
+	call p_hfp_get_indicator_value
+	beq CIEV_HELD_NO,p_hfp_update_state_nocallheld
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALMULTY
+	jam HFP_CALMULTY,mem_hf_call_state
+	branch p_hfp_evt_calmulty
+
+p_hfp_update_callincomming:
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALLIMG
+	jam HFP_CALLIMG,mem_hf_call_state
+	branch p_hfp_evt_callimg
+	
+p_hfp_update_calloutgoing:
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALLOGG
+	jam HFP_CALLOGG,mem_hf_call_state
+	branch p_hfp_evt_callogg
+
+p_hfp_update_state_nocallheld:
+	setarg HFP_CIEVIND_CALLSETTUP
+	call p_hfp_get_indicator_value
+	beq CIEV_CALLST_IMG,p_hfp_update_callincomming
+	beq CIEV_CALLST_OUG,p_hfp_update_calloutgoing
+	beq CIEV_CALLST_RE_ALTD,p_hfp_update_calloutgoing
+	fetch 1,mem_hf_call_state
+	rtneq HFP_CALLACTIVE
+	jam HFP_CALLACTIVE,mem_hf_call_state
+	call p_hfp_evt_callactive
+
+p_hfp_dialing_stop:
+//	jam 0,mem_telephone_dialing_timer
+	jam HFP_DIALING_STATE_STOP,mem_telephone_dialing_state
+	rtn
+
+p_hfp_dialing_clear:
+//	jam 0,mem_telephone_dialing_timer
+	jam HFP_DIALING_STATE_NO,mem_telephone_dialing_state
+	rtn
+
+p_hfp_dialing_start:
+	jam BT_EVT_HFP_START_DIALING,mem_fifo_temp
+	call ui_ipc_send_event
+	jam HFP_DIALING_STATE_START,mem_telephone_dialing_state
+//	jam 0,mem_phone_num_count
+//	jam 1,mem_telephone_dialing_timer
+	rtn
+
+
+
+p_hfp_is_result_cind:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x4e
+	ifetch 1,contr
+	rtnne 0x44
+	enable user
+	increase 2,contr
+	ifetch 1,contr
+	beq 0x28,p_hfp_is_result_cind0 //'(',return if cind=?
+	branch p_hfp_is_result_cind1
+
+//input:
+//contr -- payload addr point
+p_hfp_is_result_cind1:
+	force 7,loopcnt
+	storer contr,2,mem_at_command_ptr
+p_hfp_is_result_cind1_loopcnt:
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	call p_hfp_translate_ascii_to_hex
+	increase 2,rega
+	copy rega,contr
+	call p_hfp_FindComma
+	copy contr,pdata
+	store 2,mem_at_command_ptr
+	copy temp,rega //indicator value
+	copy loopcnt,temp
+	sub temp,7,temp
+	call p_hfp_get_indicator_index
+	arg mem_AG_indicator,temp
+	iadd temp,temp
+	copy rega,pdata
+	istore 1,temp
+	loop p_hfp_is_result_cind1_loopcnt
+	branch p_hfp_evt_update_state
+
+//input:
+//	temp -- indicator map index
+//output:
+//	pdata -- indicator index
+p_hfp_get_indicator_index:
+	setarg mem_AG_indicator_map
+	iadd temp,temp
+	ifetch 1,temp
+	rtn
+
+p_hfp_find_double_quote:
+	ifetch 1,contr
+	rtneq 0x22 //'"'
+	branch p_hfp_find_double_quote
+
+p_hfp_is_result_cind0:
+	force 7,loopcnt
+p_hfp_is_result_cind0_loopcnt:
+	call p_hfp_find_double_quote //first '"'
+	storer contr,2,mem_at_command_ptr
+	call p_hfp_indicator_service
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_call_callheld_callsetup
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_signal
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_roam
+	branch p_hfp_is_result_cind0_loopcnt_end,user2
+	call p_hfp_indicator_battchg
+p_hfp_is_result_cind0_loopcnt_end:
+	call p_hfp_find_double_quote //second '"'
+	loop p_hfp_is_result_cind0_loopcnt
+	rtn
+
+	
+p_hfp_indicator_service:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x73 //'s'
+	ifetch 1,contr
+	rtnne 0x65 //'e'
+	ifetch 1,contr
+	rtnne 0x72 //'r'
+	ifetch 1,contr
+	rtnne 0x76 //'v'
+	enable user2
+	force HFP_CIEVIND_SERVICE,rega
+	branch p_hfp_indicator_store
+
+	
+p_hfp_indicator_battchg:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x62 //'b'
+	ifetch 1,contr
+	rtnne 0x61 //'a'
+	ifetch 1,contr
+	rtnne 0x74 //'t'
+	ifetch 1,contr
+	rtnne 0x74 //'t'
+	ifetch 1,contr
+	rtnne 0x63 //'c'
+	enable user2
+	force HFP_CIEVIND_BATTCHA,rega
+	branch p_hfp_indicator_store
+
+p_hfp_indicator_call_callheld_callsetup:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x63 //'c'
+	ifetch 1,contr
+	rtnne 0x61 //'a'
+	ifetch 1,contr
+	rtnne 0x6c //'l'
+	ifetch 1,contr
+	rtnne 0x6c //'l'
+	ifetch 1,contr
+	enable user2
+	beq 0x68,p_hfp_indicator_callheld //'h'
+	beq 0x22,p_hfp_indicator_call
+	beq 0x73,p_hfp_indicator_callsetup
+	rtn
+
+p_hfp_indicator_callsetup:
+	force HFP_CIEVIND_CALLSETTUP,rega
+	branch p_hfp_indicator_store
+p_hfp_indicator_call:
+	increase -1,contr
+	force HFP_CIEVIND_CALL,rega
+	branch p_hfp_indicator_store
+p_hfp_indicator_callheld:
+	force HFP_CIEVIND_CALLHELD,rega
+p_hfp_indicator_store:
+	copy loopcnt,pdata
+	sub pdata,7,pdata
+	arg mem_AG_indicator_map,temp
+	iadd temp,temp
+	copy rega,pdata
+	istore 1,temp
+	rtn
+
+
+p_hfp_indicator_roam:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x72 //'r'
+	ifetch 1,contr
+	rtnne 0x6f //'o'
+	ifetch 1,contr
+	rtnne 0x61 //'a'
+	ifetch 1,contr
+	rtnne 0x6d //'m'
+	enable user2
+	force HFP_CIEVIND_ROAM,rega
+	branch p_hfp_indicator_store
+
+	
+p_hfp_indicator_signal:
+	disable user2
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x73 //'s'
+	ifetch 1,contr
+	rtnne 0x69 //'i'
+	ifetch 1,contr
+	rtnne 0x67 //'g'
+	ifetch 1,contr
+	rtnne 0x6e //'n'
+	enable user2
+	force HFP_CIEVIND_SIGNAL,rega
+	branch p_hfp_indicator_store
+
+p_hfp_is_result_brsf:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x42
+	ifetch 1,contr
+	rtnne 0x52
+	ifetch 1,contr
+	rtnne 0x53
+	ifetch 1,contr
+	rtnne 0x46
+	enable user
+	call p_hfp_translate_ascii_to_hex
+	storet 2,mem_agoption
+	rtn
+
+p_hfp_is_result_chld:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x48
+	ifetch 1,contr
+	rtnne 0x4c
+	ifetch 1,contr
+	rtnne 0x44
+	enable user
+	rtn
+
+
+p_hfp_is_result_vgm_vgs:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x56
+	ifetch 1,contr
+	rtnne 0x47
+	ifetch 1,contr
+	enable user
+	beq 0x4d,p_hfp_vgm_changed
+	beq 0x53,p_hfp_vgs_changed
+	rtn
+
+p_hfp_vgs_changed:
+	call p_hfp_translate_ascii_to_hex
+	storet 1,mem_hf_vlm_speaker
+	rtn
+
+p_hfp_vgm_changed:
+	call p_hfp_translate_ascii_to_hex
+	storet 1,mem_hf_vlm_mic
+	rtn
+
+
+p_hfp_is_result_ccwa:
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x57
+	ifetch 1,contr
+	rtnne 0x41
+	enable user
+	branch p_hfp_is_result_clip_loop
+
+p_hfp_is_result_clip:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x4c
+	ifetch 1,contr
+	rtnne 0x49
+	ifetch 1,contr
+	rtnne 0x50
+	enable user
+	call p_hfp_is_result_clip_loop
+	fetch 1,mem_telephone_dialing_state
+	rtnne HFP_DIALING_STATE_NO
+	branch p_hfp_dialing_start
+
+	
+p_hfp_is_result_clip_loop:	
+	ifetch 1,contr
+	bne 0x22,p_hfp_is_result_clip_loop
+	force 0,rega
+	force 0x30,regb
+	arg mem_phone_number,contw
+p_hfp_is_result_clip_phone_num:
+	ifetch 1, contr
+	beq 0x22,p_hfp_is_result_clip_end
+	increase 1,rega
+	isub regb,pdata
+	istore 1,contw
+	branch p_hfp_is_result_clip_phone_num
+p_hfp_is_result_clip_end:
+	deposit rega
+	store 1,mem_phone_num_len
+	rtn
+	
+
+p_hfp_is_result_clcc:
+	//disable user
+	fetch 2,mem_at_command_ptr
+	icopy contr
+	ifetch 1,contr
+	rtnne 0x2b
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x4c
+	ifetch 1,contr
+	rtnne 0x43
+	ifetch 1,contr
+	rtnne 0x43
+	enable user
+	call p_hfp_is_result_clip_loop
+	fetch 1,mem_telephone_dialing_state
+	rtnne HFP_DIALING_STATE_NO
+	branch p_hfp_dialing_start
+
+	
+//input:
+//	contr
+//output:
+//	temp
+//modify:
+//	rega,regb,contr
+p_hfp_translate_ascii_to_hex:
+	call p_hfp_FindComma
+	increase -2,contr
+	copy contr,rega
+	force 1,regb
+	force 0,temp
+p_hfp_translate_calculate:
+	ifetch 1,rega
+	increase -1,rega
+	rtneq 0x3d //'='
+	rtneq 0x3a //':'
+	rtneq 0x2c //','
+	beq 0x20,p_hfp_translate_calculate
+	pincrease -48
+	imul32 regb,pdata //pdata = pdata*regb
+	iadd temp,temp
+	mul32 regb,10,regb
+	branch p_hfp_translate_calculate
+
+p_hfp_FindComma:
+	ifetch 1,contr
+	rtneq 0x0d //at_cr
+	rtneq 0x2c //','
+	branch p_hfp_FindComma	
+	
+p_hfp_send_credit_return:
+	call get_rfcomm_snd_adss
+	branch rfcomm_send_uih_without_payload
+
+p_hfp_tx_rfcomm_without_credit:
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 4,pdata	//fcs + rfcommhead + l2caphead == 8
+	icopy rega
+	call p_l2cap_malloc_rfcomm_channel
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call p_rfc_tx_write_length
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	fetch 2, mem_at_rfcomm_data_ptr
+	copy pdata,contr
+	call memcpy
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	setarg 0
+	store 2,mem_current_packet_length
+	rtn
+
+p_rfc_tx_write_length:
+	fetch 2,mem_current_packet_length
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+
+//regd:ptr to l2cap context
+p_l2cap_malloc_rfcomm_channel:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	copy rega,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	rtn
+
+/**********************************hfp patch**********************************************/
+
+
+
+
+/**********************************sdp patch**********************************************/
+
+p_sdp_process:
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_SEARCH_RES,p_sdp_process_ss_res
+	beq SDP_ATTRIBUTE_RES,p_sdp_process_sa_res
+	branch sdp_process+19
+
+p_sdp_process_ss_res:
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	store 1,mem_sdp_state
+	rtn
+	
+p_sdp_process_sa_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	store 1,mem_sdp_state
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_remote_spp_channel
+	rtn
+
+
+p_process_upper_sm_reconn:
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,p_process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SEARCH_SERVICE,p_process_upper_sm_reconn_search_service
+	beq UPPERSM_RECONN_SEARCH_SERVICE_WAIT,p_process_upper_sm_reconn_search_service_wait
+	beq UPPERSM_RECONN_SEARCH_ATTRIB,p_process_upper_sm_reconn_search_attrib
+	beq UPPERSM_RECONN_SEARCH_ATTRIB_WAIT,p_process_upper_sm_reconn_search_attrib_wait
+	branch process_upper_sm_reconn+3
+
+p_process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SEARCH_SERVICE,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+p_process_upper_sm_reconn_search_service:
+	jam UPPERSM_RECONN_SEARCH_SERVICE_WAIT,mem_upper_sm_reconn
+	arg 13,rega
+	setarg SDP_UUID_HS_AUDIO_GATEWAY
+	store 2,mem_search_uuid
+	branch p_sdp_send_search_req
+
+p_process_upper_sm_reconn_search_service_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES
+	fetch 4,mem_sdp_record_handle
+	branch app_bt_disconnect,blank
+	jam UPPERSM_RECONN_SEARCH_ATTRIB,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+	
+p_process_upper_sm_reconn_search_attrib:
+	jam UPPERSM_RECONN_SEARCH_ATTRIB_WAIT,mem_upper_sm_reconn
+	arg 19,rega
+	branch p_sdp_send_attribute_req
+
+p_process_upper_sm_reconn_search_attrib_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES
+	jam UPPERSM_RECONN_SS_SPP,mem_upper_sm_reconn
+	branch process_upper_sm_reconn_ss_spp_wait
+
+
+
+//rega:l2cap len ,mem_search_uuid:uuid to search
+p_sdp_send_search_req:
+	call p_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
+	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
+p_sdp_send_attribute_req:
+	call p_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
+	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
+
+p_l2cap_malloc_sdp_req:
+	fetch 2,mem_sdp_transactionid_local
+	increase 1,pdata
+	store 2,mem_sdp_transactionid_local
+p_l2cap_malloc_server_channel:
+	call push_stack_rega_b_c
+	call l2cap_malloc_sdp_channel
+	call pop_stack_rega_b_c
+	call l2cap_get_sdp_tx_buff
+	istorer rega,2,pdata
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+
+
+
+/**********************************sdp patch**********************************************/
+
+
+/**********************************page patch**********************************************/
+/*
+	YC 3121 page always
+*/
+
+p_master_page_no_interval:
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	branch page_start
+	
+/**********************************page patch**********************************************/
+
+
Index: ebike/trunk/program/peripherals.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/peripherals.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/rfcomm.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/rfcomm.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/scheduler.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/scheduler.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/sdp.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/sdp.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/security.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/security.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/sim.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/sim.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/simple_pairing.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/simple_pairing.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/ui.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/ui.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/program/utility.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/program/utility.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/sched/109x.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/109x.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/109x.dat	(working copy)
@@ -0,0 +1,53 @@
+mem_patch00:02
+mem_patch10:20
+mem_patch11:02
+mem_patch14:04
+mem_patch17:19
+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_interval:00 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: ebike/trunk/sched/DM_module.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/DM_module.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/DM_module.dat	(working copy)
@@ -0,0 +1,46 @@
+
+mem_device_option:0a
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:00
+#####################################
+
+
+
+
+################IPC BUFFER INIT#####################
+4FF0:00 1C
+4FF2:FF 1F
+4FF4:00 1C
+4FF6:00 1C
+4FF8:00 4D
+4FFA:E0 4F
+4FFC:00 4D
+4FFE:00 4D	#at least 255bytes
+#####################################
+
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:00 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_rfcomm_lmp_dis_flag:00
+# 1: tianyu   MPOS
+# 0: wobosi  printer
+mem_lpm_mode:00
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+
+
+#####################################
+
+
Index: ebike/trunk/sched/ble_config.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/ble_config.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/ble_config.dat	(working copy)
@@ -0,0 +1,77 @@
+
+mem_module_le_lpm_mult:05
+mem_module_data_write_handle:2d 00
+mem_module_data_write_handle2:2f 00
+
+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:f0
+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:
+'3121 ble demo
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+02 01 02
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+'\093121 ble demo
+
+
+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 01 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
+1e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 00 00
+#Characteristic: Peripheral Preferred Connection Parameters
+0a 00 02 03 28 01 02
+0b 00 02 04 2a 08 10 00 20 00 05 00 2c 01
+
+#Primary service yichip transmit
+0c 00 02 00 28 10 55 e4 05 d2 af 9f a9 8f e5 4a 7d fe 43 53 53 49
+#Characteristic tx--notify 
+0d 00 02 03 28 01 10
+0e 00 10 16 96 24 47 C6 23 61 BA D9 4B 4D 1E 43 53 53 49 01 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+#Characteristic rx--write
+10 00 02 03 28 01 0c
+11 00 10 b3 9b 72 34 be ec d4 a8 f4 43 41 88 43 53 53 49 01 00
+
+00 00
+
Index: ebike/trunk/sched/bt_config.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/bt_config.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/sched/bt_config.dat	(working copy)
@@ -0,0 +1,107 @@
+
+
+mem_app_connection_options:17
+
+###3.0###
+mem_scan_mode:00
+mem_module_spp_lpm_mult:28
+
+##############SPP CONFIG##############
+mem_credit_flag:00
+mem_rfcomm_max_frame_size:c8 00
+mem_rfcomm_credit_init_data:07
+#####################################
+
+##############SSP CONFIG##############
+mem_sp_iocap_local:
+03	#IO_CAPABILITY_NO_INPUT_NO_OUTPUT
+00	#OOB_DATA_PRESENT_NOT_PRESENT
+04	#AUTH_REQ_MITM_PROTECTION_NOT_REQUIRED_GENERAL_BONDING
+
+mem_ssp_enable:01
+mem_pin_length:04 30 30 30 30 30
+#####################################
+
+mem_ui_profile_supported:48
+
+
+mem_lap:a7 2a 2a 21 10 55
+mem_local_name_length:
+'3121 bt demo
+
+###3.0 sinff param###
+mem_sniff_param_interval:20 00
+mem_sniff_param_attempt:01
+mem_sniff_param_timeout:00
+mem_unsniff2sniff_timer:0a
+
+mem_class:08 04 24
+
+mem_ptt:00
+mem_features:
+ff
+fb
+8f
+f8	#openACL3M fe
+8B	#AFHclose 83
+85
+59
+83	#83 ssp
+
+
+mem_eir_enable:01
+mem_all_uuid_16bits: 
+04
+03#Type: Complete list of 16-bit UUIDs
+0012 0001 0100 1e11
+
+mem_all_uuid_128bits:00
+
+
+mem_ui_uuid_table:mem_module_uuid_list
+
+mem_module_uuid_list:
+#hfp
+#uuids
+03 111e 0003 0100
+
+#handle
+00010000
+
+#total length
+360037
+
+#attribute start, first 4 digit is attribute ID
+09 00 00 0A 00 01 00 00
+09 00 01 35 06 19 11 1E 19 12 03 
+09 00 04 35 0C 35 03 19 01 00 35 05 19 00 03 08 01 
+09 00 09 35 08 35 06 19 11 1E 09 01 05 
+09 03 11 09 00 1F
+#attribute end
+
+
+#pnp
+#uuids
+03 1200 1002  0001
+
+#handle
+00010002
+
+#total length
+360033
+
+#attribute start, first 4 digit is attribute ID
+09 00 00 0A 00 01 00 02
+09 00 01 35 03 19 12 00 
+09 02 00 09 01 03 09 02 01 
+09 0e 05 09 02 02 09 12 34 
+09 02 03 09 01 01 
+09 02 04 28 01 
+09 02 05 09 00 01
+
+
+
+mem_UI_HF_brsf_feature:34
+
+
+
Index: ebike/trunk/util/define_info.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/util/define_info.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/util/define_info.pl	(working copy)
@@ -0,0 +1,55 @@
+use strict;
+use warnings;
+
+sub read_definfo{
+	my $filename = shift();
+	my $const_chip = "CHIP VERSION：";
+	my $const_config = "CONFIG: ";
+	my $version = "";
+	my @res;
+	open(FILE,$filename) || die("can not open file:$filename ！\n");
+	while(my $line = <FILE>){
+		next if ($line eq "\n"||$line =~ "REVD");
+		last if ($line =~ "INCLUDE");
+		last if ($line =~ "SIMPLE_PAIRING");
+		
+		if ($line =~ "FPGA" && $line !~ "//"){
+			$version = $version."FPGA";
+		}elsif($line =~ "ROMCODE" && $line !~ "//"){
+			$version = $version."ROMCODE";
+			print $const_chip.$version."\n\n";
+		}elsif($line !~ "//"){				# valid
+			if ($line =~"liandi"){
+				print "baud rate  : boot rate\n";
+				}
+			elsif ($line =~ "CREDIT"){
+				print "credit     : from mcu\n";
+				}
+			elsif ($line =~ "SSP_EXT"){
+				print "ssp confirm: suport\n";
+				}
+			elsif ($line =~ "NVRAM"){
+				print "nvram      : by mcu\n";
+			}elsif ($line=~"RELEASE"){
+				print "version    : release\n";
+			}
+		}elsif ($line =~ "//"){				#noted
+			if ($line =~"liandi"){
+				print "baud rate  : 115200 or other \n";
+				}
+			elsif ($line =~ "CREDIT"){
+				print "credit     : auto\n";
+				}
+			elsif ($line =~ "SSP_EXT"){
+				print "ssp confirm: justwork only\n";
+				}
+			elsif ($line =~ "NVRAM"){
+				print "nvram      : in eep\n";
+			}elsif ($line =~ "RELEASE"){
+				print "version    : debug\n";
+			}
+		}
+	}
+}
+
+&read_definfo("bt.prog");
\ No newline at end of file
Index: ebike/trunk/util/geneep.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: ebike/trunk/util/geneep.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: ebike/trunk/util/memalloc.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/util/memalloc.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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: ebike/trunk/util/mergepatch.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/util/mergepatch.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/util/mergepatch.pl	(working copy)
@@ -0,0 +1,45 @@
+$defs = "";
+$fmt = 0;
+
+
+sub parseif {
+	my($fname) = @_;
+	open file, $fname;
+	@f = <file>;
+	close file;
+	open file, ">$fname";
+	@valid = (1);
+	for($i = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		$defs .= $1 . " " if(/^define\s+(\w+)\s*/);
+		if(/^ifdef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /$1 / ? 1 : 0) & $valid[$#valid];
+		} elsif(/^ifndef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /$1 / ? 0 : 1) & $valid[$#valid];
+		} elsif(/^else/) {
+			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
+			$valid[$#valid] = (1 - $valid[$#valid]) & $valid[$#valid - 1];
+		} elsif(/^endif/) {
+			printf "%s\nendif without if at line %d\n", $_, $i if($#valid == 0);
+			pop @valid;
+		} elsif($valid[$#valid]) {
+			if(/^include\s+(.+)\s*/) {
+				open file2, "program/$1";
+				@f2 = <file2>;
+				close file2;
+				splice(@f, $i + 1, 0, @f2);
+			} else {
+				next if(/^\s*bpatch\s+/ && $defs !~ /ROMCODE/);
+				next if(/^\s*set[01] mark_ext_patch/ && $defs !~ /ROMCODE/);
+				print file $_;
+			}
+		}
+	}
+	close file;
+}
+
+parseif("output/bt_program23.meta");
+$fmt = 1;
+parseif("output/bt_format.meta");
+
+
Index: ebike/trunk/util/rom2h.pl
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/util/rom2h.pl	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/ebike/trunk/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";
