sub_8113DE0
This commit is contained in:
@@ -5,97 +5,6 @@
|
||||
|
||||
.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
|
||||
sub_8113E88: @ 8113E88
|
||||
lsls r0, 16
|
||||
|
||||
@@ -3464,3 +3464,43 @@ u16 * sub_8113D94(u16 * a0, struct UnkStruct_203AE98 * a1)
|
||||
a1->unk_3 = r6[3];
|
||||
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