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

📄 tstril.asm

📁 The Radio Interface Layer is the name for an interface that was developed especially for the Pocket
💻 ASM
📖 第 1 页 / 共 5 页
字号:
; 132  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x18C]  ;  pc+8-396 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 00000660

; 133  : 				if (prmMsg->msgInDeliver.cchMsgLength) {

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r3, #0x46, 28  ; 0x460 = 1120
	orr       r2, r3, #8
	add       r1, lr, r2
	ldr       r0, [r1]
	cmp       r0, #0
	beq       |$L27284|  ; 000006D0

; 134  : 					wsprintf(szString, L"  Message: %s", hexdump(prmMsg->msgInDeliver.rgbMsg, prmMsg->msgInDeliver.cchMsgLength));

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r3, #0x46, 28  ; 0x460 = 1120
	orr       r2, r3, #8
	add       r1, lr, r2
	ldr       r1, [r1]
	ldr       r0, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       lr, #0x56, 28  ; 0x560 = 1376
	orr       r3, lr, #0xC  ; 0xC = 12
	add       r0, r0, r3
	bl        |?hexdump@@YAPAGPAEH@Z|  ; 000006A4
	mov       r2, r0
	ldr       r1, [pc, #0x28]  ;  pc+8+40 = 000006D4
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 000006B8

; 135  : 					SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x200]  ;  pc+8-512 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 000006D4
|$L27284|

; 136  : 				}
; 137  : 				break;

	b         |$L27269|  ; 000009C4
|$L27513|
	DCD       |$SG27285|
	DCD       |$SG27282|
	DCD       |$SG27280|
	DCD       |$SG27278|
|$L27287|

; 138  : 			}
; 139  : 		case RIL_MSG_IN_STATUS:
; 140  : 			{
; 141  : 				wsprintf(szString, L"  Target address: %s", prmMsg->msgInStatus.raTgtRecipAddress.wszAddress);

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	add       r2, lr, #0x8D, 30  ; 0x234 = 564
	ldr       r1, [pc, #0x54]  ;  pc+8+84 = 00000748
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 00000700

; 142  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x248]  ;  pc+8-584 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 0000071C

; 143  : 
; 144  : 				if (!GetDateAndTime(&prmMsg->msgInStatus.stTgtSCReceiveTime, szDate, szTime, 256))

	mov       r3, #1, 24  ; 0x100 = 256
	add       r2, sp, #0
	mov       r1, #2, 24  ; 0x200 = 512
	add       r1, sp, r1
	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r0, #0x43, 28  ; 0x430 = 1072
	orr       r0, r0, #4
	add       r0, lr, r0
	bl        |?GetDateAndTime@@YAHPAU_SYSTEMTIME@@PAG1K@Z|  ; 00000740
	movs      lr, r0
	bne       |$L27290|  ; 0000074C

; 145  : 				{
; 146  : 					return;

	b         |$L27254|  ; 000009C4
|$L27514|
	DCD       |$SG27288|
|$L27290|

; 147  : 				}
; 148  : 
; 149  : 				wsprintf(szString, L"  Receive Time: %s on %s", szTime, szDate);

	mov       r3, #2, 24  ; 0x200 = 512
	add       r3, sp, r3
	add       r2, sp, #0
	ldr       r1, [pc, #0x54]  ;  pc+8+84 = 000007B4
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 0000076C

; 150  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x2B4]  ;  pc+8-692 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 00000788

; 151  : 
; 152  : 				if (!GetDateAndTime(&prmMsg->msgInStatus.stTgtDischargeTime, szDate, szTime, 256))

	mov       r3, #1, 24  ; 0x100 = 256
	add       r2, sp, #0
	mov       r1, #2, 24  ; 0x200 = 512
	add       r1, sp, r1
	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r0, #0x11, 26  ; 0x440 = 1088
	orr       r0, r0, #4
	add       r0, lr, r0
	bl        |?GetDateAndTime@@YAHPAU_SYSTEMTIME@@PAG1K@Z|  ; 000007AC
	movs      lr, r0
	bne       |$L27293|  ; 000007B8

; 153  : 				{
; 154  : 					return;

	b         |$L27254|  ; 000009C4
|$L27515|
	DCD       |$SG27291|
|$L27293|

; 155  : 				}
; 156  : 
; 157  : 				wsprintf(szString, L"  Discharge Time: %s on %s", szTime, szDate);

	mov       r3, #2, 24  ; 0x200 = 512
	add       r3, sp, r3
	add       r2, sp, #0
	ldr       r1, [pc, #0x1C8]  ;  pc+8+456 = 00000994
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 000007D8

; 158  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x320]  ;  pc+8-800 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 000007F4

; 159  : 
; 160  : 				wsprintf(szString, L"  dwTgtDlvStatus: 0x%0x, %d", prmMsg->msgInStatus.dwTgtDlvStatus, prmMsg->msgInStatus.dwTgtDlvStatus);

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r3, #0x45, 28  ; 0x450 = 1104
	orr       r2, r3, #4
	add       r1, lr, r2
	ldr       r3, [r1]
	ldr       r0, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       lr, #0x45, 28  ; 0x450 = 1104
	orr       r2, lr, #4
	add       r1, r0, r2
	ldr       r2, [r1]
	ldr       r1, [pc, #0x170]  ;  pc+8+368 = 00000990
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 0000082C

; 161  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x374]  ;  pc+8-884 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 00000848

; 162  : 				wsprintf(szString, L"  dwProtocolID: 0x%0x, %d", prmMsg->msgInStatus.dwProtocolID, prmMsg->msgInStatus.dwProtocolID);

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r3, #0x45, 28  ; 0x450 = 1104
	orr       r2, r3, #8
	add       r1, lr, r2
	ldr       r3, [r1]
	ldr       r0, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       lr, #0x45, 28  ; 0x450 = 1104
	orr       r2, lr, #8
	add       r1, r0, r2
	ldr       r2, [r1]
	ldr       r1, [pc, #0x118]  ;  pc+8+280 = 0000098C
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 00000880

; 163  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x3C8]  ;  pc+8-968 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 0000089C

; 164  : 				DisplayDCS(&prmMsg->msgInStatus.rmdDataCoding);

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r3, #0x45, 28  ; 0x450 = 1104
	orr       r2, r3, #0xC  ; 0xC = 12
	add       r0, lr, r2
	bl        |?DisplayDCS@@YAXPAURILMSGDCS@@@Z|  ; 000008B0

; 165  : 				wsprintf(szString, L"  Header Length: %d", prmMsg->msgInStatus.cbHdrLength);

	ldr       r1, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       r0, #0x47, 28  ; 0x470 = 1136
	orr       lr, r0, #0xC  ; 0xC = 12
	add       r3, r1, lr
	ldr       r2, [r3]
	ldr       r1, [pc, #0xC0]  ;  pc+8+192 = 00000988
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 000008D4

; 166  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x41C]  ;  pc+8-1052 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 000008F0

; 167  : 				wsprintf(szString, L"  Body Length: %d", prmMsg->msgInStatus.cchMsgLength);

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	ldr       r2, [lr, #0x480]  ; 0x480 = 1152
	ldr       r1, [pc, #0x88]  ;  pc+8+136 = 00000984
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 00000908

; 168  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x450]  ;  pc+8-1104 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 00000924

; 169  : 				if (prmMsg->msgInStatus.cchMsgLength) {

	ldr       lr, [sp, #0xC0C]  ; 0xC0C = 3084
	ldr       r3, [lr, #0x480]  ; 0x480 = 1152
	cmp       r3, #0
	beq       |$L27304|  ; 0000097C

; 170  : 					wsprintf(szString, L"  Message: %s", hexdump(prmMsg->msgInStatus.rgbMsg, prmMsg->msgInStatus.cchMsgLength));

	ldr       r2, [sp, #0xC0C]  ; 0xC0C = 3084
	ldr       r1, [r2, #0x480]  ; 0x480 = 1152
	ldr       r0, [sp, #0xC0C]  ; 0xC0C = 3084
	mov       lr, #0x16, 26  ; 0x580 = 1408
	orr       r3, lr, #4
	add       r0, r0, r3
	bl        |?hexdump@@YAPAGPAEH@Z|  ; 00000950
	mov       r2, r0
	ldr       r1, [pc, #0x28]  ;  pc+8+40 = 00000980
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 00000964

; 171  : 					SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #-0x4AC]  ;  pc+8-1196 = 000004CC
	ldr       r0, [r0]
	bl        SendMessageW  ; 00000980
|$L27304|

; 172  : 				}
; 173  : 				break;

	b         |$L27269|  ; 000009C4
|$L27516|
	DCD       |$SG27305|
	DCD       |$SG27302|
	DCD       |$SG27300|
	DCD       |$SG27298|
	DCD       |$SG27296|
	DCD       |$SG27294|
|$L27307|

; 174  : 			}
; 175  : 		default:
; 176  : 				wsprintf(szString, L"Message type not covered yet!");

	ldr       r1, [pc, #0x34]  ;  pc+8+52 = 000009D4
	mov       r0, #1, 22  ; 0x400 = 1024
	add       r0, sp, r0
	bl        wsprintfW  ; 000009AC

; 177  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	mov       r3, #1, 22  ; 0x400 = 1024
	add       r3, sp, r3
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       lr, [pc, #-0x4F4]  ;  pc+8-1268 = 000004CC
	ldr       r0, [lr]
	bl        SendMessageW  ; 000009C8
|$L27269|
|$L27254|

; 178  : 				break;
; 179  : 	}
; 180  : 
; 181  : }

	mov       r12, #3, 22  ; 0xC00 = 3072
	orr       r12, r12, #4
	add       sp, sp, r12
	ldmia     sp, {sp, pc}  ; ldmfd
|$L27517|
	DCD       |$SG27308|
|$M27509|

	ENDP  ; |?DisplayMessage@@YAXPAURILMESSAGE@@@Z|, DisplayMessage

	EXPORT	|?NotifyCallback@@YAXKPBXKK@Z|		; NotifyCallback

	AREA	|.pdata|, PDATA
|$T27521| DCD	|?NotifyCallback@@YAXKPBXKK@Z|
	DCD	0x40004c04

	AREA	|.data|, DATA
|$SG27317| DCB	"n", 0x0, "o", 0x0, "t", 0x0, "i", 0x0, "f", 0x0, "y", 0x0
	DCB	":", 0x0, " ", 0x0, "d", 0x0, "w", 0x0, "C", 0x0, "o", 0x0
	DCB	"d", 0x0, "e", 0x0, "=", 0x0, "0", 0x0, "x", 0x0, "%", 0x0
	DCB	"0", 0x0, "X", 0x0, " ", 0x0, "l", 0x0, "p", 0x0, "D", 0x0
	DCB	"a", 0x0, "t", 0x0, "a", 0x0, "=", 0x0, "%", 0x0, "p", 0x0
	DCB	",", 0x0, " ", 0x0, "c", 0x0, "b", 0x0, "D", 0x0, "a", 0x0
	DCB	"t", 0x0, "a", 0x0, "=", 0x0, "%", 0x0, "d", 0x0, 0x0, 0x0
|$SG27324| DCB	"S", 0x0, "M", 0x0, "S", 0x0, " ", 0x0, "M", 0x0, "e", 0x0
	DCB	"s", 0x0, "s", 0x0, "a", 0x0, "g", 0x0, "e", 0x0, " ", 0x0
	DCB	"N", 0x0, "o", 0x0, "t", 0x0, "i", 0x0, "f", 0x0, "i", 0x0
	DCB	"c", 0x0, "a", 0x0, "t", 0x0, "i", 0x0, "o", 0x0, "n", 0x0
	DCB	":", 0x0, 0x0, 0x0
|$SG27333| DCB	" ", 0x0, " ", 0x0, "I", 0x0, "n", 0x0, "c", 0x0, "o", 0x0
	DCB	"m", 0x0, "i", 0x0, "n", 0x0, "g", 0x0, " ", 0x0, "m", 0x0
	DCB	"e", 0x0, "s", 0x0, "s", 0x0, "a", 0x0, "g", 0x0, "e", 0x0
	DCB	0x0, 0x0
	%	2
|$SG27338| DCB	" ", 0x0, " ", 0x0, "I", 0x0, "n", 0x0, "c", 0x0, "o", 0x0
	DCB	"m", 0x0, "i", 0x0, "n", 0x0, "g", 0x0, " ", 0x0, "s", 0x0
	DCB	"t", 0x0, "a", 0x0, "t", 0x0, "u", 0x0, "s", 0x0, " ", 0x0
	DCB	"m", 0x0, "e", 0x0, "s", 0x0, "s", 0x0, "a", 0x0, "g", 0x0
	DCB	"e", 0x0, 0x0, 0x0

	AREA	|.text|, CODE

|?NotifyCallback@@YAXKPBXKK@Z| PROC			; NotifyCallback

; 185  : {

	mov       r12, sp
	stmdb     sp!, {r0 - r3}  ; stmfd
	stmdb     sp!, {r12, lr}  ; stmfd
	sub       sp, sp, #0x21, 28  ; 0x210 = 528
|$M27519|

; 186  : 	TCHAR szString[256];
; 187  : 
; 188  : 	wsprintf(szString, L"notify: dwCode=0x%0X lpData=%p, cbData=%d",dwCode, lpData, cbData);

	ldr       r3, [sp, #0x220]  ; 0x220 = 544
	str       r3, [sp]
	ldr       r3, [sp, #0x21C]  ; 0x21C = 540
	ldr       r2, [sp, #0x218]  ; 0x218 = 536
	ldr       r1, [pc, #0x38]  ;  pc+8+56 = 00000A38
	add       r0, sp, #4
	bl        wsprintfW  ; 00000A08

; 189  : 	SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	add       r3, sp, #4
	mov       r2, #0
	mov       r1, #6, 26  ; 0x180 = 384
	ldr       r0, [pc, #0x1C]  ;  pc+8+28 = 00000A34
	ldr       r0, [r0]
	bl        SendMessageW  ; 00000A20

; 190  : 	switch (dwCode & RIL_NCLASS_ALL) {

	ldr       lr, [sp, #0x218]  ; 0x218 = 536
	and       r3, lr, #0xFF, 16  ; 0xFF0000 = 16711680
	mov       r2, #2, 16  ; 0x20000 = 131072
	cmp       r3, r2
	beq       |$L27323|  ; 00000A3C
	b         |$L27320|  ; 00000AFC
|$L27522|
	DCD       |?g_hwndEdit@@3PAUHWND__@@A|
	DCD       |$SG27317|
|$L27323|

; 191  : 	case RIL_NCLASS_MESSAGE:
; 192  : 		{

⌨️ 快捷键说明

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