[*] Binary protection state of smbclient
No RELRO No Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function printf tear down of smbclient
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x40f568 */
| #include <stdint.h>
|
; (fcn) fcn.0040f568 () | void fcn_0040f568 () {
0x0040f568 addiu sp, sp, -0x438 |
0x0040f56c sw s3, 0x428(sp) | *(var_428h) = s3;
0x0040f570 sw s2, 0x424(sp) | *(var_424h) = s2;
0x0040f574 move s3, a0 | s3 = a0;
0x0040f578 lui s2, 0x4a | s2 = 0x4a0000;
0x0040f57c sw s4, 0x42c(sp) | *(var_42ch) = s4;
0x0040f580 addiu a0, s2, -0x7208 | a0 = s2 + -0x7208;
0x0040f584 move s4, a1 | s4 = a1;
0x0040f588 move a1, s3 | a1 = s3;
0x0040f58c sw ra, 0x434(sp) | *(var_434h) = ra;
0x0040f590 sw s5, 0x430(sp) | *(var_430h) = s5;
0x0040f594 sw s1, 0x420(sp) | *(var_420h) = s1;
0x0040f598 sw s0, 0x41c(sp) | *(var_41ch) = s0;
0x0040f59c jal 0x40f330 | fcn_0040f330 ();
0x0040f5a0 move s0, v0 | s0 = v0;
| if (v0 < 0) {
0x0040f5a4 bltz v0, 0x40f6e4 | goto label_1;
| }
0x0040f5a8 lui v0, 0x4a | v0 = 0x4a0000;
0x0040f5ac lw a3, -0x1664(v0) | a3 = *((v0 - 1433));
0x0040f5b0 lui a2, 0x46 | a2 = "IPC Service (%s)";
| /* str.IPC_Service___s_ */
0x0040f5b4 addiu a2, a2, 0x6fc |
0x0040f5b8 lui s1, 0x4a | s1 = 0x4a0000;
0x0040f5bc addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x0040f5c0 addiu a1, zero, 0x3ff | a1 = 0x3ff;
0x0040f5c4 jal 0x444430 | sym_snprintf ()
0x0040f5c8 lw v0, -0x1450(s1) | v0 = *((s1 - 1300));
0x0040f5cc sll s0, s0, 2 | s0 <<= 2;
0x0040f5d0 addiu s2, s2, -0x7208 | s2 += -0x7208;
0x0040f5d4 addu v0, v0, s0 | v0 += s0;
0x0040f5d8 lw s5, (v0) | s5 = *(v0);
0x0040f5dc jal 0x44d488 | fcn_0044d488 ();
0x0040f5e0 move a1, v0 | a1 = v0;
0x0040f5e4 addiu s5, s5, 0xc | s5 += 0xc;
0x0040f5e8 move a0, s5 | a0 = s5;
0x0040f5ec jal 0x446ae0 | fcn_00446ae0 ();
0x0040f5f0 lw v0, -0x1450(s1) | v0 = *((s1 - 1300));
0x0040f5f4 lui a1, 0x47 | a1 = 0x4709d4;
0x0040f5f8 addiu a1, a1, 0x9d4 |
0x0040f5fc addu v0, v0, s0 | v0 += s0;
0x0040f600 lw a0, (v0) | a0 = *(v0);
0x0040f604 addiu a0, a0, 0x10 | a0 += 0x10;
0x0040f608 jal 0x446ae0 | fcn_00446ae0 ();
0x0040f60c lw v0, -0x1450(s1) | v0 = *((s1 - 1300));
0x0040f610 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x0040f614 addu v0, v0, s0 | v0 += s0;
0x0040f618 lw a0, (v0) | a0 = *(v0);
0x0040f61c addiu a0, a0, 0x8c | a0 += 0x8c;
0x0040f620 jal 0x446ae0 | fcn_00446ae0 ();
0x0040f624 lw v0, -0x1450(s1) | v0 = *((s1 - 1300));
0x0040f628 lui a1, 0x46 | a1 = 0x45dc8c;
| /* esilref: 'IPC' */
0x0040f62c addiu a1, a1, -0x2374 |
0x0040f630 addu v0, v0, s0 | v0 += s0;
0x0040f634 lw a0, (v0) | a0 = *(v0);
0x0040f638 addiu a0, a0, 0xa8 | a0 += 0xa8;
0x0040f63c jal 0x446ae0 | fcn_00446ae0 ();
0x0040f640 lw v0, -0x1450(s1) | v0 = *((s1 - 1300));
0x0040f644 lw a1, 0x120(s2) | a1 = *((s2 + 72));
0x0040f648 addiu v1, zero, 1 | v1 = 1;
0x0040f64c addu s0, v0, s0 | s0 = v0 + s0;
0x0040f650 lui v0, 0x4b | v0 = 0x4b0000;
0x0040f654 lw a0, -0x2b40(v0) | a0 = *((v0 - 2768));
0x0040f658 lw v0, (s0) | v0 = *(s0);
0x0040f65c slti a0, a0, 3 | a0 = (a0 < 3) ? 1 : 0;
0x0040f660 sw zero, 0x114(v0) | *((v0 + 69)) = 0;
0x0040f664 sw zero, 0xe0(v0) | *((v0 + 56)) = 0;
0x0040f668 sw v1, 0x124(v0) | *((v0 + 73)) = v1;
0x0040f66c sw v1, 0x128(v0) | *((v0 + 74)) = v1;
0x0040f670 sw zero, 0x130(v0) | *((v0 + 76)) = 0;
0x0040f674 sw s4, 0x134(v0) | *((v0 + 77)) = s4;
0x0040f678 sw zero, 0x138(v0) | *((v0 + 78)) = 0;
0x0040f67c sw a1, 0x120(v0) | *((v0 + 72)) = a1;
0x0040f680 beqz a0, 0x40f6ac |
| while (v0 == 0) {
0x0040f684 lw ra, 0x434(sp) | ra = *(var_434h);
| label_0:
0x0040f688 lw s5, 0x430(sp) | s5 = *(var_430h);
0x0040f68c lw s4, 0x42c(sp) | s4 = *(var_42ch);
0x0040f690 lw s3, 0x428(sp) | s3 = *(var_428h);
0x0040f694 lw s2, 0x424(sp) | s2 = *(var_424h);
0x0040f698 lw s1, 0x420(sp) | s1 = *(var_420h);
0x0040f69c lw s0, 0x41c(sp) | s0 = *(var_41ch);
0x0040f6a0 addiu v0, zero, 1 | v0 = 1;
0x0040f6a4 addiu sp, sp, 0x438 |
0x0040f6a8 jr ra | return v0;
0x0040f6ac lui a1, 0x46 | a1 = 0x460000;
0x0040f6b0 lui a2, 0x46 | a2 = 0x460000;
0x0040f6b4 addiu a0, zero, 3 | a0 = 3;
| /* esilref: 'param/loadparm.c' */
0x0040f6b8 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.lp_add_ipc */
0x0040f6bc addiu a2, a2, 0x23fc | a2 += 0x23fc;
0x0040f6c0 addiu a3, zero, 0x7e7 | a3 = 0x7e7;
0x0040f6c4 jal 0x4381b8 | fcn_004381b8 ();
0x0040f6c8 lui a0, 0x46 | a0 = 0x460000;
0x0040f6cc beqz v0, 0x40f684 |
| }
| /* str.adding_IPC_service__s_n */
0x0040f6d0 addiu a0, a0, 0x710 | a0 += 0x710;
0x0040f6d4 move a1, s3 | a1 = s3;
0x0040f6d8 jal 0x437cc4 | fcn_00437cc4 ();
0x0040f6dc lw ra, 0x434(sp) | ra = *(var_434h);
0x0040f6e0 b 0x40f688 | goto label_0;
| label_1:
0x0040f6e4 lw ra, 0x434(sp) | ra = *(var_434h);
0x0040f6e8 lw s5, 0x430(sp) | s5 = *(var_430h);
0x0040f6ec lw s4, 0x42c(sp) | s4 = *(var_42ch);
0x0040f6f0 lw s3, 0x428(sp) | s3 = *(var_428h);
0x0040f6f4 lw s2, 0x424(sp) | s2 = *(var_424h);
0x0040f6f8 lw s1, 0x420(sp) | s1 = *(var_420h);
0x0040f6fc lw s0, 0x41c(sp) | s0 = *(var_41ch);
0x0040f700 move v0, zero | v0 = 0;
0x0040f704 addiu sp, sp, 0x438 |
0x0040f708 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x412a68 */
| #include <stdint.h>
|
; (fcn) fcn.00412a68 () | void fcn_00412a68 () {
0x00412a68 addiu sp, sp, -0x430 |
0x00412a6c sw s0, 0x418(sp) | *(var_418h) = s0;
0x00412a70 lui s0, 0x4a | s0 = 0x4a0000;
0x00412a74 lw v0, -0x1450(s0) | v0 = *((s0 - 1300));
0x00412a78 sll a1, a1, 2 | a1 <<= 2;
0x00412a7c sw s2, 0x420(sp) | *(var_420h) = s2;
0x00412a80 addu v0, v0, a1 | v0 += a1;
0x00412a84 move s2, a0 | s2 = a0;
0x00412a88 lw a0, (v0) | a0 = *(v0);
0x00412a8c move a1, s2 | a1 = s2;
0x00412a90 sw s4, 0x428(sp) | *(var_428h) = s4;
0x00412a94 sw ra, 0x42c(sp) | *(var_42ch) = ra;
0x00412a98 sw s3, 0x424(sp) | *(var_424h) = s3;
0x00412a9c sw s1, 0x41c(sp) | *(var_41ch) = s1;
0x00412aa0 move s4, a2 | s4 = a2;
0x00412aa4 jal 0x40f330 | fcn_0040f330 ();
0x00412aa8 lw v1, -0x1450(s0) | v1 = *((s0 - 1300));
| if (v0 < 0) {
0x00412aac bltz v0, 0x412be4 | goto label_4;
| }
0x00412ab0 sll s1, v0, 2 | s1 = v0 << 2;
0x00412ab4 addu v0, v1, s1 | v0 = v1 + s1;
0x00412ab8 lw a0, (v0) | a0 = *(v0);
0x00412abc lw s3, 0xc(a0) | s3 = *((a0 + 3));
0x00412ac0 lb v1, (s3) | v1 = *(s3);
| if (v1 != 0) {
0x00412ac4 bnez v1, 0x412b40 | goto label_5;
| }
0x00412ac8 nop |
| label_0:
0x00412acc addiu a0, a0, 0xc | a0 += 0xc;
0x00412ad0 move a1, s4 | a1 = s4;
0x00412ad4 jal 0x446ae0 | fcn_00446ae0 ();
0x00412ad8 lw v0, -0x1450(s0) | v0 = *((s0 - 1300));
| do {
0x00412adc addu v0, v0, s1 | v0 += s1;
0x00412ae0 lw v1, (v0) | v1 = *(v0);
0x00412ae4 lw v0, 0x8c(v1) | v0 = *((v1 + 35));
0x00412ae8 lb v0, (v0) | v0 = *(v0);
0x00412aec lui s0, 0x4a | s0 = 0x4a0000;
| if (v0 == 0) {
0x00412af0 beqz v0, 0x412ba4 | goto label_6;
| }
| label_3:
0x00412af4 lui a0, 0x4b | a0 = 0x4b0000;
0x00412af8 lui v0, 0x4a | v0 = 0x498df8;
0x00412afc addiu v0, v0, -0x7208 |
0x00412b00 lw a2, -0x2b40(a0) | a2 = *((a0 - 2768));
0x00412b04 lw a1, 0x124(v0) | a1 = *((v0 + 73));
0x00412b08 lw a0, 0x120(v0) | a0 = *((v0 + 72));
0x00412b0c slti v0, a2, 3 | v0 = (a2 < 3) ? 1 : 0;
0x00412b10 sw a1, 0x124(v1) | *((v1 + 73)) = a1;
0x00412b14 sw a0, 0x120(v1) | *((v1 + 72)) = a0;
| if (v0 == 0) {
0x00412b18 beqz v0, 0x412b68 | goto label_7;
| }
| label_1:
0x00412b1c lw ra, 0x42c(sp) | ra = *(var_42ch);
| label_2:
0x00412b20 lw s4, 0x428(sp) | s4 = *(var_428h);
0x00412b24 lw s3, 0x424(sp) | s3 = *(var_424h);
0x00412b28 lw s2, 0x420(sp) | s2 = *(var_420h);
0x00412b2c lw s1, 0x41c(sp) | s1 = *(var_41ch);
0x00412b30 lw s0, 0x418(sp) | s0 = *(var_418h);
0x00412b34 addiu v0, zero, 1 | v0 = 1;
0x00412b38 addiu sp, sp, 0x430 |
0x00412b3c jr ra | return v0;
| label_5:
0x00412b40 addiu a0, zero, -1 | a0 = -1;
0x00412b44 jal 0x410a00 | fcn_00410a00 ();
0x00412b48 move a1, v0 | a1 = v0;
0x00412b4c move a0, s3 | a0 = s3;
0x00412b50 jal 0x4453ac | fcn_004453ac ();
0x00412b54 lw v0, -0x1450(s0) | v0 = *((s0 - 1300));
0x00412b58 beqz v0, 0x412adc |
| } while (v0 == 0);
0x00412b5c addu v0, v0, s1 | v0 += s1;
0x00412b60 lw a0, (v0) | a0 = *(v0);
0x00412b64 b 0x412acc | goto label_0;
| label_7:
0x00412b68 lui a1, 0x46 | a1 = 0x460000;
0x00412b6c lui a2, 0x46 | a2 = 0x460000;
0x00412b70 addiu a0, zero, 3 | a0 = 3;
| /* esilref: 'param/loadparm.c' */
0x00412b74 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.lp_add_home */
0x00412b78 addiu a2, a2, 0x22ec | a2 += 0x22ec;
0x00412b7c addiu a3, zero, 0x7be | a3 = 0x7be;
0x00412b80 jal 0x4381b8 | fcn_004381b8 ();
0x00412b84 move a1, s2 | a1 = s2;
| if (v0 == 0) {
0x00412b88 beqz v0, 0x412b1c | goto label_1;
| }
0x00412b8c lui a0, 0x46 | a0 = "adding home directory %s at %s\n";
| /* str.adding_home_directory__s_at__s_n */
0x00412b90 addiu a0, a0, 0x850 |
0x00412b94 move a2, s4 | a2 = s4;
0x00412b98 jal 0x437cc4 | fcn_00437cc4 ();
0x00412b9c lw ra, 0x42c(sp) | ra = *(var_42ch);
0x00412ba0 b 0x412b20 | goto label_2;
| label_6:
0x00412ba4 lui a2, 0x46 | a2 = 0x460000;
0x00412ba8 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00412bac addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str.Home_directory_of__s */
0x00412bb0 addiu a2, a2, 0x838 | a2 += 0x838;
0x00412bb4 move a3, s2 | a3 = s2;
0x00412bb8 jal 0x444430 | sym_snprintf ()
0x00412bbc lw v0, -0x1450(s0) | v0 = *((s0 - 1300));
0x00412bc0 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00412bc4 addu v0, v0, s1 | v0 += s1;
0x00412bc8 lw a0, (v0) | a0 = *(v0);
0x00412bcc addiu a0, a0, 0x8c | a0 += 0x8c;
0x00412bd0 jal 0x446ae0 | fcn_00446ae0 ();
0x00412bd4 lw v0, -0x1450(s0) | v0 = *((s0 - 1300));
0x00412bd8 addu s1, v0, s1 | s1 = v0 + s1;
0x00412bdc lw v1, (s1) | v1 = *(s1);
0x00412be0 b 0x412af4 | goto label_3;
| label_4:
0x00412be4 lw ra, 0x42c(sp) | ra = *(var_42ch);
0x00412be8 lw s4, 0x428(sp) | s4 = *(var_428h);
0x00412bec lw s3, 0x424(sp) | s3 = *(var_424h);
0x00412bf0 lw s2, 0x420(sp) | s2 = *(var_420h);
0x00412bf4 lw s1, 0x41c(sp) | s1 = *(var_41ch);
0x00412bf8 lw s0, 0x418(sp) | s0 = *(var_418h);
0x00412bfc move v0, zero | v0 = 0;
0x00412c00 addiu sp, sp, 0x430 |
0x00412c04 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x413bb8 */
| #include <stdint.h>
|
; (fcn) fcn.00413bb8 () | void fcn_00413bb8 () {
0x00413bb8 addiu sp, sp, -0x848 |
0x00413bbc sw s3, 0x82c(sp) | *(var_82ch) = s3;
0x00413bc0 move s3, a0 | s3 = a0;
0x00413bc4 sw fp, 0x840(sp) | *(var_840h) = fp;
0x00413bc8 sw s0, 0x820(sp) | *(var_820h) = s0;
0x00413bcc addiu a0, sp, 0x420 | a0 = sp + 0x420;
0x00413bd0 move s0, a1 | s0 = a1;
0x00413bd4 move fp, a2 | fp = a2;
0x00413bd8 move a1, s3 | a1 = s3;
0x00413bdc addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00413be0 sw ra, 0x844(sp) | *(var_844h) = ra;
0x00413be4 sw a3, 0x854(sp) | *(arg_854h) = a3;
0x00413be8 sw s6, 0x838(sp) | *(var_838h) = s6;
0x00413bec sw s5, 0x834(sp) | *(var_834h) = s5;
0x00413bf0 sw s2, 0x828(sp) | *(var_828h) = s2;
0x00413bf4 sw s7, 0x83c(sp) | *(var_83ch) = s7;
0x00413bf8 sw s4, 0x830(sp) | *(var_830h) = s4;
0x00413bfc sw s1, 0x824(sp) | *(var_824h) = s1;
0x00413c00 jal 0x4461f8 | fcn_004461f8 ();
0x00413c04 addiu a0, sp, 0x420 | a0 = sp + 0x420;
0x00413c08 addiu a1, zero, 0x400 | a1 = 0x400;
0x00413c0c lui s5, 0x4a | s5 = 0x4a0000;
0x00413c10 jal 0x454f5c | fcn_00454f5c ();
0x00413c14 move a0, s3 | a0 = s3;
0x00413c18 addiu a1, sp, 0x420 | a1 = sp + 0x420;
0x00413c1c jal 0x40e810 | fcn_0040e810 ();
0x00413c20 lw v0, -0x142c(s5) | v0 = *((s5 - 1291));
0x00413c24 lui v1, 0x4a | v1 = 0x4a0000;
0x00413c28 addiu a0, zero, 1 | a0 = 1;
0x00413c2c sw a0, -0x4abc(v1) | *((v1 - 4783)) = a0;
0x00413c30 lui s6, 0x4a | s6 = 0x4a0000;
0x00413c34 lui v1, 0x4a | v1 = 0x4a0000;
0x00413c38 sw s0, -0x143c(v1) | *((v1 - 1295)) = s0;
0x00413c3c addiu s2, s6, -0x1694 | s2 = s6 + -0x1694;
| if (v0 == 0) {
0x00413c40 beqz v0, 0x4144c8 | goto label_23;
| }
0x00413c44 lui s7, 0x47 | s7 = 0x470000;
| label_15:
0x00413c48 lui s5, 0x4b | s5 = 0x4b0000;
0x00413c4c lw v0, -0x2b40(s5) | v0 = *((s5 - 2768));
0x00413c50 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00413c54 lui a2, 0x46 | a2 = 0x460000;
| if (v0 == 0) {
0x00413c58 beqz v0, 0x414328 | goto label_24;
| }
| label_6:
0x00413c5c lui a0, 0x4a | a0 = 0x4a0000;
| label_7:
0x00413c60 lui a1, 0x46 | a1 = 0x460000;
0x00413c64 addiu a0, a0, -0x164c | a0 += -0x164c;
| /* str._usr_samba_config_private_smbpasswd */
0x00413c68 addiu a1, a1, 0xc1c | a1 += 0xc1c;
0x00413c6c jal 0x446ae0 | fcn_00446ae0 ();
0x00413c70 lui a0, 0x4a | a0 = 0x4a0000;
0x00413c74 lui a1, 0x46 | a1 = 0x460000;
0x00413c78 addiu a0, a0, -0x15a0 | a0 += -0x15a0;
| /* str.hash */
0x00413c7c addiu a1, a1, 0xc40 | a1 += 0xc40;
0x00413c80 jal 0x446ae0 | fcn_00446ae0 ();
0x00413c84 lui a0, 0x4a | a0 = 0x4a0000;
0x00413c88 lui a1, 0x46 | a1 = 0x460000;
0x00413c8c addiu a0, a0, -0x1658 | a0 += -0x1658;
| /* str.newpassword__n_n_newpassword__n_n_changed */
0x00413c90 addiu a1, a1, 0xc48 | a1 += 0xc48;
0x00413c94 jal 0x446ae0 | fcn_00446ae0 ();
0x00413c98 lui a0, 0x4a | a0 = 0x4a0000;
0x00413c9c lui a1, 0x46 | a1 = 0x460000;
0x00413ca0 addiu a0, a0, -0x163c | a0 += -0x163c;
| /* str.WORKGROUP */
0x00413ca4 addiu a1, a1, 0xc7c | a1 += 0xc7c;
0x00413ca8 jal 0x446ae0 | fcn_00446ae0 ();
0x00413cac lui a0, 0x4a | a0 = 0x4a0000;
0x00413cb0 lui a1, 0x46 | a1 = 0x460000;
0x00413cb4 addiu a0, a0, -0x165c | a0 += -0x165c;
| /* str._usr_bin_passwd */
0x00413cb8 addiu a1, a1, 0xc88 | a1 += 0xc88;
0x00413cbc jal 0x446ae0 | fcn_00446ae0 ();
0x00413cc0 lui a1, 0x46 | a1 = 0x460000;
0x00413cc4 addiu a0, s6, -0x1694 | a0 = s6 + -0x1694;
| /* str._etc_printcap */
0x00413cc8 addiu a1, a1, 0xc98 | a1 += 0xc98;
0x00413ccc jal 0x446ae0 | fcn_00446ae0 ();
0x00413cd0 lui a0, 0x4a | a0 = 0x4a0000;
0x00413cd4 lui a1, 0x46 | a1 = 0x460000;
0x00413cd8 addiu a0, a0, -0x1680 | a0 += -0x1680;
| /* str._usr_samba_config_var_locks */
0x00413cdc addiu a1, a1, 0xca8 | a1 += 0xca8;
0x00413ce0 jal 0x446ae0 | fcn_00446ae0 ();
0x00413ce4 lui a0, 0x4a | a0 = 0x4a0000;
0x00413ce8 lui a1, 0x46 | a1 = 0x460000;
0x00413cec addiu a0, a0, -0x167c | a0 += -0x167c;
| /* str._usr_samba_config_var */
0x00413cf0 addiu a1, a1, 0xcc4 | a1 += 0xcc4;
0x00413cf4 jal 0x446ae0 | fcn_00446ae0 ();
0x00413cf8 lui a0, 0x4a | a0 = 0x4a0000;
0x00413cfc lui a1, 0x46 | a1 = 0x460000;
0x00413d00 addiu a0, a0, -0x15f8 | a0 += -0x15f8;
| /* str.0.0.0.0 */
0x00413d04 addiu a1, a1, 0xcdc | a1 += 0xcdc;
0x00413d08 jal 0x446ae0 | fcn_00446ae0 ();
0x00413d0c lui a1, 0x46 | a1 = 0x460000;
0x00413d10 addiu a0, sp, 0x20 | a0 = sp + 0x20;
| /* str.Samba_ */
0x00413d14 addiu a1, a1, 0xce4 | a1 += 0xce4;
0x00413d18 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00413d1c jal 0x4461f8 | fcn_004461f8 ();
0x00413d20 lui a1, 0x46 | a1 = 0x460000;
0x00413d24 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00413d28 addiu a0, sp, 0x20 | a0 = sp + 0x20;
| /* str.2.2.7a */
0x00413d2c addiu a1, a1, -0x2cd8 | a1 += -0x2cd8;
0x00413d30 jal 0x4463d8 | fcn_004463d8 ();
0x00413d34 lui a0, 0x4a | a0 = 0x49e99c;
0x00413d38 addiu a0, a0, -0x1664 |
0x00413d3c addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x00413d40 jal 0x446ae0 | fcn_00446ae0 ();
0x00413d44 addiu v0, zero, 9 | v0 = 9;
0x00413d48 lui a2, 0x46 | a2 = 0x460000;
0x00413d4c addiu a3, zero, 4 | a3 = 4;
| /* str._d._d */
0x00413d50 addiu a2, a2, 0xcec | a2 += 0xcec;
0x00413d54 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x00413d58 addiu a1, zero, 0x3ff | a1 = 0x3ff;
0x00413d5c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00413d60 jal 0x444430 | sym_snprintf ()
0x00413d64 lui a0, 0x4a | a0 = 0x49ea10;
0x00413d68 addiu a0, a0, -0x15f0 |
0x00413d6c addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x00413d70 jal 0x446ae0 | fcn_00446ae0 ();
0x00413d74 lui a0, 0x4a | a0 = 0x4a0000;
0x00413d78 lui a1, 0x46 | a1 = 0x460000;
0x00413d7c addiu a2, zero, 0x3ff | a2 = 0x3ff;
| /* str.TCP_NODELAY */
0x00413d80 addiu a0, a0, -0x44b0 | a0 += -0x44b0;
| /* esilref: 'TCP_NODELAY' */
0x00413d84 addiu a1, a1, 0xcf4 | a1 += 0xcf4;
0x00413d88 jal 0x4461f8 | fcn_004461f8 ();
0x00413d8c lui a0, 0x4a | a0 = 0x49e9ec;
0x00413d90 addiu a0, a0, -0x1614 |
0x00413d94 addiu a1, s7, 0x9d4 | a1 = s7 + 0x9d4;
0x00413d98 jal 0x446ae0 | fcn_00446ae0 ();
0x00413d9c lui a0, 0x4a | a0 = 0x4a0000;
0x00413da0 lui a1, 0x46 | a1 = 0x460000;
0x00413da4 addiu a0, a0, -0x1610 | a0 += -0x1610;
| /* str._N_U */
0x00413da8 addiu a1, a1, 0xd00 | a1 += 0xd00;
0x00413dac jal 0x446ae0 | fcn_00446ae0 ();
0x00413db0 lui a0, 0x4a | a0 = 0x4a0000;
0x00413db4 lui a1, 0x46 | a1 = 0x460000;
0x00413db8 addiu a0, a0, -0x1618 | a0 += -0x1618;
| /* str._N_Uprofile */
0x00413dbc addiu a1, a1, 0xd08 | a1 += 0xd08;
0x00413dc0 jal 0x446ae0 | fcn_00446ae0 ();
0x00413dc4 lui a0, 0x4a | a0 = 0x4a0000;
0x00413dc8 lui a1, 0x46 | a1 = 0x460000;
0x00413dcc addiu a0, a0, -0x15e4 | a0 += -0x15e4;
| /* str.lmhosts_host_wins_bcast */
0x00413dd0 addiu a1, a1, 0xd18 | a1 += 0xd18;
0x00413dd4 jal 0x446ae0 | fcn_00446ae0 ();
0x00413dd8 lui a0, 0x4a | a0 = 0x4a0000;
0x00413ddc lui a1, 0x46 | a1 = 0x460000;
0x00413de0 addiu a0, a0, -0x1620 | a0 += -0x1620;
| /* str._usr_samba_lib_codepages */
0x00413de4 addiu a1, a1, 0xd30 | a1 += 0xd30;
0x00413de8 jal 0x446ae0 | fcn_00446ae0 ();
0x00413dec addiu t1, zero, 0x4104 | t1 = 0x4104;
0x00413df0 sw t1, 0x100(s2) | *((s2 + 64)) = t1;
0x00413df4 addiu t1, zero, 0x1388 | t1 = 0x1388;
0x00413df8 sw t1, 0xf8(s2) | *((s2 + 62)) = t1;
0x00413dfc addiu t1, zero, 0x2710 | t1 = 0x2710;
0x00413e00 sw t1, 0x108(s2) | *((s2 + 66)) = t1;
0x00413e04 lui t1, 3 | t1 = 0x30000;
0x00413e08 addiu s0, zero, 1 | s0 = 1;
0x00413e0c addiu a2, zero, 0xa | a2 = 0xa;
0x00413e10 addiu a3, zero, 5 | a3 = 5;
0x00413e14 addiu v1, zero, 0x32 | v1 = 0x32;
0x00413e18 ori t1, t1, 0xf480 | t1 |= 0xf480;
0x00413e1c sw a2, 0x128(s2) | *((s2 + 74)) = a2;
0x00413e20 sw a3, 0x118(s2) | *((s2 + 70)) = a3;
0x00413e24 sw v1, 0xfc(s2) | *((s2 + 63)) = v1;
0x00413e28 sw v1, 0x104(s2) | *((s2 + 65)) = v1;
0x00413e2c sw s0, 0x1bc(s2) | *((s2 + 111)) = s0;
0x00413e30 sw zero, 0x1c0(s2) | *((s2 + 112)) = 0;
0x00413e34 sw zero, 0x130(s2) | *((s2 + 76)) = 0;
0x00413e38 sw zero, 0x12c(s2) | *((s2 + 75)) = 0;
0x00413e3c sw zero, 0x134(s2) | *((s2 + 77)) = 0;
0x00413e40 sw zero, 0x10c(s2) | *((s2 + 67)) = 0;
0x00413e44 sw zero, 0x110(s2) | *((s2 + 68)) = 0;
0x00413e48 sw zero, 0x114(s2) | *((s2 + 69)) = 0;
0x00413e4c sw s0, 0x1c4(s2) | *((s2 + 113)) = s0;
0x00413e50 sw s0, 0x11c(s2) | *((s2 + 71)) = s0;
0x00413e54 sw s0, 0x120(s2) | *((s2 + 72)) = s0;
0x00413e58 sw zero, 0x1a8(s2) | *((s2 + 106)) = 0;
0x00413e5c sw zero, 0x1ac(s2) | *((s2 + 107)) = 0;
0x00413e60 sw s0, 0x1c8(s2) | *((s2 + 114)) = s0;
0x00413e64 sw s0, 0x1cc(s2) | *((s2 + 115)) = s0;
0x00413e68 sw zero, 0x1d0(s2) | *((s2 + 116)) = 0;
0x00413e6c sw zero, 0x1d4(s2) | *((s2 + 117)) = 0;
0x00413e70 sw zero, 0x1b4(s2) | *((s2 + 109)) = 0;
0x00413e74 sw zero, 0x1b8(s2) | *((s2 + 110)) = 0;
0x00413e78 sw zero, 0x1b0(s2) | *((s2 + 108)) = 0;
0x00413e7c sw s0, 0x138(s2) | *((s2 + 78)) = s0;
0x00413e80 sw zero, 0x1d8(s2) | *((s2 + 118)) = 0;
0x00413e84 sw zero, 0x1dc(s2) | *((s2 + 119)) = 0;
0x00413e88 sw s0, 0x1fc(s2) | *((s2 + 127)) = s0;
0x00413e8c sw zero, 0x220(s2) | *((s2 + 136)) = 0;
0x00413e90 sw zero, 0x224(s2) | *((s2 + 137)) = 0;
0x00413e94 sw zero, 0x228(s2) | *((s2 + 138)) = 0;
0x00413e98 sw t1, 0x144(s2) | *((s2 + 81)) = t1;
0x00413e9c lui t1, 7 | t1 = 0x7e900;
0x00413ea0 ori t1, t1, 0xe900 |
0x00413ea4 sw t1, 0x148(s2) | *((s2 + 82)) = t1;
0x00413ea8 addiu t1, zero, 0x5460 | t1 = 0x5460;
0x00413eac sw t1, 0x14c(s2) | *((s2 + 83)) = t1;
0x00413eb0 sw v1, 0x16c(s2) | *((s2 + 91)) = v1;
0x00413eb4 lui t1, 9 | t1 = 0x90000;
0x00413eb8 addiu v1, zero, 0x352 | v1 = 0x352;
0x00413ebc addiu t1, t1, 0x3a80 | t1 += 0x3a80;
0x00413ec0 sw v1, 0x15c(s2) | *((s2 + 87)) = v1;
0x00413ec4 lui a0, 0x4a | a0 = 0x4a0000;
0x00413ec8 addiu v1, zero, 3 | v1 = 3;
0x00413ecc lui a1, 0x46 | a1 = 0x460000;
0x00413ed0 addiu t0, zero, 0x3c | t0 = 0x3c;
0x00413ed4 addiu v0, zero, 2 | v0 = 2;
0x00413ed8 addiu a0, a0, -0x15c0 | a0 += -0x15c0;
| /* str._bin_false */
0x00413edc addiu a1, a1, 0xd4c | a1 += 0xd4c;
0x00413ee0 sw t1, 0x164(s2) | *((s2 + 89)) = t1;
0x00413ee4 sw v1, 0x180(s2) | *((s2 + 96)) = v1;
0x00413ee8 addiu t1, zero, 0x4000 | t1 = 0x4000;
0x00413eec addiu v1, zero, 0x14 | v1 = 0x14;
0x00413ef0 sw t0, 0x168(s2) | *((s2 + 90)) = t0;
0x00413ef4 sw t1, 0x150(s2) | *((s2 + 84)) = t1;
0x00413ef8 sw t0, 0x158(s2) | *((s2 + 86)) = t0;
0x00413efc sw a3, 0x174(s2) | *((s2 + 93)) = a3;
0x00413f00 sw a2, 0x184(s2) | *((s2 + 97)) = a2;
0x00413f04 sw v1, 0x13c(s2) | *((s2 + 79)) = v1;
0x00413f08 sw v0, 0x154(s2) | *((s2 + 85)) = v0;
0x00413f0c sw v0, 0x19c(s2) | *((s2 + 103)) = v0;
0x00413f10 sw s0, 0x160(s2) | *((s2 + 88)) = s0;
0x00413f14 sw zero, 0x1e8(s2) | *((s2 + 122)) = 0;
0x00413f18 sw zero, 0x1ec(s2) | *((s2 + 123)) = 0;
0x00413f1c sw zero, 0x1f4(s2) | *((s2 + 125)) = 0;
0x00413f20 sw zero, 0x1f0(s2) | *((s2 + 124)) = 0;
0x00413f24 sw zero, 0x1f8(s2) | *((s2 + 126)) = 0;
0x00413f28 sw s0, 0x200(s2) | *((s2 + 128)) = s0;
0x00413f2c sw s0, 0x204(s2) | *((s2 + 129)) = s0;
0x00413f30 sw s0, 0x20c(s2) | *((s2 + 131)) = s0;
0x00413f34 sw s0, 0x208(s2) | *((s2 + 130)) = s0;
0x00413f38 sw zero, 0x218(s2) | *((s2 + 134)) = 0;
0x00413f3c sw s0, 0x21c(s2) | *((s2 + 135)) = s0;
0x00413f40 sw zero, 0x170(s2) | *((s2 + 92)) = 0;
0x00413f44 sw zero, 0x178(s2) | *((s2 + 94)) = 0;
0x00413f48 sw s0, 0x140(s2) | *((s2 + 80)) = s0;
0x00413f4c sw s0, 0x234(s2) | *((s2 + 141)) = s0;
0x00413f50 sw zero, 0x238(s2) | *((s2 + 142)) = 0;
0x00413f54 sw s0, 0x188(s2) | *((s2 + 98)) = s0;
0x00413f58 sw s0, 0x198(s2) | *((s2 + 102)) = s0;
0x00413f5c sw v0, 0x1a0(s2) | *((s2 + 104)) = v0;
0x00413f60 sw zero, 0x1a4(s2) | *((s2 + 105)) = 0;
0x00413f64 sw s0, 0x1e0(s2) | *((s2 + 120)) = s0;
0x00413f68 sw zero, 0x190(s2) | *((s2 + 100)) = 0;
0x00413f6c sw zero, 0x194(s2) | *((s2 + 101)) = 0;
0x00413f70 sw s0, 0x18c(s2) | *((s2 + 99)) = s0;
0x00413f74 sw s0, 0x210(s2) | *((s2 + 132)) = s0;
0x00413f78 sw s0, 0x214(s2) | *((s2 + 133)) = s0;
0x00413f7c jal 0x446ae0 | fcn_00446ae0 ();
0x00413f80 lui a0, 0x4a | a0 = 0x4a0000;
0x00413f84 lui a1, 0x46 | a1 = 0x460000;
0x00413f88 addiu a0, a0, -0x15c4 | a0 += -0x15c4;
| /* str._home__D__U */
0x00413f8c addiu a1, a1, 0xd58 | a1 += 0xd58;
0x00413f90 jal 0x446ae0 | fcn_00446ae0 ();
0x00413f94 lui a0, 0x4a | a0 = 0x4a0000;
0x00413f98 lui a1, 0x46 | a1 = 0x460000;
0x00413f9c addiu a0, a0, -0x15bc | a0 += -0x15bc;
0x00413fa0 addiu a1, a1, -0x263c | a1 += -0x263c;
0x00413fa4 jal 0x446ae0 | fcn_00446ae0 ();
0x00413fa8 addiu v0, zero, 0xf | v0 = 0xf;
0x00413fac lui a0, 0x46 | a0 = 0x460000;
0x00413fb0 sw v0, 0x17c(s2) | *((s2 + 95)) = v0;
| /* str.sbcs */
0x00413fb4 addiu a0, a0, 0xd64 | a0 += 0xd64;
0x00413fb8 addiu v0, zero, 0x294 | v0 = 0x294;
0x00413fbc sw s0, 0xdc(s2) | *((s2 + 55)) = s0;
0x00413fc0 sw s0, 0xe0(s2) | *((s2 + 56)) = s0;
0x00413fc4 sw zero, 0xe4(s2) | *((s2 + 57)) = 0;
0x00413fc8 sw zero, 0x22c(s2) | *((s2 + 139)) = 0;
0x00413fcc sw v0, 0x23c(s2) | *((s2 + 143)) = v0;
0x00413fd0 jal 0x43beec | fcn_0043beec ();
0x00413fd4 lui v0, 0x4a | v0 = 0x4a0000;
| if (fp != 0) {
0x00413fd8 bnez fp, 0x414414 | goto label_25;
| }
| label_12:
0x00413fdc addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00413fe0 addiu a0, sp, 0x420 | a0 = sp + 0x420;
0x00413fe4 move a1, s3 | a1 = s3;
0x00413fe8 jal 0x4461f8 | fcn_004461f8 ();
0x00413fec addiu a0, sp, 0x420 | a0 = sp + 0x420;
0x00413ff0 addiu a1, zero, 0x400 | a1 = 0x400;
0x00413ff4 jal 0x454f5c | fcn_00454f5c ();
0x00413ff8 lui a1, 0x41 | a1 = 0x410000;
0x00413ffc lui a2, 0x41 | a2 = 0x410000;
0x00414000 addiu v0, zero, -1 | v0 = -1;
0x00414004 lui s0, 0x4a | s0 = 0x4a0000;
0x00414008 addiu a0, sp, 0x420 | a0 = sp + 0x420;
| /* fcn.0040fb68 */
0x0041400c addiu a1, a1, -0x498 | a1 += -0x498;
0x00414010 addiu a2, a2, 0x343c | a2 += 0x343c;
0x00414014 sw v0, -0x1438(s0) | *((s0 - 1294)) = v0;
0x00414018 jal 0x415b00 | fcn_00415b00 ();
0x0041401c lw v1, -0x2b40(s5) | v1 = *((s5 - 2768));
0x00414020 slti v1, v1, 4 | v1 = (v1 < 4) ? 1 : 0;
0x00414024 move s6, v0 | s6 = v0;
| if (v1 == 0) {
0x00414028 beqz v1, 0x41428c | goto label_26;
| }
| label_3:
0x0041402c lw a0, -0x1438(s0) | a0 = *((s0 - 1294));
| if (s6 != 0) {
0x00414030 beqz s6, 0x414048 |
| if (a0 < 0) {
0x00414034 bltz a0, 0x414048 | goto label_27;
| }
0x00414038 nop |
0x0041403c jal 0x40deb4 | fcn_0040deb4 ();
0x00414040 nop |
0x00414044 move s6, v0 | s6 = v0;
| }
| label_27:
0x00414048 jal 0x40ffb8 | fcn_0040ffb8 ();
0x0041404c nop |
| if (v0 == 0) {
0x00414050 beqz v0, 0x414110 | goto label_28;
| }
0x00414054 nop |
0x00414058 move a0, v0 | a0 = v0;
0x0041405c jal 0x4874a0 | fcn_004874a0 ();
0x00414060 move fp, v0 | fp = v0;
| if (v0 == 0) {
0x00414064 beqz v0, 0x414110 | goto label_28;
| }
0x00414068 lui a0, 0x46 | a0 = "homes";
| /* str.homes */
0x0041406c addiu a0, a0, 0x44c |
0x00414070 lui s1, 0x4a | s1 = 0x4a0000;
0x00414074 jal 0x413ab0 | fcn_00413ab0 ();
0x00414078 lw t9, -0x4664(s1) | t9 = *((s1 - 4505));
0x0041407c lui s3, 0x46 | s3 = 0x460000;
| /* esilref: ' ,;:
' */
0x00414080 addiu a1, s3, 0xd88 | a1 = " \t,;:\n\r";
0x00414084 move a0, fp | a0 = fp;
0x00414088 move s7, v0 | s7 = v0;
0x0041408c jalr t9 | t9 ();
0x00414090 move s4, v0 | s4 = v0;
| /* esilref: ' ,;:
' */
0x00414094 addiu s3, s3, 0xd88 | s3 += 0xd88;
| if (v0 != 0) {
0x00414098 bnez v0, 0x4140b8 | goto label_2;
| }
0x0041409c b 0x414108 | goto label_29;
0x004140a0 nop |
| do {
| label_1:
0x004140a4 move a0, zero | a0 = 0;
| label_0:
0x004140a8 move a1, s3 | a1 = s3;
0x004140ac jalr t9 | t9 ();
0x004140b0 move s4, v0 | s4 = v0;
| if (v0 == 0) {
0x004140b4 beqz v0, 0x414108 | goto label_29;
| }
| label_2:
0x004140b8 move a0, s4 | a0 = s4;
0x004140bc jal 0x4409b8 | fcn_004409b8 ();
0x004140c0 move a0, s4 | a0 = s4;
0x004140c4 move s0, v0 | s0 = v0;
0x004140c8 jal 0x413ab0 | fcn_00413ab0 ();
0x004140cc lw t9, -0x4664(s1) | t9 = *((s1 - 4505));
0x004140d0 bgez v0, 0x4140a4 |
| } while (v0 >= 0);
0x004140d4 move a0, zero | a0 = 0;
| if (s0 == 0) {
0x004140d8 beqz s0, 0x4140a8 | goto label_0;
| }
0x004140dc move a0, s4 | a0 = s4;
| if (s7 < 0) {
0x004140e0 bltz s7, 0x4140a4 | goto label_1;
| }
0x004140e4 move a1, s7 | a1 = s7;
0x004140e8 move a2, s0 | a2 = s0;
0x004140ec jal 0x412a68 | fcn_00412a68 ();
0x004140f0 lw t9, -0x4664(s1) | t9 = *((s1 - 4505));
0x004140f4 move a0, zero | a0 = 0;
0x004140f8 move a1, s3 | a1 = s3;
0x004140fc jalr t9 | t9 ();
0x00414100 move s4, v0 | s4 = v0;
| if (v0 != 0) {
0x00414104 bnez v0, 0x4140b8 | goto label_2;
| }
| label_29:
0x00414108 move a0, fp | a0 = fp;
0x0041410c jal 0x487830 | fcn_00487830 ();
| label_28:
0x00414110 lw v0, 0x854(sp) | v0 = *(arg_854h);
0x00414114 lui s0, 0x4a | s0 = 0x4a0000;
| if (v0 != 0) {
0x00414118 bnez v0, 0x41438c | goto label_30;
| }
0x0041411c lw v0, 0x120(s2) | v0 = *((s2 + 72));
0x00414120 addiu v1, zero, 1 | v1 = 1;
0x00414124 sw zero, -0x1424(s0) | *((s0 - 1289)) = 0;
| if (v0 == v1) {
0x00414128 beq v0, v1, 0x4143c0 | goto label_31;
| }
| label_11:
0x0041412c slti a0, v0, 2 | a0 = (v0 < 2) ? 1 : 0;
| if (a0 != 0) {
0x00414130 bnez a0, 0x41467c | goto label_32;
| }
0x00414134 nop |
0x00414138 slti v0, v0, 4 | v0 = (v0 < 4) ? 1 : 0;
0x0041413c lw v0, -0x2b40(s5) | v0 = *((s5 - 2768));
| if (v0 != 0) {
0x00414140 bnez v0, 0x4142d4 | goto label_33;
| }
| label_18:
0x00414144 lui s1, 0x4b | s1 = 0x4b0000;
| if (v0 >= 0) {
0x00414148 bltz v0, 0x414198 |
0x0041414c lui s4, 0x46 | s4 = 0x460000;
0x00414150 lui s3, 0x46 | s3 = 0x460000;
0x00414154 move a0, zero | a0 = 0;
| /* esilref: 'param/loadparm.c' */
0x00414158 addiu a1, s4, 0x3a8 | a1 = s4 + 0x3a8;
| /* str.set_server_role */
0x0041415c addiu a2, s3, 0x2408 | a2 = s3 + 0x2408;
0x00414160 addiu a3, zero, 0xd72 | a3 = 0xd72;
0x00414164 jal 0x4381b8 | fcn_004381b8 ();
0x00414168 lui a0, 0x46 | a0 = 0x460000;
| if (v0 != 0) {
0x0041416c bnez v0, 0x4149b8 | goto label_34;
| }
0x00414170 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| label_22:
0x00414174 slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00414178 addiu a0, zero, 0xa | a0 = 0xa;
| if (v0 != 0) {
0x0041417c bnez v0, 0x414198 | goto label_5;
| }
| /* esilref: 'param/loadparm.c' */
0x00414180 addiu a1, s4, 0x3a8 | a1 = s4 + 0x3a8;
| /* str.set_server_role */
0x00414184 addiu a2, s3, 0x2408 | a2 = s3 + 0x2408;
0x00414188 addiu a3, zero, 0xd73 | a3 = 0xd73;
0x0041418c jal 0x4381b8 | fcn_004381b8 ();
0x00414190 lui a0, 0x46 | a0 = 0x460000;
| if (v0 != 0) {
0x00414194 bnez v0, 0x414700 | goto label_35;
| }
| }
| label_5:
0x00414198 lw a0, -0x1424(s0) | a0 = *((s0 - 1289));
| label_4:
0x0041419c lw v1, 0x160(s2) | v1 = *((s2 + 88));
0x004141a0 addiu a1, zero, 0xa03 | a1 = 0xa03;
0x004141a4 lui v0, 0x4a | v0 = 0x4a0000;
0x004141a8 sw a1, -0x1420(v0) | *((v0 - 1288)) = a1;
0x004141ac addiu a1, zero, 2 | a1 = 2;
0x004141b0 slti a1, v1, 3 | a1 = (v1 < 3) ? 1 : 0;
| if (v1 == a1) {
0x004141b4 beq v1, a1, 0x4145cc | goto label_36;
| }
0x004141b8 addiu a1, zero, 3 | a1 = 3;
| if (a1 == 0) {
0x004141bc beqz a1, 0x414358 | goto label_37;
| }
0x004141c0 addiu a1, zero, 1 | a1 = 1;
0x004141c4 ori v1, zero, 0x9a03 | v1 = 0x9a03;
| if (v1 == a1) {
0x004141c8 beq v1, a1, 0x4145b8 | goto label_38;
| }
| label_17:
0x004141cc addiu v1, zero, 2 | v1 = 2;
| label_8:
0x004141d0 lw v1, -0x1420(v0) | v1 = *((v0 - 1288));
| if (a0 == v1) {
0x004141d4 beq a0, v1, 0x414380 | goto label_39;
| }
0x004141d8 addiu v1, zero, 3 | v1 = 3;
| label_9:
0x004141dc addiu v1, zero, 1 | v1 = 1;
| if (a0 == v1) {
0x004141e0 beq a0, v1, 0x4145a8 | goto label_40;
| }
0x004141e4 lw v1, -0x1420(v0) | v1 = *((v0 - 1288));
| if (a0 == v1) {
0x004141e8 bne a0, v1, 0x4141f4 |
0x004141ec ori v1, v1, 0x100 | v1 |= 0x100;
0x004141f0 sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
| }
| label_10:
0x004141f4 lw v1, 0x1e8(s2) | v1 = *((s2 + 122));
0x004141f8 lw v1, -0x1420(v0) | v1 = *((v0 - 1288));
| if (v1 != 0) {
0x004141fc beqz v1, 0x414208 |
0x00414200 ori v1, v1, 0x20 | v1 |= 0x20;
0x00414204 sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
| }
0x00414208 lw v1, 0x22c(s2) | v1 = *((s2 + 139));
0x0041420c lw a0, -0x1420(v0) | a0 = *((v0 - 1288));
| if (v1 != 0) {
0x00414210 beqz v1, 0x414220 |
0x00414214 lui v1, 0x80 | v1 = 0x800000;
0x00414218 or v1, a0, v1 | v1 = a0 | v1;
0x0041421c sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
| }
0x00414220 lui v0, 0x4a | v0 = 0x4a0000;
0x00414224 lw v0, -0x169c(v0) | v0 = *((v0 - 1447));
0x00414228 addiu a0, zero, 1 | a0 = 1;
0x0041422c lui v1, 0x4a | v1 = 0x4a0000;
0x00414230 sw a0, -0x16a0(v1) | *((v1 - 1448)) = a0;
| if (v0 != 0) {
0x00414234 beqz v0, 0x414258 |
0x00414238 lw v0, 0x190(s2) | v0 = *((s2 + 100));
0x0041423c lw ra, 0x844(sp) | ra = *(var_844h);
| if (v0 == 0) {
0x00414240 beqz v0, 0x41425c | goto label_41;
| }
0x00414244 lui a0, 0x4a | a0 = 0x4a0000;
0x00414248 lui a1, 0x46 | a1 = 0x460000;
0x0041424c addiu a0, a0, -0x160c | a0 += -0x160c;
| /* str.127.0.0.1 */
0x00414250 addiu a1, a1, 0xea8 | a1 += 0xea8;
0x00414254 jal 0x446ae0 | fcn_00446ae0 ();
| }
0x00414258 lw ra, 0x844(sp) | ra = *(var_844h);
| label_41:
0x0041425c move v0, s6 | v0 = s6;
0x00414260 lw fp, 0x840(sp) | fp = *(var_840h);
0x00414264 lw s7, 0x83c(sp) | s7 = *(var_83ch);
0x00414268 lw s6, 0x838(sp) | s6 = *(var_838h);
0x0041426c lw s5, 0x834(sp) | s5 = *(var_834h);
0x00414270 lw s4, 0x830(sp) | s4 = *(var_830h);
0x00414274 lw s3, 0x82c(sp) | s3 = *(var_82ch);
0x00414278 lw s2, 0x828(sp) | s2 = *(var_828h);
0x0041427c lw s1, 0x824(sp) | s1 = *(var_824h);
0x00414280 lw s0, 0x820(sp) | s0 = *(var_820h);
0x00414284 addiu sp, sp, 0x848 |
0x00414288 jr ra | return v0;
| label_26:
0x0041428c lui a1, 0x46 | a1 = 0x460000;
0x00414290 lui a2, 0x46 | a2 = 0x460000;
0x00414294 addiu a0, zero, 4 | a0 = 4;
| /* esilref: 'param/loadparm.c' */
0x00414298 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.lp_load */
0x0041429c addiu a2, a2, 0x23e4 | a2 += 0x23e4;
0x004142a0 addiu a3, zero, 0xd9d | a3 = 0xd9d;
0x004142a4 jal 0x4381b8 | fcn_004381b8 ();
| if (v0 == 0) {
0x004142a8 beqz v0, 0x41402c | goto label_3;
| }
0x004142ac nop |
0x004142b0 lui a1, 0x46 | a1 = 0x460000;
| if (s6 == 0) {
0x004142b4 beqz s6, 0x4146f8 | goto label_42;
| }
0x004142b8 lui a1, 0x46 | a1 = 0x460634;
| /* esilref: 'Yes' */
0x004142bc addiu a1, a1, 0x634 |
| label_21:
0x004142c0 lui a0, 0x46 | a0 = "pm_process() returned %s\n";
| /* str.pm_process___returned__s_n */
0x004142c4 addiu a0, a0, 0xd6c |
0x004142c8 jal 0x437cc4 | fcn_00437cc4 ();
0x004142cc b 0x41402c | goto label_3;
0x004142d0 nop |
| label_33:
0x004142d4 lw v0, 0x1a4(s2) | v0 = *((s2 + 105));
0x004142d8 lw v0, -0x2b40(s5) | v0 = *((s5 - 2768));
| if (v0 == 0) {
0x004142dc beqz v0, 0x4145f8 | goto label_43;
| }
0x004142e0 addiu v1, zero, 2 | v1 = 2;
0x004142e4 sw v1, -0x1424(s0) | *((s0 - 1289)) = v1;
0x004142e8 slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x004142ec addiu a0, zero, 2 | a0 = 2;
| if (v0 != 0) {
0x004142f0 bnez v0, 0x41419c | goto label_4;
| }
0x004142f4 lui a1, 0x46 | a1 = 0x460000;
0x004142f8 lui a2, 0x46 | a2 = 0x460000;
0x004142fc addiu a0, zero, 0xa | a0 = 0xa;
| /* esilref: 'param/loadparm.c' */
0x00414300 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.set_server_role */
0x00414304 addiu a2, a2, 0x2408 | a2 += 0x2408;
0x00414308 addiu a3, zero, 0xd63 | a3 = 0xd63;
0x0041430c jal 0x4381b8 | fcn_004381b8 ();
0x00414310 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x00414314 beqz v0, 0x414198 | goto label_5;
| }
| /* str.set_server_role:_ROLE_DOMAIN_BDC_n */
0x00414318 addiu a0, a0, 0xe00 | a0 += 0xe00;
0x0041431c jal 0x437cc4 | fcn_00437cc4 ();
0x00414320 lw a0, -0x1424(s0) | a0 = *((s0 - 1289));
0x00414324 b 0x41419c | goto label_4;
| label_24:
0x00414328 lui a1, 0x46 | a1 = 0x460000;
0x0041432c addiu a0, zero, 3 | a0 = 3;
| /* esilref: 'param/loadparm.c' */
0x00414330 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.init_globals */
0x00414334 addiu a2, a2, 0x23ec | a2 += 0x23ec;
0x00414338 addiu a3, zero, 0x4f8 | a3 = 0x4f8;
0x0041433c jal 0x4381b8 | fcn_004381b8 ();
0x00414340 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x00414344 beqz v0, 0x413c5c | goto label_6;
| }
| /* str.Initialising_global_parameters_n */
0x00414348 addiu a0, a0, 0xbfc | a0 += 0xbfc;
0x0041434c jal 0x437cc4 | fcn_00437cc4 ();
0x00414350 lui a0, 0x4a | a0 = 0x4a0000;
0x00414354 b 0x413c60 | goto label_7;
| label_37:
0x00414358 addiu a1, zero, 4 | a1 = 4;
| if (v1 == a1) {
0x0041435c beq v1, a1, 0x4145c0 | goto label_44;
| }
0x00414360 addiu v1, zero, 2 | v1 = 2;
| if (v1 != a1) {
0x00414364 bne v1, a1, 0x4141d0 | goto label_8;
| }
0x00414368 addiu v1, zero, 0x1a03 | v1 = 0x1a03;
0x0041436c sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
| label_16:
0x00414370 addiu v1, zero, 2 | v1 = 2;
0x00414374 addiu v1, zero, 3 | v1 = 3;
| if (a0 != v1) {
0x00414378 bne a0, v1, 0x4141dc | goto label_9;
| }
0x0041437c lw v1, -0x1420(v0) | v1 = *((v0 - 1288));
| label_39:
0x00414380 ori v1, v1, 0x10 | v1 |= 0x10;
0x00414384 sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
0x00414388 b 0x4141f4 | goto label_10;
| label_30:
0x0041438c lui a0, 0x46 | a0 = "IPC$";
| /* str.IPC_ */
0x00414390 addiu a0, a0, -0x1a7c |
0x00414394 addiu a1, zero, 1 | a1 = 1;
0x00414398 jal 0x40f568 | fcn_0040f568 ();
0x0041439c lui a0, 0x46 | a0 = "ADMIN$";
| /* str.ADMIN_ */
0x004143a0 addiu a0, a0, 0xd90 |
0x004143a4 move a1, zero | a1 = 0;
0x004143a8 jal 0x40f568 | fcn_0040f568 ();
0x004143ac lw v0, 0x120(s2) | v0 = *((s2 + 72));
0x004143b0 lui s0, 0x4a | s0 = 0x4a0000;
0x004143b4 addiu v1, zero, 1 | v1 = 1;
0x004143b8 sw zero, -0x1424(s0) | *((s0 - 1289)) = 0;
| if (v0 != v1) {
0x004143bc bne v0, v1, 0x41412c | goto label_11;
| }
| label_31:
0x004143c0 lw v0, 0x1a4(s2) | v0 = *((s2 + 105));
0x004143c4 lw v0, -0x2b40(s5) | v0 = *((s5 - 2768));
| if (v0 == 0) {
0x004143c8 beqz v0, 0x41463c | goto label_45;
| }
0x004143cc addiu v1, zero, 3 | v1 = 3;
0x004143d0 sw v1, -0x1424(s0) | *((s0 - 1289)) = v1;
0x004143d4 slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x004143d8 addiu a0, zero, 3 | a0 = 3;
| if (v0 != 0) {
0x004143dc bnez v0, 0x41419c | goto label_4;
| }
0x004143e0 lui a1, 0x46 | a1 = 0x460000;
0x004143e4 lui a2, 0x46 | a2 = 0x460000;
0x004143e8 addiu a0, zero, 0xa | a0 = 0xa;
| /* esilref: 'param/loadparm.c' */
0x004143ec addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.set_server_role */
0x004143f0 addiu a2, a2, 0x2408 | a2 += 0x2408;
0x004143f4 addiu a3, zero, 0xd6c | a3 = 0xd6c;
0x004143f8 jal 0x4381b8 | fcn_004381b8 ();
0x004143fc lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x00414400 beqz v0, 0x414198 | goto label_5;
| }
| /* str.set_server_role:_ROLE_DOMAIN_PDC_n */
0x00414404 addiu a0, a0, 0xe4c | a0 += 0xe4c;
0x00414408 jal 0x437cc4 | fcn_00437cc4 ();
0x0041440c lw a0, -0x1424(s0) | a0 = *((s0 - 1289));
0x00414410 b 0x41419c | goto label_4;
| label_25:
0x00414414 lw v0, -0x703c(v0) | v0 = *((v0 - 7183));
0x00414418 lui s0, 0x4a | s0 = 0x4a0000;
| if (v0 == 0) {
0x0041441c beqz v0, 0x414484 | goto label_46;
| }
0x00414420 lui s6, 0x46 | s6 = 0x460000;
0x00414424 addiu s0, s0, -0x7030 | s0 += -0x7030;
0x00414428 move s1, zero | s1 = 0;
| /* esilref: 'hDA' */
0x0041442c addiu s6, s6, 0x2298 | s6 += 0x2298;
| do {
| if (s1 != 0) {
0x00414430 beqz s1, 0x414448 |
0x00414434 nop |
0x00414438 lw v1, (s0) | v1 = *(s0);
0x0041443c lw v0, -0x20(s0) | v0 = *((s0 - 8));
| if (v1 == v0) {
0x00414440 beq v1, v0, 0x414474 | goto label_47;
| }
0x00414444 nop |
| }
0x00414448 lw v0, -8(s0) | v0 = *((s0 - 2));
0x0041444c sltiu v1, v0, 0xa | v1 = (v0 < 0xa) ? 1 : 0;
0x00414450 sll v0, v0, 2 | v0 <<= 2;
| if (v1 != 0) {
0x00414454 beqz v1, 0x414474 |
0x00414458 addu v0, s6, v0 | v0 = s6 + v0;
0x0041445c lw v0, (v0) | v0 = *(v0);
0x00414460 jr v0 | v0 ();
0x00414464 nop |
| }
| label_47:
0x00414474 addiu s0, s0, 0x20 | s0 += 0x20;
0x00414478 lw v0, -0xc(s0) | v0 = *((s0 - 3));
0x0041447c addiu s1, s1, 1 | s1++;
0x00414480 bnez v0, 0x414430 |
| } while (v0 != 0);
| label_46:
0x00414484 addiu v1, zero, 1 | v1 = 1;
0x00414488 lui v0, 0x4a | v0 = 0x4a0000;
0x0041448c sw v1, -0x1428(v0) | *((v0 - 1290)) = v1;
0x00414490 b 0x413fdc | goto label_12;
| label_23:
0x004144c8 move a0, s2 | a0 = s2;
0x004144cc move a1, zero | a1 = 0;
0x004144d0 addiu a2, zero, 0x240 | a2 = 0x240;
0x004144d4 jal 0x487500 | fcn_00487500 ();
0x004144d8 lui v0, 0x4a | v0 = 0x4a0000;
0x004144dc lw v0, -0x703c(v0) | v0 = *((v0 - 7183));
0x004144e0 lui s7, 0x47 | s7 = 0x470000;
| if (v0 == 0) {
0x004144e4 beqz v0, 0x41453c | goto label_48;
| }
0x004144e8 lui s0, 0x4a | s0 = 0x498fc8;
0x004144ec addiu s0, s0, -0x7038 |
0x004144f0 addiu s1, s7, 0x9d4 | s1 = s7 + 0x9d4;
0x004144f4 b 0x414508 |
| while (v0 == 0) {
| label_13:
0x004144f8 addiu s0, s0, 0x20 | s0 += 0x20;
0x004144fc lw v0, -4(s0) | v0 = *((s0 - 1));
0x00414500 lui a0, 0x4a | a0 = 0x4a0000;
| if (v0 == 0) {
0x00414504 beqz v0, 0x414540 | goto label_49;
| }
| label_14:
0x00414508 lw v0, (s0) | v0 = *(s0);
0x0041450c addiu v0, v0, -5 | v0 += -5;
0x00414510 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x00414514 beqz v0, 0x4144f8 |
| }
0x00414518 nop |
0x0041451c lw a0, 8(s0) | a0 = *((s0 + 2));
0x00414520 move a1, s1 | a1 = s1;
| if (a0 == 0) {
0x00414524 beqz a0, 0x4144f8 | goto label_13;
| }
0x00414528 addiu s0, s0, 0x20 | s0 += 0x20;
0x0041452c jal 0x446ae0 | fcn_00446ae0 ();
0x00414530 lw v0, -4(s0) | v0 = *((s0 - 1));
| if (v0 != 0) {
0x00414534 bnez v0, 0x414508 | goto label_14;
| }
0x00414538 nop |
| label_48:
0x0041453c lui a0, 0x4a | a0 = 0x4a0000;
| label_49:
0x00414540 lui a1, 0x46 | a1 = 0x460000;
0x00414544 addiu a0, a0, -0x71f4 | a0 += -0x71f4;
| /* str.nobody */
0x00414548 addiu a1, a1, 0x9f8 | a1 += 0x9f8;
0x0041454c jal 0x446ae0 | fcn_00446ae0 ();
0x00414550 lui a0, 0x4a | a0 = 0x4a0000;
0x00414554 lui a1, 0x46 | a1 = 0x460000;
0x00414558 addiu a0, a0, -0x7160 | a0 += -0x7160;
| /* str.NTFS */
0x0041455c addiu a1, a1, 0xa00 | a1 += 0xa00;
0x00414560 jal 0x446ae0 | fcn_00446ae0 ();
0x00414564 lui a0, 0x4a | a0 = 0x498e54;
0x00414568 addiu a0, a0, -0x71ac |
0x0041456c addiu a1, s7, 0x9d4 | a1 = s7 + 0x9d4;
0x00414570 jal 0x446ae0 | fcn_00446ae0 ();
0x00414574 lui a0, 0x4a | a0 = 0x4a0000;
0x00414578 lui a1, 0x46 | a1 = 0x460000;
0x0041457c addiu a0, a0, -0x71a4 | a0 += -0x71a4;
| /* str._usr_samba_config_printers.def */
0x00414580 addiu a1, a1, 0xa08 | a1 += 0xa08;
0x00414584 jal 0x446ae0 | fcn_00446ae0 ();
0x00414588 lui v0, 0x4a | v0 = 0x4a0000;
0x0041458c lw v0, -0x7120(v0) | v0 = *((v0 - 7240));
0x00414590 sltiu v1, v0, 0xb | v1 = (v0 < 0xb) ? 1 : 0;
0x00414594 lui v1, 0x46 | v1 = 0x460000;
| if (v1 == 0) {
0x00414598 bnez v1, 0x4145dc |
0x0041459c addiu v0, zero, 1 | v0 = 1;
0x004145a0 sw v0, -0x142c(s5) | *((s5 - 1291)) = v0;
0x004145a4 b 0x413c48 | goto label_15;
| label_40:
0x004145a8 lw v1, -0x1420(v0) | v1 = *((v0 - 1288));
0x004145ac ori v1, v1, 8 | v1 |= 8;
0x004145b0 sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
0x004145b4 b 0x4141f4 | goto label_10;
| label_38:
0x004145b8 sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
0x004145bc b 0x414370 | goto label_16;
| label_44:
0x004145c0 addiu v1, zero, 0x2a03 | v1 = 0x2a03;
0x004145c4 sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
0x004145c8 b 0x414370 | goto label_16;
| label_36:
0x004145cc lui v1, 0x40 | v1 = 0x400a03;
0x004145d0 addiu v1, v1, 0xa03 |
0x004145d4 sw v1, -0x1420(v0) | *((v0 - 1288)) = v1;
0x004145d8 b 0x4141cc | goto label_17;
| }
0x004145dc sll v0, v0, 2 | v0 <<= 2;
0x004145e0 addiu v1, v1, 0x22c0 | v1 += 0x22c0;
0x004145e4 addu v0, v1, v0 | v0 = v1 + v0;
0x004145e8 lw v0, (v0) | v0 = *(v0);
0x004145ec lui a0, 0x4a | a0 = 0x498e38;
0x004145f0 addiu a0, a0, -0x71c8 |
0x004145f4 jr v0 | v0 ();
| label_43:
0x004145f8 sw v1, -0x1424(s0) | *((s0 - 1289)) = v1;
0x004145fc slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00414600 addiu a0, zero, 1 | a0 = 1;
| if (v0 != 0) {
0x00414604 bnez v0, 0x41419c | goto label_4;
| }
0x00414608 lui a1, 0x46 | a1 = 0x460000;
0x0041460c lui a2, 0x46 | a2 = 0x460000;
0x00414610 addiu a0, zero, 0xa | a0 = 0xa;
| /* esilref: 'param/loadparm.c' */
0x00414614 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.set_server_role */
0x00414618 addiu a2, a2, 0x2408 | a2 += 0x2408;
0x0041461c addiu a3, zero, 0xd67 | a3 = 0xd67;
0x00414620 jal 0x4381b8 | fcn_004381b8 ();
0x00414624 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x00414628 beqz v0, 0x414198 | goto label_5;
| }
| /* str.set_server_role:_ROLE_DOMAIN_MEMBER_n */
0x0041462c addiu a0, a0, 0xe24 | a0 += 0xe24;
0x00414630 jal 0x437cc4 | fcn_00437cc4 ();
0x00414634 lw a0, -0x1424(s0) | a0 = *((s0 - 1289));
0x00414638 b 0x41419c | goto label_4;
| label_45:
0x0041463c slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00414640 move a0, zero | a0 = 0;
| if (v0 != 0) {
0x00414644 bnez v0, 0x41419c | goto label_4;
| }
0x00414648 lui a1, 0x46 | a1 = 0x460000;
0x0041464c lui a2, 0x46 | a2 = 0x460000;
0x00414650 addiu a0, zero, 0xa | a0 = 0xa;
| /* esilref: 'param/loadparm.c' */
0x00414654 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.set_server_role */
0x00414658 addiu a2, a2, 0x2408 | a2 += 0x2408;
0x0041465c addiu a3, zero, 0xd6f | a3 = 0xd6f;
0x00414660 jal 0x4381b8 | fcn_004381b8 ();
0x00414664 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x00414668 beqz v0, 0x414198 | goto label_5;
| }
| /* str.set_server_role:_ROLE_STANDALONE_n */
| label_19:
0x0041466c addiu a0, a0, 0xddc | a0 += 0xddc;
0x00414670 jal 0x437cc4 | fcn_00437cc4 ();
0x00414674 lw a0, -0x1424(s0) | a0 = *((s0 - 1289));
0x00414678 b 0x41419c | goto label_4;
| label_32:
0x0041467c lw v0, -0x2b40(s5) | v0 = *((s5 - 2768));
| if (v0 != 0) {
0x00414680 bnez v0, 0x414144 | goto label_18;
| }
0x00414684 lw v0, 0x1a4(s2) | v0 = *((s2 + 105));
0x00414688 lw v0, -0x2b40(s5) | v0 = *((s5 - 2768));
| if (v0 != 0) {
0x0041468c bnez v0, 0x4146c4 | goto label_50;
| }
| label_20:
0x00414690 slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00414694 lui a1, 0x46 | a1 = 0x460000;
| if (v0 != 0) {
0x00414698 bnez v0, 0x414198 | goto label_5;
| }
0x0041469c lui a2, 0x46 | a2 = 0x460000;
0x004146a0 addiu a0, zero, 0xa | a0 = 0xa;
| /* esilref: 'param/loadparm.c' */
0x004146a4 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.set_server_role */
0x004146a8 addiu a2, a2, 0x2408 | a2 += 0x2408;
0x004146ac addiu a3, zero, 0xd5d | a3 = 0xd5d;
0x004146b0 jal 0x4381b8 | fcn_004381b8 ();
0x004146b4 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x004146b8 beqz v0, 0x414198 | goto label_5;
| }
0x004146bc b 0x41466c | goto label_19;
0x004146c0 nop |
| label_50:
0x004146c4 lui s1, 0x4b | s1 = 0x4b0000;
| if (v0 < 0) {
0x004146c8 bltz v0, 0x414198 | goto label_5;
| }
0x004146cc lui a1, 0x46 | a1 = 0x460000;
0x004146d0 lui a2, 0x46 | a2 = 0x460000;
0x004146d4 move a0, zero | a0 = 0;
| /* esilref: 'param/loadparm.c' */
0x004146d8 addiu a1, a1, 0x3a8 | a1 += 0x3a8;
| /* str.set_server_role */
0x004146dc addiu a2, a2, 0x2408 | a2 += 0x2408;
0x004146e0 addiu a3, zero, 0xd5c | a3 = 0xd5c;
0x004146e4 jal 0x4381b8 | fcn_004381b8 ();
0x004146e8 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x004146ec bnez v0, 0x4149c8 |
0x004146f0 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
0x004146f4 b 0x414690 | goto label_20;
| /* esilref: 'No' */
| label_42:
0x004146f8 addiu a1, a1, 0x638 | a1 += 0x638;
0x004146fc b 0x4142c0 | goto label_21;
| /* str.set_server_role:_ROLE_STANDALONE_n */
| label_35:
0x00414700 addiu a0, a0, 0xddc | a0 += 0xddc;
0x00414704 jal 0x437cc4 | fcn_00437cc4 ();
0x00414708 lw a0, -0x1424(s0) | a0 = *((s0 - 1289));
0x0041470c b 0x41419c | goto label_4;
| /* str.Servers_Role_undefined_due_to_unknown_security_mode_n */
| label_34:
0x004149b8 addiu a0, a0, 0xe70 | a0 += 0xe70;
0x004149bc jal 0x437cc4 | fcn_00437cc4 ();
0x004149c0 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
0x004149c4 b 0x414174 | goto label_22;
| }
| /* str.Servers_Role__logon_server__conflicts_with_share_level_security_n */
0x004149c8 addiu a0, a0, 0xd98 | a0 += 0xd98;
0x004149cc jal 0x437cc4 | fcn_00437cc4 ();
0x004149d0 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
0x004149d4 b 0x414690 | goto label_20;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x41747c */
| #include <stdint.h>
|
; (fcn) fcn.0041747c () | void fcn_0041747c () {
0x0041747c addiu sp, sp, -0x348 |
0x00417480 sw s0, 0x324(sp) | *(var_324h) = s0;
0x00417484 move s0, a0 | s0 = a0;
0x00417488 lw a0, 0xd64(a0) | a0 = *((a0 + 857));
0x0041748c sw s3, 0x330(sp) | *(var_330h) = s3;
0x00417490 sw s2, 0x32c(sp) | *(var_32ch) = s2;
0x00417494 move s3, a2 | s3 = a2;
0x00417498 move s2, a1 | s2 = a1;
0x0041749c addiu a2, zero, 0x27 | a2 = 0x27;
0x004174a0 move a1, zero | a1 = 0;
0x004174a4 sw ra, 0x344(sp) | *(var_344h) = ra;
0x004174a8 sw s4, 0x334(sp) | *(var_334h) = s4;
0x004174ac sw s1, 0x328(sp) | *(var_328h) = s1;
0x004174b0 move s4, a3 | s4 = a3;
0x004174b4 sw s7, 0x340(sp) | *(var_340h) = s7;
0x004174b8 sw s6, 0x33c(sp) | *(var_33ch) = s6;
0x004174bc sw s5, 0x338(sp) | *(var_338h) = s5;
0x004174c0 lw s1, 0x358(sp) | s1 = *(arg_358h);
0x004174c4 jal 0x487500 | fcn_00487500 ();
0x004174c8 lw a0, 0xd68(s0) | a0 = *((s0 + 858));
0x004174cc move a1, zero | a1 = 0;
0x004174d0 addiu a2, zero, 0x27 | a2 = 0x27;
0x004174d4 jal 0x487500 | fcn_00487500 ();
0x004174d8 addiu a0, s0, 0x724 | a0 = s0 + 0x724;
0x004174dc move a1, s2 | a1 = s2;
0x004174e0 addiu a2, zero, 0xff | a2 = 0xff;
0x004174e4 jal 0x4461f8 | fcn_004461f8 ();
0x004174e8 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x004174ec andi v1, v0, 1 | v1 = v0 & 1;
0x004174f0 andi v1, v0, 2 | v1 = v0 & 2;
| if (v1 != 0) {
0x004174f4 beqz v1, 0x417504 |
0x004174f8 lui s4, 0x47 | s4 = 0x470000;
0x004174fc addiu s1, zero, 1 | s1 = 1;
0x00417500 addiu s4, s4, 0x9d4 | s4 += 0x9d4;
| }
| if (v1 == 0) {
0x00417504 beqz v1, 0x417588 | goto label_4;
| }
0x00417508 nop |
0x0041750c lb v1, (s4) | v1 = *(s4);
0x00417510 addiu v1, zero, 0x18 | v1 = 0x18;
| if (v1 == 0) {
0x00417514 beqz v1, 0x417588 | goto label_4;
| }
0x00417518 move a2, s4 | a2 = s4;
| if (s1 == v1) {
0x0041751c beq s1, v1, 0x417588 | goto label_4;
| }
0x00417520 addiu v0, zero, 3 | v0 = 3;
0x00417524 move a0, s0 | a0 = s0;
0x00417528 addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x0041752c addiu a3, zero, -1 | a3 = -1;
0x00417530 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00417534 addiu s5, sp, 0x120 | s5 = sp + 0x120;
0x00417538 jal 0x42682c | fcn_0042682c ();
0x0041753c addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x00417540 addiu a1, s0, 0xd3c | a1 = s0 + 0xd3c;
0x00417544 move a2, s5 | a2 = s5;
0x00417548 jal 0x4279ec | fcn_004279ec ();
0x0041754c lw v1, (s0) | v1 = *(s0);
0x00417550 addiu v0, zero, 0x1bd | v0 = 0x1bd;
0x00417554 addiu s1, zero, 0x18 | s1 = 0x18;
0x00417558 move s7, zero | s7 = 0;
0x0041755c addiu s6, zero, 0x18 | s6 = 0x18;
0x00417560 addiu s4, sp, 0x220 | s4 = sp + 0x220;
| if (v1 != v0) {
0x00417564 bne v1, v0, 0x4175bc | goto label_5;
| }
| do {
0x00417568 lui a2, 0x46 | a2 = 0x460000;
0x0041756c move a0, s4 | a0 = s4;
0x00417570 addiu a1, zero, 0xff | a1 = 0xff;
| /* esilref: '&s' */
0x00417574 addiu a2, a2, -0x209c | a2 += -0x209c;
0x00417578 move a3, s2 | a3 = s2;
0x0041757c jal 0x444430 | sym_snprintf ()
0x00417580 lw a0, 0xd64(s0) | a0 = *((s0 + 857));
0x00417584 b 0x4175dc | goto label_6;
| label_4:
0x00417588 andi v0, v0, 3 | v0 &= 3;
0x0041758c addiu s5, sp, 0x120 | s5 = sp + 0x120;
| if (v0 == 0) {
0x00417590 beqz v0, 0x4176d8 | goto label_7;
| }
0x00417594 move a0, s5 | a0 = s5;
0x00417598 move a1, s4 | a1 = s4;
0x0041759c move a2, s1 | a2 = s1;
0x004175a0 move s6, s1 | s6 = s1;
0x004175a4 ext s7, s1, 8, 8 | __asm ("ext s7, s1, 8, 8");
0x004175a8 jal 0x486f90 | fcn_00486f90 ();
| label_0:
0x004175ac lw v1, (s0) | v1 = *(s0);
0x004175b0 addiu v0, zero, 0x1bd | v0 = 0x1bd;
0x004175b4 addiu s4, sp, 0x220 | s4 = sp + 0x220;
0x004175b8 beq v1, v0, 0x417568 |
| } while (v1 == v0);
| label_5:
0x004175bc lui a2, 0x46 | a2 = 0x460000;
0x004175c0 sw s2, 0x10(sp) | *(var_10h) = s2;
0x004175c4 move a0, s4 | a0 = s4;
0x004175c8 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._s_s */
0x004175cc addiu a2, a2, 0x2860 | a2 += 0x2860;
0x004175d0 addiu a3, s0, 0x124 | a3 = s0 + 0x124;
0x004175d4 jal 0x444430 | sym_snprintf ()
0x004175d8 lw a0, 0xd64(s0) | a0 = *((s0 + 857));
| label_6:
0x004175dc addiu a3, zero, 1 | a3 = 1;
0x004175e0 addiu a1, zero, 4 | a1 = 4;
0x004175e4 move a2, zero | a2 = 0;
0x004175e8 jal 0x44d908 | fcn_0044d908 ();
0x004175ec lw v0, 0xd64(s0) | v0 = *((s0 + 857));
0x004175f0 addiu v1, zero, 0x75 | v1 = 0x75;
0x004175f4 move a0, s0 | a0 = s0;
0x004175f8 sb v1, 8(v0) | *((v0 + 8)) = v1;
0x004175fc jal 0x416008 | fcn_00416008 ();
0x00417600 lw v0, 0xd64(s0) | v0 = *((s0 + 857));
0x00417604 addiu v1, zero, -1 | v1 = -1;
0x00417608 move a2, s1 | a2 = s1;
0x0041760c sb v1, 0x25(v0) | *((v0 + 37)) = v1;
0x00417610 lw v0, 0xd64(s0) | v0 = *((s0 + 857));
0x00417614 move a1, s5 | a1 = s5;
0x00417618 sb zero, 0x26(v0) | *((v0 + 38)) = 0;
0x0041761c lw v0, 0xd64(s0) | v0 = *((s0 + 857));
0x00417620 sb s6, 0x2b(v0) | *((v0 + 43)) = s6;
0x00417624 lw v0, 0xd64(s0) | v0 = *((s0 + 857));
0x00417628 sb s7, 0x2c(v0) | *((v0 + 44)) = s7;
0x0041762c lw v0, 0xd64(s0) | v0 = *((s0 + 857));
0x00417630 lbu v1, 0x24(v0) | v1 = *((v0 + 36));
0x00417634 sll v1, v1, 1 | v1 <<= 1;
0x00417638 addiu v1, v1, 0x27 | v1 += 0x27;
0x0041763c addu v1, v0, v1 | v1 = v0 + v1;
0x00417640 move a0, v1 | a0 = v1;
0x00417644 jal 0x486f90 | fcn_00486f90 ();
0x00417648 addu s1, v0, s1 | s1 = v0 + s1;
0x0041764c addiu v0, zero, 7 | v0 = 7;
0x00417650 addiu a3, zero, -1 | a3 = -1;
0x00417654 move a1, s1 | a1 = s1;
0x00417658 move a0, s0 | a0 = s0;
0x0041765c move a2, s4 | a2 = s4;
0x00417660 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00417664 jal 0x42682c | fcn_0042682c ();
0x00417668 addu s1, s1, v0 | s1 += v0;
0x0041766c addiu a2, zero, 0xff | a2 = 0xff;
0x00417670 move a1, s3 | a1 = s3;
0x00417674 move a0, s1 | a0 = s1;
0x00417678 jal 0x4461f8 | fcn_004461f8 ();
0x0041767c move a0, s3 | a0 = s3;
0x00417680 jal 0x487740 | fcn_00487740 ();
0x00417684 addiu v0, v0, 1 | v0++;
0x00417688 addu a1, s1, v0 | a1 = s1 + v0;
0x0041768c move a0, s0 | a0 = s0;
0x00417690 jal 0x4160b4 | fcn_004160b4 ();
0x00417694 move a0, s0 | a0 = s0;
0x00417698 jal 0x415ec8 | fcn_00415ec8 ();
0x0041769c move a0, s0 | a0 = s0;
0x004176a0 jal 0x415d8c | fcn_00415d8c ();
0x004176a4 lw ra, 0x344(sp) | ra = *(var_344h);
0x004176a8 bnez v0, 0x417704 |
| while (v0 != 0) {
0x004176ac lw s7, 0x340(sp) | s7 = *(var_340h);
0x004176b0 lw s6, 0x33c(sp) | s6 = *(var_33ch);
0x004176b4 lw s5, 0x338(sp) | s5 = *(var_338h);
0x004176b8 lw s4, 0x334(sp) | s4 = *(var_334h);
0x004176bc lw s3, 0x330(sp) | s3 = *(var_330h);
0x004176c0 lw s2, 0x32c(sp) | s2 = *(var_32ch);
0x004176c4 lw s1, 0x328(sp) | s1 = *(var_328h);
0x004176c8 lw s0, 0x324(sp) | s0 = *(var_324h);
0x004176cc move v0, zero | v0 = 0;
0x004176d0 addiu sp, sp, 0x348 |
0x004176d4 jr ra | return v1;
| label_7:
0x004176d8 addiu v0, zero, 3 | v0 = 3;
0x004176dc sw v0, 0x10(sp) | *(var_10h) = v0;
0x004176e0 move a0, s0 | a0 = s0;
0x004176e4 move a1, s5 | a1 = s5;
0x004176e8 move a2, s4 | a2 = s4;
0x004176ec addiu a3, zero, -1 | a3 = -1;
0x004176f0 jal 0x42682c | fcn_0042682c ();
0x004176f4 move s6, v0 | s6 = v0;
0x004176f8 ext s7, v0, 8, 8 | __asm ("ext s7, v0, 8, 8");
0x004176fc move s1, v0 | s1 = v0;
0x00417700 b 0x4175ac | goto label_0;
0x00417704 move a0, s0 | a0 = s0;
0x00417708 jal 0x41d108 | fcn_0041d108 ();
0x0041770c lw ra, 0x344(sp) | ra = *(var_344h);
0x00417710 bnez v0, 0x4176ac |
| }
0x00417714 addiu s1, s0, 0x824 | s1 = s0 + 0x824;
0x00417718 lui a1, 0x46 | a1 = 0x460000;
0x0041771c move a0, s1 | a0 = s1;
| /* esilref: 'A:' */
0x00417720 addiu a1, a1, 0x2868 | a1 += 0x2868;
0x00417724 addiu a2, zero, 0xff | a2 = 0xff;
0x00417728 jal 0x4461f8 | fcn_004461f8 ();
0x0041772c lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x00417730 slti v0, v0, 5 | v0 = (v0 < 5) ? 1 : 0;
0x00417734 addiu v1, zero, -1 | v1 = -1;
| if (v0 == 0) {
0x00417738 beqz v0, 0x4177f8 | goto label_8;
| }
0x0041773c lui a1, 0x46 | a1 = 0x460000;
| label_3:
0x00417740 move a0, s2 | a0 = s2;
| /* str.IPC_ */
0x00417744 addiu a1, a1, -0x1a7c | a1 += -0x1a7c;
0x00417748 jal 0x4873b0 | fcn_004873b0 ();
0x0041774c move a0, s1 | a0 = s1;
| if (v0 == 0) {
0x00417750 beqz v0, 0x4177e0 | goto label_9;
| }
0x00417754 lw v0, 0x14(s0) | v0 = *((s0 + 5));
| label_2:
0x00417758 slti v0, v0, 5 | v0 = (v0 < 5) ? 1 : 0;
| if (v0 == 0) {
0x0041775c beqz v0, 0x4177ac | goto label_10;
| }
0x00417760 nop |
0x00417764 lw v0, 0xd68(s0) | v0 = *((s0 + 858));
| do {
| label_1:
0x00417768 lbu v1, 0x1d(v0) | v1 = *((v0 + 29));
0x0041776c lbu a0, 0x1c(v0) | a0 = *((v0 + 28));
0x00417770 lw ra, 0x344(sp) | ra = *(var_344h);
0x00417774 sll v1, v1, 8 | v1 <<= 8;
0x00417778 or v1, v1, a0 | v1 |= a0;
0x0041777c sh v1, 0xc(s0) | *((s0 + 6)) = v1;
0x00417780 lw s7, 0x340(sp) | s7 = *(var_340h);
0x00417784 lw s6, 0x33c(sp) | s6 = *(var_33ch);
0x00417788 lw s5, 0x338(sp) | s5 = *(var_338h);
0x0041778c lw s4, 0x334(sp) | s4 = *(var_334h);
0x00417790 lw s3, 0x330(sp) | s3 = *(var_330h);
0x00417794 lw s2, 0x32c(sp) | s2 = *(var_32ch);
0x00417798 lw s1, 0x328(sp) | s1 = *(var_328h);
0x0041779c lw s0, 0x324(sp) | s0 = *(var_324h);
0x004177a0 addiu v0, zero, 1 | v0 = 1;
0x004177a4 addiu sp, sp, 0x348 |
0x004177a8 jr ra | return v1;
| label_10:
0x004177ac lw v0, 0xd68(s0) | v0 = *((s0 + 858));
0x004177b0 lbu v1, 0x24(v0) | v1 = *((v0 + 36));
0x004177b4 sll v1, v1, 1 | v1 <<= 1;
0x004177b8 addu v1, v0, v1 | v1 = v0 + v1;
0x004177bc lbu a0, 0x26(v1) | a0 = *((v1 + 38));
0x004177c0 lbu v1, 0x25(v1) | v1 = *((v1 + 37));
0x004177c4 sll a0, a0, 8 | a0 <<= 8;
0x004177c8 or a0, a0, v1 | a0 |= v1;
0x004177cc addiu v1, zero, 3 | v1 = 3;
0x004177d0 addiu v1, zero, 1 | v1 = 1;
0x004177d4 bne a0, v1, 0x417768 |
| } while (a0 != v1);
0x004177d8 sw v1, 0xd74(s0) | *((s0 + 861)) = v1;
0x004177dc b 0x417768 | goto label_1;
| label_9:
0x004177e0 lui a1, 0x46 | a1 = 0x45dc8c;
| /* esilref: 'IPC' */
0x004177e4 addiu a1, a1, -0x2374 |
0x004177e8 addiu a2, zero, 0xff | a2 = 0xff;
0x004177ec jal 0x4461f8 | fcn_004461f8 ();
0x004177f0 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x004177f4 b 0x417758 | goto label_2;
| label_8:
0x004177f8 lw v0, 0xd68(s0) | v0 = *((s0 + 858));
0x004177fc move a0, s0 | a0 = s0;
0x00417800 lbu a2, 0x24(v0) | a2 = *((v0 + 36));
0x00417804 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00417808 addiu v1, zero, 1 | v1 = 1;
0x0041780c sll a2, a2, 1 | a2 <<= 1;
0x00417810 addiu a2, a2, 0x27 | a2 += 0x27;
0x00417814 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00417818 move a1, s1 | a1 = s1;
0x0041781c addu a2, v0, a2 | a2 = v0 + a2;
0x00417820 addiu a3, zero, 0x100 | a3 = 0x100;
0x00417824 jal 0x426a24 | fcn_00426a24 ();
0x00417828 lui a1, 0x46 | a1 = 0x460000;
0x0041782c b 0x417740 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x41cccc */
| #include <stdint.h>
|
; (fcn) fcn.0041cccc () | void fcn_0041cccc () {
0x0041cccc lw v0, 0xd68(a0) | v0 = *((a0 + 858));
0x0041ccd0 lw v1, 0xd70(a0) | v1 = *((a0 + 860));
0x0041ccd4 addiu sp, sp, -0x28 |
0x0041ccd8 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0041ccdc sw s0, 0x20(sp) | *(var_20h) = s0;
0x0041cce0 lbu a1, 0xf(v0) | a1 = *((v0 + 15));
| if (v1 == 0) {
0x0041cce4 beqz v1, 0x41cdfc | goto label_2;
| }
0x0041cce8 move s0, a0 | s0 = a0;
0x0041ccec lw a0, 4(a0) | a0 = *((a0 + 1));
0x0041ccf0 addiu v1, zero, -1 | v1 = -1;
| if (a0 == v1) {
0x0041ccf4 beq a0, v1, 0x41cd90 | goto label_3;
| }
0x0041ccf8 nop |
| label_0:
0x0041ccfc lw a3, 0x1c(s0) | a3 = *((s0 + 7));
| if (a3 == 0) {
0x0041cd00 beqz a3, 0x41cd60 | goto label_4;
| }
0x0041cd04 nop |
0x0041cd08 addiu v0, zero, 5 | v0 = 5;
0x0041cd0c lui v1, 0x46 | v1 = 0x460000;
| if (a3 == v0) {
0x0041cd10 beq a3, v0, 0x41cf20 | goto label_5;
| }
| /* esilref: 'RAP50: Not supported by server' */
0x0041cd14 addiu v1, v1, 0x31cc | v1 += 0x31cc;
0x0041cd18 b 0x41cd28 |
| while (v0 != 0) {
0x0041cd1c lw a0, -0xc(v1) | a0 = *((v1 - 3));
0x0041cd20 lw ra, 0x24(sp) | ra = *(var_24h);
| if (a3 == a0) {
0x0041cd24 beq a3, a0, 0x41cd84 | goto label_6;
| }
0x0041cd28 addiu v1, v1, 8 | v1 += 8;
0x0041cd2c lw v0, -8(v1) | v0 = *((v1 - 2));
0x0041cd30 lui s0, 0x4a | s0 = 0x4a0000;
0x0041cd34 bnez v0, 0x41cd1c |
| }
0x0041cd38 lui a2, 0x46 | a2 = 0x460000;
0x0041cd3c addiu a0, s0, -0x12f0 | a0 = s0 + -0x12f0;
0x0041cd40 addiu a1, zero, 0xff | a1 = 0xff;
| /* str.RAP_code__d */
0x0041cd44 addiu a2, a2, 0x2ecc | a2 += 0x2ecc;
0x0041cd48 jal 0x444430 | sym_snprintf ()
0x0041cd4c lw ra, 0x24(sp) | ra = *(var_24h);
0x0041cd50 addiu v0, s0, -0x12f0 | v0 = s0 + -0x12f0;
0x0041cd54 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0041cd58 addiu sp, sp, 0x28 |
0x0041cd5c jr ra | return v0;
| label_4:
0x0041cd60 ext a1, a1, 6, 1 | __asm ("ext a1, a1, 6, 1");
0x0041cd64 addiu a1, sp, 0x1c | a1 = sp + 0x1c;
| if (a1 != 0) {
0x0041cd68 bnez a1, 0x41ce28 | goto label_7;
| }
0x0041cd6c move a0, s0 | a0 = s0;
0x0041cd70 addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x0041cd74 jal 0x41cc38 | fcn_0041cc38 ();
0x0041cd78 lw a0, 0xd68(s0) | a0 = *((s0 + 858));
0x0041cd7c jal 0x428118 | fcn_00428118 ();
| label_1:
0x0041cd80 lw ra, 0x24(sp) | ra = *(var_24h);
| label_6:
0x0041cd84 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0041cd88 addiu sp, sp, 0x28 |
0x0041cd8c jr ra | return v0;
| label_3:
0x0041cd90 lw a3, 8(s0) | a3 = *((s0 + 2));
| if (a3 == 0) {
0x0041cd94 beqz a3, 0x41ccfc | goto label_0;
| }
0x0041cd98 nop |
0x0041cd9c addiu v0, zero, 2 | v0 = 2;
0x0041cda0 lui v1, 0x46 | v1 = 0x460000;
| if (a3 == v0) {
0x0041cda4 beq a3, v0, 0x41ced0 | goto label_8;
| }
0x0041cda8 slti v0, a3, 3 | v0 = (a3 < 3) ? 1 : 0;
0x0041cdac addiu v0, zero, 1 | v0 = 1;
| if (v0 != 0) {
0x0041cdb0 bnez v0, 0x41ce64 | goto label_9;
| }
0x0041cdb4 addiu v0, zero, 3 | v0 = 3;
| if (a3 == v0) {
0x0041cdb8 beq a3, v0, 0x41ceac | goto label_10;
| }
0x0041cdbc nop |
0x0041cdc0 addiu v0, zero, 4 | v0 = 4;
| if (a3 != v0) {
0x0041cdc4 bne a3, v0, 0x41ce6c | goto label_11;
| }
0x0041cdc8 nop |
0x0041cdcc lui s0, 0x4a | s0 = 0x4a0000;
0x0041cdd0 jal 0x4876a0 | fcn_004876a0 ();
0x0041cdd4 lw a0, (v0) | a0 = *(v0);
0x0041cdd8 jal 0x486ee0 | fcn_00486ee0 ();
0x0041cddc lui a2, 0x46 | a2 = 0x460000;
0x0041cde0 addiu a0, s0, -0x12f0 | a0 = s0 + -0x12f0;
0x0041cde4 addiu a1, zero, 0xff | a1 = 0xff;
| /* str.Write_error:__s_n */
0x0041cde8 addiu a2, a2, 0x2ea0 | a2 += 0x2ea0;
| do {
0x0041cdec move a3, v0 | a3 = v0;
0x0041cdf0 jal 0x444430 | sym_snprintf ()
0x0041cdf4 addiu v0, s0, -0x12f0 | v0 = s0 + -0x12f0;
0x0041cdf8 b 0x41cd80 | goto label_1;
| label_2:
0x0041cdfc lui s0, 0x4a | s0 = 0x4a0000;
0x0041ce00 lui a1, 0x46 | a1 = 0x460000;
0x0041ce04 addiu a0, s0, -0x12f0 | a0 = s0 + -0x12f0;
| /* str._Programmers_error__cli_errstr_called_on_unitialized_cli_stat_struct__n */
0x0041ce08 addiu a1, a1, 0x2de8 | a1 += 0x2de8;
0x0041ce0c addiu a2, zero, 0xff | a2 = 0xff;
0x0041ce10 jal 0x4461f8 | fcn_004461f8 ();
0x0041ce14 lw ra, 0x24(sp) | ra = *(var_24h);
0x0041ce18 addiu v0, s0, -0x12f0 | v0 = s0 + -0x12f0;
0x0041ce1c lw s0, 0x20(sp) | s0 = *(var_20h);
0x0041ce20 addiu sp, sp, 0x28 |
0x0041ce24 jr ra | return v0;
| label_7:
0x0041ce28 lbu a2, 0xc(v0) | a2 = *((v0 + 12));
0x0041ce2c lbu a1, 0xb(v0) | a1 = *((v0 + 11));
0x0041ce30 lbu a0, 0xa(v0) | a0 = *((v0 + 10));
0x0041ce34 lbu v1, 9(v0) | v1 = *((v0 + 9));
0x0041ce38 sll v0, a2, 8 | v0 = a2 << 8;
0x0041ce3c or v0, v0, a1 | v0 |= a1;
0x0041ce40 sll a0, a0, 8 | a0 <<= 8;
0x0041ce44 or a0, a0, v1 | a0 |= v1;
0x0041ce48 sll v0, v0, 0x10 | v0 <<= 0x10;
0x0041ce4c or a0, a0, v0 | a0 |= v0;
0x0041ce50 jal 0x426c60 | fcn_00426c60 ();
0x0041ce54 lw ra, 0x24(sp) | ra = *(var_24h);
0x0041ce58 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0041ce5c addiu sp, sp, 0x28 |
0x0041ce60 jr ra | return v0;
| label_9:
0x0041ce64 addiu a1, zero, 0xff | a1 = 0xff;
| if (a3 != v0) {
0x0041ce68 beq a3, v0, 0x41ce8c |
| label_11:
0x0041ce6c lui s0, 0x4a | s0 = 0x4a0000;
0x0041ce70 lui a2, 0x46 | a2 = 0x460000;
0x0041ce74 addiu a0, s0, -0x12f0 | a0 = s0 + -0x12f0;
0x0041ce78 addiu a1, zero, 0xff | a1 = 0xff;
| /* str.Unknown_error_code__d_n */
0x0041ce7c addiu a2, a2, 0x2eb4 | a2 += 0x2eb4;
0x0041ce80 jal 0x444430 | sym_snprintf ()
0x0041ce84 addiu v0, s0, -0x12f0 | v0 = s0 + -0x12f0;
0x0041ce88 b 0x41cd80 | goto label_1;
| }
0x0041ce8c lw a3, 0xd58(s0) | a3 = *((s0 + 854));
0x0041ce90 lui a2, 0x46 | a2 = 0x460000;
0x0041ce94 lui s0, 0x4a | s0 = 0x4a0000;
0x0041ce98 addiu a0, s0, -0x12f0 | a0 = 0x49ed10;
| /* str.Call_timed_out:_server_did_not_respond_after__d_milliseconds */
0x0041ce9c addiu a2, a2, 0x2e30 | a2 += 0x2e30;
0x0041cea0 jal 0x444430 | sym_snprintf ()
0x0041cea4 addiu v0, s0, -0x12f0 | v0 = s0 + -0x12f0;
0x0041cea8 b 0x41cd80 | goto label_1;
| label_10:
0x0041ceac lui s0, 0x4a | s0 = 0x4a0000;
0x0041ceb0 jal 0x4876a0 | fcn_004876a0 ();
0x0041ceb4 lw a0, (v0) | a0 = *(v0);
0x0041ceb8 jal 0x486ee0 | fcn_00486ee0 ();
0x0041cebc lui a2, 0x46 | a2 = 0x460000;
0x0041cec0 addiu a0, s0, -0x12f0 | a0 = s0 + -0x12f0;
0x0041cec4 addiu a1, zero, 0xff | a1 = 0xff;
| /* str.Read_error:__s_n */
0x0041cec8 addiu a2, a2, 0x2e90 | a2 += 0x2e90;
0x0041cecc b 0x41cdec |
| } while (1);
| /* str.Call_returned_zero_bytes__EOF__n */
| label_8:
0x0041ced0 addiu v0, v1, 0x2e70 | v0 = v1 + 0x2e70;
0x0041ced4 lw t3, 0x2e70(v1) | t3 = *((v1 + 2972));
0x0041ced8 lw t2, 4(v0) | t2 = *((v0 + 1));
0x0041cedc lw t1, 8(v0) | t1 = *((v0 + 2));
0x0041cee0 lw t0, 0xc(v0) | t0 = *((v0 + 3));
0x0041cee4 lw a3, 0x10(v0) | a3 = *((v0 + 4));
0x0041cee8 lw a2, 0x14(v0) | a2 = *((v0 + 5));
0x0041ceec lw a1, 0x18(v0) | a1 = *((v0 + 6));
0x0041cef0 lw a0, 0x1c(v0) | a0 = *((v0 + 7));
0x0041cef4 lui v1, 0x4a | v1 = 0x4a0000;
0x0041cef8 addiu v0, v1, -0x12f0 | v0 = v1 + -0x12f0;
0x0041cefc sw t3, -0x12f0(v1) | *((v1 - 1212)) = t3;
0x0041cf00 sw t2, 4(v0) | *((v0 + 1)) = t2;
0x0041cf04 sw t1, 8(v0) | *((v0 + 2)) = t1;
0x0041cf08 sw t0, 0xc(v0) | *((v0 + 3)) = t0;
0x0041cf0c sw a3, 0x10(v0) | *((v0 + 4)) = a3;
0x0041cf10 sw a2, 0x14(v0) | *((v0 + 5)) = a2;
0x0041cf14 sw a1, 0x18(v0) | *((v0 + 6)) = a1;
0x0041cf18 sw a0, 0x1c(v0) | *((v0 + 7)) = a0;
0x0041cf1c b 0x41cd80 | goto label_1;
| label_5:
0x0041cf20 lui v0, 0x46 | v0 = "RAP5: User has insufficient privilege";
| /* str.RAP5:_User_has_insufficient_privilege */
0x0041cf24 addiu v0, v0, 0x2dc0 |
0x0041cf28 b 0x41cd80 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x4243c8 */
| #include <stdint.h>
|
; (fcn) fcn.004243c8 () | void fcn_004243c8 () {
0x004243c8 addiu sp, sp, -0x140 |
0x004243cc sw s4, 0x130(sp) | *(var_130h) = s4;
0x004243d0 move s4, a1 | s4 = a1;
0x004243d4 lui a1, 0x46 | a1 = 0x460000;
0x004243d8 sw s0, 0x120(sp) | *(var_120h) = s0;
0x004243dc addiu a1, a1, 0xc78 | a1 += 0xc78;
0x004243e0 move s0, a0 | s0 = a0;
0x004243e4 move a0, a2 | a0 = a2;
0x004243e8 sw s2, 0x128(sp) | *(var_128h) = s2;
0x004243ec sw ra, 0x13c(sp) | *(var_13ch) = ra;
0x004243f0 sw s6, 0x138(sp) | *(var_138h) = s6;
0x004243f4 sw s5, 0x134(sp) | *(var_134h) = s5;
0x004243f8 sw s3, 0x12c(sp) | *(var_12ch) = s3;
0x004243fc sw s1, 0x124(sp) | *(var_124h) = s1;
0x00424400 move s2, a2 | s2 = a2;
0x00424404 jal 0x487590 | fcn_00487590 ();
0x00424408 lui a2, 0x46 | a2 = 0x460000;
| if (v0 != 0) {
0x0042440c bnez v0, 0x4244c4 | goto label_1;
| }
0x00424410 lw v0, 0x54(s2) | v0 = *((s2 + 21));
0x00424414 addiu v1, zero, 0x2a | v1 = 0x2a;
0x00424418 sw zero, 0x20(sp) | *(s) = 0;
0x0042441c sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00424420 sw zero, 0x24(sp) | *(var_24h) = 0;
0x00424424 sw zero, 0x28(sp) | *(var_28h) = 0;
0x00424428 sw zero, 0x30(sp) | *(var_30h) = 0;
0x0042442c sb v1, 0x20(sp) | *(s) = v1;
0x00424430 sb v0, 0x2f(sp) | *(var_2fh) = v0;
0x00424434 addiu t0, zero, 0x2a | t0 = 0x2a;
| label_0:
0x00424438 addu v1, s0, s4 | v1 = s0 + s4;
0x0042443c addiu v0, s4, 1 | v0 = s4 + 1;
0x00424440 addiu a0, zero, 0x20 | a0 = 0x20;
0x00424444 sb a0, (v1) | *(v1) = a0;
0x00424448 addu v0, s0, v0 | v0 = s0 + v0;
0x0042444c addiu v1, sp, 0x21 | v1 = sp + 0x21;
0x00424450 addiu t2, sp, 0x30 | t2 = sp + 0x30;
0x00424454 b 0x424460 |
| while (v1 != t2) {
0x00424458 lb t0, (v1) | t0 = *(v1);
0x0042445c addiu v1, v1, 1 | v1++;
0x00424460 ext t1, t0, 4, 4 | __asm ("ext t1, t0, 4, 4");
0x00424464 andi t0, t0, 0xf | t0 &= 0xf;
0x00424468 addiu t1, t1, 0x41 | t1 += 0x41;
0x0042446c addiu t0, t0, 0x41 | t0 += 0x41;
0x00424470 sb t1, (v0) | *(v0) = t1;
0x00424474 sb t0, 1(v0) | *((v0 + 1)) = t0;
0x00424478 addiu v0, v0, 2 | v0 += 2;
0x0042447c bne v1, t2, 0x424458 |
| }
0x00424480 addiu s1, s4, 0x21 | s1 = s4 + 0x21;
0x00424484 addu s3, s0, s1 | s3 = s0 + s1;
0x00424488 sb zero, (s3) | *(s3) = 0;
0x0042448c lb v0, 0x11(s2) | v0 = *((s2 + 17));
0x00424490 addiu s5, zero, 0x22 | s5 = 0x22;
| if (v0 == 0) {
0x00424494 bnez v0, 0x4244e8 |
0x00424498 lw ra, 0x13c(sp) | ra = *(var_13ch);
0x0042449c move v0, s5 | v0 = s5;
0x004244a0 lw s6, 0x138(sp) | s6 = *(var_138h);
0x004244a4 lw s5, 0x134(sp) | s5 = *(var_134h);
0x004244a8 lw s4, 0x130(sp) | s4 = *(var_130h);
0x004244ac lw s3, 0x12c(sp) | s3 = *(var_12ch);
0x004244b0 lw s2, 0x128(sp) | s2 = *(var_128h);
0x004244b4 lw s1, 0x124(sp) | s1 = *(var_124h);
0x004244b8 lw s0, 0x120(sp) | s0 = *(var_120h);
0x004244bc addiu sp, sp, 0x140 |
0x004244c0 jr ra | return v0;
| label_1:
0x004244c4 lw v0, 0x54(s2) | v0 = *((s2 + 21));
0x004244c8 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x004244cc sw v0, 0x10(sp) | *(var_10h) = v0;
0x004244d0 addiu a1, zero, 0xff | a1 = 0xff;
| /* str.__15.15s_c */
0x004244d4 addiu a2, a2, 0x40f0 | a2 += 0x40f0;
0x004244d8 move a3, s2 | a3 = s2;
0x004244dc jal 0x444430 | sym_snprintf ()
0x004244e0 lb t0, 0x20(sp) | t0 = *(s);
0x004244e4 b 0x424438 | goto label_0;
| }
0x004244e8 addiu s2, s2, 0x11 | s2 += 0x11;
0x004244ec addiu s6, s4, 0x22 | s6 = s4 + 0x22;
0x004244f0 move a0, s2 | a0 = s2;
0x004244f4 addu s6, s0, s6 | s6 = s0 + s6;
0x004244f8 jal 0x487740 | fcn_00487740 ();
0x004244fc move a1, s2 | a1 = s2;
0x00424500 move a0, s6 | a0 = s6;
0x00424504 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00424508 addiu s5, v0, 0x23 | s5 = v0 + 0x23;
0x0042450c addiu s2, s4, 0x22 | s2 = s4 + 0x22;
0x00424510 jal 0x4461f8 | fcn_004461f8 ();
0x00424514 lui s4, 0x4a | s4 = 0x4a0000;
0x00424518 b 0x42452c |
| while (v0 != 0) {
0x0042451c addiu s2, s1, 1 | s2 = s1 + 1;
0x00424520 sb v1, (s3) | *(s3) = v1;
0x00424524 addu s6, s0, s2 | s6 = s0 + s2;
0x00424528 addu s3, s0, s1 | s3 = s0 + s1;
0x0042452c lw t9, -0x4658(s4) | t9 = *((s4 - 4502));
0x00424530 move a0, s6 | a0 = s6;
0x00424534 addiu a1, zero, 0x2e | a1 = 0x2e;
0x00424538 jalr t9 | t9 ();
0x0042453c addu v1, s0, s2 | v1 = s0 + s2;
0x00424540 subu v1, v0, v1 | __asm ("subu v1, v0, v1");
0x00424544 seb v1, v1 | __asm ("seb v1, v1");
0x00424548 addiu a0, v1, 1 | a0 = v1 + 1;
0x0042454c addu s1, s1, a0 | s1 += a0;
0x00424550 bnez v0, 0x42451c |
| }
0x00424554 addu a0, s0, s2 | a0 = s0 + s2;
0x00424558 jal 0x487740 | fcn_00487740 ();
0x0042455c sb v0, (s3) | *(s3) = v0;
0x00424560 lw ra, 0x13c(sp) | ra = *(var_13ch);
0x00424564 move v0, s5 | v0 = s5;
0x00424568 lw s6, 0x138(sp) | s6 = *(var_138h);
0x0042456c lw s5, 0x134(sp) | s5 = *(var_134h);
0x00424570 lw s4, 0x130(sp) | s4 = *(var_130h);
0x00424574 lw s3, 0x12c(sp) | s3 = *(var_12ch);
0x00424578 lw s2, 0x128(sp) | s2 = *(var_128h);
0x0042457c lw s1, 0x124(sp) | s1 = *(var_124h);
0x00424580 lw s0, 0x120(sp) | s0 = *(var_120h);
0x00424584 addiu sp, sp, 0x140 |
0x00424588 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x4249f8 */
| #include <stdint.h>
|
; (fcn) fcn.004249f8 () | void fcn_004249f8 () {
0x004249f8 addiu sp, sp, -0x30 |
0x004249fc sw s0, 0x24(sp) | *(var_24h) = s0;
0x00424a00 lui s0, 0x4a | s0 = 0x4a0000;
0x00424a04 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00424a08 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00424a0c lw v1, -0xdd8(s0) | v1 = *((s0 - 886));
0x00424a10 lb v0, 0x11(a0) | v0 = *((a0 + 17));
0x00424a14 lui s1, 0x4a | s1 = 0x4a0000;
0x00424a18 sll v1, v1, 8 | v1 <<= 8;
0x00424a1c addiu s1, s1, -0xdd4 | s1 += -0xdd4;
0x00424a20 move a3, a0 | a3 = a0;
0x00424a24 addu s1, s1, v1 | s1 += v1;
| if (v0 != 0) {
0x00424a28 beqz v0, 0x424a88 |
0x00424a2c lw v1, 0x54(a0) | v1 = *((a0 + 21));
0x00424a30 addiu v0, a0, 0x11 | v0 = a0 + 0x11;
0x00424a34 lui a2, 0x46 | a2 = 0x460000;
0x00424a38 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00424a3c move a0, s1 | a0 = s1;
0x00424a40 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00424a44 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._s__02x_._s */
0x00424a48 addiu a2, a2, 0x4108 | a2 += 0x4108;
0x00424a4c jal 0x444430 | sym_snprintf ()
0x00424a50 lw a0, -0xdd8(s0) | a0 = *((s0 - 886));
0x00424a54 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00424a58 move v0, s1 | v0 = s1;
0x00424a5c addiu a0, a0, 1 | a0++;
0x00424a60 sra v1, a0, 0x1f | v1 = a0 >> 0x1f;
0x00424a64 srl v1, v1, 0x1e | v1 >>= 0x1e;
0x00424a68 addu a0, a0, v1 | a0 += v1;
0x00424a6c andi a0, a0, 3 | a0 &= 3;
0x00424a70 subu v1, a0, v1 | __asm ("subu v1, a0, v1");
0x00424a74 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00424a78 sw v1, -0xdd8(s0) | *((s0 - 886)) = v1;
0x00424a7c lw s0, 0x24(sp) | s0 = *(var_24h);
0x00424a80 addiu sp, sp, 0x30 |
0x00424a84 jr ra | return v1;
| }
0x00424a88 lw v0, 0x54(a0) | v0 = *((a0 + 21));
0x00424a8c lui a2, 0x46 | a2 = 0x460000;
0x00424a90 move a0, s1 | a0 = s1;
0x00424a94 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00424a98 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._s__02x_ */
0x00424a9c addiu a2, a2, 0x40fc | a2 += 0x40fc;
0x00424aa0 jal 0x444430 | sym_snprintf ()
0x00424aa4 lw a0, -0xdd8(s0) | a0 = *((s0 - 886));
0x00424aa8 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00424aac move v0, s1 | v0 = s1;
0x00424ab0 addiu a0, a0, 1 | a0++;
0x00424ab4 sra v1, a0, 0x1f | v1 = a0 >> 0x1f;
0x00424ab8 srl v1, v1, 0x1e | v1 >>= 0x1e;
0x00424abc addu a0, a0, v1 | a0 += v1;
0x00424ac0 andi a0, a0, 3 | a0 &= 3;
0x00424ac4 subu v1, a0, v1 | __asm ("subu v1, a0, v1");
0x00424ac8 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00424acc sw v1, -0xdd8(s0) | *((s0 - 886)) = v1;
0x00424ad0 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00424ad4 addiu sp, sp, 0x30 |
0x00424ad8 jr ra | return v1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x4266a4 */
| #include <stdint.h>
|
; (fcn) fcn.004266a4 () | void fcn_004266a4 () {
0x004266a4 addiu sp, sp, -0x48 |
0x004266a8 sw s0, 0x38(sp) | *(var_38h) = s0;
0x004266ac move s0, a1 | s0 = a1;
0x004266b0 lui a1, 0x46 | a1 = 0x460c78;
0x004266b4 addiu a1, a1, 0xc78 |
0x004266b8 sw s2, 0x40(sp) | *(var_40h) = s2;
0x004266bc sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x004266c0 sw ra, 0x44(sp) | *(var_44h) = ra;
0x004266c4 move s1, a0 | s1 = a0;
0x004266c8 seb s2, a2 | __asm ("seb s2, a2");
0x004266cc sw zero, 0x20(sp) | *(var_20h) = 0;
0x004266d0 sw zero, 0x24(sp) | *(var_24h) = 0;
0x004266d4 sw zero, 0x28(sp) | *(var_28h) = 0;
0x004266d8 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x004266dc sw zero, 0x30(sp) | *(var_30h) = 0;
0x004266e0 jal 0x487590 | fcn_00487590 ();
0x004266e4 addiu a0, sp, 0x20 | a0 = sp + 0x20;
| if (v0 != 0) {
0x004266e8 bnez v0, 0x4267cc | goto label_2;
| }
0x004266ec addiu v0, zero, 0x2a | v0 = 0x2a;
0x004266f0 sb v0, 0x20(sp) | *(var_20h) = v0;
0x004266f4 addiu v1, zero, 0x2a | v1 = 0x2a;
| label_1:
0x004266f8 addiu v0, zero, 0x20 | v0 = 0x20;
0x004266fc sb v0, (s0) | *(s0) = v0;
0x00426700 addiu a2, sp, 0x21 | a2 = sp + 0x21;
0x00426704 addiu v0, s0, 1 | v0 = s0 + 1;
0x00426708 addiu t0, s0, 0x21 | t0 = s0 + 0x21;
0x0042670c lui t1, 0x4a | t1 = 0x4a0000;
0x00426710 b 0x42671c |
| while (t0 != v0) {
0x00426714 lb v1, (a2) | v1 = *(a2);
0x00426718 addiu a2, a2, 1 | a2++;
0x0042671c lw a3, -0x473c(t1) | a3 = *((t1 - 4559));
0x00426720 andi v1, v1, 0xff | v1 &= 0xff;
0x00426724 addiu v0, v0, 2 | v0 += 2;
0x00426728 addu v1, a3, v1 | v1 = a3 + v1;
0x0042672c lb v1, (v1) | v1 = *(v1);
0x00426730 ext a3, v1, 4, 4 | __asm ("ext a3, v1, 4, 4");
0x00426734 andi v1, v1, 0xf | v1 &= 0xf;
0x00426738 addiu a3, a3, 0x41 | a3 += 0x41;
0x0042673c addiu v1, v1, 0x41 | v1 += 0x41;
0x00426740 sb a3, -2(v0) | *((v0 - 2)) = a3;
0x00426744 sb v1, -1(v0) | *((v0 - 1)) = v1;
0x00426748 bne t0, v0, 0x426714 |
| }
0x0042674c lui a2, 0x4a | a2 = 0x4a0000;
0x00426750 sb zero, 0x21(s0) | *((s0 + 33)) = 0;
0x00426754 addiu a2, a2, -0x1aa0 | a2 += -0x1aa0;
0x00426758 move v0, zero | v0 = 0;
0x0042675c addiu a0, zero, 0x2e | a0 = 0x2e;
| do {
| label_0:
0x00426760 lb v1, (a2) | v1 = *(a2);
| if (v1 == 0) {
0x00426764 bnez v1, 0x42679c |
0x00426768 nop |
0x0042676c sb v0, (t0) | *(t0) = v0;
| if (v0 != 0) {
0x00426770 beqz v0, 0x42677c |
0x00426774 addu t0, t0, v0 | t0 += v0;
0x00426778 sb zero, 1(t0) | *((t0 + 1)) = 0;
| }
0x0042677c move a0, s0 | a0 = s0;
0x00426780 jal 0x42659c | fcn_0042659c ();
0x00426784 lw ra, 0x44(sp) | ra = *(var_44h);
0x00426788 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0042678c lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x00426790 lw s0, 0x38(sp) | s0 = *(var_38h);
0x00426794 addiu sp, sp, 0x48 |
0x00426798 jr ra | return v1;
| }
0x0042679c addu a1, t0, v0 | a1 = t0 + v0;
| if (v1 == a0) {
0x004267a0 beq v1, a0, 0x4267b4 | goto label_3;
| }
0x004267a4 sb v1, 1(a1) | *((a1 + 1)) = v1;
0x004267a8 addiu v0, v0, 1 | v0++;
0x004267ac addiu a2, a2, 1 | a2++;
0x004267b0 b 0x426760 |
| } while (1);
| label_3:
0x004267b4 addiu v1, v0, 1 | v1 = v0 + 1;
0x004267b8 sb v0, (t0) | *(t0) = v0;
0x004267bc addiu a2, a2, 1 | a2++;
0x004267c0 addu t0, t0, v1 | t0 += v1;
0x004267c4 move v0, zero | v0 = 0;
0x004267c8 b 0x426760 | goto label_0;
| label_2:
0x004267cc lui a2, 0x46 | a2 = 0x460000;
0x004267d0 sw s2, 0x10(sp) | *(var_10h) = s2;
0x004267d4 addiu a1, zero, 0x13 | a1 = 0x13;
| /* str.__15.15s_c */
0x004267d8 addiu a2, a2, 0x40f0 | a2 += 0x40f0;
0x004267dc move a3, s1 | a3 = s1;
0x004267e0 jal 0x444430 | sym_snprintf ()
0x004267e4 lb v1, 0x20(sp) | v1 = *(var_20h);
0x004267e8 b 0x4266f8 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x426c60 */
| #include <stdint.h>
|
; (fcn) fcn.00426c60 () | void fcn_00426c60 () {
0x00426c60 addiu sp, sp, -0x28 |
0x00426c64 lui a2, 0x46 | a2 = 0x460000;
0x00426c68 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00426c6c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00426c70 lui s1, 0x4a | s1 = 0x4a0000;
0x00426c74 move s0, a0 | s0 = a0;
0x00426c78 addiu a1, zero, 0x400 | a1 = 0x400;
0x00426c7c addiu a0, s1, -0x9c0 | a0 = s1 + -0x9c0;
| /* str.NT_code_0x_08x */
0x00426c80 addiu a2, a2, 0x4570 | a2 += 0x4570;
0x00426c84 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00426c88 move a3, s0 | a3 = s0;
0x00426c8c jal 0x444430 | sym_snprintf ()
0x00426c90 lui v0, 0x46 | v0 = 0x460000;
| if (s0 == 0) {
0x00426c94 beqz s0, 0x426cd8 | goto label_0;
| }
0x00426c98 lui v1, 0x47 | v1 = 0x4681e8;
| /* esilref: 'NT_STATUS_UNSUCCESSFUL' */
0x00426c9c addiu v1, v1, -0x7e18 |
0x00426ca0 b 0x426cb0 |
| while (v0 != 0) {
0x00426ca4 lw a1, -4(v1) | a1 = *((v1 - 1));
0x00426ca8 lw ra, 0x24(sp) | ra = *(var_24h);
| if (a1 == s0) {
0x00426cac beq a1, s0, 0x426cc8 | goto label_1;
| }
0x00426cb0 addiu v1, v1, 8 | v1 += 8;
0x00426cb4 lw v0, -8(v1) | v0 = *((v1 - 2));
0x00426cb8 bnez v0, 0x426ca4 |
| }
0x00426cbc nop |
0x00426cc0 addiu v0, s1, -0x9c0 | v0 = s1 + -0x9c0;
| do {
0x00426cc4 lw ra, 0x24(sp) | ra = *(var_24h);
| label_1:
0x00426cc8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00426ccc lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00426cd0 addiu sp, sp, 0x28 |
0x00426cd4 jr ra | return v0;
| /* str.NT_STATUS_OK */
| label_0:
0x00426cd8 addiu v0, v0, 0x4560 | v0 += 0x4560;
0x00426cdc b 0x426cc4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x428118 */
| #include <stdint.h>
|
; (fcn) fcn.00428118 () | void fcn_00428118 () {
0x00428118 addiu sp, sp, -0x28 |
0x0042811c sw ra, 0x24(sp) | *(var_24h) = ra;
0x00428120 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00428124 lbu a2, 0xc(a0) | a2 = *((a0 + 12));
0x00428128 lbu v0, 0xb(a0) | v0 = *((a0 + 11));
0x0042812c lbu a3, 9(a0) | a3 = *((a0 + 9));
0x00428130 sll a2, a2, 8 | a2 <<= 8;
0x00428134 or a2, a2, v0 | a2 |= v0;
| if (a3 == 0) {
0x00428138 beqz a3, 0x428198 | goto label_1;
| }
0x0042813c lui v0, 0x47 | v0 = 0x46a630;
| /* esilref: 'ERRDOS' */
0x00428140 addiu v0, v0, -0x59d0 |
0x00428144 move v1, zero | v1 = 0;
0x00428148 b 0x428158 |
| while (t0 != 0) {
0x0042814c lw a0, -0x10(v0) | a0 = *((v0 - 4));
| if (a0 == a3) {
0x00428150 beq a0, a3, 0x4281a4 | goto label_2;
| }
0x00428154 nop |
0x00428158 addiu v0, v0, 0xc | v0 += 0xc;
0x0042815c lw t0, -0xc(v0) | t0 = *((v0 - 3));
0x00428160 addiu v1, v1, 1 | v1++;
0x00428164 bnez t0, 0x42814c |
| }
0x00428168 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0042816c lui s0, 0x4a | s0 = 0x4a0000;
0x00428170 lui a2, 0x47 | a2 = 0x470000;
0x00428174 addiu a0, s0, 0x650 | a0 = s0 + 0x650;
0x00428178 addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str.Error:_Unknown_error___d__d_ */
0x0042817c addiu a2, a2, -0x6b18 | a2 += -0x6b18;
0x00428180 jal 0x444430 | sym_snprintf ()
0x00428184 lw ra, 0x24(sp) | ra = *(var_24h);
| label_0:
0x00428188 addiu v0, s0, 0x650 | v0 = s0 + 0x650;
0x0042818c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00428190 addiu sp, sp, 0x28 |
0x00428194 jr ra | return v1;
| label_1:
0x00428198 lui t0, 0x47 | t0 = "SUCCESS";
| /* str.SUCCESS */
0x0042819c addiu t0, t0, -0x6b5c |
0x004281a0 move v1, zero | v1 = 0;
| label_2:
0x004281a4 sll v0, v1, 2 | v0 = v1 << 2;
0x004281a8 sll v1, v1, 4 | v1 <<= 4;
0x004281ac subu v1, v1, v0 | __asm ("subu v1, v1, v0");
0x004281b0 lui v0, 0x47 | v0 = 0x46a620;
0x004281b4 addiu v0, v0, -0x59e0 |
0x004281b8 addu v0, v1, v0 | v0 = v1 + v0;
0x004281bc lw a1, 8(v0) | a1 = *((v0 + 2));
0x004281c0 lui s0, 0x4a | s0 = 0x4a0000;
| if (a1 == 0) {
0x004281c4 beqz a1, 0x428208 | goto label_3;
| }
0x004281c8 lw v1, (a1) | v1 = *(a1);
| if (v1 == 0) {
0x004281cc beqz v1, 0x428208 | goto label_3;
| }
0x004281d0 nop |
0x004281d4 lw v0, 4(a1) | v0 = *((a1 + 1));
0x004281d8 addiu v0, a1, 0xc | v0 = a1 + 0xc;
| if (v0 == a2) {
0x004281dc beq v0, a2, 0x428238 | goto label_4;
| }
0x004281e0 lw v1, (v0) | v1 = *(v0);
0x004281e4 b 0x4281f8 |
| while (v1 != 0) {
0x004281e8 lw a0, -8(v0) | a0 = *((v0 - 2));
| if (a0 == a2) {
0x004281ec beq a0, a2, 0x428238 | goto label_4;
| }
0x004281f0 nop |
0x004281f4 lw v1, (v0) | v1 = *(v0);
0x004281f8 move a1, v0 | a1 = v0;
0x004281fc addiu v0, v0, 0xc | v0 += 0xc;
0x00428200 bnez v1, 0x4281e8 |
| }
0x00428204 lui s0, 0x4a | s0 = 0x4a0000;
| label_3:
0x00428208 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0042820c lui a2, 0x47 | a2 = 0x470000;
0x00428210 addiu a0, s0, 0x650 | a0 = s0 + 0x650;
0x00428214 addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str._s____d */
0x00428218 addiu a2, a2, -0x6b20 | a2 += -0x6b20;
0x0042821c move a3, t0 | a3 = t0;
0x00428220 jal 0x444430 | sym_snprintf ()
0x00428224 lw ra, 0x24(sp) | ra = *(var_24h);
0x00428228 addiu v0, s0, 0x650 | v0 = s0 + 0x650;
0x0042822c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00428230 addiu sp, sp, 0x28 |
0x00428234 jr ra | return v1;
| label_4:
0x00428238 lui v0, 0x4a | v0 = 0x4a0000;
0x0042823c lw v0, -0x469c(v0) | v0 = *((v0 - 4519));
0x00428240 lw v0, (v0) | v0 = *(v0);
0x00428244 lui s0, 0x4a | s0 = 0x4a0000;
| if (v0 > 0) {
0x00428248 blez v0, 0x428284 |
0x0042824c sw v1, 0x10(sp) | *(var_10h) = v1;
0x00428250 lw v0, 8(a1) | v0 = *((a1 + 2));
0x00428254 lui a2, 0x47 | a2 = 0x470000;
0x00428258 addiu a0, s0, 0x650 | a0 = s0 + 0x650;
0x0042825c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00428260 addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str._s____s___s_ */
0x00428264 addiu a2, a2, -0x6b38 | a2 += -0x6b38;
0x00428268 move a3, t0 | a3 = t0;
0x0042826c jal 0x444430 | sym_snprintf ()
0x00428270 lw ra, 0x24(sp) | ra = *(var_24h);
0x00428274 addiu v0, s0, 0x650 | v0 = s0 + 0x650;
0x00428278 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0042827c addiu sp, sp, 0x28 |
0x00428280 jr ra | return v1;
| }
0x00428284 lui a2, 0x47 | a2 = 0x470000;
0x00428288 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0042828c addiu a0, s0, 0x650 | a0 = s0 + 0x650;
0x00428290 addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str._s____s */
0x00428294 addiu a2, a2, -0x6b28 | a2 += -0x6b28;
0x00428298 move a3, t0 | a3 = t0;
0x0042829c jal 0x444430 | sym_snprintf ()
0x004282a0 lw ra, 0x24(sp) | ra = *(var_24h);
0x004282a4 b 0x428188 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x4282e0 */
| #include <stdint.h>
|
; (fcn) fcn.004282e0 () | void fcn_004282e0 () {
0x004282e0 addiu sp, sp, -0x40 |
0x004282e4 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x004282e8 sw s0, 0x38(sp) | *(var_38h) = s0;
0x004282ec lbu a2, 4(a0) | a2 = *((a0 + 4));
0x004282f0 lbu t2, 1(a0) | t2 = *((a0 + 1));
0x004282f4 lbu t1, 2(a0) | t1 = *((a0 + 2));
0x004282f8 lbu t0, 3(a0) | t0 = *((a0 + 3));
0x004282fc lbu a1, 5(a0) | a1 = *((a0 + 5));
0x00428300 lbu v1, 6(a0) | v1 = *((a0 + 6));
0x00428304 lbu v0, 7(a0) | v0 = *((a0 + 7));
0x00428308 lbu a3, (a0) | a3 = *(a0);
0x0042830c lui s0, 0x4a | s0 = 0x4a0000;
0x00428310 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x00428314 lui a2, 0x47 | a2 = 0x470000;
0x00428318 sw t2, 0x10(sp) | *(var_10h) = t2;
0x0042831c sw t1, 0x14(sp) | *(var_14h) = t1;
0x00428320 sw t0, 0x18(sp) | *(var_18h) = t0;
0x00428324 sw a1, 0x20(sp) | *(var_20h) = a1;
0x00428328 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0042832c addiu a0, s0, 0xa50 | a0 = s0 + 0xa50;
0x00428330 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00428334 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._02X_02X_02X_02X_02X_02X_02X_02X */
0x00428338 addiu a2, a2, -0x5550 | a2 += -0x5550;
0x0042833c jal 0x444430 | sym_snprintf ()
0x00428340 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00428344 addiu v0, s0, 0xa50 | v0 = s0 + 0xa50;
0x00428348 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0042834c addiu sp, sp, 0x40 |
0x00428350 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x429770 */
| #include <stdint.h>
|
; (fcn) fcn.00429770 () | void fcn_00429770 () {
0x00429770 addiu sp, sp, -0x28 |
0x00429774 lui a2, 0x47 | a2 = 0x470000;
0x00429778 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0042977c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00429780 lui s1, 0x4a | s1 = 0x4a0000;
0x00429784 move s0, a0 | s0 = a0;
0x00429788 addiu a1, zero, 0x400 | a1 = 0x400;
0x0042978c addiu a0, s1, 0xb50 | a0 = s1 + 0xb50;
| /* str.DOS_code_0x_08x */
0x00429790 addiu a2, a2, -0x1e18 | a2 += -0x1e18;
0x00429794 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00429798 move a3, s0 | a3 = s0;
0x0042979c jal 0x444430 | sym_snprintf ()
0x004297a0 lui v0, 0x47 | v0 = 0x470000;
| if (s0 == 0) {
0x004297a4 beqz s0, 0x4297e8 | goto label_0;
| }
0x004297a8 lui v1, 0x47 | v1 = 0x46e518;
| /* esilref: 'WERR_BADFILE' */
0x004297ac addiu v1, v1, -0x1ae8 |
0x004297b0 b 0x4297c0 |
| while (v0 != 0) {
0x004297b4 lw a1, -4(v1) | a1 = *((v1 - 1));
0x004297b8 lw ra, 0x24(sp) | ra = *(var_24h);
| if (a1 == s0) {
0x004297bc beq a1, s0, 0x4297d8 | goto label_1;
| }
0x004297c0 addiu v1, v1, 8 | v1 += 8;
0x004297c4 lw v0, -8(v1) | v0 = *((v1 - 2));
0x004297c8 bnez v0, 0x4297b4 |
| }
0x004297cc nop |
0x004297d0 addiu v0, s1, 0xb50 | v0 = s1 + 0xb50;
| do {
0x004297d4 lw ra, 0x24(sp) | ra = *(var_24h);
| label_1:
0x004297d8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x004297dc lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x004297e0 addiu sp, sp, 0x28 |
0x004297e4 jr ra | return v0;
| /* str.WERR_OK */
| label_0:
0x004297e8 addiu v0, v0, -0x1e20 | v0 += -0x1e20;
0x004297ec b 0x4297d4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x42d148 */
| #include <stdint.h>
|
; (fcn) fcn.0042d148 () | void fcn_0042d148 () {
| if (a1 == 0) {
0x0042d148 beqz a1, 0x42d350 | goto label_5;
| }
0x0042d14c nop |
0x0042d150 lw v0, (a2) | v0 = *(a2);
0x0042d154 addiu sp, sp, -0x150 |
0x0042d158 sw s4, 0x138(sp) | *(var_138h) = s4;
0x0042d15c sw s3, 0x134(sp) | *(var_134h) = s3;
0x0042d160 sw s1, 0x12c(sp) | *(var_12ch) = s1;
0x0042d164 sw s0, 0x128(sp) | *(var_128h) = s0;
0x0042d168 sw ra, 0x14c(sp) | *(var_14ch) = ra;
0x0042d16c sw fp, 0x148(sp) | *(var_148h) = fp;
0x0042d170 sw s7, 0x144(sp) | *(var_144h) = s7;
0x0042d174 sw s6, 0x140(sp) | *(var_140h) = s6;
0x0042d178 sw s5, 0x13c(sp) | *(var_13ch) = s5;
0x0042d17c sw s2, 0x130(sp) | *(var_130h) = s2;
0x0042d180 move s3, a0 | s3 = a0;
0x0042d184 move s0, a2 | s0 = a2;
0x0042d188 move s4, a3 | s4 = a3;
0x0042d18c lw s1, (a1) | s1 = *(a1);
| if (v0 != 0) {
0x0042d190 beqz v0, 0x42d19c |
0x0042d194 move s2, a1 | s2 = a1;
| if (s1 == 0) {
0x0042d198 beqz s1, 0x42d304 | goto label_6;
| }
| }
| label_3:
0x0042d19c lui a3, 0x47 | a3 = 0x470000;
0x0042d1a0 move a1, s4 | a1 = s4;
0x0042d1a4 move a2, s3 | a2 = s3;
| /* str.sec_io_acl */
0x0042d1a8 addiu a3, a3, -0x1444 | a3 += -0x1444;
0x0042d1ac move a0, s0 | a0 = s0;
0x0042d1b0 jal 0x42a264 | fcn_0042a264 ();
0x0042d1b4 move a0, s0 | a0 = s0;
0x0042d1b8 addiu s4, s4, 1 | s4++;
0x0042d1bc jal 0x42aa34 | fcn_0042aa34 ();
0x0042d1c0 lui a0, 0x47 | a0 = "revision";
| /* str.revision */
0x0042d1c4 addiu a0, a0, -0x1438 |
0x0042d1c8 move a1, s0 | a1 = s0;
0x0042d1cc move a2, s4 | a2 = s4;
0x0042d1d0 move a3, s1 | a3 = s1;
0x0042d1d4 move s6, v0 | s6 = v0;
0x0042d1d8 jal 0x42af54 | fcn_0042af54 ();
0x0042d1dc addiu v0, sp, 0x120 | v0 = sp + 0x120;
| if (v0 != 0) {
0x0042d1e0 bnez v0, 0x42d218 | goto label_7;
| }
| label_2:
0x0042d1e4 move v0, zero | v0 = 0;
| do {
| label_0:
0x0042d1e8 lw ra, 0x14c(sp) | ra = *(var_14ch);
0x0042d1ec lw fp, 0x148(sp) | fp = *(var_148h);
0x0042d1f0 lw s7, 0x144(sp) | s7 = *(var_144h);
0x0042d1f4 lw s6, 0x140(sp) | s6 = *(var_140h);
0x0042d1f8 lw s5, 0x13c(sp) | s5 = *(var_13ch);
0x0042d1fc lw s4, 0x138(sp) | s4 = *(var_138h);
0x0042d200 lw s3, 0x134(sp) | s3 = *(var_134h);
0x0042d204 lw s2, 0x130(sp) | s2 = *(var_130h);
0x0042d208 lw s1, 0x12c(sp) | s1 = *(var_12ch);
0x0042d20c lw s0, 0x128(sp) | s0 = *(var_128h);
0x0042d210 addiu sp, sp, 0x150 |
0x0042d214 jr ra | return v0;
| label_7:
0x0042d218 addiu s7, s1, 2 | s7 = s1 + 2;
0x0042d21c lui fp, 0x47 | fp = 0x470000;
0x0042d220 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.size_____ */
0x0042d224 addiu a0, fp, -0x142c | a0 = fp + -0x142c;
0x0042d228 move a1, s0 | a1 = s0;
0x0042d22c move a2, s4 | a2 = s4;
0x0042d230 move a3, s7 | a3 = s7;
0x0042d234 jal 0x42cacc | fcn_0042cacc ();
0x0042d238 move v0, zero | v0 = 0;
0x0042d23c beqz v0, 0x42d1e8 |
| } while (v0 == 0);
0x0042d240 lui a0, 0x47 | a0 = "num_aces ";
| /* str.num_aces_ */
0x0042d244 addiu a0, a0, -0x1420 |
0x0042d248 move a1, s0 | a1 = s0;
0x0042d24c move a2, s4 | a2 = s4;
0x0042d250 addiu a3, s1, 4 | a3 = s1 + 4;
0x0042d254 jal 0x42b0d0 | fcn_0042b0d0 ();
0x0042d258 move v0, zero | v0 = 0;
| if (v0 == 0) {
0x0042d25c beqz v0, 0x42d1e8 | goto label_0;
| }
0x0042d260 lw v0, (s0) | v0 = *(s0);
0x0042d264 move a0, s0 | a0 = s0;
| if (v0 != 0) {
0x0042d268 bnez v0, 0x42d320 | goto label_8;
| }
| label_4:
0x0042d26c lw v0, 4(s1) | v0 = *((s1 + 1));
0x0042d270 lui s5, 0x47 | s5 = 0x470000;
| if (v0 == 0) {
0x0042d274 beqz v0, 0x42d2dc | goto label_9;
| }
0x0042d278 move s3, zero | s3 = 0;
0x0042d27c move s2, zero | s2 = 0;
| /* str.ace_list__02d_:_ */
0x0042d280 addiu s5, s5, -0x1414 | s5 += -0x1414;
| label_1:
0x0042d284 move a3, s2 | a3 = s2;
0x0042d288 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0042d28c addiu a1, zero, 0xff | a1 = 0xff;
0x0042d290 move a2, s5 | a2 = s5;
0x0042d294 jal 0x444430 | sym_snprintf ()
0x0042d298 sll v1, s3, 2 | v1 = s3 << 2;
0x0042d29c sll v0, s3, 4 | v0 = s3 << 4;
0x0042d2a0 addu v0, v1, v0 | v0 = v1 + v0;
0x0042d2a4 lw a1, 8(s1) | a1 = *((s1 + 2));
0x0042d2a8 subu s3, v0, s3 | __asm ("subu s3, v0, s3");
0x0042d2ac sll s3, s3, 2 | s3 <<= 2;
0x0042d2b0 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0042d2b4 addu a1, a1, s3 | a1 += s3;
0x0042d2b8 move a2, s0 | a2 = s0;
0x0042d2bc move a3, s4 | a3 = s4;
0x0042d2c0 jal 0x42cea8 | fcn_0042cea8 ();
0x0042d2c4 addiu s2, s2, 1 | s2++;
| if (v0 == 0) {
0x0042d2c8 beqz v0, 0x42d1e8 | goto label_0;
| }
0x0042d2cc lw v0, 4(s1) | v0 = *((s1 + 1));
0x0042d2d0 sltu v0, s2, v0 | v0 = (s2 < v0) ? 1 : 0;
0x0042d2d4 move s3, s2 | s3 = s2;
| if (v0 != 0) {
0x0042d2d8 bnez v0, 0x42d284 | goto label_1;
| }
| label_9:
0x0042d2dc lw v0, 0x120(sp) | v0 = *(var_120h);
0x0042d2e0 sw s6, 0x14(sp) | *(var_14h) = s6;
| /* str.size_____ */
0x0042d2e4 addiu a0, fp, -0x142c | a0 = fp + -0x142c;
0x0042d2e8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0042d2ec move a1, s0 | a1 = s0;
0x0042d2f0 move a2, s4 | a2 = s4;
0x0042d2f4 move a3, s7 | a3 = s7;
0x0042d2f8 jal 0x42cb34 | fcn_0042cb34 ();
0x0042d2fc sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x0042d300 b 0x42d1e8 | goto label_0;
| label_6:
0x0042d304 move a0, a2 | a0 = a2;
0x0042d308 addiu a1, zero, 0xc | a1 = 0xc;
0x0042d30c jal 0x42a49c | fcn_0042a49c ();
0x0042d310 move s1, v0 | s1 = v0;
| if (v0 == 0) {
0x0042d314 beqz v0, 0x42d1e4 | goto label_2;
| }
0x0042d318 sw v0, (s2) | *(s2) = v0;
0x0042d31c b 0x42d19c | goto label_3;
| label_8:
0x0042d320 lw v0, 4(s1) | v0 = *((s1 + 1));
0x0042d324 addiu v0, v0, 1 | v0++;
0x0042d328 sll a1, v0, 2 | a1 = v0 << 2;
0x0042d32c sll v1, v0, 4 | v1 = v0 << 4;
0x0042d330 addu v1, a1, v1 | v1 = a1 + v1;
0x0042d334 subu a1, v1, v0 | __asm ("subu a1, v1, v0");
0x0042d338 sll a1, a1, 2 | a1 <<= 2;
0x0042d33c jal 0x42a49c | fcn_0042a49c ();
0x0042d340 sw v0, 8(s1) | *((s1 + 2)) = v0;
| if (v0 != 0) {
0x0042d344 bnez v0, 0x42d26c | goto label_4;
| }
0x0042d348 move v0, zero | v0 = 0;
0x0042d34c b 0x42d1e8 | goto label_0;
| label_5:
0x0042d350 move v0, zero | v0 = 0;
0x0042d354 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x42e744 */
| #include <stdint.h>
|
; (fcn) fcn.0042e744 () | void fcn_0042e744 () {
| if (a1 == 0) {
0x0042e744 beqz a1, 0x42e89c | goto label_3;
| }
0x0042e748 nop |
0x0042e74c addiu sp, sp, -0x140 |
0x0042e750 move v0, a0 | v0 = a0;
0x0042e754 sw s2, 0x12c(sp) | *(var_12ch) = s2;
0x0042e758 sw s1, 0x128(sp) | *(var_128h) = s1;
0x0042e75c move s2, a3 | s2 = a3;
0x0042e760 move s1, a1 | s1 = a1;
0x0042e764 move a1, a3 | a1 = a3;
0x0042e768 lui a3, 0x47 | a3 = 0x470000;
0x0042e76c move a0, a2 | a0 = a2;
0x0042e770 sw s0, 0x124(sp) | *(var_124h) = s0;
| /* str.smb_io_dom_sid */
0x0042e774 addiu a3, a3, -0x10bc | a3 += -0x10bc;
0x0042e778 move s0, a2 | s0 = a2;
0x0042e77c move a2, v0 | a2 = v0;
0x0042e780 sw ra, 0x13c(sp) | *(var_13ch) = ra;
0x0042e784 sw s5, 0x138(sp) | *(var_138h) = s5;
0x0042e788 sw s4, 0x134(sp) | *(var_134h) = s4;
0x0042e78c sw s3, 0x130(sp) | *(var_130h) = s3;
0x0042e790 jal 0x42a264 | fcn_0042a264 ();
0x0042e794 move a0, s0 | a0 = s0;
0x0042e798 jal 0x42ac2c | fcn_0042ac2c ();
0x0042e79c addiu s2, s2, 1 | s2++;
| if (v0 != 0) {
0x0042e7a0 bnez v0, 0x42e7cc | goto label_4;
| }
| label_0:
0x0042e7a4 move v0, zero | v0 = 0;
| do {
| label_1:
0x0042e7a8 lw ra, 0x13c(sp) | ra = *(var_13ch);
0x0042e7ac lw s5, 0x138(sp) | s5 = *(var_138h);
0x0042e7b0 lw s4, 0x134(sp) | s4 = *(var_134h);
0x0042e7b4 lw s3, 0x130(sp) | s3 = *(var_130h);
0x0042e7b8 lw s2, 0x12c(sp) | s2 = *(var_12ch);
0x0042e7bc lw s1, 0x128(sp) | s1 = *(var_128h);
0x0042e7c0 lw s0, 0x124(sp) | s0 = *(var_124h);
0x0042e7c4 addiu sp, sp, 0x140 |
0x0042e7c8 jr ra | return v0;
| label_4:
0x0042e7cc lui a0, 0x47 | a0 = "sid_rev_num";
| /* str.sid_rev_num */
0x0042e7d0 addiu a0, a0, -0x10ac |
0x0042e7d4 move a1, s0 | a1 = s0;
0x0042e7d8 move a2, s2 | a2 = s2;
0x0042e7dc move a3, s1 | a3 = s1;
0x0042e7e0 jal 0x42ae3c | fcn_0042ae3c ();
0x0042e7e4 move v0, zero | v0 = 0;
0x0042e7e8 beqz v0, 0x42e7a8 |
| } while (v0 == 0);
0x0042e7ec lui a0, 0x47 | a0 = "num_auths ";
| /* str.num_auths__ */
0x0042e7f0 addiu a0, a0, -0x10a0 |
0x0042e7f4 move a1, s0 | a1 = s0;
0x0042e7f8 move a2, s2 | a2 = s2;
0x0042e7fc addiu a3, s1, 1 | a3 = s1 + 1;
0x0042e800 jal 0x42ae3c | fcn_0042ae3c ();
0x0042e804 lui s4, 0x47 | s4 = 0x470000;
| if (v0 == 0) {
0x0042e808 beqz v0, 0x42e7a4 | goto label_0;
| }
0x0042e80c move s3, zero | s3 = 0;
| /* str.id_auth__d__ */
0x0042e810 addiu s4, s4, -0x1094 | s4 += -0x1094;
0x0042e814 addiu s5, zero, 6 | s5 = 6;
0x0042e818 move a3, s3 | a3 = s3;
| label_2:
0x0042e81c addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0042e820 addiu a1, zero, 0xff | a1 = 0xff;
0x0042e824 move a2, s4 | a2 = s4;
0x0042e828 jal 0x444430 | sym_snprintf ()
0x0042e82c addu a3, s1, s3 | a3 = s1 + s3;
0x0042e830 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0042e834 move a1, s0 | a1 = s0;
0x0042e838 move a2, s2 | a2 = s2;
0x0042e83c addiu a3, a3, 2 | a3 += 2;
0x0042e840 jal 0x42ae3c | fcn_0042ae3c ();
0x0042e844 addiu s3, s3, 1 | s3++;
| if (v0 == 0) {
0x0042e848 beqz v0, 0x42e7a8 | goto label_1;
| }
0x0042e84c move a3, s3 | a3 = s3;
| if (s3 != s5) {
0x0042e850 bne s3, s5, 0x42e81c | goto label_2;
| }
0x0042e854 lbu v0, 1(s1) | v0 = *((s1 + 1));
0x0042e858 sltiu v1, v0, 0x10 | v1 = (v0 < 0x10) ? 1 : 0;
| if (v1 == 0) {
0x0042e85c bnez v1, 0x42e870 |
0x0042e860 nop |
0x0042e864 addiu v0, zero, 0xf | v0 = 0xf;
0x0042e868 sb v0, 1(s1) | *((s1 + 1)) = v0;
0x0042e86c addiu v0, zero, 0xf | v0 = 0xf;
| }
0x0042e870 addiu s1, s1, 8 | s1 += 8;
0x0042e874 lui a1, 0x47 | a1 = 0x470000;
0x0042e878 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0042e87c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0042e880 move a0, zero | a0 = 0;
| /* str.sub_auths_ */
0x0042e884 addiu a1, a1, -0x1084 | a1 += -0x1084;
0x0042e888 move a2, s0 | a2 = s0;
0x0042e88c move a3, s2 | a3 = s2;
0x0042e890 jal 0x42bce4 | fcn_0042bce4 ();
0x0042e894 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x0042e898 b 0x42e7a8 | goto label_1;
| label_3:
0x0042e89c move v0, zero | v0 = 0;
0x0042e8a0 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x437100 */
| #include <stdint.h>
|
; (fcn) fcn.00437100 () | void fcn_00437100 () {
0x00437100 addiu sp, sp, -0x4d8 |
0x00437104 sw s1, 0x4c0(sp) | *(var_4c0h) = s1;
0x00437108 lui s1, 0x4b | s1 = 0x4b0000;
0x0043710c lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
0x00437110 sw s0, 0x4bc(sp) | *(var_4bch) = s0;
0x00437114 sw ra, 0x4d4(sp) | *(var_4d4h) = ra;
0x00437118 slti v0, v0, 5 | v0 = (v0 < 5) ? 1 : 0;
0x0043711c sw s5, 0x4d0(sp) | *(var_4d0h) = s5;
0x00437120 sw s4, 0x4cc(sp) | *(var_4cch) = s4;
0x00437124 sw s3, 0x4c8(sp) | *(var_4c8h) = s3;
0x00437128 sw s2, 0x4c4(sp) | *(var_4c4h) = s2;
0x0043712c move s0, a0 | s0 = a0;
| if (v0 == 0) {
0x00437130 beqz v0, 0x437278 | goto label_5;
| }
| label_2:
0x00437134 jal 0x4103a8 | fcn_004103a8 ();
0x00437138 nop |
0x0043713c move a0, v0 | a0 = v0;
0x00437140 jal 0x487740 | fcn_00487740 ();
0x00437144 addiu v0, v0, 0xe | v0 += 0xe;
0x00437148 sltiu v0, v0, 0x401 | v0 = (v0 < 0x401) ? 1 : 0;
0x0043714c lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (v0 != 0) {
0x00437150 bnez v0, 0x4371a8 | goto label_6;
| }
0x00437154 lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x00437158 bltz v0, 0x43717c | goto label_0;
| }
0x0043715c lui a2, 0x47 | a2 = 0x470000;
0x00437160 move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x00437164 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x00437168 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x0043716c addiu a3, zero, 0xc6 | a3 = 0xc6;
0x00437170 jal 0x4381b8 | fcn_004381b8 ();
0x00437174 lui a0, 0x47 | a0 = 0x470000;
| if (v0 != 0) {
0x00437178 bnez v0, 0x4372b0 | goto label_7;
| }
| do {
| label_0:
0x0043717c move s0, zero | s0 = 0;
| label_1:
0x00437180 lw ra, 0x4d4(sp) | ra = *(var_4d4h);
| label_3:
0x00437184 move v0, s0 | v0 = s0;
0x00437188 lw s5, 0x4d0(sp) | s5 = *(var_4d0h);
0x0043718c lw s4, 0x4cc(sp) | s4 = *(var_4cch);
0x00437190 lw s3, 0x4c8(sp) | s3 = *(var_4c8h);
0x00437194 lw s2, 0x4c4(sp) | s2 = *(var_4c4h);
0x00437198 lw s1, 0x4c0(sp) | s1 = *(var_4c0h);
0x0043719c lw s0, 0x4bc(sp) | s0 = *(var_4bch);
0x004371a0 addiu sp, sp, 0x4d8 |
0x004371a4 jr ra | return v0;
| label_6:
0x004371a8 jal 0x4103a8 | fcn_004103a8 ();
0x004371ac nop |
0x004371b0 move a1, v0 | a1 = v0;
0x004371b4 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x004371b8 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004371bc jal 0x4461f8 | fcn_004461f8 ();
0x004371c0 lui a1, 0x46 | a1 = 0x460000;
0x004371c4 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x004371c8 addiu a1, a1, -0x1f78 | a1 += -0x1f78;
0x004371cc addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004371d0 jal 0x4463d8 | fcn_004463d8 ();
0x004371d4 lui a1, 0x47 | a1 = "codepage.";
| /* str.codepage. */
0x004371d8 addiu a1, a1, 0x600 |
0x004371dc addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004371e0 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x004371e4 jal 0x4463d8 | fcn_004463d8 ();
0x004371e8 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x004371ec jal 0x487740 | fcn_00487740 ();
0x004371f0 nor a1, zero, v0 | __asm ("nor a1, zero, v0");
0x004371f4 addiu v1, sp, 0x18 | v1 = sp + 0x18;
0x004371f8 lui a2, 0x47 | a2 = 0x470000;
0x004371fc addu a0, v1, v0 | a0 = v1 + v0;
0x00437200 addiu a1, a1, 0x3ff | a1 += 0x3ff;
| /* str._03d */
0x00437204 addiu a2, a2, 0x60c | a2 += 0x60c;
0x00437208 move a3, s0 | a3 = s0;
0x0043720c jal 0x444430 | sym_snprintf ()
0x00437210 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00437214 addiu a1, sp, 0x418 | a1 = sp + 0x418;
0x00437218 jal 0x43dff4 | fcn_0043dff4 ();
0x0043721c lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (v0 != 0) {
0x00437220 bnez v0, 0x4372e4 | goto label_8;
| }
0x00437224 lw s2, 0x44c(sp) | s2 = *(var_44ch);
0x00437228 addiu s3, s2, -8 | s3 = s2 + -8;
0x0043722c sltiu v0, s3, 0x401 | v0 = (s3 < 0x401) ? 1 : 0;
0x00437230 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (v0 != 0) {
0x00437234 bnez v0, 0x437320 | goto label_9;
| }
0x00437238 lui a1, 0x47 | a1 = 0x470000;
0x0043723c bltz v0, 0x43717c |
| } while (v0 < 0);
0x00437240 lui a2, 0x47 | a2 = 0x470000;
0x00437244 move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x00437248 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x0043724c addiu a2, a2, 0xa04 | a2 += 0xa04;
0x00437250 addiu a3, zero, 0xe3 | a3 = 0xe3;
0x00437254 jal 0x4381b8 | fcn_004381b8 ();
0x00437258 lui a0, 0x47 | a0 = 0x470000;
| if (v0 == 0) {
0x0043725c beqz v0, 0x43717c | goto label_0;
| }
| /* str.load_client_codepage:_file__s_is_an_incorrect_size_for_a_code_page_file__size_d_._n */
0x00437260 addiu a0, a0, 0x648 | a0 += 0x648;
0x00437264 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00437268 move a2, s2 | a2 = s2;
0x0043726c jal 0x437cc4 | fcn_00437cc4 ();
0x00437270 move s0, zero | s0 = 0;
0x00437274 b 0x437180 | goto label_1;
| label_5:
0x00437278 lui a1, 0x47 | a1 = 0x470000;
0x0043727c lui a2, 0x47 | a2 = 0x470000;
0x00437280 addiu a0, zero, 5 | a0 = 5;
| /* str.lib_charset.c */
0x00437284 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x00437288 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x0043728c addiu a3, zero, 0xc2 | a3 = 0xc2;
0x00437290 jal 0x4381b8 | fcn_004381b8 ();
0x00437294 lui a0, 0x47 | a0 = 0x470000;
| if (v0 == 0) {
0x00437298 beqz v0, 0x437134 | goto label_2;
| }
| /* str.load_client_codepage:_loading_codepage__d._n */
0x0043729c addiu a0, a0, 0x5a0 | a0 += 0x5a0;
0x004372a0 move a1, s0 | a1 = s0;
0x004372a4 jal 0x437cc4 | fcn_00437cc4 ();
0x004372a8 b 0x437134 | goto label_2;
0x004372ac nop |
| /* str.load_client_codepage:_filename_too_long_to_load_n */
| label_7:
0x004372b0 addiu a0, a0, 0x5cc | a0 += 0x5cc;
0x004372b4 jal 0x437cc4 | fcn_00437cc4 ();
0x004372b8 lw ra, 0x4d4(sp) | ra = *(var_4d4h);
0x004372bc move s0, zero | s0 = 0;
0x004372c0 move v0, s0 | v0 = s0;
0x004372c4 lw s5, 0x4d0(sp) | s5 = *(var_4d0h);
0x004372c8 lw s4, 0x4cc(sp) | s4 = *(var_4cch);
0x004372cc lw s3, 0x4c8(sp) | s3 = *(var_4c8h);
0x004372d0 lw s2, 0x4c4(sp) | s2 = *(var_4c4h);
0x004372d4 lw s1, 0x4c0(sp) | s1 = *(var_4c0h);
0x004372d8 lw s0, 0x4bc(sp) | s0 = *(var_4bch);
0x004372dc addiu sp, sp, 0x4d8 |
0x004372e0 jr ra | return v0;
| label_8:
0x004372e4 lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x004372e8 bltz v0, 0x43717c | goto label_0;
| }
0x004372ec lui a2, 0x47 | a2 = 0x470000;
0x004372f0 move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x004372f4 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x004372f8 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x004372fc addiu a3, zero, 0xd5 | a3 = 0xd5;
0x00437300 jal 0x4381b8 | fcn_004381b8 ();
0x00437304 lui a0, 0x47 | a0 = 0x470000;
| if (v0 == 0) {
0x00437308 beqz v0, 0x43717c | goto label_0;
| }
| /* str.load_client_codepage:_filename__s_does_not_exist._n */
0x0043730c addiu a0, a0, 0x614 | a0 += 0x614;
0x00437310 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00437314 jal 0x437cc4 | fcn_00437cc4 ();
0x00437318 move s0, zero | s0 = 0;
0x0043731c b 0x437180 | goto label_1;
| label_9:
0x00437320 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00437324 move a1, zero | a1 = 0;
0x00437328 jal 0x487750 | fcn_00487750 ();
0x0043732c move s4, v0 | s4 = v0;
0x00437330 addiu v0, zero, -1 | v0 = -1;
0x00437334 move a0, s4 | a0 = s4;
| if (s4 != v0) {
0x00437338 bne s4, v0, 0x437394 | goto label_10;
| }
0x0043733c lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
0x00437340 lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x00437344 bltz v0, 0x43717c | goto label_0;
| }
0x00437348 lui a2, 0x47 | a2 = 0x470000;
0x0043734c move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x00437350 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x00437354 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x00437358 addiu a3, zero, 0xef | a3 = 0xef;
0x0043735c jal 0x4381b8 | fcn_004381b8 ();
| if (v0 == 0) {
0x00437360 beqz v0, 0x43717c | goto label_0;
| }
0x00437364 nop |
0x00437368 move s0, zero | s0 = 0;
0x0043736c jal 0x4876a0 | fcn_004876a0 ();
0x00437370 lw a0, (v0) | a0 = *(v0);
0x00437374 jal 0x486ee0 | fcn_00486ee0 ();
0x00437378 lui a0, 0x47 | a0 = "load_client_codepage: cannot open file %s. Error was %s\n";
| /* str.load_client_codepage:_cannot_open_file__s._Error_was__s_n */
0x0043737c addiu a0, a0, 0x69c |
0x00437380 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00437384 move a2, v0 | a2 = v0;
0x00437388 jal 0x437cc4 | fcn_00437cc4 ();
0x0043738c lw ra, 0x4d4(sp) | ra = *(var_4d4h);
0x00437390 b 0x437184 | goto label_3;
| label_10:
0x00437394 addiu a1, sp, 0x4b0 | a1 = sp + 0x4b0;
0x00437398 addiu a2, zero, 8 | a2 = 8;
0x0043739c jal 0x487360 | fcn_00487360 ();
0x004373a0 addiu v1, zero, 8 | v1 = 8;
0x004373a4 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (v0 == v1) {
0x004373a8 beq v0, v1, 0x4373e4 | goto label_11;
| }
0x004373ac lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x004373b0 bltz v0, 0x4373d4 | goto label_4;
| }
0x004373b4 lui a2, 0x47 | a2 = 0x470000;
0x004373b8 move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x004373bc addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x004373c0 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x004373c4 addiu a3, zero, 0xf6 | a3 = 0xf6;
0x004373c8 jal 0x4381b8 | fcn_004381b8 ();
| if (v0 != 0) {
0x004373cc bnez v0, 0x437450 | goto label_12;
| }
0x004373d0 nop |
| do {
| label_4:
0x004373d4 move a0, s4 | a0 = s4;
0x004373d8 jal 0x487800 | fcn_00487800 ();
0x004373dc move s0, zero | s0 = 0;
0x004373e0 b 0x437180 | goto label_1;
| label_11:
0x004373e4 lbu v1, 0x4b1(sp) | v1 = *(var_4b1h);
0x004373e8 lbu v0, 0x4b0(sp) | v0 = *(var_4b0h);
0x004373ec sll v1, v1, 8 | v1 <<= 8;
0x004373f0 or v1, v1, v0 | v1 |= v0;
0x004373f4 addiu v0, zero, 1 | v0 = 1;
0x004373f8 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (v1 == v0) {
0x004373fc beq v1, v0, 0x43747c | goto label_13;
| }
0x00437400 lui a1, 0x47 | a1 = 0x470000;
0x00437404 bltz v0, 0x4373d4 |
| } while (v0 < 0);
0x00437408 lui a2, 0x47 | a2 = 0x470000;
0x0043740c move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x00437410 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x00437414 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x00437418 addiu a3, zero, 0x100 | a3 = 0x100;
0x0043741c jal 0x4381b8 | fcn_004381b8 ();
0x00437420 lbu v0, 0x4b0(sp) | v0 = *(var_4b0h);
| if (v0 == 0) {
0x00437424 beqz v0, 0x4373d4 | goto label_4;
| }
0x00437428 lbu a3, 0x4b1(sp) | a3 = *(var_4b1h);
0x0043742c lui a0, 0x47 | a0 = 0x470000;
0x00437430 sll a3, a3, 8 | a3 <<= 8;
| /* str.load_client_codepage:_filename__s_has_incorrect_version_id._Needed__hu__got__hu._n */
0x00437434 addiu a0, a0, 0x720 | a0 += 0x720;
0x00437438 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x0043743c addiu a2, zero, 1 | a2 = 1;
0x00437440 or a3, a3, v0 | a3 |= v0;
0x00437444 jal 0x437cc4 | fcn_00437cc4 ();
0x00437448 b 0x4373d4 | goto label_4;
0x0043744c nop |
| label_12:
0x00437450 jal 0x4876a0 | fcn_004876a0 ();
0x00437454 nop |
0x00437458 lw a0, (v0) | a0 = *(v0);
0x0043745c jal 0x486ee0 | fcn_00486ee0 ();
0x00437460 lui a0, 0x47 | a0 = "load_client_codepage: cannot read header from file %s. Error was %s\n";
| /* str.load_client_codepage:_cannot_read_header_from_file__s._Error_was__s_n */
0x00437464 addiu a0, a0, 0x6d8 |
0x00437468 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x0043746c move a2, v0 | a2 = v0;
0x00437470 jal 0x437cc4 | fcn_00437cc4 ();
0x00437474 b 0x4373d4 | goto label_4;
0x00437478 nop |
| label_13:
0x0043747c lbu v1, 0x4b3(sp) | v1 = *(var_4b3h);
0x00437480 lbu v0, 0x4b2(sp) | v0 = *(var_4b2h);
0x00437484 andi s0, s0, 0xffff | s0 &= 0xffff;
0x00437488 sll v1, v1, 8 | v1 <<= 8;
0x0043748c or v0, v1, v0 | v0 = v1 | v0;
0x00437490 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (v0 == s0) {
0x00437494 beq v0, s0, 0x4374e8 | goto label_14;
| }
0x00437498 lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x0043749c bltz v0, 0x4373d4 | goto label_4;
| }
0x004374a0 lui a2, 0x47 | a2 = 0x470000;
0x004374a4 move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x004374a8 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x004374ac addiu a2, a2, 0xa04 | a2 += 0xa04;
0x004374b0 addiu a3, zero, 0x10a | a3 = 0x10a;
0x004374b4 jal 0x4381b8 | fcn_004381b8 ();
0x004374b8 lbu v0, 0x4b2(sp) | v0 = *(var_4b2h);
| if (v0 == 0) {
0x004374bc beqz v0, 0x4373d4 | goto label_4;
| }
0x004374c0 lbu a3, 0x4b3(sp) | a3 = *(var_4b3h);
0x004374c4 lui a0, 0x47 | a0 = 0x470000;
0x004374c8 sll a3, a3, 8 | a3 <<= 8;
| /* str.load_client_codepage:_filename__s_has_incorrect_codepage._Needed__hu__got__hu._n */
0x004374cc addiu a0, a0, 0x774 | a0 += 0x774;
0x004374d0 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x004374d4 move a2, s0 | a2 = s0;
0x004374d8 or a3, a3, v0 | a3 |= v0;
0x004374dc jal 0x437cc4 | fcn_00437cc4 ();
0x004374e0 b 0x4373d4 | goto label_4;
0x004374e4 nop |
| label_14:
0x004374e8 lbu a0, 0x4b7(sp) | a0 = *(var_4b7h);
0x004374ec lbu s5, 0x4b5(sp) | s5 = *(var_4b5h);
0x004374f0 lbu v0, 0x4b6(sp) | v0 = *(var_4b6h);
0x004374f4 lbu v1, 0x4b4(sp) | v1 = *(var_4b4h);
0x004374f8 sll a0, a0, 8 | a0 <<= 8;
0x004374fc sll s5, s5, 8 | s5 <<= 8;
0x00437500 or v0, a0, v0 | v0 = a0 | v0;
0x00437504 or s5, s5, v1 | s5 |= v1;
0x00437508 sll v0, v0, 0x10 | v0 <<= 0x10;
0x0043750c or s5, s5, v0 | s5 |= v0;
0x00437510 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (s5 == s3) {
0x00437514 beq s5, s3, 0x437580 | goto label_15;
| }
0x00437518 lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x0043751c bltz v0, 0x4373d4 | goto label_4;
| }
0x00437520 lui a2, 0x47 | a2 = 0x470000;
0x00437524 move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x00437528 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x0043752c addiu a2, a2, 0xa04 | a2 += 0xa04;
0x00437530 addiu a3, zero, 0x113 | a3 = 0x113;
0x00437534 jal 0x4381b8 | fcn_004381b8 ();
0x00437538 lbu a0, 0x4b7(sp) | a0 = *(var_4b7h);
| if (v0 == 0) {
0x0043753c beqz v0, 0x4373d4 | goto label_4;
| }
0x00437540 lbu a3, 0x4b5(sp) | a3 = *(var_4b5h);
0x00437544 lbu v0, 0x4b6(sp) | v0 = *(var_4b6h);
0x00437548 lbu v1, 0x4b4(sp) | v1 = *(var_4b4h);
0x0043754c sll a0, a0, 8 | a0 <<= 8;
0x00437550 or v0, a0, v0 | v0 = a0 | v0;
0x00437554 sll a3, a3, 8 | a3 <<= 8;
0x00437558 or a3, a3, v1 | a3 |= v1;
0x0043755c sll v0, v0, 0x10 | v0 <<= 0x10;
0x00437560 lui a0, 0x47 | a0 = "load_client_codepage: filename %s has incorrect size headers. Needed %u, got %u.\n";
| /* str.load_client_codepage:_filename__s_has_incorrect_size_headers._Needed__u__got__u._n */
0x00437564 addiu a0, a0, 0x7c4 |
0x00437568 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x0043756c move a2, s3 | a2 = s3;
0x00437570 or a3, a3, v0 | a3 |= v0;
0x00437574 jal 0x437cc4 | fcn_00437cc4 ();
0x00437578 b 0x4373d4 | goto label_4;
0x0043757c nop |
| label_15:
0x00437580 andi v0, s5, 3 | v0 = s5 & 3;
0x00437584 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (v0 == 0) {
0x00437588 beqz v0, 0x4375c8 | goto label_16;
| }
0x0043758c lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x00437590 bltz v0, 0x4373d4 | goto label_4;
| }
0x00437594 lui a2, 0x47 | a2 = 0x470000;
0x00437598 move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x0043759c addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x004375a0 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x004375a4 addiu a3, zero, 0x11d | a3 = 0x11d;
0x004375a8 jal 0x4381b8 | fcn_004381b8 ();
0x004375ac lui a0, 0x47 | a0 = 0x470000;
| if (v0 == 0) {
0x004375b0 beqz v0, 0x4373d4 | goto label_4;
| }
| /* str.load_client_codepage:_filename__s_has_a_codepage_size_not_a_multiple_of_4._n */
0x004375b4 addiu a0, a0, 0x818 | a0 += 0x818;
0x004375b8 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x004375bc jal 0x437cc4 | fcn_00437cc4 ();
0x004375c0 b 0x4373d4 | goto label_4;
0x004375c4 nop |
| label_16:
0x004375c8 addiu a0, s2, -4 | a0 = s2 + -4;
0x004375cc jal 0x487040 | fcn_00487040 ();
0x004375d0 move s0, v0 | s0 = v0;
| if (v0 != 0) {
0x004375d4 beqz v0, 0x43767c |
0x004375d8 move a0, s4 | a0 = s4;
0x004375dc move a1, v0 | a1 = v0;
0x004375e0 move a2, s5 | a2 = s5;
0x004375e4 jal 0x487360 | fcn_00487360 ();
0x004375e8 lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
| if (s5 != v0) {
0x004375ec beq s5, v0, 0x437658 |
0x004375f0 lui a1, 0x47 | a1 = 0x470000;
| if (v0 >= 0) {
0x004375f4 bltz v0, 0x43763c |
0x004375f8 lui a2, 0x47 | a2 = 0x470000;
0x004375fc move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x00437600 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x00437604 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x00437608 addiu a3, zero, 0x12b | a3 = 0x12b;
0x0043760c jal 0x4381b8 | fcn_004381b8 ();
| if (v0 == 0) {
0x00437610 beqz v0, 0x43763c | goto label_17;
| }
0x00437614 nop |
0x00437618 jal 0x4876a0 | fcn_004876a0 ();
0x0043761c nop |
0x00437620 lw a0, (v0) | a0 = *(v0);
0x00437624 jal 0x486ee0 | fcn_00486ee0 ();
0x00437628 lui a0, 0x47 | a0 = "load_client_codepage: read fail on file %s. Error was %s.\n";
| /* str.load_client_codepage:_read_fail_on_file__s._Error_was__s._n */
0x0043762c addiu a0, a0, 0x888 |
0x00437630 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00437634 move a2, v0 | a2 = v0;
0x00437638 jal 0x437cc4 | fcn_00437cc4 ();
| }
| label_17:
0x0043763c move a0, s4 | a0 = s4;
0x00437640 jal 0x487800 | fcn_00487800 ();
0x00437644 move a0, s0 | a0 = s0;
0x00437648 move s0, zero | s0 = 0;
0x0043764c jal 0x487830 | fcn_00487830 ();
0x00437650 lw ra, 0x4d4(sp) | ra = *(var_4d4h);
0x00437654 b 0x437184 | goto label_3;
| }
0x00437658 addu s5, s0, s5 | s5 = s0 + s5;
0x0043765c sb zero, (s5) | *(s5) = 0;
0x00437660 sb zero, 1(s5) | *((s5 + 1)) = 0;
0x00437664 sb zero, 2(s5) | *((s5 + 2)) = 0;
0x00437668 sb zero, 3(s5) | *((s5 + 3)) = 0;
0x0043766c move a0, s4 | a0 = s4;
0x00437670 jal 0x487800 | fcn_00487800 ();
0x00437674 lw ra, 0x4d4(sp) | ra = *(var_4d4h);
0x00437678 b 0x437184 | goto label_3;
| }
0x0043767c lw v0, -0x2b40(s1) | v0 = *((s1 - 2768));
0x00437680 lui a1, 0x47 | a1 = 0x470000;
| if (v0 < 0) {
0x00437684 bltz v0, 0x4373d4 | goto label_4;
| }
0x00437688 lui a2, 0x47 | a2 = 0x470000;
0x0043768c move a0, zero | a0 = 0;
| /* str.lib_charset.c */
0x00437690 addiu a1, a1, 0x590 | a1 += 0x590;
| /* str.load_client_codepage */
0x00437694 addiu a2, a2, 0xa04 | a2 += 0xa04;
0x00437698 addiu a3, zero, 0x124 | a3 = 0x124;
0x0043769c jal 0x4381b8 | fcn_004381b8 ();
0x004376a0 lui a0, 0x47 | a0 = 0x470000;
| if (v0 == 0) {
0x004376a4 beqz v0, 0x4373d4 | goto label_4;
| }
| /* str.load_client_codepage:_malloc_fail._n */
0x004376a8 addiu a0, a0, 0x864 | a0 += 0x864;
0x004376ac jal 0x437cc4 | fcn_00437cc4 ();
0x004376b0 b 0x4373d4 | goto label_4;
0x004376b4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x437e54 */
| #include <stdint.h>
|
; (fcn) fcn.00437e54 () | void fcn_00437e54 () {
0x00437e54 addiu sp, sp, -0x4c0 |
0x00437e58 sw ra, 0x4bc(sp) | *(var_4bch) = ra;
0x00437e5c sw s2, 0x4b8(sp) | *(var_4b8h) = s2;
0x00437e60 sw s1, 0x4b4(sp) | *(var_4b4h) = s1;
0x00437e64 sw s0, 0x4b0(sp) | *(var_4b0h) = s0;
0x00437e68 jal 0x486ef0 | fcn_00486ef0 ();
0x00437e6c lw ra, 0x4bc(sp) | ra = *(var_4bch);
| if (v0 != 0) {
0x00437e70 bnez v0, 0x437e88 | goto label_5;
| }
0x00437e74 lui v0, 0x4a | v0 = 0x4a0000;
0x00437e78 lw v0, 0x19bc(v0) | v0 = *((v0 + 1647));
| if (v0 == 0) {
0x00437e7c beqz v0, 0x437e9c | goto label_6;
| }
0x00437e80 nop |
| label_0:
0x00437e84 lw ra, 0x4bc(sp) | ra = *(var_4bch);
| do {
| label_5:
0x00437e88 lw s2, 0x4b8(sp) | s2 = *(var_4b8h);
0x00437e8c lw s1, 0x4b4(sp) | s1 = *(var_4b4h);
0x00437e90 lw s0, 0x4b0(sp) | s0 = *(var_4b0h);
0x00437e94 addiu sp, sp, 0x4c0 |
0x00437e98 jr ra | return v0;
| label_6:
0x00437e9c jal 0x437c54 | fcn_00437c54 ();
0x00437ea0 nop |
0x00437ea4 lw ra, 0x4bc(sp) | ra = *(var_4bch);
0x00437ea8 beqz v0, 0x437e88 |
| } while (v0 == 0);
0x00437eac lui s0, 0x4a | s0 = 0x4a0000;
0x00437eb0 jal 0x410690 | fcn_00410690 ();
0x00437eb4 lw a0, 0x19b4(s0) | a0 = *((s0 + 1645));
0x00437eb8 move s1, v0 | s1 = v0;
0x00437ebc jal 0x487700 | fcn_00487700 ();
0x00437ec0 move a0, v0 | a0 = v0;
0x00437ec4 addiu a1, sp, 0x418 | a1 = sp + 0x418;
0x00437ec8 jal 0x43e040 | fcn_0043e040 ();
0x00437ecc lw v0, 0x19b4(s0) | v0 = *((s0 + 1645));
| if (v0 == 0) {
0x00437ed0 bnez v0, 0x437eec |
0x00437ed4 lw v0, 0x44c(sp) | v0 = *(var_44ch);
0x00437ed8 sll s1, s1, 0xa | s1 <<= 0xa;
0x00437edc slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00437ee0 bnez v0, 0x437f6c | goto label_7;
| }
0x00437ee4 nop |
| label_4:
0x00437ee8 lw v0, 0x19b4(s0) | v0 = *((s0 + 1645));
| }
| label_3:
0x00437eec lui a0, 0x47 | a0 = 0x470000;
0x00437ef0 beqz v0, 0x437f04 |
| while (v0 < 0) {
0x00437ef4 lui v0, 0x4a | v0 = 0x4a0000;
| label_1:
0x00437ef8 sw zero, 0x19c0(v0) | *((v0 + 1648)) = 0;
0x00437efc b 0x437e84 | goto label_0;
| label_2:
0x00437f00 lui a0, 0x47 | a0 = 0x470000;
0x00437f04 lui a1, 0x46 | a1 = 0x460000;
| /* str._dev_console */
0x00437f08 addiu a0, a0, 0xa28 | a0 += 0xa28;
0x00437f0c addiu a1, a1, 0x14ec | a1 += 0x14ec;
0x00437f10 jal 0x43e184 | fcn_0043e184 ();
0x00437f14 sw v0, 0x19b4(s0) | *((s0 + 1645)) = v0;
| if (v0 == 0) {
0x00437f18 beqz v0, 0x437fd8 | goto label_8;
| }
0x00437f1c lui v0, 0x4b | v0 = 0x4b0000;
0x00437f20 lw v0, -0x2b40(v0) | v0 = *((v0 - 2768));
0x00437f24 lui a2, 0x47 | a2 = 0x470000;
0x00437f28 bltz v0, 0x437ef4 |
| }
0x00437f2c lui a1, 0x47 | a1 = 0x470000;
0x00437f30 move a0, zero | a0 = 0;
| /* str.lib_debug.c */
0x00437f34 addiu a1, a1, 0xa40 | a1 += 0xa40;
| /* str.check_log_size */
0x00437f38 addiu a2, a2, 0xbf4 | a2 += 0xbf4;
0x00437f3c addiu a3, zero, 0x1c3 | a3 = 0x1c3;
0x00437f40 jal 0x4381b8 | fcn_004381b8 ();
0x00437f44 lui v0, 0x4a | v0 = 0x4a0000;
| if (v0 == 0) {
0x00437f48 beqz v0, 0x437ef8 | goto label_1;
| }
0x00437f4c lui a0, 0x47 | a0 = 0x470000;
0x00437f50 lui a1, 0x4a | a1 = 0x4a0000;
| /* str.check_log_size:_open_of_debug_file__s_failed___using_console._n */
0x00437f54 addiu a0, a0, 0xa4c | a0 += 0xa4c;
0x00437f58 addiu a1, a1, 0x15b4 | a1 += 0x15b4;
0x00437f5c jal 0x437cc4 | fcn_00437cc4 ();
0x00437f60 lui v0, 0x4a | v0 = 0x4a0000;
0x00437f64 sw zero, 0x19c0(v0) | *((v0 + 1648)) = 0;
0x00437f68 b 0x437e84 | goto label_0;
| label_7:
0x00437f6c jal 0x43853c | fcn_0043853c ();
0x00437f70 nop |
0x00437f74 lw v0, 0x19b4(s0) | v0 = *((s0 + 1645));
0x00437f78 lui s2, 0x4a | s2 = 0x4a0000;
| if (v0 == 0) {
0x00437f7c beqz v0, 0x437f00 | goto label_2;
| }
0x00437f80 addiu a0, s2, 0x15b4 | a0 = s2 + 0x15b4;
0x00437f84 jal 0x44d784 | fcn_0044d784 ();
0x00437f88 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x00437f8c lw v0, 0x19b4(s0) | v0 = *((s0 + 1645));
| if (v0 == 0) {
0x00437f90 beqz v0, 0x437eec | goto label_3;
| }
0x00437f94 lui a2, 0x47 | a2 = "%s.old";
| /* str._s.old */
0x00437f98 addiu a2, a2, 0xa38 |
0x00437f9c addiu a3, s2, 0x15b4 | a3 = s2 + 0x15b4;
0x00437fa0 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00437fa4 addiu a1, zero, 0x3ff | a1 = 0x3ff;
0x00437fa8 jal 0x444430 | sym_snprintf ()
0x00437fac addiu a0, s2, 0x15b4 | a0 = s2 + 0x15b4;
0x00437fb0 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00437fb4 jal 0x4871f0 | fcn_004871f0 ();
0x00437fb8 jal 0x43853c | fcn_0043853c ();
0x00437fbc nop |
0x00437fc0 addiu a0, sp, 0x18 | a0 = sp + 0x18;
| if (v0 != 0) {
0x00437fc4 bnez v0, 0x437ee8 | goto label_4;
| }
0x00437fc8 addiu a1, s2, 0x15b4 | a1 = s2 + 0x15b4;
0x00437fcc jal 0x4871f0 | fcn_004871f0 ();
0x00437fd0 lw v0, 0x19b4(s0) | v0 = *((s0 + 1645));
0x00437fd4 b 0x437eec | goto label_3;
| label_8:
0x00437fd8 jal 0x487190 | fcn_00487190 ();
0x00437fdc nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x4381b8 */
| #include <stdint.h>
|
; (fcn) fcn.004381b8 () | void fcn_004381b8 () {
0x004381b8 addiu sp, sp, -0x120 |
0x004381bc sw s5, 0x10c(sp) | *(var_10ch) = s5;
0x004381c0 sw s4, 0x108(sp) | *(var_108h) = s4;
0x004381c4 sw s3, 0x104(sp) | *(var_104h) = s3;
0x004381c8 sw s2, 0x100(sp) | *(var_100h) = s2;
0x004381cc sw s1, 0xfc(sp) | *(var_fch) = s1;
0x004381d0 sw ra, 0x11c(sp) | *(var_11ch) = ra;
0x004381d4 sw fp, 0x118(sp) | *(var_118h) = fp;
0x004381d8 sw s7, 0x114(sp) | *(var_114h) = s7;
0x004381dc sw s6, 0x110(sp) | *(var_110h) = s6;
0x004381e0 sw s0, 0xf8(sp) | *(var_f8h) = s0;
0x004381e4 move s2, a0 | s2 = a0;
0x004381e8 move s5, a1 | s5 = a1;
0x004381ec move s4, a2 | s4 = a2;
0x004381f0 move s3, a3 | s3 = a3;
0x004381f4 jal 0x4876a0 | fcn_004876a0 ();
0x004381f8 lui v1, 0x4a | v1 = 0x4a0000;
0x004381fc lw v1, 0x19c4(v1) | v1 = *((v1 + 1649));
0x00438200 lw s1, (v0) | s1 = *(v0);
| if (v1 == 0) {
0x00438204 bnez v1, 0x43821c |
0x00438208 move s0, v0 | s0 = v0;
0x0043820c lui v0, 0x4a | v0 = 0x4a0000;
0x00438210 lw v0, 0x19b8(v0) | v0 = *((v0 + 1646));
| if (v0 == 0) {
0x00438214 beqz v0, 0x438250 | goto label_3;
| }
0x00438218 nop |
| }
0x0043821c lw ra, 0x11c(sp) | ra = *(var_11ch);
0x00438220 lw fp, 0x118(sp) | fp = *(var_118h);
0x00438224 lw s7, 0x114(sp) | s7 = *(var_114h);
0x00438228 lw s6, 0x110(sp) | s6 = *(var_110h);
0x0043822c lw s5, 0x10c(sp) | s5 = *(var_10ch);
0x00438230 lw s4, 0x108(sp) | s4 = *(var_108h);
0x00438234 lw s3, 0x104(sp) | s3 = *(var_104h);
0x00438238 lw s2, 0x100(sp) | s2 = *(var_100h);
0x0043823c lw s1, 0xfc(sp) | s1 = *(var_fch);
0x00438240 lw s0, 0xf8(sp) | s0 = *(var_f8h);
0x00438244 addiu v0, zero, 1 | v0 = 1;
0x00438248 addiu sp, sp, 0x120 |
0x0043824c jr ra | return v0;
| label_3:
0x00438250 jal 0x410558 | fcn_00410558 ();
0x00438254 nop |
| if (v0 == 0) {
0x00438258 beqz v0, 0x4382f0 | goto label_4;
| }
0x0043825c nop |
| do {
0x00438260 sb zero, 0x28(sp) | *(s) = 0;
0x00438264 jal 0x410570 | fcn_00410570 ();
| if (v0 != 0) {
0x00438268 bnez v0, 0x438368 | goto label_5;
| }
0x0043826c nop |
0x00438270 addiu s6, sp, 0x28 | s6 = sp + 0x28;
| label_2:
0x00438274 jal 0x41057c | fcn_0041057c ();
0x00438278 nop |
| if (v0 != 0) {
0x0043827c bnez v0, 0x438308 | goto label_6;
| }
0x00438280 nop |
| label_1:
0x00438284 jal 0x410564 | fcn_00410564 ();
0x00438288 nop |
0x0043828c move a0, v0 | a0 = v0;
0x00438290 jal 0x43fbd4 | fcn_0043fbd4 ();
0x00438294 lui a0, 0x47 | a0 = 0x470000;
0x00438298 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0043829c sw s4, 0x14(sp) | *(var_14h) = s4;
0x004382a0 sw s3, 0x18(sp) | *(var_18h) = s3;
| /* str.__s___d_s___s:_s__d__n */
0x004382a4 addiu a0, a0, 0xabc | a0 += 0xabc;
0x004382a8 move a1, v0 | a1 = v0;
0x004382ac move a2, s2 | a2 = s2;
0x004382b0 move a3, s6 | a3 = s6;
0x004382b4 jal 0x437fe0 | fcn_00437fe0 ();
0x004382b8 sw s1, (s0) | *(s0) = s1;
| label_0:
0x004382bc lw ra, 0x11c(sp) | ra = *(var_11ch);
0x004382c0 lw fp, 0x118(sp) | fp = *(var_118h);
0x004382c4 lw s7, 0x114(sp) | s7 = *(var_114h);
0x004382c8 lw s6, 0x110(sp) | s6 = *(var_110h);
0x004382cc lw s5, 0x10c(sp) | s5 = *(var_10ch);
0x004382d0 lw s4, 0x108(sp) | s4 = *(var_108h);
0x004382d4 lw s3, 0x104(sp) | s3 = *(var_104h);
0x004382d8 lw s2, 0x100(sp) | s2 = *(var_100h);
0x004382dc lw s1, 0xfc(sp) | s1 = *(var_fch);
0x004382e0 lw s0, 0xf8(sp) | s0 = *(var_f8h);
0x004382e4 addiu v0, zero, 1 | v0 = 1;
0x004382e8 addiu sp, sp, 0x120 |
0x004382ec jr ra | return v0;
| label_4:
0x004382f0 jal 0x4137bc | fcn_004137bc ();
0x004382f4 nop |
0x004382f8 beqz v0, 0x438260 |
| } while (v0 == 0);
0x004382fc nop |
0x00438300 sw s1, (s0) | *(s0) = s1;
0x00438304 b 0x4382bc | goto label_0;
| label_6:
0x00438308 move a0, s6 | a0 = s6;
0x0043830c jal 0x487740 | fcn_00487740 ();
0x00438310 move s7, v0 | s7 = v0;
0x00438314 jal 0x486ef0 | fcn_00486ef0 ();
0x00438318 move fp, v0 | fp = v0;
0x0043831c jal 0x486f40 | fcn_00486f40 ();
0x00438320 sw v0, 0xf4(sp) | *(var_f4h) = v0;
0x00438324 jal 0x487000 | fcn_00487000 ();
0x00438328 sw v0, 0xf0(sp) | *(var_f0h) = v0;
0x0043832c jal 0x486e90 | fcn_00486e90 ();
0x00438330 lw a0, 0xf4(sp) | a0 = *(var_f4h);
0x00438334 lw v1, 0xf0(sp) | v1 = *(var_f0h);
0x00438338 addiu a1, zero, 0xc7 | a1 = 0xc7;
0x0043833c lui a2, 0x47 | a2 = 0x470000;
0x00438340 sw a0, 0x10(sp) | *(var_10h) = a0;
0x00438344 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00438348 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0043834c addu a0, s6, s7 | a0 = s6 + s7;
0x00438350 subu a1, a1, s7 | __asm ("subu a1, a1, s7");
| /* str.__effective__u___u___real__u___u_ */
0x00438354 addiu a2, a2, 0xa98 | a2 += 0xa98;
0x00438358 move a3, fp | a3 = fp;
0x0043835c jal 0x444430 | sym_snprintf ()
0x00438360 b 0x438284 | goto label_1;
0x00438364 nop |
| label_5:
0x00438368 addiu s6, sp, 0x28 | s6 = sp + 0x28;
0x0043836c jal 0x43e4d0 | fcn_0043e4d0 ();
0x00438370 lui a2, 0x47 | a2 = 0x470000;
0x00438374 move a0, s6 | a0 = s6;
0x00438378 addiu a1, zero, 0xc7 | a1 = 0xc7;
| /* str.__pid_u */
0x0043837c addiu a2, a2, 0xa8c | a2 += 0xa8c;
0x00438380 move a3, v0 | a3 = v0;
0x00438384 jal 0x444430 | sym_snprintf ()
0x00438388 b 0x438274 | goto label_2;
0x0043838c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x43d4f0 */
| #include <stdint.h>
|
; (fcn) fcn.0043d4f0 () | void fcn_0043d4f0 () {
0x0043d4f0 addiu sp, sp, -0x448 |
0x0043d4f4 sw ra, 0x444(sp) | *(var_444h) = ra;
0x0043d4f8 sw s1, 0x440(sp) | *(var_440h) = s1;
0x0043d4fc sw s0, 0x43c(sp) | *(var_43ch) = s0;
0x0043d500 move s0, a0 | s0 = a0;
0x0043d504 jal 0x40febc | fcn_0040febc ();
0x0043d508 lui a2, 0x47 | a2 = 0x470000;
0x0043d50c addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0043d510 addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str._s__s.pid */
0x0043d514 addiu a2, a2, 0x2370 | a2 += 0x2370;
0x0043d518 move a3, v0 | a3 = v0;
0x0043d51c sw s0, 0x10(sp) | *(var_10h) = s0;
0x0043d520 jal 0x444430 | sym_snprintf ()
0x0043d524 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0043d528 addiu a1, zero, 0x80 | a1 = 0x80;
0x0043d52c addiu a2, zero, 0x1a4 | a2 = 0x1a4;
0x0043d530 jal 0x43e168 | fcn_0043e168 ();
0x0043d534 move s1, v0 | s1 = v0;
0x0043d538 addiu v0, zero, -1 | v0 = -1;
0x0043d53c move s0, zero | s0 = 0;
| if (s1 == v0) {
0x0043d540 beq s1, v0, 0x43d5a0 | goto label_1;
| }
0x0043d544 move a0, s1 | a0 = s1;
0x0043d548 addiu a1, sp, 0x420 | a1 = sp + 0x420;
0x0043d54c addiu a2, zero, 0x13 | a2 = 0x13;
0x0043d550 sw zero, 0x420(sp) | *(var_420h) = 0;
0x0043d554 sw zero, 0x424(sp) | *(var_424h) = 0;
0x0043d558 sw zero, 0x428(sp) | *(var_428h) = 0;
0x0043d55c sw zero, 0x42c(sp) | *(var_42ch) = 0;
0x0043d560 sw zero, 0x430(sp) | *(var_430h) = 0;
0x0043d564 jal 0x487360 | fcn_00487360 ();
| if (v0 <= 0) {
0x0043d568 blez v0, 0x43d58c | goto label_2;
| }
0x0043d56c nop |
0x0043d570 addiu a0, sp, 0x420 | a0 = sp + 0x420;
0x0043d574 jal 0x4876f0 | fcn_004876f0 ();
0x0043d578 move a0, v0 | a0 = v0;
0x0043d57c move s0, v0 | s0 = v0;
0x0043d580 jal 0x44ec38 | fcn_0044ec38 ();
0x0043d584 move a0, s1 | a0 = s1;
0x0043d588 bnez v0, 0x43d5b8 |
| while (v0 != 0) {
| label_2:
0x0043d58c move a0, s1 | a0 = s1;
0x0043d590 jal 0x487800 | fcn_00487800 ();
0x0043d594 move s0, zero | s0 = 0;
0x0043d598 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0043d59c jal 0x4873a0 | fcn_004873a0 ();
| label_1:
0x0043d5a0 lw ra, 0x444(sp) | ra = *(var_444h);
| label_0:
0x0043d5a4 move v0, s0 | v0 = s0;
0x0043d5a8 lw s1, 0x440(sp) | s1 = *(var_440h);
0x0043d5ac lw s0, 0x43c(sp) | s0 = *(var_43ch);
0x0043d5b0 addiu sp, sp, 0x448 |
0x0043d5b4 jr ra | return v0;
0x0043d5b8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0043d5bc addiu a1, zero, 6 | a1 = 6;
0x0043d5c0 move a2, zero | a2 = 0;
0x0043d5c4 addiu a3, zero, 1 | a3 = 1;
0x0043d5c8 jal 0x44f218 | fcn_0044f218 ();
0x0043d5cc bnez v0, 0x43d58c |
| }
0x0043d5d0 nop |
0x0043d5d4 move a0, s1 | a0 = s1;
0x0043d5d8 jal 0x487800 | fcn_00487800 ();
0x0043d5dc lw ra, 0x444(sp) | ra = *(var_444h);
0x0043d5e0 b 0x43d5a4 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x43fbd4 */
| #include <stdint.h>
|
; (fcn) fcn.0043fbd4 () | void fcn_0043fbd4 () {
0x0043fbd4 addiu sp, sp, -0x38 |
0x0043fbd8 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0043fbdc sw s0, 0x30(sp) | *(var_30h) = s0;
| if (a0 != 0) {
0x0043fbe0 beqz a0, 0x43fc58 |
0x0043fbe4 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0043fbe8 jal 0x43efbc | fcn_0043efbc ();
0x0043fbec lw v0, 0x20(sp) | v0 = *(var_20h);
0x0043fbf0 addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x0043fbf4 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0043fbf8 jal 0x43f174 | fcn_0043f174 ();
0x0043fbfc lui a2, 0x47 | a2 = 0x470000;
| if (v0 == 0) {
0x0043fc00 beqz v0, 0x43fca4 | goto label_1;
| }
0x0043fc04 lui s0, 0x4a | s0 = 0x4a0000;
0x0043fc08 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._Y__m__d__H:_M:_S */
0x0043fc0c addiu a2, a2, 0x2524 | a2 += 0x2524;
0x0043fc10 move a3, v0 | a3 = v0;
0x0043fc14 addiu a0, s0, 0x4570 | a0 = s0 + 0x4570;
0x0043fc18 jal 0x487670 | fcn_00487670 ();
0x0043fc1c addiu a0, s0, 0x4570 | a0 = s0 + 0x4570;
0x0043fc20 jal 0x487740 | fcn_00487740 ();
0x0043fc24 lw a3, 0x24(sp) | a3 = *(var_24h);
0x0043fc28 addiu s0, s0, 0x4570 | s0 += 0x4570;
0x0043fc2c addiu a1, zero, 0xff | a1 = 0xff;
0x0043fc30 lui a2, 0x47 | a2 = 0x470000;
0x0043fc34 addu a0, s0, v0 | a0 = s0 + v0;
0x0043fc38 subu a1, a1, v0 | __asm ("subu a1, a1, v0");
| /* str.._06ld */
0x0043fc3c addiu a2, a2, 0x2538 | a2 += 0x2538;
0x0043fc40 jal 0x444430 | sym_snprintf ()
0x0043fc44 lw ra, 0x34(sp) | ra = *(var_34h);
0x0043fc48 move v0, s0 | v0 = s0;
0x0043fc4c lw s0, 0x30(sp) | s0 = *(var_30h);
0x0043fc50 addiu sp, sp, 0x38 |
0x0043fc54 jr ra | return v0;
| }
0x0043fc58 jal 0x487540 | fcn_00487540 ();
0x0043fc5c nop |
0x0043fc60 addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x0043fc64 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0043fc68 jal 0x43f174 | fcn_0043f174 ();
0x0043fc6c move a3, v0 | a3 = v0;
| if (v0 == 0) {
0x0043fc70 beqz v0, 0x43fcd4 | goto label_2;
| }
0x0043fc74 lui s0, 0x4a | s0 = 0x4a0000;
0x0043fc78 lui a2, 0x47 | a2 = 0x470000;
0x0043fc7c addiu a0, s0, 0x4570 | a0 = s0 + 0x4570;
0x0043fc80 addiu a1, zero, 0x64 | a1 = 0x64;
| /* str._Y__m__d__H:_M:_S */
0x0043fc84 addiu a2, a2, 0x2524 | a2 += 0x2524;
0x0043fc88 addiu s0, s0, 0x4570 | s0 += 0x4570;
0x0043fc8c jal 0x487670 | fcn_00487670 ();
| label_0:
0x0043fc90 lw ra, 0x34(sp) | ra = *(var_34h);
| do {
0x0043fc94 move v0, s0 | v0 = s0;
0x0043fc98 lw s0, 0x30(sp) | s0 = *(var_30h);
0x0043fc9c addiu sp, sp, 0x38 |
0x0043fca0 jr ra | return v0;
| label_1:
0x0043fca4 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0043fca8 lw a3, 0x20(sp) | a3 = *(var_20h);
0x0043fcac lui s0, 0x4a | s0 = 0x4a0000;
0x0043fcb0 lui a2, 0x47 | a2 = 0x470000;
0x0043fcb4 addiu a0, s0, 0x4570 | a0 = s0 + 0x4570;
0x0043fcb8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0043fcbc addiu a1, zero, 0xff | a1 = 0xff;
| /* str._ld._06ld_seconds_since_the_Epoch */
0x0043fcc0 addiu a2, a2, 0x2540 | a2 += 0x2540;
0x0043fcc4 move s0, a0 | s0 = a0;
0x0043fcc8 jal 0x444430 | sym_snprintf ()
0x0043fccc lw ra, 0x34(sp) | ra = *(var_34h);
0x0043fcd0 b 0x43fc94 |
| } while (1);
| label_2:
0x0043fcd4 lw a3, 0x28(sp) | a3 = *(var_28h);
0x0043fcd8 lui s0, 0x4a | s0 = 0x4a0000;
0x0043fcdc lui a2, 0x47 | a2 = 0x470000;
0x0043fce0 addiu a0, s0, 0x4570 | a0 = s0 + 0x4570;
0x0043fce4 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._ld_seconds_since_the_Epoch */
0x0043fce8 addiu a2, a2, 0x24ec | a2 += 0x24ec;
0x0043fcec jal 0x444430 | sym_snprintf ()
0x0043fcf0 addiu s0, s0, 0x4570 | s0 += 0x4570;
0x0043fcf4 b 0x43fc90 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x442a90 */
| #include <stdint.h>
|
; (fcn) fcn.00442a90 () | void fcn_00442a90 () {
0x00442a90 addiu sp, sp, -0x420 |
0x00442a94 sw ra, 0x41c(sp) | *(var_41ch) = ra;
0x00442a98 sw s0, 0x418(sp) | *(var_418h) = s0;
0x00442a9c jal 0x44d488 | fcn_0044d488 ();
0x00442aa0 lui a2, 0x47 | a2 = 0x470000;
0x00442aa4 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00442aa8 addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str._s_smb.XXXXXX */
0x00442aac addiu a2, a2, 0x2d20 | a2 += 0x2d20;
0x00442ab0 move a3, v0 | a3 = v0;
0x00442ab4 jal 0x444430 | sym_snprintf ()
0x00442ab8 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00442abc jal 0x4508bc | fcn_004508bc ();
0x00442ac0 move s0, v0 | s0 = v0;
0x00442ac4 addiu v0, zero, -1 | v0 = -1;
0x00442ac8 lui v0, 0x4b | v0 = 0x4b0000;
| if (s0 == v0) {
0x00442acc beq s0, v0, 0x442afc | goto label_3;
| }
0x00442ad0 lw v0, -0x2b40(v0) | v0 = *((v0 - 2768));
0x00442ad4 slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00442ad8 lui a1, 0x47 | a1 = 0x470000;
| if (v0 == 0) {
0x00442adc beqz v0, 0x442b54 | goto label_4;
| }
| label_2:
0x00442ae0 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00442ae4 jal 0x4873a0 | fcn_004873a0 ();
| do {
| label_0:
0x00442ae8 lw ra, 0x41c(sp) | ra = *(var_41ch);
| label_1:
0x00442aec move v0, s0 | v0 = s0;
0x00442af0 lw s0, 0x418(sp) | s0 = *(var_418h);
0x00442af4 addiu sp, sp, 0x420 |
0x00442af8 jr ra | return v0;
| label_3:
0x00442afc lw v0, -0x2b40(v0) | v0 = *((v0 - 2768));
0x00442b00 lui a1, 0x47 | a1 = 0x470000;
0x00442b04 bltz v0, 0x442ae8 |
| } while (v0 < 0);
0x00442b08 lui a2, 0x47 | a2 = 0x470000;
0x00442b0c move a0, zero | a0 = 0;
| /* str.lib_smbrun.c */
0x00442b10 addiu a1, a1, 0x2d30 | a1 += 0x2d30;
| /* str.setup_out_fd */
0x00442b14 addiu a2, a2, 0x2e18 | a2 += 0x2e18;
0x00442b18 addiu a3, zero, 0x2b | a3 = 0x2b;
0x00442b1c jal 0x4381b8 | fcn_004381b8 ();
| if (v0 == 0) {
0x00442b20 beqz v0, 0x442ae8 | goto label_0;
| }
0x00442b24 nop |
0x00442b28 jal 0x4876a0 | fcn_004876a0 ();
0x00442b2c nop |
0x00442b30 lw a0, (v0) | a0 = *(v0);
0x00442b34 jal 0x486ee0 | fcn_00486ee0 ();
0x00442b38 lui a0, 0x47 | a0 = "setup_out_fd: Failed to create file %s. (%s)\n";
| /* str.setup_out_fd:_Failed_to_create_file__s.___s__n */
0x00442b3c addiu a0, a0, 0x2d40 |
0x00442b40 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00442b44 move a2, v0 | a2 = v0;
0x00442b48 jal 0x437cc4 | fcn_00437cc4 ();
0x00442b4c lw ra, 0x41c(sp) | ra = *(var_41ch);
0x00442b50 b 0x442aec | goto label_1;
| label_4:
0x00442b54 lui a2, 0x47 | a2 = 0x470000;
0x00442b58 addiu a0, zero, 0xa | a0 = 0xa;
| /* str.lib_smbrun.c */
0x00442b5c addiu a1, a1, 0x2d30 | a1 += 0x2d30;
| /* str.setup_out_fd */
0x00442b60 addiu a2, a2, 0x2e18 | a2 += 0x2e18;
0x00442b64 addiu a3, zero, 0x2f | a3 = 0x2f;
0x00442b68 jal 0x4381b8 | fcn_004381b8 ();
0x00442b6c lui a0, 0x47 | a0 = 0x470000;
| if (v0 == 0) {
0x00442b70 beqz v0, 0x442ae0 | goto label_2;
| }
| /* str.setup_out_fd:_Created_tmp_file__s_n */
0x00442b74 addiu a0, a0, 0x2d70 | a0 += 0x2d70;
0x00442b78 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00442b7c jal 0x437cc4 | fcn_00437cc4 ();
0x00442b80 b 0x442ae0 | goto label_2;
0x00442b84 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x4470c0 */
| #include <stdint.h>
|
; (fcn) fcn.004470c0 () | void fcn_004470c0 () {
0x004470c0 addiu v0, zero, -1 | v0 = -1;
0x004470c4 lui a2, 0x47 | a2 = 0x470000;
| if (a0 != v0) {
0x004470c8 beq a0, v0, 0x447104 |
0x004470cc addiu sp, sp, -0x20 |
0x004470d0 sw s0, 0x18(sp) | *(var_18h) = s0;
0x004470d4 lui s0, 0x4a | s0 = 0x4a0000;
0x004470d8 move a3, a0 | a3 = a0;
0x004470dc addiu a1, zero, 0x3f | a1 = 0x3f;
0x004470e0 addiu a0, s0, 0x5298 | a0 = s0 + 0x5298;
0x004470e4 sw ra, 0x1c(sp) | *(var_1ch) = ra;
| /* esilref: '0&o' */
0x004470e8 addiu a2, a2, 0x392c | a2 += 0x392c;
0x004470ec jal 0x444430 | sym_snprintf ()
0x004470f0 lw ra, 0x1c(sp) | ra = *(var_1ch);
0x004470f4 addiu v0, s0, 0x5298 | v0 = s0 + 0x5298;
0x004470f8 lw s0, 0x18(sp) | s0 = *(var_18h);
0x004470fc addiu sp, sp, 0x20 |
0x00447100 jr ra | return v0;
| }
0x00447104 lui v0, 0x47 | v0 = 0x473928;
| /* esilref: '-1' */
0x00447108 addiu v0, v0, 0x3928 |
0x0044710c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x447790 */
| #include <stdint.h>
|
; (fcn) fcn.00447790 () | void fcn_00447790 () {
0x00447790 addiu sp, sp, -0x48 |
0x00447794 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x00447798 sw s2, 0x38(sp) | *(var_38h) = s2;
0x0044779c sw ra, 0x44(sp) | *(var_44h) = ra;
0x004477a0 sw s4, 0x40(sp) | *(var_40h) = s4;
0x004477a4 sw s1, 0x34(sp) | *(var_34h) = s1;
0x004477a8 sw s0, 0x30(sp) | *(var_30h) = s0;
0x004477ac move s2, a1 | s2 = a1;
0x004477b0 lbu a1, 6(a1) | a1 = *((a1 + 6));
0x004477b4 lbu a2, 7(s2) | a2 = *((s2 + 7));
0x004477b8 lbu v1, 5(s2) | v1 = *((s2 + 5));
0x004477bc lbu v0, 4(s2) | v0 = *((s2 + 4));
0x004477c0 sll a1, a1, 8 | a1 <<= 8;
0x004477c4 addu a1, a2, a1 | a1 = a2 + a1;
0x004477c8 sll v1, v1, 0x10 | v1 <<= 0x10;
0x004477cc addu v1, a1, v1 | v1 = a1 + v1;
0x004477d0 lbu a3, (s2) | a3 = *(s2);
0x004477d4 sll v0, v0, 0x18 | v0 <<= 0x18;
0x004477d8 addu v0, v1, v0 | v0 = v1 + v0;
0x004477dc lui a2, 0x47 | a2 = 0x470000;
0x004477e0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x004477e4 addiu a1, zero, 0xff | a1 = 0xff;
| /* str.S__u__lu */
0x004477e8 addiu a2, a2, 0x3a50 | a2 += 0x3a50;
0x004477ec move s3, a0 | s3 = a0;
0x004477f0 jal 0x444430 | sym_snprintf ()
0x004477f4 lbu v0, 1(s2) | v0 = *((s2 + 1));
0x004477f8 lui s4, 0x47 | s4 = 0x470000;
| if (v0 == 0) {
0x004477fc beqz v0, 0x447844 | goto label_0;
| }
0x00447800 move s1, s2 | s1 = s2;
0x00447804 move s0, zero | s0 = 0;
| /* esilref: '-&lu' */
0x00447808 addiu s4, s4, 0x3a54 | s4 += 0x3a54;
| do {
0x0044780c lw a3, 8(s1) | a3 = *((s1 + 2));
0x00447810 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x00447814 addiu a1, zero, 0xf | a1 = 0xf;
0x00447818 move a2, s4 | a2 = s4;
0x0044781c jal 0x444430 | sym_snprintf ()
0x00447820 move a0, s3 | a0 = s3;
0x00447824 addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x00447828 addiu a2, zero, 0xff | a2 = 0xff;
0x0044782c jal 0x4463d8 | fcn_004463d8 ();
0x00447830 lbu v1, 1(s2) | v1 = *((s2 + 1));
0x00447834 addiu s0, s0, 1 | s0++;
0x00447838 slt v1, s0, v1 | v1 = (s0 < v1) ? 1 : 0;
0x0044783c addiu s1, s1, 4 | s1 += 4;
0x00447840 bnez v1, 0x44780c |
| } while (v1 != 0);
| label_0:
0x00447844 lw ra, 0x44(sp) | ra = *(var_44h);
0x00447848 move v0, s3 | v0 = s3;
0x0044784c lw s4, 0x40(sp) | s4 = *(var_40h);
0x00447850 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00447854 lw s2, 0x38(sp) | s2 = *(var_38h);
0x00447858 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0044785c lw s0, 0x30(sp) | s0 = *(var_30h);
0x00447860 addiu sp, sp, 0x48 |
0x00447864 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x449d00 */
| #include <stdint.h>
|
; (fcn) fcn.00449d00 () | void fcn_00449d00 () {
0x00449d00 addiu sp, sp, -0x120 |
0x00449d04 lui a2, 0x47 | a2 = 0x470000;
0x00449d08 move a3, a0 | a3 = a0;
0x00449d0c addiu a1, zero, 0xff | a1 = 0xff;
0x00449d10 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00449d14 sw ra, 0x11c(sp) | *(var_11ch) = ra;
| /* str._03d */
0x00449d18 addiu a2, a2, 0x60c | a2 += 0x60c;
0x00449d1c jal 0x444430 | sym_snprintf ()
0x00449d20 lui v0, 0x4b | v0 = 0x4b0000;
0x00449d24 lw v0, -0x2b40(v0) | v0 = *((v0 - 2768));
0x00449d28 slti v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00449d2c lui a1, 0x47 | a1 = 0x470000;
0x00449d30 beqz v0, 0x449d58 |
| while (v0 == 0) {
0x00449d34 lui a1, 0x4a | a1 = 0x4a0000;
| label_0:
0x00449d38 lui a2, 0x4a | a2 = 0x4a0000;
0x00449d3c addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x00449d40 addiu a1, a1, 0x5514 | a1 += 0x5514;
0x00449d44 addiu a2, a2, 0x5518 | a2 += 0x5518;
0x00449d48 jal 0x449704 | fcn_00449704 ();
0x00449d4c lw ra, 0x11c(sp) | ra = *(var_11ch);
0x00449d50 addiu sp, sp, 0x120 |
0x00449d54 jr ra | return v0;
0x00449d58 lui a2, 0x47 | a2 = 0x470000;
0x00449d5c addiu a0, zero, 0xa | a0 = 0xa;
| /* str.lib_util_unistr.c */
0x00449d60 addiu a1, a1, 0x3e70 | a1 += 0x3e70;
| /* str.load_dos_unicode_map */
0x00449d64 addiu a2, a2, 0x4448 | a2 += 0x4448;
0x00449d68 addiu a3, zero, 0x2e2 | a3 = 0x2e2;
0x00449d6c jal 0x4381b8 | fcn_004381b8 ();
0x00449d70 lui a0, 0x47 | a0 = 0x470000;
0x00449d74 beqz v0, 0x449d34 |
| }
| /* str.load_dos_unicode_map:__s_n */
0x00449d78 addiu a0, a0, 0x41dc | a0 += 0x41dc;
0x00449d7c addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x00449d80 jal 0x437cc4 | fcn_00437cc4 ();
0x00449d84 lui a1, 0x4a | a1 = 0x4a0000;
0x00449d88 b 0x449d38 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x44ec74 */
| #include <stdint.h>
|
; (fcn) fcn.0044ec74 () | void fcn_0044ec74 () {
0x0044ec74 addiu sp, sp, -0x28 |
0x0044ec78 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044ec7c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044ec80 move s1, a0 | s1 = a0;
0x0044ec84 lui s0, 0x4b | s0 = 0x4b0000;
0x0044ec88 addiu a0, s0, -0x6414 | a0 = 0x4a9bec;
0x0044ec8c sw ra, 0x24(sp) | *(var_24h) = ra;
0x0044ec90 move a1, s1 | a1 = s1;
0x0044ec94 jal 0x457c14 | fcn_00457c14 ();
0x0044ec98 addiu s0, s0, -0x6414 | s0 += -0x6414;
| if (v0 == 0) {
0x0044ec9c beqz v0, 0x44ecb8 | goto label_0;
| }
0x0044eca0 lw ra, 0x24(sp) | ra = *(var_24h);
| do {
0x0044eca4 move v0, s0 | v0 = s0;
0x0044eca8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044ecac lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044ecb0 addiu sp, sp, 0x28 |
0x0044ecb4 jr ra | return v0;
| label_0:
0x0044ecb8 move a0, s1 | a0 = s1;
0x0044ecbc jal 0x43e448 | fcn_0043e448 ();
0x0044ecc0 lui a2, 0x48 | a2 = 0x480000;
| if (v0 != 0) {
0x0044ecc4 beqz v0, 0x44ece4 |
0x0044ecc8 lw s0, (v0) | s0 = *(v0);
0x0044eccc lw ra, 0x24(sp) | ra = *(var_24h);
0x0044ecd0 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044ecd4 move v0, s0 | v0 = s0;
0x0044ecd8 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044ecdc addiu sp, sp, 0x28 |
0x0044ece0 jr ra | return v0;
| }
0x0044ece4 move a0, s0 | a0 = s0;
0x0044ece8 addiu a1, zero, 0xff | a1 = 0xff;
| /* esilref: '&d' */
0x0044ecec addiu a2, a2, 0x5c4c | a2 += 0x5c4c;
0x0044ecf0 move a3, s1 | a3 = s1;
0x0044ecf4 jal 0x444430 | sym_snprintf ()
0x0044ecf8 lw ra, 0x24(sp) | ra = *(var_24h);
0x0044ecfc b 0x44eca4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x44ed00 */
| #include <stdint.h>
|
; (fcn) fcn.0044ed00 () | void fcn_0044ed00 () {
0x0044ed00 addiu sp, sp, -0x28 |
0x0044ed04 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0044ed08 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0044ed0c move s1, a0 | s1 = a0;
0x0044ed10 lui s0, 0x4b | s0 = 0x4b0000;
0x0044ed14 addiu a0, s0, -0x6314 | a0 = 0x4a9cec;
0x0044ed18 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0044ed1c move a1, s1 | a1 = s1;
0x0044ed20 jal 0x457ca0 | fcn_00457ca0 ();
0x0044ed24 addiu s0, s0, -0x6314 | s0 += -0x6314;
| if (v0 == 0) {
0x0044ed28 beqz v0, 0x44ed44 | goto label_0;
| }
0x0044ed2c lw ra, 0x24(sp) | ra = *(var_24h);
| do {
0x0044ed30 move v0, s0 | v0 = s0;
0x0044ed34 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044ed38 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044ed3c addiu sp, sp, 0x28 |
0x0044ed40 jr ra | return v0;
| label_0:
0x0044ed44 move a0, s1 | a0 = s1;
0x0044ed48 jal 0x486f20 | fcn_00486f20 ();
0x0044ed4c lui a2, 0x48 | a2 = 0x480000;
| if (v0 != 0) {
0x0044ed50 beqz v0, 0x44ed70 |
0x0044ed54 lw s0, (v0) | s0 = *(v0);
0x0044ed58 lw ra, 0x24(sp) | ra = *(var_24h);
0x0044ed5c lw s1, 0x20(sp) | s1 = *(var_20h);
0x0044ed60 move v0, s0 | v0 = s0;
0x0044ed64 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0044ed68 addiu sp, sp, 0x28 |
0x0044ed6c jr ra | return v0;
| }
0x0044ed70 move a0, s0 | a0 = s0;
0x0044ed74 addiu a1, zero, 0xff | a1 = 0xff;
| /* esilref: '&d' */
0x0044ed78 addiu a2, a2, 0x5c4c | a2 += 0x5c4c;
0x0044ed7c move a3, s1 | a3 = s1;
0x0044ed80 jal 0x444430 | sym_snprintf ()
0x0044ed84 lw ra, 0x24(sp) | ra = *(var_24h);
0x0044ed88 b 0x44ed30 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x456550 */
| #include <stdint.h>
|
; (fcn) fcn.00456550 () | void fcn_00456550 () {
0x00456550 addiu sp, sp, -0x28 |
0x00456554 lui a2, 0x48 | a2 = 0x480000;
0x00456558 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0045655c lui s1, 0x4b | s1 = 0x4b0000;
0x00456560 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00456564 move a3, a1 | a3 = a1;
0x00456568 move s0, a0 | s0 = a0;
0x0045656c addiu a1, zero, 0x13 | a1 = 0x13;
0x00456570 addiu a0, s1, -0x3298 | a0 = s1 + -0x3298;
0x00456574 sw ra, 0x24(sp) | *(var_24h) = ra;
| /* str.PID__d */
0x00456578 addiu a2, a2, 0x5c48 | a2 += 0x5c48;
0x0045657c jal 0x444430 | sym_snprintf ()
0x00456580 addiu a0, s1, -0x3298 | a0 = s1 + -0x3298;
0x00456584 jal 0x487740 | fcn_00487740 ();
0x00456588 lw ra, 0x24(sp) | ra = *(var_24h);
0x0045658c addiu v0, v0, 1 | v0++;
0x00456590 addiu s1, s1, -0x3298 | s1 += -0x3298;
0x00456594 sw s1, (s0) | *(s0) = s1;
0x00456598 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x0045659c lw s1, 0x20(sp) | s1 = *(var_20h);
0x004565a0 move v0, s0 | v0 = s0;
0x004565a4 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x004565a8 addiu sp, sp, 0x28 |
0x004565ac jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x457c14 */
| #include <stdint.h>
|
; (fcn) fcn.00457c14 () | void fcn_00457c14 () {
0x00457c14 addiu sp, sp, -0x270 |
0x00457c18 sw s0, 0x268(sp) | *(var_268h) = s0;
0x00457c1c move s0, a0 | s0 = a0;
0x00457c20 sw ra, 0x26c(sp) | *(var_26ch) = ra;
0x00457c24 addiu a0, sp, 0x220 | a0 = sp + 0x220;
0x00457c28 jal 0x457760 | fcn_00457760 ();
0x00457c2c addiu a1, sp, 0x120 | a1 = sp + 0x120;
0x00457c30 bnez v0, 0x457c48 |
| while (v0 == 0) {
| label_0:
0x00457c34 move v0, zero | v0 = 0;
| label_1:
0x00457c38 lw ra, 0x26c(sp) | ra = *(var_26ch);
0x00457c3c lw s0, 0x268(sp) | s0 = *(var_268h);
0x00457c40 addiu sp, sp, 0x270 |
0x00457c44 jr ra | return v0;
0x00457c48 addiu a0, sp, 0x220 | a0 = sp + 0x220;
0x00457c4c addiu a2, sp, 0x20 | a2 = sp + 0x20;
0x00457c50 addiu a3, sp, 0x264 | a3 = sp + 0x264;
0x00457c54 jal 0x4575b4 | fcn_004575b4 ();
0x00457c58 lw v1, 0x264(sp) | v1 = *(var_264h);
0x00457c5c beqz v0, 0x457c34 |
| }
0x00457c60 addiu v0, zero, 1 | v0 = 1;
| if (v1 != v0) {
0x00457c64 bne v1, v0, 0x457c34 | goto label_0;
| }
0x00457c68 nop |
0x00457c6c jal 0x410360 | fcn_00410360 ();
0x00457c70 nop |
0x00457c74 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00457c78 lui a2, 0x48 | a2 = 0x480000;
0x00457c7c addiu v0, sp, 0x20 | v0 = sp + 0x20;
0x00457c80 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00457c84 move a0, s0 | a0 = s0;
0x00457c88 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._s_s_s */
0x00457c8c addiu a2, a2, 0x601c | a2 += 0x601c;
0x00457c90 addiu a3, sp, 0x120 | a3 = sp + 0x120;
0x00457c94 jal 0x444430 | sym_snprintf ()
0x00457c98 addiu v0, zero, 1 | v0 = 1;
0x00457c9c b 0x457c38 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x457ca0 */
| #include <stdint.h>
|
; (fcn) fcn.00457ca0 () | void fcn_00457ca0 () {
0x00457ca0 addiu sp, sp, -0x270 |
0x00457ca4 sw s0, 0x268(sp) | *(var_268h) = s0;
0x00457ca8 move s0, a0 | s0 = a0;
0x00457cac sw ra, 0x26c(sp) | *(var_26ch) = ra;
0x00457cb0 addiu a0, sp, 0x220 | a0 = sp + 0x220;
0x00457cb4 jal 0x4578a0 | fcn_004578a0 ();
0x00457cb8 addiu a1, sp, 0x120 | a1 = sp + 0x120;
0x00457cbc bnez v0, 0x457cd4 |
| while (v0 == 0) {
| label_0:
0x00457cc0 move v0, zero | v0 = 0;
| label_1:
0x00457cc4 lw ra, 0x26c(sp) | ra = *(var_26ch);
0x00457cc8 lw s0, 0x268(sp) | s0 = *(var_268h);
0x00457ccc addiu sp, sp, 0x270 |
0x00457cd0 jr ra | return v0;
0x00457cd4 addiu a0, sp, 0x220 | a0 = sp + 0x220;
0x00457cd8 addiu a2, sp, 0x20 | a2 = sp + 0x20;
0x00457cdc addiu a3, sp, 0x264 | a3 = sp + 0x264;
0x00457ce0 jal 0x4575b4 | fcn_004575b4 ();
0x00457ce4 lw v1, 0x264(sp) | v1 = *(var_264h);
0x00457ce8 beqz v0, 0x457cc0 |
| }
0x00457cec addiu v0, zero, 2 | v0 = 2;
| if (v1 != v0) {
0x00457cf0 bne v1, v0, 0x457cc0 | goto label_0;
| }
0x00457cf4 nop |
0x00457cf8 jal 0x410360 | fcn_00410360 ();
0x00457cfc nop |
0x00457d00 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00457d04 lui a2, 0x48 | a2 = 0x480000;
0x00457d08 addiu v0, sp, 0x20 | v0 = sp + 0x20;
0x00457d0c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00457d10 move a0, s0 | a0 = s0;
0x00457d14 addiu a1, zero, 0xff | a1 = 0xff;
| /* str._s_s_s */
0x00457d18 addiu a2, a2, 0x601c | a2 += 0x601c;
0x00457d1c addiu a3, sp, 0x120 | a3 = sp + 0x120;
0x00457d20 jal 0x444430 | sym_snprintf ()
0x00457d24 addiu v0, zero, 1 | v0 = 1;
0x00457d28 b 0x457cc4 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x401e30 */
| #include <stdint.h>
|
; (fcn) loc._ftext () | void loc_ftext () {
| /* [10] -r-x section size 373872 named .text */
0x00401e30 lw v1, (a1) | v1 = *(a1);
0x00401e34 addiu sp, sp, -0x16c0 |
0x00401e38 lui t9, 0x4a | t9 = 0x4a0000;
0x00401e3c lw v0, -0x469c(t9) | v0 = *((t9 - 4519));
0x00401e40 sw v1, 0x168c(sp) | *(var_168ch) = v1;
0x00401e44 sw s3, 0x16a4(sp) | *(var_16a4h) = s3;
0x00401e48 move s3, a0 | s3 = a0;
0x00401e4c lw a0, 0x168c(sp) | a0 = *(var_168ch);
0x00401e50 addiu v1, zero, 2 | v1 = 2;
0x00401e54 sw ra, 0x16bc(sp) | *(var_16bch) = ra;
0x00401e58 sw fp, 0x16b8(sp) | *(var_16b8h) = fp;
0x00401e5c sw s7, 0x16b4(sp) | *(var_16b4h) = s7;
0x00401e60 sw s6, 0x16b0(sp) | *(var_16b0h) = s6;
0x00401e64 sw s5, 0x16ac(sp) | *(var_16ach) = s5;
0x00401e68 sw s4, 0x16a8(sp) | *(var_16a8h) = s4;
0x00401e6c sw s2, 0x16a0(sp) | *(var_16a0h) = s2;
0x00401e70 sw s1, 0x169c(sp) | *(var_169ch) = s1;
0x00401e74 sw s0, 0x1698(sp) | *(var_1698h) = s0;
0x00401e78 sw a1, 0x16c4(sp) | *(arg_16c4h) = a1;
0x00401e7c sb zero, 0xc20(sp) | *(var_c20h) = 0;
0x00401e80 sb zero, 0x1020(sp) | *(var_1020h) = 0;
0x00401e84 sb zero, 0x1520(sp) | *(var_1520h) = 0;
0x00401e88 sb zero, 0x820(sp) | *(var_820h) = 0;
0x00401e8c addiu a1, zero, 1 | a1 = 1;
0x00401e90 sw v1, (v0) | *(v0) = v1;
0x00401e94 slti v1, s3, 2 | v1 = (s3 < 2) ? 1 : 0;
0x00401e98 lui v0, 0x4a | v0 = 0x4a0000;
0x00401e9c sw v1, 0x1690(sp) | *(var_1690h) = v1;
0x00401ea0 sw zero, -0x46a0(v0) | *((v0 - 4520)) = 0;
0x00401ea4 jal 0x437bec | fcn_00437bec ();
0x00401ea8 lw t9, 0x1690(sp) | t9 = *(var_1690h);
0x00401eac lw v1, 0x16c4(sp) | v1 = *(arg_16c4h);
| if (t9 != 0) {
0x00401eb0 bnez t9, 0x401f50 | goto label_30;
| }
0x00401eb4 lui s4, 0x46 | s4 = 0x460000;
0x00401eb8 lui s7, 0x46 | s7 = 0x460000;
0x00401ebc lui fp, 0x46 | fp = 0x460000;
0x00401ec0 addiu s0, v1, 8 | s0 = v1 + 8;
0x00401ec4 addiu s2, zero, 1 | s2 = 1;
| /* esilref: '-E' */
0x00401ec8 addiu s4, s4, -0x1c28 | s4 += -0x1c28;
| /* esilref: '-s' */
0x00401ecc addiu s7, s7, -0x1c24 | s7 += -0x1c24;
| /* esilref: '-d' */
0x00401ed0 addiu fp, fp, -0x1c20 | fp += -0x1c20;
0x00401ed4 lui s6, 0x4a | s6 = 0x4a0000;
0x00401ed8 lui s5, 0x4a | s5 = 0x4a0000;
0x00401edc b 0x401ef0 |
| while (v0 == 0) {
0x00401ee0 sw v0, 0x19b4(s6) | *((s6 + 1645)) = v0;
| label_1:
0x00401ee4 addiu s2, s2, 1 | s2++;
| label_2:
0x00401ee8 addiu s0, s0, 4 | s0 += 4;
| if (s2 == s3) {
0x00401eec beq s2, s3, 0x401f50 | goto label_30;
| }
| label_0:
0x00401ef0 lw s1, -4(s0) | s1 = *((s0 - 1));
0x00401ef4 move a1, s4 | a1 = s4;
0x00401ef8 move a0, s1 | a0 = s1;
0x00401efc jal 0x487590 | fcn_00487590 ();
0x00401f00 lw v0, -0x3790(s5) | v0 = *((s5 - 3556));
0x00401f04 beqz v0, 0x401ee0 |
| }
0x00401f08 move a0, s1 | a0 = s1;
0x00401f0c move a1, s7 | a1 = s7;
0x00401f10 addiu a2, zero, 2 | a2 = 2;
0x00401f14 jal 0x487370 | fcn_00487370 ();
0x00401f18 move a0, s1 | a0 = s1;
| if (v0 != 0) {
0x00401f1c bnez v0, 0x40218c | goto label_31;
| }
0x00401f20 lb v0, 2(s1) | v0 = *((s1 + 2));
0x00401f24 lui t9, 0x4a | t9 = 0x4a0000;
| if (v0 != 0) {
0x00401f28 bnez v0, 0x4021d0 | goto label_32;
| }
0x00401f2c lw a1, (s0) | a1 = *(s0);
0x00401f30 lui v0, 0x4a | v0 = 0x4a0000;
| if (a1 == 0) {
0x00401f34 beqz a1, 0x402364 | goto label_14;
| }
| /* str._usr_samba_config_smb.conf */
0x00401f38 addiu a0, v0, -0x7634 | a0 = v0 + -0x7634;
0x00401f3c addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00401f40 addiu s2, s2, 1 | s2++;
0x00401f44 jal 0x4461f8 | fcn_004461f8 ();
0x00401f48 addiu s0, s0, 4 | s0 += 4;
| if (s2 != s3) {
0x00401f4c bne s2, s3, 0x401ef0 | goto label_0;
| }
| label_30:
0x00401f50 lui s2, 0x4a | s2 = 0x4a0000;
0x00401f54 jal 0x43efd8 | fcn_0043efd8 ();
0x00401f58 jal 0x4376b8 | fcn_004376b8 ();
0x00401f5c nop |
0x00401f60 addiu v1, zero, 1 | v1 = 1;
0x00401f64 lui v0, 0x4a | v0 = 0x4a0000;
| /* str._usr_samba_config_smb.conf */
0x00401f68 addiu a0, s2, -0x7634 | a0 = s2 + -0x7634;
0x00401f6c addiu a1, zero, 1 | a1 = 1;
0x00401f70 move a2, zero | a2 = 0;
0x00401f74 move a3, zero | a3 = 0;
0x00401f78 sw v1, -0x169c(v0) | *((v0 - 1447)) = v1;
0x00401f7c jal 0x413bb8 | fcn_00413bb8 ();
0x00401f80 lui v0, 0x4a | v0 = 0x4a0000;
| if (v0 == 0) {
0x00401f84 beqz v0, 0x402388 | goto label_33;
| }
| label_5:
0x00401f88 lui s5, 0x4a | s5 = 0x4a0000;
0x00401f8c jal 0x41075c | fcn_0041075c ();
0x00401f90 move a0, v0 | a0 = v0;
0x00401f94 jal 0x437834 | fcn_00437834 ();
0x00401f98 lui s1, 0x46 | s1 = 0x460000;
0x00401f9c jal 0x41006c | fcn_0041006c ();
0x00401fa0 move a1, v0 | a1 = v0;
0x00401fa4 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00401fa8 addiu a0, s5, -0x2700 | a0 = s5 + -0x2700;
0x00401fac jal 0x4461f8 | fcn_004461f8 ();
0x00401fb0 jal 0x438ec4 | fcn_00438ec4 ();
0x00401fb4 nop |
0x00401fb8 move a0, zero | a0 = 0;
0x00401fbc jal 0x487300 | fcn_00487300 ();
0x00401fc0 move a0, v0 | a0 = v0;
0x00401fc4 lui v1, 0x4a | v1 = 0x4a0000;
0x00401fc8 sw v0, -0x7a44(v1) | *((v1 - 7825)) = v0;
0x00401fcc jal 0x487300 | fcn_00487300 ();
| /* str.USER */
0x00401fd0 addiu a0, s1, -0x1bf0 | a0 = s1 + -0x1bf0;
0x00401fd4 jal 0x486f30 | fcn_00486f30 ();
0x00401fd8 lui s0, 0x46 | s0 = 0x460000;
| if (v0 != 0) {
0x00401fdc beqz v0, 0x40207c |
| /* str.USER */
0x00401fe0 addiu a0, s1, -0x1bf0 | a0 = s1 + -0x1bf0;
0x00401fe4 jal 0x486f30 | fcn_00486f30 ();
0x00401fe8 lui s0, 0x4a | s0 = 0x4a0000;
0x00401fec addiu a0, s0, -0x2b00 | a0 = 0x49d500;
0x00401ff0 move a1, v0 | a1 = v0;
0x00401ff4 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00401ff8 lui s4, 0x4a | s4 = 0x4a0000;
0x00401ffc jal 0x4461f8 | fcn_004461f8 ();
0x00402000 lw t9, -0x4658(s4) | t9 = *((s4 - 4502));
0x00402004 addiu a0, s0, -0x2b00 | a0 = s0 + -0x2b00;
0x00402008 addiu a1, zero, 0x25 | a1 = 0x25;
0x0040200c jalr t9 | t9 ();
0x00402010 lui s6, 0x4a | s6 = 0x4a0000;
| if (v0 != 0) {
0x00402014 beqz v0, 0x402070 |
0x00402018 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x0040201c addiu a1, v0, 1 | a1 = v0 + 1;
0x00402020 addiu a0, s6, -0x2f00 | a0 = s6 + -0x2f00;
0x00402024 sb zero, (v0) | *(v0) = 0;
0x00402028 jal 0x4461f8 | fcn_004461f8 ();
0x0040202c lw s4, -0x4658(s4) | s4 = *((s4 - 4502));
0x00402030 addiu v1, zero, 1 | v1 = 1;
| /* str.USER */
0x00402034 addiu a0, s1, -0x1bf0 | a0 = s1 + -0x1bf0;
0x00402038 lui v0, 0x4a | v0 = 0x4a0000;
0x0040203c sw v1, -0x2f04(v0) | *((v0 - 3009)) = v1;
0x00402040 jal 0x486f30 | fcn_00486f30 ();
0x00402044 move a0, v0 | a0 = v0;
0x00402048 move t9, s4 | t9 = s4;
0x0040204c addiu a1, zero, 0x25 | a1 = 0x25;
0x00402050 jalr t9 | t9 ();
0x00402054 addiu a0, s6, -0x2f00 | a0 = s6 + -0x2f00;
0x00402058 move s1, v0 | s1 = v0;
0x0040205c jal 0x487740 | fcn_00487740 ();
0x00402060 move a2, v0 | a2 = v0;
0x00402064 addiu a0, s1, 1 | a0 = s1 + 1;
0x00402068 addiu a1, zero, 0x58 | a1 = 0x58;
0x0040206c jal 0x487500 | fcn_00487500 ();
| }
0x00402070 addiu a0, s0, -0x2b00 | a0 = s0 + -0x2b00;
0x00402074 jal 0x4456a0 | fcn_004456a0 ();
0x00402078 lui s0, 0x46 | s0 = 0x460000;
| }
| /* str.PASSWD */
0x0040207c addiu a0, s0, -0x1be8 | a0 = "PASSWD";
0x00402080 jal 0x486f30 | fcn_00486f30 ();
| if (v0 != 0) {
0x00402084 beqz v0, 0x4020b4 |
0x00402088 nop |
| /* str.PASSWD */
0x0040208c addiu a0, s0, -0x1be8 | a0 = s0 + -0x1be8;
0x00402090 jal 0x486f30 | fcn_00486f30 ();
0x00402094 lui a0, 0x4a | a0 = 0x49d100;
0x00402098 addiu a0, a0, -0x2f00 |
0x0040209c move a1, v0 | a1 = v0;
0x004020a0 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004020a4 jal 0x4461f8 | fcn_004461f8 ();
0x004020a8 addiu v1, zero, 1 | v1 = 1;
0x004020ac lui v0, 0x4a | v0 = 0x4a0000;
0x004020b0 sw v1, -0x2f04(v0) | *((v0 - 3009)) = v1;
| }
0x004020b4 lui s0, 0x46 | s0 = 0x460000;
| /* str.PASSWD_FD */
0x004020b8 addiu a0, s0, -0x1be0 | a0 = "PASSWD_FD";
0x004020bc jal 0x486f30 | fcn_00486f30 ();
0x004020c0 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x004020c4 beqz v0, 0x4027c0 | goto label_34;
| }
| /* str.PASSWD_FD */
| label_6:
0x004020c8 addiu a0, s0, -0x1be0 | a0 = s0 + -0x1be0;
0x004020cc addiu v0, zero, -1 | v0 = -1;
0x004020d0 sw v0, 0x167c(sp) | *(var_167ch) = v0;
0x004020d4 jal 0x486f30 | fcn_00486f30 ();
0x004020d8 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x004020dc beqz v0, 0x4027d8 | goto label_35;
| }
0x004020e0 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x004020e4 lui a1, 0x46 | a1 = 0x460000;
0x004020e8 move a0, s1 | a0 = s1;
| /* str.descriptor_ */
0x004020ec addiu a1, a1, -0x1bc8 | a1 += -0x1bc8;
0x004020f0 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004020f4 jal 0x4461f8 | fcn_004461f8 ();
0x004020f8 move a0, s1 | a0 = s1;
0x004020fc move a1, s0 | a1 = s0;
0x00402100 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00402104 jal 0x4463d8 | fcn_004463d8 ();
0x00402108 lui a1, 0x48 | a1 = 0x480000;
0x0040210c move a0, s0 | a0 = s0;
| /* esilref: '&d' */
0x00402110 addiu a1, a1, 0x5c4c | a1 += 0x5c4c;
0x00402114 addiu a2, sp, 0x167c | a2 = sp + 0x167c;
0x00402118 move s4, zero | s4 = 0;
0x0040211c jal 0x487420 | fcn_00487420 ();
| label_8:
0x00402120 addiu s0, sp, 0x420 | s0 = sp + 0x420;
0x00402124 sb zero, 0x420(sp) | *(var_420h) = 0;
0x00402128 move s6, s0 | s6 = s0;
0x0040212c addiu s1, zero, 0xa | s1 = 0xa;
| label_3:
0x00402130 subu v0, s6, s0 | __asm ("subu v0, s6, s0");
0x00402134 sltiu v0, v0, 0x80 | v0 = (v0 < 0x80) ? 1 : 0;
0x00402138 lw a0, 0x167c(sp) | a0 = *(var_167ch);
| if (v0 == 0) {
0x0040213c beqz v0, 0x402244 | goto label_36;
| }
0x00402140 move a1, s6 | a1 = s6;
0x00402144 addiu a2, zero, 1 | a2 = 1;
0x00402148 jal 0x487360 | fcn_00487360 ();
0x0040214c addiu v1, zero, 1 | v1 = 1;
| if (v0 == 0) {
0x00402150 beqz v0, 0x402238 | goto label_37;
| }
0x00402154 lui v0, 0x4a | v0 = 0x4a0000;
| if (v0 == v1) {
0x00402158 beq v0, v1, 0x402224 | goto label_38;
| }
0x0040215c lw s0, -0x3790(v0) | s0 = *((v0 - 3556));
0x00402160 jal 0x4876a0 | fcn_004876a0 ();
0x00402164 lw a0, (v0) | a0 = *(v0);
0x00402168 jal 0x486ee0 | fcn_00486ee0 ();
0x0040216c lui a1, 0x46 | a1 = 0x460000;
0x00402170 move a0, s0 | a0 = s0;
| /* str.Error_reading_password_from_file__s:__s_n */
0x00402174 addiu a1, a1, -0x1b98 | a1 += -0x1b98;
0x00402178 addiu a2, sp, 0x20 | a2 = sp + 0x20;
| label_9:
0x0040217c move a3, v0 | a3 = v0;
0x00402180 jal 0x487250 | fcn_00487250 ();
0x00402184 addiu a0, zero, 1 | a0 = 1;
0x00402188 jal 0x4876c0 | fcn_004876c0 ();
| label_31:
0x0040218c move a1, fp | a1 = fp;
0x00402190 addiu a2, zero, 2 | a2 = 2;
0x00402194 jal 0x487370 | fcn_00487370 ();
| if (v0 != 0) {
0x00402198 bnez v0, 0x401ee4 | goto label_1;
| }
0x0040219c nop |
0x004021a0 lb v0, 2(s1) | v0 = *((s1 + 2));
0x004021a4 addiu v1, zero, 0x41 | v1 = 0x41;
| if (v0 != 0) {
0x004021a8 beqz v0, 0x4021e8 |
0x004021ac lui t9, 0x4a | t9 = 0x4a0000;
| if (v0 == v1) {
0x004021b0 beq v0, v1, 0x402210 | goto label_39;
| }
0x004021b4 lw v1, -0x469c(t9) | v1 = *((t9 - 4519));
0x004021b8 addiu a0, s1, 2 | a0 = s1 + 2;
0x004021bc sw v1, 0x1694(sp) | *(var_1694h) = v1;
0x004021c0 jal 0x4876f0 | fcn_004876f0 ();
0x004021c4 lw v1, 0x1694(sp) | v1 = *(var_1694h);
0x004021c8 sw v0, (v1) | *(v1) = v0;
0x004021cc b 0x401ee4 | goto label_1;
| /* str._usr_samba_config_smb.conf */
| label_32:
0x004021d0 addiu a0, t9, -0x7634 | a0 = t9 + -0x7634;
0x004021d4 addiu a1, s1, 2 | a1 = s1 + 2;
0x004021d8 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004021dc jal 0x4461f8 | fcn_004461f8 ();
0x004021e0 addiu s2, s2, 1 | s2++;
0x004021e4 b 0x401ee8 | goto label_2;
| }
0x004021e8 lw a0, (s0) | a0 = *(s0);
0x004021ec addiu v0, zero, 0x41 | v0 = 0x41;
| if (a0 != 0) {
0x004021f0 beqz a0, 0x402364 |
0x004021f4 lb v1, (a0) | v1 = *(a0);
0x004021f8 lui t9, 0x4a | t9 = 0x4a0000;
| if (v1 != v0) {
0x004021fc beq v1, v0, 0x402210 |
0x00402200 lw s1, -0x469c(t9) | s1 = *((t9 - 4519));
0x00402204 jal 0x4876f0 | fcn_004876f0 ();
0x00402208 sw v0, (s1) | *(s1) = v0;
0x0040220c b 0x401ee4 | goto label_1;
| }
| label_39:
0x00402210 lui v1, 0x4a | v1 = 0x4a0000;
0x00402214 lw v0, -0x469c(v1) | v0 = *((v1 - 4519));
0x00402218 addiu v1, zero, 0x2710 | v1 = 0x2710;
0x0040221c sw v1, (v0) | *(v0) = v1;
0x00402220 b 0x401ee4 | goto label_1;
| label_38:
0x00402224 lb v0, (s6) | v0 = *(s6);
| if (v0 != s1) {
0x00402228 beq v0, s1, 0x402238 |
0x0040222c nop |
| if (v0 != 0) {
0x00402230 bnez v0, 0x402374 | goto label_40;
| }
0x00402234 nop |
| }
| label_37:
0x00402238 lui v0, 0x4a | v0 = 0x4a0000;
| if (s6 == s0) {
0x0040223c beq s6, s0, 0x403148 | goto label_41;
| }
0x00402240 sb zero, (s6) | *(s6) = 0;
| label_36:
0x00402244 lui a0, 0x4a | a0 = 0x49d100;
| label_4:
0x00402248 addiu a0, a0, -0x2f00 |
0x0040224c move a1, s0 | a1 = s0;
0x00402250 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00402254 jal 0x4461f8 | fcn_004461f8 ();
| if (s4 != 0) {
0x00402258 bnez s4, 0x4028c8 | goto label_42;
| }
0x0040225c nop |
0x00402260 addiu v1, zero, 1 | v1 = 1;
| label_11:
0x00402264 lui v0, 0x4a | v0 = 0x4a0000;
0x00402268 sw v1, -0x2f04(v0) | *((v0 - 3009)) = v1;
0x0040226c lui s0, 0x4a | s0 = 0x4a0000;
| label_7:
0x00402270 lb v0, -0x2b00(s0) | v0 = *((s0 - 11008));
| if (v0 == 0) {
0x00402274 beqz v0, 0x40290c | goto label_43;
| }
0x00402278 nop |
| label_12:
0x0040227c lw v1, 0x1690(sp) | v1 = *(var_1690h);
| label_13:
0x00402280 lw t9, 0x16c4(sp) | t9 = *(arg_16c4h);
| if (v1 != 0) {
0x00402284 bnez v1, 0x402364 | goto label_14;
| }
0x00402288 addiu s6, zero, 0x2d | s6 = 0x2d;
0x0040228c lw a1, 4(t9) | a1 = *((t9 + 1));
0x00402290 lb v0, (a1) | v0 = *(a1);
0x00402294 lui s1, 0x4a | s1 = 0x4a0000;
| if (v0 == s6) {
0x00402298 beq v0, s6, 0x402848 | goto label_44;
| }
0x0040229c addiu a0, s1, -0x2300 | a0 = s1 + -0x2300;
0x004022a0 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004022a4 jal 0x4461f8 | fcn_004461f8 ();
0x004022a8 addiu a0, s1, -0x2300 | a0 = s1 + -0x2300;
0x004022ac addiu a1, zero, 0x2f | a1 = 0x2f;
0x004022b0 addiu a2, zero, 0x5c | a2 = 0x5c;
0x004022b4 jal 0x445820 | fcn_00445820 ();
0x004022b8 addiu a0, s1, -0x2300 | a0 = s1 + -0x2300;
0x004022bc addiu a1, zero, 0x5c | a1 = 0x5c;
0x004022c0 jal 0x445f9c | fcn_00445f9c ();
0x004022c4 lw v1, 0x16c4(sp) | v1 = *(arg_16c4h);
0x004022c8 sltiu v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x004022cc addiu s3, s3, -1 | s3 += -1;
0x004022d0 addiu s4, v1, 4 | s4 = v1 + 4;
| if (v0 != 0) {
0x004022d4 bnez v0, 0x402e68 | goto label_45;
| }
0x004022d8 addiu v0, zero, 1 | v0 = 1;
0x004022dc lw t9, 0x16c4(sp) | t9 = *(arg_16c4h);
| if (s3 != v0) {
0x004022e0 beq s3, v0, 0x402330 |
0x004022e4 lw a1, 8(t9) | a1 = *((t9 + 2));
0x004022e8 lb v1, (a1) | v1 = *(a1);
0x004022ec lui a0, 0x4a | a0 = 0x4a0000;
| if (v1 == s6) {
0x004022f0 beq v1, s6, 0x402330 | goto label_10;
| }
0x004022f4 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x004022f8 lui v1, 0x4a | v1 = 0x4a0000;
0x004022fc addiu a0, a0, -0x2f00 | a0 += -0x2f00;
0x00402300 sw v0, -0x2f04(v1) | *((v1 - 3009)) = v0;
0x00402304 jal 0x4461f8 | fcn_004461f8 ();
0x00402308 lw v1, 0x16c4(sp) | v1 = *(arg_16c4h);
0x0040230c addiu s3, s3, -1 | s3 += -1;
0x00402310 lw s1, 8(v1) | s1 = *((v1 + 2));
0x00402314 addiu s4, v1, 8 | s4 = v1 + 8;
0x00402318 move a0, s1 | a0 = s1;
0x0040231c jal 0x487740 | fcn_00487740 ();
0x00402320 move a2, v0 | a2 = v0;
0x00402324 move a0, s1 | a0 = s1;
0x00402328 addiu a1, zero, 0x58 | a1 = 0x58;
0x0040232c jal 0x487500 | fcn_00487500 ();
| }
| label_10:
0x00402330 sw zero, 0x1688(sp) | *(var_1688h) = 0;
0x00402334 lui s7, 0x46 | s7 = 0x460000;
0x00402338 lui fp, 0x4a | fp = 0x4a0000;
0x0040233c move a0, s3 | a0 = s3;
0x00402340 move a1, s4 | a1 = s4;
| /* str.s:O:R:M:i:Nn:d:Pp:l:hI:EU:L:t:m:W:T:D:c:b:A: */
0x00402344 addiu a2, s7, -0x1ad0 | a2 = s7 + -0x1ad0;
0x00402348 jal 0x4874e0 | fcn_004874e0 ();
0x0040234c addiu v1, zero, -1 | v1 = -1;
0x00402350 addiu v0, v0, -0x41 | v0 += -0x41;
| if (v0 == v1) {
0x00402354 beq v0, v1, 0x402968 | goto label_46;
| }
0x00402358 sltiu v1, v0, 0x34 | v1 = (v0 < 0x34) ? 1 : 0;
0x0040235c lui t9, 0x46 | t9 = 0x460000;
| if (v1 != 0) {
0x00402360 bnez v1, 0x4023a4 | goto label_47;
| }
| }
| label_14:
0x00402364 lw a0, 0x168c(sp) | a0 = *(var_168ch);
0x00402368 jal 0x403420 | fcn_00403420 ();
0x0040236c addiu a0, zero, 1 | a0 = 1;
0x00402370 jal 0x4876c0 | fcn_004876c0 ();
| label_40:
0x00402374 addiu s6, s6, 1 | s6++;
0x00402378 sb zero, (s6) | *(s6) = 0;
| if (s6 != 0) {
0x0040237c bnez s6, 0x402130 | goto label_3;
| }
0x00402380 lui a0, 0x4a | a0 = 0x4a0000;
0x00402384 b 0x402248 | goto label_4;
| label_33:
0x00402388 lw a0, -0x3790(v0) | a0 = *((v0 - 3556));
0x0040238c lui a1, 0x46 | a1 = "Can't load %s - run testparm to debug it\n";
| /* str.Cant_load__s___run_testparm_to_debug_it_n */
0x00402390 addiu a1, a1, -0x1c1c |
| /* str._usr_samba_config_smb.conf */
0x00402394 addiu a2, s2, -0x7634 | a2 = s2 + -0x7634;
0x00402398 jal 0x487250 | fcn_00487250 ();
0x0040239c b 0x401f88 | goto label_5;
0x004023a0 nop |
| label_47:
0x004023a4 sll v0, v0, 2 | v0 <<= 2;
0x004023a8 addiu t9, t9, -0x10e0 | t9 += -0x10e0;
0x004023ac addu v0, t9, v0 | v0 = t9 + v0;
0x004023b0 lw v0, (v0) | v0 = *(v0);
0x004023b4 jr v0 | v0 ();
0x004023b8 nop |
| /* str.PASSWD_FILE */
| label_34:
0x004027c0 addiu a0, a0, -0x1bd4 | a0 += -0x1bd4;
0x004027c4 jal 0x486f30 | fcn_00486f30 ();
| if (v0 != 0) {
0x004027c8 bnez v0, 0x4020c8 | goto label_6;
| }
0x004027cc nop |
0x004027d0 lui s0, 0x4a | s0 = 0x4a0000;
0x004027d4 b 0x402270 | goto label_7;
| label_35:
0x004027d8 lui a0, 0x46 | a0 = "PASSWD_FILE";
| /* str.PASSWD_FILE */
0x004027dc addiu a0, a0, -0x1bd4 |
0x004027e0 jal 0x486f30 | fcn_00486f30 ();
0x004027e4 move s0, v0 | s0 = v0;
| if (v0 == 0) {
0x004027e8 beqz v0, 0x402904 | goto label_48;
| }
0x004027ec move a0, v0 | a0 = v0;
0x004027f0 move a1, zero | a1 = 0;
0x004027f4 move a2, zero | a2 = 0;
0x004027f8 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x004027fc jal 0x43e168 | fcn_0043e168 ();
0x00402800 move a0, s1 | a0 = s1;
0x00402804 move a1, s0 | a1 = s0;
0x00402808 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x0040280c sw v0, 0x167c(sp) | *(var_167ch) = v0;
0x00402810 jal 0x4461f8 | fcn_004461f8 ();
0x00402814 lw v0, 0x167c(sp) | v0 = *(var_167ch);
0x00402818 addiu s4, zero, 1 | s4 = 1;
| if (v0 >= 0) {
0x0040281c bgez v0, 0x402120 | goto label_8;
| }
0x00402820 lui v0, 0x4a | v0 = 0x4a0000;
0x00402824 lw s0, -0x3790(v0) | s0 = *((v0 - 3556));
0x00402828 jal 0x4876a0 | fcn_004876a0 ();
0x0040282c lw a0, (v0) | a0 = *(v0);
0x00402830 jal 0x486ee0 | fcn_00486ee0 ();
0x00402834 lui a1, 0x46 | a1 = 0x460000;
0x00402838 move a0, s0 | a0 = s0;
| /* str.Error_opening_PASSWD_FILE__s:__s_n */
0x0040283c addiu a1, a1, -0x1bbc | a1 += -0x1bbc;
0x00402840 move a2, s1 | a2 = s1;
0x00402844 b 0x40217c | goto label_9;
| label_44:
0x00402848 lw s4, 0x16c4(sp) | s4 = *(arg_16c4h);
0x0040284c b 0x402330 | goto label_10;
| label_42:
0x004028c8 lw a0, 0x167c(sp) | a0 = *(var_167ch);
0x004028cc jal 0x487800 | fcn_00487800 ();
0x004028d0 addiu v1, zero, 1 | v1 = 1;
0x004028d4 b 0x402264 | goto label_11;
| label_48:
0x00402904 move s4, zero | s4 = 0;
0x00402908 b 0x402120 | goto label_8;
| label_43:
0x0040290c lui s1, 0x46 | s1 = 0x460000;
| /* str.LOGNAME */
0x00402910 addiu a0, s1, -0x1b5c | a0 = "LOGNAME";
0x00402914 jal 0x486f30 | fcn_00486f30 ();
0x00402918 lb v0, -0x2b00(s0) | v0 = *((s0 - 11008));
| if (v0 != 0) {
0x0040291c beqz v0, 0x402944 |
| /* str.LOGNAME */
0x00402920 addiu a0, s1, -0x1b5c | a0 = s1 + -0x1b5c;
0x00402924 jal 0x486f30 | fcn_00486f30 ();
0x00402928 move a1, v0 | a1 = v0;
0x0040292c addiu a0, s0, -0x2b00 | a0 = s0 + -0x2b00;
0x00402930 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x00402934 jal 0x4461f8 | fcn_004461f8 ();
0x00402938 addiu a0, s0, -0x2b00 | a0 = s0 + -0x2b00;
0x0040293c jal 0x4456a0 | fcn_004456a0 ();
0x00402940 lb v0, -0x2b00(s0) | v0 = *((s0 - 11008));
| }
0x00402944 lui a0, 0x4a | a0 = 0x4a0000;
| if (v0 != 0) {
0x00402948 bnez v0, 0x40227c | goto label_12;
| }
0x0040294c lui a1, 0x46 | a1 = 0x460000;
0x00402950 addiu a0, a0, -0x2b00 | a0 += -0x2b00;
| /* str.GUEST */
0x00402954 addiu a1, a1, -0x1b54 | a1 += -0x1b54;
0x00402958 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x0040295c jal 0x4461f8 | fcn_004461f8 ();
0x00402960 lw v1, 0x1690(sp) | v1 = *(var_1690h);
0x00402964 b 0x402280 | goto label_13;
| label_46:
0x00402968 lui s1, 0x4b | s1 = 0x4b0000;
0x0040296c lb a0, -0x6930(s1) | a0 = *((s1 - 26928));
0x00402970 addiu v0, s1, -0x6930 | v0 = s1 + -0x6930;
| if (a0 == 0) {
0x00402974 movn v0, zero, a0 | v0 = 0;
| }
0x00402978 move a0, v0 | a0 = v0;
0x0040297c jal 0x44e75c | fcn_0044e75c ();
0x00402980 lb v0, 0x820(sp) | v0 = *(var_820h);
0x00402984 lb v0, 0xc20(sp) | v0 = *(var_c20h);
| if (v0 != 0) {
0x00402988 beqz v0, 0x402998 |
0x0040298c addiu a0, sp, 0x820 | a0 = sp + 0x820;
0x00402990 jal 0x414dc4 | fcn_00414dc4 ();
0x00402994 lb v0, 0xc20(sp) | v0 = *(var_c20h);
| }
0x00402998 lui s2, 0x4a | s2 = 0x4a0000;
| if (v0 != 0) {
0x0040299c beqz v0, 0x4029ac |
0x004029a0 addiu a0, sp, 0xc20 | a0 = sp + 0xc20;
0x004029a4 jal 0x43beec | fcn_0043beec ();
0x004029a8 lui s2, 0x4a | s2 = 0x4a0000;
| }
0x004029ac lb v0, -0x1af0(s2) | v0 = *((s2 - 6896));
0x004029b0 lui s3, 0x4b | s3 = 0x4b0000;
| if (v0 != 0) {
0x004029b4 bnez v0, 0x4029e0 | goto label_49;
| }
0x004029b8 lb v0, 0x1020(sp) | v0 = *(var_1020h);
0x004029bc lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| if (v0 != 0) {
0x004029c0 bnez v0, 0x4029e4 | goto label_50;
| }
0x004029c4 lui v0, 0x4a | v0 = 0x4a0000;
0x004029c8 lb v0, -0x2300(v0) | v0 = *((v0 - 8960));
0x004029cc lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| if (v0 != 0) {
0x004029d0 bnez v0, 0x4029e4 | goto label_50;
| }
0x004029d4 lw t9, 0x1688(sp) | t9 = *(var_1688h);
| if (t9 == 0) {
0x004029d8 beqz t9, 0x402364 | goto label_14;
| }
0x004029dc nop |
| label_49:
0x004029e0 lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| label_50:
0x004029e4 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x004029e8 lui a1, 0x46 | a1 = 0x460000;
0x004029ec beqz v0, 0x402b20 |
| while (v0 == 0) {
0x004029f0 lb v0, -0x1af0(s2) | v0 = *((s2 - 6896));
| label_15:
0x004029f4 lui v0, 0x4a | v0 = 0x4a0000;
| if (v0 != 0) {
0x004029f8 beqz v0, 0x402a80 |
0x004029fc lw a0, -0x1b00(v0) | a0 = *((v0 - 1728));
0x00402a00 lui s2, 0x4a | s2 = 0x4a0000;
| if (a0 != 0) {
0x00402a04 beqz a0, 0x402a10 |
0x00402a08 jal 0x408c6c | fcn_00408c6c ();
0x00402a0c nop |
| }
0x00402a10 lw v0, -0x3804(s2) | v0 = *((s2 - 3585));
0x00402a14 lui a0, 0x4a | a0 = 0x4a0000;
| if (v0 == 0) {
0x00402a18 beqz v0, 0x402d14 | goto label_51;
| }
| label_19:
0x00402a1c lb v0, 0x1520(sp) | v0 = *(var_1520h);
0x00402a20 addiu a0, zero, 1 | a0 = 1;
0x00402a24 lui v1, 0x4a | v1 = 0x4a0000;
0x00402a28 sw a0, -0x1afc(v1) | *((v1 - 1727)) = a0;
| if (v0 != 0) {
0x00402a2c beqz v0, 0x402a38 |
0x00402a30 addiu a0, sp, 0x1520 | a0 = sp + 0x1520;
0x00402a34 jal 0x404238 | fcn_00404238 ();
| }
0x00402a38 jal 0x40bd6c | fcn_0040bd6c ();
0x00402a3c nop |
0x00402a40 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402a44 move s0, v0 | s0 = v0;
0x00402a48 jal 0x41650c | fcn_0041650c ();
| label_16:
0x00402a4c lw ra, 0x16bc(sp) | ra = *(var_16bch);
| }
0x00402a80 lui v0, 0x4a | v0 = 0x4a0000;
0x00402a84 lw t9, -0x4658(v0) | t9 = *((v0 - 4502));
0x00402a88 addiu a0, sp, 0x1020 | a0 = sp + 0x1020;
0x00402a8c addiu a1, zero, 0x23 | a1 = 0x23;
0x00402a90 jalr t9 | t9 ();
0x00402a94 lui a1, 0x46 | a1 = 0x460000;
| if (v0 != 0) {
0x00402a98 beqz v0, 0x402ab4 |
0x00402a9c lui a2, 0x4a | a2 = 0x4a0000;
0x00402aa0 sb zero, (v0) | *(v0) = 0;
0x00402aa4 addiu a0, v0, 1 | a0 = v0 + 1;
| /* esilref: '&x' */
0x00402aa8 addiu a1, a1, -0x1a80 | a1 += -0x1a80;
0x00402aac addiu a2, a2, -0x7640 | a2 += -0x7640;
0x00402ab0 jal 0x487420 | fcn_00487420 ();
| }
0x00402ab4 lb v0, 0x1020(sp) | v0 = *(var_1020h);
0x00402ab8 lw v1, 0x1688(sp) | v1 = *(var_1688h);
| if (v0 != 0) {
0x00402abc bnez v0, 0x402c0c | goto label_52;
| }
| if (v1 != 0) {
0x00402ac0 bnez v1, 0x402b58 | goto label_53;
| }
0x00402ac4 nop |
0x00402ac8 lui a0, 0x4a | a0 = 0x4a0000;
0x00402acc lui a1, 0x4a | a1 = 0x4a0000;
0x00402ad0 addiu a0, a0, -0x1f00 | a0 += -0x1f00;
0x00402ad4 addiu a1, a1, -0x2300 | a1 += -0x2300;
0x00402ad8 jal 0x408690 | fcn_00408690 ();
0x00402adc lui s2, 0x4a | s2 = 0x4a0000;
0x00402ae0 sw v0, -0x3804(s2) | *((s2 - 3585)) = v0;
| if (v0 == 0) {
0x00402ae4 beqz v0, 0x402c04 | goto label_21;
| }
0x00402ae8 lb v0, 0x1520(sp) | v0 = *(var_1520h);
| if (v0 != 0) {
0x00402aec bnez v0, 0x402d04 | goto label_54;
| }
0x00402af0 nop |
0x00402af4 lui v0, 0x4a | v0 = 0x4a0000;
| label_18:
0x00402af8 lw a0, -0x1b00(v0) | a0 = *((v0 - 1728));
0x00402afc lui s4, 0x46 | s4 = 0x460000;
| if (a0 == 0) {
0x00402b00 beqz a0, 0x402e88 | goto label_55;
| }
0x00402b04 jal 0x408c6c | fcn_00408c6c ();
0x00402b08 nop |
| label_17:
0x00402b0c lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402b20 lui a2, 0x46 | a2 = 0x460000;
0x00402b24 addiu a0, zero, 3 | a0 = 3;
| /* str.client_client.c */
0x00402b28 addiu a1, a1, -0x2d20 | a1 += -0x2d20;
| /* str.main */
0x00402b2c addiu a2, a2, -0xf80 | a2 += -0xf80;
0x00402b30 addiu a3, zero, 0xaf9 | a3 = 0xaf9;
0x00402b34 jal 0x4381b8 | fcn_004381b8 ();
0x00402b38 lui a0, 0x46 | a0 = 0x460000;
0x00402b3c beqz v0, 0x4029f0 |
| }
0x00402b40 lui a1, 0x46 | a1 = 0x460000;
| /* str.Client_started__version__s_._n */
0x00402b44 addiu a0, a0, -0x1aa0 | a0 += -0x1aa0;
| /* str.2.2.7a */
0x00402b48 addiu a1, a1, -0x2cd8 | a1 += -0x2cd8;
0x00402b4c jal 0x437cc4 | fcn_00437cc4 ();
0x00402b50 lb v0, -0x1af0(s2) | v0 = *((s2 - 6896));
0x00402b54 b 0x4029f4 | goto label_15;
| label_53:
0x00402b58 addiu a0, sp, 0x1680 | a0 = sp + 0x1680;
0x00402b5c jal 0x44eb3c | fcn_0044eb3c ();
0x00402b60 lui s2, 0x4a | s2 = 0x4a0000;
0x00402b64 addiu a1, s1, -0x6930 | a1 = s1 + -0x6930;
0x00402b68 addiu a0, sp, 0x1420 | a0 = sp + 0x1420;
0x00402b6c move a2, zero | a2 = 0;
0x00402b70 jal 0x4258b4 | fcn_004258b4 ();
0x00402b74 lw a2, -0x7640(s2) | a2 = *((s2 - 7568));
0x00402b78 lui s1, 0x4a | s1 = 0x4a0000;
0x00402b7c addiu a0, sp, 0x1620 | a0 = sp + 0x1620;
0x00402b80 addiu a1, s1, -0x1f00 | a1 = s1 + -0x1f00;
0x00402b84 jal 0x4258b4 | fcn_004258b4 ();
0x00402b88 addiu a0, sp, 0x1680 | a0 = sp + 0x1680;
0x00402b8c jal 0x44eb3c | fcn_0044eb3c ();
0x00402b90 lui v0, 0x4a | v0 = 0x4a0000;
0x00402b94 lw v0, -0x2f08(v0) | v0 = *((v0 - 3010));
0x00402b98 lw a2, -0x7640(s2) | a2 = *((s2 - 7568));
| if (v0 == 0) {
0x00402b9c beqz v0, 0x402d34 | goto label_56;
| }
0x00402ba0 lui v0, 0x4a | v0 = 0x4a0000;
0x00402ba4 lw v0, -0x3800(v0) | v0 = *((v0 - 3584));
0x00402ba8 sw v0, 0x1680(sp) | *(var_1680h) = v0;
| label_20:
0x00402bac move a0, zero | a0 = 0;
0x00402bb0 jal 0x4162b8 | fcn_004162b8 ();
0x00402bb4 lui s2, 0x4a | s2 = 0x4a0000;
0x00402bb8 sw v0, -0x3804(s2) | *((s2 - 3585)) = v0;
| if (v0 != 0) {
0x00402bbc beqz v0, 0x402bd8 |
0x00402bc0 lui v1, 0x4a | v1 = 0x4a0000;
0x00402bc4 lw a1, -0x763c(v1) | a1 = *((v1 - 7567));
0x00402bc8 move a0, v0 | a0 = v0;
0x00402bcc jal 0x415d80 | fcn_00415d80 ();
0x00402bd0 addiu a1, s1, -0x1f00 | a1 = s1 + -0x1f00;
| if (v0 != 0) {
0x00402bd4 bnez v0, 0x402d90 | goto label_57;
| }
| }
0x00402bd8 lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| label_22:
0x00402bdc lui a1, 0x46 | a1 = 0x460000;
| if (v0 < 0) {
0x00402be0 bltz v0, 0x402c04 | goto label_21;
| }
0x00402be4 lui a2, 0x46 | a2 = 0x460000;
0x00402be8 move a0, zero | a0 = 0;
| /* str.client_client.c */
0x00402bec addiu a1, a1, -0x2d20 | a1 += -0x2d20;
| /* str.do_message_op */
0x00402bf0 addiu a2, a2, -0xdb8 | a2 += -0xdb8;
0x00402bf4 addiu a3, zero, 0x992 | a3 = 0x992;
0x00402bf8 jal 0x4381b8 | fcn_004381b8 ();
0x00402bfc lui a0, 0x46 | a0 = 0x460000;
| if (v0 != 0) {
0x00402c00 bnez v0, 0x402cf0 | goto label_58;
| }
| do {
| label_21:
0x00402c04 addiu s0, zero, 1 | s0 = 1;
0x00402c08 b 0x402a4c | goto label_16;
| label_52:
0x00402c0c lui a1, 0x46 | a1 = 0x460000;
0x00402c10 addiu a0, sp, 0x1020 | a0 = sp + 0x1020;
| /* str.IPC_ */
0x00402c14 addiu a1, a1, -0x1a7c | a1 += -0x1a7c;
0x00402c18 jal 0x408690 | fcn_00408690 ();
0x00402c1c lui s2, 0x4a | s2 = 0x4a0000;
0x00402c20 sw v0, -0x3804(s2) | *((s2 - 3585)) = v0;
0x00402c24 beqz v0, 0x402c04 |
| } while (v0 == 0);
0x00402c28 lui a0, 0x46 | a0 = "\n\tSharename Type Comment";
| /* str._n_tSharename______Type______Comment */
0x00402c2c addiu a0, a0, -0x1a74 |
0x00402c30 jal 0x486fe0 | fcn_00486fe0 ();
0x00402c34 lui a0, 0x46 | a0 = "\t--------- ---- -------";
| /* str._t________________________________ */
0x00402c38 addiu a0, a0, -0x1a50 |
0x00402c3c jal 0x486fe0 | fcn_00486fe0 ();
0x00402c40 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402c44 lui a1, 0x40 | a1 = 0x405454;
0x00402c48 addiu a1, a1, 0x5454 |
0x00402c4c move a2, zero | a2 = 0;
0x00402c50 jal 0x41b718 | fcn_0041b718 ();
0x00402c54 addiu v1, zero, -1 | v1 = -1;
0x00402c58 lw v0, -0x3804(s2) | v0 = *((s2 - 3585));
| if (v0 == v1) {
0x00402c5c bne v0, v1, 0x402c7c |
0x00402c60 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402c64 jal 0x41cccc | fcn_0041cccc ();
0x00402c68 lui a0, 0x46 | a0 = "Error returning browse list: %s\n";
| /* str.Error_returning_browse_list:__s_n */
0x00402c6c addiu a0, a0, -0x1a2c |
0x00402c70 move a1, v0 | a1 = v0;
0x00402c74 jal 0x486ea0 | fcn_00486ea0 ();
0x00402c78 lw v0, -0x3804(s2) | v0 = *((s2 - 3585));
| }
0x00402c7c addiu v0, v0, 0x624 | v0 += 0x624;
0x00402c80 lui s3, 0x4a | s3 = 0x4a0000;
| if (v0 == 0) {
0x00402c84 beqz v0, 0x402b0c | goto label_17;
| }
0x00402c88 lui a0, 0x46 | a0 = "\n\tServer Comment";
| /* str._n_tServer_______________Comment */
0x00402c8c addiu a0, a0, -0x1a08 |
0x00402c90 lui s0, 0x46 | s0 = 0x460000;
0x00402c94 jal 0x486fe0 | fcn_00486fe0 ();
| /* str._t____________________________ */
0x00402c98 addiu a0, s0, -0x19e8 | a0 = s0 + -0x19e8;
0x00402c9c jal 0x486fe0 | fcn_00486fe0 ();
0x00402ca0 lw a0, -0x3804(s3) | a0 = *((s3 - 3585));
0x00402ca4 lui s1, 0x40 | s1 = 0x400000;
0x00402ca8 addiu a2, zero, -1 | a2 = -1;
0x00402cac addiu a1, a0, 0x624 | a1 = a0 + 0x624;
0x00402cb0 addiu a3, s1, 0x5538 | a3 = s1 + 0x5538;
0x00402cb4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00402cb8 jal 0x41ba14 | fcn_0041ba14 ();
0x00402cbc lui a0, 0x46 | a0 = "\n\tWorkgroup Master";
| /* str._n_tWorkgroup____________Master */
0x00402cc0 addiu a0, a0, -0x19c8 |
0x00402cc4 jal 0x486fe0 | fcn_00486fe0 ();
| /* str._t____________________________ */
0x00402cc8 addiu a0, s0, -0x19e8 | a0 = s0 + -0x19e8;
0x00402ccc jal 0x486fe0 | fcn_00486fe0 ();
0x00402cd0 lw a0, -0x3804(s3) | a0 = *((s3 - 3585));
0x00402cd4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00402cd8 lui a2, 0x8000 | a2 = 0x80000000;
0x00402cdc addiu a1, a0, 0x624 | a1 = a0 + 0x624;
0x00402ce0 addiu a3, s1, 0x5538 | a3 = s1 + 0x5538;
0x00402ce4 jal 0x41ba14 | fcn_0041ba14 ();
0x00402ce8 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402cec b 0x402b10 | void (*0x402b10)() ();
| /* str.Connection_to__s_failed_n */
| label_58:
0x00402cf0 addiu a0, a0, -0x1d94 | a0 += -0x1d94;
0x00402cf4 addiu a1, s1, -0x1f00 | a1 = s1 + -0x1f00;
0x00402cf8 jal 0x437cc4 | fcn_00437cc4 ();
0x00402cfc addiu s0, zero, 1 | s0 = 1;
0x00402d00 b 0x402a4c | goto label_16;
| label_54:
0x00402d04 addiu a0, sp, 0x1520 | a0 = sp + 0x1520;
0x00402d08 jal 0x404238 | fcn_00404238 ();
0x00402d0c lui v0, 0x4a | v0 = 0x4a0000;
0x00402d10 b 0x402af8 | goto label_18;
| label_51:
0x00402d14 lui a1, 0x4a | a1 = 0x4a0000;
0x00402d18 addiu a0, a0, -0x1f00 | a0 += -0x1f00;
0x00402d1c addiu a1, a1, -0x2300 | a1 += -0x2300;
0x00402d20 jal 0x408690 | fcn_00408690 ();
0x00402d24 sw v0, -0x3804(s2) | *((s2 - 3585)) = v0;
| if (v0 != 0) {
0x00402d28 bnez v0, 0x402a1c | goto label_19;
| }
0x00402d2c addiu s0, zero, 1 | s0 = 1;
0x00402d30 b 0x402a4c | goto label_16;
| label_56:
0x00402d34 addiu v0, zero, 0x20 | v0 = 0x20;
0x00402d38 addiu a0, s1, -0x1f00 | a0 = s1 + -0x1f00;
| if (a2 == v0) {
0x00402d3c beq a2, v0, 0x402bac | goto label_20;
| }
0x00402d40 addiu a1, sp, 0x1680 | a1 = sp + 0x1680;
0x00402d44 jal 0x423968 | fcn_00423968 ();
0x00402d48 lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| if (v0 != 0) {
0x00402d4c bnez v0, 0x402bac | goto label_20;
| }
0x00402d50 lui a1, 0x46 | a1 = 0x460000;
| if (v0 < 0) {
0x00402d54 bltz v0, 0x402c04 | goto label_21;
| }
0x00402d58 lui a2, 0x46 | a2 = 0x460000;
0x00402d5c move a0, zero | a0 = 0;
| /* str.client_client.c */
0x00402d60 addiu a1, a1, -0x2d20 | a1 += -0x2d20;
| /* str.do_message_op */
0x00402d64 addiu a2, a2, -0xdb8 | a2 += -0xdb8;
0x00402d68 addiu a3, zero, 0x98c | a3 = 0x98c;
0x00402d6c jal 0x4381b8 | fcn_004381b8 ();
0x00402d70 lw a2, -0x7640(s2) | a2 = *((s2 - 7568));
| if (v0 == 0) {
0x00402d74 beqz v0, 0x402c04 | goto label_21;
| }
0x00402d78 lui a0, 0x46 | a0 = "Cannot resolve name %s#0x%x\n";
| /* str.Cannot_resolve_name__s0x_x_n */
0x00402d7c addiu a0, a0, -0x19a8 |
0x00402d80 addiu a1, s1, -0x1f00 | a1 = s1 + -0x1f00;
0x00402d84 jal 0x437cc4 | fcn_00437cc4 ();
0x00402d88 addiu s0, zero, 1 | s0 = 1;
0x00402d8c b 0x402a4c | goto label_16;
| label_57:
0x00402d90 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402d94 addiu a2, sp, 0x1680 | a2 = sp + 0x1680;
0x00402d98 jal 0x418234 | fcn_00418234 ();
0x00402d9c lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| if (v0 == 0) {
0x00402da0 beqz v0, 0x402bdc | goto label_22;
| }
0x00402da4 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402da8 addiu a1, sp, 0x1420 | a1 = sp + 0x1420;
0x00402dac addiu a2, sp, 0x1620 | a2 = sp + 0x1620;
0x00402db0 jal 0x417e98 | fcn_00417e98 ();
0x00402db4 lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| if (v0 == 0) {
0x00402db8 bnez v0, 0x402e00 |
0x00402dbc lui a1, 0x46 | a1 = 0x460000;
| if (v0 >= 0) {
0x00402dc0 bltz v0, 0x402dec |
0x00402dc4 lui a2, 0x46 | a2 = 0x460000;
0x00402dc8 move a0, zero | a0 = 0;
| /* str.client_client.c */
0x00402dcc addiu a1, a1, -0x2d20 | a1 += -0x2d20;
| /* str.do_message_op */
0x00402dd0 addiu a2, a2, -0xdb8 | a2 += -0xdb8;
0x00402dd4 addiu a3, zero, 0x997 | a3 = 0x997;
0x00402dd8 jal 0x4381b8 | fcn_004381b8 ();
0x00402ddc lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x00402de0 beqz v0, 0x402dec | goto label_59;
| }
| /* str.session_request_failed_n */
0x00402de4 addiu a0, a0, -0x1988 | a0 += -0x1988;
0x00402de8 jal 0x437cc4 | fcn_00437cc4 ();
| }
| label_59:
0x00402dec lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402df0 addiu s0, zero, 1 | s0 = 1;
0x00402df4 jal 0x41650c | fcn_0041650c ();
0x00402df8 lw ra, 0x16bc(sp) | ra = *(var_16bch);
0x00402dfc b 0x402a50 | void (*0x402a50)() ();
| }
0x00402e00 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402e04 lui a1, 0x4a | a1 = 0x49e100;
0x00402e08 addiu a1, a1, -0x1f00 |
0x00402e0c addiu a2, s0, -0x2b00 | a2 = s0 + -0x2b00;
0x00402e10 addiu a3, sp, 0x167c | a3 = sp + 0x167c;
0x00402e14 jal 0x41d230 | fcn_0041d230 ();
0x00402e18 lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| if (v0 != 0) {
0x00402e1c bnez v0, 0x402f28 | goto label_60;
| }
0x00402e20 lui a1, 0x46 | a1 = 0x460000;
| if (v0 < 0) {
0x00402e24 bltz v0, 0x402b0c | goto label_17;
| }
0x00402e28 lui a2, 0x46 | a2 = 0x460000;
0x00402e2c move a0, zero | a0 = 0;
| /* str.client_client.c */
0x00402e30 addiu a1, a1, -0x2d20 | a1 += -0x2d20;
| /* str.send_message */
0x00402e34 addiu a2, a2, -0xda8 | a2 += -0xda8;
0x00402e38 addiu a3, zero, 0xa9 | a3 = 0xa9;
0x00402e3c jal 0x4381b8 | fcn_004381b8 ();
| if (v0 == 0) {
0x00402e40 beqz v0, 0x402b0c | goto label_17;
| }
0x00402e44 nop |
0x00402e48 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402e4c jal 0x41cccc | fcn_0041cccc ();
0x00402e50 lui a0, 0x46 | a0 = "message start: %s\n";
| /* str.message_start:__s_n */
0x00402e54 addiu a0, a0, -0x1970 |
0x00402e58 move a1, v0 | a1 = v0;
0x00402e5c jal 0x437cc4 | fcn_00437cc4 ();
0x00402e60 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00402e64 b 0x402b10 | void (*0x402b10)() ();
| label_45:
0x00402e68 lw a0, 0x168c(sp) | a0 = *(var_168ch);
0x00402e6c jal 0x403420 | fcn_00403420 ();
0x00402e70 lui a0, 0x46 | a0 = "\n%s: Not enough '\\' characters in service\n";
| /* str._n_s:_Not_enough__characters_in_service_n */
0x00402e74 addiu a0, a0, -0x1b4c |
0x00402e78 addiu a1, s1, -0x2300 | a1 = s1 + -0x2300;
0x00402e7c jal 0x486ea0 | fcn_00486ea0 ();
0x00402e80 addiu a0, zero, 1 | a0 = 1;
0x00402e84 jal 0x4876c0 | fcn_004876c0 ();
| label_55:
0x00402e88 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x00402e8c lui fp, 0x46 | fp = 0x460000;
0x00402e90 lui s7, 0x4a | s7 = 0x4a0000;
0x00402e94 lui s6, 0x40 | s6 = 0x400000;
0x00402e98 lui s5, 0x40 | s5 = 0x400000;
| /* str.client_client.c */
0x00402e9c addiu s4, s4, -0x2d20 | s4 += -0x2d20;
0x00402ea0 lui s0, 0x46 | s0 = 0x460000;
| label_29:
0x00402ea4 move a0, s1 | a0 = s1;
| label_23:
0x00402ea8 addiu a1, zero, 0xff | a1 = 0xff;
| /* str.smb:__s__ */
0x00402eac addiu a2, fp, -0x18b8 | a2 = fp + -0x18b8;
0x00402eb0 addiu a3, s7, -0x7a40 | a3 = s7 + -0x7a40;
0x00402eb4 jal 0x444430 | sym_snprintf ()
0x00402eb8 move a0, s1 | a0 = s1;
0x00402ebc addiu a1, s6, 0x6844 | a1 = s6 + 0x6844;
0x00402ec0 addiu a2, s5, 0x59a4 | a2 = s5 + 0x59a4;
0x00402ec4 jal 0x45d0c0 | fcn_0045d0c0 ();
0x00402ec8 addiu v1, zero, 0x21 | v1 = 0x21;
| if (v0 == 0) {
0x00402ecc beqz v0, 0x402b0c | goto label_17;
| }
0x00402ed0 lb a0, (v0) | a0 = *(v0);
0x00402ed4 addiu a1, sp, 0x1420 | a1 = sp + 0x1420;
| if (a0 == v1) {
0x00402ed8 beq a0, v1, 0x4030b4 | goto label_61;
| }
0x00402edc addiu a0, sp, 0x1678 | a0 = sp + 0x1678;
0x00402ee0 move a2, zero | a2 = 0;
0x00402ee4 addiu a3, zero, 0x100 | a3 = 0x100;
0x00402ee8 sw v0, 0x1678(sp) | *(var_1678h) = v0;
0x00402eec jal 0x444a7c | fcn_00444a7c ();
0x00402ef0 move a0, s1 | a0 = s1;
| if (v0 == 0) {
0x00402ef4 beqz v0, 0x402ea8 | goto label_23;
| }
0x00402ef8 addiu a0, sp, 0x1420 | a0 = sp + 0x1420;
0x00402efc jal 0x4056b0 | fcn_004056b0 ();
0x00402f00 lui t9, 0x4a | t9 = 0x4a0000;
| if (v0 < 0) {
0x00402f04 bltz v0, 0x4030c4 | goto label_62;
| }
0x00402f08 addiu t9, t9, -0x7d40 | t9 += -0x7d40;
0x00402f0c sll v0, v0, 4 | v0 <<= 4;
0x00402f10 addu v0, t9, v0 | v0 = t9 + v0;
0x00402f14 lw t9, 4(v0) | t9 = *((v0 + 1));
0x00402f18 jalr t9 | t9 ();
0x00402f1c nop |
0x00402f20 move a0, s1 | a0 = s1;
0x00402f24 b 0x402ea8 | goto label_23;
| label_60:
0x00402f28 lui a0, 0x46 | a0 = "Connected. Type your message, ending it with a Control-D";
| /* str.Connected._Type_your_message__ending_it_with_a_Control_D */
0x00402f2c addiu a0, a0, -0x195c |
0x00402f30 move s0, zero | s0 = 0;
0x00402f34 lui s3, 0x4a | s3 = 0x4a0000;
0x00402f38 lui s4, 0x4a | s4 = 0x4a0000;
0x00402f3c jal 0x486fe0 | fcn_00486fe0 ();
| label_25:
0x00402f40 lw a0, -0x3794(s3) | a0 = *((s3 - 3557));
0x00402f44 jal 0x487030 | fcn_00487030 ();
0x00402f48 slti v0, s0, 0x640 | v0 = (s0 < 0x640) ? 1 : 0;
| if (v0 != 0) {
0x00402f4c bnez v0, 0x403094 | goto label_63;
| }
0x00402f50 addiu t9, zero, 0x640 | t9 = 0x640;
| if (v0 == 0) {
0x00402f54 beqz v0, 0x403054 | goto label_27;
| }
0x00402f58 subu s1, t9, s0 | __asm ("subu s1, t9, s0");
0x00402f5c slti v0, s1, 0x80 | v0 = (s1 < 0x80) ? 1 : 0;
0x00402f60 addiu v1, zero, 0x7f | v1 = 0x7f;
0x00402f64 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x00402f68 move a1, zero | a1 = 0;
0x00402f6c addiu a2, zero, 0x400 | a2 = 0x400;
0x00402f70 move s5, zero | s5 = 0;
0x00402f74 addiu fp, zero, -1 | fp = -1;
0x00402f78 addiu s7, zero, 0xa | s7 = 0xa;
0x00402f7c addiu s6, zero, 0xd | s6 = 0xd;
| if (v0 != 0) {
0x00402f80 movz s1, v1, v0 | s1 = v1;
| }
0x00402f84 jal 0x487500 | fcn_00487500 ();
| do {
0x00402f88 lw a0, -0x3794(s3) | a0 = *((s3 - 3557));
0x00402f8c lw v0, 0x48(a0) | v0 = *((a0 + 18));
| if (v0 == 0) {
0x00402f90 beqz v0, 0x403024 | goto label_64;
| }
0x00402f94 nop |
0x00402f98 lw v0, 0x10(a0) | v0 = *((a0 + 4));
0x00402f9c lw a1, 0x18(a0) | a1 = *((a0 + 6));
0x00402fa0 sltu a1, v0, a1 | a1 = (v0 < a1) ? 1 : 0;
0x00402fa4 addiu a1, v0, 1 | a1 = v0 + 1;
| if (a1 == 0) {
0x00402fa8 beqz a1, 0x402fe8 | goto label_65;
| }
0x00402fac lbu v0, (v0) | v0 = *(v0);
0x00402fb0 sw a1, 0x10(a0) | *((a0 + 4)) = a1;
| label_24:
0x00402fb4 addiu v1, sp, 0x20 | v1 = sp + 0x20;
| if (v0 == s7) {
0x00402fb8 bne v0, s7, 0x402fcc |
0x00402fbc addiu t9, sp, 0x20 | t9 = sp + 0x20;
0x00402fc0 addu a0, t9, s5 | a0 = t9 + s5;
0x00402fc4 sb s6, (a0) | *(a0) = s6;
0x00402fc8 addiu s5, s5, 1 | s5++;
| }
0x00402fcc addu a1, v1, s5 | a1 = v1 + s5;
0x00402fd0 addiu s5, s5, 1 | s5++;
0x00402fd4 slt a0, s5, s1 | a0 = (s5 < s1) ? 1 : 0;
0x00402fd8 sb v0, (a1) | *(a1) = v0;
0x00402fdc bnez a0, 0x402f88 |
| } while (a0 != 0);
0x00402fe0 lw t9, -0x4670(s4) | t9 = *((s4 - 4508));
0x00402fe4 b 0x402ff8 | goto label_66;
| label_65:
0x00402fe8 jal 0x487180 | fcn_00487180 ();
0x00402fec nop |
| label_26:
0x00402ff0 lw t9, -0x4670(s4) | t9 = *((s4 - 4508));
| if (v0 != fp) {
0x00402ff4 bne v0, fp, 0x402fb4 | goto label_24;
| }
| label_66:
0x00402ff8 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x00402ffc jalr t9 | t9 ();
0x00403000 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00403004 lw a3, 0x167c(sp) | a3 = *(var_167ch);
0x00403008 addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x0040300c move a2, s5 | a2 = s5;
0x00403010 jal 0x41d3ac | fcn_0041d3ac ();
0x00403014 lui v0, 0x4a | v0 = 0x4a0000;
| if (v0 != 0) {
0x00403018 beqz v0, 0x403034 |
0x0040301c addu s0, s0, s5 | s0 += s5;
0x00403020 b 0x402f40 | goto label_25;
| label_64:
0x00403024 jal 0x4875f0 | fcn_004875f0 ();
0x00403028 nop |
0x0040302c b 0x402ff0 | goto label_26;
0x00403030 nop |
| }
0x00403034 lw a0, -0x3804(v0) | a0 = *((v0 - 3585));
0x00403038 jal 0x41cccc | fcn_0041cccc ();
0x0040303c lui a0, 0x46 | a0 = 0x460000;
| label_27:
0x00403054 lui a0, 0x46 | a0 = "the message was truncated to 1600 bytes";
| /* str.the_message_was_truncated_to_1600_bytes */
0x00403058 addiu a0, a0, -0x1908 |
0x0040305c jal 0x486fe0 | fcn_00486fe0 ();
0x00403060 lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
| label_28:
0x00403064 lw a1, 0x167c(sp) | a1 = *(var_167ch);
0x00403068 jal 0x41d4c8 | fcn_0041d4c8 ();
0x0040306c lui v0, 0x4a | v0 = 0x4a0000;
| if (v0 != 0) {
0x00403070 bnez v0, 0x402b0c | goto label_17;
| }
0x00403074 lw a0, -0x3804(v0) | a0 = *((v0 - 3585));
0x00403078 jal 0x41cccc | fcn_0041cccc ();
0x0040307c lui a0, 0x46 | a0 = "SMBsendend failed (%s)\n";
| /* str.SMBsendend_failed___s__n */
0x00403080 addiu a0, a0, -0x18d0 |
0x00403084 move a1, v0 | a1 = v0;
0x00403088 jal 0x486ea0 | fcn_00486ea0 ();
0x0040308c lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x00403090 b 0x402b10 | void (*0x402b10)() ();
| if (v0 == 0) {
| label_63:
0x00403094 beqz v0, 0x403054 | goto label_27;
| }
0x00403098 nop |
0x0040309c lui a0, 0x46 | a0 = "sent %d bytes\n";
| /* str.sent__d_bytes_n */
0x004030a0 addiu a0, a0, -0x18e0 |
0x004030a4 move a1, s0 | a1 = s0;
0x004030a8 jal 0x486ea0 | fcn_00486ea0 ();
0x004030ac lw a0, -0x3804(s2) | a0 = *((s2 - 3585));
0x004030b0 b 0x403064 | goto label_28;
| label_61:
0x004030b4 addiu a0, v0, 1 | a0 = v0 + 1;
0x004030b8 jal 0x487020 | fcn_00487020 ();
0x004030bc move a0, s1 | a0 = s1;
0x004030c0 b 0x402ea8 | goto label_23;
| label_62:
0x004030c4 addiu v1, zero, -2 | v1 = -2;
0x004030c8 lw v0, -0x2b40(s3) | v0 = *((s3 - 2768));
| if (v0 == v1) {
0x004030cc beq v0, v1, 0x403174 | goto label_67;
| }
0x004030d0 move a0, zero | a0 = 0;
| if (v0 < 0) {
0x004030d4 bltz v0, 0x402ea4 | goto label_29;
| }
0x004030d8 move a1, s4 | a1 = s4;
| /* str.process_stdin */
0x004030dc addiu a2, s0, -0xd98 | a2 = s0 + -0xd98;
0x004030e0 addiu a3, zero, 0x85e | a3 = 0x85e;
0x004030e4 jal 0x4381b8 | fcn_004381b8 ();
0x004030e8 lui a0, 0x46 | a0 = 0x460000;
| if (v0 == 0) {
0x004030ec beqz v0, 0x402ea4 | goto label_29;
| }
| /* str._s:_command_not_found_n */
0x004030f0 addiu a0, a0, -0x1c40 | a0 += -0x1c40;
0x004030f4 addiu a1, sp, 0x1420 | a1 = sp + 0x1420;
0x004030f8 jal 0x437cc4 | fcn_00437cc4 ();
0x004030fc move a0, s1 | a0 = s1;
0x00403100 b 0x402ea8 | goto label_23;
| label_41:
0x00403148 lw a0, -0x3790(v0) | a0 = *((v0 - 3556));
0x0040314c lui a1, 0x46 | a1 = 0x460000;
0x00403150 lui a3, 0x46 | a3 = 0x460000;
| /* str.Error_reading_password_from_file__s:__s_n */
0x00403154 addiu a1, a1, -0x1b98 | a1 += -0x1b98;
0x00403158 addiu a2, sp, 0x20 | a2 = sp + 0x20;
| /* str.empty_password_n */
0x0040315c addiu a3, a3, -0x1b6c | a3 += -0x1b6c;
0x00403160 jal 0x487250 | fcn_00487250 ();
0x00403164 addiu a0, zero, 1 | a0 = 1;
0x00403168 jal 0x4876c0 | fcn_004876c0 ();
0x0040316c addiu a0, zero, 1 | a0 = 1;
0x00403170 jal 0x4876c0 | fcn_004876c0 ();
| label_67:
0x00403174 move a0, zero | a0 = 0;
| if (v0 < 0) {
0x00403178 bltz v0, 0x402ea4 | goto label_29;
| }
0x0040317c move a1, s4 | a1 = s4;
| /* str.process_stdin */
0x00403180 addiu a2, s0, -0xd98 | a2 = s0 + -0xd98;
0x00403184 addiu a3, zero, 0x85c | a3 = 0x85c;
0x00403188 jal 0x4381b8 | fcn_004381b8 ();
0x0040318c lui v0, 0x46 | v0 = 0x460000;
| if (v0 == 0) {
0x00403190 beqz v0, 0x402ea4 | goto label_29;
| }
| /* str._s:_command_abbreviation_ambiguous_n */
0x00403194 addiu a0, v0, -0x1c64 | a0 = v0 + -0x1c64;
0x00403198 addiu a1, sp, 0x1420 | a1 = sp + 0x1420;
0x0040319c jal 0x437cc4 | fcn_00437cc4 ();
0x004031a0 move a0, s1 | a0 = s1;
0x004031a4 b 0x402ea8 | goto label_23;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/smbclient @ 0x402434 */
| #include <stdint.h>
|
; (fcn) sym.imp.getgrent () | void getgrent () {
0x00402434 lw a3, -0x37ac(fp) | a3 = *(var_37ach);
0x00402438 lui a2, 0x46 | a2 = 0x460000;
0x0040243c addiu a0, sp, 0x420 | a0 = sp + 0x420;
0x00402440 addiu a1, zero, 0x3ff | a1 = 0x3ff;
| /* str._s.client */
0x00402444 addiu a2, a2, -0x1b20 | a2 += -0x1b20;
0x00402448 jal 0x444430 | sym_snprintf ()
0x0040244c addiu a0, sp, 0x420 | a0 = sp + 0x420;
0x00402450 jal 0x414ec0 | fcn_00414ec0 ();
0x00402454 move a0, s3 | a0 = s3;
0x00402458 b 0x402340 | return void (*0x402340)() ();
| }
[*] Function printf used 43 times smbclient