[*] Binary protection state of ubinize
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of ubinize
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/ubinize @ 0x3638 */
| #include <stdint.h>
|
; (fcn) fcn.00003638 () | void fcn_00003638 (int16_t arg1) {
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_14h;
| size_t var_18h;
| int16_t c;
| int16_t var_20h;
| int16_t var_24h;
| int16_t var_28h;
| int16_t var_2ch;
| int16_t var_1h_4;
| int16_t var_1h;
| char * src;
| int16_t var_438h;
| size_t n;
| int16_t var_850h;
| char * s;
| int16_t var_1040h;
| int16_t var_0h_3;
| int8_t var_1h_2;
| int8_t var_2h;
| int16_t var_1440h;
| int8_t var_1h_3;
| char * dest;
| int16_t var_1840h;
| int32_t var_0h_2;
| r0 = arg1;
0x00003638 ldr r2, [pc, 0x384] |
0x0000363a ldr r3, [pc, 0x388] | r3 = *(0x39c6);
0x0000363c push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00003640 sub.w sp, sp, 0x1840 |
0x00003644 sub sp, 0x14 |
0x00003646 add r2, pc | r2 = 0x700a;
0x00003648 add.w r4, sp, 0x1840 | r4 += var_1840h;
0x0000364c ldr r1, [pc, 0x378] |
0x0000364e adds r4, 0xc | r4 += 0xc;
0x00003650 str r0, [sp, 0x24] | var_24h = r0;
0x00003652 ldr r3, [r2, r3] |
0x00003654 add r1, pc | r1 = 0x7020;
0x00003656 ldr r3, [r3] | r3 = *(0x700a);
0x00003658 str r3, [r4] | *(r4) = r3;
0x0000365a mov.w r3, 0 | r3 = 0;
0x0000365e blx 0xd2c | fcn_00000d2c ();
0x00003662 ldr r3, [pc, 0x368] |
0x00003664 str r0, [sp, 0xc] | var_ch = r0;
0x00003666 add r3, pc | r3 = 0x7038;
0x00003668 str r3, [sp, 0x20] | var_20h = r3;
0x0000366a cmp r0, 0 |
| if (r0 == 0) {
0x0000366c beq.w 0x39a8 | goto label_8;
| }
0x00003670 movs r0, 0 | r0 = 0;
0x00003672 bl 0x3a3c | fcn_00003a3c (r0);
0x00003676 str r0, [sp, 0x14] | var_14h = r0;
0x00003678 cmp r0, 0 |
| if (r0 == 0) {
0x0000367a beq.w 0x390a | goto label_6;
| }
0x0000367e add r5, sp, 0x34 | r5 += src;
0x00003680 mov.w r2, 0x400 | r2 = 0x400;
0x00003684 movs r1, 0 | r1 = 0;
0x00003686 mov r0, r5 | r0 = r5;
0x00003688 blx 0xcb0 | putchar (r0);
0x0000368a adds.w r5, r2, sp, lsl 28 | r5 = r2 + (sp << 28);
0x0000368e str r5, [r0, 0x30] | *((r0 + 0x30)) = r5;
0x00003690 add.w r0, sp, 0x438 | r0 += var_438h;
0x00003692 str r7, [r0, 8] | *((r0 + 8)) = r7;
0x00003694 mov r4, r3 | r4 = r3;
0x00003696 mov.w r2, 0x400 | r2 = 0x400;
0x0000369a movs r1, 0 | r1 = 0;
0x0000369c sub.w r8, r4, 0x14 | r8 -= n;
0x000036a0 add.w r6, sp, 0x1040 | r6 += var_1040h;
0x000036a4 movs r4, 0 | r4 = 0;
0x000036a6 str r3, [sp, 8] | var_8h = r3;
0x000036a8 adds r6, 4 | r6 += 4;
0x000036aa str r0, [sp, 0x18] | var_18h = r0;
0x000036ac mov r7, r4 | r7 = r4;
0x000036ae blx 0xcb0 | putchar (r0);
0x000036b2 mov.w r2, 0x400 | r2 = 0x400;
0x000036b6 movs r1, 0 | r1 = 0;
0x000036b8 mov r0, r8 | r0 = r8;
0x000036ba mov sl, r4 | sl = r4;
0x000036bc blx 0xcb0 | putchar (r0);
0x000036c0 mov.w r2, 0x400 | r2 = 0x400;
0x000036c4 mov r1, r4 | r1 = r4;
0x000036c6 mov r0, r6 | r0 = r6;
0x000036c8 str r4, [sp, 0x10] | var_10h = r4;
0x000036ca blx 0xcb0 | putchar (r0);
0x000036ce ldr r3, [pc, 0x300] |
0x000036d0 add r3, pc | r3 = 0x70a6;
0x000036d2 str r3, [sp, 0x1c] | c = r3;
0x000036d4 ldr r3, [pc, 0x2fc] |
0x000036d6 add r3, pc | r3 = 0x70ae;
0x000036d8 str r3, [sp, 0x28] | var_28h = r3;
0x000036da ldr r3, [pc, 0x2fc] |
0x000036dc add r3, pc | r3 = 0x70ba;
0x000036de str r3, [sp, 0x2c] | var_2ch = r3;
| label_1:
0x000036e0 ldr r2, [sp, 0xc] | r2 = var_ch;
0x000036e2 rsb.w r1, sl, 0x400 | r1 = 0x400 - sl;
0x000036e6 add.w r0, r5, sl | r0 = r5 + sl;
0x000036ea blx 0xb74 | r0 = fcn_00000b74 ();
0x000036ee cmp r0, 0 |
| if (r0 == 0) {
0x000036f0 beq.w 0x3904 | goto label_9;
| }
0x000036f4 mov r0, r5 | r0 = r5;
0x000036f6 adds r7, 1 | r7++;
0x000036f8 blx 0xc68 | strchr (r0, r1);
0x000036fc ldr r3, [sp, 8] | r3 = var_8h;
0x000036fe add.w sl, r0, -1 | sl += var_1h;
0x00003702 subw r2, r3, 0x81c | __asm ("subw r2, r3, 0x81c");
0x00003706 ldrb.w r1, [r2, sl] | r1 = *((r2 + sl));
0x0000370a cmp r1, 0xa |
| if (r1 != 0xa) {
0x0000370c bne.w 0x3936 | goto label_10;
| }
0x00003710 cmp.w sl, -1 |
| if (sl == -1) {
0x00003714 beq.w 0x3846 | goto label_11;
| }
0x00003716 strh r7, [r2, 4] | *((r2 + 4)) = r7;
0x00003718 add.w sb, r5, sl | sb = r5 + sl;
0x0000371c movs r4, 0 | r4 = 0;
| do {
| label_0:
0x0000371e add.w sl, sl, -1 | sl += var_1h_4;
0x00003722 strb.w r4, [sb] | *(sb) = r4;
0x00003726 cmp.w sl, -1 |
| if (sl == -1) {
0x0000372a beq.w 0x3840 | goto label_12;
| }
0x0000372e ldrb fp, [sb, -0x1]! | fp = *((sb -= 0x1));
0x00003732 cmp.w fp, 0xa |
0x00003736 beq 0x371e |
| } while (fp == 0xa);
0x00003738 blx 0xc38 | r0 = getpid ();
0x0000373c ldr r3, [r0] | r3 = *(r0);
0x0000373e ldrh.w r3, [r3, fp, lsl 1] | offset_0 = fp << 1;
| r3 = *((r3 + offset_0));
0x00003742 lsls r3, r3, 0x12 | r3 <<= 0x12;
| if (r3 < r3) {
0x00003744 bmi 0x371e | goto label_0;
| }
| label_2:
0x00003746 cmp.w fp, 0x5c |
| if (fp == 0x5c) {
0x0000374a beq 0x36e0 | goto label_1;
| }
0x0000374c add.w r4, sp, 0x1440 | r4 += var_1440h;
0x00003750 mov r0, r5 | r0 = r5;
0x00003752 adds r4, 8 | r4 += 8;
0x00003754 bl 0x313c | fcn_0000313c (r0);
0x00003758 movw r2, 0x401 | r2 = 0x401;
0x0000375c mov r1, r0 | r1 = r0;
0x0000375e mov r0, r4 | r0 = r4;
0x00003760 blx 0xbc0 | r0 = strcpy (r0, r1)
0x00003764 subs r0, r0, r4 | r0 -= r4;
| if (r0 == r0) {
0x00003766 beq.w 0x389e | goto label_13;
| }
0x0000376a ldrb r3, [r4] | r3 = *(r4);
0x0000376c cmp r3, 0x23 |
| if (r3 == 0x23) {
0x0000376e beq.w 0x389e | goto label_13;
| }
0x00003772 cmp r3, 0x5b |
| if (r3 == 0x5b) {
0x00003774 bne 0x3782 |
0x00003776 add r0, r4 | r0 += r4;
0x00003778 ldrb r3, [r0, -0x1] | r3 = *((r0 - 0x1));
0x0000377c cmp r3, 0x5d |
| if (r3 == 0x5d) {
0x0000377e beq.w 0x38c4 | goto label_14;
| }
| }
0x00003782 ldr r1, [sp, 0x1c] | r1 = c;
0x00003784 mov r3, r6 | r3 = r6;
0x00003786 mov r2, r8 | r2 = r8;
0x00003788 mov r0, r4 | r0 = r4;
0x0000378a blx 0xca4 | r0 = memset (r0, r1, r2);
0x0000378e cmp r0, 2 |
| if (r0 != 2) {
0x00003790 beq 0x37b4 |
0x00003792 ldr r1, [sp, 0x2c] | r1 = var_2ch;
0x00003794 mov r3, r6 | r3 = r6;
0x00003796 mov r2, r8 | r2 = r8;
0x00003798 mov r0, r4 | r0 = r4;
0x0000379a blx 0xca4 | r0 = memset (r0, r1, r2);
0x0000379e cmp r0, 2 |
| if (r0 == 2) {
0x000037a0 beq 0x37b4 | goto label_15;
| }
0x000037a2 ldr r1, [pc, 0x238] |
0x000037a4 mov r3, r6 | r3 = r6;
0x000037a6 mov r2, r8 | r2 = r8;
0x000037a8 mov r0, r4 | r0 = r4;
0x000037aa add r1, pc | r1 = 0x718c;
0x000037ac blx 0xca4 | r0 = memset (r0, r1, r2);
0x000037b0 cmp r0, 2 |
| if (r0 != 2) {
0x000037b2 bne 0x384c | goto label_16;
| }
| }
| label_15:
0x000037b4 mov r0, r8 | r0 = r8;
0x000037b6 bl 0x313c | fcn_0000313c (r0);
0x000037ba movw r2, 0x401 | r2 = 0x401;
0x000037be mov r1, r0 | r1 = r0;
0x000037c0 mov r0, r8 | r0 = r8;
0x000037c2 blx 0xbe4 | open64 ();
0x000037c6 mov r0, r8 | r0 = r8;
0x000037c8 bl 0x30e8 | fcn_000030e8 (r0);
0x000037cc movw r2, 0x401 | r2 = 0x401;
0x000037d0 mov r1, r0 | r1 = r0;
0x000037d2 mov r0, r8 | r0 = r8;
0x000037d4 blx 0xbe4 | open64 ();
0x000037d8 mov r0, r6 | r0 = r6;
0x000037da bl 0x313c | fcn_0000313c (r0);
0x000037dc stc2 p2, c15, [pc], 0x100 | __asm ("stc2 p2, c15, [pc], 0x100");
0x000037e0 tst r1, r0 |
0x000037e2 mov r1, r0 | r1 = r0;
0x000037e4 mov r0, r6 | r0 = r6;
0x000037e6 blx 0xbe4 | open64 ();
0x000037ea ldrb r3, [r6] | r3 = *(r6);
0x000037ec cmp r3, 0x22 |
| if (r3 != 0x22) {
0x000037ee bne 0x38b0 | goto label_17;
| }
0x000037f0 ldrb r3, [r6, 1] | r3 = var_1h_2;
0x000037f2 cmp r3, 0x22 |
| if (r3 != 0x22) {
0x000037f4 bne 0x38b0 | goto label_17;
| }
0x000037f6 ldrb r3, [r6, 2] | r3 = var_2h;
0x000037f8 cmp r3, 0 |
| if (r3 != 0) {
0x000037fa bne 0x38b0 | goto label_17;
| }
| label_4:
0x000037fc movs r3, 0 | r3 = 0;
0x000037fe strb r3, [r6] | *(r6) = r3;
| do {
| label_3:
0x00003800 ldr r3, [sp, 0x18] | r3 = var_18h;
0x00003802 add.w r4, sp, 0xc40 | r4 += s;
0x00003806 movw r2, 0x401 | r2 = 0x401;
0x0000380a movs r1, 1 | r1 = 1;
0x0000380c mov r0, r4 | r0 = r4;
0x0000380e str.w r8, [sp, 4] | __asm ("str.w r8, [var_4h]");
0x00003812 str r3, [sp] | *(sp) = r3;
0x00003814 ldr r3, [sp, 0x28] | r3 = var_28h;
0x00003816 blx 0xc98 | isoc99_sscanf ();
0x0000381a ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000381c mov r2, r6 | r2 = r6;
0x0000381e mov r1, r4 | r1 = r4;
0x00003820 bl 0x3b54 | fcn_00003b54 (r0, r1, r2, r3);
0x00003824 str r0, [sp, 0x10] | var_10h = r0;
| label_5:
0x00003826 mov.w r2, 0x400 | r2 = 0x400;
0x0000382a movs r1, 0 | r1 = 0;
0x0000382c mov r0, r5 | r0 = r5;
0x0000382e blx 0xcb0 | putchar (r0);
0x00003832 ldr r3, [sp, 0x10] | r3 = var_10h;
0x00003834 cmp r3, 0 |
| if (r3 < 0) {
0x00003836 blt.w 0x395e | goto label_18;
| }
0x0000383a mov.w sl, 0 | sl = 0;
0x0000383e b 0x36e0 | goto label_1;
| label_12:
0x00003840 ldr r3, [sp, 8] | r3 = var_8h;
0x00003842 subw r2, r3, 0x81c | __asm ("subw r2, r3, 0x81c");
| label_11:
0x00003846 ldrb fp, [r2, -0x1] | fp = *((r2 - 0x1));
0x0000384a b 0x3746 | goto label_2;
| label_16:
0x0000384c ldr r1, [pc, 0x190] |
0x0000384e mov r3, r6 | r3 = r6;
0x00003850 mov r2, r8 | r2 = r8;
0x00003852 mov r0, r4 | r0 = r4;
0x00003854 add r1, pc | r1 = 0x7238;
0x00003856 blx 0xca4 | r0 = memset (r0, r1, r2);
0x0000385a cmp r0, 2 |
| if (r0 == 2) {
0x0000385c beq.w 0x397e | goto label_19;
| }
0x00003860 ldr r1, [pc, 0x180] |
0x00003862 mov r0, r4 | r0 = r4;
0x00003864 mov r3, r6 | r3 = r6;
0x00003866 mov r2, r8 | r2 = r8;
0x00003868 add r1, pc | r1 = 0x7250;
0x0000386a blx 0xca4 | r0 = memset (r0, r1, r2);
0x0000386e cmp r0, 2 |
| if (r0 == 2) {
0x00003870 beq.w 0x397e | goto label_19;
| }
0x00003874 ldr r3, [sp, 0x10] | r3 = var_10h;
0x00003876 movs r1, 1 | r1 = 1;
0x00003878 ldr r2, [sp, 0x20] | r2 = var_20h;
0x0000387a adds r3, 1 | r3++;
0x0000387c str r3, [sp, 0x10] | var_10h = r3;
0x0000387e ldr r3, [pc, 0x168] | r3 = *(0x39ea);
0x00003880 ldr r4, [r2, r3] | r4 = *((r2 + r3));
0x00003882 ldr r2, [pc, 0x168] |
0x00003884 ldr r3, [sp, 0x24] | r3 = var_24h;
0x00003886 str r7, [sp] | *(sp) = r7;
0x00003888 add r2, pc | r2 = 0x727a;
0x0000388a ldr r0, [r4] | r0 = *(r4);
0x0000388c blx 0xcf0 | fcn_00000cf0 ();
0x00003890 ldr r2, [pc, 0x15c] |
0x00003892 mov r3, r5 | r3 = r5;
0x00003894 ldr r0, [r4] | r0 = *(r4);
0x00003896 movs r1, 1 | r1 = 1;
0x00003898 add r2, pc | r2 = 0x728c;
0x0000389a blx 0xcf0 | fcn_00000cf0 ();
| label_13:
0x0000389e mov.w r2, 0x400 | r2 = 0x400;
0x000038a2 movs r1, 0 | r1 = 0;
0x000038a4 mov r0, r5 | r0 = r5;
0x000038a6 mov.w sl, 0 | sl = 0;
0x000038aa blx 0xcb0 | putchar (r0);
0x000038ae b 0x36e0 | goto label_1;
| label_17:
0x000038b0 ldrb r3, [r6] | r3 = *(r6);
0x000038b2 cmp r3, 0x27 |
0x000038b4 bne 0x3800 |
| } while (r3 != 0x27);
0x000038b6 ldrb r3, [r6, 1] | r3 = var_1h_2;
0x000038b8 cmp r3, 0x27 |
| if (r3 != 0x27) {
0x000038ba bne 0x3800 | goto label_3;
| }
0x000038bc ldrb r3, [r6, 2] | r3 = var_2h;
0x000038be cmp r3, 0 |
| if (r3 == 0) {
0x000038c0 beq 0x37fc | goto label_4;
| }
0x000038c2 b 0x3800 | goto label_3;
| label_14:
0x000038c4 mov r0, r4 | r0 = r4;
0x000038c6 ldr r1, [pc, 0x12c] |
0x000038c8 ldr r4, [sp, 0x18] | r4 = var_18h;
0x000038ca add r1, pc | r1 = 0x72c4;
0x000038cc mov r2, r4 | r2 = r4;
0x000038ce blx 0xca4 | memset (r0, r1, r2);
0x000038d2 mov r0, r4 | r0 = r4;
0x000038d4 bl 0x313c | fcn_0000313c (r0);
0x000038d8 movw r2, 0x401 | r2 = 0x401;
0x000038dc mov r1, r0 | r1 = r0;
0x000038de mov r0, r4 | r0 = r4;
0x000038e0 blx 0xbe4 | open64 ();
0x000038e4 mov r0, r4 | r0 = r4;
0x000038e6 bl 0x30e8 | fcn_000030e8 (r0);
0x000038ea movw r2, 0x401 | r2 = 0x401;
0x000038ee mov r1, r0 | r1 = r0;
0x000038f0 mov r0, r4 | r0 = r4;
0x000038f2 blx 0xbe4 | open64 ();
0x000038f6 ldr r0, [sp, 0x14] | r0 = var_14h;
0x000038f8 movs r2, 0 | r2 = 0;
0x000038fa mov r1, r4 | r1 = r4;
0x000038fc bl 0x3b54 | fcn_00003b54 (r0, r1, r2, r3);
0x00003900 str r0, [sp, 0x10] | var_10h = r0;
0x00003902 b 0x3826 | goto label_5;
| label_9:
0x00003904 ldr r3, [sp, 0x10] | r3 = var_10h;
0x00003906 cmp r3, 0 |
| if (r3 != 0) {
0x00003908 bne 0x3972 | goto label_20;
| }
| label_6:
0x0000390a ldr r0, [sp, 0xc] | r0 = var_ch;
0x0000390c blx 0xd08 | fcn_00000d08 ();
| do {
| label_7:
0x00003910 ldr r2, [pc, 0xe4] |
0x00003912 add.w r1, sp, 0x1840 | r1 += var_1840h;
0x00003916 ldr r3, [pc, 0xac] | r3 = *(0x39c6);
0x00003918 adds r1, 0xc | r1 += 0xc;
0x0000391a add r2, pc | r2 = 0x7316;
0x0000391c ldr r3, [r2, r3] | r3 = *(0x7316);
0x0000391e ldr r2, [r3] | r2 = *(0x7316);
0x00003920 ldr r3, [r1] | r3 = *(r1);
0x00003922 eors r2, r3 | r2 ^= r3;
0x00003924 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00003928 bne 0x39a4 | goto label_21;
| }
0x0000392a ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000392c add.w sp, sp, 0x1840 |
0x00003930 add sp, 0x14 |
0x00003932 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_10:
0x00003936 ldr r1, [sp, 0x20] | r1 = var_20h;
0x00003938 ldr r2, [pc, 0xac] | r2 = *(0x39e8);
0x0000393a ldr r3, [sp, 0x24] | r3 = var_24h;
0x0000393c ldr r1, [r1, r2] | r1 = *((r1 + r2));
0x0000393e ldr r2, [pc, 0xbc] |
0x00003940 str r7, [sp] | *(sp) = r7;
0x00003942 ldr r0, [r1] | r0 = *(r1);
0x00003944 movs r1, 1 | r1 = 1;
0x00003946 add r2, pc | r2 = 0x7348;
0x00003948 blx 0xcf0 | fcn_00000cf0 ();
0x0000394c ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000394e bl 0x3a80 | fcn_00003a80 (r0);
0x00003952 movs r3, 0 | r3 = 0;
0x00003954 ldr r0, [sp, 0xc] | r0 = var_ch;
0x00003956 str r3, [sp, 0x14] | var_14h = r3;
0x00003958 blx 0xd08 | fcn_00000d08 ();
0x0000395c b 0x3910 |
| } while (1);
| label_18:
0x0000395e ldr r1, [sp, 0x20] | r1 = var_20h;
0x00003960 movs r2, 0x25 | r2 = 0x25;
0x00003962 ldr r3, [pc, 0x84] |
0x00003964 ldr r0, [pc, 0x98] |
0x00003966 ldr r3, [r1, r3] | r3 = *((r1 + r3));
0x00003968 movs r1, 1 | r1 = 1;
0x0000396a add r0, pc | r0 = 0x736e;
0x0000396c ldr r3, [r3] | r3 = *(0x39ea);
0x0000396e blx 0xba8 | lseek64 ();
| label_20:
0x00003972 ldr r0, [sp, 0x14] | r0 = var_14h;
0x00003974 movs r3, 0 | r3 = 0;
0x00003976 str r3, [sp, 0x14] | var_14h = r3;
0x00003978 bl 0x3a80 | fcn_00003a80 (r0);
0x0000397c b 0x390a | goto label_6;
| label_19:
0x0000397e mov r0, r8 | r0 = r8;
0x00003980 bl 0x313c | fcn_0000313c (r0);
0x00003984 movw r2, 0x401 | r2 = 0x401;
0x00003988 mov r1, r0 | r1 = r0;
0x0000398a mov r0, r8 | r0 = r8;
0x0000398c blx 0xbe4 | open64 ();
0x00003990 mov r0, r8 | r0 = r8;
0x00003992 bl 0x30e8 | fcn_000030e8 (r0);
0x00003996 movw r2, 0x401 | r2 = 0x401;
0x0000399a mov r1, r0 | r1 = r0;
0x0000399c mov r0, r8 | r0 = r8;
0x0000399e blx 0xbe4 | open64 ();
0x000039a2 b 0x37fc | goto label_4;
| label_21:
0x000039a4 blx 0xb8c | fcn_00000b8c ();
| label_8:
0x000039a8 str r0, [sp, 0x14] | var_14h = r0;
0x000039aa ldr r1, [pc, 0x3c] | r1 = *(0x39ea);
0x000039ac ldr r0, [sp, 0x20] | r0 = var_20h;
0x000039ae ldr r2, [pc, 0x54] |
0x000039b0 ldr r3, [sp, 0x24] | r3 = var_24h;
0x000039b2 ldr r1, [r0, r1] | r1 = *((r0 + r1));
0x000039b4 add r2, pc | r2 = 0x73be;
0x000039b6 ldr r0, [r1] | r0 = *(0x39ea);
0x000039b8 movs r1, 1 | r1 = 1;
0x000039ba blx 0xcf0 | fcn_00000cf0 ();
0x000039be b 0x3910 | goto label_7;
| }
[*] Function strcpy used 2 times ubinize