.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 thumb_func_start MOD52_021D74E0 MOD52_021D74E0: ; 0x021D74E0 push {r3, lr} mov r2, #2 mov r0, #3 mov r1, #0x4d lsl r2, r2, #0x10 bl FUN_0201681C bl InitializeMainRNG mov r0, #1 pop {r3, pc} .align 2, 0 thumb_func_end MOD52_021D74E0 thumb_func_start MOD52_021D74F8 MOD52_021D74F8: ; 0x021D74F8 push {r3, lr} bl OverlayManager_GetField18 ldr r1, [r0, #8] mov r0, #0x4d bl MOD52_021D769C mov r0, #1 pop {r3, pc} .align 2, 0 thumb_func_end MOD52_021D74F8 thumb_func_start MOD52_021D750C MOD52_021D750C: ; 0x021D750C push {r3, lr} mov r0, #0x4d bl FUN_020168D0 mov r0, #0 ldr r1, _021D7524 ; =UNK_020FD144 mvn r0, r0 bl RegisterMainOverlay mov r0, #1 pop {r3, pc} nop _021D7524: .word UNK_020FD144 thumb_func_end MOD52_021D750C thumb_func_start MOD52_021D7528 MOD52_021D7528: ; 0x021D7528 push {r3, lr} mov r2, #2 mov r0, #3 mov r1, #0x4d lsl r2, r2, #0x10 bl FUN_0201681C bl InitializeMainRNG mov r0, #1 pop {r3, pc} .align 2, 0 thumb_func_end MOD52_021D7528 thumb_func_start MOD52_021D7540 MOD52_021D7540: ; 0x021D7540 push {r4, lr} bl OverlayManager_GetField18 ldr r4, [r0, #8] mov r0, #0x4d add r1, r4, #0 mov r2, #1 bl MOD52_021D7604 add r0, r4, #0 bl Sav2_PlayerData_GetIGTAddr bl FUN_02015E3C mov r0, #1 pop {r4, pc} thumb_func_end MOD52_021D7540 thumb_func_start MOD52_021D7560 MOD52_021D7560: ; 0x021D7560 push {r3, lr} mov r0, #0x4d bl FUN_020168D0 mov r0, #0 ldr r1, _021D7578 ; =UNK_020F2B7C mvn r0, r0 bl RegisterMainOverlay mov r0, #1 pop {r3, pc} nop _021D7578: .word UNK_020F2B7C thumb_func_end MOD52_021D7560 thumb_func_start MOD52_021D757C MOD52_021D757C: ; 0x021D757C push {r3, lr} mov r2, #2 mov r0, #3 mov r1, #0x4d lsl r2, r2, #0x10 bl FUN_0201681C bl InitializeMainRNG mov r0, #1 pop {r3, pc} .align 2, 0 thumb_func_end MOD52_021D757C thumb_func_start MOD52_021D7594 MOD52_021D7594: ; 0x021D7594 push {r3, r4, r5, lr} bl OverlayManager_GetField18 ldr r4, [r0, #8] add r0, r4, #0 bl Sav2_SysInfo_get add r5, r0, #0 mov r0, #0x4d add r1, r4, #0 bl MOD52_021D7688 add r0, r4, #0 mov r1, #0 bl Options_SetButtonModeOnMain add r0, r5, #0 bl Sav2_SysInfo_MacAddressIsMine cmp r0, #0 beq _021D75C8 add r0, r5, #0 bl Sav2_SysInfo_RTCOffsetIsMine cmp r0, #0 bne _021D75D8 _021D75C8: add r0, r4, #0 bl Sav2_SysInfo_RTC_get bl FUN_020238A4 add r0, r5, #0 bl Sav2_SysInfo_InitFromSystem _021D75D8: add r0, r4, #0 bl Sav2_PlayerData_GetIGTAddr bl FUN_02015E3C mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD52_021D7594 thumb_func_start MOD52_021D75E8 MOD52_021D75E8: ; 0x021D75E8 push {r3, lr} mov r0, #0x4d bl FUN_020168D0 mov r0, #0 ldr r1, _021D7600 ; =UNK_020F2B8C mvn r0, r0 bl RegisterMainOverlay mov r0, #1 pop {r3, pc} nop _021D7600: .word UNK_020F2B8C thumb_func_end MOD52_021D75E8 thumb_func_start MOD52_021D7604 MOD52_021D7604: ; 0x021D7604 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 str r0, [sp] add r0, r5, #0 add r6, r2, #0 bl Sav2_SysInfo_get bl Sav2_SysInfo_InitFromSystem add r0, r5, #0 bl Sav2_SysInfo_RTC_get bl Sav2_SysInfo_RTC_init add r0, r5, #0 bl FUN_0202881C add r4, r0, #0 bl MTRandom add r2, r0, #0 add r0, r4, #0 mov r1, #1 bl FUN_02028788 add r0, r5, #0 bl FUN_0206007C add r0, r5, #0 bl Sav2_PlayerData_GetProfileAddr add r4, r0, #0 bl MTRandom add r7, r0, #0 cmp r6, #0 beq _021D7656 add r0, r4, #0 add r1, r7, #0 bl PlayerProfile_SetTrainerID _021D7656: add r0, r4, #0 bl PlayerProfile_GetTrainerGender add r1, r0, #0 add r0, r7, #0 mov r2, #0 bl FUN_02053678 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl PlayerProfile_SetAvatar add r0, r5, #0 bl FUN_02024ECC ldr r1, [sp] ldr r2, _021D7684 ; =0x021D76F8 mov r3, #0x76 bl FUN_020250C4 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D7684: .word MOD52_021D76F8 thumb_func_end MOD52_021D7604 thumb_func_start MOD52_021D7688 MOD52_021D7688: ; 0x021D7688 push {r3, lr} add r0, r1, #0 bl FUN_020226FC cmp r0, #0 bne _021D769A mov r0, #0 bl OS_ResetSystem _021D769A: pop {r3, pc} thumb_func_end MOD52_021D7688 thumb_func_start MOD52_021D769C MOD52_021D769C: ; 0x021D769C push {r4, lr} add r4, r1, #0 add r0, r4, #0 bl Sav2_InitDynamicRegion add r0, r4, #0 bl FUN_020377E0 add r0, r4, #0 bl Sav2_PlayerData_GetProfileAddr ldr r1, _021D76C4 ; =0x00000BB8 bl PlayerProfile_SetMoney add r0, r4, #0 bl SavArray_Flags_get bl FUN_0205ECD4 pop {r4, pc} .align 2, 0 _021D76C4: .word 0x00000BB8 thumb_func_end MOD52_021D769C .rodata .global MOD52_021D76C8 MOD52_021D76C8: ; 0x021D76C8 .word MOD52_021D757C, MOD52_021D7594, MOD52_021D75E8, 0xFFFFFFFF .global MOD52_021D76D8 MOD52_021D76D8: ; 0x021D76D8 .word MOD52_021D7528, MOD52_021D7540, MOD52_021D7560, 0xFFFFFFFF .global MOD52_021D76E8 MOD52_021D76E8: ; 0x021D76E8 .word MOD52_021D74E0, MOD52_021D74F8, MOD52_021D750C, 0xFFFFFFFF .global MOD52_021D76F8 MOD52_021D76F8: ; 0x021D76F8 .byte 0x9B, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00 .byte 0x9B, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00 .byte 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x02, 0x00, 0x9E, 0x00, 0x01, 0x00, 0xA7, 0x00, 0x02, 0x00 .byte 0xA7, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00 .byte 0x9B, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00 .byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00 .byte 0x9B, 0x00, 0x01, 0x00, 0xA5, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x02, 0x00, 0xA4, 0x00, 0x02, 0x00 .byte 0xA5, 0x00, 0x02, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00 .byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00 .byte 0xA6, 0x00, 0x01, 0x00, 0x9F, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00 .byte 0xA4, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00 .byte 0xA0, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00 .byte 0xA3, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00 .byte 0xAE, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00 .byte 0xA8, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00 .byte 0xA6, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0xA3, 0x00, 0x01, 0x00 .byte 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00 .byte 0x96, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0x97, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00 .byte 0xA0, 0x00, 0x01, 0x00, 0xA1, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00 .byte 0x9F, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00 .byte 0xA1, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xA0, 0x00, 0x02, 0x00, 0xA1, 0x00, 0x02, 0x00 .byte 0xA2, 0x00, 0x02, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x03, 0x00 .byte 0xA6, 0x00, 0x03, 0x00, 0xA7, 0x00, 0x03, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00 .byte 0xAC, 0x00, 0x02, 0x00, 0xAC, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0xAA, 0x00, 0x01, 0x00 .byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00 .byte 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00 .byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00 .byte 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x9A, 0x00, 0x01, 0x00 .byte 0xAB, 0x00, 0x02, 0x00, 0xAD, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00 .byte 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00 .data .bss