Advertisement
tcyknhrabirwjyljhp

Untitled

May 11th, 2022
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. push r14
  2. push rdi
  3. push rsi
  4. push rbp
  5. push rbx
  6. sub rsp,70
  7. mov [pDebug],rcx
  8. mov rsi,rcx
  9. mov rdi,pCharacter
  10. mov rdi,[rdi]
  11. test rdi,rdi
  12. je Ending
  13. xorps xmm1,xmm1
  14. movzx eax,byte ptr[rsi+2C]
  15. cvtsi2ss xmm0,eax
  16. movss [rsi+28],xmm0
  17. comiss xmm0,xmm1
  18. je Ending
  19. movss xmm3,[fScrollSpeed]
  20. divss xmm3,[fTen]
  21. mov rax,[rdi+20] // keys
  22. test rax,rax
  23. je Ending
  24. cmp byte ptr[rax+48],1
  25. jne @f
  26. // left
  27. movss xmm0,[rsi+24] // selX
  28. addss xmm0,xmm3
  29. minss xmm0,[fMaxCat]
  30. movss [rsi+24],xmm0
  31. mov rbx,[rsi+10]
  32. add rbx,10
  33. cvtss2si ecx,xmm0
  34. mov rbx,[rbx+rcx*8]
  35. movss [rbx+20],xmm1 // selY as float
  36. mov [rbx+1C],0 // as int index
  37. cvtss2si ecx,xmm0
  38. mov [rsi+20],ecx // selCat as int
  39. @@:
  40. cmp byte ptr[rax+49],1
  41. jne @f
  42. // right
  43. movss xmm0,[rsi+24] // selX
  44. subss xmm0,xmm3
  45. maxss xmm0,xmm1
  46. movss [rsi+24],xmm0
  47. mov rbx,[rsi+10]
  48. add rbx,10
  49. cvtss2si ecx,xmm0
  50. mov rbx,[rbx+rcx*8]
  51. movss [rbx+20],xmm1 // selY as float
  52. mov [rbx+1C],0 // as int index
  53. cvtss2si ecx,xmm0
  54. mov [rsi+20],ecx // selCat as int
  55. @@:
  56. cmp byte ptr[rax+4F],1
  57. jne @f
  58. // down
  59. mov rbx,[rsi+10] // cat
  60. add rbx,10 // array 0
  61. mov ecx,dword ptr[rsi+20]
  62. mov rbx,[rbx+rcx*8]
  63. movss xmm0,[rbx+20] // selY
  64. addss xmm0,xmm3
  65. mov rcx,[rbx+8] // item
  66. mov ecx,[rcx+8] // elements
  67. dec ecx
  68. cvtsi2ss xmm2,ecx
  69. minss xmm0,xmm2
  70. movss [rbx+20],xmm0
  71. cvtss2si ecx,xmm0
  72. mov [rbx+1C],ecx // selected ID as int
  73. @@:
  74. cmp byte ptr[rax+4E],1
  75. jne @f
  76. // up
  77. mov rbx,[rsi+10] // cat
  78. add rbx,10 // array 0
  79. mov ecx,dword ptr[rsi+20]
  80. mov rbx,[rbx+rcx*8]
  81. movss xmm0,[rbx+20] // selY
  82. subss xmm0,xmm3
  83. maxss xmm0,xmm1
  84. movss [rbx+20],xmm0
  85. cvtss2si ecx,xmm0
  86. mov [rbx+1C],ecx // selected ID as int
  87. @@:
  88. cmp byte ptr[rax+5C],1
  89. jne @f
  90. // jump
  91. mov rbx,[rsi+10] // cat
  92. add rbx,10 // array 0
  93. mov ecx,dword ptr[rsi+20]
  94. mov rcx,[rbx+rcx*8]
  95. mov rdx,rdi
  96. mov r8,[rsi+8]
  97. mov r14,[rcx]
  98. mov r14,[r14+40]
  99. // selectedOption.fire(character,player)
  100. call [r14+20]
  101. @@:
  102. Ending:
  103. add rsp,70
  104. pop rbx
  105. pop rbp
  106. pop rsi
  107. pop rdi
  108. pop r14
  109. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement