start:
push {r0-r5}
mov r5, #0x3C
mov r4, #0x86
lsl r4, r4, #0x4
add r4, r4, #0x7
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
bl flag_check
cmp r0, #0x0
beq the_end
add r5, r5, #0x5
add r4, r4, #0x1
b the_end
the_end:
ldrb r0, = 0x02024400
strb r5, [r0]
pop {r0-r5}
flag_check:
mov r0, r4
ldr r1, = 0x809D790 +1
bx r1