Advertisement
Guest User

ещё не много чуда

a guest
Aug 27th, 2021
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.93 KB | None | 0 0
  1. .text:00088868 ; =============== S U B R O U T I N E =======================================
  2. .text:00088868
  3. .text:00088868
  4. .text:00088868 sub_88868 ; CODE XREF: sub_8892A-A↓j
  5. .text:00088868 PUSH.W {R0-R11,LR}
  6. .text:0008886C MOV.W R0, #0x150000
  7. .text:00088870 ADD R0, SP
  8. .text:00088872 BL sub_3E594
  9. .text:00088876 ADD.W R0, R0, #0x2D0000
  10. .text:0008887A MOV R1, R0
  11. .text:0008887C POP.W {R0-R11,LR}
  12. .text:00088880 PUSH.W {R0-R11,LR}
  13. .text:00088884 MOV R0, PC
  14. .text:00088886 BL sub_83284
  15. .text:0008888A POP.W {R0-R11,LR}
  16. .text:0008888E SUB SP, SP, #8
  17. .text:00088890 ADD SP, SP, #8
  18. .text:00088892 MOV R0, R0
  19. .text:00088894 MOV R0, R0
  20. .text:00088896 MOV R0, R0
  21. .text:00088898 POP {PC}
  22. .text:00088898 ; End of function sub_88868
  23. .text:00088898
  24. .text:0008889A ; ---------------------------------------------------------------------------
  25. .text:0008889A LDM R4, {R2,R4,R6,R7}
  26. .text:0008889C STRB R2, [R5,#0x14]
  27. .text:0008889C ; ---------------------------------------------------------------------------
  28. .text:0008889E DCB 0x84
  29. .text:0008889F DCB 0xEF
  30. .text:000888A0 ; ---------------------------------------------------------------------------
  31. .text:000888A0 LDR.W R2, [R11,#0x9D]!
  32. .text:000888A4 STRB R4, [R1,R2]
  33. .text:000888A6 ASRS R3, R3, #1
  34. .text:000888A8 BKPT 0x29 ; ')'
  35. .text:000888AA BMI loc_887BA
  36. .text:000888AC ADDS R7, #0x68 ; 'h'
  37. .text:000888AE SXTB R2, R4
  38. .text:000888B0 LDR R3, [SP,#0xF8]
  39. .text:000888B2 STRB R4, [R6,#5]
  40. .text:000888B4 BCC loc_888D0
  41. .text:000888B6 STR R6, [R3,#0x18]
  42. .text:000888B8 MOV R0, R0
  43. .text:000888BA MOV R0, R0
  44. .text:000888BC MOV R0, R0
  45. .text:000888BE LDR R0, [SP,#0xC]
  46. .text:000888C0 CMP R3, #0
  47. .text:000888C2 LDR.W R4, [R0,R8,LSL#2]
  48. .text:000888C6 ADD.W R0, R0, R8,LSL#2
  49. .text:000888CA LDR R5, [R0,#4]
  50. .text:000888CC STR R0, [SP,#0x10]
  51. .text:000888CE BEQ loc_88910
  52. .text:000888D0
  53. .text:000888D0 loc_888D0 ; CODE XREF: .text:000888B4↑j
  54. .text:000888D0 LDR R0, [SP]
  55. .text:000888D2 ; START OF FUNCTION CHUNK FOR sub_8892A
  56. .text:000888D2
  57. .text:000888D2 loc_888D2 ; CODE XREF: sub_8892A+6A↓j
  58. .text:000888D2 ; sub_8892A+6E↓j
  59. .text:000888D2 MOV R11, R12
  60. .text:000888D4 LDR.W R9, [R0]
  61. .text:000888D8 LDR.W R10, [R0,#4]
  62. .text:000888DC LDR R6, [R0,#8]
  63. .text:000888DE LDR R2, [R0,#0xC]
  64. .text:000888E0
  65. .text:000888E0 loc_888E0 ; CODE XREF: sub_8892A-1C↓j
  66. .text:000888E0 ADD.W LR, R9, R5,LSL#4
  67. .text:000888E4 ADD.W R1, R10, R5,LSR#5
  68. .text:000888E8 EOR.W R1, R1, LR
  69. .text:000888EC ADD.W R0, R5, R11
  70. .text:000888F0 EORS R0, R1
  71. .text:000888F2 SUBS R3, #1
  72. .text:000888F4 ADD R4, R0
  73. .text:000888F6 ADD.W R0, R11, R4
  74. .text:000888FA ADD R11, R12
  75. .text:000888FC ADD.W R1, R6, R4,LSL#4
  76. .text:00088900 EOR.W R0, R0, R1
  77. .text:00088904 ADD.W R1, R2, R4,LSR#5
  78. .text:00088908 EOR.W R0, R0, R1
  79. .text:0008890C ADD R5, R0
  80. .text:0008890E BNE loc_888E0
  81. .text:00088910
  82. .text:00088910 loc_88910 ; CODE XREF: .text:000888CE↑j
  83. .text:00088910 LDR R0, [SP,#-8+arg_10]
  84. .text:00088912 ADD.W R8, R8, #2
  85. .text:00088916 STRD.W R4, R5, [R0]
  86. .text:0008891A LDR R0, [SP,#-8+arg_4]
  87. .text:0008891C LDR R3, [SP,#-8+arg_8]
  88. .text:0008891E CMP R8, R0
  89. .text:00088920 BCC sub_88868
  90. .text:00088922
  91. .text:00088922 loc_88922 ; CODE XREF: encrypt+14↑j
  92. .text:00088922 ADD SP, SP, #0x14
  93. .text:00088924 POP.W {R8-R11}
  94. .text:00088928 POP {R4-R7,PC}
  95. .text:00088928 ; } // starts at 88840
  96. .text:00088928 ; END OF FUNCTION CHUNK FOR sub_8892A
  97. .text:0008892A
  98. .text:0008892A ; =============== S U B R O U T I N E =======================================
  99. .text:0008892A
  100. .text:0008892A ; Attributes: bp-based frame
  101. .text:0008892A
  102. .text:0008892A sub_8892A ; CODE XREF: .text:00036E2E↑p
  103. .text:0008892A ; sub_40134+156↑p
  104. .text:0008892A
  105. .text:0008892A var_34 = -0x34
  106. .text:0008892A var_30 = -0x30
  107. .text:0008892A var_2C = -0x2C
  108. .text:0008892A var_28 = -0x28
  109. .text:0008892A var_24 = -0x24
  110. .text:0008892A var_20 = -0x20
  111. .text:0008892A var_1C = -0x1C
  112. .text:0008892A arg_4 = 0xC
  113. .text:0008892A arg_8 = 0x10
  114. .text:0008892A arg_E = 0x16
  115. .text:0008892A arg_10 = 0x18
  116. .text:0008892A arg_350 = 0x358
  117. .text:0008892A
  118. .text:0008892A ; FUNCTION CHUNK AT .text:000888D2 SIZE 00000058 BYTES
  119. .text:0008892A
  120. .text:0008892A ; __unwind {
  121. .text:0008892A PUSH {R4-R7,LR}
  122. .text:0008892C ADD R7, SP, #0xC
  123. .text:0008892E PUSH.W {R8-R11}
  124. .text:00088932 SUB SP, SP, #0x18
  125. .text:00088934 STR R0, [SP,#0x34+var_30]
  126. .text:00088936 MOVS R0, #0
  127. .text:00088938 CMP.W R0, R2,LSR#2
  128. .text:0008893C STR R1, [SP,#0x34+var_24]
  129. .text:0008893E BEQ loc_88A20
  130. .text:00088940 LSRS R0, R2, #2
  131. .text:00088942 MOV R2, #0x9E3779B9
  132. .text:0008894A STR R0, [SP,#0x34+var_2C]
  133. .text:0008894C MUL.W R0, R3, R2
  134. .text:00088950 MOVW R10, #0x8647
  135. .text:00088954 MOV.W R9, #0
  136. .text:00088958 MOVT R10, #0x61C8
  137. .text:0008895C STR R3, [SP,#0x34+var_28]
  138. .text:0008895E STR R0, [SP,#0x34+var_34]
  139. .text:00088960
  140. .text:00088960 loc_88960 ; CODE XREF: sub_8892A+F4↓j
  141. .text:00088960 PUSH.W {R0-R11,LR}
  142. .text:00088964 MOV.W R0, #0x150000
  143. .text:00088968 ADD R0, SP
  144. .text:0008896A BL sub_3E594
  145. .text:0008896E ADD.W R0, R0, #0x2D0000
  146. .text:00088972 MOV R1, R0
  147. .text:00088974 POP.W {R0-R11,LR}
  148. .text:00088978 PUSH.W {R0-R11,LR}
  149. .text:0008897C MOV R0, PC
  150. .text:0008897E BL sub_833C8
  151. .text:00088982 POP.W {R0-R11,LR}
  152. .text:00088986 SUB SP, SP, #8
  153. .text:00088988 ADD SP, SP, #8
  154. .text:0008898A MOV R0, R0
  155. .text:0008898C MOV R0, R0
  156. .text:0008898E MOV R0, R0
  157. .text:00088990 POP {PC}
  158. .text:00088992 ; ---------------------------------------------------------------------------
  159. .text:00088992 ADD R2, SP, #0x30+arg_350
  160. .text:00088994 BLT loc_888D2
  161. .text:00088996 STRB R1, [R7,#arg_E]
  162. .text:00088998 BGT loc_888D2
  163. .text:0008899A STRH R1, [R1,R4]
  164. .text:0008899A ; ---------------------------------------------------------------------------
  165. .text:0008899C DCB 0xDD
  166. .text:0008899D DCB 0xB7
  167. .text:0008899E ; ---------------------------------------------------------------------------
  168. .text:0008899E LSRS R1, R4, #0x1B
  169. .text:000889A0 LSLS R3, R2, #7
  170. .text:000889A2 ASRS R4, R6, #0x16
  171. .text:000889A4 LDR R4, [R5,#0x48]
  172. .text:000889A6 CBZ R4, loc_889F8+2
  173. .text:000889A6 ; ---------------------------------------------------------------------------
  174. .text:000889A8 DCB 2
  175. .text:000889A9 DCB 0xF9
  176. .text:000889AA ; ---------------------------------------------------------------------------
  177. .text:000889AA LDRH R4, [R0,#0x2C]
  178. .text:000889AC STM R4, {R0,R1,R3-R5,R7}
  179. .text:000889AE STM R4!, {R0,R1,R5,R6}
  180. .text:000889B0 MOV R0, R0
  181. .text:000889B2 MOV R0, R0
  182. .text:000889B4 MOV R0, R0
  183. .text:000889B6 LDR R0, [SP,#0x30+var_20]
  184. .text:000889B8 CMP R3, #0
  185. .text:000889BA LDR.W R6, [R0,R9,LSL#2]
  186. .text:000889BE ADD.W R0, R0, R9,LSL#2
  187. .text:000889C2 LDR R5, [R0,#4]
  188. .text:000889C4 STR R0, [SP,#0x30+var_1C]
  189. .text:000889C6 BEQ loc_88A0E
  190. .text:000889C8 LDR R0, [SP,#0x30+var_2C]
  191. .text:000889CA LDR.W LR, [SP,#0x30+var_30]
  192. .text:000889CE LDR.W R11, [R0]
  193. .text:000889D2 LDR R4, [R0,#4]
  194. .text:000889D4 LDR R2, [R0,#8]
  195. .text:000889D6 LDR.W R12, [R0,#0xC]
  196. .text:000889DA
  197. .text:000889DA loc_889DA ; CODE XREF: sub_8892A+E2↓j
  198. .text:000889DA ADD.W R8, R2, R6,LSL#4
  199. .text:000889DE ADD.W R1, R12, R6,LSR#5
  200. .text:000889E2 EOR.W R1, R1, R8
  201. .text:000889E6 ADD.W R0, R6, LR
  202. .text:000889EA EORS R0, R1
  203. .text:000889EC SUBS R3, #1
  204. .text:000889EE SUB.W R5, R5, R0
  205. .text:000889F2 ADD.W R0, LR, R5
  206. .text:000889F6 ADD LR, R10
  207. .text:000889F8
  208. .text:000889F8 loc_889F8 ; CODE XREF: sub_8892A+7C↑j
  209. .text:000889F8 ADD.W R1, R11, R5,LSL#4
  210. .text:000889FC EOR.W R0, R0, R1
  211. .text:00088A00 ADD.W R1, R4, R5,LSR#5
  212. .text:00088A04 EOR.W R0, R0, R1
  213. .text:00088A08 SUB.W R6, R6, R0
  214. .text:00088A0C BNE loc_889DA
  215. .text:00088A0E
  216. .text:00088A0E loc_88A0E ; CODE XREF: sub_8892A+9C↑j
  217. .text:00088A0E LDR R0, [SP,#0x30+var_1C]
  218. .text:00088A10 ADD.W R9, R9, #2
  219. .text:00088A14 STRD.W R6, R5, [R0]
  220. .text:00088A18 LDR R0, [SP,#0x30+var_28]
  221. .text:00088A1A LDR R3, [SP,#0x30+var_24]
  222. .text:00088A1C CMP R9, R0
  223. .text:00088A1E BCC loc_88960
  224. .text:00088A20
  225. .text:00088A20 loc_88A20 ; CODE XREF: sub_8892A+14↑j
  226. .text:00088A20 ADD SP, SP, #0x18
  227. .text:00088A22 POP.W {R8-R11}
  228. .text:00088A26 POP {R4-R7,PC}
  229. .text:00088A26 ; } // starts at 8892A
  230. .text:00088A26 ; End of function sub_8892A
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement