Advertisement
Bring_Stabity

Hidden 1_1

Dec 29th, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. This function is called from lots of different places. This is probably a utility of some kind. It seems to be fairly simple, but I need to know more about what's going on ahead of time to know what this does. A number of bytes (arg<r5>) are copied from the address at <r4> to the address at <r6>. <r4> is originally 80407570. <r6> is either <r3> + <r5>, or <r3>-1, depending on if <r3> or <r4> is larger.
  2.  
  3. void hidden_1_1(<r3>, <r4>, <r5>) {
  4. if(<r4> < <r3>) {
  5. goto lessThan
  6. } else {
  7. goto gte
  8. }
  9. }
  10.  
  11. lessThan:
  12. <r4> = <r4> + <r5>
  13. <r6> = <r3> + <r5>
  14. <r5>++
  15. while(true) {
  16. <r5>--
  17. if (<r5> ==0) {
  18. return
  19. }
  20. *(--<r6>) = *(--<r4>) //r4 and r6 are decremented. The byte pointed to by r6 is changed to the vale at the byte pointed to by r4
  21. }
  22. :
  23.  
  24. gte:
  25. <r4>--
  26. <r6> = <r3> - 1
  27. <r5>++
  28. while(true) {
  29. <r5>--
  30. if (<r5> == 0) {
  31. return
  32. }
  33. *(++<r6>) = *(++<r4>) //r4 and r6 are incremented. The byte pointed to by r6 is changed to the byte pointed to by r4
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement