[*] Binary protection state of httpd
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of httpd
cbnz r0, 0x1bf42
ldrb r3, [r5]
cmp r3, 0xa
ittt eq
ldreq r3, [r4, 0x14]
addeq r3, 1
streq r3, [r4, 0x14]
pop {r3, r4, r5, pc}
push {r4, lr}
sub sp, 0x10
mov ip, r2
str r2, [sp, 0xc]
cbz r2, 0x1bf68
cmp.w ip, 0x1c
ldrd r2, r3, [r1, 0x10]
beq 0x1bf6e
ldr r1, [0x0001bf7c]
add r4, sp, 0xc
str r4, [sp]
add r1, pc
blx sym.imp.apr_snprintf
add sp, 0x10
pop {r4, pc}
mov r0, r2
add sp, 0x10
pop {r4, pc}
ldr r1, [0x0001bf80]
add r1, pc
blx sym.imp.apr_snprintf
add sp, 0x10
pop {r4, pc}
--
ldr.w r0, [sl]
ldrb.w r3, [sl, 4]
str r0, [r5, r4]
adds r4, 4
strb r3, [r7, 4]
b 0x1c936
ldr.w r0, [fp]
ldrh.w r3, [fp, 4]
str r0, [r5, r4]
adds r4, 5
strh r3, [r7, 4]
b 0x1c936
mov r2, r4
mov r1, r7
mov r0, sb
add sp, 0xc
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
b.w 0x18920
mov r0, sb
str r1, [sp, 4]
blx sym.imp.apr_snprintf
ldr r3, [r0]
adds r4, 5
--
nop
stc2l p0, c0, [r2, -8]!
lsls r4, r0, 1
movs r3, r0
ldc2l p0, c0, [r2, -8]
movs r4, r3
movs r3, r0
push {r4, r5, r6, r7, lr}
sub sp, 0xc
mov r5, r1
mov r6, r2
mov r4, r0
blx 0x1877c
ldr r1, [0x0001d150]
mov r7, r0
mov r3, r6
mov r2, r5
mov r0, r4
str r7, [sp]
add r1, pc
blx sym.imp.apr_snprintf
add sp, 0xc
pop {r4, r5, r6, r7, pc}
--
cmp r3, 2
bne 0x1e73a
mov r1, r5
ldr r0, [r4, 4]
blx sym.imp.apr_file_read_full
ldr r2, [r4, 0x18]
mov r5, r0
adds r2, 1
cmp r2, 0x80
str r2, [r4, 0x18]
bls 0x1e73e
ldr r2, [r4, 8]
ldr r0, [r4]
cmp r2, 0
beq 0x1e7ac
ldr r1, [0x0001e820]
movs r4, 0x80
mov r3, r5
str r4, [sp]
add r1, pc
blx sym.imp.apr_snprintf
b 0x1e720
ldr r3, [r4, 4]
--
add sp, 0x84
pop.w {r4, r5, r6, r7, r8, sb, pc}
ldr r3, [r4, 0x14]
b 0x1e69c
mov r1, r0
ldr r2, [r4, 4]
add r0, sp, 0xc
blx sym.imp.apr_uri_parse_hostinfo
mov r7, r0
str r0, [sp, 8]
cbz r0, 0x1e766
ldr r2, [r4, 8]
ldr r0, [r4]
cmp r2, 0
beq 0x1e808
ldr r1, [0x0001e828]
add r4, sp, 8
mov r3, r5
str r4, [sp]
add r1, pc
blx sym.imp.apr_snprintf
b 0x1e720
ldr r0, [r4, 4]
--
cmp r0, 0
beq 0x1e878
ldr r2, [r7, 4]
mov r1, r6
add r0, sp, 0x14
blx sym.imp.apr_uri_parse_hostinfo
mov r8, r0
str r0, [sp, 0x10]
cbz r0, 0x1e914
cmp r0, 2
beq 0x1e90a
ldr r2, [r7, 8]
ldr r0, [r7]
cmp r2, 0
beq 0x1e9bc
ldr r1, [0x0001ea1c]
add r4, sp, 0x10
mov r3, r6
str r4, [sp]
add r1, pc
blx sym.imp.apr_snprintf
ldr r2, [0x0001ea20]
ldr r3, [0x0001ea14]
--
ldr r2, [sp, 0x14]
mov r1, sb
mov r0, sl
blx 0x18874
cmp r0, 0
beq 0x1e93a
ldr r0, [sp, 0x14]
blx 0x181b8
ldr.w r1, [fp, 8]
cbnz r1, 0x1e9c2
ldr r3, [r7, 0x14]
lsls r3, r3, 0x1f
bmi 0x1e910
ldr r2, [r7, 8]
ldr r0, [r7]
cbz r2, 0x1ea06
ldr r1, [0x0001ea24]
mov r3, r5
str r6, [sp]
add r1, pc
blx sym.imp.apr_snprintf
b 0x1e8ee
ldr r2, [0x0001ea28]
--
movs r0, r0
b 0x230ca
vsri.32 d25, d6, 1
movs r4, r0
push {r1, r2, r3}
ldr.w ip, [0x00023598]
ldr r3, [r0, 4]
ldr r2, [0x0002359c]
add ip, pc
push {lr}
sub sp, 8
ldr r3, [r3, 0x54]
ldr.w r2, [ip, r2]
ldr r1, [sp, 0xc]
ldr r2, [r2]
str r2, [sp, 4]
mov.w r2, 0
cbnz r3, 0x2358c
add r2, sp, 0x10
str r2, [sp]
bl sym.ap_vrprintf
ldr r2, [0x000235a0]
ldr r3, [0x0002359c]
--
mov r0, r5
bl sym.ap_make_dirstr_parent
mov r3, r5
mov r1, r0
mov r7, r0
mov.w r2, 0x8000
add r0, sp, 0x20
blx sym.imp.apr_table_elts
mov r6, r0
cbnz r0, 0x27282
ldr r3, [sp, 0x2c]
cmp r3, 2
beq 0x272ba
movs r6, 0x14
ldr r2, [r4, 0x20]
cbz r2, 0x272dc
ldr r1, [0x00027304]
mov r0, r5
ldr r3, [r4, 0x24]
add r1, pc
blx sym.imp.apr_snprintf
ldr r3, [0x00027308]
movs r2, 0
--
ldr r3, [sp, 0x1c]
eors r2, r3
mov.w r3, 0
bne 0x27c1c
add sp, 0x24
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r3, [r5]
ldr r2, [sp, 0x14]
ldr r1, [sp, 0xc]
str r2, [r1]
cmp r3, 0
beq 0x27b7c
subs r3, 1
str r3, [r5]
b 0x27b7c
ldr r1, [0x00027c3c]
movs r3, 0
movs r2, 0x80
str r3, [r5]
add r1, pc
blx sym.imp.apr_snprintf
b 0x27b7c
ldr.w sb, [0x00027c40]
--
blx 0x17e3c
cmp r0, 0
beq 0x28c04
movs r3, 0
strb r3, [r0]
ldrb r3, [r0, 1]
cbz r3, 0x28b60
adds r5, r0, 1
add r1, sp, 0x18
mov r0, r5
bl sym.ap_parse_log_level
mov r7, r0
cmp r0, 0
beq 0x28b98
ldr r1, [0x00028cc8]
mov r3, r5
str r0, [sp]
mov r2, r6
ldr r0, [r4, 0x2c]
add r1, pc
blx sym.imp.apr_snprintf
mov r7, r0
ldr r2, [0x00028ccc]
--
blt 0x28cb8
cmp r2, 9
ble 0x28c00
ldr r1, [0x00028ce4]
movs r2, 0
ldr r0, [0x00028ce8]
str r3, [sp, 4]
movs r3, 0xa
add r1, pc
str r6, [sp, 0xc]
str r1, [sp, 8]
add r0, pc
movw r1, 0xd93
str r2, [sp]
bl sym.ap_log_error_
b 0x28b42
ldr r1, [0x00028cec]
mov r2, r6
ldr r0, [r4, 0x2c]
add r1, pc
blx sym.imp.apr_snprintf
mov sb, r0
ldr r0, [r4, 0x30]
--
str r0, [sp, 4]
movw r1, 0xda4
ldr r0, [0x00028cf4]
add r3, pc
strd r6, sb, [sp, 0xc]
str r3, [sp, 8]
movs r3, 0xd
add r0, pc
str r2, [sp]
bl sym.ap_log_error_
ldr r0, [r4, 0x30]
mov r1, sb
bl 0x28a5c
mov sb, r0
cmp r0, 0
bne 0x28ba6
ldr r1, [0x00028cf8]
mov r2, r6
ldr r0, [r4, 0x2c]
add r1, pc
blx sym.imp.apr_snprintf
mov r7, r0
b 0x28b42
--
ldr r2, [0x000291cc]
ldr r1, [r1]
ldr r0, [r5, 0x28]
add r2, pc
add sp, 0x1c
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
b.w 0x1889c
ldr r1, [r5, 0x38]
ldr r2, [0x000291d0]
ldr r0, [r5, 0x28]
ldr r1, [r1]
add r2, pc
blx sym.imp.apr_threadattr_create
b 0x2912e
ldr r5, [r5, 0x38]
mov r2, r4
ldr r1, [0x000291d4]
mov r0, fp
ldr r3, [r5]
add r1, pc
blx sym.imp.apr_snprintf
b 0x2912e
ldr r1, [r5, 0x38]
--
mov r2, r5
ldr r3, [0x0002a0b0]
ldr r0, [r4]
add r1, pc
add r3, pc
blx sym.imp.apr_threadattr_create
mov r5, r0
mov r0, r4
bl sym.ap_run_default_port
cmp r6, r0
mov r0, r4
beq 0x2a08e
bl sym.ap_run_http_scheme
ldr r1, [0x0002a0b4]
mov r2, r0
mov r3, r5
mov r0, r8
str r7, [sp, 4]
add r1, pc
str r6, [sp]
blx sym.imp.apr_snprintf
add sp, 8
pop.w {r4, r5, r6, r7, r8, pc}
--
bl sym.ap_getword_conf
mov r1, sb
mov r4, r0
blx sym.imp.getgrnam
cbz r0, 0x2a468
ldrb r3, [r4]
mov r0, r4
cmp r3, 0x2b
beq 0x2a482
cmp r3, 0x2d
beq 0x2a492
bl sym.ap_regcomp_default_cflag_by_name
mov r5, r0
cmp r0, 0
bne 0x2a420
ldr r1, [0x0002a4a8]
mov r3, r4
ldr.w r2, [sl]
ldr r0, [r6, 0x28]
add r1, pc
blx sym.imp.apr_snprintf
mov r7, r0
mov r0, r7
--
bl sym.ap_cstr_casecmp
cmp r0, 0
bne 0x2ac84
ldr r3, [r5, 0xc]
orr r2, r3, 2
str r2, [r5, 0xc]
cmp r4, 0
beq 0x2ac9c
ldr r7, [0x0002ada4]
movs r6, 1
add.w r8, sp, 0x28
add r7, pc
b 0x2abba
ldrb r2, [r5, 0x10]
movs r6, 0
orrs r3, r2
strb r3, [r5, 0x10]
mov r2, r8
mov r1, r7
mov r0, r4
blx sym.imp.apr_psprintf
mov sl, r0
cmp r0, 0
--
b 0x2af18
cmp r3, 0
beq 0x2afb2
ldr r0, [0x0002b070]
add r0, pc
b 0x2af18
movs r3, 0x5f
str r3, [r4, 4]
b 0x2af50
ldr r1, [r4, 0x38]
mov r3, r0
ldr r2, [0x0002b074]
ldr r0, [r4, 0x28]
ldr r1, [r1]
add r2, pc
blx sym.imp.apr_threadattr_create
b 0x2af18
ldr r1, [0x0002b078]
ldr r0, [r4, 0x28]
add r1, pc
blx sym.imp.apr_snprintf
b 0x2af18
ldr r1, [0x0002b07c]
--
bx lr
ldr r3, [r0]
push {r4, lr}
sub sp, 8
ldr r4, [r0, 0x1c]
cmp r3, 4
bhi 0x311c0
tbb [0x00031180]
subs r7, r3, r0
asrs r5, r2, 8
movs r3, r0
ldr r2, [0x000311c8]
add r2, pc
ldr r3, [0x000311cc]
add r3, pc
ldr r1, [r0, 4]
ldr r0, [r0, 0x10]
str r1, [sp]
ldr r1, [0x000311d0]
add r1, pc
blx sym.imp.apr_snprintf
str r0, [r4]
movs r0, 1
--
ldr r0, [0x000313a4]
ldr r5, [0x000313a8]
add r0, pc
add r5, pc
b 0x3130e
ldr r2, [r4, 0x18]
mov r0, r3
ldr r1, [r5, 4]
str r1, [r2]
pop {r4, r5, r6, pc}
ldr r3, [r4]
ldr r0, [r4, 0x10]
cmp r3, 1
beq 0x31386
ldr r2, [0x000313ac]
add r2, pc
ldr r1, [0x000313b0]
ldr r4, [r4, 0x1c]
ldr r3, [r5, 4]
add r1, pc
blx sym.imp.apr_snprintf
mov r3, r0
movs r0, 1
--
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 4]
eors r2, r3
mov.w r3, 0
bne 0x31476
add sp, 8
pop {r4, r5, r6, pc}
ldr r3, [0x00031488]
movs r0, 1
ldr r2, [r4, 0x1c]
add r3, pc
str r3, [r2]
b 0x3143c
ldr r1, [0x0003148c]
ldr r5, [r0, 0x1c]
ldr r2, [r0, 4]
add r1, pc
ldr r0, [r0, 0x10]
blx sym.imp.apr_snprintf
mov r3, r0
movs r0, 1
--
ldr r2, [r3]
ldr r3, [sp, 0x6c]
eors r2, r3
mov.w r3, 0
bne 0x3193e
add sp, 0x70
pop {r4, pc}
ldrd r2, r3, [sp, 0x30]
cmp r2, 1
sbcs r1, r3, 0
bge 0x31932
ldr r0, [0x00031954]
add r0, pc
b 0x31902
ldr r0, [0x00031958]
add r0, pc
b 0x31902
ldr r1, [0x0003195c]
ldr r0, [r4, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
b 0x31902
blx sym.imp.apr_sha1_init
--
ldr r0, [sp, 8]
vstr d16, [sp, 0x10]
blx 0x17ecc
ldr r0, [sp, 8]
add r2, sp, 0xc
mov r1, r7
blx sym.imp.apr_procattr_cmdtype_set
cbnz r0, 0x31b5c
ldr r3, [sp, 0xc]
strb r0, [r7, r3]
ldr r0, [sp, 8]
blx sym.imp.apr_dso_error
b 0x31b36
ldr r7, [0x00031bb4]
mov r2, r5
ldr r1, [0x00031bb8]
ldr r6, [r4, 0x10]
add r7, pc
ldr r0, [r4, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
str r0, [r6]
ldr r2, [0x00031bbc]
--
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 0x84]
eors r2, r3
mov.w r3, 0
bne 0x31ba8
mov r0, r7
add sp, 0x8c
pop {r4, r5, r6, r7, pc}
ldr r7, [0x00031bc0]
ldr r0, [sp, 8]
add r7, pc
blx sym.imp.apr_dso_error
b 0x31b36
ldr r1, [0x00031bc4]
mov r2, r5
ldr r6, [r4, 0x10]
ldr r7, [0x00031bc8]
ldr r0, [r4, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
str r0, [r6]
add r7, pc
ldr r0, [sp, 8]
blx sym.imp.apr_dso_error
b 0x31b36
ldr r1, [0x00031bcc]
mov r2, r5
ldr r6, [r4, 0x10]
ldr r7, [0x00031bd0]
ldr r0, [r4, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
str r0, [r6]
add r7, pc
--
movt r2, 0x51eb
ldr r0, [sp, 0x2c]
ldr r5, [sp, 0x1c]
str r1, [sp, 0xc]
smull r2, r1, r2, r3
adds r0, 1
asrs r2, r3, 0x1f
str r5, [sp, 0x10]
str r0, [sp]
ldr r0, [r4, 0xc]
ldr r4, [sp, 0x24]
rsb r2, r2, r1, asr 5
movs r1, 0x64
mls r3, r1, r2, r3
ldr r1, [0x000320f8]
str r4, [sp, 8]
ldr r4, [sp, 0x28]
adds r2, 0x13
add r1, pc
str r4, [sp, 4]
blx sym.imp.apr_snprintf
b 0x31e3e
ldr.w r0, [r5, 0xd8]
--
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 0x44]
eors r2, r3
mov.w r3, 0
bne 0x32260
add sp, 0x4c
pop {r4, r5, pc}
ldr r3, [sp, 0x30]
movw r2, 0x851f
movt r2, 0x51eb
movs r4, 0x64
ldr r0, [r5, 0xc]
smull r2, r1, r2, r3
asrs r2, r3, 0x1f
rsb r2, r2, r1, asr 5
ldr r1, [0x00032284]
mls r3, r4, r2, r3
add r1, pc
adds r2, 0x13
blx sym.imp.apr_snprintf
b 0x32186
ldr r2, [sp, 0x2c]
ldr r1, [0x00032288]
ldr r0, [r5, 0xc]
adds r2, 1
add r1, pc
blx sym.imp.apr_snprintf
b 0x32186
ldr r1, [0x0003228c]
ldr r2, [sp, 0x28]
ldr r0, [r5, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
b 0x32186
ldr r1, [0x00032290]
ldr r2, [sp, 0x24]
ldr r0, [r5, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
b 0x32186
ldr r1, [0x00032294]
ldr r2, [sp, 0x20]
ldr r0, [r5, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
b 0x32186
ldr r1, [0x00032298]
ldr r2, [sp, 0x1c]
ldr r0, [r5, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
b 0x32186
ldr r1, [0x0003229c]
ldr r2, [sp, 0x34]
ldr r0, [r5, 0xc]
add r1, pc
blx sym.imp.apr_snprintf
b 0x32186
ldr r3, [sp, 0x30]
--
movt r2, 0x51eb
ldr r4, [sp, 0x1c]
ldr r0, [sp, 0x2c]
str r1, [sp, 0xc]
smull r2, r1, r2, r3
asrs r2, r3, 0x1f
str r4, [sp, 0x10]
ldr r4, [sp, 0x24]
adds r0, 1
str r0, [sp]
ldr r0, [r5, 0xc]
rsb r2, r2, r1, asr 5
movs r1, 0x64
str r4, [sp, 8]
mls r3, r1, r2, r3
ldr r4, [sp, 0x28]
ldr r1, [0x000322a0]
adds r2, 0x13
str r4, [sp, 4]
add r1, pc
blx sym.imp.apr_snprintf
b 0x32186
bl sym.ap_get_server_banner
--
sub.w r8, r4, 0x3c
str.w r3, [r5, 0xfdc]
bl sym.ap_expr_yylex_init
ldr r1, [r4, -0x30]
mov r0, r8
bl sym.ap_expr_yyset_extra
mov r0, r8
bl sym.ap_expr_yyparse
mov r3, r0
ldr r0, [r4, -0x30]
mov r4, r3
bl sym.ap_expr_yylex_destroy
ldr.w r0, [r5, 0xfec]
cbz r0, 0x32d56
ldr.w r3, [r5, 0xff0]
cbz r3, 0x32d34
ldr r1, [0x00032d84]
mov r2, r0
mov r0, r6
add r1, pc
blx sym.imp.apr_snprintf
ldr r2, [0x00032d88]
add.w r1, sp, 0x2000
--
lsls r0, r0, 0x19
movs r0, r0
lsls r0, r2, 0x18
movs r0, r0
ldr r3, [r0]
push {r4, lr}
movw r4, 0x293
movt r4, 0x133
sub sp, 8
cmp r3, r4
bne 0x34cb8
add sp, 8
pop.w {r4, lr}
b.w 0x33de4
mov lr, r1
ldr r1, [0x00034ccc]
ldr r2, [r0, 0xc]
mov r0, lr
str r4, [sp]
add r1, pc
blx sym.imp.apr_snprintf
add sp, 8
pop {r4, pc}
--
subs.w r0, r4, 0x810000
invalid
invalid
ldr r3, [r0]
push {r4, r5, lr}
movw r5, 0x293
movt r5, 0x133
sub sp, 0xc
cmp r3, r5
mov r4, r0
bne 0x34d7e
bl 0x33de4
cbz r0, 0x34d90
add sp, 0xc
pop {r4, r5, pc}
ldr r2, [r0, 0xc]
mov r0, r1
ldr r1, [0x00034dac]
str r5, [sp]
add r1, pc
blx sym.imp.apr_snprintf
cmp r0, 0
bne 0x34d7a
--
add r7, pc
ldr r3, [r0]
movs r2, 0
ldr.w ip, [r4, 4]
cmp r3, r6
mov r1, ip
bne 0x34ee0
bl 0x33de4
cbnz r0, 0x34edc
ldr r0, [r5, 4]!
cmp r0, 0
bne 0x34eba
blx 0x17b28
movs r0, 0
add sp, 0xc
pop {r4, r5, r6, r7, pc}
ldr r2, [r0, 0xc]
mov r1, r7
mov r0, ip
str r6, [sp]
blx sym.imp.apr_snprintf
b 0x34ecc
ldr r0, [0x00034f58]
--
add r0, pc
mov r3, r0
add sb, pc
add r8, pc
add r7, pc
b 0x3537c
ldrb r3, [r0]
cmp r3, 0
ite eq
moveq r3, r8
movne r3, r7
mov r2, r0
ldr r0, [r4]
mov r1, sb
str r0, [sp, 8]
ldr r0, [r4, 0x1c]
str r0, [sp, 4]
mov r0, r6
ldr r4, [r4, 0x18]
str r4, [sp]
blx sym.imp.apr_snprintf
ldr r3, [sp, 0x1c]
ldr r4, [r3, 0x10]
--
add r1, pc
ldr r7, [r0]
mov r0, r5
ldr r3, [r1, r3]
mov r1, sp
ldr r3, [r3]
str r3, [sp, 4]
mov.w r3, 0
blx sym.imp.apr_parse_addr_port
str r0, [r6, r7]
ldrb r3, [r5]
cbz r3, 0x35556
ldr r3, [sp]
ldrb r0, [r3]
cbz r0, 0x35564
ldr r3, [r4, 0x24]
ldr r1, [0x00035588]
ldr r0, [r4, 0x28]
ldr r2, [r3]
add r1, pc
blx sym.imp.apr_snprintf
ldr r2, [0x0003558c]
ldr r3, [0x00035584]
--
bl sym.ap_exists_config_define
cbnz r0, 0x359a4
ldr r1, [sp, 0x10]
mov r3, r7
mov r2, r8
mov r0, sb
str r1, [sp, 0x40]
mov r1, r5
bl sym.ap_build_config
mov r4, r0
ldr r0, [sp, 0x10]
bl sym.ap_cfg_closefile
cbz r4, 0x35988
ldr r2, [sp, 0x60]
cbz r2, 0x35988
ldr r1, [0x00035a48]
mov r0, r5
ldrd r3, r2, [r2, 0x18]
str r4, [sp]
add r1, pc
blx sym.imp.apr_snprintf
mov r4, r0
ldr r2, [0x00035a4c]
--
blx 0x182f0
ldr r3, [sp, 0x18]
cbz r3, 0x359f2
ldr r2, [r3]
cbnz r2, 0x35a28
ldr r1, [0x00035a5c]
ldr r0, [sp, 0x1c]
add r1, pc
blx sym.imp.apr_table_set
ldr r1, [0x00035a60]
mov r2, r6
ldr r0, [sp, 0x1c]
add r1, pc
blx sym.imp.apr_table_set
b 0x35958
ldr r1, [0x00035a64]
add r3, sp, 0x14
mov r2, r6
mov r0, r5
add r1, pc
blx sym.imp.apr_snprintf
mov r4, r0
b 0x35988
--
mov r0, r5
bl sym.ap_escape_html2
ldr r1, [0x000398c8]
mov r2, r0
mov r0, r7
add r1, pc
blx 0x18ac8
ldr r3, [r4, 4]
mov r0, r7
ldr r1, [0x000398cc]
ldr r2, [r3, 0x20]
add r1, pc
blx 0x18ac8
mov r0, r4
ldr r5, [r4]
bl sym.ap_get_server_port
ldr r1, [0x000398d0]
mov r2, r0
mov r0, r5
add r1, pc
blx sym.imp.apr_snprintf
ldr r1, [0x000398d4]
mov r2, r0
--
ldr r1, [0x00039924]
ldr r0, [fp, -0x4]
add r1, pc
bl sym.ap_cstr_casecmp
cmp r0, 0
beq 0x397a0
b 0x397b0
ldr r1, [0x00039928]
mov r2, r0
mov r0, r7
add r1, pc
blx 0x18ac8
b 0x39752
ldr r0, [r4, 0x10]
bl sym.ap_get_server_port
ldr r1, [0x0003992c]
mov r2, r0
strh.w r0, [r5, 0x158]
ldr r0, [r4]
add r1, pc
blx sym.imp.apr_snprintf
str.w r0, [r5, 0x144]
b 0x39738
--
add r2, pc
sub sp, 0xc
mov sb, r1
movs r1, 0xa
ldr r3, [r2, r3]
ldr r0, [r0]
ldr r3, [r3]
str r3, [sp, 4]
mov.w r3, 0
blx sym.imp.apr_file_open_stderr
ldr.w r1, [r4, 0xf4]
mov r5, r0
ldr r0, [r4]
blx sym.imp.apr_file_read_full
cbz r0, 0x3a704
ldr r6, [0x0003a730]
mov r7, sp
mov r2, r7
add r6, pc
mov r1, r6
blx sym.imp.apr_psprintf
mov fp, r0
cbz r0, 0x3a704
ldr.w sl, [0x0003a734]
mov.w r8, 0
add sl, pc
b 0x3a6f2
strb r8, [r4], 1
mov r0, fp
bl sym.ap_unescape_url
mov r0, r4
bl sym.ap_unescape_url
mov r1, fp
mov r2, r4
mov r0, r5
blx 0x18890
mov r2, r7
mov r1, r6
movs r0, 0
blx sym.imp.apr_psprintf
mov fp, r0
cbz r0, 0x3a704
--
ldr r2, [0x0003c58c]
mov r3, r7
str r0, [sp, 8]
movs r0, 0
str r0, [sp, 0xc]
mov r0, r5
add r2, pc
str r4, [sp, 4]
str r6, [sp]
blx sym.imp.apr_threadattr_create
mov r1, r0
mov r0, r5
add sp, 0x14
pop.w {r4, r5, r6, r7, lr}
b.w sym.ap_server_root_relative
blx 0x1877c
ldr r1, [0x0003c590]
mov r2, r0
mov r0, r5
add r1, pc
blx sym.imp.apr_snprintf
ldr r1, [r6, 0x14]
cmp r4, 0
--
cmp r3, 0
beq 0x3c7fe
str r3, [r0, 0x14]
b 0x3c7fe
mov r0, sl
blx 0x17de8
str r5, [r0]
b 0x3c7e6
ldr r1, [0x0003c8cc]
movs r3, 0
mov r2, r8
mov r0, fp
add r1, pc
blx sym.imp.apr_threadattr_create
mov r5, r0
b 0x3c750
ldr r1, [0x0003c8d0]
mov r2, r5
mov r0, fp
add r1, pc
blx sym.imp.apr_snprintf
mov r5, r0
b 0x3c750
mov r0, sl
blx 0x17de8
ldr r3, [0x0003c8d4]
add r3, pc
str r3, [r0]
b 0x3c7f8
ldr r1, [0x0003c8d8]
mov r2, r5
mov r0, fp
add r1, pc
blx sym.imp.apr_snprintf
mov r5, r0
b 0x3c750
--
beq 0x3d196
ldr r0, [sp, 0x10]
movs r1, 0x1c
blx 0x18944
cmp r0, 0
blt 0x3d29e
str r4, [r5]
b 0x3d14e
blx 0x1877c
ldr r2, [sp, 0x10]
cmp r0, r2
beq 0x3d20e
mov r0, r2
mov r1, r4
blx 0x18944
ldr r2, [sp, 0x10]
cbz r0, 0x3d21c
ldr r1, [0x0003d3c0]
mov r0, r6
add r1, pc
blx sym.imp.apr_snprintf
mov r7, r0
b 0x3d0b0
ldr r1, [0x0003d3c4]
mov r0, r6
add r1, pc
blx sym.imp.apr_snprintf
ldr r3, [0x0003d3c8]
mov r7, r0
--
mov.w r2, 0
blx sym.imp.apr_file_read_full
ldrd r3, r1, [r6]
mov r4, r0
ldr r0, [r3]
cmp r1, 0
beq.w 0x3e73c
ldr r2, [0x0003e750]
movs r3, 0
add r2, pc
blx sym.imp.apr_threadattr_create
str r0, [sp, 0x14]
blx sym.imp.apr_hash_count
ldr r1, [0x0003e754]
add r3, sp, 0x34
mov fp, r0
mov r2, r3
mov r0, r4
str r3, [sp, 0x24]
add r1, pc
blx sym.imp.apr_psprintf
cmp r0, 0
beq 0x3e6f6
ldr r3, [0x0003e758]
add.w sl, sp, 0x38
ldr r7, [0x0003e75c]
ldr.w r8, [0x0003e760]
add r3, pc
str r3, [sp, 0x20]
add r7, pc
ldr r3, [0x0003e764]
add r8, pc
add r3, pc
str r3, [sp, 0x28]
movs r3, 0
str r3, [sp, 0x10]
strd r8, r3, [sp, 0x18]
ldr r1, [sp, 0x20]
mov r2, sl
blx sym.imp.apr_psprintf
mov sb, r0
cbz r0, 0x3e6d8
--
bne 0x3e712
ldr r0, [r6, 8]
add r5, fp
cbz r0, 0x3e6b6
mov r1, r5
blx 0x18a28
cbz r0, 0x3e6b6
movs r3, 1
str r3, [r6, 0x10]
ldr r3, [r6]
mov r1, r5
ldr r0, [r3]
blx sym.imp.apr_file_read_full
movs r3, 1
str r0, [r6, 8]
str r3, [sp, 0x10]
mov r2, sl
mov r1, r7
movs r0, 0
mov r8, r7
blx sym.imp.apr_psprintf
mov sb, r0
cmp r0, 0
bne 0x3e682
ldrd r2, r8, [sp, 0x24]
movs r0, 0
mov r1, r8
blx sym.imp.apr_psprintf
cmp r0, 0
bne 0x3e670
--
b 0x40608
ldr.w r3, [sl]
add.w r2, r3, 0x2000
ldr r1, [r2, 0x30]
lsls r1, r1, 0x1c
bmi.w 0x40ab0
ldr.w r3, [0x00040e14]
mov.w sb, 0x106
add r3, pc
str r3, [r2, 0x2c]
b 0x401fa
ldr.w r1, [0x00040e18]
mov r6, sl
ldr.w r3, [sl]
ldr.w r2, [sl, 0x50]
add r1, pc
add.w r3, r3, 0x2000
ldrb r2, [r2]
ldr r0, [r3, 0x1c]
mov.w sb, 0x106
blx sym.imp.apr_snprintf
ldr r3, [r6]
add.w r3, r3, 0x2000
--
mov r0, sb
blx sym.imp.__isoc99_sscanf
cmp r0, 0
bne 0x41654
ldr.w sb, [sb]
movw r4, 0x3234
ldr.w r3, [r8]
movt r4, 0x4150
ldr r0, [r7, 0x28]
ldr.w r1, [sb, 0x18]
str.w r3, [sb, 0x10]
str.w sb, [r6, 4]
cmp r1, r4
beq 0x41626
str r1, [sp, 4]
mov r3, sl
ldr r1, [0x000416bc]
mov r2, r5
str r4, [sp]
add r1, pc
blx sym.imp.apr_snprintf
mov r4, r0
b 0x41550
--
beq 0x41a5c
ldr r4, [r0, 0x10]
cbnz r4, 0x41970
b 0x41a90
ldr r4, [r4, 0xc]
cmp r4, 0
beq 0x41a56
ldr r3, [r4, 8]
mov r1, r6
ldr r0, [r3]
blx sym.imp.getgrnam
cmp r0, 0
bne 0x4196a
mov r1, r5
ldr r0, [r7, 0x2c]
blx sym.imp.apr_file_read_full
ldr r1, [0x00041aa4]
add r7, sp, 8
mov r2, r7
add r1, pc
blx sym.imp.apr_psprintf
mov sl, r0
mov r5, r0
cmp r0, 0
beq 0x41a16
ldr.w sb, [0x00041aa8]
movs r5, 0
ldr.w r8, [0x00041aac]
ldr.w fp, [0x00041ab0]
add sb, pc
add r8, pc
add fp, pc
b 0x419c4
bic r5, r5, 3
ldr r1, [0x00041ab4]
mov r2, r7
movs r0, 0
add r1, pc
blx sym.imp.apr_psprintf
mov sl, r0
cbz r0, 0x41a12
--
ldr r1, [0x00041ac8]
mov r0, sl
add r1, pc
blx sym.imp.getgrnam
cmp r0, 0
bne 0x419b4
orr r5, r5, 0x10
b 0x419b4
ldr r0, [0x00041acc]
add r0, pc
b 0x41a1c
mov r1, r6
ldr r0, [r7, 0x2c]
blx sym.imp.apr_file_read_full
ldr r1, [0x00041ad0]
add r7, sp, 8
mov r2, r7
mov r4, r5
mov r6, r5
add r1, pc
blx sym.imp.apr_psprintf
mov sl, r0
mov r5, r0
--
ldr.w r0, [r8]
mov r1, r7
mov.w r2, -1
blx 0x17a44
ldr r3, [r6, 0x14]
mov r5, r0
str r3, [r0, 0x14]
b 0x41bcc
strd sb, sl, [r0]
ldr r3, [r5, 0x10]
movs r0, 0
strd r6, r3, [r7, 8]
str r7, [r5, 0x10]
b 0x41c08
strd r0, r2, [r7]
b 0x41c4c
ldr r1, [0x00041c84]
mov r2, r5
ldr r0, [r4, 0x28]
add r1, pc
blx sym.imp.apr_snprintf
b 0x41c08
blx sym.imp.apr_sha1_init
--
ldr r0, [r0, 0x2c]
blx sym.imp.apr_file_read_full
mov r1, sb
mov r6, r0
ldr r0, [r7, 0x28]
add.w r4, r4, 0x40000000
blx sym.imp.apr_atomic_dec32
sub.w r2, sb, 4
mov r1, r5
str r0, [sp, 8]
mov r5, r0
blx sym.imp.apr_os_global_mutex_get
ldr r1, [0x00041dbc]
subs r4, 1
movs r2, 0
add.w sb, sp, 0x10
str.w r2, [r5, r4, lsl 2]
mov r0, r6
add r1, pc
mov r2, sb
blx sym.imp.apr_psprintf
mov r4, r0
cmp r0, 0
beq 0x41d9e
ldr r3, [0x00041dc0]
ldr.w fp, [0x00041dc4]
add r3, pc
add fp, pc
str r3, [sp, 0xc]
b 0x41d36
ldr r4, [sp, 8]
mov r2, r5
mov r1, r8
mov r0, r7
str r4, [sp, 4]
movs r4, 0
str r4, [sp]
bl 0x41b84
mov sl, r0
mov r2, sb
ldr r1, [sp, 0xc]
movs r0, 0
blx sym.imp.apr_psprintf
subs r2, r0, 0
mov r4, r0
--
add sl, pc
ldr r1, [0x00041dcc]
ldr r2, [0x00041db8]
add r1, pc
ldr r2, [r1, r2]
ldr r1, [r2]
ldr r2, [sp, 0x14]
eors r1, r2
mov.w r2, 0
bne 0x41da2
mov r0, sl
add sp, 0x1c
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov sl, r0
b 0x41d82
blx sym.imp.apr_sha1_init
ldr r1, [0x00041dd0]
mov r2, sb
mov r0, r6
add r1, pc
blx sym.imp.apr_psprintf
b 0x41d82
add r4, sp, 0x248
--
ldr r2, [r1, 4]
cmp r2, 0xa
ite le
movle fp, 0
mov.w fp, 1
b 0x42344
ldr r2, [r6, 8]
ldr r3, [r2, 0x10]
cmp r3, 0
beq 0x4249e
ldrsb.w r3, [r3, sb]
cmp r3, 0
bge.w 0x423a8
b 0x4249e
ldr r1, [0x000428c8]
ldr r2, [r6, 0x30]
ldr r0, [r6]
add r1, pc
ldr.w r5, [r6, 0xb4]
ldr.w sl, [sp, 0x34]
blx sym.imp.apr_snprintf
ldr r1, [0x000428cc]
mov r2, r0
--
add r2, pc
sub sp, 0x14
movs r0, 0xe
ldr r3, [r2, r3]
add r5, pc
add.w r1, r5, 0x14
ldr r3, [r3]
str r3, [sp, 0xc]
mov.w r3, 0
bl sym.ap_mpm_query
cbz r0, 0x437c6
movs r3, 0
str r3, [r5, 0x14]
movs r1, 8
mov r0, sp
bl sym.ap_random_insecure_bytes
ldr r1, [0x0004380c]
mov r0, r4
ldrd r2, r3, [sp]
add r1, pc
blx sym.imp.apr_snprintf
ldr r3, [0x00043810]
ldr r2, [0x00043814]
--
adds r2, 1
str r2, [r3, 0x5c]
cmp r5, 0
beq 0x43e30
ldr.w r8, [r4, 8]
movw r2, 0x4240
movt r2, 0xf
movs r3, 0
ldr.w r5, [r4, 0xb4]
ldrd r0, r1, [r8, 0x48]
bl 0x4bac0
ldr.w r3, [r8, 0x50]
mov r2, r0
ldr r7, [r4]
cmp r3, 0
beq 0x43e34
ldr r1, [0x00043e74]
mov r3, r6
mov r0, r7
add r1, pc
blx sym.imp.apr_snprintf
ldr r1, [0x00043e78]
mov r2, r0
--
ldr.w r0, [r4, 0xb4]
add r1, pc
blx 0x18758
mov r1, r0
mov r0, r8
bl sym.ap_is_chunked
cmp r0, 0
bne.w 0x43cae
ldr r3, [r4, 0x28]
cmp.w r3, 0x3e8
ble 0x43dd0
movs r3, 1
str.w r3, [r4, 0x88]
b 0x43cae
blx sym.imp.apr_sha1_init
movs r0, 1
b 0x43c6e
ldr r1, [0x00043e90]
mov r0, r7
add r1, pc
blx sym.imp.apr_snprintf
ldr r1, [0x00043e94]
mov r2, r0
--
ble 0x499bc
ldr.w r3, [0x00049f7c]
adds r7, 0x10
add r3, pc
str r3, [sp, 0x44]
movs r3, 0
str r3, [sp, 0x38]
ldr r3, [sp, 0x38]
adds r7, 0x10
ldr r0, [sp, 0x3c]
adds r3, 1
str r3, [sp, 0x38]
blx 0x17de8
ldr r1, [sp, 0x30]
vldr d16, [r7, -0x18]
ldrd r2, r3, [r7, -0x20]
str r0, [sp, 0x40]
ldr r0, [r1]
ldr r1, [sp, 0x44]
vstr d16, [sp]
blx sym.imp.apr_snprintf
ldr r1, [sp, 0x40]
ldr r2, [sp, 0x38]
--
mov r1, r0
ldr r2, [sp, 0x2c]
mov r3, r8
adds r4, r5, 4
str r4, [r0]
ldr r0, [r5, 8]
str r0, [r1, 4]
ldr r0, [sp, 0x30]
ldr r5, [r5, 8]
ldr r0, [r0]
str r1, [r5]
ldr r5, [sp, 0x40]
str r1, [r5, 8]
ldr r1, [sp, 0x68]
strd sb, r7, [sp]
str r1, [sp, 8]
ldr r1, [sp, 0x6c]
str r1, [sp, 0xc]
ldr r1, [0x00049fac]
add r1, pc
blx sym.imp.apr_snprintf
mov r5, r0
blx sym.imp.apr_hash_count
--
b 0x49d30
mov r6, r7
str r0, [sp, 0x34]
mov r0, r6
ldrd sb, r7, [sp, 0x74]
blx 0x18400
ldr r2, [sp, 0x34]
b 0x49d30
ldr r1, [sp, 0x30]
mov r3, r8
ldr r2, [sp, 0x2c]
ldr.w r4, [r1, 0xb4]
ldr r0, [r1]
ldr r1, [sp, 0x68]
strd sb, r7, [sp]
str r1, [sp, 8]
ldr r1, [sp, 0x6c]
str r1, [sp, 0xc]
ldr r1, [0x00049fbc]
add r1, pc
blx sym.imp.apr_snprintf
ldr r1, [0x00049fc0]
mov r2, r0
--
cmp r0, 0
beq 0x4b026
ldr r3, [0x0004b054]
add r3, pc
ldr r3, [r3, 0x14]
cmp r3, 0
beq 0x4b026
mov fp, r0
movs r1, 0x2f
mov r0, r5
blx 0x17e3c
cbz r0, 0x4af70
adds r5, r0, 1
ldr.w r3, [fp, 8]
ldr.w r2, [fp]
cmp r3, 0
bne 0x4b018
ldr r1, [0x0004b058]
mov r0, r6
add r1, pc
blx sym.imp.apr_snprintf
mov r7, r0
ldr r1, [0x0004b05c]
mov r0, r6
ldr.w r2, [fp, 4]
add r1, pc
blx sym.imp.apr_snprintf
cmp r0, 0
it ne
--
blx sym.imp.apr_brigade_putstrs
cbnz r0, 0x4b046
add.w r1, fp, 0xc
ldr r3, [r4, 4]!
str r3, [r1, 4]!
cmp r3, 0
bne 0x4aff2
ldr r1, [0x0004b064]
mov r3, sl
mov r2, fp
mov r0, r8
str r6, [sp, 0x34]
add r1, pc
str.w sb, [sp, 0x30]
add sp, 0xc
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
b.w 0x17d04
ldr r1, [0x0004b068]
mov r0, r6
add r1, pc
blx sym.imp.apr_snprintf
mov r7, r0
b 0x4af88
[*] Function printf used 75 times httpd