Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. //VADDR: 0x81038d88 OFF: 0x38d88
  2. int sub_81038D88(int arg1, int arg2, int arg3)
  3. {
  4. // push {r4, r5, r6, r7, r8, lr}
  5. sp = sp - 0x18;
  6. v1 = a1;
  7. *(uint32_t *)(a3) = 0;
  8. *(uint32_t *)(sp + 0x14) = (*(uint32_t *)(/*data_00000000*/));
  9. FLAGS = a1 - 0;
  10. if (Z == 1) // ==
  11. goto loc_81038E28;
  12. a3 = (*(uint32_t *)(a1)) << 0x1E;
  13. FLAGS = a3;
  14. if (N == 0) // signed > 0
  15. goto loc_81038DE2;
  16. *(uint32_t *)(sp) = sub_81038CE4;
  17. *(uint32_t *)(sp + 8) = a2;
  18. *(uint32_t *)(sp + 8 + 0x4) = (*(uint32_t *)(a1 + 0xC));
  19. a1 = sub_810399B8(sp + 8, *(uint32_t *)(a1 + 8), *(uint32_t *)((*(uint32_t *)(a1 + 4)) + 0x10), 0x10, *(sp+0));
  20. if (a1 == 0)
  21. goto loc_81038E30;
  22. *(uint32_t *)(a3) = a1;
  23. a1 = 0;
  24.  
  25. loc_81038DD4:
  26. //VADDR: 0x81038dd4 OFF: 0x38dd4
  27. FLAGS = (*(uint32_t *)(sp + 0x14)) - (*(uint32_t *)(v2));
  28. if (Z == 0) // !=
  29. goto loc_81038E38;
  30. sp = sp + 0x18;
  31. return a1; // pop {r4, r5, r6, r7, r8, pc}
  32.  
  33. loc_81038DE2:
  34. //VADDR: 0x81038de2 OFF: 0x38de2
  35. a4 = a4 << 0x1D;
  36. FLAGS = a4;
  37. if (N == 1) // signed < 0
  38. goto loc_81038E24;
  39. a1 = sub_81039A08(*(uint32_t *)(a1 + 0x34), *(uint32_t *)(v1 + 0x14), 0x10, sub_81038CC8);
  40. asm("ldm r4, {r1, r2}\n");
  41. *(uint32_t *)(v1) = (a2 | 4);
  42. *(uint32_t *)(v1 + 0x14) = (*(uint32_t *)(a3 + 0x10));
  43.  
  44. loc_81038E06:
  45. //VADDR: 0x81038e06 OFF: 0x38e06
  46. *(uint32_t *)(sp) = sub_81038CF4;
  47. a1 = sub_810399B8(v5, *(uint32_t *)(v1 + 0x34), *(uint32_t *)(a3 + 0x10), 0x10, *(sp+0));
  48. if (a1 == 0)
  49. goto loc_81038E30;
  50. *(uint32_t *)(v3) = a1;
  51. a1 = 0;
  52. FLAGS = a1;
  53. goto loc_81038DD4;
  54.  
  55. loc_81038E24:
  56. //VADDR: 0x81038e24 OFF: 0x38e24
  57. a3 = *(uint32_t *)(a1 + 4);
  58. goto loc_81038E06;
  59.  
  60. loc_81038E28:
  61. //VADDR: 0x81038e28 OFF: 0x38e28
  62. a1 = /*data_80120003*/;
  63. goto loc_81038DD4;
  64.  
  65. loc_81038E30:
  66. //VADDR: 0x81038e30 OFF: 0x38e30
  67. a1 = /*data_80120005*/;
  68. goto loc_81038DD4;
  69.  
  70. loc_81038E38:
  71. //VADDR: 0x81038e38 OFF: 0x38e38
  72. a1 = __stack_chk_fail();
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement