?? sianospi.cod
字號(hào):
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@|
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -