diff options
-rw-r--r-- | asm/code_8012A18.s | 6 | ||||
-rw-r--r-- | asm/code_808DAB4.s | 4 | ||||
-rw-r--r-- | asm/code_809017C.s | 13618 | ||||
-rw-r--r-- | asm/code_8092334.s | 13624 | ||||
-rw-r--r-- | data/data_80B9BB8.s | 43 | ||||
-rw-r--r-- | data/text/type_names.inc | 2 | ||||
-rwxr-xr-x | ld_script.txt | 2 | ||||
-rw-r--r-- | src/code_8092334.c | 26 |
8 files changed, 13687 insertions, 13638 deletions
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s index 4e979df..b72768d 100644 --- a/asm/code_8012A18.s +++ b/asm/code_8012A18.s @@ -147124,7 +147124,7 @@ sub_805B0D0: movs r2, 0 bl sub_8045B94 adds r0, r6, 0 - bl sub_8092334 + bl GetUnformattedTypeString adds r1, r0, 0 ldr r0, _0805B144 bl strcpy @@ -176685,7 +176685,7 @@ _0806A0AA: movs r2, 0 bl sub_8045B94 ldrb r0, [r4] - bl sub_8092334 + bl GetUnformattedTypeString adds r1, r0, 0 ldr r0, _0806A118 bl strcpy @@ -176759,7 +176759,7 @@ sub_806A120: movs r2, 0 bl sub_8045B94 adds r0, r4, 0 - bl sub_8092334 + bl GetUnformattedTypeString adds r1, r0, 0 ldr r0, _0806A1A8 bl strcpy diff --git a/asm/code_808DAB4.s b/asm/code_808DAB4.s index dca574e..411e8dd 100644 --- a/asm/code_808DAB4.s +++ b/asm/code_808DAB4.s @@ -3894,7 +3894,7 @@ _0808FB44: bl sub_8014FF0 mov r3, r10 ldrb r0, [r3, 0x16] - bl sub_8092344 + bl GetFormattedTypeString adds r2, r0, 0 str r4, [sp] movs r0, 0x38 @@ -3905,7 +3905,7 @@ _0808FB44: ldrb r0, [r1, 0x17] cmp r0, 0 beq _0808FB94 - bl sub_8092344 + bl GetFormattedTypeString adds r2, r0, 0 str r4, [sp] movs r0, 0x60 diff --git a/asm/code_809017C.s b/asm/code_809017C.s index b99d729..7784ab0 100644 --- a/asm/code_809017C.s +++ b/asm/code_809017C.s @@ -2608,7 +2608,7 @@ _08091414: bl sub_8092B00 lsls r0, 24 lsrs r0, 24 - bl sub_8092334 + bl GetUnformattedTypeString adds r2, r0, 0 str r7, [sp] movs r0, 0x40 @@ -4701,13620 +4701,4 @@ _0809232E: bx r0 thumb_func_end sub_8092310 - thumb_func_start sub_8092334 -sub_8092334: - lsls r0, 24 - ldr r1, _08092340 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08092340: .4byte gUnknown_810AD4C - thumb_func_end sub_8092334 - - thumb_func_start sub_8092344 -sub_8092344: - lsls r0, 24 - ldr r1, _08092350 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08092350: .4byte gUnknown_810AE24 - thumb_func_end sub_8092344 - - thumb_func_start sub_8092354 -sub_8092354: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08092360 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08092360: .4byte gUnknown_810AC7C - thumb_func_end sub_8092354 - - thumb_func_start sub_8092364 -sub_8092364: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08092370 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08092370: .4byte gUnknown_810AC6A - thumb_func_end sub_8092364 - - thumb_func_start sub_8092374 -sub_8092374: - push {lr} - lsls r1, 24 - ldr r2, _0809238C - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - movs r2, 0x50 - bl strncpy - pop {r0} - bx r0 - .align 2, 0 -_0809238C: .4byte gUnknown_810B4C8 - thumb_func_end sub_8092374 - - thumb_func_start sub_8092390 -sub_8092390: - lsls r0, 24 - ldr r1, _0809239C - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_0809239C: .4byte gUnknown_810B988 - thumb_func_end sub_8092390 - - thumb_func_start sub_80923A0 -sub_80923A0: - ldr r1, _080923A8 - ldr r0, _080923AC - str r0, [r1] - bx lr - .align 2, 0 -_080923A8: .4byte gUnknown_203B468 -_080923AC: .4byte gUnknown_2038C28 - thumb_func_end sub_80923A0 - - thumb_func_start sub_80923B0 -sub_80923B0: - ldr r0, _080923B4 - bx lr - .align 2, 0 -_080923B4: .4byte gUnknown_2038C28 - thumb_func_end sub_80923B0 - - thumb_func_start sub_80923B8 -sub_80923B8: - push {lr} - movs r1, 0 - ldr r3, _080923D0 - movs r2, 0 -_080923C0: - ldr r0, [r3] - adds r0, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x39 - ble _080923C0 - pop {r0} - bx r0 - .align 2, 0 -_080923D0: .4byte gUnknown_203B468 - thumb_func_end sub_80923B8 - - thumb_func_start sub_80923D4 -sub_80923D4: - push {r4,r5,lr} - adds r4, r0, 0 - movs r3, 0 - movs r1, 0 - ldr r2, _080923F0 -_080923DE: - movs r5, 0 - ldrsh r0, [r2, r5] - adds r3, r0 - cmp r3, r4 - ble _080923F4 - lsls r0, r1, 24 - lsrs r0, 24 - b _080923FE - .align 2, 0 -_080923F0: .4byte gUnknown_810AA90 -_080923F4: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x39 - ble _080923DE - movs r0, 0 -_080923FE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80923D4 - - thumb_func_start sub_8092404 -sub_8092404: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r7, r3, 24 - movs r6, 0 - movs r4, 0 - mov r5, r10 -_08092426: - movs r0, 0x58 - adds r1, r4, 0 - muls r1, r0 - ldr r0, _08092494 - ldr r0, [r0] - adds r2, r1, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08092472 - ldrb r0, [r2, 0x2] - cmp r0, 0 - beq _08092448 - mov r0, r8 - cmp r0, 0 - beq _08092472 -_08092448: - movs r1, 0 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - bne _08092452 - movs r1, 0x1 -_08092452: - cmp r1, 0 - beq _0809245A - cmp r7, 0 - beq _08092472 -_0809245A: - adds r0, r4, 0 - bl sub_80923D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r9 - bne _08092472 - cmp r6, 0xF - bgt _08092472 - strh r4, [r5] - adds r5, 0x2 - adds r6, 0x1 -_08092472: - adds r4, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _08092426 - lsls r0, r6, 1 - add r0, r10 - ldr r2, _08092498 - adds r1, r2, 0 - strh r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08092494: .4byte gUnknown_203B45C -_08092498: .4byte 0x0000ffff - thumb_func_end sub_8092404 - - thumb_func_start sub_809249C -sub_809249C: - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _080924F8 - ldr r0, [r0] - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _0809251A - movs r5, 0 -_080924B4: - ldr r2, _080924FC - movs r0, 0x58 - adds r1, r5, 0 - muls r1, r0 - ldr r0, [r2] - adds r4, r0, r1 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08092502 - adds r0, r5, 0 - bl sub_80923D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - bne _08092502 - movs r1, 0 - ldrb r0, [r4, 0x4] - cmp r0, 0x41 - bne _080924E2 - movs r1, 0x1 -_080924E2: - cmp r1, 0 - bne _080924F2 - ldrb r1, [r4, 0x2] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - cmp r0, 0 - beq _08092500 -_080924F2: - movs r7, 0 - b _08092502 - .align 2, 0 -_080924F8: .4byte gUnknown_203B468 -_080924FC: .4byte gUnknown_203B45C -_08092500: - strh r0, [r4] -_08092502: - adds r5, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - ble _080924B4 - cmp r7, 0 - beq _0809251A - ldr r0, _08092520 - ldr r0, [r0] - adds r0, r6 - movs r1, 0 - strb r1, [r0] -_0809251A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08092520: .4byte gUnknown_203B468 - thumb_func_end sub_809249C - - thumb_func_start sub_8092524 -sub_8092524: - lsls r0, 24 - ldr r1, _08092530 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08092530: .4byte gFriendAreaNames - thumb_func_end sub_8092524 - - thumb_func_start sub_8092534 -sub_8092534: - lsls r0, 24 - ldr r1, _08092540 - lsrs r0, 21 - adds r0, r1 - ldrb r0, [r0, 0x2] - bx lr - .align 2, 0 -_08092540: .4byte gUnknown_810AA90 - thumb_func_end sub_8092534 - - thumb_func_start sub_8092544 -sub_8092544: - lsls r0, 24 - ldr r1, _08092554 - lsrs r0, 21 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08092554: .4byte gUnknown_810AA90 - thumb_func_end sub_8092544 - - thumb_func_start sub_8092558 -sub_8092558: - push {lr} - lsls r2, r1, 24 - ldr r1, _08092570 - ldr r3, _08092574 - lsrs r2, 22 - adds r2, r3 - ldr r2, [r2] - bl sub_800D158 - pop {r0} - bx r0 - .align 2, 0 -_08092570: .4byte gUnknown_81098A4 -_08092574: .4byte gFriendAreaNames - thumb_func_end sub_8092558 - - thumb_func_start sub_8092578 -sub_8092578: - push {r4,r5,lr} - sub sp, 0x18 - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - cmp r2, 0 - beq _080925C0 - ldr r0, _080925B4 - lsls r1, r4, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - add r1, sp, 0x4 - movs r2, 0x1 - bl sub_8090FEC - ldr r1, _080925B8 - ldr r2, _080925BC - lsls r0, r4, 2 - adds r0, r2 - ldr r2, [r0] - add r0, sp, 0x4 - str r0, [sp] - adds r0, r5, 0 - movs r3, 0x60 - bl sub_800D158 - b _080925CE - .align 2, 0 -_080925B4: .4byte gUnknown_810AA90 -_080925B8: .4byte gUnknown_81098AC -_080925BC: .4byte gFriendAreaNames -_080925C0: - ldr r0, _080925D8 - lsls r1, r4, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl strcpy -_080925CE: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080925D8: .4byte gFriendAreaNames - thumb_func_end sub_8092578 - - thumb_func_start sub_80925DC -sub_80925DC: - lsls r0, 24 - ldr r1, _080925E8 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080925E8: .4byte gFriendAreaDescriptions - thumb_func_end sub_80925DC - - thumb_func_start sub_80925EC -sub_80925EC: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080925FC - ldr r1, [r1] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080925FC: .4byte gUnknown_203B468 - thumb_func_end sub_80925EC - - thumb_func_start sub_8092600 -sub_8092600: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08092610 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_08092610: .4byte gUnknown_203B468 - thumb_func_end sub_8092600 - - thumb_func_start sub_8092614 -sub_8092614: - push {lr} - movs r1, 0x1 - ldr r0, _08092628 - ldr r2, [r0] -_0809261C: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0809262C - movs r0, 0 - b _08092634 - .align 2, 0 -_08092628: .4byte gUnknown_203B468 -_0809262C: - adds r1, 0x1 - cmp r1, 0x39 - ble _0809261C - movs r0, 0x1 -_08092634: - pop {r1} - bx r1 - thumb_func_end sub_8092614 - - thumb_func_start sub_8092638 -sub_8092638: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r12, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - movs r6, 0 - movs r3, 0 - ldr r2, _080926DC - cmp r3, r5 - bge _0809266E - ldr r1, _080926E0 - adds r3, r5, 0 -_0809265E: - movs r7, 0 - ldrsh r0, [r1, r7] - adds r6, r0 - adds r1, 0x8 - subs r3, 0x1 - cmp r3, 0 - bne _0809265E - adds r3, r5, 0 -_0809266E: - str r6, [r4, 0x8] - ldr r0, [r2] - adds r0, r3 - ldrb r0, [r0] - strb r0, [r4, 0x4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080926E8 - movs r0, 0 - strh r0, [r4, 0x2] - ldr r1, _080926E0 - lsls r0, r3, 3 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - movs r3, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _080926EC - ldr r5, _080926E4 -_0809269A: - movs r0, 0x58 - adds r1, r6, 0 - muls r1, r0 - ldr r0, [r5] - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080926CC - mov r7, r12 - cmp r7, 0 - beq _080926BA - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _080926CC -_080926BA: - mov r0, r8 - cmp r0, 0 - beq _080926C6 - ldrb r0, [r2, 0x4] - cmp r0, 0x41 - beq _080926CC -_080926C6: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_080926CC: - adds r3, 0x1 - adds r6, 0x1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r3, r0 - blt _0809269A - b _080926EC - .align 2, 0 -_080926DC: .4byte gUnknown_203B468 -_080926E0: .4byte gUnknown_810AA90 -_080926E4: .4byte gUnknown_203B45C -_080926E8: - strh r0, [r4, 0x2] - strh r0, [r4] -_080926EC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8092638 - - thumb_func_start sub_80926F8 -sub_80926F8: - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r2, 24 - lsrs r7, r2, 24 - movs r5, 0 - movs r2, 0 - ldr r0, _08092780 - mov r12, r0 - cmp r2, r3 - bge _08092724 - ldr r1, _08092784 - adds r2, r3, 0 -_08092714: - movs r6, 0 - ldrsh r0, [r1, r6] - adds r5, r0 - adds r1, 0x8 - subs r2, 0x1 - cmp r2, 0 - bne _08092714 - adds r2, r3, 0 -_08092724: - str r5, [r4, 0x8] - mov r1, r12 - ldr r0, [r1] - adds r0, r2 - ldrb r0, [r0] - strb r0, [r4, 0x4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0809279C - movs r0, 0 - strh r0, [r4, 0x2] - ldr r1, _08092784 - lsls r0, r2, 3 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - movs r6, 0 - ldrsh r0, [r4, r6] - cmp r0, 0 - ble _080927A0 - ldr r6, _08092788 - adds r2, r0, 0 -_08092752: - movs r0, 0x58 - adds r1, r5, 0 - muls r1, r0 - ldr r0, [r6] - adds r3, r0, r1 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08092792 - ldrb r0, [r3, 0x2] - cmp r0, 0 - bne _08092776 - cmp r7, 0 - bne _0809278C - ldrb r0, [r3, 0x4] - cmp r0, 0x41 - bne _0809278C -_08092776: - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - b _08092792 - .align 2, 0 -_08092780: .4byte gUnknown_203B468 -_08092784: .4byte gUnknown_810AA90 -_08092788: .4byte gUnknown_203B45C -_0809278C: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_08092792: - subs r2, 0x1 - adds r5, 0x1 - cmp r2, 0 - bne _08092752 - b _080927A0 -_0809279C: - strh r0, [r4, 0x2] - strh r0, [r4] -_080927A0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80926F8 - - thumb_func_start sub_80927A8 -sub_80927A8: - push {r4,r5,lr} - sub sp, 0x14 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809486C - movs r4, 0 - add r5, sp, 0x10 -_080927BC: - ldr r0, _080927F0 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _080927CC - movs r0, 0x1 - negs r0, r0 -_080927CC: - str r0, [sp, 0x10] - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - bl sub_809488C - adds r4, 0x1 - cmp r4, 0x39 - ble _080927BC - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x14 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080927F0: .4byte gUnknown_203B468 - thumb_func_end sub_80927A8 - - thumb_func_start sub_80927F4 -sub_80927F4: - push {r4-r7,lr} - sub sp, 0x14 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809485C - movs r4, 0 - add r7, sp, 0x10 - movs r6, 0x1 - ldr r5, _08092828 -_0809280C: - mov r0, sp - adds r1, r7, 0 - movs r2, 0x1 - bl sub_8094924 - ldr r1, [sp, 0x10] - ands r1, r6 - cmp r1, 0 - beq _0809282C - ldr r0, [r5] - adds r0, r4 - strb r6, [r0] - b _08092832 - .align 2, 0 -_08092828: .4byte gUnknown_203B468 -_0809282C: - ldr r0, [r5] - adds r0, r4 - strb r1, [r0] -_08092832: - adds r4, 0x1 - cmp r4, 0x39 - ble _0809280C - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80927F4 - - thumb_func_start LoadWazaParameters -LoadWazaParameters: - push {lr} - ldr r0, _08092868 - ldr r1, _0809286C - bl OpenFileAndGetFileDataPtr - ldr r1, _08092870 - str r0, [r1] - ldr r1, _08092874 - ldr r2, [r0, 0x4] - ldr r0, [r2] - str r0, [r1] - ldr r1, _08092878 - ldr r0, [r2, 0x4] - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08092868: .4byte gUnknown_81098D0 -_0809286C: .4byte gUnknown_8300500 -_08092870: .4byte gWazaParametersFile -_08092874: .4byte gUnknown_2038C68 -_08092878: .4byte gUnknown_2038C6C - thumb_func_end LoadWazaParameters - - thumb_func_start sub_809287C -sub_809287C: - push {lr} - adds r2, r0, 0 - ldrb r1, [r2] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08092894 - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08092898 -_08092894: - movs r0, 0x32 - b _0809289A -_08092898: - movs r0, 0x34 -_0809289A: - pop {r1} - bx r1 - thumb_func_end sub_809287C - - thumb_func_start sub_80928A0 -sub_80928A0: - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r2, 0 - mov r0, sp - bl sub_8093F10 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - bl sub_80928C0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80928A0 - - thumb_func_start sub_80928C0 -sub_80928C0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r7, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r0, r4, 0 - bl sub_809287C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0 - bne _080928DE - ldr r5, _080928F0 -_080928DE: - ldrb r1, [r4, 0x5] - cmp r1, 0 - beq _080928F8 - ldr r1, _080928F4 - ldrb r2, [r4, 0x5] - add r0, sp, 0x14 - bl sub_800D158 - b _080928FC - .align 2, 0 -_080928F0: .4byte gUnknown_81098C4 -_080928F4: .4byte gUnknown_81098DC -_080928F8: - add r0, sp, 0x14 - strb r1, [r0] -_080928FC: - ldrb r0, [r5, 0x8] - cmp r0, 0 - beq _08092904 - movs r6, 0x2 -_08092904: - ldrb r0, [r5, 0x9] - cmp r0, 0 - beq _08092918 - ldrh r0, [r4, 0x2] - bl sub_809422C - lsls r0, 24 - cmp r0, 0 - beq _08092918 - movs r6, 0x2 -_08092918: - ldr r0, [r5] - cmp r0, 0x4 - bls _08092920 - b _08092A6A -_08092920: - lsls r0, 2 - ldr r1, _0809292C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809292C: .4byte _08092930 - .align 2, 0 -_08092930: - .4byte _08092944 - .4byte _0809296C - .4byte _08092998 - .4byte _080929C4 - .4byte _08092A20 -_08092944: - ldr r1, _08092964 - ldrh r2, [r4, 0x2] - ldr r0, _08092968 - ldr r3, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldr r3, [r0] - add r0, sp, 0x14 - str r0, [sp] - adds r0, r7, 0 - adds r2, r6, 0 - bl sub_800D158 - b _08092A6A - .align 2, 0 -_08092964: .4byte gUnknown_81098E0 -_08092968: .4byte gUnknown_2038C68 -_0809296C: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r1, _0809298C - mov r8, r1 - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - ldr r1, _08092990 - mov r12, r1 - cmp r0, 0 - beq _080929E2 - ldr r0, _08092994 - b _080929E0 - .align 2, 0 -_0809298C: .4byte gUnknown_81098EC -_08092990: .4byte gUnknown_810990C -_08092994: .4byte gUnknown_8109908 -_08092998: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r0, _080929B8 - mov r8, r0 - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - ldr r1, _080929BC - mov r12, r1 - cmp r0, 0 - beq _080929E2 - ldr r0, _080929C0 - b _080929E0 - .align 2, 0 -_080929B8: .4byte gUnknown_8109910 -_080929BC: .4byte gUnknown_810990C -_080929C0: .4byte gUnknown_8109908 -_080929C4: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r0, _08092A10 - mov r8, r0 - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - ldr r1, _08092A14 - mov r12, r1 - cmp r0, 0 - beq _080929E2 - ldr r0, _08092A18 -_080929E0: - mov r12, r0 -_080929E2: - ldrh r1, [r4, 0x2] - ldr r0, _08092A1C - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - add r1, sp, 0x14 - str r1, [sp, 0x4] - ldr r0, [r5, 0x4] - str r0, [sp, 0x8] - ldrb r0, [r4, 0x4] - str r0, [sp, 0xC] - str r3, [sp, 0x10] - adds r0, r7, 0 - mov r1, r8 - adds r2, r6, 0 - mov r3, r12 - bl sub_800D158 - b _08092A6A - .align 2, 0 -_08092A10: .4byte gUnknown_81098EC -_08092A14: .4byte gUnknown_810990C -_08092A18: .4byte gUnknown_8109928 -_08092A1C: .4byte gUnknown_2038C68 -_08092A20: - adds r0, r4, 0 - bl sub_8092BF4 - adds r3, r0, 0 - ldr r0, _08092A78 - mov r8, r0 - ldrb r1, [r4] - movs r0, 0x4 - ands r0, r1 - ldr r1, _08092A7C - mov r12, r1 - cmp r0, 0 - beq _08092A3E - ldr r0, _08092A80 - mov r12, r0 -_08092A3E: - ldrh r1, [r4, 0x2] - ldr r0, _08092A84 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - add r1, sp, 0x14 - str r1, [sp, 0x4] - ldr r0, [r5, 0x4] - str r0, [sp, 0x8] - ldrb r0, [r4, 0x4] - str r0, [sp, 0xC] - str r3, [sp, 0x10] - adds r0, r7, 0 - mov r1, r8 - adds r2, r6, 0 - mov r3, r12 - bl sub_800D158 -_08092A6A: - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08092A78: .4byte gUnknown_8109910 -_08092A7C: .4byte gUnknown_810990C -_08092A80: .4byte gUnknown_8109928 -_08092A84: .4byte gUnknown_2038C68 - thumb_func_end sub_80928C0 - - thumb_func_start sub_8092A88 -sub_8092A88: - push {r4,r5,lr} - adds r4, r0, 0 - movs r2, 0 - movs r0, 0x5 - strb r0, [r4] - strb r2, [r4, 0x1] - movs r5, 0 - strh r1, [r4, 0x2] - adds r0, r4, 0 - bl sub_8092BF4 - strb r0, [r4, 0x4] - strb r5, [r4, 0x5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8092A88 - - thumb_func_start sub_8092AA8 -sub_8092AA8: - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r2, 0 - bne _08092AB8 - strb r2, [r5] - b _08092ACE -_08092AB8: - movs r1, 0 - movs r0, 0x5 - strb r0, [r5] - strb r1, [r5, 0x1] - movs r4, 0 - strh r2, [r5, 0x2] - adds r0, r5, 0 - bl sub_8092BF4 - strb r0, [r5, 0x4] - strb r4, [r5, 0x5] -_08092ACE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8092AA8 - - thumb_func_start sub_8092AD4 -sub_8092AD4: - movs r2, 0x5 - strb r2, [r0] - movs r2, 0 - strh r1, [r0, 0x2] - strb r2, [r0, 0x4] - bx lr - thumb_func_end sub_8092AD4 - - thumb_func_start sub_8092AE0 -sub_8092AE0: - ldrh r2, [r0, 0x2] - ldr r0, _08092AFC - ldr r3, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - lsls r1, 1 - adds r0, 0x8 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08092AFC: .4byte gUnknown_2038C68 - thumb_func_end sub_8092AE0 - - thumb_func_start sub_8092B00 -sub_8092B00: - ldrh r1, [r0, 0x2] - ldr r0, _08092B14 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x6] - bx lr - .align 2, 0 -_08092B14: .4byte gUnknown_2038C68 - thumb_func_end sub_8092B00 - - thumb_func_start sub_8092B18 -sub_8092B18: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r2, r1, 0 - ldr r0, _08092B40 - cmp r1, r0 - beq _08092B48 - cmp r1, 0 - beq _08092B48 - movs r0, 0xD2 - lsls r0, 1 - cmp r2, r0 - beq _08092B48 - ldr r0, _08092B44 - ldr r1, [r0] - lsls r0, r2, 3 - adds r0, r1 - ldr r0, [r0] - b _08092B4A - .align 2, 0 -_08092B40: .4byte 0x000001a5 -_08092B44: .4byte gUnknown_2038C6C -_08092B48: - ldr r0, _08092B50 -_08092B4A: - pop {r1} - bx r1 - .align 2, 0 -_08092B50: .4byte gUnknown_810992B - thumb_func_end sub_8092B18 - - thumb_func_start sub_8092B54 -sub_8092B54: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r2, r1, 0 - ldr r0, _08092B7C - cmp r1, r0 - beq _08092B84 - cmp r1, 0 - beq _08092B84 - movs r0, 0xD2 - lsls r0, 1 - cmp r2, r0 - beq _08092B84 - ldr r0, _08092B80 - ldr r1, [r0] - lsls r0, r2, 3 - adds r0, r1 - ldr r0, [r0, 0x4] - b _08092B86 - .align 2, 0 -_08092B7C: .4byte 0x000001a5 -_08092B80: .4byte gUnknown_2038C6C -_08092B84: - ldr r0, _08092B8C -_08092B86: - pop {r1} - bx r1 - .align 2, 0 -_08092B8C: .4byte gUnknown_810992B - thumb_func_end sub_8092B54 - - thumb_func_start sub_8092B90 -sub_8092B90: - ldrh r1, [r0, 0x2] - ldr r0, _08092BA4 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xD] - bx lr - .align 2, 0 -_08092BA4: .4byte gUnknown_2038C68 - thumb_func_end sub_8092B90 - - thumb_func_start sub_8092BA8 -sub_8092BA8: - ldrh r1, [r0, 0x2] - ldr r0, _08092BBC - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x11] - bx lr - .align 2, 0 -_08092BBC: .4byte gUnknown_2038C68 - thumb_func_end sub_8092BA8 - - thumb_func_start sub_8092BC0 -sub_8092BC0: - ldrh r1, [r0, 0x2] - ldr r0, _08092BD4 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x4 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08092BD4: .4byte gUnknown_2038C68 - thumb_func_end sub_8092BC0 - - thumb_func_start sub_8092BD8 -sub_8092BD8: - ldrh r2, [r0, 0x2] - ldr r0, _08092BF0 - ldr r3, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - adds r0, 0xE - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08092BF0: .4byte gUnknown_2038C68 - thumb_func_end sub_8092BD8 - - thumb_func_start sub_8092BF4 -sub_8092BF4: - ldrh r1, [r0, 0x2] - ldr r0, _08092C08 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xC] - bx lr - .align 2, 0 -_08092C08: .4byte gUnknown_2038C68 - thumb_func_end sub_8092BF4 - - thumb_func_start sub_8092C0C -sub_8092C0C: - ldrh r1, [r0, 0x2] - ldr r0, _08092C20 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x12] - bx lr - .align 2, 0 -_08092C20: .4byte gUnknown_2038C68 - thumb_func_end sub_8092C0C - - thumb_func_start sub_8092C24 -sub_8092C24: - ldrh r1, [r0, 0x2] - ldr r0, _08092C38 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x13] - bx lr - .align 2, 0 -_08092C38: .4byte gUnknown_2038C68 - thumb_func_end sub_8092C24 - - thumb_func_start sub_8092C3C -sub_8092C3C: - ldrh r1, [r0, 0x2] - ldr r0, _08092C50 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x17] - bx lr - .align 2, 0 -_08092C50: .4byte gUnknown_2038C68 - thumb_func_end sub_8092C3C - - thumb_func_start sub_8092C54 -sub_8092C54: - ldrh r1, [r0, 0x2] - ldr r0, _08092C68 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - bx lr - .align 2, 0 -_08092C68: .4byte gUnknown_2038C68 - thumb_func_end sub_8092C54 - - thumb_func_start sub_8092C6C -sub_8092C6C: - ldrh r1, [r0, 0x2] - ldr r0, _08092C80 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - bx lr - .align 2, 0 -_08092C80: .4byte gUnknown_2038C68 - thumb_func_end sub_8092C6C - - thumb_func_start sub_8092C84 -sub_8092C84: - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - bl sub_8092A88 - adds r0, r4, 0 - mov r1, sp - movs r2, 0 - bl sub_80928C0 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8092C84 - - thumb_func_start sub_8092CA8 -sub_8092CA8: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092CBC - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, [r1, 0x20] - bx lr - .align 2, 0 -_08092CBC: .4byte gUnknown_2038C68 - thumb_func_end sub_8092CA8 - - thumb_func_start sub_8092CC0 -sub_8092CC0: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092CD4 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x14] - bx lr - .align 2, 0 -_08092CD4: .4byte gUnknown_2038C68 - thumb_func_end sub_8092CC0 - - thumb_func_start sub_8092CD8 -sub_8092CD8: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092CEC - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x15] - bx lr - .align 2, 0 -_08092CEC: .4byte gUnknown_2038C68 - thumb_func_end sub_8092CD8 - - thumb_func_start sub_8092CF0 -sub_8092CF0: - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08092D04 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x16] - bx lr - .align 2, 0 -_08092D04: .4byte gUnknown_2038C68 - thumb_func_end sub_8092CF0 - - thumb_func_start sub_8092D08 -sub_8092D08: - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2] - cmp r1, 0xD9 - beq _08092D4C - movs r0, 0x8E - lsls r0, 1 - cmp r1, r0 - beq _08092D4C - cmp r1, 0x53 - beq _08092D4C - cmp r1, 0x22 - beq _08092D4C - cmp r1, 0x54 - beq _08092D4C - cmp r1, 0xAB - beq _08092D4C - ldr r0, _08092D48 - cmp r1, r0 - beq _08092D4C - cmp r1, 0x1B - beq _08092D4C - cmp r1, 0xF1 - beq _08092D4C - cmp r1, 0x19 - beq _08092D4C - ldrh r0, [r2, 0x2] - cmp r0, 0x1A - beq _08092D4C - movs r0, 0 - b _08092D4E - .align 2, 0 -_08092D48: .4byte 0x00000125 -_08092D4C: - movs r0, 0x1 -_08092D4E: - pop {r1} - bx r1 - thumb_func_end sub_8092D08 - - thumb_func_start sub_8092D54 -sub_8092D54: - push {r4-r6,lr} - adds r6, r0, 0 - adds r0, r1, 0 - ldr r5, _08092D78 - ldr r4, _08092D7C - bl sub_8092C6C - lsls r0, 2 - adds r0, r4 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_800D158 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08092D78: .4byte gUnknown_810992C -_08092D7C: .4byte gUnknown_810CC0C - thumb_func_end sub_8092D54 - - thumb_func_start sub_8092D80 -sub_8092D80: - push {r4,r5,lr} - adds r3, r1, 0 - movs r5, 0 - lsls r1, r3, 3 - adds r1, r0 -_08092D8A: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x4 - beq _08092DB0 - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092DB0 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092DAA - adds r0, r3, 0 - b _08092DB2 -_08092DAA: - adds r5, 0x1 - cmp r5, 0x3 - ble _08092D8A -_08092DB0: - movs r0, 0 -_08092DB2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092D80 - - thumb_func_start sub_8092DB8 -sub_8092DB8: - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - movs r6, 0x1 -_08092DC0: - subs r1, 0x1 - cmp r1, 0 - bge _08092DF0 - movs r2, 0x3 - ldrb r1, [r4, 0x18] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08092DD6 - movs r1, 0x3 - b _08092DEC -_08092DD6: - subs r2, 0x1 - cmp r2, 0 - blt _08092E12 - lsls r0, r2, 3 - adds r0, r4 - ldrb r1, [r0] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08092DD6 - adds r1, r2, 0 -_08092DEC: - cmp r2, 0 - blt _08092E12 -_08092DF0: - lsls r0, r1, 3 - adds r0, r4 - ldrb r2, [r0] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r2 - cmp r0, 0 - beq _08092E12 - lsrs r0, r2, 1 - ands r0, r3 - cmp r0, 0 - bne _08092E0C - adds r0, r1, 0 - b _08092E14 -_08092E0C: - adds r5, 0x1 - cmp r5, 0x3 - ble _08092DC0 -_08092E12: - movs r0, 0 -_08092E14: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8092DB8 - - thumb_func_start sub_8092E1C -sub_8092E1C: - push {r4,r5,lr} - adds r3, r1, 0 - movs r5, 0 - lsls r1, r3, 3 - adds r1, r0 -_08092E26: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x8 - beq _08092E4C - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092E4C - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092E46 - adds r0, r3, 0 - b _08092E4E -_08092E46: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092E26 -_08092E4C: - movs r0, 0 -_08092E4E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092E1C - - thumb_func_start sub_8092E54 -sub_8092E54: - push {r4,r5,lr} - adds r3, r1, 0 - movs r5, 0 - lsls r1, r3, 3 - adds r1, r0 -_08092E5E: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x8 - beq _08092E84 - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092E84 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092E7E - adds r0, r3, 0 - b _08092E86 -_08092E7E: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092E5E -_08092E84: - movs r0, 0 -_08092E86: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8092E54 - - thumb_func_start sub_8092E8C -sub_8092E8C: - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - lsls r0, r1, 3 - adds r3, r0, r6 -_08092E96: - subs r3, 0x8 - subs r1, 0x1 - cmp r1, 0 - bge _08092EC6 - movs r3, 0x7 - movs r4, 0x1 - adds r2, r6, 0 - adds r2, 0x38 -_08092EA6: - ldrb r1, [r2] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08092EBC - lsrs r0, r1, 1 - ands r0, r4 - cmp r0, 0 - bne _08092EBC - adds r0, r3, 0 - b _08092EE6 -_08092EBC: - subs r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bgt _08092EA6 - b _08092EE4 -_08092EC6: - ldrb r2, [r3] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092EE4 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092EDE - adds r0, r1, 0 - b _08092EE6 -_08092EDE: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092E96 -_08092EE4: - movs r0, 0 -_08092EE6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8092E8C - - thumb_func_start sub_8092EEC -sub_8092EEC: - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - lsls r0, r1, 3 - adds r3, r0, r6 -_08092EF6: - subs r3, 0x8 - subs r1, 0x1 - cmp r1, 0 - bge _08092F26 - movs r3, 0x7 - movs r4, 0x1 - adds r2, r6, 0 - adds r2, 0x38 -_08092F06: - ldrb r1, [r2] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08092F1C - lsrs r0, r1, 1 - ands r0, r4 - cmp r0, 0 - bne _08092F1C - adds r0, r3, 0 - b _08092F46 -_08092F1C: - subs r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bgt _08092F06 - b _08092F44 -_08092F26: - ldrb r2, [r3] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092F44 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092F3E - adds r0, r1, 0 - b _08092F46 -_08092F3E: - adds r5, 0x1 - cmp r5, 0x7 - ble _08092EF6 -_08092F44: - movs r0, 0 -_08092F46: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8092EEC - - thumb_func_start sub_8092F4C -sub_8092F4C: - push {r4,lr} - adds r2, r0, 0 - cmp r1, 0 - ble _08092F78 - movs r4, 0x1 - lsls r0, r1, 3 - adds r3, r0, r2 -_08092F5A: - ldrb r2, [r3] - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08092F78 - lsrs r0, r2, 1 - ands r0, r4 - cmp r0, 0 - bne _08092F70 - adds r0, r1, 0 - b _08092F7A -_08092F70: - subs r3, 0x8 - subs r1, 0x1 - cmp r1, 0 - bgt _08092F5A -_08092F78: - movs r0, 0 -_08092F7A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8092F4C - - thumb_func_start sub_8092F80 -sub_8092F80: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x80 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093784 - mov r0, sp - bl sub_8093744 - adds r3, r0, 0 - cmp r3, 0x2 - bhi _08092FCC - lsls r1, r3, 5 - adds r0, r3, 0x1 - lsls r0, 5 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x3 -_08092FBA: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _08092FBA -_08092FCC: - adds r0, r7, 0 - mov r1, sp - bl sub_80937E0 - movs r3, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r1, r7, 0 -_08092FDC: - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08092FF0 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1] - mov r8, r3 - b _08092FF8 -_08092FF0: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x3 - ble _08092FDC -_08092FF8: - mov r0, r8 - add sp, 0x80 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8092F80 - - thumb_func_start sub_8093008 -sub_8093008: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0809307C - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093974 - mov r0, sp - bl sub_80938F4 - adds r3, r0, 0 - cmp r3, 0x6 - bhi _08093056 - lsls r1, r3, 6 - adds r0, r3, 0x1 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_08093044: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _08093044 -_08093056: - adds r0, r7, 0 - mov r1, sp - bl sub_8093A2C - movs r3, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r1, r7, 0 -_08093066: - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08093080 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1] - mov r8, r3 - b _08093088 - .align 2, 0 -_0809307C: .4byte 0xfffffe00 -_08093080: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _08093066 -_08093088: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093008 - - thumb_func_start sub_809309C -sub_809309C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08093110 - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_80939D0 - mov r0, sp - bl sub_8093934 - adds r3, r0, 0 - cmp r3, 0x6 - bhi _080930EA - lsls r1, r3, 6 - adds r0, r3, 0x1 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_080930D8: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _080930D8 -_080930EA: - adds r0, r7, 0 - mov r1, sp - bl sub_8093B40 - movs r3, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r1, r7, 0 -_080930FA: - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08093114 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1] - mov r8, r3 - b _0809311C - .align 2, 0 -_08093110: .4byte 0xfffffe00 -_08093114: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _080930FA -_0809311C: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809309C - - thumb_func_start sub_8093130 -sub_8093130: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x80 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093784 - mov r0, sp - bl sub_8093744 - adds r1, r0, 0 - subs r0, r1, 0x1 - cmp r0, 0x2 - bhi _0809317C - lsls r1, 5 - lsls r0, 5 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x3 -_0809316A: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _0809316A -_0809317C: - adds r0, r7, 0 - mov r1, sp - bl sub_80937E0 - movs r1, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r2, r7, 0 -_0809318C: - ldrb r3, [r2] - adds r0, r5, 0 - ands r0, r3 - cmp r0, 0 - beq _080931A0 - adds r0, r4, 0 - ands r0, r3 - strb r0, [r2] - mov r8, r1 - b _080931A8 -_080931A0: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x3 - ble _0809318C -_080931A8: - mov r0, r8 - add sp, 0x80 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093130 - - thumb_func_start sub_80931B8 -sub_80931B8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0809322C - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_8093974 - mov r0, sp - bl sub_80938F4 - adds r1, r0, 0 - subs r0, r1, 0x1 - cmp r0, 0x6 - bhi _08093206 - lsls r1, 6 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_080931F4: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _080931F4 -_08093206: - adds r0, r7, 0 - mov r1, sp - bl sub_8093A2C - movs r1, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r2, r7, 0 -_08093216: - ldrb r3, [r2] - adds r0, r5, 0 - ands r0, r3 - cmp r0, 0 - beq _08093230 - adds r0, r4, 0 - ands r0, r3 - strb r0, [r2] - mov r8, r1 - b _08093238 - .align 2, 0 -_0809322C: .4byte 0xfffffe00 -_08093230: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x7 - ble _08093216 -_08093238: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80931B8 - - thumb_func_start sub_809324C -sub_809324C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080932C0 - add sp, r4 - adds r7, r0, 0 - mov r8, r1 - lsls r0, r1, 3 - adds r0, r7, r0 - ldrb r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0 - mov r1, sp - bl sub_80939D0 - mov r0, sp - bl sub_8093934 - adds r1, r0, 0 - subs r0, r1, 0x1 - cmp r0, 0x6 - bhi _0809329A - lsls r1, 6 - lsls r0, 6 - mov r2, sp - adds r5, r0, r2 - adds r4, r1, r2 - movs r6, 0x7 -_08093288: - ldr r2, [r4] - ldr r3, [r4, 0x4] - ldr r0, [r5] - ldr r1, [r5, 0x4] - stm r4!, {r0,r1} - stm r5!, {r2,r3} - subs r6, 0x1 - cmp r6, 0 - bge _08093288 -_0809329A: - adds r0, r7, 0 - mov r1, sp - bl sub_8093B40 - movs r1, 0 - movs r5, 0x80 - movs r4, 0x7F - adds r2, r7, 0 -_080932AA: - ldrb r3, [r2] - adds r0, r5, 0 - ands r0, r3 - cmp r0, 0 - beq _080932C4 - adds r0, r4, 0 - ands r0, r3 - strb r0, [r2] - mov r8, r1 - b _080932CC - .align 2, 0 -_080932C0: .4byte 0xfffffe00 -_080932C4: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x7 - ble _080932AA -_080932CC: - mov r0, r8 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809324C - - thumb_func_start sub_80932E0 -sub_80932E0: - push {lr} - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080932F4 - movs r0, 0 - b _080932F6 -_080932F4: - movs r0, 0x1 -_080932F6: - pop {r1} - bx r1 - thumb_func_end sub_80932E0 - - thumb_func_start sub_80932FC -sub_80932FC: - push {lr} - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08093310 - movs r0, 0 - b _08093312 -_08093310: - movs r0, 0x1 -_08093312: - pop {r1} - bx r1 - thumb_func_end sub_80932FC - - thumb_func_start sub_8093318 -sub_8093318: - push {r4,lr} - sub sp, 0x40 - adds r4, r0, 0 - mov r0, sp - movs r2, 0x40 - bl MemoryCopy8 - adds r0, r4, 0 - mov r1, sp - bl sub_8093400 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x40 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8093318 - - thumb_func_start sub_809333C -sub_809333C: - push {r4,lr} - sub sp, 0x40 - adds r4, r0, 0 - mov r0, sp - movs r2, 0x40 - bl MemoryCopy8 - adds r0, r4, 0 - mov r1, sp - bl sub_8093468 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x40 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809333C - - thumb_func_start sub_8093360 -sub_8093360: - push {r4,lr} - sub sp, 0x40 - adds r4, r0, 0 - mov r0, sp - movs r2, 0x40 - bl MemoryCopy8 - adds r0, r4, 0 - mov r1, sp - bl sub_80933D8 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x40 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8093360 - - thumb_func_start sub_8093384 -sub_8093384: - push {lr} - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08093398 - movs r0, 0x1 - b _0809339A -_08093398: - movs r0, 0 -_0809339A: - pop {r1} - bx r1 - thumb_func_end sub_8093384 - - thumb_func_start sub_80933A0 -sub_80933A0: - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x1 - movs r5, 0x2 - movs r3, 0x7 -_080933AA: - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - cmp r0, 0 - beq _080933BE - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - bne _080933BE - adds r4, 0x1 -_080933BE: - adds r1, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _080933AA - cmp r4, 0x1 - bgt _080933CE - movs r0, 0 - b _080933D0 -_080933CE: - movs r0, 0x1 -_080933D0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80933A0 - - thumb_func_start sub_80933D8 -sub_80933D8: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8093400 - lsls r0, 24 - cmp r0, 0 - bne _080933F6 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8093468 - lsls r0, 24 - lsrs r0, 24 - b _080933F8 -_080933F6: - movs r0, 0x1 -_080933F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80933D8 - - thumb_func_start sub_8093400 -sub_8093400: - push {r4-r7,lr} - adds r4, r0, 0 - adds r7, r1, 0 - lsls r0, r4, 3 - adds r0, r7, r0 - ldrh r0, [r0, 0x2] - bl sub_809422C - lsls r0, 24 - cmp r0, 0 - beq _08093428 - b _08093460 -_08093418: - adds r0, r1, 0 - orrs r0, r2 - strb r0, [r6] - adds r0, r7, 0 - bl sub_809371C - movs r0, 0x1 - b _08093462 -_08093428: - adds r5, r4, 0x1 - cmp r5, 0x7 - bgt _08093460 - lsls r0, r5, 3 - adds r4, r0, r7 - adds r6, r4, 0 -_08093434: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093460 - ldrh r0, [r4, 0x2] - bl sub_809422C - lsls r0, 24 - cmp r0, 0 - bne _08093460 - ldrb r1, [r4] - movs r2, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093418 - adds r4, 0x8 - adds r6, 0x8 - adds r5, 0x1 - cmp r5, 0x7 - ble _08093434 -_08093460: - movs r0, 0 -_08093462: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093400 - - thumb_func_start sub_8093468 -sub_8093468: - push {r4-r7,lr} - adds r6, r1, 0 - movs r5, 0 - adds r1, r0, 0x1 - movs r4, 0 - cmp r1, 0x7 - bgt _080934A0 - movs r0, 0x2 - mov r12, r0 - movs r7, 0xFD - lsls r0, r1, 3 - adds r3, r0, r6 -_08093480: - ldrb r2, [r3] - mov r0, r12 - ands r0, r2 - cmp r0, 0 - beq _080934A0 - adds r0, r7, 0 - ands r0, r2 - strb r0, [r3] - movs r5, 0x1 - adds r3, 0x8 - adds r1, 0x1 - adds r4, 0x1 - cmp r4, 0x7 - bgt _080934A0 - cmp r1, 0x7 - ble _08093480 -_080934A0: - adds r0, r6, 0 - bl sub_809371C - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093468 - - thumb_func_start sub_80934B0 -sub_80934B0: - push {lr} - adds r2, r0, 0 - adds r0, r2, 0x1 - cmp r0, 0x7 - bgt _080934D2 - lsls r0, r2, 3 - adds r0, 0x8 - adds r0, r1, r0 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080934D2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080934D6 -_080934D2: - movs r0, 0 - b _080934D8 -_080934D6: - movs r0, 0x1 -_080934D8: - pop {r1} - bx r1 - thumb_func_end sub_80934B0 - - thumb_func_start sub_80934DC -sub_80934DC: - push {r4-r7,lr} - adds r5, r1, 0 - lsls r0, 3 - adds r4, r5, r0 - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080934F4 - movs r0, 0xF7 - ands r0, r1 - b _0809351A -_080934F4: - movs r7, 0x1 - movs r6, 0xF7 - adds r1, r5, 0 - movs r3, 0x3 -_080934FC: - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - cmp r0, 0 - beq _0809350C - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_0809350C: - adds r1, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _080934FC - ldrb r1, [r4] - movs r0, 0x8 - orrs r0, r1 -_0809351A: - strb r0, [r4] - adds r0, r5, 0 - bl sub_809371C - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80934DC - - thumb_func_start sub_809352C -sub_809352C: - push {lr} - lsls r0, 3 - adds r0, r1, r0 - ldrb r3, [r0] - movs r2, 0xF7 - ands r2, r3 - strb r2, [r0] - adds r0, r1, 0 - bl sub_809371C - pop {r0} - bx r0 - thumb_func_end sub_809352C - - thumb_func_start sub_8093544 -sub_8093544: - push {lr} - lsls r0, 3 - adds r0, r1, r0 - ldrb r2, [r0] - movs r3, 0x4 - eors r2, r3 - strb r2, [r0] - adds r0, r1, 0 - bl sub_809371C - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8093544 - - thumb_func_start sub_8093560 -sub_8093560: - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - movs r5, 0x1 - lsls r0, r4, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x2] - strh r0, [r2] - movs r1, 0 - adds r0, r2, 0x2 - movs r3, 0x2 -_08093576: - strh r1, [r0] - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08093576 - adds r4, 0x1 - adds r2, 0x2 - cmp r4, 0x7 - bgt _080935B0 - cmp r5, 0x3 - bgt _080935B0 - movs r7, 0x2 - lsls r0, r4, 3 - adds r3, r0, r6 -_08093592: - ldrb r1, [r3] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080935B0 - ldrh r0, [r3, 0x2] - strh r0, [r2] - adds r2, 0x2 - adds r5, 0x1 - adds r3, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - bgt _080935B0 - cmp r5, 0x3 - ble _08093592 -_080935B0: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093560 - - thumb_func_start sub_80935B8 -sub_80935B8: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r0, 0x63 - mov r12, r0 - movs r0, 0 - mov r8, r0 - movs r6, 0 - adds r4, r1, 0 - cmp r4, 0 - blt _08093606 - lsls r0, r4, 3 - adds r2, r5, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093606 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093606 - movs r7, 0x1 - movs r3, 0x2 -_080935EC: - subs r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - blt _08093606 - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093606 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080935EC -_08093606: - adds r2, r4, 0x1 - mov r9, r2 - cmp r2, 0x3 - bgt _08093642 - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093642 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093642 - movs r6, 0x1 - movs r7, 0x2 -_08093628: - adds r3, 0x8 - adds r2, 0x1 - cmp r2, 0x3 - bgt _08093642 - ldrb r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08093642 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _08093628 -_08093642: - cmp r6, 0 - bne _0809364A - movs r0, 0x63 - b _080936CC -_0809364A: - movs r6, 0 - b _08093668 -_0809364E: - ldrb r0, [r3, 0x4] - cmp r12, r0 - ble _08093656 - mov r12, r0 -_08093656: - cmp r0, 0 - bne _0809365C - movs r6, 0x1 -_0809365C: - ldrb r1, [r3, 0x1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08093668 - movs r6, 0x1 -_08093668: - subs r2, 0x1 - cmp r2, r4 - blt _0809367C - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809364E -_0809367C: - cmp r6, 0 - beq _080936C6 - mov r2, r9 - cmp r2, 0x3 - bgt _080936C0 - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080936C0 - movs r6, 0x2 - movs r4, 0xFD -_08093698: - ldrb r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080936C0 - adds r0, r4, 0 - ands r0, r1 - strb r0, [r3] - movs r0, 0x1 - mov r8, r0 - adds r2, 0x1 - cmp r2, 0x3 - bgt _080936C0 - lsls r0, r2, 3 - adds r3, r5, r0 - ldrb r1, [r3] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - bne _08093698 -_080936C0: - mov r0, r8 - cmp r0, 0 - bne _080936CA -_080936C6: - mov r0, r12 - b _080936CC -_080936CA: - movs r0, 0 -_080936CC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80935B8 - - thumb_func_start sub_80936D8 -sub_80936D8: - push {r4,lr} - sub sp, 0x80 - adds r4, r0, 0 - mov r1, sp - bl sub_8093784 - adds r0, r4, 0 - mov r1, sp - bl sub_80937E0 - add sp, 0x80 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80936D8 - - thumb_func_start sub_80936F4 -sub_80936F4: - push {r4,lr} - ldr r4, _08093718 - add sp, r4 - adds r4, r0, 0 - mov r1, sp - bl sub_8093974 - adds r0, r4, 0 - mov r1, sp - bl sub_8093A2C - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093718: .4byte 0xfffffe00 - thumb_func_end sub_80936F4 - - thumb_func_start sub_809371C -sub_809371C: - push {r4,lr} - ldr r4, _08093740 - add sp, r4 - adds r4, r0, 0 - mov r1, sp - bl sub_80939D0 - adds r0, r4, 0 - mov r1, sp - bl sub_8093B40 - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093740: .4byte 0xfffffe00 - thumb_func_end sub_809371C - - thumb_func_start sub_8093744 -sub_8093744: - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - movs r6, 0x1 - movs r5, 0x80 -_0809374E: - movs r3, 0 - lsls r0, r4, 5 - adds r2, r0, r7 -_08093754: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0809376A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0809376A - adds r0, r4, 0 - b _0809377C -_0809376A: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x3 - ble _08093754 - adds r4, 0x1 - cmp r4, 0x3 - ble _0809374E - movs r0, 0x1 - negs r0, r0 -_0809377C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093744 - - thumb_func_start sub_8093784 -sub_8093784: - push {r4-r7,lr} - adds r6, r0, 0 - movs r2, 0 - movs r4, 0 -_0809378C: - lsls r0, r2, 5 - adds r2, 0x1 - movs r3, 0x3 - adds r0, r1 - adds r0, 0x18 -_08093796: - strb r4, [r0] - subs r0, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093796 - cmp r2, 0x3 - ble _0809378C - movs r3, 0 - movs r5, 0 - adds r4, r1, 0 - subs r4, 0x20 - movs r7, 0x2 -_080937AE: - cmp r5, 0 - beq _080937BC - ldrb r1, [r6] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080937C0 -_080937BC: - adds r4, 0x20 - movs r3, 0 -_080937C0: - lsls r2, r3, 3 - adds r2, r4 - ldm r6!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - strb r0, [r2] - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x3 - ble _080937AE - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093784 - - thumb_func_start sub_80937E0 -sub_80937E0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp, 0x8] - mov r9, r1 - movs r0, 0 - mov r8, r0 - movs r6, 0 - add r1, sp, 0x4 - mov r10, r1 - mov r12, r6 - movs r3, 0x1 -_080937FE: - mov r2, sp - adds r0, r2, r6 - mov r7, r12 - strb r7, [r0] - mov r1, sp - adds r1, r6 - adds r1, 0x4 - mov r2, r12 - strb r2, [r1] - adds r7, r0, 0 - lsls r0, r6, 5 - adds r6, 0x1 - adds r5, r1, 0 - mov r1, r9 - adds r2, r0, r1 - movs r4, 0x3 -_0809381E: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0809383E - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08093832 - strb r3, [r7] -_08093832: - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809383E - strb r3, [r5] -_0809383E: - adds r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _0809381E - cmp r6, 0x3 - ble _080937FE - movs r6, 0 - mov r2, r8 - lsls r2, 3 - str r2, [sp, 0xC] -_08093852: - movs r4, 0 - lsls r0, r6, 5 - mov r7, r9 - adds r5, r0, r7 - ldr r0, [sp, 0xC] - ldr r1, [sp, 0x8] - adds r2, r0, r1 - mov r7, r10 - adds r7, r6 - mov r12, r7 -_08093866: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080938D6 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - cmp r4, 0 - bne _08093884 - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _0809388A -_08093884: - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 -_0809388A: - strb r0, [r2] - ldrb r0, [r2] - movs r3, 0xF7 - ands r3, r0 - movs r1, 0 - movs r0, 0xFB - ands r3, r0 - strb r3, [r2] - mov r7, sp - adds r0, r7, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _080938B0 - cmp r4, 0 - bne _080938B0 - movs r1, 0x8 - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2] -_080938B0: - mov r1, r12 - ldrb r0, [r1] - cmp r0, 0 - beq _080938C4 - cmp r4, 0 - bne _080938C4 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080938C4: - adds r2, 0x8 - ldr r7, [sp, 0xC] - adds r7, 0x8 - str r7, [sp, 0xC] - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x4 - beq _080938E4 -_080938D6: - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x3 - ble _08093866 - adds r6, 0x1 - cmp r6, 0x3 - ble _08093852 -_080938E4: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80937E0 - - thumb_func_start sub_80938F4 -sub_80938F4: - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - movs r6, 0x1 - movs r5, 0x80 -_080938FE: - movs r3, 0 - lsls r0, r4, 6 - adds r2, r0, r7 -_08093904: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0809391A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0809391A - adds r0, r4, 0 - b _0809392C -_0809391A: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _08093904 - adds r4, 0x1 - cmp r4, 0x7 - ble _080938FE - movs r0, 0x1 - negs r0, r0 -_0809392C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80938F4 - - thumb_func_start sub_8093934 -sub_8093934: - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - movs r6, 0x1 - movs r5, 0x80 -_0809393E: - movs r3, 0 - lsls r0, r4, 6 - adds r2, r0, r7 -_08093944: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0809395A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0809395A - adds r0, r4, 0 - b _0809396C -_0809395A: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _08093944 - adds r4, 0x1 - cmp r4, 0x7 - ble _0809393E - movs r0, 0x1 - negs r0, r0 -_0809396C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093934 - - thumb_func_start sub_8093974 -sub_8093974: - push {r4-r7,lr} - adds r6, r0, 0 - movs r2, 0 - movs r4, 0 -_0809397C: - lsls r0, r2, 6 - adds r2, 0x1 - movs r3, 0x7 - adds r0, r1 - adds r0, 0x38 -_08093986: - strb r4, [r0] - subs r0, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093986 - cmp r2, 0x7 - ble _0809397C - movs r3, 0 - movs r5, 0 - adds r4, r1, 0 - subs r4, 0x40 - movs r7, 0x2 -_0809399E: - cmp r5, 0 - beq _080939AC - ldrb r1, [r6] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080939B0 -_080939AC: - adds r4, 0x40 - movs r3, 0 -_080939B0: - lsls r2, r3, 3 - adds r2, r4 - ldm r6!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - strb r0, [r2] - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x7 - ble _0809399E - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093974 - - thumb_func_start sub_80939D0 -sub_80939D0: - push {r4-r7,lr} - adds r6, r0, 0 - movs r2, 0 - movs r4, 0 -_080939D8: - lsls r0, r2, 6 - adds r2, 0x1 - movs r3, 0x7 - adds r0, r1 - adds r0, 0x38 -_080939E2: - strb r4, [r0] - subs r0, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _080939E2 - cmp r2, 0x7 - ble _080939D8 - movs r3, 0 - movs r5, 0 - adds r4, r1, 0 - subs r4, 0x40 - movs r7, 0x2 -_080939FA: - cmp r5, 0 - beq _08093A08 - ldrb r1, [r6] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _08093A0C -_08093A08: - adds r4, 0x40 - movs r3, 0 -_08093A0C: - lsls r2, r3, 3 - adds r2, r4 - ldm r6!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - strb r0, [r2] - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x7 - ble _080939FA - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80939D0 - - thumb_func_start sub_8093A2C -sub_8093A2C: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp, 0x10] - mov r9, r1 - movs r0, 0 - mov r8, r0 - movs r6, 0 - add r1, sp, 0x8 - mov r10, r1 - mov r12, r6 - movs r3, 0x1 -_08093A4A: - mov r2, sp - adds r0, r2, r6 - mov r7, r12 - strb r7, [r0] - mov r1, sp - adds r1, r6 - adds r1, 0x8 - mov r2, r12 - strb r2, [r1] - adds r7, r0, 0 - lsls r0, r6, 6 - adds r6, 0x1 - adds r5, r1, 0 - mov r1, r9 - adds r2, r0, r1 - movs r4, 0x7 -_08093A6A: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08093A8A - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08093A7E - strb r3, [r7] -_08093A7E: - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08093A8A - strb r3, [r5] -_08093A8A: - adds r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _08093A6A - cmp r6, 0x7 - ble _08093A4A - movs r6, 0 - mov r2, r8 - lsls r2, 3 - str r2, [sp, 0x14] -_08093A9E: - movs r4, 0 - lsls r0, r6, 6 - mov r7, r9 - adds r5, r0, r7 - ldr r0, [sp, 0x14] - ldr r1, [sp, 0x10] - adds r2, r0, r1 - mov r7, r10 - adds r7, r6 - mov r12, r7 -_08093AB2: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093B22 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - cmp r4, 0 - bne _08093AD0 - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _08093AD6 -_08093AD0: - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 -_08093AD6: - strb r0, [r2] - ldrb r0, [r2] - movs r3, 0xF7 - ands r3, r0 - movs r1, 0 - movs r0, 0xFB - ands r3, r0 - strb r3, [r2] - mov r7, sp - adds r0, r7, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08093AFC - cmp r4, 0 - bne _08093AFC - movs r1, 0x8 - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2] -_08093AFC: - mov r1, r12 - ldrb r0, [r1] - cmp r0, 0 - beq _08093B10 - cmp r4, 0 - bne _08093B10 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08093B10: - adds r2, 0x8 - ldr r7, [sp, 0x14] - adds r7, 0x8 - str r7, [sp, 0x14] - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x8 - beq _08093B30 -_08093B22: - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093AB2 - adds r6, 0x1 - cmp r6, 0x7 - ble _08093A9E -_08093B30: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093A2C - - thumb_func_start sub_8093B40 -sub_8093B40: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp, 0x10] - mov r9, r1 - movs r0, 0 - mov r8, r0 - movs r6, 0 - add r1, sp, 0x8 - mov r10, r1 - mov r12, r6 - movs r3, 0x1 -_08093B5E: - mov r2, sp - adds r0, r2, r6 - mov r7, r12 - strb r7, [r0] - mov r1, sp - adds r1, r6 - adds r1, 0x8 - mov r2, r12 - strb r2, [r1] - adds r7, r0, 0 - lsls r0, r6, 6 - adds r6, 0x1 - adds r5, r1, 0 - mov r1, r9 - adds r2, r0, r1 - movs r4, 0x7 -_08093B7E: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08093B9E - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08093B92 - strb r3, [r7] -_08093B92: - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08093B9E - strb r3, [r5] -_08093B9E: - adds r2, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _08093B7E - cmp r6, 0x7 - ble _08093B5E - movs r6, 0 - mov r2, r8 - lsls r2, 3 - str r2, [sp, 0x14] -_08093BB2: - movs r4, 0 - lsls r0, r6, 6 - mov r7, r9 - adds r5, r0, r7 - ldr r0, [sp, 0x14] - ldr r1, [sp, 0x10] - adds r2, r0, r1 - mov r7, r10 - adds r7, r6 - mov r12, r7 -_08093BC6: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093C36 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - cmp r4, 0 - bne _08093BE4 - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _08093BEA -_08093BE4: - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 -_08093BEA: - strb r0, [r2] - ldrb r0, [r2] - movs r3, 0xF7 - ands r3, r0 - movs r1, 0 - movs r0, 0xFB - ands r3, r0 - strb r3, [r2] - mov r7, sp - adds r0, r7, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08093C10 - cmp r4, 0 - bne _08093C10 - movs r1, 0x8 - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2] -_08093C10: - mov r1, r12 - ldrb r0, [r1] - cmp r0, 0 - beq _08093C24 - cmp r4, 0 - bne _08093C24 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08093C24: - adds r2, 0x8 - ldr r7, [sp, 0x14] - adds r7, 0x8 - str r7, [sp, 0x14] - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x8 - beq _08093C44 -_08093C36: - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093BC6 - adds r6, 0x1 - cmp r6, 0x7 - ble _08093BB2 -_08093C44: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093B40 - - thumb_func_start sub_8093C54 -sub_8093C54: - push {r4-r7,lr} - sub sp, 0x40 - adds r6, r0, 0 - lsls r0, r1, 3 - adds r0, r6 - movs r2, 0 - strb r2, [r0] - adds r3, r1, 0x1 - cmp r3, 0x7 - bgt _08093CA6 - lsls r0, r3, 3 - adds r4, r6, r0 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093CA6 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093CA6 - mov r12, r2 - movs r7, 0x1 - adds r2, r4, 0 - movs r5, 0x2 -_08093C86: - mov r0, r12 - strb r0, [r4] - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - bgt _08093CA6 - adds r4, r2, 0 - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093CA6 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08093C86 -_08093CA6: - movs r4, 0 - movs r7, 0x1 - adds r2, r6, 0 - mov r5, sp - movs r3, 0x7 -_08093CB0: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093CC2 - ldr r0, [r2] - ldr r1, [r2, 0x4] - stm r5!, {r0,r1} - adds r4, 0x1 -_08093CC2: - adds r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093CB0 - cmp r4, 0x7 - bgt _08093CDE - movs r1, 0 - lsls r0, r4, 3 - add r0, sp -_08093CD4: - strb r1, [r0] - adds r0, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093CD4 -_08093CDE: - mov r4, sp - adds r2, r6, 0 - movs r3, 0x7 -_08093CE4: - ldm r4!, {r0,r1} - stm r2!, {r0,r1} - subs r3, 0x1 - cmp r3, 0 - bge _08093CE4 - add sp, 0x40 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093C54 - - thumb_func_start sub_8093CF8 -sub_8093CF8: - push {r4-r7,lr} - sub sp, 0x40 - adds r6, r0, 0 - lsls r0, r1, 3 - adds r0, r6 - movs r2, 0 - strb r2, [r0] - adds r3, r1, 0x1 - cmp r3, 0x7 - bgt _08093D4A - lsls r0, r3, 3 - adds r4, r6, r0 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093D4A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08093D4A - mov r12, r2 - movs r7, 0x1 - adds r2, r4, 0 - movs r5, 0x2 -_08093D2A: - mov r0, r12 - strb r0, [r4] - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - bgt _08093D4A - adds r4, r2, 0 - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093D4A - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08093D2A -_08093D4A: - movs r4, 0 - movs r7, 0x1 - adds r2, r6, 0 - mov r5, sp - movs r3, 0x7 -_08093D54: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08093D66 - ldr r0, [r2] - ldr r1, [r2, 0x4] - stm r5!, {r0,r1} - adds r4, 0x1 -_08093D66: - adds r2, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093D54 - cmp r4, 0x7 - bgt _08093D82 - movs r1, 0 - lsls r0, r4, 3 - add r0, sp -_08093D78: - strb r1, [r0] - adds r0, 0x8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08093D78 -_08093D82: - mov r4, sp - adds r2, r6, 0 - movs r3, 0x7 -_08093D88: - ldm r4!, {r0,r1} - stm r2!, {r0,r1} - subs r3, 0x1 - cmp r3, 0 - bge _08093D88 - add sp, 0x40 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093CF8 - - thumb_func_start sub_8093D9C -sub_8093D9C: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - bl sub_8092A88 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_8093DE8 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8093D9C - - thumb_func_start sub_8093DC4 -sub_8093DC4: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r2, 0 - adds r6, r3, 0 - mov r0, sp - bl sub_8093F10 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_8093DE8 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8093DC4 - - thumb_func_start sub_8093DE8 -sub_8093DE8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08093E80 - add sp, r4 - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - mov r8, r3 - adds r0, r5, 0 - bl sub_80073B8 - ldr r0, _08093E84 - adds r1, r6, 0 - movs r2, 0 - bl sub_80928C0 - lsls r4, 3 - adds r4, 0x10 - ldr r2, _08093E88 - movs r7, 0 - str r7, [sp] - adds r0, r4, 0 - movs r1, 0 - adds r3, r5, 0 - bl sub_8014FF0 - movs r3, 0x13 - ldrh r1, [r6, 0x2] - ldr r4, _08093E8C - ldr r2, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r2, [r0, 0x1C] - ldrb r0, [r2] - cmp r0, 0x2A - bne _08093E3A - movs r3, 0x10 - adds r2, 0x1 -_08093E3A: - str r7, [sp] - movs r0, 0x4 - adds r1, r3, 0 - adds r3, r5, 0 - bl sub_8014FF0 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8093E90 - adds r0, r5, 0 - bl sub_80073E0 - ldrh r1, [r6, 0x2] - ldr r2, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r0, 0x1C] - add r0, sp, 0x4 - bl strcpy - add r0, sp, 0x4 - mov r1, r8 - bl sub_8097DF0 - movs r3, 0xC9 - lsls r3, 2 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08093E80: .4byte 0xfffffcdc -_08093E84: .4byte gUnknown_202DF98 -_08093E88: .4byte gUnknown_8109930 -_08093E8C: .4byte gUnknown_2038C68 - thumb_func_end sub_8093DE8 - - thumb_func_start sub_8093E90 -sub_8093E90: - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r5, r1, 0 - movs r0, 0x7 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0x48 - movs r3, 0xC8 - bl sub_80078A4 - ldr r0, _08093F00 - adds r1, r6, 0 - bl sub_8092D54 - ldr r0, _08093F04 - ldr r2, [r0] - movs r4, 0 - str r4, [sp] - movs r0, 0x4 - movs r1, 0x4A - adds r3, r5, 0 - bl sub_8014FF0 - ldr r0, _08093F08 - ldr r2, [r0] - str r4, [sp] - movs r0, 0x4 - movs r1, 0x56 - adds r3, r5, 0 - bl sub_8014FF0 - adds r0, r6, 0 - bl sub_8092B00 - lsls r0, 24 - lsrs r0, 24 - bl sub_8092334 - adds r2, r0, 0 - str r4, [sp] - movs r0, 0x40 - movs r1, 0x56 - adds r3, r5, 0 - bl sub_8014FF0 - adds r0, r6, 0 - bl sub_8092BC0 - ldr r1, _08093F0C - str r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08093F00: .4byte gUnknown_202DF98 -_08093F04: .4byte gUnknown_810CF00 -_08093F08: .4byte gUnknown_810CF0C -_08093F0C: .4byte gUnknown_202DE30 - thumb_func_end sub_8093E90 - - thumb_func_start sub_8093F10 -sub_8093F10: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093F48 - movs r0, 0 - strb r1, [r3] - strb r0, [r3, 0x1] - ldrh r0, [r4, 0x2] - strh r0, [r3, 0x2] - ldrh r1, [r4, 0x2] - ldr r0, _08093F44 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xC] - strb r0, [r3, 0x4] - ldrb r0, [r4, 0x4] - strb r0, [r3, 0x5] - b _08093F4A - .align 2, 0 -_08093F44: .4byte gUnknown_2038C68 -_08093F48: - strb r0, [r3] -_08093F4A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8093F10 - - thumb_func_start sub_8093F50 -sub_8093F50: - push {r4-r7,lr} - adds r6, r0, 0 - movs r7, 0 - adds r3, r6, 0 - adds r4, r1, 0 - movs r5, 0x3 -_08093F5C: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08093F8C - strb r1, [r3] - strb r7, [r3, 0x1] - ldrh r0, [r4, 0x2] - strh r0, [r3, 0x2] - ldrh r1, [r4, 0x2] - ldr r0, _08093F88 - ldr r2, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xC] - strb r0, [r3, 0x4] - ldrb r0, [r4, 0x4] - strb r0, [r3, 0x5] - b _08093F8E - .align 2, 0 -_08093F88: .4byte gUnknown_2038C68 -_08093F8C: - strb r0, [r3] -_08093F8E: - adds r3, 0x8 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08093F5C - adds r1, r6, 0 - adds r1, 0x20 - movs r0, 0 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093F50 - - thumb_func_start sub_8093FA8 -sub_8093FA8: - push {lr} - adds r2, r0, 0 - movs r3, 0x3 -_08093FAE: - ldrb r0, [r1] - strb r0, [r2] - ldrh r0, [r1, 0x2] - strh r0, [r2, 0x2] - ldrb r0, [r1, 0x5] - strb r0, [r2, 0x4] - adds r2, 0x8 - adds r1, 0x8 - subs r3, 0x1 - cmp r3, 0 - bge _08093FAE - pop {r0} - bx r0 - thumb_func_end sub_8093FA8 - - thumb_func_start sub_8093FC8 -sub_8093FC8: - push {r4-r7,lr} - adds r5, r0, 0 - adds r2, r1, 0 - movs r3, 0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094002 - movs r7, 0xFB - movs r6, 0x1 - adds r4, r2, 0 - adds r2, r5, 0 -_08093FE2: - ldm r4!, {r0,r1} - str r0, [r2] - str r1, [r2, 0x4] - ldrb r1, [r2, 0x1] - adds r0, r7, 0 - ands r0, r1 - strb r0, [r2, 0x1] - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x3 - bgt _08094002 - ldrb r1, [r4] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _08093FE2 -_08094002: - cmp r3, 0x7 - bgt _08094016 - movs r1, 0 - lsls r0, r3, 3 - adds r0, r5 -_0809400C: - strb r1, [r0] - adds r0, 0x8 - adds r3, 0x1 - cmp r3, 0x7 - ble _0809400C -_08094016: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8093FC8 - - thumb_func_start sub_809401C -sub_809401C: - push {r4-r6,lr} - adds r5, r0, 0 - adds r3, r1, 0 - movs r2, 0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094046 - movs r6, 0x1 - adds r4, r5, 0 -_08094032: - ldm r3!, {r0,r1} - stm r4!, {r0,r1} - adds r2, 0x1 - cmp r2, 0x3 - bgt _08094046 - ldrb r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _08094032 -_08094046: - cmp r2, 0x7 - bgt _0809405A - movs r1, 0 - lsls r0, r2, 3 - adds r0, r5 -_08094050: - strb r1, [r0] - adds r0, 0x8 - adds r2, 0x1 - cmp r2, 0x7 - ble _08094050 -_0809405A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_809401C - - thumb_func_start sub_8094060 -sub_8094060: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - movs r4, 0 - movs r5, 0 - adds r3, r6, 0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094084 -_08094076: - lsls r2, r4, 3 - adds r2, r7, r2 - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - adds r4, 0x1 -_08094084: - adds r5, 0x1 - cmp r5, 0x7 - bgt _0809409C - lsls r0, r5, 3 - adds r3, r6, r0 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094084 - cmp r4, 0x3 - ble _08094076 -_0809409C: - cmp r4, 0x3 - bgt _080940B0 - movs r1, 0 - lsls r0, r4, 3 - adds r0, r7 -_080940A6: - strb r1, [r0] - adds r0, 0x8 - adds r4, 0x1 - cmp r4, 0x3 - ble _080940A6 -_080940B0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8094060 - - thumb_func_start sub_80940B8 -sub_80940B8: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_809488C - adds r1, r5, 0x2 - adds r0, r4, 0 - movs r2, 0x9 - bl sub_809488C - adds r5, 0x4 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x7 - bl sub_809488C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80940B8 - - thumb_func_start sub_80940E0 -sub_80940E0: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8094924 - adds r1, r5, 0x2 - adds r0, r4, 0 - movs r2, 0x9 - bl sub_8094924 - adds r5, 0x4 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x7 - bl sub_8094924 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80940E0 - - thumb_func_start sub_8094108 -sub_8094108: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - movs r5, 0x3 -_08094110: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80940B8 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08094110 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8094108 - - thumb_func_start sub_8094128 -sub_8094128: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - movs r5, 0x3 -_08094130: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80940E0 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08094130 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8094128 - - thumb_func_start sub_8094148 -sub_8094148: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x4 - bl sub_809488C - adds r1, r4, 0x1 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_809488C - adds r1, r4, 0x2 - adds r0, r5, 0 - movs r2, 0x9 - bl sub_809488C - adds r1, r4, 0x4 - adds r0, r5, 0 - movs r2, 0x7 - bl sub_809488C - adds r4, 0x5 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x7 - bl sub_809488C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8094148 - - thumb_func_start sub_8094184 -sub_8094184: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - adds r4, r7, 0 - movs r5, 0x3 -_0809418E: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8094148 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _0809418E - adds r1, r7, 0 - adds r1, 0x20 - adds r0, r6, 0 - movs r2, 0x8 - bl sub_809488C - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8094184 - - thumb_func_start sub_80941B0 -sub_80941B0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x4 - bl sub_8094924 - adds r1, r4, 0x1 - adds r0, r5, 0 - movs r2, 0x1 - bl sub_8094924 - adds r1, r4, 0x2 - adds r0, r5, 0 - movs r2, 0x9 - bl sub_8094924 - adds r1, r4, 0x4 - adds r0, r5, 0 - movs r2, 0x7 - bl sub_8094924 - adds r4, 0x5 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x7 - bl sub_8094924 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80941B0 - - thumb_func_start sub_80941FC -sub_80941FC: - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - adds r4, r7, 0 - movs r5, 0x3 -_08094206: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80941B0 - adds r4, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _08094206 - adds r1, r7, 0 - adds r1, 0x20 - movs r0, 0 - strb r0, [r1] - adds r0, r6, 0 - movs r2, 0x8 - bl sub_8094924 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80941FC - - thumb_func_start sub_809422C -sub_809422C: - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - cmp r1, 0x97 - beq _08094260 - cmp r1, 0x64 - beq _08094260 - cmp r1, 0x3C - beq _08094260 - cmp r1, 0x4B - beq _08094260 - movs r0, 0xAE - lsls r0, 1 - cmp r1, r0 - beq _08094260 - cmp r1, 0x99 - beq _08094260 - cmp r1, 0xCD - beq _08094260 - cmp r1, 0x9C - beq _08094260 - cmp r2, 0x8 - beq _08094260 - movs r0, 0 - b _08094262 -_08094260: - movs r0, 0x1 -_08094262: - pop {r1} - bx r1 - thumb_func_end sub_809422C - - thumb_func_start sub_8094268 -sub_8094268: - push {r4-r6,lr} - adds r5, r0, 0 - adds r3, r1, 0 - asrs r0, r3, 16 - asrs r1, r2, 16 - adds r0, r1 - lsls r0, 16 - ldr r6, _080942B0 - ands r3, r6 - orrs r3, r0 - adds r2, r3, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080942B4 - ands r3, r4 - orrs r3, r2 - asrs r1, r3, 16 - ldr r0, _080942B8 - cmp r1, r0 - ble _080942A6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - ands r3, r4 - orrs r3, r0 - asrs r0, r3, 16 - ldr r1, _080942BC - adds r0, r1 - lsls r0, 16 - ands r3, r6 - orrs r3, r0 -_080942A6: - str r3, [r5] - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080942B0: .4byte 0x0000ffff -_080942B4: .4byte 0xffff0000 -_080942B8: .4byte 0x000003e7 -_080942BC: .4byte 0xfffffc18 - thumb_func_end sub_8094268 - - thumb_func_start sub_80942C0 -sub_80942C0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r3, r1, 0 - asrs r0, r3, 16 - asrs r1, r2, 16 - subs r0, r1 - lsls r0, 16 - ldr r4, _08094310 - ands r3, r4 - orrs r3, r0 - subs r2, r3, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _08094314 - ands r3, r1 - orrs r3, r2 - cmp r3, 0 - bge _080942FC - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - ands r3, r1 - orrs r3, r0 - asrs r0, r3, 16 - movs r2, 0xFA - lsls r2, 2 - adds r0, r2 - lsls r0, 16 - ands r3, r4 - orrs r3, r0 -_080942FC: - lsls r0, r3, 16 - cmp r0, 0 - bge _08094304 - movs r3, 0 -_08094304: - str r3, [r5] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08094310: .4byte 0x0000ffff -_08094314: .4byte 0xffff0000 - thumb_func_end sub_80942C0 - - thumb_func_start sub_8094318 -sub_8094318: - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - lsls r0, r3, 16 - asrs r1, r0, 16 - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08094336 - cmp r1, r0 - blt _0809433A - asrs r1, r3, 16 - asrs r0, r2, 16 - cmp r1, r0 - ble _0809433A -_08094336: - str r2, [r4] - b _0809433C -_0809433A: - str r3, [r4] -_0809433C: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8094318 - - thumb_func_start sub_8094344 -sub_8094344: - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - lsls r0, r3, 16 - asrs r1, r0, 16 - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08094362 - cmp r1, r0 - blt _08094366 - asrs r1, r3, 16 - asrs r0, r2, 16 - cmp r1, r0 - ble _08094366 -_08094362: - str r3, [r4] - b _08094368 -_08094366: - str r2, [r4] -_08094368: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8094344 - - thumb_func_start sub_8094370 -sub_8094370: - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsls r2, 16 - ldr r4, _08094398 - lsrs r3, r1, 16 - orrs r3, r2 - asrs r2, 16 - ldr r1, _0809439C - asrs r0, r1, 16 - cmp r2, r0 - ble _0809438C - ands r3, r4 - orrs r3, r1 -_0809438C: - str r3, [r5] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08094398: .4byte 0x0000ffff -_0809439C: .4byte 0x03e70000 - thumb_func_end sub_8094370 - - thumb_func_start sub_80943A0 -sub_80943A0: - lsls r1, 16 - lsrs r2, r1, 16 - str r2, [r0] - bx lr - thumb_func_end sub_80943A0 - - thumb_func_start sub_80943A8 -sub_80943A8: - push {r4,r5,lr} - ldr r3, [r1, 0x4] - lsrs r2, r3, 16 - ldr r1, _080943D4 - ands r5, r1 - orrs r5, r2 - ldr r4, _080943D8 - adds r2, r4, 0 - ands r2, r3 - lsls r1, r2, 5 - subs r1, r2 - lsls r1, 2 - adds r1, r2 - lsls r1, 3 - lsrs r1, 16 - lsls r1, 16 - ands r5, r4 - orrs r5, r1 - str r5, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080943D4: .4byte 0xffff0000 -_080943D8: .4byte 0x0000ffff - thumb_func_end sub_80943A8 - - thumb_func_start sub_80943DC -sub_80943DC: - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - lsls r1, r4, 16 - asrs r1, 16 - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - asrs r1, r4, 16 - adds r0, r1 - lsls r3, r2, 16 - asrs r3, 16 - lsls r1, r3, 5 - subs r1, r3 - lsls r1, 2 - adds r1, r3 - lsls r1, 3 - asrs r2, 16 - adds r1, r2 - muls r0, r1 - movs r5, 0xFA - lsls r5, 2 - adds r1, r5, 0 - bl __divsi3 - adds r6, r0, 0 - adds r1, r5, 0 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08094448 - ands r4, r1 - orrs r4, r0 - adds r0, r6, 0 - adds r1, r5, 0 - bl __modsi3 - lsls r0, 16 - ldr r1, _0809444C - ands r1, r4 - orrs r0, r1 - mov r1, r8 - str r0, [r1] - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08094448: .4byte 0xffff0000 -_0809444C: .4byte 0x0000ffff - thumb_func_end sub_80943DC - - thumb_func_start sub_8094450 -sub_8094450: - push {lr} - adds r1, r0, 0 - lsls r0, r1, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _0809446A - asrs r0, r1, 16 - cmp r0, 0 - bne _08094466 - movs r0, 0 - b _08094476 -_08094466: - movs r0, 0x1 - b _08094476 -_0809446A: - asrs r0, r1, 16 - cmp r0, 0 - bne _08094474 - adds r0, r2, 0 - b _08094476 -_08094474: - adds r0, r2, 0x1 -_08094476: - pop {r1} - bx r1 - thumb_func_end sub_8094450 - - thumb_func_start sub_809447C -sub_809447C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x10 - bl sub_8094924 - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x10 - bl sub_8094924 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809447C - - thumb_func_start sub_809449C -sub_809449C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x10 - bl sub_809488C - adds r4, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x10 - bl sub_809488C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809449C - - thumb_func_start sub_80944BC -sub_80944BC: - push {r4,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 16 - asrs r1, r0, 16 - ldr r0, _080944F4 - cmp r1, r0 - bgt _08094500 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - bl sub_8092AA8 - ldr r0, _080944F8 - mov r1, sp - movs r2, 0 - bl sub_80928C0 - ldr r0, _080944FC - ldr r0, [r0] - adds r2, r4, 0 - adds r2, 0xC8 - adds r1, r4, 0 - movs r3, 0 - bl xxx_format_string - b _08094516 - .align 2, 0 -_080944F4: .4byte 0x000001f3 -_080944F8: .4byte gUnknown_202DE58 -_080944FC: .4byte gUnknown_811383C -_08094500: - ldr r0, _08094520 - ldr r2, _08094524 - adds r1, r2 - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r4, 0 - movs r2, 0xC8 - bl strncpy -_08094516: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094520: .4byte gUnknown_8113080 -_08094524: .4byte 0xfffffe0c - thumb_func_end sub_80944BC - - thumb_func_start sub_8094528 -sub_8094528: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - ldr r0, _08094544 - cmp r1, r0 - ble _08094550 - ldr r0, _08094548 - ldr r2, _0809454C - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1] - b _08094552 - .align 2, 0 -_08094544: .4byte 0x000001f3 -_08094548: .4byte gUnknown_8113080 -_0809454C: .4byte 0xfffffe0c -_08094550: - movs r0, 0x1 -_08094552: - pop {r1} - bx r1 - thumb_func_end sub_8094528 - - thumb_func_start sub_8094558 -sub_8094558: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xCC - adds r7, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - bl sub_80073B8 - movs r5, 0 - str r5, [sp] - movs r0, 0x10 - movs r1, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl sub_8014FF0 - ldr r4, _080945D0 - adds r1, r6, 0 - adds r1, 0x18 - adds r0, r4, 0 - bl sub_8090208 - ldr r0, _080945D4 - ldr r2, [r0] - str r5, [sp] - movs r0, 0x4 - movs r1, 0x10 - adds r3, r7, 0 - bl sub_8014FF0 - movs r5, 0x1A - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xA - bl sub_80922B4 - adds r4, 0x50 - adds r1, r6, 0 - adds r1, 0xA - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - movs r1, 0x14 - ldrsh r0, [r6, r1] - bl sub_8094528 - lsls r0, 24 - cmp r0, 0 - beq _080945DC - ldr r0, _080945D8 - ldr r0, [r0] - add r2, sp, 0xCC - add r1, sp, 0x4 - movs r3, 0 - bl xxx_format_string - b _080945EA - .align 2, 0 -_080945D0: .4byte gUnknown_202DF98 -_080945D4: .4byte gUnknown_8113850 -_080945D8: .4byte gUnknown_8113868 -_080945DC: - ldr r0, _0809465C - ldr r0, [r0] - add r2, sp, 0xCC - add r1, sp, 0x4 - movs r3, 0 - bl xxx_format_string -_080945EA: - add r0, sp, 0x4 - bl sub_8008ED0 - movs r4, 0xB0 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0 - mov r8, r1 - str r1, [sp] - adds r1, r5, 0 - add r2, sp, 0x4 - adds r3, r7, 0 - bl sub_8014FF0 - adds r5, 0xA - movs r1, 0x14 - ldrsh r0, [r6, r1] - add r1, sp, 0x4 - bl sub_80944BC - add r0, sp, 0x4 - bl sub_8008ED0 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r0, r4, 1 - mov r1, r8 - str r1, [sp] - adds r1, r5, 0 - add r2, sp, 0x4 - adds r3, r7, 0 - bl sub_8014FF0 - adds r5, 0x10 - ldr r1, _08094660 - ldr r0, [r6, 0x20] - str r0, [r1] - adds r0, r6, 0 - adds r0, 0x2A - ldrb r0, [r0] - str r0, [r1, 0x4] - cmp r0, 0x63 - ble _08094668 - ldr r0, _08094664 - ldr r2, [r0] - mov r0, r8 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 - b _0809467A - .align 2, 0 -_0809465C: .4byte gUnknown_8113870 -_08094660: .4byte gUnknown_202DE30 -_08094664: .4byte gUnknown_81138C0 -_08094668: - ldr r0, _080946CC - ldr r2, [r0] - mov r1, r8 - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 -_0809467A: - adds r5, 0xA - ldr r4, _080946D0 - movs r1, 0x24 - ldrsh r0, [r6, r1] - str r0, [r4] - ldr r0, _080946D4 - ldr r2, [r0] - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 - adds r5, 0xA - adds r0, r6, 0 - adds r0, 0x26 - ldrb r2, [r0] - str r2, [r4] - adds r0, 0x2 - ldrb r0, [r0] - str r0, [r4, 0x4] - adds r0, r6, 0 - adds r0, 0x2B - ldrb r1, [r0] - cmp r1, 0 - beq _080946DC - adds r0, r1, 0 - adds r0, r2, r0 - str r0, [r4] - ldr r0, _080946D8 - ldr r2, [r0] - mov r1, r8 - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 - b _080946EC - .align 2, 0 -_080946CC: .4byte gUnknown_8113898 -_080946D0: .4byte gUnknown_202DE30 -_080946D4: .4byte gUnknown_81138D0 -_080946D8: .4byte gUnknown_8113950 -_080946DC: - ldr r0, _08094714 - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 -_080946EC: - adds r0, r6, 0 - adds r0, 0x2D - ldrb r1, [r0] - cmp r1, 0 - beq _08094720 - ldr r2, _08094718 - ldr r0, [r2, 0x4] - adds r0, r1 - str r0, [r2, 0x4] - ldr r0, _0809471C - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 - b _08094730 - .align 2, 0 -_08094714: .4byte gUnknown_81138E4 -_08094718: .4byte gUnknown_202DE30 -_0809471C: .4byte gUnknown_8113974 -_08094720: - ldr r0, _08094768 - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 -_08094730: - adds r5, 0xA - ldr r2, _0809476C - adds r0, r6, 0 - adds r0, 0x27 - ldrb r3, [r0] - str r3, [r2] - adds r0, 0x2 - ldrb r0, [r0] - str r0, [r2, 0x4] - adds r0, r6, 0 - adds r0, 0x2C - ldrb r1, [r0] - cmp r1, 0 - beq _08094774 - adds r0, r1, 0 - adds r0, r3, r0 - str r0, [r2] - ldr r0, _08094770 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 - b _08094784 - .align 2, 0 -_08094768: .4byte gUnknown_8113900 -_0809476C: .4byte gUnknown_202DE30 -_08094770: .4byte gUnknown_8113990 -_08094774: - ldr r0, _080947AC - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 -_08094784: - adds r0, r6, 0 - adds r0, 0x2E - ldrb r1, [r0] - cmp r1, 0 - beq _080947B8 - ldr r2, _080947B0 - ldr r0, [r2, 0x4] - adds r0, r1 - str r0, [r2, 0x4] - ldr r0, _080947B4 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 - b _080947C8 - .align 2, 0 -_080947AC: .4byte gUnknown_8113918 -_080947B0: .4byte gUnknown_202DE30 -_080947B4: .4byte gUnknown_81139B4 -_080947B8: - ldr r0, _080947E4 - ldr r2, [r0] - str r1, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 -_080947C8: - adds r5, 0x10 - adds r2, r6, 0 - adds r2, 0x1C - ldrb r1, [r6, 0x1C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080947EC - ldr r0, _080947E8 - adds r1, r2, 0 - movs r2, 0 - bl sub_8090E14 - b _080947F6 - .align 2, 0 -_080947E4: .4byte gUnknown_8113934 -_080947E8: .4byte gUnknown_202DE58 -_080947EC: - ldr r0, _0809481C - ldr r1, _08094820 - ldr r1, [r1] - bl strcpy -_080947F6: - ldr r0, _08094824 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - adds r1, r5, 0 - adds r3, r7, 0 - bl sub_8014FF0 - adds r0, r7, 0 - bl sub_80073E0 - add sp, 0xCC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809481C: .4byte gUnknown_202DE58 -_08094820: .4byte gUnknown_81139B8 -_08094824: .4byte gUnknown_81139CC - thumb_func_end sub_8094558 - - thumb_func_start sub_8094828 -sub_8094828: - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0 - beq _08094852 - bl sub_8090BD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bne _0809484C - ldr r0, _08094848 - b _08094856 - .align 2, 0 -_08094848: .4byte 0x00000223 -_0809484C: - movs r0, 0x89 - lsls r0, 2 - b _08094856 -_08094852: - lsls r0, r2, 16 - asrs r0, 16 -_08094856: - pop {r1} - bx r1 - thumb_func_end sub_8094828 - - thumb_func_start sub_809485C -sub_809485C: - str r1, [r0] - movs r3, 0 - str r3, [r0, 0x8] - str r3, [r0, 0xC] - adds r1, r2 - str r1, [r0, 0x4] - bx lr - thumb_func_end sub_809485C - - thumb_func_start sub_809486C -sub_809486C: - push {lr} - str r1, [r0] - movs r3, 0 - str r3, [r0, 0x8] - str r3, [r0, 0xC] - adds r3, r1, r2 - str r3, [r0, 0x4] - adds r0, r1, 0 - adds r1, r2, 0 - bl MemoryClear8 - pop {r0} - bx r0 - thumb_func_end sub_809486C - - thumb_func_start nullsub_102 -nullsub_102: - bx lr - thumb_func_end nullsub_102 - - thumb_func_start sub_809488C -sub_809488C: - push {r4-r7,lr} - adds r3, r0, 0 - adds r4, r2, 0 - movs r5, 0 - adds r6, r1, 0 - cmp r4, 0 - beq _080948DE - movs r7, 0x1 -_0809489C: - ldrb r0, [r6] - asrs r0, r5 - ands r0, r7 - cmp r0, 0 - beq _080948B4 - ldr r2, [r3] - ldr r1, [r3, 0x8] - adds r0, r7, 0 - lsls r0, r1 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] -_080948B4: - adds r5, 0x1 - cmp r5, 0x8 - bne _080948BE - adds r6, 0x1 - movs r5, 0 -_080948BE: - ldr r0, [r3, 0x8] - adds r0, 0x1 - str r0, [r3, 0x8] - cmp r0, 0x8 - bne _080948D2 - ldr r0, [r3] - adds r0, 0x1 - str r0, [r3] - movs r0, 0 - str r0, [r3, 0x8] -_080948D2: - ldr r0, [r3, 0xC] - adds r0, 0x1 - str r0, [r3, 0xC] - subs r4, 0x1 - cmp r4, 0 - bne _0809489C -_080948DE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809488C - - thumb_func_start sub_80948E4 -sub_80948E4: - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r2, 0 - adds r6, r1, 0 - cmp r5, 0 - beq _0809491C -_080948F0: - ldrb r1, [r6] - ldr r0, [r4, 0x8] - lsls r1, r0 - ldr r3, [r4] - ldrb r2, [r3] - adds r0, r1, 0 - orrs r0, r2 - strb r0, [r3] - ldr r2, [r4] - adds r0, r2, 0x1 - str r0, [r4] - asrs r1, 8 - ldrb r0, [r2, 0x1] - orrs r1, r0 - strb r1, [r2, 0x1] - adds r6, 0x1 - ldr r0, [r4, 0xC] - adds r0, 0x8 - str r0, [r4, 0xC] - subs r5, 0x1 - cmp r5, 0 - bne _080948F0 -_0809491C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80948E4 - - thumb_func_start sub_8094924 -sub_8094924: - push {r4-r7,lr} - adds r3, r0, 0 - adds r5, r2, 0 - movs r6, 0 - adds r2, r1, 0 - cmp r5, 0 - beq _08094978 -_08094932: - cmp r6, 0 - bne _08094938 - strb r6, [r2] -_08094938: - ldr r7, [r3] - ldrb r0, [r7] - ldr r4, [r3, 0x8] - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08094952 - adds r0, r1, 0 - lsls r0, r6 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] -_08094952: - adds r6, 0x1 - cmp r6, 0x8 - bne _0809495C - adds r2, 0x1 - movs r6, 0 -_0809495C: - adds r0, r4, 0x1 - str r0, [r3, 0x8] - cmp r0, 0x8 - bne _0809496C - adds r0, r7, 0x1 - str r0, [r3] - movs r0, 0 - str r0, [r3, 0x8] -_0809496C: - ldr r0, [r3, 0xC] - adds r0, 0x1 - str r0, [r3, 0xC] - subs r5, 0x1 - cmp r5, 0 - bne _08094932 -_08094978: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8094924 - - thumb_func_start sub_8094980 -sub_8094980: - ldr r1, _08094988 - ldr r0, _0809498C - str r0, [r1] - bx lr - .align 2, 0 -_08094988: .4byte gUnknown_203B46C -_0809498C: .4byte gUnknown_2038C70 - thumb_func_end sub_8094980 - - thumb_func_start sub_8094990 -sub_8094990: - ldr r0, _08094994 - bx lr - .align 2, 0 -_08094994: .4byte gUnknown_2038C70 - thumb_func_end sub_8094990 - - thumb_func_start sub_8094998 -sub_8094998: - push {lr} - lsls r0, 24 - ldr r2, _080949D8 - ldr r1, [r2] - movs r3, 0 - strb r3, [r1, 0x8] - cmp r0, 0 - beq _080949AC - ldr r0, [r2] - strb r3, [r0, 0xB] -_080949AC: - ldr r0, [r2] - strb r3, [r0, 0x9] - ldr r0, [r2] - strb r3, [r0, 0xA] - ldr r0, [r2] - strb r3, [r0] - ldr r0, [r2] - movs r1, 0x1 - strb r1, [r0, 0x1] - ldr r0, [r2] - strb r1, [r0, 0x2] - ldr r0, [r2] - strb r1, [r0, 0x3] - ldr r0, [r2] - strb r1, [r0, 0x4] - ldr r0, [r2] - strb r3, [r0, 0xC] - bl sub_8094C14 - pop {r0} - bx r0 - .align 2, 0 -_080949D8: .4byte gUnknown_203B46C - thumb_func_end sub_8094998 - - thumb_func_start sub_80949DC -sub_80949DC: - push {lr} - adds r2, r0, 0 - ldr r0, _08094A38 - ldr r1, [r0] - ldrb r0, [r1, 0x8] - ldrb r3, [r2, 0x8] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0x9] - ldrb r3, [r2, 0x9] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0xA] - ldrb r3, [r2, 0xA] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0xB] - ldrb r3, [r2, 0xB] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1] - ldrb r3, [r2] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0x1] - ldrb r3, [r2, 0x1] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0x2] - ldrb r3, [r2, 0x2] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0x3] - ldrb r3, [r2, 0x3] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0x4] - ldrb r3, [r2, 0x4] - cmp r0, r3 - bne _08094A3C - ldrb r0, [r1, 0xC] - ldrb r2, [r2, 0xC] - cmp r0, r2 - bne _08094A3C - movs r0, 0x1 - b _08094A3E - .align 2, 0 -_08094A38: .4byte gUnknown_203B46C -_08094A3C: - movs r0, 0 -_08094A3E: - pop {r1} - bx r1 - thumb_func_end sub_80949DC - - thumb_func_start sub_8094A44 -sub_8094A44: - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xFF - mov r0, sp - strb r1, [r0] - mov r7, sp - adds r7, 0x1 - movs r0, 0 - strb r0, [r7] - ldr r5, _08094B14 - ldr r1, [r5] - adds r1, 0x8 - adds r0, r4, 0 - movs r2, 0x2 - bl sub_809488C - ldr r0, [r5] - ldrb r0, [r0, 0x9] - mov r1, sp - adds r6, r7, 0 - cmp r0, 0 - bne _08094A74 - adds r1, r6, 0 -_08094A74: - adds r0, r4, 0 - movs r2, 0x1 - bl sub_809488C - ldr r0, [r5] - ldrb r0, [r0, 0xA] - adds r1, r6, 0 - cmp r0, 0 - beq _08094A88 - mov r1, sp -_08094A88: - adds r0, r4, 0 - movs r2, 0x1 - bl sub_809488C - ldr r0, [r5] - ldrb r0, [r0, 0xB] - adds r1, r6, 0 - cmp r0, 0 - beq _08094A9C - mov r1, sp -_08094A9C: - adds r0, r4, 0 - movs r2, 0x1 - bl sub_809488C - ldr r0, [r5] - ldrb r0, [r0] - adds r1, r6, 0 - cmp r0, 0 - beq _08094AB0 - mov r1, sp -_08094AB0: - adds r0, r4, 0 - movs r2, 0x1 - bl sub_809488C - ldr r0, [r5] - ldrb r0, [r0, 0x1] - adds r1, r6, 0 - cmp r0, 0 - beq _08094AC4 - mov r1, sp -_08094AC4: - adds r0, r4, 0 - movs r2, 0x1 - bl sub_809488C - ldr r0, [r5] - ldrb r0, [r0, 0x2] - adds r1, r6, 0 - cmp r0, 0 - beq _08094AD8 - mov r1, sp -_08094AD8: - adds r0, r4, 0 - movs r2, 0x1 - bl sub_809488C - ldr r0, [r5] - ldrb r0, [r0, 0x3] - adds r1, r7, 0 - cmp r0, 0 - beq _08094AEC - mov r1, sp -_08094AEC: - adds r0, r4, 0 - movs r2, 0x1 - bl sub_809488C - ldr r1, [r5] - adds r1, 0x4 - adds r0, r4, 0 - movs r2, 0x3 - bl sub_809488C - ldr r1, [r5] - adds r1, 0xC - adds r0, r4, 0 - movs r2, 0x2 - bl sub_809488C - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08094B14: .4byte gUnknown_203B46C - thumb_func_end sub_8094A44 - - thumb_func_start sub_8094B18 -sub_8094B18: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r6, r0, 0 - mov r1, sp - movs r2, 0x2 - bl sub_8094924 - ldr r5, _08094C10 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - movs r0, 0x3 - mov r8, r0 - ands r0, r1 - strb r0, [r2, 0x8] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - strb r0, [r2, 0x9] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - strb r0, [r2, 0xA] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - strb r0, [r2, 0xB] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - strb r0, [r2] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - strb r0, [r2, 0x1] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - strb r0, [r2, 0x2] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - ldr r1, [r5] - mov r0, sp - ldrb r0, [r0] - ands r4, r0 - strb r4, [r1, 0x3] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x3 - bl sub_8094924 - ldr r2, [r5] - mov r0, sp - ldrb r1, [r0] - movs r0, 0x7 - ands r0, r1 - strb r0, [r2, 0x4] - adds r0, r6, 0 - mov r1, sp - movs r2, 0x2 - bl sub_8094924 - ldr r1, [r5] - mov r0, sp - ldrb r0, [r0] - mov r2, r8 - ands r2, r0 - strb r2, [r1, 0xC] - bl sub_8094C14 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08094C10: .4byte gUnknown_203B46C - thumb_func_end sub_8094B18 - - thumb_func_start sub_8094C14 -sub_8094C14: - push {r4,lr} - sub sp, 0x10 - mov r1, sp - ldr r0, _08094C40 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r0, [r0] - str r0, [r1] - ldr r0, _08094C44 - ldr r0, [r0] - ldrb r1, [r0, 0x8] - movs r0, 0x3 - ands r0, r1 - lsls r0, 2 - add r0, sp - ldr r0, [r0] - bl sub_80099F0 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094C40: .4byte gUnknown_8109954 -_08094C44: .4byte gUnknown_203B46C - thumb_func_end sub_8094C14 - - thumb_func_start sub_8094C48 -sub_8094C48: - push {lr} - ldr r0, _08094C5C - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08094C60 - cmp r0, 0x3 - beq _08094C60 - movs r0, 0x1 - b _08094C62 - .align 2, 0 -_08094C5C: .4byte gUnknown_203B46C -_08094C60: - movs r0, 0 -_08094C62: - pop {r1} - bx r1 - thumb_func_end sub_8094C48 - - thumb_func_start sub_8094C68 -sub_8094C68: - push {lr} - ldr r0, _08094C7C - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0x2 - beq _08094C80 - cmp r0, 0x5 - beq _08094C80 - movs r0, 0x1 - b _08094C82 - .align 2, 0 -_08094C7C: .4byte gUnknown_203B46C -_08094C80: - movs r0, 0 -_08094C82: - pop {r1} - bx r1 - thumb_func_end sub_8094C68 - - thumb_func_start sub_8094C88 -sub_8094C88: - push {lr} - ldr r0, _08094C98 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - cmp r0, 0x2 - bhi _08094C9C - movs r0, 0x1 - b _08094CA8 - .align 2, 0 -_08094C98: .4byte gUnknown_203B46C -_08094C9C: - subs r0, 0x3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _08094CAA - movs r0, 0x4 -_08094CA8: - strb r0, [r1, 0x4] -_08094CAA: - pop {r0} - bx r0 - thumb_func_end sub_8094C88 - - thumb_func_start sub_8094CB0 -sub_8094CB0: - ldr r1, _08094CBC - strh r1, [r0] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x2] - bx lr - .align 2, 0 -_08094CBC: .4byte 0x0000ffff - thumb_func_end sub_8094CB0 - - thumb_func_start sub_8094CC0 -sub_8094CC0: - ldr r1, _08094CCC - strh r1, [r0] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x2] - bx lr - .align 2, 0 -_08094CCC: .4byte 0x0000ffff - thumb_func_end sub_8094CC0 - - thumb_func_start sub_8094CD0 -sub_8094CD0: - ldr r1, _08094CDC - strh r1, [r0] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x2] - bx lr - .align 2, 0 -_08094CDC: .4byte 0x0000ffff - thumb_func_end sub_8094CD0 - - thumb_func_start sub_8094CE0 -sub_8094CE0: - ldr r1, _08094CEC - strh r1, [r0] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x2] - bx lr - .align 2, 0 -_08094CEC: .4byte 0x0000ffff - thumb_func_end sub_8094CE0 - - thumb_func_start sub_8094CF0 -sub_8094CF0: - ldr r1, _08094CFC - strh r1, [r0] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x2] - bx lr - .align 2, 0 -_08094CFC: .4byte 0x0000ffff - thumb_func_end sub_8094CF0 - - thumb_func_start sub_8094D00 -sub_8094D00: - ldr r1, _08094D0C - strh r1, [r0] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x2] - bx lr - .align 2, 0 -_08094D0C: .4byte 0x0000ffff - thumb_func_end sub_8094D00 - - thumb_func_start sub_8094D10 -sub_8094D10: - movs r0, 0 - bx lr - thumb_func_end sub_8094D10 - - thumb_func_start sub_8094D14 -sub_8094D14: - movs r0, 0 - bx lr - thumb_func_end sub_8094D14 - - thumb_func_start sub_8094D18 -sub_8094D18: - movs r0, 0 - bx lr - thumb_func_end sub_8094D18 - - thumb_func_start sub_8094D1C -sub_8094D1C: - movs r0, 0 - bx lr - thumb_func_end sub_8094D1C - - thumb_func_start sub_8094D20 -sub_8094D20: - movs r0, 0 - bx lr - thumb_func_end sub_8094D20 - - thumb_func_start sub_8094D24 -sub_8094D24: - movs r0, 0 - bx lr - thumb_func_end sub_8094D24 - - thumb_func_start sub_8094D28 -sub_8094D28: - push {r4-r7,lr} - ldr r2, _08094D64 - str r0, [r2] - ldr r1, _08094D68 - movs r0, 0x1 - str r0, [r1] - ldr r7, _08094D6C - adds r5, r2, 0 - adds r4, r1, 0 - ldr r6, _08094D70 -_08094D3C: - ldr r2, [r4] - lsls r3, r2, 2 - adds r3, r5 - subs r0, r2, 0x1 - lsls r0, 2 - adds r0, r5 - ldr r0, [r0] - lsrs r1, r0, 30 - eors r0, r1 - muls r0, r6 - adds r0, r2 - str r0, [r3] - adds r2, 0x1 - str r2, [r4] - cmp r2, r7 - ble _08094D3C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08094D64: .4byte gUnknown_3001198 -_08094D68: .4byte gUnknown_203B470 -_08094D6C: .4byte 0x0000026f -_08094D70: .4byte 0x6c078965 - thumb_func_end sub_8094D28 - - thumb_func_start sub_8094D74 -sub_8094D74: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - adds r7, r1, 0 - ldr r0, _08094E34 - bl sub_8094D28 - movs r4, 0x1 - movs r5, 0 - adds r3, r7, 0 - movs r0, 0x9C - lsls r0, 2 - cmp r3, r0 - bge _08094D96 - adds r3, r0, 0 -_08094D96: - ldr r6, _08094E38 - cmp r3, 0 - beq _08094DE2 - mov r9, r6 - ldr r0, _08094E3C - adds r0, r6 - mov r12, r0 - adds r2, r6, 0 -_08094DA6: - ldr r1, [r2] - lsrs r0, r1, 30 - eors r1, r0 - ldr r0, _08094E40 - muls r0, r1 - ldr r1, [r2, 0x4] - eors r1, r0 - lsls r0, r5, 2 - add r0, r8 - ldr r0, [r0] - adds r1, r0 - adds r1, r5 - str r1, [r2, 0x4] - adds r2, 0x4 - adds r4, 0x1 - adds r5, 0x1 - ldr r0, _08094E44 - cmp r4, r0 - ble _08094DD6 - mov r1, r12 - ldr r0, [r1] - str r0, [r6] - mov r2, r9 - movs r4, 0x1 -_08094DD6: - cmp r5, r7 - blt _08094DDC - movs r5, 0 -_08094DDC: - subs r3, 0x1 - cmp r3, 0 - bne _08094DA6 -_08094DE2: - ldr r3, _08094E44 - ldr r5, _08094E38 - ldr r0, _08094E3C - adds r0, r5 - mov r8, r0 - lsls r0, r4, 2 - subs r0, 0x4 - adds r2, r0, r5 - ldr r1, _08094E48 - mov r12, r1 - adds r7, r3, 0 -_08094DF8: - ldr r0, [r2] - lsrs r1, r0, 30 - eors r0, r1 - mov r1, r12 - muls r1, r0 - ldr r0, [r2, 0x4] - eors r0, r1 - subs r0, r4 - str r0, [r2, 0x4] - adds r2, 0x4 - adds r4, 0x1 - cmp r4, r7 - ble _08094E1C - mov r1, r8 - ldr r0, [r1] - str r0, [r6] - adds r2, r5, 0 - movs r4, 0x1 -_08094E1C: - subs r3, 0x1 - cmp r3, 0 - bne _08094DF8 - movs r0, 0x80 - lsls r0, 24 - str r0, [r6] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08094E34: .4byte 0x012bd6aa -_08094E38: .4byte gUnknown_3001198 -_08094E3C: .4byte 0x000009bc -_08094E40: .4byte 0x0019660d -_08094E44: .4byte 0x0000026f -_08094E48: .4byte 0x5d588b65 - thumb_func_end sub_8094D74 - - thumb_func_start sub_8094E4C -sub_8094E4C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08094F54 - ldr r2, [r0] - ldr r1, _08094F58 - mov r8, r0 - cmp r2, r1 - ble _08094F1C - ldr r0, _08094F5C - cmp r2, r0 - bne _08094E6C - ldr r0, _08094F60 - bl sub_8094D28 -_08094E6C: - movs r3, 0 - ldr r0, _08094F64 - mov r9, r0 - ldr r7, _08094F68 - mov r12, r9 - adds r5, r7, 0 -_08094E78: - ldr r4, [r5] - movs r6, 0x80 - lsls r6, 24 - ands r4, r6 - ldr r0, [r5, 0x4] - ldr r1, _08094F6C - ands r0, r1 - orrs r4, r0 - ldr r1, _08094F70 - adds r0, r3, r1 - lsls r0, 2 - adds r0, r7 - lsrs r2, r4, 1 - ldr r1, [r0] - eors r1, r2 - movs r0, 0x1 - ands r4, r0 - lsls r0, r4, 2 - add r0, r12 - ldr r0, [r0] - eors r1, r0 - stm r5!, {r1} - adds r3, 0x1 - cmp r3, 0xE2 - ble _08094E78 - ldr r5, _08094F74 - cmp r3, r5 - bgt _08094EE6 - ldr r1, _08094F68 - ldr r4, _08094F64 - mov r12, r4 - lsls r0, r3, 2 - adds r2, r0, r1 - ldr r4, _08094F78 - adds r0, r4 - adds r7, r0, r1 -_08094EC0: - ldr r4, [r2] - ands r4, r6 - ldr r0, [r2, 0x4] - ldr r1, _08094F6C - ands r0, r1 - orrs r4, r0 - lsrs r0, r4, 1 - ldm r7!, {r1} - eors r1, r0 - movs r0, 0x1 - ands r4, r0 - lsls r0, r4, 2 - add r0, r12 - ldr r0, [r0] - eors r1, r0 - stm r2!, {r1} - adds r3, 0x1 - cmp r3, r5 - ble _08094EC0 -_08094EE6: - ldr r2, _08094F68 - ldr r0, _08094F7C - adds r3, r2, r0 - ldr r4, [r3] - movs r0, 0x80 - lsls r0, 24 - ands r4, r0 - ldr r0, [r2] - ldr r1, _08094F6C - ands r0, r1 - orrs r4, r0 - movs r1, 0xC6 - lsls r1, 3 - adds r2, r1 - lsrs r0, r4, 1 - ldr r1, [r2] - eors r1, r0 - movs r0, 0x1 - ands r4, r0 - lsls r0, r4, 2 - add r0, r9 - ldr r0, [r0] - eors r1, r0 - str r1, [r3] - movs r0, 0 - mov r4, r8 - str r0, [r4] -_08094F1C: - ldr r2, _08094F68 - mov r0, r8 - ldr r1, [r0] - lsls r0, r1, 2 - adds r0, r2 - ldr r4, [r0] - adds r1, 0x1 - mov r0, r8 - str r1, [r0] - lsrs r0, r4, 11 - eors r4, r0 - lsls r0, r4, 7 - ldr r1, _08094F80 - ands r0, r1 - eors r4, r0 - lsls r0, r4, 15 - ldr r1, _08094F84 - ands r0, r1 - eors r4, r0 - lsrs r0, r4, 18 - eors r4, r0 - adds r0, r4, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08094F54: .4byte gUnknown_203B470 -_08094F58: .4byte 0x0000026f -_08094F5C: .4byte 0x00000271 -_08094F60: .4byte 0x00001571 -_08094F64: .4byte gUnknown_203B474 -_08094F68: .4byte gUnknown_3001198 -_08094F6C: .4byte 0x7fffffff -_08094F70: .4byte 0x0000018d -_08094F74: .4byte 0x0000026e -_08094F78: .4byte 0xfffffc74 -_08094F7C: .4byte 0x000009bc -_08094F80: .4byte 0x9d2c5680 -_08094F84: .4byte 0xefc60000 - thumb_func_end sub_8094E4C - - thumb_func_start sub_8094F88 -sub_8094F88: - push {lr} - ldr r1, _08094F98 - ldr r0, _08094F9C - str r0, [r1] - bl sub_8094FA8 - pop {r0} - bx r0 - .align 2, 0 -_08094F98: .4byte gUnknown_203B47C -_08094F9C: .4byte gUnknown_2038C80 - thumb_func_end sub_8094F88 - - thumb_func_start sub_8094FA0 -sub_8094FA0: - ldr r0, _08094FA4 - bx lr - .align 2, 0 -_08094FA4: .4byte gUnknown_2038C80 - thumb_func_end sub_8094FA0 - - thumb_func_start sub_8094FA8 -sub_8094FA8: - movs r1, 0 - strb r1, [r0, 0x4] - strb r1, [r0, 0x3] - strb r1, [r0, 0x2] - strh r1, [r0] - bx lr - thumb_func_end sub_8094FA8 - - thumb_func_start sub_8094FB4 -sub_8094FB4: - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x4] - adds r0, 0x1 - movs r1, 0 - strb r0, [r2, 0x4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _0809500A - strb r1, [r2, 0x4] - ldrb r0, [r2, 0x3] - adds r0, 0x1 - strb r0, [r2, 0x3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _0809500A - strb r1, [r2, 0x3] - ldrb r0, [r2, 0x2] - adds r0, 0x1 - strb r0, [r2, 0x2] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _0809500A - strb r1, [r2, 0x2] - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - ldr r0, _08094FFC - cmp r1, r0 - bgt _08095000 - adds r0, r3, 0x1 - b _08095008 - .align 2, 0 -_08094FFC: .4byte 0x0000270e -_08095000: - movs r0, 0x3B - strb r0, [r2, 0x3] - strb r0, [r2, 0x2] - ldr r0, _08095010 -_08095008: - strh r0, [r2] -_0809500A: - pop {r0} - bx r0 - .align 2, 0 -_08095010: .4byte 0x0000270f - thumb_func_end sub_8094FB4 - - thumb_func_start sub_8095014 -sub_8095014: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - ldr r1, _08095030 - cmp r0, r1 - bgt _08095034 - str r0, [r5] - ldrb r0, [r4, 0x2] - str r0, [r2] - ldrb r0, [r4, 0x3] - b _0809503A - .align 2, 0 -_08095030: .4byte 0x0000270f -_08095034: - str r1, [r5] - movs r0, 0x3B - str r0, [r2] -_0809503A: - str r0, [r3] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8095014 - - thumb_func_start sub_8095044 -sub_8095044: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0809507C - ldr r1, [r4] - adds r1, 0x4 - movs r2, 0x6 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x3 - adds r0, r5, 0 - movs r2, 0x6 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x2 - adds r0, r5, 0 - movs r2, 0x6 - bl sub_809488C - ldr r1, [r4] - adds r0, r5, 0 - movs r2, 0xE - bl sub_809488C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809507C: .4byte gUnknown_203B47C - thumb_func_end sub_8095044 - - thumb_func_start sub_8095080 -sub_8095080: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080950B8 - ldr r1, [r4] - adds r1, 0x4 - movs r2, 0x6 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x3 - adds r0, r5, 0 - movs r2, 0x6 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x2 - adds r0, r5, 0 - movs r2, 0x6 - bl sub_8094924 - ldr r1, [r4] - adds r0, r5, 0 - movs r2, 0xE - bl sub_8094924 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080950B8: .4byte gUnknown_203B47C - thumb_func_end sub_8095080 - - thumb_func_start sub_80950BC -sub_80950BC: - ldr r1, _080950D8 - ldr r0, _080950DC - str r0, [r1] - ldr r1, _080950E0 - ldr r0, _080950E4 - str r0, [r1] - ldr r1, _080950E8 - ldr r0, _080950EC - str r0, [r1] - ldr r1, _080950F0 - ldr r0, _080950F4 - str r0, [r1] - bx lr - .align 2, 0 -_080950D8: .4byte gUnknown_203B480 -_080950DC: .4byte gUnknown_2038C88 -_080950E0: .4byte gUnknown_203B484 -_080950E4: .4byte gUnknown_2039288 -_080950E8: .4byte gUnknown_203B488 -_080950EC: .4byte gUnknown_20392E8 -_080950F0: .4byte gUnknown_203B48C -_080950F4: .4byte gUnknown_20393C0 - thumb_func_end sub_80950BC - - thumb_func_start sub_80950F8 -sub_80950F8: - ldr r0, _080950FC - bx lr - .align 2, 0 -_080950FC: .4byte gUnknown_2038C88 - thumb_func_end sub_80950F8 - - thumb_func_start sub_8095100 -sub_8095100: - ldr r0, _08095104 - bx lr - .align 2, 0 -_08095104: .4byte gUnknown_2039288 - thumb_func_end sub_8095100 - - thumb_func_start sub_8095108 -sub_8095108: - ldr r0, _0809510C - bx lr - .align 2, 0 -_0809510C: .4byte gUnknown_20392E8 - thumb_func_end sub_8095108 - - thumb_func_start sub_8095110 -sub_8095110: - ldr r0, _08095114 - bx lr - .align 2, 0 -_08095114: .4byte gUnknown_20393C0 - thumb_func_end sub_8095110 - - thumb_func_start sub_8095118 -sub_8095118: - push {r4,lr} - ldr r4, _0809517C - ldr r0, [r4] - movs r2, 0xC0 - lsls r2, 3 - movs r1, 0 - bl MemoryFill8 - ldr r0, _08095180 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x5C - bl MemoryFill8 - movs r2, 0 - movs r1, 0 - movs r3, 0x1F -_0809513A: - ldr r0, [r4] - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r0, r1 - adds r0, 0x22 - strb r2, [r0] - ldr r0, [r4] - adds r0, r1 - adds r0, 0x2D - strb r2, [r0] - adds r1, 0x30 - subs r3, 0x1 - cmp r3, 0 - bge _0809513A - ldr r2, _08095184 - ldr r1, [r2] - movs r0, 0 - str r0, [r1] - movs r3, 0 - movs r4, 0x1 - negs r4, r4 -_08095166: - ldr r0, [r2] - lsls r1, r3, 2 - adds r0, 0x4 - adds r0, r1 - str r4, [r0] - adds r3, 0x1 - cmp r3, 0x1F - ble _08095166 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809517C: .4byte gUnknown_203B480 -_08095180: .4byte gUnknown_203B484 -_08095184: .4byte gUnknown_203B48C - thumb_func_end sub_8095118 - - thumb_func_start nullsub_206 -nullsub_206: - bx lr - thumb_func_end nullsub_206 - - thumb_func_start nullsub_207 -nullsub_207: - bx lr - thumb_func_end nullsub_207 - - thumb_func_start sub_8095190 -sub_8095190: - push {lr} - movs r2, 0x2 - ldr r0, _080951A8 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x60 -_0809519C: - ldrb r0, [r1] - cmp r0, 0 - bne _080951AC - adds r0, r2, 0 - b _080951B8 - .align 2, 0 -_080951A8: .4byte gUnknown_203B480 -_080951AC: - adds r1, 0x30 - adds r2, 0x1 - cmp r2, 0x1F - ble _0809519C - movs r0, 0x1 - negs r0, r0 -_080951B8: - pop {r1} - bx r1 - thumb_func_end sub_8095190 - - thumb_func_start sub_80951BC -sub_80951BC: - push {r4,lr} - adds r4, r0, 0 - bl sub_8095190 - adds r2, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _080951F4 - ldr r0, _080951F0 - ldr r1, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 4 - adds r1, r0 - adds r0, r4, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r0, 0x1 - b _080951F6 - .align 2, 0 -_080951F0: .4byte gUnknown_203B480 -_080951F4: - movs r0, 0 -_080951F6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80951BC - - thumb_func_start sub_80951FC -sub_80951FC: - push {r4,r5,lr} - ldr r1, _08095224 - ldr r1, [r1] - adds r1, 0x30 - ldrb r2, [r1] - negs r3, r2 - orrs r3, r2 - lsrs r3, 31 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08095224: .4byte gUnknown_203B480 - thumb_func_end sub_80951FC - - thumb_func_start sub_8095228 -sub_8095228: - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809523C - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 4 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_0809523C: .4byte gUnknown_203B480 - thumb_func_end sub_8095228 - - thumb_func_start sub_8095240 -sub_8095240: - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08095270 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 4 - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - strb r1, [r0] - ldr r0, [r5] - adds r0, r4 - adds r0, 0x22 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08095270: .4byte gUnknown_203B480 - thumb_func_end sub_8095240 - - thumb_func_start sub_8095274 -sub_8095274: - push {lr} - ldr r1, _08095294 - ldr r3, [r1] - adds r2, r3, 0 - ldm r2!, {r1} - lsls r1, 2 - adds r2, r1 - str r0, [r2] - ldr r0, [r3] - movs r1, 0 - cmp r0, 0x1E - bgt _0809528E - adds r1, r0, 0x1 -_0809528E: - str r1, [r3] - pop {r0} - bx r0 - .align 2, 0 -_08095294: .4byte gUnknown_203B48C - thumb_func_end sub_8095274 - - thumb_func_start sub_8095298 -sub_8095298: - push {lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, _080952B0 - ldr r0, [r0] - adds r1, r0, 0x4 -_080952A4: - ldr r0, [r1] - cmp r0, r3 - bne _080952B4 - movs r0, 0x1 - b _080952BE - .align 2, 0 -_080952B0: .4byte gUnknown_203B48C -_080952B4: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, 0x1F - ble _080952A4 - movs r0, 0 -_080952BE: - pop {r1} - bx r1 - thumb_func_end sub_8095298 - - thumb_func_start sub_80952C4 -sub_80952C4: - push {r4,lr} - ldr r2, _080952EC - ldr r1, [r2] - movs r0, 0 - str r0, [r1] - movs r3, 0 - adds r4, r2, 0 - movs r2, 0x1 - negs r2, r2 -_080952D6: - ldr r0, [r4] - lsls r1, r3, 2 - adds r0, 0x4 - adds r0, r1 - str r2, [r0] - adds r3, 0x1 - cmp r3, 0x1F - ble _080952D6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080952EC: .4byte gUnknown_203B48C - thumb_func_end sub_80952C4 - - thumb_func_start sub_80952F0 -sub_80952F0: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0 - ldr r0, _08095310 - ldr r2, [r0] -_080952FE: - ldrb r0, [r2] - cmp r0, r1 - bne _08095314 - ldr r0, [r2, 0x10] - cmp r0, r4 - bne _08095314 - movs r0, 0x1 - b _0809531E - .align 2, 0 -_08095310: .4byte gUnknown_203B480 -_08095314: - adds r2, 0x30 - adds r3, 0x1 - cmp r3, 0x1F - ble _080952FE - movs r0, 0 -_0809531E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80952F0 - - thumb_func_start sub_8095324 -sub_8095324: - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - ldr r0, _0809534C - ldr r1, [r0] - movs r2, 0x1F -_08095332: - ldrb r0, [r1] - cmp r0, r4 - bne _0809533A - adds r3, 0x1 -_0809533A: - adds r1, 0x30 - subs r2, 0x1 - cmp r2, 0 - bge _08095332 - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809534C: .4byte gUnknown_203B480 - thumb_func_end sub_8095324 - - thumb_func_start sub_8095350 -sub_8095350: - push {lr} - movs r3, 0 - ldr r0, _08095370 - ldr r1, [r0] - movs r2, 0x1F -_0809535A: - ldrb r0, [r1] - cmp r0, 0 - beq _08095362 - adds r3, 0x1 -_08095362: - adds r1, 0x30 - subs r2, 0x1 - cmp r2, 0 - bge _0809535A - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_08095370: .4byte gUnknown_203B480 - thumb_func_end sub_8095350 - - thumb_func_start sub_8095374 -sub_8095374: - push {lr} - movs r3, 0x1 - negs r3, r3 - movs r2, 0 - ldr r0, _08095398 - ldr r1, [r0] -_08095380: - ldrb r0, [r1] - cmp r0, 0x1 - bne _08095388 - adds r3, r2, 0 -_08095388: - adds r1, 0x30 - adds r2, 0x1 - cmp r2, 0x1F - ble _08095380 - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_08095398: .4byte gUnknown_203B480 - thumb_func_end sub_8095374 - - thumb_func_start sub_809539C -sub_809539C: - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0 - ldr r0, _080953BC - ldr r2, [r0] -_080953AA: - ldrb r0, [r2] - cmp r0, r1 - bne _080953C0 - ldr r0, [r2, 0x10] - cmp r0, r4 - bne _080953C0 - adds r0, r3, 0 - b _080953CC - .align 2, 0 -_080953BC: .4byte gUnknown_203B480 -_080953C0: - adds r2, 0x30 - adds r3, 0x1 - cmp r3, 0x1F - ble _080953AA - movs r0, 0x1 - negs r0, r0 -_080953CC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809539C - - thumb_func_start sub_80953D4 -sub_80953D4: - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r0, _080953EC - ldr r1, [r0] -_080953E0: - ldrb r0, [r1] - cmp r0, r3 - bne _080953F0 - adds r0, r2, 0 - b _080953FC - .align 2, 0 -_080953EC: .4byte gUnknown_203B480 -_080953F0: - adds r1, 0x30 - adds r2, 0x1 - cmp r2, 0x1F - ble _080953E0 - movs r0, 0x1 - negs r0, r0 -_080953FC: - pop {r1} - bx r1 - thumb_func_end sub_80953D4 - - thumb_func_start sub_8095400 -sub_8095400: - push {lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, _08095418 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 -_0809540E: - ldr r0, [r1] - cmp r0, r3 - bne _0809541C - adds r0, r2, 0 - b _08095428 - .align 2, 0 -_08095418: .4byte gUnknown_203B480 -_0809541C: - adds r1, 0x30 - adds r2, 0x1 - cmp r2, 0x1F - ble _0809540E - movs r0, 0x1 - negs r0, r0 -_08095428: - pop {r1} - bx r1 - thumb_func_end sub_8095400 - - thumb_func_start sub_809542C -sub_809542C: - push {r4,lr} - sub sp, 0x14 - ldr r4, _08095490 - ldr r2, [r4] - movs r1, 0x1 - strb r1, [r2] - ldr r2, [r4] - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2, 0x4] - str r1, [r2, 0x8] - bl Random - bl sub_8094D28 - bl sub_8094E4C - ldr r1, [r4] - str r0, [r1, 0x10] - bl sub_808D33C - ldr r1, [r4] - ldrh r0, [r0, 0x8] - strh r0, [r1, 0xC] - bl sub_808D33C - adds r1, r0, 0 - mov r0, sp - bl sub_808DA34 - ldr r0, [r4] - adds r0, 0x14 - mov r1, sp - bl sub_80922F4 - bl sub_8011C34 - ldr r1, [r4] - str r0, [r1, 0x24] - ldrb r0, [r1, 0x4] - bl GetUnk3 - ldr r1, [r4] - adds r1, 0x2C - strb r0, [r1] - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08095490: .4byte gUnknown_203B480 - thumb_func_end sub_809542C - - thumb_func_start sub_8095494 -sub_8095494: - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080954B0 - ldr r3, [r2] - lsls r2, r1, 1 - adds r2, r1 - lsls r2, 4 - adds r3, r2 - ldr r1, [r3, 0x4] - ldr r2, [r3, 0x8] - str r1, [r0] - str r2, [r0, 0x4] - bx lr - .align 2, 0 -_080954B0: .4byte gUnknown_203B480 - thumb_func_end sub_8095494 - - thumb_func_start sub_80954B4 -sub_80954B4: - push {lr} - movs r0, 0x3 - bl sub_8095324 - cmp r0, 0 - bne _080954C4 - movs r0, 0 - b _080954C6 -_080954C4: - movs r0, 0x1 -_080954C6: - pop {r1} - bx r1 - thumb_func_end sub_80954B4 - - thumb_func_start sub_80954CC -sub_80954CC: - push {r4-r6,lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809485C - ldr r6, _08095618 - movs r5, 0 - movs r4, 0x1F -_080954E2: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8095774 - adds r5, 0x30 - subs r4, 0x1 - cmp r4, 0 - bge _080954E2 - ldr r4, _0809561C - ldr r1, [r4] - mov r0, sp - movs r2, 0x20 - bl sub_8094924 - ldr r5, [r4] - adds r4, r5, 0x4 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x58 - bl memset - mov r0, sp - adds r1, r4, 0 - movs r2, 0x2 - bl sub_8094924 - adds r1, r5, 0x6 - mov r0, sp - movs r2, 0x1 - bl sub_8094924 - adds r1, r5, 0x7 - mov r0, sp - movs r2, 0x7 - bl sub_8094924 - adds r4, 0x4 - mov r0, sp - adds r1, r4, 0 - bl sub_8090314 - adds r1, r5, 0 - adds r1, 0xC - mov r0, sp - movs r2, 0x9 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x10 - mov r0, sp - bl sub_808F410 - adds r1, r5, 0 - adds r1, 0x14 - mov r0, sp - bl sub_808F410 - adds r1, r5, 0 - adds r1, 0x18 - mov r0, sp - movs r2, 0xA - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x1A - mov r0, sp - movs r2, 0xA - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x1C - mov r0, sp - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x1D - mov r0, sp - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x1E - mov r0, sp - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x1F - mov r0, sp - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x20 - mov r0, sp - movs r2, 0x18 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x24 - mov r0, sp - movs r2, 0x18 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x28 - mov r0, sp - movs r2, 0x4 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x2C - mov r0, sp - bl sub_8091DC0 - adds r1, r5, 0 - adds r1, 0x30 - mov r0, sp - bl sub_8094128 - adds r1, r5, 0 - adds r1, 0x50 - mov r0, sp - movs r2, 0x50 - bl sub_8094924 - ldr r4, _08095620 - ldr r1, [r4] - mov r0, sp - movs r2, 0x20 - bl sub_8094924 - adds r6, r4, 0 - movs r5, 0x4 - movs r4, 0x1F -_080955F4: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - movs r2, 0x20 - bl sub_8094924 - adds r5, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _080955F4 - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08095618: .4byte gUnknown_203B480 -_0809561C: .4byte gUnknown_203B484 -_08095620: .4byte gUnknown_203B48C - thumb_func_end sub_80954CC - - thumb_func_start sub_8095624 -sub_8095624: - push {r4-r6,lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809486C - ldr r6, _08095768 - movs r5, 0 - movs r4, 0x1F -_0809563A: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8095824 - adds r5, 0x30 - subs r4, 0x1 - cmp r4, 0 - bge _0809563A - ldr r4, _0809576C - ldr r1, [r4] - mov r0, sp - movs r2, 0x20 - bl sub_809488C - ldr r5, [r4] - adds r4, r5, 0x4 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x2 - bl sub_809488C - adds r1, r5, 0x6 - mov r0, sp - movs r2, 0x1 - bl sub_809488C - adds r1, r5, 0x7 - mov r0, sp - movs r2, 0x7 - bl sub_809488C - adds r4, 0x4 - mov r0, sp - adds r1, r4, 0 - bl sub_80902F4 - adds r1, r5, 0 - adds r1, 0xC - mov r0, sp - movs r2, 0x9 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x10 - mov r0, sp - bl sub_808F41C - adds r1, r5, 0 - adds r1, 0x14 - mov r0, sp - bl sub_808F41C - adds r1, r5, 0 - adds r1, 0x18 - mov r0, sp - movs r2, 0xA - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x1A - mov r0, sp - movs r2, 0xA - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x1C - mov r0, sp - movs r2, 0x8 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x1D - mov r0, sp - movs r2, 0x8 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x1E - mov r0, sp - movs r2, 0x8 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x1F - mov r0, sp - movs r2, 0x8 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x20 - mov r0, sp - movs r2, 0x18 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x24 - mov r0, sp - movs r2, 0x18 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x28 - mov r0, sp - movs r2, 0x4 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x2C - mov r0, sp - bl sub_8091DE0 - adds r1, r5, 0 - adds r1, 0x30 - mov r0, sp - bl sub_8094108 - adds r1, r5, 0 - adds r1, 0x50 - mov r0, sp - movs r2, 0x50 - bl sub_809488C - ldr r4, _08095770 - ldr r1, [r4] - mov r0, sp - movs r2, 0x20 - bl sub_809488C - adds r6, r4, 0 - movs r5, 0x4 - movs r4, 0x1F -_08095742: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - movs r2, 0x20 - bl sub_809488C - adds r5, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _08095742 - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08095768: .4byte gUnknown_203B480 -_0809576C: .4byte gUnknown_203B484 -_08095770: .4byte gUnknown_203B48C - thumb_func_end sub_8095624 - - thumb_func_start sub_8095774 -sub_8095774: - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8094924 - adds r1, r5, 0x4 - adds r0, r4, 0 - bl sub_8090314 - adds r1, r5, 0 - adds r1, 0x8 - adds r0, r4, 0 - movs r2, 0x18 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0xC - adds r0, r4, 0 - movs r2, 0x9 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x10 - adds r0, r4, 0 - movs r2, 0x20 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x14 - adds r0, r4, 0 - movs r2, 0x50 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x20 - adds r0, r4, 0 - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x21 - adds r0, r4, 0 - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x22 - adds r0, r4, 0 - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x24 - adds r0, r4, 0 - movs r2, 0x20 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x28 - adds r0, r4, 0 - movs r2, 0x20 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x2C - adds r0, r4, 0 - movs r2, 0x8 - bl sub_8094924 - adds r0, r4, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - mov r0, sp - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r1, r5, 0 - adds r1, 0x2D - strb r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8095774 - - thumb_func_start sub_8095824 -sub_8095824: - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r4, r1, 0 - movs r1, 0xFF - mov r0, sp - strb r1, [r0] - mov r6, sp - adds r6, 0x1 - movs r0, 0 - strb r0, [r6] - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x4 - bl sub_809488C - adds r1, r4, 0x4 - adds r0, r5, 0 - bl sub_80902F4 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r5, 0 - movs r2, 0x18 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0xC - adds r0, r5, 0 - movs r2, 0x9 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r5, 0 - movs r2, 0x20 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x14 - adds r0, r5, 0 - movs r2, 0x50 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x20 - adds r0, r5, 0 - movs r2, 0x8 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x21 - adds r0, r5, 0 - movs r2, 0x8 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x22 - adds r0, r5, 0 - movs r2, 0x8 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x24 - adds r0, r5, 0 - movs r2, 0x20 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x28 - adds r0, r5, 0 - movs r2, 0x20 - bl sub_809488C - adds r1, r4, 0 - adds r1, 0x2C - adds r0, r5, 0 - movs r2, 0x8 - bl sub_809488C - adds r0, r4, 0 - adds r0, 0x2D - ldrb r0, [r0] - mov r1, sp - cmp r0, 0 - bne _080958D2 - adds r1, r6, 0 -_080958D2: - adds r0, r5, 0 - movs r2, 0x1 - bl sub_809488C - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8095824 - - thumb_func_start sub_80958E4 -sub_80958E4: - str r1, [r0] - bx lr - thumb_func_end sub_80958E4 - - thumb_func_start sub_80958E8 -sub_80958E8: - ldr r1, _080958F0 - ldr r0, _080958F4 - str r0, [r1] - bx lr - .align 2, 0 -_080958F0: .4byte gUnknown_203B490 -_080958F4: .4byte gUnknown_2039448 - thumb_func_end sub_80958E8 - - thumb_func_start sub_80958F8 -sub_80958F8: - ldr r0, _080958FC - bx lr - .align 2, 0 -_080958FC: .4byte gUnknown_2039448 - thumb_func_end sub_80958F8 - - thumb_func_start sub_8095900 -sub_8095900: - push {r4-r7,lr} - movs r4, 0 -_08095904: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096040 - adds r4, 0x1 - cmp r4, 0x3 - ble _08095904 - movs r4, 0 -_08095914: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80965B8 - adds r4, 0x1 - cmp r4, 0x7 - ble _08095914 - movs r4, 0 -_08095924: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096C3C - adds r4, 0x1 - cmp r4, 0x7 - ble _08095924 - movs r4, 0 - ldr r3, _080959B8 - movs r2, 0xBC - lsls r2, 2 - movs r1, 0 -_0809593C: - ldr r0, [r3] - adds r0, r2 - adds r0, r4 - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x37 - ble _0809593C - ldr r4, _080959B8 - ldr r0, [r4] - movs r1, 0xCA - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - movs r7, 0xC8 - lsls r7, 1 - adds r0, r7 - movs r1, 0x28 - bl MemoryClear8 - ldr r0, [r4] - movs r1, 0xDC - lsls r1, 1 - adds r0, r1 - movs r1, 0x78 - bl MemoryClear8 - adds r3, r4, 0 - movs r5, 0 - movs r2, 0 - movs r6, 0x8C - lsls r6, 2 - movs r4, 0xF -_08095980: - ldr r0, [r3] - adds r0, r2 - adds r0, r6 - movs r1, 0x63 - strb r1, [r0] - ldr r0, [r3] - adds r0, r2 - ldr r7, _080959BC - adds r0, r7 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r3] - adds r7, 0x3 - adds r0, r1, r7 - adds r0, r2 - str r5, [r0] - adds r7, 0x4 - adds r0, r1, r7 - adds r0, r2 - str r5, [r0] - adds r2, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _08095980 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080959B8: .4byte gUnknown_203B490 -_080959BC: .4byte 0x00000231 - thumb_func_end sub_8095900 - - thumb_func_start sub_80959C0 -sub_80959C0: - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0x5 - bne _080959D6 - adds r0, r1, 0 - bl sub_80959DC - lsls r0, 24 - lsrs r0, 24 - b _080959D8 -_080959D6: - movs r0, 0 -_080959D8: - pop {r1} - bx r1 - thumb_func_end sub_80959C0 - - thumb_func_start sub_80959DC -sub_80959DC: - push {r4-r6,lr} - adds r5, r0, 0 - ldrb r0, [r5, 0x1] - cmp r0, 0x4 - bls _080959E8 - b _08095B16 -_080959E8: - cmp r0, 0x4 - bne _080959F8 - ldrb r0, [r5, 0x4] - bl GetMaxItemCount - cmp r0, 0 - bne _080959F8 - b _08095B16 -_080959F8: - ldrb r0, [r5, 0x2] - cmp r0, 0x9 - bls _08095A00 - b _08095B16 -_08095A00: - ldrb r0, [r5, 0x4] - bl sub_809095C - lsls r0, 24 - cmp r0, 0 - beq _08095A0E - b _08095B16 -_08095A0E: - ldrb r4, [r5, 0x5] - ldrb r0, [r5, 0x4] - bl sub_8090298 - cmp r4, r0 - bge _08095B16 - adds r4, r5, 0x4 - adds r0, r4, 0 - bl sub_809017C - lsls r0, 24 - adds r6, r4, 0 - cmp r0, 0 - bne _08095B16 - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08095B16 - ldr r4, _08095B1C - cmp r0, r4 - bgt _08095B16 - movs r2, 0xC - ldrsh r0, [r5, r2] - bl sub_808E770 - movs r2, 0xC - ldrsh r1, [r5, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _08095B16 - movs r1, 0xC - ldrsh r0, [r5, r1] - bl sub_803C0DC - lsls r0, 24 - cmp r0, 0 - beq _08095B16 - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, r4 - bgt _08095B16 - movs r1, 0xE - ldrsh r0, [r5, r1] - bl sub_808E770 - movs r2, 0xE - ldrsh r1, [r5, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _08095B16 - movs r1, 0xE - ldrsh r0, [r5, r1] - bl sub_803C0DC - lsls r0, 24 - cmp r0, 0 - beq _08095B16 - ldrb r0, [r5, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08095A9C - movs r2, 0xE - ldrsh r1, [r5, r2] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08095B16 -_08095A9C: - ldrb r0, [r5, 0x10] - bl sub_8092040 - lsls r0, 24 - cmp r0, 0 - bne _08095B16 - ldrb r0, [r5, 0x10] - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _08095B16 - ldrb r0, [r5, 0x10] - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - beq _08095B16 - ldrb r0, [r5, 0x1] - cmp r0, 0x3 - bne _08095AD4 - ldrb r0, [r5, 0x4] - ldrb r1, [r5, 0x10] - bl sub_8091E60 - lsls r0, 24 - cmp r0, 0 - beq _08095B16 -_08095AD4: - ldrb r0, [r5, 0x11] - cmp r0, 0x4 - beq _08095B16 - cmp r0, 0xA - beq _08095B16 - cmp r0, 0xA - bhi _08095B16 - ldrb r0, [r5, 0x12] - bl sub_8092040 - lsls r0, 24 - cmp r0, 0 - bne _08095B16 - ldrb r0, [r5, 0x13] - cmp r0, 0x39 - bhi _08095B16 - ldrb r0, [r5, 0x11] - cmp r0, 0x9 - bne _08095B20 - ldrb r0, [r5, 0x13] - bl sub_8092534 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08095B16 - ldrb r1, [r5, 0x1] - adds r0, r6, 0 - bl sub_803C1D0 - lsls r0, 24 - cmp r0, 0 - bne _08095B20 -_08095B16: - movs r0, 0 - b _08095B22 - .align 2, 0 -_08095B1C: .4byte 0x000001a7 -_08095B20: - movs r0, 0x1 -_08095B22: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80959DC - - thumb_func_start sub_8095B28 -sub_8095B28: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, _08095B44 - add sp, r4 - adds r4, r0, 0 - bl sub_8095CE0 - lsls r0, 24 - cmp r0, 0 - bne _08095B48 - movs r0, 0 - b _08095CCC - .align 2, 0 -_08095B44: .4byte 0xfffffcb0 -_08095B48: - movs r0, 0x5 - strb r0, [r4] - movs r0, 0x8 - bl RandomCapped - ldr r1, _08095BC8 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r4, 0x1] - cmp r0, 0x2 - bne _08095B6C - bl sub_8092178 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08095B6C - strb r0, [r4, 0x1] -_08095B6C: - movs r0, 0 - strb r0, [r4, 0x2] - bl Random - ldr r1, _08095BCC - ands r1, r0 - str r1, [r4, 0x8] - movs r7, 0 - movs r5, 0x1 - adds r0, r4, 0x4 - mov r8, r0 - movs r1, 0x12 - adds r1, r4 - mov r9, r1 - mov r6, sp -_08095B8A: - lsls r0, r5, 16 - asrs r0, 16 - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _08095B9E - strh r5, [r6] - adds r6, 0x2 - adds r7, 0x1 -_08095B9E: - adds r5, 0x1 - ldr r0, _08095BD0 - cmp r5, r0 - ble _08095B8A - cmp r7, 0 - beq _08095BD4 - adds r0, r7, 0 - bl RandomCapped - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0xC] - adds r0, r7, 0 - bl RandomCapped - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - b _08095BDC - .align 2, 0 -_08095BC8: .4byte gUnknown_8109984 -_08095BCC: .4byte 0x00ffffff -_08095BD0: .4byte 0x000001a7 -_08095BD4: - movs r0, 0x10 - strh r0, [r4, 0xC] - movs r0, 0x91 - lsls r0, 1 -_08095BDC: - strh r0, [r4, 0xE] - ldrb r0, [r4, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08095BEE - ldrh r0, [r4, 0xC] - strh r0, [r4, 0xE] -_08095BEE: - ldrb r0, [r4, 0x4] - bl sub_8095F28 - strb r0, [r4, 0x10] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08095C10 - strb r0, [r4, 0x1] - ldrh r0, [r4, 0xC] - strh r0, [r4, 0xE] - adds r2, r4, 0 - adds r2, 0x10 - mov r0, r8 - movs r1, 0 - bl sub_803C37C -_08095C10: - ldrb r0, [r4, 0x4] - bl GetMaxItemCount - adds r1, r0, 0 - cmp r1, 0 - bne _08095C28 - ldrb r0, [r4, 0x1] - cmp r0, 0x4 - bne _08095C28 - strb r1, [r4, 0x1] - ldrh r0, [r4, 0xC] - strh r0, [r4, 0xE] -_08095C28: - ldrb r1, [r4, 0x1] - mov r0, r8 - mov r2, r9 - bl sub_803C37C - ldrb r0, [r4, 0x10] - ldrb r1, [r4, 0x12] - cmp r0, r1 - beq _08095C28 - movs r0, 0 - strb r0, [r4, 0x13] - ldrb r0, [r4, 0x1] - cmp r0, 0x2 - beq _08095C90 - cmp r0, 0x2 - bgt _08095C4E - cmp r0, 0x1 - beq _08095C6C - b _08095CCA -_08095C4E: - cmp r0, 0x4 - bgt _08095CCA - bl Random - adds r1, r0, 0 - movs r0, 0xE0 - lsls r0, 3 - ands r1, r0 - movs r0, 0xC0 - lsls r0, 2 - cmp r1, r0 - beq _08095CC4 - cmp r1, r0 - bgt _08095CB4 - b _08095CAA -_08095C6C: - bl Random - adds r1, r0, 0 - movs r0, 0x70 - ands r1, r0 - cmp r1, 0x10 - beq _08095C80 - cmp r1, 0x30 - beq _08095C88 - b _08095CCA -_08095C80: - adds r0, r4, 0 - bl sub_803C3E0 - b _08095CCA -_08095C88: - adds r0, r4, 0 - bl sub_803C45C - b _08095CCA -_08095C90: - bl Random - movs r1, 0xC0 - lsls r1, 6 - ands r1, r0 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bne _08095CCA - adds r0, r4, 0 - bl sub_803C4F0 - b _08095CCA -_08095CAA: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - beq _08095CBC - b _08095CCA -_08095CB4: - movs r0, 0xC0 - lsls r0, 3 - cmp r1, r0 - bne _08095CCA -_08095CBC: - adds r0, r4, 0 - bl sub_803C580 - b _08095CCA -_08095CC4: - adds r0, r4, 0 - bl sub_803C610 -_08095CCA: - movs r0, 0x1 -_08095CCC: - movs r3, 0xD4 - lsls r3, 2 - add sp, r3 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8095B28 - - thumb_func_start sub_8095CE0 -sub_8095CE0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x60 - str r0, [sp, 0x44] - mov r0, sp - bl sub_80A29B0 - str r0, [sp, 0x4C] - cmp r0, 0 - bne _08095D0C - mov r0, sp - add r1, sp, 0x4C - ldrb r1, [r1] - strb r1, [r0] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r2, 0x2 - str r2, [sp, 0x4C] -_08095D0C: - ldr r0, [sp, 0x4C] - bl RandomCapped - mov r9, r0 - str r0, [sp, 0x48] - mov r1, sp - adds r1, 0x40 - str r1, [sp, 0x5C] -_08095D1C: - mov r0, sp - add r0, r9 - ldrb r7, [r0] - adds r0, r7, 0 - bl sub_8090298 - str r0, [sp, 0x58] - lsrs r0, 31 - ldr r2, [sp, 0x58] - adds r0, r2, r0 - asrs r0, 1 - str r0, [sp, 0x54] - adds r1, r2, 0 - bl RandomRange - adds r4, r0, 0 - str r4, [sp, 0x50] -_08095D3E: - movs r0, 0x1 - mov r8, r0 - ldr r1, _08095DF4 - ldr r0, [sp, 0x40] - ands r0, r1 - orrs r0, r7 - lsls r2, r4, 24 - lsrs r2, 16 - ldr r1, _08095DF8 - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x40] - ldr r0, [sp, 0x5C] - bl sub_809017C - lsls r0, 24 - cmp r0, 0 - beq _08095D66 - movs r1, 0 - mov r8, r1 -_08095D66: - ldr r2, _08095DFC - mov r10, r2 - movs r6, 0 - movs r5, 0x3 -_08095D6E: - mov r1, r10 - ldr r0, [r1] - adds r0, r6 - adds r1, r7, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_8095E38 - lsls r0, 24 - cmp r0, 0 - beq _08095D88 - movs r2, 0 - mov r8, r2 -_08095D88: - adds r6, 0x14 - subs r5, 0x1 - cmp r5, 0 - bge _08095D6E - ldr r0, _08095DFC - mov r10, r0 - movs r6, 0x50 - movs r5, 0x7 -_08095D98: - mov r1, r10 - ldr r0, [r1] - adds r0, r6 - adds r1, r7, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_8095E38 - lsls r0, 24 - cmp r0, 0 - beq _08095DB2 - movs r2, 0 - mov r8, r2 -_08095DB2: - adds r6, 0x14 - subs r5, 0x1 - cmp r5, 0 - bge _08095D98 - ldr r0, _08095DFC - mov r10, r0 - movs r6, 0xF0 - movs r5, 0x7 -_08095DC2: - mov r1, r10 - ldr r0, [r1] - adds r0, r6 - adds r1, r7, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_8095E38 - lsls r0, 24 - cmp r0, 0 - beq _08095DDC - movs r2, 0 - mov r8, r2 -_08095DDC: - adds r6, 0x14 - subs r5, 0x1 - cmp r5, 0 - bge _08095DC2 - mov r0, r8 - cmp r0, 0 - beq _08095E00 - ldr r1, [sp, 0x44] - strb r7, [r1, 0x4] - strb r4, [r1, 0x5] - movs r0, 0x1 - b _08095E28 - .align 2, 0 -_08095DF4: .4byte 0xffffff00 -_08095DF8: .4byte 0xffff00ff -_08095DFC: .4byte gUnknown_203B490 -_08095E00: - adds r4, 0x1 - ldr r2, [sp, 0x58] - cmp r4, r2 - blt _08095E0A - ldr r4, [sp, 0x54] -_08095E0A: - ldr r0, [sp, 0x50] - cmp r4, r0 - bne _08095D3E - movs r1, 0x1 - add r9, r1 - ldr r2, [sp, 0x4C] - cmp r9, r2 - bne _08095E1E - movs r0, 0 - mov r9, r0 -_08095E1E: - ldr r1, [sp, 0x48] - cmp r9, r1 - beq _08095E26 - b _08095D1C -_08095E26: - movs r0, 0 -_08095E28: - add sp, 0x60 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8095CE0 - - thumb_func_start sub_8095E38 -sub_8095E38: - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4] - cmp r0, 0 - beq _08095E6E - ldrb r0, [r4, 0x1] - cmp r0, 0x2 - bne _08095E5E - cmp r3, 0x1 - bne _08095E5E - ldrb r0, [r4, 0x4] - cmp r0, r1 - bne _08095E6E - movs r0, 0x1 - b _08095E70 -_08095E5E: - ldrb r0, [r4, 0x4] - cmp r0, r1 - bne _08095E6E - ldrb r0, [r4, 0x5] - cmp r0, r2 - bne _08095E6E - movs r0, 0x1 - b _08095E70 -_08095E6E: - movs r0, 0 -_08095E70: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8095E38 - - thumb_func_start sub_8095E78 -sub_8095E78: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x3C - movs r6, 0 - movs r5, 0x1 -_08095E84: - ldr r0, _08095F04 - ldr r0, [r0] - adds r0, r5 - ldrb r0, [r0] - adds r1, r5, 0x1 - mov r8, r1 - cmp r0, 0 - bne _08095EF6 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_8092534 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08095EF6 - movs r4, 0 - ldr r0, _08095F08 - ldr r1, [r0] - movs r3, 0x3 -_08095EAC: - ldrb r0, [r1] - cmp r0, 0 - beq _08095EBA - ldrb r0, [r1, 0x11] - cmp r0, 0x9 - bne _08095EBA - movs r4, 0x1 -_08095EBA: - adds r1, 0x14 - subs r3, 0x1 - cmp r3, 0 - bge _08095EAC - ldr r0, _08095F08 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0xF0 - adds r1, r0, 0 - movs r3, 0x7 -_08095ECE: - ldrb r0, [r2] - cmp r0, 0 - beq _08095EE0 - ldr r7, _08095F0C - adds r0, r1, r7 - ldrb r0, [r0] - cmp r0, 0x9 - bne _08095EE0 - movs r4, 0x1 -_08095EE0: - adds r2, 0x14 - adds r1, 0x14 - subs r3, 0x1 - cmp r3, 0 - bge _08095ECE - cmp r4, 0 - bne _08095EF6 - mov r1, sp - adds r0, r1, r6 - strb r5, [r0] - adds r6, 0x1 -_08095EF6: - mov r5, r8 - cmp r5, 0x39 - ble _08095E84 - cmp r6, 0 - bne _08095F10 - movs r0, 0 - b _08095F1A - .align 2, 0 -_08095F04: .4byte gUnknown_203B468 -_08095F08: .4byte gUnknown_203B490 -_08095F0C: .4byte 0x00000101 -_08095F10: - adds r0, r6, 0 - bl RandomCapped - add r0, sp - ldrb r0, [r0] -_08095F1A: - add sp, 0x3C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8095E78 - - thumb_func_start sub_8095F28 -sub_8095F28: - push {r4-r7,lr} - sub sp, 0xF0 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - movs r5, 0x1 -_08095F34: - lsls r4, r5, 24 - cmp r7, 0x63 - beq _08095F48 - lsrs r1, r4, 24 - adds r0, r7, 0 - bl sub_8091E60 - lsls r0, 24 - cmp r0, 0 - beq _08095F6A -_08095F48: - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - bne _08095F6A - adds r0, r4, 0 - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - beq _08095F6A - mov r1, sp - adds r0, r1, r6 - strb r5, [r0] - adds r6, 0x1 -_08095F6A: - adds r5, 0x1 - cmp r5, 0xEF - ble _08095F34 - cmp r6, 0 - beq _08095F80 - adds r0, r6, 0 - bl RandomCapped - add r0, sp - ldrb r0, [r0] - b _08095F82 -_08095F80: - movs r0, 0 -_08095F82: - add sp, 0xF0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8095F28 - - thumb_func_start sub_8095F8C -sub_8095F8C: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_08095F92: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096000 - lsls r0, 24 - cmp r0, 0 - bne _08095FA2 - adds r5, 0x1 -_08095FA2: - adds r4, 0x1 - cmp r4, 0x3 - ble _08095F92 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8095F8C - - thumb_func_start sub_8095FB0 -sub_8095FB0: - push {r4,r5,lr} - adds r4, r0, 0 - movs r3, 0 - ldr r5, _08095FD4 - movs r2, 0 -_08095FBA: - ldr r0, [r5] - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _08095FD8 - adds r0, r4, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - movs r0, 0 - b _08095FE2 - .align 2, 0 -_08095FD4: .4byte gUnknown_203B490 -_08095FD8: - adds r2, 0x14 - adds r3, 0x1 - cmp r3, 0x3 - ble _08095FBA - movs r0, 0x1 -_08095FE2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8095FB0 - - thumb_func_start sub_8095FE8 -sub_8095FE8: - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08095FFC - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_08095FFC: .4byte gUnknown_203B490 - thumb_func_end sub_8095FE8 - - thumb_func_start sub_8096000 -sub_8096000: - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809601C - ldr r2, [r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - ldrb r0, [r2] - cmp r0, 0 - beq _08096020 - movs r0, 0 - b _08096022 - .align 2, 0 -_0809601C: .4byte gUnknown_203B490 -_08096020: - movs r0, 0x1 -_08096022: - pop {r1} - bx r1 - thumb_func_end sub_8096000 - - thumb_func_start sub_8096028 -sub_8096028: - push {r4,lr} - movs r4, 0 -_0809602C: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096040 - adds r4, 0x1 - cmp r4, 0x3 - ble _0809602C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8096028 - - thumb_func_start sub_8096040 -sub_8096040: - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08096074 - ldr r1, [r3] - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - movs r4, 0 - strb r4, [r1] - ldr r0, [r3] - adds r0, r2 - movs r1, 0x63 - strb r1, [r0, 0x4] - ldr r0, [r3] - adds r0, r2 - strb r4, [r0, 0x5] - ldr r0, [r3] - adds r0, r2 - movs r1, 0x5 - strb r1, [r0, 0x11] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096074: .4byte gUnknown_203B490 - thumb_func_end sub_8096040 - - thumb_func_start sub_8096078 -sub_8096078: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 - movs r3, 0 - ldr r0, _08096090 - mov r12, r0 - mov r8, r3 - movs r4, 0 - mov r9, r4 - b _080960B6 - .align 2, 0 -_08096090: .4byte gUnknown_203B490 -_08096094: - cmp r2, r3 - ble _080960AA - mov r1, r12 - ldr r0, [r1] - mov r5, r8 - adds r1, r0, r5 - adds r0, r4 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r6,r7} - stm r1!, {r6,r7} -_080960AA: - adds r4, 0x14 - movs r0, 0x14 - add r9, r0 - adds r2, 0x1 - add r8, r0 - adds r3, 0x1 -_080960B6: - cmp r2, 0x3 - bgt _080960E2 - mov r1, r12 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _080960E2 - ldr r6, _08096110 - mov r1, r9 -_080960CA: - adds r1, 0x14 - adds r4, 0x14 - movs r5, 0x14 - add r9, r5 - adds r2, 0x1 - cmp r2, 0x3 - bgt _080960E2 - ldr r0, [r6] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080960CA -_080960E2: - cmp r2, 0x4 - bne _08096094 - cmp r3, 0x3 - bgt _08096102 - ldr r4, _08096110 - movs r2, 0 - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 2 -_080960F4: - ldr r0, [r4] - adds r0, r1 - strb r2, [r0] - adds r1, 0x14 - adds r3, 0x1 - cmp r3, 0x3 - ble _080960F4 -_08096102: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096110: .4byte gUnknown_203B490 - thumb_func_end sub_8096078 - - thumb_func_start sub_8096114 -sub_8096114: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r1, 0 -_08096122: - adds r0, r1, 0x1 - mov r10, r0 - mov r8, r10 - cmp r0, 0x3 - bgt _08096198 - ldr r2, _080961B0 - mov r9, r2 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - mov r12, r0 - mov r3, r10 - lsls r0, r3, 2 - add r0, r10 - lsls r4, r0, 2 -_08096140: - mov r5, r9 - ldr r1, [r5] - adds r3, r1, r4 - ldrb r0, [r3] - cmp r0, 0 - beq _0809618C - mov r6, r12 - adds r2, r1, r6 - ldrb r1, [r2, 0x4] - ldrb r0, [r3, 0x4] - cmp r1, r0 - bhi _08096164 - cmp r1, r0 - bne _0809618C - ldrb r0, [r2, 0x5] - ldrb r7, [r3, 0x5] - cmp r0, r7 - bls _0809618C -_08096164: - mov r1, sp - adds r0, r2, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5,r6} - stm r1!, {r5,r6} - adds r1, r2, 0 - adds r0, r3, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r5,r6} - stm r1!, {r5,r6} - mov r7, r9 - ldr r1, [r7] - adds r1, r4 - mov r0, sp - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r6,r7} - stm r1!, {r6,r7} -_0809618C: - adds r4, 0x14 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x3 - ble _08096140 -_08096198: - mov r1, r10 - cmp r1, 0x2 - ble _08096122 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080961B0: .4byte gUnknown_203B490 - thumb_func_end sub_8096114 - - thumb_func_start sub_80961B4 -sub_80961B4: - push {lr} - bl sub_8096E2C - lsls r0, 24 - cmp r0, 0 - beq _080961CE - ldr r0, _080961D4 - ldr r0, [r0] - movs r1, 0xCA - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_080961CE: - pop {r0} - bx r0 - .align 2, 0 -_080961D4: .4byte gUnknown_203B490 - thumb_func_end sub_80961B4 - - thumb_func_start sub_80961D8 -sub_80961D8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - bl sub_8095F8C - adds r6, r0, 0 - movs r1, 0x4 - bl RandomRange - mov r8, r0 - cmp r6, 0x3 - bgt _08096202 - ldr r4, _08096208 - ldr r0, [r4] - movs r2, 0xCA - lsls r2, 2 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _0809620C -_08096202: - movs r0, 0 - b _080963A8 - .align 2, 0 -_08096208: .4byte gUnknown_203B490 -_0809620C: - strb r7, [r1] - movs r5, 0x38 - movs r0, 0xA - movs r1, 0x31 - movs r2, 0x1 - bl sub_8001D08 - lsls r0, 24 - cmp r0, 0 - beq _0809623A - ldr r0, [r4] - ldr r1, _08096328 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0809623A - movs r0, 0x35 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _0809623A - movs r5, 0x35 -_0809623A: - movs r0, 0xF - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0809629C - ldr r0, _0809632C - ldr r0, [r0] - movs r2, 0xC9 - lsls r2, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08096264 - movs r0, 0x34 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _08096264 - movs r5, 0x34 -_08096264: - ldr r0, _0809632C - ldr r0, [r0] - ldr r1, _08096330 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08096280 - movs r0, 0x33 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _08096280 - movs r5, 0x33 -_08096280: - ldr r0, _0809632C - ldr r0, [r0] - ldr r2, _08096334 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0809629C - movs r0, 0x32 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _0809629C - movs r5, 0x32 -_0809629C: - bl sub_8092178 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080962C4 - ldr r0, _0809632C - ldr r0, [r0] - ldr r1, _08096338 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080962C4 - movs r0, 0x36 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _080962C4 - movs r5, 0x36 -_080962C4: - movs r0, 0x6 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080962EC - ldr r0, _0809632C - ldr r0, [r0] - ldr r2, _0809633C - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080962EC - movs r0, 0x37 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _080962EC - movs r5, 0x37 -_080962EC: - cmp r5, 0x38 - bne _08096310 - cmp r6, r8 - bgt _08096392 - bl sub_8096E2C - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0xE - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - bne _0809630C - cmp r5, 0x2 - bhi _0809638E -_0809630C: - cmp r5, 0x31 - bhi _0809638E -_08096310: - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_8095FE8 - adds r4, r0, 0 - movs r0, 0x1 - strb r0, [r4] - movs r0, 0x62 - strb r0, [r4, 0x4] - strb r5, [r4, 0x5] - b _0809638A - .align 2, 0 -_08096328: .4byte 0x00000325 -_0809632C: .4byte gUnknown_203B490 -_08096330: .4byte 0x00000323 -_08096334: .4byte 0x00000322 -_08096338: .4byte 0x00000326 -_0809633C: .4byte 0x00000327 -_08096340: - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_8095FE8 - adds r4, r0, 0 - bl sub_8095B28 - lsls r0, 24 - cmp r0, 0 - beq _08096392 - bl sub_8095E78 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0x4 - ldrb r1, [r4, 0x1] - bl sub_803C1D0 - lsls r0, 24 - cmp r0, 0 - bne _0809636C - movs r5, 0 -_0809636C: - movs r0, 0x5 - movs r1, 0xA - bl RandomRange - strb r0, [r4, 0x11] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bne _0809638A - cmp r5, 0 - bne _08096388 - movs r0, 0x5 - strb r0, [r4, 0x11] - b _0809638A -_08096388: - strb r5, [r4, 0x13] -_0809638A: - movs r7, 0x1 - adds r6, 0x1 -_0809638E: - cmp r6, r8 - ble _08096340 -_08096392: - bl sub_80963B4 - lsls r0, 24 - cmp r0, 0 - beq _0809639E - movs r7, 0x1 -_0809639E: - bl sub_8096078 - bl sub_8096114 - adds r0, r7, 0 -_080963A8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80961D8 - - thumb_func_start sub_80963B4 -sub_80963B4: - push {r4-r6,lr} - movs r6, 0 - bl sub_8096E2C - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8095F8C - adds r4, r0, 0 - cmp r4, 0x3 - ble _080963CE - movs r0, 0 - b _080963F4 -_080963CE: - movs r0, 0xE - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080963F2 - cmp r5, 0x31 - bhi _080963F2 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8095FE8 - movs r1, 0x1 - strb r1, [r0] - movs r1, 0x62 - strb r1, [r0, 0x4] - strb r5, [r0, 0x5] - movs r6, 0x1 -_080963F2: - adds r0, r6, 0 -_080963F4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80963B4 - - thumb_func_start sub_80963FC -sub_80963FC: - push {r4-r6,lr} - movs r6, 0 -_08096400: - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8095FE8 - adds r5, r0, 0 - ldrb r0, [r5] - cmp r0, 0x1 - beq _08096418 - adds r0, r4, 0 - bl sub_8096040 -_08096418: - adds r6, 0x1 - cmp r6, 0x3 - ble _08096400 - bl sub_8096078 - bl sub_8095F8C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095FE8 - adds r5, r0, 0 - movs r0, 0 - movs r4, 0x5 - strb r4, [r5] - strb r0, [r5, 0x1] - strb r0, [r5, 0x2] - movs r0, 0x2 - strb r0, [r5, 0x4] - movs r0, 0x3 - strb r0, [r5, 0x5] - bl Random - ldr r1, _08096484 - ands r1, r0 - str r1, [r5, 0x8] - movs r0, 0x10 - strh r0, [r5, 0xC] - strh r0, [r5, 0xE] - ldrb r0, [r5, 0x4] - bl sub_8095F28 - strb r0, [r5, 0x10] - strb r4, [r5, 0x11] -_0809645C: - ldrb r1, [r5, 0x1] - adds r0, r5, 0x4 - adds r2, r5, 0 - adds r2, 0x12 - bl sub_803C37C - ldrb r0, [r5, 0x10] - ldrb r1, [r5, 0x12] - cmp r0, r1 - beq _0809645C - movs r0, 0 - strb r0, [r5, 0x13] - bl sub_8096078 - bl sub_8096114 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08096484: .4byte 0x00ffffff - thumb_func_end sub_80963FC - - thumb_func_start sub_8096488 -sub_8096488: - push {r4,lr} - movs r4, 0 -_0809648C: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096040 - adds r4, 0x1 - cmp r4, 0x3 - ble _0809648C - movs r0, 0 - bl sub_8095FE8 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - movs r1, 0x62 - strb r1, [r0, 0x4] - strb r2, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8096488 - - thumb_func_start sub_80964B4 -sub_80964B4: - push {lr} - ldr r0, _080964D4 - ldr r0, [r0] - ldr r1, _080964D8 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080964DC - movs r0, 0x35 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _080964DC - movs r0, 0 - b _080964DE - .align 2, 0 -_080964D4: .4byte gUnknown_203B490 -_080964D8: .4byte 0x00000325 -_080964DC: - movs r0, 0x1 -_080964DE: - pop {r1} - bx r1 - thumb_func_end sub_80964B4 - - thumb_func_start sub_80964E4 -sub_80964E4: - push {lr} - ldr r0, _08096504 - ldr r0, [r0] - ldr r1, _08096508 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0809650C - movs r0, 0x36 - bl sub_8096E80 - lsls r0, 24 - cmp r0, 0 - bne _0809650C - movs r0, 0 - b _0809650E - .align 2, 0 -_08096504: .4byte gUnknown_203B490 -_08096508: .4byte 0x00000326 -_0809650C: - movs r0, 0x1 -_0809650E: - pop {r1} - bx r1 - thumb_func_end sub_80964E4 - - thumb_func_start sub_8096514 -sub_8096514: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0809651A: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_809658C - lsls r0, 24 - cmp r0, 0 - bne _0809652A - adds r5, 0x1 -_0809652A: - adds r4, 0x1 - cmp r4, 0x7 - ble _0809651A - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8096514 - - thumb_func_start sub_8096538 -sub_8096538: - push {r4,r5,lr} - adds r4, r0, 0 - movs r3, 0 - ldr r5, _08096560 - movs r2, 0 -_08096542: - ldr r0, [r5] - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x50 - ldrb r0, [r1] - cmp r0, 0 - bne _08096564 - adds r0, r4, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - movs r0, 0 - b _0809656E - .align 2, 0 -_08096560: .4byte gUnknown_203B490 -_08096564: - adds r2, 0x14 - adds r3, 0x1 - cmp r3, 0x7 - ble _08096542 - movs r0, 0x1 -_0809656E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8096538 - - thumb_func_start sub_8096574 -sub_8096574: - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08096588 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, 0x50 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_08096588: .4byte gUnknown_203B490 - thumb_func_end sub_8096574 - - thumb_func_start sub_809658C -sub_809658C: - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080965AC - ldr r2, [r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - adds r2, 0x50 - ldrb r0, [r2] - cmp r0, 0 - beq _080965B0 - movs r0, 0 - b _080965B2 - .align 2, 0 -_080965AC: .4byte gUnknown_203B490 -_080965B0: - movs r0, 0x1 -_080965B2: - pop {r1} - bx r1 - thumb_func_end sub_809658C - - thumb_func_start sub_80965B8 -sub_80965B8: - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080965F0 - ldr r1, [r4] - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - adds r1, 0x50 - movs r3, 0 - strb r3, [r1] - ldr r0, [r4] - adds r0, r2 - adds r0, 0x54 - movs r1, 0x63 - strb r1, [r0] - ldr r0, [r4] - adds r0, r2 - adds r0, 0x55 - strb r3, [r0] - ldr r0, [r4] - adds r0, r2 - adds r0, 0x61 - strb r3, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080965F0: .4byte gUnknown_203B490 - thumb_func_end sub_80965B8 - - thumb_func_start sub_80965F4 -sub_80965F4: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 - movs r3, 0 - ldr r0, _0809660C - mov r12, r0 - mov r8, r3 - movs r4, 0 - mov r9, r4 - b _08096636 - .align 2, 0 -_0809660C: .4byte gUnknown_203B490 -_08096610: - cmp r2, r3 - ble _0809662A - mov r1, r12 - ldr r0, [r1] - mov r5, r8 - adds r1, r0, r5 - adds r0, r4 - adds r1, 0x50 - adds r0, 0x50 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r6,r7} - stm r1!, {r6,r7} -_0809662A: - adds r4, 0x14 - movs r0, 0x14 - add r9, r0 - adds r2, 0x1 - add r8, r0 - adds r3, 0x1 -_08096636: - cmp r2, 0x7 - bgt _08096666 - mov r1, r12 - ldr r0, [r1] - adds r0, r4 - adds r0, 0x50 - ldrb r0, [r0] - cmp r0, 0 - bne _08096666 - ldr r6, _08096694 - mov r1, r9 -_0809664C: - adds r1, 0x14 - adds r4, 0x14 - movs r5, 0x14 - add r9, r5 - adds r2, 0x1 - cmp r2, 0x7 - bgt _08096666 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x50 - ldrb r0, [r0] - cmp r0, 0 - beq _0809664C -_08096666: - cmp r2, 0x8 - bne _08096610 - cmp r3, 0x7 - bgt _08096688 - ldr r4, _08096694 - movs r2, 0 - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 2 -_08096678: - ldr r0, [r4] - adds r0, r1 - adds r0, 0x50 - strb r2, [r0] - adds r1, 0x14 - adds r3, 0x1 - cmp r3, 0x7 - ble _08096678 -_08096688: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096694: .4byte gUnknown_203B490 - thumb_func_end sub_80965F4 - - thumb_func_start sub_8096698 -sub_8096698: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r1, 0 -_080966A6: - adds r6, r1, 0x1 - mov r10, r6 - cmp r6, 0x7 - bgt _08096730 - ldr r0, _08096748 - mov r8, r0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - mov r9, r0 - lsls r0, r6, 2 - adds r0, r6 - lsls r4, r0, 2 -_080966C0: - mov r2, r8 - ldr r1, [r2] - adds r3, r1, r4 - adds r5, r3, 0 - adds r5, 0x50 - ldrb r0, [r5] - cmp r0, 0 - beq _08096724 - add r1, r9 - mov r12, r1 - mov r0, r12 - adds r0, 0x54 - adds r1, r3, 0 - adds r1, 0x54 - ldrb r2, [r0] - ldrb r0, [r1] - cmp r2, r0 - bhi _080966F6 - cmp r2, r0 - bne _08096724 - mov r0, r12 - adds r0, 0x55 - adds r1, 0x1 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _08096724 -_080966F6: - mov r1, sp - mov r0, r12 - adds r0, 0x50 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r3,r7} - stm r1!, {r3,r7} - mov r1, r12 - adds r1, 0x50 - adds r0, r5, 0 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r7} - stm r1!, {r2,r7} - mov r3, r8 - ldr r1, [r3] - adds r1, r4 - adds r1, 0x50 - mov r0, sp - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - ldm r0!, {r3,r5} - stm r1!, {r3,r5} -_08096724: - adds r4, 0x14 - movs r7, 0x1 - add r10, r7 - mov r0, r10 - cmp r0, 0x7 - ble _080966C0 -_08096730: - adds r1, r6, 0 - cmp r1, 0x6 - ble _080966A6 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096748: .4byte gUnknown_203B490 - thumb_func_end sub_8096698 - - thumb_func_start sub_809674C -sub_809674C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x4 - movs r1, 0x8 - bl RandomRange - mov r8, r0 - ldr r3, _08096864 - movs r2, 0 - movs r1, 0 - movs r7, 0x7 -_08096764: - ldr r0, [r3] - adds r0, r1 - adds r0, 0x50 - strb r2, [r0] - adds r1, 0x14 - subs r7, 0x1 - cmp r7, 0 - bge _08096764 - movs r7, 0 - movs r0, 0xE - bl sub_8097318 - lsls r0, 24 - cmp r0, 0 - beq _080967C0 - movs r0, 0 - bl sub_8096574 - adds r5, r0, 0 - movs r4, 0x2 - strb r4, [r5] - movs r0, 0x6 - strb r0, [r5, 0x1] - movs r0, 0x1 - strb r0, [r5, 0x2] - movs r0, 0x2A - strb r0, [r5, 0x4] - movs r0, 0xA - strb r0, [r5, 0x5] - bl Random - ldr r1, _08096868 - ands r1, r0 - str r1, [r5, 0x8] - movs r1, 0 - movs r0, 0xC2 - lsls r0, 1 - strh r0, [r5, 0xC] - movs r0, 0x38 - strh r0, [r5, 0xE] - strb r1, [r5, 0x10] - strb r4, [r5, 0x11] - movs r0, 0x3A - strb r0, [r5, 0x12] - strb r1, [r5, 0x13] - movs r7, 0x1 -_080967C0: - movs r0, 0xF - bl sub_8097318 - lsls r0, 24 - cmp r0, 0 - beq _0809680A - lsls r0, r7, 24 - lsrs r0, 24 - bl sub_8096574 - adds r5, r0, 0 - movs r0, 0x3 - strb r0, [r5] - movs r0, 0x6 - strb r0, [r5, 0x1] - movs r4, 0x2 - strb r4, [r5, 0x2] - movs r0, 0x35 - strb r0, [r5, 0x4] - movs r0, 0xF - strb r0, [r5, 0x5] - bl Random - ldr r1, _08096868 - ands r1, r0 - str r1, [r5, 0x8] - movs r1, 0 - movs r0, 0x82 - lsls r0, 1 - strh r0, [r5, 0xC] - strh r0, [r5, 0xE] - strb r1, [r5, 0x10] - strb r4, [r5, 0x11] - movs r0, 0x3A - strb r0, [r5, 0x12] - strb r1, [r5, 0x13] - adds r7, 0x1 -_0809680A: - movs r0, 0x1C - bl sub_8097318 - lsls r0, 24 - cmp r0, 0 - beq _08096854 - lsls r0, r7, 24 - lsrs r0, 24 - bl sub_8096574 - adds r5, r0, 0 - movs r0, 0x4 - strb r0, [r5] - movs r0, 0x6 - strb r0, [r5, 0x1] - movs r0, 0x3 - strb r0, [r5, 0x2] - movs r0, 0x1A - strb r0, [r5, 0x4] - movs r0, 0x14 - strb r0, [r5, 0x5] - bl Random - ldr r1, _08096868 - ands r1, r0 - str r1, [r5, 0x8] - movs r1, 0 - ldr r0, _0809686C - strh r0, [r5, 0xC] - strh r0, [r5, 0xE] - strb r1, [r5, 0x10] - movs r0, 0x2 - strb r0, [r5, 0x11] - movs r0, 0x3A - strb r0, [r5, 0x12] - strb r1, [r5, 0x13] - adds r7, 0x1 -_08096854: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 2 - adds r5, r0, 0 - adds r5, 0x50 - adds r4, r0, 0 - b _08096886 - .align 2, 0 -_08096864: .4byte gUnknown_203B490 -_08096868: .4byte 0x00ffffff -_0809686C: .4byte 0x0000014d -_08096870: - movs r0, 0 - movs r1, 0x4 - bl RandomRange - ldr r1, [r6] - adds r1, r4 - adds r1, 0x61 - strb r0, [r1] - adds r5, 0x14 - adds r4, 0x14 - adds r7, 0x1 -_08096886: - cmp r7, r8 - bgt _0809689A - ldr r6, _080968AC - ldr r0, [r6] - adds r0, r5 - bl sub_8095B28 - lsls r0, 24 - cmp r0, 0 - bne _08096870 -_0809689A: - bl sub_80965F4 - bl sub_8096698 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080968AC: .4byte gUnknown_203B490 - thumb_func_end sub_809674C - - thumb_func_start sub_80968B0 -sub_80968B0: - push {r4,r5,lr} - adds r3, r0, 0 - movs r4, 0 - ldr r0, _08096928 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0xF0 -_080968BE: - ldrb r0, [r2] - cmp r0, 0 - beq _0809692C - ldrb r0, [r3, 0x1] - ldrb r1, [r2, 0x1] - cmp r0, r1 - bne _0809692C - ldrb r0, [r3, 0x2] - ldrb r5, [r2, 0x2] - cmp r0, r5 - bne _0809692C - ldrb r0, [r3, 0x4] - ldrb r1, [r2, 0x4] - cmp r0, r1 - bne _0809692C - ldrb r0, [r3, 0x5] - ldrb r5, [r2, 0x5] - cmp r0, r5 - bne _0809692C - ldr r1, [r3, 0x8] - ldr r0, [r2, 0x8] - cmp r1, r0 - bne _0809692C - movs r0, 0xC - ldrsh r1, [r3, r0] - movs r5, 0xC - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _0809692C - movs r0, 0xE - ldrsh r1, [r3, r0] - movs r5, 0xE - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _0809692C - ldrb r0, [r3, 0x10] - ldrb r1, [r2, 0x10] - cmp r0, r1 - bne _0809692C - ldrb r0, [r3, 0x11] - ldrb r5, [r2, 0x11] - cmp r0, r5 - bne _0809692C - ldrb r0, [r3, 0x12] - ldrb r1, [r2, 0x12] - cmp r0, r1 - bne _0809692C - ldrb r0, [r3, 0x13] - ldrb r5, [r2, 0x13] - cmp r0, r5 - bne _0809692C - movs r0, 0x1 - b _08096936 - .align 2, 0 -_08096928: .4byte gUnknown_203B490 -_0809692C: - adds r2, 0x14 - adds r4, 0x1 - cmp r4, 0x7 - ble _080968BE - movs r0, 0 -_08096936: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80968B0 - - thumb_func_start sub_809693C -sub_809693C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - ldrb r0, [r4, 0x4] - mov r9, r0 - ldrb r0, [r4, 0x5] - mov r8, r0 - movs r7, 0 - adds r0, r4, 0 - bl sub_80959C0 - lsls r0, 24 - cmp r0, 0 - bne _08096962 - b _0809699A -_0809695E: - movs r0, 0x1 - b _0809699C -_08096962: - ldrb r0, [r4, 0x1] - cmp r0, 0x2 - bne _0809696A - movs r7, 0x1 -_0809696A: - movs r6, 0 - movs r5, 0xF0 - movs r4, 0 -_08096970: - ldr r0, _080969A8 - ldr r1, [r0] - adds r0, r1, r4 - adds r0, 0xF0 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08096990 - adds r0, r1, r5 - mov r1, r9 - mov r2, r8 - adds r3, r7, 0 - bl sub_8095E38 - lsls r0, 24 - cmp r0, 0 - bne _0809695E -_08096990: - adds r5, 0x14 - adds r4, 0x14 - adds r6, 0x1 - cmp r6, 0x7 - ble _08096970 -_0809699A: - movs r0, 0 -_0809699C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080969A8: .4byte gUnknown_203B490 - thumb_func_end sub_809693C - - thumb_func_start sub_80969AC -sub_80969AC: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_080969B2: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096ACC - lsls r0, 24 - cmp r0, 0 - bne _080969C2 - adds r5, 0x1 -_080969C2: - adds r4, 0x1 - cmp r4, 0x7 - ble _080969B2 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80969AC - - thumb_func_start sub_80969D0 -sub_80969D0: - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r4, 0 -_080969DA: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096AB4 - adds r1, r0, 0 - ldrb r0, [r1, 0x4] - cmp r0, r6 - bne _080969FA - ldrb r0, [r1] - cmp r0, 0x6 - beq _080969F8 - cmp r0, 0x8 - beq _080969F8 - cmp r0, 0x9 - bne _080969FA -_080969F8: - adds r5, 0x1 -_080969FA: - adds r4, 0x1 - cmp r4, 0x7 - ble _080969DA - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80969D0 - - thumb_func_start sub_8096A08 -sub_8096A08: - push {r4-r6,lr} - sub sp, 0xC - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_08096A14: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096AB4 - adds r2, r0, 0 - ldrb r0, [r2, 0x4] - cmp r0, r5 - bne _08096A68 - ldrb r0, [r2] - cmp r0, 0x6 - bne _08096A68 - ldrb r0, [r2, 0x1] - cmp r0, 0x2 - bne _08096A68 - ldr r1, _08096A60 - ldr r0, [sp, 0x8] - ands r0, r1 - movs r1, 0x4A - orrs r0, r1 - ldr r1, _08096A64 - ands r0, r1 - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - str r0, [sp, 0x8] - movs r0, 0xC - ldrsh r1, [r2, r0] - add r0, sp, 0x8 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r2, 0 - movs r3, 0 - bl sub_808CFD0 - movs r0, 0x1 - b _08096A70 - .align 2, 0 -_08096A60: .4byte 0xffffff00 -_08096A64: .4byte 0xffff00ff -_08096A68: - adds r4, 0x1 - cmp r4, 0x7 - ble _08096A14 - movs r0, 0 -_08096A70: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8096A08 - - thumb_func_start sub_8096A78 -sub_8096A78: - push {r4,r5,lr} - adds r4, r0, 0 - movs r3, 0 - ldr r5, _08096AA0 - movs r2, 0 -_08096A82: - ldr r0, [r5] - adds r0, r2 - adds r1, r0, 0 - adds r1, 0xF0 - ldrb r0, [r1] - cmp r0, 0 - bne _08096AA4 - adds r0, r4, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - movs r0, 0 - b _08096AAE - .align 2, 0 -_08096AA0: .4byte gUnknown_203B490 -_08096AA4: - adds r2, 0x14 - adds r3, 0x1 - cmp r3, 0x7 - ble _08096A82 - movs r0, 0x1 -_08096AAE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8096A78 - - thumb_func_start sub_8096AB4 -sub_8096AB4: - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08096AC8 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, 0xF0 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_08096AC8: .4byte gUnknown_203B490 - thumb_func_end sub_8096AB4 - - thumb_func_start sub_8096ACC -sub_8096ACC: - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08096AEC - ldr r2, [r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - adds r2, 0xF0 - ldrb r0, [r2] - cmp r0, 0 - beq _08096AF0 - movs r0, 0 - b _08096AF2 - .align 2, 0 -_08096AEC: .4byte gUnknown_203B490 -_08096AF0: - movs r0, 0x1 -_08096AF2: - pop {r1} - bx r1 - thumb_func_end sub_8096ACC - - thumb_func_start sub_8096AF8 -sub_8096AF8: - push {r4-r6,lr} - adds r5, r0, 0 - adds r0, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_8096AB4 - adds r3, r0, 0 - movs r1, 0 - strb r1, [r5] - ldrh r0, [r3, 0xC] - strh r0, [r5, 0x2] - strh r1, [r5, 0x4] - ldrb r0, [r3, 0x4] - cmp r0, r4 - bne _08096B92 - ldrb r0, [r3, 0x1] - cmp r0, 0x4 - bhi _08096B92 - lsls r0, 2 - ldr r1, _08096B30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08096B30: .4byte _08096B34 - .align 2, 0 -_08096B34: - .4byte _08096B78 - .4byte _08096B84 - .4byte _08096B84 - .4byte _08096B48 - .4byte _08096B78 -_08096B48: - ldrb r0, [r3] - cmp r0, 0x6 - bne _08096B92 - ldr r0, _08096B74 - movs r6, 0x1 - ldr r2, [r0] - movs r4, 0x13 -_08096B56: - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08096B6A - ldrb r0, [r2, 0x2] - ldrb r1, [r3, 0x10] - cmp r0, r1 - bne _08096B6A - strb r6, [r5] -_08096B6A: - adds r2, 0x4 - subs r4, 0x1 - cmp r4, 0 - bge _08096B56 - b _08096B92 - .align 2, 0 -_08096B74: .4byte gUnknown_203B460 -_08096B78: - ldrb r0, [r3] - cmp r0, 0x9 - bne _08096B92 - movs r0, 0x1 - strb r0, [r5] - b _08096B92 -_08096B84: - ldrb r0, [r3] - cmp r0, 0x9 - bne _08096B92 - movs r0, 0x1 - strb r0, [r5] - ldrh r0, [r3, 0xE] - strh r0, [r5, 0x4] -_08096B92: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8096AF8 - - thumb_func_start sub_8096B98 -sub_8096B98: - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_08096BA0: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096AB4 - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0x6 - bne _08096BC2 - ldrb r0, [r1, 0x1] - cmp r0, 0x2 - bne _08096BC2 - ldrb r0, [r1, 0x4] - cmp r0, r5 - bne _08096BC2 - movs r2, 0xE - ldrsh r0, [r1, r2] - b _08096BCA -_08096BC2: - adds r4, 0x1 - cmp r4, 0x7 - ble _08096BA0 - movs r0, 0 -_08096BCA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8096B98 - - thumb_func_start sub_8096BD0 -sub_8096BD0: - push {r4,r5,lr} - ldr r0, _08096C04 - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0xF0 - movs r4, 0 -_08096BDC: - ldrb r0, [r5] - cmp r0, 0x9 - bgt _08096BEE - cmp r0, 0x7 - blt _08096BEE - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096C3C -_08096BEE: - adds r5, 0x14 - adds r4, 0x1 - cmp r4, 0x7 - ble _08096BDC - bl sub_8096C80 - bl sub_8096D24 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08096C04: .4byte gUnknown_203B490 - thumb_func_end sub_8096BD0 - - thumb_func_start sub_8096C08 -sub_8096C08: - push {lr} - adds r3, r0, 0 - ldr r0, _08096C28 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - movs r2, 0 -_08096C16: - ldrb r0, [r1] - cmp r0, 0x4 - bls _08096C2C - ldrb r0, [r1, 0x2] - cmp r0, 0x4 - bne _08096C2C - strb r2, [r3] - movs r0, 0x1 - b _08096C36 - .align 2, 0 -_08096C28: .4byte gUnknown_203B490 -_08096C2C: - adds r1, 0x14 - adds r2, 0x1 - cmp r2, 0x7 - ble _08096C16 - movs r0, 0 -_08096C36: - pop {r1} - bx r1 - thumb_func_end sub_8096C08 - - thumb_func_start sub_8096C3C -sub_8096C3C: - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08096C78 - ldr r1, [r3] - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - adds r1, 0xF0 - movs r4, 0 - strb r4, [r1] - ldr r0, [r3] - adds r0, r2 - adds r0, 0xF4 - movs r1, 0x63 - strb r1, [r0] - ldr r0, [r3] - adds r0, r2 - adds r0, 0xF5 - strb r4, [r0] - ldr r0, [r3] - adds r0, r2 - ldr r2, _08096C7C - adds r1, r0, r2 - movs r0, 0x5 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096C78: .4byte gUnknown_203B490 -_08096C7C: .4byte 0x00000101 - thumb_func_end sub_8096C3C - - thumb_func_start sub_8096C80 -sub_8096C80: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 - movs r3, 0 - ldr r0, _08096C98 - mov r12, r0 - mov r8, r3 - movs r4, 0 - mov r9, r4 - b _08096CC2 - .align 2, 0 -_08096C98: .4byte gUnknown_203B490 -_08096C9C: - cmp r2, r3 - ble _08096CB6 - mov r1, r12 - ldr r0, [r1] - mov r5, r8 - adds r1, r0, r5 - adds r0, r4 - adds r1, 0xF0 - adds r0, 0xF0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r6,r7} - stm r1!, {r6,r7} -_08096CB6: - adds r4, 0x14 - movs r0, 0x14 - add r9, r0 - adds r2, 0x1 - add r8, r0 - adds r3, 0x1 -_08096CC2: - cmp r2, 0x7 - bgt _08096CF2 - mov r1, r12 - ldr r0, [r1] - adds r0, r4 - adds r0, 0xF0 - ldrb r0, [r0] - cmp r0, 0 - bne _08096CF2 - ldr r6, _08096D20 - mov r1, r9 -_08096CD8: - adds r1, 0x14 - adds r4, 0x14 - movs r5, 0x14 - add r9, r5 - adds r2, 0x1 - cmp r2, 0x7 - bgt _08096CF2 - ldr r0, [r6] - adds r0, r1 - adds r0, 0xF0 - ldrb r0, [r0] - cmp r0, 0 - beq _08096CD8 -_08096CF2: - cmp r2, 0x8 - bne _08096C9C - cmp r3, 0x7 - bgt _08096D14 - ldr r4, _08096D20 - movs r2, 0 - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 2 -_08096D04: - ldr r0, [r4] - adds r0, r1 - adds r0, 0xF0 - strb r2, [r0] - adds r1, 0x14 - adds r3, 0x1 - cmp r3, 0x7 - ble _08096D04 -_08096D14: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096D20: .4byte gUnknown_203B490 - thumb_func_end sub_8096C80 - - thumb_func_start sub_8096D24 -sub_8096D24: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - movs r1, 0 -_08096D32: - adds r6, r1, 0x1 - mov r10, r6 - cmp r6, 0x7 - bgt _08096DBC - ldr r0, _08096DD4 - mov r8, r0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - mov r9, r0 - lsls r0, r6, 2 - adds r0, r6 - lsls r4, r0, 2 -_08096D4C: - mov r1, r8 - ldr r2, [r1] - adds r3, r2, r4 - adds r5, r3, 0 - adds r5, 0xF0 - str r5, [sp, 0x14] - ldrb r0, [r5] - cmp r0, 0 - beq _08096DB0 - add r2, r9 - mov r12, r2 - mov r0, r12 - adds r0, 0xF4 - adds r1, r3, 0 - adds r1, 0xF4 - ldrb r2, [r0] - ldrb r0, [r1] - cmp r2, r0 - bhi _08096D84 - cmp r2, r0 - bne _08096DB0 - mov r0, r12 - adds r0, 0xF5 - adds r1, 0x1 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _08096DB0 -_08096D84: - mov r2, r12 - adds r2, 0xF0 - mov r1, sp - adds r0, r2, 0 - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - ldm r0!, {r3,r7} - stm r1!, {r3,r7} - ldr r0, [sp, 0x14] - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - ldm r0!, {r3,r5} - stm r2!, {r3,r5} - mov r7, r8 - ldr r1, [r7] - adds r1, r4 - adds r1, 0xF0 - mov r0, sp - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r7} - stm r1!, {r2,r7} -_08096DB0: - adds r4, 0x14 - movs r3, 0x1 - add r10, r3 - mov r5, r10 - cmp r5, 0x7 - ble _08096D4C -_08096DBC: - adds r1, r6, 0 - cmp r1, 0x6 - ble _08096D32 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096DD4: .4byte gUnknown_203B490 - thumb_func_end sub_8096D24 - - thumb_func_start sub_8096DD8 -sub_8096DD8: - ldr r0, _08096DE4 - ldr r0, [r0] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bx lr - .align 2, 0 -_08096DE4: .4byte gUnknown_203B490 - thumb_func_end sub_8096DD8 - - thumb_func_start sub_8096DE8 -sub_8096DE8: - ldr r0, _08096DF4 - ldr r0, [r0] - movs r1, 0xDC - lsls r1, 1 - adds r0, r1 - bx lr - .align 2, 0 -_08096DF4: .4byte gUnknown_203B490 - thumb_func_end sub_8096DE8 - - thumb_func_start sub_8096DF8 -sub_8096DF8: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08096E10 - ldr r1, [r1] - movs r2, 0xBC - lsls r2, 2 - adds r1, r2 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_08096E10: .4byte gUnknown_203B490 - thumb_func_end sub_8096DF8 - - thumb_func_start sub_8096E14 -sub_8096E14: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08096E28 - ldr r1, [r1] - movs r2, 0xBC - lsls r2, 2 - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_08096E28: .4byte gUnknown_203B490 - thumb_func_end sub_8096E14 - - thumb_func_start sub_8096E2C -sub_8096E2C: - push {lr} - movs r3, 0 - ldr r0, _08096E70 - ldr r1, [r0] - movs r2, 0x3 -_08096E36: - ldrb r0, [r1] - cmp r0, 0x1 - bne _08096E48 - ldrb r0, [r1, 0x5] - cmp r3, r0 - bgt _08096E48 - cmp r0, 0x31 - bhi _08096E48 - adds r3, r0, 0x1 -_08096E48: - adds r1, 0x14 - subs r2, 0x1 - cmp r2, 0 - bge _08096E36 - adds r2, r3, 0 - cmp r2, 0x31 - bgt _08096E7A - ldr r0, _08096E70 - ldr r0, [r0] - movs r3, 0xBC - lsls r3, 2 - adds r1, r0, r3 -_08096E60: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08096E74 - lsls r0, r2, 24 - lsrs r0, 24 - b _08096E7C - .align 2, 0 -_08096E70: .4byte gUnknown_203B490 -_08096E74: - adds r2, 0x1 - cmp r2, 0x31 - ble _08096E60 -_08096E7A: - movs r0, 0x38 -_08096E7C: - pop {r1} - bx r1 - thumb_func_end sub_8096E2C - - thumb_func_start sub_8096E80 -sub_8096E80: - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r0, _08096E9C - ldr r1, [r0] -_08096E8C: - ldrb r0, [r1] - cmp r0, 0x1 - bne _08096EA0 - ldrb r0, [r1, 0x5] - cmp r3, r0 - bne _08096EA0 - movs r0, 0x1 - b _08096EAA - .align 2, 0 -_08096E9C: .4byte gUnknown_203B490 -_08096EA0: - adds r1, 0x14 - adds r2, 0x1 - cmp r2, 0x3 - ble _08096E8C - movs r0, 0 -_08096EAA: - pop {r1} - bx r1 - thumb_func_end sub_8096E80 - - thumb_func_start sub_8096EB0 -sub_8096EB0: - ldrb r1, [r0, 0x2] - ldrb r2, [r0, 0x1] - adds r1, r2 - ldrb r3, [r0, 0x4] - adds r2, r1, r3 - ldrb r1, [r0, 0x5] - adds r2, r1 - ldr r1, [r0, 0x8] - lsls r1, 8 - adds r2, r1 - movs r3, 0xC - ldrsh r1, [r0, r3] - lsls r1, 12 - adds r2, r1 - movs r3, 0xE - ldrsh r1, [r0, r3] - lsls r1, 16 - adds r2, r1 - ldrb r1, [r0, 0x10] - lsls r1, 24 - adds r1, r2, r1 - ldrb r3, [r0, 0x11] - adds r2, r1, r3 - ldrb r1, [r0, 0x12] - adds r1, r2, r1 - ldrb r0, [r0, 0x13] - adds r2, r1, r0 - adds r0, r2, 0 - bx lr - thumb_func_end sub_8096EB0 - - thumb_func_start sub_8096EEC -sub_8096EEC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r12, r0 - movs r3, 0xF - ldr r5, _08096F4C - mov r8, r5 - movs r4, 0x8C - lsls r4, 2 -_08096EFE: - mov r0, r8 - ldr r2, [r0] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r1, r2, r1 - subs r3, 0x1 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0 - adds r1, r4 - adds r2, r4 - ldm r2!, {r0,r6,r7} - stm r1!, {r0,r6,r7} - cmp r3, 0 - bgt _08096EFE - ldr r2, [r5] - movs r3, 0x8C - lsls r3, 2 - adds r2, r3 - mov r6, r12 - ldr r0, [r6, 0x4] - ldr r1, [r6, 0x8] - str r0, [r2] - str r1, [r2, 0x4] - mov r0, r12 - bl sub_8096EB0 - ldr r1, [r5] - movs r7, 0x8E - lsls r7, 2 - adds r1, r7 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08096F4C: .4byte gUnknown_203B490 - thumb_func_end sub_8096EEC - - thumb_func_start sub_8096F50 -sub_8096F50: - push {r4-r7,lr} - adds r4, r0, 0 - bl sub_8096EB0 - mov r12, r0 - movs r5, 0 - ldr r0, _08096F8C - ldr r7, [r0] - ldrb r6, [r4, 0x4] - movs r3, 0 -_08096F64: - movs r1, 0x8C - lsls r1, 2 - adds r0, r3, r1 - adds r2, r7, r0 - ldrb r0, [r2] - cmp r0, r6 - bne _08096F90 - ldrb r0, [r2, 0x1] - ldrb r1, [r4, 0x5] - cmp r0, r1 - bne _08096F90 - ldr r1, [r2, 0x4] - ldr r0, [r4, 0x8] - cmp r1, r0 - bne _08096F90 - ldr r0, [r2, 0x8] - cmp r0, r12 - bne _08096F90 - movs r0, 0x1 - b _08096F9A - .align 2, 0 -_08096F8C: .4byte gUnknown_203B490 -_08096F90: - adds r3, 0xC - adds r5, 0x1 - cmp r5, 0xF - ble _08096F64 - movs r0, 0 -_08096F9A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8096F50 - - thumb_func_start sub_8096FA0 -sub_8096FA0: - push {r4-r7,lr} - sub sp, 0x14 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809485C - add r7, sp, 0x10 - ldr r6, _08097020 - movs r5, 0 - movs r4, 0x3 -_08096FB8: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_80971EC - adds r5, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _08096FB8 - ldr r6, _08097020 - movs r5, 0x50 - movs r4, 0x7 -_08096FD0: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_80971EC - adds r5, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _08096FD0 - ldr r6, _08097020 - movs r5, 0xF0 - movs r4, 0x7 -_08096FE8: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_80971EC - adds r5, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _08096FE8 - movs r4, 0 - movs r6, 0x1 - ldr r5, _08097020 -_08097000: - mov r0, sp - adds r1, r7, 0 - movs r2, 0x1 - bl sub_8094924 - ldr r1, [sp, 0x10] - ands r1, r6 - cmp r1, 0 - beq _08097024 - ldr r0, [r5] - movs r1, 0xBC - lsls r1, 2 - adds r0, r1 - adds r0, r4 - strb r6, [r0] - b _08097030 - .align 2, 0 -_08097020: .4byte gUnknown_203B490 -_08097024: - ldr r0, [r5] - movs r2, 0xBC - lsls r2, 2 - adds r0, r2 - adds r0, r4 - strb r1, [r0] -_08097030: - adds r4, 0x1 - cmp r4, 0x37 - ble _08097000 - mov r0, sp - adds r1, r7, 0 - movs r2, 0x1 - bl sub_8094924 - ldr r1, [sp, 0x10] - movs r2, 0x1 - ands r1, r2 - cmp r1, 0 - beq _0809705C - ldr r0, _08097058 - ldr r0, [r0] - movs r1, 0xCA - lsls r1, 2 - adds r0, r1 - strb r2, [r0] - b _08097068 - .align 2, 0 -_08097058: .4byte gUnknown_203B490 -_0809705C: - ldr r0, _080970D4 - ldr r0, [r0] - movs r2, 0xCA - lsls r2, 2 - adds r0, r2 - strb r1, [r0] -_08097068: - ldr r4, _080970D4 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r2, 0xA0 - lsls r2, 1 - mov r0, sp - bl sub_8094924 - ldr r1, [r4] - movs r2, 0xDC - lsls r2, 1 - adds r1, r2 - movs r2, 0xF0 - lsls r2, 2 - mov r0, sp - bl sub_8094924 - adds r6, r4, 0 - movs r5, 0x8C - lsls r5, 2 - movs r4, 0xF -_08097096: - ldr r1, [r6] - adds r1, r5 - adds r1, 0x8 - mov r0, sp - movs r2, 0x20 - bl sub_8094924 - ldr r1, [r6] - adds r1, r5 - adds r1, 0x4 - mov r0, sp - movs r2, 0x18 - bl sub_8094924 - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8090314 - adds r5, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _08097096 - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080970D4: .4byte gUnknown_203B490 - thumb_func_end sub_8096FA0 - - thumb_func_start sub_80970D8 -sub_80970D8: - push {r4-r7,lr} - sub sp, 0x14 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809486C - add r7, sp, 0x10 - ldr r6, _080971E8 - movs r5, 0 - movs r4, 0x3 -_080970F0: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8097270 - adds r5, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _080970F0 - ldr r6, _080971E8 - movs r5, 0x50 - movs r4, 0x7 -_08097108: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8097270 - adds r5, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _08097108 - ldr r6, _080971E8 - movs r5, 0xF0 - movs r4, 0x7 -_08097120: - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_8097270 - adds r5, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _08097120 - movs r4, 0 -_08097134: - ldr r0, _080971E8 - ldr r0, [r0] - movs r1, 0xBC - lsls r1, 2 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0809714A - movs r0, 0x1 - negs r0, r0 -_0809714A: - str r0, [sp, 0x10] - mov r0, sp - adds r1, r7, 0 - movs r2, 0x1 - bl sub_809488C - adds r4, 0x1 - cmp r4, 0x37 - ble _08097134 - ldr r0, _080971E8 - ldr r0, [r0] - movs r1, 0xCA - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08097170 - movs r0, 0x1 - negs r0, r0 -_08097170: - str r0, [sp, 0x10] - mov r0, sp - adds r1, r7, 0 - movs r2, 0x1 - bl sub_809488C - ldr r4, _080971E8 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r2, 0xA0 - lsls r2, 1 - mov r0, sp - bl sub_809488C - ldr r1, [r4] - movs r0, 0xDC - lsls r0, 1 - adds r1, r0 - movs r2, 0xF0 - lsls r2, 2 - mov r0, sp - bl sub_809488C - adds r6, r4, 0 - movs r5, 0x8C - lsls r5, 2 - movs r4, 0xF -_080971AA: - ldr r1, [r6] - adds r1, r5 - adds r1, 0x8 - mov r0, sp - movs r2, 0x20 - bl sub_809488C - ldr r1, [r6] - adds r1, r5 - adds r1, 0x4 - mov r0, sp - movs r2, 0x18 - bl sub_809488C - ldr r1, [r6] - adds r1, r5 - mov r0, sp - bl sub_80902F4 - adds r5, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _080971AA - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080971E8: .4byte gUnknown_203B490 - thumb_func_end sub_80970D8 - - thumb_func_start sub_80971EC -sub_80971EC: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8094924 - adds r1, r5, 0x1 - adds r0, r4, 0 - movs r2, 0x3 - bl sub_8094924 - adds r1, r5, 0x2 - adds r0, r4, 0 - movs r2, 0x4 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0xC - adds r0, r4, 0 - movs r2, 0x9 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0xE - adds r0, r4, 0 - movs r2, 0x9 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x10 - adds r0, r4, 0 - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x11 - adds r0, r4, 0 - movs r2, 0x4 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x12 - adds r0, r4, 0 - movs r2, 0x8 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x13 - adds r0, r4, 0 - movs r2, 0x6 - bl sub_8094924 - adds r1, r5, 0 - adds r1, 0x8 - adds r0, r4, 0 - movs r2, 0x18 - bl sub_8094924 - adds r1, r5, 0x4 - adds r0, r4, 0 - bl sub_8090314 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80971EC - - thumb_func_start sub_8097270 -sub_8097270: - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_809488C - adds r1, r5, 0x1 - adds r0, r4, 0 - movs r2, 0x3 - bl sub_809488C - adds r1, r5, 0x2 - adds r0, r4, 0 - movs r2, 0x4 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0xC - adds r0, r4, 0 - movs r2, 0x9 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0xE - adds r0, r4, 0 - movs r2, 0x9 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x10 - adds r0, r4, 0 - movs r2, 0x8 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x11 - adds r0, r4, 0 - movs r2, 0x4 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x12 - adds r0, r4, 0 - movs r2, 0x8 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x13 - adds r0, r4, 0 - movs r2, 0x6 - bl sub_809488C - adds r1, r5, 0 - adds r1, 0x8 - adds r0, r4, 0 - movs r2, 0x18 - bl sub_809488C - adds r1, r5, 0x4 - adds r0, r4, 0 - bl sub_80902F4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8097270 - - thumb_func_start sub_80972F4 -sub_80972F4: - push {lr} - movs r0, 0 - movs r1, 0x2B - bl sub_80015C0 - movs r0, 0 - movs r1, 0x2C - bl sub_80015C0 - movs r0, 0 - movs r1, 0x2D - bl sub_80015C0 - pop {r0} - bx r0 - thumb_func_end sub_80972F4 - - thumb_func_start nullsub_128 -nullsub_128: - bx lr - thumb_func_end nullsub_128 - - thumb_func_start sub_8097318 -sub_8097318: - push {lr} - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bne _08097326 - movs r0, 0 - b _08097338 -_08097326: - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0 - movs r1, 0x2B - bl sub_8001784 - cmp r0, 0 - beq _08097338 - movs r0, 0x1 -_08097338: - pop {r1} - bx r1 - thumb_func_end sub_8097318 - - thumb_func_start sub_809733C -sub_809733C: - push {r4-r6,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r4, 0xD - beq _0809737C - lsls r0, r4, 16 - lsrs r5, r0, 16 - movs r0, 0 - movs r1, 0x2C - adds r2, r5, 0 - bl sub_8001784 - cmp r0, 0 - bne _0809737C - movs r0, 0 - movs r1, 0x2B - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_800199C - cmp r6, 0 - beq _0809737C - cmp r4, 0xE - blt _0809737C - cmp r4, 0xF - ble _08097378 - cmp r4, 0x1C - bne _0809737C -_08097378: - bl sub_809674C -_0809737C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_809733C - - thumb_func_start sub_8097384 -sub_8097384: - push {lr} - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bne _08097392 - movs r0, 0 - b _080973A4 -_08097392: - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0 - movs r1, 0x2C - bl sub_8001784 - cmp r0, 0 - beq _080973A4 - movs r0, 0x1 -_080973A4: - pop {r1} - bx r1 - thumb_func_end sub_8097384 - - thumb_func_start sub_80973A8 -sub_80973A8: - push {r4-r6,lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r0, 0xD - beq _080973EE - lsls r5, r0, 16 - cmp r6, 0 - beq _080973E2 - bl sub_80A26B8 - lsls r0, 16 - asrs r4, r0, 16 - lsrs r2, r5, 16 - movs r0, 0 - movs r1, 0x2B - movs r3, 0 - bl sub_800199C - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _080973E2 - movs r0, 0 - movs r1, 0x12 - adds r2, r4, 0 - bl sub_80018D8 -_080973E2: - lsrs r2, r5, 16 - movs r0, 0 - movs r1, 0x2C - adds r3, r6, 0 - bl sub_800199C -_080973EE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80973A8 - - thumb_func_start sub_80973F4 -sub_80973F4: - push {lr} - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bne _08097402 - movs r0, 0 - b _08097414 -_08097402: - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0 - movs r1, 0x2D - bl sub_8001784 - cmp r0, 0 - beq _08097414 - movs r0, 0x1 -_08097414: - pop {r1} - bx r1 - thumb_func_end sub_80973F4 - - thumb_func_start sub_8097418 -sub_8097418: - push {r4-r7,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r5, 0xD - beq _08097470 - lsls r6, r5, 16 - cmp r7, 0 - beq _08097464 - lsrs r2, r6, 16 - movs r0, 0 - movs r1, 0x2C - movs r3, 0 - bl sub_800199C - cmp r5, 0x1E - bgt _08097464 - lsls r0, r5, 3 - ldr r1, _08097478 - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0xFF - beq _0809744C - bl sub_8097FA8 -_0809744C: - ldrb r0, [r4, 0x5] - cmp r0, 0xFF - beq _08097456 - bl sub_8097FA8 -_08097456: - cmp r5, 0x9 - bne _08097460 - movs r0, 0x1F - bl sub_8097FA8 -_08097460: - bl sub_8097FF8 -_08097464: - lsrs r2, r6, 16 - movs r0, 0 - movs r1, 0x2D - adds r3, r7, 0 - bl sub_800199C -_08097470: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08097478: .4byte gStoryMissionText - thumb_func_end sub_8097418 - - thumb_func_start sub_809747C -sub_809747C: - push {lr} - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - beq _08097494 - bl sub_80A270C - lsls r0, 24 - lsrs r0, 24 - bl GetDungeonName1 - b _08097496 -_08097494: - ldr r0, _0809749C -_08097496: - pop {r1} - bx r1 - .align 2, 0 -_0809749C: .4byte gDummyScenarioText - thumb_func_end sub_809747C - - thumb_func_start sub_80974A0 -sub_80974A0: - push {lr} - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - beq _080974B8 - bl sub_80A270C - lsls r0, 24 - lsrs r0, 24 - bl GetDungeonName1 - b _080974BA -_080974B8: - ldr r0, _080974C0 -_080974BA: - pop {r1} - bx r1 - .align 2, 0 -_080974C0: .4byte gDummyScenarioText - thumb_func_end sub_80974A0 - - thumb_func_start sub_80974C4 -sub_80974C4: - push {lr} - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _080974D8 - ldr r0, _080974D4 - b _080974E0 - .align 2, 0 -_080974D4: .4byte gUnknown_8109CC0 -_080974D8: - lsls r0, 3 - ldr r1, _080974E4 - adds r0, r1 - ldr r0, [r0] -_080974E0: - pop {r1} - bx r1 - .align 2, 0 -_080974E4: .4byte gStoryMissionText - thumb_func_end sub_80974C4 - - thumb_func_start sub_80974E8 -sub_80974E8: - push {lr} - movs r0, 0 - movs r1, 0x2E - bl sub_80015C0 - movs r0, 0 - movs r1, 0x2F - bl sub_80015C0 - pop {r0} - bx r0 - thumb_func_end sub_80974E8 - - thumb_func_start nullsub_208 -nullsub_208: - bx lr - thumb_func_end nullsub_208 - - thumb_func_start sub_8097504 -sub_8097504: - push {lr} - lsls r0, 16 - asrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x10 - bgt _08097568 - cmp r0, 0xE - bhi _08097580 - lsls r0, 2 - ldr r1, _08097520 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08097520: .4byte _08097524 - .align 2, 0 -_08097524: - .4byte _08097564 - .4byte _08097564 - .4byte _08097560 - .4byte _08097580 - .4byte _08097580 - .4byte _08097564 - .4byte _08097580 - .4byte _08097564 - .4byte _08097580 - .4byte _08097564 - .4byte _08097560 - .4byte _08097560 - .4byte _08097560 - .4byte _08097574 - .4byte _08097564 -_08097560: - movs r0, 0xE - b _08097576 -_08097564: - movs r0, 0xF - b _08097576 -_08097568: - cmp r1, 0x16 - bgt _08097584 - cmp r1, 0x16 - beq _08097584 - cmp r1, 0x15 - beq _08097584 -_08097574: - movs r0, 0x6 -_08097576: - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08097584 -_08097580: - movs r0, 0x1 - b _08097586 -_08097584: - movs r0, 0 -_08097586: - pop {r1} - bx r1 - thumb_func_end sub_8097504 - - thumb_func_start sub_809758C -sub_809758C: - push {lr} - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0 - movs r1, 0x2E - bl sub_8001784 - cmp r0, 0 - beq _080975A2 - movs r0, 0x1 -_080975A2: - pop {r1} - bx r1 - thumb_func_end sub_809758C - - thumb_func_start sub_80975A8 -sub_80975A8: - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0 - movs r1, 0x2E - bl sub_800199C - pop {r0} - bx r0 - thumb_func_end sub_80975A8 - - thumb_func_start sub_80975C4 -sub_80975C4: - push {lr} - lsls r0, 16 - asrs r0, 16 - bl sub_80A2728 - lsls r0, 24 - lsrs r0, 24 - bl GetDungeonName1 - pop {r1} - bx r1 - thumb_func_end sub_80975C4 - - thumb_func_start sub_80975DC -sub_80975DC: - push {lr} - lsls r0, 16 - ldr r1, _08097600 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08097610 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x3 - movs r1, 0xE - bl sub_8001D08 - lsls r0, 24 - cmp r0, 0 - beq _08097608 - ldr r0, _08097604 - b _08097612 - .align 2, 0 -_08097600: .4byte 0xffe90000 -_08097604: .4byte gMeetNinetalesText -_08097608: - ldr r0, _0809760C - b _08097612 - .align 2, 0 -_0809760C: .4byte gAvoidCaptureText -_08097610: - ldr r0, _08097618 -_08097612: - pop {r1} - bx r1 - .align 2, 0 -_08097618: .4byte gFinalScenarioText - thumb_func_end sub_80975DC - - thumb_func_start sub_809761C -sub_809761C: - push {r4,lr} - movs r4, 0 -_08097620: - lsls r0, r4, 16 - asrs r0, 16 - bl sub_809758C - lsls r0, 24 - cmp r0, 0 - bne _08097632 - movs r0, 0 - b _0809763A -_08097632: - adds r4, 0x1 - cmp r4, 0x10 - ble _08097620 - movs r0, 0x1 -_0809763A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809761C - - thumb_func_start sub_8097640 -sub_8097640: - push {lr} - movs r0, 0 - movs r1, 0x2E - movs r2, 0x1F - bl sub_8001784 - cmp r0, 0 - bne _0809766A - bl sub_809761C - lsls r0, 24 - cmp r0, 0 - beq _0809766A - movs r0, 0 - movs r1, 0x2E - movs r2, 0x1F - movs r3, 0x1 - bl sub_800199C - movs r0, 0x1 - b _0809766C -_0809766A: - movs r0, 0 -_0809766C: - pop {r1} - bx r1 - thumb_func_end sub_8097640 - - thumb_func_start sub_8097670 -sub_8097670: - ldr r1, _08097678 - ldr r0, _0809767C - str r0, [r1] - bx lr - .align 2, 0 -_08097678: .4byte gUnknown_203B494 -_0809767C: .4byte gUnknown_2039778 - thumb_func_end sub_8097670 - - thumb_func_start sub_8097680 -sub_8097680: - ldr r0, _08097684 - bx lr - .align 2, 0 -_08097684: .4byte gUnknown_2039778 - thumb_func_end sub_8097680 - - thumb_func_start sub_8097688 -sub_8097688: - ldr r3, _08097698 - ldr r2, [r3] - ldrb r1, [r0] - strb r1, [r2, 0x10] - ldr r1, [r3] - ldrb r0, [r0, 0x1] - strb r0, [r1, 0x11] - bx lr - .align 2, 0 -_08097698: .4byte gUnknown_203B494 - thumb_func_end sub_8097688 - - thumb_func_start sub_809769C -sub_809769C: - ldr r0, _080976A4 - ldr r0, [r0] - adds r0, 0x10 - bx lr - .align 2, 0 -_080976A4: .4byte gUnknown_203B494 - thumb_func_end sub_809769C - - thumb_func_start sub_80976A8 -sub_80976A8: - push {r4,lr} - ldr r3, _080976F4 - ldr r1, [r3] - movs r0, 0 - str r0, [r1] - strh r0, [r1, 0x14] - strh r0, [r1, 0x16] - strh r0, [r1, 0x18] - adds r2, r1, 0 - adds r2, 0xC0 - str r0, [r2] - str r0, [r1, 0x8] - str r0, [r1, 0xC] - movs r2, 0 - adds r4, r3, 0 - movs r3, 0 -_080976C8: - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, 0x1C - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0xD - ble _080976C8 - movs r2, 0 - ldr r4, _080976F4 - movs r3, 0 -_080976DE: - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, 0x8C - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0xC - ble _080976DE - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080976F4: .4byte gUnknown_203B494 - thumb_func_end sub_80976A8 - - thumb_func_start sub_80976F8 -sub_80976F8: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809770C - ldr r2, [r1] - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - bx lr - .align 2, 0 -_0809770C: .4byte gUnknown_203B494 - thumb_func_end sub_80976F8 - - thumb_func_start sub_8097710 -sub_8097710: - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809772C - ldr r2, [r1] - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _08097730 - movs r0, 0 - b _08097732 - .align 2, 0 -_0809772C: .4byte gUnknown_203B494 -_08097730: - movs r0, 0x1 -_08097732: - pop {r1} - bx r1 - thumb_func_end sub_8097710 - - thumb_func_start sub_8097738 -sub_8097738: - lsls r0, 24 - ldr r1, _08097744 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08097744: .4byte gTeamRanks - thumb_func_end sub_8097738 - - thumb_func_start sub_8097748 -sub_8097748: - ldr r0, _08097754 - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x4] - bx lr - .align 2, 0 -_08097754: .4byte gUnknown_203B494 - thumb_func_end sub_8097748 - - thumb_func_start sub_8097758 -sub_8097758: - push {lr} - ldr r0, _08097770 - ldr r1, [r0] - ldr r0, [r1, 0x4] - adds r0, 0x1 - str r0, [r1, 0x4] - ldr r2, _08097774 - cmp r0, r2 - ble _0809776C - str r2, [r1, 0x4] -_0809776C: - pop {r0} - bx r0 - .align 2, 0 -_08097770: .4byte gUnknown_203B494 -_08097774: .4byte 0x0001869f - thumb_func_end sub_8097758 - - thumb_func_start sub_8097778 -sub_8097778: - ldr r0, _08097780 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bx lr - .align 2, 0 -_08097780: .4byte gUnknown_203B494 - thumb_func_end sub_8097778 - - thumb_func_start sub_8097784 -sub_8097784: - ldr r1, _0809778C - ldr r1, [r1] - str r0, [r1, 0x4] - bx lr - .align 2, 0 -_0809778C: .4byte gUnknown_203B494 - thumb_func_end sub_8097784 - - thumb_func_start sub_8097790 -sub_8097790: - push {lr} - ldr r0, _080977B0 - ldr r1, [r0] - ldr r0, [r1, 0x8] - adds r0, 0x1 - str r0, [r1, 0x8] - ldr r2, _080977B4 - cmp r0, r2 - ble _080977A4 - str r2, [r1, 0x8] -_080977A4: - movs r0, 0x8 - bl sub_80976F8 - pop {r0} - bx r0 - .align 2, 0 -_080977B0: .4byte gUnknown_203B494 -_080977B4: .4byte 0x0001869f - thumb_func_end sub_8097790 - - thumb_func_start sub_80977B8 -sub_80977B8: - ldr r0, _080977C0 - ldr r0, [r0] - ldr r0, [r0, 0x8] - bx lr - .align 2, 0 -_080977C0: .4byte gUnknown_203B494 - thumb_func_end sub_80977B8 - - thumb_func_start sub_80977C4 -sub_80977C4: - ldr r1, _080977CC - ldr r1, [r1] - str r0, [r1, 0x8] - bx lr - .align 2, 0 -_080977CC: .4byte gUnknown_203B494 - thumb_func_end sub_80977C4 - - thumb_func_start sub_80977D0 -sub_80977D0: - push {lr} - ldr r0, _080977F0 - ldr r1, [r0] - ldr r0, [r1, 0xC] - adds r0, 0x1 - str r0, [r1, 0xC] - ldr r2, _080977F4 - cmp r0, r2 - ble _080977E4 - str r2, [r1, 0xC] -_080977E4: - movs r0, 0x9 - bl sub_80976F8 - pop {r0} - bx r0 - .align 2, 0 -_080977F0: .4byte gUnknown_203B494 -_080977F4: .4byte 0x0001869f - thumb_func_end sub_80977D0 - - thumb_func_start sub_80977F8 -sub_80977F8: - ldr r0, _08097800 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bx lr - .align 2, 0 -_08097800: .4byte gUnknown_203B494 - thumb_func_end sub_80977F8 - - thumb_func_start sub_8097804 -sub_8097804: - ldr r1, _0809780C - ldr r1, [r1] - str r0, [r1, 0xC] - bx lr - .align 2, 0 -_0809780C: .4byte gUnknown_203B494 - thumb_func_end sub_8097804 - - thumb_func_start sub_8097810 -sub_8097810: - push {lr} - ldr r0, _08097830 - ldr r2, [r0] - ldrh r3, [r2, 0x14] - movs r0, 0x14 - ldrsh r1, [r2, r0] - ldr r0, _08097834 - cmp r1, r0 - bgt _08097826 - adds r0, r3, 0x1 - strh r0, [r2, 0x14] -_08097826: - movs r0, 0xB - bl sub_80976F8 - pop {r0} - bx r0 - .align 2, 0 -_08097830: .4byte gUnknown_203B494 -_08097834: .4byte 0x0000270e - thumb_func_end sub_8097810 - - thumb_func_start sub_8097838 -sub_8097838: - ldr r0, _08097844 - ldr r0, [r0] - movs r1, 0x14 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08097844: .4byte gUnknown_203B494 - thumb_func_end sub_8097838 - - thumb_func_start sub_8097848 -sub_8097848: - push {lr} - ldr r0, _08097868 - ldr r2, [r0] - ldrh r3, [r2, 0x16] - movs r0, 0x16 - ldrsh r1, [r2, r0] - ldr r0, _0809786C - cmp r1, r0 - bgt _0809785E - adds r0, r3, 0x1 - strh r0, [r2, 0x16] -_0809785E: - movs r0, 0xA - bl sub_80976F8 - pop {r0} - bx r0 - .align 2, 0 -_08097868: .4byte gUnknown_203B494 -_0809786C: .4byte 0x0000270e - thumb_func_end sub_8097848 - - thumb_func_start sub_8097870 -sub_8097870: - ldr r0, _0809787C - ldr r0, [r0] - movs r1, 0x16 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0809787C: .4byte gUnknown_203B494 - thumb_func_end sub_8097870 - - thumb_func_start sub_8097880 -sub_8097880: - ldr r0, _0809788C - ldr r0, [r0] - movs r1, 0x18 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0809788C: .4byte gUnknown_203B494 - thumb_func_end sub_8097880 - - thumb_func_start sub_8097890 -sub_8097890: - push {lr} - ldr r0, _080978B0 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0xC0 - ldr r1, [r2] - ldr r0, _080978B4 - cmp r1, r0 - bgt _080978A6 - adds r0, r1, 0x1 - str r0, [r2] -_080978A6: - movs r0, 0xC - bl sub_80976F8 - pop {r0} - bx r0 - .align 2, 0 -_080978B0: .4byte gUnknown_203B494 -_080978B4: .4byte 0x0001869e - thumb_func_end sub_8097890 - - thumb_func_start sub_80978B8 -sub_80978B8: - ldr r0, _080978C4 - ldr r0, [r0] - adds r0, 0xC0 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_080978C4: .4byte gUnknown_203B494 - thumb_func_end sub_80978B8 - - thumb_func_start sub_80978C8 -sub_80978C8: - push {lr} - lsls r0, 16 - asrs r0, 16 - bl sub_808E858 - lsls r0, 16 - asrs r3, r0, 16 - ldr r0, _080978FC - ldr r2, [r0] - adds r0, r3, 0 - cmp r3, 0 - bge _080978E2 - adds r0, 0x1F -_080978E2: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x54 - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_080978FC: .4byte gUnknown_203B494 - thumb_func_end sub_80978C8 - - thumb_func_start sub_8097900 -sub_8097900: - push {lr} - lsls r0, 16 - asrs r0, 16 - bl sub_808E858 - lsls r0, 16 - asrs r3, r0, 16 - ldr r0, _08097938 - ldr r2, [r0] - adds r0, r3, 0 - cmp r3, 0 - bge _0809791A - adds r0, 0x1F -_0809791A: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x1C - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _0809793C - movs r0, 0 - b _0809793E - .align 2, 0 -_08097938: .4byte gUnknown_203B494 -_0809793C: - movs r0, 0x1 -_0809793E: - pop {r1} - bx r1 - thumb_func_end sub_8097900 - - thumb_func_start sub_8097944 -sub_8097944: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0x1 - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0xD - bl sub_8097710 - lsls r0, 24 - cmp r0, 0 - bne _08097974 - bl sub_8092614 - lsls r0, 24 - cmp r0, 0 - beq _08097974 - movs r0, 0xD - bl sub_80976F8 -_08097974: - movs r4, 0 - ldr r0, _08097B5C - mov r10, r0 - mov r8, r4 -_0809797C: - ldr r1, _08097B60 - ldr r0, [r1] - mov r1, r8 - adds r2, r1, r0 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080979F6 - movs r0, 0x8 - ldrsh r3, [r2, r0] - mov r1, r10 - ldr r2, [r1] - adds r0, r3, 0 - cmp r3, 0 - bge _0809799E - adds r0, 0x1F -_0809799E: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x1C - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r0, _08097B60 - mov r9, r0 - mov r12, r8 - movs r7, 0x1 - movs r6, 0x2C - movs r5, 0x3 -_080979C0: - mov r1, r9 - ldr r0, [r1] - add r0, r12 - adds r3, r0, r6 - ldrb r1, [r3] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080979EE - mov r0, r10 - ldr r2, [r0] - ldrh r3, [r3, 0x2] - lsrs r0, r3, 5 - lsls r0, 2 - adds r2, 0x8C - adds r2, r0 - movs r0, 0x1F - ands r3, r0 - adds r1, r7, 0 - lsls r1, r3 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] -_080979EE: - adds r6, 0x8 - subs r5, 0x1 - cmp r5, 0 - bge _080979C0 -_080979F6: - movs r1, 0x58 - add r8, r1 - adds r4, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _0809797C - movs r4, 0 - ldr r1, _08097B64 -_08097A08: - cmp r4, 0 - bne _08097A0E - b _08097B80 -_08097A0E: - ldr r0, _08097B68 - cmp r4, r0 - bne _08097A16 - b _08097B80 -_08097A16: - adds r0, 0x1 - cmp r4, r0 - bne _08097A1E - b _08097B80 -_08097A1E: - adds r0, 0x1 - cmp r4, r0 - bne _08097A26 - b _08097B80 -_08097A26: - adds r0, 0x26 - cmp r4, r0 - bne _08097A2E - b _08097B80 -_08097A2E: - adds r0, 0x1 - cmp r4, r0 - bne _08097A36 - b _08097B80 -_08097A36: - adds r0, 0x1 - cmp r4, r0 - bne _08097A3E - b _08097B80 -_08097A3E: - adds r0, 0x1 - cmp r4, r0 - bne _08097A46 - b _08097B80 -_08097A46: - adds r0, 0x1 - cmp r4, r0 - bne _08097A4E - b _08097B80 -_08097A4E: - adds r0, 0x1 - cmp r4, r0 - bne _08097A56 - b _08097B80 -_08097A56: - cmp r4, r1 - bne _08097A5C - b _08097B80 -_08097A5C: - ldr r0, _08097B5C - ldr r5, [r0] - adds r0, r4, 0 - cmp r4, 0 - bge _08097A68 - adds r0, 0x1F -_08097A68: - asrs r0, 5 - lsls r3, r0, 2 - adds r1, r5, 0 - adds r1, 0x54 - adds r1, r3 - lsls r0, 5 - subs r0, r4, r0 - movs r2, 0x1 - lsls r2, r0 - ldr r0, [r1] - ands r0, r2 - cmp r0, 0 - bne _08097A86 - movs r0, 0 - str r0, [sp, 0x4] -_08097A86: - adds r0, r5, 0 - adds r0, 0x1C - adds r0, r3 - ldr r0, [r0] - ands r0, r2 - cmp r0, 0 - beq _08097B7C - cmp r4, 0x92 - bne _08097A9E - movs r0, 0x10 - bl sub_80976F8 -_08097A9E: - cmp r4, 0x91 - bne _08097AA8 - movs r0, 0x11 - bl sub_80976F8 -_08097AA8: - cmp r4, 0x90 - bne _08097AB2 - movs r0, 0x12 - bl sub_80976F8 -_08097AB2: - movs r0, 0xCF - lsls r0, 1 - cmp r4, r0 - bne _08097AC0 - movs r0, 0x13 - bl sub_80976F8 -_08097AC0: - ldr r0, _08097B6C - cmp r4, r0 - bne _08097ACC - movs r0, 0x14 - bl sub_80976F8 -_08097ACC: - movs r0, 0x86 - lsls r0, 1 - cmp r4, r0 - bne _08097ADA - movs r0, 0x15 - bl sub_80976F8 -_08097ADA: - movs r0, 0x87 - lsls r0, 1 - cmp r4, r0 - bne _08097AE8 - movs r0, 0x16 - bl sub_80976F8 -_08097AE8: - ldr r0, _08097B70 - cmp r4, r0 - bne _08097AF4 - movs r0, 0x17 - bl sub_80976F8 -_08097AF4: - movs r0, 0xCD - lsls r0, 1 - cmp r4, r0 - bne _08097B02 - movs r0, 0x18 - bl sub_80976F8 -_08097B02: - ldr r0, _08097B74 - cmp r4, r0 - bne _08097B0E - movs r0, 0x19 - bl sub_80976F8 -_08097B0E: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bne _08097B1C - movs r0, 0x1A - bl sub_80976F8 -_08097B1C: - movs r0, 0x89 - lsls r0, 1 - cmp r4, r0 - bne _08097B2A - movs r0, 0x1B - bl sub_80976F8 -_08097B2A: - movs r0, 0x8A - lsls r0, 1 - cmp r4, r0 - bne _08097B38 - movs r0, 0x1C - bl sub_80976F8 -_08097B38: - cmp r4, 0x97 - bne _08097B42 - movs r0, 0x1D - bl sub_80976F8 -_08097B42: - cmp r4, 0x96 - bne _08097B4C - movs r0, 0x1E - bl sub_80976F8 -_08097B4C: - ldr r0, _08097B78 - cmp r4, r0 - bne _08097B80 - movs r0, 0x1F - bl sub_80976F8 - b _08097B80 - .align 2, 0 -_08097B5C: .4byte gUnknown_203B494 -_08097B60: .4byte gUnknown_203B45C -_08097B64: .4byte 0x000001a7 -_08097B68: .4byte 0x00000179 -_08097B6C: .4byte 0x0000010d -_08097B70: .4byte 0x00000113 -_08097B74: .4byte 0x0000019b -_08097B78: .4byte 0x0000019d -_08097B7C: - movs r1, 0 - str r1, [sp] -_08097B80: - adds r4, 0x1 - ldr r1, _08097C0C - cmp r4, r1 - bgt _08097B8A - b _08097A08 -_08097B8A: - ldr r0, [sp] - cmp r0, 0 - beq _08097B96 - movs r0, 0xF - bl sub_80976F8 -_08097B96: - ldr r1, [sp, 0x4] - cmp r1, 0 - beq _08097BA2 - movs r0, 0xE - bl sub_80976F8 -_08097BA2: - movs r3, 0 - movs r4, 0 -_08097BA6: - cmp r4, 0 - beq _08097BE2 - ldr r0, _08097C10 - cmp r4, r0 - beq _08097BE2 - adds r0, 0x1 - cmp r4, r0 - beq _08097BE2 - adds r0, 0x1 - cmp r4, r0 - beq _08097BE2 - ldr r0, _08097C14 - ldr r2, [r0] - adds r0, r4, 0 - cmp r4, 0 - bge _08097BC8 - adds r0, 0x1F -_08097BC8: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x8C - adds r2, r1 - lsls r0, 5 - subs r0, r4, r0 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _08097BE2 - adds r3, 0x1 -_08097BE2: - adds r4, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - ble _08097BA6 - cmp r3, 0 - beq _08097BFC - ldr r0, _08097C14 - ldr r0, [r0] - strh r3, [r0, 0x18] - movs r0, 0x7 - bl sub_80976F8 -_08097BFC: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08097C0C: .4byte 0x000001a7 -_08097C10: .4byte 0x00000163 -_08097C14: .4byte gUnknown_203B494 - thumb_func_end sub_8097944 - - thumb_func_start sub_8097C18 -sub_8097C18: - push {r4-r6,lr} - adds r5, r0, 0 - bl sub_8097944 - ldr r4, _08097CBC - ldr r1, [r4] - adds r1, 0x4 - adds r0, r5, 0 - movs r2, 0x11 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x8 - adds r0, r5, 0 - movs r2, 0x11 - bl sub_809488C - ldr r1, [r4] - adds r1, 0xC - adds r0, r5, 0 - movs r2, 0x11 - bl sub_809488C - ldr r1, [r4] - adds r0, r5, 0 - movs r2, 0x20 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x14 - adds r0, r5, 0 - movs r2, 0xE - bl sub_809488C - ldr r1, [r4] - adds r1, 0x16 - adds r0, r5, 0 - movs r2, 0xE - bl sub_809488C - ldr r1, [r4] - adds r1, 0x18 - adds r0, r5, 0 - movs r2, 0x9 - bl sub_809488C - ldr r1, [r4] - adds r1, 0xC0 - adds r0, r5, 0 - movs r2, 0x11 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x1C - movs r6, 0xE0 - lsls r6, 1 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x54 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0xD0 - lsls r2, 1 - adds r0, r5, 0 - bl sub_809488C - ldr r1, [r4] - adds r1, 0x10 - adds r0, r5, 0 - bl sub_80902F4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08097CBC: .4byte gUnknown_203B494 - thumb_func_end sub_8097C18 - - thumb_func_start sub_8097CC0 -sub_8097CC0: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _08097D5C - ldr r1, [r4] - adds r1, 0x4 - movs r2, 0x11 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x8 - adds r0, r5, 0 - movs r2, 0x11 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0xC - adds r0, r5, 0 - movs r2, 0x11 - bl sub_8094924 - ldr r1, [r4] - adds r0, r5, 0 - movs r2, 0x20 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x14 - adds r0, r5, 0 - movs r2, 0xE - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x16 - adds r0, r5, 0 - movs r2, 0xE - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x18 - adds r0, r5, 0 - movs r2, 0x9 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0xC0 - adds r0, r5, 0 - movs r2, 0x11 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x1C - movs r6, 0xE0 - lsls r6, 1 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x54 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0xD0 - lsls r2, 1 - adds r0, r5, 0 - bl sub_8094924 - ldr r1, [r4] - adds r1, 0x10 - adds r0, r5, 0 - bl sub_8090314 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08097D5C: .4byte gUnknown_203B494 - thumb_func_end sub_8097CC0 - - thumb_func_start sub_8097D60 -sub_8097D60: - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809486C - mov r0, sp - bl sub_8094A44 - mov r0, sp - bl sub_8095044 - mov r0, sp - bl sub_8097C18 - mov r0, sp - bl sub_8098248 - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x10 - pop {r1} - bx r1 - thumb_func_end sub_8097D60 - - thumb_func_start sub_8097D98 -sub_8097D98: - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809485C - mov r0, sp - bl sub_8094B18 - mov r0, sp - bl sub_8095080 - mov r0, sp - bl sub_8097CC0 - mov r0, sp - bl sub_8098308 - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x10 - pop {r1} - bx r1 - thumb_func_end sub_8097D98 - - thumb_func_start sub_8097DD0 -sub_8097DD0: - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldr r1, [r2] - ldr r0, [r3] - cmp r1, r0 - bne _08097DEA - ldr r1, [r2, 0x4] - ldr r0, [r3, 0x4] - cmp r1, r0 - bne _08097DEA - movs r0, 0x1 - b _08097DEC -_08097DEA: - movs r0, 0 -_08097DEC: - pop {r1} - bx r1 - thumb_func_end sub_8097DD0 - - thumb_func_start sub_8097DF0 -sub_8097DF0: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1F8 - mov r8, r0 - str r1, [sp, 0x1F0] - movs r0, 0 - mov r9, r0 - movs r7, 0 - ldr r1, _08097E3C - ldr r0, [r1] - cmp r0, 0 - beq _08097E6E -_08097E0E: - movs r4, 0 - lsls r5, r7, 3 - lsls r1, r7, 2 - mov r10, r1 - adds r6, r7, 0x1 - ldr r2, _08097E3C - adds r3, r5, r2 - add r1, sp, 0x18C -_08097E1E: - ldr r0, [r3] - adds r0, r4 - ldrb r2, [r0] - cmp r2, 0x23 - bne _08097E40 - ldrb r0, [r0, 0x1] - cmp r0, 0x72 - bne _08097E40 - strb r2, [r1] - adds r1, 0x1 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0 - strb r0, [r1] - b _08097E50 - .align 2, 0 -_08097E3C: .4byte gStatusDescriptions -_08097E40: - ldr r0, [r3] - adds r0, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r1, 0x1 - adds r4, 0x1 - cmp r4, 0x63 - ble _08097E1E -_08097E50: - add r0, sp, 0x18C - bl strlen - mov r1, sp - add r1, r10 - str r0, [r1] - adds r7, r6, 0 - cmp r6, 0x62 - bgt _08097E6E - lsls r0, r6, 3 - ldr r1, _08097EB4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08097E0E -_08097E6E: - mov r2, r8 - ldrb r0, [r2] - cmp r0, 0 - beq _08097F2C - ldr r3, _08097EB4 -_08097E78: - cmp r0, 0x23 - bne _08097F08 - movs r7, 0 - adds r1, r3, 0 - ldr r0, [r1] - cmp r0, 0 - beq _08097F20 - mov r2, r9 - lsls r0, r2, 2 - ldr r2, [sp, 0x1F0] - adds r0, r2 - mov r10, r0 -_08097E90: - lsls r4, r7, 3 - adds r0, r4, r1 - ldr r0, [r0] - lsls r1, r7, 2 - add r1, sp - ldr r2, [r1] - mov r1, r8 - str r3, [sp, 0x1F4] - bl sub_800B2D4 - lsls r0, 24 - adds r5, r4, 0 - adds r6, r7, 0x1 - ldr r3, [sp, 0x1F4] - cmp r0, 0 - bne _08097EF0 - movs r4, 0 - b _08097EBA - .align 2, 0 -_08097EB4: .4byte gStatusDescriptions -_08097EB8: - adds r4, 0x1 -_08097EBA: - cmp r4, r9 - bge _08097ED6 - adds r0, r5, r3 - lsls r1, r4, 2 - ldr r2, [sp, 0x1F0] - adds r1, r2 - ldr r1, [r1] - str r3, [sp, 0x1F4] - bl sub_8097DD0 - lsls r0, 24 - ldr r3, [sp, 0x1F4] - cmp r0, 0 - beq _08097EB8 -_08097ED6: - cmp r4, r9 - bne _08097EF0 - mov r0, r9 - cmp r0, 0x3 - bgt _08097EF0 - adds r0, r5, r3 - mov r1, r10 - adds r1, 0x4 - mov r10, r1 - subs r1, 0x4 - stm r1!, {r0} - movs r2, 0x1 - add r9, r2 -_08097EF0: - adds r7, r6, 0 - cmp r6, 0x62 - bgt _08097F20 - ldr r1, _08097F04 - lsls r0, r6, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08097E90 - b _08097F20 - .align 2, 0 -_08097F04: .4byte gStatusDescriptions -_08097F08: - mov r0, r8 - ldrb r1, [r0] - adds r0, r1, 0 - adds r0, 0x7F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08097F1C - cmp r1, 0x87 - bne _08097F20 -_08097F1C: - movs r1, 0x1 - add r8, r1 -_08097F20: - movs r2, 0x1 - add r8, r2 - mov r1, r8 - ldrb r0, [r1] - cmp r0, 0 - bne _08097E78 -_08097F2C: - mov r0, r9 - add sp, 0x1F8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8097DF0 - - thumb_func_start sub_8097F40 -sub_8097F40: - push {lr} - movs r2, 0 - ldr r1, _08097F58 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08097F50 - movs r2, 0x1 -_08097F50: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_08097F58: .4byte gUnknown_810ACC0 - thumb_func_end sub_8097F40 - - thumb_func_start sub_8097F5C -sub_8097F5C: - ldr r1, _08097F64 - ldr r0, _08097F68 - str r0, [r1] - bx lr - .align 2, 0 -_08097F64: .4byte gUnknown_203B498 -_08097F68: .4byte gUnknown_2039840 - thumb_func_end sub_8097F5C - - thumb_func_start sub_8097F6C -sub_8097F6C: - ldr r0, _08097F70 - bx lr - .align 2, 0 -_08097F70: .4byte gUnknown_2039840 - thumb_func_end sub_8097F6C - - thumb_func_start sub_8097F74 -sub_8097F74: - push {r4,lr} - ldr r4, _08097FA0 - ldr r0, [r4] - movs r1, 0 - movs r2, 0x64 - bl memset - movs r2, 0 - ldr r3, _08097FA4 -_08097F86: - ldr r0, [r4] - adds r0, 0x58 - adds r0, r2 - ldrb r1, [r3, 0x2] - strb r1, [r0] - adds r3, 0x4 - adds r2, 0x1 - cmp r2, 0xB - ble _08097F86 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097FA0: .4byte gUnknown_203B498 -_08097FA4: .4byte gUnknown_810AD0C - thumb_func_end sub_8097F74 - - thumb_func_start sub_8097FA8 -sub_8097FA8: - lsls r0, 24 - ldr r1, _08097FCC - ldr r3, [r1] - lsrs r1, r0, 29 - lsls r1, 2 - adds r3, 0x48 - adds r3, r1 - movs r1, 0xF8 - lsls r1, 21 - ands r1, r0 - lsrs r1, 24 - movs r2, 0x1 - lsls r2, r1 - ldr r0, [r3] - orrs r0, r2 - str r0, [r3] - bx lr - .align 2, 0 -_08097FCC: .4byte gUnknown_203B498 - thumb_func_end sub_8097FA8 - - thumb_func_start sub_8097FD0 -sub_8097FD0: - lsls r0, 24 - ldr r1, _08097FF4 - ldr r3, [r1] - lsrs r1, r0, 29 - lsls r1, 2 - adds r3, 0x3C - adds r3, r1 - movs r1, 0xF8 - lsls r1, 21 - ands r1, r0 - lsrs r1, 24 - movs r2, 0x1 - lsls r2, r1 - ldr r0, [r3] - orrs r0, r2 - str r0, [r3] - bx lr - .align 2, 0 -_08097FF4: .4byte gUnknown_203B498 - thumb_func_end sub_8097FD0 - - thumb_func_start sub_8097FF8 -sub_8097FF8: - push {r4-r7,lr} - movs r4, 0 - ldr r6, _08098040 - movs r7, 0x1 -_08098000: - ldr r5, [r6] - adds r0, r4, 0 - cmp r4, 0 - bge _0809800A - adds r0, 0x1F -_0809800A: - asrs r0, 5 - lsls r3, r0, 2 - adds r1, r5, 0 - adds r1, 0x48 - adds r1, r3 - lsls r0, 5 - subs r0, r4, r0 - adds r2, r7, 0 - lsls r2, r0 - ldr r0, [r1] - ands r0, r2 - cmp r0, 0 - beq _08098030 - adds r1, r5, 0 - adds r1, 0x3C - adds r1, r3 - ldr r0, [r1] - orrs r0, r2 - str r0, [r1] -_08098030: - adds r4, 0x1 - cmp r4, 0x3F - ble _08098000 - bl sub_8098080 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098040: .4byte gUnknown_203B498 - thumb_func_end sub_8097FF8 - - thumb_func_start sub_8098044 -sub_8098044: - push {r4,r5,lr} - lsls r0, 24 - ldr r1, _0809807C - ldr r3, [r1] - lsrs r5, r0, 29 - lsls r5, 2 - adds r4, r3, 0 - adds r4, 0x3C - adds r4, r5 - movs r1, 0xF8 - lsls r1, 21 - ands r1, r0 - lsrs r1, 24 - movs r2, 0x1 - lsls r2, r1 - mvns r2, r2 - ldr r0, [r4] - ands r0, r2 - str r0, [r4] - adds r3, 0x48 - adds r3, r5 - ldr r0, [r3] - ands r0, r2 - str r0, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809807C: .4byte gUnknown_203B498 - thumb_func_end sub_8098044 - - thumb_func_start sub_8098080 -sub_8098080: - push {r4,lr} - movs r2, 0 - ldr r4, _080980A0 - movs r3, 0 -_08098088: - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, 0x48 - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _08098088 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080980A0: .4byte gUnknown_203B498 - thumb_func_end sub_8098080 - - thumb_func_start sub_80980A4 -sub_80980A4: - ldr r0, _080980B0 - ldr r2, [r0] - ldrb r0, [r2] - movs r1, 0x1 - strb r1, [r2] - bx lr - .align 2, 0 -_080980B0: .4byte gUnknown_203B498 - thumb_func_end sub_80980A4 - - thumb_func_start sub_80980B4 -sub_80980B4: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r3, r1, 0 - ldr r0, _080980F8 - cmp r1, r0 - beq _080980F4 - adds r0, 0x1 - cmp r1, r0 - beq _080980F4 - adds r0, 0x1 - cmp r1, r0 - beq _080980F4 - ldr r0, _080980FC - ldr r2, [r0] - adds r0, r1, 0 - cmp r1, 0 - bge _080980DA - adds r0, 0x1F -_080980DA: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x4 - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] -_080980F4: - pop {r0} - bx r0 - .align 2, 0 -_080980F8: .4byte 0x000001a5 -_080980FC: .4byte gUnknown_203B498 - thumb_func_end sub_80980B4 - - thumb_func_start sub_8098100 -sub_8098100: - push {lr} - lsls r1, r0, 24 - lsrs r3, r1, 24 - cmp r3, 0x3F - bls _0809810E - movs r0, 0 - b _0809812C -_0809810E: - ldr r0, _08098130 - ldr r2, [r0] - lsrs r0, r1, 29 - lsls r0, 2 - adds r2, 0x3C - adds r2, r0 - movs r0, 0x1F - ands r0, r3 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _0809812C - movs r0, 0x1 -_0809812C: - pop {r1} - bx r1 - .align 2, 0 -_08098130: .4byte gUnknown_203B498 - thumb_func_end sub_8098100 - - thumb_func_start sub_8098134 -sub_8098134: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r3, r1, 0 - ldr r0, _0809816C - ldr r2, [r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08098148 - adds r0, 0x1F -_08098148: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x4 - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _08098166 - movs r0, 0x1 -_08098166: - pop {r1} - bx r1 - .align 2, 0 -_0809816C: .4byte gUnknown_203B498 - thumb_func_end sub_8098134 - - thumb_func_start sub_8098170 -sub_8098170: - push {lr} - adds r3, r0, 0 - ldr r0, _0809819C - ldr r2, [r0] - adds r0, r3, 0 - cmp r3, 0 - bge _08098180 - adds r0, 0x1F -_08098180: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x54 - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0809819C: .4byte gUnknown_203B498 - thumb_func_end sub_8098170 - - thumb_func_start sub_80981A0 -sub_80981A0: - push {lr} - adds r3, r0, 0 - cmp r3, 0x1E - ble _080981AC - movs r0, 0 - b _080981D4 -_080981AC: - ldr r0, _080981D8 - ldr r2, [r0] - adds r1, r3, 0 - cmp r3, 0 - bge _080981B8 - adds r1, 0x1F -_080981B8: - asrs r1, 5 - lsls r0, r1, 2 - adds r2, 0x54 - adds r2, r0 - lsls r1, 5 - subs r1, r3, r1 - movs r0, 0x1 - lsls r0, r1 - ldr r2, [r2] - ands r2, r0 - cmp r2, 0 - beq _080981D2 - movs r2, 0x1 -_080981D2: - adds r0, r2, 0 -_080981D4: - pop {r1} - bx r1 - .align 2, 0 -_080981D8: .4byte gUnknown_203B498 - thumb_func_end sub_80981A0 - - thumb_func_start sub_80981DC -sub_80981DC: - push {r4,r5,lr} - lsls r0, 16 - asrs r3, r0, 16 - movs r1, 0 - ldr r4, _080981FC - ldr r2, _08098200 -_080981E8: - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r0, r3 - bne _08098204 - ldr r0, [r4] - adds r0, 0x58 - adds r0, r1 - ldrb r0, [r0] - b _0809820E - .align 2, 0 -_080981FC: .4byte gUnknown_203B498 -_08098200: .4byte gUnknown_810AD0C -_08098204: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0xB - ble _080981E8 - movs r0, 0x1 -_0809820E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80981DC - - thumb_func_start sub_8098214 -sub_8098214: - push {r4-r6,lr} - lsls r0, 16 - asrs r3, r0, 16 - movs r1, 0 - ldr r5, _08098240 - movs r4, 0x1 - ldr r2, _08098244 -_08098222: - movs r6, 0 - ldrsh r0, [r2, r6] - cmp r0, r3 - bne _08098232 - ldr r0, [r5] - adds r0, 0x58 - adds r0, r1 - strb r4, [r0] -_08098232: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0xB - ble _08098222 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098240: .4byte gUnknown_203B498 -_08098244: .4byte gUnknown_810AD0C - thumb_func_end sub_8098214 - - thumb_func_start sub_8098248 -sub_8098248: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r7, r0, 0 - mov r5, sp - adds r5, 0x3 - movs r0, 0xFF - strb r0, [r5] - add r4, sp, 0x4 - movs r0, 0 - strb r0, [r4] - ldr r0, _08098300 - ldr r1, [r0] - adds r0, r7, 0 - movs r2, 0x1 - bl sub_809488C - movs r6, 0 - mov r9, r5 - mov r8, r4 - mov r4, sp - adds r4, 0x1 - mov r5, sp - adds r5, 0x2 -_0809827C: - lsls r0, r6, 16 - asrs r0, 16 - bl sub_8098134 - mov r1, sp - strb r0, [r1] - adds r0, r7, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - ldr r0, _08098304 - cmp r6, r0 - ble _0809827C - movs r6, 0 -_0809829A: - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_8098100 - strb r0, [r4] - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - cmp r6, 0x3F - ble _0809829A - movs r6, 0 - adds r4, r5, 0 -_080982B8: - adds r0, r6, 0 - bl sub_80981A0 - strb r0, [r4] - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - cmp r6, 0x1E - ble _080982B8 - movs r6, 0 -_080982D2: - ldr r0, _08098300 - ldr r0, [r0] - adds r0, 0x58 - adds r0, r6 - ldrb r0, [r0] - mov r1, r8 - cmp r0, 0 - beq _080982E4 - mov r1, r9 -_080982E4: - adds r0, r7, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - cmp r6, 0xB - ble _080982D2 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098300: .4byte gUnknown_203B498 -_08098304: .4byte 0x000001a7 - thumb_func_end sub_8098248 - - thumb_func_start sub_8098308 -sub_8098308: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldr r4, _080983D0 - ldr r0, [r4] - movs r1, 0 - movs r2, 0x64 - bl memset - ldr r1, [r4] - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8094924 - movs r4, 0 - mov r5, sp - adds r5, 0x1 - mov r7, sp - adds r7, 0x2 - movs r0, 0x3 - add r0, sp - mov r8, r0 -_08098338: - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _08098352 - lsls r0, r4, 16 - asrs r0, 16 - bl sub_80980B4 -_08098352: - adds r4, 0x1 - ldr r0, _080983D4 - cmp r4, r0 - ble _08098338 - movs r4, 0 -_0809835C: - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8094924 - ldrb r0, [r5] - cmp r0, 0 - beq _08098374 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8097FA8 -_08098374: - adds r4, 0x1 - cmp r4, 0x3F - ble _0809835C - movs r4, 0 - adds r5, r7, 0 -_0809837E: - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8094924 - ldrb r0, [r5] - cmp r0, 0 - beq _08098394 - adds r0, r4, 0 - bl sub_8098170 -_08098394: - adds r4, 0x1 - cmp r4, 0x1E - ble _0809837E - movs r4, 0 -_0809839C: - adds r0, r6, 0 - mov r1, r8 - movs r2, 0x1 - bl sub_8094924 - ldr r0, _080983D0 - ldr r1, [r0] - adds r1, 0x58 - adds r1, r4 - mov r0, sp - adds r0, 0x3 - ldrb r2, [r0] - movs r0, 0x1 - ands r0, r2 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0xB - ble _0809839C - bl sub_8097FF8 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080983D0: .4byte gUnknown_203B498 -_080983D4: .4byte 0x000001a7 - thumb_func_end sub_8098308 - - thumb_func_start sub_80983D8 -sub_80983D8: - push {r4,lr} - movs r2, 0 - ldrsh r3, [r1, r2] - movs r4, 0 - ldrsh r2, [r0, r4] - subs r2, r3, r2 - movs r3, 0x2 - ldrsh r1, [r1, r3] - movs r4, 0x2 - ldrsh r0, [r0, r4] - subs r1, r0 - cmp r2, 0 - bne _080983FA - cmp r1, 0 - bne _080983FA - movs r0, 0 - b _08098428 -_080983FA: - cmp r2, 0 - ble _08098400 - movs r2, 0x1 -_08098400: - cmp r1, 0 - ble _08098406 - movs r1, 0x1 -_08098406: - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - bgt _08098410 - adds r2, r0, 0 -_08098410: - cmp r1, r0 - bgt _08098416 - adds r1, r0, 0 -_08098416: - ldr r3, _08098430 - adds r2, 0x1 - adds r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] -_08098428: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08098430: .4byte gUnknown_8115E94 - thumb_func_end sub_80983D8 - - thumb_func_start sub_8098434 -sub_8098434: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r0, 0 - ldrsh r1, [r3, r0] - movs r2, 0 - ldrsh r0, [r4, r2] - subs r2, r1, r0 - cmp r2, 0 - bge _0809844A - negs r2, r2 -_0809844A: - movs r0, 0x2 - ldrsh r1, [r3, r0] - movs r3, 0x2 - ldrsh r0, [r4, r3] - subs r0, r1, r0 - cmp r0, 0 - bge _0809845A - negs r0, r0 -_0809845A: - cmp r0, r2 - bge _08098460 - adds r0, r2, 0 -_08098460: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8098434 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_8092334.s b/asm/code_8092334.s new file mode 100644 index 0000000..f3275fc --- /dev/null +++ b/asm/code_8092334.s @@ -0,0 +1,13624 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + +@ thumb_func_start sub_8092334 +@sub_8092334: +@ lsls r0, 24 +@ ldr r1, _08092340 +@ lsrs r0, 22 +@ adds r0, r1 +@ ldr r0, [r0] +@ bx lr +@ .align 2, 0 +@_08092340: .4byte gUnknown_810AD4C +@ thumb_func_end sub_8092334 + +@ thumb_func_start sub_8092344 +@sub_8092344: +@ lsls r0, 24 +@ ldr r1, _08092350 +@ lsrs r0, 22 +@ adds r0, r1 +@ ldr r0, [r0] +@ bx lr +@ .align 2, 0 +@_08092350: .4byte gUnknown_810AE24 +@ thumb_func_end sub_8092344 + +@ thumb_func_start sub_8092354 +@sub_8092354: +@ lsls r0, 24 +@ lsrs r0, 24 +@ ldr r1, _08092360 +@ adds r0, r1 +@ ldrb r0, [r0] +@ bx lr +@ .align 2, 0 +@_08092360: .4byte gUnknown_810AC7C +@ thumb_func_end sub_8092354 + +@ thumb_func_start sub_8092364 +@sub_8092364: +@ lsls r0, 24 +@ lsrs r0, 24 +@ ldr r1, _08092370 +@ adds r0, r1 +@ ldrb r0, [r0] +@ bx lr +@ .align 2, 0 +@_08092370: .4byte gUnknown_810AC6A +@ thumb_func_end sub_8092364 + + thumb_func_start sub_8092374 +sub_8092374: + push {lr} + lsls r1, 24 + ldr r2, _0809238C + lsrs r1, 22 + adds r1, r2 + ldr r1, [r1] + movs r2, 0x50 + bl strncpy + pop {r0} + bx r0 + .align 2, 0 +_0809238C: .4byte gUnknown_810B4C8 + thumb_func_end sub_8092374 + + thumb_func_start sub_8092390 +sub_8092390: + lsls r0, 24 + ldr r1, _0809239C + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_0809239C: .4byte gUnknown_810B988 + thumb_func_end sub_8092390 + + thumb_func_start sub_80923A0 +sub_80923A0: + ldr r1, _080923A8 + ldr r0, _080923AC + str r0, [r1] + bx lr + .align 2, 0 +_080923A8: .4byte gUnknown_203B468 +_080923AC: .4byte gUnknown_2038C28 + thumb_func_end sub_80923A0 + + thumb_func_start sub_80923B0 +sub_80923B0: + ldr r0, _080923B4 + bx lr + .align 2, 0 +_080923B4: .4byte gUnknown_2038C28 + thumb_func_end sub_80923B0 + + thumb_func_start sub_80923B8 +sub_80923B8: + push {lr} + movs r1, 0 + ldr r3, _080923D0 + movs r2, 0 +_080923C0: + ldr r0, [r3] + adds r0, r1 + strb r2, [r0] + adds r1, 0x1 + cmp r1, 0x39 + ble _080923C0 + pop {r0} + bx r0 + .align 2, 0 +_080923D0: .4byte gUnknown_203B468 + thumb_func_end sub_80923B8 + + thumb_func_start sub_80923D4 +sub_80923D4: + push {r4,r5,lr} + adds r4, r0, 0 + movs r3, 0 + movs r1, 0 + ldr r2, _080923F0 +_080923DE: + movs r5, 0 + ldrsh r0, [r2, r5] + adds r3, r0 + cmp r3, r4 + ble _080923F4 + lsls r0, r1, 24 + lsrs r0, 24 + b _080923FE + .align 2, 0 +_080923F0: .4byte gUnknown_810AA90 +_080923F4: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x39 + ble _080923DE + movs r0, 0 +_080923FE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80923D4 + + thumb_func_start sub_8092404 +sub_8092404: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r10, r1 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + lsls r3, 24 + lsrs r7, r3, 24 + movs r6, 0 + movs r4, 0 + mov r5, r10 +_08092426: + movs r0, 0x58 + adds r1, r4, 0 + muls r1, r0 + ldr r0, _08092494 + ldr r0, [r0] + adds r2, r1, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08092472 + ldrb r0, [r2, 0x2] + cmp r0, 0 + beq _08092448 + mov r0, r8 + cmp r0, 0 + beq _08092472 +_08092448: + movs r1, 0 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + bne _08092452 + movs r1, 0x1 +_08092452: + cmp r1, 0 + beq _0809245A + cmp r7, 0 + beq _08092472 +_0809245A: + adds r0, r4, 0 + bl sub_80923D4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, r9 + bne _08092472 + cmp r6, 0xF + bgt _08092472 + strh r4, [r5] + adds r5, 0x2 + adds r6, 0x1 +_08092472: + adds r4, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _08092426 + lsls r0, r6, 1 + add r0, r10 + ldr r2, _08092498 + adds r1, r2, 0 + strh r1, [r0] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08092494: .4byte gUnknown_203B45C +_08092498: .4byte 0x0000ffff + thumb_func_end sub_8092404 + + thumb_func_start sub_809249C +sub_809249C: + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r7, r1, 24 + ldr r0, _080924F8 + ldr r0, [r0] + adds r0, r6 + ldrb r0, [r0] + cmp r0, 0 + beq _0809251A + movs r5, 0 +_080924B4: + ldr r2, _080924FC + movs r0, 0x58 + adds r1, r5, 0 + muls r1, r0 + ldr r0, [r2] + adds r4, r0, r1 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08092502 + adds r0, r5, 0 + bl sub_80923D4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, r6 + bne _08092502 + movs r1, 0 + ldrb r0, [r4, 0x4] + cmp r0, 0x41 + bne _080924E2 + movs r1, 0x1 +_080924E2: + cmp r1, 0 + bne _080924F2 + ldrb r1, [r4, 0x2] + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + cmp r0, 0 + beq _08092500 +_080924F2: + movs r7, 0 + b _08092502 + .align 2, 0 +_080924F8: .4byte gUnknown_203B468 +_080924FC: .4byte gUnknown_203B45C +_08092500: + strh r0, [r4] +_08092502: + adds r5, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r5, r0 + ble _080924B4 + cmp r7, 0 + beq _0809251A + ldr r0, _08092520 + ldr r0, [r0] + adds r0, r6 + movs r1, 0 + strb r1, [r0] +_0809251A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08092520: .4byte gUnknown_203B468 + thumb_func_end sub_809249C + + thumb_func_start sub_8092524 +sub_8092524: + lsls r0, 24 + ldr r1, _08092530 + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_08092530: .4byte gFriendAreaNames + thumb_func_end sub_8092524 + + thumb_func_start sub_8092534 +sub_8092534: + lsls r0, 24 + ldr r1, _08092540 + lsrs r0, 21 + adds r0, r1 + ldrb r0, [r0, 0x2] + bx lr + .align 2, 0 +_08092540: .4byte gUnknown_810AA90 + thumb_func_end sub_8092534 + + thumb_func_start sub_8092544 +sub_8092544: + lsls r0, 24 + ldr r1, _08092554 + lsrs r0, 21 + adds r1, 0x4 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_08092554: .4byte gUnknown_810AA90 + thumb_func_end sub_8092544 + + thumb_func_start sub_8092558 +sub_8092558: + push {lr} + lsls r2, r1, 24 + ldr r1, _08092570 + ldr r3, _08092574 + lsrs r2, 22 + adds r2, r3 + ldr r2, [r2] + bl sub_800D158 + pop {r0} + bx r0 + .align 2, 0 +_08092570: .4byte gUnknown_81098A4 +_08092574: .4byte gFriendAreaNames + thumb_func_end sub_8092558 + + thumb_func_start sub_8092578 +sub_8092578: + push {r4,r5,lr} + sub sp, 0x18 + adds r5, r0, 0 + lsls r1, 24 + lsrs r4, r1, 24 + lsls r2, 24 + cmp r2, 0 + beq _080925C0 + ldr r0, _080925B4 + lsls r1, r4, 3 + adds r0, 0x4 + adds r1, r0 + ldr r0, [r1] + add r1, sp, 0x4 + movs r2, 0x1 + bl sub_8090FEC + ldr r1, _080925B8 + ldr r2, _080925BC + lsls r0, r4, 2 + adds r0, r2 + ldr r2, [r0] + add r0, sp, 0x4 + str r0, [sp] + adds r0, r5, 0 + movs r3, 0x60 + bl sub_800D158 + b _080925CE + .align 2, 0 +_080925B4: .4byte gUnknown_810AA90 +_080925B8: .4byte gUnknown_81098AC +_080925BC: .4byte gFriendAreaNames +_080925C0: + ldr r0, _080925D8 + lsls r1, r4, 2 + adds r1, r0 + ldr r1, [r1] + adds r0, r5, 0 + bl strcpy +_080925CE: + add sp, 0x18 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080925D8: .4byte gFriendAreaNames + thumb_func_end sub_8092578 + + thumb_func_start sub_80925DC +sub_80925DC: + lsls r0, 24 + ldr r1, _080925E8 + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_080925E8: .4byte gFriendAreaDescriptions + thumb_func_end sub_80925DC + + thumb_func_start sub_80925EC +sub_80925EC: + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080925FC + ldr r1, [r1] + adds r1, r0 + movs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_080925FC: .4byte gUnknown_203B468 + thumb_func_end sub_80925EC + + thumb_func_start sub_8092600 +sub_8092600: + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08092610 + ldr r1, [r1] + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_08092610: .4byte gUnknown_203B468 + thumb_func_end sub_8092600 + + thumb_func_start sub_8092614 +sub_8092614: + push {lr} + movs r1, 0x1 + ldr r0, _08092628 + ldr r2, [r0] +_0809261C: + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _0809262C + movs r0, 0 + b _08092634 + .align 2, 0 +_08092628: .4byte gUnknown_203B468 +_0809262C: + adds r1, 0x1 + cmp r1, 0x39 + ble _0809261C + movs r0, 0x1 +_08092634: + pop {r1} + bx r1 + thumb_func_end sub_8092614 + + thumb_func_start sub_8092638 +sub_8092638: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r2, 24 + lsrs r2, 24 + mov r12, r2 + lsls r3, 24 + lsrs r3, 24 + mov r8, r3 + movs r6, 0 + movs r3, 0 + ldr r2, _080926DC + cmp r3, r5 + bge _0809266E + ldr r1, _080926E0 + adds r3, r5, 0 +_0809265E: + movs r7, 0 + ldrsh r0, [r1, r7] + adds r6, r0 + adds r1, 0x8 + subs r3, 0x1 + cmp r3, 0 + bne _0809265E + adds r3, r5, 0 +_0809266E: + str r6, [r4, 0x8] + ldr r0, [r2] + adds r0, r3 + ldrb r0, [r0] + strb r0, [r4, 0x4] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080926E8 + movs r0, 0 + strh r0, [r4, 0x2] + ldr r1, _080926E0 + lsls r0, r3, 3 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r4] + movs r3, 0 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r3, r0 + bge _080926EC + ldr r5, _080926E4 +_0809269A: + movs r0, 0x58 + adds r1, r6, 0 + muls r1, r0 + ldr r0, [r5] + adds r2, r0, r1 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080926CC + mov r7, r12 + cmp r7, 0 + beq _080926BA + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _080926CC +_080926BA: + mov r0, r8 + cmp r0, 0 + beq _080926C6 + ldrb r0, [r2, 0x4] + cmp r0, 0x41 + beq _080926CC +_080926C6: + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] +_080926CC: + adds r3, 0x1 + adds r6, 0x1 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r3, r0 + blt _0809269A + b _080926EC + .align 2, 0 +_080926DC: .4byte gUnknown_203B468 +_080926E0: .4byte gUnknown_810AA90 +_080926E4: .4byte gUnknown_203B45C +_080926E8: + strh r0, [r4, 0x2] + strh r0, [r4] +_080926EC: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8092638 + + thumb_func_start sub_80926F8 +sub_80926F8: + push {r4-r7,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r2, 24 + lsrs r7, r2, 24 + movs r5, 0 + movs r2, 0 + ldr r0, _08092780 + mov r12, r0 + cmp r2, r3 + bge _08092724 + ldr r1, _08092784 + adds r2, r3, 0 +_08092714: + movs r6, 0 + ldrsh r0, [r1, r6] + adds r5, r0 + adds r1, 0x8 + subs r2, 0x1 + cmp r2, 0 + bne _08092714 + adds r2, r3, 0 +_08092724: + str r5, [r4, 0x8] + mov r1, r12 + ldr r0, [r1] + adds r0, r2 + ldrb r0, [r0] + strb r0, [r4, 0x4] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _0809279C + movs r0, 0 + strh r0, [r4, 0x2] + ldr r1, _08092784 + lsls r0, r2, 3 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r4] + movs r6, 0 + ldrsh r0, [r4, r6] + cmp r0, 0 + ble _080927A0 + ldr r6, _08092788 + adds r2, r0, 0 +_08092752: + movs r0, 0x58 + adds r1, r5, 0 + muls r1, r0 + ldr r0, [r6] + adds r3, r0, r1 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08092792 + ldrb r0, [r3, 0x2] + cmp r0, 0 + bne _08092776 + cmp r7, 0 + bne _0809278C + ldrb r0, [r3, 0x4] + cmp r0, 0x41 + bne _0809278C +_08092776: + ldrh r0, [r4] + subs r0, 0x1 + strh r0, [r4] + b _08092792 + .align 2, 0 +_08092780: .4byte gUnknown_203B468 +_08092784: .4byte gUnknown_810AA90 +_08092788: .4byte gUnknown_203B45C +_0809278C: + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] +_08092792: + subs r2, 0x1 + adds r5, 0x1 + cmp r2, 0 + bne _08092752 + b _080927A0 +_0809279C: + strh r0, [r4, 0x2] + strh r0, [r4] +_080927A0: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80926F8 + + thumb_func_start sub_80927A8 +sub_80927A8: + push {r4,r5,lr} + sub sp, 0x14 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809486C + movs r4, 0 + add r5, sp, 0x10 +_080927BC: + ldr r0, _080927F0 + ldr r0, [r0] + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _080927CC + movs r0, 0x1 + negs r0, r0 +_080927CC: + str r0, [sp, 0x10] + mov r0, sp + adds r1, r5, 0 + movs r2, 0x1 + bl sub_809488C + adds r4, 0x1 + cmp r4, 0x39 + ble _080927BC + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x14 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080927F0: .4byte gUnknown_203B468 + thumb_func_end sub_80927A8 + + thumb_func_start sub_80927F4 +sub_80927F4: + push {r4-r7,lr} + sub sp, 0x14 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809485C + movs r4, 0 + add r7, sp, 0x10 + movs r6, 0x1 + ldr r5, _08092828 +_0809280C: + mov r0, sp + adds r1, r7, 0 + movs r2, 0x1 + bl sub_8094924 + ldr r1, [sp, 0x10] + ands r1, r6 + cmp r1, 0 + beq _0809282C + ldr r0, [r5] + adds r0, r4 + strb r6, [r0] + b _08092832 + .align 2, 0 +_08092828: .4byte gUnknown_203B468 +_0809282C: + ldr r0, [r5] + adds r0, r4 + strb r1, [r0] +_08092832: + adds r4, 0x1 + cmp r4, 0x39 + ble _0809280C + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x14 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80927F4 + + thumb_func_start LoadWazaParameters +LoadWazaParameters: + push {lr} + ldr r0, _08092868 + ldr r1, _0809286C + bl OpenFileAndGetFileDataPtr + ldr r1, _08092870 + str r0, [r1] + ldr r1, _08092874 + ldr r2, [r0, 0x4] + ldr r0, [r2] + str r0, [r1] + ldr r1, _08092878 + ldr r0, [r2, 0x4] + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08092868: .4byte gUnknown_81098D0 +_0809286C: .4byte gUnknown_8300500 +_08092870: .4byte gWazaParametersFile +_08092874: .4byte gUnknown_2038C68 +_08092878: .4byte gUnknown_2038C6C + thumb_func_end LoadWazaParameters + + thumb_func_start sub_809287C +sub_809287C: + push {lr} + adds r2, r0, 0 + ldrb r1, [r2] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + bne _08092894 + ldrb r1, [r2, 0x1] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08092898 +_08092894: + movs r0, 0x32 + b _0809289A +_08092898: + movs r0, 0x34 +_0809289A: + pop {r1} + bx r1 + thumb_func_end sub_809287C + + thumb_func_start sub_80928A0 +sub_80928A0: + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r2, 0 + mov r0, sp + bl sub_8093F10 + adds r0, r4, 0 + mov r1, sp + adds r2, r5, 0 + bl sub_80928C0 + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80928A0 + + thumb_func_start sub_80928C0 +sub_80928C0: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x20 + adds r7, r0, 0 + adds r4, r1, 0 + adds r5, r2, 0 + adds r0, r4, 0 + bl sub_809287C + lsls r0, 24 + lsrs r6, r0, 24 + cmp r5, 0 + bne _080928DE + ldr r5, _080928F0 +_080928DE: + ldrb r1, [r4, 0x5] + cmp r1, 0 + beq _080928F8 + ldr r1, _080928F4 + ldrb r2, [r4, 0x5] + add r0, sp, 0x14 + bl sub_800D158 + b _080928FC + .align 2, 0 +_080928F0: .4byte gUnknown_81098C4 +_080928F4: .4byte gUnknown_81098DC +_080928F8: + add r0, sp, 0x14 + strb r1, [r0] +_080928FC: + ldrb r0, [r5, 0x8] + cmp r0, 0 + beq _08092904 + movs r6, 0x2 +_08092904: + ldrb r0, [r5, 0x9] + cmp r0, 0 + beq _08092918 + ldrh r0, [r4, 0x2] + bl sub_809422C + lsls r0, 24 + cmp r0, 0 + beq _08092918 + movs r6, 0x2 +_08092918: + ldr r0, [r5] + cmp r0, 0x4 + bls _08092920 + b _08092A6A +_08092920: + lsls r0, 2 + ldr r1, _0809292C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0809292C: .4byte _08092930 + .align 2, 0 +_08092930: + .4byte _08092944 + .4byte _0809296C + .4byte _08092998 + .4byte _080929C4 + .4byte _08092A20 +_08092944: + ldr r1, _08092964 + ldrh r2, [r4, 0x2] + ldr r0, _08092968 + ldr r3, [r0] + lsls r0, r2, 3 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + ldr r3, [r0] + add r0, sp, 0x14 + str r0, [sp] + adds r0, r7, 0 + adds r2, r6, 0 + bl sub_800D158 + b _08092A6A + .align 2, 0 +_08092964: .4byte gUnknown_81098E0 +_08092968: .4byte gUnknown_2038C68 +_0809296C: + adds r0, r4, 0 + bl sub_8092BF4 + adds r3, r0, 0 + ldr r1, _0809298C + mov r8, r1 + ldrb r1, [r4] + movs r0, 0x8 + ands r0, r1 + ldr r1, _08092990 + mov r12, r1 + cmp r0, 0 + beq _080929E2 + ldr r0, _08092994 + b _080929E0 + .align 2, 0 +_0809298C: .4byte gUnknown_81098EC +_08092990: .4byte gUnknown_810990C +_08092994: .4byte gUnknown_8109908 +_08092998: + adds r0, r4, 0 + bl sub_8092BF4 + adds r3, r0, 0 + ldr r0, _080929B8 + mov r8, r0 + ldrb r1, [r4] + movs r0, 0x8 + ands r0, r1 + ldr r1, _080929BC + mov r12, r1 + cmp r0, 0 + beq _080929E2 + ldr r0, _080929C0 + b _080929E0 + .align 2, 0 +_080929B8: .4byte gUnknown_8109910 +_080929BC: .4byte gUnknown_810990C +_080929C0: .4byte gUnknown_8109908 +_080929C4: + adds r0, r4, 0 + bl sub_8092BF4 + adds r3, r0, 0 + ldr r0, _08092A10 + mov r8, r0 + ldrb r1, [r4] + movs r0, 0x4 + ands r0, r1 + ldr r1, _08092A14 + mov r12, r1 + cmp r0, 0 + beq _080929E2 + ldr r0, _08092A18 +_080929E0: + mov r12, r0 +_080929E2: + ldrh r1, [r4, 0x2] + ldr r0, _08092A1C + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r0, [r0] + str r0, [sp] + add r1, sp, 0x14 + str r1, [sp, 0x4] + ldr r0, [r5, 0x4] + str r0, [sp, 0x8] + ldrb r0, [r4, 0x4] + str r0, [sp, 0xC] + str r3, [sp, 0x10] + adds r0, r7, 0 + mov r1, r8 + adds r2, r6, 0 + mov r3, r12 + bl sub_800D158 + b _08092A6A + .align 2, 0 +_08092A10: .4byte gUnknown_81098EC +_08092A14: .4byte gUnknown_810990C +_08092A18: .4byte gUnknown_8109928 +_08092A1C: .4byte gUnknown_2038C68 +_08092A20: + adds r0, r4, 0 + bl sub_8092BF4 + adds r3, r0, 0 + ldr r0, _08092A78 + mov r8, r0 + ldrb r1, [r4] + movs r0, 0x4 + ands r0, r1 + ldr r1, _08092A7C + mov r12, r1 + cmp r0, 0 + beq _08092A3E + ldr r0, _08092A80 + mov r12, r0 +_08092A3E: + ldrh r1, [r4, 0x2] + ldr r0, _08092A84 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r0, [r0] + str r0, [sp] + add r1, sp, 0x14 + str r1, [sp, 0x4] + ldr r0, [r5, 0x4] + str r0, [sp, 0x8] + ldrb r0, [r4, 0x4] + str r0, [sp, 0xC] + str r3, [sp, 0x10] + adds r0, r7, 0 + mov r1, r8 + adds r2, r6, 0 + mov r3, r12 + bl sub_800D158 +_08092A6A: + add sp, 0x20 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08092A78: .4byte gUnknown_8109910 +_08092A7C: .4byte gUnknown_810990C +_08092A80: .4byte gUnknown_8109928 +_08092A84: .4byte gUnknown_2038C68 + thumb_func_end sub_80928C0 + + thumb_func_start sub_8092A88 +sub_8092A88: + push {r4,r5,lr} + adds r4, r0, 0 + movs r2, 0 + movs r0, 0x5 + strb r0, [r4] + strb r2, [r4, 0x1] + movs r5, 0 + strh r1, [r4, 0x2] + adds r0, r4, 0 + bl sub_8092BF4 + strb r0, [r4, 0x4] + strb r5, [r4, 0x5] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8092A88 + + thumb_func_start sub_8092AA8 +sub_8092AA8: + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 16 + lsrs r2, r1, 16 + cmp r2, 0 + bne _08092AB8 + strb r2, [r5] + b _08092ACE +_08092AB8: + movs r1, 0 + movs r0, 0x5 + strb r0, [r5] + strb r1, [r5, 0x1] + movs r4, 0 + strh r2, [r5, 0x2] + adds r0, r5, 0 + bl sub_8092BF4 + strb r0, [r5, 0x4] + strb r4, [r5, 0x5] +_08092ACE: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8092AA8 + + thumb_func_start sub_8092AD4 +sub_8092AD4: + movs r2, 0x5 + strb r2, [r0] + movs r2, 0 + strh r1, [r0, 0x2] + strb r2, [r0, 0x4] + bx lr + thumb_func_end sub_8092AD4 + + thumb_func_start sub_8092AE0 +sub_8092AE0: + ldrh r2, [r0, 0x2] + ldr r0, _08092AFC + ldr r3, [r0] + lsls r0, r2, 3 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + lsls r1, 1 + adds r0, 0x8 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_08092AFC: .4byte gUnknown_2038C68 + thumb_func_end sub_8092AE0 + + thumb_func_start sub_8092B00 +sub_8092B00: + ldrh r1, [r0, 0x2] + ldr r0, _08092B14 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x6] + bx lr + .align 2, 0 +_08092B14: .4byte gUnknown_2038C68 + thumb_func_end sub_8092B00 + + thumb_func_start sub_8092B18 +sub_8092B18: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + adds r2, r1, 0 + ldr r0, _08092B40 + cmp r1, r0 + beq _08092B48 + cmp r1, 0 + beq _08092B48 + movs r0, 0xD2 + lsls r0, 1 + cmp r2, r0 + beq _08092B48 + ldr r0, _08092B44 + ldr r1, [r0] + lsls r0, r2, 3 + adds r0, r1 + ldr r0, [r0] + b _08092B4A + .align 2, 0 +_08092B40: .4byte 0x000001a5 +_08092B44: .4byte gUnknown_2038C6C +_08092B48: + ldr r0, _08092B50 +_08092B4A: + pop {r1} + bx r1 + .align 2, 0 +_08092B50: .4byte gUnknown_810992B + thumb_func_end sub_8092B18 + + thumb_func_start sub_8092B54 +sub_8092B54: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + adds r2, r1, 0 + ldr r0, _08092B7C + cmp r1, r0 + beq _08092B84 + cmp r1, 0 + beq _08092B84 + movs r0, 0xD2 + lsls r0, 1 + cmp r2, r0 + beq _08092B84 + ldr r0, _08092B80 + ldr r1, [r0] + lsls r0, r2, 3 + adds r0, r1 + ldr r0, [r0, 0x4] + b _08092B86 + .align 2, 0 +_08092B7C: .4byte 0x000001a5 +_08092B80: .4byte gUnknown_2038C6C +_08092B84: + ldr r0, _08092B8C +_08092B86: + pop {r1} + bx r1 + .align 2, 0 +_08092B8C: .4byte gUnknown_810992B + thumb_func_end sub_8092B54 + + thumb_func_start sub_8092B90 +sub_8092B90: + ldrh r1, [r0, 0x2] + ldr r0, _08092BA4 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0xD] + bx lr + .align 2, 0 +_08092BA4: .4byte gUnknown_2038C68 + thumb_func_end sub_8092B90 + + thumb_func_start sub_8092BA8 +sub_8092BA8: + ldrh r1, [r0, 0x2] + ldr r0, _08092BBC + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x11] + bx lr + .align 2, 0 +_08092BBC: .4byte gUnknown_2038C68 + thumb_func_end sub_8092BA8 + + thumb_func_start sub_8092BC0 +sub_8092BC0: + ldrh r1, [r0, 0x2] + ldr r0, _08092BD4 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x4 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_08092BD4: .4byte gUnknown_2038C68 + thumb_func_end sub_8092BC0 + + thumb_func_start sub_8092BD8 +sub_8092BD8: + ldrh r2, [r0, 0x2] + ldr r0, _08092BF0 + ldr r3, [r0] + lsls r0, r2, 3 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + adds r0, 0xE + adds r0, r1 + ldrb r0, [r0] + bx lr + .align 2, 0 +_08092BF0: .4byte gUnknown_2038C68 + thumb_func_end sub_8092BD8 + + thumb_func_start sub_8092BF4 +sub_8092BF4: + ldrh r1, [r0, 0x2] + ldr r0, _08092C08 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0xC] + bx lr + .align 2, 0 +_08092C08: .4byte gUnknown_2038C68 + thumb_func_end sub_8092BF4 + + thumb_func_start sub_8092C0C +sub_8092C0C: + ldrh r1, [r0, 0x2] + ldr r0, _08092C20 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x12] + bx lr + .align 2, 0 +_08092C20: .4byte gUnknown_2038C68 + thumb_func_end sub_8092C0C + + thumb_func_start sub_8092C24 +sub_8092C24: + ldrh r1, [r0, 0x2] + ldr r0, _08092C38 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x13] + bx lr + .align 2, 0 +_08092C38: .4byte gUnknown_2038C68 + thumb_func_end sub_8092C24 + + thumb_func_start sub_8092C3C +sub_8092C3C: + ldrh r1, [r0, 0x2] + ldr r0, _08092C50 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x17] + bx lr + .align 2, 0 +_08092C50: .4byte gUnknown_2038C68 + thumb_func_end sub_8092C3C + + thumb_func_start sub_8092C54 +sub_8092C54: + ldrh r1, [r0, 0x2] + ldr r0, _08092C68 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x18] + bx lr + .align 2, 0 +_08092C68: .4byte gUnknown_2038C68 + thumb_func_end sub_8092C54 + + thumb_func_start sub_8092C6C +sub_8092C6C: + ldrh r1, [r0, 0x2] + ldr r0, _08092C80 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x19] + bx lr + .align 2, 0 +_08092C80: .4byte gUnknown_2038C68 + thumb_func_end sub_8092C6C + + thumb_func_start sub_8092C84 +sub_8092C84: + push {r4,lr} + sub sp, 0x8 + adds r4, r0, 0 + lsls r1, 16 + lsrs r1, 16 + mov r0, sp + bl sub_8092A88 + adds r0, r4, 0 + mov r1, sp + movs r2, 0 + bl sub_80928C0 + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8092C84 + + thumb_func_start sub_8092CA8 +sub_8092CA8: + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08092CBC + ldr r2, [r1] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldr r0, [r1, 0x20] + bx lr + .align 2, 0 +_08092CBC: .4byte gUnknown_2038C68 + thumb_func_end sub_8092CA8 + + thumb_func_start sub_8092CC0 +sub_8092CC0: + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08092CD4 + ldr r2, [r1] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x14] + bx lr + .align 2, 0 +_08092CD4: .4byte gUnknown_2038C68 + thumb_func_end sub_8092CC0 + + thumb_func_start sub_8092CD8 +sub_8092CD8: + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08092CEC + ldr r2, [r1] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x15] + bx lr + .align 2, 0 +_08092CEC: .4byte gUnknown_2038C68 + thumb_func_end sub_8092CD8 + + thumb_func_start sub_8092CF0 +sub_8092CF0: + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08092D04 + ldr r2, [r1] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x16] + bx lr + .align 2, 0 +_08092D04: .4byte gUnknown_2038C68 + thumb_func_end sub_8092CF0 + + thumb_func_start sub_8092D08 +sub_8092D08: + push {lr} + adds r2, r0, 0 + ldrh r1, [r2, 0x2] + cmp r1, 0xD9 + beq _08092D4C + movs r0, 0x8E + lsls r0, 1 + cmp r1, r0 + beq _08092D4C + cmp r1, 0x53 + beq _08092D4C + cmp r1, 0x22 + beq _08092D4C + cmp r1, 0x54 + beq _08092D4C + cmp r1, 0xAB + beq _08092D4C + ldr r0, _08092D48 + cmp r1, r0 + beq _08092D4C + cmp r1, 0x1B + beq _08092D4C + cmp r1, 0xF1 + beq _08092D4C + cmp r1, 0x19 + beq _08092D4C + ldrh r0, [r2, 0x2] + cmp r0, 0x1A + beq _08092D4C + movs r0, 0 + b _08092D4E + .align 2, 0 +_08092D48: .4byte 0x00000125 +_08092D4C: + movs r0, 0x1 +_08092D4E: + pop {r1} + bx r1 + thumb_func_end sub_8092D08 + + thumb_func_start sub_8092D54 +sub_8092D54: + push {r4-r6,lr} + adds r6, r0, 0 + adds r0, r1, 0 + ldr r5, _08092D78 + ldr r4, _08092D7C + bl sub_8092C6C + lsls r0, 2 + adds r0, r4 + ldr r2, [r0] + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_800D158 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08092D78: .4byte gUnknown_810992C +_08092D7C: .4byte gUnknown_810CC0C + thumb_func_end sub_8092D54 + + thumb_func_start sub_8092D80 +sub_8092D80: + push {r4,r5,lr} + adds r3, r1, 0 + movs r5, 0 + lsls r1, r3, 3 + adds r1, r0 +_08092D8A: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x4 + beq _08092DB0 + ldrb r2, [r1] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092DB0 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092DAA + adds r0, r3, 0 + b _08092DB2 +_08092DAA: + adds r5, 0x1 + cmp r5, 0x3 + ble _08092D8A +_08092DB0: + movs r0, 0 +_08092DB2: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8092D80 + + thumb_func_start sub_8092DB8 +sub_8092DB8: + push {r4-r6,lr} + adds r4, r0, 0 + movs r5, 0 + movs r6, 0x1 +_08092DC0: + subs r1, 0x1 + cmp r1, 0 + bge _08092DF0 + movs r2, 0x3 + ldrb r1, [r4, 0x18] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08092DD6 + movs r1, 0x3 + b _08092DEC +_08092DD6: + subs r2, 0x1 + cmp r2, 0 + blt _08092E12 + lsls r0, r2, 3 + adds r0, r4 + ldrb r1, [r0] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08092DD6 + adds r1, r2, 0 +_08092DEC: + cmp r2, 0 + blt _08092E12 +_08092DF0: + lsls r0, r1, 3 + adds r0, r4 + ldrb r2, [r0] + movs r3, 0x1 + adds r0, r3, 0 + ands r0, r2 + cmp r0, 0 + beq _08092E12 + lsrs r0, r2, 1 + ands r0, r3 + cmp r0, 0 + bne _08092E0C + adds r0, r1, 0 + b _08092E14 +_08092E0C: + adds r5, 0x1 + cmp r5, 0x3 + ble _08092DC0 +_08092E12: + movs r0, 0 +_08092E14: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8092DB8 + + thumb_func_start sub_8092E1C +sub_8092E1C: + push {r4,r5,lr} + adds r3, r1, 0 + movs r5, 0 + lsls r1, r3, 3 + adds r1, r0 +_08092E26: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x8 + beq _08092E4C + ldrb r2, [r1] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092E4C + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092E46 + adds r0, r3, 0 + b _08092E4E +_08092E46: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092E26 +_08092E4C: + movs r0, 0 +_08092E4E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8092E1C + + thumb_func_start sub_8092E54 +sub_8092E54: + push {r4,r5,lr} + adds r3, r1, 0 + movs r5, 0 + lsls r1, r3, 3 + adds r1, r0 +_08092E5E: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x8 + beq _08092E84 + ldrb r2, [r1] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092E84 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092E7E + adds r0, r3, 0 + b _08092E86 +_08092E7E: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092E5E +_08092E84: + movs r0, 0 +_08092E86: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8092E54 + + thumb_func_start sub_8092E8C +sub_8092E8C: + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + lsls r0, r1, 3 + adds r3, r0, r6 +_08092E96: + subs r3, 0x8 + subs r1, 0x1 + cmp r1, 0 + bge _08092EC6 + movs r3, 0x7 + movs r4, 0x1 + adds r2, r6, 0 + adds r2, 0x38 +_08092EA6: + ldrb r1, [r2] + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _08092EBC + lsrs r0, r1, 1 + ands r0, r4 + cmp r0, 0 + bne _08092EBC + adds r0, r3, 0 + b _08092EE6 +_08092EBC: + subs r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bgt _08092EA6 + b _08092EE4 +_08092EC6: + ldrb r2, [r3] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092EE4 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092EDE + adds r0, r1, 0 + b _08092EE6 +_08092EDE: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092E96 +_08092EE4: + movs r0, 0 +_08092EE6: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8092E8C + + thumb_func_start sub_8092EEC +sub_8092EEC: + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + lsls r0, r1, 3 + adds r3, r0, r6 +_08092EF6: + subs r3, 0x8 + subs r1, 0x1 + cmp r1, 0 + bge _08092F26 + movs r3, 0x7 + movs r4, 0x1 + adds r2, r6, 0 + adds r2, 0x38 +_08092F06: + ldrb r1, [r2] + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _08092F1C + lsrs r0, r1, 1 + ands r0, r4 + cmp r0, 0 + bne _08092F1C + adds r0, r3, 0 + b _08092F46 +_08092F1C: + subs r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bgt _08092F06 + b _08092F44 +_08092F26: + ldrb r2, [r3] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092F44 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092F3E + adds r0, r1, 0 + b _08092F46 +_08092F3E: + adds r5, 0x1 + cmp r5, 0x7 + ble _08092EF6 +_08092F44: + movs r0, 0 +_08092F46: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8092EEC + + thumb_func_start sub_8092F4C +sub_8092F4C: + push {r4,lr} + adds r2, r0, 0 + cmp r1, 0 + ble _08092F78 + movs r4, 0x1 + lsls r0, r1, 3 + adds r3, r0, r2 +_08092F5A: + ldrb r2, [r3] + adds r0, r4, 0 + ands r0, r2 + cmp r0, 0 + beq _08092F78 + lsrs r0, r2, 1 + ands r0, r4 + cmp r0, 0 + bne _08092F70 + adds r0, r1, 0 + b _08092F7A +_08092F70: + subs r3, 0x8 + subs r1, 0x1 + cmp r1, 0 + bgt _08092F5A +_08092F78: + movs r0, 0 +_08092F7A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8092F4C + + thumb_func_start sub_8092F80 +sub_8092F80: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x80 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093784 + mov r0, sp + bl sub_8093744 + adds r3, r0, 0 + cmp r3, 0x2 + bhi _08092FCC + lsls r1, r3, 5 + adds r0, r3, 0x1 + lsls r0, 5 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x3 +_08092FBA: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _08092FBA +_08092FCC: + adds r0, r7, 0 + mov r1, sp + bl sub_80937E0 + movs r3, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r1, r7, 0 +_08092FDC: + ldrb r2, [r1] + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + beq _08092FF0 + adds r0, r4, 0 + ands r0, r2 + strb r0, [r1] + mov r8, r3 + b _08092FF8 +_08092FF0: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x3 + ble _08092FDC +_08092FF8: + mov r0, r8 + add sp, 0x80 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8092F80 + + thumb_func_start sub_8093008 +sub_8093008: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0809307C + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093974 + mov r0, sp + bl sub_80938F4 + adds r3, r0, 0 + cmp r3, 0x6 + bhi _08093056 + lsls r1, r3, 6 + adds r0, r3, 0x1 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_08093044: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _08093044 +_08093056: + adds r0, r7, 0 + mov r1, sp + bl sub_8093A2C + movs r3, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r1, r7, 0 +_08093066: + ldrb r2, [r1] + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + beq _08093080 + adds r0, r4, 0 + ands r0, r2 + strb r0, [r1] + mov r8, r3 + b _08093088 + .align 2, 0 +_0809307C: .4byte 0xfffffe00 +_08093080: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _08093066 +_08093088: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093008 + + thumb_func_start sub_809309C +sub_809309C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _08093110 + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_80939D0 + mov r0, sp + bl sub_8093934 + adds r3, r0, 0 + cmp r3, 0x6 + bhi _080930EA + lsls r1, r3, 6 + adds r0, r3, 0x1 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_080930D8: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _080930D8 +_080930EA: + adds r0, r7, 0 + mov r1, sp + bl sub_8093B40 + movs r3, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r1, r7, 0 +_080930FA: + ldrb r2, [r1] + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + beq _08093114 + adds r0, r4, 0 + ands r0, r2 + strb r0, [r1] + mov r8, r3 + b _0809311C + .align 2, 0 +_08093110: .4byte 0xfffffe00 +_08093114: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _080930FA +_0809311C: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_809309C + + thumb_func_start sub_8093130 +sub_8093130: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x80 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093784 + mov r0, sp + bl sub_8093744 + adds r1, r0, 0 + subs r0, r1, 0x1 + cmp r0, 0x2 + bhi _0809317C + lsls r1, 5 + lsls r0, 5 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x3 +_0809316A: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _0809316A +_0809317C: + adds r0, r7, 0 + mov r1, sp + bl sub_80937E0 + movs r1, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r2, r7, 0 +_0809318C: + ldrb r3, [r2] + adds r0, r5, 0 + ands r0, r3 + cmp r0, 0 + beq _080931A0 + adds r0, r4, 0 + ands r0, r3 + strb r0, [r2] + mov r8, r1 + b _080931A8 +_080931A0: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x3 + ble _0809318C +_080931A8: + mov r0, r8 + add sp, 0x80 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093130 + + thumb_func_start sub_80931B8 +sub_80931B8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0809322C + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_8093974 + mov r0, sp + bl sub_80938F4 + adds r1, r0, 0 + subs r0, r1, 0x1 + cmp r0, 0x6 + bhi _08093206 + lsls r1, 6 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_080931F4: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _080931F4 +_08093206: + adds r0, r7, 0 + mov r1, sp + bl sub_8093A2C + movs r1, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r2, r7, 0 +_08093216: + ldrb r3, [r2] + adds r0, r5, 0 + ands r0, r3 + cmp r0, 0 + beq _08093230 + adds r0, r4, 0 + ands r0, r3 + strb r0, [r2] + mov r8, r1 + b _08093238 + .align 2, 0 +_0809322C: .4byte 0xfffffe00 +_08093230: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x7 + ble _08093216 +_08093238: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80931B8 + + thumb_func_start sub_809324C +sub_809324C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _080932C0 + add sp, r4 + adds r7, r0, 0 + mov r8, r1 + lsls r0, r1, 3 + adds r0, r7, r0 + ldrb r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r7, 0 + mov r1, sp + bl sub_80939D0 + mov r0, sp + bl sub_8093934 + adds r1, r0, 0 + subs r0, r1, 0x1 + cmp r0, 0x6 + bhi _0809329A + lsls r1, 6 + lsls r0, 6 + mov r2, sp + adds r5, r0, r2 + adds r4, r1, r2 + movs r6, 0x7 +_08093288: + ldr r2, [r4] + ldr r3, [r4, 0x4] + ldr r0, [r5] + ldr r1, [r5, 0x4] + stm r4!, {r0,r1} + stm r5!, {r2,r3} + subs r6, 0x1 + cmp r6, 0 + bge _08093288 +_0809329A: + adds r0, r7, 0 + mov r1, sp + bl sub_8093B40 + movs r1, 0 + movs r5, 0x80 + movs r4, 0x7F + adds r2, r7, 0 +_080932AA: + ldrb r3, [r2] + adds r0, r5, 0 + ands r0, r3 + cmp r0, 0 + beq _080932C4 + adds r0, r4, 0 + ands r0, r3 + strb r0, [r2] + mov r8, r1 + b _080932CC + .align 2, 0 +_080932C0: .4byte 0xfffffe00 +_080932C4: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x7 + ble _080932AA +_080932CC: + mov r0, r8 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_809324C + + thumb_func_start sub_80932E0 +sub_80932E0: + push {lr} + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _080932F4 + movs r0, 0 + b _080932F6 +_080932F4: + movs r0, 0x1 +_080932F6: + pop {r1} + bx r1 + thumb_func_end sub_80932E0 + + thumb_func_start sub_80932FC +sub_80932FC: + push {lr} + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + bne _08093310 + movs r0, 0 + b _08093312 +_08093310: + movs r0, 0x1 +_08093312: + pop {r1} + bx r1 + thumb_func_end sub_80932FC + + thumb_func_start sub_8093318 +sub_8093318: + push {r4,lr} + sub sp, 0x40 + adds r4, r0, 0 + mov r0, sp + movs r2, 0x40 + bl MemoryCopy8 + adds r0, r4, 0 + mov r1, sp + bl sub_8093400 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x40 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8093318 + + thumb_func_start sub_809333C +sub_809333C: + push {r4,lr} + sub sp, 0x40 + adds r4, r0, 0 + mov r0, sp + movs r2, 0x40 + bl MemoryCopy8 + adds r0, r4, 0 + mov r1, sp + bl sub_8093468 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x40 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809333C + + thumb_func_start sub_8093360 +sub_8093360: + push {r4,lr} + sub sp, 0x40 + adds r4, r0, 0 + mov r0, sp + movs r2, 0x40 + bl MemoryCopy8 + adds r0, r4, 0 + mov r1, sp + bl sub_80933D8 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x40 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8093360 + + thumb_func_start sub_8093384 +sub_8093384: + push {lr} + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _08093398 + movs r0, 0x1 + b _0809339A +_08093398: + movs r0, 0 +_0809339A: + pop {r1} + bx r1 + thumb_func_end sub_8093384 + + thumb_func_start sub_80933A0 +sub_80933A0: + push {r4-r6,lr} + movs r4, 0 + movs r6, 0x1 + movs r5, 0x2 + movs r3, 0x7 +_080933AA: + ldrb r2, [r1] + adds r0, r6, 0 + ands r0, r2 + cmp r0, 0 + beq _080933BE + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + bne _080933BE + adds r4, 0x1 +_080933BE: + adds r1, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _080933AA + cmp r4, 0x1 + bgt _080933CE + movs r0, 0 + b _080933D0 +_080933CE: + movs r0, 0x1 +_080933D0: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80933A0 + + thumb_func_start sub_80933D8 +sub_80933D8: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl sub_8093400 + lsls r0, 24 + cmp r0, 0 + bne _080933F6 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8093468 + lsls r0, 24 + lsrs r0, 24 + b _080933F8 +_080933F6: + movs r0, 0x1 +_080933F8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80933D8 + + thumb_func_start sub_8093400 +sub_8093400: + push {r4-r7,lr} + adds r4, r0, 0 + adds r7, r1, 0 + lsls r0, r4, 3 + adds r0, r7, r0 + ldrh r0, [r0, 0x2] + bl sub_809422C + lsls r0, 24 + cmp r0, 0 + beq _08093428 + b _08093460 +_08093418: + adds r0, r1, 0 + orrs r0, r2 + strb r0, [r6] + adds r0, r7, 0 + bl sub_809371C + movs r0, 0x1 + b _08093462 +_08093428: + adds r5, r4, 0x1 + cmp r5, 0x7 + bgt _08093460 + lsls r0, r5, 3 + adds r4, r0, r7 + adds r6, r4, 0 +_08093434: + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093460 + ldrh r0, [r4, 0x2] + bl sub_809422C + lsls r0, 24 + cmp r0, 0 + bne _08093460 + ldrb r1, [r4] + movs r2, 0x2 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093418 + adds r4, 0x8 + adds r6, 0x8 + adds r5, 0x1 + cmp r5, 0x7 + ble _08093434 +_08093460: + movs r0, 0 +_08093462: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093400 + + thumb_func_start sub_8093468 +sub_8093468: + push {r4-r7,lr} + adds r6, r1, 0 + movs r5, 0 + adds r1, r0, 0x1 + movs r4, 0 + cmp r1, 0x7 + bgt _080934A0 + movs r0, 0x2 + mov r12, r0 + movs r7, 0xFD + lsls r0, r1, 3 + adds r3, r0, r6 +_08093480: + ldrb r2, [r3] + mov r0, r12 + ands r0, r2 + cmp r0, 0 + beq _080934A0 + adds r0, r7, 0 + ands r0, r2 + strb r0, [r3] + movs r5, 0x1 + adds r3, 0x8 + adds r1, 0x1 + adds r4, 0x1 + cmp r4, 0x7 + bgt _080934A0 + cmp r1, 0x7 + ble _08093480 +_080934A0: + adds r0, r6, 0 + bl sub_809371C + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093468 + + thumb_func_start sub_80934B0 +sub_80934B0: + push {lr} + adds r2, r0, 0 + adds r0, r2, 0x1 + cmp r0, 0x7 + bgt _080934D2 + lsls r0, r2, 3 + adds r0, 0x8 + adds r0, r1, r0 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080934D2 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080934D6 +_080934D2: + movs r0, 0 + b _080934D8 +_080934D6: + movs r0, 0x1 +_080934D8: + pop {r1} + bx r1 + thumb_func_end sub_80934B0 + + thumb_func_start sub_80934DC +sub_80934DC: + push {r4-r7,lr} + adds r5, r1, 0 + lsls r0, 3 + adds r4, r5, r0 + ldrb r1, [r4] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080934F4 + movs r0, 0xF7 + ands r0, r1 + b _0809351A +_080934F4: + movs r7, 0x1 + movs r6, 0xF7 + adds r1, r5, 0 + movs r3, 0x3 +_080934FC: + ldrb r2, [r1] + adds r0, r7, 0 + ands r0, r2 + cmp r0, 0 + beq _0809350C + adds r0, r6, 0 + ands r0, r2 + strb r0, [r1] +_0809350C: + adds r1, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _080934FC + ldrb r1, [r4] + movs r0, 0x8 + orrs r0, r1 +_0809351A: + strb r0, [r4] + adds r0, r5, 0 + bl sub_809371C + movs r0, 0x1 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80934DC + + thumb_func_start sub_809352C +sub_809352C: + push {lr} + lsls r0, 3 + adds r0, r1, r0 + ldrb r3, [r0] + movs r2, 0xF7 + ands r2, r3 + strb r2, [r0] + adds r0, r1, 0 + bl sub_809371C + pop {r0} + bx r0 + thumb_func_end sub_809352C + + thumb_func_start sub_8093544 +sub_8093544: + push {lr} + lsls r0, 3 + adds r0, r1, r0 + ldrb r2, [r0] + movs r3, 0x4 + eors r2, r3 + strb r2, [r0] + adds r0, r1, 0 + bl sub_809371C + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8093544 + + thumb_func_start sub_8093560 +sub_8093560: + push {r4-r7,lr} + adds r4, r0, 0 + adds r6, r1, 0 + movs r5, 0x1 + lsls r0, r4, 3 + adds r0, r6, r0 + ldrh r0, [r0, 0x2] + strh r0, [r2] + movs r1, 0 + adds r0, r2, 0x2 + movs r3, 0x2 +_08093576: + strh r1, [r0] + adds r0, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _08093576 + adds r4, 0x1 + adds r2, 0x2 + cmp r4, 0x7 + bgt _080935B0 + cmp r5, 0x3 + bgt _080935B0 + movs r7, 0x2 + lsls r0, r4, 3 + adds r3, r0, r6 +_08093592: + ldrb r1, [r3] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _080935B0 + ldrh r0, [r3, 0x2] + strh r0, [r2] + adds r2, 0x2 + adds r5, 0x1 + adds r3, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + bgt _080935B0 + cmp r5, 0x3 + ble _08093592 +_080935B0: + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093560 + + thumb_func_start sub_80935B8 +sub_80935B8: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r5, r0, 0 + movs r0, 0x63 + mov r12, r0 + movs r0, 0 + mov r8, r0 + movs r6, 0 + adds r4, r1, 0 + cmp r4, 0 + blt _08093606 + lsls r0, r4, 3 + adds r2, r5, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093606 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093606 + movs r7, 0x1 + movs r3, 0x2 +_080935EC: + subs r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + blt _08093606 + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093606 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + bne _080935EC +_08093606: + adds r2, r4, 0x1 + mov r9, r2 + cmp r2, 0x3 + bgt _08093642 + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093642 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093642 + movs r6, 0x1 + movs r7, 0x2 +_08093628: + adds r3, 0x8 + adds r2, 0x1 + cmp r2, 0x3 + bgt _08093642 + ldrb r1, [r3] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08093642 + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _08093628 +_08093642: + cmp r6, 0 + bne _0809364A + movs r0, 0x63 + b _080936CC +_0809364A: + movs r6, 0 + b _08093668 +_0809364E: + ldrb r0, [r3, 0x4] + cmp r12, r0 + ble _08093656 + mov r12, r0 +_08093656: + cmp r0, 0 + bne _0809365C + movs r6, 0x1 +_0809365C: + ldrb r1, [r3, 0x1] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _08093668 + movs r6, 0x1 +_08093668: + subs r2, 0x1 + cmp r2, r4 + blt _0809367C + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0809364E +_0809367C: + cmp r6, 0 + beq _080936C6 + mov r2, r9 + cmp r2, 0x3 + bgt _080936C0 + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080936C0 + movs r6, 0x2 + movs r4, 0xFD +_08093698: + ldrb r1, [r3] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _080936C0 + adds r0, r4, 0 + ands r0, r1 + strb r0, [r3] + movs r0, 0x1 + mov r8, r0 + adds r2, 0x1 + cmp r2, 0x3 + bgt _080936C0 + lsls r0, r2, 3 + adds r3, r5, r0 + ldrb r1, [r3] + mov r0, r8 + ands r0, r1 + cmp r0, 0 + bne _08093698 +_080936C0: + mov r0, r8 + cmp r0, 0 + bne _080936CA +_080936C6: + mov r0, r12 + b _080936CC +_080936CA: + movs r0, 0 +_080936CC: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80935B8 + + thumb_func_start sub_80936D8 +sub_80936D8: + push {r4,lr} + sub sp, 0x80 + adds r4, r0, 0 + mov r1, sp + bl sub_8093784 + adds r0, r4, 0 + mov r1, sp + bl sub_80937E0 + add sp, 0x80 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80936D8 + + thumb_func_start sub_80936F4 +sub_80936F4: + push {r4,lr} + ldr r4, _08093718 + add sp, r4 + adds r4, r0, 0 + mov r1, sp + bl sub_8093974 + adds r0, r4, 0 + mov r1, sp + bl sub_8093A2C + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08093718: .4byte 0xfffffe00 + thumb_func_end sub_80936F4 + + thumb_func_start sub_809371C +sub_809371C: + push {r4,lr} + ldr r4, _08093740 + add sp, r4 + adds r4, r0, 0 + mov r1, sp + bl sub_80939D0 + adds r0, r4, 0 + mov r1, sp + bl sub_8093B40 + movs r3, 0x80 + lsls r3, 2 + add sp, r3 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08093740: .4byte 0xfffffe00 + thumb_func_end sub_809371C + + thumb_func_start sub_8093744 +sub_8093744: + push {r4-r7,lr} + adds r7, r0, 0 + movs r4, 0 + movs r6, 0x1 + movs r5, 0x80 +_0809374E: + movs r3, 0 + lsls r0, r4, 5 + adds r2, r0, r7 +_08093754: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0809376A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0809376A + adds r0, r4, 0 + b _0809377C +_0809376A: + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x3 + ble _08093754 + adds r4, 0x1 + cmp r4, 0x3 + ble _0809374E + movs r0, 0x1 + negs r0, r0 +_0809377C: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093744 + + thumb_func_start sub_8093784 +sub_8093784: + push {r4-r7,lr} + adds r6, r0, 0 + movs r2, 0 + movs r4, 0 +_0809378C: + lsls r0, r2, 5 + adds r2, 0x1 + movs r3, 0x3 + adds r0, r1 + adds r0, 0x18 +_08093796: + strb r4, [r0] + subs r0, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093796 + cmp r2, 0x3 + ble _0809378C + movs r3, 0 + movs r5, 0 + adds r4, r1, 0 + subs r4, 0x20 + movs r7, 0x2 +_080937AE: + cmp r5, 0 + beq _080937BC + ldrb r1, [r6] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _080937C0 +_080937BC: + adds r4, 0x20 + movs r3, 0 +_080937C0: + lsls r2, r3, 3 + adds r2, r4 + ldm r6!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + strb r0, [r2] + adds r3, 0x1 + adds r5, 0x1 + cmp r5, 0x3 + ble _080937AE + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093784 + + thumb_func_start sub_80937E0 +sub_80937E0: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + str r0, [sp, 0x8] + mov r9, r1 + movs r0, 0 + mov r8, r0 + movs r6, 0 + add r1, sp, 0x4 + mov r10, r1 + mov r12, r6 + movs r3, 0x1 +_080937FE: + mov r2, sp + adds r0, r2, r6 + mov r7, r12 + strb r7, [r0] + mov r1, sp + adds r1, r6 + adds r1, 0x4 + mov r2, r12 + strb r2, [r1] + adds r7, r0, 0 + lsls r0, r6, 5 + adds r6, 0x1 + adds r5, r1, 0 + mov r1, r9 + adds r2, r0, r1 + movs r4, 0x3 +_0809381E: + ldrb r1, [r2] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0809383E + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08093832 + strb r3, [r7] +_08093832: + ldrb r1, [r2] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0809383E + strb r3, [r5] +_0809383E: + adds r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + bge _0809381E + cmp r6, 0x3 + ble _080937FE + movs r6, 0 + mov r2, r8 + lsls r2, 3 + str r2, [sp, 0xC] +_08093852: + movs r4, 0 + lsls r0, r6, 5 + mov r7, r9 + adds r5, r0, r7 + ldr r0, [sp, 0xC] + ldr r1, [sp, 0x8] + adds r2, r0, r1 + mov r7, r10 + adds r7, r6 + mov r12, r7 +_08093866: + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080938D6 + ldr r0, [r5] + ldr r1, [r5, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + cmp r4, 0 + bne _08093884 + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + b _0809388A +_08093884: + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 +_0809388A: + strb r0, [r2] + ldrb r0, [r2] + movs r3, 0xF7 + ands r3, r0 + movs r1, 0 + movs r0, 0xFB + ands r3, r0 + strb r3, [r2] + mov r7, sp + adds r0, r7, r6 + ldrb r0, [r0] + cmp r0, 0 + beq _080938B0 + cmp r4, 0 + bne _080938B0 + movs r1, 0x8 + adds r0, r3, 0 + orrs r0, r1 + strb r0, [r2] +_080938B0: + mov r1, r12 + ldrb r0, [r1] + cmp r0, 0 + beq _080938C4 + cmp r4, 0 + bne _080938C4 + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080938C4: + adds r2, 0x8 + ldr r7, [sp, 0xC] + adds r7, 0x8 + str r7, [sp, 0xC] + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x4 + beq _080938E4 +_080938D6: + adds r5, 0x8 + adds r4, 0x1 + cmp r4, 0x3 + ble _08093866 + adds r6, 0x1 + cmp r6, 0x3 + ble _08093852 +_080938E4: + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80937E0 + + thumb_func_start sub_80938F4 +sub_80938F4: + push {r4-r7,lr} + adds r7, r0, 0 + movs r4, 0 + movs r6, 0x1 + movs r5, 0x80 +_080938FE: + movs r3, 0 + lsls r0, r4, 6 + adds r2, r0, r7 +_08093904: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0809391A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0809391A + adds r0, r4, 0 + b _0809392C +_0809391A: + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _08093904 + adds r4, 0x1 + cmp r4, 0x7 + ble _080938FE + movs r0, 0x1 + negs r0, r0 +_0809392C: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80938F4 + + thumb_func_start sub_8093934 +sub_8093934: + push {r4-r7,lr} + adds r7, r0, 0 + movs r4, 0 + movs r6, 0x1 + movs r5, 0x80 +_0809393E: + movs r3, 0 + lsls r0, r4, 6 + adds r2, r0, r7 +_08093944: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0809395A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _0809395A + adds r0, r4, 0 + b _0809396C +_0809395A: + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _08093944 + adds r4, 0x1 + cmp r4, 0x7 + ble _0809393E + movs r0, 0x1 + negs r0, r0 +_0809396C: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8093934 + + thumb_func_start sub_8093974 +sub_8093974: + push {r4-r7,lr} + adds r6, r0, 0 + movs r2, 0 + movs r4, 0 +_0809397C: + lsls r0, r2, 6 + adds r2, 0x1 + movs r3, 0x7 + adds r0, r1 + adds r0, 0x38 +_08093986: + strb r4, [r0] + subs r0, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093986 + cmp r2, 0x7 + ble _0809397C + movs r3, 0 + movs r5, 0 + adds r4, r1, 0 + subs r4, 0x40 + movs r7, 0x2 +_0809399E: + cmp r5, 0 + beq _080939AC + ldrb r1, [r6] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _080939B0 +_080939AC: + adds r4, 0x40 + movs r3, 0 +_080939B0: + lsls r2, r3, 3 + adds r2, r4 + ldm r6!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + strb r0, [r2] + adds r3, 0x1 + adds r5, 0x1 + cmp r5, 0x7 + ble _0809399E + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093974 + + thumb_func_start sub_80939D0 +sub_80939D0: + push {r4-r7,lr} + adds r6, r0, 0 + movs r2, 0 + movs r4, 0 +_080939D8: + lsls r0, r2, 6 + adds r2, 0x1 + movs r3, 0x7 + adds r0, r1 + adds r0, 0x38 +_080939E2: + strb r4, [r0] + subs r0, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _080939E2 + cmp r2, 0x7 + ble _080939D8 + movs r3, 0 + movs r5, 0 + adds r4, r1, 0 + subs r4, 0x40 + movs r7, 0x2 +_080939FA: + cmp r5, 0 + beq _08093A08 + ldrb r1, [r6] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _08093A0C +_08093A08: + adds r4, 0x40 + movs r3, 0 +_08093A0C: + lsls r2, r3, 3 + adds r2, r4 + ldm r6!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + strb r0, [r2] + adds r3, 0x1 + adds r5, 0x1 + cmp r5, 0x7 + ble _080939FA + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80939D0 + + thumb_func_start sub_8093A2C +sub_8093A2C: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + str r0, [sp, 0x10] + mov r9, r1 + movs r0, 0 + mov r8, r0 + movs r6, 0 + add r1, sp, 0x8 + mov r10, r1 + mov r12, r6 + movs r3, 0x1 +_08093A4A: + mov r2, sp + adds r0, r2, r6 + mov r7, r12 + strb r7, [r0] + mov r1, sp + adds r1, r6 + adds r1, 0x8 + mov r2, r12 + strb r2, [r1] + adds r7, r0, 0 + lsls r0, r6, 6 + adds r6, 0x1 + adds r5, r1, 0 + mov r1, r9 + adds r2, r0, r1 + movs r4, 0x7 +_08093A6A: + ldrb r1, [r2] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _08093A8A + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08093A7E + strb r3, [r7] +_08093A7E: + ldrb r1, [r2] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08093A8A + strb r3, [r5] +_08093A8A: + adds r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + bge _08093A6A + cmp r6, 0x7 + ble _08093A4A + movs r6, 0 + mov r2, r8 + lsls r2, 3 + str r2, [sp, 0x14] +_08093A9E: + movs r4, 0 + lsls r0, r6, 6 + mov r7, r9 + adds r5, r0, r7 + ldr r0, [sp, 0x14] + ldr r1, [sp, 0x10] + adds r2, r0, r1 + mov r7, r10 + adds r7, r6 + mov r12, r7 +_08093AB2: + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093B22 + ldr r0, [r5] + ldr r1, [r5, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + cmp r4, 0 + bne _08093AD0 + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + b _08093AD6 +_08093AD0: + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 +_08093AD6: + strb r0, [r2] + ldrb r0, [r2] + movs r3, 0xF7 + ands r3, r0 + movs r1, 0 + movs r0, 0xFB + ands r3, r0 + strb r3, [r2] + mov r7, sp + adds r0, r7, r6 + ldrb r0, [r0] + cmp r0, 0 + beq _08093AFC + cmp r4, 0 + bne _08093AFC + movs r1, 0x8 + adds r0, r3, 0 + orrs r0, r1 + strb r0, [r2] +_08093AFC: + mov r1, r12 + ldrb r0, [r1] + cmp r0, 0 + beq _08093B10 + cmp r4, 0 + bne _08093B10 + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_08093B10: + adds r2, 0x8 + ldr r7, [sp, 0x14] + adds r7, 0x8 + str r7, [sp, 0x14] + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x8 + beq _08093B30 +_08093B22: + adds r5, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093AB2 + adds r6, 0x1 + cmp r6, 0x7 + ble _08093A9E +_08093B30: + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093A2C + + thumb_func_start sub_8093B40 +sub_8093B40: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + str r0, [sp, 0x10] + mov r9, r1 + movs r0, 0 + mov r8, r0 + movs r6, 0 + add r1, sp, 0x8 + mov r10, r1 + mov r12, r6 + movs r3, 0x1 +_08093B5E: + mov r2, sp + adds r0, r2, r6 + mov r7, r12 + strb r7, [r0] + mov r1, sp + adds r1, r6 + adds r1, 0x8 + mov r2, r12 + strb r2, [r1] + adds r7, r0, 0 + lsls r0, r6, 6 + adds r6, 0x1 + adds r5, r1, 0 + mov r1, r9 + adds r2, r0, r1 + movs r4, 0x7 +_08093B7E: + ldrb r1, [r2] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _08093B9E + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08093B92 + strb r3, [r7] +_08093B92: + ldrb r1, [r2] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08093B9E + strb r3, [r5] +_08093B9E: + adds r2, 0x8 + subs r4, 0x1 + cmp r4, 0 + bge _08093B7E + cmp r6, 0x7 + ble _08093B5E + movs r6, 0 + mov r2, r8 + lsls r2, 3 + str r2, [sp, 0x14] +_08093BB2: + movs r4, 0 + lsls r0, r6, 6 + mov r7, r9 + adds r5, r0, r7 + ldr r0, [sp, 0x14] + ldr r1, [sp, 0x10] + adds r2, r0, r1 + mov r7, r10 + adds r7, r6 + mov r12, r7 +_08093BC6: + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093C36 + ldr r0, [r5] + ldr r1, [r5, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + cmp r4, 0 + bne _08093BE4 + ldrb r1, [r2] + movs r0, 0xFD + ands r0, r1 + b _08093BEA +_08093BE4: + ldrb r0, [r2] + movs r1, 0x2 + orrs r0, r1 +_08093BEA: + strb r0, [r2] + ldrb r0, [r2] + movs r3, 0xF7 + ands r3, r0 + movs r1, 0 + movs r0, 0xFB + ands r3, r0 + strb r3, [r2] + mov r7, sp + adds r0, r7, r6 + ldrb r0, [r0] + cmp r0, 0 + beq _08093C10 + cmp r4, 0 + bne _08093C10 + movs r1, 0x8 + adds r0, r3, 0 + orrs r0, r1 + strb r0, [r2] +_08093C10: + mov r1, r12 + ldrb r0, [r1] + cmp r0, 0 + beq _08093C24 + cmp r4, 0 + bne _08093C24 + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_08093C24: + adds r2, 0x8 + ldr r7, [sp, 0x14] + adds r7, 0x8 + str r7, [sp, 0x14] + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x8 + beq _08093C44 +_08093C36: + adds r5, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093BC6 + adds r6, 0x1 + cmp r6, 0x7 + ble _08093BB2 +_08093C44: + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093B40 + + thumb_func_start sub_8093C54 +sub_8093C54: + push {r4-r7,lr} + sub sp, 0x40 + adds r6, r0, 0 + lsls r0, r1, 3 + adds r0, r6 + movs r2, 0 + strb r2, [r0] + adds r3, r1, 0x1 + cmp r3, 0x7 + bgt _08093CA6 + lsls r0, r3, 3 + adds r4, r6, r0 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093CA6 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093CA6 + mov r12, r2 + movs r7, 0x1 + adds r2, r4, 0 + movs r5, 0x2 +_08093C86: + mov r0, r12 + strb r0, [r4] + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + bgt _08093CA6 + adds r4, r2, 0 + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093CA6 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _08093C86 +_08093CA6: + movs r4, 0 + movs r7, 0x1 + adds r2, r6, 0 + mov r5, sp + movs r3, 0x7 +_08093CB0: + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093CC2 + ldr r0, [r2] + ldr r1, [r2, 0x4] + stm r5!, {r0,r1} + adds r4, 0x1 +_08093CC2: + adds r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093CB0 + cmp r4, 0x7 + bgt _08093CDE + movs r1, 0 + lsls r0, r4, 3 + add r0, sp +_08093CD4: + strb r1, [r0] + adds r0, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093CD4 +_08093CDE: + mov r4, sp + adds r2, r6, 0 + movs r3, 0x7 +_08093CE4: + ldm r4!, {r0,r1} + stm r2!, {r0,r1} + subs r3, 0x1 + cmp r3, 0 + bge _08093CE4 + add sp, 0x40 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093C54 + + thumb_func_start sub_8093CF8 +sub_8093CF8: + push {r4-r7,lr} + sub sp, 0x40 + adds r6, r0, 0 + lsls r0, r1, 3 + adds r0, r6 + movs r2, 0 + strb r2, [r0] + adds r3, r1, 0x1 + cmp r3, 0x7 + bgt _08093D4A + lsls r0, r3, 3 + adds r4, r6, r0 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093D4A + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08093D4A + mov r12, r2 + movs r7, 0x1 + adds r2, r4, 0 + movs r5, 0x2 +_08093D2A: + mov r0, r12 + strb r0, [r4] + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + bgt _08093D4A + adds r4, r2, 0 + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093D4A + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _08093D2A +_08093D4A: + movs r4, 0 + movs r7, 0x1 + adds r2, r6, 0 + mov r5, sp + movs r3, 0x7 +_08093D54: + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _08093D66 + ldr r0, [r2] + ldr r1, [r2, 0x4] + stm r5!, {r0,r1} + adds r4, 0x1 +_08093D66: + adds r2, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093D54 + cmp r4, 0x7 + bgt _08093D82 + movs r1, 0 + lsls r0, r4, 3 + add r0, sp +_08093D78: + strb r1, [r0] + adds r0, 0x8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08093D78 +_08093D82: + mov r4, sp + adds r2, r6, 0 + movs r3, 0x7 +_08093D88: + ldm r4!, {r0,r1} + stm r2!, {r0,r1} + subs r3, 0x1 + cmp r3, 0 + bge _08093D88 + add sp, 0x40 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093CF8 + + thumb_func_start sub_8093D9C +sub_8093D9C: + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r2, 0 + adds r6, r3, 0 + lsls r1, 16 + lsrs r1, 16 + mov r0, sp + bl sub_8092A88 + adds r0, r4, 0 + mov r1, sp + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_8093DE8 + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8093D9C + + thumb_func_start sub_8093DC4 +sub_8093DC4: + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r2, 0 + adds r6, r3, 0 + mov r0, sp + bl sub_8093F10 + adds r0, r4, 0 + mov r1, sp + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_8093DE8 + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8093DC4 + + thumb_func_start sub_8093DE8 +sub_8093DE8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _08093E80 + add sp, r4 + adds r4, r0, 0 + adds r6, r1, 0 + adds r5, r2, 0 + mov r8, r3 + adds r0, r5, 0 + bl sub_80073B8 + ldr r0, _08093E84 + adds r1, r6, 0 + movs r2, 0 + bl sub_80928C0 + lsls r4, 3 + adds r4, 0x10 + ldr r2, _08093E88 + movs r7, 0 + str r7, [sp] + adds r0, r4, 0 + movs r1, 0 + adds r3, r5, 0 + bl sub_8014FF0 + movs r3, 0x13 + ldrh r1, [r6, 0x2] + ldr r4, _08093E8C + ldr r2, [r4] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r2, [r0, 0x1C] + ldrb r0, [r2] + cmp r0, 0x2A + bne _08093E3A + movs r3, 0x10 + adds r2, 0x1 +_08093E3A: + str r7, [sp] + movs r0, 0x4 + adds r1, r3, 0 + adds r3, r5, 0 + bl sub_8014FF0 + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_8093E90 + adds r0, r5, 0 + bl sub_80073E0 + ldrh r1, [r6, 0x2] + ldr r2, [r4] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, [r0, 0x1C] + add r0, sp, 0x4 + bl strcpy + add r0, sp, 0x4 + mov r1, r8 + bl sub_8097DF0 + movs r3, 0xC9 + lsls r3, 2 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08093E80: .4byte 0xfffffcdc +_08093E84: .4byte gUnknown_202DF98 +_08093E88: .4byte gUnknown_8109930 +_08093E8C: .4byte gUnknown_2038C68 + thumb_func_end sub_8093DE8 + + thumb_func_start sub_8093E90 +sub_8093E90: + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + adds r5, r1, 0 + movs r0, 0x7 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0x4 + movs r2, 0x48 + movs r3, 0xC8 + bl sub_80078A4 + ldr r0, _08093F00 + adds r1, r6, 0 + bl sub_8092D54 + ldr r0, _08093F04 + ldr r2, [r0] + movs r4, 0 + str r4, [sp] + movs r0, 0x4 + movs r1, 0x4A + adds r3, r5, 0 + bl sub_8014FF0 + ldr r0, _08093F08 + ldr r2, [r0] + str r4, [sp] + movs r0, 0x4 + movs r1, 0x56 + adds r3, r5, 0 + bl sub_8014FF0 + adds r0, r6, 0 + bl sub_8092B00 + lsls r0, 24 + lsrs r0, 24 + bl GetUnformattedTypeString + adds r2, r0, 0 + str r4, [sp] + movs r0, 0x40 + movs r1, 0x56 + adds r3, r5, 0 + bl sub_8014FF0 + adds r0, r6, 0 + bl sub_8092BC0 + ldr r1, _08093F0C + str r0, [r1] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08093F00: .4byte gUnknown_202DF98 +_08093F04: .4byte gUnknown_810CF00 +_08093F08: .4byte gUnknown_810CF0C +_08093F0C: .4byte gUnknown_202DE30 + thumb_func_end sub_8093E90 + + thumb_func_start sub_8093F10 +sub_8093F10: + push {r4,lr} + adds r3, r0, 0 + adds r4, r1, 0 + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093F48 + movs r0, 0 + strb r1, [r3] + strb r0, [r3, 0x1] + ldrh r0, [r4, 0x2] + strh r0, [r3, 0x2] + ldrh r1, [r4, 0x2] + ldr r0, _08093F44 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0xC] + strb r0, [r3, 0x4] + ldrb r0, [r4, 0x4] + strb r0, [r3, 0x5] + b _08093F4A + .align 2, 0 +_08093F44: .4byte gUnknown_2038C68 +_08093F48: + strb r0, [r3] +_08093F4A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8093F10 + + thumb_func_start sub_8093F50 +sub_8093F50: + push {r4-r7,lr} + adds r6, r0, 0 + movs r7, 0 + adds r3, r6, 0 + adds r4, r1, 0 + movs r5, 0x3 +_08093F5C: + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08093F8C + strb r1, [r3] + strb r7, [r3, 0x1] + ldrh r0, [r4, 0x2] + strh r0, [r3, 0x2] + ldrh r1, [r4, 0x2] + ldr r0, _08093F88 + ldr r2, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0xC] + strb r0, [r3, 0x4] + ldrb r0, [r4, 0x4] + strb r0, [r3, 0x5] + b _08093F8E + .align 2, 0 +_08093F88: .4byte gUnknown_2038C68 +_08093F8C: + strb r0, [r3] +_08093F8E: + adds r3, 0x8 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _08093F5C + adds r1, r6, 0 + adds r1, 0x20 + movs r0, 0 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093F50 + + thumb_func_start sub_8093FA8 +sub_8093FA8: + push {lr} + adds r2, r0, 0 + movs r3, 0x3 +_08093FAE: + ldrb r0, [r1] + strb r0, [r2] + ldrh r0, [r1, 0x2] + strh r0, [r2, 0x2] + ldrb r0, [r1, 0x5] + strb r0, [r2, 0x4] + adds r2, 0x8 + adds r1, 0x8 + subs r3, 0x1 + cmp r3, 0 + bge _08093FAE + pop {r0} + bx r0 + thumb_func_end sub_8093FA8 + + thumb_func_start sub_8093FC8 +sub_8093FC8: + push {r4-r7,lr} + adds r5, r0, 0 + adds r2, r1, 0 + movs r3, 0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094002 + movs r7, 0xFB + movs r6, 0x1 + adds r4, r2, 0 + adds r2, r5, 0 +_08093FE2: + ldm r4!, {r0,r1} + str r0, [r2] + str r1, [r2, 0x4] + ldrb r1, [r2, 0x1] + adds r0, r7, 0 + ands r0, r1 + strb r0, [r2, 0x1] + adds r2, 0x8 + adds r3, 0x1 + cmp r3, 0x3 + bgt _08094002 + ldrb r1, [r4] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _08093FE2 +_08094002: + cmp r3, 0x7 + bgt _08094016 + movs r1, 0 + lsls r0, r3, 3 + adds r0, r5 +_0809400C: + strb r1, [r0] + adds r0, 0x8 + adds r3, 0x1 + cmp r3, 0x7 + ble _0809400C +_08094016: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8093FC8 + + thumb_func_start sub_809401C +sub_809401C: + push {r4-r6,lr} + adds r5, r0, 0 + adds r3, r1, 0 + movs r2, 0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094046 + movs r6, 0x1 + adds r4, r5, 0 +_08094032: + ldm r3!, {r0,r1} + stm r4!, {r0,r1} + adds r2, 0x1 + cmp r2, 0x3 + bgt _08094046 + ldrb r1, [r3] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _08094032 +_08094046: + cmp r2, 0x7 + bgt _0809405A + movs r1, 0 + lsls r0, r2, 3 + adds r0, r5 +_08094050: + strb r1, [r0] + adds r0, 0x8 + adds r2, 0x1 + cmp r2, 0x7 + ble _08094050 +_0809405A: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_809401C + + thumb_func_start sub_8094060 +sub_8094060: + push {r4-r7,lr} + adds r6, r0, 0 + adds r7, r1, 0 + movs r4, 0 + movs r5, 0 + adds r3, r6, 0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094084 +_08094076: + lsls r2, r4, 3 + adds r2, r7, r2 + ldr r0, [r3] + ldr r1, [r3, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + adds r4, 0x1 +_08094084: + adds r5, 0x1 + cmp r5, 0x7 + bgt _0809409C + lsls r0, r5, 3 + adds r3, r6, r0 + ldrb r1, [r3] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094084 + cmp r4, 0x3 + ble _08094076 +_0809409C: + cmp r4, 0x3 + bgt _080940B0 + movs r1, 0 + lsls r0, r4, 3 + adds r0, r7 +_080940A6: + strb r1, [r0] + adds r0, 0x8 + adds r4, 0x1 + cmp r4, 0x3 + ble _080940A6 +_080940B0: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8094060 + + thumb_func_start sub_80940B8 +sub_80940B8: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x4 + bl sub_809488C + adds r1, r5, 0x2 + adds r0, r4, 0 + movs r2, 0x9 + bl sub_809488C + adds r5, 0x4 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x7 + bl sub_809488C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80940B8 + + thumb_func_start sub_80940E0 +sub_80940E0: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x4 + bl sub_8094924 + adds r1, r5, 0x2 + adds r0, r4, 0 + movs r2, 0x9 + bl sub_8094924 + adds r5, 0x4 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x7 + bl sub_8094924 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80940E0 + + thumb_func_start sub_8094108 +sub_8094108: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + movs r5, 0x3 +_08094110: + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_80940B8 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _08094110 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8094108 + + thumb_func_start sub_8094128 +sub_8094128: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + movs r5, 0x3 +_08094130: + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_80940E0 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _08094130 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8094128 + + thumb_func_start sub_8094148 +sub_8094148: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x4 + bl sub_809488C + adds r1, r4, 0x1 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_809488C + adds r1, r4, 0x2 + adds r0, r5, 0 + movs r2, 0x9 + bl sub_809488C + adds r1, r4, 0x4 + adds r0, r5, 0 + movs r2, 0x7 + bl sub_809488C + adds r4, 0x5 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x7 + bl sub_809488C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8094148 + + thumb_func_start sub_8094184 +sub_8094184: + push {r4-r7,lr} + adds r6, r0, 0 + adds r7, r1, 0 + adds r4, r7, 0 + movs r5, 0x3 +_0809418E: + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_8094148 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _0809418E + adds r1, r7, 0 + adds r1, 0x20 + adds r0, r6, 0 + movs r2, 0x8 + bl sub_809488C + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8094184 + + thumb_func_start sub_80941B0 +sub_80941B0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x8 + bl memset + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x4 + bl sub_8094924 + adds r1, r4, 0x1 + adds r0, r5, 0 + movs r2, 0x1 + bl sub_8094924 + adds r1, r4, 0x2 + adds r0, r5, 0 + movs r2, 0x9 + bl sub_8094924 + adds r1, r4, 0x4 + adds r0, r5, 0 + movs r2, 0x7 + bl sub_8094924 + adds r4, 0x5 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x7 + bl sub_8094924 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80941B0 + + thumb_func_start sub_80941FC +sub_80941FC: + push {r4-r7,lr} + adds r6, r0, 0 + adds r7, r1, 0 + adds r4, r7, 0 + movs r5, 0x3 +_08094206: + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_80941B0 + adds r4, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _08094206 + adds r1, r7, 0 + adds r1, 0x20 + movs r0, 0 + strb r0, [r1] + adds r0, r6, 0 + movs r2, 0x8 + bl sub_8094924 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80941FC + + thumb_func_start sub_809422C +sub_809422C: + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + adds r2, r1, 0 + cmp r1, 0x97 + beq _08094260 + cmp r1, 0x64 + beq _08094260 + cmp r1, 0x3C + beq _08094260 + cmp r1, 0x4B + beq _08094260 + movs r0, 0xAE + lsls r0, 1 + cmp r1, r0 + beq _08094260 + cmp r1, 0x99 + beq _08094260 + cmp r1, 0xCD + beq _08094260 + cmp r1, 0x9C + beq _08094260 + cmp r2, 0x8 + beq _08094260 + movs r0, 0 + b _08094262 +_08094260: + movs r0, 0x1 +_08094262: + pop {r1} + bx r1 + thumb_func_end sub_809422C + + thumb_func_start sub_8094268 +sub_8094268: + push {r4-r6,lr} + adds r5, r0, 0 + adds r3, r1, 0 + asrs r0, r3, 16 + asrs r1, r2, 16 + adds r0, r1 + lsls r0, 16 + ldr r6, _080942B0 + ands r3, r6 + orrs r3, r0 + adds r2, r3, r2 + lsls r2, 16 + lsrs r2, 16 + ldr r4, _080942B4 + ands r3, r4 + orrs r3, r2 + asrs r1, r3, 16 + ldr r0, _080942B8 + cmp r1, r0 + ble _080942A6 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r0, 16 + ands r3, r4 + orrs r3, r0 + asrs r0, r3, 16 + ldr r1, _080942BC + adds r0, r1 + lsls r0, 16 + ands r3, r6 + orrs r3, r0 +_080942A6: + str r3, [r5] + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080942B0: .4byte 0x0000ffff +_080942B4: .4byte 0xffff0000 +_080942B8: .4byte 0x000003e7 +_080942BC: .4byte 0xfffffc18 + thumb_func_end sub_8094268 + + thumb_func_start sub_80942C0 +sub_80942C0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r3, r1, 0 + asrs r0, r3, 16 + asrs r1, r2, 16 + subs r0, r1 + lsls r0, 16 + ldr r4, _08094310 + ands r3, r4 + orrs r3, r0 + subs r2, r3, r2 + lsls r2, 16 + lsrs r2, 16 + ldr r1, _08094314 + ands r3, r1 + orrs r3, r2 + cmp r3, 0 + bge _080942FC + subs r0, r3, 0x1 + lsls r0, 16 + lsrs r0, 16 + ands r3, r1 + orrs r3, r0 + asrs r0, r3, 16 + movs r2, 0xFA + lsls r2, 2 + adds r0, r2 + lsls r0, 16 + ands r3, r4 + orrs r3, r0 +_080942FC: + lsls r0, r3, 16 + cmp r0, 0 + bge _08094304 + movs r3, 0 +_08094304: + str r3, [r5] + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08094310: .4byte 0x0000ffff +_08094314: .4byte 0xffff0000 + thumb_func_end sub_80942C0 + + thumb_func_start sub_8094318 +sub_8094318: + push {r4,lr} + adds r4, r0, 0 + adds r3, r1, 0 + lsls r0, r3, 16 + asrs r1, r0, 16 + lsls r0, r2, 16 + asrs r0, 16 + cmp r1, r0 + bgt _08094336 + cmp r1, r0 + blt _0809433A + asrs r1, r3, 16 + asrs r0, r2, 16 + cmp r1, r0 + ble _0809433A +_08094336: + str r2, [r4] + b _0809433C +_0809433A: + str r3, [r4] +_0809433C: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8094318 + + thumb_func_start sub_8094344 +sub_8094344: + push {r4,lr} + adds r4, r0, 0 + adds r3, r1, 0 + lsls r0, r3, 16 + asrs r1, r0, 16 + lsls r0, r2, 16 + asrs r0, 16 + cmp r1, r0 + bgt _08094362 + cmp r1, r0 + blt _08094366 + asrs r1, r3, 16 + asrs r0, r2, 16 + cmp r1, r0 + ble _08094366 +_08094362: + str r3, [r4] + b _08094368 +_08094366: + str r2, [r4] +_08094368: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8094344 + + thumb_func_start sub_8094370 +sub_8094370: + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 16 + lsls r2, 16 + ldr r4, _08094398 + lsrs r3, r1, 16 + orrs r3, r2 + asrs r2, 16 + ldr r1, _0809439C + asrs r0, r1, 16 + cmp r2, r0 + ble _0809438C + ands r3, r4 + orrs r3, r1 +_0809438C: + str r3, [r5] + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08094398: .4byte 0x0000ffff +_0809439C: .4byte 0x03e70000 + thumb_func_end sub_8094370 + + thumb_func_start sub_80943A0 +sub_80943A0: + lsls r1, 16 + lsrs r2, r1, 16 + str r2, [r0] + bx lr + thumb_func_end sub_80943A0 + + thumb_func_start sub_80943A8 +sub_80943A8: + push {r4,r5,lr} + ldr r3, [r1, 0x4] + lsrs r2, r3, 16 + ldr r1, _080943D4 + ands r5, r1 + orrs r5, r2 + ldr r4, _080943D8 + adds r2, r4, 0 + ands r2, r3 + lsls r1, r2, 5 + subs r1, r2 + lsls r1, 2 + adds r1, r2 + lsls r1, 3 + lsrs r1, 16 + lsls r1, 16 + ands r5, r4 + orrs r5, r1 + str r5, [r0] + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080943D4: .4byte 0xffff0000 +_080943D8: .4byte 0x0000ffff + thumb_func_end sub_80943A8 + + thumb_func_start sub_80943DC +sub_80943DC: + push {r4-r6,lr} + mov r6, r8 + push {r6} + mov r8, r0 + adds r4, r1, 0 + lsls r1, r4, 16 + asrs r1, 16 + lsls r0, r1, 5 + subs r0, r1 + lsls r0, 2 + adds r0, r1 + lsls r0, 3 + asrs r1, r4, 16 + adds r0, r1 + lsls r3, r2, 16 + asrs r3, 16 + lsls r1, r3, 5 + subs r1, r3 + lsls r1, 2 + adds r1, r3 + lsls r1, 3 + asrs r2, 16 + adds r1, r2 + muls r0, r1 + movs r5, 0xFA + lsls r5, 2 + adds r1, r5, 0 + bl __divsi3 + adds r6, r0, 0 + adds r1, r5, 0 + bl __divsi3 + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08094448 + ands r4, r1 + orrs r4, r0 + adds r0, r6, 0 + adds r1, r5, 0 + bl __modsi3 + lsls r0, 16 + ldr r1, _0809444C + ands r1, r4 + orrs r0, r1 + mov r1, r8 + str r0, [r1] + mov r0, r8 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08094448: .4byte 0xffff0000 +_0809444C: .4byte 0x0000ffff + thumb_func_end sub_80943DC + + thumb_func_start sub_8094450 +sub_8094450: + push {lr} + adds r1, r0, 0 + lsls r0, r1, 16 + asrs r2, r0, 16 + cmp r2, 0 + bne _0809446A + asrs r0, r1, 16 + cmp r0, 0 + bne _08094466 + movs r0, 0 + b _08094476 +_08094466: + movs r0, 0x1 + b _08094476 +_0809446A: + asrs r0, r1, 16 + cmp r0, 0 + bne _08094474 + adds r0, r2, 0 + b _08094476 +_08094474: + adds r0, r2, 0x1 +_08094476: + pop {r1} + bx r1 + thumb_func_end sub_8094450 + + thumb_func_start sub_809447C +sub_809447C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x10 + bl sub_8094924 + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x10 + bl sub_8094924 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_809447C + + thumb_func_start sub_809449C +sub_809449C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r2, 0x10 + bl sub_809488C + adds r4, 0x2 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x10 + bl sub_809488C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_809449C + + thumb_func_start sub_80944BC +sub_80944BC: + push {r4,lr} + sub sp, 0x8 + adds r4, r1, 0 + lsls r0, 16 + asrs r1, r0, 16 + ldr r0, _080944F4 + cmp r1, r0 + bgt _08094500 + lsls r1, 16 + lsrs r1, 16 + mov r0, sp + bl sub_8092AA8 + ldr r0, _080944F8 + mov r1, sp + movs r2, 0 + bl sub_80928C0 + ldr r0, _080944FC + ldr r0, [r0] + adds r2, r4, 0 + adds r2, 0xC8 + adds r1, r4, 0 + movs r3, 0 + bl xxx_format_string + b _08094516 + .align 2, 0 +_080944F4: .4byte 0x000001f3 +_080944F8: .4byte gUnknown_202DE58 +_080944FC: .4byte gUnknown_811383C +_08094500: + ldr r0, _08094520 + ldr r2, _08094524 + adds r1, r2 + lsls r1, 3 + adds r0, 0x4 + adds r1, r0 + ldr r1, [r1] + adds r0, r4, 0 + movs r2, 0xC8 + bl strncpy +_08094516: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08094520: .4byte gUnknown_8113080 +_08094524: .4byte 0xfffffe0c + thumb_func_end sub_80944BC + + thumb_func_start sub_8094528 +sub_8094528: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + ldr r0, _08094544 + cmp r1, r0 + ble _08094550 + ldr r0, _08094548 + ldr r2, _0809454C + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrb r0, [r1] + b _08094552 + .align 2, 0 +_08094544: .4byte 0x000001f3 +_08094548: .4byte gUnknown_8113080 +_0809454C: .4byte 0xfffffe0c +_08094550: + movs r0, 0x1 +_08094552: + pop {r1} + bx r1 + thumb_func_end sub_8094528 + + thumb_func_start sub_8094558 +sub_8094558: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xCC + adds r7, r0, 0 + adds r4, r1, 0 + adds r6, r2, 0 + bl sub_80073B8 + movs r5, 0 + str r5, [sp] + movs r0, 0x10 + movs r1, 0 + adds r2, r4, 0 + adds r3, r7, 0 + bl sub_8014FF0 + ldr r4, _080945D0 + adds r1, r6, 0 + adds r1, 0x18 + adds r0, r4, 0 + bl sub_8090208 + ldr r0, _080945D4 + ldr r2, [r0] + str r5, [sp] + movs r0, 0x4 + movs r1, 0x10 + adds r3, r7, 0 + bl sub_8014FF0 + movs r5, 0x1A + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0xA + bl sub_80922B4 + adds r4, 0x50 + adds r1, r6, 0 + adds r1, 0xA + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 + movs r1, 0x14 + ldrsh r0, [r6, r1] + bl sub_8094528 + lsls r0, 24 + cmp r0, 0 + beq _080945DC + ldr r0, _080945D8 + ldr r0, [r0] + add r2, sp, 0xCC + add r1, sp, 0x4 + movs r3, 0 + bl xxx_format_string + b _080945EA + .align 2, 0 +_080945D0: .4byte gUnknown_202DF98 +_080945D4: .4byte gUnknown_8113850 +_080945D8: .4byte gUnknown_8113868 +_080945DC: + ldr r0, _0809465C + ldr r0, [r0] + add r2, sp, 0xCC + add r1, sp, 0x4 + movs r3, 0 + bl xxx_format_string +_080945EA: + add r0, sp, 0x4 + bl sub_8008ED0 + movs r4, 0xB0 + subs r0, r4, r0 + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + movs r1, 0 + mov r8, r1 + str r1, [sp] + adds r1, r5, 0 + add r2, sp, 0x4 + adds r3, r7, 0 + bl sub_8014FF0 + adds r5, 0xA + movs r1, 0x14 + ldrsh r0, [r6, r1] + add r1, sp, 0x4 + bl sub_80944BC + add r0, sp, 0x4 + bl sub_8008ED0 + subs r4, r0 + lsrs r0, r4, 31 + adds r4, r0 + asrs r0, r4, 1 + mov r1, r8 + str r1, [sp] + adds r1, r5, 0 + add r2, sp, 0x4 + adds r3, r7, 0 + bl sub_8014FF0 + adds r5, 0x10 + ldr r1, _08094660 + ldr r0, [r6, 0x20] + str r0, [r1] + adds r0, r6, 0 + adds r0, 0x2A + ldrb r0, [r0] + str r0, [r1, 0x4] + cmp r0, 0x63 + ble _08094668 + ldr r0, _08094664 + ldr r2, [r0] + mov r0, r8 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 + b _0809467A + .align 2, 0 +_0809465C: .4byte gUnknown_8113870 +_08094660: .4byte gUnknown_202DE30 +_08094664: .4byte gUnknown_81138C0 +_08094668: + ldr r0, _080946CC + ldr r2, [r0] + mov r1, r8 + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 +_0809467A: + adds r5, 0xA + ldr r4, _080946D0 + movs r1, 0x24 + ldrsh r0, [r6, r1] + str r0, [r4] + ldr r0, _080946D4 + ldr r2, [r0] + movs r0, 0 + mov r8, r0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 + adds r5, 0xA + adds r0, r6, 0 + adds r0, 0x26 + ldrb r2, [r0] + str r2, [r4] + adds r0, 0x2 + ldrb r0, [r0] + str r0, [r4, 0x4] + adds r0, r6, 0 + adds r0, 0x2B + ldrb r1, [r0] + cmp r1, 0 + beq _080946DC + adds r0, r1, 0 + adds r0, r2, r0 + str r0, [r4] + ldr r0, _080946D8 + ldr r2, [r0] + mov r1, r8 + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 + b _080946EC + .align 2, 0 +_080946CC: .4byte gUnknown_8113898 +_080946D0: .4byte gUnknown_202DE30 +_080946D4: .4byte gUnknown_81138D0 +_080946D8: .4byte gUnknown_8113950 +_080946DC: + ldr r0, _08094714 + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 +_080946EC: + adds r0, r6, 0 + adds r0, 0x2D + ldrb r1, [r0] + cmp r1, 0 + beq _08094720 + ldr r2, _08094718 + ldr r0, [r2, 0x4] + adds r0, r1 + str r0, [r2, 0x4] + ldr r0, _0809471C + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 + b _08094730 + .align 2, 0 +_08094714: .4byte gUnknown_81138E4 +_08094718: .4byte gUnknown_202DE30 +_0809471C: .4byte gUnknown_8113974 +_08094720: + ldr r0, _08094768 + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 +_08094730: + adds r5, 0xA + ldr r2, _0809476C + adds r0, r6, 0 + adds r0, 0x27 + ldrb r3, [r0] + str r3, [r2] + adds r0, 0x2 + ldrb r0, [r0] + str r0, [r2, 0x4] + adds r0, r6, 0 + adds r0, 0x2C + ldrb r1, [r0] + cmp r1, 0 + beq _08094774 + adds r0, r1, 0 + adds r0, r3, r0 + str r0, [r2] + ldr r0, _08094770 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 + b _08094784 + .align 2, 0 +_08094768: .4byte gUnknown_8113900 +_0809476C: .4byte gUnknown_202DE30 +_08094770: .4byte gUnknown_8113990 +_08094774: + ldr r0, _080947AC + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 +_08094784: + adds r0, r6, 0 + adds r0, 0x2E + ldrb r1, [r0] + cmp r1, 0 + beq _080947B8 + ldr r2, _080947B0 + ldr r0, [r2, 0x4] + adds r0, r1 + str r0, [r2, 0x4] + ldr r0, _080947B4 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 + b _080947C8 + .align 2, 0 +_080947AC: .4byte gUnknown_8113918 +_080947B0: .4byte gUnknown_202DE30 +_080947B4: .4byte gUnknown_81139B4 +_080947B8: + ldr r0, _080947E4 + ldr r2, [r0] + str r1, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 +_080947C8: + adds r5, 0x10 + adds r2, r6, 0 + adds r2, 0x1C + ldrb r1, [r6, 0x1C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080947EC + ldr r0, _080947E8 + adds r1, r2, 0 + movs r2, 0 + bl sub_8090E14 + b _080947F6 + .align 2, 0 +_080947E4: .4byte gUnknown_8113934 +_080947E8: .4byte gUnknown_202DE58 +_080947EC: + ldr r0, _0809481C + ldr r1, _08094820 + ldr r1, [r1] + bl strcpy +_080947F6: + ldr r0, _08094824 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + adds r1, r5, 0 + adds r3, r7, 0 + bl sub_8014FF0 + adds r0, r7, 0 + bl sub_80073E0 + add sp, 0xCC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0809481C: .4byte gUnknown_202DE58 +_08094820: .4byte gUnknown_81139B8 +_08094824: .4byte gUnknown_81139CC + thumb_func_end sub_8094558 + + thumb_func_start sub_8094828 +sub_8094828: + push {lr} + lsls r0, 16 + lsrs r2, r0, 16 + lsls r1, 24 + lsrs r0, r1, 24 + cmp r0, 0 + beq _08094852 + bl sub_8090BD0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x9 + bne _0809484C + ldr r0, _08094848 + b _08094856 + .align 2, 0 +_08094848: .4byte 0x00000223 +_0809484C: + movs r0, 0x89 + lsls r0, 2 + b _08094856 +_08094852: + lsls r0, r2, 16 + asrs r0, 16 +_08094856: + pop {r1} + bx r1 + thumb_func_end sub_8094828 + + thumb_func_start sub_809485C +sub_809485C: + str r1, [r0] + movs r3, 0 + str r3, [r0, 0x8] + str r3, [r0, 0xC] + adds r1, r2 + str r1, [r0, 0x4] + bx lr + thumb_func_end sub_809485C + + thumb_func_start sub_809486C +sub_809486C: + push {lr} + str r1, [r0] + movs r3, 0 + str r3, [r0, 0x8] + str r3, [r0, 0xC] + adds r3, r1, r2 + str r3, [r0, 0x4] + adds r0, r1, 0 + adds r1, r2, 0 + bl MemoryClear8 + pop {r0} + bx r0 + thumb_func_end sub_809486C + + thumb_func_start nullsub_102 +nullsub_102: + bx lr + thumb_func_end nullsub_102 + + thumb_func_start sub_809488C +sub_809488C: + push {r4-r7,lr} + adds r3, r0, 0 + adds r4, r2, 0 + movs r5, 0 + adds r6, r1, 0 + cmp r4, 0 + beq _080948DE + movs r7, 0x1 +_0809489C: + ldrb r0, [r6] + asrs r0, r5 + ands r0, r7 + cmp r0, 0 + beq _080948B4 + ldr r2, [r3] + ldr r1, [r3, 0x8] + adds r0, r7, 0 + lsls r0, r1 + ldrb r1, [r2] + orrs r0, r1 + strb r0, [r2] +_080948B4: + adds r5, 0x1 + cmp r5, 0x8 + bne _080948BE + adds r6, 0x1 + movs r5, 0 +_080948BE: + ldr r0, [r3, 0x8] + adds r0, 0x1 + str r0, [r3, 0x8] + cmp r0, 0x8 + bne _080948D2 + ldr r0, [r3] + adds r0, 0x1 + str r0, [r3] + movs r0, 0 + str r0, [r3, 0x8] +_080948D2: + ldr r0, [r3, 0xC] + adds r0, 0x1 + str r0, [r3, 0xC] + subs r4, 0x1 + cmp r4, 0 + bne _0809489C +_080948DE: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_809488C + + thumb_func_start sub_80948E4 +sub_80948E4: + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r2, 0 + adds r6, r1, 0 + cmp r5, 0 + beq _0809491C +_080948F0: + ldrb r1, [r6] + ldr r0, [r4, 0x8] + lsls r1, r0 + ldr r3, [r4] + ldrb r2, [r3] + adds r0, r1, 0 + orrs r0, r2 + strb r0, [r3] + ldr r2, [r4] + adds r0, r2, 0x1 + str r0, [r4] + asrs r1, 8 + ldrb r0, [r2, 0x1] + orrs r1, r0 + strb r1, [r2, 0x1] + adds r6, 0x1 + ldr r0, [r4, 0xC] + adds r0, 0x8 + str r0, [r4, 0xC] + subs r5, 0x1 + cmp r5, 0 + bne _080948F0 +_0809491C: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80948E4 + + thumb_func_start sub_8094924 +sub_8094924: + push {r4-r7,lr} + adds r3, r0, 0 + adds r5, r2, 0 + movs r6, 0 + adds r2, r1, 0 + cmp r5, 0 + beq _08094978 +_08094932: + cmp r6, 0 + bne _08094938 + strb r6, [r2] +_08094938: + ldr r7, [r3] + ldrb r0, [r7] + ldr r4, [r3, 0x8] + asrs r0, r4 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08094952 + adds r0, r1, 0 + lsls r0, r6 + ldrb r1, [r2] + orrs r0, r1 + strb r0, [r2] +_08094952: + adds r6, 0x1 + cmp r6, 0x8 + bne _0809495C + adds r2, 0x1 + movs r6, 0 +_0809495C: + adds r0, r4, 0x1 + str r0, [r3, 0x8] + cmp r0, 0x8 + bne _0809496C + adds r0, r7, 0x1 + str r0, [r3] + movs r0, 0 + str r0, [r3, 0x8] +_0809496C: + ldr r0, [r3, 0xC] + adds r0, 0x1 + str r0, [r3, 0xC] + subs r5, 0x1 + cmp r5, 0 + bne _08094932 +_08094978: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8094924 + + thumb_func_start sub_8094980 +sub_8094980: + ldr r1, _08094988 + ldr r0, _0809498C + str r0, [r1] + bx lr + .align 2, 0 +_08094988: .4byte gUnknown_203B46C +_0809498C: .4byte gUnknown_2038C70 + thumb_func_end sub_8094980 + + thumb_func_start sub_8094990 +sub_8094990: + ldr r0, _08094994 + bx lr + .align 2, 0 +_08094994: .4byte gUnknown_2038C70 + thumb_func_end sub_8094990 + + thumb_func_start sub_8094998 +sub_8094998: + push {lr} + lsls r0, 24 + ldr r2, _080949D8 + ldr r1, [r2] + movs r3, 0 + strb r3, [r1, 0x8] + cmp r0, 0 + beq _080949AC + ldr r0, [r2] + strb r3, [r0, 0xB] +_080949AC: + ldr r0, [r2] + strb r3, [r0, 0x9] + ldr r0, [r2] + strb r3, [r0, 0xA] + ldr r0, [r2] + strb r3, [r0] + ldr r0, [r2] + movs r1, 0x1 + strb r1, [r0, 0x1] + ldr r0, [r2] + strb r1, [r0, 0x2] + ldr r0, [r2] + strb r1, [r0, 0x3] + ldr r0, [r2] + strb r1, [r0, 0x4] + ldr r0, [r2] + strb r3, [r0, 0xC] + bl sub_8094C14 + pop {r0} + bx r0 + .align 2, 0 +_080949D8: .4byte gUnknown_203B46C + thumb_func_end sub_8094998 + + thumb_func_start sub_80949DC +sub_80949DC: + push {lr} + adds r2, r0, 0 + ldr r0, _08094A38 + ldr r1, [r0] + ldrb r0, [r1, 0x8] + ldrb r3, [r2, 0x8] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0x9] + ldrb r3, [r2, 0x9] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0xA] + ldrb r3, [r2, 0xA] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0xB] + ldrb r3, [r2, 0xB] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1] + ldrb r3, [r2] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0x1] + ldrb r3, [r2, 0x1] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0x2] + ldrb r3, [r2, 0x2] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0x3] + ldrb r3, [r2, 0x3] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0x4] + ldrb r3, [r2, 0x4] + cmp r0, r3 + bne _08094A3C + ldrb r0, [r1, 0xC] + ldrb r2, [r2, 0xC] + cmp r0, r2 + bne _08094A3C + movs r0, 0x1 + b _08094A3E + .align 2, 0 +_08094A38: .4byte gUnknown_203B46C +_08094A3C: + movs r0, 0 +_08094A3E: + pop {r1} + bx r1 + thumb_func_end sub_80949DC + + thumb_func_start sub_8094A44 +sub_8094A44: + push {r4-r7,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0xFF + mov r0, sp + strb r1, [r0] + mov r7, sp + adds r7, 0x1 + movs r0, 0 + strb r0, [r7] + ldr r5, _08094B14 + ldr r1, [r5] + adds r1, 0x8 + adds r0, r4, 0 + movs r2, 0x2 + bl sub_809488C + ldr r0, [r5] + ldrb r0, [r0, 0x9] + mov r1, sp + adds r6, r7, 0 + cmp r0, 0 + bne _08094A74 + adds r1, r6, 0 +_08094A74: + adds r0, r4, 0 + movs r2, 0x1 + bl sub_809488C + ldr r0, [r5] + ldrb r0, [r0, 0xA] + adds r1, r6, 0 + cmp r0, 0 + beq _08094A88 + mov r1, sp +_08094A88: + adds r0, r4, 0 + movs r2, 0x1 + bl sub_809488C + ldr r0, [r5] + ldrb r0, [r0, 0xB] + adds r1, r6, 0 + cmp r0, 0 + beq _08094A9C + mov r1, sp +_08094A9C: + adds r0, r4, 0 + movs r2, 0x1 + bl sub_809488C + ldr r0, [r5] + ldrb r0, [r0] + adds r1, r6, 0 + cmp r0, 0 + beq _08094AB0 + mov r1, sp +_08094AB0: + adds r0, r4, 0 + movs r2, 0x1 + bl sub_809488C + ldr r0, [r5] + ldrb r0, [r0, 0x1] + adds r1, r6, 0 + cmp r0, 0 + beq _08094AC4 + mov r1, sp +_08094AC4: + adds r0, r4, 0 + movs r2, 0x1 + bl sub_809488C + ldr r0, [r5] + ldrb r0, [r0, 0x2] + adds r1, r6, 0 + cmp r0, 0 + beq _08094AD8 + mov r1, sp +_08094AD8: + adds r0, r4, 0 + movs r2, 0x1 + bl sub_809488C + ldr r0, [r5] + ldrb r0, [r0, 0x3] + adds r1, r7, 0 + cmp r0, 0 + beq _08094AEC + mov r1, sp +_08094AEC: + adds r0, r4, 0 + movs r2, 0x1 + bl sub_809488C + ldr r1, [r5] + adds r1, 0x4 + adds r0, r4, 0 + movs r2, 0x3 + bl sub_809488C + ldr r1, [r5] + adds r1, 0xC + adds r0, r4, 0 + movs r2, 0x2 + bl sub_809488C + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08094B14: .4byte gUnknown_203B46C + thumb_func_end sub_8094A44 + + thumb_func_start sub_8094B18 +sub_8094B18: + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x4 + adds r6, r0, 0 + mov r1, sp + movs r2, 0x2 + bl sub_8094924 + ldr r5, _08094C10 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + movs r0, 0x3 + mov r8, r0 + ands r0, r1 + strb r0, [r2, 0x8] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r1 + strb r0, [r2, 0x9] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + adds r0, r4, 0 + ands r0, r1 + strb r0, [r2, 0xA] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + adds r0, r4, 0 + ands r0, r1 + strb r0, [r2, 0xB] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + adds r0, r4, 0 + ands r0, r1 + strb r0, [r2] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + adds r0, r4, 0 + ands r0, r1 + strb r0, [r2, 0x1] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + adds r0, r4, 0 + ands r0, r1 + strb r0, [r2, 0x2] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + ldr r1, [r5] + mov r0, sp + ldrb r0, [r0] + ands r4, r0 + strb r4, [r1, 0x3] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x3 + bl sub_8094924 + ldr r2, [r5] + mov r0, sp + ldrb r1, [r0] + movs r0, 0x7 + ands r0, r1 + strb r0, [r2, 0x4] + adds r0, r6, 0 + mov r1, sp + movs r2, 0x2 + bl sub_8094924 + ldr r1, [r5] + mov r0, sp + ldrb r0, [r0] + mov r2, r8 + ands r2, r0 + strb r2, [r1, 0xC] + bl sub_8094C14 + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08094C10: .4byte gUnknown_203B46C + thumb_func_end sub_8094B18 + + thumb_func_start sub_8094C14 +sub_8094C14: + push {r4,lr} + sub sp, 0x10 + mov r1, sp + ldr r0, _08094C40 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r0, [r0] + str r0, [r1] + ldr r0, _08094C44 + ldr r0, [r0] + ldrb r1, [r0, 0x8] + movs r0, 0x3 + ands r0, r1 + lsls r0, 2 + add r0, sp + ldr r0, [r0] + bl sub_80099F0 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08094C40: .4byte gUnknown_8109954 +_08094C44: .4byte gUnknown_203B46C + thumb_func_end sub_8094C14 + + thumb_func_start sub_8094C48 +sub_8094C48: + push {lr} + ldr r0, _08094C5C + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0 + beq _08094C60 + cmp r0, 0x3 + beq _08094C60 + movs r0, 0x1 + b _08094C62 + .align 2, 0 +_08094C5C: .4byte gUnknown_203B46C +_08094C60: + movs r0, 0 +_08094C62: + pop {r1} + bx r1 + thumb_func_end sub_8094C48 + + thumb_func_start sub_8094C68 +sub_8094C68: + push {lr} + ldr r0, _08094C7C + ldr r0, [r0] + ldrb r0, [r0, 0x4] + cmp r0, 0x2 + beq _08094C80 + cmp r0, 0x5 + beq _08094C80 + movs r0, 0x1 + b _08094C82 + .align 2, 0 +_08094C7C: .4byte gUnknown_203B46C +_08094C80: + movs r0, 0 +_08094C82: + pop {r1} + bx r1 + thumb_func_end sub_8094C68 + + thumb_func_start sub_8094C88 +sub_8094C88: + push {lr} + ldr r0, _08094C98 + ldr r1, [r0] + ldrb r0, [r1, 0x4] + cmp r0, 0x2 + bhi _08094C9C + movs r0, 0x1 + b _08094CA8 + .align 2, 0 +_08094C98: .4byte gUnknown_203B46C +_08094C9C: + subs r0, 0x3 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bhi _08094CAA + movs r0, 0x4 +_08094CA8: + strb r0, [r1, 0x4] +_08094CAA: + pop {r0} + bx r0 + thumb_func_end sub_8094C88 + + thumb_func_start sub_8094CB0 +sub_8094CB0: + ldr r1, _08094CBC + strh r1, [r0] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x2] + bx lr + .align 2, 0 +_08094CBC: .4byte 0x0000ffff + thumb_func_end sub_8094CB0 + + thumb_func_start sub_8094CC0 +sub_8094CC0: + ldr r1, _08094CCC + strh r1, [r0] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x2] + bx lr + .align 2, 0 +_08094CCC: .4byte 0x0000ffff + thumb_func_end sub_8094CC0 + + thumb_func_start sub_8094CD0 +sub_8094CD0: + ldr r1, _08094CDC + strh r1, [r0] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x2] + bx lr + .align 2, 0 +_08094CDC: .4byte 0x0000ffff + thumb_func_end sub_8094CD0 + + thumb_func_start sub_8094CE0 +sub_8094CE0: + ldr r1, _08094CEC + strh r1, [r0] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x2] + bx lr + .align 2, 0 +_08094CEC: .4byte 0x0000ffff + thumb_func_end sub_8094CE0 + + thumb_func_start sub_8094CF0 +sub_8094CF0: + ldr r1, _08094CFC + strh r1, [r0] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x2] + bx lr + .align 2, 0 +_08094CFC: .4byte 0x0000ffff + thumb_func_end sub_8094CF0 + + thumb_func_start sub_8094D00 +sub_8094D00: + ldr r1, _08094D0C + strh r1, [r0] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x2] + bx lr + .align 2, 0 +_08094D0C: .4byte 0x0000ffff + thumb_func_end sub_8094D00 + + thumb_func_start sub_8094D10 +sub_8094D10: + movs r0, 0 + bx lr + thumb_func_end sub_8094D10 + + thumb_func_start sub_8094D14 +sub_8094D14: + movs r0, 0 + bx lr + thumb_func_end sub_8094D14 + + thumb_func_start sub_8094D18 +sub_8094D18: + movs r0, 0 + bx lr + thumb_func_end sub_8094D18 + + thumb_func_start sub_8094D1C +sub_8094D1C: + movs r0, 0 + bx lr + thumb_func_end sub_8094D1C + + thumb_func_start sub_8094D20 +sub_8094D20: + movs r0, 0 + bx lr + thumb_func_end sub_8094D20 + + thumb_func_start sub_8094D24 +sub_8094D24: + movs r0, 0 + bx lr + thumb_func_end sub_8094D24 + + thumb_func_start sub_8094D28 +sub_8094D28: + push {r4-r7,lr} + ldr r2, _08094D64 + str r0, [r2] + ldr r1, _08094D68 + movs r0, 0x1 + str r0, [r1] + ldr r7, _08094D6C + adds r5, r2, 0 + adds r4, r1, 0 + ldr r6, _08094D70 +_08094D3C: + ldr r2, [r4] + lsls r3, r2, 2 + adds r3, r5 + subs r0, r2, 0x1 + lsls r0, 2 + adds r0, r5 + ldr r0, [r0] + lsrs r1, r0, 30 + eors r0, r1 + muls r0, r6 + adds r0, r2 + str r0, [r3] + adds r2, 0x1 + str r2, [r4] + cmp r2, r7 + ble _08094D3C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08094D64: .4byte gUnknown_3001198 +_08094D68: .4byte gUnknown_203B470 +_08094D6C: .4byte 0x0000026f +_08094D70: .4byte 0x6c078965 + thumb_func_end sub_8094D28 + + thumb_func_start sub_8094D74 +sub_8094D74: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r8, r0 + adds r7, r1, 0 + ldr r0, _08094E34 + bl sub_8094D28 + movs r4, 0x1 + movs r5, 0 + adds r3, r7, 0 + movs r0, 0x9C + lsls r0, 2 + cmp r3, r0 + bge _08094D96 + adds r3, r0, 0 +_08094D96: + ldr r6, _08094E38 + cmp r3, 0 + beq _08094DE2 + mov r9, r6 + ldr r0, _08094E3C + adds r0, r6 + mov r12, r0 + adds r2, r6, 0 +_08094DA6: + ldr r1, [r2] + lsrs r0, r1, 30 + eors r1, r0 + ldr r0, _08094E40 + muls r0, r1 + ldr r1, [r2, 0x4] + eors r1, r0 + lsls r0, r5, 2 + add r0, r8 + ldr r0, [r0] + adds r1, r0 + adds r1, r5 + str r1, [r2, 0x4] + adds r2, 0x4 + adds r4, 0x1 + adds r5, 0x1 + ldr r0, _08094E44 + cmp r4, r0 + ble _08094DD6 + mov r1, r12 + ldr r0, [r1] + str r0, [r6] + mov r2, r9 + movs r4, 0x1 +_08094DD6: + cmp r5, r7 + blt _08094DDC + movs r5, 0 +_08094DDC: + subs r3, 0x1 + cmp r3, 0 + bne _08094DA6 +_08094DE2: + ldr r3, _08094E44 + ldr r5, _08094E38 + ldr r0, _08094E3C + adds r0, r5 + mov r8, r0 + lsls r0, r4, 2 + subs r0, 0x4 + adds r2, r0, r5 + ldr r1, _08094E48 + mov r12, r1 + adds r7, r3, 0 +_08094DF8: + ldr r0, [r2] + lsrs r1, r0, 30 + eors r0, r1 + mov r1, r12 + muls r1, r0 + ldr r0, [r2, 0x4] + eors r0, r1 + subs r0, r4 + str r0, [r2, 0x4] + adds r2, 0x4 + adds r4, 0x1 + cmp r4, r7 + ble _08094E1C + mov r1, r8 + ldr r0, [r1] + str r0, [r6] + adds r2, r5, 0 + movs r4, 0x1 +_08094E1C: + subs r3, 0x1 + cmp r3, 0 + bne _08094DF8 + movs r0, 0x80 + lsls r0, 24 + str r0, [r6] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08094E34: .4byte 0x012bd6aa +_08094E38: .4byte gUnknown_3001198 +_08094E3C: .4byte 0x000009bc +_08094E40: .4byte 0x0019660d +_08094E44: .4byte 0x0000026f +_08094E48: .4byte 0x5d588b65 + thumb_func_end sub_8094D74 + + thumb_func_start sub_8094E4C +sub_8094E4C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r0, _08094F54 + ldr r2, [r0] + ldr r1, _08094F58 + mov r8, r0 + cmp r2, r1 + ble _08094F1C + ldr r0, _08094F5C + cmp r2, r0 + bne _08094E6C + ldr r0, _08094F60 + bl sub_8094D28 +_08094E6C: + movs r3, 0 + ldr r0, _08094F64 + mov r9, r0 + ldr r7, _08094F68 + mov r12, r9 + adds r5, r7, 0 +_08094E78: + ldr r4, [r5] + movs r6, 0x80 + lsls r6, 24 + ands r4, r6 + ldr r0, [r5, 0x4] + ldr r1, _08094F6C + ands r0, r1 + orrs r4, r0 + ldr r1, _08094F70 + adds r0, r3, r1 + lsls r0, 2 + adds r0, r7 + lsrs r2, r4, 1 + ldr r1, [r0] + eors r1, r2 + movs r0, 0x1 + ands r4, r0 + lsls r0, r4, 2 + add r0, r12 + ldr r0, [r0] + eors r1, r0 + stm r5!, {r1} + adds r3, 0x1 + cmp r3, 0xE2 + ble _08094E78 + ldr r5, _08094F74 + cmp r3, r5 + bgt _08094EE6 + ldr r1, _08094F68 + ldr r4, _08094F64 + mov r12, r4 + lsls r0, r3, 2 + adds r2, r0, r1 + ldr r4, _08094F78 + adds r0, r4 + adds r7, r0, r1 +_08094EC0: + ldr r4, [r2] + ands r4, r6 + ldr r0, [r2, 0x4] + ldr r1, _08094F6C + ands r0, r1 + orrs r4, r0 + lsrs r0, r4, 1 + ldm r7!, {r1} + eors r1, r0 + movs r0, 0x1 + ands r4, r0 + lsls r0, r4, 2 + add r0, r12 + ldr r0, [r0] + eors r1, r0 + stm r2!, {r1} + adds r3, 0x1 + cmp r3, r5 + ble _08094EC0 +_08094EE6: + ldr r2, _08094F68 + ldr r0, _08094F7C + adds r3, r2, r0 + ldr r4, [r3] + movs r0, 0x80 + lsls r0, 24 + ands r4, r0 + ldr r0, [r2] + ldr r1, _08094F6C + ands r0, r1 + orrs r4, r0 + movs r1, 0xC6 + lsls r1, 3 + adds r2, r1 + lsrs r0, r4, 1 + ldr r1, [r2] + eors r1, r0 + movs r0, 0x1 + ands r4, r0 + lsls r0, r4, 2 + add r0, r9 + ldr r0, [r0] + eors r1, r0 + str r1, [r3] + movs r0, 0 + mov r4, r8 + str r0, [r4] +_08094F1C: + ldr r2, _08094F68 + mov r0, r8 + ldr r1, [r0] + lsls r0, r1, 2 + adds r0, r2 + ldr r4, [r0] + adds r1, 0x1 + mov r0, r8 + str r1, [r0] + lsrs r0, r4, 11 + eors r4, r0 + lsls r0, r4, 7 + ldr r1, _08094F80 + ands r0, r1 + eors r4, r0 + lsls r0, r4, 15 + ldr r1, _08094F84 + ands r0, r1 + eors r4, r0 + lsrs r0, r4, 18 + eors r4, r0 + adds r0, r4, 0 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08094F54: .4byte gUnknown_203B470 +_08094F58: .4byte 0x0000026f +_08094F5C: .4byte 0x00000271 +_08094F60: .4byte 0x00001571 +_08094F64: .4byte gUnknown_203B474 +_08094F68: .4byte gUnknown_3001198 +_08094F6C: .4byte 0x7fffffff +_08094F70: .4byte 0x0000018d +_08094F74: .4byte 0x0000026e +_08094F78: .4byte 0xfffffc74 +_08094F7C: .4byte 0x000009bc +_08094F80: .4byte 0x9d2c5680 +_08094F84: .4byte 0xefc60000 + thumb_func_end sub_8094E4C + + thumb_func_start sub_8094F88 +sub_8094F88: + push {lr} + ldr r1, _08094F98 + ldr r0, _08094F9C + str r0, [r1] + bl sub_8094FA8 + pop {r0} + bx r0 + .align 2, 0 +_08094F98: .4byte gUnknown_203B47C +_08094F9C: .4byte gUnknown_2038C80 + thumb_func_end sub_8094F88 + + thumb_func_start sub_8094FA0 +sub_8094FA0: + ldr r0, _08094FA4 + bx lr + .align 2, 0 +_08094FA4: .4byte gUnknown_2038C80 + thumb_func_end sub_8094FA0 + + thumb_func_start sub_8094FA8 +sub_8094FA8: + movs r1, 0 + strb r1, [r0, 0x4] + strb r1, [r0, 0x3] + strb r1, [r0, 0x2] + strh r1, [r0] + bx lr + thumb_func_end sub_8094FA8 + + thumb_func_start sub_8094FB4 +sub_8094FB4: + push {lr} + adds r2, r0, 0 + ldrb r0, [r2, 0x4] + adds r0, 0x1 + movs r1, 0 + strb r0, [r2, 0x4] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3B + bls _0809500A + strb r1, [r2, 0x4] + ldrb r0, [r2, 0x3] + adds r0, 0x1 + strb r0, [r2, 0x3] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3B + bls _0809500A + strb r1, [r2, 0x3] + ldrb r0, [r2, 0x2] + adds r0, 0x1 + strb r0, [r2, 0x2] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3B + bls _0809500A + strb r1, [r2, 0x2] + ldrh r3, [r2] + movs r0, 0 + ldrsh r1, [r2, r0] + ldr r0, _08094FFC + cmp r1, r0 + bgt _08095000 + adds r0, r3, 0x1 + b _08095008 + .align 2, 0 +_08094FFC: .4byte 0x0000270e +_08095000: + movs r0, 0x3B + strb r0, [r2, 0x3] + strb r0, [r2, 0x2] + ldr r0, _08095010 +_08095008: + strh r0, [r2] +_0809500A: + pop {r0} + bx r0 + .align 2, 0 +_08095010: .4byte 0x0000270f + thumb_func_end sub_8094FB4 + + thumb_func_start sub_8095014 +sub_8095014: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r1, 0 + ldrsh r0, [r4, r1] + ldr r1, _08095030 + cmp r0, r1 + bgt _08095034 + str r0, [r5] + ldrb r0, [r4, 0x2] + str r0, [r2] + ldrb r0, [r4, 0x3] + b _0809503A + .align 2, 0 +_08095030: .4byte 0x0000270f +_08095034: + str r1, [r5] + movs r0, 0x3B + str r0, [r2] +_0809503A: + str r0, [r3] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8095014 + + thumb_func_start sub_8095044 +sub_8095044: + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _0809507C + ldr r1, [r4] + adds r1, 0x4 + movs r2, 0x6 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x3 + adds r0, r5, 0 + movs r2, 0x6 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x2 + adds r0, r5, 0 + movs r2, 0x6 + bl sub_809488C + ldr r1, [r4] + adds r0, r5, 0 + movs r2, 0xE + bl sub_809488C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809507C: .4byte gUnknown_203B47C + thumb_func_end sub_8095044 + + thumb_func_start sub_8095080 +sub_8095080: + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080950B8 + ldr r1, [r4] + adds r1, 0x4 + movs r2, 0x6 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x3 + adds r0, r5, 0 + movs r2, 0x6 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x2 + adds r0, r5, 0 + movs r2, 0x6 + bl sub_8094924 + ldr r1, [r4] + adds r0, r5, 0 + movs r2, 0xE + bl sub_8094924 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080950B8: .4byte gUnknown_203B47C + thumb_func_end sub_8095080 + + thumb_func_start sub_80950BC +sub_80950BC: + ldr r1, _080950D8 + ldr r0, _080950DC + str r0, [r1] + ldr r1, _080950E0 + ldr r0, _080950E4 + str r0, [r1] + ldr r1, _080950E8 + ldr r0, _080950EC + str r0, [r1] + ldr r1, _080950F0 + ldr r0, _080950F4 + str r0, [r1] + bx lr + .align 2, 0 +_080950D8: .4byte gUnknown_203B480 +_080950DC: .4byte gUnknown_2038C88 +_080950E0: .4byte gUnknown_203B484 +_080950E4: .4byte gUnknown_2039288 +_080950E8: .4byte gUnknown_203B488 +_080950EC: .4byte gUnknown_20392E8 +_080950F0: .4byte gUnknown_203B48C +_080950F4: .4byte gUnknown_20393C0 + thumb_func_end sub_80950BC + + thumb_func_start sub_80950F8 +sub_80950F8: + ldr r0, _080950FC + bx lr + .align 2, 0 +_080950FC: .4byte gUnknown_2038C88 + thumb_func_end sub_80950F8 + + thumb_func_start sub_8095100 +sub_8095100: + ldr r0, _08095104 + bx lr + .align 2, 0 +_08095104: .4byte gUnknown_2039288 + thumb_func_end sub_8095100 + + thumb_func_start sub_8095108 +sub_8095108: + ldr r0, _0809510C + bx lr + .align 2, 0 +_0809510C: .4byte gUnknown_20392E8 + thumb_func_end sub_8095108 + + thumb_func_start sub_8095110 +sub_8095110: + ldr r0, _08095114 + bx lr + .align 2, 0 +_08095114: .4byte gUnknown_20393C0 + thumb_func_end sub_8095110 + + thumb_func_start sub_8095118 +sub_8095118: + push {r4,lr} + ldr r4, _0809517C + ldr r0, [r4] + movs r2, 0xC0 + lsls r2, 3 + movs r1, 0 + bl MemoryFill8 + ldr r0, _08095180 + ldr r0, [r0] + movs r1, 0 + movs r2, 0x5C + bl MemoryFill8 + movs r2, 0 + movs r1, 0 + movs r3, 0x1F +_0809513A: + ldr r0, [r4] + adds r0, r1 + strb r2, [r0] + ldr r0, [r4] + adds r0, r1 + adds r0, 0x22 + strb r2, [r0] + ldr r0, [r4] + adds r0, r1 + adds r0, 0x2D + strb r2, [r0] + adds r1, 0x30 + subs r3, 0x1 + cmp r3, 0 + bge _0809513A + ldr r2, _08095184 + ldr r1, [r2] + movs r0, 0 + str r0, [r1] + movs r3, 0 + movs r4, 0x1 + negs r4, r4 +_08095166: + ldr r0, [r2] + lsls r1, r3, 2 + adds r0, 0x4 + adds r0, r1 + str r4, [r0] + adds r3, 0x1 + cmp r3, 0x1F + ble _08095166 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0809517C: .4byte gUnknown_203B480 +_08095180: .4byte gUnknown_203B484 +_08095184: .4byte gUnknown_203B48C + thumb_func_end sub_8095118 + + thumb_func_start nullsub_206 +nullsub_206: + bx lr + thumb_func_end nullsub_206 + + thumb_func_start nullsub_207 +nullsub_207: + bx lr + thumb_func_end nullsub_207 + + thumb_func_start sub_8095190 +sub_8095190: + push {lr} + movs r2, 0x2 + ldr r0, _080951A8 + ldr r0, [r0] + adds r1, r0, 0 + adds r1, 0x60 +_0809519C: + ldrb r0, [r1] + cmp r0, 0 + bne _080951AC + adds r0, r2, 0 + b _080951B8 + .align 2, 0 +_080951A8: .4byte gUnknown_203B480 +_080951AC: + adds r1, 0x30 + adds r2, 0x1 + cmp r2, 0x1F + ble _0809519C + movs r0, 0x1 + negs r0, r0 +_080951B8: + pop {r1} + bx r1 + thumb_func_end sub_8095190 + + thumb_func_start sub_80951BC +sub_80951BC: + push {r4,lr} + adds r4, r0, 0 + bl sub_8095190 + adds r2, r0, 0 + movs r0, 0x1 + negs r0, r0 + cmp r2, r0 + beq _080951F4 + ldr r0, _080951F0 + ldr r1, [r0] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 4 + adds r1, r0 + adds r0, r4, 0 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + movs r0, 0x1 + b _080951F6 + .align 2, 0 +_080951F0: .4byte gUnknown_203B480 +_080951F4: + movs r0, 0 +_080951F6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80951BC + + thumb_func_start sub_80951FC +sub_80951FC: + push {r4,r5,lr} + ldr r1, _08095224 + ldr r1, [r1] + adds r1, 0x30 + ldrb r2, [r1] + negs r3, r2 + orrs r3, r2 + lsrs r3, 31 + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + adds r0, r3, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08095224: .4byte gUnknown_203B480 + thumb_func_end sub_80951FC + + thumb_func_start sub_8095228 +sub_8095228: + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0809523C + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 4 + ldr r0, [r2] + adds r0, r1 + bx lr + .align 2, 0 +_0809523C: .4byte gUnknown_203B480 + thumb_func_end sub_8095228 + + thumb_func_start sub_8095240 +sub_8095240: + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r5, _08095270 + lsls r4, r0, 1 + adds r4, r0 + lsls r4, 4 + ldr r0, [r5] + adds r0, r4 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r5] + adds r0, r4 + movs r1, 0 + strb r1, [r0] + ldr r0, [r5] + adds r0, r4 + adds r0, 0x22 + strb r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08095270: .4byte gUnknown_203B480 + thumb_func_end sub_8095240 + + thumb_func_start sub_8095274 +sub_8095274: + push {lr} + ldr r1, _08095294 + ldr r3, [r1] + adds r2, r3, 0 + ldm r2!, {r1} + lsls r1, 2 + adds r2, r1 + str r0, [r2] + ldr r0, [r3] + movs r1, 0 + cmp r0, 0x1E + bgt _0809528E + adds r1, r0, 0x1 +_0809528E: + str r1, [r3] + pop {r0} + bx r0 + .align 2, 0 +_08095294: .4byte gUnknown_203B48C + thumb_func_end sub_8095274 + + thumb_func_start sub_8095298 +sub_8095298: + push {lr} + adds r3, r0, 0 + movs r2, 0 + ldr r0, _080952B0 + ldr r0, [r0] + adds r1, r0, 0x4 +_080952A4: + ldr r0, [r1] + cmp r0, r3 + bne _080952B4 + movs r0, 0x1 + b _080952BE + .align 2, 0 +_080952B0: .4byte gUnknown_203B48C +_080952B4: + adds r1, 0x4 + adds r2, 0x1 + cmp r2, 0x1F + ble _080952A4 + movs r0, 0 +_080952BE: + pop {r1} + bx r1 + thumb_func_end sub_8095298 + + thumb_func_start sub_80952C4 +sub_80952C4: + push {r4,lr} + ldr r2, _080952EC + ldr r1, [r2] + movs r0, 0 + str r0, [r1] + movs r3, 0 + adds r4, r2, 0 + movs r2, 0x1 + negs r2, r2 +_080952D6: + ldr r0, [r4] + lsls r1, r3, 2 + adds r0, 0x4 + adds r0, r1 + str r2, [r0] + adds r3, 0x1 + cmp r3, 0x1F + ble _080952D6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080952EC: .4byte gUnknown_203B48C + thumb_func_end sub_80952C4 + + thumb_func_start sub_80952F0 +sub_80952F0: + push {r4,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r1, r0, 24 + movs r3, 0 + ldr r0, _08095310 + ldr r2, [r0] +_080952FE: + ldrb r0, [r2] + cmp r0, r1 + bne _08095314 + ldr r0, [r2, 0x10] + cmp r0, r4 + bne _08095314 + movs r0, 0x1 + b _0809531E + .align 2, 0 +_08095310: .4byte gUnknown_203B480 +_08095314: + adds r2, 0x30 + adds r3, 0x1 + cmp r3, 0x1F + ble _080952FE + movs r0, 0 +_0809531E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80952F0 + + thumb_func_start sub_8095324 +sub_8095324: + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r3, 0 + ldr r0, _0809534C + ldr r1, [r0] + movs r2, 0x1F +_08095332: + ldrb r0, [r1] + cmp r0, r4 + bne _0809533A + adds r3, 0x1 +_0809533A: + adds r1, 0x30 + subs r2, 0x1 + cmp r2, 0 + bge _08095332 + adds r0, r3, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0809534C: .4byte gUnknown_203B480 + thumb_func_end sub_8095324 + + thumb_func_start sub_8095350 +sub_8095350: + push {lr} + movs r3, 0 + ldr r0, _08095370 + ldr r1, [r0] + movs r2, 0x1F +_0809535A: + ldrb r0, [r1] + cmp r0, 0 + beq _08095362 + adds r3, 0x1 +_08095362: + adds r1, 0x30 + subs r2, 0x1 + cmp r2, 0 + bge _0809535A + adds r0, r3, 0 + pop {r1} + bx r1 + .align 2, 0 +_08095370: .4byte gUnknown_203B480 + thumb_func_end sub_8095350 + + thumb_func_start sub_8095374 +sub_8095374: + push {lr} + movs r3, 0x1 + negs r3, r3 + movs r2, 0 + ldr r0, _08095398 + ldr r1, [r0] +_08095380: + ldrb r0, [r1] + cmp r0, 0x1 + bne _08095388 + adds r3, r2, 0 +_08095388: + adds r1, 0x30 + adds r2, 0x1 + cmp r2, 0x1F + ble _08095380 + adds r0, r3, 0 + pop {r1} + bx r1 + .align 2, 0 +_08095398: .4byte gUnknown_203B480 + thumb_func_end sub_8095374 + + thumb_func_start sub_809539C +sub_809539C: + push {r4,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r1, r0, 24 + movs r3, 0 + ldr r0, _080953BC + ldr r2, [r0] +_080953AA: + ldrb r0, [r2] + cmp r0, r1 + bne _080953C0 + ldr r0, [r2, 0x10] + cmp r0, r4 + bne _080953C0 + adds r0, r3, 0 + b _080953CC + .align 2, 0 +_080953BC: .4byte gUnknown_203B480 +_080953C0: + adds r2, 0x30 + adds r3, 0x1 + cmp r3, 0x1F + ble _080953AA + movs r0, 0x1 + negs r0, r0 +_080953CC: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809539C + + thumb_func_start sub_80953D4 +sub_80953D4: + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + movs r2, 0 + ldr r0, _080953EC + ldr r1, [r0] +_080953E0: + ldrb r0, [r1] + cmp r0, r3 + bne _080953F0 + adds r0, r2, 0 + b _080953FC + .align 2, 0 +_080953EC: .4byte gUnknown_203B480 +_080953F0: + adds r1, 0x30 + adds r2, 0x1 + cmp r2, 0x1F + ble _080953E0 + movs r0, 0x1 + negs r0, r0 +_080953FC: + pop {r1} + bx r1 + thumb_func_end sub_80953D4 + + thumb_func_start sub_8095400 +sub_8095400: + push {lr} + adds r3, r0, 0 + movs r2, 0 + ldr r0, _08095418 + ldr r0, [r0] + adds r1, r0, 0 + adds r1, 0x10 +_0809540E: + ldr r0, [r1] + cmp r0, r3 + bne _0809541C + adds r0, r2, 0 + b _08095428 + .align 2, 0 +_08095418: .4byte gUnknown_203B480 +_0809541C: + adds r1, 0x30 + adds r2, 0x1 + cmp r2, 0x1F + ble _0809540E + movs r0, 0x1 + negs r0, r0 +_08095428: + pop {r1} + bx r1 + thumb_func_end sub_8095400 + + thumb_func_start sub_809542C +sub_809542C: + push {r4,lr} + sub sp, 0x14 + ldr r4, _08095490 + ldr r2, [r4] + movs r1, 0x1 + strb r1, [r2] + ldr r2, [r4] + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2, 0x4] + str r1, [r2, 0x8] + bl Random + bl sub_8094D28 + bl sub_8094E4C + ldr r1, [r4] + str r0, [r1, 0x10] + bl sub_808D33C + ldr r1, [r4] + ldrh r0, [r0, 0x8] + strh r0, [r1, 0xC] + bl sub_808D33C + adds r1, r0, 0 + mov r0, sp + bl sub_808DA34 + ldr r0, [r4] + adds r0, 0x14 + mov r1, sp + bl sub_80922F4 + bl sub_8011C34 + ldr r1, [r4] + str r0, [r1, 0x24] + ldrb r0, [r1, 0x4] + bl GetUnk3 + ldr r1, [r4] + adds r1, 0x2C + strb r0, [r1] + add sp, 0x14 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08095490: .4byte gUnknown_203B480 + thumb_func_end sub_809542C + + thumb_func_start sub_8095494 +sub_8095494: + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080954B0 + ldr r3, [r2] + lsls r2, r1, 1 + adds r2, r1 + lsls r2, 4 + adds r3, r2 + ldr r1, [r3, 0x4] + ldr r2, [r3, 0x8] + str r1, [r0] + str r2, [r0, 0x4] + bx lr + .align 2, 0 +_080954B0: .4byte gUnknown_203B480 + thumb_func_end sub_8095494 + + thumb_func_start sub_80954B4 +sub_80954B4: + push {lr} + movs r0, 0x3 + bl sub_8095324 + cmp r0, 0 + bne _080954C4 + movs r0, 0 + b _080954C6 +_080954C4: + movs r0, 0x1 +_080954C6: + pop {r1} + bx r1 + thumb_func_end sub_80954B4 + + thumb_func_start sub_80954CC +sub_80954CC: + push {r4-r6,lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809485C + ldr r6, _08095618 + movs r5, 0 + movs r4, 0x1F +_080954E2: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8095774 + adds r5, 0x30 + subs r4, 0x1 + cmp r4, 0 + bge _080954E2 + ldr r4, _0809561C + ldr r1, [r4] + mov r0, sp + movs r2, 0x20 + bl sub_8094924 + ldr r5, [r4] + adds r4, r5, 0x4 + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x58 + bl memset + mov r0, sp + adds r1, r4, 0 + movs r2, 0x2 + bl sub_8094924 + adds r1, r5, 0x6 + mov r0, sp + movs r2, 0x1 + bl sub_8094924 + adds r1, r5, 0x7 + mov r0, sp + movs r2, 0x7 + bl sub_8094924 + adds r4, 0x4 + mov r0, sp + adds r1, r4, 0 + bl sub_8090314 + adds r1, r5, 0 + adds r1, 0xC + mov r0, sp + movs r2, 0x9 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x10 + mov r0, sp + bl sub_808F410 + adds r1, r5, 0 + adds r1, 0x14 + mov r0, sp + bl sub_808F410 + adds r1, r5, 0 + adds r1, 0x18 + mov r0, sp + movs r2, 0xA + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x1A + mov r0, sp + movs r2, 0xA + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x1C + mov r0, sp + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x1D + mov r0, sp + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x1E + mov r0, sp + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x1F + mov r0, sp + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x20 + mov r0, sp + movs r2, 0x18 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x24 + mov r0, sp + movs r2, 0x18 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x28 + mov r0, sp + movs r2, 0x4 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x2C + mov r0, sp + bl sub_8091DC0 + adds r1, r5, 0 + adds r1, 0x30 + mov r0, sp + bl sub_8094128 + adds r1, r5, 0 + adds r1, 0x50 + mov r0, sp + movs r2, 0x50 + bl sub_8094924 + ldr r4, _08095620 + ldr r1, [r4] + mov r0, sp + movs r2, 0x20 + bl sub_8094924 + adds r6, r4, 0 + movs r5, 0x4 + movs r4, 0x1F +_080955F4: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + movs r2, 0x20 + bl sub_8094924 + adds r5, 0x4 + subs r4, 0x1 + cmp r4, 0 + bge _080955F4 + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x10 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08095618: .4byte gUnknown_203B480 +_0809561C: .4byte gUnknown_203B484 +_08095620: .4byte gUnknown_203B48C + thumb_func_end sub_80954CC + + thumb_func_start sub_8095624 +sub_8095624: + push {r4-r6,lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809486C + ldr r6, _08095768 + movs r5, 0 + movs r4, 0x1F +_0809563A: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8095824 + adds r5, 0x30 + subs r4, 0x1 + cmp r4, 0 + bge _0809563A + ldr r4, _0809576C + ldr r1, [r4] + mov r0, sp + movs r2, 0x20 + bl sub_809488C + ldr r5, [r4] + adds r4, r5, 0x4 + mov r0, sp + adds r1, r4, 0 + movs r2, 0x2 + bl sub_809488C + adds r1, r5, 0x6 + mov r0, sp + movs r2, 0x1 + bl sub_809488C + adds r1, r5, 0x7 + mov r0, sp + movs r2, 0x7 + bl sub_809488C + adds r4, 0x4 + mov r0, sp + adds r1, r4, 0 + bl sub_80902F4 + adds r1, r5, 0 + adds r1, 0xC + mov r0, sp + movs r2, 0x9 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x10 + mov r0, sp + bl sub_808F41C + adds r1, r5, 0 + adds r1, 0x14 + mov r0, sp + bl sub_808F41C + adds r1, r5, 0 + adds r1, 0x18 + mov r0, sp + movs r2, 0xA + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x1A + mov r0, sp + movs r2, 0xA + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x1C + mov r0, sp + movs r2, 0x8 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x1D + mov r0, sp + movs r2, 0x8 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x1E + mov r0, sp + movs r2, 0x8 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x1F + mov r0, sp + movs r2, 0x8 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x20 + mov r0, sp + movs r2, 0x18 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x24 + mov r0, sp + movs r2, 0x18 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x28 + mov r0, sp + movs r2, 0x4 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x2C + mov r0, sp + bl sub_8091DE0 + adds r1, r5, 0 + adds r1, 0x30 + mov r0, sp + bl sub_8094108 + adds r1, r5, 0 + adds r1, 0x50 + mov r0, sp + movs r2, 0x50 + bl sub_809488C + ldr r4, _08095770 + ldr r1, [r4] + mov r0, sp + movs r2, 0x20 + bl sub_809488C + adds r6, r4, 0 + movs r5, 0x4 + movs r4, 0x1F +_08095742: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + movs r2, 0x20 + bl sub_809488C + adds r5, 0x4 + subs r4, 0x1 + cmp r4, 0 + bge _08095742 + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x10 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08095768: .4byte gUnknown_203B480 +_0809576C: .4byte gUnknown_203B484 +_08095770: .4byte gUnknown_203B48C + thumb_func_end sub_8095624 + + thumb_func_start sub_8095774 +sub_8095774: + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x4 + bl sub_8094924 + adds r1, r5, 0x4 + adds r0, r4, 0 + bl sub_8090314 + adds r1, r5, 0 + adds r1, 0x8 + adds r0, r4, 0 + movs r2, 0x18 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0xC + adds r0, r4, 0 + movs r2, 0x9 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x10 + adds r0, r4, 0 + movs r2, 0x20 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x14 + adds r0, r4, 0 + movs r2, 0x50 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x20 + adds r0, r4, 0 + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x21 + adds r0, r4, 0 + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x22 + adds r0, r4, 0 + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x24 + adds r0, r4, 0 + movs r2, 0x20 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x28 + adds r0, r4, 0 + movs r2, 0x20 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x2C + adds r0, r4, 0 + movs r2, 0x8 + bl sub_8094924 + adds r0, r4, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + mov r0, sp + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + adds r1, r5, 0 + adds r1, 0x2D + strb r0, [r1] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8095774 + + thumb_func_start sub_8095824 +sub_8095824: + push {r4-r6,lr} + sub sp, 0x4 + adds r5, r0, 0 + adds r4, r1, 0 + movs r1, 0xFF + mov r0, sp + strb r1, [r0] + mov r6, sp + adds r6, 0x1 + movs r0, 0 + strb r0, [r6] + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x4 + bl sub_809488C + adds r1, r4, 0x4 + adds r0, r5, 0 + bl sub_80902F4 + adds r1, r4, 0 + adds r1, 0x8 + adds r0, r5, 0 + movs r2, 0x18 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0xC + adds r0, r5, 0 + movs r2, 0x9 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x10 + adds r0, r5, 0 + movs r2, 0x20 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x14 + adds r0, r5, 0 + movs r2, 0x50 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x20 + adds r0, r5, 0 + movs r2, 0x8 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x21 + adds r0, r5, 0 + movs r2, 0x8 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x22 + adds r0, r5, 0 + movs r2, 0x8 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x24 + adds r0, r5, 0 + movs r2, 0x20 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x28 + adds r0, r5, 0 + movs r2, 0x20 + bl sub_809488C + adds r1, r4, 0 + adds r1, 0x2C + adds r0, r5, 0 + movs r2, 0x8 + bl sub_809488C + adds r0, r4, 0 + adds r0, 0x2D + ldrb r0, [r0] + mov r1, sp + cmp r0, 0 + bne _080958D2 + adds r1, r6, 0 +_080958D2: + adds r0, r5, 0 + movs r2, 0x1 + bl sub_809488C + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8095824 + + thumb_func_start sub_80958E4 +sub_80958E4: + str r1, [r0] + bx lr + thumb_func_end sub_80958E4 + + thumb_func_start sub_80958E8 +sub_80958E8: + ldr r1, _080958F0 + ldr r0, _080958F4 + str r0, [r1] + bx lr + .align 2, 0 +_080958F0: .4byte gUnknown_203B490 +_080958F4: .4byte gUnknown_2039448 + thumb_func_end sub_80958E8 + + thumb_func_start sub_80958F8 +sub_80958F8: + ldr r0, _080958FC + bx lr + .align 2, 0 +_080958FC: .4byte gUnknown_2039448 + thumb_func_end sub_80958F8 + + thumb_func_start sub_8095900 +sub_8095900: + push {r4-r7,lr} + movs r4, 0 +_08095904: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096040 + adds r4, 0x1 + cmp r4, 0x3 + ble _08095904 + movs r4, 0 +_08095914: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_80965B8 + adds r4, 0x1 + cmp r4, 0x7 + ble _08095914 + movs r4, 0 +_08095924: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096C3C + adds r4, 0x1 + cmp r4, 0x7 + ble _08095924 + movs r4, 0 + ldr r3, _080959B8 + movs r2, 0xBC + lsls r2, 2 + movs r1, 0 +_0809593C: + ldr r0, [r3] + adds r0, r2 + adds r0, r4 + strb r1, [r0] + adds r4, 0x1 + cmp r4, 0x37 + ble _0809593C + ldr r4, _080959B8 + ldr r0, [r4] + movs r1, 0xCA + lsls r1, 2 + adds r0, r1 + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + movs r7, 0xC8 + lsls r7, 1 + adds r0, r7 + movs r1, 0x28 + bl MemoryClear8 + ldr r0, [r4] + movs r1, 0xDC + lsls r1, 1 + adds r0, r1 + movs r1, 0x78 + bl MemoryClear8 + adds r3, r4, 0 + movs r5, 0 + movs r2, 0 + movs r6, 0x8C + lsls r6, 2 + movs r4, 0xF +_08095980: + ldr r0, [r3] + adds r0, r2 + adds r0, r6 + movs r1, 0x63 + strb r1, [r0] + ldr r0, [r3] + adds r0, r2 + ldr r7, _080959BC + adds r0, r7 + movs r1, 0x1 + strb r1, [r0] + ldr r1, [r3] + adds r7, 0x3 + adds r0, r1, r7 + adds r0, r2 + str r5, [r0] + adds r7, 0x4 + adds r0, r1, r7 + adds r0, r2 + str r5, [r0] + adds r2, 0xC + subs r4, 0x1 + cmp r4, 0 + bge _08095980 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080959B8: .4byte gUnknown_203B490 +_080959BC: .4byte 0x00000231 + thumb_func_end sub_8095900 + + thumb_func_start sub_80959C0 +sub_80959C0: + push {lr} + adds r1, r0, 0 + ldrb r0, [r1] + cmp r0, 0x5 + bne _080959D6 + adds r0, r1, 0 + bl sub_80959DC + lsls r0, 24 + lsrs r0, 24 + b _080959D8 +_080959D6: + movs r0, 0 +_080959D8: + pop {r1} + bx r1 + thumb_func_end sub_80959C0 + + thumb_func_start sub_80959DC +sub_80959DC: + push {r4-r6,lr} + adds r5, r0, 0 + ldrb r0, [r5, 0x1] + cmp r0, 0x4 + bls _080959E8 + b _08095B16 +_080959E8: + cmp r0, 0x4 + bne _080959F8 + ldrb r0, [r5, 0x4] + bl GetMaxItemCount + cmp r0, 0 + bne _080959F8 + b _08095B16 +_080959F8: + ldrb r0, [r5, 0x2] + cmp r0, 0x9 + bls _08095A00 + b _08095B16 +_08095A00: + ldrb r0, [r5, 0x4] + bl sub_809095C + lsls r0, 24 + cmp r0, 0 + beq _08095A0E + b _08095B16 +_08095A0E: + ldrb r4, [r5, 0x5] + ldrb r0, [r5, 0x4] + bl sub_8090298 + cmp r4, r0 + bge _08095B16 + adds r4, r5, 0x4 + adds r0, r4, 0 + bl sub_809017C + lsls r0, 24 + adds r6, r4, 0 + cmp r0, 0 + bne _08095B16 + movs r1, 0xC + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _08095B16 + ldr r4, _08095B1C + cmp r0, r4 + bgt _08095B16 + movs r2, 0xC + ldrsh r0, [r5, r2] + bl sub_808E770 + movs r2, 0xC + ldrsh r1, [r5, r2] + lsls r0, 16 + asrs r0, 16 + cmp r1, r0 + bne _08095B16 + movs r1, 0xC + ldrsh r0, [r5, r1] + bl sub_803C0DC + lsls r0, 24 + cmp r0, 0 + beq _08095B16 + movs r2, 0xE + ldrsh r0, [r5, r2] + cmp r0, r4 + bgt _08095B16 + movs r1, 0xE + ldrsh r0, [r5, r1] + bl sub_808E770 + movs r2, 0xE + ldrsh r1, [r5, r2] + lsls r0, 16 + asrs r0, 16 + cmp r1, r0 + bne _08095B16 + movs r1, 0xE + ldrsh r0, [r5, r1] + bl sub_803C0DC + lsls r0, 24 + cmp r0, 0 + beq _08095B16 + ldrb r0, [r5, 0x1] + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _08095A9C + movs r2, 0xE + ldrsh r1, [r5, r2] + movs r2, 0xC + ldrsh r0, [r5, r2] + cmp r1, r0 + bne _08095B16 +_08095A9C: + ldrb r0, [r5, 0x10] + bl sub_8092040 + lsls r0, 24 + cmp r0, 0 + bne _08095B16 + ldrb r0, [r5, 0x10] + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + bne _08095B16 + ldrb r0, [r5, 0x10] + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + beq _08095B16 + ldrb r0, [r5, 0x1] + cmp r0, 0x3 + bne _08095AD4 + ldrb r0, [r5, 0x4] + ldrb r1, [r5, 0x10] + bl sub_8091E60 + lsls r0, 24 + cmp r0, 0 + beq _08095B16 +_08095AD4: + ldrb r0, [r5, 0x11] + cmp r0, 0x4 + beq _08095B16 + cmp r0, 0xA + beq _08095B16 + cmp r0, 0xA + bhi _08095B16 + ldrb r0, [r5, 0x12] + bl sub_8092040 + lsls r0, 24 + cmp r0, 0 + bne _08095B16 + ldrb r0, [r5, 0x13] + cmp r0, 0x39 + bhi _08095B16 + ldrb r0, [r5, 0x11] + cmp r0, 0x9 + bne _08095B20 + ldrb r0, [r5, 0x13] + bl sub_8092534 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _08095B16 + ldrb r1, [r5, 0x1] + adds r0, r6, 0 + bl sub_803C1D0 + lsls r0, 24 + cmp r0, 0 + bne _08095B20 +_08095B16: + movs r0, 0 + b _08095B22 + .align 2, 0 +_08095B1C: .4byte 0x000001a7 +_08095B20: + movs r0, 0x1 +_08095B22: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80959DC + + thumb_func_start sub_8095B28 +sub_8095B28: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r4, _08095B44 + add sp, r4 + adds r4, r0, 0 + bl sub_8095CE0 + lsls r0, 24 + cmp r0, 0 + bne _08095B48 + movs r0, 0 + b _08095CCC + .align 2, 0 +_08095B44: .4byte 0xfffffcb0 +_08095B48: + movs r0, 0x5 + strb r0, [r4] + movs r0, 0x8 + bl RandomCapped + ldr r1, _08095BC8 + adds r0, r1 + ldrb r0, [r0] + strb r0, [r4, 0x1] + cmp r0, 0x2 + bne _08095B6C + bl sub_8092178 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _08095B6C + strb r0, [r4, 0x1] +_08095B6C: + movs r0, 0 + strb r0, [r4, 0x2] + bl Random + ldr r1, _08095BCC + ands r1, r0 + str r1, [r4, 0x8] + movs r7, 0 + movs r5, 0x1 + adds r0, r4, 0x4 + mov r8, r0 + movs r1, 0x12 + adds r1, r4 + mov r9, r1 + mov r6, sp +_08095B8A: + lsls r0, r5, 16 + asrs r0, 16 + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _08095B9E + strh r5, [r6] + adds r6, 0x2 + adds r7, 0x1 +_08095B9E: + adds r5, 0x1 + ldr r0, _08095BD0 + cmp r5, r0 + ble _08095B8A + cmp r7, 0 + beq _08095BD4 + adds r0, r7, 0 + bl RandomCapped + lsls r0, 1 + add r0, sp + ldrh r0, [r0] + strh r0, [r4, 0xC] + adds r0, r7, 0 + bl RandomCapped + lsls r0, 1 + add r0, sp + ldrh r0, [r0] + b _08095BDC + .align 2, 0 +_08095BC8: .4byte gUnknown_8109984 +_08095BCC: .4byte 0x00ffffff +_08095BD0: .4byte 0x000001a7 +_08095BD4: + movs r0, 0x10 + strh r0, [r4, 0xC] + movs r0, 0x91 + lsls r0, 1 +_08095BDC: + strh r0, [r4, 0xE] + ldrb r0, [r4, 0x1] + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _08095BEE + ldrh r0, [r4, 0xC] + strh r0, [r4, 0xE] +_08095BEE: + ldrb r0, [r4, 0x4] + bl sub_8095F28 + strb r0, [r4, 0x10] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _08095C10 + strb r0, [r4, 0x1] + ldrh r0, [r4, 0xC] + strh r0, [r4, 0xE] + adds r2, r4, 0 + adds r2, 0x10 + mov r0, r8 + movs r1, 0 + bl sub_803C37C +_08095C10: + ldrb r0, [r4, 0x4] + bl GetMaxItemCount + adds r1, r0, 0 + cmp r1, 0 + bne _08095C28 + ldrb r0, [r4, 0x1] + cmp r0, 0x4 + bne _08095C28 + strb r1, [r4, 0x1] + ldrh r0, [r4, 0xC] + strh r0, [r4, 0xE] +_08095C28: + ldrb r1, [r4, 0x1] + mov r0, r8 + mov r2, r9 + bl sub_803C37C + ldrb r0, [r4, 0x10] + ldrb r1, [r4, 0x12] + cmp r0, r1 + beq _08095C28 + movs r0, 0 + strb r0, [r4, 0x13] + ldrb r0, [r4, 0x1] + cmp r0, 0x2 + beq _08095C90 + cmp r0, 0x2 + bgt _08095C4E + cmp r0, 0x1 + beq _08095C6C + b _08095CCA +_08095C4E: + cmp r0, 0x4 + bgt _08095CCA + bl Random + adds r1, r0, 0 + movs r0, 0xE0 + lsls r0, 3 + ands r1, r0 + movs r0, 0xC0 + lsls r0, 2 + cmp r1, r0 + beq _08095CC4 + cmp r1, r0 + bgt _08095CB4 + b _08095CAA +_08095C6C: + bl Random + adds r1, r0, 0 + movs r0, 0x70 + ands r1, r0 + cmp r1, 0x10 + beq _08095C80 + cmp r1, 0x30 + beq _08095C88 + b _08095CCA +_08095C80: + adds r0, r4, 0 + bl sub_803C3E0 + b _08095CCA +_08095C88: + adds r0, r4, 0 + bl sub_803C45C + b _08095CCA +_08095C90: + bl Random + movs r1, 0xC0 + lsls r1, 6 + ands r1, r0 + movs r0, 0x80 + lsls r0, 5 + cmp r1, r0 + bne _08095CCA + adds r0, r4, 0 + bl sub_803C4F0 + b _08095CCA +_08095CAA: + movs r0, 0x80 + lsls r0, 1 + cmp r1, r0 + beq _08095CBC + b _08095CCA +_08095CB4: + movs r0, 0xC0 + lsls r0, 3 + cmp r1, r0 + bne _08095CCA +_08095CBC: + adds r0, r4, 0 + bl sub_803C580 + b _08095CCA +_08095CC4: + adds r0, r4, 0 + bl sub_803C610 +_08095CCA: + movs r0, 0x1 +_08095CCC: + movs r3, 0xD4 + lsls r3, 2 + add sp, r3 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8095B28 + + thumb_func_start sub_8095CE0 +sub_8095CE0: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x60 + str r0, [sp, 0x44] + mov r0, sp + bl sub_80A29B0 + str r0, [sp, 0x4C] + cmp r0, 0 + bne _08095D0C + mov r0, sp + add r1, sp, 0x4C + ldrb r1, [r1] + strb r1, [r0] + mov r1, sp + movs r0, 0x1 + strb r0, [r1, 0x1] + movs r2, 0x2 + str r2, [sp, 0x4C] +_08095D0C: + ldr r0, [sp, 0x4C] + bl RandomCapped + mov r9, r0 + str r0, [sp, 0x48] + mov r1, sp + adds r1, 0x40 + str r1, [sp, 0x5C] +_08095D1C: + mov r0, sp + add r0, r9 + ldrb r7, [r0] + adds r0, r7, 0 + bl sub_8090298 + str r0, [sp, 0x58] + lsrs r0, 31 + ldr r2, [sp, 0x58] + adds r0, r2, r0 + asrs r0, 1 + str r0, [sp, 0x54] + adds r1, r2, 0 + bl RandomRange + adds r4, r0, 0 + str r4, [sp, 0x50] +_08095D3E: + movs r0, 0x1 + mov r8, r0 + ldr r1, _08095DF4 + ldr r0, [sp, 0x40] + ands r0, r1 + orrs r0, r7 + lsls r2, r4, 24 + lsrs r2, 16 + ldr r1, _08095DF8 + ands r0, r1 + orrs r0, r2 + str r0, [sp, 0x40] + ldr r0, [sp, 0x5C] + bl sub_809017C + lsls r0, 24 + cmp r0, 0 + beq _08095D66 + movs r1, 0 + mov r8, r1 +_08095D66: + ldr r2, _08095DFC + mov r10, r2 + movs r6, 0 + movs r5, 0x3 +_08095D6E: + mov r1, r10 + ldr r0, [r1] + adds r0, r6 + adds r1, r7, 0 + adds r2, r4, 0 + movs r3, 0x1 + bl sub_8095E38 + lsls r0, 24 + cmp r0, 0 + beq _08095D88 + movs r2, 0 + mov r8, r2 +_08095D88: + adds r6, 0x14 + subs r5, 0x1 + cmp r5, 0 + bge _08095D6E + ldr r0, _08095DFC + mov r10, r0 + movs r6, 0x50 + movs r5, 0x7 +_08095D98: + mov r1, r10 + ldr r0, [r1] + adds r0, r6 + adds r1, r7, 0 + adds r2, r4, 0 + movs r3, 0x1 + bl sub_8095E38 + lsls r0, 24 + cmp r0, 0 + beq _08095DB2 + movs r2, 0 + mov r8, r2 +_08095DB2: + adds r6, 0x14 + subs r5, 0x1 + cmp r5, 0 + bge _08095D98 + ldr r0, _08095DFC + mov r10, r0 + movs r6, 0xF0 + movs r5, 0x7 +_08095DC2: + mov r1, r10 + ldr r0, [r1] + adds r0, r6 + adds r1, r7, 0 + adds r2, r4, 0 + movs r3, 0x1 + bl sub_8095E38 + lsls r0, 24 + cmp r0, 0 + beq _08095DDC + movs r2, 0 + mov r8, r2 +_08095DDC: + adds r6, 0x14 + subs r5, 0x1 + cmp r5, 0 + bge _08095DC2 + mov r0, r8 + cmp r0, 0 + beq _08095E00 + ldr r1, [sp, 0x44] + strb r7, [r1, 0x4] + strb r4, [r1, 0x5] + movs r0, 0x1 + b _08095E28 + .align 2, 0 +_08095DF4: .4byte 0xffffff00 +_08095DF8: .4byte 0xffff00ff +_08095DFC: .4byte gUnknown_203B490 +_08095E00: + adds r4, 0x1 + ldr r2, [sp, 0x58] + cmp r4, r2 + blt _08095E0A + ldr r4, [sp, 0x54] +_08095E0A: + ldr r0, [sp, 0x50] + cmp r4, r0 + bne _08095D3E + movs r1, 0x1 + add r9, r1 + ldr r2, [sp, 0x4C] + cmp r9, r2 + bne _08095E1E + movs r0, 0 + mov r9, r0 +_08095E1E: + ldr r1, [sp, 0x48] + cmp r9, r1 + beq _08095E26 + b _08095D1C +_08095E26: + movs r0, 0 +_08095E28: + add sp, 0x60 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8095CE0 + + thumb_func_start sub_8095E38 +sub_8095E38: + push {r4,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r3, 24 + lsrs r3, 24 + ldrb r0, [r4] + cmp r0, 0 + beq _08095E6E + ldrb r0, [r4, 0x1] + cmp r0, 0x2 + bne _08095E5E + cmp r3, 0x1 + bne _08095E5E + ldrb r0, [r4, 0x4] + cmp r0, r1 + bne _08095E6E + movs r0, 0x1 + b _08095E70 +_08095E5E: + ldrb r0, [r4, 0x4] + cmp r0, r1 + bne _08095E6E + ldrb r0, [r4, 0x5] + cmp r0, r2 + bne _08095E6E + movs r0, 0x1 + b _08095E70 +_08095E6E: + movs r0, 0 +_08095E70: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8095E38 + + thumb_func_start sub_8095E78 +sub_8095E78: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x3C + movs r6, 0 + movs r5, 0x1 +_08095E84: + ldr r0, _08095F04 + ldr r0, [r0] + adds r0, r5 + ldrb r0, [r0] + adds r1, r5, 0x1 + mov r8, r1 + cmp r0, 0 + bne _08095EF6 + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_8092534 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _08095EF6 + movs r4, 0 + ldr r0, _08095F08 + ldr r1, [r0] + movs r3, 0x3 +_08095EAC: + ldrb r0, [r1] + cmp r0, 0 + beq _08095EBA + ldrb r0, [r1, 0x11] + cmp r0, 0x9 + bne _08095EBA + movs r4, 0x1 +_08095EBA: + adds r1, 0x14 + subs r3, 0x1 + cmp r3, 0 + bge _08095EAC + ldr r0, _08095F08 + ldr r0, [r0] + adds r2, r0, 0 + adds r2, 0xF0 + adds r1, r0, 0 + movs r3, 0x7 +_08095ECE: + ldrb r0, [r2] + cmp r0, 0 + beq _08095EE0 + ldr r7, _08095F0C + adds r0, r1, r7 + ldrb r0, [r0] + cmp r0, 0x9 + bne _08095EE0 + movs r4, 0x1 +_08095EE0: + adds r2, 0x14 + adds r1, 0x14 + subs r3, 0x1 + cmp r3, 0 + bge _08095ECE + cmp r4, 0 + bne _08095EF6 + mov r1, sp + adds r0, r1, r6 + strb r5, [r0] + adds r6, 0x1 +_08095EF6: + mov r5, r8 + cmp r5, 0x39 + ble _08095E84 + cmp r6, 0 + bne _08095F10 + movs r0, 0 + b _08095F1A + .align 2, 0 +_08095F04: .4byte gUnknown_203B468 +_08095F08: .4byte gUnknown_203B490 +_08095F0C: .4byte 0x00000101 +_08095F10: + adds r0, r6, 0 + bl RandomCapped + add r0, sp + ldrb r0, [r0] +_08095F1A: + add sp, 0x3C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8095E78 + + thumb_func_start sub_8095F28 +sub_8095F28: + push {r4-r7,lr} + sub sp, 0xF0 + lsls r0, 24 + lsrs r7, r0, 24 + movs r6, 0 + movs r5, 0x1 +_08095F34: + lsls r4, r5, 24 + cmp r7, 0x63 + beq _08095F48 + lsrs r1, r4, 24 + adds r0, r7, 0 + bl sub_8091E60 + lsls r0, 24 + cmp r0, 0 + beq _08095F6A +_08095F48: + lsrs r4, 24 + adds r0, r4, 0 + bl sub_8090A60 + lsls r0, 24 + cmp r0, 0 + bne _08095F6A + adds r0, r4, 0 + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + beq _08095F6A + mov r1, sp + adds r0, r1, r6 + strb r5, [r0] + adds r6, 0x1 +_08095F6A: + adds r5, 0x1 + cmp r5, 0xEF + ble _08095F34 + cmp r6, 0 + beq _08095F80 + adds r0, r6, 0 + bl RandomCapped + add r0, sp + ldrb r0, [r0] + b _08095F82 +_08095F80: + movs r0, 0 +_08095F82: + add sp, 0xF0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8095F28 + + thumb_func_start sub_8095F8C +sub_8095F8C: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_08095F92: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096000 + lsls r0, 24 + cmp r0, 0 + bne _08095FA2 + adds r5, 0x1 +_08095FA2: + adds r4, 0x1 + cmp r4, 0x3 + ble _08095F92 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8095F8C + + thumb_func_start sub_8095FB0 +sub_8095FB0: + push {r4,r5,lr} + adds r4, r0, 0 + movs r3, 0 + ldr r5, _08095FD4 + movs r2, 0 +_08095FBA: + ldr r0, [r5] + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, 0 + bne _08095FD8 + adds r0, r4, 0 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r3} + stm r1!, {r2,r3} + movs r0, 0 + b _08095FE2 + .align 2, 0 +_08095FD4: .4byte gUnknown_203B490 +_08095FD8: + adds r2, 0x14 + adds r3, 0x1 + cmp r3, 0x3 + ble _08095FBA + movs r0, 0x1 +_08095FE2: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8095FB0 + + thumb_func_start sub_8095FE8 +sub_8095FE8: + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08095FFC + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + ldr r0, [r2] + adds r0, r1 + bx lr + .align 2, 0 +_08095FFC: .4byte gUnknown_203B490 + thumb_func_end sub_8095FE8 + + thumb_func_start sub_8096000 +sub_8096000: + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0809601C + ldr r2, [r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + adds r2, r1 + ldrb r0, [r2] + cmp r0, 0 + beq _08096020 + movs r0, 0 + b _08096022 + .align 2, 0 +_0809601C: .4byte gUnknown_203B490 +_08096020: + movs r0, 0x1 +_08096022: + pop {r1} + bx r1 + thumb_func_end sub_8096000 + + thumb_func_start sub_8096028 +sub_8096028: + push {r4,lr} + movs r4, 0 +_0809602C: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096040 + adds r4, 0x1 + cmp r4, 0x3 + ble _0809602C + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8096028 + + thumb_func_start sub_8096040 +sub_8096040: + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _08096074 + ldr r1, [r3] + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 2 + adds r1, r2 + movs r4, 0 + strb r4, [r1] + ldr r0, [r3] + adds r0, r2 + movs r1, 0x63 + strb r1, [r0, 0x4] + ldr r0, [r3] + adds r0, r2 + strb r4, [r0, 0x5] + ldr r0, [r3] + adds r0, r2 + movs r1, 0x5 + strb r1, [r0, 0x11] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08096074: .4byte gUnknown_203B490 + thumb_func_end sub_8096040 + + thumb_func_start sub_8096078 +sub_8096078: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + movs r2, 0 + movs r3, 0 + ldr r0, _08096090 + mov r12, r0 + mov r8, r3 + movs r4, 0 + mov r9, r4 + b _080960B6 + .align 2, 0 +_08096090: .4byte gUnknown_203B490 +_08096094: + cmp r2, r3 + ble _080960AA + mov r1, r12 + ldr r0, [r1] + mov r5, r8 + adds r1, r0, r5 + adds r0, r4 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r6,r7} + stm r1!, {r6,r7} +_080960AA: + adds r4, 0x14 + movs r0, 0x14 + add r9, r0 + adds r2, 0x1 + add r8, r0 + adds r3, 0x1 +_080960B6: + cmp r2, 0x3 + bgt _080960E2 + mov r1, r12 + ldr r0, [r1] + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + bne _080960E2 + ldr r6, _08096110 + mov r1, r9 +_080960CA: + adds r1, 0x14 + adds r4, 0x14 + movs r5, 0x14 + add r9, r5 + adds r2, 0x1 + cmp r2, 0x3 + bgt _080960E2 + ldr r0, [r6] + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _080960CA +_080960E2: + cmp r2, 0x4 + bne _08096094 + cmp r3, 0x3 + bgt _08096102 + ldr r4, _08096110 + movs r2, 0 + lsls r0, r3, 2 + adds r0, r3 + lsls r1, r0, 2 +_080960F4: + ldr r0, [r4] + adds r0, r1 + strb r2, [r0] + adds r1, 0x14 + adds r3, 0x1 + cmp r3, 0x3 + ble _080960F4 +_08096102: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08096110: .4byte gUnknown_203B490 + thumb_func_end sub_8096078 + + thumb_func_start sub_8096114 +sub_8096114: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + movs r1, 0 +_08096122: + adds r0, r1, 0x1 + mov r10, r0 + mov r8, r10 + cmp r0, 0x3 + bgt _08096198 + ldr r2, _080961B0 + mov r9, r2 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + mov r12, r0 + mov r3, r10 + lsls r0, r3, 2 + add r0, r10 + lsls r4, r0, 2 +_08096140: + mov r5, r9 + ldr r1, [r5] + adds r3, r1, r4 + ldrb r0, [r3] + cmp r0, 0 + beq _0809618C + mov r6, r12 + adds r2, r1, r6 + ldrb r1, [r2, 0x4] + ldrb r0, [r3, 0x4] + cmp r1, r0 + bhi _08096164 + cmp r1, r0 + bne _0809618C + ldrb r0, [r2, 0x5] + ldrb r7, [r3, 0x5] + cmp r0, r7 + bls _0809618C +_08096164: + mov r1, sp + adds r0, r2, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5,r6} + stm r1!, {r5,r6} + adds r1, r2, 0 + adds r0, r3, 0 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r5,r6} + stm r1!, {r5,r6} + mov r7, r9 + ldr r1, [r7] + adds r1, r4 + mov r0, sp + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r6,r7} + stm r1!, {r6,r7} +_0809618C: + adds r4, 0x14 + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x3 + ble _08096140 +_08096198: + mov r1, r10 + cmp r1, 0x2 + ble _08096122 + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080961B0: .4byte gUnknown_203B490 + thumb_func_end sub_8096114 + + thumb_func_start sub_80961B4 +sub_80961B4: + push {lr} + bl sub_8096E2C + lsls r0, 24 + cmp r0, 0 + beq _080961CE + ldr r0, _080961D4 + ldr r0, [r0] + movs r1, 0xCA + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] +_080961CE: + pop {r0} + bx r0 + .align 2, 0 +_080961D4: .4byte gUnknown_203B490 + thumb_func_end sub_80961B4 + + thumb_func_start sub_80961D8 +sub_80961D8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r7, 0 + bl sub_8095F8C + adds r6, r0, 0 + movs r1, 0x4 + bl RandomRange + mov r8, r0 + cmp r6, 0x3 + bgt _08096202 + ldr r4, _08096208 + ldr r0, [r4] + movs r2, 0xCA + lsls r2, 2 + adds r1, r0, r2 + ldrb r0, [r1] + cmp r0, 0 + bne _0809620C +_08096202: + movs r0, 0 + b _080963A8 + .align 2, 0 +_08096208: .4byte gUnknown_203B490 +_0809620C: + strb r7, [r1] + movs r5, 0x38 + movs r0, 0xA + movs r1, 0x31 + movs r2, 0x1 + bl sub_8001D08 + lsls r0, 24 + cmp r0, 0 + beq _0809623A + ldr r0, [r4] + ldr r1, _08096328 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _0809623A + movs r0, 0x35 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _0809623A + movs r5, 0x35 +_0809623A: + movs r0, 0xF + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _0809629C + ldr r0, _0809632C + ldr r0, [r0] + movs r2, 0xC9 + lsls r2, 2 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0 + bne _08096264 + movs r0, 0x34 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _08096264 + movs r5, 0x34 +_08096264: + ldr r0, _0809632C + ldr r0, [r0] + ldr r1, _08096330 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _08096280 + movs r0, 0x33 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _08096280 + movs r5, 0x33 +_08096280: + ldr r0, _0809632C + ldr r0, [r0] + ldr r2, _08096334 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0 + bne _0809629C + movs r0, 0x32 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _0809629C + movs r5, 0x32 +_0809629C: + bl sub_8092178 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x6 + bne _080962C4 + ldr r0, _0809632C + ldr r0, [r0] + ldr r1, _08096338 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _080962C4 + movs r0, 0x36 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _080962C4 + movs r5, 0x36 +_080962C4: + movs r0, 0x6 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _080962EC + ldr r0, _0809632C + ldr r0, [r0] + ldr r2, _0809633C + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0 + bne _080962EC + movs r0, 0x37 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _080962EC + movs r5, 0x37 +_080962EC: + cmp r5, 0x38 + bne _08096310 + cmp r6, r8 + bgt _08096392 + bl sub_8096E2C + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0xE + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + bne _0809630C + cmp r5, 0x2 + bhi _0809638E +_0809630C: + cmp r5, 0x31 + bhi _0809638E +_08096310: + lsls r0, r6, 24 + lsrs r0, 24 + bl sub_8095FE8 + adds r4, r0, 0 + movs r0, 0x1 + strb r0, [r4] + movs r0, 0x62 + strb r0, [r4, 0x4] + strb r5, [r4, 0x5] + b _0809638A + .align 2, 0 +_08096328: .4byte 0x00000325 +_0809632C: .4byte gUnknown_203B490 +_08096330: .4byte 0x00000323 +_08096334: .4byte 0x00000322 +_08096338: .4byte 0x00000326 +_0809633C: .4byte 0x00000327 +_08096340: + lsls r0, r6, 24 + lsrs r0, 24 + bl sub_8095FE8 + adds r4, r0, 0 + bl sub_8095B28 + lsls r0, 24 + cmp r0, 0 + beq _08096392 + bl sub_8095E78 + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0x4 + ldrb r1, [r4, 0x1] + bl sub_803C1D0 + lsls r0, 24 + cmp r0, 0 + bne _0809636C + movs r5, 0 +_0809636C: + movs r0, 0x5 + movs r1, 0xA + bl RandomRange + strb r0, [r4, 0x11] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x9 + bne _0809638A + cmp r5, 0 + bne _08096388 + movs r0, 0x5 + strb r0, [r4, 0x11] + b _0809638A +_08096388: + strb r5, [r4, 0x13] +_0809638A: + movs r7, 0x1 + adds r6, 0x1 +_0809638E: + cmp r6, r8 + ble _08096340 +_08096392: + bl sub_80963B4 + lsls r0, 24 + cmp r0, 0 + beq _0809639E + movs r7, 0x1 +_0809639E: + bl sub_8096078 + bl sub_8096114 + adds r0, r7, 0 +_080963A8: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80961D8 + + thumb_func_start sub_80963B4 +sub_80963B4: + push {r4-r6,lr} + movs r6, 0 + bl sub_8096E2C + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8095F8C + adds r4, r0, 0 + cmp r4, 0x3 + ble _080963CE + movs r0, 0 + b _080963F4 +_080963CE: + movs r0, 0xE + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _080963F2 + cmp r5, 0x31 + bhi _080963F2 + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8095FE8 + movs r1, 0x1 + strb r1, [r0] + movs r1, 0x62 + strb r1, [r0, 0x4] + strb r5, [r0, 0x5] + movs r6, 0x1 +_080963F2: + adds r0, r6, 0 +_080963F4: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80963B4 + + thumb_func_start sub_80963FC +sub_80963FC: + push {r4-r6,lr} + movs r6, 0 +_08096400: + lsls r0, r6, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_8095FE8 + adds r5, r0, 0 + ldrb r0, [r5] + cmp r0, 0x1 + beq _08096418 + adds r0, r4, 0 + bl sub_8096040 +_08096418: + adds r6, 0x1 + cmp r6, 0x3 + ble _08096400 + bl sub_8096078 + bl sub_8095F8C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095FE8 + adds r5, r0, 0 + movs r0, 0 + movs r4, 0x5 + strb r4, [r5] + strb r0, [r5, 0x1] + strb r0, [r5, 0x2] + movs r0, 0x2 + strb r0, [r5, 0x4] + movs r0, 0x3 + strb r0, [r5, 0x5] + bl Random + ldr r1, _08096484 + ands r1, r0 + str r1, [r5, 0x8] + movs r0, 0x10 + strh r0, [r5, 0xC] + strh r0, [r5, 0xE] + ldrb r0, [r5, 0x4] + bl sub_8095F28 + strb r0, [r5, 0x10] + strb r4, [r5, 0x11] +_0809645C: + ldrb r1, [r5, 0x1] + adds r0, r5, 0x4 + adds r2, r5, 0 + adds r2, 0x12 + bl sub_803C37C + ldrb r0, [r5, 0x10] + ldrb r1, [r5, 0x12] + cmp r0, r1 + beq _0809645C + movs r0, 0 + strb r0, [r5, 0x13] + bl sub_8096078 + bl sub_8096114 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08096484: .4byte 0x00ffffff + thumb_func_end sub_80963FC + + thumb_func_start sub_8096488 +sub_8096488: + push {r4,lr} + movs r4, 0 +_0809648C: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096040 + adds r4, 0x1 + cmp r4, 0x3 + ble _0809648C + movs r0, 0 + bl sub_8095FE8 + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + movs r1, 0x62 + strb r1, [r0, 0x4] + strb r2, [r0, 0x5] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8096488 + + thumb_func_start sub_80964B4 +sub_80964B4: + push {lr} + ldr r0, _080964D4 + ldr r0, [r0] + ldr r1, _080964D8 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _080964DC + movs r0, 0x35 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _080964DC + movs r0, 0 + b _080964DE + .align 2, 0 +_080964D4: .4byte gUnknown_203B490 +_080964D8: .4byte 0x00000325 +_080964DC: + movs r0, 0x1 +_080964DE: + pop {r1} + bx r1 + thumb_func_end sub_80964B4 + + thumb_func_start sub_80964E4 +sub_80964E4: + push {lr} + ldr r0, _08096504 + ldr r0, [r0] + ldr r1, _08096508 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _0809650C + movs r0, 0x36 + bl sub_8096E80 + lsls r0, 24 + cmp r0, 0 + bne _0809650C + movs r0, 0 + b _0809650E + .align 2, 0 +_08096504: .4byte gUnknown_203B490 +_08096508: .4byte 0x00000326 +_0809650C: + movs r0, 0x1 +_0809650E: + pop {r1} + bx r1 + thumb_func_end sub_80964E4 + + thumb_func_start sub_8096514 +sub_8096514: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0809651A: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_809658C + lsls r0, 24 + cmp r0, 0 + bne _0809652A + adds r5, 0x1 +_0809652A: + adds r4, 0x1 + cmp r4, 0x7 + ble _0809651A + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8096514 + + thumb_func_start sub_8096538 +sub_8096538: + push {r4,r5,lr} + adds r4, r0, 0 + movs r3, 0 + ldr r5, _08096560 + movs r2, 0 +_08096542: + ldr r0, [r5] + adds r0, r2 + adds r1, r0, 0 + adds r1, 0x50 + ldrb r0, [r1] + cmp r0, 0 + bne _08096564 + adds r0, r4, 0 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r3} + stm r1!, {r2,r3} + movs r0, 0 + b _0809656E + .align 2, 0 +_08096560: .4byte gUnknown_203B490 +_08096564: + adds r2, 0x14 + adds r3, 0x1 + cmp r3, 0x7 + ble _08096542 + movs r0, 0x1 +_0809656E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8096538 + + thumb_func_start sub_8096574 +sub_8096574: + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08096588 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + adds r1, 0x50 + ldr r0, [r2] + adds r0, r1 + bx lr + .align 2, 0 +_08096588: .4byte gUnknown_203B490 + thumb_func_end sub_8096574 + + thumb_func_start sub_809658C +sub_809658C: + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080965AC + ldr r2, [r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + adds r2, r1 + adds r2, 0x50 + ldrb r0, [r2] + cmp r0, 0 + beq _080965B0 + movs r0, 0 + b _080965B2 + .align 2, 0 +_080965AC: .4byte gUnknown_203B490 +_080965B0: + movs r0, 0x1 +_080965B2: + pop {r1} + bx r1 + thumb_func_end sub_809658C + + thumb_func_start sub_80965B8 +sub_80965B8: + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r4, _080965F0 + ldr r1, [r4] + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 2 + adds r1, r2 + adds r1, 0x50 + movs r3, 0 + strb r3, [r1] + ldr r0, [r4] + adds r0, r2 + adds r0, 0x54 + movs r1, 0x63 + strb r1, [r0] + ldr r0, [r4] + adds r0, r2 + adds r0, 0x55 + strb r3, [r0] + ldr r0, [r4] + adds r0, r2 + adds r0, 0x61 + strb r3, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080965F0: .4byte gUnknown_203B490 + thumb_func_end sub_80965B8 + + thumb_func_start sub_80965F4 +sub_80965F4: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + movs r2, 0 + movs r3, 0 + ldr r0, _0809660C + mov r12, r0 + mov r8, r3 + movs r4, 0 + mov r9, r4 + b _08096636 + .align 2, 0 +_0809660C: .4byte gUnknown_203B490 +_08096610: + cmp r2, r3 + ble _0809662A + mov r1, r12 + ldr r0, [r1] + mov r5, r8 + adds r1, r0, r5 + adds r0, r4 + adds r1, 0x50 + adds r0, 0x50 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r6,r7} + stm r1!, {r6,r7} +_0809662A: + adds r4, 0x14 + movs r0, 0x14 + add r9, r0 + adds r2, 0x1 + add r8, r0 + adds r3, 0x1 +_08096636: + cmp r2, 0x7 + bgt _08096666 + mov r1, r12 + ldr r0, [r1] + adds r0, r4 + adds r0, 0x50 + ldrb r0, [r0] + cmp r0, 0 + bne _08096666 + ldr r6, _08096694 + mov r1, r9 +_0809664C: + adds r1, 0x14 + adds r4, 0x14 + movs r5, 0x14 + add r9, r5 + adds r2, 0x1 + cmp r2, 0x7 + bgt _08096666 + ldr r0, [r6] + adds r0, r1 + adds r0, 0x50 + ldrb r0, [r0] + cmp r0, 0 + beq _0809664C +_08096666: + cmp r2, 0x8 + bne _08096610 + cmp r3, 0x7 + bgt _08096688 + ldr r4, _08096694 + movs r2, 0 + lsls r0, r3, 2 + adds r0, r3 + lsls r1, r0, 2 +_08096678: + ldr r0, [r4] + adds r0, r1 + adds r0, 0x50 + strb r2, [r0] + adds r1, 0x14 + adds r3, 0x1 + cmp r3, 0x7 + ble _08096678 +_08096688: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08096694: .4byte gUnknown_203B490 + thumb_func_end sub_80965F4 + + thumb_func_start sub_8096698 +sub_8096698: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + movs r1, 0 +_080966A6: + adds r6, r1, 0x1 + mov r10, r6 + cmp r6, 0x7 + bgt _08096730 + ldr r0, _08096748 + mov r8, r0 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + mov r9, r0 + lsls r0, r6, 2 + adds r0, r6 + lsls r4, r0, 2 +_080966C0: + mov r2, r8 + ldr r1, [r2] + adds r3, r1, r4 + adds r5, r3, 0 + adds r5, 0x50 + ldrb r0, [r5] + cmp r0, 0 + beq _08096724 + add r1, r9 + mov r12, r1 + mov r0, r12 + adds r0, 0x54 + adds r1, r3, 0 + adds r1, 0x54 + ldrb r2, [r0] + ldrb r0, [r1] + cmp r2, r0 + bhi _080966F6 + cmp r2, r0 + bne _08096724 + mov r0, r12 + adds r0, 0x55 + adds r1, 0x1 + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + bls _08096724 +_080966F6: + mov r1, sp + mov r0, r12 + adds r0, 0x50 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r3,r7} + stm r1!, {r3,r7} + mov r1, r12 + adds r1, 0x50 + adds r0, r5, 0 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r7} + stm r1!, {r2,r7} + mov r3, r8 + ldr r1, [r3] + adds r1, r4 + adds r1, 0x50 + mov r0, sp + ldm r0!, {r2,r5,r7} + stm r1!, {r2,r5,r7} + ldm r0!, {r3,r5} + stm r1!, {r3,r5} +_08096724: + adds r4, 0x14 + movs r7, 0x1 + add r10, r7 + mov r0, r10 + cmp r0, 0x7 + ble _080966C0 +_08096730: + adds r1, r6, 0 + cmp r1, 0x6 + ble _080966A6 + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08096748: .4byte gUnknown_203B490 + thumb_func_end sub_8096698 + + thumb_func_start sub_809674C +sub_809674C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0x4 + movs r1, 0x8 + bl RandomRange + mov r8, r0 + ldr r3, _08096864 + movs r2, 0 + movs r1, 0 + movs r7, 0x7 +_08096764: + ldr r0, [r3] + adds r0, r1 + adds r0, 0x50 + strb r2, [r0] + adds r1, 0x14 + subs r7, 0x1 + cmp r7, 0 + bge _08096764 + movs r7, 0 + movs r0, 0xE + bl sub_8097318 + lsls r0, 24 + cmp r0, 0 + beq _080967C0 + movs r0, 0 + bl sub_8096574 + adds r5, r0, 0 + movs r4, 0x2 + strb r4, [r5] + movs r0, 0x6 + strb r0, [r5, 0x1] + movs r0, 0x1 + strb r0, [r5, 0x2] + movs r0, 0x2A + strb r0, [r5, 0x4] + movs r0, 0xA + strb r0, [r5, 0x5] + bl Random + ldr r1, _08096868 + ands r1, r0 + str r1, [r5, 0x8] + movs r1, 0 + movs r0, 0xC2 + lsls r0, 1 + strh r0, [r5, 0xC] + movs r0, 0x38 + strh r0, [r5, 0xE] + strb r1, [r5, 0x10] + strb r4, [r5, 0x11] + movs r0, 0x3A + strb r0, [r5, 0x12] + strb r1, [r5, 0x13] + movs r7, 0x1 +_080967C0: + movs r0, 0xF + bl sub_8097318 + lsls r0, 24 + cmp r0, 0 + beq _0809680A + lsls r0, r7, 24 + lsrs r0, 24 + bl sub_8096574 + adds r5, r0, 0 + movs r0, 0x3 + strb r0, [r5] + movs r0, 0x6 + strb r0, [r5, 0x1] + movs r4, 0x2 + strb r4, [r5, 0x2] + movs r0, 0x35 + strb r0, [r5, 0x4] + movs r0, 0xF + strb r0, [r5, 0x5] + bl Random + ldr r1, _08096868 + ands r1, r0 + str r1, [r5, 0x8] + movs r1, 0 + movs r0, 0x82 + lsls r0, 1 + strh r0, [r5, 0xC] + strh r0, [r5, 0xE] + strb r1, [r5, 0x10] + strb r4, [r5, 0x11] + movs r0, 0x3A + strb r0, [r5, 0x12] + strb r1, [r5, 0x13] + adds r7, 0x1 +_0809680A: + movs r0, 0x1C + bl sub_8097318 + lsls r0, 24 + cmp r0, 0 + beq _08096854 + lsls r0, r7, 24 + lsrs r0, 24 + bl sub_8096574 + adds r5, r0, 0 + movs r0, 0x4 + strb r0, [r5] + movs r0, 0x6 + strb r0, [r5, 0x1] + movs r0, 0x3 + strb r0, [r5, 0x2] + movs r0, 0x1A + strb r0, [r5, 0x4] + movs r0, 0x14 + strb r0, [r5, 0x5] + bl Random + ldr r1, _08096868 + ands r1, r0 + str r1, [r5, 0x8] + movs r1, 0 + ldr r0, _0809686C + strh r0, [r5, 0xC] + strh r0, [r5, 0xE] + strb r1, [r5, 0x10] + movs r0, 0x2 + strb r0, [r5, 0x11] + movs r0, 0x3A + strb r0, [r5, 0x12] + strb r1, [r5, 0x13] + adds r7, 0x1 +_08096854: + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 2 + adds r5, r0, 0 + adds r5, 0x50 + adds r4, r0, 0 + b _08096886 + .align 2, 0 +_08096864: .4byte gUnknown_203B490 +_08096868: .4byte 0x00ffffff +_0809686C: .4byte 0x0000014d +_08096870: + movs r0, 0 + movs r1, 0x4 + bl RandomRange + ldr r1, [r6] + adds r1, r4 + adds r1, 0x61 + strb r0, [r1] + adds r5, 0x14 + adds r4, 0x14 + adds r7, 0x1 +_08096886: + cmp r7, r8 + bgt _0809689A + ldr r6, _080968AC + ldr r0, [r6] + adds r0, r5 + bl sub_8095B28 + lsls r0, 24 + cmp r0, 0 + bne _08096870 +_0809689A: + bl sub_80965F4 + bl sub_8096698 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080968AC: .4byte gUnknown_203B490 + thumb_func_end sub_809674C + + thumb_func_start sub_80968B0 +sub_80968B0: + push {r4,r5,lr} + adds r3, r0, 0 + movs r4, 0 + ldr r0, _08096928 + ldr r0, [r0] + adds r2, r0, 0 + adds r2, 0xF0 +_080968BE: + ldrb r0, [r2] + cmp r0, 0 + beq _0809692C + ldrb r0, [r3, 0x1] + ldrb r1, [r2, 0x1] + cmp r0, r1 + bne _0809692C + ldrb r0, [r3, 0x2] + ldrb r5, [r2, 0x2] + cmp r0, r5 + bne _0809692C + ldrb r0, [r3, 0x4] + ldrb r1, [r2, 0x4] + cmp r0, r1 + bne _0809692C + ldrb r0, [r3, 0x5] + ldrb r5, [r2, 0x5] + cmp r0, r5 + bne _0809692C + ldr r1, [r3, 0x8] + ldr r0, [r2, 0x8] + cmp r1, r0 + bne _0809692C + movs r0, 0xC + ldrsh r1, [r3, r0] + movs r5, 0xC + ldrsh r0, [r2, r5] + cmp r1, r0 + bne _0809692C + movs r0, 0xE + ldrsh r1, [r3, r0] + movs r5, 0xE + ldrsh r0, [r2, r5] + cmp r1, r0 + bne _0809692C + ldrb r0, [r3, 0x10] + ldrb r1, [r2, 0x10] + cmp r0, r1 + bne _0809692C + ldrb r0, [r3, 0x11] + ldrb r5, [r2, 0x11] + cmp r0, r5 + bne _0809692C + ldrb r0, [r3, 0x12] + ldrb r1, [r2, 0x12] + cmp r0, r1 + bne _0809692C + ldrb r0, [r3, 0x13] + ldrb r5, [r2, 0x13] + cmp r0, r5 + bne _0809692C + movs r0, 0x1 + b _08096936 + .align 2, 0 +_08096928: .4byte gUnknown_203B490 +_0809692C: + adds r2, 0x14 + adds r4, 0x1 + cmp r4, 0x7 + ble _080968BE + movs r0, 0 +_08096936: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80968B0 + + thumb_func_start sub_809693C +sub_809693C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r4, r0, 0 + ldrb r0, [r4, 0x4] + mov r9, r0 + ldrb r0, [r4, 0x5] + mov r8, r0 + movs r7, 0 + adds r0, r4, 0 + bl sub_80959C0 + lsls r0, 24 + cmp r0, 0 + bne _08096962 + b _0809699A +_0809695E: + movs r0, 0x1 + b _0809699C +_08096962: + ldrb r0, [r4, 0x1] + cmp r0, 0x2 + bne _0809696A + movs r7, 0x1 +_0809696A: + movs r6, 0 + movs r5, 0xF0 + movs r4, 0 +_08096970: + ldr r0, _080969A8 + ldr r1, [r0] + adds r0, r1, r4 + adds r0, 0xF0 + ldrb r0, [r0] + cmp r0, 0x6 + bne _08096990 + adds r0, r1, r5 + mov r1, r9 + mov r2, r8 + adds r3, r7, 0 + bl sub_8095E38 + lsls r0, 24 + cmp r0, 0 + bne _0809695E +_08096990: + adds r5, 0x14 + adds r4, 0x14 + adds r6, 0x1 + cmp r6, 0x7 + ble _08096970 +_0809699A: + movs r0, 0 +_0809699C: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080969A8: .4byte gUnknown_203B490 + thumb_func_end sub_809693C + + thumb_func_start sub_80969AC +sub_80969AC: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_080969B2: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096ACC + lsls r0, 24 + cmp r0, 0 + bne _080969C2 + adds r5, 0x1 +_080969C2: + adds r4, 0x1 + cmp r4, 0x7 + ble _080969B2 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80969AC + + thumb_func_start sub_80969D0 +sub_80969D0: + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r5, 0 + movs r4, 0 +_080969DA: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096AB4 + adds r1, r0, 0 + ldrb r0, [r1, 0x4] + cmp r0, r6 + bne _080969FA + ldrb r0, [r1] + cmp r0, 0x6 + beq _080969F8 + cmp r0, 0x8 + beq _080969F8 + cmp r0, 0x9 + bne _080969FA +_080969F8: + adds r5, 0x1 +_080969FA: + adds r4, 0x1 + cmp r4, 0x7 + ble _080969DA + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80969D0 + + thumb_func_start sub_8096A08 +sub_8096A08: + push {r4-r6,lr} + sub sp, 0xC + adds r6, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 +_08096A14: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096AB4 + adds r2, r0, 0 + ldrb r0, [r2, 0x4] + cmp r0, r5 + bne _08096A68 + ldrb r0, [r2] + cmp r0, 0x6 + bne _08096A68 + ldrb r0, [r2, 0x1] + cmp r0, 0x2 + bne _08096A68 + ldr r1, _08096A60 + ldr r0, [sp, 0x8] + ands r0, r1 + movs r1, 0x4A + orrs r0, r1 + ldr r1, _08096A64 + ands r0, r1 + movs r1, 0x80 + lsls r1, 1 + orrs r0, r1 + str r0, [sp, 0x8] + movs r0, 0xC + ldrsh r1, [r2, r0] + add r0, sp, 0x8 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + adds r0, r6, 0 + movs r2, 0 + movs r3, 0 + bl sub_808CFD0 + movs r0, 0x1 + b _08096A70 + .align 2, 0 +_08096A60: .4byte 0xffffff00 +_08096A64: .4byte 0xffff00ff +_08096A68: + adds r4, 0x1 + cmp r4, 0x7 + ble _08096A14 + movs r0, 0 +_08096A70: + add sp, 0xC + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8096A08 + + thumb_func_start sub_8096A78 +sub_8096A78: + push {r4,r5,lr} + adds r4, r0, 0 + movs r3, 0 + ldr r5, _08096AA0 + movs r2, 0 +_08096A82: + ldr r0, [r5] + adds r0, r2 + adds r1, r0, 0 + adds r1, 0xF0 + ldrb r0, [r1] + cmp r0, 0 + bne _08096AA4 + adds r0, r4, 0 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r3} + stm r1!, {r2,r3} + movs r0, 0 + b _08096AAE + .align 2, 0 +_08096AA0: .4byte gUnknown_203B490 +_08096AA4: + adds r2, 0x14 + adds r3, 0x1 + cmp r3, 0x7 + ble _08096A82 + movs r0, 0x1 +_08096AAE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8096A78 + + thumb_func_start sub_8096AB4 +sub_8096AB4: + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08096AC8 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + adds r1, 0xF0 + ldr r0, [r2] + adds r0, r1 + bx lr + .align 2, 0 +_08096AC8: .4byte gUnknown_203B490 + thumb_func_end sub_8096AB4 + + thumb_func_start sub_8096ACC +sub_8096ACC: + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08096AEC + ldr r2, [r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + adds r2, r1 + adds r2, 0xF0 + ldrb r0, [r2] + cmp r0, 0 + beq _08096AF0 + movs r0, 0 + b _08096AF2 + .align 2, 0 +_08096AEC: .4byte gUnknown_203B490 +_08096AF0: + movs r0, 0x1 +_08096AF2: + pop {r1} + bx r1 + thumb_func_end sub_8096ACC + + thumb_func_start sub_8096AF8 +sub_8096AF8: + push {r4-r6,lr} + adds r5, r0, 0 + adds r0, r1, 0 + adds r4, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 24 + lsrs r4, 24 + bl sub_8096AB4 + adds r3, r0, 0 + movs r1, 0 + strb r1, [r5] + ldrh r0, [r3, 0xC] + strh r0, [r5, 0x2] + strh r1, [r5, 0x4] + ldrb r0, [r3, 0x4] + cmp r0, r4 + bne _08096B92 + ldrb r0, [r3, 0x1] + cmp r0, 0x4 + bhi _08096B92 + lsls r0, 2 + ldr r1, _08096B30 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08096B30: .4byte _08096B34 + .align 2, 0 +_08096B34: + .4byte _08096B78 + .4byte _08096B84 + .4byte _08096B84 + .4byte _08096B48 + .4byte _08096B78 +_08096B48: + ldrb r0, [r3] + cmp r0, 0x6 + bne _08096B92 + ldr r0, _08096B74 + movs r6, 0x1 + ldr r2, [r0] + movs r4, 0x13 +_08096B56: + ldrb r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08096B6A + ldrb r0, [r2, 0x2] + ldrb r1, [r3, 0x10] + cmp r0, r1 + bne _08096B6A + strb r6, [r5] +_08096B6A: + adds r2, 0x4 + subs r4, 0x1 + cmp r4, 0 + bge _08096B56 + b _08096B92 + .align 2, 0 +_08096B74: .4byte gUnknown_203B460 +_08096B78: + ldrb r0, [r3] + cmp r0, 0x9 + bne _08096B92 + movs r0, 0x1 + strb r0, [r5] + b _08096B92 +_08096B84: + ldrb r0, [r3] + cmp r0, 0x9 + bne _08096B92 + movs r0, 0x1 + strb r0, [r5] + ldrh r0, [r3, 0xE] + strh r0, [r5, 0x4] +_08096B92: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8096AF8 + + thumb_func_start sub_8096B98 +sub_8096B98: + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 +_08096BA0: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096AB4 + adds r1, r0, 0 + ldrb r0, [r1] + cmp r0, 0x6 + bne _08096BC2 + ldrb r0, [r1, 0x1] + cmp r0, 0x2 + bne _08096BC2 + ldrb r0, [r1, 0x4] + cmp r0, r5 + bne _08096BC2 + movs r2, 0xE + ldrsh r0, [r1, r2] + b _08096BCA +_08096BC2: + adds r4, 0x1 + cmp r4, 0x7 + ble _08096BA0 + movs r0, 0 +_08096BCA: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8096B98 + + thumb_func_start sub_8096BD0 +sub_8096BD0: + push {r4,r5,lr} + ldr r0, _08096C04 + ldr r0, [r0] + adds r5, r0, 0 + adds r5, 0xF0 + movs r4, 0 +_08096BDC: + ldrb r0, [r5] + cmp r0, 0x9 + bgt _08096BEE + cmp r0, 0x7 + blt _08096BEE + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096C3C +_08096BEE: + adds r5, 0x14 + adds r4, 0x1 + cmp r4, 0x7 + ble _08096BDC + bl sub_8096C80 + bl sub_8096D24 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08096C04: .4byte gUnknown_203B490 + thumb_func_end sub_8096BD0 + + thumb_func_start sub_8096C08 +sub_8096C08: + push {lr} + adds r3, r0, 0 + ldr r0, _08096C28 + ldr r0, [r0] + adds r1, r0, 0 + adds r1, 0xF0 + movs r2, 0 +_08096C16: + ldrb r0, [r1] + cmp r0, 0x4 + bls _08096C2C + ldrb r0, [r1, 0x2] + cmp r0, 0x4 + bne _08096C2C + strb r2, [r3] + movs r0, 0x1 + b _08096C36 + .align 2, 0 +_08096C28: .4byte gUnknown_203B490 +_08096C2C: + adds r1, 0x14 + adds r2, 0x1 + cmp r2, 0x7 + ble _08096C16 + movs r0, 0 +_08096C36: + pop {r1} + bx r1 + thumb_func_end sub_8096C08 + + thumb_func_start sub_8096C3C +sub_8096C3C: + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _08096C78 + ldr r1, [r3] + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 2 + adds r1, r2 + adds r1, 0xF0 + movs r4, 0 + strb r4, [r1] + ldr r0, [r3] + adds r0, r2 + adds r0, 0xF4 + movs r1, 0x63 + strb r1, [r0] + ldr r0, [r3] + adds r0, r2 + adds r0, 0xF5 + strb r4, [r0] + ldr r0, [r3] + adds r0, r2 + ldr r2, _08096C7C + adds r1, r0, r2 + movs r0, 0x5 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08096C78: .4byte gUnknown_203B490 +_08096C7C: .4byte 0x00000101 + thumb_func_end sub_8096C3C + + thumb_func_start sub_8096C80 +sub_8096C80: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + movs r2, 0 + movs r3, 0 + ldr r0, _08096C98 + mov r12, r0 + mov r8, r3 + movs r4, 0 + mov r9, r4 + b _08096CC2 + .align 2, 0 +_08096C98: .4byte gUnknown_203B490 +_08096C9C: + cmp r2, r3 + ble _08096CB6 + mov r1, r12 + ldr r0, [r1] + mov r5, r8 + adds r1, r0, r5 + adds r0, r4 + adds r1, 0xF0 + adds r0, 0xF0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r6,r7} + stm r1!, {r6,r7} +_08096CB6: + adds r4, 0x14 + movs r0, 0x14 + add r9, r0 + adds r2, 0x1 + add r8, r0 + adds r3, 0x1 +_08096CC2: + cmp r2, 0x7 + bgt _08096CF2 + mov r1, r12 + ldr r0, [r1] + adds r0, r4 + adds r0, 0xF0 + ldrb r0, [r0] + cmp r0, 0 + bne _08096CF2 + ldr r6, _08096D20 + mov r1, r9 +_08096CD8: + adds r1, 0x14 + adds r4, 0x14 + movs r5, 0x14 + add r9, r5 + adds r2, 0x1 + cmp r2, 0x7 + bgt _08096CF2 + ldr r0, [r6] + adds r0, r1 + adds r0, 0xF0 + ldrb r0, [r0] + cmp r0, 0 + beq _08096CD8 +_08096CF2: + cmp r2, 0x8 + bne _08096C9C + cmp r3, 0x7 + bgt _08096D14 + ldr r4, _08096D20 + movs r2, 0 + lsls r0, r3, 2 + adds r0, r3 + lsls r1, r0, 2 +_08096D04: + ldr r0, [r4] + adds r0, r1 + adds r0, 0xF0 + strb r2, [r0] + adds r1, 0x14 + adds r3, 0x1 + cmp r3, 0x7 + ble _08096D04 +_08096D14: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08096D20: .4byte gUnknown_203B490 + thumb_func_end sub_8096C80 + + thumb_func_start sub_8096D24 +sub_8096D24: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + movs r1, 0 +_08096D32: + adds r6, r1, 0x1 + mov r10, r6 + cmp r6, 0x7 + bgt _08096DBC + ldr r0, _08096DD4 + mov r8, r0 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + mov r9, r0 + lsls r0, r6, 2 + adds r0, r6 + lsls r4, r0, 2 +_08096D4C: + mov r1, r8 + ldr r2, [r1] + adds r3, r2, r4 + adds r5, r3, 0 + adds r5, 0xF0 + str r5, [sp, 0x14] + ldrb r0, [r5] + cmp r0, 0 + beq _08096DB0 + add r2, r9 + mov r12, r2 + mov r0, r12 + adds r0, 0xF4 + adds r1, r3, 0 + adds r1, 0xF4 + ldrb r2, [r0] + ldrb r0, [r1] + cmp r2, r0 + bhi _08096D84 + cmp r2, r0 + bne _08096DB0 + mov r0, r12 + adds r0, 0xF5 + adds r1, 0x1 + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + bls _08096DB0 +_08096D84: + mov r2, r12 + adds r2, 0xF0 + mov r1, sp + adds r0, r2, 0 + ldm r0!, {r3,r5,r7} + stm r1!, {r3,r5,r7} + ldm r0!, {r3,r7} + stm r1!, {r3,r7} + ldr r0, [sp, 0x14] + ldm r0!, {r1,r5,r7} + stm r2!, {r1,r5,r7} + ldm r0!, {r3,r5} + stm r2!, {r3,r5} + mov r7, r8 + ldr r1, [r7] + adds r1, r4 + adds r1, 0xF0 + mov r0, sp + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r7} + stm r1!, {r2,r7} +_08096DB0: + adds r4, 0x14 + movs r3, 0x1 + add r10, r3 + mov r5, r10 + cmp r5, 0x7 + ble _08096D4C +_08096DBC: + adds r1, r6, 0 + cmp r1, 0x6 + ble _08096D32 + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08096DD4: .4byte gUnknown_203B490 + thumb_func_end sub_8096D24 + + thumb_func_start sub_8096DD8 +sub_8096DD8: + ldr r0, _08096DE4 + ldr r0, [r0] + movs r1, 0xC8 + lsls r1, 1 + adds r0, r1 + bx lr + .align 2, 0 +_08096DE4: .4byte gUnknown_203B490 + thumb_func_end sub_8096DD8 + + thumb_func_start sub_8096DE8 +sub_8096DE8: + ldr r0, _08096DF4 + ldr r0, [r0] + movs r1, 0xDC + lsls r1, 1 + adds r0, r1 + bx lr + .align 2, 0 +_08096DF4: .4byte gUnknown_203B490 + thumb_func_end sub_8096DE8 + + thumb_func_start sub_8096DF8 +sub_8096DF8: + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08096E10 + ldr r1, [r1] + movs r2, 0xBC + lsls r2, 2 + adds r1, r2 + adds r1, r0 + movs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_08096E10: .4byte gUnknown_203B490 + thumb_func_end sub_8096DF8 + + thumb_func_start sub_8096E14 +sub_8096E14: + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08096E28 + ldr r1, [r1] + movs r2, 0xBC + lsls r2, 2 + adds r1, r2 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_08096E28: .4byte gUnknown_203B490 + thumb_func_end sub_8096E14 + + thumb_func_start sub_8096E2C +sub_8096E2C: + push {lr} + movs r3, 0 + ldr r0, _08096E70 + ldr r1, [r0] + movs r2, 0x3 +_08096E36: + ldrb r0, [r1] + cmp r0, 0x1 + bne _08096E48 + ldrb r0, [r1, 0x5] + cmp r3, r0 + bgt _08096E48 + cmp r0, 0x31 + bhi _08096E48 + adds r3, r0, 0x1 +_08096E48: + adds r1, 0x14 + subs r2, 0x1 + cmp r2, 0 + bge _08096E36 + adds r2, r3, 0 + cmp r2, 0x31 + bgt _08096E7A + ldr r0, _08096E70 + ldr r0, [r0] + movs r3, 0xBC + lsls r3, 2 + adds r1, r0, r3 +_08096E60: + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0 + bne _08096E74 + lsls r0, r2, 24 + lsrs r0, 24 + b _08096E7C + .align 2, 0 +_08096E70: .4byte gUnknown_203B490 +_08096E74: + adds r2, 0x1 + cmp r2, 0x31 + ble _08096E60 +_08096E7A: + movs r0, 0x38 +_08096E7C: + pop {r1} + bx r1 + thumb_func_end sub_8096E2C + + thumb_func_start sub_8096E80 +sub_8096E80: + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + movs r2, 0 + ldr r0, _08096E9C + ldr r1, [r0] +_08096E8C: + ldrb r0, [r1] + cmp r0, 0x1 + bne _08096EA0 + ldrb r0, [r1, 0x5] + cmp r3, r0 + bne _08096EA0 + movs r0, 0x1 + b _08096EAA + .align 2, 0 +_08096E9C: .4byte gUnknown_203B490 +_08096EA0: + adds r1, 0x14 + adds r2, 0x1 + cmp r2, 0x3 + ble _08096E8C + movs r0, 0 +_08096EAA: + pop {r1} + bx r1 + thumb_func_end sub_8096E80 + + thumb_func_start sub_8096EB0 +sub_8096EB0: + ldrb r1, [r0, 0x2] + ldrb r2, [r0, 0x1] + adds r1, r2 + ldrb r3, [r0, 0x4] + adds r2, r1, r3 + ldrb r1, [r0, 0x5] + adds r2, r1 + ldr r1, [r0, 0x8] + lsls r1, 8 + adds r2, r1 + movs r3, 0xC + ldrsh r1, [r0, r3] + lsls r1, 12 + adds r2, r1 + movs r3, 0xE + ldrsh r1, [r0, r3] + lsls r1, 16 + adds r2, r1 + ldrb r1, [r0, 0x10] + lsls r1, 24 + adds r1, r2, r1 + ldrb r3, [r0, 0x11] + adds r2, r1, r3 + ldrb r1, [r0, 0x12] + adds r1, r2, r1 + ldrb r0, [r0, 0x13] + adds r2, r1, r0 + adds r0, r2, 0 + bx lr + thumb_func_end sub_8096EB0 + + thumb_func_start sub_8096EEC +sub_8096EEC: + push {r4-r7,lr} + mov r7, r8 + push {r7} + mov r12, r0 + movs r3, 0xF + ldr r5, _08096F4C + mov r8, r5 + movs r4, 0x8C + lsls r4, 2 +_08096EFE: + mov r0, r8 + ldr r2, [r0] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 2 + adds r1, r2, r1 + subs r3, 0x1 + lsls r0, r3, 1 + adds r0, r3 + lsls r0, 2 + adds r2, r0 + adds r1, r4 + adds r2, r4 + ldm r2!, {r0,r6,r7} + stm r1!, {r0,r6,r7} + cmp r3, 0 + bgt _08096EFE + ldr r2, [r5] + movs r3, 0x8C + lsls r3, 2 + adds r2, r3 + mov r6, r12 + ldr r0, [r6, 0x4] + ldr r1, [r6, 0x8] + str r0, [r2] + str r1, [r2, 0x4] + mov r0, r12 + bl sub_8096EB0 + ldr r1, [r5] + movs r7, 0x8E + lsls r7, 2 + adds r1, r7 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08096F4C: .4byte gUnknown_203B490 + thumb_func_end sub_8096EEC + + thumb_func_start sub_8096F50 +sub_8096F50: + push {r4-r7,lr} + adds r4, r0, 0 + bl sub_8096EB0 + mov r12, r0 + movs r5, 0 + ldr r0, _08096F8C + ldr r7, [r0] + ldrb r6, [r4, 0x4] + movs r3, 0 +_08096F64: + movs r1, 0x8C + lsls r1, 2 + adds r0, r3, r1 + adds r2, r7, r0 + ldrb r0, [r2] + cmp r0, r6 + bne _08096F90 + ldrb r0, [r2, 0x1] + ldrb r1, [r4, 0x5] + cmp r0, r1 + bne _08096F90 + ldr r1, [r2, 0x4] + ldr r0, [r4, 0x8] + cmp r1, r0 + bne _08096F90 + ldr r0, [r2, 0x8] + cmp r0, r12 + bne _08096F90 + movs r0, 0x1 + b _08096F9A + .align 2, 0 +_08096F8C: .4byte gUnknown_203B490 +_08096F90: + adds r3, 0xC + adds r5, 0x1 + cmp r5, 0xF + ble _08096F64 + movs r0, 0 +_08096F9A: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8096F50 + + thumb_func_start sub_8096FA0 +sub_8096FA0: + push {r4-r7,lr} + sub sp, 0x14 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809485C + add r7, sp, 0x10 + ldr r6, _08097020 + movs r5, 0 + movs r4, 0x3 +_08096FB8: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_80971EC + adds r5, 0x14 + subs r4, 0x1 + cmp r4, 0 + bge _08096FB8 + ldr r6, _08097020 + movs r5, 0x50 + movs r4, 0x7 +_08096FD0: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_80971EC + adds r5, 0x14 + subs r4, 0x1 + cmp r4, 0 + bge _08096FD0 + ldr r6, _08097020 + movs r5, 0xF0 + movs r4, 0x7 +_08096FE8: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_80971EC + adds r5, 0x14 + subs r4, 0x1 + cmp r4, 0 + bge _08096FE8 + movs r4, 0 + movs r6, 0x1 + ldr r5, _08097020 +_08097000: + mov r0, sp + adds r1, r7, 0 + movs r2, 0x1 + bl sub_8094924 + ldr r1, [sp, 0x10] + ands r1, r6 + cmp r1, 0 + beq _08097024 + ldr r0, [r5] + movs r1, 0xBC + lsls r1, 2 + adds r0, r1 + adds r0, r4 + strb r6, [r0] + b _08097030 + .align 2, 0 +_08097020: .4byte gUnknown_203B490 +_08097024: + ldr r0, [r5] + movs r2, 0xBC + lsls r2, 2 + adds r0, r2 + adds r0, r4 + strb r1, [r0] +_08097030: + adds r4, 0x1 + cmp r4, 0x37 + ble _08097000 + mov r0, sp + adds r1, r7, 0 + movs r2, 0x1 + bl sub_8094924 + ldr r1, [sp, 0x10] + movs r2, 0x1 + ands r1, r2 + cmp r1, 0 + beq _0809705C + ldr r0, _08097058 + ldr r0, [r0] + movs r1, 0xCA + lsls r1, 2 + adds r0, r1 + strb r2, [r0] + b _08097068 + .align 2, 0 +_08097058: .4byte gUnknown_203B490 +_0809705C: + ldr r0, _080970D4 + ldr r0, [r0] + movs r2, 0xCA + lsls r2, 2 + adds r0, r2 + strb r1, [r0] +_08097068: + ldr r4, _080970D4 + ldr r1, [r4] + movs r0, 0xC8 + lsls r0, 1 + adds r1, r0 + movs r2, 0xA0 + lsls r2, 1 + mov r0, sp + bl sub_8094924 + ldr r1, [r4] + movs r2, 0xDC + lsls r2, 1 + adds r1, r2 + movs r2, 0xF0 + lsls r2, 2 + mov r0, sp + bl sub_8094924 + adds r6, r4, 0 + movs r5, 0x8C + lsls r5, 2 + movs r4, 0xF +_08097096: + ldr r1, [r6] + adds r1, r5 + adds r1, 0x8 + mov r0, sp + movs r2, 0x20 + bl sub_8094924 + ldr r1, [r6] + adds r1, r5 + adds r1, 0x4 + mov r0, sp + movs r2, 0x18 + bl sub_8094924 + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8090314 + adds r5, 0xC + subs r4, 0x1 + cmp r4, 0 + bge _08097096 + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x14 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080970D4: .4byte gUnknown_203B490 + thumb_func_end sub_8096FA0 + + thumb_func_start sub_80970D8 +sub_80970D8: + push {r4-r7,lr} + sub sp, 0x14 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809486C + add r7, sp, 0x10 + ldr r6, _080971E8 + movs r5, 0 + movs r4, 0x3 +_080970F0: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8097270 + adds r5, 0x14 + subs r4, 0x1 + cmp r4, 0 + bge _080970F0 + ldr r6, _080971E8 + movs r5, 0x50 + movs r4, 0x7 +_08097108: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8097270 + adds r5, 0x14 + subs r4, 0x1 + cmp r4, 0 + bge _08097108 + ldr r6, _080971E8 + movs r5, 0xF0 + movs r4, 0x7 +_08097120: + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_8097270 + adds r5, 0x14 + subs r4, 0x1 + cmp r4, 0 + bge _08097120 + movs r4, 0 +_08097134: + ldr r0, _080971E8 + ldr r0, [r0] + movs r1, 0xBC + lsls r1, 2 + adds r0, r1 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _0809714A + movs r0, 0x1 + negs r0, r0 +_0809714A: + str r0, [sp, 0x10] + mov r0, sp + adds r1, r7, 0 + movs r2, 0x1 + bl sub_809488C + adds r4, 0x1 + cmp r4, 0x37 + ble _08097134 + ldr r0, _080971E8 + ldr r0, [r0] + movs r1, 0xCA + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _08097170 + movs r0, 0x1 + negs r0, r0 +_08097170: + str r0, [sp, 0x10] + mov r0, sp + adds r1, r7, 0 + movs r2, 0x1 + bl sub_809488C + ldr r4, _080971E8 + ldr r1, [r4] + movs r0, 0xC8 + lsls r0, 1 + adds r1, r0 + movs r2, 0xA0 + lsls r2, 1 + mov r0, sp + bl sub_809488C + ldr r1, [r4] + movs r0, 0xDC + lsls r0, 1 + adds r1, r0 + movs r2, 0xF0 + lsls r2, 2 + mov r0, sp + bl sub_809488C + adds r6, r4, 0 + movs r5, 0x8C + lsls r5, 2 + movs r4, 0xF +_080971AA: + ldr r1, [r6] + adds r1, r5 + adds r1, 0x8 + mov r0, sp + movs r2, 0x20 + bl sub_809488C + ldr r1, [r6] + adds r1, r5 + adds r1, 0x4 + mov r0, sp + movs r2, 0x18 + bl sub_809488C + ldr r1, [r6] + adds r1, r5 + mov r0, sp + bl sub_80902F4 + adds r5, 0xC + subs r4, 0x1 + cmp r4, 0 + bge _080971AA + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x14 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080971E8: .4byte gUnknown_203B490 + thumb_func_end sub_80970D8 + + thumb_func_start sub_80971EC +sub_80971EC: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x4 + bl sub_8094924 + adds r1, r5, 0x1 + adds r0, r4, 0 + movs r2, 0x3 + bl sub_8094924 + adds r1, r5, 0x2 + adds r0, r4, 0 + movs r2, 0x4 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0xC + adds r0, r4, 0 + movs r2, 0x9 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0xE + adds r0, r4, 0 + movs r2, 0x9 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x10 + adds r0, r4, 0 + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x11 + adds r0, r4, 0 + movs r2, 0x4 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x12 + adds r0, r4, 0 + movs r2, 0x8 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x13 + adds r0, r4, 0 + movs r2, 0x6 + bl sub_8094924 + adds r1, r5, 0 + adds r1, 0x8 + adds r0, r4, 0 + movs r2, 0x18 + bl sub_8094924 + adds r1, r5, 0x4 + adds r0, r4, 0 + bl sub_8090314 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80971EC + + thumb_func_start sub_8097270 +sub_8097270: + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r2, 0x4 + bl sub_809488C + adds r1, r5, 0x1 + adds r0, r4, 0 + movs r2, 0x3 + bl sub_809488C + adds r1, r5, 0x2 + adds r0, r4, 0 + movs r2, 0x4 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0xC + adds r0, r4, 0 + movs r2, 0x9 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0xE + adds r0, r4, 0 + movs r2, 0x9 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x10 + adds r0, r4, 0 + movs r2, 0x8 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x11 + adds r0, r4, 0 + movs r2, 0x4 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x12 + adds r0, r4, 0 + movs r2, 0x8 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x13 + adds r0, r4, 0 + movs r2, 0x6 + bl sub_809488C + adds r1, r5, 0 + adds r1, 0x8 + adds r0, r4, 0 + movs r2, 0x18 + bl sub_809488C + adds r1, r5, 0x4 + adds r0, r4, 0 + bl sub_80902F4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8097270 + + thumb_func_start sub_80972F4 +sub_80972F4: + push {lr} + movs r0, 0 + movs r1, 0x2B + bl sub_80015C0 + movs r0, 0 + movs r1, 0x2C + bl sub_80015C0 + movs r0, 0 + movs r1, 0x2D + bl sub_80015C0 + pop {r0} + bx r0 + thumb_func_end sub_80972F4 + + thumb_func_start nullsub_128 +nullsub_128: + bx lr + thumb_func_end nullsub_128 + + thumb_func_start sub_8097318 +sub_8097318: + push {lr} + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + bne _08097326 + movs r0, 0 + b _08097338 +_08097326: + lsls r2, r0, 16 + lsrs r2, 16 + movs r0, 0 + movs r1, 0x2B + bl sub_8001784 + cmp r0, 0 + beq _08097338 + movs r0, 0x1 +_08097338: + pop {r1} + bx r1 + thumb_func_end sub_8097318 + + thumb_func_start sub_809733C +sub_809733C: + push {r4-r6,lr} + lsls r0, 16 + asrs r4, r0, 16 + lsls r1, 24 + lsrs r6, r1, 24 + cmp r4, 0xD + beq _0809737C + lsls r0, r4, 16 + lsrs r5, r0, 16 + movs r0, 0 + movs r1, 0x2C + adds r2, r5, 0 + bl sub_8001784 + cmp r0, 0 + bne _0809737C + movs r0, 0 + movs r1, 0x2B + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_800199C + cmp r6, 0 + beq _0809737C + cmp r4, 0xE + blt _0809737C + cmp r4, 0xF + ble _08097378 + cmp r4, 0x1C + bne _0809737C +_08097378: + bl sub_809674C +_0809737C: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_809733C + + thumb_func_start sub_8097384 +sub_8097384: + push {lr} + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + bne _08097392 + movs r0, 0 + b _080973A4 +_08097392: + lsls r2, r0, 16 + lsrs r2, 16 + movs r0, 0 + movs r1, 0x2C + bl sub_8001784 + cmp r0, 0 + beq _080973A4 + movs r0, 0x1 +_080973A4: + pop {r1} + bx r1 + thumb_func_end sub_8097384 + + thumb_func_start sub_80973A8 +sub_80973A8: + push {r4-r6,lr} + lsls r0, 16 + asrs r0, 16 + lsls r1, 24 + lsrs r6, r1, 24 + cmp r0, 0xD + beq _080973EE + lsls r5, r0, 16 + cmp r6, 0 + beq _080973E2 + bl sub_80A26B8 + lsls r0, 16 + asrs r4, r0, 16 + lsrs r2, r5, 16 + movs r0, 0 + movs r1, 0x2B + movs r3, 0 + bl sub_800199C + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + beq _080973E2 + movs r0, 0 + movs r1, 0x12 + adds r2, r4, 0 + bl sub_80018D8 +_080973E2: + lsrs r2, r5, 16 + movs r0, 0 + movs r1, 0x2C + adds r3, r6, 0 + bl sub_800199C +_080973EE: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80973A8 + + thumb_func_start sub_80973F4 +sub_80973F4: + push {lr} + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + bne _08097402 + movs r0, 0 + b _08097414 +_08097402: + lsls r2, r0, 16 + lsrs r2, 16 + movs r0, 0 + movs r1, 0x2D + bl sub_8001784 + cmp r0, 0 + beq _08097414 + movs r0, 0x1 +_08097414: + pop {r1} + bx r1 + thumb_func_end sub_80973F4 + + thumb_func_start sub_8097418 +sub_8097418: + push {r4-r7,lr} + lsls r0, 16 + asrs r5, r0, 16 + lsls r1, 24 + lsrs r7, r1, 24 + cmp r5, 0xD + beq _08097470 + lsls r6, r5, 16 + cmp r7, 0 + beq _08097464 + lsrs r2, r6, 16 + movs r0, 0 + movs r1, 0x2C + movs r3, 0 + bl sub_800199C + cmp r5, 0x1E + bgt _08097464 + lsls r0, r5, 3 + ldr r1, _08097478 + adds r4, r0, r1 + ldrb r0, [r4, 0x4] + cmp r0, 0xFF + beq _0809744C + bl sub_8097FA8 +_0809744C: + ldrb r0, [r4, 0x5] + cmp r0, 0xFF + beq _08097456 + bl sub_8097FA8 +_08097456: + cmp r5, 0x9 + bne _08097460 + movs r0, 0x1F + bl sub_8097FA8 +_08097460: + bl sub_8097FF8 +_08097464: + lsrs r2, r6, 16 + movs r0, 0 + movs r1, 0x2D + adds r3, r7, 0 + bl sub_800199C +_08097470: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08097478: .4byte gStoryMissionText + thumb_func_end sub_8097418 + + thumb_func_start sub_809747C +sub_809747C: + push {lr} + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + beq _08097494 + bl sub_80A270C + lsls r0, 24 + lsrs r0, 24 + bl GetDungeonName1 + b _08097496 +_08097494: + ldr r0, _0809749C +_08097496: + pop {r1} + bx r1 + .align 2, 0 +_0809749C: .4byte gDummyScenarioText + thumb_func_end sub_809747C + + thumb_func_start sub_80974A0 +sub_80974A0: + push {lr} + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xD + beq _080974B8 + bl sub_80A270C + lsls r0, 24 + lsrs r0, 24 + bl GetDungeonName1 + b _080974BA +_080974B8: + ldr r0, _080974C0 +_080974BA: + pop {r1} + bx r1 + .align 2, 0 +_080974C0: .4byte gDummyScenarioText + thumb_func_end sub_80974A0 + + thumb_func_start sub_80974C4 +sub_80974C4: + push {lr} + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1E + ble _080974D8 + ldr r0, _080974D4 + b _080974E0 + .align 2, 0 +_080974D4: .4byte gUnknown_8109CC0 +_080974D8: + lsls r0, 3 + ldr r1, _080974E4 + adds r0, r1 + ldr r0, [r0] +_080974E0: + pop {r1} + bx r1 + .align 2, 0 +_080974E4: .4byte gStoryMissionText + thumb_func_end sub_80974C4 + + thumb_func_start sub_80974E8 +sub_80974E8: + push {lr} + movs r0, 0 + movs r1, 0x2E + bl sub_80015C0 + movs r0, 0 + movs r1, 0x2F + bl sub_80015C0 + pop {r0} + bx r0 + thumb_func_end sub_80974E8 + + thumb_func_start nullsub_208 +nullsub_208: + bx lr + thumb_func_end nullsub_208 + + thumb_func_start sub_8097504 +sub_8097504: + push {lr} + lsls r0, 16 + asrs r0, 16 + adds r1, r0, 0 + cmp r0, 0x10 + bgt _08097568 + cmp r0, 0xE + bhi _08097580 + lsls r0, 2 + ldr r1, _08097520 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08097520: .4byte _08097524 + .align 2, 0 +_08097524: + .4byte _08097564 + .4byte _08097564 + .4byte _08097560 + .4byte _08097580 + .4byte _08097580 + .4byte _08097564 + .4byte _08097580 + .4byte _08097564 + .4byte _08097580 + .4byte _08097564 + .4byte _08097560 + .4byte _08097560 + .4byte _08097560 + .4byte _08097574 + .4byte _08097564 +_08097560: + movs r0, 0xE + b _08097576 +_08097564: + movs r0, 0xF + b _08097576 +_08097568: + cmp r1, 0x16 + bgt _08097584 + cmp r1, 0x16 + beq _08097584 + cmp r1, 0x15 + beq _08097584 +_08097574: + movs r0, 0x6 +_08097576: + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _08097584 +_08097580: + movs r0, 0x1 + b _08097586 +_08097584: + movs r0, 0 +_08097586: + pop {r1} + bx r1 + thumb_func_end sub_8097504 + + thumb_func_start sub_809758C +sub_809758C: + push {lr} + adds r2, r0, 0 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0 + movs r1, 0x2E + bl sub_8001784 + cmp r0, 0 + beq _080975A2 + movs r0, 0x1 +_080975A2: + pop {r1} + bx r1 + thumb_func_end sub_809758C + + thumb_func_start sub_80975A8 +sub_80975A8: + push {lr} + adds r2, r0, 0 + adds r3, r1, 0 + lsls r3, 24 + lsrs r3, 24 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0 + movs r1, 0x2E + bl sub_800199C + pop {r0} + bx r0 + thumb_func_end sub_80975A8 + + thumb_func_start sub_80975C4 +sub_80975C4: + push {lr} + lsls r0, 16 + asrs r0, 16 + bl sub_80A2728 + lsls r0, 24 + lsrs r0, 24 + bl GetDungeonName1 + pop {r1} + bx r1 + thumb_func_end sub_80975C4 + + thumb_func_start sub_80975DC +sub_80975DC: + push {lr} + lsls r0, 16 + ldr r1, _08097600 + adds r0, r1 + lsrs r0, 16 + cmp r0, 0x1 + bhi _08097610 + movs r2, 0x1 + negs r2, r2 + movs r0, 0x3 + movs r1, 0xE + bl sub_8001D08 + lsls r0, 24 + cmp r0, 0 + beq _08097608 + ldr r0, _08097604 + b _08097612 + .align 2, 0 +_08097600: .4byte 0xffe90000 +_08097604: .4byte gMeetNinetalesText +_08097608: + ldr r0, _0809760C + b _08097612 + .align 2, 0 +_0809760C: .4byte gAvoidCaptureText +_08097610: + ldr r0, _08097618 +_08097612: + pop {r1} + bx r1 + .align 2, 0 +_08097618: .4byte gFinalScenarioText + thumb_func_end sub_80975DC + + thumb_func_start sub_809761C +sub_809761C: + push {r4,lr} + movs r4, 0 +_08097620: + lsls r0, r4, 16 + asrs r0, 16 + bl sub_809758C + lsls r0, 24 + cmp r0, 0 + bne _08097632 + movs r0, 0 + b _0809763A +_08097632: + adds r4, 0x1 + cmp r4, 0x10 + ble _08097620 + movs r0, 0x1 +_0809763A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_809761C + + thumb_func_start sub_8097640 +sub_8097640: + push {lr} + movs r0, 0 + movs r1, 0x2E + movs r2, 0x1F + bl sub_8001784 + cmp r0, 0 + bne _0809766A + bl sub_809761C + lsls r0, 24 + cmp r0, 0 + beq _0809766A + movs r0, 0 + movs r1, 0x2E + movs r2, 0x1F + movs r3, 0x1 + bl sub_800199C + movs r0, 0x1 + b _0809766C +_0809766A: + movs r0, 0 +_0809766C: + pop {r1} + bx r1 + thumb_func_end sub_8097640 + + thumb_func_start sub_8097670 +sub_8097670: + ldr r1, _08097678 + ldr r0, _0809767C + str r0, [r1] + bx lr + .align 2, 0 +_08097678: .4byte gUnknown_203B494 +_0809767C: .4byte gUnknown_2039778 + thumb_func_end sub_8097670 + + thumb_func_start sub_8097680 +sub_8097680: + ldr r0, _08097684 + bx lr + .align 2, 0 +_08097684: .4byte gUnknown_2039778 + thumb_func_end sub_8097680 + + thumb_func_start sub_8097688 +sub_8097688: + ldr r3, _08097698 + ldr r2, [r3] + ldrb r1, [r0] + strb r1, [r2, 0x10] + ldr r1, [r3] + ldrb r0, [r0, 0x1] + strb r0, [r1, 0x11] + bx lr + .align 2, 0 +_08097698: .4byte gUnknown_203B494 + thumb_func_end sub_8097688 + + thumb_func_start sub_809769C +sub_809769C: + ldr r0, _080976A4 + ldr r0, [r0] + adds r0, 0x10 + bx lr + .align 2, 0 +_080976A4: .4byte gUnknown_203B494 + thumb_func_end sub_809769C + + thumb_func_start sub_80976A8 +sub_80976A8: + push {r4,lr} + ldr r3, _080976F4 + ldr r1, [r3] + movs r0, 0 + str r0, [r1] + strh r0, [r1, 0x14] + strh r0, [r1, 0x16] + strh r0, [r1, 0x18] + adds r2, r1, 0 + adds r2, 0xC0 + str r0, [r2] + str r0, [r1, 0x8] + str r0, [r1, 0xC] + movs r2, 0 + adds r4, r3, 0 + movs r3, 0 +_080976C8: + ldr r0, [r4] + lsls r1, r2, 2 + adds r0, 0x1C + adds r0, r1 + str r3, [r0] + adds r2, 0x1 + cmp r2, 0xD + ble _080976C8 + movs r2, 0 + ldr r4, _080976F4 + movs r3, 0 +_080976DE: + ldr r0, [r4] + lsls r1, r2, 2 + adds r0, 0x8C + adds r0, r1 + str r3, [r0] + adds r2, 0x1 + cmp r2, 0xC + ble _080976DE + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080976F4: .4byte gUnknown_203B494 + thumb_func_end sub_80976A8 + + thumb_func_start sub_80976F8 +sub_80976F8: + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0809770C + ldr r2, [r1] + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] + bx lr + .align 2, 0 +_0809770C: .4byte gUnknown_203B494 + thumb_func_end sub_80976F8 + + thumb_func_start sub_8097710 +sub_8097710: + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0809772C + ldr r2, [r1] + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + ands r0, r1 + cmp r0, 0 + bne _08097730 + movs r0, 0 + b _08097732 + .align 2, 0 +_0809772C: .4byte gUnknown_203B494 +_08097730: + movs r0, 0x1 +_08097732: + pop {r1} + bx r1 + thumb_func_end sub_8097710 + + thumb_func_start sub_8097738 +sub_8097738: + lsls r0, 24 + ldr r1, _08097744 + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_08097744: .4byte gTeamRanks + thumb_func_end sub_8097738 + + thumb_func_start sub_8097748 +sub_8097748: + ldr r0, _08097754 + ldr r1, [r0] + movs r0, 0 + str r0, [r1, 0x4] + bx lr + .align 2, 0 +_08097754: .4byte gUnknown_203B494 + thumb_func_end sub_8097748 + + thumb_func_start sub_8097758 +sub_8097758: + push {lr} + ldr r0, _08097770 + ldr r1, [r0] + ldr r0, [r1, 0x4] + adds r0, 0x1 + str r0, [r1, 0x4] + ldr r2, _08097774 + cmp r0, r2 + ble _0809776C + str r2, [r1, 0x4] +_0809776C: + pop {r0} + bx r0 + .align 2, 0 +_08097770: .4byte gUnknown_203B494 +_08097774: .4byte 0x0001869f + thumb_func_end sub_8097758 + + thumb_func_start sub_8097778 +sub_8097778: + ldr r0, _08097780 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bx lr + .align 2, 0 +_08097780: .4byte gUnknown_203B494 + thumb_func_end sub_8097778 + + thumb_func_start sub_8097784 +sub_8097784: + ldr r1, _0809778C + ldr r1, [r1] + str r0, [r1, 0x4] + bx lr + .align 2, 0 +_0809778C: .4byte gUnknown_203B494 + thumb_func_end sub_8097784 + + thumb_func_start sub_8097790 +sub_8097790: + push {lr} + ldr r0, _080977B0 + ldr r1, [r0] + ldr r0, [r1, 0x8] + adds r0, 0x1 + str r0, [r1, 0x8] + ldr r2, _080977B4 + cmp r0, r2 + ble _080977A4 + str r2, [r1, 0x8] +_080977A4: + movs r0, 0x8 + bl sub_80976F8 + pop {r0} + bx r0 + .align 2, 0 +_080977B0: .4byte gUnknown_203B494 +_080977B4: .4byte 0x0001869f + thumb_func_end sub_8097790 + + thumb_func_start sub_80977B8 +sub_80977B8: + ldr r0, _080977C0 + ldr r0, [r0] + ldr r0, [r0, 0x8] + bx lr + .align 2, 0 +_080977C0: .4byte gUnknown_203B494 + thumb_func_end sub_80977B8 + + thumb_func_start sub_80977C4 +sub_80977C4: + ldr r1, _080977CC + ldr r1, [r1] + str r0, [r1, 0x8] + bx lr + .align 2, 0 +_080977CC: .4byte gUnknown_203B494 + thumb_func_end sub_80977C4 + + thumb_func_start sub_80977D0 +sub_80977D0: + push {lr} + ldr r0, _080977F0 + ldr r1, [r0] + ldr r0, [r1, 0xC] + adds r0, 0x1 + str r0, [r1, 0xC] + ldr r2, _080977F4 + cmp r0, r2 + ble _080977E4 + str r2, [r1, 0xC] +_080977E4: + movs r0, 0x9 + bl sub_80976F8 + pop {r0} + bx r0 + .align 2, 0 +_080977F0: .4byte gUnknown_203B494 +_080977F4: .4byte 0x0001869f + thumb_func_end sub_80977D0 + + thumb_func_start sub_80977F8 +sub_80977F8: + ldr r0, _08097800 + ldr r0, [r0] + ldr r0, [r0, 0xC] + bx lr + .align 2, 0 +_08097800: .4byte gUnknown_203B494 + thumb_func_end sub_80977F8 + + thumb_func_start sub_8097804 +sub_8097804: + ldr r1, _0809780C + ldr r1, [r1] + str r0, [r1, 0xC] + bx lr + .align 2, 0 +_0809780C: .4byte gUnknown_203B494 + thumb_func_end sub_8097804 + + thumb_func_start sub_8097810 +sub_8097810: + push {lr} + ldr r0, _08097830 + ldr r2, [r0] + ldrh r3, [r2, 0x14] + movs r0, 0x14 + ldrsh r1, [r2, r0] + ldr r0, _08097834 + cmp r1, r0 + bgt _08097826 + adds r0, r3, 0x1 + strh r0, [r2, 0x14] +_08097826: + movs r0, 0xB + bl sub_80976F8 + pop {r0} + bx r0 + .align 2, 0 +_08097830: .4byte gUnknown_203B494 +_08097834: .4byte 0x0000270e + thumb_func_end sub_8097810 + + thumb_func_start sub_8097838 +sub_8097838: + ldr r0, _08097844 + ldr r0, [r0] + movs r1, 0x14 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_08097844: .4byte gUnknown_203B494 + thumb_func_end sub_8097838 + + thumb_func_start sub_8097848 +sub_8097848: + push {lr} + ldr r0, _08097868 + ldr r2, [r0] + ldrh r3, [r2, 0x16] + movs r0, 0x16 + ldrsh r1, [r2, r0] + ldr r0, _0809786C + cmp r1, r0 + bgt _0809785E + adds r0, r3, 0x1 + strh r0, [r2, 0x16] +_0809785E: + movs r0, 0xA + bl sub_80976F8 + pop {r0} + bx r0 + .align 2, 0 +_08097868: .4byte gUnknown_203B494 +_0809786C: .4byte 0x0000270e + thumb_func_end sub_8097848 + + thumb_func_start sub_8097870 +sub_8097870: + ldr r0, _0809787C + ldr r0, [r0] + movs r1, 0x16 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_0809787C: .4byte gUnknown_203B494 + thumb_func_end sub_8097870 + + thumb_func_start sub_8097880 +sub_8097880: + ldr r0, _0809788C + ldr r0, [r0] + movs r1, 0x18 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_0809788C: .4byte gUnknown_203B494 + thumb_func_end sub_8097880 + + thumb_func_start sub_8097890 +sub_8097890: + push {lr} + ldr r0, _080978B0 + ldr r0, [r0] + adds r2, r0, 0 + adds r2, 0xC0 + ldr r1, [r2] + ldr r0, _080978B4 + cmp r1, r0 + bgt _080978A6 + adds r0, r1, 0x1 + str r0, [r2] +_080978A6: + movs r0, 0xC + bl sub_80976F8 + pop {r0} + bx r0 + .align 2, 0 +_080978B0: .4byte gUnknown_203B494 +_080978B4: .4byte 0x0001869e + thumb_func_end sub_8097890 + + thumb_func_start sub_80978B8 +sub_80978B8: + ldr r0, _080978C4 + ldr r0, [r0] + adds r0, 0xC0 + movs r1, 0 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_080978C4: .4byte gUnknown_203B494 + thumb_func_end sub_80978B8 + + thumb_func_start sub_80978C8 +sub_80978C8: + push {lr} + lsls r0, 16 + asrs r0, 16 + bl sub_808E858 + lsls r0, 16 + asrs r3, r0, 16 + ldr r0, _080978FC + ldr r2, [r0] + adds r0, r3, 0 + cmp r3, 0 + bge _080978E2 + adds r0, 0x1F +_080978E2: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x54 + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] + pop {r0} + bx r0 + .align 2, 0 +_080978FC: .4byte gUnknown_203B494 + thumb_func_end sub_80978C8 + + thumb_func_start sub_8097900 +sub_8097900: + push {lr} + lsls r0, 16 + asrs r0, 16 + bl sub_808E858 + lsls r0, 16 + asrs r3, r0, 16 + ldr r0, _08097938 + ldr r2, [r0] + adds r0, r3, 0 + cmp r3, 0 + bge _0809791A + adds r0, 0x1F +_0809791A: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x1C + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + ands r0, r1 + cmp r0, 0 + bne _0809793C + movs r0, 0 + b _0809793E + .align 2, 0 +_08097938: .4byte gUnknown_203B494 +_0809793C: + movs r0, 0x1 +_0809793E: + pop {r1} + bx r1 + thumb_func_end sub_8097900 + + thumb_func_start sub_8097944 +sub_8097944: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + movs r0, 0x1 + str r0, [sp] + movs r1, 0x1 + str r1, [sp, 0x4] + movs r0, 0xD + bl sub_8097710 + lsls r0, 24 + cmp r0, 0 + bne _08097974 + bl sub_8092614 + lsls r0, 24 + cmp r0, 0 + beq _08097974 + movs r0, 0xD + bl sub_80976F8 +_08097974: + movs r4, 0 + ldr r0, _08097B5C + mov r10, r0 + mov r8, r4 +_0809797C: + ldr r1, _08097B60 + ldr r0, [r1] + mov r1, r8 + adds r2, r1, r0 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080979F6 + movs r0, 0x8 + ldrsh r3, [r2, r0] + mov r1, r10 + ldr r2, [r1] + adds r0, r3, 0 + cmp r3, 0 + bge _0809799E + adds r0, 0x1F +_0809799E: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x1C + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] + ldr r0, _08097B60 + mov r9, r0 + mov r12, r8 + movs r7, 0x1 + movs r6, 0x2C + movs r5, 0x3 +_080979C0: + mov r1, r9 + ldr r0, [r1] + add r0, r12 + adds r3, r0, r6 + ldrb r1, [r3] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _080979EE + mov r0, r10 + ldr r2, [r0] + ldrh r3, [r3, 0x2] + lsrs r0, r3, 5 + lsls r0, 2 + adds r2, 0x8C + adds r2, r0 + movs r0, 0x1F + ands r3, r0 + adds r1, r7, 0 + lsls r1, r3 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] +_080979EE: + adds r6, 0x8 + subs r5, 0x1 + cmp r5, 0 + bge _080979C0 +_080979F6: + movs r1, 0x58 + add r8, r1 + adds r4, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _0809797C + movs r4, 0 + ldr r1, _08097B64 +_08097A08: + cmp r4, 0 + bne _08097A0E + b _08097B80 +_08097A0E: + ldr r0, _08097B68 + cmp r4, r0 + bne _08097A16 + b _08097B80 +_08097A16: + adds r0, 0x1 + cmp r4, r0 + bne _08097A1E + b _08097B80 +_08097A1E: + adds r0, 0x1 + cmp r4, r0 + bne _08097A26 + b _08097B80 +_08097A26: + adds r0, 0x26 + cmp r4, r0 + bne _08097A2E + b _08097B80 +_08097A2E: + adds r0, 0x1 + cmp r4, r0 + bne _08097A36 + b _08097B80 +_08097A36: + adds r0, 0x1 + cmp r4, r0 + bne _08097A3E + b _08097B80 +_08097A3E: + adds r0, 0x1 + cmp r4, r0 + bne _08097A46 + b _08097B80 +_08097A46: + adds r0, 0x1 + cmp r4, r0 + bne _08097A4E + b _08097B80 +_08097A4E: + adds r0, 0x1 + cmp r4, r0 + bne _08097A56 + b _08097B80 +_08097A56: + cmp r4, r1 + bne _08097A5C + b _08097B80 +_08097A5C: + ldr r0, _08097B5C + ldr r5, [r0] + adds r0, r4, 0 + cmp r4, 0 + bge _08097A68 + adds r0, 0x1F +_08097A68: + asrs r0, 5 + lsls r3, r0, 2 + adds r1, r5, 0 + adds r1, 0x54 + adds r1, r3 + lsls r0, 5 + subs r0, r4, r0 + movs r2, 0x1 + lsls r2, r0 + ldr r0, [r1] + ands r0, r2 + cmp r0, 0 + bne _08097A86 + movs r0, 0 + str r0, [sp, 0x4] +_08097A86: + adds r0, r5, 0 + adds r0, 0x1C + adds r0, r3 + ldr r0, [r0] + ands r0, r2 + cmp r0, 0 + beq _08097B7C + cmp r4, 0x92 + bne _08097A9E + movs r0, 0x10 + bl sub_80976F8 +_08097A9E: + cmp r4, 0x91 + bne _08097AA8 + movs r0, 0x11 + bl sub_80976F8 +_08097AA8: + cmp r4, 0x90 + bne _08097AB2 + movs r0, 0x12 + bl sub_80976F8 +_08097AB2: + movs r0, 0xCF + lsls r0, 1 + cmp r4, r0 + bne _08097AC0 + movs r0, 0x13 + bl sub_80976F8 +_08097AC0: + ldr r0, _08097B6C + cmp r4, r0 + bne _08097ACC + movs r0, 0x14 + bl sub_80976F8 +_08097ACC: + movs r0, 0x86 + lsls r0, 1 + cmp r4, r0 + bne _08097ADA + movs r0, 0x15 + bl sub_80976F8 +_08097ADA: + movs r0, 0x87 + lsls r0, 1 + cmp r4, r0 + bne _08097AE8 + movs r0, 0x16 + bl sub_80976F8 +_08097AE8: + ldr r0, _08097B70 + cmp r4, r0 + bne _08097AF4 + movs r0, 0x17 + bl sub_80976F8 +_08097AF4: + movs r0, 0xCD + lsls r0, 1 + cmp r4, r0 + bne _08097B02 + movs r0, 0x18 + bl sub_80976F8 +_08097B02: + ldr r0, _08097B74 + cmp r4, r0 + bne _08097B0E + movs r0, 0x19 + bl sub_80976F8 +_08097B0E: + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + bne _08097B1C + movs r0, 0x1A + bl sub_80976F8 +_08097B1C: + movs r0, 0x89 + lsls r0, 1 + cmp r4, r0 + bne _08097B2A + movs r0, 0x1B + bl sub_80976F8 +_08097B2A: + movs r0, 0x8A + lsls r0, 1 + cmp r4, r0 + bne _08097B38 + movs r0, 0x1C + bl sub_80976F8 +_08097B38: + cmp r4, 0x97 + bne _08097B42 + movs r0, 0x1D + bl sub_80976F8 +_08097B42: + cmp r4, 0x96 + bne _08097B4C + movs r0, 0x1E + bl sub_80976F8 +_08097B4C: + ldr r0, _08097B78 + cmp r4, r0 + bne _08097B80 + movs r0, 0x1F + bl sub_80976F8 + b _08097B80 + .align 2, 0 +_08097B5C: .4byte gUnknown_203B494 +_08097B60: .4byte gUnknown_203B45C +_08097B64: .4byte 0x000001a7 +_08097B68: .4byte 0x00000179 +_08097B6C: .4byte 0x0000010d +_08097B70: .4byte 0x00000113 +_08097B74: .4byte 0x0000019b +_08097B78: .4byte 0x0000019d +_08097B7C: + movs r1, 0 + str r1, [sp] +_08097B80: + adds r4, 0x1 + ldr r1, _08097C0C + cmp r4, r1 + bgt _08097B8A + b _08097A08 +_08097B8A: + ldr r0, [sp] + cmp r0, 0 + beq _08097B96 + movs r0, 0xF + bl sub_80976F8 +_08097B96: + ldr r1, [sp, 0x4] + cmp r1, 0 + beq _08097BA2 + movs r0, 0xE + bl sub_80976F8 +_08097BA2: + movs r3, 0 + movs r4, 0 +_08097BA6: + cmp r4, 0 + beq _08097BE2 + ldr r0, _08097C10 + cmp r4, r0 + beq _08097BE2 + adds r0, 0x1 + cmp r4, r0 + beq _08097BE2 + adds r0, 0x1 + cmp r4, r0 + beq _08097BE2 + ldr r0, _08097C14 + ldr r2, [r0] + adds r0, r4, 0 + cmp r4, 0 + bge _08097BC8 + adds r0, 0x1F +_08097BC8: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x8C + adds r2, r1 + lsls r0, 5 + subs r0, r4, r0 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + ands r0, r1 + cmp r0, 0 + beq _08097BE2 + adds r3, 0x1 +_08097BE2: + adds r4, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + ble _08097BA6 + cmp r3, 0 + beq _08097BFC + ldr r0, _08097C14 + ldr r0, [r0] + strh r3, [r0, 0x18] + movs r0, 0x7 + bl sub_80976F8 +_08097BFC: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08097C0C: .4byte 0x000001a7 +_08097C10: .4byte 0x00000163 +_08097C14: .4byte gUnknown_203B494 + thumb_func_end sub_8097944 + + thumb_func_start sub_8097C18 +sub_8097C18: + push {r4-r6,lr} + adds r5, r0, 0 + bl sub_8097944 + ldr r4, _08097CBC + ldr r1, [r4] + adds r1, 0x4 + adds r0, r5, 0 + movs r2, 0x11 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x8 + adds r0, r5, 0 + movs r2, 0x11 + bl sub_809488C + ldr r1, [r4] + adds r1, 0xC + adds r0, r5, 0 + movs r2, 0x11 + bl sub_809488C + ldr r1, [r4] + adds r0, r5, 0 + movs r2, 0x20 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x14 + adds r0, r5, 0 + movs r2, 0xE + bl sub_809488C + ldr r1, [r4] + adds r1, 0x16 + adds r0, r5, 0 + movs r2, 0xE + bl sub_809488C + ldr r1, [r4] + adds r1, 0x18 + adds r0, r5, 0 + movs r2, 0x9 + bl sub_809488C + ldr r1, [r4] + adds r1, 0xC0 + adds r0, r5, 0 + movs r2, 0x11 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x1C + movs r6, 0xE0 + lsls r6, 1 + adds r0, r5, 0 + adds r2, r6, 0 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x54 + adds r0, r5, 0 + adds r2, r6, 0 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x8C + movs r2, 0xD0 + lsls r2, 1 + adds r0, r5, 0 + bl sub_809488C + ldr r1, [r4] + adds r1, 0x10 + adds r0, r5, 0 + bl sub_80902F4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08097CBC: .4byte gUnknown_203B494 + thumb_func_end sub_8097C18 + + thumb_func_start sub_8097CC0 +sub_8097CC0: + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _08097D5C + ldr r1, [r4] + adds r1, 0x4 + movs r2, 0x11 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x8 + adds r0, r5, 0 + movs r2, 0x11 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0xC + adds r0, r5, 0 + movs r2, 0x11 + bl sub_8094924 + ldr r1, [r4] + adds r0, r5, 0 + movs r2, 0x20 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x14 + adds r0, r5, 0 + movs r2, 0xE + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x16 + adds r0, r5, 0 + movs r2, 0xE + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x18 + adds r0, r5, 0 + movs r2, 0x9 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0xC0 + adds r0, r5, 0 + movs r2, 0x11 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x1C + movs r6, 0xE0 + lsls r6, 1 + adds r0, r5, 0 + adds r2, r6, 0 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x54 + adds r0, r5, 0 + adds r2, r6, 0 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x8C + movs r2, 0xD0 + lsls r2, 1 + adds r0, r5, 0 + bl sub_8094924 + ldr r1, [r4] + adds r1, 0x10 + adds r0, r5, 0 + bl sub_8090314 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08097D5C: .4byte gUnknown_203B494 + thumb_func_end sub_8097CC0 + + thumb_func_start sub_8097D60 +sub_8097D60: + push {lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809486C + mov r0, sp + bl sub_8094A44 + mov r0, sp + bl sub_8095044 + mov r0, sp + bl sub_8097C18 + mov r0, sp + bl sub_8098248 + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x10 + pop {r1} + bx r1 + thumb_func_end sub_8097D60 + + thumb_func_start sub_8097D98 +sub_8097D98: + push {lr} + sub sp, 0x10 + adds r3, r0, 0 + adds r2, r1, 0 + mov r0, sp + adds r1, r3, 0 + bl sub_809485C + mov r0, sp + bl sub_8094B18 + mov r0, sp + bl sub_8095080 + mov r0, sp + bl sub_8097CC0 + mov r0, sp + bl sub_8098308 + mov r0, sp + bl nullsub_102 + ldr r0, [sp, 0x8] + add sp, 0x10 + pop {r1} + bx r1 + thumb_func_end sub_8097D98 + + thumb_func_start sub_8097DD0 +sub_8097DD0: + push {lr} + adds r2, r0, 0 + adds r3, r1, 0 + ldr r1, [r2] + ldr r0, [r3] + cmp r1, r0 + bne _08097DEA + ldr r1, [r2, 0x4] + ldr r0, [r3, 0x4] + cmp r1, r0 + bne _08097DEA + movs r0, 0x1 + b _08097DEC +_08097DEA: + movs r0, 0 +_08097DEC: + pop {r1} + bx r1 + thumb_func_end sub_8097DD0 + + thumb_func_start sub_8097DF0 +sub_8097DF0: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1F8 + mov r8, r0 + str r1, [sp, 0x1F0] + movs r0, 0 + mov r9, r0 + movs r7, 0 + ldr r1, _08097E3C + ldr r0, [r1] + cmp r0, 0 + beq _08097E6E +_08097E0E: + movs r4, 0 + lsls r5, r7, 3 + lsls r1, r7, 2 + mov r10, r1 + adds r6, r7, 0x1 + ldr r2, _08097E3C + adds r3, r5, r2 + add r1, sp, 0x18C +_08097E1E: + ldr r0, [r3] + adds r0, r4 + ldrb r2, [r0] + cmp r2, 0x23 + bne _08097E40 + ldrb r0, [r0, 0x1] + cmp r0, 0x72 + bne _08097E40 + strb r2, [r1] + adds r1, 0x1 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0 + strb r0, [r1] + b _08097E50 + .align 2, 0 +_08097E3C: .4byte gStatusDescriptions +_08097E40: + ldr r0, [r3] + adds r0, r4 + ldrb r0, [r0] + strb r0, [r1] + adds r1, 0x1 + adds r4, 0x1 + cmp r4, 0x63 + ble _08097E1E +_08097E50: + add r0, sp, 0x18C + bl strlen + mov r1, sp + add r1, r10 + str r0, [r1] + adds r7, r6, 0 + cmp r6, 0x62 + bgt _08097E6E + lsls r0, r6, 3 + ldr r1, _08097EB4 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + bne _08097E0E +_08097E6E: + mov r2, r8 + ldrb r0, [r2] + cmp r0, 0 + beq _08097F2C + ldr r3, _08097EB4 +_08097E78: + cmp r0, 0x23 + bne _08097F08 + movs r7, 0 + adds r1, r3, 0 + ldr r0, [r1] + cmp r0, 0 + beq _08097F20 + mov r2, r9 + lsls r0, r2, 2 + ldr r2, [sp, 0x1F0] + adds r0, r2 + mov r10, r0 +_08097E90: + lsls r4, r7, 3 + adds r0, r4, r1 + ldr r0, [r0] + lsls r1, r7, 2 + add r1, sp + ldr r2, [r1] + mov r1, r8 + str r3, [sp, 0x1F4] + bl sub_800B2D4 + lsls r0, 24 + adds r5, r4, 0 + adds r6, r7, 0x1 + ldr r3, [sp, 0x1F4] + cmp r0, 0 + bne _08097EF0 + movs r4, 0 + b _08097EBA + .align 2, 0 +_08097EB4: .4byte gStatusDescriptions +_08097EB8: + adds r4, 0x1 +_08097EBA: + cmp r4, r9 + bge _08097ED6 + adds r0, r5, r3 + lsls r1, r4, 2 + ldr r2, [sp, 0x1F0] + adds r1, r2 + ldr r1, [r1] + str r3, [sp, 0x1F4] + bl sub_8097DD0 + lsls r0, 24 + ldr r3, [sp, 0x1F4] + cmp r0, 0 + beq _08097EB8 +_08097ED6: + cmp r4, r9 + bne _08097EF0 + mov r0, r9 + cmp r0, 0x3 + bgt _08097EF0 + adds r0, r5, r3 + mov r1, r10 + adds r1, 0x4 + mov r10, r1 + subs r1, 0x4 + stm r1!, {r0} + movs r2, 0x1 + add r9, r2 +_08097EF0: + adds r7, r6, 0 + cmp r6, 0x62 + bgt _08097F20 + ldr r1, _08097F04 + lsls r0, r6, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + bne _08097E90 + b _08097F20 + .align 2, 0 +_08097F04: .4byte gStatusDescriptions +_08097F08: + mov r0, r8 + ldrb r1, [r0] + adds r0, r1, 0 + adds r0, 0x7F + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bls _08097F1C + cmp r1, 0x87 + bne _08097F20 +_08097F1C: + movs r1, 0x1 + add r8, r1 +_08097F20: + movs r2, 0x1 + add r8, r2 + mov r1, r8 + ldrb r0, [r1] + cmp r0, 0 + bne _08097E78 +_08097F2C: + mov r0, r9 + add sp, 0x1F8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8097DF0 + + thumb_func_start sub_8097F40 +sub_8097F40: + push {lr} + movs r2, 0 + ldr r1, _08097F58 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x2 + bne _08097F50 + movs r2, 0x1 +_08097F50: + adds r0, r2, 0 + pop {r1} + bx r1 + .align 2, 0 +_08097F58: .4byte gUnknown_810ACC0 + thumb_func_end sub_8097F40 + + thumb_func_start sub_8097F5C +sub_8097F5C: + ldr r1, _08097F64 + ldr r0, _08097F68 + str r0, [r1] + bx lr + .align 2, 0 +_08097F64: .4byte gUnknown_203B498 +_08097F68: .4byte gUnknown_2039840 + thumb_func_end sub_8097F5C + + thumb_func_start sub_8097F6C +sub_8097F6C: + ldr r0, _08097F70 + bx lr + .align 2, 0 +_08097F70: .4byte gUnknown_2039840 + thumb_func_end sub_8097F6C + + thumb_func_start sub_8097F74 +sub_8097F74: + push {r4,lr} + ldr r4, _08097FA0 + ldr r0, [r4] + movs r1, 0 + movs r2, 0x64 + bl memset + movs r2, 0 + ldr r3, _08097FA4 +_08097F86: + ldr r0, [r4] + adds r0, 0x58 + adds r0, r2 + ldrb r1, [r3, 0x2] + strb r1, [r0] + adds r3, 0x4 + adds r2, 0x1 + cmp r2, 0xB + ble _08097F86 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08097FA0: .4byte gUnknown_203B498 +_08097FA4: .4byte gUnknown_810AD0C + thumb_func_end sub_8097F74 + + thumb_func_start sub_8097FA8 +sub_8097FA8: + lsls r0, 24 + ldr r1, _08097FCC + ldr r3, [r1] + lsrs r1, r0, 29 + lsls r1, 2 + adds r3, 0x48 + adds r3, r1 + movs r1, 0xF8 + lsls r1, 21 + ands r1, r0 + lsrs r1, 24 + movs r2, 0x1 + lsls r2, r1 + ldr r0, [r3] + orrs r0, r2 + str r0, [r3] + bx lr + .align 2, 0 +_08097FCC: .4byte gUnknown_203B498 + thumb_func_end sub_8097FA8 + + thumb_func_start sub_8097FD0 +sub_8097FD0: + lsls r0, 24 + ldr r1, _08097FF4 + ldr r3, [r1] + lsrs r1, r0, 29 + lsls r1, 2 + adds r3, 0x3C + adds r3, r1 + movs r1, 0xF8 + lsls r1, 21 + ands r1, r0 + lsrs r1, 24 + movs r2, 0x1 + lsls r2, r1 + ldr r0, [r3] + orrs r0, r2 + str r0, [r3] + bx lr + .align 2, 0 +_08097FF4: .4byte gUnknown_203B498 + thumb_func_end sub_8097FD0 + + thumb_func_start sub_8097FF8 +sub_8097FF8: + push {r4-r7,lr} + movs r4, 0 + ldr r6, _08098040 + movs r7, 0x1 +_08098000: + ldr r5, [r6] + adds r0, r4, 0 + cmp r4, 0 + bge _0809800A + adds r0, 0x1F +_0809800A: + asrs r0, 5 + lsls r3, r0, 2 + adds r1, r5, 0 + adds r1, 0x48 + adds r1, r3 + lsls r0, 5 + subs r0, r4, r0 + adds r2, r7, 0 + lsls r2, r0 + ldr r0, [r1] + ands r0, r2 + cmp r0, 0 + beq _08098030 + adds r1, r5, 0 + adds r1, 0x3C + adds r1, r3 + ldr r0, [r1] + orrs r0, r2 + str r0, [r1] +_08098030: + adds r4, 0x1 + cmp r4, 0x3F + ble _08098000 + bl sub_8098080 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08098040: .4byte gUnknown_203B498 + thumb_func_end sub_8097FF8 + + thumb_func_start sub_8098044 +sub_8098044: + push {r4,r5,lr} + lsls r0, 24 + ldr r1, _0809807C + ldr r3, [r1] + lsrs r5, r0, 29 + lsls r5, 2 + adds r4, r3, 0 + adds r4, 0x3C + adds r4, r5 + movs r1, 0xF8 + lsls r1, 21 + ands r1, r0 + lsrs r1, 24 + movs r2, 0x1 + lsls r2, r1 + mvns r2, r2 + ldr r0, [r4] + ands r0, r2 + str r0, [r4] + adds r3, 0x48 + adds r3, r5 + ldr r0, [r3] + ands r0, r2 + str r0, [r3] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809807C: .4byte gUnknown_203B498 + thumb_func_end sub_8098044 + + thumb_func_start sub_8098080 +sub_8098080: + push {r4,lr} + movs r2, 0 + ldr r4, _080980A0 + movs r3, 0 +_08098088: + ldr r0, [r4] + lsls r1, r2, 2 + adds r0, 0x48 + adds r0, r1 + str r3, [r0] + adds r2, 0x1 + cmp r2, 0x2 + ble _08098088 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080980A0: .4byte gUnknown_203B498 + thumb_func_end sub_8098080 + + thumb_func_start sub_80980A4 +sub_80980A4: + ldr r0, _080980B0 + ldr r2, [r0] + ldrb r0, [r2] + movs r1, 0x1 + strb r1, [r2] + bx lr + .align 2, 0 +_080980B0: .4byte gUnknown_203B498 + thumb_func_end sub_80980A4 + + thumb_func_start sub_80980B4 +sub_80980B4: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + adds r3, r1, 0 + ldr r0, _080980F8 + cmp r1, r0 + beq _080980F4 + adds r0, 0x1 + cmp r1, r0 + beq _080980F4 + adds r0, 0x1 + cmp r1, r0 + beq _080980F4 + ldr r0, _080980FC + ldr r2, [r0] + adds r0, r1, 0 + cmp r1, 0 + bge _080980DA + adds r0, 0x1F +_080980DA: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x4 + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] +_080980F4: + pop {r0} + bx r0 + .align 2, 0 +_080980F8: .4byte 0x000001a5 +_080980FC: .4byte gUnknown_203B498 + thumb_func_end sub_80980B4 + + thumb_func_start sub_8098100 +sub_8098100: + push {lr} + lsls r1, r0, 24 + lsrs r3, r1, 24 + cmp r3, 0x3F + bls _0809810E + movs r0, 0 + b _0809812C +_0809810E: + ldr r0, _08098130 + ldr r2, [r0] + lsrs r0, r1, 29 + lsls r0, 2 + adds r2, 0x3C + adds r2, r0 + movs r0, 0x1F + ands r0, r3 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + ands r0, r1 + cmp r0, 0 + beq _0809812C + movs r0, 0x1 +_0809812C: + pop {r1} + bx r1 + .align 2, 0 +_08098130: .4byte gUnknown_203B498 + thumb_func_end sub_8098100 + + thumb_func_start sub_8098134 +sub_8098134: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + adds r3, r1, 0 + ldr r0, _0809816C + ldr r2, [r0] + adds r0, r1, 0 + cmp r1, 0 + bge _08098148 + adds r0, 0x1F +_08098148: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x4 + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + ands r0, r1 + cmp r0, 0 + beq _08098166 + movs r0, 0x1 +_08098166: + pop {r1} + bx r1 + .align 2, 0 +_0809816C: .4byte gUnknown_203B498 + thumb_func_end sub_8098134 + + thumb_func_start sub_8098170 +sub_8098170: + push {lr} + adds r3, r0, 0 + ldr r0, _0809819C + ldr r2, [r0] + adds r0, r3, 0 + cmp r3, 0 + bge _08098180 + adds r0, 0x1F +_08098180: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x54 + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] + pop {r0} + bx r0 + .align 2, 0 +_0809819C: .4byte gUnknown_203B498 + thumb_func_end sub_8098170 + + thumb_func_start sub_80981A0 +sub_80981A0: + push {lr} + adds r3, r0, 0 + cmp r3, 0x1E + ble _080981AC + movs r0, 0 + b _080981D4 +_080981AC: + ldr r0, _080981D8 + ldr r2, [r0] + adds r1, r3, 0 + cmp r3, 0 + bge _080981B8 + adds r1, 0x1F +_080981B8: + asrs r1, 5 + lsls r0, r1, 2 + adds r2, 0x54 + adds r2, r0 + lsls r1, 5 + subs r1, r3, r1 + movs r0, 0x1 + lsls r0, r1 + ldr r2, [r2] + ands r2, r0 + cmp r2, 0 + beq _080981D2 + movs r2, 0x1 +_080981D2: + adds r0, r2, 0 +_080981D4: + pop {r1} + bx r1 + .align 2, 0 +_080981D8: .4byte gUnknown_203B498 + thumb_func_end sub_80981A0 + + thumb_func_start sub_80981DC +sub_80981DC: + push {r4,r5,lr} + lsls r0, 16 + asrs r3, r0, 16 + movs r1, 0 + ldr r4, _080981FC + ldr r2, _08098200 +_080981E8: + movs r5, 0 + ldrsh r0, [r2, r5] + cmp r0, r3 + bne _08098204 + ldr r0, [r4] + adds r0, 0x58 + adds r0, r1 + ldrb r0, [r0] + b _0809820E + .align 2, 0 +_080981FC: .4byte gUnknown_203B498 +_08098200: .4byte gUnknown_810AD0C +_08098204: + adds r2, 0x4 + adds r1, 0x1 + cmp r1, 0xB + ble _080981E8 + movs r0, 0x1 +_0809820E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80981DC + + thumb_func_start sub_8098214 +sub_8098214: + push {r4-r6,lr} + lsls r0, 16 + asrs r3, r0, 16 + movs r1, 0 + ldr r5, _08098240 + movs r4, 0x1 + ldr r2, _08098244 +_08098222: + movs r6, 0 + ldrsh r0, [r2, r6] + cmp r0, r3 + bne _08098232 + ldr r0, [r5] + adds r0, 0x58 + adds r0, r1 + strb r4, [r0] +_08098232: + adds r2, 0x4 + adds r1, 0x1 + cmp r1, 0xB + ble _08098222 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08098240: .4byte gUnknown_203B498 +_08098244: .4byte gUnknown_810AD0C + thumb_func_end sub_8098214 + + thumb_func_start sub_8098248 +sub_8098248: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x8 + adds r7, r0, 0 + mov r5, sp + adds r5, 0x3 + movs r0, 0xFF + strb r0, [r5] + add r4, sp, 0x4 + movs r0, 0 + strb r0, [r4] + ldr r0, _08098300 + ldr r1, [r0] + adds r0, r7, 0 + movs r2, 0x1 + bl sub_809488C + movs r6, 0 + mov r9, r5 + mov r8, r4 + mov r4, sp + adds r4, 0x1 + mov r5, sp + adds r5, 0x2 +_0809827C: + lsls r0, r6, 16 + asrs r0, 16 + bl sub_8098134 + mov r1, sp + strb r0, [r1] + adds r0, r7, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + ldr r0, _08098304 + cmp r6, r0 + ble _0809827C + movs r6, 0 +_0809829A: + lsls r0, r6, 24 + lsrs r0, 24 + bl sub_8098100 + strb r0, [r4] + adds r0, r7, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + cmp r6, 0x3F + ble _0809829A + movs r6, 0 + adds r4, r5, 0 +_080982B8: + adds r0, r6, 0 + bl sub_80981A0 + strb r0, [r4] + adds r0, r7, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + cmp r6, 0x1E + ble _080982B8 + movs r6, 0 +_080982D2: + ldr r0, _08098300 + ldr r0, [r0] + adds r0, 0x58 + adds r0, r6 + ldrb r0, [r0] + mov r1, r8 + cmp r0, 0 + beq _080982E4 + mov r1, r9 +_080982E4: + adds r0, r7, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + cmp r6, 0xB + ble _080982D2 + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08098300: .4byte gUnknown_203B498 +_08098304: .4byte 0x000001a7 + thumb_func_end sub_8098248 + + thumb_func_start sub_8098308 +sub_8098308: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r6, r0, 0 + ldr r4, _080983D0 + ldr r0, [r4] + movs r1, 0 + movs r2, 0x64 + bl memset + ldr r1, [r4] + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8094924 + movs r4, 0 + mov r5, sp + adds r5, 0x1 + mov r7, sp + adds r7, 0x2 + movs r0, 0x3 + add r0, sp + mov r8, r0 +_08098338: + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + mov r0, sp + ldrb r0, [r0] + cmp r0, 0 + beq _08098352 + lsls r0, r4, 16 + asrs r0, 16 + bl sub_80980B4 +_08098352: + adds r4, 0x1 + ldr r0, _080983D4 + cmp r4, r0 + ble _08098338 + movs r4, 0 +_0809835C: + adds r0, r6, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl sub_8094924 + ldrb r0, [r5] + cmp r0, 0 + beq _08098374 + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8097FA8 +_08098374: + adds r4, 0x1 + cmp r4, 0x3F + ble _0809835C + movs r4, 0 + adds r5, r7, 0 +_0809837E: + adds r0, r6, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl sub_8094924 + ldrb r0, [r5] + cmp r0, 0 + beq _08098394 + adds r0, r4, 0 + bl sub_8098170 +_08098394: + adds r4, 0x1 + cmp r4, 0x1E + ble _0809837E + movs r4, 0 +_0809839C: + adds r0, r6, 0 + mov r1, r8 + movs r2, 0x1 + bl sub_8094924 + ldr r0, _080983D0 + ldr r1, [r0] + adds r1, 0x58 + adds r1, r4 + mov r0, sp + adds r0, 0x3 + ldrb r2, [r0] + movs r0, 0x1 + ands r0, r2 + strb r0, [r1] + adds r4, 0x1 + cmp r4, 0xB + ble _0809839C + bl sub_8097FF8 + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080983D0: .4byte gUnknown_203B498 +_080983D4: .4byte 0x000001a7 + thumb_func_end sub_8098308 + + thumb_func_start sub_80983D8 +sub_80983D8: + push {r4,lr} + movs r2, 0 + ldrsh r3, [r1, r2] + movs r4, 0 + ldrsh r2, [r0, r4] + subs r2, r3, r2 + movs r3, 0x2 + ldrsh r1, [r1, r3] + movs r4, 0x2 + ldrsh r0, [r0, r4] + subs r1, r0 + cmp r2, 0 + bne _080983FA + cmp r1, 0 + bne _080983FA + movs r0, 0 + b _08098428 +_080983FA: + cmp r2, 0 + ble _08098400 + movs r2, 0x1 +_08098400: + cmp r1, 0 + ble _08098406 + movs r1, 0x1 +_08098406: + movs r0, 0x1 + negs r0, r0 + cmp r2, r0 + bgt _08098410 + adds r2, r0, 0 +_08098410: + cmp r1, r0 + bgt _08098416 + adds r1, r0, 0 +_08098416: + ldr r3, _08098430 + adds r2, 0x1 + adds r1, 0x1 + lsls r0, r1, 1 + adds r0, r1 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + ldr r0, [r0] +_08098428: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08098430: .4byte gUnknown_8115E94 + thumb_func_end sub_80983D8 + + thumb_func_start sub_8098434 +sub_8098434: + push {r4,lr} + adds r3, r0, 0 + adds r4, r1, 0 + movs r0, 0 + ldrsh r1, [r3, r0] + movs r2, 0 + ldrsh r0, [r4, r2] + subs r2, r1, r0 + cmp r2, 0 + bge _0809844A + negs r2, r2 +_0809844A: + movs r0, 0x2 + ldrsh r1, [r3, r0] + movs r3, 0x2 + ldrsh r0, [r4, r3] + subs r0, r1, r0 + cmp r0, 0 + bge _0809845A + negs r0, r0 +_0809845A: + cmp r0, r2 + bge _08098460 + adds r0, r2, 0 +_08098460: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8098434 + + .align 2,0 @ Don't pad with nop diff --git a/data/data_80B9BB8.s b/data/data_80B9BB8.s index 7f137b5..fc834e8 100644 --- a/data/data_80B9BB8.s +++ b/data/data_80B9BB8.s @@ -10071,31 +10071,39 @@ gUnknown_810AA90: @ 810AA90 .global gUnknown_810AC60 gUnknown_810AC60: @ 810AC60 - .incbin "baserom.gba", 0x10AC60, 0x2 + .byte 0x0C, 0x00 .global gUnknown_810AC62 gUnknown_810AC62: @ 810AC62 - .incbin "baserom.gba", 0x10AC62, 0x2 + .byte 0x0C, 0x00 .global gUnknown_810AC64 gUnknown_810AC64: @ 810AC64 - .incbin "baserom.gba", 0x10AC64, 0x2 + .byte 0x08, 0x00 .global gUnknown_810AC66 gUnknown_810AC66: @ 810AC66 - .incbin "baserom.gba", 0x10AC66, 0x2 + .byte 0x08, 0x00 .global gUnknown_810AC68 gUnknown_810AC68: @ 810AC68 - .incbin "baserom.gba", 0x10AC68, 0x2 + .byte 0x08, 0x00 .global gUnknown_810AC6A gUnknown_810AC6A: @ 810AC6A - .incbin "baserom.gba", 0x10AC6A, 0x12 + .byte 0x00, 0x0E, 0x03, 0x04 + .byte 0x0C, 0x09, 0x02, 0x0E + .byte 0x11, 0x0A, 0x0D, 0x10 + .byte 0x08, 0x07, 0x01, 0x11 + .byte 0x10, 0x05 .global gUnknown_810AC7C gUnknown_810AC7C: @ 810AC7C - .incbin "baserom.gba", 0x10AC7C, 0x14 + .byte 0x01, 0x01, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x00 + .byte 0x01, 0x01, 0x01, 0x00 + .byte 0x00, 0x01, 0x00, 0x00 .global gUnknown_810AC90 gUnknown_810AC90: @ 810AC90 @@ -10103,19 +10111,19 @@ gUnknown_810AC90: @ 810AC90 .global gUnknown_810ACB8 gUnknown_810ACB8: @ 810ACB8 - .incbin "baserom.gba", 0x10ACB8, 0x2 + .byte 0x4D, 0x01 .global gUnknown_810ACBA gUnknown_810ACBA: @ 810ACBA - .incbin "baserom.gba", 0x10ACBA, 0x2 + .byte 0x4D, 0x01 .global gUnknown_810ACBC gUnknown_810ACBC: @ 810ACBC - .incbin "baserom.gba", 0x10ACBC, 0x2 + .byte 0x4D, 0x01 .global gUnknown_810ACBE gUnknown_810ACBE: @ 810ACBE - .incbin "baserom.gba", 0x10ACBE, 0x2 + .byte 0x4D, 0x01 .global gUnknown_810ACC0 gUnknown_810ACC0: @ 810ACC0 @@ -10127,8 +10135,8 @@ gUnknown_810AD0C: @ 810AD0C .include "data/text/type_names.inc" - .global gUnknown_810AE24 -gUnknown_810AE24: @ 810AE24 + .global gFormattedTypeStrings +gFormattedTypeStrings: @ 810AE24 .incbin "baserom.gba", 0x10AE24, 0x12C .global gUnknown_810AF50 @@ -10157,11 +10165,16 @@ gUnknown_810CC0C: @ 810CC0C .global gUnknown_810CF00 gUnknown_810CF00: @ 810CF00 - .incbin "baserom.gba", 0x10CF00, 0xC + .byte 0xF0, 0xCE, 0x10, 0x08 @ (pointer to range string) + .asciz "Type" + .align 2,0 .global gUnknown_810CF0C gUnknown_810CF0C: @ 810CF0C - .incbin "baserom.gba", 0x10CF0C, 0x10 + .byte 0x04, 0xCF, 0x10, 0x08 @ (pointer to type string) + .asciz "Power" + .align 2,0 + .byte 0x10, 0xCF, 0x10, 0x08 @ (pointer to power string) .global gUnknown_810CF1C gUnknown_810CF1C: @ 810CF1C diff --git a/data/text/type_names.inc b/data/text/type_names.inc index 1af4ac2..f1c76c9 100644 --- a/data/text/type_names.inc +++ b/data/text/type_names.inc @@ -1,4 +1,4 @@ -gUnknown_810AD4C:: @ 810AD4C +gUnformattedTypeStrings:: @ 810AD4C @ (Table of pointers to each string) .byte 0x1c, 0xae, 0x10, 0x08 .byte 0x14, 0xae, 0x10, 0x08 diff --git a/ld_script.txt b/ld_script.txt index c1d91f7..8f1bd7d 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -78,6 +78,8 @@ SECTIONS { asm/code_808DAB4.o(.text); src/dungeon.o(.text); asm/code_809017C.o(.text); + src/code_8092334.o(.text); + asm/code_8092334.o(.text); asm/code_8098468.o(.text); asm/m4a_1.o(.text); src/m4a_2.o(.text); diff --git a/src/code_8092334.c b/src/code_8092334.c new file mode 100644 index 0000000..cb9acff --- /dev/null +++ b/src/code_8092334.c @@ -0,0 +1,26 @@ +#include "global.h" + +extern u32 gUnformattedTypeStrings[]; // unformatted type names +extern u32 gFormattedTypeStrings[]; // formatted type names +extern u8 gUnknown_810AC7C[]; +extern u8 gUnknown_810AC6A[]; + +u32 GetUnformattedTypeString(u8 type) +{ + return gUnformattedTypeStrings[type]; +} + +u32 GetFormattedTypeString(u8 type) +{ + return gFormattedTypeStrings[type]; +} + +u8 sub_8092354(u8 r0) +{ + return gUnknown_810AC7C[r0]; +} + +u8 sub_8092364(u8 r0) +{ + return gUnknown_810AC6A[r0]; +} |