Guest User

Untitled

a guest
Jan 31st, 2013
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.86 KB | None | 0 0
  1. D3D:00428189
  2. D3D:00428189 var_104 = byte ptr -104h
  3. D3D:00428189 var_102 = word ptr -102h
  4. D3D:00428189 var_F9 = byte ptr -0F9h
  5. D3D:00428189 var_F4 = dword ptr -0F4h
  6. D3D:00428189 var_C8 = byte ptr -0C8h
  7. D3D:00428189 var_4 = dword ptr -4
  8. D3D:00428189
  9. D3D:00428189 push ebp
  10. D3D:0042818A mov ebp, esp
  11. D3D:0042818C sub esp, 104h
  12. D3D:00428192 push ebx
  13. D3D:00428193 push esi
  14. D3D:00428194 push edi
  15. D3D:00428195 mov esi, ecx
  16. D3D:00428197 push esi
  17. D3D:00428198 push offset sub_42C997
  18. D3D:0042819D lea eax, [esi+2Ch]
  19. D3D:004281A0 push eax
  20. D3D:004281A1 call ds:KeInitializeDpc
  21. D3D:004281A7 and byte ptr [esi+1F4h], 0
  22. D3D:004281AE lea eax, [esi+1FCh]
  23. D3D:004281B4 mov [esi+200h], eax
  24. D3D:004281BA mov [eax], eax
  25. D3D:004281BC mov edi, 100h
  26. D3D:004281C1 push edi
  27. D3D:004281C2 lea eax, [ebp+var_104]
  28. D3D:004281C8 push eax
  29. D3D:004281C9 xor ebx, ebx
  30. D3D:004281CB push 0
  31. D3D:004281CD inc ebx
  32. D3D:004281CE push ebx
  33. D3D:004281CF push 4
  34. D3D:004281D1 mov byte ptr [esi+1F6h], 4
  35. D3D:004281D8 mov [esi+1F8h], ebx
  36. D3D:004281DE call ds:HalGetBusData
  37. D3D:004281E4 cmp eax, edi
  38. D3D:004281E6 jnz loc_4282D5
  39. D3D:004281EC cmp [ebp+var_F9], 3
  40. D3D:004281F3 jnz loc_4282D5
  41. D3D:004281F9 cmp [ebp+var_102], 150h
  42. D3D:00428202 jnz short loc_428210
  43. D3D:00428204 push offset aMpNoVideoOutpu ; "MP: No video output because you are usi"...
  44. D3D:00428209 call DbgPrint
  45. D3D:0042820E pop ecx
  46. D3D:0042820F int 3 ; Trap to Debugger
  47. D3D:00428210
  48. D3D:00428210 loc_428210: ; CODE XREF: sub_428189+79j
  49. D3D:00428210 xor edi, edi
  50. D3D:00428212 xor eax, eax
  51. D3D:00428214
  52. D3D:00428214 loc_428214: ; CODE XREF: sub_428189+A0j
  53. D3D:00428214 mov ecx, [ebp+eax*4+var_F4]
  54. D3D:0042821B and ecx, 0FFFFFFF0h
  55. D3D:0042821E mov [esi+eax*8], ecx
  56. D3D:00428221 mov [esi+eax*8+4], edi
  57. D3D:00428225 inc eax
  58. D3D:00428226 cmp eax, 3
  59. D3D:00428229 jb short loc_428214
  60. D3D:0042822B mov ecx, esi
  61. D3D:0042822D call sub_4282DC
  62. D3D:00428232 test eax, eax
  63. D3D:00428234 jz loc_4282D5
  64. D3D:0042823A mov ecx, esi
  65. D3D:0042823C call sub_428364
  66. D3D:00428241 test eax, eax
  67. D3D:00428243 jz loc_4282D5
  68. D3D:00428249 movzx eax, [ebp+var_C8]
  69. D3D:00428250 lea ecx, [ebp+var_4]
  70. D3D:00428253 push ecx
  71. D3D:00428254 push eax
  72. D3D:00428255 push eax
  73. D3D:00428256 push edi
  74. D3D:00428257 push 5
  75. D3D:00428259 call ds:HalGetInterruptVector
  76. D3D:0042825F push ebx
  77. D3D:00428260 push edi
  78. D3D:00428261 push [ebp+var_4]
  79. D3D:00428264 push [ebp+var_4]
  80. D3D:00428267 push eax
  81. D3D:00428268 push esi
  82. D3D:00428269 push offset loc_42C95E
  83. D3D:0042826E lea eax, [esi+28h]
  84. D3D:00428271 push eax
  85. D3D:00428272 call ds:IoConnectInterrupt
  86. D3D:00428278 test eax, eax
  87. D3D:0042827A jl short loc_4282D5
  88. D3D:0042827C lea eax, [esi+1A4h]
  89. D3D:00428282 push ebx
  90. D3D:00428283 push eax
  91. D3D:00428284 mov dword ptr [eax], offset sub_42CFE4
  92. D3D:0042828A mov [esi+1A8h], edi
  93. D3D:00428290 call ds:HalRegisterShutdownNotification
  94. D3D:00428296 mov ecx, esi
  95. D3D:00428298 call sub_42839B
  96. D3D:0042829D test eax, eax
  97. D3D:0042829F jz short loc_4282D5
  98. D3D:004282A1 mov ecx, esi
  99. D3D:004282A3 call sub_428465
  100. D3D:004282A8 test eax, eax
  101. D3D:004282AA jz short loc_4282D5
  102. D3D:004282AC mov ecx, esi
  103. D3D:004282AE mov [esi+48h], ebx
  104. D3D:004282B1 call sub_428583
  105. D3D:004282B6 test eax, eax
  106. D3D:004282B8 jz short loc_4282D5
  107. D3D:004282BA cmp dword ptr [esi+64h], 0A1h
  108. D3D:004282C1 jz short loc_4282D1
  109. D3D:004282C3 mov ecx, esi
  110. D3D:004282C5 mov dword ptr [esi+70h], 17D78400h
  111. D3D:004282CC call sub_428923
  112. D3D:004282D1
  113. D3D:004282D1 loc_4282D1: ; CODE XREF: sub_428189+138j
  114. D3D:004282D1 mov eax, ebx
  115. D3D:004282D3 jmp short loc_4282D7
  116. D3D:004282D5 ; ---------------------------------------------------------------------------
  117. D3D:004282D5
  118. D3D:004282D5 loc_4282D5: ; CODE XREF: sub_428189+5Dj
  119. D3D:004282D5 ; sub_428189+6Aj ...
  120. D3D:004282D5 xor eax, eax
  121. D3D:004282D7
  122. D3D:004282D7 loc_4282D7: ; CODE XREF: sub_428189+14Aj
  123. D3D:004282D7 pop edi
  124. D3D:004282D8 pop esi
  125. D3D:004282D9 pop ebx
  126. D3D:004282DA leave
  127. D3D:004282DB retn
  128. D3D:004282DB sub_428189 endp
  129. D3D:004282DB
  130. D3D:004282DC
  131. D3D:004282DC ; =============== S U B R O U T I N E =======================================
  132. D3D:004282DC
  133. D3D:004282DC
  134. D3D:004282DC sub_4282DC proc near ; CODE XREF: sub_428189+A4p
  135. D3D:004282DC push ebx
  136. D3D:004282DD mov ebx, ds:MmMapIoSpace
  137. D3D:004282E3 push ebp
  138. D3D:004282E4 push esi
  139. D3D:004282E5 push edi
  140. D3D:004282E6 mov edi, ecx
  141. D3D:004282E8 mov eax, [edi]
  142. D3D:004282EA push 0
  143. D3D:004282EC mov esi, 1000h
  144. D3D:004282F1 add eax, 1804h
  145. D3D:004282F6 push esi
  146. D3D:004282F7 push eax
  147. D3D:004282F8 call ebx ; MmMapIoSpace
  148. D3D:004282FA test eax, eax
  149. D3D:004282FC jz short loc_428355
  150. D3D:004282FE mov ecx, [eax]
  151. D3D:00428300 mov ebp, ds:MmUnmapIoSpace
  152. D3D:00428306 push esi
  153. D3D:00428307 or ecx, 4
  154. D3D:0042830A push eax
  155. D3D:0042830B mov [eax], ecx
  156. D3D:0042830D call ebp ; MmUnmapIoSpace
  157. D3D:0042830F mov eax, [edi]
  158. D3D:00428311 push 0
  159. D3D:00428313 add eax, 600140h
  160. D3D:00428318 push esi
  161. D3D:00428319 push eax
  162. D3D:0042831A call ebx ; MmMapIoSpace
  163. D3D:0042831C test eax, eax
  164. D3D:0042831E jz short loc_428355
  165. D3D:00428320 push esi
  166. D3D:00428321 push eax
  167. D3D:00428322 mov dword ptr [eax], 0
  168. D3D:00428328 call ebp ; MmUnmapIoSpace
  169. D3D:0042832A mov eax, [edi]
  170. D3D:0042832C push 0
  171. D3D:0042832E add eax, 9140h
  172. D3D:00428333 push esi
  173. D3D:00428334 push eax
  174. D3D:00428335 call ebx ; MmMapIoSpace
  175. D3D:00428337 test eax, eax
  176. D3D:00428339 jz short loc_428355
  177. D3D:0042833B push esi
  178. D3D:0042833C push eax
  179. D3D:0042833D mov dword ptr [eax], 0
  180. D3D:00428343 call ebp ; MmUnmapIoSpace
  181. D3D:00428345 mov eax, [edi]
  182. D3D:00428347 push 0
  183. D3D:00428349 push 1000000h
  184. D3D:0042834E push eax
  185. D3D:0042834F call ebx ; MmMapIoSpace
  186. D3D:00428351 test eax, eax
  187. D3D:00428353 jnz short loc_428359
  188. D3D:00428355
  189. D3D:00428355 loc_428355: ; CODE XREF: sub_4282DC+20j
  190. D3D:00428355 ; sub_4282DC+42j ...
  191. D3D:00428355 xor eax, eax
  192. D3D:00428357 jmp short loc_42835F
  193. D3D:00428359 ; ---------------------------------------------------------------------------
  194. D3D:00428359
  195. D3D:00428359 loc_428359: ; CODE XREF: sub_4282DC+77j
  196. D3D:00428359 mov [edi+18h], eax
  197. D3D:0042835C xor eax, eax
  198. D3D:0042835E inc eax
  199. D3D:0042835F
  200. D3D:0042835F loc_42835F: ; CODE XREF: sub_4282DC+7Bj
  201. D3D:0042835F pop edi
  202. D3D:00428360 pop esi
  203. D3D:00428361 pop ebp
  204. D3D:00428362 pop ebx
  205. D3D:00428363 retn
  206. D3D:00428363 sub_4282DC endp
  207. D3D:00428363
Advertisement
Add Comment
Please, Sign In to add comment