.text:000000014040FC80 KiRaiseAssertion proc near              ; CODE XREF: KiRaiseAssertionShadow+69↓j
.text:000000014040FC80                                         ; KiRaiseAssertionShadow+71↓j
.text:000000014040FC80                                         ; DATA XREF: ...
.text:000000014040FC80
.text:000000014040FC80 var_E8          = byte ptr  0
.text:000000014040FC80 var_s4          = dword ptr  4
.text:000000014040FC80 arg_0           = word ptr  8
.text:000000014040FC80
.text:000000014040FC80                 sub     qword ptr [rsp+var_E8], 2
.text:000000014040FC85                 cmp     [rsp+arg_0], 23h ; '#'
.text:000000014040FC8B                 jnz     short loc_14040FC92
.text:000000014040FC8D                 and     [rsp+var_s4], 0
.text:000000014040FC92
.text:000000014040FC92 loc_14040FC92:                          ; CODE XREF: KiRaiseAssertion+B↑j
.text:000000014040FC92                 sub     rsp, 8
.text:000000014040FC96                 push    rbp
.text:000000014040FC97                 sub     rsp, 158h
.text:000000014040FC9E                 lea     rbp, [rsp+80h]
.text:000000014040FCA6                 mov     byte ptr [rbp-55h], 1
.text:000000014040FCAA                 mov     [rbp-50h], rax
.text:000000014040FCAE                 mov     [rbp-48h], rcx
.text:000000014040FCB2                 mov     [rbp-40h], rdx
.text:000000014040FCB6                 mov     [rbp-38h], r8
.text:000000014040FCBA                 mov     [rbp-30h], r9
.text:000000014040FCBE                 mov     [rbp-28h], r10
.text:000000014040FCC2                 mov     [rbp-20h], r11
.text:000000014040FCC6                 test    byte ptr [rbp+0F0h], 1
.text:000000014040FCCD                 jnz     short loc_14040FCFC
.text:000000014040FCCF                 lfence
.text:000000014040FCD2                 test    byte ptr gs:278h, 1
.text:000000014040FCDB                 jnz     short loc_14040FCE5
.text:000000014040FCDD                 lfence
.text:000000014040FCE0                 jmp     loc_14040FF3B
.text:000000014040FCE5 ; ---------------------------------------------------------------------------
.text:000000014040FCE5
.text:000000014040FCE5 loc_14040FCE5:                          ; CODE XREF: KiRaiseAssertion+5B↑j
.text:000000014040FCE5                 movzx   eax, byte ptr gs:27Ah
.text:000000014040FCEE                 mov     ecx, 48h ; 'H'
.text:000000014040FCF3                 xor     edx, edx
.text:000000014040FCF5                 wrmsr
.text:000000014040FCF7                 jmp     loc_14040FF3B
.text:000000014040FCFC ; ---------------------------------------------------------------------------
.text:000000014040FCFC
.text:000000014040FCFC loc_14040FCFC:                          ; CODE XREF: KiRaiseAssertion+4D↑j
.text:000000014040FCFC                 test    cs:KiKvaShadow, 1
.text:000000014040FD03                 jnz     short loc_14040FD08
.text:000000014040FD05                 swapgs
.text:000000014040FD08
.text:000000014040FD08 loc_14040FD08:                          ; CODE XREF: KiRaiseAssertion+83↑j
.text:000000014040FD08                 lfence
.text:000000014040FD0B                 mov     r10, gs:188h
.text:000000014040FD14                 mov     rcx, gs:188h
.text:000000014040FD1D                 mov     rcx, [rcx+220h]
.text:000000014040FD24                 mov     rcx, [rcx+9E0h]
.text:000000014040FD2B                 mov     gs:270h, rcx
.text:000000014040FD34                 mov     cl, gs:850h
.text:000000014040FD3C                 mov     gs:851h, cl
.text:000000014040FD44                 mov     cl, gs:278h
.text:000000014040FD4C                 mov     gs:852h, cl
.text:000000014040FD54                 movzx   eax, byte ptr gs:27Bh
.text:000000014040FD5D                 cmp     gs:27Ah, al
.text:000000014040FD65                 jz      short loc_14040FD78
.text:000000014040FD67                 mov     gs:27Ah, al
.text:000000014040FD6F                 mov     ecx, 48h ; 'H'
.text:000000014040FD74                 xor     edx, edx
.text:000000014040FD76                 wrmsr
.text:000000014040FD78
.text:000000014040FD78 loc_14040FD78:                          ; CODE XREF: KiRaiseAssertion+E5↑j
.text:000000014040FD78                 movzx   edx, byte ptr gs:278h
.text:000000014040FD81                 test    edx, 8
.text:000000014040FD87                 jz      short loc_14040FDA0
.text:000000014040FD89                 mov     eax, 1
.text:000000014040FD8E                 xor     edx, edx
.text:000000014040FD90                 mov     ecx, 49h ; 'I'
.text:000000014040FD95                 wrmsr
.text:000000014040FD97                 movzx   edx, byte ptr gs:278h
.text:000000014040FDA0
.text:000000014040FDA0 loc_14040FDA0:                          ; CODE XREF: KiRaiseAssertion+107↑j
.text:000000014040FDA0                 test    edx, 2
.text:000000014040FDA6                 jz      loc_14040FED1
.text:000000014040FDAC                 call    loc_14040FEBF
.text:000000014040FDB1
.text:000000014040FDB1 loc_14040FDB1:                          ; CODE XREF: KiRaiseAssertion+13E↓p
.text:000000014040FDB1                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDC3
.text:000000014040FDB5                 call    loc_14040FEC8
.text:000000014040FDBA
.text:000000014040FDBA loc_14040FDBA:                          ; CODE XREF: KiRaiseAssertion+147↓p
.text:000000014040FDBA                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDCC
.text:000000014040FDBE                 call    loc_14040FDB1
.text:000000014040FDC3
.text:000000014040FDC3 loc_14040FDC3:                          ; CODE XREF: KiRaiseAssertion+150↓p
.text:000000014040FDC3                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDD5
.text:000000014040FDC7                 call    loc_14040FDBA
.text:000000014040FDCC
.text:000000014040FDCC loc_14040FDCC:                          ; CODE XREF: KiRaiseAssertion+159↓p
.text:000000014040FDCC                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDDE
.text:000000014040FDD0                 call    loc_14040FDC3
.text:000000014040FDD5
.text:000000014040FDD5 loc_14040FDD5:                          ; CODE XREF: KiRaiseAssertion+162↓p
.text:000000014040FDD5                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDE7
.text:000000014040FDD9                 call    loc_14040FDCC
.text:000000014040FDDE
.text:000000014040FDDE loc_14040FDDE:                          ; CODE XREF: KiRaiseAssertion+16B↓p
.text:000000014040FDDE                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDF0
.text:000000014040FDE2                 call    loc_14040FDD5
.text:000000014040FDE7
.text:000000014040FDE7 loc_14040FDE7:                          ; CODE XREF: KiRaiseAssertion+174↓p
.text:000000014040FDE7                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDF9
.text:000000014040FDEB                 call    loc_14040FDDE
.text:000000014040FDF0
.text:000000014040FDF0 loc_14040FDF0:                          ; CODE XREF: KiRaiseAssertion+17D↓p
.text:000000014040FDF0                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE02
.text:000000014040FDF4                 call    loc_14040FDE7
.text:000000014040FDF9
.text:000000014040FDF9 loc_14040FDF9:                          ; CODE XREF: KiRaiseAssertion+186↓p
.text:000000014040FDF9                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE0B
.text:000000014040FDFD                 call    loc_14040FDF0
.text:000000014040FE02
.text:000000014040FE02 loc_14040FE02:                          ; CODE XREF: KiRaiseAssertion+18F↓p
.text:000000014040FE02                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE14
.text:000000014040FE06                 call    loc_14040FDF9
.text:000000014040FE0B
.text:000000014040FE0B loc_14040FE0B:                          ; CODE XREF: KiRaiseAssertion+198↓p
.text:000000014040FE0B                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE1D
.text:000000014040FE0F                 call    loc_14040FE02
.text:000000014040FE14
.text:000000014040FE14 loc_14040FE14:                          ; CODE XREF: KiRaiseAssertion+1A1↓p
.text:000000014040FE14                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE26
.text:000000014040FE18                 call    loc_14040FE0B
.text:000000014040FE1D
.text:000000014040FE1D loc_14040FE1D:                          ; CODE XREF: KiRaiseAssertion+1AA↓p
.text:000000014040FE1D                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE2F
.text:000000014040FE21                 call    loc_14040FE14
.text:000000014040FE26
.text:000000014040FE26 loc_14040FE26:                          ; CODE XREF: KiRaiseAssertion+1B3↓p
.text:000000014040FE26                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE38
.text:000000014040FE2A                 call    loc_14040FE1D
.text:000000014040FE2F
.text:000000014040FE2F loc_14040FE2F:                          ; CODE XREF: KiRaiseAssertion+1BC↓p
.text:000000014040FE2F                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE41
.text:000000014040FE33                 call    loc_14040FE26
.text:000000014040FE38
.text:000000014040FE38 loc_14040FE38:                          ; CODE XREF: KiRaiseAssertion+1C5↓p
.text:000000014040FE38                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE4A
.text:000000014040FE3C                 call    loc_14040FE2F
.text:000000014040FE41
.text:000000014040FE41 loc_14040FE41:                          ; CODE XREF: KiRaiseAssertion+1CE↓p
.text:000000014040FE41                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE53
.text:000000014040FE45                 call    loc_14040FE38
.text:000000014040FE4A
.text:000000014040FE4A loc_14040FE4A:                          ; CODE XREF: KiRaiseAssertion+1D7↓p
.text:000000014040FE4A                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE5C
.text:000000014040FE4E                 call    loc_14040FE41
.text:000000014040FE53
.text:000000014040FE53 loc_14040FE53:                          ; CODE XREF: KiRaiseAssertion+1E0↓p
.text:000000014040FE53                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE65
.text:000000014040FE57                 call    loc_14040FE4A
.text:000000014040FE5C
.text:000000014040FE5C loc_14040FE5C:                          ; CODE XREF: KiRaiseAssertion+1E9↓p
.text:000000014040FE5C                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE6E
.text:000000014040FE60                 call    loc_14040FE53
.text:000000014040FE65
.text:000000014040FE65 loc_14040FE65:                          ; CODE XREF: KiRaiseAssertion+1F2↓p
.text:000000014040FE65                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE77
.text:000000014040FE69                 call    loc_14040FE5C
.text:000000014040FE6E
.text:000000014040FE6E loc_14040FE6E:                          ; CODE XREF: KiRaiseAssertion+1FB↓p
.text:000000014040FE6E                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE80
.text:000000014040FE72                 call    loc_14040FE65
.text:000000014040FE77
.text:000000014040FE77 loc_14040FE77:                          ; CODE XREF: KiRaiseAssertion+204↓p
.text:000000014040FE77                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE89
.text:000000014040FE7B                 call    loc_14040FE6E
.text:000000014040FE80
.text:000000014040FE80 loc_14040FE80:                          ; CODE XREF: KiRaiseAssertion+20D↓p
.text:000000014040FE80                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE92
.text:000000014040FE84                 call    loc_14040FE77
.text:000000014040FE89
.text:000000014040FE89 loc_14040FE89:                          ; CODE XREF: KiRaiseAssertion+216↓p
.text:000000014040FE89                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FE9B
.text:000000014040FE8D                 call    loc_14040FE80
.text:000000014040FE92
.text:000000014040FE92 loc_14040FE92:                          ; CODE XREF: KiRaiseAssertion+21F↓p
.text:000000014040FE92                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FEA4
.text:000000014040FE96                 call    loc_14040FE89
.text:000000014040FE9B
.text:000000014040FE9B loc_14040FE9B:                          ; CODE XREF: KiRaiseAssertion+228↓p
.text:000000014040FE9B                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FEAD
.text:000000014040FE9F                 call    loc_14040FE92
.text:000000014040FEA4
.text:000000014040FEA4 loc_14040FEA4:                          ; CODE XREF: KiRaiseAssertion+231↓p
.text:000000014040FEA4                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FEB6
.text:000000014040FEA8                 call    loc_14040FE9B
.text:000000014040FEAD
.text:000000014040FEAD loc_14040FEAD:                          ; CODE XREF: KiRaiseAssertion+23A↓p
.text:000000014040FEAD                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FEBF
.text:000000014040FEB1                 call    loc_14040FEA4
.text:000000014040FEB6
.text:000000014040FEB6 loc_14040FEB6:                          ; CODE XREF: KiRaiseAssertion+243↓p
.text:000000014040FEB6                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FEC8
.text:000000014040FEBA                 call    loc_14040FEAD
.text:000000014040FEBF
.text:000000014040FEBF loc_14040FEBF:                          ; CODE XREF: KiRaiseAssertion+12C↑p
.text:000000014040FEBF                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDB1
.text:000000014040FEC3                 call    loc_14040FEB6
.text:000000014040FEC8
.text:000000014040FEC8 loc_14040FEC8:                          ; CODE XREF: KiRaiseAssertion+135↑p
.text:000000014040FEC8                 add     rsp, 8          ; qword ptr [rsp] = loc_14040FDBA
.text:000000014040FECC                 mov     eax, 0DADAh
.text:000000014040FED1
.text:000000014040FED1 loc_14040FED1:                          ; CODE XREF: KiRaiseAssertion+126↑j
.text:000000014040FED1                 lfence
.text:000000014040FED4                 mov     byte ptr gs:853h, 0
.text:000000014040FEDD                 test    byte ptr [r10+3], 80h
.text:000000014040FEE2                 jz      short loc_14040FF26
.text:000000014040FEE4                 mov     ecx, 0C0000102h
.text:000000014040FEE9                 rdmsr
.text:000000014040FEEB                 shl     rdx, 20h
.text:000000014040FEEF                 or      rax, rdx
.text:000000014040FEF2                 cmp     rax, cs:MmUserProbeAddress
.text:000000014040FEF9                 cmovnb  rax, cs:MmUserProbeAddress
.text:000000014040FF01                 cmp     [r10+0F0h], rax
.text:000000014040FF08                 jz      short loc_14040FF26
.text:000000014040FF0A                 mov     rdx, [r10+1F0h]
.text:000000014040FF11                 bts     dword ptr [r10+74h], 8
.text:000000014040FF17                 dec     word ptr [r10+1E6h]
.text:000000014040FF1F                 mov     [rdx+80h], rax
.text:000000014040FF26
.text:000000014040FF26 loc_14040FF26:                          ; CODE XREF: KiRaiseAssertion+262↑j
.text:000000014040FF26                                         ; KiRaiseAssertion+288↑j
.text:000000014040FF26                 test    byte ptr [r10+3], 3
.text:000000014040FF2B                 mov     word ptr [rbp+80h], 0
.text:000000014040FF34                 jz      short loc_14040FF3B
.text:000000014040FF36                 call    KiSaveDebugRegisterState
.text:000000014040FF3B
.text:000000014040FF3B loc_14040FF3B:                          ; CODE XREF: KiRaiseAssertion+60↑j
.text:000000014040FF3B                                         ; KiRaiseAssertion+77↑j ...
.text:000000014040FF3B                 cld
.text:000000014040FF3C                 stmxcsr dword ptr [rbp-54h]
.text:000000014040FF40                 ldmxcsr dword ptr gs:180h
.text:000000014040FF49                 movaps  xmmword ptr [rbp-10h], xmm0
.text:000000014040FF4D                 movaps  xmmword ptr [rbp+0], xmm1
.text:000000014040FF51                 movaps  xmmword ptr [rbp+10h], xmm2
.text:000000014040FF55                 movaps  xmmword ptr [rbp+20h], xmm3
.text:000000014040FF59                 movaps  xmmword ptr [rbp+30h], xmm4
.text:000000014040FF5D                 movaps  xmmword ptr [rbp+40h], xmm5
.text:000000014040FF61                 test    byte ptr cs:KeSmapEnabled, 0FFh
.text:000000014040FF68                 jz      short loc_14040FF76
.text:000000014040FF6A                 test    byte ptr [rbp+0F0h], 1
.text:000000014040FF71                 jz      short loc_14040FF76
.text:000000014040FF73                 stac
.text:000000014040FF76
.text:000000014040FF76 loc_14040FF76:                          ; CODE XREF: KiRaiseAssertion+2E8↑j
.text:000000014040FF76                                         ; KiRaiseAssertion+2F1↑j
.text:000000014040FF76                 test    dword ptr [rbp+0F8h], 200h
.text:000000014040FF80                 jz      short loc_14040FF83
.text:000000014040FF82                 sti
.text:000000014040FF83
.text:000000014040FF83 loc_14040FF83:                          ; CODE XREF: KiRaiseAssertion+300↑j
.text:000000014040FF83                 mov     ecx, 0C0000420h
.text:000000014040FF88                 xor     edx, edx
.text:000000014040FF8A                 mov     r8, [rbp+0E8h]
.text:000000014040FF91                 call    KiExceptionDispatch
.text:000000014040FF96                 nop
.text:000000014040FF97                 retn
.text:000000014040FF97 KiRaiseAssertion endp ; sp-analysis failed
