|
|
|
@ -116,7 +116,7 @@ EXTRN __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ:PROC
|
|
|
|
|
EXTRN __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ:PROC
|
|
|
|
|
EXTRN __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ:PROC
|
|
|
|
|
EXTRN xed_decode:PROC
|
|
|
|
|
EXTRN ??0_NATIVE_CODE_LINK@@QEAA@KPEAXK@Z:PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
EXTRN ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z:PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
EXTRN ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z:PROC ; NcAppendToBlock
|
|
|
|
|
EXTRN _RTC_CheckStackVars:PROC
|
|
|
|
|
EXTRN _RTC_InitBase:PROC
|
|
|
|
@ -190,7 +190,7 @@ pdata ENDS
|
|
|
|
|
; COMDAT pdata
|
|
|
|
|
pdata SEGMENT
|
|
|
|
|
$pdata$?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD imagerel $LN6
|
|
|
|
|
DD imagerel $LN6+381
|
|
|
|
|
DD imagerel $LN6+389
|
|
|
|
|
DD imagerel $unwind$?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z
|
|
|
|
|
pdata ENDS
|
|
|
|
|
; COMDAT pdata
|
|
|
|
@ -202,7 +202,7 @@ pdata ENDS
|
|
|
|
|
; COMDAT pdata
|
|
|
|
|
pdata SEGMENT
|
|
|
|
|
$pdata$?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD imagerel $LN6
|
|
|
|
|
DD imagerel $LN6+377
|
|
|
|
|
DD imagerel $LN6+385
|
|
|
|
|
DD imagerel $unwind$?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z
|
|
|
|
|
pdata ENDS
|
|
|
|
|
; COMDAT pdata
|
|
|
|
@ -214,7 +214,7 @@ pdata ENDS
|
|
|
|
|
; COMDAT pdata
|
|
|
|
|
pdata SEGMENT
|
|
|
|
|
$pdata$?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD imagerel $LN6
|
|
|
|
|
DD imagerel $LN6+361
|
|
|
|
|
DD imagerel $LN6+369
|
|
|
|
|
DD imagerel $unwind$?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z
|
|
|
|
|
pdata ENDS
|
|
|
|
|
; COMDAT pdata
|
|
|
|
@ -270,7 +270,7 @@ $ip2state$?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DB 06H
|
|
|
|
|
DB 00H
|
|
|
|
|
DB 0faH
|
|
|
|
|
DB 02H
|
|
|
|
|
DB 08eH
|
|
|
|
|
DB 09eH
|
|
|
|
|
DB 00H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT xdata
|
|
|
|
@ -287,13 +287,13 @@ $cppxdata$?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DB 028H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT xdata
|
|
|
|
|
xdata SEGMENT
|
|
|
|
|
$unwind$?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD 025054419H
|
|
|
|
|
DD 0117231cH
|
|
|
|
|
DD 07010002fH
|
|
|
|
|
$unwind$?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD 035054419H
|
|
|
|
|
DD 0117331cH
|
|
|
|
|
DD 070100031H
|
|
|
|
|
DD 0500fH
|
|
|
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
|
|
|
DD imagerel $cppxdata$?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z
|
|
|
|
|
DD 0162H
|
|
|
|
|
DD 0172H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT CONST
|
|
|
|
|
CONST SEGMENT
|
|
|
|
@ -306,7 +306,7 @@ CONST SEGMENT
|
|
|
|
|
DB 061H
|
|
|
|
|
DB 00H
|
|
|
|
|
ORG $+8
|
|
|
|
|
?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcVarDesc DD 024H ; JitEmitRipRelativeMovB
|
|
|
|
|
?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcVarDesc DD 034H ; JitEmitRipRelativeMovB
|
|
|
|
|
DD 07H
|
|
|
|
|
DQ FLAT:?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcName$0
|
|
|
|
|
ORG $+48
|
|
|
|
@ -327,7 +327,7 @@ $ip2state$?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DB 06H
|
|
|
|
|
DB 00H
|
|
|
|
|
DB 015H, 02H
|
|
|
|
|
DB 02H
|
|
|
|
|
DB 08eH
|
|
|
|
|
DB 09eH
|
|
|
|
|
DB 00H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT xdata
|
|
|
|
@ -344,13 +344,13 @@ $cppxdata$?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DB 028H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT xdata
|
|
|
|
|
xdata SEGMENT
|
|
|
|
|
$unwind$?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD 025054419H
|
|
|
|
|
DD 0117231cH
|
|
|
|
|
DD 070100031H
|
|
|
|
|
$unwind$?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD 035054419H
|
|
|
|
|
DD 0117331cH
|
|
|
|
|
DD 070100033H
|
|
|
|
|
DD 0500fH
|
|
|
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
|
|
|
DD imagerel $cppxdata$?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z
|
|
|
|
|
DD 0172H
|
|
|
|
|
DD 0182H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT CONST
|
|
|
|
|
CONST SEGMENT
|
|
|
|
@ -363,7 +363,7 @@ CONST SEGMENT
|
|
|
|
|
DB 061H
|
|
|
|
|
DB 00H
|
|
|
|
|
ORG $+8
|
|
|
|
|
?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcVarDesc DD 028H ; JitEmitRipRelativeMovW
|
|
|
|
|
?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcVarDesc DD 038H ; JitEmitRipRelativeMovW
|
|
|
|
|
DD 09H
|
|
|
|
|
DQ FLAT:?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcName$0
|
|
|
|
|
ORG $+48
|
|
|
|
@ -384,7 +384,7 @@ $ip2state$?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DB 06H
|
|
|
|
|
DB 00H
|
|
|
|
|
DB '%', 02H
|
|
|
|
|
DB 02H
|
|
|
|
|
DB 08eH
|
|
|
|
|
DB 09eH
|
|
|
|
|
DB 00H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT xdata
|
|
|
|
@ -401,13 +401,13 @@ $cppxdata$?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DB 028H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT xdata
|
|
|
|
|
xdata SEGMENT
|
|
|
|
|
$unwind$?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD 025054419H
|
|
|
|
|
DD 0117231cH
|
|
|
|
|
DD 070100031H
|
|
|
|
|
$unwind$?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z DD 035054419H
|
|
|
|
|
DD 0117331cH
|
|
|
|
|
DD 070100033H
|
|
|
|
|
DD 0500fH
|
|
|
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
|
|
|
DD imagerel $cppxdata$?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z
|
|
|
|
|
DD 0172H
|
|
|
|
|
DD 0182H
|
|
|
|
|
xdata ENDS
|
|
|
|
|
; COMDAT CONST
|
|
|
|
|
CONST SEGMENT
|
|
|
|
@ -420,7 +420,7 @@ CONST SEGMENT
|
|
|
|
|
DB 061H
|
|
|
|
|
DB 00H
|
|
|
|
|
ORG $+8
|
|
|
|
|
?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcVarDesc DD 028H ; JitEmitRipRelativeMovD
|
|
|
|
|
?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcVarDesc DD 038H ; JitEmitRipRelativeMovD
|
|
|
|
|
DD 0aH
|
|
|
|
|
DQ FLAT:?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcName$0
|
|
|
|
|
ORG $+48
|
|
|
|
@ -603,7 +603,7 @@ RawData$ = 4
|
|
|
|
|
Link$ = 40
|
|
|
|
|
$T4 = 264
|
|
|
|
|
$T5 = 296
|
|
|
|
|
tv78 = 312
|
|
|
|
|
tv79 = 312
|
|
|
|
|
__$ArrayPad$ = 320
|
|
|
|
|
Block$ = 368
|
|
|
|
|
RipDelta$ = 376
|
|
|
|
@ -618,15 +618,15 @@ $LN6:
|
|
|
|
|
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
|
|
|
0000e 55 push rbp
|
|
|
|
|
0000f 57 push rdi
|
|
|
|
|
00010 48 81 ec 78 01
|
|
|
|
|
00 00 sub rsp, 376 ; 00000178H
|
|
|
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
|
|
|
00010 48 81 ec 88 01
|
|
|
|
|
00 00 sub rsp, 392 ; 00000188H
|
|
|
|
|
00017 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
|
|
|
0001c 48 8b fc mov rdi, rsp
|
|
|
|
|
0001f b9 5e 00 00 00 mov ecx, 94 ; 0000005eH
|
|
|
|
|
0001f b9 62 00 00 00 mov ecx, 98 ; 00000062H
|
|
|
|
|
00024 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
|
|
|
00029 f3 ab rep stosd
|
|
|
|
|
0002b 48 8b 8c 24 98
|
|
|
|
|
01 00 00 mov rcx, QWORD PTR [rsp+408]
|
|
|
|
|
0002b 48 8b 8c 24 a8
|
|
|
|
|
01 00 00 mov rcx, QWORD PTR [rsp+424]
|
|
|
|
|
00033 48 8b 05 00 00
|
|
|
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
|
|
|
0003a 48 33 c5 xor rax, rbp
|
|
|
|
@ -655,90 +655,92 @@ $LN6:
|
|
|
|
|
00 00 mov QWORD PTR $T5[rbp], rax
|
|
|
|
|
0007d 48 83 bd 28 01
|
|
|
|
|
00 00 00 cmp QWORD PTR $T5[rbp], 0
|
|
|
|
|
00085 74 24 je SHORT $LN3@JitEmitRip
|
|
|
|
|
00087 41 b9 07 00 00
|
|
|
|
|
00085 74 2c je SHORT $LN3@JitEmitRip
|
|
|
|
|
00087 c7 44 24 20 00
|
|
|
|
|
00 00 00 mov DWORD PTR [rsp+32], 0
|
|
|
|
|
0008f 41 b9 07 00 00
|
|
|
|
|
00 mov r9d, 7
|
|
|
|
|
0008d 4c 8d 45 04 lea r8, QWORD PTR RawData$[rbp]
|
|
|
|
|
00091 ba 0c 00 00 00 mov edx, 12
|
|
|
|
|
00096 48 8b 8d 28 01
|
|
|
|
|
00095 4c 8d 45 04 lea r8, QWORD PTR RawData$[rbp]
|
|
|
|
|
00099 ba 0c 00 00 00 mov edx, 12
|
|
|
|
|
0009e 48 8b 8d 28 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
|
0009d e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXK@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
000a2 48 89 85 38 01
|
|
|
|
|
00 00 mov QWORD PTR tv78[rbp], rax
|
|
|
|
|
000a9 eb 0b jmp SHORT $LN4@JitEmitRip
|
|
|
|
|
000a5 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
000aa 48 89 85 38 01
|
|
|
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
|
|
|
000b1 eb 0b jmp SHORT $LN4@JitEmitRip
|
|
|
|
|
$LN3@JitEmitRip:
|
|
|
|
|
000ab 48 c7 85 38 01
|
|
|
|
|
000b3 48 c7 85 38 01
|
|
|
|
|
00 00 00 00 00
|
|
|
|
|
00 mov QWORD PTR tv78[rbp], 0
|
|
|
|
|
00 mov QWORD PTR tv79[rbp], 0
|
|
|
|
|
$LN4@JitEmitRip:
|
|
|
|
|
000b6 48 8b 85 38 01
|
|
|
|
|
00 00 mov rax, QWORD PTR tv78[rbp]
|
|
|
|
|
000bd 48 89 85 08 01
|
|
|
|
|
000be 48 8b 85 38 01
|
|
|
|
|
00 00 mov rax, QWORD PTR tv79[rbp]
|
|
|
|
|
000c5 48 89 85 08 01
|
|
|
|
|
00 00 mov QWORD PTR $T4[rbp], rax
|
|
|
|
|
000c4 48 8b 85 08 01
|
|
|
|
|
000cc 48 8b 85 08 01
|
|
|
|
|
00 00 mov rax, QWORD PTR $T4[rbp]
|
|
|
|
|
000cb 48 89 45 28 mov QWORD PTR Link$[rbp], rax
|
|
|
|
|
000d3 48 89 45 28 mov QWORD PTR Link$[rbp], rax
|
|
|
|
|
|
|
|
|
|
; 32 : *(PINT32)&Link->RawData[2] = RipDelta;
|
|
|
|
|
|
|
|
|
|
000cf b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000d4 48 6b c0 02 imul rax, rax, 2
|
|
|
|
|
000d8 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000dc 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
000e0 8b 95 78 01 00
|
|
|
|
|
000d7 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000dc 48 6b c0 02 imul rax, rax, 2
|
|
|
|
|
000e0 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000e4 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
000e8 8b 95 78 01 00
|
|
|
|
|
00 mov edx, DWORD PTR RipDelta$[rbp]
|
|
|
|
|
000e6 89 14 08 mov DWORD PTR [rax+rcx], edx
|
|
|
|
|
000ee 89 14 08 mov DWORD PTR [rax+rcx], edx
|
|
|
|
|
|
|
|
|
|
; 33 : Link->RawData[6] = *Data;
|
|
|
|
|
|
|
|
|
|
000e9 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000ee 48 6b c0 06 imul rax, rax, 6
|
|
|
|
|
000f2 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000f6 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
000fa 48 8b 95 80 01
|
|
|
|
|
000f1 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000f6 48 6b c0 06 imul rax, rax, 6
|
|
|
|
|
000fa 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000fe 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
00102 48 8b 95 80 01
|
|
|
|
|
00 00 mov rdx, QWORD PTR Data$[rbp]
|
|
|
|
|
00101 0f b6 12 movzx edx, BYTE PTR [rdx]
|
|
|
|
|
00104 88 14 08 mov BYTE PTR [rax+rcx], dl
|
|
|
|
|
00109 0f b6 12 movzx edx, BYTE PTR [rdx]
|
|
|
|
|
0010c 88 14 08 mov BYTE PTR [rax+rcx], dl
|
|
|
|
|
|
|
|
|
|
; 34 : XedDecode(&Link->XedInstruction, Link->RawData, Link->RawDataSize);
|
|
|
|
|
|
|
|
|
|
00107 48 8b 45 28 mov rax, QWORD PTR Link$[rbp]
|
|
|
|
|
0010b 48 83 c0 30 add rax, 48 ; 00000030H
|
|
|
|
|
0010f 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00113 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
|
|
|
0010f 48 8b 45 28 mov rax, QWORD PTR Link$[rbp]
|
|
|
|
|
00113 48 83 c0 30 add rax, 48 ; 00000030H
|
|
|
|
|
00117 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
0011b 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
|
|
|
0011f 48 8b c8 mov rcx, rax
|
|
|
|
|
00122 e8 00 00 00 00 call xed_decode
|
|
|
|
|
0011b 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
|
|
|
0011f 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00123 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
|
|
|
00127 48 8b c8 mov rcx, rax
|
|
|
|
|
0012a e8 00 00 00 00 call xed_decode
|
|
|
|
|
|
|
|
|
|
; 35 : NcAppendToBlock(Block, Link);
|
|
|
|
|
|
|
|
|
|
00127 48 8b 55 28 mov rdx, QWORD PTR Link$[rbp]
|
|
|
|
|
0012b 48 8b 8d 70 01
|
|
|
|
|
0012f 48 8b 55 28 mov rdx, QWORD PTR Link$[rbp]
|
|
|
|
|
00133 48 8b 8d 70 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
|
|
|
00132 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
|
0013a e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
|
|
|
|
|
|
; 36 : return TRUE;
|
|
|
|
|
|
|
|
|
|
00137 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
0013f b8 01 00 00 00 mov eax, 1
|
|
|
|
|
|
|
|
|
|
; 37 : }
|
|
|
|
|
|
|
|
|
|
0013c 8b f8 mov edi, eax
|
|
|
|
|
0013e 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
|
|
|
00142 48 8d 15 00 00
|
|
|
|
|
00144 8b f8 mov edi, eax
|
|
|
|
|
00146 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
|
|
|
|
0014a 48 8d 15 00 00
|
|
|
|
|
00 00 lea rdx, OFFSET FLAT:?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcFrameData
|
|
|
|
|
00149 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
|
|
|
0014e 8b c7 mov eax, edi
|
|
|
|
|
00150 48 8b 8d 40 01
|
|
|
|
|
00151 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
|
|
|
00156 8b c7 mov eax, edi
|
|
|
|
|
00158 48 8b 8d 40 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
|
|
|
00157 48 33 cd xor rcx, rbp
|
|
|
|
|
0015a e8 00 00 00 00 call __security_check_cookie
|
|
|
|
|
0015f 48 8d a5 58 01
|
|
|
|
|
0015f 48 33 cd xor rcx, rbp
|
|
|
|
|
00162 e8 00 00 00 00 call __security_check_cookie
|
|
|
|
|
00167 48 8d a5 58 01
|
|
|
|
|
00 00 lea rsp, QWORD PTR [rbp+344]
|
|
|
|
|
00166 5f pop rdi
|
|
|
|
|
00167 5d pop rbp
|
|
|
|
|
00168 c3 ret 0
|
|
|
|
|
0016e 5f pop rdi
|
|
|
|
|
0016f 5d pop rbp
|
|
|
|
|
00170 c3 ret 0
|
|
|
|
|
?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ENDP ; JitEmitRipRelativeMovB
|
|
|
|
|
_TEXT ENDS
|
|
|
|
|
; COMDAT text$x
|
|
|
|
@ -747,7 +749,7 @@ RawData$ = 4
|
|
|
|
|
Link$ = 40
|
|
|
|
|
$T4 = 264
|
|
|
|
|
$T5 = 296
|
|
|
|
|
tv78 = 312
|
|
|
|
|
tv79 = 312
|
|
|
|
|
__$ArrayPad$ = 320
|
|
|
|
|
Block$ = 368
|
|
|
|
|
RipDelta$ = 376
|
|
|
|
@ -758,7 +760,7 @@ Data$ = 384
|
|
|
|
|
0000a 55 push rbp
|
|
|
|
|
0000b 57 push rdi
|
|
|
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
|
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
|
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
|
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
|
|
|
00019 48 8b 8d 28 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
@ -776,7 +778,7 @@ RawData$ = 4
|
|
|
|
|
Link$ = 40
|
|
|
|
|
$T4 = 264
|
|
|
|
|
$T5 = 296
|
|
|
|
|
tv78 = 312
|
|
|
|
|
tv79 = 312
|
|
|
|
|
__$ArrayPad$ = 320
|
|
|
|
|
Block$ = 368
|
|
|
|
|
RipDelta$ = 376
|
|
|
|
@ -787,7 +789,7 @@ Data$ = 384
|
|
|
|
|
0000a 55 push rbp
|
|
|
|
|
0000b 57 push rdi
|
|
|
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
|
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
|
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
|
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
|
|
|
00019 48 8b 8d 28 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
@ -806,7 +808,7 @@ RawData$ = 8
|
|
|
|
|
Link$ = 56
|
|
|
|
|
$T4 = 280
|
|
|
|
|
$T5 = 312
|
|
|
|
|
tv78 = 328
|
|
|
|
|
tv79 = 328
|
|
|
|
|
__$ArrayPad$ = 336
|
|
|
|
|
Block$ = 384
|
|
|
|
|
RipDelta$ = 392
|
|
|
|
@ -821,15 +823,15 @@ $LN6:
|
|
|
|
|
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
|
|
|
0000e 55 push rbp
|
|
|
|
|
0000f 57 push rdi
|
|
|
|
|
00010 48 81 ec 88 01
|
|
|
|
|
00 00 sub rsp, 392 ; 00000188H
|
|
|
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
|
|
|
00010 48 81 ec 98 01
|
|
|
|
|
00 00 sub rsp, 408 ; 00000198H
|
|
|
|
|
00017 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
|
|
|
0001c 48 8b fc mov rdi, rsp
|
|
|
|
|
0001f b9 62 00 00 00 mov ecx, 98 ; 00000062H
|
|
|
|
|
0001f b9 66 00 00 00 mov ecx, 102 ; 00000066H
|
|
|
|
|
00024 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
|
|
|
00029 f3 ab rep stosd
|
|
|
|
|
0002b 48 8b 8c 24 a8
|
|
|
|
|
01 00 00 mov rcx, QWORD PTR [rsp+424]
|
|
|
|
|
0002b 48 8b 8c 24 b8
|
|
|
|
|
01 00 00 mov rcx, QWORD PTR [rsp+440]
|
|
|
|
|
00033 48 8b 05 00 00
|
|
|
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
|
|
|
0003a 48 33 c5 xor rax, rbp
|
|
|
|
@ -860,92 +862,94 @@ $LN6:
|
|
|
|
|
00 00 mov QWORD PTR $T5[rbp], rax
|
|
|
|
|
00085 48 83 bd 38 01
|
|
|
|
|
00 00 00 cmp QWORD PTR $T5[rbp], 0
|
|
|
|
|
0008d 74 24 je SHORT $LN3@JitEmitRip
|
|
|
|
|
0008f 41 b9 09 00 00
|
|
|
|
|
0008d 74 2c je SHORT $LN3@JitEmitRip
|
|
|
|
|
0008f c7 44 24 20 00
|
|
|
|
|
00 00 00 mov DWORD PTR [rsp+32], 0
|
|
|
|
|
00097 41 b9 09 00 00
|
|
|
|
|
00 mov r9d, 9
|
|
|
|
|
00095 4c 8d 45 08 lea r8, QWORD PTR RawData$[rbp]
|
|
|
|
|
00099 ba 0c 00 00 00 mov edx, 12
|
|
|
|
|
0009e 48 8b 8d 38 01
|
|
|
|
|
0009d 4c 8d 45 08 lea r8, QWORD PTR RawData$[rbp]
|
|
|
|
|
000a1 ba 0c 00 00 00 mov edx, 12
|
|
|
|
|
000a6 48 8b 8d 38 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
|
000a5 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXK@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
000aa 48 89 85 48 01
|
|
|
|
|
00 00 mov QWORD PTR tv78[rbp], rax
|
|
|
|
|
000b1 eb 0b jmp SHORT $LN4@JitEmitRip
|
|
|
|
|
000ad e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
000b2 48 89 85 48 01
|
|
|
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
|
|
|
000b9 eb 0b jmp SHORT $LN4@JitEmitRip
|
|
|
|
|
$LN3@JitEmitRip:
|
|
|
|
|
000b3 48 c7 85 48 01
|
|
|
|
|
000bb 48 c7 85 48 01
|
|
|
|
|
00 00 00 00 00
|
|
|
|
|
00 mov QWORD PTR tv78[rbp], 0
|
|
|
|
|
00 mov QWORD PTR tv79[rbp], 0
|
|
|
|
|
$LN4@JitEmitRip:
|
|
|
|
|
000be 48 8b 85 48 01
|
|
|
|
|
00 00 mov rax, QWORD PTR tv78[rbp]
|
|
|
|
|
000c5 48 89 85 18 01
|
|
|
|
|
000c6 48 8b 85 48 01
|
|
|
|
|
00 00 mov rax, QWORD PTR tv79[rbp]
|
|
|
|
|
000cd 48 89 85 18 01
|
|
|
|
|
00 00 mov QWORD PTR $T4[rbp], rax
|
|
|
|
|
000cc 48 8b 85 18 01
|
|
|
|
|
000d4 48 8b 85 18 01
|
|
|
|
|
00 00 mov rax, QWORD PTR $T4[rbp]
|
|
|
|
|
000d3 48 89 45 38 mov QWORD PTR Link$[rbp], rax
|
|
|
|
|
000db 48 89 45 38 mov QWORD PTR Link$[rbp], rax
|
|
|
|
|
|
|
|
|
|
; 20 : *(PINT32)&Link->RawData[3] = RipDelta;
|
|
|
|
|
|
|
|
|
|
000d7 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000dc 48 6b c0 03 imul rax, rax, 3
|
|
|
|
|
000e0 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000e4 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
000e8 8b 95 88 01 00
|
|
|
|
|
000df b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000e4 48 6b c0 03 imul rax, rax, 3
|
|
|
|
|
000e8 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000ec 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
000f0 8b 95 88 01 00
|
|
|
|
|
00 mov edx, DWORD PTR RipDelta$[rbp]
|
|
|
|
|
000ee 89 14 08 mov DWORD PTR [rax+rcx], edx
|
|
|
|
|
000f6 89 14 08 mov DWORD PTR [rax+rcx], edx
|
|
|
|
|
|
|
|
|
|
; 21 : RtlCopyMemory(&Link->RawData[7], Data, 2);
|
|
|
|
|
|
|
|
|
|
000f1 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000f6 48 6b c0 07 imul rax, rax, 7
|
|
|
|
|
000fa 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000fe 48 03 41 20 add rax, QWORD PTR [rcx+32]
|
|
|
|
|
00102 41 b8 02 00 00
|
|
|
|
|
000f9 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000fe 48 6b c0 07 imul rax, rax, 7
|
|
|
|
|
00102 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00106 48 03 41 20 add rax, QWORD PTR [rcx+32]
|
|
|
|
|
0010a 41 b8 02 00 00
|
|
|
|
|
00 mov r8d, 2
|
|
|
|
|
00108 48 8b 95 90 01
|
|
|
|
|
00110 48 8b 95 90 01
|
|
|
|
|
00 00 mov rdx, QWORD PTR Data$[rbp]
|
|
|
|
|
0010f 48 8b c8 mov rcx, rax
|
|
|
|
|
00112 e8 00 00 00 00 call memcpy
|
|
|
|
|
00117 48 8b c8 mov rcx, rax
|
|
|
|
|
0011a e8 00 00 00 00 call memcpy
|
|
|
|
|
|
|
|
|
|
; 22 : XedDecode(&Link->XedInstruction, Link->RawData, Link->RawDataSize);
|
|
|
|
|
|
|
|
|
|
00117 48 8b 45 38 mov rax, QWORD PTR Link$[rbp]
|
|
|
|
|
0011b 48 83 c0 30 add rax, 48 ; 00000030H
|
|
|
|
|
0011f 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00123 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
|
|
|
0011f 48 8b 45 38 mov rax, QWORD PTR Link$[rbp]
|
|
|
|
|
00123 48 83 c0 30 add rax, 48 ; 00000030H
|
|
|
|
|
00127 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
0012b 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
|
|
|
0012f 48 8b c8 mov rcx, rax
|
|
|
|
|
00132 e8 00 00 00 00 call xed_decode
|
|
|
|
|
0012b 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
|
|
|
0012f 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00133 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
|
|
|
00137 48 8b c8 mov rcx, rax
|
|
|
|
|
0013a e8 00 00 00 00 call xed_decode
|
|
|
|
|
|
|
|
|
|
; 23 : NcAppendToBlock(Block, Link);
|
|
|
|
|
|
|
|
|
|
00137 48 8b 55 38 mov rdx, QWORD PTR Link$[rbp]
|
|
|
|
|
0013b 48 8b 8d 80 01
|
|
|
|
|
0013f 48 8b 55 38 mov rdx, QWORD PTR Link$[rbp]
|
|
|
|
|
00143 48 8b 8d 80 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
|
|
|
00142 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
|
0014a e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
|
|
|
|
|
|
; 24 : return TRUE;
|
|
|
|
|
|
|
|
|
|
00147 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
0014f b8 01 00 00 00 mov eax, 1
|
|
|
|
|
|
|
|
|
|
; 25 : }
|
|
|
|
|
|
|
|
|
|
0014c 8b f8 mov edi, eax
|
|
|
|
|
0014e 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
|
|
|
00152 48 8d 15 00 00
|
|
|
|
|
00154 8b f8 mov edi, eax
|
|
|
|
|
00156 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
|
|
|
|
0015a 48 8d 15 00 00
|
|
|
|
|
00 00 lea rdx, OFFSET FLAT:?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcFrameData
|
|
|
|
|
00159 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
|
|
|
0015e 8b c7 mov eax, edi
|
|
|
|
|
00160 48 8b 8d 50 01
|
|
|
|
|
00161 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
|
|
|
00166 8b c7 mov eax, edi
|
|
|
|
|
00168 48 8b 8d 50 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
|
|
|
00167 48 33 cd xor rcx, rbp
|
|
|
|
|
0016a e8 00 00 00 00 call __security_check_cookie
|
|
|
|
|
0016f 48 8d a5 68 01
|
|
|
|
|
0016f 48 33 cd xor rcx, rbp
|
|
|
|
|
00172 e8 00 00 00 00 call __security_check_cookie
|
|
|
|
|
00177 48 8d a5 68 01
|
|
|
|
|
00 00 lea rsp, QWORD PTR [rbp+360]
|
|
|
|
|
00176 5f pop rdi
|
|
|
|
|
00177 5d pop rbp
|
|
|
|
|
00178 c3 ret 0
|
|
|
|
|
0017e 5f pop rdi
|
|
|
|
|
0017f 5d pop rbp
|
|
|
|
|
00180 c3 ret 0
|
|
|
|
|
?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ENDP ; JitEmitRipRelativeMovW
|
|
|
|
|
_TEXT ENDS
|
|
|
|
|
; COMDAT text$x
|
|
|
|
@ -954,7 +958,7 @@ RawData$ = 8
|
|
|
|
|
Link$ = 56
|
|
|
|
|
$T4 = 280
|
|
|
|
|
$T5 = 312
|
|
|
|
|
tv78 = 328
|
|
|
|
|
tv79 = 328
|
|
|
|
|
__$ArrayPad$ = 336
|
|
|
|
|
Block$ = 384
|
|
|
|
|
RipDelta$ = 392
|
|
|
|
@ -965,7 +969,7 @@ Data$ = 400
|
|
|
|
|
0000a 55 push rbp
|
|
|
|
|
0000b 57 push rdi
|
|
|
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
|
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
|
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
|
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
|
|
|
00019 48 8b 8d 38 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
@ -983,7 +987,7 @@ RawData$ = 8
|
|
|
|
|
Link$ = 56
|
|
|
|
|
$T4 = 280
|
|
|
|
|
$T5 = 312
|
|
|
|
|
tv78 = 328
|
|
|
|
|
tv79 = 328
|
|
|
|
|
__$ArrayPad$ = 336
|
|
|
|
|
Block$ = 384
|
|
|
|
|
RipDelta$ = 392
|
|
|
|
@ -994,7 +998,7 @@ Data$ = 400
|
|
|
|
|
0000a 55 push rbp
|
|
|
|
|
0000b 57 push rdi
|
|
|
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
|
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
|
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
|
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
|
|
|
00019 48 8b 8d 38 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
@ -1013,7 +1017,7 @@ RawData$ = 8
|
|
|
|
|
Link$ = 56
|
|
|
|
|
$T4 = 280
|
|
|
|
|
$T5 = 312
|
|
|
|
|
tv78 = 328
|
|
|
|
|
tv79 = 328
|
|
|
|
|
__$ArrayPad$ = 336
|
|
|
|
|
Block$ = 384
|
|
|
|
|
RipDelta$ = 392
|
|
|
|
@ -1028,15 +1032,15 @@ $LN6:
|
|
|
|
|
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
|
|
|
0000e 55 push rbp
|
|
|
|
|
0000f 57 push rdi
|
|
|
|
|
00010 48 81 ec 88 01
|
|
|
|
|
00 00 sub rsp, 392 ; 00000188H
|
|
|
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
|
|
|
00010 48 81 ec 98 01
|
|
|
|
|
00 00 sub rsp, 408 ; 00000198H
|
|
|
|
|
00017 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
|
|
|
0001c 48 8b fc mov rdi, rsp
|
|
|
|
|
0001f b9 62 00 00 00 mov ecx, 98 ; 00000062H
|
|
|
|
|
0001f b9 66 00 00 00 mov ecx, 102 ; 00000066H
|
|
|
|
|
00024 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
|
|
|
00029 f3 ab rep stosd
|
|
|
|
|
0002b 48 8b 8c 24 a8
|
|
|
|
|
01 00 00 mov rcx, QWORD PTR [rsp+424]
|
|
|
|
|
0002b 48 8b 8c 24 b8
|
|
|
|
|
01 00 00 mov rcx, QWORD PTR [rsp+440]
|
|
|
|
|
00033 48 8b 05 00 00
|
|
|
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
|
|
|
0003a 48 33 c5 xor rax, rbp
|
|
|
|
@ -1068,92 +1072,94 @@ $LN6:
|
|
|
|
|
00 00 mov QWORD PTR $T5[rbp], rax
|
|
|
|
|
00089 48 83 bd 38 01
|
|
|
|
|
00 00 00 cmp QWORD PTR $T5[rbp], 0
|
|
|
|
|
00091 74 24 je SHORT $LN3@JitEmitRip
|
|
|
|
|
00093 41 b9 0a 00 00
|
|
|
|
|
00091 74 2c je SHORT $LN3@JitEmitRip
|
|
|
|
|
00093 c7 44 24 20 00
|
|
|
|
|
00 00 00 mov DWORD PTR [rsp+32], 0
|
|
|
|
|
0009b 41 b9 0a 00 00
|
|
|
|
|
00 mov r9d, 10
|
|
|
|
|
00099 4c 8d 45 08 lea r8, QWORD PTR RawData$[rbp]
|
|
|
|
|
0009d ba 0c 00 00 00 mov edx, 12
|
|
|
|
|
000a2 48 8b 8d 38 01
|
|
|
|
|
000a1 4c 8d 45 08 lea r8, QWORD PTR RawData$[rbp]
|
|
|
|
|
000a5 ba 0c 00 00 00 mov edx, 12
|
|
|
|
|
000aa 48 8b 8d 38 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
|
000a9 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXK@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
000ae 48 89 85 48 01
|
|
|
|
|
00 00 mov QWORD PTR tv78[rbp], rax
|
|
|
|
|
000b5 eb 0b jmp SHORT $LN4@JitEmitRip
|
|
|
|
|
000b1 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
|
000b6 48 89 85 48 01
|
|
|
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
|
|
|
000bd eb 0b jmp SHORT $LN4@JitEmitRip
|
|
|
|
|
$LN3@JitEmitRip:
|
|
|
|
|
000b7 48 c7 85 48 01
|
|
|
|
|
000bf 48 c7 85 48 01
|
|
|
|
|
00 00 00 00 00
|
|
|
|
|
00 mov QWORD PTR tv78[rbp], 0
|
|
|
|
|
00 mov QWORD PTR tv79[rbp], 0
|
|
|
|
|
$LN4@JitEmitRip:
|
|
|
|
|
000c2 48 8b 85 48 01
|
|
|
|
|
00 00 mov rax, QWORD PTR tv78[rbp]
|
|
|
|
|
000c9 48 89 85 18 01
|
|
|
|
|
000ca 48 8b 85 48 01
|
|
|
|
|
00 00 mov rax, QWORD PTR tv79[rbp]
|
|
|
|
|
000d1 48 89 85 18 01
|
|
|
|
|
00 00 mov QWORD PTR $T4[rbp], rax
|
|
|
|
|
000d0 48 8b 85 18 01
|
|
|
|
|
000d8 48 8b 85 18 01
|
|
|
|
|
00 00 mov rax, QWORD PTR $T4[rbp]
|
|
|
|
|
000d7 48 89 45 38 mov QWORD PTR Link$[rbp], rax
|
|
|
|
|
000df 48 89 45 38 mov QWORD PTR Link$[rbp], rax
|
|
|
|
|
|
|
|
|
|
; 8 : *(PINT32)&Link->RawData[2] = RipDelta;
|
|
|
|
|
|
|
|
|
|
000db b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000e0 48 6b c0 02 imul rax, rax, 2
|
|
|
|
|
000e4 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000e8 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
000ec 8b 95 88 01 00
|
|
|
|
|
000e3 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000e8 48 6b c0 02 imul rax, rax, 2
|
|
|
|
|
000ec 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
000f0 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
|
|
|
000f4 8b 95 88 01 00
|
|
|
|
|
00 mov edx, DWORD PTR RipDelta$[rbp]
|
|
|
|
|
000f2 89 14 08 mov DWORD PTR [rax+rcx], edx
|
|
|
|
|
000fa 89 14 08 mov DWORD PTR [rax+rcx], edx
|
|
|
|
|
|
|
|
|
|
; 9 : RtlCopyMemory(&Link->RawData[6], Data, 4);
|
|
|
|
|
|
|
|
|
|
000f5 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
000fa 48 6b c0 06 imul rax, rax, 6
|
|
|
|
|
000fe 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00102 48 03 41 20 add rax, QWORD PTR [rcx+32]
|
|
|
|
|
00106 41 b8 04 00 00
|
|
|
|
|
000fd b8 01 00 00 00 mov eax, 1
|
|
|
|
|
00102 48 6b c0 06 imul rax, rax, 6
|
|
|
|
|
00106 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
0010a 48 03 41 20 add rax, QWORD PTR [rcx+32]
|
|
|
|
|
0010e 41 b8 04 00 00
|
|
|
|
|
00 mov r8d, 4
|
|
|
|
|
0010c 48 8b 95 90 01
|
|
|
|
|
00114 48 8b 95 90 01
|
|
|
|
|
00 00 mov rdx, QWORD PTR Data$[rbp]
|
|
|
|
|
00113 48 8b c8 mov rcx, rax
|
|
|
|
|
00116 e8 00 00 00 00 call memcpy
|
|
|
|
|
0011b 48 8b c8 mov rcx, rax
|
|
|
|
|
0011e e8 00 00 00 00 call memcpy
|
|
|
|
|
|
|
|
|
|
; 10 : XedDecode(&Link->XedInstruction, Link->RawData, Link->RawDataSize);
|
|
|
|
|
|
|
|
|
|
0011b 48 8b 45 38 mov rax, QWORD PTR Link$[rbp]
|
|
|
|
|
0011f 48 83 c0 30 add rax, 48 ; 00000030H
|
|
|
|
|
00123 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00127 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
|
|
|
00123 48 8b 45 38 mov rax, QWORD PTR Link$[rbp]
|
|
|
|
|
00127 48 83 c0 30 add rax, 48 ; 00000030H
|
|
|
|
|
0012b 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
0012f 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
|
|
|
00133 48 8b c8 mov rcx, rax
|
|
|
|
|
00136 e8 00 00 00 00 call xed_decode
|
|
|
|
|
0012f 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
|
|
|
00133 48 8b 4d 38 mov rcx, QWORD PTR Link$[rbp]
|
|
|
|
|
00137 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
|
|
|
0013b 48 8b c8 mov rcx, rax
|
|
|
|
|
0013e e8 00 00 00 00 call xed_decode
|
|
|
|
|
|
|
|
|
|
; 11 : NcAppendToBlock(Block, Link);
|
|
|
|
|
|
|
|
|
|
0013b 48 8b 55 38 mov rdx, QWORD PTR Link$[rbp]
|
|
|
|
|
0013f 48 8b 8d 80 01
|
|
|
|
|
00143 48 8b 55 38 mov rdx, QWORD PTR Link$[rbp]
|
|
|
|
|
00147 48 8b 8d 80 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
|
|
|
00146 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
|
0014e e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
|
|
|
|
|
|
; 12 : return TRUE;
|
|
|
|
|
|
|
|
|
|
0014b b8 01 00 00 00 mov eax, 1
|
|
|
|
|
00153 b8 01 00 00 00 mov eax, 1
|
|
|
|
|
|
|
|
|
|
; 13 : }
|
|
|
|
|
|
|
|
|
|
00150 8b f8 mov edi, eax
|
|
|
|
|
00152 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
|
|
|
00156 48 8d 15 00 00
|
|
|
|
|
00158 8b f8 mov edi, eax
|
|
|
|
|
0015a 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
|
|
|
|
0015e 48 8d 15 00 00
|
|
|
|
|
00 00 lea rdx, OFFSET FLAT:?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z$rtcFrameData
|
|
|
|
|
0015d e8 00 00 00 00 call _RTC_CheckStackVars
|
|
|
|
|
00162 8b c7 mov eax, edi
|
|
|
|
|
00164 48 8b 8d 50 01
|
|
|
|
|
00165 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
|
|
|
0016a 8b c7 mov eax, edi
|
|
|
|
|
0016c 48 8b 8d 50 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
|
|
|
0016b 48 33 cd xor rcx, rbp
|
|
|
|
|
0016e e8 00 00 00 00 call __security_check_cookie
|
|
|
|
|
00173 48 8d a5 68 01
|
|
|
|
|
00173 48 33 cd xor rcx, rbp
|
|
|
|
|
00176 e8 00 00 00 00 call __security_check_cookie
|
|
|
|
|
0017b 48 8d a5 68 01
|
|
|
|
|
00 00 lea rsp, QWORD PTR [rbp+360]
|
|
|
|
|
0017a 5f pop rdi
|
|
|
|
|
0017b 5d pop rbp
|
|
|
|
|
0017c c3 ret 0
|
|
|
|
|
00182 5f pop rdi
|
|
|
|
|
00183 5d pop rbp
|
|
|
|
|
00184 c3 ret 0
|
|
|
|
|
?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ENDP ; JitEmitRipRelativeMovD
|
|
|
|
|
_TEXT ENDS
|
|
|
|
|
; COMDAT text$x
|
|
|
|
@ -1162,7 +1168,7 @@ RawData$ = 8
|
|
|
|
|
Link$ = 56
|
|
|
|
|
$T4 = 280
|
|
|
|
|
$T5 = 312
|
|
|
|
|
tv78 = 328
|
|
|
|
|
tv79 = 328
|
|
|
|
|
__$ArrayPad$ = 336
|
|
|
|
|
Block$ = 384
|
|
|
|
|
RipDelta$ = 392
|
|
|
|
@ -1173,7 +1179,7 @@ Data$ = 400
|
|
|
|
|
0000a 55 push rbp
|
|
|
|
|
0000b 57 push rdi
|
|
|
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
|
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
|
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
|
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
|
|
|
00019 48 8b 8d 38 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
@ -1191,7 +1197,7 @@ RawData$ = 8
|
|
|
|
|
Link$ = 56
|
|
|
|
|
$T4 = 280
|
|
|
|
|
$T5 = 312
|
|
|
|
|
tv78 = 328
|
|
|
|
|
tv79 = 328
|
|
|
|
|
__$ArrayPad$ = 336
|
|
|
|
|
Block$ = 384
|
|
|
|
|
RipDelta$ = 392
|
|
|
|
@ -1202,7 +1208,7 @@ Data$ = 400
|
|
|
|
|
0000a 55 push rbp
|
|
|
|
|
0000b 57 push rdi
|
|
|
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
|
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
|
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
|
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
|
|
|
00019 48 8b 8d 38 01
|
|
|
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
|
|
|