📄 tstril.asm
字号:
; 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 + -