sub_8113DE0
This commit is contained in:
@@ -5,97 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8113DE0
|
|
||||||
sub_8113DE0: @ 8113DE0
|
|
||||||
push {r4-r7,lr}
|
|
||||||
adds r4, r1, 0
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r7, r0, 16
|
|
||||||
ldr r0, _08113DF8 @ =gUnknown_203B044
|
|
||||||
ldrb r0, [r0, 0x1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08113E00
|
|
||||||
ldr r0, _08113DFC @ =gUnknown_8456AA0
|
|
||||||
adds r0, r7, r0
|
|
||||||
ldrb r6, [r0]
|
|
||||||
b _08113E0C
|
|
||||||
.align 2, 0
|
|
||||||
_08113DF8: .4byte gUnknown_203B044
|
|
||||||
_08113DFC: .4byte gUnknown_8456AA0
|
|
||||||
_08113E00:
|
|
||||||
ldr r0, _08113E20 @ =gUnknown_8456AA0
|
|
||||||
adds r0, r7, r0
|
|
||||||
ldrb r0, [r0]
|
|
||||||
subs r0, 0x4
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
_08113E0C:
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r6, 0
|
|
||||||
bl sub_8110944
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08113E24
|
|
||||||
movs r0, 0
|
|
||||||
b _08113E7C
|
|
||||||
.align 2, 0
|
|
||||||
_08113E20: .4byte gUnknown_8456AA0
|
|
||||||
_08113E24:
|
|
||||||
adds r5, r4, 0
|
|
||||||
ldr r2, _08113E60 @ =gUnknown_203B044
|
|
||||||
ldrb r1, [r2, 0x1]
|
|
||||||
cmp r1, 0
|
|
||||||
beq _08113E36
|
|
||||||
adds r0, r1, 0
|
|
||||||
muls r0, r6
|
|
||||||
adds r0, 0x4
|
|
||||||
subs r5, r0
|
|
||||||
_08113E36:
|
|
||||||
cmp r1, 0x5
|
|
||||||
bne _08113E64
|
|
||||||
movs r4, 0
|
|
||||||
_08113E3C:
|
|
||||||
adds r0, r4, 0
|
|
||||||
muls r0, r6
|
|
||||||
adds r0, r5
|
|
||||||
adds r0, 0x4
|
|
||||||
adds r4, 0x1
|
|
||||||
adds r1, r4, 0
|
|
||||||
muls r1, r6
|
|
||||||
adds r1, r5
|
|
||||||
adds r1, 0x4
|
|
||||||
adds r2, r6, 0
|
|
||||||
bl memcpy
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
cmp r4, 0x3
|
|
||||||
bls _08113E3C
|
|
||||||
movs r1, 0x4
|
|
||||||
b _08113E66
|
|
||||||
.align 2, 0
|
|
||||||
_08113E60: .4byte gUnknown_203B044
|
|
||||||
_08113E64:
|
|
||||||
ldrb r1, [r2, 0x1]
|
|
||||||
_08113E66:
|
|
||||||
lsls r0, r1, 12
|
|
||||||
adds r0, r7, r0
|
|
||||||
strh r0, [r5]
|
|
||||||
ldr r0, _08113E84 @ =gUnknown_203AF98
|
|
||||||
ldrh r0, [r0]
|
|
||||||
strh r0, [r5, 0x2]
|
|
||||||
adds r0, r1, 0
|
|
||||||
muls r0, r6
|
|
||||||
adds r0, 0x4
|
|
||||||
adds r5, r0
|
|
||||||
adds r0, r5, 0
|
|
||||||
_08113E7C:
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08113E84: .4byte gUnknown_203AF98
|
|
||||||
thumb_func_end sub_8113DE0
|
|
||||||
|
|
||||||
thumb_func_start sub_8113E88
|
thumb_func_start sub_8113E88
|
||||||
sub_8113E88: @ 8113E88
|
sub_8113E88: @ 8113E88
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
|
|||||||
@@ -3464,3 +3464,43 @@ u16 * sub_8113D94(u16 * a0, struct UnkStruct_203AE98 * a1)
|
|||||||
a1->unk_3 = r6[3];
|
a1->unk_3 = r6[3];
|
||||||
return (u16 *)(r6 + 4);
|
return (u16 *)(r6 + 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u16 * sub_8113DE0(u16 a0, u16 * a1)
|
||||||
|
{
|
||||||
|
u8 r6;
|
||||||
|
u16 * r5;
|
||||||
|
u8 r4;
|
||||||
|
u8 r1;
|
||||||
|
|
||||||
|
if (gUnknown_203B044.unk_1 == 0)
|
||||||
|
r6 = gUnknown_8456AA0[a0];
|
||||||
|
else
|
||||||
|
r6 = gUnknown_8456AA0[a0] - 4;
|
||||||
|
if (!sub_8110944(a1, r6))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
r5 = (void *)a1;
|
||||||
|
|
||||||
|
if (gUnknown_203B044.unk_1 != 0)
|
||||||
|
r5 = (void *)r5 - (gUnknown_203B044.unk_1 * r6 + 4);
|
||||||
|
|
||||||
|
if (gUnknown_203B044.unk_1 == 5)
|
||||||
|
{
|
||||||
|
for (r4 = 0; r4 < 4; r4++)
|
||||||
|
{
|
||||||
|
memcpy(
|
||||||
|
(void *)r5 + (r4 * r6 + 4),
|
||||||
|
(void *)r5 + ((r4 + 1) * r6 + 4),
|
||||||
|
r6
|
||||||
|
);
|
||||||
|
}
|
||||||
|
r1 = 4;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
r1 = gUnknown_203B044.unk_1;
|
||||||
|
|
||||||
|
r5[0] = a0 + (r1 << 12);
|
||||||
|
r5[1] = gUnknown_203AF98;
|
||||||
|
r5 = (void *)r5 + (r1 * r6 + 4);
|
||||||
|
return r5;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user