mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-12-11 22:57:18 +00:00
1219 lines
25 KiB
ArmAsm
1219 lines
25 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.rodata
|
|
|
|
_020FC7D4:
|
|
.byte 0x25, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00
|
|
_020FC7DC:
|
|
.byte 0x47, 0x00, 0x00, 0x00
|
|
.byte 0x83, 0x00, 0x00, 0x00
|
|
_020FC7E4:
|
|
.byte 0x27, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
|
|
_020FC7EC:
|
|
.byte 0x26, 0x00, 0x00, 0x00
|
|
.byte 0x62, 0x00, 0x00, 0x00
|
|
_020FC7F4:
|
|
.byte 0x5C, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00
|
|
_020FC7FC:
|
|
.byte 0x28, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00
|
|
_020FC804:
|
|
.byte 0x44, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00
|
|
.byte 0x81, 0x00, 0x00, 0x00
|
|
_020FC814:
|
|
.byte 0x2C, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00
|
|
.byte 0x69, 0x00, 0x00, 0x00
|
|
.public _020FC824
|
|
_020FC824:
|
|
.byte 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x16, 0x00, 0x1A, 0x00, 0x1E, 0x00
|
|
.byte 0x22, 0x00, 0x26, 0x00, 0x2A, 0x00, 0x2E, 0x00
|
|
_020FC838:
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00
|
|
.byte 0x4B, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00
|
|
_020FC850:
|
|
.byte 0x33, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00
|
|
.byte 0x59, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00
|
|
_020FC868:
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00
|
|
.byte 0x4C, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00
|
|
_020FC880:
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00
|
|
.byte 0x56, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00
|
|
_020FC898:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x05, 0x00, 0x00, 0x00
|
|
_020FC8B4:
|
|
.byte 0x35, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x72, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00
|
|
.byte 0x74, 0x00, 0x00, 0x00
|
|
_020FC8D4:
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00
|
|
.byte 0x7A, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x7C, 0x00, 0x00, 0x00
|
|
_020FC8F4:
|
|
.byte 0x4F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x8C, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00
|
|
.byte 0x8E, 0x00, 0x00, 0x00
|
|
_020FC914:
|
|
.byte 0x5D, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00
|
|
.byte 0x9A, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
.byte 0x9C, 0x00, 0x00, 0x00
|
|
_020FC934:
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
|
|
.byte 0x6C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00
|
|
.byte 0x7F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00
|
|
_020FC95C:
|
|
.byte 0x4A, 0x00, 0x00, 0x00
|
|
.byte 0x86, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
|
|
.byte 0x75, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
|
|
.byte 0x6A, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
|
|
.byte 0x8F, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00
|
|
_020FC99C:
|
|
.byte 0x2C, 0x00, 0x00, 0x00
|
|
.byte 0x68, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00
|
|
.byte 0x7E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00
|
|
.byte 0x85, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00
|
|
.byte 0x90, 0x00, 0x00, 0x00
|
|
_020FC9D4:
|
|
.byte 0xA9, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0xAB, 0x00, 0x00, 0x00
|
|
.byte 0xAC, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00
|
|
.byte 0xB0, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x00, 0x00
|
|
.byte 0xB4, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x00, 0x00
|
|
.byte 0xB8, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00
|
|
.byte 0xBC, 0x00, 0x00, 0x00
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_0205A44C
|
|
sub_0205A44C: ; 0x0205A44C
|
|
push {r3, lr}
|
|
add r0, r3, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
str r1, [r0, #0x2c]
|
|
add r3, #0x80
|
|
ldrb r1, [r2]
|
|
ldr r0, [r3]
|
|
str r1, [r0, #0x40]
|
|
ldrb r0, [r2]
|
|
cmp r0, #4
|
|
bne _0205A46A
|
|
bl sub_020388E0
|
|
_0205A46A:
|
|
pop {r3, pc}
|
|
thumb_func_end sub_0205A44C
|
|
|
|
thumb_func_start sub_0205A46C
|
|
sub_0205A46C: ; 0x0205A46C
|
|
add r3, #0x80
|
|
ldr r0, [r3]
|
|
mov r1, #1
|
|
str r1, [r0, #0x44]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205A46C
|
|
|
|
thumb_func_start sub_0205A478
|
|
sub_0205A478: ; 0x0205A478
|
|
ldr r0, [r0, #0x44]
|
|
bx lr
|
|
thumb_func_end sub_0205A478
|
|
|
|
thumb_func_start sub_0205A47C
|
|
sub_0205A47C: ; 0x0205A47C
|
|
push {r4, lr}
|
|
ldr r0, [r0, #0x30]
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
bne _0205A494
|
|
mov r1, #0
|
|
mov r0, #0x68
|
|
add r2, r1, #0
|
|
bl sub_02037030
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
_0205A494:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205A47C
|
|
|
|
thumb_func_start sub_0205A498
|
|
sub_0205A498: ; 0x0205A498
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
bl sub_0203769C
|
|
mov r1, #1
|
|
eor r0, r1
|
|
bl sub_02034818
|
|
ldr r0, _0205A4B0 ; =0x0000066A
|
|
mov r1, #1
|
|
strh r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0205A4B0: .word 0x0000066A
|
|
thumb_func_end sub_0205A498
|
|
|
|
thumb_func_start sub_0205A4B4
|
|
sub_0205A4B4: ; 0x0205A4B4
|
|
add r1, #0x80
|
|
ldr r1, [r1]
|
|
lsl r0, r0, #2
|
|
add r1, r1, r0
|
|
mov r0, #0x62
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bx lr
|
|
thumb_func_end sub_0205A4B4
|
|
|
|
thumb_func_start sub_0205A4C4
|
|
sub_0205A4C4: ; 0x0205A4C4
|
|
add r3, #0x80
|
|
ldr r1, [r3]
|
|
ldrb r2, [r2]
|
|
add r1, r1, r0
|
|
ldr r0, _0205A4D4 ; =0x00000176
|
|
strb r2, [r1, r0]
|
|
bx lr
|
|
nop
|
|
_0205A4D4: .word 0x00000176
|
|
thumb_func_end sub_0205A4C4
|
|
|
|
thumb_func_start sub_0205A4D8
|
|
sub_0205A4D8: ; 0x0205A4D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0203769C
|
|
ldr r2, _0205A504 ; =0x00000176
|
|
add r1, r4, r0
|
|
ldrb r1, [r1, r2]
|
|
cmp r1, #2
|
|
bne _0205A4EE
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0205A4EE:
|
|
mov r1, #1
|
|
eor r0, r1
|
|
add r0, r4, r0
|
|
ldrb r0, [r0, r2]
|
|
cmp r0, #2
|
|
bne _0205A4FE
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_0205A4FE:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_0205A504: .word 0x00000176
|
|
thumb_func_end sub_0205A4D8
|
|
|
|
thumb_func_start sub_0205A508
|
|
sub_0205A508: ; 0x0205A508
|
|
push {r3, lr}
|
|
add r1, sp, #0
|
|
strb r0, [r1]
|
|
mov r0, #0x65
|
|
add r1, sp, #0
|
|
mov r2, #1
|
|
bl sub_02037030
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205A508
|
|
|
|
thumb_func_start sub_0205A51C
|
|
sub_0205A51C: ; 0x0205A51C
|
|
ldr r3, _0205A540 ; =_020FC824
|
|
mov r2, #0
|
|
_0205A520:
|
|
ldrh r1, [r3]
|
|
cmp r1, r0
|
|
bgt _0205A530
|
|
add r1, r1, #4
|
|
cmp r1, r0
|
|
ble _0205A530
|
|
add r0, r2, #0
|
|
bx lr
|
|
_0205A530:
|
|
add r2, r2, #1
|
|
add r3, r3, #2
|
|
cmp r2, #0xa
|
|
blt _0205A520
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
bx lr
|
|
nop
|
|
_0205A540: .word _020FC824
|
|
thumb_func_end sub_0205A51C
|
|
|
|
thumb_func_start sub_0205A544
|
|
sub_0205A544: ; 0x0205A544
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
cmp r4, #9
|
|
ble _0205A564
|
|
add r0, r4, #0
|
|
bl sub_0205A51C
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _0205A566
|
|
bl GF_AssertFail
|
|
b _0205A566
|
|
_0205A564:
|
|
add r5, r4, #0
|
|
_0205A566:
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
add r6, r6, r0
|
|
lsl r7, r5, #2
|
|
ldr r0, [r6, r7]
|
|
cmp r0, #0
|
|
bne _0205A578
|
|
mov r0, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A578:
|
|
add r0, r5, #0
|
|
bl sub_02035798
|
|
ldr r5, [r6, r7]
|
|
add r5, #0x50
|
|
add r5, #0x30
|
|
cmp r0, #0
|
|
bne _0205A58C
|
|
mov r0, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A58C:
|
|
cmp r4, #9
|
|
ble _0205A5A6
|
|
sub r4, #0xa
|
|
lsr r2, r4, #0x1f
|
|
lsl r1, r4, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r0, r5, r0
|
|
ldrb r0, [r0, #0x18]
|
|
asr r4, r0, #7
|
|
b _0205A5AC
|
|
_0205A5A6:
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r4, r0, #0
|
|
_0205A5AC:
|
|
ldrb r0, [r5, #0x1c]
|
|
cmp r0, #0xd
|
|
bhi _0205A68A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0205A5BE: ; jump table
|
|
.short _0205A68A - _0205A5BE - 2 ; case 0
|
|
.short _0205A636 - _0205A5BE - 2 ; case 1
|
|
.short _0205A652 - _0205A5BE - 2 ; case 2
|
|
.short _0205A66E - _0205A5BE - 2 ; case 3
|
|
.short _0205A5DA - _0205A5BE - 2 ; case 4
|
|
.short _0205A5E2 - _0205A5BE - 2 ; case 5
|
|
.short _0205A5FE - _0205A5BE - 2 ; case 6
|
|
.short _0205A61A - _0205A5BE - 2 ; case 7
|
|
.short _0205A636 - _0205A5BE - 2 ; case 8
|
|
.short _0205A652 - _0205A5BE - 2 ; case 9
|
|
.short _0205A66E - _0205A5BE - 2 ; case 10
|
|
.short _0205A5DA - _0205A5BE - 2 ; case 11
|
|
.short _0205A66E - _0205A5BE - 2 ; case 12
|
|
.short _0205A66E - _0205A5BE - 2 ; case 13
|
|
_0205A5DA:
|
|
ldr r0, _0205A690 ; =_020FC7FC
|
|
lsl r1, r4, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A5E2:
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A694 ; =_020FC814
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A5FE:
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A698 ; =_020FC8D4
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A61A:
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A69C ; =_020FC804
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A636:
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A6A0 ; =_020FC8B4
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A652:
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A6A4 ; =_020FC8F4
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A66E:
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A6A8 ; =_020FC914
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A68A:
|
|
mov r0, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0205A690: .word _020FC7FC
|
|
_0205A694: .word _020FC814
|
|
_0205A698: .word _020FC8D4
|
|
_0205A69C: .word _020FC804
|
|
_0205A6A0: .word _020FC8B4
|
|
_0205A6A4: .word _020FC8F4
|
|
_0205A6A8: .word _020FC914
|
|
thumb_func_end sub_0205A544
|
|
|
|
thumb_func_start sub_0205A6AC
|
|
sub_0205A6AC: ; 0x0205A6AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
bl sub_0203769C
|
|
bl sub_020348A8
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
bl sub_0203769C
|
|
mov r1, #1
|
|
eor r0, r1
|
|
bl sub_020348A8
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
bl sub_0203769C
|
|
bl sub_020348CC
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
bl sub_0203769C
|
|
mov r1, #1
|
|
eor r0, r1
|
|
bl sub_020348CC
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r4, #0
|
|
bne _0205A6F0
|
|
mov r0, #0xf
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A6F0:
|
|
beq _0205A70C
|
|
ldr r0, [sp]
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl BufferCountryName
|
|
cmp r5, #0
|
|
beq _0205A70C
|
|
ldr r0, [sp]
|
|
mov r1, #4
|
|
add r2, r4, #0
|
|
add r3, r5, #0
|
|
bl BufferCityName
|
|
_0205A70C:
|
|
cmp r7, r4
|
|
beq _0205A724
|
|
cmp r5, #0
|
|
bne _0205A718
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A718:
|
|
cmp r6, r5
|
|
bne _0205A720
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A720:
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A724:
|
|
cmp r6, r5
|
|
beq _0205A72C
|
|
mov r0, #0xe
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0205A72C:
|
|
mov r0, #0xf
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205A6AC
|
|
|
|
thumb_func_start sub_0205A730
|
|
sub_0205A730: ; 0x0205A730
|
|
push {r3, lr}
|
|
cmp r0, #0
|
|
beq _0205A742
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A74C ; =_020FC99C
|
|
lsl r1, r1, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r3, pc}
|
|
_0205A742:
|
|
add r0, r2, #0
|
|
bl sub_0205A6AC
|
|
pop {r3, pc}
|
|
nop
|
|
_0205A74C: .word _020FC99C
|
|
thumb_func_end sub_0205A730
|
|
|
|
thumb_func_start sub_0205A750
|
|
sub_0205A750: ; 0x0205A750
|
|
push {r4, r5, r6, lr}
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r3, #0
|
|
cmp r4, #0
|
|
bne _0205A764
|
|
sub r1, r1, #1
|
|
bl sub_0205A544
|
|
pop {r4, r5, r6, pc}
|
|
_0205A764:
|
|
sub r0, r1, #1
|
|
bl sub_02035798
|
|
cmp r0, #0
|
|
bne _0205A780
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl sub_020398D4
|
|
mov r0, #1
|
|
bl sub_02039AD8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0205A780:
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r1, r0, #0
|
|
cmp r4, #0x1a
|
|
bhi _0205A860
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0205A796: ; jump table
|
|
.short _0205A860 - _0205A796 - 2 ; case 0
|
|
.short _0205A7CC - _0205A796 - 2 ; case 1
|
|
.short _0205A7D8 - _0205A796 - 2 ; case 2
|
|
.short _0205A804 - _0205A796 - 2 ; case 3
|
|
.short _0205A804 - _0205A796 - 2 ; case 4
|
|
.short _0205A804 - _0205A796 - 2 ; case 5
|
|
.short _0205A804 - _0205A796 - 2 ; case 6
|
|
.short _0205A804 - _0205A796 - 2 ; case 7
|
|
.short _0205A804 - _0205A796 - 2 ; case 8
|
|
.short _0205A7E0 - _0205A796 - 2 ; case 9
|
|
.short _0205A812 - _0205A796 - 2 ; case 10
|
|
.short _0205A812 - _0205A796 - 2 ; case 11
|
|
.short _0205A812 - _0205A796 - 2 ; case 12
|
|
.short _0205A820 - _0205A796 - 2 ; case 13
|
|
.short _0205A820 - _0205A796 - 2 ; case 14
|
|
.short _0205A820 - _0205A796 - 2 ; case 15
|
|
.short _0205A82E - _0205A796 - 2 ; case 16
|
|
.short _0205A82E - _0205A796 - 2 ; case 17
|
|
.short _0205A82E - _0205A796 - 2 ; case 18
|
|
.short _0205A7F6 - _0205A796 - 2 ; case 19
|
|
.short _0205A7F6 - _0205A796 - 2 ; case 20
|
|
.short _0205A7F6 - _0205A796 - 2 ; case 21
|
|
.short _0205A83C - _0205A796 - 2 ; case 22
|
|
.short _0205A844 - _0205A796 - 2 ; case 23
|
|
.short _0205A84C - _0205A796 - 2 ; case 24
|
|
.short _0205A854 - _0205A796 - 2 ; case 25
|
|
.short _0205A858 - _0205A796 - 2 ; case 26
|
|
_0205A7CC:
|
|
ldr r0, [r5, #0x34]
|
|
add r2, r6, #0
|
|
sub r0, r0, #1
|
|
bl sub_0205A730
|
|
pop {r4, r5, r6, pc}
|
|
_0205A7D8:
|
|
ldr r0, _0205A868 ; =_020FC7D4
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A7E0:
|
|
ldr r0, [r5, #0x34]
|
|
cmp r0, #0
|
|
bne _0205A7EA
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0205A7EA:
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A86C ; =_020FC95C
|
|
lsl r1, r1, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A7F6:
|
|
sub r4, #0x13
|
|
ldr r0, _0205A870 ; =_020FC880
|
|
lsl r2, r4, #3
|
|
lsl r1, r1, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A804:
|
|
sub r0, r4, #3
|
|
lsl r2, r0, #3
|
|
ldr r0, _0205A874 ; =_020FC934
|
|
lsl r1, r1, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A812:
|
|
sub r4, #0xa
|
|
ldr r0, _0205A878 ; =_020FC838
|
|
lsl r2, r4, #3
|
|
lsl r1, r1, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A820:
|
|
sub r4, #0xd
|
|
ldr r0, _0205A87C ; =_020FC850
|
|
lsl r2, r4, #3
|
|
lsl r1, r1, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A82E:
|
|
sub r4, #0x10
|
|
ldr r0, _0205A880 ; =_020FC868
|
|
lsl r2, r4, #3
|
|
lsl r1, r1, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A83C:
|
|
ldr r0, _0205A884 ; =_020FC7E4
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A844:
|
|
ldr r0, _0205A888 ; =_020FC7DC
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A84C:
|
|
ldr r0, _0205A88C ; =_020FC7EC
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A854:
|
|
mov r0, #0xda
|
|
pop {r4, r5, r6, pc}
|
|
_0205A858:
|
|
ldr r0, _0205A890 ; =_020FC7F4
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, r5, r6, pc}
|
|
_0205A860:
|
|
bl GF_AssertFail
|
|
mov r0, #0x28
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0205A868: .word _020FC7D4
|
|
_0205A86C: .word _020FC95C
|
|
_0205A870: .word _020FC880
|
|
_0205A874: .word _020FC934
|
|
_0205A878: .word _020FC838
|
|
_0205A87C: .word _020FC850
|
|
_0205A880: .word _020FC868
|
|
_0205A884: .word _020FC7E4
|
|
_0205A888: .word _020FC7DC
|
|
_0205A88C: .word _020FC7EC
|
|
_0205A890: .word _020FC7F4
|
|
thumb_func_end sub_0205A750
|
|
|
|
thumb_func_start sub_0205A894
|
|
sub_0205A894: ; 0x0205A894
|
|
push {r4, lr}
|
|
bl sub_0203769C
|
|
mov r1, #1
|
|
eor r0, r1
|
|
bl sub_02034818
|
|
add r4, r0, #0
|
|
bne _0205A8AA
|
|
bl GF_AssertFail
|
|
_0205A8AA:
|
|
add r0, r4, #0
|
|
bl PlayerProfile_GetVersion
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205A894
|
|
|
|
thumb_func_start sub_0205A8B4
|
|
sub_0205A8B4: ; 0x0205A8B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r7, #1
|
|
_0205A8BA:
|
|
add r0, r7, #0
|
|
sub r4, r7, #1
|
|
bl sub_02034818
|
|
add r6, r0, #0
|
|
beq _0205A8F2
|
|
bl sub_0203769C
|
|
cmp r0, #0
|
|
bne _0205A8FC
|
|
add r0, r6, #0
|
|
bl PlayerProfile_GetTrainerID
|
|
lsl r1, r4, #2
|
|
str r0, [r5, r1]
|
|
add r0, r6, #0
|
|
bl PlayerProfile_GetAvatar
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
bl PlayerProfile_GetTrainerGender
|
|
lsl r1, r0, #7
|
|
ldr r0, [sp]
|
|
orr r1, r0
|
|
add r0, r5, r4
|
|
strb r1, [r0, #0x18]
|
|
b _0205A8FC
|
|
_0205A8F2:
|
|
lsl r1, r4, #2
|
|
mov r0, #0
|
|
str r0, [r5, r1]
|
|
add r1, r5, r4
|
|
strb r0, [r1, #0x18]
|
|
_0205A8FC:
|
|
add r7, r7, #1
|
|
cmp r7, #5
|
|
blt _0205A8BA
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end sub_0205A8B4
|
|
|
|
thumb_func_start sub_0205A904
|
|
sub_0205A904: ; 0x0205A904
|
|
push {r4, lr}
|
|
sub sp, #0x20
|
|
add r4, r0, #0
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl MI_CpuFill8
|
|
cmp r4, #0xd
|
|
bhi _0205A98E
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0205A924: ; jump table
|
|
.short _0205A98E - _0205A924 - 2 ; case 0
|
|
.short _0205A95E - _0205A924 - 2 ; case 1
|
|
.short _0205A972 - _0205A924 - 2 ; case 2
|
|
.short _0205A986 - _0205A924 - 2 ; case 3
|
|
.short _0205A98E - _0205A924 - 2 ; case 4
|
|
.short _0205A94A - _0205A924 - 2 ; case 5
|
|
.short _0205A94A - _0205A924 - 2 ; case 6
|
|
.short _0205A94A - _0205A924 - 2 ; case 7
|
|
.short _0205A954 - _0205A924 - 2 ; case 8
|
|
.short _0205A968 - _0205A924 - 2 ; case 9
|
|
.short _0205A97C - _0205A924 - 2 ; case 10
|
|
.short _0205A940 - _0205A924 - 2 ; case 11
|
|
.short _0205A97C - _0205A924 - 2 ; case 12
|
|
.short _0205A986 - _0205A924 - 2 ; case 13
|
|
_0205A940:
|
|
add r0, sp, #0
|
|
mov r1, #2
|
|
bl sub_0205A8B4
|
|
b _0205A98E
|
|
_0205A94A:
|
|
add r0, sp, #0
|
|
mov r1, #2
|
|
bl sub_0205A8B4
|
|
b _0205A98E
|
|
_0205A954:
|
|
add r0, sp, #0
|
|
mov r1, #5
|
|
bl sub_0205A8B4
|
|
b _0205A98E
|
|
_0205A95E:
|
|
add r0, sp, #0
|
|
mov r1, #4
|
|
bl sub_0205A8B4
|
|
b _0205A98E
|
|
_0205A968:
|
|
add r0, sp, #0
|
|
mov r1, #5
|
|
bl sub_0205A8B4
|
|
b _0205A98E
|
|
_0205A972:
|
|
add r0, sp, #0
|
|
mov r1, #4
|
|
bl sub_0205A8B4
|
|
b _0205A98E
|
|
_0205A97C:
|
|
add r0, sp, #0
|
|
mov r1, #5
|
|
bl sub_0205A8B4
|
|
b _0205A98E
|
|
_0205A986:
|
|
add r0, sp, #0
|
|
mov r1, #4
|
|
bl sub_0205A8B4
|
|
_0205A98E:
|
|
add r0, sp, #0
|
|
strb r4, [r0, #0x1c]
|
|
add r0, sp, #0
|
|
bl sub_02035854
|
|
bl sub_0203588C
|
|
add sp, #0x20
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205A904
|
|
|
|
thumb_func_start sub_0205A9A0
|
|
sub_0205A9A0: ; 0x0205A9A0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r3, #0
|
|
mov r0, #0x11
|
|
add r6, r1, #0
|
|
add r2, r3, #0
|
|
add r4, r5, #0
|
|
lsl r0, r0, #4
|
|
_0205A9B0:
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0205A9B8
|
|
add r3, r3, #1
|
|
_0205A9B8:
|
|
add r2, r2, #1
|
|
add r4, r4, #4
|
|
cmp r2, #0xa
|
|
blt _0205A9B0
|
|
cmp r3, #0
|
|
beq _0205A9C8
|
|
mov r0, #0xa6
|
|
pop {r4, r5, r6, pc}
|
|
_0205A9C8:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl MailMsg_IsInit
|
|
cmp r0, #0
|
|
bne _0205A9DA
|
|
mov r0, #0xa7
|
|
pop {r4, r5, r6, pc}
|
|
_0205A9DA:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl MailMsg_GetMsgBank
|
|
cmp r0, #4
|
|
beq _0205AA0C
|
|
ldr r0, [r5, #8]
|
|
bl PlayerProfile_GetAvatar
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl sub_0205B46C
|
|
add r2, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl BufferTrainerClassName
|
|
mov r0, #0xa8
|
|
pop {r4, r5, r6, pc}
|
|
_0205AA0C:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl MailMsg_GetMsgNo
|
|
add r4, r0, #0
|
|
cmp r4, #0x14
|
|
blt _0205AA1E
|
|
mov r4, #0
|
|
_0205AA1E:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl MailMsg_GetFieldI
|
|
add r2, r0, #0
|
|
ldr r0, _0205AA44 ; =0x0000FFFF
|
|
cmp r2, r0
|
|
beq _0205AA3A
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl sub_0200C528
|
|
_0205AA3A:
|
|
ldr r0, _0205AA48 ; =_020FC9D4
|
|
lsl r1, r4, #2
|
|
ldr r0, [r0, r1]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0205AA44: .word 0x0000FFFF
|
|
_0205AA48: .word _020FC9D4
|
|
thumb_func_end sub_0205A9A0
|
|
|
|
thumb_func_start sub_0205AA4C
|
|
sub_0205AA4C: ; 0x0205AA4C
|
|
push {r3, r4}
|
|
mov r3, #0
|
|
strb r3, [r0, #0x1c]
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
_0205AA56:
|
|
stmia r4!, {r2}
|
|
add r1, r0, r3
|
|
strb r2, [r1, #0x18]
|
|
strb r2, [r1, #0x10]
|
|
add r3, r3, #1
|
|
strb r2, [r1, #0x14]
|
|
cmp r3, #4
|
|
blt _0205AA56
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205AA4C
|
|
|
|
thumb_func_start sub_0205AA6C
|
|
sub_0205AA6C: ; 0x0205AA6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl MailMsg_copy
|
|
mov r0, #6
|
|
mov r1, #1
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205AA6C
|
|
|
|
thumb_func_start sub_0205AA84
|
|
sub_0205AA84: ; 0x0205AA84
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
ldr r2, [r0, r1]
|
|
cmp r2, #0
|
|
bne _0205AA92
|
|
mov r0, #0
|
|
bx lr
|
|
_0205AA92:
|
|
mov r2, #0
|
|
str r2, [r0, r1]
|
|
sub r1, #8
|
|
add r0, r0, r1
|
|
bx lr
|
|
thumb_func_end sub_0205AA84
|
|
|
|
thumb_func_start sub_0205AA9C
|
|
sub_0205AA9C: ; 0x0205AA9C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
str r3, [sp, #8]
|
|
ldr r2, _0205AB80 ; =0x000002E2
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r3, #4
|
|
bl NewMsgDataFromNarc
|
|
add r6, r0, #0
|
|
cmp r4, #0
|
|
bne _0205AAC2
|
|
sub r0, r7, #1
|
|
bl sub_02035798
|
|
b _0205AACE
|
|
_0205AAC2:
|
|
bl sub_0203769C
|
|
mov r1, #1
|
|
eor r0, r1
|
|
bl sub_02034818
|
|
_0205AACE:
|
|
add r4, r0, #0
|
|
cmp r4, #0
|
|
bne _0205AADE
|
|
add r0, r6, #0
|
|
bl DestroyMsgData
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0205AADE:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl BufferPlayersName
|
|
ldr r2, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl BufferPlayersName
|
|
add r0, r4, #0
|
|
bl PlayerProfile_GetLanguage
|
|
add r4, r0, #0
|
|
cmp r4, #1
|
|
blt _0205AB1C
|
|
cmp r4, #7
|
|
bgt _0205AB1C
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #7
|
|
bhs _0205AB1C
|
|
lsl r1, r0, #2
|
|
ldr r0, _0205AB84 ; =_020FC898
|
|
ldr r1, [r0, r1]
|
|
cmp r1, #0
|
|
blt _0205AB1C
|
|
ldr r0, [sp, #0x20]
|
|
bl sub_02015CFC
|
|
_0205AB1C:
|
|
cmp r4, #7
|
|
bhi _0205AB54
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0205AB2C: ; jump table
|
|
.short _0205AB54 - _0205AB2C - 2 ; case 0
|
|
.short _0205AB3C - _0205AB2C - 2 ; case 1
|
|
.short _0205AB40 - _0205AB2C - 2 ; case 2
|
|
.short _0205AB44 - _0205AB2C - 2 ; case 3
|
|
.short _0205AB48 - _0205AB2C - 2 ; case 4
|
|
.short _0205AB4C - _0205AB2C - 2 ; case 5
|
|
.short _0205AB54 - _0205AB2C - 2 ; case 6
|
|
.short _0205AB50 - _0205AB2C - 2 ; case 7
|
|
_0205AB3C:
|
|
mov r1, #0xd3
|
|
b _0205AB56
|
|
_0205AB40:
|
|
mov r1, #0xd4
|
|
b _0205AB56
|
|
_0205AB44:
|
|
mov r1, #0xd5
|
|
b _0205AB56
|
|
_0205AB48:
|
|
mov r1, #0xd6
|
|
b _0205AB56
|
|
_0205AB4C:
|
|
mov r1, #0xd7
|
|
b _0205AB56
|
|
_0205AB50:
|
|
mov r1, #0xd8
|
|
b _0205AB56
|
|
_0205AB54:
|
|
mov r1, #0xd9
|
|
_0205AB56:
|
|
add r0, r6, #0
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
str r4, [sp, #4]
|
|
bl BufferString
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
add r0, r6, #0
|
|
bl DestroyMsgData
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0205AB80: .word 0x000002E2
|
|
_0205AB84: .word _020FC898
|
|
thumb_func_end sub_0205AA9C
|
|
|
|
thumb_func_start sub_0205AB88
|
|
sub_0205AB88: ; 0x0205AB88
|
|
push {r4, lr}
|
|
sub sp, #0x20
|
|
add r4, r0, #0
|
|
add r0, sp, #0
|
|
bl sub_0205AA4C
|
|
mov r1, #0
|
|
add r0, sp, #0
|
|
strb r1, [r0, #0x1c]
|
|
add r0, r4, #0
|
|
bl sub_02035838
|
|
add r0, sp, #0
|
|
bl sub_02035854
|
|
bl sub_0203588C
|
|
add sp, #0x20
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205AB88
|
|
|
|
thumb_func_start sub_0205ABB0
|
|
sub_0205ABB0: ; 0x0205ABB0
|
|
mov r1, #0
|
|
str r1, [r0, #0x30]
|
|
str r1, [r0, #0x40]
|
|
str r1, [r0, #0x44]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205ABB0
|
|
|
|
thumb_func_start sub_0205ABBC
|
|
sub_0205ABBC: ; 0x0205ABBC
|
|
mov r2, #0
|
|
str r2, [r0, #0x20]
|
|
str r2, [r0, #0x24]
|
|
str r2, [r0, #0x2c]
|
|
str r2, [r0, #0x30]
|
|
mov r1, #0x5d
|
|
str r2, [r0, #0x40]
|
|
lsl r1, r1, #2
|
|
strh r2, [r0, r1]
|
|
add r1, #0xc
|
|
str r2, [r0, r1]
|
|
str r2, [r0, #0x44]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end sub_0205ABBC
|
|
|
|
thumb_func_start sub_0205ABD8
|
|
sub_0205ABD8: ; 0x0205ABD8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
bl sub_020691A8
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
bl sub_020691A8
|
|
mov r1, #0x62
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
bl sub_020691A8
|
|
mov r1, #0x63
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, #8]
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl PlayerProfile_GetAvatar
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl sub_0205B46C
|
|
add r3, r0, #0
|
|
ldr r0, [r4]
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
lsr r3, r3, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
bl sub_02068FC8
|
|
bl sub_0203769C
|
|
mov r1, #1
|
|
eor r0, r1
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
mov r0, #0x62
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end sub_0205ABD8
|
|
|
|
thumb_func_start sub_0205AC4C
|
|
sub_0205AC4C: ; 0x0205AC4C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x62
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x63
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end sub_0205AC4C
|
|
|
|
thumb_func_start sub_0205AC70
|
|
sub_0205AC70: ; 0x0205AC70
|
|
mov r1, #0x61
|
|
add r2, r0, #0
|
|
lsl r1, r1, #2
|
|
ldr r1, [r2, r1]
|
|
ldr r3, _0205AC80 ; =sub_02036FD8
|
|
mov r0, #0x69
|
|
ldr r2, _0205AC84 ; =0x0000066C
|
|
bx r3
|
|
.balign 4, 0
|
|
_0205AC80: .word sub_02036FD8
|
|
_0205AC84: .word 0x0000066C
|
|
thumb_func_end sub_0205AC70
|