Advertisement
SerityW

Untitled

Jan 3rd, 2021
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.57 KB | None | 0 0
  1. ;disregard the numbers before the :, its just for original reference
  2. ; all this shit should go somewhere else in free space
  3. ; then 44ba46 should be a 'jmp' to :angelCheck's address
  4.  
  5.  
  6. :angelCheck: cmp dword [eax], 0xc ; angel check, jump if pass
  7. 44ba49: jz :passedAngel
  8. 44ba4b: inc ecx ; ecx = ecx + 1
  9. 44ba4c: add eax, 0x4 ; eax = eax + 4
  10. 44ba4f: cmp ecx, 0x7 ; if ecx < 7, then...
  11. 44ba52: jl :angelCheck ; check a diff stack for angels
  12. 44ba54: xor eax, eax ; eax = 0. none of them were angels. eax & ecx swap functionalities here
  13. 44ba56: mov ecx, edx ; ecx = 4-byte contents of 1884A0
  14. :aaCheck1: cmp dword [ecx], 0xd ; archangel check, jump if pass
  15. 44ba5b: jz :passedAngel
  16. 44ba5d: inc eax ; eax = eax + 1
  17. 44ba5e: add ecx, 0x4 ; ecx = ecx + 4
  18. 44ba61: cmp eax, 0x7 ; if ecx < 7, then...
  19. 44ba64: jl :aaCheck1 ; check a diff stack for archangels
  20. 44ba66: jmp :devilCheck ; you have no angels or archangels in your team
  21.  
  22. :passedAngel: mov eax, 0xc ; set type as 0xC (angel)
  23. 44ba6d: xor ecx, ecx ; zero ecx
  24. :aaCheck2: cmp dword [edx], 0xd ; secondary archangel check, jump if pass
  25. 44ba72: jz :passedArchangel
  26. 44ba74: inc ecx ; ecx = ecx + 1
  27. 44ba75: add edx, 0x4 ; edx = edx + 4 (edx was contents of 1884A0)
  28. 44ba78: cmp ecx, 0x7 ; if ecx < 7, then...
  29. 44ba7b: jl :aaCheck2 ; check a diff stack for archangels
  30. 44ba7d: jmp :anyAngel ; we have angels but no archangels
  31.  
  32. :passedArchangel: mov eax, 0xd ; set type as 0xC (archangel)
  33. :anyAngel: lea ecx, [eax*8+0x0] ; ecx = TYPE*8
  34. 44ba8b: sub ecx, eax ; ecx = ecx - TYPE (...so TYPE*7??)
  35. 44ba8d: lea edx, [eax+ecx*4] ; edx = TYPE + <ecx*4> (...so edx = TYPE*29?)
  36. 44ba90: mov eax, [0x6747b0] ; eax = 4-byte contents of 0x6747B0 <$2747B0>
  37. 44ba95: mov ecx, [0x6a58a4] ; ecx = 4-byte contents of 0x6A58A4 <$2A58A4>
  38. 44ba9b: mov eax, [eax+edx*4+0x18] ; eax = eax + (edx*4) + 0x18
  39. 44ba9f: lea edx, [ebp-0x40] ; if ebp is 1884B0 then edx = "188470"
  40. 44baa2: push eax ; store eax
  41. 44baa3: push ecx ; store ecx
  42. 44baa4: push edx ; store edx
  43. 44baa5: call dword 0x50c7f0
  44. 44baaa: add esp, 0xc
  45. 44baad: mov ecx, [0x63a60c]
  46. 44bab3: mov byte [ebp-0x4], 0x3
  47. 44bab7: push ecx
  48. 44bab8: push 0x0
  49. 44baba: push eax
  50. 44babb: lea ecx, [ebp-0x5c]
  51. 44babe: call dword 0x41b1b0
  52. 44bac3: push 0x1
  53. 44bac5: lea ecx, [ebp-0x40]
  54. 44bac8: mov byte [ebp-0x4], 0x0
  55. 44bacc: call dword 0x404130
  56. <jmp 44bad1 if no stack, if they do stack just delete this line so it automatically goes to devilCheck>
  57.  
  58. ;
  59. ;
  60. ;
  61.  
  62. :devilCheck: mov edx, [ebp-0x10] ; if ebp is 1884B0, then edx = contents of 1884A0
  63. 44ba42: xor ecx, ecx ; ecx = 0
  64. 44ba44: mov eax, edx ; eax = 4-byte contents of 1884A0 <056FF275>
  65. :devilLoop: cmp dword [eax], 0xDEVIL_ID ; devil check, jump if pass
  66. 44ba49: jz :passedDevil
  67. 44ba4b: inc ecx ; ecx = ecx + 1
  68. 44ba4c: add eax, 0x4 ; eax = eax + 4
  69. 44ba4f: cmp ecx, 0x7 ; if ecx < 7, then...
  70. 44ba52: jl :devilLoop ; check a diff stack for devils
  71. 44ba54: xor eax, eax ; eax = 0. none of them were devils. eax & ecx swap functionalities here
  72. 44ba56: mov ecx, edx ; ecx = 4-byte contents of 1884A0
  73. :adCheck1: cmp dword [ecx], 0xARCHDEVIL_ID ; archdevil check, jump if pass
  74. 44ba5b: jz :passedDevil
  75. 44ba5d: inc eax ; eax = eax + 1
  76. 44ba5e: add ecx, 0x4 ; ecx = ecx + 4
  77. 44ba61: cmp eax, 0x7 ; if ecx < 7, then...
  78. 44ba64: jl :adCheck1 ; check a diff stack for archdevils
  79. 44ba66: jmp 44bad1 ; you have no devils or archdevils in your team
  80.  
  81. :passedDevil: mov eax, 0xDEVIL_ID ; set type as 0x (devil)
  82. 44ba6d: xor ecx, ecx ; zero ecx
  83. :adCheck2: cmp dword [edx], 0xARCHDEVIL_ID ; secondary archdevil check, jump if pass
  84. 44ba72: jz :passedArchdevil
  85. 44ba74: inc ecx ; ecx = ecx + 1
  86. 44ba75: add edx, 0x4 ; edx = edx + 4 (edx was contents of 1884A0)
  87. 44ba78: cmp ecx, 0x7 ; if ecx < 7, then...
  88. 44ba7b: jl :adCheck2: ; check a diff stack for archdevils
  89. 44ba7d: jmp :anyDevil ; we have devils but no archdevils
  90.  
  91. :passedArchdevil: mov eax, 0xARCHDEVIL_ID ; set type as 0x (archdevil)
  92. :anyDevil: lea ecx, [eax*8+0x0] ; ecx = TYPE*8
  93. 44ba8b: sub ecx, eax ; ecx = ecx - TYPE (...so TYPE*7??)
  94. 44ba8d: lea edx, [eax+ecx*4] ; edx = TYPE + <ecx*4> (...so edx = TYPE*29?)
  95. 44ba90: mov eax, [0x6747b0] ; eax = 4-byte contents of 0x6747B0 <$2747B0>
  96. 44ba95: mov ecx, [0x6a58a4] ; ecx = 4-byte contents of 0x6A58A4 <$2A58A4>
  97. 44ba9b: mov eax, [eax+edx*4+0x18] ; eax = eax + (edx*4) + 0x18
  98. 44ba9f: lea edx, [ebp-0x40] ; if ebp is 1884B0 then edx = "188470"
  99. 44baa2: push eax ; store eax
  100. 44baa3: push ecx ; store ecx
  101. 44baa4: push edx ; store edx
  102. 44baa5: call dword 0x50c7f0
  103. readme 44baaa: add esp, 0xc ; idk what this is but bone dragon has it too??? i'm worried tho lol. MAYBE DELETE THIS LINE??????
  104. 44baad: mov ecx, [0x63a60c]
  105. 44bab3: mov byte [ebp-0x4], 0xBUFF_ID_OF_LUCK ; i'm assuming ??? since 0x3 was angel buff, 0x4 was b.dragon debuff. might just be 0x3 again but idk...
  106. 44bab7: push ecx
  107. 44bab8: push 0x0
  108. 44baba: push eax
  109. 44babb: lea ecx, [ebp-0x5c]
  110. 44babe: call dword 0x41b1b0
  111. 44bac3: push 0x1
  112. 44bac5: lea ecx, [ebp-0x40]
  113. 44bac8: mov byte [ebp-0x4], 0x0
  114. 44bacc: call dword 0x404130
  115. jmp 44bad1
  116.  
  117.  
  118.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement