Guest User

Untitled

a guest
Jun 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.01 KB | None | 0 0
  1.  
  2. ; ==== Section .text - Address 0x00000000 Size 0x000074A4 Flags 0x0006
  3.  
  4. ; ======================================================
  5. ; Subroutine _start - Address 0x00000000
  6. _start:
  7. 0x00000000: 0x3C070014 '...<' - lui $a3, 0x14 ; a3 = (0x14 << 16);
  8. 0x00000004: 0x27BDFFF0 '...'' - addiu $sp, $sp, -16 ; Allocate 4 words the stack
  9. 0x00000008: 0x00871021 '!...' - addu $v0, $a0, $a3 ; v0 = a0 + a3;
  10. 0x0000000C: 0xAFA40000 '....' - sw $a0, 0($sp) ; *(u32*)(sp) = a0;
  11. 0x00000010: 0xAFB00008 '....' - sw $s0, 8($sp) ; *(u32*)(sp + 2) = s0;
  12. 0x00000014: 0xAFBF000C '....' - sw $ra, 12($sp) ; *(u32*)(sp + 3) = ra;
  13. 0x00000018: 0xAC408B50 'P.@.' - sw $zr, -29872($v0) ; *(u32*)(v0 - 7468) = 0;
  14. 0x0000001C: 0x8FA50000 '....' - lw $a1, 0($sp) ; a1 = *(u32*)(sp);
  15. 0x00000020: 0x3C060015 '...<' - lui $a2, 0x15 ; a2 = (0x15 << 16);
  16. 0x00000024: 0x34C3EF88 '...4' - ori $v1, $a2, 0xEF88 ; v1 = a2 | 0xEF88;
  17. 0x00000028: 0x00A31821 '!...' - addu $v1, $a1, $v1 ; v1 = a1 + v1;
  18. 0x0000002C: 0x3C0203FF '...<' - lui $v0, 0x3FF ; v0 = (0x3FF << 16);
  19. 0x00000030: 0x3442FFFF '..B4' - ori $v0, $v0, 0xFFFF ; v0 = v0 | 0xFFFF;
  20. 0x00000034: 0x00031882 '....' - srl $v1, $v1, 2 ; v1 = v1 >> 2;
  21. 0x00000038: 0x00621824 '$.b.' - and $v1, $v1, $v0 ; v1 = v1 & v0;
  22. 0x0000003C: 0x3C040C00 '...<' - lui $a0, 0xC00 ; a0 = (0xC00 << 16);
  23. 0x00000040: 0x00641825 '%.d.' - or $v1, $v1, $a0 ; v1 = v1 | a0;
  24.  
  25. ; ======================================================
  26. ; Subroutine sub_00000044 - Address 0x00000044
  27. sub_00000044: ; Refs: 0x0000309C
  28. 0x00000044: 0x00A72821 '!(..' - addu $a1, $a1, $a3 ; a1 = a1 + a3;
  29. 0x00000048: 0xACA38B4C 'L...' - sw $v1, -29876($a1) ; *(u32*)(a1 - 7469);
  30. 0x0000004C: 0x8FA40000 '....' - lw $a0, 0($sp) ; a0 = *(u32*)(sp);
  31. 0x00000050: 0x34C2EF50 'P..4' - ori $v0, $a2, 0xEF50 ; v0 = a2 | 0xEF50;
  32. 0x00000054: 0x34C6EF00 '...4' - ori $a2, $a2, 0xEF00 ; a2 = a2 | 0xEF50;
  33. 0x00000058: 0x00821021 '!...' - addu $v0, $a0, $v0 ; v0 = a0 + v0;
  34. 0x0000005C: 0x3C100880 '...<' - lui $s0, 0x880 ; s0 = (0x880 << 16);
  35. 0x00000060: 0x00862021 '! ..' - addu $a0, $a0, $a2 ; a0 = a0 + a2;
  36. 0x00000064: 0xAE0474C8 '.t..' - sw $a0, 29896($s0) ; *(u32*)(s0 + 7474);
  37. 0x00000068: 0x3C030880 '...<' - lui $v1, 0x880 ; v1 = (0x880 << 16);
  38. 0x0000006C: 0x3C040880 '...<' - lui $a0, 0x880 ; a0 = (0x880 << 16);
  39. 0x00000070: 0x3C050880 '...<' - lui $a1, 0x880 ; a1 = (0x880 << 16);
  40. 0x00000074: 0x248472D0 '.r.$' - addiu $a0, $a0, 29392 ; a0 = a0 + 29392;
  41.  
  42. ; ======================================================
  43. ; Subroutine sub_00000078 - Address 0x00000078
  44. sub_00000078: ; Refs: 0x00001AA4
  45. 0x00000078: 0xAC6274E0 '.tb.' - sw $v0, 29920($v1) ; *(u32*)(v1 + 7480) = v0;
  46. 0x0000007C: 0x24A50300 '...$' - addiu $a1, $a1, 768 ; a1 = a1 + 768;
  47. 0x00000080: 0x24060010 '...$' - li $a2, 16 ; a2 = 16;
  48. 0x00000084: 0x3C070001 '...<' - lui $a3, 0x1 ; a3 = (0x1 << 16);
  49. 0x00000088: 0x00004021 '!@..' - move $t0, $zr ; t0 = zr;
  50. 0x0000008C: 0x0040F809 '..@.' - jalr $v0 ; (void *)v0;
  51. 0x00000090: 0x00004821 '!H..' - move $t1, $zr ; t1 = zr;
  52. 0x00000094: 0x04400005 '..@.' - lui $v0, 0x880 ; v0 = (0x880 << 16);
  53. 0x000000C0: 0x8C437498 '.tC.' - lw $v1, 29848($v0) ; v1 = *(u32*)(v0 + 7462);
  54. 0x000000C4: 0x0060F809 '..`.' - jalr $v1 ; (void *)v1;
  55.  
  56. loc_000000C8: ; Refs: 0x00001398
  57. 0x000000C8: 0x00000000 '....' - nop
  58. 0x000000CC: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);- bltz $v0, loc_000000AC ; if (v0 < 0) loc_000000AC(a1, a2, a3);
  59. 0x00000098: 0x00402021 '! @.' - move $a0, $v0 ; a0 = v0;
  60. 0x0000009C: 0x8E0274C8 '.t..' - lw $v0, 29896($s0) ; v0 = *(u32*)(s0 + 7474);
  61. 0x000000A0: 0x24050004 '...$' - li $a1, 4 ; a1 = 4;
  62. 0x000000A4: 0x0040F809 '..@.' - jalr $v0 ; (void *)v0;
  63. 0x000000A8: 0x03A03021 '!0..' - move $a2, $sp ; a2 = sp;
  64.  
  65. loc_000000AC: ; Refs: 0x00000094
  66. 0x000000AC: 0x0A20002B '+. .' - j loc_088000AC ; loc_088000AC(); // ROTFLMAO a self-jumping function !
  67. 0x000000B0: 0x00000000 '....' - nop
  68. 0x000000B4: 0x27BDFFF8 '...'' - addiu $sp, $sp, -8 ; sp = sp -4; // Allocate 2 words
  69. 0x000000B8: 0xAFBF0000 '....' - sw $ra, 0($sp) ; *(u32*)(sp) = ra; // Get return code of the failed loc_088000AC;
  70. 0x000000BC: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);
  71. 0x000000C0: 0x8C437498 '.tC.' - lw $v1, 29848($v0) ; v1 = *(u32*)(v0 + 7462);
  72. 0x000000C4: 0x0060F809 '..`.' - jalr $v1 ; (void *)v1; // Exception handler ?
  73.  
  74. loc_000000C8: ; Refs: 0x00001398
  75. 0x000000C8: 0x00000000 '....' - nop
  76. 0x000000CC: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);
  77.  
  78. ; ======================================================
  79. ; Subroutine sub_000000D0 - Address 0x000000D0
  80. sub_000000D0: ; Refs: 0x00001AAC 0x00001ABC
  81. 0x000000D0: 0x8C59749C '.tY.' - lw $t9, 29852($v0) ; t9 = *(u32*)(v0 + 7463);
  82. 0x000000D4: 0x8FBF0000 '....' - lw $ra, 0($sp) ; ra = *(u32*)sp;
  83. 0x000000D8: 0x03200008 '.. .' - jr $t9 ; (void *)t9;
  84. 0x000000DC: 0x27BD0008 '...'' - addiu $sp, $sp, 8 ; sp += 8;
  85. 0x000000E0: 0x3C020440 '@..<' - lui $v0, 0x440 ; v0 = (0x440 << 16);
  86. 0x000000E4: 0x3C030480 '...<' - lui $v1, 0x480 ; v1 = (0x480 << 16);
  87. 0x000000E8: 0xAC440000 '..D.' - sw $a0, 0($v0) ; *(u32*)v0 = a0;
  88.  
  89. loc_000000EC: ; Refs: 0x000000F0
  90. 0x000000EC: 0x24420004 '..B$' - addiu $v0, $v0, 4 ; v0 += 4;
  91. 0x000000F0: 0x5443FFFE '..CT' - bnel $v0, $v1, loc_000000EC ; if (v0 != v1) loc_000000EC();
  92. 0x000000F4: 0xAC440000 '..D.' - sw $a0, 0($v0) ; *(u32*)v0 = a0;
  93. 0x000000F8: 0x03E00008 '....' - jr $ra ; (void *)ra(a0);
  94. 0x000000FC: 0x00000000 '....' - nop
  95. 0x00000100: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);
  96. 0x00000104: 0x8C5974E4 '.tY.' - lw $t9, 29924($v0) ; t9 = *(u32*)(v0 + 7481);
  97. 0x00000108: 0x03200008 '.. .' - jr $t9 ; (void *)t9;
  98. 0x0000010C: 0x00000000 '....' - nop
  99. 0x00000110: 0x27BDFFF0 '...'' - addiu $sp, $sp, -16 ; Allocate 4 words on teh stack
  100. 0x00000114: 0xAFB20008 '....' - sw $s2, 8($sp) ; *(u32*)(sp + 2) = s2;
  101. 0x00000118: 0xAFB10004 '....' - sw $s1, 4($sp) ; *(u32*)(sp + 1) = s1;
  102. 0x0000011C: 0xAFB00000 '....' - sw $s0, 0($sp) ; *(u32*)(sp) = s0;
  103. 0x00000120: 0xAFBF000C '....' - sw $ra, 12($sp) ; *(u32*)(sp + 3);
  104. 0x00000124: 0x3C030880 '...<' - lui $v1, 0x880 ; v1 = (0x880 << 16);
  105. 0x00000128: 0x8C6274BC '.tb.' - lw $v0, 29884($v1) ; v0 = *(u32*)(v1 + 7471);
  106. 0x0000012C: 0x00A08021 '!...' - move $s0, $a1 ; s0 = a1;
  107. 0x00000130: 0x00C08821 '!...' - move $s1, $a2 ; s1 = a2;
  108. 0x00000134: 0x24050602 '...$' - li $a1, 1538 ; a1 = 1538;
  109. 0x00000138: 0x0040F809 '..@.' - jalr $v0 ; (void *)v0(a0, 1538, 511);
Add Comment
Please, Sign In to add comment