[*] Binary protection state of libgmp.so.10.4.1
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libgmp.so.10.4.1
mov r3, r4
mov r2, sl
mov r1, r5
str.w ip, [sp]
blx 0x8dfc
ldr r0, [r7]
cbnz r0, 0x1ee8a
ldr r2, [0x0001eec4]
ldr r3, [0x0001eec0]
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [r7, 4]
eors r2, r3
mov.w r3, 0
bne 0x1eeb8
adds r7, 8
mov sp, r7
pop.w {r4, r5, r6, r7, r8, sb, sl, pc}
add.w r0, r4, r8
blx sym.imp.__snprintf_chk
asrs r3, r0, 1
mov sb, r0
--
ldr r0, [r7, 0x30]
str r2, [r7, 0xc]
subs r2, r1, r2
sub.w r3, ip, r3
cmp r3, r2
sub.w ip, ip, r0
it ge
movge r3, r2
ldr r2, [r7, 0x18]
add.w sb, r3, 1
str r0, [r7, 8]
subs r1, r1, r2
cmp ip, r1
it ge
movge ip, r1
add.w r3, ip, 1
cmp sb, r3
it lt
movlt sb, r3
add.w r0, sb, 1
blx sym.imp.__snprintf_chk
asrs r3, r0, 1
lsls r2, r0, 1
--
asrs r5, r3, 1
str r3, [r2], 4
adds r3, r5, 1
cmp.w r3, 0x1da
bge 0x31698
mov fp, r3
lsls r3, r4, 2
str r2, [r7, 0x34]
mov r2, fp
adds r5, r0, r3
lsl.w r0, fp, 2
add r1, r3
str r1, [r7, 0x18]
mov r3, sb
subs r1, r1, r0
subs r0, r5, r0
bl 0x31550
movs r3, 0
adds r0, r4, 1
str r3, [r7, 0x3c]
blx sym.imp.__snprintf_chk
asrs r3, r0, 1
adds r1, r0, 4
--
cmp.w r1, 0x7f00
bhi.w 0x31a24
adds r1, 7
bic r1, r1, 7
sub.w sp, sp, r1
add r3, sp, 0x10
str r3, [r7, 0xc]
ldr r3, [r7, 0x18]
mov r4, fp
mov fp, r5
subs r3, 4
str r3, [r7, 4]
ldr r3, [r7, 0x34]
mov r5, r4
ldr r4, [r3, -0x4]!
str r3, [r7, 0x34]
adds r0, r4, 1
lsl.w sl, r4, 2
subs r3, r4, r5
str r3, [r7, 0x2c]
blx sym.imp.__snprintf_chk
lsls r3, r5, 2
rsb.w r2, sl, 0
--
str r5, [sp]
blx 0x9154
b 0x31ae0
movs r3, 1
b 0x31b1c
cmp sb, r3
add.w r0, r2, -1
bls 0x31b7c
mov r2, r0
b 0x31ad0
cmp sb, r3
it hs
cmphs r1, ip
it ls
subls r2, 2
bls 0x31ad0
mov r2, r0
b 0x31ad0
push {r4, lr}
mov r4, r0
blx sym.imp.__snprintf_chk
asrs r2, r0, 1
adds r3, r0, 4
--
cmp r3, 0
bne.w 0x31dc6
subs r3, r5, 1
mov r1, r8
b 0x31c4c
cbz r3, 0x31c62
ldr r2, [r1, 4]!
mov r0, r3
subs r3, 1
cmp r2, 0
beq 0x31c4a
rsbs r2, r2, 0
str r2, [r1]
subs r2, r0, 1
bne.w 0x31dbc
cmp sb, r5
ble 0x31d0a
mov r7, r5
ldr r5, [fp, -0x4]!
mov r0, r5
blx sym.imp.__snprintf_chk
add.w r4, r6, r0, lsl 2
mov sl, r0
--
mov r4, ip
mov r2, r6
ldr r3, [r2], 4
adds r3, 1
str r3, [r2, -0x4]
cmp r3, 0
beq 0x348b2
mov r3, r5
mov r2, sb
mov r1, r4
mov r0, r4
blx 0x8b54
ldr r3, [sp, 0x10]
cmp r3, 0
bgt.w 0x347ca
ldr r7, [sp, 0x38]
mov r0, r7
add sp, 0x44
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, [sp, 0x30]
blx sym.imp.__snprintf_chk
add.w r3, sl, r0, lsl 2
mov r1, r0
--
blx 0x93b4
ldr r0, [sp, 0x14]
add sp, 0x34
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
strd r6, r8, [sp, 0x5c]
str.w sl, [sp, 0x58]
add sp, 0x34
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
b 0x34a00
add.w r1, r8, r4, lsl 2
ldr r3, [sp, 0x2c]
mov r2, sl
mov r0, r1
blx 0x93b4
b 0x34bea
nop
push {r3, r4, r5, lr}
adds r0, r1, 1
mov r4, r1
mov r5, r2
blx sym.imp.__snprintf_chk
asrs r2, r0, 1
adds r3, r0, 4
--
cmp r3, 0
bne.w 0x35182
cmp r2, r0
blt 0x34f8a
adds r4, 1
cbz r4, 0x34fba
ldr r3, [sp, 0x38]
adds r3, 1
beq.w 0x35190
ldr r3, [sp, 0x2c]
cmp r3, 0
ble 0x34fba
mov r2, sl
movs r1, 0xff
mov r0, sb
blx 0x86ac
ldr r0, [sp, 0x3c]
add sp, 0x4c
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, [sp, 0x34]
blx sym.imp.__snprintf_chk
adds r3, r0, r6
mov r1, r0
--
ble 0x35210
subs r6, 1
mov r1, r4
mov r0, r6
bl 0x3cb30
adds r1, r0, 1
mov r0, r6
bl 0x3cb30
adds r6, r0, 1
adds r5, r0, 2
b 0x351e6
cmp r6, r4
mov r1, r2
it ge
movge r6, r4
subs r0, r6, 1
bl 0x3cb30
adds r6, r0, 1
adds r5, r0, 2
adds r0, r4, 1
blx sym.imp.__snprintf_chk
asrs r2, r0, 1
adds r3, r0, 4
--
beq.w 0x36110
ldr r3, [sp, 0x14]
mov r1, r7
str r0, [sp]
sub.w sl, sl, r4
ldrd r2, r0, [sp, 0x2c]
add r7, r3
mov r3, r4
blx 0x8788
ldrd r1, r2, [sp, 0x18]
mov sb, r0
mov r3, r4
mov r0, r6
blx 0x8328
cmp r4, sl
mov r5, sb
bge.w 0x360a8
cmp r4, 0x22
ble 0x35ef0
mov r0, fp
blx sym.imp.__snprintf_chk
ldr r3, [sp, 0x1c]
mov r1, r0
--
ldr r3, [r5]
cbnz r3, 0x36024
ldr r3, [sp, 0x34]
ldr r2, [sp, 0x34]
cbnz r3, 0x36018
b 0x36030
cbz r2, 0x36030
ldr r3, [r5, 4]!
subs r2, 1
cmp r3, 0
beq 0x36016
str r2, [sp, 0x34]
rsbs r3, r3, 0
str r3, [r5]
ldr r3, [sp, 0x34]
cmp r3, 0
bne.w 0x361a0
add sp, 0x4c
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r0, r6
blx sym.imp.__snprintf_chk
add.w r3, r0, r8
mov r1, r0
--
ldr r0, [sp, 0x30]
str.w sb, [sp]
subs r3, r4, r2
ldr r2, [sp, 0x2c]
blx 0x8788
ldr r1, [sp, 0x18]
mov r3, r4
mov r2, sl
mov r0, r6
blx 0x8328
b 0x3600a
ldr r2, [sp, 0x2c]
ldr r3, [r2], 4
adds r3, 1
str r3, [r2, -0x4]
cmp r3, 0
beq 0x36112
movs r0, 1
b 0x35f1c
mov r0, fp
blx sym.imp.__snprintf_chk
mov r1, r0
ldr r0, [sp, 0x24]
--
adds r5, r0, 1
cmp r5, 0x22
itt le
addle r0, r6, r5
movle r3, 0
bgt 0x3620e
adds r4, r0, r6
add r4, r3
mov r0, r5
blx 0x8b94
cmp r4, r0
ite ge
addge r0, r5, r4
addlt r0, r5, r0
pop {r4, r5, r6, pc}
sub.w r5, r0, r0, asr 1
cmp r5, 0x22
it le
addle r4, r4, r5
ble 0x361da
blx sym.imp.__snprintf_chk
asrs r2, r0, 1
adds r3, r0, 4
cmp r4, r2
ble 0x3620a
cmp r5, r2
ite le
addle r3, r3, r2
addgt r3, r3, r0
adds r4, r0, r3
b 0x361da
mov r0, r6
blx sym.imp.__snprintf_chk
asrs r2, r0, 1
adds r3, r0, 4
--
cmp r6, 2
beq.w 0x36538
ldr r3, [sp, 0x14]
mov r1, sb
str r6, [sp]
ldrd r2, r0, [sp, 0x20]
add sb, r3
mov r3, r4
blx 0x8788
cmp r4, r8
mov r6, r0
bge.w 0x364d4
ldr r1, [sp, 0x10]
mov r3, r4
mov r2, fp
mov r0, r5
blx 0x8328
cmp r4, 0x22
ble 0x362c2
mov r0, sl
blx sym.imp.__snprintf_chk
ldr r7, [sp, 0x30]
adds r3, r0, r4
--
subs r3, 1
cmp r0, 0
beq 0x3643c
str r3, [sp, 0x28]
str r2, [sp, 0x1c]
ldr r3, [sp, 0x1c]
rsbs r0, r0, 0
str r0, [r3]
ldr r3, [sp, 0x28]
cmp r3, 0
bne.w 0x3662c
ldr r1, [sp, 0x10]
mov r3, sl
ldr r2, [sp, 0x68]
mov r0, r1
blx 0x93b4
subs r0, r0, r4
add sp, 0x44
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r0, sl
blx sym.imp.__snprintf_chk
ldr r3, [sp, 0x1c]
mov r1, r0
--
cmp r6, 2
beq 0x36610
ldr r3, [sp, 0x10]
ldr r2, [sp, 0x20]
ldr r1, [sp, 0x2c]
str r6, [sp]
add.w r0, r3, r4, lsl 2
mov r3, r8
blx 0x8788
mov r4, r0
b 0x3642c
ldr r2, [sp, 0x20]
ldr r3, [r2], 4
adds r3, 1
str r3, [r2, -0x4]
cmp r3, 0
beq 0x3653a
movs r6, 1
b 0x362f0
mov r0, sl
blx sym.imp.__snprintf_chk
ldr r7, [sp, 0x18]
mov r5, r0
--
ble 0x364fc
mov r3, r5
ldr r2, [sp, 0x10]
add r5, r4
mov r1, r7
mov r0, sb
blx 0x8b54
ldr.w r2, [fp, r5, lsl 2]
add.w r3, fp, r5, lsl 2
cmp r0, r2
sub.w r1, r2, r0
str.w r1, [fp, r5, lsl 2]
bls 0x364fc
ldr r2, [r3, 4]!
subs r1, r2, 1
str r1, [r3]
cmp r2, 0
beq 0x365a2
b 0x364fc
mov r0, sl
blx sym.imp.__snprintf_chk
add.w r3, r0, sb
str r6, [sp]
--
nop
push {r3, r4, r5, lr}
subs r4, r0, r1
cmp r1, r4
mov r5, r1
it ge
subge r4, r4, r4, asr 1
bge 0x36672
subs r4, 1
mov r0, r4
bl 0x3cb30
adds r1, r0, 1
mov r0, r4
bl 0x3cb30
adds r4, r0, 1
cmp r4, 0x22
it le
addle r5, r5, r4
ble 0x3668a
mov r0, r5
blx sym.imp.__snprintf_chk
asrs r2, r0, 1
adds r3, r0, 4
--
str r0, [sb], 4
b 0x37150
nop
push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, 0x24
ldr r6, [0x00037330]
mov r5, r3
add r7, sp, 0x10
ldr r4, [0x00037334]
movs r3, 0
add r6, pc
mov sl, r0
mov r0, r5
mov sb, r2
ldr r4, [r6, r4]
mov r8, r1
ldr r4, [r4]
str r4, [r7, 0xc]
mov.w r4, 0
str r3, [r7, 8]
blx sym.imp.__snprintf_chk
cmp.w r5, r0, asr 1
add.w r3, r0, 4
--
push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, 0x1c
ldr.w fp, [sp, 0x44]
mov r5, r3
lsls r3, r3, 3
mov.w r8, 1
str r0, [sp, 8]
mov sl, r2
add.w r4, fp, r3
adds r0, r3, 4
sub.w sb, r4, r5, lsl 2
add r0, fp
mov r6, r1
str.w r8, [fp, r5, lsl 3]
add r3, sb
subs r1, r5, 1
str r3, [sp, 0xc]
ldr r7, [sp, 0x40]
str r2, [sp, 0x10]
str r1, [sp, 0x14]
blx sym.imp.__vsnprintf_chk
mov r2, r5
mov r1, sl
mov r0, sb
blx sym.imp.ferror
ldr r0, [sp, 8]
mov r1, r5
blx sym.imp.__vsnprintf_chk
mov r1, sl
ldr.w sl, [sp, 0xc]
--
str r1, [sp, 4]
add r1, sp, 0xc
blx 0x9078
ldr r2, [0x0003b120]
ldr r3, [0x0003b110]
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 0x1c]
eors r2, r3
mov.w r3, 0
bne 0x3b106
add sp, 0x20
pop {r4, r5, r6, pc}
blx 0x8e84
nop
bls 0x3b1a8
movs r0, r0
lsls r0, r1, 0x17
movs r0, r0
bls sym.__gmp_vsnprintf
movs r0, r0
lsls r4, r6, 0x15
[*] Function printf used 24 times libgmp.so.10.4.1