Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- D3D:00428189
- D3D:00428189 var_104 = byte ptr -104h
- D3D:00428189 var_102 = word ptr -102h
- D3D:00428189 var_F9 = byte ptr -0F9h
- D3D:00428189 var_F4 = dword ptr -0F4h
- D3D:00428189 var_C8 = byte ptr -0C8h
- D3D:00428189 var_4 = dword ptr -4
- D3D:00428189
- D3D:00428189 push ebp
- D3D:0042818A mov ebp, esp
- D3D:0042818C sub esp, 104h
- D3D:00428192 push ebx
- D3D:00428193 push esi
- D3D:00428194 push edi
- D3D:00428195 mov esi, ecx
- D3D:00428197 push esi
- D3D:00428198 push offset sub_42C997
- D3D:0042819D lea eax, [esi+2Ch]
- D3D:004281A0 push eax
- D3D:004281A1 call ds:KeInitializeDpc
- D3D:004281A7 and byte ptr [esi+1F4h], 0
- D3D:004281AE lea eax, [esi+1FCh]
- D3D:004281B4 mov [esi+200h], eax
- D3D:004281BA mov [eax], eax
- D3D:004281BC mov edi, 100h
- D3D:004281C1 push edi
- D3D:004281C2 lea eax, [ebp+var_104]
- D3D:004281C8 push eax
- D3D:004281C9 xor ebx, ebx
- D3D:004281CB push 0
- D3D:004281CD inc ebx
- D3D:004281CE push ebx
- D3D:004281CF push 4
- D3D:004281D1 mov byte ptr [esi+1F6h], 4
- D3D:004281D8 mov [esi+1F8h], ebx
- D3D:004281DE call ds:HalGetBusData
- D3D:004281E4 cmp eax, edi
- D3D:004281E6 jnz loc_4282D5
- D3D:004281EC cmp [ebp+var_F9], 3
- D3D:004281F3 jnz loc_4282D5
- D3D:004281F9 cmp [ebp+var_102], 150h
- D3D:00428202 jnz short loc_428210
- D3D:00428204 push offset aMpNoVideoOutpu ; "MP: No video output because you are usi"...
- D3D:00428209 call DbgPrint
- D3D:0042820E pop ecx
- D3D:0042820F int 3 ; Trap to Debugger
- D3D:00428210
- D3D:00428210 loc_428210: ; CODE XREF: sub_428189+79j
- D3D:00428210 xor edi, edi
- D3D:00428212 xor eax, eax
- D3D:00428214
- D3D:00428214 loc_428214: ; CODE XREF: sub_428189+A0j
- D3D:00428214 mov ecx, [ebp+eax*4+var_F4]
- D3D:0042821B and ecx, 0FFFFFFF0h
- D3D:0042821E mov [esi+eax*8], ecx
- D3D:00428221 mov [esi+eax*8+4], edi
- D3D:00428225 inc eax
- D3D:00428226 cmp eax, 3
- D3D:00428229 jb short loc_428214
- D3D:0042822B mov ecx, esi
- D3D:0042822D call sub_4282DC
- D3D:00428232 test eax, eax
- D3D:00428234 jz loc_4282D5
- D3D:0042823A mov ecx, esi
- D3D:0042823C call sub_428364
- D3D:00428241 test eax, eax
- D3D:00428243 jz loc_4282D5
- D3D:00428249 movzx eax, [ebp+var_C8]
- D3D:00428250 lea ecx, [ebp+var_4]
- D3D:00428253 push ecx
- D3D:00428254 push eax
- D3D:00428255 push eax
- D3D:00428256 push edi
- D3D:00428257 push 5
- D3D:00428259 call ds:HalGetInterruptVector
- D3D:0042825F push ebx
- D3D:00428260 push edi
- D3D:00428261 push [ebp+var_4]
- D3D:00428264 push [ebp+var_4]
- D3D:00428267 push eax
- D3D:00428268 push esi
- D3D:00428269 push offset loc_42C95E
- D3D:0042826E lea eax, [esi+28h]
- D3D:00428271 push eax
- D3D:00428272 call ds:IoConnectInterrupt
- D3D:00428278 test eax, eax
- D3D:0042827A jl short loc_4282D5
- D3D:0042827C lea eax, [esi+1A4h]
- D3D:00428282 push ebx
- D3D:00428283 push eax
- D3D:00428284 mov dword ptr [eax], offset sub_42CFE4
- D3D:0042828A mov [esi+1A8h], edi
- D3D:00428290 call ds:HalRegisterShutdownNotification
- D3D:00428296 mov ecx, esi
- D3D:00428298 call sub_42839B
- D3D:0042829D test eax, eax
- D3D:0042829F jz short loc_4282D5
- D3D:004282A1 mov ecx, esi
- D3D:004282A3 call sub_428465
- D3D:004282A8 test eax, eax
- D3D:004282AA jz short loc_4282D5
- D3D:004282AC mov ecx, esi
- D3D:004282AE mov [esi+48h], ebx
- D3D:004282B1 call sub_428583
- D3D:004282B6 test eax, eax
- D3D:004282B8 jz short loc_4282D5
- D3D:004282BA cmp dword ptr [esi+64h], 0A1h
- D3D:004282C1 jz short loc_4282D1
- D3D:004282C3 mov ecx, esi
- D3D:004282C5 mov dword ptr [esi+70h], 17D78400h
- D3D:004282CC call sub_428923
- D3D:004282D1
- D3D:004282D1 loc_4282D1: ; CODE XREF: sub_428189+138j
- D3D:004282D1 mov eax, ebx
- D3D:004282D3 jmp short loc_4282D7
- D3D:004282D5 ; ---------------------------------------------------------------------------
- D3D:004282D5
- D3D:004282D5 loc_4282D5: ; CODE XREF: sub_428189+5Dj
- D3D:004282D5 ; sub_428189+6Aj ...
- D3D:004282D5 xor eax, eax
- D3D:004282D7
- D3D:004282D7 loc_4282D7: ; CODE XREF: sub_428189+14Aj
- D3D:004282D7 pop edi
- D3D:004282D8 pop esi
- D3D:004282D9 pop ebx
- D3D:004282DA leave
- D3D:004282DB retn
- D3D:004282DB sub_428189 endp
- D3D:004282DB
- D3D:004282DC
- D3D:004282DC ; =============== S U B R O U T I N E =======================================
- D3D:004282DC
- D3D:004282DC
- D3D:004282DC sub_4282DC proc near ; CODE XREF: sub_428189+A4p
- D3D:004282DC push ebx
- D3D:004282DD mov ebx, ds:MmMapIoSpace
- D3D:004282E3 push ebp
- D3D:004282E4 push esi
- D3D:004282E5 push edi
- D3D:004282E6 mov edi, ecx
- D3D:004282E8 mov eax, [edi]
- D3D:004282EA push 0
- D3D:004282EC mov esi, 1000h
- D3D:004282F1 add eax, 1804h
- D3D:004282F6 push esi
- D3D:004282F7 push eax
- D3D:004282F8 call ebx ; MmMapIoSpace
- D3D:004282FA test eax, eax
- D3D:004282FC jz short loc_428355
- D3D:004282FE mov ecx, [eax]
- D3D:00428300 mov ebp, ds:MmUnmapIoSpace
- D3D:00428306 push esi
- D3D:00428307 or ecx, 4
- D3D:0042830A push eax
- D3D:0042830B mov [eax], ecx
- D3D:0042830D call ebp ; MmUnmapIoSpace
- D3D:0042830F mov eax, [edi]
- D3D:00428311 push 0
- D3D:00428313 add eax, 600140h
- D3D:00428318 push esi
- D3D:00428319 push eax
- D3D:0042831A call ebx ; MmMapIoSpace
- D3D:0042831C test eax, eax
- D3D:0042831E jz short loc_428355
- D3D:00428320 push esi
- D3D:00428321 push eax
- D3D:00428322 mov dword ptr [eax], 0
- D3D:00428328 call ebp ; MmUnmapIoSpace
- D3D:0042832A mov eax, [edi]
- D3D:0042832C push 0
- D3D:0042832E add eax, 9140h
- D3D:00428333 push esi
- D3D:00428334 push eax
- D3D:00428335 call ebx ; MmMapIoSpace
- D3D:00428337 test eax, eax
- D3D:00428339 jz short loc_428355
- D3D:0042833B push esi
- D3D:0042833C push eax
- D3D:0042833D mov dword ptr [eax], 0
- D3D:00428343 call ebp ; MmUnmapIoSpace
- D3D:00428345 mov eax, [edi]
- D3D:00428347 push 0
- D3D:00428349 push 1000000h
- D3D:0042834E push eax
- D3D:0042834F call ebx ; MmMapIoSpace
- D3D:00428351 test eax, eax
- D3D:00428353 jnz short loc_428359
- D3D:00428355
- D3D:00428355 loc_428355: ; CODE XREF: sub_4282DC+20j
- D3D:00428355 ; sub_4282DC+42j ...
- D3D:00428355 xor eax, eax
- D3D:00428357 jmp short loc_42835F
- D3D:00428359 ; ---------------------------------------------------------------------------
- D3D:00428359
- D3D:00428359 loc_428359: ; CODE XREF: sub_4282DC+77j
- D3D:00428359 mov [edi+18h], eax
- D3D:0042835C xor eax, eax
- D3D:0042835E inc eax
- D3D:0042835F
- D3D:0042835F loc_42835F: ; CODE XREF: sub_4282DC+7Bj
- D3D:0042835F pop edi
- D3D:00428360 pop esi
- D3D:00428361 pop ebp
- D3D:00428362 pop ebx
- D3D:00428363 retn
- D3D:00428363 sub_4282DC endp
- D3D:00428363
Advertisement
Add Comment
Please, Sign In to add comment