.include "constants/gba_constants.inc" .include "asm/macros.inc" .syntax unified .text 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 gRangeNames 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 .align 2,0 @ Don't pad with nop