⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sianospi.cod

📁 这是mobile6.0下的DMB驱动
💻 COD
📖 第 1 页 / 共 5 页
字号:
  00098	e1b0e003	 movs        lr, r3

; 259  : 		{
; 260  : 			PHYSICAL_ADDRESS phyAddr;
; 261  : 			phyAddr.QuadPart = pSpiDevExt->txbuf_phy_addr;

  0009c	15942044	 ldrne       r2, [r4, #0x44]
  000a0	13a03000	 movne       r3, #0

; 262  : 			HalFreeCommonBuffer(&adapter, TX_BUF_SIZE, phyAddr, pSpiDevExt->txbuf, FALSE);

  000a4	13a01c02	 movne       r1, #2, 24
  000a8	128d0008	 addne       r0, sp, #8
  000ac	158d5004	 strne       r5, [sp, #4]
  000b0	158de000	 strne       lr, [sp]
  000b4	1b000000	 blne        HalFreeCommonBuffer

; 263  : 		}
; 264  : 		LocalFree(pSpiDevExt);

  000b8	e1a00004	 mov         r0, r4
  000bc	eb000000	 bl          LocalFree
  000c0		 |$L38474|

; 265  : 		pSpiDevExt = NULL;
; 266  : 	}
; 267  : }

  000c0	e28dd014	 add         sp, sp, #0x14
  000c4	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  000c8	e12fff1e	 bx          lr
  000cc		 |$M38904|

			 ENDP  ; |FreeAllocatedResources|

	EXPORT	|??_C@_1IK@EOBAPHCE@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| [ DATA ] ; `string'
	EXPORT	|??_C@_1GG@LOGBBJNB@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| [ DATA ] ; `string'
	EXPORT	|??_C@_17KACEIPNC@?$AAK?$AAe?$AAy?$AA?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_1GO@DOKPPNLL@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| [ DATA ] ; `string'
	EXPORT	|??_C@_1BG@IDJMGAAE@?$AAn?$AAo?$AAv?$AAa?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@| [ DATA ] ; `string'
	IMPORT	|LocalAlloc|

  00000			 AREA	 |.text| { |GetRegistrySettings| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$GetRegistrySettings|, PDATA, SELECTION=5, ASSOC=|.text| { |GetRegistrySettings| } ; comdat associative
|$T38935| DCD	|$L38934|
	DCD	0x40006502

  00000			 AREA	 |.rdata| { |??_C@_1BG@IDJMGAAE@?$AAn?$AAo?$AAv?$AAa?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1BG@IDJMGAAE@?$AAn?$AAo?$AAv?$AAa?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@| DCB "n"
	DCB	0x0, "o", 0x0, "v", 0x0, "a", 0x0, "D", 0x0, "e", 0x0, "v"
	DCB	0x0, "i", 0x0, "c", 0x0, "e", 0x0, 0x0, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_1GO@DOKPPNLL@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1GO@DOKPPNLL@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| DCB "S"
	DCB	0x0, "i", 0x0, "a", 0x0, "n", 0x0, "o", 0x0, " ", 0x0, "S"
	DCB	0x0, "P", 0x0, "I", 0x0, " ", 0x0, "-", 0x0, " ", 0x0, "E"
	DCB	0x0, "R", 0x0, "R", 0x0, "O", 0x0, "R", 0x0, "!", 0x0, "!"
	DCB	0x0, " ", 0x0, "C", 0x0, "o", 0x0, "u", 0x0, "l", 0x0, "d"
	DCB	0x0, " ", 0x0, "n", 0x0, "o", 0x0, "t", 0x0, " ", 0x0, "g"
	DCB	0x0, "e", 0x0, "t", 0x0, " ", 0x0, "r", 0x0, "e", 0x0, "g"
	DCB	0x0, "i", 0x0, "s", 0x0, "t", 0x0, "r", 0x0, "y", 0x0, " "
	DCB	0x0, "k", 0x0, "e", 0x0, "y", 0x0, " ", 0x0, "n", 0x0, "a"
	DCB	0x0, "m", 0x0, "e", 0x0, ".", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0
	DCB	0x0					; `string'

  00000			 AREA	 |.rdata| { |??_C@_17KACEIPNC@?$AAK?$AAe?$AAy?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_17KACEIPNC@?$AAK?$AAe?$AAy?$AA?$AA@| DCB "K", 0x0, "e", 0x0, "y", 0x0
	DCB	0x0, 0x0				; `string'

  00000			 AREA	 |.rdata| { |??_C@_1GG@LOGBBJNB@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1GG@LOGBBJNB@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| DCB "S"
	DCB	0x0, "i", 0x0, "a", 0x0, "n", 0x0, "o", 0x0, " ", 0x0, "S"
	DCB	0x0, "P", 0x0, "I", 0x0, " ", 0x0, "-", 0x0, " ", 0x0, "E"
	DCB	0x0, "R", 0x0, "R", 0x0, "O", 0x0, "R", 0x0, "!", 0x0, "!"
	DCB	0x0, " ", 0x0, "C", 0x0, "o", 0x0, "u", 0x0, "l", 0x0, "d"
	DCB	0x0, " ", 0x0, "n", 0x0, "o", 0x0, "t", 0x0, " ", 0x0, "o"
	DCB	0x0, "p", 0x0, "e", 0x0, "n", 0x0, " ", 0x0, "r", 0x0, "e"
	DCB	0x0, "g", 0x0, "i", 0x0, "s", 0x0, "t", 0x0, "r", 0x0, "y"
	DCB	0x0, " ", 0x0, "k", 0x0, "e", 0x0, "y", 0x0, ".", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1IK@EOBAPHCE@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1IK@EOBAPHCE@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@| DCB "S"
	DCB	0x0, "i", 0x0, "a", 0x0, "n", 0x0, "o", 0x0, " ", 0x0, "S"
	DCB	0x0, "P", 0x0, "I", 0x0, " ", 0x0, "-", 0x0, " ", 0x0, "E"
	DCB	0x0, "R", 0x0, "R", 0x0, "O", 0x0, "R", 0x0, "!", 0x0, "!"
	DCB	0x0, " ", 0x0, "A", 0x0, "l", 0x0, "l", 0x0, "o", 0x0, "c"
	DCB	0x0, "a", 0x0, "t", 0x0, "i", 0x0, "n", 0x0, "g", 0x0, " "
	DCB	0x0, "m", 0x0, "e", 0x0, "m", 0x0, "o", 0x0, "r", 0x0, "y"
	DCB	0x0, " ", 0x0, "f", 0x0, "o", 0x0, "r", 0x0, " ", 0x0, "r"
	DCB	0x0, "e", 0x0, "g", 0x0, "i", 0x0, "s", 0x0, "t", 0x0, "r"
	DCB	0x0, "y", 0x0, " ", 0x0, "r", 0x0, "e", 0x0, "a", 0x0, "d"
	DCB	0x0, "i", 0x0, "n", 0x0, "g", 0x0, " ", 0x0, "f", 0x0, "a"
	DCB	0x0, "i", 0x0, "l", 0x0, "e", 0x0, "d", 0x0, ".", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |GetRegistrySettings| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |GetRegistrySettings| PROC

; 272  : {

  00000		 |$L38934|
  00000	e92d40f0	 stmdb       sp!, {r4 - r7, lr}
  00004	e24dd014	 sub         sp, sp, #0x14
  00008		 |$M38932|
  00008	e1a05001	 mov         r5, r1
  0000c	e1a04000	 mov         r4, r0

; 273  : 	TCHAR*	regKey;
; 274  : 	BOOL	st;
; 275  : 	HKEY	hKey;
; 276  : 	DWORD	dataSize, type;
; 277  : 	regKey = (TCHAR *)LocalAlloc (LPTR, MAX_REG_KEY_SIZE);

  00010	e3a01064	 mov         r1, #0x64
  00014	e3a00040	 mov         r0, #0x40
  00018	eb000000	 bl          LocalAlloc
  0001c	e1b06000	 movs        r6, r0

; 278  : 	if (regKey == NULL)

  00020	1a000006	 bne         |$L38500|

; 279  : 	{
; 280  : 		DBGMSG( ZONE_ERROR,(TEXT("Siano SPI - ERROR!! Allocating memory for registry reading failed.\r\n")));

  00024	e59f3154	 ldr         r3, [pc, #0x154]
  00028	e5933440	 ldr         r3, [r3, #0x440]
  0002c	e3130001	 tst         r3, #1
  00030	159f0158	 ldrne       r0, [pc, #0x158]
  00034	1b000000	 blne        NKDbgPrintfW

; 281  : 		return FALSE;

  00038	e3a04000	 mov         r4, #0
  0003c	ea00004a	 b           |$L38492|
  00040		 |$L38500|

; 282  : 	}
; 283  : 
; 284  : 
; 285  : 	st = RegOpenKeyEx(HKEY_LOCAL_MACHINE, (LPCWSTR)Context, 0, 0, &hKey);						

  00040	e28d3008	 add         r3, sp, #8
  00044	e58d3000	 str         r3, [sp]
  00048	e3a03000	 mov         r3, #0
  0004c	e3a02000	 mov         r2, #0
  00050	e1a01004	 mov         r1, r4
  00054	e3a0010a	 mov         r0, #0xA, 2
  00058	eb000000	 bl          RegOpenKeyExW
  0005c	e3500000	 cmp         r0, #0

; 286  : 	if(st != ERROR_SUCCESS)

  00060	0a000007	 beq         |$L38505|
  00064		 |$L38931|

; 287  : 	{
; 288  : 		DBGMSG( ZONE_ERROR,(TEXT("Siano SPI - ERROR!! Could not open registry key.\r\n")));

  00064	e59f3114	 ldr         r3, [pc, #0x114]
  00068	e5933440	 ldr         r3, [r3, #0x440]
  0006c	e3130001	 tst         r3, #1
  00070	0a000001	 beq         |$L38912|
  00074	e59f0110	 ldr         r0, [pc, #0x110]
  00078		 |$L38930|
  00078	eb000000	 bl          NKDbgPrintfW
  0007c		 |$L38912|
  0007c	e3a04000	 mov         r4, #0
  00080	ea000037	 b           |$L38920|
  00084		 |$L38505|

; 289  : 		LocalFree(regKey);
; 290  : 		return (FALSE);
; 291  : 	}
; 292  : 
; 293  : 	dataSize=MAX_REG_KEY_SIZE;
; 294  : 	st = RegQueryValueEx(	hKey, 
; 295  : 							TEXT("Key"), 
; 296  : 							NULL,
; 297  : 							&type, 
; 298  : 							(LPBYTE)regKey, 
; 299  : 							&dataSize);

  00084	e59f10fc	 ldr         r1, [pc, #0xFC]
  00088	e59d0008	 ldr         r0, [sp, #8]
  0008c	e3a04064	 mov         r4, #0x64
  00090	e28de00c	 add         lr, sp, #0xC
  00094	e28d3010	 add         r3, sp, #0x10
  00098	e3a02000	 mov         r2, #0
  0009c	e58d400c	 str         r4, [sp, #0xC]
  000a0	e58de004	 str         lr, [sp, #4]
  000a4	e58d6000	 str         r6, [sp]
  000a8	eb000000	 bl          RegQueryValueExW
  000ac	e1a04000	 mov         r4, r0

; 300  : 	
; 301  : 	RegCloseKey(hKey);

  000b0	e59d0008	 ldr         r0, [sp, #8]
  000b4	eb000000	 bl          RegCloseKey

; 302  : 	if(st!=ERROR_SUCCESS)	

  000b8	e3540000	 cmp         r4, #0
  000bc	0a000005	 beq         |$L38510|

; 303  : 	{
; 304  : 		DBGMSG( ZONE_ERROR,(TEXT("Siano SPI - ERROR!! Could not get registry key name.\r\n")));

  000c0	e59f30b8	 ldr         r3, [pc, #0xB8]
  000c4	e5933440	 ldr         r3, [r3, #0x440]
  000c8	e3130001	 tst         r3, #1
  000cc	0affffea	 beq         |$L38912|
  000d0	e59f00a4	 ldr         r0, [pc, #0xA4]
  000d4	eaffffe7	 b           |$L38930|
  000d8		 |$L38510|

; 305  : 		LocalFree(regKey);
; 306  : 		return (FALSE);
; 307  : 	}
; 308  : 	
; 309  : 	// Now - read all the needed parameters for the driver from the registry.
; 310  : 
; 311  : 
; 312  : 	st = RegOpenKeyEx(HKEY_LOCAL_MACHINE, regKey, 0, 0, &hKey);

  000d8	e28d3008	 add         r3, sp, #8
  000dc	e58d3000	 str         r3, [sp]
  000e0	e3a03000	 mov         r3, #0
  000e4	e3a02000	 mov         r2, #0
  000e8	e1a01006	 mov         r1, r6
  000ec	e3a0010a	 mov         r0, #0xA, 2
  000f0	eb000000	 bl          RegOpenKeyExW
  000f4	e3500000	 cmp         r0, #0
  000f8	1affffd9	 bne         |$L38931|

; 313  : 	if(st != ERROR_SUCCESS)
; 314  : 	{
; 315  : 		DBGMSG( ZONE_ERROR,(TEXT("Siano SPI - ERROR!! Could not open registry key.\r\n")));
; 316  : 		LocalFree(regKey);
; 317  : 		return (FALSE);
; 318  : 	}
; 319  : 
; 320  : 
; 321  : 
; 322  : 	dataSize = sizeof(pSpiDevExt->novaDevice);
; 323  : 	st = RegQueryValueEx( hKey, 
; 324  : 					  L"novaDevice", 
; 325  : 					  0, 
; 326  : 					  &type, 
; 327  : 					  (LPBYTE)&pSpiDevExt->novaDevice, 
; 328  : 					  &dataSize);

  000fc	e59f1080	 ldr         r1, [pc, #0x80]
  00100	e59d0008	 ldr         r0, [sp, #8]
  00104	e3a07004	 mov         r7, #4
  00108	e28de00c	 add         lr, sp, #0xC
  0010c	e2854060	 add         r4, r5, #0x60
  00110	e28d3010	 add         r3, sp, #0x10
  00114	e3a02000	 mov         r2, #0
  00118	e58d700c	 str         r7, [sp, #0xC]
  0011c	e58de004	 str         lr, [sp, #4]
  00120	e58d4000	 str         r4, [sp]
  00124	eb000000	 bl          RegQueryValueExW
  00128	e3500000	 cmp         r0, #0

; 329  : 
; 330  : 	if(st != ERROR_SUCCESS)
; 331  : 	{ //Set default value if registry entry is not found.
; 332  : 		pSpiDevExt->novaDevice = FALSE;
; 333  : 	}
; 334  : 
; 335  : 	
; 336  : 	st = RegCloseKey(hKey);

  0012c	e59d0008	 ldr         r0, [sp, #8]
  00130	e3a04000	 mov         r4, #0
  00134	15854060	 strne       r4, [r5, #0x60]
  00138	eb000000	 bl          RegCloseKey
  0013c	e3500000	 cmp         r0, #0

; 337  : 	if(st!=ERROR_SUCCESS)	

  00140	0a000006	 beq         |$L38518|

; 338  : 	{
; 339  : 		DBGMSG( ZONE_ERROR,(TEXT("Siano SPI - ERROR!! Could not get registry key name.\r\n")));

  00144	e59f3034	 ldr         r3, [pc, #0x34]
  00148	e5933440	 ldr         r3, [r3, #0x440]
  0014c	e3130001	 tst         r3, #1
  00150	0a000003	 beq         |$L38920|
  00154	e59f0020	 ldr         r0, [pc, #0x20]
  00158	eb000000	 bl          NKDbgPrintfW
  0015c	ea000000	 b           |$L38920|
  00160		 |$L38518|
  00160	e3a04001	 mov         r4, #1
  00164		 |$L38920|

; 340  : 		LocalFree(regKey);
; 341  : 		return (FALSE);
; 342  : 	}
; 343  : 
; 344  : 	LocalFree(regKey);

  00164	e1a00006	 mov         r0, r6
  00168	eb000000	 bl          LocalFree

; 345  : 	return (TRUE);

  0016c		 |$L38492|

; 281  : 		return FALSE;

  0016c	e1a00004	 mov         r0, r4

; 346  : 
; 347  : }

  00170	e28dd014	 add         sp, sp, #0x14
  00174	e8bd40f0	 ldmia       sp!, {r4 - r7, lr}
  00178	e12fff1e	 bx          lr
  0017c		 |$L38937|
  0017c	00000000	 DCD         |??_C@_1GO@DOKPPNLL@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@|
  00180	00000000	 DCD         |dpCurSettings|
  00184	00000000	 DCD         |??_C@_1BG@IDJMGAAE@?$AAn?$AAo?$AAv?$AAa?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@|
  00188	00000000	 DCD         |??_C@_17KACEIPNC@?$AAK?$AAe?$AAy?$AA?$AA@|
  0018c	00000000	 DCD         |??_C@_1GG@LOGBBJNB@?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?5?$AAS?$AAP?$AAI?$AA?5?$AA?9?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?$CB?$AA?$CB?$AA?5@|

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -