mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-26 08:17:27 -05:00
5212 lines
102 KiB
ArmAsm
5212 lines
102 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.extern UNK_021C48F8
|
|
.extern gUnk021C4918
|
|
.extern gUnknown21C48B8
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020F9D28
|
|
UNK_020F9D28: ; 0x020F9D28
|
|
.byte 0x60, 0x68, 0x50, 0x58
|
|
|
|
.global UNK_020F9D2C
|
|
UNK_020F9D2C: ; 0x020F9D2C
|
|
.byte 0x04, 0x07, 0x0D, 0x0A
|
|
|
|
.global UNK_020F9D30
|
|
UNK_020F9D30: ; 0x020F9D30
|
|
.byte 0x03, 0x06, 0x0C, 0x09, 0x09, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F9D38
|
|
UNK_020F9D38: ; 0x020F9D38
|
|
.byte 0x28, 0x28, 0x28, 0x28, 0x29, 0x29, 0x29, 0x00
|
|
|
|
.global UNK_020F9D40
|
|
UNK_020F9D40: ; 0x020F9D40
|
|
.byte 0x70, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F9D4C
|
|
UNK_020F9D4C: ; 0x020F9D4C
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F9D5C
|
|
UNK_020F9D5C: ; 0x020F9D5C
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F9D6C
|
|
UNK_020F9D6C: ; 0x020F9D6C
|
|
.byte 0x19, 0x00, 0x39, 0x00, 0x59, 0x00, 0x61, 0x00, 0x7A, 0x00, 0x9E, 0x00, 0xC6, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x2B, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x3F, 0x00, 0x09, 0x00
|
|
.byte 0x30, 0x00, 0xE2, 0x00, 0xFF, 0xFF, 0x8D, 0x00, 0x74, 0x00, 0x60, 0x00, 0x6A, 0x00, 0x2F, 0x00
|
|
.byte 0x01, 0x00, 0x2B, 0x00, 0x3F, 0x00, 0x09, 0x00, 0x30, 0x00, 0xE2, 0x00, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9DAA
|
|
UNK_020F9DAA: ; 0x020F9DAA
|
|
.byte 0x02, 0xE0, 0x02, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x04, 0xE0, 0x04, 0xE0, 0x04, 0xD0, 0x04, 0xD0
|
|
.byte 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x08, 0xE0, 0x08, 0xE0
|
|
|
|
.global UNK_020F9DC4
|
|
UNK_020F9DC4: ; 0x020F9DC4
|
|
.byte 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0
|
|
.byte 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x08, 0xE0, 0x08, 0xE0
|
|
|
|
.global UNK_020F9DDE
|
|
UNK_020F9DDE: ; 0x020F9DDE
|
|
.byte 0xE3, 0x00, 0xE4, 0x00, 0xF9, 0x00, 0xF8, 0x00, 0xE5, 0x00, 0xE6, 0x00, 0xF5, 0x00, 0xF6, 0x00
|
|
.byte 0xF7, 0x00, 0xE7, 0x00, 0x01, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xFF, 0xFF, 0x00, 0x00
|
|
|
|
.global UNK_020F9DFC
|
|
UNK_020F9DFC: ; 0x020F9DFC
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F9E18
|
|
UNK_020F9E18: ; 0x020F9E18
|
|
.byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01
|
|
.byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9E34
|
|
UNK_020F9E34: ; 0x020F9E34
|
|
.byte 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01
|
|
.byte 0x11, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9E50
|
|
UNK_020F9E50: ; 0x020F9E50
|
|
.byte 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01
|
|
.byte 0x29, 0x01, 0x2A, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9E6C
|
|
UNK_020F9E6C: ; 0x020F9E6C
|
|
.byte 0x2B, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01, 0x2F, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01
|
|
.byte 0x33, 0x01, 0x34, 0x01, 0xDE, 0x01, 0xAD, 0x01, 0xAE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9E88
|
|
UNK_020F9E88: ; 0x020F9E88
|
|
.byte 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3A, 0x01, 0x3B, 0x01, 0x3C, 0x01
|
|
.byte 0x3D, 0x01, 0x3E, 0x01, 0xDE, 0x01, 0xB3, 0x01, 0xBE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9EA4
|
|
UNK_020F9EA4: ; 0x020F9EA4
|
|
.byte 0x3F, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01, 0xDE, 0x01, 0xDE, 0x01
|
|
.byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9EC0
|
|
UNK_020F9EC0: ; 0x020F9EC0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x1E, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F9EDC
|
|
UNK_020F9EDC: ; 0x020F9EDC
|
|
.byte 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4A, 0x01, 0x4B, 0x01, 0x4C, 0x01
|
|
.byte 0x4D, 0x01, 0x4E, 0x01, 0xDE, 0x01, 0xAD, 0x01, 0xAE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9EF8
|
|
UNK_020F9EF8: ; 0x020F9EF8
|
|
.byte 0x4F, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01
|
|
.byte 0x57, 0x01, 0x58, 0x01, 0xDE, 0x01, 0xB3, 0x01, 0xBE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9F14
|
|
UNK_020F9F14: ; 0x020F9F14
|
|
.byte 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0xFC, 0x00, 0xFA, 0x00, 0xFD, 0x00
|
|
.byte 0xFB, 0x00, 0xFE, 0x00, 0x05, 0x01, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9F30
|
|
UNK_020F9F30: ; 0x020F9F30
|
|
.byte 0xE8, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xF0, 0x00, 0xF1, 0x00
|
|
.byte 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0x06, 0x01, 0x04, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9F4C
|
|
UNK_020F9F4C: ; 0x020F9F4C
|
|
.byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01
|
|
.byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9F68
|
|
UNK_020F9F68: ; 0x020F9F68
|
|
.byte 0xA2, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA7, 0x00, 0xA8, 0x00, 0xA9, 0x00
|
|
.byte 0xAA, 0x00, 0xAB, 0x00, 0x01, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9F84
|
|
UNK_020F9F84: ; 0x020F9F84
|
|
.byte 0xAD, 0x01, 0xAE, 0x01, 0xC4, 0x01, 0xC5, 0x01, 0xAB, 0x01, 0xAC, 0x01, 0xDE, 0x01, 0xDE, 0x01
|
|
.byte 0xDE, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9FA0
|
|
UNK_020F9FA0: ; 0x020F9FA0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x1C, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F9FBC
|
|
UNK_020F9FBC: ; 0x020F9FBC
|
|
.byte 0xB4, 0x01, 0xB5, 0x01, 0xB2, 0x01, 0xB3, 0x01, 0xB9, 0x01, 0xBA, 0x01, 0xDE, 0x01, 0xDE, 0x01
|
|
.byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9FD8
|
|
UNK_020F9FD8: ; 0x020F9FD8
|
|
.byte 0xAF, 0x01, 0xB0, 0x01, 0xC3, 0x01, 0xD0, 0x01, 0xC0, 0x01, 0xD2, 0x01, 0xBD, 0x01, 0xBE, 0x01
|
|
.byte 0xBF, 0x01, 0xB1, 0x01, 0xC1, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020F9FF4
|
|
UNK_020F9FF4: ; 0x020F9FF4
|
|
.byte 0xCB, 0x01, 0xCC, 0x01, 0xCD, 0x01, 0xCE, 0x01, 0xCF, 0x01, 0xC6, 0x01, 0xC8, 0x01, 0xC9, 0x01
|
|
.byte 0xC7, 0x01, 0xCA, 0x01, 0xD1, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020FA010
|
|
UNK_020FA010: ; 0x020FA010
|
|
.byte 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01
|
|
.byte 0x29, 0x01, 0x2A, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020FA02C
|
|
UNK_020FA02C: ; 0x020FA02C
|
|
.byte 0xD3, 0x01, 0xD4, 0x01, 0xD5, 0x01, 0xD6, 0x01, 0xD7, 0x01, 0xD8, 0x01, 0xD9, 0x01, 0xDA, 0x01
|
|
.byte 0xDD, 0x01, 0xDB, 0x01, 0xDC, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020FA048
|
|
UNK_020FA048: ; 0x020FA048
|
|
.byte 0x59, 0x01, 0x5A, 0x01, 0x5B, 0x01, 0x5C, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0xDE, 0x01, 0xDE, 0x01
|
|
.byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xFF, 0xFF
|
|
|
|
.global UNK_020FA064
|
|
UNK_020FA064: ; 0x020FA064
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1A, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x62, 0x00
|
|
.byte 0x93, 0x00, 0xA1, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x74, 0x00, 0x60, 0x00, 0x7E, 0x00
|
|
.byte 0xF1, 0x00, 0x91, 0x00, 0x30, 0x00, 0xE2, 0x00, 0xFF, 0xFF, 0x00, 0x00
|
|
|
|
.global UNK_020FA0A0
|
|
UNK_020FA0A0: ; 0x020FA0A0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA0C0
|
|
UNK_020FA0C0: ; 0x020FA0C0
|
|
.byte 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0xFF, 0xFF
|
|
|
|
.global UNK_020FA0E4
|
|
UNK_020FA0E4: ; 0x020FA0E4
|
|
.byte 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2A, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0xFF, 0xFF
|
|
|
|
.global UNK_020FA108
|
|
UNK_020FA108: ; 0x020FA108
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0xFF, 0xFF
|
|
|
|
.global UNK_020FA12C
|
|
UNK_020FA12C: ; 0x020FA12C
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA154
|
|
UNK_020FA154: ; 0x020FA154
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA158
|
|
UNK_020FA158: ; 0x020FA158
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA17C
|
|
UNK_020FA17C: ; 0x020FA17C
|
|
.byte 0x31, 0x00
|
|
|
|
.global UNK_020FA17E
|
|
UNK_020FA17E: ; 0x020FA17E
|
|
.byte 0x32, 0x00, 0x34, 0x00, 0x35, 0x00, 0x37, 0x00, 0x38, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3D, 0x00
|
|
.byte 0x3E, 0x00, 0x81, 0x00, 0x82, 0x00, 0x84, 0x00, 0x85, 0x00, 0x87, 0x00, 0x88, 0x00, 0x8A, 0x00
|
|
.byte 0x8B, 0x00, 0x8D, 0x00, 0x8E, 0x00
|
|
|
|
.global UNK_020FA1A4
|
|
UNK_020FA1A4: ; 0x020FA1A4
|
|
.byte 0x24, 0x00
|
|
|
|
.global UNK_020FA1A6
|
|
UNK_020FA1A6: ; 0x020FA1A6
|
|
.byte 0x26, 0x00, 0x74, 0x00, 0x76, 0x00, 0x32, 0x00, 0x31, 0x00, 0x35, 0x00, 0x34, 0x00, 0x38, 0x00
|
|
.byte 0x37, 0x00, 0x3B, 0x00, 0x3A, 0x00, 0x3E, 0x00, 0x3D, 0x00, 0x82, 0x00, 0x81, 0x00, 0x85, 0x00
|
|
.byte 0x84, 0x00, 0x88, 0x00, 0x87, 0x00, 0x8B, 0x00, 0x8A, 0x00, 0x8E, 0x00, 0x8D, 0x00
|
|
|
|
.global UNK_020FA1D4
|
|
UNK_020FA1D4: ; 0x020FA1D4
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA1D8
|
|
UNK_020FA1D8: ; 0x020FA1D8
|
|
.byte 0x44, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA1DC
|
|
UNK_020FA1DC: ; 0x020FA1DC
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA224
|
|
UNK_020FA224: ; 0x020FA224
|
|
.byte 0x88, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xB0, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA264
|
|
UNK_020FA264: ; 0x020FA264
|
|
.byte 0x19, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x39, 0x3C, 0x00, 0x00, 0x02, 0x00, 0x59, 0x3C, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x04, 0x00, 0x9D, 0x3C, 0x01, 0x00, 0x08, 0x00, 0xC5, 0x3C
|
|
.byte 0x01, 0x00, 0x0B, 0x00, 0x1C, 0x58, 0x02, 0x00, 0x00, 0x01, 0x2C, 0x58, 0x02, 0x00, 0x01, 0x01
|
|
.byte 0x3C, 0x58, 0x02, 0x00, 0x02, 0x01, 0x4C, 0x58, 0x02, 0x00, 0x03, 0x01, 0x5C, 0x58, 0x02, 0x00
|
|
.byte 0x04, 0x01, 0x6C, 0x58, 0x02, 0x00, 0x05, 0x01, 0x7C, 0x58, 0x02, 0x00, 0x06, 0x01, 0x8C, 0x58
|
|
.byte 0x02, 0x00, 0x07, 0x01, 0x9C, 0x58, 0x02, 0x00, 0x08, 0x01, 0xAC, 0x58, 0x02, 0x00, 0x09, 0x01
|
|
.byte 0xBC, 0x58, 0x02, 0x00, 0x0A, 0x01, 0xCC, 0x58, 0x02, 0x00, 0x0B, 0x01, 0xDC, 0x58, 0x02, 0x00
|
|
.byte 0x0C, 0x01, 0x1C, 0x6B, 0x02, 0x00, 0x00, 0x02, 0x2C, 0x6B, 0x02, 0x00, 0x01, 0x02, 0x3C, 0x6B
|
|
.byte 0x02, 0x00, 0x02, 0x02, 0x4C, 0x6B, 0x02, 0x00, 0x03, 0x02, 0x5C, 0x6B, 0x02, 0x00, 0x04, 0x02
|
|
.byte 0x6C, 0x6B, 0x02, 0x00, 0x05, 0x02, 0x7C, 0x6B, 0x02, 0x00, 0x06, 0x02, 0x8C, 0x6B, 0x02, 0x00
|
|
.byte 0x07, 0x02, 0x9C, 0x6B, 0x02, 0x00, 0x08, 0x02, 0xAC, 0x6B, 0x02, 0x00, 0x09, 0x02, 0xBC, 0x6B
|
|
.byte 0x02, 0x00, 0x0A, 0x02, 0xCC, 0x6B, 0x02, 0x00, 0x0B, 0x02, 0xDC, 0x6B, 0x02, 0x00, 0x0C, 0x02
|
|
.byte 0x1C, 0x7E, 0x02, 0x00, 0x00, 0x03, 0x2C, 0x7E, 0x02, 0x00, 0x01, 0x03, 0x3C, 0x7E, 0x02, 0x00
|
|
.byte 0x02, 0x03, 0x4C, 0x7E, 0x02, 0x00, 0x03, 0x03, 0x5C, 0x7E, 0x02, 0x00, 0x04, 0x03, 0x6C, 0x7E
|
|
.byte 0x02, 0x00, 0x05, 0x03, 0x7C, 0x7E, 0x02, 0x00, 0x06, 0x03, 0x8C, 0x7E, 0x02, 0x00, 0x07, 0x03
|
|
.byte 0x9C, 0x7E, 0x02, 0x00, 0x08, 0x03, 0xAC, 0x7E, 0x02, 0x00, 0x09, 0x03, 0xBC, 0x7E, 0x02, 0x00
|
|
.byte 0x0A, 0x03, 0xCC, 0x7E, 0x02, 0x00, 0x0B, 0x03, 0xDC, 0x7E, 0x02, 0x00, 0x0C, 0x03, 0x1C, 0x91
|
|
.byte 0x02, 0x00, 0x00, 0x04, 0x2C, 0x91, 0x02, 0x00, 0x01, 0x04, 0x3C, 0x91, 0x02, 0x00, 0x02, 0x04
|
|
.byte 0x4C, 0x91, 0x02, 0x00, 0x03, 0x04, 0x5C, 0x91, 0x02, 0x00, 0x04, 0x04, 0x6C, 0x91, 0x02, 0x00
|
|
.byte 0x05, 0x04, 0x7C, 0x91, 0x02, 0x00, 0x06, 0x04, 0x8C, 0x91, 0x02, 0x00, 0x07, 0x04, 0x9C, 0x91
|
|
.byte 0x02, 0x00, 0x08, 0x04, 0xAC, 0x91, 0x02, 0x00, 0x09, 0x04, 0xBC, 0x91, 0x02, 0x00, 0x0A, 0x04
|
|
.byte 0xCC, 0x91, 0x02, 0x00, 0x0B, 0x04, 0xDC, 0x91, 0x02, 0x00, 0x0C, 0x04, 0x1C, 0xA4, 0x02, 0x00
|
|
.byte 0x00, 0x05, 0x2C, 0xA4, 0x02, 0x00, 0x01, 0x05, 0x3C, 0xA4, 0x02, 0x00, 0x02, 0x05, 0x4C, 0xA4
|
|
.byte 0x02, 0x00, 0x03, 0x05, 0x5C, 0xA4, 0x02, 0x00, 0x04, 0x05, 0x6C, 0xA4, 0x02, 0x00, 0x05, 0x05
|
|
.byte 0x7C, 0xA4, 0x02, 0x00, 0x06, 0x05, 0x8C, 0xA4, 0x02, 0x00, 0x07, 0x05, 0x9C, 0xA4, 0x02, 0x00
|
|
.byte 0x08, 0x05, 0xAC, 0xA4, 0x02, 0x00, 0x09, 0x05, 0xBC, 0xA4, 0x02, 0x00, 0x0A, 0x05, 0xCC, 0xA4
|
|
.byte 0x02, 0x00, 0x0B, 0x05, 0xDC, 0xA4, 0x02, 0x00, 0x0C, 0x05
|
|
|
|
.global UNK_020FA40E
|
|
UNK_020FA40E: ; 0x020FA40E
|
|
.byte 0x03, 0x00, 0x01, 0x00, 0x02, 0x00, 0x05, 0x00, 0x01, 0x00, 0x04, 0x00, 0x07, 0x00, 0x01, 0x00
|
|
.byte 0x06, 0x00, 0x09, 0x00, 0x01, 0x00, 0x08, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x53, 0x00
|
|
.byte 0x01, 0x00, 0x52, 0x00, 0x55, 0x00, 0x01, 0x00, 0x54, 0x00, 0x57, 0x00, 0x01, 0x00, 0x56, 0x00
|
|
.byte 0x59, 0x00, 0x01, 0x00, 0x58, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x5A, 0x00, 0x45, 0x00, 0x01, 0x00
|
|
.byte 0x44, 0x00, 0x47, 0x00, 0x01, 0x00, 0x46, 0x00, 0x49, 0x00, 0x01, 0x00, 0x48, 0x00, 0x95, 0x00
|
|
.byte 0x01, 0x00, 0x94, 0x00, 0x97, 0x00, 0x01, 0x00, 0x96, 0x00, 0x99, 0x00, 0x01, 0x00, 0x98, 0x00
|
|
.byte 0xAC, 0x00, 0x01, 0x00, 0xC6, 0x00, 0xAD, 0x00, 0x01, 0x00, 0xC7, 0x00, 0xAE, 0x00, 0x01, 0x00
|
|
.byte 0xC8, 0x00, 0xAF, 0x00, 0x01, 0x00, 0xC9, 0x00, 0xB0, 0x00, 0x01, 0x00, 0xCA, 0x00, 0xB1, 0x00
|
|
.byte 0x01, 0x00, 0xCB, 0x00, 0xB2, 0x00, 0x01, 0x00, 0xCC, 0x00, 0xB3, 0x00, 0x01, 0x00, 0xCD, 0x00
|
|
.byte 0xB4, 0x00, 0x01, 0x00, 0xCE, 0x00, 0xB5, 0x00, 0x01, 0x00, 0xCF, 0x00, 0xB6, 0x00, 0x01, 0x00
|
|
.byte 0xD0, 0x00, 0xB7, 0x00, 0x01, 0x00, 0xD1, 0x00, 0xB8, 0x00, 0x01, 0x00, 0xD2, 0x00, 0xB9, 0x00
|
|
.byte 0x01, 0x00, 0xD3, 0x00, 0xBA, 0x00, 0x01, 0x00, 0xD4, 0x00, 0xBB, 0x00, 0x01, 0x00, 0xD5, 0x00
|
|
.byte 0xBC, 0x00, 0x01, 0x00, 0xD6, 0x00, 0xBD, 0x00, 0x01, 0x00, 0xD7, 0x00, 0xBE, 0x00, 0x01, 0x00
|
|
.byte 0xD8, 0x00, 0xBF, 0x00, 0x01, 0x00, 0xD9, 0x00, 0xC0, 0x00, 0x01, 0x00, 0xDA, 0x00, 0xC1, 0x00
|
|
.byte 0x01, 0x00, 0xDB, 0x00, 0xC2, 0x00, 0x01, 0x00, 0xDC, 0x00, 0xC3, 0x00, 0x01, 0x00, 0xDD, 0x00
|
|
.byte 0xC4, 0x00, 0x01, 0x00, 0xDE, 0x00, 0xC5, 0x00, 0x01, 0x00, 0xDF, 0x00, 0x25, 0x00, 0x26, 0x00
|
|
.byte 0x24, 0x00, 0x75, 0x00, 0x76, 0x00, 0x74, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x0E, 0x00
|
|
.byte 0x0F, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, 0x01, 0x00, 0x12, 0x00, 0x13, 0x00, 0x01, 0x00
|
|
.byte 0x14, 0x00, 0x15, 0x00, 0x01, 0x00, 0x16, 0x00, 0x17, 0x00, 0x01, 0x00, 0x18, 0x00, 0x19, 0x00
|
|
.byte 0x01, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x1E, 0x00
|
|
.byte 0x1F, 0x00, 0x01, 0x00, 0x20, 0x00, 0x21, 0x00, 0x01, 0x00, 0x22, 0x00, 0x23, 0x00, 0x01, 0x00
|
|
.byte 0x27, 0x00, 0x28, 0x00, 0x01, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x01, 0x00, 0x5C, 0x00, 0x5D, 0x00
|
|
.byte 0x01, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x01, 0x00, 0x60, 0x00, 0x61, 0x00, 0x01, 0x00, 0x62, 0x00
|
|
.byte 0x63, 0x00, 0x01, 0x00, 0x64, 0x00, 0x65, 0x00, 0x01, 0x00, 0x66, 0x00, 0x67, 0x00, 0x01, 0x00
|
|
.byte 0x68, 0x00, 0x69, 0x00, 0x01, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x01, 0x00, 0x6C, 0x00, 0x6D, 0x00
|
|
.byte 0x01, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x01, 0x00, 0x70, 0x00, 0x71, 0x00, 0x01, 0x00, 0x72, 0x00
|
|
.byte 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x78, 0x00, 0x01, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x01, 0x00
|
|
.byte 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00
|
|
.byte 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x80, 0x00
|
|
.byte 0x81, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00
|
|
.byte 0x89, 0x00, 0x8A, 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x8D, 0x00, 0x8E, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA5FC
|
|
UNK_020FA5FC: ; 0x020FA5FC
|
|
.word FUN_020772E8, FUN_020774EC, FUN_02077894, 0xFFFFFFFF
|
|
|
|
.section .data
|
|
|
|
.global UNK_02106058
|
|
UNK_02106058: ; 0x02106058
|
|
.word UNK_020F9DAA
|
|
.word UNK_020F9DAA
|
|
.word UNK_020F9DAA
|
|
.word UNK_020F9DAA
|
|
.word UNK_020F9DC4
|
|
|
|
.global UNK_0210606C
|
|
UNK_0210606C: ; 0x0210606C
|
|
.word UNK_020F9E6C
|
|
.word UNK_020F9E88
|
|
.word UNK_020F9EA4
|
|
.word UNK_020F9E18
|
|
.word UNK_020F9E50
|
|
.word UNK_020F9EDC
|
|
.word UNK_020F9EF8
|
|
.word UNK_020FA048
|
|
.word UNK_020F9F4C
|
|
.word UNK_020FA010
|
|
.word UNK_020F9F84
|
|
.word UNK_020F9FBC
|
|
.word UNK_020F9FD8
|
|
.word UNK_020F9FF4
|
|
.word UNK_020FA02C
|
|
.word UNK_020F9F68
|
|
.word UNK_020F9DDE
|
|
.word UNK_020F9F30
|
|
.word UNK_020F9F14
|
|
.word UNK_020F9E34
|
|
.word UNK_020FA0C0
|
|
.word UNK_020FA0E4
|
|
.word UNK_020FA108
|
|
.word UNK_020FA108
|
|
.word UNK_020FA108
|
|
|
|
.section .bss
|
|
|
|
.global UNK_021C5C54
|
|
UNK_021C5C54: ; 0x021C5C54
|
|
.space 0x4
|
|
|
|
.text
|
|
|
|
thumb_func_start FUN_020772E8
|
|
FUN_020772E8: ; 0x020772E8
|
|
push {r3-r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0x0
|
|
ldr r1, [r5, #0x0]
|
|
add r6, r0, #0x0
|
|
cmp r1, #0x0
|
|
beq _020772FE
|
|
cmp r1, #0x1
|
|
bne _020772FC
|
|
b _02077456
|
|
_020772FC:
|
|
b _02077490
|
|
_020772FE:
|
|
mov r0, #0x0
|
|
add r1, r0, #0x0
|
|
bl FUN_02015F10
|
|
bl FUN_02015F1C
|
|
bl FUN_0201E6D8
|
|
bl FUN_0201E740
|
|
mov r2, #0x1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2, #0x0]
|
|
ldr r0, _02077498 ; =0xFFFFE0FF
|
|
and r1, r0
|
|
str r1, [r2, #0x0]
|
|
ldr r2, _0207749C ; =0x04001000
|
|
ldr r1, [r2, #0x0]
|
|
and r0, r1
|
|
str r0, [r2, #0x0]
|
|
mov r2, #0xa
|
|
mov r0, #0x3
|
|
mov r1, #0x12
|
|
lsl r2, r2, #0xe
|
|
bl FUN_0201681C
|
|
mov r1, #0x5d
|
|
add r0, r6, #0x0
|
|
lsl r1, r1, #0x4
|
|
mov r2, #0x12
|
|
bl FUN_02006268
|
|
mov r2, #0x5d
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x4
|
|
add r4, r0, #0x0
|
|
bl memset
|
|
mov r0, #0x12
|
|
bl FUN_02016B94
|
|
mov r1, #0x16
|
|
lsl r1, r1, #0x4
|
|
str r0, [r4, r1]
|
|
mov r0, #0x12
|
|
bl FUN_0200AA80
|
|
mov r2, #0x5a
|
|
lsl r2, r2, #0x2
|
|
str r0, [r4, r2]
|
|
mov r0, #0x0
|
|
mov r1, #0x1a
|
|
add r2, #0xb
|
|
mov r3, #0x12
|
|
bl NewMsgDataFromNarc
|
|
mov r2, #0x5b
|
|
lsl r2, r2, #0x2
|
|
str r0, [r4, r2]
|
|
mov r0, #0x1
|
|
mov r1, #0x1a
|
|
add r2, #0xc
|
|
mov r3, #0x12
|
|
bl NewMsgDataFromNarc
|
|
mov r2, #0x17
|
|
lsl r2, r2, #0x4
|
|
str r0, [r4, r2]
|
|
mov r0, #0x1
|
|
mov r1, #0x1a
|
|
sub r2, #0x2c
|
|
mov r3, #0x12
|
|
bl NewMsgDataFromNarc
|
|
mov r1, #0x5d
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x4
|
|
mov r1, #0x8
|
|
bl FUN_0201669C
|
|
bl FUN_02077B24
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02077B44
|
|
add r0, r6, #0x0
|
|
bl FUN_0200628C
|
|
add r1, r0, #0x0
|
|
add r0, r4, #0x0
|
|
bl FUN_02077B08
|
|
add r0, r4, #0x0
|
|
bl FUN_02077FE8
|
|
mov r0, #0x2
|
|
mov r1, #0x12
|
|
bl FUN_02002C50
|
|
ldr r0, _020774A0 ; =FUN_02077AE8
|
|
mov r1, #0x0
|
|
bl FUN_02015F10
|
|
add r0, r4, #0x0
|
|
add r1, r6, #0x0
|
|
bl FUN_02077CD4
|
|
mov r0, #0x0
|
|
mov r1, #0x12
|
|
bl FUN_02002C84
|
|
bl FUN_02078110
|
|
add r0, r4, #0x0
|
|
bl FUN_02078140
|
|
add r0, r4, #0x0
|
|
bl FUN_0207835C
|
|
add r0, r4, #0x0
|
|
add r1, r6, #0x0
|
|
bl FUN_0207890C
|
|
ldr r0, _020774A4 ; =0x000004C4
|
|
mov r3, #0x5f
|
|
add r1, r4, r0
|
|
lsl r3, r3, #0x2
|
|
str r1, [sp, #0x0]
|
|
ldr r1, [r4, r3]
|
|
add r2, r3, #0x0
|
|
str r1, [sp, #0x4]
|
|
sub r2, #0x24
|
|
sub r0, #0xcc
|
|
add r1, r4, #0x0
|
|
sub r3, #0x22
|
|
ldrh r2, [r4, r2]
|
|
add r0, r4, r0
|
|
add r1, #0xd8
|
|
add r3, r4, r3
|
|
bl FUN_0207907C
|
|
mov r1, #0x0
|
|
mov r0, #0x34
|
|
add r2, r1, #0x0
|
|
bl FUN_0200433C
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r1, #0x1
|
|
str r1, [sp, #0x4]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x0
|
|
add r2, r1, #0x0
|
|
add r3, r0, #0x0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0x1
|
|
bl FUN_02077C84
|
|
ldr r0, _020774A8 ; =gUnk021C4918
|
|
mov r1, #0x1
|
|
strb r1, [r0, #0x5]
|
|
bl FUN_0201E7A0
|
|
ldr r0, [r5, #0x0]
|
|
add r0, r0, #0x1
|
|
str r0, [r5, #0x0]
|
|
b _02077490
|
|
_02077456:
|
|
bl FUN_02006278
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x1
|
|
bne _02077472
|
|
ldr r1, _020774AC ; =0x000004B8
|
|
ldr r2, [r4, #0x4]
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x8
|
|
ldr r1, [r4, r1]
|
|
ldr r3, [r4, #0x8]
|
|
bl FUN_020774B8
|
|
_02077472:
|
|
ldr r0, _020774B0 ; =UNK_021C5C54
|
|
mov r1, #0x1
|
|
str r4, [r0, #0x0]
|
|
mov r0, #0x0
|
|
mov r2, #0xc
|
|
mov r3, #0x12
|
|
bl FUN_020142EC
|
|
ldr r1, _020774B4 ; =0x000005C4
|
|
add sp, #0xc
|
|
str r0, [r4, r1]
|
|
mov r0, #0x0
|
|
str r0, [r5, #0x0]
|
|
mov r0, #0x1
|
|
pop {r3-r6, pc}
|
|
_02077490:
|
|
mov r0, #0x0
|
|
add sp, #0xc
|
|
pop {r3-r6, pc}
|
|
nop
|
|
_02077498: .word 0xFFFFE0FF
|
|
_0207749C: .word 0x04001000
|
|
_020774A0: .word FUN_02077AE8
|
|
_020774A4: .word 0x000004C4
|
|
_020774A8: .word gUnk021C4918
|
|
_020774AC: .word 0x000004B8
|
|
_020774B0: .word UNK_021C5C54
|
|
_020774B4: .word 0x000005C4
|
|
|
|
thumb_func_start FUN_020774B8
|
|
FUN_020774B8: ; 0x020774B8
|
|
push {r4-r6, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r2, #0x0
|
|
mov r2, #0x2
|
|
ldr r0, [r0, #0x14]
|
|
ldr r1, _020774E8 ; =0x000057E0
|
|
add r6, r3, #0x0
|
|
lsl r2, r2, #0x8
|
|
bl GX_LoadOBJ
|
|
ldr r4, [r4, #0xc]
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
mov r2, #0x0
|
|
bl FUN_0206B7BC
|
|
lsl r0, r0, #0x5
|
|
add r0, r4, r0
|
|
mov r1, #0xc0
|
|
mov r2, #0x20
|
|
bl GX_LoadOBJPltt
|
|
pop {r4-r6, pc}
|
|
nop
|
|
_020774E8: .word 0x000057E0
|
|
|
|
thumb_func_start FUN_020774EC
|
|
FUN_020774EC: ; 0x020774EC
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0x0
|
|
add r6, r0, #0x0
|
|
bl FUN_02006278
|
|
ldr r1, [r5, #0x0]
|
|
add r4, r0, #0x0
|
|
cmp r1, #0x3
|
|
bhi _02077550
|
|
add r2, r1, r1
|
|
add r2, pc
|
|
ldrh r2, [r2, #0x6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0207750C: ; jump table (using 16-bit offset)
|
|
.short _02077514 - _0207750C - 2; case 0
|
|
.short _02077528 - _0207750C - 2; case 1
|
|
.short _0207755C - _0207750C - 2; case 2
|
|
.short _0207768A - _0207750C - 2; case 3
|
|
_02077514:
|
|
bl FUN_0200E308
|
|
cmp r0, #0x0
|
|
beq _02077550
|
|
mov r0, #0x1
|
|
str r0, [r5, #0x0]
|
|
ldr r0, _020776A8 ; =0x000005CC
|
|
mov r1, #0x0
|
|
str r1, [r4, r0]
|
|
b _02077698
|
|
_02077528:
|
|
ldr r1, _020776A8 ; =0x000005CC
|
|
ldr r2, [r4, r1]
|
|
add r2, r2, #0x1
|
|
str r2, [r4, r1]
|
|
bl FUN_020798C4
|
|
mov r2, #0x49
|
|
lsl r2, r2, #0x4
|
|
add r0, r4, r2
|
|
mov r1, #0xcb
|
|
sub r2, #0x30
|
|
lsl r1, r1, #0x2
|
|
ldr r2, [r4, r2]
|
|
add r1, r4, r1
|
|
bl FUN_02079834
|
|
ldr r0, _020776A8 ; =0x000005CC
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0x5
|
|
bgt _02077552
|
|
_02077550:
|
|
b _02077698
|
|
_02077552:
|
|
mov r1, #0x2
|
|
str r1, [r5, #0x0]
|
|
mov r1, #0x0
|
|
str r1, [r4, r0]
|
|
b _02077698
|
|
_0207755C:
|
|
ldr r3, _020776AC ; =0x0000045C
|
|
ldr r2, [r4, r3]
|
|
cmp r2, #0x7
|
|
bhi _02077636
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #0x6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_02077570: ; jump table (using 16-bit offset)
|
|
.short _02077636 - _02077570 - 2; case 0
|
|
.short _02077636 - _02077570 - 2; case 1
|
|
.short _02077636 - _02077570 - 2; case 2
|
|
.short _02077636 - _02077570 - 2; case 3
|
|
.short _02077580 - _02077570 - 2; case 4
|
|
.short _02077594 - _02077570 - 2; case 5
|
|
.short _020775E0 - _02077570 - 2; case 6
|
|
.short _0207760C - _02077570 - 2; case 7
|
|
_02077580:
|
|
ldr r2, [r4, #0x34]
|
|
cmp r2, #0x0
|
|
bne _0207758C
|
|
bl FUN_020776C4
|
|
str r0, [r5, #0x0]
|
|
_0207758C:
|
|
add r0, r4, #0x0
|
|
bl FUN_020798C4
|
|
b _02077636
|
|
_02077594:
|
|
add r1, r6, #0x0
|
|
bl FUN_02077E90
|
|
ldr r0, _020776B0 ; =0x00000448
|
|
mov r1, #0xf
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
ldr r0, _020776B0 ; =0x00000448
|
|
mov r2, #0x1
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x8
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0x0
|
|
mov r2, #0x6
|
|
ldr r0, _020776B0 ; =0x00000448
|
|
str r3, [sp, #0x0]
|
|
mov r1, #0x1
|
|
str r1, [sp, #0x4]
|
|
str r3, [sp, #0x8]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, r0
|
|
bl FUN_0201BD84
|
|
ldr r1, _020776B4 ; =0x00000458
|
|
str r0, [r4, r1]
|
|
sub r1, #0x10
|
|
add r0, r4, r1
|
|
bl FUN_020191D0
|
|
ldr r0, _020776AC ; =0x0000045C
|
|
mov r1, #0x6
|
|
str r1, [r4, r0]
|
|
b _02077636
|
|
_020775E0:
|
|
sub r0, r3, #0x4
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0x0
|
|
bne _02077636
|
|
ldr r0, _020776B8 ; =0x000005E2
|
|
bl FUN_020054C8
|
|
ldr r1, _020776BC ; =0x000004A8
|
|
mov r2, #0x0
|
|
ldr r0, [r4, r1]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, r1]
|
|
ldr r0, _020776A8 ; =0x000005CC
|
|
sub r1, #0x4c
|
|
str r2, [r4, r0]
|
|
mov r0, #0x7
|
|
str r0, [r4, r1]
|
|
b _02077636
|
|
_0207760C:
|
|
ldr r0, _020776A8 ; =0x000005CC
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #0x1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0x1e
|
|
ble _02077636
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r1, #0x0
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x2
|
|
add r2, r1, #0x0
|
|
add r3, r1, #0x0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0x3
|
|
str r0, [r5, #0x0]
|
|
_02077636:
|
|
ldr r3, _020776C0 ; =0x00000464
|
|
mov r1, #0xcb
|
|
add r0, r4, r3
|
|
str r0, [sp, #0x0]
|
|
add r0, r3, #0x4
|
|
add r0, r4, r0
|
|
lsl r1, r1, #0x2
|
|
str r0, [sp, #0x4]
|
|
add r0, r4, r1
|
|
str r0, [sp, #0x8]
|
|
add r0, r3, #0x0
|
|
add r0, #0x4c
|
|
ldr r0, [r4, r0]
|
|
add r2, r3, #0x0
|
|
ldr r0, [r0, #0x14]
|
|
add r1, #0x8c
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
sub r3, r3, #0x4
|
|
sub r2, #0x8
|
|
ldr r0, [r4, r0]
|
|
ldr r3, [r4, r3]
|
|
add r1, r4, r1
|
|
add r2, r4, r2
|
|
bl FUN_020786B0
|
|
mov r2, #0x49
|
|
lsl r2, r2, #0x4
|
|
add r0, r4, r2
|
|
mov r1, #0xcb
|
|
sub r2, #0x30
|
|
lsl r1, r1, #0x2
|
|
ldr r2, [r4, r2]
|
|
add r1, r4, r1
|
|
bl FUN_02079834
|
|
add r0, r4, #0x0
|
|
add r0, #0x38
|
|
bl FUN_02078E3C
|
|
b _02077698
|
|
_0207768A:
|
|
bl FUN_0200E308
|
|
cmp r0, #0x0
|
|
beq _02077698
|
|
add sp, #0x10
|
|
mov r0, #0x1
|
|
pop {r4-r6, pc}
|
|
_02077698:
|
|
mov r0, #0x62
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FDEC
|
|
mov r0, #0x0
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_020776A8: .word 0x000005CC
|
|
_020776AC: .word 0x0000045C
|
|
_020776B0: .word 0x00000448
|
|
_020776B4: .word 0x00000458
|
|
_020776B8: .word 0x000005E2
|
|
_020776BC: .word 0x000004A8
|
|
_020776C0: .word 0x00000464
|
|
|
|
thumb_func_start FUN_020776C4
|
|
FUN_020776C4: ; 0x020776C4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl FUN_02078C98
|
|
ldr r0, _020777BC ; =gUnknown21C48B8
|
|
mov r1, #0x4
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
beq _02077746
|
|
ldr r0, [r5, #0x0]
|
|
cmp r0, #0x4
|
|
beq _0207771E
|
|
ldr r1, _020777C0 ; =0x0000045C
|
|
mov r0, #0x0
|
|
str r0, [r5, r1]
|
|
add r2, r1, #0x4
|
|
ldr r2, [r5, r2]
|
|
add r3, r2, #0x1
|
|
add r2, r1, #0x4
|
|
str r3, [r5, r2]
|
|
ldr r2, [r5, r2]
|
|
cmp r2, #0x3
|
|
blt _020776F8
|
|
add r1, r1, #0x4
|
|
str r0, [r5, r1]
|
|
_020776F8:
|
|
mov r2, #0x49
|
|
lsl r2, r2, #0x4
|
|
add r1, r2, #0x0
|
|
sub r1, #0x30
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, r2
|
|
lsl r3, r1, #0x2
|
|
ldr r1, [r0, r3]
|
|
sub r2, #0x30
|
|
add r1, r1, #0x1
|
|
str r1, [r0, r3]
|
|
add r0, r5, #0x0
|
|
ldr r1, [r5, r2]
|
|
add r0, #0x3a
|
|
bl FUN_0207916C
|
|
ldr r0, _020777C4 ; =0x0000069E
|
|
bl FUN_020054C8
|
|
_0207771E:
|
|
mov r2, #0x49
|
|
lsl r2, r2, #0x4
|
|
add r1, r2, #0x0
|
|
sub r1, #0x30
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, r2
|
|
lsl r3, r1, #0x2
|
|
ldr r1, [r0, r3]
|
|
sub r2, #0x30
|
|
add r1, r1, #0x1
|
|
str r1, [r0, r3]
|
|
add r0, r5, #0x0
|
|
ldr r1, [r5, r2]
|
|
add r0, #0x3a
|
|
bl FUN_0207916C
|
|
ldr r0, _020777C4 ; =0x0000069E
|
|
bl FUN_020054C8
|
|
b _020777B8
|
|
_02077746:
|
|
mov r2, #0x1
|
|
add r1, r0, #0x0
|
|
tst r1, r2
|
|
beq _0207776C
|
|
ldr r3, [r5, #0x20]
|
|
mov r1, #0x1a
|
|
mul r1, r3
|
|
add r3, r5, r1
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r5, #0x0
|
|
lsl r1, r1, #0x1
|
|
add r1, r3, r1
|
|
ldrh r1, [r1, #0x3a]
|
|
bl FUN_020791C0
|
|
add r4, r0, #0x0
|
|
mov r0, #0x1
|
|
str r0, [r5, #0x30]
|
|
b _020777B8
|
|
_0207776C:
|
|
ldr r1, _020777C8 ; =0x000005C8
|
|
ldr r1, [r5, r1]
|
|
cmp r1, #0x1
|
|
bne _02077794
|
|
ldr r2, [r5, #0x20]
|
|
mov r1, #0x1a
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r5, #0x0
|
|
lsl r1, r1, #0x1
|
|
add r1, r2, r1
|
|
ldrh r1, [r1, #0x3a]
|
|
mov r2, #0x0
|
|
bl FUN_020791C0
|
|
add r4, r0, #0x0
|
|
mov r0, #0x0
|
|
str r0, [r5, #0x30]
|
|
b _020777B8
|
|
_02077794:
|
|
mov r1, #0x2
|
|
add r3, r0, #0x0
|
|
tst r3, r1
|
|
beq _020777A8
|
|
ldr r1, _020777CC ; =0x0000E007
|
|
add r0, r5, #0x0
|
|
bl FUN_020791C0
|
|
add r4, r0, #0x0
|
|
b _020777B8
|
|
_020777A8:
|
|
add r1, #0xfe
|
|
tst r0, r1
|
|
beq _020777B8
|
|
ldr r1, _020777D0 ; =0x0000E006
|
|
add r0, r5, #0x0
|
|
bl FUN_020791C0
|
|
add r4, r0, #0x0
|
|
_020777B8:
|
|
add r0, r4, #0x0
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_020777BC: .word gUnknown21C48B8
|
|
_020777C0: .word 0x0000045C
|
|
_020777C4: .word 0x0000069E
|
|
_020777C8: .word 0x000005C8
|
|
_020777CC: .word 0x0000E007
|
|
_020777D0: .word 0x0000E006
|
|
|
|
thumb_func_start FUN_020777D4
|
|
FUN_020777D4: ; 0x020777D4
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, [r5, #0x0]
|
|
add r4, r1, #0x0
|
|
cmp r0, #0x0
|
|
bne _02077836
|
|
ldr r0, [r5, #0x4]
|
|
cmp r0, #0x0
|
|
bne _020777FE
|
|
bl LCRandom
|
|
mov r1, #0x12
|
|
bl _s32_div_f
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
.ifdef PEARL
|
|
add r1, #0x2c
|
|
.endif
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0x0
|
|
b _0207781A
|
|
_020777FE:
|
|
cmp r0, #0x1
|
|
bne _0207781A
|
|
bl LCRandom
|
|
mov r1, #0x12
|
|
bl _s32_div_f
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
add r1, #0x12
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0x0
|
|
_0207781A:
|
|
ldr r0, [r4, #0x18]
|
|
add r1, r6, #0x0
|
|
bl StringCopy
|
|
add r0, r6, #0x0
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x18]
|
|
add r4, #0x1c
|
|
add r1, r4, #0x0
|
|
mov r2, #0xa
|
|
bl FUN_02021EF0
|
|
pop {r4-r6, pc}
|
|
_02077836:
|
|
cmp r0, #0x3
|
|
bne _02077864
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
.ifdef DIAMOND
|
|
mov r1, #0x58
|
|
.else
|
|
mov r1, #0x59
|
|
.endif
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
ldr r0, [r4, #0x18]
|
|
add r1, r5, #0x0
|
|
bl StringCopy
|
|
add r0, r5, #0x0
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x18]
|
|
add r4, #0x1c
|
|
add r1, r4, #0x0
|
|
mov r2, #0xa
|
|
bl FUN_02021EF0
|
|
pop {r4-r6, pc}
|
|
_02077864:
|
|
mov r0, #0x1
|
|
str r0, [r4, #0x14]
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start FUN_0207786C
|
|
FUN_0207786C: ; 0x0207786C
|
|
push {r4-r5}
|
|
ldr r1, _0207788C ; =0x000001DE
|
|
ldr r2, _02077890 ; =0x0000FFFF
|
|
mov r5, #0x1
|
|
mov r3, #0x0
|
|
_02077876:
|
|
ldrh r4, [r0, #0x0]
|
|
cmp r4, r2
|
|
beq _02077886
|
|
cmp r4, r1
|
|
beq _02077882
|
|
add r5, r3, #0x0
|
|
_02077882:
|
|
add r0, r0, #0x2
|
|
b _02077876
|
|
_02077886:
|
|
add r0, r5, #0x0
|
|
pop {r4-r5}
|
|
bx lr
|
|
.balign 4
|
|
_0207788C: .word 0x000001DE
|
|
_02077890: .word 0x0000FFFF
|
|
|
|
thumb_func_start FUN_02077894
|
|
FUN_02077894: ; 0x02077894
|
|
push {r4-r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp, #0x10]
|
|
bl FUN_02006278
|
|
add r4, r0, #0x0
|
|
ldr r0, [sp, #0x10]
|
|
bl FUN_0200628C
|
|
add r5, r0, #0x0
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldrh r0, [r4, r0]
|
|
ldr r1, _02077A6C ; =0x0000FFFF
|
|
lsl r0, r0, #0x1
|
|
add r0, r4, r0
|
|
add r0, #0xd8
|
|
strh r1, [r0, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x1
|
|
bne _020778DE
|
|
mov r0, #0x12
|
|
bl AllocMonZeroed
|
|
mov r3, #0xa
|
|
str r3, [sp, #0x0]
|
|
str r3, [sp, #0x4]
|
|
str r3, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
ldr r1, [r4, #0x4]
|
|
add r6, r0, #0x0
|
|
mov r2, #0x5
|
|
bl CreateMon
|
|
add r0, r6, #0x0
|
|
bl FreeToHeap
|
|
_020778DE:
|
|
mov r1, #0x56
|
|
lsl r1, r1, #0x2
|
|
ldrh r0, [r4, r1]
|
|
cmp r0, #0x0
|
|
beq _02077904
|
|
add r0, r4, #0x0
|
|
sub r1, #0x40
|
|
add r0, #0xd8
|
|
add r1, r4, r1
|
|
bl StringNotEqual
|
|
cmp r0, #0x0
|
|
beq _02077904
|
|
add r0, r4, #0x0
|
|
add r0, #0xd8
|
|
bl FUN_0207786C
|
|
cmp r0, #0x0
|
|
beq _0207790E
|
|
_02077904:
|
|
add r0, r4, #0x0
|
|
add r1, r5, #0x0
|
|
bl FUN_020777D4
|
|
b _02077932
|
|
_0207790E:
|
|
mov r0, #0x46
|
|
lsl r0, r0, #0x2
|
|
add r1, r4, #0x0
|
|
add r0, r4, r0
|
|
add r1, #0xd8
|
|
bl CopyU16StringArray
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
add r0, #0x1c
|
|
add r1, #0xd8
|
|
bl CopyU16StringArray
|
|
add r1, r4, #0x0
|
|
ldr r0, [r5, #0x18]
|
|
add r1, #0xd8
|
|
bl FUN_02021E28
|
|
_02077932:
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl String_dtor
|
|
mov r7, #0xe7
|
|
mov r6, #0x0
|
|
add r5, r4, #0x0
|
|
lsl r7, r7, #0x2
|
|
_02077944:
|
|
ldr r0, [r5, r7]
|
|
bl FUN_0200621C
|
|
add r6, r6, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r6, #0x7
|
|
blt _02077944
|
|
mov r0, #0xb1
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02009C0C
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02009C0C
|
|
mov r0, #0xb2
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02009E04
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02009E04
|
|
mov r7, #0xad
|
|
mov r6, #0x0
|
|
add r5, r4, #0x0
|
|
lsl r7, r7, #0x2
|
|
_02077982:
|
|
ldr r0, [r5, r7]
|
|
bl FUN_02008E2C
|
|
add r6, r6, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r6, #0x4
|
|
blt _02077982
|
|
mov r0, #0x62
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FD58
|
|
bl FUN_02009FA0
|
|
ldr r1, _02077A70 ; =0x000004AC
|
|
mov r0, #0x12
|
|
ldr r1, [r4, r1]
|
|
bl FUN_02016A8C
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x1
|
|
bne _020779C2
|
|
ldr r1, _02077A74 ; =0x000004B4
|
|
mov r0, #0x12
|
|
ldr r1, [r4, r1]
|
|
bl FUN_02016A8C
|
|
ldr r1, _02077A78 ; =0x000004BC
|
|
mov r0, #0x12
|
|
ldr r1, [r4, r1]
|
|
bl FUN_02016A8C
|
|
_020779C2:
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x7
|
|
bl FUN_020178A0
|
|
bl FUN_0201D12C
|
|
bl FUN_0201E08C
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
mov r1, #0xee
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r1, r4, r1
|
|
bl FUN_02077FA8
|
|
mov r0, #0x0
|
|
bl FUN_02002CC0
|
|
mov r2, #0x1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2, #0x0]
|
|
ldr r0, _02077A7C ; =0xFFFF1FFF
|
|
and r0, r1
|
|
str r0, [r2, #0x0]
|
|
mov r0, #0x2
|
|
bl FUN_02002CF8
|
|
mov r0, #0x6
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0x0
|
|
beq _02077A0C
|
|
bl String_dtor
|
|
_02077A0C:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl String_dtor
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl String_dtor
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200AB18
|
|
ldr r0, [sp, #0x10]
|
|
bl FUN_0200627C
|
|
mov r0, #0x0
|
|
add r1, r0, #0x0
|
|
bl FUN_02015F10
|
|
mov r0, #0x12
|
|
bl FUN_020168D0
|
|
ldr r0, _02077A80 ; =gUnk021C4918
|
|
mov r1, #0x0
|
|
strb r1, [r0, #0x5]
|
|
bl FUN_0201E7A0
|
|
mov r0, #0x1
|
|
add sp, #0x14
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02077A6C: .word 0x0000FFFF
|
|
_02077A70: .word 0x000004AC
|
|
_02077A74: .word 0x000004B4
|
|
_02077A78: .word 0x000004BC
|
|
_02077A7C: .word 0xFFFF1FFF
|
|
_02077A80: .word gUnk021C4918
|
|
|
|
thumb_func_start FUN_02077A84
|
|
FUN_02077A84: ; 0x02077A84
|
|
push {r3-r7, lr}
|
|
add r6, r1, #0x0
|
|
mov r1, #0x50
|
|
str r0, [sp, #0x0]
|
|
add r7, r2, #0x0
|
|
add r5, r3, #0x0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0x0
|
|
str r6, [r4, #0x0]
|
|
str r7, [r4, #0x4]
|
|
str r5, [r4, #0xc]
|
|
mov r0, #0x0
|
|
str r0, [r4, #0x14]
|
|
ldr r0, _02077AC0 ; =0x0000FFFF
|
|
ldr r1, [sp, #0x0]
|
|
strh r0, [r4, #0x1c]
|
|
add r0, r5, #0x1
|
|
bl String_ctor
|
|
str r0, [r4, #0x18]
|
|
mov r1, #0x0
|
|
str r1, [r4, #0x44]
|
|
str r1, [r4, #0x48]
|
|
ldr r0, [sp, #0x18]
|
|
str r1, [r4, #0x10]
|
|
str r0, [r4, #0x4c]
|
|
str r1, [r4, #0x8]
|
|
add r0, r4, #0x0
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_02077AC0: .word 0x0000FFFF
|
|
|
|
thumb_func_start FUN_02077AC4
|
|
FUN_02077AC4: ; 0x02077AC4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0x0
|
|
bne _02077AD2
|
|
bl ErrorHandling
|
|
_02077AD2:
|
|
cmp r4, #0x0
|
|
bne _02077ADA
|
|
bl ErrorHandling
|
|
_02077ADA:
|
|
ldr r0, [r4, #0x18]
|
|
bl String_dtor
|
|
add r0, r4, #0x0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start FUN_02077AE8
|
|
FUN_02077AE8: ; 0x02077AE8
|
|
push {r3, lr}
|
|
bl FUN_0201C30C
|
|
bl FUN_02009F80
|
|
ldr r3, _02077B00 ; =0x027E0000
|
|
ldr r1, _02077B04 ; =0x00003FF8
|
|
mov r0, #0x1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r3, pc}
|
|
.balign 4
|
|
_02077B00: .word 0x027E0000
|
|
_02077B04: .word 0x00003FF8
|
|
|
|
thumb_func_start FUN_02077B08
|
|
FUN_02077B08: ; 0x02077B08
|
|
ldr r2, [r1, #0x0]
|
|
str r2, [r0, #0x0]
|
|
ldr r2, [r1, #0x4]
|
|
str r2, [r0, #0x4]
|
|
ldr r2, [r1, #0x8]
|
|
str r2, [r0, #0x8]
|
|
ldr r2, [r1, #0xc]
|
|
str r2, [r0, #0xc]
|
|
ldr r2, [r1, #0x10]
|
|
str r2, [r0, #0x10]
|
|
ldr r1, [r1, #0x4c]
|
|
str r1, [r0, #0x18]
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start FUN_02077B24
|
|
FUN_02077B24: ; 0x02077B24
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _02077B40 ; =UNK_020FA12C
|
|
add r3, sp, #0x0
|
|
mov r2, #0x5
|
|
_02077B2E:
|
|
ldmia r4!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
sub r2, r2, #0x1
|
|
bne _02077B2E
|
|
add r0, sp, #0x0
|
|
bl FUN_0201E66C
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02077B40: .word UNK_020FA12C
|
|
|
|
thumb_func_start FUN_02077B44
|
|
FUN_02077B44: ; 0x02077B44
|
|
push {r3-r5, lr}
|
|
sub sp, #0x80
|
|
ldr r5, _02077C68 ; =UNK_020F9D4C
|
|
add r3, sp, #0x70
|
|
add r4, r0, #0x0
|
|
add r2, r3, #0x0
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
add r0, r2, #0x0
|
|
bl FUN_02016BBC
|
|
ldr r5, _02077C6C ; =UNK_020F9EC0
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x0
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
add r3, r1, #0x0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl FUN_02018744
|
|
ldr r5, _02077C70 ; =UNK_020F9FA0
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x1
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl FUN_02018744
|
|
ldr r5, _02077C74 ; =UNK_020FA064
|
|
add r3, sp, #0x1c
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl FUN_02018744
|
|
ldr r5, _02077C78 ; =UNK_020F9DFC
|
|
add r3, sp, #0x0
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x4
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
bl FUN_02018744
|
|
mov r0, #0x0
|
|
bl FUN_02077C84
|
|
mov r0, #0x0
|
|
mov r1, #0x20
|
|
add r2, r0, #0x0
|
|
mov r3, #0x12
|
|
bl FUN_02017F18
|
|
mov r0, #0x4
|
|
mov r1, #0x20
|
|
mov r2, #0x0
|
|
mov r3, #0x12
|
|
bl FUN_02017F18
|
|
mov r0, #0x1
|
|
lsl r0, r0, #0x1a
|
|
add r4, r0, #0x0
|
|
ldr r2, [r0, #0x0]
|
|
ldr r1, _02077C7C ; =0xFFFF1FFF
|
|
add r4, #0x48
|
|
and r2, r1
|
|
lsr r1, r0, #0xd
|
|
orr r1, r2
|
|
str r1, [r0, #0x0]
|
|
ldrh r3, [r4, #0x0]
|
|
mov r2, #0x3f
|
|
mov r1, #0x14
|
|
bic r3, r2
|
|
orr r1, r3
|
|
mov r3, #0x20
|
|
orr r1, r3
|
|
strh r1, [r4, #0x0]
|
|
add r4, r0, #0x0
|
|
add r4, #0x4a
|
|
ldrh r5, [r4, #0x0]
|
|
mov r1, #0x1f
|
|
bic r5, r2
|
|
orr r1, r5
|
|
orr r1, r3
|
|
strh r1, [r4, #0x0]
|
|
add r1, r0, #0x0
|
|
mov r2, #0xff
|
|
add r1, #0x40
|
|
strh r2, [r1, #0x0]
|
|
mov r1, #0x40
|
|
add r0, #0x44
|
|
strh r1, [r0, #0x0]
|
|
ldr r0, _02077C80 ; =0x04001050
|
|
mov r1, #0x0
|
|
strh r1, [r0, #0x0]
|
|
add sp, #0x80
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02077C68: .word UNK_020F9D4C
|
|
_02077C6C: .word UNK_020F9EC0
|
|
_02077C70: .word UNK_020F9FA0
|
|
_02077C74: .word UNK_020FA064
|
|
_02077C78: .word UNK_020F9DFC
|
|
_02077C7C: .word 0xFFFF1FFF
|
|
_02077C80: .word 0x04001050
|
|
|
|
thumb_func_start FUN_02077C84
|
|
FUN_02077C84: ; 0x02077C84
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
lsl r1, r4, #0x18
|
|
mov r0, #0x1
|
|
lsr r1, r1, #0x18
|
|
bl FUN_0201E6E4
|
|
lsl r1, r4, #0x18
|
|
mov r0, #0x2
|
|
lsr r1, r1, #0x18
|
|
bl FUN_0201E6E4
|
|
lsl r1, r4, #0x18
|
|
mov r0, #0x4
|
|
lsr r1, r1, #0x18
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x8
|
|
mov r1, #0x0
|
|
bl FUN_0201E6E4
|
|
lsl r1, r4, #0x18
|
|
mov r0, #0x10
|
|
lsr r1, r1, #0x18
|
|
bl FUN_0201E6E4
|
|
lsl r1, r4, #0x18
|
|
mov r0, #0x1
|
|
lsr r1, r1, #0x18
|
|
bl FUN_0201E74C
|
|
mov r0, #0x2
|
|
mov r1, #0x0
|
|
bl FUN_0201E74C
|
|
mov r0, #0x10
|
|
mov r1, #0x0
|
|
bl FUN_0201E74C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start FUN_02077CD4
|
|
FUN_02077CD4: ; 0x02077CD4
|
|
push {r3-r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
add r0, r1, #0x0
|
|
bl FUN_0200628C
|
|
add r7, r0, #0x0
|
|
ldr r0, _02077E7C ; =0x0000045C
|
|
mov r1, #0x4
|
|
str r1, [r4, r0]
|
|
add r0, #0xc
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
bl FUN_02078BA8
|
|
ldr r6, _02077E80 ; =0x00000464
|
|
mov r0, #0x16
|
|
ldr r3, [r4, r6]
|
|
mov r5, #0xc
|
|
lsl r0, r0, #0x4
|
|
lsl r1, r3, #0x18
|
|
mul r5, r3
|
|
add r3, r4, r5
|
|
add r5, r6, #0x4
|
|
ldr r0, [r4, r0]
|
|
ldr r3, [r3, r5]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x0
|
|
bl FUN_020179E0
|
|
ldr r3, [r4, r6]
|
|
mov r5, #0xc
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
lsl r1, r3, #0x18
|
|
mul r5, r3
|
|
add r3, r4, r5
|
|
add r6, #0x8
|
|
ldr r0, [r4, r0]
|
|
ldr r3, [r3, r6]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x3
|
|
bl FUN_020179E0
|
|
ldr r6, _02077E80 ; =0x00000464
|
|
mov r0, #0x1
|
|
ldr r1, [r4, r6]
|
|
mov r5, #0xc
|
|
add r3, r1, #0x0
|
|
eor r3, r0
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
lsl r1, r3, #0x18
|
|
mul r5, r3
|
|
add r3, r4, r5
|
|
add r5, r6, #0x4
|
|
ldr r0, [r4, r0]
|
|
ldr r3, [r3, r5]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x0
|
|
bl FUN_020179E0
|
|
ldr r1, [r4, r6]
|
|
mov r0, #0x1
|
|
add r3, r1, #0x0
|
|
eor r3, r0
|
|
mov r5, #0xc
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
lsl r1, r3, #0x18
|
|
mul r5, r3
|
|
add r3, r4, r5
|
|
add r6, #0x8
|
|
ldr r0, [r4, r0]
|
|
ldr r3, [r3, r6]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x3
|
|
bl FUN_020179E0
|
|
mov r1, #0x46
|
|
ldr r0, _02077E84 ; =0x0000FFFF
|
|
lsl r1, r1, #0x2
|
|
strh r0, [r4, r1]
|
|
ldr r0, [r7, #0x18]
|
|
cmp r0, #0x0
|
|
beq _02077D88
|
|
add r1, r4, r1
|
|
mov r2, #0x20
|
|
bl FUN_02021EF0
|
|
_02077D88:
|
|
add r1, r4, #0x0
|
|
mov r0, #0x1
|
|
add r1, #0xd8
|
|
mov r2, #0x40
|
|
bl MIi_CpuClear16
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x1
|
|
bne _02077DCE
|
|
mov r0, #0x12
|
|
bl AllocMonZeroed
|
|
mov r3, #0xa
|
|
str r3, [sp, #0x0]
|
|
str r3, [sp, #0x4]
|
|
str r3, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
ldr r1, [r4, #0x4]
|
|
add r5, r0, #0x0
|
|
mov r2, #0x5
|
|
bl CreateMon
|
|
add r0, r5, #0x0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FUN_0200AC60
|
|
add r0, r5, #0x0
|
|
bl FreeToHeap
|
|
_02077DCE:
|
|
ldr r0, [r7, #0x44]
|
|
cmp r0, #0x0
|
|
beq _02077DD8
|
|
mov r0, #0x1
|
|
str r0, [r4, #0x14]
|
|
_02077DD8:
|
|
ldr r2, [r4, #0x0]
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #0x2
|
|
lsl r3, r2, #0x2
|
|
ldr r2, _02077E88 ; =UNK_020FA0A0
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, [r2, r3]
|
|
ldr r1, [r4, r1]
|
|
mov r3, #0x12
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
mov r1, #0x5e
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0x0
|
|
sub r0, #0x10
|
|
sub r1, #0xc
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x8
|
|
mov r3, #0x12
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x10
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x7
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x61
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
sub r1, #0x6c
|
|
add r0, r4, r1
|
|
bl StringLength
|
|
mov r1, #0x56
|
|
lsl r1, r1, #0x2
|
|
strh r0, [r4, r1]
|
|
mov r0, #0x0
|
|
str r0, [r4, #0x1c]
|
|
mov r1, #0x1
|
|
str r1, [r4, #0x20]
|
|
sub r1, r1, #0x2
|
|
str r1, [r4, #0x24]
|
|
str r1, [r4, #0x28]
|
|
str r0, [r4, #0x30]
|
|
ldr r2, _02077E8C ; =0x00000484
|
|
str r0, [r4, #0x34]
|
|
str r1, [r4, r2]
|
|
add r1, r2, #0x4
|
|
str r0, [r4, r1]
|
|
add r2, #0x8
|
|
str r0, [r4, r2]
|
|
ldr r1, [r4, #0xc]
|
|
ldr r2, _02077E84 ; =0x0000FFFF
|
|
lsl r1, r1, #0x1
|
|
add r1, r4, r1
|
|
add r1, #0xd8
|
|
strh r2, [r1, #0x0]
|
|
mov r1, #0x49
|
|
add r3, r4, #0x0
|
|
add r2, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
_02077E5E:
|
|
add r0, r0, #0x1
|
|
str r2, [r3, r1]
|
|
add r3, r3, #0x4
|
|
cmp r0, #0x7
|
|
blt _02077E5E
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x4
|
|
beq _02077E76
|
|
mov r0, #0x49
|
|
mov r1, #0x1
|
|
lsl r0, r0, #0x4
|
|
str r1, [r4, r0]
|
|
_02077E76:
|
|
add sp, #0x10
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_02077E7C: .word 0x0000045C
|
|
_02077E80: .word 0x00000464
|
|
_02077E84: .word 0x0000FFFF
|
|
_02077E88: .word UNK_020FA0A0
|
|
_02077E8C: .word 0x00000484
|
|
|
|
thumb_func_start FUN_02077E90
|
|
FUN_02077E90: ; 0x02077E90
|
|
push {r4-r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0x0
|
|
add r0, r1, #0x0
|
|
bl FUN_0200628C
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x44]
|
|
cmp r0, #0x0
|
|
beq _02077FA0
|
|
mov r0, #0xc8
|
|
mov r1, #0x12
|
|
bl String_ctor
|
|
add r7, r0, #0x0
|
|
mov r0, #0x6
|
|
mov r1, #0x0
|
|
lsl r0, r0, #0x6
|
|
str r1, [r5, r0]
|
|
ldr r0, [r4, #0x48]
|
|
bl FUN_0206B330
|
|
add r6, r0, #0x0
|
|
ldr r0, [r4, #0x48]
|
|
bl FUN_0206B334
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r4, #0x48]
|
|
mov r1, #0x1
|
|
add r3, r6, #0x0
|
|
bl FUN_0200B410
|
|
ldr r0, [sp, #0x10]
|
|
cmp r6, r0
|
|
beq _02077EF4
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r4, #0x48]
|
|
ldr r3, [sp, #0x10]
|
|
mov r1, #0x2
|
|
bl FUN_0200B410
|
|
ldr r0, [r4, #0x44]
|
|
add r0, r0, #0x2
|
|
str r0, [r4, #0x44]
|
|
b _02077F04
|
|
_02077EF4:
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r4, #0x48]
|
|
mov r1, #0x2
|
|
add r3, r6, #0x0
|
|
bl FUN_0200B410
|
|
_02077F04:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0x0
|
|
beq _02077F1A
|
|
add r0, r5, #0x0
|
|
add r0, #0xd8
|
|
bl FUN_0207786C
|
|
cmp r0, #0x0
|
|
beq _02077F50
|
|
_02077F1A:
|
|
mov r0, #0x12
|
|
bl AllocMonZeroed
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
str r3, [sp, #0x4]
|
|
str r3, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
ldr r1, [r5, #0x4]
|
|
add r6, r0, #0x0
|
|
mov r2, #0x1
|
|
bl CreateMon
|
|
add r0, r6, #0x0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl FUN_0200AC60
|
|
add r0, r6, #0x0
|
|
bl FreeToHeap
|
|
b _02077F7E
|
|
_02077F50:
|
|
mov r1, #0x56
|
|
lsl r1, r1, #0x2
|
|
ldrh r1, [r5, r1]
|
|
ldr r0, _02077FA4 ; =0x0000FFFF
|
|
lsl r1, r1, #0x1
|
|
add r1, r5, r1
|
|
add r1, #0xd8
|
|
strh r0, [r1, #0x0]
|
|
add r1, r5, #0x0
|
|
add r0, r7, #0x0
|
|
add r1, #0xd8
|
|
bl FUN_02021E28
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0x5a
|
|
str r1, [sp, #0x4]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r2, r7, #0x0
|
|
add r3, r1, #0x0
|
|
bl FUN_0200ABB4
|
|
_02077F7E:
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r5, r1]
|
|
add r1, #0xc
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r4, #0x44]
|
|
mov r3, #0x12
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
mov r1, #0x6
|
|
lsl r1, r1, #0x6
|
|
str r0, [r5, r1]
|
|
mov r0, #0x1
|
|
str r0, [r5, #0x14]
|
|
add r0, r7, #0x0
|
|
bl String_dtor
|
|
_02077FA0:
|
|
add sp, #0x14
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02077FA4: .word 0x0000FFFF
|
|
|
|
thumb_func_start FUN_02077FA8
|
|
FUN_02077FA8: ; 0x02077FA8
|
|
push {r4-r6, lr}
|
|
add r6, r0, #0x0
|
|
add r5, r1, #0x0
|
|
mov r4, #0x0
|
|
_02077FB0:
|
|
add r0, r5, #0x0
|
|
bl FUN_02019178
|
|
add r4, r4, #0x1
|
|
add r5, #0x10
|
|
cmp r4, #0xa
|
|
blt _02077FB0
|
|
add r0, r6, #0x0
|
|
mov r1, #0x4
|
|
bl FUN_020178A0
|
|
add r0, r6, #0x0
|
|
mov r1, #0x2
|
|
bl FUN_020178A0
|
|
add r0, r6, #0x0
|
|
mov r1, #0x1
|
|
bl FUN_020178A0
|
|
add r0, r6, #0x0
|
|
mov r1, #0x0
|
|
bl FUN_020178A0
|
|
mov r0, #0x12
|
|
add r1, r6, #0x0
|
|
bl FUN_02016A8C
|
|
pop {r4-r6, pc}
|
|
|
|
thumb_func_start FUN_02077FE8
|
|
FUN_02077FE8: ; 0x02077FE8
|
|
push {r3-r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
ldr r4, [r5, r0]
|
|
mov r1, #0x0
|
|
mov r0, #0x60
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x1f
|
|
add r2, r1, #0x0
|
|
add r3, r1, #0x0
|
|
bl FUN_02006930
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0xc
|
|
add r1, r0, #0x0
|
|
mov r2, #0x4
|
|
mov r3, #0x0
|
|
bl FUN_02006930
|
|
mov r0, #0x4
|
|
mov r1, #0x0
|
|
bl FUN_02017FE4
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x12
|
|
mov r1, #0x2
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x1f
|
|
add r2, r4, #0x0
|
|
add r3, r1, #0x0
|
|
bl FUN_0200687C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x6
|
|
lsl r0, r0, #0x8
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x1f
|
|
mov r1, #0x4
|
|
add r2, r4, #0x0
|
|
mov r3, #0x2
|
|
bl FUN_020068C8
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
mov r3, #0x1
|
|
str r3, [sp, #0x8]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x1f
|
|
mov r1, #0x2
|
|
add r2, r4, #0x0
|
|
bl FUN_0200687C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0x6
|
|
str r0, [sp, #0x4]
|
|
mov r3, #0x1
|
|
str r3, [sp, #0x8]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x1f
|
|
mov r1, #0x6
|
|
add r2, r4, #0x0
|
|
bl FUN_020068C8
|
|
mov r3, #0x0
|
|
mov r0, #0xe
|
|
str r3, [sp, #0x0]
|
|
lsl r0, r0, #0x6
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x1f
|
|
mov r1, #0x7
|
|
add r2, r4, #0x0
|
|
bl FUN_020068C8
|
|
mov r1, #0x6
|
|
mov r0, #0x0
|
|
lsl r1, r1, #0x6
|
|
mov r2, #0x12
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5, #0x18]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
mov r1, #0x4
|
|
add r2, r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r2, #0xfc
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0x6
|
|
mov r0, #0x4
|
|
lsl r1, r1, #0x6
|
|
mov r2, #0x12
|
|
bl FUN_02002EEC
|
|
mov r3, #0x4b
|
|
mov r0, #0x12
|
|
lsl r3, r3, #0x4
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1f
|
|
mov r1, #0x10
|
|
mov r2, #0x1
|
|
add r3, r5, r3
|
|
bl FUN_02006BB0
|
|
ldr r1, _0207810C ; =0x000004AC
|
|
str r0, [r5, r1]
|
|
add sp, #0x10
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207810C: .word 0x000004AC
|
|
|
|
thumb_func_start FUN_02078110
|
|
FUN_02078110: ; 0x02078110
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
ldr r4, _0207813C ; =UNK_020F9D5C
|
|
add r3, sp, #0x0
|
|
add r2, r3, #0x0
|
|
ldmia r4!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r4!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
add r0, r2, #0x0
|
|
bl FUN_0201D040
|
|
mov r0, #0x14
|
|
mov r1, #0x12
|
|
bl FUN_0201E00C
|
|
bl FUN_0201D168
|
|
bl FUN_0201E0BC
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207813C: .word UNK_020F9D5C
|
|
|
|
thumb_func_start FUN_02078140
|
|
FUN_02078140: ; 0x02078140
|
|
push {r4-r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0x0
|
|
bl FUN_020B0FC0
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r1, #0x80
|
|
str r1, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r3, #0x20
|
|
str r3, [sp, #0xc]
|
|
mov r2, #0x12
|
|
str r2, [sp, #0x10]
|
|
add r2, r0, #0x0
|
|
bl FUN_02009EAC
|
|
mov r1, #0x63
|
|
lsl r1, r1, #0x2
|
|
mov r0, #0x2c
|
|
add r1, r5, r1
|
|
mov r2, #0x12
|
|
bl FUN_02008C9C
|
|
mov r1, #0x62
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0x4
|
|
mov r2, #0x1
|
|
add r0, r5, r0
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x14
|
|
bl FUN_02008D24
|
|
mov r7, #0xad
|
|
mov r6, #0x0
|
|
add r4, r5, #0x0
|
|
lsl r7, r7, #0x2
|
|
_0207818C:
|
|
mov r0, #0x2
|
|
add r1, r6, #0x0
|
|
mov r2, #0x12
|
|
bl FUN_02008DEC
|
|
str r0, [r4, r7]
|
|
add r6, r6, #0x1
|
|
add r4, r4, #0x4
|
|
cmp r6, #0x4
|
|
blt _0207818C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r3, #0x1
|
|
str r3, [sp, #0x4]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xad
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1f
|
|
mov r2, #0xa
|
|
bl FUN_02008F34
|
|
mov r1, #0xb1
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
mov r2, #0x1
|
|
str r2, [sp, #0x4]
|
|
mov r0, #0x9
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x12
|
|
sub r1, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x1f
|
|
bl FUN_02008FEC
|
|
mov r1, #0xb2
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x12
|
|
sub r1, #0xc
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x1f
|
|
mov r2, #0xc
|
|
mov r3, #0x1
|
|
bl FUN_020090AC
|
|
mov r1, #0xb3
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x3
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x12
|
|
sub r1, #0xc
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x1f
|
|
mov r2, #0xe
|
|
mov r3, #0x1
|
|
bl FUN_020090AC
|
|
mov r1, #0x2d
|
|
lsl r1, r1, #0x4
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, #0x0]
|
|
cmp r0, #0x1
|
|
bne _02078272
|
|
ldr r0, [r5, #0x4]
|
|
ldr r2, [r5, #0x8]
|
|
mov r1, #0x0
|
|
bl FUN_0206B6D4
|
|
ldr r3, _0207831C ; =0x000004B8
|
|
add r1, r0, #0x0
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
mov r2, #0x0
|
|
add r3, r5, r3
|
|
bl FUN_02006BB0
|
|
ldr r1, _02078320 ; =0x000004B4
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0x4
|
|
mov r1, #0x2
|
|
ldr r0, [r5, r0]
|
|
lsl r1, r1, #0x8
|
|
bl DC_FlushRange
|
|
bl FUN_0206B888
|
|
add r1, r0, #0x0
|
|
mov r0, #0x13
|
|
lsl r2, r0, #0x6
|
|
add r2, r5, r2
|
|
mov r3, #0x12
|
|
bl FUN_02006C08
|
|
ldr r1, _02078324 ; =0x000004BC
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x80
|
|
bl DC_FlushRange
|
|
_02078272:
|
|
mov r3, #0x1
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xad
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1f
|
|
mov r2, #0xb
|
|
bl FUN_02008F34
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
mov r2, #0x1
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x3
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x12
|
|
sub r1, #0x1c
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x1f
|
|
mov r3, #0x0
|
|
bl FUN_02008FEC
|
|
mov r1, #0xb6
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
mov r3, #0x1
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x12
|
|
sub r1, #0x1c
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x1f
|
|
mov r2, #0xd
|
|
bl FUN_020090AC
|
|
mov r1, #0xb7
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
mov r3, #0x1
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0x3
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x12
|
|
sub r1, #0x1c
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x1f
|
|
mov r2, #0xf
|
|
bl FUN_020090AC
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #0x4
|
|
str r0, [r5, r1]
|
|
sub r1, #0x1c
|
|
ldr r0, [r5, r1]
|
|
bl FUN_02009A50
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009A50
|
|
mov r0, #0xb2
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009CF0
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009CF0
|
|
add sp, #0x14
|
|
pop {r4-r7, pc}
|
|
nop
|
|
_0207831C: .word 0x000004B8
|
|
_02078320: .word 0x000004B4
|
|
_02078324: .word 0x000004BC
|
|
|
|
thumb_func_start FUN_02078328
|
|
FUN_02078328: ; 0x02078328
|
|
push {r3-r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
bl FUN_0202011C
|
|
ldr r1, [r0, #0x0]
|
|
ldr r0, [r4, #0x8]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r1, r0, #0x4
|
|
ldr r0, _02078358 ; =UNK_020FA1D8
|
|
ldr r0, [r0, r1]
|
|
add r1, sp, #0x0
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [r4, #0x4]
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {r3-r4, pc}
|
|
.balign 4
|
|
_02078358: .word UNK_020FA1D8
|
|
|
|
thumb_func_start FUN_0207835C
|
|
FUN_0207835C: ; 0x0207835C
|
|
push {r4-r7, lr}
|
|
sub sp, #0x5c
|
|
mov r1, #0x0
|
|
add r6, r0, #0x0
|
|
str r1, [sp, #0x0]
|
|
sub r0, r1, #0x1
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r2, #0xad
|
|
str r1, [sp, #0xc]
|
|
mov r0, #0x1
|
|
lsl r2, r2, #0x2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r6, r2]
|
|
add r3, r1, #0x0
|
|
str r0, [sp, #0x14]
|
|
add r0, r2, #0x4
|
|
ldr r0, [r6, r0]
|
|
str r0, [sp, #0x18]
|
|
add r0, r2, #0x0
|
|
add r0, #0x8
|
|
ldr r0, [r6, r0]
|
|
str r0, [sp, #0x1c]
|
|
add r0, r2, #0x0
|
|
add r0, #0xc
|
|
ldr r0, [r6, r0]
|
|
add r2, #0x30
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
add r0, r6, r2
|
|
add r2, r1, #0x0
|
|
str r1, [sp, #0x28]
|
|
bl FUN_02008AA4
|
|
mov r1, #0x1
|
|
mov r3, #0xad
|
|
str r1, [sp, #0x0]
|
|
sub r0, r1, #0x2
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
lsl r3, r3, #0x2
|
|
ldr r2, [r6, r3]
|
|
str r2, [sp, #0x14]
|
|
add r2, r3, #0x4
|
|
ldr r2, [r6, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r3, #0x0
|
|
add r2, #0x8
|
|
ldr r2, [r6, r2]
|
|
str r2, [sp, #0x1c]
|
|
add r2, r3, #0x0
|
|
add r2, #0xc
|
|
ldr r2, [r6, r2]
|
|
add r3, #0x54
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r6, r3
|
|
add r2, r1, #0x0
|
|
add r3, r1, #0x0
|
|
bl FUN_02008AA4
|
|
mov r0, #0x62
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x2
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #0x2
|
|
add r0, r6, r0
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0x6
|
|
lsl r1, r1, #0x10
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x38]
|
|
lsr r0, r1, #0x5
|
|
mov r7, #0x0
|
|
str r1, [sp, #0x34]
|
|
str r7, [sp, #0x3c]
|
|
str r0, [sp, #0x40]
|
|
str r0, [sp, #0x44]
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x2c
|
|
strh r7, [r0, #0x20]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x50]
|
|
str r0, [sp, #0x54]
|
|
mov r0, #0x12
|
|
ldr r4, _02078528 ; =UNK_020FA1D4
|
|
str r0, [sp, #0x58]
|
|
add r5, r6, #0x0
|
|
_02078418:
|
|
ldr r0, [r4, #0x0]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [r4, #0x4]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FE94
|
|
mov r1, #0xcb
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200BC
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0x8]
|
|
bl FUN_02020130
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r4, #0xc]
|
|
bl FUN_02020310
|
|
add r7, r7, #0x1
|
|
add r4, #0x10
|
|
add r5, r5, #0x4
|
|
cmp r7, #0x9
|
|
blt _02078418
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x0
|
|
bl FUN_020200A0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x0
|
|
bl FUN_020200A0
|
|
ldr r7, _02078528 ; =UNK_020FA1D4
|
|
mov r5, #0x0
|
|
add r4, r6, #0x0
|
|
_0207847A:
|
|
ldr r0, _0207852C ; =FUN_02078328
|
|
mov r1, #0x10
|
|
mov r2, #0x5
|
|
mov r3, #0x12
|
|
bl FUN_020061E8
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201B6C8
|
|
mov r1, #0xd2
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r6, r1]
|
|
str r1, [r0, #0x0]
|
|
mov r1, #0xcb
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
add r4, r4, #0x4
|
|
str r1, [r0, #0x4]
|
|
ldr r1, [r7, #0x0]
|
|
add r7, #0x10
|
|
lsl r1, r1, #0xc
|
|
str r1, [r0, #0x8]
|
|
str r5, [r0, #0xc]
|
|
add r5, r5, #0x1
|
|
cmp r5, #0x7
|
|
blt _0207847A
|
|
ldr r2, [r6, #0xc]
|
|
mov r7, #0x0
|
|
cmp r2, #0x0
|
|
ble _020784FA
|
|
mov r5, #0x50
|
|
add r4, r6, #0x0
|
|
_020784C2:
|
|
lsl r0, r5, #0xc
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x27
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl FUN_0201FE94
|
|
mov r1, #0xd9
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200BC
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x2b
|
|
bl FUN_02020130
|
|
ldr r2, [r6, #0xc]
|
|
add r7, r7, #0x1
|
|
add r5, #0xc
|
|
add r4, r4, #0x4
|
|
cmp r7, r2
|
|
blt _020784C2
|
|
_020784FA:
|
|
mov r1, #0x56
|
|
lsl r1, r1, #0x2
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #0x2
|
|
ldrh r1, [r6, r1]
|
|
add r0, r6, r0
|
|
bl FUN_02079710
|
|
add r0, r6, #0x0
|
|
add r1, sp, #0x2c
|
|
bl FUN_02078530
|
|
mov r0, #0x10
|
|
mov r1, #0x1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #0x1
|
|
bl FUN_0201E74C
|
|
add sp, #0x5c
|
|
pop {r4-r7, pc}
|
|
nop
|
|
_02078528: .word UNK_020FA1D4
|
|
_0207852C: .word FUN_02078328
|
|
|
|
thumb_func_start FUN_02078530
|
|
FUN_02078530: ; 0x02078530
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x6
|
|
add r5, r1, #0x0
|
|
lsl r0, r0, #0xe
|
|
str r0, [r5, #0x8]
|
|
mov r0, #0x2
|
|
lsl r0, r0, #0xe
|
|
str r0, [r5, #0xc]
|
|
add r0, r5, #0x0
|
|
bl FUN_0201FE94
|
|
mov r1, #0xe5
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x1
|
|
bl FUN_020200BC
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x7
|
|
bhi _02078626
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02078568: ; jump table (using 16-bit offset)
|
|
.short _02078578 - _02078568 - 2; case 0
|
|
.short _020785E0 - _02078568 - 2; case 1
|
|
.short _020785D2 - _02078568 - 2; case 2
|
|
.short _0207859A - _02078568 - 2; case 3
|
|
.short _020785C4 - _02078568 - 2; case 4
|
|
.short _020785B6 - _02078568 - 2; case 5
|
|
.short _020785A8 - _02078568 - 2; case 6
|
|
.short _020785C4 - _02078568 - 2; case 7
|
|
_02078578:
|
|
ldr r0, [r4, #0x4]
|
|
cmp r0, #0x0
|
|
bne _0207858C
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x30
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_0207858C:
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x31
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_0207859A:
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x33
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_020785A8:
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x37
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_020785B6:
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x36
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_020785C4:
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x35
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_020785D2:
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x2f
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_020785E0:
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x32
|
|
bl FUN_02020130
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0x2
|
|
beq _02078626
|
|
ldr r1, [r4, #0xc]
|
|
mov r0, #0xd
|
|
mul r0, r1
|
|
add r0, #0x50
|
|
lsl r0, r0, #0xc
|
|
str r0, [r5, #0x8]
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #0xc
|
|
str r0, [r5, #0xc]
|
|
add r0, r5, #0x0
|
|
bl FUN_0201FE94
|
|
mov r1, #0xe6
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0x0
|
|
ldr r0, [r4, r1]
|
|
bne _02078620
|
|
mov r1, #0x2d
|
|
bl FUN_02020130
|
|
pop {r3-r5, pc}
|
|
_02078620:
|
|
mov r1, #0x2e
|
|
bl FUN_02020130
|
|
_02078626:
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start FUN_02078628
|
|
FUN_02078628: ; 0x02078628
|
|
push {r4-r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
ldr r0, [r4, #0xc]
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [r4, #0x4]
|
|
cmp r0, #0x6
|
|
bhi _020786A6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207864A: ; jump table (using 16-bit offset)
|
|
.short _02078658 - _0207864A - 2; case 0
|
|
.short _020786A6 - _0207864A - 2; case 1
|
|
.short _0207866C - _0207864A - 2; case 2
|
|
.short _020786A6 - _0207864A - 2; case 3
|
|
.short _02078680 - _0207864A - 2; case 4
|
|
.short _020786A6 - _0207864A - 2; case 5
|
|
.short _02078694 - _0207864A - 2; case 6
|
|
_02078658:
|
|
mov r0, #0x1
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
add r1, sp, #0x0
|
|
bl FUN_02020044
|
|
b _020786A6
|
|
_0207866C:
|
|
mov r0, #0x3
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
add r1, sp, #0x0
|
|
bl FUN_02020044
|
|
b _020786A6
|
|
_02078680:
|
|
mov r0, #0x2
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
add r1, sp, #0x0
|
|
bl FUN_02020044
|
|
b _020786A6
|
|
_02078694:
|
|
ldr r0, [r4, #0x8]
|
|
add r1, sp, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
bl FUN_02020044
|
|
add r0, r5, #0x0
|
|
bl FUN_0200621C
|
|
_020786A6:
|
|
ldr r0, [r4, #0x4]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, #0x4]
|
|
add sp, #0xc
|
|
pop {r4-r5, pc}
|
|
|
|
thumb_func_start FUN_020786B0
|
|
FUN_020786B0: ; 0x020786B0
|
|
push {r3-r7, lr}
|
|
sub sp, #0x28
|
|
str r1, [sp, #0x14]
|
|
ldr r1, [sp, #0x40]
|
|
add r5, r2, #0x0
|
|
str r1, [sp, #0x40]
|
|
ldr r1, [sp, #0x48]
|
|
mov r2, #0x1
|
|
str r1, [sp, #0x48]
|
|
ldr r1, [sp, #0x40]
|
|
str r0, [sp, #0x10]
|
|
ldr r6, [r1, #0x0]
|
|
add r7, r3, #0x0
|
|
add r1, r6, #0x0
|
|
eor r1, r2
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [r5, #0x0]
|
|
ldr r4, [sp, #0x44]
|
|
cmp r1, #0x4
|
|
bls _020786DA
|
|
b _0207887E
|
|
_020786DA:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #0x6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_020786E6: ; jump table (using 16-bit offset)
|
|
.short _020786F0 - _020786E6 - 2; case 0
|
|
.short _0207873C - _020786E6 - 2; case 1
|
|
.short _02078762 - _020786E6 - 2; case 2
|
|
.short _020787FC - _020786E6 - 2; case 3
|
|
.short _0207887E - _020786E6 - 2; case 4
|
|
_020786F0:
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0x6
|
|
str r0, [sp, #0x4]
|
|
str r2, [sp, #0x8]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0x1f
|
|
add r1, r7, #0x6
|
|
add r3, r6, #0x0
|
|
bl FUN_020068C8
|
|
add r0, r4, #0x0
|
|
add r1, r6, #0x0
|
|
bl FUN_02078BA8
|
|
ldr r0, _02078884 ; =UNK_020F9D2C
|
|
lsl r2, r6, #0x4
|
|
ldrb r1, [r0, r7]
|
|
ldr r0, [sp, #0x4c]
|
|
ldr r3, _02078888 ; =0x000E0F00
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, r2
|
|
lsl r2, r1, #0x4
|
|
orr r1, r2
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r2, r7, #0x0
|
|
bl FUN_0207974C
|
|
ldr r0, [r5, #0x0]
|
|
add sp, #0x28
|
|
add r0, r0, #0x1
|
|
str r0, [r5, #0x0]
|
|
pop {r3-r7, pc}
|
|
_0207873C:
|
|
lsl r1, r6, #0x18
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x0
|
|
mov r3, #0xee
|
|
bl FUN_020179E0
|
|
mov r2, #0x3
|
|
lsl r1, r6, #0x18
|
|
add r3, r2, #0x0
|
|
ldr r0, [sp, #0x10]
|
|
lsr r1, r1, #0x18
|
|
sub r3, #0x53
|
|
bl FUN_020179E0
|
|
ldr r0, [r5, #0x0]
|
|
add sp, #0x28
|
|
add r0, r0, #0x1
|
|
str r0, [r5, #0x0]
|
|
pop {r3-r7, pc}
|
|
_02078762:
|
|
mov r1, #0xc
|
|
add r0, r6, #0x0
|
|
mul r0, r1
|
|
ldr r2, [r4, r0]
|
|
str r0, [sp, #0x1c]
|
|
sub r2, #0x18
|
|
str r2, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
sub r1, #0xd
|
|
cmp r0, r1
|
|
bge _020787BA
|
|
ldr r0, _0207888C ; =FUN_02078628
|
|
mov r1, #0x10
|
|
mov r2, #0x0
|
|
mov r3, #0x12
|
|
bl FUN_020061E8
|
|
bl FUN_0201B6C8
|
|
add r7, r0, #0x0
|
|
ldr r0, [sp, #0x48]
|
|
ldr r0, [r0, #0x1c]
|
|
str r0, [r7, #0x0]
|
|
mov r0, #0x0
|
|
str r0, [r7, #0x4]
|
|
ldr r0, [sp, #0x48]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_0202011C
|
|
ldr r0, [r0, #0x0]
|
|
str r0, [r7, #0x8]
|
|
ldr r0, [sp, #0x48]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_0202011C
|
|
ldr r0, [r0, #0x4]
|
|
mov r1, #0xa
|
|
str r0, [r7, #0xc]
|
|
ldr r0, [sp, #0x1c]
|
|
mvn r1, r1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r5, #0x0]
|
|
add r0, r0, #0x1
|
|
str r0, [r5, #0x0]
|
|
_020787BA:
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0xc
|
|
add r7, r0, #0x0
|
|
add r5, r4, #0x4
|
|
mul r7, r1
|
|
ldr r0, [r5, r7]
|
|
sub r0, #0xa
|
|
str r0, [r5, r7]
|
|
add r0, r1, #0x0
|
|
ldr r2, [r5, r7]
|
|
sub r0, #0xd0
|
|
cmp r2, r0
|
|
bge _020787D8
|
|
sub r1, #0xd0
|
|
str r1, [r5, r7]
|
|
_020787D8:
|
|
ldr r3, [sp, #0x1c]
|
|
lsl r1, r6, #0x18
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, [r4, r3]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x0
|
|
bl FUN_020179E0
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
lsl r1, r1, #0x18
|
|
ldr r3, [r5, r7]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x3
|
|
bl FUN_020179E0
|
|
add sp, #0x28
|
|
pop {r3-r7, pc}
|
|
_020787FC:
|
|
ldr r1, [sp, #0x18]
|
|
mov r0, #0xc
|
|
add r2, r1, #0x0
|
|
mul r2, r0
|
|
str r2, [sp, #0x20]
|
|
add r7, r4, #0x4
|
|
ldr r2, [r7, r2]
|
|
ldr r1, [sp, #0x20]
|
|
sub r2, #0xa
|
|
str r2, [r7, r1]
|
|
ldr r2, [r7, r1]
|
|
add r1, r0, #0x0
|
|
sub r1, #0xd0
|
|
cmp r2, r1
|
|
bge _02078820
|
|
ldr r1, [sp, #0x20]
|
|
sub r0, #0xd0
|
|
str r0, [r7, r1]
|
|
_02078820:
|
|
mov r0, #0xc
|
|
mul r0, r6
|
|
str r0, [sp, #0x24]
|
|
ldr r3, [sp, #0x24]
|
|
lsl r1, r6, #0x18
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, [r4, r3]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x0
|
|
bl FUN_020179E0
|
|
ldr r1, [sp, #0x18]
|
|
ldr r3, [sp, #0x20]
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, [r7, r3]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x3
|
|
bl FUN_020179E0
|
|
ldr r0, [sp, #0x24]
|
|
mov r1, #0xa
|
|
ldr r0, [r4, r0]
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _0207887E
|
|
ldr r0, [sp, #0x20]
|
|
sub r1, #0xb9
|
|
ldr r0, [r7, r0]
|
|
cmp r0, r1
|
|
bne _0207887E
|
|
ldr r0, [r5, #0x0]
|
|
add r2, r4, #0x0
|
|
add r0, r0, #0x1
|
|
str r0, [r5, #0x0]
|
|
ldr r0, [sp, #0x40]
|
|
ldr r1, [r0, #0x0]
|
|
mov r0, #0x1
|
|
eor r1, r0
|
|
ldr r0, [sp, #0x40]
|
|
str r1, [r0, #0x0]
|
|
ldr r0, [sp, #0x10]
|
|
bl FUN_02078B88
|
|
ldr r0, _02078890 ; =0x0000069B
|
|
bl FUN_020054C8
|
|
_0207887E:
|
|
add sp, #0x28
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_02078884: .word UNK_020F9D2C
|
|
_02078888: .word 0x000E0F00
|
|
_0207888C: .word FUN_02078628
|
|
_02078890: .word 0x0000069B
|
|
|
|
thumb_func_start FUN_02078894
|
|
FUN_02078894: ; 0x02078894
|
|
push {r4-r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0x0
|
|
mov r2, #0x1
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x8
|
|
mov r3, #0xa
|
|
add r5, r0, #0x0
|
|
bl FUN_0200D0BC
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
str r3, [sp, #0x4]
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
add r2, r4, #0x0
|
|
str r3, [sp, #0x8]
|
|
bl FUN_0201BD84
|
|
add r0, r5, #0x0
|
|
bl FUN_020191D0
|
|
add sp, #0xc
|
|
pop {r4-r5, pc}
|
|
|
|
thumb_func_start FUN_020788C4
|
|
FUN_020788C4: ; 0x020788C4
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
add r6, r2, #0x0
|
|
mov r0, #0x0
|
|
add r1, r6, #0x0
|
|
add r2, r0, #0x0
|
|
mov r4, #0x10
|
|
bl FUN_02002E14
|
|
cmp r0, #0x82
|
|
ble _020788DE
|
|
mov r4, #0x0
|
|
_020788DE:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
bl FUN_02019620
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
ldr r0, _02078908 ; =0x000E0F01
|
|
str r1, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
add r0, r5, #0x0
|
|
add r2, r6, #0x0
|
|
add r3, r4, #0x0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0x0
|
|
bl FUN_020191D0
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
nop
|
|
_02078908: .word 0x000E0F01
|
|
|
|
thumb_func_start FUN_0207890C
|
|
FUN_0207890C: ; 0x0207890C
|
|
push {r4-r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r1, #0x0
|
|
mov r1, #0x1
|
|
add r5, r0, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0x1a
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
add r0, #0xf4
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
mov r1, #0xee
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r1
|
|
mov r2, #0x0
|
|
mov r3, #0x2
|
|
bl FUN_02019064
|
|
mov r2, #0x1
|
|
mov r1, #0xf2
|
|
lsl r1, r1, #0x2
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x1a
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x8e
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #0x2
|
|
str r0, [sp, #0x10]
|
|
sub r0, #0xd8
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r1
|
|
mov r3, #0x2
|
|
bl FUN_02019064
|
|
ldr r0, [r5, #0x0]
|
|
cmp r0, #0x4
|
|
bne _020789AE
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0x6
|
|
str r0, [sp, #0x4]
|
|
mov r3, #0x1
|
|
mov r2, #0x16
|
|
str r3, [sp, #0x8]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0xc]
|
|
lsl r2, r2, #0x4
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x1f
|
|
mov r1, #0x9
|
|
bl FUN_020068C8
|
|
mov r0, #0x46
|
|
mov r1, #0x4
|
|
lsl r0, r0, #0x4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0x0
|
|
add r0, #0x3a
|
|
bl FUN_0207916C
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #0x4
|
|
ldr r1, [r5, r0]
|
|
sub r0, #0xe8
|
|
ldr r1, [r1, #0x14]
|
|
ldr r3, _02078B6C ; =0x000E0F00
|
|
str r1, [sp, #0x0]
|
|
ldr r1, _02078B70 ; =0x00000A0A
|
|
add r0, r5, r0
|
|
mov r2, #0x4
|
|
bl FUN_0207974C
|
|
b _020789D8
|
|
_020789AE:
|
|
mov r0, #0x46
|
|
mov r1, #0x0
|
|
lsl r0, r0, #0x4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0x0
|
|
add r0, #0x3a
|
|
bl FUN_0207916C
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
ldr r3, _02078B6C ; =0x000E0F00
|
|
ldr r0, [r0, #0x14]
|
|
mov r2, #0x0
|
|
str r0, [sp, #0x0]
|
|
add r0, r1, #0x0
|
|
sub r0, #0xe8
|
|
add r0, r5, r0
|
|
sub r1, #0xac
|
|
bl FUN_0207974C
|
|
_020789D8:
|
|
mov r2, #0x2
|
|
str r2, [sp, #0x0]
|
|
mov r3, #0x16
|
|
str r3, [sp, #0x4]
|
|
mov r1, #0x37
|
|
str r2, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
lsl r1, r1, #0x4
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r3, #0x4
|
|
add r1, #0x68
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r1
|
|
mov r3, #0x7
|
|
bl FUN_02019064
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, #0xc
|
|
add r2, r1, #0x0
|
|
mul r2, r0
|
|
asr r0, r2, #0x2
|
|
lsr r0, r0, #0x1d
|
|
add r0, r2, r0
|
|
asr r0, r0, #0x3
|
|
add r4, r0, #0x1
|
|
mov r0, #0x3
|
|
str r0, [sp, #0x0]
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x4]
|
|
mov r2, #0x2
|
|
mov r1, #0xe7
|
|
str r2, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
lsl r1, r1, #0x2
|
|
mov r0, #0x16
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r0, #0x4
|
|
add r1, #0x4c
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r1
|
|
mov r3, #0xa
|
|
bl FUN_02019064
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl FUN_02019620
|
|
mov r0, #0x3
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x7
|
|
str r0, [sp, #0x4]
|
|
mov r2, #0x2
|
|
mov r1, #0xf
|
|
add r4, #0x9
|
|
lsl r3, r4, #0x18
|
|
str r2, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x16
|
|
str r1, [sp, #0x10]
|
|
lsl r0, r0, #0x4
|
|
add r1, #0x78
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r1
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02019064
|
|
ldr r0, _02078B74 ; =0x00000438
|
|
mov r1, #0x1
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r1, [r5, #0x0]
|
|
cmp r1, #0x5
|
|
bne _02078A90
|
|
mov r2, #0x61
|
|
ldr r0, _02078B74 ; =0x00000438
|
|
lsl r2, r2, #0x2
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
bl FUN_020788C4
|
|
ldr r0, _02078B74 ; =0x00000438
|
|
add r0, r5, r0
|
|
bl FUN_020191D0
|
|
_02078A90:
|
|
mov r0, #0x13
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #0x4]
|
|
mov r2, #0x4
|
|
ldr r1, _02078B78 ; =0x00000448
|
|
str r2, [sp, #0x8]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x84
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xdc
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r1
|
|
mov r3, #0x2
|
|
bl FUN_02019064
|
|
ldr r0, _02078B78 ; =0x00000448
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
mov r2, #0x5e
|
|
ldr r0, _02078B78 ; =0x00000448
|
|
lsl r2, r2, #0x2
|
|
ldr r1, [r5, #0x0]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
bl FUN_02078894
|
|
add r0, r6, #0x0
|
|
bl FUN_0200628C
|
|
mov r1, #0x46
|
|
lsl r1, r1, #0x2
|
|
ldrh r2, [r5, r1]
|
|
ldr r0, _02078B7C ; =0x0000FFFF
|
|
cmp r2, r0
|
|
beq _02078B06
|
|
add r0, r5, #0x0
|
|
add r0, #0xd8
|
|
add r1, r5, r1
|
|
bl CopyU16StringArray
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r2, #0x0
|
|
add r1, r5, #0x0
|
|
ldr r0, _02078B80 ; =0x000E0F01
|
|
str r2, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
add r1, #0xd8
|
|
add r3, r2, #0x0
|
|
str r2, [sp, #0xc]
|
|
bl FUN_02078E7C
|
|
_02078B06:
|
|
mov r0, #0xee
|
|
lsl r0, r0, #0x2
|
|
mov r4, #0x0
|
|
add r7, r5, r0
|
|
_02078B0E:
|
|
add r0, r4, #0x4
|
|
lsl r6, r0, #0x4
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x78
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xe8
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, r6
|
|
mov r2, #0x2
|
|
mov r3, #0x0
|
|
bl FUN_02019064
|
|
add r0, r7, r6
|
|
mov r1, #0x0
|
|
bl FUN_02019620
|
|
add r4, r4, #0x1
|
|
cmp r4, #0x3
|
|
blt _02078B0E
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x4]
|
|
mov r2, #0x2
|
|
str r2, [sp, #0x8]
|
|
ldr r1, _02078B84 ; =0x00000428
|
|
str r3, [sp, #0xc]
|
|
mov r0, #0x84
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xdc
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r1
|
|
bl FUN_02019064
|
|
ldr r0, _02078B84 ; =0x00000428
|
|
mov r1, #0x0
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
add sp, #0x14
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02078B6C: .word 0x000E0F00
|
|
_02078B70: .word 0x00000A0A
|
|
_02078B74: .word 0x00000438
|
|
_02078B78: .word 0x00000448
|
|
_02078B7C: .word 0x0000FFFF
|
|
_02078B80: .word 0x000E0F01
|
|
_02078B84: .word 0x00000428
|
|
|
|
thumb_func_start FUN_02078B88
|
|
FUN_02078B88: ; 0x02078B88
|
|
push {r4, lr}
|
|
add r4, r1, #0x0
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x1
|
|
bl FUN_020178BC
|
|
mov r0, #0x1
|
|
eor r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x2
|
|
bl FUN_020178BC
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start FUN_02078BA8
|
|
FUN_02078BA8: ; 0x02078BA8
|
|
push {r3-r4}
|
|
mov r3, #0xc
|
|
add r4, r1, #0x0
|
|
mul r4, r3
|
|
mov r2, #0xee
|
|
str r2, [r0, r4]
|
|
add r2, r3, #0x0
|
|
sub r2, #0x5c
|
|
add r4, r0, r4
|
|
str r2, [r4, #0x4]
|
|
mov r4, #0x1
|
|
eor r1, r4
|
|
mul r3, r1
|
|
sub r4, #0xc
|
|
str r4, [r0, r3]
|
|
add r0, r0, r3
|
|
str r2, [r0, #0x4]
|
|
pop {r3-r4}
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start FUN_02078BD0
|
|
FUN_02078BD0: ; 0x02078BD0
|
|
cmp r0, r2
|
|
blt _02078BD6
|
|
add r0, r1, #0x0
|
|
_02078BD6:
|
|
cmp r0, r1
|
|
bge _02078BDC
|
|
sub r0, r2, #0x1
|
|
_02078BDC:
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start FUN_02078BE0
|
|
FUN_02078BE0: ; 0x02078BE0
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
cmp r1, #0x0
|
|
beq _02078C84
|
|
ldr r3, [r5, #0x20]
|
|
mov r2, #0x1a
|
|
mul r2, r3
|
|
ldr r0, [r5, #0x1c]
|
|
add r3, r5, r2
|
|
lsl r2, r0, #0x1
|
|
add r2, r3, r2
|
|
ldrh r2, [r2, #0x3a]
|
|
lsl r6, r1, #0x3
|
|
ldr r1, _02078C88 ; =UNK_020FA154
|
|
str r2, [sp, #0x0]
|
|
ldr r1, [r1, r6]
|
|
mov r2, #0xd
|
|
add r0, r0, r1
|
|
mov r1, #0x0
|
|
bl FUN_02078BD0
|
|
add r4, r0, #0x0
|
|
ldr r0, _02078C8C ; =UNK_020FA158
|
|
ldr r1, [r5, #0x20]
|
|
ldr r0, [r0, r6]
|
|
mov r2, #0x6
|
|
add r0, r1, r0
|
|
mov r1, #0x0
|
|
bl FUN_02078BD0
|
|
add r7, r0, #0x0
|
|
ldr r0, _02078C88 ; =UNK_020FA154
|
|
add r6, r0, r6
|
|
b _02078C62
|
|
_02078C24:
|
|
ldr r1, [r5, #0x28]
|
|
cmp r1, #0x0
|
|
bne _02078C46
|
|
ldr r1, _02078C90 ; =0x0000D004
|
|
cmp r0, r1
|
|
bne _02078C46
|
|
ldr r0, [r6, #0x4]
|
|
cmp r0, #0x0
|
|
beq _02078C46
|
|
ldr r0, [r5, #0x2c]
|
|
mov r1, #0x0
|
|
add r0, r4, r0
|
|
mov r2, #0xd
|
|
bl FUN_02078BD0
|
|
add r4, r0, #0x0
|
|
b _02078C62
|
|
_02078C46:
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x0
|
|
add r0, r4, r0
|
|
mov r2, #0xd
|
|
bl FUN_02078BD0
|
|
add r4, r0, #0x0
|
|
ldr r0, [r6, #0x4]
|
|
mov r1, #0x0
|
|
add r0, r7, r0
|
|
mov r2, #0x6
|
|
bl FUN_02078BD0
|
|
add r7, r0, #0x0
|
|
_02078C62:
|
|
mov r0, #0x1a
|
|
mul r0, r7
|
|
lsl r1, r4, #0x1
|
|
add r0, r5, r0
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x3a]
|
|
ldr r1, _02078C90 ; =0x0000D004
|
|
cmp r0, r1
|
|
beq _02078C24
|
|
ldr r1, [sp, #0x0]
|
|
cmp r1, r0
|
|
bne _02078C80
|
|
ldr r1, _02078C94 ; =0x0000E001
|
|
cmp r0, r1
|
|
bhi _02078C24
|
|
_02078C80:
|
|
str r4, [r5, #0x1c]
|
|
str r7, [r5, #0x20]
|
|
_02078C84:
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_02078C88: .word UNK_020FA154
|
|
_02078C8C: .word UNK_020FA158
|
|
_02078C90: .word 0x0000D004
|
|
_02078C94: .word 0x0000E001
|
|
|
|
thumb_func_start FUN_02078C98
|
|
FUN_02078C98: ; 0x02078C98
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02078D70 ; =gUnknown21C48B8
|
|
mov r4, #0x0
|
|
ldr r1, [r0, #0x4c]
|
|
mov r0, #0x40
|
|
add r6, r4, #0x0
|
|
tst r0, r1
|
|
beq _02078CC0
|
|
ldr r0, _02078D74 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200A0
|
|
mov r6, #0x1
|
|
add r4, r4, #0x1
|
|
_02078CC0:
|
|
ldr r0, _02078D70 ; =gUnknown21C48B8
|
|
ldr r1, [r0, #0x4c]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _02078CE0
|
|
ldr r0, _02078D74 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200A0
|
|
mov r6, #0x2
|
|
add r4, r4, #0x1
|
|
_02078CE0:
|
|
ldr r0, _02078D70 ; =gUnknown21C48B8
|
|
ldr r1, [r0, #0x4c]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _02078D00
|
|
ldr r0, _02078D74 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200A0
|
|
mov r6, #0x3
|
|
add r4, r4, #0x1
|
|
_02078D00:
|
|
ldr r0, _02078D70 ; =gUnknown21C48B8
|
|
ldr r1, [r0, #0x4c]
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _02078D20
|
|
ldr r0, _02078D74 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200A0
|
|
mov r6, #0x4
|
|
add r4, r4, #0x1
|
|
_02078D20:
|
|
ldr r0, _02078D70 ; =gUnknown21C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x8
|
|
tst r0, r1
|
|
beq _02078D46
|
|
ldr r0, _02078D74 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200A0
|
|
mov r0, #0xc
|
|
str r0, [r5, #0x1c]
|
|
mov r0, #0x0
|
|
str r0, [r5, #0x20]
|
|
add r4, r4, #0x1
|
|
_02078D46:
|
|
add r0, r5, #0x0
|
|
bl FUN_02079930
|
|
ldr r1, _02078D78 ; =0x000005C8
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
cmp r0, #0x1
|
|
bne _02078D5A
|
|
mov r6, #0x0
|
|
add r4, r4, #0x1
|
|
_02078D5A:
|
|
cmp r4, #0x0
|
|
beq _02078D6E
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
bl FUN_02078BE0
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
bl FUN_02078D7C
|
|
_02078D6E:
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_02078D70: .word gUnknown21C48B8
|
|
_02078D74: .word 0x000005DC
|
|
_02078D78: .word 0x000005C8
|
|
|
|
thumb_func_start FUN_02078D7C
|
|
FUN_02078D7C: ; 0x02078D7C
|
|
push {r3-r5, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
ldr r1, [r5, #0x20]
|
|
cmp r1, #0x0
|
|
beq _02078DC6
|
|
ldr r0, [r5, #0x28]
|
|
cmp r0, #0x0
|
|
bne _02078DA0
|
|
cmp r0, r1
|
|
beq _02078DA0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x27
|
|
bl FUN_02020130
|
|
_02078DA0:
|
|
ldr r0, [r5, #0x1c]
|
|
lsl r0, r0, #0x4
|
|
add r0, #0x1a
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x20]
|
|
sub r1, r0, #0x1
|
|
mov r0, #0x13
|
|
mul r0, r1
|
|
add r0, #0x5b
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r1, sp, #0xc
|
|
bl FUN_02020044
|
|
b _02078E02
|
|
_02078DC6:
|
|
mov r0, #0x1a
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
ldr r0, [r5, #0x1c]
|
|
lsl r0, r0, #0x1
|
|
add r0, r1, r0
|
|
ldrh r1, [r0, #0x3a]
|
|
ldr r0, _02078E2C ; =0x0000E002
|
|
sub r1, r1, r0
|
|
ldr r0, _02078E30 ; =UNK_020F9D6C
|
|
lsl r2, r1, #0x1
|
|
ldrh r0, [r0, r2]
|
|
ldr r2, _02078E34 ; =UNK_020F9D38
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x11
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldrb r1, [r2, r1]
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020130
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r1, sp, #0x0
|
|
bl FUN_02020044
|
|
_02078E02:
|
|
mov r0, #0xb4
|
|
strh r0, [r5, #0x38]
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl FUN_02020208
|
|
ldr r0, [r5, #0x1c]
|
|
lsl r1, r4, #0x3
|
|
str r0, [r5, #0x24]
|
|
ldr r0, [r5, #0x20]
|
|
str r0, [r5, #0x28]
|
|
ldr r0, _02078E38 ; =UNK_020FA154
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0x0
|
|
beq _02078E26
|
|
str r0, [r5, #0x2c]
|
|
_02078E26:
|
|
add sp, #0x18
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02078E2C: .word 0x0000E002
|
|
_02078E30: .word UNK_020F9D6C
|
|
_02078E34: .word UNK_020F9D38
|
|
_02078E38: .word UNK_020FA154
|
|
|
|
thumb_func_start FUN_02078E3C
|
|
FUN_02078E3C: ; 0x02078E3C
|
|
push {r3, lr}
|
|
ldrh r1, [r0, #0x0]
|
|
add r1, #0x14
|
|
strh r1, [r0, #0x0]
|
|
ldrh r2, [r0, #0x0]
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #0x2
|
|
cmp r2, r1
|
|
bls _02078E52
|
|
mov r1, #0x0
|
|
strh r1, [r0, #0x0]
|
|
_02078E52:
|
|
ldrh r0, [r0, #0x0]
|
|
bl Sin_Wrap
|
|
mov r1, #0xa
|
|
mul r1, r0
|
|
asr r0, r1, #0xb
|
|
lsr r0, r0, #0x14
|
|
add r0, r1, r0
|
|
asr r0, r0, #0xc
|
|
add r0, #0xf
|
|
lsl r1, r0, #0x5
|
|
mov r0, #0x1d
|
|
orr r1, r0
|
|
add r0, sp, #0x0
|
|
strh r1, [r0, #0x0]
|
|
add r0, sp, #0x0
|
|
mov r1, #0x3a
|
|
mov r2, #0x2
|
|
bl GX_LoadOBJPltt
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start FUN_02078E7C
|
|
FUN_02078E7C: ; 0x02078E7C
|
|
push {r4-r7, lr}
|
|
sub sp, #0x3c
|
|
str r0, [sp, #0x18]
|
|
add r7, r1, #0x0
|
|
mov r0, #0x2
|
|
mov r1, #0x12
|
|
str r2, [sp, #0x1c]
|
|
str r3, [sp, #0x20]
|
|
mov r4, #0x0
|
|
bl String_ctor
|
|
str r0, [sp, #0x28]
|
|
ldrh r1, [r7, #0x0]
|
|
ldr r0, _02078F6C ; =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _02078F62
|
|
ldr r0, [sp, #0x54]
|
|
ldr r6, [sp, #0x50]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x58]
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #0x2
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x5c]
|
|
str r0, [sp, #0x30]
|
|
_02078EB4:
|
|
lsl r0, r4, #0x1
|
|
ldrh r1, [r7, r0]
|
|
ldr r0, _02078F70 ; =0x00002FFF
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #0x2
|
|
bhi _02078F00
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
add r2, r4, #0x0
|
|
ldr r0, [sp, #0x1c]
|
|
mul r2, r6
|
|
add r0, r0, r2
|
|
ldr r2, _02078F74 ; =0x0000D001
|
|
lsl r0, r0, #0x10
|
|
sub r1, r1, r2
|
|
lsl r1, r1, #0x10
|
|
lsr r0, r0, #0x10
|
|
lsr r2, r1, #0x8
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [sp, #0x2c]
|
|
lsr r1, r2, #0x1f
|
|
add r1, r2, r1
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xc
|
|
asr r2, r1, #0x1
|
|
ldr r1, [sp, #0x30]
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
add r1, r1, r2
|
|
mov r2, #0x0
|
|
ldr r0, [sp, #0x18]
|
|
add r3, r2, #0x0
|
|
bl FUN_02019658
|
|
b _02078F56
|
|
_02078F00:
|
|
ldr r0, _02078F78 ; =0x0000D004
|
|
cmp r1, r0
|
|
bne _02078F0A
|
|
add r4, r4, #0x1
|
|
b _02078F58
|
|
_02078F0A:
|
|
add r0, sp, #0x38
|
|
strh r1, [r0, #0x0]
|
|
ldr r1, _02078F6C ; =0x0000FFFF
|
|
strh r1, [r0, #0x2]
|
|
mov r0, #0x0
|
|
add r1, sp, #0x38
|
|
add r2, r0, #0x0
|
|
bl FUN_02002DE0
|
|
add r5, r0, #0x0
|
|
ldr r0, [sp, #0x28]
|
|
add r1, sp, #0x38
|
|
bl FUN_02021E28
|
|
ldr r0, [sp, #0x20]
|
|
sub r3, r6, r5
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [sp, #0x24]
|
|
lsr r5, r3, #0x1f
|
|
add r5, r3, r5
|
|
asr r3, r5, #0x1
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [sp, #0x34]
|
|
mov r12, r3
|
|
add r5, r4, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
ldr r3, [sp, #0x1c]
|
|
mul r5, r6
|
|
add r3, r3, r5
|
|
mov r5, r12
|
|
ldr r0, [sp, #0x18]
|
|
ldr r2, [sp, #0x28]
|
|
mov r1, #0x0
|
|
add r3, r5, r3
|
|
bl FUN_0201BDE0
|
|
_02078F56:
|
|
add r4, r4, #0x1
|
|
_02078F58:
|
|
lsl r0, r4, #0x1
|
|
ldrh r1, [r7, r0]
|
|
ldr r0, _02078F6C ; =0x0000FFFF
|
|
cmp r1, r0
|
|
bne _02078EB4
|
|
_02078F62:
|
|
ldr r0, [sp, #0x28]
|
|
bl String_dtor
|
|
add sp, #0x3c
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02078F6C: .word 0x0000FFFF
|
|
_02078F70: .word 0x00002FFF
|
|
_02078F74: .word 0x0000D001
|
|
_02078F78: .word 0x0000D004
|
|
|
|
thumb_func_start FUN_02078F7C
|
|
FUN_02078F7C: ; 0x02078F7C
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
mov r5, #0x0
|
|
add r6, r1, #0x0
|
|
str r5, [sp, #0x0]
|
|
mov r1, #0xff
|
|
str r1, [sp, #0x4]
|
|
str r3, [sp, #0x8]
|
|
add r1, r2, #0x0
|
|
add r2, r6, #0x0
|
|
add r3, r5, #0x0
|
|
add r4, r0, #0x0
|
|
str r5, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
ldr r0, [r4, #0xc]
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
|
|
thumb_func_start FUN_02078FA0
|
|
FUN_02078FA0: ; 0x02078FA0
|
|
push {r3-r7, lr}
|
|
sub sp, #0x38
|
|
add r6, r0, #0x0
|
|
str r1, [sp, #0x8]
|
|
add r0, #0x30
|
|
mov r1, #0x0
|
|
add r5, r2, #0x0
|
|
add r4, r3, #0x0
|
|
bl FUN_02019620
|
|
add r0, r6, #0x0
|
|
ldr r3, _0207906C ; =0x000D0E0F
|
|
add r0, #0x30
|
|
add r1, r4, #0x0
|
|
mov r2, #0x2
|
|
bl FUN_02078F7C
|
|
mov r1, #0x2
|
|
lsl r1, r1, #0xa
|
|
bl DC_FlushRange
|
|
add r7, r6, #0x0
|
|
mov r4, #0x0
|
|
add r7, #0x30
|
|
_02078FD0:
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
add r0, r7, #0x0
|
|
mov r1, #0x4
|
|
mov r2, #0x2
|
|
lsl r3, r4, #0x2
|
|
str r5, [sp, #0x4]
|
|
bl FUN_02011B20
|
|
mov r1, #0x1
|
|
add r0, r5, #0x0
|
|
lsl r1, r1, #0x8
|
|
bl DC_FlushRange
|
|
ldr r1, _02079070 ; =UNK_020F9D28
|
|
mov r2, #0x1
|
|
ldrb r1, [r1, r4]
|
|
add r0, r5, #0x0
|
|
lsl r2, r2, #0x8
|
|
lsl r1, r1, #0x5
|
|
bl GXS_LoadOBJ
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x4
|
|
blo _02078FD0
|
|
mov r0, #0x15
|
|
mov r1, #0x12
|
|
bl String_ctor
|
|
add r4, r0, #0x0
|
|
mov r5, #0x0
|
|
_02079012:
|
|
ldr r0, [sp, #0x8]
|
|
lsl r1, r5, #0x1
|
|
ldrh r1, [r0, r1]
|
|
add r0, sp, #0xc
|
|
lsl r7, r5, #0x4
|
|
strh r1, [r0, #0x0]
|
|
ldr r1, _02079074 ; =0x0000FFFF
|
|
strh r1, [r0, #0x2]
|
|
add r0, r6, r7
|
|
mov r1, #0x0
|
|
bl FUN_02019620
|
|
add r0, r4, #0x0
|
|
add r1, sp, #0xc
|
|
bl FUN_02021E28
|
|
ldr r3, _0207906C ; =0x000D0E0F
|
|
add r0, r6, r7
|
|
add r1, r4, #0x0
|
|
mov r2, #0x2
|
|
bl FUN_02078F7C
|
|
mov r1, #0x80
|
|
add r7, r0, #0x0
|
|
bl DC_FlushRange
|
|
ldr r1, _02079078 ; =UNK_020F9D40
|
|
lsl r2, r5, #0x2
|
|
ldr r1, [r1, r2]
|
|
add r0, r7, #0x0
|
|
lsl r1, r1, #0x5
|
|
mov r2, #0x80
|
|
bl GXS_LoadOBJ
|
|
add r0, r5, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #0x3
|
|
blo _02079012
|
|
add r0, r4, #0x0
|
|
bl String_dtor
|
|
add sp, #0x38
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_0207906C: .word 0x000D0E0F
|
|
_02079070: .word UNK_020F9D28
|
|
_02079074: .word 0x0000FFFF
|
|
_02079078: .word UNK_020F9D40
|
|
|
|
thumb_func_start FUN_0207907C
|
|
FUN_0207907C: ; 0x0207907C
|
|
push {r3-r5, lr}
|
|
cmp r2, #0x0
|
|
bne _02079086
|
|
ldr r1, _02079158 ; =0x0000D003
|
|
b _0207908C
|
|
_02079086:
|
|
sub r2, r2, #0x1
|
|
lsl r2, r2, #0x1
|
|
ldrh r1, [r1, r2]
|
|
_0207908C:
|
|
ldr r4, _0207915C ; =0x0000E003
|
|
cmp r1, r4
|
|
bgt _020790BC
|
|
bge _020790E2
|
|
ldr r2, _02079160 ; =0x0000D004
|
|
cmp r1, r2
|
|
bgt _020790B4
|
|
sub r2, r2, #0x3
|
|
sub r2, r1, r2
|
|
bmi _020790E4
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #0x6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_020790AC: ; jump table (using 16-bit offset)
|
|
.short _020790E2 - _020790AC - 2; case 0
|
|
.short _020790E2 - _020790AC - 2; case 1
|
|
.short _020790E2 - _020790AC - 2; case 2
|
|
.short _020790E2 - _020790AC - 2; case 3
|
|
_020790B4:
|
|
ldr r2, _02079164 ; =0x0000E002
|
|
cmp r1, r2
|
|
beq _020790E2
|
|
b _020790E4
|
|
_020790BC:
|
|
add r2, r4, #0x1
|
|
cmp r1, r2
|
|
bgt _020790C6
|
|
beq _020790E2
|
|
b _020790E4
|
|
_020790C6:
|
|
add r2, r4, #0x2
|
|
sub r2, r1, r2
|
|
cmp r2, #0x3
|
|
bhi _020790E4
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #0x6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_020790DA: ; jump table (using 16-bit offset)
|
|
.short _020790E2 - _020790DA - 2; case 0
|
|
.short _020790E2 - _020790DA - 2; case 1
|
|
.short _020790E2 - _020790DA - 2; case 2
|
|
.short _020790E2 - _020790DA - 2; case 3
|
|
_020790E2:
|
|
mov r1, #0x1
|
|
_020790E4:
|
|
mov r4, #0x0
|
|
add r5, r3, #0x0
|
|
mov r2, #0x1
|
|
_020790EA:
|
|
add r4, r4, #0x1
|
|
strh r2, [r5, #0x0]
|
|
add r5, r5, #0x2
|
|
cmp r4, #0x3
|
|
blt _020790EA
|
|
strh r1, [r3, #0x0]
|
|
cmp r1, #0x1
|
|
beq _0207914A
|
|
ldr r5, _02079168 ; =UNK_020FA40E
|
|
mov r2, #0x0
|
|
_020790FE:
|
|
ldrh r4, [r5, #0x0]
|
|
cmp r1, r4
|
|
bne _02079120
|
|
mov r4, #0x6
|
|
ldr r5, _02079168 ; =UNK_020FA40E
|
|
mul r4, r2
|
|
add r4, r5, r4
|
|
mov r1, #0x0
|
|
add r5, r3, #0x0
|
|
_02079110:
|
|
ldrh r2, [r4, #0x0]
|
|
add r1, r1, #0x1
|
|
add r4, r4, #0x2
|
|
strh r2, [r5, #0x0]
|
|
add r5, r5, #0x2
|
|
cmp r1, #0x3
|
|
blt _02079110
|
|
b _0207914A
|
|
_02079120:
|
|
ldrh r4, [r5, #0x4]
|
|
cmp r1, r4
|
|
bne _02079142
|
|
mov r4, #0x6
|
|
ldr r5, _02079168 ; =UNK_020FA40E
|
|
mul r4, r2
|
|
add r4, r5, r4
|
|
mov r1, #0x0
|
|
add r5, r3, #0x0
|
|
_02079132:
|
|
ldrh r2, [r4, #0x0]
|
|
add r1, r1, #0x1
|
|
add r4, r4, #0x2
|
|
strh r2, [r5, #0x0]
|
|
add r5, r5, #0x2
|
|
cmp r1, #0x3
|
|
blt _02079132
|
|
b _0207914A
|
|
_02079142:
|
|
add r2, r2, #0x1
|
|
add r5, r5, #0x6
|
|
cmp r2, #0x52
|
|
blo _020790FE
|
|
_0207914A:
|
|
add r1, r3, #0x0
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
bl FUN_02078FA0
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02079158: .word 0x0000D003
|
|
_0207915C: .word 0x0000E003
|
|
_02079160: .word 0x0000D004
|
|
_02079164: .word 0x0000E002
|
|
_02079168: .word UNK_020FA40E
|
|
|
|
thumb_func_start FUN_0207916C
|
|
FUN_0207916C: ; 0x0207916C
|
|
push {r4-r7}
|
|
mov r4, #0x0
|
|
ldr r3, _020791B8 ; =UNK_02106058
|
|
add r5, r4, #0x0
|
|
add r6, r0, #0x0
|
|
lsl r2, r1, #0x2
|
|
_02079178:
|
|
ldr r7, [r3, r2]
|
|
add r4, r4, #0x1
|
|
ldrh r7, [r7, r5]
|
|
add r5, r5, #0x2
|
|
strh r7, [r6, #0x0]
|
|
add r6, r6, #0x2
|
|
cmp r4, #0xd
|
|
blt _02079178
|
|
mov r3, #0x14
|
|
ldr r4, _020791BC ; =UNK_0210606C
|
|
mul r3, r1
|
|
mov r2, #0x0
|
|
add r3, r4, r3
|
|
add r1, r2, #0x0
|
|
_02079194:
|
|
add r6, r1, #0x0
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
_0207919A:
|
|
ldr r7, [r3, #0x0]
|
|
add r6, r6, #0x1
|
|
ldrh r7, [r7, r4]
|
|
add r4, r4, #0x2
|
|
strh r7, [r5, #0x1a]
|
|
add r5, r5, #0x2
|
|
cmp r6, #0xd
|
|
blt _0207919A
|
|
add r2, r2, #0x1
|
|
add r3, r3, #0x4
|
|
add r0, #0x1a
|
|
cmp r2, #0x5
|
|
blt _02079194
|
|
pop {r4-r7}
|
|
bx lr
|
|
.balign 4
|
|
_020791B8: .word UNK_02106058
|
|
_020791BC: .word UNK_0210606C
|
|
|
|
thumb_func_start FUN_020791C0
|
|
FUN_020791C0: ; 0x020791C0
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
ldr r0, _0207952C ; =0x00002FFD
|
|
add r6, r2, #0x0
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #0x1
|
|
bhi _020791D6
|
|
mov r1, #0x1
|
|
_020791D6:
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x4
|
|
bne _020791EA
|
|
ldr r0, _02079530 ; =0x00001FFE
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #0x3
|
|
bhi _020791EA
|
|
mov r1, #0x1
|
|
_020791EA:
|
|
ldr r0, _02079534 ; =0x0000E002
|
|
cmp r1, r0
|
|
bgt _02079208
|
|
blt _020791F4
|
|
b _0207931C
|
|
_020791F4:
|
|
ldr r3, _02079538 ; =0x0000D002
|
|
cmp r1, r3
|
|
bgt _02079206
|
|
sub r0, r3, #0x1
|
|
cmp r1, r0
|
|
blt _02079206
|
|
beq _0207922A
|
|
cmp r1, r3
|
|
beq _0207927C
|
|
_02079206:
|
|
b _0207945C
|
|
_02079208:
|
|
add r0, r0, #0x1
|
|
sub r0, r1, r0
|
|
cmp r0, #0x5
|
|
bls _02079212
|
|
b _0207945C
|
|
_02079212:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207921E: ; jump table (using 16-bit offset)
|
|
.short _0207931C - _0207921E - 2; case 0
|
|
.short _0207931C - _0207921E - 2; case 1
|
|
.short _0207931C - _0207921E - 2; case 2
|
|
.short _020792CA - _0207921E - 2; case 3
|
|
.short _0207935E - _0207921E - 2; case 4
|
|
.short _0207940E - _0207921E - 2; case 5
|
|
_0207922A:
|
|
add r0, r4, #0x0
|
|
add r0, #0xd8
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldrh r0, [r4, r0]
|
|
ldr r3, _0207953C ; =0x0000D001
|
|
mov r1, #0x52
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x2a
|
|
mov r2, #0x1
|
|
bl FUN_020795FC
|
|
cmp r0, #0x0
|
|
bne _0207924A
|
|
b _02079526
|
|
_0207924A:
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl FUN_02019620
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r2, #0x0
|
|
ldr r0, _02079540 ; =0x000E0F01
|
|
str r2, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
add r4, #0xd8
|
|
add r1, r4, #0x0
|
|
add r3, r2, #0x0
|
|
str r2, [sp, #0xc]
|
|
bl FUN_02078E7C
|
|
ldr r0, _02079544 ; =0x000005EB
|
|
bl FUN_020054C8
|
|
b _02079526
|
|
_0207927C:
|
|
add r0, r4, #0x0
|
|
add r0, #0xd8
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldrh r0, [r4, r0]
|
|
mov r1, #0x52
|
|
mov r2, #0x2
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x48
|
|
bl FUN_020795FC
|
|
cmp r0, #0x0
|
|
beq _02079368
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl FUN_02019620
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r2, #0x0
|
|
ldr r0, _02079540 ; =0x000E0F01
|
|
str r2, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
add r4, #0xd8
|
|
add r1, r4, #0x0
|
|
add r3, r2, #0x0
|
|
str r2, [sp, #0xc]
|
|
bl FUN_02078E7C
|
|
ldr r0, _02079544 ; =0x000005EB
|
|
bl FUN_020054C8
|
|
b _02079526
|
|
_020792CA:
|
|
mov r3, #0x56
|
|
lsl r3, r3, #0x2
|
|
ldrh r3, [r4, r3]
|
|
add r2, r4, #0x0
|
|
mov r0, #0x0
|
|
mov r1, #0x52
|
|
add r2, #0xd8
|
|
bl FUN_02079590
|
|
cmp r0, #0x0
|
|
beq _02079368
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl FUN_02019620
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r2, #0x0
|
|
add r1, r4, #0x0
|
|
ldr r0, _02079540 ; =0x000E0F01
|
|
str r2, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
add r1, #0xd8
|
|
add r3, r2, #0x0
|
|
str r2, [sp, #0xc]
|
|
bl FUN_02078E7C
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #0x4
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #0x1
|
|
str r1, [r4, r0]
|
|
ldr r0, _02079544 ; =0x000005EB
|
|
bl FUN_020054C8
|
|
b _02079526
|
|
_0207931C:
|
|
mov r2, #0x46
|
|
lsl r2, r2, #0x4
|
|
ldr r0, _02079534 ; =0x0000E002
|
|
ldr r3, [r4, r2]
|
|
sub r5, r1, r0
|
|
cmp r3, r5
|
|
beq _02079368
|
|
mov r1, #0x0
|
|
sub r0, r2, #0x4
|
|
str r1, [r4, r0]
|
|
str r5, [r4, r2]
|
|
add r0, r4, #0x0
|
|
ldr r1, [r4, r2]
|
|
add r0, #0x3a
|
|
bl FUN_0207916C
|
|
mov r0, #0x49
|
|
lsl r0, r0, #0x4
|
|
add r2, r4, r0
|
|
lsl r1, r5, #0x2
|
|
ldr r0, [r2, r1]
|
|
add r0, r0, #0x1
|
|
str r0, [r2, r1]
|
|
ldr r0, _02079548 ; =0x0000069E
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0x0
|
|
bl FUN_020200A0
|
|
b _02079526
|
|
_0207935E:
|
|
mov r1, #0x56
|
|
lsl r1, r1, #0x2
|
|
ldrh r0, [r4, r1]
|
|
cmp r0, #0x0
|
|
bne _0207936A
|
|
_02079368:
|
|
b _02079526
|
|
_0207936A:
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x1
|
|
add r0, r4, r0
|
|
ldr r2, _0207954C ; =0x0000FFFF
|
|
add r0, #0xd8
|
|
strh r2, [r0, #0x0]
|
|
ldrh r0, [r4, r1]
|
|
sub r0, r0, #0x1
|
|
strh r0, [r4, r1]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl FUN_02019620
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #0x0
|
|
bne _0207939E
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl FUN_020191D0
|
|
b _020793BC
|
|
_0207939E:
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r2, #0x0
|
|
ldr r0, _02079540 ; =0x000E0F01
|
|
str r2, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r1, r4, #0x0
|
|
add r0, r4, r0
|
|
add r1, #0xd8
|
|
add r3, r2, #0x0
|
|
str r2, [sp, #0xc]
|
|
bl FUN_02078E7C
|
|
_020793BC:
|
|
ldr r0, _02079550 ; =0x000004C4
|
|
mov r3, #0x5f
|
|
add r1, r4, r0
|
|
lsl r3, r3, #0x2
|
|
str r1, [sp, #0x0]
|
|
ldr r1, [r4, r3]
|
|
add r2, r3, #0x0
|
|
str r1, [sp, #0x4]
|
|
sub r2, #0x24
|
|
sub r0, #0xcc
|
|
add r1, r4, #0x0
|
|
sub r3, #0x22
|
|
ldrh r2, [r4, r2]
|
|
add r0, r4, r0
|
|
add r1, #0xd8
|
|
add r3, r4, r3
|
|
bl FUN_0207907C
|
|
mov r1, #0x56
|
|
lsl r1, r1, #0x2
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #0x2
|
|
ldrh r1, [r4, r1]
|
|
ldr r2, [r4, #0xc]
|
|
add r0, r4, r0
|
|
bl FUN_02079710
|
|
ldr r0, _02079554 ; =0x000004A4
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #0x1
|
|
str r1, [r4, r0]
|
|
ldr r0, _02079558 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0x0
|
|
bl FUN_020200A0
|
|
b _02079526
|
|
_0207940E:
|
|
ldr r0, _0207955C ; =0x000005C4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020143D0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0x0
|
|
bl FUN_020200A0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0x0
|
|
bne _02079454
|
|
ldr r0, _02079560 ; =0x000005E2
|
|
bl FUN_020054C8
|
|
ldr r0, _02079564 ; =0x000004A8
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #0x1
|
|
str r1, [r4, r0]
|
|
mov r1, #0x0
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x2
|
|
add r2, r1, #0x0
|
|
add r3, r1, #0x0
|
|
bl FUN_0200E1D0
|
|
add sp, #0x10
|
|
mov r0, #0x3
|
|
pop {r4-r6, pc}
|
|
_02079454:
|
|
ldr r0, _02079568 ; =0x0000045C
|
|
mov r1, #0x5
|
|
str r1, [r4, r0]
|
|
b _02079526
|
|
_0207945C:
|
|
mov r0, #0x46
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0x4
|
|
bne _02079470
|
|
cmp r1, #0x1
|
|
bne _02079470
|
|
add sp, #0x10
|
|
mov r0, #0x2
|
|
pop {r4-r6, pc}
|
|
_02079470:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldrh r2, [r4, r0]
|
|
ldr r0, [r4, #0xc]
|
|
cmp r2, r0
|
|
beq _02079526
|
|
lsl r0, r2, #0x1
|
|
add r0, r4, r0
|
|
add r0, #0xd8
|
|
strh r1, [r0, #0x0]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl FUN_02019620
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r2, #0x0
|
|
add r1, r4, #0x0
|
|
ldr r0, _02079540 ; =0x000E0F01
|
|
str r2, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
add r1, #0xd8
|
|
add r3, r2, #0x0
|
|
str r2, [sp, #0xc]
|
|
bl FUN_02078E7C
|
|
mov r1, #0x56
|
|
lsl r1, r1, #0x2
|
|
ldrh r0, [r4, r1]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, r1]
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #0x2
|
|
ldrh r1, [r4, r1]
|
|
ldr r2, [r4, #0xc]
|
|
add r0, r4, r0
|
|
bl FUN_02079710
|
|
ldr r0, _02079544 ; =0x000005EB
|
|
bl FUN_020054C8
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl FUN_020200A0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl FUN_02020398
|
|
mov r3, #0x8
|
|
ldr r0, _0207956C ; =0x04000050
|
|
mov r1, #0x0
|
|
mov r2, #0x7
|
|
str r3, [sp, #0x0]
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3c
|
|
bl FUN_02020130
|
|
mov r0, #0x1
|
|
str r0, [r4, #0x34]
|
|
ldr r0, _02079550 ; =0x000004C4
|
|
mov r3, #0x5f
|
|
add r1, r4, r0
|
|
lsl r3, r3, #0x2
|
|
str r1, [sp, #0x0]
|
|
ldr r1, [r4, r3]
|
|
add r2, r3, #0x0
|
|
str r1, [sp, #0x4]
|
|
sub r2, #0x24
|
|
sub r0, #0xcc
|
|
add r1, r4, #0x0
|
|
sub r3, #0x22
|
|
ldrh r2, [r4, r2]
|
|
add r0, r4, r0
|
|
add r1, #0xd8
|
|
add r3, r4, r3
|
|
bl FUN_0207907C
|
|
_02079526:
|
|
mov r0, #0x2
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207952C: .word 0x00002FFD
|
|
_02079530: .word 0x00001FFE
|
|
_02079534: .word 0x0000E002
|
|
_02079538: .word 0x0000D002
|
|
_0207953C: .word 0x0000D001
|
|
_02079540: .word 0x000E0F01
|
|
_02079544: .word 0x000005EB
|
|
_02079548: .word 0x0000069E
|
|
_0207954C: .word 0x0000FFFF
|
|
_02079550: .word 0x000004C4
|
|
_02079554: .word 0x000004A4
|
|
_02079558: .word 0x000005DC
|
|
_0207955C: .word 0x000005C4
|
|
_02079560: .word 0x000005E2
|
|
_02079564: .word 0x000004A8
|
|
_02079568: .word 0x0000045C
|
|
_0207956C: .word 0x04000050
|
|
|
|
thumb_func_start FUN_02079570
|
|
FUN_02079570: ; 0x02079570
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
mov r4, #0x0
|
|
mov r6, #0x3
|
|
_02079578:
|
|
add r0, r1, #0x1
|
|
add r1, r4, #0x0
|
|
add r2, r6, #0x0
|
|
bl FUN_02078BD0
|
|
add r1, r0, #0x0
|
|
lsl r0, r1, #0x1
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0x1
|
|
beq _02079578
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start FUN_02079590
|
|
FUN_02079590: ; 0x02079590
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
add r4, r0, #0x0
|
|
add r0, r1, #0x0
|
|
str r2, [sp, #0x0]
|
|
cmp r3, #0x0
|
|
bne _020795A4
|
|
add sp, #0x8
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
_020795A4:
|
|
sub r1, r3, #0x1
|
|
lsl r1, r1, #0x1
|
|
str r1, [sp, #0x4]
|
|
ldrh r3, [r2, r1]
|
|
cmp r4, r0
|
|
bge _020795F2
|
|
mov r1, #0x6
|
|
ldr r2, _020795F8 ; =UNK_020FA40E
|
|
mul r1, r4
|
|
add r5, r2, r1
|
|
mov r7, #0x0
|
|
_020795BA:
|
|
add r2, r7, #0x0
|
|
add r6, r5, #0x0
|
|
_020795BE:
|
|
ldrh r1, [r6, #0x0]
|
|
cmp r3, r1
|
|
bne _020795E2
|
|
cmp r3, #0x1
|
|
beq _020795E2
|
|
mov r0, #0x6
|
|
ldr r1, _020795F8 ; =UNK_020FA40E
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
add r1, r2, #0x0
|
|
bl FUN_02079570
|
|
ldr r2, [sp, #0x0]
|
|
ldr r1, [sp, #0x4]
|
|
add sp, #0x8
|
|
strh r0, [r2, r1]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_020795E2:
|
|
add r2, r2, #0x1
|
|
add r6, r6, #0x2
|
|
cmp r2, #0x3
|
|
blt _020795BE
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x6
|
|
cmp r4, r0
|
|
blt _020795BA
|
|
_020795F2:
|
|
mov r0, #0x0
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_020795F8: .word UNK_020FA40E
|
|
|
|
thumb_func_start FUN_020795FC
|
|
FUN_020795FC: ; 0x020795FC
|
|
push {r3-r7, lr}
|
|
add r4, r0, #0x0
|
|
add r0, r1, #0x0
|
|
ldr r1, [sp, #0x1c]
|
|
mov lr, r2
|
|
mov r12, r3
|
|
cmp r1, #0x0
|
|
beq _02079618
|
|
sub r1, r1, #0x1
|
|
ldr r6, [sp, #0x18]
|
|
lsl r7, r1, #0x1
|
|
ldrh r5, [r6, r7]
|
|
cmp r5, #0x1
|
|
bne _0207961C
|
|
_02079618:
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
_0207961C:
|
|
add r2, r4, #0x0
|
|
cmp r4, r0
|
|
bge _0207964E
|
|
mov r1, #0x6
|
|
ldr r3, _020796F4 ; =UNK_020FA40E
|
|
mul r1, r4
|
|
add r3, r3, r1
|
|
_0207962A:
|
|
ldrh r1, [r3, #0x0]
|
|
cmp r5, r1
|
|
bne _02079646
|
|
add r3, r2, #0x0
|
|
mov r0, #0x6
|
|
mul r3, r0
|
|
mov r0, lr
|
|
ldr r2, _020796F4 ; =UNK_020FA40E
|
|
lsl r1, r0, #0x1
|
|
add r0, r2, r3
|
|
ldrh r0, [r1, r0]
|
|
strh r0, [r6, r7]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_02079646:
|
|
add r2, r2, #0x1
|
|
add r3, r3, #0x6
|
|
cmp r2, r0
|
|
blt _0207962A
|
|
_0207964E:
|
|
cmp r4, r0
|
|
bge _0207967E
|
|
mov r2, lr
|
|
ldr r1, _020796F4 ; =UNK_020FA40E
|
|
lsl r2, r2, #0x1
|
|
add r1, r1, r2
|
|
mov r2, #0x6
|
|
mul r2, r4
|
|
add r2, r1, r2
|
|
_02079660:
|
|
ldrh r1, [r2, #0x0]
|
|
cmp r5, r1
|
|
bne _02079676
|
|
mov r0, #0x6
|
|
add r1, r4, #0x0
|
|
mul r1, r0
|
|
ldr r0, _020796F4 ; =UNK_020FA40E
|
|
ldrh r0, [r0, r1]
|
|
strh r0, [r6, r7]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_02079676:
|
|
add r4, r4, #0x1
|
|
add r2, r2, #0x6
|
|
cmp r4, r0
|
|
blt _02079660
|
|
_0207967E:
|
|
ldr r1, _020796F8 ; =0x0000D001
|
|
mov r0, r12
|
|
cmp r0, r1
|
|
beq _02079698
|
|
add r1, r1, #0x1
|
|
mov r0, r12
|
|
cmp r0, r1
|
|
beq _020796B8
|
|
ldr r1, _020796FC ; =0x0000E006
|
|
mov r0, r12
|
|
cmp r0, r1
|
|
beq _020796D8
|
|
b _020796F0
|
|
_02079698:
|
|
ldr r1, _02079700 ; =UNK_020FA1A4
|
|
mov r2, #0x0
|
|
_0207969C:
|
|
ldrh r0, [r1, #0x0]
|
|
cmp r5, r0
|
|
bne _020796AE
|
|
ldr r0, _02079704 ; =UNK_020FA1A6
|
|
lsl r1, r2, #0x2
|
|
ldrh r0, [r0, r1]
|
|
strh r0, [r6, r7]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_020796AE:
|
|
add r2, r2, #0x1
|
|
add r1, r1, #0x4
|
|
cmp r2, #0xc
|
|
blo _0207969C
|
|
b _020796F0
|
|
_020796B8:
|
|
ldr r1, _02079708 ; =UNK_020FA17C
|
|
mov r2, #0x0
|
|
_020796BC:
|
|
ldrh r0, [r1, #0x0]
|
|
cmp r5, r0
|
|
bne _020796CE
|
|
ldr r0, _0207970C ; =UNK_020FA17E
|
|
lsl r1, r2, #0x2
|
|
ldrh r0, [r0, r1]
|
|
strh r0, [r6, r7]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_020796CE:
|
|
add r2, r2, #0x1
|
|
add r1, r1, #0x4
|
|
cmp r2, #0xa
|
|
blo _020796BC
|
|
b _020796F0
|
|
_020796D8:
|
|
cmp r5, #0x26
|
|
bne _020796E4
|
|
mov r0, #0x24
|
|
strh r0, [r6, r7]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_020796E4:
|
|
cmp r5, #0x76
|
|
bne _020796F0
|
|
mov r0, #0x74
|
|
strh r0, [r6, r7]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_020796F0:
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_020796F4: .word UNK_020FA40E
|
|
_020796F8: .word 0x0000D001
|
|
_020796FC: .word 0x0000E006
|
|
_02079700: .word UNK_020FA1A4
|
|
_02079704: .word UNK_020FA1A6
|
|
_02079708: .word UNK_020FA17C
|
|
_0207970C: .word UNK_020FA17E
|
|
|
|
thumb_func_start FUN_02079710
|
|
FUN_02079710: ; 0x02079710
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
add r6, r2, #0x0
|
|
mov r4, #0x0
|
|
str r0, [sp, #0x0]
|
|
str r1, [sp, #0x4]
|
|
cmp r6, #0x0
|
|
ble _02079734
|
|
add r5, r0, #0x0
|
|
mov r7, #0x2b
|
|
_02079724:
|
|
ldr r0, [r5, #0x0]
|
|
add r1, r7, #0x0
|
|
bl FUN_02020130
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r4, r6
|
|
blt _02079724
|
|
_02079734:
|
|
ldr r0, [sp, #0x4]
|
|
cmp r0, r6
|
|
beq _02079746
|
|
lsl r1, r0, #0x2
|
|
ldr r0, [sp, #0x0]
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x2c
|
|
bl FUN_02020130
|
|
_02079746:
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start FUN_0207974C
|
|
FUN_0207974C: ; 0x0207974C
|
|
push {r3-r7, lr}
|
|
sub sp, #0x18
|
|
str r2, [sp, #0x10]
|
|
ldr r2, [sp, #0x30]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r5, r0, #0x0
|
|
str r3, [sp, #0x14]
|
|
str r2, [sp, #0x30]
|
|
bl FUN_02019620
|
|
ldr r1, _0207982C ; =UNK_020F9D30
|
|
ldr r0, [sp, #0x10]
|
|
mov r7, #0x0
|
|
ldrb r4, [r1, r0]
|
|
mov r6, #0x10
|
|
_0207976C:
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
lsl r2, r6, #0x10
|
|
str r0, [sp, #0x4]
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #0x0
|
|
bl FUN_020196F4
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
lsl r2, r6, #0x10
|
|
str r0, [sp, #0x4]
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #0x26
|
|
bl FUN_020196F4
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
lsl r2, r6, #0x10
|
|
str r0, [sp, #0x4]
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #0x4c
|
|
bl FUN_020196F4
|
|
add r7, r7, #0x1
|
|
add r6, #0x20
|
|
cmp r7, #0x6
|
|
blt _0207976C
|
|
mov r7, #0x0
|
|
add r6, r7, #0x0
|
|
_020797BA:
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
lsl r2, r6, #0x10
|
|
str r0, [sp, #0x4]
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #0x13
|
|
bl FUN_020196F4
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
lsl r2, r6, #0x10
|
|
str r0, [sp, #0x4]
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #0x39
|
|
bl FUN_020196F4
|
|
add r7, r7, #0x1
|
|
add r6, #0x20
|
|
cmp r7, #0x7
|
|
blt _020797BA
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x14
|
|
ldr r2, _02079830 ; =UNK_0210606C
|
|
mul r1, r0
|
|
mov r7, #0x0
|
|
mov r6, #0x4
|
|
add r4, r2, r1
|
|
_020797FC:
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [sp, #0x14]
|
|
mov r2, #0x0
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [sp, #0x30]
|
|
add r3, r6, #0x0
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r4, #0x0]
|
|
add r0, r5, #0x0
|
|
bl FUN_02078E7C
|
|
add r7, r7, #0x1
|
|
add r6, #0x13
|
|
add r4, r4, #0x4
|
|
cmp r7, #0x5
|
|
blt _020797FC
|
|
add r0, r5, #0x0
|
|
bl FUN_020191D0
|
|
add sp, #0x18
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0207982C: .word UNK_020F9D30
|
|
_02079830: .word UNK_0210606C
|
|
|
|
thumb_func_start FUN_02079834
|
|
FUN_02079834: ; 0x02079834
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
add r6, r1, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r7, #0x0
|
|
add r1, r0, #0x0
|
|
_02079840:
|
|
ldr r0, [r1, #0x0]
|
|
cmp r0, #0x0
|
|
beq _02079876
|
|
mov r0, #0x0
|
|
ldr r4, _020798B8 ; =UNK_020FA1D4
|
|
str r0, [sp, #0x4]
|
|
add r5, r6, #0x0
|
|
_0207984E:
|
|
ldr r0, [r5, #0x0]
|
|
ldr r1, [r4, #0x8]
|
|
bl FUN_02020130
|
|
ldr r0, [sp, #0x4]
|
|
add r4, #0x10
|
|
add r0, r0, #0x1
|
|
add r5, r5, #0x4
|
|
str r0, [sp, #0x4]
|
|
cmp r0, #0x3
|
|
blt _0207984E
|
|
ldr r1, _020798BC ; =UNK_020FA1DC
|
|
lsl r2, r7, #0x4
|
|
lsl r0, r7, #0x2
|
|
ldr r1, [r1, r2]
|
|
ldr r0, [r6, r0]
|
|
sub r1, r1, #0x3
|
|
bl FUN_02020130
|
|
b _0207987E
|
|
_02079876:
|
|
add r7, r7, #0x1
|
|
add r1, r1, #0x4
|
|
cmp r7, #0x3
|
|
blt _02079840
|
|
_0207987E:
|
|
ldr r4, [sp, #0x0]
|
|
ldr r5, _020798C0 ; =UNK_020FA224
|
|
mov r7, #0x5
|
|
add r4, #0x14
|
|
add r6, #0x14
|
|
_02079888:
|
|
ldr r0, [r4, #0x0]
|
|
cmp r0, #0x0
|
|
beq _02079898
|
|
ldr r1, [r5, #0x8]
|
|
ldr r0, [r6, #0x0]
|
|
add r1, r1, #0x1
|
|
bl FUN_02020130
|
|
_02079898:
|
|
add r7, r7, #0x1
|
|
add r4, r4, #0x4
|
|
add r5, #0x10
|
|
add r6, r6, #0x4
|
|
cmp r7, #0x7
|
|
blt _02079888
|
|
mov r2, #0x0
|
|
add r1, r2, #0x0
|
|
_020798A8:
|
|
ldr r0, [sp, #0x0]
|
|
add r2, r2, #0x1
|
|
stmia r0!, {r1}
|
|
str r0, [sp, #0x0]
|
|
cmp r2, #0x7
|
|
blt _020798A8
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_020798B8: .word UNK_020FA1D4
|
|
_020798BC: .word UNK_020FA1DC
|
|
_020798C0: .word UNK_020FA224
|
|
|
|
thumb_func_start FUN_020798C4
|
|
FUN_020798C4: ; 0x020798C4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020388
|
|
cmp r0, #0x0
|
|
bne _0207992E
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldrh r1, [r4, r0]
|
|
ldr r0, [r4, #0xc]
|
|
cmp r1, r0
|
|
bne _020798F8
|
|
mov r0, #0xc
|
|
str r0, [r4, #0x1c]
|
|
mov r0, #0x0
|
|
str r0, [r4, #0x20]
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x27
|
|
bl FUN_02020130
|
|
b _02079904
|
|
_020798F8:
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x27
|
|
bl FUN_02020130
|
|
_02079904:
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #0x0
|
|
bne _02079918
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FUN_020200A0
|
|
b _02079920
|
|
_02079918:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl FUN_02078D7C
|
|
_02079920:
|
|
mov r1, #0x0
|
|
mov r0, #0xd3
|
|
str r1, [r4, #0x34]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020398
|
|
_0207992E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start FUN_02079930
|
|
FUN_02079930: ; 0x02079930
|
|
push {r3-r7, lr}
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x0
|
|
mov r12, r0
|
|
ldr r0, [sp, #0x0]
|
|
ldr r0, [r0, #0x0]
|
|
cmp r0, #0x4
|
|
bne _02079944
|
|
mov r0, #0x4
|
|
mov r12, r0
|
|
_02079944:
|
|
ldr r2, _020799E0 ; =UNK_021C48F8
|
|
ldrh r0, [r2, #0x20]
|
|
cmp r0, #0x0
|
|
beq _020799DA
|
|
ldrh r0, [r2, #0x1c]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov lr, r0
|
|
ldrh r0, [r2, #0x1e]
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
mov r0, r12
|
|
cmp r0, #0x47
|
|
bhs _020799DA
|
|
mov r0, #0x6
|
|
mov r2, r12
|
|
mul r0, r2
|
|
ldr r2, _020799E4 ; =UNK_020FA264
|
|
add r2, r2, r0
|
|
add r3, r2, #0x0
|
|
_0207996C:
|
|
ldrh r4, [r3, #0x2]
|
|
ldrb r0, [r2, #0x0]
|
|
ldrb r6, [r2, #0x1]
|
|
lsl r4, r4, #0x1e
|
|
lsr r4, r4, #0x1e
|
|
beq _02079982
|
|
cmp r4, #0x1
|
|
beq _02079988
|
|
cmp r4, #0x2
|
|
beq _0207998E
|
|
b _02079992
|
|
_02079982:
|
|
mov r5, #0x1f
|
|
mov r1, #0x16
|
|
b _02079992
|
|
_02079988:
|
|
mov r5, #0x20
|
|
mov r1, #0x16
|
|
b _02079992
|
|
_0207998E:
|
|
mov r5, #0x10
|
|
mov r1, #0x13
|
|
_02079992:
|
|
mov r4, lr
|
|
cmp r4, r0
|
|
blo _020799CC
|
|
cmp r7, r6
|
|
blo _020799CC
|
|
add r4, r0, r5
|
|
mov r0, lr
|
|
cmp r0, r4
|
|
bgt _020799CC
|
|
add r0, r6, r1
|
|
cmp r7, r0
|
|
bgt _020799CC
|
|
ldr r2, _020799E4 ; =UNK_020FA264
|
|
mov r1, #0x6
|
|
mov r0, r12
|
|
mul r1, r0
|
|
add r2, r2, r1
|
|
ldrb r0, [r2, #0x4]
|
|
lsl r0, r0, #0x1b
|
|
lsr r1, r0, #0x1b
|
|
ldr r0, [sp, #0x0]
|
|
str r1, [r0, #0x1c]
|
|
ldrb r0, [r2, #0x5]
|
|
lsl r0, r0, #0x1b
|
|
lsr r1, r0, #0x1b
|
|
ldr r0, [sp, #0x0]
|
|
str r1, [r0, #0x20]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
_020799CC:
|
|
mov r0, r12
|
|
add r0, r0, #0x1
|
|
add r2, r2, #0x6
|
|
add r3, r3, #0x6
|
|
mov r12, r0
|
|
cmp r0, #0x47
|
|
blo _0207996C
|
|
_020799DA:
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_020799E0: .word UNK_021C48F8
|
|
_020799E4: .word UNK_020FA264
|