📄 bul_usbfn.cod
字号:
00040 e3a03000 mov r3, #0
00044 e5843008 str r3, [r4, #8]
; 104 : return TRUE;
00048 e3a00001 mov r0, #1
; 108 : }
0004c e8bd4030 ldmia sp!, {r4, r5, lr}
00050 e12fff1e bx lr
00054 |$L29907|
; 105 : }
; 106 : }
; 107 : return FALSE;
00054 e3a00000 mov r0, #0
; 108 : }
00058 e8bd4030 ldmia sp!, {r4, r5, lr}
0005c e12fff1e bx lr
00060 |$M32896|
ENDP ; |?WaitThreadComplete@CMiniThread@@QAAHK@Z|, CMiniThread::WaitThreadComplete
EXPORT |?ForceTerminated@CMiniThread@@QAAHXZ| ; CMiniThread::ForceTerminated
IMPORT |TerminateThread|
00000 AREA |.text| { |?ForceTerminated@CMiniThread@@QAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?ForceTerminated@CMiniThread@@QAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?ForceTerminated@CMiniThread@@QAAHXZ| } ; comdat associative
|$T32909| DCD |$L32908|
DCD 0x40001401
; Function compile flags: /Ogsy
00000 AREA |.text| { |?ForceTerminated@CMiniThread@@QAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?ForceTerminated@CMiniThread@@QAAHXZ| PROC ; CMiniThread::ForceTerminated
; 111 : {
00000 |$L32908|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 |$M32906|
00004 e1a05000 mov r5, r0
; 112 : if( m_hThreadHandle )
00008 e5953008 ldr r3, [r5, #8]
0000c e3530000 cmp r3, #0
00010 0a00000a beq |$L29910|
; 113 : {
; 114 : //#pragma prefast(suppress: 258, "Try to recover from a pathological failure")
; 115 : BOOL bReturn = ::TerminateThread( m_hThreadHandle, ( DWORD ) - 1 ); // terminate abnormal
00014 e3e01000 mvn r1, #0
00018 e1a00003 mov r0, r3
0001c eb000000 bl TerminateThread
00020 e1a04000 mov r4, r0
; 116 : m_dwExitCode = -1;
; 117 : ::CloseHandle( m_hThreadHandle );
00024 e5950008 ldr r0, [r5, #8]
00028 e3e03000 mvn r3, #0
0002c e5853014 str r3, [r5, #0x14]
00030 eb000000 bl CloseHandle
; 118 : m_hThreadHandle = NULL;
00034 e3a03000 mov r3, #0
00038 e5853008 str r3, [r5, #8]
; 119 : return bReturn;
0003c ea000000 b |$L29909|
00040 |$L29910|
; 120 : };
; 121 : return TRUE;
00040 e3a04001 mov r4, #1
00044 |$L29909|
; 119 : return bReturn;
00044 e1a00004 mov r0, r4
; 122 : }
00048 e8bd4030 ldmia sp!, {r4, r5, lr}
0004c e12fff1e bx lr
00050 |$M32907|
ENDP ; |?ForceTerminated@CMiniThread@@QAAHXZ|, CMiniThread::ForceTerminated
EXPORT |?ThreadProc@CMiniThread@@CAKPAX@Z| ; CMiniThread::ThreadProc
IMPORT |ExitThread|
00000 AREA |.text| { |?ThreadProc@CMiniThread@@CAKPAX@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?ThreadProc@CMiniThread@@CAKPAX@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?ThreadProc@CMiniThread@@CAKPAX@Z| } ; comdat associative
|$T32919| DCD |$L32918|
DCD 0x40000c01
; Function compile flags: /Ogsy
00000 AREA |.text| { |?ThreadProc@CMiniThread@@CAKPAX@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?ThreadProc@CMiniThread@@CAKPAX@Z| PROC ; CMiniThread::ThreadProc
; 152 : {
00000 |$L32918|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M32916|
00004 e1a04000 mov r4, r0
; 153 : CMiniThread* pThreadPtr = ( CMiniThread* ) dParam;
; 154 : pThreadPtr->m_dwExitCode = pThreadPtr->ThreadRun();
00008 e5943000 ldr r3, [r4]
0000c e5933000 ldr r3, [r3]
00010 e1a0e00f mov lr, pc
00014 e12fff13 bx r3
00018 e1a03000 mov r3, r0
; 155 : ::ExitThread( pThreadPtr->m_dwExitCode );
0001c e5843014 str r3, [r4, #0x14]
00020 eb000000 bl ExitThread
; 156 : return pThreadPtr->m_dwExitCode;
00024 e5940014 ldr r0, [r4, #0x14]
; 157 : };
00028 e8bd4010 ldmia sp!, {r4, lr}
0002c e12fff1e bx lr
00030 |$M32917|
ENDP ; |?ThreadProc@CMiniThread@@CAKPAX@Z|, CMiniThread::ThreadProc
EXPORT |??0CRegistryEdit@@QAA@PBG@Z| ; CRegistryEdit::CRegistryEdit
IMPORT |OpenDeviceKey|
; File f:\wm520\public\common\oak\inc\cregedit.h
00000 AREA |.text| { |??0CRegistryEdit@@QAA@PBG@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??0CRegistryEdit@@QAA@PBG@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CRegistryEdit@@QAA@PBG@Z| } ; comdat associative
|$T32930| DCD |$L32929|
DCD 0x40000c01
; Function compile flags: /Ogsy
00000 AREA |.text| { |??0CRegistryEdit@@QAA@PBG@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??0CRegistryEdit@@QAA@PBG@Z| PROC ; CRegistryEdit::CRegistryEdit
; 34 : CRegistryEdit( LPCTSTR RegPath )
00000 |$L32929|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M32927|
00004 e3510000 cmp r1, #0
00008 e1a04000 mov r4, r0
; 35 : {
; 36 : m_hDevKey = NULL;
0000c e3a03000 mov r3, #0
00010 e5843000 str r3, [r4]
; 37 : if( RegPath )
00014 0a000002 beq |$L30010|
; 38 : {
; 39 : m_hDevKey = OpenDeviceKey( RegPath );
00018 e1a00001 mov r0, r1
0001c eb000000 bl OpenDeviceKey
00020 e5840000 str r0, [r4]
00024 |$L30010|
; 40 : }
; 41 : }
00024 e1a00004 mov r0, r4
00028 e8bd4010 ldmia sp!, {r4, lr}
0002c e12fff1e bx lr
00030 |$M32928|
ENDP ; |??0CRegistryEdit@@QAA@PBG@Z|, CRegistryEdit::CRegistryEdit
EXPORT |??1CRegistryEdit@@QAA@XZ| ; CRegistryEdit::~CRegistryEdit
IMPORT |RegCloseKey|
00000 AREA |.text| { |??1CRegistryEdit@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??1CRegistryEdit@@QAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1CRegistryEdit@@QAA@XZ| } ; comdat associative
|$T32938| DCD |$L32937|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |??1CRegistryEdit@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??1CRegistryEdit@@QAA@XZ| PROC ; CRegistryEdit::~CRegistryEdit
; 78 : {
00000 |$L32937|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32935|
; 79 : if( m_hDevKey )
00004 e5903000 ldr r3, [r0]
00008 e3530000 cmp r3, #0
; 80 : {
; 81 : RegCloseKey( m_hDevKey );
0000c 11a00003 movne r0, r3
00010 1b000000 blne RegCloseKey
; 82 : }
; 83 : }
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M32936|
ENDP ; |??1CRegistryEdit@@QAA@XZ|, CRegistryEdit::~CRegistryEdit
EXPORT |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| ; CRegistryEdit::GetWindowInfo
IMPORT |DDKReg_GetWindowInfo|
00000 AREA |.text| { |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| } ; comdat associative
|$T32949| DCD |$L32948|
DCD 0x40000f01
; Function compile flags: /Ogsy
00000 AREA |.text| { |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| PROC ; CRegistryEdit::GetWindowInfo
; 86 : {
00000 |$L32948|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32946|
00004 e3510000 cmp r1, #0
; 87 : if( pdwi && m_hDevKey )
00008 0a000008 beq |$L30024|
0000c e5903000 ldr r3, [r0]
00010 e3530000 cmp r3, #0
00014 0a000005 beq |$L30024|
; 88 : {
; 89 : pdwi->cbSize = sizeof( DDKWINDOWINFO );
00018 e3a03074 mov r3, #0x74
0001c e5813000 str r3, [r1]
; 90 : DWORD status = DDKReg_GetWindowInfo( m_hDevKey, pdwi );
00020 e5900000 ldr r0, [r0]
00024 eb000000 bl DDKReg_GetWindowInfo
; 96 : }
; 97 : }
00028 e49de004 ldr lr, [sp], #4
0002c e12fff1e bx lr
00030 |$L30024|
; 91 : return status;
; 92 : }
; 93 : else
; 94 : {
; 95 : return ERROR_INVALID_FUNCTION;
00030 e3a00001 mov r0, #1
; 96 : }
; 97 : }
00034 e49de004 ldr lr, [sp], #4
00038 e12fff1e bx lr
0003c |$M32947|
ENDP ; |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z|, CRegistryEdit::GetWindowInfo
EXPORT |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| ; CRegistryEdit::GetIsrInfo
IMPORT |DDKReg_GetIsrInfo|
00000 AREA |.text| { |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| } ; comdat associative
|$T32960| DCD |$L32959|
DCD 0x40000f01
; Function compile flags: /Ogsy
00000 AREA |.text| { |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| PROC ; CRegistryEdit::GetIsrInfo
; 100 : {
00000 |$L32959|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32957|
00004 e3510000 cmp r1, #0
; 101 : if( pddi && m_hDevKey )
00008 0a000008 beq |$L30030|
0000c e5903000 ldr r3, [r0]
00010 e3530000 cmp r3, #0
00014 0a000005 beq |$L30030|
; 102 : {
; 103 : pddi->cbSize = sizeof( DDKISRINFO );
00018 e3a03f43 mov r3, #0x43, 30
0001c e5813000 str r3, [r1]
; 104 : DWORD status = DDKReg_GetIsrInfo( m_hDevKey, pddi );
00020 e5900000 ldr r0, [r0]
00024 eb000000 bl DDKReg_GetIsrInfo
; 110 : }
; 111 : }
00028 e49de004 ldr lr, [sp], #4
0002c e12fff1e bx lr
00030 |$L30030|
; 105 : return status;
; 106 : }
; 107 : else
; 108 : {
; 109 : return ERROR_INVALID_FUNCTION;
00030 e3a00001 mov r0, #1
; 110 : }
; 111 : }
00034 e49de004 ldr lr, [sp], #4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -