[*] Binary protection state of com.axis.CaptureMode1
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of com.axis.CaptureMode1
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/com.axis.CaptureMode1 @ 0x8a00 */
| #include <stdint.h>
|
; (fcn) sym.get_friendly_name_from_resolution_conf () | void get_friendly_name_from_resolution_conf () {
0x00008a00 lui gp, 2 |
0x00008a04 addiu gp, gp, 0x1660 |
0x00008a08 addu gp, gp, t9 | gp += t9;
0x00008a0c addiu sp, sp, -0x60 |
0x00008a10 lw v0, (a0) | v0 = *(a0);
0x00008a14 sw s2, 0x50(sp) | *(var_50h) = s2;
0x00008a18 lw s2, -0x7d20(gp) | s2 = *((gp - 8008));
0x00008a1c sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00008a20 sw s4, 0x58(sp) | *(var_58h_3) = s4;
0x00008a24 lw v1, (s2) | v1 = *(s2);
0x00008a28 sw s0, 0x48(sp) | *(var_48h_4) = s0;
0x00008a2c sw ra, 0x5c(sp) | *(var_5ch_2) = ra;
0x00008a30 sw s3, 0x54(sp) | *(var_54h_3) = s3;
0x00008a34 sw s1, 0x4c(sp) | *(var_4ch_4) = s1;
0x00008a38 move s0, a0 | s0 = a0;
0x00008a3c move s4, a1 | s4 = a1;
0x00008a40 sw v1, 0x44(sp) | *(var_44h_3) = v1;
0x00008a44 sw zero, 0x2c(sp) | *(var_2ch_3) = 0;
| if (v0 == 0) {
0x00008a48 beqz v0, 0x8ac4 | goto label_2;
| }
0x00008a4c addiu s3, sp, 0x2c | s3 = sp + 0x2c;
| do {
0x00008a50 lw a2, -0x7fdc(gp) | a2 = sym.imp.g_variant_new_boolean;
0x00008a54 lw t9, -0x7cdc(gp) | t9 = sym.imp.g_snprintf
0x00008a58 addiu s1, sp, 0x30 | s1 = sp + 0x30;
0x00008a5c move a3, s4 | a3 = s4;
| /* str.ResolutionSet_d */
0x00008a60 addiu a2, a2, 0x1444 | a2 += 0x1444;
0x00008a64 addiu a1, zero, 0x14 | a1 = 0x14;
0x00008a68 move a0, s1 | a0 = s1;
0x00008a6c jalr t9 | t9 ();
0x00008a70 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008a74 lw a0, (s0) | a0 = *(s0);
0x00008a78 move a3, s3 | a3 = s3;
0x00008a7c lw a2, -0x7fdc(gp) | a2 = sym.imp.g_variant_new_boolean;
0x00008a80 lw t9, -0x7bac(gp) | t9 = sym.imp.g_key_file_get_string;
| /* str.Name */
0x00008a84 addiu a2, a2, 0x1454 | a2 += 0x1454;
0x00008a88 move a1, s1 | a1 = s1;
0x00008a8c jalr t9 | t9 ();
0x00008a90 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00008a94 beqz v0, 0x8b70 | goto label_3;
| }
| label_0:
0x00008a98 lw a0, 0x44(sp) | a0 = *(var_44h_3);
0x00008a9c lw v1, (s2) | v1 = *(s2);
0x00008aa0 lw ra, 0x5c(sp) | ra = *(var_5ch_2);
| if (a0 != v1) {
0x00008aa4 bne a0, v1, 0x8be0 | goto label_4;
| }
0x00008aa8 lw s4, 0x58(sp) | s4 = *(var_58h_3);
0x00008aac lw s3, 0x54(sp) | s3 = *(var_54h_3);
0x00008ab0 lw s2, 0x50(sp) | s2 = *(var_50h);
0x00008ab4 lw s1, 0x4c(sp) | s1 = *(var_4ch_4);
0x00008ab8 lw s0, 0x48(sp) | s0 = *(var_48h_4);
0x00008abc addiu sp, sp, 0x60 |
0x00008ac0 jr ra | return v0;
| label_2:
0x00008ac4 lw t9, -0x7bd8(gp) | t9 = sym.imp.g_key_file_new;
0x00008ac8 addiu s3, sp, 0x2c | s3 = sp + 0x2c;
0x00008acc jalr t9 | t9 ();
0x00008ad0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008ad4 sw v0, (s0) | *(s0) = v0;
0x00008ad8 move a3, s3 | a3 = s3;
0x00008adc lw a1, -0x7fdc(gp) | a1 = sym.imp.g_variant_new_boolean;
0x00008ae0 lw t9, -0x7d6c(gp) | t9 = sym.imp.g_key_file_load_from_file;
0x00008ae4 move a2, zero | a2 = 0;
| /* str._usr_share_resolutions_resolution.conf */
0x00008ae8 addiu a1, a1, 0x13e0 | a1 += 0x13e0;
0x00008aec move a0, v0 | a0 = v0;
0x00008af0 jalr t9 | t9 ();
0x00008af4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008af8 bnez v0, 0x8a50 |
| } while (v0 != 0);
0x00008afc lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
| if (v0 == 0) {
0x00008b00 beql v0, zero, 0x8bd8 | goto label_5;
| }
0x00008b04 lw v0, -0x7fdc(gp) | v0 = sym.imp.g_variant_new_boolean;
0x00008b08 lw v0, 8(v0) | v0 = *((v0 + 2));
| if (v0 == 0) {
0x00008b0c beql v0, zero, 0x8bd8 | goto label_5;
| }
0x00008b10 lw v0, -0x7fdc(gp) | v0 = sym.imp.g_variant_new_boolean;
| label_1:
0x00008b14 lw a3, -0x7fdc(gp) | a3 = sym.imp.g_variant_new_boolean;
0x00008b18 lw a2, -0x7fdc(gp) | a2 = sym.imp.g_variant_new_boolean;
0x00008b1c lw t9, -0x7e80(gp) | t9 = sym.imp.g_log;
0x00008b20 addiu a3, a3, 0xc60 | a3 += 0xc60;
| /* str._sFailed_to_load__usr_share_resolutions_resolution.conf:__s */
0x00008b24 addiu a2, a2, 0x1408 | a2 += 0x1408;
0x00008b28 addiu a1, zero, 0x100 | a1 = aav.0x00000100;
0x00008b2c sw v0, 0x10(sp) | *(var_10h_4) = v0;
0x00008b30 move a0, zero | a0 = 0;
0x00008b34 jalr t9 | t9 ();
0x00008b38 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008b3c lw t9, -0x7be0(gp) | t9 = sym.imp.g_clear_error;
0x00008b40 move a0, s3 | a0 = s3;
0x00008b44 jalr t9 | t9 ();
0x00008b48 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008b4c move v0, zero | v0 = 0;
0x00008b50 lw a0, (s0) | a0 = *(s0);
0x00008b54 lw t9, -0x7e08(gp) | t9 = sym.imp.g_key_file_free;
0x00008b58 sw v0, 0x24(sp) | *(var_24h_4) = v0;
0x00008b5c jalr t9 | t9 ();
0x00008b60 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008b64 sw zero, (s0) | *(s0) = 0;
0x00008b68 lw v0, 0x24(sp) | v0 = *(var_24h_4);
0x00008b6c b 0x8a98 | goto label_0;
| label_3:
0x00008b70 lw v1, 0x2c(sp) | v1 = *(var_2ch_3);
| if (v1 == 0) {
0x00008b74 beql v1, zero, 0x8bd0 | goto label_6;
| }
0x00008b78 lw v1, -0x7fdc(gp) | v1 = sym.imp.g_variant_new_boolean;
0x00008b7c lw v1, 8(v1) | v1 = *((v1 + 2));
| if (v1 == 0) {
0x00008b80 beql v1, zero, 0x8bd0 | goto label_6;
| }
0x00008b84 lw v1, -0x7fdc(gp) | v1 = sym.imp.g_variant_new_boolean;
| do {
0x00008b88 lw a3, -0x7fdc(gp) | a3 = sym.imp.g_variant_new_boolean;
0x00008b8c lw a2, -0x7fdc(gp) | a2 = sym.imp.g_variant_new_boolean;
0x00008b90 lw t9, -0x7e80(gp) | t9 = sym.imp.g_log;
0x00008b94 sw v0, 0x24(sp) | *(var_24h_4) = v0;
0x00008b98 addiu a3, a3, 0xc60 | a3 += 0xc60;
| /* str._sFailed_to_read__s.Name_:__s_ */
0x00008b9c addiu a2, a2, 0x145c | a2 += 0x145c;
0x00008ba0 addiu a1, zero, 0x100 | a1 = aav.0x00000100;
0x00008ba4 move a0, zero | a0 = 0;
0x00008ba8 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00008bac sw s1, 0x10(sp) | *(var_10h_4) = s1;
0x00008bb0 jalr t9 | t9 ();
0x00008bb4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008bb8 lw t9, -0x7be0(gp) | t9 = sym.imp.g_clear_error;
0x00008bbc move a0, s3 | a0 = s3;
0x00008bc0 jalr t9 | t9 ();
0x00008bc4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008bc8 lw v0, 0x24(sp) | v0 = *(var_24h_4);
0x00008bcc b 0x8a98 | goto label_0;
| /* str._NULL_ */
| label_6:
0x00008bd0 addiu v1, v1, 0x13d8 | v1 += 0x13d8;
0x00008bd4 b 0x8b88 |
| } while (1);
| /* str._NULL_ */
| label_5:
0x00008bd8 addiu v0, v0, 0x13d8 | v0 += 0x13d8;
0x00008bdc b 0x8b14 | goto label_1;
| label_4:
0x00008be0 lw t9, -0x7d70(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008be4 jalr t9 | t9 ();
0x00008be8 nop |
0x00008bec nop |
| }
[*] Function printf used 2 times com.axis.CaptureMode1