[*] Binary protection state of libsoap.so
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libsoap.so
cmp r4, 0
bne 0x7b50
cmp lr, r3
bne 0x7b2c
movs r2, 0
strb r2, [r3]
pop {r4, r5, pc}
mov r3, r0
movs r2, 0
strb r2, [r3]
pop {r4, r5, pc}
nop
push {r3, r4, r5, lr}
subs r4, r1, 0
ble 0x7b8e
mov r5, r0
b 0x7b82
subs r4, 1
beq 0x7b8e
mov r0, r5
blx sym.imp.__snprintf_chk
adds r3, r0, 1
bne 0x7b7e
--
b 0x88aa
mov r0, r5
blx 0x5ebc
cmp r0, 0
bne.w 0x8976
ldrd r3, r0, [r4, 0xb0]
b 0x8bde
mov r0, r5
blx 0x5ebc
cmp r0, 0
bne.w 0x8976
ldr.w r2, [r4, 0xb0]
ldrsh.w r3, [r4, 0xbc]
adds r1, r2, 1
add r2, r5
str.w r1, [r4, 0xb0]
ldrb.w r6, [r2, r8]
b 0x88a8
mov r0, r5
add.w sb, sp, 4
blx sym.imp.__snprintf_chk
adds r3, r0, 1
mov r6, r0
bics r3, r3, 0x40
beq 0x8d9e
mov.w fp, 0x3f
mov sl, sb
cmp.w fp, 0
ble 0x8cfa
cmp r6, 0x20
mov r3, sl
it lo
movlo r6, 0x20
add.w fp, fp, -1
strb r6, [r3], 1
mov sl, r3
mov r0, r5
blx sym.imp.__snprintf_chk
adds r3, r0, 1
mov r6, r0
bics r3, r3, 0x40
bne 0x8ce2
movs r3, 0
strb.w r3, [sl]
ldr.w r3, [sb]
cmp r3, r7
beq 0x8d5e
adds r2, r6, 1
beq.w 0x897a
mov r0, r5
blx sym.imp.__snprintf_chk
adds r3, r0, 1
mov r6, r0
--
b.w 0x71e4
subs r4, 0x54
movs r2, r0
lsls r2, r0, 0x16
movs r1, r0
ldr r3, [0x00009444]
ldr r1, [0x00009448]
ldr r2, [0x0000944c]
add r3, pc
push {lr}
add r1, pc
ldr r3, [r3]
sub sp, 0xc
ldr r2, [r1, r2]
ldr r2, [r2]
str r2, [sp, 4]
mov.w r2, 0
cbz r3, 0x943a
movs r1, 4
mov r0, sp
blx sym.imp.__fprintf_chk
ldr r2, [0x00009450]
ldr r3, [0x0000944c]
--
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r1, [sp, 4]
movs r2, 1
add.w r5, r6, 0x3000
strh.w r2, [r1, 0x530]
add.w r2, r0, 0x13000
strb.w r3, [r2, 0xcd8]
str r2, [sp, 0x10]
add.w r2, r0, 0x14000
strb.w r3, [r2, 0xd8]
strb.w r3, [r2, 0x4d8]
strb.w r3, [r2, 0x8d8]
strb.w r3, [r2, 0xcd8]
strb.w r3, [r1, 0xd8]
str.w r3, [r1, 0x4d8]
strh.w r3, [r1, 0x528]
strh.w r3, [r1, 0x526]
movw r3, 0xffff
strh.w r3, [r1, 0x51c]
str r2, [sp, 0x18]
blx sym.imp.__snprintf_chk
cmp r0, 0xef
beq 0xc392
--
subs.w fp, r1, r2
str.w r1, [sb, 0xd4]
add r4, r2
beq 0xf6f8
mov r3, r8
mov r8, r7
mov r7, r3
b 0xf742
ldr r3, [sp, 0x38]
add.w r8, r8, -1
adds r2, r3, 1
str r2, [sp, 0x38]
ldrb r3, [r3]
strb r3, [r4], 1
add.w sl, sl, 1
cmp fp, sl
beq 0xf818
cmp.w r8, 0
bgt 0xf72a
mov r0, r7
blx sym.imp.__snprintf_chk
adds r1, r0, 1
mov r5, r0
--
subs r6, 1
cmp r6, 7
bhi.w 0xfa38
tbh [pc, r6, lsl 1]
lsls r5, r6, 3
lsls r3, r6, 1
lsls r4, r2, 3
movs r0, r1
lsls r4, r5, 1
lsls r5, r5, 3
lsls r0, r1, 1
lsls r4, r7, 2
cmp r5, 0x5d
beq 0xf820
add.w sl, sl, 1
strb r5, [r4], 1
cmp fp, sl
beq.w 0xf96e
mov r0, r7
movs r6, 1
blx sym.imp.__snprintf_chk
adds r1, r0, 1
mov r5, r0
--
lsls r5, r4, 6
movs r0, r0
lsls r1, r4, 2
movs r0, r0
lsls r3, r4, 5
movs r0, r0
invalid
lsls r3, r2, 2
movs r0, r0
lsls r5, r2, 6
movs r0, r0
lsls r3, r1, 1
movs r0, r0
lsls r3, r6, 4
movs r0, r0
add.w sl, sl, 1
strb r5, [r4], 1
cmp fp, sl
beq.w 0xffc8
mov r0, r7
blx sym.imp.__snprintf_chk
adds r2, r0, 1
mov r5, r0
--
ldr r3, [r7, 4]
lsls r3, r3, 0x1a
bpl 0xf888
add.w sl, sl, 1
strb r5, [r4], 1
subs r5, 0x3e
it ne
movne r5, 1
cmp fp, sl
lsl.w r6, r5, 1
bne 0xf742
mov r3, r7
mov r7, r8
mov r8, r3
b 0xf6f8
add.w sl, sl, 1
strb r5, [r4], 1
cmp fp, sl
beq.w 0xffec
mov r0, r7
blx sym.imp.__snprintf_chk
adds r2, r0, 1
mov r5, r0
beq.w 0xfdf2
cmp r0, 0x7f
mov.w r6, 5
ble 0xf7a4
ldr r3, [r7, 4]
lsls r3, r3, 0x1a
bpl 0xf888
subs.w r6, r5, 0x3e
strb r5, [r4], 1
it ne
movne r6, 1
b 0xf73a
cmp r5, 0x2d
add.w sl, sl, 1
strb r5, [r4], 1
beq.w 0xf978
cmp fp, sl
beq.w 0xff9a
mov r0, r7
blx sym.imp.__snprintf_chk
mov r5, r0
adds r0, r5, 1
--
and r3, r3, 0x3f
adds r5, r2, 1
orn r3, r3, 0x7f
str r5, [sp, 0x38]
strb r3, [r2]
ldrb.w r2, [sp, 0x3c]
ldr r3, [sp, 0x38]
str r0, [sp, 0x38]
strb r2, [r4], 1
add r2, sp, 0x3c
sub.w r8, r3, r2
add.w r8, r8, -1
b 0xf73a
cmp r5, 0x3e
beq 0xf9c8
add.w sl, sl, 1
strb r5, [r4], 1
cmp fp, sl
beq.w 0xff8e
mov r0, r7
blx sym.imp.__snprintf_chk
adds r6, r0, 1
mov r5, r0
beq.w 0xfdf2
cmp r0, 0x7f
mov.w r6, 3
ble.w 0xf7a4
ldr r3, [r7, 4]
lsls r0, r3, 0x1a
bpl 0xf888
cmp r5, 0x3f
add.w sl, sl, 1
strb r5, [r4], 1
bne 0xf8f6
cmp fp, sl
beq.w 0xffe0
mov r0, r7
blx sym.imp.__snprintf_chk
adds r6, r0, 1
mov r5, r0
--
b 0xf8ee
cmp r5, 0x2d
beq.w 0xf7d8
add.w sl, sl, 1
strb r5, [r4], 1
b 0xf866
cmp r5, 0x5d
add.w sl, sl, 1
strb r5, [r4], 1
beq 0xf9a0
cmp sl, fp
bne.w 0xf794
mov r3, r7
movs r6, 1
mov r7, r8
mov r8, r3
b 0xf6f8
cmp fp, sl
beq.w 0xffd4
mov r0, r7
blx sym.imp.__snprintf_chk
adds r2, r0, 1
mov r5, r0
beq.w 0xfdf2
cmp r0, 0x7f
mov.w r6, 6
ble.w 0xf7a4
ldr r3, [r7, 4]
lsls r3, r3, 0x1a
bpl.w 0xf888
b 0xf952
cmp fp, sl
beq.w 0xfff8
mov r0, r7
blx sym.imp.__snprintf_chk
mov r5, r0
adds r0, r5, 1
beq.w 0xfdf2
cmp r5, 0x7f
mov.w r6, 4
ble.w 0xf7a4
ldr r3, [r7, 4]
lsls r1, r3, 0x1a
bmi.w 0xf786
b 0xf888
add.w r3, sl, 1
mov r2, r4
cmp fp, r3
strb r5, [r2], 1
str r3, [sp, 0x28]
str r2, [sp, 0x24]
beq.w 0xffbc
mov r0, r7
blx sym.imp.__snprintf_chk
adds r1, r0, 1
ldr r2, [sp, 0x24]
mov r5, r0
beq.w 0xffb2
cmp r0, 0x7f
ldr r3, [sp, 0x28]
ble.w 0xff06
ldr r6, [r7, 4]
ands r6, r6, 0x20
beq.w 0xffac
ldr r3, [sp, 0xc]
adds r4, 2
ldr r2, [sp, 0x14]
strb r0, [r4, -0x1]
adds r3, 1
cmp r2, r3
str r3, [sp, 0xc]
blo 0xfa4c
add.w sl, sl, 2
cmp fp, sl
beq.w 0xffbc
mov r0, r7
blx sym.imp.__snprintf_chk
adds r2, r0, 1
mov r5, r0
--
bne.w 0xff46
and r0, r0, 3
orn r0, r0, 7
strb.w r0, [sp, 0x3c]
add.w r0, sp, 0x3d
mov r8, r0
and r5, lr, 0x3f
add.w r1, r8, 1
orn r5, r5, 0x7f
str r1, [sp, 0x38]
strb.w r5, [r8]
ldr r1, [sp, 0x38]
and r5, ip, 0x3f
add.w ip, r1, 1
orn r5, r5, 0x7f
str.w ip, [sp, 0x38]
strb r5, [r1]
ldr r5, [sp, 0x38]
b 0xfa9e
mov r0, r7
blx sym.imp.__snprintf_chk
cmp r0, 0x2f
beq.w 0x10120
cmp r0, 0x21
bne.w 0xff66
mov r0, r7
blx sym.imp.__snprintf_chk
cmp r0, 0x5b
bne.w 0x10186
mov r0, r7
blx sym.imp.__snprintf_chk
cmp.w r0, -1
it ne
--
mov.w r8, 1
strb r2, [r4], 1
add r3, pc
str r3, [sp, 0x38]
b 0xfa3e
movs r3, 0x3e
movs r6, 0
strb r3, [r4], 1
b 0xfa3e
ldr r3, [sp, 0x20]
cbnz r3, 0x10108
movs r3, 0x2f
movs r6, 0
strb r3, [r4], 1
b 0xfa3e
movs r3, 0x22
movs r6, 0
strb r3, [r4], 1
b 0xfa3e
mov r0, r7
blx sym.imp.__snprintf_chk
cmp r0, 0x3e
str.w r0, [sb, 0xb8]
--
b 0xfa3e
ldr r2, [sp, 0x18]
ldr r3, [sp, 0x20]
cmp r3, 0
ite ne
movne r2, 0
andeq r2, r2, 1
cbnz r2, 0x10150
ldr r3, [sp, 0x20]
adds r3, 1
str r3, [sp, 0x20]
b 0x1012a
ldr r2, [sp, 0x10]
mov r8, r7
ldr.w sb, [sp, 0xc]
ldr.w r3, [r2, 0xb0]
subs r3, 1
str.w r3, [r2, 0xb0]
b 0xfc30
mov r0, r7
blx sym.imp.__snprintf_chk
mov r5, r0
adds r0, r5, 1
--
movs r6, 3
lsls r1, r3, 0x1a
bpl.w 0xf888
b.w 0xf91a
cmp r0, 0x2d
beq 0x101ac
ldr r3, [sp, 0x30]
movs r6, 0
mov.w r8, 1
str.w r0, [sb, 0xb8]
str r3, [sp, 0x38]
movs r3, 0x3c
strb r3, [r4], 1
b 0xfa3e
ldr.w sb, [sp, 0xc]
mov r8, r7
mvn r5, 2
b 0xfc30
mov r0, r7
mov.w r8, 2
blx sym.imp.__snprintf_chk
ldr r2, [sp, 0x34]
sub.w r5, r0, 0x2d
--
str r6, [sp, 4]
blx 0x5ec8
mov r4, r0
b 0x120cc
nop
ldrb r6, [r0, 0x17]
movs r0, r0
push.w {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov fp, r2
add.w sb, fp, -1
mov sl, r0
cmp.w sb, 0
mov.w r0, 0
mov r5, r2
mov r4, r1
mov r7, r0
add.w r6, sl, 0x3000
movw r8, 0x30d8
ble 0x12196
mov r0, sl
blx sym.imp.__snprintf_chk
cmp r0, 0xa
it ne
cmpne r0, 0xd
beq 0x12196
adds r2, r0, 1
beq 0x121f0
strb r0, [r4], 1
mov fp, sb
add.w sb, fp, -1
cmp.w sb, 0
bgt 0x12174
cmp r0, 0xa
beq 0x121be
mov r0, sl
blx sym.imp.__snprintf_chk
cmp r0, 0xa
beq 0x121be
--
sub sp, 0x10
add r2, pc
mov r4, r0
ldr r3, [r2, r3]
ldr r3, [r3]
str r3, [sp, 0xc]
mov.w r3, 0
ldr r3, [r0, 4]
lsls r2, r3, 0x18
bpl.w 0x12716
add.w r7, r0, 0x16000
ldr.w r3, [r7, 0x1a0]
cmp r3, 0
bne 0x126d4
ldr.w r3, [r7, 0x19c]
cmp r3, 0
bne 0x126d4
mov r5, sp
add r6, sp, 0xc
mov r0, r4
blx sym.imp.__snprintf_chk
adds r3, r0, 1
beq 0x12724
--
beq 0x12734
ldrb.w r5, [r7, 0x1a4]
ands r5, r5, 2
beq 0x126fa
ldr r3, [r4, 4]
movs r5, 0
bic r3, r3, 0x80
str r3, [r4, 4]
b 0x126fa
ldr.w r5, [r7, 0x198]
mov r0, r4
blx 0x659c
mov r1, r0
mov r0, r4
subs r1, r5, r1
blx 0x6784
mov r5, r0
cbnz r0, 0x12724
mov r0, r4
add.w r4, r4, 0x3000
blx sym.imp.__snprintf_chk
str.w r0, [r4, 0xb8]
ldr r2, [0x0001276c]
--
cmp r3, 0
bne 0x134c0
cmp r2, 0
beq 0x135d8
movs r1, 0
mov.w r2, 0x400
mov r0, fp
mov r6, fp
blx 0x5cb0
ldr r0, [r5]
ldr r3, [sp, 0xc]
str.w r0, [fp]
ldr.w r1, [r3, 0x1c4]
cbz r1, 0x1350c
mov.w r3, 0x400
mov.w r2, 0x3fc
mov r0, fp
blx 0x5dc8
mov sb, fp
mov r0, sl
blx sym.imp.__snprintf_chk
mov r1, sb
ldrb r2, [sb], 1
--
mov r0, sl
mov r1, r4
blx r3
ldr r3, [sp, 0xc]
ldr.w r0, [r3, 0x184]
cmp r0, 0
bne 0x13634
ldr r1, [sp, 0x18]
mov r0, sl
bl 0x12810
cmp r5, 0x2d
beq 0x136fa
cmp r5, 0xd
beq 0x136d0
cmp r5, 0x20
bls 0x136bc
b 0x136e6
cmp r0, 0x20
bhi 0x136e6
mov r0, sl
blx sym.imp.__snprintf_chk
cmp r0, 0xd
it ne
cmpne r0, -1
bne 0x136b8
cmp r0, 0xd
bne 0x136e6
mov r0, sl
blx sym.imp.__snprintf_chk
cmp r0, 0xa
bne 0x136e6
mov r0, sl
blx sym.imp.X509_STORE_CTX_set_error
cmp r0, 0
beq 0x13622
b 0x13634
movs r2, 0
movs r3, 0x24
str r2, [sp, 0x18]
ldr r2, [sp, 0xc]
ldr r0, [sp, 0x18]
str.w r3, [r2, 0x184]
add sp, 0x24
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r0, sl
blx sym.imp.__snprintf_chk
cmp r0, 0x2d
bne 0x136e6
--
str r2, [r5, 4]
strh.w r3, [r8, 0x6ee]
strh.w r3, [r8, 0x6f0]
strd r3, r3, [r1]
mov.w r3, 0x10000
str r3, [r1, 0x10]
add.w r3, r8, 0x700
str.w sb, [r1, 0xc]
str r0, [r3]
ldr.w r3, [r8, 0x2a8]
cbz r3, 0x13ac8
blx 0x5b30
ldr r3, [r7, 0x54]
cbz r3, 0x13ada
mov r0, r5
blx r3
str.w r0, [r6, 0x184]
cmp r0, 0
bne.w 0x13c56
mov r0, r5
blx sym.imp.__snprintf_chk
cmp r0, 0x1f
mov r4, r0
bne 0x13af0
b 0x13dc0
mov r0, r5
blx sym.imp.__snprintf_chk
mov r4, r0
cmp r4, 0x20
bls 0x13ae8
cmp r4, 0x2d
beq.w 0x13c5c
movw r3, 0xfffc
ands r3, r4
cmp r3, 0xc
beq.w 0x13d9c
cmp r4, 0xef
bne 0x13b14
b 0x13e76
mov r0, r5
blx sym.imp.__snprintf_chk
mov r4, r0
cmp r4, 0x20
--
movw r2, 0x30d8
ldrb r2, [r3, r2]
cmp r2, 0x2d
bne.w 0x13b1e
ldr r3, [r5, 4]
orr r3, r3, 0x100
str r3, [r5, 4]
str.w r2, [r7, 0xb8]
b 0x13b2a
ldr.w r0, [r6, 0x184]
cmp r0, 0
bne.w 0x13ea6
ldr r3, [r5, 4]
lsls r2, r3, 0x17
bpl 0x13cb8
movw r4, 0x30d8
b 0x13c9c
cmp r0, 0x2d
beq 0x13cc8
mov r0, r5
blx sym.imp.__snprintf_chk
adds r3, r0, 1
bne 0x13c98
--
blx 0x5ed4
str.w r0, [r8, 0x6e0]
ldr.w r0, [r8, 0x6f4]
cmp r0, 0
beq 0x13f2a
mov.w r2, 0x10000
mov r1, sb
blx 0x6064
ldr.w r3, [r7, 0xb0]
ldr.w r2, [r8, 0x6f4]
ldr.w r1, [r7, 0xb4]
ldr.w r0, [r8, 0x6dc]
add r2, r3
str r2, [r0]
subs r2, r1, r3
str r2, [r0, 4]
str.w r1, [r8, 0x6f8]
str.w r3, [r7, 0xb4]
b 0x13ae8
mov r0, r5
blx sym.imp.__snprintf_chk
cmp r0, 0xbb
mov r4, r0
bne.w 0x13b14
mov r0, r5
blx sym.imp.__snprintf_chk
cmp r0, 0xbf
mov r4, r0
--
it ne
movne r8, 1
cmp r7, r4
ite hs
movhs r2, 0
andlo r2, r8, 1
cbnz r2, 0x1426c
add r6, r3
b 0x14262
strb r0, [r5], 1
cmp r5, r6
beq 0x14206
adds r4, 1
beq 0x14286
cmp r7, r4
ite hs
movhs r3, 0
andlo r3, r8, 1
cbnz r3, 0x1426c
mov r0, sl
blx sym.imp.__snprintf_chk
adds r3, r0, 1
bne 0x1424a
[*] Function printf used 38 times libsoap.so