Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ==== Section .text - Address 0x00000000 Size 0x000074A4 Flags 0x0006
- ; ======================================================
- ; Subroutine _start - Address 0x00000000
- _start:
- 0x00000000: 0x3C070014 '...<' - lui $a3, 0x14 ; a3 = (0x14 << 16);
- 0x00000004: 0x27BDFFF0 '...'' - addiu $sp, $sp, -16 ; Allocate 4 words the stack
- 0x00000008: 0x00871021 '!...' - addu $v0, $a0, $a3 ; v0 = a0 + a3;
- 0x0000000C: 0xAFA40000 '....' - sw $a0, 0($sp) ; *(u32*)(sp) = a0;
- 0x00000010: 0xAFB00008 '....' - sw $s0, 8($sp) ; *(u32*)(sp + 2) = s0;
- 0x00000014: 0xAFBF000C '....' - sw $ra, 12($sp) ; *(u32*)(sp + 3) = ra;
- 0x00000018: 0xAC408B50 'P.@.' - sw $zr, -29872($v0) ; *(u32*)(v0 - 7468) = 0;
- 0x0000001C: 0x8FA50000 '....' - lw $a1, 0($sp) ; a1 = *(u32*)(sp);
- 0x00000020: 0x3C060015 '...<' - lui $a2, 0x15 ; a2 = (0x15 << 16);
- 0x00000024: 0x34C3EF88 '...4' - ori $v1, $a2, 0xEF88 ; v1 = a2 | 0xEF88;
- 0x00000028: 0x00A31821 '!...' - addu $v1, $a1, $v1 ; v1 = a1 + v1;
- 0x0000002C: 0x3C0203FF '...<' - lui $v0, 0x3FF ; v0 = (0x3FF << 16);
- 0x00000030: 0x3442FFFF '..B4' - ori $v0, $v0, 0xFFFF ; v0 = v0 | 0xFFFF;
- 0x00000034: 0x00031882 '....' - srl $v1, $v1, 2 ; v1 = v1 >> 2;
- 0x00000038: 0x00621824 '$.b.' - and $v1, $v1, $v0 ; v1 = v1 & v0;
- 0x0000003C: 0x3C040C00 '...<' - lui $a0, 0xC00 ; a0 = (0xC00 << 16);
- 0x00000040: 0x00641825 '%.d.' - or $v1, $v1, $a0 ; v1 = v1 | a0;
- ; ======================================================
- ; Subroutine sub_00000044 - Address 0x00000044
- sub_00000044: ; Refs: 0x0000309C
- 0x00000044: 0x00A72821 '!(..' - addu $a1, $a1, $a3 ; a1 = a1 + a3;
- 0x00000048: 0xACA38B4C 'L...' - sw $v1, -29876($a1) ; *(u32*)(a1 - 7469);
- 0x0000004C: 0x8FA40000 '....' - lw $a0, 0($sp) ; a0 = *(u32*)(sp);
- 0x00000050: 0x34C2EF50 'P..4' - ori $v0, $a2, 0xEF50 ; v0 = a2 | 0xEF50;
- 0x00000054: 0x34C6EF00 '...4' - ori $a2, $a2, 0xEF00 ; a2 = a2 | 0xEF50;
- 0x00000058: 0x00821021 '!...' - addu $v0, $a0, $v0 ; v0 = a0 + v0;
- 0x0000005C: 0x3C100880 '...<' - lui $s0, 0x880 ; s0 = (0x880 << 16);
- 0x00000060: 0x00862021 '! ..' - addu $a0, $a0, $a2 ; a0 = a0 + a2;
- 0x00000064: 0xAE0474C8 '.t..' - sw $a0, 29896($s0) ; *(u32*)(s0 + 7474);
- 0x00000068: 0x3C030880 '...<' - lui $v1, 0x880 ; v1 = (0x880 << 16);
- 0x0000006C: 0x3C040880 '...<' - lui $a0, 0x880 ; a0 = (0x880 << 16);
- 0x00000070: 0x3C050880 '...<' - lui $a1, 0x880 ; a1 = (0x880 << 16);
- 0x00000074: 0x248472D0 '.r.$' - addiu $a0, $a0, 29392 ; a0 = a0 + 29392;
- ; ======================================================
- ; Subroutine sub_00000078 - Address 0x00000078
- sub_00000078: ; Refs: 0x00001AA4
- 0x00000078: 0xAC6274E0 '.tb.' - sw $v0, 29920($v1) ; *(u32*)(v1 + 7480) = v0;
- 0x0000007C: 0x24A50300 '...$' - addiu $a1, $a1, 768 ; a1 = a1 + 768;
- 0x00000080: 0x24060010 '...$' - li $a2, 16 ; a2 = 16;
- 0x00000084: 0x3C070001 '...<' - lui $a3, 0x1 ; a3 = (0x1 << 16);
- 0x00000088: 0x00004021 '!@..' - move $t0, $zr ; t0 = zr;
- 0x0000008C: 0x0040F809 '..@.' - jalr $v0 ; (void *)v0;
- 0x00000090: 0x00004821 '!H..' - move $t1, $zr ; t1 = zr;
- 0x00000094: 0x04400005 '..@.' - lui $v0, 0x880 ; v0 = (0x880 << 16);
- 0x000000C0: 0x8C437498 '.tC.' - lw $v1, 29848($v0) ; v1 = *(u32*)(v0 + 7462);
- 0x000000C4: 0x0060F809 '..`.' - jalr $v1 ; (void *)v1;
- loc_000000C8: ; Refs: 0x00001398
- 0x000000C8: 0x00000000 '....' - nop
- 0x000000CC: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);- bltz $v0, loc_000000AC ; if (v0 < 0) loc_000000AC(a1, a2, a3);
- 0x00000098: 0x00402021 '! @.' - move $a0, $v0 ; a0 = v0;
- 0x0000009C: 0x8E0274C8 '.t..' - lw $v0, 29896($s0) ; v0 = *(u32*)(s0 + 7474);
- 0x000000A0: 0x24050004 '...$' - li $a1, 4 ; a1 = 4;
- 0x000000A4: 0x0040F809 '..@.' - jalr $v0 ; (void *)v0;
- 0x000000A8: 0x03A03021 '!0..' - move $a2, $sp ; a2 = sp;
- loc_000000AC: ; Refs: 0x00000094
- 0x000000AC: 0x0A20002B '+. .' - j loc_088000AC ; loc_088000AC(); // ROTFLMAO a self-jumping function !
- 0x000000B0: 0x00000000 '....' - nop
- 0x000000B4: 0x27BDFFF8 '...'' - addiu $sp, $sp, -8 ; sp = sp -4; // Allocate 2 words
- 0x000000B8: 0xAFBF0000 '....' - sw $ra, 0($sp) ; *(u32*)(sp) = ra; // Get return code of the failed loc_088000AC;
- 0x000000BC: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);
- 0x000000C0: 0x8C437498 '.tC.' - lw $v1, 29848($v0) ; v1 = *(u32*)(v0 + 7462);
- 0x000000C4: 0x0060F809 '..`.' - jalr $v1 ; (void *)v1; // Exception handler ?
- loc_000000C8: ; Refs: 0x00001398
- 0x000000C8: 0x00000000 '....' - nop
- 0x000000CC: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);
- ; ======================================================
- ; Subroutine sub_000000D0 - Address 0x000000D0
- sub_000000D0: ; Refs: 0x00001AAC 0x00001ABC
- 0x000000D0: 0x8C59749C '.tY.' - lw $t9, 29852($v0) ; t9 = *(u32*)(v0 + 7463);
- 0x000000D4: 0x8FBF0000 '....' - lw $ra, 0($sp) ; ra = *(u32*)sp;
- 0x000000D8: 0x03200008 '.. .' - jr $t9 ; (void *)t9;
- 0x000000DC: 0x27BD0008 '...'' - addiu $sp, $sp, 8 ; sp += 8;
- 0x000000E0: 0x3C020440 '@..<' - lui $v0, 0x440 ; v0 = (0x440 << 16);
- 0x000000E4: 0x3C030480 '...<' - lui $v1, 0x480 ; v1 = (0x480 << 16);
- 0x000000E8: 0xAC440000 '..D.' - sw $a0, 0($v0) ; *(u32*)v0 = a0;
- loc_000000EC: ; Refs: 0x000000F0
- 0x000000EC: 0x24420004 '..B$' - addiu $v0, $v0, 4 ; v0 += 4;
- 0x000000F0: 0x5443FFFE '..CT' - bnel $v0, $v1, loc_000000EC ; if (v0 != v1) loc_000000EC();
- 0x000000F4: 0xAC440000 '..D.' - sw $a0, 0($v0) ; *(u32*)v0 = a0;
- 0x000000F8: 0x03E00008 '....' - jr $ra ; (void *)ra(a0);
- 0x000000FC: 0x00000000 '....' - nop
- 0x00000100: 0x3C020880 '...<' - lui $v0, 0x880 ; v0 = (0x880 << 16);
- 0x00000104: 0x8C5974E4 '.tY.' - lw $t9, 29924($v0) ; t9 = *(u32*)(v0 + 7481);
- 0x00000108: 0x03200008 '.. .' - jr $t9 ; (void *)t9;
- 0x0000010C: 0x00000000 '....' - nop
- 0x00000110: 0x27BDFFF0 '...'' - addiu $sp, $sp, -16 ; Allocate 4 words on teh stack
- 0x00000114: 0xAFB20008 '....' - sw $s2, 8($sp) ; *(u32*)(sp + 2) = s2;
- 0x00000118: 0xAFB10004 '....' - sw $s1, 4($sp) ; *(u32*)(sp + 1) = s1;
- 0x0000011C: 0xAFB00000 '....' - sw $s0, 0($sp) ; *(u32*)(sp) = s0;
- 0x00000120: 0xAFBF000C '....' - sw $ra, 12($sp) ; *(u32*)(sp + 3);
- 0x00000124: 0x3C030880 '...<' - lui $v1, 0x880 ; v1 = (0x880 << 16);
- 0x00000128: 0x8C6274BC '.tb.' - lw $v0, 29884($v1) ; v0 = *(u32*)(v1 + 7471);
- 0x0000012C: 0x00A08021 '!...' - move $s0, $a1 ; s0 = a1;
- 0x00000130: 0x00C08821 '!...' - move $s1, $a2 ; s1 = a2;
- 0x00000134: 0x24050602 '...$' - li $a1, 1538 ; a1 = 1538;
- 0x00000138: 0x0040F809 '..@.' - jalr $v0 ; (void *)v0(a0, 1538, 511);
Add Comment
Please, Sign In to add comment