Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.59 KB | None | 0 0
  1. text:00720640 ; CSkidmarks::Render(void)
  2. .text:00720640 _ZN10CSkidmarks6RenderEv proc near ; CODE XREF: NewTileRendererCB(RwCamera *,int,int,void *):loc_53DE61↑p
  3. .text:00720640 ; RenderEffects(void)+5↑p
  4. .text:00720640
  5. .text:00720640 var_1D = byte ptr -1Dh
  6. .text:00720640 var_1C = dword ptr -1Ch
  7. .text:00720640 var_18 = dword ptr -18h
  8. .text:00720640 var_14 = dword ptr -14h
  9. .text:00720640 var_10 = dword ptr -10h
  10. .text:00720640 var_C = dword ptr -0Ch
  11. .text:00720640 var_8 = dword ptr -8
  12. .text:00720640 var_4 = dword ptr -4
  13. .text:00720640
  14. .text:00720640 000 sub esp, 20h
  15. .text:00720643 020 mov eax, _RwEngineInstance
  16. .text:00720648 020 push ebx
  17. .text:00720649 024 push ebp
  18. .text:0072064A 028 push esi
  19. .text:0072064B 02C push edi
  20. .text:0072064C 030 push 0
  21. .text:0072064E 034 push 8
  22. .text:00720650 038 call dword ptr [eax+20h]
  23. .text:00720653 038 mov ecx, _RwEngineInstance
  24. .text:00720659 038 push 1
  25. .text:0072065B 03C push 0Ch
  26. .text:0072065D 040 call dword ptr [ecx+20h]
  27. .text:00720660 040 mov edx, _RwEngineInstance
  28. .text:00720666 040 push 5
  29. .text:00720668 044 push 0Ah
  30. .text:0072066A 048 call dword ptr [edx+20h]
  31. .text:0072066D 048 mov eax, _RwEngineInstance
  32. .text:00720672 048 push 6
  33. .text:00720674 04C push 0Bh
  34. .text:00720676 050 call dword ptr [eax+20h]
  35. .text:00720679 050 mov ecx, _RwEngineInstance
  36. .text:0072067F 050 push 1
  37. .text:00720681 054 push 0Eh
  38. .text:00720683 058 call dword ptr [ecx+20h]
  39. .text:00720686 058 mov edx, _texParticleskid
  40. .text:0072068C 058 mov eax, [edx]
  41. .text:0072068E 058 mov ecx, _RwEngineInstance
  42. .text:00720694 058 push eax
  43. .text:00720695 05C push 1
  44. .text:00720697 060 call dword ptr [ecx+20h]
  45. .text:0072069A 060 mov esi, offset unk_C79BF4
  46. .text:0072069F 060 add esp, 30h
  47. .text:007206A2 030 mov [esp+30h+var_10], esi
  48. .text:007206A6
  49. .text:007206A6 loc_7206A6: ; CODE XREF: CSkidmarks::Render(void)+2A6↓j
  50. .text:007206A6 030 mov bl, [esi+0Ah]
  51. .text:007206A9 030 test bl, bl
  52. .text:007206AB 030 mov [esp+30h+var_1D], bl
  53. .text:007206AF 030 jz loc_7208D6
  54. .text:007206B5 030 mov bp, [esi+8]
  55. .text:007206B9 030 cmp bp, 1
  56. .text:007206BD 030 jl loc_7208D6
  57. .text:007206C3 030 mov eax, [esi+4]
  58. .text:007206C6 030 cmp eax, 3 ; switch 4 cases
  59. .text:007206C9 030 mov byte ptr [esp+30h+var_1C], 0
  60. .text:007206CE 030 mov byte ptr [esp+30h+var_1C+1], 0
  61. .text:007206D3 030 mov byte ptr [esp+30h+var_1C+2], 0
  62. .text:007206D8 030 ja short loc_72070A ; default
  63. .text:007206DA 030 jmp ds:off_720920[eax*4] ; switch jump
  64. .text:007206E1 ; ---------------------------------------------------------------------------
  65. .text:007206E1
  66. .text:007206E1 loc_7206E1: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
  67. .text:007206E1 ; DATA XREF: .text:off_720920↓o
  68. .text:007206E1 030 mov edx, dword_8D5D84 ; jumptable 007206DA case 3
  69. .text:007206E7 030 jmp short loc_720706
  70. .text:007206E9 ; ---------------------------------------------------------------------------
  71. .text:007206E9
  72. .text:007206E9 loc_7206E9: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
  73. .text:007206E9 ; DATA XREF: .text:off_720920↓o
  74. .text:007206E9 030 mov eax, dword_8D5D80 ; jumptable 007206DA case 1
  75. .text:007206EE 030 mov [esp+30h+var_1C], eax
  76. .text:007206F2 030 jmp short loc_72070A ; default
  77. .text:007206F4 ; ---------------------------------------------------------------------------
  78. .text:007206F4
  79. .text:007206F4 loc_7206F4: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
  80. .text:007206F4 ; DATA XREF: .text:off_720920↓o
  81. .text:007206F4 030 mov ecx, dword_8D5D7C ; jumptable 007206DA case 2
  82. .text:007206FA 030 mov [esp+30h+var_1C], ecx
  83. .text:007206FE 030 jmp short loc_72070A ; default
  84. .text:00720700 ; ---------------------------------------------------------------------------
  85. .text:00720700
  86. .text:00720700 loc_720700: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
  87. .text:00720700 ; DATA XREF: .text:off_720920↓o
  88. .text:00720700 030 mov edx, dword_8D5D78 ; jumptable 007206DA case 0
  89. .text:00720706
  90. .text:00720706 loc_720706: ; CODE XREF: CSkidmarks::Render(void)+A7↑j
  91. .text:00720706 030 mov [esp+30h+var_1C], edx
  92. .text:0072070A
  93. .text:0072070A loc_72070A: ; CODE XREF: CSkidmarks::Render(void)+98↑j
  94. .text:0072070A ; CSkidmarks::Render(void)+B2↑j
  95. .text:0072070A ; CSkidmarks::Render(void)+BE↑j
  96. .text:0072070A 030 fld ds:fOne ; default
  97. .text:00720710 030 movzx eax, byte ptr [esp+30h+var_1C]
  98. .text:00720715 030 fsub _daylightLightingState
  99. .text:0072071B 030 mov [esp+30h+var_14], eax
  100. .text:0072071F 030 fmul ds:flt_858CC8
  101. .text:00720725 030 fadd ds:flt_858EE8 ; 0.4f
  102. .text:0072072B 030 fild [esp+30h+var_14]
  103. .text:0072072F 030 fmul st, st(1)
  104. .text:00720731 030 call __ftol2
  105. .text:00720736 030 movzx ecx, byte ptr [esp+30h+var_1C+1]
  106. .text:0072073B 030 mov [esp+30h+var_14], ecx
  107. .text:0072073F 030 mov byte ptr [esp+30h+var_1C], al
  108. .text:00720743 030 fild [esp+30h+var_14]
  109. .text:00720747 030 fmul st, st(1)
  110. .text:00720749 030 call __ftol2
  111. .text:0072074E 030 movzx edx, byte ptr [esp+30h+var_1C+2]
  112. .text:00720753 030 mov [esp+30h+var_14], edx
  113. .text:00720757 030 mov byte ptr [esp+30h+var_1C+1], al
  114. .text:0072075B 030 fild [esp+30h+var_14]
  115. .text:0072075F 030 fmul st, st(1)
  116. .text:00720761 030 call __ftol2
  117. .text:00720766 030 fstp st
  118. .text:00720768 030 cmp bl, 1
  119. .text:0072076B 030 mov cl, al
  120. .text:0072076D 030 jz short loc_720791
  121. .text:0072076F 030 mov edx, _ZN6CTimer22m_snTimeInMillisecondsE ; CTimer::m_snTimeInMilliseconds
  122. .text:00720775 030 cmp edx, [esi-4]
  123. .text:00720778 030 jb short loc_720791
  124. .text:0072077A 030 mov edi, [esi]
  125. .text:0072077C 030 mov eax, edi
  126. .text:0072077E 030 sub eax, edx
  127. .text:00720780 030 mov edx, [esi-4]
  128. .text:00720783 030 imul eax, 0FFh
  129. .text:00720789 030 sub edi, edx
  130. .text:0072078B 030 xor edx, edx
  131. .text:0072078D 030 div edi
  132. .text:0072078F 030 jmp short loc_720796
  133. .text:00720791 ; ---------------------------------------------------------------------------
  134. .text:00720791
  135. .text:00720791 loc_720791: ; CODE XREF: CSkidmarks::Render(void)+12D↑j
  136. .text:00720791 ; CSkidmarks::Render(void)+138↑j
  137. .text:00720791 030 mov eax, 0FFh
  138. .text:00720796
  139. .text:00720796 loc_720796: ; CODE XREF: CSkidmarks::Render(void)+14F↑j
  140. .text:00720796 030 movsx edx, bp
  141. .text:00720799 030 xor edi, edi
  142. .text:0072079B 030 test edx, edx
  143. .text:0072079D 030 mov [esp+30h+var_14], edx
  144. .text:007207A1 030 mov [esp+30h+var_18], edi
  145. .text:007207A5 030 jl loc_720895
  146. .text:007207AB 030 movzx edx, byte ptr [esp+30h+var_1C+1]
  147. .text:007207B0 030 movsx ebx, ax
  148. .text:007207B3 030 movzx eax, byte ptr [esp+30h+var_1C]
  149. .text:007207B8 030 mov [esp+30h+var_C], eax
  150. .text:007207BC 030 movzx eax, cl
  151. .text:007207BF 030 mov [esp+30h+var_8], edx
  152. .text:007207C3 030 mov [esp+30h+var_4], eax
  153. .text:007207C7 030 lea edx, [esi-144h]
  154. .text:007207CD 030 add esi, 0FFFFFFB4h
  155. .text:007207D0 030 mov eax, offset TempVertexBuffer.objVertex.y
  156. .text:007207D5 030 jmp short loc_7207E0
  157. .text:007207D5 ; ---------------------------------------------------------------------------
  158. .text:007207D7 030 align 10h
  159. .text:007207E0
  160. .text:007207E0 loc_7207E0: ; CODE XREF: CSkidmarks::Render(void)+195↑j
  161. .text:007207E0 ; CSkidmarks::Render(void)+24B↓j
  162. .text:007207E0 030 cmp eax, offset TempVertexBuffer.objVertex.y
  163. .text:007207E5 030 mov ebp, 80h
  164. .text:007207EA 030 jz short loc_7207F9
  165. .text:007207EC 030 cmp edi, [esp+30h+var_14]
  166. .text:007207F0 030 jnz short loc_7207FB
  167. .text:007207F2 030 cmp [esp+30h+var_1D], 2
  168. .text:007207F7 030 jnz short loc_7207FB
  169. .text:007207F9
  170. .text:007207F9 loc_7207F9: ; CODE XREF: CSkidmarks::Render(void)+1AA↑j
  171. .text:007207F9 030 xor ebp, ebp
  172. .text:007207FB
  173. .text:007207FB loc_7207FB: ; CODE XREF: CSkidmarks::Render(void)+1B0↑j
  174. .text:007207FB ; CSkidmarks::Render(void)+1B7↑j
  175. .text:007207FB 030 fld dword ptr [esi-40h]
  176. .text:007207FE 030 movsx ecx, bp
  177. .text:00720801 030 fadd dword ptr [edx-8]
  178. .text:00720804 030 mov ebp, [esp+30h+var_C]
  179. .text:00720808 030 imul ecx, ebx
  180. .text:0072080B 030 fstp dword ptr [eax-4]
  181. .text:0072080E 030 fld dword ptr [esi]
  182. .text:00720810 030 fadd dword ptr [edx-4]
  183. .text:00720813 030 fstp dword ptr [eax]
  184. .text:00720815 030 fld dword ptr [edx]
  185. .text:00720817 030 fadd ds:flt_858B1C ; 0.1f
  186. .text:0072081D 030 sar ecx, 8
  187. .text:00720820 030 movsx ecx, cx
  188. .text:00720823 030 fst dword ptr [eax+4]
  189. .text:00720826 030 fild [esp+30h+var_18]
  190. .text:0072082A 030 shl ecx, 8
  191. .text:0072082D 030 or ecx, ebp
  192. .text:0072082F 030 fmul ds:flt_8729AC
  193. .text:00720835 030 mov ebp, [esp+30h+var_8]
  194. .text:00720839 030 shl ecx, 8
  195. .text:0072083C 030 or ecx, ebp
  196. .text:0072083E 030 mov ebp, [esp+30h+var_4]
  197. .text:00720842 030 fst dword ptr [eax+1Ch]
  198. .text:00720845 030 fld dword ptr [edx-8]
  199. .text:00720848 030 shl ecx, 8
  200. .text:0072084B 030 fsub dword ptr [esi-40h]
  201. .text:0072084E 030 or ecx, ebp
  202. .text:00720850 030 mov [eax+14h], ecx
  203. .text:00720853 030 mov dword ptr [eax+18h], 0
  204. .text:0072085A 030 mov [eax+38h], ecx
  205. .text:0072085D 030 mov ecx, [esp+30h+var_14]
  206. .text:00720861 030 fstp dword ptr [eax+20h]
  207. .text:00720864 030 fld dword ptr [edx-4]
  208. .text:00720867 030 inc edi
  209. .text:00720868 030 fsub dword ptr [esi]
  210. .text:0072086A 030 mov dword ptr [eax+3Ch], 3F800000h
  211. .text:00720871 030 add esi, 4
  212. .text:00720874 030 add eax, 48h
  213. .text:00720877 030 fstp dword ptr [eax-24h]
  214. .text:0072087A 030 add edx, 0Ch
  215. .text:0072087D 030 cmp edi, ecx
  216. .text:0072087F 030 fxch st(1)
  217. .text:00720881 030 fstp dword ptr [eax-20h]
  218. .text:00720884 030 mov [esp+30h+var_18], edi
  219. .text:00720888 030 fstp dword ptr [eax-8]
  220. .text:0072088B 030 jle loc_7207E0
  221. .text:00720891 030 mov esi, [esp+30h+var_10]
  222. .text:00720895
  223. .text:00720895 loc_720895: ; CODE XREF: CSkidmarks::Render(void)+165↑j
  224. .text:00720895 030 call _Z10LittleTestv ; _B73708++;
  225. .text:0072089A 030 movsx ecx, word ptr [esi+8]
  226. .text:0072089E 030 push 1 ; flags
  227. .text:007208A0 034 push 0 ; ltm
  228. .text:007208A2 038 lea edx, [ecx+ecx+2]
  229. .text:007208A6 038 push edx ; numVerts
  230. .text:007208A7 03C push offset TempVertexBuffer ; pVerts
  231. .text:007208AC 040 call _Z15RwIm3DTransformP18RxObjSpace3DVertexjP11RwMatrixTagj ; RwIm3DTransform(RxObjSpace3DVertex *,uint,RwMatrixTag *,uint)
  232. .text:007208B1 040 add esp, 10h
  233. .text:007208B4 030 test eax, eax
  234. .text:007208B6 030 jz short loc_7208D6
  235. .text:007208B8 030 movsx eax, word ptr [esi+8]
  236. .text:007208BC 030 lea eax, [eax+eax*2]
  237. .text:007208BF 030 shl eax, 1
  238. .text:007208C1 030 push eax ; numIndices
  239. .text:007208C2 034 push offset unk_C799C8 ; indices
  240. .text:007208C7 038 push 3 ; primType
  241. .text:007208C9 03C call _RwIm3DRenderIndexedPrimitive
  242. .text:007208CE 03C add esp, 0Ch
  243. .text:007208D1 030 call _Z9RwIm3DEndv ; RwIm3DEnd(void)
  244. .text:007208D6
  245. .text:007208D6 loc_7208D6: ; CODE XREF: CSkidmarks::Render(void)+6F↑j
  246. .text:007208D6 ; CSkidmarks::Render(void)+7D↑j
  247. .text:007208D6 ; CSkidmarks::Render(void)+276↑j
  248. .text:007208D6 030 add esi, 158h
  249. .text:007208DC 030 cmp esi, offset dword_C7C6F4
  250. .text:007208E2 030 mov [esp+30h+var_10], esi
  251. .text:007208E6 030 jl loc_7206A6
  252. .text:007208EC 030 mov ecx, _RwEngineInstance
  253. .text:007208F2 030 push 0
  254. .text:007208F4 034 push 0Ch
  255. .text:007208F6 038 call dword ptr [ecx+20h]
  256. .text:007208F9 038 mov edx, _RwEngineInstance
  257. .text:007208FF 038 push 1
  258. .text:00720901 03C push 8
  259. .text:00720903 040 call dword ptr [edx+20h]
  260. .text:00720906 040 mov eax, _RwEngineInstance
  261. .text:0072090B 040 push 1
  262. .text:0072090D 044 push 6
  263. .text:0072090F 048 call dword ptr [eax+20h]
  264. .text:00720912 048 add esp, 18h
  265. .text:00720915 030 pop edi
  266. .text:00720916 02C pop esi
  267. .text:00720917 028 pop ebp
  268. .text:00720918 024 pop ebx
  269. .text:00720919 020 add esp, 20h
  270. .text:0072091C 000 retn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement