.include "asm/macros.inc" .include "global.inc" .section .rodata .global UNK_020FB5CC UNK_020FB5CC: ; 0x020FB5CC .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 .global UNK_020FB5D8 UNK_020FB5D8: ; 0x020FB5D8 .byte 0x12, 0x14, 0xC8, 0x0E, 0x00, 0x00, 0x12, 0x14, 0xDF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00 .byte 0x00, 0x00 .global UNK_020FB5EA UNK_020FB5EA: ; 0x020FB5EA .byte 0x98, 0x20, 0xC5, 0x03, 0x00, 0x00, 0xA2, 0x15, 0x7F, 0x01, 0x00, 0x00, 0x0B, 0x00, 0x02, 0x00 .byte 0x00, 0x00 .global UNK_020FB5FC UNK_020FB5FC: ; 0x020FB5FC .byte 0xA7, 0x1B, 0x75, 0xF4, 0x00, 0x00, 0x04, 0x15, 0x96, 0xFF, 0x00, 0x00, 0x07, 0x00, 0xF5, 0xFF .global UNK_020FB60C UNK_020FB60C: ; 0x020FB60C .byte 0x00, 0x00 .global UNK_020FB60E UNK_020FB60E: ; 0x020FB60E .byte 0x12, 0x14, 0x2C, 0x01, 0x00, 0x00, 0x12, 0x14, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00 .global UNK_020FB620 UNK_020FB620: ; 0x020FB620 .byte 0x33, 0x07, 0xC5, 0x03, 0x00, 0x00, 0x25, 0x12, 0x7F, 0x01, 0x00, 0x00, 0xF5, 0xFF, 0x02, 0x00 .byte 0x00, 0x00 .global UNK_020FB632 UNK_020FB632: ; 0x020FB632 .byte 0xB5, 0x13, 0xC8, 0x0E, 0x00, 0x00, 0xB5, 0x13, 0xDF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00 .byte 0x00, 0x00 .global UNK_020FB644 UNK_020FB644: ; 0x020FB644 .byte 0xB5, 0x13, 0x2C, 0x01, 0x00, 0x00, 0xB5, 0x13 .global UNK_020FB64C UNK_020FB64C: ; 0x020FB64C .byte 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global UNK_020FB656 UNK_020FB656: ; 0x020FB656 .byte 0x22, 0x0C, 0x75, 0xF4, 0x00, 0x00, 0xC3, 0x12, 0x96, 0xFF, 0x00, 0x00, 0xF9, 0xFF, 0xF5, 0xFF .byte 0x00, 0x00 .global UNK_020FB668 UNK_020FB668: ; 0x020FB668 .byte 0x33, 0x07, 0xC5, 0x03, 0x00, 0x00, 0x25, 0x12, 0x7F, 0x01, 0x00, 0x00, 0xF5, 0xFF, 0x02, 0x00 .byte 0x00, 0x00 .global UNK_020FB67A UNK_020FB67A: ; 0x020FB67A .byte 0xB5, 0x13, 0x2C, 0x01, 0x00, 0x00, 0xB5, 0x13, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00 .global UNK_020FB68C UNK_020FB68C: ; 0x020FB68C .byte 0xA7, 0x1B, 0x75, 0xF4, 0x00, 0x00, 0xB3, 0x14, 0x96, 0xFF, 0x00, 0x00, 0x07, 0x00, 0xF5, 0xFF .byte 0x00, 0x00 .global UNK_020FB69E UNK_020FB69E: ; 0x020FB69E .byte 0x22, 0x0C, 0x75, 0xF4, 0x00, 0x00, 0xC3, 0x12, 0x96, 0xFF, 0x00, 0x00, 0xF9, 0xFF, 0xF5, 0xFF .byte 0x00, 0x00 .global UNK_020FB6B0 UNK_020FB6B0: ; 0x020FB6B0 .byte 0x12, 0x14, 0x2C, 0x01, 0x00, 0x00, 0x12, 0x14, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00 .global UNK_020FB6C2 UNK_020FB6C2: ; 0x020FB6C2 .byte 0x98, 0x20, 0xC5, 0x03, 0x00, 0x00, 0xA2, 0x15, 0x7F, 0x01, 0x00, 0x00, 0x0B, 0x00, 0x02, 0x00 .byte 0x00, 0x00 .global UNK_020FB6D4 UNK_020FB6D4: ; 0x020FB6D4 .byte 0xA7, 0x1B, 0x75, 0xF4, 0x00, 0x00, 0x04, 0x15, 0x96, 0xFF, 0x00, 0x00, 0x07, 0x00, 0xF5, 0xFF .byte 0x00, 0x00 .global UNK_020FB6E6 UNK_020FB6E6: ; 0x020FB6E6 .byte 0x22, 0x0C, 0x75, 0xF4, 0x00, 0x00, 0x14, 0x13, 0x96, 0xFF, 0x00, 0x00, 0xF9, 0xFF, 0xF5, 0xFF .byte 0x00, 0x00 .text thumb_func_start FUN_0207EF6C FUN_0207EF6C: ; 0x0207EF6C push {r3-r4, lr} sub sp, #0x4 bl NNS_G3dInit bl G3X_Init bl G3X_InitMtxStack ldr r0, _0207EFEC ; =0x04000060 ldr r1, _0207EFF0 ; =0xFFFFCFFD ldrh r2, [r0, #0x0] ldr r3, _0207EFF4 ; =0x0000CFFB and r2, r1 strh r2, [r0, #0x0] ldrh r2, [r0, #0x0] and r2, r3 strh r2, [r0, #0x0] add r2, r1, #0x2 ldrh r4, [r0, #0x0] add r1, r1, #0x2 sub r3, #0x1c and r4, r2 mov r2, #0x8 orr r2, r4 strh r2, [r0, #0x0] ldrh r2, [r0, #0x0] and r2, r1 mov r1, #0x10 orr r1, r2 strh r1, [r0, #0x0] ldrh r1, [r0, #0x0] and r1, r3 strh r1, [r0, #0x0] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl G3X_SetFog mov r0, #0x0 ldr r2, _0207EFF8 ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] bl G3X_SetClearColor ldr r1, _0207EFFC ; =0x04000540 mov r0, #0x0 str r0, [r1, #0x0] ldr r0, _0207F000 ; =0xBFFF0000 str r0, [r1, #0x40] mov r0, #0x1 add r1, r0, #0x0 bl GX_EngineAToggleLayers ldr r1, _0207F004 ; =0x04000008 mov r0, #0x3 ldrh r2, [r1, #0x0] bic r2, r0 mov r0, #0x2 orr r0, r2 strh r0, [r1, #0x0] add sp, #0x4 pop {r3-r4, pc} .balign 4 _0207EFEC: .word 0x04000060 _0207EFF0: .word 0xFFFFCFFD _0207EFF4: .word 0x0000CFFB _0207EFF8: .word 0x00007FFF _0207EFFC: .word 0x04000540 _0207F000: .word 0xBFFF0000 _0207F004: .word 0x04000008 thumb_func_start FUN_0207F008 FUN_0207F008: ; 0x0207F008 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207F05C ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x4 bne _0207F046 bl FUN_020222AC bl Camera_PushLookAtToNNSGlb ldr r2, _0207F060 ; =0x04000440 mov r3, #0x0 add r1, r2, #0x0 str r3, [r2, #0x0] add r1, #0x14 str r3, [r1, #0x0] mov r0, #0x2 str r0, [r2, #0x0] str r3, [r1, #0x0] bl NNS_G3dGlbFlushP mov r0, #0xb7 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0207F108 bl NNS_G3dGlbFlushP add r0, r4, #0x0 bl FUN_0207F1A4 _0207F046: bl NNS_G2dSetupSoftwareSpriteCamera mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02006ED4 ldr r0, _0207F064 ; =0x04000540 mov r1, #0x1 str r1, [r0, #0x0] pop {r4, pc} .balign 4 _0207F05C: .word 0x0000068C _0207F060: .word 0x04000440 _0207F064: .word 0x04000540 thumb_func_start FUN_0207F068 FUN_0207F068: ; 0x0207F068 push {r4, lr} add r4, r0, #0x0 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] bl Camera_Free mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02014D9C mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02014C28 mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020072E8 pop {r4, pc} thumb_func_start FUN_0207F098 FUN_0207F098: ; 0x0207F098 push {r3-r4, lr} sub sp, #0x1c ldr r3, _0207F100 ; =UNK_020FB5CC add r4, r0, #0x0 ldmia r3!, {r0-r1} add r2, sp, #0x10 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] add r1, sp, #0x8 str r0, [r2, #0x0] mov r0, #0x0 strh r0, [r1, #0x0] strh r0, [r1, #0x2] strh r0, [r1, #0x4] strh r0, [r1, #0x6] mov r0, #0x13 bl Camera_Alloc mov r1, #0xad lsl r1, r1, #0x2 str r0, [r4, r1] mov r2, #0x1 str r2, [sp, #0x0] ldr r0, [r4, r1] lsl r1, r2, #0x10 str r0, [sp, #0x4] ldr r3, _0207F104 ; =0x000005C1 add r0, sp, #0x10 add r2, sp, #0x8 bl Camera_InitWithPosAndAngle mov r2, #0xad lsl r2, r2, #0x2 mov r1, #0x19 ldr r2, [r4, r2] mov r0, #0x0 lsl r1, r1, #0xe bl Camera_SetPerspectiveClippingPlane mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] bl Camera_ClearFixedTarget mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] bl Camera_SetWorkPtr add sp, #0x1c pop {r3-r4, pc} nop _0207F100: .word UNK_020FB5CC _0207F104: .word 0x000005C1 thumb_func_start FUN_0207F108 FUN_0207F108: ; 0x0207F108 push {r4-r7} add r4, r0, #0x0 ldr r0, _0207F170 ; =0x121400C0 ldr r1, _0207F174 ; =0x040004A4 ldr r2, _0207F178 ; =0x00003FE8 str r0, [r1, #0x0] mov r0, #0x1 str r0, [r1, #0x5c] ldr r0, _0207F17C ; =0x0400048C mov r3, #0x0 sub r1, #0x24 _0207F11E: str r2, [r1, #0x0] ldrh r7, [r4, #0x2] ldrh r5, [r4, #0x0] ldrh r6, [r4, #0x4] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] str r6, [r0, #0x0] str r2, [r1, #0x0] ldrh r7, [r4, #0x8] ldrh r5, [r4, #0x6] ldrh r6, [r4, #0xa] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] str r6, [r0, #0x0] str r2, [r1, #0x0] ldrh r7, [r4, #0x14] ldrh r5, [r4, #0x12] ldrh r6, [r4, #0x16] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] str r6, [r0, #0x0] str r2, [r1, #0x0] ldrh r7, [r4, #0xe] ldrh r5, [r4, #0xc] ldrh r6, [r4, #0x10] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] add r3, r3, #0x1 add r4, #0x18 str r6, [r0, #0x0] cmp r3, #0x4 blo _0207F11E ldr r0, _0207F180 ; =0x04000504 mov r1, #0x0 str r1, [r0, #0x0] pop {r4-r7} bx lr .balign 4 _0207F170: .word 0x121400C0 _0207F174: .word 0x040004A4 _0207F178: .word 0x00003FE8 _0207F17C: .word 0x0400048C _0207F180: .word 0x04000504 thumb_func_start FUN_0207F184 FUN_0207F184: ; 0x0207F184 mov r2, #0x0 ldrsh r3, [r0, r2] ldrsh r2, [r1, r2] add r2, r3, r2 strh r2, [r0, #0x0] mov r2, #0x2 ldrsh r3, [r0, r2] ldrsh r2, [r1, r2] add r2, r3, r2 strh r2, [r0, #0x2] mov r2, #0x4 ldrsh r3, [r0, r2] ldrsh r1, [r1, r2] add r1, r3, r1 strh r1, [r0, #0x4] bx lr thumb_func_start FUN_0207F1A4 FUN_0207F1A4: ; 0x0207F1A4 push {r3-r7, lr} sub sp, #0x18 mov r2, #0xff lsl r2, r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, r2] str r0, [sp, #0x0] cmp r1, #0x4 bne _0207F1BE bl FUN_0207D598 add sp, #0x18 pop {r3-r7, pc} _0207F1BE: cmp r1, #0x3 bne _0207F1EA add r6, r0, #0x0 add r7, r2, #0x0 mov r0, #0xb7 mov r5, #0x0 sub r7, #0x60 lsl r0, r0, #0x2 _0207F1CE: add r4, r6, r7 add r3, r6, r0 mov r2, #0xc _0207F1D4: ldrh r1, [r4, #0x0] add r4, r4, #0x2 strh r1, [r3, #0x0] add r3, r3, #0x2 sub r2, r2, #0x1 bne _0207F1D4 add r5, r5, #0x1 add r6, #0x18 cmp r5, #0x4 blo _0207F1CE b _0207F274 _0207F1EA: mov r0, #0x0 str r0, [sp, #0x4] ldr r0, [sp, #0x0] sub r2, #0xc0 add r0, r0, r2 str r0, [sp, #0x14] mov r0, #0xb7 lsl r0, r0, #0x2 ldr r1, [sp, #0x0] add r2, r0, #0x0 add r1, r1, r0 str r1, [sp, #0x10] ldr r1, [sp, #0x0] add r2, #0x66 add r1, r1, r2 str r1, [sp, #0xc] ldr r1, [sp, #0x0] add r2, r0, #0x6 add r1, r1, r2 str r1, [sp, #0x8] add r2, r0, #0x0 ldr r1, [sp, #0x0] add r2, #0x6c add r7, r1, r2 add r2, r0, #0x0 add r2, #0xc add r6, r1, r2 add r2, r0, #0x0 add r2, #0x72 add r0, #0x12 add r4, r1, r2 add r5, r1, r0 _0207F22A: ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] bl FUN_0207F184 ldr r0, [sp, #0x8] ldr r1, [sp, #0xc] bl FUN_0207F184 add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_0207F184 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207F184 ldr r0, [sp, #0x14] add r7, #0x18 add r0, #0x18 str r0, [sp, #0x14] ldr r0, [sp, #0x10] add r6, #0x18 add r0, #0x18 str r0, [sp, #0x10] ldr r0, [sp, #0xc] add r4, #0x18 add r0, #0x18 str r0, [sp, #0xc] ldr r0, [sp, #0x8] add r5, #0x18 add r0, #0x18 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r0, r0, #0x1 str r0, [sp, #0x4] cmp r0, #0x4 blo _0207F22A _0207F274: mov r1, #0xff ldr r0, [sp, #0x0] lsl r1, r1, #0x2 ldr r0, [r0, r1] add r2, r0, #0x1 ldr r0, [sp, #0x0] str r2, [r0, r1] ldr r0, [r0, r1] cmp r0, #0x4 bne _0207F294 ldr r0, [sp, #0x0] mov r1, #0x1 bl FUN_0207D418 add sp, #0x18 pop {r3-r7, pc} _0207F294: ldr r0, [sp, #0x0] mov r1, #0x0 bl FUN_0207D418 add sp, #0x18 pop {r3-r7, pc} thumb_func_start FUN_0207F2A0 FUN_0207F2A0: ; 0x0207F2A0 push {r3-r7, lr} sub sp, #0x18 ldr r1, _0207F420 ; =0x0000068C ldrsb r1, [r0, r1] cmp r1, #0x4 beq _0207F2AE b _0207F41A _0207F2AE: ldr r7, _0207F424 ; =UNK_020FB60C add r3, sp, #0x0 ldrh r1, [r7, #0x8] strh r1, [r3, #0x12] ldrh r1, [r7, #0xa] strh r1, [r3, #0x14] ldrh r1, [r7, #0xc] strh r1, [r3, #0x16] mov r1, #0xb7 lsl r1, r1, #0x2 ldrh r5, [r3, #0x12] add r2, r1, #0x2 strh r5, [r0, r1] ldrh r4, [r3, #0x14] strh r4, [r0, r2] ldrh r6, [r3, #0x16] add r2, r1, #0x4 strh r6, [r0, r2] add r2, r1, #0x6 strh r5, [r0, r2] add r2, r1, #0x0 add r2, #0x8 strh r4, [r0, r2] add r2, r1, #0x0 add r2, #0xa strh r6, [r0, r2] add r2, r1, #0x0 add r2, #0xc strh r5, [r0, r2] add r2, r1, #0x0 add r2, #0xe strh r4, [r0, r2] add r2, r1, #0x0 add r2, #0x10 strh r6, [r0, r2] add r2, r1, #0x0 add r2, #0x12 strh r5, [r0, r2] add r2, r1, #0x0 add r2, #0x14 strh r4, [r0, r2] add r2, r1, #0x0 add r2, #0x16 strh r6, [r0, r2] ldrh r2, [r7, #0x3e] ldr r6, _0207F428 ; =UNK_020FB64C add r7, r1, #0x0 strh r2, [r3, #0xc] ldrh r2, [r6, #0x0] add r7, #0x1c strh r2, [r3, #0xe] ldrh r2, [r6, #0x2] strh r2, [r3, #0x10] add r2, r1, #0x0 ldrh r5, [r3, #0xc] add r2, #0x18 strh r5, [r0, r2] add r2, r1, #0x0 ldrh r4, [r3, #0xe] add r2, #0x1a strh r4, [r0, r2] ldrh r2, [r3, #0x10] strh r2, [r0, r7] add r7, r1, #0x0 add r7, #0x1e strh r5, [r0, r7] add r7, r1, #0x0 add r7, #0x20 strh r4, [r0, r7] add r7, r1, #0x0 add r7, #0x22 strh r2, [r0, r7] add r7, r1, #0x0 add r7, #0x24 strh r5, [r0, r7] add r7, r1, #0x0 add r7, #0x26 strh r4, [r0, r7] add r7, r1, #0x0 add r7, #0x28 strh r2, [r0, r7] add r7, r1, #0x0 add r7, #0x2a strh r5, [r0, r7] add r5, r1, #0x0 add r5, #0x2c strh r4, [r0, r5] add r4, r1, #0x0 add r4, #0x2e strh r2, [r0, r4] ldrh r2, [r6, #0x34] strh r2, [r3, #0x6] ldrh r2, [r6, #0x36] strh r2, [r3, #0x8] ldrh r2, [r6, #0x38] add r6, r1, #0x0 add r6, #0x34 strh r2, [r3, #0xa] add r2, r1, #0x0 ldrh r5, [r3, #0x6] add r2, #0x30 strh r5, [r0, r2] add r2, r1, #0x0 ldrh r4, [r3, #0x8] add r2, #0x32 strh r4, [r0, r2] ldrh r2, [r3, #0xa] strh r2, [r0, r6] add r6, r1, #0x0 add r6, #0x36 strh r5, [r0, r6] add r6, r1, #0x0 add r6, #0x38 strh r4, [r0, r6] add r6, r1, #0x0 add r6, #0x3a strh r2, [r0, r6] add r6, r1, #0x0 add r6, #0x3c strh r5, [r0, r6] add r6, r1, #0x0 add r6, #0x3e strh r4, [r0, r6] add r6, r1, #0x0 add r6, #0x40 strh r2, [r0, r6] add r6, r1, #0x0 add r6, #0x42 strh r5, [r0, r6] add r5, r1, #0x0 add r5, #0x44 strh r4, [r0, r5] add r4, r1, #0x0 add r4, #0x46 strh r2, [r0, r4] ldr r2, _0207F42C ; =UNK_020FB68C ldrh r4, [r2, #0x2a] strh r4, [r3, #0x0] ldrh r4, [r2, #0x2c] strh r4, [r3, #0x2] ldrh r2, [r2, #0x2e] strh r2, [r3, #0x4] add r2, r1, #0x0 ldrh r5, [r3, #0x0] add r2, #0x48 strh r5, [r0, r2] add r2, r1, #0x0 ldrh r4, [r3, #0x2] add r2, #0x4a strh r4, [r0, r2] ldrh r2, [r3, #0x4] add r3, r1, #0x0 add r3, #0x4c strh r2, [r0, r3] add r3, r1, #0x0 add r3, #0x4e strh r5, [r0, r3] add r3, r1, #0x0 add r3, #0x50 strh r4, [r0, r3] add r3, r1, #0x0 add r3, #0x52 strh r2, [r0, r3] add r3, r1, #0x0 add r3, #0x54 strh r5, [r0, r3] add r3, r1, #0x0 add r3, #0x56 strh r4, [r0, r3] add r3, r1, #0x0 add r3, #0x58 strh r2, [r0, r3] add r3, r1, #0x0 add r3, #0x5a strh r5, [r0, r3] add r3, r1, #0x0 add r3, #0x5c strh r4, [r0, r3] add r1, #0x5e strh r2, [r0, r1] bl FUN_0207F608 _0207F41A: add sp, #0x18 pop {r3-r7, pc} nop _0207F420: .word 0x0000068C _0207F424: .word UNK_020FB60C _0207F428: .word UNK_020FB64C _0207F42C: .word UNK_020FB68C thumb_func_start FUN_0207F430 FUN_0207F430: ; 0x0207F430 push {r4-r5} cmp r2, #0xff bne _0207F446 ldrh r2, [r0, #0x0] strh r2, [r1, #0x0] ldrh r2, [r0, #0x2] strh r2, [r1, #0x2] ldrh r0, [r0, #0x4] strh r0, [r1, #0x4] pop {r4-r5} bx lr _0207F446: cmp r2, #0x0 bne _0207F45A ldrh r2, [r0, #0x6] strh r2, [r1, #0x0] ldrh r2, [r0, #0x8] strh r2, [r1, #0x2] ldrh r0, [r0, #0xa] strh r0, [r1, #0x4] pop {r4-r5} bx lr _0207F45A: mov r3, #0x6 ldrsh r5, [r0, r3] mov r3, #0xc ldrsh r3, [r0, r3] add r4, r3, #0x0 mul r4, r2 add r3, r5, r4 strh r3, [r1, #0x0] mov r3, #0x8 ldrsh r5, [r0, r3] mov r3, #0xe ldrsh r3, [r0, r3] add r4, r3, #0x0 mul r4, r2 add r3, r5, r4 strh r3, [r1, #0x2] mov r3, #0xa ldrsh r4, [r0, r3] mov r3, #0x10 ldrsh r0, [r0, r3] mul r2, r0 add r0, r4, r2 strh r0, [r1, #0x4] pop {r4-r5} bx lr thumb_func_start FUN_0207F48C FUN_0207F48C: ; 0x0207F48C push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x0 ldrsh r1, [r4, r0] ldrsh r0, [r5, r0] add r6, r2, #0x0 sub r7, r1, r0 add r0, r7, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv mov r1, #0x0 bl _fgr bls _0207F4E0 add r0, r7, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 bl _fmul add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 bl _fadd bl _ffix b _0207F506 _0207F4E0: add r0, r7, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 bl _fmul mov r1, #0x3f lsl r1, r1, #0x18 bl _fsub bl _ffix _0207F506: lsl r0, r0, #0x10 asr r0, r0, #0x10 strh r0, [r6, #0x0] mov r0, #0x2 ldrsh r1, [r4, r0] ldrsh r0, [r5, r0] sub r7, r1, r0 add r0, r7, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv mov r1, #0x0 bl _fgr bls _0207F558 add r0, r7, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 bl _fmul add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 bl _fadd bl _ffix b _0207F57E _0207F558: add r0, r7, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 bl _fmul mov r1, #0x3f lsl r1, r1, #0x18 bl _fsub bl _ffix _0207F57E: lsl r0, r0, #0x10 asr r0, r0, #0x10 strh r0, [r6, #0x2] mov r0, #0x4 ldrsh r1, [r4, r0] ldrsh r0, [r5, r0] sub r4, r1, r0 add r0, r4, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv mov r1, #0x0 bl _fgr bls _0207F5D0 add r0, r4, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 bl _fmul add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 bl _fadd bl _ffix b _0207F5F6 _0207F5D0: add r0, r4, #0x0 bl _fflt ldr r1, _0207F600 ; =0x45800000 bl _fdiv ldr r1, _0207F604 ; =0x40800000 bl _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 bl _fmul mov r1, #0x3f lsl r1, r1, #0x18 bl _fsub bl _ffix _0207F5F6: lsl r0, r0, #0x10 asr r0, r0, #0x10 strh r0, [r6, #0x4] pop {r3-r7, pc} nop _0207F600: .word 0x45800000 _0207F604: .word 0x40800000 thumb_func_start FUN_0207F608 FUN_0207F608: ; 0x0207F608 push {r3-r7, lr} sub sp, #0x28 ldr r2, _0207F7D0 ; =0x00000295 add r5, r0, #0x0 mov r1, #0xe7 lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F7D4 ; =UNK_020FB5D8 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7D8 ; =0x00000296 ldr r1, _0207F7DC ; =0x000003A2 ldrb r2, [r5, r2] ldr r0, _0207F7E0 ; =UNK_020FB5EA add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F7E8 ; =0x000003AE ldrb r2, [r5, r2] ldr r0, _0207F7EC ; =UNK_020FB5FC add r1, r5, r1 bl FUN_0207F430 mov r1, #0xea lsl r1, r1, #0x2 ldr r0, _0207F7F0 ; =UNK_020FB60E add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 ldr r2, _0207F7F4 ; =0x00000299 mov r1, #0xed lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F7F8 ; =UNK_020FB620 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7D0 ; =0x00000295 ldr r1, _0207F7FC ; =0x000003BA ldrb r2, [r5, r2] ldr r0, _0207F800 ; =UNK_020FB632 add r1, r5, r1 bl FUN_0207F430 ldr r1, _0207F804 ; =0x000003C6 ldr r0, _0207F808 ; =UNK_020FB644 add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0xf lsl r1, r1, #0x6 ldrb r2, [r5, r2] ldr r0, _0207F80C ; =UNK_020FB656 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7F4 ; =0x00000299 mov r1, #0xf3 lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F810 ; =UNK_020FB668 add r1, r5, r1 bl FUN_0207F430 ldr r1, _0207F814 ; =0x000003D2 ldr r0, _0207F818 ; =UNK_020FB67A add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F81C ; =0x000003DE ldrb r2, [r5, r2] ldr r0, _0207F820 ; =UNK_020FB68C add r1, r5, r1 bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0xf6 lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F824 ; =UNK_020FB69E add r1, r5, r1 bl FUN_0207F430 mov r1, #0xf9 lsl r1, r1, #0x2 ldr r0, _0207F828 ; =UNK_020FB6B0 add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 ldr r2, _0207F7D8 ; =0x00000296 ldr r1, _0207F82C ; =0x000003EA ldrb r2, [r5, r2] ldr r0, _0207F830 ; =UNK_020FB6C2 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F834 ; =0x000003F6 ldrb r2, [r5, r2] ldr r0, _0207F838 ; =UNK_020FB6D4 add r1, r5, r1 bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0x3f lsl r1, r1, #0x4 ldrb r2, [r5, r2] ldr r0, _0207F83C ; =UNK_020FB6E6 add r1, r5, r1 bl FUN_0207F430 mov r0, #0x0 str r0, [sp, #0x24] mov r0, #0xcf lsl r0, r0, #0x2 add r1, r5, r0 str r1, [sp, #0x20] add r1, r0, #0x0 add r1, #0x60 add r1, r5, r1 str r1, [sp, #0x1c] add r1, r0, #0x0 sub r1, #0x60 add r1, r5, r1 str r1, [sp, #0x18] add r1, r0, #0x6 add r1, r5, r1 str r1, [sp, #0x14] add r1, r0, #0x0 add r1, #0x66 add r1, r5, r1 str r1, [sp, #0x10] add r1, r0, #0x0 sub r1, #0x5a add r1, r5, r1 str r1, [sp, #0xc] add r1, r0, #0x0 add r1, #0xc add r1, r5, r1 str r1, [sp, #0x8] add r1, r0, #0x0 add r1, #0x6c add r1, r5, r1 str r1, [sp, #0x4] add r1, r0, #0x0 sub r1, #0x54 add r1, r5, r1 str r1, [sp, #0x0] add r1, r0, #0x0 add r1, #0x12 add r7, r5, r1 add r1, r0, #0x0 add r1, #0x72 sub r0, #0x4e add r6, r5, r1 add r4, r5, r0 _0207F756: ldr r0, [sp, #0x18] ldr r1, [sp, #0x1c] ldr r2, [sp, #0x20] bl FUN_0207F48C ldr r0, [sp, #0xc] ldr r1, [sp, #0x10] ldr r2, [sp, #0x14] bl FUN_0207F48C ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r2, [sp, #0x8] bl FUN_0207F48C add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0207F48C ldr r0, [sp, #0x20] add r7, #0x18 add r0, #0x18 str r0, [sp, #0x20] ldr r0, [sp, #0x1c] add r6, #0x18 add r0, #0x18 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] add r4, #0x18 add r0, #0x18 str r0, [sp, #0x18] ldr r0, [sp, #0x14] add r0, #0x18 str r0, [sp, #0x14] ldr r0, [sp, #0x10] add r0, #0x18 str r0, [sp, #0x10] ldr r0, [sp, #0xc] add r0, #0x18 str r0, [sp, #0xc] ldr r0, [sp, #0x8] add r0, #0x18 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r0, #0x18 str r0, [sp, #0x4] ldr r0, [sp, #0x0] add r0, #0x18 str r0, [sp, #0x0] ldr r0, [sp, #0x24] add r0, r0, #0x1 str r0, [sp, #0x24] cmp r0, #0x4 blo _0207F756 mov r0, #0xff mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r5, r0] add sp, #0x28 pop {r3-r7, pc} .balign 4 _0207F7D0: .word 0x00000295 _0207F7D4: .word UNK_020FB5D8 _0207F7D8: .word 0x00000296 _0207F7DC: .word 0x000003A2 _0207F7E0: .word UNK_020FB5EA _0207F7E4: .word 0x00000297 _0207F7E8: .word 0x000003AE _0207F7EC: .word UNK_020FB5FC _0207F7F0: .word UNK_020FB60E _0207F7F4: .word 0x00000299 _0207F7F8: .word UNK_020FB620 _0207F7FC: .word 0x000003BA _0207F800: .word UNK_020FB632 _0207F804: .word 0x000003C6 _0207F808: .word UNK_020FB644 _0207F80C: .word UNK_020FB656 _0207F810: .word UNK_020FB668 _0207F814: .word 0x000003D2 _0207F818: .word UNK_020FB67A _0207F81C: .word 0x000003DE _0207F820: .word UNK_020FB68C _0207F824: .word UNK_020FB69E _0207F828: .word UNK_020FB6B0 _0207F82C: .word 0x000003EA _0207F830: .word UNK_020FB6C2 _0207F834: .word 0x000003F6 _0207F838: .word UNK_020FB6D4 _0207F83C: .word UNK_020FB6E6 thumb_func_start FUN_0207F840 FUN_0207F840: ; 0x0207F840 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 mov r0, #0x13 bl FUN_02006D98 mov r1, #0xae lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r4, #0x0 bl FUN_0207B628 add r1, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x11] cmp r0, #0x2 add r0, sp, #0x10 bne _0207F870 mov r2, #0x2 bl FUN_02068B70 b _0207F876 _0207F870: mov r2, #0x2 bl FUN_02068B68 _0207F876: mov r1, #0xaf lsl r1, r1, #0x2 add r0, r4, r1 sub r1, #0x60 ldrh r1, [r4, r1] bl FUN_02069010 mov r0, #0x97 lsl r0, r0, #0x2 ldrh r0, [r4, r0] mov r1, #0x1c ; BASE_FLIP bl GetMonBaseStat mov r1, #0x1 eor r0, r1 mov r1, #0xb6 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x0 mov r2, #0x0 str r2, [sp, #0x0] sub r0, #0x1c str r2, [sp, #0x4] add r0, r4, r0 str r0, [sp, #0x8] str r2, [sp, #0xc] sub r1, #0x20 ldr r0, [r4, r1] add r1, sp, #0x10 mov r2, #0x34 mov r3, #0x68 bl FUN_020073A0 mov r2, #0xb5 lsl r2, r2, #0x2 str r0, [r4, r2] ldr r0, [r4, r2] add r2, r2, #0x4 ldr r2, [r4, r2] mov r1, #0x23 bl FUN_02007558 add sp, #0x20 pop {r4, pc} .balign 4 thumb_func_start FUN_0207F8D0 FUN_0207F8D0: ; 0x0207F8D0 push {r3-r4, lr} sub sp, #0xc mov r1, #0x2a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] lsl r0, r0, #0x3 lsr r0, r0, #0x1f beq _0207F904 mov r2, #0x0 add r0, r1, #0x0 str r2, [sp, #0x0] add r0, #0x38 ldr r0, [r4, r0] mov r3, #0x2 str r0, [sp, #0x4] add r0, r1, #0x0 str r2, [sp, #0x8] add r0, #0x30 add r1, #0x34 ldr r0, [r4, r0] ldr r1, [r4, r1] bl FUN_02069038 add sp, #0xc pop {r3-r4, pc} _0207F904: add r1, #0x34 ldr r0, [r4, r1] mov r1, #0x1 bl FUN_02007314 mov r1, #0x0 mov r2, #0xb6 str r1, [sp, #0x0] lsl r2, r2, #0x2 ldr r0, [r4, r2] mov r3, #0x2 str r0, [sp, #0x4] str r1, [sp, #0x8] add r0, r2, #0x0 sub r1, r2, #0x4 sub r2, #0x7c sub r0, #0x8 ldrh r2, [r4, r2] ldr r0, [r4, r0] ldr r1, [r4, r1] bl FUN_02069038 add sp, #0xc pop {r3-r4, pc} thumb_func_start FUN_0207F934 FUN_0207F934: ; 0x0207F934 push {r4, lr} add r4, r0, #0x0 mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02014D9C mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020072E8 add r0, r4, #0x0 bl FUN_0207F840 add r0, r4, #0x0 bl FUN_0207F8D0 pop {r4, pc}