thumb_func_start fboxes_set_ptr fboxes_set_ptr: @ 80045A4 ldr r1, =0x03002f80 str r0, [r1] bx lr .align 2, 0 .pool thumb_func_end fboxes_set_ptr thumb_func_start TextBox_ResetSomeField TextBox_ResetSomeField: @ 80045B0 push {lr} ldr r1, =0x020201b0 movs r2, 0 ldr r3, =0x0000045c adds r0, r1, r3 _080045BA: strb r2, [r0, 0x1B] subs r0, 0x24 cmp r0, r1 bge _080045BA pop {r0} bx r0 .align 2, 0 .pool thumb_func_end TextBox_ResetSomeField thumb_func_start Print Print: @ 80045D0 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x10 ldr r4, [sp, 0x28] ldr r5, [sp, 0x2C] ldr r7, [sp, 0x30] lsls r1, 24 lsrs r1, 24 lsls r3, 24 lsrs r3, 24 lsls r4, 24 lsrs r4, 24 lsls r5, 24 lsrs r5, 24 mov r8, r5 str r2, [sp] mov r2, sp strb r0, [r2, 0x4] mov r0, sp strb r1, [r0, 0x5] strb r3, [r0, 0x6] strb r4, [r0, 0x7] strb r3, [r0, 0x8] strb r4, [r0, 0x9] ldr r0, =0x03002f80 ldr r0, [r0] lsls r3, r1, 1 adds r3, r1 lsls r3, 2 adds r3, r0 ldrb r0, [r3, 0x6] strb r0, [r2, 0xA] mov r1, sp ldrb r0, [r3, 0x7] strb r0, [r1, 0xB] mov r5, sp ldrb r1, [r3, 0x8] lsls r1, 28 movs r6, 0xF lsrs r1, 28 ldrb r4, [r5, 0xC] movs r2, 0x10 negs r2, r2 adds r0, r2, 0 ands r0, r4 orrs r0, r1 strb r0, [r5, 0xC] mov r4, sp ldrb r1, [r3, 0x8] lsrs r1, 4 lsls r1, 4 ands r0, r6 orrs r0, r1 strb r0, [r4, 0xC] ldrb r0, [r3, 0x9] lsls r0, 28 lsrs r0, 28 adds r1, r6, 0 ands r1, r0 ldrb r0, [r4, 0xD] ands r2, r0 orrs r2, r1 strb r2, [r4, 0xD] mov r1, sp ldrb r0, [r3, 0x9] lsrs r0, 4 lsls r0, 4 ands r2, r6 orrs r2, r0 strb r2, [r1, 0xD] mov r0, sp mov r1, r8 adds r2, r7, 0 bl remo_copy lsls r0, 16 lsrs r0, 16 add sp, 0x10 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 .align 2, 0 .pool thumb_func_end Print thumb_func_start remo_copy remo_copy: @ 800467C push {r4-r7,lr} adds r6, r0, 0 mov r12, r2 lsls r1, 24 lsrs r5, r1, 24 ldr r0, =0x03002f80 ldr r0, [r0] cmp r0, 0 bne _08004698 movs r0, 0 b _08004766 .align 2, 0 .pool _08004698: ldr r0, =0x0202018c movs r2, 0 movs r1, 0x1 strb r1, [r0, 0x1B] strb r2, [r0, 0x1C] strb r5, [r0, 0x1D] strb r2, [r0, 0x1E] strb r2, [r0, 0x1F] adds r4, r0, 0 movs r1, 0x6 adds r0, 0x1A _080046AE: strb r2, [r0] subs r0, 0x1 subs r1, 0x1 cmp r1, 0 bge _080046AE adds r1, r4, 0 adds r0, r6, 0 ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldr r0, [r0] str r0, [r1] mov r0, r12 str r0, [r4, 0x10] adds r0, r4, 0 adds r0, 0x20 movs r1, 0 strb r1, [r0] adds r0, 0x1 strb r1, [r0] ldrb r0, [r6, 0xC] lsrs r0, 4 ldrb r2, [r6, 0xD] lsls r1, r2, 28 lsrs r1, 28 lsrs r2, 4 bl GenerateFontHalfRowLut cmp r5, 0xFF beq _08004718 cmp r5, 0 beq _08004718 ldrb r0, [r4, 0x1D] subs r0, 0x1 strb r0, [r4, 0x1D] ldr r2, =0x020201b0 ldrb r0, [r6, 0x4] lsls r1, r0, 3 adds r1, r0 lsls r1, 2 adds r1, r2 adds r0, r4, 0 ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r4,r7} stm r1!, {r2,r4,r7} b _0800475E .align 2, 0 .pool _08004718: ldr r1, =0x0202018c movs r0, 0 strb r0, [r1, 0x1D] movs r4, 0 ldr r7, =0x000003ff b _08004732 .align 2, 0 .pool _0800472C: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 _08004732: cmp r4, r7 bhi _08004740 ldr r0, =0x0202018c bl fbox_exec cmp r0, 0x1 bne _0800472C _08004740: cmp r5, 0xFF beq _0800474E ldr r0, =0x0202018c ldrb r0, [r0, 0x4] movs r1, 0x2 bl Window_CopyToVram _0800474E: ldr r2, =0x020201b0 ldrb r1, [r6, 0x4] lsls r0, r1, 3 adds r0, r1 lsls r0, 2 adds r0, r2 movs r1, 0 strb r1, [r0, 0x1B] _0800475E: ldr r1, =0x03002f84 movs r0, 0 strb r0, [r1] movs r0, 0x1 _08004766: pop {r4-r7} pop {r1} bx r1 .align 2, 0 .pool thumb_func_end remo_copy thumb_func_start run_remoboxes run_remoboxes: @ 8004778 push {r4-r7,lr} mov r7, r8 push {r7} ldr r0, =0x03002f84 ldrb r0, [r0] cmp r0, 0 bne _080047F6 ldr r0, =0x020201b0 movs r6, 0 adds r5, r0, 0x4 mov r8, r0 movs r7, 0x1F _08004790: ldrb r0, [r5, 0x17] cmp r0, 0 beq _080047E8 mov r0, r8 bl fbox_exec lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x1 beq _080047E4 cmp r4, 0x1 bgt _080047B8 cmp r4, 0 beq _080047BE b _080047E8 .align 2, 0 .pool _080047B8: cmp r4, 0x3 beq _080047C6 b _080047E8 _080047BE: ldrb r0, [r5] movs r1, 0x2 bl Window_CopyToVram _080047C6: ldr r1, =0x020201b0 adds r0, r1, 0 adds r0, 0x10 adds r0, r6, r0 ldr r2, [r0] cmp r2, 0 beq _080047E8 adds r0, r6, r1 adds r1, r4, 0 bl _call_via_r2 b _080047E8 .align 2, 0 .pool _080047E4: movs r0, 0 strb r0, [r5, 0x17] _080047E8: adds r6, 0x24 adds r5, 0x24 movs r0, 0x24 add r8, r0 subs r7, 0x1 cmp r7, 0 bge _08004790 _080047F6: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end run_remoboxes thumb_func_start a_pressed_maybe a_pressed_maybe: @ 8004800 lsls r0, 24 lsrs r0, 24 ldr r2, =0x020201b0 lsls r1, r0, 3 adds r1, r0 lsls r1, 2 adds r1, r2 ldrb r0, [r1, 0x1B] bx lr .align 2, 0 .pool thumb_func_end a_pressed_maybe thumb_func_start fbox_exec fbox_exec: @ 8004818 push {r4,lr} adds r4, r0, 0 _0800481C: ldrb r1, [r4, 0x5] ldr r0, =0x03002f80 ldr r2, [r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldr r1, [r0] adds r0, r4, 0 bl _call_via_r1 lsls r0, 16 lsrs r0, 16 cmp r0, 0x2 beq _0800481C pop {r4} pop {r1} bx r1 .align 2, 0 .pool thumb_func_end fbox_exec thumb_func_start GenerateFontHalfRowLut GenerateFontHalfRowLut: @ 8004844 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x24 lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 lsls r2, 24 lsrs r2, 24 ldr r3, =0x03000948 ldr r4, =0x030009ea strh r1, [r4] ldr r4, =0x030009ec strh r0, [r4] ldr r4, =0x030009ee strh r2, [r4] lsls r5, r1, 12 lsls r6, r0, 12 lsls r4, r2, 12 mov r8, r4 lsls r7, r1, 8 str r7, [sp] lsls r4, r1, 4 mov r9, r4 orrs r7, r4 str r7, [sp, 0x4] orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 lsls r7, r0, 8 mov r10, r7 mov r4, r10 mov r7, r9 orrs r4, r7 str r4, [sp, 0x8] adds r7, r4, 0 orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 lsls r7, r2, 8 mov r12, r7 mov r4, r12 mov r7, r9 orrs r4, r7 str r4, [sp, 0xC] adds r7, r4, 0 orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 lsls r7, r0, 4 mov r9, r7 ldr r4, [sp] orrs r4, r7 str r4, [sp, 0x10] adds r7, r4, 0 orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 mov r7, r10 adds r4, r7, 0 mov r7, r9 orrs r4, r7 str r4, [sp, 0x14] adds r7, r4, 0 orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 mov r7, r12 adds r4, r7, 0 mov r7, r9 orrs r4, r7 str r4, [sp, 0x18] adds r7, r4, 0 orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 lsls r7, r2, 4 mov r9, r7 mov r4, r9 ldr r7, [sp] orrs r7, r4 str r7, [sp, 0x1C] orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 mov r7, r9 mov r4, r10 orrs r4, r7 str r4, [sp, 0x20] adds r7, r4, 0 orrs r7, r1 adds r4, r5, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 adds r4, r6, 0 orrs r4, r7 strh r4, [r3] adds r3, 0x2 mov r4, r8 orrs r7, r4 strh r7, [r3] adds r3, 0x2 mov r4, r12 mov r7, r9 orrs r4, r7 adds r7, r4, 0 orrs r7, r1 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0x4] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0x8] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0xC] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0x10] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0x14] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0x18] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0x1C] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 ldr r7, [sp, 0x20] orrs r7, r0 adds r1, r5, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 adds r1, r6, 0 orrs r1, r7 strh r1, [r3] adds r3, 0x2 mov r1, r8 orrs r7, r1 strh r7, [r3] adds r3, 0x2 adds r7, r4, 0 orrs r7, r0 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 orrs r7, r1 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r0, [sp, 0x4] orrs r7, r0 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 orrs r7, r1 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r1, [sp, 0x8] orrs r7, r1 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 mov r0, r8 orrs r7, r0 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r1, [sp, 0xC] orrs r7, r1 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 mov r0, r8 orrs r7, r0 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r1, [sp, 0x10] orrs r7, r1 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 mov r0, r8 orrs r7, r0 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r1, [sp, 0x14] orrs r7, r1 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 mov r0, r8 orrs r7, r0 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r1, [sp, 0x18] orrs r7, r1 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 mov r0, r8 orrs r7, r0 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r1, [sp, 0x1C] orrs r7, r1 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 mov r0, r8 orrs r7, r0 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 ldr r1, [sp, 0x20] orrs r7, r1 adds r0, r5, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 adds r0, r6, 0 orrs r0, r7 strh r0, [r3] adds r3, 0x2 mov r0, r8 orrs r7, r0 strh r7, [r3] adds r3, 0x2 adds r7, r2, 0 orrs r7, r4 orrs r5, r7 strh r5, [r3] adds r3, 0x2 orrs r6, r7 strh r6, [r3] orrs r0, r7 strh r0, [r3, 0x2] add sp, 0x24 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end GenerateFontHalfRowLut thumb_func_start save_remo_colors save_remo_colors: @ 8004BE0 ldr r3, =0x030009ea ldrh r3, [r3] strb r3, [r1] ldr r1, =0x030009ec ldrh r1, [r1] strb r1, [r0] ldr r0, =0x030009ee ldrh r0, [r0] strb r0, [r2] bx lr .align 2, 0 .pool thumb_func_end save_remo_colors thumb_func_start restore_remo_colors restore_remo_colors: @ 8004C00 push {lr} ldrb r0, [r0] ldrb r1, [r1] ldrb r2, [r2] bl GenerateFontHalfRowLut pop {r0} bx r0 thumb_func_end restore_remo_colors thumb_func_start font_render_sub font_render_sub: @ 8004C10 push {r4-r7,lr} mov r7, r8 push {r7} ldrh r7, [r0] ldr r5, =0x03000948 ldr r4, =0x082e958c movs r2, 0xFF mov r8, r2 adds r2, r7, 0 mov r3, r8 ands r2, r3 adds r2, r4 ldrb r2, [r2] lsls r2, 1 adds r2, r5 ldrh r3, [r2] lsls r3, 16 lsrs r2, r7, 8 adds r2, r4 ldrb r2, [r2] lsls r2, 1 adds r2, r5 ldrh r2, [r2] orrs r3, r2 adds r6, r1, 0 stm r6!, {r3} ldrh r7, [r0, 0x2] adds r0, 0x4 adds r2, r7, 0 mov r3, r8 ands r2, r3 adds r2, r4 ldrb r2, [r2] lsls r2, 1 adds r2, r5 ldrh r3, [r2] lsls r3, 16 lsrs r2, r7, 8 adds r2, r4 ldrb r2, [r2] lsls r2, 1 adds r2, r5 ldrh r2, [r2] orrs r3, r2 str r3, [r1, 0x4] adds r6, 0x4 ldrh r7, [r0] adds r0, 0x2 adds r1, r7, 0 mov r2, r8 ands r1, r2 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r2, [r1] lsls r2, 16 lsrs r1, r7, 8 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r1, [r1] orrs r2, r1 stm r6!, {r2} ldrh r7, [r0] adds r0, 0x2 adds r1, r7, 0 mov r3, r8 ands r1, r3 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r2, [r1] lsls r2, 16 lsrs r1, r7, 8 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r1, [r1] orrs r2, r1 stm r6!, {r2} ldrh r7, [r0] adds r0, 0x2 adds r1, r7, 0 ands r1, r3 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r2, [r1] lsls r2, 16 lsrs r1, r7, 8 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r1, [r1] orrs r2, r1 stm r6!, {r2} ldrh r7, [r0] adds r0, 0x2 adds r1, r7, 0 ands r1, r3 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r2, [r1] lsls r2, 16 lsrs r1, r7, 8 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r1, [r1] orrs r2, r1 stm r6!, {r2} ldrh r7, [r0] adds r1, r7, 0 ands r1, r3 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r2, [r1] lsls r2, 16 lsrs r1, r7, 8 adds r1, r4 ldrb r1, [r1] lsls r1, 1 adds r1, r5 ldrh r1, [r1] orrs r2, r1 stm r6!, {r2} ldrh r7, [r0, 0x2] adds r0, r7, 0 ands r0, r3 adds r0, r4 ldrb r0, [r0] lsls r0, 1 adds r0, r5 ldrh r1, [r0] lsls r1, 16 lsrs r0, r7, 8 adds r0, r4 ldrb r0, [r0] lsls r0, 1 adds r0, r5 ldrh r0, [r0] orrs r1, r0 str r1, [r6] pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end font_render_sub thumb_func_start sub_8004D58 sub_8004D58: @ 8004D58 push {lr} lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 cmp r0, 0x1 beq _08004D8C cmp r0, 0x1 bgt _08004D6E cmp r0, 0 beq _08004D74 b _08004D98 _08004D6E: cmp r1, 0x2 beq _08004D80 b _08004D98 _08004D74: ldr r0, =0x030009ec ldrb r0, [r0] b _08004D9A .align 2, 0 .pool _08004D80: ldr r0, =0x030009ea ldrb r0, [r0] b _08004D9A .align 2, 0 .pool _08004D8C: ldr r0, =0x030009ee ldrb r0, [r0] b _08004D9A .align 2, 0 .pool _08004D98: movs r0, 0 _08004D9A: pop {r1} bx r1 thumb_func_end sub_8004D58 thumb_func_start CopyGlyphToWindow CopyGlyphToWindow: @ 8004DA0 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x8C adds r3, r0, 0 ldrb r1, [r3, 0x4] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 ldr r1, =0x02020004 adds r1, r0, r1 adds r2, r1, 0 ldrb r7, [r1, 0x3] lsls r0, r7, 3 ldrb r6, [r3, 0x8] subs r4, r0, r6 ldr r5, =0x03002f90 adds r0, r5, 0 adds r0, 0x80 ldrb r0, [r0] cmp r4, r0 ble _08004DD2 adds r4, r0, 0 _08004DD2: ldrb r0, [r1, 0x4] lsls r0, 3 ldrb r3, [r3, 0x9] subs r0, r3 adds r1, r5, 0 adds r1, 0x81 ldrb r1, [r1] cmp r0, r1 ble _08004DE6 adds r0, r1, 0 _08004DE6: str r6, [sp] mov r8, r3 adds r3, r5, 0 ldr r2, [r2, 0x8] mov r9, r2 lsls r1, r7, 5 str r1, [sp, 0x4] cmp r4, 0x8 ble _08004DFA b _08004F94 _08004DFA: cmp r0, 0x8 bgt _08004E84 mov r1, r8 str r3, [sp, 0x8] adds r2, r6, 0 adds r2, r4 mov r8, r2 adds r0, r1, r0 str r0, [sp, 0xC] str r6, [sp, 0x10] cmp r1, r0 bcc _08004E14 b _080052AA _08004E14: ldr r3, [sp, 0x8] ldm r3!, {r5} str r3, [sp, 0x8] ldr r4, [sp, 0x10] adds r0, r1, 0x1 mov r10, r0 cmp r4, r8 bcs _08004E72 movs r2, 0x7 mov r12, r2 lsrs r0, r1, 3 ldr r2, [sp, 0x4] adds r3, r0, 0 muls r3, r2 adds r7, r3, 0 mov r3, r12 ands r1, r3 lsls r6, r1, 2 _08004E38: adds r3, r5, 0 movs r0, 0xF ands r3, r0 cmp r3, 0 beq _08004E6A lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 mov r1, r12 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _08004E6A: lsrs r5, 4 adds r4, 0x1 cmp r4, r8 bcc _08004E38 _08004E72: mov r1, r10 ldr r2, [sp, 0xC] cmp r1, r2 bcc _08004E14 b _080052AA .align 2, 0 .pool _08004E84: mov r1, r8 str r3, [sp, 0x14] ldr r3, [sp] adds r3, r4 mov r12, r3 adds r2, r1, 0 adds r2, 0x8 str r2, [sp, 0x18] ldr r3, [sp] str r3, [sp, 0x1C] mov r2, r12 str r2, [sp, 0x74] ldr r3, [sp, 0x18] str r3, [sp, 0x88] subs r0, 0x8 str r0, [sp, 0x80] cmp r1, r3 bcs _08004F0E _08004EA8: ldr r0, [sp, 0x14] ldm r0!, {r5} str r0, [sp, 0x14] ldr r4, [sp, 0x1C] adds r2, r1, 0x1 mov r8, r2 cmp r4, r12 bcs _08004F06 movs r3, 0x7 mov r10, r3 lsrs r0, r1, 3 ldr r3, [sp, 0x4] adds r2, r0, 0 muls r2, r3 adds r7, r2, 0 mov r0, r10 ands r1, r0 lsls r6, r1, 2 _08004ECC: adds r3, r5, 0 movs r1, 0xF ands r3, r1 cmp r3, 0 beq _08004EFE lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 mov r1, r10 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _08004EFE: lsrs r5, 4 adds r4, 0x1 cmp r4, r12 bcc _08004ECC _08004F06: mov r1, r8 ldr r2, [sp, 0x18] cmp r1, r2 bcc _08004EA8 _08004F0E: ldr r1, [sp, 0x88] ldr r3, =0x03002fd0 str r3, [sp, 0x20] ldr r0, [sp, 0x74] mov r8, r0 ldr r2, [sp, 0x80] adds r2, r1, r2 str r2, [sp, 0x24] ldr r3, [sp] str r3, [sp, 0x28] cmp r1, r2 bcc _08004F28 b _080052AA _08004F28: ldr r0, [sp, 0x20] ldm r0!, {r5} str r0, [sp, 0x20] ldr r4, [sp, 0x28] adds r2, r1, 0x1 mov r10, r2 cmp r4, r8 bcs _08004F86 movs r3, 0x7 mov r12, r3 lsrs r0, r1, 3 ldr r3, [sp, 0x4] adds r2, r0, 0 muls r2, r3 adds r7, r2, 0 mov r0, r12 ands r1, r0 lsls r6, r1, 2 _08004F4C: adds r3, r5, 0 movs r1, 0xF ands r3, r1 cmp r3, 0 beq _08004F7E lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 mov r1, r12 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _08004F7E: lsrs r5, 4 adds r4, 0x1 cmp r4, r8 bcc _08004F4C _08004F86: mov r1, r10 ldr r2, [sp, 0x24] cmp r1, r2 bcc _08004F28 b _080052AA .align 2, 0 .pool _08004F94: cmp r0, 0x8 ble _08004F9A b _080050A4 _08004F9A: mov r1, r8 str r3, [sp, 0x2C] ldr r3, [sp] adds r3, 0x8 mov r12, r3 add r0, r8 str r0, [sp, 0x30] ldr r0, [sp] str r0, [sp, 0x34] ldr r2, [sp, 0x30] str r2, [sp, 0x78] str r3, [sp, 0x84] subs r4, 0x8 str r4, [sp, 0x7C] cmp r8, r2 bcs _0800501C _08004FBA: ldr r0, [sp, 0x2C] ldm r0!, {r5} str r0, [sp, 0x2C] ldr r4, [sp, 0x34] adds r2, r1, 0x1 mov r10, r2 cmp r4, r12 bcs _08005014 lsrs r0, r1, 3 ldr r2, [sp, 0x4] adds r3, r0, 0 muls r3, r2 adds r7, r3, 0 movs r3, 0x7 ands r1, r3 lsls r6, r1, 2 _08004FDA: adds r3, r5, 0 movs r0, 0xF ands r3, r0 cmp r3, 0 beq _0800500C lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 movs r1, 0x7 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _0800500C: lsrs r5, 4 adds r4, 0x1 cmp r4, r12 bcc _08004FDA _08005014: mov r1, r10 ldr r2, [sp, 0x30] cmp r1, r2 bcc _08004FBA _0800501C: mov r1, r8 ldr r3, =0x03002fb0 str r3, [sp, 0x38] ldr r0, [sp, 0x84] ldr r2, [sp, 0x7C] adds r0, r2 mov r8, r0 ldr r3, [sp, 0x78] str r3, [sp, 0x3C] ldr r0, [sp, 0x84] str r0, [sp, 0x40] cmp r1, r3 bcc _08005038 b _080052AA _08005038: ldr r2, [sp, 0x38] ldm r2!, {r5} str r2, [sp, 0x38] ldr r4, [sp, 0x40] adds r3, r1, 0x1 mov r10, r3 cmp r4, r8 bcs _08005096 movs r0, 0x7 mov r12, r0 lsrs r0, r1, 3 ldr r3, [sp, 0x4] adds r2, r0, 0 muls r2, r3 adds r7, r2, 0 mov r0, r12 ands r1, r0 lsls r6, r1, 2 _0800505C: adds r3, r5, 0 movs r1, 0xF ands r3, r1 cmp r3, 0 beq _0800508E lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 mov r1, r12 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _0800508E: lsrs r5, 4 adds r4, 0x1 cmp r4, r8 bcc _0800505C _08005096: mov r1, r10 ldr r2, [sp, 0x3C] cmp r1, r2 bcc _08005038 b _080052AA .align 2, 0 .pool _080050A4: mov r1, r8 str r5, [sp, 0x44] ldr r3, [sp] adds r3, 0x8 mov r12, r3 mov r2, r8 adds r2, 0x8 str r2, [sp, 0x48] ldr r3, [sp] str r3, [sp, 0x4C] str r2, [sp, 0x88] subs r0, 0x8 str r0, [sp, 0x80] mov r0, r12 str r0, [sp, 0x84] subs r4, 0x8 str r4, [sp, 0x7C] cmp r8, r2 bcs _0800512C _080050CA: ldr r2, [sp, 0x44] ldm r2!, {r5} str r2, [sp, 0x44] ldr r4, [sp, 0x4C] adds r3, r1, 0x1 mov r10, r3 cmp r4, r12 bcs _08005124 lsrs r0, r1, 3 ldr r3, [sp, 0x4] adds r2, r0, 0 muls r2, r3 adds r7, r2, 0 movs r0, 0x7 ands r1, r0 lsls r6, r1, 2 _080050EA: adds r3, r5, 0 movs r1, 0xF ands r3, r1 cmp r3, 0 beq _0800511C lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 movs r1, 0x7 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _0800511C: lsrs r5, 4 adds r4, 0x1 cmp r4, r12 bcc _080050EA _08005124: mov r1, r10 ldr r2, [sp, 0x48] cmp r1, r2 bcc _080050CA _0800512C: mov r1, r8 ldr r3, =0x03002fb0 str r3, [sp, 0x50] ldr r0, [sp, 0x84] ldr r2, [sp, 0x7C] adds r0, r2 mov r8, r0 ldr r3, [sp, 0x88] str r3, [sp, 0x54] ldr r0, [sp, 0x84] str r0, [sp, 0x58] cmp r1, r3 bcs _080051AC _08005146: ldr r2, [sp, 0x50] ldm r2!, {r5} str r2, [sp, 0x50] ldr r4, [sp, 0x58] adds r3, r1, 0x1 mov r10, r3 cmp r4, r8 bcs _080051A4 movs r0, 0x7 mov r12, r0 lsrs r0, r1, 3 ldr r3, [sp, 0x4] adds r2, r0, 0 muls r2, r3 adds r7, r2, 0 mov r0, r12 ands r1, r0 lsls r6, r1, 2 _0800516A: adds r3, r5, 0 movs r1, 0xF ands r3, r1 cmp r3, 0 beq _0800519C lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 mov r1, r12 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _0800519C: lsrs r5, 4 adds r4, 0x1 cmp r4, r8 bcc _0800516A _080051A4: mov r1, r10 ldr r2, [sp, 0x54] cmp r1, r2 bcc _08005146 _080051AC: ldr r1, [sp, 0x88] ldr r3, =0x03002fd0 str r3, [sp, 0x5C] ldr r0, [sp, 0x84] mov r8, r0 ldr r2, [sp, 0x80] adds r2, r1, r2 str r2, [sp, 0x60] ldr r3, [sp] str r3, [sp, 0x64] cmp r1, r2 bcs _0800522A _080051C4: ldr r0, [sp, 0x5C] ldm r0!, {r5} str r0, [sp, 0x5C] ldr r4, [sp, 0x64] adds r2, r1, 0x1 mov r10, r2 cmp r4, r8 bcs _08005222 movs r3, 0x7 mov r12, r3 lsrs r0, r1, 3 ldr r3, [sp, 0x4] adds r2, r0, 0 muls r2, r3 adds r7, r2, 0 mov r0, r12 ands r1, r0 lsls r6, r1, 2 _080051E8: adds r3, r5, 0 movs r1, 0xF ands r3, r1 cmp r3, 0 beq _0800521A lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 mov r1, r12 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _0800521A: lsrs r5, 4 adds r4, 0x1 cmp r4, r8 bcc _080051E8 _08005222: mov r1, r10 ldr r2, [sp, 0x60] cmp r1, r2 bcc _080051C4 _0800522A: ldr r4, [sp, 0x84] ldr r1, [sp, 0x88] ldr r3, =0x03002ff0 str r3, [sp, 0x68] ldr r0, [sp, 0x7C] adds r0, r4 mov r8, r0 ldr r2, [sp, 0x80] adds r2, r1, r2 str r2, [sp, 0x6C] str r4, [sp, 0x70] cmp r1, r2 bcs _080052AA _08005244: ldr r3, [sp, 0x68] ldm r3!, {r5} str r3, [sp, 0x68] ldr r4, [sp, 0x70] adds r0, r1, 0x1 mov r10, r0 cmp r4, r8 bcs _080052A2 movs r2, 0x7 mov r12, r2 lsrs r0, r1, 3 ldr r2, [sp, 0x4] adds r3, r0, 0 muls r3, r2 adds r7, r3, 0 mov r3, r12 ands r1, r3 lsls r6, r1, 2 _08005268: adds r3, r5, 0 movs r0, 0xF ands r3, r0 cmp r3, 0 beq _0800529A lsrs r2, r4, 3 lsls r2, 5 add r2, r9 adds r0, r4, 0 mov r1, r12 ands r0, r1 lsrs r0, 1 adds r2, r0 adds r2, r7 adds r2, r6 movs r1, 0x1 ands r1, r4 lsls r1, 2 lsls r3, r1 movs r0, 0xF0 asrs r0, r1 ldrb r1, [r2] ands r0, r1 orrs r3, r0 strb r3, [r2] _0800529A: lsrs r5, 4 adds r4, 0x1 cmp r4, r8 bcc _08005268 _080052A2: mov r1, r10 ldr r2, [sp, 0x6C] cmp r1, r2 bcc _08005244 _080052AA: add sp, 0x8C pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end CopyGlyphToWindow thumb_func_start Text_ClearHorizontalSpan Text_ClearHorizontalSpan: @ 80052C8 push {r4-r6,lr} sub sp, 0x10 adds r4, r0, 0 adds r6, r1, 0 ldr r0, =0x030009ea ldrh r5, [r0] cmp r5, 0 beq _0800531E ldrb r1, [r4, 0x4] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 ldr r1, =0x02020004 adds r0, r1 ldr r1, [r0, 0x8] str r1, [sp, 0x8] ldrb r2, [r0, 0x3] lsls r2, 3 ldr r3, =0xffff0000 ldr r1, [sp, 0xC] ands r1, r3 orrs r1, r2 str r1, [sp, 0xC] ldrb r2, [r0, 0x4] lsls r2, 19 ldr r0, =0x0000ffff ands r0, r1 orrs r0, r2 str r0, [sp, 0xC] ldr r0, =0x03002f90 adds r0, 0x81 ldrb r1, [r4, 0x8] ldrb r2, [r4, 0x9] lsls r3, r6, 16 lsrs r3, 16 ldrb r0, [r0] str r0, [sp] lsls r0, r5, 24 lsrs r0, 24 str r0, [sp, 0x4] add r0, sp, 0x8 bl PixelBlock_FillRect4Bpp _0800531E: add sp, 0x10 pop {r4-r6} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end Text_ClearHorizontalSpan thumb_func_start fbox0_func fbox0_func: @ 800533C push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08005360 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _08005360: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox0_func thumb_func_start fbox1_func fbox1_func: @ 8005370 push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08005398 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _08005398: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox1_func thumb_func_start fbox2_func fbox2_func: @ 80053A8 push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080053D0 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x2 orrs r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _080053D0: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox2_func thumb_func_start fbox3_func fbox3_func: @ 80053E0 push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08005408 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x3 orrs r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _08005408: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox3_func thumb_func_start fbox4_func fbox4_func: @ 8005418 push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08005440 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x4 orrs r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _08005440: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox4_func thumb_func_start fbox5_func fbox5_func: @ 8005450 push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08005478 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x5 orrs r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _08005478: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox5_func thumb_func_start fbox7_func fbox7_func: @ 8005488 push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080054B0 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x7 orrs r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _080054B0: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox7_func thumb_func_start fbox8_func fbox8_func: @ 80054C0 push {lr} adds r2, r0, 0 adds r3, r2, 0 adds r3, 0x14 ldrb r1, [r3, 0x1] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080054E8 ldrb r1, [r2, 0x14] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x8 orrs r0, r1 strb r0, [r2, 0x14] ldrb r0, [r3, 0x1] movs r1, 0x80 orrs r0, r1 strb r0, [r3, 0x1] _080054E8: adds r0, r2, 0 bl font_render_b lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end fbox8_func thumb_func_start sub_80054F8 sub_80054F8: @ 80054F8 push {lr} adds r2, r0, 0 adds r2, 0x14 ldr r0, =0x03003014 ldrb r1, [r0] movs r0, 0x4 ands r0, r1 cmp r0, 0 beq _08005514 movs r0, 0 strb r0, [r2, 0x2] b _08005524 .align 2, 0 .pool _08005514: ldrb r0, [r2, 0x1] movs r1, 0x61 negs r1, r1 ands r1, r0 movs r0, 0x20 negs r0, r0 ands r1, r0 strb r1, [r2, 0x1] _08005524: pop {r0} bx r0 thumb_func_end sub_80054F8 thumb_func_start remo_draw_bouncing_down_arrow remo_draw_bouncing_down_arrow: @ 8005528 push {r4-r7,lr} sub sp, 0x18 adds r5, r0, 0 adds r6, r5, 0 adds r6, 0x14 ldr r7, =0x03003014 ldrb r1, [r7] movs r0, 0x4 ands r0, r1 cmp r0, 0 bne _080055EE ldrb r2, [r6, 0x1] movs r0, 0x1F ands r0, r2 cmp r0, 0 beq _08005560 ldr r0, [r5, 0x14] lsls r0, 19 lsrs r0, 27 subs r0, 0x1 movs r1, 0x1F ands r0, r1 movs r1, 0x20 negs r1, r1 b _080055E8 .align 2, 0 .pool _08005560: ldrb r0, [r5, 0x4] ldrb r2, [r5, 0xD] lsls r2, 28 lsrs r1, r2, 4 orrs r1, r2 lsrs r1, 24 ldrb r2, [r5, 0x8] ldrb r3, [r5, 0x9] movs r4, 0x8 str r4, [sp] movs r4, 0x10 str r4, [sp, 0x4] bl Window_FillPixelRect ldr r0, [r7] lsls r0, 30 lsrs r0, 31 cmp r0, 0 beq _0800558A cmp r0, 0x1 beq _08005594 _0800558A: ldr r7, =0x082e968c b _08005596 .align 2, 0 .pool _08005594: ldr r7, =0x082e974c _08005596: ldrb r0, [r5, 0x4] ldr r2, =0x082e9d0c ldr r1, [r6] lsls r1, 17 lsrs r1, 30 adds r1, r2 ldrb r3, [r1] movs r4, 0x8 str r4, [sp] movs r2, 0x10 str r2, [sp, 0x4] ldrb r1, [r5, 0x8] str r1, [sp, 0x8] ldrb r1, [r5, 0x9] str r1, [sp, 0xC] str r4, [sp, 0x10] str r2, [sp, 0x14] adds r1, r7, 0 movs r2, 0 bl Window_CopyPixelRectToWindow ldrb r0, [r5, 0x4] movs r1, 0x2 bl Window_CopyToVram ldrb r0, [r6, 0x1] movs r1, 0x20 negs r1, r1 ands r1, r0 movs r0, 0x8 orrs r1, r0 strb r1, [r6, 0x1] ldr r0, [r6] lsls r0, 17 lsrs r0, 30 adds r0, 0x1 movs r2, 0x3 ands r0, r2 lsls r0, 5 movs r2, 0x61 negs r2, r2 _080055E8: ands r1, r2 orrs r1, r0 strb r1, [r6, 0x1] _080055EE: add sp, 0x18 pop {r4-r7} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end remo_draw_bouncing_down_arrow thumb_func_start remo_clear_down_arrow remo_clear_down_arrow: @ 8005600 push {r4,r5,lr} sub sp, 0x8 adds r5, r0, 0 ldrb r0, [r5, 0x4] ldrb r2, [r5, 0xD] lsls r2, 28 lsrs r1, r2, 4 orrs r1, r2 lsrs r1, 24 ldrb r2, [r5, 0x8] ldrb r3, [r5, 0x9] movs r4, 0x8 str r4, [sp] movs r4, 0x10 str r4, [sp, 0x4] bl Window_FillPixelRect ldrb r0, [r5, 0x4] movs r1, 0x2 bl Window_CopyToVram add sp, 0x8 pop {r4,r5} pop {r0} bx r0 thumb_func_end remo_clear_down_arrow thumb_func_start remo_is_it_time_to_continue_autopilot remo_is_it_time_to_continue_autopilot: @ 8005634 push {lr} adds r1, r0, 0 adds r1, 0x14 ldrb r0, [r1, 0x2] cmp r0, 0x31 beq _08005648 adds r0, 0x1 strb r0, [r1, 0x2] movs r0, 0 b _0800564A _08005648: movs r0, 0x1 _0800564A: pop {r1} bx r1 thumb_func_end remo_is_it_time_to_continue_autopilot thumb_func_start remo_is_it_time_to_continue_plus_down_arrow remo_is_it_time_to_continue_plus_down_arrow: @ 8005650 push {r4,lr} adds r2, r0, 0 movs r4, 0 ldr r0, =0x03003014 ldrb r1, [r0] movs r0, 0x4 ands r0, r1 cmp r0, 0 beq _08005674 adds r0, r2, 0 bl remo_is_it_time_to_continue_autopilot lsls r0, 24 lsrs r4, r0, 24 b _0800568E .align 2, 0 .pool _08005674: adds r0, r2, 0 bl remo_draw_bouncing_down_arrow ldr r0, =0x030022c0 ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _0800568E movs r4, 0x1 movs r0, 0x5 bl audio_play _0800568E: adds r0, r4, 0 pop {r4} pop {r1} bx r1 .align 2, 0 .pool thumb_func_end remo_is_it_time_to_continue_plus_down_arrow thumb_func_start remo_is_it_time_to_continue remo_is_it_time_to_continue: @ 800569C push {r4,lr} adds r2, r0, 0 movs r4, 0 ldr r0, =0x03003014 ldrb r1, [r0] movs r0, 0x4 ands r0, r1 cmp r0, 0 beq _080056C0 adds r0, r2, 0 bl remo_is_it_time_to_continue_autopilot lsls r0, 24 lsrs r4, r0, 24 b _080056D4 .align 2, 0 .pool _080056C0: ldr r0, =0x030022c0 ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _080056D4 movs r4, 0x1 movs r0, 0x5 bl audio_play _080056D4: adds r0, r4, 0 pop {r4} pop {r1} bx r1 .align 2, 0 .pool thumb_func_end remo_is_it_time_to_continue thumb_func_start draw_bouncing_down_arrow_2 draw_bouncing_down_arrow_2: @ 80056E0 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x18 ldr r4, [sp, 0x38] ldr r5, [sp, 0x3C] mov r9, r5 ldr r5, [sp, 0x40] mov r10, r5 lsls r0, 24 lsrs r5, r0, 24 lsls r1, 16 lsrs r1, 16 mov r8, r1 lsls r2, 16 lsrs r7, r2, 16 lsls r3, 24 lsrs r3, 24 lsls r4, 24 lsrs r4, 24 mov r1, r9 ldrb r0, [r1] cmp r0, 0 beq _0800571A subs r0, 0x1 strb r0, [r1] b _0800579A _0800571A: lsls r1, r3, 4 orrs r1, r3 lsls r1, 24 lsrs r1, 24 movs r0, 0x8 str r0, [sp] movs r0, 0x10 str r0, [sp, 0x4] adds r0, r5, 0 mov r2, r8 adds r3, r7, 0 bl Window_FillPixelRect cmp r4, 0 bne _0800579A ldr r0, =0x03003014 ldr r0, [r0] lsls r0, 30 lsrs r0, 31 cmp r0, 0 beq _08005748 cmp r0, 0x1 beq _08005754 _08005748: ldr r6, =0x082e968c b _08005756 .align 2, 0 .pool _08005754: ldr r6, =0x082e974c _08005756: ldr r2, =0x082e9d0c mov r0, r10 ldrb r1, [r0] movs r0, 0x3 ands r0, r1 adds r0, r2 ldrb r3, [r0] movs r4, 0x8 str r4, [sp] movs r1, 0x10 str r1, [sp, 0x4] mov r0, r8 str r0, [sp, 0x8] subs r0, r7, 0x2 lsls r0, 16 lsrs r0, 16 str r0, [sp, 0xC] str r4, [sp, 0x10] str r1, [sp, 0x14] adds r0, r5, 0 adds r1, r6, 0 movs r2, 0 bl Window_CopyPixelRectToWindow adds r0, r5, 0 movs r1, 0x2 bl Window_CopyToVram mov r1, r9 strb r4, [r1] mov r5, r10 ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] _0800579A: add sp, 0x18 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end draw_bouncing_down_arrow_2 thumb_func_start font_render_b font_render_b: @ 80057B4 push {r4-r6,lr} adds r6, r0, 0 adds r4, r6, 0 adds r4, 0x14 ldrb r0, [r6, 0x1C] cmp r0, 0x6 bls _080057C4 b _08005D6C _080057C4: lsls r0, 2 ldr r1, =_080057D4 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _080057D4: .4byte _080057F0 .4byte _08005C78 .4byte _08005C8C .4byte _08005CB8 .4byte _08005CF0 .4byte _08005D48 .4byte _08005D5A _080057F0: ldr r2, =0x030022c0 ldrh r1, [r2, 0x2C] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _0800580A ldrb r1, [r4] movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _0800580A movs r0, 0 strb r0, [r6, 0x1E] _0800580A: ldrb r1, [r6, 0x1E] cmp r1, 0 beq _0800584C ldrb r0, [r6, 0x1D] cmp r0, 0 beq _0800584C subs r0, r1, 0x1 strb r0, [r6, 0x1E] ldr r0, =0x03003014 ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _08005828 b _08005B56 _08005828: ldrh r1, [r2, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 bne _08005834 b _08005B56 _08005834: ldrb r0, [r4] movs r1, 0x10 orrs r0, r1 strb r0, [r4] movs r0, 0 strb r0, [r6, 0x1E] b _08005B56 .align 2, 0 .pool _0800584C: ldr r0, =0x02022fec ldr r0, [r0] movs r1, 0x80 lsls r1, 17 ands r0, r1 cmp r0, 0 bne _08005874 ldr r0, =0x03003014 ldrb r1, [r0] movs r0, 0x4 ands r0, r1 cmp r0, 0 beq _08005874 movs r0, 0x3 b _08005876 .align 2, 0 .pool _08005874: ldrb r0, [r6, 0x1D] _08005876: strb r0, [r6, 0x1E] ldr r0, [r6] ldrb r3, [r0] adds r0, 0x1 str r0, [r6] adds r0, r3, 0 subs r0, 0xF8 cmp r0, 0x7 bls _0800588A b _08005B90 _0800588A: lsls r0, 2 ldr r1, =_08005898 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08005898: .4byte _08005B6C .4byte _08005B5A .4byte _08005B4C .4byte _08005B48 .4byte _080058E0 .4byte _080058DC .4byte _080058B8 .4byte _08005D6C _080058B8: ldrb r0, [r6, 0x6] strb r0, [r6, 0x8] ldrb r1, [r6, 0x5] ldr r0, =0x03002f80 ldr r2, [r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrb r1, [r6, 0xB] ldrb r0, [r0, 0x5] adds r1, r0 ldrb r0, [r6, 0x9] adds r0, r1 b _08005ABA .align 2, 0 .pool _080058DC: ldr r0, [r6] b _08005B30 _080058E0: ldr r0, [r6] ldrb r3, [r0] adds r0, 0x1 str r0, [r6] subs r0, r3, 0x1 cmp r0, 0x17 bls _080058F0 b _08005B90 _080058F0: lsls r0, 2 ldr r1, =_08005900 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08005900: .4byte _08005960 .4byte _08005982 .4byte _080059A6 .4byte _080059C0 .4byte _08005A0E .4byte _08005A12 .4byte _08005A0A .4byte _08005A2A .4byte _08005A3A .4byte _08005A58 .4byte _08005A5C .4byte _08005B5A .4byte _08005A90 .4byte _08005A98 .4byte _08005AA4 .4byte _08005A76 .4byte _08005AD8 .4byte _08005AF2 .4byte _08005B02 .4byte _08005B26 .4byte _08005B36 .4byte _08005B3E .4byte _08005ABE .4byte _08005ACC _08005960: ldr r2, [r6] ldrb r1, [r2] lsls r1, 4 ldrb r3, [r6, 0xC] movs r0, 0xF ands r0, r3 orrs r0, r1 strb r0, [r6, 0xC] adds r2, 0x1 str r2, [r6] lsls r0, 24 lsrs r0, 28 ldrb r2, [r6, 0xD] lsls r1, r2, 28 lsrs r1, 28 lsrs r2, 4 b _08005A06 _08005982: ldr r1, [r6] ldrb r2, [r1] movs r0, 0xF ands r0, r2 ldrb r3, [r6, 0xD] movs r2, 0x10 negs r2, r2 ands r2, r3 orrs r2, r0 strb r2, [r6, 0xD] adds r1, 0x1 str r1, [r6] ldrb r0, [r6, 0xC] lsrs r0, 4 lsls r1, r2, 28 lsrs r1, 28 lsrs r2, 4 b _08005A06 _080059A6: ldr r1, [r6] ldrb r0, [r1] lsls r0, 4 ldrb r3, [r6, 0xD] movs r2, 0xF ands r2, r3 orrs r2, r0 strb r2, [r6, 0xD] adds r1, 0x1 str r1, [r6] ldrb r0, [r6, 0xC] lsrs r0, 4 b _080059FE _080059C0: ldr r3, [r6] ldrb r1, [r3] lsls r1, 4 ldrb r4, [r6, 0xC] movs r2, 0xF adds r0, r2, 0 ands r0, r4 orrs r0, r1 strb r0, [r6, 0xC] adds r5, r3, 0x1 str r5, [r6] ldrb r3, [r3, 0x1] adds r1, r2, 0 ands r1, r3 ldrb r4, [r6, 0xD] movs r3, 0x10 negs r3, r3 ands r3, r4 orrs r3, r1 strb r3, [r6, 0xD] adds r4, r5, 0x1 str r4, [r6] ldrb r1, [r5, 0x1] lsls r1, 4 ands r2, r3 orrs r2, r1 strb r2, [r6, 0xD] adds r4, 0x1 str r4, [r6] lsls r0, 24 lsrs r0, 28 _080059FE: lsls r1, r2, 28 lsrs r1, 28 lsls r2, 24 lsrs r2, 28 _08005A06: bl GenerateFontHalfRowLut _08005A0A: movs r0, 0x2 b _08005D6E _08005A0E: ldr r0, [r6] b _08005B30 _08005A12: ldr r0, [r6] ldrb r0, [r0] movs r1, 0xF ands r1, r0 ldrb r2, [r4] movs r0, 0x10 negs r0, r0 ands r0, r2 orrs r0, r1 strb r0, [r4] ldr r0, [r6] b _08005B30 _08005A2A: ldr r0, [r6] ldrb r1, [r0] strb r1, [r6, 0x1E] adds r0, 0x1 str r0, [r6] movs r0, 0x6 strb r0, [r6, 0x1C] b _08005A0A _08005A3A: movs r0, 0x1 strb r0, [r6, 0x1C] ldr r0, =0x03003014 ldrb r1, [r0] movs r0, 0x4 ands r0, r1 cmp r0, 0 bne _08005A4C b _08005B56 _08005A4C: movs r0, 0 strb r0, [r4, 0x2] b _08005B56 .align 2, 0 .pool _08005A58: movs r0, 0x5 b _08005D56 _08005A5C: ldr r0, [r6] ldrb r3, [r0] adds r1, r0, 0x1 str r1, [r6] ldrb r0, [r0, 0x1] lsls r0, 8 orrs r3, r0 adds r1, 0x1 str r1, [r6] adds r0, r3, 0 bl song_play_for_text b _08005A0A _08005A76: ldr r0, [r6] ldrb r3, [r0] adds r1, r0, 0x1 str r1, [r6] ldrb r0, [r0, 0x1] lsls r0, 8 orrs r3, r0 adds r1, 0x1 str r1, [r6] adds r0, r3, 0 bl audio_play b _08005A0A _08005A90: ldr r1, [r6] ldrb r0, [r1] ldrb r3, [r6, 0x6] b _08005AF8 _08005A98: ldr r1, [r6] ldrb r0, [r1] ldrb r2, [r6, 0x7] adds r0, r2 strb r0, [r6, 0x9] b _08005AFC _08005AA4: ldrb r0, [r6, 0x4] ldrb r2, [r6, 0xD] lsls r2, 28 lsrs r1, r2, 4 orrs r1, r2 lsrs r1, 24 bl Window_FastFillPixels ldrb r0, [r6, 0x6] strb r0, [r6, 0x8] ldrb r0, [r6, 0x7] _08005ABA: strb r0, [r6, 0x9] b _08005A0A _08005ABE: ldr r0, =0x03007420 bl MPlayStop_rev01 b _08005A0A .align 2, 0 .pool _08005ACC: ldr r0, =0x03007420 bl m4aMPlayContinue b _08005A0A .align 2, 0 .pool _08005AD8: ldr r0, [r6] ldrb r4, [r0] adds r0, 0x1 str r0, [r6] cmp r4, 0 ble _08005A0A adds r0, r6, 0 adds r1, r4, 0 bl Text_ClearHorizontalSpan ldrb r0, [r6, 0x8] adds r0, r4 b _08005C6E _08005AF2: ldr r1, [r6] ldrb r0, [r6, 0x6] ldrb r3, [r1] _08005AF8: adds r0, r3 strb r0, [r6, 0x8] _08005AFC: adds r1, 0x1 str r1, [r6] b _08005A0A _08005B02: ldr r0, [r6] ldrb r2, [r0] ldrb r1, [r6, 0x6] adds r2, r1 adds r0, 0x1 str r0, [r6] ldrb r0, [r6, 0x8] subs r4, r2, r0 cmp r4, 0 bgt _08005B18 b _08005A0A _08005B18: adds r0, r6, 0 adds r1, r4, 0 bl Text_ClearHorizontalSpan ldrb r0, [r6, 0x8] adds r0, r4 b _08005C6E _08005B26: ldr r0, [r6] ldrb r2, [r0] adds r1, r6, 0 adds r1, 0x20 strb r2, [r1] _08005B30: adds r0, 0x1 str r0, [r6] b _08005A0A _08005B36: adds r1, r6, 0 adds r1, 0x21 movs r0, 0x1 b _08005B44 _08005B3E: adds r1, r6, 0 adds r1, 0x21 movs r0, 0 _08005B44: strb r0, [r1] b _08005A0A _08005B48: movs r0, 0x2 b _08005B4E _08005B4C: movs r0, 0x3 _08005B4E: strb r0, [r6, 0x1C] adds r0, r6, 0 bl sub_80054F8 _08005B56: movs r0, 0x3 b _08005D6E _08005B5A: ldr r0, [r6] ldrb r3, [r0] movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 orrs r3, r1 adds r0, 0x1 str r0, [r6] b _08005B90 _08005B6C: ldr r0, [r6] ldrb r3, [r0] adds r0, 0x1 str r0, [r6] ldrb r0, [r6, 0x4] adds r1, r3, 0 ldrb r2, [r6, 0x8] ldrb r3, [r6, 0x9] bl TextBox_DrawKeypadIcon ldr r1, =0x03002f90 adds r1, 0x80 strb r0, [r1] ldrb r3, [r6, 0xA] adds r0, r3 b _08005C6A .align 2, 0 .pool _08005B90: ldr r0, [r4] lsls r0, 28 lsrs r0, 28 cmp r0, 0x8 bhi _08005C10 lsls r0, 2 ldr r1, =_08005BA8 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08005BA8: .4byte _08005BCC .4byte _08005BDA .4byte _08005BE8 .4byte _08005BE8 .4byte _08005BE8 .4byte _08005BE8 .4byte _08005C10 .4byte _08005BF6 .4byte _08005C04 _08005BCC: adds r0, r6, 0 adds r0, 0x21 ldrb r1, [r0] adds r0, r3, 0 bl Text_DecompressGlyphFont0 b _08005C10 _08005BDA: adds r0, r6, 0 adds r0, 0x21 ldrb r1, [r0] adds r0, r3, 0 bl Text_DecompressGlyphFont1 b _08005C10 _08005BE8: adds r0, r6, 0 adds r0, 0x21 ldrb r1, [r0] adds r0, r3, 0 bl Text_DecompressGlyphFont2 b _08005C10 _08005BF6: adds r0, r6, 0 adds r0, 0x21 ldrb r1, [r0] adds r0, r3, 0 bl Text_DecompressGlyphFont7 b _08005C10 _08005C04: adds r0, r6, 0 adds r0, 0x21 ldrb r1, [r0] adds r0, r3, 0 bl Text_DecompressGlyphFont8 _08005C10: adds r0, r6, 0 bl CopyGlyphToWindow adds r2, r6, 0 adds r2, 0x20 ldrb r0, [r2] cmp r0, 0 beq _08005C48 ldr r1, =0x03002f90 adds r1, 0x80 ldrb r0, [r1] ldrb r3, [r6, 0x8] adds r0, r3 strb r0, [r6, 0x8] ldrb r2, [r2] ldrb r0, [r1] subs r4, r2, r0 cmp r4, 0 ble _08005C70 adds r0, r6, 0 adds r1, r4, 0 bl Text_ClearHorizontalSpan ldrb r0, [r6, 0x8] adds r0, r4 b _08005C6E .align 2, 0 .pool _08005C48: adds r0, r6, 0 adds r0, 0x21 ldrb r0, [r0] cmp r0, 0 beq _08005C64 ldr r0, =0x03002f90 adds r0, 0x80 ldrb r1, [r6, 0xA] ldrb r0, [r0] adds r1, r0 ldrb r0, [r6, 0x8] b _08005C6C .align 2, 0 .pool _08005C64: ldr r0, =0x03002f90 adds r0, 0x80 ldrb r0, [r0] _08005C6A: ldrb r1, [r6, 0x8] _08005C6C: adds r0, r1 _08005C6E: strb r0, [r6, 0x8] _08005C70: movs r0, 0 b _08005D6E .align 2, 0 .pool _08005C78: adds r0, r6, 0 bl remo_is_it_time_to_continue lsls r0, 16 cmp r0, 0 bne _08005C86 b _08005B56 _08005C86: movs r0, 0 strb r0, [r6, 0x1C] b _08005B56 _08005C8C: adds r0, r6, 0 bl remo_is_it_time_to_continue_plus_down_arrow lsls r0, 16 cmp r0, 0 bne _08005C9A b _08005B56 _08005C9A: ldrb r0, [r6, 0x4] ldrb r2, [r6, 0xD] lsls r2, 28 lsrs r1, r2, 4 orrs r1, r2 lsrs r1, 24 bl Window_FastFillPixels ldrb r0, [r6, 0x6] movs r1, 0 strb r0, [r6, 0x8] ldrb r0, [r6, 0x7] strb r0, [r6, 0x9] strb r1, [r6, 0x1C] b _08005B56 _08005CB8: adds r0, r6, 0 bl remo_is_it_time_to_continue_plus_down_arrow lsls r0, 16 cmp r0, 0 bne _08005CC6 b _08005B56 _08005CC6: adds r0, r6, 0 bl remo_clear_down_arrow ldrb r1, [r6, 0x5] ldr r0, =0x03002f80 ldr r2, [r0] lsls r0, r1, 1 adds r0, r1 lsls r0, 2 adds r0, r2 ldrb r1, [r6, 0xB] ldrb r0, [r0, 0x5] adds r1, r0 strb r1, [r6, 0x1F] ldrb r0, [r6, 0x6] strb r0, [r6, 0x8] movs r0, 0x4 strb r0, [r6, 0x1C] b _08005B56 .align 2, 0 .pool _08005CF0: ldrb r0, [r6, 0x1F] cmp r0, 0 beq _08005D44 bl sub_8197964 ldr r1, =0x082e9d10 adds r0, r1 ldrb r4, [r0] ldrb r2, [r6, 0x1F] cmp r2, r4 bge _08005D20 ldrb r0, [r6, 0x4] ldrb r1, [r6, 0xD] lsls r1, 28 lsrs r3, r1, 4 orrs r3, r1 lsrs r3, 24 movs r1, 0 bl Window_ScrollVertically movs r0, 0 b _08005D38 .align 2, 0 .pool _08005D20: ldrb r0, [r6, 0x4] ldrb r1, [r6, 0xD] lsls r1, 28 lsrs r3, r1, 4 orrs r3, r1 lsrs r3, 24 movs r1, 0 adds r2, r4, 0 bl Window_ScrollVertically ldrb r0, [r6, 0x1F] subs r0, r4 _08005D38: strb r0, [r6, 0x1F] ldrb r0, [r6, 0x4] movs r1, 0x2 bl Window_CopyToVram b _08005B56 _08005D44: strb r0, [r6, 0x1C] b _08005B56 _08005D48: bl mplay_has_finished_maybe lsls r0, 24 lsrs r0, 24 cmp r0, 0 beq _08005D56 b _08005B56 _08005D56: strb r0, [r6, 0x1C] b _08005B56 _08005D5A: ldrb r0, [r6, 0x1E] adds r1, r0, 0 cmp r1, 0 beq _08005D68 subs r0, 0x1 strb r0, [r6, 0x1E] b _08005B56 _08005D68: strb r1, [r6, 0x1C] b _08005B56 _08005D6C: movs r0, 0x1 _08005D6E: pop {r4-r6} pop {r1} bx r1 thumb_func_end font_render_b thumb_func_start sub_8005D74 sub_8005D74: @ 8005D74 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x8 lsls r1, 24 lsrs r7, r1, 24 lsls r2, 24 lsrs r2, 24 mov r8, r2 movs r2, 0 mov r1, sp adds r1, 0x7 _08005D8C: strb r2, [r1] subs r1, 0x1 cmp r1, sp bge _08005D8C movs r5, 0 movs r6, 0 adds r4, r0, 0 movs r2, 0 _08005D9C: adds r0, r4, r2 ldrb r3, [r0] adds r2, 0x1 adds r0, r3, 0 subs r0, 0xF7 cmp r0, 0x8 bhi _08005E6A lsls r0, 2 ldr r1, =_08005DB8 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08005DB8: .4byte _08005E64 .4byte _08005E68 .4byte _08005E68 .4byte _08005E70 .4byte _08005E70 .4byte _08005DEC .4byte _08005E64 .4byte _08005DDC .4byte _08005DDC _08005DDC: mov r1, sp adds r0, r1, r6 strb r5, [r0] movs r5, 0 adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 b _08005E70 _08005DEC: adds r0, r4, r2 ldrb r0, [r0] adds r2, 0x1 subs r0, 0x1 cmp r0, 0x15 bhi _08005E70 lsls r0, 2 ldr r1, =_08005E08 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08005E08: .4byte _08005E64 .4byte _08005E64 .4byte _08005E64 .4byte _08005E60 .4byte _08005E64 .4byte _08005E64 .4byte _08005E70 .4byte _08005E64 .4byte _08005E70 .4byte _08005E70 .4byte _08005E62 .4byte _08005E64 .4byte _08005E64 .4byte _08005E64 .4byte _08005E70 .4byte _08005E62 .4byte _08005E64 .4byte _08005E64 .4byte _08005E64 .4byte _08005E64 .4byte _08005E70 .4byte _08005E70 _08005E60: adds r2, 0x1 _08005E62: adds r2, 0x1 _08005E64: adds r2, 0x1 b _08005E70 _08005E68: adds r2, 0x1 _08005E6A: adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 _08005E70: cmp r3, 0xFF bne _08005D9C movs r5, 0 movs r2, 0 _08005E78: mov r1, sp adds r0, r1, r2 ldrb r1, [r0] cmp r5, r1 bcs _08005E84 ldrb r5, [r0] _08005E84: adds r2, 0x1 cmp r2, 0x7 ble _08005E78 adds r0, r7, 0 movs r1, 0 bl fbox_get_field add r0, r8 lsls r0, 24 lsrs r0, 24 muls r0, r5 add sp, 0x8 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_8005D74 thumb_func_start font_get_get_width_func font_get_get_width_func: @ 8005EA8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 movs r3, 0 ldr r0, =0x082e9d14 adds r2, r0, 0x4 adds r1, r0, 0 _08005EB6: ldr r0, [r1] cmp r4, r0 bne _08005EC4 ldr r0, [r2] b _08005ED0 .align 2, 0 .pool _08005EC4: adds r2, 0x8 adds r1, 0x8 adds r3, 0x1 cmp r3, 0x8 bls _08005EB6 movs r0, 0 _08005ED0: pop {r4} pop {r1} bx r1 thumb_func_end font_get_get_width_func thumb_func_start font_get_width_of_string font_get_width_of_string: @ 8005ED8 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x8 adds r4, r1, 0 lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 lsls r2, 16 lsrs r5, r2, 16 movs r0, 0 mov r9, r0 movs r7, 0 adds r0, r6, 0 bl font_get_get_width_func mov r8, r0 cmp r0, 0 bne _08005F06 _08005F02: movs r0, 0 b _0800612E _08005F06: lsls r0, r5, 16 asrs r2, r0, 16 movs r1, 0x1 negs r1, r1 str r0, [sp, 0x4] cmp r2, r1 bne _08005F24 adds r0, r6, 0 movs r1, 0x2 bl fbox_get_field lsls r0, 24 lsrs r0, 24 mov r10, r0 b _08005F26 _08005F24: mov r10, r2 _08005F26: movs r2, 0 str r2, [sp] movs r5, 0 movs r6, 0 b _0800611E _08005F30: ldrb r1, [r4] adds r0, r1, 0 subs r0, 0xF7 cmp r0, 0x7 bls _08005F3C b _080060F8 _08005F3C: lsls r0, 2 ldr r1, =_08005F4C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08005F4C: .4byte _08005FA2 .4byte _080060BC .4byte _080060BC .4byte _0800611C .4byte _0800611C .4byte _08005FEA .4byte _08005F78 .4byte _08005F6C _08005F6C: ldr r0, [sp] cmp r5, r0 bls _08005F74 str r5, [sp] _08005F74: movs r5, 0 b _0800611C _08005F78: adds r4, 0x1 ldrb r0, [r4] cmp r0, 0x3 beq _08005F98 cmp r0, 0x3 bgt _08005F8A cmp r0, 0x2 beq _08005F90 b _08005F02 _08005F8A: cmp r0, 0x4 beq _08005FA0 b _08005F02 _08005F90: ldr r6, =0x02021cc4 b _08005FA2 .align 2, 0 .pool _08005F98: ldr r6, =0x02021dc4 b _08005FA2 .align 2, 0 .pool _08005FA0: ldr r6, =0x02021ec4 _08005FA2: cmp r6, 0 bne _08005FE0 adds r4, 0x1 ldrb r0, [r4] bl sub_81AFC74 adds r6, r0, 0 b _08005FE0 .align 2, 0 .pool _08005FB8: ldrb r0, [r6] adds r6, 0x1 mov r1, r9 bl _call_via_r8 cmp r7, 0 ble _08005FD0 cmp r0, r7 bge _08005FCC adds r0, r7, 0 _08005FCC: adds r5, r0 b _08005FE0 _08005FD0: adds r5, r0 mov r2, r9 cmp r2, 0 beq _08005FE0 ldrb r0, [r4, 0x1] cmp r0, 0xFF beq _08005FE0 add r5, r10 _08005FE0: ldrb r0, [r6] cmp r0, 0xFF bne _08005FB8 movs r6, 0 b _0800611C _08005FEA: adds r4, 0x1 ldrb r0, [r4] subs r0, 0x1 cmp r0, 0x15 bls _08005FF6 b _0800611C _08005FF6: lsls r0, 2 ldr r1, =_08006004 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08006004: .4byte _08006060 .4byte _08006060 .4byte _08006060 .4byte _0800605C .4byte _08006060 .4byte _08006064 .4byte _0800611C .4byte _08006060 .4byte _0800611C .4byte _0800611C .4byte _0800605E .4byte _08006060 .4byte _08006060 .4byte _08006060 .4byte _0800611C .4byte _0800605E .4byte _08006090 .4byte _08006098 .4byte _0800609E .4byte _080060AA .4byte _080060B0 .4byte _080060B6 _0800605C: adds r4, 0x1 _0800605E: adds r4, 0x1 _08006060: adds r4, 0x1 b _0800611C _08006064: adds r4, 0x1 ldrb r0, [r4] bl font_get_get_width_func mov r8, r0 cmp r0, 0 bne _08006074 b _08005F02 _08006074: ldr r0, [sp, 0x4] asrs r1, r0, 16 movs r0, 0x1 negs r0, r0 cmp r1, r0 bne _0800611C ldrb r0, [r4] movs r1, 0x2 bl fbox_get_field lsls r0, 24 lsrs r0, 24 mov r10, r0 b _0800611C _08006090: adds r4, 0x1 ldrb r0, [r4] _08006094: adds r5, r0 b _0800611C _08006098: adds r4, 0x1 ldrb r5, [r4] b _0800611C _0800609E: adds r4, 0x1 ldrb r0, [r4] cmp r0, r5 bls _0800611C adds r5, r0, 0 b _0800611C _080060AA: adds r4, 0x1 ldrb r7, [r4] b _0800611C _080060B0: movs r2, 0x1 mov r9, r2 b _0800611C _080060B6: movs r0, 0 mov r9, r0 b _0800611C _080060BC: ldrb r0, [r4] cmp r0, 0xF9 bne _080060D6 adds r4, 0x1 ldrb r0, [r4] movs r2, 0x80 lsls r2, 1 adds r1, r2, 0 orrs r0, r1 mov r1, r9 bl _call_via_r8 b _080060E2 _080060D6: adds r4, 0x1 ldrb r0, [r4] bl Font_ReturnsValueFromLUT lsls r0, 24 lsrs r0, 24 _080060E2: cmp r7, 0 ble _080060EE cmp r0, r7 bge _08006094 adds r0, r7, 0 b _08006094 _080060EE: adds r5, r0 mov r0, r9 cmp r0, 0 beq _0800611C b _08006114 _080060F8: adds r0, r1, 0 mov r1, r9 bl _call_via_r8 cmp r7, 0 ble _0800610C cmp r0, r7 bge _08006094 adds r0, r7, 0 b _08006094 _0800610C: adds r5, r0 mov r2, r9 cmp r2, 0 beq _0800611C _08006114: ldrb r0, [r4, 0x1] cmp r0, 0xFF beq _0800611C add r5, r10 _0800611C: adds r4, 0x1 _0800611E: ldrb r0, [r4] cmp r0, 0xFF beq _08006126 b _08005F30 _08006126: ldr r0, [sp] cmp r5, r0 bls _0800612E adds r0, r5, 0 _0800612E: add sp, 0x8 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 thumb_func_end font_get_width_of_string thumb_func_start font_render_some font_render_some: @ 8006140 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x10 mov r9, r0 adds r6, r2, 0 lsls r1, 24 lsrs r1, 24 str r1, [sp, 0x4] mov r4, sp adds r4, 0x1 mov r5, sp adds r5, 0x2 mov r0, sp adds r1, r4, 0 adds r2, r5, 0 bl save_remo_colors movs r0, 0x1 str r0, [sp, 0x8] movs r0, 0 str r0, [sp, 0xC] movs r0, 0x3 mov r10, r0 movs r0, 0x1 movs r1, 0 movs r2, 0x3 bl GenerateFontHalfRowLut adds r7, r6, 0 movs r6, 0 _08006182: adds r0, r7, r6 ldrb r0, [r0] mov r8, r0 adds r6, 0x1 subs r0, 0xF7 cmp r0, 0x8 bhi _0800627E lsls r0, 2 ldr r1, =_080061A0 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _080061A0: .4byte _08006276 .4byte _08006276 .4byte _08006276 .4byte _080062B8 .4byte _080062B8 .4byte _080061C4 .4byte _08006276 .4byte _080062B8 .4byte _080062B8 _080061C4: adds r0, r7, r6 ldrb r0, [r0] adds r6, 0x1 subs r0, 0x1 cmp r0, 0x15 bhi _080062B8 lsls r0, 2 ldr r1, =_080061E0 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _080061E0: .4byte _0800624A .4byte _08006254 .4byte _0800625C .4byte _08006238 .4byte _08006276 .4byte _08006270 .4byte _080062B8 .4byte _08006276 .4byte _080062B8 .4byte _080062B8 .4byte _0800627A .4byte _08006276 .4byte _08006276 .4byte _08006276 .4byte _080062B8 .4byte _0800627A .4byte _08006276 .4byte _08006276 .4byte _08006276 .4byte _08006276 .4byte _080062B8 .4byte _080062B8 _08006238: adds r0, r7, r6 ldrb r0, [r0] str r0, [sp, 0x8] adds r6, 0x1 adds r0, r7, r6 ldrb r0, [r0] str r0, [sp, 0xC] adds r6, 0x1 b _0800625C _0800624A: adds r0, r7, r6 ldrb r0, [r0] str r0, [sp, 0x8] adds r6, 0x1 b _08006266 _08006254: adds r0, r7, r6 ldrb r0, [r0] str r0, [sp, 0xC] b _08006262 _0800625C: adds r0, r7, r6 ldrb r0, [r0] mov r10, r0 _08006262: adds r6, 0x1 ldr r0, [sp, 0x8] _08006266: ldr r1, [sp, 0xC] mov r2, r10 bl GenerateFontHalfRowLut b _080062B8 _08006270: adds r0, r7, r6 ldrb r0, [r0] str r0, [sp, 0x4] _08006276: adds r6, 0x1 b _080062B8 _0800627A: adds r6, 0x1 b _08006276 _0800627E: ldr r0, [sp, 0x4] cmp r0, 0x1 beq _08006290 cmp r0, 0x9 bne _08006290 mov r0, r8 bl Text_DecompressGlyphFont9 b _08006298 _08006290: mov r0, r8 movs r1, 0x1 bl Text_DecompressGlyphFont1 _08006298: ldr r4, =0x03002f90 ldr r5, =0x04000008 adds r0, r4, 0 mov r1, r9 adds r2, r5, 0 bl CpuSet adds r4, 0x40 mov r1, r9 adds r1, 0x20 adds r0, r4, 0 adds r2, r5, 0 bl CpuSet movs r0, 0x40 add r9, r0 _080062B8: mov r0, r8 cmp r0, 0xFF beq _080062C0 b _08006182 _080062C0: mov r0, sp mov r1, sp adds r1, 0x1 mov r2, sp adds r2, 0x2 bl restore_remo_colors movs r0, 0x1 add sp, 0x10 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 .align 2, 0 .pool thumb_func_end font_render_some thumb_func_start TextBox_DrawKeypadIcon TextBox_DrawKeypadIcon: @ 80062E8 push {r4,r5,lr} sub sp, 0x18 lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsls r2, 16 lsrs r2, 16 lsls r3, 16 lsrs r3, 16 ldr r4, =0x082e9d5c lsrs r1, 22 adds r1, r4 ldrh r5, [r1] lsls r5, 5 ldr r4, =0x082e9d90 adds r5, r4 movs r4, 0x80 str r4, [sp] str r4, [sp, 0x4] str r2, [sp, 0x8] str r3, [sp, 0xC] ldrb r4, [r1, 0x2] str r4, [sp, 0x10] ldrb r1, [r1, 0x3] str r1, [sp, 0x14] adds r1, r5, 0 movs r2, 0 movs r3, 0 bl Window_CopyPixelRectToWindow adds r0, r4, 0 add sp, 0x18 pop {r4,r5} pop {r1} bx r1 .align 2, 0 .pool thumb_func_end TextBox_DrawKeypadIcon thumb_func_start sub_8006338 sub_8006338: @ 8006338 lsls r0, 24 ldr r1, =0x082e9d5c lsrs r0, 22 adds r0, r1 ldrb r0, [r0] bx lr .align 2, 0 .pool thumb_func_end sub_8006338 thumb_func_start Font_ReturnsValueFromLUT Font_ReturnsValueFromLUT: @ 8006348 lsls r0, 24 ldr r1, =0x082e9d5c lsrs r0, 22 adds r0, r1 ldrb r0, [r0, 0x2] bx lr .align 2, 0 .pool thumb_func_end Font_ReturnsValueFromLUT thumb_func_start sub_8006358 sub_8006358: @ 8006358 lsls r0, 24 ldr r1, =0x082e9d5c lsrs r0, 22 adds r0, r1 ldrb r0, [r0, 0x3] bx lr .align 2, 0 .pool thumb_func_end sub_8006358 thumb_func_start fboxes_set_default_ptr fboxes_set_default_ptr: @ 8006368 push {lr} ldr r0, =0x082ea590 bl fboxes_set_ptr pop {r0} bx r0 .align 2, 0 .pool thumb_func_end fboxes_set_default_ptr thumb_func_start fbox_get_field fbox_get_field: @ 8006378 push {lr} lsls r0, 24 lsrs r2, r0, 24 lsls r1, 24 lsrs r1, 24 movs r0, 0 cmp r1, 0x7 bhi _08006456 lsls r0, r1, 2 ldr r1, =_08006398 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 .pool .align 2, 0 _08006398: .4byte _080063B8 .4byte _080063CC .4byte _080063E0 .4byte _080063F4 .4byte _08006408 .4byte _0800641C .4byte _08006430 .4byte _08006448 _080063B8: ldr r1, =0x082ea590 lsls r0, r2, 1 adds r0, r2 lsls r0, 2 adds r0, r1 ldrb r0, [r0, 0x4] b _08006456 .align 2, 0 .pool _080063CC: ldr r1, =0x082ea590 lsls r0, r2, 1 adds r0, r2 lsls r0, 2 adds r0, r1 ldrb r0, [r0, 0x5] b _08006456 .align 2, 0 .pool _080063E0: ldr r1, =0x082ea590 lsls r0, r2, 1 adds r0, r2 lsls r0, 2 adds r0, r1 ldrb r0, [r0, 0x6] b _08006456 .align 2, 0 .pool _080063F4: ldr r1, =0x082ea590 lsls r0, r2, 1 adds r0, r2 lsls r0, 2 adds r0, r1 ldrb r0, [r0, 0x7] b _08006456 .align 2, 0 .pool _08006408: ldr r0, =0x082ea590 lsls r1, r2, 1 adds r1, r2 lsls r1, 2 adds r1, r0 ldrb r0, [r1, 0x8] b _0800643C .align 2, 0 .pool _0800641C: ldr r0, =0x082ea590 lsls r1, r2, 1 adds r1, r2 lsls r1, 2 adds r1, r0 ldrb r0, [r1, 0x8] b _08006454 .align 2, 0 .pool _08006430: ldr r0, =0x082ea590 lsls r1, r2, 1 adds r1, r2 lsls r1, 2 adds r1, r0 ldrb r0, [r1, 0x9] _0800643C: lsls r0, 28 lsrs r0, 28 b _08006456 .align 2, 0 .pool _08006448: ldr r0, =0x082ea590 lsls r1, r2, 1 adds r1, r2 lsls r1, 2 adds r1, r0 ldrb r0, [r1, 0x9] _08006454: lsrs r0, 4 _08006456: pop {r1} bx r1 .align 2, 0 .pool thumb_func_end fbox_get_field thumb_func_start sub_8006460 sub_8006460: @ 8006460 lsls r0, 24 lsls r1, 24 lsrs r1, 24 ldr r2, =0x082ea608 lsrs r0, 23 adds r1, r0 adds r1, r2 ldrb r0, [r1] bx lr .align 2, 0 .pool thumb_func_end sub_8006460 thumb_func_start Text_DecompressGlyphFont0 Text_DecompressGlyphFont0: @ 8006478 push {r4,r5,lr} lsls r0, 16 lsrs r3, r0, 16 cmp r1, 0x1 bne _080064C4 lsrs r2, r0, 20 lsls r2, 9 movs r0, 0xF ands r0, r3 lsls r0, 4 ldr r1, =0x086544e4 adds r0, r1 adds r5, r2, r0 ldr r4, =0x03002f90 adds r0, r5, 0 adds r1, r4, 0 bl font_render_sub movs r1, 0x80 lsls r1, 1 adds r0, r5, r1 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r1, r4, 0 adds r1, 0x80 movs r0, 0x8 strb r0, [r1] adds r4, 0x81 movs r0, 0xC strb r0, [r4] b _08006534 .align 2, 0 .pool _080064C4: lsls r1, r3, 6 ldr r0, =0x08633ce4 adds r5, r1, r0 ldr r4, =0x03002f90 ldr r0, =0x0863bce4 adds r0, r3, r0 ldrb r1, [r0] adds r0, r4, 0 adds r0, 0x80 strb r1, [r0] cmp r1, 0x8 bhi _08006500 adds r0, r5, 0 adds r1, r4, 0 bl font_render_sub adds r0, r5, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub b _0800652C .align 2, 0 .pool _08006500: adds r0, r5, 0 adds r1, r4, 0 bl font_render_sub adds r0, r5, 0 adds r0, 0x10 adds r1, r4, 0 adds r1, 0x20 bl font_render_sub adds r0, r5, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r0, r5, 0 adds r0, 0x30 adds r1, r4, 0 adds r1, 0x60 bl font_render_sub _0800652C: ldr r0, =0x03002f90 adds r0, 0x81 movs r1, 0xD strb r1, [r0] _08006534: pop {r4,r5} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end Text_DecompressGlyphFont0 thumb_func_start get_font_width_unk3 get_font_width_unk3: @ 8006540 push {lr} lsls r0, 16 lsrs r2, r0, 16 cmp r1, 0x1 beq _08006558 ldr r0, =0x0863bce4 adds r0, r2, r0 ldrb r0, [r0] b _0800655A .align 2, 0 .pool _08006558: movs r0, 0x8 _0800655A: pop {r1} bx r1 thumb_func_end get_font_width_unk3 thumb_func_start Text_DecompressGlyphFont7 Text_DecompressGlyphFont7: @ 8006560 push {r4-r6,lr} lsls r0, 16 lsrs r3, r0, 16 cmp r1, 0x1 bne _080065AC lsrs r2, r0, 20 lsls r2, 9 movs r5, 0xF adds r0, r3, 0 ands r0, r5 lsls r0, 4 ldr r1, =0x086584e4 adds r0, r1 adds r6, r2, r0 ldr r4, =0x03002f90 adds r0, r6, 0 adds r1, r4, 0 bl font_render_sub movs r1, 0x80 lsls r1, 1 adds r0, r6, r1 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r1, r4, 0 adds r1, 0x80 movs r0, 0x8 strb r0, [r1] adds r4, 0x81 strb r5, [r4] b _0800661C .align 2, 0 .pool _080065AC: lsls r1, r3, 6 ldr r0, =0x0863bee4 adds r6, r1, r0 ldr r4, =0x03002f90 ldr r0, =0x08643ee4 adds r0, r3, r0 ldrb r1, [r0] adds r0, r4, 0 adds r0, 0x80 strb r1, [r0] cmp r1, 0x8 bhi _080065E8 adds r0, r6, 0 adds r1, r4, 0 bl font_render_sub adds r0, r6, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub b _08006614 .align 2, 0 .pool _080065E8: adds r0, r6, 0 adds r1, r4, 0 bl font_render_sub adds r0, r6, 0 adds r0, 0x10 adds r1, r4, 0 adds r1, 0x20 bl font_render_sub adds r0, r6, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r0, r6, 0 adds r0, 0x30 adds r1, r4, 0 adds r1, 0x60 bl font_render_sub _08006614: ldr r0, =0x03002f90 adds r0, 0x81 movs r1, 0xF strb r1, [r0] _0800661C: pop {r4-r6} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end Text_DecompressGlyphFont7 thumb_func_start get_font_width_black_en get_font_width_black_en: @ 8006628 push {lr} lsls r0, 16 lsrs r2, r0, 16 cmp r1, 0x1 beq _08006640 ldr r0, =0x08643ee4 adds r0, r2, r0 ldrb r0, [r0] b _08006642 .align 2, 0 .pool _08006640: movs r0, 0x8 _08006642: pop {r1} bx r1 thumb_func_end get_font_width_black_en thumb_func_start Text_DecompressGlyphFont8 Text_DecompressGlyphFont8: @ 8006648 push {r4,r5,lr} lsls r0, 16 lsrs r3, r0, 16 cmp r1, 0x1 bne _08006694 lsrs r2, r0, 20 lsls r2, 9 movs r0, 0xF ands r0, r3 lsls r0, 4 ldr r1, =0x086544e4 adds r0, r1 adds r5, r2, r0 ldr r4, =0x03002f90 adds r0, r5, 0 adds r1, r4, 0 bl font_render_sub movs r1, 0x80 lsls r1, 1 adds r0, r5, r1 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r1, r4, 0 adds r1, 0x80 movs r0, 0x8 strb r0, [r1] adds r4, 0x81 movs r0, 0xC strb r0, [r4] b _08006704 .align 2, 0 .pool _08006694: lsls r1, r3, 6 ldr r0, =0x0862bae4 adds r5, r1, r0 ldr r4, =0x03002f90 ldr r0, =0x08633ae4 adds r0, r3, r0 ldrb r1, [r0] adds r0, r4, 0 adds r0, 0x80 strb r1, [r0] cmp r1, 0x8 bhi _080066D0 adds r0, r5, 0 adds r1, r4, 0 bl font_render_sub adds r0, r5, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub b _080066FC .align 2, 0 .pool _080066D0: adds r0, r5, 0 adds r1, r4, 0 bl font_render_sub adds r0, r5, 0 adds r0, 0x10 adds r1, r4, 0 adds r1, 0x20 bl font_render_sub adds r0, r5, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r0, r5, 0 adds r0, 0x30 adds r1, r4, 0 adds r1, 0x60 bl font_render_sub _080066FC: ldr r0, =0x03002f90 adds r0, 0x81 movs r1, 0xC strb r1, [r0] _08006704: pop {r4,r5} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end Text_DecompressGlyphFont8 thumb_func_start get_font_width_unk2 get_font_width_unk2: @ 8006710 push {lr} lsls r0, 16 lsrs r2, r0, 16 cmp r1, 0x1 beq _08006728 ldr r0, =0x08633ae4 adds r0, r2, r0 ldrb r0, [r0] b _0800672A .align 2, 0 .pool _08006728: movs r0, 0x8 _0800672A: pop {r1} bx r1 thumb_func_end get_font_width_unk2 thumb_func_start Text_DecompressGlyphFont2 Text_DecompressGlyphFont2: @ 8006730 push {r4-r6,lr} lsls r0, 16 lsrs r6, r0, 16 cmp r1, 0x1 bne _080067A0 lsrs r2, r0, 19 lsls r2, 9 movs r0, 0x7 ands r0, r6 lsls r0, 5 ldr r1, =0x0866c8e4 adds r0, r1 adds r4, r2, r0 ldr r5, =0x03002f90 adds r0, r4, 0 adds r1, r5, 0 bl font_render_sub adds r0, r4, 0 adds r0, 0x10 adds r1, r5, 0 adds r1, 0x20 bl font_render_sub movs r1, 0x80 lsls r1, 1 adds r0, r4, r1 adds r1, r5, 0 adds r1, 0x40 bl font_render_sub movs r1, 0x88 lsls r1, 1 adds r0, r4, r1 adds r1, r5, 0 adds r1, 0x60 bl font_render_sub ldr r0, =0x086748e4 adds r0, r6, r0 ldrb r1, [r0] adds r0, r5, 0 adds r0, 0x80 strb r1, [r0] adds r1, r5, 0 adds r1, 0x81 movs r0, 0xE strb r0, [r1] b _08006810 .align 2, 0 .pool _080067A0: lsls r1, r6, 6 ldr r0, =0x086440e4 adds r4, r1, r0 ldr r5, =0x03002f90 ldr r0, =0x0864c0e4 adds r0, r6, r0 ldrb r1, [r0] adds r0, r5, 0 adds r0, 0x80 strb r1, [r0] cmp r1, 0x8 bhi _080067DC adds r0, r4, 0 adds r1, r5, 0 bl font_render_sub adds r0, r4, 0 adds r0, 0x20 adds r1, r5, 0 adds r1, 0x40 bl font_render_sub b _08006808 .align 2, 0 .pool _080067DC: adds r0, r4, 0 adds r1, r5, 0 bl font_render_sub adds r0, r4, 0 adds r0, 0x10 adds r1, r5, 0 adds r1, 0x20 bl font_render_sub adds r0, r4, 0 adds r0, 0x20 adds r1, r5, 0 adds r1, 0x40 bl font_render_sub adds r0, r4, 0 adds r0, 0x30 adds r1, r5, 0 adds r1, 0x60 bl font_render_sub _08006808: ldr r0, =0x03002f90 adds r0, 0x81 movs r1, 0xE strb r1, [r0] _08006810: pop {r4-r6} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end Text_DecompressGlyphFont2 thumb_func_start get_font_width_unk get_font_width_unk: @ 800681C push {lr} lsls r0, 16 lsrs r2, r0, 16 cmp r1, 0x1 beq _08006830 ldr r0, =0x0864c0e4 b _08006832 .align 2, 0 .pool _08006830: ldr r0, =0x086748e4 _08006832: adds r0, r2, r0 ldrb r0, [r0] pop {r1} bx r1 .align 2, 0 .pool thumb_func_end get_font_width_unk thumb_func_start Text_DecompressGlyphFont1 Text_DecompressGlyphFont1: @ 8006840 push {r4-r6,lr} lsls r0, 16 lsrs r3, r0, 16 cmp r1, 0x1 bne _0800688C lsrs r2, r0, 20 lsls r2, 9 movs r5, 0xF adds r0, r3, 0 ands r0, r5 lsls r0, 4 ldr r1, =0x086584e4 adds r0, r1 adds r6, r2, r0 ldr r4, =0x03002f90 adds r0, r6, 0 adds r1, r4, 0 bl font_render_sub movs r1, 0x80 lsls r1, 1 adds r0, r6, r1 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r1, r4, 0 adds r1, 0x80 movs r0, 0x8 strb r0, [r1] adds r4, 0x81 strb r5, [r4] b _080068FC .align 2, 0 .pool _0800688C: lsls r1, r3, 6 ldr r0, =0x0864c2e4 adds r6, r1, r0 ldr r4, =0x03002f90 ldr r0, =0x086542e4 adds r0, r3, r0 ldrb r1, [r0] adds r0, r4, 0 adds r0, 0x80 strb r1, [r0] cmp r1, 0x8 bhi _080068C8 adds r0, r6, 0 adds r1, r4, 0 bl font_render_sub adds r0, r6, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub b _080068F4 .align 2, 0 .pool _080068C8: adds r0, r6, 0 adds r1, r4, 0 bl font_render_sub adds r0, r6, 0 adds r0, 0x10 adds r1, r4, 0 adds r1, 0x20 bl font_render_sub adds r0, r6, 0 adds r0, 0x20 adds r1, r4, 0 adds r1, 0x40 bl font_render_sub adds r0, r6, 0 adds r0, 0x30 adds r1, r4, 0 adds r1, 0x60 bl font_render_sub _080068F4: ldr r0, =0x03002f90 adds r0, 0x81 movs r1, 0xF strb r1, [r0] _080068FC: pop {r4-r6} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end Text_DecompressGlyphFont1 thumb_func_start get_font_width_red_en_jp get_font_width_red_en_jp: @ 8006908 push {lr} lsls r0, 16 lsrs r2, r0, 16 cmp r1, 0x1 beq _08006920 ldr r0, =0x086542e4 adds r0, r2, r0 ldrb r0, [r0] b _08006922 .align 2, 0 .pool _08006920: movs r0, 0x8 _08006922: pop {r1} bx r1 thumb_func_end get_font_width_red_en_jp thumb_func_start Text_DecompressGlyphFont9 Text_DecompressGlyphFont9: @ 8006928 push {r4,r5,lr} lsls r0, 16 lsrs r4, r0, 20 lsls r4, 9 movs r1, 0xF0 lsls r1, 12 ands r1, r0 lsrs r1, 12 ldr r0, =0x082ea61c adds r1, r0 adds r4, r1 ldr r5, =0x03002f90 adds r0, r4, 0 adds r1, r5, 0 bl font_render_sub movs r0, 0x80 lsls r0, 1 adds r4, r0 adds r1, r5, 0 adds r1, 0x40 adds r0, r4, 0 bl font_render_sub adds r1, r5, 0 adds r1, 0x80 movs r0, 0x8 strb r0, [r1] adds r5, 0x81 movs r0, 0xC strb r0, [r5] pop {r4,r5} pop {r0} bx r0 .align 2, 0 .pool thumb_func_end Text_DecompressGlyphFont9