@ Generated by gcc 2.9-arm-000512 for Thumb/elf .code 16 .gcc2_compiled.: .section .rodata .type ClockGfx_Misc,object ClockGfx_Misc: .byte 0x10 .byte 0x0 .byte 0x12 .byte 0x0 .byte 0x3f .byte 0x0 .byte 0x0 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xfe .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xa0 .byte 0x1 .byte 0xf0 .byte 0xa8 .byte 0x0 .byte 0x3 .byte 0xdf .byte 0x0 .byte 0x3 .byte 0xff .byte 0xf0 .byte 0x1a .byte 0x0 .byte 0x0 .byte 0xf .byte 0xbf .byte 0x0 .byte 0x3 .byte 0xfd .byte 0xf0 .byte 0x1c .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0x10 .byte 0x1 .byte 0x10 .byte 0xc6 .byte 0xf0 .byte 0x3 .byte 0xff .byte 0x40 .byte 0x3 .byte 0xf0 .byte 0x14 .byte 0xb0 .byte 0x3 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x3 .byte 0xf0 .byte 0xff .byte 0xff .byte 0xf0 .byte 0x3 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0xd6 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x3 .byte 0xf0 .byte 0xff .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x14 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xdf .byte 0xf0 .byte 0xff .byte 0xb0 .byte 0x3 .byte 0xf0 .byte 0x20 .byte 0x3 .byte 0xf0 .byte 0x18 .byte 0x40 .byte 0x3 .byte 0x5 .byte 0x4 .byte 0x10 .byte 0x3 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xc5 .byte 0xea .byte 0x40 .byte 0xeb .byte 0xa0 .byte 0xde .byte 0x15 .byte 0xfb .byte 0x16 .byte 0x3 .byte 0x60 .byte 0xe7 .byte 0xff .byte 0x90 .byte 0x1c .byte 0x15 .byte 0xfb .byte 0xf0 .byte 0xfa .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xfe .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0x45 .byte 0xeb .byte 0xdd .byte 0xef .byte 0x75 .byte 0x7 .byte 0xb0 .byte 0x3 .byte 0x14 .byte 0xef .byte 0xdd .byte 0x55 .byte 0x3 .byte 0xf0 .byte 0x3 .byte 0xf0 .byte 0x4d .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf5 .byte 0xff .byte 0xf0 .byte 0x3 .byte 0x70 .byte 0xff .byte 0xf0 .byte 0xf3 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0xff .byte 0xff .byte 0xf0 .byte 0x3 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0xff .byte 0xf0 .byte 0x3 .byte 0x49 .byte 0xde .byte 0xff .byte 0xf0 .byte 0xf3 .byte 0x78 .byte 0xf .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0x80 .byte 0x90 .byte 0x1 .byte 0xa0 .byte 0xaa .byte 0xa .byte 0x0 .byte 0xaa .byte 0xaa .byte 0xaa .byte 0xe .byte 0x0 .byte 0xa .byte 0x0 .byte 0xa0 .byte 0xf0 .byte 0x1c .byte 0x10 .byte 0x1f .byte 0x0 .byte 0x2 .byte 0xa0 .byte 0xbc .byte 0x0 .byte 0x22 .byte 0xa0 .byte 0x0 .byte 0x1 .byte 0x10 .byte 0x27 .byte 0xf0 .byte 0x2b .byte 0x90 .byte 0x4b .byte 0xaa .byte 0xaa .byte 0x47 .byte 0xa0 .byte 0x0 .byte 0x28 .byte 0xa0 .byte 0x0 .byte 0xa .byte 0xf0 .byte 0x20 .byte 0xf0 .byte 0x1 .byte 0x20 .byte 0x1 .byte 0x77 .byte 0xaa .byte 0xf0 .byte 0x7f .byte 0xf0 .byte 0x7f .byte 0xa0 .byte 0x7f .byte 0xa .byte 0x0 .byte 0x2b .byte 0xf0 .byte 0x27 .byte 0xf0 .byte 0x7f .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xff .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0xf0 .byte 0x1 .byte 0x10 .byte 0x1 .byte 0x0 .byte 0x0 .size ClockGfx_Misc,636 .align 2, 0 .type gUnknown_083F7A90,object gUnknown_083F7A90: .word ClockGfx_Misc .short 0x2000 .short 0x1000 .word 0x0 .space 4 .size gUnknown_083F7A90,16 .align 2, 0 .type gUnknown_083F7AA0,object gUnknown_083F7AA0: .word gMiscClockMale_Pal .short 0x1000 .space 2 .word gMiscClockFemale_Pal .short 0x1001 .space 2 .word 0x0 .space 4 .size gUnknown_083F7AA0,24 .align 2, 0 .type gOamData_83F7AB8,object .size gOamData_83F7AB8,8 gOamData_83F7AB8: .byte 0xa0 .byte 0x0 .byte 0x0 .byte 0xc0 .byte 0x0 .byte 0x4 .short 0x0 .align 2, 0 .type gSpriteAnim_83F7AC0,object gSpriteAnim_83F7AC0: .short 0x0 .byte 0x1e .space 1 .short 0xffffffff .space 2 .size gSpriteAnim_83F7AC0,8 .align 2, 0 .type gSpriteAnim_83F7AC8,object gSpriteAnim_83F7AC8: .short 0x40 .byte 0x1e .space 1 .short 0xffffffff .space 2 .size gSpriteAnim_83F7AC8,8 .align 2, 0 .type gSpriteAnimTable_83F7AD0,object gSpriteAnimTable_83F7AD0: .word gSpriteAnim_83F7AC0 .size gSpriteAnimTable_83F7AD0,4 .align 2, 0 .type gSpriteAnimTable_83F7AD4,object gSpriteAnimTable_83F7AD4: .word gSpriteAnim_83F7AC8 .size gSpriteAnimTable_83F7AD4,4 .align 2, 0 .type gSpriteTemplate_83F7AD8,object .size gSpriteTemplate_83F7AD8,24 gSpriteTemplate_83F7AD8: .short 0x1000 .short 0x1000 .word gOamData_83F7AB8 .word gSpriteAnimTable_83F7AD0 .word 0x0 .word gDummySpriteAffineAnimTable .word sub_810B05C .align 2, 0 .type gSpriteTemplate_83F7AF0,object .size gSpriteTemplate_83F7AF0,24 gSpriteTemplate_83F7AF0: .short 0x1000 .short 0x1000 .word gOamData_83F7AB8 .word gSpriteAnimTable_83F7AD4 .word 0x0 .word gDummySpriteAffineAnimTable .word sub_810B0F4 .align 2, 0 .type gOamData_83F7B08,object .size gOamData_83F7B08,8 gOamData_83F7B08: .byte 0xa0 .byte 0x0 .byte 0x0 .byte 0x40 .byte 0x0 .byte 0x8 .short 0x0 .align 2, 0 .type gSpriteAnim_83F7B10,object gSpriteAnim_83F7B10: .short 0x84 .byte 0x1e .space 1 .short 0xffffffff .space 2 .size gSpriteAnim_83F7B10,8 .align 2, 0 .type gSpriteAnim_83F7B18,object gSpriteAnim_83F7B18: .short 0x80 .byte 0x1e .space 1 .short 0xffffffff .space 2 .size gSpriteAnim_83F7B18,8 .align 2, 0 .type gSpriteAnimTable_83F7B20,object gSpriteAnimTable_83F7B20: .word gSpriteAnim_83F7B10 .size gSpriteAnimTable_83F7B20,4 .align 2, 0 .type gSpriteAnimTable_83F7B24,object gSpriteAnimTable_83F7B24: .word gSpriteAnim_83F7B18 .size gSpriteAnimTable_83F7B24,4 .align 2, 0 .type gSpriteTemplate_83F7B28,object .size gSpriteTemplate_83F7B28,24 gSpriteTemplate_83F7B28: .short 0x1000 .short 0x1000 .word gOamData_83F7B08 .word gSpriteAnimTable_83F7B20 .word 0x0 .word gDummySpriteAffineAnimTable .word sub_810B18C .align 2, 0 .type gSpriteTemplate_83F7B40,object .size gSpriteTemplate_83F7B40,24 gSpriteTemplate_83F7B40: .short 0x1000 .short 0x1000 .word gOamData_83F7B08 .word gSpriteAnimTable_83F7B24 .word 0x0 .word gDummySpriteAffineAnimTable .word sub_810B230 .text .align 2, 0 .type WallClockVblankCallback,function .thumb_func WallClockVblankCallback: push {lr} bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer pop {r0} bx r0 .Lfe1: .size WallClockVblankCallback,.Lfe1-WallClockVblankCallback .align 2, 0 .type LoadWallClockGraphics,function .thumb_func LoadWallClockGraphics: push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} add sp, sp, #0xfffffff8 mov r0, #0x0 bl SetVBlankCallback mov r0, #0x80 lsl r0, r0, #0x13 mov r1, #0x0 strh r1, [r0] add r0, r0, #0xe strh r1, [r0] sub r0, r0, #0x2 strh r1, [r0] sub r0, r0, #0x2 strh r1, [r0] sub r0, r0, #0x2 strh r1, [r0] add r0, r0, #0x14 strh r1, [r0] add r0, r0, #0x2 strh r1, [r0] sub r0, r0, #0x6 strh r1, [r0] add r0, r0, #0x2 strh r1, [r0] sub r0, r0, #0x6 strh r1, [r0] add r0, r0, #0x2 strh r1, [r0] sub r0, r0, #0x6 strh r1, [r0] add r0, r0, #0x2 strh r1, [r0] mov r3, #0xc0 lsl r3, r3, #0x13 mov r4, #0xc0 lsl r4, r4, #0x9 add r0, sp, #0x4 mov r8, r0 mov r2, sp mov r6, #0x0 ldr r1, .L11 mov r5, #0x80 lsl r5, r5, #0x5 ldr r7, .L11+0x4 mov r0, #0x81 lsl r0, r0, #0x18 mov ip, r0 .L6: strh r6, [r2] mov r0, sp str r0, [r1] str r3, [r1, #0x4] str r7, [r1, #0x8] ldr r0, [r1, #0x8] add r3, r3, r5 sub r4, r4, r5 cmp r4, r5 bhi .L6 @cond_branch strh r6, [r2] mov r2, sp str r2, [r1] str r3, [r1, #0x4] lsr r0, r4, #0x1 mov r2, ip orr r0, r0, r2 str r0, [r1, #0x8] ldr r0, [r1, #0x8] mov r0, #0xe0 lsl r0, r0, #0x13 mov r3, #0x80 lsl r3, r3, #0x3 mov r4, #0x0 str r4, [sp, #0x4] ldr r2, .L11 mov r1, r8 str r1, [r2] str r0, [r2, #0x4] lsr r0, r3, #0x2 mov r1, #0x85 lsl r1, r1, #0x18 orr r0, r0, r1 str r0, [r2, #0x8] ldr r0, [r2, #0x8] mov r1, #0xa0 lsl r1, r1, #0x13 mov r0, sp strh r4, [r0] str r0, [r2] str r1, [r2, #0x4] lsr r3, r3, #0x1 mov r0, #0x81 lsl r0, r0, #0x18 orr r3, r3, r0 str r3, [r2, #0x8] ldr r0, [r2, #0x8] ldr r0, .L11+0x8 mov r1, #0xc0 lsl r1, r1, #0x13 bl LZ77UnCompVram ldr r0, .L11+0xc ldrh r0, [r0] cmp r0, #0 bne .L9 @cond_branch ldr r0, .L11+0x10 mov r1, #0x0 mov r2, #0x20 bl LoadPalette b .L10 .L12: .align 2, 0 .L11: .word 0x40000d4 .word 0x81000800 .word gMiscClock_Gfx .word gSpecialVar_0x8004 .word gMiscClockMale_Pal .L9: ldr r0, .L13 mov r1, #0x0 mov r2, #0x20 bl LoadPalette .L10: bl remove_some_task bl ResetTasks bl ResetSpriteData bl ResetPaletteFade bl FreeAllSpritePalettes ldr r0, .L13+0x4 bl LoadCompressedObjectPic ldr r0, .L13+0x8 bl LoadSpritePalettes ldr r0, .L13+0xc bl SetUpWindowConfig ldr r0, .L13+0x10 bl InitMenuWindow add sp, sp, #0x8 pop {r3} mov r8, r3 pop {r4, r5, r6, r7} pop {r0} bx r0 .L14: .align 2, 0 .L13: .word gMiscClockFemale_Pal .word gUnknown_083F7A90 .word gUnknown_083F7AA0 .word gWindowConfig_81E6C3C .word gWindowConfig_81E6CE4 .Lfe2: .size LoadWallClockGraphics,.Lfe2-LoadWallClockGraphics .align 2, 0 .type WallClockInit,function .thumb_func WallClockInit: push {r4, r5, lr} add sp, sp, #0xfffffffc mov r0, #0x1 neg r0, r0 mov r5, #0x0 str r5, [sp] mov r1, #0x0 mov r2, #0x10 mov r3, #0x0 bl BeginNormalPaletteFade ldr r3, .L16 ldrh r2, [r3] strh r5, [r3] ldr r4, .L16+0x4 ldrh r0, [r4] mov r1, #0x1 orr r0, r0, r1 strh r0, [r4] strh r2, [r3] ldr r2, .L16+0x8 ldrh r0, [r2] mov r1, #0x8 orr r0, r0, r1 strh r0, [r2] ldr r0, .L16+0xc bl SetVBlankCallback ldr r0, .L16+0x10 bl SetMainCallback2 ldr r0, .L16+0x14 strh r5, [r0] add r0, r0, #0x2 strh r5, [r0] add r0, r0, #0x2 strh r5, [r0] ldr r1, .L16+0x18 ldr r2, .L16+0x1c add r0, r2, #0 strh r0, [r1] sub r1, r1, #0x6 ldr r2, .L16+0x20 add r0, r2, #0 strh r0, [r1] sub r1, r1, #0x8 mov r2, #0xca lsl r2, r2, #0x5 add r0, r2, #0 strh r0, [r1] add sp, sp, #0x4 pop {r4, r5} pop {r0} bx r0 .L17: .align 2, 0 .L16: .word 0x4000208 .word 0x4000200 .word 0x4000004 .word WallClockVblankCallback .word WallClockMainCallback .word 0x4000050 .word 0x400000e .word 0x701 .word 0x1f08 .Lfe3: .size WallClockInit,.Lfe3-WallClockInit .align 2, 0 .globl CB2_StartWallClock .type CB2_StartWallClock,function .thumb_func CB2_StartWallClock: push {r4, r5, r6, lr} mov r6, r9 mov r5, r8 push {r5, r6} bl LoadWallClockGraphics ldr r0, .L19 ldr r1, .L19+0x4 bl LZ77UnCompVram ldr r0, .L19+0x8 mov r1, #0x0 bl CreateTask add r6, r0, #0 lsl r6, r6, #0x18 lsr r6, r6, #0x18 ldr r1, .L19+0xc lsl r0, r6, #0x2 add r0, r0, r6 lsl r0, r0, #0x3 add r0, r0, r1 mov r2, #0x0 mov r1, #0xa strh r1, [r0, #0xc] strh r2, [r0, #0xe] strh r2, [r0, #0x10] strh r2, [r0, #0x12] strh r2, [r0, #0x14] strh r2, [r0, #0x8] mov r1, #0x96 lsl r1, r1, #0x1 strh r1, [r0, #0xa] ldr r0, .L19+0x10 mov r1, #0x78 mov r2, #0x50 mov r3, #0x1 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 ldr r1, .L19+0x14 mov r8, r1 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r8 strh r6, [r1, #0x2e] ldrb r2, [r1, #0x1] mov r5, #0x4 neg r5, r5 add r0, r5, #0 and r0, r0, r2 mov r2, #0x1 mov r9, r2 mov r2, r9 orr r0, r0, r2 strb r0, [r1, #0x1] ldrb r2, [r1, #0x3] mov r4, #0x3f neg r4, r4 add r0, r4, #0 and r0, r0, r2 strb r0, [r1, #0x3] ldr r0, .L19+0x18 mov r1, #0x78 mov r2, #0x50 mov r3, #0x0 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r8 strh r6, [r1, #0x2e] ldrb r0, [r1, #0x1] and r5, r5, r0 mov r0, r9 orr r5, r5, r0 strb r5, [r1, #0x1] ldrb r0, [r1, #0x3] and r4, r4, r0 mov r0, #0x2 orr r4, r4, r0 strb r4, [r1, #0x3] ldr r0, .L19+0x1c mov r1, #0x78 mov r2, #0x50 mov r3, #0x2 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r8 strh r6, [r1, #0x2e] mov r0, #0x2d strh r0, [r1, #0x30] ldr r0, .L19+0x20 mov r1, #0x78 mov r2, #0x50 mov r3, #0x2 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r8 strh r6, [r1, #0x2e] mov r0, #0x5a strh r0, [r1, #0x30] bl WallClockInit pop {r3, r4} mov r8, r3 mov r9, r4 pop {r4, r5, r6} pop {r0} bx r0 .L20: .align 2, 0 .L19: .word gUnknown_08E954B0 .word 0x6003800 .word Task_SetClock1 .word gTasks .word gSpriteTemplate_83F7AD8 .word gSprites .word gSpriteTemplate_83F7AF0 .word gSpriteTemplate_83F7B28 .word gSpriteTemplate_83F7B40 .Lfe4: .size CB2_StartWallClock,.Lfe4-CB2_StartWallClock .align 2, 0 .globl CB2_ViewWallClock .type CB2_ViewWallClock,function .thumb_func CB2_ViewWallClock: push {r4, r5, r6, r7, lr} mov r7, sl mov r6, r9 mov r5, r8 push {r5, r6, r7} bl LoadWallClockGraphics ldr r0, .L24 ldr r1, .L24+0x4 bl LZ77UnCompVram ldr r0, .L24+0x8 mov r1, #0x0 bl CreateTask lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r7, #0 bl InitClockWithRtc ldr r1, .L24+0xc lsl r0, r7, #0x2 add r0, r0, r7 lsl r0, r0, #0x3 add r0, r0, r1 mov r1, #0x12 ldrsh r0, [r0, r1] cmp r0, #0 bne .L22 @cond_branch mov r2, #0x2d mov r9, r2 mov r0, #0x5a mov sl, r0 b .L23 .L25: .align 2, 0 .L24: .word gUnknown_08E95774 .word 0x6003800 .word Task_ViewClock1 .word gTasks .L22: mov r1, #0x5a mov r9, r1 mov r2, #0x87 mov sl, r2 .L23: ldr r0, .L26 mov r1, #0x78 mov r2, #0x50 mov r3, #0x1 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 ldr r6, .L26+0x4 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r6 strh r7, [r1, #0x2e] ldrb r2, [r1, #0x1] mov r5, #0x4 neg r5, r5 add r0, r5, #0 and r0, r0, r2 mov r2, #0x1 mov r8, r2 mov r2, r8 orr r0, r0, r2 strb r0, [r1, #0x1] ldrb r2, [r1, #0x3] mov r4, #0x3f neg r4, r4 add r0, r4, #0 and r0, r0, r2 strb r0, [r1, #0x3] ldr r0, .L26+0x8 mov r1, #0x78 mov r2, #0x50 mov r3, #0x0 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r6 strh r7, [r1, #0x2e] ldrb r0, [r1, #0x1] and r5, r5, r0 mov r0, r8 orr r5, r5, r0 strb r5, [r1, #0x1] ldrb r0, [r1, #0x3] and r4, r4, r0 mov r0, #0x2 orr r4, r4, r0 strb r4, [r1, #0x3] ldr r0, .L26+0xc mov r1, #0x78 mov r2, #0x50 mov r3, #0x2 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r6 strh r7, [r1, #0x2e] mov r2, r9 strh r2, [r1, #0x30] ldr r0, .L26+0x10 mov r1, #0x78 mov r2, #0x50 mov r3, #0x2 bl CreateSprite lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r1, r0, #0x4 add r1, r1, r0 lsl r1, r1, #0x2 add r1, r1, r6 strh r7, [r1, #0x2e] mov r0, sl strh r0, [r1, #0x30] bl WallClockInit pop {r3, r4, r5} mov r8, r3 mov r9, r4 mov sl, r5 pop {r4, r5, r6, r7} pop {r0} bx r0 .L27: .align 2, 0 .L26: .word gSpriteTemplate_83F7AD8 .word gSprites .word gSpriteTemplate_83F7AF0 .word gSpriteTemplate_83F7B28 .word gSpriteTemplate_83F7B40 .Lfe5: .size CB2_ViewWallClock,.Lfe5-CB2_ViewWallClock .align 2, 0 .type WallClockMainCallback,function .thumb_func WallClockMainCallback: push {lr} bl RunTasks bl AnimateSprites bl BuildOamBuffer bl UpdatePaletteFade pop {r0} bx r0 .Lfe6: .size WallClockMainCallback,.Lfe6-WallClockMainCallback .align 2, 0 .type Task_SetClock1,function .thumb_func Task_SetClock1: push {lr} lsl r0, r0, #0x18 lsr r2, r0, #0x18 ldr r0, .L31 ldrb r1, [r0, #0x7] mov r0, #0x80 and r0, r0, r1 cmp r0, #0 bne .L30 @cond_branch ldr r0, .L31+0x4 lsl r1, r2, #0x2 add r1, r1, r2 lsl r1, r1, #0x3 add r1, r1, r0 ldr r0, .L31+0x8 str r0, [r1] .L30: pop {r0} bx r0 .L32: .align 2, 0 .L31: .word gPaletteFade .word gTasks .word Task_SetClock2 .Lfe7: .size Task_SetClock1,.Lfe7-Task_SetClock1 .align 2, 0 .type Task_SetClock2,function .thumb_func Task_SetClock2: push {r4, r5, r6, lr} lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r1, .L43 lsl r0, r6, #0x2 add r0, r0, r6 lsl r0, r0, #0x3 add r5, r0, r1 mov r1, #0x8 ldrsh r0, [r5, r1] mov r1, #0x6 bl __modsi3 lsl r0, r0, #0x10 cmp r0, #0 beq .L34 @cond_branch ldrh r0, [r5, #0x8] ldrb r1, [r5, #0x10] ldrb r2, [r5, #0x14] bl CalcNewMinHandAngle strh r0, [r5, #0x8] b .L33 .L44: .align 2, 0 .L43: .word gTasks .L34: mov r2, #0xe ldrsh r1, [r5, r2] lsl r0, r1, #0x1 add r0, r0, r1 lsl r0, r0, #0x1 strh r0, [r5, #0x8] mov r3, #0xc ldrsh r0, [r5, r3] mov r1, #0xc bl __modsi3 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r4, r0, #0x4 sub r4, r4, r0 lsl r4, r4, #0x1 mov r1, #0xe ldrsh r0, [r5, r1] mov r1, #0xa bl __divsi3 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r1, r0, #0x2 add r1, r1, r0 add r4, r4, r1 strh r4, [r5, #0xa] ldr r2, .L45 ldrh r0, [r2, #0x2e] mov r3, #0x1 add r1, r3, #0 and r1, r1, r0 cmp r1, #0 beq .L36 @cond_branch ldr r0, .L45+0x4 str r0, [r5] b .L33 .L46: .align 2, 0 .L45: .word gMain .word Task_SetClock3 .L36: strh r1, [r5, #0x10] ldrh r1, [r2, #0x2c] mov r0, #0x20 and r0, r0, r1 cmp r0, #0 beq .L38 @cond_branch strh r3, [r5, #0x10] .L38: ldrh r1, [r2, #0x2c] mov r0, #0x10 and r0, r0, r1 cmp r0, #0 beq .L39 @cond_branch mov r0, #0x2 strh r0, [r5, #0x10] .L39: ldrh r1, [r5, #0x10] mov r2, #0x10 ldrsh r0, [r5, r2] cmp r0, #0 beq .L40 @cond_branch ldrh r2, [r5, #0x14] mov r3, #0x14 ldrsh r0, [r5, r3] cmp r0, #0xfe bgt .L41 @cond_branch add r0, r2, #0x1 strh r0, [r5, #0x14] .L41: ldrh r0, [r5, #0x8] lsl r1, r1, #0x18 lsr r1, r1, #0x18 ldrb r2, [r5, #0x14] bl CalcNewMinHandAngle strh r0, [r5, #0x8] ldrb r1, [r5, #0x10] add r0, r6, #0 bl AdvanceClock b .L33 .L40: strh r0, [r5, #0x14] .L33: pop {r4, r5, r6} pop {r0} bx r0 .Lfe8: .size Task_SetClock2,.Lfe8-Task_SetClock2 .align 2, 0 .type Task_SetClock3,function .thumb_func Task_SetClock3: push {r4, lr} add sp, sp, #0xfffffff8 add r4, r0, #0 lsl r4, r4, #0x18 lsr r4, r4, #0x18 mov r0, #0x2 mov r1, #0x10 mov r2, #0x1b mov r3, #0x13 bl MenuDrawTextWindow ldr r0, .L48 mov r1, #0x3 mov r2, #0x11 bl MenuPrint mov r0, #0x17 mov r1, #0x8 mov r2, #0x1d mov r3, #0xd bl MenuDrawTextWindow ldr r3, .L48+0x4 mov r0, #0x18 mov r1, #0x9 mov r2, #0x2 bl PrintMenuItems mov r0, #0x1 str r0, [sp] mov r0, #0x5 str r0, [sp, #0x4] mov r0, #0x0 mov r1, #0x18 mov r2, #0x9 mov r3, #0x2 bl InitMenu ldr r1, .L48+0x8 lsl r0, r4, #0x2 add r0, r0, r4 lsl r0, r0, #0x3 add r0, r0, r1 ldr r1, .L48+0xc str r1, [r0] add sp, sp, #0x8 pop {r4} pop {r0} bx r0 .L49: .align 2, 0 .L48: .word gOtherText_CorrectTimePrompt .word gMenuYesNoItems .word gTasks .word Task_SetClock4 .Lfe9: .size Task_SetClock3,.Lfe9-Task_SetClock3 .align 2, 0 .type Task_SetClock4,function .thumb_func Task_SetClock4: push {r4, lr} lsl r0, r0, #0x18 lsr r4, r0, #0x18 bl ProcessMenuInputNoWrap_ lsl r0, r0, #0x18 asr r1, r0, #0x18 cmp r1, #0 beq .L52 @cond_branch cmp r1, #0 bgt .L57 @cond_branch mov r0, #0x1 neg r0, r0 cmp r1, r0 beq .L54 @cond_branch b .L50 .L57: cmp r1, #0x1 beq .L54 @cond_branch b .L50 .L52: mov r0, #0x5 bl PlaySE ldr r0, .L59 lsl r1, r4, #0x2 add r1, r1, r4 lsl r1, r1, #0x3 add r1, r1, r0 ldr r0, .L59+0x4 b .L58 .L60: .align 2, 0 .L59: .word gTasks .word Task_SetClock5 .L54: bl sub_8072DEC mov r0, #0x5 bl PlaySE mov r0, #0x17 mov r1, #0x8 mov r2, #0x1d mov r3, #0xd bl MenuZeroFillWindowRect mov r0, #0x2 mov r1, #0x10 mov r2, #0x1b mov r3, #0x13 bl MenuZeroFillWindowRect ldr r0, .L61 lsl r1, r4, #0x2 add r1, r1, r4 lsl r1, r1, #0x3 add r1, r1, r0 ldr r0, .L61+0x4 .L58: str r0, [r1] .L50: pop {r4} pop {r0} bx r0 .L62: .align 2, 0 .L61: .word gTasks .word Task_SetClock2 .Lfe10: .size Task_SetClock4,.Lfe10-Task_SetClock4 .align 2, 0 .type Task_SetClock5,function .thumb_func Task_SetClock5: push {r4, lr} add sp, sp, #0xfffffffc lsl r0, r0, #0x18 lsr r0, r0, #0x18 ldr r1, .L64 lsl r4, r0, #0x2 add r4, r4, r0 lsl r4, r4, #0x3 add r4, r4, r1 mov r1, #0xc ldrsh r0, [r4, r1] mov r2, #0xe ldrsh r1, [r4, r2] bl RtcInitLocalTimeOffset mov r0, #0x1 neg r0, r0 mov r1, #0x0 str r1, [sp] mov r2, #0x0 mov r3, #0x10 bl BeginNormalPaletteFade ldr r0, .L64+0x4 str r0, [r4] add sp, sp, #0x4 pop {r4} pop {r0} bx r0 .L65: .align 2, 0 .L64: .word gTasks .word Task_SetClock6 .Lfe11: .size Task_SetClock5,.Lfe11-Task_SetClock5 .align 2, 0 .type Task_SetClock6,function .thumb_func Task_SetClock6: push {lr} ldr r0, .L68 ldrb r1, [r0, #0x7] mov r0, #0x80 and r0, r0, r1 cmp r0, #0 bne .L67 @cond_branch ldr r0, .L68+0x4 ldr r0, [r0, #0x8] bl SetMainCallback2 .L67: pop {r0} bx r0 .L69: .align 2, 0 .L68: .word gPaletteFade .word gMain .Lfe12: .size Task_SetClock6,.Lfe12-Task_SetClock6 .align 2, 0 .type Task_ViewClock1,function .thumb_func Task_ViewClock1: push {lr} lsl r0, r0, #0x18 lsr r2, r0, #0x18 ldr r0, .L72 ldrb r1, [r0, #0x7] mov r0, #0x80 and r0, r0, r1 cmp r0, #0 bne .L71 @cond_branch ldr r0, .L72+0x4 lsl r1, r2, #0x2 add r1, r1, r2 lsl r1, r1, #0x3 add r1, r1, r0 ldr r0, .L72+0x8 str r0, [r1] .L71: pop {r0} bx r0 .L73: .align 2, 0 .L72: .word gPaletteFade .word gTasks .word Task_ViewClock2 .Lfe13: .size Task_ViewClock1,.Lfe13-Task_ViewClock1 .align 2, 0 .type Task_ViewClock2,function .thumb_func Task_ViewClock2: push {r4, lr} lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r4, #0 bl InitClockWithRtc ldr r0, .L76 ldrh r1, [r0, #0x2e] mov r0, #0x3 and r0, r0, r1 cmp r0, #0 beq .L75 @cond_branch ldr r0, .L76+0x4 lsl r1, r4, #0x2 add r1, r1, r4 lsl r1, r1, #0x3 add r1, r1, r0 ldr r0, .L76+0x8 str r0, [r1] .L75: pop {r4} pop {r0} bx r0 .L77: .align 2, 0 .L76: .word gMain .word gTasks .word Task_ViewClock3 .Lfe14: .size Task_ViewClock2,.Lfe14-Task_ViewClock2 .align 2, 0 .type Task_ViewClock3,function .thumb_func Task_ViewClock3: push {r4, lr} add sp, sp, #0xfffffffc add r4, r0, #0 lsl r4, r4, #0x18 lsr r4, r4, #0x18 mov r0, #0x1 neg r0, r0 mov r1, #0x0 str r1, [sp] mov r2, #0x0 mov r3, #0x10 bl BeginNormalPaletteFade ldr r1, .L79 lsl r0, r4, #0x2 add r0, r0, r4 lsl r0, r0, #0x3 add r0, r0, r1 ldr r1, .L79+0x4 str r1, [r0] add sp, sp, #0x4 pop {r4} pop {r0} bx r0 .L80: .align 2, 0 .L79: .word gTasks .word Task_ViewClock4 .Lfe15: .size Task_ViewClock3,.Lfe15-Task_ViewClock3 .align 2, 0 .type Task_ViewClock4,function .thumb_func Task_ViewClock4: push {lr} ldr r0, .L83 ldrb r1, [r0, #0x7] mov r0, #0x80 and r0, r0, r1 cmp r0, #0 bne .L82 @cond_branch ldr r0, .L83+0x4 ldr r0, [r0, #0x8] bl SetMainCallback2 .L82: pop {r0} bx r0 .L84: .align 2, 0 .L83: .word gPaletteFade .word gMain .Lfe16: .size Task_ViewClock4,.Lfe16-Task_ViewClock4 .align 2, 0 .type CalcMinHandDelta,function .thumb_func CalcMinHandDelta: push {lr} lsl r0, r0, #0x10 lsr r0, r0, #0x10 add r1, r0, #0 cmp r0, #0x3c bls .L86 @cond_branch mov r0, #0x6 b .L92 .L86: cmp r0, #0x1e bls .L88 @cond_branch mov r0, #0x3 b .L92 .L88: cmp r1, #0xa bhi .L90 @cond_branch mov r0, #0x1 b .L92 .L90: mov r0, #0x2 .L92: pop {r1} bx r1 .Lfe17: .size CalcMinHandDelta,.Lfe17-CalcMinHandDelta .align 2, 0 .type CalcNewMinHandAngle,function .thumb_func CalcNewMinHandAngle: push {r4, r5, lr} lsl r0, r0, #0x10 lsr r4, r0, #0x10 lsl r1, r1, #0x18 lsr r5, r1, #0x18 lsl r2, r2, #0x18 lsr r2, r2, #0x18 add r0, r2, #0 bl CalcMinHandDelta lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r5, #0x1 beq .L95 @cond_branch cmp r5, #0x2 beq .L98 @cond_branch b .L94 .L95: cmp r4, #0 beq .L96 @cond_branch sub r0, r4, r1 b .L103 .L96: mov r2, #0xb4 lsl r2, r2, #0x1 add r0, r2, #0 sub r0, r0, r1 b .L103 .L98: mov r0, #0xb4 lsl r0, r0, #0x1 sub r0, r0, r1 cmp r4, r0 bge .L99 @cond_branch add r0, r4, r1 .L103: lsl r0, r0, #0x10 lsr r4, r0, #0x10 b .L94 .L99: mov r4, #0x0 .L94: add r0, r4, #0 pop {r4, r5} pop {r1} bx r1 .Lfe18: .size CalcNewMinHandAngle,.Lfe18-CalcNewMinHandAngle .align 2, 0 .type AdvanceClock,function .thumb_func AdvanceClock: push {r4, r5, r6, lr} lsl r0, r0, #0x18 lsr r3, r0, #0x18 lsl r1, r1, #0x18 lsr r4, r1, #0x18 cmp r4, #0x1 beq .L106 @cond_branch cmp r4, #0x2 beq .L111 @cond_branch b .L105 .L106: ldr r0, .L119 lsl r1, r3, #0x2 add r1, r1, r3 lsl r1, r1, #0x3 add r1, r1, r0 ldrh r2, [r1, #0xe] mov r5, #0xe ldrsh r0, [r1, r5] cmp r0, #0 ble .L107 @cond_branch sub r0, r2, #0x1 strh r0, [r1, #0xe] b .L105 .L120: .align 2, 0 .L119: .word gTasks .L107: mov r0, #0x3b strh r0, [r1, #0xe] ldrh r2, [r1, #0xc] mov r6, #0xc ldrsh r0, [r1, r6] cmp r0, #0 ble .L109 @cond_branch sub r0, r2, #0x1 b .L118 .L109: mov r0, #0x17 .L118: strh r0, [r1, #0xc] add r0, r3, #0 add r1, r4, #0 bl UpdateClockPeriod b .L105 .L111: ldr r0, .L121 lsl r1, r3, #0x2 add r1, r1, r3 lsl r1, r1, #0x3 add r1, r1, r0 ldrh r2, [r1, #0xe] mov r5, #0xe ldrsh r0, [r1, r5] cmp r0, #0x3a bgt .L112 @cond_branch add r0, r2, #0x1 strh r0, [r1, #0xe] b .L105 .L122: .align 2, 0 .L121: .word gTasks .L112: mov r5, #0x0 strh r5, [r1, #0xe] ldrh r2, [r1, #0xc] mov r6, #0xc ldrsh r0, [r1, r6] cmp r0, #0x16 bgt .L114 @cond_branch add r0, r2, #0x1 strh r0, [r1, #0xc] b .L115 .L114: strh r5, [r1, #0xc] .L115: add r0, r3, #0 add r1, r4, #0 bl UpdateClockPeriod .L105: mov r0, #0x0 pop {r4, r5, r6} pop {r1} bx r1 .Lfe19: .size AdvanceClock,.Lfe19-AdvanceClock .align 2, 0 .type UpdateClockPeriod,function .thumb_func UpdateClockPeriod: push {lr} lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r1, r1, #0x18 lsr r3, r1, #0x18 ldr r2, .L140 lsl r1, r0, #0x2 add r1, r1, r0 lsl r1, r1, #0x3 add r1, r1, r2 ldrb r0, [r1, #0xc] cmp r3, #0x1 beq .L125 @cond_branch cmp r3, #0x2 beq .L131 @cond_branch b .L124 .L141: .align 2, 0 .L140: .word gTasks .L125: cmp r0, #0xb beq .L127 @cond_branch cmp r0, #0x17 beq .L128 @cond_branch b .L124 .L127: mov r0, #0x0 b .L139 .L128: strh r3, [r1, #0x12] b .L124 .L131: cmp r0, #0 beq .L139 @cond_branch cmp r0, #0xc bne .L124 @cond_branch mov r0, #0x1 .L139: strh r0, [r1, #0x12] .L124: pop {r0} bx r0 .Lfe20: .size UpdateClockPeriod,.Lfe20-UpdateClockPeriod .align 2, 0 .type InitClockWithRtc,function .thumb_func InitClockWithRtc: push {r4, r5, r6, lr} add r4, r0, #0 lsl r4, r4, #0x18 lsr r4, r4, #0x18 bl RtcCalcLocalTime ldr r1, .L146 lsl r0, r4, #0x2 add r0, r0, r4 lsl r0, r0, #0x3 add r6, r0, r1 ldr r5, .L146+0x4 mov r0, #0x2 ldrsb r0, [r5, r0] strh r0, [r6, #0xc] mov r0, #0x3 ldrsb r0, [r5, r0] strh r0, [r6, #0xe] mov r0, #0xe ldrsh r1, [r6, r0] lsl r0, r1, #0x1 add r0, r0, r1 lsl r0, r0, #0x1 strh r0, [r6, #0x8] mov r1, #0xc ldrsh r0, [r6, r1] mov r1, #0xc bl __modsi3 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r4, r0, #0x4 sub r4, r4, r0 lsl r4, r4, #0x1 mov r1, #0xe ldrsh r0, [r6, r1] mov r1, #0xa bl __divsi3 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r1, r0, #0x2 add r1, r1, r0 add r4, r4, r1 strh r4, [r6, #0xa] mov r0, #0x2 ldrsb r0, [r5, r0] cmp r0, #0xb bgt .L143 @cond_branch mov r0, #0x0 b .L145 .L147: .align 2, 0 .L146: .word gTasks .word gLocalTime .L143: mov r0, #0x1 .L145: strh r0, [r6, #0x12] pop {r4, r5, r6} pop {r0} bx r0 .Lfe21: .size InitClockWithRtc,.Lfe21-InitClockWithRtc .section .rodata .type gClockHandCoords,object gClockHandCoords: .byte 0x0 .byte 0xffffffe8 .byte 0x1 .byte 0xffffffe7 .byte 0x1 .byte 0xffffffe7 .byte 0x2 .byte 0xffffffe7 .byte 0x2 .byte 0xffffffe7 .byte 0x2 .byte 0xffffffe7 .byte 0x3 .byte 0xffffffe8 .byte 0x3 .byte 0xffffffe7 .byte 0x4 .byte 0xffffffe7 .byte 0x4 .byte 0xffffffe7 .byte 0x4 .byte 0xffffffe7 .byte 0x5 .byte 0xffffffe7 .byte 0x5 .byte 0xffffffe7 .byte 0x6 .byte 0xffffffe8 .byte 0x6 .byte 0xffffffe8 .byte 0x6 .byte 0xffffffe8 .byte 0x7 .byte 0xffffffe8 .byte 0x7 .byte 0xffffffe8 .byte 0x7 .byte 0xffffffe8 .byte 0x8 .byte 0xffffffe8 .byte 0x8 .byte 0xffffffe8 .byte 0x9 .byte 0xffffffe8 .byte 0x9 .byte 0xffffffe8 .byte 0xa .byte 0xffffffe9 .byte 0xa .byte 0xffffffe9 .byte 0xb .byte 0xffffffea .byte 0xb .byte 0xffffffea .byte 0xb .byte 0xffffffea .byte 0xc .byte 0xffffffea .byte 0xc .byte 0xffffffeb .byte 0xd .byte 0xffffffeb .byte 0xd .byte 0xffffffeb .byte 0xd .byte 0xffffffeb .byte 0xe .byte 0xffffffeb .byte 0xe .byte 0xffffffeb .byte 0xe .byte 0xffffffec .byte 0xe .byte 0xffffffec .byte 0xf .byte 0xffffffec .byte 0xf .byte 0xffffffed .byte 0x10 .byte 0xffffffed .byte 0x10 .byte 0xffffffed .byte 0x10 .byte 0xffffffed .byte 0x10 .byte 0xffffffee .byte 0x10 .byte 0xffffffee .byte 0x11 .byte 0xffffffee .byte 0x11 .byte 0xffffffef .byte 0x11 .byte 0xffffffef .byte 0x12 .byte 0xffffffef .byte 0x12 .byte 0xffffffef .byte 0x12 .byte 0xfffffff0 .byte 0x12 .byte 0xfffffff0 .byte 0x13 .byte 0xfffffff0 .byte 0x13 .byte 0xfffffff1 .byte 0x13 .byte 0xfffffff1 .byte 0x14 .byte 0xfffffff1 .byte 0x14 .byte 0xfffffff2 .byte 0x14 .byte 0xfffffff2 .byte 0x14 .byte 0xfffffff3 .byte 0x14 .byte 0xfffffff3 .byte 0x15 .byte 0xfffffff3 .byte 0x15 .byte 0xfffffff3 .byte 0x15 .byte 0xfffffff4 .byte 0x16 .byte 0xfffffff4 .byte 0x16 .byte 0xfffffff4 .byte 0x16 .byte 0xfffffff5 .byte 0x16 .byte 0xfffffff5 .byte 0x16 .byte 0xfffffff6 .byte 0x17 .byte 0xfffffff6 .byte 0x17 .byte 0xfffffff7 .byte 0x17 .byte 0xfffffff7 .byte 0x17 .byte 0xfffffff7 .byte 0x17 .byte 0xfffffff7 .byte 0x17 .byte 0xfffffff8 .byte 0x17 .byte 0xfffffff8 .byte 0x17 .byte 0xfffffff9 .byte 0x17 .byte 0xfffffff9 .byte 0x17 .byte 0xfffffffa .byte 0x18 .byte 0xfffffffa .byte 0x18 .byte 0xfffffffa .byte 0x19 .byte 0xfffffffb .byte 0x19 .byte 0xfffffffb .byte 0x18 .byte 0xfffffffc .byte 0x19 .byte 0xfffffffc .byte 0x18 .byte 0xfffffffd .byte 0x19 .byte 0xfffffffd .byte 0x19 .byte 0xfffffffd .byte 0x19 .byte 0xfffffffe .byte 0x19 .byte 0xfffffffe .byte 0x18 .byte 0xffffffff .byte 0x19 .byte 0xffffffff .byte 0x18 .byte 0x0 .byte 0x18 .byte 0x0 .byte 0x18 .byte 0x0 .byte 0x18 .byte 0x1 .byte 0x18 .byte 0x1 .byte 0x19 .byte 0x2 .byte 0x18 .byte 0x2 .byte 0x19 .byte 0x2 .byte 0x18 .byte 0x3 .byte 0x18 .byte 0x3 .byte 0x19 .byte 0x4 .byte 0x18 .byte 0x4 .byte 0x18 .byte 0x5 .byte 0x18 .byte 0x5 .byte 0x18 .byte 0x5 .byte 0x18 .byte 0x6 .byte 0x17 .byte 0x6 .byte 0x17 .byte 0x6 .byte 0x17 .byte 0x7 .byte 0x17 .byte 0x8 .byte 0x17 .byte 0x8 .byte 0x17 .byte 0x8 .byte 0x17 .byte 0x9 .byte 0x17 .byte 0x9 .byte 0x17 .byte 0xa .byte 0x16 .byte 0xa .byte 0x16 .byte 0xa .byte 0x16 .byte 0xb .byte 0x16 .byte 0xb .byte 0x16 .byte 0xb .byte 0x16 .byte 0xc .byte 0x15 .byte 0xc .byte 0x15 .byte 0xc .byte 0x15 .byte 0xd .byte 0x14 .byte 0xd .byte 0x14 .byte 0xd .byte 0x13 .byte 0xd .byte 0x13 .byte 0xd .byte 0x13 .byte 0xe .byte 0x13 .byte 0xe .byte 0x13 .byte 0xf .byte 0x13 .byte 0xf .byte 0x12 .byte 0xf .byte 0x12 .byte 0x10 .byte 0x11 .byte 0x10 .byte 0x11 .byte 0x10 .byte 0x11 .byte 0x11 .byte 0x11 .byte 0x11 .byte 0x10 .byte 0x11 .byte 0x10 .byte 0x12 .byte 0x10 .byte 0x12 .byte 0xf .byte 0x12 .byte 0xe .byte 0x12 .byte 0xf .byte 0x13 .byte 0xe .byte 0x13 .byte 0xe .byte 0x13 .byte 0xd .byte 0x13 .byte 0xd .byte 0x14 .byte 0xd .byte 0x14 .byte 0xd .byte 0x14 .byte 0xc .byte 0x14 .byte 0xc .byte 0x14 .byte 0xc .byte 0x15 .byte 0xb .byte 0x15 .byte 0xb .byte 0x15 .byte 0xb .byte 0x15 .byte 0xa .byte 0x15 .byte 0xa .byte 0x16 .byte 0xa .byte 0x16 .byte 0x9 .byte 0x16 .byte 0x9 .byte 0x16 .byte 0x8 .byte 0x16 .byte 0x7 .byte 0x16 .byte 0x7 .byte 0x17 .byte 0x7 .byte 0x17 .byte 0x6 .byte 0x17 .byte 0x6 .byte 0x17 .byte 0x5 .byte 0x17 .byte 0x5 .byte 0x17 .byte 0x5 .byte 0x18 .byte 0x4 .byte 0x18 .byte 0x4 .byte 0x18 .byte 0x4 .byte 0x18 .byte 0x3 .byte 0x18 .byte 0x2 .byte 0x18 .byte 0x2 .byte 0x18 .byte 0x1 .byte 0x18 .byte 0x1 .byte 0x18 .byte 0x0 .byte 0x18 .byte 0x0 .byte 0x18 .byte 0xffffffff .byte 0x17 .byte 0x0 .byte 0x18 .byte 0x0 .byte 0x18 .byte 0xffffffff .byte 0x18 .byte 0xffffffff .byte 0x18 .byte 0xfffffffe .byte 0x18 .byte 0xfffffffe .byte 0x18 .byte 0xfffffffd .byte 0x18 .byte 0xfffffffd .byte 0x18 .byte 0xfffffffc .byte 0x18 .byte 0xfffffffc .byte 0x18 .byte 0xfffffffb .byte 0x18 .byte 0xfffffffb .byte 0x17 .byte 0xfffffffb .byte 0x17 .byte 0xfffffffa .byte 0x17 .byte 0xfffffffa .byte 0x17 .byte 0xfffffff9 .byte 0x17 .byte 0xfffffff9 .byte 0x17 .byte 0xfffffff9 .byte 0x17 .byte 0xfffffff8 .byte 0x17 .byte 0xfffffff8 .byte 0x16 .byte 0xfffffff7 .byte 0x16 .byte 0xfffffff7 .byte 0x16 .byte 0xfffffff6 .byte 0x16 .byte 0xfffffff6 .byte 0x16 .byte 0xfffffff6 .byte 0x15 .byte 0xfffffff5 .byte 0x15 .byte 0xfffffff5 .byte 0x15 .byte 0xfffffff5 .byte 0x15 .byte 0xfffffff5 .byte 0x14 .byte 0xfffffff4 .byte 0x14 .byte 0xfffffff4 .byte 0x14 .byte 0xfffffff3 .byte 0x14 .byte 0xfffffff3 .byte 0x14 .byte 0xfffffff3 .byte 0x13 .byte 0xfffffff2 .byte 0x13 .byte 0xfffffff2 .byte 0x13 .byte 0xfffffff2 .byte 0x13 .byte 0xfffffff2 .byte 0x12 .byte 0xfffffff1 .byte 0x12 .byte 0xfffffff1 .byte 0x12 .byte 0xfffffff1 .byte 0x11 .byte 0xfffffff0 .byte 0x11 .byte 0xfffffff0 .byte 0x11 .byte 0xffffffef .byte 0x11 .byte 0xffffffef .byte 0x10 .byte 0xffffffef .byte 0x10 .byte 0xffffffee .byte 0x10 .byte 0xffffffef .byte 0xf .byte 0xffffffee .byte 0xf .byte 0xffffffee .byte 0xf .byte 0xffffffed .byte 0xf .byte 0xffffffed .byte 0xe .byte 0xffffffed .byte 0xe .byte 0xffffffed .byte 0xd .byte 0xffffffed .byte 0xd .byte 0xffffffec .byte 0xd .byte 0xffffffec .byte 0xc .byte 0xffffffec .byte 0xc .byte 0xffffffeb .byte 0xc .byte 0xffffffeb .byte 0xc .byte 0xffffffeb .byte 0xb .byte 0xffffffeb .byte 0xb .byte 0xffffffeb .byte 0xa .byte 0xffffffeb .byte 0xa .byte 0xffffffeb .byte 0x9 .byte 0xffffffea .byte 0x9 .byte 0xffffffea .byte 0x9 .byte 0xffffffea .byte 0x8 .byte 0xffffffea .byte 0x8 .byte 0xffffffea .byte 0x7 .byte 0xffffffe9 .byte 0x7 .byte 0xffffffe9 .byte 0x7 .byte 0xffffffe9 .byte 0x6 .byte 0xffffffe9 .byte 0x6 .byte 0xffffffe9 .byte 0x5 .byte 0xffffffe8 .byte 0x5 .byte 0xffffffe9 .byte 0x4 .byte 0xffffffe9 .byte 0x4 .byte 0xffffffe8 .byte 0x4 .byte 0xffffffe8 .byte 0x4 .byte 0xffffffe8 .byte 0x3 .byte 0xffffffe8 .byte 0x3 .byte 0xffffffe8 .byte 0x2 .byte 0xffffffe8 .byte 0x2 .byte 0xffffffe8 .byte 0x1 .byte 0xffffffe8 .byte 0x1 .byte 0xffffffe8 .byte 0x1 .byte 0xffffffe8 .byte 0x0 .byte 0xffffffe7 .byte 0x0 .byte 0xffffffe8 .byte 0xffffffff .byte 0xffffffe7 .byte 0xffffffff .byte 0xffffffe8 .byte 0xffffffff .byte 0xffffffe8 .byte 0xfffffffe .byte 0xffffffe8 .byte 0xfffffffe .byte 0xffffffe8 .byte 0xfffffffd .byte 0xffffffe8 .byte 0xfffffffd .byte 0xffffffe8 .byte 0xfffffffc .byte 0xffffffe8 .byte 0xfffffffc .byte 0xffffffe8 .byte 0xfffffffc .byte 0xffffffe8 .byte 0xfffffffb .byte 0xffffffe8 .byte 0xfffffffb .byte 0xffffffe8 .byte 0xfffffffa .byte 0xffffffe8 .byte 0xfffffffa .byte 0xffffffe9 .byte 0xfffffffa .byte 0xffffffe9 .byte 0xfffffff9 .byte 0xffffffe9 .byte 0xfffffff9 .byte 0xffffffe9 .byte 0xfffffff8 .byte 0xffffffe9 .byte 0xfffffff8 .byte 0xffffffe9 .byte 0xfffffff7 .byte 0xffffffe9 .byte 0xfffffff7 .byte 0xffffffea .byte 0xfffffff7 .byte 0xffffffea .byte 0xfffffff7 .byte 0xffffffea .byte 0xfffffff6 .byte 0xffffffea .byte 0xfffffff6 .byte 0xffffffeb .byte 0xfffffff6 .byte 0xffffffeb .byte 0xfffffff5 .byte 0xffffffea .byte 0xfffffff5 .byte 0xffffffea .byte 0xfffffff4 .byte 0xffffffeb .byte 0xfffffff4 .byte 0xffffffeb .byte 0xfffffff3 .byte 0xffffffeb .byte 0xfffffff3 .byte 0xffffffec .byte 0xfffffff3 .byte 0xffffffeb .byte 0xfffffff2 .byte 0xffffffec .byte 0xfffffff2 .byte 0xffffffec .byte 0xfffffff2 .byte 0xffffffed .byte 0xfffffff2 .byte 0xffffffed .byte 0xfffffff1 .byte 0xffffffed .byte 0xfffffff1 .byte 0xffffffee .byte 0xfffffff0 .byte 0xffffffee .byte 0xfffffff0 .byte 0xffffffee .byte 0xfffffff0 .byte 0xffffffee .byte 0xffffffef .byte 0xffffffee .byte 0xffffffef .byte 0xffffffef .byte 0xffffffef .byte 0xffffffef .byte 0xffffffee .byte 0xffffffef .byte 0xffffffee .byte 0xfffffff0 .byte 0xffffffee .byte 0xfffffff0 .byte 0xffffffee .byte 0xfffffff0 .byte 0xffffffed .byte 0xfffffff0 .byte 0xffffffed .byte 0xfffffff1 .byte 0xffffffed .byte 0xfffffff1 .byte 0xffffffed .byte 0xfffffff1 .byte 0xffffffec .byte 0xfffffff2 .byte 0xffffffec .byte 0xfffffff2 .byte 0xffffffec .byte 0xfffffff2 .byte 0xffffffeb .byte 0xfffffff3 .byte 0xffffffeb .byte 0xfffffff3 .byte 0xffffffeb .byte 0xfffffff3 .byte 0xffffffeb .byte 0xfffffff4 .byte 0xffffffeb .byte 0xfffffff4 .byte 0xffffffea .byte 0xfffffff5 .byte 0xffffffea .byte 0xfffffff5 .byte 0xffffffea .byte 0xfffffff5 .byte 0xffffffea .byte 0xfffffff6 .byte 0xffffffea .byte 0xfffffff6 .byte 0xffffffea .byte 0xfffffff7 .byte 0xffffffea .byte 0xfffffff7 .byte 0xffffffe9 .byte 0xfffffff7 .byte 0xffffffe9 .byte 0xfffffff8 .byte 0xffffffe9 .byte 0xfffffff8 .byte 0xffffffe9 .byte 0xfffffff9 .byte 0xffffffe9 .byte 0xfffffff9 .byte 0xffffffe9 .byte 0xfffffff9 .byte 0xffffffe8 .byte 0xfffffffa .byte 0xffffffe8 .byte 0xfffffffa .byte 0xffffffe8 .byte 0xfffffffb .byte 0xffffffe8 .byte 0xfffffffb .byte 0xffffffe8 .byte 0xfffffffc .byte 0xffffffe8 .byte 0xfffffffc .byte 0xffffffe8 .byte 0xfffffffc .byte 0xffffffe8 .byte 0xfffffffc .byte 0xffffffe7 .byte 0xfffffffd .byte 0xffffffe7 .byte 0xfffffffe .byte 0xffffffe7 .byte 0xfffffffe .byte 0xffffffe8 .byte 0xfffffffe .byte 0xffffffe8 .byte 0xffffffff .byte 0xffffffe7 .byte 0xffffffff .byte 0xffffffe7 .byte 0x0 .byte 0xffffffe7 .size gClockHandCoords,720 .text .align 2, 0 .type sub_810B05C,function .thumb_func sub_810B05C: push {r4, r5, r6, r7, lr} add sp, sp, #0xfffffffc add r6, r0, #0 ldr r2, .L153 mov r0, #0x2e ldrsh r1, [r6, r0] lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x3 add r0, r0, r2 ldrh r4, [r0, #0x8] add r7, r4, #0 add r0, r4, #0 bl Sin2 lsl r0, r0, #0x10 asr r0, r0, #0x10 cmp r0, #0 bge .L149 @cond_branch add r0, r0, #0xf .L149: lsl r0, r0, #0xc lsr r5, r0, #0x10 add r0, r4, #0 bl Cos2 lsl r0, r0, #0x10 asr r0, r0, #0x10 cmp r0, #0 bge .L150 @cond_branch add r0, r0, #0xf .L150: lsl r1, r0, #0xc lsr r1, r1, #0x10 lsl r3, r5, #0x10 lsr r2, r3, #0x10 neg r3, r3 lsr r3, r3, #0x10 str r1, [sp] mov r0, #0x0 bl SetOamMatrix ldr r1, .L153+0x4 lsl r2, r7, #0x1 add r0, r2, r1 ldrb r0, [r0, #0] lsl r0, r0, #24 asr r0, r0, #24 lsl r0, r0, #0x10 lsr r3, r0, #0x10 add r1, r1, #0x1 add r2, r2, r1 mov r0, #0x0 ldrsb r0, [r2, r0] lsl r0, r0, #0x10 lsr r2, r0, #0x10 cmp r3, #0x80 bls .L151 @cond_branch mov r1, #0xff lsl r1, r1, #0x8 add r0, r1, #0 orr r3, r3, r0 .L151: cmp r2, #0x80 bls .L152 @cond_branch mov r1, #0xff lsl r1, r1, #0x8 add r0, r1, #0 orr r2, r2, r0 .L152: strh r3, [r6, #0x24] strh r2, [r6, #0x26] add sp, sp, #0x4 pop {r4, r5, r6, r7} pop {r0} bx r0 .L154: .align 2, 0 .L153: .word gTasks .word gClockHandCoords .Lfe22: .size sub_810B05C,.Lfe22-sub_810B05C .align 2, 0 .type sub_810B0F4,function .thumb_func sub_810B0F4: push {r4, r5, r6, r7, lr} add sp, sp, #0xfffffffc add r6, r0, #0 ldr r2, .L160 mov r0, #0x2e ldrsh r1, [r6, r0] lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x3 add r0, r0, r2 ldrh r4, [r0, #0xa] add r7, r4, #0 add r0, r4, #0 bl Sin2 lsl r0, r0, #0x10 asr r0, r0, #0x10 cmp r0, #0 bge .L156 @cond_branch add r0, r0, #0xf .L156: lsl r0, r0, #0xc lsr r5, r0, #0x10 add r0, r4, #0 bl Cos2 lsl r0, r0, #0x10 asr r0, r0, #0x10 cmp r0, #0 bge .L157 @cond_branch add r0, r0, #0xf .L157: lsl r1, r0, #0xc lsr r1, r1, #0x10 lsl r3, r5, #0x10 lsr r2, r3, #0x10 neg r3, r3 lsr r3, r3, #0x10 str r1, [sp] mov r0, #0x1 bl SetOamMatrix ldr r1, .L160+0x4 lsl r2, r7, #0x1 add r0, r2, r1 ldrb r0, [r0, #0] lsl r0, r0, #24 asr r0, r0, #24 lsl r0, r0, #0x10 lsr r3, r0, #0x10 add r1, r1, #0x1 add r2, r2, r1 mov r0, #0x0 ldrsb r0, [r2, r0] lsl r0, r0, #0x10 lsr r2, r0, #0x10 cmp r3, #0x80 bls .L158 @cond_branch mov r1, #0xff lsl r1, r1, #0x8 add r0, r1, #0 orr r3, r3, r0 .L158: cmp r2, #0x80 bls .L159 @cond_branch mov r1, #0xff lsl r1, r1, #0x8 add r0, r1, #0 orr r2, r2, r0 .L159: strh r3, [r6, #0x24] strh r2, [r6, #0x26] add sp, sp, #0x4 pop {r4, r5, r6, r7} pop {r0} bx r0 .L161: .align 2, 0 .L160: .word gTasks .word gClockHandCoords .Lfe23: .size sub_810B0F4,.Lfe23-sub_810B0F4 .align 2, 0 .type sub_810B18C,function .thumb_func sub_810B18C: push {r4, lr} add r4, r0, #0 ldr r2, .L172 mov r0, #0x2e ldrsh r1, [r4, r0] lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x3 add r0, r0, r2 mov r1, #0x12 ldrsh r0, [r0, r1] cmp r0, #0 beq .L163 @cond_branch ldrh r1, [r4, #0x30] add r0, r1, #0 sub r0, r0, #0x3c lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1d bhi .L164 @cond_branch add r0, r1, #0x5 strh r0, [r4, #0x30] .L164: ldrh r1, [r4, #0x30] mov r2, #0x30 ldrsh r0, [r4, r2] cmp r0, #0x3b bgt .L166 @cond_branch add r0, r1, #0x1 b .L171 .L173: .align 2, 0 .L172: .word gTasks .L163: ldrh r1, [r4, #0x30] add r0, r1, #0 sub r0, r0, #0x2e lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1d bhi .L167 @cond_branch sub r0, r1, #0x5 strh r0, [r4, #0x30] .L167: ldrh r1, [r4, #0x30] mov r2, #0x30 ldrsh r0, [r4, r2] cmp r0, #0x4b ble .L166 @cond_branch sub r0, r1, #0x1 .L171: strh r0, [r4, #0x30] .L166: ldrh r0, [r4, #0x30] bl Cos2 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r1, r0, #0x4 sub r1, r1, r0 lsl r0, r1, #0x1 cmp r0, #0 bge .L169 @cond_branch ldr r1, .L174 add r0, r0, r1 .L169: asr r0, r0, #0xc strh r0, [r4, #0x24] ldrh r0, [r4, #0x30] bl Sin2 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r1, r0, #0x4 sub r1, r1, r0 lsl r0, r1, #0x1 cmp r0, #0 bge .L170 @cond_branch ldr r2, .L174 add r0, r0, r2 .L170: asr r0, r0, #0xc strh r0, [r4, #0x26] pop {r4} pop {r0} bx r0 .L175: .align 2, 0 .L174: .word 0xfff .Lfe24: .size sub_810B18C,.Lfe24-sub_810B18C .align 2, 0 .type sub_810B230,function .thumb_func sub_810B230: push {r4, lr} add r4, r0, #0 ldr r2, .L186 mov r0, #0x2e ldrsh r1, [r4, r0] lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x3 add r0, r0, r2 mov r1, #0x12 ldrsh r0, [r0, r1] cmp r0, #0 beq .L177 @cond_branch ldrh r1, [r4, #0x30] add r0, r1, #0 sub r0, r0, #0x69 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1d bhi .L178 @cond_branch add r0, r1, #0x5 strh r0, [r4, #0x30] .L178: ldrh r1, [r4, #0x30] mov r2, #0x30 ldrsh r0, [r4, r2] cmp r0, #0x68 bgt .L180 @cond_branch add r0, r1, #0x1 b .L185 .L187: .align 2, 0 .L186: .word gTasks .L177: ldrh r1, [r4, #0x30] add r0, r1, #0 sub r0, r0, #0x5b lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1d bhi .L181 @cond_branch sub r0, r1, #0x5 strh r0, [r4, #0x30] .L181: ldrh r1, [r4, #0x30] mov r2, #0x30 ldrsh r0, [r4, r2] cmp r0, #0x78 ble .L180 @cond_branch sub r0, r1, #0x1 .L185: strh r0, [r4, #0x30] .L180: ldrh r0, [r4, #0x30] bl Cos2 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r1, r0, #0x4 sub r1, r1, r0 lsl r0, r1, #0x1 cmp r0, #0 bge .L183 @cond_branch ldr r1, .L188 add r0, r0, r1 .L183: asr r0, r0, #0xc strh r0, [r4, #0x24] ldrh r0, [r4, #0x30] bl Sin2 lsl r0, r0, #0x10 asr r0, r0, #0x10 lsl r1, r0, #0x4 sub r1, r1, r0 lsl r0, r1, #0x1 cmp r0, #0 bge .L184 @cond_branch ldr r2, .L188 add r0, r0, r2 .L184: asr r0, r0, #0xc strh r0, [r4, #0x26] pop {r4} pop {r0} bx r0 .L189: .align 2, 0 .L188: .word 0xfff .Lfe25: .size sub_810B230,.Lfe25-sub_810B230 .text .align 2, 0