nonmatching sub_800CF34

This commit is contained in:
PikalaxALT
2017-11-28 19:41:32 -05:00
parent cbd2718b5e
commit 3f00d341d5
3 changed files with 427 additions and 299 deletions

View File

@@ -5,280 +5,6 @@
.text
thumb_func_start sub_800CF34
sub_800CF34: @ 800CF34
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
ldr r1, =gUnknown_03004140
ldrb r0, [r1, 0x4]
subs r0, 0x5
lsls r0, 24
lsrs r0, 24
adds r3, r1, 0
cmp r0, 0x3
bls _0800CF52
b _0800D146
_0800CF52:
ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2, 0x2]
ldrb r0, [r3, 0xC]
adds r4, r1, 0
eors r4, r0
ands r4, r1
ldrb r0, [r2, 0x7]
bics r4, r0
mov r8, r4
strb r1, [r3, 0xC]
cmp r4, 0
beq _0800CF7A
strh r4, [r3, 0x14]
movs r0, 0x10
movs r1, 0x1
str r3, [sp, 0x4]
bl sub_800D30C
ldr r3, [sp, 0x4]
_0800CF7A:
movs r0, 0
str r0, [sp]
movs r6, 0
adds r7, r3, 0
movs r1, 0x24
adds r1, r3
mov r9, r1
_0800CF88:
movs r0, 0x80
lsls r0, 17
lsls r0, r6
lsrs r4, r0, 24
movs r5, 0
mov r0, r8
ands r0, r4
cmp r0, 0
beq _0800CFDA
lsls r1, r6, 1
adds r0, r7, 0
adds r0, 0x28
adds r1, r0
ldrh r0, [r7, 0x26]
strh r0, [r1]
mov r2, r9
ldrb r1, [r2]
adds r0, r4, 0
orrs r0, r1
strb r0, [r2]
adds r6, 0x1
mov r10, r6
b _0800D090
.pool
_0800CFC0:
ldrb r1, [r7]
adds r0, r4, 0
orrs r0, r1
strb r0, [r7]
ldrb r0, [r7, 0x1]
adds r0, 0x1
strb r0, [r7, 0x1]
ldr r0, [sp]
orrs r0, r4
str r0, [sp]
movs r0, 0x1
orrs r5, r0
b _0800D024
_0800CFDA:
mov r1, r9
ldrb r0, [r1]
ands r0, r4
adds r2, r6, 0x1
mov r10, r2
cmp r0, 0
beq _0800D090
ldr r0, =gUnknown_03007880
lsls r1, r6, 2
adds r1, r0
ldr r1, [r1]
ldrh r0, [r1, 0x34]
cmp r0, 0x46
bne _0800D040
adds r0, r1, 0
adds r0, 0x61
ldrb r0, [r0]
cmp r0, 0x1
bne _0800D058
movs r5, 0x2
ldr r3, [r3, 0x20]
ldrh r2, [r3]
ldr r0, =0x0000ffff
cmp r2, r0
beq _0800D024
ldr r0, =gUnknown_03007890
ldr r0, [r0]
lsls r1, r6, 5
adds r0, r1
ldrh r0, [r0, 0x18]
ldr r1, =0x0000ffff
_0800D018:
cmp r0, r2
beq _0800CFC0
adds r3, 0x2
ldrh r2, [r3]
cmp r2, r1
bne _0800D018
_0800D024:
movs r0, 0x1
ands r0, r5
cmp r0, 0
bne _0800D058
movs r0, 0x4
orrs r5, r0
b _0800D058
.pool
_0800D040:
lsls r1, r6, 1
adds r0, r3, 0
adds r0, 0x28
adds r1, r0
ldrh r0, [r1]
subs r0, 0x1
strh r0, [r1]
ldr r1, =0x0000ffff
ands r0, r1
cmp r0, 0
bne _0800D058
movs r5, 0x6
_0800D058:
movs r0, 0x2
ands r0, r5
cmp r0, 0
beq _0800D07E
mov r2, r9
ldrb r0, [r2]
bics r0, r4
movs r2, 0
mov r1, r9
strb r0, [r1]
lsls r0, r6, 1
adds r1, r7, 0
adds r1, 0x28
adds r0, r1
strh r2, [r0]
movs r0, 0x8
adds r1, r6, 0
bl rfu_clearSlot
_0800D07E:
movs r0, 0x4
ands r5, r0
ldr r3, =gUnknown_03004140
cmp r5, 0
beq _0800D090
ldrb r1, [r7, 0xD]
adds r0, r4, 0
orrs r0, r1
strb r0, [r7, 0xD]
_0800D090:
mov r2, r10
lsls r0, r2, 24
lsrs r6, r0, 24
cmp r6, 0x3
bhi _0800D09C
b _0800CF88
_0800D09C:
ldr r4, [sp]
cmp r4, 0
beq _0800D0AE
ldr r0, =gUnknown_03004140
strh r4, [r0, 0x14]
movs r0, 0x11
movs r1, 0x1
bl sub_800D30C
_0800D0AE:
ldr r1, =gUnknown_03004140
ldrb r0, [r1, 0xD]
cmp r0, 0
beq _0800D0EA
movs r5, 0x1
ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
beq _0800D0CE
ldrb r0, [r1, 0x3]
ldrb r1, [r1]
ands r0, r1
cmp r0, r1
beq _0800D0CE
movs r5, 0
_0800D0CE:
cmp r5, 0
beq _0800D0EA
ldr r4, =gUnknown_03004140
ldrb r0, [r4, 0xD]
bl sub_800D334
ldrb r0, [r4, 0xD]
movs r1, 0
strh r0, [r4, 0x14]
strb r1, [r4, 0xD]
movs r0, 0x12
movs r1, 0x1
bl sub_800D30C
_0800D0EA:
ldr r0, =gUnknown_03004140
adds r1, r0, 0
adds r1, 0x24
ldrb r1, [r1]
adds r3, r0, 0
cmp r1, 0
bne _0800D146
ldrb r0, [r3, 0x4]
cmp r0, 0x8
bne _0800D146
ldrb r0, [r3, 0x7]
cmp r0, 0
bne _0800D120
strb r0, [r3, 0x5]
strb r0, [r3, 0x4]
movs r0, 0x14
movs r1, 0
bl sub_800D30C
b _0800D146
.pool
_0800D120:
cmp r0, 0x2
bne _0800D12C
movs r0, 0x3
strb r0, [r3, 0x7]
movs r0, 0x9
b _0800D132
_0800D12C:
movs r0, 0x1
strb r0, [r3, 0x7]
movs r0, 0x5
_0800D132:
strb r0, [r3, 0x4]
ldrb r0, [r3]
cmp r0, 0
beq _0800D146
movs r0, 0
strh r0, [r3, 0x1A]
movs r0, 0x8
strb r0, [r3, 0x7]
movs r0, 0x5
strb r0, [r3, 0x4]
_0800D146:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_800CF34
thumb_func_start sub_800D158
sub_800D158: @ 800D158
push {r4-r6,lr}