Decompile sub_6144 and sub_639C in pokedex.c
Some checks failed
CI / build (push) Has been cancelled

This commit is contained in:
Marcus Huderle 2025-02-04 08:55:20 -06:00
parent 05419abf79
commit 0576ff2533
4 changed files with 168 additions and 606 deletions

View File

@ -5,606 +5,6 @@
.text
thumb_func_start sub_6144
sub_6144: @ 0x08006144
push {r4, r5, lr}
ldr r0, _08006164 @ =gUnknown_0201B128
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
bne _080061B4
ldr r0, _08006168 @ =gUnknown_0202C544
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
beq _0800616C
cmp r0, #1
beq _080061A4
b _0800638E
.align 2, 0
_08006164: .4byte gUnknown_0201B128
_08006168: .4byte gUnknown_0202C544
_0800616C:
ldr r0, _08006180 @ =gMain
ldrh r1, [r0, #0x18]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0800618C
ldr r1, _08006184 @ =gUnknown_0202C5F0
ldr r0, _08006188 @ =0x0000FEFE
strh r0, [r1]
b _0800638E
.align 2, 0
_08006180: .4byte gMain
_08006184: .4byte gUnknown_0202C5F0
_08006188: .4byte 0x0000FEFE
_0800618C:
ldr r1, _080061A0 @ =gUnknown_0202C5F0
movs r2, #0
adds r0, r1, #0
adds r0, #0xe
_08006194:
strh r2, [r0]
subs r0, #2
cmp r0, r1
bge _08006194
b _0800638E
.align 2, 0
_080061A0: .4byte gUnknown_0202C5F0
_080061A4:
ldr r1, _080061AC @ =gUnknown_0202C5F0
ldr r0, _080061B0 @ =0x0000ECEC
strh r0, [r1]
b _0800638E
.align 2, 0
_080061AC: .4byte gUnknown_0202C5F0
_080061B0: .4byte 0x0000ECEC
_080061B4:
ldr r0, _080061D0 @ =gUnknown_0201C180
ldrh r1, [r0]
adds r5, r0, #0
cmp r1, #7
bhi _080061DC
ldr r1, _080061D4 @ =gUnknown_0202C5F0
ldr r2, _080061D8 @ =0x0000DDDD
adds r0, r1, #0
adds r0, #0xe
_080061C6:
strh r2, [r0]
subs r0, #2
cmp r0, r1
bge _080061C6
b _08006388
.align 2, 0
_080061D0: .4byte gUnknown_0201C180
_080061D4: .4byte gUnknown_0202C5F0
_080061D8: .4byte 0x0000DDDD
_080061DC:
cmp r1, #0xf
bls _080061E2
b _08006378
_080061E2:
ldrh r2, [r5]
adds r1, r2, #0
subs r1, #8
lsls r0, r1, #3
subs r0, r0, r1
lsls r0, r0, #0x12
lsrs r0, r0, #0x10
mov ip, r0
ldr r4, _08006370 @ =gUnknown_0202C5F0
strh r2, [r4]
ldr r3, _08006374 @ =gUnknown_0202A1C0
lsls r2, r0, #1
adds r2, r2, r3
adds r0, #1
lsls r0, r0, #1
adds r0, r0, r3
ldrh r1, [r0]
lsls r1, r1, #4
ldrh r0, [r2]
orrs r1, r0
mov r0, ip
adds r0, #2
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #8
orrs r1, r0
mov r0, ip
adds r0, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #0xc
orrs r1, r0
strh r1, [r4, #2]
mov r2, ip
adds r2, #4
lsls r2, r2, #1
adds r2, r2, r3
mov r0, ip
adds r0, #5
lsls r0, r0, #1
adds r0, r0, r3
ldrh r1, [r0]
lsls r1, r1, #4
ldrh r0, [r2]
orrs r1, r0
mov r0, ip
adds r0, #6
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #8
orrs r1, r0
mov r0, ip
adds r0, #7
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #0xc
orrs r1, r0
strh r1, [r4, #4]
mov r2, ip
adds r2, #8
lsls r2, r2, #1
adds r2, r2, r3
mov r0, ip
adds r0, #9
lsls r0, r0, #1
adds r0, r0, r3
ldrh r1, [r0]
lsls r1, r1, #4
ldrh r0, [r2]
orrs r1, r0
mov r0, ip
adds r0, #0xa
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #8
orrs r1, r0
mov r0, ip
adds r0, #0xb
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #0xc
orrs r1, r0
strh r1, [r4, #6]
mov r2, ip
adds r2, #0xc
lsls r2, r2, #1
adds r2, r2, r3
mov r0, ip
adds r0, #0xd
lsls r0, r0, #1
adds r0, r0, r3
ldrh r1, [r0]
lsls r1, r1, #4
ldrh r0, [r2]
orrs r1, r0
mov r0, ip
adds r0, #0xe
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #8
orrs r1, r0
mov r0, ip
adds r0, #0xf
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #0xc
orrs r1, r0
strh r1, [r4, #8]
mov r2, ip
adds r2, #0x10
lsls r2, r2, #1
adds r2, r2, r3
mov r0, ip
adds r0, #0x11
lsls r0, r0, #1
adds r0, r0, r3
ldrh r1, [r0]
lsls r1, r1, #4
ldrh r0, [r2]
orrs r1, r0
mov r0, ip
adds r0, #0x12
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #8
orrs r1, r0
mov r0, ip
adds r0, #0x13
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #0xc
orrs r1, r0
strh r1, [r4, #0xa]
mov r2, ip
adds r2, #0x14
lsls r2, r2, #1
adds r2, r2, r3
mov r0, ip
adds r0, #0x15
lsls r0, r0, #1
adds r0, r0, r3
ldrh r1, [r0]
lsls r1, r1, #4
ldrh r0, [r2]
orrs r1, r0
mov r0, ip
adds r0, #0x16
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #8
orrs r1, r0
mov r0, ip
adds r0, #0x17
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #0xc
orrs r1, r0
strh r1, [r4, #0xc]
mov r2, ip
adds r2, #0x18
lsls r2, r2, #1
adds r2, r2, r3
mov r0, ip
adds r0, #0x19
lsls r0, r0, #1
adds r0, r0, r3
ldrh r1, [r0]
lsls r1, r1, #4
ldrh r0, [r2]
orrs r1, r0
mov r0, ip
adds r0, #0x1a
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #8
orrs r1, r0
mov r0, ip
adds r0, #0x1b
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
lsls r0, r0, #0xc
orrs r1, r0
strh r1, [r4, #0xe]
b _08006388
.align 2, 0
_08006370: .4byte gUnknown_0202C5F0
_08006374: .4byte gUnknown_0202A1C0
_08006378:
ldr r1, _08006398 @ =gUnknown_0202C5F0
movs r2, #0
adds r0, r1, #0
adds r0, #0xe
_08006380:
strh r2, [r0]
subs r0, #2
cmp r0, r1
bge _08006380
_08006388:
ldrh r0, [r5]
adds r0, #1
strh r0, [r5]
_0800638E:
movs r0, #0
pop {r4, r5}
pop {r1}
bx r1
.align 2, 0
_08006398: .4byte gUnknown_0202C5F0
thumb_func_start sub_639C
sub_639C: @ 0x0800639C
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
sub sp, #0x38
ldr r4, _080063C0 @ =gUnknown_0201B128
movs r0, #0
ldrsb r0, [r4, r0]
cmp r0, #0
bne _08006438
ldr r3, _080063C4 @ =gUnknown_0201C1BC
movs r1, #0
ldrsb r1, [r3, r1]
cmp r1, #0
beq _080063C8
cmp r1, #1
beq _080063E8
b _080065AA
.align 2, 0
_080063C0: .4byte gUnknown_0201B128
_080063C4: .4byte gUnknown_0201C1BC
_080063C8:
ldr r2, _080063E0 @ =gUnknown_0201A4D0
ldrh r0, [r2]
ldr r1, _080063E4 @ =0x0000FEFE
cmp r0, r1
beq _080063DA
ldrh r0, [r2, #2]
cmp r0, r1
beq _080063DA
b _080065AA
_080063DA:
movs r0, #1
strb r0, [r3]
b _080065AA
.align 2, 0
_080063E0: .4byte gUnknown_0201A4D0
_080063E4: .4byte 0x0000FEFE
_080063E8:
ldr r3, _0800640C @ =gUnknown_0201A4D0
ldrh r2, [r3]
ldr r0, _08006410 @ =0x0000ECEC
cmp r2, r0
bne _0800641C
ldrh r0, [r3, #2]
cmp r0, r2
bne _0800641C
movs r2, #1
rsbs r2, r2, #0
adds r0, r2, #0
strb r0, [r4]
ldr r0, _08006414 @ =gUnknown_0202BEFC
strb r1, [r0]
ldr r0, _08006418 @ =gUnknown_0201C180
strh r1, [r0]
b _080065AA
.align 2, 0
_0800640C: .4byte gUnknown_0201A4D0
_08006410: .4byte 0x0000ECEC
_08006414: .4byte gUnknown_0202BEFC
_08006418: .4byte gUnknown_0201C180
_0800641C:
ldr r1, _08006434 @ =gUnknown_0202BECC
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0xa
bgt _0800642E
b _080065AA
_0800642E:
movs r0, #1
b _080065CC
.align 2, 0
_08006434: .4byte gUnknown_0202BECC
_08006438:
ldr r7, _0800656C @ =gUnknown_0201A4D0
ldrh r1, [r7, #2]
adds r0, r1, #0
subs r0, #8
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
cmp r0, #7
bls _0800644A
b _080065CA
_0800644A:
ldr r0, _08006570 @ =gUnknown_0202C5B4
mov r8, r0
strh r1, [r0]
mov r2, sp
ldrh r1, [r7, #6]
movs r6, #0xf
adds r0, r6, #0
ands r0, r1
strh r0, [r2]
movs r5, #0xf0
adds r0, r5, #0
ands r0, r1
lsrs r0, r0, #4
strh r0, [r2, #2]
movs r4, #0xf0
lsls r4, r4, #4
adds r0, r4, #0
ands r0, r1
lsrs r0, r0, #8
strh r0, [r2, #4]
movs r3, #0xf0
lsls r3, r3, #8
adds r0, r3, #0
ands r0, r1
lsrs r0, r0, #0xc
strh r0, [r2, #6]
ldrh r1, [r7, #0xa]
adds r0, r6, #0
ands r0, r1
strh r0, [r2, #8]
adds r0, r5, #0
ands r0, r1
lsrs r0, r0, #4
strh r0, [r2, #0xa]
adds r0, r4, #0
ands r0, r1
lsrs r0, r0, #8
strh r0, [r2, #0xc]
adds r0, r3, #0
ands r0, r1
lsrs r0, r0, #0xc
strh r0, [r2, #0xe]
ldrh r1, [r7, #0xe]
adds r0, r6, #0
ands r0, r1
strh r0, [r2, #0x10]
adds r0, r5, #0
ands r0, r1
lsrs r0, r0, #4
strh r0, [r2, #0x12]
adds r0, r4, #0
ands r0, r1
lsrs r0, r0, #8
strh r0, [r2, #0x14]
adds r0, r3, #0
ands r0, r1
lsrs r0, r0, #0xc
strh r0, [r2, #0x16]
ldrh r1, [r7, #0x12]
adds r0, r6, #0
ands r0, r1
strh r0, [r2, #0x18]
adds r0, r5, #0
ands r0, r1
lsrs r0, r0, #4
strh r0, [r2, #0x1a]
adds r0, r4, #0
ands r0, r1
lsrs r0, r0, #8
strh r0, [r2, #0x1c]
adds r0, r3, #0
ands r0, r1
lsrs r0, r0, #0xc
strh r0, [r2, #0x1e]
ldrh r1, [r7, #0x16]
adds r0, r6, #0
ands r0, r1
strh r0, [r2, #0x20]
adds r0, r5, #0
ands r0, r1
lsrs r0, r0, #4
strh r0, [r2, #0x22]
adds r0, r4, #0
ands r0, r1
lsrs r0, r0, #8
strh r0, [r2, #0x24]
adds r0, r3, #0
ands r0, r1
lsrs r0, r0, #0xc
strh r0, [r2, #0x26]
ldrh r1, [r7, #0x1a]
adds r0, r6, #0
ands r0, r1
strh r0, [r2, #0x28]
adds r0, r5, #0
ands r0, r1
lsrs r0, r0, #4
strh r0, [r2, #0x2a]
adds r0, r4, #0
ands r0, r1
lsrs r0, r0, #8
strh r0, [r2, #0x2c]
adds r0, r3, #0
ands r0, r1
lsrs r0, r0, #0xc
strh r0, [r2, #0x2e]
mov r1, sp
ldrh r0, [r7, #0x1e]
ands r6, r0
strh r6, [r1, #0x30]
ands r5, r0
lsrs r5, r5, #4
strh r5, [r1, #0x32]
ands r4, r0
lsrs r4, r4, #8
strh r4, [r1, #0x34]
ands r3, r0
lsrs r3, r3, #0xc
strh r3, [r1, #0x36]
movs r3, #0
ldr r6, _08006574 @ =gUnknown_0202A1C0
ldr r5, _08006578 @ =gUnknown_0202A390
mov r4, sp
_08006540:
mov r2, r8
ldrh r1, [r2]
subs r1, #8
lsls r0, r1, #3
subs r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r3
lsls r0, r0, #0x10
lsrs r2, r0, #0x10
lsls r1, r2, #1
adds r0, r1, r6
movs r7, #0
ldrsh r0, [r0, r7]
cmp r0, #0
bne _0800657C
ldrh r0, [r4]
cmp r0, #4
bne _0800657C
adds r1, r1, r5
movs r0, #2
b _08006592
.align 2, 0
_0800656C: .4byte gUnknown_0201A4D0
_08006570: .4byte gUnknown_0202C5B4
_08006574: .4byte gUnknown_0202A1C0
_08006578: .4byte gUnknown_0202A390
_0800657C:
lsls r1, r2, #1
adds r0, r1, r6
movs r2, #0
ldrsh r0, [r0, r2]
cmp r0, #1
bne _08006594
ldrh r0, [r4]
cmp r0, #4
bne _08006594
adds r1, r1, r5
movs r0, #3
_08006592:
strh r0, [r1]
_08006594:
adds r4, #2
adds r3, #1
cmp r3, #0x1b
ble _08006540
mov r7, r8
ldrh r0, [r7]
cmp r0, #0xf
bne _080065AA
movs r0, #1
rsbs r0, r0, #0
b _080065CC
_080065AA:
movs r3, #0
ldr r5, _080065D8 @ =gUnknown_0201A4D0
movs r4, #0
_080065B0:
adds r2, r3, #1
lsls r0, r3, #2
movs r1, #1
adds r0, r0, r5
adds r0, #2
_080065BA:
strh r4, [r0]
subs r0, #2
subs r1, #1
cmp r1, #0
bge _080065BA
adds r3, r2, #0
cmp r3, #7
ble _080065B0
_080065CA:
movs r0, #0
_080065CC:
add sp, #0x38
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7}
pop {r1}
bx r1
.align 2, 0
_080065D8: .4byte gUnknown_0201A4D0
thumb_func_start sub_65DC
sub_65DC: @ 0x080065DC
push {r4, r5, r6, r7, lr}

Binary file not shown.

Binary file not shown.

View File

@ -24,14 +24,14 @@ static void sub_599C(void);
static void sub_5E60(void);
int sub_639C(void);
int sub_65DC(void);
int sub_5EEC(void);
int sub_6144(void);
static int sub_5EEC(void);
static int sub_6144(void);
extern u16 gUnknown_0201C180;
extern u16 gUnknown_0202C5B4;
extern s8 gUnknown_0201C1BC;
extern u8 gUnknown_0202C544;
extern u8 gUnknown_0202BECC;
extern s8 gUnknown_0202C544;
extern s8 gUnknown_0202BECC;
extern const struct SpriteSet *const gUnknown_086A6148[];
extern u16 gUnknown_0202BF08;
@ -581,7 +581,7 @@ void sub_49D0(void)
gUnknown_0201A510++;
if ((gUnknown_0202ADD0 & 0x7f0000) && (gUnknown_0201B128 == -1))
if ((gUnknown_0202ADD0 & 0x7f0000) && gUnknown_0201B128 == -1)
{
gUnknown_0201A444++;
if (0xB4 < gUnknown_0201A444)
@ -1336,7 +1336,7 @@ s16 sub_5EC8(void)
return result;
}
int sub_5EEC(void)
static int sub_5EEC(void)
{
int i;
u16 var0;
@ -1409,3 +1409,165 @@ int sub_5EEC(void)
gUnknown_0201C180++;
return 0;
}
static int sub_6144(void)
{
int i;
u16 var0;
if (gUnknown_0201B128 == 0)
{
switch (gUnknown_0202C544)
{
case 0:
if (JOY_NEW(A_BUTTON))
{
gUnknown_0202C5F0[0] = 0xFEFE;
}
else
{
for (i = 0; i < 8; i++)
gUnknown_0202C5F0[i] = 0;
}
return 0;
case 1:
gUnknown_0202C5F0[0] = 0xECEC;
return 0;
}
return 0;
}
else if (gUnknown_0201C180 < 8)
{
for (i = 0; i < 8; i++)
gUnknown_0202C5F0[i] = 0xDDDD;
}
else if (gUnknown_0201C180 < 16)
{
var0 = (gUnknown_0201C180 - 8) * 28;
gUnknown_0202C5F0[0] = gUnknown_0201C180;
gUnknown_0202C5F0[1] = gUnknown_0202A1C0[var0] |
(gUnknown_0202A1C0[var0 + 1] << 4) |
(gUnknown_0202A1C0[var0 + 2] << 8) |
(gUnknown_0202A1C0[var0 + 3] << 12);
gUnknown_0202C5F0[2] = gUnknown_0202A1C0[var0 + 4] |
(gUnknown_0202A1C0[var0 + 5] << 4) |
(gUnknown_0202A1C0[var0 + 6] << 8) |
(gUnknown_0202A1C0[var0 + 7] << 12);
gUnknown_0202C5F0[3] = gUnknown_0202A1C0[var0 + 8] |
(gUnknown_0202A1C0[var0 + 9] << 4) |
(gUnknown_0202A1C0[var0 + 10] << 8) |
(gUnknown_0202A1C0[var0 + 11] << 12);
gUnknown_0202C5F0[4] = gUnknown_0202A1C0[var0 + 12] |
(gUnknown_0202A1C0[var0 + 13] << 4) |
(gUnknown_0202A1C0[var0 + 14] << 8) |
(gUnknown_0202A1C0[var0 + 15] << 12);
gUnknown_0202C5F0[5] = gUnknown_0202A1C0[var0 + 16] |
(gUnknown_0202A1C0[var0 + 17] << 4) |
(gUnknown_0202A1C0[var0 + 18] << 8) |
(gUnknown_0202A1C0[var0 + 19] << 12);
gUnknown_0202C5F0[6] = gUnknown_0202A1C0[var0 + 20] |
(gUnknown_0202A1C0[var0 + 21] << 4) |
(gUnknown_0202A1C0[var0 + 22] << 8) |
(gUnknown_0202A1C0[var0 + 23] << 12);
gUnknown_0202C5F0[7] = gUnknown_0202A1C0[var0 + 24] |
(gUnknown_0202A1C0[var0 + 25] << 4) |
(gUnknown_0202A1C0[var0 + 26] << 8) |
(gUnknown_0202A1C0[var0 + 27] << 12);
}
else
{
for (i = 0; i < 8; i++)
gUnknown_0202C5F0[i] = 0;
}
gUnknown_0201C180++;
return 0;
}
int sub_639C(void)
{
int i, j;
u16 var0;
u16 arr0[28];
if (gUnknown_0201B128 == 0)
{
switch (gUnknown_0201C1BC)
{
case 0:
if (gUnknown_0201A4D0[0][0] == 0xFEFE || gUnknown_0201A4D0[0][1] == 0xFEFE)
{
gUnknown_0201C1BC = 1;
}
break;
case 1:
if (gUnknown_0201A4D0[0][0] == 0xECEC && gUnknown_0201A4D0[0][1] == 0xECEC)
{
gUnknown_0201B128 = -1;
gUnknown_0202BEFC = 1;
gUnknown_0201C180 = 1;
}
else if (++gUnknown_0202BECC > 10)
{
return 1;
}
break;
}
}
else
{
u16 var1 = gUnknown_0201A4D0[0][1] - 8;
if (var1 > 7)
return 0;
gUnknown_0202C5B4 = gUnknown_0201A4D0[0][1];
arr0[0] = gUnknown_0201A4D0[0][3] & 0xF;
arr0[1] = (gUnknown_0201A4D0[0][3] & 0xF0) >> 4;
arr0[2] = (gUnknown_0201A4D0[0][3] & 0xF00) >> 8;
arr0[3] = (gUnknown_0201A4D0[0][3] & 0xF000) >> 12;
arr0[4] = gUnknown_0201A4D0[0][5] & 0xF;
arr0[5] = (gUnknown_0201A4D0[0][5] & 0xF0) >> 4;
arr0[6] = (gUnknown_0201A4D0[0][5] & 0xF00) >> 8;
arr0[7] = (gUnknown_0201A4D0[0][5] & 0xF000) >> 12;
arr0[8] = gUnknown_0201A4D0[0][7] & 0xF;
arr0[9] = (gUnknown_0201A4D0[0][7] & 0xF0) >> 4;
arr0[10] = (gUnknown_0201A4D0[0][7] & 0xF00) >> 8;
arr0[11] = (gUnknown_0201A4D0[0][7] & 0xF000) >> 12;
arr0[12] = gUnknown_0201A4D0[0][9] & 0xF;
arr0[13] = (gUnknown_0201A4D0[0][9] & 0xF0) >> 4;
arr0[14] = (gUnknown_0201A4D0[0][9] & 0xF00) >> 8;
arr0[15] = (gUnknown_0201A4D0[0][9] & 0xF000) >> 12;
arr0[16] = gUnknown_0201A4D0[0][11] & 0xF;
arr0[17] = (gUnknown_0201A4D0[0][11] & 0xF0) >> 4;
arr0[18] = (gUnknown_0201A4D0[0][11] & 0xF00) >> 8;
arr0[19] = (gUnknown_0201A4D0[0][11] & 0xF000) >> 12;
arr0[20] = gUnknown_0201A4D0[0][13] & 0xF;
arr0[21] = (gUnknown_0201A4D0[0][13] & 0xF0) >> 4;
arr0[22] = (gUnknown_0201A4D0[0][13] & 0xF00) >> 8;
arr0[23] = (gUnknown_0201A4D0[0][13] & 0xF000) >> 12;
arr0[24] = gUnknown_0201A4D0[0][15] & 0xF;
arr0[25] = (gUnknown_0201A4D0[0][15] & 0xF0) >> 4;
arr0[26] = (gUnknown_0201A4D0[0][15] & 0xF00) >> 8;
arr0[27] = (gUnknown_0201A4D0[0][15] & 0xF000) >> 12;
for (i = 0; i < 28; i++)
{
var0 = (gUnknown_0202C5B4 - 8) * 28 + i;
if (gUnknown_0202A1C0[var0] == 0 && arr0[i] == 4)
gUnknown_0202A390[var0] = 2;
else if (gUnknown_0202A1C0[var0] == 1 && arr0[i] == 4)
gUnknown_0202A390[var0] = 3;
}
if (gUnknown_0202C5B4 == 15)
return -1;
}
for (i = 0; i < 8; i++)
{
for (j = 0; j < 2; j++)
gUnknown_0201A4D0[i][j] = 0;
}
return 0;
}