[*] Binary protection state of libmbedtls.so.2.2.1

  
  	Partial RELRO  No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   Symbols


[*] Function printf tear down of libmbedtls.so.2.2.1

subs ip, r7, 1
bne 0x4e4c
ldr r2, [r1]
mov r7, 1
mov lr, r7
mov r3, 0x1f
b 0x4e80
subs r3, r3, 1
blo 0x4e90
lsr r1, r2, r3
tst r1, 1
beq 0x4e78
add ip, r3, lr
ldr r2, [0x00005098]
add sl, sp, 0x28
str ip, [sp]
ldr r3, [sp, 0x250]
add r2, pc, r2
mov r1, 0x200
mov r0, sl
bl sym.imp.snprintf
ldr r3, [sp, 0x14]
ldr r2, [sp, 0x1c]
--
beq 0x502c
mov sb, 3
ldr r5, [sp, 0x10]
lsl r6, sb, 3
tst r5, 0xf
moveq r3, 1
movne r3, 0
cmp r5, 0
moveq r3, 0
cmp r3, 0
add r0, sl, r4
rsb r1, r4, 0x200
bne 0x4ff0
ldr r3, [fp, 8]
ldr r2, [sp, 0xc]
ldr r3, [r3, r8]
add r4, r4, 3
lsr r3, r3, r6
sub r6, r6, 8
and r3, r3, 0xff
bl sym.imp.snprintf
cmn r6, 8
add r5, r5, 1
bne 0x4f34
ldr r3, [sp, 0x10]
add r3, r3, 1
add r3, sb, r3
mov sb, 0
str r3, [sp, 0x10]
subs r7, r7, 1
sub r8, r8, 4
bne 0x4f08
cmp sb, 1
add r0, sl, r4
rsb r1, r4, 0x200
moveq r7, r4
beq 0x5068
ldr r2, [0x000050a4]
add r2, pc, r2
bl sym.imp.snprintf
ldr r3, [sp, 0x14]
ldr r2, [sp, 0x1c]
ldr ip, [r3]
ldr r1, [sp, 0x18]
ldr r0, [ip, 0x14]
ldr r3, [sp, 0x20]
str sl, [sp]
ldr r4, [ip, 0x10]
blx r4
add sp, sp, 0x22c
pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r2, [sp, 0x24]
bl sym.imp.snprintf
ldr r3, [sp, 0x14]
ldr r1, [sp, 0x18]
--
mov r0, sl
b 0x4f58
lsrs r2, r3, 0x10
movne sb, 2
bne 0x4f2c
lsr r2, r3, 8
ands r2, r2, 0xff
bne 0x4f2c
tst r3, 0xff
movne sb, r2
bne 0x4f2c
b 0x4f98
lsl ip, ip, 5
add lr, ip, 1
b 0x4e70
mov r1, 0x200
mov r0, sl
ldr r2, [0x000050a8]
add r7, r7, 3
add r2, pc, r2
bl sym.imp.snprintf
add r0, sl, r7
rsb r1, r7, 0x200
--
cmp ip, 0
bxeq lr
ldr ip, [0x00005170]
add ip, pc, ip
ldr ip, [ip]
cmp ip, r1
bxlt lr
push {r4, r5, r6, r7, r8, lr}
sub sp, sp, 0x210
add ip, sp, 0x22c
add r8, sp, 0x10
mov r7, r3
mov r6, r2
mov r3, ip
mov r5, r1
mov r4, r0
ldr r2, [sp, 0x228]
mov r0, r8
mov r1, 0x200
str ip, [sp, 0xc]
bl sym.imp.vsnprintf
ldr r3, [0x00005174]
cmp r0, r3
--
orrlt ip, ip, 1
cmp ip, 0
beq 0x51cc
add sp, sp, 0x208
pop {r4, r5, r6, r7, r8, pc}
mov r5, r2
ldr r2, [sp, 0x224]
mov r6, r3
ldr r3, [sp, 0x224]
str r2, [sp]
ldr r2, [0x00005238]
add r7, sp, 8
rsb r3, r3, 0
mov r8, r1
mov r4, r0
str r3, [sp, 4]
mov r0, r7
ldr r3, [sp, 0x220]
add r2, pc, r2
mov r1, 0x200
bl sym.imp.snprintf
ldr ip, [r4]
mov r3, r6
--
cmp ip, r1
bxlt lr
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, 0x23c
mov r8, r3
str r3, [sp, 0x18]
mov r6, r2
ldr r3, [sp, 0x268]
str r2, [sp, 0x14]
ldr r2, [0x0000548c]
add r7, sp, 0x38
mov r4, r0
mov r5, r1
str r1, [sp, 0x10]
str r0, [sp, 0xc]
str r3, [sp]
add r2, pc, r2
ldr r3, [sp, 0x260]
mov r1, 0x200
mov r0, r7
bl sym.imp.snprintf
ldr ip, [r4]
mov r3, r8
--
ldr r3, [0x00005494]
ldr sl, [0x00005498]
add r3, pc, r3
mov r5, r4
mov lr, 0x200
str r3, [sp, 0x1c]
add fp, pc, fp
add sl, pc, sl
b 0x5334
cmp r5, 0x1000
beq 0x544c
add ip, r7, r4
ands r6, r5, 0xf
mov r3, r8
mov r2, fp
mov r1, lr
mov r0, ip
bne 0x53c0
cmp r5, 0
beq 0x53a0
bl sym.imp.snprintf
ldr r3, [sp, 0xc]
ldr r2, [sp, 0x14]
ldr ip, [r3]
ldr r1, [sp, 0x10]
ldr r0, [ip, 0x14]
ldr r3, [sp, 0x18]
str r7, [sp]
ldr r4, [ip, 0x10]
blx r4
mov r4, r6
mov lr, 0x200
mov ip, r7
str r6, [r8]
str r6, [r8, 4]
str r6, [r8, 8]
str r6, [r8, 0xc]
strb r6, [r8, 0x10]
mov r1, lr
mov r0, ip
add r4, r4, 6
mov r3, r5
ldr r2, [sp, 0x1c]
bl sym.imp.snprintf
add ip, r7, r4
rsb lr, r4, 0x200
ldrb r3, [sb, 1]!
mov r1, lr
mov r2, sl
mov r0, ip
bl sym.imp.snprintf
ldrb r3, [sb]
add r4, r4, 3
--
add r2, sp, 0x238
add r6, r2, r6
ldr r2, [sp, 0x268]
add r5, r5, 1
movhi r3, 0x2e
rsb lr, r4, 0x200
cmp r2, r5
strb r3, [r6, -0x214]
mov r1, lr
add r0, r7, r4
bne 0x532c
tst r5, 0xf
beq 0x544c
ldr r6, [0x0000549c]
add r6, pc, r6
b 0x5428
rsb r1, r4, 0x200
add r0, r7, r4
add r5, r5, 1
mov r2, r6
bl sym.imp.snprintf
tst r5, 0xf
add r4, r4, 3
bne 0x5424
add r0, r7, r4
rsb r1, r4, 0x200
ldr r2, [0x000054a0]
mov r3, r8
add r2, pc, r2
bl sym.imp.snprintf
ldr r3, [sp, 0xc]
ldr r2, [sp, 0x14]
--
add ip, pc, ip
ldr ip, [ip]
cmp ip, r1
poplt {r4, pc}
pop {r4, lr}
b sym.mbedtls_debug_print_mpi.part.1
andeq lr, r2, r0, ror lr
push {r4, r5, r6, r7, r8, sb, lr}
mov r8, r2
sub sp, sp, 0x20c
ldr r2, [0x00005578]
ldr r5, [sp, 0x22c]
add r4, sp, 8
mov r6, r0
mov r7, r1
mov sb, r3
mov r0, r4
ldr r3, [sp, 0x228]
add r2, pc, r2
mov r1, 0x200
bl sym.imp.snprintf
stm sp, {r4, r5}
mov r3, sb
mov r2, r8
mov r1, r7
mov r0, r6
bl 0x49fc
ldr r2, [0x0000557c]
ldr r3, [sp, 0x228]
mov r0, r4
add r2, pc, r2
mov r1, 0x200
add r5, r5, 0xc
bl sym.imp.snprintf
stm sp, {r4, r5}
mov r3, sb
--
ldr r3, [0x00005884]
mov fp, r1
add r3, pc, r3
str r3, [sp, 0x14]
add r3, sp, 0x40
str r3, [sp, 0x1c]
mov r8, r0
add r3, sp, 0x440
add r5, sp, 0x240
str ip, [sp, 0xc]
str r3, [sp, 0x18]
ldr r3, [sp, 0xc]
ldr r6, [sp, 0x1c]
add r3, r3, 1
str r3, [sp, 0xc]
str r3, [sp]
ldr r2, [sp, 0x10]
ldr r3, [sp, 0x868]
mov r1, 0x200
mov r0, r6
bl sym.imp.snprintf
ldr ip, [r8]
mov r3, sl
--
add r3, pc, r3
str r3, [sp, 0x20]
ldr r3, [0x00005898]
add r3, pc, r3
str r3, [sp, 0x24]
ldr r3, [0x0000589c]
add r3, pc, r3
str r3, [sp, 0x2c]
add r3, r5, 0x24
str r3, [sp, 0x28]
ldr ip, [r6]
add r7, sp, 0x30
cmp ip, 0
ldr r3, [sp, 0x20]
ldr r2, [sp, 0x24]
mov r1, 0x10
mov r0, r7
beq 0x577c
ldr ip, [r6, 4]
str ip, [sp]
bl sym.imp.snprintf
ldr r0, [r6]
mov ip, 0

[*] Function printf used 17 times libmbedtls.so.2.2.1