[*] Binary protection state of kmod
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of kmod
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/kmod @ 0x8584 */
| #include <stdint.h>
|
; (fcn) fcn.00008584 () | void fcn_00008584 () {
0x00008584 lui gp, 3 |
0x00008588 addiu gp, gp, 0x4aec |
0x0000858c addu gp, gp, t9 | gp += t9;
0x00008590 addiu sp, sp, -0x38 |
0x00008594 lw t9, -0x7bcc(gp) | t9 = sym.imp.fwrite;
0x00008598 sw s2, 0x28(sp) | *(var_28h_2) = s2;
0x0000859c lw s2, -0x7b94(gp) | s2 = *((gp - 7909));
0x000085a0 sw s1, 0x24(sp) | *(var_24h_2) = s1;
0x000085a4 addiu s1, sp, 0x18 | s1 = sp + 0x18;
0x000085a8 lw v0, (s2) | v0 = *(s2);
0x000085ac sw ra, 0x34(sp) | *(var_34h_2) = ra;
0x000085b0 sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x000085b4 lui v0, 0x57f4 | v0 = 0x57f407b0;
0x000085b8 addiu v0, v0, 0x7b0 |
0x000085bc sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x000085c0 move a3, a1 | a3 = a1;
0x000085c4 sw s4, 0x30(sp) | *(var_30h_2) = s4;
0x000085c8 sw s0, 0x20(sp) | *(var_20h_2) = s0;
0x000085cc addiu a2, zero, 1 | a2 = 1;
0x000085d0 move s0, a1 | s0 = a1;
0x000085d4 sw s3, 0x2c(sp) | *(var_2ch_2) = s3;
0x000085d8 addiu a1, zero, 4 | a1 = 4;
0x000085dc move s4, a0 | s4 = a0;
0x000085e0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000085e4 move a0, s1 | a0 = s1;
0x000085e8 jalr t9 | t9 ();
0x000085ec lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000085f0 lui v0, 0x100 | v0 = 0x1000200;
0x000085f4 addiu v0, v0, 0x200 |
0x000085f8 lw t9, -0x7bcc(gp) | t9 = sym.imp.fwrite;
0x000085fc move a3, s0 | a3 = s0;
0x00008600 addiu a2, zero, 1 | a2 = 1;
0x00008604 addiu a1, zero, 4 | a1 = 4;
0x00008608 move a0, s1 | a0 = s1;
0x0000860c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00008610 jalr t9 | t9 ();
0x00008614 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00008618 lw t9, -0x7c40(gp) | t9 = sym.imp.ftell;
0x0000861c move a0, s0 | a0 = s0;
0x00008620 jalr t9 | t9 ();
0x00008624 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 >= 0) {
0x00008628 bltz v0, 0x8704 |
0x0000862c lw t9, -0x7bcc(gp) | t9 = sym.imp.fwrite;
0x00008630 move a3, s0 | a3 = s0;
0x00008634 addiu a2, zero, 1 | a2 = 1;
0x00008638 addiu a1, zero, 4 | a1 = 4;
0x0000863c move a0, s1 | a0 = s1;
0x00008640 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00008644 move s3, v0 | s3 = v0;
0x00008648 jalr t9 | t9 ();
0x0000864c lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00008650 move a0, s4 | a0 = s4;
0x00008654 lw t9, -0x7ed8(gp) | t9 = *(gp);
0x00008658 addiu t9, t9, -0x7d68 | t9 += -0x7d68;
0x0000865c move a1, s0 | a1 = s0;
0x00008660 bal 0x8298 | fcn_00008298 ();
0x00008664 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00008668 wsbh v0, v0 | __asm ("wsbh v0, v0");
0x0000866c rotr v0, v0, 0x10 | __asm ("rotr v0, v0, 0x10");
0x00008670 lw t9, -0x7c40(gp) | t9 = sym.imp.ftell;
0x00008674 move a0, s0 | a0 = s0;
0x00008678 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000867c jalr t9 | t9 ();
0x00008680 move s4, v0 | s4 = v0;
0x00008684 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 < 0) {
0x00008688 bltz v0, 0x8734 | goto label_3;
| }
0x0000868c lw t9, -0x7bc0(gp) | t9 = sym.imp.fseek;
0x00008690 move a2, zero | a2 = 0;
0x00008694 move a1, s3 | a1 = s3;
0x00008698 move a0, s0 | a0 = s0;
0x0000869c jalr t9 | t9 ();
0x000086a0 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000086a4 move a3, s0 | a3 = s0;
0x000086a8 addiu a2, zero, 1 | a2 = 1;
0x000086ac lw t9, -0x7bcc(gp) | t9 = sym.imp.fwrite;
0x000086b0 addiu a1, zero, 4 | a1 = 4;
0x000086b4 move a0, s1 | a0 = s1;
0x000086b8 jalr t9 | t9 ();
0x000086bc lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000086c0 move a2, zero | a2 = 0;
0x000086c4 move a1, s4 | a1 = s4;
0x000086c8 lw t9, -0x7bc0(gp) | t9 = sym.imp.fseek;
0x000086cc move a0, s0 | a0 = s0;
0x000086d0 jalr t9 | t9 ();
0x000086d4 lw v1, 0x1c(sp) | v1 = *(var_1ch_2);
0x000086d8 lw v0, (s2) | v0 = *(s2);
0x000086dc lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v1 != v0) {
0x000086e0 bne v1, v0, 0x8728 | goto label_4;
| }
0x000086e4 lw ra, 0x34(sp) | ra = *(var_34h_2);
0x000086e8 lw s4, 0x30(sp) | s4 = *(var_30h_2);
0x000086ec lw s3, 0x2c(sp) | s3 = *(var_2ch_2);
0x000086f0 lw s2, 0x28(sp) | s2 = *(var_28h_2);
0x000086f4 lw s1, 0x24(sp) | s1 = *(var_24h_2);
0x000086f8 lw s0, 0x20(sp) | s0 = *(var_20h_2);
0x000086fc addiu sp, sp, 0x38 |
0x00008700 jr ra | return v0;
| }
0x00008704 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00008708 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000870c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00008710 lw t9, -0x7ce0(gp) | t9 = sym.imp.__assert_fail;
| /* str.index_write */
0x00008714 addiu a3, a3, 0x310c | a3 += 0x310c;
0x00008718 addiu a2, zero, 0x1a0 | a2 = 0x1a0;
| /* str..._git_tools_depmod.c */
0x0000871c addiu a1, a1, 0x1fd4 | a1 += 0x1fd4;
| /* str.initial_offset___0 */
0x00008720 addiu a0, a0, 0x1fec | a0 += 0x1fec;
0x00008724 jalr t9 | t9 ();
| label_4:
0x00008728 lw t9, -0x7bb8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000872c jalr t9 | t9 ();
0x00008730 nop |
| label_3:
0x00008734 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00008738 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000873c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00008740 lw t9, -0x7ce0(gp) | t9 = sym.imp.__assert_fail;
| /* str.index_write */
0x00008744 addiu a3, a3, 0x310c | a3 += 0x310c;
0x00008748 addiu a2, zero, 0x1a9 | a2 = 0x1a9;
| /* str..._git_tools_depmod.c */
0x0000874c addiu a1, a1, 0x1fd4 | a1 += 0x1fd4;
| /* str.final_offset___0 */
0x00008750 addiu a0, a0, 0x2000 | a0 += 0x2000;
0x00008754 jalr t9 | t9 ();
0x00008758 lui gp, 3 |
0x0000875c addiu gp, gp, 0x4918 |
0x00008760 addu gp, gp, t9 | gp += t9;
0x00008764 addiu sp, sp, -0x38 |
0x00008768 lw t9, -0x7fd0(gp) | t9 = *((gp - 8180));
0x0000876c sw s2, 0x28(sp) | *(var_28h_3) = s2;
0x00008770 lw s2, -0x7b94(gp) | s2 = *((gp - 7909));
0x00008774 sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x00008778 sw s4, 0x30(sp) | *(var_30h_3) = s4;
0x0000877c lw v0, (s2) | v0 = *(s2);
0x00008780 sw s3, 0x2c(sp) | *(var_2ch_3) = s3;
0x00008784 sw ra, 0x34(sp) | *(var_34h_3) = ra;
0x00008788 sw s1, 0x24(sp) | *(var_24h_3) = s1;
0x0000878c sw s0, 0x20(sp) | *(var_20h_3) = s0;
0x00008790 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x00008794 sw zero, 0x18(sp) | *(var_18h_2) = 0;
0x00008798 addiu t9, t9, 0x68d8 | t9 += fcn.000068d8;
0x0000879c move s3, a1 | s3 = a1;
0x000087a0 move s4, a0 | s4 = a0;
0x000087a4 bal 0x68d8 | fcn_000068d8 ();
0x000087a8 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x000087ac sw v0, (a1) | *(a1) = v0;
| if (v0 == 0) {
0x000087b0 beqz v0, 0x884c | goto label_5;
| }
0x000087b4 lw t9, -0x7bf8(gp) | t9 = sym.imp.malloc;
0x000087b8 sll a0, v0, 2 | a0 = v0 << 2;
0x000087bc move s0, v0 | s0 = v0;
0x000087c0 jalr t9 | t9 ();
0x000087c4 move s1, v0 | s1 = v0;
0x000087c8 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x000087cc beqz v0, 0x884c | goto label_5;
| }
0x000087d0 lw t9, -0x7fd0(gp) | t9 = *((gp - 8180));
0x000087d4 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x000087d8 move a2, s0 | a2 = s0;
0x000087dc move a1, v0 | a1 = v0;
0x000087e0 addiu t9, t9, 0x695c | t9 += fcn.0000695c;
0x000087e4 move a0, s4 | a0 = s4;
0x000087e8 bal 0x695c | fcn_0000695c ();
0x000087ec lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 < 0) {
0x000087f0 bltz v0, 0x8854 | goto label_6;
| }
0x000087f4 lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
0x000087f8 lw t9, -0x7cb0(gp) | t9 = sym.imp.qsort;
0x000087fc lw a1, 0x18(sp) | a1 = *(var_18h_2);
0x00008800 addiu a3, a3, 0x68c0 | a3 += 0x68c0;
0x00008804 addiu a2, zero, 4 | a2 = 4;
0x00008808 move a0, s1 | a0 = s1;
0x0000880c jalr t9 | t9 ();
0x00008810 lw v0, 0x18(sp) | v0 = *(var_18h_2);
0x00008814 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00008818 sw v0, (s3) | *(s3) = v0;
| do {
| label_0:
0x0000881c lw a0, 0x1c(sp) | a0 = *(var_1ch_3);
0x00008820 lw v1, (s2) | v1 = *(s2);
0x00008824 move v0, s1 | v0 = s1;
| if (a0 != v1) {
0x00008828 bne a0, v1, 0x886c | goto label_7;
| }
0x0000882c lw ra, 0x34(sp) | ra = *(var_34h_3);
0x00008830 lw s4, 0x30(sp) | s4 = *(var_30h_3);
0x00008834 lw s3, 0x2c(sp) | s3 = *(var_2ch_3);
0x00008838 lw s2, 0x28(sp) | s2 = *(var_28h_3);
0x0000883c lw s1, 0x24(sp) | s1 = *(var_24h_3);
0x00008840 lw s0, 0x20(sp) | s0 = *(var_20h_3);
0x00008844 addiu sp, sp, 0x38 |
0x00008848 jr ra | return v0;
| label_5:
0x0000884c move s1, zero | s1 = 0;
0x00008850 b 0x881c |
| } while (1);
| label_6:
0x00008854 lw t9, -0x7b88(gp) | t9 = sym.imp.free;
0x00008858 move a0, s1 | a0 = s1;
0x0000885c jalr t9 | t9 ();
0x00008860 move s1, zero | s1 = 0;
0x00008864 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00008868 b 0x881c | goto label_0;
| label_7:
0x0000886c lw t9, -0x7bb8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008870 jalr t9 | t9 ();
0x00008874 nop |
0x00008878 lui gp, 3 |
0x0000887c addiu gp, gp, 0x47f8 |
0x00008880 addu gp, gp, t9 | gp += t9;
0x00008884 addiu sp, sp, -0x50 |
0x00008888 lw v0, 0xc(a0) | v0 = *((a0 + 3));
0x0000888c sw s7, 0x44(sp) | *(var_44h_2) = s7;
0x00008890 lw s7, -0x7b94(gp) | s7 = *((gp - 7909));
0x00008894 sw gp, 0x10(sp) | *(var_10h_4) = gp;
0x00008898 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x0000889c lw v1, (s7) | v1 = *(s7);
0x000088a0 sw fp, 0x48(sp) | *(var_48h) = fp;
0x000088a4 sw s6, 0x40(sp) | *(var_40h_2) = s6;
0x000088a8 sw s5, 0x3c(sp) | *(var_3ch_2) = s5;
0x000088ac sw s4, 0x38(sp) | *(var_38h_2) = s4;
0x000088b0 sw s3, 0x34(sp) | *(var_34h_4) = s3;
0x000088b4 sw s2, 0x30(sp) | *(var_30h_4) = s2;
0x000088b8 sw s1, 0x2c(sp) | *(var_2ch_4) = s1;
0x000088bc sw s0, 0x28(sp) | *(var_28h_4) = s0;
0x000088c0 sw v1, 0x24(sp) | *(var_24h_4) = v1;
| if (v0 == 0) {
0x000088c4 beqz v0, 0x89d4 | goto label_8;
| }
0x000088c8 nop |
0x000088cc lw v0, -0x7fdc(gp) | v0 = *(gp);
0x000088d0 lw s6, -0x7ed8(gp) | s6 = *(gp);
0x000088d4 lw s2, -0x7fdc(gp) | s2 = *(gp);
0x000088d8 sw v0, 0x1c(sp) | *(var_1ch_5) = v0;
0x000088dc lw s5, -0x7fdc(gp) | s5 = *(gp);
0x000088e0 addiu v0, s6, -0x78a8 | v0 = s6 + -0x78a8;
0x000088e4 move s3, a0 | s3 = a0;
0x000088e8 move s0, a1 | s0 = a1;
0x000088ec move s1, zero | s1 = 0;
0x000088f0 sw v0, 0x18(sp) | *(var_18h_4) = v0;
| /* esilref: ' &s' */
0x000088f4 addiu s2, s2, 0x444 | s2 += 0x444;
| label_1:
0x000088f8 lw s4, 8(s3) | s4 = *((s3 + 2));
0x000088fc sll v0, s1, 2 | v0 = s1 << 2;
0x00008900 lwx s4, v0(s4) | __asm ("lwx s4, v0(s4)");
0x00008904 lw s6, 8(s4) | s6 = *((s4 + 2));
| if (s6 != 0) {
0x00008908 beql s6, zero, 0x8910 |
0x0000890c lw s6, 4(s4) | s6 = *((s4 + 1));
| }
0x00008910 lw t9, -0x7cb8(gp) | t9 = sym.imp.__fprintf_chk
0x00008914 move a3, s6 | a3 = s6;
| /* esilref: '&s:' */
0x00008918 addiu a2, s5, 0x2014 | a2 = s5 + 0x2014;
0x0000891c addiu a1, zero, 1 | a1 = 1;
0x00008920 move a0, s0 | a0 = s0;
0x00008924 jalr t9 | t9 ();
0x00008928 lw v0, 0x1c(s4) | v0 = *((s4 + 7));
0x0000892c lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00008930 beqz v0, 0x89b0 | goto label_2;
| }
0x00008934 lw t9, 0x18(sp) | t9 = *(var_18h_4);
0x00008938 move a0, s4 | a0 = s4;
0x0000893c addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x00008940 jalr t9 | t9 ();
0x00008944 move s4, v0 | s4 = v0;
0x00008948 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x0000894c beqz v0, 0x8a14 | goto label_9;
| }
0x00008950 lw v0, 0x20(sp) | v0 = *(var_20h_4);
0x00008954 lw t9, -0x7b88(gp) | t9 = sym.imp.free;
| if (v0 == 0) {
0x00008958 beqz v0, 0x89a4 | goto label_10;
| }
0x0000895c move s6, s4 | s6 = s4;
0x00008960 move fp, zero | fp = 0;
| do {
0x00008964 lw v0, (s6) | v0 = *(s6);
0x00008968 lw a3, 8(v0) | a3 = *((v0 + 2));
| if (a3 != 0) {
0x0000896c beql a3, zero, 0x8974 |
0x00008970 lw a3, 4(v0) | a3 = *((v0 + 1));
| }
0x00008974 lw t9, -0x7cb8(gp) | t9 = sym.imp.__fprintf_chk
0x00008978 move a2, s2 | a2 = s2;
0x0000897c addiu a1, zero, 1 | a1 = 1;
0x00008980 move a0, s0 | a0 = s0;
0x00008984 jalr t9 | t9 ();
0x00008988 lw v0, 0x20(sp) | v0 = *(var_20h_4);
0x0000898c addiu fp, fp, 1 | fp++;
0x00008990 sltu v0, fp, v0 | v0 = (fp < v0) ? 1 : 0;
0x00008994 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00008998 addiu s6, s6, 4 | s6 += 4;
0x0000899c bnez v0, 0x8964 |
| } while (v0 != 0);
0x000089a0 lw t9, -0x7b88(gp) | t9 = sym.imp.free;
| label_10:
0x000089a4 move a0, s4 | a0 = s4;
0x000089a8 jalr t9 | t9 ();
0x000089ac lw gp, 0x10(sp) | gp = *(var_10h_4);
| label_2:
0x000089b0 lw t9, -0x7bbc(gp) | t9 = sym.imp._IO_putc;
0x000089b4 move a1, s0 | a1 = s0;
0x000089b8 addiu a0, zero, 0xa | a0 = 0xa;
0x000089bc jalr t9 | t9 ();
0x000089c0 lw v0, 0xc(s3) | v0 = *((s3 + 3));
0x000089c4 addiu s1, s1, 1 | s1++;
0x000089c8 sltu v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x000089cc lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 != 0) {
0x000089d0 bnez v0, 0x88f8 | goto label_1;
| }
| label_8:
0x000089d4 lw a0, 0x24(sp) | a0 = *(var_24h_4);
0x000089d8 lw v1, (s7) | v1 = *(s7);
0x000089dc move v0, zero | v0 = 0;
| if (a0 == v1) {
0x000089e0 bne a0, v1, 0x8a34 |
0x000089e4 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x000089e8 lw fp, 0x48(sp) | fp = *(var_48h);
0x000089ec lw s7, 0x44(sp) | s7 = *(var_44h_2);
0x000089f0 lw s6, 0x40(sp) | s6 = *(var_40h_2);
0x000089f4 lw s5, 0x3c(sp) | s5 = *(var_3ch_2);
0x000089f8 lw s4, 0x38(sp) | s4 = *(var_38h_2);
0x000089fc lw s3, 0x34(sp) | s3 = *(var_34h_4);
0x00008a00 lw s2, 0x30(sp) | s2 = *(var_30h_4);
0x00008a04 lw s1, 0x2c(sp) | s1 = *(var_2ch_4);
0x00008a08 lw s0, 0x28(sp) | s0 = *(var_28h_4);
0x00008a0c addiu sp, sp, 0x50 |
0x00008a10 jr ra | return v0;
| label_9:
0x00008a14 lw v0, 0x1c(sp) | v0 = *(var_1ch_5);
0x00008a18 lw t9, -0x7f98(gp) | t9 = *(gp);
0x00008a1c move a2, s6 | a2 = s6;
0x00008a20 addiu a1, v0, 0x2018 | a1 = v0 + 0x2018;
0x00008a24 addiu a0, zero, 3 | a0 = 3;
0x00008a28 bal 0xd4fc | fcn_0000d4fc ();
0x00008a2c lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00008a30 b 0x89b0 | goto label_2;
| }
0x00008a34 lw t9, -0x7bb8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008a38 jalr t9 | t9 ();
0x00008a3c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/kmod @ 0xd4fc */
| #include <stdint.h>
|
; (fcn) fcn.0000d4fc () | void fcn_0000d4fc () {
0x0000d4fc lui gp, 3 |
0x0000d500 addiu gp, gp, -0x48c |
0x0000d504 addu gp, gp, t9 | gp += t9;
0x0000d508 addiu sp, sp, -0x60 |
0x0000d50c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000d510 sw s1, 0x58(sp) | *(var_58h) = s1;
0x0000d514 lw s1, -0x7b94(gp) | s1 = *((gp - 7909));
0x0000d518 lw v0, 0x505c(v0) | v0 = *((v0 + 5143));
0x0000d51c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000d520 lw v1, (s1) | v1 = *(s1);
0x0000d524 slt v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x0000d528 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0000d52c sw s0, 0x54(sp) | *(var_54h) = s0;
0x0000d530 sw a2, 0x68(sp) | *(arg_68h) = a2;
0x0000d534 sw a3, 0x6c(sp) | *(arg_6ch) = a3;
0x0000d538 sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x0000d53c lw t9, -0x7c44(gp) | t9 = sym.imp.__vasprintf_chk;
0x0000d540 beqz v0, 0xd564 |
| while (v0 < 0) {
| label_0:
0x0000d544 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0000d548 lw v0, (s1) | v0 = *(s1);
0x0000d54c lw ra, 0x5c(sp) | ra = *(var_5ch);
| if (v1 != v0) {
0x0000d550 bne v1, v0, 0xd638 | goto label_2;
| }
0x0000d554 lw s1, 0x58(sp) | s1 = *(var_58h);
0x0000d558 lw s0, 0x54(sp) | s0 = *(var_54h);
0x0000d55c addiu sp, sp, 0x60 |
0x0000d560 jr ra | return v1;
0x0000d564 addiu a3, sp, 0x68 | a3 = sp + 0x68;
0x0000d568 move a2, a1 | a2 = a1;
0x0000d56c move s0, a0 | s0 = a0;
0x0000d570 sw a3, 0x28(sp) | *(var_28h) = a3;
0x0000d574 addiu a1, zero, 1 | a1 = 1;
0x0000d578 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x0000d57c jalr t9 | t9 ();
0x0000d580 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d584 bltz v0, 0xd544 |
| }
0x0000d588 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0000d58c lw t9, -0x7ed8(gp) | t9 = *(gp);
| if (v0 == 0) {
0x0000d590 beqz v0, 0xd544 | goto label_0;
| }
0x0000d594 move a1, s0 | a1 = s0;
0x0000d598 addiu t9, t9, -0x2d98 | t9 += -0x2d98;
0x0000d59c addiu a0, sp, 0x2c | a0 = sp + 0x2c;
0x0000d5a0 bal 0xd268 | fcn_0000d268 ();
0x0000d5a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d5a8 lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x0000d5ac lbu v1, 0x558c(v1) | v1 = *((v1 + 21900));
0x0000d5b0 lw a2, -0x7fdc(gp) | a2 = *(gp);
| if (v1 != 0) {
0x0000d5b4 bnez v1, 0xd610 | goto label_3;
| }
0x0000d5b8 lw v1, -0x7cb4(gp) | v1 = *((gp - 7981));
0x0000d5bc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0000d5c0 lw t9, -0x7cb8(gp) | t9 = sym.imp.__fprintf_chk
0x0000d5c4 lw a3, (v1) | a3 = *(v1);
0x0000d5c8 lw v1, -0x7b74(gp) | v1 = *((gp - 7901));
| /* str._s:__s:__s */
0x0000d5cc addiu a2, a2, 0x330c | a2 += 0x330c;
0x0000d5d0 addiu a1, zero, 1 | a1 = 1;
0x0000d5d4 lw a0, (v1) | a0 = *(v1);
0x0000d5d8 lw v1, 0x24(sp) | v1 = *(var_24h);
0x0000d5dc sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0000d5e0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0000d5e4 jalr t9 | t9 ();
0x0000d5e8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x0000d5ec lw t9, -0x7b88(gp) | t9 = sym.imp.free;
0x0000d5f0 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0000d5f4 slti s0, s0, 3 | s0 = (s0 < 3) ? 1 : 0;
0x0000d5f8 jalr t9 | t9 ();
0x0000d5fc lw gp, 0x18(sp) | gp = *(var_18h);
| if (s0 == 0) {
0x0000d600 beqz s0, 0xd544 | goto label_0;
| }
0x0000d604 lw t9, -0x7c18(gp) | t9 = sym.imp.exit;
0x0000d608 addiu a0, zero, 1 | a0 = 1;
0x0000d60c jalr t9 | t9 ();
| label_3:
0x0000d610 lw v1, 0x24(sp) | v1 = *(var_24h);
0x0000d614 lw t9, -0x7c78(gp) | t9 = sym.imp.__syslog_chk;
0x0000d618 sw v1, 0x10(sp) | *(var_10h_2) = v1;
0x0000d61c move a3, v0 | a3 = v0;
| /* esilref: '&s: &s' */
0x0000d620 addiu a2, a2, 0x3310 | a2 += 0x3310;
0x0000d624 addiu a1, zero, 1 | a1 = 1;
0x0000d628 move a0, s0 | a0 = s0;
0x0000d62c jalr t9 | t9 ();
0x0000d630 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d634 b 0xd5ec | goto label_1;
| label_2:
0x0000d638 lw t9, -0x7bb8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000d63c jalr t9 | t9 ();
0x0000d640 nop |
| }
[*] Function fprintf used 4 times kmod