[*] Binary protection state of wpa_supplicant
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of wpa_supplicant
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/wpa_supplicant @ 0x46cc4 */
| #include <stdint.h>
|
; (fcn) fcn.00046cc4 () | void fcn_00046cc4 (int16_t arg1, int16_t arg2, int16_t arg3) {
| int16_t var_4h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
0x00046cc4 svcmi 0xf0e92d | __asm ("svcmi 0xf0e92d");
0x00046cc8 mov r4, r0 | r4 = r0;
0x00046cca ldr.w sb, [r0] | sb = *(r0);
0x00046cce sub sp, 0xc |
0x00046cd0 mov r8, r1 | r8 = r1;
0x00046cd2 mov r7, r2 | r7 = r2;
0x00046cd4 ldr r6, [pc, 0x398] |
0x00046cd6 ldr.w r5, [sb] | r5 = *(sb);
0x00046cda add r6, pc | r6 = 0x8dd4e;
| if (r5 == 0) {
0x00046cdc cbz r5, 0x46d04 | goto label_1;
| }
0x00046cde ldr.w fp, [pc, 0x394] |
0x00046ce2 add.w sl, r0, 0x50 | sl = r0 + 0x50;
0x00046ce6 add fp, pc | fp = 0x8dd60;
| do {
| label_0:
0x00046ce8 ldr r3, [r5, 0x14] | r3 = *((r5 + 0x14));
0x00046cea cmp r3, r4 |
0x00046cec itt eq |
| if (r3 != r4) {
0x00046cee ldreq r3, [r5, 0x10] | r3 = *((r5 + 0x10));
| }
| if (r3 != r4) {
0x00046cf0 streq r3, [r5, 0x14] | *((r5 + 0x14)) = r3;
| }
0x00046cf2 cmp r4, r5 |
| if (r4 != r5) {
0x00046cf4 beq 0x46cfe |
0x00046cf6 ldr r3, [r5, 0x10] | r3 = *((r5 + 0x10));
0x00046cf8 cmp r3, r4 |
| if (r3 == r4) {
0x00046cfa beq.w 0x46ff8 | goto label_6;
| }
| }
0x00046cfe ldr r5, [r5, 0x18] | r5 = *((r5 + 0x18));
0x00046d00 cmp r5, 0 |
0x00046d02 bne 0x46ce8 |
| } while (r5 != 0);
| label_1:
0x00046d04 ldr.w r0, [r4, 0x128] | r0 = *((r4 + 0x128));
0x00046d08 movs r3, 1 | r3 = 1;
0x00046d0a str.w r3, [r4, 0xf0] | __asm ("str.w r3, [r4, 0xf0]");
| if (r0 != 0) {
0x00046d0e cbz r0, 0x46d42 |
0x00046d10 ldr.w r3, [r4, 0x1a8] | r3 = *((r4 + 0x1a8));
0x00046d14 ldr.w r3, [r3, 0x170] | r3 = *((r3 + 0x170));
| if (r3 != 0) {
0x00046d18 cbz r3, 0x46d22 |
0x00046d1a blx r3 | r0 = uint32_t (*r3)(uint32_t) (r0);
0x00046d1c cmp r0, 0 |
| if (r0 != 0) {
0x00046d1e bne.w 0x47034 | goto label_7;
| }
| }
| label_3:
0x00046d22 mov r0, r4 | r0 = r4;
0x00046d24 movs r1, 3 | r1 = 3;
0x00046d26 bl 0x463e0 | fcn_000463e0 (r0, r1, r2);
0x00046d2a ldr.w r3, [r4, 0x1a8] | r3 = *((r4 + 0x1a8));
0x00046d2e ldr.w r0, [r4, 0x128] | r0 = *((r4 + 0x128));
0x00046d32 ldr r3, [r3, 0x20] | r3 = *((r3 + 0x20));
| if (r3 != 0) {
0x00046d34 cbz r3, 0x46d3a |
0x00046d36 movs r1, 0 | r1 = 0;
0x00046d38 blx r3 | uint32_t (*r3)(uint32_t) (r1);
| }
0x00046d3a movs r1, 0 | r1 = 0;
0x00046d3c mov r0, r4 | r0 = r4;
0x00046d3e bl 0x44ac0 | fcn_00044ac0 (r0, r1, r2, r3);
| }
| label_4:
0x00046d42 movs r5, 0 | r5 = 0;
0x00046d44 ldr.w r0, [r4, 0x1b0] | r0 = *((r4 + 0x1b0));
0x00046d48 mov r1, r5 | r1 = r5;
0x00046d4a str.w r5, [r4, 0x1f4] | __asm ("str.w r5, [r4, 0x1f4]");
0x00046d4e bl 0x19fc8 | fcn_00019fc8 (r0, r1);
0x00046d52 ldr.w r0, [r4, 0x1b8] | r0 = *((r4 + 0x1b8));
0x00046d56 mov r1, r5 | r1 = r5;
0x00046d58 bl 0x2a804 | fcn_0002a804 (r0, r1);
0x00046d5c ldr r0, [r4, 0x1c] | r0 = *((r4 + 0x1c));
0x00046d5e bl 0x5769c | fcn_0005769c (r0);
0x00046d62 ldr r0, [r4, 0x20] | r0 = *((r4 + 0x20));
0x00046d64 str r5, [r4, 0x1c] | *((r4 + 0x1c)) = r5;
| if (r0 != 0) {
0x00046d66 cbz r0, 0x46d6e |
0x00046d68 bl 0x5769c | fcn_0005769c (r0);
0x00046d6c str r5, [r4, 0x20] | *((r4 + 0x20)) = r5;
| }
0x00046d6e ldr.w r3, [r4, 0xcc] | r3 = *((r4 + 0xcc));
| if (r3 == 0) {
0x00046d72 cbz r3, 0x46d86 | goto label_8;
| }
0x00046d74 ldr r5, [r3] | r5 = *(r3);
| if (r5 == 0) {
0x00046d76 cbz r5, 0x46d86 | goto label_8;
| }
| do {
0x00046d78 mov r1, r5 | r1 = r5;
0x00046d7a mov r0, r4 | r0 = r4;
0x00046d7c bl 0xbb64 | fcn_0000bb64 (r0, r1);
0x00046d80 ldr r5, [r5] | r5 = *(r5);
0x00046d82 cmp r5, 0 |
0x00046d84 bne 0x46d78 |
| } while (r5 != 0);
| label_8:
0x00046d86 movs r5, 0 | r5 = 0;
0x00046d88 ldr.w r0, [r4, 0xc4] | r0 = *((r4 + 0xc4));
0x00046d8c blx 0x632c | fcn_0000632c ();
0x00046d90 ldr.w r0, [r4, 0xc8] | r0 = *((r4 + 0xc8));
0x00046d94 str.w r5, [r4, 0xc4] | __asm ("str.w r5, [r4, 0xc4]");
0x00046d98 blx 0x632c | fcn_0000632c ();
0x00046d9c ldr.w r0, [r4, 0x108] | r0 = *((r4 + 0x108));
0x00046da0 str.w r5, [r4, 0xc8] | __asm ("str.w r5, [r4, 0xc8]");
0x00046da4 blx 0x632c | fcn_0000632c ();
0x00046da8 mov r1, r5 | r1 = r5;
0x00046daa ldr.w r0, [r4, 0x1b0] | r0 = *((r4 + 0x1b0));
0x00046dae strd r5, r5, [r4, 0x108] | __asm ("strd r5, r5, [r4, 0x108]");
0x00046db2 bl 0x1a0a4 | fcn_0001a0a4 (r0, r1);
0x00046db6 ldr.w r0, [r4, 0x1b8] | r0 = *((r4 + 0x1b8));
0x00046dba bl 0x2a9c4 | fcn_0002a9c4 (r0);
0x00046dbe ldr.w r0, [r4, 0x1b0] | r0 = *((r4 + 0x1b0));
0x00046dc2 str.w r5, [r4, 0x1b8] | __asm ("str.w r5, [r4, 0x1b8]");
0x00046dc6 bl 0x1cac4 | fcn_0001cac4 (r0);
0x00046dca mov r0, r4 | r0 = r4;
0x00046dcc bl 0x14288 | fcn_00014288 (r0);
0x00046dd0 ldr.w r0, [r4, 0x1b0] | r0 = *((r4 + 0x1b0));
0x00046dd4 bl 0x1c884 | fcn_0001c884 (r0);
0x00046dd8 ldr.w r0, [r4, 0x1b0] | r0 = *((r4 + 0x1b0));
0x00046ddc str.w r5, [r4, 0x1b4] | __asm ("str.w r5, [r4, 0x1b4]");
0x00046de0 bl 0x1a754 | fcn_0001a754 (r0);
0x00046de4 mov r0, r4 | r0 = r4;
0x00046de6 str.w r5, [r4, 0x1b0] | __asm ("str.w r5, [r4, 0x1b0]");
0x00046dea bl 0x50078 | fcn_00050078 (r0);
0x00046dee mov r0, r4 | r0 = r4;
0x00046df0 bl 0xc478 | fcn_0000c478 (r0);
0x00046df4 mov r0, r4 | r0 = r4;
0x00046df6 bl 0x51c1c | fcn_00051c1c (r0);
0x00046dfa mov r0, r4 | r0 = r4;
0x00046dfc bl 0x51bf4 | fcn_00051bf4 (r0);
0x00046e00 mov r0, r4 | r0 = r4;
0x00046e02 bl 0x447d0 | fcn_000447d0 (r0);
0x00046e06 ldr r3, [pc, 0x270] | r3 = *(0x4707a);
0x00046e08 mov r2, r5 | r2 = r5;
0x00046e0a mov r1, r4 | r1 = r4;
0x00046e0c ldr r3, [r6, r3] | r3 = *((r6 + r3));
0x00046e0e mov r0, r3 | r0 = r3;
0x00046e10 str r3, [sp, 4] | var_4h = r3;
0x00046e12 bl 0x14f4c | fcn_00014f4c (r0, r1, r2);
0x00046e16 ldr r3, [pc, 0x264] | r3 = *(0x4707e);
0x00046e18 mov r2, r5 | r2 = r5;
0x00046e1a mov r1, r4 | r1 = r4;
0x00046e1c ldr r3, [r6, r3] | r3 = *((r6 + r3));
0x00046e1e mov r0, r3 | r0 = r3;
0x00046e20 str r3, [sp, 4] | var_4h = r3;
0x00046e22 bl 0x14f4c | fcn_00014f4c (r0, r1, r2);
0x00046e26 ldr r3, [pc, 0x258] | r3 = *(0x47082);
0x00046e28 mov r2, r5 | r2 = r5;
0x00046e2a mov r1, r4 | r1 = r4;
0x00046e2c ldr r3, [r6, r3] | r3 = *((r6 + r3));
0x00046e2e mov r0, r3 | r0 = r3;
0x00046e30 str r3, [sp, 4] | var_4h = r3;
0x00046e32 bl 0x14f4c | fcn_00014f4c (r0, r1, r2);
0x00046e36 ldr.w r0, [r4, 0x354] | r0 = *((r4 + 0x354));
0x00046e3a bl 0xefd8 | fcn_0000efd8 (r0);
0x00046e3e mov r0, r4 | r0 = r4;
0x00046e40 str.w r5, [r4, 0x354] | __asm ("str.w r5, [r4, 0x354]");
0x00046e44 bl 0x51c4c | fcn_00051c4c (r0);
0x00046e48 ldr.w r0, [r4, 0x24c] | r0 = *((r4 + 0x24c));
0x00046e4c blx 0x632c | fcn_0000632c ();
0x00046e50 ldr.w r0, [r4, 0x254] | r0 = *((r4 + 0x254));
0x00046e54 str.w r5, [r4, 0x24c] | __asm ("str.w r5, [r4, 0x24c]");
0x00046e58 blx 0x632c | fcn_0000632c ();
0x00046e5c ldr.w r0, [r4, 0x250] | r0 = *((r4 + 0x250));
0x00046e60 str.w r5, [r4, 0x254] | __asm ("str.w r5, [r4, 0x254]");
0x00046e64 blx 0x632c | fcn_0000632c ();
0x00046e68 ldr.w r0, [r4, 0x258] | r0 = *((r4 + 0x258));
0x00046e6c str.w r5, [r4, 0x250] | __asm ("str.w r5, [r4, 0x250]");
0x00046e70 blx 0x632c | fcn_0000632c ();
0x00046e74 movs r1, 7 | r1 = 7;
0x00046e76 mov r0, r4 | r0 = r4;
0x00046e78 str.w r5, [r4, 0x258] | __asm ("str.w r5, [r4, 0x258]");
0x00046e7c bl 0x5429c | fcn_0005429c (r0, r1);
0x00046e80 ldr r3, [r4, 4] | r3 = *((r4 + 4));
| if (r3 != 0) {
0x00046e82 cbz r3, 0x46e90 |
0x00046e84 ldr r1, [pc, 0x1fc] |
0x00046e86 mov r2, r5 | r2 = r5;
0x00046e88 mov r0, r4 | r0 = r4;
0x00046e8a add r1, pc | r1 = 0x8df12;
0x00046e8c bl 0x45e90 | fcn_00045e90 (r0, r1, r2, r3);
| }
0x00046e90 vmov.i32 d16, 0 | __asm ("vmov.i32 d16, 0");
0x00046e94 addw r3, r4, 0x41c | __asm ("addw r3, r4, 0x41c");
0x00046e98 mov r0, r4 | r0 = r4;
0x00046e9a movs r6, 0 | r6 = 0;
0x00046e9c add.w r5, r4, 0x480 | r5 = r4 + 0x480;
0x00046ea0 addw sb, r4, 0x4bc | __asm ("addw sb, r4, 0x4bc");
0x00046ea4 vst1.32 {d16}, [r3] | __asm ("vst1.32 {d16}, [r3]");
0x00046ea8 bl 0x449ec | fcn_000449ec (r0);
0x00046eac mov r0, r4 | r0 = r4;
0x00046eae bl 0x23668 | fcn_00023668 (r0);
0x00046eb2 ldr.w r0, [r4, 0x130] | r0 = *((r4 + 0x130));
0x00046eb6 blx 0x632c | fcn_0000632c ();
0x00046eba ldr.w r0, [r4, 0x138] | r0 = *((r4 + 0x138));
0x00046ebe str.w r6, [r4, 0x130] | __asm ("str.w r6, [r4, 0x130]");
0x00046ec2 blx 0x632c | fcn_0000632c ();
0x00046ec6 ldr.w r0, [r4, 0x140] | r0 = *((r4 + 0x140));
0x00046eca str.w r6, [r4, 0x138] | __asm ("str.w r6, [r4, 0x138]");
0x00046ece blx 0x632c | fcn_0000632c ();
0x00046ed2 mov r0, r4 | r0 = r4;
0x00046ed4 str.w r6, [r4, 0x140] | __asm ("str.w r6, [r4, 0x140]");
0x00046ed8 bl 0x4d724 | fcn_0004d724 ();
0x00046edc ldr.w r0, [r4, 0x44c] | r0 = *((r4 + 0x44c));
0x00046ee0 str.w r6, [r4, 0x448] | __asm ("str.w r6, [r4, 0x448]");
0x00046ee2 str r0, [r1, 0x44] | *((r1 + 0x44)) = r0;
0x00046ee4 bl 0xefd8 | fcn_0000efd8 (r0);
0x00046ee8 ldr.w r0, [r4, 0x450] | r0 = *((r4 + 0x450));
0x00046eec str.w r6, [r4, 0x44c] | __asm ("str.w r6, [r4, 0x44c]");
0x00046ef0 bl 0xefd8 | fcn_0000efd8 (r0);
0x00046ef4 ldr.w r0, [r4, 0x194] | r0 = *((r4 + 0x194));
0x00046ef8 str.w r6, [r4, 0x450] | __asm ("str.w r6, [r4, 0x450]");
0x00046efa str r0, [r2, 0x44] | *((r2 + 0x44)) = r0;
0x00046efc blx 0x632c | fcn_0000632c ();
0x00046f00 str.w r6, [r4, 0x194] | __asm ("str.w r6, [r4, 0x194]");
| do {
0x00046f04 ldr r0, [r5, 4]! | r0 = *((r5 += 4));
0x00046f08 bl 0xefd8 | fcn_0000efd8 (r0);
0x00046f0c cmp sb, r5 |
0x00046f0e str r6, [r5] | *(r5) = r6;
0x00046f10 bne 0x46f04 |
| } while (sb != r5);
0x00046f12 mov r0, r4 | r0 = r4;
0x00046f14 bl 0x137a8 | fcn_000137a8 (r0);
0x00046f16 mcrr2 p8, 0xd, pc, r8, c4 | __asm ("mcrr2 p8, 0xd, pc, r8, c4");
0x00046f1a lsls r0, r5, 5 | r0 = r5 << 5;
0x00046f1c str.w r6, [r4, 0x16c] | __asm ("str.w r6, [r4, 0x16c]");
0x00046f20 blx 0x632c | fcn_0000632c ();
0x00046f24 mov r0, r4 | r0 = r4;
0x00046f26 str.w r6, [r4, 0x168] | __asm ("str.w r6, [r4, 0x168]");
0x00046f2a bl 0x44a34 | fcn_00044a34 (r0);
0x00046f2e ldr.w r0, [r4, 0x630] | r0 = *((r4 + 0x630));
0x00046f32 bl 0xefd8 | fcn_0000efd8 (r0);
0x00046f36 mov r0, r4 | r0 = r4;
0x00046f38 str.w r6, [r4, 0x630] | __asm ("str.w r6, [r4, 0x630]");
0x00046f3c bl 0x10a70 | fcn_00010a70 (r0);
0x00046f3e ldc2 p6, c4, [r8, 0x80] | __asm ("ldc2 p6, c4, [r8, 0x80]");
0x00046f42 bl 0x44a78 | fcn_00044a78 (r0, r1);
0x00046f46 ldr.w r0, [r4, 0x65c] | r0 = *((r4 + 0x65c));
0x00046f4a bl 0xefd8 | fcn_0000efd8 (r0);
0x00046f4e mov r0, r4 | r0 = r4;
0x00046f50 str.w r6, [r4, 0x65c] | __asm ("str.w r6, [r4, 0x65c]");
0x00046f54 bl 0x12a78 | fcn_00012a78 (r0);
0x00046f58 mov r0, r4 | r0 = r4;
0x00046f5a bl 0x12acc | fcn_00012acc (r0);
0x00046f5e mov r0, r4 | r0 = r4;
0x00046f60 bl 0x3b294 | fcn_0003b294 (r0);
0x00046f64 ldr r5, [r4, 4] | r5 = *((r4 + 4));
| if (r5 != 0) {
0x00046f66 cbz r5, 0x46faa |
0x00046f68 ldr r1, [pc, 0x11c] |
0x00046f6a mov r3, r5 | r3 = r5;
0x00046f6c add.w r2, r4, 0x50 | r2 = r4 + 0x50;
0x00046f6e lsls r0, r2, 9 | r0 = r2 << 9;
0x00046f70 movs r0, 2 | r0 = 2;
0x00046f72 add r1, pc | r1 = 0x8dffe;
0x00046f74 bl 0xe3e0 | fcn_0000e3e0 (r0);
0x00046f78 ldrd r2, r3, [r4, 8] | __asm ("ldrd r2, r3, [r4, 8]");
0x00046f7c mov r0, r4 | r0 = r4;
0x00046f7e vmov.i32 d16, 0 | __asm ("vmov.i32 d16, 0");
0x00046f82 str r3, [r2, 4] | *((r2 + 4)) = r3;
0x00046f84 str r2, [r3] | *(r3) = r2;
0x00046f86 movs r2, 0 | r2 = 0;
0x00046f88 mov r1, r2 | r1 = r2;
0x00046f8a vstr d16, [r4, 8] | __asm ("vstr d16, [r4, 8]");
0x00046f8e bl 0x45e90 | fcn_00045e90 (r0, r1, r2, r3);
0x00046f92 ldr r3, [r5, 0x10] | r3 = *((r5 + 0x10));
0x00046f94 ldr r2, [r5, 0x18] | r2 = *((r5 + 0x18));
0x00046f96 cmp r4, r3 |
0x00046f98 add.w r3, r5, 0x18 | r3 = r5 + 0x18;
0x00046f9c it eq |
| if (r4 != r3) {
0x00046f9e streq r6, [r5, 0x10] | *((r5 + 0x10)) = r6;
| }
0x00046fa0 cmp r2, r3 |
0x00046fa2 mov.w r6, 0 | r6 = 0;
0x00046fa6 str r6, [r4, 4] | *((r4 + 4)) = r6;
| if (r2 == r3) {
0x00046fa8 beq 0x47050 | goto label_9;
| }
| }
| label_5:
0x00046faa ldr.w r0, [r4, 0x128] | r0 = *((r4 + 0x128));
| if (r0 != 0) {
0x00046fae cbz r0, 0x46fba |
0x00046fb0 ldr.w r3, [r4, 0x1a8] | r3 = *((r4 + 0x1a8));
0x00046fb4 ldr r3, [r3, 0x18] | r3 = *((r3 + 0x18));
| if (r3 == 0) {
0x00046fb6 cbz r3, 0x46fba | goto label_10;
| }
0x00046fb8 blx r3 | uint32_t (*r3)(uint32_t) (r0);
| }
| label_10:
0x00046fba cmp.w r8, 0 |
| if (r8 != 0) {
0x00046fbe bne 0x4701c | goto label_11;
| }
| if (r7 != 0) {
0x00046fc0 cbnz r7, 0x47026 | goto label_12;
| }
| label_2:
0x00046fc2 mov r0, r4 | r0 = r4;
0x00046fc4 ldr.w r1, [r4, 0x1bc] | r1 = *((r4 + 0x1bc));
0x00046fc6 asrs r4, r7, 6 | r4 = r7 >> 6;
0x00046fc8 bl 0x3f098 | fcn_0003f098 (r0, r1);
0x00046fcc ldr.w r0, [r4, 0xcc] | r0 = *((r4 + 0xcc));
0x00046fd0 movs r3, 0 | r3 = 0;
0x00046fd2 str.w r3, [r4, 0x1bc] | __asm ("str.w r3, [r4, 0x1bc]");
| if (r0 != 0) {
0x00046fd6 cbz r0, 0x46fdc |
0x00046fd8 bl 0xb548 | fcn_0000b548 (r0);
| }
0x00046fdc ldr.w r0, [r4, 0x2c4] | r0 = *((r4 + 0x2c4));
0x00046fe0 blx 0x632c | fcn_0000632c ();
0x00046fe4 ldr.w r0, [r4, 0x2cc] | r0 = *((r4 + 0x2cc));
0x00046fe8 blx 0x632c | fcn_0000632c ();
0x00046fec mov r0, r4 | r0 = r4;
0x00046fee add sp, 0xc |
0x00046ff0 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00046ff4 b.w 0x6328 | void (*0x6328)() ();
| if (r0 != 0) {
0x00046ff6 cbnz r0, 0x47020 | void (*0x47020)() ();
| }
| label_6:
0x00046ff8 add.w r2, r5, 0x50 | r2 = r5 + 0x50;
0x00046ffc mov r3, sl | r3 = sl;
0x00046ffe mov r1, fp | r1 = fp;
0x00047000 movs r0, 2 | r0 = 2;
0x00047002 bl 0xe3e0 | fcn_0000e3e0 (r0);
0x00047006 ldr r3, [r5, 0x18] | r3 = *((r5 + 0x18));
0x00047008 mov r1, r5 | r1 = r5;
0x0004700a mov r2, r7 | r2 = r7;
0x0004700c mov r0, sb | r0 = sb;
0x0004700e mov r5, r3 | r5 = r3;
0x00047010 bl 0x46c60 | fcn_00046c60 (r0, r1, r2);
0x00047014 cmp r5, 0 |
| if (r5 != 0) {
0x00047016 bne.w 0x46ce8 | goto label_0;
| }
0x0004701a b 0x46d04 | goto label_1;
| label_11:
0x0004701c mov r0, r4 | r0 = r4;
0x0004701e bl 0xbad4 | fcn_0000bad4 ();
0x00047022 cmp r7, 0 |
| if (r7 == 0) {
0x00047024 beq 0x46fc2 | goto label_2;
| }
| label_12:
0x00047026 ldr r2, [pc, 0x64] |
0x00047028 movs r1, 3 | r1 = 3;
0x0004702a mov r0, r4 | r0 = r4;
0x0004702c add r2, pc | r2 = 0x8e0be;
0x0004702e bl 0xe858 | fcn_0000e858 (r0, r1);
0x00047032 b 0x46fc2 | goto label_2;
| label_7:
0x00047034 ldr.w r3, [r4, 0xcc] | r3 = *((r4 + 0xcc));
0x00047038 ldr.w r3, [r3, 0x350] | r3 = *((r3 + 0x350));
0x0004703c cmp r3, 0 |
| if (r3 != 0) {
0x0004703e bne.w 0x46d22 | goto label_3;
| }
0x00047042 ldr r2, [pc, 0x4c] |
0x00047044 movs r1, 3 | r1 = 3;
0x00047046 mov r0, r4 | r0 = r4;
0x00047048 add r2, pc | r2 = 0x8e0de;
0x0004704a bl 0xe858 | fcn_0000e858 (r0, r1);
0x0004704e b 0x46d42 | goto label_4;
| label_9:
0x00047050 ldr r1, [pc, 0x40] |
0x00047052 mov r2, r5 | r2 = r5;
0x00047054 movs r0, 2 | r0 = 2;
0x00047056 add r1, pc | r1 = 0x8e0ee;
0x00047058 bl 0xe3e0 | fcn_0000e3e0 (r0);
0x0004705c ldr r0, [pc, 0x38] |
0x0004705e mov r2, r6 | r2 = r6;
0x00047060 mov r1, r5 | r1 = r5;
0x00047062 add r0, pc | r0 = 0x8e0fe;
0x00047064 bl 0x14f4c | fcn_00014f4c (r0, r1, r2);
0x00047068 mov r0, r5 | r0 = r5;
0x0004706a blx 0x632c | fcn_0000632c ();
0x0004706e b 0x46faa | goto label_5;
| }
[*] Function system used 1 times wpa_supplicant