sub_800F1E0

This commit is contained in:
PikalaxALT
2018-01-18 08:46:17 -05:00
parent 5b526906e1
commit cfb0e233ee
3 changed files with 99 additions and 323 deletions

View File

@@ -5,325 +5,6 @@
.text
thumb_func_start sub_800F1E0
sub_800F1E0: @ 800F1E0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
ldr r0, =gUnknown_03005000
ldrh r1, [r0, 0x4]
adds r6, r0, 0
cmp r1, 0x13
bhi _0800F1F8
b _0800F45A
_0800F1F8:
ldrb r0, [r6, 0xE]
cmp r0, 0x1
beq _0800F200
b _0800F45A
_0800F200:
bl rfu_waitREQComplete
ldr r0, =0x00000cdb
adds r2, r6, r0
ldrb r0, [r2]
cmp r0, 0
bne _0800F220
adds r1, r6, 0
adds r1, 0xEE
_0800F212:
ldrb r0, [r1]
cmp r0, 0
beq _0800F21A
b _0800F480
_0800F21A:
ldrb r0, [r2]
cmp r0, 0
beq _0800F212
_0800F220:
bl rfu_REQ_recvData
bl rfu_waitREQComplete
ldr r2, =gUnknown_03004140
ldr r4, =gUnknown_03005000
ldr r1, =0x00000ce2
adds r0, r4, r1
ldrb r1, [r2, 0x3]
ldrb r0, [r0]
ands r1, r0
cmp r1, r0
beq _0800F23C
b _0800F444
_0800F23C:
ldr r6, =0x00000cdc
adds r1, r4, r6
ldrb r0, [r1]
movs r0, 0
strb r0, [r1]
ldr r1, =gUnknown_02022B44
ldrh r0, [r1, 0x6]
adds r0, 0x1
strh r0, [r1, 0x6]
ldrb r7, [r2]
movs r5, 0
_0800F252:
movs r0, 0x1
ands r0, r7
lsrs r1, r7, 1
str r1, [sp, 0x4]
adds r2, r5, 0x1
str r2, [sp]
cmp r0, 0
bne _0800F264
b _0800F364
_0800F264:
ldr r1, =gUnknown_03005000
lsls r2, r5, 3
subs r0, r2, r5
lsls r4, r0, 1
adds r0, r1, 0
adds r0, 0x15
adds r0, r4, r0
ldrb r0, [r0]
adds r6, r1, 0
adds r3, r2, 0
lsls r1, r5, 24
mov r10, r1
cmp r0, 0
beq _0800F35C
ldr r2, =0x00000cee
adds r0, r6, r2
adds r1, r5, r0
ldrb r0, [r1]
cmp r0, 0xFF
beq _0800F2E0
adds r0, r6, 0
adds r0, 0x14
adds r0, r4, r0
ldrb r2, [r0]
lsrs r2, 5
ldrb r0, [r1]
adds r0, 0x1
movs r1, 0x7
ands r0, r1
cmp r2, r0
beq _0800F2E0
ldr r0, =0x00000cea
adds r1, r6, r0
adds r1, r5, r1
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
lsls r0, 24
lsrs r0, 24
cmp r0, 0x4
bls _0800F35C
movs r0, 0x81
lsls r0, 8
bl sub_8011170
b _0800F35C
.pool
_0800F2E0:
ldr r2, =gUnknown_03005000
ldr r6, =0x00000cee
adds r1, r2, r6
adds r1, r5, r1
subs r3, r5
lsls r3, 1
adds r4, r2, 0
adds r4, 0x14
adds r2, r3, r4
ldrb r0, [r2]
lsrs r0, 5
strb r0, [r1]
ldr r1, =gUnknown_03005000
subs r6, 0x4
adds r0, r1, r6
adds r0, r5, r0
movs r1, 0
strb r1, [r0]
ldrb r1, [r2]
movs r0, 0x1F
ands r0, r1
strb r0, [r2]
ldr r2, =gUnknown_03005000+0xCDE
adds r0, r5, r2
ldrb r0, [r0]
movs r6, 0
lsls r1, r5, 24
mov r10, r1
lsrs r2, r7, 1
str r2, [sp, 0x4]
adds r5, 0x1
str r5, [sp]
ldr r1, =gRecvCmds
mov r9, r1
adds r5, r3, 0
adds r7, r4, 0
lsls r0, 4
mov r8, r0
adds r2, r5, 0x1
mov r12, r2
_0800F330:
lsls r1, r6, 1
mov r0, r8
adds r4, r1, r0
add r4, r9
mov r2, r12
adds r3, r1, r2
adds r3, r7
ldrb r2, [r3]
lsls r2, 8
adds r1, r5
adds r1, r7
ldrb r0, [r1]
orrs r0, r2
strh r0, [r4]
movs r0, 0
strb r0, [r3]
strb r0, [r1]
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
cmp r6, 0x6
bls _0800F330
_0800F35C:
mov r1, r10
lsrs r0, r1, 24
bl rfu_UNI_clearRecvNewDataFlag
_0800F364:
ldr r2, [sp, 0x4]
lsls r0, r2, 16
lsrs r7, r0, 16
ldr r6, [sp]
lsls r0, r6, 16
lsrs r5, r0, 16
cmp r5, 0x3
bhi _0800F376
b _0800F252
_0800F376:
bl sub_800F014
movs r0, 0
bl sub_800F86C
bl sub_8010528
ldr r4, =gUnknown_03005000
ldr r1, =0x00000ce5
adds r0, r4, r1
ldrb r0, [r0]
cmp r0, 0
beq _0800F452
ldr r2, =0x00000cd9
adds r0, r4, r2
ldrb r2, [r0]
cmp r2, 0
bne _0800F452
ldr r0, =gUnknown_02022B44
ldrb r1, [r0, 0xE]
strb r2, [r0, 0xE]
ldr r6, =0x00000cda
adds r0, r4, r6
ldrb r1, [r0]
movs r0, 0x3
bl rfu_clearSlot
movs r5, 0
adds r7, r4, 0
adds r7, 0x14
_0800F3B2:
ldr r0, =0x00000ce5
adds r6, r4, r0
ldrb r0, [r6]
asrs r0, r5
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _0800F3D6
lsls r1, r5, 24
lsrs r1, 24
lsls r2, r5, 3
subs r2, r5
lsls r2, 1
adds r2, r7
movs r0, 0x10
movs r3, 0xE
bl rfu_setRecvBuffer
_0800F3D6:
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x3
bls _0800F3B2
subs r4, r6, 0x3
ldrb r0, [r4]
ldrb r2, [r6]
adds r1, r0, 0
orrs r1, r2
bl sub_800E88C
ldrb r1, [r6]
movs r2, 0
strb r1, [r6, 0x4]
ldrb r0, [r4]
orrs r0, r1
strb r0, [r4]
strb r2, [r6]
ldrb r0, [r4]
adds r1, r6, 0
subs r1, 0x5E
movs r2, 0x46
bl rfu_UNI_setSendData
ldrb r0, [r4]
bl sub_800E87C
adds r1, r6, 0
subs r1, 0xB
strb r0, [r1]
ldr r0, =sub_8010AAC
movs r1, 0
bl CreateTask
b _0800F452
.pool
_0800F444:
ldr r2, =0x00000cdc
adds r1, r4, r2
ldrb r0, [r1]
movs r2, 0
movs r0, 0x1
strb r0, [r1]
strb r2, [r4, 0xE]
_0800F452:
ldr r1, =gUnknown_03005000
movs r0, 0
strb r0, [r1, 0xE]
adds r6, r1, 0
_0800F45A:
ldr r1, =0x00000cdc
adds r0, r6, r1
ldrb r0, [r0]
adds r1, r0, 0
ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
beq _0800F484
movs r0, 0x1
ands r0, r1
b _0800F486
.pool
_0800F480:
movs r0, 0
b _0800F486
_0800F484:
movs r0, 0
_0800F486:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_800F1E0
thumb_func_start sub_800F498
sub_800F498: @ 800F498
push {r4,r5,lr}