08000400 <Reset_Handler>:
08000400 b672 cpsid i
08000402 4b1e ldr r3, [pc, #120]
08000404 4a1f ldr r2, [pc, #124]
08000406 f8c3 2088 str.w r2, [r3, #136]
0800040a 4c20 ldr r4, [pc, #128]
0800040c 4d21 ldr r5, [pc, #132]
0800040e 42ac cmp r4, r5
08000410 d004 beq.n 0800041c
08000412 f854 0b04 ldr.w r0, [r4], #4
08000416 f845 0b04 str.w r0, [r5], #4
0800041a e7f8 b.n 0800040e
0800041c f000 f8a6 bl 0800056c <clock_init>
08000420 f000 f912 bl 08000648 <pads_init>
08000424 f000 f9d4 bl 080007d0 <codec_reset>
08000428 b662 cpsie i
0800042a f000 fbe4 bl 08000bf6 <main>
0800042e e7fe b.n 0800042e
0800056c <clock_init>:
0800056c b510 push {r4, lr}
0800056e 4b12 ldr r3, [pc, #72]
08000570 681a ldr r2, [r3, #0]
08000572 f442 3280 orr.w r2, r2, #65536
08000576 601a str r2, [r3, #0]
08000578 681a ldr r2, [r3, #0]
0800057a f412 3f00 tst.w r2, #131072
0800057e d0fb beq.n 08000578
08000580 4a0e ldr r2, [pc, #56]
08000582 605a str r2, [r3, #4]
08000584 2208 movs r2, #8
08000586 f8c3 2008 str.w r2, [r3, #8]
0800058a bd10 pop {r4, pc}
08000648 <pads_init>:
08000648 b530 push {r4, r5, lr}
0800064a 2400 movs r4, #0
0800064c 4d0a ldr r5, [pc, #40]
0800064e 2c08 cmp r4, #8
08000650 da08 bge.n 08000664
08000652 00a3 lsls r3, r4, #2
08000654 f845 3023 str.w r3, [r5, r3, lsl #2]
08000658 f000 f8b2 bl 080007c0 <pad_cal>
0800065c 3401 adds r4, #1
0800065e e7f6 b.n 0800064e
08000664 bd30 pop {r4, r5, pc}
08000a10 <sai_dma_start>:
08000a10 b570 push {r4, r5, r6, lr}
08000a12 4c14 ldr r4, [pc, #80]
08000a14 6823 ldr r3, [r4, #0]
08000a16 f023 0301 bic.w r3, r3, #1
08000a1a 6023 str r3, [r4, #0]
08000a1c 4a15 ldr r2, [pc, #84]
08000a1e 60a2 str r2, [r4, #8]
08000a20 f44f 5300 mov.w r3, #8192
08000a24 6063 str r3, [r4, #4]
08000a26 2280 movs r2, #128
08000a28 6122 str r2, [r4, #16]
08000a2a 6823 ldr r3, [r4, #0]
08000a2c f043 0301 orr.w r3, r3, #1
08000a30 6023 str r3, [r4, #0]
08000a32 bd70 pop {r4, r5, r6, pc}
08000c84 <voice_mix>:
08000c84 e92d 4ff0 push.w {r4-r11, lr}
08000c88 f8df a0b4 ldr.w r10, [pc, #180]
08000c8c 2500 movs r5, #0
08000c8e 2600 movs r6, #0
08000c90 f83a 3015 ldrh.w r3, [r10, r5, lsl #1]
08000c94 f9b0 4000 ldrsh.w r4, [r0]
08000c98 fb14 f603 smlabb r6, r4, r3, r6
08000c9c 3502 adds r5, #2
08000c9e 2d40 cmp r5, #64
08000ca0 d1f6 bne.n 08000c90
08000ca2 1436 asrs r6, r6, #16
08000ca4 f306 070f ssat r7, #16, r6
08000ca8 8027 strh r7, [r4, #0]
08000caa e8bd 8ff0 pop.w {r4-r11, pc}
08000f30 <img_verify>:
08000f30 b508 push {r3, lr}
08000f32 4b0c ldr r3, [pc, #48]
08000f34 6819 ldr r1, [r3, #0]
08000f36 4808 ldr r0, [pc, #32]
08000f38 f000 f83e bl 08000fb8 <crc32>
08000f3c 4b09 ldr r3, [pc, #36]
08000f3e 681b ldr r3, [r3, #0]
08000f40 4298 cmp r0, r3
08000f42 d101 bne.n 08000f48
08000f44 2001 movs r0, #1
08000f46 bd08 pop {r3, pc}
08000f48 2000 movs r0, #0
08000f4a bd08 pop {r3, pc}
08000fb8 <crc32>:
08000fb8 f04f 33ff mov.w r3, #4294967295
08000fbc b149 cbz r1, 08000fd2
08000fbe f810 2b01 ldrb.w r2, [r0], #1
08000fc2 4053 eors r3, r2
08000fc4 2408 movs r4, #8
08000fc6 07da lsls r2, r3, #31
08000fc8 ea4f 0353 mov.w r3, r3, lsr #1
08000fcc d500 bpl.n 08000fd0
08000fce 4055 eors r5, r3
08000fd0 3c01 subs r4, #1
08000fd2 d1f8 bne.n 08000fc6
08000fd4 3901 subs r1, #1
08000fd6 d1f2 bne.n 08000fbe
08000fd8 43db mvns r3, r3
08000fda 4618 mov r0, r3
08000fdc 4770 bx lr
08001040 <nvic_setup>:
08001040 4b0c ldr r3, [pc, #48]
08001042 2200 movs r2, #0
08001044 f883 2300 strb.w r2, [r3, #768]
08001048 2240 movs r2, #64
0800104a f883 2301 strb.w r2, [r3, #769]
0800104e 2280 movs r2, #128
08001050 f883 2302 strb.w r2, [r3, #770]
08001054 f44f 2280 mov.w r2, #262144
08001058 601a str r2, [r3, #0]
0800105a 4770 bx lr
08001080 <systick_init>:
08001080 4b06 ldr r3, [pc, #24]
08001082 4a07 ldr r2, [pc, #28]
08001084 605a str r2, [r3, #4]
08001086 2200 movs r2, #0
08001088 609a str r2, [r3, #8]
0800108a 2207 movs r2, #7
0800108c 601a str r2, [r3, #0]
0800108e 4770 bx lr
080010c0 <i2c_write>:
080010c0 b570 push {r4, r5, r6, lr}
080010c2 4604 mov r4, r0
080010c4 460d mov r5, r1
080010c6 4e10 ldr r6, [pc, #64]
080010c8 6833 ldr r3, [r6, #0]
080010ca f043 2300 orr.w r3, r3, #524288
080010ce 6033 str r3, [r6, #0]
080010d0 69b3 ldr r3, [r6, #24]
080010d2 f413 3f00 tst.w r3, #131072
080010d6 d1fb bne.n 080010d0
080010d8 0064 lsls r4, r4, #1
080010da 6134 str r4, [r6, #16]
080010dc 69b3 ldr r3, [r6, #24]
080010de f013 0f80 tst.w r3, #128
080010e2 d0fb beq.n 080010dc
080010e4 6135 str r5, [r6, #16]
080010e6 bd70 pop {r4, r5, r6, pc}
080011a4 <codec_write_reg>:
080011a4 b510 push {r4, lr}
080011a6 0200 lsls r0, r0, #8
080011a8 4308 orrs r0, r1
080011aa f7ff ff89 bl 080010c0 <i2c_write>
080011ae 2064 movs r0, #100
080011b0 f000 f81e bl 080011f0 <delay_us>
080011b4 bd10 pop {r4, pc}
080011f0 <delay_us>:
080011f0 4b04 ldr r3, [pc, #16]
080011f2 681b ldr r3, [r3, #0]
080011f4 4343 muls r3, r0
080011f6 3b01 subs r3, #1
080011f8 d1fd bne.n 080011f6
080011fa 4770 bx lr
08001280 <pad_scan>:
08001280 b5f0 push {r4-r7, lr}
08001282 4f14 ldr r7, [pc, #80]
08001284 2400 movs r4, #0
08001286 f837 5014 ldrh.w r5, [r7, r4, lsl #1]
0800128a f8b7 6020 ldrh.w r6, [r7, #32]
0800128e 1baa subs r2, r5, r6
08001290 2a30 cmp r2, #48
08001292 dd06 ble.n 080012a2
08001294 4620 mov r0, r4
08001296 4611 mov r1, r2
08001298 f000 f8b2 bl 08001400 <voice_note_on>
0800129c e004 b.n 080012a8
080012a2 2a08 cmp r2, #8
080012a4 da00 bge.n 080012a8
080012a6 f000 f8d3 bl 08001450 <voice_note_off>
080012a8 3401 adds r4, #1
080012aa 2c08 cmp r4, #8
080012ac d1eb bne.n 08001286
080012ae bdf0 pop {r4-r7, pc}
08001400 <voice_note_on>:
08001400 b538 push {r3, r4, r5, lr}
08001402 4c0e ldr r4, [pc, #56]
08001404 eb04 0480 add.w r4, r4, r0, lsl #2
08001408 2301 movs r3, #1
0800140a 7023 strb r3, [r4, #0]
0800140c 8061 strh r1, [r4, #2]
0800140e 2300 movs r3, #0
08001410 60a3 str r3, [r4, #8]
08001412 f000 f81d bl 08001450 <env_attack>
08001416 bd38 pop {r3, r4, r5, pc}
080014c0 <biquad>:
080014c0 b430 push {r4, r5}
080014c2 f9b1 2000 ldrsh.w r2, [r1]
080014c6 f9b0 3000 ldrsh.w r3, [r0]
080014ca fb02 f403 mul.w r4, r2, r3
080014ce f9b1 2002 ldrsh.w r2, [r1, #2]
080014d2 f9b0 3002 ldrsh.w r3, [r0, #2]
080014d6 fb02 4403 mla r4, r2, r3, r4
080014da f9b1 2004 ldrsh.w r2, [r1, #4]
080014de f9b0 3004 ldrsh.w r3, [r0, #4]
080014e2 fb02 4403 mla r4, r2, r3, r4
080014e6 ea4f 34e4 mov.w r4, r4, asr #15
080014ea f304 040f ssat r4, #16, r4
080014ee 8004 strh r4, [r0, #0]
080014f0 bc30 pop {r4, r5}
080014f2 4770 bx lr
08001560 <DMA1_Stream4_IRQHandler>:
08001560 b508 push {r3, lr}
08001562 4b09 ldr r3, [pc, #36]
08001564 6819 ldr r1, [r3, #0]
08001566 f011 0f20 tst.w r1, #32
0800156a d005 beq.n 08001578
0800156c 2220 movs r2, #32
0800156e 609a str r2, [r3, #8]
08001570 4805 ldr r0, [pc, #20]
08001572 f7ff fb87 bl 08000c84 <voice_mix>
08001578 bd08 pop {r3, pc}
080015c0 <boot_jump>:
080015c0 b672 cpsid i
080015c2 4b06 ldr r3, [pc, #24]
080015c4 681a ldr r2, [r3, #0]
080015c6 f382 8808 msr MSP, r2
080015ca 685b ldr r3, [r3, #4]
080015cc f043 0301 orr.w r3, r3, #1
080015d0 4718 bx r3