[*] Binary protection state of pt_privacy
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function system tear down of pt_privacy
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/pt_privacy @ 0x40290c */
| #include <stdint.h>
|
; (fcn) sym.privacy_off_bool_ () | void privacy_off_bool_ () {
| /* privacy_off(bool) */
0x0040290c lui gp, 2 |
0x00402910 addiu gp, gp, 0x714 |
0x00402914 addu gp, gp, t9 | gp += t9;
0x00402918 addiu sp, sp, -0x11e8 |
0x0040291c sw ra, 0x11e4(sp) | *(var_11e4h) = ra;
0x00402920 sw fp, 0x11e0(sp) | *(var_11e0h) = fp;
0x00402924 sw s1, 0x11dc(sp) | *(var_11dch) = s1;
0x00402928 sw s0, 0x11d8(sp) | *(var_11d8h) = s0;
0x0040292c move fp, sp | fp = sp;
0x00402930 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00402934 move t8, a0 | t8 = a0;
0x00402938 sb t8, 0x24(fp) | *(arg_24h) = t8;
0x0040293c lw t8, -0x7e9c(gp) | t8 = *((gp - 8103));
0x00402940 lw t8, (t8) | t8 = *(t8);
0x00402944 sw t8, 0x11d4(fp) | *(arg_11d4h) = t8;
0x00402948 addiu t8, zero, -1 | t8 = -1;
0x0040294c sw t8, 0x30(fp) | *(arg_30h) = t8;
0x00402950 addiu t8, fp, 0x38 | t8 = fp + 0x38;
0x00402954 move a0, t8 | a0 = t8;
0x00402958 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x0040295c move t9, t8 | t9 = t8;
0x00402960 jalr t9 | t9 ();
0x00402964 nop |
0x00402968 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040296c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00402970 lw t8, -0x7eec(gp) | t8 = sym.imp.cam_get_privacy__privacy_setting_;
0x00402974 move t9, t8 | t9 = t8;
0x00402978 jalr t9 | t9 ();
0x0040297c nop |
0x00402980 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402984 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402988 lbu t8, (t8) | t8 = *(t8);
| if (t8 == 0) {
0x0040298c bnez t8, 0x4029a0 |
0x00402990 nop |
0x00402994 lw s0, 0x30(fp) | s0 = *(arg_30h);
0x00402998 b 0x402e40 | goto label_0;
0x0040299c nop |
| }
0x004029a0 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x004029a4 move a0, t8 | a0 = t8;
0x004029a8 lw t8, -0x7fd0(gp) | t8 = *(gp);
0x004029ac move t9, t8 | t9 = t8;
0x004029b0 jalr t9 | t9 ();
0x004029b4 nop |
0x004029b8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004029bc addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x004029c0 move a0, t8 | a0 = t8;
0x004029c4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'PTZ' */
0x004029c8 addiu a1, t8, -0x6a38 | a1 = t8 + -0x6a38;
0x004029cc lw t8, -0x7ec0(gp) | t8 = *(gp);
0x004029d0 move t9, t8 | t9 = t8;
0x004029d4 jalr t9 | t9 ();
0x004029d8 nop |
0x004029dc lw gp, 0x18(fp) | gp = *(arg_18h);
0x004029e0 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x004029e4 move a0, t8 | a0 = t8;
0x004029e8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.InPrivacy */
0x004029ec addiu a1, t8, -0x6a34 | a1 = t8 + -0x6a34;
0x004029f0 lw t8, -0x7ef0(gp) | t8 = *(gp);
0x004029f4 move t9, t8 | t9 = t8;
0x004029f8 jalr t9 | t9 ();
0x004029fc nop |
0x00402a00 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402a04 move t8, v0 | t8 = v0;
0x00402a08 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00402a0c andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402a10 beqz t8, 0x402a28 |
0x00402a14 nop |
0x00402a18 lw s0, 0x30(fp) | s0 = *(arg_30h);
0x00402a1c move s1, zero | s1 = 0;
0x00402a20 b 0x402e10 | goto label_1;
0x00402a24 nop |
| }
0x00402a28 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x00402a2c addiu a1, zero, 4 | a1 = 4;
0x00402a30 lw t8, -0x7fc8(gp) | t8 = *(gp);
0x00402a34 move t9, t8 | t9 = t8;
0x00402a38 jalr t9 | t9 ();
0x00402a3c nop |
0x00402a40 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402a44 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00402a48 beqz t8, 0x402ad4 |
0x00402a4c nop |
0x00402a50 lbu t8, 0x24(fp) | t8 = *(arg_24h);
| if (t8 != 0) {
0x00402a54 beqz t8, 0x402ac8 |
0x00402a58 nop |
0x00402a5c addiu t8, zero, 0x1d | t8 = 0x1d;
0x00402a60 sw t8, 0x50(fp) | *(arg_50h) = t8;
0x00402a64 addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00402a68 addiu t8, fp, 0x50 | t8 = fp + 0x50;
0x00402a6c addiu v1, fp, 0x7c | v1 = fp + 0x7c;
0x00402a70 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00402a74 addiu v1, zero, 0x8c | v1 = 0x8c;
0x00402a78 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00402a7c move a0, v0 | a0 = v0;
0x00402a80 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._var_tmp_ptd */
0x00402a84 addiu a1, v0, -0x6a1c | a1 = v0 + -0x6a1c;
0x00402a88 move a2, t8 | a2 = t8;
0x00402a8c addiu a3, zero, 0x2c | a3 = 0x2c;
0x00402a90 lw t8, -0x7ed8(gp) | t8 = *(gp);
0x00402a94 move t9, t8 | t9 = t8;
0x00402a98 jalr t9 | t9 ();
0x00402a9c nop |
0x00402aa0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402aa4 move t8, v0 | t8 = v0;
0x00402aa8 nor t8, zero, t8 | __asm ("nor t8, zero, t8");
0x00402aac srl t8, t8, 0x1f | t8 >>= 0x1f;
0x00402ab0 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 == 0) {
0x00402ab4 beqz t8, 0x402ad8 | goto label_2;
| }
0x00402ab8 nop |
0x00402abc sw zero, 0x30(fp) | *(arg_30h) = 0;
0x00402ac0 b 0x402ad8 | goto label_2;
0x00402ac4 nop |
| }
0x00402ac8 sw zero, 0x30(fp) | *(arg_30h) = 0;
0x00402acc b 0x402ad8 | goto label_2;
0x00402ad0 nop |
| }
0x00402ad4 sw zero, 0x30(fp) | *(arg_30h) = 0;
| label_2:
0x00402ad8 lw t8, 0x30(fp) | t8 = *(arg_30h);
| if (t8 == 0) {
0x00402adc bnez t8, 0x402b7c |
0x00402ae0 nop |
0x00402ae4 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x00402ae8 move a0, t8 | a0 = t8;
0x00402aec lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'PTZ' */
0x00402af0 addiu a1, t8, -0x6a38 | a1 = t8 + -0x6a38;
0x00402af4 lw t8, -0x7ec0(gp) | t8 = *(gp);
0x00402af8 move t9, t8 | t9 = t8;
0x00402afc jalr t9 | t9 ();
0x00402b00 nop |
0x00402b04 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402b08 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x00402b0c move a0, t8 | a0 = t8;
0x00402b10 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.InPrivacy */
0x00402b14 addiu a1, t8, -0x6a34 | a1 = t8 + -0x6a34;
0x00402b18 move a2, zero | a2 = 0;
0x00402b1c lw t8, -0x7f04(gp) | t8 = *(gp);
0x00402b20 move t9, t8 | t9 = t8;
0x00402b24 jalr t9 | t9 ();
0x00402b28 nop |
0x00402b2c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402b30 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402b34 lbu v0, 2(t8) | v0 = *((t8 + 2));
0x00402b38 addiu t8, zero, 1 | t8 = 1;
| if (v0 != t8) {
0x00402b3c beq v0, t8, 0x402b54 |
0x00402b40 nop |
0x00402b44 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402b48 lbu t8, 2(t8) | t8 = *((t8 + 2));
| if (t8 != 0) {
0x00402b4c bnez t8, 0x402b7c | goto label_3;
| }
0x00402b50 nop |
| }
0x00402b54 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x00402b58 move a0, t8 | a0 = t8;
0x00402b5c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.PrivacyMode */
0x00402b60 addiu a1, t8, -0x69fc | a1 = t8 + -0x69fc;
0x00402b64 move a2, zero | a2 = 0;
0x00402b68 lw t8, -0x7f04(gp) | t8 = *(gp);
0x00402b6c move t9, t8 | t9 = t8;
0x00402b70 jalr t9 | t9 ();
0x00402b74 nop |
0x00402b78 lw gp, 0x18(fp) | gp = *(arg_18h);
| }
| label_3:
0x00402b7c addiu t8, zero, 0x28e | t8 = 0x28e;
0x00402b80 sw t8, 0x50(fp) | *(arg_50h) = t8;
0x00402b84 addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00402b88 addiu t8, fp, 0x50 | t8 = fp + 0x50;
0x00402b8c addiu v1, fp, 0x7c | v1 = fp + 0x7c;
0x00402b90 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00402b94 addiu v1, zero, 0x8c | v1 = 0x8c;
0x00402b98 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00402b9c move a0, v0 | a0 = v0;
0x00402ba0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._var_tmp_avcd */
0x00402ba4 addiu a1, v0, -0x698c | a1 = v0 + -0x698c;
0x00402ba8 move a2, t8 | a2 = t8;
0x00402bac addiu a3, zero, 0x2c | a3 = 0x2c;
0x00402bb0 lw t8, -0x7ed8(gp) | t8 = *(gp);
0x00402bb4 move t9, t8 | t9 = t8;
0x00402bb8 jalr t9 | t9 ();
0x00402bbc nop |
0x00402bc0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402bc4 move t8, v0 | t8 = v0;
0x00402bc8 srl t8, t8, 0x1f | t8 >>= 0x1f;
0x00402bcc andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402bd0 beqz t8, 0x402bf4 |
0x00402bd4 nop |
0x00402bd8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.send_IPC_to_avcd_fail_ */
0x00402bdc addiu a0, t8, -0x697c | a0 = t8 + -0x697c;
0x00402be0 lw t8, -0x7f50(gp) | t8 = sym.imp.puts;
0x00402be4 move t9, t8 | t9 = t8;
0x00402be8 jalr t9 | t9 ();
0x00402bec nop |
0x00402bf0 lw gp, 0x18(fp) | gp = *(arg_18h);
| }
0x00402bf4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.setupAudio__im_0 */
0x00402bf8 addiu a0, t8, -0x6920 | a0 = t8 + -0x6920;
0x00402bfc lw t8, -0x7ea0(gp) | t8 = sym.imp.system
0x00402c00 move t9, t8 | t9 = t8;
0x00402c04 jalr t9 | t9 ();
0x00402c08 nop |
0x00402c0c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402c10 lw t8, -0x7fc4(gp) | t8 = sym.send_reload_event__;
0x00402c14 move t9, t8 | t9 = t8;
0x00402c18 jalr t9 | t9 ();
0x00402c1c nop |
0x00402c20 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402c24 addiu t8, zero, 0x3ed | t8 = 0x3ed;
0x00402c28 sw t8, 0x44(fp) | *(arg_44h) = t8;
0x00402c2c addiu t8, zero, 1 | t8 = 1;
0x00402c30 sw t8, 0x48(fp) | *(arg_48h) = t8;
0x00402c34 sw zero, 0x4c(fp) | *(arg_4ch) = 0;
0x00402c38 addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00402c3c addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x00402c40 addiu v1, fp, 0x7c | v1 = fp + 0x7c;
0x00402c44 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00402c48 addiu v1, zero, 0x8c | v1 = 0x8c;
0x00402c4c sw v1, 0x14(sp) | *(var_14h) = v1;
0x00402c50 move a0, v0 | a0 = v0;
0x00402c54 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._var_tmp_watchdog */
0x00402c58 addiu a1, v0, -0x6950 | a1 = v0 + -0x6950;
0x00402c5c move a2, t8 | a2 = t8;
0x00402c60 addiu a3, zero, 0xc | a3 = 0xc;
0x00402c64 lw t8, -0x7ed8(gp) | t8 = *(gp);
0x00402c68 move t9, t8 | t9 = t8;
0x00402c6c jalr t9 | t9 ();
0x00402c70 nop |
0x00402c74 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402c78 move t8, v0 | t8 = v0;
0x00402c7c srl t8, t8, 0x1f | t8 >>= 0x1f;
0x00402c80 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402c84 beqz t8, 0x402cb0 |
0x00402c88 nop |
0x00402c8c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.send_IPC_to_watchdog_fail_ */
0x00402c90 addiu a0, t8, -0x693c | a0 = t8 + -0x693c;
0x00402c94 lw t8, -0x7f50(gp) | t8 = sym.imp.puts;
0x00402c98 move t9, t8 | t9 = t8;
0x00402c9c jalr t9 | t9 ();
0x00402ca0 nop |
0x00402ca4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402ca8 b 0x402cb4 | goto label_4;
0x00402cac nop |
| }
0x00402cb0 sw zero, 0x30(fp) | *(arg_30h) = 0;
| label_4:
0x00402cb4 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402cb8 move a0, t8 | a0 = t8;
0x00402cbc addiu a1, zero, 0x10 | a1 = 0x10;
0x00402cc0 lw t8, -0x7f48(gp) | t8 = *(gp);
0x00402cc4 move t9, t8 | t9 = t8;
0x00402cc8 jalr t9 | t9 ();
0x00402ccc nop |
0x00402cd0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402cd4 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402cd8 move a0, t8 | a0 = t8;
0x00402cdc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._rm__f__tmp_privacy_lock___ */
0x00402ce0 addiu a1, t8, -0x690c | a1 = t8 + -0x690c;
0x00402ce4 lw t8, -0x7ed4(gp) | t8 = *(gp);
0x00402ce8 move t9, t8 | t9 = t8;
0x00402cec jalr t9 | t9 ();
0x00402cf0 nop |
0x00402cf4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402cf8 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402cfc move a0, t8 | a0 = t8;
0x00402d00 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.send_cmd_watchdog_688 */
0x00402d04 addiu a1, t8, -0x68f0 | a1 = t8 + -0x68f0;
0x00402d08 lw t8, -0x7ed4(gp) | t8 = *(gp);
0x00402d0c move t9, t8 | t9 = t8;
0x00402d10 jalr t9 | t9 ();
0x00402d14 nop |
0x00402d18 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d1c addiu v0, fp, 0x28 | v0 = fp + 0x28;
0x00402d20 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402d24 move a0, v0 | a0 = v0;
0x00402d28 move a1, t8 | a1 = t8;
0x00402d2c lw t8, -0x7ebc(gp) | t8 = *(gp);
0x00402d30 move t9, t8 | t9 = t8;
0x00402d34 jalr t9 | t9 ();
0x00402d38 nop |
0x00402d3c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d40 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402d44 move a0, t8 | a0 = t8;
0x00402d48 lw t8, -0x7ea4(gp) | t8 = *(gp);
0x00402d4c move t9, t8 | t9 = t8;
0x00402d50 jalr t9 | t9 ();
0x00402d54 nop |
0x00402d58 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d5c move t8, v0 | t8 = v0;
0x00402d60 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x00402d64 move a0, v0 | a0 = v0;
0x00402d68 move a1, t8 | a1 = t8;
0x00402d6c lw t8, -0x7ef8(gp) | t8 = sym.imp.strongEncode_char_const_;
0x00402d70 move t9, t8 | t9 = t8;
0x00402d74 jalr t9 | t9 ();
0x00402d78 nop |
0x00402d7c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d80 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00402d84 move a0, t8 | a0 = t8;
0x00402d88 lw t8, -0x7ea4(gp) | t8 = *(gp);
0x00402d8c move t9, t8 | t9 = t8;
0x00402d90 jalr t9 | t9 ();
0x00402d94 nop |
0x00402d98 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d9c move t8, v0 | t8 = v0;
0x00402da0 move a0, t8 | a0 = t8;
0x00402da4 lw t8, -0x7ea0(gp) | t8 = sym.imp.system
0x00402da8 move t9, t8 | t9 = t8;
0x00402dac jalr t9 | t9 ();
0x00402db0 nop |
0x00402db4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402db8 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00402dbc move a0, t8 | a0 = t8;
0x00402dc0 lw t8, -0x7edc(gp) | t8 = *((gp - 8119));
0x00402dc4 move t9, t8 | t9 = t8;
0x00402dc8 jalr t9 | t9 ();
0x00402dcc nop |
0x00402dd0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402dd4 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402dd8 move a0, t8 | a0 = t8;
0x00402ddc lw t8, -0x7edc(gp) | t8 = *((gp - 8119));
0x00402de0 move t9, t8 | t9 = t8;
0x00402de4 jalr t9 | t9 ();
0x00402de8 nop |
0x00402dec lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402df0 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402df4 move a0, t8 | a0 = t8;
0x00402df8 lw t8, -0x7f1c(gp) | t8 = *(gp);
0x00402dfc move t9, t8 | t9 = t8;
0x00402e00 jalr t9 | t9 ();
0x00402e04 nop |
0x00402e08 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402e0c addiu s1, zero, 1 | s1 = 1;
| label_1:
0x00402e10 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x00402e14 move a0, t8 | a0 = t8;
0x00402e18 lw t8, -0x7f18(gp) | t8 = sym.imp.TinyDB::TinyDB__;
0x00402e1c move t9, t8 | t9 = t8;
0x00402e20 jalr t9 | t9 ();
0x00402e24 nop |
0x00402e28 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402e2c addiu t8, zero, 1 | t8 = 1;
| if (s1 == t8) {
0x00402e30 bne s1, t8, 0x402e40 |
0x00402e34 nop |
0x00402e38 nop |
0x00402e3c lw s0, 0x30(fp) | s0 = *(arg_30h);
| }
| label_0:
0x00402e40 addiu t8, fp, 0x38 | t8 = fp + 0x38;
0x00402e44 move a0, t8 | a0 = t8;
0x00402e48 lw t8, -0x7fc0(gp) | t8 = *(gp);
0x00402e4c move t9, t8 | t9 = t8;
0x00402e50 jalr t9 | t9 ();
0x00402e54 nop |
0x00402e58 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402e5c move t8, s0 | t8 = s0;
0x00402e60 move v0, t8 | v0 = t8;
0x00402e64 lw t8, -0x7e9c(gp) | t8 = *((gp - 8103));
0x00402e68 lw v1, 0x11d4(fp) | v1 = *(arg_11d4h);
0x00402e6c lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00402e70 beq v1, t8, 0x403074 |
0x00402e74 nop |
0x00402e78 b 0x403064 | goto label_5;
0x00402e7c nop |
| label_5:
0x00403064 lw t8, -0x7ef4(gp) | t8 = sym.imp.__stack_chk_fail;
0x00403068 move t9, t8 | t9 = t8;
0x0040306c jalr t9 | t9 ();
0x00403070 nop |
| }
0x00403074 move sp, fp |
0x00403078 lw ra, 0x11e4(sp) | ra = *(var_11e4h);
0x0040307c lw fp, 0x11e0(sp) | fp = *(var_11e0h);
0x00403080 lw s1, 0x11dc(sp) | s1 = *(var_11dch);
0x00403084 lw s0, 0x11d8(sp) | s0 = *(var_11d8h);
0x00403088 addiu sp, sp, 0x11e8 |
0x0040308c jr ra | return v1;
0x00403090 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/pt_privacy @ 0x401f94 */
| #include <stdint.h>
|
; (fcn) sym.privacy_on_bool_ () | void privacy_on_bool_ () {
| /* privacy_on(bool) */
0x00401f94 lui gp, 2 |
0x00401f98 addiu gp, gp, 0x108c |
0x00401f9c addu gp, gp, t9 | gp += t9;
0x00401fa0 addiu sp, sp, -0x11e8 |
0x00401fa4 sw ra, 0x11e4(sp) | *(var_11e4h) = ra;
0x00401fa8 sw fp, 0x11e0(sp) | *(var_11e0h) = fp;
0x00401fac sw s1, 0x11dc(sp) | *(var_11dch) = s1;
0x00401fb0 sw s0, 0x11d8(sp) | *(var_11d8h) = s0;
0x00401fb4 move fp, sp | fp = sp;
0x00401fb8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00401fbc move t8, a0 | t8 = a0;
0x00401fc0 sb t8, 0x24(fp) | *(arg_24h) = t8;
0x00401fc4 lw t8, -0x7e9c(gp) | t8 = *((gp - 8103));
0x00401fc8 lw t8, (t8) | t8 = *(t8);
0x00401fcc sw t8, 0x11d4(fp) | *(arg_11d4h) = t8;
0x00401fd0 addiu t8, zero, -1 | t8 = -1;
0x00401fd4 sw t8, 0x30(fp) | *(arg_30h) = t8;
0x00401fd8 addiu t8, fp, 0x38 | t8 = fp + 0x38;
0x00401fdc move a0, t8 | a0 = t8;
0x00401fe0 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00401fe4 move t9, t8 | t9 = t8;
0x00401fe8 jalr t9 | t9 ();
0x00401fec nop |
0x00401ff0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00401ff4 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00401ff8 lw t8, -0x7eec(gp) | t8 = sym.imp.cam_get_privacy__privacy_setting_;
0x00401ffc move t9, t8 | t9 = t8;
0x00402000 jalr t9 | t9 ();
0x00402004 nop |
0x00402008 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040200c lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402010 lbu t8, (t8) | t8 = *(t8);
| if (t8 != 0) {
0x00402014 beqz t8, 0x40202c |
0x00402018 nop |
0x0040201c lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402020 lbu t8, 1(t8) | t8 = *((t8 + 1));
| if (t8 != 0) {
0x00402024 bnez t8, 0x402038 | goto label_0;
| }
0x00402028 nop |
| }
0x0040202c lw s0, 0x30(fp) | s0 = *(arg_30h);
0x00402030 b 0x402584 | goto label_1;
0x00402034 nop |
| label_0:
0x00402038 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x0040203c move a0, t8 | a0 = t8;
0x00402040 lw t8, -0x7fd0(gp) | t8 = *(gp);
0x00402044 move t9, t8 | t9 = t8;
0x00402048 jalr t9 | t9 ();
0x0040204c nop |
0x00402050 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402054 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x00402058 move a0, t8 | a0 = t8;
0x0040205c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'PTZ' */
0x00402060 addiu a1, t8, -0x6a38 | a1 = t8 + -0x6a38;
0x00402064 lw t8, -0x7ec0(gp) | t8 = *(gp);
0x00402068 move t9, t8 | t9 = t8;
0x0040206c jalr t9 | t9 ();
0x00402070 nop |
0x00402074 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402078 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x0040207c move a0, t8 | a0 = t8;
0x00402080 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.InPrivacy */
0x00402084 addiu a1, t8, -0x6a34 | a1 = t8 + -0x6a34;
0x00402088 lw t8, -0x7ef0(gp) | t8 = *(gp);
0x0040208c move t9, t8 | t9 = t8;
0x00402090 jalr t9 | t9 ();
0x00402094 nop |
0x00402098 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040209c move t8, v0 | t8 = v0;
0x004020a0 xori t8, t8, 1 | t8 ^= 1;
0x004020a4 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x004020a8 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x004020ac beqz t8, 0x4020c4 |
0x004020b0 nop |
0x004020b4 lw s0, 0x30(fp) | s0 = *(arg_30h);
0x004020b8 move s1, zero | s1 = 0;
0x004020bc b 0x402554 | goto label_2;
0x004020c0 nop |
| }
0x004020c4 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x004020c8 addiu a1, zero, 4 | a1 = 4;
0x004020cc lw t8, -0x7fc8(gp) | t8 = *(gp);
0x004020d0 move t9, t8 | t9 = t8;
0x004020d4 jalr t9 | t9 ();
0x004020d8 nop |
0x004020dc lw gp, 0x18(fp) | gp = *(arg_18h);
0x004020e0 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x004020e4 beqz t8, 0x4021c4 |
0x004020e8 nop |
0x004020ec lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.go_pt_on_ */
0x004020f0 addiu a0, t8, -0x6a28 | a0 = t8 + -0x6a28;
0x004020f4 lw t8, -0x7f50(gp) | t8 = sym.imp.puts;
0x004020f8 move t9, t8 | t9 = t8;
0x004020fc jalr t9 | t9 ();
0x00402100 nop |
0x00402104 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402108 lbu t8, 0x24(fp) | t8 = *(arg_24h);
| if (t8 != 0) {
0x0040210c beqz t8, 0x4021b8 |
0x00402110 nop |
0x00402114 addiu t8, zero, 0x2d | t8 = 0x2d;
0x00402118 sw t8, 0x50(fp) | *(arg_50h) = t8;
0x0040211c addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00402120 addiu t8, fp, 0x50 | t8 = fp + 0x50;
0x00402124 addiu v1, fp, 0x7c | v1 = fp + 0x7c;
0x00402128 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0040212c addiu v1, zero, 0x8c | v1 = 0x8c;
0x00402130 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00402134 move a0, v0 | a0 = v0;
0x00402138 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._var_tmp_ptd */
0x0040213c addiu a1, v0, -0x6a1c | a1 = v0 + -0x6a1c;
0x00402140 move a2, t8 | a2 = t8;
0x00402144 addiu a3, zero, 0x2c | a3 = 0x2c;
0x00402148 lw t8, -0x7ed8(gp) | t8 = *(gp);
0x0040214c move t9, t8 | t9 = t8;
0x00402150 jalr t9 | t9 ();
0x00402154 nop |
0x00402158 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040215c move t8, v0 | t8 = v0;
0x00402160 srl t8, t8, 0x1f | t8 >>= 0x1f;
0x00402164 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402168 beqz t8, 0x402194 |
0x0040216c nop |
0x00402170 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.send_IPC_fail_ */
0x00402174 addiu a0, t8, -0x6a0c | a0 = t8 + -0x6a0c;
0x00402178 lw t8, -0x7f50(gp) | t8 = sym.imp.puts;
0x0040217c move t9, t8 | t9 = t8;
0x00402180 jalr t9 | t9 ();
0x00402184 nop |
0x00402188 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040218c b 0x402198 | goto label_3;
0x00402190 nop |
| }
0x00402194 sw zero, 0x30(fp) | *(arg_30h) = 0;
| label_3:
0x00402198 addiu a0, zero, 1 | a0 = 1;
0x0040219c lw t8, -0x7ea8(gp) | t8 = sym.imp.sleep;
0x004021a0 move t9, t8 | t9 = t8;
0x004021a4 jalr t9 | t9 ();
0x004021a8 nop |
0x004021ac lw gp, 0x18(fp) | gp = *(arg_18h);
0x004021b0 b 0x4021c8 | goto label_4;
0x004021b4 nop |
| }
0x004021b8 sw zero, 0x30(fp) | *(arg_30h) = 0;
0x004021bc b 0x4021c8 | goto label_4;
0x004021c0 nop |
| }
0x004021c4 sw zero, 0x30(fp) | *(arg_30h) = 0;
| label_4:
0x004021c8 lw t8, 0x30(fp) | t8 = *(arg_30h);
| if (t8 == 0) {
0x004021cc bnez t8, 0x40226c |
0x004021d0 nop |
0x004021d4 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x004021d8 move a0, t8 | a0 = t8;
0x004021dc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'PTZ' */
0x004021e0 addiu a1, t8, -0x6a38 | a1 = t8 + -0x6a38;
0x004021e4 lw t8, -0x7ec0(gp) | t8 = *(gp);
0x004021e8 move t9, t8 | t9 = t8;
0x004021ec jalr t9 | t9 ();
0x004021f0 nop |
0x004021f4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004021f8 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x004021fc move a0, t8 | a0 = t8;
0x00402200 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.InPrivacy */
0x00402204 addiu a1, t8, -0x6a34 | a1 = t8 + -0x6a34;
0x00402208 addiu a2, zero, 1 | a2 = 1;
0x0040220c lw t8, -0x7f04(gp) | t8 = *(gp);
0x00402210 move t9, t8 | t9 = t8;
0x00402214 jalr t9 | t9 ();
0x00402218 nop |
0x0040221c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402220 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402224 lbu v0, 2(t8) | v0 = *((t8 + 2));
0x00402228 addiu t8, zero, 1 | t8 = 1;
| if (v0 != t8) {
0x0040222c beq v0, t8, 0x402244 |
0x00402230 nop |
0x00402234 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402238 lbu t8, 2(t8) | t8 = *((t8 + 2));
| if (t8 != 0) {
0x0040223c bnez t8, 0x40226c | goto label_5;
| }
0x00402240 nop |
| }
0x00402244 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x00402248 move a0, t8 | a0 = t8;
0x0040224c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.PrivacyMode */
0x00402250 addiu a1, t8, -0x69fc | a1 = t8 + -0x69fc;
0x00402254 addiu a2, zero, 1 | a2 = 1;
0x00402258 lw t8, -0x7f04(gp) | t8 = *(gp);
0x0040225c move t9, t8 | t9 = t8;
0x00402260 jalr t9 | t9 ();
0x00402264 nop |
0x00402268 lw gp, 0x18(fp) | gp = *(arg_18h);
| }
| label_5:
0x0040226c addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402270 move a0, t8 | a0 = t8;
0x00402274 addiu a1, zero, 0x10 | a1 = 0x10;
0x00402278 lw t8, -0x7f48(gp) | t8 = *(gp);
0x0040227c move t9, t8 | t9 = t8;
0x00402280 jalr t9 | t9 ();
0x00402284 nop |
0x00402288 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040228c addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402290 move a0, t8 | a0 = t8;
0x00402294 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._send_cmd_watchdog_687___ */
0x00402298 addiu a1, t8, -0x69f0 | a1 = t8 + -0x69f0;
0x0040229c lw t8, -0x7ed4(gp) | t8 = *(gp);
0x004022a0 move t9, t8 | t9 = t8;
0x004022a4 jalr t9 | t9 ();
0x004022a8 nop |
0x004022ac lw gp, 0x18(fp) | gp = *(arg_18h);
0x004022b0 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x004022b4 move a0, t8 | a0 = t8;
0x004022b8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._touch__tmp_privacy_lock___ */
0x004022bc addiu a1, t8, -0x69d4 | a1 = t8 + -0x69d4;
0x004022c0 lw t8, -0x7ed4(gp) | t8 = *(gp);
0x004022c4 move t9, t8 | t9 = t8;
0x004022c8 jalr t9 | t9 ();
0x004022cc nop |
0x004022d0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004022d4 addiu v0, fp, 0x28 | v0 = fp + 0x28;
0x004022d8 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x004022dc move a0, v0 | a0 = v0;
0x004022e0 move a1, t8 | a1 = t8;
0x004022e4 lw t8, -0x7ebc(gp) | t8 = *(gp);
0x004022e8 move t9, t8 | t9 = t8;
0x004022ec jalr t9 | t9 ();
0x004022f0 nop |
0x004022f4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004022f8 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x004022fc move a0, t8 | a0 = t8;
0x00402300 lw t8, -0x7ea4(gp) | t8 = *(gp);
0x00402304 move t9, t8 | t9 = t8;
0x00402308 jalr t9 | t9 ();
0x0040230c nop |
0x00402310 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402314 move t8, v0 | t8 = v0;
0x00402318 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x0040231c move a0, v0 | a0 = v0;
0x00402320 move a1, t8 | a1 = t8;
0x00402324 lw t8, -0x7ef8(gp) | t8 = sym.imp.strongEncode_char_const_;
0x00402328 move t9, t8 | t9 = t8;
0x0040232c jalr t9 | t9 ();
0x00402330 nop |
0x00402334 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402338 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x0040233c move a0, t8 | a0 = t8;
0x00402340 lw t8, -0x7ea4(gp) | t8 = *(gp);
0x00402344 move t9, t8 | t9 = t8;
0x00402348 jalr t9 | t9 ();
0x0040234c nop |
0x00402350 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402354 move t8, v0 | t8 = v0;
0x00402358 move a0, t8 | a0 = t8;
0x0040235c lw t8, -0x7ea0(gp) | t8 = sym.imp.system
0x00402360 move t9, t8 | t9 = t8;
0x00402364 jalr t9 | t9 ();
0x00402368 nop |
0x0040236c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402370 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00402374 move a0, t8 | a0 = t8;
0x00402378 lw t8, -0x7edc(gp) | t8 = *((gp - 8119));
0x0040237c move t9, t8 | t9 = t8;
0x00402380 jalr t9 | t9 ();
0x00402384 nop |
0x00402388 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040238c addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402390 move a0, t8 | a0 = t8;
0x00402394 lw t8, -0x7edc(gp) | t8 = *((gp - 8119));
0x00402398 move t9, t8 | t9 = t8;
0x0040239c jalr t9 | t9 ();
0x004023a0 nop |
0x004023a4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004023a8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.killall__9_stream_proxy */
0x004023ac addiu a0, t8, -0x69b8 | a0 = t8 + -0x69b8;
0x004023b0 lw t8, -0x7ea0(gp) | t8 = sym.imp.system
0x004023b4 move t9, t8 | t9 = t8;
0x004023b8 jalr t9 | t9 ();
0x004023bc nop |
0x004023c0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004023c4 addiu a0, zero, 1 | a0 = 1;
0x004023c8 lw t8, -0x7ea8(gp) | t8 = sym.imp.sleep;
0x004023cc move t9, t8 | t9 = t8;
0x004023d0 jalr t9 | t9 ();
0x004023d4 nop |
0x004023d8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004023dc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._bin_stream_proxy_ */
0x004023e0 addiu a0, t8, -0x69a0 | a0 = t8 + -0x69a0;
0x004023e4 lw t8, -0x7ea0(gp) | t8 = sym.imp.system
0x004023e8 move t9, t8 | t9 = t8;
0x004023ec jalr t9 | t9 ();
0x004023f0 nop |
0x004023f4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004023f8 addiu t8, zero, 0x28d | t8 = 0x28d;
0x004023fc sw t8, 0x50(fp) | *(arg_50h) = t8;
0x00402400 addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x00402404 addiu t8, fp, 0x50 | t8 = fp + 0x50;
0x00402408 addiu v1, fp, 0x7c | v1 = fp + 0x7c;
0x0040240c sw v1, 0x10(sp) | *(var_10h) = v1;
0x00402410 addiu v1, zero, 0x8c | v1 = 0x8c;
0x00402414 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00402418 move a0, v0 | a0 = v0;
0x0040241c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._var_tmp_avcd */
0x00402420 addiu a1, v0, -0x698c | a1 = v0 + -0x698c;
0x00402424 move a2, t8 | a2 = t8;
0x00402428 addiu a3, zero, 0x2c | a3 = 0x2c;
0x0040242c lw t8, -0x7ed8(gp) | t8 = *(gp);
0x00402430 move t9, t8 | t9 = t8;
0x00402434 jalr t9 | t9 ();
0x00402438 nop |
0x0040243c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402440 move t8, v0 | t8 = v0;
0x00402444 srl t8, t8, 0x1f | t8 >>= 0x1f;
0x00402448 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x0040244c beqz t8, 0x402470 |
0x00402450 nop |
0x00402454 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.send_IPC_to_avcd_fail_ */
0x00402458 addiu a0, t8, -0x697c | a0 = t8 + -0x697c;
0x0040245c lw t8, -0x7f50(gp) | t8 = sym.imp.puts;
0x00402460 move t9, t8 | t9 = t8;
0x00402464 jalr t9 | t9 ();
0x00402468 nop |
0x0040246c lw gp, 0x18(fp) | gp = *(arg_18h);
| }
0x00402470 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.setupAudio__im_1 */
0x00402474 addiu a0, t8, -0x6964 | a0 = t8 + -0x6964;
0x00402478 lw t8, -0x7ea0(gp) | t8 = sym.imp.system
0x0040247c move t9, t8 | t9 = t8;
0x00402480 jalr t9 | t9 ();
0x00402484 nop |
0x00402488 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040248c lw t8, -0x7fc4(gp) | t8 = sym.send_reload_event__;
0x00402490 move t9, t8 | t9 = t8;
0x00402494 jalr t9 | t9 ();
0x00402498 nop |
0x0040249c lw gp, 0x18(fp) | gp = *(arg_18h);
0x004024a0 addiu t8, zero, 0x3ed | t8 = 0x3ed;
0x004024a4 sw t8, 0x44(fp) | *(arg_44h) = t8;
0x004024a8 addiu t8, zero, 1 | t8 = 1;
0x004024ac sw t8, 0x48(fp) | *(arg_48h) = t8;
0x004024b0 addiu t8, zero, 1 | t8 = 1;
0x004024b4 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x004024b8 addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x004024bc addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x004024c0 addiu v1, fp, 0x7c | v1 = fp + 0x7c;
0x004024c4 sw v1, 0x10(sp) | *(var_10h) = v1;
0x004024c8 addiu v1, zero, 0x8c | v1 = 0x8c;
0x004024cc sw v1, 0x14(sp) | *(var_14h) = v1;
0x004024d0 move a0, v0 | a0 = v0;
0x004024d4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._var_tmp_watchdog */
0x004024d8 addiu a1, v0, -0x6950 | a1 = v0 + -0x6950;
0x004024dc move a2, t8 | a2 = t8;
0x004024e0 addiu a3, zero, 0xc | a3 = 0xc;
0x004024e4 lw t8, -0x7ed8(gp) | t8 = *(gp);
0x004024e8 move t9, t8 | t9 = t8;
0x004024ec jalr t9 | t9 ();
0x004024f0 nop |
0x004024f4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004024f8 move t8, v0 | t8 = v0;
0x004024fc srl t8, t8, 0x1f | t8 >>= 0x1f;
0x00402500 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402504 beqz t8, 0x402530 |
0x00402508 nop |
0x0040250c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.send_IPC_to_watchdog_fail_ */
0x00402510 addiu a0, t8, -0x693c | a0 = t8 + -0x693c;
0x00402514 lw t8, -0x7f50(gp) | t8 = sym.imp.puts;
0x00402518 move t9, t8 | t9 = t8;
0x0040251c jalr t9 | t9 ();
0x00402520 nop |
0x00402524 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402528 b 0x402534 | goto label_6;
0x0040252c nop |
| }
0x00402530 sw zero, 0x30(fp) | *(arg_30h) = 0;
| label_6:
0x00402534 addiu t8, fp, 0x108 | t8 = fp + 0x108;
0x00402538 move a0, t8 | a0 = t8;
0x0040253c lw t8, -0x7f1c(gp) | t8 = *(gp);
0x00402540 move t9, t8 | t9 = t8;
0x00402544 jalr t9 | t9 ();
0x00402548 nop |
0x0040254c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402550 addiu s1, zero, 1 | s1 = 1;
| label_2:
0x00402554 addiu t8, fp, 0x1bc | t8 = fp + 0x1bc;
0x00402558 move a0, t8 | a0 = t8;
0x0040255c lw t8, -0x7f18(gp) | t8 = sym.imp.TinyDB::TinyDB__;
0x00402560 move t9, t8 | t9 = t8;
0x00402564 jalr t9 | t9 ();
0x00402568 nop |
0x0040256c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402570 addiu t8, zero, 1 | t8 = 1;
| if (s1 == t8) {
0x00402574 bne s1, t8, 0x402584 |
0x00402578 nop |
0x0040257c nop |
0x00402580 lw s0, 0x30(fp) | s0 = *(arg_30h);
| }
| label_1:
0x00402584 addiu t8, fp, 0x38 | t8 = fp + 0x38;
0x00402588 move a0, t8 | a0 = t8;
0x0040258c lw t8, -0x7fc0(gp) | t8 = *(gp);
0x00402590 move t9, t8 | t9 = t8;
0x00402594 jalr t9 | t9 ();
0x00402598 nop |
0x0040259c lw gp, 0x18(fp) | gp = *(arg_18h);
0x004025a0 move t8, s0 | t8 = s0;
0x004025a4 move v0, t8 | v0 = t8;
0x004025a8 lw t8, -0x7e9c(gp) | t8 = *((gp - 8103));
0x004025ac lw v1, 0x11d4(fp) | v1 = *(arg_11d4h);
0x004025b0 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x004025b4 beq v1, t8, 0x4027b8 |
0x004025b8 nop |
0x004025bc b 0x4027a8 | goto label_7;
0x004025c0 nop |
| label_7:
0x004027a8 lw t8, -0x7ef4(gp) | t8 = sym.imp.__stack_chk_fail;
0x004027ac move t9, t8 | t9 = t8;
0x004027b0 jalr t9 | t9 ();
0x004027b4 nop |
| }
0x004027b8 move sp, fp |
0x004027bc lw ra, 0x11e4(sp) | ra = *(var_11e4h);
0x004027c0 lw fp, 0x11e0(sp) | fp = *(var_11e0h);
0x004027c4 lw s1, 0x11dc(sp) | s1 = *(var_11dch);
0x004027c8 lw s0, 0x11d8(sp) | s0 = *(var_11d8h);
0x004027cc addiu sp, sp, 0x11e8 |
0x004027d0 jr ra | return v1;
0x004027d4 nop |
| }
[*] Function system used 7 times pt_privacy